Access - Normalizar tabla "Lugar de Nacimiento"

 
Vista:

Normalizar tabla "Lugar de Nacimiento"

Publicado por DIego (2 intervenciones) el 14/07/2009 02:14:02
Hola! soy novato en el tema de normalizacion de Base de Datos, por lo que necesito ayuda.
La consulta concreta es:

Ya tengo normalizados los parametros nombre, apellido, nº de documento, tipo de documento, fecha de nacimiento, tipo de telefono, numero de telefono y caracteristica.
Pero tengo un problema con Lugar de nacimiento. La normalizacion me quedó asi:

Tabla Personas: pers_id (pk); nomb; ape; ndoc; tdoc_id (ca); fnac.
Tabla Tipo Telefono: ttel_id; desc_ttel
Tabla Enlace Persona Telefono: pers_id (ca); ttel_id; caract; ntel
Tabla Tipo de documento: tdoc_id (pk); desc_tdoc

Y ahora no se cómo normalizar Lugar de nacimiento, para que no me duplique las ciudades, me deje cargar solo una por pers, y a su vez me lo relacione con los otros datos de la persona.

Probé de estas formas, pero me duplica el dato o no me lo relaciona (aun forzando las relaciones)

1) Tabla Lugar de nacimiento: lnac_id (pk); desc_lnac (txt); pers_id (ca)
2) Agregando en la Tabla Personas: lnac_id (ca) y armando la Tabla Lugar de Nac. con: lnac_id (pk); desc_lnac (txt)

Ninguna me dio resultado.

Si me pueden dar una mano y alguno consejos para no marearme tanto se los agradeceria MUCHISIMO!!!!

Saludos!
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

RE:Normalizar tabla

Publicado por Antonio (83 intervenciones) el 02/08/2009 19:33:26
Hola

Lo que indicas en soluciones 1) y 2) es lo que necesitas pero con un pequeño cambio

La nueva tabla Lugar_de_Nacimiento tiene solo dos campos
lnac_id (pk); desc_lnac (txt)
si aquí se producen repeticiones en las descripciones tienes que eliminarlas y obviamente lnac_id (la primary key) no puede permitir duplicados.

Después en la tabla Personas tienes que agregar el campo lnac_id (foreign key) que habrá de tener en cada caso la clave que le haya correspondido a la descripción que tuviera originalmente.

Y si me permites, un comentario: la teoría indica normalización y cuatro (¿o cinco? ) formas normales. Sin embargo, al final siempre acaba habiendo un paso de "desnormalización" porque con todo normalizado puede hacerse muy tediosa y laboriosa la escritura de código y hasta ineficiente el resultado del motor de b.d.

Saludos
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

RE:Normalizar tabla

Publicado por Diego (2 intervenciones) el 05/08/2009 16:44:02
Muchas gracias Antonio!!

Creí que nadie contestaría a mi duda.

Justamente hoy, miercoles 5, rindo el final de Access y normalización. Luego te cuento como me fue!!

Nuevamente gracias!
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