Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Cadastrando por meio de formulário

Eu entendi como funciona, só que eu queria entender como funcionaria, se eu tivesse um formulário de cadastro, teria que sempre ter um autor cadastrado antes para poder cadastrar um livro?

Eu fiquei com essa dúvida por causa do challenge, pensei em ter usuário e o perfil separado, mas se a pessoa se cadastra, ela não vai ter o id do perfil, para cadastrar no novo usuário criado, como funcionaria isso?

3 respostas

Olá Gisele, tudo bem?

É possível cadastrar um livro sem ter um autor cadastrado previamente, mas no modelo de dados que foi utilizado no curso, o livro precisa ter um autor associado, por isso foi necessário criar um autor antes de criar um livro.

Uma opção é criar um formulário de cadastro de autor e outro de cadastro de livro. No formulário de cadastro de livro, você pode incluir um campo de seleção para escolher o autor já cadastrado previamente. Dessa forma, você pode cadastrar um autor e, em seguida, cadastrar um livro e selecionar o autor já cadastrado.

Outra opção é criar um formulário de cadastro que permita cadastrar tanto o autor quanto o livro ao mesmo tempo. Nesse caso, você pode incluir os campos necessários para o cadastro de ambos e, ao enviar o formulário, o sistema pode verificar se o autor já está cadastrado e, caso não esteja, cadastrar o autor e, em seguida, cadastrar o livro.

Sobre a questão do perfil, é possível criar um campo no formulário de cadastro de usuário para selecionar o perfil desejado. Dessa forma, ao cadastrar um novo usuário, ele já pode ser vinculado ao perfil escolhido.

Espero ter ajudado e bons estudos!

Legal, gostei da última opção, eu fiquei pensando mais pelo lado do banco, fiquei pensando se teria que ter associação, mas desse jeito cadastra as opções que já tem.

No banco fazendo desse jeito de selecionar o perfil, ficaria um documento para tutor e um de usuário com um campo tutor, é isso? Não precisa associar usuario e tutor para utilizar em alguma alteração depois? É que eu conheço banco relacional e a maioria tem chave primária e estrangeira, se depois quiser fazer uma pesquisa ou acessar os dados.

solução!

Olá Gisele, tudo bem? Fico feliz que tenha gostado da última opção

No banco de dados MongoDB, que é um banco de dados NoSQL orientado a documentos, a associação entre documentos é diferente da abordagem de chaves primárias e estrangeiras em bancos de dados relacionais. Você pode criar associações entre documentos de diferentes coleções, referenciando o ID de um documento em outro.

No seu caso, ao selecionar o perfil no momento do cadastro do usuário, você terá um documento de usuário que inclui um campo contendo o ID do perfil selecionado. Por exemplo, suponha que você tenha as coleções "usuarios" e "perfis". Um documento de usuário pode ter um campo "perfil" que armazena o ID de um documento de perfil na coleção "perfis".

Dessa forma, você pode associar usuários e perfis sem a necessidade de criar chaves estrangeiras como em bancos de dados relacionais. Para acessar os dados associados, você pode realizar consultas utilizando o ID armazenado para recuperar os documentos relevantes. Por exemplo, para recuperar os dados de perfil de um usuário, você pode buscar o documento de perfil usando o ID armazenado no campo "perfil" do documento de usuário.

Assim, mesmo que a abordagem seja diferente de um banco de dados relacional, você ainda pode criar associações eficientes entre documentos e acessá-los facilmente para pesquisas ou alterações futuras.

Espero ter esclarecido suas dúvidas, e bons estudos!