Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Термінологія БД.doc
Скачиваний:
2
Добавлен:
29.04.2019
Размер:
563.71 Кб
Скачать

Тема: Термінологія реляційних бд

  1. Структура реляційних даних

  2. Відносини в базі даних

  3. Властивості відносин

  4. Реляційні ключі

  5. Подання схем у реляційній базі даних

Завдяки популярності реляційній моделі багато хто не реляційні системи тепер забезпечуються реляційним користувальницьким інтерфейсом, незалежно від використовуваної базової моделі. Основна мережна СУБД, система IDMS фірми Computer Associates, тепер називається IDMS/R (або IDMS/SQL) і підтримує реляційне подання даних. Іншими СУБД для мейнфреймов, у яких підтримуються деякі реляційні компоненти, є Model 204 фірми Computer Corporation of America і ADABAS D фірми Software AG. Крім того, пізніше були запропоновані деякі розширення реляційній моделі даних, призначені для найбільш повного й точного вираження змісту даних (Codd, 1979), для підтримки об’єктно-орієнованих понять (Stonebraker and Rowe, 1986), а також для підтримки дедуктивних можливостей (Gardarin and Valduriez, 1989).

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

1. Структура реляційних даних

Відношення - це плоска таблиця, що складається зі стовпців і рядків.

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

Атрибут - це пойменований стовпець відносини

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

Наприклад, інформація про відділення компанії може бути представлена відношенням Branch, що включає стовпці з атрибутами Впо (Номер відділення), Street (Вулиця), Area (Район), City (Місто), Pcode (Поштовий індекс), Tel_No (Номер телефону) і Fax_No (Номер факсу). Аналогічно, інформація про працівників компанії може бути представлена відношенням Staff (Персонал), що включає стовпці з атрибутами Sno (Особистий номер співробітника), FName (Ім'я), LName (Прізвище), Address (Адреса), Tel_No (Номер телефону), Position (Посада), Sex (Підлога), DOB (Дата народження), Salary (Зарплата), NIN (Особистий номер соціального страхування) і Впо (Номер відділення, у якому даний співробітник працює). На мал. 3.1 показані приклади відносин Branch і Staff. Як видно із цього приклада, кожний стовпець містить значення од-1 ного й того ж атрибута - наприклад, стовпець Впо містить тільки номера існуючих відділень компанії

.

Домен – це набір припустимих значень для одного або декількох атрибутів.

Домени являють собою черезвычайно потужний компонент реляційній моделі. Кожний атрибут реляційній БД визначається на деякому домені. Домени можуть відрізнятися для кожного з атрибутів, але два й більше атрибути можуть визначатися на тому самому домені. У табл. 3.1 представлені домени для деяких атрибутів відносин Branch і Staff. Хоча у відношенні Branch є сім атрибутів, тут показані тільки шість, тому що два атрибути, Tel_No і Fax_No, визначені на тому самому домене. Зверніть увагу, що в будь-який момент часу в доменах можуть існувати значення, які не будуть реально представлені значеннями відповідного атрибута.

Домени деяких атрибутів відносин Branch і Staff

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

Кортеж - це рядок відносини.

Елементами відносини є кортежі, або рядка, таблиці. У відношенні Branch кожний рядок містить сім значень, по одному для кожного атрибутам!; Кортежі можуть розташовуватися в будь-якому порядку, при цьому відношення буде залишатися тим же самим, а виходить, і мати той же зміст.

Опис структури відносини разом зі специфікацією доменов і будь-якими іншими обмеженнями можливих значень атрибутів іноді називають його заголовком (або змістом (intension)). Звичайно воно є фіксованим, доти поки зміст відносини не змінюється за рахунок додавання в нього додаткових атрибутів. Кортежі називаються розширенням (extension), станом (state) або тілом відносини, що постійно міняється.

Степень відносини визначається кількістю атрибутів, що воно містить.

Відношення Branch, показане на мал. 3.1, має сім атрибутів і, отже, його ступінь дорівнює семи. Це значить, що кожний рядок таблиці є 7-арным кортежем, тобто кортежем, що містить сім значень. Відношення тільки з одниим атрибутом має ступінь 1 і називається унарным (unary) відношенням (або 1-арным кортежем). Відношення із двома атрибутами називається бінарним (binary), відношення із трьома атрибутами - тернарным (ternary), а для відносин з більшою кількістю атрибутів використається термін п-арный (n-агу). Визначення ступеня відносини є частиною заголовка відносини.

Кардинальність - це кількість кортежів, що містить відношення.

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

Реляційна база даних – це набір нормалізованих відносин

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

Альтернативна термінологія

Термінологія, використовувана в реляційній моделі, часом може привести до плутанини, оскільки крім запропонованих двох наборів термінів існує ще один- третій. Відношення в ньому називається файлом (file), кортежі - записами (records), а атрибути - полями (fields). Ця термінологія заснована на тім факті, що фізично реляційна СУБД може зберігати кожне відношення в окремому файлі. У табл. 3.2 показані відповідності, що існує між трьома згаданими вище групами термінів.

Таблиця 3.2. Альтернативні варіанти термінів у реляційній моделі

Офіційні терміни

Альтернативний варіант 1

Альтернативний варіант 2

Відношення

Таблиця

Файл

Кортеж

Рядок

Запис

Атрибут

Стовпець

Поле