Sistemas de Banco de Dados Fundamentos em Bancos de Dados Relacionais Wladmir Cardoso Brandão www.wladmirbrandao.com Departamento de Ciência da Computação (DCC) Instituto de Ciências Exatas e Informática (ICEI) Pontifícia Universidade Católica de Minas Gerais (PUC Minas) Agradecimento pelo apoio na elaboração: Adriane de Jesus Miranda Gomes e Victor Theles da Silva Costa Introdução à Banco de Dados Conceitos e Propriedades Taxonomia e Abordagens Projeto de Banco de Dados Atores em Bancos de Dados Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados (BD) I Coleção de dados estruturados I Atende as necessidades de grupos de usuários I Dados → Símbolos, sinais, códigos passíveis de registro I Essencial na vida moderna Presente em diferentes ambientes de negócio: I I I I I Saque ou depósito de dinheiro no banco Reserva de hotel Reserva de livros na biblioteca Compra de produtos em supermercado Exemplo de Aplicação de Banco de Dados Amazon.com I Milhões de livros, CDs, vídeos, DVDs, jogos eletrõnicos, roupas e outros produtos I Dezenas de milhões de acessos diários para efetivação de compras Atualização constante de: I I I I I Clientes cadastrados Pedidos de compra Produtos em estoque Vendas de produtos Propriedades de Banco de Dados I Reflete a realidade do “mundo real” dos usuários I “Mundo real” → Minimundo ou Universo de Discurso I Construído e abastecido (populado) para uma finalidade específica I Coerência na coleção lógica dos dados I Provê compartilhamento de dados Taxonomia de Banco de Dados: Utilização I Manual I I I Criado e mantido sem o uso de computadores Exemplo → Lista telefônica Computadorizado I I Criado e mantido por um grupo de programas Exemplo → The Human Genome Database (GDB) Taxonomia de Banco de Dados: Aplicação I Tradicional → Dados na forma textual ou numérica I Multimídia → Imagens, áudios e vídeos I Geográficos → Mapas, imagens de satélite e registros climáticos. I Data Warehouse → “Armazém” de dados utilizados no processamento analítico online (OLAP) para auxílio à tomada de decisão I Ativo e de Tempo Real → Processos industriais de manufatura Abordagens de Banco de Dados I Processamento em arquivo I I Usuário define e implementa os arquivos necessários para uma aplicação específica como parte da programação da aplicação. Sistema Gerenciador de Banco de dados (SGBD) I I I I I I I Repositório único → Dados definidos uma vez e depois acessados por vários usuários. Abstração de dados Compartilhamento de dados Isolamento entre programas e dados Natureza autodescritiva Suporte à múltiplas visões dos dados Processamento de transação multiusuário Projeto de Banco de Dados I Construção de modelos para implementação de bancos de dados I Modelos → Representações de objetos e eventos do mundo real Etapas na implementação de bancos de dados: I 1. 2. 3. 4. 5. I Especificação → Descrição do minimundo Análise de requisitos → Restrições de operação Projeto conceitual → Estruturas e restrições conceituais Projeto lógico → Estruturas e restrições lógicas Projeto físico → Estruturas e restrições físicas BDs devem ser implementados, alimentados e mantidos continuamente para refletir o estado do minimundo Atores em Bancos de Dados I Administradores → DataBase Administrators (DBAs) I Projetistas I Analistas I Programadores I Usuários Sistema Gerenciador de Banco de Dados (SGBD) I Coleção de programas que permitem aos usuários criar e manter um banco de dados I Definição de BD → Especificar tipos, estruturas e restrições armazenadas sob a forma de metadados no catálogo (dicionário) do sistema I Construção de BD → Armazenar dados em meio controlado pelo SGBD I Manipulação de BD → Consulta, atualização, inserção e exclusão de dados I Compartilhamento de BD → Acesso simultâneo por múltiplos usuários ao banco de dados SGBD: Componentes Básicos SGBD: Vantagens de Utilização I Controle de Redundância → Dados armazenados uma única vez, sem duplicatas SGBD: Vantagens de Utilização I Controle de Redundância → Dados armazenados uma única vez, sem duplicatas SGBD: Vantagens de Utilização I Backup e recuperação I Múltiplas interfaces ao usuário I Representação de relacionamentos complexos entre os dados I Restrições de acesso I Restrições de integridade SGBD: Vantagens de Utilização I Disponibilidade de dados atualizados I Economias de escala I Flexibilidade I Potencial para garantia de padrões I Tempo reduzido para desenvolvimento de aplicações SGBD: Quando não utilizar? I Monousuário → Acesso por múltiplos usuários não requerido I Baixa complexidade → Aplicações de BD muito simples e bem definidas I Requisitos rigorosos → Aplicações de tempo real e sistemas embarcados com capacidade de armazenamento limitada I Alta especialização → Aplicações que demandam recursos que a generalidade que um SGBD oferece para a definição e processamento de dados não suporta. Por exemplo, funções de segurança sofisticadas I Custo proibitivo → Alto investimento inicial em hardware, software e treinamento Referências Bibliográficas I Elmasri, Ramez; Navathe, Sham Sistemas de banco de dados - 6a edição. Pearson, 2011. Silberschatz, Abraham; Korth, Henry F.; Sudarshan, S Sistemas de banco de dados - 6a edição. Elsevier, 2012. Date, Christopher J Introdução a sistemas de bancos de dados. Elsevier, 2004. Obrigado! Perguntas? Wladmir Cardoso Brandão www.wladmirbrandao.com “Science is a way of thinking... much more than it is a body of knowledge.” Carl Sagan