Моделирование взаимосвязей между сущностями

       

Кредитная компания открывает счета либо



Кредитная компания открывает счета либо для частных лиц, либо для организаций, которые в свою очередь выдают карточки своим служащим. Компания выпускает в обращение карточки трех различных типов, с различными лимитами (предельными суммами), условиями платежа и др. условиями.
С каждым счетом, будь то счет частного лица или организации, может быть связано множество карточек. Необходимо знать, кто является владельцем каждой из них. Физически это решается путем указания на карточке имени ее владельца (держателя) в сочетании с номером счета и датой истечения срока действия.
Допустим, что у вас есть счет, с карточками - для вас и вашей супруги. У вас может также быть карточка со счетом вашей организации (постарайтесь не вводить ее в смущение своими расходами на развлечения!).
У вашей супруги может быть даже и третий счет с карточками как для вас, так и для ваших детей - с очень низкой предельной суммой. Мудрая предосторожность, не так ли?
Кредитной компании нужно знать, кому принадлежат счета, на кого оформлялись карточки и сколько карточек различных типов закреплено за счетами частных лиц и организаций.
В целях создания модели приступим к анализу понятий и поиску сущностей, атрибутов и связей.
Первый параграф примера
Кредитная компания открывает счета либо для частных лиц, либо для организаций, которые в свою очередь выдают карточки своим служащим. Компания выпускает в обращение карточки трех различных типов, с различными лимитами (предельными суммами), условиями платежа и др. условиями.
В этом параграфе можно обнаружить несколько важных понятий. Представим их в виде существительных единственного числа:
  • компания (организация)

  • счет

  • частное лицо



  • карточка (или лучше сказать, кредитная карточка)

  • служащий.

  • Все эти понятия можно считать сущностями.
    В параграфе нам встретились и некоторые другие понятия и выражения:
  • тип карточки

  • лимит

  • условие платежа

  • прочее условие.

  • Возможно, что часть из них является атрибутами, поскольку позволяет описывать другие объекты.
    Попытаемся связать их с сущностями.
    Является ли " тип карточки" атрибутом карточки или самостоятельной сущностью? Если это сущность, то она должна представлять собой важный объект, информация о котором подлежит выяснению или запоминанию. В этом случае это так, поскольку "лимит" и "условие платежа" являются атрибутами "типа карточки". Экземпляром ТИПА КАРТОЧКИ будет такой тип, у которого лимит равен двумстам долларов, а условие платежа требует полного расчета по окончании месяца - идеальный тип для моих детей, каждому из которых пригодилась бы подобная карточка.
    Какие при этом возможны связи? Они обнаруживаются в нескольких парах сущностей по следующим фразам:
    КОМПАНИЯ открывает СЧЕТА
    СЧЕТ либо для ЧАСТНОГО ЛИЦА, либо для КОМПАНИИ
    КОМПАНИЯ... своим СЛУЖАЩИМ.
    КОМПАНИЯ появляется дважды - один раз как кредитная, а второй раз как организация-клиент кредитной компании. Предположим, что кредитная компания - просто контекст для данного примера и ею можно пренебречь.
    Обратите внимание на фразу "либо..., либо...", появляющуюся в ситуации со СЧЕТАМИ. Для того, чтобы перенести ее на модель, нам потребуется новое соглашение - т.н. "исключающая связь", которая на схеме изображается в виде двух перечеркнутых одной дугой линий связи:
    Рисунок 4-1. Исключающая дуга

    Читается это так:
    Каждый СЧЕТ должен быть либо для одного и только одного ЧАСТНОГО ЛИЦА, либо для одной и только одной КОМПАНИИ.
    Эта небольшая подмодель, конечно, неполна, но на данном этапе полезна. На ней видна связь типа "многие к одному", существующая между СЧЕТАМИ (множеством) и КОМПАНИЕЙ (одной). Описание связи на другом конце пока отсутствует и будет получено при дальнейшей отладке.
    Второй параграф
    С каждым счетом, будь то счет частного лица или организации, может быть связано множество карточек. Необходимо знать, кто является владельцем каждой из них. Физически это решается путем указания на карточке имени ее владельца (держателя) в сочетании с номером счета и датой истечения срока действия.


    Рассмотрим следующие понятия:
  • счет частного лица (персональный счет)

  • счет организации (компании)

  • владелец карточки.

  • Перечень возможных атрибутов:
  • имя владельца карточки

  • номер счета

  • дата истечения срока действия (короче: срок действия).

  • Перечень возможных связей:
    КАРТОЧКИ... связаны с ПЕРСОНАЛЬНЫМ СЧЕТОМ
    КАРТОЧКИ... связаны со СЧЕТОМ КОМПАНИИ
    Эти связи имеют тип "многие к одному".
    Остальные параграфы
    Возможные сущности:
  • счет

  • карточка

  • супруга

  • компания-клиент (организация)

  • ребенок

  • кредитная компания

  • тип карточки.

  • Возможный атрибут:
    ·
    очень низкая предельная сумма (лимит).
    Возможные связи:
  • СЧЕТ с КАРТОЧКОЙ

  • КОМПАНИЯ имеет СЧЕТ

  • КАРТОЧКА для ВАС

  • СЧЕТ у СУПРУГИ

  • КАРТОЧКИ для ДЕТЕЙ

  • КАРТОЧКИ различных ТИПОВ.

  • Синтез
    У нас теперь есть масса полезной информации. Чтобы обработать ее, обратимся к логике.
    Сколько лиц может быть указано на карточке? Только одно - во всех случаях.
    Может ли кто-то иметь больше одного счета? Не вижу причины, почему бы и нет.
    Посмотрим еще раз на имена сущностей. Некоторые из них на самом деле представляют собой один и тот же класс объектов:
  • частное лицо

  • служащий

  • владелец карточки

  • супруга

  • ребенок.

  • Исключают ли они друг друга во всех ситуациях или же это все один и тот же объект? Если да, то нам придется ввести новое обобщающее понятие - в данном случае ЛИЧНОСТЬ. Остальные понятия представляют собой примеры или роли личности. Некоторые из этих понятий могут появиться позже в описаниях связей.
    Потратим десять минут на построение модели взаимосвязей между сущностями.
    Построив модель, проверьте ее вместе с вашими коллегами, используя известные соглашения, и добавьте дополнительные атрибуты. Если у вас есть кредитная карточка, то вам нетрудно будет составить их список:
  • дата начала действия

  • срок действия

  • дата выпуска

  • подпись.

  • Все остальное на карточке относится к связи или к типу карточки.
    Как можно уникально идентифицировать карточку?
    Сравните вашу черновую модель с представленной на следующей странице.

    Содержание раздела