vistas una tablas recomendaciones porque para lentas lenta las grandes dañan datos cuello consulta como cantidades botella agilizar database database-design naming-conventions

database - una - ¿Cuál es la mejor práctica para nombrar su tabla de "usuario"?



view lenta mysql (4)

Aquí hay tres mejores prácticas que intento seguir al nombrar tablas:

  • Nunca nombre una tabla con plural (como "usuarios")
  • Nunca nombre una tabla con una palabra clave reservada (como "usuario")
  • Nunca prefija el nombre de su tabla con "tbl" o algún otro prefijo de tipo de objeto

Teniendo todo esto en mente, ¿cómo recomiendas nombrar la tabla que contendrá las identidades de los usuarios?


Acepto, no use palabras reservadas, palabras entre corchetes o escapadas de palabras reservadas.

Nombra la persona de la tabla de usuario.

Puede que le interese esta respuesta y google para la norma ISO 11179 para la nomenclatura de Pautas


Normalmente uso algo como miembro o cuenta, dependiendo de la aplicación. Dicho esto, si usa principios y herramientas de diseño moderno (por ejemplo, una capa de abstracción db u ORM con una base de código orientada a objetos que separa la lógica empresarial del acceso a datos), el nombramiento de la tabla se vuelve irrelevante. Sus desarrolladores solo deben acceder a la base de datos a través de una interfaz bien definida y no escribiendo manualmente SQL que les obligue a conocer el nombre de la tabla. Por ejemplo, puede asignarle un nombre a la cuenta de la tabla pero asignarle el acceso mediante un objeto llamado Usuario. Sus desarrolladores no deberían pensar en términos de tablas, sino en términos de objetos de acceso, que no van a tener las mismas restricciones para nombrar:

$user = new User($username); $user->authenticate($password);


Use un sinónimo Qué palabra usar depende de qué almacena exactamente en la tabla, pero la account me parece una buena alternativa. Si desea utilizar un user variación, rompería la primera directriz que menciona, no la segunda o tercera: los users son lo suficientemente comunes como para que la inconsistencia sea esencialmente mnemotécnica.


Uso las reglas de CakePHP incluso cuando no uso el marco:

Los nombres de tabla son, por convención, minúsculos y pluralizados con nombres de tabla de varias palabras separados por guiones bajos. Por ejemplo, un nombre de Modelo de Ingredient espera los Ingredient del nombre de la tabla . El nombre de modelo de EventRegistration esperaría un nombre de tabla de event_registrations .