INF70 – Gerenciamento de Banco de Dados 2 Plano de Curso e Introdução Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/gbd2 UFU/FACOM/BCC Plano de Curso Ementa • Arquitetura de um Sistema Gerenciador de Banco de DadosSGBD, Transações e Integridade de Dados • Armazenamento de Dados • Organização de Arquivos • Arquivos de Índice • Ordenação em Disco • Processamento de Consultas • Compressão de Dados. UFU/FACOM,/BCC GBD2 Página:0.3 Motivação • BD é essencial para qualquer organização. • SGBD é: Capaz de criar e manipular grandes volumes de dados Um tipo de software complexo • Algoritmos usados na implementação de SGBD usam técnicas de desenvolvimento de software sofisticadas • Escolha e configuração de SGBD é um problema prático. UFU/FACOM,/BCC GBD2 Página:0.4 Objetivo Geral Tornar o aluno capaz de escolher métodos e implementar algoritmos adequados à solução de problemas que envolvem a organização e a recuperação de informações armazenadas em disco, incluindo conceitos e técnicas de implementação de um sistema de gerência de bancos de dados. UFU/FACOM,/BCC GBD2 Página:0.5 Objetivos Específicos Tornar o aluno capaz de: • • • • • • escolher métodos de organização de arquivos implementar algoritmos de indexação de dados em disco; implementar algoritmos de ordenação de dados em disco; calcular custos de I/O envolvidos no acesso a dados; implementar os operadores básicos da algebra relacional implementar um optimizador de consultas UFU/FACOM,/BCC GBD2 Página:0.6 Programa P.1) Introdução (Revisão) Integridade de Dados: Restrição de Domínio; Chave Primária; e Chave Estrangeira. Transações: Atomicidade, Consistência, Isolamento, Durabilidade (ACID) Arquitetura de um SGBD P.2)Armazenamento de Dados Hierarquia de memória Gerenciamento de espaço em disco Gerenciamento do Bufferpool Políticas de substituição Formatos de registros e de páginas UFU/FACOM,/BCC GBD2 Página:0.7 Programa (cont.) P.3)Introdução à Organização de Arquivos e Índices Fundamentos Arquivos não ordenados Arquivos ordenados Propriedades de índices: densos/esparsos, agrupados/não agrupados, primários/secundários, com chaves compostas Arquivos de acesso direto Arquivos indexados com base em árvores B Comparação de Organizações de Arquivos UFU/FACOM,/BCC GBD2 Página:0.8 Programa (cont.) P.4)Índices baseados em árvore Fundamentos ISAM Árvore B+ Operações Compressão de chaves P.5)Índices baseados em tabela hash Hash estático Hash dinâmico Hash Extensível Hash Linear UFU/FACOM,/BCC GBD2 Página:0.9 Programa (cont.) P.6)Processamento de Consultas Visão geral Ordenação de Dados em Disco Implementação dos operadores da álgebra relacional Otimização de consultas SQL UFU/FACOM,/BCC GBD2 Página:0.10 Metodologia • • • • Aulas expositivas Exercícios em sala de aula Exercícios extra classe com dúvidas na sala do professor Trabalho de implementação com apresentação em sala UFU/FACOM,/BCC GBD2 Página:0.11 Avaliação A TIV ID A D E Prova1 Prova2 Prova3 Trabalho/Part. D A TA 30/03/12 18/05/12 22/06/12 V árias V A LO R 20 20*+5** 40* 20 O BS P.1aP.3 P.4, P.2 P.5, P.6 *valoresrevistosconform ediscutidoemsaladeaula **cincopontosextraspararecuperaçãodenotadaprim eiraprova UFU/FACOM,/BCC GBD2 Página:0.12 Bibliografia • R. Ramakrishnan e J. Gehrke, Database management systems, 3a Ed., McGraw-Hill, Boston, 2003. Obs: Livro-texto; Cinco exemplares na biblioteca; • A. Silberchatz, H. Korth, S. Sudarshan, Sistema de banco de dados, 5a Ed., Editora Campus, Rio de Janeiro, 2006, • H. Garcia-Molina, J. Ullman, J. Widom, Database System Implementation, Prentice-Hall, New Jersey, 2000. • R. Elmasri e S. Navathe, Sistemas de banco de dados, 4a Ed., Addison-Wesley, São Paulo, 2005 • I. Silva, Notas de Aula de Gbd2, http://www.facom.ufu.br/~ilmerio/gbd2, Uberlândia, 2009 UFU/FACOM,/BCC GBD2 Página:0.13 P1. Introdução (Revisão) Fundamentos Def. Banco de Dados “ é uma coleção de itens de dados relacionados” Propriedades implícitas: representa uma realidade, tem um significado é projetado com objetivos definidos Exemplo: Banco de dados de uma empresa contendo dados de clientes, funcionários e produtos. As páginas da Web formam um BD? UFU/FACOM, Página:0.15 Fundamentos Def. Sistema Gerenciador de Banco de Dados “Um Sistema Gerenciador de Banco de Dados(SGBD) é um software que gerencia um ou mais bancos de dados” Ex: Oracle; PostgreSql; MySql; Sybase; MS Sql Server; MS Access; Firebird. UFU/FACOM, Página:0.16 Fundamentos Def. Sistema de Banco de Dados (SBD) SBD = BD + SGBD + Aplicação UFU/FACOM, Página:0.17 Fundamentos Def. Integridade de Dados significa que o dado armazenado está completo e correto de acordo com regras estabelecidas pela aplicação. Essas regras são chamadas Restrições de Integridade, por exemplo, no modelo relacional, temos: Restrição de Domínio: estabelece o conjunto de valores válidos para atributos Restrição de Chave: nenhum par de tuplas pode ter os mesmos valores (exceto se nulos, para chave candidata diferente da chave primária) Restrição Referencial ou Chave Estrangeira: valor da chave deve aparecer como chave primária em outra relação UFU/FACOM,/BCC GBD2 Página:0.18 Fundamentos Def. Transação: é uma unidade lógica de trabalho formada por um conjunto de operações com as seguintes características: Atômica – executam-se todas ou nenhuma Consistente – mantêm a integridade do BD Isolada – transações intercaladas não interferem entre si Durável - as modificações que uma transação encerrada fez no BD não são removidas por falhas. UFU/FACOM,/BCC GBD2 Página:0.19 Arquitetura de um SGBD Relacional UFU/FACOM,/BCC GBD2 Página:0.20 FIM - P1. Introdução