Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



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

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

 

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

 

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

 

Цілісність сутності і посилань

Нарешті, в цілісній частині реляційної моделі даних фіксуються дві базові вимоги цілісності, які повинні підтримуватися в будь-якій реляційній СУБД. Перша вимога називається вимогою цілісності сутності (entity integrity). Об'єкту або сутності реального світу в реляційних БД відповідають кортежі відношень. Вимога цілісності сутності повністю звучить таким чином: у будь-якої змінної відношення повинен існувати первинний ключ, і ніяке значення первинного ключа в кортежах значення-відношення змінної відношення не повинне містити невизначених значень. Щоб це формулювання було повністю зрозуміле, потрібно обговорити поняття невизначеного значення (NULL).

 

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

Едгар Кодд запропонував використовувати в таких випадках невизначені значення. Невизначене значення не належить ніякому типу даних і може бути присутнім серед значень будь-якого атрибуту, визначеного на будь-якому типі даних (якщо це явно не заборонено при визначенні атрибуту). Якщо а – це значення деякого типу даних або NULL, op – будь-яка двомісна «арифметична» операція цього типу даних (наприклад +), а lop – операція порівняння значень цього типа (наприклад =), то за визначенням:

 

а op NULL = NULL

NULL op а = NULL

а lop NULL = unknown

NULL lop а = unknown

 

Тут unknown – це третє значення логічного, або булевого, типу, що володіє наступними властивостями:

NOT unknown = unknown

true AND unknown = unknown

true OR unknown = true

false AND unknown = false

false OR unknown = unknown

 

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

 

Обмеження цілісності сутності і по посиланнях повинні підтримуватися СУБД.

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

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

 


Читайте також:

  1. G2G-модель електронного уряду
  2. OSI - Базова Еталонна модель взаємодії відкритих систем
  3. Абстрактна модель
  4. Абстрактна модель
  5. Абстрактна модель оптимального планування виробництва
  6. Автокореляційна характеристика системи
  7. Американська модель соціальної відповідальності
  8. Аналіз паралельного інтерейсу з DSP-процесорами: запис даних в ЦАП, що під’єднаний до адресного простору пам’яті
  9. Аналіз паралельного інтерфейсу з DSP-процесорами: читання даних з АЦП, що під’єднаний до адресного простору пам’яті
  10. Аналіз статистичних даних про склад та плинність кадрів, які обіймали керівні
  11. Аналіз та інтерпретація одержаних даних
  12. Англійський економіст У. Бріджез пропонує модель організаційних змін за такими напрямками.




Переглядів: 2448

<== попередня сторінка | наступна сторінка ==>
Відсутність впорядкованості кортежів | Теорема Байеса

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.002 сек.