Pour la plupart des tâches de programmation, vous avez la sélection de langues à choisir et de bonnes communautés fortes derrière beaucoup d'entre elles. Mais lorsque vous devez travailler avec une base de données, il n'y a vraiment qu'un seul choix viable de nos jours: SQL. Bien sûr, il existe différentes entreprises avec différentes implémentations et dialectes, mais vous recherchez toujours des choses avec
5 Réponses :
Voici une référence de l'article de Codd Wikipedia - certains détails sur la manière dont SQL 'Gagné'. P>
C'est comme cette citation de Winston Churchill: p>
En effet, il a été dit que la démocratie est la pire forme de gouvernement, à l'exception de toutes ces formes qui ont été essayées de temps à autre. P> blockQuote>
Il y avait des technologies de base de données alternatives avant 1970 lorsque le modèle relationnel a été proposé pour la première fois. Il y a eu des alternatives tout le temps depuis lors, et il y a Nouvelles alternatives Aujourd'hui . p>
mais de toutes les alternatives, aucune solution en plus de SQL offre un bon équilibre pour: p>
- Standardisation généralisée LI>
- Produits populaires et à vieillesse tels que Oracle Li>
- joue bien avec de nombreuses langues de programmation d'application li>
- Prise en charge de la modélisation de données formelle, de l'intégrité de données forte, des transactions acides li> ul>
Codd et Churchill de côté, SQL n'est pas une langue horriblement mauvaise pour définir et interroger des ensembles de données basés sur table. Comme dit un autre général, "il y a eu le premier avec le plus grand." P>
Un facteur est que les données persistent. Il est beaucoup plus difficile de remplacer / migrer les données d'une entreprise que ses applications. Les applications peuvent aller et venir, codées dans le dernier langage "saveur du mois", mais la plate-forme de base de données vit. Ceci est un peu comme un effet QWERTY. Bien que la disposition du clavier QWERTY soit connue pour être inefficace, elle persiste car il y aurait un coût énorme pour passer à autre chose. p>
Deuxièmement, il existe une domination massive du marché par Oracle et IBM (et plus récemment Microsoft). Bien qu'ils ne soient pas d'accord sur tous les détails, ils n'ont pas eu bénéficié d'une interface non-SQL à leurs bases de données. J'utilisais Ingres dans le début des années 90 lorsque SQL a été poussé par SQL. P>
Troisièmement, les développeurs d'applications (en particulier les goûts de SAP et Oracle) d'avoir une plate-forme standard (ish) à siéger. p>
Je suppose que le côté retournement à cette question est de savoir pourquoi avons-nous besoin / veulons tant de langages de programmation différentes? p>