Порівняння відносин і таблиць

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

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

2 Для кожного компонента кожного кортежу в тілі відносини передбачено імя типу та імя атрибута, але ці імена типу і атрибуту зазвичай не показані на з бражения у вигляді таблиці

3 Кожне значення атрибута в кожному кортежі в тілі відносини є значени ем відповідного типу, але ці значення на зображеннях у вигляді таблиці зазвичай показані у скороченій формі, наприклад, s1 замість s # (S1)

4 Стовпці в таблиці характеризуються упорядкуванням зліва направо, а атрибути від носіння – ні

Примітка Важливим наслідком з цієї відмінності є те, що стовпці можуть мати повторювані імена або взагалі не мати імен Наприклад, розглянемо наступний запит SQL

SELECT SCITY, SSTATUS * 2, PCITY FROM S, P

Якими будуть імена стовпців в результатах цього запиту

5 Рядки таблиці характеризуються упорядкуванням зверху вниз, а кортежі отноше ня – ні

6 Таблиця може містити дублікати рядків, а ставлення не містить дублікати кортежів

Наведений список найбільш важливих відмінностей не є вичерпним Нижче перераховані деякі інші відмінності

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

■ Безумовно, допускається (принаймні, в мові SQL), щоб таблиці чи включені невизначені значення (NULL), в той час як для відносин це ні в якому разі не допускається (Див главу 19)

■ Безумовно, що таблиці є плоскими (Або двомірними), а отноше ня – n-мірними (див главу 22)

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

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

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

На закінчення слід також відзначити, що фактично одним з важливих переваг реляційної моделі є те, що її основною абстрактний обєкт, ставлення, має таке просте уявлення на папері Саме завдяки цьому простому поданням реляційні системи стають зручними для використання і вивчення, до того ж набагато спрощується саме обговорення особливостей функціонування реляційних систем Але, на жаль, слід зазначити, що цей простий спосіб подання може навести також на думку, яка не відповідає дійсності (наприклад, про те, що ставлення характеризується упорядкуванням кортежів зверху вниз)

Джерело: Дейт К Дж, Введення в системи баз даних, 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>

*

*