... | ... | @@ -15,7 +15,7 @@ Aqui deve ser explicado com modelos e explicações como o Banco de Dados foi co |
|
|
<p><b>usuario: </b>Como o sistema de login será utilizando login com o Google, armazenaremos somente o email do usuario (PK, para poder relaciona-lo com outras entidades), nome e foto de perfil.</p>
|
|
|
<p><b>filme: </b>De acordo com as definicões retiradas das reuniões com os stakeholders, sobre filmes é necessário armazenar: título, título original, sinopse, crítica, curador que botou o filme no sistema, ano de lançamento, e o path para o banner do filme. Além disso também estamos utilizando um idFilme como PK.</p>
|
|
|
<p><b>conquista: </b>De acordo com as definicões retiradas das reuniões com os stakeholders, sobre conquistas é necessário armazenar: titulo, descricao, e imagem da conqusita. Além disso também estamos usando um id como PK e armazenando a meta que o usuário precisa alcançar para obter a conquista.</p>
|
|
|
<p><b>tag: De acordo com as definicões retiradas das reuniões com os stakeholders, sobre tags é necessário armazenar: somente o seu nome, mas também utilizamos um ID como PK.</b></p>
|
|
|
<p><b>tag: </b>De acordo com as definicões retiradas das reuniões com os stakeholders, sobre tags é necessário armazenar: somente o seu nome, mas também utilizamos um ID como PK.</p>
|
|
|
<p><b>plataforma: </b>De acordo com as definicões retiradas das reuniões com os stakeholders, sobre plataforma é necessário armazenar: somente o seu nome, mas também utilizamos um ID como PK.</p>
|
|
|
|
|
|
<h2><b>Entidades de relacionamento: </b></h2>
|
... | ... | @@ -33,6 +33,144 @@ Aqui deve ser explicado com modelos e explicações como o Banco de Dados foi co |
|
|
<h3><b>Sobre conquistas: </b></h3>
|
|
|
<p><b>conquista_filme: </b> Entidade de relacionamento feita para armazenar os filmes relacionadios à uma conquista específica.</p>
|
|
|
<p><b>conquista_tag: </b> Entidade de relacionamento feita para armazenar as tags relacionadas à uma conquista específica.</p>
|
|
|
<h2>Script SQL gerado a partir do modelo lógico (astah): </h2>
|
|
|
CREATE TABLE conquista (
|
|
|
idConquista CHAR(10) NOT NULL,
|
|
|
titulo VARCHAR(100) NOT NULL,
|
|
|
descricao VARCHAR(200) NOT NULL,
|
|
|
pathImagem VARCHAR(100) NOT NULL,
|
|
|
metaPontuacao INT NOT NULL
|
|
|
);
|
|
|
|
|
|
ALTER TABLE conquista ADD CONSTRAINT PK_conquista PRIMARY KEY (idConquista);
|
|
|
|
|
|
|
|
|
CREATE TABLE plataforma (
|
|
|
idPlataforma INT NOT NULL,
|
|
|
nome VARCHAR(100) NOT NULL
|
|
|
);
|
|
|
|
|
|
ALTER TABLE plataforma ADD CONSTRAINT PK_plataforma PRIMARY KEY (idPlataforma);
|
|
|
|
|
|
|
|
|
CREATE TABLE tag (
|
|
|
idTag INT NOT NULL,
|
|
|
nome VARCHAR(100) NOT NULL
|
|
|
);
|
|
|
|
|
|
ALTER TABLE tag ADD CONSTRAINT PK_tag PRIMARY KEY (idTag);
|
|
|
|
|
|
|
|
|
CREATE TABLE usuario (
|
|
|
email VARCHAR(100) NOT NULL,
|
|
|
aleatoriedade DOUBLE PRECISION NOT NULL
|
|
|
);
|
|
|
|
|
|
ALTER TABLE usuario ADD CONSTRAINT PK_usuario PRIMARY KEY (email);
|
|
|
|
|
|
|
|
|
CREATE TABLE usuario_conquista (
|
|
|
email VARCHAR(100) NOT NULL,
|
|
|
idConquista CHAR(10) NOT NULL,
|
|
|
atualPontuacao INT NOT NULL
|
|
|
);
|
|
|
|
|
|
ALTER TABLE usuario_conquista ADD CONSTRAINT PK_usuario_conquista PRIMARY KEY (email,idConquista);
|
|
|
|
|
|
|
|
|
CREATE TABLE filme (
|
|
|
idFilme INT NOT NULL,
|
|
|
titulo VARCHAR(100) NOT NULL,
|
|
|
tituloOriginal VARCHAR(100) NOT NULL,
|
|
|
sinopse VARCHAR(500) NOT NULL,
|
|
|
critica VARCHAR(500) NOT NULL,
|
|
|
curador VARCHAR(50) NOT NULL,
|
|
|
ano NCHAR(4) NOT NULL,
|
|
|
pathBanner VARCHAR(100) NOT NULL
|
|
|
);
|
|
|
|
|
|
ALTER TABLE filme ADD CONSTRAINT PK_filme PRIMARY KEY (idFilme);
|
|
|
|
|
|
|
|
|
CREATE TABLE filme_plataforma (
|
|
|
idPlataforma INT NOT NULL,
|
|
|
idFilme INT NOT NULL
|
|
|
);
|
|
|
|
|
|
ALTER TABLE filme_plataforma ADD CONSTRAINT PK_filme_plataforma PRIMARY KEY (idPlataforma,idFilme);
|
|
|
|
|
|
|
|
|
CREATE TABLE filme_tag (
|
|
|
idTag INT NOT NULL,
|
|
|
idFilme INT NOT NULL,
|
|
|
super BIT(1) NOT NULL,
|
|
|
peso INT NOT NULL
|
|
|
);
|
|
|
|
|
|
ALTER TABLE filme_tag ADD CONSTRAINT PK_filme_tag PRIMARY KEY (idTag,idFilme);
|
|
|
|
|
|
|
|
|
CREATE TABLE jaVi (
|
|
|
email VARCHAR(100) NOT NULL,
|
|
|
idFilme INT NOT NULL,
|
|
|
gostei BIT(1) NOT NULL
|
|
|
);
|
|
|
|
|
|
ALTER TABLE jaVi ADD CONSTRAINT PK_jaVi PRIMARY KEY (email,idFilme);
|
|
|
|
|
|
|
|
|
CREATE TABLE preferencia_plataforma (
|
|
|
email VARCHAR(100) NOT NULL,
|
|
|
idPlataforma INT NOT NULL
|
|
|
);
|
|
|
|
|
|
ALTER TABLE preferencia_plataforma ADD CONSTRAINT PK_preferencia_plataforma PRIMARY KEY (email,idPlataforma);
|
|
|
|
|
|
|
|
|
CREATE TABLE preferencia_tag (
|
|
|
email VARCHAR(100) NOT NULL,
|
|
|
idTag INT NOT NULL
|
|
|
);
|
|
|
|
|
|
ALTER TABLE preferencia_tag ADD CONSTRAINT PK_preferencia_tag PRIMARY KEY (email,idTag);
|
|
|
|
|
|
|
|
|
CREATE TABLE queroVer (
|
|
|
email VARCHAR(100) NOT NULL,
|
|
|
idFilme INT NOT NULL
|
|
|
);
|
|
|
|
|
|
ALTER TABLE queroVer ADD CONSTRAINT PK_queroVer PRIMARY KEY (email,idFilme);
|
|
|
|
|
|
|
|
|
ALTER TABLE usuario_conquista ADD CONSTRAINT FK_usuario_conquista_0 FOREIGN KEY (email) REFERENCES usuario (email);
|
|
|
ALTER TABLE usuario_conquista ADD CONSTRAINT FK_usuario_conquista_1 FOREIGN KEY (idConquista) REFERENCES conquista (idConquista);
|
|
|
|
|
|
|
|
|
ALTER TABLE filme_plataforma ADD CONSTRAINT FK_filme_plataforma_0 FOREIGN KEY (idPlataforma) REFERENCES plataforma (idPlataforma);
|
|
|
ALTER TABLE filme_plataforma ADD CONSTRAINT FK_filme_plataforma_1 FOREIGN KEY (idFilme) REFERENCES filme (idFilme);
|
|
|
|
|
|
|
|
|
ALTER TABLE filme_tag ADD CONSTRAINT FK_filme_tag_0 FOREIGN KEY (idTag) REFERENCES tag (idTag);
|
|
|
ALTER TABLE filme_tag ADD CONSTRAINT FK_filme_tag_1 FOREIGN KEY (idFilme) REFERENCES filme (idFilme);
|
|
|
|
|
|
|
|
|
ALTER TABLE jaVi ADD CONSTRAINT FK_jaVi_0 FOREIGN KEY (email) REFERENCES usuario (email);
|
|
|
ALTER TABLE jaVi ADD CONSTRAINT FK_jaVi_1 FOREIGN KEY (idFilme) REFERENCES filme (idFilme);
|
|
|
|
|
|
|
|
|
ALTER TABLE preferencia_plataforma ADD CONSTRAINT FK_preferencia_plataforma_0 FOREIGN KEY (email) REFERENCES usuario (email);
|
|
|
ALTER TABLE preferencia_plataforma ADD CONSTRAINT FK_preferencia_plataforma_1 FOREIGN KEY (idPlataforma) REFERENCES plataforma (idPlataforma);
|
|
|
|
|
|
|
|
|
ALTER TABLE preferencia_tag ADD CONSTRAINT FK_preferencia_tag_0 FOREIGN KEY (email) REFERENCES usuario (email);
|
|
|
ALTER TABLE preferencia_tag ADD CONSTRAINT FK_preferencia_tag_1 FOREIGN KEY (idTag) REFERENCES tag (idTag);
|
|
|
|
|
|
|
|
|
ALTER TABLE queroVer ADD CONSTRAINT FK_queroVer_0 FOREIGN KEY (email) REFERENCES usuario (email);
|
|
|
ALTER TABLE queroVer ADD CONSTRAINT FK_queroVer_1 FOREIGN KEY (idFilme) REFERENCES filme (idFilme);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... | ... | |