Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неделя 03 Лекция 2 (5).doc
Скачиваний:
2
Добавлен:
13.11.2019
Размер:
334.85 Кб
Скачать

5.2.4. Свойства отношений.

Отношение обладает следующими характеристиками.

  • Отношение имеет имя, которое отличается от имен всех других отношений.

  • Каждая ячейка отношения содержит только атомарное (неделимое) значение.

  • Каждый атрибут имеет уникальное имя.

  • Значения атрибута берутся из одного и того же домена.

  • Порядок следования атрибутов не имеет никакого значения.

  • Каждый кортеж является уникальным, т.е. дубликатов кортежей быть не может.

  • Теоретически порядок следования кортежей в отношении не имеет никакого значения. (Однако на практике этот порядок может существенно повлиять на эффективность доступа к ним.)

Для иллюстрации смысла этих ограничений давайте снова рассмотрим отношение BookAuthors, показанное на рис. 5.1. Поскольку каждая ячейка должна содержать только одно значение, то не допускается хранение в одной и той же ячейке двух номеров телефона одного и того же отделения компании. Иначе говоря, отношения не могут содержать повторяющихся групп. Об отношении, которое обладает таким свойством, говорят, что оно нормализовано, или находится в первой нормальной форме. О нормализации поговорим позднее.

Имена столбцов, указанные в их верхней строке, соответствуют именам атрибутов отношения. Значения атрибута Code берутся из домена AllCode — не допускается размещение в этом столбце иных значений, например даты рождения. Столбцы можно менять местами при условии, что имя атрибута перемещается вместе с его значениями. Таблица все еще будет представлять то же отношение, если атрибут Patronymic расположить в ней перед атрибутом FamilyName, хотя для лучшей читабельности разумнее было бы располагать отчество за именем.

Отношение не может содержать кортежей-дубликатов. Например, строка (1, Тихонов, Олег, Николаевич, NULL, NULL, BLOB, blob) может быть представлена в отношении только один раз. При необходимости строки можно менять местами произвольным образом (например, переместить строку с кодом '1' на место строки с кодом '5'), само отношение при этом останется прежним.

Большая часть свойств отношений происходит от свойств математических отношений.

  • Поскольку отношение является множеством, то порядок элементов не имеет значения. Следовательно, порядок кортежей в отношении несущественен.

  • В множестве нет повторяющихся элементов. Аналогично, отношение не может содержать кортежей-дубликатов.

  • При вычислении декартового произведения множеств с простыми одно­значными элементами (например, целочисленными значениями), каждый элемент в каждом кортеже имеет единственное значение. Аналогично, каждая ячейка отношения содержит только одно значение. Однако математическое отношение не нуждается в нормализации. Кодд предложил запретить наличие повторяющихся групп с целью упрощения реляционной модели данных.

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

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