PostgreSQL Δημιουργία προβολής με Παράδειγμα

⚡ Έξυπνη Σύνοψη

PostgreSQL Οι προβολές είναι ψευδοπίνακες που δημιουργούνται από ένα αποθηκευμένο ερώτημα SELECT, επιτρέποντάς σας να τυλίξετε σύνθετα ή συχνά χρησιμοποιούμενα ερωτήματα πίσω από ένα μόνο όνομα που μπορείτε να διαβάσετε, να ενημερώσετε ή να απορρίψετε όπως ένας συνηθισμένος πίνακας.

  • 🗂️ Ψευδο-Πίνακας: Μια προβολή αποθηκεύει ένα ερώτημα, όχι δεδομένα, ωστόσο εσείς το ΕΠΙΛΕΞΤΕ όπως ένας πίνακας.
  • Δημιουργώ: Η συνάρτηση CREATE VIEW ονομάζει ένα ερώτημα SELECT, ακόμη και σε πολλούς βασικούς πίνακες, για εύκολη επαναχρησιμοποίηση.
  • ♻️ Αντικαθιστώ: Η ΔΗΜΙΟΥΡΓΙΑ Ή ΑΝΤΙΚΑΤΑΣΤΑΣΗ ΠΡΟΒΟΛΗΣ αλλάζει μια προβολή χωρίς να την αποβάλειping αυτό.
  • 🗑️ Πτώση: Η επιλογή DROP VIEW καταργεί μια προβολή και η επιλογή IF EXISTS αποφεύγει ένα σφάλμα.
  • 🤖 Βοήθεια με την Τεχνητή Νοημοσύνη: Οι βοηθοί τεχνητής νοημοσύνης δημιουργούν ορισμούς προβολών και προτείνουν ποια ερωτήματα θα αναδιπλωθούν.

PostgreSQL Δημιουργία προβολής

Τι είναι PostgreSQL Θέα?

In PostgreSQL, η προβολή είναι ψευδο-πίνακας. Αυτό σημαίνει ότι μια προβολή δεν είναι πραγματικός πίνακας. Ωστόσο, μπορούμε να το SELECT ως συνηθισμένο τραπέζι. Μια προβολή μπορεί να έχει όλες ή μερικές από τις στήλες του πίνακα. Μια προβολή μπορεί επίσης να είναι μια αναπαράσταση περισσότερων του ενός πινάκων.

Οι πίνακες αναφέρονται ως βασικοί πίνακες. Όταν δημιουργείτε μια προβολή, απλώς πρέπει να δημιουργήσετε ένα ερώτημα και στη συνέχεια να του δώσετε ένα όνομα, καθιστώντας το ένα χρήσιμο εργαλείο για αναδίπλωση.ping σύνθετα και συχνά χρησιμοποιούμενα ερωτήματα.

δημιουργία PostgreSQL Προβολές

Για να δημιουργήσετε ένα PostgreSQL προβολή, χρησιμοποιούμε την πρόταση CREATE VIEW. Ακολουθεί η σύνταξη αυτής της δήλωσης:

CREATE [OR REPLACE] VIEW view-name AS
  SELECT column(s)
  FROM table(s)
  [WHERE condition(s)];

Η παράμετρος OR REPLACE θα αντικαταστήσει την προβολή εάν υπάρχει ήδη. Εάν παραλειφθεί και η προβολή υπάρχει ήδη, θα επιστραφεί ένα σφάλμα.

Η παράμετρος view-name είναι το όνομα της προβολής που πρέπει να δημιουργήσετε.

Η/Οι συνθήκη/οι WHERE είναι προαιρετικές και πρέπει να ικανοποιούνται για να προστεθεί/εκτελεστούν εγγραφές στην προβολή.

Εξετάστε τον πίνακα τιμών που δίνεται παρακάτω:

Τιμή:

δημιουργία PostgreSQL Προβολές

Ας δημιουργήσουμε μια προβολή από τον παραπάνω πίνακα:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

Η παραπάνω εντολή θα δημιουργήσει μια προβολή με βάση το Δήλωση SELECT. Μόνο οι εγγραφές όπου η τιμή είναι μεγαλύτερη από 200 θα προστεθούν στην προβολή. Στην προβολή έχει δοθεί το όνομα Price_View. Ας το ρωτήσουμε για να δούμε το περιεχόμενό του:

SELECT *
FROM Price_View;

Αυτό επιστρέφει τα ακόλουθα:

