Baixe o app para aproveitar ainda mais
Prévia do material em texto
Projeto Prático Informações importantes: • Resolver os exercícios abaixo e enviar um arquivo .rar com os arquivos .sql para cada questão; • O arquivo .rar deverá ser nomeado como nome1_nome2.rar (ex: Jose_Carla.rar); • Não serão aceitos trabalhos enviados após a data final; • A entrega será via Moodle até o dia 04/08/2021 às 23:59; • Trabalhos copiados (plagiados) da internet ou de colegas receberão nota ZERO Exercício 1) Use o modelo abaixo para fazer os exercícios. 1. Apresente a sintaxe do comando da linguagem DDL para criar as tabelas apresentadas no modelo acima. Instituto Federal de Goiás – Campus Formosa Disciplina: Banco de Dados II Curso: Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Iasmini Lima 2. Adicione o atributo coordenador do tipo VARCHAR(60) na tabela Curso. 3. Usando a linguagem SQL, insira 10 registros em cada tabela criada. 4. Usando a linguagem SQL faça a seguinte modificação nos registros: a. Quando o código da sala for “os três primeiros dígitos do seu CPF” atualize a sua capacidade para “idade da sua mãe”. b. Quando o código do curso for “os dois últimos dígitos do seu telefone” atualize o seu nome para “Sistemas de Informação”; 5. Exclua o atributo capacidade na tabela Turma. 6. Exclua a disciplina Banco de Dados na tabela Disciplina. 7. Exclua todos os registros das tabelas Turma, Sala, Laboratório e Disciplina. 8. Exclua todas as tabelas do modelo. 9. Escreva o comando que crie um banco de dados chamado universidade. Exercício 2) Use o modelo abaixo para fazer os exercícios. 1. Apresente a sintaxe do comando da linguagem DDL para criar as tabelas apresentadas no modelo acima. 2. Usando a linguagem SQL, insira 8 registros nas tabelas criadas. 3. Acrescente a coluna endereco do tipo VARCHAR(80) na tabela Cliente. 4. Para todos os pátios com número igual a 100 modifique sua capacidade para 45. 5. Escrever as seguintes consultas SQL: a. Exiba o CPF e o nome do cliente que possui o veículo de placa “JJJ- 2020”. Use o conceito de consultas aninhadas. b. Exiba o nome do cliente que possui o veículo cujo código do estacionamento é “os dois primeiros números da sua matrícula”. Use INNER JOIN. c. Exiba a quantidade de carros estacionados por pátio. O resultado deverá ter o número do pátio e a respectiva quantidade. d. Exiba os pátios e a quantidade de carros estacionados para os pátios que possuem mais que 10 carros estacionados. e. Exiba a placa, ano e o código de estacionamento de todos os veículos cadastrados. Os veículos cadastrados que não estiverem estacionados apresentar o valor NULL para o campo código de estacionamento. Use OUTER JOIN. f. Exclua todos os registros da tabela Estaciona. g. Exiba a placa, o ano do veículo e a descrição de seu modelo, se ele possuir ano a partir de 2000. Use INNER JOIN. h. Exiba a quantidade de vezes que os veículos de cor verde estacionaram. Use INNER JOIN i. Exiba a descrição do modelo do veículo cujo código do estacionamento é Exercício 3) Propor um problema factível e interessante, descrevê-lo e modelá-lo em SQL. Fazer uma descrição do problema em 1 parágrafo que tenha entre 3 e 6 linhas. O esquema relacional do problema proposto deve ser implementado usando o SGBD POSTGRESQL. Nesta etapa devem ser inseridas um mínimo de 5 (cinco) instâncias interessantes para cada tabela, de modo que se compreenda bem o problema. A modelagem em SQL a ser entregue deve ser um script contendo os comandos para criação das tabelas, descrição dos domínios dos atributos, especificação das restrições de integridade (de domínio, de valor nulo, de chave, e referencial), e de gatilhos. A modelagem do banco de dados em SQL deve contemplar, no mínimo: a) 5 tabelas (domínios, valores nulos admissíveis ou não, chaves primárias); b) 20 atributos diversos, espalhados entre as tabelas, dos quais: i. pelo menos 8 devem ser do tipo VARCHAR com, no mínimo, 40 posições; ii. pelo menos 2 devem poder serem calculados a partir de outras colunas de outras tabelas, via subconsultas com funções de agregação (SUM, AVG, COUNT); c) 3 gatilhos do tipo “BEFORE” e “FOR EACH ROW”, sobre tabelas DISTINTAS, que façam verificações adicionais de conteúdo do banco de dados; d) 1 gatilho do tipo “AFTER” para calcular os valores, por subconsultas, do item b(i).
Compartilhar