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

Diseño de base de datos

Estas en el tema de Diseño de base de datos en el foro de Bases de Datos General en Foros del Web. básicamente mi ejercicio se basa en ke tengo ke tener 4 tablas -cliente(id,nombre,apellido,direccion,telocel,local idad) -venta(id,fecha,monto) -ruta(id,zona,dia) -vendedor(id,nombre,apellido,telocel,turno,sexo) lo que necesito hacer es saber si estas ...
  #1 (permalink)  
Antiguo 06/04/2015, 16:27
 
Fecha de Ingreso: abril-2015
Ubicación: Tepic, Nayarit MExico
Mensajes: 2
Antigüedad: 8 años, 11 meses
Puntos: 0
Diseño de base de datos

básicamente mi ejercicio se basa en ke tengo ke tener 4 tablas

-cliente(id,nombre,apellido,direccion,telocel,local idad)
-venta(id,fecha,monto)
-ruta(id,zona,dia)
-vendedor(id,nombre,apellido,telocel,turno,sexo)

lo que necesito hacer es saber si estas tablas pueden tener claves foraneas y si es así en donde irían, disculpen mi completa ignorancia pero soy muuuuy principiante en esto, de antemano muchas gracias
  #2 (permalink)  
Antiguo 06/04/2015, 16:29
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 7 meses
Puntos: 774
Respuesta: Diseño de base de datos

y cual es la idea que tienes?? cual es el avance?? por muuuuuy principiante que seas pon algo de tu parte no? Ademas estas mal planteado tu problema, si vas a tener llaves foraneas cual es la relacion entre las tablas??? un vendedor tiene rutas? tiene clientes? tiene ventas? cada venta tiene un cliente??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 06/04/2015, 16:44
 
Fecha de Ingreso: abril-2015
Ubicación: Tepic, Nayarit MExico
Mensajes: 2
Antigüedad: 8 años, 11 meses
Puntos: 0
Respuesta: Diseño de base de datos

ahorita te muestro mi avance
  #4 (permalink)  
Antiguo 08/04/2015, 00:53
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años
Puntos: 31
Respuesta: Diseño de base de datos

Una clave foránea es un dato que está repetido en 2 tablas, que en una es clave principal y en la otra es foránea.

Ejemplo claro para clave foránea:
Una tabla productos con los campos que definen las características de los productos y con un Id_Producto como clave principal.
La tabla ventas ha de comunicarse con la de productos, pues la venta es sobre un producto, y por eso en la tabla ventas se incluye el producto. De qué manera? Metiendo un campo id_producto (no tiene por qué llamarse igual pero si tener el mismo tipo de dato) que será clave foránea y así se podrá construir una relación entre estas 2 tablas desde estos campos.

Es una explicación un poco pobre pero seguro que te da una idea de lo que significa una clave foránea. Aplicado a tus tablas... tú mismo has de averiguar de qué modo se comunican tus cientes, tus ventas, etc. Por ejemplo a mi se me ocurre que tu venta ha tenido que ser realizada a un cliente. Por lo tanto en tu tabla venta habrá un campo más de los que has puesto que sea id_cliente como clave foránea que se cumunicará con el id de tu tabla cliente que será su principal de esa tabla.

Aunque también podría ser al contrario. El cliente ha realizado una compra, por lo que en los datos del cliente tendrá que haber un campo extra que será id_compra con clave foránea de tu campo id de ventas.

Como ves... tú mismo estableces qué tipo de relación quieres. A realiza acción sobre B o B realiza acción sobre A? Y dependiendo de esto... pues el campo extra que será clave foránea para la comunicación con la otra tabla irá en una o en otra.

Etiquetas: mysql
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 06:31.