Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие(А4).doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3.19 Mб
Скачать

7.6.2 Реляционная структура данных

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

Множество возможных значений некоторой характеристики объекта называется доменом (domain):

Di = {di1, di2, din}.

Например, в качестве домена можно рассматривать такие характеристики студента, как его фамилия, курс, рост и т.п.:

Dkypc = {l, 2, 3, 4, 5, 6};

Dфамилия = {Иванов, Петров, Сидоров, Кусков, Уткин...};

Dрост = {l60, 161, 181,...,190}.

Очевидно, что можно сопоставить понятия «атрибут» инфологической и «домен» реляционной моделей данных. Возможные значения характеристик объектов могут принимать числовые или текстовые значения, а их множества могут быть как конечными, так и бесконечными. Отметим, что в случае конечности домена можно организовать проверку явных ограничений целостности: в нашем примере домен Dpocт определяет, что все студенты должны иметь рост от 160 до 190 см, а номер курса не может превышать 6.

Другой пример: домен номеров поставщиков — это множество допустимых номеров поставщиков, домен объемов поставки — множество целых, больших нуля и меньших, например 10 000. Таким образом, домены представляют собой пулы значений, из которых берутся фактические значения, появляющиеся в атрибутах (столбцах). Смысл доменов заключается в следующем. Если значения двух атрибутов берутся из одного домена, то имеет смысл их сравнение, а следовательно, и соединение, и объединение, и т.д. Если же значения атрибутов берутся из разных доменов, то всякие их сравнения лишены смысла.

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

Вектор размерности k, включающий в себя по одному из возможных значений k доменов, называется кортежем (tuple).

Для приведенного выше примера кортежами являются:

(1, Иванов, 160); (3, Сидоров, 181); (5, Уткин, 184).

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

Декартовым произведением k доменов называется множество всех возможных значений кортежей:

D = D1 × D2×...×Dk.

Пусть для того же примера определены три домена:

D1 = {1,4};

D2 = {Иванов, Петров};

D3 ={168,181}.

Т огда их декартовым произведением будет множество D, состоящее из восьми записей:

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

Иными словами, декартово произведение — множество всевозможных комбинаций элементов исходных доменов.

Наконец, важнейшее определение: отношением (relation) R, определенным на множествах доменов Dl, D2,...,Dk, называют подмножество их декартова произведения:

R D1 × D2×...×Dk.

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

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

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

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

Отношение на доменах D1, D2,...,Dn состоит из заголовка и тела. Заголовок содержит такое фиксированное множество атрибутов А12,...,Ап, что существует взаимно однозначное соответствие между этими атрибутами Ai и определяющими их доменами Di (i = 1,n). Тело — меняющееся во времени множество кортежей, где каждый кортеж, в свою очередь, состоит из множества пар атрибутов-значений (Ai, : Vi), (i = 1,n), по одной такой паре для каждого атрибута А; в заголовке. Для любой заданной пары атрибут-значение (Ai, : Vi;) Vi является значением из единственного домена Di, с которым связан атрибут Ai. Таким образом, все отношения соответствуют приведенному определению отношения.

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

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