Домени, атрибути і відносини - студопедія
Базові структурні компоненти реляційної моделі даних
Реляційна модель даних
Реляційна модель даних (РМД) була розроблена співробітником IBM Коддом (Codd) ще в 1969-70 р.р. на основі математичної теорії відносин. В даний час це найбільш поширена модель даних, яка використовується комерційними СУБД. Має свої переваги і недоліки.
- наявність невеликого набору абстракцій
- наявність простого і в той же час потужного математичного апарату
- можливість ненавігаційній маніпулювання даними
- деяка обмеженість при використанні в областях застосування, що вимагають гранично складні структури даних (наприклад, в системах автоматизованого проектування);
- неможливість адекватного відображення семантики предметної області.
Як і будь-яка інша, реляційна модель даних визначає
Відповідно, для опису структури використовується мова опису даних (МОД), для маніпуляцій з даними використовується мова маніпулювання даними (ЯМД). Особливості реляційної моделі даних, що відрізняють її від моделей сутність-зв'язок:
- визначена маніпуляційна частина - конкретний набір операцій, функціональні можливості,
- є конкретні мови опису даних і маніпулювання даними,
- сучасні реляційні СУБД використовують єдину мову - SQL, в якому об'єднані і ЯОД, і ЯМД.
Базовими структурними компонентами РМД є:
- домени і атрибути
Домен - безліч елементів одного типу.
Кодд визначив простий домен. елементи якого мають прості (атомарні) значення, і складовою домен. елементи якого являють собою відносини, побудовані на простих доменах.
Приклад складеного домену, побудованого на простих доменах РІК і ГРОШІ:
В даному прикладі значенням одного елемента складеного домену є безліч пар виду <ГОД, ДЕНЬГИ>
Ставлення реляційної моделі визначається відповідно до його визначенням в теорії множин:
Нехай дана сукупність множин D1. D2. ..., Dn. не обов'язково різних. Тоді відношення R, певне на цих множинах, є безліч впорядкованих кортежів
У реляційної моделі даних безлічі Di є домени.
- кортежі відношення не впорядковані,
- домени всередині кортежів впорядковані.
Атрибути задають спосіб використання домену всередині відносини.
У зв'язку з введенням поняття атрибута в реляційної моделі даних вводиться поняття схеми відносини:
Схема відносини - це іменована сукупність пар <имя атрибута. имя домена>.
Схема відносини є інтенсіонал відносини.
Розглянемо приклад. Нехай дано два домена: ЧИСЛО і СТРОКА. Відносно ВІДДІЛ домен ЧИСЛО використовується для створення номера відділу - вводимо атрибут Номер відділу. а домен СТРОКА використовується для завдання назви відділу - атрибут Назва. Тоді відношенню ВІДДІЛ відповідає наступна схема відносини:
ВІДДІЛ (Номер відділу. ЧИСЛО, Назва. СТРОКА)
У РМД, як згадувалося вище, може існувати складовою домен. У відповідності зі своїм визначенням, складовою домен являє собою відношення, побудоване також на простих доменах. Але в такому відношенні не з'являються атрибути. Повернемося до домену ІСТОРІЯ ЗАРПЛАТИ. Він побудований на простих доменах РІК і ГРОШІ і може бути заданий наступним чином:
ІСТОРІЯ ЗАРПЛАТИ (РІК, ГРОШІ)
У завданні схеми відносини можуть використовуватися і складові домени. Розглянемо відношення СПІВРОБІТНИК. Його атрибутами можуть бути Номер співробітника (визначений на домені ЧИСЛО), Ім'я (на домені СТРОКА) і Зарплата. визначений на домені ІСТОРІЯ ЗАРПЛАТИ:
СПІВРОБІТНИК (Номер співробітника. ЧИСЛО, Ім'я. СТРОКА, Зарплата. ІСТОРІЯ ЗАРПЛАТИ)
Конкретна реалізація (екстенсіонал) даного відносини може мати наступний вигляд:
Властивості відносини реляційної моделі даних.
1) Кожен атрибут відносини має унікальне в даному відношенні ім'я
2) Кожен атрибут визначений на якомусь одному домені
3) На одному і тому ж домені може бути визначено декілька атрибутів
4) Ім'я атрибута може збігатися з ім'ям домена
5) Порядок проходження атрибутів не встановлюється (атрибути у визначенні схеми відносини не впорядковані)
6) Відносно немає співпадаючих кортежів (кожен кортеж унікальний)
7) Порядок проходження кортежів не встановлюється (кортежі можуть стосуватися не впорядковані)
8) Ставлення має ім'я, яке в схемі бази даних відрізняється від імен всіх інших відносин
Примітка. часто в якості доменів використовуються інтуїтивно зрозумілі безлічі - наприклад, в попередньому прикладі інтуїтивно ясно, що Номер відділу - це число, а Назва - це рядок. Відповідно до цього в схемі відносини часто опускається вказівку імені домена:
ВІДДІЛ (Номер відділу. Назва)
У РМД відношення являє собою єдиний структурний компонент, який використовується і для подання суті, і для подання зв'язку.