PostGres: Um Banco de Dados Orientado a Objetos

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Transformação ODMG  Relacional
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Estudo de Caso, modelo Oracle 10g
Gerenciamento de Dados e Informação Estudo de caso – PL/SQL
Banco de Dados I Aula 20.
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
SQL Renata Viegas.
SQL Avançado Continuação
Prof.: Bruno Rafael de Oliveira Rodrigues
Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues.
Prof.: Bruno Rafael de Oliveira Rodrigues
Maurício Edgar Stivanello
Sistema Gerenciador de Banco de Dados SGBD
Orientação a Objetos: Encapsulamento e Classificação
Sistema Gerenciador de Banco de Dados SGBD
Introdução à Engenharia da Computação
Linguagem de Programação II
Bancos de Dados Orientados a Objeto
Classes e objetos P. O. O. Prof. Grace.
FORMAS DE REPRESENTAÇÃO QUE SERVEM PARA DESCREVER AS ESTRUTURAS DAS INFORMAÇÕES CONTIDAS EM UM BD. Modelos de Dados.
Banco de dados Profª Kelly Medeiros.
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
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.
Transformação ODMG Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto Esquema Relacional Transformação Esquema Objeto Esquema.
Funções Declaração function nomedafunção (arg_1, arg_2,..., arg_n) corpoDaFunção end.
Aula prática 13 Orientação a Objetos – C++ Parte 1
Vânia Maria Ponte Vidal
Usuário de SGBD Álvaro Vinícius de Souza Coêlho
Monitoria GDI Aula Prática
Atributos, Encapsulamento e Interface em Java
Design Patterns / Acesso ao banco de dados (java.sql)
Banco de Dados de Objetos
Equipe de monitoria Aula prática 3.  Caso de estudo  Igualando situações  Cursor  Function  Procedure  Trigger  Package  Surpresa...
Primeira aula de PL/SQL Parte II
Especialização em Tecnologia da Informação
Oracle 9i: SQL e PL/SQL Bruno Celso Cunha de Freitas
Conceitos de SGBD Objeto-Relacional Oracle 10g [1]
III – Oracle10g Apontadores – Tipo de Dado (REF).
III – O Modelo OR Estudo de Caso, modelo Oracle 10g.
Desenvolvendo um script SQL
BANCOS DE DADOS ATIVOS Weyler M Lopes © Especialização em Banco de Dados.
Banco de dados.
Aula prática 14 Orientação a Objetos – C++ Parte 2
Triggers (Gatilhos) Professor Esp. Diego André Sant’Ana
Contatos Gladimir Catarino
III – Oracle 9i Indexação. Índices Baseados em Funções É um índice baseado no valor de retorno de uma expressão ou função –A função pode ser um método.
Banco de Dados I I Comandos SQL
Banco de dados 1 Modelagem de Dados Utilizando MER
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho
Linguagem BD + capacidades OO qVariante da representação OO das encomendas EncomTipo = RECORDOF( e#: int, inclui: SETOF( IQTipo ), cliente: ClienteTipo.
SQL (Structured Query Language)
Banco de Dados Relacional Objeto-
ODMG - Object Database Management Group Padrão para SGBDOO Consórcio de pesquisadores e fabricantes Objetivo –integração e padronização de funcionalidades.
Objetos em Bancos de Dados Relacionais Alcides Calsavara.
Conceitos de OO em Java Parte I
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
Daniel Paulo SQL Server 2014 Módulo II Daniel Paulo
VBA – Visual Basic para Aplicativos
Transformação ODMG  Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto  Esquema Relacional.
Bancos de Dados Orientados a Objetos Álvaro Vinícius de Souza Coêlho
BD SQL (Insert, Update, Delete) e Select Hayslan Nicolas Colicheski Bucarth – IFRO / 2015 –
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
Aula 13 - Triggers. Triggers no SGBD Postgres  Os Triggers (Gatilhos) são funções preparadas para serem disparadas no caso de alguma alteração ocorrer.
Persistência de dados e padrão DAO
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Kelyn Schenatto. Definição Linguagem de Consulta Estruturada (Structured Query Language); Desenvolvida inicialmente nos anos 70 nos laboratórios da IBM.
Transcrição da apresentação:

PostGres: Um Banco de Dados Orientado a Objetos Álvaro Vinícius de Souza Coêlho alvaro_degas@yahoo.com.br

PostGres Desenvolvido na Universidade de Berkeley Sucessor do INGRES Atualmente: Miro (Comercial)

PostGres Versão não comercial disponível no site da universidade Escrito em C 180.000 linhas de código

PostGres Relacional Estendido Objetos OIDs “tradicionais” Objetos Compostos Herança Múltipla Versões

PostGres Dados históricos Linguagem de consulta PostQUEL – extensão da linguagem QUEL do INGRES

PostGres Dados históricos: Pode-se consultar sobre o estado do banco em um determinado momento Armazena o estado do BD depois de cada alteração

PostGres Modelo de dados baseado no relacional ADT (Abstract Data Type) – disponível para que se possa definir um novo tipo no Banco de Dados Todos os demais são derivados deste

PostGres Fornece um OID para cada elemento da relação – “mapeando” tabelas em objetos Como criar classes e objetos?

PostGres O projeto: Pessoa Nome Idade Endereço Casar(Pessoa) Separar() TerFilho(Nome) Aniversaria() Mudar(NovEnd) Empresa RazãoSocial Contrata(Pessoa) Demite(Pessoa) Trabalha em Filho de Casado com

PostGres Declaração: Create empresa (CNPJ char [15], razaosocial = char[25], Endereço = char[30], Pessoas = postquel) Key (CNPJ)

PostGres Declaração: Create pessoa ( RG (char[11], nome = char[25], Idade = int, endereco = char [50], empregador = empresa, Filhode = pessoa Casadocom = pessoa) Key (RG)

PostGres Herança Create PrestServico (precohora = float) Inrerits (pessoa)

PostGres Herança múltipla Caso se ponha mais de uma classe no comando inherits Caso haja conflito de nomes de atributos retorna um erro.

PostGres Tipos de dados PostQuel Servem para executar um método que faz o acesso ao relacionamento Uma consulta feita em PostQuel

PostGres Key define um atributo como OID Pode haver mais de um atributo Nenhum pode ser nulo e eles não irão se repetir Implementação quase idêntica à de chave primária do modelo relacional

PostGres Onde está a diferença? Pode-se usar um tipo definido pelo usuário Por exemplo, usar o par (empregador, matricula) Empregador é do tipo empresa Como comparar empresa? Como saber se uma empresa é igual a outra?

PostGres Cria-se uma função Key empregador using há_emp, matricula) Define function há_emp(e = empresa) Return int as Retrieve any(empresa.all Where empresa.cnpj = e.cnpj Key empregador using há_emp, matricula)

PostGres Manipulação de Dados PostQUEL contem os comandos append, replace e delete Append to pessoa (nome = ...) Delete pessoa where ... Replace pessoa (nome= ... ) where ... Qualquer semelhança com QUEL NÃO terá sido mera coincidência!

PostGres Percurso do fecho transitivo de um esquema Característica do postquel em extensão a quel Mostrar todos os ancestrais de José

PostGres A consulta Retrieve * into classeresposta (pessoa.filhode) from a in classeresposta Where pessoa.nome = “José” Or pessoa.nome = getnome(a.filhode)) * obriga que a consulta será executada até não retornar mais dados Observar que a sintaxe do getnome não é OO

