Целостность реляционных данных
Ключи
Понятие первичного ключа
По математическому определению, множество не может содержать одинаковых элементов. Так как таблица, является множеством (строк), то она не может содержать одинаковые строки. Поэтому каждая таблица реляционной БД должна содержать один или несколько столбцов, все значения или комбинации значений которых различны.
Определение первичного ключа
Столбец, или совокупность столбцов, называется первичным ключом (primary key, обозначается pk), если все его значения, или комбинации значений, различны.
Например:
В таблице представленной на Рис.5 первичным ключом является поле Код.В этом поле ни одно из значений не повторяется, т.е. содержит множество различных значений.
В то же время поле Факультет не может быть первичным ключом, так как содержит повторяющиеся значения (ФФ, ФФ)
Код | Факультет | Декан |
ЭФ | Колесов | |
ВМК | Моисеев | |
ФФ | Смирнов | |
ФФ | Михайлов |
Рис. 5.
Требования, предъявляемые к первичному ключу
Первичный ключ должен отвечать двум требованиям уникальность и минимальность
Пусть имеетсятаблица со столбцами A1, A2, ..., An.
Уникальность предполагает, что в произвольный момент времени никакие две различные строки таблицы не имеют одни и те же значения для Ai, Aj, ..., Ak.
Минимальность предполагает, что ни один из столбцов Ai, Aj, ..., Ak не может быть изъят из ключа без нарушения условия уникальности.
Пример: На Рис. 6 первичными ключами для Таблицы 1 предполагаются поля Код и Номер. Тогда для левой таблицы Правила уникальности и минимальности нарушены, а для правой соблюдены.
Таблица 1 Таблица 1
Код | Номер | Фамилия | Код | Номер | Фамилия | |
Четин | Четин | |||||
Яшин | Яшин | |||||
Круглов | Круглов | |||||
Самарин | Самарин | |||||
Ракунов | Ракунов |
Правила уникальности
и минимальности нарушены
Рис. 6
Правила уникальности и минимальности соблюдены
Понятие внешнего ключа
Для объяснения понятия – внешний ключ, наша БД должна состоять как минимум из двух таблиц Рис.7.
Определение внешнего ключа
Внешний ключ (foreign key, обозначается fk) – это столбец таблицы Т2, любое значение которого должно обязательно совпадать с одним из значений первичного ключа некоторой другой таблицы Т1.
Внешний ключ и соответствующий ему первичный ключ должны быть одного типа данных или иметь одну и ту же область определения, например множество целых чисел.
Т1
Код_Факультета | Факультет |
ЭФ | |
2 | ВМК |
ФФ | |
ФФ | |
ММ |
Т2
Код_Факультета | Фамилия |
Четин | |
Яшин | |
Круглов | |
Самарин | |
Ракунов | |
Певцов | |
Москвин | |
Романов | |
Паршин |
Рис.7.
Все значения поля «Код Факультета» Т2 соответствуют значениям поля «Код Факультета» Т1.
Первичный и внешний ключи необходимы для установления отношений между таблицами их содержащими. Об этом смотри далее.
Реляционные отношения между таблицами
Между двумя и более таблицами могут существовать отношения подчиненности.
Отношение подчиненности определяет, что для каждой записи одной таблицы (Т1), существуют одна или несколько записей в другой таблице (Т2). При этом таблица Т1 именуется – родительской, а таблица Т2 – дочерней.
Дата добавления: 2016-05-25; просмотров: 815;