ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Unidad VII Bases De Datos Orientadas A Objetos.

lokilloboss5 de Octubre de 2014

2.584 Palabras (11 Páginas)379 Visitas

Página 1 de 11

INDICE

Introducción 3

7.1 Visión general 4

7.2 Tipos de datos complejos 5

7.3 Tipos estructurados y herencia en SQL 6

7.4 Herencia de tablas 7

7.5 Tipos de arreglo multiconjunto en SQL 8

7.6 Identidad de los objetos y tipos de referencia en SQL 9

7.7 Implementación de las características O-R 11

Conclusión 15

Bibliografía 16

INTRODUCCIÓN

En la siguiente investigación trataremos de hacer un pequeño resumen de lo que trata la unidad 7: base de datos orientada a objetos, y en ciertos temas trataremos de explicar cómo y cuándo se debe utilizar cada herramienta que aquí se menciona.

Nuestro objetivo principal es resaltar la importancia de las bases de datos.

7.1 Visión general

El modelo de datos orientado a objetos es una adaptación para los sistemas de bases de datos del paradigma de la programación orientada a objetos. Se basa en el concepto de encapsular los datos en un objeto y el código que opera sobre ellos.

De manera parecida, los objetos estructurados se agrupan en clases. El conjunto de las clases se estructura en subclases y superclases basadas en una extensión del concepto ES del modelo entidad-relación.

El valor de un elemento de datos de un objeto puede ser un objeto, haciendo posible representar los continentes de objetos, lo que da lugar a objetos compuestos.

En general, cada objeto está asociado con

• Un conjunto de variables que contiene los datos del objeto; las variables se corresponden con los atributos del modelo E-R.

• Un conjunto de mensajes a los que responde; cada mensaje puede no tener parámetros, tener uno o varios.

• Un conjunto de métodos, cada uno de los cuales es código que implementa un mensaje; el método devuelve un valor como respuesta al mensaje.

7.2 Tipos de datos complejos

• Colecciones

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). Las siguientes definiciones de atributos ilustran la declaración de un array:

array-autores varchar(20) array [10]

array-autores es un array de hasta 10 nombres de autor.

Se puede acceder a los elementos del array especificando el índice del array, por ejemplo, array-autores[1].

• Objetos de gran tamaño (LOB)

Muchas aplicaciones actuales de bases de datos necesitan almacenar atributos grandes (del orden de varios Kbytes), tales como la fotografía de una persona, o muy grandes (del orden de varios Mbytes o incluso Gbytes), tales como imágenes médicas de alta resolución o clips de video.

Las letras “lob” en estos tipos de datos son acrónimos de “Large OBject” (objeto grande).

Los objetos grandes se usan normalmente en aplicaciones externas, y tiene poco sentido extraerlos completamente en SQL. En su lugar, una aplicación conseguiría un “localizador” de un objeto grande y lo usaría para manipularlo desde el lenguaje anfitrion.

• Tipos estructurados

Los tipos estructurados permiten la representación directa de atributos compuestos de los diagramas E-R.

Un tipo estructurado puede tener métodos definidos sobre él.

Constructores

Se deben definir funciones constructoras para crear valores de tipos estructurados. En SQL y en muchos otros lenguajes se utiliza una función con el mismo nombre que un tipo estructurado como función constructora.

De manera predeterminada, cada tipo estructurado tiene un constructor sin argumentos, que establece los atributos a sus valores predefinidos.

7.3 Tipos estructurados y herencia en SQL

Antes de SQL: 1999 el sistema de tipos de SQL consistía en un conjunto bastante sencillo de tipos predefinidos. SQL: 1999 añadió un sistema de tipos extenso a SQL, lo que permite los tipos estructurados y la herencia de tipos.

Titulo Array_autores Editor Conjunto_palabras_clave

(nombre, sucursal)

Compiladores

Redes [Gómez, Santos]

[Santos, Escudero] (McGraw, Nueva York)

(Oxford, Londres) {Análisis sintáctico, análisis}

{internet, web}

Relación de libros que no están en la 1FN, libros.

Titulo Autor Posición

Compiladores

Compiladores

Redes

Redes Gomes

Santos

Santos

Escudero 1

2

1

2

Autores

Titulo Palabra_Clave

Compiladores

Compiladores

Redes

Redes Análisis sintáctico

Análisis

Internet

Web

Palabras_Clave

Titulo Nombre_Editor Sucursal_Editor

Compiladores

Redes McGraw-Hill

Oxford Nueva York

Londres

7.4 Herencia de tablas

Las subtablas en SQL se corresponden con la noción del modelo E-R de la especialización y la generalización. Por ejemplo, supóngase 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 también presente en las subtablas. Si una consulta usa la tabla persona, encontrará no sólo las tuplas insertadas directamente en la tabla, sino también las tuplas insertadas en sus subtablas estudiantes y profesores. Sin embargo, sólo se puede acceder a los atributos que están presentes en persona.

7.5 Tipos de Arreglo Multiconjunto en SQL

Un multiconjunto es una colección de elementos del mismo tipo, sin orden y permitiendo la existencia de elementos repetidos. El tipo de elemento puede ser cualquier otro tipo de SQL.

Por ejemplo, INTEGER MULTISET indica el tipo de un valor del multiconjunto cuyo tipo de elemento es INTEGER.

El tipo de elemento también podría ser otro tipo de colección, que permitiera colecciones anidadas. Un multiconjunto es una colección ilimitada, sin cardinalidad máxima definida. Esto no significa, sin embargo, que el usuario puede insertar elementos en un multiconjunto sin límite, solamente que el estándar no indica que debería haber un límite.

Esto es análogo a las tablas, que no tienen declarado un número máximo de filas. Los valores de un tipo MULTISET pueden crearse enumerando sus elementos o mediante una sentencia; por ejemplo, MULTISET[1, 2, 3, 4] o MULTISET(SELECT nivel FROM cursos).

El tipo MULTISET tiene operaciones para convertir un multiconjunto en un array o en otro multiconjunto cuyos elementos sean de un tipo compatible, para eliminar duplicados del multiconjunto, para devolver el número de elementos de un multiconjunto dado, y para volver el elemento de un multiconjunto que sólo tiene un elemento.

Además, también soporta la unión, intersección y diferencia entre multiconjuntos, así como tres nuevas funciones de agregación para crear un multiconjunto del valor del argumento en cada fila de un grupo (COLLECT), para crear la unión de multiconjuntos del valor del multiconjunto de cada fila de un grupo (FUSION) y para crear la intersección de multiconjuntos del valor del multiconjunto de cada fila de un grupo (INTERSECTION).

7.6 Identidad de los objetos y tipos de referencia en SQL

Los lenguajes orientados a objetos ofrecen la posibilidad de hacer referencia a objetos. Los atributos de un tipo dado pueden servir de referencia para los objetos de un tipo concreto. Por ejemplo, en SQL se puede definir el tipo Departamento con el campo nombre y el campo director, que es una referencia al tipo Persona, y la tabla departamentos del tipo

Departamento, de la manera siguiente:

Create type Departamento (nombre varchar (20), director ref (Persona) scope personas)

create table departamentos of Departamento

En este caso, la referencia está restringida a las tuplas de la tabla personas. La restricción del ámbito de referencia a las tuplas de una tabla es obligatoria en SQL, y hace que las referencias se comporten como las claves externas.

La tabla a la que hace referencia debe tener un atributo que guarde el identificador para cada tupla. Ese atributo, denominado atributo autor-referenciable (self-referential attribute), se declara añadiendo una cláusula

ref is a la instruction create table :

create table personas of Persona

ref is id_persona system generated

En este caso, id_persona es el nombre del atributo, no una palabra clave, y la instrucción system generated especifica que la base de datos genera de manera automática el identificador. Para inicializar el atributo de referencia hay que obtener el identificador de la tupla a la que se va a hacer referencia. Se puede conseguir el valor del identificador de la tupla mediante una consulta. Por tanto, para crear una tupla con el valor de referencia, primero se puede crear la tupla

...

Descargar como (para miembros actualizados) txt (18 Kb)
Leer 10 páginas más »
Disponible sólo en Clubensayos.com