INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados

Tamanho: px
Começar a partir da página:

Download "INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados"

Transcrição

1 Número: Nome: INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame 1 - Solução 21 Junho A duração deste exame é de 2 Horas. É um exame com consulta. O número total de pontos é 20. Marque as suas respostas NA FOLHA DE EXAME. Escreva o seu número e nome no topo de cada página. Escreva todas as fórmulas. Para o uso oficial somente SUM

2 Número: Nome: 2 1. (2v) Miscelânia 1.1 (1v) Relativamente ao SQL Server 2005, indique nas alíneas seguintes quais as verdadeiras e as falsas. F F a) A opção QUERY GOVERNOR do SQL Server 2005 permite influenciar optimizador de queries no sentido de escolher determinado plano de execução. b) O comando SET STATISTICS IO do SQL Server 2005 indica ao sistema que este deve actualizar a informação estatística sobre o número de acessos efectuado aos objectos da base de dados. c) O SQL Server 2005 permite a utlização de um query hint HASH GROUP que força a utilização de um algoritmo de join para o cálculo de agrupamentos. V d) O SQL Server 2005 armazena planos de execução em cache. V 1.2.(1v) Indique se as seguintes afirmações são verdadeiras ou falsas. Justifique as falsas. a) O protocolo strict-2pl não dá garantias sobre a possível ocorrência de deadlocks. V b) O nível de isolamento REPETABLE READ está sujeito a anomalias do tipo dirty reads. F c) Se duas expressões de algebra relacional são equivalentes, então têm o mesmo custo associado ao seu processamento.. F d) Para executar uma selecção com apenas uma condição do tipo a<>b, é mais eficiente usar um índice do tipo hash do que uma árvore B+. F

3 Número: Nome: 3 2. (2v) Sistema de Ficheiros 2.1. (1v) Cada base de dados do SQL Server 2005 pode conter vários datafiles. Estes datafiles podem ainda estar organizadas em um ou vários filegroups. Indique os benefícios envolvidos em: a) Ter uma base de dados com dois datafiles, ambos num único filegroup primário. b) Ter uma base de dados com dois datafiles, cada um deles num filegroup separado. a) Tendo dois datafiles, a base de dados pode ser particionada, possibilitando por exemplo a criação de bases de dados com um volume de dados superior ao espaço de armazenamento disponível num único disco rígido, ou a execução em paralelo de algumas operações. Cabe no entanto ao SGBD decidir pela melhor forma de parcicionar os dados, tipicamente com vista a equilibrar o espaço utilizado nas duas datafiles. b) Tendo dois filegroups, o administrador da base de dados tem mais flexibilidade na gestão do particionamento da base de dados. Torna-se possível colocar explicitamente particções de uma tabela ou de um índice num dado filegroup (1v) Considere a seguinte BD relacional com duas relações: disciplina(nome-disc, sala, docente) inscricao(nome-disc, nome-aluno, nota) Defina instâncias destas relações para três disciplinas, em que cada uma tem inscritos cinco alunos. Apresente uma estrutura de ficheiros dessas relações que utilize clustering. relação Disciplina ================== nome-disc sala docente Pascal CS-101 Calvin, B c1 C CS-102 Calvin, B c2 LISP CS-102 Kess, J c3 relação Inscricao ================= nome-disc nome-aluno nota Pascal Carper, D A e1 Pascal Merrick, L A e2 Pascal Mitchell, N B e3 Pascal Bliss, A C e4

4 Número: Nome: 4 Pascal Hames, G C e5 C Nile, M A e6 C Mitchell, N B e7 C Carper, D A e8 C Hurly, I B e9 C Hames, G A e10 Lisp Bliss, A C e11 Lisp Hurly, I B e12 Lisp Nile, M D e13 Lisp Stars, R A e14 Lisp Carper, D A e15 Página 0 contém: c1, e1, e2, e3, e4, and e5 Página 1 contém: c2, e6, e7, e8, e9 and e10 Página 2 contém: c3, e11, e12, e13, e14, and e15

5 Número: Nome: 5 3. (4v) Índices 3.1. (3v) Considere um índice hash do tipo extendable hashing, onde cada bucket armazena 2 valores. Considere que é usada a função de dispersão: h(x) = x mod 3 Mostre a estrutura obtida pela inserção dos valores 3, 8, 15, 17, 19 e 5 Deve apresentar a estrutura após a inserção de cada elemento, e não apenas o resultado final. Em cada passo, não é necessário repetir os buckets que não mudaram. a) 3.2. (1v) Explique porque é que uma estrutura de índice baseada em hash não é a melhor escolha para uma chave de procura sobre a qual são executadas interrogações de intervalo (range queries)? Uma interrogação com intervalo não pode ser respondida de forma eficiente usando um índice baseado em hash porque teria que ler todos os buckets. Isto acontece porque os valores da chave de procura no intervalo não ocupam posições contíguas nos buckets. Em vez disso, os valores estão distribuídos uniformemente e aleatoriamente por todos os buckets.

