Desajuste por impedancia
|
Desajuste por impedancia o como es más conocido a nivel mundial Impedance Mismatch, consiste en el problema o falta de concordancia objeto-relacional, esto consiste en un grupo de dificultades y problemas técnico-conceptuales a los que s enfrentan los diseñadores de bases de datos y los programadores. Estos problemas son generalmente la incompatibilidad de tipos de datos entre los tipos de datos de las bases de datos y los tipos de datos del lenguaje de programación que se utilice en determinado momento.
Ejemplo
A continuación se muestra un ejemplo de base de datos en postgres y una aplicación programada en Delphi en el que se muestran los tipos de datos de postgres y el equivalente en Delphi.
- serial = integer
- varchar = String
- true/false = boolean
Soluciones
Actualmente se han implementado tres soluciones que han en gran medida resuelto el problema del Desajuste por impedancia en el momento en que han aparecido, las soluciones son:
- Objetos de Acceso a Datos (DAOs): En vez de que los objetos se instancien y ejecuten en la Capa de Negocio, se coloca una Capa de Acceso a Datos desde donde se implementarán los CRUD.
- Marcos de Trabajo de Persistencia (Persistence Frameworks): Crear primero el modelo de entidades de negocio en el esquema de tablas, y luego se crean objetos-entidades como copias exactas de las mismas. Las clases activas son las que modelan procesos de negocio. Las pasivas, las que modelan entidades de negocio.
- Mapeadores Objeto/Relacionales (O/R-M): Mediante mecanismos, ya sea un archivo XML, atributos en el código de las clases y propiedades, o de alguna otra forma, se mapean clases en tablas, propiedades en columnas, asociaciones en relaciones, etc.