Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕЩИНСКИЙ.docx
Скачиваний:
16
Добавлен:
21.12.2018
Размер:
471.39 Кб
Скачать

2.4. Множество. Кортеж

Одним из основных понятий, используемых в моделировании информации, является понятие множество. Под множеством понимается совокупность объектов, удовлетворяющих условию принадлежности. Условие принадлежности для множества M, например, может быть сформулировано следующим образом: “все десятичные цифры”. Множество описывается (задается) следующим образом:

Условие принадлежности не зависит от представления элементов множества. Например, эквивалентными считаются множества

R = {a | a = 0 или a = 1} (читается: множество элементов, равных 0 или 1) и

R = {b | b есть двоичная цифра}.

<имя_множества> = {<описание_элементов>}

В этом случае в фигурных скобках перечисляются все элементы, которые могут быть в множестве. Например,

M = {0, 1, ..., 9}

экстенсионально определяет множество всех десятичных цифр.

Множество может быть задано экстенсионально и интенсионально. В множестве допустимо дублирование элементов и их расположение в любом порядке. Поэтому, например, множества M1 = {1, 2, 3} и M2 = {3, 2, 3, 1, 3} считаются эквивалентными.

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

М = {a | a – целое; 0 ≤ a ≤ 9}

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

Другим важным понятием является понятие кортеж. Кортеж – это упорядоченное множество элементов. То есть в кортеже элементы расположены в строго определенном порядке. Формально кортеж записывается следующим образом:

R = <a1, a2, ..., an>.

В кортеже дублирование элементов или изменение их порядка приводит к образованию другого кортежа, поскольку они будут находиться в других позициях. Например, кортежи R1 = <1, 2, 3> и R2 = <3, 2, 3, 1, 3> считаются разными.

В зависимости от количества элементов различают одноместные, двухместные и т.д. n-местные кортежи. В наших примерах R1 – трехместный кортеж, R2 – пятиместный, а R – n-местный.

2.5. Домены и атрибуты

Каждый объект характеризуется рядом свойств. Для отражения этих свойств в моделировании используются так называемые атрибуты. Атрибуты характеризуются интенсионалом и экстенсионалом. Интенсионал атрибута задается его названием и множеством допустимых значений. Множество конкретных значений атрибута, имеющихся в данных, составляет экстенсионал этого атрибута. Эти значения принадлежат какому-либо множеству допустимых значений. Подобные множества допустимых значений для атрибутов в моделировании данных носят название домены. При этом говорят: “атрибут определен на домене”. Несколько атрибутов могут быть определены на одном домене. Домен в этом случае можно рассматривать как обобщение атрибутов. Атрибуты, определенные на общем домене, наследуют его свойства (например, текстовые атрибуты длиной не более 15 символов).

Например, тип КЛИЕНТ банка может описываться тремя атрибутами: Номер, Имя и Адрес. При этом для атрибута Номер можно определить следующее множество допустимых значений

ЦЕЛЫЕ = {s | s – целый; 1 ≤ s}

Домены можно рассматривать как множества, из которых “черпаются” значения свойств объектов.

Например, атрибут Номер может быть определен на домене

ЦЕЛЫЕ = {s | s – целый; 1 ≤ s}

Например, атрибуты Зарплата, Заем, Залог, Номер могут быть определены на одном домене ЦЕЛЫЕ:

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

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

Например, если тип ПОСТАВЩИК характеризуются атрибутами Номер, Имя, Адрес, Вид поставки, то есть

ПОСТАВЩИК (Номер, Имя, Адрес, Вид поставки),

то конкретными экземплярами этого объекта могут быть следующие кортежи

10312;     Сидоров А.В.;    г.Бийск,ул.Кефирная,1, кв. 7;                Микросхемы;

81474;     АО "Факел";       г.Новосибирск, ул.Приходская,8;          Мыло;

08537;     ПО "Гранд";       г.Владивосток, ул.Мореходная,32;        Лопаты;

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

Например, по номеру 10312 мы можем определить, что это поставщик Сидоров А. В., который поставил микросхемы и проживает по адресу г. Бийск, ул. Кефирная, 1, кв. 7.

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

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