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


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

Однак в реляційних базах даних це не прийняте. Ім'я схеми відношення в таких базах даних завжди співпадає з ім'ям відповідного відношення-примірника. У класичних реляційних базах даних після визначення схеми бази даних змінюються тільки відносини-примірники. У них можуть з'являтися нові і віддалятися або модифікуватися існуючі кортежі. Однак в багатьох реалізаціях допускається і зміна схеми бази даних: визначення нових і зміна існуючих схем відношення. Це прийнято називати еволюцією схеми бази даних.

Звичайним життєвим представленням відношення є таблиця, заголовком якої є схема відношення, а рядками - кортежі відношення-примірника; в цьому випадку імена атрибутів іменують стовпці цієї таблиці. Тому іноді кажуть "стовпець таблиці", маючи на увазі "атрибут відношення". Коли ми перейдемо до розгляду практичних питань організації реляційних баз даних і коштів управління, ми будемо використати цю життєву термінологію. Цієї термінології дотримуються в більшості комерційній реляційних СУБД.

Реляційна база даних - це набір відносин, імена яких співпадають з іменами схем відносин в схемі БД.

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

4.2. Фундаментальні властивості відносин

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

4.2.1. Відсутність кортежів-дублікатів

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

З цієї властивості витікає наявність у кожного відношення так званого первинного ключа - набору атрибутів, значення яких однозначно визначають кортеж відношення. Для кожного відношення принаймні повний набір його атрибутів володіє цією властивістю. Однак при формальному визначенні первинного ключа потрібне забезпечення його "мінімальності", тобто в набір атрибутів первинного ключа не повинні входити такі атрибути, які можна відкинути без збитку для основної властивості - однозначно визначати кортеж. Поняття первинного ключа є виключно важливим в зв'язку з поняттям цілісності баз даних.

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

4.2.2. Відсутність впорядкованості кортежів

Властивість відсутності впорядкованості кортежів відношення також є слідством визначення відношення-примірника як безлічі кортежів. Відсутність вимоги до підтримки порядку на безлічі кортежів відношення дає додаткову гнучкість СУБД при зберіганні баз даних у зовнішній пам'яті і при виконанні запитів до бази даних. Це не суперечить тому, що при формулюванні запиту до БД, наприклад, на мові SQL можна зажадати сортування результуючої таблиці у відповідності зі значеннями деяких стовпців. Такий результат, взагалі кажучи, не відношення, а деякий впорядкований список кортежів.

4.2.3. Відсутність впорядкованості атрибутів

Атрибути відносин не впорядковані, оскільки по визначенню схема відношення є безліч пар {ім'я атрибута, ім'я домену}. Для посилання на значення атрибута в кортежі відношення завжди використовується ім'я атрибута. Ця властивість теоретично дозволяє, наприклад, модифікувати схеми існуючих відносин не тільки шляхом додання нових атрибутів, але і шляхом видалення існуючих атрибутів. Однак в більшості існуючих систем така можливість не допускається, і хоч впорядкованість набору атрибутів відношення явно не потрібно, часто як неявний порядок атрибутів використовується їх порядок в лінійній формі визначення схеми відношення.

4.2.4. Атомарність значень атрибутів

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

Можна сказати, що тут ми маємо бінарне відношення, значеннями атрибута ВІДДІЛИ якого є відносини. Помітимо, що початкове відношення СПІВРОБІТНИКИ є нормалізованим варіантом відношення ВІДДІЛИ:

СОТР_НОМЕР | СОТР_ІМЯ | СОТР_ЗАРП | СОТР_ОТД_НОМЕР

2934 | Іванов | 112,000 | 310

2935 | Петров | 144,000 | 310

2936 | Сидоренко | 92,000 | 313

2937 | Федоров | 110,000 | 310

2938 | Іванова | 112,000 | 315

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

Зарахувати співробітника Кузнєцова (пропуск номер 3000, зарплата 115,000) у відділ номер 320 і

Зарахувати співробітника Кузнєцова (пропуск номер 3000, зарплата 115,000) у відділ номер 310.

Якщо інформація про співробітників представлена у вигляді відношення СПІВРОБІТНИКИ, обидва оператори будуть виконуватися однаково (вставити кортеж у відношення СПІВРОБІТНИКИ). Якщо ж працювати з ненормалізованим відношенням ВІДДІЛИ, то перший оператор виразиться в занесення кортежу, а другий - в додання інформації про Кузнєцова в множинне значення атрибута ВІДДІЛ кортежу з первинним ключем 310.

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

Коли в попередніх розділах ми говорили про основні поняття реляційних баз даних, ми не спиралися на яку-небудь конкретну реалізацію. Ці міркування в рівній мірі відносилися до будь-якої системи, при побудові якої використовувався реляційний підхід.

Іншими словами, ми використали поняття так званої реляційної моделі даних. Модель даних описує деякий набір родових понять і ознак, якими повинні володіти вся конкретна СУБД і керовані ними бази даних, якщо вони засновуються на цій моделі. Наявність моделі даних дозволяє порівнювати конкретні реалізації, використовуючи


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