6 Número: Nome: 6 4. (4v) Processamento e optimização de interrogações 4.1. (3v) Considere duas relações R1(A,B) e R2(A,C) em que A é chave primária em R1 e C é a chave primária em R2. Considere também que * a relação R1 contém tuplos, em 300 blocos * a relação R2 contém tuplos, em 100 blocos a) Estime, justificando, o tamanho máximo em tuplos da relação resultante da operação: R1 x R2. b) Assuma que apenas a relação R2 está ordenada pelo atributo A. Assuma também que apenas cabem 3 blocos de cada vez em memória. Calcule o custo, em termos de I/O, de realizar um merge join para R1 x R2. c) Assuma que o atributo B é chave primária em R1 e que o atributo C é chave primária em R2. Neste caso, qual seria o tamanho máximo da relação resultante? Justifique. a) Como A é chave primária em R1, para cada tuplo em R2 vai haver no máximo um tuplo em R1. O resultado terá, portanto, no máximo tuplos. b) Custo de ordenar a relação R1 = br*(2*ceil(log_{m-1}(br/m))+1) = 300*(2*ceil(log_{2}(300/3))+1) = 300*(2*ceil(log_{2}(100))+1) = 300*(2*7+1) = 300*15 = 4500 Custo do merge-sort = br + bs = 400 Custo total = br + bs + ordenar R2 = = 4900 c) No pior caso, cada tuplo de R1 corresponderia a todos os tuplos de R2 e, portanto, a relação final teria 20000x10000 = tuplos. Isto aconteceria se todos os tuplos de R1 e de R2 tivessem o mesmo valor no atributo A.

7 Número: Nome: (1v) Indique duas possíveis heurísticas para a selecção de planos de execução. Para cada uma explique a sua utilidade e em que casos, se existirem, ela pode não ser útil. 1. Executar selecções o mais cedo possível. Diminui o tamanho das tabelas o mais cedo possível, para diminuir a complexidade das operações seguintes. Não é útil se a selecção é pouco específica (i.e., se escolhe quase todos os tuplos da relação). Pode piorar o resultado se tivermos uma selecção sobre um join, em que se o join for executado primeiro, a tabela resultante é muito menor (assumindo que o join pode ser feito com eficiência). 2. Executar as projecções o mais cedo possível. Diminui o tamanho das tabelas o mais cedo possível, para diminuir a quantidade de dados usada nas operações seguintes. Pode não ser útil se a projecção elimina atributos com índices que podiam ser usados em operações posteriores.

8 Número: Nome: 8 5. (4v) Transacções, controlo de concorrência e gestão de recuperação 5.1. (3v) Considere o seguinte escalonamento de transacções, o qual apresenta instruções de locking binárias (i.e. lock/unlock). Trans T1 Trans T2 Trans T3 1 Lock(X) 2 Read(X) 3 Lock(Y) 4 Read(Y) 5 X=X+1 6 Lock(Z) 7 Read(Z) 8 Y=Y-1 9 Write(Y) 10 Unlock(Y) 11 Z=Z+1 12 Write(X) 13 Unlock(X) 14 Write(Z) 15 Unlock(Z) 16 Lock(Y) 17 Read(Y) 18 Lock(X) 19 Read(X) 20 Lock(Z) 21 Read(Z) 22 X=X+2 23 Y=Y+3 24 Z=Z+3 25 Write(X) 26 Unlock(X) 27 Write(Y) 28 Unlock(Y) 29 Write(Z) 30 Unlock(Z) a) Liste três conflitos que podem surgir no escalonamento apresentado. b) Apresente o grafo de precedências para o escalonamento apresentado e indique se o escalonamento é conflict-serializable. c) O escalonamento apresentado obedece ao protocolo two-phase locking (2PL). Explique porquê. d) Apresente um escalonamento alternativo para as 3 transacções que obedeça ao protocolo 2PL e que faça uso de locks exclusivos e partilhados (i.e. lock-s/lock-x/unlock). Indique ainda, justificando, se o escalonamento apresentado seria conflict-serializable.

