PDA

Pogčedajte punu verziju : MySQL referencijalni integriteti


cvele
14. 11. 2006., 12:36
Stojim iza stava da je MySQL definitivno najbolji izbor za većinu web aplikacija, što zbog svoje brzine, što zbog svoje cene (ili nedostatka iste). Upravo zato sada pričam o onome što je dugi niz godina bio veliki nedostatak MySQL baza podataka, Foreign keys.

Referencijalni integritet je veoma važan deo razvoja baza podataka. Sam izraz “referencilani integritet” znači da su sve reference unutar baze podataka validne i da nepostoje nepravilne veze između tabela.

Stanje referencijalnog integriteta se najčešće postiže upotrebom Stranih ključeva (eng. foreign keys). Kao što sam pomenuo MySQL je dugo vremena nije podržavao upodtrebu stranih ključeva, prvenstveno zbog bojazni da će se izgubiti na brzini rada. Sadašnje verzije podržavaju njihovu upotrebu i to preko InnoDB table engine.

Postoje neki preduslovi koji moraju biti ispunjeni kako bi smo napravili vezu stranih ključeva između dve MySQL tabele. Uslovi:

1. Obe tabele moraju biti InnoDB tipa
2. Oba polja koja se koriste za ovu vezu moraju biti indeksi
3. Tip podatka mora biti sličan ili isti

U sledećem delu proći ću kroz proces kreiranja dve jednostavne tabele koje će međusobno biti povezane stranim ključevima.

Nastavak: http://www.knowbies.com/vladimir-cvetic/databases/2-deo-referencijalni-interitet-u-mysql-bazama-podataka/