2010-07-15 13 views
15

Quando si nominano tabelle e schemi del db è meglio utilizzare singolare o plurale. Ad esempio. dovrebbero essere clienti o clienti?Tabelle di database denominazione, plurale o singolare

E quando si nomina il nome Capitale come Cliente o cliente? Qualunque buona pratica in merito alla denominazione?

+0

simile anche a: [? Database, tabelle e colonne Naming Conventions] (http://stackoverflow.com/ questions/7662/database-table-and-column-naming-convention) – Mike

+0

Duplicato da [Table Naming Dilemma: Singular vs. Plural Names] (http://stackoverflow.com/q/338156/90527), ma quello ottenuto più attenzione. – outis

risposta

20

Questa domanda richiede una guerra religiosa.

non ho dubbi che dovrebbe essere plurale perché ...

  • Una tabella è un insieme di righe.
  • La sintassi SQL diventa più naturale - SELECT * FROM Customers anziché SELECT * FROM Customer.
  • L'analogia con OOP: si dispone di una classe Customer e di un elenco o altra raccolta di clienti denominata Customers.
  • SELECT * FROM Customers AS Customer WHERE Customer.FirstName = 'John' - Customers si riferisce all'intera tabella mentre Customer fa riferimento alla riga corrente.

cose negative

si deve passare più volte tra singolare e plurale durante lo sviluppo. È possibile iniziare con un modello concettuale, ad esempio un modello di relazione di entità, in cui la scelta naturale è denominare l'entità Customer. Da questo modello si genera un database e si deve pluralizzare il nome per ottenere la tabella Customers. Infine scegli il tuo mappamondo O/R preferito e devi singolarizzare nuovamente il nome per ottenere una classe chiamata Customer.

Se dovete farlo manualmente perché lo strumento è privo di supporto (ad esempio EntityFramework prima NET 4.0) potrebbe essere una scelta ragionevole per mantenere i nomi di tabella singolare ma therfore ottenere una classe Customer invece di Customers senza cambiare a mano.

+8

+1 per il tuo primo paragrafo, anche se la tua opinione è sbagliata :) – AakashM

+2

Ho usato la denominazione singolare, ma dopo il passaggio alle guide dove il plurale è lo standard, la denominazione plurale sembra più naturale. Questo è particolarmente vero per le domande – Tarscher

+0

Sembra più naturale, ma stavo pensando se ha effetti negativi in ​​seguito nello sviluppo ecc ... –

7

denominazione singolare.

si tratta di tuple, non di tabelle e una tupla è un cliente, non clienti. anche io preferisco nominare in minuscole lettere, ma questo è senza motivo, l'ho appena imparato a scuola.

alla fine, come altri hanno detto, è più una questione di preferenza. più importante della scelta se usare il plurale o il singolare è rimanere coerenti e farlo allo stesso modo per tutti i tavoli - se mischi pluar e nomi univoci, è un vero casino.

6

è praticamente una questione di preferenze

4

si fa a scegliere un recipe.ingredient o un recipes.ingredient?

... o si seleziona uno ingredient da recipes anziché uno ingredient da recipe.

Si seleziona un elenco recipe.ingredient o un elenco recipes.ingredient?

... o si seleziona un elenco ingredient da recipes anziché un elenco ingredient da recipe?

Penso che la coerenza sia più importante della convenzione stessa. Personalmente, preferisco nomi di tabelle singolari, minuscole, ma non difenderò con veemenza quella scelta.

0

mia scelta sono singolari e Titlecase :)

cliente è un'entità. La tabella è la raccolta logica di più entità. Quindi il plurale è preferito.

Per i nomi delle tabelle è preferibile il caso pascal. cioè, CustomerMaster.

È preferibile utilizzare il prefisso come tblCustomerMaster.

Se si utilizza il nome del gruppo come prefisso poi usarlo in lettere maiuscole, come, NEWCustomer, OLDCustomer

Problemi correlati