Το πρότυπο SQL:2023 έχει ήδη δημοσιευτεί, γνωρίστε το 

SQL: 2023

Το πρότυπο SQL:2023 υλοποιεί διάφορες βελτιώσεις και αλλαγές

Πριν από λίγες μέρες ο Διεθνής Οργανισμός Τυποποίησης (ISO) ενέκρινε και δημοσίευσε το διεθνές πρότυπο SQL:2023 (ISO/IEC 9075), το οποίο ορίζεται ως η ένατη έκδοση της προδιαγραφής για τη γλώσσα SQL που χρησιμοποιείται για τον χειρισμό δεδομένων σε σχεσιακά DBMS. Η τελευταία ενημέρωση της προδιαγραφής δημοσιεύτηκε το 2016 (SQL:2016).

Για όσους δεν γνωρίζουν τη SQL (Structured Query Language) πρέπει να ξέρετε ότι είναι μια τυποποιημένη γλώσσα για τη διαχείριση σχεσιακών βάσεων δεδομένων και την εκτέλεση διαφόρων λειτουργιών στα δεδομένα που περιέχουν. Δημιουργήθηκε τη δεκαετία του 1970, η SQL χρησιμοποιείται τακτικά όχι μόνο από διαχειριστές βάσεων δεδομένων, αλλά και από προγραμματιστές που γράφουν σενάρια ενοποίησης δεδομένων και από αναλυτές δεδομένων που θέλουν να δημιουργήσουν και να εκτελέσουν αναλυτικά ερωτήματα. Το πρότυπο ενημερώνεται τακτικά για να προσθέτει νέες δυνατότητες και να κάνει αλλαγές στην υπάρχουσα γλώσσα.

Τι νέο υπάρχει στη νέα προδιαγραφή SQL:2023;

Προστέθηκε επέκταση SQL/PGQ (Property Graph Queries) για χειρισμό διασυνδεδεμένων συνόλων δεδομένων που σχηματίζουν ένα γράφημα. Βασικά, αυτή η νέα λειτουργία διευκολύνει την αναζήτηση δεδομένων σε πίνακες σαν να ήταν σε μια βάση δεδομένων γραφημάτων, παρέχοντας μια εναλλακτική, ίσως πιο διαισθητική, στη σύνταξη σύνθετων ερωτημάτων σύνδεσης. Αυτή η δυνατότητα θα μπορούσε να είναι πολύ ευπρόσδεκτη στην κοινότητα της επιστήμης δεδομένων.

Μια άλλη αλλαγή που ξεχωρίζει είναι ότι όρισε τη δυνατότητα προσαρμογής της συμπεριφοράς της επεξεργασίας τιμών NULL παρουσία του περιορισμού "ΜΟΝΑΔΙΚΟΣ". Εάν έχει καθοριστεί "UNIQUE NULLS DISTINCT", οι τιμές NULL που προστίθενται στη βάση δεδομένων θα αντιμετωπίζονται ως μοναδικές.

Εκτός από αυτό, μπορούμε επίσης να το βρούμε Οι δυνατότητες εκτέλεσης της λειτουργίας "ORDER BY" έχουν διευρυνθεί σε συγκεντρωμένους πίνακες. Οι προδιαγραφές τώρα επιτρέπει στις λειτουργίες να ταξινομούν πίνακες ομαδοποιημένους ανά στήλη που δεν εμφανίζεται στη λίστα εξόδου SELECT του πίνακα συμπλέγματος. Προηγουμένως, τα περισσότερα DBMS επέτρεπαν τέτοιους χειρισμούς, αλλά η προδιαγραφή δεν όριζε μια τέτοια δυνατότητα.

Μπορούμε επίσης να βρούμε ότι ξέρω προστέθηκαν παραλλαγές πολλών χαρακτήρων της συνάρτησης TRIM: LTRIM, RTRIM και BTRIM, που επιτρέπουν στους χαρακτήρες που καθορίζονται στη λίστα να αποκοπούν από την αρχή ή το τέλος της συμβολοσειράς. Σε σύγκριση με το TRIM, οι νέες λειτουργίες έχουν απλούστερη σύνταξη.

Se επέκτεινε την ικανότητα ανίχνευσης κύκλων σε αναδρομικά ερωτήματα χρησιμοποιώντας την έκφραση "CYCLE«. Ένα πεδίο με δείκτη βρόχου μπορεί τώρα να είναι τύπου "boolean" αντί για συμβολοσειρά και να μεταβιβάσει το σύμβολο του βρόχου ως true και false τιμές.

Από τις άλλες αλλαγές που ξεχωρίζουν:

  • Προστέθηκαν νέες λειτουργίες LPAD και RPAD για την πλήρωση μιας συμβολοσειράς σε ένα δεδομένο μέγεθος. Για παράδειγμα:
  • Για τους τύπους "VARCHAR" και "CHARACTER VARYING" επιτρέπεται να μην καθορίζεται το μέγιστο μέγεθος, στην περίπτωση αυτή το μέγιστο μέγεθος θα εξαρτηθεί από την υλοποίηση του DBMS.
  • Προστέθηκε μια νέα συγκεντρωτική συνάρτηση any_value(), η οποία επιστρέφει μια αυθαίρετη μη μηδενική τιμή από το σύνολο δεδομένων εισόδου.
  • Προστέθηκε η δυνατότητα καθορισμού δεκαεξαδικών, δυαδικών και οκταδικών κυριολεκτικών. Για παράδειγμα:
  • Η χρήση του χαρακτήρα υπογράμμισης στον αριθμό επιτρέπεται για αύξηση της ορατότητας των ψηφιακών κυριολεκτικών.
  • Σημαντικά διευρυμένες δυνατότητες που σχετίζονται με την επεξεργασία δεδομένων σε μορφή JSON.
  • Προστέθηκε ένας ξεχωριστός τύπος JSON (στο πρότυπο SQL:2016, τα δεδομένα JSON απαιτούνταν να αποθηκεύονται σε πεδία με τύπους συμβολοσειρών).
  • Υλοποιήθηκε υποστήριξη για λειτουργίες JSON_SERIALIZE, JSON_SCALAR και IS JSON.
  • Προστέθηκαν 14 νέες μέθοδοι για εφαρμογή σε τιμές SQL/JSON εντός της γλώσσας SQL/JSON.

Τέλος, Εάν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό, Μπορείτε να συμβουλευτείτε τις λεπτομέρειες καθώς και πρακτικά παραδείγματα των αλλαγών που εφαρμόστηκαν Στον ακόλουθο σύνδεσμο.

Αξίζει να το αναφέρουμε στο PostgreSQL, οι περισσότερες από τις λειτουργίες που προτείνονται στο SQL:2023 είναι ήδη διαθέσιμες o έχουν προγραμματιστεί να συμπεριληφθούν στην επόμενη μεγάλη έκδοση, ενώ για το τμήμα υποστήριξης ANY_VALUE, οι υπογράμμισες σε αριθμούς, τα hex/binary/octal literals και τα hex literals σε SQL/JSON θα εμφανιστούν στην φθινοπωρινή έκδοση PostgreSQL.

Αναμένεται βελτιωμένη υποστήριξη λειτουργιών για τύπο JSON, σύνταξη SQL/JSON απλοποιημένες, νέες μέθοδοι JSON και η επέκταση PGQ σε εκδόσεις μετά την PostreSQL 16, αλλά η εργασία σε αυτούς τους τομείς δεν έχει ακόμη ξεκινήσει. Οι υπόλοιπες λειτουργίες SQL:2023 είναι ήδη διαθέσιμες σε υπάρχουσες εκδόσεις του PostreSQL.