У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент





Лекція 3

Ранні підходи до організації БД. Системи, засновані на інвертованих списках, ієрархічна і мережна СУБД. Приклади. Сильні місця і нестачі ранніх систем

Раніше, ніж перейти до детального і послідовного вивчення реляційних систем БД, зупинимося коротко на ранній (дореляційних) СУБД. У цьому є значення по трьох причинах: по-перше, ці системи історично передували реляційним, і для правильного розуміння причин повсюдного переходу до реляційних систем треба знати хоч би що-небудь про їх попередників; по-друге, внутрішня організація реляційних систем багато в чому заснована на використанні методів ранніх систем; по-третє, деяке знання в області ранніх систем буде корисне для розуміння шляхів розвитку післяреляційних СУБД.

Помітимо, що в цій лекції ми обмежуємося розглядом тільки загальних підходів до організації трьох типів ранніх систем, а саме, систем, заснованих на інвертованих списках, ієрархічних і мережних систем управління базами даних. Ми не будемо торкатися особливостей яких-небудь конкретних систем; це привело б до викладу багатьох технічних деталей, які, хоч і цікаві, знаходяться декілька збоку від основної мети нашого курсу. Деталі можна знайти в рекомендованій літературі.

Почнемо з деяких найбільш загальних характеристик ранніх систем:

Ці системи активно використовувалися протягом багатьох років, довше, чим використовується яка-небудь з реляційних СУБД. Насправді деякі з ранніх систем використовуються навіть в наш час, накопичені величезні бази даних, і однією з актуальних проблем інформаційних систем є використання цих систем спільно з сучасними системами.

Всі ранні системи не засновувалися на яких-небудь абстрактних моделях. Як ми згадували, поняття моделі даних фактично увійшло в побут фахівців в області БД тільки разом з реляційним підходом. Абстрактні представлення ранніх систем з'явилися пізніше на основі аналізу і виявлення загальних ознак у різних конкретних систем.

У ранніх системах доступ до БД проводився на рівні записів. Користувачі цих систем здійснювали явну навігацію в БД, використовуючи мови програмування, розширені функціями СУБД. Інтерактивний доступ до БД підтримувався тільки шляхом створення відповідних прикладних програм з власним інтерфейсом.

Можна вважати, що рівень коштів ранньої СУБД співвідноситься з рівнем файлових систем приблизно так само, як рівень мови Кобол співвідноситься з рівнем мови Асемблера. Помітимо, що при такому погляді рівень реляційних систем відповідає рівню мов Ада або APL.

Навігаційна природа ранніх систем і доступ до даних на рівні записів примушували користувача самого проводити всю оптимізацію доступу до БД, без якої-небудь підтримки системи.

Після появи реляційних систем більшість ранніх систем була оснащена "реляційними" інтерфейсами. Однак в більшості випадків це не зробило їх по-справжньому реляційними системами, оскільки залишалася можливість маніпулювати даними в природному для них режимі.

3.1. Основні особливості систем, заснованих на інвертованих списках

До числа найбільш відомих і типових представників таких систем відносяться Datacom/DB компанії Applied Data Research, Inc. (ADR), орієнтована на використання на машинах основного класу фірми IBM, і Adabas компанії Software AG.

Організація доступу до даних на основі інвертованих списків використовується практично у всій сучасній реляційних СУБД, але в цих системах користувачі не мають безпосереднього доступу до інвертованих списків (індексам). До речі, коли ми будемо розглядати внутрішні інтерфейси реляційних СУБД, ви побачите, що вони дуже близькі до призначених для користувача інтерфейсів систем, заснованих на інвертованих списках.

3.1.1. Структури даних

База даних, організована за допомогою інвертованих списків, схожа на реляційну БД, але з тією відмінністю, що таблиці, що зберігаються і шляхи доступу до них видні користувачам. При цьому:

Рядки таблиць впорядковані системою в деякій фізичній послідовності.

Фізична впорядкованість рядків всіх таблиць може визначатися і для всієї БД (так робиться, наприклад, в Datacom/DB).

Для кожної таблиці можна визначити довільне число ключів пошуку, для яких будуються індекси. Ці індекси автоматично підтримуються системою, але явно видні користувачам.

3.1.2. Маніпулювання даними

Підтримуються два класи операторів:

Оператори, що встановлюють адресу запису, серед яких:

прямі пошукові оператори (наприклад, знайти перший запис таблиці по деякому шляху доступу);

оператори, що знаходять запис в термінах відносної позиції від попереднього запису по деякому шляху доступу.

Оператори над записами, що адресуються

Типовий набір операторів:

LOCATE FIRST - знайти перший запис таблиці Т в фізичному порядку; повертає адресу запису;

LOCATE FIRST WITH SEARCH KEY EQUAL - знайти перший запис таблиці Т із заданим значенням ключа пошуку K; повертає адресу запису;

LOCATE NEXT - знайти перший запис, наступний за записом із заданою адресою в заданій дорозі доступу; повертає адресу запису;

LOCATE NEXT WITH SEARCH KEY EQUAL - знайти наступний запис таблиці Т в порядку шляху пошуку із заданим значенням K; повинна бути відповідність між способом сканування, що використовується і ключем K; повертає адресу запису;

LOCATE FIRST WITH SEARCH KEY GREATER - знайти перший запис таблиці Т в порядку ключа пошуку K зі значенням ключового поля, великим заданого значення K; повертає адресу запису;

RETRIVE - вибрати запис з вказаною адресою;

UPDATE - оновити запис з вказаною адресою;

DELETE - видалити запис з вказаною адресою;

STORE - включити запис у вказану таблицю; операція генерує адресу запису.

3.1.3. Обмеження цілісності

Загальні правила визначення цілісності БД відсутні. У деяких системах підтримуються обмеження унікальності значень деяких полів, але в основному все покладається на прикладну програму.

3.2. Ієрархічні системи

Типовим представником (найбільш відомим і поширеним) є Information Management System (IMS) фірми IBM. Перша версія з'явилася в 1968 р. Досі підтримується багато баз даних, що створює істотні проблеми з переходом як на нову технологію БД, так і на нову техніку.

3.2.1. Ієрархічність структури даних

Ієрархічна БД складається з впорядкованого набору дерев; більш точно, з


Сторінки: 1 2