Pirmais Codd'a kritērijs - datiem jāglabājas tabulās. Tabulām ir rindiņas un kolonnas. Palielinot ierakstu skaitu, pievienojas jaunas rindas. Piemērs "Adresu tabula"
| Vārds | Adrese | Telefons |
| Pūks | Augšiela 10 | 7349576 |
| Sivēns | Parka iela 37 | 7234348 |
Rindas sauc arī par ierakstiem (records) un kolonnas - par laukiem (fields). Vienu no laukiem var pasludināt par primāro atslēgu (primary key), kurš unikāli identificē ierakstu.
Otrais Codd'a kritērijs norāda, ka datu loģiskais un fiziskais glabāšanas veids eksistē neatkarīgi viens no otra.
Lietotāju neinteresē tas, kā mašīnas atmiņā glabājas datubāzes dati. Daudzas relāciju datubāzu sistēmas, piemēram, izmanto B-kokus - īpašas kokveida meklēšanai piemērotas datu struktūras, kurās katrai B-koka virsotnei atbilst viena "lappuse uz diska" - informācijas gabals - daži kilobaiti, kuru var sevišķi efektīvi ielādēt operatīvajā atmiņā. Lietotājs par to var nezināt un sekmīgi programmēt šo datubāzi.
Trešais Codd'a kritērijs datubāzu sistēmai - visaptveroša, augsta līmeņa valoda, lai sazinātos ar datubāzi.
Šī komanda atbalsta šādas iespējas:
SELECT formālā sintakse:
SELECT [table.]column [ , [table.]column ... ] FROM table [ , table ...] [ WHERE [table.]column OPERATOR VALUE [ AND | OR [table.]column OPERATOR VALUE] ... ] [ ORDER BY [table.]column [DESC] [, [table.]column [DESC] ]
SELECT first_name, last_name FROM emp_details
WHERE dept = 'finance'
SELECT first_name, last-name FROM emp_details
WHERE dept = 'finance'
ORDER BY last_name, first_name DESC
SELECT DISTINCT first_name, last_name FROM emp_details
WHERE dept = 'finance'
ORDER BY last_name, first_name DESC
SELECT first_name, last_name FROM emp_details
WHERE dept = 'finance' AND last_name LIKE '_ughes'
SELECT emp_details.first_name, epm_details.last_name,
project_details.project
FROM emp_details, project_details
WHERE emp_details.emp_id = project_details.emp_id
ORDER BY emp_details.last_name, emp_details.first_name
Norādām kolonnu jeb lauku vārdu sarakstu un atbilstoši tam - jaunā ieraksta vērtības. Dažreiz SQL sintakse ļauj kolonnu vārdus nerakstīt, ja vērtību skaits precīzi atbilst kolonnu skaitam un secībai, bet tas ir ļoti slikts stils.
INSERT INTO table_name ( column [ , column ]... ) VALUES (value [, value]...)
Piemērs:
INSERT INTO emp_details ( first_name, last_name, dept, salary)
VALUES ('David', "Hughes', 'I.T.S', '12345')
DELETE FROM table_name
WHERE column OPERATOR VALUE
[ AND | OR column OPERATOR value ] ...
Piemērs:
DELETE FROM emp_details WHERE emp_id = '12345'
UPDATE table_name SET column=value [ , column=value ...]
WHERE column OPERATOR VALUE
[AND | OR column OPERATOR value ] ...
Piemērs:
UPDATE emp_details SET salary=300 WHERE emp_id = '1234'
Šai komandai ir jānorāda konkrētas literāļu vērtības, kuras ir jāieraksta datubāzē (nevar norādīt kolonnu nosaukumus).