SISTEMA GERENCIAMENTO BANCO DE DADOS STREAMING AULAS IMERSIVAS PARA ESCOLAS TECNICAS ESTADUAIS SÃO PAULO
Authors:   , PAZ ALAN APARECIDO DA SILVA 
Published: June 2024

SISTEMA GESTÃO DE BANCO DE DADOS - STREAMING “ETECVIEW”

ÍNDICE

1. Introdução
- Breve apresentação do tema
- Objetivos do trabalho

2. Modelagem do Banco de Dados
- Descrição das tabelas e seus atributos
- Explicação das relações entre as tabelas

3. Criação do Banco de Dados
- SQL utilizado para criar as tabelas manipulação de dados teste
- MYSQL utilizado manipular dados do sistema
- Inserção de dados

CONTEXTUALIZAÇÃO TRABALHO BANCO DE DADOS
- Consultas SQL para recuperar informações do banco de dados
- Exemplos de consultas complexas envolvendo junções
Stored Procedure
- Explicação da stored procedure `Consulta Conteúdo Avaliação`
- Funcionalidade e objetivo da procedure
Trigger
- Descrição da trigger `Registro Consulte Conteúdo Avaliação`
- Explicação do seu propósito e funcionamento

Conclusão
- Recapitulação dos principais pontos abordados
- Possíveis melhorias ou extensões futuras do banco de dados

Referências
- Lista de materiais consultados para desenvolver o trabalho
- Links para documentação ou outros recursos relevantes

1. Introdução
- Breve apresentação do tema
- Objetivos do trabalho

TEMA SGBD - SISTEMA GESTÃO DE BANCO DE DADOS - STREAMING “ETECVIEW”

ACADÊMICOS

ALAN PAZ
MARCELO RISSI

OBJETIVOS
Obter dados em larga escala de usuários em um sistema de streaming
1. Introdução

O presente trabalho aborda o desenvolvimento de um sistema de streaming, que visa oferecer uma plataforma digital para distribuição e consumo de conteúdos audiovisuais variados. Com o crescente interesse por serviços de streaming nos últimos anos, torna-se crucial desenvolver uma infraestrutura robusta e eficiente que atenda às necessidades dos usuários em termos de acessibilidade e diversidade de conteúdo.

Breve Apresentação do Tema

O sistema de streaming proposto permitirá aos usuários acessar uma vasta biblioteca de filmes, séries e outros tipos de conteúdos, proporcionando uma experiência personalizada de entretenimento. Os usuários poderão navegar, avaliar, comentar, e interagir com o conteúdo disponível, além de poderem escolher entre diferentes planos de assinatura que se adequem às suas preferências e orçamento.

Objetivos do Trabalho

O principal objetivo deste trabalho é desenvolver e implementar um sistema de streaming que possibilite:

- Cadastro e gerenciamento de usuários: Permitir que novos usuários se cadastrem na plataforma, com informações como nome, email e senha.

- Catalogação de conteúdos: Inserir e gerenciar informações de filmes, séries e outros conteúdos, incluindo título, descrição, ano de lançamento e diretor.

- Avaliação e comentários: Oferecer funcionalidades para que os usuários possam avaliar e comentar sobre os conteúdos disponíveis.

- Assinaturas e planos de acesso: Implementar diferentes planos de assinatura (como Premium, Padrão e Gratuito) para acesso aos conteúdos, com respectivas funcionalidades e restrições.

- Interação e personalização: Proporcionar uma experiência interativa e personalizada, onde os usuários podem marcar conteúdos como favoritos, receber notificações e ter recomendações baseadas em suas preferências.

Este trabalho visa não apenas implementar as funcionalidades básicas de um sistema de streaming, mas também explorar aspectos avançados como otimização de consultas, integridade dos dados e segurança da informação, visando sempre proporcionar uma experiência de usuário satisfatória e segura.

2. Modelagem do Banco de Dados
- Descrição das tabelas e seus atributos
- Explicação das relações entre as tabelas
2. Modelagem do Banco de Dados

Descrição das Tabelas e seus Atributos

O banco de dados do sistema de streaming é composto por diversas tabelas que armazenam informações essenciais para o funcionamento da plataforma. Abaixo estão as descrições detalhadas das principais tabelas e seus atributos:

1. Tabela Usuário
- ID_Usuario: Identificador único do usuário (chave primária).
- Nome: Nome completo do usuário.
- Email: Endereço de email do usuário.
- Senha: Senha de acesso do usuário (criptografada para segurança).
- Data_Cadastro: Data em que o usuário se cadastrou na plataforma.

2. Tabela Perfil
- ID_Perfil: Identificador único do perfil (chave primária).
- ID_Usuario: Chave estrangeira referenciando o usuário associado a este perfil.
- Nome_Perfil: Nome do perfil de usuário.
- Data_Criacao: Data de criação do perfil.

3. Tabela Plano
- ID_Plano: Identificador único do plano (chave primária).
- Nome_Plano: Nome do plano (ex: Premium, Padrão, Gratuito).
- Preco_Mensal: Preço mensal do plano em formato decimal.

4. Tabela Assinatura
- ID_Assinatura: Identificador único da assinatura (chave primária).
- ID_Usuario: Chave estrangeira referenciando o usuário que possui a assinatura.
- ID_Plano: Chave estrangeira referenciando o plano de assinatura.
- Data_Inicio: Data de início da assinatura.
- Data_Fim: Data de término da assinatura.

5. Tabela Conteúdo
- ID_Conteudo: Identificador único do conteúdo (chave primária).
- Titulo: Título do conteúdo audiovisual.
- Descricao: Descrição detalhada do conteúdo.
- Ano_Lancamento: Ano de lançamento do conteúdo.
- Diretor: Nome do diretor do conteúdo.

6. Tabela Categoria
- ID_Categoria: Identificador único da categoria (chave primária).
- Nome_Categoria: Nome da categoria do conteúdo (ex: Ação, Comédia, Drama).

7. Tabela Conteudo_Categoria
- ID_Conteudo_Categoria**: Identificador único da relação entre conteúdo e categoria (chave primária).
- ID_Conteudo: Chave estrangeira referenciando o conteúdo.
- ID_Categoria: Chave estrangeira referenciando a categoria do conteúdo.

8. Tabela Comentário
- ID_Comentario: Identificador único do comentário (chave primária).
- ID_Usuario: Chave estrangeira referenciando o usuário que fez o comentário.
- ID_Conteudo: Chave estrangeira referenciando o conteúdo comentado.
- Texto: Texto do comentário feito pelo usuário.
- Data_Comentario: Data em que o comentário foi feito.

9. Tabela Avaliação
- ID_Avaliacao: Identificador único da avaliação (chave primária).
- ID_Usuario: Chave estrangeira referenciando o usuário que fez a avaliação.
- ID_Conteudo: Chave estrangeira referenciando o conteúdo avaliado.
- Pontuacao: Pontuação atribuída pelo usuário ao conteúdo.
- Data_Avaliacao: Data em que a avaliação foi feita.

10. Tabela Favorito
- ID_Favorito: Identificador único do favorito (chave primária).
- ID_Usuario: Chave estrangeira referenciando o usuário que marcou o conteúdo como favorito.
- ID_Conteudo: Chave estrangeira referenciando o conteúdo marcado como favorito.
- Data_Adicao: Data em que o conteúdo foi marcado como favorito pelo usuário.

11. Tabela Visualizacao
- ID_Visualizacao: Identificador único da visualização (chave primária).
- ID_Usuario: Chave estrangeira referenciando o usuário que visualizou o conteúdo.
- ID_Conteudo: Chave estrangeira referenciando o conteúdo visualizado.
- Data_Visualizacao: Data em que o conteúdo foi visualizado pelo usuário.

12. Tabela Notificação
- ID_Notificacao: Identificador único da notificação (chave primária).
- ID_Usuario: Chave estrangeira referenciando o usuário que recebeu a notificação.
- Mensagem: Mensagem da notificação enviada ao usuário.
- Data_Envio: Data em que a notificação foi enviada ao usuário.

Explicação das Relações entre as Tabelas

- Usuário e Perfil: A tabela Perfil tem uma relação de um para um com a tabela Usuário, onde cada usuário pode ter um perfil associado que detalha informações adicionais como nome de exibição.

- Usuário e Assinatura: A tabela Assinatura possui uma relação de muitos para um com a tabela Usuário, indicando que um usuário pode ter várias assinaturas ao longo do tempo.

- Assinatura e Plano: A tabela Assinatura está relacionada com a tabela Plano através da chave estrangeira ID_Plano, permitindo que cada assinatura esteja associada a um plano específico.

- Conteúdo e Categoria: A tabela Conteudo_Categoria faz a ligação entre as tabelas Conteúdo e Categoria, permitindo que um conteúdo possa estar associado a várias categorias diferentes (relação muitos para muitos).

- Usuário, Avaliação e Comentário: As tabelas Avaliação e Comentário têm uma relação de muitos para um com a tabela Usuário, indicando que um usuário pode fazer várias avaliações e comentários sobre diferentes conteúdos.

- Conteúdo e Avaliação: A tabela Avaliação está relacionada com a tabela Conteúdo através da chave estrangeira ID_Conteudo, permitindo que cada avaliação esteja associada a um conteúdo específico.

MODELAGEM MYSQL

MODELAGEM EM SQL SERVER

