Así es como lo hago:
- Los nombres de las tablas están en minúsculas, usan guiones bajos para separar las palabras y son singulares (p
foo
. Ej .foo_bar
, Etc. - Generalmente (no siempre) tengo un PK de incremento automático. Utilizo la siguiente convención:
tablename_id
(por ejemplofoo_id
,foo_bar_id
, etc.). - Cuando una tabla contiene una columna que es una clave externa, solo copie el nombre de la columna de esa clave de la tabla de la que provenga. Por ejemplo, digamos que la tabla
foo_bar
tiene el FKfoo_id
(dondefoo_id
es el PK defoo
). - Cuando defino FK para hacer cumplir la integridad referencial, utilizo lo siguiente:
tablename_fk_columnname
(por ejemplo, si avanza el ejemplo 3, seríafoo_bar_foo_id
). Como se trata de una combinación de nombre de tabla / nombre de columna, se garantiza que será única dentro de la base de datos. - Ordeno las columnas de esta manera: PK, FK, luego el resto de columnas alfabéticamente
¿Hay una manera mejor y más estándar de hacer esto?
id_tableB
=> oh no hay una columna con un nombre diferente id
, la consistencia de id_tableB
=> id_tableB
simplemente se ve más ordenada ... o como lo hace OP: foo_id
=> en foo_id
lugar de foo_id
=>id