- •Часть I. Теория баз данных
- •Глава I. Системы файлов и базы данных
- •Оценка системы файлов
- •1.2. Понятие базы данных и системы управления базами данных.
- •1.3 Архитектура бд
- •Концептуальная модель
- •Внутренняя модель
- •Физическая модель
- •1.4 Модели баз данных
- •1.4.1 Иерархическая модель данных
- •1.4.2 Сетевая модель данных
- •1.4.3 Реляционная модель данных
- •Нормализация отношений
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Нормальная форма Бойса-Кодда
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •Денормализация
- •Методы реализации денормализации
- •1.4.4. Объектно-ориентированная модель данных
- •1.4.4.1. Атрибуты
- •1.4.4.2. Состояние объекта. Сообщения и методы
- •1.4.4.3. Классы
- •1.4.4.4. Протокол
- •1.4.4.5. Суперклассы, подклассы, наследование
- •1.4.4.6. Единичное наследование. Множественное наследование.
- •1.4.4.7. Переопределение методов и полиморфизм
- •1.4.4.8. Абстрактные типы данных
- •1.4.4.9. Классификация объектов
- •1.4.4.10. Свойства объектно-ориентированных моделей данных
- •1.5.1 Сущности
- •1.5.2 Атрибуты
- •1.5.3. Связи
- •1.5.4. Сравнение обозначений в er-моделировании
- •1.5.5. Разработка er-диаграмм
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).
Многозначный атрибут – это атрибут, который может принимать несколько значений. Например, человек может закончить несколько ВУЗов, иметь несколько телефонных номеров.
В реляционной СУБД многозначные атрибуты использовать нельзя. Если имеются многозначные атрибуты, то необходимо создать внутри данной сущности несколько новых атрибутов или создать новую сущность, состоящую из компонентов многозначного атрибута.
Производный атрибут – это атрибут, который не нужно хранить в БД, его получают с помощью некоторого алгоритма. Например, возраст служащего можно получить как целое значение разности между текущей датой и датой рождения.
