GBC053–Gerenciamento de Banco de Dados Plano de Curso e Introdução Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC Plano de Curso Ementa • Arquitetura de um Sistema de Gerenciamento de Banco de Dados-SGBD (REVISÃO) • Armazenamento de Dados: dispositivos, gerenciamento e organização de arquivos • Arquivos de Índice: Árvore B+ e Hash • Ordenação em Disco • Implementação de um SGBD: tipos de dados, formas de armazenamento e processamento de instruções de manipulação de dados: inserção, alteração, exclusão e consulta 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. 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. 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 Programa P1) 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 P2)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 Programa (cont.) P3)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 Programa (cont.) P4)Índices baseados em árvore Fundamentos ISAM Árvore B+ Operações Compressão de chaves P5)Índices baseados em tabela hash Hash estático Hash dinâmico Hash Extensível Hash Linear Programa (cont.) P6)Processamento de Consultas Visão geral Ordenação de Dados em Disco Implementação dos operadores da álgebra relacional Otimização de consultas SQL 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 Avaliação Bibliografia • R. Ramakrishnan e J. Gehrke, Database management systems, 3a Ed., McGraw-Hill, Boston, 2003. (Livro-texto) • 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/gbd, Uberlândia, 2016 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? 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. Fundamentos Def. Sistema de Banco de Dados (SBD) SBD = BD + SGBD + Aplicação 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 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. Arquitetura de um SGBD Relacional FIM - P1. Introdução