BD Orientadas a Objetos

BD Orientadas a Objetos • debilidades en Modelo Relacional en áreas como por ejemplo CAD/CAM o CASE ... • • • • mejorar desempeño (mucho desarmar

53 downloads 234 Views 114KB Size

Recommend Stories


Ciudades orientadas a las personas
13-11-2009 Ciudades orientadas a las personas Copenhagen: •Desde 1962 renovación del centro, peatonalización y promoción de las bicicletas Melbourne:

Persistencia Orientada a objetos
Persistencia Orientada a objetos Prof. Mg. Javier Bazzocco 2011 1 Bazzocco, Javier Persistencia orientada a objetos. - 1a ed. - La Plata : Universi

BD - Bases de Datos
Última modificación: 19-02-2016 270010 - BD - Bases de Datos Unidad responsable: 270 - FIB - Facultad de Informática de Barcelona Unidad que impart

Modelos Avanzados de Bases de Datos. Funcionalidad 1. Bases de datos Orientadas a Objetos y Bases de Datos Objeto-Relacionales
UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA Modelos Avanzados de Bases de Datos. Funcionalidad 1 Bases de datos Orientadas a O

Orientación a objetos en PHP
Orientación a objetos en PHP Dídac Gil de la Iglesia PID_00155710 CC-BY • PID_00155710 Los textos e imágenes publicados en esta obra están sujetos

POO - Programación Orientada a Objetos
Última modificación: 08-03-2016 230086 - POO - Programación Orientada a Objetos Unidad responsable: 230 - ETSETB - Escuela Técnica Superior de Ingen

Story Transcript

BD Orientadas a Objetos



debilidades en Modelo Relacional en áreas como por ejemplo CAD/CAM o CASE ...

• •

• •

mejorar desempeño (mucho desarmar y armar la información en modelo relacional) elevar el nivel de abstracción (uno debería agregar una factura y no una tupla de una tabla y 10 de otra

se puede usar lenguajes de consulta Introducción ha resultado mas lenta de lo esperado

Prof. Jaime Navón 230

BD2006

OO sobre modelo Relacional



10 años atrás …





modelo basado en objetos desplazaría al relacional en la misma forma que este último desplazó a los anteriores

razonamiento se ha demostrado inválido y modelo relacional sigue liderando porque

• • • • •

a diferencia de los anteriores es un modelo verdaderamente general tiene bases matemáticas muy sólidos SQL es un standard universal (aún no existe un standard equivalente en OODBMS) Desempeño ha mejorado significativamente Aparición de los sistemas objeto-relacionales (soporte de objetos sobre RDBMS)

Prof. Jaime Navón 231

BD2006

Perspectivas del Mercado

• • • •

Estudio realizado por IDC Market Research Ventas en 2001 de sistemas relacionales y objeto-relacionales de US$ 15.600 millones Ventas en 2001 de sistemas orientados a objetos de US$ 265 millones Proyección de crecimiento

• •

Prof. Jaime Navón 232

sistemas relacionales y objeto-relacionales 18.2 % sistemas orientados a objetos 12.5 %

BD2006

Enfoque de ODMG (ODL/OQL)

• • • •



Intento de estandarizar el modelo de objetos para BD ODL - Object Description Language OQL - Object Query Language (similar a SQL) Declaración de una Clase (Interface) en ODL

• • •

nombre de la clase declaración de la extensión (extent) - el conjunto que contiene los objetos de la clase declaración de los elementos de la clase

• • •

atributos métodos relaciones (relationships)

Sintaxis



interface { }

Prof. Jaime Navón 233

BD2006

Atributos y Relaciones • • •

los atributos son elementos de tipos que no involucran clases



attribute ;

las relaciones conectan un objeto de una clase con uno o mas objetos de otra clase



relationship inverse ;

Si C está relacionado con D a través de R entonces D debe estar relacionado con C a través de S

Ejemplo interface Bar { attribute string name;

Bar

attribute string addr;

name

serves

name

relationship Set serves inverse Beer::servedAt;

addr

} interface Beer { attribute string name; attribute string manf;

relationship Set servedAt inverse Bar::serves; }

Prof. Jaime Navón 234

BD2006

Beer

served_at

manf

Tipos de Relaciones •

Bar





Set





un objeto está conectado a un Bag de objetos Bar

List





un objeto está conectado a un conjunto de objetos Bar

Bag





en este caso un objeto puede estar conectado con un solo objeto de esa clase

un objeto está conectado a una Lista de objetos Bar

Array



Prof. Jaime Navón 235

un objeto está conectado a un Array de objetos Bar

BD2006

Tipo de Relaciones

• •

Todas las relaciones son binarias Multiplicidad

• • •

likes Drinker

1 - 1 tiene clases en ambos lados 1 - * tiene en un lado Set * - * tiene Set en ambos lados

Beer fans

name

favBeer

manf

superfans

Ejemplo interface Drinker { … relationship Set likes inverse Beer::fans; relationship Beer favBeer inverse Beer::superfans; } interface Beer { … relationship Set fans inverse Drinker::likes;

relationship Set superfans inverse Drinker::favBeer; }

Prof. Jaime Navón 236

BD2006

Tipos de Dato

• •

tipos básicos



int, real/float, string, tipos enumerados, y classes.

constructores

• •



Prof. Jaime Navón 237

Struct para estructuras Colecciones

• • • • •

Set Bag List Array Dictionary

Tipos Relationship solo pueden seer una clase o una colección aplicada a una clase

BD2006

Subclases

• • •

lo usual en lenguajes object-oriented Se indica superclase con : y el nombre La subclase solo lista la propiedades que son únicas (también hereda propiedades de la superclase)

Ejemplo interface Ale:Beer { attribute string color; }

Prof. Jaime Navón 238

BD2006

Extensión (Extents)

• • • •

Cada clase tiene su extent representa el conjunto de objetos de esa clase se indica después del nombre de la clase junto con las claves (extent ) por convención se acostumbra usar singular para la clase y plural para el extents

Ejemplo interface Beer (extent Beers key name) { … }

Prof. Jaime Navón 239

BD2006

OQL

• • • •

Usa ODL como el lenguaje de definición del esquema tipos de dato son los mismos de ODL Set(Struct) y Bag(Struct) juegan el rol de tablas Se usan path expresions. Supongamos que x es un objeto de la clase C

• • •

si a es un atributo de C entonces x.a es el valor del atributo si r es una relación de C entonces x.r es el valor al cual x está conectado (podría ser un Set) si m es un método de C entonces x.m es el resultado de aplicar m a x

Prof. Jaime Navón 240

BD2006

Ejemplo Bar interface Sell (extent Sells) {

name

attribute real price;

addr

relationship Bar bar inverse Bar::beersSold; relationship Beer beer inverse Beers::soldBy; }

beersSold

interface Bar (extent Bars) {

bar

attribute string name; attribute string addr; relationship Set beersSold inverse Sell::bar; }

Sell price

interface Beer (extent Beers) { attribute string name; attribute string manf; relationship Set soldBy inverse Sell::beer;

beer

}

Beer name manf

Prof. Jaime Navón 241

BD2006

soldBy

Select



Similar al Select de SQL SELECT

Bar

FROM



name addr

WHERE

cada término del FROM tiene la forma

beersSold

bar





una colección puede ser un extent o una expresión que evalúa a una colección (b.beersSold)

Ejemplos

price

beer

SELECT s.beer.name, s.price FROM Sells s WHERE s.bar.name = “Joe’s Bar”

Beer name manf

SELECT s.beer.name, s.price FROM Bars b, b.beersSold s WHERE b.name = “Joe’s Bar” Prof. Jaime Navón 242

Sell

BD2006

soldBy

Futuro de ODL/OQL

• • •

ODMG se disolvió después de producir la especificación ODMG 3.0 que incluye un modelo de objetos ODL, OQL y bindings para C++, Smalltalk y Java el binding con Java fue entregado a JCP (Java Community Process) y dió origen a JDO (Java Data Objects) Probablemente JDO se transforme en la manera de acceder en forma transparente a BD desde Java (proporciona lo que se conoce como transparent persistence)

Prof. Jaime Navón 243

BD2006

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.