ΔΗΜΙΟΥΡΓΗΣΤΕ ΠΙΝΑΚΑ σε ένα Schema Postgres

Demiourgeste Pinaka Se Ena Schema Postgres



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

Σε αυτόν τον οδηγό, θα μάθουμε περισσότερα σχετικά με τη δημιουργία πινάκων σε σχήμα στο PostgreSQL.







Σχήματα στην PostgreSQL

Μια βάση δεδομένων PostgreSQL μπορεί να περιέχει ένα ή περισσότερα σχήματα με όνομα, με κάθε σχήμα να περιέχει πίνακες.



Το ίδιο όνομα αντικειμένου μπορεί να εκχωρηθεί σε πολλά σχήματα χωρίς διένεξη. Για παράδειγμα, το ακόλουθο δέντρο σχήματος/πίνακας είναι έγκυρο:



  • schema_a
    • Τραπέζι 1
    • πίνακας_2
  • schema_b
    • Τραπέζι 1
    • πίνακας_2

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





Μπορεί να υπάρχουν πολλοί λόγοι για την εφαρμογή των σχημάτων:

  • Πολλαπλοί χρήστες που χρησιμοποιούν την ίδια βάση δεδομένων χωρίς να έρχονται σε σύγκρουση μεταξύ τους.
  • Καλύτερη οργάνωση και διαχείριση των βάσεων δεδομένων σε λογικές ομάδες.
  • Οι εφαρμογές τρίτων μπορούν να δημιουργήσουν το μοναδικό τους σχήμα χωρίς να συγκρούονται με τα υπάρχοντα σχήματα ή άλλα αντικείμενα.

Πίνακες στο PostgreSQL

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



Προαπαιτούμενα:

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

  • Ένα σωστά διαμορφωμένο σύστημα Linux. Μάθε περισσότερα για εγκατάσταση του Ubuntu στο VirtualBox .
  • Μια σωστή εγκατάσταση της PostgreSQL. Ολοκλήρωση αγοράς εγκατάσταση PostgreSQL στο Ubuntu .
  • Πρόσβαση σε α Χρήστης PostgreSQL με άδεια χρήσης σε μια βάση δεδομένων.

Για τους σκοπούς αυτού του οδηγού, θα χρησιμοποιήσουμε postgres για να εκτελέσετε όλες τις ενέργειες στο PostgreSQL.

Δημιουργία πινάκων σε σχήμα

Δημιουργία βάσης δεδομένων επίδειξης

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

Πρόσβαση στο κέλυφος PostgreSQL ως postgres :

$ sudo -i -u postgres psql

Δημιουργήστε μια νέα βάση δεδομένων demo_db:

$ ΔΗΜΙΟΥΡΓΙΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ demo_db;

Επαληθεύστε εάν η βάση δεδομένων δημιουργήθηκε με επιτυχία:

$ \l

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

$ \σύνδεση demo_db;

Το Δημόσιο Σχήμα

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

Η ακόλουθη εντολή εκτυπώνει όλο το διαθέσιμο σχήμα στη βάση δεδομένων PostgreSQL:

$ \dn

Εναλλακτικά, μπορούμε επίσης να χρησιμοποιήσουμε το ακόλουθο ερώτημα SQL:

$ SELECT * FROM pg_catalog.pg_namespace;

Δημιουργία νέου σχήματος

Για να δημιουργήσετε ένα νέο σχήμα κάτω από μια συγκεκριμένη βάση δεδομένων, η δομή εντολών είναι η εξής:

$ ΔΗΜΙΟΥΡΓΙΑ ΣΧΗΜΑΤΟΣ ;

Ακολουθώντας τον κανόνα, ας δημιουργήσουμε ένα νέο σχήμα demo_schema:

$ CREATE SCHEMA demo_schema;

Ελέγξτε τη λίστα σχημάτων για επαλήθευση:

$ \dn

Δημιουργία πίνακα σε σχήμα

Τώρα που έχουμε δημιουργήσει το σχήμα προορισμού, μπορούμε να το συμπληρώσουμε με πίνακες.

Η σύνταξη για τη δημιουργία ενός πίνακα είναι η εξής:

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ <σχήμα>.<όνομα_πίνακα> (

...
)

Εδώ:

  • σχήμα : Αυτό το πεδίο καθορίζει το όνομα του σχήματος όπου δημιουργείται ο πίνακας. Εάν δεν παρέχεται τιμή, ο πίνακας δημιουργείται κάτω από το δημόσιο σχήμα.

Για επίδειξη, δημιουργούμε έναν απλό πίνακα:

CREATE TABLE demo_schema.demo_table (

NAME CHAR(64),

ID INT NOT NULL

)

Εδώ:

  • Το πεδίο ΟΝΟΜΑ καθορίζεται για αποθήκευση μιας συμβολοσειράς 64 χαρακτήρων.
  • Το πεδίο ταυτότητα περιέχει τις ακέραιες τιμές. Ο όρος ' ΟΧΙ ΚΕΝΟ », υποδεικνύει ότι ταυτότητα δεν μπορεί να είναι κενό ή μηδενικό.

Μπορούμε να επαληθεύσουμε την ύπαρξη του πίνακα χρησιμοποιώντας το ακόλουθο ερώτημα:

$ SELECT * FROM demo_schema.demo_table;

Εισαγωγή δεδομένων στον πίνακα

