Fórum Como criar os bancos de dados para sites DB de Animes/Séries? #608870
31/03/2020
0
Estou criando um site e Banco de Dados/Listagem de anime (série de animação), parecido com o My Anime List (https://myanimelist.net), AniList (https://anilist.co) e Kitsu (https://kitsu.io). Estou com dificuldades e grandes dúvidas na criação do banco de dados.
Sei criar o sistema de cadastro/login porém não sei como funcionaria o armazenamento da lista de animes de cada usuário no banco de dados. Acredito que ao criar o cadastro de cada usuário eu deveria inserir uma função para criar automaticamente um banco de dados exclusivo para cada usuário, onde ficaria armazenado os animes desse individuo... ou seria de outra forma? Vou deixar um esquema do funcionamento desses sites para quem não conhece:
Cada usuário possui um Painel onde pode deixar organizados os animes que está assistindo ou já assistiu. A lista é dividida entre nas categorias 'Assistindo', 'Pausados', 'Dropados' e 'Planos para o Futuro'. Dessa forma temos:
Usuário X >> Lista de anime
Quando um usuário se cadastra, crio uma linha no bando de dados usuário. Devo inserir a função para criar junto um banco de dados individual para cada usuário? Se alguém souber, agradeço se deixar um exemplo!
Reinaldo Guedes
Curtir tópico
+ 0Post mais votado
26/05/2020
Vi a maneira que você pensou, de criar banco da dados exclusivos para cada usuário, mas creio que você se referiu erroneamente, na verdade seria uma tabela no banco de dados para cada usuário, mas enfim, concorda que se tivesse 5 usuários seria tranquilo fazer isso, mas pensando em um alto acesso isso seria bem ruim?
Um jeito de fazer isso, é você criar uma tabela animeUsuario que vai fazer esse serviço pra ti sem ter muito processamento.
Olhando aqui seria uma arquitetura simples.
Tabelas:
- usuario;
- anime;
- animeUsuario;
Estrutura:
--- usuario ---
idUsuario - PK - INT - AUTO_INCREMENT - NOT NULL
nome - VARCHAR(100)
usuario - VARCHAR(100)
senha - VARCHAR(100)
--- anime ---
idAnime - PK - INT - AUTO_INCREMENT - NOT NULL
titulo - VARCHAR(100)
--- animeUsuario ---
idAnimeUsuario - PK - INT - AUTO_INCREMENT - NOT NULL
idUsuario - FK usuario
idAnime - FK anime
status - CHAR(1) (A - ASSISTIDO, E - EM ANDAMENTO, ETC...)
Então você tem nessa tabela a relação dos usuários com as séries assistidas por eles.
Espero ter ajudado.
Gustavo Mendes
Gostei + 1
Mais Posts
27/05/2020
Reinaldo Guedes
Vi a maneira que você pensou, de criar banco da dados exclusivos para cada usuário, mas creio que você se referiu erroneamente, na verdade seria uma tabela no banco de dados para cada usuário, mas enfim, concorda que se tivesse 5 usuários seria tranquilo fazer isso, mas pensando em um alto acesso isso seria bem ruim?
Um jeito de fazer isso, é você criar uma tabela animeUsuario que vai fazer esse serviço pra ti sem ter muito processamento.
Olhando aqui seria uma arquitetura simples.
Tabelas:
- usuario;
- anime;
- animeUsuario;
Estrutura:
--- usuario ---
idUsuario - PK - INT - AUTO_INCREMENT - NOT NULL
nome - VARCHAR(100)
usuario - VARCHAR(100)
senha - VARCHAR(100)
--- anime ---
idAnime - PK - INT - AUTO_INCREMENT - NOT NULL
titulo - VARCHAR(100)
--- animeUsuario ---
idAnimeUsuario - PK - INT - AUTO_INCREMENT - NOT NULL
idUsuario - FK usuario
idAnime - FK anime
status - CHAR(1) (A - ASSISTIDO, E - EM ANDAMENTO, ETC...)
Então você tem nessa tabela a relação dos usuários com as séries assistidas por eles.
Espero ter ajudado.
Muito obrigado, me ajudou bastante. Tenho só mais uma dúvida... Como eu faria neste caso para exibir essa lista no painel do usuário? Eu exibiria todos os "idAnimeUsuario"?
Gostei + 0
28/05/2020
Gustavo Mendes
Isso, mas filtrando por usuário.
SELECT
*
FROM
animeUsuario
WHERE
idUsuario = 'id do usuário logado'
Assim você teria todos os animes que esse usuário tem na lista dele.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)