modelos
TRANSCRIPT
MODELO RELACIONAL
Permiten establecer interconexiones (relaciones) entre los datos (que están
guardados en tablas), y a través de dichas conexiones relacionar los datos de
ambas tablas,
No pueden existir dos tablas con el mismo nombre ni registro,
Cada tabla es a su vez un conjunto de registros (filas y columnas).
La relación entre una tabla padre y un hijo se lleva a cabo por medio de las
claves primarias y ajenas (o foráneas).
Las claves primarias son la clave principal de un registro dentro de una tabla y
éstas deben cumplir con la integridad de datos.
Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la
clave primaria del registro padre; por medio de éstas se hacen las relaciones.
En una base de datos relacional, todos los datos se almacenan y se accede a ellos
por medio de relaciones. Las relaciones que almacenan datos son llamadas
"relaciones base" y su implementación es llamada "tabla". Otras relaciones no
almacenan datos, pero son calculadas al aplicar operaciones relacionales. Estas
relaciones son llamadas "relaciones derivadas" y su implementación es llamada
"vista" o "consulta". Las relaciones derivadas son convenientes ya que expresan
información de varias relaciones actuando como si fuera una sola. También ocupan
restricciones una limitación que obliga el cumplimiento de ciertas condiciones en la
base de datos. Algunas no son determinadas por los usuarios, sino que son
inherentemente definidas por el simple hecho de que la base de datos sea
relacional.
Este tipo de bases de datos presentan una dificultad al manejar imágenes o
archivos multimedia, para poder crear una base de datos relacional debemos
planificar el tipo de información que se quiere almacenar en la misma, teniendo en
cuenta dos aspectos: la información disponible y la información que necesitamos.
Modelos Objeto-Relacional
Las Base de Datos Objeto Relacional son extensión de las base de datos relacional tradicional, a la
cual se le proporcionan características de la programación orientada a objetos.
Se genera la posibilidad de guardar objetos más complejos en una sola tabla con referencias a
otras relaciones, con lo que se acerca más al paradigma de programación orientada a objetos.
Dentro de estas bases de datos encontramos datos complejos como los siguientes:
Colecciones: También conocidos como conjuntos, este tipo de datos clasifican los arrays y
los conjuntos en que los elementos pueden aparecer varias veces.
Tipos estructurados: Los tipos estructurados permiten representación directa de los
atributos compuestos en los diagramas entidad-relación.
Objetos de gran tamaño: Desde ya hace varios años que se necesita almacenar datos con
atributos muy grandes.
La herencia puede encontrarse de dos formas en estos tipos de base de datos y son las siguientes:
Herencia de tipos: Los tipos derivados heredan los atributos de superclase; los métodos
también se heredan por sus subtipos, al igual que los atributos. Sin embargo, un subtipo
puede redefinir el efecto de un método declarándolo de nuevo, y esto será lo que se conoce
como sobre escritura del método.
Herencia de tablas: Cada tabla almacena la clave primaria, que se puede heredar de una
tabla padre; y los atributos definidos localmente. Los atributos heredados, aparte de la clave
primaria, no será necesario guardarlos, podrán obtenerse mediante una relación con la tabla
principal basada en la clave primaria. Por lo que cada tabla almacena todos los atributos
heredados y definidos localmente.
Métodos de comparación
Estos métodos son utilizados para que se puedan comparar los objetos de un cierto tipo
Esta acción se lleva a cabo indicando cual es el criterio de comparación. Para poder hacer posible
la realización de una comparación es necesario escoger entre un método MAP o un método
ORDER:
Un método MAP:
Es utilizado para indicar cuál de los atributos del tipo se va a utilizar para ordenar los objetos
del tipo
Un método ORDER:
Utiliza los atributos de los objetos sobre el que se ejecuta para realizar un cálculo con otro
objeto del mismo tipo que se toma como argumento de entrada.
Modelo de Base de Datos orientada a objetos
la información se representa mediante objetos como los presentes en la programación orientada a
objetos. Cuando se integra las características de una base de datos con las de un lenguaje de
programación orientado a objetos, el resultado es un sistema gestor de base de datos orientada a
objetos.
Las bases de datos orientadas a objetos se diseñan para trabajar bien en conjunción con lenguajes
de programación orientados a objetos como Java, C#, Visual Basic.NET y C++. Los ODBMS usan
exactamente el mismo modelo que estos lenguajes de programación.
Los ODBMS son una buena elección para aquellos sistemas que necesitan un buen rendimiento en
la manipulación de tipos de dato complejos.
Los ODBMS proporcionan los costes de desarrollo más bajos y el mejor rendimiento cuando se
usan objetos gracias a que almacenan objetos en disco y tienen una integración transparente con el
programa escrito en un lenguaje de programación orientado a objetos, al almacenar exactamente el
modelo de objeto usado a nivel aplicativo, lo que reduce los costes de desarrollo y mantenimiento.
Estructura de los ODBMS
Cada objeto está asociado con:
Ø Un conjunto de variables que contiene los datos del objeto; las variables corresponden
con los atributos del modelo E-R.
Ø Un conjunto de mensajes a los que responde; cada mensaje puede o no tener
parámetros o tener uno o varios.
Ø Un conjunto de métodos, cada uno de los cuales es el código que implementa
un mensaje; el método devuelve un valor como respuesta al mensaje.
Principales conceptos de estas base de datos:
IDENTIDAD DE OBJETOS: Un sistema de BDOO provee una identidad única a
cada objeto independiente almacenado en la base de datos. Esta identidad única
suele implementarse con un identificador de objeto único, generado por el sistema.
CONSTRUCTORES DE TIPOS: En las BDOO, los valores de los objetos complejos se
pueden construir a partir de otros objetos mediante ciertos constructores de tipos.
ENCAPSULAMIENTO: Tanto la estructura de los objetos como las operaciones que
se pueden aplicar a ellos se incluyen en las definiciones de clases de los objetos.
COMPATIBILIDAD CON LENGUAJES DE PROGRAMACION: Si se sigue el
enfoque cuando se utilizan los diagramas de Entidad-Relación para modelar los datos
y luego se convierten de manera manual en un conjunto de relaciones; por lo tanto
los conceptos de la Programación Orientada a Objetos se utilizan simplemente como
herramientas de diseño y se codifican, utilizándose para trabajar con una base de
datos.
JERARQUIA DE TIPOS Y HERENCIA: Los esquemas de BDOO suelen necesitar un
gran número de clases. Sin embargo, varias clases son parecidas entre sí.
Para permitir la representación directa de parecidos entre las clases, hay que
ubicarlas en una jerarquía de especializaciones. El concepto de jerarquía de clases es
parecido al de especialización del modelo E-R.
CREACION DE VERSIONES: Muchas aplicaciones de bases de datos que usan
sistemas OO requieren la existencia de varias versiones del mismo objeto.
Por lo regular, se aplican actividades de mantenimiento a un sistema de software
conforme sus requerimientos evolucionan. Por lo regular, el mantenimiento implica
modificar algunos de los módulos de diseño y de implementación. Si el sistema ya
está en operación, y si es preciso modificar uno o más módulos, el diseñador deberá
crear una nueva versión de cada uno de ellos para efectuar cambios.
POLIMORFISMO: El polimorfismo se refiere al uso de la misma firma de mensaje
para dirigir diferentes métodos en diferentes clases. Cuando el diseñador envía una
señal a un objeto, el método de la clase de objeto, posiblemente heredado, procesa
la señal.
Conclusión.
A mi punto de vista, el gestor de base de datos, todos los gestores de base de datos son muy
funcionales de acuerdo al tipo de sistema que se va a realizar, los tipos de datos que se quieren
añadir.
Par mí el óptimo, es el gestor de base de datos orientada a objetos, ya que la conexión y las tablas
se modifican mediante el código, se puede usar la plataforma que queramos.
Carga más fácil los datos e incluso los datos multimedia, que en los gestores clásicos como es el
relacional, tarda mucho el subir este tipo de datos.
A mi punto de vista es muy mejor, pero no se compara el leer información al llevarlo a la práctica,
apenas empecé usar este modelo, no e encontrado errores espero no encontrar más adelante, si
encuentro dificultades, creo que me inclinare más por el tradicional que es el modelo relacional.