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

Problema al estructurar una BD

Estas en el tema de Problema al estructurar una BD en el foro de Mysql en Foros del Web. - Muy Buenas a todos hoy vengo con una duda, ya que tengo problemas para estructurar una BD la verdad quisiera saber cual es la ...
  #1 (permalink)  
Antiguo 10/02/2015, 07:10
 
Fecha de Ingreso: marzo-2013
Mensajes: 32
Antigüedad: 11 años, 8 meses
Puntos: 0
Problema al estructurar una BD

- Muy Buenas a todos hoy vengo con una duda, ya que tengo problemas para estructurar una BD la verdad quisiera saber cual es la forma mas eficiente de tener la siguiente BD, debo hacer para mi clase de informatica un pequeño sistema el cual almacene en una BD datos de los siguientes equipos: Desktop, laptop, monitores, teclados, raton, impresoras y switch.

- Quiero almacenar los siguientes datos: Marca, Modelo, Serial, Novedad, Procesador, Ram, Hdd, So, Pulgadas, Puerto(Si uds creen que es necesario otro por favor indiquenmelo). Lo que realmente me confunde es lo siguiente. Si creo la siguiente Tabla:

Existencia (Que Contiene Los Siguientes Campos)
-Marca -Modelo -Serial -Novedad -Procesador -Ram -Hdd -So -Pulgadas -Puerto


- Al momento de anexar un Ordenador Desktop el campo pulgadas estaria vacio porque ese campo para los desktop no me interasa saberlo y capas el de puerto tampoco me intera, a la hora de anexar supongamos un raton me quedaria vacio: Procesador, Ram, Hdd, So, Pulgadas. Entonces pense crear otra tabla llamaca Capacidad quedando la BD asi.

Existencia (Que Contiene Los Siguientes Campos)
-Marca -Modelo -*Serial -Novedad -Pulgadas -Puerto


Capacidad(Que Contiene Los Siguientes Campos)
-*Serial -Procesador -Ram -Hdd -So


- Pero puerto y pulgadas me quedarian vacio al insertar una impresora por ejemplo. Entonces saco una tercera tabla?? Es correcto hacerlo de esa manera?

Existencia (Que Contiene Los Siguientes Campos)
-Marca -Modelo -*Serial -Novedad


Capacidad(Que Contiene Los Siguientes Campos)
-*Serial -Procesador -Ram -Hdd -So


Tconexion(Que Contiene Los Siguientes Campos)
-*Serial -Pulgadas -Puerto


- Aunque asi pulgadas me quedaria vacio al insertar un Switch. O lo idial seria crear una tabla por cada equipo? osea una tabla unicamente para Desktop, otra laptop, otra monitores, otra teclados, otra raton, otra impresoras y otra switch?

- Saldos...
  #2 (permalink)  
Antiguo 10/02/2015, 07:22
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problema al estructurar una BD

Partamos de un detalle fundamental: Si cualquier campo queda vacío, porque se trata de un dato que no pertenece a un determinado elemento a registrar, entonces la tabla está mal diseñada.
Así de sencillo...

Estás partiendo de un sistema mal analizado, donde no has definido las entidades que lo componen, y no has identificado los atributos que le son propios a cada una de ellas, por lo que aún no estás en condiciones de definir el esquema físico.
Si no identificas las entidades no podrás determinar los atributos que son comunes y por tanto no podrás tampoco definir las jerarquias, herencias ni especializaciones, que es lo que se necesita para estructurar la base que tienes.
En un ejemplo, monitores, notebooks, desktops, etc, no pueden registrarse en la misma tabla, porque poseen atributos mandatorios no comunes.
Todos componen cierto ti pode hardware, y tienen atributos del mismo tipo como marca, modelo y serial, pero la existencia de los restantes, obligatorios para cada uno de ellos pero no para los demás, muestra que no pertenecen a la misma entidad, sino que pertenecen a una rama distinta.

Vuelve a empezar, pero empieza por las entidades, y olvídate de las tablas hasta que termines. Te confundirás creyendo que tablas y entidades son lo mismo y no es cierto.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: bd, campo, estructurar, tabla
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 23:12.