Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Imenovanje tabela i kolona

[es] :: MySQL :: Imenovanje tabela i kolona

[ Pregleda: 2243 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Tudfa
Jovicevic Vladimir

Član broj: 152699
Poruke: 384
*.dynamic.sbb.rs.



+3 Profil

icon Imenovanje tabela i kolona22.05.2009. u 12:14 - pre 181 meseci
Kako je pametnije imenovati tabele i kolone :

1.

table_name = table
col_name = column

Ovako je kraće i pišu se lakše upiti, ali je kapiranje veza tj. uočavanje stranih ključeva teže(ovako ja radim ).


2.

table_name = table
col_name = table_column

Ovde je pisanje upita duže, ali se lako odredjuje da li je kolona strani ključ iz odredjene tabele.


3.

Da samo kolone koje predstavljaju strane ključeve iz odredjenih tabela imenujemo po
primeru br. 2, a ostale kolone po primeru 1.

 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
217.24.31.*

Sajt: mysql.rs


+2377 Profil

icon Re: Imenovanje tabela i kolona22.05.2009. u 12:44 - pre 181 meseci
neki staaaaaaari standard je

imena entiteta se pisu u jednini
imena atributa se pisu kao entitet_atribut isto u jednini

dakle nesto tipa

objekat_id
objekat_ime
objekat_prezime
drzava_id
grad_id


imena veznih tabela idu entitet_relacija_entitet ili samo entitet_entitet

na primer

objekat_has_knowledge

e sad ... ako se radi u grupi, mora da se dogovori koji se strandard koristi, ako radis sam, treba da se ponasas kao da radis u grupi... pa se dogovori sam sa sobom ... to sto je nesto malo duze za kucanje nije nikakav minus - nauci brze da kucas ili koristi neki od alata koji ti ubrzavaju rad (expanduju polja, imaju veci / mnogostruki clipboard buffer .. etc etc) .. ime kolone treba da bude deskriptivno i da odredjuje tu kolonu, dakle kada vidis tu kolonu da znas sta je ... "ime" ne znaci nista posto je mozda "ime objekta" ili "ime znanja" .. dok "objekat_ime" govori sve... isto tako, kolona koja predstavlja isti podatak treba u svim entitetima da se isto zove (ako je to moguce)
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
217.24.31.*

Sajt: mysql.rs


+2377 Profil

icon Re: Imenovanje tabela i kolona22.05.2009. u 12:47 - pre 181 meseci
pazi, ovo je "staaaaaaaaari" standard ... novi nikad nije napravljen a i ovaj ne postuje gomila ljudi/firmi ... recimo ono da se imena entiteta pisu u jednini je "iz razloga stu su ljudi nepismeni pa ne znaju tacno kako se koja rec pise u mnozini pa da ne bi bilo problema" ... sve u svemu, bitno je da imas standard i da imena kolona budu deskriptivna .. sve ostalo je nebitno ...

da .. neka iskustvena pravila ... nikad ne koristi - (dash, minus) u imenu, nemoj da mesas velika i mala slova (najbolje samo mala), nemoj da koristis specijalne karaktere ($#@!|+= ... ) dakle mala slova, brojevi i _ (underscore) sve ostalo - preskoci :)
 
Odgovor na temu

Tudfa
Jovicevic Vladimir

Član broj: 152699
Poruke: 384
*.dynamic.sbb.rs.



+3 Profil

icon Re: Imenovanje tabela i kolona22.05.2009. u 13:50 - pre 181 meseci
Citat:
bogdan.kecman: pazi, ovo je "staaaaaaaaari" standard ... novi nikad nije napravljen...

Zato sam i pitao...Bilo bi dobro da se usvoji jedan. Barem neke osnove ali da bude kao zvanična preporuka.
Ovaj kako si rekao stari standard sa col_name = table_column mi je dosta logičan i intuitivan, probaću tako .

A kako ti se čini ovaj 3. primer ako može neki komentar ...
Citat:
bogdan.kecmankolona koja predstavlja isti podatak treba u svim entitetima da se isto zove (ako je to moguce)

Da, ovo uvek pazim, jer sam se par puta smorio sa onim tipa user.id i npr. comment.author koji je ustvari user.id jer kad vidim author,
ne znam jel username ili name ili id itd...

pozdrav
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Imenovanje tabela i kolona22.05.2009. u 14:03 - pre 181 meseci
U mojoj firmi, recimo, standard je da se imena tabela pišu u množini mada mnogi predlažu jedninu.
Smatram da je suvišno da se kolone imaju kao prefiks naziv tabele. Ako u SQL upitu nije jasno iz koje tabele je koja kolona, koristi se "." notacija i to je dovoljno.
Kolone koje isto znače, isto se zovu u svim tabelama.

Nazivi tabela imaju kao prefiks skraćenicu modula kojem pripadaju. Ovo je bitno kada razvoj rade veliki timovi i kada postoji puno nezavisnih sistema (a i puno tabela). Za manje projekte ovo nije bitno.
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6279

Sajt: pedja.supurovic.net


+1571 Profil

icon Re: Imenovanje tabela i kolona22.05.2009. u 14:12 - pre 181 meseci
Ja koristim pravilo da je ime tabele uvek u mnozini, da polje koje je kljucno (id) uvek sadrzi i ime entiteta (ako je tabela users, onda je id user_id) a ostala ne sadrze iem entiteta jer ono sledi iz same tabele. Cesto se desavada jedna tabela ima vise veza ka nekoj drugoj tabeli ali koja imaju razlicita znacenja.

Recimo ako imas tabelu messages mozes imati polje articles.author_id, articles.reviewed_by i articles.approved_by, koja sva predstavljaju veze ka tabeli users i polju users.user_id. Ne mogu se sva ta polja zvati user_id. Eventualno, mogu se zvati reviewer_uer_id i approver_user_id, sto bi isto bilo ok mada valja izbegavati preduga imena polja, jer stvari postaju necitke.


 
Odgovor na temu

ihti
Jasmin I

Član broj: 3794
Poruke: 30
92.36.223.*

Sajt: www.inservio.ba


Profil

icon Re: Imenovanje tabela i kolona22.05.2009. u 14:53 - pre 181 meseci
Ja sam prije dvije godine kad sam krenuo radit sa CakePHP framework usvojio njihov naming convention za imena tabela/kolona iako nije nuzno ali mi se svidjelo i dobro funkcionise...

http://book.cakephp.org/view/24/Model-and-Database-Conventions

NO FATE. ONLY THE POWER OF WILL.
 
Odgovor na temu

Tudfa
Jovicevic Vladimir

Član broj: 152699
Poruke: 384
*.dynamic.sbb.rs.



+3 Profil

icon Re: Imenovanje tabela i kolona22.05.2009. u 15:26 - pre 181 meseci
@Predrag

Pedja u pravu si... Samo ja sam se složio sa ovom rečenicom, sa naglaskom na ono 'ako je to moguće' :
Citat:
bogdan.kecman: ... isto tako, kolona koja predstavlja isti podatak treba u svim entitetima da se isto zove (ako je to moguce)

E sad, jeste mali detalj u pitanju, ali kod mene u bazi koristim baš taj approver_id umesto approved_by jer se sa approver_id lakše uoči da je u pitanju user.id.
Naravno ovo radim, kao što si rekao, jer imam u toj tabeli još polja koja predstavljaju veze ka user.id pa ne mogu da ih nazovem istim imenom.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
217.24.31.*

Sajt: mysql.rs


+2377 Profil

icon Re: Imenovanje tabela i kolona22.05.2009. u 15:44 - pre 181 meseci
tudfa, postoji samo jedan .. dakle taj "staaaaari" je jedini koji postoji ... sve posle toga su "nepisana pravila" ... postoji samo taj jedan standard koji svi izbegavaju i za koji vecina ni ne zna ... ako pogledas mysql workbench standard im je "drugaciji" od spomenutog mada imas u opcijama da definises kako hoces da ti se imenuju tabele i polja.... "Treca" opcija koju si naveo je ista kao i bilo koja druga ... nije po standardu ali radi posao ... ako se dogovoris sa sobom da tako zoves, tako zovi ... kakvu god standardizaciju da napravis - drzi je se

djoka_l, to sa jedninom i mnozinom se kolju ljudi godinama ... realno po meni je logicnije da se zove u jednini, i generalno, sve ljude koje znam koji su ucili teoriju baza podataka logicno im je da se zovu entiteti u jednini ... posto, to je ime entiteta, nije "opis sta se tu nalazi" ... "." radi posao za neke stvari ali kao sto rekoh lako je da se kolone koje isto znace isto zovu, problem je ako se isto zovu a ne znace isto ... dakle "description" u dva entiteta nije "ista varijabla" .. kapiram da ljude extra mrzi da kucaju, da su optereceni sa 8+3 imenovanjem .. ali to vreme je proslo, slobodno dozvolite sebi opisna imena varijabli :)

prefiksi su zgodna stvar ako se pravilno koriste .. jako losa po nekad ... mera .. kao i u svemu :)

