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 2 Julho A duração deste exame é de 2H30. É 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ânea 1.1)(1v) Relativamente ao SQL Server 2008, indique nas alíneas seguintes quais as verdadeiras e as falsas. Cada alínea vale 0,25 valores. Se acertar, tem a cotação toda; se errar, é-lhe descontado 0,1 valores por cada alínea errada. a) Uma base de dados SQL Server 2008 pode conter vários data files e vários log files, ambos organizados em um ou vários file groups. F b) Uma interrogação SQL que utiliza o hint NOLOCK apresenta um comportamento equivalente à utilização do nível de isolamento READ UNCOMMITED. V b) O SQL Server 2008 suporta transparentemente o particionamento horizontal e vertical de índices e tabelas. F d) O SQL Server 2008 suporta a criação de vistas materializadas. V 1.2)(1v) Indique se as seguintes afirmações são verdadeiras ou falsas. Cada alínea vale 0,25 valores. Se acertar, tem a cotação toda; se errar, é-lhe descontado 0,1 valores por cada alínea errada. a) Um índice do tipo extendable hash tem a vantagem de suportar de forma eficiente pesquisas por intervalos de valores, enquanto que um índice baseado em hash convencional apenas suporta pesquisas por condições de igualdade. F b) O nível de isolamento REPETABLE READ está sujeito a anomalias do tipo phantom reads. V c) O algoritmo ARIES garante que uma operação de REDO nunca é feita mais que uma vez. F d) O algoritmo ARIES garante que uma operação de UNDO nunca é feita mais que uma vez. V

3 Número: Nome: 3 2. (2v) Sistema de Ficheiros 2.1) (0,5v) Apresente um comando T-SQL que permita criar uma base de dados com o seguinte conjunto de características: A base de dados deve chamar-se BDExameAOBD e deve conter ter dois ficheiros de dados, ambos no filegroup primário. O primeiro ficheiro de dados deve ter um tamanho inicial de 100MB, e o segundo ficheiro deve ter um tamanho inicial de 200MB. A base de dados deve ainda ter um ficheiro de log com um tamanho inicial de 50MB. Tanto os data files como o ficheiro de log devem ter um tamanho máximo de 500MB, crescendo a uma taxa de 10%. CREATE DATABASE BDExameAOBD ON PRIMARY (NAME=AOBD_P1,FILENAME="C:\DBF1.MDF", SIZE=100,MAXSIZE=500,FILEGROWTH=10%), (NAME=AOBD_P2,FILENAME="C:\DBF2.NDF", SIZE=200,MAXSIZE=500,FILEGROWTH=10%), LOG ON (NAME=AOBD_L,FILENAME="C:\DBL.LDF", SIZE=50,MAXSIZE=500,FILEGROWTH=10%); 2.2) (0,5v) Considere que, para a base de dados da alínea anterior, se pretendiam armazenar os dois ficheiros de dados em filegroups distintos (i.e., o primeiro ficheiro de dados no filegroup primário e outro no secundário). Apresente a instrução T-SQL correspondente a este caso e indique uma potencial vantagem desta divisão em dois filegroups distintos. CREATE DATABASE BDExameAOBD ON PRIMARY (NAME=AOBD_P1,FILENAME="C:\DBF1.MDF", SIZE=100,MAXSIZE=500,FILEGROWTH=10%), FILEGROUP AOBD_SECONDARY (NAME=AOBD_N1,FILENAME="C:\DBF2.NDF", SIZE=200,MAXSIZE=500,FILEGROWTH=10%), LOG ON (NAME=AOBD_L,FILENAME="C:\DBL.LDF", SIZE=50,MAXSIZE=500,FILEGROWTH=10%);

4 Número: Nome: 4 1.3) (1v) Indique se, no SQL Server 2008, cada base de dados pode ter vários ficheiros de log. Em caso de resposta afirmativa, indique ainda se estes ficheiros de log podem ser associados em filegroups distintos. No SQL Server 2008, cada base de dados pode também ter vários log files. No entanto, estes não se encontram organizados em file groups. Apenas os data files são organizados em file groups.

5 Número: Nome: 5 3. (4v) Índices 3.1) (2v) Considere uma árvore B+ com n=3 que representa um índice para um atributo do tipo inteiro. Partindo de uma árvore vazia, desenhe o resultado dos vários passos de inserção à medida que insere os elementos 62, 81, 35, 41, 13, 22, 73, por esta ordem. 62 inserção do inserção do inserção do inserção do inserção do inserção do

