Атрибут, значение и множество значений

Связи, роли и множество связей

Связь – это ассоциация, устанавливаемая между сущностями. Для связи также определяются:

- множество связей,

- тип связи,

- экземпляр связи.

Множество связей – это математическое отношение между n сущностями, каждая из которых относится к некоторому множеству сущностей; обозначим множество связей через R:

R = {<e1, e2, ..., en>} | e1 принадлежит E1, e2 принадлежит E2, ..., en принадлежит En}.

Здесь каждый кортеж отношения, <e1, e2, ..., en>, является связью (relationship).

В этом определении множества сущностей не обязаны быть различными. Например, БРАК – это связь между двумя сущностями из одного и того же множества сущностей ЛИЧНОСТЬ.

Тип связи – определяется как ассоциация типов сущностей. Например, ассоциация типов сущностей ЛИЧНОСТЬ, ЛИЧНОСТЬ определяет тип связи БРАК.

Роль сущности в связи – это функция, которую сущность выполняет в данной связи. Например, в связи БРАК "муж" и "жена" – это роли. Обозначим роли сущностей в связи через r. Упорядочение сущностей в определении связи может отсутствовать, если в связи явно указаны роли сущностей:

<e1, e2, ..., en> – в определении связи сущности упорядочены

<r1/e1, r2/e2, ..., rn/en> – в определении связи сущности не упорядочены; явно указаны роли сущностей.

Например, для типа связи БРАК: или <e1, e2>, где точно задано, что e1 играет роль мужа, а e2 – жены, или же <муж/e1, жена/e2>, и тогда порядок перечисления типов сущностей в определении типа связи не важен.

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

Примеры значений: 3, "красный", "Иван", "Иванов". Значения классифицируются и объединяются в некоторые множества значений, например:

КОЛИЧЕСТВО = {3, 28, …}

ЦВЕТ = {красный, зеленый, …}

ФАМИЛИЯ = {Иванов, Петров, Сидоров, …}

Будем обозначать значение через v, а множество значений – через V.

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

Определение

Атрибут может быть определен как функция, отображающая

множество сущностей в множество значений:

f: Ei -> Vi

или множество связей в декартово произведение множеств значений:

f: Ri -> Vi1 Vi2 ... Vin

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

Например, рассмотрим множество сущностей СОТРУДНИК. Информация о сущностях определяется из множеств значений НОМЕР СОТРУДНИКА, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, КОЛИЧЕСТВО ЛЕТ. Определены соответствующие атрибуты.

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

- атрибут может отображать множество сущностей в одно множество значений; пример: атрибут Номер сотрудника;

- атрибут может задавать отображение множества сущностей в несколько (декартово произведение) множеств значений; пример: атрибут Полное имя;

- разные атрибуты могут задавать отображение одного и того же множества сущностей в одно и то же множество значений (или одну и ту де группу множеств значений). Пример: атрибуты Возраст и Стаж работы.

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

1. Атрибут и множество значений являются различными понятиями, хотя в некоторых случаях они могут иметь одно и то же имя (например, атрибут Номер сотрудника задает отображение множества объектов СОТРУДНИК в множество значений НОМЕР СОТРУДНИКА);

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

Связи также могут иметь атрибуты.

Рассмотрим следующий пример. Определены множества сущностей СОТРУДНИК и ПРОЕКТ. Между ними определяется множество связей ИСПОЛНИТЕЛЬ ПРОЕКТА. На данном множестве связей можно определить атрибут Доля времени, представляющий долю времени, выделенную конкретному сотруднику на конкретный проект. Этот атрибут отображает связь на множество значений ПРОЦЕНТ. Он не является ни атрибутом сущности СОТРУДНИК, ни атрибутом сущности ПРОЕКТ, так как его смысл зависит и от сотрудника, и от проекта.

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

 

10. Модель данных «сущность – связь» Чена

В модели "сущность-связь" используется более естественное представление, в соответствии с которым реальный мир состоит из "сущностей" и "связей". Эта модель основывается на некоторой важной семантической информации о реальном мире. Модель может обеспечить высокую степень независимости данных и основывается на теории множеств и реляционной теории.

Модель "сущность-связь" предложена в 1976 году Ченом и с тех пор неоднократно усовершенствовалась Ченом и многими другими.

Чен предложил уровни абстракции представления информации.

Питер Чен (P. Chen), разрабатывая модель данных «сущность-связь», предложил следующие четыре уровня представления информации:

5. Информация, относящаяся к объектам и связям, как она существует в нашем представлении.

6. Структура информации – организация информации, в которой объекты и связи представлены данными.

7. Структура данных, независимая от способа доступа (т.е. не связанная со схемами поиска, индексации и т.п.)

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

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

Определение

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

Наиболее распространенные модели данных:

– семантические (к ним можно отнести модели данных сущность-связь, бинарные, семантические сети, объектно-ориентированные);

– реляционная,

– сетевая,

– иерархическая.

 

Модель данных «сущность – связь» поддерживает первый и второй уровни абстракции. Как и любая модель данных, она включает три компонента: определение структуры, ограничения целостности, набор операций. Прежде всего, рассмотрим структурные компоненты модели данных.