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? –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 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

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