Executando verificação de segurança...
2

A solução mais correta é sempre aquela que funciona melhor dentro de um dado contexto. Para ser correta em primeiro lugar tem que ter todos os requisitos levantados, e de forma correta. Não existe solução correta quando a entrada de dados é errada.

Um dos maiores desafios, e que parece ser muito grande para quem é inexperiente, é achar esses requisitos adequadamente.

Uma das questões a serem levantadas é saber se você precisa da informação independente ou não. Se ela é independente você deveria adotar uma entidade separada e fazer um relacionamento. Isso vale para o MySQL, SQLite, PostgreSQL, SQL Server ou até mesmo o MongoDB.

Se precisa disso, o MongoDB é bem pouco adequado para fazer, mas muita gente faz assim mesmo. Em alguns casos não adotam isso para não ficar inadequado no MongoDB, aí ela modela errado para se adaptar à tecnologia. Não farei maiores comentários, cada um entenda como quer.

Se o dado é dependente e tem uma ligação forte com uma entidade, então provavelmente ele deveria estar vinculado à entidade principal. No passado faziam separado porque a ferramenta não era tão boa, não tinha um jeito fácil de fazer isso. Hoje tem. Alguns SGDBRs mais que outros. O MySQL é razoável e pode ser com JSON.

Dá para dizer que para isso nem sempre o MySQL é o mais adequado, mesmo resolvendo razoavelmente bem. Mas os problemas são híbridos e em algumas entidades precisa mais da composição e outros mais a associação ou ainda a agregação. Como o banco de dados relacional trata bem ou razoavelmente bem ambas situações, ele costuma ser mais adequado, enquanto um modelo de documento só costuma se dar bem quando quase todo o modelo seja de dados dependentes ou completamente independentes sem relacionamentos.

Como em qualquer uso, não basta escolher usar, tem que aprender usar, e todas as formas têem seus desafios, escolher o que usar é a pontinha do iceberg. Pode adotar algo certo e fazer errado, aí parece que foi a escolha errada.

Para entender um pouco mais os termos.

Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Carregando publicação patrocinada...