Преобразование инфологической модели базы данных в даталогическую и физическую

ER-диаграммы часто используются в сочетании с диаграммами DFD, которые схематично показывают движение потоков информации в рамках процесса или системы.

Цель ER-диаграмм — показать связи и отношения между элементами, поэтому они отображают только реляционную структуру.

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

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

Основными элементами ИЛМ являются объект (сущность), атрибуты и связи (отношения).

В предметной области в процессе её исследования и анализа выделяют классы объектов.

Объектом называется предмет, который может быть четко идентифицирован (Чен в 1976г.).

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

Сущности бывают:

· Правильные

· Слабые

Связь - является логическим отношением между сущностями.

Слабая связь.

Объекты (сущности), включенные в данную связь, называются участниками, количество участников в связи называются степенью.

Связи в ER модели могут быть следующих типов :

· Один – к – одному;

· Один – ко – многим;

· Многие – к – одному;

· Многие – ко – многим.

Это мощность связи , которая служит для обозначения отношения числа экземпляров в родительской сущности к числу экземпляров в дочерней сущности.

Связь “один к одному” (1:1) предполагает, что в каждый момент времени элементу А соответствует 0 или 1 элементов В.

Связь “один ко многим” (1:М) состоит в том, что в каждый момент времени каждому элементу А соответствует несколько элементов В.

Связь “многие к одному” предполагает, что в каждый момент времени множеству элементов А соответствует 1 элемент В.

Курсанты объединяются в группы:

Связь “многие ко многим ” состоит в том, что в любой момент времени множеству элементов А соответствует множество элементов В.

Курсанты изучают предметы. Педагоги преподают предметы.

СОЗДАНИЕ ДАТАЛОГИЧЕСКОЙ И ФИЗИЧЕСКОЙ

МОДЕЛЕЙ БАЗЫ ДАННЫХ

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

Переход к даталогической модели сводится к изменению тех отношений между сущностями, которые существуют только на логическом уровне.

Это прежде всего отношения типа многие-ко-многим и иерархия наследования.

Для преобразования отношения типа многие-ко-многим необходимо создать третью сущность, в качестве первичного ключа которой будут выступать ключевые атрибуты сущностей, связанных отношением многие-ко-многим. Имя новой сущности выбирается исходя из ее смыслового значения, а неключевые атрибуты могут мигрировать из одной из связанных сущностей или быть добавлены отдельно.

Например,

Результат преобразования:

Преобразование проводится одним из трех возможных путей:

1. Для каждой сущности иерархии наследования инфологической модели создается соответствующая сущность в даталогической модели. При этом происходит перенос атрибутов сущности ИМД в соответствующую сущность ДМД. Категориальная связь между сущностями заменяется отношением «многие-ко-многим».

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

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

Предположим, в ИМД существует категориальная связь: сотрудник может быть как постоянным работником, так и совместителем или консультантом. Различие между ними заключается в типе сотрудника, что отражено на диаграмме с помощью дискриминанта «Тип». Сущности «Постоянный сотрудник», «Совместитель», «Консультант» являются зависимыми от сущности «Сотрудник», поэтому на диаграмме изображены в виде прямоугольников со скругленными углами, а их ключевыми атрибутами являются ключевые атрибуты родительской сущности «Сотрудник».

Для перехода к ДМД необходимо воспользоваться одним из трех перечисленных выше способов.

Если применить первый способ преобразования, получим четыре сущности, связанные отношениями «многие-ко-многим» с сущностью «Сотрудник». Видно, что в данном случае «Постоянный сотрудник» и «Сотрудник» являются полностью идентичными, т. к. «Постоянный сотрудник» не содержит дополнительных атрибутов, отличающих его от «Сотрудника».

Следовательно, сущность «Постоянный сотрудник» можно удалить.

Кроме этого, очевидно, что преобразование подобного рода целесообразно

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

Если применить второй способ преобразования к модели,

получим результат:

Такое преобразование целесообразно проводить в случае, когда количество атрибутов в родовых предках сущности невелико.

Если применить третий способ преобразования к модели, получим следующий результат:

Три независимые сущности, содержащие часть одинаковых атрибутов, унаследованных от родового предка и отличающихся атрибутами, присущими сущностям потомкам. Этот способ удобно применять в случае, когда сущности-потомки отличаются друг от друга большим количеством атрибутов.

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

После того как создана даталогическая модель данных, необходимо создать физическую модель данных (ФМД).

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

Физическая модель данных — самый детальный уровень ER-схем, где представлен процесс добавления информации в базу данных. Физические модели отображают всю структуру таблицы, включая названия столбцов, типы данных, ограничения столбцов, первичные и внешние ключи, а также отношения между таблицами.