3.2.2 Сетевая модель данных
Сетевая модель данных — логическая модель данных, являющаяся расширением иерархического подхода, строгая математическая теория, описывающая структурный аспект, аспект целостности и аспект обработки данных в сетевых базах данных.
Разница между иерархической моделью данных и сетевой состоит в том, что в иерархических структурах запись-потомок должна иметь в точности одного предка, а в сетевой структуре данных у потомка может иметься любое число предков.
В сетевой структуре при тех же понятиях уровень, узел, связь, каждый элемент может быть связан с любым другим элементом.
Сетевая модель СУБД во многом подобна иерархической: если в иерархической модели для каждого сегмента записи допускается только один входной сегмент при N выходных, то в сетевой модели для сегментов допускается несколько входных сегментов наряду с возможностью наличия сегментов без входов с точки зрения иерархической структуры.
Графическое изображение структуры связей сегментов такого типа моделей представляет собой сеть. Сегменты данных в сетевых БД могут иметь множественные связи с сегментами старшего уровня. При этом направление и характер связи в сетевых БД не являются столь очевидными, как в случае иерархических БД. Поэтому имена и направление связей должны идентифицироваться при описании БД.
Таким образом, под сетевой БД понимается система, поддерживающая сетевую организацию: любая запись, называемая записью старшего уровня, может содержать данные, которые относятся к набору других записей, называемых записями подчиненного уровня. Возможно обращение ко всем записям в наборе, начиная с записи старшего уровня. Обращение к набору записей реализуется по указателям.
Сетевые БД поддерживают сложные соотношения между типами данных, что делает их пригодными во многих различных приложениях. Однако пользователи таких БД ограничены связями, определенными для них разработчиками БД-приложений. Среди недостатков сетевых СУБД следует особо выделить проблему обеспечения сохранности информации в БД, решению которой уделяется повышенное внимание при проектировании сетевых БД.
Достоинства сетевой модели данных:
1)эффективное использование памяти;
Недостатки сетевой модели данных:
1) сложность доступа к элементам (навигационный принцип доступа);
2) сложно отследить смысл такой модели данных.
Сетевая модель данных изображена на рисунке 3.4.
Рисунок 3.4 – Сетевая модель данных
3.2.3 Реляционная модель данных
Реляционная модель данных — логическая модель данных, прикладная теория, описывающая структурный аспект, аспект целостности и аспект обработки данных в реляционных базах данных. Понятие реляционный связано с разработками известного американского специалиста в области систем баз данных, сотрудника фирмы IBM Е. Кодда, которым впервые был применен термин «реляционная модель данных».
Термин «реляционный» означает, что теория основана на математическом понятии отношение (relation). В качестве неформального синонима термину «отношение» часто встречается слово таблица
В течение долгого времени реляционный подход рассматривался как удобный формальный аппарат анализа баз данных, не имеющий практических перспектив, так как его реализация требовала слишком больших машинных ресурсов. Только с появлением персональных ЭВМ реляционные и близкие к ним системы стали распространяться, практически не оставив места другим моделям.
Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
- каждый элемент таблицы — один элемент данных; повторяющиеся группы отсутствуют;
- все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
- каждый столбец имеет уникальное имя;
- одинаковые строки в таблице отсутствуют;
- порядок следования строк и столбцов может быть произвольным.
- Аспект культуры (методы описания типов и логических структур данных в базе данных)
- Аспект манипуляции (методы манипулирования данными)
- Аспект целостности (методы описания и поддержки целостности базы данных)
- СМД является наиболее полной с точки зрения реализации различных типов связей и ограничений целостности.
- Является достаточно сложной для проектирования и поддержки.
- Не обеспечивается физическая независимость данных, т.к. наборы организованы с помощью физических ссылок.
- Не обеспечивается независимость данных от программ.
- Структурный аспект — данные в базе данных представляют собой набор отношений.
- Аспект целостности — отношения (таблицы) отвечают определенным условиям целостности. РМД поддерживает декларативные ограничения целостности уровня домена (типа данных), уровня отношения и уровня базы данных.
- Аспект обработки (манипулирования) — РМД поддерживает операторы манипулирования отношениями (реляционная алгебра, реляционное исчисление).
- Отношение – двухмерная таблица, не содержащая строк-дубликатов
- Сущность есть объект любой природы, данные о котором хранятся в базе данных. Данные о сущности хранятся в отношении
- Запись – строка (ряд, запись, row, кортеж) таблицы
- Отношение – множество кортежей
- Атрибут (столбец). Атрибуты представляют собой свойства, характеризующие сущность. В структуре таблицы каждый атрибут именуется и ему соответствует заголовок некоторого столбца таблицы
- Домен – множество значений атрибута
- Отображает информацию в наиболее простой для пользователя форме
- Отсутствует дублирование информации
- Позволяет создавать языки манипулирования данными не процедурного типа
- Возможно изменение данных
- Медленный доступ к данным
- Трудоемкость разработки
- обеспечивает возможность вложенности полей
- поддерживает ассоциированные многозначные поля (ассоциации)
- На длину полей и количество полей в записях таблицы не накладывается требование постоянства.
- Допускает хранение в таблицах ненормализованных данных.
Таблица такого рода называется отношением.
База данных, построенная с помощью отношений, называется реляционной базой данных.
Отношения представлены в виде таблиц, строки которых соответствуют записям, а столбцы – полям.
Поле, каждое значение которого однозначно определяет соответствующую запись, называется ключевым. Если записи однозначно определяются значениями нескольких полей, то такая таблица базы данных имеет составной ключ.
Достоинства реляционной модели:
1) простота и доступность понимания конечным пользователем — единственной информационной конструкцией является таблица;
2) при проектировании реляционной БД применяются строгие правила, базирующие на математическом аппарате;
3) полная независимость данных. При изменении структуры реляционной изменения, которые требуют произвести в прикладных программах, минимальны.
Недостатки реляционной модели:
1) относительно низкая скорость доступа и большой объем внешней памяти;
2) трудность понимания структуры данных из-за появления большого кол-ва таблиц в результате логического проектирования;
3) далеко не всегда предметную область можно представить в виде совокупности таблиц.
В последнее время всё большее количество БД основываются на РМ в виду её простоты и удобства, а также большого количества программных продуктов для разработки этой СУБД. И даже недостатки реляционной модели компенсируются ростом быстродействия и ресурсов памяти современных ЭВМ.
Для курсового проекта была выбрана реляционная модель данных. Для данной предметной области она является оптимальной, поскольку обладает такими свойствами, как удобство реализации, простота. Сетевая модель не подходит из-за сложного доступа к элементам и является довольно громоздкой, что затрудняет отслеживание смысла связей между объектами. В реляционной модели связи легко определимы. В иерархической модели данных отсутствует механизм, поддерживающий связи между элементами различных поддеревьев, что также может затруднить работу.
Реляционная модель данных представлена на рисунке 3.5. Таблица Аптека содержит название аптеки, № аптеки, адрес, телефон, лицензию. Таблица Изготовитель содержит название изготовителя, телефон, адрес. В таблице Тип хранится информация о названии типа медикамента. Таблица Препараты хранит названия препаратов дату изготовления, рецепт. Таблица Медикамент хранит информацию о названии медикамента и цену. Таблица Владелец хранит Ф.И.О. владельца, дату рождения, страховку. Таблица Поступает хранит информацию о дате поступления медикамента и количестве.
Рисунок 3.5 – Реляционная модель данных
Проанализировав типы моделей данных, я пришла к выводам, что удобнее реализовывать базу данных на основе реляционной модели.
Реляционная модель данных проста и удобна для понимания, в отличии от сетевой, где очень легко запутаться в связях между объектами и не так громоздка, как иерархическая модель.
Данные в реляционной модели не зависимы и при изменении структуры не требуется переделывать всю базу, как в иерархической и сетевой моделях. Также реляционная модель рассчитана на разнообразные типы запросов, в отличии от иерархической, ориентированной на конкретные запросы.
В настоящее время для разработки реляционной СУБД существует множество программных продуктов и систем поддержки. Все это делает разработку именно такой модели данных наиболее удобной.
9. Понятие модели данных. Сетевые модели бд: особенности, преимущества, недостатки.
Модель данных — это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь. Эти объекты позволяют моделировать структуру данных, а операторы — поведение данных.
Включает в себя три аспекта:
Сетевая модель данных позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа, обобщая тем самым иерархическую модель данных. Сетевая БД состоит из набора записей и набора соответствующих связей. На формирование связи особых ограничений не накладывается. Если в иерархических структурах запись-потомок могла иметь только одну запись-предка, то в сетевой модели данных запись-потомок может иметь произвольное число записей-предков. Преимущества:
Недостатки:
10. Реляционные модели данных: особенности, преимущества, недостатки.
11. Постреляционные модели данных: особенности, преимущества, недостатки.
Классическая реляционная модель предполагает неделимость данных, хранящихся в полях записей таблиц. Это означает, что информация в таблице представляется в первой нормальной форме. Существует ряд случаев, когда это ограничение мешает эффективной реализации приложений. Постреляционная модель данных представляет собой расширенную реляционную модель, снимающую ограничение неделимости данных, хранящихся в записях таблиц. Постреляционная модель данных допускает многозначные поля – поля, значения которых состоят из подзначений. Набор значений многозначных полей считается самостоятельной таблицей, встроенной в основную таблицу. При обработке данных в постреляционной модели не требуется выполнять операцию соединения данных из двух таблиц. SELECT Номер накладной, Номер покупателя, Название товара, Количество товара FROM НАКЛАДНЫЕ; Особенности.
Достоинством постреляционной модели является возможность представления совокупности связанных реляционных таблиц одной постреляционной таблицей. Это обеспечивает высокую наглядность представления информации и повышение эффективности ее обработки. Недостатком постреляционной модели является сложность решения проблемы обеспечения целостности и непротиворечивости хранимых данных.