Базы данных и системы управления базами данных. Модели данных
База данных (БД)— это поименованная совокупность структурированных данных, относящихся к определенной предметной области. С понятием базы данных тесно связано понятие системы управления базами данных (СУБД). СУБД — это комплекс программных средств, предназначенных для создания структуры новой базы данных, наполнения ее содержимым, редактирования содержимого и создания различных пользовательских представлений информации (отбор, сортировка, фильтрация и т.д.). Существует множество различных систем управления базами данных, однако большинство СУБДопираются на единый комплекс основных понятий. Рассмотрим эти понятия.
Информационный объект— это описание некоторой сущности (реального объекта, явления, процесса, события) в виде совокупности логически связанных реквизитов(информационных элементов). Такими сущностями для информационных объектов могут служить: студент, вуз, сдача экзаменов, магазин, склад, и т.д. Например, информационный объект СТУДЕНТ может быть представлен в базе данных с помощью следующих реквизитов: Номер зачетной книжки, Фамилия, Имя, Отчество, Год рождения. Это можно записать так:
СТУДЕНТ (Номер зачетной книжки, Фамилия, Имя, Отчество, Год рождения)
Ядром любой базы данных является модель данных. Модель данных — это совокупность структур данных и операций их обработки. С помощью модели данных могут быть представлены информационные объекты и взаимосвязи между ними. Рассмотрим три основных типа моделей данных: иерархическую, сетевуюиреляционную.
Иерархическая модель данных представляет собой совокупность элементов данных, расположенных в порядке их подчинения и образующих по структуре перевернутое дерево (рис. 1). К основным понятиям иерархической структуры относятся:уровень, узел и связь. Узел — это совокупность реквизитов данных, описывающих информационный объект.
Рис.1. Графическое изображение иерархической структуры данных
Иерархическая структура должна удовлетворять следующим требованиям:
- каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне;
- иерархическое дерево имеет только один корневой узел, не подчиненный никакому другому узлу и находящийся на самом верхнем уровне;
- к каждому узлу существует только один путь от корневого узла;
Пример, представленный на рисунке 2, иллюстрирует использование иерархической модели для построения базы данных «Институт». Информация базы данных структурирована в виде деревьев, количество которых равно количеству специальностей в институте. Информационные объекты первого уровня описываются реквизитами номер специальности, название специальности, ФИО декана. Информационные объекты второго уровня - реквизитами шифр группы, ФИО старосты, третьего уровня - реквизитами номер зачетки, фамилия, имя, отчество.
Подчеркиванием выделяется реквизит, который однозначно определяет описываемый информационный объект. Например, реквизит номер специальности однозначно определяет конкретную специальность. Для рассматриваемого примера иерархическая структура организации данных применима, так как каждый студент учится в определенной и только одной группе, которая относится к определенной и только одной специальности.
Рис. 2. Пример иерархической структуры данных
Сетевая модель данныхоснована на тех же основных понятиях (уровень, узел, связь), что и иерархическая модель, но в сетевой модели каждый узел может быть связан с любым другим узлом. На рисунке 3 схематически изображена сетевая структура организации данных.
Рис. 3. Графическое изображение сетевой структуры данных
Примером сетевой структуры может служить структура базы данных, содержащей сведения о студентах, занимающихся в спортивных секциях. Возможно участие одного студента в нескольких секциях, а также участие нескольких студентов в одной секции. Графическое изображение описанной в примере сетевой структуры, состоящей из двух типов информационных объектов, показано на рисунке 4.
Рис. 4. Пример сетевой структуры данных
Реляционная модель данных использует организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
- все столбцы в таблице однородные, т.е. все элементы в одном столбце имеют одинаковый тип (числовой, символьный и т.д.) и максимально допустимый размер;
- каждый столбец имеет уникальное имя;
- одинаковые строки в таблице отсутствуют;
- порядок следования строк и столбцов в таблице может быть произвольным.
Объектами обработки реляционной БД являются (рис. 5):
Поле — элементарная единица логической организации данных, которая соответствует конкретному реквизиту информационного объекта (столбец реляционной таблицы).
Запись — совокупность логически связанных полей (строка реляционной таблицы).
Таблица – заданная структура полей, состоящая из конечного набора однотипных записей.
Рис. 5. Основные структурные элементы реляционной таблицы
Например,в видереляционной таблицы можно представить информацию о студентах, обучающихся в вузе:
Номер личного дела | Фамилия | Имя | Отчество | Пол | Дата рождения | Специальность |
Сергеев | Петр | Михайлович | м | 01.01.86 | ||
Петрова | Анна | Владимировна | ж | 15.03.85 | ||
Анохин | Андрей | Борисович | м | 14.04.86 |