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

Ayuda con estructura de Base de datos

Estas en el tema de Ayuda con estructura de Base de datos en el foro de Bases de Datos General en Foros del Web. Hola, Tengo que hacer una base de datos que almacene 1000 modelos de coches y las piezas que componen cada modelo de coche. Lo voy ...
  #1 (permalink)  
Antiguo 21/05/2007, 15:17
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 2 meses
Puntos: 0
Pregunta Ayuda con estructura de Base de datos

Hola,

Tengo que hacer una base de datos que almacene 1000 modelos de coches y las piezas que componen cada modelo de coche. Lo voy hacer en SQL Sever 2000.

Para ello he pensado en crear la tabla Modelos con estos campos:

MODELOS:
id_modelo
nombre_modelo

Mi problema viene ahora:
Las piezas que componen cada modelo, además del nombre de la pieza, cada modelo de coche debe de tener sus piezas numeradas del 1 al 50. Cada pieza además de este número y de su descripción tiene la referencia de su plano, el peso de la pieza y otras 2 o caracteristicas.


¿Cómo hariais esto?
¡¡No puedo crear una tabla para cada modelo!! ¡¡Seria una locura!!

Gracias
  #2 (permalink)  
Antiguo 22/05/2007, 02:30
Avatar de Zoe79  
Fecha de Ingreso: diciembre-2001
Mensajes: 187
Antigüedad: 23 años
Puntos: 1
Re: Ayuda con estructura de Base de datos

Tres tablas, con una relación de N a M entre Modelos y Piezas teniendo como en la tabla de relación en número de pieza.

Modelos
id_modelo PK
nombre_modelo

Piezas
id_pieza PK
nombre_pieza
ref_plano
peso
car1
car2

Modelos_Piezas
id_modelo PK
id_pieza PK
num_modelo_pieza PK

saludos.
__________________
Diseño integral / Desarrollo
Grupo Ikon
Imagen - Fotografía
Borja Lázaro Herrero
  #3 (permalink)  
Antiguo 22/05/2007, 06:36
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 2 meses
Puntos: 0
Re: Ayuda con estructura de Base de datos

¿Entonces para mostrar datos lo haria usando la tabla 3, ¿no?
  #4 (permalink)  
Antiguo 23/05/2007, 00:35
 
Fecha de Ingreso: diciembre-2005
Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 19 años
Puntos: 2
Re: Ayuda con estructura de Base de datos

La tabla 3 es para enlazar los datos de modelos y coches en tus queries.

Ejemplo: piezas para un determinado modelo de coche con id 5:

select modelo.nombre_modelo, piezas.nombre_pieza, piezas.ref_plano, piezas.peso, piezas.car1, piezas.car2 from piezas,modelos,modelos_piezas where modelos.id_modelo=5 and modelos.id_modelo=modelos_piezas.id_modelo and modelos_piezas.id_pieza = piezas.id_pieza

Saludos
  #5 (permalink)  
Antiguo 23/05/2007, 03:45
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 2 meses
Puntos: 0
Re: Ayuda con estructura de Base de datos

Y pregunto, ¿no me podría ahorrar la tabla3 poniendo en la tabla Piezas el campo num_pieza que me almacenaria el numero de esa pieza y añadiendo el campo id_modelo para relacionarlo por modelo?

Modelos
id_modelo PK
nombre_modelo

Piezas
id_pieza PK
id_modelo PK
num_pieza
nombre_pieza
ref_plano
peso
car1
car2

Gracias
  #6 (permalink)  
Antiguo 24/05/2007, 01:38
Avatar de Zoe79  
Fecha de Ingreso: diciembre-2001
Mensajes: 187
Antigüedad: 23 años
Puntos: 1
Re: Ayuda con estructura de Base de datos

Si quieres tener la base de datos en tercera forma normal... es decir, como debe estar construída una base de datos, pues la deberías tener de la forma que te puse.

Ahora bien, por hacerlo, claro que puedes hacerlo, pero en caso de piezas iguales aún para diferentes modelos de coches, tendrías repetición de piezas en la tabla, con lo que estamos ante una base de datos que no cumple los estándares de base de datos básicos.
Pero siéntete libre de hacerla de la manera que has puesto si te va a resultar más sencillo.
Yo personalmente abogo por creas las cosas bajo unos estándares, que por algo están.

Saludos.
__________________
Diseño integral / Desarrollo
Grupo Ikon
Imagen - Fotografía
Borja Lázaro Herrero
  #7 (permalink)  
Antiguo 25/05/2007, 01:29
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 2 meses
Puntos: 0
Re: Ayuda con estructura de Base de datos

Y si quiero que cada pieza tenga un proveedor, me creo la tabla proveedores:

Proveedores

id_proveedor PK
nombre_proveedor

Y en esta otra tabla debo meter el id_proveedor ¿no?

Modelos_Piezas

id_modelo PK
id_pieza PK
id_proveedor
num_modelo_pieza PK
  #8 (permalink)  
Antiguo 25/05/2007, 17:42
 
Fecha de Ingreso: diciembre-2005
Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 19 años
Puntos: 2
Re: Ayuda con estructura de Base de datos

Yo lo haría con 4 tablas:

- modelos
- piezas
- proveedores
- modelos_piezas

ya que al haber relación M:N entre modelos-piezas, es más fácil usar esta tabla auxiliar.

la relación proveedores-modelos es 1:N, por lo que es acertado meter una FK en la tabla modelos con el Id del proveedor

Saludos
  #9 (permalink)  
Antiguo 26/05/2007, 03:09
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 23 años, 2 meses
Puntos: 0
Re: Ayuda con estructura de Base de datos

En la tabla modelos-piezas no me deja meter una FK ya que tengo ya un campo clave en esa tabla.

¿como puedo hacerlo entonces?
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 01:05.