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

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

Bancos de Dados Orientados a Objetos

Apresentações semelhantes


Apresentação em tema: "Bancos de Dados Orientados a Objetos"— Transcrição da apresentação:

1 Bancos de Dados Orientados a Objetos
Prof. Benedito Ferreira Contribuições: Profa. Carla Alessandra Lima Reis Prof. Rodrigo Quites Reis

2 1 INTRODUÇÃO

3 Evolução dos Sistemas de BD
Sistemas de Arquivos 1950 1960 1970 1980 1990 Modelo Hierárquico Modelo Rede Modelo Relacional SGBD 3a Ger. 1. Evolução dos Sistemas de BD

4 Principais vantagens do enfoque SGBD
- Independência de dados - Suporte a múltiplas visões - Controle centralizado As aplicações da tecnologia de bancos de dados estão se expandindo continuamente, uma vez que dados ocupam papel central em qualquer sistema de informações

5 CICLO DE VIDA DE UM SISTEMA
DE INFORMAÇÃO (em cascata)

6 FASES DO PROJETO DE BANCOS DE DADOS

7 Exemplo de Projeto de BD Relacional (Universidade)
Premissas Básicas - Todo aluno pertence a um (e somente um) curso; - Cada curso deve ter no mínimo 10 alunos; - Todo professor pertence a um (e somente um) departamento; - Cada departamento deve ter no mínimo 10 professores; - Cada departamento possui um chefe; - Todo curso possui um professor coordenador; - Um curso é constituído de várias disciplinas (não exclusivas); - Cada disciplina pode ser ofertada em várias turmas; - O aluno possui registro das disciplina já cursadas.

8 1. Evolução dos Sistemas de BD

9 (Universidade) Mapeamento ER- Relacional
Departamento(coddep, nome, ..., cod-chefe) Professor(codprof, nome, endereco...., cod-depto) Curso(codcurso, nome, ..., cod-coorden, cod-depto) Aluno(matrícula, nome, ..., cod-curso) Disciplina(coddisc, nome, cred, ch) 1. Evolução dos Sistemas de BD

10 (Universidade) Mapeamento ER- Relacional
Turma(numturma, cod-discipl, sala, horario, cod-professor) Grade-Curric(cod-curso, cod-disciplina) Histórico(mat-aluno, cod-disciplina, semestre, nota) Matrícula-aluno(mat-aluno, cod-discipl, numturma) 1. Evolução dos Sistemas de BD

11 1.1.2 Exemplos de tabelas para o BD Universidade
Aluno Curso Professor Disciplina JáCursou_ Disciplina Departamento 1. Evolução dos Sistemas de BD

12 Exemplos de Consultas SQL
Qual o endereço do Prof. Lucas Almeida? SELECT ENDERECO FROM PROFESSOR WHERE NOME = ‘LUCAS ALMEIDA’ 1. Evolução dos Sistemas de BD

13 Qual o nome do departamento onde trabalha o Prof. ‘Joel Freitas’?
SELECT DEPARTAMENTO.NOME FROM PROFESSOR , DEPARTAMENTO WHERE COD-DEPTO = CODDEP AND PROFESSOR.NOME = ‘Joel Freitas’ SELECT NOME FROM DEPARTAMENTO WHERE CODDEP IN ( SELECT COD-DEPTO FROM PROFESSOR WHERE NOME = ‘Joel Freitas’ ) 1. Evolução dos Sistemas de BD

14 Qual o nome do coordenador do curso em que estuda ‘Jonas Lobo’ ?
SELECT P.NOME FROM PROFESSOR P, CURSO, ALUNO A WHERE COD-CURSO = CODCURSO AND COD-COORDEN = CODPROF AND A.NOME = ‘Jonas Lobo’ 1. Evolução dos Sistemas de BD

15 Qual o nome do chefe do departamento em que trabalha ‘Júlio Serrão’ ?
SELECT C.NOME FROM PROFESSOR C P, DEPARTAMENTO WHERE P.COD-DEPTO = CODDEP AND COD-CHEFE = C.CODPROF AND P.NOME = ‘JÚLIO SERRÃO’ 1. Evolução dos Sistemas de BD

16 BDOO - Motivação básica
Sistemas e modelos de BD tradicionais apresentam limitações no projeto e implementação dos chamados BD não convencionais.