9 Número: Nome: 9 a) conflito entre 2:T1:Read(X) e 25:T2:Write(X) conflito entre 4:T2:Read(Y) e 27:T3:Write(Y) conflito entre 7:T3:Read(Z) e 29:T1:Write(Z) conflito entre 9:T2:Write(Y) e 17:T3:Read(Y) e 27:T3:Write(Y) conflito entre 14:T3:Write(Z) e 21:T1:Read(Z) e 29:T1:Write(Z) conflito entre 17:T3:Read(Y) e 9:T2:Write(Y) conflito entre 19:T2:Read(X) e 12:T1:Write(X) conflito entre 21:T1:Read(Z) e 15:T3:Write(Z) conflito entre 25:T2:Write(X) e 2:T1:Read(X) e 12:T1:Write(X) conflito entre 27:T3:Write(Y) e 4:T2:Read(Y) e 9:T2:Write(Y) conflito entre 29:T1:Write(Z) e 7:T3:Read(Z) e 14:T3:Write(Z) b) Grafo com arcos de t1->t2, t2->t3, t3->t1. Não é conclict-serializable, pois o grafo apresenta um ciclo. c) Não, pois as transacções libertam os locks que tinham adquirido e seguidamente tentam adquirir novos locks. d) O novo escalonamento (e.g. executar primeiro T1, depois T2 e finalmente T3) seria conflict-serializable, pois o protocolo 2PL garante esta propriedade (neste caso estamos mesmo a propor um escalonamento série, embora pudessem existir outros). T1: Lock-S(X); R(X); X=X+1; Lock-X(X); W(X); Lock-S(Z); R(Z); Z=Z+3; Lock- X(Z); W(Z); Unlock(Z); Unlock(X) T2: Lock-S(Y); R(Y); Y=Y-1; Lock-X(Y); W(Y); Lock-S(X); R(X); X=X+2; Lock- X(X); W(X); Unlock(X); Unlock(Y) T3: Lock-S(Z); R(Z); Z=Z+1; Lock-X(Z); W(Z); Lock-S(Y); R(Y); Y=Y+3; Lock- X(Y); W(Y); Unlock(Y); Unlock(Z) 5.2. (1v) Explique a diferença entre a técnica de escrita diferida (deferred database modification) e a técnica de escrita imediata (immediate modification) da base de dados. Qual é usada pelo algoritmo ARIES? Na técnica de escrita diferida, todas as operações são registadas no log, mas as alterações não são imediatamente propagadas para a base de dados. Assim, na ocorrência de uma falha, não é necessário desfazer nenhuma operação, mas apenas refazer as que se encontram registadas. Na técnica de escrita imediata, todas as alterações aos dados são imediatamente propagadas para a base de dados, após o seu registo no log. Assim, na ocorrência de uma falha, algumas operações terão que ser desfeitas. O algoritmo Aries usa a técnica de escrita imediata.

10 Número: Nome: (4v) Database tuning 6.1(1v) Considere a seguinte relação normalizada, que lista os ids, tipos, e custos de várias peças, além da quantidade existente em stock: Peças(pid, tipo, custo, quantidade) Existem duas interrogações extremamente importantes: - Qual o número de peças disponíveis por tipo de peça. - Quais os identificadores de peças com o custo mais alto? a) Qual o tipo de estrutura de ficheiro que escolheria para guardar os registos de Peças e que índices criaria? b) Suponha que os clientes se queixam continuamente que o tempo de resposta às duas interrogações não é satisfatótio face à sua escolha da alínea a). Como não tem dinheiro para comprar mais HW ou SW, tem que considerar redesenhar o esquema de outra maneira. Explique como tentaria obter melhor desempenho usando outro esquema (por exemplo, outras relações), que organização de ficheiros escolheria e que índices sobre as relações. a) Pode ser usado um heap file para a relação Peças. Para responder de forma eficiente às interrogações, podem ser criados: um índice denso unclustered B+tree sobre (tipo, quantidade) e uma B+tree densa unclustered sobre (custo, pid). b) O problema pode existir porque o optimizador não está a considerar os index-only plans que podem ser obtidos usando o esquema prévio. Assim, podemos então criar índices clustered sobre (pid, custo) e (pnome, quantidade). Para fazer isso, é necessário particionar verticalmente a relação em duas: Peças1(pid, custo) Peças2(pid, tipo, quantidade). Se, mesmo assim os índices não funcionarem, pode ser usada a organização de ficheiro ordenada para estas duas relações.

11 Número: Nome: (3v) Considere o seguinte esquema relacional normalizado correspondente a um subconjunto da base de dados de uma empresa: Projecto(pno, pname, pdept, pgestor, topico, orcamento) Gestor(gid, gname, gdept, salario, idade, sexo) Cada projecto tem como base um departamento, cada gestor pertence a um determinado departamento, e o gestor de um projecto não tem que pertencer ao mesmo departamento no qual o projecto tem base. Suponha que sabe que as seguintes interrogações são as mais frequentes e que são igualmente equivalentes em frequência e importância: a) Quais os nomes de todos os projectos com gestores cujas idades pertencem a uma determinada gama de valores? b) Qual o nome do projecto com orçamento mais baixo? c) Qual o orçamento total dos projectos geridos por cada gestor? d) Qual o número de gestores masculinos? e) Qual a idade média dos gestores? Assumindo que estas interrogações são mais importantes do que quaisquer actualizações, escreva as interrogações correspondentes em SQL, e diga quais os atributos que devem ser indexados, que tipo de índice deve ser usado (B+tree ou hash-based), se é clustering ou nonclustering, e se a interrogação pode ser respondida só com a informação do índice (index-only plan). a) select P.proj_name from Projecto P, Gestor G where P.pgestor =G.gid and G.idade < 30 Unclustered B+ tree sobre Gestor<idade, gid> (=> index-only plan) e Unclustered hash index sobre Projecto<pgestor>. Se index-only plan não suportado, clustered B+ tree sobre Gestor<idade> e o mesmo sobre Projecto. b) select P.pnome from Projecto P where P.orcamento = (select min(p1.orcamento) from Projecto P1) Unclustered B+tree sobre Projecto<orcamento> c) select pgestor, sum(orcamento)

12 Número: Nome: 12 from Projecto group by pgestor Unclustered B+ tree sobre Projecto<pgestor, orcamento> (=> index-only plan), Se index-only plan não é suportado, então clustered index sobre Projecto<pgestor> d) select count(*) from Gestor where sexo = M Unclustered hash index sobre Gestor<sexo> (=>index-only scan para contar) Se index-only plan não é suportado, então nenhum índice torna esta query mais rápida. e) select avg(idade) from Gestor Unclustered hash index sobre Gestor<idade> (=> index-only scan para calcular a média). Se index-only plan não é suportado, então nenhum índice torna esta query mais rápida.

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Número: Nome: 1 -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame

Leia mais

Administração e Optimização de BDs

Administração e Optimização de BDs Departamento de Engenharia Informática 2010/2011 Administração e Optimização de BDs Mini-Projecto 1 2º semestre A resolução deve ser claramente identificada com o número de grupo e entregue sob a forma

Leia mais

Bases de Dados 2008/2009

Bases de Dados 2008/2009 Instituto Superior Técnico Bases de Dados 2008/2009 Exame de 30 de Janeiro de 2009 Sem consulta Duração: 2h30 1. Considere o seguinte cenário relativo a um stand de compra e venda de carros usados, em

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

PostgreSQL Performance

PostgreSQL Performance PostgreSQL Performance André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) PostgreSQL Performance February 24, 2012 1 / 45 Sumário 1 Armazenamento 2 Índices

Leia mais

Banco de Dados. Otimização de consultas. Prof. Joao Eduardo Ferreira Prof. Osvaldo Kotaro Takai. Última atualização: 15 de maio de 2006

Banco de Dados. Otimização de consultas. Prof. Joao Eduardo Ferreira Prof. Osvaldo Kotaro Takai. Última atualização: 15 de maio de 2006 Banco de Dados Otimização de consultas Última atualização: 15 de maio de 2006 Prof. Joao Eduardo Ferreira Prof. Osvaldo Kotaro Takai Introdução Consulta em linguagem de alto nível Análise e validação Forma

Leia mais

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa 10.1.4217

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa 10.1.4217 Estruturas de Armazenamento e Indexação Rafael Lage Moreira Barbosa 10.1.4217 Estruturas de Armazenamento Banco de Dados são armazenados fisicamente como arquivos de registro, que em geral ficam em discos

Leia mais

Bases de Dados 2007/2008 Exame

Bases de Dados 2007/2008 Exame Exame 11 de Janeiro de 2008 Instituto Superior Técnico Departamento de Engenharia Informática Regras O exame tem a duração de 2h30m. A folha de capa deve ser identificada com o nome e número do aluno.

Leia mais

Unidade 5 Armazenamento e Indexação

Unidade 5 Armazenamento e Indexação Unidade 5 Armazenamento e Indexação Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José

Leia mais

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Consistem num conjunto de apontadores para instâncias especificas de cada relação. Mecanismo usado para mais fácil e rapidamente aceder à informação existente numa base de dados. Bases de Dados de elevadas dimensões. Consistem num conjunto de apontadores para instâncias especificas de

Leia mais

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade Lourenço Filho - ENADE 2011-1 1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode

Leia mais

Sistemas de Informação

Sistemas de Informação 1 1 Bases de Dados SISTEMAs DE GESTÃO DE ANO LECTIVO 2001/2002 Sistemas de Informação 2 2 Sistemas de Informação e organizações Informação e Informação nas organizações Sistemas de Informação (SI) Planeamento

Leia mais

Algoritmos para Processamento e Otimização de Consultas. Adriano Douglas Girardello Ana Paula Fredrich Tiago Alexandre Schulz Sippert

Algoritmos para Processamento e Otimização de Consultas. Adriano Douglas Girardello Ana Paula Fredrich Tiago Alexandre Schulz Sippert UNIOESTE Universidade Estadual do Oeste do Paraná CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Informática Curso de Bacharelado em Informática Algoritmos para Processamento e Otimização de Consultas

Leia mais

