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

Ayupa para normalizar una tabla, por favor

Estas en el tema de Ayupa para normalizar una tabla, por favor en el foro de SQL Server en Foros del Web. Hola: Espero alguien pueda ayudarme con el siguiente problema, ya que apenas voy empezando en las BD's, la cuestion es la siguiente: Tenia una tabla ...
  #1 (permalink)  
Antiguo 03/12/2009, 21:37
 
Fecha de Ingreso: diciembre-2009
Mensajes: 2
Antigüedad: 14 años, 11 meses
Puntos: 0
Ayupa para normalizar una tabla, por favor

Hola:

Espero alguien pueda ayudarme con el siguiente problema, ya que apenas voy empezando en las BD's, la cuestion es la siguiente:

Tenia una tabla en la cual se registraban los pedidos de refacciones recibidos, al principio era del siguiente modo:

*PedidoPiezas
-NumGuia
-NumItem
-Descripcion
-Cantidad
-FechPedido
-FechRecibido

Pero note que si pedia varias piezas tendria que repetir datos y se que eso no esta correcto dentro de normalizacion e hize lo siguiente:

*PedidoPiezas *DetallesPedido *Piezas
-NumGuia -NumGuia -NumItem
-FechPedido -NumItem -Descripcion
-FechRecibido -Cantidad

Las claves principales serian NumGuia de *PedidoPiezas y NumItem de *Piezas, pero tengo duda en la tabla *DetallesPedido, segun yo NumGuia seria la secundaria ligandola a *PedidoPiezas y NumItem ligandola *Piezas, pero entonces como podria asignarle una clave principal, si se supone que las claves principales no se repiten, estoy haciendo algo mal?

Tomando en cuenta que se puede hacer un pedido de varias piezas, en la tabla *DetallesPedido se repetirian NumGuia pero los otros campos no, si me pueden ayudar lo agradecere muchisimo, gracias.
  #2 (permalink)  
Antiguo 04/12/2009, 05:18
 
Fecha de Ingreso: septiembre-2005
Mensajes: 135
Antigüedad: 19 años, 2 meses
Puntos: 1
Respuesta: Ayupa para normalizar una tabla, por favor

Buenas Pedromichel,

tu lógica para crear las tablas ha sido la correcta y simplemente tienes que poner como clave ppal de Detalles pedido una doble clave ppal, es decir las claves ppales tienen que ser NumGuia y NumItem juntas, de tal modo que lo que haría en este caso es que en un mismo pedido no puede haber varios detalles de una pieza (por eso pusiste el campo Cantidad). Basicamente, como ejemplo de datos sería algo así.

*PedidoPiezas
-Numguia = 1
-FechPedido = fecha
-FechRecibido = fecha

*Piezas
-Numitem = 1
-Descripcion = Martillo

-Numitem = 2
-Descripcion = Alicates

*DetallesPedido
-NumGuia = 1
-NumItem = 1

-Cantidad = 20

-NumGuia = 1
-NumItem = 2

-Cantidad = 10

-NumGuia = 1
-NumItem = 1

-Cantidad = 5

Este ultimo registro te daría error, puesto que la clave ppal (1,1) ya estaría repetida, es decir, la clave ppal de la tabla detalle es la union de las claves ppales de las otras dos tablas.

Espero haberte ayudado.
Salu2.
  #3 (permalink)  
Antiguo 04/12/2009, 11:56
 
Fecha de Ingreso: diciembre-2009
Mensajes: 2
Antigüedad: 14 años, 11 meses
Puntos: 0
De acuerdo Respuesta: Ayupa para normalizar una tabla, por favor

Lebennin:

Muchas gracias por responder, ya que no estaba totalmente seguro, saludos.
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 13:52.