Γλώσσα διαδικαστικού ερωτήματος (PQL)
* Focus: Καθορίζει τα ακριβή βήματα και τη σειρά λειτουργιών για την ανάκτηση δεδομένων.
* Πώς λειτουργεί:
* Χρησιμοποιεί εντολές όπως "Open", "Close", "Fetch" και "Loop" για τον έλεγχο της πρόσβασης δεδομένων.
* Απαιτεί από τον χρήστη να καθορίζει ρητά τη διαδικασία ανάκτησης, συμπεριλαμβανομένης της χειραγώγησης και επανάληψης δεδομένων.
* Παράδειγμα:
`` sql
- Ανακτήστε τα ονόματα και τους μισθούς των εργαζομένων, ταξινόμηση με μισθό
Ανοιχτό cursor_employee;
Fetch Cursor_Employee σε explactee_name, μισθό;
Ενώ (fetch cursor_employee in explace_name, μισθός) βρόχος
Εάν μισθός> 50000 τότε
Εκτύπωση Employee_name, μισθός;
Τέλος εάν
Άκρο βρόχος?
Κλείσιμο Cursor_Employee;
`` `
Γλώσσα ερώτησης (NPQL)
* Focus: Περιγράφει το επιθυμητό αποτέλεσμα χωρίς να καθορίζει τα ακριβή βήματα.
* Πώς λειτουργεί:
* Χρησιμοποιεί δηλωτικές δηλώσεις που εκφράζουν το επιθυμητό αποτέλεσμα χωρίς διαδικαστικές λεπτομέρειες.
* Το σύστημα καθορίζει το βέλτιστο σχέδιο εκτέλεσης για την ανάκτηση των δεδομένων.
* Παράδειγμα:
`` sql
- Ανακτήστε τα ονόματα και τους μισθούς των εργαζομένων, ταξινόμηση με μισθό
Επιλέξτε το όνομα Employee_Name, μισθό
Από υπάλληλο
Όπου μισθός> 50000
Εντολή με μισθό ·
`` `
Βασικές διαφορές:
| Χαρακτηριστικό | Διαδικαστική γλώσσα ερωτήσεων ΜΗ ΚΟΙΝΟΤΙΚΗ ΓΛΩΣΣΑ ΕΡΩΤΗΣΗΣ
| --- | --- | --- |
| Ειδικότητα | Ορίζει ρητά κάθε βήμα | Περιγράφει το επιθυμητό αποτέλεσμα |
| έλεγχος | ΕΛΕΓΧΟΣ ΧΡΗΣΙΜΟΠΟΙΗΣΗΣ ΠΡΟΣΒΑΣΗΣ ΚΑΙ ΔΙΕΥΘΥΝΣΗ ΔΕΔΟΜΕΝΩΝ Το σύστημα καθορίζει το σχέδιο εκτέλεσης |
| πολυπλοκότητα | Μπορεί να είναι πολύπλοκο και δύσκολο να γράψει | Απλούστερη και πιο διαισθητική στη χρήση |
| Ευελιξία | Εξαιρετικά ευέλικτη, επιτρέποντας τον περίπλοκο χειρισμό δεδομένων | Λιγότερο ευέλικτο, περιορισμένο σε συγκεκριμένα ερωτήματα |
| απόδοση | Μπορεί να είναι πιο αργή λόγω ρητού ελέγχου | Μπορεί να είναι ταχύτερη λόγω βελτιστοποιημένων σχεδίων εκτέλεσης |
| Κοινά παραδείγματα | COBOL, RPG | SQL, XQuery |
Πλεονεκτήματα και μειονεκτήματα:
Διαδικαστική γλώσσα ερωτήματος:
* Πλεονεκτήματα:
* Ευελιξία για σύνθετες εργασίες
* Έλεγχος λεπτόκοκκο επί της πρόσβασης δεδομένων
* Μειονεκτήματα:
* Σύνθετο για να γράψετε και να καταλάβετε
* Λιγότερο αποτελεσματική από τις μη προβλήτες γλώσσες
Γλώσσα ερώτησης μη υποβιβασμού:
* Πλεονεκτήματα:
* Ευκολότερο να γράψετε και να κατανοήσετε
* Πιο αποτελεσματική λόγω βελτιστοποιημένων σχεδίων εκτέλεσης
* Μειονεκτήματα:
* Λιγότερο ευέλικτο από τις διαδικαστικές γλώσσες
* Περιορισμένη σε πολύπλοκες επιχειρήσεις
Γενικά, οι γλώσσες που δεν χρησιμοποιούνται από το παρελθόν χρησιμοποιούνται ευρύτερα σε DBM, κυρίως λόγω της απλότητας και της ευκολίας χρήσης τους. Ωστόσο, οι διαδικαστικές γλώσσες εξακολουθούν να είναι πολύτιμες σε συγκεκριμένες καταστάσεις όπου απαιτείται σύνθετος χειρισμός δεδομένων και έλεγχος λεπτών κόκκων.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα