O documento apresenta a criação de tabelas para um sistema de cinema, incluindo tabelas para cinema, sala, horário, filme, preço e sessão. Ele também apresenta consultas SQL para listar filmes de um estúdio específico, recuperar filmes de cinemas específicos e filmes exibidos em mais de uma sala no mesmo cinema, além de identificar as salas de maior capacidade em cada cinema.
O documento apresenta a criação de tabelas para um sistema de cinema, incluindo tabelas para cinema, sala, horário, filme, preço e sessão. Ele também apresenta consultas SQL para listar filmes de um estúdio específico, recuperar filmes de cinemas específicos e filmes exibidos em mais de uma sala no mesmo cinema, além de identificar as salas de maior capacidade em cada cinema.
O documento apresenta a criação de tabelas para um sistema de cinema, incluindo tabelas para cinema, sala, horário, filme, preço e sessão. Ele também apresenta consultas SQL para listar filmes de um estúdio específico, recuperar filmes de cinemas específicos e filmes exibidos em mais de uma sala no mesmo cinema, além de identificar as salas de maior capacidade em cada cinema.
Petrolina – PE 2022 CREATE TABLE cinema ( cod_cine serial PRIMARY KEY, nome_cine VARCHAR (100) NOT NULL, fone_cine VARCHAR(10) NOT NULL );
CREATE TABLE sala (
cod_cine INT GENERATED ALWAYS AS IDENTITY, num_sala INT NOT NULL, capacidade INT NOT NULL, PRIMARY KEY (cod_cine), CONSTRAINT fk_cine FOREIGN KEY(cod_cine) REFERENCES cinema(cod_cine) );
CREATE TABLE horario (
cod_hor serial PRIMARY KEY, inicio TIME NOT NULL, fim TIME NOT NULL );
CREATE TABLE filme (
cod_filme INT GENERATED ALWAYS AS IDENTITY, nome_filme VARCHAR (100) NOT NULL, diretor VARCHAR(100) NOT NULL, estudio VARCHAR(100) NOT NULL, PRIMARY KEY (cod_filme) );
CREATE TABLE preco (
cod_cine INT GENERATED ALWAYS AS IDENTITY, cod_hor TIME NOT NULL, preco DECIMAL NOT NULL, PRIMARY KEY (cod_cine), CONSTRAINT fk_cine_preco FOREIGN KEY(cod_cine) REFERENCES cinema(cod_cine), CONSTRAINT fk_hora FOREIGN KEY(cod_hor) REFERENCES horario(cod_hor) );
CREATE TABLE sessao (
cod_cine INT GENERATED ALWAYS AS IDENTITY, num_sala INT NOT NULL, cod_hor TIME NOT NULL, cod_filme INT NOT NULL PRIMARY KEY (cod_cine), CONSTRAINT fk_cine_sessao FOREIGN KEY(cod_cine) REFERENCES cinema(cod_cine), CONSTRAINT fk_hora_sessao FOREIGN KEY(cod_hor) REFERENCES horario(cod_hor), CONSTRAINT fk_filme_sessao FOREIGN KEY(cod_filme) REFERENCES filme(cod_filme) );
-- A) Listar filmes da FOX
SELECT filme.nome_filme, filme.diretor, cinema.nome_cine FROM filme JOIN sessao ON sessao.cod_filme = filme.cod_filme JOIN cinema ON cinema.cod_cine = sessao.cod_cine WHERE estudio = "FOX"
-- B) Recuperar filmes do cinema "Paulo Afonso" e "Jardins"
SELECT cod_filme, nome_filme FROM JOIN sessao s ON sessao.cod_filme = filme.cod_filme JOIN cinema c ON cinema.cod_cine = sessao.cod_cine WHERE c.nome_cine = "Paulo Afonso" OR c.nome_cine = "Jardins"
-- C) Filmes que estão em exibição em mais de uma sala no mesmo cinema
SELECT nome_cine, nome_filme, COUNT(s.cod_cine) as qtd FROM filme JOIN sessao s ON sessao.cod_filme = filme.cod_filme JOIN cinema c ON cinema.cod_cine = sessao.cod_cine WHERE qtd > 1
-- Salas de maior capacidade em cada cinema
SELECT MAX(capacidade), nome_cine, num_sala, capacidade FROM cinema