Pourquoi utiliser la base de données SQL?

Je ne suis pas tout à fait sûr de stackoverflow est un lieu pour une question d'ordre général, mais nous allons essayer.

Être exposés à la nécessité de l'application de stockage de données quelque part, j'ai toujours utilisé sqlite ou MySQL, juste parce qu'il a toujours fait comme ça. Comme il semble que le monde entier est l'utilisation de ces bases de données (la plupart de tous les produits logiciels, cadres, etc), c'est assez dur pour un début de développeur comme moi de commencer à penser, si c'est une bonne solution ou pas.

Ok, disons que nous avons quelques orientée objet logique dans notre application, et les objets sont liés les uns aux autres en quelque sorte. Nous avons besoin de carte de cette logique pour le stockage de la logique, de sorte que les relations entre les objets de base de données sont nécessaires aussi. Cela nous conduit à l'utilisation de base de données relationnelle, et je suis ok avec ça - pour faire simple, notre base de données de lignes de la table est parfois le besoin d'avoir des références à d'autres tables de lignes. Mais pourquoi utiliser le langage SQL pour l'interaction avec une base de données?

Requête SQL est un message texte. Je peux comprendre c'est cool pour réellement comprendre ce qu'il fait, mais n'est-il pas ridicule d'utiliser le texte de la table et les noms de colonne pour une partie de la demande qui n'a jamais vu après deploynment? Si vous aviez à écrire un stockage de données à partir de zéro, vous n'avez jamais utilisé ce type de solution. Personnellement, je l'aurais utilisé certains "compilé db requête" bytecode, qui serait assemblé une fois à l'intérieur d'une application client et transmis à la base de données. Et il est certainement le nom des tables et des colons par des numéros d'identification, non ascii-chaînes. Dans le cas de changements dans la structure de la table de ceux de l'octet les requêtes peuvent être recompilé selon la nouvelle db schéma, stockées au format XML ou quelque chose comme ça.

Quels sont les problèmes de mon idée? Est-il une raison pour moi de ne pas l'écrire moi-même et à l'utilisation de base de données SQL à la place?

MODIFIER pour faire À ma question plus clairement. La plupart des réponses affirment que SQL, étant une requête de texte, permet aux développeurs de mieux comprendre la requête elle-même et de déboguer plus facilement. Personnellement, je n'ai pas vu les gens écrire des requêtes SQL à la main pendant un certain temps. Tous ceux que je connais, moi y compris, est à l'aide de l'ORM. Cette situation, dans laquelle nous construire un nouveau niveau d'abstraction pour masquer SQL, conduit à penser si nous avons besoin de SQL ou pas. Je vous serais très reconnaissant si vous pouviez donner quelques exemples dans lesquels SQL est utilisé sans ORM exprès, et pourquoi.

EDIT2 SQL est une interface entre un homme et une base de données. La question est de pourquoi devons-nous l'utiliser pour l'application et l'interaction des bases de données? J'ai toujours demander pour des exemples d'êtres humains d'écriture/de débogage SQL.

  • Quand j'ai lu le titre, j'ai pensé que ce serait une question stupide... mais c'est en fait une idée très intéressante !
  • Lorsque SQL a été tout d'abord introduit dans les années 1970, il n'y avait pas OO concept autour de. C'est comment l'informatique développé et maintenant, les gens voir les inconvénients et les gens introduits ORM comme le complément.
  • Peut-être que la question devrait être, "Pourquoi utiliser SQL vs requêtes compilées dans la base de données"?
  • J'ai généralement de la main-d'écrire de SQL (certes, mes questions ne sont pas très compliqué).
  • Re: "j'ai toujours demander pour des exemples d'êtres humains d'écriture/de débogage SQL". Vous êtes sérieux à ce sujet?
  • Ce sujet de l'utilisation de jQuery pour qui? Semble une bonne idée – Le cancer qui est en train de tuer, de SORTE
  • Le NoSQL groupe Google est bon pour ce genre de requête </pun> ainsi.
  • "N'est-il pas ridicule d'utiliser le texte de la table et les noms de colonne pour une partie de la demande qui n'a jamais vu après deploynment [sic]?" Peut-être, mais je n'ai jamais vu une application pour laquelle cela était vrai.
  • Comment l'application de savoir ce qu'il faut faire à partir de la base de données? Il n'y a pas de véritable Application de Base de données sur l'interaction.