Cette partie du forum n’est pas compatible avec les bloqueurs publicitaires
Félicitations à vous, de préférer les accès payants plutôt que la gratuité par la publicité, c’est honnorable et cohérent de votre part. Malheureusement, l’accès payant par micropaiement (qui serait d’environ 1 cent pour 20 pages consultées) n’est pour l’instant pas encore mis en place, et l’accès gratuit sans publicité, est réservé aux membres actif(ve)s du forum. En attendant, si vous souhaitez poursuivre votre visite chez nous, vous pouvez ajouter le site à votre liste blanche, ou encore mieux, désactiver le bloqueur partout. Pour ajouter le site à votre liste blanche, pour Firefox (similaire pour les autres navigateurs), rendez‑vous en bas à gauche de la fenêtre de votre navigateur, et cliquez sur le menu comme dans l’exemple de l’image ci‑dessous, puis rechargez la page, en appuyant sur F5.

|
|
Auteur | Message |
---|---|
Administrateur
![]()
|
Je connaissais une source pour un brouillon de la norme SQL1992, mais sans savoir si cette norme est pertinente. J’ai posé la question quelques part, et voici la réponse :
Simon a écrit : Given what you wrote you should definitely read SQL1992. It is the core standard for SQL and you will find some ways in which SQLite is not SQL1992. However most SQL implementations implement most things in SQL1992. SQL92 est donc la version SQL de référence, et j’indique alors la source que je connais : sql1992.txt (andrew.cmu.edu) Ce n’est qu’un brouillon, mais il n’est même plus possible d’acheter la version officielle, qui n’est plus disponnible à l’ISO : ISO/IEC 9075:1992 (iso.org) ISO a écrit : Status: Withdrawn Il faudra alors se contenter de l’ébauche. Un petit plus, avec un document sur la normalisation des tables : A Simple Guide to Five Normal Forms in Relational Database Theory (bkent.net), William Kent, Septembre 1982. Ne pas s’arrêter à la date, c’est un formalisme, c’est toujours valable. Ce n’est pas un standard, c’est un formalisme, d’ailleurs pas nécessairement lié à SQL, car lui pré‑existant. Cette normalisation est de plus en usage, pas seulement avec les bases de données, elle s’applique aussi à la modélisation des relations entre les données, dans d’autres domaines, comme les structures et les conteneurs dans les logiciels. ![]() Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
|
|
Administrateur
![]()
|
Hibou a écrit : […] Alors surprise, cependant que le document du standard SQL92 n’est plus disponible, au moins certaines parties du standard SQL 2011, sont disponibles sans charges (ça doit être récent). Je ne parle pas de brouillons, mais de documents téléchargeables sur le site de l’ISO. Je les mentionne en rappelant quand‑même le bémol plus haut : SQL1992 reste quand‑même la référence, avec laquelle il y a déjà quelques divergences, qui sont encore plus importantes avec les versions ultérieures du standard, qui n’est le plus souvent que partiellement implémenté, ou alors d’une manière non‑standard. Sans compter que la version de 1992, semble beaucoup plus accessible à la compréhension ! Retour à SQL2011 … La licence à laquelle il faut adhérer pour télécharger les documents, interdit la redistribution. Ces documents sont mis à disposition pour un usage strictement privé. Il reste possible de les imprimer, mais toujours pour seulement pour un usage privé. Ne ré‑hébergé pas ces documents, c’est interdit, il ne faut les faire connaitre qu’à travers ces liens d’origine. ![]() Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Administrateur
![]()
|
Et un ancien livre publié chez O’Reilly, sur SQL99, qui contrairement à ce que son titre indique, ne couvre pas tout SQL, mais sa partie principale : SQL-99 Complete, Really (woqutech.com). En version HTML, ce n’est pas du PDF.
— Édit 2017‑11‑20 — Le document initialement sur mariadb.com n’y est plus disponible mais se trouve maintenant sur woqutech.com. ![]() Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Administrateur
![]()
|
Utile quand on ne sait plus où en est avec les contraintes de nommage (« puis‑je nommer telle table ou telle colonne ainsi ou est‑ce un mot réservé ? »), une liste des mots réservés par versions de SQL, en pensant bien que divers systèmes de base de données, ont leurs propres mots réservés en plus : SQL Reserved Words Overview (developer.mimer.se).
![]() Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Administrateur
![]()
|
Comme mémo, l’incontournable représentation des jointures SQL avec une représentation ensembliste, celle des diagrammes de Venn : Visual Representation of SQL Joins (codeproject.com), C.L. Moffatt, 2009.
![]() Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Administrateur
![]()
|
Un court historique des versions de SQL : SQL history (cs.colostate.edu). Résumé encore plus brièvement :
[1] Ce premier langage ne correspondait qu’au DML, le langage de manipulation de données. [2] Mais SQL reste non‑strictement typé, il ne s’agit que d’indications de types. ![]() Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Administrateur
![]()
|
Les “Common Table Expressions”, CTE, n’existaient pas en SQL‑92, elles ont été introduites avec SQL:1999. C’est en tous les cas ce que semble sous‑entendre cette page de documentation de SQLite, tout à la fin : SQL As Understood By SQLite: WITH clause (sqlite.org).
sqlite.org a écrit :
The SQL:1999 spec requires that the RECURSIVE keyword follow WITH in any WITH clause that includes a recursive common table expression. However, for compatibility with SqlServer and Oracle, SQLite does not enforce this rule. ![]() Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Administrateur
![]()
|
Pas un document faisant autorité, mais un tableau précieux aide‑mémoire, sur la granularité des contraintes d’intégrité dans les bases de données : Deferrable SQL Constraints in Depth (begriffs.com). Voir le premier tableau peu après la table des matières.
![]() Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Administrateur
![]()
|
Hibou a écrit : Les “Common Table Expressions”, CTE, n’existaient pas en SQL‑92, elles ont été introduites avec SQL:1999. […] Le brouillon final du standard SQL:1999, alias SQL3 (à ne pas confondre avec le moteur de base de données SQlite3), est disponible ici : ISO/IEC 9075-2:1999 (pdx.edu) [PDF]. Le document dit « Partie 2 », mais pourtant tout semble y être. Comme dit précédemment, la version officielle n’est plus disponible, même pas à la vente, alors ne reste que les brouillons finaux. Un document plus court, résumant des différences entre SQL92 et SQL:1999 : SQL:1999, formerly known as SQL3 (uchile.cl) [PDF]. ![]() Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
Administrateur
![]()
|
Hibou a écrit : […] Le document dit « Partie 2 », mais pourtant tout semble y être. […] Oui, l’essentiel y est. Le standard SQL:1999, est en trois parties :
La partie 1 est un préalable à la partie 2, mais la partie 2 peut être consultée sans avoir accès à la partie 1. La partie 3 est en pratique de peu d’intérêt, comme la plupart des librairies logicielles ont leur propre API. La partie 3 intéresserait les développeurs de librairies logicielles, mais il semble exister au moins un standard similaire défini par l’Open Group ; alors soit le standard ISO n’est pas universel, soit il existe d’autre source que l’ISO pour cette troisième partie qui reste accessoire en pratique. Donc avec le PDF SQL:1999 Part 2 et le fichier texte SQL92 pour lequel un lien est donné dans le premier message, il y a largement l’essentiel. ![]() Hibou57 « La perversion de la cité commence par la fraude des mots » [Platon] |
|