SQL vs PL SQL
Η SQL (Structured Query Language) είναι η τυπική γλώσσα για τη σύνταξη σχεσιακών βάσεων δεδομένων εισόδου. Η SQL είναι απλές δηλώσεις, οι οποίες επιτρέπουν την ανάκτηση, εισαγωγή, διαγραφή, ενημέρωση εγγραφών ανάλογα με τις ανάγκες του χρήστη. Απλώς είναι γλώσσα προσανατολισμένη στα δεδομένα για την επιλογή και το χειρισμό συνόλου δεδομένων. Η PL SQL (Procedural Language/Structured Query Language) είναι μια γλώσσα επέκτασης διαδικασιών για την εισαγωγή δεδομένων και τον χειρισμό από την Oracle.
"Η PL/SQL, η διαδικαστική επέκταση της SQL της Oracle, είναι μια προηγμένη γλώσσα προγραμματισμού τέταρτης γενιάς (4GL). Προσφέρει σύγχρονα χαρακτηριστικά, όπως ενθυλάκωση δεδομένων, υπερφόρτωση, τύποι συλλογής, χειρισμός εξαιρέσεων και απόκρυψη πληροφοριών. Το PL/SQL προσφέρει επίσης απρόσκοπτη πρόσβαση SQL, στενή ενοποίηση με τον διακομιστή Oracle και τα εργαλεία, φορητότητα και ασφάλεια."
SQL
Η γλώσσα δομημένης αναζήτησης (SQL) που προφέρεται ως "sequel" είναι μια γλώσσα υπολογιστή βάσης δεδομένων που έχει σχεδιαστεί για τη διαχείριση δεδομένων σε συστήματα διαχείρισης σχεσιακών βάσεων δεδομένων (RDBMS) και βασίστηκε αρχικά στη σχεσιακή άλγεβρα.
Βασικό πεδίο εφαρμογής της SQL είναι η εισαγωγή δεδομένων και η εκτέλεση ενημέρωσης, διαγραφής, δημιουργίας σχήματος, τροποποίησης σχήματος και ελέγχου πρόσβασης δεδομένων σε βάσεις δεδομένων.
Το SQL έχει στοιχεία, υποδιαιρούμενα στα εξής:
Queries – Ανάκτηση δεδομένων, με βάση συγκεκριμένα κριτήρια. Υπάρχουν λίγες λέξεις-κλειδιά που μπορούν να χρησιμοποιηθούν σε ερωτήματα. (Επιλέξτε, Από, Πού, Έχοντας, Ομαδοποιήστε κατά και παραγγείλετε κατά)
π.χ.: SELECTFROM table1 WHERE στήλη1 > συνθήκη ORDER BY column2;
Καταστάσεις – Οι οποίες ενδέχεται να ελέγχουν συναλλαγές, ροή προγράμματος, συνδέσεις, περιόδους σύνδεσης ή διαγνωστικά
Εκφράσεις – Αυτό μπορεί να παράγει είτε;
Κλιμωτές τιμές
Πίνακες που αποτελούνται από στήλες και σειρές δεδομένων
Προκατηγορίες -Καθορίστε συνθήκες που μπορούν να αξιολογηθούν σε SQL Boolean (true/false/unknown)
Ρήτρες – Συστατικά στοιχεία δηλώσεων και ερωτημάτων
PL/SQL
Η PL/SQL (Γλώσσα διαδικασίας/Δομημένη γλώσσα ερωτημάτων) είναι η γλώσσα επέκτασης διαδικασιών της Oracle Corporation για την SQL και τη σχεσιακή βάση δεδομένων Oracle. Το PL/SQL υποστηρίζει μεταβλητές, συνθήκες, βρόχους, πίνακες, εξαιρέσεις. Το PL/SQL ουσιαστικά τα κοντέινερ κώδικα μπορούν να συμμορφωθούν με τις βάσεις δεδομένων της Oracle. Επομένως, οι προγραμματιστές λογισμικού μπορούν να εμφυτεύσουν μονάδες λειτουργικότητας PL/SQL στη βάση δεδομένων κατευθείαν.
Οι μονάδες προγράμματος PL/SQL μπορούν να οριστούν ως εξής:
Ανώνυμα μπλοκ
Αποτελεί τη βάση του απλούστερου κώδικα PL/SQL
Λειτουργίες
Οι Οι συναρτήσεις είναι μια συλλογή από δηλώσεις SQL και PL/SQL. Οι συναρτήσεις εκτελούν μια εργασία και θα πρέπει να επιστρέψουν μια τιμή στο περιβάλλον κλήσης.
Διαδικασίες
Οι διαδικασίες είναι παρόμοιες με τις Λειτουργίες. Μπορούν επίσης να εκτελεστούν διαδικασίες για την εκτέλεση της εργασίας. Οι διαδικασίες δεν μπορούν να χρησιμοποιηθούν σε μια πρόταση SQL, μπορούν να επιστρέψουν πολλές τιμές. Επιπλέον, οι συναρτήσεις μπορούν να κληθούν από SQL, ενώ οι διαδικασίες όχι.
Πακέτα
Η χρήση πακέτων είναι η επαναχρησιμοποίηση του κώδικα. Τα πακέτα είναι ομάδες θεωρητικά συνδεδεμένων Συναρτήσεων, Διαδικασιών, Μεταβλητών, Πίνακας PL/SQL και δηλώσεων TYPE εγγραφής, Σταθερών & Δρομέων κ.λπ. Τα πακέτα έχουν συνήθως δύο μέρη, μια προδιαγραφή και ένα σώμα
Δύο πλεονεκτήματα των πακέτων περιλαμβάνουν:
Modular προσέγγιση, ενθυλάκωση της επιχειρηματικής λογικής
Χρήση πακέτων οι μεταβλητές μπορούν να δηλωθούν σε επίπεδα περιόδου σύνδεσης
Τύποι μεταβλητών σε PL/SQL
Μεταβλητές
Αριθμητικές μεταβλητές
Μεταβλητές χαρακτήρων
Μεταβλητές ημερομηνίας
Τύποι δεδομένων για συγκεκριμένες στήλες
Διαφορά μεταξύ SQL και PL/SQL
SQL είναι γλώσσα προσανατολισμένη στα δεδομένα για επιλογή και χειρισμό δεδομένων, αλλά η PL SQL είναι μια διαδικαστική γλώσσα για τη δημιουργία εφαρμογών.
SQL εκτελεί μία εντολή κάθε φορά ενώ στο PL θα μπορούσε να εκτελεστεί μπλοκ κώδικα SQL.
Το SQL είναι δηλωτικό, όταν το PL SQL είναι διαδικαστικό.
Το SQL χρησιμοποιείται για τη σύνταξη ερωτημάτων, γλώσσας χειρισμού δεδομένων (DML) και γλώσσας ορισμού δεδομένων (DDL), ενώ η PL SQL χρησιμοποιείται για τη σύνταξη μπλοκ προγραμμάτων, κανόνων ενεργοποίησης, συναρτήσεων, διαδικασιών και πακέτων.
Ανακεφαλαίωση:
Η SQL είναι δομημένη γλώσσα ερωτημάτων. Στην SQL χρησιμοποιούνται διάφορα ερωτήματα για τον χειρισμό της βάσης δεδομένων με απλοποιημένο τρόπο. Η PL/SQL είναι διαδικαστική γλώσσα που περιέχει διάφορους τύπους μεταβλητών, συναρτήσεων και διαδικασιών. Η SQL επιτρέπει στον προγραμματιστή να εκδίδει ένα ερώτημα ή να εκτελεί μεμονωμένη εισαγωγή/ενημέρωση/διαγραφή κάθε φορά, ενώ η PL/SQL επιτρέπει τη σύνταξη πλήρους προγράμματος για να ολοκληρωθούν πολλές επιλογές/εισαγωγές/ενημερώσεις/διαγραφές κάθε φορά. Η SQL είναι απλή γλώσσα προσανατολισμένη στα δεδομένα ενώ η γλώσσα προγραμματισμού PL/SQL.