Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posibnik.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.62 Mб
Скачать

Тема 3 Моделирование данных Модель «сущность-связь»

В этой части лекции описывается и иллюстрируется использование модели «сущность-связь» (entity-relationship model), введенной Питером Ченом (Peter Chen) в 1976 г. Чен заложил основу модели, которая с тех пор расширялась и модифицировалась самим Ченом и многими другими. Кроме того, модель «сущ­ность-связь» вошла в состав множества CASE-инструментов, которые также внесли свой вклад в ее эволюцию. На сегодняшний день не существует единого общепринятого стандарта для модели «сущность-связь», зато есть набор общих конструкций, которые лежат в основе большинства вариантов этой модели. Символы, применяемые для графического представления модели «сущность-связь», весьма различны. Мы обсудим не только традиционные сим­волы, но и символы языка UML (Unified Model Language, унифицированный язык моделирования) средства проектирования, завоевывающего все боль­шую популярность среди программистов ООП и включающего в себя модель «сущность-связь».

Элементы модели «сущность-связь»

Ключевыми элементами модели «сущность-связь» являются сущности, атрибу­ты, идентификаторы и связи. Рассмотрим каждый из них по очереди.

Сущность

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

Обозначение средствами в UML-диаграммах:

Сущность обозначается

Приме­рами сущностей могут служить СТУДЕНТ Сидоров И.Р., ПРЕПОДАВАТЕЛЬ Богомолов П.Р. или ПРЕДМЕТ математика.

Сущности одного и того же типа груп­пируются в классы сущностей.

Так, класс сущностей СТУДЕНТ является совокупностью всех сущностей СТУДЕНТ.

Важно уяснить разницу между классом сущностей и экземпляром сущности. Класс сущностей (entity classes) – это совокупность сущностей, описывается структурой или форматом сущностей, составляющих этот класс. Экземпляр сущности (an instance) представляет конкретную сущность, такую как СТУДЕНТ Сидоров И.Р.; он отличается значениями атрибутов данной сущности. Обычно класс сущностей держит множество экземпляров сущности.

Например, класс СТУДЕНТ содержит множество экземпляров – по одному на каждого студента, для которого имеет запись в базе данных. Пример класса сущностей и двух экземпляров сущностей показан на рис. 3.1.

Рис. 3.1. Пример сущности СТУДЕНТ.

Атрибуты

Атрибуты (свойства) – описывают характеристики сущности.

Например, атрибутами могут служить ФИО студента, Группа и Номер студента.

Исходное определение модели «сущность-связь» включает в себя композитные атрибуты (composite attributes) и многозначные атрибуты (multi-val attributes).

Например, композитным атрибутом может быть Адрес, состоящий из группы атрибутов {Улица, Город, Индекс}.

Многозначным атрибутом может служить атрибут Имя студента сущности ПРЕПОДАВАТЕЛЬ, который может содержать имена нескольких обучаемых им студентов.

Атрибут может быть одновременно и композитным, и многозначным, например, композитный атрибут Телефон, состоящий из группы атрибутов {Код Города, Местный Номер}, может быть многозначным, что позволит иметь в базе данных несколько телефонных номеров одного и того же лица.

В большинстве реализаций модели «сущность-связь» однозначные композитные атрибуты иг­норируются, и требуется, чтобы многозначные атрибуты (будь они составные или нет) преобразовывались в сущности, как будет показано ниже.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]