17 Manifestos de SGBDOO 1o Manifesto: + Motivação: Proposta:
“The Object-Oriented Database System Manifesto” [Atkinson et al.1989] Motivação: Falta de modelo de dados comum Falta de fundamentos formais Grande atividade experimental Proposta: Características obrigatórias Opcionais Em aberto SGBDOO + SGBD Sistema OO 1. Evolução dos Sistemas de BD

18 Manifestos de SGBDOO 1o Manifesto: Obrigatórias: Opcionais:
Objetos Complexos Identidade de Objetos Encapsulamento Tipos e Classes Hierarquia de classes e tipos Ligação dinâmica e reescrita Completeza computacional Extensibilidade Persistência Gerência de armazenamento Concorrência Recuperação Facilidade de consulta Opcionais: Herança múltipla Checagem de tipos Transações (longas ou aninhadas) Versões 1. Evolução dos Sistemas de BD

19 Manifestos de SGBDOO 2o Manifesto:
“Third Generation Data Base System Manifesto” [Committee for Advanced DBMS Function, 1990] Princípios: Suporte a estruturas de objetos mais ricas e regras Não regredir os avanços do modelo relacional (acesso não procedural e indep. de dados) Sistemas Abertos 1. Evolução dos Sistemas de BD

20 Manifestos de SGBDOO 2o Manifesto: 13 proposições:
Especificação de coleções Visões atualizáveis Acessibilidade a partir de múltiplas linguagens Persistência suportada por extensões ao compilador SQL = linguagem universal Consultas e respostas devem ser o menor elemento de comunicação cliente/servidor 2o Manifesto: 13 proposições: Sistema de tipos rico Herança simples e múltipla Funções e encapsulamento em ling. de alto nível Identificadores únicos somente se não houver chave primária Regras forçadas pelo SGBD Acesso ao BD através de ling. não procedural (alto nível) 1. Evolução dos Sistemas de BD

21 Aplicações convencionais
(mais comuns no ambiente tipicamente comercial) Processamento de arquivos grandes, de estrutura simples e repetitiva. Em geral, são facilmente desenvolvidas com o auxílio de SGBDs convencionais (1a. E 2a. gerações)

22 Aplicações convencionais
Características: Uniformidade: grande número de itens de dados estruturados Orientação a registros Itens de dados pequenos Campos atômicos (1a forma normal) Transações curtas Esquemas conceituais estáticos

23 Aplicações não-convencionais
Novas aplicações, cujos requisitos, em geral, excedem a capacidade dos SGBDs convencionais. Requisitos e características: - estrutura mais complexa para os objetos; - transações longas; - armazenamento de imagens e grandes ítens textuais; - novas operações (não padronizadas).

24 Exemplos... - Eng. de software: ferramentas CASE; - CAD/CAM e CIM
- telecomunicações - sistemas cartográficos - BD multimídia - BD textuais / automação de escritórios - Aplicações médicas e científicas - Sistemas Especialistas: dados + regras

25 Modelos de dados Tendência moderna: um modelo deve representar a estrutura dos objetos modelados, seu comportamento, e também um conjunto de restrições de integridade.

26 Modelagem: representação
- Deve ser feita através de conceitos o mais próximo possível da aplicação; - Naturalidade: modelo deve “espelhar” a realidade da aplicação e não o contrário.

27 Evolução dos modelos: Anos 60: modelos hierárquico e de redes (1a.
geração) Anos 70: modelo relacional (2a. geração) - base formal, - homogeneidade, - simplicidade na representação da realidade - álgebra relacional

28 Modelagem Semântica As limitações do modelo relacional em termos do poder de expressão semântica despertaram o interesse por modelos semânticos. - Modelo E-R (Chen, 1976); - Modelo Hierárquico Semântico; - Modelo de Dados Semântico; - Modelo rm/t.

29 Tendências das soluções
Os desafios das novas aplicações tem levado as pesquisas na área de BD a aproximar essa tecnologia cada vez mais a conceitos de outras áreas Ex: linguagens de programação (particularmente orientação a objetos) e inteligência artificial (sistemas de bases de conhecimento).

30 As novas aplicações possuem 3 dimensões:
1. Gerência de dados 2. Gerência de objetos 3. Gerência de conhecimento

31 BDOO BDOO foram propostos visando atender as necessidades das aplicações não-convencionais. Característica chave: permite ao projetista especificar estrutura e comportamento de objetos complexos.

32 Protótipos experimentais
- ORION (MCC) - OPENOODB(Texas Instruments) - IRIS (HP) - ODE (AT&T Bell) - ENCORE/ObServer (Brown University)

