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

       

Модель кредитной карточки


Рисунок 4-2. Модель взаимосвязей между сущностями для примера с кредитными карточками

Замечания

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

То же самое можно сделать со счетом вашей супруги и с карточками для нее, для вас и вашего ребенка.

Начиная путь от КОМПАНИИ, перейдем к СЧЕТАМ, которыми она владеет, с КРЕДИТНЫМИ КАРТОЧКАМИ, выписанными на них, и проверим наличие держателя карточки. Обратите внимание на то, что слово "держатель" используется в описании связи с личностью, выступающей в соответствующей роли.

ТИП КАРТОЧКИ представляет собой самостоятельную сущность, связанную с другой сущностью УСЛОВИЕ по принципу "родитель-потомок". С каждым типом может быть связано много различных условий, поэтому УСЛОВИЕ не может выступать атрибутом ТИПА КАРТОЧКИ, иначе будет нарушено правило, по которому атрибут не может иметь несколько значений одновременно.

От ТИПА КАРТОЧКИ перейдем к КАРТОЧКАМ данного типа и далее к соответствующим СЧЕТАМ, на основании которых выдаются карточки, и к их владельцам. Теперь мы можем определить, сколько карточек различных типов числится на персональных счетах и счетах компаний.

Владельцев счетов отыскать просто, если двигаться по линиям с надписью "принадлежит".

Для полноты сама кредитная компания изображается в виде возможного экземпляра сущности КОМПАНИЯ со связью "СЧЕТ управляется/ КОМПАНИЯ осуществляет кредитование". Такая конструкция позволяет использовать более одной кредитной компании, а также каждой кредитной компании иметь счет для своего собственного персонала.

Связь между ЛИЧНОСТЬЮ и КОМПАНИЕЙ, имеющая тип "многие ко многим", позволяет узнать место работы каждого держателя карточки, не работающего в данной компании.

Обратите внимание на то, что каждый СЧЕТ должен служить основанием для выдачи по меньшей мере одной КРЕДИТНОЙ КАРТОЧКИ. Это явствует из правила, по которому бессмысленно иметь счет без хотя бы одной карточки.

Атрибут "подпись", принадлежащий КРЕДИТНОЙ КАРТОЧКЕ, является необязательным, поскольку между выпуском карточки и моментом ее подписания держателем должно пройти некоторое время.

И, наконец, хотя у ТИПА КАРТОЧКИ уже есть атрибут "лимит", мы добавили "специальный лимит" в качестве атрибута у КАРТОЧКИ, чтобы иметь возможность делать исключения для особых ЛИЧНОСТЕЙ.



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