Лекция 15. Моделирование данных
Основные понятия. Метод Баркера. Подход, используемый в CASE - средстве SILVERRUN.
Основные понятия
Цель моделирования данных состоит в обеспечении разработчика ЭИС концептуальной схемой базы данных в форме одной модели или нескольких локальных моделей, которые относительно легко могут быть отображены в любую систему баз данных.
Наиболее распространенным средством моделирования данных являются диаграммы «сущность-связь» (ERD), нотация которых впервые была введена Питером Ченом в 1976 г. Базовым понятием ERD являются:
Сущность (Entity) – реальный либо воображаемый объект, имеющий существенное значение для рассматриваемой предметной области.
Каждая сущность должна обладать уникальным идентификатором. Каждый экземпляр сущности должен однозначно идентифицироваться и отличаться от всех других экземпляров данного типа сущности. Каждая сущность должна обладать некоторыми свойствами:
· иметь уникальное имя;
· обладать одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через связь;
· обладать одним или несколькими атрибутами, которые однозначно идентифицируют каждый экземпляр сущности.
Каждая сущность может обладать любым количеством связей с другими сущностями модели.
Связь (Relationship) - поименованная ассоциация между двумя сущностями, значимая для рассматриваемой предметной области. Связь – это ассоциация между сущностями, при которой каждый экземпляр одной сущности ассоциирован с произвольным (в том числе и нулевым) количеством экземпляров второй сущности, и наоборот.
|
|
Атрибут - любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражения состояния сущности. Экземпляр атрибута – это определенная характеристика определенного элемента множества. Экземпляр атрибута определяется типом характеристики и ее значением, называемым значением атрибута. На диаграмме «сущность-связь» атрибуты ассоциируются с конкретными сущностями.
Метод баркера
Одной из наиболее распространенных нотаций ERD является нотация, предложенная Ричардом Баркером, автором методов, используемых в технологии создания ПО фирмы Oracle. Метод Баркера можно пояснить на примере моделирования данных компании по торговле автомобилями. Исходными данными для построения ERD являются результаты интервью, проведенного с персоналом компании:
Главный менеджер: одна из основных обязанностей - содержание автомобильного имущества. Он должен знать, сколько заплачено за машины и каковы накладные расходы. Обладая этой информацией он может установить нижнюю цену, за которую мог бы продать данный экземпляр. Кроме того, он несет ответственность за продавцов, и ему нужно знать, кто, что продает и сколько машин продал каждый из них.
|
|
Продавец: ему нужно знать, какую цену запрашивать и какова нижняя цена за которую можно совершить сделку. Кроме того, ему нужна основная информация о машинах: год выпуска, марка, модель и т.д.
Администратор: его задача сводится к составлению контрактов, для чего нужна информация о покупателе, автомашине и продавце, поскольку именно контракты приносят продавцам вознаграждения за продажи.
Первый шаг моделирования - извлечение информации из интервью и выделение сущностей.
Обращаясь к выдержкам из интервью, можно увидеть, что сущности, которые могут быть идентифицированы главным менеджером, - это автомашины и продавцы. Продавцу важны сведения об автомашинах и связанные с их продажей данные. Для администратора важны покупатели, автомашины, продавцы и контракты.
Исходя из этого, выделяются четыре сущности, которые изображаются на диаграмме:
Второй шаг моделирования – идентификация связей.
Определение связи в методе Баркера несколько отличается от данного Ченом. Связь - это ассоциация между сущностями, при которой, как правило, каждый экземпляр одной сущности, называемой родительской сущностью, ассоциирован с произвольным (в том числе и нулевым) количеством экземпляров второй сущности, называемой сущностью-потомком, а каждый экземпляр сущности - потомка ассоциирован в точности с одним экземпляром сущности - родителя. Таким образом, экземпляр сущности - потомка может существовать только при существовании сущности - родителя.
|
|
Связи может даваться имя, выражаемое грамматическим оборотом глагола и помещаемое рядом с линией связи. Имя каждой связи между двумя сущностями должно быть уникальным, но имена связей в модели не обязаны быть уникальными. Имя связи всегда формируется с точки зрения родителя, так что может быть образовано предложение соединением имени сущности - родителя, имени связи, выражения степени и имени сущности-потомка.
Например, связь продавца с контрактом может быть выражена следующим образом:
·продавец может получить вознаграждение за один контракт или более;
·контракт должен быть инициирован ровно одним продавцом.
Изобразим графически предложения, описывающие связь продавца с контрактом (рис.24).
|
|
Рис.24. Отображение связи «продавец – контракт»
Описав также связи остальных сущностей получим полную диаграмму (рис25).
Рис.25. Диаграмма «сущность-связь» без атрибутов
Атрибут может быть либо обязательным, либо необязательным. Обязательность означает, что атрибут не может принимать неопределенных значений. Обязательный атрибут помечается звездочкой, а необязательный - кружком. Атрибут может быть либо описательным (т.е. обычным дескриптором сущности), либо входить в состав уникального идентификатора (ключа). Уникальный идентификатор - это атрибут или совокупность атрибутов и/или связей, предназначенная для уникальной идентификации каждого экземпляра данного типа сущности. В случае полной идентификации каждый экземпляр данного типа сущности полностью идентифицируются своими собственными ключевыми атрибутами, в противном случае в его идентификации участвуют также атрибуты другой сущности родителя.
Каждый атрибут идентифицируется уникальным именем, выражаемым существительным, описывающим представленную атрибутом характеристику. Атрибуты изображаются в виде списка имен внутри блока сущности, причем каждый атрибут занимает отдельную строку. Атрибуты, определяющие первичный ключ, размещаются наверху списка и выделяются знаком «#». При существовании нескольких возможных ключей один из них обозначается в качестве первичного, а остальные – как альтернативные.
С учетом имеющейся информации дополним построенную ранее диаграмму (рис.26).
Рис.26. Диаграмма «сущность - связь с атрибутами»
Помимо перечисленных основных конструкций модель данных может содержать ряд дополнительных.
Супертипы и подтипы: одна сущность является обобщающим понятием для группы подобных сущностей.
Взаимно исключающие связи: каждый экземпляр сущности участвует только в одной связи из группы взаимно исключающих (рис.28).
Дата добавления: 2018-10-26; просмотров: 201; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!