"J'entends parfois dire que SQL est nul et que ce n'est pas un bon langage.
SQL a plus de trente ans. Les idées sur "les caractéristiques qui font de quelque chose un "bon" langage et celles qui en font un "mauvais"" ont évolué plus rapidement que SQL lui-même.
De plus, SQL n'est pas un langage conforme aux normes actuelles de "ce qu'il faut pour être relationnel", donc SQL n'est tout simplement pas un langage relationnel.
"mais je n'entends jamais vraiment parler d'alternatives à ce système".
Je vous invite à réfléchir à la possibilité que vous essayez d'entendre seulement au mauvais endroit (c'est-à-dire exclusivement dans l'industrie commerciale des SGBD).
"Alors, y a-t-il d'autres bons langages qui servent le même objectif (accès aux bases de données) et qu'est-ce qui les rend meilleurs que SQL ?
Date&Darwen décrivent les caractéristiques auxquelles un langage moderne de manipulation de données doit se conformer dans leur "Troisième Manifeste", dont la version la plus récente est présentée dans leur livre "Databases, Types & the Relational Model" (Bases de données, types et modèle relationnel).
"Existe-t-il de bonnes bases de données qui utilisent ce langage alternatif ?
Si par "bon", vous entendez quelque chose comme "résistant à l'échelle industrielle", alors non. La solution la plus proche serait probablement Dataphor.
Le projet Rel offre une implémentation pour le langage Tutorial D défini dans "Databases, Types & The Relational Model", mais l'objectif principal actuel de Rel est d'être de nature éducative.
Mon projet SIRA_PRISE propose une implémentation pour la gestion de données "véritablement relationnelles", mais j'hésite à le qualifier également d'"implémentation d'un langage".
Et bien sûr, vous pouvez également envisager des solutions non relationnelles, comme certains l'ont proposé, mais je rejette personnellement la gestion des données non relationnelles comme étant une régression technologique de plusieurs décennies. Cela ne vaut pas la peine d'y réfléchir.
Oh, et à propos, un système logiciel utilisé pour gérer des bases de données n'est pas "une base de données", mais "un système de gestion de base de données", "SGBD" en abrégé. Tout comme une photographie n'est pas la même chose qu'un appareil photo, et si vous parlez d'appareils photo et que vous voulez éviter toute confusion, vous devriez utiliser le mot "appareil photo" au lieu de "photographie".
28 votes
SQL, c'est nul ? Des références ?
5 votes
Vous n'êtes pas en train de dire qu'il est nul par rapport à XML, n'est-ce pas ?
8 votes
La question de savoir si SQL est réellement nul ou non m'intéresse. Voici un exemple : fr.wikipedia.org/wiki/The_Third_Manifesto Je pense que le mot "nul" n'est pas le bon
7 votes
Pour clarifier : je n'ai aucun problème avec SQL. J'aime juste découvrir d'autres idées au cas où il y aurait quelque chose de mieux.
0 votes
Consultez Google Base et renseignez-vous sur le langage de la base de données et les méthodes d'accès. Je ne sais pas exactement ce que vous recherchez si vous ne voulez pas utiliser SQL mais que vous ne voulez pas non plus utiliser des alternatives. Cela éliminerait tout, n'est-ce pas ?
0 votes
SQL est un langage, pas un type de base de données. Il se trouve que c'est le langage utilisé dans presque toutes les bases de données relationnelles.
7 votes
S'il doit s'agir d'un langage d'interrogation, et qu'il doit être destiné à un SGBDR, alors regardez Quel : fr.wikipedia.org/wiki/QUEL_query_languages -- C'est aussi ce que Postgres utilisait avant 1995, date à laquelle il a changé son nom en "PostgreSQL", un nom exceptionnellement stupide.
1 votes
Vous pourriez utiliser MUMPS, mais c'est encore plus nul.
0 votes
Les alternatives à l'algèbre relationnelle comprennent Alf, Opaleye de Haskell. Les alternatives logiques incluent Datalog.
0 votes
Il y a Datalog avec ses différentes variantes, et il existe des convertisseurs automatiques Prolog vers SQL, bien que je n'aie jamais eu l'occasion de les utiliser dans un système d'entreprise réel.
2 votes
Je recommande vivement ReQL rethinkdb.com/docs/sql-to-reql/javascript
0 votes
Vous pouvez utiliser directement l'API MySQL, par exemple. Cependant, il n'y a pas d'alternative standard de la langue de la requête que je connais.
0 votes
Le mapping objet-relationnel (ORM) est déjà très populaire dans de nombreux langages de programmation et constitue l'une des meilleures alternatives à SQL. Je me suis inspiré du style de chaînage de méthodes pour créer CQL pour mon projet TRIADB. healis.eu/triadb/#latest-release