Εξηγούμενη προβολή SQL - Πώς να δημιουργήσετε μια προβολή σε SQL και MySQL

Τι είναι η Προβολή σε SQL;

Η προβολή είναι ένα αντικείμενο βάσης δεδομένων που παρουσιάζει δεδομένα που υπάρχουν σε έναν ή περισσότερους πίνακες. Οι προβολές χρησιμοποιούνται με παρόμοιο τρόπο με τους πίνακες, αλλά δεν περιέχουν δεδομένα. Απλώς δείχνουν τα δεδομένα που υπάρχουν αλλού (για παράδειγμα πίνακες ή προβολές).

Γιατί μας αρέσουν;

  • Οι προβολές είναι ένας τρόπος περιορισμού των δεδομένων που παρουσιάζονται. Για παράδειγμα, τα δεδομένα του τμήματος ανθρώπινου δυναμικού φιλτράρονται για να παρουσιάζουν μόνο ευαίσθητες πληροφορίες. Ευαίσθητες πληροφορίες σε αυτήν την περίπτωση θα μπορούσαν να είναι αριθμοί κοινωνικής ασφάλισης, φύλο υπαλλήλου, μισθός, διεύθυνση κατοικίας κ.λπ.
  • Τα σύνθετα δεδομένα σε περισσότερους από έναν πίνακες μπορούν να συνδυαστούν σε μία μόνο «προβολή». Αυτό μπορεί να διευκολύνει τη ζωή των αναλυτών και των προγραμματιστών της επιχείρησής σας.

Σημαντικές συμβουλές ασφάλειας

  • Η διαχείριση των προβολών γίνεται από το σύστημα. Όταν τα δεδομένα στους σχετικούς πίνακες αλλάζουν, προστίθενται ή ενημερώνονται, η Προβολή ενημερώνεται από το σύστημα. Θέλουμε να τα χρησιμοποιούμε μόνο όταν απαιτείται για τη διαχείριση της χρήσης πόρων συστήματος.
  • Στη MySQL, οι αλλαγές στη σχεδίαση του πίνακα (δηλαδή, νέες ή απόρριπτες στήλες) μετά τη δημιουργία μιας προβολής δεν ενημερώνονται στην ίδια την προβολή. Η προβολή θα πρέπει να ενημερωθεί ή να αναδημιουργηθεί.
  • Οι προβολές είναι ένας από τους τέσσερις τυπικούς τύπους αντικειμένων βάσης δεδομένων. Οι άλλοι είναι πίνακες, αποθηκευμένες διαδικασίες και λειτουργίες.
  • Οι προβολές συνήθως αντιμετωπίζονται όπως θα κάνατε σε έναν πίνακα, αλλά οι ενημερώσεις είναι περιορισμένες ή δεν είναι διαθέσιμες όταν η προβολή περιέχει περισσότερους από έναν πίνακες.
  • Υπάρχουν πολλές άλλες λεπτομέρειες σχετικά με προβολές που δεν εμπίπτουν στο πεδίο εφαρμογής αυτού του εισαγωγικού οδηγού. Περάστε χρόνο με το εγχειρίδιο διαχειριστών βάσης δεδομένων και διασκεδάστε με αυτό το ισχυρό αντικείμενο SQL.

Σύνταξη της δήλωσης δημιουργίας προβολής (MySQL)

CREATE [OR REPLACE] [ALGORITHM =  TEMPTABLE] [DEFINER =  CURRENT_USER ] [SQL SECURITY  DEFINER ] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION] 

Αυτός ο οδηγός θα καλύψει αυτό το μέρος της δήλωσης…

CREATE VIEW view_name [(column_list)] AS select_statement 

Δείγμα Προβολή δημιουργίας από τους πίνακες μαθητών

Σημειώσεις:

  • Το όνομα της προβολής έχει ένα «v» στο τέλος. Συνιστάται το όνομα προβολής να υποδεικνύει ότι είναι μια άποψη με κάποιο τρόπο για να διευκολύνει τη ζωή των προγραμματιστών και των διαχειριστών βάσεων δεδομένων. Το κατάστημα πληροφορικής σας πρέπει να έχει τους δικούς του κανόνες για την ονομασία αντικειμένων.
  • Οι στήλες στην προβολή περιορίζονται από το SELECT και τις σειρές δεδομένων από τον όρο WHERE.
  • Ο χαρακτήρας "" "γύρω από τα ονόματα προβολής απαιτείται λόγω του" - "στα ονόματα. Η MySQL αναφέρει ένα σφάλμα χωρίς αυτά.
create view `programming-students-v` as select FullName, programOfStudy from student where programOfStudy = 'Programming'; select * from `programming-students-v`; 

Δείγμα χρήσης προβολής για συνδυασμό δεδομένων από περισσότερους από έναν πίνακες

Ένας πίνακας δημογραφικών στοιχείων μαθητή προστέθηκε στη βάση δεδομένων για να δείξει αυτήν τη χρήση. Αυτή η προβολή θα συνδυάσει αυτούς τους πίνακες.

Σημειώσεις:

  • Για να "ενώσετε" πίνακες, οι πίνακες πρέπει να έχουν κοινά πεδία (συνήθως πρωτεύοντα κλειδιά) που αναγνωρίζουν μοναδικά κάθε σειρά. Σε αυτήν την περίπτωση είναι το αναγνωριστικό μαθητή. (Περισσότερα για αυτό στον οδηγό SQL Joins.)
  • Παρατηρήστε το "ψευδώνυμο" που δίνεται σε κάθε πίνακα ("s" για μαθητή και "sc" για επαφή μαθητή). Αυτό είναι ένα εργαλείο για να συντομεύσετε τα ονόματα των πινάκων και να διευκολύνετε τον εντοπισμό του πίνακα που χρησιμοποιείται. Είναι πιο εύκολο από το να πληκτρολογείτε επανειλημμένα ονόματα μεγάλων πινάκων. Σε αυτό το παράδειγμα, ήταν απαραίτητο επειδή το studentID είναι το ίδιο όνομα στήλης και στους δύο πίνακες και το σύστημα θα παρουσίαζε ένα "ασαφές σφάλμα ονόματος στήλης" χωρίς να καθορίσει ποιος πίνακας θα χρησιμοποιήσει.