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

Методы реализации денормализации

В Oracle 6 создавались специальные скрипты для таблиц, обеспечивающих проверку целостности денормализованных данных и выдачу сообщений о нарушениях. Эти скрипты должен был прогонять периодически администратор базы данных.

Пример скрипта для таблиц, построенных от сущностей Order и Order_Item (после денормализации):

Select Ord. Order#

From Orders, Ord

Where Ord.order_Price<>(Select sum (Oit.Item_Price) from Order_Items, Oit where Oit.Ord_Order#=Ord.Order#);

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

1.4.4. Объектно-ориентированная модель данных

Все более усложняющиеся практические задачи стимулируют появление других моделей, точнее отражающих реальный мир. Одной из таких моделей стала семантическая модель данных (SDM, semantic database model), разработанная в 1981 году.

SDM позволяет моделировать как данные, так и их отношения в единой структуре, называемой объектом. Поскольку основной структурой модели является объект, модель SDM получила название объектно-ориентированной модели базы данных (object oriented database model, OODM). В свою очередь OODM стала основой создания объектно-ориентированной модели БД (OODMB), управление которой осуществляется с помощью системы управления объектно-ориентированной базой данных (ООСУБД, OODMBS).

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

Идеи данного подхода берут свое начало в объектно-ориентированном программировании (Ada, Algol, LIST и др.). Эти языки – промежуточная ступень до появления языков с более выраженными ОО-концепциями. Наиболее популярные языки С++, Java.

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

набор данных не является больше пассивным;

данные и процедуры, будучи связанные друг с другом, образуют объект;

объект может воздействовать на самого себя.

Таким образом, можно определить объект как абстрактное представление сущности реального мира, имеющее уникальный идентификатор, встроенные свойства и возможность взаимодействовать с другими объектами, а также воздействовать на самого себя.

Основное отличие сущности от объекта заключается в том, что у сущности есть компоненты данных и связи, но сущность не обладает возможностью манипулирования данными. Объекты имеют общие свойства, но каждый объект существует во времени и пространстве независимо от других объектов. Например, объекты Иванов, Петров, Сидоров имеют общие свойства, такие как № студенческого билета, ФИО и др., но каждый из них имеет уникальную биологическую идентификацию и существует отдельно один от другого.

Объект имеет идентификатор объекта, уникальный для него (ID, OID). Идентификатор OID назначается системой в момент создания объекта и не может быть изменен ни при каких условиях.

Отличие первичного ключа реляционной модели и идентификатора объекта (OID) заключается в том, что основу первичного ключа составляют значения, определенные пользователем для данного атрибута, он может быть изменен в любое время, OID назначается системой, не зависит от значений атрибута и его нельзя изменить. Его можно удалить, если удаляется сам объект.