Ver Mensaje Individual
  #14 (permalink)  
Antiguo 30/08/2013, 07:57
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses
Puntos: 2658
Respuesta: Duda sobre normalización (otra)

Hablar de falencias es exagerado. Me parece que sigues mirando el tema desde la óptica del programador, y ese es un error. El análisis de datos es total y completamente distinto. Sigue otras lógicas y otros razonamientos.
Estás planteando el tema como si la base de datos debiese forzosamente ser una representación del modelo de clases y eso no es cierto. La base datos debe alimentar a las aplicaciones, pero no debe ser necesariamente un reflejo de ella. No existe ninguna razón teórica que sustente una afirmación así. En realidad el acoplamiento que estás mencionando se considera siempre pernicioso a nivel de sistemas, ya que no permite precisamente evoluciones o cambios de perspectiva, de software o adaptaciones futuras. Termina volviendose rígido.
Si existen sistemas de bases orientados a objetos, que puede ser algo que te resulte útil a tu orientación y dominio, pero eso no significa que una base de datos relacional tenga "falencias", o que posea "incongruencias".
Es común, y constantemente lidiamos con esto, que los programadores y desarrolladores de aplicaciones no entiendan el paradigma relacional, porque todos ven los datos como flujos de proceso, y para nosotros (como analistas de datos), los procesos no existen. Y esa distinción es algo muy difícil de asimilar para quien no se interna en las bases de datos.

En definitiva, u sistema de base de datos relacional puede perfectamente ser el soporte de un sistema orientado a objetos, siempre que uses las herramientas adecuadas para que ambas cosas interactuen.
Te imaginas que si ese tipo de relaciones existe en todas partes, es porque no existen las "incongruencias" que temes...
¿No te parece?

Como sugerencia final, si quieres usar un sistema de bases de datos no relacionales, orientada a objetos, siempre puedes usar NoSQL, Zope (Python), o bien usar mapeos objeto-relacionales como Hibernate (Java) o Doctrine (PHP).
lo que quiero que entiendas es que ya existen soluciones para tu problema, y no pasan por descartar el modelo relacional, sino que trabajan colaborativamente, cada una de las cosas en su respectivo ámbito.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)