Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
m_DBSQL_mu.docx
Скачиваний:
27
Добавлен:
17.03.2016
Размер:
373.51 Кб
Скачать

Загальні відомості

В 1970, 1971 рр. Є.Ф. Кодд опублікував дві визначні статті, в яких послідовно розробив математичний апарат для реляційної моделі даних (РМД). По суті справи, РМД стала першою до кінця пропарцьованою та маючою під собою строги й математичний фундамент моделлю. Більш ранні СУБД «обзавелись» моделями даних(ієрархічними, мережевими, основаними на інвертованих списках ) постфактум, після десятиріччя успішної роботи на споживчому ринку окремих продуктів. Пізніші (наприклад, об'єктно-орієнтовані моделі) досі не можуть «похвалитися» наявністю настільки закінченої та цілісної математичної теорії, що сильно ускладнює їх стандартизацію і комерційне використання.

Хоча РМД сама по собі має велике значення, саме мова обробки даних є підставою для реляційної революції в БД.

Предметом обговорення в цьому посібнику є процес маніпулювання даними у вже побудованій реляційній базі даних (РБД). Основні поняття і процес проектування РМД виходять за рамки обраної теми, тому відсилаємо читача до списку літератури.

Маніпуляційна частина РМД спирається на два фундаментальні механізми маніпулювання реляційними БД - реляційну алгебру і реляційне числення. Перший механізм (реляційна алгебра, РА) базується в основному на класичній теорії множин і є процедурною (яка забезпечує покрокове вирішення завдань) мовою обробки реляційних таблиць. Другий механізм (реляційне числення, РЧ) спирається на класичний логічний апарат обчислення предикатів першого порядку. Ця мова дозволяє сформулювати, що потрібно зробити, а не як цього добитися (декларативна мова).

Є. Кодд показав, що РА і РЧ логічно еквівалентні, тобто будь-який запит, який можна сформулювати в термінах РА, можна записати, користуючись РЧ, і навпаки. Цей факт дозволяє вимірювати логічну потужність будь-якої мови запитів РМД. Мова називається реляційною (реляційно повною), якщо вона має не меншу потужність, ніж РА або РЧ.

В сучасних СУБД зазвичай підтримується єдина інтегрована мова, що містить всі необхідні засоби для роботи з БД. Стандартною мовою найбільш поширених в даний час реляційних СУБД є мова SQL (Structured Query Language). Перш за все, мова SQL поєднує засоби визначення логічної структури і обмежень цілісності РБД (DDL - Data Definition Language) і мови маніпулювання даними (DML - Data Manipulation Language). Крім того, мова СКЛ підтримує специфічні можливості адміністрування БД, а також авторизації доступу до об'єктів БД (DCL - Data Control Language). Важливою особливістю реалізації SQL є поєднання інтерактивного доступу до БД з можливістю вбудовування SQL в стандартні мови програмування.

Поняття відношень

Атрибут - властивість об'єкта предметної області. Атрибут характеризується ім'ям і значенням, яке має належати деякому домену. Домен визначається базовим типом даних, до якого відносяться елементи домену, і логічним виразом, застосовуваним до елементів типу даних. Якщо обчислення цього логічного виразу дає результат "істина", то елемент даних є елементом домену:

Домен = Базовий тип + Правило.

Найбільш правильним інтуїтивним трактуванням поняття домену є розуміння його як допустимої потенційної множини значень даного типу.

Слід зазначити також семантичне навантаження поняття домену: дані вважаються порівнянними (тета-порівнянними) тільки в тому випадку, коли вони відносяться до одного домену, а не до одного базового типу.

Таким чином, кожен екземпляр об'єкта предметної області в кожен момент часу однозначно характеризується набором конкретних значень атрибутів.

Схема відношень - це іменована множина пар {ім'я атрибута, ім'я домену}. Ступінь або "арність" схеми відношень - потужність цієї множини, тобто кількість атрибутів.

Схема бази даних- це набір іменованих схем відношень.

Кортеж, що відповідає даній схемі відношення, - цемножинапар {ім'я атрибута, значення}, які містять одне входження кожного імені атрибута, що належить схемі відношень. "Значення" є припустимим значенням домену даного атрибуту.

Відношення- цемножинакортежів, які відповідають одній схемі відношень.

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

У класичних реляційних базах даних після визначення схеми бази даних змінюються тільки відношення-екземпляри. У них можуть з'являтися нові і видалятися або модифікуватися існуючі кортежі. Однак у багатьох реалізаціях допускається і зміна схеми бази даних: визначення нових і зміна існуючих схем відношень. Це прийнято називати еволюцією схеми бази даних.

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

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

Рисунок 1 ілюструє введені поняття і показує аналогію між відношенням і плоскою таблицею. У реалізації реляційної моделі кортежуми прийнято також називати записами, а стовпці - полями.

Рисунок 1

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

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