для чего строится модель данных
МОДЕЛИ ДАННЫХ
Данные в базах данных организуются в соответствии с одной из моделей данных.
С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними. Т.о. основой любой БД является модель данных.
Модель данных – совокупность структур данных и операций по их обработке.
К классическим моделям представления данных относят иерархическую, сетевую и реляционную. Иерархическая и сетевая модели данных стали применяться в системах управления базами данных в начале 60-х годов. В начале 70-х годов была предложена реляционная модель данных. Эти три модели различаются в основном способами представления взаимосвязей между объектами.
Основные модели представления данных:
1. Иерархическая модель данных представляет информационные отображения объектов реального мира – сущности и их связи в виде ориентированного графа или дерева (рис. 2). Узлы и ветви образуют иерархическую древовидную структуру. Узел является совокупностью атрибутов, описывающих объект. Наивысший в иерархии узел называется корневым (это главный тип объекта). Корневой узел находится на первом уровне. Зависимые узлы (подчиненные типы объектов) находятся на втором, третьем и др. уровнях. В такой модели у каждого объекта есть только один исходный (за исключением корневого объекта), но в принципе может быть несколько зависимых (порожденных).
Рис.17. Структура иерархической модели
Примером такой модели может служить БД, содержащая сведения о ВУЗе (на примере БелГСХА)
2. Сетевая модель – является расширением иерархической модели,нов отличие от нее присутствуют горизонтальные связи (рис. 3). В данной модели данных любой объект может быть и главным и подчиненным. Структура называется сетевой, если в отношениях между данными порожденный элемент имеет более одного исходного. Сетевая модель предоставляет большие возможности по сравнению с иерархической, однако она сложнее в реализации и использовании. Примером может служить структура БД, содержащей сведения о студентах, участвующих в НИРС. Возможно участие одного студента в нескольких темах, а также нескольких студентов в разработке одной темы.
Рис. 18. Представление связей в сетевой модели
3. Реляционная модель. Понятие реляционной модели данных (от английского relation – отношение) связано с разработками Эриха Кодда. Эта модель характеризуется простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования аппарата реляционной алгебры для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц, связанных между собой определенными отношениями.
Реляционная таблица обладает следующими свойствами:
Таблица реляционной БД состоит из некоторого числа однотипных записей, или кортежей. Слово «однотипных» означает, что все записи обладают одним и тем же набором атрибутов, или полей, хотя для каждой записи атрибут может принимать свое собственное значение.
Рассмотрим таблицу, содержащую данные о сотрудниках предприятия
Табельный № | Фамилия И.О. | Код отдела | Рабочий телефон |
ПЕТРОВ А.В. | 555-12-67 | ||
РОМАНЕНКО С.Т. | 555-12-80 | ||
СТЕПАНОВА И.С. |
Значения некоторых атрибутов у разных записей может совпадать, например, у записей №1 и №2 одинаковое значение атрибута «код отдела». Однако в каждой таблице должен иметься атрибут (или совокупность атрибутов), значение которых никогда не повторяется и однозначно идентифицирует каждую ее строку. Это нужно для того, чтобы при работе с базой можно было отличать одну запись от другой. Такие атрибуты называют уникальными. Уникальный атрибут таблицы или совокупность ее уникальных атрибутов называют первичным ключом или ключевым полем. В данной таблице ключом является атрибут «табельный №».
В том случае, когда запись однозначно определяется значениями нескольких полей (совокупностью уникальных атрибутов) то имеет место составной ключ.
В ряде случаев атрибут может не получать никакого значения, например, у сотрудника №3 нет рабочего телефона, и соответствующий атрибут не заполнен. В этом случае говорят, что атрибут имеет нулевое значение. Ключ не может иметь нулевое значение.
Но простая совокупность таблиц не может считаться базой данных, если между ними не существует определенных отношений. В реляционных базах данных отношения указывают на соответствие между записями двух таблиц. Возьмем вторую таблицу, содержащую информацию об отделах:
Код | Наименование отдела |
ДИРЕКЦИЯ | |
БУХГАЛТЕРИЯ | |
ОТДЕЛ КАДРОВ | |
КАНЦЕЛЯРИЯ |
Табельный № | Фамилия И.О. | Код отдела | Рабочий телефон |
РОМАНЕНКО С.Т. | 555-12-80 |
Код | Наименование отдела |
ОТДЕЛ КАДРОВ |
Табельный № | Фамилия И.О. | Код отдела | Рабочий телефон | Наименование отдела |
РОМАНЕНКО С.Т. | 555-12-80 | ОТДЕЛ КАДРОВ |
Подобное нарушение целостности может возникнуть и в том случае, когда удаляется одна из записей таблицы, содержащей ключевое поле. Например, при удалении из таблицы «ОТДЕЛЫ» записи №3, содержащей ключ 024, записи №1 и №2 таблицы «СОТРУДНИКИ» будут ссылаться на несуществующий отдел.
Целостность данных — это система правил, защищающая данные от случайных изменений и удаления.
Целостность данных в этом случае поддерживается одним из нескольких способов:
1. Запрещается удаление записей, на которые существуют ссылки. В приведенном примере это означает, что нельзя удалить запись об отделе с кодом 024, пока хотя бы один из сотрудников указан работником этого отдела.
2. Если запись удаляется, то все внешние ключи ссылающихся на нее записей принимают нулевое значение. В нашем случае атрибут «код отдела» для первых двух сотрудников примет нулевое значение.
3. Ссылающиеся записи «каскадно» уничтожаются. При удалении записи об отделе 024 в таблице «ОТДЕЛЫ» все записи о сотрудниках этого отдела в таблице «СОТРУДНИКИ» также будут удалены.
Каждая таблица представляет один объект (сущность) состоит из строк и столбцов.
Т.о., реляционная модель – это множество нормализованных взаимосвязанных таблиц.
Нормализация отношений – это процесс построения оптимальной структуры таблиц и связей в реляционной базе данных.
Связи между таблицами поддерживаются с помощью либо первичных ключей этих таблиц, либо первичного ключа одной таблицы и не ключевых реквизитов другой таблицы.
Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом. Если записи однозначно определяются значениями нескольких полей, то такая таблица базы данных имеет составной ключ.
Нормализация таблиц позволяет производить над ними операции реляционной алгебры, т.е. операции выбора, соединения, объединения, разности, пересечения и т.д. Благодаря своей простоте и естественности представления реляционная модель получила наибольшее распространение.
Преимущества реляционной модели:
1. Устраняется дублирование информации. Все необходимые данные можно хранить только в одной таблице. Например, в таблице СЕССИЯ нет необходимости хранить ФИО каждого студента, сдающего экзамены, достаточно задать связь с таблицей СТУДЕНТ.
2. Легко производить изменения. Если в таблице СЕССИЯ изменить какие-нибудь значения, то правильная информация автоматически будет связана с другими таблицами, ссылающимися на первую, напр., табл. СТИПЕНДИЯ.
3. Удается легко избежать установления ошибочных связей между различными таблицами данных, а необходимый объем памяти сокращен до минимума.
4. Максимально возможная компактность хранения данных;
5. Удобные для пользователя вид и форма извлекаемой информации;
6. Высокая скорость доступа к данным;
7. Надежность хранения информации и возможность предоставления санкционированного доступа к данным для отдельных пользователей;
8. Удобство и простота конструирования пользователем запросов, форм и отчетов для выборки данных.
В последние годы появились новые модели данных:
ЭЛЕМЕНТЫ БД:
— имя (краткое название реквизита);
— тип (числовой, текстовый);
— длина.
2. Запись – совокупность логически связанных полей.
3. Экземпляр записи – отдельная реализация записи, содержащая конкретные значения ее полей. Запись идентична строке в таблице. Запись соответствует составной единице информации – документу (разовый), или строке документа (накопительный).
4. Файл (таблица) – именованная совокупность одинаковых по структуре экземпляров записей.
Файл (таблица) соответствует составной единице информации – информационному массиву.
Описать логическую структуру – означает указать последовательность расположения полей записей и их основные характеристики (тип, длина).
5. Ключевое поле – это поле,значение которого однозначно идентифицирует запись. В структуре записи файла указываются поля, значения которых являются ключами: первичными (они идентифицируют экземпляр записи) и вторичными (они выполняют роль поисковых или группировочных признаков).