3. Criação do Banco de Dados
- SQL utilizado para criar as tabelas manipulação de dados teste
- MYSQL utilizado manipular dados do sistema
- Inserção de dados

Nesta seção, são apresentados detalhes sobre a criação do banco de dados para o sistema de streaming, incluindo o SQL utilizado para criar as tabelas, manipulação de dados e inserção de dados de teste.

SQL Utilizado para Criar as Tabelas
Para criar as tabelas necessárias no banco de dados do sistema de streaming, foram utilizados comandos SQL conforme abaixo:

REALIZAÇÃO CONSULTA BANCO DE DADOS TESTE EM SQL SERVER

SELECT * FROM Perfil;

- MYSQL utilizado manipular dados do sistema streaming

Modelagem

ESTRUTURA

DICIONÁRIO LÓGICO MYSQL

FINALIZAÇÃO E CONTEXTUALIZAÇÃO COM SQL SERVER

SCRIPT CODIGO SQL SERVER

CREATE DATABASE TRABALHO_2SEMESTRE_BANCO_DE_DADOS_ETEC300_2DS_SISTEMA_STREAMING

CREATE TABLE Usuario (
ID_Usuario INT PRIMARY KEY,
Nome VARCHAR(100),
Email VARCHAR(100),
Senha VARCHAR(50),
Data_Cadastro DATE
);

CREATE TABLE Perfil (
ID_Perfil INT PRIMARY KEY,
ID_Usuario INT FOREIGN KEY REFERENCES Usuario(ID_Usuario),
Nome_Perfil VARCHAR(50),
Data_Criacao DATE
);

CREATE TABLE Plano (
ID_Plano INT PRIMARY KEY,
Nome_Plano VARCHAR(50),
Preco_Mensal DECIMAL(10,2)
);

CREATE TABLE Assinatura (
ID_Assinatura INT PRIMARY KEY,
ID_Usuario INT FOREIGN KEY REFERENCES Usuario(ID_Usuario),
ID_Plano INT FOREIGN KEY REFERENCES Plano(ID_Plano),
Data_Inicio DATE,
Data_Fim DATE
);

CREATE TABLE Conteudo (
ID_Conteudo INT PRIMARY KEY,
Titulo VARCHAR(100),
Descricao VARCHAR(MAX),
Ano_Lancamento INT,
Diretor VARCHAR(100)
);

CREATE TABLE Categoria (
ID_Categoria INT PRIMARY KEY,
Nome_Categoria VARCHAR(50)
);

CREATE TABLE Conteudo_Categoria (
ID_Conteudo_Categoria INT PRIMARY KEY,
ID_Conteudo INT FOREIGN KEY REFERENCES Conteudo(ID_Conteudo),
ID_Categoria INT FOREIGN KEY REFERENCES Categoria(ID_Categoria)
);

CREATE TABLE Comentario (
ID_Comentario INT PRIMARY KEY,
ID_Usuario INT FOREIGN KEY REFERENCES Usuario(ID_Usuario),
ID_Conteudo INT FOREIGN KEY REFERENCES Conteudo(ID_Conteudo),
Texto VARCHAR(MAX),
Data_Comentario DATE
);

CREATE TABLE Avaliacao (
ID_Avaliacao INT PRIMARY KEY,
ID_Usuario INT FOREIGN KEY REFERENCES Usuario(ID_Usuario),
ID_Conteudo INT FOREIGN KEY REFERENCES Conteudo(ID_Conteudo),
Pontuacao INT,
Data_Avaliacao DATE
);

CREATE TABLE Favorito (
ID_Favorito INT PRIMARY KEY,
ID_Usuario INT FOREIGN KEY REFERENCES Usuario(ID_Usuario),
ID_Conteudo INT FOREIGN KEY REFERENCES Conteudo(ID_Conteudo),
Data_Adicao DATE
);

CREATE TABLE Visualizacao (
ID_Visualizacao INT PRIMARY KEY,
ID_Usuario INT FOREIGN KEY REFERENCES Usuario(ID_Usuario),
ID_Conteudo INT FOREIGN KEY REFERENCES Conteudo(ID_Conteudo),
Data_Visualizacao DATE
);

CREATE TABLE Notificacao (
ID_Notificacao INT PRIMARY KEY,
ID_Usuario INT FOREIGN KEY REFERENCES Usuario(ID_Usuario),
Mensagem VARCHAR(MAX),
Data_Envio DATE
);

INSERT INTO Usuario (ID_Usuario, Nome, Email, Senha, Data_Cadastro)
VALUES
(3, 'Ana Souza', 'ana@example.com', 'senha789', '2022-01-03'),
(4, 'Pedro Santos', 'pedro@example.com', 'senha012', '2022-01-04'),
(5, 'Carla Lima', 'carla@example.com', 'senha345', '2022-01-05'),
(6, 'Marcos Oliveira', 'marcos@example.com', 'senha678', '2022-01-06'),
(7, 'Juliana Silva', 'juliana@example.com', 'senha901', '2022-01-07'),
(8, 'Lucas Costa', 'lucas@example.com', 'senha234', '2022-01-08'),
(9, 'Fernanda Pereira', 'fernanda@example.com', 'senha567', '2022-01-09'),
(10, 'Roberto Almeida', 'roberto@example.com', 'senha890', '2022-01-10'),
(11, 'Amanda Santos', 'amanda@example.com', 'senha123', '2022-01-11'),
(12, 'Ricardo Lima', 'ricardo@example.com', 'senha456', '2022-01-12'),
(13, 'Camila Souza', 'camila@example.com', 'senha789', '2022-01-13'),
(14, 'Gabriel Oliveira', 'gabriel@example.com', 'senha012', '2022-01-14'),
(15, 'Isabela Martins', 'isabela@example.com', 'senha345', '2022-01-15'),
(16, 'Luana Pereira', 'luana@example.com', 'senha678', '2022-01-16'),
(17, 'Diego Silva', 'diego@example.com', 'senha901', '2022-01-17');

INSERT INTO Usuario (ID_Usuario, Nome, Email, Senha, Data_Cadastro)
VALUES
(18, 'Mariana Oliveira', 'mariana@example.com', 'senha123', '2022-01-18'),
(19, 'Gustavo Santos', 'gustavo@example.com', 'senha456', '2022-01-19'),
(20, 'Larissa Lima', 'larissa@example.com', 'senha789', '2022-01-20'),
(21, 'Daniel Costa', 'daniel@example.com', 'senha012', '2022-01-21'),
(22, 'Renata Pereira', 'renata@example.com', 'senha345', '2022-01-22'),
(23, 'Bruno Silva', 'bruno@example.com', 'senha678', '2022-01-23'),
(24, 'Patrícia Souza', 'patricia@example.com', 'senha901', '2022-01-24'),
(25, 'Felipe Oliveira', 'felipe@example.com', 'senha234', '2022-01-25'),
(26, 'Vanessa Santos', 'vanessa@example.com', 'senha567', '2022-01-26'),
(27, 'João Lima', 'joao@example.com', 'senha890', '2022-01-27'),
(28, 'Aline Costa', 'aline@example.com', 'senha123', '2022-01-28'),
(29, 'Gustavo Pereira', 'gustavop@example.com', 'senha456', '2022-01-29'),
(30, 'Mariana Silva', 'marianasilva@example.com', 'senha789', '2022-01-30'),
(31, 'Luciana Oliveira', 'luciana@example.com', 'senha012', '2022-01-31');

-- Perfil
INSERT INTO Perfil (ID_Perfil, ID_Usuario, Nome_Perfil, Data_Criacao)
VALUES
(4, 18, 'Mariana Oliveira', '2022-01-18'),
(5, 19, 'Gustavo Santos', '2022-01-19'),
(6, 20, 'Larissa Lima', '2022-01-20'),
(7, 21, 'Daniel Costa', '2022-01-21'),
(8, 22, 'Renata Pereira', '2022-01-22'),
(9, 23, 'Bruno Silva', '2022-01-23'),
(10, 24, 'Patrícia Souza', '2022-01-24'),
(11, 25, 'Felipe Oliveira', '2022-01-25'),
(12, 26, 'Vanessa Santos', '2022-01-26'),
(13, 27, 'João Lima', '2022-01-27'),
(14, 28, 'Aline Costa', '2022-01-28'),
(15, 29, 'Gustavo Pereira', '2022-01-29'),
(16, 30, 'Mariana Silva', '2022-01-30'),
(17, 31, 'Luciana Oliveira', '2022-01-31');

INSERT INTO Plano (ID_Plano, Nome_Plano, Preco_Mensal)
VALUES
(2, 'Premium', 19.99),
(3, 'Padrão', 9.99),
(4, 'Básico', 4.99),
(5, 'Gratuito', 0.00),
(6, 'Teste', 0.00);

INSERT INTO Assinatura (ID_Assinatura, ID_Usuario, ID_Plano, Data_Inicio, Data_Fim)
VALUES
(2, 18, 2, '2022-01-18', '2023-01-18'),
(3, 19, 3, '2022-01-19', '2023-01-19'),
(4, 20, 4, '2022-01-20', '2023-01-20'),
(5, 21, 5, '2022-01-21', '2023-01-21'),
(6, 22, 6, '2022-01-22', '2023-01-22'),
(7, 23, 2, '2022-01-23', '2023-01-23'),
(8, 24, 3, '2022-01-24', '2023-01-24'),
(9, 25, 4, '2022-01-25', '2023-01-25'),
(10, 26, 5, '2022-01-26', '2023-01-26'),
(11, 27, 6, '2022-01-27', '2023-01-27'),
(12, 28, 2, '2022-01-28', '2023-01-28'),
(13, 29, 3, '2022-01-29', '2023-01-29'),
(14, 30, 4, '2022-01-30', '2023-01-30'),
(15, 31, 5, '2022-01-31', '2023-01-31');

