Modelul relațional al elementelor bazei de date, cum se face, exemplu

2245
Abraham McLaughlin

modelul relațional a bazelor de date este o metodă de structurare a datelor folosind relații, folosind structuri asemănătoare grilei, constând din coloane și rânduri. Este principiul conceptual al bazelor de date relaționale. A fost propus de Edgar F. Codd în 1969.

De atunci a devenit modelul de bază de date dominant pentru aplicațiile de afaceri, în comparație cu alte modele de baze de date, cum ar fi ierarhizarea, rețeaua și obiectul..

Sursa: pixabay.com

Codd habar nu avea cât de extrem de vitală și de influentă ar fi munca sa de platformă pentru baze de date relaționale. Majoritatea oamenilor sunt foarte familiarizați cu expresia fizică a unei relații dintr-o bază de date: tabelul.

Modelul relațional este definit ca baza de date care permite gruparea elementelor sale de date într-unul sau mai multe tabele independente, care pot fi legate între ele prin utilizarea câmpurilor comune fiecărui tabel conex..

Indice articol

  • 1 Managementul bazei de date
  • 2 Caracteristici și elemente
    • 2.1 -Elemente
    • 2.2 -Reguli de integritate
  • 3 Cum se realizează un model relațional?
    • 3.1 -Colectați date
    • 3.2 -Definiți cheile primare
    • 3.3 -Crearea de relații între tabele
  • 4 Avantaje
    • 4.1 Independența structurală
    • 4.2 Simplitatea conceptuală
    • 4.3 Ușurința de proiectare, implementare, întreținere și utilizare
    • 4.4 Capacitatea de interogare ad-hoc
  • 5 Dezavantaje
    • 5.1 Cheltuieli hardware
    • 5.2 Ușurința de proiectare poate duce la un design slab
    • 5.3 Fenomenul „insulelor informaționale”
  • 6 Exemplu
  • 7 Referințe

Managementul bazei de date

Un tabel de baze de date este similar cu o foaie de calcul. Cu toate acestea, relațiile care pot fi create între tabele permit unei baze de date relaționale să stocheze eficient o cantitate mare de date, care pot fi recuperate în mod eficient..

Scopul modelului relațional este de a oferi o metodă declarativă pentru specificarea datelor și a interogărilor: utilizatorii declară direct ce informații conține baza de date și ce informații doresc de la aceasta.

Pe de altă parte, acestea permit software-ului sistemului de gestionare a bazelor de date să fie responsabil de descrierea structurilor de date pentru stocare și a procedurii de recuperare pentru a răspunde la întrebări..

Majoritatea bazelor de date relaționale utilizează limbajul SQL pentru interogarea și definirea datelor. În prezent există multe sisteme de gestionare a bazelor de date relaționale sau RDBMS (Sistem de gestionare a bazelor de date relaționale), cum ar fi Oracle, IBM DB2 și Microsoft SQL Server.

Caracteristici și elemente

- Toate datele sunt reprezentate conceptual ca o aranjare ordonată a datelor în rânduri și coloane, numite relație sau tabel.

- Fiecare masă trebuie să aibă un antet și un corp. Antetul este pur și simplu lista de coloane. Corpul este setul de date care umple tabelul, organizat în rânduri.

- Toate valorile sunt scalare. Adică, la orice poziție dată de rând / coloană din tabel, există doar o singură valoare.

-Elemente

Figura următoare prezintă un tabel cu numele elementelor sale de bază, care alcătuiesc o structură completă.

Tuple

Fiecare rând de date este un tuplu, cunoscut și sub numele de înregistrare. Fiecare rând este un n-tuplu, dar „n-” este în general aruncat.

Coloană

Fiecare coloană dintr-un tuplu se numește atribut sau câmp. Coloana reprezintă setul de valori pe care le poate avea un anumit atribut.

Cod cheie

Fiecare rând are una sau mai multe coloane numite cheie de tabel. Această valoare combinată este unică pentru toate rândurile dintr-un tabel. Prin intermediul acestei taste, fiecare tuplu va fi identificat în mod unic. Adică, cheia nu poate fi duplicată. Se numește cheia primară.

Pe de altă parte, o cheie străină sau secundară este câmpul dintr-un tabel care se referă la cheia primară a altui tabel. Folosit pentru a face referire la tabelul principal.

-Reguli de integritate

Când proiectați modelul relațional, definiți câteva condiții care trebuie îndeplinite în baza de date, numite reguli de integritate.

Integritate cheie

Cheia principală trebuie să fie unică pentru toate tuplurile și nu poate fi nulă. În caz contrar, nu veți putea identifica în mod unic rândul.

Pentru o cheie cu mai multe coloane, niciuna dintre aceste coloane nu poate conține NULL.

Integritate referențială

Fiecare valoare a unei chei străine trebuie să se potrivească cu o valoare a cheii primare a tabelului de referință sau primar.

Un rând cu o cheie străină poate fi inserat în tabelul secundar numai dacă acea valoare există într-un tabel principal.

