У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


або на іншому домені.

Домен може мати деяку логічну умову, що дозволяє описати підмножину даних, допустимих для даного домена.

Домен несе певне смислове навантаження.

Наприклад, домен , має сенс "вік співробітника" можна описати як наступну підмножину безлічі натуральних чисел:

Якщо тип даних можна рахувати множиною всіх можливих значень даного типу, то домен нагадує підмножину в цій множині.

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

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

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

Зауваження. Не всі домени володіють логічною умовою, що обмежує можливі значення домена. У такому разі безліч можливих значень домена співпадає з безліччю можливих значень типу даних.

Зауваження. Не завжди очевидно, як задати логічну умову, що обмежує можливі значення домена. Я буду вдячний тому, хто приведе мені умову на рядковий тип даних, задаючий домен "Прізвище співробітника". Ясно, що рядки, що є прізвищами не повинні починатися з цифр, службових символів, з м'якого знаку і т.д. Але чи є допустимим прізвище "Ггггггиииии"? Чом би ні? Очевидно, ні! А може хтось на зло так себе назве. Труднощі такого роду виникають тому, що значення реальних явищ далеко не завжди можна формально описати. Просто ми, як всі люди, інтуїтивно розуміємо, що таке прізвище, але ніхто не може дати таке формальне визначення, яке відрізняло б прізвища від рядків, прізвищами не є. Вихід з цієї ситуації простій - покластися на розум співробітника, що вводить прізвища в комп'ютер.

Відносини, атрибути, кортежі відношення

Визначення і приклади.

Фундаментальним поняттям реляційної моделі даних є поняття відношення. У визначенні поняття відношення слідуватимемо книзі К. Дейта [11].

Визначення 1. Атрибут відношення є пара вигляду <Имя_атрибута : Имя_домена>.

Імена атрибутів повинні бути унікальні в межах відношення. Часто імена атрибутів відношення співпадають з іменами відповідних доменів.

Визначення 2. Відношення , визначене на безлічі доменів (не обов'язково різних), містить дві частини: заголовок і тіло.

Заголовок відношення містить фіксовану кількість атрибутів відношення:

Тіло відношення містить безліч кортежів відношення. Кожний кортеж відношення є безліччю пар вигляду <Имя_атрибута : Значение_атрибута>:

таких що значення атрибуту належить домену

Відношення звичайно записується у вигляді:

,

або коротше

,

або просто

.

Число атрибутів у відношенні називають ступенем (або -арністю) відношення.

Потужність безлічі кортежів відношення називають потужністю відношення.

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

Висновок 1. Заголовок відношення описує декартовий твір доменів, на якому задано відношення. Заголовок статичний, він не міняється під час роботи з базою даних. Якщо у відношенні змінені, додані або видалені атрибути, то в результаті одержимо вже інше відношення (хай навіть з колишнім ім'ям).

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

Приклад 1. Розглянемо відношення "Співробітники" задане на доменах "Номер_сотрудника", "Прізвище", "Зарплата", "Номер_отдела". Оскільки всі домени різні, то імена атрибутів відношення зручно назвати так само, як і відповідні домени. Заголовок відношення має вигляд:

Співробітники (Номер_сотрудника, Прізвище, Зарплата, Номер_отдела)

Хай в даний момент відношення містить три кортежі:

(1,Иванов, 1000, 1)

(2, Петров, 2000, 2)

(3, Сидоров, 3000, 1)

таке відношення природним чином представляється у вигляді таблиці:

Номер_співробітника | Прізвище | Зарплата | Номер_відділу

1 | Іванов | 1000 | 1

2 | Петров | 2000 | 2

3 | Сидоров | 3000 | 1

Таблиця 1 Відношення "Співробітники"

Визначення 3. Реляційною базою даних називається набір відносин.

Визначення 4. Схемою реляційної бази даних називається набір заголовків відносин, що входять в базу даних.

Хоча будь-яке відношення можна зобразити у вигляді таблиці, потрібно чітко розуміти, що відносини не є таблицями. Це близькі, але не співпадаючі поняття. Відмінності між відносинами і таблицями будуть розглянуті нижче.

Терміни, якими оперує реляційна модель даних, мають відповідні "табличні" синоніми:

Реляційний термін | Відповідний "табличний" термін

База даних | Набір таблиць

Схема бази даних | Набір заголовків таблиць

Відношення | Таблиця

Заголовок відношення | Заголовок таблиці

Тіло відношення | Тіло таблиці

Атрибут відношення | Найменування стовпця таблиці

Кортеж відношення | Рядок таблиці

Ступінь (-арність) відношення | Кількість стовпців таблиці

Потужність відношення | Кількість рядків таблиці

Домени і типи даних | Типи дані в елементах таблиці

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

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

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

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


Сторінки: 1 2 3