Utilitatea oricărei colecţii de date în obţinerea de infomaţii depinde de modul de organizare al datelor. Regulile după care sunt organizate şi manipulate datele depind de modelul de date utilizat. Principalele modele de date utilizate în proiectarea SGBD-urilor sunt: modelul ierarhic, modelul reţea, modelul relaţional. Un model de date este compus din doua părţi: set de reguli de structurare a datelor (materializate prin LDD) , set de operaţii permise asupra datelor (materializate prin LMD). Modelul pe care l-am folosit în realizarea aplicaţiei este modelul relaţional.
SQL a evoluat către un model care respectă conceptele modelului relaţional. Dr. Codd a definit 13 reguli numite "cele 13 reguli ale lui Codd privind modelul relaţional":
1). Un DBMS (Database Managemant System) trebuie să fie capabil să gestioneze bazele de date numai prin capacităţile sale relaţionale.
2). Regula informaţiei - toate informaţiile dintr-o bază de date relaţionala (incluzând tabele si numele coloanelor) se reprezintă explicit prin valori in tabele.
3). Accesul garantat - fiecare valoare din baza de date relaţionala este garantat ca accesibil utilizând o combinaţie de nume al tabelei, valoarea cheii primare si numele coloanei.
4). Suport sistematic pentru valorile nule - DBMS oferă suport pentru tratarea valorilor nule (necunoscute sau date inaplicabile) separat de valorile implicite si independent de orice domeniu.
5). Catalog relaţional on-line activ - descrierea bazei de date si a conţinutului este reprezentat la nivel logic ca tabele, si de aceea poate fi interogat utilizând limbajul bazei de date.
6). Sublimbaj comprehensibil al datelor - măcar un limbaj suportat trebuie sa aibă definită o sintaxă şi să fie inteligibil. Limbajul trebuie să suporte definirea şi manipularea datelor, reguli de integritate, autorizare si tranzacţii.
7). Reguli de actualizare a vederilor - toate vederile care sunt teoretic actualizabile pot fi actualizate în sistem.
8). Inserarea, actualizare si ştergere - DBMS trebuie să suporte nu numai un nivel de obţinere a datelor ci şi un nivel de ştergere, inserare si actualizare.
9). Independenţa fizică a datelor - programele de aplicaţii si programele ad-hoc nu sunt afectate din punct de vedere logic atunci când metodele de acces la date sau structura de stocare a datelor se schimbă.
10). Independenţa logică a datelor - programele de aplicaţii si programele ad-hoc nu sunt afectate din punct de vedere logic în măsura în care acest lucru este posibil atunci când metodele sau structura tabelelor se schimba.
11). Independenţa de integritate - limbajul bazei de date trebuie să fie capabil să definească reguli de integritate. Aceste reguli se vor stoca intr-un catalog on-line si nu vor putea fi încălcate.
12). Independenţa de distribuire - programele de aplicaţii si cererile ad-hoc nu sunt afectate din punct de vedere logic atunci când datele sunt distribuite pentru prima dată sau redistribuite.
13). Nonsubversia - nu este posibil să se încalce regulile de integritate referenţiale folosind un limbaj de nivel jos.