Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бд.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.92 Mб
Скачать

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

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

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

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

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

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

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

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

Основи реляційної моделі даних були вперше викладені у статті Е.Кодда в 1970 р. Ця робота послужила стимулом для великої кількості статей і книг, в яких реляційна модель отримала подальший розвиток. Найбільш поширене трактування реляційної моделі даних належить К. Дейту [12].

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

Згідно Дейта, реляційна модель складається з трьох частин:

  • структурної частини;

  • цілісної частини;

  • маніпуляційної частини.

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

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

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

Простою мовою: реляційна модель працює з таблицями та рядками та має математичну формалізацію.