SQL - id de mantenedor o descripcion

 
Vista:

id de mantenedor o descripcion

Publicado por Julio (2 intervenciones) el 07/06/2012 15:59:18
Hola colegas
Tengo una duda quizás alguien con mas experiencia que yo me la pueda aclarar
Que conviene más con las tablas de mantenedores por ejemplo una tabla que se llame Tabla_Ciudad
Tabla_Ciudad
id_ciudad
descripcion_ciudad

Para mi los mas integro seria guardar al ingresar una atención guardar la descripcion_ciudad
de la ciudad seleccionada pero en la mayoría de sistema que e visto guardan el id_ciudad
yo opino que debería guardarse la descripcion_ciudad ya que si guardamos el id se corre el riesgo de que
Alguien modifique el mantenedor en el campo descripcion_ciudad entonces cuando busquemos el registro abría cambiado el histórico
Alguien a trabajado de esta forma para que nos cuente su experiencia??
Saludos y gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

id de mantenedor o descripcion

Publicado por leonardo_josue (1173 intervenciones) el 07/06/2012 20:21:54
Hola Julio:

Hay que entender cómo funciona un modelo Entidad relación, para poder responder a tus preguntas.

Primero, una de las razones para utilizar claves numéricas en lugar de caracteres es por espacio, si quisieras guardar como llave la descripción de la ciudad, en primer lugar tendrías que declarar el campo llave con una longitud tan grande como la descripción más grande que quieras guardar... así por ejemplo tendrías una tabla como esta:

1
2
3
4
5
6
7
8
descripcion_ciudad
------------------------------------
a
b
c
Taumatawhakatangihangakoauotamateturipukakapikimaungahoro-Nukupokaiwhenua kitanatahu
d
e


el nombre de la cuarta ciudad existe realmente y contiene 85 caracteres, esto quiere decir que tu campo tendrías que declararlo como varchar(85), para el resto de la ciudad estás desperdiciando 84 caracteres...

Segundo, la razón de que existan los catálogos es la homologación de registros, es decir, evitar que alguien pueda escribir (Cd de Mexico, Ciudad de México, Cd. de México, México), cuando todas se refieren a lo mismo.

Tercero. Puedes considerar como un riesgo que si alguien cambia la descripción de un catálogo entonces se cambiarían todos los datos, pero eso en realidad es una ventaja... en caso contrario tendrías situaciones como las que mencioné en el segundo punto... Es recomendable que las tablas catálogos solo puedan ser accesadas por el DBA, los demás usuarios de la BD sólo deberán tener permiso de lectura justamente para evitar este tipo de problemas. El DBA será el único que pueda aplicar cambios a los catálogos.

Podríamos seguir hablando acerca del tema, pero creo que esto te da un panorama general de lo que querías saber.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

id de mantenedor o descripcion

Publicado por Julio (2 intervenciones) el 07/06/2012 20:58:34
Gracias Leonardo me aclaraste hartas dudas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar