Diseño de una Base de Datos Orientada a Objetos (BDOO)

 Diseño de una Base de Datos Orientada a Objetos (BDOO)


Consideraciones

En lo conceptual, los modelos relacionales y orientados a objetos son muy similares, lo que realmente varía son los sistemas como se crea y manipula la información, aún así, la diferencia es mínima, pues ocurre lo mismo entre lenguajes de programación, cuando se quiere acceder a ciertas funcionalidades que quizá de manera nativa no se tiene.


Si se viera SQL como un lenguaje de programación, quizá no habría mayor complejidad de pasar de un modelo relacional a uno orientado a objetos.


Se tiene el siguiente gráfico derivado del modelo relacional creado, que incluso también sería válido como representación del modelo orientado a objetos:


La “transformación” al modelo relacional se simplificará a través de tablas.


Es importante anotar, que la rigurosidad del lenguaje a utilizar estará sujeto al lenguaje de programación a utilizar, es por esto que procederá a hacer la transformación como si de un lenguaje débilmente tipado se tratara.

Descripción de transformación

Considere entonces todas las tablas previamente creadas como clases, en donde los campos pasarán a ser atributos y las relaciones, sus métodos.



Clase:

lugar_admin

Atributos:

  • id_lugar_admin

  • nombre

Relación:

void Ubicar



Clase:

cargos

Atributos:

  • id_cargo

  • nombre_cargo

  • coord

  • id_ubi_admin

Relación:




Clase:

nomina

Atributos:

  • id

  • nombre

Relación:

void contener



Clase:

empleado

Atributos:

  • id_empleado 

  • fecha

  • nombre

  • apellido

  • sexo

  • fecha_inicio

  • estado

  • cargo

  • id_nomina

Relación:

void ejercer



Clase:

cargo_empleado

Atributos:

  • id_cargo_empleado

  • id_cargo

  • id_empledo

Relación:




Ahora bien, ¿de dónde sale el tema de objetos?. Un objeto es una instancia de una clase, es decir, es un “objeto” derivado de una clase que hereda los atributos de su clase padre.


Por ejemplo, si quisiera crear el objeto Andrea Alvarez de la clase empleado, sería algo similar a:


$empleado_1 = new empleado (id, fecha, “Andrea”, “Alvarez”, “F”, fecha_inicio, estado, “Gerente financiera”, id_nomina);


Una vez creado este objeto de la clase empleado, se podría acceder a sus atributos, por ejemplo, podría hacer una consulta para conocer su cargo de la siguiente manera.


echo ($empleado_1.cargo); // Resultado => Gerente financiera.


El proceso análogo en lenguaje SQL sería algo como lo siguiente:


SELECT cargo FROM empleados WHERE nombre = “Andrea”;


NOTA: la sintaxis del ejemplo claramente no es la utilizada en este tipo de gestión, ya que se utilizó el lenguaje PHP, sin embargo, en su funcionamiento, es básicamente lo mismo, si se van a crear y sobre todo a manipular, información de la base de datos.


Una de las grandes ventajas que ofrece la BDOO es su aproximación a lenguajes de programación que basen sus soluciones en el paradigma de programación orientada a objetos, lo cual por ejemplo, da mucho más poder a la comunicación entre la información, permitiendo añadir métodos, a consideración, de una manera más fácil y potente, y de la misma manera aplicarlos, por ejemplo, incluyendo muchos más métodos y funcionalidades.


Comentarios

Entradas populares de este blog