Проектирование базы данных сетевого типа
Сетевая модель данных позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа, обобщая тем самым иерархическую модель данных. Для описания схемы БД используется две группы типов: «запись» и «связь». Главным достоинством сетевой модели данных является возможность эффективной реализации по показателям затрат памяти и оперативности.
На связи в сетевой модели накладываются два ограничения: они должны быть бинарными и находиться в соотношении 1:М. Если хотя бы одно из этих ограничений не выполняется, то делают соответствующие преобразования и добиваются выполнения этих ограничений. В данной базе данных эти ограничения выполняются, и преобразования не требуются.
Графическое представление предметной области в сетевой модели –
Диаграмма Бахмана - выглядит следующим образом:
| |||||
|
| |||||
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();
2. Для данного материала получить сведения о выполняемых операциях:
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), управление которой осуществляется с помощью системы управления объектно-ориентированной базой данных
|
|
Каждый объект – это сущность реального мира, взаимодействующая с другими объектами.
Каждый объект может манипулировать данными, которые являются частью этого объекта, каждый объект может посылать сообщения для изменения данных в других объектах. Следовательно, ОО-инфраструктура обладает следующими свойствами:
o набор данных не является больше пассивным;
o данные и процедуры, будучи связанные друг с другом, образуют объект;
o объект может воздействовать на самого себя.
Рис.___.Обмен сообщениями между объектами
Классы
В ОО-системах объекты классифицируются в соответствии с их схожестью и различием. Объекты, имеющие общие свойства, группируются в классы. Т.е. класс представляет собой набор подобных объектов с разделяемыми структурой (атрибутами) и поведением (методами).
Класс содержит подробное описание структуры данных и реализации методов для объектов данного класса. Поэтому все объекты в классе используют одинаковую структуру и отвечают на одинаковые сообщения.
Рис.___. Представление класса MAT
|
|
Рис. ___. Пример представления класса OBOR
Определим класс с именем MAT для хранения объектов-материалов. Все объекты класса MAT используют одинаковую структуру (атрибуты) и отвечают на одинаковые сообщения (с помощью методов). Каждый экземпляр класса представляет собой объект с уникальным OID и каждый объект ‘знает’, какому классу он принадлежит.
Рис. ___. Иерархия классов
Дата добавления: 2020-04-25; просмотров: 118; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!