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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Índice. Introdução às bases de dados. Parte 1 ÍNDICE DE FIGURAS E QUADROS 11 CONVENÇÕES USADAS NESTE MANUAL 15 PREFÁCIO 17

Índice. Introdução às bases de dados. Parte 1 ÍNDICE DE FIGURAS E QUADROS 11 CONVENÇÕES USADAS NESTE MANUAL 15 PREFÁCIO 17 Índice ÍNDICE DE FIGURAS E QUADROS 11 CONVENÇÕES USADAS NESTE MANUAL 15 PREFÁCIO 17 Parte 1 Introdução às bases de dados 1. Introdução 21 1.1. Os sistemas de bases de dados 23 1.1.1. Breve historial 23

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

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

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

Bases de Dados! 2014/15! http://ssdi.di.fct.unl.pt/bd!! João Leite (jleite@fct.unl.pt)!!!

Bases de Dados! 2014/15! http://ssdi.di.fct.unl.pt/bd!! João Leite (jleite@fct.unl.pt)!!! Bases de Dados 2014/15 http://ssdi.di.fct.unl.pt/bd João Leite (jleite@fct.unl.pt) 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

Leia mais

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Capítulo 8: BDs Objecto-Relacional Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Objectos e Referência

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

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

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

14/09/2008. Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan

14/09/2008. Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Bando de Dados Disciplina: Projeto de Banco de Dados Relacional II Prof.: Fernando Hadad Zaidan Unidade 2.2 1 2 Material usado na montagem dos Slides Bibliografia

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

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

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

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

Organização Física. ... Header registo ... ... Base de Dados. Table Space. Página. Data Page. registo. Header Página...

Organização Física. ... Header registo ... ... Base de Dados. Table Space. Página. Data Page. registo. Header Página... Organização Física 1 xx Base de Dados Table Space Header Página... Página...... Podem existir vários tipos Data pages, Allocation Map pages (AMP), Index pages,... Header registo registo Data Page... offset

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

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

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

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

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

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

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

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

Introdução à Manipulação de Dados

Introdução à Manipulação de Dados Introdução à Manipulação de Dados Licenciatura em Economia Trabalho Prático 2004 2005 Manutenção de Aviões Depois de várias reclamações feitas no aeroporto por falta de organização, a administração decidiu

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

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

Sistemas de Ficheiros. Ficheiros Diretórios Implementação de sistemas de ficheiros Exemplos de sistemas de ficheiros

Sistemas de Ficheiros. Ficheiros Diretórios Implementação de sistemas de ficheiros Exemplos de sistemas de ficheiros Sistemas de Ficheiros Ficheiros Diretórios Implementação de sistemas de ficheiros Exemplos de sistemas de ficheiros 1 Armazenamento de Informação de Longo Prazo 1. Deve armazenar grandes massas de dados

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

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

P L A N I F I C A Ç Ã O A N U A L

P L A N I F I C A Ç Ã O A N U A L P L A N I F I C A Ç Ã O A N U A L DEPARTAMENTO: MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS ÁREA DISCIPLINAR: 550 - INFORMÁTICA DISCIPLINA: PSI CURSO: Profissional DE: Téc. de Gestão e Programação de Sist. Informáticos

Leia mais

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico Banco de Dados // 1 Banco de Dados // 2 Conceitos BásicosB Engenharia da Computação UNIVASF BANCO DE DADOS Aula 1 Introdução a Banco de Dados Campo representação informatizada de um dado real / menor unidade

Leia mais

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003 Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

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

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG Bases de Dados O que é uma Base de Dados? Dados Pode-se começar por tentar dar uma definição do que são Dados. Os dados são factos em bruto, que não são necessáriamente relevantes para qualquer coisa que

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

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta

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

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

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

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

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

Leia mais

Linguagem SQL Parte I

Linguagem SQL Parte I FIB - Centro Universitário da Bahia Banco de Dados Linguagem SQL Parte I Francisco Rodrigues Santos chicowebmail@yahoo.com.br Slides gentilmente cedidos por André Vinicius R. P. Nascimento Conteúdo A Linguagem

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

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

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

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

Microsoft Access. No Access, existem vários tipos de objectos: Tabelas. Consultas. Formulários Relatórios Macros Módulos

Microsoft Access. No Access, existem vários tipos de objectos: Tabelas. Consultas. Formulários Relatórios Macros Módulos É um SGBD do tipo relacional para a utilização em windows. Ao abrirmos o Access, podemos efectuar várias operações: abrir uma base de dados existente, ou então criar uma nova base de dados. Se criarmos

Leia mais