ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 31.03.2021
Просмотров: 1626
Скачиваний: 25
86
если
один
или
несколько
элементов
множества
неизвестны
,
а
остальные
равны
false
,
то
значение
выражения
также
неизвестны
(
может
быть
true
или
false
,
в
зависимости
оттого
какие
на
самом
деле
имеют
значения
неизвестные
элементы
множества
).
Выражение
FORALL
(
х
1
,
х
2
, …,
х
n
)
принимает
значение
false
,
если
хотя
бы
один
из
элементов
множества
<
х
1
,
х
2
, …,
х
n
>
имеет
значение
false
,
принимает
значение
true
,
если
все
до
одного
элемента
этого
множества
имеют
значение
true
,
и
наконец
,
если
один
или
несколько
элементов
неопределенны
,
а
остальные
находятся
в
состоянии
true
,
то
значение
выражения
также
является
неопределенным
(
оно
может
быть
true
,
если
неизвестные
элементы
равны
true
,
и
будут
false
,
если
хотя
бы один
из
них
равен
false
).
Рассмотренные
в
данном
разделе
аспекты
,
причиной
которых
является
д
знач
нными
.
Ниже
будут
рассмотрены
и
некоторые
другие
лостности
уровня
кортежа
Ограничения
ности
ют
собой
ограничения
,
накладываемые
н
имые
дельного
кортежа
отношения
,
и
не
являющи
ограничением
це
атрибута
.
То
,
что
ограничение
наложено
на
кортеж
,
означает
,
что
для
его
проверки
не
требуется
никакой
опущение
использования
в
качестве
значений
атрибутов
неопределенных
ений
,
не
является
единстве
.
Учитывая
тот
факт
,
что
в
настоящее
время
NULL
-
значения
«
узаконены
»
стандартом
языка
SQL,
знание
этих
аспектов
является
совершенно
необходимым
.
При
этом
,
однако
,
в
качестве
рекомендации
разработчику
базы
данных
можно
привести
пожелание
Дэйта
по
возможности
не
использовать
для
атрибутов
отношения
базы
данных
NULL
-
значений
,
кроме
случаев
,
когда
это
является
действительно
оправданным
.
В
большом
числе
практических
случаев
альтернативой
использования
NULL
-
значений
может
быть
использование
значений
по
умолчанию
.
При
этом операции
над значениями
атрибутов
остаются
в
рамках
более
привычной
двузначной
логики
,
а
их
результаты
являются
для
разработчика
более
понятными
и
предсказуемыми
.
В
языке
SQL
по
умолчанию
для
атрибутов
NULL
-
значения
разрешены
.
Для
их
запрета
для
конкретного
атрибута
используется
ограничение
NOT
NULL
.
9.2.
Ограничения
це
целост
кортежа
представля
а
допуст
значения
от
еся
лостности
информации
о
других
кортежах
.
Примером
такого
рода
ограничений
в
отношении
АУДИТОРНЫЙ
_
ФОНД
,
имеющего
следующие
атрибуты
{
№
_
КОМНАТЫ
,
ДЛИНА
,
ШИРИНА
,
ВЫСОТА
,
87
ПЛОЩАДЬ
,
ОБЪЕМ
},
являются
следующие
ограничения
,
наложенные
на
значения
атрибутов
для
каждого
кортежа
:
ПЛОЩАДЬ
=
ДЛИНА
×
ШИРИНА
и
ОБЪЕМ
=
ДЛИНА
×
ШИРИНА
×
ВЫСОТА
Эти
ограничения
св
язывает
между
собой
значения
атрибутов
в
каждом
корт
быть
выражены
с
помощью
задания
доменов
отношений
и
,
п
рки
для
конкретного
кортежа
они
не
требует
привл
г
х
ия
.
Следует
заметить
,
что
на
практике
так
а
«
вычисляемые
»
пол в
хранимых
отношениях
баз
данных
использу
кие
знач ия
вычисляются
«
на
лету
»
в
приложениях
или
ьных
представлениях
нных
.
елостности
кортежа
или
атрибута
.
Э
о
е
ограничений
относятся
рассматриваемые
в
сл
а
о
о
и
еже
.
Они
не
могут
ри
я
этом
,
дл
ечения
инф
своей
прове
ормации
о
дру их
кортежа
отношен
ого
род
я
ют
редко
.
Обычно
та
ен
виртуал
да
9.3.
Ограничения
целостности
уровня
отношения
Ограничения
целостности
уровня
отношения
представляют
собой
ограничения
,
накладываемые
только
на
допустимые
значения
отдельного
отношения
,
и
не
являющиеся
ограничением
ц
то
означает
,
что
такого
рода
ограничение
не
может
быть
сведено
к
граничению
,
накладываемому
на
кортеж
или
атрибут
,
и
,
с
другой
стороны
,
для
го
проверки
не
требуется
информация
о
других
отношениях
базы
данных
.
К
важнейшим
видам
такого
рода
едующем
разделе
ограничения
потенциальных
ключей
,
называемые
еще
ограничением
целостности
сущностей
,
а
также
рассматриваемые
несколько
позже
ограничения
,
зад ваемые
функциональными
зависимостями
между
атрибутами
,
многозначными
зависимостями
,
зависимостями
проекции
-
соединения
.
Также
к
ограничениям
тношения
относится
,
например
,
требование
,
накладываемое на
отношение
СТУДЕНТЫ
,
имеющее
атрибут
НОМЕР
_
ГРУППЫ
,
состоящее
в
том
,
чтобы
в
каждой
учебной
группе
было
не
меньше
25
студентов
.
Очевидно
,
что
для
обеспечения
выполнения
такого
ограничения
для
конкретного
кортежа
необходимо
использование
информации
о
значениях
данног
атрибута
в
друг х
кортежах
.
88
Пот
нятия
более
строго
Пу
енциальные
,
первичные
,
альтернативные
ключи
отношения
Выше
уже
не
раз
упоминалось
понятие
ключа
отношения
.
В
приложении
к
реляционным
отношениям
различают
несколько
видов
ключей
,
в
частности
потенциальные
(
возможные
),
первичные
и
альтернативные
ключи
.
В
связи
с
этим
определим
эти
по
сть
R
–
некоторая
переменная
отношения
.
Тогда
потенциальный
ключ
(
candidate key
),
скажем
K
для
отношения
R
–
это
подмножество
множества
атрибутов
отношения
R
,
всегда
обладающее
следующими
свойствами
:
•
свойство
уникальности
–
нет
двух
кортежей
в
текущем
значении
переменной
отношени
R
с
одинаковы
значением
K;
я
м
•
свойство
неизбыточности
–
никакое
из
подмножеств
K
не
обладает
свойством
уникальности
.
Иными
словами
,
потенциальным
ключом
отношения
называется
его
атрибут
г
чтобы
м
,
которые
может
принимать
пере
п
жность
наличия
в
отношении
нескольких
ключей
.
Например
,
в
отношении
или
набор
(
подмножество
)
атрибутов
,
значения
которого
(
которых
)
позволяют
однозначно
идентифицировать
кортежи
отношения
(
вследствие
своей
уникальности
).
Однако
ни
одно
из
подмножеств
этого
набора
атрибутов
таким
свойством
не
обладает
(
свойство
неизбыточности
ключа
).
То
есть
из
составно о
ключа
нельзя
исключить
ни
один
атрибут
таким
образом
,
он
не
потерял
свойство
своей
уникальности
,
способности
однозначно
идентифицировать
кортежи
отношения
.
Из
приведенного
определения
следует
,
что
понятие
потенциального
ключа
относится
не
к
конкретному
содержимому
отношения
в
некотором
текущем
состоянии
,
а
ко
всем
возможным
значения
менная
отношение
.
Из
приведенного
определения
следует
,
что
в
отношении
может
быть
несколько
отенциальных
ключей
.
Само
название
потенциальный
или
возможный
,
подчеркивает
возмо
СТУДЕНТ
КОД
_
СТУД
ИМЯ
_
СТУД
ПАСПОРТ
С
2
Иванов
01 02 123456
С
5
Петрова
03 04 234567
С
4
Сидоров
05 06 345678
будет
два
потенциальных
ключа
,
а
именно
КОД
_
СТУД
и
ПАСПОРТ
.
Значения
каждого
из
этих
атрибутов
могут
служить
идентификаторами
кортежей
,
так
как
каждый
из
них
однозначно
и очевидно
,
неизбыточно
определяет
запись
о
,
89
конкретном
студенте
,
так
как
не
может
быть
двух
студентов
с
одинаковыми
кодами
,
также
,
как
и
с
одинаковыми
серией
и
номером
паспортов
.
КОД
Д
Из
определения
потенциального
ключа
также
следует
,
что
в
общем
случае
ключ
может
включать
в
себя
не
один
,
а
несколько
атрибутов
.
В
этом
определении
потенциальный
ключ
определен
как
множество
атрибутов
.
Например
,
в
отношении
УСПЕВАЕМОСТЬ
_
СТУД
ИСЦИПЛИНА
№БИЛЕТА
ОЦЕНКА
С
9
Физика
10 5
С
9
Математика
16 4
С
9
История
3 4
С
6
Физика
13 3
С
6
Математика
2 4
С
1
Математика
10 5
С
7
Информатика
17 5
потенциальн й
ключ
включает
в
себя
два
атрибута
{
КОД
_
СТУД
,
ДИСЦИПЛИНА
},
причем
,
в
отличие
ы
от
предыдущего
примера
,
каждый
из
этих
атри
с
никальности
обладает
именно
пара
значений
этих
атрибутов
(
конкретный
о
п
е
одну
По
бутов
в
отдельности
не
являют я
ключами
.
Из
таблицы
видно
,
что
значения
ни
одного
из
этих
атрибутов
сами
по
себе
не
являются
уникальными
.
Свойством
у
студент
по
к нкретной
дисциплине
на
экзамене
олучает
динственный
билет
и
только
оценку
).
тенциальный
ключ
,
имеющий
в
своем
составе
больше
,
чем
один
атрибут
,
называется
составным
.
Потенциальный
ключ
,
состоящий
из
единственного
атрибута
,
называется
простым
.
Обратим
внимание
также
на
требование
неизбыточности
потенциального
ключа
.
Это
требование
говорит
о
ий
которы
том
,
что
не
всякое
множество
атрибутов
,
совокупность
значен
х
обладает
уникальностью
и
позволяет
идентифицировать
кортежи
,
является
потенциальным
ключом
.
Действительно
,
в
приведенном
выше
отношении
УСПЕВАЕМОСТЬ
сочетания
трех
атрибутов
{
КОД
_
СТУД
,
ДИСЦИПЛИНА
,
ОЦЕНКА
}
или
{
КОД
_
СТУД
,
ДИСЦИПЛИНА
,
№БИЛЕТА
},
а
также
всех
четырех
атрибутов
{
КОД
_
СТУД
,
ДИСЦИПЛИНА
,
№БИЛЕТА
,
ОЦЕНКА
}
тоже
позволяют
однозначно
идентифицировать
кортежи
отношения
(
первое
свойство
потенциального
ключа
).
Однако
,
тем
не
менее
,
ни
один
из
этих
наборов
атрибутов
не
является
потенциальным
ключом
,
из
-
за
своей
избыточности
для
целей
идентификации
кортежей
.
Как
уже
указывалось
,
для
идентификации
кортежей
этого
отношения
достаточно
сочетания
двух
атрибутов
{
КОД
_
СТУД
,
ДИСЦИПЛИНА
},
именно
эта
пара
и
является
составным
потенциальным
ключом
этого
отношения
,
остальные
же
атрибуты
для
целей
идентификации
кортежей
являются
избыточными
.
90
Важность
потенциальных
ключей
в
реляционной
модели
состои
что
он
обеспечивают
механизм
адресации
данных
на
уровне
кор
нный
гарант
т
в
том
,
и
тежей
.
Единстве
ированный
системой
способ
точно
указать
на
какой
-
нибудь
кортеж
–
это
указать
значение
некоторого
потенциального
ключа
.
Учитывая
,
что
кортежи
отношения
фактически
представляют
собой
конкретные
енциальные
ключи
сущностей
Заметим
еще
,
что
факт
обязательности
наличия
в
отношении
хотя
бы
одно
экземпляры
некоторых
сущностей
предметной
области
,
пот
являются
фактически
средством
идентификации
экземпляров
предметной
области
.
го
потенциального
ключа
следует
из
свойства
уникальности
кортежей
отношения
.
Следствием
этого
свойства
является
то
,
что
в
любом
случае
,
по
крайней
мере
,
набор
значений
всех
атрибутов
отношения
обладает
свойством
уникальности
,
необходимым
для
однозначной
идентификации
кортежей
.
В
реляционной
модели
по
традиции
один
из
потенциальных
ключей
выбирают
в
качестве
первичного
ключа
(
primary key
).
В
таком
случае
остальные
потенциальные
ключи
(
при
их
наличии
)
будут
называться
альтернативными
ключами
(
alternate key
).
В
контексте
тематики
данной
главы
(
ограничения
целостности
базы
данных
),
спецификация
(
выбор
,
назначение
)
атрибута
или
набора
атрибутов
в
качестве
потенциального
ключа
отношения
,
означающее
наложение
на
этот
набор
требования
уникальности
комбинации
его
значений
,
является
одним
из
важных
ограничений
целостности
атрибутов
.
Очевидно
также
,
что
это
ограничение
является
ограничением
уровня
отношения
,
так
как
для
его
поддержки
необходимо
знание
значений
атрибутов
для
всех
кортежей
отношения
.
Ограничение
потенциального
ключа
еще
назыв ют
ограничением
целостности
сущности
,
а
именно
–
каждая
представленная
в
базе
данных
сущность
должна
быть
идентифицируема
.
Указание
такого
ограничения
подразумевает
,
что
,
сообщая
системе
о
том
,
что
данный
набор
атрибутов
является
перви ным
или
потенциальным
ать
от
системы
дейст
а
ч
ключом
,
мы
вправе
ожид
вий
,
контролирующих
уникальность
з
о
набор атрибутов
.
Потенциальные
NUL
значения
пол
NULL
ляет я
,
как
е
говорилось
выше
,
средством
вл
ии
,
конкрет
значен
какого ибо
атрибута
н
ст
не
определено
.
Рассмотрим
,
м
образом
возможность
того
,
что
значение
трибута
онкретного
кортежа
отношения
может
отсутствовать
(
помечено
маркером
NULL
)
етается
свойс
ми
начений
этог
а
ключи
и
L-
Ис
ьзование
маркеров
яв
с
уж
предста ения
ситуац
когда
ное
ие
-
л
е
изве но
или
каки
а
к
соч
со
тва