Nas aplicações que eu crio, eu sempre crio uma sequencia no Oracle SQL Express 11g que automaticamente cria os IDs dos cadastros no banco de dados.
Essa abordagem é uma boa prática? Deixar a responsabilidade de gerar os IDs com o banco de dados? Ou o correto seria deixar essa consulta/insert para a aplicação?
Olá, Sou iniciante e sei pouco sobre banco de dados, nunca utilizei Oracle, minhas aplicações na faculdade utilizam o MySql atraves do Workbench, mas vou tentar te ajudar, se eu entendi direito sua pergunta, as Id’s podem ser geradas através do auto-incremento do banco não sendo necessário a intervenção da aplicação para administrador isso, se a aplicação for administrar é preciso desmarcar a opção de auto-incremento durante a criação do banco.
B
BlackHeartH
Exato, isso eu sei. Minha dúvida é se é certo deixar essa responsabilidade para o banco.
M
Marcio_Tostes1 like
Desculpe, não quis de nenhuma forma testar seu conhecimento rs, durante aulas ministradas no meu curso, houve uma pergunta parecida a resposta que tivemos do professor foi: Analise o que é necessário para a aplicação é necessário mesmo o usuário informar o seu Id? ou não tem a menor importância? acredito que em termos de desempenho não fará diferença alguma, vamos aguardar se algum com mais experiencia nos explique melhor essa dúvida.
J
Jonathan_Medeiros2 likes
É considerado uma boa pratica sim, do meu ponto de vista não vejo motivo de por isso a cargo da aplicação.
T
Solucao aceita
TerraSkilll2 likes
Deixar essa responsabilidade por conta da aplicação não é impossível, mas costuma ser complicado, exigindo controle e muita programação para evitar registros com id duplicado ou espaço entre registros (id 10 seguido do id 12, por conta do 11 ter sido perdido num “select max(id) …” ou similares). No fim, você acaba reimplementando controles que o próprio banco pode fazer. Em geral, não costuma valer o esforço.