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

[SOLUCIONADO] Enfocar tabla

Estas en el tema de Enfocar tabla en el foro de Bases de Datos General en Foros del Web. A ver de qué manera puedo hacer una base de datos que almacene la siguiente información. Tengo diversos objetos que, dependiendo de la conjunción entre ...
  #1 (permalink)  
Antiguo 12/08/2015, 03:14
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 7 meses
Puntos: 31
Enfocar tabla

A ver de qué manera puedo hacer una base de datos que almacene la siguiente información.

Tengo diversos objetos que, dependiendo de la conjunción entre ellos, cada uno funcionará de una manera o de otra.

Ejemplo: Voy a montar un ordenador. Para ello tengo las diversas piezas con cada una sus características. Algunas de esas características son comunes a otras, y algunas no.

- Caja. Características: Marca.
- Fuente Alimentación. Características: Marca y Potencia.
- Placa Base. Características: Marca, Modelo, voltajes y Velocidad BUS.
- Microprocesador. Características: Marca, modelo y Velocidad.
- Memoria. Características: Marca, Velocidad BUS.
- Tarjeta Gráfica. Características: Marca, Modelo, Memoria Gráfica.
- Almacenamiento. Características: Marca, Tipo (SSD - HD), número de dispositivos, Capacidad.
- Lectores DVD/Blue Ray. Características: Marca, modelo.

Por ejemplo, la velocidad del microprocesador dependerá de los voltajes disponibles en la placa, o la velocidad del BUS dependerá de la velocidad de bus de la placa y de la velocidad de la memoria.

Actualmente no es un buen ejemplo porque todo se adapta, pero en los ordenadores antiguos había que configurar en la placa el voltaje para el microprocesador, la velocidad del bus y de la memoria había que configurarlas (aunque de serie venía con la configuración para solo pinchar y listo), etc.

Mi caso particular es otro, pero se asemeja muchísimo a este ejemplo.

Pero para seguir explicando este caso:

Según la marca y modelo de la placa base tendré unos voltajes disponibles u otros, y unas velocidades de BUS disponibles u otras.

Cuando monto un ordenador, dicho ordenador ya está montado (funcione o no). Todas las piezas están encajadas. Y ahora, una vez todas encajadas es cuando empiezo a configurarlo. Cambiar velocidades de BUS para sacar el máximo rendimiento posible, voltajes, etc. También dependiendo del número total de dispositivos (sobre todo de almacenamientos internos y externos) pondré una fuente con más o menos potencia.

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

Una vez almacenada toda esta información, lo que yo realmente quiero sacar de mis consultas es:

- Cogiendo como referencia solo algunas piezas, cuantas veces se repiten en total, y luego particularmente para otra/s extras.

Por ejemplo:
Microprocesador x, memoria x - 200 veces
Y de estas 200 veces, según la tarjeta gráfica:

Microprocesador x con voltaje x, memoria x a velocidad x, tarjeta gráfica w --> 40 veces
Microprocesador x con voltaje x, memoria x a velocidad x, tarjeta gráfica y --> 70 veces
Microprocesador x con voltaje x, memoria x a velocidad x, tarjeta gráfica z --> 90 veces

o por ejemplo:

Microprocesador x con voltaje x*2, memoria x a velocidad x*1.3, tarjeta gráfica y--> 40 veces
Microprocesador x con voltaje x*1.5, memoria x a velocidad x*1.1, tarjeta gráfica y--> 70 veces
Microprocesador x con voltaje x, memoria x a velocidad x, tarjeta gráfica y--> 90 veces.

Ejemplos reales:
- En una placa base con velocidad de BUS de 800 MHz se instala una memoria a 800 MHz y otra, compatible, a 400MHz. Resultado - > La placa base trabajará a 400MHz y las 2 memorias también trabajarán a 400MHz.
- En esa misma placa base con velocidad de BUS de 800MHz se quita la memoria de 400MHz. ->La placa base y la memoria restante trabajarán a 800MHz.
-En esa misma placa base se instala otra memoria que vaya a 800MHz. Todo trabajará a 800MHz.

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

Lo que tengo:

Actualmente lo que tengo es una tabla con los siguientes registros:

Registro 1: Microprocesador X: Voltaje X
Registro 2: Microprocesador X: Voltaje X*1.5
Registro 3: Microprocesador X: Voltaje X*2
Registro 4: Microprocesador Y: Voltaje Y
...
Registro 10: Memoria X: Velocidad BUS X
Registro 11: Memoria X: Velocidad BUS X*1.1
Registro 12: Memoria X: Velocidad BUS X*1.3
Registro 13: Memoria Y: Velocidad BUS Y
...

Es decir, tengo 1 registro para cada pieza y cada posibilidad de uso. La misma pieza con otro voltaje o una característica distinta está puesta en un registro distinto.

Ahora, como digo, lo que quiero almacenar es como se conjuntan y la configuración que adoptan según el resto de piezas. Las veces que lo hacen con cada configuración, etc.

Última edición por Kritik; 12/08/2015 a las 03:26
  #2 (permalink)  
Antiguo 12/08/2015, 13:09
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Enfocar tabla

Primero define realmente que quieres, y de ahi partimos en como obtenerlos, por ejemplo podrias tener una tabla con tooodas las marcas(procesadores, tarjetas etc) una con los voltajes que vas a manejar, otra con las configuraciones de memoria(digamos 2GB,4GB etc) y con esos catalogos armar tus tablas base de cada caracteristica :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 13/08/2015, 12:11
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 7 meses
Puntos: 31
Respuesta: Enfocar tabla

Creo que puedo simplificar la consulta.

Como se haría una tabla en la que se guardan las facturas. Las facturas tienen un campo en el que están los artículos que se compran, y se almacena el artículo en particular y la cantidad.

Sabiendo como se hace esto, lo puedo adaptar a mi casuística particular.
  #4 (permalink)  
Antiguo 13/08/2015, 12:41
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Enfocar tabla

Una factura seria


id_factura id_vendedor id_producto cantidad total

tomando en cuenta que las llaves primarias serian factura_vendedor y producto :)

El costo del producto lo sacarias con el id_producto :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: 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 14:15.