Quelle est l'histoire des mots DDL, DML et DCL ? - SQL/NoSQL - Programmation
Marsh Posté le 30-04-2023 à 18:16:10
Tu t'es renseigné sur le théorème de Codd et l'algèbre relationnelle ? Ce sont les principes de bases à la source des RDBMS, à mon avis ce genre de notions est apparue à ce moment là.
Ou quelques années plus tard lorsque d'autres gens ont créé le SQL. Dans tous les cas à mon avis ça se passe bien avant SQL 92, genre années 60 pour Codd / 70 pour SQL.
Marsh Posté le 01-05-2023 à 10:45:43
DDL, DML et DCL, comme je le comprends, c'est juste pour classer en 3 catégories le instructions du SQL. Certaines permettent de définir la structure des tables (les données) et les relations entre elles. D'autres permettent de manipuler ces données (CRUD + recherche). Enfin, les dernières permettent de définir des droits d'accès sur ces données notamment par rapport aux utilisateurs.
Toutefois, on peut largement faire du SQL sans connaître ces 3 acronymes.
Au début, j'ai cru que tu voulais parler le MCD, MLD et MPD
Marsh Posté le 01-05-2023 à 11:20:51
Ah non, rien à voir, ces termes là viennent plutôt de Merise et dans le monde réel généralement on zappe les 3/4 du processus d'analyse associé pour aller direct au MPD .
Marsh Posté le 01-05-2023 à 11:57:59
Oui, c'est vrai que ça vient de Merise. Mais perso, je vois pas comment on peut faire l'impasse sur le MCD, véritable carte d'orientation d'une BD et qui permet aussi bien de la construire et éviter ainsi des relations complètement connes, des duplications de données ou de relations...
Edit : sur un projet d'appli à mon boulot fait par un presta pas cher, j'ai vu ce que ça donnait : un logiciel avec une BD avec environ 1/3 des relations inutiles, pleins de données dupliquées avec des incohérences de tailles de champs (genre, un champ qui prend comme valeurs 2 champs ayant une taille max respectivement de 100 et 50 caractères et le champ résultant, lui, a une taille max de 100, tu m'étonnes que parfois, ça plantait ! ), des relations cycliques, plusieurs chemins (=jointures successives) pour arriver à une donnée mais suivant le chemin que tu prends, t'arrives pas à la même donnée...
Résultat, au bout de 3 ans après la mise en service, on parlait déjà de l'appli remplaçante...
Marsh Posté le 30-04-2023 à 18:05:09
Je connais les définitions SQL de DDL, DML et DCL. Il existe plusieurs sites Web et publications qui les définissent et les expliquent, comme celui que je lis sur cette page. Cependant, personne ne semble fournir une référence faisant autorité.
Je suis curieux de connaître l'origine de ces mots. SQL les a-t-il créés ? Étaient-ils déjà utilisés pour d'autres bases de données ? Ont-ils été créés par un autre standard puis utilisés par SQL ? Ou SQL les utilisait-il même dans les spécifications ISO ?
Selon un livre, SQL92 contenait ces phrases, mais je ne les trouve pas dans le code accessible en ligne. (Peut-être que je devrai acheter la norme ISO SQL92 finale pour être sûr.) SQL:1999 a adopté un nouveau schéma de catégorisation.
(Une des raisons pour lesquelles je me demande est que s'il s'agissait de noms industriels typiques qui n'étaient pas établis par SQL, il ne serait pas intrinsèquement inapproprié de continuer à les utiliser en plus des nouvelles catégories SQL.)
Quelqu'un peut-il faire la lumière sur les origines de ces expressions, ainsi que sur les références faisant autorité aux normes ou spécifications qui auraient pu les définir à l'origine ?