#1 Exercícios/exemplos básicos de SQL usando o pgAdmin/postgreSQL

  1. Construir as tabelas para o seguinte esquema:
    Fornecedor(codigo, nome, cidade;
    Venda(codPeca, codForn, quantidade, data);
    Peca(codPeca, nome, descricao);

Restrições:
Nome da peça não pode ser nulo
Quantidade tem que ser maior que 0

create table Fornecedor(
   codigo int primary key,
   nome varchar(100),
   cidade varchar(100)
);
create table Peca(
  codPeca int primary key,
  nome varchar(50) not null,
  descricao varchar(300)
);
create table Venda(
  codPeca int not null,
  codForn int not null,
  quantidade int check (quantidade > 0),
  data date,
  constraint fk_codPeca foreign key (codPeca) references Peca(codPeca),
  constraint fk_codFunc foreign key (codForn) references Fornecedor(codigo)
);

Inserções para testar:

insert into Peca values (1, NULL, 'Peca nenhuma');
insert into Peca values (1, 'Chave de fenda', 'Chave de aperta parafusos.');
insert into Fornecedor values (1, 'Fernando Pinho', 'Ribeirão Preto - SP');
insert into Venda values(1, 1, 0, '2017-09-16');
insert into Venda values(1, 1, -10, '2017-09-16');
insert into Venda values(1, 1, 10, '2017-09-16');
insert into Venda values(1, 10, 10, '2017-09-16');

2. Construir as tabelas para o seguinte esquema:

Aluno(Nome, RA, Idade, DataNasc)
Professor (Nome, NFunc, Idade, Titulação)
Disciplina(Sigla, Nome, NCred, NFunc, Livro)
Turma(Sigla, Numero, NAlunos)
Matrícula(Sigla, Numero, RA, Ano, Nota)

create table Aluno(
   nome varchar(30) not null,
   RA int,
   idade int,
   dataNasc date,
   constraint Pk_RA primary key(RA)
);

create table Professor(
nome varchar(50) not null,
nFunc int,
idade int,
titulacao varchar (30),
primary key(nFunc)
);

create table Disciplina(
sigla varchar(10),
nome varchar(50),
nCred int,
nFunc int,
livro varchar(100),
primary key(sigla),
constraint fk_nfunc foreign key (nFunc) references Professor(nFunc)
);

create table Turma(
sigla varchar(10),
numero int,
primary key(numero),
constraint fk_sigla foreign key(sigla) references Disciplina(sigla)
);

create table Matricula(
sigla varchar(10),
numero int,
ra int,
ano date,
nota float,
primary key(sigla, numero, ra, ano),
constraint fk_sigla foreign key (sigla) references Disciplina(sigla),
constraint fk_numero foreign key (numero) references Turma(numero),
constraint fk_ra foreign key (ra) references Aluno(ra)
);

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *