Laboratório de Banco de Dados Exercícios

Propaganda
Laboratório de Banco de Dados
Exercícios:
1 ) Considere os comandos da DDL
CREATE TABLE aluno (
matricula INTEGER,
nome VARCHAR(40),
sexo VARCHAR(1));
CREATE TABLE professor (
matricula INTEGER,
nome VAR CHAR(40),
data_admissao DATE);
CREATE TABLE disciplina (
codigo INTEGER,
nome VAR CHAR(15),
carga_horaria INTEGER,
matric_professor INTEGER);
CREATE TABLE cursa (
codigo INTEGER,
matricula INTEGER,
nota INTEGER);
a)Redefina a criação do banco empregando constraint para definição das chaves primárias e
estrangeiras.
b)Crie o modelo no postgres
2 ) Considerando os comandos em SQL abaixo:
a)Quais os comandos são executados com sucesso. Justifique caso haja impedimento
na execução
b) Em que ordem as tabelas devem ser criadas justifique sua resposta
Create table tabA (
A1 integer,
A2 char(3) unique,
B1 integer)
Create table tabB (
B1 integer,
B2 date,
B3 varchar not null)
Create table tabC (
C1 integer not null,
C2 decimal (5,2),
C3 integer,
Primary Key (C1))
Create table tabD (
D1 integer not null,
D2 varchar (30),
D3 numeric (5,2),
C1 integer
Constraint PK_d Primary Key (D),
Constraint UN_d3 unique (D3),
Constraint FK_d Foreing Key (C1) references tabC (C1) on delete cascade)
OBS: Considere que os comandos são executados nesta ordem.
insert into tabA values (3, ‘ferro’, 5)
insert into tabA (A1, A2, A3) values (3, ‘AZX’, 4)
insert into tabB (B1, B2) values (5, ‘2006-10-21’)
insert into tabB (B1, B3) values (5, ‘876)
insert into tabC values (1, 10.5,7)
insert into tabC values (1,10-8, 57)
insert into tabD values (1, ‘Sidney’, 185.3, 3)
insert into tabD values (1, ‘Ze’, 18-88, 1)
delete from tabC where C2=10.5
3 ) Considere os comandos da DDL
a) Create table funcionario(
matr integer not null,
nome varchar(30),
cod_depto integer not null,
Primary Key(matr),
Foreing key(cod_depto) references depto(codigo) on delete cascade)
Create table depto(
codigo integer,
nome varchar(30),
sigla varchar(5),
matr_chefe integer,
Primary Key(codigo),
Constraint UK_SIGLA unique (sigla),
Foreing key(matr_chefe) references funcionario(matr) on delete cascade)
a1) Faça um modelo conceitual que represente o esquema
a2) Cria uma instancia para o banco de dados
a3) Por que não é possível criar estas tabelas em um banco de dados ? Qual a solução?
Download