Главная | Обратная связь
МегаЛекции

Связи более высокого порядка

ЗАДАНИЕ

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- 2017 megalektsii.ru Права всех материалов защищены законодательством РФ.