Ver Mensaje Individual
  #7  
Antiguo 10-04-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Cita:
Empezado por ecfisa Ver Mensaje
Hola Delphius.

Tenés razón, está mal armada la oración. Da la impresion que en tu mensaje te referis a recursión, siendo que es una apreciación mía en base a lo mencionado por amerika111:


Mi intención era manifestar que coincidía con vos en que "involución de una base de datos" no se condecía con esa explicación y pero por mi mala redacción armé un berenjentún bárbaro.

Saludos.
No es necesaria la disculpa.

Sería oportuno que amerika111 se explique el porque y donde ha visto y/o escuchado ese término. Y donde está la duda. Si lo que busca es enfocar el concepto de tablas autoreferenciadas, tiene que revisar la documentación del motor que utiliza y comprobar si tiene soporte para eso. Como he dicho antes, no todos los motores lo permiten.

Además hay que aclarar que en lo posible hay que evitar estos tipos de relaciones porque dificulta la ejecución de consultas y la presentación de los registros.

Creo que es fundamental también mencionar que también se suele hablar de referencia circular cuando se forma un ciclo en un DER e incluso hacia si misma. Esto es cuando hay más de un camino para llegar a la misma tabla, y/o a si misma.

Por ejemplo: El der A -1--M- B -1--M- C -M---1- A presenta un ciclo ya que presenta un camino A->B->C->A.
Otro ejemplo: A -> B -> C; A -> D -> C. En este caso hay dos maneras de vincular y relacionar, indirectamente, a A con C. El camino 1 es por B y el segundo es por D.
Estos ciclos puede provocar algunos "mareos" al motor debido a que no es capaz de decidir que "camino" tomar para evaluar la integridad de los datos.

Ambos tipos de ciclos deben evitarse. Por lo general algunas de las maneras de "romper" éstos pasa por eliminar la entidad que provoca esta dualidad (e incluso en algunos casos genera duplicidad) y armar un diseño más simple;formando otros tipos de relaciones. En ocasiones no es que se elimina, sino que una de las entidades pasa a ser absorbida por otra.
Otras posibilidad es que exista alguna entidad que no ha sido apreciada en el contexto. En ciertos casos introducir esta entidad escondida puede hacer de indirección y desarmar el ciclo.

En CodeProject hay un artículo que trata sobre esto.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita