
- •Т.Е.Ильиных л.И.Шустова проектирование реляционных баз данных в нотациях idef1x
- •Содержание
- •Этапы проектирования базы данных
- •Инфологическое проектирование базы данных
- •Общие сведения
- •Описание бизнес компонентов и бизнес процессов
- •Сущность
- •Атрибут
- •Другие компоненты инфологической модели
- •Уровни представления данных
- •Этапы инфологического проектирования Инициирование проекта (фаза 0)
- •Определение сущностей (фаза 1)
- •Построение модели уровня сущностей (фаза 2)
- •Построение модели уровня ключей (фаза 3)
- •Построение полноатрибутной модели (фаза 4)
- •Нормализация данных
- •Даталогическое проектирование базы данных
- •Создание даталогической модели Общие сведения
- •Получение спецификаций внутренней схемы базы данных
- •Ограничения целостности
- •Результаты этапа даталогического проектирования
- •Имя таблицы
- •Основы нормализации отношений Общие сведения
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Нормальная форма Бойса – Кодда
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •Денормализация
- •Примеры проектирования баз данных различных бизнес приложений
- •Общие замечания
- •Проектирование базы данных "Школа" Постановка задачи
- •Инициирование проекта (фаза 0)
- •Определение множеств сущностей (фаза 1) Выделение множеств сущностей
- •Описание множеств сущностей
- •Пул сущностей
- •Построение модели уровня сущностей (фаза 2)
- •Концептуальная схема уровня сущностей
- •Построение модели уровня ключей (фаза 3) Разрешение неопределенных связей
- •Пул сущностей
- •Определение связей
- •Определение ключевых атрибутов и доменов
- •Изучаемый предмет/e5
- •Описание доменов
- •Описание атрибутов
- •Концептуальная схема
- •Построение полноатрибутной модели (фаза 4)
- •Описание доменов
- •Описание атрибутов
- •Явные ограничения целостности
- •Даталогическая модель
- •Проектирование базы данных "Обмен валюты" Постановка задачи
- •Инициирование проекта (фаза 0)
- •Определение множеств сущностей (фаза 1) Выделение множеств сущностей
- •Описание множеств сущностей
- •Пул сущностей
- •Фаза 2. Построение модели уровня сущностей Матрица связей
- •Матрица связей
- •Описание связей
- •Описание связей
- •Концептуальная схема уровня сущностей
- •Построение модели уровня ключей (фаза 3) Разрешение неопределенных связей
- •Пул сущностей
- •Определение связей
- •Определение ключевых атрибутов и доменов
- •Описание доменов
- •Описание атрибутов
- •Концептуальная схема
- •Построение полноатрибутной модели (фаза 4)
- •Описание доменов
- •Описание атрибутов
- •Явные ограничения целостности
- •Даталогическая модель
- •Проектирование базы данных "Торговля" Постановка задачи
- •Инициирование проекта (фаза 0)
- •Определение множеств сущностей (фаза 1) Выделение множеств сущностей
- •Описание множеств сущностей
- •Пул сущностей
- •Построение модели уровня сущностей (фаза 2)
- •Концептуальная схема уровня сущностей
- •Построение модели уровня ключей (фаза 3) Разрешение неопределенных связей
- •Пул сущностей
- •Описание связей
- •Определение ключевых атрибутов и доменов
- •Товар в списке цен/e5
- •Описание доменов
- •Описание атрибутов
- •Концептуальная схема
- •Построение полноатрибутной модели (фаза 4)
- •Описание доменов
- •Описание атрибутов
- •Явные ограничения целостности
- •Даталогическая модель
- •Список литературы
- •115409, Москва, Каширское ш., 31
Определение связей
Номер связи |
Номер 1-й сущности |
Номер 2-й сущности |
Имя связи |
Тип связи |
Мощность связи |
Описание связи |
R1 |
E2 родительская |
E1 дочерняя |
Состоит из |
обязат.не идентиф. опред. |
P |
Каждый класс состоит из одного или более учеников. Каждый ученик включен в один и только один класс |
R2 |
E3 родительская |
E2 дочерняя |
Является классным руководителем |
необяз. неидентиф. опред.
|
Z |
Каждый учитель может являться классным руководителем только одного класса или не является классным руководителем ни одного класса. Каждый класс может иметь только одного или ни одного учителя – классного руководителя |
Продолжение табл. 4.5
Номер связи |
Номер 1-й сущности |
Номер 2-й сущности |
Имя связи |
Тип связи |
Мощность связи |
Описание связи |
R3 |
E2 родительская |
E5 дочерняя |
Изучает |
идент. опред. |
P |
Каждый класс изучает один или более изучаемых предметов. Каждый изучаемый предмет изучается только одним классом |
R4 |
E3 родительская |
E6 дочерняя |
Преподает |
идент. опред. |
P |
Каждый учитель преподает один или более преподаваемых предметов. Каждый преподаваемый предмет может преподаваться только одним учителем |
R5 |
E4 родительская |
E5 дочерняя |
Является |
идент. опред. |
B |
Каждый предмет может являться одним или более изучаемым предметом или не являться ни одним изучаемым предметом. Каждый изучаемый предмет является только одним предметом |
R6 |
E4 родительская |
E6 дочерняя |
Является |
идент. опред. |
B |
Каждый предмет может являться одним или более преподаваемым предметом или не являться ни одним преподаваемым предметом. Каждый преподаваемый предмет является только одним предметом |
Определение ключевых атрибутов и доменов
Определение ключевых атрибутов осуществляется одновременно с определением доменов, на которых определяются эти атрибуты. Сначала из анализа задачи для каждого множества сущностей выделяются ключи (простые или составные), позволяющие идентифицировать экземпляры сущностей. В случае, если ключей несколько, один выбирается в качестве первичного ключа, а остальные определяются как альтернативные. Связи между множествами сущностей представляются с помощью внешних ключей. Таким образом, определяются все ключи. Для каждого атрибута определяется домен.
В рассматриваемом примере для выделенных сущностей можно предложить следующие ключи и домены:
УЧИТЕЛЬ/E3
Первичный ключ: в качестве первичного ключа удобно выделить некоторый искусственный атрибут – ЛИЧНЫЙ НОМЕР (КОД) УЧИТЕЛЯ. Значения атрибута – целые положительные числа (порядковый номер). Следовательно, атрибут ЛИЧНЫЙ НОМЕР УЧИТЕЛЯ будет определен на домене НОМЕР.
Альтернативный ключ: составной ключ, состоящий из трех атрибутов – ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО учителя (вряд ли в школе будут работать учителя – полные тезки). Значениями каждого атрибута являются строки символов определенной длины; соответственно, данные атрибуты будут определены на одном домене – ИМЯ.
КЛАСС/E2
Первичный ключ: в соответствии с обычной практикой классы в школе идентифицируются по принципу: год обучения и буква, если есть несколько классов одного года обучения, например: 1А; 6А, 6Б и так далее. Поэтому целесообразно определить составной первичный ключ из двух атрибутов – ГОД ОБУЧЕНИЯ и ГРУППА; первый атрибут определен на домене НОМЕР, второй – на домене БУКВА.
Внешний ключ: так как данное множество сущностей связано с множеством сущностей УЧИТЕЛЬ/E3, эта связь приводит к появлению атрибута внешнего ключа – ЛИЧНЫЙ НОМЕР УЧИТЕЛЯ; атрибут определен на домене НОМЕР.
УЧЕНИК/E1
Первичный ключ: как и для множества сущностей E3, здесь удобно взять в качестве первичного ключа искусственный атрибут – ЛИЧНЫЙ НОМЕР (КОД) УЧЕНИКА; атрибут определен на домене НОМЕР.
Альтернативный ключ: составной ключ, состоящий из трех атрибутов – ФАМИЛИЯ и ИМЯ ученика, ДАТА РОЖДЕНИЯ. В школе могут быть ученики с одинаковыми именам и фамилиями, поэтому двух атрибутов для задания альтернативного ключа недостаточно. Если есть сомнения, что и приведенные три атрибута не смогут отличать разные экземпляры сущностей, следует отказаться от задания альтернативного ключа. ФАМИЛИЯ и ИМЯ – строки символов определенной длины. Соответственно, данные атрибуты будут определены на одном домене – ИМЯ. ДАТА РОЖДЕНИЯ – дата в общепринятом виде (день/месяц/год); атрибут определен на домене ДАТА.
Внешний ключ: так как данное множество сущностей связано с множеством сущностей КЛАСС/E2, эта связь приводит к появлению атрибутов внешнего ключа – ГОД ОБУЧЕНИЯ и ГРУППА; первый атрибут определен на домене НОМЕР, второй – на домене БУКВА.
ПРЕДМЕТ/E4
Первичный ключ: можно рассмотреть два ключа – КОД ПРЕДМЕТА и НАЗВАНИЕ. Возьмем в качестве первичного ключа атрибут КОД ПРЕДМЕТА. Значениями атрибута также являются натуральные числа (порядковый номер в перечислении предметов), поэтому данный атрибут будет определен на домене НОМЕР.
Альтернативный ключ: оставшийся атрибут – НАЗВАНИЕ предмета, значения которого представляются строками символов определенной длины. Семантика данного атрибута отлична от семантики рассмотренных выше атрибутов, также представляемых строками. Поэтому для данного атрибута введем новый домен – НАЗВАНИЕ.