Aula5pbd

566 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
566
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
41
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula5pbd

  1. 1. Projeto de Banco de Dados – Aula 5Prof. Rônney machado de Moraes, M.Sc.ronney.moraes@pitagoras.com.brrmmoraes@ig.com.br 1
  2. 2. ObjetivosConsiderando o modelo relacional (como modelo a ser implementado): Caracterizar modelos conceituais e lógicos Mostrar a relação entre os dois níveis de modelagem Obter o modelo conceitual a partir do modelo lógico 2
  3. 3. Transformações entre modelos 3
  4. 4. Passos do projeto lógicoUm modelo ER pode gerardiversos modelos lógicoscontendo as informaçõesespecificadas, implicando: Diferentes performances Maior facilidade oudificuldade nodesenvolvimento emanutenção do sistemaconstruído sobre o BD. MODELO RELACIONAL INICIAL! 4
  5. 5. Transformação ER para relacionalAs regras a seguir são baseadas na experiência acumulada (consenso)por muitos autores no projeto de muitas bases de dados diferentes, e temos seguintes objetivos: Obter um banco de dados que permita boa performance de instruçõesde consulta e alteração do banco de dados (diminuindo o acesso a disco) Obter um banco de dados que simplifique o desenvolvimento e amanutenção de aplicações. Além destes, as regras de transformação procuram obter um banco de dados que ocupe pouco espaço em disco. 5
  6. 6. Regras a serem seguidas Evitar junções - ter os dados necessários a uma consultaem uma única linha. Diminuir o número de chaves primárias. Evitar campos opcionais (null em SQL). Principalmentequando a obrigatoriedade ou não no preenchimento do campodepende de outros campos. 6
  7. 7. Regras a serem seguidas Estas regras usam como entrada, além do próprio modelo ER, também alguns conhecimentos sobre volumes de dados e volumes de transações. Esses conhecimentos permitem escolher uma alternativa de implementação, quando diversasalternativas podem ser usadas para implementar um conceito da abordagem ER. 7
  8. 8. Implementação inicial de entidades Esse passo é razoavelmente óbvio: cada entidade étraduzida para uma tabela. Neste processo, cada atributo da entidade define uma coluna desta tabela. Os atributos identificadores da entidade correspondem às colunas que compõem a chave primária da tabela. Chave Primária (pk) 8
  9. 9. Nomes de atributos e colunas Data de nascimento dataNasc Data de admissão dataAdmissaoSufixar ou prefixar o coluna que será chave primária porqueesta pode aparecer como chave estrangeira em outra tabela: Código Pessoa codPessoa Padronizar (cod, num, no, dat, dt)O nome da tabela pode ser utilizado como qualificador para o nome da coluna! 9
  10. 10. Relacionamento identificador 10
  11. 11. Relacionamento identificador 11
  12. 12. Implementação de relacionamentos O fator determinante para a tradução a adotar nocaso de relacionamentos é a cardinalidade mínima e máxima das entidades que participam do relacionamento. 12
  13. 13. Relacionamento como tabela própria Chave Primária (pk) Chave estrangeira (fk) 13
  14. 14. Relacionamento como colunas adicionaisPossível apenas quando uma das entidades que participa do relacionamento tem cardinalidade máxima um. 14
  15. 15. Fusão de entidades em tabelasPossível apenas quando o relacionamento é do tipo 1:1 15
  16. 16. + sobreimplementação de relacionamentos 16
  17. 17. Relacionamentos 1:1 Ambas as entidades tem participação opcional Maximiza junções Minimiza junçõesColunas Opcionais 17
  18. 18. Relacionamentos 1:1Uma entidade tem participação opcional e a outra obrigatória Fusão das tabelas Adição de coluna na entidade com participação opcional 18
  19. 19. Relacionamentos 1:n A entidade com cardinalidade “n” é opcional Adição de colunas Tabela própria 19
  20. 20. Relacionamentos com grau maior que dois 20
  21. 21. Implementação de generalização/especialização1) uso de uma única tabela para toda hierarquia de generalização/especialização Chave primária correspondente ao identificador da entidade mais genérico Caso não exista, uma coluna Tipo, que identifica que tipo de entidadeespecializada está sendo representada por cada linha da tabela Uma coluna para cada atributo da entidade genérica Colunas referentes aos relacionamentos dos quais participa a entidade genéricae que sejam implementados através da alternativa de adicionar colunas à tabela daentidade genérica Uma coluna para cada atributo de cada entidade especializada (estas colunasdevem ser definidas como opcionais, já que somente terão valores quando a linhafor referente à entidade especializada em questão) Colunas referentes aos relacionamentos dos quais participa cada entidadeespecializada e que sejam implementados através da alternativa de adicionarcolunas à tabela da entidade (estas colunas devem ser definidas como opcionais,já que somente terão valores quando a linha for referente à entidade especializadaem questão) 21
  22. 22. Implementação de generalização/especialização 22
  23. 23. Implementação de generalização/especialização2) uso de uma tabela para cada entidade. 23
  24. 24. Vantagens entre as abordagensImplementação com tabela única Todos os dados referentes a uma ocorrência de entidade genérica, bem comoos dados referentes a ocorrências de sua especialização, estão em uma únicalinha. A chave primária é armazenada uma única vez, ao contrário da alternativa commúltiplas tabelas.Implementação com uma tabela por entidade especializada As colunas opcionais que aparecem são apenas aquelas referentes a atributosque podem ser vazios do ponto de vista da aplicação. O controle das colunas opcionais pode ficar mais a cargo no SGDB e não daaplicação. 24
  25. 25. Refinamento do Modelo Em todo processo de engenharia, está envolvido um compromisso entre o ideal e o realizável dentro das restrições de recursos impostas pelas prática. Relacionamentos mutuamente exclusivos Simulação de atributos multi-valorados Informações redundantes 25
  26. 26. Relacionamentos mutuamente exclusivosDesvantagem: Nesta alternativa, não é possível especificar ao SGBD que o campo CIC/CGC é chave estrangeira. 26
  27. 27. Simulação de atributos multi-valorados 27
  28. 28. Informações redundantes 28

×