Prva tablica, MP_VALUTA


Za prvu tablicu odabrao sam tablicu sa valutama. Valute su nacionalne novčane jedinice. Npr. u Hrvatskoj je to hrvatska kuna, u Europskoj uniji euro, u Švicarskoj je švicarski franak itd.

Svaka valuta ima jedinstven broj (brojčanu oznaku odnosno šifru) i slovnu oznaku dodijeljenu od međunarodne organizacije ISO.

Zašto to sve pišem? Zato što ne možete kvalitetno napraviti tablicu ako ne znate što će se zapisivati u nju. Prije nego što napravite tablicu, potrebno je dobro razmisliti što će se zapisivati i tko će zapisivati podatke i na koji način.

Za našu tablicu imamo nekoliko vrijednosti koje moramo zapisati:

  • šifra
  • naziv
  • slovna oznaka

Kako je šifra jedinstvena u tablici, biti će primary key. Kao takva, često vidim da se koriste prefiks ID u takvom polju što smatram suvišno.

mp_valuta_prva_slika

Zašto je VALUTA a ne ID_VALUTA ili SIFRA ili …?

Zato što je to po mojem pravilu. Moje pravilo kaže da je naziv tablice (bez prefiksa) ujedno i naziv PK polja tablice. Pravilo nije jednostavno i kod složenijih tablica se treba paziti, ali u globalu funkcionira odlično.

Zašto je CHAR(3) a ne INT?

Ako se to pitate morate još jednom pogledate šifre valuta. Tamo se vidi da npr. australski dolar ima šifru 036, a to će u INT polje biti zapisano kao 36. Mnogi su spremni na takve kompromise, ja u ovom slučaju nisam.

Zašto je polje NAZIV tipa  VARCHAR i baš duljine 60?

Za sva polja koja nemaju fiksnu duljinu koristim tip VARCHAR. Za string polja fiksne duljine koristim CHAR. Duljina 60 je odabrana slučajno. Kod kreiranja jedne tablice su bili nazivi dulji od 50 znakova i od tada koristim “po defaultu” 60 znakova.

Zašto OZNAKA a ne VALUTA_OZNAKA ili SIMBOL ili SLOVNA_OZNAKA?

U stvari, ja u stvarnosti koristim SIMBOL ali smatram da je primjerenije koristiti OZNAKA. SLOVNA_OZNAKA isto nije loše ali nema potrebe za takvim nazivom u tako maloj i tako jasnoj tablici.

Napomena:

Polja NULL izbjegavam gdje god mogu. Koristim ih samo u nekim tablicama i to za datumska polja koja ne moraju biti popunjena. Za ostale tipove koristim ili 0 (nula) ili ” (prazan string) kao default vrijednost.

  1. No comments yet.
(will not be published)