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





2

Дві класичні експериментальні системи

System R: загальна організація системи, основи мови SQL

Система управління реляційними базами даних System R розроблялася в дослідницькій лабораторії фірми IBM в 1975-1979 рр. Ця робота вплинула революціонізований чином на розвиток теорії і практики реляційних систем у всьому світі. Саме System R практично довела життєздатність реляційного підходу до управління базами даних.

Після успішного завершення робіт по створенню цієї системи і отримання експериментальних результатів її використання був розроблений цілий ряд комерційно доступних реляційних систем, в тому числі і на основі безпосереднього розвитку System R (можливості однієї з комерційно доступних реляційних систем - DB2 - описуються в перекладеній на російську мову книзі К. Дейта "Керівництво по реляційній СУБД DB2”). Виключно важливий досвід, придбаний при розробці цієї системи. Практично у всій більш пізній реляційній СУБД в тій або іншій мірі використовуються методи, застосовані в System R.

Після завершення розробки System R фірма IBM активно продовжувала роботи по реляційній СУБД, причому в декількох напрямах. Перший напрям ми вже відмічали - розробка комерційної реляційної СУБД. Другий напрям - побудова розподіленої реляційної СУБД на основі ідей System R. Експериментальний варіант такої системи, System R*, був успішно розроблений в IBM. Ця робота також істотно збагатила досвід дослідників і розробників розподіленої СУБД. Нарешті, третій напрям - дослідження і розробка реляційних систем, призначених для нетрадиційних додатків.

Організації СУБД System R присвячена величезна бібліографія. Хоч офіційно розробка цієї системи почалася в 1975 р., перші публікації, пов'язані з цією системою, з'явилися ще в 1974 р. Зокрема, в одній з перших публікацій була запропонована основа базової мови System R SQL (тоді ця мова називалася SEQUEL, і досі багато хто називає його саме так; до речі, розробники System R (а тепер і компанія Oracle) рекомендують вимовляти назву SQL саме як SEQUEL). Оскільки публікації з'являлися по ходу практичної реалізації системи, кожна з них відображає стан справ (ідейне і практичне) саме на тому етапі роботи, коли була написана відповідна стаття. Деякі ідеї і уявлення, природно, змінювалися по ходу роботи. Порівняно закінчене уявлення про систему загалом дають тільки заключні публікації. З іншого боку, багато які цікаві моменти абсолютно не відображені в цих останніх статтях, і ми постараємося привести більш повний огляд ідей і методів, застосованих в System R. При цьому ми будемо зупинятися і на деяких можливих альтернативних рішеннях, які були знайдені розробниками System R, але практично не були використані.

7.1. Термінологія, що використовується

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

У тих випадках, коли традиційна термінологія System R розходиться із загальноприйнятою, ми будемо віддавати перевагу термінології System R. Зокрема, це стосується використання терміну "поле відношення" замість "атрибут відношення".

У самої System R при переході до комерційних систем також сталася деяка зміна термінології. Зокрема, в деяких останніх публікаціях з'явилася тенденція до вживання більше за звичних в середовищі користувачів IBM термінів: файл, запис і т.д. Ми будемо використати терміни System R, більш близькі реляційним системам. Далі ми опишемо деякі основні терміни System R, виходячи при цьому в основному не з теоретичних міркувань, а прагнучи відобразити практичні аспекти відповідних понять.

Базовим поняттям System R є поняття таблиці (наближений до реалізації еквівалент основного поняття реляційного підходу відношення; іноді, в залежності від контексту, ми будемо використати і цей термін). Таблиця - це деяка регулярна структура, що складається з кінцевого набору однотипних записів - кортежів. Кожний кортеж одного відношення складається з кінцевого (і однакового) числа полів кортежу, причому i-те поле кожного кортежу одного відношення може містити дані тільки одного типу, і набір допустимих типів даних в System R приречений і фіксований. Внаслідок регулярності структури відношення поняття поля кортежу розширяється до поняття поля таблиці. I-те поле таблиці можна трактувати як набір одномісних кортежів, отриманих вибіркою i-тих полів з кожного кортежу цієї таблиці, тобто в загальноприйнятій термінології як проекцію відношення на i-тий атрибут. У термінологію System R не входить поняття домену, воно замінюється тут поняттям типу поля, тобто типом даних, зберігання яких в даному полі допускається (це не цілком еквівалентна заміна, але така реальність System R).

Таблиці, що складають базу даних System R, можуть фізично зберігатися в одному або декількох сегментах, які простіше усього розуміти як файли зовнішньої пам'яті (і це цілком відповідає дійсності). Сегменти розбиваються на сторінки, в яких розташовуються кортежі відносин і допоміжні службові структури даних індекси. Відповідно, кожний сегмент містить дві групи сторінок - сторінки даних і сторінки індексної інформації. Сторінки кожної групи мають фіксований розмір, але сторінки з індексною інформацією менше по розміру, ніж сторінки даних. У сторінках даних можуть розташовуватися кортежі більш, ніж одного відношення (ця дуже важлива властивість фізичної організації баз даних System R; наступні з цієї організації переваги роз'яснимо пізніше).

Цим, звичайно, не вичерпується набір понять System R, але інші терміни ми будемо пояснювати по ходу викладу, оскільки для цього потрібний відповідний понятійний контекст.

7.2. Основні цілі System R і їх зв'язок з архітектурою системи

Основними цілями розробників System R були наступні:

забезпечити ненавігаційний інтерфейс високого рівня користувача з системою, що дозволяє досягнути незалежності даних
Сторінки: 1 2 3 4 5 6 7 8 9 10 11 12 13 14