Опубликован: 04.06.2009 | Уровень: специалист | Доступ: свободно | ВУЗ: Нижегородский государственный университет им. Н.И.Лобачевского
Лекция 7:

Формализация реляционной модели

< Лекция 6 || Лекция 7: 123 || Лекция 8 >
Аннотация: В лекции рассматриваются вопросы, связанные с формализацией наиболее распространенной в настоящее время модели данных СУБД – реляционной модели. Здесь рассматривается формализованное описание отношений и средств манипулирования данными в реляционной модели.

Цель лекции: рассмотреть формализованное описание реляционной модели и операций манипулирования данными как основу для использования математических методов проектирования баз данных и основу создания языков запросов к базе данных.

7.1. Формализованное описание отношений и схемы отношений

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

Пусть A1, A2, ..., An имена атрибутов. Каждому имени атрибута Ai соответствует допустимое множество значений, которые может принимать атрибут Ai. Это множество значений Di называется доменом атрибута Ai, i=1,n. По определению, домены являются непустыми конечными или счетными множествами. Уточним, что в теории реляционных баз данных домен рассматривается как множество значений одного (причем простого) типа данных. Понятию домена Di соответствует множество значений, стоящих в столбце Ai рассматриваемой таблицы.

Схемой отношения R {A1, A2, ..., An} называется конечное множество имен атрибутов {A1, A2, ..., An}, причем атрибут Ai принимает значение из множества Di (i=1, 2, ..., n), где nарность отношения.

Понятию "схема отношения" соответствует описание структуры двумерной таблицы (имена столбцов и допустимые множества значений).

Пусть D = D_{1}\cup  D_{2}\cup  \dots  \cup  D_{n}.

Отношением r со схемой R называется конечное множество отображений {t1, t2, ..., tp} из множества R: {A1, A2, ..., An} в множество D:\{ D_{1}\cup D2\cup \dots \cup D_{n}\}, таких, что t_{k}(A_{i}) \in  D_{i}, k=\overline{1,p}; i=\overline{1,n}.

Отображение tk называется k -м кортежем, nразмерность кортежа.

Понятию k -го кортежа соответствует множество значений, стоящих в k -й строке рассматриваемой таблицы.

Понятию отношения r соответствует множество значений, стоящих во всех строках рассматриваемой таблицы.

Ключом отношения r со схемой R называется минимальное подмножество K = \{ A_{i1}, A_{i2}, \dots , A_{im}\} \subseteq \{ A_{1}, A_{2}, \dots , A_{n}\}, где \{ i_{1}, i_{2}, \dots ,i_{m}\} \subseteq \{ 1, 2, \dots , n\}, такое, что любые два различных кортежа t_{1}, t_{2} \in  r (t_{1} \ne  t_{2}) не совпадают по значениям множества K ={Ai1, Ai2, ..., Aim}.

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

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

Выпишем реляционную модель данных примера из "Вторая стадия концептуального проектирования (Модели данных СУБД. Представление концептуальной модели средствами модели данных СУБД)" (см. рис. 6.3.). Введем обозначения атрибутов всех соответствующих сущностей. Пусть A1 – код студента, A2 – фамилия, A3 – дата рождения, A4место рождения, A5 – номер факультета, A6 – название факультета, A7 – номер специальности, A8 – название специальности. Обозначим схему отношения СТУДЕНТ как R1, ФАКУЛЬТЕТ как R2, СПЕЦИАЛЬНОСТЬ как R3, СТУДЕНТ УЧИТСЯ НА ФАКУЛЬТЕТЕ как R4, СТУДЕНТ УЧИТСЯ ПО СПЕЦИАЛЬНОСТИ как R5, НА ФАКУЛЬТЕТЕ ИМЕЮТСЯ СПЕЦИАЛЬНОСТИ как R6.

Тогда реляционная модель соответствующего примера описывается следующей совокупностью схем отношений:

R1(A1, A2, A3, A4)
R2(A5, A6)
R3(A7, A8)
R4(A1, A5)
R5(A1, A7)
R6(A5, A7)

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

r1, r2, r3, r4, r5, r6,

Отметим следующие свойства отношения:

  1. Отношение имеет имя, которое отличается от имен всех других отношений.
  2. Каждое значение элементов кортежей представляется простым (атомарным) типом данных.
  3. Каждый атрибут имеет уникальное имя.
  4. Значения всех атрибутов являются атомарными (неделимыми). Это следует из определения домена как множества значений простого типа данных, т.е. среди значений домена не могут содержаться множества.
  5. Порядок рассмотрения атрибутов в схеме отношения (отношении) не имеет значения, т.к. для ссылки на значение атрибута в кортеже отношения всегда используется имя атрибута.
  6. Порядок рассмотрения кортежей в отношении не имеет значения, т.к. отношение представляет собой множество кортежей, а элементы множества, по определению теории множеств, неупорядочены.
< Лекция 6 || Лекция 7: 123 || Лекция 8 >
Александра Каева
Александра Каева
Карина Максутова
Карина Максутова
Андрей Садовщиков
Андрей Садовщиков
Россия