ВУЗ:
Составители:
Рубрика:
29
• Семантическая целостность
Структурная целостность
Структурная целостность подразумевает, что реляционная СУБД может работать только с
реляционными отношениями. А реляционное отношение, в свою очередь, должно удовлетворять
ограничениям, накладываемым на него в классической теории реляционных БД (отсутствие
одинаковых кортежей и, следовательно, наличие первичного ключа, отсутствие упорядоченности
атрибутов и кортежей).
Требование структурной целостности осуществляется с помощью двух ограничений:
• при добавлении кортежей в отношение проверяется уникальность их первичных ключей
• не допускается, чтобы какой-либо атрибут, участвующий в первичном ключе, принимал
неопределенное значение
Здесь возникает необходимость рассмотреть проблему неопределенных значений (Null-
значений) [1, 2]. Неопределенное значение интерпретируется в реляционной модели как значение,
неизвестное на данный момент времени. При сравнении неопределенных значений не действуют
стандартные правила сравнения: одно Null-значение никогда не считается равным другому Null-
значению.
Для выявления равенства значения некоторого атрибута неопределенному применяют
стандартные предикаты:
• <Имя атрибута> Is Null
• <Имя атрибута> Is Not Null
Таблица 2-2 содержит пример проверки атрибута Адрес на неопределенное значение.
Таблица 2-2
Адрес Адрес Is Null Адрес Is Not Null
Null True False
ул.Мордовцева, 12 False True
Введение Null-значений привело к модификации классической двузначной логики к трехзначной. Таблица 2-3
содержит таблицу истинности для трехзначной логики.
Таблица 2-3
A B Not A A & B
A ∨ B
True True False True True
True False False False True
True Null False Null True
False True True False True
False False True False False
False Null True False Null
Null True Null Null True
Null False Null False Null
Null Null Null Null Null
Языковая целостность
Языковая целостность состоит в том, что реляционная СУБД должна обеспечивать языки
описания и манипулирования данными не ниже стандарта SQL. Не должны быть доступны иные
низкоуровневые средства манипулирования данными, не соответствующие стандарту.
Ссылочная целостность
При установлении связи между отношениями возникает необходимость поддержания
целостности по ссылкам. Отношение со стороны «один» будем называть – основным отношением, а
отношение со стороны «многие» – подчиненным.
Требование ссылочной целостности состоит в следующем: для каждого значения внешнего
ключа, появляющегося в подчиненном отношении, в основном отношении должен существовать
кортеж с таким же значением первичного ключа.
У первичного и внешнего ключей, образующих связь, должен быть одинаковый тип данных.
То есть значение внешнего ключа должно либо:
• быть равным значению первичного ключа
• быть полностью неопределенным, т.е. каждое значение поля, участвующего во внешнем
ключе должно быть неопределенным.
• Семантическая целостность Структурная целостность Структурная целостность подразумевает, что реляционная СУБД может работать только с реляционными отношениями. А реляционное отношение, в свою очередь, должно удовлетворять ограничениям, накладываемым на него в классической теории реляционных БД (отсутствие одинаковых кортежей и, следовательно, наличие первичного ключа, отсутствие упорядоченности атрибутов и кортежей). Требование структурной целостности осуществляется с помощью двух ограничений: • при добавлении кортежей в отношение проверяется уникальность их первичных ключей • не допускается, чтобы какой-либо атрибут, участвующий в первичном ключе, принимал неопределенное значение Здесь возникает необходимость рассмотреть проблему неопределенных значений (Null- значений) [1, 2]. Неопределенное значение интерпретируется в реляционной модели как значение, неизвестное на данный момент времени. При сравнении неопределенных значений не действуют стандартные правила сравнения: одно Null-значение никогда не считается равным другому Null- значению. Для выявления равенства значения некоторого атрибута неопределенному применяют стандартные предикаты: • <Имя атрибута> Is Null • <Имя атрибута> Is Not Null Таблица 2-2 содержит пример проверки атрибута Адрес на неопределенное значение. Таблица 2-2 Адрес Адрес Is Null Адрес Is Not Null Null True False ул.Мордовцева, 12 False True Введение Null-значений привело к модификации классической двузначной логики к трехзначной. Таблица 2-3 содержит таблицу истинности для трехзначной логики. Таблица 2-3 A B Not A A&B A∨B True True False True True True False False False True True Null False Null True False True True False True False False True False False False Null True False Null Null True Null Null True Null False Null False Null Null Null Null Null Null Языковая целостность Языковая целостность состоит в том, что реляционная СУБД должна обеспечивать языки описания и манипулирования данными не ниже стандарта SQL. Не должны быть доступны иные низкоуровневые средства манипулирования данными, не соответствующие стандарту. Ссылочная целостность При установлении связи между отношениями возникает необходимость поддержания целостности по ссылкам. Отношение со стороны «один» будем называть – основным отношением, а отношение со стороны «многие» – подчиненным. Требование ссылочной целостности состоит в следующем: для каждого значения внешнего ключа, появляющегося в подчиненном отношении, в основном отношении должен существовать кортеж с таким же значением первичного ключа. У первичного и внешнего ключей, образующих связь, должен быть одинаковый тип данных. То есть значение внешнего ключа должно либо: • быть равным значению первичного ключа • быть полностью неопределенным, т.е. каждое значение поля, участвующего во внешнем ключе должно быть неопределенным. 29
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »