- •Одно из применений связи «один ко многим»- использование справочников
- •Таблица находится в 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):
- •Ограничения целостности
- •Целостность сущностей.
- •Целостность ссылок
К языковым средствам СУБД относятся:
•Язык описания данных
•Язык манипулирования данными
•Язык запросов
•Базовые языки
21
Язык описания данных (ЯОД)
Предназначен для описания данных и связей между ними (концептуальной модели). Эти описания компилируются и хранятся в БД для поиска данных
22
Язык манипулирования данными
Описывает действия по чтению, добавлению, обновлению и удалению данных в БД
23
Язык запросов
Используется для написания запросов к БД (QBE, SQL, …)
Базовые языки
Применяются для написания программ обработки данных (C, VBA, Pascal)
24
Языки запросов
25
Конечная цель пользователя- выборка необходимой информации из БД для последующей обработки. Эта цель достигается с помощью запросов. Языки запросов делятся на две группы:
•Язык реляционной алгебры, позволяющий выразить запросы с помощью специальных операций, применяемых к таблицам
•Язык исчисления отношений, в котором запрос описывает свойства требуемых отношений в виде логической формулы- предиката
26
Операции реляционной алгебры
Аргументами и результатами выполнения этих операций являются отношения (таблицы)
Э.Кодд предложил 8 операций, необходимых из соображений максимального удобства при реализации произвольных запросов
27
Множество операций, предложенное Э.Коддом, избыточно, часть операций в нем выражается через другие
О п е р а ц и и р е л я ц и о н н о й а л г е б р ы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Т е о р е т и к о - м н о ж е с т в е н н ы е |
|
|
С п е ц и а л ь н ы е |
||||
|
|
|
|
|
|
|
|
28
Теоретико-множественные операции
Объединение отношений
Результатом объединения двух отношений является отношение, содержащее множество кортежей, принадлежащих либо первому, либо второму исходным отношениям, либо обоим исходным отношениям одновременно
29
Пусть R1={r1}, R2={r2}, где r1 и r2 – соответственно кортежи отношений R1 и R2, тогда
R3=R1 U R2={r | r Є R1 V r Є R2}
30