Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE TYPE tp_diretor AS OBJECT (
- id_imdb VARCHAR2(20),
- nome VARCHAR2(20),
- data_de_nascimento DATE,
- ORDER MEMBER FUNCTION comparar_diretor(outro tp_diretor) RETURN INTEGER
- );
- /
- CREATE OR REPLACE TYPE BODY tp_diretor AS
- ORDER MEMBER FUNCTION comparar_diretor(outro tp_diretor) RETURN INTEGER IS
- BEGIN
- RETURN CASE WHEN nome < outro.nome THEN -1 WHEN nome > outro.nome THEN 1 ELSE 0 END;
- END;
- END;
- /
- CREATE TABLE tb_diretor OF tp_diretor (
- id_imdb PRIMARY KEY
- );
- /
- CREATE OR REPLACE TYPE tp_produtora AS OBJECT (
- cnpj VARCHAR2(20),
- nome VARCHAR2(40),
- nome_fantasia VARCHAR2(40),
- data_de_criacao DATE,
- produz_filme INTEGER,
- produz_serie INTEGER,
- ORDER MEMBER FUNCTION comparar_produtora(outro tp_produtora) RETURN INTEGER
- );
- /
- CREATE OR REPLACE TYPE BODY tp_produtora AS
- ORDER MEMBER FUNCTION comparar_produtora(outro tp_produtora) RETURN INTEGER IS
- BEGIN
- RETURN CASE WHEN nome_fantasia < outro.nome_fantasia THEN -1 WHEN nome_fantasia > outro.nome_fantasia THEN 1 ELSE 0 END;
- END;
- END;
- /
- CREATE TABLE tb_produtora OF tp_produtora (
- cnpj PRIMARY KEY
- );
- /
- CREATE OR REPLACE TYPE tp_plano AS OBJECT (
- id_plano INTEGER,
- preco INTEGER,
- numero_de_telas INTEGER,
- qualidade_de_video VARCHAR(5),
- MAP MEMBER FUNCTION mapear_plano RETURN INTEGER
- );
- /
- ALTER TYPE tp_plano MODIFY ATTRIBUTE preco NUMBER;
- /
- CREATE OR REPLACE TYPE BODY tp_plano AS
- MAP MEMBER FUNCTION mapear_plano RETURN INTEGER IS
- BEGIN
- RETURN id_plano;
- END;
- END;
- /
- CREATE TABLE tb_plano OF tp_plano (
- id_plano PRIMARY KEY
- );
- /
- CREATE OR REPLACE TYPE tp_nomes AS VARRAY(10) OF VARCHAR2(40);
- /
- CREATE OR REPLACE TYPE tp_categorias AS VARRAY(10) OF VARCHAR2(20);
- /
- CREATE OR REPLACE TYPE tp_idiomas AS VARRAY(10) OF VARCHAR2(20);
- /
- CREATE OR REPLACE TYPE tp_legendas AS VARRAY(10) OF VARCHAR2(20);
- /
- CREATE OR REPLACE TYPE tp_midia AS OBJECT (
- id_imdb VARCHAR2(20),
- data_de_lancamento DATE,
- nomes tp_nomes,
- categorias tp_categorias,
- idiomas tp_idiomas,
- legendas tp_legendas,
- FINAL MEMBER PROCEDURE inserir_nome(nome VARCHAR2),
- FINAL MEMBER PROCEDURE inserir_categoria(categoria VARCHAR2),
- FINAL MEMBER PROCEDURE inserir_idioma(idioma VARCHAR2),
- FINAL MEMBER PROCEDURE inserir_legenda(legenda VARCHAR2),
- NOT INSTANTIABLE MEMBER FUNCTION get_duracao RETURN INTEGER
- ) NOT FINAL NOT INSTANTIABLE;
- /
- CREATE OR REPLACE TYPE BODY tp_midia AS
- FINAL MEMBER PROCEDURE inserir_nome(nome VARCHAR2) IS
- BEGIN
- nomes.EXTEND(1);
- nomes(nomes.COUNT) := nome;
- END;
- FINAL MEMBER PROCEDURE inserir_categoria(categoria VARCHAR2) IS
- BEGIN
- categorias.EXTEND(1);
- categorias(categorias.COUNT) := categoria;
- END;
- FINAL MEMBER PROCEDURE inserir_idioma(idioma VARCHAR2) IS
- BEGIN
- idiomas.EXTEND(1);
- idiomas(idiomas.COUNT) := idioma;
- END;
- FINAL MEMBER PROCEDURE inserir_legenda(legenda VARCHAR2) IS
- BEGIN
- legendas.EXTEND(1);
- legendas(legendas.COUNT) := legenda;
- END;
- END;
- /
- CREATE OR REPLACE TYPE tp_filme UNDER tp_midia (
- duracao INTEGER,
- prequel REF tp_filme,
- CONSTRUCTOR FUNCTION tp_filme(SELF IN OUT NOCOPY tp_filme,
- id_imdb VARCHAR2, data_de_lancamento DATE, nome VARCHAR2, categoria VARCHAR2,
- idioma VARCHAR2, legenda VARCHAR2, duracao INTEGER, prequel REF tp_filme
- ) RETURN SELF AS RESULT,
- OVERRIDING MEMBER FUNCTION get_duracao RETURN INTEGER
- );
- /
- CREATE OR REPLACE TYPE BODY tp_filme AS
- CONSTRUCTOR FUNCTION tp_filme(SELF IN OUT NOCOPY tp_filme,
- id_imdb VARCHAR2, data_de_lancamento DATE, nome VARCHAR2, categoria VARCHAR2,
- idioma VARCHAR2, legenda VARCHAR2, duracao INTEGER, prequel REF tp_filme
- ) RETURN SELF AS RESULT IS
- BEGIN
- SELF.id_imdb := id_imdb;
- SELF.data_de_lancamento := data_de_lancamento;
- SELF.nomes := tp_nomes(nome);
- SELF.categorias := tp_categorias(categoria);
- SELF.idiomas := tp_idiomas(idioma);
- SELF.legendas := tp_legendas(legenda);
- SELF.duracao := duracao;
- SELF.prequel := prequel;
- RETURN;
- END;
- OVERRIDING MEMBER FUNCTION get_duracao RETURN INTEGER IS
- BEGIN
- RETURN duracao;
- END;
- END;
- /
- CREATE TABLE tb_filme OF tp_filme (
- id_imdb PRIMARY KEY,
- prequel WITH ROWID REFERENCES tb_filme
- );
- /
- CREATE OR REPLACE TYPE tp_serie UNDER tp_midia (
- episodios INTEGER,
- CONSTRUCTOR FUNCTION tp_serie(SELF IN OUT NOCOPY tp_serie,
- id_imdb VARCHAR2, data_de_lancamento DATE, nome VARCHAR2, categoria VARCHAR2,
- idioma VARCHAR2, legenda VARCHAR2, episodios INTEGER
- ) RETURN SELF AS RESULT,
- OVERRIDING MEMBER FUNCTION get_duracao RETURN INTEGER
- );
- /
- CREATE OR REPLACE TYPE BODY tp_serie AS
- CONSTRUCTOR FUNCTION tp_serie(SELF IN OUT NOCOPY tp_serie,
- id_imdb VARCHAR2, data_de_lancamento DATE, nome VARCHAR2, categoria VARCHAR2,
- idioma VARCHAR2, legenda VARCHAR2, episodios INTEGER
- ) RETURN SELF AS RESULT IS
- BEGIN
- SELF.id_imdb := id_imdb;
- SELF.data_de_lancamento := data_de_lancamento;
- SELF.nomes := tp_nomes(nome);
- SELF.categorias := tp_categorias(categoria);
- SELF.idiomas := tp_idiomas(idioma);
- SELF.legendas := tp_legendas(legenda);
- SELF.episodios := episodios;
- RETURN;
- END;
- OVERRIDING MEMBER FUNCTION get_duracao RETURN INTEGER IS
- BEGIN
- RETURN episodios * 40;
- END;
- END;
- /
- CREATE TABLE tb_serie OF tp_serie (
- id_imdb PRIMARY KEY
- );
- /
- CREATE OR REPLACE TYPE tp_perfil AS OBJECT (
- nome VARCHAR2(40),
- pode_assistir_conteudo_adulto INTEGER
- );
- /
- CREATE OR REPLACE TYPE tp_perfis AS TABLE OF tp_perfil;
- /
- CREATE OR REPLACE TYPE tp_usuario AS OBJECT (
- email VARCHAR2(40),
- primeiro_nome VARCHAR2(20),
- ultimo_nome VARCHAR2(20),
- senha VARCHAR2(20),
- data_de_nascimento DATE,
- plano REF tp_plano,
- perfis tp_perfis,
- MEMBER FUNCTION get_perfil(nome VARCHAR2) RETURN tp_perfil,
- MEMBER FUNCTION numero_perfis RETURN INTEGER,
- MEMBER FUNCTION idade RETURN INTEGER
- );
- /
- CREATE OR REPLACE TYPE BODY tp_usuario AS
- MEMBER FUNCTION get_perfil(nome VARCHAR2) RETURN tp_perfil IS
- perfil tp_perfil;
- BEGIN
- SELECT VALUE(P) INTO perfil FROM TABLE(perfis) P WHERE P.nome = nome;
- RETURN perfil;
- END;
- MEMBER FUNCTION numero_perfis RETURN INTEGER IS
- BEGIN
- RETURN perfis.COUNT;
- END;
- MEMBER FUNCTION idade RETURN INTEGER IS
- BEGIN
- RETURN TRUNC((SYSDATE - data_de_nascimento) / 365, 0);
- END;
- END;
- /
- CREATE TABLE tb_usuario OF tp_usuario (
- email PRIMARY KEY,
- plano WITH ROWID REFERENCES tb_plano
- ) NESTED TABLE perfis STORE AS tb_perfis;
- /
- CREATE TABLE tb_tem (
- diretor REF tp_diretor,
- produtora REF tp_produtora SCOPE IS tb_produtora,
- midia REF tp_midia
- );
- /
- CREATE OR REPLACE TYPE tp_clipe AS OBJECT (
- data_criacao DATE,
- duracao INTEGER
- );
- /
- CREATE OR REPLACE TYPE tp_clipes AS TABLE OF tp_clipe;
- /
- CREATE OR REPLACE TYPE tp_perfil_midia AS OBJECT (
- id_perfil_midia INTEGER,
- data_inicio DATE,
- usuario REF tp_usuario,
- nome_perfil VARCHAR2(40),
- midia REF tp_midia,
- tempo_decorrido INTEGER,
- segundo_atual INTEGER,
- clipes tp_clipes
- );
- /
- CREATE TABLE tb_perfil_midia OF tp_perfil_midia (
- id_perfil_midia PRIMARY KEY,
- usuario WITH ROWID REFERENCES tb_usuario
- ) NESTED TABLE clipes STORE AS tb_clipes;
- /
- INSERT INTO tb_diretor VALUES (tp_diretor('nm1218281', 'Jon Watts', TO_DATE('28/06/1981', 'DD/MM/YYYY')));
- INSERT INTO tb_diretor VALUES (tp_diretor('nm0751577', 'Anthony Russo', TO_DATE('03/02/1970', 'DD/MM/YYYY')));
- INSERT INTO tb_diretor VALUES (tp_diretor('nm0751648', 'Joe Russo', TO_DATE('08/07/1971', 'DD/MM/YYYY')));
- INSERT INTO tb_produtora VALUES (tp_produtora('12345678912345', 'Marvel', 'Marvel Cinematic Universe', TO_DATE('30/04/2008', 'DD/MM/YYYY'), 1, 1));
- INSERT INTO tb_produtora VALUES (tp_produtora('98765432198765', 'Disney', 'The Walt Disney Company', TO_DATE('01/01/1923', 'DD/MM/YYYY'), 1, 1));
- INSERT INTO tb_plano VALUES (tp_plano(1, 27.90, 1, 'SD'));
- INSERT INTO tb_plano VALUES (tp_plano(2, 36.90, 2, 'HD'));
- INSERT INTO tb_plano VALUES (tp_plano(3, 45.90, 4, '4K'));
- INSERT INTO tb_filme VALUES (tp_filme('tt4154756', TO_DATE('26/04/2018', 'DD/MM/YYYY'), tp_nomes('Vingadores: Guerra Infinita', 'Avengers: Infinity War'),
- tp_categorias('Fantasia', 'Ação'), tp_idiomas('Inglês'), tp_legendas('Português', 'Inglês'), 8940, NULL));
- INSERT INTO tb_filme VALUES (tp_filme('tt4154796', TO_DATE('25/04/2019', 'DD/MM/YYYY'), tp_nomes('Vingadores: Ultimato', 'Avengers: Endgame'),
- tp_categorias('Fantasia', 'Aventura'), tp_idiomas('Português', 'Inglês'), tp_legendas('Português'), 10920,
- (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt4154756')));
- INSERT INTO tb_filme VALUES (tp_filme('tt2250912', TO_DATE('06/07/2017', 'DD/MM/YYYY'), 'Homem-Aranha: De Volta para a Casa',
- 'Fantasia', 'Português', 'Português', 7980, NULL));
- INSERT INTO tb_filme VALUES (tp_filme('tt6320628', TO_DATE('04/07/2019', 'DD/MM/YYYY'), 'Homem-Aranha: Longe de Casa',
- 'Ação', 'Português', 'Português', 7740, (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt2250912')));
- INSERT INTO tb_filme VALUES (tp_filme('tt10872600', TO_DATE('16/12/2021', 'DD/MM/YYYY'), 'Homem-Aranha: Sem Volta para a Casa',
- 'Fantasia', 'Português', 'Português', 8880, (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt6320628')));
- INSERT INTO tb_serie VALUES (tp_serie('tt2442560', TO_DATE('12/09/2013', 'DD/MM/YYYY'), tp_nomes('Peaky Blinders'),
- tp_categorias('Drama'), tp_idiomas('Inglês'), tp_legendas('Português'), 90));
- INSERT INTO tb_serie VALUES (tp_serie('tt2306299', TO_DATE('03/03/2013', 'DD/MM/YYYY'), tp_nomes('Vikings'),
- tp_categorias('Ação'), tp_idiomas('Português'), tp_legendas('Inglês'), 100));
- INSERT INTO tb_serie VALUES (tp_serie('tt0903747', TO_DATE('20/01/2008', 'DD/MM/YYYY'), tp_nomes('Breaking Bad'),
- tp_categorias('Drama'), tp_idiomas('Inglês'), tp_legendas('Espanhol'), 90));
- INSERT INTO tb_serie VALUES (tp_serie('tt0944947', TO_DATE('17/04/2011', 'DD/MM/YYYY'), tp_nomes('Game Of Thrones'),
- tp_categorias('Aventura'), tp_idiomas('Espanhol'), tp_legendas('Português'), 101));
- INSERT INTO tb_serie VALUES (tp_serie('tt9561862', TO_DATE('15/03/2019', 'DD/MM/YYYY'), tp_nomes('Love, Death and Robots'),
- tp_categorias('Animação'), tp_idiomas('Russo'), tp_legendas('Inglês'), 50));
- INSERT INTO tb_usuario VALUES('lucasmelo1997@gmail.com', 'Lucas', 'Melo', 'AJHDG5', TO_DATE('03/07/1997', 'DD/MM/YYYY'),
- (SELECT REF(P) FROM tb_plano P WHERE P.id_plano = 1), tp_perfis(tp_perfil('Gigi', 1), tp_perfil('Lucas', 1), tp_perfil('Ana', 1 )));
- INSERT INTO tb_usuario VALUES('gisele-beez@gmail.com', 'Gisele', 'Beez', 'AJHDASKHDG666', TO_DATE('07/07/1995', 'DD/MM/YYYY'),
- (SELECT REF(P) FROM tb_plano P WHERE P.id_plano = 1), tp_perfis(tp_perfil('Gisele', 1), tp_perfil('Luquinhas', 0)));
- INSERT INTO tb_usuario VALUES('titikretz@gmail.com', 'Tifany', 'Melo', 'HASGKKDG', TO_DATE('12/10/1997', 'DD/MM/YYYY'),
- (SELECT REF(P) FROM tb_plano P WHERE P.id_plano = 2), tp_perfis(tp_perfil('Lily', 0), tp_perfil('Jujuba', 0)));
- INSERT INTO tb_usuario VALUES('lumajuliacyra@gmail.com', 'Luisa', 'Maranha', 'IOASO1000', TO_DATE('09/02/1990', 'DD/MM/YYYY'),
- (SELECT REF(P) FROM tb_plano P WHERE P.id_plano = 1), tp_perfis(tp_perfil('Luma', 1)));
- INSERT INTO tb_usuario VALUES('fernanda-kitz-88@gmail.com', 'Fernanda', 'Kitz', 'KAIJSAIX90', TO_DATE('18/05/1988', 'DD/MM/YYYY'),
- (SELECT REF(P) FROM tb_plano P WHERE P.id_plano = 3), tp_perfis(tp_perfil('Nanda', 1), tp_perfil('Higor', 1), tp_perfil('Pedro', 1), tp_perfil('Ana', 1)));
- INSERT INTO tb_usuario VALUES('bililalindsay@gmail.com', 'Lindsay', 'Nentuck', '90887ADSUG', TO_DATE('22/09/1988', 'DD/MM/YYYY'),
- (SELECT REF(P) FROM tb_plano P WHERE P.id_plano = 2), tp_perfis(tp_perfil('Dada', 0), tp_perfil('Higor', 1), tp_perfil('Lindsay', 1)));
- INSERT INTO tb_tem VALUES ((SELECT REF(D) FROM tb_diretor D WHERE D.id_imdb = 'nm0751577'),
- (SELECT REF(P) FROM tb_produtora P WHERE P.cnpj = '12345678912345'), (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt4154756'));
- INSERT INTO tb_tem VALUES ((SELECT REF(D) FROM tb_diretor D WHERE D.id_imdb = 'nm0751648'),
- (SELECT REF(P) FROM tb_produtora P WHERE P.cnpj = '12345678912345'), (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt4154756'));
- INSERT INTO tb_tem VALUES ((SELECT REF(D) FROM tb_diretor D WHERE D.id_imdb = 'nm0751577'),
- (SELECT REF(P) FROM tb_produtora P WHERE P.cnpj = '12345678912345'), (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt4154796'));
- INSERT INTO tb_tem VALUES ((SELECT REF(D) FROM tb_diretor D WHERE D.id_imdb = 'nm0751648'),
- (SELECT REF(P) FROM tb_produtora P WHERE P.cnpj = '12345678912345'), (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt4154796'));
- INSERT INTO tb_tem VALUES ((SELECT REF(D) FROM tb_diretor D WHERE D.id_imdb = 'nm1218281'),
- (SELECT REF(P) FROM tb_produtora P WHERE P.cnpj = '12345678912345'), (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt2250912'));
- INSERT INTO tb_tem VALUES ((SELECT REF(D) FROM tb_diretor D WHERE D.id_imdb = 'nm1218281'),
- (SELECT REF(P) FROM tb_produtora P WHERE P.cnpj = '12345678912345'), (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt6320628'));
- INSERT INTO tb_tem VALUES ((SELECT REF(D) FROM tb_diretor D WHERE D.id_imdb = 'nm1218281'),
- (SELECT REF(P) FROM tb_produtora P WHERE P.cnpj = '12345678912345'), (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt10872600'));
- INSERT INTO tb_perfil_midia VALUES (1, TO_DATE('20/05/2010 12:50:42', 'DD/MM/YYYY HH24:MI:SS'),
- (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'fernanda-kitz-88@gmail.com'),
- 'Nanda', (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt4154756'), 3000, 50,
- tp_clipes(tp_clipe(TO_DATE('20/05/2010 13:23:15', 'DD/MM/YYYY HH24:MI:SS'), 20)));
- INSERT INTO tb_perfil_midia VALUES (2, TO_DATE('10/11/2021 23:15:12', 'DD/MM/YYYY HH24:MI:SS'),
- (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'bililalindsay@gmail.com'),
- 'Dada', (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt2250912'), 152, 152,
- tp_clipes(tp_clipe(TO_DATE('11/11/2021 01:10:05', 'DD/MM/YYYY HH24:MI:SS'), 8)));
- INSERT INTO tb_perfil_midia VALUES (3, TO_DATE('23/06/2010 15:24:36', 'DD/MM/YYYY HH24:MI:SS'),
- (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'fernanda-kitz-88@gmail.com'),
- 'Nanda', (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt4154796'), 1564, 968,
- tp_clipes(tp_clipe(TO_DATE('23/06/2010 16:20:07', 'DD/MM/YYYY HH24:MI:SS'), 10),
- tp_clipe(TO_DATE('23/06/2010 16:43:45', 'DD/MM/YYYY HH24:MI:SS'), 20)));
- INSERT INTO tb_perfil_midia VALUES (4, TO_DATE('12/12/2021 22:42:05', 'DD/MM/YYYY HH24:MI:SS'),
- (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'bililalindsay@gmail.com'),
- 'Dada', (SELECT REF(S) FROM tb_serie S WHERE S.id_imdb = 'tt2306299'), 51, 51,
- tp_clipes());
- INSERT INTO tb_perfil_midia VALUES (5, TO_DATE('13/12/2021 20:10:12', 'DD/MM/YYYY HH24:MI:SS'),
- (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'bililalindsay@gmail.com'),
- 'Dada', (SELECT REF(S) FROM tb_serie S WHERE S.id_imdb = 'tt2306299'), 173, 168,
- tp_clipes());
- INSERT INTO tb_perfil_midia VALUES (6, TO_DATE('02/07/2011 11:14:06', 'DD/MM/YYYY HH24:MI:SS'),
- (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'fernanda-kitz-88@gmail.com'),
- 'Nanda', (SELECT REF(S) FROM tb_serie S WHERE S.id_imdb = 'tt2306299'), 643, 643,
- tp_clipes(tp_clipe(TO_DATE('02/07/2011 11:53:28', 'DD/MM/YYYY HH24:MI:SS'), 8)));
- INSERT INTO tb_perfil_midia VALUES (7, TO_DATE('04/07/2021 11:35:26', 'DD/MM/YYYY HH24:MI:SS'),
- (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'fernanda-kitz-88@gmail.com'),
- 'Nanda', (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt6320628'), 1524, 1524,
- tp_clipes(tp_clipe(TO_DATE('04/07/2021 11:48:05', 'DD/MM/YYYY HH24:MI:SS'), 12)));
- INSERT INTO tb_perfil_midia VALUES (8, TO_DATE('06/07/2021 11:42:05', 'DD/MM/YYYY HH24:MI:SS'),
- (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'fernanda-kitz-88@gmail.com'),
- 'Nanda', (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt10872600'), 2403, 2398,
- tp_clipes());
- -- Usuário
- SELECT * FROM TABLE(SELECT perfis FROM tb_usuario WHERE email = 'fernanda-kitz-88@gmail.com');
- SELECT DEREF(plano).numero_de_telas Telas FROM tb_usuario WHERE email = 'titikretz@gmail.com';
- SELECT primeiro_nome, ultimo_nome, U.idade() Idade FROM tb_usuario U WHERE U.email = 'lumajuliacyra@gmail.com';
- -- Perfil
- SELECT TRUNC(segundo_atual / 60, 0) Minuto_Atual FROM tb_perfil_midia
- WHERE usuario = (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'bililalindsay@gmail.com')
- AND nome_perfil = 'Dada' AND midia = (SELECT REF(S) FROM tb_serie S WHERE S.id_imdb = 'tt2306299')
- ORDER BY data_inicio DESC FETCH FIRST 1 ROWS ONLY;
- SELECT nome, pode_assistir_conteudo_adulto FROM TABLE(SELECT perfis FROM tb_usuario WHERE email = 'lucasmelo1997@gmail.com') WHERE nome = 'Lucas';
- SELECT nome FROM TABLE(SELECT perfis FROM tb_usuario WHERE email = 'gisele-beez@gmail.com') WHERE pode_assistir_conteudo_adulto = 1;
- SELECT DEREF(midia).id_imdb Midias_em_Comum FROM tb_perfil_midia WHERE usuario = (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'fernanda-kitz-88@gmail.com') AND nome_perfil = 'Nanda'
- INTERSECT
- SELECT DEREF(midia).id_imdb FROM tb_perfil_midia WHERE usuario = (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'bililalindsay@gmail.com') AND nome_perfil = 'Dada';
- -- Mídia
- SELECT episodios FROM tb_serie WHERE id_imdb = 'tt2306299';
- SELECT column_value Idiomas_Disponiveis FROM TABLE(SELECT idiomas FROM tb_filme WHERE id_imdb = 'tt4154796');
- SELECT column_value Legendas_Disponiveis FROM TABLE(SELECT legendas FROM tb_filme WHERE id_imdb = 'tt4154756');
- SELECT data_de_lancamento FROM tb_serie WHERE id_imdb = 'tt2306299';
- SELECT column_value Nome_Prequel FROM TABLE(SELECT DEREF(prequel).nomes FROM tb_filme WHERE id_imdb = 'tt4154796') FETCH FIRST 1 ROWS ONLY;
- SELECT N.column_value Series_Disponiveis_em_Ingles FROM tb_serie S, TABLE(S.nomes) N WHERE 'Inglês' IN (SELECT * FROM TABLE(idiomas));
- -- Clipe
- SELECT duracao FROM TABLE(SELECT clipes FROM tb_perfil_midia
- WHERE usuario = (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'fernanda-kitz-88@gmail.com')
- AND nome_perfil = 'Nanda' AND midia = (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt4154756')
- AND data_inicio = TO_DATE('20/05/2010 12:50:42', 'DD/MM/YYYY HH24:MI:SS'))
- WHERE data_criacao = TO_DATE('20/05/2010 13:23:15', 'DD/MM/YYYY HH24:MI:SS');
- SELECT TRUNC(SYSDATE - data_criacao, 0) Dias FROM TABLE(SELECT clipes FROM tb_perfil_midia
- WHERE usuario = (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'bililalindsay@gmail.com')
- AND nome_perfil = 'Dada' AND midia = (SELECT REF(F) FROM tb_filme F WHERE F.id_imdb = 'tt2250912')
- AND data_inicio = TO_DATE('10/11/2021 23:15:12', 'DD/MM/YYYY HH24:MI:SS'))
- WHERE data_criacao = TO_DATE('11/11/2021 01:10:05', 'DD/MM/YYYY HH24:MI:SS');
- -- Plano
- SELECT preco, numero_de_telas FROM tb_plano WHERE numero_de_telas = (SELECT MAX(numero_de_telas) FROM tb_plano);
- -- Produtora
- SELECT DISTINCT DEREF(midia).id_imdb ID_IMDB FROM tb_tem WHERE produtora = (SELECT REF(P) FROM tb_produtora P WHERE P.cnpj = '12345678912345');
- SELECT DISTINCT DEREF(diretor).nome Nome FROM tb_tem WHERE produtora = (SELECT REF(P) FROM tb_produtora P WHERE P.cnpj = '12345678912345');
- SELECT nome_fantasia, data_de_criacao FROM tb_produtora WHERE cnpj = '98765432198765';
- -- Diretor
- SELECT DISTINCT DEREF(midia).id_imdb ID_IMDB FROM tb_tem WHERE diretor = (SELECT REF(D) FROM tb_diretor D WHERE D.id_imdb = 'nm0751648');
- -- Relatórios
- SELECT C.column_value Categoria, COUNT(C.column_value) Contagem FROM tb_perfil_midia PM, TABLE(DEREF(PM.midia).categorias) C
- WHERE PM.usuario = (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'fernanda-kitz-88@gmail.com') AND nome_perfil = 'Nanda'
- GROUP BY C.column_value ORDER BY COUNT(C.column_value) DESC;
- SELECT SUM(tempo_decorrido) Tempo_Assistido FROM tb_perfil_midia
- WHERE usuario = (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'bililalindsay@gmail.com')
- AND nome_perfil = 'Dada' AND data_inicio BETWEEN TO_DATE('01/12/2021', 'DD/MM/YYYY') AND TO_DATE('31/12/2021', 'DD/MM/YYYY');
- SELECT DEREF(midia).id_imdb ID_IMDB, COUNT(DEREF(midia).id_imdb) Contagem FROM tb_perfil_midia
- WHERE usuario = (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'fernanda-kitz-88@gmail.com')
- AND nome_perfil = 'Nanda' AND data_inicio BETWEEN TO_DATE('01/01/2010', 'DD/MM/YYYY') AND TO_DATE('31/12/2010', 'DD/MM/YYYY')
- GROUP BY DEREF(midia).id_imdb;
- SELECT TRUNC(SUM(tempo_decorrido) / 3600, 2) Horas_Assistidas FROM tb_perfil_midia
- WHERE usuario = (SELECT REF(U) FROM tb_usuario U WHERE U.email = 'fernanda-kitz-88@gmail.com')
- AND nome_perfil = 'Nanda' AND 'Fantasia' IN (SELECT * FROM TABLE(DEREF(midia).categorias));
- SELECT AVG(U.numero_perfis()) Numero_Medio_de_Perfis FROM tb_usuario U;
- SELECT column_value Filme_Mais_Longo FROM TABLE(SELECT nomes FROM tb_filme WHERE duracao = (SELECT MAX(duracao) FROM tb_filme))
- FETCH FIRST 1 ROWS ONLY;
- SELECT column_value Filme_Mais_Curto FROM TABLE(SELECT nomes FROM tb_filme WHERE duracao = (SELECT MIN(duracao) FROM tb_filme))
- FETCH FIRST 1 ROWS ONLY;
- SELECT DEREF(plano).id_plano ID_Plano, COUNT(DEREF(plano).id_plano) Assinantes FROM tb_usuario U
- WHERE U.idade() BETWEEN 25 AND 35 GROUP BY DEREF(plano).id_plano ORDER BY COUNT(DEREF(plano).id_plano) DESC;
Add Comment
Please, Sign In to add comment