Базы данных (СУБД - системы управления базами данных)

БАЗА ДАННЫХ
Общие положения
Цель любой информационной системы - обработка данных об объектах реального мира. В
широком смысле слова база данных - это совокупность сведений о конкретных объектах
реального мира в какой-либо предметной области. Под предметной областью принято
понимать часть реального мира, подлежащего изучению для организации управления и в
конечном счете автоматизации, например, предприятие, вуз и т.д.
Создавая базу данных, пользователь стремится упорядочить информацию по различным
признакам и быстро извлекать выборку с произвольным сочетанием признаков. Сделать это
возможно, только если данные структурированы.
Структурирование -это введение соглашений о способах представления данных.
Неструктурированными называют данные, записанные, например, в текстовом файле
В современной технологии баз данных предполагается, что создание базы данных, ее
поддержка и обеспечение доступа пользователей к ней осуществляются централизованно с
помощью специального программного инструментария - системы управления базами
данных.
База данных (БД) - это поименованная совокупность структурированные данных,
относящихся к определенной предметной области.
Система управления базами данных (СУБД) - это комплекс программных и языковых
средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и
организации поиска в них необходимой информации.
Централизованный характер управления данными в базе данных предполагает
необходимость существования некоторого лица (группы лиц), на которое возлагаются
функции администрирования данными, хранимыми в базе.
Классификация баз данных
По технологии обработки данных базы данных подразделяются на централизованные и
распределенные.
Централизованная база данныххранится в памяти одной вычислительной системы. Если
эта вычислительная система является компонентом сети ЭВМ, возможен распределенный
доступ к такой базе. Такой способ использования баз данных часто применяют в локальных
сетях ПК.
Распределенная база данных состоит из нескольких, возможно пересекающихся или даже
дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа
с такой базой осуществляется с помощью системы управления распределенной базой данных
(СУРБД).



