Newsgroup: it.comp.software.database
Titolo: Convenzione nomi oggetti db

Esiste (e se si... dove) una convenzione per assegnare correttamente ed in
maniera chiara i nomi agli oggetti (tabelle, viste, SP...) di un database
(nel mio caso SQL Server)? Ad esempio ho lavorato su un db Oracle non creato
da me... ed ho notato che le tabelle avevano nomi particolari ed intuitivi
per indicare le relazioni tra primary e foreign key... ma cercavo qualcosa
di più chiaro.
Grazie a tutti.

 Esiste (e se si... dove) una convenzione per assegnare correttamente ed in
Non esiste nessuna convenzione stabilita, sei libero di fare come ti
pare. Io cerco di assegnare nomi "parlanti" a tutti gli oggetti del
database, questo per evitare messaggi del tipo
"constraint SYS0456391 violated"
che non sai mai cosa cappero vuol dire, se la confronti con
"constraint FK_CAR2OWNER violated"
Davide

 ha scritto

l'ultimo in effetti e' chiarissimo.
al legittimo owner gli han ciullato la macchina :)

maniera chiara i nomi agli oggetti (tabelle, viste, SP...) di un database
Esistono molte scuole, alcune derivano dal tipo di notazione che si usa per
i diagrammi. Comunque cerca sotto database naming convention troverai di
tutto! :-)
Personalmente faccio:
1) sempre lowercase e underscore
2) nomi tabelle sempre singolare sia in inglese sia in italiano
3) PK e FK con lo stesso nome (aiuta con i vari tool)
4) indici terminano con _idx, sequence con _seq etc
Comunque l'argomento è sempre foriero di discussioni :-)
Ciao.
Faser
--------------------
FABIO SERRA
*Questo testo deve essere valutato secondo il senso della RFC-3*
Per rispondere in e-mail sostituire "invalid" con "faser"
http://www.cfmentor.com
--------------------

 Ciao.
Ma infatti credo di essermi spiegato male. So benissimo che non esiste una
regola precisa, ma so anche che in C++ uso convenzione ungherese per le
variabili e via dicendo. Cercavo proprio il parere di voi colleghi per
applicare qualcosa del genere anche al db.
In pratica la cosa andava letta: "Voi come fate?"
Grazie a tutti.

 In pratica la cosa andava letta: "Voi come fate?"
Come ci viene meglio/ci viene imposto dal progetto.
Davide

 Come ci viene meglio/ci viene imposto dal progetto.
e dal buon senso.
conosco qualcuno che le var relative ai campi, anziche' chiamarle sNome,
sCognome, nProgr, le chiamava pippo, pluto, paperino, con le conseguenze del
caso :)
ciao, andrea
--
ciao, j.
--
http://digilander.iol.it/javalab

In pratica la cosa andava letta: "Voi come fate?"
Un pò te l'ho detto. I dibattiti maggiori sono su come chiamare PK e FK. Si
mette il prefisso oppure no? Li si chiama con id_nome_tabella oppure no?
Li si chiama uguali?
Io spesso li chiamo nello stesso modo perchè i software  per fare diagrammi
o anche query via odbc, utilizzano questa convenzione per capire le
relazioni tra le tabelle.
Sono invece contrario a nominare i campi utilizzando come prefisso il nome
della tabella. (tabella utenti: utenti_id, utenti_nome etc)
L'approccio è anche diverso a seconda che:
1) Disegni solo il database, magari con tool appositi
2) Programmi facendo tutto a manina :-) In questo caso si tende a
rinunciare un pò alla leggibilità dello schema per privilegiare nomi corti
e più facilmente gestibili.
Infine il lower case è utile perchè:
1) E' più facilmente portabile
2) Crea meno casino soprattutto quando fai interfaccie web dove i campi del
form corrispondono al nome del campo del db.
Ciao.
p.s: tu come fai?
