58
Transformações entre Modelos Disciplina: Banco de Dados Prof. Handerson Medeiros 1

Aula 06a

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