Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Disciplina: Análise Estruturada de Sistemas Modelagem de Dados Normalização Profa. Tânia Mara Paiva de Oliveira Normalização de dados A normalização de dados é uma série de passos que se seguem no projeto de Modelagem de Dados, com o objetivo de conseguir: um armazenamento consistente e sem redundâncias, um eficiente acesso aos dados em bancos de dados relacionais, uma atualização (inclusão, alteração e exclusão) eficiente dos dados. Normalização de dados Diz-se que uma tabela num banco de dados relacional está numa certa forma normal se satisfaz certas condições. Embora existam 5 formas normais (ou regras de Normalização), na prática um conjunto de 3 Formas Normais costuma ser suficiente. Normalização de dados Dependência Funcional: Dada uma relação, um atributo Y é dito funcionalmente dependente de um outro atributo X se e, somente se, cada ocorrência de X está associada sempre com a mesma ocorrência de Y. X->Y (ou seja, toda vez que gravo o atributo X, o atributo Y também é requisitado) Diz-se que: X determina Y ou X designa Y Ex: codCliente, nomeCliente, dataNascCliente. nomeCliente e dataNascCliente é funcionalmente dependente da chave primária codCliente Normalização de Dados 1ª Forma Normal 1FN – Primeira Forma Normal Uma entidade estará na 1FN, se e somente se, todos seus atributos (colunas) forem atômicos, ou seja não contem grupos repetitivos ou colunas que tenham mais de um valor. Passos a serem aplicados para consolidação da 1FN: Identificação da chave primária da tabela. Identificação dos atributos ou grupos de atributos repetidos (multivalorados) e removê-los. Criação de uma nova tabela com chave primária para armazenamento dos dados repetidos. Criar uma relação entre a tabela principal e a tabela secundária Normalização de Dados - 1ª Forma Normal Ex: Na entidade (tabela) CLIENTE, idCliente foi eleito como Chave Primária. Qual atributo é multivalorado? Podemos verificar que o atributo Telefones, contém informações de mais de 1 telefone do cliente, ou seja, é uma coluna que contem dados repetidos. Nesse caso, teremos que criar uma outra tabela, para que possamos armazenar corretamente os telefones dos clientes. Normalização de Dados - 1ª Forma Normal 4 Normalização de Dados - 1ª Forma Normal Consiste em retirar da estrutura os elementos repetitivos Outro exemplo: Estrutura original Arquivo de NF Número NF Série Data emissão Código do Cliente Nome do cliente Endereço do cliente CNPJ cliente Código da Mercadoria Descrição da Mercadoria Quantidade vendida Preço de venda Estrutura na 1ª forma normal Arquivo de Notas Fiscais Num. NF Série Data emissão Código do Cliente Nome Cliente Endereço Cliente CNPJ Cliente Arq. Mercadorias Vendidas Num. NF Código da Mercadoria Descrição da Mercadoria Quantidade vendida Preço de venda Uma NF de um Cliente mostra várias Mercadorias compradas Várias mercadorias em um NF Normalização de Dados - 2ª Forma Normal 2FN – Segunda Forma Normal Uma entidade está na 2FN, se e somente se, estiver na 1FN e não há atributos (colunas) que dependam apenas de parte da chave primária. Devemos observar se alguma entidade tem chave primária concatenada e, para aquelas, que satisfaçam essa condição, observar se algum atributo ou conjunto de atributos depende de apenas uma parte da chave primária. Passos a serem aplicados para consolidação da 2FN: Identificar colunas que não são funcionalmente dependentes da chave primária da tabela Remover a(s) coluna(s) da tabela e criar uma nova tabela com esses dados Normalização de Dados - 2ª Forma Normal Consiste em retirar estruturas que possuem chaves compostas Estrutura 1ª forma normal Arquivo de Notas Fiscais Num. NF Série Data emissão Código do Cliente Nome Cliente Endereço Cliente CNPJ Cliente Arquivo de Vendas Num. NF Código da Mercadoria (*) Descrição da Mercadoria (*) Quantidade vendida Preço de venda (*) Estrutura 2ª forma normal Arquivo de Notas Fiscais Num. NF Série Data emissão Código do Cliente Nome Cliente Endereço Cliente CNPJ Cliente Arq. Mercadorias Vendidas Num. NF Código da Mercadoria Quantidade vendida Arquivo de Mercadorias Código da Mercadoria Descrição da Mercadoria Preço de venda Normalização de Dados - 2ª Forma Normal 3FN – Terceira Forma Normal Uma entidade está na 3FN, se e somente se, estiver na 2FN e todos os atributos (colunas) não chave forem mutuamente independentes, isto é, não há dependência funcional entre eles. Passos a serem aplicados para consolidação da 3FN: Identificar as colunas que são funcionalmente dependentes das outras colunas não chave Remover essas colunas, criando uma nova tabela com esses dados. Se houver algum atributo derivado (resultado de algum cálculo) também deverá ser removido. Normalização de Dados - 3ª Forma Normal Consiste em retirar das estruturas os campos que são funcionalmente dependentes de outros campos que não são chaves. Estrutura 2ª forma normal Arquivo de Notas Fiscais Num. NF Série Data emissão Código do Cliente (*) Nome Cliente Endereço Cliente CNPJ Cliente Arquivo de Mercadorias Vendidas Num. NF Código da Mercadoria Quantidade vendida Arquivo de Mercadorias Código da Mercadoria Descrição da Mercadoria Preço de venda Estrutura 3ª forma normal Arquivo de Notas Fiscais Num. NF Série Data emissão Código do Cliente Arquivo de Clientes Código Cliente Nome Cliente Endereço Cliente CNPJ Cliente Arq. de Mercadorias Vendidas Num. NF Código da Mercadoria Quantidade vendida Arquivo de Mercadorias Código da Mercadoria Descrição da Mercadoria Preço de venda Normalização de Dados 3ª Forma Normal Arquivo de NF Número NF (*) Série Data emissão Código do Cliente (*) Nome do cliente Endereço do cliente CNPJ cliente Código da Mercadoria (*) Descrição da Mercadoria Quantidade vendida Preço de venda NotaFiscal Num. NF Série Data emissão Código do Cliente MercadoriaVendida Num. NF Código da Mercadoria Quantidade vendida Cliente Código Cliente Nome Cliente Endereço Cliente CNPJ Cliente Mercadoria Código da Mercadoria Descrição da Mercadoria Preço de venda Normalização de dados Exercício Comanda Eletrônica 15 Estudo de Caso: Comanda Eletrônica O cliente usa uma comanda eletrônica durante suas compras em uma lanchonete. A cada produto consumido, o atendente registra em sua comanda (que possui data e uma numeração) o produto e a quantidade. Ao passar no caixa, na saída da lanchonete, o caixa cadastra alguns dados do cliente: nome, endereço, telefone residencial e celular, e-mail (se tiver). Se o cliente já for cadastrado, o caixa apenas confirma seus dados. O cadastramento de clientes é opcional. A lanchonete sempre envia correspondência com ofertas para os clientes. Em seguida, o caixa lê os gastos da comanda, totalizando a compra. Na leitura da comanda, verifica-se o valor unitário de cada produto a fim de calcular o valor total da compra. O cliente paga a comanda e é emitido um comprovante dos itens comprados, que é entregue ao cliente. 16 Atendente registra compras na comanda. (ver protótipo da tela da Comanda- transparência) Dados_Entrada= numCom, dataCom, codProd, quantCom, idFuncionario = Dados_Comanda Dados_Saída= Dados_Comanda gravados = Comanda Caixa mantém dados do cliente. (ver protótipo da Tela do caixa) Dados_Entrada= nomeCli, enderCli, telResCli, CelularCli, eMailCli = Dados_Cliente Dados_Saída= Dados_Cliente gravados = Cliente A lanchonete envia ofertas para clientes. (outro módulo de sistema) Caixa finaliza compras da comanda. (ver protótipo da Tela do caixa) Dados_Entrada= numCom Dados_Saída= Comanda + valorTotalCom (fica na tela do Caixa) Estudo de Caso: Comanda Eletrônica Lista de Requisitos / Processos refinada 17 Caixa registra pagamento e (como saída) é emitido o comprovante das compras e pagamento realizados (o cupom fiscal). Dados_Entrada = numCom, codFormaPagto, valorPagoParaTroco = Dados_Pagto (ver protótipo da Tela do Caixa) Dados_Saída = Comanda + valorTotal (calculado na tela) + Dados_Pagto. = Comanda atualizada e Cupom Fiscal emitido (ver protótipo do Cupom Fiscal) É necessário já existir (em outro módulo de sistema) os dados de: Funcionario = idFuncionario, nomeFunc, enderFunc, telResFunc, celularFunc, sexoFunc, dataNascFunc Produto = codProd, descProd, unidProd, precoUnitProd FormaPagto = codFormaPagto, descFormaPagto Estudo de Caso: Comanda Eletrônica Lista de Requisitos / Processos refinada 1- num = número 2- com = comanda 3- cod = código 4- prod = produto 5- quant = quantidade 6- id = identificação 7- cli = cliente 8- tel = telefone 9- pagto = pagamento 10- func = funcionário 11- ender = endereço 13- nasc = nascimento 14- desc = descrição 15- unit = unitário Estudo de Caso: Comanda Eletrônica Dicionário de Termos 19 Dicionário de Dados Tom DeMarco Sistema de Comanda Eletrônica (exercício da aula anterior) 20 Diagrama de Contexto Diagrama de Contexto Sistema de Comanda Eletrônica (exercício da aula anterior) 21 Estudo de Caso: Comanda Eletrônica Diagrama de Fluxo de Dados - DFD Sistema Comanda Eletrônica 22 Estudo de Caso: Comanda Eletrônica Diagrama de Fluxo de Dados - DFD Sistema Comanda Eletrônica cpfCli Comanda Eletrônica Modelo Conceitual tem (1,n) MER – Modelo Lógico – Comanda Eletrônica Normalização de dados Exercício Locadora de Veículos 26 Uma locadora de veículos deseja um sistema para facilitar o atendimento a seus clientes. O processo de aluguel de carros atual é confuso e está gerando insatisfação entre os clientes. A locadora é composta basicamente pelos seus funcionários e carros para aluguel. O departamento de pessoal contrata os funcionários, que são identificados por cpf, nome, endereço, telefone(s) e e-mail. Já os carros estão divididos em diversos tipos: popular, luxo, utilitário, etc. O valor da diária de aluguel varia conforme o tipo de carro. As informações importantes sobre os carros a serem armazenadas são: a placa do carro, tipo, modelo, ano, cor, chassis, km. Qualquer cliente é identificado por rg, nome, cpf, telefone, endereço e e-mail. O cliente poderá solicitar o aluguel de carros a um funcionário da locadora. Os funcionários são responsáveis pelo cadastro dos clientes e dos carros adquiridos pela locadora, por efetuar o aluguel de um carro para o cliente e dar baixa no aluguel. Para efetuar o aluguel de um veículo, os seguintes dados são cadastrados: data da reserva, número da reserva (gerado automaticamente pelo sistema), dados da retirada (cidade, agência, data e hora), dados da devolução (cidade, agência, data e hora); tipo veículo, placa veículo, valor diária. É emitido um comprovante para o cliente com os dados da reserva. Locadora de Veículos 27 Departamento de Pessoal registra dados dos funcionários (cpfFunc, nomeFunc, enderFunc, telResFunc, telCelFunc, emailFunc) Funcionário mantém dados de veículos adquiridos pela locadora (placaVeic, codtipoVeic, modelVeic, anoFabVeic, corVeic, chassiVeic, kmVeic). (tipoVeic = popular, luxo, utilitátio, etc) Funcionário registra dados do cliente (rgCli, nomeCli, cpfCli, telResCli, telCelCli, enderCli, emailCli ) Funcionário realiza aluguel de veículos (numRes, dataRes, dados da retirada (cidadeRetira, agenciaRetira, dataRetira, horaRetira), dados da devolução (cidadeDevol, agenciaDevol, dataDevol, horaDevol), tipoVeic, placaVeic, codCli, idFunc) Sistema emite comprovante da reserva (numRes) Funcionário registra devolução de veículo (numRes) TipoVeic = codTipoVeic, descTipoVeic, dataTipoVeic, valorDiariaTipoVeic Locadora de Veículos 28 Locadora de Veículos Diagrama de Contexto 29 Locadora de Veículos 30 Locadora de Veículos DFD 31 Locadora de Veículos Referências Pompilho, S. Análise Essencial: Guia Prático de Análise de Sistemas, 2ª. Ed., Rio de Janeiro: Ciência Moderna, 2002. Sommerville, Ian. Engenharia de Software. 6ª Ed. São Paulo: Addison Wesley, 2003. Apostila de Cátia Garcia Morais, catia.gm@ufpr.br, http://people.ufpr.br/~catia.gm/pdf/ibd_a2_fisico.pdf Apostila de Prof. Abrahão Lopes, abrahao.lopes@ifrn.edu.br. Instituto Federal de Ecucação, Ciência e Tecnologia. Amo, Sandra. Apostila de aula Sistema de Banco de Dados. Universidade Federal de Uberlândia. Muito Obrigado! tania.paiva@aedu.com
Compartilhar