Bases de Datos - modelo de bd

 
Vista:

modelo de bd

Publicado por victor (5 intervenciones) el 29/05/2006 15:41:25
Hola amigos, les cuento q tengo q hacer un modelo de bd en donde hay clientes y empleados. Los clientes pueden hacer consultas a un empleado en particular y este empleado responderlas.
Segun esto, yo hice el modelo de la siguiente manera, una tabla cliente, empleado, consulta y respuesta. en donde la tabla consulta tiene elid de consulta, id del cliente y del empleado mas la consulta, mientras que la tabla respuesta, tiene el id de la respuesta, el id de la consulta y del empleado.
Entonces mi pregunta es si se puede hacer ese tipo de relacion circular o sea una tabla apunta a una, la otra a otra y la ultima a la primera.
De ser un modelo incorrecto, podrian darme al ejemplo de como hacerlo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:modelo de bd

Publicado por Juan (11 intervenciones) el 29/05/2006 16:50:33
Me suena redundante, date cuenta que la consulta tiene el Id del empleado y la respuesta tiene el id de la consulta y el Id del empleado otra vez. Me sonaria logico si el empleado que da la respuesta es diferente a quien reciba la solicitud. A mi me sonaria mas logico tener todo en la misma tabla, y añadirle una regla de integridad al momento de construir, y que fuese de setear el campo Respuesta con el valor "Sin Respuesta" al momento de crear un nuevo registro.

Ese tipo de vuelta circular lo que indica es eso, que todo puede estar en la misma tabla...... Porque una depende de la otra. Claro en mi opinion a nivel de implementacion no seria incorrecto. Sino aumentas la redundancia y puedes resolver tu problema asi..... Es valida entonces
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:modelo de bd

Publicado por Ernesto Hernandez (8 intervenciones) el 30/05/2006 21:29:02
Claro que si es correcto a mi forma de ver por que atiborrar una sola tabla si podemos partirlaen varias y aprovechar la rapidez del motor de BD que estes utilizando y crear cuantas relaciones sea posible

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:modelo de bd

Publicado por Juan (11 intervenciones) el 31/05/2006 18:12:49
Ojo lo digo solo por el segundo principio de normalizacion

Segunda Forma Normal

La regla de la Segunda Forma Normal establece que todas las dependencias parciales se deben eliminar y separar dentro de sus propias tablas. Una depen dencia parcial es un término que describe a aquellos datos que no dependen de la clave de la tabla para identificarlos. En la base de datos de muestra, la información de pedidos está en cada uno de los registros. Sería mucho más simple utilizar únicamente el número del pedido. El resto de la información podría residir en su propia tabla. Una vez que haya organizado la información de pedidos

Igual aqui esta todo el enlace
http://www.trucostecnicos.com/trucos/ver.php?id_art=278

incluso creo que adaptandonos a la idea del negocio, si vamos a ver cuales facturas o productos ya fueron procesados es bueno saber la fecha de la compra, y eso implicaria una doble consulta. Por eso aclare el ultimo detalle, si se puede resolver el problema asi...... No hay rollo

Siempre depende del contexto, de la organizacion o cliente y de las habilidades y destrezas del programador escoger la solucion mas adecuada a un problema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:modelo de bd

Publicado por randal (3 intervenciones) el 14/06/2006 10:31:35
A mi entender:

Si damos como cierto lo siguiente:
1 cliente hace n consultas al empleado.
1 empleado resuelve n consultas al cliente.
1 mismo cliente puede hacer varias consultas a un mismo empleado.
nos da una n a n, -> 3 tablas.

TblCliente:{IDCliente, NomC ...};
TblEmpleado:{IDEmpleado, NomE ...};
TblConsulta:{IDConsulta, idCliente, idEmpleado, Pregunta, Respuesta, ...};

El articulo que comenta Juan me parece un toston interesante.

nos hablamos,
randal.
*************************
**************************************************
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar