Основные понятия реляционной модели данных
Ограничения целостности
Свойства отношений
Вопросы для самоконтроля
Cреди атрибутов, характеризующих объект, есть такие, которые присущи только данному экземпляру объекта (или кортежу) и никакому другому. Такие атрибуты называются ключами. Один из ключей обычно объявляется первичным, остальные (если они есть) - возможными.
Однако, в некоторых отношениях кортежи могут идентифицироваться конкатенацией (соединением) нескольких ключей. В этом случае говорят о составном ключе отношения.
Например, в отношении РЕГИОН (рисунок 2.2) кортеж может идентифицироваться двумя атрибутами: Код_страны и Код_региона.
Понятие ключа (точнее первичного ключа) в реляционной модели имеет еще одну важную особенность. Первичные ключи используются для установления ассоциаций между кортежами отношений (рисунок 2.2), для чего ключ одного отношения дублируется в другом отношении (или нескольких отношениях).
Рисунок 2.2- Дублирование ключей между отношениями
Атрибуты, представляющие собой копии ключей других отношений, называются внешними ключами.
Домены, первичные и внешние ключи играют важную роль в поддержке целостности данных. Использование доменов позволяет уже на этапе создания структуры базы данных определить множество допустимых значений атрибута, тем самым уменьшить возможность ввода неккоректных данных. Первичный ключ позволяет однозначно идентифицировать кортеж отношения, избежать хранения одинаковых кортежей. Внешний ключ служит для огранизации корректных ссылок между отношениями, делает невозможным ситуацию, когда запись одного отношения ссылается на несуществующую запись в другом отношении.
Рассмотрим базовые понятия реляционной модели данных применительно к примеру, показанному на рисунке 2.3.
Рисунок 2.3 - Взаимосвязь понятий в отношении СОТРУДНИКИ
Тип данных. В нашем примере мы имеем дело с четырьмя типами данных. Это целочисленный, символьный, денежный тип и тип данных дата.
Домен. Допустим, у нас имеется пять доменов: Сотр_номер, Сотр_фам, Сотр_отдел, Сотр_зарпл, Зарп_выд. Определим каждый из них.
Домен | Тип (физические ограничения) | Логические ограничения |
---|---|---|
Сотр_номер | Целочисленный | Числа изменяются от 0 до 9999. |
Сотр_фам | Символьный | Не может содержать чисел; не начинается на "ь", "ъ"; содержит не более 100 символов. |
Сотр_отдел | Целочисленный | Изменяется в пределах 1..10 (например, по числу отделов в организации). |
Сотр_зарпл | Денежный | Зарплата не может быть меньше некоторого минимума (например, установленного государством) и превышать некоторого максимума (например, устанавливаемого предприятием, организацией, ...) |
Зарп_выд | Дата | Дата выдачи зарплаты не может выпадать на выходные дни. |
Атрибуты. Мы определили следующие атрибуты: Сотр_номер - номер пропуска сорудника; Сотр_фам - фамилия, имя, отчество сотрудника; Сотр_отдел - отдел, в котором работает сотрудник; Сотр_зарпл - размер заработанной платы, выдаваемой сотруднику; Зарп_выд - дата выдачи зарплаты.
Отношение. Согласно определению схема отношения СОТРУДНИКИ будет иметь вид:
СОТРУДНИКИ( <Сотр_номер : Номер_пропуска>, <Сотр_фам : Фамилия >, <Сотр_отдел : Отдел >, <Сотр_зарпл : Зарплата >, <Зарп_выд : Дата_выдачи > )
Кортежи отношения:
2141 | Иванов И.А. | 1 | 1 000 | 16.09.00 |
3545 | Агапов В.А. | 5 | 1 134 | 23.09.00 |
3564 | Смирнов К.Н. | 2 | 1 250 | 23.09.00 |
Первичный ключ. Среди рассмотренных атрибутов в качестве первичного ключа мы выбрали Сотр_номер, поскольку у каждого сотрудника имеется свой личный номер пропуска, отличный от других.
Предыдущая страница | Следующая страница |