Debemos definir las claves principales con el prefijo de tablename.
Deberíamos usar use_id en su lugar si id y post_id en lugar de solo id.
Beneficios: -
1) de fácil lectura
2) fácilmente diferenciar en consultas de unión. Podemos minimizar el uso de alias en la consulta.
tabla usuario: user_id (PK)
poste tabla: post_id (PK) user_id (FK) aquí PK tabla de usuario y la tabla de post FK son mismo
Según documentation,
3) de esta manera podemos obtener beneficio de reunión natural y unirse con el uso de
Uniones naturales y uniones con USING, incluidas las variantes de unión externa, son procesadas según el estándar SQL: 2003. El objetivo era alinear la sintaxis y la semántica de MySQL con respecto a NATURAL JOIN y ÚNETE ... USANDO según SQL: 2003. Sin embargo, estos cambios en el proceso de unión pueden dar como resultado columnas de salida diferentes para algunas combinaciones. Además, algunas consultas que parecían funcionar correctamente en las versiones anteriores (anteriores a la 5.0.12) se deben reescribir para cumplir con la norma.
Estos cambios tienen cinco aspectos principales:
1) La forma en que MySQL determina las columnas de resultados de NATURAL o el uso de operaciones de combinación (y así el resultado de la totalidad de la cláusula FROM).
2) Expansión de SELECT * y SELECT tbl_name. * En una lista de columnas seleccionadas.
3) Resolución de nombres de columna en NATURAL o UTILIZACIÓN de combinaciones.
4) Transformación de NATURAL o USING une en JOIN ... ON.
5) Resolución de los nombres de columnas en la condición ON de un JOIN ... ON.
Ejemplos: -
SELECT * FROM user NATURAL LEFT JOIN post;
SELECT * FROM user NATURAL JOIN post;
SELECT * FROM user JOIN post USING (user_id);
Ver también: http://stackoverflow.com/questions/529863/do-you-prefer-verbose-naming-when-it-comes-to-database-columns/ 529962 # 529962 –
Estoy usando Doctrine-Project (un framework ORM), y usa esto: uno (User) -to-one (Imagen): User [id, name, age, picture_id], Picture [id, nombre de archivo, archivo] –