Дванадцять правил Кодда для реляційних СУБД
Дванадцять правил Кодда для реляційних СУБД - розділ Програмування, Середовище Delphi широко відома і не викликає додаткових труднощів при вивченні та використанні У статті, опублікованій у 1985 році [3], Е. Кодд сформулював дванадцять Пр.
1.Правило інформації. Вся інформація в базі даних повинна бути надана виключно на логічному рівні і лише одним способом - у вигляді значень, що містяться в таблицях.
2.Правило гарантованого доступу. Логічний доступ до всіх і кожного елемента даних (атомарного значення) в реляційній базі даних повинен забезпечуватися шляхом використання комбінації імені таблиці, первинного ключа та імені стовпця.
3.Правило підтримки недійсних значень. У цій реляційній базі даних має бути реалізована підтримка недійсних значень, які відрізняються від рядка символів нульової довжини, рядка пробельних символів, і від нуля чи будь-якого іншого числа і використовуються для представлення відсутніх даних незалежно від типу цих даних.
4.Правило динамічного каталогу, заснованого на реляційній моделі. ж реляційної мови, яку вони застосовують для роботи з основними даними.
5.Правило вичерпної підмови даних. Реляційна система може підтримувати різні мови та режими взаємодії з користувачем (наприклад, режим запитань та відповідей). Однак повинна існувати принаймні одна мова, оператори якої можна подати у вигляді рядків символів відповідно до деякого чітко визначеного синтаксису і яка вповною мірою підтримує такі елементи:
- обробку даних (інтерактивну та програмну);
- ідентифікація прав доступу;
- межі транзакцій (початок, завершення та скасування).
6.Правило оновлення уявлень. Усі уявлення, які теоретично можна оновити, повинні бути доступними для оновлення.
7.Правило додавання, оновлення та видалення. Можливість працювати з ставленням як з одним операндом повинна існувати не тільки при читанні даних, але і при додаванні, оновленні та видаленні даних.
8.Правило незалежності фізичних даних. Прикладні програми та утиліти для роботи з даними повинні на логічному рівні залишатися недоторканими за будь-яких змін способів зберігання даних або методів доступу до них.
9.Правило незалежності логічних даних. Прикладні програми та утиліти для роботи з даними повинні на логічному рівні залишатися недоторканими при внесенні до базових таблиць будь-яких змін, які теоретично дозволяють зберегти недоторканими дані, що містяться в цих таблицях.
10.Правило незалежності умов цілісності. Повинна існувати можливість визначати умови цілісності, специфічні для конкретної реляційної бази даних, на підмові реляційної бази даних та зберігати їх у каталозі, а не в прикладній програмі.
11.Правило незалежності поширення. Реляційна СУБД не повинна залежати від потреб конкретного клієнта.
12.Правило єдиності. Якщо в реляційній системі є низькорівнева мова (що обробляє один запис за один раз), то має бути неможливим використання її для того, щоб обійти правила та умови цілісності, виражені реляційною мовою високого рівня(Обробляє кілька записів за один раз).
Правило 1 нагадує неформальне визначення реляційної бази даних, наведене раніше.
Правило 2 вказує на роль первинних ключів при пошуку інформації у базі даних. Ім'я таблиці дозволяє знайти необхідну таблицю, ім'я стовпця дозволяє знайти необхідний стовпець, а первинний ключ дозволяє знайти рядок, що містить елемент даних, що шукається.
Правило 3 вимагає, щоб відсутні дані можна було надати за допомогою недійсних значень (NULL).
Правило 4 говорить, що реляційна база даних має сама себе описувати. Іншими словами, база даних повинна містити набір системних таблиць, що описують структуру самої бази даних.
Правило 5 вимагає, щоб СУБД використовувала мову реляційної бази даних, наприклад SQL, хоча явно SQL у правилі не згадано. Така мова має підтримувати всі основні функції СУБД — створення бази даних, читання та введення даних, реалізацію захисту бази даних тощо.
Правило 6 стосуєтьсяуявлень,які є віртуальними таблицями, що дозволяють показувати різним користувачам різні фрагменти структури бази даних. Це одне з правил, які найскладніше реалізувати на практиці.
Правило 7 акцентує увагу на тому, що бази даних за своєю природою орієнтовані на множини. Воно вимагає, щоб операції додавання, видалення та оновлення можна було виконувати над безліччю рядків. Це правило призначене для того, щоб заборонити реалізацію, в якій підтримуються тільки операції над одним рядком.
Правила 8 та 9 означають відділення користувача та прикладної програми від низькорівневої реалізації бази даних. Вони стверджують, що конкретні способи реалізації зберігання або доступу, які використовуються в СУБД, танавіть зміни структури таблиць бази даних повинні впливати на можливість користувача працювати з даними.
Правило 10 говорить, що мова бази даних повинна підтримувати обмежувальні умови, що накладаються на дані та дії, що вводяться, які можуть бути виконані над даними.
Правило 11 свідчить, що мова бази даних має забезпечувати можливість роботи з розподіленими даними, розташованими інших комп'ютерних системах.
І, нарешті, правило 12 запобігає використанню інших можливостей для роботи з базою даних, крім мови бази даних, оскільки це може порушити її цілісність.
Деякі терміни з цих правил інтуїтивно зрозумілі, але ще не були визначені. Це буде зроблено нижче.