Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS DE BANCO DE DADOS Peter Rob • Carlos Coronel Projeto, implementação e gerenciamento VII PARTE I CONCEITOS DE BANCOS DE DADOS Descrição de aplicação: a revolução relacional 3 Capítulo 1 Sistemas de banco de dados 4 Dados versus Informações 4 Introdução aos bancos de dados e ao SGBD 6 Por que o projeto do banco de dados é importante 11 Raízes históricas: arquivos e sistemas de arquivos 11 Problemas de gerenciamento de dados do sistema de arquivos 15 Sistemas de banco de dados 20 Resumo 28 Questões de revisão 28 Problemas 29 Capítulo 2 Modelos de dados 31 Modelagem e modelos de dados 31 Importância dos modelos de dados 32 Blocos básicos de construção de modelos de dados 33 Regras de negócio 34 Evolução dos modelos de dados 36 Graus de abstração de dados 51 Resumo 57 Questões de revisão 57 Problemas 58 PARTE II CONCEITOS DE PROJETOS � Descrição de aplicação: A modelagem de bancos de dados ajuda as comunidades 65 Capítulo 3 Modelo de banco de dados relacional 66 Uma perspectiva lógica dos dados 67 Chaves 70 Regras de integridade 76 Operadores do conjunto relacional 78 Dicionário de dados e catálogo de sistemas 84 Relacionamentos dentro do banco de dados relacional 86 Nova abordagem à redundância de dados 94 Índices 97 Regras de Codd para bancos de dados relacionais 98 Resumo 100 SUMÁRIO VIII Questões de revisão 100 Problemas 102 Capítulo 4 Modelagem entidade-relacionamento (ER) 112 Modelo entidade-relacionamento (ER) 112 Desenvolvimento de um diagrama ER 136 Desafios de projetos de banco de dados: conflito de objetivos 145 Resumo 148 Questões de revisão 149 Problemas 151 Capítulo 5 Normalização das tabelas de banco de dados 162 Tabelas de banco de dados e normalização 162 Necessidade de normalização 163 Processo de normalização 166 Aprimoramento do projeto 175 Considerações sobre chaves surrogates 179 Formas normais de nível superior 181 Normalização e projeto do banco de dados 186 Desnormalização 190 Resumo 194 Questões de revisão 196 Problemas 197 Capítulo 6 Modelagem de dados avançada 207 O Modelo entidade-relacionamento estendido 207 Agrupamento de entidades 214 Integridade de entidades: seleção de chaves primárias 215 Casos de projetos: banco de dados flexível 220 Lista de verificação de modelagem de dados 226 Resumo 228 Questões de revisão 228 Problemas 229 SISTEMAS DE BANCO DE DADOS IX PARTE III PROJETO E IMPLEMENTAÇÃO AVANÇADOS Descrição de aplicação: utilização de consultas para marcar pontos 239 Capítulo 7 Introdução à linguagem SQL 240 Introdução à SQL 240 Comandos de definição de dados 243 Comandos de manipulação de dados 258 Consultas de seleção 265 Comandos avançados de definição de dados 276 Consultas de seleção avançadas 284 Tabelas virtuais: criando uma visualização 294 Junção de tabelas de banco de dados 296 Resumo 302 Problemas 303 Capítulo 8 SQL Avançada 314 Operadores do conjunto relacional 314 Operadores de junção de SQL 321 Subconsultas e consultas correlacionadas 331 Funções da SQL 344 Sequências Oracle 352 Visualizações atualizáveis 356 SQL procedural 359 SQL embutida 383 Resumo 389 Questões de revisão 390 Problemas 391 Capítulo 9 Projeto de banco de dados 396 Sistema de informação 396 Ciclo de vida do desenvolvimento de sistemas (CVDS) 398 Ciclo de vida do banco de dados (CVBD) 402 Estratégias de projetos de banco de dados 429 Projeto centralizado vs. descentralizado 430 Resumo 433 Questões de revisão 433 Problemas 434 SUMÁRIO X PARTE IV CONCEITOS AVANÇADOS DE BANCO DE DADOS Descrição de aplicação: crise do banco de dados da JetBlue 437 Capítulo 10 Gerenciamento de transações e controle de concorrência 438 O que é uma transação? 438 Controle de concorrência 446 Controle de concorrência com métodos de bloqueio 451 Controle de concorrência com métodos de time stamping 459 Controle de concorrência com métodos otimistas 460 Gerenciamento de recuperação de banco de dados 461 Resumo 466 Questões de revisão 467 Problemas 467 Capítulo 11 Sintonização (tuning) de desempenho de banco de dados e otimização de consultas 470 Conceitos de sintonização de desempenho de banco de dados 470 Processamento de consultas 476 Índices e otimização de consultas 480 Escolhas de otimizadores 482 Sintonização de desempenho de SQL 485 Formulação de consultas 489 Sintonização de desempenho de SGBD 490 Resumo 493 Questões de revisão 494 Problemas 494 Capítulo 12 Sistemas de gerenciamento de banco de dados distribuídos 499 A evolução dos sistemas de gerenciamento de bancos de dados distribuídos 499 Vantagens e desvantagens do SGBDD 502 Processamento distribuído e bancos de dados distribuídos 503 Características dos sistemas de gerenciamento de bancos de dados distribuídos 505 Componentes dos SGBDD 506 Níveis de dados e distribuição de processos 508 Recursos de transparência de banco de dados distribuídos 511 Transparência de distribuição 512 Transparência de transação 515 Transparência de desempenho e otimização de consultas 520 SISTEMAS DE BANCO DE DADOS XI Projeto de banco de dados distribuídos 522 Cliente/servidor versus SGBDD 529 Os doze mandamentos de C. J Date para banco de dados distribuídos 530 Resumo 531 Questões de revisão 532 Problemas 532 Capítulo 13 Business intelligence e data warehouses 535 Necessidade da análise de dados 535 Business intelligence 536 Arquitetura de business intelligence 538 Dados de suporte a decisões 542 Data warehouse 548 Processamento analítico on-line 552 Esquema estrela 567 Implementação de um data warehouse 577 Mineração de Dados (Data Mining) 580 Extensões de SQL para OLAP 583 Resumo 591 Questões de revisão 592 PARTE V BANCO DE DADOS E INTERNET Descrição de aplicação: A Casio aprimora a experiência do cliente na web 595 Capítulo 14 Conectividade de banco de dados e tecnologias da web 596 Conectividade de bancos de dados 596 Banco de dados da internet 608 Linguagem XML (Extensible Markup Language) 615 Resumo 626 Questões de revisão 627 SUMÁRIO XII PARTE VI ADMINISTRAÇÃO DE BANCO DE DADOS Descrição de aplicação: Oreck revisa plano de recuperação desastroso após o furacão Katrina 629 Capítulo 15 Administração e segurança de banco de dados 630 Dados como um bem corporativo 630 A necessidade e a função do banco de dados em uma organização 631 Introdução de um banco de dados: considerações especiais 633 Evolução da função de administração de bancos de dados 634 Componente humano do ambiente do banco de dados 637 Segurança 652 Ferramentas de administração de banco de dados 657 Desenvolvimento de estratégia de administração de dados 662 DBA em ação: utilização de Oracle para a administração de banco de dados 664 Resumo 682 Questões de revisão 683 Glossário 685 SISTEMAS DE BANCO DE DADOS XIII Por diversos motivos, poucos livros sobrevivem até sua oitava edição. Autores e editoras que se acomodam com o sucesso de seu trabalho inicial geralmente pagam o preço de ver o mercado desmontar suas criações. Esta obra sobre sistemas de banco de dados foi bem-sucedida por sete edições porque nós – autores e edi- tora – demos atenção ao impacto da tecnologia às questões e sugestões dos leitores. Acreditamos que esta oitava edição reflete com êxito a mesma atenção a esses estímulos. Em vários aspectos, reescrever um livro é mais difícil do que escrevê-lo pela primeira vez. Se o título for bem-sucedido, como este, uma preocupação importante é que as atualizações, inserções e exclusões afetem adversamente o estilo de escrita e a continuidade do conteúdo.Vem à mente o princípio de orientação da profissão médica: em primeiro lugar, não cause danos. Naturalmente, nossa própria experiência é um bom ponto de partida, mas também sabemos que os autores podem desenvolver uma atitude de orgulho que os impedem de detectar fraquezas ou oportunidades de aprimoramento. Felizmente, os esforços combinados de revisores e editores extraordinários, além de um valioso feedback das edições anteriores, proveniente de professores e alunos, ajudaram a fornecer a orientação e avaliação adequada para o reescrevermos. Acreditamos ter incorporado novos materiais e mantido o fluxo, a integridade e o estilo de escrita que tor- naram bem-sucedidas as sete edições anteriores. ALTERAÇÕES NA 8a EDIÇÃO Nesta 8a edição adicionamos alguns novos recursos e reorganizamos parte do conteúdo para fornecer um fluxo melhor do material. Além de aprimorar a cobertura dos projetos de banco de dados, que já eram for- tes, fizemos outras melhorias na abordagem dos assuntos. A seguir estão alguns destaques: • Descrições de aplicações novas e atualizadas, que mostram o impacto das tecnologias de bancos de dados no mundo real; • Exemplos adicionais de UML (Unified Modeling Language); • Ampliação da cobertura das funções de Servidor SQL; • Cobertura adicional dos tipos de índices utilizados por SGBD; • Nova cobertura sobre business intelligence; • Adição de cobertura de JDBC (Conectividade de bancos de dados em Java); • Cobertura adicional de segurança de dados, incluindo vulnerabilidades e medidas de segurança. Esta 8a edição continua a fornecer um fundamento sólido e prático para projeto, implementação e gerenciamento de sistemas de bancos de dados. Esses fundamentos são construídos a partir da noção de que, embora os bancos de dados sejam muito práticos, o êxito de sua criação depende da compreensão de concei- tos importantes que os definem. Não é fácil chegar à combinação adequada de teoria e prática, mas ficamos contentes em saber que o feedback mencionado anteriormente sugere que fomos amplamente bem-sucedidos em nossa busca por manter o equilíbrio correto. ABORDAGEM: ÊNFASE CONTÍNUA NO PROJETO Como sugere seu título, Sistemas de banco de dados: projeto, implementação e gerenciamento cobre três amplos aspectos dos sistemas de bancos de dados. No entanto, por vários motivos importantes, damos atenção especial ao projeto. PREFÁCIO XIV • A disponibilidade de excelentes softwares de banco de dados permite que mesmo as pessoas sem experiência na área criem bancos de dados e aplicações. Infelizmente, a abordagem “criação sem projeto” costuma pavimentar a estrada para vários desastres de bancos de dados. Em nossa experiên cia, muitas falhas de sistemas, se não a maioria, são atribuíveis a projetos ruins e não podem ser resolvidas nem com a ajuda dos melhores gerentes e programadores. Também é pro- vável que os melhores softwares de SGBD não sejam capazes de superar os problemas criados ou amplificados por falhas de projeto. Utilizando uma analogia, até os melhores pedreiros e carpin- teiros não conseguem criar uma boa edificação a partir de uma planta ruim. • A maioria dos problemas que afetam o gerenciamento parece ser ativada por bancos de dados mal projetados. Provavelmente não vale a pena utilizar recursos escassos para desenvolver habilidades de gerenciamento excelentes e amplas e utilizá-las apenas em crises induzidas por projetos ruins. • O projeto proporciona um excelente meio de comunicação. É mais provável que os clientes con- sigam o que precisam quando o projeto do sistema de banco de dados for abordado com muito cuidado e atenção. Na verdade, os clientes podem descobrir como suas organizações realmente funcionam quando um bom projeto de banco de dados é completo. A familiaridade com técnicas de projeto de bancos de dados promove a compreensão a respeito das tecnologias atuais. Por exemplo, como muitos dados em warehouses provêm de bancos de dados operacionais, os conceitos, estruturas e procedimentos do primeiro farão mais sentido mediante a compreensão da estrutura e implementação do segundo. Como damos ênfase aos aspectos práticos do projeto de bancos de dados, seus conceitos e procedimentos são cobertos em detalhes, assegurando que os vários problemas do fim dos capítulos sejam desafiadores o suficiente para que os alunos possam desenvolver habilidades reais e úteis de projeto. Também asseguramos que os alunos compreendam os conflitos potenciais e reais entre a elegância do projeto, as exigências de informações e a velocidade de processamento de transações. Por exemplo, não faz muito sentido projetar bancos de dados que atendam a padrões de elegância do projeto, mas que falhem em suprir as exigências de informação dos usuários finais. Portanto, exploramos a utilização de dilemas cuidadosamente definidos para assegurar que os bancos sejam capazes de atender às necessidades dos usuários finais, ao mesmo tempo em que observamos altos padrões de projeto. COBERTURA DE ASSUNTOS Visão de sistemas O título do livro começa com Sistemas de banco de dados. Portanto, examinamos os conceitos de projetos e de bancos de dados cobertos nos Capítulos 1-6 como parte de um todo maior, situando-os dentro do modelo de análise de sistemas do Capítulo 9. Acreditamos que os projetistas de bancos de dados que não compreendem que estes fazem parte de um sistema maior provavelmente negligenciarão exigências importantes do projeto. Na verdade, o Capítulo 9, “Projeto de banco de dados”, fornece um mapa para o projeto de banco de dados avan- çado. Em um grande modelo de sistemas, podemos também explorar questões como gerenciamento de transações e controle de concor- rência (Capítulo 10), sistemas de gerenciamento de banco de dados SISTEMAS DE BANCO DE DADOS PARTE 1 CONCEITOS DE BANCOS DE DADOS 1 SISTEMAS DE BANCOS DE DADOS MODELOS DE DADOS 1 2 XV distribuí dos (Capítulo 12), business intelligence e dados warehouses (Capítulo 13), conectividade de banco de dados e tecnologias da web (Capítulo 14) e administração e segurança de bancos de dados (Capítulo 15). Projeto de bancos de dados O primeiro termo do subtítulo do livro é Projeto e nossa abordagem do projeto de bancos de dados é abran- gente. Por exemplo, os Capítulos 1 e 2 examinam o desenvolvimento de bancos e modelos de dados e ilus- tram a necessidade do projeto. O Capítulo 3 aponta os detalhes do modelo de banco de dados relacional. O Capítulo 4 proporciona uma abordagem extensiva, profunda e prática de projetos, e o Capítulo 5 dedica-se às questões críticas de normalização que afetam a eficiência e a efetividade dos bancos de dados. O Capítulo 6 explora assuntos de projetos avançados. Os Capítulos 7 e 8 abordam questões de implementação de banco de dados e o modo como os dados são acessados por meio de SQL (Structured Query Language). O Capítulo 9 analisa o projeto de banco de dados dentro dos modelos de sistemas e mapeia as atividades necessárias para projetar e implementar com sucesso um banco de dados no mundo real. Como o projeto de banco de dados é afetado pelas transações reais, pelo modo como os dados são distribuídos e pelas crescen- tes exigências de informações, examinamos os principais recursos que devem ser suportados por bancos e modelos da geração atual. Por exemplo, o Capítulo 10, “Gerenciamento de transações e con- tro le de concorrência”, foca nas características de transações dos ban- cos de dados e o modo como afetam sua integridade e consistência. O Capítulo 11, “Sintonização (Tuning) de desempenho de banco de dados e otimização de consultas”, ilustra a necessidade de eficiên cia de pesquisa no mundo real, que constantemente gera e utiliza bancos de dados com terabytes de dados e tabelas com milhões de registros. O Capítulo 12, “Sistemas de gerenciamento de banco de dados distribuí- dos”, enfatizaa distribuição, replicação e alocação de dados. No Capítulo 13, “Businesses intelligence e data warehouses”, exploramos as características dos bancos de dados utilizados no suporte a decisões e no processamento analítico on-line. O Capítulo 14, “Conectividade de banco de dados e tecnologias da web”, cobre as questões básicas de conectividade encontradas no mundo de dados com base na web e mos- tra o desenvolvimento dos front ends desse tipo de banco. Implementação A segunda parte do subtítulo é Implementação. Utilizamos SQL (Structured Query Language) nos Capítulos 7 e 8 para mostrar como os bancos de dados são implementados e gerenciados. As questões especiais encontradas em um ambiente de banco de dados da internet são tratadas no Capítulo 14, “Conectividade de banco de dados e tec- nologias da web”. PREFÁCIO projeto de bancos de dados9 Neste capítulo, você aprenderá: Que projetos bem-sucedidos de bancos de dados devem refletir o sistema de informação do qual o banco faz parte Que sistemas de informação bem-sucedidos são desenvolvidos dentro de um modelo conhecido como ciclo de vida do desenvolvimento de sistemas (CVDS) A que sistemas de informação, a maioria dos bancos de dados bem-sucedidos está fre- quentemente sujeita a avaliações e revisões dentro de um modelo conhecido como ciclo de vida de bancos de dados (CVBD) Como conduzir avaliações e revisões em modelos de CVDS e CVBD Sobre estratégias de projeto de bancos de dados: projeto top-down vs. bottom-up e pro- jeto centralizado vs. descentralizado N O V E SISTEMA DE INFORMAÇÃO Basicamente, um banco de dados é um depósito de fatos cuidadosamente pro- jetado e estruturado. Ele faz parte de um todo maior conhecido como sistema de informação, que fornece para a coleta de dados o armazenamento e recupe- ração dos mesmos. Esses sistemas também facilitam a transformação de dados em informações e permitem o seu gerenciamento e dos dados. Assim, um siste- ma de informação completo é composto de pessoas, hardware, software, bancos de dados, aplicativos e procedimentos. A análise de sistemas é um processo que estabelece a necessidade e a extensão de um sistema de informações. O processo de criação de sistemas de informação é conhecido como desenvolvi- mento de sistemas. Uma característica essencial dos sistemas atuais é o valor estratégico das informações na presente era de negócios globais. Portanto, devem sempre estar alinhados às metas estratégicas de negócios. A perspectiva de sistemas isolados e independentes não é mais válida. Os novos sistemas de informação sempre devem estar integrados à arquitetura de sistemas de toda a empresa. NOTA Este capítulo não tem por objetivo cobrir todos os aspectos de análise e desenvolvimento de sistemas. Eles normalmente são tratados em um curso ou livro distinto. No entanto, deve ajudar a desenvolver uma melhor compreensão das questões associadas a projeto, implementação e gerenciamento de bancos de dados afetadas pelo sistema de informação do qual o banco de dados é um componente fundamental. No modelo de desenvolvimento de sistemas, as aplicações transformam os dados em informações, que constituem a base da tomada de decisões. PARTE 3 PROJETO E IMPLEMENTAÇÃO AVANÇADOS 3 INTRODUÇÃO À LINGUAGEM SQL (STRUCTURED QUERY LANGUAGE) SQL AVANÇADA 7 8 PROJETO DE BANCOS DE DADOS 9 PARTE 1 CONCEITOS DE BANCO DE DADOS 1 SISTEMAS DE BANCO DE DADOS MODELOS DE DADOS 1 2 A revolução relacional Hoje em dia, podemos contar com os benefícios trazidos pelos bancos de dados rela- cionais a capacidade de armazenar, acessar e alterar dados de forma rápida e fácil em computadores de baixo custo. Mas, até o fim da década de 1970, os bancos de dados armazenavam grandes quantidades de dados em uma estrutura hierárquica que era inflexível e difícil de navegar. Os programadores precisavam saber o que os clientes queriam fazer com os dados antes que o banco fosse projetado. Incrementar ou alterar o modo como os dados eram analisados constituía um processo caro e demorado. Como consequência, as pesquisas eram realizadas por meio de extensas fichas catalográficas para encontrar um livro na biblioteca, utilizavam-se mapas rodoviários que não mos- travam as mudanças ocorridas no último ano e era necessário comprar jornais para conseguir informações sobre preços de ações. Em 1970, Edgar “Ted” Codd, matemático funcionário da IBM, escreveu um arti- go que viria a mudar tudo isso. Na época, ninguém percebeu que as teorias obscuras de Codd desencadeariam uma revolução tecnológica comparável ao desenvolvimento dos computadores pessoais e da internet. Don Chamberlin, coinventor da SQL, a mais popular linguagem de computador utilizada pelos sistemas de bancos de dados de hoje, explica: “Havia aquele cara, Ted Codd, que usava um tipo de notação matemática estra- nha, mas ninguém a levava muito a sério”. Então, Ted Codd organizou um simpósio e Chamberlin ouviu como ele conseguiu resumir cinco páginas de programas complica- dos em uma única linha. “E eu disse: ‘Uau!’”, relembra Chamberlin. O simpósio convenceu a IBM a fundar o Sistema R, um projeto de pesquisa que construiu um protótipo de um banco de dados relacional e que levaria à criação da SQL e do DB2. A IBM, no entanto, manteve o Sistema R em segundo plano por vários e decisivos anos. O interesse da empresa voltava-se para o IMS, um sistema de banco de dados confiável, de alta tecnologia, que havia surgido em 1968. Sem perceber o potencial de mercado daquela pesquisa, a IBM permitiu que sua equipe publicasse seus trabalhos. Entre os leitores estava Larry Ellison, que havia acabado de fundar uma pequena empresa. Recrutando programadores do Sistema R e da Universidade da Califórnia, Ellison conseguiu colocar no mercado o primeiro banco de dados relacional com base em SQL em 1979, bem antes da IBM. Em 1983, a empresa lançou uma versão portátil do banco de dados, teve um faturamento bruto anual de US$ 5.000.000 e mudou seu nome para Oracle. Impelida pela concorrência, a IBM finalmente lançou o SQL/DS, seu primeiro banco de dados relacional, em 1980. Em 2007, as vendas globais de sistemas de gerenciamento de banco de dados chegaram ao pico de US$ 15 bilhões com a Oracle detendo uma participação de prati- camente metade do mercado, seguida pela IBM, com menos de um quarto. A partici- pação do SQL Server da Microsoft cresceu mais rápido do que a de seus competidores, chegando a 14%. Descrição de Aplicação Sistemas de banco de dados1 DADOS VERSUS INFORMAÇÕES Para compreender o que deve orientar o projeto de bancos de dados, você deve entender a diferença entre dados e informações. Os dados são fatos brutos. A palavra bruto indica que os fatos ainda não foram processados para revelar seu significado. Por exemplo, suponha que queira saber o que os usuários de um laboratório de informática pensam desse serviço. Normalmente, você começaria entrevistando os usuários para avaliar o desempenho do laboratório. A Figura 1.1a mostra o formulário de entrevista por web que permite que os usuários respondam a suas questões. Quando o formulário estiver preenchido, os dados brutos são sal- vos em um depósito de dados, como apresentado na Figura 1.1b. Embora você já tenha os fatos em mãos, eles não têm nenhuma utilidade particular nesse formato – ler páginas e mais páginas de zeros e uns provavelmente não trará muitas ideias. Portanto, é preciso transformar os dados brutos em um resumo de dados, assim como na Figura 1.1c. Agora, é possível obter respostas rápidas a questões como: “Qual é a composição da base de clientes de nosso laboratório?”. Nesse caso, de forma rápida, é possível determinar que a maioria de nossos clientes são estudantes do penúltimo (24,59%) e do último (53,01%) ano da graduação.A rapidez com que os gráficos podem melhorar nossa capacidade de extrair os significados dos dados pode ser constatada no gráfico de barras dos resumos dos dados na Figura 1.1d. As informações são o resultado do processamento de dados brutos para revelar seu significado. Esse processamento pode ser simples, como a organização dos dados para revelar padrões, ou complexos, como a realização de previsões ou a extração de inferências utilizando modelagem estatística. Para revelar seu significado, as infor- mações exigem um contexto. Por exemplo, uma leitura de temperatura média de 105o não tem muito significado, a menos que saibamos seu contexto: está em graus Fahrenheit ou Celsius? Trata-se da temperatura de uma máquina, de um corpo ou atmosférica? As informações podem ser utilizadas como o fundamento para a tomada de decisões. Por exemplo, o resumo de dados de cada questão do formulário de entrevista pode apontar os pontos fortes e fracos do laboratório, ajudando-o a tomar decisões confiáveis para melhor atender às necessidades de seus clientes. Neste capítulo, você aprenderá: A diferença entre dados e informações O que é um banco de dados, os diferentes tipos e por que constituem recursos valiosos para a tomada de decisões A importância do projeto de bancos de dados Como os bancos de dados modernos evoluíram a partir de sistemas de arquivos Falhas de gerenciamento de dados em sistemas de arquivos Quais são os principais componentes dos sistemas de bancos de dados e como diferem dos sistemas de arquivos As principais funções de um sistema de gerenciamento de banco de dados (SGBD)U M 5SISTEMAS DE BANCO DE DADOS Tenha em mente que os dados brutos devem ser formatados adequadamente para o armazenamen- to, o processamento e a apresentação. Por exemplo, na Figura 1.1c, a classificação do aluno é formatada com o intuito de mostrar os resultados com base nas classificações de calouro (Freshman), segundo anista (Sophomore), terceiro anista (Júnior), quarto anista (Sênior) e graduado (Graduate Student). Pode ser necessário converter as respostas sim/não dos entrevistados para um formato S/N de armazenamento. Uma formatação mais complexa será necessária ao trabalharmos com tipos de dados complexos, tais como: sons, vídeos ou imagens. Na atual “era da informação”, a produção de informações precisas, relevantes e rápidas é a chave para uma boa tomada de decisão. Por sua vez, uma boa tomada de decisão é a chave para a sobrevivência comercial no mercado global. Dizem que estamos entrando na “era do conhecimento”.1 Os dados são o 1 Peter Drucker cunhou a expressão “trabalhador do conhecimento” em 1959, em seu livro Landmarks of Tomorrow. Em 1994, Esther Dyson, George Gilder, Dr. George Keyworth e Dr. Alvin Toffler introduziram o conceito de “era do conhecimento”. D��7HOD�GH�SHVTXLVD�LQLFLDO E��'DGRV�EUXWR F��,QIRUPDo}HV�HP�IRUPDWR�UHVXPLGR G��,QIRUPDo}HV�HP�IRUPDWR�GH�JUiILFRV ),*85$ ��� 7UDQVIRUPDomR�GH�GDGRV�EUXWRV�HP�LQIRUPDo}HV 6 SISTEMAS DE BANCO DE DADOS fundamento das informações, que é a base do conhecimento, ou seja, do corpo de informações e fatos sobre um assunto específico. O conhecimento implica familiaridade, consciência e compreensão das informações conforme se apliquem a um ambiente. Uma característica fundamental do conhecimento é que o “novo” conhecimento pode ser obtido a partir do “antigo”. Vamos resumir alguns pontos fundamentais: • Os dados constituem os blocos de construção das informações. • As informações são produzidas pelo processamento de dados. • Elas são utilizadas para revelar o significado dos dados. • Informações precisas, relevantes e rápidas são a chave para a boa tomada de decisões. • A boa tomada de decisão é a chave para a sobrevivência de uma organização no ambiente global. Informações rápidas e úteis exigem dados precisos. Esses dados devem ser gerados de forma adequada e armazenados em um formato de fácil acesso e processo. E, como qualquer recurso básico, o ambiente de dados deve ser gerenciado com cuidado. O gerenciamento de dados é uma disciplina que foca na geração, no armazenamento e na recuperação adequada dos dados. Diante do papel crucial executado pelos dados, você não deve estar surpreso que o gerenciamento de dados seja uma atividade central para qualquer negó- cio, agência governamental, organizações de serviços ou filantrópicas. INTRODUÇÃO AOS BANCOS DE DADOS E AO SGBD Em geral, o gerenciamento eficiente de dados exige a utilização de um banco de dados computacional. Um banco de dados (ou base de dados2) é uma estrutura computacional compartilhada e integrada que arma- zena um conjunto de: • Dados do usuário final, ou seja, fatos brutos de interesse para esse usuário. • Metadados, ou dados sobre dados, por meio dos quais os dados do usuário final são integrados e gerenciados. Os metadados fornecem uma descrição das características dos dados e do conjunto de relaciona- mentos que ligam os dados encontrados no banco de dados. Por exemplo, o componente de metadados armazena informações como o nome da cada elemento de dados, o tipo de valor (numérico, datas ou texto) armazenado, a possibilidade ou não de deixar esse elemento vazio, e assim por diante. Portanto, os metadados fornecem informações que complementam e expandem o valor e a utilização dos dados. Em resumo, os metadados trazem uma representação mais completa dos dados no banco. Dadas as caracte- rísticas dos metadados, é possível ouvir a definição de um banco de dados como “um conjunto de dados autodescritivos”. O sistema de gerenciamento de bancos de dados (SGBD) é um conjunto de programas que geren- ciam a estrutura do banco de dados e controlam o acesso aos dados armazenados. Até certo ponto, o banco de dados se assemelha a um arquivo eletrônico com conteúdo muito bem organizado com a ajuda de um software poderoso, conhecido como sistema de gerenciamento de banco de dados. 2 Apesar de em inglês o termo “database” poder ser traduzido tanto para banco de dados como base de dados, o termo base de dados usualmente é utilizado para se referir aos dados armazenados no sistema de banco de dados enquanto o banco de dados, muitas vezes, se refere ao sistema de banco de dados. (N.R.T.) 7SISTEMAS DE BANCO DE DADOS FUNÇÃO E VANTAGENS DO SGBD O SGBD serve como intermediário entre o usuário e o banco de dados. Sua estrutura é armazenada como um conjunto de arquivos e o único modo de acessar os dados nesses arquivos é por meio do SGBD.�A Figura 1.2 enfatiza o fato de o SGBD apresentar ao usuário final (ou aplicativo) uma visualização única e integrada dos dados no banco. O SGBD recebe todas as solicitações de aplicações e as traduz nas operações complexas necessárias para atendê-las. O SGBD oculta, dos aplicativos e usuários, boa parte da complexidade interna do banco de dados. O aplicativo pode ser escrito por um programador utilizando linguagens como Visual Basic. NET, Java ou C++, ou criado por meio de um utilitário do SGBD. 8VXiULRV�ILQDLV 8VXiULRV�ILQDLV 6ROLFLWDomR� GD� DSOLFDomR 'DGRV 6ROLFLWDomR� GD�DSOLFDomR 'DGRV (VWUXWXUD�GR�EDQFR�GH�GDGRV 6*%' 6LVWHPD�GH�*HUHQFLDPHQWR� GH�%DQFR�GH�'DGRV &OLHQWHV )DWXUDV 3URGXWRV 0HWDGDGRV 'DGRV�GR� XVXiULR�ILQDO ÔQLFD ,QWHJUDGD KWWS��� ),*85$ ��� 2�6*%'�JHUHQFLD�D�LQWHUDomR�HQWUH�R�XVXiULR�ILQDO�H�R�EDQFR�GH�GDGRV 9LVXDOL]DomR� GRV�GDGRV A presença de um SGBD entre as aplicações do usuário final e o banco de dados oferece algumas van- tagens importantes. Em primeiro lugar, o SGBD permite que os dados no banco sejam compartilhados por diversas aplicações e usuários. Em segundo lugar, integra visualizações muito diferentes dos usuários sobre os dados em um único repositório de dados que engloba tudo. Como os dados constituem um material bruto fundamental a partir do qual as informaçõessão obti- das, é necessário um bom método para gerenciá-los. Você descobrirá neste livro que o SGBD ajuda a tornar o gerenciamento de dados mais eficiente e eficaz. Por exemplo, fornece vantagens como: • Aprimoramento do compartilhamento de dados. O SGBD ajuda a criar um ambiente em que os usuários finais tenham melhor acesso a dados em maior quantidade e mais bem gerenciados. Esse acesso possibilita que os usuários finais respondam rapidamente a mudanças em seu meio. • Aprimoramento da segurança de dados. Quanto mais usuários acessam os dados, maiores são os riscos de falhas de segurança.�As empresas investem consideráveis quantidades de tempo, esforços e dinheiro para garantir que seus dados sejam utilizados adequadamente. O SGBD fornece um modelo para melhor aplicar as políticas de privacidade e segurança de dados. • Melhoria na integração dos dados. O acesso mais amplo a dados bem gerenciados promove uma perspectiva integrada das operações da organização e uma visualização mais clara do panorama geral. Facilita muito a visualização de como as ações de um segmento da empresa afetam outros segmentos.
Compartilhar