δημιουργία PostgreSQL Προβολές

Παρόλο που ο βασικός πίνακας έχει 4 εγγραφές, μόνο 2 προστέθηκαν στην προβολή.

Εδώ, μπορούμε να προσθέσουμε μόνο μία στήλη στην προβολή. Ας δημιουργήσουμε μια προβολή που περιλαμβάνει μόνο μία στήλη του πίνακα Τιμών:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

Στην προβολή έχει δοθεί το όνομα Price_View2 και περιλαμβάνει μόνο τη στήλη τιμών του πίνακα Τιμή. Ας ρωτήσουμε την προβολή για να δούμε τα περιεχόμενά της:

SELECT *
FROM Price_View2;

Αυτό επιστρέφει τα ακόλουθα:

δημιουργία PostgreSQL Προβολές

Αλλαγή PostgreSQL Προβολές

Ο ορισμός μιας προβολής μπορεί να αλλάξει χωρίς να χρειάζεται να την απορρίψετε. Αυτό γίνεται χρησιμοποιώντας τη δήλωση ΔΗΜΙΟΥΡΓΙΑ Ή ΑΝΤΙΚΑΤΑΣΤΑΣΗ ΠΡΟΒΟΛΗ.

Ας το δείξουμε αυτό ενημερώνοντας την προβολή με το όνομα Price_View2.

Τιμή_Προβολή2:

Αλλαγή PostgreSQL Προβολές

Ο πίνακας του βιβλίου έχει ως εξής:

Βιβλίο:

Αλλαγή PostgreSQL Προβολές

Ο πίνακας τιμών έχει ως εξής:

Τιμή:

Αλλαγή PostgreSQL Προβολές

Το ακόλουθο ερώτημα θα μας βοηθήσει να ενημερώσουμε την προβολή Price_View2:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

Ας ρωτήσουμε τώρα την προβολή για να δούμε τα περιεχόμενά της:

Αλλαγή PostgreSQL Προβολές

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

Διαγραφή PostgreSQL Προβολές

Κάθε φορά που χρειάζεται να διαγράψετε ένα PostgreSQL view, μπορείτε να χρησιμοποιήσετε την πρόταση DROP VIEW. Ακολουθεί η σύνταξη για την πρόταση:

DROP VIEW [IF EXISTS] view-name;

Η παράμετρος view-name είναι το όνομα της προβολής που πρόκειται να διαγραφεί.

Σε αυτήν τη σύνταξη, η συνάρτηση IF EXISTS είναι προαιρετική. Εάν δεν την καθορίσετε και επιχειρήσετε να διαγράψετε μια προβολή που δεν υπάρχει, θα εμφανιστεί ένα σφάλμα.

Για παράδειγμα, για να απορρίψουμε την προβολή με το όνομα Price_View2, μπορούμε να εκτελέσουμε την ακόλουθη πρόταση:

DROP VIEW Price_View2;

Η προβολή θα διαγραφεί.

Χρήση του pgAdmin

Ας δούμε τώρα πώς μπορούν να εκτελεστούν αυτές οι ενέργειες χρησιμοποιώντας το pgAdmin.

δημιουργία PostgreSQL Προβολές

Για να πετύχετε το ίδιο μέσω του pgAdmin, κάντε το εξής:

Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.

Βήμα 2)

  • Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
  • Κάντε κλικ στο Demo.

δημιουργία PostgreSQL Προβολές με χρήση του pgAdmin

Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.

δημιουργία PostgreSQL Προβολές με χρήση του pgAdmin

Βήμα 5) Για να δείτε τα περιεχόμενα της προβολής, κάντε τα εξής:

  • Πληκτρολογήστε την ακόλουθη εντολή στο πρόγραμμα επεξεργασίας ερωτημάτων:
SELECT *
FROM Price_View;
  • Κάντε κλικ στο κουμπί Εκτέλεση.

δημιουργία PostgreSQL Προβολές με χρήση του pgAdmin

Αυτό θα επιστρέψει τα ακόλουθα:

δημιουργία PostgreSQL Προβολές με χρήση του pgAdmin

Για να δημιουργήσετε την προβολή Price_View2, κάντε τα εξής:

Βήμα 1) Πληκτρολογήστε το ακόλουθο ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

Βήμα 2) Κάντε κλικ στο κουμπί Εκτέλεση.

δημιουργία PostgreSQL Προβολές με χρήση του pgAdmin

