Fundamentos de POO y Modelado de Datos: Conceptos Esenciales para Desarrolladores
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,4 KB
Principios Fundamentales de la Programación Orientada a Objetos (POO)
Encapsulamiento
Cada objeto solo puede ser manipulado a través de sus métodos, y la implementación de cada método no es visible.
Herencia
La herencia funciona tanto como una copia como una referencia extendida. Cuando se copia, existen dos instancias iguales pero independientes; si se modifica una, la otra no se ve afectada.
Polimorfismo
Significa que el mismo comportamiento, conocido con un mismo nombre, puede ser implementado o completado de maneras distintas para diferentes subclases.
Paradigmas de Datos: Independencia vs. Encapsulamiento
Independencia de Datos (Enfoque Relacional)
- Naturaleza: Únicamente datos.
- Acceso: Datos compartidos por varios procesos (se puede acceder de muchas formas).
- Cambios: Constantes a través de los procesos (debido a la manipulación, la modificación de datos es volátil).
- Independencia: Independencia física y lógica de los datos.
- Predominio: Sencillez. Se basa en tablas, donde se pueden imaginar filas y campos.
- Redundancia: La normalización controla la redundancia (solo se crean claves foráneas y principales).
- Preocupación Principal: El rendimiento es una preocupación constante.
- Lenguaje: SQL.
- Relaciones: Las tablas son enlazadas a través de joins.
- Uso: El modelo es para el uso de datos.
Encapsulamiento y Reutilización (Enfoque Orientado a Objetos)
- Naturaleza: Datos y métodos.
- Acceso: Uso exclusivo a través de los métodos (definición de consultas).
- Diseño: Las clases están diseñadas para ser reutilizadas.
- Independencia: Entre las clases (a menor relación, menor dependencia).
- Predominio: Complejidad. Cuando se trabaja con objetos, no siempre se sabe qué se dispara cuando se invoca un método.
- Redundancia: Las clases mitigan la redundancia; con la herencia se controla.
- Preocupación Principal: Definición de sus clases.
- Lenguaje: No hay ningún lenguaje estándar universalmente adoptado para bases de datos orientadas a objetos puras, aunque existen extensiones OO para SQL y lenguajes de consulta específicos.
- Relaciones: Objetos ligados entre sí (a menudo mediante referencias o "apuntadores suaves"). El enlace físico puede ser mucho más rápido para navegación directa.
- Uso: El modelo es para las aplicaciones y el desarrollo de software.
Modelado de Datos: Conceptual, Lógico y Físico
Comprender la diferencia entre los modelos de datos es crucial para el diseño efectivo de bases de datos.
Modelo Conceptual
Identifica las relaciones de más alto nivel entre las diferentes entidades. Su propósito es establecer las entidades, sus atributos y relaciones; casi no hay detalle de la estructura de la base de datos (BD).
Modelo Lógico
Describe cómo se debe implementar el sistema, independientemente del gestor de base de datos (SGBD). Su propósito es desarrollar un mapa técnico de reglas y estructura de datos. Define la estructura de los elementos de datos y establece las relaciones.
Modelo Físico
Describe cómo se implementará el sistema, utilizando un sistema de gestión de base de datos (SGBD) específico. Su propósito es la implementación real de la base de datos. Ayuda a modelar la clave primaria y foránea, restricciones, índices, disparadores (triggers), entre otros.
Tipos de Datos en Sistemas Orientados a Objetos
VARRAYS
Son tipos de datos donde se define un tamaño máximo de elementos (o registros) que pueden contener. Permiten almacenar colecciones ordenadas de tamaño fijo.
Tablas Anidadas
Una ventaja de las tablas anidadas es que, aunque teóricamente se implementan con apuntadores "suaves" (lo cual no es completamente cierto en todas las implementaciones), facilitan la consulta de datos relacionados que forman parte de una colección dentro de una misma estructura de tabla o fila de objeto.