Файл: Базы данных - уч. пособие.pdf

Добавлен: 28.11.2018

Просмотров: 10874

Скачиваний: 43

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

36

Глава 3. Реляционная модель

цию о любой предметной области, а также возможность реализации на их основе
гибких пользовательских приложений. Единственным ограничением для широко-
масштабного внедрения реляционных СУБД являлась низкая производительность
средств вычислительной техники [9].

Появление и стремительное распространение персональных компьютеров, а так-

же простота управления реляционной БД способствовали быстрому расширению
рынка реляционных СУБД и признанию таких систем разработчиками и пользова-
телями приложений.

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

ляющие: структурную часть, манипуляционную и целостную.

3.1.2 Смысл понятий реляционной модели

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Смысл этих понятий наглядно поясним на примере отношения СТУДЕНТЫ

(рис. 3.1).

Рис. 3.1 – Отношение СТУДЕНТЫ


background image

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

37

В реляционной модели данные представляются в виде отношений. Отноше-

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

Схема отношения состоит из названий атрибутов и типов данных, на которых

определены эти атрибуты.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Можно сказать, что схема отношения есть конечное множе-
ство имен атрибутов, которым ставится в соответствие опре-
деленный тип данных (или домен, если СУБД поддерживает это
понятие)
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Степень схемы отношения есть мощность этого множества. Степень или ар-

ность отношения СТУДЕНТЫ равна пяти, т. е. это отношение является 5-арным.
Таким образом, схема БД есть набор схем отношений.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Отношение есть множество кортежей, соответствующих од-
ной схеме отношения 
[1].
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Схему отношения называют заголовком, а совокупность кортежей отноше-

ния — телом отношения. Кортеж отношения (запись) описывает часть экземпля-
ра объекта предметной области (ПрО) или, если объект ПрО характеризуется од-
ним отношением, в одном кортеже отражается полная характеристика экземпляра
объекта.

Таким образом, реляционная база данных состоит из набора взаимосвязанных

отношений, имена которых совпадают с именами схем отношений в схеме БД [1].
При проектировании базы данных сначала определяют схемы отношений, после
чего заносят данные. В некоторых СУБД после определения схемы отношения
нельзя ни удалить и ни переименовать ни один из его атрибутов. Однако можно
удалять отношения, менять их названия, менять типы данных атрибутов. Струк-
турное изменение схем отношений БД называют также эволюцией базы данных.

Типам данных в реляционной модели можно сопоставить типы данных, ис-

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

• символьные (текстовые);

• числовые;

• логические;

• дата/время.

В некоторых СУБД введены дополнительные типы данных, например в СУБД

MS Access используется тип данных объекта OLE — в полях такого типа можно


background image

38

Глава 3. Реляционная модель

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Домен — множество допустимых значений атрибута определен-
ного типа.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Это понятие характерно для баз данных и аналогично подтипам в языках про-

граммирования высокого уровня, домен может быть определен на основе конкрет-
ного типа данных.

Домен определяется заданием некоторого базового типа данных, к которому

относятся элементы домена, и произвольного логического выражения, применяе-
мого к элементу типа данных. Если вычисление этого логического выражения дает
результат «истина», то элемент данных является элементом домена [1].

Например, домен «Дата рождения» в нашем примере определен на базовом

типе «Дата/время», но в число его значений могут входить только даты, которые
могут отображать только дату без отображения времени. Атрибут «Пол» тексто-
вого типа, определенный на одноименном домене, может принимать только два
значения: «М» или «Ж».

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

В примере (рис. 3.1) значения атрибутов «Номер группы» и «Пол» относятся

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

После описания домена можно дать обобщенное определение понятия «отно-

шение»:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Пусть дана совокупность доменов T

1

, T

2

,. . ., T

n

. Тогда n-арным

отношением R называют подмножество декартовa произведе-
ния множеств T

1

, T

2

,. . ., T

n

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Для лучшего понимания реляционной модели данных можно привести интер-

претацию основных понятий (таблица 3.1).


background image

3.2 Свойства отношений

39

Таблица 3.1 – Интерпретация основных понятий реляционной модели данных

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

модели

Форма представления в БД

Отношение

Таблица

Схема отношения

Заголовок таблицы

Кортеж

Строка таблицы (запись)

Атрибут

Поле таблицы

Имя атрибута

Имя поля таблицы

Значение атрибута

Значение поля в записи

Первичный ключ

Одно или несколько уникальных полей

Тип данных

Тип значений полей таблицы

Домен

Множество допустимых значений поля таблицы

3.2 Свойства отношений

3.2.1 Уникальность кортежей отношения

Отношениям как основной единице построения реляционных баз данных при-

сущи определенные свойства и правила заполнения отношения сведениями об эк-
земплярах объекта предметной области.

Главное отличие отношения от плоской таблицы заключается в том, что от-

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

В современных СУБД для обеспечения свойства уникальности записей в каж-

дой таблице БД определяется первичный ключ на существующем наборе атрибу-
тов или дополнительно вводится идентификатор записи, формируемый программ-
но или автоматически самой СУБД (автоинкремент, счетчик и т. д.) — атрибут, зна-
чение которого является уникальным для каждой записи отношения БД. На ри-
сунке 3.2 приведены два варианта первичных ключей — на атрибуте «№ зачетной
книжки» и суррогатного первичного ключа «ID_stud».

Здесь необходимо отметить, что создание суррогатного первичного ключа це-

лесообразно в том случае, если первичный ключ может быть определен на сово-
купности из трех и более атрибутов.


background image

40

Глава 3. Реляционная модель

Рис. 3.2 – Варианты определения первичных ключей в таблице Студенты

3.2.2 Отсутствие упорядоченности кортежей и атрибутов

В каком бы порядке ни хранились данные в отношении, их смысл не будет из-

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

Хотя некоторые реляционные СУБД позволяют обеспечить доступ к атрибуту

отношения по порядковому номеру, который присваивается атрибуту в схеме отно-
шения в этих СУБД, атрибуты в большинстве своем не упорядочены, и для ссылки
на значение атрибута обычно (а в языках манипулирования данными — обязатель-
но) используется имя атрибута.

Обеспечение этих свойств позволяет, с одной стороны, СУБД хранить данные

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

3.2.3 Атомарность значений атрибутов, первая нормальная
форма

Одним из главных свойств отношений является соблюдение принципа нор-

мализации, иначе говоря, каждое отношение в БД должно удовлетворять первой
нормальной форме (1NF).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Иными словами, значением атрибута отношения не может быть какое-либо

отношение; значениями атрибутов не являются составные данные. Каждое отно-
шение в 1NF является особым случаем ненормализованного отношения, но каждое
ненормализованное отношение не находится в 1NF [7]. На рисунке 3.3 приведен
пример ненормализованного отношения ГРУППЫ. Можно сказать, что здесь мы
имеем бинарное отношение, где значением атрибута СТУДЕНТЫ является отношение.