Você está na página 1de 7

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA

BAHIA – CAMPUS IRECÊ.


Curso Análise e desenvolvimento de sistemas
Disciplina: Análise e projeto de sistemas
Aluno (A): Gislaine Nunes Sousa

create database banco;

SET SQL_SAFE_UPDATES = 0;

create table produtos (

ID_NF int,

ID_ITEM int,

COD_PROD int,

VALOR_UNIT real,

QUANTIDADE int,

DESCONTO int

);

drop table produtos;

use banco;

select * from produtos;

insert into produtos values(1,1,1,25,10,5);

insert into produtos values (1,2,2,13.5,2,null);


insert into produtos values (1,3,3,15,2,null);

insert into produtos values (1,4,4,10,1,null);

insert into produtos values (1,5,5,30,1,null);

insert into produtos values (2,1,3,15,4,null);

insert into produtos values (2,2,4,10,5,null);

insert into produtos values (2,3,5,30,7,null);

insert into produtos values (4,1,5,30,10,15);

insert into produtos values (4,2,4,10,12,5);

insert into produtos values (4,3,1,25,13,5);

insert into produtos values (4,4,2,13.5,15,5);

insert into produtos values (5,1,3,15,3,null);

insert into produtos values (5,2,5,30,6,null);

insert into produtos values (6,1,1,25,22,15);

insert into produtos values (6,2,3,15,25,20);

insert into produtos values (7,1,1,25,10,3);

insert into produtos values (7,7,2,13.5,10,4);

insert into produtos values (7,3,3,15,10,4);

insert into produtos values (7,4,5,30,10,1);

-- questão 1 a --

Select ID_NF, ID_ITEM, COD_PROD, VALOR_UNIT from produtos

where desconto is null;

-- questão 1 b --

SELECT ID_NF, ID_ITEM, COD_PROD, VALOR_UNIT,


VALOR_UNIT-(VALOR_UNIT*(DESCONTO/100)) AS VALOR_VENDIDO
FROM produtos

WHERE DESCONTO IS NOT NULL;

-- questão 1 c--

update produtos set DESCONTO = 0

where DESCONTO is null;

-- questão 1 d --

SELECT ID_NF, ID_ITEM, COD_PROD, VALOR_UNIT,


VALOR_UNIT-(VALOR_UNIT*(DESCONTO/100))

AS VALOR_VENDIDO, QUANTIDADE * VALOR_UNIT AS VALOR_TOTAL

FROM produtos;

-- questão 1 e --

select ID_NF, QUANTIDADE * VALOR_UNIT AS VALOR_TOTAL

from produtos order by VALOR_TOTAL;

-- QUESTÃO 1 F--

select ID_NF,VALOR_UNIT-(VALOR_UNIT*(DESCONTO/100))

AS VALOR_VENDIDO

from produtos order by VALOR_VENDIDO;

-- questão 1 g --

select COD_PROD, max(QUANTIDADE)

FROM produtos;

-- questao 1 H--

select ID_NF, COD_PROD, QUANTIDADE

FROM PRODUTOS where QUANTIDADE > 10;


-- questão 1 i --

SELECT ID_NF, QUANTIDADE * VALOR_UNIT AS VALOR_TOTAL

FROM produtos where (QUANTIDADE * VALOR_UNIT) > 500 order by VALOR_TOTAL;

-- questão 1 j --

SELECT COD_PROD, AVG(DESCONTO) AS media

FROM produtos

GROUP BY COD_PROD;

SELECT COD_PROD, AVG(DESCONTO) AS media, max(DESCONTO) AS MAIOR, min(DESCONTO)


AS MENOR

FROM produtos

GROUP BY COD_PROD;

Questão 2

create database Uni;

use Uni;

create table alunos(

MAT varchar(50) not null,

nome varchar(50),

endereco varchar(50),

cidade varchar(50),

primary key(MAT)

);

create table disciplinas(

COD_DISC varchar(50) not null,


nome_disc varchar(50),

carga_hor time,

primary key(COD_DISC)

);

create table professores(

COD_PROF varchar(50) not null,

nome varchar(50),

endereco varchar(50),

cidade varchar(50),

primary key(COD_PROF)

);

