Файл: Практикум по дисциплине базы данных Лабораторная работа n 2 Построение концептуальной модели базы данных. Моделирование составных и концептуальных объектных множеств.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.05.2024

Просмотров: 21

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПО ВЫСШЕМУ ОБРАЗОВАНИЮ


Новосибирская государственная академия экономики и управления



ЛАБОРАТОРНЫЙ ПРАКТИКУМ ПО ДИСЦИПЛИНЕ

«БАЗЫ ДАННЫХ»
Лабораторная работа N 2
«Построение концептуальной модели базы данных.

Моделирование составных и концептуальных объектных множеств»

НОВОСИБИРСК 2000


1. ВВЕДЕНИЕ


Основной целью лабораторной работы является построение концептуальной модели базы для сложных информационных объектов. Для выполнения лабораторной работы необходимо изучить основные понятия и базовые методы построения концептуальных моделей, изложенные в лабораторной работе №1.

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

  1. ПОСТРОЕНИЕ МОДЕЛИ ДАННЫХ

ДЛЯ СОСТАВНЫХ ОБЪЕКТОВ

2.1. Основные понятия

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

Составной объект. Отношение, рассматриваемое как объектное множество.

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

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




Рис. 1. Отношение как объектное множество

Это относится ко всем отношениям. Отношения можно рассматривать как объекты, они могут обладать атрибутами и участвовать в других отно­шениях. Они называются составными объектными множествами. Графически мы обозначаем составное множество прямоуголь­ником, нарисованным вокруг отношения и участвующих в нем объектных множеств (рис. 1). Иногда для удобства мы будем давать составным объ­ектам объектные имена — существительные — дополнительно к имени от­ношения. Например, на рис. 1 СЕМЕЙНАЯ-ПАРА — имя объектного множества, данное отношению СОСТОИТ-В-БРАКЕ-С, Это разумно, если от­ношение используется в качестве объектного множества.

Если в отношениях, уча­ствуют два объектных множества, то такие отношения называются бинар­ными. Однако отношение может связывать три и более объектных множе­ства. Такие отношения высокого порядка называются n-арными отноше­ниями, где n обозначает число объектных множеств. Для упрощения терминологии будем называть 3-арные и 4-арные отношения трехсторонними и четырехсторонними.

Бинарное отношение. Отношение между двумя объектными множествами.

n-арное отношение. Отношение между n объектными множествами.

Проиллюстрируем эти понятия примером. Предположим, что Дик Грин­берг из International Product Distribution (IPD) хочет отслеживать продажи разных видов товаров по странам. Чтобы помочь ему, мы создаем объектное множество ТОВАР, объектное множество СТРАНА и устанавливаем отноше­ние ПРОДАН-В между ними (рис. 2).

Рис.2. Модель отслеживания продаж



Элемент множества ТОВАР, например, «средство для мытья посуды .№5» связан с элементом множества СТРАНА (например. Англия), если средство для мытья посуды №5 продано в Англии. Если мы рассмотрим отношение ПРОДАН-В как объектное множество, мы можем приписать ему атрибут КОЛИЧЕСТВО, отражающий количество каждого товара, проданное в каждой стране.

Обратите внимание, что атрибут КОЛИЧЕСТВО зависит и от товара, и от страны. То есть мы не можем определить значение количества только по товару или только по стране — нам нужно и то, и другое. Вот почему КОЛИЧЕСТВО — атрибут отношения между товаром и страной, а не страны или товара по отдельности. По этой причине модели на рис. 3 обе неправильны. В случае (б) модель не различает количества товара, про­данные в разных странах, а в случае (в)
модель не различает товары, про­данные в стране.




Рис. 3. Неправильные модели отслеживания продаж
Модель на рис. 2 позволяет отслеживать продажи товара в стране. Однако предположим, что нам нужна более тонкая классификация продаж, чем дает модель. В частности, мы хотим записывать количество каждого товара, проданного в каждой стране в конкретный день. Тогда мы связываем ПРОДАН-В с объектом ДАТА и приписываем атрибут КОЛИЧЕСТВО этому новому отношению (рис. 4). Снова атрибут принад­лежит внешнему отношению, поскольку для определения количества требу­ется знать элементы всех трех множеств: ТОВАР, СТРАНА и ДАТА.



Рис. 4. Отслеживания продаж по стране и дате

На рис. 4. представлено решение этой задачи в виде двух бинарных отношений, первое из которых (ПРОДАН-В) используется как объектное множество во втором отношении ПРОДАН-ТОГДА-ТО.

Однако может ока­заться более удобным представить эту модель в виде одного трехстороннего отношения, как на рис. 5. Мы снова видим, что КОЛИЧЕСТВО - атри­бут отношения между всеми тремя объектными множествами.


Рис. 5. Отслеживание продаж по стране и дате (второй вариант)


