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

1.4.4.10. Свойства объектно-ориентированных моделей данных

Рассмотренные ОО-концепции представляют собой основные свойства ОО-модели данных (OOMD, OODM), называемой также объектной моделью данных.

ODM должна обладать следующими свойствами:

поддерживать представление сложных объектов;

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

поддерживать инкапсуляцию, т.е. представление данных и реализация методов должны быть скрыты от внешних объектов;

поддерживать наследование, т.е. любой объект может наследовать свойства (данные и методы) других объектов;

обеспечивать идентификацию объекта (OID).

Кроме того, можно кратко сформулировать следующие основные положения:

OOMD сущности реального мира моделируются объектами;

каждый объект состоит из атрибутов и набора методов;

каждый атрибут может ссылаться на другой объект или множество объектов;

атрибуты и реализации методов скрыты (инкапсулированы) от других объектов;

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

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

класс описывает тип объекта;

классы организованы в иерархию классов;

каждый объект класса наследует все свойства своего суперкласса в иерархии классов.

1.5 ER-моделирование

Моделирование данных – это первый шаг на пути проектирования БД, это переход от объектов реального мира к компьютерной модели БД.

ER-модель служит для объединения различных представлений данных на концептуальном уровне. На основе ER-модели строятся ER-диаграммы, на которых отображаются три основных компонента ER-модели: сущности, атрибуты, связи.

1.5.1 Сущности

Поскольку сущность представляет собой объект реального мира, то слова «сущность» и «объект» часто обозначают одно и то же.

На уровне ER-моделирования под сущностью на самом деле подразумевается набор сущностей (entity set), а не единственная сущность. Иначе говоря, сущность в ER-моделировании соответствует таблице, а не строке в реляционной среде, отдельная строка в ER-модели называется экземпляром сущности (entity instance, entity occurrence). Сущность изображается прямоугольником, в котором записано имя сущности.

1.5.2 Атрибуты

Атрибуты описывают свойства сущности. Например, сущность STUDENT включает в себя атрибуты NSTBIL (№ студенческого билета), FIO (имя студента), KURS (курс) и т.д.

Рис. 23. Атрибуты сущности STUDENT в ER-модели.

У атрибутов имеются домены. Домен – это набор возможных значений атрибута. Например, домен для числового значения средней оценки студента может быть записан в виде интервала [0,4].

Первичные ключи в ER-модели подчеркиваются. Если имеются несколько первичных ключей, то подчеркиваются все.

Атрибуты могут быть простые и составные. Составной атрибут – это атрибут, который может быть в дальнейшем разделен на несколько атрибутов. Например, атрибут ADRESS (адрес), может быть разделен на STREET (улица), CITY (город) и т.д.

Атрибуты могут быть однозначные и многозначные. Однозначный атрибут – это такой атрибут, который может принимать единственное значений. Например, ИНН может иметь единственное значение у каждого человека. Однозначные атрибуты не обязательно являются простыми. Например, серийный номер 78-03-06-137846 является однозначным атрибутом, но в то же время это составной атрибут, т.к. его можно разделить на регион, в котором изделие было выпущено (78), код города (03), выпускающую смену (06), номер изделия (137846).

Многозначный атрибут – это атрибут, который может принимать несколько значений. Например, человек может закончить несколько ВУЗов, иметь несколько телефонных номеров.

В реляционной СУБД многозначные атрибуты использовать нельзя. Если имеются многозначные атрибуты, то необходимо создать внутри данной сущности несколько новых атрибутов или создать новую сущность, состоящую из компонентов многозначного атрибута.

Производный атрибут – это атрибут, который не нужно хранить в БД, его получают с помощью некоторого алгоритма. Например, возраст служащего можно получить как целое значение разности между текущей датой и датой рождения.