Transformação ODMG  Relacional

Slides:



Advertisements
Apresentações semelhantes
Modelo Relacional e Transformação DER x Relacional
Advertisements

FABAN- UNIESP 2009 Prof. Carlos Alberto Seixas
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Object Definifion Language - ODL
VI- Implementação Objeto-Relacional
Modelo de Objetos ODMG.
Modelo Relacional Renata Viegas.
Desenvolvimento de Sistemas Baseado na Transformação de Modelos
MODELO RELACIONAL Transparências baseadas no capítulo 3 do livro de KORTH e SILBERCHATZ e capítulo 7 do livro de ELMASRI e NAVATHE Juliana Amaral e Rodrigo.
O Modelo E-R Definição: Características
Prof.: Bruno Rafael de Oliveira Rodrigues
Prof.: Bruno Rafael de Oliveira Rodrigues
1 LEIC, LBD 2002, Gabriel David, Ana Paiva, Luis Paulo Reis Geração da base de dados lógica n A ferramenta de transformação do modelo EA para o modelo.
Modelo Entidade-Relacionamento
Mapeamento ER-Relacional
DIAGRAMA DE CLASSES X DIAGRAMA DE ENTIDADES E RELACIONAMENTOS
Maurício Edgar Stivanello
Sistema Gerenciador de Banco de Dados SGBD
1 Orientação a Objetos: Herança Alcides Calsavara.
Objeto-Relacional Prof. Edson E. Scalabrin Telefone: 0xx
Transformando o Modelo E-R no Modelo Relacional
Transformando o Modelo E-R no Modelo Relacional
Hierarquia de Visões de Objeto
Mapeamento Objeto Relacional
Banco de Dados – Modelo Relacional Universidade Federal de Santa Catarina Banco de Dados Mapeamento ER- Relacional (Material adaptado das profs. Daniela.
Prof. Carlos H. Marcondes
Introdução a diagrama de classes e UML
FRB - Maio 2002MCS9–1 Regras (Restrições) de Integridade Sistemas comerciais relacionais são muito finos de restrições para garantir a qualidade dos dados.
Mapeamento de Objetos para Tabelas Relacionais
Prof. Alfredo Parteli Gomes
SQL Server 2012 Introdução a Modelagem de Dados
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.
Mapeamento de Objetos para o Modelo Relacional - Introdução
REGRAS DE PRODUÇÃO DO MODELO LÓGICO
III – Oracle10g Apontadores – Tipo de Dado (REF).
III – Oracle 10g Herança.
Banco de dados.
Análise de Sistemas de Informação
PostGres: Um Banco de Dados Orientado a Objetos
Projeto Orientado aos Objetos Prof. Wolley W. Silva
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
TECNOLOGIAS E LINGUAGENS PARA BANCO DE DADOS I
Contatos Gladimir Catarino
Generalização e herança Agregação e composição
Projetos de Bancos de Dados Relacionais Álvaro Vinícius de Souza Coêlho
AULA DE DÚVIDAS 9 de Abril de Especialização  Simplifica-se quando:  especialização é disjunta e  especialização é total e  não há relações.
©Silberschatz, Korth and Sudarshan (modificado)9.1.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
Banco de Dados I I Comandos SQL
BANCO DE DADOS I Exercícios. Nos próximos slide estão apresentados um modelo ER parcial de uma fábrica e o seu respectivo modelo Relacional. O esquema.
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
III - Oracle9i Apontadores – Tipo de Dado (REF). Identificador de Objeto A todo objeto de uma “object table” é associado um OID (“Object IDentifier”)
Camada de Persistência
Hibernate: Relacionamentos e Herança
Projeto de BD Análise de Requisitos Projeto Conceitual Projeto Lógico
UFCG/CCT/DSC Cláudio Baptista
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Objetos em Bancos de Dados Relacionais Alcides Calsavara.
Banco de Dados I Unidade 3: Projeto de BD Relacional
Profa. Ana Karina Barbosa Abril/2008
Modelo Relacional Marcelo Mendes Manaus – 2015.
SisCol Modelo de Banco de Dados
Modelo Relacional, Chaves e Relacionamentos
Transformação ODMG  Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto  Esquema Relacional.
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Modelo relacional Fundamentos de Banco de Dados
Modelo Relacional Introduzido por Ted Codd, da IBM Research, em Utiliza o conceito de relação matemática. Possui base teórica na teoria dos conjuntos.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Transcrição da apresentação:

Transformação ODMG  Relacional O advento dos SGBDs OO não ameaçou minimamente a tecnologia relacional de SGBDs, que domina praticamente todo o mercado. Em conseqüência, e a despeito das diferenças entre os paradigmas OO e relacional, os BDs OO usam os SGBDRs como seu mecanismo de persistência (abordagem classe de objetos --> tabela). Catalogamos pelo menos cinco categorias dessa abordagem. Na primeira categoria, Transformação Esquema Objeto -- Esquema Relacional, a modelagem OO é usada para captar a natureza do domínio do problema, e então o esquema objeto é transformado em um esquema relacional (tabelas). A segunda categoria, Transformação Esquema Objeto -- Esquema Objeto-Relacional, utiliza a nova geração de SGBDs, chamada de objeto-relacional (SGBDOR), que estende o modelo relacional `convencional´ para o suporte a funcionalidades OO: identificadores de objeto (OID), herança, tipos complexos de dados, e tipos-operações definidos pelo usuário. A terceira categoria é chamada Camada OO no Topo de um SGBDR, em que uma camada de software é construída no topo de um SGBDR, simulando um SGBDOO. Exemplo: o SGBD Open ODB da HP. A quarta categoria é uma abordagem chamada de Integração de uma LPOO com um SGBDR. Por exemplo, uma recente API para o ambiente de desenvolvimento Borland C++ Builder permite acessar bancos de dados Paradox e Interbase de um programa em C++. A quinta categoria é Interoperabilidade de SGBDOO e SGBDR. Neste tipo de ambiente, é possível a um programa de aplicação trabalhar com dados recuperados tanto de SGBDOO quanto de SGBDR, via múltiplos tradudores (“gateways”). O foco desta disciplina são as duas primeiras abordagens, Mapeamento Esquema Objeto -- Esquema Relacional e Mapeamento Esquema Objeto -- Esquema Objeto-Relacional.

Implementação Relacional de BDs OO Transformação Esquema Objeto  Esquema Relacional O advento dos SGBDs OO não ameaçou minimamente a tecnologia relacional de SGBDs, que domina praticamente todo o mercado. Em conseqüência, e a despeito das diferenças entre os paradigmas OO e relacional, os BDs OO usam os SGBDRs como seu mecanismo de persistência (abordagem classe de objetos --> tabela). Catalogamos pelo menos cinco categorias dessa abordagem. Na primeira categoria, Transformação Esquema Objeto -- Esquema Relacional, a modelagem OO é usada para captar a natureza do domínio do problema, e então o esquema objeto é transformado em um esquema relacional (tabelas). A segunda categoria, Transformação Esquema Objeto -- Esquema Objeto-Relacional, utiliza a nova geração de SGBDs, chamada de objeto-relacional (SGBDOR), que estende o modelo relacional `convencional´ para o suporte a funcionalidades OO: identificadores de objeto (OID), herança, tipos complexos de dados, e tipos-operações definidos pelo usuário. A terceira categoria é chamada Camada OO no Topo de um SGBDR, em que uma camada de software é construída no topo de um SGBDR, simulando um SGBDOO. Exemplo: o SGBD Open ODB da HP. A quarta categoria é uma abordagem chamada de Integração de uma LPOO com um SGBDR. Por exemplo, uma recente API para o ambiente de desenvolvimento Borland C++ Builder permite acessar bancos de dados Paradox e Interbase de um programa em C++. A quinta categoria é Interoperabilidade de SGBDOO e SGBDR. Neste tipo de ambiente, é possível a um programa de aplicação trabalhar com dados recuperados tanto de SGBDOO quanto de SGBDR, via múltiplos tradudores (“gateways”). O foco desta disciplina são as duas primeiras abordagens, Mapeamento Esquema Objeto -- Esquema Relacional e Mapeamento Esquema Objeto -- Esquema Objeto-Relacional.

Transformação Esquema Objeto  Esquema Relacional Classe de Objetos  Tabela Relacional OID  Chave Primária, “Surrogate Key” Os métodos são implementados como “stored procedures”, ou “SQL-functions” ou “SQL-triggers” A rica semântica de método de instância é perdida Herança (só exclusão mútua) Alternativa 1: uma tabela para cada (sub)classe Alternativa 2: uma única tabela para todas as classes Alternativa 3: uma variação da alternativa 1 Em todas as alternativas: regras de integridade

Transformação Esquema Objeto  Esquema Relacional Herança Alternativa 1: Um novo atributo `Subtipo´, podendo ser NULL, é acrescentado na tabela-superclasse; este atributo deve garantir que todo registro em uma tabela-subclasse é disjunto Empregado Gerente Trabalhador

Transformação Esquema Objeto  Esquema Relacional Herança Usando o exemplo Empregado-Gerente-Trabalhador Empregado(ID, Subtipo, Nome, Endereço, Salário) Gerente(ID, Gratificação) Trabalhador(ID, HorasExtras) Regras de Integridade Subtipo {t | t = `Gerente´  t = `Trabalhador´  t IS NULL}  ID em Empregado com t = `Gerente´ então  ID em Gerente e  ID em Trabalhador  ID em Empregado com t = `Trabalhador´ então  ID em Trabalhador e  ID em Gerente  ID em Empregado com t IS NULL então  ID em Gerente e  ID em Trabalhador

Transformação Esquema Objeto  Esquema Relacional Herança Alternativa 2: tudo em uma tabela; um atributo `Tipo´, podendo ser NULL, é incluído, para indicar o tipo do objeto/registro; os demais atributos, salvo ID, podem ser nulos

Transformação Esquema Objeto  Esquema Relacional Herança Usando o exemplo Empregado-Gerente-Trabalhador Empregado(ID, Tipo, Nome, Endereço, Salário, Gratificação, HorasExtras) Regras de Integridade Tipo {t | t = `Gerente´  t = `Trabalhador´  t IS NULL} Se t = `Gerente´ então HorasExtras NULL Se t = `Trabalhador´ então Gratificação NULL Se t IS NULL então HorasExtras NULL, Gratificação NULL

Transformação Esquema Objeto  Esquema Relacional Herança Alternativa 3: sem o atributo Subtipo na superclasse; Usando o exemplo Empregado-Gerente-Trabalhador Empregado(ID, Nome, Endereço, Salário) Gerente(ID, Gratificação) Trabalhador(ID, HorasExtras)

Transformação Esquema Objeto  Esquema Relacional Herança Regras de Integridade Se ID = v em Empregado então ((ID = v em Gerente)   (ID = v em Trabalhador))  ((ID = v em Trabalhador)   (ID = v em Gerente))  ( (ID = v em Gerente)   (ID = v em Trabalhador))

Transformação Esquema Objeto  Esquema Relacional Qual é a Melhor Implementação Relacional de Herança? Consultas sobre estruturas de herança podem ser assim categorizadas Consultas em Superclasse: acessam atributos em superclasse Consultas em Subclasse: acessam atributos em subclasse Consultas Mistas: acessam atributos ao longo de estruturas de herança Prova-se que, para consultas em superclasse e em subclasse, a Alternativa 1 é pelo menos tão boa quanto as outras, em todos os casos A prova é baseada em um Modelo de Custos e em Categorias de Consulta - O Modelo de Custos leva em conta o tamanho dos registros de uma tabela e o seu número de registros

Transformação Esquema Objeto  Esquema Relacional Super classe Sub Mista Subtipo Única Tabela Sem subtipo

Transformação Esquema Objeto  Esquema Relacional Associação 1:1 Tabela_B(ID, IDA, ...) Tabela_A(ID, ...) Tabela_A(ID, IDB, ...) Tabela_B(ID, ...) Tabela_AB(ID, ...) Classe A Classe B 1 1 Chave primária Chave estrangeira Qual é a melhor transformação?

Transformação Esquema Objeto  Esquema Relacional Associação 1:N Tabela_B(ID, IDA, ...) Tabela_A(ID, ...) Classe A Classe B 1 N

Transformação Esquema Objeto  Esquema Relacional Associação M:N Tabela_A(ID, ...) Tabela_B(ID, ...) Tabela_AB(IDA, IDB, ...) Classe Associação Classe A Classe B M N

Transformação Esquema Objeto  Esquema Relacional Agregação Usando o exemplo Catálogo-Brinquedo Catálogo(ID, ...) Brinquedo(ID, ...) Composto_de(IDC, IDB, ...) chave estrangeira chave estrangeira

Transformação Esquema Objeto  Esquema Relacional Composição Usando o exemplo Universidade-Departamento Universidade(ID, ...) Departamento(ID, IDU, ...) Regras de Integridade Se Universidade.ID = v for removida então Departamento.IDU = v removido (“DELETE CASCADE”)