Introdução a Banco de Dados Instituto Militar de Engenharia - IME Tópicos Conceitos básicos Arquitetura Modelo/Esquema Histórico Tendências MCRC - IME/RJ 2 Definições DADOS x INFORMAÇÃO x CONHECIMENTO Dados: conjunto de valores Ex.: Matriz de valores contendo as quantidades de produtos em estoque Informação: dados associados a seu significado Ex.: Matriz com valores e o significado de cada coluna. • Coluna 1 = nome do produto • Coluna 2 = quantidade em estoque Conhecimento: há um entendimento sobre o significado dos dados e é possível extrair conhecimento a partir dos mesmos Ex: Se tenho abaixo de um dado limite em estoque vou precisar repor o produto MCRC - IME/RJ Aplicações de BD Sistemas ou programas que interagem com um Banco de Dados em algum momento da sua execução Supermercados registram os produtos e as vendas feitas Administradoras de Cartão de crédito registram clientes e suas compras Bibliotecas registram os livros do seu acervo, usuários e empréstimos Livrarias registram os livros à venda, as vendas e até os perfis de seus clientes Universidades registram seus alunos e suas notas Laboratórios registram seus objetos de estudo e os experimentos realizados sobre eles MCRC - IME/RJ Aplicações de BD Aplicação de BD SGBD BD Sistema de Gerência de Bancos de Dados MCRC - IME/RJ Definições Base de Dados Banco de Dados Representação é livre Por exemplo, arquivos texto (flat files) Às vezes provê informação Obrigatoriamente provê informação Dados são representados segundo um padrão Pressupõe um sistema de gerenciamento Gerência de Dados Suporte à extração do conhecimento a partir de bancos de dados Suporte à manipulação dos dados, garantindo consistência e integridade dos dados SGBDs: Sistemas de Gerência de Bancos de Dados MCRC - IME/RJ Base de Dados - GenBank LOCUS DEFINITION ACCESSION VERSION KEYWORDS SOURCE ORGANISM REFERENCE AUTHORS TITLE JOURNAL MEDLINE PUBMED FEATURES CDS gene SCU49845 5028 bp DNA PLN 21-JUN-1999 Saccharomyces cerevisiae TCP1-beta gene, partial cds, and Axl2p (AXL2) and Rev7p (REV7) genes, complete cds. U49845 U49845.1 GI:1293613 . Saccharomyces cerevisiae (baker's yeast) Saccharomyces cerevisiae Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces. 1 (bases 1 to 5028) Torpey,L.E., Gibbs,P.E., Nelson,J. and Lawrence,C.W. Cloning and sequence of REV7, a gene whose function is required for DNA damage-induced mutagenesis in Saccharomyces cerevisiae Yeast 10 (11), 1503-1509 (1994) 95176709 7871890 Location/Qualifiers <1..206 /codon_start=3 /product="TCP1-beta" /protein_id="AAA98665.1" /db_xref="GI:1293614" /translation="SSIYNGISTSGLDLNNGTIADMRQLGIVESYKLKRAVVSSASEA AEVLLRVDNIIRARPRTANRQHM" 687..3158 /gene="AXL2" MCRC - IME/RJ Banco de Dados - GUS DB MCRC - IME/RJ Gerência de dados DADOS monitorar capturar armazenar consultar analisar MCRC - IME/RJ Sistema Tradicional de Arquivos Emissão de Guias de Cobranç Cobrança Emissão de Contas a Pagar Cadastro cadastro de de Clientes clientes Contas a Receber Cadastro de Cadastro de cadastro de Fornecedores Itens clientes Cadastro cadastrode de Fornecedores clientes Emissão de Pedidos de Compra Cadastro de Clientes Emissão de Ordens de Fornecimento Cadastro de Pedidos Contas a Pagar Folha de Pagamento Cadastro de Funcioná Funcionários Cadastro de Itens MCRC - IME/RJ 10 Limitações Dados isolados e em diferentes arquivos Registros incompatíveis Duplicação de dados (redundância) Programas dependentes dos dados Dificuldade de representar o todo (a realidade do usuário) 11 MCRC - IME/RJ Sistema Gerenciador de Banco de Dados Emissão de Guias de Cobranç Cobrança Emissão de Contas a Pagar Emissão de Pedidos de Compra Emissão de Ordens de Fornecimento Folha de Pagamento SGBD Contas a Receber Cadastro de Clientes Cadastro de Itens Contas a Pagar Cadastro de Pedidos Cadastro de Fornecedores MCRC - IME/RJ Cadastro de Funcioná Funcionários 12 Vantagens Dados integrados e compartilhados Suporte a múltiplas visões dos dados Duplicação de dados controlada Independência de dados Representação mais próxima da percepção do usuário MCRC - IME/RJ 13 O Que é Banco de Dados ? Coleção auto-descritiva de registros integrados Inclui a definição de sua própria estrutura Contém dados do usuário, índices e dados sobre sua utilização (usuários, aplicativos, estatísticas) MCRC - IME/RJ 14 Banco de Dados Dados sobre os Estudantes Matrícula Nome Telefone Orientador 9713025 José José Maria da Silva 487 2233 Arnaldo Vieira 9713038 Maria Clá Cláudia Araujo 671 4245 Pedro Nascimento 9823007 Carlos Manoel Soares 265 3896 Maria Luiza Campos 9823158 Armando Gomes 287 6508 Maria Luiza Campos 9912250 Carla Ferrentini 274 3208 Arnaldo Vieira MCRC - IME/RJ 15 Metadados Dados sobre dados Permitem a manutenção, representação e identificação dos dados Garantem a consistência e a persistência das definições das unidades de dados Proporcionam aos usuários um entendimento comum das unidades de dados MCRC - IME/RJ 16 Metadados SysTables SysColumns Table Name Number of Columns Primary Key Column Name Table Name Data Type Length Estudante 4 Matrí Matrícula Matrí Matrícula Estudante Integer Disciplina 5 Código Nome Estudante Text 30 4 Matrí Matrícula 3 Nome + Có Código Telefone Estudante Text 10 Orientador 5 Identidade Orientador Estudante Text 30 Alguns autores/implementações de SGBD chamam de catálogo. 17 MCRC - IME/RJ Índices Estruturas auxiliares para permitir um acesso mais direto a um dado ou conjunto de dados ÍNDICE 1 Orientador Matrícula Arnaldo Vieira 9713025 Arnaldo Vieira 9823158 Maria Luiza Campos 9823007 Maria Luiza Campos 9823158 Pedro Nascimento 9713038 MCRC - IME/RJ 18 Metadados de Aplicações Armazena a estrutura e o formato de formulários, relatórios, consultas e outros componentes da aplicação Nem todos os SGBDs suportam componentes de aplicações Dos que suportam, nem todos os SGBDs armazenam como metadados MCRC - IME/RJ 19 O Que é SGBD ? Sistema que intermedia todos os acessos ao BD Garante a integridade e a segurança dos dados Facilidades de backup e recuperação de falhas Suporte para processamento multiusuário MCRC - IME/RJ 20 Papéis no Ambiente de BD Administrador do SGBD Administrador de Banco de Dados Responsável por criar e manter BDs Possui altos privilégios nos BDs que administra Administrador de Dados Responsável pela instalação e manutenção do SGBD Possui os mais altos privilégios Detém profundos conhecimentos de SO Responsável pelo ambiente de dados corporativo Usuários leigos, avançados, programadores, analistas 21 MCRC - IME/RJ Arquitetura de um SGBD Programadores analistas Usuàrio Leigo Ferramenta de composição de formulários Ferramenta de composição de relatórios Usuário Avançado Programa de Aplicação, relats, forms Ferramentas de Consulta DBA/AD Ferramenta de manipulação da estrutura SGBD Ferramenta de compilação de aplicativos DADOS Administrador de SGBD/DBA Ferramenta de administração Controle de usuarios, Backup e recuperação, Monitoramento do uso, Configuração do SGBD, etc. METADADOS MCRC - IME/RJ 22 Linguagens de Banco de Dados Definição Data Definition Language - DDL Para definição dos tipos de dados a serem tratados em um banco de dados Manipulação Data Manipulation Language - DML Para consultar, atualizar, transformar e excluir dados de um banco de dados MCRC - IME/RJ Componentes de um SGBD baseado em Garcia-Molina, Ullman, e Widom Usuários PROCESSADOR DE CONSULTAS ESTATÍSTICAS COMPILADOR DE CONSULTAS DML METADADOS Plano de consulta MECANISMO DE EXECUÇÃO estruturas, formatos, índices, etc. Solicitações de dados GERENCIADOR DE RECURSOS GERENCIADOR DE INDICES INDICES Ponteiros p/ elementos de dados GERENCIADOR DE ARMAZENAMENTO Páginas de dados GERENCIADOR DE BUFFERS BUFFERS DADOS MCRC - IME/RJ Componentes de um SGBD PROCESSADOR DE CONSULTAS COMPILADOR DE CONSULTAS DML ANALISADOR Árvore de consulta METADADOS PRÉ-PROCESSADOR ESTATÍSTICAS Árvore algébrica OTIMIZADOR Plano de consulta MECANISMO DE EXECUÇÃO MCRC - IME/RJ Acesso ao Banco de Dados (6B) (7B) Buffer Buffer (9) Código de Retorno (1) (2) Metadados Metadados (3) (4) Programa Programa de de Aplicaç ção Aplica Aplicação SGBD SGBD (7A) (8) (5) (6A) Sistema Sistema Operacional Operacional MCRC - IME/RJ Banco de Dados 26 Transações Duas ou mais operações de BD que devem ser executadas segundo as propriedades ACID Atomicamente mantendo a Consistência em Isolamento com Durabilidade MCRC - IME/RJ Componentes de um SGBD PROCESSADOR DE TRANSAÇõES COMPILADOR DE CONSULTAS DML TABELA DE BLOQUEIO CONTROLE DE CONCORRÊNCIA Plano de consulta REGISTRO DE LOG E RECUPERAÇÃO MECANISMO DE EXECUÇÃO DA CONSULTA Solicitações de dados GERENCIADOR DE RECURSOS GERENCIADOR DE INDICES GERENCIADOR DE ARMAZENAMENTO GERENCIADOR DE BUFFERS METADADOS ESTATÍSTICAS INDICES BUFFERS DADOS LOG MCRC - IME/RJ baseado em Garcia-Molina, Ullman, e Widom Componentes de um SGBD INTERPRETADOR DE CONSULTAS DDL MECANISMO DE EXECUÇÃO DA CONSULTA GERENCIADOR DE RECURSOS METADADOS MCRC - IME/RJ Arquitetura de 3 níveis NÍVEL EXTERNO baseado em Garcia-Molina, Ullman, e Widom Usuários Finais Visão Externa 1 ... Visão Externa n Mapeamento Conceitual Externo Independência de dados Lógica Física Esquema Lógico NÍVEL LÓGICO Mapeamento Conceitual Interno NÍVEL INTERNO Esquema Interno Banco de Dados Armazenado MCRC - IME/RJ Modelo de Dados Coleção de construtos usados para descrever um conjunto de dados e as operações que os manipulam Conceitos construídos a partir de mecanismos de abstração Em geral, possui uma notação gráfica MCRC - IME/RJ 31 Tipos de Modelos de Dados Modelo Conceitual ferramenta para representação da realidade em um alto-nível de abstração Modelo Lógico ferramenta para descrição de estruturas de dados em uma forma passível de ser processada por computador Modelo Físico conjunto das estruturas de armazenamento e dos métodos de acesso aos dados MCRC - IME/RJ 32 Esquema Representação de uma porção específica da realidade, a partir de um modelo de dados particular Coleção estática de estruturas sintáticas e/ou gráficas que descrevem um certo conjunto de dados Representa uma restrição às possíveis coleções de dados que podem descrever uma dada realidade Pode ter muitas instâncias MCRC - IME/RJ 33 Instância de Esquema Coleção dinâmica de dados que se conforma à estrutura definida pelo esquema Representa uma restrição às possíveis coleções de dados que podem descrever uma dada realidade Representa o estado do banco de dados num instante particular MCRC - IME/RJ 34 Modelo, Esquema e Instância fatos da realidade num instante particular percepção da estrutura dos dados existentes na realidade Modelo Modelo Esquema Esquema Instância Instância regras para validação de instâncias regras para estruturação de dados 35 MCRC - IME/RJ Exemplo CONCEITOS CONCEITOSDO DO MODELO MODELODE DEDADOS DADOS ••Campo Campo ••Registro Registro ESQUEMA ESQUEMA Pessoa Automóvel Nome Placa Sexo Endereço Marca Modelo Identidade Cor O esquema acima descreve uma realidade na qual exitem pessoas e automóveis Os registros Pessoa e Automóvel representam uma abstração sobre dois conjuntos de objetos de uma realidade Posso criar uma instância para o conj de pessoas e automóveis de cada condomínio do RJ MCRC - IME/RJ 36 Gerência de Dados - Histórico Data Management: Past, Present and Future -- Jim Gray 1a. Geração : .... - 1900 processamento manual de dados blocos de argila → papiro → pergaminho → papel 1800: cartões perfurados para fabricar tecidos, tocar música (pianolas) 2a. Geração : 1900 - 1955 1890: processamento mecânico de dados a partir de cartões perfurados Censo dos Estados Unidos programação pelo painel de controle da máquina Andares inteiros para armazenar cartões e perfuradoras Hollerith: International Business Machines – IBM MCRC - IME/RJ Gerência de Dados - Histórico 3a. Geração : 1970 1955 - Armazenamento de programas (von Neumman) Fita magnética: economia de espaço Processamento seqüencial de registros Linguagens de alto nível, e.g. COBOL Processamento batch MCRC - IME/RJ New Data Master file report New Data batch New Master file Gerência de Dados - Histórico 4a. Geração : 1965 - 1980 Discos magnéticos Acesso a grupos de registros Processamento online Independência de dados: esquemas lógico e físico Transações para tratar acesso concorrente SGBDs baseados no modelo de rede e hierárquico MCRC - IME/RJ Gerência de Dados - Histórico 5a. Geração : 1980 - 1995 SGBDs relacionais Linguagens de 4a. Geração Interfaces mais intuitivas Processamento paralelo Aplicações cliente-servidor MCRC - IME/RJ Gerência de Dados - Histórico 6a. Geração : 1995 - ... Novos tipo de dados: imagem, som, video, Busca e recuperação por conteúdo Banco de dados objeto-relacional Banco de dados na internet Banco de dados sobre a internet Dados Semi-estruturados Ferramentas OLAP GED MCRC - IME/RJ Resumindo Mainframes Microcomputadores Redes de Computadores Integração Ampla Processamento ções Transa Processamentode de Transaç Transações Aplicaç ções de Aplica Aplicações depequeno pequenoporte porte Aplicaç ções Cliente-Servidor Aplica Cliente Aplicações Cliente-Servidor Bancos ídos Distribu Bancos de de Dados Dados Distribuí Distribuídos MCRC - IME/RJ 42 Arquitetura Cliente/Servidor Usuários Clientes (Front-Ends) Aplicações Midleware SGBD SGBD SGBD Servidores (Back-End) Banco de Dados Banco de Dados Banco de Dados MCRC - IME/RJ 43 Banco de Dados Distribuídos HP IBM DEC Plataformas heterogêneas Necessidade de Integração Processamento Cooperativo Novos tipos de aplicações (e.g. P2P) Novos tipos de dados Parceria com servidores Web (Web services) MCRC - IME/RJ 44 Evolução dos Modelos e SGBDs 02 98 OO / OR 94 XML (Tamino) SGBDs Universais 90 Ontos, O2, Postgres 86 Modelo E-R Chen, 1976 78 Modelo Relacional Codd, 1970 66 DB2 (Relacional) • Adaplex • Exodus • SDM INGRES, ORACLE (Relacionais) 74 Sistema R (Relacional), DATACOM , ADABAS 70 IDMS (Rede) IMS (Hierárquico) 62 58 Protótipos OO 82 TOTAL (Rede limitado) Pré-SGBDs: Estruturas de acesso suportadas pelo SO MCRC - IME/RJ SGBDs relacionais Dataflex Paradox Progress SQLBase SQL Server Unify Watcom DB2 Oracle Sybase Informix CA-Ingres Zim Mercado nos anos 90 MCRC - IME/RJ 45 SGBDs Relacionais Hoje Oracle 11g (Grid computing ampliada ) Oracle Express Edition On January 27, 2010, finalized acquisition of Sun. Berkeley DB XML IBM DB2 9.7 (pureXML) solidDB V6.5 Microsoft SQL Server 2008 Business Intelligence (BI) Borland InterBase SMP 2009 Symmetric multi-processing PostgreSQL 8.1 (versão windows) 8.3 suporte a XML 8.4.2 – dez 2009 Oracle (ex-Sun) MySQL MySQL Enterprise Server 5.1 Firebird (partiu do Interbase 6.0) Firebird 2.1.3 – set 2009 Market share em 2006 (Gartner) Oracle ..….. 47.1 IBM ..……….21.1 Microsoft … 17.4 MCRC - IME/RJ 47 De tempos em tempos... Os pesquisadores de renome da área de BD se reunem Serge Abiteboul, Rakesh Agrawal, Phil Bernstein, Mike Carey, Stefano Ceri, David DeWitt, Hector Garcia Molina, Jim Gray, Yannis Ioannidis, David Maier, Avi Silberschatz, Mike Stonebraker, Rick Snodgrass, Jeff Ullman, Jennifer Widom, Alon Havely, Donald Kossman, Daniela Florescu,... Últimas edições: 1998 – Asilomar, California • http://acm.org/sigmod/record/issues/9812/asilomar .html 2003 – Lowell, Massachussets MCRC - IME/RJ • http://research.microsoft.com/~gray/lowell/ Recentemente... Coincidência ou não uma nova conferência se instalou em Asilomar e vem bianualmente ocorrendo desde 2003 Third Biennial Conference on Innovative Data Systems Research (CIDR 2007) - http://www.cidrdb.org/ Os anais (proceedings) já estão disponíveis online Alguns Tópicos de interesse: storage management, scalability and dependability, new architectures for BI, personal information spaces, ambient and embedded databases, user interfaces for data-intensive systems, Web data, information integration and data cleaning architectures, DB&IR integration, data management for escience, data management in sensor networks, P2P data management, selfmanaging systems, benchmarking and experimental methodology. MCRC - IME/RJ CIDR 2009 Topics of interest include, but are not limited to: database systems, storage management, massive data analysis, software service infrastructure, scalability and dependability, personal information spaces, embedded and sensor databases, user interfaces for data-intensive systems, information integration and data cleaning architectures databases and information retrieval, declarative systems, data management for e-science, data management in networks, self-managing systems, benchmarking and experimental methodology. MCRC - IME/RJ