Реляционная модель данных.

Сетевая модель данных

В СМД элементарные данные и отношения между ними представляются в виде ориентированной сети (вершины - данные, дуги - отношения).

Сетевые базы данных обладали рядом преимуществ:

· Гибкость. Множественные отношения предок/потомок позволяли сетевой базе данных хранить данные, структура которых была сложнее простой иерархии.

· Стандартизация. Появление стандарта CODASYL популярность сетевой модели, а такие поставщики мини-компьютеров, как Digital Equipment Corporation и Data General, реализовали сетевые СУБД.

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

Конечно, у сетевых баз данных были недостатки. Как и иерархические базы данных, сетевые базы данных были очень жесткими. Наборы отношений и структуру записей приходилось задавать наперёд. Изменение структуры базы данных обычно означало перестройку всей базы данных.

Как иерархическая, так и сетевая база данных были инструментами программистов. Реализация пользовательских запросов часто затягивалась на недели и месяцы, и к моменту появления программы информация, которую она предоставляла, часто оказывалась бесполезной.

Над данными сетевой модели можно выполнять следующие действия:

· внести запись в БД (в зависимости от типа включения запись может быть внесена в групповое отношение или нет);

· включить запись в групповое отношение (связать запись с каким-либо владельцем);

· переключить (связать подчиненную запись с записью владельца в том же групповом отношении);

· изменить значение элементов предварительно извлеченной записи;

· извлечь запись либо по значению ключа, либо последовательно в рамках группового отношения;

· удалить – при удалении записи необходимо учитывать классы членства;

· исключить из группового отношения (разорвать связь между записью владельца и подчиненной записью).

 

 

Реляционная модель данных.

Реляционной моделью называется база данных, в которой все данные, доступные пользователю, организованны в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами. Наглядной формой представления отношения является двумерная таблица. Таблица имеет строки (записи) и столбцы (колонки). Каждая строка имеет одинаковую структуру и состоит из полей. Строкам таблицы соответствуют кортежи, а столбцам – атрибуты отношения. Достоинство реляционной модели заключается в простоте, понятности и удобстве физической реализации на ЭВМ. Именно простота и понятность для пользователя явились для пользователя основной причиной ее использования. Проблема же эффективности обработки данных этого типа оказались технически вполне разрешимыми. Основными недостатками являются: отсутствие стандартных средств идентификации отдельных записей и сложность описания иерархических и сетевых связей. Примерами зарубежных реляционных СУБД являются: Visual FoxPro и Access (Microsoft).

Основные элементы реляционной модели: Отношение – важнейшее понятие и представляет собой двумерную таблицу, содержащую некоторые данные. Сущность-объект любой природы, данные о котором хранятся в БД. Данные о сущности хранятся в отношении. Атрибуты-свойства, характеризующие сущность. В таблице он именуется и ему соответствует заголовок столбца таблицы. Домен-множество всех возможных значений определенного атрибута отношения. Схема отношения (заголовок отношения) список имен атрибутов. Первичный ключ (ключ отношения) атрибут отношения, однозначно идентифицирующий каждый из его картежей. Если кортежи идентифицируются только сцеплением значений нескольких атрибутов, то говорят, что отношение имеет составной ключ. Отношение может содержать несколько ключей. Всегда один из ключей объявляется первичным, его значения не могут обновляться. Все остальные ключи отношения называются возможными ключами.

Достоинства реляционной модели:

-простота и доступность для понимания пользователем. Единственной используемой информационной конструкцией является "таблица";

-строгие правила проектирования, базирующиеся на математическом аппарате;

-полная независимость данных. Изменения в прикладной программе при изменении реляционной БД минимальны;

-для организации запросов и написания прикладного ПО нет необходимости знать конкретную организацию БД во внешней памяти.

Недостатки реляционной модели:

-далеко не всегда предметная область может быть представлена в виде "таблиц";

-в результате логического проектирования появляется множество "таблиц". Это приводит к трудности понимания структуры данных;

-БД занимает относительно много внешней памяти;

-относительно низкая скорость доступа к данным.

Три составные части реляционной модели данных:

