Banco de Dados Normalizac3a7c3a3o

25
Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues

description

normalização

Transcript of Banco de Dados Normalizac3a7c3a3o

  • Banco de DadosProf.: Bruno Rafael de Oliveira Rodrigues

  • NormalizaoA normalizao de dados uma srie de passos que se segue no projeto de um banco de dados que permite um armazenamento consistente e um eficiente acesso aos dados em um banco de dados relacional. Esses passos reduzem a redundncia de dados e as chances dos dados se tornarem inconsistentes.

  • Formas NormaisO Processo de normalizao aplica uma srie de regras sobre as tabelas de um banco de dados, para verificar se estas esto corretamente projetadas. Embora existam cinco formas normais (ou regras de normalizao), na prtica usamos um conjunto de trs Formas Normais.

  • Apesar de existir outras formas normais como aquarta forma normal e quinta forma normal, apenas as trs primeiras tem sido considerada atualmente.

  • Primeira Forma NormalUma relao R est na 1FN se todos osdomnios bsicos contiverem somentevalores atmicos (no possuem gruposrepetitivos).

  • ProcedimentosIdentificar a chave primria da entidade. Identificar o grupo repetitivo e remov-lo da entidade.Criar uma nova entidade com a chave primria da entidade anterior e o grupo repetitivo.

  • A chave primria da nova entidade serobtida pela concatenao da chave primria da entidade inicial e a do grupo repetitivo.

  • Exemplo(NumeroPedido; DataPedido;CodigoCliente; NomeCliente;EnderecoCliente; (CodigoProduto;NomeProduto; QuantidadeProduto;PrecoProduto; TotalProduto);TotalPedido)

  • PEDIDO: (NumeroPedido; DataPedido;CodigoCliente; NomeCliente;EnderecoCliente; TotalPedido)ITEM_PEDIDO: (NumeroPedido;CodigoProduto; NomeProduto;QuantidadeProduto; PrecoProduto;TotalProduto)

  • Segunda Forma NormalUma relao R est na 2FN se e somentese ela estiver na primeira e todos osatributos no chave forem totalmentedependentes da chave primria composta (dependente de toda a chave e no apenas de parte dela).

  • Procedimentos: Identificar os atributos que no sofuncionalmente dependentes de toda achave primria.Remover da entidade todos essesatributos identificados e criar uma novaentidade com eles.

  • A chave primria da nova entidade ser oatributo do qual os atributos removidosso funcionalmente dependentes.

  • ITEM_PEDIDO: (NumeroPedido;CodigoProduto; NomeProduto;QuantidadeProduto; PrecoProduto;TotalProduto)

    PRODUTO: (CodigoProduto;NomeProduto; PrecoProduto)

  • Terceira Forma NormalUma relao R est na 3FN se estiver na2FN e todos os atributos no chaveforem dependentes no transitivos dachave primria (cada atributo for funcionalmente dependente apenas dosatributos componentes da chave primriaou se todos os seus atributos no chave forem independentes entre si).

  • Procedimentos: Identificar todos os atributos que sofuncionalmente dependentes de outrosatributos no chave. Remov-los e criar uma nova entidadecom os mesmos.

  • A chave primria da nova entidade ser o atributo do qual os atributos removidos so funcionalmente dependentes.

  • PEDIDO: (NumeroPedido; DataPedido;CodigoCliente; NomeCliente;EnderecoCliente; TotalPedido)

    CLIENTE: (CodigoCliente; NomeCliente;EnderecoCliente)

  • PEDIDO: (NumeroPedido; DataPedido;CodigoCliente; TotalPedido)CLIENTE: (CodigoCliente; NomeCliente; EnderecoCliente)ITEM_PEDIDO: (NumeroPedido;CodigoProduto; QuantidadeProduto;TotalProduto)PRODUTO: (CodigoProduto; NomeProduto; PrecoProduto)Finalmente a tabela normalizada!

  • Transcreva para o DBDesigner

  • Normalize a tabela abaixo e o modele no DBDesigner:

    Cdigo de Membro da EquipeNome de Membro da EquipeMsVendas do MembroCdigo de DepartamentoNome do Departamento

  • Tabela Normalizada

    Cdigo de Membro de EquipeMsVendas do Membro

    Cdigo de Membro de equipeNome de Membro de EquipeCdigo de Departamento

    Cdigo de departamentoNome de Departamento

  • A Tabela a seguir Representa um sistema de recebimento de pedidos. Normalize-a na terceira forma normal e a modele no DBDesigner Suponha que os produtos sejam classificados por cdigo

    Cdigo do pedidoDataCdigo do ClienteNome do ClienteCdigo do ProdutoNome do ProdutoPreo UnitrioCdigo de Classificao do ProdutoNome de Classificao do ProdutoQuantidade

  • Tabela na 3 Forma Normal

    Cdigo de pedidoDataCdigo do Cliente

    Cdigo de ClienteNome do Cliente

    Cdigo de PedidoCdigo do ProdutoQuantidade

    Cdigo do produtoCdigo de Classificao do ProdutoNome do ProdutoPreo Unitrio

    Cdigo de classificao do ProdutoNome de Classificao do Produto

  • Com os dados abaixo faa a normalizao:

    paciente (nro_paciente, nome_paciente, nro_quarto, descrio_quarto,nro_cmodos_quarto, {cod_mdico, nome_mdico, fone_mdico})

  • 1FNpaciente (nro_paciente, nome_paciente, nro_quarto, descrio_quarto,nro_cmodos_quarto, cod_mdico, nome_mdico, fone_mdico) 2FNnro_paciente nome_paciente, nro_quarto, descrio_quarto,nro_cmodos_quartocod_mdico nome_mdico, fone_mdiconro_paciente, cod_mdico paciente (nro_paciente, nome_paciente, nro_quarto, descrio_quarto,nro_cmodos_quarto)mdico (cod_mdico, nome_mdico, fone_mdico)atende (nro_paciente, cod_mdico) 3FNnro_paciente nome_paciente, nro_quartonro_quarto descrio_quarto, nro_cmodos_quartopaciente (nro_paciente, nome_paciente, nro_quarto)mdico (cod_mdico, nome_mdico, fone_mdico)atende (nro_paciente, cod_mdico)quarto (nro_quarto, descrio_quarto, nro_cmodos_quarto)