create table turma(

COD_DISC varchar(50) not null,

COD_TURMA integer not null,

COD_PROF varchar(50) not null,

ANO integer not null,

horario varchar(50),

primary key(COD_DISC, COD_TURMA, COD_PROF, ANO),

foreign key(COD_DISC) references disciplinas(COD_DISC),

foreign key(COD_PROF) references professores(COD_PROF)

);

create table historico(

MAT varchar(50) not null,

COD_DISC varchar(50) not null,

COD_TURMA integer not null,

COD_PROF varchar(50) not null,

ANO integer not null,


frequencia integer not null,

nota float,

primary key(MAT, COD_DISC, COD_TURMA, COD_PROF, ANO),

foreign key(COD_DISC, COD_TURMA, COD_PROF, ANO) references turma(COD_DISC,


COD_TURMA, COD_PROF, ANO),

foreign key(MAT) references alunos(MAT)

);

insert into alunos values(2015010101, 'JOSE DE ALENCAR', 'RUA DAS ALMAS', 'NATAL');

insert into alunos values(2015010102, 'JOÃO JOSÉ', 'AVENIDA RUY CARNEIRO', 'JOÃO PESSOA');

insert into alunos values(2015010103, 'MARIA JOAQUINA', 'RUA CARROSSEL', 'RECIFE');

insert into alunos values(2015010104, 'MARIA DAS DORES', 'RUA DAS LADEIRAS',
'FORTALEZA');

insert into alunos values(2015010105, 'JOSUÉ CLAUDINO DOS SANTOS', 'CENTRO', 'NATAL');

insert into alunos values(2015010106, 'JOSUÉLISSON CLAUDINO DOS SANTOS', 'CENTRO',


'NATAL');

insert into disciplinas values('BD', 'BANCO DE DADOS', '100:00:00');

insert into disciplinas values('POO', 'PROGRAMAÇÃO COM ACESSO A BANCO DE DADOS',


'100:00:00');

insert into disciplinas values('WEB', 'AUTORIA WEB', '50:00:00');

insert into disciplinas values('ENG', 'ENGENHARIA DE SOFTWARE', '80:00:00');

insert into professores values(212131, 'NICKERSON FERREIRA', 'RUA MANAÍRA', 'JOÃO


PESSOA');

insert into professores values(122135, 'ADORILSON BEZERRA', 'AVENIDA SALGADO FILHO',


'NATAL');

insert into professores values(192011, 'DIEGO OLIVEIRA', 'AVENIDA ROBERTO FREIRE',


'NATAL');
insert into turma values('BD', 1, 212131, 2015, '11H-12H');

insert into turma values('BD', 2, 212131, 2015, '13H-14H');

insert into turma values('POO', 1, 192011, 2015, '08H-09H');

insert into turma values('WEB', 1, 192011, 2015, '07H-08H');

insert into turma values('ENG', 1, 122135, 2015, '10H-11H');

insert into historico values(2015010101, 'BD', 1, 212131, 2015, 10, 5.10);

insert into historico values(2015010102, 'BD', 2, 212131, 2015, 4, 10);

insert into historico values(2015010103, 'POO', 1, 192011, 2015, 4, 10);

insert into historico values(2015010104, 'WEB', 1, 192011, 2015, 5, 5);

insert into historico values(2015010104, 'ENG',1, 122135, 2015, 5, 6.2);

insert into historico values(2015010105, 'WEB', 1, 192011, 2015, 8, 10);

-- questao 1 a --

select A.MAT as Matricula, A.nome from alunos A join historico H on H.MAT=A.MAT

where H.COD_DISC='BD' and H.nota < 5;

-- questao 1 b --

select A.MAT as Matricula, A.nome, AVG(H.nota) from alunos A join historico H on


H.MAT=A.MAT

where H.COD_DISC='POO';

-- questao 1 c --

select A.MAT as Matricula, A.nome, H.nota from alunos A join historico H on H.MAT=A.MAT

where H.COD_DISC='POO' GROUP BY H.nota HAVING AVG(H.nota) > 6;

-- questao 1 d --

select * from alunos where cidade <> 'NATAL';

Você também pode gostar