Cardinalitatea unei îmbinări între două tabele este relația numerică dintre rândurile dintr-un tabel și rândurile din celălalt tabel. Cardinalitățile comune includ unu-la-unu, unu-la-mulțime și mulți-la-mulțime.
De exemplu, să luăm în considerare o bază de date de dosare electronice de sănătate. O astfel de bază de date ar putea conține tabele ca următoarele:
- Un tabel
doctor
cu informații despre medici. - Un tabel
patient
pentru subiecții medicali care urmează un tratament. - Un tabel
encounter
cu o intrare pentru fiecare vizită la spital.
Există relații naturale între aceste entități, cum ar fi o întâlnire care implică mai mulți medici. Există o relație de tip mulți-la-mulți între înregistrările din doctor
și înregistrările din patient
deoarece medicii au mulți pacienți și pacienții pot vedea mulți medici. Există o relație unu-la-mulțime între înregistrările din patient
și înregistrările din encounter
deoarece pacienții pot avea mai multe întâlniri și fiecare întâlnire implică un singur pacient.
O relație “unu-la-unu” este utilizată în principal pentru a împărți un tabel în două pentru a furniza informații concis și a le face mai ușor de înțeles. În exemplul spitalului, o astfel de relație ar putea fi utilizată pentru a separa informațiile profesionale unice ale medicilor de detaliile administrative.
În modelarea datelor, colecțiile de elemente de date sunt grupate în “tabele de date” care conțin grupuri de nume de câmpuri de date numite “atribute ale bazei de date”. Tabelele sunt legate între ele prin “câmpuri cheie”. O “cheie primară” atribuie un câmp la “tabelul său de ordine specială”. De exemplu, câmpul “Numele de familie al medicului” poate fi atribuit ca o cheie primară a tabelului “Doctor”, toate persoanele cu același nume de familie fiind organizate în ordine alfabetică în funcție de primele trei litere ale prenumelui. Un tabel poate avea, de asemenea, o cheie externă care indică faptul că acel câmp este legat de cheia primară a unui alt tabel.
Un model de date complex poate implica sute de tabele conexe. Informaticianul Edgar F. Codd a creat o metodă sistematică de descompunere și organizare a bazelor de date relaționale. Pașii lui Codd de organizare a tabelelor bazelor de date și a cheilor acestora se numește normalizare a bazelor de date, care evită anumite erori ascunse de proiectare a bazelor de date (anomalii de ștergere sau anomalii de actualizare). În viața reală, procesul de normalizare a bazelor de date sfârșește prin a descompune tabelele într-un număr mai mare de tabele mai mici.
În lumea reală, modelarea datelor este critică deoarece, pe măsură ce datele devin voluminoase, trebuie utilizate tabele legate prin chei pentru a accelera recuperarea programată a datelor. Dacă un model de date este prost realizat, chiar și un sistem de aplicații informatice cu doar un milion de înregistrări va oferi utilizatorilor finali întârzieri inacceptabile ale timpului de răspuns. Din acest motiv, modelarea datelor este o piatră de temelie în competențele necesare unui dezvoltator de software modern.
.