Buscar

gabarito_lista_sql-ddl

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Laboratório de Banco de Dados – Prof. Luiz Vivacqua 
Gabarito da lista de SQL-DDL 
 
1. Criar as tabelas Aluno, Disciplina, Historico e Professor definindo 
SOMENTE as restrições de chave primária.(campos sublinhados). 
 
CREATE TABLE aluno 
( 
 matricula NUMERIC(4) NOT NULL, 
 nome VARCHAR(20), 
 escola VARCHAR(20), 
 CONSTRAINT aluno_pkey PRIMARY KEY (matricula ) 
); 
 
CREATE TABLE disciplina 
( 
 codigo character(5) NOT NULL, 
 nome VARCHAR(20), 
 registro CHAR(5), 
 escola VARCHAR(20), 
 CONSTRAINT disciplina_pkey PRIMARY KEY (codigo ) 
); 
 
CREATE TABLE historico 
( 
 matricula NUMERIC(4) NOT NULL, 
 codigo character(5) NOT NULL, 
 nota numeric(3,1), 
 CONSTRAINT pk_h PRIMARY KEY (matricula , codigo ) 
); 
 
 
CREATE TABLE professor 
( 
 registro character(5)NOT NULL, 
 nome VARCHAR(20), 
 admissao integer, 
 CONSTRAINT professor_pkey PRIMARY KEY (registro ) 
); 
 
2. Alterar a tabela Aluno, adicionando uma coluna telefone char (8). 
 
ALTER TABLE ALUNO ADD TELEFONE CHAR(8); 
 
3. Alterar a tabela Aluno excluindo a coluna telefone. 
 
ALTER TABLE ALUNO DROP TELEFONE; 
4. Criar os relacionamentos (FOREIGN KEY) entre a tabela Historico e as 
tabelas Aluno e Disciplina. 
 
ALTER TABLE HISTORICO ADD CONSTRAINF FK_ALUNO FOREIGN 
KEY(MATRICULA) REFERENCES ALUNO(MATRICULA); 
 
ALTER TABLE HISTORICO ADD CONSTRAINF FK_DISC FOREIGN 
KEY(CODIGO) REFERENCES DISCIPLINA(CODIGO); 
 
5. Criar uma restrição que não permita notas menores que zero. 
 
ALTER TABLE HISTORICO ADD CONSTRAINT CHK_NOTA 
CHECK(NOTA>=0); 
 
6. Criar um índice para a coluna nota na tabela Historico. 
 
 CREATE INDEX IND_NOTA ON HISTORICO(NOTA); 
 
7. Criar um índice hash para a coluna nome na tabela Professor. 
 
 CREATE INDEX IND_NOME ON PROFESSOR USING HASH(NOME); 
 
8. Excluir os índices criados. 
 
 DROP INDEX IND_NOTA; 
 DROP INDEX IND_NOME; 
 
9. Excluir as Tabelas criadas. 
 
 DROP TABLE HISTORICO; 
 DROP TABLE ALUNO; 
 DROP TABLE PROFESSOR; 
 DROP TABLE DISCIPLINA;

Outros materiais