Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Como nombrar columnas.

Estas en el tema de Como nombrar columnas. en el foro de Mysql en Foros del Web. Hola chicos, busque en el faq, y por sangoogle, pero no doy pie con b.... Tengo que re diseñar un sistema que evoluciono con mis ...
  #1 (permalink)  
Antiguo 24/11/2012, 17:17
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Como nombrar columnas.

Hola chicos,

busque en el faq, y por sangoogle, pero no doy pie con b....
Tengo que re diseñar un sistema que evoluciono con mis conocimientos,
como mi fuerte no es mysql recurro a ustedes. Resulta que voy crear una nueva estructura
para la base de datos, y encontré muchísimos tips, para evitar que sea muy grande y optimizar las querys, pero se que hay una manera de nombrar las tablas y columnas, para que sean intuitivas y un administrador de DB sepa donde encontrar la relación de los datos.

Espero que haberme explicado mi duda, y me gustaría que me faciliten tips, o su conocimiento, para nombrar las Tablas y Columnas.

Desde ya muchas gracias por tomarse un min para leer el post.

SirDuque
__________________
Mono programando!
twitter.com/eguimariano
  #2 (permalink)  
Antiguo 24/11/2012, 17:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Como nombrar columnas.

Bueno, eso es más lo que se denomina "buenas prácticas" en las empresas de desarrollo, e incluso son directivas propias de las empresas para las que uno trabaja.
En el caso de aquella en la que yo trabajo eso figura en las especificaciones técnicas de los proyectos (documentación interna de la empresa), y son muy estrictos en su cumplimiento.
No hay una regla general, pero es medio obvio cómo hacer eso:
- Cada tabla tiene de prefijo la sigla del proyecto, a lo cual se le agrega un primer sufijo de la subárea que es propietaria de ella, y como final el nombre que se le quiera dar.
- Cada columna lleva de sufijo el nombre descriptivo de la tabla.
- Cada columna que sea FK debe llevar siempre el mismo nombre que lleva en su tabla de origen (la PK de la tabla referida) y nunca, jamás se pone otro nombre.
- Los indices INDEX comienzan siempre por IDX.
- Los índices UNIQUE comienzan siempre por UNQ.
- Si se le asignan nombres a las constraint FK, llevan de prefijo "FK" y el nombre de ambas tablas.
- No se usan nombres de tablas, columnas ni ningún otro objeto de base de datos con números, o signos que no sean "_".
- Todos los nombres de procedimientos comienzan con "PR_", las funciones con "FN_", los TRIGGERS con "TRG_", y los EVENT con "EVT_".

¿Se van entendiendo la idea?

Hay un par de excepciones a las reglas de nombres:
1) Las tablas y columnas de tablas de uso contable.
2) Toda tabla o columna relacionada con seguridad informática.

Como adicional:
- Ninguna clave se guarda sin encriptar.
- Ningún numero de clave de seguridad de tarjeta se almacena, ,sin importar cuán importante sea.

Todo lo demás depende de lo que definas tu mismo como buenas prácticas o metodología.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 24/11/2012, 19:43
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Como nombrar columnas.

Gracias @gnzsoloyo, es justa la información que estaba buscando, me quedaron algunas dudas en la explicación, pero seguro es por que estoy cansado, mañana voy pegarle una leída, googlear un poco, y comentar como pienso llamar a las tablas/columnas, para escuchar sus opiniones y consejos.
Por hoy me voy a descansar.
Saludos!
__________________
Mono programando!
twitter.com/eguimariano
  #4 (permalink)  
Antiguo 25/11/2012, 12:16
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Como nombrar columnas.

Bueno, que les parece mi conclusion.
Tras los comentarios de gnzsoloyo, optimice mi búsqueda y me encontré con pdfs de distintas empresa.
Note, que la decisión para nombrar las tablas y columnas, incluso la db. Dependen de la empresa, o en mi caso, el Desarrollador. También que los administradores de MySql no recomienda estas practicas, por que extiende los nombres de las tablas y columnas. Pero es verdad que sin estas practicas, todo seria una nube para cualquier persona agena al proyecto, y poco recomendable para un grupo de trabajo.

En los pdfs de las empresas la moyoria usaba practicas distintas. Lo que rescato de todas es lo siguiente.

Los nombres son siempre en minúscula y serpear las palabras por guion bajo '_ '. También en lo posible evitar los números.
No usar 'camelCaps' y por nada en el mundo utilizar acentos, espacios y puntuaciones.

Nombre de la Base de Datos:

<nombre>_<ambiente>

donde <nombre> es el nombre de proyecto.
donde <ambiente> puede ser 'desa', 'pre' y 'pro'. Segun el entorno que esta trabajando esta DB.

Ej: sistema_desa

Nombre de la Tabla:

Se compone por un prefijo comúnmente de dos siglas. Estas siglas son las del proyecto.
Su nombre es en Singular.

<prefijo> _<nombre tabla>

<prefijo> _<primer palabra del nombre>_<segunda palabra del nombre>

EJ:

si_usuario (donde 'si' corresponde a sistema_desa).
si_preferencia_usuario

Nombre de la columna:

Se compone por un prefijo de dos o mas siglas incluso el nombre de la tabla si este corto. Estas siglas son de la tabla.
Su nombre es en Singular.

<prefijo>_<nombre columna>

Ej:

Tabla: si_usuario
Columna: us_id
Tabla: si_preferencia_usuario
Columna: pu_id

Como notaron si_preferencia_usuario necesita un PFK de si_usuario, estos llevan su nombre original.

Tabla: si_usuario
us_id
us_nombre
us_login
us_password

Tabla: si_preferencia_usuario
pu_id
us_id (PFK)
pu_color
pu_layout
pu_zona_horaria



Bueno espero sus comentarios al rescpecto, Todavia tengo tiempo
__________________
Mono programando!
twitter.com/eguimariano

Etiquetas: sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:42.