Cap. 3 Organização de Ficheiros e Indexação

Cap. 3 Organização de Ficheiros e Indexação Cap. 3 Organização de Ficheiros e Indexação If you don t find it in the index, look very carefully through the entire catalogue. -- Sears, Roebuck, and Co., Consumer s Guide, 1897 Abel J.P. Gomes Bibliografia:

Leia mais

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro Prof. Daniela Barreiro Claro SQL, SQL3 e OQL são linguagens declarativas O SGBD deve processar e otimizar estas consultas antes delas serem efetivamente executadas Uma consulta possui muitas estratégias

Leia mais

Definida pelo American National Standard Institute (ANSI) em 1986

Definida pelo American National Standard Institute (ANSI) em 1986 2.3. Linguagens Relacionais SQL Structured Query Language Linguagem para o modelo relacional: Definida pelo American National Standard Institute (ANSI) em 1986 Adoptada em 1987 como um standard internacional

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Processamento de Consultas Ambiente com SGBD Distribuído Processamento

Leia mais

Processamento de Consultas

Processamento de Consultas Processamento de Consultas Banco de Dados: Teoria e Prática André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Setembro 2013 Picture by http://www.flickr.com/photos/fdecomite/1457493536/

Leia mais

Partitioning Partitioning table App. Partitioning SQL Server Partitioning Vantagens Partitioning Exemplo Passos a dar

Partitioning Partitioning table App. Partitioning SQL Server Partitioning Vantagens Partitioning Exemplo Passos a dar Quilson Antunes 1 2 3 4 5 6 7 Partitioning Partitioning table App. Partitioning SQL Server Partitioning Vantagens Partitioning Exemplo Passos a dar 19 de Agosto de 2011 Microsoft SQL Server Partitioning

Leia mais

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction Bases de Dados II 6638: BSc in Information Systems and Technologies Cap. 1 Module Introduction Objectivos O propósito e a origem da arquitectura de base de dados a três níveis. O conteúdo dos níveis externo,

Leia mais

DBMS%Performance% Carlos%Soares% (baseado%em%materiais%gen8lmente%cedidos% por%andré%res8vo,%joão%correia%lopes%e%do% livro%ramakrishnan%&%gehrke)% %

DBMS%Performance% Carlos%Soares% (baseado%em%materiais%gen8lmente%cedidos% por%andré%res8vo,%joão%correia%lopes%e%do% livro%ramakrishnan%&%gehrke)% % DBMS%Performance% Carlos%Soares% (baseado%em%materiais%gen8lmente%cedidos% por%andré%res8vo,%joão%correia%lopes%e%do% livro%ramakrishnan%&%gehrke)% % Plano% Contexto% Índices% Carga%da%base%de%dados%%

Leia mais

Processamento e Otimização de Consultas

Processamento e Otimização de Consultas Introdução Processamento e Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM 1 Processamento

Leia mais

Dicas de Projeto Lógico Relacional

Dicas de Projeto Lógico Relacional Dicas de Projeto Lógico Relacional O que deve ser especificado? mapeamento do esquema conceitual definição das tabelas e chaves justificativas de mapeamento (se necessário) restrições de integridade (RIs)

Leia mais

Data Warehousing e OLAP

Data Warehousing e OLAP Data Warehousing e OLAP Jornadas de Engenharia Informática Instituto Politécnico da Guarda Henrique Madeira Departamento de Engenharia Informática Faculdade de Ciências e Tecnologia Universidade de Coimbra

Leia mais

Desenvolvimento de uma base de dados. Relação. Modelo lógico: SGBD relacional

