Проэктирование баз данных

Имеется целый ряд методик создания информационно-логи­ческих моделей. Наиболее популярна в настоящее время методика с использованием ERD (entity-relationship diagram). В русскоязыч­ной литературе эти диаграммы называют объект — отношение либо сущность — связь. Модель с использованием ERD была предложе­на Ченом в 1976 г. К настоящему времени разработано несколько ее разновидностей, но все они базируются на графических диаг­раммах, предложенных Ченом, которые конструируются из не­большого числа компонентов и благодаря наглядности представ­ления широко используются в CASE-средствах (Computer-Aided Software/System Engineering).

Рассмотрим используемые при проектировании терминологию и обозначения.

Сущность (Entity) — реальный либо воображаемый объект, имеющий существенное значение для рассматриваемой предмет­ной области, информация о котором подлежит хранению.

Каждая сущность должна обладать уникальным идентификато­ром. Каждый экземпляр сущности должен однозначно идентифи­цироваться и отличаться от всех других экземпляров данного типа, т.е. каждая сущность должна:

иметь уникальное имя, причем это имя должно всегда одно­значно интерпретироваться (определять сущность), и наоборот, одна интерпретация не может применяться к различным именам, если только они не являются псевдонимами;

обладать одним или несколькими атрибутами, которые либо принадлежат ей, либо наследуются ею через связь;

• обладать одним или несколькими атрибутами, которые одно­значно идентифицируют каждый ее экземпляр.

Сущность может быть независимой и зависимой. При­знаком зависимой сущности служит наличие у нее наследуемых через связь атрибутов.

Каждая сущность может обладать любым количеством связей с другими сущностями модели.

Связь (relation) — поименованная ассоциация между двумя сущ­ностями, значимая для рассматриваемой предметной области. При этом одна из участвующих в связи сущностей — независимая — называется родительской, а другая — зависимая — называется дочерней, или сущностью-потомком. Как правило, каждый эк­земпляр родительской сущности ассоциирован с произвольным (в том числе нулевым) числом экземпляров дочерней сущности. Каждый экземпляр сущности-потомка ассоциирован в точности с одним экземпляром сущности-родителя. Таким образом, экземпляр сущности-потомка может существовать только при существо­вании сущности родителя.

Связи дается имя, выражаемое глаголом и помещаемое возле линии связи. Имя каждой связи между двумя данными сущностя­ми должно быть уникальным, но имена связей в модели не обяза­ны быть уникальными. Каждая связь имеет определение. Опреде­ление связи образуют соединением имени сущности-родителя, имени связи, выражения степени связи и имени сущности-по­томка.

Атрибут — любая характеристика сущности, значимая для рас­сматриваемой предметной области. Он предназначен для квали­фикации, идентификации, классификации, количественной ха­рактеристики или выражения состояния сущности. Атрибут пред­ставляет собой тип характеристик (свойств), ассоциированных с множеством реальных или абстрактных объектов (людей, мест, событий, состояний, идей, пар предметов и т.д.). Экземпляр ат­рибута — это определенная характеристика конкретного экземп­ляра сущности. Экземпляр атрибута определяется типом характе­ристики (например, цвет) и ее значением (например, лиловый), называемым значением атрибута. В ERD-модели атрибуты ассоци­ируются с конкретными сущностями. Каждый экземпляр сущно­сти должен обладать одним конкретным значением для каждого своего атрибута.