- •Одно из применений связи «один ко многим»- использование справочников
- •Таблица находится в 3НФ, но имеется избыточность: многократно повторяются одни и те же
- •Вводим в БД таблицы- справочники «Города» и «Собственность»:
- •Справочник «Собственность»
- •Исходная таблица примет вид:
- •Таблицы- справочники:
- •Связь «Многие ко многим»
- •Реализация связей для примера
- •Таблица «препараты»
- •Таблица « Поступление лекарств»
- •Связи таблиц (схема данных)
- •ССЫЛОЧНАЯ
- •Требование ссылочной целостности
- •Для наших примеров:
- •Средства поддержания ссылочной
- •Каскадное обновление связанных полей
- •Код аптеки
- •Каскадное удаление связанных записей
- •Например, закрылась аптека по ул.Артема 53
- •Языковые средства СУБД
- •К языковым средствам СУБД относятся:
- •Язык описания данных (ЯОД)
- •Язык манипулирования данными
- •Язык запросов
- •Языки запросов
- •Конечная цель пользователя- выборка необходимой информации из БД для последующей обработки. Эта цель
- •Операции реляционной алгебры
- •Множество операций, предложенное Э.Коддом, избыточно, часть операций в нем выражается через другие
- •Теоретико-множественные операции
- •Пример объединения отношений
- •Пересечением двух отношений называется отношение, которое содержит множество кортежей, принадлежащих одновременно и первому,
- •Пример пересечения отношений
- •R4- студенты, изучающие английский язык и получающие стипендию
- •Разностью отношений R1 и R2называется отношение, которое содержит множество кортежей, принадлежащих R1 и
- •Примеры разности отношений
- •Примеры построения запросов с использованием указанных операций
- •Абитуриенты, не поступившие в университет:
- •Назовем
- •Расширенным декартовым произведением отношения R1 степени n со схемой
- •Самостоятельного значения результат выполнения этой операции в базах данных обычно не имеет. Используется
- •R7- Таблица «Факультеты»
- •R8- Таблица «Кафедры»
- •Специальные операции реляционной алгебры
- •Селекция (фильтрация)
- •Операция удаляет из таблицы строки, для которых не выполняется условие α.
- •Проекция
- •Например,
- •Э.Кодд в 1985 году сформулировал 12 правил, которым должна соответствовать любая реляционная СУБД
- •1. Явное представление данных (The Information Rule):
- •2. Гарантированный доступ к данным
- •3. Полная обработка неизвестных значений (Systematic Treatment of Null Values):
- •4. Доступ к словарю данных в терминах реляционной модели (Active On-Line Catalog Based
- •5. Полнота подмножества языка (Comprehensive Data Sublanguage Rule):
- •6. Возможность модификации представлений (View Updating Rule):
- •7. Наличие высокоуровневых операций управления данными (High-Level Insert, Update, and Delete):
- •8. Физическая независимость данных (Physical Data Independence):
- •9. Логическая независимость данных (Logical Data Independence):
- •10. Независимость контроля целостности
- •11. Дистрибутивная независимость
- •12. Согласование языковых уровней (The Nonsubversion Rule):
- •Ограничения целостности
- •Целостность сущностей.
- •Целостность ссылок
Пример объединения отношений
R1- студенты группы КЭМ02а
ФИО |
Дата рождения |
Андреенко В.Д. |
10.10.85 |
Баранова И.Р. |
12.09.85 |
….. |
….. |
R2- студенты группы КЭМ02б
ФИО |
Дата рождения |
|
Антонова Л.Д. |
03.11.85 |
|
Бобров Н.Р. |
02.04.85 |
|
….. |
….. |
31 |
|
|
R3=R1 U R2 - студенты потока КЭМ02
ФИО |
Дата рождения |
Андреенко В.Д. |
10.10.85 |
Баранова И.Р. |
12.09.85 |
Антонова Л.Д |
03.11.85 |
Бобров Н.Р. |
02.04.85 |
32
Пересечением двух отношений называется отношение, которое содержит множество кортежей, принадлежащих одновременно и первому, и второму отношениям.
R4=R1 & R2={r | r Є R1 & r Є R2}
33
Пример пересечения отношений
R1- студенты, получающие стипендию
ФИО |
Группа |
Андреенко В.Д. |
КЭМ-04 |
Баранова И.Р. |
КЭМ-04 |
Иванов А.В. |
КЭМ-04 |
R2- студенты, изучающие английский язык
ФИО |
Группа |
|
Андреенко В.Д. |
КЭМ-04 |
|
Бобров Н.Р. |
ПС-04б |
|
Иванов А.В. |
КЭМ-04 |
34 |
|
|
R4- студенты, изучающие английский язык и получающие стипендию
R4=R1 & R2
ФИО |
Группа |
Андреенко В.Д. |
КЭМ-04 |
Иванов А.В. |
КЭМ-04 |
35
Разностью отношений R1 и R2называется отношение, которое содержит множество кортежей, принадлежащих R1 и не принадлежащих R2.
R5=R1 \ R2={r | r Є R1 & r Є R2}
36
Примеры разности отношений
R5=R1\R2- студенты, получающие стипендию и не изучающие английский язык
ФИО Группа
Баранова И.Р. |
КЭМ-04 |
R6=R2\R1- студенты, изучающие английский язык и не получающие стипендию
ФИО Группа
Бобров Н.Р. |
ПС-04б |
37
Примеры построения запросов с использованием указанных операций
Пусть
R1- множество абитуриентов, участвовавших в рейтинговых испытаниях
R2- множество абитуриентов, сдававших вступительные экзамены
R3- множество абитуриентов, принятых в университет
38
Абитуриенты, не поступившие в университет:
Абитуриенты, поступившие с первой попытки:
Абитуриенты, поступившие со второй попытки:
39
Назовем
сцеплением, или конкатенацией, кортежей
c=<c1,c2,…,cn> и q=<q1,q2,…,qm>
кортеж, полученный добавлением второго кортежа в конец первого:
(c,q)=<c1,c2,…,cn, q1,q2,…,qm>
40