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

[SOLUCIONADO] Duda con segregar tablas

Estas en el tema de Duda con segregar tablas en el foro de Mysql en Foros del Web. Buenas! Tengo una pequeña duda con una serie de tablas jerarquizadas, a ver si me podéis ayudar... Tengo esta estructura: Código: TABLA1 -> TABLA1.1 (entidad ...
  #1 (permalink)  
Antiguo 21/01/2013, 07:38
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 1 mes
Puntos: 33
Duda con segregar tablas

Buenas!

Tengo una pequeña duda con una serie de tablas jerarquizadas, a ver si me podéis ayudar...

Tengo esta estructura:

Código:
TABLA1 -> TABLA1.1 (entidad débil) -> [TABLA1.1.1, TABLA 1.1.2, TABLA 1.1.3]
Es decir, Tabla1 tiene una relación con Tabla1.1, y a su vez Tabla1.1 se puede dividir en tres tablas más.

Mi duda está en que las tres tablas (1.1.1, 1.1.2, 1.1.2) las podría agrupar de manera muy compacta, ya que son todo valores binarios (es decir, parten de datos de un formulario, y son todo o radioButtons, checkbox y select)

Es decir, yo pordía tener en Tabla1.1.1:

Código:
ID | CAMPO1 | CAMPO2 | CAMPO3
12   1              0                1
En tabla1.1.2

Código:
ID | CAMPO1 | CAMPO2 | CAMPO3
12   1              1                1
Y en tabla1.1.3

Código:
ID | CAMPO1 | CAMPO2 | CAMPO3
12   0              0                1
O bien, podría hacer:

Código:
TABLA 1.1

ID | DATOS
12   5;7;1
Siendo 5;7;1 lo siguiente:

Código:
Tomamos los datos para cada ID de tabla111, y los juntamos (101). Los pasamos a decimal (5)
Y así con las tres tablas, separadas por ";".
Entonces, el primer modelo me da mucha flexibilidad, ya que tengo los datos bien definidos; por otra parte, la segunda manera me permite tener muy comprimidos los datos... pero las modificaciones pueden ser más costosas...

Según recuerdo de la teoría de la normalización, debería usar el primer modelo... pero el segundo lo veo como más compacto...

¿Cuál creéis que sería más apropiado? Gracias
  #2 (permalink)  
Antiguo 21/01/2013, 08:10
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Duda con segregar tablas

En el segundo tendrias lo que se llama un campo multivaluado que esta expresamente prohibido en el modelo relacional.

Cita:
...pero las modificaciones pueden ser más costosas...
yo diria muy costosas.... y no solo las modificaciones si no cualquier query...


El primer modelo no se puede evaluar si esta bien diseñado ya que no nos das informacion del significado de las tablas....

El uso del concepto "entidad débil" me hace pensar que quizas estas confundiendo el modelo teorico con el físico... pero por tabla1 y tabla1.1 no se decirte mas.... (recuerda que las entidades del modelo teorico no tienen forzosamente que aparecer como tablas físicas y a la inversa puede que necesites mas de una tabla fisica para almacenar una entidad teorica de forma optima)
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 21/01/2013 a las 08:18
  #3 (permalink)  
Antiguo 21/01/2013, 08:21
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 1 mes
Puntos: 33
Respuesta: Duda con segregar tablas

Gracias por la respuesta.

Las tablas1 y 1.1 guardan una relación tipo "maestro-detalle", es decir, un registro de la tabla 1.1 no tiene sentido si no está relacionado con un dato existente de tabla1 (como una factura y una línea de factura).

El "inconveniente" es que tabla1.1 a su vez tiene una relación similar con tabla1.1.1 y demás.

Para ilustrar un poco... veamos:

Tabla1 podría ser "autor", tabla1.1 podría ser "obra". De esta manera, no puede haber una "obra" que no tenga autor registrado (en mi modelo no se da nunca el caso de una "obra" sin "autor).

A su vez, una obra tiene un set de datos, como por ejemplo "espaciales" (tabla111),
"materiales" (tabla112)...

Deberíamos suponer en este caso que esos datos serían binarios...

Espero te ayude un poco más la explicación.

Por otra parte, creo que definitivamente usaré el primer modo...

Gracias!
  #4 (permalink)  
Antiguo 21/01/2013, 08:26
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Duda con segregar tablas

Cita:
Espero te ayude un poco más la explicación.
Es a ti a qyuien hay que ayudar.... y obvimente eres tu quien sabe lo que quiere hacer....

Si son caracteristicas de la obra no veo muy clara la relación padre detalle.... pero tu sabras.

En el momento que necesites fichar una obra anonima lo haras creando un autor "Anonimo" eso no cambia el modelo....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 21/01/2013, 08:39
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 1 mes
Puntos: 33
Respuesta: Duda con segregar tablas

Como te comentaba es un ejemplo... no es exactamente así... jeje

De todas maneras tienes razón con lo de los atributos compuestos (no lo había visto como tal).

Creo que ya lo tengo más claro, gracias.

Etiquetas: select, tabla, tablas
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 06:09.