Ecco come lo faccio:
C’è un modo migliore, più standard per farlo?
Direi che prima di tutto: essere coerenti.
Suppongo 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.
Punto 3 – purtroppo questo non è sempre ansible. Pensa a come faresti fronte a una singola tabella foo_bar
che contiene le colonne foo_id
e foo_id
che fanno riferimento alla colonna foo_id
tabella foo
. Si potrebbe voler considerare come affrontare questo. Questo è un po ‘un caso d’angolo però!
Punto 4 – Simile al punto 3. È ansible introdurre un numero alla fine del nome della chiave esterna per soddisfare più colonne di riferimento.
Punto 5 – Eviterei questo. Ti fornisce poco e diventerà un mal di testa quando si desidera 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 tuo carico, ma che vale la pena considerare.
Nomi di colonna Singular vs Plural
Potrebbe essere una buona idea affrontare il problema spinoso di plurale vs singolo nei nomi delle colonne e anche i nomi delle tabelle. Questo argomento causa spesso grandi dibattiti nella comunità DB. Attaccherei con forms singolari sia per i nomi di tabelle che per le colonne. Là. L’ho detto
La cosa principale qui è ovviamente la coerenza!
La coerenza è la chiave per qualsiasi standard di denominazione. Finché è logico e coerente, sei al 99%.
Lo standard in sé è molto personale, quindi se ti piace il tuo standard, allora corri con esso.
Per rispondere alla tua domanda a titolo definitivo – no, MySQL non ha una convenzione / standard di denominazione preferita, quindi il tuo rollover va bene (e il tuo sembra logico).
MySQL ha una breve descrizione delle loro regole più o meno rigide:
https://dev.mysql.com/doc/internals/en/coding-style.html
Lo stile di codifica più comune per MySQL di Simon Holywell:
Vedi anche questa domanda: ci sono delle linee guida sullo stile di codifica pubblicate per SQL?
Per fortuna, gli sviluppatori PHP non sono “bigotti del caso Camel” come alcune comunità di sviluppo che conosco.
Le tue convenzioni suonano bene.
Solo finché sono a) semplici, e b) coerenti – Non vedo alcun problema 🙂
PS: Personalmente, penso 5) è eccessivo …