2

Click here to load reader

Exercícios

Embed Size (px)

Citation preview

Page 1: Exercícios

Exercícios Aula 9 – SQL – DML – parte 3 e DDL Modelo Empregado={NumEmp , Nome, Secção, Posto, Chefe, Salário, Comissão}

Secção={NumSec , Nome, Cidade}

DML 3. Criar as seguintes tabelas (não especificando quaisquer restrições):

3.1. aluno(numero, nome, telefone) numero : alfanumérico com tamanho fixo de 7 caracteres. nome : alfanumérico com tamanho máximo de 25 caracteres. telefone: alfanumérico com tamanho máximo de 20 caracteres.

3.2. disciplina(codigo, nome)

codigo : alfanumérico com tamanho máximo de 4 caracteres. nome : alfanumérico com tamanho máximo de 50 caracteres.

3.3. inscricao(aluno, coddisc, ano, semestre, aprovado, classif)

i. numero : alfanumérico com tamanho fixo de 7 caracteres. ii. coddisc : alfanumérico com tamanho máximo de 4 caracteres. iii. ano : numérico inteiro com 4 dígitos. iv. semestre: numérico inteiro com 1 dígito (1 = 1º semestre, 2 = 2º semestre).

Agora, responda as seguintes questões:

Page 2: Exercícios

v. aprovado: S/N Sim / Não vi. classif : numérico inteiro com 2 dígitos (0 a 20)

4. Faça as seguintes alterações à tabela aluno:

4.1. adicione uma nova coluna : morada - alfanumérico com tamanho fixo de 50 caracteres 4.2. altere a coluna morada para ter tamanho variável 4.3. apague a coluna Morada

5. Os identificadores das tabelas são: aluno(numero), disciplina(codigo) e inscricao(aluno,

coddisc, ano). Alterar as tabelas, adicionando as restrições atrás referidas. 6. Implemente as seguintes regras:

� inscricao(aluno) é chave estrangeira de aluno(numero) � inscricao(disciplina) é chave estrangeira de disciplina(codigo)

7. Crie as seguintes regras:

7.1. O número do aluno inicia por "i" e tem 5 ou mais caracteres 7.2. O telefone do aluno inicia por 9 ou 2 e tem na 3ª posição o caracter "-", tendo o

tamanho obrigatório de 10 carateres. Ex. "22-9021797" ou "91-1234567" 7.3. O semestre pode ser 0 (disciplinas anuais), ou 1 ou 2 para as semestrais 7.4. A classificação pode ser 0, 1, 2, .., 20

7.5. Aprovado = 1 se a classificação >= 10, senão Aprovado = 0

8. Indique se as seguintes instruções são ou não possíveis e justifique. a) insert into aluno(numero, nome, telefone) values('a000001', 'Sandra', '22-12345') b) insert into inscricao(aluno, disciplina, ano, semestre, aprovado, classif) values('i000111', 'BDD1', 2006, 1, 1, 18) c) insert into inscricao(aluno, disciplina, ano, semestre, aprovado, classif) values('i000001', 'BDD1', 2001, 1, 0, 18) d) insert into inscricao(aluno, disciplina, ano, semestre, aprovado, classif) values('i000001', 'BDD1', 2006, 3, 1, 7) e) insert into inscricao(aluno, disciplina, ano, semestre, aprovado, classif) values('i000003', 'BDD1', 1910, null, null, null) 9. Apague todos os registos das inscrições que tenham classificação com o valor Null 10. Insira na inscrição todas as combinações possíveis de alunos versus disciplinas para o ano

2006 e semestre 1, colocando a classificação a null e o aprovado a zero, desde que não estejam criados.

11. Altere para Aprovado = 1 todos os alunos que tenham classificação>=10 e estejam com

aprovado = 0