A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

I- Introdução Motivação.

Apresentações semelhantes


Apresentação em tema: "I- Introdução Motivação."— Transcrição da apresentação:

1 I- Introdução Motivação

2 Limitações do Modelo Relacional
Crítica do Modelo Relacional Novas aplicações necessitam de novos conceitos, principalmente tipos complexos de dados e encapsulação Vários desses novos conceitos existem há muitos anos em linguagens de programação orientadas a objeto Um Exemplo de Motivação Nosso problema é de BD espacial. Trata-se de achar os retângulos superpondo o quadrado de lado de tamanho um

3 Exemplo de Motivação Condições para a superposição: x1 <= 1 e y1 <= 1; X2 >= 0 e y2 >= 0, não importando o quadrante As condições para a superposição são válidas se x2 > x1 (ou ponto P2 à direita de ponto P1)

4 Exemplo de Motivação Solução relacional Retângulos (X1, X2, Y1, Y2)
Regra de integridade: Check (X2 > X1) SELECT * FROM RETANGULOS WHERE (x1 <= 1 AND y1 <= 1) AND (x2 >= 0 AND y2 >=0)

5 Exemplo de Motivação Três problemas com esta solução Queremos:
P1. Esquema obscuro P2. Consulta obscura P3. Execução com provável baixo desempenho. Como indexar a tabela Retângulos? Queremos: Representar um ponto como ponto Escrever uma consulta legível Desempenho Solução: BDOO

6 Solução BDOO: Esquema Retângulo Ponto N Definido_por 2 X Y
Repositório: Retângulos Retângulo Ponto N Definido_por 2 X Y {Ponto2.X > Ponto1.X} sobrepoe_quadrado _de_lado_um(); ...

7 Linguagem de Consulta OO, Estilo SQL
Quais os retângulos que sobrepõem um quadrado de lado um? Select r.ponto1, r.ponto2 From Retangulos r Where r.sobrepoe_quadrado_de_lado_um() Basta ler, para entender! sobrepoe_quadrado_de_lado_um() é indexável, como qualquer coluna de tabela

8 Encapsulação Encapsulação das condições de sobreposição
Boolean sobrepoe_quadrado_lado_um() { If ((self.ponto1.x1 <= 1 and self.ponto1.y1 <= 1) and (self.ponto2.x2 >= 0 and self.ponto2. y2 >=0)) then return true else return false; }

9 Regra de integridade: implementada no método construtor Retangulo()
Retangulos agora torna-se um repositório de objetos da classe Retangulo A encapsulação deve ser parcial, para ainda permitir interfaces estilo-SQL (Select colunax ...)

10 O Mercado de SGBDs OO Pequenas empresas investiam na construção completa de SGBDs OO, mas desistiram Dois ‘grandes’ do mercado de SGBDs (Oracle e IBM) continuam investindo pesadamente em seus SGBDs relacionais Nova geração: SGBDs Objeto-Relacionais (SGBDOR) Dois outros outrora ‘grandes’ Informix Incorporado e destruído pela IBM Sybase Não se expandiu fora do mercado americano Microsoft?


Carregar ppt "I- Introdução Motivação."

Apresentações semelhantes


Anúncios Google