Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Шнырев Базы данных 2011

.pdf
Скачиваний:
113
Добавлен:
16.08.2013
Размер:
26.46 Mб
Скачать

чом этого отношения является набор всех его атрибутов. Поэтому данное отношение удовлетворяет определению четвертой нормальной формы.

Рис. 2.17. Декомпозиция исходного отношения

Если исходное отношение R1 удовлетворяет зависимости проекции соединения (Преподаватель, Кафедра, Предмет), то оно не находится в пятой нормальной форме, поскольку наличие зависимости проекции-соединения определяется наборами атрибутов, не являющихся возможными ключами.

51

Рис. 2.18. Соединение отношений R3 и R4

Произведем декомпозицию этого отношения в три новых отношения таким образом, как это показано на рис. 2.17. Отношения R2, R3 и R4 находятся в пятой нормальной форме, что можно проверить, получив все попарные соединения (R2, R3), (R2, R4) и (R3, R4) так, как это показано на рис. 2.18.

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

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

2.Удаляются транзитивные зависимости неключевых атрибутов от атрибутов первичного ключа.

52

3. Удаляются зависимости атрибутов составных ключей от неключевых атрибутов.

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

Контрольные вопросы

1.Что называется отношением?

2.Что такое реляционная модель данных?

3.Перечислите теоретико-множественные и специальные операции реляционной алгебры.

4.Дайте определения операций объединения, пересечения и разности отношений.

5.Дайте определение операции расширенного декартова произведения.

6.Что называется схемой отношения? В каком случае отношения имеют эквивалентные схемы?

7.Что называется степенью отношения?

8.В чем заключается операция сцепления кортежей двух отношений?

9.Дайте определения операций выборки, проектирования, соединения и деления отношений.

10.В каких случаях, как правило, применяется операция деления отношений?

11.Перечислите дополнительные операции реляционной алгебры Дейта.

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

13.Какие операции реляционной алгебры называются унарными, а какие – бинарными?

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

53

15.Какие объекты в реляционной алгебре называются домена-

ми?

16.Что такое полное декартово произведение?

17.Какие условия должны быть выполнены для того, чтобы двумерная таблица могла быть интерпретирована как отношение?

18.Что называется первичным ключом отношения? Какие ключи являются простыми, а какие – составными?

19.Может ли отношение не иметь первичного ключа?

20.Что называется возможным ключом отношения?

21.Какие связи могут существовать между отношениями? Как называются наборы атрибутов, по которым осуществляются эти связи?

22.Что такое ссылочная целостность? В чем заключается принцип поддержания целостности?

23.В чем заключается метод нормальных форм?

24.Дайте определение функциональной зависимости атрибутов отношения.

25.Какие зависимости называются полными, а какие – непол-

ными?

26.Какие функциональные зависимости называются транзитивными и многозначными?

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

28.Сформулируйте теорему Фейджина.

29.Дайте определение зависимости проекции-соединения.

30.Сформулируйте алгоритм нормализации отношений.

54

3. ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ

3.1. Концептуальное моделирование

Концептуальное проектирование является вторым этапом проектирования БД, который следует непосредственно после анализа предметной области. Эта стадия заключается в формализованном описании предметной области, которое должно быть таким, чтобы, с одной стороны, можно было проанализировать корректность схемы разрабатываемого проекта БД, а с другой стороны, оно не было привязано к конкретной СУБД, выбор которой будет произведен позднее. Такое формализованное описание предметной обла-

стью будем называть концептуальной моделью БД.

Основными свойствами, которым должна удовлетворять концептуальная модель БД, являются прежде всего следующие.

1.Предметная область должна быть описана адекватно и непротиворечиво.

2.Все возможные пользователи должны трактовать эту модель однозначно и легко ее воспринимать.

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

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

Первым шагом при разработке концептуальной модели БД является описание объектов предметной области и связей между ними. Концептуальное моделирование направлено на отображение семантики (то есть смысла) предметной области на модель БД. На ранних этапах развития теории БД было предложено несколько семантических моделей. Все эти модели имели свои преимущества

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

55

или ER-моделей (Entity-Relationship Model). Рассмотрим этот метод более подробно (рис. 3.1).

Рис. 3.1. Основные понятия модели “сущность-связь”

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

56

Зависимость между сущностями определяет связь между ними. Связи делятся на три типа по степени связи сущностей: один-к- одному (1:1), один-ко-многим (или многие-к-одному) (1:М, М:1), многие-ко-многим (М:М). В общем случае между двумя сущностями может быть задано произвольное количество связей с различными смысловыми нагрузками. Класс принадлежности сущности может быть обязательным (О), когда в связи должен участвовать каждый экземпляр сущности, и необязательным (Н), когда не все экземпляры сущности должны участвовать в связи. Связь может быть обязательной со стороны одной сущности и необязательной со стороны другой. На практике степень связи и класс ее принадлежности всегда определяются, исходя из анализа предметной области.

В ER-моделях поддерживается принцип категоризации сущностей. Вводятся понятия супертипа и подтипа. Сущность, на основе которой строятся подтипы, называется супертипом и может быть представлена в виде двух или более своих подтипов – сущностей, каждая из которых имеет как общие свойства, которые могут наследоваться, так и уникальный для данного подтипа набор свойств. Любой экземпляр супертипа должен относиться к конкретному подтипу.

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

(рис. 3.2) и ER-диаграмм. Представленная в виде таких диаграмм модель БД называется ER-моделью.

Таким образом, ER-модель является графическим описанием предметной области в терминах “сущность-свойство-связь” и представляет собой один из наиболее важных элементов концептуальной модели БД. Использование ER-моделирования прежде всего является удобным средством документирования проектируемой БД, не привязанным к какой-либо конкретной СУБД, что важно, поскольку, с одной стороны, выбор СУБД может быть произведен на более поздних этапах, а с другой стороны, при необходимости выбора другой СУБД не нужно заново проектировать модель БД.

57

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

Некоторые примеры, относящиеся к одной нотации, приведены на рис. 3.2 – 3.5. На рис. 3.6 приведены примеры изображения связей для различных нотаций.

Рис. 3.2. Диаграммы ER-экземпляров и ER-типов для случая связи 1:1 с обязательными классами принадлежности обеих сущностей

58

Рис. 3.3. Диаграммы ER-экземпляров и ER-типов для случая связи 1:1 с необязательным классом принадлежности одной из сущностей

Рис. 3.4. Диаграммы ER-экземпляров и ER-типов для случая связи 1:М с необязательными классами принадлежности обеих сущностей

59

Рис. 3.5. Диаграммы ER-экземпляров и ER-типов для случая связи М:М с необязательным классом принадлежности первой сущности

Рис. 3.6. Примеры изображения связей между сущностями в различных нотациях

60