Bancos de Dados Orientados a Objetos

Slides:



Advertisements
Apresentações semelhantes
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Advertisements

Palestras, oficinas e outras atividades
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Raphael Gatti Thomás Bryan
Material pedagógico Multiplicar x 5 Clica!
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Evolução dos SGBD’s (2ª Parte).
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
Funcionalidades de um SGBD
Introdução a Banco de Dados
Introdução a Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues.
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
Maurício Edgar Stivanello
Sistema Gerenciador de Banco de Dados SGBD
Introdução aos Sistemas Gerenciadores de Banco de Dados
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Professora: Aline Vasconcelos
Bancos de Dados com Objetos
SCC Bancos de Dados e Suas Aplicações
SCC Bancos de Dados e Suas Aplicações
Conceitos Básicos Dado: fato do mundo real que está registrado e possui um significado implícito no contexto de um domínio de aplicação Exemplos: endereço,
Seminários Avançados I
Prof. Alexander Roberto Valdameri
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
Aula 4 Nomes, Vinculações, Tipos e Escopos
Questionário de Avaliação Institucional
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação Orientada a Objetos
Provas de Concursos Anteriores
Mapeamento de Objetos para Tabelas Relacionais
Administração de Sistemas de Informação Banco de Dados
TÉCNICAS DE PROGRAMAÇÃO II
Monitoria GDI Aula Prática
Educação Profissional Técnica de Nível Médio em Informática
Engenharia de Requisitos
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Aluno: Mário Monteiro Orientador: Sérgio Soares 1.
Object Oriented Software Construction (MEYER, Bertrand)
Banco de Dados II Prof. Antônio Cordeiro.
Mapeamento de Objetos para o Modelo Relacional - Introdução
Taxonomia Profa. Lillian Alvares,
Coordenação Geral de Ensino da Faculdade
Banco de Dados de Objetos
Tecnologia da Informação
1.
Projeto de Banco de Dados
Introdução a Banco de dados
BPM BUSINESS PROCESS MANAGEMENT Projecto em Informática e Gestão de Empresas Lisboa, 20 de Junho de 2006.
Marcio de Carvalho Victorino
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
1 Segunda fase do projeto: Desenvolvimento do “Catálogo Virtual” Foco em Sistemas de Informação Desenvolvimento baseado no diagnóstico e na interação com.
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Contexto da disciplina
A abordagem de banco de dados para gerenciamento de dados
Comandos SQL.
Banco de Dados Aplicado ao Desenvolvimento de Software
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Mestrado em Engenharia de Computação área de concentração Geomática
ODMG - Object Database Management Group Padrão para SGBDOO Consórcio de pesquisadores e fabricantes Objetivo –integração e padronização de funcionalidades.
Banco de Dados Universidade do Estado de Santa Catarina
Projeto de Banco de Dados
UCSal – Bacharelado em Informática
Plano de Ensino Conceitos e Características Tipos de Banco de Dados
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
Banco de Dados Parte 1 Profa. Ana Karina Barbosa Fevereiro/2008.
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

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

1 INTRODUÇÃO

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

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

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

FASES DO PROJETO DE BANCOS DE DADOS

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.

1. Evolução dos Sistemas de BD

(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

(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

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

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

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

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

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

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.

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

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

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

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

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)

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

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).

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

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.

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.

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

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.

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).

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

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.

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

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

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.

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.

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)

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”)

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

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

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.

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.

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.

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.

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++

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.

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.

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

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

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.

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