Duomenų bazės schema yra būdas aprašyti informacijos, kuri bus naudojama ir saugoma duomenų bazėje, struktūrą ir ryšius. Kai kurios schemos parašytos ta kalba, kurią gali interpretuoti duomenų bazių valdymo programinė įranga (DBVS), o kitos yra visiškai abstrakčios diagramos. Pagrindiniai duomenų bazės schemos elementai yra objektai ir lentelės. Objektas yra objekto duomenų modelis duomenų bazėje, o lentelė yra saugoma reikšmių ar kitų objektų seka. Kaip ir projektas, gerai suplanuota schema gali būti naudojama norint tiksliai pamatyti, kaip kuriama duomenų bazės architektūra.
Duomenų bazių schemos kartais būtinos, kad būtų aiškiai parodyta, kaip saugomas atskaitos taškas ir kaip jis susijęs su likusia duomenų bazės dalimi. Esybė yra duomenų rinkinio atvaizdas. Kaip ir bet kuri duomenų struktūra, ji gali turėti keletą laukų. Tačiau subjektai paprastai turi unikalų identifikavimo lauką. Tai vadinama pirminiu raktu.
Pirminis raktas yra nuoroda į lentelę. Raktas turi būti unikalus tarp visų kitų lentelės elementų. Pavyzdys galėtų būti kliento numeris duomenų bazėje, kuri seka pirkimus parduotuvėje. Kiekvienas objektas gali turėti tik vieną pirminį raktą.
Subjektai taip pat gali turėti bet kokį pašalinių raktų skaičių. Užsienio raktas dažniausiai yra kito objekto kitoje lentelėje pirminis raktas. Anksčiau pateiktame pavyzdyje užsienio raktas gali būti to kliento užsakymo numeris.
Reliacinėse duomenų bazėse pirminiai ir išoriniai raktai naudojami labai svarbiai sąvokai „vienas su daugeliu“ išreikšti. Pateiktame pavyzdyje klientas gali turėti daug skirtingų užsakymų ir užsakymų numerių. Atvirkščiai netiesa, nes užsakyme gali būti tik vienas klientas. Ryšiai „vienas su daugeliu“ yra priežastis, kodėl būtina duomenų bazės schema.
Kitas santykių tipas vadinamas „daug su daugeliu“. Tai atvejis, kai objektas ne tik turi daug ryšių su vienu tipu, bet ir gali būti įtrauktas į daugelį kitų tipų. To pavyzdys – bet koks klientų skaičius gali užsisakyti tą patį produktą. Tuo pačiu metu klientas gali užsisakyti bet kokį gaminių skaičių. Šis ryšys „daugelis su daugeliu“ yra įprastas, tačiau norint, kad jis veiktų duomenų bazės schemoje, reikalingas specialus duomenų modeliavimas.
Nors yra keletas standartinių susitarimų, kuriais vadovaujamasi kuriant duomenų bazės schemą, taip pat yra daug būdų, kaip pateikti duomenų modelius. Tiksliai, kaip kiekvienas schemos objektas yra pavaizduotas abstrakčiame projekte, priklauso duomenų modeliuotojo nuožiūra. Kai kuriose situacijose DBVS sistema galės priimti konkrečiu būdu parašytą duomenų bazės schemą ir iš tikrųjų automatiškai įgyvendinti dalį projekto.