Файл: Практикум по дисциплине базы данных Лабораторная работа n 2 Построение концептуальной модели базы данных. Моделирование составных и концептуальных объектных множеств.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.05.2024
Просмотров: 21
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ
ПО ВЫСШЕМУ ОБРАЗОВАНИЮ
Новосибирская государственная академия экономики и управления
ЛАБОРАТОРНЫЙ ПРАКТИКУМ ПО ДИСЦИПЛИНЕ
«БАЗЫ ДАННЫХ»
Лабораторная работа N 2
«Построение концептуальной модели базы данных.
Моделирование составных и концептуальных объектных множеств»
НОВОСИБИРСК 2000
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 представлен расширенный вариант формы заказа Консультационной Службы Мэнуоринг. Данная форма содержит новые поля: Описание товара, Количество, Цена единицы товара, Сумма. В исходной форме заказанное количество товара содержалось в поле Описание товара, тогда как в новой форме ему соответствует отдельное поле, Поля Цена единицы товара в исходной форме не было вовсе. Цена в исходной форме совпадала с суммой новой формы.