Приветствую Вас, Гость
Главная » Статьи » Компьютеры » Базы данных

Основные понятия реляционной модели данных

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

Структура данных определяет форму представления данных. Ее основу составляет концепция отношений. Математическое понятие отношения (relation) в  теории БД сводится к двумерным таблицам и представляется в виде набора столбцов, отражающих свойства (в реляционной терминологии атрибутов), и строк (в реляционной терминологии кортежи), в которых хранятся конкретные значения атрибутов, определяющие экземпляры сущностей отношения. Записи в таблице неотсортированы и не дублируются.

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

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

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

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

В таблице оценок студентов по разным предметам помимо идентификации студента нужна еще идентификация предмета (или преподавателя). Это пример составного ключа.

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

Ключей может быть несколько. Например, ключом в таблице данных о студентах может быть как номер зачетки, так и номер паспорта. Принято выделять основной или первичный ключ. Другие ключи называются возможными или потенциальными. Атрибуты, входящие в состав какого-либо возможного ключа, называют ключевыми. Остальные атрибуты считают неключевыми.


Хотя первичные ключи являются важной частью реляционной модели данных, в первых реляционных СУБД (System/R, DB2, Oracle и других) не была обеспечена явным образом их поддержка. Как правило, проектировщики базы данных сами следили за тем, чтобы у всех таблиц были первичные ключи, однако в самих СУБД не было возможности определить для таблицы первичный ключ. И только в СУБД DB2 Version 2, появившейся в апреле 1988 года, компания IBM реализовала поддержку первичных ключей. После этого подобная поддержка была добавлена в стандарт ANSI/ISO.

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

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

      Внешние ключи являются неотъемлемой частью реляционной модели, поскольку реализуют отношения между таблицами базы данных. К несчастью, как и в случае с первичными ключами, поддержка внешних ключей отсутствовала в первых реляционных СУБД. Она была введена в системе DB2 Version 2 и теперь имеется во всех коммерческих СУБД.

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

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

Источник: Основные понятия реляционной модели данных
Категория: Базы данных | Добавил: Zixerok (13.10.2011)
Просмотров: 2928 | Комментарии: 1 | Теги: модель данных, реляционная | Рейтинг: 5.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *: