12 правил Кодда — набір 13 правил (пронумерованих від нуля до дванадцяти) запропонованих Едгаром Коддом, піонером реляційної моделі для баз даних, спроектовані для визначення того чи є СКБД реляційною. Іноді їх жартома називають «Дванадцять наказів Кодда».
Кодд створив ці правила як частину своєї кампанії запобігання розмиванню його бачення реляційності оскільки продавці систем керування базами даних на початку 1980х просто видавали свої старі продукти за реляційні розробки. Насправді, правила настільки суворі, що всі популярні так звані «реляційні» СКБД не відповідають багатьом критеріям. Особливо складні 6, 9, 10, 11 і 12 правила.
0. Фундаментальне правило (Foundation Rule)
- Реляційна СКБД має бути здатною повністю керувати базою даних, використовуючи зв'язки між даними
1. Інформаційне правило (Information Rule)
- Інформація має бути представлена у вигляді даних, що зберігаються в комірках. Дані, що зберігаються у комірках, мають бути атомарними. Порядок рядків у реляційній таблиці не повинен впливати на зміст даних і їх обробку.
2. Правило гарантованого доступу (Guaranteed Access Rule)
- Доступ до даних має бути вільним від двозначності. До кожного елементу даних має бути гарантований доступ за допомогою комбінації імені таблиці, первинного ключа рядку й імені стовпця.
3. Систематична обробка Null-значень (Systematic Treatment of Null Values)
- Невідомі значення NULL, відмінні від будь-якого відомого значення, мають підтримуватись для всіх типів даних при виконанні будь-яких операцій. Наприклад, для числових даних невідомі значення не повинні розглядатись як нулі, а для символьних даних — як порожні рядки.
4. Правило доступу до системного каталогу на основі реляційної моделі (Dynamic On-line Catalog Based on the Relational Model)
- Словник даних має зберігатись у формі реляційних таблиць, і СКБД повинна підтримувати доступ до нього за допомогою стандартних мовних засобів, тих самих, що використовуються для роботи з реляційними таблицями, які містять дані користувача.
5. Правило повноти підмови маніпулювання даними (Comprehensive Data Sublanguage Rule)
- Система управління реляційними базами даних має підтримувати хоча б одну реляційну мову, яка
- а) має лінійний синтаксис,
- б) може використовуватись інтерактивно і в прикладних програмах,
- в) підтримує операції визначення даних, визначення уявлень, маніпулювання даними (інтерактивні та програмні), обмежувачі цілісності, управління доступом та операції управління транзакціями (begin, commit і rollback).
6. Правило модифікації розрізів (View Updating Rule)
- Кожне подання має підтримувати усі операції маніпулювання даними, які підтримують реляційні таблиці: операції вибірки, вставки, модифікації і видалення даних.
7. Правило високорівневих операцій модифікації даних (High-level Insert, Update, and Delete)
- Операції вставки, модифікації і видалення даних мають підтримуватись не тільки щодо одного рядку реляційної таблиці, але й щодо будь-якої безлічі рядків.
8. Правило фізичної незалежності даних (Physical Data Independence)
- Додатки не повинні залежати від використовуваних способів зберігання даних на носіях, від апаратного забезпечення комп'ютерів, на яких знаходиться реляційна база даних.
9. Правило логічної незалежності даних (Logical Data Independence)
- Представлення даних в додатку не повинно залежати від структури реляційних таблиць. Якщо в процесі нормалізації одна реляційна таблиця розділяється на дві, подання має забезпечити об'єднання цих даних, щоб зміна структури реляційних таблиць не позначалась на роботі додатків.
10. Правило незалежності контролю цілісності (Integrity Independence)
- Вся інформація, необхідна для підтримки цілісності, має бути у словнику даних. Мова для роботи з даними має виконувати перевірку вхідних даних і автоматично підтримувати цілісність даних.
11. Правило незалежності від розміщення (Distribution Independence)
- База даних може бути розподіленою, може перебувати на кількох комп'ютерах, і це не повинно впливати на додатки, як і перенесення бази даних на інший комп'ютер.
12. Правило узгодженості мовних рівнів (The Nonsubversion Rule)
- Якщо використовується низькорівнева мова доступу до даних, вона не повинна ігнорувати правила безпеки і правила цілісності, які підтримуються мовою більш високого рівня.
Див. також
Посилання
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
12 pravil Kodda nabir 13 pravil pronumerovanih vid nulya do dvanadcyati zaproponovanih Edgarom Koddom pionerom relyacijnoyi modeli dlya baz danih sproektovani dlya viznachennya togo chi ye SKBD relyacijnoyu Inodi yih zhartoma nazivayut Dvanadcyat nakaziv Kodda Kodd stvoriv ci pravila yak chastinu svoyeyi kampaniyi zapobigannya rozmivannyu jogo bachennya relyacijnosti oskilki prodavci sistem keruvannya bazami danih na pochatku 1980h prosto vidavali svoyi stari produkti za relyacijni rozrobki Naspravdi pravila nastilki suvori sho vsi populyarni tak zvani relyacijni SKBD ne vidpovidayut bagatom kriteriyam Osoblivo skladni 6 9 10 11 i 12 pravila 0 Fundamentalne pravilo Foundation Rule Relyacijna SKBD maye buti zdatnoyu povnistyu keruvati bazoyu danih vikoristovuyuchi zv yazki mizh danimi 1 Informacijne pravilo Information Rule Informaciya maye buti predstavlena u viglyadi danih sho zberigayutsya v komirkah Dani sho zberigayutsya u komirkah mayut buti atomarnimi Poryadok ryadkiv u relyacijnij tablici ne povinen vplivati na zmist danih i yih obrobku 2 Pravilo garantovanogo dostupu Guaranteed Access Rule Dostup do danih maye buti vilnim vid dvoznachnosti Do kozhnogo elementu danih maye buti garantovanij dostup za dopomogoyu kombinaciyi imeni tablici pervinnogo klyucha ryadku j imeni stovpcya 3 Sistematichna obrobka Null znachen Systematic Treatment of Null Values Nevidomi znachennya NULL vidminni vid bud yakogo vidomogo znachennya mayut pidtrimuvatis dlya vsih tipiv danih pri vikonanni bud yakih operacij Napriklad dlya chislovih danih nevidomi znachennya ne povinni rozglyadatis yak nuli a dlya simvolnih danih yak porozhni ryadki 4 Pravilo dostupu do sistemnogo katalogu na osnovi relyacijnoyi modeli Dynamic On line Catalog Based on the Relational Model Slovnik danih maye zberigatis u formi relyacijnih tablic i SKBD povinna pidtrimuvati dostup do nogo za dopomogoyu standartnih movnih zasobiv tih samih sho vikoristovuyutsya dlya roboti z relyacijnimi tablicyami yaki mistyat dani koristuvacha 5 Pravilo povnoti pidmovi manipulyuvannya danimi Comprehensive Data Sublanguage Rule Sistema upravlinnya relyacijnimi bazami danih maye pidtrimuvati hocha b odnu relyacijnu movu yakaa maye linijnij sintaksis b mozhe vikoristovuvatis interaktivno i v prikladnih programah v pidtrimuye operaciyi viznachennya danih viznachennya uyavlen manipulyuvannya danimi interaktivni ta programni obmezhuvachi cilisnosti upravlinnya dostupom ta operaciyi upravlinnya tranzakciyami begin commit i rollback dd 6 Pravilo modifikaciyi rozriziv View Updating Rule Kozhne podannya maye pidtrimuvati usi operaciyi manipulyuvannya danimi yaki pidtrimuyut relyacijni tablici operaciyi vibirki vstavki modifikaciyi i vidalennya danih 7 Pravilo visokorivnevih operacij modifikaciyi danih High level Insert Update and Delete Operaciyi vstavki modifikaciyi i vidalennya danih mayut pidtrimuvatis ne tilki shodo odnogo ryadku relyacijnoyi tablici ale j shodo bud yakoyi bezlichi ryadkiv 8 Pravilo fizichnoyi nezalezhnosti danih Physical Data Independence Dodatki ne povinni zalezhati vid vikoristovuvanih sposobiv zberigannya danih na nosiyah vid aparatnogo zabezpechennya komp yuteriv na yakih znahoditsya relyacijna baza danih 9 Pravilo logichnoyi nezalezhnosti danih Logical Data Independence Predstavlennya danih v dodatku ne povinno zalezhati vid strukturi relyacijnih tablic Yaksho v procesi normalizaciyi odna relyacijna tablicya rozdilyayetsya na dvi podannya maye zabezpechiti ob yednannya cih danih shob zmina strukturi relyacijnih tablic ne poznachalas na roboti dodatkiv 10 Pravilo nezalezhnosti kontrolyu cilisnosti Integrity Independence Vsya informaciya neobhidna dlya pidtrimki cilisnosti maye buti u slovniku danih Mova dlya roboti z danimi maye vikonuvati perevirku vhidnih danih i avtomatichno pidtrimuvati cilisnist danih 11 Pravilo nezalezhnosti vid rozmishennya Distribution Independence Baza danih mozhe buti rozpodilenoyu mozhe perebuvati na kilkoh komp yuterah i ce ne povinno vplivati na dodatki yak i perenesennya bazi danih na inshij komp yuter 12 Pravilo uzgodzhenosti movnih rivniv The Nonsubversion Rule Yaksho vikoristovuyetsya nizkorivneva mova dostupu do danih vona ne povinna ignoruvati pravila bezpeki i pravila cilisnosti yaki pidtrimuyutsya movoyu bilsh visokogo rivnya Div takozhRelyacijna SKBDPosilannya