Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ИОСУ Ч.1 _2016.docx
Скачиваний:
2
Добавлен:
31.01.2024
Размер:
2.97 Mб
Скачать

2.4 Свойства отношений. Отличие отношений от таблиц.

Любое отношение можно изобразить в виде таблицы, но нужно понимать, что отношения не являются просто таблицами. Это близкие, но не совпадающие понятия. То, что не каждая таблица может задавать отношение, наиболее очевидно следует из анализа свойств отношений.

Сформулируем фундаментальные свойства отношений [6].

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

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

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

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

2.5 Понятие целостности данных

При описании реляционной модели использовалась наиболее распространенная трактовка, которая принадлежит К. Дейту. Также согласно Дейту, реляционная модель состоит из трех частей [6, 7]:

  1. структурной части,

  2. целостной части,

  3. манипуляционной части.

Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализованные n-арные отношения. Рассмотренные выше свойства отношений, по сути, отражают структурную часть реляционной модели данных.

Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных БД. Под целостностью данных понимают правильность, актуальность данных в любой момент времени.

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

Помимо этого задаются 3 группы правил целостности, которые являются ограничениям для всех допустимых состояний БД:

  • целостность сущностей (отношений),

  • целостность внешних ключей,

  • целостность, которая определяется пользователем.

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

NULL указывает, что значение атрибута в настоящий момент неизвестно. Его не следует воспринимать как логическую величину “неизвестно” (никакое значение еще не задано) или понимать как нулевое численное значение или заполненную пробелами текстовую строку. Нули и пробелы представляют собой некоторые значения, тогда как ключевое слово NULL призвано обозначать отсутствие какого-либо значения.

По определению, первичный ключ (primary key) - это уникальный идентификатор кортежей отношения. Это значит, что никакое подмножество ключа не может быть достаточным для уникальной идентификации кортежей. Если допустить присутствие значения NULL в любой части первичного ключа, это равноценно утверждению, что не все его атрибуты необходимы для идентификации, что противоречит определению.

Ссылочная целостность касается внешних ключей. Внешний ключ (foreign key) - это атрибут или множество атрибутов внутри отношения, которое соответствует первичному ключу некоторого другого отношения.

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

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

Корпоративные ограничения целостности - это дополнительные правила поддержки целостности данных, определяемые пользователями или администраторами БД.

Например, если в одном отделении предприятия не может работать свыше 20 человек, то пользователь может указать это правило, а СУБД следить за его исполнением.

Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными - реляционную алгебру и реляционное исчисление. Реляционная алгебра – это процедурный язык обработки реляционных таблиц, а реляционное исчисление – непроцедурный язык создания запросов.

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

Таблица 1

Реляционный термин

Табличный термин

База данных

Набор таблиц

Схема базы данных

Набор заголовков таблиц

Отношение

Таблица

Заголовок отношения

Заголовок таблицы

Тело отношения

Тело таблицы

Атрибут отношения

Наименование столбца таблицы (столбец, поле)

Кортеж отношения

Строка таблицы (запись)

Степень (-арность) отношения

Количество столбцов таблицы

Мощность отношения

Количество строк таблицы

Домены и типы данных

Типы данных в ячейках таблицы

Также следует понимать, что обычно строка или запись означает на самом деле «экземпляр записи», а атрибут или поле – имя и тип поля.

Соседние файлы в предмете Информационное обеспечение систем управления