Объекты и отношения

Основы концептуального проектирования баз данных

 

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

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

 

 

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

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

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

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

Объектные множества делятся на лексические и абстрактные.

Лексическое объектное множество – объектное множество, состоящее из элементов, которые можно напечатать. Например, ИМЯ, ДАТА, КОЛИЧЕСТВО.

Абстрактное объектное множество состоит из элементов, которые нельзя напечатать. Например, ЧЕЛОВЕК является абстрактным объектным множеством.

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

Например, некто Иван Сидоров является элементом объектного множества ЧЕЛОВЕК. В компьютерной реализации этого объектного множества он будет обозначаться некоторым суррогатным ключом (например, «12345678»). Его имя, номер страхового свидетельства, дата рождения, рост, вес и другая информация будет записана в виде лексических данных и связана в базе данных с суррогатным ключом, представляющим ее. Пользователи будут видеть только эти лексические данные, а система будет пользоваться суррогатным ключом во всех возможных многочисленных отношениях в базе данных.

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

Некоторые объектные множества содержатся внутри других объектных множеств. Например, МУЖЧИНА содержится внутри множества ЧЕЛОВЕК. Это означает, что каждый мужчина является также человеком. Аналогично, множество ЖЕНЩИНА содержится внутри множества ЧЕЛОВЕК. При этом объектное множество ЧЕЛОВЕК называется обобщением объектного множества МУЖЧИНА, а объектное множество МУЖЧИНА является конкретизацией объектного множества ЧЕЛОВЕК.

Конкретизация – объектное множество, являющееся подмножеством другого объектного множества.

Обобщение – объектное множество, являющееся надмножеством другого объектного множества.

Альтернативные варианты графического изображения конкретизации/обобщения представлены на рисунке 2.3.

 

 

Рисунок 2.3 - Альтернативные представления конкретизации и

обобщения

 

Два объектных множества могут быть связаны между собой отношением. Рассмотрим объектные множества ЖЕНАТЫЙ МУЖЧИНА и ЗАМУЖНЯЯ ЖЕНЩИНА. Между этими множествами можно определить отношение СОСТОИТ-В-БРАКЕ-С, сопоставив каждому женатому мужчине его жену (или наоборот, каждой женщине – ее мужа). Отношение СОСТОИТ-В-БРАКЕ-С составлено из множества женатых пар, в каждой из которых мужчина – из объектного множества ЖЕНАТЫЙ МУЖЧИНА, а женщина – из объектного множества ЗАМУЖНЯЯ ЖЕНЩИНА. Графически представляем отношение между двумя объектными множествами в виде соединяющего их отрезка, дополненного ромбом (рисунок 2.4).

 

 

 

Рисунок 2.4 - Пример отношения между двумя объектными множествами

 

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

Отношение, рассматриваемое как объектное множество, называется составным объектным множеством.

Составным объектным множествам можно давать имена и включать их в отношения, как и обычные объектные множества. На рисунке 2.5 составное множество отношения СОСТОИТ-В-БРАКЕ-С называется СЕМЕЙНАЯ-ПАРА и участвует в нескольких отношениях. Отношение ПРОЖИВАЮТ связывает пару с их адресом, а отношение ЗАРАБАТЫВАЮТ связывает их с общим совокупным доходом.

Рисунок 2.5 - Составное объектное множество

 

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

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

а)

 

 

б)

 

в)

 

Рисунок 2.6 - Отношения различной мощности

 

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

Отношение, максимальная мощность которого равна одному в одном направлении и многим в обратном, называется отношением один-ко-многим (рисунок 2.6(б)).

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

Отношение, максимальная мощность которого равна многим в обоих направлениях, называется отношением много-ко-многим (рисунок 2.6(в)).