Реферат на тему:


Воспользуйтесь поиском к примеру Реферат        Грубый поиск Точный поиск






Загрузка...
Логическое проектирование баз данных

Логическое проектирование баз данных

План

1. Упрощение концептуальной модели

Изъятие двусторонних связей

"многие ко многим"

Изъятие сложных связей

Изъятие многозначных атрибутов

Изъятие рекурсивных связей

Изъятие связей с атрибутами

2. Методика преобразования ER-диаграмм в реляционные структуры

Сущности и атрибуты

Связи

Связи "один к одному"

Связи "один ко многим"

Связи "многие ко многим"

Другие виды связей

Связи "суперкласс - подкласс"

Этапы логического проектирования

Логическое проектирование выполняется для определенной модели данных. Для реляционной модели данных логическое проектирование заключается в создании реляционной схемы, определении числа и структуры таблиц, формировании запросов к БД, определении типов отчетных документов, разработке алгоритмов обработки информации, создании форм для ввода и редактирования данных в БД и решении целого ряда других задач. Концептуальные модели по определенным правилам превращаются в логические модели данных. Корректность логических моделей проверяется с помощью правил нормализации, которые позволяют убедиться в структурной согласованности, логической целостности и минимальной убыточности принятой модели данных. Модель также проверяется с целью выявления возможностей выполнения транзакций, которые будут задаваться пользователями. Проектирование представляет собой циклический процесс. Этапы логического проектирования приведены на рис. 6.1.

Упрощение концептуальной модели

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

На этом этапе выполняются следующие операции:

- изъятие двусторонних связей M: N;

- изъятие сложных связей;

- изъятие многозначных атрибутов;

- изъятие рекурсивных связей;

- изъятие связей с атрибутами.

Изъятие двусторонних связей "многие ко многим"

Преобразование связи "многие ко многим" выполняется путем введения промежуточной сущности с заменой одного связи M: N двумя связями 1: N с новой сущностью.

Изъятие сложных связей

Для удаления сложных связей выполняются следующие операции:

- в модель вводится новая сущность;

- сложная связь заменяется бинарными связями "один ко многим" с вновь созданной сущностью;

- количество бинарных связей равна степени сложности связи.

Изъятие многозначных атрибутов

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

Изъятие рекурсивных связей

На этапе упрощения концептуальной модели рекурсивные связи 1: 1 и 1: M (рис. 6.5) могут быть преобразованы в одно отношение. В случае, когда необязательная сущность со стороны "много" для связи 1: M для уменьшения пустых значений

создается новое отношение. Связь M: N превращается в две сущности (рис.6.6).

Изъятие связей с атрибутами

Изъятие связей с атрибутами выполняется путем добавления в модель новой сущности для отношения M: N с атрибутами связи. Для отношение 1: M атрибуты связи передаются в сущность "много" без создания новой сущности.

Пример. Рассмотрим сущности Студент-Дисциплина (рис.6.7).

В результате преобразования связи с атрибутами получено реляционную схему (рис. 6.8).

Упрощение концептуальной модели предусматривает также изъятия убыточных связей. Убыточные связи

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

После упрощения в концептуальной модели могут присутствовать только следующие элементы:

- объекты и атрибуты;

- связи типа 1: 1 и 1: M;

- связи типа суперкласс-подкласс.

Методикапреобразования ER-диаграмм в реляционные структуры

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

Рассмотрим правила преобразования ER-модели в реляционную модель.

Сущности и атрибуты

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

Для сильных сущностей первичный ключ сущности становится PRIMARY KEY (PK) соответствующего отношения.

Пример. Рассмотрим сущность Студент (рис.6.9).

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

Пример. Рассмотрим преобразования сильной сущности Студент и слабой сущности Награда (рис. 6.10).

связки

После преобразования концептуальной модели остаются следующие типы связей:

- "один к одному";

- "один ко многим";

- рекурсивные связи;

- суперкласс - подкласс.

Для каждого типа связи в зависимости от условий связывания

г "\ и 'в' в

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

Связи "один к одному"

В концептуальных моделях данных определяют такие ограничения степени участия сущностей:

- обязательное участие для обеих сущностей;

- обязательное участие для одной сущности;

- необязательное участие для обеих сущностей.

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

Пример. Рассмотрим возможные варианты преобразования связи между сущностями Преподаватель и Дисциплина (рис. 6.11).

1. Обязательное участие для обеих сущностей Предположим, что каждый преподаватель обязательно излагает одну дисциплину и каждую дисциплину обязательно преподает один преподаватель. В этом случае реляционная структура будет состоять из одного отношения и иметь один из следующих ваРианта (рис. 6.12).

2. Обязательное участие для одной сущности Предположим, что каждый преподаватель обязательно излагает одну дисциплину, а за каждой дисциплиной обязательно закреплен преподаватель. В этом случае сущность, которая является необязательной (Дисциплина) выступает в качестве родительской сущности, а обязательная сущность определяется как дочерняя (Преподаватель). Реляционная структура показана на рис. 6.13.

Внешний атрибут SU_Cod также может быть ключом для Преподавателя.

