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

Duvidas sobre conexão com banco dados

Fala devs, estou com uma duvida pretendo criar um sistema pessoal de ponta a ponta, pretendo usar como banco de dados o SQl Server (Quero criar o banco, usando SQL) tendo isso em mente tenho as seguintes duvidas:
1 - Na empresa que vocês trabalham, como usam a conexão com o banco ? Por meio de querys ou ORM ?
2 - Como vocês me aconselham a fazer a conexão ? ORM ou Query ?

A ideia do projeto é simular como se fosse um projeto desenvolvido em grandes empresas (Claro tem coisas que vou deixar de fora)
Desde jã agradeço a todos.

Carregando publicação patrocinada...
2

ORM, como qualquer outra coisa em tecnologia, tem seus prós e contras (ver também aqui).

O mais importante (muito mais do que pedir opiniões de pessoas aleatórias na internet) é entender muito bem as vantagens e desvantagens, e avaliar caso a caso. Não sabemos o tamanho/escopo do seu projeto, os requisitos, quais tecnologias vc já sabe usar e quanto tempo tem pra aprender coisas novas caso necessário. Sem saber disso, qualquer resposta será chute, geralmente baseado em preferência pessoal (e coisas que podem ser boas pra mim, mas não necessariamente pra vc).

Sei que dá muito mais trabalho estudar o assunto a fundo, e muita coisa só vem com a experiência, mas é a resposta mais honesta que posso dar. Já trabalhei em projetos com e sem ORM, e o máximo que posso dizer é que nem sempre vc precisa (assim como qualquer coisa em tecnologia). Ele ajuda em algumas coisas e atrapalha em outras. Ele pode ser uma mão na roda, ou um canhão pra matar mosca.

2

Sim, resposta honesta. Em geral vemos muitas respostas que não são honestas, não porque a pessoa está mentindo, mas ele tem uma visão limitada do uso, até msmo ingênua sobre as vantagens e desvantagens.

Minha percepção vendo muita coisa por aí é que a adoção do ORM ocorre de forma mais equivocada do que o não uso dele. Não que sua adoção seja equivocada, mas a forma que adotam é equivocada, muita vezes sem base real, o fundamento da pessoa é uma resposta sem base de outra pessoa, e isso é sempre errado, até quando por coinicdência dá um resultado razoável.

Geralmente, mas não sempre, só adota fazer acesso pela API do banco de dados com se aprofunda um pouco mais e toma uma decisão mais embasada, até mesmo pode ser o uso do ORM.

Vejo muitos argumentos que o ORM faz isso e aquilo, quando na verdade ele não faz, pelo menos não melhor do que fazer sem ele, o que pode inclusive dar uma impressão errada do que está fazendo, em alguns casos falsa sensação de segurança.

Eu tendo a dizer que se a pessoa não souber programar é melhor ela usar ORM, mas esse é um argumento falho, em alguns casos pode ser pior. Isso funciona na teoria, mas já vi casos práticos que a pessoa se enroscou mais com ele. E se não o dominar muito bem o desemepnho vai sofrer, não tenha dúvida. Só precisa ver se isso importa ou não. Os casos mais simples pode não fazer diferença importante, ainda que mensurável.

Farei algo que muitos pedem para aprender 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).

2

<speculation sad="true">
Pelos outros comentários, parece que o autor do post já decidiu usar ORM (e sem pensar muito, só viu comentários dizendo pra usar, e que - e aqui é um grande chute meu - afirmam o que ele já queria fazer e só queria que alguém confirmasse). E como ele não respondeu mais, acho que dificilmente vai voltar e ler o nosso contra-ponto.

Uma pena, o estrago já está feito (no sentido de que é mais um usando algo sem avaliar antes).
</speculation>

1

Olá, amigo !

Na empresa que trabalho o produto é um ERP e usamos o ORM nhibernate, mas para querys complexas e cargas de dados usamos query, por ser mais legível e mais rápido.

Com ORM você perde um pouco a noção e controle do que está acontecendo na comunicação banco x aplicação.

Eu acho que é por aí mesmo, depende do tamanho do sistema que você está arquitetando, volume de dados etc.

Claro se você vai rodar consultas grandes o tempo todo nos mesmos dados aconselho a materializar esses dados em um banco mongo.

Vale ressaltar que não há regra que diz que seu sistema tem que usar apenas um banco de dados.

Também há versões de ORM otimizado para performance.

1
0

aqui usamos postgree, e sinceramente é muito bom. Sobre ORM, vai te poupar muita dor de cabeça e tempo de desenvolvimento, além da segurança né

1
0

Rapaz, aqui na minha empresa a gente usa bastante o Mongo + Mongoose, mas já foge da sua proposta de querer umar um SQL.

Mas se eu fosse criar uma aplicação, eu utilizaria algum ORM, e tem alguns motivos por detrás.

  1. É mais fácil de utilizar porque ele economiza tempo e tratamento de queries
  2. O ORM já te ajuda com a segurança quando se fala de SQL Injection

De cara eu penso nisso, mas dá pra ir mais fundo.

1
1

ORM só economiza tempo se vc já sabe usar (parece óbvio, mas enfim). Então - só pra ser chato - ele economiza tempo da segunda vez em diante :-)

E dá pra evitar SQL injection sem ORM, e nem é tão difícil assim (a maioria das linguagens já possui mecanismos prontos, as pessoas é que não usam). Assim como é possível fazer código vulnerável a SQL injection mesmo com ORM (os programadores ruins costumam ser os mais "criativos" pra esse tipo de coisa).