Prévia do material em texto
Aula 07 Banco de Dados I - UNIGRAN FORMAS NORMAIS Prezado(a) aluno(a), Para potencializar sua aprendizagem sobre os conteúdos que estudaremos nesta aula, sugerimos que: a) leia despreocupadamente o conteúdo a ser estudado; b) releia o conteúdo sublinhando, ou seja, aquele que você considerar mais relevante no texto; c) faça um questionário sobre o que foi lido; d) sempre que possível, elabore gráficos, esquemas ou mapas mentais sobre o material estudado. Na aula que ora se inicia, iremos construir conhecimentos e receber algumas dicas para a construção de formas normais, além disso, aprender a importância de uma desnormalização. Lembre-se de que, entre os estudos de uma aula e outra, é importante realizar intervalos e sempre que for ingerir alimentos, opte por lanches leves, como frutas ou cereais, pois alimentos muito pesados podem causar sonolência. Aproveitamos a oportunidade para reiterar que sua participação é muito importante e estamos preparados para ensinar e aprender com seus avanços... Boa Aula! Objetivos de aprendizagem Ao término desta aula, você será capaz de: • identificar e interpretar, em linhas gerais, o de normalização; • reconhecer alguns conceitos básicos a respeito das normas 1FN, 2FN e 3FN; • apontar as etapas e para a criação da desnormalização. 99 Banco de Dados I - UNIGRAN Seções de estudo • Seção 1 - Primeira forma normal (1FN). • Seção 2 - Segunda forma normal (2FN). • Seção 3 - Terceira forma normal (3FN). • Seção 4 - Desnormalização. Seção 1 – Primeira Forma Normal (1FN) Com base nas ideias de Machado e Abreu (2009), uma tabela se encontra na 1FN se todos os atributos possuírem apenas valores atômicos (simples e indivisíveis) e os valores de cada atributo no registro também dever se um valor simples (ou seja, o atributo não é composto). Dessa forma, caso existam atributos compostos, este dever ser dividido em atributos atômicos. Caso existam atributos multivalorados, estes devem fazer parte de outra tabela, que estará relacionada com a tabela original. Vamos ver o exemplo da Entidade (tabela) Pessoa: Código, Nome, Telefone, endereço. Perceba que ela não está na 1FN, pois possui um atributo multivalorado – Telefone – e um atributo composto – Endereço, no qual, este atributo pode ser dividido em diversos atributos atômicos: Para iniciar nossas refl exões, nesta primeira seção da Aula 7, vamos aprofundar nossos conhecimentos sobre a importância da primeira forma normal. Bons estudos! FONTE: MACHADO, Felipe Nery Rodrigues; ABREU, Mauricio Pereira. Projeto de banco de dados: uma visão prática. 16 ed. São Paulo: Érica, 2009. Figura 7.1 Tabela pessoa sem atender a 1FN. 100 Banco de Dados I - UNIGRAN Assim, ainda de acordo com Machado e Abreu (2009), poderíamos ter duas novas tabelas: Pessoa – Código, Nome, Tipo de Logradouro, Logradouro, Número, Complemento, Bairro, Cidade e Estado. E uma tabela Telefone – Código_tel, Nrotel, Código – onde o código é a chave estrangeira referenciando cliente, assim, estas duas tabelas estão atendendo à 1FN. Observe o exemplo na imagem a seguir: Seção 2 – Segunda Forma Normal (2FN) Podemos afirmar que uma tabela se encontra na 2FN quando está na 1FN e não ter dependência funcional parcial. Dessa forma, quando há atributos que não dependem integralmente da chave primária, precisamos retirar da tabela todos eles e dar origem a uma nova tabela (ELMASRI; NAVATHE, 2005). Veja a tabela Vendas – Nro, Codp, Nomep, Vunit, Qdade, Vtot. Os atributos correspondem a (MACHADO; ABREU, 2009): a) Nro – número da venda; b) Codp – código do produto; c) Nomep – nome do produto; d) Vunit – valor unitário do produto; e) Qdade – quantidade vendida do produto; f) Vtot – valor total da venda. Observe a tabela: FONTE: MACHADO, Felipe Nery Rodrigues; ABREU, Mauricio Pereira. Projeto de banco de dados: uma visão prática. 16 ed. São Paulo: Érica, 2009. Figura 7.2 Tabela pessoa com atributo composto. 101 Banco de Dados I - UNIGRAN Quando a chave primária da tabela tenha os atributos Nro e Codp, trata- se de uma chave primária composta, assim, podemos conferir que esta tabela se encontra na 2FN. No caso de a tabela vendas se encontrar na 1FN. Assim, verificamos que não há atributos compostos ou multivalorados, logo ela se encontra na 1FN. Agora temos que verificar se não existe dependência parcial da chave. Note que na tabela vendas, segundo Machado e Abreu (2009), existe a dependência funcional parcial – Codp à Nomep, Vunit, ou seja, Nome do Produto e Valor Unitário são determinados pelo Código do Produto. Assim existem atributos que não dependem integralmente da chave primária, então a tabela vendas não está na 2FN. Nesse sentido, para adequar à tabela, precisamos separar ela em duas novas tabelas, Vendas e Produtos. Desse modo, os atributos da dependência parcial precisam fazer parte da tabela Produtos. Efetuando a separação, teremos as tabelas Produtos – Codp, NOmep, Vunit: Vejamos agora a tabela Vendas – Nro, Codp, Qdade, Vtot: FONTE: MACHADO, Felipe Nery Rodrigues; ABREU, Mauricio Pereira. Projeto de banco de dados: uma visão prática. 16 ed. São Paulo: Érica, 2009. FONTE: MACHADO, Felipe Nery Rodrigues; ABREU, Mauricio Pereira. Projeto de banco de dados: uma visão prática. 16 ed. São Paulo: Érica, 2009. FONTE: MACHADO, Felipe Nery Rodrigues; ABREU, Mauricio Pereira. Projeto de banco de dados: uma visão prática. 16 ed. São Paulo: Érica, 2009. Figura 7.3 Tabela vendas. Figura 7.4 Tabela produtos. Figura 7.5 Tabela vendas. 102 Banco de Dados I - UNIGRAN Com estas duas novas tabelas, podemos verificar a adequação à 2FN. Agora, caso há somente atributos atômicos, as tabelas encontram-se na 1FN; Caso não haja, chaves primárias compostas, não há como existir dependência funcional parcial, e as tabelas encontram-se na 2FN e. finalmente, caso haja chaves primárias compostas, é necessário verificar a dependência funcional parcial. Seção 3 – Terceira Forma Normal (3FN) Podemos afirmar que uma tabela está na 3FN se estiver na 2FN e não possuir nenhuma dependência funcional transitiva (MACHADO; ABREU, 2009). Vamos verificar a tabela Funcionário – Matricula, Nome_Funcionario, Cód_Cargo, Nome_Cargo, Salário_Cargo – onde os atributos correspondem a: a) Matricula – número de matrícula do funcionário; b) Nome_Funcionario– nome do funcionário; c) Cód_Cargo – Código do Cargo do Funcionário; d) Nome_Cargo – nome do cargo; e) Salário_Cargo – Salário do cargo. Observe: Dessa forma, a chave primária desta tabela é o número de matrícula do funcionário. Para garantir se esta tabela está na 3FN é necessário conferir se ela está na 2FN. É válido ressaltar que a tabela Funcionário está na 2FN, pois há somente atributos atômicos e não há dependência funcional parcial, notando que uma vez que a chave primária da tabela não deverá ser composta. FONTE: MACHADO, Felipe Nery Rodrigues; ABREU, Mauricio Pereira. Projeto de banco de dados: uma visão prática. 16 ed. São Paulo: Érica, 2009. Figura 7.6 Tabela funcionário. 103 Banco de Dados I - UNIGRAN Vamos agora verificar a existência de dependência funcional transitiva, na tabela á chave primária. É importante observar que nesta tabela existe a seguinte dependência: Cód_Cargo à Nome_Cargo, Salário_Cargo. Ainda seguindo as ideias de Machado e Abreu (2009), o Cód_Cargo não é chave primária e os atributos Nome_Cargo e Salário_Cargo estão dependendo dele ( estamos considerando neste caso que o valor do salário por cargo é fixo), logo a tabela Funcionário não se encontra na 3FN. Para que ela se encontre temos que separar esta tabela em duas ou mais tabelas de forma a eliminar tal dependência. Iremos dividir em duas: Na internet você pode encontrar inúmeros dados e informações relevantessobre as formas normais. Sugerimos que realize buscas uƟ lizando a nomenclatura dos próprios conceitos como palavras-chave e procure ler alguns arƟ gos em relação ao conteúdo. Com os conhecimentos que está adquirindo, cada vez mais você se torna capaz de superar o senso comum sobre as informações disponibilizadas nos diferentes meios de comunicação e uƟ lizá-las como fontes de pesquisa, sempre que considerar que se trata de conhecimentos úteis! FONTE: MACHADO, Felipe Nery Rodrigues; ABREU, Mauricio Pereira. Projeto de banco de dados: uma visão prática. 16 ed. São Paulo: Érica, 2009. FONTE: MACHADO, Felipe Nery Rodrigues; ABREU, Mauricio Pereira. Projeto de banco de dados: uma visão prática. 16 ed. São Paulo: Érica, 2009. Figura 7.7 Tabela Funcionário – Matricula, Nome_funcionário, Cód_Cargo. Figura 7.8 Tabela Cargo – Cód_Cargo, Nome_Cargo, Salário_Cargo. 104 Banco de Dados I - UNIGRAN Observe que na nova tabela Funcionário o atributo Cód_Cargo é uma chave estrangeira relacionada a tabela Cargo, com isto as tabelas Funcionário e Cargo estão na 3FN (MACHADO; ABREU, 2009). Seção 4 – Desnormalização Parece um tanto quanto incoerente falar sobre desnormalização, porém, os processos de síntese de entidades vistos levaram à criação de novas entidades e relacionamentos. Nesse sentido, os novos elementos elaborados podem trazer prejuízos quando forem implementados em um SGBD. Em decorrência das características de construção física de certos bancos de dados, algumas entidades e relacionamentos precisam ser desnormalizados para que o SGBD obtenha um bom desempenho (ELMASRI; NAVATHE, 2005). Podemos destacar mais um aspecto da normalização que são todas as definições a respeito das formas normais após a 1FN, também, não foram exaustivamente averiguadas resultando em grandes controvérsias. Dessa forma, a redução das anomalias de atualização resultante das formas normais de alta ordem passa por ataques óbvios dos grandes problemas (físicos) de atualização, mas as relações são excessivamente normalizadas e, assim, uma simples alteração pode resultar um efeito cascata muito profundo no banco de dados, levando a um crescimento bastante significativo no tempo de reestruturação do BD. Baseando-se nas proposições de Machado e Abreu (2009), podemos inferir que a desnormalização é um processo que vai à contramão da normalização e tem, paradoxalmente, a mesma finalidade de aumentar o desempenho no acesso aos dados. O problema é que a normalização é um requisito puramente lógico, Durante o estudo, caso tenha dúvidas ou comentários, lembre-se de que estaremos esperando sua parƟ cipação no “fórum”, “quadro de avisos” ou “chat” da Plataforma virtual da Unigranet. Atenção!!! Ao escolher pela desnormalização, precisa-se considerar o custo da redundância de dados e anomalias de atualização decorrentes. 105 Banco de Dados I - UNIGRAN Retomando a conversa inicial com argumentos sustentados apenas na teoria matemática e consta de um trabalho a ser feito na fase de análise de um projeto de banco de dados. Em contrapartida, temos um software que gerencia estes dados e que precisa guardá-los, fisicamente, em dispositivos com características muito peculiares; neste momento, inicia-se a fase de implementação. O resultado disto pode ser resumido em uma frase bem conhecida: Na prática, a teoria é outra (ELMASRI; NAVATHE, 2005)! Assim, não basta fazer uma simplificação lógica e natural do modelo de um banco de dados, é preciso entender como o dado é fisicamente guardado e acessado, bem como este armazenamento e acesso interfere no desempenho das consultas. Com a desnormalização, os dados redundantes passam a existir para minimizar a carga de junções (joins) necessárias em uma consulta e, como objetivo fi nal, realizar uma quantidade menor de acesso a I/O, de forma que o desempenho desejável seja alcançado. A partir desta necessidade, alguns SGBD’s implementaram recursos para garantir a desnormalização física, enquanto o projeto lógico pode permanecer normalizado. Um exemplo disso é a visão materializada do Oracle e a visão indexada do Microsoft SQL Server. Ao utilizar estas tecnologias particulares de cada SGBD, existe um recurso interno que tenta garantir o máximo de desempenho nas consultas realizadas sobre estas visões (MARCILON, 2013). Retomar conhecimentos é fundamental para sedimentar o processo de aprendizagem. Assim, convidamos você a relembrar os estudos realizados na Aula 7! E então? Compreenderam o conteúdo da Aula 7? Contudo, para se assegurarem amplamente quanto ao êxito da aprendizagem, é necessário colocar o que foi aprendido em práƟ ca, você concorda? Para tanto, é importante que acesse o ambiente virtual e realize as aƟ vidades proposta como avaliação conƟ nuada desta Aula e, em caso de dúvidas, consulte seus colegas de curso e seu professor por intermédio das ferramentas disponibilizadas no ambiente virtual. 106 Banco de Dados I - UNIGRAN • Seção 1 – Primeira Forma Normal (1FN) Na primeira seção, tivemos a oportunidade de entender que as formas normais nada mais são do que restrições de integridade, e a medida que se alimenta este grau de normalização, tornam-se cada vez mais restritivas. Dependendo do SGBD relacional utilizado, essas restrições podem se tornar benéficas ou não. Uma tabela se encontra na 1FN se todos os atributos possuírem apenas valores atômicos (simples e indivisíveis) e os valores de cada atributo no registro também dever se um valor simples (ou seja, o atributo não é composto). • Seção 2 – Segunda Forma Normal (2FN) Já na segunda seção vimos que uma tabela se encontra na 2FN quando está na 1FN e não ter dependência funcional parcial. Dessa forma, quando há atributos que não dependem integralmente da chave primária, precisamos retirar da tabela todos eles e dar origem a uma nova tabela. • Seção 3 – Terceira Forma Normal (3FN) Prosseguindo, na terceira seção, compreendemos que a construção de um modelo de dados já leva naturalmente desenvolvimento de entidade e relacionamentos na 3FN, ficando outras formas criadas após esta para melhorias e otimizações. Quando partimos para a criação do modelo de dados com entidades e relacionamentos aderentes a realidade em estudo (mundo real), vamos naturalmente desenvolver uma base de dados ligada à visão da realidade e como consequência iremos solucionar o problema da informação. A aplicação da modelagem de dados tem sido bastante gratificante, mostrando principalmente, que a técnica de normalização é uma ferramenta muito útil como apoio ao desenvolvimento do modelo de dados. Todas as ideias sobre eficiência da normalização passam necessariamente sobre tempo e espaço físico, em função, principalmente, das consultas efetuadas pelos usuários bem como a quantidade de bytes necessários para guardar as informações. • Seção 4 – Desnormalização Na quarta e última seção, entendemos que mesmo possa parecer um tanto quanto incoerente falar sobre desnormalização, é importante saber que os processos de síntese de entidades vistos levaram à criação de novas entidades e relacionamentos. Dessa forma, a importância de se ter uma normalização e uma desnormalização. 107 Banco de Dados I - UNIGRAN Sugestões de leituras, sites e vídeo Leituras CARVALHO, I. C. L.; KANISKI, A. L. A sociedade do conhecimento e o acesso à informação: para que e para quem? Revista Ciência da Informação, Brasília, v. 29, n. 3, p. 33-39, set./dez. 2000. CASTELLS, M. A Sociedade em Rede: a era informação − economia, sociedade e cultura. Paz e Terra, 2007. CERRI, M. L. ERP: Um estudo dobre estratégias de implantação. Dissertação (Mestrado) – Escola de Engenharia de São Carlos, Universidade de São Paulo, São Paulo, 2004. CRUZ, T. Sistemas de informações gerenciais: tecnologia de informaçãoe a empresa do século XXI. São Paulo: Atlas, 1995. DAVENPORT, T. H. Ecologia da informação: por que só a tecnologia não basta para o sucesso na era da informação. São Paulo: Futura, 1998. ELMASRI, R.; NAVATHE, S. B. Sistema de Banco de Dados. Tradução de Marília Guimarães Pinheiro et al. São Paulo: Pearson Education, 2005. EPSTEIN, I. Teoria da Informação. São Paulo: Ática S.A., 1986. FERREIRA, S. M. S. P. Redes eletrônicas e necessidades de informação: abordagem do sense-making para estudo de comportamento de usuários do Instituto de Física da USP. 1995. Tese (Doutorado em Ciências da Comunicação) - Escola de Comunicações e Artes, Universidade de São Paulo, São Paulo, 1995. GIL, A. C. Como Elaborar Projetos de Pesquisa. São Paulo: Atlas, 1987. LE COADIC, Y-F. A Ciência da Informação. Brasília: Briquet de Lemos, 1996. LÉVY, P. As Tecnologias da Inteligência. Rio de Janeiro: Editora 34, 1993. MACHADO, F. N. R. Banco de Dados: Projeto e Implementação. Editora: Érica, 2004. MACHADO, Felipe Nery Rodrigues; ABREU, Mauricio Pereira. Projeto de banco de dados: uma visão prática. 16 ed. São Paulo: Érica, 2009. MATTOS, J. R.; GUIMARÃES, L. S. Gestão da tecnologia da informação: uma abordagem prática. São Paulo: Saraiva, 2005. Já estamos no ambiente virtual esperando sua parƟ cipação. Dessa forma, caso tenha fi cado com dúvidas, tenha comentários ou sugestões a fazer sobre a Aula 7, acesse as ferramentas habituais e interaja conosco! Nosso objeƟ vo é tornar sua aprendizagem um momento de realização pessoal e profi ssional! 108 Banco de Dados I - UNIGRAN MCGARRY, K. J. Da documentação à informação: um contexto em evolução. Lisboa: Editorial Presença; Associação Portuguesa de Bibliotecários, Arquivistas e Documentalistas, 1984. ______. O contexto dinâmico da informação: uma análise introdutória. Brasília: Briquet de Lemos, 1999. MCGEE. J; PRUSAK, L. Gerenciamento estratégico da informação: aumente a competitividade e a efi ciência de sua empresa utilizando a informação como ferramenta estratégica. Rio de Janeiro: Campus, 1994. MIRANDA, R. C. da R. O uso da informação na formulação de ações estratégicas pelas empresas. Revista Ciência da Informação, Brasília, v.28, n.3, 1999/set./dez. p. 284-290. MORESI, E. A. D. Delineando o valor do sistema de informação de uma organização. Revista Ciência da Informação. Brasília, v. 29, n. 1, 2000/jan/abr. p. 14-24. O’BRIEN, J. A. Sistemas de informação e as decisões gerenciais na era da Internet. 4ª. Tiragem. São Paulo: Saraiva, 2004. OLIVEIRA, A. O Valor da Informação. In: Dossier Informação. Revista Pequena e Média Empresa, n.12. 3ª. série. 1994. PAIM, I. NEMHY, R. M. Q; GUIMARÃES, C. G. Problematização do conceito “Qualidade” da informação. Perspectiva Ciência da Informação. v. 1, n. 1, p. 111-119, jan./jun. 1996. PATTON, M. Q. Qualitative Research and Evaluation Methods. London: Sage Publications, 2002. POLIZELLI , D, L; OSAKI, A. M. Sociedade da informação: os desafi os da era da colaboração e da gestão do conhecimento. São Paulo: Saraiva, 2008. REZENDE, D. A; ABREU. A. F. de. Tecnologia da Informação: Aplicada a Sistemas de Informação Empresariais. 3. Ed. São Paulo: Atlas, 2003. SARACEVIC, Tefko. Information Science. Journal of the American Society for Information Science, v. 50, n. 12, 1999. SHANNON, C. E; WEAVER, W. The mathematical theory of communication. Urbana: University of Illinois, 1949. ZEMAN, J. Signifi cado fi losófi co da noção de informação. In: O conceito de informação na Ciência Contemporânea. Rio de Janeiro: Paz e Terra, 1970. Sites • COHEN, M. Alguns aspectos do uso da informação na economia da informação. Revista Ciência da Informação, Brasília, v. 31, n. 3, set./dez. 2002. 26-36 p. Disponível em: <http://revista.ibict.br/index.php/ciinf/article/view/144/124>. Acesso em: 26 set. 2013. 109 Banco de Dados I - UNIGRAN • KLABIN. Centro de Documentação e Memória da Klabin. Disponível em: <http://www.klabin.com.br/pt-br/klabin/centroMemoria.aspx>. Acesso em: 26 set. 2013. • MARCILON, R. Uma palavra dobre des/normalização. Disponível em: <http://reginaldomarcilon.blogspot.com.br/2012/01/uma-palavra-sobre- desnormalizacao.html>. Acesso em: 14 out. 2013. • NEHMY, R. M. Q; PAIM, I. A desconstrução do conceito de "qualidade da informação". Ciência da Informação. Brasília, vol. 27, no. 1, 1998. Disponível em: <http://www.scielo.br/scielo.php?script=sci_arttext&pid =S0100-19651998000100005>. Acesso em: 26 set. 2013. • PESTANA, M. C et al. Desafi os da sociedade do conhecimento e gestão de pessoas em sistemas de informação. Revista Ciência da Informação, Brasília, v. 32, n. 2, p. 77-84, maio/ago. 2003. Disponível em: <revista.ibict.br/index.php/ ciinf/article/download/121/102>. Acesso em: 26 set. 2013. • SETZER, V. W. Dado, informação, conhecimento e competência. Disponível em: <http://www.dgz.org.br/dez99/Art_01.htm>. Acesso em: 26 set. 2013. Vídeo • YOU TUBE. Plune: Normalização de Banco de Dados. Disponível em: <http:// www.youtube.com/watch?v=ZOUQuioaTok>. Acesso em: 14 out. 2013. 110