Trabalho banco de dados i
Universidade Luterana do Brasil (Ulbra) – Curso de Ciência da Computação – Campus Canoas
Av. Farroupilha, 8.001 – Bairro São Luís – CEP 92420-280 – Canoas – RS
1 CRIAÇÃO DAS TABELAS E SEQUENCES
-- Criação dos sequences create sequence sqHistoricoSalario increment by 1 start with 1; create sequence sqVenda increment by 1 start with 1;
-- Criação das Tabelas create table Departamento( codDept number constraint pkDepartamento primary key not null, nomeDepartamento varchar2(100) );
create table Empregado ( codEmpregado number constraint pkEmpregado not null primary key, nomeEmpregado varchar2(100), codDept number constraint fkDepartamento references departamento, salario number(10,2), dataAdmissao date );
create table TipoProd ( codTipoProd number constraint pkTipoProd primary key not null, descricaoTipoProd varchar2(50) );
create table Produto ( numeroProd number constraint pkProduto primary key not null, codigoTipoProd number constraint fkTipoProd references TipoProd, descricaoProd varchar2(100) );
create table Venda ( numeroNF number constraint pkVenda primary key not null, dataVenda date, codEmpregado number constraint fkEmpregado references Empregado );
create table ItemVenda( numeroNF number constraint fkVenda references venda, numeroProd number constraint fkProduto references Produto, codTipoProd number constraint fkTipoProduto references Tipoprod, qtdeItem number, precoItem number(10,2) );
-- Tabela que armazena o histórico dos salarios novos e antigos. create table HistoricoSalario( id number constraint pkid not null primary key, codEmpregado number constraint fkEmpregadoHistoricoSalario references Empregado, salarioAntigo number(10,2), salarioNovo number(10,3) );
2 Solução dos Exercícios
--1a
-- Função insere venda na tabela de vendas e retorna a quantidade de registros inseridos
create or replace function insereVenda (dataVenda