|
Regulile lui Codd baze de date
Regulile lui Codd
baze de date
R0 – Gestionarea datelor la nivel de relaţie
Toate informaţiile din baza de date sunt gestionate numai prin mecanisme relaţionale. Rezultă că SGBD-ul trebuie să-şi îndeplinească toate funcţiile utilizând ca unitate de informaţie mulţimea, adică să utilizeze limbaje (SQL) care să opereze la un moment dat pe o întreagă relaţie.
R1 – Reprezentarea logică a datelor
Informaţiile din baza de date relaţională trebuie să fie reprezentate explicit la nivel logic într-un singur mod şi anume ca valori în tabelele de date. Rezultă că toate datele trebuie să fie memorate şi prelucrate în acelaşi mod. Informaţiile privind numele de tabele, coloane, domenii, definiţiile tabelelor virtuale, restricţiile de integritate trebuie să fie memorate tot în tabele de date (catalog).
R2 – Garantarea accesului la date
Accesarea informaţiilor din baza de date relaţională se va face prin specificarea numelui tabelei, a valorii cheii primare şi numelui de coloană.
R3 - Valorile null
SGBD trebuie să permită declararea şi manipularea valorilor null, cu semnificaţia unor date lipsă sau inaplicabile. Valorile null, care diferă de şirurile de caractere spaţiu sau de şirurile vide de caractere sunt importante în implementarea restricţiilor de integritate (integritatea entităţii şi integritatea referenţială) din modelul relaţional.
R4 - Metadatele
Informaţiile despre descrierea bazei de date, metadatele, trebuie să se prezinte la nivel logic în acelaşi mod cu descrierea datelor propriu-zise, utilizatorul aplicând asupra descrierii bazei de date aceleaşi operaţii ca şi la datele obişnuite. Sistemul nu trebuie să facă diferenţe între descrierea datelor şi a metadatelor utilizând o singură structură, cea relaţională.
R5 – Facilităţile limbajelor utilizate
Un sistem relaţional trebuie să facă posibilă utilizarea mai multor limbaje, în mai multe moduri. Trebuie să existe cel puţin un limbaj de nivel înalt ale cărui instrucţiuni să poată exprima oricare din următoarele operaţii: definirea tabelelor de bază, definirea tabelelor virtuale, manipularea datelor, definirea restricţiilor de integritate, autorizarea accesului, precizarea limitelor tranzacţiilor.
R6 – Actualizarea tabelelor virtuale
Nu toate atributele din cadrul unei tabele virtuale, deci nu toate tabelele virtuale, sunt teoretic actualizabile.
R7 – Actualizările în baza de date
SGBD trebuie să ofere posibilitatea manipulării unei tabele (de bază sau virtuale) nu numai în cadrul operaţiilor de regăsire ci şi în cazul celor de adăugare, modificare şi ştergere a datelor. În cursul operaţiilor prin care se schimbă conţinutul bazei de date să se lucreze la un moment dat pe o întreagă relaţie.
R8 – Independenţa fizică a datelorProgramele de aplicaţie nu trebuie să fie afectate de schimbările efectuate în modul de reprezentare a datelor sau în metodele de acces. O schimbare a structurii fizice a datelor nu trebuie să blocheze funcţionarea programelor de aplicaţie.
R9 – Independenţa logică a datelor
Programele de aplicaţie nu trebuie să fie afectate de schimbările efectuate asupra relaţiilor bazei de date.
R10 – Restricţiile de integritate
Restricţiile de integritate trebuie să poată fi definite în limbajul utilizat de SGBD pentru definirea datelor şi să fie memorate
R11 – Distribuirea geografică a datelor
În situaţia în care datele sunt distribuite, programele de aplicaţie să fie logic aceleaşi cu cele utilizate în cazul în care datele sunt fizic centralizate. Utilizatorul trebuie să perceapă datele ca fiind centralizate. Localizarea şi recompunerea datelor distribuite cade în seama sistemului.
R12 – Prelucrarea datelor la nivel de bază
Dacă SGBD posedă un limbaj de bază de nivel scăzut orientat pe prelucrarea de înregistrări (tupluri) şi nu pe prelucrarea mulţimilor (relaţiilor) acest limbaj nu trebuie folosit, pentru a se evita restricţiile de integritate sau restricţiile introduse prin utilizarea limbajelor relaţionale de nivel înalt