Baixe o app para aproveitar ainda mais
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;
Compartilhar