PostGres A consulta Retrieve (e.nome) from e in pessoa* Where e.nome = “José” * aqui obriga que a consulta seja executada em todas as subclasses da classe pessoa

PostGres A consulta Retorna o salário de José na data D Retrieve func.salario From func[D] Where func.nome = “José” Retorna o salário de José na data D

PostGres Regras Ação executada no banco sob ordem de determinado evento On evento to objeto where condição Then do [instead] comandos

PostGres Evento pode ser Retrieve Replace Delete Append New (replace ou append) Old (delete ou replace)

PostGres Objeto é o nome de uma classe, ou do atributo de uma classe Condição é um qualificador qualquer usado em PostQUEL Instead indica que o comando deve substituir, e não acompanhar o evento que gerou a regra

PostGres Podem se referenciar a new e current em lugar do nome da classe New é o novo valor (caso de inclusões ou alterações) Current é o valor atual (caso de exclusões ou alterações) Refuse: indica o cancelamento do evento (Rollback)

PostGres Exemplo: O Salário de um funcionário no cargo de professor deve ser o que está determinado para este emprego na tabela Cargos On new funcionario.salario where funcionario.cargo = “Professor” Then do replace new.salario = c.salario From c in cargos Where c.nome = “Professor”

PostGres Críticas Métodos implementados em funções – não nas classes Não implementa OIDs naturais Relacionamentos se confundem com variáveis de instância Padrão proprietário Viola o encapsulamento

PostGres Qualidades Herança e Herança múltipla Versões de dados ao longo do tempo Completeza implementada em PostQuel Aceita tipos definidos pelo usuário É baratinho...

PostGres. FIM! “Numa democracia, o direito de ser ouvido não inclui automaticamente o direito de ser levado a sério” Hubert Humphrey Degas