Banco de Dados I − DCC/UFRJ 6. definir duas transações um pouco mais
complexas, na forma de stored procedures Trabalho II parametrizadas, que executem: Projeto, especificação, implementação e • a remoção de um vôo e todas suas es- instanciação de um banco de dados calas e viagens; parâmetro de entrada: número do vôo; Você deve projetar, criar e instanciar um banco • uma consulta parametrizada que re- de dados, no SQL Server (ou equivalente), que torne todas as viagens de um determi- implemente o exemplo do Controle de Cargas nado vôo, cujo número é passado como Aéreas utilizado durante o curso, seguindo as parâmetro de entrada. A stored proce- seguintes etapas: dure deve retornar um recordset conten- do o resultado; 1. estabelecer um padrão de nomes para to- dos os objetos do banco de dados, incluin- • a criação de viagens para um determi- do tabelas, atributos, views, constraints, nado vôo todos os dias entre as datas triggers, etc... D1 e D2. O número do vôo, e as duas datas são os parâmetros de entrada; 2. definir as tabelas, chaves primárias e es- nas viagens inseridas, os horários reais trangeiras, constraints e eventuais índices, de saída e chegada e o código dos avi- tomando por base de utilização o conjunto ões que as realizam devem ser preen- de consultas da lista de exercícios SQL chidos com null; (trabalho III); 7. definir perfis de usuários para o banco de 3. para cada atributo das tabelas, especificar dados, de acordo com as políticas de aces- os valores iniciais (default) e valores permi- so apresentadas a seguir: tidos; • supervisor, que pode inserir, alterar e 4. definir constraints simples, do tipo check, remover registros de todas as tabelas; para os seguintes casos: pode executar as stored procedures; não • a distância de um trecho deve estar no pode remover, criar ou alterar tabelas; intervalo [100, 5.000] milhas; pode designar permissões dos perfis • um trecho de vôo não pode durar me- abaixo para outros usuários; nos de 15 minutos; • operador, que pode atualizar os horá- 5. criar procedimentos de verificação de da- rios reais de saída e chegada e designar dos (triggers) que mantenham a integrida- aviões para as viagens realizadas; pode de dos dados. Você deve definir triggers também executar a procedure que cria que garantam o seguinte: novas viagens para um vôo; não pode • se um trecho A→ B, com distância d es- remover, criar ou alterar tabelas; não tiver sendo incluído ou alterado, é um pode designar permissões dos perfis erro haver um trecho B → A cuja dis- abaixo para outros usuários; tância difira de d em mais de ± 5%; • leitor, que pode apenas ter acesso de • o número de escalas de um vôo não leitura apenas aos dados de vôos (esca- deve ser maior que 10; las, horários, etc) e viagens. • o número de escalas de um vôo não deve ser zero; O trabalho é individual e deve ser entregue na • um vôo não pode ser circular, isto é, forma de um script SQL, contendo os coman- não pode voltar a um aeroporto por dos utilizados na geração do banco, na ordem onde já tenha passado; em que os comandos devem ser executados. • a hora de saída real de uma viagem No script entregue, logo no início, devem cons- não pode estar mais de 30 minutos adi- tar, na forma de comentários, o nome comple- antada; to do aluno e seu DRE. • uma escala não pode ter um tempo de PMS, outubro de 2007. parada maior que 1h 30min;
C:\Documents and Settings\Pedro\My Documents\BD I - Official Site\Lista de exercícios\Trabalho II Criação de BD.doc