Sumário. BD Orientado a Objetos

Documentos relacionados
2. Revisão e Dicas de Modelagem Conceitual

BD Objeto-Relacional - Motivação

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

ODMG - Object Database Management Group

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

BANCO DE DADOS ORIENTADO A OBJETOS

4. BD Objeto-Relacional (BDOR)

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

Projeto Lógico de BDOO

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Modelagem de BDG. Modelagem de BDG

POO e C++: Herança e Polimorfismo

INE 5454 Tópicos Especiais em Gerência de Dados

MODELAGEM DE DADOS -PROJETO CONCEITUAL DE BD. Prof. Angelo Augusto Frozza, M.Sc.

UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto

MAPEAMENTO OBJETO RELACIONAL

Linguagem de Programação I Apresentação da Disciplina

Sobreposição de Métodos

O que é modelo lógico. Tipos de modelo

Capítulo 2. Orientação a Objetos

Modelagem semântica permite aproximar o modelo obtido do mundo real Exemplo de modelos:

Unidade 2 Modelo Conceitual

BANCO DE DADOS GEOGRÁFICOS E WEBMAPPING -PROJETO LÓGICO RELACIONAL. Prof. Angelo Augusto Frozza, M.Sc.

Requisitos de sistemas

Orientação a Objetos (OO)

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Classe Abstrata e Interface

Classes e Objetos. Sintaxe de classe em Java

MODELAGEM DE DADOS UNIDADE 1 Visão Geral. Luiz Leão

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

Conceitos de Programação Orientada a Objetos

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br

MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores

MATA60 BANCO DE DADOS Aula 5- Modelo Relacional. Prof. Daniela Barreiro Claro

Laboratório de programação II

Bancos de Dados Não- Convencionais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Sumário. Banco de Dados Temporal

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Banco de Dados Relacional

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Conceitos de Programação Orientada a Objetos

Modelo Relacional. Banco de Dados 2º trimestre Prof. Patrícia Lucas

Programação Orientada a Objetos

PROJETO DE BANCO DE DADOS -PROJETO CONCEITUAL. Prof. Angelo Augusto Frozza, M.Sc.

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Programação Orientada a Objetos

Comparativo entre Banco de Dados Orientado a Objetos (BDOO) e Bancos de Dados Objeto Relacional (BDOR)

INE 5342 Banco de Dados III

Programação Java (nível intermediário) 4. Polimorfismo

modelo introduzido por E. F. Codd Meados da década de 70: protótipos. INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78)

Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco - IFPE

Introdução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Informática. Banco de Dados Relacional. Professor Julio Alves.

Abordagem relacional. Capítulo 4

Fundamentos de Banco de Dados e Modelagem de Dados

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos

Unidade 3 23/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

Unidade: sobrecarga, construtores e herança

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Fundamentos de Orientação à objetos

Modelagem de Sistemas Web. Modelagem de BD

Linguagens de Programação Aula 12

Sistemas de Banco de Dados Prof. Flávio de Oliveira Silva, M.Sc. O esquema de uma relação é escrito da seguinte forma:

Modelo Entidade Relacionamento

SUMÁRIO. Introdução Modelo de Dados Esquema Geral de Modelagem de BD; ME-R: Conceitos gerais; DE-R Representação e exemplos.

INTRODUÇÃO AO MODELO RELACIONAL

Faculdade Ieducare 4º Semestre Sistemas de Informação Professor: Rhyan Ximenes

Programação por Objectos. Java

Conceitos de Sistemas de Banco de Dados INE 5323

Banco de Dados. Modelagem de Dados. Prof.: Salustiano Rodrigues

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Transcrição:

Sumário 1. BD Orientado a Objetos (BDOO) 2. BD Objeto-Relacional (BDOR) 3. BD Temporal (BDT) 4. BD Geográfico (BDG) 5. Tecnologia XML e BD com suporte à gerência de dados XML BD Orientado a Objetos BDOO: paradigma OO + SGBD orientação a objetos encapsulamento: objeto encapsula uma estrutura (atributos) e um comportamento (métodos) vantagem: cada aplicação com sua interface ( visão ) particular dos dados reusabilidade: novos objetos podem aproveitar propriedades já definidas em outros objetos vantagem: redefinições de dados são evitadas SGBD gerenciamento eficiente de dados operacionais (persistentes) acesso otimizado e concorrente; segurança; integridade;... SGBDOO: gerenciamento de objetos persistentes 1

Modelo de Dados OO BDR modelo formalmente definido e com um conjunto fixo de conceitos BDOO falta de consenso sobre um padrão (conjunto de conceitos) SGBDOOs com modelos heterogêneos carência de uma base formal início das pesquisas em BDOO muita atividade experimental, voltada às necessidades das aplicações tentativa de padronização: ODMG Modelo de Dados OO - Conceitos 1. Identidade de objeto (OID) 2. Métodos 3. Classes 4. Estruturas complexas 5. Herança 6. Late Binding (ligação tardia) 2

Modelo de Dados OO - Conceitos 1. Identidade de objeto (OID) 2. Métodos 3. Classes 4. Estruturas complexas 5. Herança 6. Late Binding (ligação tardia) Identidade do Objeto (OID) Identificador único de cada objeto gerado pelo SGBDOO e imutável visível ou não para o usuário Diferenças com relação a BDR chave primária é passível de alteração consistência de unicidade consistência de integridade referencial chave primária em alguns casos é um atributo artificial e visível ao usuário atributo adicional sem muita semântica 3

Relacionamentos entre Objetos Referências a OIDs objeto Pessoa objeto Automóvel nome: João Silva sexo: M... automóvel OID(WV Gol i) OID(João Silva) marca: WV modelo: Gol i... proprietário Vantagem tipo do dado para referências é uniforme (OID) evita consistência de tipo de dado Igualdade de Identidade Introduz dois tipos de comparação igualdade de identidade (=) (para OIDs) igualdade de valor (= =) (para atributos) o1 nome: João Silva sexo: M o2 nome: João Silva sexo: M o1 = = o2 (verdadeiro!) o1 = o2 (?) Observação OID não dispensa (não substitui) a definição de um identificador visível para o usuário 4

Modelo de Dados OO - Conceitos 1. Identidade de objeto (OID) 2. Métodos 3. Classes 4. Estruturas complexas 5. Herança 6. Late Binding (ligação tardia) Métodos Operações associadas a um objeto comportamento de um objeto é mantido no BD BDR mantém apenas a estrutura dos dados Composição assinatura (interface pública do objeto) implementação (LPOO utilizada pelo BDOO) Vantagem: encapsulamento de comportamento simplifica o código das aplicações cada aplicação acessa uma interface particular autorizações de acesso e/ou visões podem ser aplicadas a nível de métodos métodos podem servir para programação de RIs BDOOs não possuem, em geral, linguagens sofisticadas para RIs, como checks e triggers 5

Métodos objeto Pessoa objeto Automóvel nome: João Silva sexo: M... automóvel nome( ) idade( ) temautomóvel?( ) marca: WV modelo: Gol i... proprietário Modelo de Dados OO - Conceitos 1. Identidade de objeto (OID) 2. Métodos 3. Classes 4. Estruturas complexas 5. Herança 6. Late Binding (ligação tardia) 6

Classe Conjunto de objetos (instâncias) com a mesma estrutura e comportamento Base para a formulação de operações função idêntica a de uma tabela em um BDR Vantagem: reusabilidade instâncias de uma classe compartilham a mesma estrutura e implementação de métodos Empregados CPF nome salário cargo cargo? demite reajustasalário i i i 50558976-90; João Silva; R$670,00; secretário 43539083-77; Maria Souza; R$890,00; dentista... 75237111-81; Pedro Santos; R$990,00; faxineiro Tipo X Classe Ambos os conceitos podem ocorrer em SGBDOOs Principal consenso Tipo definição de uma estrutura e/ou assinatura de métodos não possui uma extensão (instâncias) utilizado na definição de uma ou mais classes Classe definição de um conjunto de instâncias (extensão) base para consultas ao BD pode ou não ser definida a partir de um tipo implementa os métodos do tipo, caso ela tenha sido definida a partir de um tipo 7

Tipo X Classe - Exemplos type Pessoa ( nome string; sexo char; método idade() retorna inteiro;...) classe Empregado type Pessoa ( método idade() retorna inteiro begin... end;...) classe Estudante type Pessoa (...) classe Automóvel ( marca: string; modelo: string;...) Modelo de Dados OO - Conceitos 1. Identidade de objeto (OID) 2. Métodos 3. Classes 4. Estruturas complexas 5. Herança 6. Late Binding (ligação tardia) 8

Estruturas Complexas Atributos com domínios não-atômicos característica não suportada por BDRs Tipos de domínios primitivos (atômicos) inteiros, cadeias de caracteres, datas,... referência (OIDs) nomes de classes (determinam relacionamentos) construídos a partir de construtores de tipos definição de domínios complexos pelo usuário Vantagem flexibilidade na definição de objetos complexos Construtores de Tipos Tupla (tuple) domínio é um registro Conjunto/Coleção (set/bag) domínio é um grupo de dados Lista (list) domínio é um grupo ordenado de dados Exemplos de domínios complexos conjunto de inteiros tuplas de listas de strings listas de conjuntos de tuplas... 9

Exemplo de Classe Classe Empregados ( CPF: integer, nome: string, endereço: TUPLE ( rua: string, número: integer, cidade: Cidades ), especializações: LIST(string), (por ordem de experiência) cargo: string; departamento: Departamentos, salário: real, atividades: SET (TUPLE (projeto: Projetos, tarefa: string) ) ); primitivos referência construtores de tipos Modelo de Dados OO - Conceitos 1. Identidade de objeto (OID) 2. Métodos 3. Classes 4. Estruturas complexas 5. Herança 6. Late Binding (ligação tardia) 10

Herança Suporte à representação de relacionamentos com semântica de generalização e especialização especialização classe (subclasse) herda propriedades de outra classe (superclasse) e define novas propriedades subclasse: categorização da superclasse generalização (É-UM) propriedades comuns de classes (subclasses) podem ser definidas uma única vez em uma superclasse Vantagem: reusabilidade Hierarquia de Herança Pessoas CPF nome endereço DN idade alteraendereço Empregados salário cargo reajustasalário Estudantes instituição alterainstituição Universitários curso 11

Questões sobre Herança Redefinição de propriedades (Overriding) preocupação: consultas válidas na superclasse alternativas (i) redefinição não é permitida (herança estrita); ou (ii) atributos: domínios mais restritos exemplo: A: real (superclasse) A: inteiro (subclasse) e métodos: domínios mais restritos para os parâmetros e para o tipo do resultado Metaclasses superclasses sem extensão ( classes abstratas ) definem atributos e implementam métodos que são herdados para classes concretas Questões sobre Herança Herança múltipla subclasse herda propriedades de mais de uma superclasse (conflitos podem ocorrer!) algumas alternativas (i) herança múltipla não é permitida (ii) herança de subclasse default (a primeira na lista,...) (iii) herança da propriedade com domínio mais restrito (no caso de origem comum) (iv) herança da propriedade é definida pelo usuário 12

Modelo de Dados OO - Conceitos 1. Identidade de objeto (OID) 2. Métodos 3. Classes 4. Estruturas complexas 5. Herança 6. Late Binding (ligação tardia) Late Binding Característica herdada de LPOO Overloading (sobrecarga) uso de um mesmo nome para mais de um método exemplo: imprimir() em Pessoas e Imagens Late Binding (vinculação tardia) escolha do código do método a ser executado em tempo de execução (depende da classe do objeto e dos parâmetros) LP procedurais: early binding vinculação entre código e nome de procedimento definido em tempo de compilação não é possível um nome ligado a mais de um código 13

Exemplo de Esquema OO Departamentos código nome docentes: SET disciplinas: SET imprimir CPF nome Servidores endereço : TUPLE ( rua, número, cidade) salário DN idade Disciplinas código título créditos departamento responsáveis: SET imprimir Professores titulação áreas: LIST (string) departamento disciplinas: SET Funcionários função Modelo de Dados OO Comparação com o modelo relacional maior nível de abstração modelo de objetos tem maior afinidade semântica com modelos conceituais de dados representação mais natural de uma entidade do mundo real mais adequado a representação de dados complexos de aplicações não-convencionais aplicações CAD, sistemas de informação geográfica,... modelo mais complexo maior número de conceitos 14

Exemplo DN nome CPF salário endereço rua número cidade titulação Professores áreaspesquisa (1, N) (1,N) (1,N) Vínculo Docência Modelagem Conceitual (0,N) (0,N) Projetos código nome créditos fase Disciplinas código título Exemplo CPF nome Professores endereço : TUPLE ( rua, número, cidade) salário DN titulação áreaspesquisa: LIST(string) projetos: SET(Projetos) disciplinas: SET(Disciplinas) Modelagem Lógica OO 15

Exemplo Professores CPF nome rua número cidade salário titulação DN ÁreasPesquisa CPF Área ordem Docência CPF Codd Modelagem Lógica Relacional Pesquisa CPF Codp 16