Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бд.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.92 Mб
Скачать

28. Базові поняття реляційних баз даних.

6.1. Базові поняття реляційних баз даних

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

Тип даних

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

  • числові;

  • символьні;

  • великі двійкові об'єкти (малюнки та медіа-файли);

  • бітові рядки;

  • спеціалізовані числові дані (такі як «гроші»);

  • спеціальні «темпоральні дані» (дата, час та часовий інтервал).

Досить активно розвивається підхід до розширення можливостей реляційних систем абстрактними (користувацькими) типами даних.

Важливо! Реляційна модель вимагає, щоб типи використовуваних даних були простими (атомарними).

Звичайно, поняття атомарності досить відносно. Так, рядковий тип даних можна розглядати як одновимірний масив символів, а цілий тип даних - як набір бітів. Важливо лише те, що при переході на такий низький рівень втрачається семантика (сенс) даних. Якщо рядок, що виражає, наприклад, прізвище співробітника, розкласти в масив символів, то при цьому втрачається сенс такого рядка як єдиного цілого. Власне, для реляційної моделі даних тип використовуваних даних не важливий. Вимога, щоб тип даних був простим, потрібно розуміти так, що в реляційних операціях не повинна враховуватися внутрішня структура даних. Звичайно, повинні бути описані дії, які можна робити з даними як з єдиним цілим, наприклад, дані числового типу можна складати, для рядків можлива операція конкатенації тощо.

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

Домен

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

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

  • домен має унікальну назву (в межах бази даних);

  • домен визначений на деякому простому типі даних або на іншому домені;

  • домен може мати деякий логічну умову, що дозволяє описати підмножину даних, допустимих для даного домену;

  • домен несе певне смислове навантаження.

Приклади доменів:

  • домен «Курс» приймає значення від 1 до 6;

  • домен «Пори року» приймає значення від 1 до 4.

Кортеж, відношення

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

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

Відношення зазвичай записується у вигляді:

R(<A1: D1>, <A2: D2>, ..., <An: Dn>),

або коротше

R(A1, A2, ..., An).

Число атрибутів у відношенні називають степенем (або -арністю) відношення.

Потужність множини кортежів відношення називають потужністю відношення.

Тоді, реляційної базою даних називається набір відношень.

Звичайним для користувача поданням відношення є таблиця, заголовком якої є схема відношення, а рядками - кортежі відношення-екземляру; в цьому випадку назви атрибутів іменують стовпці цієї таблиці. Тому іноді кажуть «стовпець таблиці», маючи на увазі «атрибут відношення». Такої термінології дотримуються в більшості комерційних реляційних СКБД.

Схема відношення, схема бази даних

Схема відношення - це іменована множина пар {назва атрибута, назва домену (або типу, якщо поняття домену не підтримується)}. Степінь або «арність» схеми відношень - потужність цієї множини. Схема БД (в структурному сенсі) - це набір іменованих схем відношень. Наприклад, нехай схема відношень «лампочка» виглядає так: лампочка ((назва, varchar (10)), потужність (dec), напруга (vol), тип цоколя (cok). При цьому раніше повинні бути задані домени vol з областю значень (110 або 220) і cok з областю значень («звичайний E27» або «міньйон E14»).

Схема БД - це пойменована сукупність схем відношень, які входять до неї.

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