
- •Оглавление
- •Раздел 4. Проектирование реляционных баз данных. 113
- •Раздел 5. Определение структур данных и обслуживание баз данных. 114
- •Введение
- •Раздел 1. Основы теории баз данных Тема 1: Базы данных и информационные системы. Основные понятия.
- •Понятия базы данных и информационные системы.
- •Архитектура информационной системы.
- •Понятия базы данных и информационные системы.
- •Архитектура информационной системы.
- •Тема 2: Банки данных. Системы управления базами данных.
- •Банки данных. Основные компоненты системы.
- •Классификация субд.
- •Банки данных. Основные компоненты системы.
- •Классификация субд.
- •Раздел 2. Реляционная алгебра Тема1: Реляционная алгебра. Классические операции теории множеств.
- •Тема 2: Специальные операции теории множеств.
- •Раздел 3. Модели данных. Тема 1: Классические модели данных.
- •Сетевая модель представления данных.
- •Реляционная модель представления данных.
- •Элементы реляционной модели
- •Тема 2: Связывание таблиц. Целостность связей.
- •Основные виды связи таблиц.
- •Контроль целостности связей.
- •Характеристика видов связей
- •Раздел 4. Проектирование реляционных баз данных. Тема 1: Основные принципы проектирования баз данных.
- •2. Избыточное дублирование данных и аномалии
- •3. Формирование исходного отношения.
- •Тема 2: Метод нормальных форм
- •2. Выявление зависимостей между атрибутами
- •3. Нормальные формы
- •Тема 3: Метод сущность-связь. Этапы проектирования.
- •2.Этапы проектирования
- •3.Пример проектирования бд учебной части.
- •Тема 4: Правила формирования отношений.
- •2. Формирование отношений для связи 1:м
- •3. Формирование отношений для связи м:м
- •Раздел 5. Определение структур данных и обслуживание баз данных. Тема 1: Среда sql*Plus.
- •Функции.
- •2. Основные типы данных
- •3. Арифметические выражения
- •4. Операторы сравнения
- •5. Обработка неопределенных значений
- •6. Функции
- •7. Форматные модели
- •Тема 2: Структуры данных. Создание таблиц.
- •Создание таблиц.
- •3. Создание таблиц
- •Тема 3: Изменение таблиц и ограничений
- •Добавление и изменение столбца.
- •Изменение ограничений.
- •Удаление таблицы. Изменение имени таблицы и добавление комментариев.
- •Тема 4: Операции с ограничениями.
- •Тема 5: Манипулирование данными.
- •1. Вставка новых строк в таблицу
- •2. Копирование строк из другой таблицы
- •3. Обновление строк в таблице
- •4. Удаление строк из таблицы
- •Тема 6: Команда запроса данных. Простой запрос.
- •Тема 7: Сложные запросы.
- •Использование функций для работы с датами при организации запроса.
- •Тема 8: Группировка строк в запросе
- •2. Группы внутри групп.
- •3. Предложение having.
- •Тема 9: Подзапросы.
- •Подзапрос. Его назначение и синтаксис.
- •Однострочные и многострочные подзапросы.
- •Подзапрос. Его назначение и синтаксис.
- •2.Однострочные и многострочные подзапросы.
- •Тема 10: Выборка данных из нескольких таблиц.
- •2. Псевдонимы таблиц.
- •3. Дополнительные условия поиска.
- •4. Внешние соединения.
- •Select таблица.Столбец, таблица.Столбец
- •Тема 11: Создание, изменение и удаление последовательностей.
- •Создание последовательности.
- •2. Изменение и удаление последовательности.
- •3. Генерация значений последовательности.
- •Тема 12: Создание, изменение и удаление представлений.
- •Представления. Создание представлений.
- •Изменение и удаление представлений.
- •Представления. Создание представлений.
- •Изменение и удаление представлений.
- •Тема 13: «Индексы»
- •Понятие индекса. Необходимость использования.
- •Создание и удаление индексов.
- •1. Понятие индекса. Необходимость использования.
- •2. Создание и удаление индексов.
- •Тема 14: «Создание отчетов»
- •2. Форматирование number колонок.
- •3. Оформление Отчета пробелами и итоговыми строками.
- •4. Вычисление итоговых строк при изменении значения колонки.
- •5. Определение заголовков.
- •6. Установка размеров страницы
- •7. Сохранение и Печать Результатов Запроса
- •Тема 15: Управление транзакциями
- •Практикум Раздел 3. Реляционная алгебра.
- •Раздел 4. Проектирование реляционных баз данных.
- •Раздел 5. Определение структур данных и обслуживание баз данных.
- •Библиографический список
Тема 4: Правила формирования отношений.
Формирование отношений для связи 1:1
Формирование отношений для связи 1:М
Формирование отношений для связи М:М
Правила формирования отношений основываются на учете следующего:
степени связи между сущностями (1:1, 1:М, М:М);
класса принадлежности экземпляров сущностей (обязательный и необязательный)
1. Формирование отношений для связи 1:1
Правило 1. Если степень бинарной связи 1:1 и класс принадлежности обеих сущностей обязательный, то формулируется одно отношение. Первым ключом этого отношения может быть ключ любой из двух сущностей.
На рисунке 1 приведены диаграмма ER – типа и отношение, сформированное по правилу 1 на ее основе.
Рис.1.Диаграмма ER – типа и отношение, сформированное по правилу 1
Правило 2. Если степень связи 1:1 и класс принадлежности одной сущности обязательный, а второй – необязательный, то под каждую из сущностей формируется по отношению с первичными ключами, являющимися ключами соответствующих сущностей. Далее к отношению, сущность которого имеет обязательный КП, добавляется в качестве атрибута ключ сущности с необязательным КП.
ПРЕПОДАВАТЕЛЬ-ДИСЦИПЛИНА
НП |
ФИО |
Стаж |
КД |
ЧАСЫ |
П1 |
Иванов И.М. |
5 |
К1 |
62 |
П2 |
Петров М.И. |
7 |
К2 |
74 |
П3 |
Сидоров Н.Г. |
10 |
К3 |
102 |
- - - |
- - - |
- - - |
К4 |
80 |
Рис. 2. Отношение Преподаватель-Дисциплина
Избежать этой ситуации можно, применив правило 2, в соответствии с которым, выделяются два отношения, приведенные на рисунке.
ПРЕПОДАВАТЕЛЬ (НП, ФИО, СТАЖ, КД)
ДИСЦИПЛИНА (КД, Часы)
ПРЕПОДАВАТЕЛЬ ДИСЦИПЛИНА
НП |
ФИО |
Стаж |
КД |
|
КД |
Часы |
П1 |
Иванов И.М. |
5 |
К1 |
|
К1 |
62 |
П2 |
Петров М.И. |
7 |
К2 |
|
К2 |
74 |
П3 |
Сидоров Н.Г. |
10 |
К3 |
|
К3 |
102 |
П4 |
Егоров В.М. |
5 |
К4 |
|
К4 |
80 |
Рис. 3 Варианты отношений для правила 2
Правило 3. Если степень связи 1:1 и класс принадлежности обеих сущностей является необязательным, то необходимо использовать три отношения. Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отношение является связным между первыми двумя, поэтому его ключ объединяет ключевые атрибуты связываемых отношений.
На рис. 3 приведены примеры отношений, подтверждающие необходимость использования трех отношений при наличии необязательного КП для обеих связываемых сущностей.
а) одно отношение
ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНА
НП
|
ФИО
|
Стаж
|
кд
|
Часы
|
П1
|
Иванов
|
5
|
К1
|
62
|
П2
|
Петров
|
7
|
---
|
---
|
ПЗ
|
Сидоров
|
10
|
К2
|
74
|
---
|
---
|
---
|
КЗ
|
102
|
б) два отношения
ПРЕПОДАВАТЕЛЬ ДИСЦИПЛИНА
НП
|
ФИО
|
Стаж
|
КД
|
|
КД
|
Часы
|
НП
|
П1
|
Иванов
|
5
|
К1
|
К1
|
62
|
П1
|
|
П2
|
Петров
|
7
|
---
|
К2
|
74
|
ПЗ
|
|
ПЗ
|
Сидоров
|
10
|
К2
|
КЗ
|
102
|
---
|
в) три отношения
ПРЕПОДАВАТЕЛЬ ВЕДЕТ ДИСЦИПЛИНА
НП
|
ФИО
|
Стаж
|
|
НП
|
КД
|
|
КД
|
Часы
|
П1
|
Иванов
|
5
|
П1
|
К1
|
К1
|
62
|
||
П2
|
Петров
|
7
|
ПЗ
|
К2
|
К2
|
74
|
||
ПЗ
|
Сидоров
|
10
|
|
КЗ
|
102
|
Рис. 4. Варианты отношений для правила 3