-- ESTRUTURA REALIZADO MARCELO RISSI BASEADO CODIGOFLIX SISTEMA DE FILMES
INSERT INTO Conteudo (ID_Conteudo, Titulo, Descricao, Ano_Lancamento, Diretor)
VALUES
(2, 'Matrix', 'Ficção científica sobre a realidade virtual', 1999, 'Lana Wachowski, Lilly Wachowski'),
(3, 'Interestelar', 'Viagem espacial em busca de um novo lar para a humanidade', 2014, 'Christopher Nolan'),
(4, 'Pulp Fiction', 'Histórias interligadas de gângsteres em Los Angeles', 1994, 'Quentin Tarantino'),
(5, 'Cidade de Deus', 'Ascensão e queda do crime organizado no Rio de Janeiro', 2002, 'Fernando Meirelles, Kátia Lund'),
(6, 'O Senhor dos Anéis: A Sociedade do Anel', 'Uma jornada épica para destruir um anel mágico', 2001, 'Peter Jackson'),
(7, 'Clube da Luta', 'Um executivo entediado cria um clube de luta clandestino', 1999, 'David Fincher'),
(8, 'O Poderoso Chefão', 'A saga de uma família de mafiosos italianos nos Estados Unidos', 1972, 'Francis Ford Coppola'),
(9, 'O Lobo de Wall Street', 'Um corretor da bolsa se envolve em crimes financeiros e excessos', 2013, 'Martin Scorsese'),
(10, 'Forrest Gump', 'Um homem simples vive uma vida extraordinária', 1994, 'Robert Zemeckis'),
(11, 'Vingadores: Ultimato', 'Super-heróis se unem para reverter um evento catastrófico', 2019, 'Anthony Russo, Joe Russo'),
(12, 'A Origem', 'Um ladrão de sonhos executa uma missão de espionagem corporativa', 2010, 'Christopher Nolan'),
(13, 'O Rei Leão', 'Um jovem leão deve enfrentar sua responsabilidade como rei', 1994, 'Roger Allers, Rob Minkoff'),
(14, 'Titanic', 'O romance trágico entre um passageiro pobre e uma socialite', 1997, 'James Cameron'),
(15, 'Avatar', 'Um fuzileiro espacial é enviado para colonizar um planeta alienígena', 2009, 'James Cameron'),
(16, 'Os Intocáveis', 'Um agente federal recruta um grupo de pessoas para derrubar um chefão do crime', 1987, 'Brian De Palma'),
(17, 'O Pianista', 'Um pianista judeu sobrevive à ocupação nazista de Varsóvia', 2002, 'Roman Polanski'),
(18, 'Interestelar', 'Viagem espacial em busca de um novo lar para a humanidade', 2014, 'Christopher Nolan'),
(19, 'A Lista de Schindler', 'Um empresário alemão salva a vida de milhares de judeus durante o Holocausto', 1993, 'Steven Spielberg'),
(20, 'Gladiador', 'Um general romano é traído e se torna um gladiador', 2000, 'Ridley Scott'),
(21, 'Piratas do Caribe: A Maldição do Pérola Negra', 'Um pirata excêntrico busca resgatar sua amada e reverter uma maldição', 2003, 'Gore Verbinski'),
(22, 'O Labirinto do Fauno', 'Uma jovem descobre um mundo de fantasia durante a Guerra Civil Espanhola', 2006, 'Guillermo del Toro'),
(23, 'A Viagem de Chihiro', 'Uma garota se aventura em um mundo mágico para salvar seus pais', 2001, 'Hayao Miyazaki'),
(24, 'Crepúsculo dos Deuses', 'Um roteirista falido se envolve com uma antiga estrela do cinema', 1950, 'Billy Wilder'),
(25, '2001: Uma Odisseia no Espaço', 'A evolução da humanidade vista através de uma jornada espacial', 1968, 'Stanley Kubrick'),
(26, 'Casablanca', 'Um drama romântico ambientado na Segunda Guerra Mundial', 1942, 'Michael Curtiz'),
(27, 'Cidadão Kane', 'A ascensão e queda de um magnata da mídia', 1941, 'Orson Welles'),
(28, 'O Show de Truman', 'Um homem descobre que sua vida é na verdade um programa de TV', 1998, 'Peter Weir'),
(29, 'O Grande Ditador', 'Uma sátira política sobre o fascismo estrelada por Charlie Chaplin', 1940, 'Charles Chaplin'),
(30, 'A Felicidade Não se Compra', 'Um anjo ajuda um homem a entender o verdadeiro significado da vida', 1946, 'Frank Capra');

SELECT * FROM Conteudo;

SELECT Conteudo.ID_Conteudo, Conteudo.Titulo, Avaliacao.Pontuacao
FROM Conteudo
LEFT JOIN Avaliacao ON Conteudo.ID_Conteudo = Avaliacao.ID_Conteudo;

-------------------------------

--REALIZAÇÃO DE TESTES FEITO COM SISTEMA OFFLINE --

-------------------------------

-- PROCEDURE CORRETO
CREATE PROCEDURE ConsultaConteudoAvaliacao
AS
BEGIN
SELECT
Conteudo.ID_Conteudo,
Conteudo.Titulo,
ISNULL(Avaliacao.Pontuacao, 0) AS Pontuacao,
Usuario.Nome AS Nome_Usuario,
Perfil.Nome_Perfil,
COALESCE(Plano.Nome_Plano, 'Sem plano') AS Nome_Plano
FROM
Conteudo
LEFT JOIN Avaliacao ON Conteudo.ID_Conteudo = Avaliacao.ID_Conteudo
LEFT JOIN Usuario ON Avaliacao.ID_Usuario = Usuario.ID_Usuario
LEFT JOIN Perfil ON Usuario.ID_Usuario = Perfil.ID_Usuario
LEFT JOIN Assinatura ON Usuario.ID_Usuario = Assinatura.ID_Usuario
LEFT JOIN Plano ON Assinatura.ID_Plano = Plano.ID_Plano;
END;

CREATE PROCEDURE InserirUsuario
@Nome VARCHAR(100),
@Email VARCHAR(100),
@Senha VARCHAR(50),
@Data_Cadastro DATE
AS
BEGIN
INSERT INTO Usuario (Nome, Email, Senha, Data_Cadastro)
VALUES (@Nome, @Email, @Senha, @Data_Cadastro);
END;

-- REALIZAÇÃO DE TESTES COM PROCEDURE ALAN DIA 15/05/2024

CREATE PROCEDURE AtualizarPlanoAssinatura
@ID_Assinatura INT,
@ID_Plano INT
AS
BEGIN
UPDATE Assinatura
SET ID_Plano = @ID_Plano
WHERE ID_Assinatura = @ID_Assinatura;
END;

CREATE PROCEDURE DeletarConteudo
@ID_Conteudo INT
AS
BEGIN
DELETE FROM Conteudo
WHERE ID_Conteudo = @ID_Conteudo;
END;

-- TESTES REALIZADOS NO DIA 16/06/2024 ALAN

CREATE PROCEDURE ConsultarConteudoPorCategoria
@Nome_Categoria VARCHAR(50)
AS
BEGIN
SELECT
Conteudo.ID_Conteudo,
Conteudo.Titulo,
Conteudo.Descricao,
Conteudo.Ano_Lancamento,
Conteudo.Diretor
FROM
Conteudo
INNER JOIN Conteudo_Categoria ON Conteudo.ID_Conteudo = Conteudo_Categoria.ID_Conteudo
INNER JOIN Categoria ON Conteudo_Categoria.ID_Categoria = Categoria.ID_Categoria
WHERE
Categoria.Nome_Categoria = @Nome_Categoria;
END;

CREATE PROCEDURE ConsultarComentariosPorUsuario
@ID_Usuario INT
AS
BEGIN
SELECT
Comentario.ID_Comentario,
Comentario.Texto,
Comentario.Data_Comentario,
Conteudo.Titulo
FROM
Comentario
INNER JOIN Conteudo ON Comentario.ID_Conteudo = Conteudo.ID_Conteudo
WHERE
Comentario.ID_Usuario = @ID_Usuario;
END;

CREATE PROCEDURE ConsultarPerfisDeUsuarios
AS
BEGIN
SELECT
Usuario.ID_Usuario,
Usuario.Nome AS Nome_Usuario,
Perfil.ID_Perfil,
Perfil.Nome_Perfil,
Perfil.Data_Criacao
FROM
Usuario
INNER JOIN Perfil ON Usuario.ID_Usuario = Perfil.ID_Usuario;
END;

CREATE PROCEDURE ConsultarAssinaturasEPlanos
AS
BEGIN
SELECT
Assinatura.ID_Assinatura,
Usuario.Nome AS Nome_Usuario,
Plano.Nome_Plano,
Assinatura.Data_Inicio,
Assinatura.Data_Fim
FROM
Assinatura
INNER JOIN Usuario ON Assinatura.ID_Usuario = Usuario.ID_Usuario
INNER JOIN Plano ON Assinatura.ID_Plano = Plano.ID_Plano;
END;

