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


 

Элемент реляционной модели Форма представления
Отношение Таблица
Схема отношения Строка заголовков столбцов таблицы (заголовок таблицы)
Кортеж Строка таблицы
Сущность Описание свойств объекта
Атрибут Заголовок столбца таблицы
Домен Множество допустимых значений атрибута
Значение атрибута Значение поля в записи
Первичный ключ Один или несколько атрибутов
Тип данных Тип значений элементов таблицы

 

На рис. 1 дан пример представления отношения Студент в РМД.

 

 

Рисунок 1 - Представление отношения СТУДЕНТ в РМД

 

В РМД также используются следующие основные термины.

Сущность - объект любой природы, данные о котором хранятся в БД. Данные о сущности хранятся в отношении.

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

Математически отношение можно описать следующим образом. Пусть даны n множеств D1, D2, ..., Dn, тогда отношение R есть множество упорядоченных кортежей <d1, d2, ..., dn>, где , dk - атрибут, a Dk - домен отношения R.

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

Домен - множество всех возможных значений определенного атрибута отношения. Например, отношение СТУДЕНТ (рис. 1) включает 5 доменов:

- домен 1 содержит номера всех студентов (например, номера личных дел, хранящихся в деканате);

- домен 2 – фамилии студентов;

- домен 3 – имена студентов;

- домен 4 – сокращенные наименования факультетов;

- домен 5 – даты рождения студентов.

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

Схема отношения (заголовок отношения) - список имен атрибутов. Например, для приведенного примера схема отношения имеет вид

 

СТУДЕНТ (Номер, Фамилия, Имя, Факультет, Дата_рождения).

 

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

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

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

Ключи обычно используют для достижения следующих целей: 1) исключения дублирования значений в ключевых атрибутах (остальные атрибуты в расчет не принимаются); 2) упорядочения кортежей (возможны различные виды упорядочения); 3) ускорения работы с кортежами отношения; 4) организации связывания таблиц.

Пусть в отношении R1 имеется неключевой атрибут А, значения которого являются значениями ключевого атрибута В другого отношения R2. Тогда говорят, что атрибут А отношения R1 есть внешний ключ. С помощью внешних ключей устанавливаются связи между отношениями. Например, имеются отношения: Студент(рис. 1) и Предмет(Название, Семестр, Часы), связанные отношением Студент_Предмет(Номер, Название, Оценка) (рис. 2).

 

 

Рисунок 2 - Пример связи отношений

 

Атрибуты Номер и Название отношений Студент и Предмет-первичные ключи (обозначены ПК на рис. 2), аналогичные атрибуты отношения Студент_Предмет являются внешними ключами (обозначены ВК).

Отношения и соответствующие им реляционные таблицы могут быть связаны между собой с помощью ранее рассмотренных типов связей: один-к-одному (1:1); один-ко-многим (1:¥или1:М); многие-ко-многим (¥:¥илиМ:М).

Связь 1:1 предполагает, что в каждый момент времени одному экземпляру сущности А соответствует не более одного экземпляра сущности В и наоборот. При этом каждая запись (строка) в таблице, характеризующей объект А, соответствует только одной записи (строке) в таблице, характеризующей объект В. Пример: связь между сущностями Студент и Посещения занятий, если каждый студент имеет определённый уникальный набор посещенных занятий по разным предметам за семестр.

При связи 1:¥ одному экземпляру сущности А соответствует 0, 1 или более экземпляров объекта В, но каждый экземпляр сущности В связан не более чем с одним экземпляром сущности А. При этом каждая запись в таблице, описывающей объект А, соответствует многим записям в таблице, описывающей объект В. Примером связи 1:¥ служит связь между сущностями Заработная плата и Сотрудники, когда установленный размер заработной платы может повторяться многократно для различных сотрудников.

Связь ¥:¥ предполагает, что в каждый момент времени одному экземпляру сущности А соответствует 0, 1 или более экземпляров сущности B и наоборот. Пример такой связи - связь между сущностями Студент и Преподаватель, когда один студент обучается у многих преподавателей, а один преподаватель обучает многих студентов. Связь ¥:¥не реализуется в реляционных БД непосредственно (для двух таблиц). Для организации такой связи используется промежуточная (третья) таблица-связка для «замены» одной связи ¥:¥на «сумму» двух связей 1:¥ и ¥:1.

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

 



Дата добавления: 2016-06-22; просмотров: 6589;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.