Livro texto: Capítulo 1 Bancos de dados (BD) No decorrer do dia, a maioria de nós se depara com atividades que envolvem alguma interação com os BD s banco reservas em um hotel compra de passagens aéreas acesso ao catálogo de uma biblioteca informatizada compra de produtos As aplicações incluem uma atualização automática do BD que mantém o controle de estoque disponível Estas são aplicações chamadas tradicionais de BD 1
Bancos de dados (BD) Aplicações inovadoras: BD de multimídia armazenamento de figuras, videoclipes e mensagens sonoras sistemas de informações geográficas (SIG) armazenamento e análise de mapas, dados do tempo e imagens de satélite data warehouses extração e análise de informações úteis para a tomada de decisões Contribuição do capítulo: definir o que é um BD e conceituar alguns termos básicos apresentar um BD como exemplo para ilustrar a discussão descrever algumas características principais dos sistemas de BD categorizar os tipos de pessoas que usam e interagem com os sistemas de BD discutir algumas capacidades de um sistema de BD Introdução Banco de dados (BD) é uma coleção de dados relacionados Dados são fatos que podem ser gravados e que possuem um significado implícito BD é projetado e construído para dados e povoado por dados possui um grupo definido de usuários e algumas aplicações préconcebidas 2
Introdução BD pode ser de qualquer tamanho e de complexidade variável uma agenda telefônica catálogo computadorizado de uma grande biblioteca BD mantido pelo IRS do USA órgão responsável pelo controle dos formulários de impostos preenchidos pelos contribuintes dos USA caracteres de informações por formulário por contribuinte» ordem de terabytes estas informações devem ser organizadas e gerenciadas para pesquisa, recuperação e atualização Introdução Banco de dados computadorizado pode ser criado e mantido: por um grupo de aplicativos por um Sistema Gerenciador de Banco de Dados (SGBD) SGBD é uma coleção de programas que permite aos usuários criarem e manterem um banco de dados é um sistema de software que facilita os processos de definição: especificação dos tipos de dados, das estruturas e das restrições para os dados construção: processo de armazenamento dos dados em alguma mídia apropriada 3
Introdução SGBD manipulação: consultas, pesquisas, atualização e geração de relatórios compartilhamento: acesso de múltiplos usuários e de programas proteção: contra o mau funcionamento ou crashes no HW ou SW segurança: contra acessos não autorizados ou maliciosos chama-se o BD e o SGBD, juntos, de sistema de banco de dados a Figura 2 a seguir mostra a configuração de um sistema de banco de dados simplificado e ilustra alguns dos conceitos apresentados 4
Um exemplo BD de uma universidade com informações do meio acadêmico alunos, cursos e notas A Figura 3 a seguir mostra a estrutura do BD e fornece uma pequena amostra dos dados: cinco arquivos: ALUNO, CURSO, DISCIPLINA, HISTORICO_ESCOLAR, PRE_REQUISITO é preciso definir os elementos dos arquivos e também especificar os tipos de dados para cada elemento (string, integer ou um esquema de código para representar esses elementos: turma no arquivo ALUNO) observa-se que os registros de diferentes arquivos podem estar relacionados o registro para Smith (de ALUNO) está relacionado a 2 registros em HISTORICO_ESCOLAR Um exemplo 5
Um exemplo A manipulação do BD envolve consultas (queries) listar todos os cursos e notas de Smith (ALUNOS / PAIS) relação dos nomes dos alunos que fizeram as disciplinas do curso de BD do segundo semestre de 1999 (PROFESSORES / ASSISTENTES) quais os pré-requisitos do curso de BD (ALUNOS)... atualizações mudar a turma de Smith para veteranos mudar o instrutor da disciplina 102... estas consultas e atualizações devem ser especificadas na linguagem de consulta (query language) do SGBD Características do emprego de BD abordagem que utiliza processamento de arquivos informações de cada aplicação são mantidas em arquivos separados redundâncias na definição e no armazenamento dos dados desperdício de armazenamento dificuldade de manter os dados comuns armazenados abordagem que utiliza BD um único repositório de dados é definido uma única vez, mantido e então acessado por vários usuários isolamento entre aplicação e dados compartilhamento de dados processamento de transações de multiusuários suporte para múltiplas visões dos dados 6
Por que usar BD? Natureza autodescritiva do sistema de BD possui uma completa definição e descrição da estrutura do BD e suas restrições está armazenada no catálogo do SGBD a informação de estrutura do arquivo, de tipo e formato do dado e das restrições armazenada no catálogo é chamada de metadados (Figura 2) ao desenvolver uma aplicação será necessário acessar esse catálogo para conhecer a estrutura dos arquivos do BD no processamento tradicional de arquivos, a definição dos dados faz parte dos próprios programas de aplicação, ou seja, a estrutura do arquivo e a localização exata de um campo dentro de um registro está codificada no programa Por que usar BD? Isolamento entre os programas e dados e abstração de dados no processamento tradicional de arquivos, qualquer mudança na estrutura de um arquivo pode exigir alterações de todos os programas que acessam esse arquivo se for necessário adicionar outro campo ao registro do arquivo ALUNO, com BD basta alterar a descrição no catálogo para refletir a inclusão do novo item a característica que permite a independência programa-dados chama-se abstração de dados 7
Por que usar BD? Suporte para as múltiplas visões dos dados um BD típico tem muitos usuários e cada qual pode solicitar diferentes visões (consultas) desse BD uma visão é um subconjunto de um BD, derivada dos dados dos arquivos é um arquivo virtual criado dinamicamente a partir de arquivos reais usuário 1: acessar e imprimir o histórico de cada aluno usuário 2: checar se os alunos cumpriram todos os pré-requisitos de cada curso Por que usar BD? Compartilhamento de dados e o processamento de transação multiusuários um SGBD permite que diversos usuários acessem o BD ao mesmo tempo usa um controle de concorrência para garantir que os resultados das atualizações sejam corretos reserva de um lugar em um vôo / reserva de apenas um passageiro processamento de transações on-line as operações de uma transação devem ocorrer atomicamente, ou seja, ou todas funcionam ou nada funciona (baixa do estoque, lançamento do valor a receber) cada transação deve executar um acesso ao BD sem a interferência de outras transações 8
Atores Para um BD pessoal, uma pessoa em geral define, constrói e manipula o BD Para projeto, uso e manutenção de um grande BD tem-se Administrador de Banco de Dados (Database Administrator DBA) autoriza o acesso ao banco coordena e monitora o seu uso e aquisição de novos recursos cuida dos problemas de segurança cuida do tempo de resposta ruim do sistema Projetista de Banco de Dados identificação dos dados que serão armazenados escolha das estruturas apropriadas para representá-los e armazená-los implementação do BD desenvolvimento de visões que atendam os requisitos de todos os usuários Atores Usuário final consultam, atualizam e emitem relatórios no acesso ao BD casuais: precisam de informações diferentes a cada acesso, constroem as suas próprias consultas parametrizáveis: fazem consultas e atualizações padronizadas sofisticados: implementam aplicações para atender suas solicitações com as facilidades oferecidas pelo SGBD autônomos: usam pacotes de programas específicos prontos Analistas de sistemas e Engenheiros de software familiarizados com toda a gama de capacidades oferecidas pelo SGBD, eles atendem às solicitações dos usuários e desenvolvem aplicações para atender estas solicitações (muitas vezes faz a parte do projetista) Implementadores de sistemas SGBD implementam módulos (catálogo, query language...) e interfaces (SO, compiladores) do SGBD 9