TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O EXERCÍCIO DE FUNDAMENTOS DE BANCO DE DADOS

Por:   •  30/6/2020  •  Trabalho acadêmico  •  1.141 Palavras (5 Páginas)  •  164 Visualizações

Página 1 de 5

Exercício de Fundamentos de Banco de Dados

Nos exercícios que seguem coloque abaixo de cada exercício a linha de SQL que representa os comandos dados.

  1. Crie as tabelas que seguem e popule-as com as informações relacionadas abaixo:

create table tbandar(

  pkcodand integer not null,

  nomeand varchar (20) not null

);

create table tbapto(

  pkcodap integer not null,

  nomeap varchar (30) not null,

  valordia number (10,2) not null,

  fkcodand integer not null,

  fkcodcat integer not null,

  camas integer not null

);

create table tbcategoria(

  pkcodcat integer not null,

  nomecat varchar (20)

);

insert into tbandar(pkcodand, nomeand) values (1, 'primeiro');

insert into tbandar(pkcodand, nomeand) values (2, 'segundo');

insert into tbandar(pkcodand, nomeand) values (3, 'terceiro');

insert into tbcategoria (pkcodcat, nomecad) values (1, 'standard');

insert into tbcategoria (pkcodcat, nomecad) values (2, 'luxo');

insert into tbcategoria (pkcodcat, nomecad) values (3, 'presidencial');

insert into tbapto (pkcodap, nomeap, valordia, camas, fkcodand, fkcodcat) values (1, 'Ap101', 201.40, 3, 1, 1);

insert into tbapto (pkcodap, nomeap, valordia, camas, fkcodand, fkcodcat) values (2, 'Ap301', 10.44, 1, 3, 1);

insert into tbapto (pkcodap, nomeap, valordia, camas, fkcodand, fkcodcat) values (3, 'Ap201', 182.34, 2, 2, 1);

insert into tbapto (pkcodap, nomeap, valordia, camas, fkcodand, fkcodcat) values (5, 'Ap102', 12.45, 2, 1, 2);

insert into tbapto (pkcodap, nomeap, valordia, camas, fkcodand, fkcodcat) values (6, 'Ap202', 190.33, 2, 2, 1);

insert into tbapto (pkcodap, nomeap, valordia, camas, fkcodand, fkcodcat) values (7, 'Ap103', 44.30, 1, 1, 2);

insert into tbapto (pkcodap, nomeap, valordia, camas, fkcodand, fkcodcat) values (8, 'Ap302', 210.40, 1, 3, 2);

insert into tbapto (pkcodap, nomeap, valordia, camas, fkcodand, fkcodcat) values (9, 'Ap104', 210.40, 1, 1, 3);

insert into tbapto (pkcodap, nomeap, valordia, camas, fkcodand, fkcodcat) values (10, 'Ap203', 44.30, 4, 2, 3);

insert into tbapto (pkcodap, nomeap, valordia, camas, fkcodand, fkcodcat) values (11, 'Ap105', 75.30, 1, 1, 1);

  1. Crie as Chaves primárias e estrangeiras das tabelas acima citadas

alter table tbandar add constraint tbandarpk primary key(pkcodand);

alter table tbapto add constraint tbaptopk primary key(pkcodap);

alter table tbcategoria add constraint tbcategoriapk primary key(pkcodcat);

alter table tbapto add constraint tbaptofk foreign key(fkcodand) references tbandar (pkcodand);

alter table tbapto add constraint tbaptofk2 foreign key(fkcodcat) references tbcategoria (pkcodcat);

  1. Altere o código do Andar de todos os Aptos de 2 para 3

update tbapto x set x.fkcodand=3 where x.fkcodand=2;

  1. Altere a quantidade de camas para mais 1 cama, de todos os Aptos que seu valor de diária é superior a 15,22 e inferior a 135,33.

update tbapto x set x.camas=x.camas+1 where x.valordia>15.22 and x.valordia<135.33;

  1. Altere o nome da categoria para ‘Luxo’ a categoria de código 2

update tbcategoria x set x.nomecat='Luxo' where x.pkcodcat=2;

  1. Liste o código,  nome e valor de diária de todos os Aptos do Andar de código 3 em ordem de valor de diária

select x.pkcodap, x.nomeap, x.valordia from tbapto x where x.fkcodand=3 order by x.valordia asc;

  1. Liste o maior valor de diária dos Aptos gravados na tabela de aptos.

select max(x.valordia) from tbapto x;

  1. Liste a média de valor de diária, o menor valor de diária e a soma do total de camas dos aptos.

select avg(x.valordia), min(x.valordia), sum(x.camas) from tbapto x;

  1. Liste o código, nome, camas, diária e a divisão de valor de diárias pelo número de camas, de todos os Aptos da categoria 1 ou 4

select x.pkcodap, x.nomeap, x.camas, x.valordia, (x.valordia/x.camas) as divisao from tbapto x where fkcodcat in(1 ,4);

10)        Construa uma lista simulando mais 10% o valor de diária, juntamente como código e nome do apto.

select x.pkcodap, x.nomeap, (x.valordia+(x.valordia*0.1)) as valordiaacrescimo from tbapto x;

11)        Liste todos os Aptos que iniciam com “a” ou “b”

select x.nomeap from tbapto x where upper(x.nomeap) like upper('a%') or upper(x.nomeap) like upper('b%');

12)        Liste todos os Aptos que possuam “ar” em seu nome e valor de diária superior a 354.32

select x.nomeap from tbapto x where upper(x.nomeap) like upper('ar%') and x.valordia>354.32;

13)        Liste todos os Aptos que possuam o número de camas entre 2 e 5(inclusive) em ordem de número de camas,  e em seguida em ordem de valor de diária

        select * from tbapto x where x.camas>2 and x.camas<=5 order by x.camas, x.valordia asc;

14)        Liste o código do andar da tabela tbapto onde a soma total do valor da diária dos apto que estejam na categoria sejam superiores a 300

...

Baixar como (para membros premium)  txt (7 Kb)   pdf (210.2 Kb)   docx (129.3 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no TrabalhosGratuitos.com