Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso: Sistemas de Informação – Unidade São Gabriel Disciplina: Bancos de Dados – Período: 5º - Turno: Noite Professor: Claudiney Vander Ramos Aluno: Ricardo Pereira de Fátima Data de Entrega: 16/10/2015 LISTA DE EXERCÍCIOS – Modelo Relacional e Linguagem SQL 3) Por que as tuplas repetidas não são permitidas em uma relação? 8) Discuta as restrições de integridade de entidade e integridade referencial. Por que cada uma é considerada importante? 13)Qual o papel que o conceito de chave estrangeira desempenha quando se especificam os tipos mais comuns de operações de junção significativas? 18) Exercício 3.14 (Elmasri e Navathe – 6ª Edição – Página 55) ou Exercício 5.13 (Elmasri e Navathe – 4ª Edição – Página 104) 23) Exercício 6.17 (Elmasri e Navathe – 4ª Edição – Página 133) ou Exercício 7.20 (Elmasri e Navathe – 3ª Edição – Página 196) 28) Exercício 6.23 (Elmasri e Navathe – 4ª Edição – Página 135) ou Exercício 7.28 (Elmasri e Navathe – 3ª Edição – Página 199) 33) Exercício 8.16 (Elmasri e Navathe – 4ª Edição – Página 180) ou Exercício 8.16 (Elmasri e Navathe – 3ª Edição – Página 237) 3) Por que as tuplas repetidas não são permitidas em uma relação? Devido a teoria dos conjuntos não permitirem elementos repetidos. É um restrição baseada em aplicação. 8) Definir chave estrangeira. Para que esse conceito é usado? Um conjunto de atributos FK do esquema da relação Rx é uma chave estrangeira de Rx, que faz referência à relação R2, se ele satisfizer as duas regras seguintes: 1. Os atributos de FK têm o(s) mesmo(s) domínio(s) que os atributos da chave primária PK de R2; diz-se que os atributos de FK fazem referência ou se referem à relação R2. 2. Um valor de FK em uma tupla tj do estado corrente ^(R^ ou ocorre como um valor de PK para alguma tupla t2 no estado corrente r2(R2) ou é null. No caso anterior, temos tJFK] = t2[PK], e dizemos que a tupla tx faz referência ou se refere à tupla t2. 23) Exercício 6.17 (Elmasri e Navathe – 4ª. Edição – Página 133) ou Exercício 7.20 (Elmasri e Navathe – 3ª. Edição – Página 196) 6.17. Considere o esquema do banco de dados COMPANHIA AÉREA, mostrado na Figura 5.8, que foi descrito no Exercício 5.11. Especifique as seguintes consultas na álgebra relacional: a. Para cada vôo, liste o número do vôo, o aeroporto de chegada para o primeiro trecho de vôo e o aeroporto de chegada para o último trecho de vôo. Π numero_voo, código_aeroporto_chegada, código_aeroporto_partida [avião, aeroporto] £ código_partida = código_partida and código_chegada=código_chegada b. Liste os números dos vôos e os dias da semana de todos os vôos ou trechos de vôo que partam do Aeroporto Internacional de Houston (código do aeroporto 'IAH') e cheguem ao Aeroporto Internacional de Los Angeles (código do aeroporto 'LAX')- π a.numero_voo, data [avião a, aeroporto ae] £ a.numero_voo = ae.numero_voo and ae.código_aeroporto_partida = ‘IAH’ and ae.código_aerporto_chegada = ‘LAX’ c. Liste o número do vôo, o código do aeroporto de partida, o horário programado para a partida, o código do aeroporto de chegada, o horário programado para a chegada e os dias da semana de todos os vôos ou trechos de vôo que partam de algum dos aeroportos da cidade de Houston e cheguem em algum dos aeroportos da cidade de Los Angeles. Π numero_voo, código_aeroporto_partida, hora_partida_programada, código_aerporto_chegada, hora_chegada programada, data [avião a, aeroporto ae] £ a.numero_voo = ae.numero_voo and (ae.código_aeroporto_partida = ‘IAH’ or ae.código_trecho=’IAH’) d. Liste todas as informações dos passageiros do vôo de número 'C0197' e. Recupere o número de poltronas disponíveis para o vôo de número 'C0197' em '1999-10-09 π p.*, a.poltrona [passageiro p , avião a] £ a.numero_voo = ‘C0197’ and a.data = ‘1999-10-09’ and (£ a.poltrona = ‘ ‘) 28) Exercício 6.23 (Elmasri e Navathe – 4ª. Edição – Página 135) ou Exercício 7.28 (Elmasri e Navathe – 3ª. Edição – Página 199) 6.23. Especifique as seguintes consultas em álgebra relacional no esquema de banco de dados do Exercício 5.16: a. Para a vendedora chamada 'Jane Doe', liste as seguintes informações para todos os carros vendidos por ela: Série#, Fabricante, Preco_Venda. Π c.* [carro c, vendedora v] £ c.num_serie = o.num_serie And nome_vendedor = ‘jane doe’ b. Liste Série# e Modelo de carros que não tenham opcionais. Π c.serie, c.modelo [ carro c, opcional o] £ c.num_serie = o.num_serie and nome_opcao = ‘ ‘ c. Considere a operação JUNÇÃO NATURAL entre VENDEDOR e VENDAS. Qual é o significado de uma JUNÇÃO EXTERNA à esquerda para essas tabelas (não mude a ordem das relações). Explique com um exemplo. Π c.serie, c.modelo [ carro c, opcional o] £ c.num_serie = o.num_serie and nome_opcao = ‘ ‘ d. Escreva uma consulta em álgebra relacional envolvendo a seleção e uma operação de conjunto e expresse, em palavras, o que a consulta faz. Π c.serie, c.modelo [ carro c, opcional o] £ c.num_serie = o.num_serie and nome_opcao = ‘freio abs ‘ A consulta seleciona serie e modelo dos carros que tem freio abs como opcional 33) Exercício 8.16 (Elmasri e Navathe – 4ª. Edição – Página 180) ou Exercício 8.16 (Elmasri e Navathe – 3ª. Edição – Página 237) 8.16. Especifique as seguintes consultas em SQL para o banco de dados da Figura 1.2: a. Recupere os nomes de todos os estudantes veteranos graduados em *CC' (ciências da computação). select a.nome from aluno a, curso c where a.curso_hab = c.departamento and numero_curso = ‘cc1310’ b. Recupere os nomes de todos os cursos em que o professor King deu aulas entre 1998 e 1999. select c.nomedocurso from curso c,disciplina d where professor = king and (ano = 98 or ano = 99) c. Para cada disciplina do professor King, recupere o número do curso, o semestre, o ano e o número de estudantes dessa disciplina. select c.numerodocurso, c.semestre, c.ano where curso c, disciplina d where professor = king Considere as seis seguintes relações de uma aplicação de um banco de dados para o processamento de pedidos de uma empresa: CUENTE(C1Í#, Cnome, Cidade). PEDiDo(Pedido#, Pdata, Cust#, Tot_Ped). ITEM PEDiDO(Pedido# , Item#. Qtde). lTEM(Item#, PreCo_unit). REMESSA(Pedido#. Armazem#, Data_rem). DEPOSlTo(Deposito#, Cidade). Aqui, Tot_Ped refere-se ao total em dólares de um pedido; Pdata é a data em que o pedido foi feito; e Data_rem, a data em que é feita a remessa de um pedido de um dado depósito. Pressuponha que um pedido possa ser remetido a partir de diversos depósitos. Especifique as chaves estrangeiras para esse esquema, explicando quaisquer suposições que você faça.
Compartilhar