Buscar

AES-T13-ModelagemDados_Normalização_ComandaEletron

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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando