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

Prueba de Conocimientos en Diseño de BD

Estas en el tema de Prueba de Conocimientos en Diseño de BD en el foro de Bases de Datos General en Foros del Web. Estoy diseñando una base de datos que almacene los dispositivos de una computadora: disco duro, memoria, procesador, etc...con las características correspondientes a cada dispositivo, x ...
  #1 (permalink)  
Antiguo 09/09/2006, 23:26
 
Fecha de Ingreso: diciembre-2004
Mensajes: 7
Antigüedad: 19 años, 5 meses
Puntos: 0
Pregunta Prueba de Conocimientos en Diseño de BD

Estoy diseñando una base de datos que almacene los dispositivos de una computadora: disco duro, memoria, procesador, etc...con las características correspondientes a cada dispositivo, x ejemplo:

Disco Duro, Samsung, 120 Gb, 7200 RPM, SATA
Disco Duro, Maxtor, 250 Gb, 5600 RPM, IDE
Disquettera, Nec, 1,44
CD-RW, Samsung, 8-4-32X
CD-ROM, Samsung, 53X

yo lo estoy haciendo con una tabla para cada dispositivo, osea tengo una tabla Discos Duros, una tabla Memorias, una tabla CD-RW'S, CD-ROM'S, esto debido a que las características de los discos duros, no son las iguales que las de la disquettera, ni que las de la unidad de CD...pero esta BD me esta dando muchos problemas, uno de esos es que si nace un nuevo dispositivo, tengo que crear una tabla nueva, como pueden ver el objetivo al que quiero llegar es poder agregar nuevos dispositivos a la BD sin tener, que ir a SQL y crear una nueva tabla, con nuevos campos, etc...sino hacerlo agregando un nuevo dispositivo a una tabla y luego las características q va a tener, para después de creado el dispositivo, se puedan agregar productos de ese tipo...estoy atascado y un poco de ayuda me vendría super bien, quisiera que me propongan ideas para darle solución a este problema...gracias
  #2 (permalink)  
Antiguo 11/09/2006, 14:33
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años, 1 mes
Puntos: 7
bueno, eso de poner en cada tabla un tipo de articulo no lo encuentro lo mas optimo, no has tratado de estandarizar las caracteristicas, pero ya que para las busquedas seria un rompe cabeza llamar a cada tabla solo por buscar una palabra, claro como tu dices, si debes agregar un nuevo dispositivos el sistema deberia hacer un create table, y tienes que crear un interface que haga personalmente cada columna y que pasa que si hace un campo de string de largo 4000, va hacer un gasto enorme de memoria.

bueno, tu idea no es tan loca, ya que si puedes validar restringir bien los datos al crear un nuevo producto, estara bien.

si creas una sola tabla con producto tambien tendras problemas que tendras que resolver.

podrias enviar que tipo de base de datos ocupas
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #3 (permalink)  
Antiguo 11/09/2006, 14:49
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
creo que es mala idea eso de crear una tabla para cada tipo de producto...

seria mejor una tabla de productos y otra que relacione el producto con caracteristicas, de modo que puedas confirgurar cada uno...
  #4 (permalink)  
Antiguo 11/09/2006, 14:58
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años, 1 mes
Puntos: 7
bueno si hace la opcion que dices tu el tendra que crear familias y sub familias de productos que tambien le puede ocurrir lo que le pasa con la creacion de tablas, no creo que lo de la creacion de tablas sea tan malo, pero pude ser algo un poco enredado xD
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #5 (permalink)  
Antiguo 11/09/2006, 15:08
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
seria solo manejo de catalogos...
pero si se le hace mas facil crear tablas...aunque de cualquier forma tendria que clasificarlas para persentarlas al usuario...
en mi caso eligiría la administracion de catalogos... y te quitas las broncas de seguridad...


un saludo!!

Última edición por Andres95; 11/09/2006 a las 15:49
  #6 (permalink)  
Antiguo 11/09/2006, 21:00
Avatar de bitbow  
Fecha de Ingreso: julio-2006
Ubicación: Distrito Federal
Mensajes: 635
Antigüedad: 17 años, 10 meses
Puntos: 34
Sonrisa Saludos.

Puedes usar la primera opcion pero standarizando por ejemplo hay algunos componentes de la pc que tienen caracteristicas similares de esta forma no seran tantas tablas ni formularios.
__________________
El ego es el mayor enemigo de un hombre inteligente.
  #7 (permalink)  
Antiguo 11/09/2006, 23:23
 
Fecha de Ingreso: diciembre-2004
Mensajes: 7
Antigüedad: 19 años, 5 meses
Puntos: 0
Saludos gracias por responder
  #8 (permalink)  
Antiguo 11/09/2006, 23:29
 
Fecha de Ingreso: diciembre-2004
Mensajes: 7
Antigüedad: 19 años, 5 meses
Puntos: 0
hola, ya estoy aqui, veran lo de las tablas para cada dispositivos para mi es una idea muy mala (la use por apuro, pero estoy arrepentido), por que se tienen muchos problemas con la estructura de tu BD y de tu programa, tienes que crear una tabla por cada dispositivo nuevo, para hacer un inventario, tienes que hacer tantos selects como dispositivos haya por que son varias tablas, y si creas un dispoditivos nuevo (osea una tablal nueva) imaginence tengo que crear otro código que me haga la consulta en la nueva tabla y poder anexar ese dispositivo al inventario, esto definitivamente para mi no es óptimo, quisiera que me aclaren el asunto del estandarizado y de los catalogos, y si es con ejemplos mejor...para entender mejor sus ideas, y les reitero muchas gracias por sus buenas ideas...
  #9 (permalink)  
Antiguo 11/09/2006, 23:34
 
Fecha de Ingreso: diciembre-2004
Mensajes: 7
Antigüedad: 19 años, 5 meses
Puntos: 0
acabo de tener una reunión con unos amigos y me proponen una solución que por el tiempo no desarrollamos bien pero que me puso a pensar más, aqui se las explico (lo que entendí) para que la analicen...

Usar la solucion del "plan de cuentas" en una sola tabla crear la jerarquía de los dispositivos así

1, discos
1.1,discos rigidos
1.1.1,discos duros
1.2,discos compactos
1.2.1,discos compactos R
1.2.2,discos compactos RW
2,Memorias
2.1,Sim
2.2,Dim
etc....

osea la tabla posee dos campos, el Id y la descripción...
que les parece esto?

voy a seguirlo estudiando y extendiedo a ver que sucede, mientras tanto analicen y sigan exponiendo más ideas que me ayudan mucho...

P.D.: la BD que uso para las prácticas es SQL pero la lógica debe responder para cualquier BD, supongo.
  #10 (permalink)  
Antiguo 12/09/2006, 21:48
 
Fecha de Ingreso: diciembre-2004
Mensajes: 7
Antigüedad: 19 años, 5 meses
Puntos: 0
Vamos muchachos, no me dejen solo en la resolución de este problema...sigan enviando ideas que las acepto todas...
  #11 (permalink)  
Antiguo 13/09/2006, 07:37
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
animo, animo!!


pues yo creo que deberias considerar los conceptos de clase y tipo
con catalogos para ambos...
por ejemplo
Clase : disco
Tipo : disco rigido


y el catalogo de articulos tendria dos campos que indiquen de que clase y que tipo es...

una cuarta tabla seria la de caracteristicas adicionales....
donde estaria el id del producto, y la descripcion de la caracteristica adicional..

como ves??

aunque faltaria ver si hay que hacer relaciones con ventas, garantias, embarques, pedidos, creditos y demas...
  #12 (permalink)  
Antiguo 13/09/2006, 11:44
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años, 1 mes
Puntos: 7
claro en el sentido del orden es bueno, pero pro recuerso de base de datos tener para cada articulo una tabla seria mucho gasto de meoria y esfuerzo, si el quiere optimizar eso, tendria que estar muy dentro del dbms y configurarlo para optimizar eso.

bueno si tu entras a todas las paginas que venden hardware online como en chile
www.pcfactory.cl
www.bymcomputer.cl
www.pcpartes.cl

ellos meten todas la carasteristicas en un solo textarea, y eso te concluye que las carasteristicas estan en una sola columna. eso es la pega facil y rapida, como dijeron en otro post, seria bueno que vieras las caracteristicas de cada hardware, ya que deberian alguna repetirse.

otra buena cosa seria dejar como por ejemplo 10 columna y escribir las caracteristicas alli, y en otra tabla por cada clase de producto poner a que hace refencia cada columna xD
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #13 (permalink)  
Antiguo 14/09/2006, 13:31
 
Fecha de Ingreso: diciembre-2004
Mensajes: 7
Antigüedad: 19 años, 5 meses
Puntos: 0
hola, y muchas gracias por sus sugerencias, por ahora estoy probando cada una de las ideas que me dan para ver si desato este nudo de una vez, me llamó la atención la idea de tener 2 tablas 1 de características para todos los dispositivos, y otra que relacione cada característica con el dispositivo que la posee...sigo en el problema y tan pronto le encuentre una solución la publico, gracias por seguirme apoyando...
  #14 (permalink)  
Antiguo 14/09/2006, 13:44
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años, 1 mes
Puntos: 7
bueno ocupar la idea que ocupan todos es lo mas normal y probado, pero tener una odea inovadora requiere tiempo y varias hojas o una pizarra.

yo creo que lo deberias hacer es diagramar tu problema y recoguiendo datos y si puedes tomar requerimientos, podras asi generar la solucion que mas se ajuste a tus necesidades, ya que la forma que lo hacen todos no es necesariamente la que te sirve a ti. algunos hacen esto por que es lo mas facil pero no es lo mejor xD
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #15 (permalink)  
Antiguo 17/09/2006, 22:19
 
Fecha de Ingreso: diciembre-2004
Mensajes: 7
Antigüedad: 19 años, 5 meses
Puntos: 0
De acuerdo BD Orientadas a Objetos

Hola, analice las ideas que me brindaron y junto con las que ya tenía y unos cuantos documentos que leí, llegue a una conclusión "usar bases de datos Orientadas a Objetos", he leido la teoría y estoy casi seguro de que esto solucionaría mi problema ya que en este tipo de bases de datos al igual que con el código, se pueden crear superclases y subclases que se deriven de esas superclases, ahora estoy averiguando que motor de base de datos soporta este tipo de esquema...si me pueden dar ideas de alguna BD libre como mysql o alguna otra Sql, Oracle,...se los agradecería...

Que les parece mi idea, espero sus comentarios y criticas a este modelo...

bye...
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 21:02.