I- Introdução Motivação. - ppt carregar
PublicouNicole Parreira Alterado mais de 4 anos atrás
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 Linguagem de Consulta OO
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
7 Objetos: Atributos + Métodos
Encapsulação das condições de sobreposição 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; } Regra de integridade: encapsulada no método construtor retangulo() A encapsulação deve ser parcial, para ainda permitir interfaces estilo-SQL (Select colunax ...)
8 SGBDs OO Verificam-se duas tendências no mercado. Por um lado, pequenas empresas investem na construção completa de SGBDs OO Jasmine, da Computer Associates / Fujitsu Por outro lado, dois "grandes" do mercado de SGBDs (Oracle e IBM) continuam investindo pesadamente em seus SGBDs relacionais SGBDs Objeto-Relacionais (SGBD OR) Dois outros "grandes" Informix  IBM Sybase  Oracle? Microsoft?