Представление статических и динамических свойств

Средствами ЯОД определяются допустимые структуры данных – объектов (сущностей) и связей, а также допустимые реализации данных.

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

В соответствии с этим в некоторых моделях данных правила порождения делятся на две части:

- правила порождения структуры Gs (Structure),

- правила порождения ограничений Gc (Constraints)

Таким образом:

- правила порождения G обеспечивают порождение множества схем S, каждая из которых (Si) определяет конкретную структуру данных и специфицирует ограничения целостности;

- конкретной схеме Si соответствует множество различных реализаций базы данных Di1, Di2, …;

- множество операций определяет допустимые действия над реализацией БД Dij для преобразования ее в другую реализацию Dik

Следовательно, модель данных определяет структуру, ограничения целостности и допустимые операции.

Рассмотрим общие характеристики, правила, соответствующие представлению этих трех составляющих модели данных.

5. Общая характеристика структурных компонентов. Множества: домены и атрибуты

К структурным компонентам модели данных относятся:

- категории,

- свойства категории,

- связи между категориями.

Категория представляет собой агрегат свойств. Свойства представляются совокупностью (множеством) значений. Отсюда, рассматриваем понятие множества.

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

Начнем рассмотрение с множеств – доменов.

Определение

Множество – это собрание правильно идентифицированных объектов, удовлетворяющих правилу принадлежности.

Правила (условия) принадлежности могут быть определены по-разному, например:

- целые положительные десятичные числа,

или

- вещественные числа в диапазоне от 0 до 1

и т.п.

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

Множество характеризуется двумя важными свойствами: интенсионалом (intentional) и экстенсионалом (extensional).

Определение множества (правила принадлежности) задает его интенсионал, например: целые положительные четные числа. Интенсионал множества определяет совокупность конкретных множеств, удовлетворяющих правилу принадлежности. Так, для приведенного примера можно определить такую совокупность множеств: {2, 8, 16, 46}, {12, 10, 8, 100, 32}, {2, 4, 8, 16, 32, 64}.

Экстенсионал множества – это конкретная реализация, удовлетворяющая интенсионалу, например: {2, 4, 8, 16, 32, 64}.

Интенсионал множества соответствует уровню типов, а экстенсионал множества – уровню знаков.

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

Определение

Домены – это множества, элементы которых более или менее однородны.

Домены можно рассматривать как множества, из которого черпаются значения свойств семантически значимых объектов. Например, если для категории СЛУЖАЩИЙ определено свойство Зарплата, можно определить домен, например, шестизначных чисел, из которого будут черпаться значения данного свойства.

Таким образом, домен представляет собой множество значений, не имеющих смысловой окраски. Например, из того же домена шестизначных чисел можно черпать значения для свойства Стоимость категории АВТОМОБИЛЬ или свойства Вес категории ДЕТАЛЬ. Следовательно, для надлежащего использования значений необходимо связать значения с их семантикой. Отсюда, определяется атрибуты:

Определение

Атрибуты – это именованные домены, представляющие семантически значимые объекты.

Атрибуты определяются на доменах и представляют собой интенсионал именованного домена. Например, атрибут Зарплата определен на домене шестизначных чисел. Значения атрибута – это экстенсионалы.

Домен можно рассматривать как обобщение атрибутов.

Атрибуты, определенные на общем домене, наследуют все его свойства. И наоборот, домен обладает всеми свойствами определенных на нем атрибутов.

Атрибуты существуют не сами по себе, а как компоненты других объектов. Посредством агрегации они ассоциируются с другими атрибутами. Например, атрибуты Имя, Адрес, Возраст формируют агрегат ЛИЧНОСТЬ. Интерпретация атрибутов и соотношений между ними определяется агрегатами, соответствующими объектам реального мира. Соответствующие агрегаты получили название отношений.

6. Общая характеристика структурных компонентов. Отношения: сущности

К структурным компонентам модели данных относятся:

- категории,

- свойства категории,

- связи между категориями.

Категория представляет собой агрегат свойств. Свойства представляются совокупностью (множеством) значений. Отсюда, рассматриваем понятие множества.

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

Определение

Агрегат, построенный на множествах, определяется как отношение.

Определение

Пусть дана некоторая совокупность доменов D1, D2, …, Dm, не обязательно различных. Отношение, определенное на доменах D1, D2, …, Dm, есть множество упорядоченных кортежей <d1, d2, …, dm>, таких, что d1 Î D1, d2 Î D2, …, dm Î Dm.

Таким образом, отношение определяет соответствие между множествами.

Поскольку само отношение – тоже множество, как и любое множество, оно характеризуется интенсионалом и экстенсионалом.

Определение множества (правила принадлежности) задает его интенсионал, например: целые положительные четные числа. Интенсионал множества определяет совокупность конкретных множеств, удовлетворяющих правилу принадлежности. Так, для приведенного примера можно определить такую совокупность множеств: {2, 8, 16, 46}, {12, 10, 8, 100, 32}, {2, 4, 8, 16, 32, 64}.

Экстенсионал множества – это конкретная реализация, удовлетворяющая интенсионалу, например: {2, 4, 8, 16, 32, 64}.

Интенсионал отношения определяется интенсионалами образующих его множеств. Экстенсионал отношения – конкретная реализация этого отношения.

Рассмотрим пример. Пусть даны следующие множества:

D1 = {d1i | d1i – строчная буква английского алфавита} – интенсионал множества, его экстенсионал, например, {a, b, c, d, e}

