Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

BASE DE DATOS ORIENTADA A OBJETOS

No description
by

rodrigo chavez

on 5 June 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of BASE DE DATOS ORIENTADA A OBJETOS

BASE DE DATOS ORIENTADAS A OBJETOS 7.1 VISION GENERAL 7.4 HERENCIA DE TABLAS 7.7IMPLETMENTACION DE LAS
CARACTERISTICA SOR.

Las BD OO surgen de la combinación de las BD y la programación OO.
Están estructuradas para simplificar la POO, permiten almacenar losobjetos directamente en la BD utilizando las mismas estructuras yrelaciones que los lenguajes de POO.Es una base de datos inteligente. Soporta el paradigma orientado aobjetos almacenando datos y métodos, y no sólo datos.

Está diseñada para ser eficaz, desde el punto de vista físico, para almacenar objetos complejos.Evita el acceso a los datos; esto es mediante los métodos almacenados en ella.Es más segura ya que no permite tener acceso a los datos (objetos); esto debido a que para poder entrar se tiene que hacer por los métodos que haya utilizado el programador. 7.3 TIPOS ESTRUCTURADOS Y HERENCIA EN SQL Los tipos estructurados permiten representar directamente los atributos compuestos de los diagramas E-R. Por ejemplo nombre de pila y apellidos:
create type Nombre as
(nombredepila varchar(20)
apellidos varchar(20)
final

Las especificaciones final y not final están relacionadas con las subtipificación. Se pueden usar esos tipos para crear atributos compuestos en las relaciones, con solo declarar que un atributo es de uno de estos tipos. Por ejemplo, se puede crear la tabla cliente de la manera siguiente:

create table cliente (
nombreNombre,
direccionDireccion,
fechaDeNacimiento date)

Se puede tener acceso a los componentes de los atributos compuestos usando la notación “punto”. Una manera alternativa de definir los atributos compuestos en SQL, es usar tipos de fila sin nombre. Los tipos de las subtablas deben ser subtipos del tipo de la tabla madre. Todos los atributos presentes también están presentes en las subtablas. La palabra clave only también puede usarse en las sentencias delete y update. Sin la palabra clave only, la instrucción delete aplicada a una supertabla, también borra las tuplas que se insertaron originalmente en las subtablas.

La herencia multiple es posible con las tablas, igual que con los tipos. Por ejemplo, se puede crear una tabla del tipo ProfesorAyudante:

create table profesores_ayudantes
of ProfesorAyudante
under estudiantes, profesores

Se dice que las tuplas de una subtabla se corresponden con las tuplas de la tabla madre si tienen el mismo valor para todos los atributos heredados. Por tanto, las tuplas correspondientes representan a la misma entidad.

Los requisitos de consistencia de las subtablas son:

1. Cada tupla de la super tabla puede corresponderse, como máximo con una tupla de cada una de sus subtablas inmediatas.
2. SQL posee una restricción adicional que hace que todas las tuplas que se correspopnden entre si deben proceder de una tupla (insertada en una tabla) La orientación a objetos constituye una nueva forma de pensar acerca de problemas empleando modelos que se han organizado tomando como base conceptos del mundo real.
Los modelos orientados a objetos son útiles para comprender problemas, comunicarse con expertos en esa aplicación, modelar empresas, preparar documentación y diseñar programas y bases de datos. Las bases de datos orientadas a objetos unen dos tecnologías:

La de las bases de datos y la de los lenguajes orientados a objetos. Los LPOO aportan gran capacidad en la manipulación de datos, pero no implementan el almacenamiento y consulta de grandes volúmenes de datos.

Por el contrario, las bases de datos convencionales aportan un dominio de las técnicas de almacenamiento y consulta de grandes volúmenes de datos, aunque su capacidad de manipulación es limitada. BDOO.-
Con la BDOO, podemos satisfacer varias necesidades, que a veces se nos presentan:
1.
Las BDOO, obtienen cada vez mayor aceptación.

2.
Satisfacer las necesidades de aplicaciones más complejas.

3.
El aumento del uso de lenguajes de programación OO, para el desarrollo deaplicaciones de software.

4.
Son extensibles.

5.
Son más seguras BD Tradicional.-
Los sistemas manejadores de BD tradicionales tienen ciertas desventajas, citamos algunas:

1.
Proveen una pobre representación del mundo real.

2.
Existe una sobrecarga semántica.

3.
Se pueden realizar operaciones limitadas.

4.
Tipos de datos son Alfanuméricos.

5.
No extensibles A continuación algunas de sus caracteristicas:

1.Soportan todos los conceptos de la POO.
2.La mayoría de las BDOO proveen la capacidad de un procesamiento transaccionalque soporta la concurrencia.
3.Es más segura ya que no permite tener acceso
a los datos (objetos).
4.Proporcionan un sistema integrado de desarrollo de aplicaciones.
5.Las BDOO buscan la persistencia transparente.
6.Uso de consultas nativas

Definición

Un SMBDOO debe satisfacer dos criterios debe ser un SMBD, y debe ser un sistema orientado al objeto.Para ello almacena objetos incorporando y empleando las ventajas de la POO permitiendo que sus elementos se accedan como objetos propios de un ámbito de programación orientado a objetos, tratándolos directamente sin tener que hacer la traducción a tablas o registro. 7.2TIPOS DE DATOS COMPLEJOS Tipos: Dentro de lo que llamamos tipos de datos complejos podemos definir 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 (Varios Mbytes), como libros, canciones, etc. E incluso aún más grandes; como mapas de alta resolución, video, etc. que puede llegar fácilmente a los Gbytes. Herencia de tipos

Los métodos de los tipos estructurados se heredan por sus subtipos, igual que los atributos. Sin embargo, cada subtipo puede redefinir el efecto de los métodos volviendo a declararlos, usando overriding method en lugar de method en la declaración del método.

Por ejemplo en un a base de datos información adicional sobre las personas que son estudiantes y sobre las que son profesores. Dado que los estudiantes y los profesores también son personas se usar la herencia para definir en SQL los tipos estudiantes y profesor.

create type Estudiante
under Persona
(grado varchar(20)
departamento varchar(20)
create type Profesor
under Persona
(sueldo integer,
departamento varchar(20) 7.5TIPOS DE ARREGLOS MULTICONJUNTO EN SQL SQL soporta dos tipos de conjuntos: arrays y multiconjuntos. Multiconjuntos es un conjunto no ordenado, en el que cada elemento puede aparecer varias veces. A diferencia de los elementos de los multiconjuntos, los elementos de los arrays están ordenados

Supóngase que se desea registrar información sobre libros, incluido un conjunto de palabras clave para cada libro. Supóngase también que se deseara almacenar almacenar el nombre de los autores de un libro en forma de array; a diferencia de los elementos de los multiconjuntos, los elementos de los arrays están ordenados, de modo que se puede distinguir el primer autor del segundo autor, etc. El ejemplo siguiente ilustra la manera en que se puede definir en SQL estos atributos como arrays y como multiconjuntos.


create type Editor as
(nombre varchar(20),
sucursal varchar(20)) Recuérdese que un multiconjunto es un conjunto no ordenado, en el que cada elemento puede aparecer varias veces. Los multiconjuntos son como los conjuntos, salvo que los conjuntos, salvo que los conjuntos permiten que cada elemento aparezca, como mucho, una vez.
En general, los atributos multivalorados de los esquemas E-R se pueden asignar en SQL a atributos valorados como multiconjuntos; si el orden es impórtate, se pueden usar los arrays de SQL en lugar de los multiconjuntos.

SQL ofrece gran variedad de operadores para multiconjuntos, incluido la función set , que calcula versión libre duplicada del multiconjunto, la operación agregada intersection , cuyo resultado es la intersección de todos los multiconjuntos
de un grupo, y el predicado submultiset, comprueba si el multiconjunto está contenido en otro multiconjunto. create type Libro as
(titulo varchar(20),
array_autores varchar(20) array[10],
fecha_publicacion date,
editor Editor,
conjunto_palabras_clave varchar(20) multiset)

create table libros of Libro 7.6IDENTIDAD DE LOS OBJETOS Y TIPOS DE
REFERENCIA EN SQL Las filas de una tabla de base de datos relacional no tienen identidades únicas. Dado que cada fila tiene una clave principal única, dos filas no comparten el mismo valor de clave.

Sin embargo, este hecho restringe sólo el contenido de la tabla de base de datos.
En realidad, la mayoría de las veces los datos se extraen de la base de datos y se colocan en un nivel diferente, donde una aplicación trabaja con ellos.

Éste es el modelo que a SQL admite. Cuando los datos se extraen de la base de datos como filas, no se espera que dos filas que representan los mismos datos realmente se correspondan con las mismas instancias de fila. Las bases de datos orientadas a objetos pretenden unir la capacidad de manipulación de datos de los LPOO con la capacidad de almacenamiento y consulta de los SGBD.
Ø Crear objetos
Ø Crear clases para organizar objetos
Ø Llamar métodos para acceder objetos específicos
Ø Estructuras jerárquicas de herencia para organizar clases y sub-clases 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. Los elementos de datos básicos son registros bastante pequeños cuyos campos son atómicos. En los últimos años, ha crecido la demanda de formas de abordar tipos de datos más complejos.

Considérense por ejemplo, las direcciones. Mientras que una dirección completa se puede considerar como un elemento de datos atómico del tipo cadena de caracteres, esa forma de verlo esconde detalles como la calle, la población y el código postal que pueden ser interesantes para las consultas.


Por otra parte, si una dirección se representa dividiéndola en sus componentes, la escritura de las consultas sería más complicada.
Como ejemplo adicional, considérense los atributos multivalorados del modelo E-R. Esos atributos resultan naturales, por ejemplo, para la representación de números de teléfono, ya que las personas pueden tener más de un teléfono. La herencia de tablas permite al programador crear tablas de base de datos que heredan de otras tablas de la misma forma que las clases pueden heredar de otras clases en los lenguajes orientados a objetos. La herencia de tablas es una forma sencilla de que dos o más tablas compartan información en una única tabla padre. Observa el siguiente diagrama para comprender mejor el funcionamiento de la herencia de tablas.








El hecho de que las columnas comunes estén duplicadas en las sub-tablas es una mejora del rendimiento y de la escalabilidad, ya que Doctrine no tiene que hacer uniones SQL automáticas con la tabla padre para obtener los datos compartidos que pertenecen a un registro de una sub-tabla
Full transcript