Desenvolvimento de uma base de dados. Relação. Modelo lógico: SGBD relacional Desenvolvimento de uma base de dados Realidade Bases de dados relacionais e SQL Conceitos básicos de bases de dados relacionais A 3ª forma normal Structured Query Language (SQL) Modelo conceptual (e.g.

Leia mais

BACO BAse de Co-Ocorrências

BACO BAse de Co-Ocorrências BACO? BACO BAse de Co-Ocorrências Luís Sarmento O BACO é uma base de dados que guarda informação gerada a partir um processamento efectuado a um ou vários corpora. O objectivo: Permitir pesquisar rapidamente

Leia mais

ESTRUTURA INTERNA DO SISTEMA ESTRUTURA GERAL DO SGBD. Desempenho do BD ÙSatisfação do usuário. A performance do sistema depende:

ESTRUTURA INTERNA DO SISTEMA ESTRUTURA GERAL DO SGBD. Desempenho do BD ÙSatisfação do usuário. A performance do sistema depende: ESTRUTURA INTERNA DO SISTEMA ESTRUTURA GERAL DO SGBD Desempenho do BD ÙSatisfação do usuário USUÁRIO A performance do sistema depende: da eficiência das estruturas de dados utilizadas; como o sistema opera

Leia mais

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante Banco de Dados 1 Programação sucinta do curso:. Conceitos fundamentais de Banco de Dados.. Arquitetura dos Sistemas Gerenciadores de Banco de Dados (SGBD ou DBMS).. Características típicas de um SGBD..

Leia mais

Bases de Dados. Parte IX: Organização Física dos Dados

Bases de Dados. Parte IX: Organização Física dos Dados Bases de Dados Parte IX Organização Física dos Dados Unidades de Medida da Informação A unidade fundamental é o byte. byte corresponde a 8 bits e cada bit permite representar ou um 0 ou um. Kilobyte (Kbyte

Leia mais

SQL: Interrogações simples

SQL: Interrogações simples SQL: Interrogações simples Fernando Lobo Base de Dados, Universidade do Algarve 1 / 20 Structured Query Language (SQL) É uma implementação da álgebra relacional incluindo os operadores extendidos. Contém

Leia mais

EXAME DE 1ª ÉPOCA Semestre de Verão 2004/2005 20 Junho 2005 duração: 2h30m

EXAME DE 1ª ÉPOCA Semestre de Verão 2004/2005 20 Junho 2005 duração: 2h30m ISEL DEETC SSIC EXAME DE 1ª ÉPOCA Semestre de Verão 2004/2005 20 Junho 2005 duração: 2h30m Introdução aos Sistemas de Informação Engenharia Informática e Computadores Ano Lectivo: 2004 / 2005 2º Sem. Docente:

Leia mais

Bases de Dados 2007/2008 Exame

Bases de Dados 2007/2008 Exame Exame 11 de Janeiro de 2007 Instituto Superior Técnico Departamento de Engenharia Informática Regras O exame tem a duração de 2h30m. A folha de capa deve ser identificada com o nome e número do aluno.

Leia mais

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos.

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. 1. Introdução aos Sistemas de Bases de Dados Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. O conceito de base de dados faz hoje parte do nosso

Leia mais

Arquitetura de SGBD Relacionais Métodos de Acesso Físico

Arquitetura de SGBD Relacionais Métodos de Acesso Físico Arquitetura de SGBD Relacionais Métodos de Acesso Físico Caetano Traina Jr. Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.usp.br

Leia mais

Algoritmos de pesquisa. Tabelas de dispersão/hash

Algoritmos de pesquisa. Tabelas de dispersão/hash Algoritmos de pesquisa Tabelas de dispersão/hash Introdução Motivação: Considerar o problema de pesquisar um determinado valor num vetor (array). Se o vetor não está ordenado, a pesquisa requer O(n) de

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais. Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais. A instrução SELECT As consultas a uma base de dados relacional fazem-se

Leia mais

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Banco de Dados I Linguagem SQL Parte 2 Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Introdução Como vimos, um SGBD possui duas linguagens: DDL: Linguagem de Definição de Dados. Usada

Leia mais

1. Assinale as afirmações que são verdadeiras e as que são falsas, corrigindo-as:

1. Assinale as afirmações que são verdadeiras e as que são falsas, corrigindo-as: Curso Profissional Técnico de Informática de Gestão 10ºB Prof. Pedro Lopes S i s t e m a s d e I n f o r m a ç ã o M ó d u l o : L i n g u a g e m S Q L T e s t e s u m a t i v o d u r a ç ã o 8 0 m i

Leia mais

4º BN Ronaldo Boscatto 08 52051-0 Marcelo Rosalem Daminello 39 52143-5

4º BN Ronaldo Boscatto 08 52051-0 Marcelo Rosalem Daminello 39 52143-5 Professor: Aparecido Disciplina: Recuperação de Informação Métodos de Otimização SQL em Banco de Dados 4º BN Ronaldo Boscatto 08 52051-0 Marcelo Rosalem Daminello 39 52143-5 INDÍCE 1. Otimização da Consulta

Leia mais

Bases de Dados. Álgebra Relacional ou Como manipular uma BD SQL. P. Serendero, 2011-13

Bases de Dados. Álgebra Relacional ou Como manipular uma BD SQL. P. Serendero, 2011-13 Bases de Dados Álgebra Relacional ou Como manipular uma BD SQL P. Serendero, 2011-13 1 Álgebra Relacional Conjunto básico de operadores que tomam as relações como os seus operandos e devolvem uma relação

Leia mais

EXCEL. Listas como Bases de Dados

EXCEL. Listas como Bases de Dados Informática II Gestão Comercial e da Produção EXCEL Listas como Bases de Dados (TÓPICOS ABORDADOS NAS AULAS DE INFORMÁTICA II) Curso de Gestão Comercial e da Produção Ano Lectivo 2002/2003 Por: Cristina

Leia mais

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza Árvores B Hashing Estrutura de Dados II Jairo Francisco de Souza Hashing para arquivos extensíveis Todos os métodos anteriores previam tamanho fixo para alocação das chaves. Existem várias técnicas propostas

Leia mais

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005 Departamento de Informática Faculdade de Ciências e Tecnologia UNIVERSIDADE NOVA DE LISBOA Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de 2005 2º Semestre, 2004/2005

Leia mais

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Fundamentos de Banco de Dados Aula 01 Introdução aos Sistemas de Bancos de Dados Introdução aos Sistemas de BD Objetivo Apresentar

Leia mais

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida UFCD 787 Administração de base de dados Elsa Marisa S. Almeida 1 Objectivos Replicação de base de dados Gestão de transacções Cópias de segurança Importação e exportação de dados Elsa Marisa S. Almeida

Leia mais

Definição do Plano de Execução. Estimativas sobre os Dados

Definição do Plano de Execução. Estimativas sobre os Dados Definição do Plano de Execução Analisar alternativas de processamento Escolher a melhor alternativa Diversas medidas podem ser consideradas tempo CPU, comunicação, acessos a disco medida mais relevante

Leia mais

Sistemas de Bases de Dados

Sistemas de Bases de Dados Sistemas de Bases de Dados Carlos Viegas Damásio José Alferes e Carlos Viegas Damásio Sistemas de Bases de Dados 2014/15 Objectivos - Em Bases de Dados (2º ano) pretendia-se: Que os estudantes fossem capazes

Leia mais

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 BASES DE DADOS I LTSI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 Horário Sa Sa Sa Sa Sa Tempos Seg. Ter. Qua. Qui. Sex. l l l l l 8-9 - - - - - - - - -

Leia mais

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2005/2006 Conceito de processo Operações sobre processos Conceito de processo Conceito de processo

Leia mais

PROGRAMA DE PÓS-GRADUAÇÃO POSEAD. Curso Banco de Dados. Resenha Crítica: Backup e Recovery Aluno: Wilker Dias Maia

PROGRAMA DE PÓS-GRADUAÇÃO POSEAD. Curso Banco de Dados. Resenha Crítica: Backup e Recovery Aluno: Wilker Dias Maia PROGRAMA DE PÓS-GRADUAÇÃO POSEAD Curso Banco de Dados Resenha Crítica: Backup e Recovery Aluno: Wilker Dias Maia Brasília 2012 SUMÁRIO 1- INTRODUÇÃO... 3 2- DESCRIÇÃO DO ASSUNTO... 4 2.1- Estrutura fisica

Leia mais

Limpeza e transformação de dados

Limpeza e transformação de dados SAD: 4º Projecto DW Limpeza e transformação de dados Suponha a operação de junção aproximada, que pode ser expressa pelo operador Match da framework de limpeza e transformação e dados AJAX. Pretende utilizar

Leia mais

CONTENÇÕES NO SGBD MICROSOFT SQL SERVER 2008 R2

CONTENÇÕES NO SGBD MICROSOFT SQL SERVER 2008 R2 CONTENÇÕES NO SGBD MICROSOFT SQL SERVER 2008 R2 ROMULO RUBENS CUNHA JUNIOR 1 IREMAR NUNES DE LIMA 2 Resumo: Este artigo aborda os tipos de contenções que podem ocorrer no Sistema Gerenciador de Banco de

Leia mais

OBJETIVOS. Orientações para Projetos de BD; Dependências Funcionais (DFs): Definição de DF; Regras de inferência para DFs.

OBJETIVOS. Orientações para Projetos de BD; Dependências Funcionais (DFs): Definição de DF; Regras de inferência para DFs. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br OBJETIVOS Orientações

Leia mais

Bases de Dados. Bibliografia. 1. Parte I Componente Teórica. Pedro Quaresma

Bases de Dados. Bibliografia. 1. Parte I Componente Teórica. Pedro Quaresma Índice Bases de Dados Pedro Quaresma Departamento de Matemática Universidade de Coimbra 2010/2011 1. Parte I Componente Teórica 1.1 Introdução 1.2 Modelo ER 1.3 Modelo Relacional 1.4 SQL 1.5 Integridade

Leia mais

Programação SQL. Manipulação de Dados. DML Data Manipulation Language

Programação SQL. Manipulação de Dados. DML Data Manipulation Language Programação SQL Manipulação de Dados DML Data Manipulation Language Manipulação de Dados (DML) Os comandos INSERT, UPDATE, DELETE, são normalmente classificados como pertencendo a uma sublinguagem da linguagem

Leia mais

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis. 3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades

Leia mais

Sistemas de Informação

Sistemas de Informação MODELO CONCEPTUAL DE DADOS Escola Superior de Tecnologia e Gestão de Felgueiras Engenharia Informática 3º ano - 2003/2004 Ana Maria Madureira 1. MODELO CONCEPTUAL DE DADOS Descreve o S.I. da Organização

Leia mais

Sistemas de Gerência de Bancos de Dados. 7 - Outras Arquiteturas para SGBDs 7.2 - SGBDs Cliente-Servidor

Sistemas de Gerência de Bancos de Dados. 7 - Outras Arquiteturas para SGBDs 7.2 - SGBDs Cliente-Servidor Sistemas de Gerência de Bancos de Dados 7 - Outras Arquiteturas para SGBDs 7.2 - SGBDs Cliente-Servidor 1 Alternativas de Arquitetura Consistência de Cache Tópicos 2 Servidor de Objetos: Alternativas de

Leia mais

1- Identifique para cada questão abaixo, se o enunciado se refere a View, Stored Procedures, Trigger ou Function. Apenas um por questão.

1- Identifique para cada questão abaixo, se o enunciado se refere a View, Stored Procedures, Trigger ou Function. Apenas um por questão. 1- Identifique para cada questão abaixo, se o enunciado se refere a View, Stored Procedures, Trigger ou Function. Apenas um por questão. a- Representam tabelas virtuais não armazenadas, compostas de campos

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

Bacharelado em Ciência da Computação UFU Disciplina GBC053 Gerência de Banco de Dados Profa. Sandra de Amo

Bacharelado em Ciência da Computação UFU Disciplina GBC053 Gerência de Banco de Dados Profa. Sandra de Amo Bacharelado em Ciência da Computação UFU Disciplina GBC053 Gerência de Banco de Dados Profa. Sandra de Amo Lista dos exercícios feitos em sala de aula Preparação Prova 3 Exercicio 1. Seja R(A,B,C) relação

Leia mais

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli Banco de Dados I 2007 Módulo V: Indexação em Banco de Dados (Aulas 1, 2 e 3) Clodis Boscarioli Agenda: Estruturas de Índices; Conceitos; Tipos de Índices: Primários; Secundários; Clustering; Multiníveis;

Leia mais

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

Tarefa Orientada 12 Junção Externa, Auto-Junção e União Tarefa Orientada 12 Junção Externa, Auto-Junção e União Objectivos: Junção externa (Outer JOIN) Junção externa à esquerda (LEFT Outer JOIN) Junção externa à direita (RIGHT Outer JOIN) Junção externa completa

Leia mais

Introdução às Bases de Dados

Introdução às Bases de Dados Introdução às Bases de Dados Chave primária Domínios Relação F# F Nome Estado Cidade F1 José 20 Braga F2 João 10 Faro F3 Luís 30 Lisboa F4 Rui 30 Setúbal Atributos Tuplas Introdução às Bases de Dados Modelo

Leia mais

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD Introdução 1. CONCEITOS BÁSICOS DE BD, SBD E SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 REVISÃO BANCO DE DADOS I O que é banco de dados? Ou seja afinal o que é um SGBD? REVISÃO BD I REVISÃO DE BD I Um Sistema de Gerenciamento de

Leia mais

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br Bancos de Dados Fernando Albuquerque 061-2733589 fernando@cic.unb.br Tópicos Introdução O modelo relacional A linguagem SQL Introdução O que é um banco de dados : Coleção de informações que existe por

Leia mais

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 BASES DE DADOS I LTSI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 Ao nível das linguagens de manipulação de dados (Data Manipulation Language - DML) o SQL

Leia mais

Banco de Dados. Prof. Dr. Rogério Galante Negri

Banco de Dados. Prof. Dr. Rogério Galante Negri Banco de Dados Prof Dr Rogério Galante Negri Tradicionalmente O armazenamento dos dados utilizava arquivos individuais, sem nenhum relacionamento Cada programa utilizava seu próprio sistema de arquivo

Leia mais

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos Modelo Relacional Uma base de dados é uma colecção de uma ou mais relações com nomes distintos Uma relação é uma tabela com linhas e colunas Esquema da Relação Descreve as colunas da tabela Especifica

Leia mais

Programação SQL. INTRODUÇÃO II parte

Programação SQL. INTRODUÇÃO II parte Programação SQL INTRODUÇÃO II parte Programação SQL SELECT; INSERT; UPDATE; DELETE. Este conjunto de comandos faz parte da sublinguagem denominada por DML Data Manipulation Language (Linguagem de manipulação

Leia mais

Tópicos Avançados de Bases de Dados Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, 2005/2006

Tópicos Avançados de Bases de Dados Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, 2005/2006 Sistema de Gestão de Base de Dados Aspectos físicos de bases de dados (exemplo Oracle) Nota importante: A matéria sobre indexação corresponde aos acetatos 32 ao 53. A matéria dos restantes acetatos não

Leia mais

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo CONCORRÊNCIA 1. Introdução Recursos exclusivos Não necessita controle Abundância de recursos compartilhados Controle necessário mas mínimo Harmonia, provavelmente não haverá conflito Recursos disputados

Leia mais