A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Transformação ODMG Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto Esquema Relacional.

Apresentações semelhantes


Apresentação em tema: "Transformação ODMG Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto Esquema Relacional."— Transcrição da apresentação:

1 Transformação ODMG Relacional

2 Implementação Relacional de BDs OO Transformação Esquema Objeto Esquema Relacional

3 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

4 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 GerenteTrabalhador

5 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

6 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

7 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

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

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

10 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

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

12 Transformação Esquema Objeto Esquema Relacional Associação –1:1 –Tabela_B(ID, ID A,...) Tabela_A(ID,...) –Tabela_A(ID, ID B,...) Tabela_B(ID,...) –Tabela_AB(ID,...) Qual é a melhor transformação? Chave primáriaChave estrangeira Classe AClasse B 11

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

14 Transformação Esquema Objeto Esquema Relacional Associação –M:N Tabela_A(ID,...) Tabela_B(ID,...) Tabela_AB(ID A, ID B,...) Classe AClasse B MN Classe Associação

15 Transformação Esquema Objeto Esquema Relacional Agregação –Usando o exemplo Catálogo-Brinquedo Catálogo(ID,...) Brinquedo(ID,...) Composto_de(ID C, ID B,...) chave estrangeira chave estrangeira

16 Transformação Esquema Objeto Esquema Relacional Composição –Usando o exemplo Universidade- Departamento Universidade(ID,...) Departamento(ID, ID U,...) – Regras de Integridade »Se Universidade.ID = v for removida então Departamento.ID U = v removido (DELETE CASCADE)


Carregar ppt "Transformação ODMG Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto Esquema Relacional."

Apresentações semelhantes


Anúncios Google