
- •«Базы данных»
- •1. Введение
- •Построение модели данных для составных объектов
- •2.1. Основные понятия
- •2.2. Концептуальная модель строительной компании Премьер
- •Моделирование концептуальных и физических объектов
- •3.1. Основные понятия
- •3.2. Библиотечная проблема
- •3.3 Проектирование модели данных для библиотеки
ЛАБОРАТОРНЫЙ ПРАКТИКУМ ПО ДИСЦИПЛИНЕ
«Базы данных»
Лабораторная работа N 2
«Построение концептуальной модели базы данных.
Моделирование составных и концептуальных объектных множеств»
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-арными отношениями, так как их может оказаться легче связать с нашей реальной проблемой.
В соответствии с максимальными мощностями отношений высокого порядка мы предполагаем, что все бинарные отношения, составляющие отношение высокого порядка имеют тип много-ко-многим. Это допущение обычно верно на практике.