ODMG - Object Database Management Group

Documentos relacionados
BANCO DE DADOS ORIENTADO A OBJETOS

Sumário. BD Orientado a Objetos

Banco de Dados Orientado a Objetos

BD Objeto-Relacional - Motivação

Banco de Dados I Módulo VIII: Banco de Dados Orientado a Objetos e Relacional-Objeto. (Aula 1) Clodis Boscarioli

4. BD Objeto-Relacional (BDOR)

Banco de dados orientados a objetos e Java: : uma visão prática

Sistemas de Gerência de Bancos de Dados

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Exercícios de SQL. Prof. Márcio Bueno.

Conceitos Básicos. Herança: Filho de peixe, peixinho é!

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

Aplicação de banco de dados orientado a objetos na modelagem multidimensional

Bancos de Dados. Orientados a Objetos

ANÁLISE E PROJETO DE BANCO DE DADOS

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

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

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Persistência de Objetos

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

9 Classes Abstractas e Interfaces

2. Revisão e Dicas de Modelagem Conceitual

Palavras Reservadas da Linguagem Java

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

Linguagem de Consulta Estruturada (SQL)

CORBA IDL. Interface Definition Language. Mário Meireles Teixeira.

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

Consultas SQL. Andre Noel

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo

Apresentação Modelo e SQL. André Luiz Montevecchi

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

UFG - Instituto de Informática

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

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

Introdução ao Banco de Dados. Banco de Dados

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos e Acesso a Dados com PHP

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

Plataformas de Distribuição de Objetos

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD?

Revisão Banco de Dados

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Programação Orientada a Objetos Relacionamentos entre classes

Rafael B. Pereira (

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

Linguagem de Programação II Implementação

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

1 Introdução e Conceitos básicos

UML Diagrama de Classes

A linguagem SQL

Prof. A. G. Silva. 30 de outubro de Prof. A. G. Silva INE5603 Introdução à POO 30 de outubro de / 1

Marcelo Henrique dos Santos

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

BD II (SI 587) Banco de Dados Orientados à Objetos e Objeto-Relacional. Prof. Josenildo Silva.

Laboratório de programação II

Francisco Roeder. Orientador: Prof. Adilson Vahldick

IMPLEMENTAÇÃO DE BANCO DE DADOS

BANCO DE DADOS. Araújo Lima. Fev / Araújo

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

SQL Consultas Básicas

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

BCD29008 Banco de dados

Introdução a Bancos de Dados

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

JPQL (Java Persistence Query language)

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

Banco de Dados I Introdução SQL

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

SQL (Tópicos) Structured Query Language

SQL Linguagem de Definição de Dados

A linguagem SQL

Introdução. Modelo de dados conceitual para o projeto de BD

Conceitos de Modelo Relacional Restrições de um Banco de Dados

Modelo Relacional Wendel Melo

Sistemas de Banco de Dados

Universidade Federal de Uberlândia

Java para Desktop. Programação Orientada à Objetos 2 JSE

Introdução à orientação a objetos. João Tito Almeida Vianna 18/05/2013


Banco de Dados Orientado a Objetos

SQL-99: Esquema de BD EMPRESA

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

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

Sistema Gestor de Bancos de Dados (SGBD)

EMULADOR DE SGBD ORIENTADO A OBJETOS

Aula 7 SBD ER para Relacional. Profa. Elaine Faria UFU

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Banco de Dados. Diego Silveira Costa Nascimento. 20 de março de Instituto Federal do Rio Grande do Norte

POO UML e Outros Conceitos. Prof. Vicente Paulo de Camargo

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

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

10. - ESTRUTURAS Características Básicas

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

Transcrição:

ODMG - Object Database Management Group Padrão para SGBDOO Consórcio de pesquisadores e fabricantes Objetivo integração e padronização de funcionalidades de BD a uma LPOO Componentes do padrão modelo de objetos linguagem de definição de dados (ODL) linguagem de consulta (OQL) Modelo de Objetos e ODL Modelo de objetos conceitos dados (objetos e literais) tipos (interfaces, classes de objetos e literais) herança OID e chave Especificados em ODL 1

Dados Duas formas de dados são possíveis objetos e literais Objetos possuem valor e OID são instâncias de classes Literais possuem valor e não possuem OID não são instâncias de uma classe objetos isolados objetos componentes de outros objetos Literais Três tipos atômicos, estruturados e de coleção Literais atômicos tipos de dados básicos (predefinidos) boolean, char, short, long, float, double, string,... Literais estruturados tipos de dados estruturados (alguns predefinidos) date, time, timestamp,... ou definidos pelo usuário Literais de coleção tipos de agrupamento de dados (predefinidos) set<t>, bag<t>, array<t>,... t é tipo de objeto ou valor 2

Definição de Dados - ODL Três formas interface, literal ou classe Interface define apenas comportamento (assinatura) não possui instâncias Literal define apenas propriedades possui instâncias (sem OID) Classe define propriedades e comportamento possui instâncias (com OID - objetos) Interfaces e Literais em ODL interface Pessoa { short idade(); boolean ehmenor(); void casou(pessoa p) raises(jahehcasado);... struct Endereço { attribute string rua; attribute short número; attribute string cidade; set<endereço> EndereçosAmigos; Endereço MeuEndereço; 3

Classes em ODL class Departamento (extent Departamentos) { attribute string nome; attribute short código; attribute Endereço localização; attribute struct atendimento{ horainício time, horatérmino time} horário; attribute Empregado chefe; relationship set<empregado> funcionários inverse Empregado:: depto; void adicionaemp(short RG) raises (jahtrabalha, RGInexistente);... atributo literal estruturado conjunto de instâncias atributo de referência a objeto atributo literal atômico relacionamento Herança Duas formas herança IS-A herança extends Herança IS-A herança de interface pode ser interface? interface ou interface? classe permite herança múltipla Herança extends herança de propriedades ocorre somente entre classes (classe? classe) não permite herança múltipla 4

Herança em ODL Classe Empregado (extent Empregados) { attribute short RG; attribute string nome; attribute enum gênero{m,f} sexo; attribute Date DN; attribute Endereço residência; attribute float salário; relationship Departamento depto inverse Departamento:: funcionários;... herança extends Classe Professor (extent Professores) extends Empregado : Pessoa { herança IS-A attribute string titulação; attribute string areaatuação;... OID e Chave OID identificador do objeto Chave uma ou mais propriedades cujos valores devem ser únicos class Departamentos class Cidades ( extent todosdeptos (key (estado,nome)) key código) { { attribute string estado; attribute string nome; attribute string nome; attribute short código;...... } 5

Exemplo Pacientes em ODL class Paciente (extent Pacientes key CPF) { attribute long CPF; attribute long RG; attribute string nome; relationship Leito leito inverse Leito:: paciente; attribute struct responsabilidade { relationship Médico médico inverse Médico:: responsável, horáriovisita time} responsável; relationship set<médico> tratamento inverse Médico:: tratamento; Exemplo Médicos em ODL class Médico (extent Médicos key CRM) { attribute long CRM; attribute string nome; attribute float salário; attribute Especialidade atuação; attribute set<especialidade> formação; relationship set<paciente> responsável inverse Paciente:: responsável.médico; relationship set<paciente> tratamento inverse Paciente:: tratamento; 6

Consultas em BDOOs Duas abordagens navegacional navegação entre objetos através de suas referências (controlada pelo programa da aplicação ou SGBDOO) declarativa uso de uma linguagem de consulta do SGBDOO violação de encapsulamento maior flexibilidade para formulação de consultas Não há DML, apenas linguagem de consulta métodos implementam operações de atualização Linguagem de consulta do padrão ODMG OQL (Object Query Language) OQL Linguagem de consulta declarativa Extensão da linguagem SQL com suporte ao tratamento de objetos complexos junções por valor ou por OID invocação de métodos suporta late binding (polimorfismo) herança 7

Ponto de Partida de uma Consulta Objeto ou conjunto de objetos extensão de classe (extent) literal ou conjunto de literais select e.nome from e in Empregados MeuEndereço variável de iteração select e.rua from e in EndereçosAmigos Resultados de Consultas Literais, objetos, conjuntos de literais ou de objetos conjunto de objetos literal select e.* from e in Empregados MeuEndereço select struct ( nome: d.nome empsricos:(select e.* from e in d.funcionários where e.salário > 5000)) from d in Departamentos conjunto de literais (estrutura complexa) 8

Expressões de Caminho Permitem a navegação entre objetos caminhamento através de atributos de referência e relacionamentos utiliza-se a notação de ponto (. ) Exemplo select p.nome, p.titulação from p in Professores where p.depto.código = INE Expressões de Caminho Variáveis de iteração são definidas para a navegação em coleções de objetos referenciados (referências 1:N) a variável de iteração associa-se com cada elemento da coleção referenciada Exemplo select f.nome from d in Departamentos, f in d.funcionários where d.código = INE and f.salário > 5000 9

Junções Junções entre conjuntos de objetos ou de literais são permitidas, como em BDRs Junções de objetos tanto por valor quanto por OID são permitidas Exemplo select c1.nome from c in Cidades, c1 in Cidades where c1.estado = c.estado and c.nome = Florianopólis and c.estado = SC Invocação de Métodos Métodos podem ser declarados em consultas da mesma forma que propriedades Exemplos select e.nome from e in Empregados where e.idade > 50 select d.código, d.nrohorasatendimento from d in Departamentos 10

Consultas em Hierarquias de Classes Consultas aplicadas a uma classe processam objetos da classe e de suas subclasses Restrições podem ser especificadas Exemplo select (Professores, Pesquisadores)e.nome from e in Empregados where e.salário > 3000 Funções de Agregação Aplicadas sobre qualquer conjunto de dados Exemplos avg(select p.salário from p in Professores where p.depto.código = INE ) select d.código, d.nome from d in Departamentos where count (d.funcionários) > 30 11