
- •Базы данных
- •Лекция 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 Ограничение целостности
- •Целостность реляционных данных
Лекция 17 Ограничение целостности
Целостность (integrity – точность, истинность) данных предполагает корректное выполнение действий, разрешенных пользователям. Обычно ограничения целостности применяются для описания базовых отношений. Производные отношения автоматически наследуют некоторые ограничения целостности отношений, из которых они выведены. Однако для произвольных отношений, кроме автоматически наследуемых ограничений могут быть заданы также некоторые дополнительные ограничения целостности.
Если база данных находится в состоянии целостности, то это означает ее корректность, т.е. отсутствие нарушений всех известных ограничений. Аспекты целостности необходимо учитывать как при проектировании базы данных, так и во время ее использования. Ограничения целостности, как и правила безопасности, хранятся в системном каталоге. Они приводятся в действие подсистемой целостности СУБД, которая отвечает за отслеживание выполняемых пользователем операций (insert, update, delete) и гарантирует выполнение только тех, которые не нарушают известных системе ограничений.
Ограничения целостности в общем виде содержат три компонента:
Create integrity rule имя
ограничение
[on attempted violation действие ];
Параметр имя является именем данного ограничения, которое регистрируется в системном каталоге. Ограничения целостности всегда проверяются немедленно при каждой операции обновления.
Ограничение – выражение, которому должно удовлетворять ограничение целостности. Ограничение целостности удовлетворяется тогда и только тогда, когда это выражение истинно, а нарушается, если это выражение ложно.
Директива on attempted violation - реакция на нарушение, указывает системе те действия, которые необходимо выполнить при попытке пользователя нарушить ограничение целостности.
Ограничения целостности можно классифицировать по следующим категориям:
-
ограничения домена – задаются допустимые значения данного домена;
-
ограничения атрибута – задаются допустимые значения для данного атрибута;
-
ограничения таблицы – задаются допустимые значения для данного отношения; как правило, ограничения таблицы ограничивают значения, которые могут быть в записях таблицы;
-
целостность по ссылкам – предполагает обеспечение целостности отношений потомок/ предок, которые поддерживаются первичными и внешними ключами;
-
ограничения базы данных (деловые правила или утверждения) – задают допустимые значения для всей базы данных и связывают в различных выражениях значения столбцов из разных таблиц базы данных.
В стандарте SQL ограничения целостности обычно делятся на три категории:
-
ограничения домена;
-
ограничения базовой таблицы;
-
общие ограничения – «утверждения».
Общие ограничения в SQL создаются с помощью утверждения create assertion
Целостность реляционных данных
Логические ограничения, которые накладываются на данные называются ограничениями целостности. Они формируются в соответствии со свойствами ПО в форме предикатов, которые для одних множеств данных могут иметь значение истина, для других – ложь. Ограничения используются в моделях данных для поддержания целостности данных при функционировании системы. То есть СУБД должна контролировать соответствие данных заданным ограничениям при переводе БД из одного состояния в другое. Использование ограничений связано также с адекватностью отражения ПО с помощью данных, хранимых в БД.
Выделяют два основных вида ограничений: внутренние и явные.
Внутренние – это ограничения, свойственные собственно модели данных. Они накладываются на структуру отношений, на связи, на допустимые значения наборов данных, заложенные в выбранной модели данных.
Явные – это ограничения, задаваемые семантикой ПО. Они описывают области допустимых значений атрибутов, соотношение между атрибутами, динамику их изменения и т.д.
В РМД существуют два вида внутренних ограничений целостности:
-
Целостность по существованию – потенциальный ключ отношения не может иметь пустого (Null) значения. Иными словами, так как потенциальный ключ отношения позволяет из всего множества экземпляров сущности выделить только один, то сущность, не имеющая идентификатора, не существует.
-
Целостность по связи – определяется понятием внешнего ключа отношения: подмножество атрибутов отношения R2 называется внешним ключом для отношения R1, если каждому значению внешнего ключа отношения R2 найдется такое же значение первичного ключа в отношении R1. Внешний ключ является тем клеем, который обеспечивает связывание отдельных отношений РБД в единое целое. Целостность данных по связи означает систему правил, используемых в СУБД для поддержания связей между записями в связанных таблицах, а также обеспечивает защиту от случайного удаления или изменения связанных данных, от некорректного изменения ключевых полей.