СЕНС ВІДНОСИН

У главі 1 зазначалося, що стовпці у відносинах повязані з типами даних А наприкінці розділу 32 ми говорили, що реляційна модель включає необмежений набір типів [даних]. Крім усього іншого, це означає, що користувачі можуть визначати власні типи (А також, звичайно, застосовувати визначаються системою або вбудовані типи) Наприклад, визначати типи можна представленим нижче способом (знову скористаємося синтаксисом мови Tutorial D, причому три крапки …” тут замінює самі визначення, які для нас зараз не важливі)

TYPE EMP# .. TYPE NAME .. TYPE DEPT# TYPE MONEY ..

Тип ОМР #, наприклад, можна розглядати, як безліч всіляких табельних номерів, тип NAME – як безліч всіляких імен і тд

Тепер звернемося до рис 34, який фактично являє собою частину представленого на рис 31 відносини ОМР, доповненого позначеннями типів стовпців Як показано на цьому малюнку, кожне відношення, точніше, кожнезначення відносини, складається з двох частин: набору пар Імя_стовпця: імя_тіпа (Заголовка) і набору рядків,

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

3 Різниця між значеннями відносини і змінними відносини фактично являють собою особливий випадок відмінності між значеннями і змінними в цілому Останнє відмінність детально аналізується в розділі 5

Рис 34 Приклад значення відносини ОМР із зазначенням типів стовпців

Розглянемо один важливий, хоча і не настільки поширений, спосіб представлення сенсу відносин

■ По-перше, в певному відношенні r заголовок відносини r являє со бою певний предикат (Під предикатом мається на увазі просто функція з істиннісними значеннями, яка, як і всі функції, має ряд формальних параметрів)

■ По-друге, як згадувалося у розділі 1, кожен рядок в тілі відносини r представ ляє собою певне справжнє висловлювання, отримане з предиката шляхом підстановки певних значень фактичних параметрів відповідного типу замість формальних параметрів цього предиката (тобто шляхом конкретизації

Наприклад у випадку, представленому на рис 34, предикат буде наступним

Службовець з табельною номером ОМР # і прізвищем ENAME працює у відділі з номером DEPT # і отримує зарплату SALARY

Тут формальними параметрами є ОМР #, ENAME, DEPT # І SALARY, які, звичайно ж, відповідають чотирьом стовпцях змінної відносини ОМР Нижче наведені приклади відповідних істинних тверджень

Службовець з табельною номером Е1 і прізвищем Lopez працює у відділі з

номером D1 і отримує зарплату 40 тис дол на рік

(Отримано шляхом підстановки в параметр ОМР # значення Е1, в параметр NAME – значення Lopez, в параметр DEPT # – значення D1 і в параметр SALARY – значення 4 ОК)

Службовець з номером Е2 і прізвищем Cheng працює у відділі з номером D1 і отримує зарплату 42 тис дол на рік

(Отримано шляхом підстановки в параметр ОМР # значення Е2, в параметр NAME

– значення Cheng, в параметр DEPT # – значення D1 і в параметр SALARY –

значення 42К)

Іншими словами:

■&nbsp&nbsp&nbsp&nbsp типи – це обєкти (множини обєктів), які можуть стати предметом обгово

дення

■&nbsp&nbsp&nbsp&nbsp відносини – Це факти (множини фактів), що стосуються обєктів,

які можуть

стати предметом обговорення

(Є прекрасна аналогія, яка може допомогти вам зрозуміти сенс і запамятати ці важливі визначення Типи повязані з відносинами точно так само, як іменники повязані з пропозиціями на природній мові) У нашому приклад предметом обговорення є табельні номери службовців, їх імена, номери відділів та значення грошових сум, а те, що ми можемо сказати про обговорюваний предмет, – це справжнє висловлювання такого виду:

“Службовець з певним табельною номером має певне імя, працює в певному відділі і отримує певну зарплату.

З вищесказаного випливає:

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

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

■ по-третє, не можна змішувати поняття типів і відносин Достойно жалю те, що в деяких комерційних продуктах (які, безумовно, не заслуговуючи ють назви реляційних) не проводяться відмінності між типами і відносини ми У главі 26 (розділ 262) наведено ряд міркувань з приводу цієї плутанини

До речі, важливо розуміти, що кожне відношення має повязаний з ним предикат, включаючи відносини, отримані за допомогою реляційних операторів, наприклад оператора зєднання Ставлення DEPT на рис 31 і три результуючих відносини на рис 32 мають предикати, які визначені таким чином

■&nbsp&nbsp&nbsp&nbsp DEPT Відділ з номером DEPT # називається DNAME І має бюджет BUDGET .

■&nbsp&nbsp&nbsp&nbsp Скорочення відносини DEPT, де BUDGET &gt Відділ з номером DEPT # називаються ється DNAME і має бюджет BUDGET, який перевищує 8 млн дол.

■&nbsp&nbsp&nbsp&nbsp Проекція, що складається з стовпців DEPT # і BUDGET відносини DEPT Відділ з номером DEPT # має деяке назву і бюджет BUDGET.

■&nbsp&nbsp&nbsp&nbsp Зєднання змінних відносини DEPT і ОМР на основі стовпця DEPT # Відділ з номером DEPT # називається DNAME І має бюджет BUDGET, а службовець з номі ром ОМР # на прізвище ENAME працює у відділі з номером DEPT # і отримує зар плату SALARY (Зауважимо, що цей предикат має шість параметрів, а не сім, оскільки два посилання на DEPT # позначають один і той же параметр)

Нарешті, слід зазначити, що змінні відносини також мають предикати Таким є предикат, загальний для всіх відносин, які являють собою можливі значення розглянутої змінної відносини Наприклад, предикат для змінної відносини ОМР можна представити таким чином

Службовець з табельною номером ОМР # має прізвище ENAME,

працює у відділі DEPT # і отримує зарплату SALARY

Джерело: Дейт К Дж, Введення в системи баз даних, 8-е видання: Пер з англ – М: Видавничий дім «Вільямс», 2005 – 1328 с: Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*