Domanda

Quali standard dovrebbe seguo la denominazione tabelle e viste? Per esempio, è una buona idea di mettere qualcosa come Tbl_ all'inizio dei nomi delle tabelle? Dovrei designare codice / di ricerca tavoli, in qualche modo, come ct_, lut_ o codes_? Ci sono / non fare di ogni altro fare?

sto usando MS SQL Server e ho molti database con molti tavoli quindi sarebbe bello avere qualcosa che possiamo usare come standard con un po 'di supporto razionale.

È stato utile?

Soluzione

OK, prima mai messo TBL davanti al nome di una tabella. Si tratta di un tavolo, che già ora che. Questo si chiama ungherese notazione, e la gente smesso di farlo 5+ anni fa.

Basta chiamare l'oggetto sulla base di quello che è. Se una tabella contiene i dati dei dipendenti chiamano "Dipendente". Se si tiene informazioni sui computer chiamano "Computer". Se si associa i computer per i dipendenti chiamano "EmployeeComputer" o "ComputerEmployee" (personalmente mi piace "EmployeeComputer" meglio).

Non c'è alcun diritto reale convenzione di denominazione per l'uso (se non per non usare ungherese Notation). Fino a quando i nomi degli oggetti un senso che ciò che è importante.

Altri suggerimenti

Usiamo schemi (pensare a loro come spazi dei nomi in SQL forse) per entrambe le autorizzazioni e di raggruppamento. Così, invece di "TBL", ecc abbiamo

  • Data.Thing
  • Data.ThingHistory
  • Data.Stuff

Codice No va nello schema dei dati. Non ci sono tavoli vivono al di fuori dello schema di dati. Questo può esteso, naturalmente, per avere un Lookup o uno schema di gestione temporanea, se lo si desidera.

Per le viste usiamo vw ma questo era per distinguerli dalle tabelle in SQL Server 2000 e è un pò legacy ora

Personalmente sono un grande fan del fano Bedingung , il che significa qui che non nome è permesso di essere l'inizio di un altro nome valido.

E in secondo luogo la distanza di Hamming tra i due nomi è meglio più di una lettera diversa.

Sì che sono regola dai tempi predigital, ma rendono la vita più facile.

E i nomi di terzi devono essere pronunciabile, o si diventa pazzi, quando il riconoscimento vocale diventa vero.

Non so che non c'è davvero alcun "migliore" convenzione di denominazione là fuori, come che realmente si riduce a preferenze personali e facilità di sviluppo. Il mio consiglio è di scegliere una convenzione di denominazione e di aderire ad esso. Se si desidera per separare le parole con un trattino basso, farlo in tutti i tuoi oggetti di database. Se si desidera utilizzare camelCase, farlo in tutti gli oggetti di database.

Nel mio negozio ci atteniamo alle seguenti regole:

separare le parole di sottolineatura e utilizzare tutte le lettere minuscole.
I nostri nomi delle tabelle descrivono quello che sono: dbo.person, dbo.invoice
. I nostri nomi di tabella molti-a-molti descrivono anche ciò che sono (con l'aggiunta di mm per indicare una relazione molti a molti di essere mappato: dbo.person_mm_address. I nostri stored procedure definite dall'utente descrivono l'oggetto e l'azione viene eseguita: usp_person_select, usp_address_select_by_city I nostri punti di vista e le funzioni seguono le stesse regole come stored procedure. I nostri indici includono tabella, le colonne chiave (in ordine), e l'indicazione del cluster / non cluster: ix_person_last_name_first_name_nc

Proprio perché questo è quello che usiamo nel mio negozio, non significa queste regole è giusto per te. Scegli qualcosa che voi e il vostro team di sviluppo d'accordo è utile e facile da sviluppare con, e stabilire una cultura di conoscere e utilizzando qualsiasi convenzione di denominazione si decide. Nel nostro caso, questo include la revisione del codice per tutti gli oggetti creati in un database. Nel corso del tempo, la combinazione di una convenzione e codice di revisione tra pari denominazione documentata ha portato a sempre meno deviazioni dalla convenzione.

Spero che questo "non-risposta" aiuta in qualche modo.

Sono contento di questi da anni fa

  • i nomi di tabella: small cap e underscore, singolari {cliente, prodotto}
  • nomi di tabella per molti a molti rapporti: tablename1_tablename2: {customer_product}
  • viste: maiuscoletto aggiunti v fino alla fine {customerv, productv, product_groupv}
  • procudures memorizzati: nome della tabella e la funzione {customer_select, customer_insert, customer_delete, customer_update}

se si dispone di un buon pacchetto di hosting condiviso, sarà necessario utilizzare l'abbreviazione del progetto di fronte a tutti gli oggetti, come ad esempio, gli amministratori di database del sito, da_users, da_questions

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top