Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Snchez Manuel Ortiz Eduardo Garca Wagner Estevez Jose Felix Pabn Lissette Addas Amado Estvez Jos Flix
INTRODUCCION
Las bases de datos orientadas a objetos (BDOO) son aquellas cuyo modelo de datos est orientado a objetos , almacenan y recuperan objetos en los que se almacena estado y comportamiento. Los modelos de datos relacionales orientados a objetos extienden el modelo de datos relacional.
Relaciones anidadas
El modelo relacional anidado es una extension del modelo relacional en la que los dominios pueden ser atomicos o de relacion.
Tipos de Referencia
Los lenguajes orientados a objetos proporcionan la posibilidad de hacer referencia a los objetos. El atributo de un tipo puede ser una referencia a un objeto de un tipo especificado. create type Departamento( nombre varchar(20), director ref(Persona) scope persona )
TIPOS COMPLEJOS
Las Bases de Datos relacionales Orientadas a Objetos facilitan el manejo de tipos de datos complejos. Dentro de lo que llamamos tipos de datos complejos podemos definir los siguientes:
Colecciones
Tipos Estructurados
Constructores
COLECCIONES
Los conjuntos son ejemplares de los tipos coleccin. Otros ejemplares son los arrays y los multiconjuntos (es decir, colecciones sin orden donde un elemento puede aparecer varias veces). Las siguientes definiciones de atributos ilustran la declaracin de un array:
Muchas aplicaciones actuales de bases de datos necesitan almacenar atributos grandes (KB, MB,GB). Las BD relacionales orientadas a objetos permiten utilizar clobs y blobs. Los objetos grandes se usan normalmente en aplicaciones externas, y tiene poco sentido extraerlos completamente en SQL.
TIPOS ESTRUCTURADOS
Los tipos estructurados permiten la representacin directa de atributos compuestos de los diagramas E-R. Un tipo estructurado puede tener mtodos definidos sobre el. Los mtodos se declaran como parte de la definicin de tipos de un tipo estructurado.
CONSTRUCTORES
De manera predeterminada, cada tipo estructurado tiene un constructor sin argumentos, que establece los atributos a sus valores predenidos. Cualquiera otra funcin constructora tiene que crearse explcitamente. Puede haber mas de una constructora para el mismo tipo estructurado; aunque tengan el mismo nombre, solo tienen que ser distinguibles por el nmero de argumentos y sus tipos.
HERENCIA
La herencia puede hallarse en el nivel de los tipos o en el nivel de las tablas. En primer lugar se considerar la herencia de los tipos y despus en el nivel de las tablas. Herencia de tipos Herencia de tablas
HERENCIA DE TIPOS
Supngase que se dispone de la siguiente definicin de tipos para las personas: create type Persona (nombre varchar(20), direccin varchar(20)) Puede que se desee guardar en la base de datos ms informacin sobre las personas que sean estudiantes y sobre las que sean profesores. Dado que los estudiantes y los profesores tambin son personas, se puede utilizar la herencia para definir los tipos estudiante y profesor en SQL:1999: create type Estudiante under Persona (curso varchar(20), departamento varchar(20))
HERENCIA DE TIPOS
create type Profesor under Persona (sueldo integer, departamento varchar(20)) Tanto Estudiante como Profesor heredan los atributos de Persona, es decir, nombre y direccin. Estudiante y Profesor se denominan subtipos de Persona y sta, a su vez, es un supertipo de Estudiante y de Profesor.
HERENCIA DE TIPOS
Supngase ahora que se desea guardar la informacin sobre los ayudantes, que son simultneamente estudiantes y profesores, quizs incluso en departamentos diferentes. Esto se puede hacer usando la herencia mltiple. Si el sistema de tipos permite la herencia mltiple, se puede definir un tipo para los ayudantes de la manera siguiente:
HERENCIA DE TIPOS
Los atributos nombre y direccin se heredan en realidad de un origen comn, Persona. As que no se provoca ningn conflicto al heredarlos de Estudiante y de Profesor. Sin embargo, el atributo departamento se define de manera separada en Estudiante y en Profesor. De hecho, los ayudantes pueden ser estudiantes de un departamento y profesores de otro. Para evitar un conflicto entre los dos ejemplares de departamento se les puede cambiar el nombre utilizando una instruccin as como se muestra en la siguiente definicin del tipo Ayudante: create type Ayudante under Estudiante with (departamento as dep-estudiante) Profesor with (departamento as dep-profesor)
HERENCIA DE TABLAS
Corresponde a la nocin del modelo E-R de la especializacin y la generalizacin. Por ejemplo, supngase que se define la tabla personas de la manera siguiente: create table persona of Persona Se pueden definir entonces las tablas estudiantes y profesores como subtablas de persona: create table estudiantes of Estudiante under persona create table profesores of Profesor under persona Los tipos de las subtablas deben ser subtipos del tipo de la tabla padre. Por tanto, cada atributo presente en persona debe estar tambin presente en las subtablas. Adems, cuando se declaran estudiantes y profesores como subtablas de persona, cada tupla presente en estudiantes o profesores tambin estn presentes implcitamente en persona.
HERENCIA DE TABLAS
Es posible la herencia mltiple con las tablas, como con los tipos. Por ejemplo, se puede crear una tabla del tipo Ayudante: create table ayudantes of Ayudante under estudiantes, profesores Como resultado de la declaracin, cada tupla presente en la tabla ayudantes tambin est presente implcitamente en las tablas profesores y estudiantes, y a su vez en la tabla persona.
Anidamiento y desanidamiento
select ttulo, A as autor, editorial.nombre as nombre-edit, editorial.sucursal as sucursal.edit, K as palabra-clave from libros as B, unnest(B.array-autores) as A, unnest(B.lista-palabras-clave) as K
PROCEDIMIENTOS Y FUNCIONES
Procedimiento-Una serie de declaraciones de aceptar y / o devolver cero o ms variables.
Funcin-Una serie de estados que aceptan cero o ms variables que devuelve un valor.
Ejemplo de Funciones
Ejecucin de SP
Ejecucin de funcin