Database design si creare de tabele cu phpmyadmin
Vezi aici articolul precedent din seria despre baze de date.
Continuam azi sa invatam cum se construieste o baza de date incepand cu partea de design si apoi crearea tabelelor. Dar inainte de asta e nevoie de putina teorie.
Proprietatile bazelor de date relationale
Sistemele de gestiune a bazelor de date (precum MySQL) folosesc tranzactii. O tranzactie reprezinta o interactiune cu baza de date. Salvarea unor date, stergerea sau modificarea lor se va face prin aceste tranzactii. Pentru ca aceste sisteme sa functioneze cat mai bine si sa fie sigure, avem 4 proprietati esentiale care trebuie sa fie indeplinite. Acestea sunt grupate sub acronimul ACID.
- Atomicitate – fiecare tranzactie trebuie sa fie atomica (totul sau nimic). Adica, tranzactia trebuie sa fie executata fie 100% fie deloc.
- Consistenta – doar datele valide vor fi salvate in baza de date.
- Izolarea – tranzactiile trebuie sa nuse influenteze intre ele.
- Durabilitatea – asigura faptul ca orice tranzactie executat nu va fi pierduta.
Relatiile dintre tabele
Pentru a elimina redundanta dintr-o baza de date e nevoie sa separam datele in mai multe tabele care se vor lega intre ele. Aceste relatii pot sa fie de 3 feluri:
- Relatie unu-la-mai-multi (sau 1-la-n sau 1-la-infinit). Un exemplu bun pentru acest caz ar fi o tabela de clienti si una de comenzi. Un client poate sa aiba mai multe comenzi. E valabila si invers (mai-multi-la-unu), adica mai multe comenzi pot sa apartina de un client.
- Relatie unu-la-unu. Aceasta apare in situatia in care am avea de exemplu tabela angajat si tabela salariu. In acest caz putem sa avem doar un salariu la un angajat si invers.
- Relatie mai-multi-la-mai-multi (n-la-n sau infinit-la-infinit). Putem exemplifica aceasta relatie gandindu-ne la tabela de produse si tabela de comenzi. Un produs poate sa faca parte din mai multe comenzi dar si o comanda poate sa aiba mai multe produse.
Design-ul bazei de date
Design-ul bazei de date il vom face folosind acest tool. Vom crea acolo fiecare tabel in parte, iar apoi fiecare coloana cu tipul sau de date si proprietatile sale.
Crearea bazei de date in MySQL
Dupa ce am facut design-ul bazei de date si ne-am asigurat ca totul e ok, valid si logic putem sa incepem sa construim tabelele folosind interfata grafica a phpmyadmin.