Με τον πίνακα στη θέση του, μπορούμε τώρα να εισαγάγουμε ορισμένες τιμές:

INSERT INTO demo_schema.demo_table (NAME, ID)

ΑΞΙΕΣ

('PQR', 45),

('IJK', 99)

;

Ελέγξτε το περιεχόμενο του πίνακα:

$ SELECT * FROM demo_schema.demo_table;

Διαχείριση Σχήματος

Δικαιώματα σχήματος

Με τη βοήθεια της άδειας σχήματος, μπορούμε να διαχειριστούμε ποιος ρόλος μπορεί να εκτελέσει ποια ενέργεια σε ένα συγκεκριμένο σχήμα. Από όλα τα πιθανά προνόμια, τα σχήματα υποστηρίζουν μόνο ΔΗΜΙΟΥΡΓΙΑ και ΧΡΗΣΗ.

Για να ενημερώσετε την άδεια σχήματος για έναν συγκεκριμένο ρόλο, η δομή εντολών είναι η εξής:

$ ΧΟΡΗΓΗΣΤΕ <άδεια> ΣΤΟ ΣΧΗΜΑ <όνομα_σχήματος> ΣΤΟ <ρόλο>;

Για να ανακαλέσετε την άδεια σχήματος για έναν συγκεκριμένο ρόλο, η δομή εντολών είναι η εξής:

$ ΑΝΑΚΛΗΣΗ <άδεια> ON SCHEMA TO ;

Επαληθεύστε την αλλαγή χρησιμοποιώντας την ακόλουθη εντολή:

$ \dn+

Αλλαγή ιδιοτήτων σχήματος

Με τη βοήθεια του ΑΛΤΕΡ ΣΧΗΜΑ δήλωση, μπορούμε να τροποποιήσουμε τις διάφορες ιδιότητες ενός σχήματος. Για παράδειγμα: ιδιοκτησία, όνομα σχήματος, κ.λπ.

Για να αλλάξετε το όνομα του σχήματος, χρησιμοποιήστε το ακόλουθο ερώτημα:

$ ALTER SCHEMA RENAME ΣΕ ;

Για να αλλάξετε την ιδιοκτησία ενός σχήματος, χρησιμοποιήστε το ακόλουθο ερώτημα:

$ ALTER SCHEMA OWNER TO ;

Σημειώστε ότι για να αλλάξετε την ιδιοκτησία, ο τρέχων χρήστης πρέπει να έχει το ΔΗΜΙΟΥΡΓΩ άδεια για το σχήμα.

Διαγραφή σχήματος

Εάν ένα σχήμα δεν είναι πλέον απαραίτητο, μπορούμε να το διαγράψουμε χρησιμοποιώντας το ΠΤΩΣΗ ερώτηση:

$ DROP SCHEMA

Εάν το σχήμα περιέχει οποιοδήποτε αντικείμενο, χρειαζόμαστε το ΑΛΛΗΛΟΥΧΙΑ τροποποιητής:

$ DROP SCHEMA CASCADE;

Διαχείριση πίνακα

Δικαιώματα πίνακα

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

Για να ελέγξετε τα δικαιώματα ενός πίνακα, χρησιμοποιήστε την ακόλουθη εντολή στο psql:

$ \dp <όνομα_πίνακα>

Αλλαγή ιδιοτήτων πίνακα

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

Για παράδειγμα, για την απόθεση μιας στήλης, το ερώτημα μοιάζει με αυτό:

$ ΑΛΛΑΓΗ ΠΙΝΑΚΑ <όνομα_πίνακα> ΑΠΟΣΤΟΛΗ ΣΤΗΛΗ <στήλη>;

Για να προσθέσουμε μια νέα στήλη, μπορούμε να χρησιμοποιήσουμε το ακόλουθο ερώτημα:

$ ALTER TABLE <όνομα_πίνακα> ΠΡΟΣΘΗΚΗ ΣΤΗΛΗΣ <στήλη> <τύπος_δεδομένων>;

Μπορούμε επίσης να ορίσουμε τη συμπίεση για μια συγκεκριμένη στήλη:

$ ALTER COLUMN SET COMPRESSION ;

Διαγραφή πίνακα

Για να διαγράψουμε έναν πίνακα από ένα σχήμα, μπορούμε να χρησιμοποιήσουμε το ΠΡΩΤΟΤΡΑΠΕΖΙ ερώτηση:

$ DROP TABLE <όνομα_πίνακα>;

Σημειώστε ότι σε αντίθεση με τα σχήματα, το ΠΡΩΤΟΤΡΑΠΕΖΙ Το ερώτημα δεν θα δημιουργήσει σφάλμα είτε ο πίνακας είναι κενός είτε όχι.

συμπέρασμα

Σε αυτόν τον οδηγό, δείξαμε πώς να δημιουργήσετε τους πίνακες σε ένα σχήμα στο PostgreSQL. Δημιουργήσαμε ένα εικονικό σχήμα σε μια εικονική βάση δεδομένων και δημιουργήσαμε έναν πίνακα μέσα στο σχήμα. Αυτός ο οδηγός παρουσίασε επίσης τον τρόπο διαχείρισης των διαφόρων ιδιοτήτων σχημάτων και πινάκων.

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

Για περισσότερους οδηγούς PostgreSQL, ανατρέξτε στο Υποκατηγορία PostgreSQL .