Βήμα 3) Για να δείτε τα περιεχόμενα της προβολής, κάντε τα εξής:

  • Πληκτρολογήστε το ακόλουθο ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:
SELECT *
FROM Price_View2;
  • Κάντε κλικ στο κουμπί Εκτέλεση.

δημιουργία PostgreSQL Προβολές με χρήση του pgAdmin

Αυτό θα επιστρέψει τα ακόλουθα:

δημιουργία PostgreSQL Προβολές με χρήση του pgAdmin

Αλλαγή PostgreSQL Προβολές

Για να πετύχετε το ίδιο μέσω του pgAdmin, κάντε το εξής:

Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.

Βήμα 2)

  • Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
  • Κάντε κλικ στο Demo.

Αλλαγή PostgreSQL Προβολές με χρήση του pgAdmin

Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.

Αλλαγή PostgreSQL Προβολές με χρήση του pgAdmin

Βήμα 5) Πληκτρολογήστε το ακόλουθο ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:

SELECT *
FROM Price_View2;

Αυτό θα επιστρέψει τα ακόλουθα:

Αλλαγή PostgreSQL Προβολές με χρήση του pgAdmin

Διαγραφή PostgreSQL Προβολές

Για να πετύχετε το ίδιο μέσω του pgAdmin, κάντε το εξής:

Βήμα 1) Συνδεθείτε στον λογαριασμό σας pgAdmin.

Βήμα 2)

  • Από τη γραμμή πλοήγησης στα αριστερά - Κάντε κλικ στην επιλογή Βάσεις δεδομένων.
  • Κάντε κλικ στο Demo.

Διαγραφή PostgreSQL Προβολές με χρήση του pgAdmin

Βήμα 3) Πληκτρολογήστε το ερώτημα στο πρόγραμμα επεξεργασίας ερωτημάτων:

DROP VIEW Price_View2;

Βήμα 4) Κάντε κλικ στο κουμπί Εκτέλεση.

Διαγραφή PostgreSQL Προβολές με χρήση του pgAdmin

Η προβολή θα διαγραφεί.

Κάντε λήψη της βάσης δεδομένων που χρησιμοποιείται σε αυτό το σεμινάριο

Συχνές Ερωτήσεις

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

Μια υλοποιημένη προβολή αποθηκεύει προσωρινά ένα αποτέλεσμα ερωτήματος στον δίσκο. Διαβάζεται πιο γρήγορα από μια απλή προβολή, αλλά χρειάζεται ΑΝΑΝΕΩΣΗ ΥΛΙΚΟΠΟΙΗΜΕΝΗΣ ΠΡΟΒΟΛΗΣ για την εμφάνιση νέων δεδομένων.

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

Μερικές φορές. Μια απλή προβολή ενός πίνακα χωρίς συνάθροιση ενημερώνεται αυτόματα, επομένως οι εντολές INSERT, UPDATE και DELETE λειτουργούν απευθείας. Οι σύνθετες προβολές χρειάζονται ΕΝΑΝΤΙ για εναύσματα.

Υποβολή ερωτήματος στον κατάλογο: SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. Στο pgAdmin, μπορείτε να αναπτύξετε τον κόμβο Views κάτω από ένα σχήμα.

Οι βοηθοί τεχνητής νοημοσύνης μετατρέπουν ένα αίτημα απλής γλώσσας σε μια πρόταση CREATE VIEW, ονομάζουν την προβολή και προσθέτουν τους σωστούς όρους WHERE και JOIN, επιταχύνοντας τα ερωτήματα που επαναχρησιμοποιείτε συχνά.

Ναι. Επικολλήστε ένα μεγάλο SELECT και ένας βοηθός AI το τυλίγει σε ΔΗΜΙΟΥΡΓΙΑ Ή ΑΝΤΙΚΑΤΑΣΤΑΣΗ ΠΡΟΒΟΛΗΣ, προτείνει ένα όνομα και επισημαίνει στήλες που χρειάζονται ψευδώνυμα για να αποφευχθούν διπλότυπα ονόματα.

Μια κανονική προβολή δεν επιταχύνει τα ερωτήματα επειδή η εντολή SELECT εκτελείται κάθε φορά. Για ταχύτερες επαναλαμβανόμενες αναγνώσεις, χρησιμοποιήστε μια υλοποιημένη προβολή, η οποία αποθηκεύει τα αποτελέσματα στον δίσκο μέχρι να ανανεωθούν.

Συνοψίστε αυτήν την ανάρτηση με: