Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<== предыдущая лекция | следующая лекция ==>
Модели данных СУБД | Двенадцать правил Кодда для реляционных СУБД
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 339; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.