По способу доступа к данным базы данных разделяются на базы данных слокальным
доступом и базы данных с удаленным (сетевым доступом).
Системы централизованных баз данных с сетевым доступом предполагают различные
архитектуры подобных систем:
· файл-сервер;
· клиент-сервер.
Файл-сервер. Архитектура систем БД с сетевым доступом предполагает выделение одной из
машин сети в качестве центральной (сервер файлов). На такой машине хранится совместно
используемая централизованная БД. Все другие машины сети выполняют функции рабочих
станций, с помощью которых поддерживается доступ пользовательской системы к
централизованной базе данных. Файлы базы данных в соответствии с пользовательскими
запросами передаются на рабочие станции, где в основном и производится обработка. При
большой интенсивности доступа к одним и темже данным производительность
информационной системы падает. Пользователи могут создавать также на рабочих станциях
локальные БД, которые используютсяими монопольно. Концепция файл-сервер условно
отображена на рис. 15.3.
Клиент-сервер. В этой концепции подразумевается, что помимо хранения централизованной
базы данных центральная машина (сервер базы данных) должна обеспечивать выполнение
основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей
станцией), порождаетпоиск и извлечение данных на сервере. Извлеченные данные (но не
файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-
сервер является использование языка запросов SQL. Концепция клиент-сервер условно
изображена на рис.15.4

Рис.15.3. Схема обработки информации в БД по принципу файл-сервер




Рис.15.4. Схема обработки информации в БД по принципу клиент-сервер
Структурные элементы базы данных
Понятие базы данных тесно связано с такими понятиями структурных элементов, как поле,
запись, файл (таблица) (рис. 15.5).
п о л е, - элементарная единица логической организации данных, которая соответствует
неделимой единице информации - реквизиту. Для описания поля используются следующие
характеристики:
и м я, например. Фамилия, Имя, Отчество, Дата рождения;
т и п, например, символьный, числовой, календарный;
д л и н а, например, 15 байт, причем будет определяться максимально
возможнымколичеством символов
т о ч н о с т ь, для числовых данных, например два десятичныхзнака для отображения
дробной части числа.

Рис. 15.5.Основные структурные элементы БД
Запись - совокупность логически связанных полей. Экземпляр записи - отдельная
реализация записи, содержащая конкретные значения ее полей.
Файл (таблица) - совокупность экземпляров записей одной структуры.



Описание логической структуры записи файла содержит последовательность расположения
полей записи и их основные характеристики, как это показано на рис.15.6.
Имя файла
Поле
Признак
Формат поля
Имя
Полное
ключа
Тип Длина
Точность
(обозначение) наименование
(для чисел)
имя1











имя n





Рис. 15.6.Описание логической структуры записи файла
В структуре записи файла указываются поля, значения которых являются ключами:
первичными (ПК), которые идентифицируют экземпляр записи, и вторичными (ВК),
которые выполняют роль поисковых или группировочных признаков (по значению
вторичного ключа можнонайти несколько записей).
ВИДЫ МОДЕЛЕЙ ДАННЫХ
Общие положения
Ядром любой базы данных является модель данных. Модель данных представляет собой
множество структур данных, ограничений целостности и операций манипулирования
данными. С помощью модели данных могут быть представлены объекты предметной
области и взаимосвязи междуними.
Модель данных - совокупность структур данных и операций их обработки.
СУБД основывается на использовании иерархической, сетевой или реляционной
моделях, на комбинации этих моделей или на некотором их подмножестве [1].
Рассмотрим три основных типа моделей данных: иерархическую, сетевую и реляционную.
Иерархическая модель данных
Иерархическая структура представляет совокупность элементов, связанных между собой по
определенным правилам. Объекты, связанные иерархическими отношениями, образуют
ориентированный граф (перевернутое дерево), вид которого представлен на рис. 15.8.
К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь.
Узел - это совокупность атрибутов данных, описывающих некоторый объект. На схеме
иерархического дерева узлы представляются вершинами графа. Каждый узел на более
низком уровне связан только с одним узлом, находящимся на более высоком уровне.
Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой
другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые
(подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе
данных определяется числом корневых записей.
К каждой записи базы данных существует только один (иерархический) путь от корневой
записи. Например, как видно из рис. 15.8, для записи С4 путь проходит через записи А и ВЗ.




Рис. 15.8. Графическое изображение иерархической структуры БД
Пример 15.4. Пример, представленный на рис. 15.9. иллюстрирует использование
иерархической модели базы данных.
Для рассматриваемого примера иерархическая структура правомерна, так как каждый
студент учится в определенной (только одной) группе, которая относится к определенному
(только одному) институту.
Сетевая модель данных
В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент
может быть связан с любым другим элементом,
На рис. 15.10 изображена сетевая структура базы данных в виде графа.
Пример 15.5. Примером сложной сетевой структуры может служить структура базы данных,
содержащей сведения о студентах, участвующих в научно-исследовательских работах
(НИРС). Возможно участие одного студента в нескольких НИРС, а также участие
нескольких студентов в разработке одной НИРС. Графическое изображение описанной в
примересетевой структуры, состоящей только из двух типов записей, показано на рис.
15.11.Единственное отношение представляет собой сложную связь между записями в обоих
направлениях.




Рис. 15.9. Пример иерархической структуры БД

Рис. 15.10. Графическое изображение сетевой структуры




Рис. 15.11.Пример сетевой структуры БД
Реляционная модель данных
Понятие реляционный (англ.relation - отношение) связано с разработками известного
американского специалиста в области систем баз данных Е. Кодда.
Эти модели характеризуются простотой структуры данных, удобным для пользователя
табличным представлением и возможностью использования формального аппарата алгебры
отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц.
Каждая реляционная таблица представляет собой двумерный массив и обладает
следующими свойствами:
каждый элемент таблицы - один элемент данных;
все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип
(числовой, символьный и т.д.) и длину;
каждый столбец имеет уникальное имя;
одинаковые строки в таблице отсутствуют;
порядок следования строк и столбцов может быть произвольным.
Пример 15.6. Реляционной таблицей можно представить информацию о студентах,
обучающихся в вузе (рис. 15.12).
N личного дела Фамилия Имя
Отчество
Дата рождения Группа
16493
Сергеев Петр
Михайлович 01.01.76
111
16593
Петрова Анна Владимировна 15.03.75
112
16693
Анохин Андрей Борисович
14.04.76
111
Рис. 15.12. Пример реляционной таблицы



Отношения представлены в виде таблиц, строки которых соответствуют кортежам или
записям, а столбцы - атрибутам отношений, доменам, полям.
Поле, каждое значение которого однозначно определяет соответствующую запись,
называется простым ключом (ключевым полем). Если записи однозначно определяются
значениями нескольких полей, то такая таблица базы данных имеет составной ключ. В
примере, показанном на рис. 15.12, ключевым полем таблицы является "N личного дела".
Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав
ключа второй таблицы (возможно совпадение ключей); в противном случае нужно ввести в
структуру первой таблицы внешний ключ - ключ второй таблицы.
Пример 15.7. На рис. 15.13 показан пример реляционной модели, построенной на основе
отношений: СТУДЕНТ, СЕССИЯ, СТИПЕНДИЯ.

Рис.15.13. Пример реляционной модели
СТУДЕНТ (Номер, Фамилия, Имя, Отчество, Пол, Дата рождения. Группа);
СЕССИЯ (Номер. Оценка 1, Оценка 2, Оценка 3, Оценка 4, Результат):
СТИПЕНДИЯ (Результат, Процент),
Таблицы СТУДЕНТ И СЕССИЯ имеют совпадающие ключи (Номер), что дает возможность
легко организовать связь между ними. Таблица СЕССИЯ имеет первичный ключ Номер и
содержит внешний ключ Результат, который обеспечивает ее связь с таблицей
СТИПЕНДИЯ.
КРАТКАЯ СПРАВКА ПО MS ACCESS
Общие сведения
Access - это система управления базами данных (СУБД). Под системой управления
понимается комплекс программ, который позволяет не только хранить большие массивы
данных в определенном формате, но и обрабатывать их, представляя в удобном для
пользователей виде. Access дает возможность также автоматизировать часто выполняемые
операции (например, расчет заработной платы, учет материальных ценностей и т.п.). С



помощью Access можно не только разрабатывать удобные формы ввода и просмотра данных,
но и составлять сложные отчеты.
Access является приложением Windows, а поскольку и Windows и Access разработаны одной
фирмой (Microsoft), они очень хорошо взаимодействуют друг с другом. СУБД Access
работает под управлением Windows; таким образом, все преимущества Windows доступны в
Access, например, вы можете вырезать, копировать и вставлять данные из любого
приложения Windows в приложение Access и наоборот.
Access - это реляционная СУБД. Это означает, что с ее помощью можно работать
одновременно с несколькими таблицами базы данных. Применение реляционной СУБД
помогает упростить структуру данных и таким образом облегчить выполнение работы.
Таблицу Access можно связать с данными, хранящимися на другом компьютере или на
сервере, а также использовать таблицу, созданную в СУБД Paradox или Dbase. Данные
Access очень просто комбинировать с данными Excel.
В СУБД Access предусмотрено много дополнительных сервисных возможностей. Мастера
помогут вам создать таблицы, формы или отчеты из имеющихся заготовок, сделав за вас
основную черновую работу. Выражения используются в Access, например, для проверки
допустимости введенного значения. Макросы позволяют автоматизировать многие процессы
без программирования, тогда как встроенный в Access язык VBA (Visual Basic for
Applications) - специально разработанный компанией Microsoft диалект языка Basic для
использования в приложениях Microsoft Office - дает возможность опытному пользователю
программировать сложные процедуры обработки данных. Просматривая свою форму или
отчет, вы сможете представить, как они будут выглядеть в распечатанном виде. И наконец,
используя такие возможности языка программирования С, как функции и обращения к
Windows API (Application Programming Interface - интерфейс прикладных программ
Windows), можно написать подпрограмму для взаимодействия Access с другими
приложениями - источниками данных.
В Microsoft Access добавлено множество новых средств, разработанных для облегчения
работы в Интернет и создания приложений для Web. Для доступа к сети Интернет и
использования преимуществ новых средств необходимы средства просмотра Web, например
Microsoft Internet Explorer, а также модем. Пользователь имеет возможность непосредственно
подключаться к узлам Microsoft Web из программ Office (в том числе и из Access) с
помощью команды Microsoft на Web из пункта меню ?. При этом можно, например,
получить доступ к техническим ресурсам и загрузить общедоступные программы, не
прерывая работу с Access.
Система Access содержит набор инструментов для управления базами данных, включающий
конструкторы таблиц, форм, запросов и отчетов. Кроме того, Access можно рассматривать и
как среду для разработки приложений. Используя макросы для автоматизации задач, вы
можете создавать такие же мощные, ориентированные на пользователя приложения, как и
приложения, созданные с помощью "полноценных" языков программирования, дополнять их
кнопками, меню и диалоговыми окнами. Программируя на VBA, можно создавать
программы, по мощности не уступающие самой Access. Более того, многие средства Access,
например мастера и конструкторы, написаны на VBA. Мощность и гибкость системы
Access делают ее сегодня одной из лучших программ для управления базами данных.
Работа с мастерами



Мастер (Wizard) - специальная программа, помогающая в решении какой-то задачи или
создании объекта определенного типа. Эта программа поможет вам за несколько минут
выполнить рутинную работу, на которую без применения этой программы может уйти
несколько часов. Программа-мастер задает вопросы о содержании, стиле и формате объекта,
а затем создает этот объект без какого-либо вмешательства с вашей стороны. В Access
имеется около сотни мастеров, предназначенных для проектирования баз данных,
приложений, таблиц, форм, отчетов, графиков, почтовых наклеек, элементов управления и
свойств.
Информация для пользователей электронных таблиц
Те, кто знакомы с Excel, заметят, что Access во многом похож на Excel. Прежде всего, обе
программы являются продуктами для Windows, следовательно, можно использовать свой
опыт применения специфичных для Windows соглашений. Данные таблицы или запроса
Access отображаются в виде электронной таблицы, которую принято называть таблицей
данных. Вы обнаружите, что размер строк и столбцов таблицы данных можно изменять так
же, как в рабочих таблицах Excel. Фактически режим ввода данных Access ничем не
отличается от аналогичного режима Excel. Основное различие между таблицей базы данных
(БД) и электронной таблицей - в системе адресации; в электронной таблице адресуется
каждая ячейка, а в таблице БД - только поля текущей записи. В электронной таблице каждая
ячейка обрабатывается индивидуально, а в таблице БД обработка идет по записям, причем
записи обрабатываются однотипным образом. Эти упрощения для БД позволяют повысить
скорость обработки и количество обслуживаемой информации.
Контекстно-зависимая справка и Помощник
Справочная система фирмы Microsoft является, наверное, лучшей среди аналогичных
программ как для новичков, так и для опытных пользователей. Access дает возможность
использовать контекстно-зависимую справку, для получения которой достаточно нажать
правую клавишу мыши. Какие бы вы ни испытывали затруднения при работе с системой, вам
поможет появляющаяся на экране справка по интересующей вас теме. Помимо этого
справочная система Access имеет удобные и простые в использовании содержание,
предметный указатель, систему поиска, журнал хронологии и закладки. В локализованной
версии Access 97(как и во всем Microsoft Office 97) компания Microsoft добавила новое
средство - Помощник. Помощник отвечает на вопросы, выдает советы и справки об
особенностях используемой программы.
Структура таблицы и типы данных
Все составляющие базы данных, такие, как таблицы, отчеты, запросы, формы и объекты, в
Access 97 хранятся в едином дисковом файле. Основным структурным компонентом базы
данных является таблица. В таблицах хранятся вводимые нами данные. Внешне каждая
таблица Access 97 похожа на таблицы, с которыми мы привыкли работать на бумаге, - она
состоит из столбцов, называемых полями, и строк, называемых записями. Каждая запись
таблицы содержит всю необходимую информацию об отдельном элементе базы данных.
Например, запись о преподавателе может содержать фамилию, имя, отчество, дату
рождения, должность и т.п.
При разработке структуры таблицы, прежде всего, необходимо определить названия полей,
из которых она должна состоять, типы полей и их размеры. Каждому полю таблицы
присваивается уникальное имя, которое не может содержать более 64 символов. Имя
желательно делать таким, чтобы функция поля узнавалась по его имени. Далее надо решить,



данные какого типа будут содержаться в каждом поле. В Access можно выбирать любые из
основных типов данных. Один из этих типов данных должен быть присвоен каждому полю.
Значение типа поля может быть задано только в режиме конструктора. Ниже представлены
типы данных Access и их описание.
Тип данных Описание
Текстовый
Текст или числа, не требующие проведения расчетов,
(Значение по например номера телефонов (до 255 знаков)
умолчанию)

Числовой
Числовые данные различных форматов,
используемые для проведения расчетов
Дата/время
Для хранения информации о дате и времени с 100 по
9999 год включительно
Денежный
Денежные значения и числовые данные,
используемые в математических расчетах,
проводящихся с точностью до 15 знаков в целой и до
4 знаков в дробной части
Поле MEMO Для хранения комментариев; до 65535 символов
Счетчик
Специальное числовое поле, в котором Access
автоматически присваивает уникальный порядковый
номер каждой записи. Значения полей типа счетчика
обновлять нельзя
Логический
Может иметь только одно из двух возможных
значений (TrueFalse, Да/Нет)
Поле объекта Объект (например, электронная таблица Microsoft
OLE
Excel, документ Microsoft Word, рисунок, звукозапись
или другие данные в двоичном формате), связанный
или внедренный в таблицу Access
Гиперссылка Строка, состоящая из букв и цифр и представляющая
адрес гиперссылки. Адрес гиперссылки может
состоять максимум из трех частей: текст, выводимый
в поле или в элементе управления; путь к файлу (в
формате пути UNC) или к странице (адрес URL).
Чтобы вставить адрес гиперссылки в поле или в
элемент управления, выполните команду Вставка,
Гиперссылка
Мастер
Создает поле, в котором предлагается выбор
подстановок значений из списка или из поля со списком,
содержащего набор постоянных значений или
значений из другой таблицы. Это в действительности
не тип поля, а способ хранения поля

В Access существует четыре способа создания пустой таблицы:
· использование мастера баз данных для создания всей базы данных, содержащей все
требуемые отчеты, таблицы и формы, за одну операцию. Мастер баз данных создает
новую базу данных, его нельзя использовать для добавления новых таблиц, форм,
отчетов в уже существующую базу данных;



· мастер таблиц позволяет выбрать поля для данной таблицы из множества
определенных ранее таблиц, таких, как деловые контакты, список личного имущества
или рецепты;
· ввод данных непосредственно в пустую таблицу в режиме таблицы. При сохранении
новой таблицы в Access данные анализируются, и каждому полю присваивается
необходимый тип данных и формат;
· определение всех параметров макета таблицы в режиме конструктора.
Независимо от метода, примененного для создания таблицы, всегда имеется возможность
использовать режим конструктора для дальнейшего изменения макета таблицы, например
для добавления новых полей, установки значений по умолчанию или для создания масок
ввода.