Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ранние подходы (дореляционные) к организации БД




Организация современной СУБД

Поддержка языков БД

Языки: DDL – Data Definition Language, DML - Data Manipulation Language, DCL - Data Control Language.

Можно выделить следующие основные функции СУБД:

1. Управление данными во внешней памяти

2. Управление буферами в оперативной памяти

3. Управление транзакциями

4. Журнализация и восстановление

5. Поддержка языков БЖ

Логически, в современной реляционной СУБД можно выделить ядро СУБД (Database Engine), компилятор языка, подсистема поддержки времени выполнения, набор утилит.

Ядро СУБД обладает собственным интерфейсом недоступным пользователям напрямую и используемых в программах производимых компилятором SQL и утилитах базы данных.

Основной функцией компилятора базы данных является преобразование операторов языка базы данных в некоторую исполняемую программу. Как правило результатом компиляции является программа в машинных кодах или в выполняемом внутреннем машинно независимом коде.

Эти системы использовались в течение многих лет и идо сих пор еще используются. Они появились раньше чем реляционная модель. Важной проблемой является взаимодействие этих систем с реляционной и постреляционной моделями. Ранние системы не основывались на каких либо абстрактных моделях. Понятие модели впервые появилось в связи с реляционным подходом. Абстрактные представления систем появились позже их создания на основе выделения общих черт присущих этим продуктам. В этих системах доступ к базе данных производится на уровне записей. Пользователи этих систем осуществляли явную навигацию в базе данных, используя языки программирования, расширенные функциями СУБД (COBOL). Интерактивный доступ к базе данных поддерживался только путем создания соответствующих прикладных программ с собственным интерфейсом.

Навигационная природа и доступ к данным на уровне записей заставляли пользователя самого проводить оптимизацию доступа без поддержки систем.

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

Иерархическая модель данных (пример). IMS, IBM.

Структуры данных

Организация иерархических систем определяется в следующих основных терминах:

1) Атрибут – наименьшая структура единица структуры данных, имеющее имя (еще называют поле).

2) Запись – именованная совокупность атрибутов. Использование записей позволяет за одно обращение к базе получить некоторую логически связанную совокупность данных. Тип записи определяется составом ее атрибутов, а экземпляр записей – это конкретная запись с конкретными значениями атрибутов.

3) Групповое отношение – иерархическое отношение между записями двух типов. Родительская запись является владельцем группового отношения, а дочерние записи членами группового отношения. Иерархическая БД может хранить только такие древовидные структуры. Корневая запись каждого дерева обязательно должна содержать ключ с уникальным значением. Ключи некорневых записей должны иметь уникальное значение только в рамках группового отношения. Каждая запись индефицируется полным сцепленным ключом, под которым понимается совокупность ключей всех записей от корневой по иерархическому пути.

Пример:

Отдел 1
Заказчик 1


Контракт 1
Контракт 2
Контракт 2
Контракт 1
Исполнитель 1
Сотруд 2
Сотруд 1

Исполнитель 1
Исполнитель 2

 


На примере БД, где сотрудники, которые числятся в отделах работают над контрактами, видны недостатки иерархических СУБД: частично дублируется информация между записями «Сотрудник» и «Исполнитель» (такие записи называются парными), причем в иерархической модели не предусмотрена поддержка соответствия между парными записями. Иерархическая модель реализует отношение между родительской и дочерней записью по схеме 1:N (1 ко многим), то есть одной родительской записи может соответствовать любое число дочерних. Если исполнитель может принять участие более чем одном контракте и над одним контрактом может работать несколько исполнителей, то возникает связь типа N:N (многие ко многим), которая не поддерживается иерархической моделью. В этом случае в БД необходимо добавить еще одно групповое отношение, в котором исполнитель будет являться родительской записью, а контракт дочерней. Таким образом снова дублируется информация.

В обобщенной структуре дерева типы записей обычно упорядочены внутри структуры.

B
P
B3
PG4
PG21
CR76
CR36
CR56
PG36
PG16
SG5
SG14
SG23
SG37
C
S

 


При работе с обобщенной структурой используются два метода доступа ко всем узлам внутри дерева: прямой порядок обхода начинается с доступа к корню с последующей обработкой всего дерева, с доступом к поддеревьям в порядке слева направо. Пример прямого доступа: B3->SG5->SG14->SG23->SG37->PG4->CR76->CR36->PG16->PG21->PG36->CR56.

Обратный порядок обхода: начинается с доступа к самым нижним узлам постепенным восходящим переходом от одного поддерева к другому слева направо с завершением обработки в корне. Пример: SG5->SG14->SG23->SG37->CR76->CR36->PG4->PG16->PG21->CR56->PG36->B3.

 




Поделиться с друзьями:


Дата добавления: 2015-05-10; Просмотров: 796; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.