CREATE PROCEDURE ConsultarConteudosECategorias
AS
BEGIN
SELECT
Conteudo.ID_Conteudo,
Conteudo.Titulo,
Categoria.Nome_Categoria
FROM
Conteudo
INNER JOIN Conteudo_Categoria ON Conteudo.ID_Conteudo = Conteudo_Categoria.ID_Conteudo
INNER JOIN Categoria ON Conteudo_Categoria.ID_Categoria = Categoria.ID_Categoria;
END;

CREATE PROCEDURE ConsultarComentariosEUsuarios
AS
BEGIN
SELECT
Comentario.ID_Comentario,
Comentario.Texto,
Comentario.Data_Comentario,
Usuario.Nome AS Nome_Usuario
FROM
Comentario
INNER JOIN Usuario ON Comentario.ID_Usuario = Usuario.ID_Usuario;
END;

CREATE TRIGGER AtualizarDataCriacaoPerfil
ON Perfil
AFTER INSERT
AS
BEGIN
UPDATE Perfil
SET Data_Criacao = GETDATE()
WHERE ID_Perfil IN (SELECT ID_Perfil FROM inserted);
END;

CREATE TRIGGER VerificarPrecoPlano
ON Plano
INSTEAD OF INSERT
AS
BEGIN
IF EXISTS (SELECT * FROM inserted WHERE Preco_Mensal < 0)
BEGIN
RAISERROR ('O preço do plano não pode ser negativo.', 16, 1);
END
ELSE
BEGIN
INSERT INTO Plano (ID_Plano, Nome_Plano, Preco_Mensal)
SELECT ID_Plano, Nome_Plano, Preco_Mensal FROM inserted;
END
END;

CREATE TRIGGER AtualizarPontuacaoConteudo
ON Avaliacao
AFTER INSERT, UPDATE, DELETE
AS
BEGIN
DECLARE @ID_Conteudo INT;

SELECT @ID_Conteudo = ID_Conteudo FROM inserted;

UPDATE Conteudo
SET Descricao = (
SELECT AVG(Pontuacao)
FROM Avaliacao
WHERE ID_Conteudo = @ID_Conteudo
)
WHERE ID_Conteudo = @ID_Conteudo;
END;

CREATE TRIGGER EnviarNotificacaoNovoConteudo
ON Conteudo
AFTER INSERT
AS
BEGIN
INSERT INTO Notificacao (ID_Usuario, Mensagem, Data_Envio)
SELECT
Usuario.ID_Usuario,
'Novo conteúdo adicionado: ' + inserted.Titulo,
GETDATE()
FROM
Usuario,
inserted;
END;

SELECT * FROM Usuario;

-- teste realizado 16/06/2024

SELECT * FROM Perfil WHERE ID_Usuario = 1; -- Substitua 1 pelo ID do usuário desejado

--REALIZANDO OUTROS TESTES COM SELECT

SELECT * FROM Plano;

-- TESTE REALIZADO DO PLANO COM SELECT

SELECT Conteudo.Titulo, Categoria.Nome_Categoria
FROM Conteudo
INNER JOIN Conteudo_Categoria ON Conteudo.ID_Conteudo = Conteudo_Categoria.ID_Conteudo
INNER JOIN Categoria ON Conteudo_Categoria.ID_Categoria = Categoria.ID_Categoria;

---------------------------------------------------

-- TESTES DO CONTEUDO ESPECIFICOS NO SISTEMA

SELECT Usuario.Nome, Comentario.Texto, Comentario.Data_Comentario
FROM Comentario
INNER JOIN Usuario ON Comentario.ID_Usuario = Usuario.ID_Usuario
WHERE Comentario.ID_Conteudo = 2; -- ALAN TESTE ID CONTEUDO FAZER ISTO PARA OS DEMAIS
-------------------------------------------------------------

SELECT Usuario.Nome, Avaliacao.Pontuacao, Avaliacao.Data_Avaliacao
FROM Avaliacao
INNER JOIN Usuario ON Avaliacao.ID_Usuario = Usuario.ID_Usuario
WHERE Avaliacao.ID_Conteudo = 3;
----------------------------------------------------------------

SELECT Conteudo.Titulo, Visualizacao.Data_Visualizacao
FROM Visualizacao
INNER JOIN Conteudo ON Visualizacao.ID_Conteudo = Conteudo.ID_Conteudo
WHERE Visualizacao.ID_Usuario = 5;
--------------------------------------------------------------
SELECT Titulo, Diretor FROM Conteudo;

-----------------------------------------
SELECT Conteudo.Titulo, AVG(Avaliacao.Pontuacao) AS Media_Pontuacao
FROM Conteudo
INNER JOIN Avaliacao ON Conteudo.ID_Conteudo = Avaliacao.ID_Conteudo
GROUP BY Conteudo.Titulo;

-------------------------------------------------------------

SELECT Mensagem, Data_Envio
FROM Notificacao
WHERE ID_Usuario = 7; --TESTE FINAL COM SELECT

--------------------------------------------------

CONTEXTUALIZAÇÃO EM MYSQL PARA SISTEMA ONLINE
-- phpMyAdmin SQL Dump
-- version 5.2.1
-- https://www.phpmyadmin.net/
--
-- Host: localhost
-- Tempo de geração: 17/06/2024 às 01:26
-- Versão do servidor: 10.5.20-MariaDB
-- Versão do PHP: 7.3.33

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Banco de dados: `id22055450_etecview`
--

-- --------------------------------------------------------

--
-- Estrutura para tabela `agrupamento`
--

