He aquí tres de las mejores prácticas intento seguir cuando nomenclatura de las tablas:

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

Mantener todo esto en mente, ¿cómo te recomendamos la nomenclatura de la tabla que contendrá las identidades de los usuarios?

  • La consistencia puede ser tan importante como la política real.
  • Estoy usando una tabla con el nombre de USUARIO de mysql con ORM. ¿Por qué diría usted que es una palabra clave reservada?
  • Adil Mehmood, «usuario» no es una palabra reservada en MySQL pero en otros RDMS tales como MS SQL Server.
  • También es reservado en PostgreSQL, pero puede ser utilizado si el citado: select * from «usuario»;
  • Yo podría añadir que creo que también es una de las mejores prácticas para el uso de los nombres de tabla y los nombres de campo que podría ser migrado a otro RDBMS sin temor de encontrarse con errores de haber utilizado palabras reservadas.
  • Por otro lado, el prefijo de las tablas con un sistema o código de la aplicación permite que múltiples sistemas para compartir una base de datos o esquema.
  • Yo creo que el prefijo de una tabla con un «nombre de dominio» (nombre de la aplicación o código, no una web de nombre de dominio) no es una mala idea y es diferente del objeto prefijo que me estaba refiriendo.

InformationsquelleAutor HK1 | 2011-03-13

4 Comentarios

  1. 31

    Estoy de acuerdo, no utilice ninguna de las palabras reservadas, o entre comillas o entre paréntesis o escapado de las formas de las palabras reservadas.

    Nombre de la tabla de Usuario Persona.

    Usted puede estar interesado en esta respuesta y google para la norma ISO 11179 para la denominación de Directrices

    • Está seguro acerca de que la ISO nr? No pude encontrar nada cuando busqué en google. ¿Tiene un nombre que se puede de google en su lugar?
    • Creo que tal vez se estaba refiriendo a ISO 11179. No estoy diciendo que la ISO documento es irrelevante para mi pregunta, pero yo creo que es diferente/nivel más profundo que el tipo de respuesta que esperaba. Las «mejores prácticas» no siempre coinciden directamente con los ideales que se presentan en estos tipos de documentos, pero admito que estoy diciendo que sin haber leído a través de ISO 11179.
    • PerformanceDBA, gracias por el enlace a la otra de MODO que la pregunta acerca de la tabla relacional de las convenciones de nomenclatura. He leído que a través de un par de semanas atrás y se han de aplicar mucho de lo que he leído. Sin embargo, ese post no aborda el problema particular que he ejecutado en el lugar donde mejor se ajusten a nombre de la tabla es una palabra reservada.
    • He formateado mi respuesta, me hizo dar una alternativa a «el usuario».
    • Cliente es otro
  2. 8

    Me suelen usar algo como miembro o de la cuenta, dependiendo de la aplicación. Dicho esto, si usted está utilizando modernas herramientas de diseño y principios (por ejemplo, una base de datos de la capa de abstracción o ORM con un objeto-orientado a la base de código que separa la lógica de negocio de acceso a datos), entonces la tabla de nomenclatura se convierte en bastante irrelevantes. Los desarrolladores sólo debe siempre tener acceso a la base de datos a través de una bien definida la interfaz y no por la mano de escritura de SQL que se les exige saber el nombre de la tabla. Por ejemplo, usted podría nombre de la tabla cuenta pero mapa de acceso al mismo a través de un objeto de Usuario nombrado. Sus desarrolladores no debería estar pensando en términos de tablas, pero en términos de acceso a los objetos, que no van a tener las mismas restricciones de nomenclatura:

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

    Usar un sinónimo. Qué palabra utilizar, depende de lo que exactamente se debe almacenar en la tabla, pero account me parece una buena alternativa. Si desea utilizar una variación user me gustaría romper la primera directriz que mencionas, no la segunda o tercera: users es bastante común que la incoherencia es esencialmente mnemónico.

    • cuenta ya es una tabla en HSQL, así que si usted utiliza incrustado HSQL para las pruebas de unidad, usted va a terminar con un conflicto
  4. 0

    Puedo usar CakePHP reglas, incluso cuando yo no uso el framework :

    Los nombres de las tablas, por convención, en minúscula y en plural con multi-palabra de la tabla de nombres separados por guiones bajos. Por ejemplo, un nombre de Modelo de Ingredient espera que el nombre de la tabla ingredients. Nombre del modelo de EventRegistration esperaría de un nombre de tabla de event_registrations.

    • Este es un enfoque interesante aunque he reunido a los expertos aquí, LO que probablemente no estaría de acuerdo con los plurales.

Dejar respuesta

Please enter your comment!
Please enter your name here