Целостность реляционных данных

advertisement
Целостность
реляционных данных
Введение в СУБД
Лекция 3.
Внешние ключи

Это взаимосвязи в таблицах БД
Поставщики и поставляемые детали
Нормализация отношения
Правило целостности внешних
ключей

Внешние ключи не должны быть
несогласованными, т.е. для каждого
значения внешнего ключа должно
существовать соответствующее
значение первичного ключа в
родительском отношении.
Нарушение ссылочной
целостности

Для родительского отношения
 Обновление
кортежа в родительском
отношении.
 Удаление кортежа в родительском
отношении

Для дочернего отношения
 Вставка
кортежа в дочернее отношение
 Обновление кортежа в дочернем
отношении.
Стратегии поддержания
ссылочной целостности

Основные
 RESTRICT
(ОГРАНИЧИТЬ)
 CASCADE (КАСКАДИРОВАТЬ)

Дополнительные
 SET
NULL (УСТАНОВИТЬ В NULL)
 SET
DEFAULT (УСТАНОВИТЬ ПО УМОЛЧАНИЮ)
Выводы






Потенциальный ключ отношения - это набор атрибутов
отношения, обладающий свойствами уникальности и
неизбыточности
Традиционно один из потенциальных ключей объявляется
первичным ключом, остальные - альтернативными
ключами
Отношения связываются друг с другом при помощи внешних
ключей
Внешний ключ отношения - это набор атрибутов отношения,
содержащий ссылки на потенциальный ключ другого отношения.
Отношение, содержащее внешний ключ, называется дочерним
отношением
В любой реляционной базе данных должны выполняться два
ограничения: Целостность сущностей и Целостность
внешних ключей
Нормализация
Процесс проектирования РБД, при
котором на каждом шаге производится
декомпозиция универсального
отношения, в другие отношения
обладающие лучшими, по сравнению с
первоначальным, свойствами
 Существует 5 нормальных форм
отношений

Разработка структуры БД
1.
2.
3.
4.
5.
Сама предметная область
Модель предметной области
Логическая модель данных
Физическая модель данных
Собственно база данных и
приложения
ER-моделирование



Применяют для проектирования логической и
физической структуры базы данных
В основе и лежит семантическое
моделирование реализованное в виде
диаграммы сущность-связь
(ER - Entity-Relationship)
Первый вариант модели сущность-связь был
предложен в 1976 г. Питером Пин-Шэн Ченом
ER-моделирование





Сущность - это класс однотипных объектов,
информация о которых должна быть учтена в модели
Экземпляр сущности - это конкретный
представитель данной сущности.
Атрибут сущности - это именованная
характеристика, являющаяся некоторым свойством
сущности.
Ключ сущности - это неизбыточный набор
атрибутов, значения которых в совокупности
являются уникальными для каждого экземпляра
сущности
Связь - это некоторая ассоциация между двумя
сущностями.
Пример разработки ER-модели


Разработка информационной системы по
заказу некоторой оптовой торговой фирмы
Система должна выполнять следующие
действия:
 Хранить
информацию о покупателях.
 Печатать накладные на отпущенные товары.
 Следить за наличием товаров на складе.
Пример разработки ER-модели





Покупатель - явный кандидат на сущность.
Накладная - явный кандидат на сущность.
Товар - явный кандидат на сущность
(?)Склад - а вообще, сколько складов имеет
фирма? Если несколько, то это будет
кандидатом на новую сущность.
(?)Наличие товара – это, скорее всего,
атрибут, но атрибут какой сущности?
Пример разработки ER-модели
Фирма имеет несколько складов.
Причем, каждый товар может храниться на нескольких
складах и быть проданным с любого склада.
Пример разработки ER-модели
В последствии дальнейшего уточнения данных бизнес-процессов фирмы, в
указанных выше сущностях появились атрибуты
Пример разработки ER-модели
Выводы




Реальным средством моделирования данных является не
формальный метод нормализации отношений, а так
называемое семантическое моделирование.
В качестве инструмента семантического моделирования
используются различные варианты диаграмм сущностьсвязь (ER - Entity-Relationship).
Различают концептуальные и физические ER-диаграммы.
Концептуальные диаграммы не учитывают особенностей
конкретных СУБД. Физические диаграммы строятся по
концептуальным и представляют собой прообраз конкретной
базы данных.
При правильном определении сущностей, полученные таблицы
будут сразу находиться в 3НФ. Основное достоинство метода
состоит в том, модель строится методом последовательных
уточнений первоначальных диаграмм.
Самостоятельное задание


Разработайте модель информационной
системы отдела кадров предприятия
Система должна выполнять следующие
действия:
 Хранить информацию о сотрудниках.
 Печатать приказы о приме на работу увольнении
работы и перемещение по подразделениям
предприятия
 Печатать информацию о сотрудниках с учетом
подразделений, в которых они работают.
с
Download