Кортеж, отношение, ключи

Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута - значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "Значение" является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Степень или «арность» кортежа, т.е. число элементов в кортеже, совпадает с «арностью» соответствующей схемы отношения. Кортеж - это набор именованных значений заданного типа.

Отношение - это множество кортежей, соответствующих одной схеме отношения. Иногда, чтобы не путаться, говорят «отношение-схема» и «отношение-экземпляр», иногда схему отношения называют заголовком отношения, а отношение как набор кортежей - телом отношения. На самом деле, понятие схемы отношения ближе всего к понятию структурного типа данных в языках программирования. Было бы вполне логично разрешать отдельно определять схему отношения, а затем одно или несколько отношений с данной схемой.

Однако в реляционных базах данных это не принято. Имя схемы отношения в таких базах данных всегда совпадает с именем соответствующего отношения-экземпляра. В классических реляционных базах данных после определения схемы базы данных изменяются только отношения-экземпляры. В них могут появляться новые и удаляться или модифицироваться существующие кортежи. Однако во многих реализациях СУБД допускается и изменение схемы базы данных: определение новых и изменение существующих схем отношения. Это принято называть эволюцией схемы базы данных.

Обычным представлением отношения является таблица, заголовком которой является схема отношения, а строками - кортежи отношения-экземпляра; в этом случае имена атрибутов именуют

Рисунок 3.1 Пример отношения СОТРУДНИКИ

 

столбцы этой таблицы. Поэтому иногда говорят «столбец таблицы» имея в виду «атрибут отношения». Когда мы перейдем к рассмотрению практических вопросов организации реляционных БД и средств управления, мы будем использовать эту житейскую терминологию. Этой терминологии придерживаются в большинстве коммерческих реляционных СУБД.

Термины, которыми оперирует реляционная модель данных, имеют соответствующие «табличные» синонимы, представленные в таблице 3.1

Таблица 3.1 – Соответствие терминов

Реляционный термин Соответствующий «табличный» термин
База данных Набор таблиц
Схема базы данных Набор заголовков таблиц
Отношение Таблица
Заголовок отношения Заголовок таблицы
Тело отношения Тело таблицы
Атрибут отношения Столбец (колонка) таблицы
Кортеж отношения Строка таблицы
Степень (-арность) отношения Количество столбцов таблицы
Мощность отношения Количество строк таблицы
Домены и типы данных Типы данных в ячейках таблицы

Реляционная база данных - это набор отношений, имена которых совпадают с именами схем отношений в схеме БД.

Ключ – набор атрибутов, значение которых однозначно идентифицирует кортежи. Отношение может иметь несколько ключей, но всегда один из ключей объявляется первичным и его значения не могут обновляться. Все остальные ключи называются возможными ключами. Атрибуты, представляющие собой копии ключей других отношений называются внешними ключами.