Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #52, МАРТ 2005 г.

Информационное моделирование в ERwin

Лавров Владислав (l-vv@r66.ru)

Спецвыпуск: Хакер, номер #052, стр. 052-028-2


Серьезный проект по базам данных начинается с информационного моделирования, то есть сначала придется потрудиться над созданием семантической модели. Одной из таких наиболее распространенных моделей данных является модель "сущность-связь" (Entity-Relationship), или ER-модель. Все моделирование предметной области основано на использовании графических диаграмм - ER-диаграмм (Entity-Relationship Diagrams). Этот подход хорош тем, что в результате получается наглядная концептуальная схема базы данных, понятная всем, в том числе и начальству.

Всю модель можно описать в трех основных терминах: "сущность", "атрибут" и "связь" (их и буду интенсивно эксплуатировать в статье).

Сущность (Entity) - это реальный или воображаемый объект, имеющий существенное значение для рассматриваемой предметной области. Другими словами, это все, о чем требуется хранить информацию. Реально в твоей базе данных сущность станет таблицей. Когда моделируем визуально, мы оперируем не объектами базы, а абстрактными объектами, и нужно как-то называть их. Так вот таблице дали название "Сущность". Сущности именуются обычно существительными во множественном числе. К примеру, в твоей будущей БД можно отметить как минимум три сущности: "Заказчики", "Комплектующие" и "Заказы".

Разработчик должен знать самое необходимое об этих сущностях - отдельные характеристики, выражаемые с помощью атрибутов. Таким образом, атрибут выражает интересующее пользователя определенное свойство сущности, которое характеризует ее конкретный экземпляр. В твоей базе данных атрибут превратится в отдельный столбец таблицы. Атрибут определяется типом (числовым, текстовым, логическим, временным и др.), а также значением, которое он принимает.

За каждой сущностью кроется информация о куче экземпляров объектов, то есть конкретных заказчиков, поставщиков, комплектующих, изделий и заказов. Как отличить их друг от друга? Самое простое, что придумали на сегодняшний день, - это выделение одного или нескольких атрибутов, в которых не должны вводиться повторяющиеся данные. Такой атрибут или набор атрибутов, однозначно идентифицирующий конкретный экземпляр сущности, называется ключевым.

В реальном мире сущности живут не в изоляции, а в связи друг с другом. Связь (Relationship) в семантической модели - это зависимость между двумя сущностями, значимая для рассматриваемой предметной области. В этом случае каждый экземпляр одной сущности ассоциируется с произвольным (в том числе и нулевым) количеством экземпляров второй сущности и наоборот. На ER-диаграммах связь представляется в виде линии, связывающей две сущности. При этом в месте "стыковки" связи с сущностью используются специальные обозначения, которые описывают специфические особенности связей. Например, жирная точка на входе в прямоугольник сущности означает, что для нее в связи могут использоваться много экземпляров, а одноточечный вход - если в связи может участвовать только один экземпляр. Вообще в семантической модели возможны три вида связей между двумя сущностями: "один-к-одному", "один-ко-многим" и "многие-ко-многим". Различие в том, какое количество экземпляров сущности с каждой стороны может быть связано между собой.

Назад на стр. 052-028-1  Содержание  Вперед на стр. 052-028-3