
- •Базы данных
- •Лекция 1 Введение. Основы теории баз данных.
- •Цели и задачи дисциплины
- •Требования, предъявляемые к изучению дисциплины
- •Концепция систем баз данных
- •Лекция 2 Введение в банки и базы данных.
- •Введение бд и системы бд
- •Введение в Банки данных (БнД)
- •Причины создания БнД
- •Требования предъявляемые к БнД или бд
- •Компоненты банка данных (БнД)
- •5.Организационно-методические средства.
- •6. Пользователи бд
- •Классификация баз и банков данных, виды моделей данных Типология базы данных
- •Модели данных
- •Инфологическая модель
- •Лекция 4 Этапы проектирования бд
- •Лекция 5 Модели и структуры данных
- •Структуры.
- •Абстракция
- •Множества
- •Операции над множествами
- •Лекция 6 Многоуровневые модели предметной области
- •Трехуровневая архитектура субд
- •Лекция 7 Структуры данных
- •Линейные структуры
- •Нелинейные структуры
- •Лекция 8 Типы моделей данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Лекция 9 Системы управления базами данных
- •Лекция 10 Основные понятия реляционной модели данных
- •Атрибуты
- •Условия и ограничения, накладываемые на отношение реляционной модели данных
- •Достоинства и недостатки реляционных моделей
- •Основы реляционной алгебры Свойства отношений
- •Операции над отношениями.
- •Пересечение.
- •Вычитание (разность).
- •Декартово произведение.
- •5. Выборка (ограничение, селекция).
- •Соединение
- •1. Общая операция соединения.
- •2. Тэта-соединение.
- •Деление.
- •Примеры использования реляционных операторов.
- •Лекция 12 Нормализация отношений
- •Типы функциональных зависимостей.
- •Нормальные формы
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф)
- •Усиленная 3нф Нормальная форма Бойса-Кодда (нфбк).
- •Четвертая нормальная форма (4нф)
- •Пятая нормальная форма (5нф)
- •Лекция 13 Инфологическое проектирование
- •Лекция 14 Даталогиечекское проектирование Общие сведения о даталогическом проектировании
- •Особенности даталогической модели
- •Лекция 15 Проектирование рбд с использованием er-технологий Сущности и связи
- •Построение er-диаграммы по
- •Характеристика связей
- •Лекция 16 Получение отношений из диаграммы er-типа
- •1. Предварительные отношения бинарных связей 1:1
- •2. Предварительные отношения бинарных связей 1:n
- •3. Предварительные отношения бинарных связей n:m
- •Лекция 17 Ограничение целостности
- •Целостность реляционных данных
-
Деление.
Пусть даны два отношения R1(R11, R12,…,R1n, R21, R22,…,R2m) и R2 (R21, R22,…,R2m), причем атрибуты R21, R22,…,R2m – общие для двух отношений. Делением отношений R1и R2 называется отношение с заголовком R11, R12,…,R1n и телом, содержащим множество кортежей (r11, r12,…,r1n), таких, что для всех кортежей (r21, r22,…,r2m)R2 в отношении R1 найдется кортеж (r11, r12,…,r1n, r21, r22,…,r2m).
Отношение R1 является делимым, отношение R2 – делителем. Деление отношений аналогично делению чисел с остатком. Синтаксис операции деления:
R1 divideby R2
Пример 11. рассмотрим запрос, связанный с выяснением информации, касающейся «Кто из студентов сдал все экзамены?»
В качестве делимого выбирается проекция x = R3 [личный номер, код дисциплины], которая содержит личный номер студента и код сданной им дисциплины.
Таблица 21. Проекция x = R3 [личный номер, код дисциплины]
-
Личный номер
Код дисциплины
11
1
11
2
11
3
22
1
22
2
33
3
В качестве делителя берется проекция Y=R2[код дисциплины]; содержащая список номеров всех делителей.
Таблица 22. Отношение Y=R2[код дисциплины]
-
Код дисциплины
1
2
3
Деление X divideby Y дает список номеров студентов, которые сдали все экзамены
Таблица 23. Отношение X divideby Y
-
Личный номер
1
Итак, как отказалось, что только один студент с личным номером 1 сдал все экзамены.
Примеры использования реляционных операторов.
Пример.1. Получить фамилии студентов, сдавших дисциплину с кодом 3.
Решение.
((R3 join R1) where Код_дисциплины = 3) [Фамилия_студента]
Пример 2. Получить фамилии студентов, сдавших философию.
Решение.
(((R2 where название_дисциплины = философия) join R3) join R1)[Фамилия_студента]
Пример 3. Получить фамилии студентов, сдавших все дисциплины.
Решение:
((R3 [личный_номер, код_дисциплины] divideby R2 [код_дисицплины] join R1) [Фамилия_студента]
Лекция 12 Нормализация отношений
Отношения реляционной БД содержат как структурную, так и семантическую (смысловую) информацию. Структурная информация задается схемой отношения, а семантическая выражается функциональными связями между атрибутами, известными и учитываемыми в схеме. Состав атрибутов отношений БД должен удовлетворять двум основным требованиям:
-
между атрибутами не должно быть нежелательных функциональных зависимостей;
-
группировка атрибутов должна обеспечить минимальное дублирование данных, их обработку и обновление без трудностей.
Удовлетворение этих трудностей достигается нормализацией отношений БД.
Нормализация отношений – это пошаговый обратимый процесс декомпозиции (разложения) исходных отношений БД на другие более мелкие и простые. При этом устанавливаются все возможные функциональные зависимости.
Аппарат нормализации был разработан Коддом. В нем определяются различные нормальные формы. Каждая нормальная форма ограничивает типы допустимых функциональных зависимостей.
Кодд выделил три нормальные формы – 1НФ, 2НФ, 3НФ. Самая совершенная из них:3НФ. Но на сегодняшний день их уже существует пять: 1НФ, 2НФ, 3НФ, 4НФ, 5НФ.