Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouMarta Farinha Bonilha Alterado mais de 8 anos atrás
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”)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.