Принципы реляционной модели

Реляционная модель была разработана в 1970 г. доктором Коддом. Она основывается на математических принципах, вытекающих из теории множеств и логики предикатов. Кодд определил 13 правил реляционной модели (12 правил Кодда).

В реляционной модели данные разбиваются на наборы, которые составляют табличную структуру. Упорядоченная структура в идее строк и столбцов называется отношением (relation, таблица). Каждая строка называется кортежем (записью), столбец – атрибутом (полем).

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

Сущность - некоторый обособленный объект или событие, информацию о котором необходимо сохранять в базе данных, имеющий определенный набор свойств - атрибутов. Сущности могут быть как физические (реально существующие объекты: например, СТУДЕНТ, атрибуты - № зачетной книжки, фамилия, его факультет, специальность, № группы и т.д.), так и абстрактные (например, ЭКЗАМЕН, атрибуты - дисциплина, дата, преподаватель, аудитория и пр.). Для сущностей различают ее тип и экземпляр. Тип характеризуется именем и списком свойств, а экземпляр - конкретными значениями свойств.

Атрибуты сущности бывают:

1. Идентифицирующие и описательные. Идентифицирующие атрибуты имеют уникальное значение для сущностей данного типа и являются потенциальными ключами. Они позволяют однозначно распознавать экземпляры сущности. Из потенциальных ключей выбирается один первичный ключ (РК - primary key). В качестве РК обычно выбирается потенциальный ключ, по которому чаще происходит обращение к экземплярам записи. РК должен включать в свой состав минимально необходимое для идентификации количество атрибутов. Остальные атрибуты называются описательными.

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

3. Однозначные и многозначные - могут иметь соответственно одно или много значений для каждого экземпляра сущности. Например, для сотрудника фирмы атрибут «Предыдущее место работы» - многозначный, он может иметь одно значение, несколько значений или не иметь ни одного.

4. Основные и производные. Значение основного атрибута не зависит от других атрибутов. Значение производного атрибута вычисляется на основе значений других атрибутов (например, возраст человека вычисляется на основе даты его рождения и текущей даты

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

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

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

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

Выделяют три разновидности связи между таблицами базы данных:

· "один–ко–многим";

· "один–к–одному";

· "многие–ко–многим".

Отношение "один–ко–многим" ("многие–к–одному"), 1:N

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

Отношение "один–к–одному", 1:1

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

Отношение "многие–ко–многим", M:N

Отношение "многие–ко–многим" применяется в следующих случаях:

· одной записи в родительской таблице соответствует более одной записи в дочерней;

· одной записи в дочерней таблице соответствует более одной записи в родительской.

Пример – СТУДЕНТ – ЭКЗАМЕН (каждый студент сдает несколько экзаменов и каждый экзамен сдают несколько студентов).

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: