Mysql
 sql >> Database >  >> RDS >> Mysql

Esiste una convenzione di denominazione per MySQL?

Direi che prima di tutto:sii coerente.

Penso che tu sia quasi arrivato con le convenzioni che hai delineato nella tua domanda. Un paio di commenti però:

I punti 1 e 2 sono buoni, credo.

Punto 3 - purtroppo questo non è sempre possibile. Pensa a come affronteresti una singola tabella foo_bar che ha colonne foo_id e another_foo_id entrambi fanno riferimento a foo tabella foo_id colonna. Potresti considerare come affrontarlo. Questo è un caso un po' d'angolo però!

Punto 4 - Simile al punto 3. Potresti voler inserire un numero alla fine del nome della chiave esterna per soddisfare più di una colonna di riferimento.

Punto 5 - Lo eviterei. Ti fornisce poco e diventerà un mal di testa quando vorrai aggiungere o rimuovere colonne da una tabella in un secondo momento.

Alcuni altri punti sono:

Convenzioni di denominazione degli indici

Potresti voler introdurre una convenzione di denominazione per gli indici:questo sarà di grande aiuto per qualsiasi lavoro sui metadati del database che potresti voler eseguire. Ad esempio, potresti semplicemente voler chiamare un indice foo_bar_idx1 o foo_idx1 - totalmente a te ma vale la pena considerare.

Nomi di colonna singolari e plurali

Potrebbe essere una buona idea affrontare la spinosa questione del plurale rispetto al singolo nei nomi delle colonne e nei nomi delle tabelle. Questo argomento provoca spesso grandi dibattiti nella comunità DB. Rimarrei con forme singolari sia per i nomi delle tabelle che per le colonne. Là. L'ho detto.

La cosa principale qui è ovviamente la coerenza!