devpro-br / hackernews-clone

Confraria DevPro - Formação FULLSTACK
hackernews-clone-nine.vercel.app
GNU Affero General Public License v3.0
23 stars 13 forks source link

Modelagem do banco de dados #7

Open huogerac opened 2 years ago

huogerac commented 2 years ago

Mesmo que não queremos pensar em todas as possibilidades de forma a tentar ter o "Diagrama de Entidade e Relacionamento" (DER) o mais refinado possível!

É muito saudável pensar em um rascunho de como os dados serão armazenados, as entidades do domínio do problema

Então, vamos fazer isto juntos? Deixa aqui como você iria modelar a primeira versão do Hackernews! Confere mais detalhes em #4 Lembre-se, estamos aqui para aprender juntos, não existe resposta errada, posta sua resposta e vamos evoluir este modelo juntos!

tiagotardelli commented 2 years ago

Creio que podemos utilizar o draw.io para fazer a modelagem https://www.draw.io/ https://drawio-app.com/

victoraugusto6 commented 2 years ago

Muito bacana @tiagotardelli. Acredito que após a modelagem ter sido realizada seria legal usar o Dbeaver para capturar o ER Diagram e documentar no repositório também, como exemplo, abaixo vemos do módulo Django do curso Python Pro que o Dbeaver criou automaticamente: image

Riverfount commented 2 years ago

E se utilizarmos um Banco de Dados Não Relacional tipo o MongoDB?? Fica bem mais fluido, pelo estilo do site que queremos clonar!!! Não acham?

fnscoder commented 2 years ago

Concordo com o @Riverfount , talvez o mongodb seja um aboa opção

huogerac commented 2 years ago

@Riverfount @fnscoder Me falem mais detalhes, por que voces acham que um banco de dados na categoria sem-estruturado / document database faz mais sentido para o contexto do hackernews? por que será mais fluído? quais problemas o MongoDB irá resolver vs um banco relacional com Postgres? ou onde um banco relacional seria um problema para este contexto?

Enfim, gosto destas discussões! por favor, me contem mais oq voces estão pensando! Valeu

huogerac commented 2 years ago

@tiagotardelli @victoraugusto6 Muito obrigado pelas sugestões.

Mas o que eu estava pensando em discutir nesta thread aqui nem era sobre ferramenta, qual banco de dados ou ainda se vamos usar banco relacional ou não relacional!

Mas um passo antes! Tentar mapear primeiro quais são as entidades para conseguir armazenar os dados do hackernews #4 Acredito que precisamos de uma entidade Notícia e outra comentários, certo? qual mais? quais atributos? qual o relacionamento entre elas?

O que vocês acham de tentarmos fazer uma modelagem neste sentido? alguem pode ajudar?

Valeu

Riverfount commented 2 years ago

Particularmente o que vejo é que um banco NoSQL é menos burocrático. Não tenho experiência suficiente para apontar em que um seria melhor que o outro para o projeto, mas o trabalho que tenho feito mostra que o NoSQL (no caso o MongoDB) é menos burocrático e, de certa forma um pouco mais rápido. Mas, claro, otimização precoce é o primeiro passo para o desastre ehehehe então, eu só dei de sugestão mesmo!

Gabrieltggv commented 2 years ago

Para a modelagem além do draw.io, tem uma ferramenta bem legal que é o https://vertabelo.com/

huogerac commented 2 years ago

image