- •Информация и субд
- •Структуры хранения данных и методы доступа к ним
- •Индексирование
- •Функции и архитектура субд
- •Процессор запросов
- •Журнализация
- •Поддержка языков бд
- •Организация современной субд
- •Ранние подходы (дореляционные) к организации бд
- •Сетевая модель данных
- •Реляционные базы данных
- •Реляционная модель
- •Базисные операции реляционной алгебры
- •Операция расширения и подведения итогов
Реляционная модель
Она рассматривается в трех аспектах:
Структура данных
Целостность данных
Обработка данных
Целостность данных
Целостность данных делится на два типа: 1) Категорная (целостность объектов таблиц) 2) Ссылочная.
Информационное содержимое базы данных представляется единственным способом – заданием значений данных. То есть нет никаких указателей и так далее.
Правила обеспечивающие целостность:
Каждая строка в таблице сотрудники должна включать уникальное значение (к примеру сотр_номер), а каждая строка в таблице отделы должна включать уникальное значение (отд_номер).
Каждое значение сотр_отд.номер в таблице сотрудники должно существовать как отд номер в таблице отделы.
Первое требование называется требованием целостности сущностей или категорной целостностью. Это требование состоит в том, что любой картеж любого отношения отличим от любого другого картежа этого отношения. Другими словами – отношение должно обладать первичным ключом.
Второе требование называется требованием целостности по ссылкам. В нашем примере атрибут сотр_отд.номер появляется в отношении сотрудники не потому что номер отдела является собственным свойством сотрудника, а лишь для того чтобы иметь возможность восстановить полную сущность отдела. Значение этого атрибута должно соответствовать значению атрибута отд_номер в некотором картеже отношения отделы. Атрибут такого рода называется внешним ключом, поскольку его значение однозначно характеризуют сущности представленные картежами некоторого другого отношения.
Требование целостности по ссылкам или требование внешнего ключа состоит в том, что для каждого значения внешнего ключа появляющегося в ссылающемся отношении, в отношении на которое ведет ссылка должен найтись картеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть неопределенным (null значение). Ограничение целостности поддерживается СУБД.
При удалении картежа из отношения на который ведет ссылка (или при изменении значения первичного ключа) существуют три варианта поддержания ссылочной целостности. 1й подход заключается в том, что запрещается удалять картеж, на который имеются ссылки. 2й подход: при удалении картежа, на который имеются ссылки во всех ссылающихся картежах значение внешнего ключа автоматически становится неопределенным. 3й подход: каскадное удаление, то есть при удалении картежа в отношении, на которое ведет ссылка, удаляются картежи в ссылающемся отношении с соответствующим значением внешнего ключа.
NULL значения. Потенциальные и внешние ключи
Под null значением подразумевается либо отсутствие информации, либо неприменимость данного свойства к объекту. Пример: дата продажи неизвестна, поскольку товар еще не продан, или цвет детали не указан, поскольку она не окрашивается. С учетом null значений, понятие категорной целостности можно определить следующим образом: ни один элемент первичного ключа не может быть null значением.
Правила ссылочной целостности, тогда может быть сформулировано следующим образом: база данных не должна содержать никаких несоответствующих не NULL значений внешних ключей.
