Scurta introducere in baze de date relationale (SQL) – 1
Bazele de date relationale sunt cele mai folosite sisteme DB din lume. In top 5 DB Engines, primele 4 locuri sunt ocupate de baze de date relationale. Majoritatea folosesc SQL, deci practic invatand SQL ai posibilitatea sa lucrezi cu mai multe tipuri de baza de date de tip relational.
Bazele de date relationale sunt bazate pe tabele si relatiile dintre ele. Un asemenea tabel este o colectie de date organizate pe coloane. Fiecare inregistrare din tabel reprezinta un rand. Hai sa vedem un exemplu:
Tabelul “country“
id | country_name | country_code |
1 | Romania | RO |
2 | Elvetia | CH |
Coloanele reprezinta modul de organizare al datelor. Adica avem un ID unic (un numar de identificare unic), un nume de tara si codul tarii. Fiecare rand reprezinta un set de date din acest tabel, deci mai sus avem 2 inregistrari (records) in tabelul cu numele country.
Fiecare coloana din tabel trebuie definita, adica trebuie sa aiba:
- un nume
- un tip de date
- proprietati optional (lungime, atribute, poate fi cheie primara sau secundara)
Numele nu trebuie sa contina spatii. Tipurile de date sunt impartite in mai multe grupe (date de tip string precum VARCHAR, TEXT sau BLOB, numerice precum INT sau FLOAT, de tip date/time precum TIMESTAMP sau YEAR. Mai multe despre tipurile de date gasesti aici.
Aceste tabele se poti lega intre ele creandu-se astfel relatii. De exemplu, tabela country se leaga de tabela de city pentru ca o tara are mai multe orase. Mergand mai departe, avem o relatie de 1 la mai multe. Adica o tara are mai multe orase sau privind invers, mai multe orase pot sa faca parte din aceasi tara.
Legaturile acestea dintre tabele se fac prin chei primare sau straine PK si FK. O cheie primara e un camp unic dupa care putem sa identificam un rand de date. Acea cheie va trebui sa o avem si in al doilea tabel unde se va numi cheie straina. Atentie, intr-un table putem avea doar 1 cheie primara dar mai multe chei straine.
Resurse utile
- Tool pentru database design
- XAMPP
- Tutorial SQL in limba Engleza