- •Одно из применений связи «один ко многим»- использование справочников
- •Таблица находится в 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):
- •Ограничения целостности
- •Целостность сущностей.
- •Целостность ссылок
Например,
R11 - проекция R9 на схему
{шифр факультета, факультет, ФИО декана}
Шифр Факультет факультета
ВТИ Вычислительной техники и информатики
ГГФ Горно- геологический факультет
ФИО
Декана
Аноприенко А.Я.
Калиниченко
О.И.
51
Э.Кодд в 1985 году сформулировал 12 правил, которым должна соответствовать любая реляционная СУБД – правила, определяющие полноту реляционных систем:
52
1. Явное представление данных (The Information Rule):
Информация должна быть представлена в виде данных, хранящихся в ячейках. Данные, хранящиеся в ячейках, должны быть атомарны. Порядок строк в реляционной таблице не должен влиять на смысл данных.
53
2. Гарантированный доступ к данным
(Guaranteed Access Rule):
Доступ к данным должен быть свободен от двусмысленности. К каждому элементу данных должен быть гарантирован доступ с помощью комбинации имени таблицы, первичного ключа строки и имени столбца.
(правило указывает на роль первичных ключей при поиске информации в БД – первичный ключ указывает на запись, содержащую искомый элемент данных). 54
3. Полная обработка неизвестных значений (Systematic Treatment of Null Values):
Неизвестные значения NULL, отличные от любого известного значения, должны поддерживаться для всех типов данных при выполнении любых операций.
Например, для числовых данных неизвестные значения не должны рассматриваться как нули, а для символьных данных — как пустые строки.
55
4. Доступ к словарю данных в терминах реляционной модели (Active On-Line Catalog Based on the Relational Model):
Словарь данных должен сохраняться в форме реляционных таблиц, и СУБД должна поддерживать доступ к нему при помощи стандартных языковых средств, тех же самых, которые используются для работы с реляционными таблицами, содержащими пользовательские данные.
Правило 4 говорит о том, что реляционная БД должна сама себя описывать (то есть содержать набор
системных таблиц, описывающих структуру таблиц
БД).
56
5. Полнота подмножества языка (Comprehensive Data Sublanguage Rule):
Система управления реляционными базами данных должна поддерживать хотя бы один реляционный язык, который
(а) имеет линейный синтаксис,
(б) может использоваться как интерактивно, так и в прикладных программах,
(в) поддерживает операции определения данных, определения представлений, манипулирования данными (интерактивные и программные), ограничители целостности, управления доступом и операции управления транзакциями (begin, commit
и rollback). |
57 |
6. Возможность модификации представлений (View Updating Rule):
Каждое представление должно поддерживать все операции манипулирования данными, которые поддерживают реляционные таблицы: операции выборки, вставки, модификации и удаления данных.
58
7. Наличие высокоуровневых операций управления данными (High-Level Insert, Update, and Delete):
Операции вставки, модификации и удаления данных должны поддерживаться не только по отношению к одной строке реляционной таблицы, но по отношению к любому множеству строк.
59
8. Физическая независимость данных (Physical Data Independence):
Приложения не должны зависеть от используемых способов хранения данных на носителях, от аппаратного обеспечения компьютеров, на которых находится реляционная база данных.
60