BANCO DE DADOS Do Modelo Conceitual à Implementação Física Ivan Mecenas & Vivianne de Oliveira Banco de Dados: Do Modelo Conceitual à Implementação Física Copyright © 2005 da Editora Alta Books Ltda. Todos os direitos reservados e protegidos pela Lei 5988 de 14/12/73. Nenhuma parte deste livro, sem autorização prévia por escrito da editora, poderá ser reproduzida ou transmitida sejam quais forem os meios empregados: eletrônico, mecânico, fotográfico, gravação ou quaisquer outros. Todo o esforço foi feito para fornecer a mais completa e adequada informação, contudo a editora e o(s) autor(es) não assumem responsabilidade pelos resultados e usos da informação fornecida. Recomendamos aos leitores testar a informação, bem como tomar todos os cuidados necessários (como o backup), antes da efetiva utilização. Este livro não contém CD-ROM, disquete ou qualquer outra mídia. Erratas e atualizações: Sempre nos esforçamos para entregar a você, leitor, um livro livre de erros técnicos ou de conteúdo; porém, nem sempre isso é conseguido, seja por motivo de alteração de software, interpretação ou mesmo quando alguns deslizes constam na versão original de alguns livros que traduzimos. Sendo assim, criamos em nosso site, www.altabooks.com.br, a seção Erratas, onde relataremos, com a devida correção, qualquer erro encontrado em nossos livros. Avisos e Renúncia de Direitos: Este livro é vendido como está, sem garantia de qualquer tipo, seja expressa ou implícita. Marcas Registradas: Todos os termos mencionados e reconhecidos como Marca Registrada e/ou comercial são de responsabilidade de seus proprietários. A Editora informa não estar associada a nenhum produto e/ou fornecedor apresentado no livro. No decorrer da obra, imagens, nomes de produtos e fabricantes podem ter sido utilizados, e desde já a Editora informa que o uso é apenas ilustrativo e/ou educativo, não visando ao lucro, favorecimento ou desmerecimento do produto/fabricante. Produção Editorial Editora Alta Books Coordenação Editorial: Fernanda Silveira Revisão: Patrícia Veloso Diagramação: Hely Rodrigues de Sousa Capa: Fernanda Silveira Impresso no Brasil O código de propriedade intelectual de 1º de Julho de 1992 proíbe expressamente o uso coletivo sem autorização dos detentores do direito autoral da obra, bem como a cópia ilegal do original. Esta prática generalizada nos estabelecimentos de ensino, provoca uma brutal baixa nas vendas dos livros a ponto de impossibilitar os autores de criarem novas obras. Av. Nilo Peçanha, 155, cjs. 1101 a 1106 - Castelo Rio de Janeiro – RJ. CEP: 20020-100 Tel: 21 2532-6556/ Fax: 2215-0225 www.altabooks.com.br e-mail: [email protected] Dedicatória (I) Este livro é solenemente dedicado às seguintes pessoas: José Candido e Celina (meus pais). Iran, Itamar, Iris Delmar, Iracema e Iremar (meus irmãos). Amo a todos, com o melhor que consigo tirar de mim, com uma ternura que não se deixa alquebrar pela distância. Ivan Mecenas Dedicatória (II) Dedico este livro aos meus irmãos, partes fundamentais no meu processo de superação individual. Carlos Alberto de Oliveira, meu irmão mais velho, por ter-se tornado um dos meus melhores amigos e companheiros, compartilhando tristezas e multiplicando alegrias. Lídia Maria de Oliveira Santos, por ter-me auxiliado na infância, possibilitando que eu trilhasse um caminho mais seguro na busca do conhecimento. Mara Lúcia de Oliveira Gonzaga, que esteve sempre muito presente, mas, em especial, num dos momentos mais difíceis da minha vida, contribuindo para que eu pudesse estar, hoje, realizando meus sonhos de infância. Rosângela de Oliveira Carvalho, que, desde tempos remotos, mantém uma forte ligação espiritual comigo, tornando nossa união mais eterna. Mário Alexandre de Oliveira, que, desde a infância, despertou em mim o afã de tornar-me responsável pelas pessoas que amo. Vivianne de Oliveira Pensamento “Encontrar-se-á na humildade de seu coração, na inocência de sua alma, na pureza de seu espírito e daí, com a mente limpa e resplandecente, experimentará as excelências inefáveis da vida superior.” (Da Logosofia) Sobre o Autor Ivan Mecenas é graduado em Ciências Econômicas pela Universidade Federal de Sergipe, possuindo cursos de extensão em Análise Administrativa e Análise de Sistemas. Atualmente é Analista de Sistemas da POLITEC e eventualmente realiza trabalhos como desenvolvedor independente. Publicou os seguintes livros: Editora Book Express: Delphi 5 Objetos e Herança Delphi 5 Análise de Pontos de Função InterBase 6 Guia do Desenvolvedor Delphi 6 & InterBase 6 Editora Alta Books: Delphi 6 Desenvolvendo Projetos Firebird & Delphi 6 Guia do Desenvolvedor Java 2 Fundamentos, Swing e JDBC Manual do Empregador Doméstico Eclipse 3.0.1 Programando com Visual Editor Qualidade em Software Uma Metodologia para Homologação de Sistemas (em co-autoria) Contato: [email protected] Sobre a Autora Vivianne de Oliveira é licenciada em Ciências, com especialização em Matemática, pelo Centro de Ensino Unificado de Brasília (CEUB) e graduada em Educação Física pela Universidade de Brasília (UnB). Tem curso de pós-graduação em Tecnologia da Informação – Ambiente Cliente/Servidor (Universidade de São Paulo) e em Metodologia Geométrica (Universidade Católica de Brasília). Na Caixa Econômica Federal desde 1989, exerceu as funções de Programadora, Analista de Sistemas, Administradora de Banco de Dados, Arquiteta de Testes e Líder de Projetos. Atualmente exerce a função de Supervisora do Ambiente Intermediário de Testes (Homologação) daquela instituição. De 1980 a 1991 foi professora de Matemática da Fundação Educacional do Distrito Federal e, desde 1992, é professora do Colégio Logosófico de Brasília. É co-autora do livro: Qualidade em Software Uma Metodologia para Homologação de Sistemas Editora Alta Books Contato: [email protected] Prefácio No início de qualquer projeto, mesmo um projeto de vida, o primeiro elemento motivador é a idéia de que se pode sair da experiência com o esperado sucesso. Mas o que significa um projeto bem-sucedido na área de construção de sistemas informatizados? Significa entender, compreender e entregar para o usuário o que ele realmente especificou sobre o seu negócio e as suas necessidades. O impulso que moveu, de forma muito especial, o início da elaboração deste trabalho, foi o fato de observarmos, durante anos, que o grande diferencial de qualidade de um sistema informatizado está justamente no início do projeto e não na sua construção física. O desejo de mostrar uma metodologia para modelagem e construção de sistemas, partindo de modelos conceituais consistentes e culminando em modelos físicos compatíveis com as necessidades dos usuários, estava em nossas mentes há muito tempo. A modelagem de dados não é um processo simples e muito menos que se aprenda de um dia para o outro. É necessário ter conhecimentos amplos, que só são obtidos pela experiência advinda da prática dos conceitos que envolvem a implementação de sistemas. Foi contando com essa experiência que chegamos à conclusão deste livro, que objetiva mostrar de forma mais clara e precisa o caminho que se pode trilhar em busca da compreensão mais efetiva da importância de uma modelagem bem elaborada. Esperamos que nossa abordagem desperte no leitor as inquietudes necessárias para o aperfeiçoamento de suas atividades. Os autores. Brasília, junho de 2005 Sumário INTRODUÇÃO .................................................................................................................... 11 Objetivo .................................................................................................................................. 11 Primeira Parte BANCO DE DADOS: Projeto .......................................................................................... 13 Capítulo 1 METODOLOGIAS E FERRAMENTAS ............................................................................. 15 Metodologias ................................................................................................................ 15 A Engenharia da Informação ...................................................................................... 16 Casos de Uso .............................................................................................................. 18 Sucesso e Insucesso .................................................................................................... 19 Reaproveitamento ....................................................................................................... 19 Ferramentas CASE ..................................................................................................... 20 Capítulo 2 BANCOS DE DADOS: Visão Geral ................................................................................ 23 Conceitos Básicos ....................................................................................................... 23 Sistemas Gerenciadores de Banco de Dados (SGBD) ............................................... 24 Linguagem SQL .......................................................................................................... 28 Sistema de Banco de Dados ....................................................................................... 29 Projeto de Bancos de Dados ....................................................................................... 30 Capítulo 3 PROJETO CONCEITUAL .............................................................................................. 33 Requisitos .................................................................................................................... 33 VIII BANCO DE DADOS - Do Modelo Conceitual à Implementação Física Abordagem Entidade-Relacionamento ........................................................................ 34 Subtipos de Entidade ................................................................................................... 35 Atributos ...................................................................................................................... 35 Relacionamentos ......................................................................................................... 36 Construção do Modelo ................................................................................................ 40 Estudo de Caso ........................................................................................................... 42 Capítulo 4 PROJETO LÓGICO: Construção .................................................................................. 49 Expansão de Classes de Dados .................................................................................. 49 Adição de Atributos ..................................................................................................... 50 Entidades Aninhadas ................................................................................................... 52 Entidades Associativas ................................................................................................ 55 Relacionamentos Involutos .......................................................................................... 57 Subtipos de Entidades .................................................................................................. 58 Atributos Opcionais ..................................................................................................... 59 Atributos Multivalorados ............................................................................................. 59 O Modelo Construído .................................................................................................. 61 Capítulo 5 PROJETO LÓGICO: Refinamento ................................................................................ 63 Entidades Especializadas ............................................................................................. 63 Entidades Relacionadas ............................................................................................... 64 Entidades Isoladas ....................................................................................................... 68 Relacionamentos Redundantes ................................................................................... 68 O Modelo Refinado ..................................................................................................... 69 Possíveis Refinamentos ............................................................................................... 69 Capítulo 6 PROJETO LÓGICO: Verificação ................................................................................... 75 O Aspecto Temporal do Modelo ................................................................................. 75 Revendo as Entidades ................................................................................................. 76 Estabelecendo o Domínio dos Atributos ...................................................................... 83 Capítulo 7 PROJETO LÓGICO: Normalização ............................................................................... 85 Os Relacionamentos um-para-um ............................................................................... 85 Sumário IX Lidando com Chaves ................................................................................................... 86 As Formas Normais .................................................................................................... 87 Considerações ............................................................................................................. 89 Capítulo 8 DESNORMALIZAÇÃO: O Choque com a Realidade ................................................ 91 Justificativa .................................................................................................................. 91 A Limitação Física dos Dados ..................................................................................... 92 As Regras de Negócio ................................................................................................ 93 A Influência do Tempo nos Dados .............................................................................. 93 A Derivação dos Dados .............................................................................................. 95 A Estrutura dos Relacionamentos ............................................................................... 95 Considerações ............................................................................................................. 96 Capítulo 9 PADRONIZAÇÃO ............................................................................................................. 97 Sobre Normas e Padrões ............................................................................................ 97 Definindo Padrões ....................................................................................................... 98 Capítulo 10 PROJETO FÍSICO .......................................................................................................... 105 Transformação do Modelo ........................................................................................ 105 Restrições de Integridade .......................................................................................... 106 Definição de Domínios .............................................................................................. 108 Taxa de Crescimento ................................................................................................ 110 Índices ....................................................................................................................... 110 Visões ........................................................................................................................ 110 Mapeamento de Tabelas ........................................................................................... 110 Usando Padrões de Nomenclatura ........................................................................... 110 Segunda Parte BANCO DE DADOS: Implementação Física .............................................................. 113 Capítulo 11 IMPLEMENTAÇÃO: Usando o MySQL .................................................................... 115 Sobre o MySQL ........................................................................................................ 115 Implementando o Banco ............................................................................................ 116 X BANCO DE DADOS - Do Modelo Conceitual à Implementação Física O Roteiro ScriptMySQL.sql ...................................................................................... 120 Capítulo 12 IMPLEMENTAÇÃO: Usando o Firebird .................................................................... 127 Sobre o Firebird ......................................................................................................... 127 Implementando o Banco ............................................................................................ 128 O Roteiro ScriptFirebird.sql ....................................................................................... 131 Capítulo 13 SQL: Revisão .................................................................................................................... 137 Definição de Dados ................................................................................................... 137 Manipulação de Dados .............................................................................................. 141 Capítulo 14 SQL: Aplicação ................................................................................................................. 143 O Roteiro “insert.sql” ................................................................................................ 143 Consultas (Queries) .................................................................................................. 145 O Roteiro insert.sql ................................................................................................... 157 Glossário ............................................................................................................................ 161 Apêndice A - A CASE Studio .......................................................................................... 165 Apêndice B - B MySQL .................................................................................................. 169 Apêndice C - Firebird ...................................................................................................... 171 Apêndice D - O Arquivo bancodedados.zip ................................................................. 175 Apêndice E - RESPOSTAS DOS EXERCÍCIOS ........................................................ 177 Referências Bibliográficas .............................................................................................. 181