Você está na página 1de 10

Modelo Relacional (Questão 2 e 3)

Código (Questão 3 e 4)

/* -------- Criação -------- */

/* 21/12/2017 (quinta feira)*/

/* Ordem: SALA, FILME, SESSAO, MAQUINA, CLIENTE, ATENDENTE,


INGRESSO, LANCHE, TELEFONES, ENDEREÇOS */

create database if not exists cinema;

use cinema;

create table sala (


id int auto_increment, /*chave primaria*/
numero_lugares int not null,
tipo_sala varchar(45) not null check (sala in ('Convencional', 'Cinépic')),

primary key (id)


);

create table filme (


id int auto_increment, /*chave primaria*/
titulo varchar(45) not null,
duracao int not null, /*Em minutos*/
sinopse varchar(1000) not null,
classificacao int not null check (classificacao in (0, 10, 12, 14, 16, 18)),
genero varchar (45) not null check (genero in ('Ação', 'Animação', 'Aventura',
'Chanchada', 'Comédia', 'Cinema catástrofe', 'Comédia romântica', 'Comédia dramática',

'Comédia de ação', 'Cult', 'Dança', 'Documentários', 'Drama', 'Espionagem', 'Erótico',


'Fantasia', 'Faroeste', 'Ficção científica',
'Guerra', 'Machinima', 'Masala', 'Musical', 'Filme noir',
'Policial', 'Pornochanchada', 'Pornográfico', 'Romance', 'Seriado',
'Suspense', 'Terror', 'Trash', 'Robologia', 'Ficção')),

primary key (id)

);

create table sessao (


id int auto_increment, /*chave primária*/
sala_id int not null, /*chave estrangeira e primária*/
filme_id int not null, /*chave estrangeira e primária*/
horario time not null,

foreign key (sala_id) references sala (id),


foreign key (filme_id) references filme (id),
primary key (id, sala_id, filme_id)
);

create table maquina_de_lanche (


id int auto_increment, /*chave primaria*/
saldo_total float not null,

primary key (id)


);

create table cliente (


cpf varchar(15), /*chave primária*/
nome varchar(45) not null,
numero_de_pontos int not null,

primary key (cpf)


);

create table atendente (


id int auto_increment, /*chave primária*/
nome varchar(45) not null,
salario float not null,

primary key (id)


);

create table ingresso (


id int auto_increment, /*chave primária*/
preco float not null,
codigo_cadeira varchar(5) unique not null,
quant_pontos int not null check (quant_pontos in (50,75)),
cliente_cpf varchar(15) not null, /*chave estrangeira*/
sessao_id int not null,/*chave estrangeira*/
atendente_id int not null,/*chave estrangeira*/

foreign key (cliente_cpf) references cliente (cpf),


foreign key (sessao_id) references sessao (id),
foreign key (atendente_id) references atendente (id),
primary key (id)
);

create table lanche (


id int auto_increment, /*chave primaria*/
quant_pontos int not null,
preco float not null,
nome varchar(45) not null,
cliente_cpf varchar(15) not null, /*chave estrangeira*/
maquina_de_lanche_id int not null, /*chave estrangeira*/

foreign key (cliente_cpf) references cliente (cpf),


foreign key (maquina_de_lanche_id) references maquina_de_lanche (id),
primary key (id)
);

create table telefone_atendente (


telefone varchar(15), /*chave primaria*/
atendente_id int, /*chave estrangeira e primaria*/

foreign key (atendente_id) references atendente (id),


primary key (telefone, atendente_id)
);

create table endereco_atendente (


rua varchar(45),
numero int,
CEP varchar(15),
bairro varchar(45),
cidade varchar(45),
pais varchar(45),
atendente_id int, /*chave estrangeira e primaria*/

foreign key (atendente_id) references atendente (id),


primary key (atendente_id)
);

create table telefone_cliente (


telefone varchar(15), /*chave primaria*/
cliente_cpf varchar(15), /*chave estrangeira e primária*/

foreign key (cliente_cpf) references cliente (cpf),


primary key (telefone, cliente_cpf)
);

create table endereco_cliente (


rua varchar(45),
numero int,
CEP varchar(15),
bairro varchar(45),
cidade varchar(45),
pais varchar(45),
cliente_cpf varchar(45), /*chave estrangeira e primaria*/
foreign key (cliente_cpf) references cliente(cpf),
primary key (cliente_cpf)
);

insert into sala (numero_lugares, tipo_sala)


values
(141, 'Convencional'),
(170, 'Convencional'),
(47, 'Convencional'),
(106, 'Convencional'),
(122, 'Convencional'),
(106, 'Convencional'),
(58, 'Convencional'),
(323, 'Cinépic'),
(310, 'Cinépic'),
(340, 'Cinépic');
/* -------- Inserts -------- */
insert into filme (titulo, duracao, sinopse, classificacao, genero)
values
('A ORIGEM DO DRAGÃO', 103,
'Bruce Lee , lendário lutador de artes marciais, e seu rival, o mestre de Kung Fu
Wong Jack Man, tentam resolver suas divergências em uma luta sem regras.
O combate se tornará o mais importante e emblemático duelo da carreira do futuro
grande lutador e ator de cinema, um marco fundamental em sua trajetória.'
, 12, 'Ação'),

('LIGA DA JUSTIÇA', 133,


'Impulsionado pela restauração de sua fé na humanidade e inspirado pelo ato
altruísta do Superman (Henry Cavill), Bruce Wayne (Ben Affleck) convoca sua
nova aliada Diana Prince (Gal Gadot) para o combate contra um inimigo ainda
maior, recém-despertado. Juntos, Batman e Mulher-Maravilha buscam e recrutam
com agilidade um time de meta-humanos.'
, 12 , 'Ação'),

('STAR WARS - OS ÚLTIMOS JEDI', 150,


'Rey deu seus primeiros passos em "Star Wars: O Despertar da Força" e vai
continuar sua jornada épica ao lado de Finn, Poe e Luke Skywalker no próximo
capítulo da saga "Star Wars".'
, 12, 'Ficção'),

('INVOCAÇÃO DO MAL', 112,


'Baseado em uma história real, Invocação do Mal conta o terrível episódio de como
os investigadores paranormais mundialmente renomados Ed e Lorraine Warren
foram chamados para ajudar uma família aterrorizada por uma presença obscura em
uma fazenda isolada. Forçados a confrontar uma poderosa entidade demoníaca,
os Warrens viram-se presos no caso mais terrível de suas vidas.'
, 14, 'Terror'),

('DOUTOR ESTRANHO', 125,


'Stephen Strange é um brilhante e arrogante neurocirurgião que fica incapacitado de
exercer sua profissão após um grave acidente. Em uma busca incansável
por sua cura, ele descobre um universo fantástico e precisa decidir se com a magia
adquirida irá lutar para proteger o mundo ou viver normalmente.'
, 12, 'Ação'),

('LINO', 93,
'Lino é um animador de festas muito azarado que não aguenta mais vestir todos os
dias uma horrorosa fantasia de um gato gigante e aguentar sempre a mesma
rotina de maus tratos das crianças em seu emprego. Tentando livrar-se de seu azar,
busca a ajuda de um suposto mago não muito talentoso que o transforma
justamente em sua própria fantasia.'
,0, 'Animação'),
('OS PARÇAS', 100,
'Fugindo de problemas, um locutor de loja de varejo, dois trambiqueiros e um técnico
de informática atrapalhado são obrigados a participar de um golpe.
Eles são chantageados por Mário, um vigarista que se aproveita da boa-fé alheia
para ganhar dinheiro. O desafio é nada mais nada menos do que montar uma
firma de casamento para produzir a festa da filha do maior contrabandista da 25 de
Março, o temido Vacário. Juntos eles vão enfrentar muitos desafios na
produção da festa e terão que fazer de tudo para não levantar a desconfiança de
Vacário.'
, 14, 'Comédia'),

('DUNKIRK', 107,
'Durante a Segunda Guerra Mundial, a Alemanha avança rumo à França e cerca as
tropas aliadas nas praias de Dunkirk. Sob cobertura aérea e terrestre das
forças britânicas e francesas, as tropas são lentamente evacuadas da praia. '
, 14, 'Guerra'),

('EXTRAORDINÁRIO', 117,
'Auggie Pullman (Jacob Tremblay) é um garoto que nasceu com uma deformação
facial, o que fez com que passasse por 27 cirurgias plásticas. Aos 10 anos,
ele pela primeira vez frequentará uma escola regular, como qualquer outra criança.
Lá, precisa lidar com a sensação constante de ser sempre observado
e avaliado por todos à sua volta'
, 10, 'Drama'),

('KINGSMAN: O CÍRCULO DOURADO', 241,


'Após um ataque ao quartel general da Kingsman, Eggsy, Roxy e Merlin viajam para
os Estados Unidos, onde afiliam-se à Statesman, versão americana
da organização de espionagem.'
, 16, 'Espionagem');

insert into sessao (sala_id, filme_id, horario)


values
(3, 1, '13:35:00'),
(5, 5, '13:00:00'),
(10, 2,'14:10:00'),
(4, 4, '20:00:00'),
(6, 6, '15:30:00'),
(8, 3, '14:40:00'),
(3, 3, '13:50:00'),
(5, 5, '21:20:00'),
(9, 10, '17:00:00'),
(7, 9, '18:30:00');

insert into maquina_de_lanche (saldo_total)


values
(1000.00),
(937.50),
(690.36),
(570.82),
(720.12),
(770.60),
(550.00),
(527.10),
(380.33),
(857.26);

insert into ingresso (preco, codigo_cadeira, quant_pontos, cliente_cpf, sessao_id,


atendente_id)
values
(30, 'J05', 50, '81771044705', 9, 4),
(20, 'A14', 50, '08704492498', 8, 10),
(20, 'A15', 50, '64413024621', 8, 10),
(30, 'B24', 50, '69467862115', 3, 5),
(30, 'B25', 50, '28044613943', 3, 5),
(20, 'F12', 50, '76171223654', 3, 7),
(30, 'K07', 50, '36873943606', 6, 6),
(20, 'C12', 50, '82541874952', 1, 8),
(20, 'B10', 50, '73460626801', 4, 1),
(20, 'H02', 50, '50263905870', 5, 3);

insert into lanche (quant_pontos, preco, nome, cliente_cpf, maquina_de_lanche_id)


values
( 10, 3.00, 'Coxinha', '08704492498', 3),
( 10, 9.00, 'Pipoca', '69467862115', 2),
( 10, 3.00, 'Risole', '50263905870', 5),
( 10, 8.00, 'Refrigerante', '08704492498', 3),
( 10, 2.00, 'Empada doce', '28044613943', 6),
( 10, 3.00, 'Salgadinho', '81771044705', 9),
( 10, 9.00, 'Pipoca', '64413024621', 10),
( 10, 3.00, 'Coxinha', '73460626801', 4),
( 10, 10.00, 'Hambúrguer', '36873943606', 1),
( 10, 5.00, 'Suco', '76171223654', 7);

insert into telefone_atendente (telefone, atendente_id)


values
('42999512909', 1),
('81995201778', 2),
('81995700091', 3),
('81997580557', 4),
('81998671552', 5),
('81997289447', 6),
('81987186946', 7),
('81998597763', 8),
('81996256135', 9),
('81987766334', 10);

insert into endereco_atendente (rua, numero, CEP, bairro, cidade, pais,


atendente_id)
values
('Rua da Reclamação', 112, '56371450', 'Rage', 'Pina', 'Brasil', 1),
('Rua das Maravilhas', 9, '53417600', 'Paratibe', 'Paulista', 'Brasil', 2),
('Rua das Margaridas', 3, '53417650', 'Paratibe', 'Paulista', 'Brasil', 3),
('Rua do Frio', 200, '53520450', 'Jardim Paulista', 'Paulista', 'Brasil', 4),
('Rua Sao Pedro', 510, '53590990', 'Caetes 1', 'Abreu e Lima', 'Brasil', 5),
('Rua Sao João', 320, '56456920', 'Bola na Rede', 'Macaxeira', ' Brasil', 6),
('Rua Sete de Setembro', 150, '57384919', 'Mirueira', 'Paulista', 'Brasil', 7),
('Rua Tiradentes', 57, '59836501', 'Ouro Preto', 'Olinda', 'Brasil', 8),
('Rua Rui Barbosa ', 72, '55381364', 'São Gonçalo', 'Boa viagem', 'Brasil', 9),
('Rua do Azar', 83, '57910239', 'Azarados', 'Jaboatão', 'Brasil', 10);

insert into telefone_cliente (telefone, cliente_cpf)


values
('81985647286', '73460626801'),
('81997356471', '82541874952'),
('81998098364', '28044613943'),
('81986574610', '50263905870'),
('81991837002', '81771044705'),
('81990893657', '76171223654'),
('81986009285', '36873943606'),
('81883757294', '64413024621'),
('81998134135', '69467862115'),
('81987145102', '08704492498');

insert into endereco_cliente (rua, numero, CEP, bairro, cidade, pais, cliente_cpf)
values
('Alameda', 10, '53859461', 'Maranguape 2', 'Paulista', 'Brasil', '73460626801'),
('Onipresente', 1, '55980034', 'Centro', 'Caxangá', 'Brasil', '82541874952'),
('Rua das Alcacias', 120, '54839916', 'Marinha Farinha', 'Paulista', 'Brasil',
'28044613943'),
('Rua da Solidão', 200, '58938573', 'Tarados', 'Ipsep', 'Brasil', '50263905870'),
('Rua Sao Francisco', 72, '53045761', 'Caetes 2', 'Abreu e Lima', 'Brasil',
'81771044705'),
('Rua Quinze', 15, '51515678', 'Ouro Preto', 'Olinda', 'Brasil', '76171223654'),
('Rua Projetada', 24, '57966578', 'Varzea', 'Recife', 'Brasil', '36873943606'),
('Rua São Joaquim', 97, '53985786', 'Arthur Lundgren I', 'Paulista', 'Brasil',
'64413024621'),
('Rua dos Anciões', 1000, '55789394', 'Velhotes', 'Jaboatão', 'Brasil', '69467862115'),
('Rua do Segredo', 334, '53478990', 'Arthur Lundgren II', 'Paulista', 'Brasil',
'08704492498');

Você também pode gostar