Nazivi tablica, ima li pravila?


Glavna pravila:

  • svaka tablica MORA imati prefiks
  • naziv tablice treba biti u jednini
  • naziv tablice treba biti imenica
  • riječi unutar naziva odvajaju se znakom “_”
  • naziv tablice MORA biti napisan velikim slovima

Prefiks, čemu to služi?

Kada unutar baze imate 3 tablice svakako da vam prefiks može samo smetati. No, kada unutar baze imate tablice koje nisu dijelovi iste logičke cjeline (videoteka, matični podaci, financije, plaće,…) i kada se broj tablica poveća iznad nekog broja, tada je lakše pratiti tablice preko prefiksa i njihovog naziva. Primjer može biti npr. MP_ za matične podatke (gradovi, države, valute, partneri, artikli,…), PL_ za tablice plaća (radnici, odbici, obustave, zarade,…), SK_ za skladište itd.

Jednina

Za ovo mi je trebalo nekoliko godina da shvatim koliko je korisno. Imate tablicu MP_GRADOVI, pa MP_TVRTKA pa MP_POREZI, MP_STOPA, SK_SKLADISTE i tako nikad kraja i nikad niste sigurni kako ste što nazvali. Ukoliko se držite jednostavnog pravila da je naziv u jednini, problema nema. Imate MP_GRAD, MP_TVRTKA, MP_POREZ i gotovo.

Imenica

Ovo nije teško pravilo. Služi tome da se ne komplicira sa nazivima tablica.

Odvajanje riječi znakom “_” unutar naziva

Tablica MP_POREZ ima svoju “kćer” tablicu MP_POREZ_STOPA koja sadrži arhivu poreznih stopa. Daleko je lakše pratiti nazive tablica kada su riječi unutar njih odvojene znakom “_”.

Bitno je dodati da uvijek mogu postojati neke iznimke ali one obično potvrđuju pravilo.

Prvo polje u tablici se zove isto kao i naziv tablice (bez prefiksa) i to je polje obično i primary key tablice ali o tome nešto kasnije.

  1. #1 by Jovica on 22.10.2009 - 20:36

    Koristenje 0 ili ” umjesto NULL nije nikako dobro. Da ne pisem zasto guglajte sql best practices.

  2. #2 by admin on 22.10.2009 - 20:53

    Kada sam davno učio o SQL-u, jedan od primjera kada NULL ima svoju vrijednost je zapis temperature po gradovima. Tu je zaista razlika ako neki grad ima izmjerenu temperaturu od 0 stupnjeva ili u tom gradu temperatura nije mjerena pa je polje ostalo prazno odnosno NULL.
    Molim vas da svakako napišite točan link članka (pasusa) na što ste mislili da nije dobro koristiti 0 ili ” umjesto NULL.

(will not be published)