Modelos de Bases de Datos: Basados en Registros y en Objetos
Una base de datos almacena la información de manera estructurada, y el tipo de almacenamiento utilizado da lugar a diferentes tipos de bases de datos. Los modelos lógicos de datos, que son conjuntos de reglas y mecanismos para definir los datos, se dividen en dos grupos principales: los basados en registros y los basados en objetos.
Modelos Basados en Registros
Los modelos basados en registros describen los datos a nivel conceptual y físico. En estos modelos, la base de datos se estructura en registros de diferentes tipos, cada uno con un número fijo de campos. Estos modelos han evolucionado a lo largo del tiempo desde el modelo jerárquico y el modelo en red, hasta llegar al modelo relacional, que es el más utilizado actualmente.
1. Modelo Jerárquico:
El modelo jerárquico fue el primero en implementarse en los años 70. Este modelo utiliza una estructura en forma de árbol para representar los datos. Cada nodo en el árbol simboliza un tipo de registro, y tiene un único padre, pero puede tener varios hijos. Los nodos contienen campos comunes a todos sus registros hijos. Un ejemplo sería la relación entre un registro de tipo «Departamento» y varios registros de tipo «Empleado».
2. Modelo en Red:
El modelo en red, también de los años 70, es similar al jerárquico pero con una diferencia clave: en este modelo, un nodo puede tener varios padres, lo que permite representar relaciones más complejas como las de muchos a muchos. Además, permite múltiples relaciones entre nodos.
3. Modelo Relacional:
El modelo relacional, propuesto por Codd en los años 70, introdujo una estructura más flexible y rigurosa para el manejo de datos, utilizando tablas para organizar la información. Cada tabla está formada por registros del mismo tipo, y se caracteriza por:
- La no repetición de campos.
- La ausencia de registros duplicados, gracias a un campo clave que hace único a cada registro.
Ejemplo de Modelo Relacional:
ID_Producto | Nombre | Categoría | Precio |
---|---|---|---|
1001 | Laptop | Electrónica | 700 |
1002 | Silla | Muebles | 150 |
1003 | Smartphone | Electrónica | 300 |
Modelos Basados en Objetos
Los sistemas de gestión de bases de datos orientados a objetos (SGBDOO) combinan funciones de bases de datos y lenguajes de programación orientados a objetos, lo que permite una mayor flexibilidad y potencial para reemplazar los sistemas relacionales. Sin embargo, estos modelos pueden aumentar la complejidad del sistema debido a las funciones adicionales que ofrecen.
Características de los SGBDOO:
- Objetos e Identidad: Cada entidad del mundo real se modela como un objeto, que tiene un identificador único y un estado representado por los valores de sus atributos. El comportamiento del objeto se define mediante métodos que actúan sobre él.
- Objetos Complejos: Los valores de los atributos de un objeto pueden ser otros objetos.
- Encapsulamiento: Cada objeto tiene definidos internamente sus métodos y la interfaz para interactuar con él.
- Clases: Los objetos con atributos y métodos similares forman una clase, y un objeto específico se considera una instancia de esa clase.
- Herencia: Las clases pueden especializarse en otras clases, heredando sus atributos y métodos.
- Sobrecarga: Las operaciones pueden tener varios métodos asociados, y el sistema decide cuál utilizar en función de los parámetros proporcionados.
Arquitectura de los SGBDOO
La arquitectura de los SGBDOO sigue un enfoque cliente-servidor, donde el servidor gestiona las funciones del SGBD. El modelo de datos en estos sistemas se basa en clases, objetos y funciones. No se hace distinción entre atributos y métodos, ya que ambos se tratan como funciones. Las funciones heredadas pueden redefinirse, lo que permite que dos clases tengan funciones con el mismo nombre pero definiciones diferentes.
Los elementos principales en la arquitectura de un SGBDOO son:
- Administrador de objetos: Implementa el modelo orientado a objetos, permitiendo definir esquemas y realizar consultas.
- Administrador de almacenamiento externo: Generalmente se implementa sobre un modelo relacional, y gestiona el almacenamiento físico de los datos.