2010-09-11 10 views
9

Qual è la convenzione di denominazione più comune per le tabelle del database SQL? Era storicamente un modo e ora è meglio fare un altro modo? Quali sono le pratiche più comuni ora?Nomi tabella database: Plurale o Singolare

+3

Questa è una domanda del sondaggio e probabilmente dovrebbe essere in CW. –

+0

molti dibattiti su questo! –

+0

Dipende dalla lingua utilizzata per denominare le tabelle. – Quassnoi

risposta

11

Uso sempre plurale per i nomi delle tabelle e singolare per i nomi delle colonne. Non che ci sia un vero motivo tecnico per questo, è proprio quello che preferisco.

Non ha molta importanza, purché sia ​​coerente.

I.e.

 
+========+  +==========+ 
| Posts |  | Users | 
+--------+  +----------+ 
| idPost | |-> | idUser | 
| Poster | <-| | Name  | 
+========+  +==========+ 

Il mio ragionamento per questo è ciò che accade quando si scrive la query effettiva:

SELECT idPost, Name FROM Posts 
INNER JOIN Users ON Poster = idUser 

Se si utilizza singolare, sembra che si sta selezionando da un post, piuttosto che dal set di tutti i post e si uniscono a un singolo utente, anziché a tutti gli utenti.

+1

Solo "guarda in questo modo" se sei condizionato a vederlo in quel modo. Se hai usato singolare per un po 'non sarebbe più così divertente. Questo è il modo di tutte le cose. – ErikE

+2

@Emtucifor: Credo che fosse il punto di "Non importa, fintanto che sei coerente". Questo è ciò che ha più senso per me, quindi è quello che uso. Se ti piace singolare meglio, usa quello. Ma non mescolare il match. –

+1

Personalmente a causa di una conversione ORM in oggetti Singular, anche il tavolo contiene un singolo record, sebbene ce ne siano molti, cosa succede e quali dibattiti avvengono con "Party" o "Parti" o "Partys". Negli scenari di costruzione di script, singolare è sempre stato il percorso più semplice con questi punti. – SnapJag

10

Nope - singolare per me. È la tabella "USER".

+0

L'unico motivo per cui non mi piace è che tu faccia qualcosa come "SELECT Name FROM User" - che sembra che tu stia selezionando un nome, non tutti. Ma +1 per un'altra buona risposta. –

+0

No, possono essere restituite più righe. Ma sono contento che ti piaccia. Grazie, Billy. – duffymo

+0

@duffymo: più istanze di "Utente". L'oggetto nella tabella è un "utente". –

1

Il modello standard per LINQ su SQL (e EF, presumibilmente), Ruby/Rails, ecc. - ovvero framework che scelgono la convenzione rispetto alla configurazione - è utilizzare nomi di tabelle plurali.

8

plurale per i nomi delle tabelle - perché le tabelle memorizzano utenti, prodotti, articoli e così via. nomi singolari per i modelli in quanto sono articoli singoli - Utente, Prodotto, Articolo. per i campi di tabelle mi adeguo alla convenzione di denominazione mysql - user_id, product_price, item_count.

Utilizzare uno di essi, ma utilizzare in modo coerente - questa sarebbe la mia risposta dopo tutto.

0

Io di solito nomino la tabella a seconda di come mi riferisco intuitivamente ad essa.

+4

Mi dispiace, ma il 110% non è d'accordo qui. Niente di peggio che lavorare su un pezzo di codice e dover smettere di pensare al modo in cui la tabella viene denominata nello schema. –

+0

sì, buon punto .... forse l'id inizia con quello sul primo tavolo def, e quindi si attenga a quella convention (s or pl) – CheeseConQueso

Problemi correlati