Partilhar: WhatsApp
aulify
UC UC02830 · T. Desenv. Software, T. Inform. Gestão

Ficha 01 · DDL e DML

Criar tabelas, inserir, actualizar, apagar
Versão · Aluno
Tempo · 60 minutos
Cotação · 100 pontos
Aluno(a)
Turma
Data
Objectivos da ficha

Parte I · DDL

Exercício 1 · Criar tabela (15 pts)

Escreve CREATE TABLE Aluno com: - id PK auto-increment. - numero único, 10 caracteres, não nulo. - nome 150 caracteres, não nulo. - email único, 150 caracteres. - idade CHECK >= 0 e <= 25. - data_inscricao data com default hoje.

Exercício 2 · ALTER (15 pts)

Para a tabela do exercício 1, escreve comandos para:

a) Adicionar coluna telefone VARCHAR(20).

b) Mudar nome para 200 caracteres.

c) Adicionar índice no email.

d) Adicionar FK para Turma(id) na coluna turma_id (criar coluna primeiro).

Parte II · INSERT

Exercício 3 · Inserir dados (15 pts)

Considerando a tabela Aluno, escreve:

a) INSERT de 1 aluno. b) INSERT de 3 alunos numa única instrução. c) INSERT que copia todos os alunos de AlunoArquivo para Aluno.

Exercício 4 · Detectar erro (10 pts)

Esta query dá erro:

INSERT INTO Aluno (nome, email) VALUES ('Ana', 'ana@ex.pt');

Porquê?

Parte III · UPDATE / DELETE

Exercício 5 · UPDATE seguro (15 pts)

a) Como confirmar que UPDATE só vai afectar as linhas certas, antes de o executar?

b) Escreve UPDATE que adiciona "Silva" ao nome de todos os alunos chamados "Ana" (AnaAna Silva).

Exercício 6 · DELETE perigoso (10 pts)

Qual a diferença entre estes três comandos? Qual é destrutivo?

DELETE FROM Aluno WHERE id = 5;       -- (a)
DELETE FROM Aluno;                     -- (b)
TRUNCATE TABLE Aluno;                  -- (c)

Parte IV · Cenário

Exercício 7 · Esquema completo (20 pts)

Escreve SQL completo para criar um esquema de biblioteca:

Inclui restrições apropriadas e acções referenciais.