Upload
fernando-nascimento
View
217
Download
0
Embed Size (px)
DESCRIPTION
Trabalho
Citation preview
Classes, Objetos, Atributos e Mtodos
Transformaes entre ModelosDisciplina: Banco de DadosProf. Handerson Medeiros
1O qu vamos aprender hoje:Transformaes entre modelos1:1
2O qu vamos ver hoje so os pilares da orientao a objetos2Transformaes entre modelos
3
Transformaes entre modelos
4Projeto lgico
5Projeto lgico
6Transformao ER para relacionalRegras gerais:Aplicveis maioria dos casos;Implementadas em ferramentas CASE. ferramentas baseadas em computadores que auxiliam atividades de engenharia de software
H situaes em que:por exigncias da aplicao, outros mapeamentos so usados.
Objetivos bsicos:Boa performanceSimplificao do desenvolvimento
7Princpios por traz das regras de traduoEvitar junesDiminuir o nmero de chavesEvitar campos opcionais
8JunoJunoOperao para buscar dados de diversas linhas associadas pela igualdade de campos
exemplo:buscar os dados de um empregado e os dados de seu departamento (duas tabelas diferentes)
9JunoMinimizar junes
SGBD relacional normalmente armazena os dados de uma linha contiguamente em disco.
Juno envolve diversos acessos a disco.
Prefervel:ter os dados necessrios a uma consulta em uma nica linha.
10Diminuir o nmero de chavesUsar implementaes com menos chaves.
11Campos opcionaisCampo opcional campo que pode assumir o valor VAZIO (NULL em SQL).
SGBD relacional no desperdia espao pelo fato de campos de uma linha estarem vazios.Campo opcional no tem influncia no desempenho.
12Campos opcionaisEvitar campos opcionais;Controle de campo opcional pode complicar programao:Verificar quais campos podem estar vazios, quando isto depende do tipo de linha.
13Passos da transformaoER para relacionalTraduo inicial de entidades e respectivos atributos;Traduo de relacionamentos e respectivos atributos;Traduo de generalizaes/especializaes.
14Implementao inicial de entidadesCada entidade traduzida para uma tabela.Cada atributo da entidade define uma coluna desta tabela.Atributos identificadores da entidade correspondem a chave primria da tabela.
15Implementao inicial de entidades
16Implementao inicial de entidades
17Traduo de entidaderelacionamento identificador
18Traduo de entidaderelacionamento identificador
19Relacionamento identificadorrecurso
20Relacionamento identificadorrecurso
2121Relacionamento identificadorrecurso
22
Relacionamento identificadorrecurso
23
Relacionamento identificadorrecurso
24
Relacionamento identificadorrecurso
25
Nomes de atributos e nomes de colunasManter os nomes de colunas curtos.
Nome de uma coluna no pode conter espaos.
Nomes de atributos compostos de diversas palavras devem ser abreviados.
26Nomes de atributos e nomes de colunasNomes de colunas no necessitam conter o nome da tabela:Prefervel usar o nome de coluna Nome a usar os nomes de coluna NomePess ou NomePessoa.SQL j exige muitas vezes a forma: Pessoa.NomeExceo: chave primria (ver a seguir)
27Nome da coluna chave primriaChave primria:pode aparecer em outras tabelas na forma de chave estrangeira.
Recomendvel:nomes das colunas que compem a chave primria:Sufixados ou prefixados com o nome ou sigla da tabela na qual aparecem como chave primria.ExemploCodigoPess
28Implementao de relacionamento alternativasTabela prpriaAdio de colunas a uma das tabelasFuso de tabelas
Alternativa depende da cardinalidade (mxima e mnima do relacionamento)
29Tabela prpria
30
Implementao de relacionamento alternativas
31
Tabela prpria
32
Adio de colunas
33
Adio de colunas
34
Adio de colunas
35Fuso de tabelas
36
Fuso de tabelas
37
Implementao de relacionamentos 1:1
381:1 Ambas entidades opcionais
39
1:1 - ambas opcionais adio de colunas
40
1:1 - ambas opcionais adio de colunas
41
1:1 - ambas opcionais tabela prpria
42
1:1 - ambas opcionaisfuso de tabelas
431:1 - ambas opcionaisdiscussoSoluo por fuso de tabelas invivel:Chave primria artificial.composta por um atributo que no representa nenhuma propriedade do negocio, geralmente um numero seqencial criado unicamente para manter a unicidade e identificar a instncia de uma entidade.
Soluo por adio de colunas melhor:Menor nmero de junes;Menor nmero de chaves.
Soluo por tabela prpria aceitvel.
44
1:1 - ambas opcionais
451:1 - uma entidade opcional,outra obrigatria
46
1:1 - opcional/obrigatriafuso de tabelas
47
1:1 - opcional/obrigatriaadio de colunas
48
1:1 - opcional/obrigatriatabela prpria
491:1 - opcional/obrigatriadiscussoSoluo por tabela prpria pior que a soluo por adio de colunas:Maior nmero de junes;Maior nmero de ndices;Nenhuma tem problema de campos opcionais.
501:1 - opcional/obrigatriadiscussoAdio de colunas versus fuso de tabelas:Fuso de tabelas melhor em termos de nmero de junes e nmero de chaves;Adico de colunas em melhor em termos de campos opcionais;Fuso de tabelas considerada a melhor e adio de colunas aceitvel.
511:1 - opcional/obrigatriatabela prpria
52
1:1 - ambas entidades obrigatrias
53
1:1 - ambas entidades obrigatriasfuso de tabelas
54
1:1 - ambas entidades obrigatriasDemais alternativas (adio de colunas, tabela prpria).Nenhuma das demais alternativas atende plenamente.Em ambas:Entidades que participam do relacionamento seriam representadas atravs de duas tabelas distintas.Estas tabelas teriam a mesma chave primria e relao um-para-um entre suas linhas.Maior nmero de junes.Maior nmero de chaves primrias
55
1:1 - ambas entidades obrigatrias
56Referncias57
Dvidas
58