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

Проектирование базы данных сетевого типа

Сетевая модель данных позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа, обобщая тем самым иерархическую модель данных. Для описания схемы БД используется две группы типов: «запись» и «связь». Главным достоинством сетевой модели данных является возможность эффективной реализации по показателям затрат памяти и оперативности.

На связи в сетевой модели накладываются два ограничения: они должны быть бинарными и находиться в соотношении 1:М. Если хотя бы одно из этих ограничений не выполняется, то делают соответствующие преобразования и добиваются выполнения этих ограничений. В данной базе данных эти ограничения выполняются, и преобразования не требуются.

Графическое представление предметной области в сетевой модели –

Диаграмма Бахмана - выглядит следующим образом:

c

KOBOR MMMMMMKKOBOR

c

KMAT

MAT

SYS

OBOR

P1 >

< P2

v

NPP

OPER

S1 >

< S2

P1, P2 – сингулярные наборы, т.е. владельцем является одна запись «система».

S1, S2 – физические наборы данных, которые будут содержать той или иной тип записи.

C – означает то, что записи вычисляемые, поэтому зная значение ключа KMAT или KOBOR можно найти соответствующую запись по значению ключа.

V - записи типа «договор» можно получить только через набор S1 или S2.

Описание схемы базы данных:

DATABASE TEXMARS {

DATAFILE ‘TEXMARS.DAT’ CONTAINS SYSTEM, MAT, OBOR, OPER;

KEYFILE ‘TEXMARS.KEY’ CONTAINS KMAT, KOBOR, NPP;

RECORD MAT

{

KEY int KMAT [3];

char NMAT [50];

}

RECORD OBOR

{

KEY int KOBOR [5];

char NOBOR [20];

char HARAKT [200];

}

RECORD OPER

{

KEY int NPP [5];

char KOPER [20];

int KMAT [3];

int KOBOR [5];

char VREMYA [20];

}

SET P1

{

ORDER LAST;

OWNER SYSTEM;

MEMBER MAT;

}

SET P2

{

ORDER LAST;

OWNER SYSTEM;

MEMBER OBOR;

}

SET S1

{

ORDER LAST;

OWNER MAT;

MEMBER OPER;

}

SET S2

{

ORDER LAST;

OWNER OBOR;

MEMBER OPER;

}

}

Запросы

  1. Для данного оборудования получить сведения об операциях:

D_OPEN();

GET(KOBOR);

D_KEYFIND(KOBOR);

D_SETOR(S2);

FOR(D_FINDFM(S2); DB_STATUS==S_OKAY; D_FINDNM(S2));

{ D_RECREAD(&OPER);

<ОБРАБОТКА> }

D_CLOSE();

  1. Для данного материала получить сведения о выполняемых операциях:

D_OPEN();

GET(KMAT);

D_KEYFIND(KMAT);

D_SETOR(S1);

FOR(D_FINDFM(S1); DB_STATUS==S_OKAY; D_FINDNM(S1));

{ D_RECREAD(&OPER);

<ОБРАБОТКА> }

D_CLOSE();

Проектирование базы данных с использованием объектно-ориентированной модели данных

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

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

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

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

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

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

Рис.___.Обмен сообщениями между объектами

Классы

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

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

Рис.___. Представление класса MAT

Рис. ___. Пример представления класса OBOR

Определим класс с именем MAT для хранения объектов-материалов. Все объекты класса MAT используют одинаковую структуру (атрибуты) и отвечают на одинаковые сообщения (с помощью методов). Каждый экземпляр класса представляет собой объект с уникальным OID и каждый объект ‘знает’, какому классу он принадлежит.

Рис. ___. Иерархия классов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пространство объектов

Пространство объектов (object space) или схема объектов (object schema) используется для представления состояния объекта в данный момент времени.

Рис. ___. Состояние объекта для экземпляра класса OPER, использующего ATD