16.6. Структурная часть: свойства отношений

Свойства отношений: в любом отношении 1. нет одинаковых кортежей, 2. кортежи не упорядочены сверху вниз, 3. атрибуты не упорядочены слева направо, 4. все значения атрибутов атомарны.

1. Свойство вытекает из того факта, что тело отношения – это математическое множество (кортежей), а множество в математике по определению не содержит одинаковых элементов. Следствием того, что не существует одинаковых строк, является то, что всегда существует первичный ключ. Таблицы в отличие от отношений могут содержать одинаковые строки.

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

3. Это свойство следует из того факта, что заголовок отношения определен как множество (атрибутов). Нет понятия первый атрибут, последний, нет понятия последовательность. То есть атрибуты определяются по имени, а не расположению. В таблице столбцы упорядочены.

4. Свойство следствие того, что все лежащие в основе домены содержат только атомарные значения. То есть на пересечении столбца и строки расположено в точности одно значения, а не набор значений. Отношение отвечающее этому условию, называется нормализованным или представленным в 1 нормальной форме.

В ячейках же таблицы можно поместить что угодно – массивы, структуры, и другие таблицы.

Требование, что отношения должны содержать только данные простых типов, объясняет, почему отношения называют плоскими таблицами. Действительно, таблицы, задающие отношения двухмерны. Одно измерение задается списком столбцом, второе измерение задается списком строк. Пара координат (номер строки, номер столбца) однозначно идентифицирует ячейку таблицы и содержащиеся в ней значение. Если допустить, что в ячейке таблицы могут содержаться данные сложных типов, то такая таблица будет уже не плоской. Например, если в ячейке таблицы содержится массив, то для обращения массива нужно знать три параметра (номер строки, номер столбца, номер элемента в массиве).РЕЗЮМЕ:

  1. Реляционную модель можно рассматривать как язык программирования, специально ориентированный на приложения БД.

  2. Именованные отношения это переменные, значения которых меняются. Домены же не являются переменными.