V. Пример проектирования БД
Разберем пример.
Первый этап проектирования - выделение сущностей и связей между ними.
Сущности:
- ИЗДАНИЕ (Ключ – Код_издания),
- ВИД_ИЗДАНИЯ (Ключ – Код_вида),
- ИЗДАТЕЛЬСТВО (Ключ – Код_издательства),
- АВТОР (Ключ – Код_автора),
- ПЕРЕПЛЕТ (Ключ – Код_переплета),
- ЧИТАТЕЛЬ (Ключ – Билет),
- МЕСТО (Ключ – Код_размещения).
Связи между сущностями:
- Издание Имеет Вид_Издания (М:1, О-Н);
- Издание Издано Издательство (М:1, О-О);
- Издание Создано Автор (М:1, О-Н);
- Издание Содержит Переплет (1:М, О-О);
- Читатель БеретПереплет (М:М, Н-Н);
- Переплет НаходитсяМесто (М:М, О-Н).
Второй этап проектирования – построение диаграммы ER-типа с учетом всех сущностей и связей
между ними.
Третий этап проектирования – формирование набора предварительных отношений с указанием предполагаемого первичного ключа для каждого отношения, используя диаграммы ER-типа.
Связь ИМЕЕТ удовлетворяет условиям правила 4 (М:1, О-Н), следовательно получаем два отношения:
1. ИЗДАНИЕ (Код_издания, Код_вида, …) – добавился неключевой атрибут Код_вида.
2. ВИД_ИЗДАНИЯ (Код_вида, …).
Связь ИЗДАНОтакжеудовлетворяет условиям правила 4 (М:1, О-О), получаем два отношения:
1. ИЗДАНИЕ (Код_издания, Код_вида, Код_издательства, …) – добавился неключевой атрибут Код_издательства.
2. ИЗДАТЕЛЬСТВО (Код_издательства, …).
Связь СОЗДАНО удовлетворяет условиям правила 6 (М:М, О-Н), поэтому имеем три отношения:
1. ИЗДАНИЕ (Код_издания, Код_вида, Код_издательства, …).
2. АВТОР (Код_автора, …).
3. ИЗДАНИЕ_АВТОР (Код_издания, Код_автора, …) – третье отношение для связи первых двух.
Для связи СОДЕРЖИТв очередной раз используем правило 4 (1:М, О-О):
1. ИЗДАНИЕ (Код_издания, Код_вида, Код_издательства, …).
2. ПЕРЕПЛЕТ (Код_переплета, Код_издания, …) – добавился неключевой атрибут Код_издания.
Связь БЕРЕТ -правило 6 (М:М, Н-Н):
1. ЧИТАТЕЛЬ (Билет, …).
2. ПЕРЕПЛЕТ (Код_переплета, Код_издания, …).
3. ЧИТАТЕЛЬ_ПЕРЕПЛЕТ (Код_переплета, Билет, …) - третье отношение для связи первых двух.
Связь НАХОДИТСЯ -правило 6 (М:М, Н-О):
1. МЕСТО (Код_размещения, …).
2. ПЕРЕПЛЕТ (Код_переплета, Код_издания, …).
3. МЕСТО_ПЕРЕПЛЕТ (Код_переплета, Код_размещения, …) - третье отношение для связи первых двух.
Четвертый этап проектирования – добавление неключевых атрибутов, которые не были выбраны в качестве ключевых раньше, и назначение их одному из предварительных отношений с тем условием, чтобы отношения отвечали требованиям нормальной формы Бойса-Кодда.
1. ИЗДАНИЕ (Код_издания, Код_вида, Код_издательства, Название, Код_УДК, Том, Год, Аннотация).
2.
Если разработчик против использования составных первичных ключей, то можно ввести дополнительно новый несоставной атрибут
Дата добавления: 2015-10-13; просмотров: 1370;