CREATE TABLE `agrupamento` (
`agrupamento_id` int(11) NOT NULL,
`agrupamento_codigo` varchar(20) NOT NULL,
`agrupamento_descricao` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Despejando dados para a tabela `agrupamento`
--

INSERT INTO `agrupamento` (`agrupamento_id`, `agrupamento_codigo`, `agrupamento_descricao`) VALUES
(1, 'teste', 'one'),
(2, 'sistema', 'sistema de dados '),
(3, '103', 'teste teste');

-- --------------------------------------------------------

--
-- Estrutura para tabela `assinatura`
--

CREATE TABLE `assinatura` (
`idAssinatura` int(11) NOT NULL,
`Usuario_idUsuario` int(11) NOT NULL,
`Plano_idPlano` int(11) NOT NULL,
`Data_Inicio` date NOT NULL,
`Data_fim` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

-- --------------------------------------------------------

--
-- Estrutura para tabela `avaliacao`
--

CREATE TABLE `avaliacao` (
`idAvaliacao` int(11) NOT NULL,
`Usuario_idUsuario` int(11) NOT NULL,
`Conteudo_idConteudo` int(11) NOT NULL,
`Pontuacao` int(11) NOT NULL,
`Data_Avaliacao` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

-- --------------------------------------------------------

--
-- Estrutura para tabela `categoria`
--

CREATE TABLE `categoria` (
`idCategoria` int(11) NOT NULL,
`Nome_Categoria` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Despejando dados para a tabela `categoria`
--

INSERT INTO `categoria` (`idCategoria`, `Nome_Categoria`) VALUES
(1, 'Ação'),
(2, 'Ação'),
(3, 'Ação'),
(4, 'Ação'),
(5, 'Ação'),
(6, 'Ação'),
(7, 'Ação'),
(8, 'Ação'),
(9, 'Ação'),
(10, 'Ação'),
(11, 'Ação'),
(12, 'Ação'),
(13, 'Ação'),
(14, 'Ação'),
(15, 'Ação'),
(16, 'Ação'),
(17, 'Aventura'),
(18, 'Aventura'),
(19, 'Aventura'),
(20, 'Aventura'),
(21, 'Aventura'),
(22, 'Aventura'),
(23, 'Aventura'),
(24, 'Aventura'),
(25, 'Aventura'),
(26, 'Aventura'),
(27, 'Aventura'),
(28, 'Aventura'),
(29, 'Aventura'),
(30, 'Aventura'),
(31, 'Aventura'),
(32, 'Aventura'),
(33, 'Heroi'),
(34, 'Heroi'),
(35, 'Heroi'),
(36, 'Heroi'),
(37, 'Heroi'),
(38, 'Heroi'),
(39, 'Heroi'),
(40, 'Heroi'),
(41, 'Heroi'),
(42, 'Heroi'),
(43, 'Heroi'),
(44, 'Heroi'),
(45, 'Heroi'),
(46, 'Heroi'),
(47, 'Heroi'),
(48, 'Heroi'),
(49, 'Ficção Cientifica'),
(50, 'Ficção Cientifica'),
(51, 'Ficção Cientifica'),
(52, 'Ficção Cientifica'),
(53, 'Ficção Cientifica'),
(54, 'Ficção Cientifica'),
(55, 'Ficção Cientifica'),
(56, 'Ficção Cientifica'),
(57, 'Ficção Cientifica'),
(58, 'Ficção Cientifica'),
(59, 'Ficção Cientifica'),
(60, 'Ficção Cientifica'),
(61, 'Ficção Cientifica'),
(62, 'Ficção Cientifica'),
(63, 'Ficção Cientifica'),
(64, 'Ficção Cientifica'),
(65, 'Ficção Cientifica'),
(66, 'Comédia'),
(67, 'Comédia'),
(68, 'Comédia'),
(69, 'Comédia'),
(70, 'Comédia'),
(71, 'Comédia'),
(72, 'Comédia'),
(73, 'Comédia'),
(74, 'Comédia'),
(75, 'Comédia'),
(76, 'Comédia'),
(77, 'Comédia'),
(78, 'Comédia'),
(79, 'Comédia'),
(80, 'Comédia'),
(81, 'Comédia'),
(82, 'Comédia Romantica'),
(83, 'Comédia Romantica'),
(84, 'Comédia Romantica'),
(85, 'Comédia Romantica'),
(86, 'Comédia Romantica'),
(87, 'Comédia Romantica'),
(88, 'Comédia Romantica'),
(89, 'Comédia Romantica'),
(90, 'Comédia Romantica'),
(91, 'Comédia Romantica'),
(92, 'Comédia Romantica'),
(93, 'Comédia Romantica'),
(94, 'Comédia Romantica'),
(95, 'Comédia Romantica'),
(96, 'Comédia Romantica'),
(97, 'Comédia Romantica'),
(98, 'Romance'),
(99, 'Romance'),
(100, 'Romance'),
(101, 'Romance'),
(102, 'Romance'),
(103, 'Romance'),
(104, 'Romance'),
(105, 'Romance'),
(106, 'Romance'),
(107, 'Romance'),
(108, 'Romance'),
(109, 'Romance'),
(110, 'Romance'),
(111, 'Romance'),
(112, 'Romance'),
(113, 'Romance');

-- --------------------------------------------------------

--
-- Estrutura para tabela `cliente`
--

CREATE TABLE `cliente` (
`id` int(11) UNSIGNED NOT NULL,
`nome` varchar(30) DEFAULT NULL,
`email` varchar(30) DEFAULT NULL,
`telefone` int(11) DEFAULT NULL,
`foto` varchar(240) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Despejando dados para a tabela `cliente`
--

INSERT INTO `cliente` (`id`, `nome`, `email`, `telefone`, `foto`) VALUES
(1, 'RAUL SEIXAS', 'raul@tocaraul.com', 1145875962, NULL),
(2, 'RENATO RUSSO', 'legiao@urbana.com', 1146897528, NULL);

-- --------------------------------------------------------

--
-- Estrutura para tabela `cnae`
--

CREATE TABLE `cnae` (
`cnae_id` int(11) NOT NULL,
`cnae_codigo` varchar(20) NOT NULL,
`cnae_descricao` varchar(200) NOT NULL,
`fk_agrupamento_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Despejando dados para a tabela `cnae`
--

INSERT INTO `cnae` (`cnae_id`, `cnae_codigo`, `cnae_descricao`, `fk_agrupamento_id`) VALUES
(1, '200', 'teste de dados sistema', 1),
(2, '100', 'sistema de teste filmes ', 2);

-- --------------------------------------------------------

--
-- Estrutura para tabela `cnae_e_documentacao`
--

CREATE TABLE `cnae_e_documentacao` (
`cnae_e_documentacao_id` int(11) NOT NULL,
`fk_cnae_id` int(11) NOT NULL,
`previa_fk_documentacao_id` int(11) DEFAULT NULL,
`inicial_fk_documentacao_id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Despejando dados para a tabela `cnae_e_documentacao`
--

INSERT INTO `cnae_e_documentacao` (`cnae_e_documentacao_id`, `fk_cnae_id`, `previa_fk_documentacao_id`, `inicial_fk_documentacao_id`) VALUES
(1, 1, 1, 1),
(2, 1, 1, 1);

-- --------------------------------------------------------

--
-- Estrutura para tabela `cnae_e_grau_de_risco`
--

CREATE TABLE `cnae_e_grau_de_risco` (
`cnae_e_grau_de_risco_id` int(11) NOT NULL,
`fk_cnae_id` int(11) NOT NULL,
`fk_grau_de_risco_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Despejando dados para a tabela `cnae_e_grau_de_risco`
--

INSERT INTO `cnae_e_grau_de_risco` (`cnae_e_grau_de_risco_id`, `fk_cnae_id`, `fk_grau_de_risco_id`) VALUES
(1, 1, 1),
(3, 1, 1);

-- --------------------------------------------------------

--
-- Estrutura para tabela `comentario`
--

CREATE TABLE `comentario` (
`idComentario` int(11) NOT NULL,
`Usuario_idUsuario` int(11) NOT NULL,
`Conteudo_idConteudo` int(11) NOT NULL,
`Texto` varchar(255) NOT NULL,
`Data_Comentario` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

-- --------------------------------------------------------

--
-- Estrutura para tabela `compra`
--

CREATE TABLE `compra` (
`idCOMPRA` int(11) NOT NULL,
`PRODUTO` varchar(45) NOT NULL,
`VALOR` double NOT NULL,
`DATA/COMPRA` datetime NOT NULL,
`CLIENTE_idCLIENTE` int(11) NOT NULL,
`VENDEDOR_idVENDEDOR` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

-- --------------------------------------------------------

--
-- Estrutura para tabela `conteudo`
--

CREATE TABLE `conteudo` (
`idConteudo` int(11) NOT NULL,
`Titulo` varchar(100) NOT NULL,
`Descricao` varchar(255) NOT NULL,
`Ano_Lancamento` int(11) NOT NULL,
`Diretor` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Despejando dados para a tabela `conteudo`
--

INSERT INTO `conteudo` (`idConteudo`, `Titulo`, `Descricao`, `Ano_Lancamento`, `Diretor`) VALUES
(1, 'JONH WICK ', 'FILME DESCRIÇÃO TESTE', 2024, 'DIOGUINHO'),
(2, 'Linha de Frente', 'ffrtrgfgsdffegrg', 2007, 'Lagreca'),
(3, 'Celular um grito de socorro', 'filme descritor', 2004, 'Lindomar'),
(4, 'Cash Truck', 'Filme descritor', 2022, 'Renato'),
(5, 'Busca Implacável', 'Filme descritor', 2009, 'Hermes'),
(6, 'Reacher', 'serie descritor', 2021, 'Dioguinho'),
(7, 'Anjos da Noite', 'Filme descritor', 2004, 'Blade'),
(8, 'Rambo First Blood', 'Filme descritor', 1982, 'Stalone'),
(9, 'O Exterminador do Futuro', 'Filme descritor', 1985, 'Arnold mr Olympia'),
(10, 'Peaky Blinders', 'Serie descritor', 2019, 'Tommy Shelby'),
(11, 'Salt', 'Filme descritor', 2005, 'Angel'),
(12, 'G.I.JOE A Origem de Cobra', 'filme descritor', 2006, 'Pepe eu ja tirei a vela'),
(13, 'O protetor', 'filme desritor', 2010, 'Wallace'),
(14, 'The Punisher Marvel', 'serie descritor', 2020, 'Castle Frank'),
(15, 'The Punisher ', 'filme descritor', 2005, 'Frank Castle'),
(16, 'Velozes e Furiosos 10', 'filme descritor', 2022, 'Vin Diesel'),
(17, 'A Mumia 1999', 'filme descritor', 1999, 'Stephen Sommers'),
(18, 'Narnia: O leão, a feiticeira e o guarda-roupa', 'filme descritor', 2005, 'Andrew Adamson'),
(19, 'A Bússola de ouro', 'filme descritor', 2007, ' Chris Weitz'),
(20, 'Guardiões da Galaxia ', 'filme descritor', 2014, 'James Gunn'),
(21, 'Piratas do Caribe: A Maldição do Perola Negra', 'filme descritor', 2003, 'Gore Verbinski'),
(22, 'Viagem ao centro da Terra', 'filme descritor', 2008, 'Eric Brevig'),
(23, 'Harry Potter e a Pedra Filosofal', 'filme descritor', 2001, 'Chris Columbus'),
(24, 'A Lenda do Tesouro Perdido', 'filme descritor', 2004, 'Jon Turteltaub'),
(25, 'As Aventuras de Tintin', 'filme descritor', 2009, 'clint Damon'),
(26, 'O Hobbit ', 'filme descritor', 2012, 'Peter Jackson'),
(27, 'Free Guy: Assumindo o Controle', 'filme descritor', 2021, 'Shawn Levy'),
(28, 'Indiana Jones: E a Arca Perdida', 'filme descritor', 1981, 'Steven Spielberg'),
(29, 'Super Mario o Filme', 'filme descritor', 2022, ' Aaron Horvath, Michael Jelenic'),
(30, 'O Senhor dos Aneis: A sociedade do Anel', 'filme descritor', 2001, 'Peter Jackson'),
(31, 'O Senhor dos Aneis: As Duas Torres', 'filme descritor', 2002, 'Peter Jackson'),
(32, 'O Senhor dos Aneis: O Retorno do Rei', 'filme descritor', 2003, 'Peter Jackson'),
(33, 'Smalville', 'serie descritor', 2001, ' Justin Hartley, Alfred Gough, Geoff Johns, Miles Millar'),
(34, 'Lois&Clark', 'derie descritor', 1993, 'Superman, DC Comics por Jerry Siegel e Joe Shuster'),
(35, 'Superman Returns', 'filme descritor', 2005, 'Bryan Singer'),
(36, 'Superman o Filme', 'filme descritor', 1978, 'Richard Donner'),
(37, 'Batman Serie Animada', 'Animação descritor', 1992, ' Bill Finger (não-creditado); Bob Kane'),
(38, 'Batman tv', 'serie descritor', 1966, 'ABC'),
(39, 'Batman Begins', 'filme descritor', 2005, 'Christopher Nolan'),
(40, 'Batman the Dark Kght', 'filme descritor', 2008, 'Christopher Nolan'),
(41, 'the Batman', 'filme descritor', 2022, 'Matt Reeves'),
(42, 'Batman the movie', 'filme descritor', 1989, 'Tim Burton'),
(43, 'Spider-Man', 'filme descritor', 2002, 'Sam Raimi'),
(44, 'Spider-Man No Way Home', 'filme descritor', 2021, 'Jon Watts'),
(45, 'the Punisher War-Zone', 'filme descritor', 2008, 'Lexi Alexander'),
(46, 'the Punisher', 'filme descritor', 2004, 'Jonathan Hensleigh'),
(47, 'Hellboy', 'filme descritor', 2004, 'Guilherme del Toro'),
(48, 'Liga da Justiça', 'Animação', 2001, 'Warner Brothers'),
(49, 'A Batalha de Ridick', 'filme descritor', 2004, 'David Twohy'),
(50, 'Alien Romulus', 'filme descritor', 2024, 'Fede Alvarez'),
(51, 'Inimigo Meu', 'filme descritor', 1985, 'Wolfgang Peterson'),
(52, 'Homens de Preto', 'filme descritor', 1997, 'Brry Sonnenfeld'),
(53, 'Mandalorian', 'serie descritor', 20219, 'Jon Favreau'),
(54, 'PROMETHEUS', 'filme descritor', 2012, 'Ridley Scott'),
(55, 'Zathura', 'filme descritor', 2005, 'Jon Favreau'),
(56, 'Perdidos no Espaço', 'serie descritor', 1998, 'Stephen Hopkins'),
(57, 'Perdido em Marte', 'filme descritor', 2015, 'Ridley Scott'),
(58, 'Moonfall', 'filme descritor', 2022, 'Roland Emmerich'),
(59, 'De Volta para o Futuro', 'filme descritor', 1985, 'Robert Zemeckis'),
(60, 'Arquivo X', 'serie descritor', 1993, ' David Duchovny'),
(61, 'Interstellar', 'filme descritor', 2014, 'Christopher Nolan'),
(62, 'Robocop', 'filme descritor', 1987, 'Paul Verhoeven'),
(63, 'Elysium', 'filme descritor', 2013, 'Neill Blomkamp'),
(64, 'Invasão do Mundo: Batalha de Los Angeles', 'filme descritor', 2011, 'Jonathan Liebesman'),
(65, 'Independence Day', 'filme descritor', 1996, 'Roland Emmerich'),
(66, 'Loucademia de Policia 2', 'filme descritor', 1985, 'Jerry Paris'),
(67, 'American Pie o Ultimo Stifler virgem', 'filme descritor', 2006, 'Joe Nussbaum'),
(68, 'Os Simpsons ', 'filme descritor', 2007, 'David Silverman'),
(69, 'Se Beber não Case', 'filme descritor', 2009, 'Todd Phillips'),
(70, 'Borat', 'filme descritor', 2007, 'Larry Charles'),
(71, 'Superbad', 'filme descritor', 2007, 'Greg Mottola'),
(72, 'Detroit Rock City', 'filme descritor', 1999, 'Adam Rifkin'),
(73, 'Diario de um Banana Rodrick é o Cara', 'filme descritor', 2011, 'David Bowers'),
(74, 'South Park', 'Animação descritor', 1997, 'Trey Parker e Matt Stone'),
(75, 'As Branquelas', 'filme descritor', 2004, 'Keenen Ivory Wayans'),
(76, 'Esqueceram de Mim', 'filme descritor', 1990, 'Chris Columbus'),
(77, 'Hermes & Renato', 'serie descritor', 1999, 'Fausto Fanti'),
(78, 'Quanto mais Idiota Melhor ', 'filme descritor', 1993, 'Stephen Surjik'),
(79, 'Escola de Rock', 'filme descritor', 2004, 'Richard Linklater'),
(80, 'FRIENDS', 'serie descritor', 1994, 'David Crane; Marta Kauffman'),
(81, 'Um Herói de Brinquedo', 'filme descritor', 1996, 'Brian Levant'),
(82, 'Como perder um homem em 10 dias', 'filme descritor', 2003, 'Donald Petrie'),
(83, 'Hitch conselheiro amoroso', 'filme descritor', 2005, 'Andy Tennant'),
(84, 'Penelope', 'filme descritor', 2008, 'Mark Palansky'),
(85, 'A Proposta', 'filme descritor', 2009, 'Anne Fletcher'),
(86, 'Derrepente 30', 'filme descritor', 2004, 'Gary Winick'),
(87, 'Cartas para Julieta', 'filme descritor', 2010, 'Gary Winick'),
(88, 'Como se fosse a primeira vez', 'filme descritor', 2004, 'Peter Segal'),
(89, 'O diabo veste Prada', 'filme descritor', 2006, 'David Frankel'),
(90, 'Diario de uma Princesa ', 'filme descritor', 2002, 'Garry Marshall'),
(91, 'Casamento Grego', 'filme descritor', 2002, 'Joel Zwick'),
(92, 'Sorte no Amor', 'filme descritor', 2006, 'Donald Petrie'),
(93, 'Que Horas eu te Pego', 'filme descritor', 2023, 'Gene Stupnitsky'),
(94, 'E se Fosse Verdade', 'filme descritor', 2005, 'Mark Waters'),
(95, 'Amizade Colorida', 'filme descritor', 2011, 'Will Gluck'),
(96, 'O Casamento do Meu Melhor Amigo', 'filme descritor', 1997, 'P. J. Hogan'),
(97, 'O Amor não tira Férias', 'filme descritor', 2006, 'Nancy Meyers'),
(98, 'Como Eu Era Antes de Voçê', 'filme descritor', 2016, 'Thea Sharrock'),
(99, 'O Amor Mandou Mensagem', 'filme descritor', 2023, 'James C. Strouse'),
(100, 'Titanic', 'filme descritor', 1998, 'James Cameron'),
(101, 'A Casa do Lago', 'filme descritor', 2006, 'Alejandro Agresti'),
(102, 'Enquanto Voçê Dormia', 'filme descritor', 1995, 'Jon Turteltaub'),
(103, 'O Amor não tira Férias', 'filme descritor', 2006, 'Nancy Meyers'),
(104, 'Um Homem de Sorte', 'filme descritor', 2012, 'Robert Scott Hicks'),
(105, 'Ghost do Outro Lado da Vida', 'filme descritor', 1990, 'Jerry Zucker'),
(106, 'Um Lugar Chamado Notting Hill', 'filme descritor', 1999, 'Roger Michell'),
(107, 'Espaço entre Nós ', 'filme descritor', 2017, 'Peter Chelsom'),
(108, 'Brilho Eterno de uma Mente sem Lembranças ', 'filme descritor', 2004, 'Michel Gondry'),
(109, 'Questão de Tempo', 'filme descritor', 2013, 'Richard Curtis'),
(110, 'A incrivel História de Adaline', 'filme descritor', 2015, 'Lee Toland Krieger'),
(111, 'Todo Dia', 'filme descritor', 2018, 'Michael Sucsy'),
(112, 'O Curioso Caso de Benjamin Button', 'filme descritor', 2009, 'David Fincher'),
(113, 'Te Amarei para Sempre', 'filme descritor ', 2009, 'Robert Schwentke');

-- --------------------------------------------------------

--
-- Estrutura para tabela `conteudo_categoria`
--

CREATE TABLE `conteudo_categoria` (
`idConteudo_Categoria` int(11) NOT NULL,
`Conteudo_idConteudo` int(11) NOT NULL,
`Categoria_idCategoria` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Despejando dados para a tabela `conteudo_categoria`
--

INSERT INTO `conteudo_categoria` (`idConteudo_Categoria`, `Conteudo_idConteudo`, `Categoria_idCategoria`) VALUES
(1, 1, 1),
(2, 2, 2),
(3, 3, 3),
(4, 4, 4),
(5, 5, 5),
(6, 6, 6),
(7, 7, 7),
(8, 8, 8),
(9, 9, 9),
(10, 10, 10),
(11, 11, 11),
(12, 12, 12),
(13, 13, 13),
(14, 14, 14),
(15, 15, 15),
(16, 16, 16),
(17, 17, 17),
(18, 18, 18),
(19, 19, 19),
(20, 20, 20),
(21, 21, 21),
(22, 22, 22),
(23, 23, 23),
(24, 24, 24),
(25, 25, 25),
(26, 26, 26),
(27, 27, 27),
(28, 28, 28),
(29, 29, 29),
(30, 30, 30),
(31, 31, 31),
(32, 32, 32),
(33, 33, 33),
(34, 34, 34),
(35, 35, 35),
(36, 36, 36),
(37, 37, 37),
(38, 38, 38),
(39, 39, 39),
(40, 40, 40),
(41, 42, 42),
(43, 43, 43),
(44, 44, 44),
(45, 45, 45),
(46, 46, 46),
(47, 47, 47),
(48, 48, 48),
(49, 49, 49),
(50, 50, 50),
(51, 51, 51),
(52, 52, 52),
(53, 53, 53),
(54, 54, 54),
(55, 55, 55),
(56, 56, 56),
(57, 57, 57),
(58, 58, 58),
(59, 59, 59),
(60, 60, 60),
(61, 61, 61),
(62, 62, 62),
(63, 63, 63),
(64, 64, 64),
(65, 65, 65),
(66, 66, 66),
(67, 67, 67),
(68, 68, 68),
(69, 69, 69),
(70, 70, 70),
(71, 71, 71),
(72, 72, 72),
(73, 73, 73),
(74, 74, 74),
(75, 75, 75),
(76, 76, 76),
(77, 77, 77),
(78, 78, 78),
(79, 79, 79),
(80, 80, 80),
(81, 81, 81),
(82, 82, 82),
(83, 83, 83),
(84, 84, 84),
(85, 85, 85),
(86, 86, 86),
(87, 87, 87),
(88, 88, 88),
(89, 89, 89),
(90, 90, 90),
(91, 91, 91),
(92, 92, 92),
(93, 93, 93),
(94, 94, 94),
(95, 95, 95),
(96, 96, 96),
(97, 97, 97),
(98, 98, 98),
(99, 99, 99),
(100, 100, 100),
(101, 101, 101),
(102, 102, 102),
(103, 103, 103),
(104, 104, 104),
(105, 105, 105);

-- --------------------------------------------------------

--
-- Estrutura para tabela `documentacao`
--

CREATE TABLE `documentacao` (
`documentacao_id` int(11) NOT NULL,
`documentacao_codigo` varchar(20) NOT NULL,
`documentacao_descricao` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Despejando dados para a tabela `documentacao`
--

INSERT INTO `documentacao` (`documentacao_id`, `documentacao_codigo`, `documentacao_descricao`) VALUES
(1, '200', 'teste de dados onde');

-- --------------------------------------------------------

--
-- Estrutura para tabela `favorito`
--

CREATE TABLE `favorito` (
`idFavorito` int(11) NOT NULL,
`Usuario_idUsuario` int(11) NOT NULL,
`Conteudo_idConteudo` int(11) NOT NULL,
`Data_Adicao` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

-- --------------------------------------------------------

--
-- Estrutura para tabela `grau_de_risco`
--

CREATE TABLE `grau_de_risco` (
`grau_de_risco_id` int(11) NOT NULL,
`grau_de_risco_codigo` varchar(20) NOT NULL,
`grau_de_risco_descricao` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Despejando dados para a tabela `grau_de_risco`
--

INSERT INTO `grau_de_risco` (`grau_de_risco_id`, `grau_de_risco_codigo`, `grau_de_risco_descricao`) VALUES
(1, '200', '01'),
(3, '205', 'filmes teste');

-- --------------------------------------------------------

--
-- Estrutura para tabela `notificacao`
--

CREATE TABLE `notificacao` (
`idNotificacao` int(11) NOT NULL,
`Usuario_idUsuario` int(11) NOT NULL,
`Mensagem` varchar(255) NOT NULL,
`Data_Envio` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

-- --------------------------------------------------------

--
-- Estrutura para tabela `perfil`
--

CREATE TABLE `perfil` (
`idPerfil` int(11) NOT NULL,
`Usuario_idUsuario` int(11) NOT NULL,
`Nome_Perfil` varchar(50) NOT NULL,
`Data_Criacao` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

-- --------------------------------------------------------

--
-- Estrutura para tabela `pessoa`
--

CREATE TABLE `pessoa` (
`id` int(11) NOT NULL,
`nome` varchar(25) NOT NULL,
`nascimento` date NOT NULL,
`endereco` varchar(99) NOT NULL,
`telefone` varchar(15) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Despejando dados para a tabela `pessoa`
--

INSERT INTO `pessoa` (`id`, `nome`, `nascimento`, `endereco`, `telefone`) VALUES
(2, 'Beatriz Souza', '1941-08-10', 'Rua Botoes de Ouro, 968', '(13) 5036-4135'),
(9, 'Charlinho', '1998-05-15', 'rua sa0o vaguinão', '458795214'),
(10, 'julia', '2001-06-21', 'rua da pitanga', '1125489657'),
(11, 'julia', '2001-06-21', 'rua da pitanga', '1125489657'),
(12, 'teste', '2024-05-17', 'rua mamore', '01145875693');

-- --------------------------------------------------------

--
-- Estrutura para tabela `plano`
--

CREATE TABLE `plano` (
`idPlano` int(11) NOT NULL,
`Nome_Plano` varchar(50) NOT NULL,
`Preco_Mensal` decimal(10,2) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

-- --------------------------------------------------------

--
-- Estrutura para tabela `usuario`
--

CREATE TABLE `usuario` (
`idUsuario` int(11) NOT NULL,
`Nome` varchar(100) NOT NULL,
`Email` varchar(50) NOT NULL,
`Senha` varchar(50) NOT NULL,
`Data_Cadastro` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Despejando dados para a tabela `usuario`
--

INSERT INTO `usuario` (`idUsuario`, `Nome`, `Email`, `Senha`, `Data_Cadastro`) VALUES
(1, 'MARIA ANTONIA ', 'maria@gmail.com', 'adminmaria', '2024-05-01');

-- --------------------------------------------------------

--
-- Estrutura para tabela `visualizacao`
--

CREATE TABLE `visualizacao` (
`idVisiualizacao` int(11) NOT NULL,
`Usuario_idUsuario` int(11) NOT NULL,
`Conteudo_idConteudo` int(11) NOT NULL,
`Data_Visualizacao` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Índices para tabelas despejadas
--

--
-- Índices de tabela `agrupamento`
--
ALTER TABLE `agrupamento`
ADD PRIMARY KEY (`agrupamento_id`),
ADD UNIQUE KEY `agrupamento_id_UNIQUE` (`agrupamento_id`),
ADD UNIQUE KEY `agrupamento_codigo_UNIQUE` (`agrupamento_codigo`);

--
-- Índices de tabela `assinatura`
--
ALTER TABLE `assinatura`
ADD PRIMARY KEY (`idAssinatura`,`Usuario_idUsuario`,`Plano_idPlano`),
ADD KEY `fk_Assinatura_Usuario1_idx` (`Usuario_idUsuario`),
ADD KEY `fk_Assinatura_Plano1_idx` (`Plano_idPlano`);

--
-- Índices de tabela `avaliacao`
--
ALTER TABLE `avaliacao`
ADD PRIMARY KEY (`idAvaliacao`,`Usuario_idUsuario`,`Conteudo_idConteudo`),
ADD KEY `fk_Avaliacao_Usuario1_idx` (`Usuario_idUsuario`),
ADD KEY `fk_Avaliacao_Conteudo1_idx` (`Conteudo_idConteudo`);

--
-- Índices de tabela `categoria`
--
ALTER TABLE `categoria`
ADD PRIMARY KEY (`idCategoria`);

--
-- Índices de tabela `cliente`
--
ALTER TABLE `cliente`
ADD PRIMARY KEY (`id`);

--
-- Índices de tabela `cnae`
--
ALTER TABLE `cnae`
ADD PRIMARY KEY (`cnae_id`),
ADD UNIQUE KEY `cnae_id_UNIQUE` (`cnae_id`),
ADD UNIQUE KEY `cnae_codigo_UNIQUE` (`cnae_codigo`),
ADD KEY `fk_cnae_agrupamento_idx` (`fk_agrupamento_id`);

--
-- Índices de tabela `cnae_e_documentacao`
--
ALTER TABLE `cnae_e_documentacao`
ADD PRIMARY KEY (`cnae_e_documentacao_id`),
ADD UNIQUE KEY `cnae_e_documentacao_id_UNIQUE` (`cnae_e_documentacao_id`),
ADD KEY `fk_cnae_e_documentacao_cnae1_idx` (`fk_cnae_id`),
ADD KEY `fk_cnae_e_documentacao_documentacao1_idx` (`previa_fk_documentacao_id`),
ADD KEY `fk_cnae_e_documentacao_documentacao2_idx` (`inicial_fk_documentacao_id`);

--
-- Índices de tabela `cnae_e_grau_de_risco`
--
ALTER TABLE `cnae_e_grau_de_risco`
ADD PRIMARY KEY (`cnae_e_grau_de_risco_id`),
ADD UNIQUE KEY `cnae_e_grau_de_risco_id_UNIQUE` (`cnae_e_grau_de_risco_id`),
ADD KEY `fk_cnae_e_grau_de_risco_cnae1_idx` (`fk_cnae_id`),
ADD KEY `fk_cnae_e_grau_de_risco_grau_de_risco1_idx` (`fk_grau_de_risco_id`);

--
-- Índices de tabela `comentario`
--
ALTER TABLE `comentario`
ADD PRIMARY KEY (`idComentario`,`Usuario_idUsuario`,`Conteudo_idConteudo`),
ADD KEY `fk_Comentario_Usuario1_idx` (`Usuario_idUsuario`),
ADD KEY `fk_Comentario_Conteudo1_idx` (`Conteudo_idConteudo`);

--
-- Índices de tabela `conteudo`
--
ALTER TABLE `conteudo`
ADD PRIMARY KEY (`idConteudo`);

--
-- Índices de tabela `conteudo_categoria`
--
ALTER TABLE `conteudo_categoria`
ADD PRIMARY KEY (`idConteudo_Categoria`,`Conteudo_idConteudo`,`Categoria_idCategoria`),
ADD KEY `fk_Conteudo_Categoria_Conteudo1_idx` (`Conteudo_idConteudo`),
ADD KEY `fk_Conteudo_Categoria_Categoria1_idx` (`Categoria_idCategoria`);

--
-- Índices de tabela `documentacao`
--
ALTER TABLE `documentacao`
ADD PRIMARY KEY (`documentacao_id`),
ADD UNIQUE KEY `documentacao_id_UNIQUE` (`documentacao_id`),
ADD UNIQUE KEY `documentacao_codigo_UNIQUE` (`documentacao_codigo`);

--
-- Índices de tabela `favorito`
--
ALTER TABLE `favorito`
ADD PRIMARY KEY (`idFavorito`,`Usuario_idUsuario`,`Conteudo_idConteudo`),
ADD KEY `fk_Favorito_Usuario1_idx` (`Usuario_idUsuario`),
ADD KEY `fk_Favorito_Conteudo1_idx` (`Conteudo_idConteudo`);

--
-- Índices de tabela `grau_de_risco`
--
ALTER TABLE `grau_de_risco`
ADD PRIMARY KEY (`grau_de_risco_id`),
ADD UNIQUE KEY `grau_de_risco_codigo_UNIQUE` (`grau_de_risco_codigo`),
ADD UNIQUE KEY `grau_de_risco_id_UNIQUE` (`grau_de_risco_id`);

--
-- Índices de tabela `notificacao`
--
ALTER TABLE `notificacao`
ADD PRIMARY KEY (`idNotificacao`,`Usuario_idUsuario`),
ADD KEY `fk_Notificacao_Usuario1_idx` (`Usuario_idUsuario`);

--
-- Índices de tabela `perfil`
--
ALTER TABLE `perfil`
ADD PRIMARY KEY (`idPerfil`,`Usuario_idUsuario`),
ADD KEY `fk_Perfil_Usuario_idx` (`Usuario_idUsuario`);

--
-- Índices de tabela `pessoa`
--
ALTER TABLE `pessoa`
ADD PRIMARY KEY (`id`);

--
-- Índices de tabela `plano`
--
ALTER TABLE `plano`
ADD PRIMARY KEY (`idPlano`);

--
-- Índices de tabela `usuario`
--
ALTER TABLE `usuario`
ADD PRIMARY KEY (`idUsuario`);

--
-- Índices de tabela `visualizacao`
--
ALTER TABLE `visualizacao`
ADD PRIMARY KEY (`idVisiualizacao`,`Usuario_idUsuario`,`Conteudo_idConteudo`),
ADD KEY `fk_Visiualizacao_Usuario1_idx` (`Usuario_idUsuario`),
ADD KEY `fk_Visiualizacao_Conteudo1_idx` (`Conteudo_idConteudo`);

--
-- AUTO_INCREMENT para tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `agrupamento`
--
ALTER TABLE `agrupamento`
MODIFY `agrupamento_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT de tabela `cliente`
--
ALTER TABLE `cliente`
MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;

--
-- AUTO_INCREMENT de tabela `cnae`
--
ALTER TABLE `cnae`
MODIFY `cnae_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de tabela `cnae_e_documentacao`
--
ALTER TABLE `cnae_e_documentacao`
MODIFY `cnae_e_documentacao_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=201;

--
-- AUTO_INCREMENT de tabela `cnae_e_grau_de_risco`
--
ALTER TABLE `cnae_e_grau_de_risco`
MODIFY `cnae_e_grau_de_risco_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT de tabela `documentacao`
--
ALTER TABLE `documentacao`
MODIFY `documentacao_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de tabela `grau_de_risco`
--
ALTER TABLE `grau_de_risco`
MODIFY `grau_de_risco_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT de tabela `pessoa`
--
ALTER TABLE `pessoa`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

--
-- Restrições para tabelas despejadas
--

--
-- Restrições para tabelas `assinatura`
--
ALTER TABLE `assinatura`
ADD CONSTRAINT `fk_Assinatura_Plano1` FOREIGN KEY (`Plano_idPlano`) REFERENCES `plano` (`idPlano`),
ADD CONSTRAINT `fk_Assinatura_Usuario1` FOREIGN KEY (`Usuario_idUsuario`) REFERENCES `usuario` (`idUsuario`);

--
-- Restrições para tabelas `avaliacao`
--
ALTER TABLE `avaliacao`
ADD CONSTRAINT `fk_Avaliacao_Conteudo1` FOREIGN KEY (`Conteudo_idConteudo`) REFERENCES `conteudo` (`idConteudo`),
ADD CONSTRAINT `fk_Avaliacao_Usuario1` FOREIGN KEY (`Usuario_idUsuario`) REFERENCES `usuario` (`idUsuario`);

--
-- Restrições para tabelas `cnae`
--
ALTER TABLE `cnae`
ADD CONSTRAINT `fk_cnae_agrupamento` FOREIGN KEY (`fk_agrupamento_id`) REFERENCES `agrupamento` (`agrupamento_id`);

--
-- Restrições para tabelas `cnae_e_documentacao`
--
ALTER TABLE `cnae_e_documentacao`
ADD CONSTRAINT `fk_cnae_e_documentacao_cnae1` FOREIGN KEY (`fk_cnae_id`) REFERENCES `cnae` (`cnae_id`),
ADD CONSTRAINT `fk_cnae_e_documentacao_documentacao1` FOREIGN KEY (`previa_fk_documentacao_id`) REFERENCES `documentacao` (`documentacao_id`),
ADD CONSTRAINT `fk_cnae_e_documentacao_documentacao2` FOREIGN KEY (`inicial_fk_documentacao_id`) REFERENCES `documentacao` (`documentacao_id`);

--
-- Restrições para tabelas `cnae_e_grau_de_risco`
--
ALTER TABLE `cnae_e_grau_de_risco`
ADD CONSTRAINT `fk_cnae_e_grau_de_risco_cnae1` FOREIGN KEY (`fk_cnae_id`) REFERENCES `cnae` (`cnae_id`),
ADD CONSTRAINT `fk_cnae_e_grau_de_risco_grau_de_risco1` FOREIGN KEY (`fk_grau_de_risco_id`) REFERENCES `grau_de_risco` (`grau_de_risco_id`);

--
-- Restrições para tabelas `comentario`
--
ALTER TABLE `comentario`
ADD CONSTRAINT `fk_Comentario_Conteudo1` FOREIGN KEY (`Conteudo_idConteudo`) REFERENCES `conteudo` (`idConteudo`),
ADD CONSTRAINT `fk_Comentario_Usuario1` FOREIGN KEY (`Usuario_idUsuario`) REFERENCES `usuario` (`idUsuario`);

--
-- Restrições para tabelas `conteudo_categoria`
--
ALTER TABLE `conteudo_categoria`
ADD CONSTRAINT `fk_Conteudo_Categoria_Categoria1` FOREIGN KEY (`Categoria_idCategoria`) REFERENCES `categoria` (`idCategoria`),
ADD CONSTRAINT `fk_Conteudo_Categoria_Conteudo1` FOREIGN KEY (`Conteudo_idConteudo`) REFERENCES `conteudo` (`idConteudo`);

--
-- Restrições para tabelas `favorito`
--
ALTER TABLE `favorito`
ADD CONSTRAINT `fk_Favorito_Conteudo1` FOREIGN KEY (`Conteudo_idConteudo`) REFERENCES `conteudo` (`idConteudo`),
ADD CONSTRAINT `fk_Favorito_Usuario1` FOREIGN KEY (`Usuario_idUsuario`) REFERENCES `usuario` (`idUsuario`);

--
-- Restrições para tabelas `notificacao`
--
ALTER TABLE `notificacao`
ADD CONSTRAINT `fk_Notificacao_Usuario1` FOREIGN KEY (`Usuario_idUsuario`) REFERENCES `usuario` (`idUsuario`);

--
-- Restrições para tabelas `perfil`
--
ALTER TABLE `perfil`
ADD CONSTRAINT `fk_Perfil_Usuario` FOREIGN KEY (`Usuario_idUsuario`) REFERENCES `usuario` (`idUsuario`);

--
-- Restrições para tabelas `visualizacao`
--
ALTER TABLE `visualizacao`
ADD CONSTRAINT `fk_Visiualizacao_Conteudo1` FOREIGN KEY (`Conteudo_idConteudo`) REFERENCES `conteudo` (`idConteudo`),
ADD CONSTRAINT `fk_Visiualizacao_Usuario1` FOREIGN KEY (`Usuario_idUsuario`) REFERENCES `usuario` (`idUsuario`);
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

CONCLUSÃO

MODELAGEM DESIGN BANCO DE DADOS

SISTEMA STREAMING EM FUNCIONAMENTO COM BANCO DE DADOS ONLINE

REFERÊNCIAS

1. Silberschatz, A., Korth, H. F., & Sudarshan, S. (2010). *Database System Concepts*. McGraw-Hill.

2. Ramakrishnan, R., & Gehrke, J. (2003). *Database Management Systems*. McGraw-Hill.

3. Elmasri, R., & Navathe, S. B. (2015). *Fundamentals of Database Systems*. Pearson.

4. Winand, M. (2014). *SQL Performance Explained*. Markus Winand.

5. Sadalage, P. J., & Fowler, M. (2012). *NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence*. Addison-Wesley Professional.

6. Kimball, R., & Ross, M. (2013). *The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling*. Wiley.

7. Hoffer, J. A., Venkataraman, R., & Topi, H. (2018). *Modern Database Management*. Pearson.

8. Kleppmann, M. (2017). *Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems*. O'Reilly Media.