Predrag, to za mnozinu .. kao sto rekoh, nemam nista protiv osim sto nije po strandardu .. ja se trudim da ga postujem ma koliko to vecina ne radi :D .... sto se tice imena .. tu bi po standardu trebalo da bude review_user_id, author_user_id ... u nekoj normalizaciji cak sva ta polja treba da lete napolje iz te tabele ali to je neka druga prica ... e sad, ume da bude smor ali, standardizacija mora da postoji, nekakva, .... realno, samo za polja koja se koriste u "where" ili u "join" bitno je kako se zovu, sva ostala je potpuno abitno, ionako ces ih vuci sa t1.f1 ... ali ..

sve u svemu ... standard, koji je jako star, koji jepravljen kada pre nego se vecina ljudi sa foruma rodila, od strane likova koji su tada radili u IBM-u, onda neko vreme radili za MySQL, a sada se lade negde ne nekom ostrvu i kuliraju ( otisli tamo negde oko one kupovine mysql-a od strane sun-a u penziju) niko ne "enforsira" (kako se ovo kaze na srpskom???) ... gomila alata za modeliranje baza (pocev od erwin-a pa zavrsno sa mysql workbench-om) ga ne postuje ... tako da .. kad dodjes u firmu oni ti daju svoje standarde, radis po njima i cutis, ako pravis svoj tim, definisi standarde i drzi ih se, ako dodjes u firmu i nema standarda definisanih - daj otkaz ili se iscimaj pa definisi standarde ... sve u svemu ... koliko god da standarda ima - nista od njega ...


 
Odgovor na temu

[es] :: MySQL :: Imenovanje tabela i kolona

[ Pregleda: 2243 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.