Добавлен: 21.10.2018
Просмотров: 381
Скачиваний: 4
Концептуальное проектирование
Концептуальная модель - это отражение предметной области, для
которой разрабатывается база данных. Все объекты, обозначающие вещи,
обозначаются в виде прямоугольника. Атрибуты, характеризующие объект - в
виде овала, а связи между объектами - ромбами. Мощность связи
обозначаются стрелками (в направлении, где мощность равна многим -
двойная стрелка, а со стороны, где она равна единице - одинарная).
В качестве примера рассмотрим интернет-магазин. У магазина есть
товары, которые поставляются поставщиками и покупаются покупатели. Это
можно представить тремя объектами и двумя связями:
Но как поставщик поставляет товары? Он делает поставку, которая
подтверждается документом. Аналогично и покупатель делает покупку,
которая также может подтверждаться документом. Таким образом, поставка и
покупка могут рассматриваться, как самостоятельные объекты:
Теперь у нас пять объектов и четыре связи. Две связи "один ко многим"
(один поставщик может осуществить несколько поставок, но каждая поставка
осуществляется только одним поставщиком, аналогично и для связи
Покупатель - Покупка) и две связи "многие ко многим" (каждая поставка
может содержать несколько товаров, а один и тот же товар может содержаться
в нескольких поставках, аналогично и для связи Покупка - Товар).
Но связи "многие ко многим" недопустимы в реляционной модели,
поэтому каждую такую связь надо заменить на две связи "один ко многим".
Делается это добавлением промежуточного объекта (ассоциативной
сущности):
Таким образом, у нас появилось еще два объекта - журнал покупок и
журнал поставок, со связями "один ко многим" (один журнал поставок может
включать несколько поставок, но каждая поставка может входить только в
один журнал, аналогично и для остальных).
Каждый
объект
нашего
магазина
имеет
свои
атрибуты:
Вот собственно мы и создали концептуальную модель базы данных
магазин, вернее ее части, ведь в магазине еще есть сотрудники, склады,
доставка товаров и т.д.
Вообще, если предметная область обширная, то ее полезно разбить на
несколько локальных предметных областей (наша концептуальная модель
отражает именно локальную предметную область). Объем локальной области
выбирается таким образом, чтобы в нее входило не более 6-7 объектов. После
создания моделей каждой выделенной предметной области производится
объединение локальных концептуальных моделей в одну общую, как правило,
довольно сложную схему. Для наших учебных целей, мы ограничимся
созданной моделью.