Отношение отображают таблицей, каждая строка которой подставляет кортеж, количество столбцов таблицы равно степени отнoшeния, а число строк — его мощности. Из того факта, что отношение есть множество, следует, что никакие два кортежа не совпадают и что упорядоченность кортежей несущественна. Это ограничение приводит к понятию ключа отношения.
Определение. Ключ отношения — это подмножество атрибутов, совокупность значений которых однозначно идентифицирует кортеж.
Каждое отношение имеет, по крайней мере, один ключ (состоящий из всех атрибутов). Это следует из того, что дублирование строк не допускается. Отношение может иметь и несколько ключей, называемых возможными ключами. Для того чтобы исключить тривиальные ключи, необходимо, чтобы ключ обладал следующими двумя свойствами:
- 1) однозначность идентификации (значение ключа однозначно идентифицирует кортеж отношения);
- 2) неизбыточность (никакое подмножество атрибутов ключа не обладает свойством С1).
Один из возможных ключей выбирается в качестве первичного ключа отношения. Первичный ключ не разрешается обновлять. Кроме того, первичный ключ не может принимать значения «не опредeлeнo».
Второе свойство множеств, присущее отношениям, состоит в том, что порядок строк в таблице несущественен [13].
Большинство конкретных реляционных моделей данных предусматривает средства спецификации явных ограничений целостности, накладываемых на отношения. Например, для атрибута можно задать домен сравнимости, применяемый для указания осмысленности сравнения значений.
2.4 Операции
Одним из важных моментов определения операций является обеспечение достаточной простоты их усвоения пользователем. Важнейшее свойство языков данных реляционной модели — возможность определять новые отношения, базируясь на существующих отношениях и используя реляционную алгебру, или реляционное исчисление, или отображение [14].
Реляционные языки данных могут быть разделены на три класса. К первому классу относятся языки, базирующиеся на реляционном исчислении (язык QUEL в СУБД INGRESS и язык ALPHA). Эти языки предусматривают использование кванторов. Второй класс составляют дисплей-ориентированные языки. Применяя их, можно сформулировать запрос путем указания соответствующих элементов отображения, выведенного на экран дисплея, или наполнения пустых граф (язык Query by Example — QBE). К третьему классу принадлежат языки, ориентированные на отображения. Таким языком является SQL (Structured Query Language), ранее известный как SEQUEL. Язык SQL поддерживается многими реляционными системами, а также и системой FOXPRO. Языки реляционной алгебры используются теоретически, но не реализованы ни в одной реляционной системе.