D2 = {d2j | d2j – десятичная цифра} – интенсионал множества, его экстенсионал, например, {1,3,5}

Определим на этих доменах отношение R:

R = {<d1i, d2j> | d1i Î D1, d2j Î D2} – интенсионал отношения; задает двух символьные строки, в которых первый символ – буква, второй – десятичная цифра. Экстенсионалом данного отношения может быть конкретное множество R1 = {<a,3>, <a,1>, <c,1>}.

Отношение можно охарактеризовать степенью и мощностью.

Определение

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

В приведенном выше примере отношение имеет степень 2.

Определение

Мощность отношения – характеристика, относящаяся к экстенсионалу отношения; количество элементов в конкретной реализации отношения.

В приведенном выше примере реализация отношения R1 имеет мощность 3.

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

Отношениям можно придать различную семантическую окраску. Например, каждый кортеж отношения можно соотнести с конкретным объектом реального мира – с сущностью. Так как атрибуты представляют семантически значимые объекты и их свойства, в определение отношения можно включить не просто домены, а именованные домены – атрибуты. В этом случае можно получить схему отношения:

Определение

Схема отношения – это именованный список пар <имя атрибута>:<имя домена>, имя которого задает имя отношения: R(A1:D1, A2:D2, …, Am:Dm).

Отношение, определенное таким образом, определяет тип сущности.

7. Общая характеристика структурных компонентов. Отношения: связи

К структурным компонентам модели данных относятся:

- категории,

- свойства категории,

- связи между категориями.

Категория представляет собой агрегат свойств. Свойства представляются совокупностью (множеством) значений. Отсюда, рассматриваем понятие множества.

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

Отношение есть агрегат множеств. Само отношение также является множеством. Поэтому можно рассматривать агрегат отношений.

Определение

Агрегат, построенный на других отношениях, рассматривается как связь между этими отношениями.

Для таких агрегатов, наряду с интенсионалом и экстенсионалом, рассматривается еще одно важное свойство отношений – отображение между этими отношениями.

Ограничимся рассмотрением бинарных отношений – отношений, построенных на двух множествах.

Рассмотрим бинарное отношение связи R, построенное на двух множествах – отношениях сущностей S1 и S2. Данное отношение определяет два отображения:

- прямое – R: S1 à S2

- обратное – R-1: S2 à S1

Отображение характеризуется кардинальными числами.

Определение

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

Так, для прямого отображения R: S1 à S2, кардинальное число определяется количеством элементов множества S2, связанных с одним элементом множества S1; для обратного отображения R-1: S2 à S1 – количеством элементов множества S1, связанных с одним элементом множества S2.

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

R (S1 (m1, n1): S2 (m2, n2))

Запись S1 (m1, n1) определяет минимальное (m1) и максимальное (n1) кардинальные числа отображения S2 à S1. Соответственно, запись S2 (m2, n2) определяет минимальное (m2) и максимальное (n2) кардинальные числа отображения S1 à S2.

Смысл такой записи:

- каждый элемент из S1 связан минимум с m2, максимум с n2 элементами из S2,

- каждый элемент из S2 связан минимум с m1, максимум с n1 элементами из S1.

Если на отображения не наложены никакие ограничения, считается, что минимальное и максимальное кардинальные числа не определены: R (S1 (0, ¥): S2 (0, ¥)). Это означает, что элемент из S2 может быть связан с любым количеством элементов из S1, и наоборот.

Наложив те или иные ограничения на минимальное и максимальное кардинальные числа, можно получить различные типы отображений. Пусть, например, определены сущности СТУДЕНТ и КУРС (курс по выбору). Каждый студент должен выбрать один из курсов, но не более трех. На каждый курс должны быть зачислены не менее 5 и не более 100 студентов. Тогда получаем следующее отношение связи: ВЫБИРАЕТ (СТУДЕНТ (5, 100): КУРС (1, 3)).

Рассмотрим некоторые особые типы отображений.

1. Пусть имеем следующее отношение связи: R (S1 (0, ¥): S2 (1, ¥)).

Рассмотрим отображение S1 à S2

1. Это означает, что каждый элемент из S1 связан, по крайней мере, с одним элементом из S2 (или отображается, по крайней мере, одним элементом S2). Такое отображение называется полностью определенным на S1, а соответствующее ограничение называется ограничением по существованию: для существования объекта в S1 необходимо, чтобы он был связан с объектом из S2.

2. Пусть имеем следующее отношение связи: R (S1 (0, ¥): S2 (0, 1)). Рассмотрим отображение S1 à S2. Максимальное кардинальное число данного отображения равно 1. Это означает, что каждый элемент из S1 связан не более чем с одним элементом из S2 (или отображается не более чем одним элементом S2). Такое отображение называется неполным функциональным отображением (так как минимальное кардинальное число отображения равно 0, т.е. не все элементы из S1 отображаются в S2).

3. Пусть имеем следующее отношение связи: R (S1 (0, ¥): S2 (1, 1)). Рассмотрим отображение S1 à S2. И минимальное, и максимальное кардинальные числа данного отображения равны 1. Это означает, что каждый элемент из S1 связан в точности с одним элементом из S2 (или отображается точно одним элементом S2). Такое отображение называется полным функциональным отображением.

Связи, для которых хотя бы одно отображение является функциональным (полным или неполным), часто называют связями типа 1: N, или «один ко многим». Связи, в которых оба отображения являются нефункциональными, называют связями типа N: N, или «многие ко многим».


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



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