Bases de Dados 2008/2009

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

Download "Bases de Dados 2008/2009"

Transcrição

1 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 que o negócio é comprar carros, executar reparações, e vendê-los por um preço acrescido: Os carros são identificados pela matrícula e têm uma marca, modelo e ano. O stand tem dois tipos de empregados: mecânicos e vendedores. Ambos são identificados pelo seu número de empregado e deve guardarse o seu nome. Os mecânicos executam serviços de reparação, que são numerados sequencialmente para cada carro. Estes serviços têm uma descrição e um custo, que é composto pelo custo do material e o custo da mão-deobra. Os vendedores compram carros a proprietários por um preço-base e vendem-nos a compradores por um valor final que é calculado somando o preço-base, o preço total dos serviços executados, e uma comissão. Para todas as compras e vendas é necessário guardar a data e o valor. Para as vendas é necessário registar a comissão. É também necessário guardar o nome morada e telefone dos proprietários e dos compradores. O proprietário a quem o stand compra um carro pode ser comprador de outro carro, e vice-versa. (a) Desenhe um diagrama Entidade-Associação para este domínio. Página 1 de 8

2 Bases de Dados 2008/2009 (b) Dê exemplo de duas restrições de integridade que não possam ser representadas neste modelo E-A. Exemplo 1: Para qualquer veículo, o valor/data de venda tem de ser superior ao valor/data de compra. Exemplo 2: O custo total das reparações realizadas sobre um veículo não pode ultrapassar um limite. 2. Considere o seguinte modelo relacional, que representa parte de uma base de dados de uma universidade: aluno(numa, nome, morada) disciplina(numd, designacao) aula(numd, data, professor) numd: FK(disciplina) assistiu(numa,numd,data) numa: FK(aluno) numd,data: FK(aula) Escreva uma expressão em álgebra relacional para responder às seguintes questões: (a) Qual o nome dos alunos que assistiram a pelo menos uma aula da disciplina de Português, onde também esteve presente o aluno Tadeu? t1 π numd, data [σ nome= Tadeu designacao= Português (assistiu aluno disciplina)] resultado π nome (assistiu aluno t1) ou em alternativa: nome A.numd =B.numd A.data=B.data A aluno assistiu B nome=' Tadeu' designacao=' Portugues' aluno assitiu disciplina (b) Qual o nome dos alunos que estiveram presentes na(s) aula(s) de Português em que menos alunos estiveram presentes? t1 numd, data G count(numa) as contagem [σ designacao= Português (assistiu disciplina) ] t2 π numd, data (t1) π a.numd, a.data [σ a.contagem > b.contagem (ρ a (t1) ρ b (t1) ) ] resultado π nome (aluno assistiu t2) ou em alternativa: A G count numa as c assistiu numd,data nome=' Portugues' disciplina B G min c as m A C A.c= B.m A B resultado nome C assistiu aluno Página 2 de 8

3 Bases de Dados 2008/ Considerando que o modelo anterior se encontra implementado numa base de dados relacional, apresente uma consulta SQL para responder a cada uma das seguintes questões: (a) Qual a disciplina com o maior número médio de presenças nas aulas em 2008? select numd from (select numd, data, count(numa) as c from assistiu where extract(year from data) = 2008 group by numd, data) as sub1 group by numd having avg(c) >= all (select avg(c) from (select numd, data, count(numa) as c from assistiu where extract(year from data) = 2008 group by numd, data) as sub2 group by numd); (b) Qual o professor que já deu aulas a todos os alunos? select a.professor from aula as a where not exists ( select b.numa from aluno as b where b.numa not in ( select d.numa from aula as c, assistiu as d where c.numd = d.numd and c.data=d.data and c.professor = a.professor)); ou em alternativa: select professor from aula as A, assistiu as B where A.numd = B.numd and A.data = B.data group by professor having count(distinct B.numa) in (select count(numa) from aluno); 4. Considere uma árvore B+ com n=3 que representa um índice para um atributo do tipo inteiro. (a) Partindo de uma árvore vazia, desenhe o resultado dos vários passos de inserção à medida que insere os elementos 6, 8, 3, 4, 1, 2, 7 por esta ordem. Página 3 de 8

4 Bases de Dados 2008/2009 (b) Explique em que situação uma árvore B+ reduz o número de níveis (altura da árvore). Dê um exemplo. O número de níveis da árvore pode reduzir-se quando a remoção de um elemento resulta num conjunto de alterações que se propagam de forma ascendente até à raiz. Por exemplo, na árvore seguinte a remoção do elemento 4 resulta no desaparecimento de uma folha. Dado que passam a existir apenas 3 folhas, é suficiente ter apenas 1 nó no nível imediatamente acima, o que implica reduzir a altura da árvore de 3 para Considere o seguinte conjunto de tabelas, implementado numa base de dados SQL: produto(id, nome, preço) loja(codigo, cidade) vende(codigo, id) codigo: FK(loja) id: FK(produto) (a) Assuma que não existem quaisquer índices criados. Diga, justificando, sobre quais atributos criaria índices para tornar eficiente uma consulta que devolva os produtos vendidos em Lisboa por mais de 1000 euros. Indique quais os índices primários e quais os secundários. Com base na informação fornecida, os índices a criar seriam: índices primários sobre produto.id, loja.codigo e (vende.codigo, vende.id) índices secundários sobre loja.cidade e produto.preço Os índices primários permitiriam optimizar a junção das 3 tabelas. Os índices secundários permitiram encontrar com eficiência todos os produtos com preço > 1000 e todas as lojas na cidade de Lisboa, utilizando os ponteiros dos índices para determinar quais os registos a incluir na junção. Assume-se que o sistema executaria primeiro as selecções de preço e cidade e só depois as junções. Página 4 de 8

5 Bases de Dados 2008/2009 (b) Assuma agora que já existem índices primários sobre todas as chaves primárias. Considere uma consulta que retorna todos os produtos que custam 1500 euros. Seria vantajoso criar um índice sobre o atributo preço? Porquê? Na generalidade dos casos, não. Se o índice for secundário, apenas permitirá recuperar eficientemente os ponteiros para os registos pretendidos. Posteriormente, recuperar toda a informação nos registos obrigaria a fazer diversos acessos aleatórios, o que poderá ser menos eficiente do que fazer uma pesquisa sequencial. Por essa mesma razão, o índice seria útil apenas se existissem muito poucos registos com preço igual a (c) Um índice secundário pode ser esparso? Justifique a sua resposta, ilustrando com um exemplo. Um índice secundário não pode ser esparso. Suponha uma tabela com os atributos nome e idade, ordenada por nome e com um índice secundário sobre idade. Suponha que a tabela contém registos com idade igual a 50, 25 e 30, e que o índice contem ponteiros apenas para os registos com idade igual a 50 e 25 (sendo, portanto, esparso). Tal índice seria inútil para procurar um registo em que idade seja igual a 30: uma vez que a tabela não está ordenada por idade, seria sempre necessário percorrer todos os registos. 6. Considere o modelo relacional da questão anterior e a seguinte consulta expressa em SQL: select nome, preço from produto, loja, vende where produto.id=vende.id and loja.codigo=vende.codigo and preço>1000 (a) Desenhe o plano de execução mais eficiente possível para esta consulta, usando a notação das aulas teóricas. Justifique a posição de cada operação de projecção e de selecção nesse plano de execução. Π nome, preco σ preco>1000 π nome,preco,id produto π id,codigo loja π codigo vende Neste plano, as operações de projecção e selecção são feitas o mais cedo possível, para reduzir o tamanho das tabelas ao mínimo necessário para fazer as junções. (b) Suponha que as tabelas produto, loja e vende têm 1000, 500 e 3 tuplos, respectivamente. Porque ordem deveriam ser efectuados os joins? Justifique. Página 5 de 8

6 Bases de Dados 2008/2009 Primeiro vende com loja, depois com produto. Para ser o mais eficiente possível, a junção deve ser feita em primeiro lugar com as menores tabelas. Uma vez que o resultado da junção nunca é maior do que o tamanho da menor tabela envolvida, isto garante que as junções seguintes serão feitas também com as tabelas o mais reduzidas possível. 7. Considere o seguinte escalonamento de transacções: T1 read(a) read(b) read(a) T2 read(b) write(b) T3 write(a) read(b) T4 read(b) T5 write(a) (a) Desenhe o grafo de conflitos para este escalonamento. O escalonamento é serializável? Justifique. T2 B B B T4 T1 A A T5 A T3 A O escalonamento não é serializável (por conflitos) porque existem ciclos no grafo. (b) Apresente a ordem pela qual as transacções devem fazer commit de forma a que não ocorram rollbacks encadeados (cascading rollbacks). Justifique. Para que não existam cascading rollbacks, uma transacção Ta só pode ler itens escritos por outra transacção Tb depois de Tb ter feito commit. No escalonamento apresentado esta situação ocorre em 2 casos: T3 e T1 com o objecto A; T2 e T3 com o objecto B. Logo, a ordem dos commits no escalonamento dado deveria ser: T2, T3, T1, e a ordem de T4 e T5 é indiferente. (c) Apresente as transacções, inserindo locks exclusivos e partilhados nas posições adequadas, de modo a que estas obedeçam ao protocolo em duas fases (two-phase locking). T1: S-lock(A); read(a); S-lock(B); read(b); unlock(b); read(a); unlock(a) T2: X-lock(B); read(b); write(b); unlock(b) T3: X-lock(A); write(a); S-lock(B); read(b); unlock(a); unlock(b) T4: S-lock(B); read(b); unlock(b) T5: X-lock(A); write(a); unlock(a) Página 6 de 8

7 Bases de Dados 2008/2009 (d) Num sistema que use a estratégia de escrita imediata, é possível uma transacção fazer commit antes dos seus dados serem escritos em disco? Justifique. Sim. Durante o commit, os dados são escritos num buffer em memória, que apenas é copiado para disco ocasionalmente. Portanto, o commit não garante a escrita dos dados em disco. Só há garantia se tiver havido um checkpoint. 8. Considere a seguinte relação, com o conjunto de dependências dado: R(A,B,C,D,E) A BC E DA Assuma que a relação está na primeira forma normal. (a) Indique, justificando, todas as chaves candidatas. A -> BC A -> ABC (porque A -> A) A, por si só, não determina mais atributos E -> DA E -> EDA (porque E -> E) E -> ABCDE (porque A -> ABC) logo, E é chave candidata. Nenhum outro subconjunto de atributos, que não inclua E, determina os restantes. Logo, a única chave candidata é E. (b) Diga qual é a forma normal mais elevada a que a relação obedece. Justifique. Assumimos que está na 1a forma normal. Como todos os atributos não chave (A, B,C e D) dependem completamente da chave candidata, a relação está na 2a forma normal. Como existem dependências entre atributos não-chave (e.g., A -> BC), a relação não está na 3a forma normal. Portanto, a relação está apenas na 2a forma normal. (c) Apresente uma decomposição da relação para a Forma Normal de Boyce-Codd. R1(A,B,C) R2(A,D,E) Página 7 de 8

8 Bases de Dados 2008/2009 (d) Apresente uma decomposição das tabelas que não seja lossless-join. Prove que, de facto, existem perdas, ilustrando com um exemplo. Uma decomposição com perdas seria: R1(A,B,C) R2(C,D,E) Considere, por exemplo que a relação R é a seguinte: R A, B, C, D, E a1, b3, c5, d8, e9 a2, b5, c6, d2, e1 a2, b3, c5, d3, e2 Neste caso, R1 e R2 seriam: R1 A, B, C a1, b3, c5 a2, b5, c6 a2, b3, c5 R2 C, D, E c5, d8, e9 c6, d2, e1 c5, d3, e2 E a junção de R1 e R2 seria: R1 R2 A, B, C, D, E a1, b3, c5, d8, e9 a1, b3, c5, d3, e2 a2, b5, c6, d2, e1 a2, b3, c5, d8, e9 a2, b3, c5, d3, e2 Como a junção de R1 e R2 é diferente de R, a decomposição não é lossless-join. Página 8 de 8

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

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 12 de Janeiro de 2009 --- Resolução --- 1. Considere o seguinte cenário relativo a uma farmácia: Um paciente dirige-se ao médico e apresenta

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

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

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

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

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

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

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

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

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

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) PRONATEC - Programador de Sistemas Banco de Dados 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando INSERT INTO INSERT INTO tabela [ ( coluna [, coluna,...] ) ] VALUES

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

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

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

Tarefa Orientada 11 Junção Interna

Tarefa Orientada 11 Junção Interna Tarefa Orientada 11 Junção Interna Objectivos: Junção Interna (INNER JOIN) Junção Interna A operação de junção interna (INNER JOIN) é utilizada para combinar colunas de duas ou mais tabelas. O resultado

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

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

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aula 10 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas

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

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

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

f. Vocês podem selecionar todos os campos indicando-os, ou seja, sem usar * (boa prática) g. Muito relevante na manutenção de BD e de aplicações.

f. Vocês podem selecionar todos os campos indicando-os, ou seja, sem usar * (boa prática) g. Muito relevante na manutenção de BD e de aplicações. Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aula 11 1) Cláusulas SELECT e FROM a. Apesar de ser a primeira, ela é a

Leia mais

Modelo Lógico e Físico da Base de Dados

Modelo Lógico e Físico da Base de Dados Modelo Lógico e Físico da Base de Dados Second.UA Settlers Primeiro Modelo Lógico e Físico Modelos Lógicos e Físicos Finais Alterações na Base de Dados Descrição e justificação Após uma análise mais aprofundada

Leia mais

Prova de Fundamentos de Bancos de Dados 2 a Prova

Prova de Fundamentos de Bancos de Dados 2 a Prova Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Novembro de 2007 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi

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

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

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

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Uma expressão básica em SQL consiste em três cláusulas: select, from e where. Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra

Leia mais

Árvores B + Prof Márcio Bueno. ed2tarde@marciobueno.com / ed2noite@marciobueno.com. Material da Prof a Ana Eliza Lopes Moura

Árvores B + Prof Márcio Bueno. ed2tarde@marciobueno.com / ed2noite@marciobueno.com. Material da Prof a Ana Eliza Lopes Moura Árvores B + Prof Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material da Prof a Ana Eliza Lopes Moura Árvore B + A árvore B + é uma variação da estrutura básica da árvore B. Características:

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

Prova de Fundamentos de Bancos de Dados 2 a Prova

Prova de Fundamentos de Bancos de Dados 2 a Prova Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Maio de 2006 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi usada

Leia mais

Depois de obtido o diagrama E/A há que estabelecer o esquema relacional correspondente.

Depois de obtido o diagrama E/A há que estabelecer o esquema relacional correspondente. 4. Modelo Entidade Associação 4.1. Introdução 4.2. Propriedades das associações 4.3. Decomposição de Associações vários : vários (M:N) 4.4. Associações Complexas 4.5. Situações Ambíguas 4.6 Esquema Relacional

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

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

de Bases de Dados Exame 2

de Bases de Dados Exame 2 Ano lectivo 2009/2010 2 o semestre Administração e Optimização de Bases de Dados Exame 2 Regras O exame tem a duração de 2 horas. O exame é individual e com consulta Só poderá abandonar a sala ao fim de

Leia mais

Rock In Rio - Lisboa

Rock In Rio - Lisboa Curso de Engenharia Informática Industrial Rock In Rio - Lisboa Elaborado por: Ano Lectivo: 2004/05 Tiago Costa N.º 4917 Turma: C Gustavo Graça Patrício N.º 4757 Turma: C Docente: Professora Maria Estalagem

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

Capítulo 6 Sistemas de Arquivos

Capítulo 6 Sistemas de Arquivos Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios 6.3 Implementação do sistema de arquivos 6.4 Exemplos de sistemas de arquivos 1 Armazenamento da Informação a Longo Prazo 1. Deve ser possível

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

MANUAL DO UTILIZADOR

MANUAL DO UTILIZADOR MANUAL DO UTILIZADOR Versão 1.6 PÁGINA DE PESQUISA A página principal do PacWeb permite a realização de um número muito variado de pesquisas, simples, ou pelo contrário extremamente complexas, dependendo

Leia mais

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES ALGORITMOS DE BUSCA EM LISTAS COM ALOCAÇÃO SEQÜENCIAL Busca em Listas Lineares A operação de busca é

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

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais Número: Nome: Página 1 de 5 LEIC/LERC 2012/13, Repescagem do 1º Teste de Sistemas Distribuídos, 25 de Junho de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração:

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

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

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

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

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

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 18 de julho de 2012

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 18 de julho de 2012 Ministério da Educação e Ciência p-fólio Resolução e Critérios de Correção U.C. 21103 Sistemas de Gestão de Bases de Dados 18 de julho de 2012 INSTRUÇÕES O tempo de duração da prova de p-fólio é de 90

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

Ficheiros binários 1. Ficheiros binários

Ficheiros binários 1. Ficheiros binários Ficheiros binários 1 Ficheiros binários 1. Considere que dispõe de ficheiros binários cujo conteúdo é constituído por uma ou mais estruturas como a indicada a seguir struct registo { int ref; float var;

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

CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-234 4) Árvores balanceadas AVL, Rubro-Negras, B-Trees Operações em árvores binárias de busca

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

Bases de Dados. Exame de 1 a Época. Identifique todas as folhas. Exame sem consulta. Duração: 2h30.

Bases de Dados. Exame de 1 a Época. Identifique todas as folhas. Exame sem consulta. Duração: 2h30. Bases de Dados Exame de 1 a Época 2011/2012 Identifique todas as folhas. Exame sem consulta. Duração: 2h30. Grupo 1 Número: 1a) Represente o seguinte domínio usando um diagrama Entidade-Associação: Uma

Leia mais

Pesquisa em Memória Primária. Prof. Jonas Potros

Pesquisa em Memória Primária. Prof. Jonas Potros Pesquisa em Memória Primária Prof. Jonas Potros Procedimento para Inserir na Árvore Binária Critérios: Atingir um ponteiro nulo em um processo de pesquisa significa uma pesquisa sem sucesso. O ponteiro

Leia mais

Microsoft Access 2010. Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento

Microsoft Access 2010. Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento Microsoft Access 2010 Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento 1 Principais objetos do Access Tabelas Guardam a informação da BD (Base de Dados)

Leia mais

Sistemas de Arquivos. Sistemas Operacionais - Professor Machado

Sistemas de Arquivos. Sistemas Operacionais - Professor Machado Sistemas de Arquivos Sistemas Operacionais - Professor Machado 1 Armazenamento da Informação a Longo Prazo 1. Deve ser possível armazenar uma quantidade muito grande de informação 2. A informação deve

Leia mais

Um modelo de dados é a colecção de, pelo menos, 3 componentes:

Um modelo de dados é a colecção de, pelo menos, 3 componentes: Modelos de Dados 1 Introdução Um modelo de dados é a colecção de, pelo menos, 3 componentes: 1) Um conjunto de tipos de estruturas de dados Define o tipo de dados e como se interrelacionam 2) Um conjunto

Leia mais

Prova de Fundamentos de Bancos de Dados 2 a Prova

Prova de Fundamentos de Bancos de Dados 2 a Prova Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Novembro de 2006 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi

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

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

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

Consultas (Queries) ou Interrogações

Consultas (Queries) ou Interrogações Consultas (Queries) ou Interrogações Principal finalidade das interrogações: Extracção, manipulação (inserção, alteração e remoção) e definição de dados. As interrogações mais comuns destinam-se a pesquisar

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

Pedro Vasconcelos DCC/FCUP. Programação Funcional 15 a Aula Árvores de pesquisa

Pedro Vasconcelos DCC/FCUP. Programação Funcional 15 a Aula Árvores de pesquisa Programação Funcional 15 a Aula Árvores de pesquisa Pedro Vasconcelos DCC/FCUP 2014 Árvores binárias Um árvore binária é um grafo dirigido, conexo e acíclico em que cada vértice é de um de dois tipos:

Leia mais

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

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

Leia mais

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

Bases de Dados 2006/2007 Exame

Bases de Dados 2006/2007 Exame Exame 12 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

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

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

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

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

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

SQL UMA ABORDAGEM INTERESSANTE

SQL UMA ABORDAGEM INTERESSANTE SQL é uma linguagem de consulta estruturada, do inglês Structured Query Language. É uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

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

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros:

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: - Necessidade O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: Os livros que custarem mais de 10, devem ver o seu preço

Leia mais

Trabalho 3: Agenda de Tarefas

Trabalho 3: Agenda de Tarefas INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma

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 Agenda Estrutura Básica de consultas SQL: A cláusula SELECT; A cláusula FROM; A cláusula WHERE. Operação com cadeias

Leia mais

Memória de aula Semanas 15 e 16

Memória de aula Semanas 15 e 16 FMU Curso: Ciência da Computação Disciplina: Banco de Dados I Professor: Ecivaldo Matos Memória de aula Semanas 15 e 16 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

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