Ver Mensaje Individual
  #12  
Antiguo 19-10-2010
erickperez6 erickperez6 is offline
Miembro
 
Registrado: may 2003
Posts: 152
Reputación: 24
erickperez6 Va por buen camino
Cita:
lbuelvas

Para erickperez6, puedo garantizar que el sistema que mencionas que usa pocas llaves foraneas no es para bases de datos de gran tamaño y si lo fuera el rendimiento no sería el ideal, algunos fabricantes de software exigen al cliente para solventar los problemas de rendimiento el utilizar equipos más rápidos.

Otro asunto es que cuando haces un sistema que lo tienen muchos clientes es más fácil mantener los problemas de diseño que corregir e ir a actualizar aplicativos a esa cantidad de clientes.
Estoy deacuerdo, quizas ellos tendran sus razones para hacer esto

Cita:
Casimiro Notevi

Estamos hablando, supongo, de "casos normales", y lo normal es usar una clave foránea, pongamos un simple ejemplo:
tabla personas (idPersona, nombre, domicilio, pais, sueldo);
tabla paises (idPais, nombre);
Lo normal es que exista una relación entre idPais (tabla paises) y pais (tabla personas).
Nos evitamos asignar una persona a un país inexistente, nos evitamos borrar un país que tiene asignado alguna persona, etc. eso es lo normal, ¿o acaso estamos hablando de otra cosa y no me he enterado?
Exactamente de este tema hablamos

Cita:
Delphius

Pues yo dormiría más cómodo y tranquilo con el primer caso. Hay menos lío y quizá sea un diseño más estable. Cuanto mayor sea la cantidad de claves foráneas, más complicado es el diseño general de la base de datos y existe una creciente peligrosidad de la presencia de ciclos en las relaciones.

Con cada clave foránea que se añade la probabilidad de que exista un ciclo aumenta... y déjame decirte que en términos estadísticos por cada 2 claves foráneas en una tabla pueden llegar a esperarse 1 ciclo. Para tu ejemplo, es posible esperar cerca de 4 potenciales ciclos entre esas dos tablas y otras restantes.
Si, tienes razon en que a mayor llaves foraneas mas complicado es el diseño en general, obviamente. Tambien conozco lo que son los conflictos de dependencia que pueden desencadenar algunas llaves foraneas por causa de un mal diseño, pero no entiendo bien a que te refieres con los ciclos, hablamos de lo mismo?

En fin, en el ejemplillo expuesto sin extrapolarme a situaciones mas complejas, yo me quedaria con el caso2, creo que no seria prudente dejar huerfanos algunas asociaciones que se pudiera realizar por medio de las llaves foraneas, es como dice Casimiro, asi nos evitamos de asociar codigos que no existen o que algun usuario comience a cambiar o eliminar codigos de clientes, productos, sucursales, vendedores que estan representados en estas dos tablas.
Responder Con Cita