1 / 22

Gerenciamento de Banco de Dados

Gerenciamento de Banco de Dados. Profa. Sandra de Amo Apresentação da Disciplina GBC053 2012 – 2 Bacharelado em Ciência Computação. Roteiro. Informações Gerais sobre a dinâmica da disciplina Conteúdo da Disciplina GBC053 Objetivos gerais Critério de Avaliação Bibliografia.

agnes
Download Presentation

Gerenciamento de Banco de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2012 – 2 Bacharelado em Ciência Computação

  2. Roteiro • Informações Gerais sobre a dinâmica da disciplina • Conteúdo da Disciplina GBC053 • Objetivos gerais • Critério de Avaliação • Bibliografia

  3. Informações Gerais • Homepage http://www.deamo.prof.ufu.br/CursoGBD2-2012-2.html • Dinâmica • Chamada 2 vezes • 1a vez: Durante os 50 primeiros minutos • 2a vez: Durante os 50 últimos minutos • Aula de Exercícios – Listas • Informações via email • Trabalho em grupo

  4. Conteúdo da Disciplina • Arquitetura de um Sistema de Gerenciamento de Banco de Dados (SGBD) – Catálogo • Organização de Arquivos e Índices • Armazenamento de Dados – • gerenciamento de memória em disco e no buffer • Indices baseados em árvores • Indices baseados em hash: Hash estático; Hash Extensível; Hash Linear • Processamento de Consultas • Ordenação de Dados em Disco • Implementação dos operadores da álgebra relacional: Seleção; Projeção; Junção; Operações com conjuntos e agregações • Otimização de consultas SQL

  5. Bibliografia • Database Management Systems – 3a Edição R.Ramakrishnan – J. Gehrke, 2003. Versão emportugues: Sistemas deGerenciamento de Bancos de Dados, 2008 • Sistemas de Banco de Dados – Elmasri, Navathe. Editora Pearson, 6ª edição, 2011. • Sistema de Banco de Dados. A. Silberschatz, H.F. Korth, S Sudarshan. Tradução da 5a. Edição: Database Systems Concepts, Rio de Janeiro, Elsevier, 2006. • Database System Implementation. Garcia-Molina, H.; Ullman, J. D.; Widom, J., Delhi-India: Pearson, 2006

  6. Critério de Avaliação • Prova 1 (P1) = 20 pontos • Prova 2 (P2) = 30 pontos • Prova 3 (P3) = 30 pontos • Projeto (P) = 20 pontos • NF = P1 + P2 + P3 + P Prova Substitutiva = somente se NF < 60 Nota final com Sub no máximo = 60

  7. Calendário das Avaliações • Prova 1 : 8 de Janeiro • Prova 2 : 19 de Fevereiro • Prova 3 : 9 de Abril • Projeto : 11 e 12 de Abril • ProvaSubstitutiva : 15 de Abril

  8. O que é um SGBD ? Um SGBD (Sistema Gerenciador de Banco de Dados)é um software projetado para armazenar e manipular de forma eficiente grandes quantidades de dados (banco de dados)

  9. Sistemas de Banco de Dados • Sistemas de Gerenciamento de Banco de Dados (SGBD) • Relacionais (SGBDR) – puramente relacionais, sem suporte para dados complexos. • Orientados a Objetos (nativos) – puramente orientado a objetos (O2) • Semi-estruturados nativos (XML nativo) • Objeto-Relacionais(SGBDOR): a maioria das novas versões dos SGBDs comerciais atuais- têm suporte a dados semi-estruturados (XML)

  10. ARQUITETURA GERAL DE UM SGBD RELACIONAL

  11. Esquema Geral do Processador de Consultas Bloco SQL simples usuário Consulta SQL SQL Parser Transforma em Algebra Coleção de blocos simples B1, B2, ...., Bn Plano canônico Cria planos alternativos Otimizador Planos alternativos Estima custos Melhor Plano de execução Melhor Plano de execução

  12. Decompor consulta em blocos simples • Um bloco SQL simples é um comando sem subconsultas aninhadas, onde aparece • somente um SELECT, • somente um FROM • no máximo um WHERE (em FNC) • no máximo um GROUP BY • no máximo um HAVING

  13. Bloco simples • SELECT <lista atributos> FROM <lista relações> WHERE <condição em FNC> GROUP BY HAVING

  14. Exemplo R(sid,bid,day,rname) : RESERVA S(sid,sname,rating,age) : SAILORS B(bid,bname, color) : BOAT • Para cada marinheiro (sailor) com o mais alto status (rating) e que fez pelo menos 2 reservas de barcos vermelhos, dê seu identificador e a data mais recente em que fez reserva de barco vermelho.

  15. Exemplo (continuação) SELECT DISTINCT S.sid, Min (R.day) FROM Sailors S, Reservas R, Boats B WHERE S.sid = R.sid AND R.bid = B.bid AND B.color = ‘red’ AND S.rating = (SELECT MAX (S2.rating) FROM Sailors S2 ) GROUP BY S.sid HAVING COUNT (*) > 1

  16. Exemplo (continuação) • Bloco 1 : bloco interno SELECT MAX (S2.rating) FROM Sailors S2 Resultado : Relação temporária T(A) • Bloco 2 : bloco externo SELECT DISTINCT S.sid, Min (R.day) FROM Sailors S, Reservas R, Boats B, T WHERE S.sid = R.sid AND R.bid = B.bid AND B.color = ‘red’ AND S.rating = T.A GROUP BY S.sid HAVING COUNT (*) > 1

  17. Bloco SQL  Expressão algébrica ΠA,B,..., MIN (C) Projeção sobre os atributos do SELECT Having .... Group by ... σcondições do WHERE Seleção sobre as condições do WHERE R1 X R2 X ... X Rn Produto Cartesiano das relações do FROM

  18. ΠA,B,...,Min(C) Plano de Execução “Canônico” ΠA,B,...,C ΠA,B,...,C Having .... Group by A σcondições do WHERE σ R1 X R2 X ... X Rn X • Resultado R é ordenado • O GROUP BY é executado • sobre o resultado R ordenado. • O HAVING é aplicado para eliminar certos grupos. • Funções de agregação são executadas sobre os grupos finais R1 R2 Rn

  19. O que é um plano de execução ? • Plano de execução correspondente à uma expressão algébrica E • Sequência de operações equivalente à expressão E, isto é, produzindo o mesmo resultado que E. • Para cada operação da sequência (projeção, seleção, junção), um algoritmo é especificado para implementar tal operação.

  20. Exemplo Π Projeção com ordenação Π Projeção com ordenação σ Seleção usando indice B+tree no atributo A Seleção usando indice Hash no atributo B σ X Hash Join X Sort Merge Join R S R S

  21. Objetivosprincipais da disciplina • Estudar os algoritmos utilizados para executar cada um dos operadores do SQL – • os utilizados pelos principais SGBDs comerciais • Entender as estruturas de dados utilizadas pelos diferentes algoritmos (indices) • Entender como os dados em disco e no buffer pool são manipulados pelos algoritmos • Estudar os métodos utilizados pelos otimizadores para gerar os planos de consultas e escolher o melhor plano.

  22. Profissionais a que é direcionado... • Programadores • Desenvolvedores de SGBDs • Administrador de BD (DBA)

More Related