Любое отношение высокого порядка можно разбить на последователь­ность вложенных бинарных отношений. Однако не все из них будут иметь для нас какой-либо «физический» смысл. Поэтому иногда при построении моделей данных мы будем пользоваться n-арными отношениями, так как их может оказаться легче связать с нашей реальной проблемой.

В соответствии с максимальными мощностями отношений высокого по­рядка мы предполагаем, что все бинарные отношения, составляющие отно­шение высокого порядка имеют тип много-ко-многим. Это допущение обычно верно на практике.

2.2. Концептуальная модель строительной компании Премьер

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


На рис. 6 представлено отношение между зданиями и материалами. Объектное множество ЗДАНИЕ содержит элементы, соответствующие зда­ниям. Объектное множество ТИП МАТЕРИАЛА представляет типы материа­лов, например, «доска 2х4х10 дюймов» или «гвозди №10». Мощность отно­шения между множествами ЗДАНИЕ и ТИП МАТЕРИАЛА указывает, что для каждого здания требуется несколько типов материалов и каждый тип материалов используется в нескольких зданиях. Обратите внимание, что атрибут АДРЕС относится только к множеству ЗДАНИЕ. АДРЕС может ис­пользоваться в качестве ключа для идентификации конкретного здания.



Рис. 6. Моделирование отношений между зданиями и материалами
Прямоугольник вокруг отношения ТРЕБУЕТ показывает, что мы хотим рассматривать отношение как составное объектное множество. Затем мы придаем этому объектному множеству атрибут КОЛИЧЕСТВО. Элементами этого объектного множества являются пары: здание и тип материала. Так, например, элементом множества ТРЕБУЕТ может быть пара, составленная из здания на Пятой стрит, 610, и доски 2х4х10 дюймов. Этой паре затем приписывается количество — например, 500 штук — в котором такие доски требуются для строительства данного здания.

Важно отметить, что в этом примере объектное множество ТИП МАТЕРИАЛА представляет собой скорее концептуальный, чем физический объект. Это означает, что каждый элемент множества ТИП МАТЕРИАЛА обозначает тип материала, а не физический «кусок» материала. Такое поня­тие концептуального объекта, противопоставляемого физическому объекту, часто применяется в концептуальном моделировании данных. В некоторых случаях требуется моделировать отдельные объектные множества для физи­ческих объектов.

Концептуальный объект. Объект, обозначающий тип вещей.

Физический объект. Объект, обозначающий реальный физический предмет.

Теперь мы покажем, как отразить формирование бригад и назначение рабочих и бригадиров. На рис. 7 представлено отношение между объект­ными множествами ТИП БРИГАДЫ и ЗДАНИЕ. ТИП БРИГАДЫ — еще один пример концептуального объектного множества; то есть элементы множества ТИП БРИГАДЫ соответствуют не конкретным бригадам, а ти­пам бригад, таким как бригада арматурщиков или бригада каменщиков.



Рис. 7. Модель формирования бригад

От­ношение между зданием и типом бригады представляет конкретную бригаду - бригаду, назначенную выполнять на данном здании данный тип работ. Таким образом, мы можем рассматривать это отношение как объект. Назовем его БРИГАДА.


Рис. 8. Назначение рабочих в бригады

Для каждой бригады как элемента объектного множества БРИГАДА вы­бираются дни работы. Например, бригаде штукатуров требуется несколько дней для того чтобы оштукатурить данное здание. Таким образом, у нас есть отношение мощности много-ко-многим, РАБОТАЕТ-ТОГДА-ТО, между объ­ектами БРИГАДА и ДАТА.

На рис. 8 представлено распределение рабочих и бригадиров по бри­гадам. Обратите внимание, что отношение ЯВЛЯЕТСЯ-БРИГАДИРОМ имеет мощность один-ко-многим. Это связано с тем, что у бригады может быть только один бригадир, при этом один и тот же человек может возглавлять несколько бригад.

На рис. 9 представлена объединенная диаграмма, представляющая полную модель данных для строительной компании.


Рис.9. Модель данных для строительной компании

2.3. Концептуальная модель Консультационной Службы Мэнуоринг

В лабораторной работе № 1 мы создавали модель данных для Консультационной Службы Мэнуоринг. Использованные тогда формы были упрощены, чтобы к ним можно было применить базовые принципы моделирования данных.

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



Рис. 10. Расширенная версия формы заказа Консультационной Службы

На рис. 10 представлен расширенный вариант формы заказа Консуль­тационной Службы Мэнуоринг. Данная форма содержит новые поля: Описание то­вара, Количество, Цена единицы товара, Сумма. В исходной форме зака­занное количество товара содержалось в поле Описание товара, тогда как в новой форме ему соответствует отдельное поле, Поля Цена единицы товара в исходной форме не было вовсе. Цена в исходной форме совпадала с суммой новой формы.