Sie sind auf Seite 1von 14

Curso: TADS/SI Disciplina: Programao em Banco de Dados Professor: Hlio de Sousa Lima Filho

Nota:

Turma:

Modelo de Prova: (A)

Data: Belo Horizonte, 02 de abril de 2013 Aluno (a): Maria Romualdo -2504013620 Maria das Graa Ribeiro - 118604327

Valor: 1,0 ponto

Tipo de Avaliao: Estudo de Aprendizado II

Aplicao de comandos SQL-DDL create database aprendII; use aprendII Create table uniforme ( id int not null, tipo varchar (45), cor varchar (45), equipe_idequipe int, ) create table diretor ( id int not null, nome varchar (45), equipe_idequipe int not null, ) create table equipe ( idequipe int not null, nome varchar(45), estado char (2), tipo varchar(45), saldo_gols int not null, ) create table jogador ( idjogador int not null, nome varchar(45), datanacimento datetime, naturalidade varchar(45), idequipe int not null, cpf varchar (11) ) create table partida ( id int not null, data datetime, gols_equipe1 int, gols_equipe2 int, local varchar (45),

idequipe1 int not null, idequipe2 int not null, ) create table Posicao ( id int not null, posicao varchar(45), jogador_idjogador int not null, ) 1.1.1.2 e 1.1.1.3 alter table uniforme add constraint pk_id primary key (id); alter table diretor add constraint pk_idd primary key (id); alter table equipe add constraint pk_idequipe primary key (idequipe); alter table jogador add constraint pk_idjogador primary key (idjogador); alter table posicao add constraint pk_idposicao primary key (id); alter table partida add constraint pk_idpartida primary key (id); Alter table uniforme add constraint fk_id foreign key (equipe_idequipe) references equipe (idequipe); alter table diretor add constraint fk_equipe_idequipe foreign key (equipe_idequipe) references equipe (idequipe); alter table jogador add constraint fk_jogador_equipe foreign key (idequipe) references equipe (idequipe); alter table posicao add constraint fk_posicao_jogador foreign key (jogador_idjogador) references jogador (idjogador); alter table partida add constraint fk_pardida_equipe key (idequipe1) references equipe (idequipe); alter table partida add constraint fk_pardida_equipe2 key (idequipe2) references equipe (idequipe); foreign

foreign

Aplicao de comandos SQL-DML select * from equipe select * from equipe, uniforme where uniforme.tipo='titular' and equipe.estado='mg'; select j.nome,j.naturalidade,e.nome,e.estado,P.posicao from jogador j,equipe e,Posicao p where (e.idequipe=p.id) order BY e.nome; select avg(saldo_gols) from equipe order BY estado; select avg(saldo_gols) from equipe GROUP BY nome,estado; select avg(saldo_gols)from equipe where (saldo_gols>3 and saldo_gols<10) order by nome,estado select avg(saldo_gols) from equipe where (saldo_gols>=1) GROUP BY estado; select jogador.cpf, jogador.nome, jogador.naturalidade from jogador where EXTRACT(YEAR FROM jogador.datanascimento)=1980;

SELECT cpf, nome, naturalidade from jogador where (datanacimento<='31-12-1982'and CURRENT_DATE); SELECT equipe.nome, equipe.* from partida, equipe;

select max((saldo_gols) from equipe; select min(saldo_gols) from equipe;

select count(*) from equipe group by idEquipe;

select posicao, COUNT(*) id from Posicao

group by posicao

select * from partida where data='06-05-2013'

select equipe.nome, uniforme.cor, uniforme.tipo from equipe, uniforme; select equipe.nome, uniforme.cor, uniforme.tipo from equipe, uniforme where nome='Atletico' select posicao.posicao, max(posicao.jogador_idjogador) from posicao ; select equipe.nome, uniforme.cor from equipe, uniforme WHERE uniforme.tipo='titular'; select count(partida.idequipe1) as mandante, count(partida.idequipe2) as visitante from partida;

select count(partida.id) as visitante from partida where partida.gols_equipe2>partida.gols_equipe1; select count(partida.id) as mandante from partida where partida.gols_equipe2<partida.gols_equipe1; select count(partida.id) as empate from partida where partida.gols_equipe2=partida.gols_equipe1; select diretor.nome,uniforme.cor,equipe.nome, count(partida.id) as numPartidas from diretor, uniforme, equipe, partida group by partida.id

select diretor.nome as nomeDiretor, uniforme.cor as corUniforme,count(partida.id) as numPartidas from diretor, uniforme, equipe, partida where partida.gols_equipe2<partida.gols_equipe1;

1. Exerccios sobre DDL e DML create database empresa; use empresa; create table cliente

( id int not null primary key, nome varchar(45), endereco varchar (45), telefone int, cidade varchar(45), uf varchar(2))

insert into cliente (id, nome, endereco , telefone, cidade, values (1,' Fabiana ','Av. dos Andradas ,61',32293229,'Belo Horizonte', 'MG'); insert into cliente (id, nome, endereco , telefone, cidade, values (2,'Carla','Av Antonio Carlos, 1589',32267676,'Belo Horizonte','MG'); insert into cliente (id, nome, endereco , telefone, cidade, values (3,'Alonso','Rua dos Guajajars, 290',32152514,'Ouro Preto','MG'); insert into cliente (id, nome, endereco , telefone, cidade, values (4,'Asdrubal','Rua da Bahia, 290',32165498,'Ribeiro Neves','MG'); insert into cliente (id, nome, endereco , telefone, cidade, values (5,'Gustavo','Av. Cristiano Machado, 4021',21522541, 'Maceio','AL'); insert into cliente (id, nome, endereco , telefone, cidade, values (6,'Paula','Av. Carlos Luz, 2091',25896325,'Pindamonhagaba','SP'); select * from cliente; select cliente.nome, cliente.endereco from cliente;

uf) uf) uf) uf) das uf) uf)

select cliente.nome from cliente where cliente.cidade = 'Belo Horizonte' ; select distinct cliente.cidade from cliente ; select cliente.nome from cliente where cliente.endereco like '%Av%'; select cliente.nome from cliente where cliente.endereco like '%Rua%'; select cliente.nome from cliente where cliente.nome like '%o%' ; select * from cliente order by cliente.nome;

select cliente.cidade, count(*) as clientes by cliente.cidade; select cliente.uf, count(*) as clientes cliente.uf; create table armazenarSaldo ( id int not null, valor decimal (8,2), idcliente int, primary key (id)); key(idcliente) references cliente(id); insert values insert values insert values insert values insert values insert values into armazenarSaldo (1 ,-10, 4); into armazenarSaldo (2 ,12.5 ,3); into armazenarSaldo (3 ,22.75, 2); into armazenarSaldo (4, 135.80,1); into armazenarSaldo (5 ,-1.02 ,6); into armazenarSaldo (6 ,20.22 ,5);

from

cliente group

from

cliente group by

(id, valor, idCliente) (id, valor, idCliente) (id, valor, idCliente) (id, valor, idCliente) (id, valor, idCliente) (id, valor, idCliente)

select cliente.nome, armazenarSaldo.valor from cliente, armazenarSaldo; select cliente.nome, cliente.endereco, armazenarSaldo.valor from cliente, armazenarSaldo; select cliente.cidade ,sum(armazenarSaldo.valor) from armazenarSaldo, cliente where cliente.cidade = 'Belo Horizonte' group by cliente.cidade; select cliente.uf ,sum(armazenarSaldo.valor) from armazenarSaldo, cliente where cliente.uf = 'MG' group by cliente.uf;

select cliente.nome, cliente.endereco,armazenarSaldo.valor from cliente,armazenarSaldo order by cliente.nome; select cliente.nome, armazenarSaldo.valor from cliente ,armazenarSaldo where (armazenarSaldo.valor >= 0) order by cliente.nome

select cliente.nome, armazenarSaldo.valor from cliente ,armazenarSaldo where (armazenarSaldo.valor < 0) order by cliente.nome,

select cliente.nome, armazenarSaldo.valor from cliente , armazenarSaldo where armazenarSaldo.valor< 200 and armazenarSaldo.valor > 20 order by armazenarSaldo.valor; select c.uf, a.valor from cliente c, armazenarSaldo a where a.valor < 0 order by a.valor; select c.uf,sum (a.valor) from cliente c, armazenarSaldo a where a.valor >20 group by c.uf; select c.uf, avg(a.valor) from cliente c, armazenarSaldo a group by c.uf ;

select c.cidade, avg(a.valor) from cliente c, armazenarSaldo a group by c.cidade ; select c.uf, max(a.valor) as maior, min(a.valor) as menor, avg(a.valor)as media from cliente c, armazenarSaldo a group by c.uf ; select c.cidade, max(a.valor) as maior, min(a.valor) as menor, avg(a.valor)as media from cliente c, armazenarSaldo a group by c.cidade;

select c.nome, max(a.valor) as maiorSaldo from cliente c, armazenarSaldo a group by c.nome;

select c.uf, max(a.valor) as menorSaldo from cliente c, armazenarSaldo a group by c.uf; select c.uf, min(a.valor) as menorSaldo from cliente c, armazenarSaldo a group by c.uf; select c.nome, min(a.valor) as menorSaldo from cliente c, armazenarSaldo a group by c.nome; select distinct count(c.id)as saldoPositivo from cliente c, armazenarSaldo a where a.valor>0 group by c.nome , c.id;

select distinct count(c.id)as saldoPositivo from cliente c, armazenarSaldo a where a.valor>20 group by c.nome , c.id;

2. Exerccios sobre DDL e DML create database curso; use curso; create table turno ( id int, primary key (id), descricao varchar(255)); create table cursos ( id int, primary key (id), descricao varchar(255), idturno int, FOREIGN KEY (idturno) REFERENCES turno(id) ); create table alunos (id int, primary key (id), nome varchar(45), nascimento date, idcurso int, FOREIGN KEY (idcurso) REFERENCES cursos(id)); create table disciplinas (id int, primary key (id), idcurso int, FOREIGN KEY (idcurso) REFERENCES cursos(id), descricao varchar(255), periodo varchar(45), cargahoraria varchar(45)); create table etapas (

id int primary key , descricao varchar(255), valor decimal (8,2)); create table matriculas ( id int primary key, idcurso int, FOREIGN KEY (idcurso) REFERENCES cursos(id), iddisciplina int, FOREIGN KEY (iddisciplina) REFERENCES disciplinas(id), semestre int, ano int, idaluno int, FOREIGN KEY (idaluno) REFERENCES alunos(id) ); create table notas (id int primary key, idcurso int, FOREIGN KEY (idcurso) REFERENCES cursos(id), iddisciplina int, FOREIGN KEY (iddisciplina) REFERENCES disciplinas(id), semestre int, ano int, idaluno int, FOREIGN KEY (idaluno) REFERENCES alunos(id), etapa int, nota decimal (8,2) ); create table frequencias (id int primary key, idcurso int, FOREIGN KEY (idcurso) REFERENCES cursos(id), iddisciplina int, FOREIGN KEY (iddisciplina) REFERENCES disciplinas(id), semestre int, ano int, idaluno int, FOREIGN KEY (idaluno) REFERENCES alunos(id), etapa int, faltas int ); create table monitorias (id int primary key, idcurso int, FOREIGN KEY (idcurso) REFERENCES cursos(id), semestre int, ano int, iddisciplina int, FOREIGN KEY (iddisciplina) REFERENCES disciplinas(id), idaluno int, FOREIGN KEY (idaluno) REFERENCES alunos(id), dataentrada datetime, horainicio int, horafim int); alter table turno,cursos,alunos,disciplinas,etapas,matriculas,notas ,frequencias,monitorias change column id id int not null; alter table alunos add nomes varchar(50) not null;

alter null; alter null; alter null; alter null;

table table table table

turno alter column cursos alter column

descricao varchar(50) not descricao varchar(50) not

disciplinas alter column etapas alter column

descricao varchar(50) not not

descricao varchar(50)

alter table null; alter table alter table alter table

disciplinas alter column cargahoraria

int not

disciplinas alter column periodo int(10) not null ; etapas alter column valor decimal(8,2) not null ; etapas add constraint ckswxo check (valor<=100 );

alter table matriculas add constraint cksemestre check (semestre in (1,2)) alter table notas add constraint cksemestre_notas check (semestre in (1,2)) alter table frequencias add constraint cksemestre_frequencias check (semestre in (1,2)) alter table monitorias add constraint cksemestre_monitorias check (semestre in (1,2))

alter table matriculas add constraint ckano check (ano in (1950,9999)) alter table notas add constraint ckano_notas check (ano in (1950,9999)) alter table frequencias add constraint ckano_frequencias check (ano in (1950,9999)) alter table monitorias add constraint ckano_monitorias check (ano in (1950,9999))

alter table (etapa>0);

frequencias add constraint

ckano_etapa check

alter table (faltas>0);

frequencias add constraint ckfaltas check

insert into turno (id,descricao) values (1,'Matutino'); insert into turno (id,descricao) values (2,'Vespertino'); insert into turno (id,descricao) values (3,'Noturno');

insert into cursos (id, descricao, idturno) values(1,'Sistemas de Informao',3); insert into cursos (id, descricao, idturno) values(2,'Tec. Anlise e Desenvolvimento de Sistemas',3);

insert into alunos (id, nome, nascimento, idcurso) values (1,'Joo das Couves',null,1); insert into alunos (id, nome, nascimento, idcurso) values (2,'Jos das Taiobas',null,1); insert into alunos (id, nome, nascimento, idcurso) values (3,'Maria do Almeiro',null,1); insert into alunos (id, nome, nascimento, idcurso) values (4,'Sebastio das Batatas',null,1); insert into alunos (id, nome, nascimento, idcurso) values (5,'Joaquim das Alfaces',null,2); insert into alunos (id, nome, nascimento, idcurso) values (6,'Josefina dos Tomates',null,2);

insert into disciplinas (id, idcurso, descricao, periodo, cargahoraria) values (1,2,'Banco de Dados',5,40); insert into disciplinas (id, idcurso, descricao, periodo, cargahoraria) values (2,2,'Programao em Banco de Dados',3,40); insert into disciplinas (id, idcurso, descricao, periodo, cargahoraria) values (3,2,'PMA',6,20); insert into disciplinas (id, idcurso,descricao, periodo, cargahoraria) values (4,2,'Engenharia de Software ',7,20); insert into disciplinas (id, idcurso, descricao, periodo, cargahoraria) values (5,1,'Programao Orientada a Objetos',8,40); insert into disciplinas (id, idcurso, descricao, periodo, cargahoraria) values (6,1,'Sistemas de Banco de Dados ',2,60); insert into disciplinas (id, idcurso, descricao, periodo, cargahoraria) values (7,1,'TCC',8,120);

insert into matriculas (id, idcurso, semestre, ano) values (1,2,'Sisteme de Informao',2,1950); insert into notas (id, idcurso, iddisciplina, semestre, ano, idaluno, etapa, nota) values(1,2,3,1,2013,5,2,84.5); insert into notas (id, idcurso, iddisciplina, semestre, ano, idaluno, etapa, nota) values(2,2,3,1,2013,6,2,57.5);

insert into frequencias (id, idcurso, iddisciplina, semestre, ano, idaluno, etapa, faltas) values (1,2,3,1,2013,5,2,7); insert into frequencias (id, idcurso, iddisciplina, semestre, ano, idaluno, etapa, faltas) values (2,2,3,1,2013,6,2,4); create view vw_disciplinas_si as select id, descricao, periodo, cargahoraria from disciplinas where idcurso = 1;

create view vw_disciplinas_tads as select id, descricao, periodo, cargahoraria from disciplinas where idcurso = 2;

create view vw_estatistica_etapa1 as select idcurso, iddisciplina, semestre, ano, avg(nota) as mdia, max(nota) as maiorNota, min(nota) as menorNota from notas where etapa = 1;

create view vw_estatistica_etapa2 as

select idcurso, iddisciplina, semestre, ano, avg(nota) as mdia, max(nota) as maiorNota, min(nota) as menorNota from notas where etapa = 2;

create view vw_estatistica_etapa3 as select idcurso, iddisciplina, semestre, ano, avg(nota) as mdia, max(nota) as maiorNota, min(nota) as menorNota from notas where etapa = 3; create view vw_nota_final as select idcurso, iddisciplina, semestre, ano, idaluno, sum(nota) from notas group by idaluno;

3. Exerccios sobre DDL e DML create database jornal; use jornal; create table editora ( id int primary key, responsavel varchar (45), revisor varchar(45), supervisro varchar (45)) create table jornal (id int primary key, tiulo varchar (45), estilo varchar(45), data date, editorchefe varchar (45), ideditorial int, constraint fk_jonal_editorial FOREIGN KEY (ideditorial) REFERENCES editora(id)) create table jornalista ( id int primary key, nome varchar (45), email varchar (45), cpf varchar (11),

fone varchar (10), celulcar varchar (10), especialidade varchar (45)) create table noticia ( id int primary key, tempo time, classificacao char (1), tipomidia char(1), assunto varchar (45), titulo varchar (45), idjornal int, jornalista_id int constraint fk_noticia_jonal FOREIGN KEY (idjornal) REFERENCES jornal(id), constraint fk_noticia_jonalista FOREIGN KEY (jornalista_id) REFERENCES jornalista(id)) select nome as nome from jornalista select nome as nome, responsavel as responsavel from jornalista,editora select assunto as assunto, titulo as titulo , nome as nome, responsavel as responsavel from jornalista,editora,jornal,noticia create table artigo ( id int primary key, titulo_artigo varchar(45), id_jornal int, id_jornalista int, constraint fk_artigo_jonal FOREIGN KEY (id_jornal) REFERENCES jornal(id), constraint fk_artigo_jonalista FOREIGN KEY (id_jornalista) REFERENCES jornalista(id))

Das könnte Ihnen auch gefallen