Τα παρακάτω συμπεριλαμβάνονται στη διανομή της PostgreSQL σε μορφή postscript και σε unix σελίδες βοηθείας (man-pages). Αν έχετε πρόσβαση στο internet, μπορείτε να βρείτε τα κείμενα που αναφέρονται παρακάτω στο http://www.postgresql.org/docs
Είναι τμήμα των εντολών PSQL στην έκδοση 6.4.
Υπάρχει ένα script στον κατάλογο /tools για να το κάνετε αυτό
Χρησιμοποιήστε την εντολή psql \h
Κοιτάξτε στα regression tests στο src/test. Εκεί θα βρείτε τους καταλόγους
regress/sql και suite/*.sql.
Θα βρείτε SQL scripts για εκμάθηση της SQL στον κατάλογο src/tutorial
Το Morgan Kaufman Publisher είναι ένα από τα καλύτερα βιβλία για SQL. Ασχολείται με την SQL92.
Η εταιρεία Addison-Wesley Publishing έχει επίσης πολύ καλά βιβλία. Πολύ δημοφιλή βιβλία για SQL.
Stephen Cannan και Gerard Otten
McGraw-Hill Book Company Europe , Berkshire, SL6 2QL, England
Martin Gruber, Technical Editor: Joe Celko
SYBEX Inc.  2021 Challenger Drive Alameda, CA 94501
Αυτό το βιβλίο είναι η Βίβλος της Διαχείρισης Συστημάτων βάσεων Δεδομένων.
Περιέχει πληροφορίες για κανονικοποίηση, SQL, recovery, concurrency, ασφάλεια, 
integrity, και extensions στο αρχικό σχεσιακό μοντέλο, τρέχοντα θέματα 
όπως client/server συστήματα και Αντικειμενοστραφή μοντέλα. Πολλές 
αναφορές συμπεριλαμβάνονται για όσους θέλουν να μάθουν περισσότερα. Το συνιστούμε στους περισσότερους χρήστες.
Περιέχει λεπτομέρειες με θεωρία σχεσιακών βάσεων, σχεσιακή άλγεβρα, calculus
και κανονικοποίηση. Αλλά δεν καλύπτει θέματα του πραγματικού κόσμου και παραδείγματα πιο σύνθετα. Το συνιστούμε στους περισσότερους χρήστες.
Το συνιστούμε στους περισσότερους χρήστες.
Το βιβλίο είναι μια συλλογή από χαρτιά που έχουν δημοσιευτεί όλα τα χρόνια σχετικά με βάσεις. Δεν είναι για τον απλό χρήστη αλλά είναι μια καλή αναφορά για προχωρημένους (μεταπτυχιακούς) φοιτητές ή προγραμματιστές συστημάτων βάσεων δεδομένων.
Το βιβλίο είναι μια συλλογή από χαρτιά που έχουν δημοσιευτεί όλα τα χρόνια σχετικά με βάσεις. Δεν είναι για τον απλό χρήστη αλλά είναι μια καλή αναφορά για προχωρημένους (μεταπτυχιακούς) φοιτητές ή προγραμματιστές συστημάτων βάσεων δεδομένων.
Αυτό το βιβλίο έχει λεπτομέρειες για μεθόδους πρόσβασης, και τεχνικές αποθήκευσης.
Δεν είναι για τον απλό χρήστη αλλά είναι μια καλή αναφορά για προχωρημένους (μεταπτυχιακούς) φοιτητές ή προγραμματιστές συστημάτων βάσεων δεδομένων.
Wrox Press Ltd.
Unit 16, 20 James Road, Tyseley
Birmingham, B11 2BA, England
1995
Technology
QED και John Wiley
1991
Παρουσιάζει τις απαιτήσεις για να φτιάξετε client/server εφαρμογές βάσεων
μέσω repository μεταμοντέλων  και της χρήσης ANSI στάνταρ SQL
1993
Εκατοντάδες άλλοι τίτλοι είναι διαθέσιμοι για SQL ! Κοιτάξτε στα βιβλιοπωλεία.
Μπορείτε να βρείτε κείμενα προδιαγραφών ANSI/ISO SQL στα παρακάτω sites -
Δείτε το Appendix A αυτού του κειμένου Appendix A
Οι προδιαγραφές SQL 1998 (SQL 3) είναι ακόμη υπό ανάπτυξη. Δείτε το 'Electronic Access to the SQL3 Working Draft' αυτού του κειμένου στο SQL 1998
Δείτε το Appendix B αυτού του κειμένου Appendix B
Ο κατάλογος περιέχει τις προδιαγραφές της γλώσσας για την προσωρινή επέκταση στη στάνταρ γλώσσα SQL-92. Αυτή η νέα γλώσσα ονομάζεται TSQL2.
Οι προδιαγραφές της γλώσσας που παρουσιάζονται εδώ είναι η τελική έκδοση της γλώσσας.
Η αλληλογραφία μπορεί να σταλεί στον πρόεδρο του TSQL2 Language Design Committee, Richard T.Snodgrass, Department of Computer Science, University of Arizona, Tucson, AZ 85721,
Οι θυγατρικές και οι διευθύνσεις e-mail των μελών του TSQL2 Language Design Committee μπορούν να βρεθούν σε ξεχωριστό τμήμα στο τέλος των προδιαγραφών της γλώσσας.Τα περιεχόμενα αυτού του καταλόγου είναι όπως παρουσιάζονται παρακάτω.
spec.dvi,.ps Προδιαγραφές Γλώσσας TSQL2, εκδόθηκε το Σεπτέμβριο του 1994
bookspec.ps Προδιαγραφές της Γλώσσας TSQL2, όπως εμφανίστηκαν στο βιβλίο TSQL2, που εκδόθηκε το Σεπτέμβριο του 1995 (δείτε παρακάτω).
sql3 αλλαγή των προτάσεων που υποβλήθηκαν στις επιτροπές ANSI και ISO SQL3.
Μαζί με τις προδιαγραφές της γλώσσας έχει συσχετιστεί μια συλλογή από σχόλια που αφορούν σε αποφάσεις σχεδιασμού, παροχή παραδειγμάτων, και απόψεις για το πώς μπορεί να υλοποιηθεί η γλώσσα. Αυτά τα σχόλια ήταν αρχικά προτάσεις στην επιτροπή του TSQL2 Language Design. Τώρα εξυπηρετούν ένα συγκεκριμένο σκοπό: να παρέχουν παραδείγματα του ότι έχει φτιαχτεί, ωθήσουν τις πολλές αποφάσεις που πάρθηκαν κατά το σχεδιασμό της γλώσσας, και να συγκρίνουν την TSQL2 με πολλές άλλες προτάσεις της γλώσσας που έχουν γίνει τα την τελευταία δεκαπενταετία. Θα πρέπει να δοθεί έμφαση ότι αυτά τα σχόλια δεν είναι τμήμα των προδιαγραφών της γλώσσας TSQL2, αλλά τη συμπληρώνουν και αναπτύσσουν με βάση αυτά. Οι κατάλληλες προδιαγραφές της γλώσσας είναι η τελευταία λέξη στην TSQL2.
Τα σχόλια, μαζί με τις προδιαγραφές της γλώσσας , αρκετοί δείκτες (indexes), και άλλο υλικό υποστήριξης, έχουν εκδοθεί σε ένα βιβλίο:
Snodgrass, R.T., editor, The TSQL2 Temporal Query Language, Kluwer Academic Publishers, 1995, 674+xxiv σελίδες.
Οι κριτικές εμφανίζονται στο βιβλίο σε μια συντομευμένη μορφή. Οι κριτικές παρέχονται πλήρεις σε αυτόν κατάλογο στο αρχείο eval.ps
Το αρχείο tl2tsql2.pl είναι ένα πρόγραμμα σε prolog που μεταφράζει την επιτρεπόμενη προσωρινή λογική σε TSQL2. Αυτό το πρόγραμμα γράφτηκε από τον Michael Boehlen
Μπορείτε να επικοινωνήσετε μαζί του για ένα paper που περιγράφει αυτή τη μετάφραση. Αυτό είναι μάλλον μια dated έκδοση του προγράμματος. Νεώτερες εκδόσεις είναι διαθέσιμες στο (τα συστήματα TimeDB και Tiger).Αυτό το κείμενο σας δείχνει πώς να αποκτήσετε (νόμιμα) ένα αντίγραφο του προτύπου SQL-92 και του "τρέχοντος" SQL3 Working Draft.
Στο ANSI πρότυπο έχει πνευματικά δικαιώματα η ANSI, στο πρότυπο ISO η ISO.
Υπάρχουν δύο (2) τρέχοντα πρότυπα SQL, η δημοσίευση ANSI και η δημοσίευση ISO. Τα δύο αυτά πρότυπα είναι ολόιδια λέξη προς λέξη εκτός από τετριμμένα ζητήματα όπως ο τίτλος του κειμένου, οι επικεφαλίδες της σελίδας, η φράση "International Standard" αντί για "American Standard", και λοιπά.
Αγοράζοντας το πρότυπο SQL-92
Το πρότυπο ISO standard, ISO/IEC 9075:1992, Information Technology - Database Languages - SQL, είναι διαθέσιμο (Μάρτιος, 1993) στο ANSI :
     American National Standards Institute
     1430 Broadway
     New York, NY 10018 (USA)
     Phone (sales): +1.212.642.4900
Αν αγοράσετε κάποιο από τα κείμενα από το ANSI, θα έχετε έξτρα χρέωση για έξοδα μεταφοράς 7% επιπρόσθετα (δηλαδή, περίπου US$9.10). Για χώρες εξωτερικού τα έξοδα μεταφοράς θα είναι αναμφίβολα ακόμη περισσότερα. Το ANSI απαιτεί κάθε παραγγελία να συνοδεύεται από ένα χαρτί παραγγελίας της εταιρείας. Εναλλακτικά, μπορείτε να στείλετε ένα τσεκ αμερικάνικης τράπεζας ή σε αμερικάνικα δολάρια, τα οποία θα μετρηθούν πριν να σταλθεί η παραγγελία σας. (Υπάρχει μια εξαίρεση: αν η εταιρεία σας είναι ενσωματωμένο μέλος του ANSI, τότε το ANSI θα σας στείλει τα κείμενα και θα χρεώσει την εταιρεία σας.)
Το πρότυπο ISO είναι επίσης διαθέσιμο εκτός Αμερικής από εθνικά τοπικά τμήματα (τμήματα προτυποποίησης ανά χώρα) που είναι μέλη είτε του ISO (Διεθνής Οργανισμός Τυποποίησης - International Organization for Standardization) ή του IEC (Διεθνής Ηλεκτροτεχνική Επιτροπή - International Electrotechnical Commission).
Αντίγραφα της λίστα των εθνικών τμημάτων και οι διευθύνσεις τους είναι διαθέσιμες από το ANSI ή από άλλα εθνικά τμήματα. Είναι επίσης διαθέσιμα από το ISO:
     International Organization for Standardization
     Central Secretariat
     1, rue de Varembi
     CH-1211 Genhve 20
     Switzerland
     Global Engineering Documents
     2805 McGaw Ave
     Irvine, CA 92714 (USA)
     USA
     Τηλέφωνο (από οποιαδήποτε περιοχή): +1.714.261.1455
     Τηλέφωνο (μόνο για Αμερική): (800)854-7179
Αγοράζοντας ένα αντίγραφο του SQL3 Working Draft
Μπορείτε να αγοράσετε μια εκτύπωση του SQL3 working draft από το ANSI X3 Secretariat, CBEMA (Computer και Business Equipment Manufacturers Association). Συνήθως διαθέτουν τις "πιο πρόσφατες εκδόσεις" του SQL3 working draft και τις πωλούν από US$60.00 μέχρι US$65.00. Μπορείτε να επικοινωνήσετε με το CBEMA στο:
     CBEMA, X3 Secretariat
     Attn: Lynn Barra
     1250 Eye St.
     Suite 200
     Washington, DC 20005 (USA)
Ηλεκτρονική πρόσβαση στο SQL3 Working Draft
Η πιο πρόσφατη έκδοση (τη στιγμή της συγγραφής του κειμένου) του SQL3 (και για ANSI και ISO) working draft (και όλα τα τμήματά του) είναι διαθέσιμη με "anonymous ftp" ή με "ftpmail" από το:
     gatekeeper.dec.com
  στο κατάλογο
     /pub/standards/sql/
Γενικά, μπορείτε να βρείτε αρχεία με ονόματα όπως:
     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.txt
Επίσης, για τους αναγνώστες που δεν μπορούν να έχουν μια λίστα του καταλόγου με FTP, έχουμε τοποθετήσει στον ίδιο κατάλογο ένα αρχείο με το όνομα:
     ls
Ανακτώντας Αρχεία κατευθείαν με χρήση του ftp
Αυτό είναι ένα παράδειγμα για το πώς να χρησιμοποιείτε το FTP. Συγκεκριμένα, δείχνει πώς να συνδεθείτε στο gatekeeper.dec.com, να πάτε στον κατάλογο όπου φυλάσσεται το βασικό κείμενο, και να μεταφέρετε το κείμενο στο μηχάνημά σας. Σημειώστε ότι το μηχάνημά σας πρέπει να έχει πρόσβαση στο Internet για να το κάνετε αυτό. Το login είναι 'ftp' και ο κωδικός είναι η email διεύθυνσή σας (αυτό είναι γνωστό και σαν ανώνυμο ftp 'anonymous ftp'). Η εντολή 'type binary' χρησιμοποιείται για να σιγουρέψετε ότι δε θα χάσετε κάποια bits από το(α) αρχείο(α) που θα λάβετε. H 'get' κατεβάζει ένα αρχείο τη φορά. Τα σχόλια στο παρακάτω script είναι μέσα σε angle brackets < σαν αυτά > .
  % ftp gatekeeper.dec.com
  Connected to gatekeeper.dec.com.
  220- *** /etc/motd.ftp ***
       Gatekeeper.DEC.COM is an unsupported service of DEC Corporate Research.
       <...this goes on for a while...>
  220 gatekeeper.dec.com FTP server (έκδοση 5.83 Sat ... 1992) ready.
  Name (gatekeeper.dec.com:<yourlogin here>): ftp  <anonymous also works>
  331 Guest login ok, send ident as password.
  Password: <enter your email address here >
  230 Guest login ok, access restrictions apply.
  Remote system type is UNIX.  <or whatever>
  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
  % <το αρχείο είναι τώρα στον κατάλογό σας σαν x3h2-93-082.txt>
Η Digital Equipment Corporation, όπως και πολλές άλλες εταιρείες, παρέχει υπηρεσία ftp email. Η απάντηση μπορεί να χρειαστεί για να φτάσει αρκετές μέρες, αλλά παρέχει μια υπηρεσία ισοδύναμη με το ftp για αυτούς που δεν έχουν απευθείας ftp πρόσβαση στο Internet. Η διεύθυνση του server είναι:
ftpmail@decwrl.dec.com
Το παρακάτω script θα ανακτήσει το PostScript αρχείο της τελευταίας έκδοσης του SQL3 κειμένου:
     reply joe.programmer@imaginary-corp.com
     connect gatekeeper.dec.com anonymous
     binary
     compress
     reply joe.programmer@imaginary-corp.com
     connect gatekeeper.dec.com anonymous
     binary
     compress
     uuencode
     chdir /pub/standards/sql
     get x3h2-93-091.ps
     quit
     reply joe.programmer@imaginary-corp.com
     connect gatekeeper.dec.com anonymous
     chdir /pub/standards/sql
     get x3h2-93-091.ps
     quit
Για να ανακτήσετε οποιοδήποτε άλλο συγκεκριμένο αρχείο, εκτός του x3h2-93-091.ps, απλά αντικαταστήστε το "x3h2-93-091.ps" με το όνομα του αρχείου που επιθυμείτε. Για να πάρετε τη λίστα όλων των διαθέσιμων αρχείων του καταλόγου, αντικαταστήστε το "get x3h2-93-091.ps" με το "dir".
Αυτό το κεφάλαιο είναι μια πηγή πληροφορίας σχετικά με την πρότυπη διεργασία SQL και την τρέχουσα κατάστασή της.
Τρέχουσα κατάσταση:
Η ανάπτυξή του είναι υπό εξέλιξη για να επεκτείνει την SQL σε μια ολοκληρωμένη υπολογιστικά γλώσσα για τον καθορισμό και διαχείριση persistent, σύνθετων αντικειμένων. Αυτό περιλαμβάνει : generalization και specialization hierarchies, πολλαπλή κληρονομικότητα, τύπους δεδομένων καθορισμένων από τον χρήστη, triggers και assertions, υποστήριξη για έμπειρα συστήματα, αναδρομικές ερωτήσεις, και επιπλέον εργαλεία διαχείρισης δεδομένων. Περιλαμβάνει επίσης τις προδιαγραφές των αφηρημένων τύπων δεδομένων (abstract data types -ADTs), object identifiers, μεθόδους, κληρονομικότητα, πολυμορφισμό, encapsulation, και όλες τις ευκολίες που σχετίζονται με τη διαχείριση δεδομένων των αντικειμένων.
Το φθινόπωρο του 1996, αρκετά τμήματα του SQL3 πέρασαν από ψηφοφορία ISO CD. Αυτά ήταν τα SQL/Framework, SQL/Foundation, και SQL/Bindings. Αυτή η ψηφοφορία απέτυχε (όπως ήταν αναμενόμενο) με 900 ή περίπου τόσα σχόλια. Στα τέλη Ιανουαρίου, έγινε κάποια συνάντηση σύνταξης του ISO DBL κατά την οποία επεξεργάστηκαν λύσεις για ένα μεγάλο αριθμό προβλημάτων τα οποία είτε ενσωματώθηκαν με σχόλια μέσω ψηφοφορίας είτε στάλθηκαν σαν ξεχωριστά papers. Μια και η συνάντηση σύνταξης του DBL δεν μπόρεσε να επεξεργαστεί όλα τα σχόλια, η συνάντηση σύνταξης παρατάθηκε. Η ολοκλήρωση της συνάντησης σύνταξης προγραμματίστηκε για τα τέλη Ιουλίου, 1997, στο Λονδίνο.
Μετά τη συνάντηση σύνταξης του Ιουλίου, αναμένεται να ζητηθεί μια τελική ψηφοφορία για όλα αυτά τα τμήματα της SQL. Η διαδικασία για την τελική ψηφοφορία θα κρατήσει 6 περίπου μήνες και θα γίνει μια συνάντηση σύνταξης DBL, μετά την οποία θα γίνει μια ψηφοφορία DIS και μια σχετικά γρήγορη ψηφοφορία IS .
Οι διαδικασίες ISO έχουν αλλάξει από το SQL/92, έτσι οι επιτροπές για την SQL δουλεύουν ακόμη για τον καθορισμό των ακριβών λεπτομερειών της διαδικασίας.
Αν πάνε όλα καλά, αυτά τα τμήματα της SQL3 θα γίνουν ένα επίσημο πρότυπο ISO/IEC στα τέλη του 1998, αλλά το πρόγραμμα είναι πολύ σφιχτό.
Το 1993, οι επιτροπές ανάπτυξης ANSI και ISO αποφάσισαν να χωρίσουν τη μελλοντική ανάπτυξη της SQL σε ένα πολυμερές πρότυπο. Τα τμήματα αυτά είναι:
Στην Αμερική, ολόκληρη η SQL3 επεξεργάζεται και σαν ANSI Domestic ("D") project και σαν ISO project. Το αναμενόμενο χρονικό παράθυρο για την ολοκλήρωση της SQL3 είναι το 1999.
Τα SQL/CLI και SQL/PSM επεξεργάζονται όσο γρηγορότερα γίνεται σαν addendums στην SQL-92. Στην Αμερική, αυτά επεξεργάζονται μόνο σαν Διεθνή Έργα (International - "I"). Η SQL/CLI ολοκληρώθηκε το 1995. Η SQL/PSM πρέπει να έχει ολοκληρωθεί στα τέλη του 1996.
Επιπρόσθετα της SQL3 εργασίας, ένας αριθμός επιπλέον έργων are persued:
Επιτροπές Προτύπων και Διαδικασιών Υπάρχει πραγματικά μεγάλος αριθμός επιτροπών προτύπων SQL σε όλο τον κόσμο. Υπάρχει ένα διεθνές γκρουπ του προτύπου SQL σαν τμήμα του ISO. Πολλές χώρες έχουν επιτροπές που ασχολούνται με την SQL. Αυτές οι χώρες (συνήθως) στέλνουν αντιπροσώπους στις συναντήσεις ISO/IEC JTC1/SC 21/WG3 DBL. Οι χώρες που συμμετέχουν ενεργά στη διαδικασία του προτύπου ISO SQL είναι οι:
NIST Νομιμοποίηση
Οι υλοποιήσεις της SQL νομιμοποιούνται (στην Αμερική) από το Εθνικό Ινστιτούτο Προτύπων και Ελέγχου (NIST). Το NIST έχει για την ώρα ένα σύνολο από τεστ νομιμότητας για το entry level SQL-92. Οι ακριβείς πληροφορίες για τις απαιτήσεις της NIST νομιμοποίησης καθορίζονται ως Ομοσπονδιακό Πρότυπο Επεξεργασίας Πληροφορίας - Federal Information Processing Standard (FIPS). Οι τρέχουσες απαιτήσεις για την SQL ορίζονται στο FIPS 127-2. Μπορείτε να πάρετε τις τρέχουσες Postscript και Text εκδόσεις αυτού του κειμένου από το NIST. Η λίστα των τρεχόντων νομιμοποιημένων SQL προϊόντων μπορεί επίσης να βρεθεί στο NIST.
Εκδόσεις και Άρθρα σχετικά με το πρότυπο της SQL
Υπάρχουν δύο εκδόσεις σχετικά με το πρότυπο SQL. Και οι δύο διατίθενται από το ANSI:
Οι δυο εκδόσεις του προτύπου SQL είναι ολόιδιες εκτός από το εξώφυλλο και τις αναφορές σε άλλα πρότυπα. Και οι δύο διατίθενται από το :
     American National Standards Institute
     1430 Broadway
     New York, NY 10018
     USA
     Phone (sales): +1.212.642.4900
   * Technical Corrigendum 1:1994 to ISO/IEC 9075:1992
Επιπρόσθετα, έχουν γραφτεί αρκετά βιβλία σχετικά με το πρότυπο 1992 SQL. Αυτά τα βιβλία παρέχουν μια καλύτερα αναγνώσιμη περιγραφή του προτύπου από ότι το ίδιο το πρότυπο.
Σχετιζόμενα πρότυπα
Ενας σύνολο προτύπων ενδιαφέρουν την SQL κοινότητα. Αυτό το τμήμα περιέχει δείκτες σε πληροφορίες για αυτές τις προσπάθειες. Αυτοί οι δείκτες θα αυξηθούν καθώς έξτρα πληροφορίες διατίθενται στο web.
Ένα σημαντικό τμήμα της SQL3 προσπάθειας βρίσκεται στο κείμενο SQL Foundation :
Υπάρχουν αρκετά προαπαιτούμενα στις αντικειμενοστραφείς δυνατότητες:
Αυτές οι δυνατότητες ορίζονται σαν τμήμα του SQL/PSM
Γίνεται μια σημαντική εργασία για να εκκαθαριστεί το μοντέλο αντικειμένου SQL-3 και να ευθυγραμμιστεί με το μοντέλο αντικειμένου που προτάθηκε από το ODMG. Αυτή η προσπάθεια περιγράφεται στο X3H2 και ISO DBL paper: Accomodating SQL3 and ODMG. Είναι επίσης διαθέσιμη μια πρόσφατη έκδοση στο SQL3/OQL Merger.
SQL3 Timing
Η εργασία πάνω στο SQL3 βρίσκεται σε εξέλιξη, αλλά τα τελικά πρότυπα θα χρειαστούν χρόνια ακόμη για να ολοκληρωθούν.
Η ANSI έκδοση του προτύπου έχει παρόμοιο χρονοδιάγραμμα.
Το SQL/CLI είναι ένα προγραμματιστικό interface επιπέδου κλήσεων για SQL βάσεις. Έχει σχεδιαστεί για να υποστηρίζει πρόσβαση σε βάσεις από shrink-wrapped εφαρμογές. Το CLI δημιουργήθηκε αρχικά από μια υποεπιτροπή του SQL Access Group (SAG). Οι προδιαγραφές του SAG/CLI εκδόθηκαν σαν τις προδιαγραφές του Microsoft Open DataBase Connectivity (ODBC) το 1992. Το 1993, το SAG έστειλε το CLI στις επιτροπές ANSI και ISO SQL. (Το γκρουπ SQL Access έχει συγχωνευθεί τώρα με το X/Open consortium.)
Το SQL/CLI παρέχει ένα διεθνές πρότυπο για :
SQL/CLI Timing
Στα πλαίσια της διαδικασία τυποποίησης, το SQL/CLI επεξεργάζεται με μεγάλη προτεραιότητα.
Το SQL/PSM επεκτείνει την SQL προσθέτοντας:
Εκτός του ότι είναι ένα αξιόλογο εργαλείο ανάπτυξης εφαρμογών, το SQL/PSM παρέχει τη θεμελιώδη υποστήριξη για αντικειμενοστραφείς δυνατότητες στην SQL3.
Multi-statement και Stored Procedures
Οι Multi-statement και stored procedures προσφέρουν μια ποικιλία πλεονεκτημάτων σε ένα περιβάλλον client/server:
Δηλωτικές/Διαδικαστικές επεκτάσεις
Η Διαδικαστική Γλώσσα προσθέτει την ισχύ μιας παραδοσιακής γλώσσας προγραμματισμού στην SQL μέσω εντολών ελέγχου ροής και μια ποικιλία άλλων προγραμματιστικών κατασκευών.
Εντολές Ελέγχου ροής
Οι διαδικαστικές επεκτάσεις περιλαμβάνουν και άλλες προγραμματιστικές κατασκευές:
Επιπλέον, όλες οι παραδοσιακές SQL εντολές μπορούν να συμπεριληφθούν σε διαδικασίες multi-statement.
Κλήσεις Εξωτερικών Διαδικασιών και Συναρτήσεων Ένα χαρακτηριστικό που αναφέρεται συχνά στις ευχετήριες λίστες του τι θα επιθυμούσαμε για πολλά προϊόντα βάσεων, και που έχει υλοποιηθεί σε μερικές, είναι η δυνατότητα να εμπλουτισμού των ενσωματωμένων χαρακτηριστικών με κλήσεις σε διαδικασίες που έχει γράψει ο χρήστης εξωτερικά εκτός της βάσης.
Το πλεονέκτημα αυτής της δυνατότητας είναι ότι δίνει στη βάση (συνεπώς και στις εφαρμογές βάσεων) πρόσβαση σε τεράστιο αριθμό διαδικασιών και συναρτήσεων.
Χρονισμός του SQL/PSM
Το SQL/PSM έχει εν συντομία:
Για ευκολία αναφορών, οι δεσμεύσεις, τυποποιήσεις της γλώσσας προγραμματισμού έχουν συγκεντρωθεί σε ένα ξεχωριστό κείμενο. Η τρέχουσα έκδοση είναι απλά ένα απόσπασμα από τα πρότυπα της SQL-92(δυναμικά (dynamic) και ενσωματούμενα (embedded)).
Παραμένει αδιευκρίνιστη μια ποικιλία θεμάτων τυποποίησης της γλώσσας.
Στην παραδοσιακή προγραμματιστική γλώσσα, υπάρχουν οι απεικονίσεις των τύπων δεδομένων της SQL-92. Παρόλα αυτά, θα πρέπει να οριστούν και οι απεικονίσεις μεταξύ των αντικειμένων της SQL και των μεταβλητών της προγραμματιστικής γλώσσας..
Για τις αντικειμενοστραφείς γλώσσες, πρέπει να οριστεί η απεικόνιση για τους τύπους δεδομένων της SQL και μεταξύ του μοντέλου αντικειμένων της SQL και του μοντέλου αντικειμένων της αντικειμενοστραφούς γλώσσας.
Το μοντέλο δεδομένων θα πρέπει να οριστικοποιηθεί πριν αρχίσει να γίνεται αναφορά σε τέτοιου τύπου προβλήματα.
Οι τυποποιήσεις της γλώσσας θα ολοκληρωθούν ως μέρους του πρότυπου SQL3.
Οι προδιαγραφές αυτές θα τυποποιήσουν ένα προγραμματιστικό interface (API) μεταξύ ενός γενικού Διαχειριστή Συνδιαλλαγών (Transaction Manager) και ενός Διαχειριστή Πόρων (Resource Manager) SQL. Θα τυποποιήσει τις κλήσεις συναρτήσεων, βασιζόμενος στα πρότυπα του ISO/IEC 10026, "Distributed Transaction Processing", που ένας Διαχειριστής Πόρων SQL θα πρέπει να υποστηρίζει, για να κάνει commit δύο σταδίων (two-phase commit) Το βασικό κείμενο αναφοράς εξάγεται από μια δημοσίευση του X/Open, με την άδεια του X/Open, που προσδιορίζει ρητά τις παραμέτρους εισόδου και εξόδου και την σημειογραφία (semantics), για τις ακόλουθες συναρτήσεις: xa_close, xa_commit, xa_complete, xa_end, xa_forget,xa_open, xa_prepare, xa_recover, xa_rollback, και xa_start.
Ο ISO επιχειρεί να επιταχύνει τις προδιαγραφές του X/Open XA. Η διαδικασία επιτάχυνσης υιοθετεί βιομηχανικές προδιαγραφές χωρίς αλλαγές. Η ψηφοφορία για το XA στο ISO SC21, JTC επίπεδο 1, άρχισε στις 27 Απριλίου, 1995 και τελείωσε στις 27 Οκτωβρίου, 1995. Αν το 75 των ψηφοφόρων εγκρίνουν τις προδιαγραφές του XA, και από τα 2/3 των p-μελών του JTC 1, θα αποτελέσει ένα Διεθνές Πρότυπο. Αν η ψηφοφορία το εγκρίνει, το SQL/XA θα μπορούσε να γίνει ένα πρότυπο μέσα στο 1996.
Η Temporal SQL ασχολείται με χρονικά εξαρτώμενα δεδομένα. Η ιδέα είναι πως είναι χρήσιμο να αναλύουμε τα δεδομένα για να δούμε πως έμοιαζαν κάποια δεδομένη χρονική στιγμή. Η Temporal SQL είναι ένα paper του Δεκεμβρίου του 1994 από τον Rick Snodgrass που περιγράφει αυτές τις έννοιες.
Η X3 ανακοινώνει την έγκριση ενός Νέου Έργου, ISO/IEC 9075 Μέρος 7ο: Η SQL/Temporal είναι μια δημοσίευση τύπου σχετική με την SQL/Temporal.
----------------------------------------------------------------------------
                                Temporal SQL
                                ************
Rick Snodgrass (πρόεδρος της επιτροπής TSQL2)
31-Δεκ-1994
Η υποστήριξη έγκυρου χρόνου (Valid-time) ξεπερνάει αυτή ενός κοινού χρονικού αφηρημένου τύπου δεδομένων (ADT). Στον τελευταίο, μια στήλη προσδιορίζεται σαν ένα χρονικό πεδίο, είτε ως DATE είτε ως INTERVAL (θα δοθούν παραδείγματα σύντομα). Με τον έγκυρο χρόνο, οι γραμμές ενός πίνακα διαφοροποιούνται με το πέρασμα του χρόνου, καθώς διαφοροποιείται και η πραγματικότητα. Η χρονική σφραγίδα (timestamp) που σχετίζεται με μια γραμμή ενός πίνακα έγκυρων χρόνων (valid-time table) μεταφράζεται από την γλώσσα ερωτήσεων ως η χρονική στιγμή για την οποία ο συνδυασμός τιμών των στηλών της γραμμής εκείνης ήταν έγκυρος. Η ύπαρξη της έμμεσης αυτής χρονικής σφραγίδας επιτρέπει την διατύπωση σαφών και πρωτότυπων ερωτήσεων.
Το Γραφείο Προσωπικού του Πανεπιστημίου της Αριζόνα έχει κάποιες πληροφορίες σε μια βάση δεδομένων, μέσα στις οποίες και το όνομα των υπαλλήλων, τον τρέχοντα μισθό τους, και τον τρέχουσα θέση τους. Αυτό μπορεί να περιγραφεί με έναν απλό πίνακα.
        Employee(Name, Salary, Title)
        SELECT Salary
        FROM Employee
        WHERE Name = 'Bob'
        Employee(Name, Salary, Title, DateofBirth DATE)
        SELECT DateofBirth
        FROM Employee
        WHERE Name = 'Bob'
Το Γραφείο Προσωπικού επιθυμεί περάσει τα ιστορικά στοιχεία των υπαλλήλων σε ηλεκτρονική μορφή. Για να το κάνει, προσθέτουν δύο στήλες, μια που υποδεικνύει πότε έγινε έγκυρη η πληροφορία της γραμμής, και μια για το πότε έπαψε να ισχύει.
Employee (Name, Salary, Title, DateofBirth, Start DATE, Stop DATE)
Στο μοντέλο δεδομένων, αυτές οι δύο στήλες είναι παρόμοιες με το DateofBirth. Παρόλα αυτά, η παρουσία τους έχει επιπτώσεις μεγάλης κλίμακας.
Για να βρούμε τον τρέχοντα μισθό ενός υπαλλήλου, τα πράγματα είναι πλέον δυσκολότερα.
        SELECT Salary
        FROM Employee
        WHERE Name = 'Bob' και Start <= CURRENT_DATE και CURRENT_DATE <= Stop
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
                               Εικόνα 1
Name    Salary  Start           Stop
----    ------  -----           ----
Bob     60000   1993-01-01      1993-05-30
Bob     70000   1993-06-01      1994-12-31
CREATE TABLE Temp(Salary, Start, Stop)
AS      SELECT Salary, Start, Stop
        FROM Employee;
επαναλάβατε
        UPDATE Temp T1
        SET (T1.Stop) = (SELECT MAX(T2.Stop)
                         FROM Temp AS T2
                         WHERE T1.Salary = T2.Salary και T1.Start < T2.Start
                                και T1.Stop >= T2.Start και T1.Stop < T2.Stop)
        WHERE EXISTS (SELECT *
                      FROM Temp AS T2
                      WHERE T1.Salary = T2.Salary και T1.Start < T2.Start
                                και T1.Stop >= T2.Start και T1.Stop < T2.Stop)
        μέχρι να μην ενημερωθεί καμιά γραμμή;
DELETE FROM Temp T1
WHERE EXISTS (SELECT *
              FROM Temp AS T2
              WHERE T1.Salary = T2.Salary
                        και ((T1.Start > T2.Start και T1.Stop <= T2.Stop)
                        OR (T1.Start >= T2.Start και T1.Stop < T2.Stop))
Μια τρίτη εναλλακτική είναι να χρησιμοποιήσουμε SQL μόνο για να ανοίξουμε ένα κέρσορα (cursor) στον πίνακα. Μια συνδεδεμένη λίστα χρονικών περιόδων θα κρατηθεί, κάθε μια έχοντας και ένα μισθό. Η συνδεδεμένη λίστα αρχικοποιείται κενή.
DECLARE emp_cursor CURSOR FOR
        SELECT Salary, Title, Start, Stop
        FROM Employee;
OPEN emp_cursor;
loop:
        FETCH emp_cursor INTO :salary, :start, :stop;
        if no-data returned then goto finished;
        find position in linked list to insert this information;
        goto loop;
finished:
CLOSE emp_cursor;
Η συνδεδεμένη λίστα μπορεί και να μην χρειάζεται στην περίπτωση αυτή ανά ο κέρσορας είναι ORDER BY Start.
Σε κάθε περίπτωση, η ερώτηση, που είναι και φυσική, είναι δύσκολο να εκφραστεί με τις υπάρχουσες δυνατότητες της SQL-92. Η ερώτηση είναι τετριμμένη σε TSQL2.
        SELECT Salary
        FROM Employee
Μια πιο δραστική προσέγγιση είναι να αποφύγουμε το πρόβλημα της εξαγωγής της μισθολογικής ιστορίας με αναδιοργάνωση του σχήματος ώστε να αποσυζεύξουμε το μισθό, τη θέση και την ημερομηνία γέννησης (παρακάτω, αγνοούμε την ημερομηνία γέννησης, για απλότητα).
        Employee1 (Name, Salary, Start DATE, Stop DATE)
        Employee2 (Name, Title, Start DATE, Stop DATE)
Name    Salary  Start           Stop
----    ------  -----           ----
Bob     60000   1993-01-01      1993-05-30
Bob     70000   1993-06-01      1993-12-31
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-31
        SELECT Salary, Start, Stop
        FROM Employee1
        WHERE Name = 'Bob'
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
        και 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.Stop
        SELECT Employee1.Name, Salary, Dept
        FROM Employee1, Employee2
        WHERE Employee1.Name = Employee2.Name
Τώρα το Γ.Π. ερωτάται, ποιος είναι ο μέγιστος μισθός; Πριν την εισαγωγή του χρόνου, αυτό ήταν εύκολο.
        SELECT MAX(Salary)
        FROM Employee
        SELECT Salary
        FROM Employee AS E1
        WHERE NOT EXISTS (SELECT *
                          FROM Employee AS E2
                          WHERE E2.Salary > E1.Salary)
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))
                    και E.Salary > T.Salary;
Μια τρίτη εναλλακτική λύση, είναι να χρησιμοποιήσουμε SQL όσο λιγότερο γίνεται, και να υπολογίσουμε την επιθυμητή ιστορικότητα από μέγιστες τιμές σε μια άλλη γλώσσα χρησιμοποιώντας ενσωματωμένους κέρσορες.
Η ερώτηση σε TSQL2 είναι απλούστατη.
        SELECT MAX(Salary)
        FROM Employee
Οι περισσότερες εφαρμογές με βάση δεδομένων έχουν να αντιμετωπίσουν και δεδομένα με χρονική διακύμανση είναι ανάγκη να αντιμετωπιστούν . Η υποστήριξη έγκυρου-χρόνου είναι απούσα στην SQL. Πολλές κοινές χρονικές ερωτήσεις είναι λοιπόν είτε δύσκολες να εξομοιωθούν μέσω SQL, ή απαιτούν ενσωμάτωση της SQL σε μια δηλωτική / διαδικαστική γλώσσα (procedural), λόγω της έλλειψης υποστήριξης πινάκων έγκυρου-χρόνου στο μοντέλο δεδομένων και στην κατασκευή ερωτήσεων της SQL.
Σε άλλο σημείο, δείξαμε πως η υποστήριξη έγκυρου-χρόνου απαιτεί μικρές αλλαγές στην υλοποίηση της DBMS, και μπορεί να απλοποιήσει δραματικά κάποιες ερωτήσεις, να κάνει δυνατές άλλες, και ακολούθως να επιτρέψει μεθόδους δεικτοδότησης και στρατηγικές βελτιστοποιήσεων που μπορούν να οδηγήσουν σε σημαντικές καλυτερεύσεις απόδοσης.
Με το νέο τμήμα της SQL3 που υποστηρίζει πληροφορίες με χρονική διακύμανση, μπορούμε να αρχίσουμε να στοχεύουμε σε τέτοιες εφαρμογές, επιτρέποντας στην SQL3 να διαχειρίζεται καλύτερα τα χρονικά δεδομένα.
----------------------------------------------------------------------------
           Επιτροπή Επικύρωσης Προτύπων* X3, Τεχνολογία Πληροφοριών
ΔΗΜΟΣΙΕΥΣΗ ΝΕΩΝ
Αρ. Εγγράφου:       PR/96-0002
Απάντηση εις:       Barbara Bennett στο bbennett@itic.nw.dc.us
            Η X3 ανακοινώνει την Έγκριση ενός Νέου Έργου, ISO/IEC
                         9075 Τμήμα 7:  SQL/Temporal
Washington D.C., Ιανουάριος 1996 
----------------------------------------------------------------------------
Ερωτήσεις για το έργο αυτό θα πρέπει να σταλούν στο
        Chairman of X3H2, 
        Dr. Donald R. Deutsch, 
        Sybase, Inc., Suite 800, 
        6550 Rock Spring
        Drive, Bethesda, MD  20817. 
        Email: deutsch@sybase.com.
        X3 Secretariat at 
        1250 Eye Street
        NW, Suite 200,
        Washington DC  20005.
        Email: x3sec@itic.nw.dc.us
        FAX:  (202)638-4922.
Ένα νέο διεθνές έργο τυποποίησης ISO/IEC για την ανάπτυξη μιας βιβλιοθήκης κλάσεων SQL (SQL class library) για εφαρμογές πολυμέσων εγκρίθηκε από τις αρχές του 1993. Αυτή η νέα δραστηριότητα τυποποίησης, ονομαζόμενη SQL Multimedia (SQL/MM), θα καθορίσει πακέτα με ορισμούς αφηρημένων τύπων δεδομένων SQL (abstract data type- ADT) χρησιμοποιώντας τις ευκολίες για τον καθορισμό του ADT και την πρόκληση που παρέχεται στις αναμενόμενες προδιαγραφές του SQL3. Το SQL/MM έχει σαν στόχο να τυποποιήσει τις βιβλιοθήκες κλάσεων για την επιστήμη και μηχανική, την full-text επεξεργασία κειμένου, και τις μεθόδους για διαχείριση αντικειμένων πολυμέσων όπως εικόνα, ήχος, animation, μουσική, και βίντεο. Θα παρέχει πιθανά ένα SQL language binding αντικείμενο πολυμέσων από άλλες JTC1 οργανώσεις προτυποποίησης (π.χ. SC18 για κείμενα, SC24 για εικόνες, και SC29 για φωτογραφίες και κινούμενες εικόνες).
Το πλάνο αυτού του έργου για το SQL/MM δείχνει ότι θα είναι ένα σπονδυλωτό πρότυπο που θα αποτελείται από ένα αυξανόμενο αριθμό τμημάτων. Το τμήμα 1 θα είναι ένα Πλαίσιο (Framework) που θα προσδιορίζει πως θα κατασκευαστούν τα υπόλοιπα μέρη. Κάθε ένα από τα υπόλοιπα μέρη, θα είναι αφοσιωμένο σε ένα συγκεκριμένο πακέτο SQL εφαρμογών. Η παρακάτω δομή τμημάτων του SQL/MM υπάρχει από τον Αύγουστο του 1994:
υπάρχει ένα πλήθος στάνταρ εργασιών στον τομέα τον Χωρικών και Γεωγραφικών Συστημάτων: