1. Considere as seguintes tabelas: A a1 a2 a3 B b1 b2 a3 1 1 1 1 3 1 2 1 1 2 2 2 3 1 1 3 1 2 4 2 2 Indique qual a tabela obtida pela execução da expressão: C? ( (? a2,b1(B)) ? (? a1>10(A)) ) b3 4 6 8 C 2. Considere as seguintes tabelas: A a1 a2 b3 B b1 b2 b3 1 1 1 1 3 1 2 1 1 2 2 2 3 1 1 3 1 2 4 2 2 Indique qual a tabela obtida pela execução da expressão: C? (? b1,b2,b3,a2 (? b1>0 (B ? (? b3<2(A))))) C b4 4 6 8 3. Considere as seguintes tabelas: A a1 1 2 3 4 a2 1 1 1 2 a3 4 3 2 1 B b1 0 1 2 3 b2 2 2 1 0 b3 4 4 6 6 C c1 1 2 3 c2 3 2 1 a3 1 2 2 b3 4 6 8 C c1 0 1 2 3 c2 2 2 1 0 a1 4 4 6 6 Indique qual a tabela obtida pela execução da expressão: D? ? a2,b1,c2( (A) ? (? b1>=0(B)) ? (? c2>1(C)) ) D 4. Considere as seguintes tabelas: A a1 2 4 6 a2 3 2 1 a3 1 2 2 a4 4 6 8 B b1 1 2 3 4 c1 1 1 1 2 c2 4 3 2 1 Indique qual a tabela obtida pela execução da expressão: D? (? c1>=0 ( (? b1,c1(B)) ? (? c1>0(C)))) ? (? a1,a2,a4,a3 (? a2=2(A))) D 5. Escreva utilizando álgebra relacional a expressão equivalente a: ”SELECT DISTINCT nome, morada, tel FROM Clientes WHERE morada = ‘BRAGA’ ”. 6. Escreva utilizando SQL a expressão equivalente a: ? a1>10 ? b1>10 (? a1,a2,b1(A)) 7. Considere o funcionamento de um clube de futebol. a) Elabore um esquema, de uma base de dados para o clube (diagrama E-R e esquema conceptual), tendo em atenção os objectivos: i) manter informação relativa aos sócios; ii) manter informação relativa aos jogadores; iii) a possibilidade de se saber a situação relativamente ao pagamento de cotas de cada sócio; iv) a possibilidade de se saber o numero de golos marcados e faltas cometidas por cada jogador; e v) a possibilidade de se saber quais os jogadores com mais tempo de jogo. b) Apresente na linguagem SQL os comandos que permitem responder aos objectivos iv) e v). O processo de Normalização da informação surge na sequência do aparecimento do modelo relacional de base de dados, devido à necessidade de organizar os dados por forma a que estes possam ser tratados relacionalmente. Tendo em atenção a informação representada nos seguintes quadros, apresente o esquema conceptual de uma base de dados relacional adequada para armazenagem dessa informação. 1. Informação respeitante a vendas de uma tabacaria. cod_artigo 123 001 123 911 923 artigo Maria SG LIGHTS Maria Expresso Publico cod_tipo r t t j j tipo Revista Tabaco Revista Jornal Jornal valor 150 350 150 400 250 cod_fornecedor 001 034 001 001 001 fornecedor Imp, SA A Tabaqueira Imp, SA Imp, SA Imp, SA categoria Ligeiro Ligeiro Todo-Terreno Ligeiro Ligeiro matricula 25-63-AB 68-34-CV 52-74-FF 31-57-UX 56-81-HK 2. Informação respeitante a sócios de um clube automóvel. Num_socio 100 125 100 852 953 nome Maria José Maria António Ana morada Braga Porto Braga Barcelos Braga marca Audi Renault Nissan Ford Renault modelo A6 Clio Patrol Puma Clio 3. Informação respeitante a livros em armazém numa livraria. título Viagens na Tua Terra Os Incas O Insustentável peso do Ser A Arte da Rega Memorial do Momento código_tipo 001 003 001 051 003 designação Ficção Romance Ficção Teatro Romance código_editora 007 012 011 007 007 editora Bond e Filhas sa. M.& Soft. Lda L.& Lux. Lda. Bond e Filhas sa. Bond e Filhas sa. quantidade 120 45 1 0 33 4. Informação respeitante a produtos à venda numa loja de Informática com referência ao seu nome, tipo e respectivo fabricante. Codigo a231 d453 a456 r432 d342 ... Artigo PC Multimédia K9 CD-R 74 Advanced Server X11 NORTON AntiVírus Tinteiro preto HP ... tipo PC C PC S C ... Descrição tipo Computador Consumível Computador Software Consumível ... Fabricante COMPAQ BASF HP NORTON HP ... 1. Considere as seguintes relações: Livros = {titulo, código_tipo, código_editora, quantidade} Tipos = {código_tipo, designação} Editoras = {código_editora, editora, morada, código_postal} Cod_Postais = {código_postal, localidade} Pretende-se que: i) Construa a relação em álgebra relacional que permita a identificação dos livros publicados por editoras do “PORTO”; ii) Construa a relação em álgebra relacional que permita a identificação dos livros do tipo “Romance”, editados pela “Caminho” e com uma quantidade em armazém superior a 20; 2. As seguintes relações, pertencem ao sistema de informação de uma oficina de reparação automóvel. Carro = {marca, modelo, potência} Veiculo = {matricula, marca, modelo, cor, ano} Cliente = {cod_cli, nome, morada, tel} Reparação = {num_rep, cod_cli, matricula, data, motivo} Pretende-se que: i) Construa uma expressão, utilizando álgebra relacional, que permita a identificação dos clientes (nome) que têm carros com mais de 200cv de potência de cor preta. ii) Traduza para SQL, a expressão da alínea anterior. iii) Construa uma expressão, utilizando álgebra relacional, que permita a identificação dos clientes (nome, morada) cujos veículos são do modelo “Clio” e têm mais de 5 anos de idade. iv) Traduza para SQL, a expressão da alínea anterior. 3. Considere as seguintes relações respeitante à base de dados dos alunos de uma escola: Turmas = {cod_turma, Ano_escolaridade} Alunos = {numero, cod_turma, nome, idade, morada, localidade} Disciplinas = {discip, nome_disciplina} Notas = {numero, cod_turma, discip, nota} Faltas = {numero, cod_turma, discip, num_faltas} i) ii) iii) iv) v) vi) vii) viii) Construa uma expressão, utilizando álgebra relacional, que permita a geração de uma listagem dos alunos com indicação da respectiva nota e número de faltas por disciplina. Traduza para SQL, a expressão da alínea anterior. Construa uma expressão, utilizando álgebra relacional, que permita a geração de uma listagem dos alunos da turma A, do 9º ano, com positiva à disciplina de “FISICA e QUÍMICA ”. Traduza para SQL, a expressão da alínea anterior. Construa, utilizando SQL, a expressão que permita a geração de uma listagem em que conste as turmas e a média das notas atribuídas aos alunos dessa turma. esta listagem deverá ser apresentada por ordem decrescente da média das notas. Construa, utilizando SQL, a expressão que permita a indicação do somatório das faltas de todos os alunos. Construa, utilizando SQL, a expressão que permita alterar o número de faltas do aluno nº 23 da turma B à disciplina FQ para 3. 4. Considere as seguintes relações respeitante à base de dados de uma clínica: Utentes = {Num_sns, nome, morada, codigo_postal} Consultas = {cod_med, num_sns, data, hora} Médicos = {cod_med, Nome, especialidade} Cod_Postais = {código_postal, localidade} Pretende-se que: i) Construa, utilizando SQL, a expressão que permita a identificação dos utentes que tiveram consultas com médicos da especialidade “pediatria”; ii) Construa, utilizando SQL, a expressão que permita a identificação dos utentes que tiveram consultas com médicos da especialidade “dermatologia” em datas anteriores a 01-01-2001; iii) Construa, utilizando SQL, a expressão que permita a identificação das localidades dos utentes que tiveram consultas no mês de Março de 2001; iv) Construa, utilizando SQL, a expressão que permita alterar o nome do utente com o num_sns = 1352463 de Maria José para José Maria. 5. Considere as seguintes relações: Fornecedores = {código, designação, cod_postal} Tipos = {tipo, designação} Artigos = {código, designação, tipo, cod_for, custo} Cod_Postais = {cod_postal, localidade} Pretende-se que: i) Construa, utilizando SQL, a expressão que permita a identificação dos artigos dos fornecedores da localidade “BRAGA” cujo custo é inferior a mil escudos; ii) Construa, utilizando SQL, a expressão que permita a identificação dos fornecedores que fornecem artigos do tipo “informática”; 6. Considere as seguintes relações: Editoras = {código_editora, editora} Tipos = {código_tipo, designação} Revistas = {título, código_tipo, código_editora, quantidade} Pretende-se que: i) Construa, utilizando SQL, a expressão que permita a identificação das revistas do tipo Desporto da editora designada por ABC; ii) Construa, utilizando SQL, a expressão que permita a identificação da quantidade das revistas do tipo Social. 7. Considere as seguintes relações: Jogadores = {numero, nome, código_país, idade, golos} Países = {código_país, país, código_continente} Continentes = {código_continente, continente} Pretende-se que: i) ii) Construa a relação em álgebra relacional que permita a identificação dos jogadores do continente “Europa”; Construa a relação em álgebra relacional que permita a identificação dos jogadores com menos de 20 anos que já tenham marcado mais do que 100 golos;