Please enable JavaScript.
Coggle requires JavaScript to display documents.
BASES DE DATOS RELACIONALES ORIENTADAS A OBJETOS (9.2. TIPOS COMPLEJOS (9…
BASES DE DATOS RELACIONALES
ORIENTADAS A OBJETOS
Proporcionan un modo de cambio adecuado para los usuarios de las bases de datos relacionales que deseen utilizar características orientadas a objetos.
9.1. RELACIONES ANIDADAS
El modelo relacional anidado es una extensión del modelo relacional en la que los dominios pueden ser atómicos o de relación.
El valor de las tuplas de los atributos puede ser una relación, y las relaciones pueden guardarse en otras relaciones. Los objetos complejos, por tanto, pueden representarse mediante una única tupla de las relaciones anidadas
9.2. TIPOS COMPLEJOS
Los sistemas de tipos complejos y la programación orientada a objetos permiten que los conceptos del modelo E-R, como la identidad de las entidades, los atributos multivalorados y la generalización y la especialización, se representen directamente sin que haga falta una compleja traducción al modelo relacional.
9.2.1. Tipos colección y tipos de objetos
de gran tamaño
Los conjuntos son ejemplares de los tipos colección. Otros ejemplares son los arrays y los multiconjuntos (es decir, colecciones sin orden donde un elemento puede aparecer varias veces)
Los objetos grandes se usan normalmente en aplicaciones externas, y tiene poco sentido extraerlos completamente en SQL.
9.2.2. Tipos estructurados
Los tipos estructurados permiten la representación
directa de atributos compuestos de los diagramas E-R.
Ejemplo: tipo Editorial, que tiene dos componentes: un nombre y una sucursal.
Un tipo estructurado puede tener métodos definidos sobre él. Los métodos se declaran como parte de la definición de tipos de un tipo estructurado.
9.2.3. Creación de valores de tipos complejos
En SQL se usan las funciones constructoras para crear valores de tipos estructurados. Una función con el mismo nombre que un tipo estructurado es una función constructora para el tipo estructurado.
9.3. HERENCIA
Herencia de tipos
Ejemplo sea Estudiante, Profesor, Persona sean tipois.
Tanto Estudiante como Profesor heredan los atributos de Persona, es decir, nombre y dirección. Estudiante y Profesores denominan subtipos de Persona
Herencia de tablas
Ejemplo sea las tablas Estudiante, Profesor y persona. Estudiante y Profesor heredan todos los atributos de persona
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 hace falta guardarlos y pueden obtenerse mediante una reunión con la supertabla basada en la clave primaria.
Cada tabla almacena todos los atributos heredados
y definidos localmente.
Solapamiento de subtablas
Un buen en el contexto de los sistemas de
bases de datos es permitir que un objeto tenga varios tipos, sin que tenga un tipo más específico.
Los sistemas relacionales orientados a objetos pueden modelar esta característica utilizando la herencia en el nivel de las tablas, en vez de en el nivel de los tipos, y permitiendo que las entidades estén en más de una tabla simultáneamente.
Sin embargo, SQL prohíbe esta situación dado que no soporta herencia múltiple, no se puede usar la herencia para modelar una situación donde una persona pueda ser estudiante y profesor
9.4. TIPOS DE REFERENCIA
Los lenguajes orientados a objetos proporcionan la posibilidad de hacer referencia a los objetos.
En SQL se puede definir un tipo Departamento, con campos nombre y director, que es una referencia al tipo Persona.
Para inicializar un atributo referencia es necesario obtener el identificador de la tupla a la que se va a hacer referencia.
9.5. CONSULTAS CON TIPOS COMPLEJOS
9.5.1. Expresiones de ruta
Las referencias se desreferencian en SQL con el símbolo –>.
Una expresión como profesor–>nombre se denomina una expresión de ruta.
9.5.2. Atributos de tipo colección
Los arrays son el único tipo colección soportado por SQL
9.5.3. Anidamiento y desanidamiento
La transformación de una relación anidada en una forma con menos (o sin) atributos de tipo relación se denomina desanidamiento.
El proceso inverso de transformar una relación 1FN en una relación anidada se denomina anidamiento.
El anidamiento puede realizarse mediante una extensión de la agrupación en SQL.
9.6. FUNCIONES Y PROCEDIMIENTOS
SQL permite la definición de funciones, procedimientos y métodos.
Funciones y procedimientos en SQL
Función en SQL es una rutina creada para tomar unos parámetros, procesarlos y retornar en un salida. Deben retornar en un valor con algún tipo de dato definido. Pueden usarse en el contexto de una sentencia SQL. Solo retornan un valor individual, no un conjunto de registros.
Los procedimientos se pueden invocar desde un procedimiento SQL o desde SQL incorporado con la instrucción call
Rutinas externas del lenguaje
SQL permite definir funciones en un lenguaje de programación. Las funciones definidas así pueden ser más eficientes que las definidas en SQL, y los cálculos que no se pueden realizar en SQL se pueden ejecutar por estas funciones.
Constructoras procedimentales
SQL soporta varias constructoras procedimentales que casi funcionan al nivel de un lenguaje de programación de propósito general.
El Módulo de almacenamiento persistente maneja estas constructoras.
Una instrucción compuesta es de la forma begin … end, y contiene instrucciones dentro de estos.
9.7. COMPARACIÓN ENTRE LAS BDs ORIENTADAS A OBJETOS Y LAS BDs RELACIONALES ORIENTADAS A OBJETOS
BDs Orientadas a objetos creadas al rededor de los lenguajes de programación consistente.
tipos de datos complejos, integración con los lenguajes de programación, elevado rendimiento.
Los lenguajes de programación persistentes se dirigen a las aplicacione que tienen necesidad de elevados rendimientos.
Proporcionan acceso a los datos persistentes con poca sobrecarga y eliminan la necesidad de la traducción de los datos si hay que tratarlos utilizando un lenguaje de programación.
BDs Relacionales Orientadas a objetos
construidas sobre el modelo relacional
Se dirigen a la simplificación de la realización de los modelos de datos y de las consultas mediante el uso de tipos de datos complejos.
Tipos de datos complejos, lenguajes de consulta potentes, protección elevada.