Связи более высокого порядка
ЗАДАНИЕ 1. Создайте логическую реляционную модель БД из концептуальной модели (ER-диаграммы), используя правила преобразования. 2. Проверьте логическую модель на соответствие 1-3 нормальным формам последовательно и, при необходимости, произведите нормализацию.
ЧАСТЬ 1. СОЗДАНИЕ ЛОГИЧЕСКОЙ РЕЛЯЦИОННОЙ МОДЕЛИ БАЗЫ ДАННЫХ
В предыдущей работе мы получили аналитическую модель предметной области в виде концептуальной схемы. Теперь перейдём к системному анализу и проектированию базы данных. С точки зрения теории реляционных баз данных, существуют следующие понятия. Основные элементы реляционной модели
Отношение — плоская таблица, состоящая из столбцов и строк. Атрибут — поименованный столбец отношения. Домен — набор допустимых значений для одного или нескольких атрибутов. Кортеж — строка отношения. Ключи Первичный ключ – минимальный набор атрибутов, однозначно определяющий каждую строку таблицы. Составной ключ – ключ, который содержит два или более атрибута. Внешний ключ – набор атрибутов одной таблицы, являющейся ключом другой таблицы, который используется для установления логических связей между таблицами. Правила преобразования ER-диаграммы в логическую модель
Бинарная связь «один – к – одному» Правило 1: если степень бинарной связи 1:1 и класс принадлежности обеих сущностей обязательный, то строится только одно отношение, ключом которого может быть ключ любой из сущности.
Преподаватель ( таб.номер ) читает только одну дисциплину, дисциплина ( код дисциплины ) читается только одним преподавателем.
Отношение: Преподаватель ( таб.номер, ФИО,…, код дисциплины, наименование…)
или Отношение: Дисциплина ( код дисциплины, наименование,…таб.номер, ФИО,…)
Бинарная связь «один – ко – многим» Правило 2: Если степень связи между сущностями 1:М или М:1 и класс принадлежности М-связной сущности обязательный, то формируются отношения на каждую из сущностей. Первичными ключами отношений являются ключи их сущностей, ключ 1-связной сущности добавляется как атрибут в отношение М-связной сущности.
Преподаватель ( таб.номер ) читает или не читает много дисциплин, дисциплина ( код дисциплины ) читается только этим преподавателями.
Отношение 1: Преподаватель (таб.номер, ФИО, адрес, кафедра…) Отношение 2: Дисциплина (код дисциплины, наименование,…, таб.номер)
Бинарная связь «многие – ко – многим» Правило 3: Если степень связи М:N, то не зависимо от класса принадлежности сущностей формируются три отношения. Два на каждую из сущностей и их ключи являются первичными ключами этих отношений. Третье отношение является связующим, а его ключ объединяет ключевые атрибуты связываемых отношений.
Преподаватель ( таб.номер ) читает или не читает много дисциплин, дисциплина ( код дисциплины ) читается или не читается многими преподавателями.
Отношение 1: Преподаватель ( таб.номер, ФИО, адрес, кафедра…) Отношение 2: Дисциплина ( код дисциплины, наименование…) Отношение 3: Читает (таб.номер, код дисциплины,…)
Связи более высокого порядка Правило 4: Если степень связи n-арная, то независимо от класса принадлежности сущностей строится n+1 отношение. Формируются отношения для каждой из сущности и их ключи являются первичными ключами этих отношений. И отношение одно является связующим и среди своих атрибутов содержит ключи всех сущностей.
Отношение 1: Материал (шифр материала, наименование…)
Отношение 2: Поставщик (код поставщика, название…) Отношение 3: Потребитель ( код потребителя, название…) Отношение 4: Поставка (№ поставки, код поставщика, шифр материала, код потребителя…)
Рассмотрим примеры применения таких правил.
I. 1.Студент (Код_С, Ф.И.О, Год рождения, Адрес, Телефон) 2. Преподаватель (Код_П, Ф.И.О, Год рождения, Адрес, Телефон) 3. Преподаватели студентов (Код_С, Код_П)
II. 1. Преподаватель (Код_П, Ф.И.О, Год рождения, Адрес, Телефон) 2. Предмет (Код_ПР, Название, Всего часов, Лекции, Практические занятия) 3. Предметы преподавателей (Код_П, Код_ПР)
III. 1. Студент (Код_С, Ф.И.О, Год рождения, Адрес, Телефон) 2. Преподаватель (Код_П, Ф.И.О, Год рождения, Адрес, Телефон) 3. Предмет (Код_ПР, Название, Всего часов, Лекции, Практические занятия) 4. Успеваемость (Код_С, Код_П, Код_ПР, Форма зачета, Дата сдачи, Оценка)
ОТВЕТ: 1. Студент (Код_С, Ф.И.О, Год рождения, Адрес, Телефон) 2. Преподаватель (Код_П, Ф.И.О, Год рождения, Адрес, Телефон) 3. Предмет (Код_ПР, Название, Всего часов, Лекции, Практические занятия) 4. Успеваемость (Код_С, Код_П, Код_ПР, Форма зачета, Дата сдачи, Оценка)
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|