§ структурная

§ манипуляционная

§ целостная

Структурная часть модели определяет, что единственной структурой данных является нормализованное парное отношение. Отношения удобно представлять в форме таблиц, где каждая строка есть кортеж, а каждый столбец – атрибут, определенный на некотором домене. Данный неформальный подход к понятию отношения дает более привычную для разработчиков и пользователей форму представления, где реляционная база данных представляет собой конечный набор таблиц.

Манипуляционная часть модели определяет два фундаментальных механизма манипулирования данными – реляционная алгебра и реляционное исчисление. Основной функцией манипуляционной части реляционной модели является обеспечение меры реляционности любого конкретного языка реляционных БД: язык называется реляционным, если он обладает не меньшей выразительностью и мощностью, чем реляционная алгебра или реляционное исчисление.

Целостная часть модели определяет требования целостности сущностей и целостности ссылок. Первое требование состоит в том, что любое отношение должно обладать первичным ключом. Требование целостности по ссылкам, или требование внешнего ключа состоит в том, что для каждого значения внешнего ключа, появляющегося в ссылающемся отношении, в отношении, на которое ведет ссылка, должен найтись кортеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть неопределенным (т.е. ни на что не указывать).

 

10. Модель «сущность связь» ER-модель, нормализация данных.

ER-модель (Entity-Relationship model) представляет собой высокоуровневую концептуальную модель данных, которая была разработана в 1976 году с целью упрощения задачи проектирования БД. Основные концепции модели «сущность-связь» включают типы сущностей, связи и атрибуты.

Основной концепцией ER-моделирования является тип сущности, который представляет множество объектов реального мира с одинаковыми свойствами. Тип сущности характеризуется независимым существованием и может быть объектом с физическим (реальным) существованием или объектом с концептуальным (абстрактным) существованием.

Каждый уникально идентифицируемый экземпляр типа сущности называется просто сущностью. Каждый тип сущности идентифицируется именем и списком свойств и классифицируется на два типа: сильный слабый. Существование слабого типа зависит от другого типа, сильного – не зависит.

На использовании разновидностейER-модели основано большинствосовременных подходов к проектированию баз данных (главным образом, реляционных). Модель была предложена Ченом в 1976г. Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. В связи с наглядностью представления концептуальных схем баз данных ER-модели получили широкое распространение в CASE-средствах, предназначенных для автоматизированного проектирования реляционных баз данных.

Для моделирования структуры данных используются ER-диаграммы (диаграммы «сущность-связь»), которые в наглядной форме представляют связи между сущностями. В соответствии с этим ER-диаграммы получили распространение в CASE-системах, поддерживающих автоматизированное проектирование реляционных баз данных. Наиболее распространенными являются диаграммы, выполненные в соответствии со стандартом 1DEF1X, который используют наиболее популярные CASE-системы (в частности, ERwin, Design/IDEF, Power Designer). Основными понятиями ER-диаграммы являются сущность, связь и атрибут.

Сущность

Сущность — это реальный или виртуальный объект, имеющий существенное значение для рассматриваемой предметной области, информация о котором подлежит хранению. Если не вдаваться в подробности, то можно считать, что сущности соответствуют таблицам реляционной модели. Каждая сущность должна обладать следующими свойствами:

1. иметь уникальный идентификатор;

2.содержать один пли несколько атрибутов, которые либо принадлежат сущности, либо наследуются через связь с другими сущностями;

3. содержать совокупность атрибутов, однозначно идентифицирующих каждый экземпляр сущности.

Любая сущность может иметь произвольное количество связей с другими сущностями.

В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности.

Связь

Связь — это соединение двух сущностей, при котором, как правило, каждый экземпляр одной сущности, называемой родительской сущностью, ассоциирован с произвольным (в том числе нулевым) количеством экземпляров второй сущности, называемой сущностью-потомком, а каждый экземпляр сущности-потомка ассоциирован в точности с одним экземпляром сущности-родителя.

Связь представляется в виде линии, связывающей две сущности или идущей от сущности к ней же самой . Для каждой связи между сущностями указываются правила, обеспечивающие ее поддержание.