Домени, атрибути і відносини - студопедія

Базові структурні компоненти реляційної моделі даних

Реляційна модель даних

Реляційна модель даних (РМД) була розроблена співробітником IBM Коддом (Codd) ще в 1969-70 р.р. на основі математичної теорії відносин. В даний час це найбільш поширена модель даних, яка використовується комерційними СУБД. Має свої переваги і недоліки.

- наявність невеликого набору абстракцій

- наявність простого і в той же час потужного математичного апарату

- можливість ненавігаційній маніпулювання даними

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

- неможливість адекватного відображення семантики предметної області.

Як і будь-яка інша, реляційна модель даних визначає

Відповідно, для опису структури використовується мова опису даних (МОД), для маніпуляцій з даними використовується мова маніпулювання даними (ЯМД). Особливості реляційної моделі даних, що відрізняють її від моделей сутність-зв'язок:

- визначена маніпуляційна частина - конкретний набір операцій, функціональні можливості,

- є конкретні мови опису даних і маніпулювання даними,

- сучасні реляційні СУБД використовують єдину мову - SQL, в якому об'єднані і ЯОД, і ЯМД.

Базовими структурними компонентами РМД є:

- домени і атрибути

Домен - безліч елементів одного типу.

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

Приклад складеного домену, побудованого на простих доменах РІК і ГРОШІ:

В даному прикладі значенням одного елемента складеного домену є безліч пар виду <ГОД, ДЕНЬГИ>

Ставлення реляційної моделі визначається відповідно до його визначенням в теорії множин:

Нехай дана сукупність множин D1. D2. ..., Dn. не обов'язково різних. Тоді відношення R, певне на цих множинах, є безліч впорядкованих кортежів таких, що di Î Di для кожного i з [1: n].

У реляційної моделі даних безлічі Di є домени.

- кортежі відношення не впорядковані,

- домени всередині кортежів впорядковані.

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

У зв'язку з введенням поняття атрибута в реляційної моделі даних вводиться поняття схеми відносини:

Схема відносини - це іменована сукупність пар <имя атрибута. имя домена>.

Схема відносини є інтенсіонал відносини.

Розглянемо приклад. Нехай дано два домена: ЧИСЛО і СТРОКА. Відносно ВІДДІЛ домен ЧИСЛО використовується для створення номера відділу - вводимо атрибут Номер відділу. а домен СТРОКА використовується для завдання назви відділу - атрибут Назва. Тоді відношенню ВІДДІЛ відповідає наступна схема відносини:

ВІДДІЛ (Номер відділу. ЧИСЛО, Назва. СТРОКА)

У РМД, як згадувалося вище, може існувати складовою домен. У відповідності зі своїм визначенням, складовою домен являє собою відношення, побудоване також на простих доменах. Але в такому відношенні не з'являються атрибути. Повернемося до домену ІСТОРІЯ ЗАРПЛАТИ. Він побудований на простих доменах РІК і ГРОШІ і може бути заданий наступним чином:

ІСТОРІЯ ЗАРПЛАТИ (РІК, ГРОШІ)

У завданні схеми відносини можуть використовуватися і складові домени. Розглянемо відношення СПІВРОБІТНИК. Його атрибутами можуть бути Номер співробітника (визначений на домені ЧИСЛО), Ім'я (на домені СТРОКА) і Зарплата. визначений на домені ІСТОРІЯ ЗАРПЛАТИ:

СПІВРОБІТНИК (Номер співробітника. ЧИСЛО, Ім'я. СТРОКА, Зарплата. ІСТОРІЯ ЗАРПЛАТИ)

Конкретна реалізація (екстенсіонал) даного відносини може мати наступний вигляд:

Властивості відносини реляційної моделі даних.

1) Кожен атрибут відносини має унікальне в даному відношенні ім'я

2) Кожен атрибут визначений на якомусь одному домені

3) На одному і тому ж домені може бути визначено декілька атрибутів

4) Ім'я атрибута може збігатися з ім'ям домена

5) Порядок проходження атрибутів не встановлюється (атрибути у визначенні схеми відносини не впорядковані)

6) Відносно немає співпадаючих кортежів (кожен кортеж унікальний)

7) Порядок проходження кортежів не встановлюється (кортежі можуть стосуватися не впорядковані)

8) Ставлення має ім'я, яке в схемі бази даних відрізняється від імен всіх інших відносин

Примітка. часто в якості доменів використовуються інтуїтивно зрозумілі безлічі - наприклад, в попередньому прикладі інтуїтивно ясно, що Номер відділу - це число, а Назва - це рядок. Відповідно до цього в схемі відносини часто опускається вказівку імені домена:

ВІДДІЛ (Номер відділу. Назва)

У РМД відношення являє собою єдиний структурний компонент, який використовується і для подання суті, і для подання зв'язку.