Dacă valoarea cheii se modifică în tabelul părinte, prin actualizarea sau ștergerea rândului, atunci toate rândurile din tabelele copil cu această cheie străină ar trebui actualizate sau șterse în consecință.

Cum se face un model relațional?

-Colectați date

Datele necesare trebuie colectate pentru a fi stocate în baza de date. Aceste date sunt împărțite în diferite tabele.

Trebuie ales un tip de date adecvat pentru fiecare coloană. De exemplu: numere întregi, numere cu virgulă mobilă, text, dată etc..

-Definiți cheile primare

Pentru fiecare tabel, trebuie aleasă o coloană (sau câteva coloane) ca cheie principală, care va identifica în mod unic fiecare rând din tabel. Cheia principală este, de asemenea, utilizată pentru a face referire la alte tabele.

-Creați relații între tabele

O bază de date formată din tabele independente și fără legătură are un scop redus.

Cel mai crucial aspect în proiectarea unei baze de date relaționale este identificarea relațiilor dintre tabele. Tipurile de relații sunt:

Unul la mulți

Într-o bază de date „Listare clase”, un profesor poate preda zero sau mai multe clase, în timp ce o clasă este predată de un singur profesor. Acest tip de relație este cunoscut ca unul-la-mulți..

Această relație nu poate fi reprezentată într-un singur tabel. În baza de date „Lista claselor” puteți avea un tabel numit Profesori, care stochează informații despre profesori.

Pentru a stoca cursurile predate de fiecare profesor, puteți crea coloane suplimentare, dar vă veți confrunta cu o problemă: câte coloane să creați.

Pe de altă parte, dacă aveți un tabel numit Clase, care stochează informații despre o clasă, puteți crea coloane suplimentare pentru a stoca informații despre profesor..

Cu toate acestea, întrucât un profesor poate preda în multe clase, datele sale ar fi duplicate în mai multe rânduri ale tabelului Classes.

Proiectează două mese

Prin urmare, trebuie proiectate două tabele: o tabelă Classes pentru a stoca informații despre clase, cu Class_Id ca cheie primară și o tabelă Teachers pentru a stoca informații despre profesori, cu Teacher_Id ca cheie primară..

Apoi, relația unu-la-mulți poate fi creată prin stocarea cheii primare a tabelului Master (Master_Id) în tabelul Classes, așa cum este ilustrat mai jos.

Coloana Master_Id din tabelul Classes este cunoscută ca cheie străină sau cheie secundară.

Pentru fiecare valoare Master_Id din tabelul Master, pot fi zero sau mai multe rânduri în tabelul Classes. Pentru fiecare valoare Class_Id din tabelul Classes, există un singur rând în tabelul Teachers.

Mulți la mulți

Într-o bază de date „Vânzare produs”, comanda unui client poate conține mai multe produse, iar un produs poate apărea în mai multe comenzi. Acest tip de relație este cunoscut la fel de multe pentru mulți.

Puteți începe baza de date „Vânzări produse” cu două tabele: Produse și Comenzi. Tabelul Produse conține informații despre produse, cu ID-ul produsului ca cheie principală.

Pe de altă parte, tabelul Comenzi conține comenzile clientului, cu ID-ul comenzii ca cheie principală.

Nu puteți stoca produsele comandate în tabelul Comenzi, deoarece nu știți câte coloane să rezervați pentru produse. Nici comenzile nu pot fi stocate în tabelul Produse din același motiv.

Pentru a susține o relație de mai mulți la mulți, trebuie să creați un al treilea tabel, cunoscut sub numele de tabel de asociere (OrderDetails), în care fiecare rând reprezintă un articol într-o anumită ordine.

Pentru tabelul OrderDetails, cheia principală constă din două coloane: orderID și productID, identificând în mod unic fiecare rând.

Coloanele orderID și productID din tabelul OrderDetails sunt folosite pentru a face referință la tabelele Comenzi și produse. Prin urmare, acestea sunt, de asemenea, chei străine în tabelul OrderDetails..

Unul câte unul

În baza de date „Vânzarea produselor”, un produs poate avea informații opționale, cum ar fi descrierea suplimentară și imaginea acestuia. Păstrarea acestuia în tabelul Produse ar genera o mulțime de spații goale.

Prin urmare, se poate crea un alt tabel (ProductExtras) pentru a stoca datele opționale. O singură înregistrare va fi creată pentru produsele cu date opționale.

Cele două tabele, Produse și Produse Extras, au o relație de la unu la unu. Pentru fiecare rând din tabelul Produse există un maxim de un rând în tabelul ProductExtras. Același ID produs trebuie utilizat ca cheie primară pentru ambele tabele.

Avantaj

Independența structurală

În modelul bazei de date relaționale, modificările în structura bazei de date nu afectează accesul la date.

Când este posibil să se facă modificări în structura bazei de date fără a afecta capacitatea SGBD de a accesa datele, se poate spune că sa realizat independența structurală.

Simplitate conceptuală

Modelul bazei de date relaționale este chiar mai simplu din punct de vedere conceptual decât modelul de baze de date ierarhice sau de rețea.

