Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/10/2006, 08:42
Avatar de MACGREGOR
MACGREGOR
 
Fecha de Ingreso: enero-2005
Mensajes: 89
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola de nuevo.

Ahunque es un argumento válido para algúnas tablas (la posibilidad de perder la semántica de la información en la base de datos) personalmente creo que eso sucede en una minoría de casos ya que normalmente las tablas cuya clave primaria es compuesta son fruto del proceso de normalización.

Con esto quiero decir que casi siempre son tablas creadas para transformar el esquema conceptual en el esquema lógico.
Suelen ser fruto de la eliminación de relaciones con cardinalidad N-M.

Es decir, acostumbran a ser tablas intermedias que se utilizan para "codificar o representar" una relación entre entidades.
En los casos en que una entidad representa un "objeto físico" del mundo real si debe existir una relación semántica fuerte entre la tabla de DB y la entidad que se desea representar.

Respecto a las dificultades de unir este modelo a otras Bases de Datos y otros sistemas, en realidad no veo ninguna.
Y en cuanto a posibilidades de migración hacia otros sistemas, siempre y cuando sean SGBD's relacionales no habrá ningún problema, ya que en realidad se trata de crear un un esquema Entidad-Relación normalizado.

El único problema es que dependiéndo del SGBD las inserciónes pueden ser más costosas. Si no se puede utilizar algún tipo de cláusula como UNIQUE, de Oracle, se ha de comprovar la existencia de los datos antes de su inserción con algún tipo de programación en lugar de dejar al SGBD que lo haga automáticamente. (perdemos velocidad porque el SGBD optimiza al máximo esta comprovación no porque no se realice!)

En el caso que nuestro SGBD no nos facilite esa posibilidad se debe valorar qué es más molesto para nuestra aplicación.
Un retardo en las inserciones de algunas tablas y un aumento de la velocidad en consultas que impliquen esas tablas o lo contrario.

Última edición por MACGREGOR; 03/10/2006 a las 08:47