Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1...

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

Transcript of Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1...

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

Gerenciamento de Banco de Dados

Profa. Sandra de AmoApresentação da Disciplina

GBC053 2013 – 1

Bacharelado em Ciência Computação

Page 2: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 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

Page 3: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

Informações Gerais

Homepage

http://www.deamo.prof.ufu.br/CursoGBD2-2013-1.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

Page 4: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

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

Page 5: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

Bibliografia Database Management Systems – 3a Edição

R.Ramakrishnan – J. Gehrke, 2003.

Versão em portugues: Sistemas de Gerenciamento 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

Page 6: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

Critério de Avaliação Prova 1 (P1) = 25 pontos Prova 2 (P2) = 30 pontos Prova 3 (P3) = 30 pontos Projeto (P) = 15 pontos

NF = P1 + P2 + P3 + P

Prova Substitutiva = somente se NF < 60Nota final com Sub no máximo = 60

Page 7: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

Calendário das Avaliações

Prova 1 : 25 de Junho Prova 2 : 13 de Agosto Prova 3 : 10 de Setembro Projeto : de 11 a 13 de Setembro Prova Substitutiva : 16 de Setembro

Page 8: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

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)

Page 9: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

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)

Page 10: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

ARQUITETURA GERALARQUITETURA GERALDE UM SGBD DE UM SGBD RELACIONALRELACIONAL

Page 11: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

Esquema Geral do Processador de Consultas

SQL Parser Consulta SQL

usuário

Coleção de blocos simplesB1, B2, ...., Bn

Otimizador

Melhor Plano de execução

Bloco SQL simples

Plano canônico

Cria planos alternativos

Planos alternativos

Estima custos

Melhor Plano de execução

Transforma em Algebra

Page 12: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

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

Page 13: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

Bloco simples SELECT <lista atributos>

FROM <lista relações>

WHERE <condição em FNC>

GROUP BY

HAVING

Page 14: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

ExemploR(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.

Page 15: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

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

Page 16: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

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

Page 17: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

Bloco SQL Expressão algébrica

ΠA,B,..., MIN (C)

Having .... Group by ...

σ condições do WHERE

R1 X R2 X ... X Rn

Projeção sobre os atributos do SELECT

Seleção sobre as condições do WHERE

Produto Cartesiano das relações do FROM

Page 18: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

Plano de Execução “Canônico”ΠA,B,...,Min(C)

σ condições do WHERE

R1 X R2 X ... X Rn

Having .... Group by A

ΠA,B,...,C

σ

ΠA,B,...,C

X

R1 R2 Rn

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

Page 19: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

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.

Page 20: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

Exemplo

σ

X

R S

Π Projeção com ordenação

Seleção usando indice B+tree no atributo A

Hash Join

σ

X

R S

Projeção com ordenação

Sort Merge Join

Π

Seleção usando indice Hash no atributo B

Page 21: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

Objetivos principais 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.

Page 22: Gerenciamento de Banco de Dados Profa. Sandra de Amo Apresentação da Disciplina GBC053 2013 – 1 Bacharelado em Ciência Computação.

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