1) Defina os seguintes termos: domínio, grau de uma relação, n-tupla, esquema de relação, esquema de um banco de dados relacional. 2) Qual é a diferença entre uma chave e uma superchave? Dê exemplos. 3) Descreva uma característica das relações que as fazem diferentes de tabelas e arquivos comuns. 4) Quais as duas razões que levam à ocorrência de valores null nas relações? 5) Defina chave estrangeira e para que este conceito é usado? 6) Faça o esquema de um banco de dados relacional para o diagrama ER gerado para a locadora de filmes do exercício 3 (item 5). Veja o diagrama abaixo. 7) Apresente todas as restrições de integridade referencial para o esquema de BD gerado no item 6 acima.
8) Como ficaria o esquema do BD relacional para o relacionamento 1:1 abaixo, considerando para CORRENTISTA os atributos código do cliente, nome e telefone e para CONTA_CORRENTE, o código e o saldo? 9) Como ficaria o esquema do BD relacional para o diagrama abaixo, considerando para MATERIAL os atributos código do material, nome e preço unitário e para FORNECEDOR, o seu código, nome, endereço (rua, no., cidade, cep, estado) e telefone. 10) Como ficaria o esquema do BD relacional para o auto relacionamento M:N abaixo, considerando para PECA os atributos número da peça e nome? 11) Considere as cinco relações abaixo de uma aplicação de um BD para o controle de viagens de vendedores em um escritório de vendas que deve obedecer as seguintes restrições de cardinalidade: a) uma viagem só pode ser feita por um vendedor, mas ele pode fazer várias viagens;
b) uma despesa pode conter várias viagens, mas uma viagem só pode aparecer em uma despesa; c) uma despesa pode ter vários centros de custo, mas um centro de custo pode estar relacionado em várias despesas. VENDEDOR (Cpf, Nome, AnoInicio, Depto) VIAGEM (IdViagem, Cpf, CidOrig, CidDest, DPartida, DRetorno, NumDesp) DESPESA (NumDesp,Total) CCUSTO (NumCCusto, NomeCCusto) CONTABIL (NumDesp, NumCCusto) Especifique as chaves estrangeiras para este esquema de BD relacional apresentando todas as restrições de integridade referencial envolvidas no esquema. 12) Considere as seis seguintes relações de uma aplicação de um BD para o processamento de pedidos de uma empresa que deve obedecer ás seguintes restrições de cardinalidade: a) um cliente pode fazer vários pedidos, mas um pedido diz respeito a um cliente; b) um pedido pode conter vários itens e um item pode aparecer em vários pedidos; c) uma remessa pode ter vários pedidos, mas um pedido está registrado em apenas uma remessa; d) uma remessa pode estar em um depósito, mas um depósito pode conter várias remessas de pedidos. CLIENTE (CodCli, NomeCli, CidadeCli) PEDIDO (CodPed, DataPed, CodCli, NumRemessa, TotPed) ITEM_PEDIDO (CodPed, CodItem, Quant) ITEM (CodItem, PrecoUnit) REMESSA (NumRemessa, NumDeposito, DataRem) DEPOSITO (NumDeposito, Cidade, Telefone) Especifique as chaves estrangeiras, identifique as possíveis chaves primárias compostas considerando possíveis restrições de cardinalidade (declare as suposições que achar coerente) e apresente todas as restrições de integridade referencial envolvidas neste esquema de BD relacional. 13) Faça o esquema de um banco de dados relacional para o diagrama ER mostrado na página seguinte e apresente todas as restrições de integridade referencial envolvidas no esquema gerado. O diagrama ER abaixo descreve um BD para as informações de vôos de uma companhia aérea. Cada VÔO é identificado por um Numero de vôo e consiste
em um ou mais TRECHO_VOO com NumTrecho igual a 1, 2, 3, e assim por diante. Cada vôo tem programado os horários de chegada e partida e os aeroportos, e possui muitas INSTANCIAS_TRECHO para cada Data na qual o vôo viaja. As ocorrências de PASSAGEM são mantidas para cada vôo. Um AVIAO é identificado por um IdAviao, e é de um TIPO_AVIAO em particular. PODE_ATERRISSAR relaciona os TIPOS_AVIAO aos AEROPORTOS nos quais pode pousar. Um AEROPORTO é identificado por um CodigoAeroporto. As atualizações deste banco de dados serão do tipo: entrar com uma reserva em um vôo em particular ou entrar com um trecho de vôo em uma determinada data. 14) Suponha que cada uma das seguintes operações de atualização seja aplicada diretamente ao estado do BD mostrado na figura baixo. Verifique qual(is) restrição(ões) está(ão) sendo violada(s) em cada operação, quando for o caso, e identifique os possíveis mecanismos para evitar tais violações.
a) Insira < Robert, F, Scott, 943775543, 1952-06-21, 2365 NewCastle Rd, Bellaire, TX, M, 58000, 888665555, 1 > em EMPREGADO. b) Insira < ProdutoA, 4, Bellaire, 2 > em PROJETO. c) Insira < Produção, 4, 943775543, 1998-10-01 > em DEPARTAMENTO. d) Insira < 677678989, null, 40,0 > em TRABALHA_EM. e) Insira < 453453453, John, M, 1970-12-12, Cônjuge > em DEPENDENTE. f) Remova as tuplas de TRABALHA_EM com ESsn = 333445555. g) Remova a tupla de EMPREGADO com Ssn = 987654321.
h) Remova a tupla de PROJETO com PjNome = ProdutoX. i) Modifique o GerSsn e GerDataInicio da tupla de DEPARTAMENTO com DNumero = 5 para 123456789 e 1999-01-10, respectivamente. j) Modifique o valor do atributo SuperSsn da tupla de EMPREGADO com Ssn = 999887777 para 943775543. k) Modifique o atributo Horas da tupla de TRABALHA_EM com ESsn = 999887777 e PNo = 10 para 5.0. 15) Considere o esquema de BD relacional gerado para a LOCADORA: CLIENTE (NumCli, PreNome, SobreNome) TELEFONE (NumCli, NumeroTel) DVD (NumDvd, NumCli, NumFilme) FILME (NumFilme, Titulo, NumCategoria) CATEGORIA (NumCategoria, NomeCategoria) ATOR (NumAtor, NomeAtor, DataNasc) ESTRELA (NumAtor, NumFilme) Para as seguintes atualizações no BD: 1) o cliente retira um DVD; 2) a locadora cadastra um novo filme; 3) a locadora cadastra o celular de um cliente; 4) a locadora cadastra um novo nome de categoria; 5) a locadora quer excluir um ator; 6) o cliente devolve 2 dvd s, um de cada filme. a) Forneça a(s) operação(ões) para cada atualização acima. b) Quais tipos de restrições (se houver) podem ser esperadas para a verificação de violação para cada uma das operações definidas em a)? 16) Considere as seguintes relações para um BD de controle vendas de automóveis em uma concessionária: Um vendedor pode vender vários carros, mas um carro só pode ser vendido por um vendedor. E para esta venda é preciso registrar a data e o preço de venda. Um carro pode possuir vários opcionais, mas um opcional (com um número de série específico) só pode estar em um carro. CARRO (NumSerie, Modelo, Fabricante, Preco) OPCIONAL (NumOpcional, NomeOpcional, Preco) VENDEDOR (IdVendedor, Nome, Telefone) a) Crie e identifique as chaves estrangeiras para esse esquema. b) Crie atributos nas relações, se for necessário. c) Preencha as relações com algumas tuplas de exemplo (2 tuplas para cada entidade). d) Dê um exemplo de inserção nas relações OPCIONAL e CARRO que viole a restrição de integridade referencial.
e) Dê um exemplo de inserção na relação VENDEDOR que viole a restrição de integridade de entidade. 17) Faça o mapeamento do diagrama EER da figura abaixo, considerando as seguintes restrições: a) um gerente pode gerenciar vários projetos b) um projeto pode ser gerenciado por vários gerentes c) um empregado_horista pertence a apenas um sindicato d) um sindicato pode ter vários empregados_horistas associados