6 Número: Nome: 6 62 inserção do ) (2v) Desenhe o resultados dos vários passos de remoção à medida que remove os mesmos elementos da alínea anterior, pela mesma ordem (i.e. do elemento 62 até ao elemento 73) até chegar a uma árvore vazia. 62 árvore inicial remoção do remoção do

7 Número: Nome: remoção do remoção do remoção do remoção do 22 EMPTY remoção do 73

8 Número: Nome: 8 4. (4v) Processamento e optimização de interrogações Considere o seguinte esquema relacional e a seguinte interrogação sobre o esquema. LOJA(IDL,NOME,LOCALIZACAO,VVENDAS) // 1000 tuplos - IDL chave primária EMPREGADO(BI,IDD,SALARIO) // tuplos - BI chave primária DEPARTAMENTO(IDD,IDL,NOME) // 1000 tuplos - IDD chave primária SELECT E.BI, L.IDL, D.NOME FROM EMPREGADO E, LOJA L, DEPARTAMENTO D WHERE D.IDL=L.IDL AND L.VVENDAS< AND E.IDD=D.IDD AND E.SALARIO>2500 Assuma que o atributo EMPREGADO.SALARIO está uniformemente distribuído no intervalo e que o atributo LOJA.VVENDAS está uniformemente distribuído no intervalo Assuma ainda que existe um índice clustered no atributo EMPREGADO.SALARIO, um índice clustered em LOJA.IDL, e um índice clustered em DEPARTAMENTO.IDD. 4.1) (0,5v) Explique por palavras suas qual o resultado obtido pela interrogação SQL que se apresenta. Quais os empregados (i.e., o seu BI, o nome do seu departamento, e o ID da loja correspondente ao seu departamento) com um salário superior a Euros que trabalham em lojas com um volume de vendas inferior a Euros. 4.2) (1v) Liste os planos de execução considerados por um optimizador semelhante ao do sistema-r para a interrogação apresentada. Um optimizador semelhante ao do sistema R iria aplicar as condições de selecção tão cedo quanto possível e iria ignorar planos envolvendo produtos cartesianos. Seriam assim considerados os seguintes planos de execução: 1- Π BI,NOME ((Π IDL (σ vvendas< (LOJA)) x DEPARTAMENTO) x σ salario>2500 (EMPREGADO)) 2- Π BI,NOME ((DEPARTAMENTO x Π IDL (σ vvendas< (LOJA))) x σ salario>2500 (EMPREGADO)) 3- Π BI,NOME ((σ salario>2500 (EMPREGADO) x DEPARTAMENTO) x Π IDL (σ vvendas< (LOJA))) 4- Π BI,NOME ((DEPARTAMENTO x σ salario>2500 (EMPREGADO)) x Π IDL (σ vvendas< (LOJA)))

9 Número: Nome: 9 4.3) (1,5v) Dos planos considerados anteriormente, qual seria o que apresenta um custo estimado mais baixo? Selecção sobre a relação EMPREGADO retorna aproximadamente tuplos (2500 * 20000) / ( ) Selecção sobre a relação LOJA retorna aproximadamente 572 tuplos ((( ) * 1000) / ( )) No calculo do número de tuplos das relações EMPREGADO e LOJA, poderia alternativamente ser usado um método baseado no histograma dos valores. O plano de execução 2 seria mais eficiente do que o 1, uma vez que o join entre as relações LOJA e DEPARTAMENTO poderia ser efectuado através de um índex nested loop join (índice clustered no atributo LOJA.IDL) ao invés de um nested loop join. O plano de execução 3 seria mais eficiente do que o 4, uma vez que o join entre as relações DEPARTAMENTO e EMPREGADO poderia ser efectuado através de um índex nested loop join (índice clustered no atríbuto DEPARTAMENTO.IDD). O plano de execução 3 poderia utilizar um índex nested loop join para efectuar o join com a relação LOJA (índice clustered no atributo LOJA.IDL). Para um join R x S, o custo de um índex nested loop join é dado por: num-blocos(r) + num-tuplos(r)*custo_pesquisa_index Este custo varia com o facto do índice ser hash/b+tree, assim como com o facto de o índice ser clustered ou non-clustered (no nosso caso temos índices clustered) Custo do plano de execução 2 = aproximadamente (1000 * 2) + (572 * 11112) Custo do plano de execução 3 = aproximadamente (11112 * 2) + (11112 * 2) O plano de execução 3 seria o mais eficiente. 4.4) (1v) Se o índice em DEPARTAMENTO.IDD fosse unclustered, o custo estimado anteriormente mudaria substancialmente? Justifique a sua resposta O custo do join entre as relações EMPREGADO e DEPARTAMENTO iria aumentar, pois o custo do índex nested loop join varia com o facto do índice ser clustered ou nonclustered. No entanto, este custo não iria variar de forma muito significativa (i.e., o plano de execução 3 continuaria a ser o mais eficiente).

10 Número: Nome: (4v) Transacções, controlo de concorrência e gestão de recuperação 5.1) (1v) Considere a técnica de checkpointing no sistema de recuperação de um dado SGBD. a) (0,5v) Indique como a frequência dos checkpoints afecta o desempenho do sistema quando não ocorrem falhas. b) (0,5v) Indique como a frequência dos checkpoints afecta o tempo necessário para recuperar de uma falha do sistema. a) Uma frequência muito grande de checkpoints causa um pior desempenho, uma vez que são utilizados diversos recursos sempre que um checkpoint é executado. Num sistema em que as falhas são pouco frequentes, ou a sua recuperação não é crítica, a frequência dos chekpoints deve ser menor. b) Sem checkpoints, todo o log teria que ser lido e todas as transacções refeitas/desfeitas. Com checkpoints, a recuperação pode ser feita acedendo apenas aos registos posteriores ao checkpoint e a poucos anteriores ao checkpoint. Portanto, se os checkpoints forem mais frequentes, a recuperação deverá ser muito mais rápida. 5.2) (2v) Considere um esquema de recuperação que use modificação imediata. Mostre, através de um exemplo, como a base de dados pode ficar num estado inconsistente se não fôr garantido que o log de recuperação é escrito em disco antes das páginas de dados. Considere a seguinte transacção, onde é feita a transferência de 50 euros da conta bancária A para a conta bancária B: a. read(a,a1) b. a1 := a1-50 c. write(a,a1) d. read(b,b1) e. b1 := b f. write(b,b1) Suponha que o sistema falha após o commit, mas antes dos registos do log terem sido escritos em disco. Suponha também que, aquando da falha as alterações feitas a A já estavam escritas nos disco, mas não as alterações feitas a B. Ao reiniciar o sistema, a base de dados estaria incosistente. No entanto, como os registos do log não estavam em disco, não seria possível recuperar o estado anterior.

11 Número: Nome: ) (1v) Quais as vantagens e desvantagens de usar uma técnica de modificação imediata, quando comparada com uma técnica de modificação diferida? A modificação imediata tem as seguintes vantagens: - Todas as leituras podem ser feitas da base de dados, uma vez que todas as modificações são imediatamente propagadas. - Permite mais concorrência, porque pode libertar os locks de escrita assim que as modificações são feitas. - Não precisa de tanto espaço em memória, porque não precisa de manter uma grande lista de modificações e logs em buffer. Tem, no entanto, as seguintes desvantagens: - É mais difícil de implementar que a modificação diferida. - Tem um maior custo de I/O, porque as operações são feitas imediatamente, em vez de todas em conjunto quando a transacção termina. - Os logs requerem mais espaço, porque é necessário guardar informação para fazer undo. 6. (4v) Database tuning

12 Número: Nome: 12 Considere a seguinte relação normalizada, em que a chave primária é o atributo BI: Empregados(BI, NOME, ORDENADO, DEPARTAMENTO, ANO-CONTRATAÇÃO) Existem quatro interrogações igualmente frequentes e importantes: a) Qual o número médio de empregados por departamento? b) Quais os B.I.s de empregados com o salário mais alto? c) Qual o gasto em salários efectuado por cada departamento? d) Quantos empregados foram contratados no ano corrente? 6.1) (1v) Que índices criaria sobre a relação? Para cada índice, indique qual o tipo (i.e., hash ou B+tree) e indique se o índice seria clustered ou non-clustered. Justifique a sua resposta? SELECT AVG(C) FROM ( SELECT DEPARTAMENTO, COUNT(*) AS C FROM Empregados GROUP BY DEPARTAMENTO) SELECT BI FROM Empregados HAVING SALARIO = (SELECT MAX(SALARIO) FROM Empregados) SELECT DEPARTAMENTO,SUM(SALARIO) FROM Empregados GROUP BY DEPARTAMENTO SELECT COUNT(*) FROM Empregados WHERE ANO-CONTRATACAO=CURRENT_YEAR() Índice clustered sobre o atríbuto departamento (hash). Seria usado nas agregações das interrogações a) e c) Índice non-clustered sobre o atríbuto salário (B+tree). Seria usado na interrrogação b). Índice non-clustered sobre o atríbuto ANO-CONTRATAÇÃO (hash). Seria usado na interrogação d).

13 Número: Nome: ) (1v) Sugeriria a utilização de algum esquema de particionamento horizontal, como forma de melhorar o desempenho das interrogações? Justifique a sua resposta. Podia-se particionar a tabela horizontalmente através do atributo "ANO- CONTRATAÇÃO" (ou particionar o índice sobre este atributo). Desta forma, a interrogação 4 seria efectuada apenas sobre a partição correspondente. 6.3) (1v) Que alterações, ao nível do modelo de dados, poderiam trazer benefícios em termos de desempenho? Justifique a sua resposta. Particionamento vertical da relação Empregados em 4 relações: Empregados1(BI,NOME) Empregados2(BI,DEPARTAMENTO,SALARIO) Empregados3(BI,SALARIO) Empregados4(BI,ANOCONTRATACAO) As interrogações a) e c) usariam a partição 2, a interrogação b) usaria a partição 3 e a interrogação d) usaria a partição 4. Com este esquema de particionamento, o volume de dados lidos em cada interrogação seria inferior (menos páginas em cada uma das partições) A partição vertical 3 poderia ainda ser alvo de uma optimização, através, por exemplo, de um particionamento horizontal que colocasse as contratações do ano corrente numa relação separada das contratações efectuadas no passado.

14 Número: Nome: ) (1v) Considere que o SGBD apenas implementa os níveis de isolamento READ COMMITED e SERIALIZABLE. Qual o nível de isolamento mais indicado para cada uma das interrogações? Justifique a sua resposta. a - READ COMITTED. b - SERIALIZABLE. c - SERIALIZABLE. d - SERIALIZABLE. No caso da interrogação 1 (obtenção de um valor médio), assumindo que um pequeno desvio sobre o resultado seria aceitável, pode-se optar por um nível de isolamento mais baixo como forma de evitar problemas de contenção no acesso aos dados por parte de inserções/actualizações efectuadas concorrentemente. Nas restantes interrogações, assumindo que se pretendem obter valores exactos, faria mais sentido usar-se um nível de isolamento mais elevado. Note-se que a introdução de uma pequena perturbação nos valores lidos (e.g., leitura de um valor fantasma) tem um impacto muito menor no calculo de uma média do que no calculo de uma soma.

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

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

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

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

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

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

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

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

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

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

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

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

NOME SEXO CPF NASCIMENTO SALARIO

NOME SEXO CPF NASCIMENTO SALARIO Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento

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

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

Gerenciamento de Transações

Gerenciamento de Transações Gerenciamento de Transações Outros tipos de recuperação: Além das falhas causadas por transações incorretas, conforme vimos anteriormente, podem ocorrer outros tipos de falhas, que ocorrem por fatores

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

UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO 2ª. Avaliação de Banco de Dados 1º. Sem de 2008 Prof.: Carlos Bazilio

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

Prof. Luiz Fernando. Unidade III ADMINISTRAÇÃO DE

Prof. Luiz Fernando. Unidade III ADMINISTRAÇÃO DE Prof. Luiz Fernando Unidade III ADMINISTRAÇÃO DE BANCOS DE DADOS Administração de SGBDs De todo o tipo de pessoal envolvido com desenvolvimento, manutenção, e utilização de bancos de dados há dois tipo

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

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

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

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

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

Junções e Índices em Tabelas

Junções e Índices em Tabelas Junções e Índices em Tabelas Prof. Fernanda Baião fernanda.baiao@uniriotec.com.br SGBD Considerados MySQL (http://www.mysql.org) SGBD gratuito e simples, sem muitos recursos avançados Fácil de instalar

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

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

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

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

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

CONCORRÊNCIA. Buscando aumentar os níveis de concorrência redução da espera em detrimento do isolamento, a SQL definiu alguns níveis de isolamento.

CONCORRÊNCIA. Buscando aumentar os níveis de concorrência redução da espera em detrimento do isolamento, a SQL definiu alguns níveis de isolamento. CONCORRÊNCIA 1. Introdução O termo concorrência se refere ao fato de que os SGBDs em geral permitem que muitas transações tenham acesso ao mesmo banco de dados ao mesmo tempo. Em um sistema desse tipo,

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DML Frederico D. Bortoloti freddb@ltc.ufes.br SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,

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

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

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 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

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

Departamento de Informática

Departamento de Informática Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos exame de recurso, 9 de Fevereiro de 2012 1º Semestre, 2011/2012 NOTAS: Leia com atenção cada questão antes de responder.

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

Manual Gespos Passagem de Dados Fecho de Ano

Manual Gespos Passagem de Dados Fecho de Ano Manual Gespos Passagem de Dados Fecho de Ano ÍNDICE PASSAGEM DE DADOS / FECHO DE ANO... 1 Objectivo da função... 1 Antes de efectuar a Passagem de dados / Fecho de Ano... 1 Cópia de segurança da base de

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

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

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro Arquivos de registros Abstração do SGBD Pode ser criado, destruido e ter registros incluidos e excluidos nele Tb suporta a varredura Uma relacao geralmente é armazenada como um arquivo de registros Camada

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Arquivos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Conceituação de arquivos Implementação do sistemas de arquivo Introdução Sistema de

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 Coleção de operações usadas para manipular relações Grupos de operações Operações relacionais Seleção; projeção; junção Operações de conjunto

Leia mais

Tipos de Servidores. Servidores com estado

Tipos de Servidores. Servidores com estado Tipos de Servidores Com Estado X Sem Estado Sequenciais X Concorrentes Com Conexão X Sem Conexão Servidores com estado Servidores com estado armazenam informação sobre cada cliente. Operações podem ser

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

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

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção Sistemas de Arquivos Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais Necessidade de Armazenamento Grandes quantidades

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

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

SGBD. Funções Básicas de um SGBD

SGBD. Funções Básicas de um SGBD Definição Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco dados. Funções básicas Métodos acesso Integrida Semântica Segurança Concorrência

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) R. P. António Viera, 23. R. Carlos Seixas, 9, 6º

Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) R. P. António Viera, 23. R. Carlos Seixas, 9, 6º Pesquisa Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) Ficheiro (ou tabela) Campos Nome Endereço Telefone Antunes, João A. R. P. António Viera, 23 720456

Leia mais

Programação III / Estruturas de Dados. Enunciado do Trabalho Prático

Programação III / Estruturas de Dados. Enunciado do Trabalho Prático Programação III / Estruturas de Dados Enunciado do Trabalho Prático 1. Objectivo Pretende-se implementar uma base de dados que sirva para ajudar uma agência de viagens a planear as viagens a realizar pelos

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

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda

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

Tabelas de Espalhamento

Tabelas de Espalhamento Tabelas de Espalhamento Motivação Algumas das estruturas de dados vistas anteriormente requerem que seus elementos (células dinâmicas) sejam inspecionados seqüencialmente até que a desejada seja encontrada.

Leia mais

Índices* Professora Rosane Minghim. * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures.

Índices* Professora Rosane Minghim. * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures. Índices* Professora Rosane Minghim * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures. Índice Em geral, um índice fornece mecanismos para localizar

Leia mais

Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.

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

Leia mais

Exercícios de Lógica Exercícios de Fixação 08

Exercícios de Lógica Exercícios de Fixação 08 Exercícios Exercícios de Lógica Exercícios de Fixação 08 1. A linguagem SQL apresenta uma série de comandos que permitem a definição dos dados, chamada de DDL (Data Definition Language). Assinale a alternativa

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

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs 1 Bancos de Dados - Introdução Melissa Lemos melissa@inf.puc-rio.br Tópicos Evolução dos Sistemas de Informação Esquemas Modelos Conceitual Lógico Características de SGBDs 2 Evolução tempo Programas e

Leia mais

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

Leia mais

Programação de Sistemas

Programação de Sistemas Programação de Sistemas Introdução à gestão de memória Programação de Sistemas Gestão de memória : 1/16 Introdução (1) A memória central de um computador é escassa. [1981] IBM PC lançado com 64KB na motherboard,

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

Instituto Politécnico de Beja Escola Superior de Tecnologia e Gestão. GesStock. Engenharia Informática. Base de Dados II

Instituto Politécnico de Beja Escola Superior de Tecnologia e Gestão. GesStock. Engenharia Informática. Base de Dados II Instituto Politécnico de Beja Escola Superior de Tecnologia e Gestão GesStock Aplicação para Gestão de Stocks Engenharia Informática Base de Dados II Docente: Artur Lança Isabel Sofia Brito Nuno Gonçalo

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

Administração e Optimização de BDs 2º semestre

Administração e Optimização de BDs 2º semestre DepartamentodeEngenhariaInformática 2009/2010 AdministraçãoeOptimizaçãodeBDs2ºsemestre Mini Projecto4 Aentregara26deMaiode2010 Aresoluçãodeveráseridentificadacomonúmerodegrupoeentregue electronicamentenosistemafénixenaaula.

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

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite

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

- 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 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

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

1. Domínio dos Atributos

1. Domínio dos Atributos Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando

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

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