33 Sistemas disponíveis comercialmente
- GEMSTONE/OPAL - ONTOS - Objectivity - Versant - ObjectStore - ARDENT - POET

34 Importante meta dos BDOO:
Manter uma correspondência direta entre o “mundo real” e os objetos do BD, de tal modo que os objetos não percam sua integridade e identidade e possam facilmente ser identificados e submeti-dos a operações.

35 Origem de OO O termo Orientado a objetos (OO) teve sua origem em linguagens de programação hoje... - Engenharia de Software - Bases de conhecimento - Inteligência artificial - etc.

36 Na linguagem SIMULA... Classe: agrupa a estrutura de dados interna de um objeto Tipos abstratos de dados: escondem a estrutura de dados interna e especificam as operações externas que podem ser aplicadas a um objeto.  ENCAPSULAMENTO Objeto  estado(valor) + comportamento(operações)

37 Classes de objetos: Implementação do mecanismo de abstração de classificação Outras implementações desse mecanismo: - entidade (E-R) - relação (Relacional) - arquivo (sistemas “tradicionais”)

38 Exemplo informal: Classes: ALUNO CURSO DEPARTAMENTO Objetos
George CBCC Estatística Ana Pedagogia Didática

39 Objetos X Variáveis Objetos podem possuir uma estrutura arbitrariamente complexa: aplicação ortogonal de construtores (array, tupla, conjunto, etc.) Objetos podem possuir operações para si especificadas (definidas pelo projetista/programador). Objetos: estado + comportamento

40 Encapsulamento Operações embutidas nos objetos são definidas em duas partes: - Assinatura ou interface: nome + argumentos (parâmetros) - Método ou corpo: implementação da operação  Operações são invocadas através do envio de uma mensagem ao objeto.

41 Encapsulamento Encapsulamento possibilita independência de dados e operações: Modificações na estrutura interna de um objeto e na implementação de operações sem repercussões nas aplicações que interagem com aquele objeto.

42 Encapsulamento  Alguns modelos OO exigem que todas as operações que um usuário possa aplicar a um objeto devem ser pré-definidas: encapsulamento absoluto Rigidez muito grande que, em muitos casos, é relaxada: - Especificação de seleções pelo usuário; - Consultas ad hoc.

43 BDOO X “tradicionais” Nos BDOO as informações sobre um objeto (incluindo operações) tendem a estar reunidas. Nos BD “tradicionais” essas informações costumam ficar “pulverizadas” em várias tabelas e registros.

44 LPOO LPOO’s puras: explicitamente projetadas para serem orientadas a objetos Ex: Smaltalk LPOO’s híbridas: incorporação dos conceitos de OO em uma linguagem já existente. Ex: C++

45 LPOO X BDOO LPOO Objetos são transientes: existem somente durante a execução de um programa. BDOO Objetos são persistentes: são armazenados permanentemente.

46 IDENTIFICADORES ÚNICOS
BDOO devem prover um identificador único (OID) para cada objeto. OID versus chave primária: Se os valores da CP mudam, teremos uma nova tupla. No mod. relacional, um mesmo objeto pode ter diferentes nomes para a CP, em diferentes relações.

47 Padrão para linguagens e modelos
À medida que SGBDOO tornam-se disponíveis, surge a necessidade de um padrão ODMG: Object Database Management Group

48 ODMG (Object Database Management Group)
Consórcio formado por fabricantes de SGBDOO Padrão de interface para SGBDOO Versões: ODMG 1.0 (93), ODMG 1.2 (95), ODMG 2.0 (97), ODMG 3.0 (2000) Componentes: Modelo de Objetos ODL - Object Definition Language OQL - Object Query Language (baseado em SQL-92) Ligações (bindings) com LPOO: C++, Smalltalk, Java (mais recente) 1. Evolução dos Sistemas de BD

49 Hierarquias de classes/tipos
Nos modelos OO, podemos construir novas classes (ou tipos) a partir de outras previamente definidas. Herança: As subclasses herdam tanto estrutura como operações da(s) classe(s) base.

50 Hierarquias de classes/tipos
Benefícios: - Torna-se mais fácil desenvolver os tipos/classes incrementalmente. - Reutilização dos esquemas.


Carregar ppt "Bancos de Dados Orientados a Objetos"

Apresentações semelhantes


Anúncios Google