3. Необязательно участие для обеих сущностей Предположим, что необязательно каждый преподаватель преподает дисциплины и необязательно по каждой дисциплине закреплен преподаватель. В этом случае возможны три реляционные структуры (рис. 6.14).

Связи "один ко многим"

В каждое отношение, соответствующее подчиненной (дочерней) сущности, прилагается набор атрибутов основной (родительской)

'W W ' Т 7

сущности, который составляет первичный ключ основной сущности. В отношении, что соответствует подчиненной сущности, этот набор атрибутов становится внешним ключом (FOREIGN KEY, FK).

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

обязательного типа связи атрибуты приобретают свойства отсутствии неопределенных значений (NOT NULL).

Пример. Рассмотрим возможные варианты преобразования связи между сущностями Преподаватель и Дисциплина (рис. 6.15).

1. Необязательно участие сущности Преподаватель и обязательное участие сущности Дисциплина (рис. 6.16).

2. Необязательно участие сущности Преподаватель и необязательно участие сущности Дисциплина (рис. 6.17).

Связи "многие ко многим"

Для каждого связи M: N необходимо создавать дополнительное отношение, которое представляет эту связь и включать в него все атрибуты, которые входят в состав этой связи. Копии атрибутов первичного ключа сущностей, участвующих в связи передаются в новое отношение для испистання в качестве внешних ключей. Эти внешние ключи образуют также первичный ключ нового отношения.

Пример. Рассмотрим возможные варианты преобразования связи между сущностями Преподаватель и Дисциплина (рис. 6.18).

В этом случае существует единственная схема преобразования (рис. 6.19).

Другие виды связей

Для рекурсивных связей 1: 1 выполняются правила определены ранее для связи между двумя сущностями 1: 1. Для

рекурсивного связи 1: 1 с обязательным участием двух сторон, реляционная схема представляется в виде одного отношения с двумя копиями первичного ключа (см. Рис. 6.12). Одна копия соответствует внешнему ключу. Для рекурсивного связи 1: 1 с обязательным участием только одной стороны создается или одно отношение, или новое отношение, которое отражает эту связь (см. Рис. 6.13). Для рекурсивного связи 1: 1 с дополнительной участием обеих сторон создается новое отношение (см. Рис. 6.14).

Для сложных типов связей создается отношение, которое отражает эту связь и включает все атрибуты, которые входят в состав этой связи. Копии атрибутов первичного ключа сущностей, участвующих в связи передаются в новое отношение для использования в качестве внешних ключей. Эти внешние ключи образуют также первичный ключ нового отношения (см. Рис. 6.3).

Для многозначного атрибута создается новое отношение, соответствующее многозначительном атрибута, и в это новое отношение передается первичный ключ сущности для использования в качестве внешнего ключа (см. Рис. 6.4).

Связи "суперкласс - подкласс"

Для выполнения преобразования связи типа суперкласс - подкласс в реляционную модель необходимо учитывать также ограничения степени участия в связи (Mandatory или Optional) и ограничения непересечения (And или Or). Возможны четыре сообщения, преобразования которых дает четыре реляционные схемы. На схему также влияет то, участвуют подклассы в различных связях, количество сущностей в связи и т.д. Диапазон возможных вариантоврешение является достаточно большим и конкретная схема выбирается в каждом конкретном случае с учетом многих факторов.

Литература

1. Гайдамакин Н.А. Автоматизированные информационные системы, базы и банки данных. Вводный курс. - М .: Гелиос АРВ, 2002. - 368 с.

2. Гайна А. Организация баз данных и знаний. Языка баз данных Конспект лекций.-К.: КНУСА, 2002. - 64 с.

3. Гайна Г.А., Попович Н.Л. Организация баз данных и знаний. Организация реляционных баз данных: Конспект лекций. - М.: КНУБА, 2000. - 76 с.

4. Гарсиа-Молина Г., Ульман Д., Уидом Д. Системы баз данных. М .: Издательский дом "Вильямс", 2003. - 1088 с.

5. Григорьев Ю.А., Ревунков Г.И. Банки данных. М .: Изд-во МГТУ им. Н.Э.Баумана, 2002. - 320 с.

6. Грофф Дж. Вайнберг П. Энциклопедия SQL. - СПб .: Питер, 2003. - 896 с.

7. Дейт К.Дж. Введение в системы баз данных. - М .: Диалектика, 1998. - 784 с.

8. Дыгой С.М. Проектирование и внедрение баз данных. М .: Финансы и статистика, 1995. - 208 с.

9. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб .: Питер, 2001. - 304 с.

10. Когаловский М.Р. Энциклопедия технологий баз данных.- М .: Финансы и статистика, 2002. - 800 с.

11. Конноли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. - М .: Издательский дом "Вильямс", 2003. - 1440 с.

12. Кренке Д. Теория и практика построения баз данных. - СПб .: Питер, 2003. - 800 с.

13. Малыхина М.П. Базы данных: основы, проектирование, внедрение. - СПб .: БХВ-Петербург, 2004. - 512 с.

14. Роб П., Коронел К. Системы баз данных: проектирование, реализация и управление. - СПб .: БХВ-Петербург, 2004. - 1040 с.

Загрузка...