Deoarece modelul bazei de date relaționale eliberează proiectantul de detaliile stocării fizice a datelor, proiectanții se pot concentra asupra vizualizării logice a bazei de date.

Ușurința de proiectare, implementare, întreținere și utilizare

Modelul bazei de date relaționale realizează atât independența datelor, cât și independența structurii, ceea ce face proiectarea, întreținerea, administrarea și utilizarea bazei de date mult mai ușoare decât celelalte modele..

Capacitate de interogare ad-hoc

Prezența unei capacități de interogare foarte puternice, flexibile și ușor de utilizat este unul dintre principalele motive pentru popularitatea imensă a modelului de baze de date relaționale.

Limbajul de interogare al modelului de baze de date relaționale, numit Structured Query Language sau SQL, face interogările ad-hoc o realitate. SQL este un limbaj de a patra generație (4GL).

Un 4GL permite utilizatorului să specifice ce ar trebui făcut, fără a specifica cum ar trebui făcut. Astfel, cu SQL, utilizatorii pot specifica ce informații doresc și pot lăsa detaliile despre cum să obțină informațiile în baza de date.

Dezavantaje

Cheltuieli hardware

Modelul bazei de date relaționale ascunde complexitățile implementării sale și detaliile stocării fizice a datelor utilizatorului.

Pentru a face acest lucru, sistemele de baze de date relaționale au nevoie de computere cu dispozitive hardware și de stocare a datelor mai puternice..

Prin urmare, RDBMS are nevoie de mașini puternice pentru a funcționa fără probleme. Cu toate acestea, întrucât puterea de procesare a computerelor moderne crește într-un ritm exponențial, nevoia de mai multă putere de procesare în scenariul actual nu mai este o problemă foarte mare..

Ușurința de proiectare poate duce la un design slab

Baza de date relațională este ușor de proiectat și de utilizat. Utilizatorii nu trebuie să cunoască detaliile complexe ale stocării datelor fizice. Nu trebuie să știe cum sunt stocate datele pentru a le accesa.

Această ușurință de proiectare și utilizare poate duce la dezvoltarea și implementarea unor sisteme de gestionare a bazelor de date slab concepute. Deoarece baza de date este eficientă, aceste ineficiențe de proiectare nu vor ieși la iveală atunci când baza de date este proiectată și când există doar o cantitate mică de date.

Pe măsură ce baza de date crește, bazele de date slab proiectate vor încetini sistemul și vor duce la degradarea performanței și corupția datelor..

Fenomenul „insulelor informaționale”

După cum sa menționat anterior, sistemele de baze de date relaționale sunt ușor de implementat și de utilizat. Aceasta va crea o situație în care prea mulți oameni sau departamente își vor crea propriile baze de date și aplicații..

Aceste insule de informații vor împiedica integrarea informațiilor, care este esențială pentru buna funcționare a organizației..

Aceste baze de date individuale vor crea, de asemenea, probleme precum inconsecvența datelor, duplicarea datelor, redundanța datelor etc..

Exemplu

Să presupunem o bază de date care constă din tabelele Furnizori, Piese și Expedieri. Structura tabelelor și a unor exemple de înregistrări sunt după cum urmează:

Fiecare rând din tabelul Furnizori este identificat printr-un număr unic de furnizor (SNo), identificând în mod unic fiecare rând din tabel. La fel, fiecare parte are un număr unic de piesă (PNo).

În plus, nu poate exista mai mult de o expediere pentru o anumită combinație Furnizor / Piesă în tabelul Expedieri, deoarece această combinație este cheia primară a Expedițiilor, care servește ca tabel de unire, deoarece este o relație de mai mulți la mulți..

Relația tabelelor Părți și Expedieri este dată de câmpul PNo (numărul piesei) în comun, iar relația dintre Furnizori și Expediții apare având câmpul SNo (numărul furnizorului) în comun.

Analizând tabelul Expedieri se poate obține ca informație că în total sunt trimise 500 de nuci de la furnizorii Suneet și Ankit, câte 250 fiecare.

În mod similar, 1.100 de șuruburi au fost livrate în total de la trei furnizori diferiți. Au fost livrate 500 de șuruburi albastre de la furnizorul Suneet. Fără livrări de șuruburi roșii.

Referințe

  1. Wikipedia, enciclopedia liberă (2019). Modelul relațional. Luat de pe: en.wikipedia.org.
  2. Techopedia (2019). Modelul relațional. Luat de pe: ceilingpedia.com.
  3. Dinesh Thakur (2019). Modelul relațional. Note despre computer. Preluat de pe: ecomputernotes.com.
  4. Geeks for Geeks (2019). Modelul relațional. Luat de pe: geeksforgeeks.org.
  5. Universitatea tehnologică Nanyang (2019). Un tutorial de pornire rapidă privind proiectarea bazelor de date relaționale. Luat din: ntu.edu.sg.
  6. Adrienne Watt (2019). Capitolul 7 Modelul de date relaționale. BC Open Books. Preluat de pe: opentextbc.ca.
  7. Toppr (2019). Baze de date și scheme relaționale. Luat de pe: toppr.com.

Nimeni nu a comentat acest articol încă.