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

Duda rediseño esquema base de datos

Estas en el tema de Duda rediseño esquema base de datos en el foro de Bases de Datos General en Foros del Web. Hola a todos, Tengo que rediseñar una parte de un esquema de base de datos donde la clave primaria actual no es muy apropiada para ...
  #1 (permalink)  
Antiguo 31/01/2007, 09:53
 
Fecha de Ingreso: agosto-2005
Mensajes: 76
Antigüedad: 18 años, 8 meses
Puntos: 0
Duda rediseño esquema base de datos

Hola a todos,

Tengo que rediseñar una parte de un esquema de base de datos donde la clave primaria actual no es muy apropiada para el uso de la base de datos puesto que depende del criterio del usuario y puede dar problemas.

El esquema es algo complicado e intentaré explicarme. Hay 3 tablas con clave primaria problemática que se relacionan por clave ajena desde otra tabla mayor. Pongamos, tabla 2 y tablas más pequeñas 2a, 2b y 2c con relación 1-n a la tabla 2. Esta tabla mayor 2 se relaciona n-1 con la tabla 1 cuya clave primaria se compone de id+project. Esta id+project serviría como nuevo identificador junto a un campo autonumérico para las tablas 2a,2b y 2c.

Mi duda es mantener las pequeñas tablas (2a,2b y 2c) por separado con una clave
primaria compuesta por un campo autonumérico y el id+project de la tabla 1 (ya que le aportaria un criterio más objetivo en la asignación de la clave y esa información es conocida para cada registro, pero sin establecer una relación explícita) o modificar la tabla 2 poniendo como clave primaria un campo autonumérico y el id+project de la tabla 1, e introducir las pequeñas tablas (2a,2b y 2c) como atributos de la tabla 1.

No consigo entender las diferencias y consecuencias de ambas modificaciones pero creo que sería más correcto un esquema con la segunda modificación, ya que de alguna forma, en la primera modificación, al establecer una clave primaria formada en parte por la
clave primaria de otra tabla ya existente se indica una relación implícita aunque no explícita en el esquema. Esto es así o da lo mismo?

Muchas gracias.
  #2 (permalink)  
Antiguo 01/02/2007, 09:46
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Duda rediseño esquema base de datos

Las relaciones de cardinalidad no las logro antender
Tabla 2 ------------------- tabla2a b c
(1)--------------------------(n)

esto es asi?

Si queres dame nombre de tablas reales, porque asi no entiendo mucho. Queres bajar la clave de tabla1 a las tablas pequeñas (tabla2abc)?
  #3 (permalink)  
Antiguo 01/02/2007, 09:57
 
Fecha de Ingreso: agosto-2005
Mensajes: 76
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Duda rediseño esquema base de datos

Las relaciones son

Tabla 2 ------------------- tabla2a b c
(n)--------------------------(1)

Si, mi duda es si al añadir la clave primaria de la tabla 1 a la de las tablas 2a,b,c (que tendrían ya un autonumérico como clave) puede dar algún tipo de problema por la relación no explícita entre las tablas 1 y 2a,b,c.

La segunda opción es fundir las tablas 2a,b,c como atributos en la tabla 2 lo que perdería atomicidad y no se hasta que punto merece la pena.

Muchas gracias por la ayuda.
  #4 (permalink)  
Antiguo 01/02/2007, 10:04
 
Fecha de Ingreso: agosto-2005
Mensajes: 76
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Duda rediseño esquema base de datos

Por si puede aclarar algo el esquema que tengo,

Tabla 1 ------------------------Tabla 2 ------------------- tabla2a b c
(1)---------------------------------(n)...(n)--------------------------(1)
  #5 (permalink)  
Antiguo 01/02/2007, 12:21
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Duda rediseño esquema base de datos

NO podes bajar la clave primaria de la tabla1 a tabla2abc ya que la relacion de cardinalidad es de 1 a n. O sea tabla1 tiene el id de tabla dos y tabla2abc tienen el id de tabla2.
Si tabla2abc son hijas de tabla2 debes fijarte la cardinalidad nque hay entre padre e hijo, que en este momento no recuerdo.
Si no queda laro volve a postear.

saludos
  #6 (permalink)  
Antiguo 01/02/2007, 12:31
 
Fecha de Ingreso: agosto-2005
Mensajes: 76
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Duda rediseño esquema base de datos

No se si me explique bien.

La tabla 1 tiene como clave primaria la compuesta por id+project, y se relaciona con la tabla dos de forma que la tabla dos tiene la clave primaria de la tabla 1 como clave ajena. Es decir, de un registro de la tabla 1 pueden haber varios de la tabla 2.

La tabla 2 tiene como claves ajenas las de las tablas 2a,2b y 2c, de forma que un registro de cada tabla 2a,2b y 2c tiene varios en la tabla 2. Pero estas no me sirven puesto que dan problemas. Entonces, una opción es modificar la clave primaria de las tablas 2a, 2b y 2c componiendola de un campo autonumérico y id+project, que justamente es lo que identifica a la tabla1.

Mi duda sigue siendo si añado esos campos, que existen previamente en otra tabla (tabla 1) como claves, se entiende que hay una relación implícita y si no se define en la base de datos puede dar algún problema.

Muchas gracias.
  #7 (permalink)  
Antiguo 01/02/2007, 13:57
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Duda rediseño esquema base de datos

Si te da problemas añadilos, de lo contrario tendras que ver nuevamente el diseño de la base
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 14:25.