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

normalizacion y diseño

Estas en el tema de normalizacion y diseño en el foro de Bases de Datos General en Foros del Web. Este es un caso ejemplo para que mas o menos entiendan el problema -tengo clientes -cada cliente puede ser de una provincia y una ciudad ...
  #1 (permalink)  
Antiguo 26/08/2004, 00:43
 
Fecha de Ingreso: julio-2004
Mensajes: 26
Antigüedad: 19 años, 10 meses
Puntos: 0
normalizacion y diseño

Este es un caso ejemplo para que mas o menos entiendan el problema

-tengo clientes
-cada cliente puede ser de una provincia y una ciudad

Y yo quiero relacionar las ciudades con las provincias para que
no puedan ingresar una ciudad que no es de una provincia

Entonces plantee la situacion de dos maneras:

(primera)-----------------------------------------------

==tabla clientes==
dni - pk
apynom
idprovincia - fk
idciudad - fk

==tabla provincias==
id - pk
provincia

==tabla ciudades==
id - pk
ciudades

==ubicacion==
idciudad - pk
idpais - pk


(segunda)-----------------------------------------------

==tabla clientes==
dni - pk
apynom
idubicacion - fk <-------------------------------

==tabla provincias==
id - pk
provincia

==tabla ciudades==
id - pk
ciudades

==ubicacion==
idciudad - pk
idpais - pk
id

-----------------------------------------------------

Yo no se si es valido que coloque el "id" en la tabla ubicacion,
y q utilice ese "id" en la tabla clientes.

Porque si es de la primera manera estaria repitiendo demasiadas
veces los dos campos, y si es como la segunda se repetirian varias
veces solo un campo.

Para mi la primera es la que deberia ser segun otros diseños que vi,
pero por ahi la segunda tambien es valida.

================================================== =================
Un caso similar se presenta en el diseño para la base de datos de
un sistema que estoy desarrollando.
Donde un registro de entrada puede tener varias entradas y tipos:

(primera)---------------------------------------

==registroentrada==
fecha - pk
nrolegajo - pk
hsextras

==horasdeentrada==
fecha - fk - pk
nrolegajo - fk - pk
idtipodeentrada - pk
hora

==tiposdeentradas==
id
tipodeentrada

(segunda)----------------------------------------

==registroentrada==
id
fecha - pk
nrolegajo - pk
hsextras

==horasdeentrada==
idregistroentrada - fk <-------------------
idtipodeentrada - pk
hora

==tiposdeentradas==
id
tipodeentrada

-------------------------------------------------
aca tambien puedo poner un "id" para no tener que
escribir dos campos en la otra tabla
  #2 (permalink)  
Antiguo 26/08/2004, 01:41
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola,
pues yo hariia la siguiente estructura:

-- tabla PAISES --
id - pk
nombrepais

-- tabla PROVINCIAS --
id - pk
nombreprovincia
idpais - fk a PAISES

-- tabla CIUDADES --
id - pk
nombreciudad
idprovincia - fk a PROVINCIAS

-- tabla CLIENTES --
dni - pk
apeynom
idciudad - fk a CIUDADES

De esta forma, a partir de un cliente se puede conocer la ciudad, la provincia y el pais al que pertenece.

Espero que te ayude.

un saludo,
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
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 17:01.