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

de Bases de Dados Exame 1

de Bases de Dados Exame 1 Ano lectivo 2011/2012 2 o semestre Administração e Optimização de Bases de Dados Exame 1 Regras O exame tem a duração de 2 horas. O exame é individual e com consulta. Poderá consultar o livro, slides da

Leia mais

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: -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame

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

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

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

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

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

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

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

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

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

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

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

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

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

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

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

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

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

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

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir:

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir: Chaves 1 Chaves CONCEITO DE CHAVE: determina o conceito de item de busca, ou seja, um dado que será empregado nas consultas à base de dados. É um conceito lógico da aplicação (chave primária e chave estrangeira).

Leia mais

ESTRUTURA DE SERVER 2008. Lílian Simão Oliveira

ESTRUTURA DE SERVER 2008. Lílian Simão Oliveira ESTRUTURA DE ARMAZENAMENTO SQL SERVER 2008 Lílian Simão Oliveira O Banco de Dados SQL Server mapeia um banco em um conjunto de arquivos do sistema operacional As informações de log e de dados nunca ficam

Leia mais

Banco de Dados Lista de Exercícios 01

Banco de Dados Lista de Exercícios 01 Banco de Dados Lista de Exercícios 01 Prof. Anderson Rocha & Prof. André Santanché Campinas, 24 de Setembro de 2012 Nome: RA: 1 Observações Este lista contem 20 exercícios e contempla os seguintes assuntos

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

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

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

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

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

Disciplina: Unidade III: Prof.: E-mail: Período:

Disciplina: Unidade III: Prof.: E-mail: Período: Encontro 08 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto

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

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

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

Á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

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 4) Clodis Boscarioli Banco de Dados I 2007 Módulo V: Indexação em Banco de Dados (Aulas 4) Clodis Boscarioli Agenda: Indexação em SQL; Vantagens e Custo dos Índices; Indexação no PostgreSQL; Dicas Práticas. Índice em SQL Sintaxe:

Leia mais

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO DOMINE A 110% ACCESS 2010 A VISTA BACKSTAGE Assim que é activado o Access, é visualizado o ecrã principal de acesso na nova vista Backstage. Após aceder ao Access 2010, no canto superior esquerdo do Friso,

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

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

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

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

BDII SQL Junção Revisão 8

BDII SQL Junção Revisão 8 exatasfepi.com.br BDII SQL Junção Revisão 8 André Luís Duarte Leais são as feridas feitas pelo amigo, mas os beijos do inimigo são enganosos. Provérbios 27:6 SQL Introdução Produto cartesiano Nomes alternativos

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

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

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores Trabalhos Práticos Programação II Curso: Engª Electrotécnica - Electrónica e Computadores 1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório 3.2 Avaliação 4. Propostas Na disciplina de Programação

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

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

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

Tópicos Avançados de Bases de Dados

Tópicos Avançados de Bases de Dados Tópicos Avançados de Bases de Dados Henrique Madeira Exercícios práticos Transacções e Controlo de Concorrência Nota importante: Antes de fazer estes exercícios é preciso garantir que têm uma conta Oracle

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

Lista de Exercícios. Vetores

Lista de Exercícios. Vetores Lista de Exercícios Vetores LINGUAGEM DE PROGRAMAÇÃO PROF. EDUARDO SILVESTRI. WWW.EDUARDOSILVESTRI.COM.BR ATUALIZADO EM: 13/03/2007 Página 1/1 1. Faça um programa que crie um vetor de inteiros de 50 posições

Leia mais

Tarefa Orientada 13 Agrupamento e sumário de dados

Tarefa Orientada 13 Agrupamento e sumário de dados Tarefa Orientada 13 Agrupamento e sumário de dados Objectivos: Funções de agregação Agrupamento e sumário de dados Funções de agregação Nesta tarefa orientada iremos formular consultas que sumariam os

Leia mais

Bases de Dados. Lab 1: Introdução ao ambiente

Bases de Dados. Lab 1: Introdução ao ambiente Departamento de Engenharia Informática 2010/2011 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo

Leia mais

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL PROF. MS C. RICARDO ANTONELLO WWW.ANTONELLO.COM.B R PORQUE SER RELACIONAL? Hoje, há um claro predomínio dos SGBD relacionais, principalmente

Leia mais

Álgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas.

Álgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas. Álgebra Relacional Álgebra Relacional é o conjunto básico de operações para o Modelo Relacional. Essas operações permitem a um usuário especificar as solicitações básicas de recuperação. O resultado de

Leia mais

Construir um modelo de dados é: - Identificar, Analisar e Registar a política da organização acerca dos dados

Construir um modelo de dados é: - Identificar, Analisar e Registar a política da organização acerca dos dados 4. Modelo Entidade Associação 4.1. Introdução Modelo de Dados. Visão dos dados em vez de visão das aplicações. Eliminação de redundâncias. Partilha de dados pelas aplicações Construir um modelo de dados

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de Capítulo 1: Introdução Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de Transacções Gestão de Armazenamento

Leia mais

Controle de transações em SQL

Controle de transações em SQL Transações Controle de transações em SQL Uma transação é implicitamente iniciada quando ocorre uma operação que modifica o banco de dados (INSERT, UPDATE ou DELETE). Uma transação pode terminar normalmente

Leia mais

Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo.

Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou um conjunto de informações, que deve ser exclusivamente usado. A impressora é um recurso, pois é um dispositivo dedicado, devido ao fato

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Adriano J. Holanda http://holanda.xyz 28/8/2015 Índices Para os testes com os índices criaremos uma tabela chamada tteste com o comando teste=> CREATE TABLE tteste (id int4);

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

Aplicações de Escritório Electrónico

Aplicações de Escritório Electrónico Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho

Leia mais

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2 FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO Projeto e Análise de Algoritmos II Lista de Exercícios 2 Prof. Osvaldo. 1. Desenvolva algoritmos para as operações abaixo e calcule a complexidade

Leia mais

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP) Existem inúmeras ferramentas (software) baseadas em RdP que permitem desenvolver modelar e analisar sistema de RdP. Algumas

Leia mais

Grupo I [4v] executaprograma();

Grupo I [4v] executaprograma(); Número: Nome: LEIC/LERC 2012/13-1º Exame de Sistemas Operativos 15/Janeiro/2013 Identifique todas as folhas. Responda no enunciado, apenas no espaço fornecido. Justifique todas as respostas. Duração: 2h30m

Leia mais

Databases. Dependências Funcionais

Databases. Dependências Funcionais Databases Dependências Funcionais P. Serendero, 2011-13 Referências e exemplos tirados de diversas fontes, excetuando aqueles relacionados com embarcações Dependências Funcionais (DF) Uma Base de Dados,

Leia mais

Tarefa Orientada 14 Subconsultas

Tarefa Orientada 14 Subconsultas Tarefa Orientada 14 Subconsultas Objectivos: Subconsultas não correlacionadas Operadores ALL, SOME e ANY Subconsultas correlacionadas Operador EXISTS Subconsultas incluídas na cláusula FROM de uma consulta

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

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado.

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado. Conceitos relativos à Informação 1. Informação O que á a informação? Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado. 2. Dados Em informática designa-se

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

Modelo de Dados. Modelos Conceituais

Modelo de Dados. Modelos Conceituais Modelo de Dados Modelo para organização dos dados de um BD define um conjunto de conceitos para a representação de dados exemplos: entidade, tabela, atributo,... existem modelos para diferentes níveis

Leia mais

Disciplina de Banco de Dados Parte V

Disciplina de Banco de Dados Parte V Disciplina de Banco de Dados Parte V Prof. Elisa Maria Pivetta CAFW - UFSM Modelo de Dado Relacional O Modelo Relacional O Modelo ER é independente do SGDB portanto, deve ser o primeiro modelo gerado após

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

Fundamentos de Banco de Dados

Fundamentos de Banco de Dados Fundamentos de Banco de Dados SISTEMAS BASEADOS NO PROCESSAMENTO DE ARQUIVOS Sistema A Funcionário Pagamento Cargo Sistema B Funcionário Projeto SISTEMAS GERENCIADORES DE BANCO DE DADOS (SGBD) Sistema

Leia mais

- A crescente necessidade de sistemas inteligentes e de aquisição de conhecimento levaram à necessidade de implementação de Data Warehouses.

- A crescente necessidade de sistemas inteligentes e de aquisição de conhecimento levaram à necessidade de implementação de Data Warehouses. - A crescente necessidade de sistemas inteligentes e de aquisição de conhecimento levaram à necessidade de implementação de. - O que é uma Data Warehouse? - Colecção de bases de dados orientadas por assunto

Leia mais

Tarefa Orientada 15 Manipulação de dados

Tarefa Orientada 15 Manipulação de dados Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE

Leia mais

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios BANCO DE DADOS Fixação dos conteúdos Integridade Referencial Normalização Exercícios BANCO DE DADOS X SGBD Banco de Dados: Um "banco de dados" pode ser definido como um conjunto de "dados" devidamente

Leia mais

Hugo Pedro Proença, 2007

Hugo Pedro Proença, 2007 Stored Procedures À medida que a complexidade dos sistemas aumenta, torna-se cada vez mais difícil a tarefa de integrar o SQL com as aplicações cliente. Além disto, é necessário que todas as aplicações

Leia mais

U.C Sistemas de Gestão de Bases de Dados Resolução e Critérios de Correção INSTRUÇÕES

U.C Sistemas de Gestão de Bases de Dados Resolução e Critérios de Correção INSTRUÇÕES e-fólio A U.C. 21103 Sistemas de Gestão de Bases de Dados 2017-2018 Resolução e Critérios de Correção INSTRUÇÕES O e-fólio é constituído por 6 alíneas com cotação de 0,5 valores cada. A cotação global

Leia mais

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real.

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real. PROGRAMA ANO LECTIVO: 2005/2006 CURSO: LICENCIATURA BI-ETÁPICA EM INFORMÁTICA ANO: 2.º DISCIPLINA: BASE DE DADOS DOCENTE RESPONSÁVEL PELA REGÊNCIA: Licenciado Lino Oliveira Objectivos Gerais: Aquisição

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