
- •Сикха Багуи и Ричард Ирп
- •Контрольные вопросы 1.1
- •Модели данных
- •Иерархическая Модель
- •Сетевая модель
- •Реляционная модель
- •Контрольные вопросы 1.2
- •Функциональные зависимости
- •Правило декомпозиции (разложения)
- •Правило объединения
- •Контрольные вопросы 1.3
- •Краткий обзор метода нормальных форм
- •Примеры 1нф, 2нф и 3нф
- •Упражнение 1.3
- •Глава 2: Базовая er-диаграмма – схема
- •Некоторые определения баз данных: Сущность, Связь, Атрибут
- •Начальная Методология
- •Еще об атрибутах
- •Простые или атомарные атрибуты
- •Многозначные атрибуты
- •Производный атрибуты
- •Описание Сущности на структурном английском языке
- •Сущность
- •Атрибуты
- •Методология er-проектирования
- •Примеры
- •Сущность
- •Атрибуты
- •Методология er проектирования
- •Итоги главы
- •Упражнения Главы
- •Упражнение 2.1
- •Упражнение 2.2
- •Проработка примера
- •Сущность
- •Глава 3: После первой диаграммы сущности
- •Проверка Сущности — замена атрибута сущностью
- •Методология er-проектирования
- •Определение вторичной сущности
- •Существует ли связь?
- •Атрибут или Связь?
- •Глава 4: Расширение связей/ Структурные
- •1(Полное участие):1:
- •Глава 5: Слабая Сущность
- •Грамматика Слабой Сущности
- •Контрольные вопросы 5.3
- •Упражнения Главы 5. Упражнение 5.1
- •Список литературы
- •Сущность
- •Атрибуты для отдела
- •Сущность
- •Атрибуты для служащего
- •Глава 6: Дальнейшее Расширение
- •Сущность
- •Атрибуты
- •Более двух Сущностей
- •С указанием всех атрибутов
- •Развитие базы данных
- •Глава 7: Троичные и er-диаграммы более высокого порядка
- •Глава 8: Обобщения и специализации.
- •Глава 9: Реляционные преобразования и
- •Глава 10: Краткий обзор модели Баркера
- •Глава 10. Упражнения.
Проработка примера
В соответствии с шагом 1 при проектировании ER диаграммы, необходимо выбрать первичную сущность, и затем атрибуты для этой первичной сущности (шаг 1 показан ниже):
Шаг 1: Выбрать из описания требований к базе данных одну первичную сущность и указать атрибуты, которые будут принадлежать данной сущности
Выберем в качестве первичной сущности ТОРГОВЫЙ КОМПЛЕКС. Запишем название, адрес и название_магазинов для ТОРГОВОГО КОМПЛЕКСА.
Следующий шаг переводит диаграмму на структурный язык.
Шаг 2: Для описания базы данных использовать структурный английский язык для сущностей, атрибутов и ключей.
Сущность
Эта база данных записывает данные о ТОРГОВОМ КОМПЛЕКСЕ. Для каждого ТОРГОВОГО КОМПЛЕКСА в базе данных записываются название, адрес и название_магазинов.
Атрибуты
Каждому ТОРГОВОМУ КОМПЛЕКСУ всегда будет соответствовать одно и только одно название. Название не будет разделяться на составные части.
Каждому ТОРГОВОМУ КОМПЛЕКСУ всегда будет соответствовать один и только один адрес. Адрес не будет разделяться на составные части.
На каждый ТОРГОВЫЙ КОМПЛЕКС будут записаны названия_магазинов. Для каждого ТОРГОВОГО КОМПЛЕКСА может быть записано несколько названий_магазинов. Название_магазина не будет разделяться на составные части.
Ключи
Будем считать, что для каждо й сущности ТОРГОВЫЙ КОМПЛЕКС название торгового комплекса является уникальным.
Сущность ТОРГОВЫЙ КОМПЛЕКС изображена на Рисунке 2.9. В рамках данного учебного примера мы выбрали одну первичную сущность (ТОРГОВЫЙ КОМПЛЕКС), определили ее атрибуты и описали сущность и атрибуты с помощью структурного английского языка. Теперь преобразуем данную диаграмму сущности в реляционную базу данных.
Рисунок 2.9: Сущность ТОРГОВЫЙ КОМПЛЕКС (Mall)
Преобразование сущности в реляционную базу данных
ТОРГОВЫЙ КОМПЛЕКС - строгая сущность, поэтому используем правило преобразования M1:
M1 —для строгих сущностей: необходимо разработать новую таблицу (отношение) для каждой строгой сущности и выбрать ключ строгой сущности в качестве первичного ключа таблицы. Если в ER диаграмме указано более одного потенциального ключа, следует выбрать один из них первичным.
Разработаем новое отношение для сущности ТОРГОВЫЙ КОМПЛЕКС(как показано на Рисунке 2.9), и пусть название будет первичным ключом. Примерные данные, которые представлены Рисунком 2.9, могли бы выглядеть так:
Можно заметить, что сущность ТОРГОВЫЙ КОМПЛЕКС обладает одним многозначным атрибутом, названия_магазинов (store_names). Это не делает вышеуказанную таблицу реляционной, поскольку названия_магазинов не атомарный, а многозначный атрибут. Правило преобразования для многозначных атрибутов гласит:
M1c - для многозначных атрибутов: сформировать отдельную таблицу для многозначных атрибутов. Завести столбец для каждого значения многозначного атрибута вместе с ключом оригинальной таблицы. Ключом новой таблицы будет совокупность многозначного атрибута и первичного ключа родительской сущности. После этого удалить многозначный атрибут из первоначальной таблицы.
С помощью данного правила, вышеуказанные данные следует разделить на два отношения: отношение с многозначным атрибутом и отношение с исключенным многозначным атрибутом.
Отношение с многозначным атрибутом:
Отношение с исключенным многозначным атрибутом:
MALL
Наша реляционная база данных преобразуется в:
[Примечание: первичный ключ подчеркнут]
Мы продолжим рассмотрение этого примера в Главе 3.