Page suivante Page précédente Table des matières
24. Livres et Documentations
24.1 Guides utilisateur et Manuels
On trouve dans la distribution PostgreSQL aux formats et pages de manuel unix les documents suivants. Si vous avez accès à l'internet, vous pouvez trouver les documents indiqués ci-dessous à http://www.postgresql.org/docs
- Le 'Guide Utilisateur' pour PostgreSQL,
- Le 'Guide de Réalisation' détaillant la constitution interne de PostgreSQL.
- Les manuels "en ligne".
- Le manuels en ligne au format HTML.
- Également les manuels au format Postscript pour faire des éditions papier.
24.2 Documentation en ligne
- Liste et description des types de données et des opérateurs par défaut
Fait partie des commandes PSQL de la version 6.3.- Liste des mots-clés SQL supportés
Il y a un script dans le répertoire /tools qui fait cela- Liste des instructions supportées -
Utilisez la commande psql \h- Concepts de base des bases de données relationnelles sous PostgreSQL (en implémentation) et des tonnes d'exemples en ligne (requêtes) -
Consultez les tests de régression dans src/test. Là, vous y trouver les répertoires regress/sql et suite/*.sql.- Didacticiel pour PostgreSQL.
Voir également "Didacticiel SQL pour les débutants" dans l'appendice B de ce document Appendix BLes scripts du didacticiel SQL sont dans le répertoire src/tutorial24.3 Documents de Référence: Ouvrages de référence utiles :
- "Understanding the New SQL: A Complete Guide" (Comprendre le Nouveau SQL: Un Guide Complet)- par Jim Melton et Alan R.Simon
Morgan Kaufman Publisher. C'est un des meilleurs livres sur SQL. Il concerne SQL92.- "A Guide to THE SQL STANDARD" (Un Guide du STANDARD SQL) - par C.J.Date
Addison-Wesley Publishing company. C'est également un bon livre. Très populaire en ce qui concerne SQL.- SQL - The Standard Handbook, (Le Manuel Standard) November 1992
Stephen Cannan and Gerard Otten McGraw-Hill Book Company Europe , Berkshire, SL6 2QL, England- SQL Instant Reference, (Référence Immédiate SQL) 1993
Martin Gruber, Technical Editor: Joe Celko SYBEX Inc. 2021 Challenger Drive Alameda, CA 94501- C.J.Date, "An introduction to Database Systems" (Une introduction aux Systèmes de Bases de Données) (6th Edition), Addison-Wesley, 1995, ISBN 0-201-82458-2
Ce livre est la Bible des Systèmes de Gestion de Bases de Données. Le livre détaille la normalisation, SQL, la récupération, la concurrence, la sécurité, l'intégrité, les extensions au modèle relationnel original, des sujets actuels tels que les systèmes client/serveur et le(s) modèle(s) Orienté(s) Objet. De nombreuses références sont données pour des lectures complémentaires. Recommandé pour la plupart des utilisateurs.- Stefan Stanczyk, "Theory and Practice of Relational Databases", (Théorie et pratique des bases de Données Relationnelles) UCL Press Ltd, 1990, ISBN 1-857-28232-9
Ce livre détaille la théorie des bases de données relationnelles, l'algèbre relationnelle, le calcul et la normalisation. Mais il ne couvre pas les sujets du mode réel et les exemples sont un peu simplistes. Recommandé pour la plupart des utilisateurs.- "The Practical SQL Handbook" (Le Manuel Pratique de SQL) Third Edition, Addison Wesley Developers Press ISBN 0-201-44787-8
Recommandé pour la plupart des utilisateurs.- Michael Stonebraker, "Readings in Database Systems" (lectures sur les Systèmes de Bases de Données), Morgan Kaufmann, 1988, ISBN 0-934613-65-6
Ce livre est un recueil de papiers, sur les bases de données, qui ont été publiés sur plusieurs années. Il n'est pas pour l'utilisateur occasionnel mais, c'est réellement une référence pour les étudiants en classes supérieures (troisième cycle) ou pour les développeurs de systèmes de bases de données.- C.J.Date, "Relational Database - Selected Readings" (Bases de Données Relationnelles - Morceaux choisis), Addison-Wesley, 1986, ISBN 0-201-14196-5
Ce livre est un recueil de papiers, sur les bases de données, qui ont été publiés sur plusieurs années. Il n'est pas pour l'utilisateur occasionnel mais c'est réellement une référence pour les étudiants en classes supérieures (troisième cycle) ou pour les développeurs de systèmes de bases de données.- Nick Ryan and Dan Smith, "Database Systems Engineering", (Ingénierie de Systèmes de Bases de Données), International Thomson Computer Press, 1995, ISBN 1-85032-115-9
Ce livre traite des détails des méthodes d'accès, et des technique de stockage.- Bipin C. Desai, "An introduction to Database Systems", (Une introduction aux systèmes de bases de données) West Publishing Co., 1990, ISBN 0-314-66771-7
Il n'est pas pour l'utilisateur occasionnel mais c'est réellement une référence pour les étudiants en classes supérieures (troisième cycle) ou pour les développeurs de systèmes de bases de données.- Joe Celko "INSTANT SQL Programming" (Programmation SQL IMMEDIATE)
Wrox Press Ltd. Unit 16, 20 James Road, Tyseley Birmingham, B11 2BA, England 1995- Michael Gorman "Database Management Systems: Understanding and Applying Database" (Systèmes de Gestion de Bases de Données : comprendre et appliquer les bases de données)
Technology QED and John Wiley 1991- Michael Gorman "Enterprise Database for a Client/Server Environment" (Base de Données d'Entreprise pour un Environnement Client/Serveur) QED and John Wiley
Présente les exigences de construction d'applications de base de données client/server par l'intermédiaire de méta-modèles d'entrepôt et l'utilisation de la norme SQL ANSI 1993Des centaines d'autres titres concernant SQL sont disponibles! Vérifiez-le dans une librairie.
24.4 Documents de Spécifications ANSI/ISO SQL - SQL 1992, SQL 1998
Les documents de Spécifications ANSI/ISO SQL sont situés à l'endroit indiqué ci-dessous.
- http://www.naiua.org/std-orgs.html
- http://www.ansi.org/docs et cliquez sur le fichier cat_c.html puis rechercher "Database SQL"
- Standard SQL92 http://www.jcc.com et cliquez sur le fichier sql_stnd.html
- Spécifications ANSI/ISO SQL http://www.contrib.andrew.cmu.edu/~shadow/sql.html Vous trouverez la Référence SQL ici.
24.5 Syntaxe de l'ANSI/ISO SQL 1992
Voir l'Appendice A de ce document Appendix A
24.6 Syntaxe de l'ANSI/ISO SQL 1998
Les spécifications de SQL 1998 (SQL 3) sont encore en cours de développement. Voir le paragraphe 'Electronic Access to the SQL3 Working Draft' de ce document document à SQL 1998
24.7 Didacticiel SQL pour les débutants
Voir l'Appendice B de ce document Appendix B
24.8 Extension Temporelle à SQL92
- Document pour l'Extension Temporelle à SQL-92 ftp://FTP.cs.arizona.edu/tsql/tsql2/
- Spécification SQL-3 Temporelle ftp://FTP.cs.arizona.edu/tsql/tsql2/sql3/
Ce répertoire contient les spécifications pour une extension temporelle au langage SQL-92 standard. Ce nouveau langage est appelé TSQL2.
Les spécifications du langage présentées ici correspondent à la version finale du langage.
La correspondance doit être adressée au bureau du Comité de Conception du Langage TSQL2, Richard T.Snodgrass, Department of Computer Science, University of Arizona, Tucson, AZ 85721,
Les affiliations et les adresses électroniques des membres du Comité de Conception du langage TSQL2 peuvent être trouvées, dans un chapitre séparé, à la fin des spécifications du langage.Le contenu du répertoire est le suivant :
spec.dvi,.ps Spécifications du langage TSQL2, publié en Septembre, 1994
bookspec.ps Spécifications du langage TSQL2, telles qu'elles apparaissent dans le livre sur TSQL2, publié en Septembre, 1995 (voir ci-dessous).
sql3 proposition de modification soumise au comités ANSI et ISO SQL3.
Un ensemble de commentaires, associés aux spécifications du langage, parle des décisions de conception, fournit des exemples, et traite de la façon dont le langage peut être implanté. Ces commentaires sont, à l'origine, des propositions faites au Comité de Conception du Langage TSQL2. Ils poursuivent actuellement un objectif différent: fournir des exemples de syntaxe, expliquer les nombreuses décisions prises durant la conception du langage, et comparer TSQL2 aux nombreuses autres propositions de langage faites au cours des quinze dernières années. Il faut insister sur le fait que ces commentaires ne font pas partie intégrante des spécifications du langage TSQL2 en lui-même, mais plutôt qu'elles le complètent et constituent un apport. Le mot de la fin est donné par les spécifications de TSQL2 proprement dit.
Les commentaires, ainsi que les spécifications du langage, plusieurs index, et d'autres éléments de support ont été publiés dans un livre :
Snodgrass, R.T., éditeur, The TSQL2 Temporal Query Language, (Le Langage de Requêtes Temporel TSQL2) Kluwer Academic Publishers, 1995, 674+xxiv pages.
Les commentaires d'évaluation sont donnés sous forme abrégée dans le livre; La totalité des commentaires est fournie dans le fichier eval.ps situé dans ce répertoire
Le fichier tl2tsql2.pl est un programme prolog qui traduit la logique temporelle autorisée en TSQL2. Ce programme a été écrit par Michael Boehlen
On peut le contacter pour obtenir un papier qui décrit cette traduction. C'est une version tout à fait ancienne du programme. Les nouvelles versions sont disponibles à (the TimeDB and Tiger systems).24.9 Partie 0 - Acquisition des Documents ISO/ANSI SQL
Ce document vous explique comment acquérir (légalement) une copie de la norme SQL-92 et comment acquérir une copie du Brouillon de Travail du SQL3 "actuel".
La norme ANSI est protégée par un copyright de l'ANSI, et la norme ISO par un copyright de l'ISO.
Il y a deux (2) normes SQL courantes, une publication ANSI et une publication ISO. Les deux normes sont identiques mot-pour-mot excepté pour quelques sujets triviaux tel que le titre du document, les en-tête de page, la phrase "International Standard" au lieu de "American Standard", et ainsi de suite.
Achat du Standard SQL-92
La norme ISO, ISO/IEC 9075:1992, Information Technology - Database Languages - SQL, est actuellement (Mars, 1993) disponible et en stock à l'ANSI :
au prix de US$ 230.00. La version ANSI, ANSI X3.135-1992, American National Standard for Information Systems - Database Language SQL, n'était pas disponible en stock au moment de la rédaction, mais il devrait l'être entre fin Mars et début Mai, 1993). Il devrait coûter US$ 225.00.American National Standards Institute 1430 Broadway New York, NY 10018 (USA) Phone (sales): +1.212.642.4900Si vous achetez l'un ou l'autre document à l'ANSI, il y aura un supplément de 7% pour le traitement (soit environ US$ 9.10). Les frais d'envoi à l'étranger accroîtront sans doute le coût. ANSI exige des sociétés un document de commande écrit pour chaque commande; d'un autre côté, vous pouvez envoyer un chèque tiré sur une banque US en dollars US, qu'ils encaisseront avant d'expédier votre commande. (Il y a une exception : si votre organisation est membre de l'ANSI, alors l'ANSI enverra les documents et une facture à votre compagnie.)
La norme ISO est aussi disponible en dehors des États-Unis à partir de représentations nationales locales (entités de standardisation du pays) qui sont membres soit de l'ISO (International Organization for Standardization) soit de l'IEC (International Electrotechnical Commission). Des copies de la liste des représentations nationales, avec leurs adresses, sont disponibles de l'ANSI ou d'autres entités nationales. Ils sont aussi disponibles à l'ISO :
Si vous préférez commander la norme d'une façon plus facile et plus rapide, il vous faudra payer pour ce privilège. Vous pouvez commander le ISO/IEC 9075:1992, Information Technology - Database Languages - SQL, à :International Organization for Standardization Central Secretariat 1, rue de Varembi CH-1211 Genève 20 Switzerlandpour un prix de US$ 308.00. Je ne sais pas si le port est compris ou non, mais je parierais que l'envoi international (au moins) sera en supplément. Ils peuvent vous envoyer un document très rapidement et acceptent même les "plus grandes cartes de crédit". Global n'a pas encore la version ANSI pas plus qu'un prix ou qu'une date prévisible de disponibilité (bien que je l'attende dans les quelques semaines suivant la publication par l' ANSI et à un prix aux alentours de US$ 300.00).Global Engineering Documents 2805 McGaw Ave Irvine, CA 92714 (USA) USA Téléphone (accessible de partout): +1.714.261.1455 Téléphone (uniquement aux USA): (800)854-7179Achat d'une copie du Document de Travail SQL3
Vous pouvez acheter une copie du document de travail SQL3 au secrétariat de l'ANSI X3, CBEMA (Computer and Business Equipment Manufacturers Association). Leur objectif est d'avoir la "plus récente" version du document de travail de SQL3 disponible et de la vendre pour environ US$ 60.00 à US$ 65.00. Vous pouvez contacter CBEMA à:
Lynn Barra peut aussi être contactée par téléphone au +1.202.626.5738 pour une demande de copie, bien qu'un courrier soit probablement plus courtois.CBEMA, X3 Secretariat Attn: Lynn Barra 1250 Eye St. Suite 200 Washington, DC 20005 (USA)Accès Électronique au Document de Travail SQL3
La plus récente version (à la date de rédaction) du document de travail SQL3 (à la fois ANSI et ISO, et de toutes ses parties) est disponible par "ftp anonyme" ou par "ftpmail" sur:
Dans ce répertoire , il y a de nombreux fichiers. Ce sont des fichiers PostScript et "texte ordinaire" (pas très bien formatés, mais lisibles sur un écran sans logiciel spécifique).gatekeeper.dec.com dans /pub/standards/sql/En général, vous pouvez trouver des fichiers avec des noms tels que :
A mesure que de nouvelles versions des documents sont produites le "mar94" changera pour indiquer la nouvelle date de publication (e.g., "aug94" est la date attendue de la prochaine publication suivant "mar94").sql-bindings-mar94.ps sql-bindings-mar94.txt sql-cli-mar94.ps sql-cli-mar94.txt sql-foundation-mar94.ps sql-foundation-mar94.txt sql-framework-mar94.ps sql-framework-mar94.txt sql-psm-mar94.ps sql-psm-mar94.txtDe plus, pour les lecteurs ne pouvant pas obtenir une liste de répertoire par FTP, nous avons ajouté un fichier ayant pour nom :
dans le même répertoire. Ce fichier (surprise!) contient une liste du répertoire.lsRécupérer les Fichiers Directement par Ftp
Voici un exemple sur la façon d'utiliser FTP. Spécifiquement, il montre comment se connecter à gatekeeper.dec.com, aller au répertoire où le document de base est gardé et à transférer ce document sur votre machine. Notez que votre machine doit pouvoir accéder à l'internet pour faire cela. Le nom de connexion est 'ftp' et le mot de passe est votre adresse e-mail (on appelle quelquefois cela 'ftp anonyme'). La commande 'type binaire' est utilisée pour s'assurer qu'aucuns bits ne seront supprimés du (des) fichier(s) reçu(s). La commande 'get' récupère un fichier à la fois. Les commentaires dans le script ci-dessous sont placés entre les signes < ... >, < comme ceci > .
Récupération de Fichiers Sans Faire un ftp Direct% ftp gatekeeper.dec.com Connected to gatekeeper.dec.com. 220- *** /etc/motd.ftp *** Gatekeeper.DEC.COM is an unsupported service of DEC Corporate Research. <...il en va ainsi pendant un certain temps...> 220 gatekeeper.dec.com FTP server (Version 5.83 Sat ... 1992) ready. Name (gatekeeper.dec.com:<votre nom de connexion ici>): ftp <anonyme fonctionne également> 331 Guest login ok, send ident as password. Password: <entrez votre adresse e-mail ici> 230 Guest login ok, access restrictions apply. Remote system type is UNIX. <ou autre> Using binary mode to transfer files. ftp> cd pub/standards/sql 250 CWD command successful. ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. total 9529 -r--r--r-- 1 root system 357782 Feb 25 10:18 x3h2-93-081.ps -r--r--r-- 1 root system 158782 Feb 25 10:19 x3h2-93-081.txt -r--r--r-- 1 root system 195202 Feb 25 10:20 x3h2-93-082.ps -r--r--r-- 1 root system 90900 Feb 25 10:20 x3h2-93-082.txt -r--r--r-- 1 root system 5856284 Feb 25 09:55 x3h2-93-091.ps -r--r--r-- 1 root system 3043687 Feb 25 09:57 x3h2-93-091.txt 226 Transfer complete. ftp> type binary 200 Type set to I. ftp> get x3h2-93-082.txt 200 PORT command successful. 150 Opening BINARY mode data connection for x3h2-93-082.txt (90900 bytes). 226 Transfer complete. 90900 bytes received in 0.53 seconds (166.11 Kbytes/s) ftp> quit % <le fichier est maintenant dans votre répertoire sous le nom x3h2-93-082.txt>Digital Equipment Corporation, comme plusieurs autres compagnies, fournit un service de ftp par courrier électronique. La réponse peut prendre plusieurs jours, mais cela fournit un service équivalent à ftp pour ceux qui n'ont pas un accès direct au ftp par Internet. L'adresse du serveur est:
ftpmail@decwrl.dec.com
Le script suivant récupérera la dernière version PostScript du document SQL3 :
Le script suivant récupérera la dernière version PostScript du document SQL3 :reply joe.programmer@imaginary-corp.com connect gatekeeper.dec.com anonymous binary compressLa première ligne du script commande au serveur de vous retourner les fichiers demandés; vous devrez remplacer "joe.programmer@imaginary-corp.com" par votre adresse Internet. Le fichier x3h2-93-091.ps, dans cet exemple, est retourné sous forme de 34 messages e-mail séparés, "compressés" et "uuencodés". Si votre environnement ne dispose pas des outils pour reconstruire de tels fichiers, alors, il vous faudra récupérer le fichier sous forme de texte pur en utilisant le script suivant:reply joe.programmer@imaginary-corp.com connect gatekeeper.dec.com anonymous binary compress uuencode chdir /pub/standards/sql get x3h2-93-091.ps quitMais, attention, le fichier .ps vous sera probablement envoyé en plus de 70 morceaux!reply joe.programmer@imaginary-corp.com connect gatekeeper.dec.com anonymous chdir /pub/standards/sql get x3h2-93-091.ps quitPour récupérer un fichier particulier, autre que x3h2-93-091.ps, remplacez simplement "x3h2-93-091.ps" par le nom du fichier désiré. Pour obtenir la liste de tous les fichiers disponibles dans un répertoire, remplacez "get x3h2-93-091.ps" par "dir".
24.10 Partie 1 - Etat Actuel de l'ISO/ANSI SQL
Ce chapitre constitue une source d'information à propos du processus de normalisation de SQL et de son état actuel.
État Actuel
Le développement pour améliorer SQL afin d'en faire un langage complet pour la définition et la gestion d'objets persistants et complexes. Ceci comprend : les hiérarchies de généralisation et de spécialisation, l'héritage multiple, les types de données définies par l'utilisateur, les déclencheurs et les assertions, le support des systèmes à base de connaissances, les requêtes récursives, et des outils complémentaires d'administration de données. Cela inclue également la spécification des types de données abstraits (ADTs), des identificateurs d'objets, des méthodes, de l'héritage, du polymorphisme, de l'encapsulation et de tous les autres moyens normalement associés à la gestion d'objets.
A l'automne 1996, plusieurs parties de SQL3 ont été soumises à un vote de l'ISO CD. Ce sont SQL/Framework, SQL/Foundation et SQL/Bindings. Ce vote échoua (comme prévu) avec environ 900 commentaires. Fin Janvier, un comité de rédaction traita un grand nombre de solutions aux problèmes qui furent soit incluses avec les commentaires du vote ou soumises en tant que documents séparés. Depuis le comité de rédaction DBL n'a pas pu traiter tous les commentaires et sa durée a été augmentée. La fin du comité de rédaction est prévue pour la fin Juillet 1997, à Londres.
A la suite du comité de rédaction de Juillet, on attend qu'un vote final du CD soit demandé pour ces parties de SQL. Le processus du CD Final prendra environ 6 mois et un comité de rédaction du DBL, après lesquels il y aura un vote IS et un très rapide vote IS.
Les procédures ISO ont changé depuis SQL/92, et les comités SQL travaillent encore selon les règles du processus.
Si tout va bien, ces parties du SQL3 deviendront une norme officielle ISO/IEC en fin 1998, mais le programme est très serré.
En 1993, les comités de développement ANSI et ISO ont décidé de d'éclater le développement futur de SQL en une norme multi-parties. Ces parties sont :
- Partie 1: Structure Description non technique de la manière dont le document doit être structuré.
- Partie 2: Base Spécifications de base, incluant toutes les nouvelles fonctionnalités ADT.
- Partie 3: SQL/CLI Interface du niveau appel (Call Level Interface).
- Partie 4: SQL/PSM Spécifications des procédures enregistrées
- Partie 5: SQL/Bindings SQL Dynamique et SQL Embedded SQL liens venant de SQL-92.
- Partie 6: SQL/XA Une spécialisation de l'interface populaire XA développée par X/Open
- Partie 7:SQL/Temporal Ajoute les capacités liées au temps à la norme SQL.
Aux USA, la totalité de SQL3 est en cours de traitement à la fois comme projet ("D") national et comme projet ISO. La fin de SQL3 est attendue pour courant 1999.
Le SQL/CLI et le SQL/PSM sont en cours de traitement aussi rapidement que possible comme addenda à SQL-92. Aux USA, ils sont traités uniquement comme projet International. SQL/CLI a été terminé en 1995. SQL/PSM devrait être terminé fin 1996.
En plus du travail sur SQL3, quelques projets additionnels sont poursuivis :
- SQL/MM Un effort en cours pour définir une norme multi-media utilisant les possibilités de SQL3 ADT.
- Accès aux données à distance (RDA)
Comités et Processus de Standardisation
Il y a effectivement de nombreux comités de normalisation de par le monde. Il y a un groupe international de normalisation SQL faisant partie de l'ISO. Un certain nombre de pays on des comités qui se consacrent à SQL. Ces pays (habituellement) envoient des représentants aux réunions ISO/IEC JTC1/SC 21/WG3 DBL. Les pays qui participent activement au processus de normalisation ISO SQL sont :
- Australie
- Brésil
- Canada
- France
- Allemagne
- Japon
- Korée
- Pays-Bas
- Angleterre
- États-Unis
Validation NIST
Les implémentations SQL sont validées (aux États-Unis) par le National Institute of Standards and Testing (NIST). Le NIST possède une suite de tests de validation pour le niveau de base SQL-92. Les détails exacts des exigences de la validation NIST sont définis comme un Federal Information Processing Standard (FIPS). Les exigences actuelles pour SQL sont définies dans le document FIPS 127-2. Les versions Postscript et Texte de ce document peuvent être obtenues au NIST. La Liste des Produits Validés à jour peut également être obtenue au NIST.
Publications et Articles sur le Standard SQL
Il y a deux versions de la norme SQL. Les deux sont disponibles à l'ANSI:
- ISO/IEC 9075:1992, "Information Technology --- Database Languages --- SQL"
- ANSI X3.135-1992, "Database Language SQL"
Les deux versions de la norme SQL sont identiques sauf la page de garde et les références aux autres normes. Les deux versions sont disponibles au :
En supplément à la norme SQL-92, il y a maintenant un Technical Corrigendum (correction d'erreurs) :American National Standards Institute 1430 Broadway New York, NY 10018 USA Téléphone (ventes): +1.212.642.4900Le TC 1 doit aussi être disponible à l'ANSI. Il n'y a qu'une version du TC 1 -- qui s'applique à la fois aux versions ISO et ANSI de SQL-92.* Technical Corrigendum 1:1994 to ISO/IEC 9075:1992En supplément à ces normes, plusieurs livres ont été écrits sur la norme SQL 1992. Ces livrent donnent une description bien plus lisible de la norme que celle donnée par le norme elle-même.
Standards connexes
Un certain nombre d'autres normes présentent de l'intérêt pour la communauté SQL. Cette section contient des pointeurs donnant des informations sur ces efforts. Ces pointeurs seront plus nombreux à mesure que des informations complémentaires seront disponibles sur le web.
- SQL Environnements (FIPS 193) - (Environnements SQL)
- Next Generation Repository Systems (X3H4) - (Systèmes Dépositaires de la Prochaine Génération) Une version des Nouvelles appelant à une participation au "Développement des Standards pour les Systèmes Dépositaires de la Prochaine Génération."
24.11 Partie 2 - Fondements ISO/ANSI SQL
Une partie importante de l'effort pour SQL3 réside dans le document de base SQL :
- Capacités de Base SQL/PSM (venant de SQL/PSM-92)
- Nouveaux types de données
- Déclencheurs
- Sous-tables
- Types de Données Abstraits (ADT)
- Capacités Orientées Objets
Il y a plusieurs pré-requis pour les capacités orientées objets :
- Capacité de pouvoir définir des opérations complexes
- Stockage des opérations complexes dans la base de données
- Appels de Procédures Externes Quelques opérations peuvent ne pas exister dans SQL ou peuvent nécessiter des interactions externes
Ces capacités sont définies comme faisant partie de SQL/PSM
Une grande quantité de travail est en cours de réalisation pour affiner le modèle objet SQL-3 et l'aligner sur le modèle objet proposé par l'ODMG. Cet effort est décrit dans les papiers X3H2 et ISO DBL : Accommoder SQL3 et ODMG. Une mise à jour récente sur le Fusionneur SQL3/OQL est également disponible.
Planification de SQL3
Le travail sur SQL3 se poursuit normalement, mais la publication de la norme finale se situe encore à un horizon de plusieurs années.
Le programme de la version ANSI sera similaire.
- Le vote International pour passer du Brouillon de Travail au Brouillon du Comité (CD) aura lieu à l'automne 1996.
- On s'attend à ce que le vote génère de nombreux commentaires
- Un second vote sera probablement nécessaire
- Le vote pour le Brouillon du Standard International devrait avoir lieu à la mi-1998
- Le Standard International doit être terminé à la mi-1999.
24.12 Partie 3 - Interface d'Appel SQL ISO/ANSI
SQL/CLI est une interface de programmation d'appel pour les bases de données SQL. Il est conçu pour accéder aux bases de données à partir d'applications fermées. CLI a, à l'origine, été créé par un sous-comité du groupe SQL Access (SAG). Les spécifications de SAG/CLI ont été publiées, en 1992, en tant que spécifications Microsoft Open DataBase Connectivity (ODBC) en 1992. En 1993, le SAG a soumis le CLI aux comités ANSI et ISO SQL. (Le groupe "SQL Access Group" a maintenant été fusionné avec le consortium X/Open.)
SQL/CLI fournit une norme internationale pour :
- Un CLI dépendant de l'implémentation pour accéder aux bases de données SQL
- Des outils Client-serveur pour accéder facilement à une base de données au moyen de Bibliothèques de Lien Dynamique
- Supporter et encourager un riche ensemble d'outils Client-serveur
Planification de SQL/CLI
Le processus de normalisation de SQL/CLI se poursuit à une vitesse aveuglante.
- SQL/CLI est un addendum à la norme SQL de 1992 (SQL-92)
- Achevé comme norme ISO en 1995
- ISO/IEC 9075-3:1995 Information technology -- Database languages -- SQL -- Partie 3: Call-Level Interface (SQL/CLI)
- L'effort actuel porte sur l'ajout des fonctionnalités SQL3 à SQL/CLI
24.13 Partie 4 - Modules Mémorisés Persistants ISO/ANSI SQL
SQL/PSM étend SQL en ajoutant :
- Des extensions de langage procédural
- Des procédures mémorisées multi-instructions
- Des appels de procédures et de fonctions externes
SQL/PSM apporte, en plus du fait d'être un bon outil de développement d'application, une base pour des fonctionnalités orientées objet dans SQL3.
Procédures mémorisées et multi-instructions
Multi-instructions et procédures mémorisées offrent une grande variété d'avantages dans un environnement client/serveur :
- Performance - Puisqu'une procédure mémorisée peut effectuer de multiples instructions SQL, les interactions sur le réseau, avec le client, sont réduites.
- Sécurité - On peut donner à un utilisateur le droit d'appeler une procédure mémorisée qui met à jour une table ou un ensemble de tables mais lui refuser le droit de mettre à jour les tables directement
- Code partagé - Le code d'une procédure mémorisée n'a pas à être réécrit ni re-testé pour chaque outil d'un client qui accède à la base de données.
- Contrôle - Fournit un point unique de définition et de contrôle dans la logique de l'application.
Extensions de Langage Procédural
Le langage procédural ajoute la puissance d'un langage de programmation traditionnel à SQL grâce à des instructions de contrôle de flot et à d'autres constructions utilisées en programmation.
Instructions de contrôle de flot
- If-then-else (si-alors-sinon)
- Instructions de boucle
- Prise en compte de erreurs
- Instruction de choix multiple (Case)
- Blocks (Begin-End blocks)
Les extensions de langage procédural comprennent d'autres constructions des langages de programmation :
- Déclaration des variables
- Instructions d'affectation de valeur
- Lecture de diagnostiques sur les processus et l'état
De plus, toutes les instructions SQL traditionnelles peuvent être inclues dans de procédures multi-instructions.
Appels de Fonctions et de Procédures externes
Une fonctionnalité souvent mentionnée dans la liste des souhaits pour de nombreuses base de données et produits et qui est implémentée dans quelques-uns, est la capacité de pouvoir augmenter les fonctionnalités du logiciel de base de données d'origine par des appels à des procédures externes écrites par les utilisateurs.
- Cela permet à un site ou a une application en particulier d'ajouter leurs propres fonctions base de données
- Peuvent être utilisées tout au long des applications bases de données
Le bénéfice de cette capacité est de donner accès, pour la base de données (et, par là, aux applications base de données), à un riche ensemble de procédures et de fonctions trop nombreuses pour être définies par un comité de normalisation.
Planification de SQL/PSM
SQL/PSM évolue rapidement :
- SQL/PSM est un addendum à SQL-92
- Un vote international pour faire passer SQL/PSM de Brouillon de Norme Internationale à Norme Internationale s'est achevé en fin janvier 1996.
- Une réunion de travail en mai 1996 n'a pas apporté de solution à tous les commentaires
- La poursuite de la réunion de travail du PSM est programmée du 30 septembre au 4 octobre 1996
- Le programme est serré, mais il y a des chances que le PSM le publie en 1996.
- Sa désignation officielle sera : ISO/IEC DIS 9075-4:199? Information technology -- Database languages -- SQL -- Partie 4: SQL Persistent Stored Modules (SQL/PSM)
- L'ajout du support de SQL/PSM dans les fonctionnalités de SQL3 est en bonne voie.
24.14 Partie 5 - ISO/ANSI SQL/Liens
Pour en faciliter l'accès, la description des liens avec le langage de programmation a été mise dans un document séparé. La version actuelle consiste simplement en un extrait concernant les liens dynamiques et intégrés de SQL-92.
Un certain nombre de sujets concernant les liens avec le langage de programmation restent en suspens.
Pour les langage de programmation traditionnels, il existe des transformations pour les types de données de SQL-92. Cependant, des transformations doivent être définis entre les objets SQL et les variables des langages de programmation.
Pour les langages orientés objets, la transformation doit être définie pour les types de données courants SQL et entre le modèle objet SQL et le modèle objet du langage orienté objet.
Le modèle objet doit se stabiliser avant de résoudre ces problèmes.
Les liens avec le langage feront partie intégrante de SQL3.
24.15 Partie 6 - Interface de Spécialisation (SQL/XA) ISO/ANSI SQL XA)
Cette spécification devrait normaliser l'interface de programmation d'application (API) entre un Gestionnaire de Transaction global et le Gestionnaire de Ressources SQL. Il devrait normaliser les appels de fonction, en s'appuyant sur la sémantique de l'ISO/IEC 10026, "Distributed Transaction Processing", qu'un Gestionnaire de Ressources SQL devrait supporter pour la validation en deux phases. Le document de base est dérivé d'une publication de l'X/Open, avec sa permission, qui spécifie explicitement les paramètres d'entrée, de sortie et la sémantique, en termes de types de données SQL, pour les fonctions suivantes : xa_close, xa_commit, xa_complete, xa_end, xa_forget, xa_open, xa_prepare, xa_recover, xa_rollback, et xa_start.
ISO essaye actuellement de coller aux spécifications XA de l'X/Open. Ce processus de suivi, au plus près, consiste à adopter les spécifications de l'industrie sans changements. Le vote pour l'XA à l'ISO SC21, JTC 1 a débuté le 27 avril 1995 et se termine le 27 octobre 1995. Si les spécifications XA sont approuvées par 75% des votants, et par 2/3 des membres participants de JTC 1, cela deviendra une Norme Internationale. Si le vote est approuvé, SQL/XA pourrait devenir une norme en 1996.
24.16 Partie 7 - ISO/ANSI SQL Temporel
Le SQL Temporel traite des données en relation avec le temps. Conceptuellement, cela consiste à dire qu'il est utile d'aller chercher des données pour découvrir l'allure qu'elles avaient à un certain moment. L'origine du SQL Temporel réside dans un papier de décembre 1994 de Rick Snodgrass qui en décrivait les concepts.
X3 Annonce l'Approbation d'un Nouveau Projet, ISO/IEC 9075 Partie 7 : SQL/Temporel est un communiqué de presse concernant le SQL/Temporel.
Plusieurs personnes se sont posé la question de la nécessité de la prise en charge de la gestion du temps dans SQL3 (comme cela a été proposé par DBL RIO-75, demandant qu'une nouvelle partie de SQL prenne en charge les bases de données temporelles). Le sentiment est que les types de données abstraits (ADT) sont suffisants pour gérer les questions de temps. Dans ce papier, je démontre, par des exemples concrets, que l'utilisation de colonnes typées, avec des types de données abstraits, est inadaptée pour des requêtes temporelles. En particulier, beaucoup de requêtes temporelles courantes sont soit difficiles à simuler en SQL, soit nécessitent d'intégrer SQL dans un langage procédural. Des solutions alternatives sont exposées dans TSQL2, une extension temporelle à SQL-92.---------------------------------------------------------------------------- SQL Temporel ************ Rick Snodgrass (Président du comité TSQL2) 31-Dec-1994INTRODUCTION
La prise en charge d'un instant de validité va au-delà de celle de types de données temporels abstraits (ADT temporel). Avec ce dernier, on spécifie qu'une colonne sera celle consacrée au domaine temporel, tel que la DATE ou un INTERVALLE (je donnerai des exemples bientôt). Avec un instant de validité, les lignes d'une table varient en fonction du temps, reflétant les modifications de la réalité. Le timbre dateur associé à une ligne d'une table à instant de validité est interprété par le langage d'interrogation comme l'instant où la combinaison des valeurs dans les colonnes d'une ligne était valide. Ce timbre dateur implicite permet d'exprimer des requêtes de manière simple et intuitive.
ÉTUDE DE CAS - ENREGISTREMENT DE L'INFORMATION COURANTE
Le bureau du personnel (BP) salarié de l'université de l'Arizona possède un certain nombre d'informations, dans une base de données, dont le nom de chaque employé, son salaire actuel ainsi que son titre. On peut représenter cela dans une simple table.
Étant donné cette table, retrouver le salaire d'un employé est une opération aisée.Employee(Name, Salary, Title)Maintenant, le BP souhaite enregistrer les dates de naissance. Pour ce faire, on ajoute une colonne à la table, ce qui donne le schéma suivant.SELECT Salary FROM Employee WHERE Name = 'Bob'Retrouver la date de naissance d'un employé est analogue à retrouver son salaire.Employee(Name, Salary, Title, DateofBirth DATE)SELECT DateofBirth FROM Employee WHERE Name = 'Bob'ETUDE DE CAS - ENREGISTREMENT DE L'INFORMATION HISTORIQUE
Le BP souhaite informatiser l'historique de l'emploi. Pour ce faire, ils ajoutent deux colonnes, l'une pour indiquer quand l'information contenue dans le ligne est devenue valide, l'autre indiquant la fin de validité de cette information.
Employee (Name, Salary, Title, DateofBirth, Start DATE, Stop DATE)
Pour le modèle de données, ces nouvelles colonnes sont identiques à la date de naissance. Cependant, leur présence à des conséquences à grande échelle.
ETUDE DE CAS - PROJECTION
Pour trouver le salaire actuel d'un salarié, les choses sont plus difficiles.
Cette requête est plus compliquée que la précédente. Le coupable se situe, de toute évidence, dans ces deux nouvelles colonnes. Le BP veut fournir à chaque employé l'historique de leur salaire. Pour chaque personne, spécifiquement, il est nécessaire de déterminer les intervalles correspondants à chacun des salaires. Malheureusement, cela n'est pas possible en SQL. Un employé peut avoir un nombre arbitraire de changements de titre entre deux changements de salaire.SELECT Salary FROM Employee WHERE Name = 'Bob' AND Start <= CURRENT_DATE AND CURRENT_DATE <= StopNotez qu'il y a trois lignes pour lesquelles le salaire de Bob reste constant à $ 70,000. De là, le résultat sera de deux lignes pour Bob.Name Salary Title DateofBirth Start Stop ---- ------ ----- ----------- ----- ---- Bob 60000 Assistant Provost 1945-04-09 1993-01-01 1993-05-30 Bob 70000 Assistant Provost 1945-04-09 1993-06-01 1993-09-30 Bob 70000 Provost 1945-04-09 1993-10-01 1994-01-31 Bob 70000 Professor 1945-04-09 1994-02-01 1994-12-31 Figure 1Une alternative est de donner à l'utilisateur une édition des informations Salaire et Titre, et de laisser l'utilisateur déterminer quand son salaire a changé. Cette alternative n'est ni très attirante ni très réaliste. Une seconde alternative est d'utiliser SQL autant que possible.Name Salary Start Stop ---- ------ ----- ---- Bob 60000 1993-01-01 1993-05-30 Bob 70000 1993-06-01 1994-12-31répéterCREATE TABLE Temp(Salary, Start, Stop) AS SELECT Salary, Start, Stop FROM Employee;La boucle trouve des intervalles qui se chevauchent ou sont adjacents et, doivent donc être fusionnés. La boucle est exécutée log N fois dans le pire des cas, où N est le nombre de lignes dans une chaîne de lignes de valeur équivalente qui se chevauchent ou sont adjacentes. Le lecteur peut simuler cette requête sur la table de l'exemple pour se convaincre de sa vérité.UPDATE Temp T1 SET (T1.Stop) = (SELECT MAX(T2.Stop) FROM Temp AS T2 WHERE T1.Salary = T2.Salary AND T1.Start < T2.Start AND T1.Stop >= T2.Start AND T1.Stop < T2.Stop) WHERE EXISTS (SELECT * FROM Temp AS T2 WHERE T1.Salary = T2.Salary AND T1.Start < T2.Start AND T1.Stop >= T2.Start AND T1.Stop < T2.Stop) jusqu'à ce qu'aucune ligne ne soit mise à jour; DELETE FROM Temp T1 WHERE EXISTS (SELECT * FROM Temp AS T2 WHERE T1.Salary = T2.Salary AND ((T1.Start > T2.Start AND T1.Stop <= T2.Stop) OR (T1.Start >= T2.Start AND T1.Stop < T2.Stop))Une troisième alternative consiste à utiliser SQL uniquement pour ouvrir un curseur sur la table. Une liste chaînée de périodes est entretenue, chacune avec un salaire. La liste chaînée doit être initialisée vide.
Répéter tout au long de la liste chaînée, édition des dates et des salairesDECLARE emp_cursor CURSOR FOR SELECT Salary, Title, Start, Stop FROM Employee; OPEN emp_cursor; boucle: FETCH emp_cursor INTO :salary, :start, :stop; si pas-de-données est retourné alors aller à fin; trouver la position dans la liste chaînée pour insérer cette information; aller à boucle; fin: CLOSE emp_cursor;La liste chaînée peut ne pas être nécessaire au cas où le curseur est ORDER BY Start.
Dans tous les cas, la requête, tout ce qu'il y a de naturelle, est tout à fait difficile à exprimer en utilisant les possibilités offertes par SQL-92. La requête est triviale en TSQL2.
SELECT Salary FROM EmployeeETUDE DE CAS - JOINTURE
Une approche plus drastique consiste à éviter le problème d'extraction de l'historique du salaire en réorganisant le schéma pour séparer les informations de salaire, de titre, et de date de naissance (dans ce qui suit, nous ignorerons la date de naissance pour raison de simplicité).
La table Employee1 est la suivante.Employee1 (Name, Salary, Start DATE, Stop DATE) Employee2 (Name, Title, Start DATE, Stop DATE)Voici un exemple de la table Employee2.Name Salary Start Stop ---- ------ ----- ---- Bob 60000 1993-01-01 1993-05-30 Bob 70000 1993-06-01 1993-12-31Avec cette modification, aller chercher l'information de salaire d'un employé devient maintenant facile.Name Title Start Stop ---- ------ ----- ---- Bob Assistant Provost 1993-01-01 1993-09-30 Bob Provost 1993-10-01 1994-01-31 Bob Professor 1994-02-01 1994-12-31Mais qu'en est-il si le BP veut une table des salaires, des intervalles de titre (c'est-à-dire, supposons que le BP veuille qu'une table soit calculée dans la forme de la Figure 1)? Une alternative est d'éditer les deux tables, et de laisser l'utilisateur en calculer les combinaisons. Une seconde alternative est d'utiliser entièrement SQL. Malheureusement, cette requête doit faire une étude de cas sur la manière dont chaque ligne de Employee1 se chevauche avec chaque ligne de Employee2; il y a quatre cas possibles.SELECT Salary, Start, Stop FROM Employee1 WHERE Name = 'Bob'Prendre en compte, d'une façon correcte, tous les cas constitue une tâche qui relève du challenge. En TSQL2, réaliser une jointure temporelle correspond simplement à ce que l'on peut espérer.SELECT Employee1.Name, Salary, Dept, Employee1.Start, Employee1.Stop FROM Employee1, Employee2 WHERE Employee1.Name = Employee2.Name AND Employee2.Start <= Employee1.Start AND Employee1.Stop < Employee2.Stop UNION SELECT Employee1.Name, Salary, Dept, Employee1.Start, Employee2.Stop FROM Employee1, Employee2 WHERE Employee1.Name = Employee2.Name AND Employee1.Start >= Employee2.Start AND Employee2.Stop < Employee1.Stop AND Employee1.Start < Employee2.Stop UNION SELECT Employee1.Name, Salary, Dept, Employee2.Start, Employee1.Stop FROM Employee1, Employee2 WHERE Employee1.Name = Employee2.Name AND Employee2.Start > Employee1.Start AND Employee1.Stop < Employee2.Stop AND Employee2.Start < Employee1.Stop UNION SELECT Employee1.Name, Salary, Dept, Employee2.Start, Employee2.Stop FROM Employee1, Employee2 WHERE Employee1.Name = Employee2.Name AND Employee2.Start > Employee1.Start AND Employee2.Stop < Employee1.StopSELECT Employee1.Name, Salary, Dept FROM Employee1, Employee2 WHERE Employee1.Name = Employee2.NameETUDE DE CAS - AGRÉGATS
Maintenant, on demande au BP quel est le salaire maximum ? Avant d'ajouter les données de temps, c'était facile.
Maintenant que l'historique du salaire est enregistré, nous obtiendrons quelque chose comme l'historique du salaire maximum à travers le temps. Le problème est que, naturellement, SQL ne fournit pas d'agrégats temporels. Le moyen simple de réaliser cela consiste à éditer l'information, et à chercher, à la main, le maximum. Une alternative consiste à être plus astucieux et à convertir l'instantané de la requête agrégée en une requête non agrégée, puis à convertir le résultat en requête temporelle. La requête non agrégée retrouve les salaires pour lesquels un salaire plus élevé n'existe pas.SELECT MAX(Salary) FROM EmployeeConvertir cette requête en une requête temporelle est loin d'être évident. Ce qui suit constitue une approche possible.SELECT Salary FROM Employee AS E1 WHERE NOT EXISTS (SELECT * FROM Employee AS E2 WHERE E2.Salary > E1.Salary)Cette approche crée une table auxiliaire. Nous ajoutons à cette table la période inférieure soustraite d'une période et la partie supérieure soustraite d'une période. Nous supprimons alors toutes les périodes qui se chevauchent avec une ligne définie dans la sous-requête, de ce fait réalisant le NOT EXISTS(n'existe pas). Finalement nous générons à partir de la table auxiliaire les périodes maximales, de la même façon que l'information de salaire avait été calculée ci-dessus. Comme on peut l'imaginer, un tel code SQLest extrêmement inefficace à l'exécution, compte tenu des requêtes complexes imbriquées contenant des prédicats d'inégalité.CREATE TABLE Temp (Salary, Start, Stop) AS SELECT Salary, Start, Stop FROM Employee; INSERT INTO Temp SELECT T.Salary, T.Start, E.Start FROM Temp AS T, Employee AS E WHERE E.Start >= T.Start AND E.Start < T.Stop AND E.Salary > T.Salary; INSERT INTO Temp SELECT T.Salary, T.Stop, E.Stop FROM Temp AS T, Employee AS E WHERE E.Stop > T.Start AND E.Stop <= T.Stop AND E.Salary > T.Salary; DELETE FROM Temp T WHERE EXISTS (SELECT * FROM Employee AS E WHERE ((T.Start => E.Start AND T.Start < E.Stop) OR (E.Start >= T.Start AND E.Start < T.Stop)) AND E.Salary > T.Salary;Une troisième alternative consiste à utiliser le moins possible SQL, et plutôt de calculer le maximum désiré dans un langage hôte en utilisant des curseurs.
La requête en TSQL2 est de nouveau simple et intuitive.
SELECT MAX(Salary) FROM EmployeeRESUME
Dans la plupart des applications de base de données on manipule des données qui changent en fonction du temps. La prise en compte de l'instant de validité est absente de SQL. Beaucoup de requêtes temporelles ordinaires sont difficiles à simuler en SQL, ou requièrent du SQL intégré dans un langage procédural, ceci étant dû au manque de support des tables avec instant de validité dans son modèle de données et dans la structure des requêtes.
Ailleurs, nous avons montré que l'ajout du support de l'instant de validité ne requiert que peu de modifications dans l'implémentation des SGDB, peut radicalement simplifier un certain nombre de requêtes et en permettre d'autres, et peut, plus tard, permettre des optimisations dans les structures de mémoires, les méthodes d'indexation et les stratégies d'optimisation qui peuvent entraîner des améliorations notables dans les performances.
Avec une nouvelle partie de SQL3 supportant les informations qui varient avec le temps, permettant une meilleure gestion des données temporelles par SQL3, nous pouvons commencer à apporter une réponse à de telles application.
-- Le Comité de Normalisation Accrédité X3, Technologie de l'Information, annonce l'approbation d'un nouveau projet concernant le support de SQL/Temporel , ISO/IEC 9075 Partie 7, le travail devant être réalisé au sein du Comité Technique X3H2, Bases de Données. Cette proposition de norme concerne un nouvelle partie de la norme naissante SQL3, e.g., Partie 7, SQL Temporel, et spécifie les extensions au langage SQL pour gérer le stockage, l'extraction et la manipulation des données temporelles dans un environnement de base de données SQL.---------------------------------------------------------------------------- Comité de Normalisation Accrédité* X3, Technologie de L'Information COMMUNIQUE Doc. No.: PR/96-0002 Reply to: Barbara Bennett at bbennett@itic.nw.dc.us X3 Annonce l'approbation d'un Nouveau Projet, ISO/IEC 9075 Partie 7: SQL/Temporal Washington D.C., Janvier 1996 ----------------------------------------------------------------------------La prochaine réunion du comité X3H2 est planifié pour la période du 11 au 14 Mars 1996 dans le Kansas.
Les questions concernant ce projet doivent être envoyées au président de X3H2 :
Un appel initial pour de possibles brevets ou autres sujets pertinents (copyrights, trademarks) est sur le point d'être émis. Soumettez, s'il vous plaît, les informations à ce propos au secrétariat de X3 à :Chairman of X3H2, Dr. Donald R. Deutsch, Sybase, Inc., Suite 800, 6550 Rock Spring Drive, Bethesda, MD 20817. Email: deutsch@sybase.com.X3 Secretariat 1250 Eye Street NW, Suite 200, Washington DC 20005. Email: x3sec@itic.nw.dc.us FAX: (202)638-4922.24.17 Partie 8 - SQL MULTIMEDIA ISO/ANSI (SQL/MM)
Un nouveau projet international de normalisation ISO/IEC pour le développement d'une bibliothèque de classe SQL pour les applications multi-media a été approuvé début 1993. Cette nouvelle activité de normalisation, appelée SQL Multi-media (SQL/MM), spécifiera les paquetages de définition de types de données abstraites SQL (ADT) en utilisant les fonctions fournies dans les spécifications SQL3 naissantes pour ADT. SQL/MM a pour objectif de normaliser des bibliothèques de classes pour la science et l'ingénierie, le traitement des textes et des documents, ainsi que des méthodes pour la gestion d'objets multi-media tels que les images, les sons, les animations, la musique et la vidéo. Il fournira vraisemblablement un lien entre le langage SQL et les objets multi-media définis par les autres entités de normalisation du JTC1 (e.g. SC18 pour les documents, SC24 pour les images, et SC29 pour les photographies et les images animées).
Le Plan du Projet pour SQL/MM prévoit que ce sera une norme multi-parties dont le nombre de parties pourra évoluer. La partie 1 consistera en un cadre spécifiant comment les autres parties doivent être architecturé. Chacune de ces autres parties sera consacrée à un paquetage d'application SQL spécifique. En août 1994, la structure existante était la suivante :
- Partie 1: Cadre - Description non technique de la manière dont le document est structuré.
- Partie 2: Méthodes pour le Texte et ADT (types de données abstraits) pour le traitement des textes. Environ 45 pages.
- Partie 3: Méthodes Spatiales et ADT pour la gestion des données spatiales Environ 200 pages avec l'active contribution d'experts en Données Spatiales de 3 entités nationales.
- Partie 4: Méthode à Usage Général et ADT pour les nombres complexes, et des fonctionnalités incluant la trigonométrie et les fonctions exponentielles les vecteurs, les ensembles etc. Actuellement environ 90 pages.
On assiste à des efforts de normalisation dans le domaine des informations Spatiales et Géographiques :
- ANSI X3L1 - Systèmes d'Information Géographique. Mark Ashworth de Unisys est chargé de la liaison entre X3L1 et ANSI X3H2. Il est également le rédacteur des parties 1, 3, and 4 du brouillon de SQL/MM.
- ISO TC 211 - Information géographique/Géomatique.
Page suivante Page précédente Table des matières