BANCO DE DADOS II CONVENIÊNCIA Carolina Pedrosa 1380168 Rômulo Vitor 1380371
SITUAÇÃO PROBLEMA Conveniência Uma conveniência terá um sistema que cadastrará clientes que terá como atributo nome, CPF, telefone e e-mail. Também serão cadastrados todos os produtos com código, valor e marca. Esses produtos estarão relacionados com um fornecedor que terá como atributo CNPJ, nome da empresa, telefone e e- mail. A conveniência terá um responsável para realizar a venda dos produtos. O responsável terá como atributo CPF, nome, telefone e endereço para realizar as operações do caixa serão informados o horário de entrada e saída. MODELO DER
ESQUEMA DE TABELAS Funcionário (CPF, Nome, Salário, Telefone) Trabalha (CPF,CNPJC, HoraEntrada, HoraSaida) CPF referencia Funcionário CNPJC referencia Conveniência Conveniência (CNPJC, NomeEmpresa, NomeDono, E-mail) Produtos (Código, Valor, Marca) Fornece (DataCompra, Código, CNPJF,Código) CNPJC referencia Conveniência CNPJF referencia Fornecedor Fornecedor (CNPJF, NomeEmpresa, Telefone, E-mail) Cliente (CPFC, E-mail, Telefone, Nome) Compra (CPFC, Código, Dia, Quantidade) CPFC referencia Cliente Código referencia Produto CRIAÇÃO DE TABELA E INSERÇÃO create table Funcionario( nome varchar (15) not null, cpf varchar(11) not null, telefone varchar(10), email varchar(15) not null, salario float not null, primary key (cpf) create table Trabalha( cpf varchar(11) not null, cnpjc varchar(11) not null, horaentrada int not null, horasaida int not null, primary key(cpf,cnpjc),
FOREIGN key(cpf) REFERENCES Funcionario(cpf), FOREIGN key(cnpjc) REFERENCES Conveniencia(cnpjc) create table Conveniencia ( cnpjc varchar(11) not null, nomeempresa varchar(15) not null, nomedono varchar(15) not null, email varchar (30), primary key (cnpjc) create table Cliente ( nome varchar(15) not null, cpfc varchar(11) not null, telefone varchar(11), email varchar(15) not null, primary key (cpfc) create table Compra( dia date not null, quantidade int not null, codigo int not null, cpfc varchar(11) not null, primary key(codigo,cpfc), FOREIGN key (codigo) REFERENCES Produto(codigo), FOREIGN key(cpfc) REFERENCES Cliente(cpfc) create table Produto ( codigo int not null, marca varchar(20) not null, valor float not null, primary key (codigo) create table Fornecedor ( nomeempresa varchar(20) not null, telefone varchar(10), email varchar(20),
cnpjf varchar(11) not null, primary key (cnpjf) create table Fornece( codigo int not null, cnpjf varchar(11) not null, datacompra date not null, quantidade int not null, primary key(codigo,cnpjf,datacompra), FOREIGN key(cnpjf) REFERENCES Fornecedor(cnpjf), FOREIGN key(codigo) REFERENCES Produto(codigo) INSERT INTO Funcionario(cpf,telefone,email,nome,salario) values ("123","981101227","lalalahot","askaban",200 INSERT INTO Funcionario(cpf,telefone,email,nome,salario) values ("456","981102983","larissa@14","Larissa",400 INSERT INTO Funcionario(cpf,telefone,email,nome,salario) values ("321","981717171","redhat","sirillu",500 INSERT INTO Trabalha(horaEntrada,horaSaida,cpf,cnpjc) values (8,19,"123","123456" INSERT INTO Trabalha(horaEntrada,horaSaida,cpf,cnpjc) values (6,17,"456","123456" INSERT INTO Trabalha(horaEntrada,horaSaida,cpf,cnpjc) values (14,6,"321","123456" INSERT INTO Conveniencia(cnpjc,nomeDono,email,NomeEmpresa) values ("123456","bina","olabina@","Espaço10" INSERT INTO Produto(codigo,marca,valor) values (111,"brama",50 INSERT INTO Produto(codigo,marca,valor) values (222,"salgadinho",40 INSERT INTO Produto(codigo,marca,valor) values (333,"coca-cola",80 INSERT INTO Fornecedor(nomeEmpresa, telefone, email, cnpjf) values ("IFRefri","99156791","guarana@@","000" INSERT INTO Fornecedor(nomeEmpresa, telefone, email, cnpjf) values ("IFSalgado","99156895","guarana@@","777" INSERT INTO Fornece(dataCompra,codigo,cnpjf,quantidade) values ("2012-04- 01","111","000",30
INSERT INTO Fornece(dataCompra,codigo,cnpjf,quantidade) values ("2012-04- 01","222","777",50 INSERT INTO Fornece(dataCompra,codigo,cnpjf,quantidade) values ("2012-04- 01","333","000",100 INSERT INTO Cliente(nome,cpfc,telefone,email) values ("jowshao",987,"819817","jowshao@@hot" INSERT INTO Cliente(nome,cpfc,telefone,email) values ("filirpino",654,"819816","filirpino@@hot" INSERT INTO Compra(dia,codigo,cpfc,quantidade) values ("12-08- 02",111,"987",10 INSERT INTO Compra(dia,codigo,cpfc,quantidade) values ("13-08- 02",222,"987",5 INSERT INTO Compra(dia,codigo,cpfc,quantidade) values ("14-08- 02",333,"654",3 INSERT INTO Compra(dia,codigo,cpfc,quantidade) values ("12-08- 02",111,"654",2 CONSULTAS 1) Forneça o nome e CPF de todos os funcionários que trabalha na conveniência Espaço10. select nome, cpf from funcionario,conveniencia where Conveniencia.nomeEmpresa = "Espaço10"; 2) Forneça o nome e CPF de todos os funcionários que trabalha na conveniência Espaço10 e a sua entrada para trabalhar é 6h. select Funcionario.nome, funcionario.cpf from Funcionario, Conveniencia,Trabalha where Conveniencia.nomeEmpresa = "Espaço10" and Funcionario.cpf = Trabalha.cpf and Trabalha.cnpjc = Conveniencia.cnpjc and Trabalha.horaEntrada=6; 3) Forneça todos os nomes e CPF dos clientes que compraram o produto que tem o código 333 no dia 02-08-2014.
select Cliente.nome, Cliente.cpfc, Compra.dia from Cliente,Compra where Cliente.cpfc = Compra.cpfc and Compra.codigo = 333; 4) Forneça o nome do fornecedor e a quantidade fornecida do produto com o código 333. select Fornecedor.nomeEmpresa, Fornecedor.telefone from Fornecedor,Fornece,Produto Where Produto.codigo = 333 and Produto.codigo = Fornece.codigo; 5) Forneça o nome e salário dos funcionários que receba acima de 300 reais e ordene por nome. select Funcionario.nome,Funcionario.salario from Funcionario, Trabalha, Conveniencia where Funcionario.cpf = Trabalha.cpf and Trabalha.cnpjc = Conveniencia.cnpjc and salario > 300 order by(funcionario.nome 6) Forneça nome da empresa e CNPJ dos fornecedores que entregam a cima de 50 itens de produtos. select Fornecedor.nomeEmpresa, Fornecedor.cnpjf from Fornecedor, Fornece where Fornecedor.cnpjf = Fornece.cnpjf and quantidade > 50 Group by(fornecedor.nomeempresa 7) Forneça o nome, CPF, salário do funcionário com o CPF 123. select Funcionario.nome, Funcionario.cpf, Funcionario.salario from Funcionario, Trabalha, Conveniencia where Funcionario.cpf = "123" and Trabalha.cpf =Funcionario.cpf and Trabalha.cnpjc and Trabalha.cnpjc; 8) Forneça o código e marca de produtos cuja compra foi efetuada no dia 2012-08-02. select DISTINCT Produto.codigo, Produto.marca from Produto, Compra where Produto.codigo = Compra.codigo and Compra.dia = "12-08-02";
9) Forneça o nome e CPF do funcionário que tenha o maior salário. select Funcionario.nome, Funcionario.cpf,MAX(Funcionario.salario) from Funcionario, Trabalha, Conveniencia where Funcionario.cpf = Trabalha.cpf and Trabalha.cnpjc = Conveniencia.cnpjc; 10) Forneça a soma dos salários de todos os funcionários. select SUM(Funcionario.salario) from Funcionario, Trabalha, Conveniencia where Funcionario.cpf = Trabalha.cpf and Trabalha.cnpjc = Conveniencia.cnpjc;