Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpora_ASOI_na_pechat.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.35 Mб
Скачать
  1. На какие типы разделяются субд

Модели данных, поддерживаемые СУБД, довольно часто используются в качестве критерия для классификации СУБД. Исходя из этого, различают иерархические СУБД, сетевые СУБД и реляционные СУБД.

  1. Что из себя представляет иерархическая модель организации данных

В иерархической модели объекты-сущности и отношения предметной области представляются наборами данных, кото­рые имеют строго древовидную структуру, т. е. допускают толь­ко иерархические (структурные) связи-отношения. Иерархичес­кая модель данных была исторически первой, на основе кото­рой в конце 60-х-начале 70-х годов были разработаны первые профессиональные СУБД-СУБД IMS (Information Management System) фирмы IBM, СУБД Total для компьютеров НР3000. К иерархическим СУБД также относятся отечественные промыш­ленные СУБД 70-80-х годов «ОКА» и «ИНЭС».

База данных с иерархической моделью данных состоит из упорядоченного набора экземпляров структуры типа «дерево», что иллюстрируется примером на рис. 2.2.

В приведенном примере информационный объект «Отде­лы» является предком информационного объекта «Подразде­ления», который, в свою очередь, является предком информа­ционного объекта «Сотрудники». Объект «Подразделения» яв­ляется потомком объекта «Отделы», а объект «Сотрудники» потомком объекта «Подразделения». Экземпляры потомка с об­щим предком называются близнецами.

Рис. 2.2. Пример иерархической организации данных

В иерархической модели устанавливается строгий поря­док обхода дерева (сверху-вниз, слева-направо) и следующие операции над данными:

• найти указанное дерево (например, отдел № 3);

• перейти от одного дерева к другому;

• перейти от одной записи к другой (например, от отдела к первому подразделению);

• перейти от одной записи к другой в порядке обхода иерар­хии;

• удалить текущую запись.

Основное внимание в ограничениях целостности в иерар­хической модели уделяется целостности ссылок между пред­ками и потомками с учетом основного правила: никакой пото­мок не может существовать без родителя.

  1. Что из себя представляет сетевая модель организации данных

Сетевая модель является расширением иерархической и широко применялась в 70-е годы в первых СУБД, использовав­шихся крупными корпорациями для создания информационных систем (СУБД IDMS — Integrated Database Management System компании Cullinet Software Inc., СУБД IDS, отечественные СУБД «СЕТЬ», «БАНК», «СЕТОР»). Одним из идеологов кон­цепции сетевой модели являлся Ч. Бахман. Эталонный вари­ант сетевой модели данных, разработанный с участием Бахмана, был описан в проекте «Рабочей группы по базам данных» КОДАСИЛ (DBTG CODASYL).

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

Рис. 2.3. Пример сетевой организации данных

Сетевая СУБД состоит из одного или нескольких типов за­писей (типов информационных объектов) и набора типов свя­зей между ними. Каждый тип записей представлен в БД набо­ром экземпляров записей данного типа. Аналогично каждый тип связи представлен набором экземпляров связей данного типа между конкретными экземплярами типов записей. В при­веденном на рис. 2.3 примере типами записей являются «Орга­низация», «Сотрудник», «Банк», «Счет», а типами связей — «Со­вместительство», «Основная работа», «Вклады», «Накопления». При этом тип записи «Счет» имеет двух предков — «Сотруд­ник» и «Банк», экземпляр типа записи «Сотрудник» может иметь два предка (по связям «Основная работа» и «Совместитель­ство»), являющихся различными экземплярами типа записи «Организация».

Для данного типа связи L между типом записи предка Р и типом записи потомка С выполняются следующие условия:

• каждый экземпляр типа Р является предком только в од­ном экземпляре L,

• каждый экземпляр С является потомком не более чем в одном экземпляре L.

В рамках сетевой модели возможны следующие ситуации:

• тип записи потомка в одном типе связи L1 может быть типом записи предка в другом типе связи L2 (как в иерархичес­кой модели);

• данный тип записи Р может быть типом записи потомка в любом числе типов связи;

• может существовать любое число типов связи с одним и тем же типом записи предка и одним и тем же типом записи потомка;

• если L1 и L2 —два типа связи с одним и тем же типом записи предка Р и одним и тем же типом записи потомка С, то правила, по которым образуется родство, в разных связях мо­гут различаться;

• типы записей Х и Y могут быть предком и потомком одной связи и потомком и предком в другой; предок и потомок могут быть одного типа записи (связь типа «петля»).

В сетевой модели устанавливаются следующие операции над данными:

• найти конкретную запись (экземпляр) в наборе однотип­ных записей;

• перейти от предка к первому потомку по некоторой связи;

• перейти к следующему потомку по некоторой связи;

• создать новую запись;

• уничтожить запись;

• модифицировать запись;

• включить в связь;

• исключить из связи;

• переставить в другую связь.

Реализация связей и сведений по ним в виде отдельных за­писей в БД обеспечивает одну важную отличительную особен­ность сетевых СУБД - навигацию по связанным данным. Сете­вые СУБД обеспечивают возможность непосредственной «на­вигации» (перехода) от просмотра реквизитов экземпляра одного типа записи (например, «Организация») к просмотру рек­визитов экземпляра связанного типа записей (например, «Со­трудник»). Тем самым пользователю предоставляется возмож­ность многокритериального анализа базы данных без непос­редственной формализации своих информационных потребностей через формирование запросов на специальном языке, встроенном в СУБД. Поэтому СУБД с сетевой организа­цией данных иногда еще называют СУБД с навигацией.

Другой сильной стороной сетевой модели в немногих при­мерах современной реализации сетевых СУБД является также использование множественных типов данных для описания атрибутов информационных объектов (записей), что позволяет создавать информационные структуры, которые хорошо отра­жают традиционную табличную форму представления струк­турированных данных. К примеру, при описании типа записи «Сотрудник» в сетевой модели можно ввести реквизит «Имена детей», характер значений которого является множественным.

Сетевая модель позволяет наиболее адекватно отражать инфологические схемы сложных предметных областей. Вмес­те с тем, несмотря на появление в конце 70-х годов стандарта по сетевой модели данных КОДАСИЛ, не получила широкого распространения ни одна из попыток создания языковых про­граммных средств, которые позволили бы в разных приклад­ных информационных системах одинаковым образом описы­вать данные с сетевой организацией. В результате в сетевых СУБД данные оставались жестко связанными как с самой СУБД, так и с прикладными компонентами АИС, что затрудняло спе­циализацию в развитии программных компонент СУБД сете­вого типа и объективно затормаживало процесс их развития.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]