- •Новосибирский государственный университет экономики и управления
- •«Проектирование информационных систем» Раздел «Моделирование и проектирование данных»
- •Новосибирск 2009
- •1. Концепции er-модели
- •Примеры сущностей с физическим и концептуальным существованием
- •Способы представления сущностей на диаграмме
- •Представление атрибутов на диаграммах
- •1.3. Типы связей
- •Представление связей на диаграммах
- •1.4. Атрибуты связей
- •Date_View и Comments
- •2. Структурные ограничения
- •2.1. Показатель кардинальности
- •Связи «один к одному»
- •Связь „один ко многим"
- •Связи "многие ко многим"
- •2.2. Степень участия
- •3. Проблемы er-моделирования
- •3.1. Ловушки разветвления
- •3.2. Ловушки разрыва
- •4. Eer-модель
- •4.1. Суперклассы и подклассы типов сущностей
- •4.2. Наследование атрибутов
- •4.3. Специализация
- •4.4. Генерализация
- •4.5. Ограничения, накладываемые на процедуры специализации и генерализации
- •4.6. Категоризация
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Новосибирский государственный университет экономики и управления
МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ ПО ДИСЦИПЛИНЕ
«Проектирование информационных систем» Раздел «Моделирование и проектирование данных»
Тема: «Модель сущность-связь (ER)»
Новосибирск 2009
ВВЕДЕНИЕ
Модель "сущность-связь" (Entity-Relationship model, или ER-модель) представляет собой высокоуровневую концептуальную модель данных, которая была разработана Ченом (Chen) в 1976 году с целью упрощения задачи проектирования баз данных. Данная модель данных представляет собой набор концепций, которые описывают структуру базы данных и связанные с ней транзакции обновления и извлечения данных. Основная цель разработки высокоуровневой модели данных заключается в создании модели пользовательского восприятия данных и согласовании большого количества технических аспектов, связанных с проектированием базы данных. Следует особо подчеркнуть, что концептуальная модель данных не зависит от конкретной СУБД или аппаратной платформы, которая используется для реализации базы данных.
1. Концепции er-модели
Основные концепции модели "сущность-связь" включают типы сущностей, типы связей и атрибуты.
1.1. Типы сущностей
Типы сущностей: объект или концепция, которые характеризуются на данном предприятии как имеющие независимое существование.
Основной концепцией ER-моделирования является тип сущности (entity type), который представляет множество объектов реального мира с одинаковыми свойствами. Тип сущности характеризуются независимым существованием и может быть объектом с физическим (или реальным) существованием или объектом с концептуальным (или абстрактным) существованием, как показано в табл. 1.1. Обратите внимание на то, что в данный момент можно дать только рабочее определение типа сущности, поскольку для них пока не существует строгого формального определения. Это значит, что разные разработчики могут выделять разные сущности.
Таблица 1.1.
Примеры сущностей с физическим и концептуальным существованием
Физическое существование |
Концептуальное существование |
Работник |
Осмотр объекта недвижимости |
Объект недвижимости |
Инспекция объекта недвижимости |
Клиент |
Продажа объекта недвижимости |
Деталь |
Рабочий стаж |
Поставщик |
|
Изделие |
|
Сущность:экземпляр типа сущности, который может быть идентифицирован уникальным образом.
Каждый уникально идентифицируемый экземпляр типа сущности называется просто сущностью. Некоторые другие авторы предпочитают называть его экземпляром сущности (entity occurrence или entity instance).
Каждый тип сущности идентифицируется именем и списком свойств. База данных обычно содержит много разных типов сущностей. На рис. 1.1 показаны примеры таких типов сущностей, как Staff, Branch и Next_of_Kin. Несмотря на то, что тип сущности обладает уникальным набором атрибутов, каждая сущность имеет свои собственные значения для каждого атрибута. Типы сущностей можно классифицировать как сильные и слабые.
Слабый тип сущности: тип сущности, существование которого зависит от какого-то другого - типа сущности.
Сильный тип сущности: тип сущности, существование которого не зависит от какого-то другого типа сущности.
Слабый тип сущности зависит от существования другой сущности. На рис. 1.1 сущность Next_of_Kin является сущностью слабого типа, представляющей сведения о родственниках сотрудника. Сущность Next_of_Kin не может существовать в данной модели без присутствия сущности Staff. Сущность называется сильной, если ее существование не зависит от существования другой сущности. Примерами сильных сущностей (см. рис. 1.1) являются сущности Staff и Branch. Слабые сущности иногда называют дочерними (child), зависимыми (dependent) или подчиненными (subordinate), а сильные — родительскими (parent), сущностями-владельцами (owner) или доминантными (dominant).
Рис. 1.1. Пример EER-модели: представление о структуре данных пользователя Manager из учебного проекта