Διαφορά μεταξύ συνωνύμου και ψευδωνύμου

Anonim

Συνώνυμο vs Alias ​​ (σε βάσεις δεδομένων ORACLE) | Ιδιωτικά συνώνυμα και δημόσια συνώνυμα

Στα αγγλικά, το συνώνυμο και το ψευδώνυμο έχουν σχεδόν την ίδια έννοια. Αλλά σε βάσεις δεδομένων αυτά είναι δύο διαφορετικά πράγματα. Ειδικά στις βάσεις δεδομένων ORACLE, και η χρήση τους είναι διαφορετική. Τα συνώνυμα χρησιμοποιούνται για την αναφορά αντικειμένων ενός σχήματος ή μιας βάσης δεδομένων από ένα άλλο σχήμα. Επομένως, το συνώνυμο είναι ένας τύπος αντικειμένου βάσης δεδομένων. Αλλά τα ψευδώνυμα έρχονται με διαφορετικό τρόπο. Αυτό σημαίνει; δεν είναι αντικείμενα βάσης δεδομένων. Τα ψευδώνυμα χρησιμοποιούνται για την αναφορά πινάκων, προβολών και στηλών εντός των ερωτημάτων.

Συνώνυμα

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

->
  1. Ιδιωτικά συνώνυμα (μπορούν να χρησιμοποιηθούν μόνο από τον χρήστη που τα δημιούργησε.)
  2. Δημόσια συνώνυμα (μπορούν να χρησιμοποιηθούν από όλους τους χρήστες που έχουν τα κατάλληλα προνόμια)

syntax για να δημιουργήσετε ένα συνώνυμο σε μια ξεχωριστή βάση δεδομένων, δημιουργήστε συνώνυμο myschema. mytable1 for userA. table1 @ database_link1

Δεδομένου ότι έχουμε ένα συνώνυμο με όνομα mytable1 σε myschema για userA. table1 @ database_link1 (κατανεμημένος πίνακας βάσης δεδομένων) , μπορούμε εύκολα να παραπέμψουμε τον κατανεμημένο πίνακα βάσης δεδομένων χρησιμοποιώντας το mytable1. Δεν χρειάζεται να χρησιμοποιούμε παντού το όνομα του μακρού αντικειμένου με τη βάση δεδομένων.

Ψευδώνυμα

Αυτά είναι απλά ένα άλλο όνομα για μια προβολή, έναν πίνακα ή μια στήλη μέσα σε ένα ερώτημα. Δεν αποτελούν αντικείμενα βάσης δεδομένων. Επομένως, τα ψευδώνυμα δεν ισχύουν παντού στο σχήμα / βάση δεδομένων. Ισχύουν μόνο στο ερώτημα. Ας δούμε αυτό το παράδειγμα, επιλέξτε tab1. col1 ως c1, tab2. col2 ως c2

από τον χρήστη1. tab1 tab1, user1. tab2 tab2

όπου tab1. col1 = tab2. col2

Εδώ, τα c1 και c2 είναι ψευδώνυμα στήλης, τα οποία χρησιμοποιούνται για την καρτέλα1. col1 και tab2. col2 και tab1 και tab2 είναι ψευδώνυμα πίνακα, τα οποία χρησιμοποιούνται για τον χρήστη1. table1 και user2. πίνακας2. Όλα αυτά τα ψευδώνυμα είναι έγκυρα μόνο σε αυτό το ερώτημα.

Ποια είναι η διαφορά ανάμεσα στο Συνώνυμο και το Alias ​​ (σε βάσεις δεδομένων ORACLE) ;

  • Τα συνώνυμα είναι ένας τύπος αντικειμένου βάσης δεδομένων. Αλλά τα ψευδώνυμα είναι απλά ένα όνομα για να παραπέμπει έναν πίνακα, μια προβολή ή μια στήλη μέσα σε ένα ερώτημα. Δεν είναι αντικείμενο βάσης δεδομένων.
  • Μπορείτε να δημιουργήσετε συνώνυμα για πίνακες, προβολές, λειτουργίες, διαδικασίες, πακέτα, ακολουθίες, υλοποιημένες προβολές, τύπους αντικειμένων κατηγορίας java και ενεργοποιητές. Αλλά τα ψευδώνυμα χρησιμοποιούνται μόνο για προβολές, πίνακες και στήλες τους.
  • Δεδομένου ότι τα συνώνυμα είναι αντικείμενο βάσης δεδομένων, ισχύουν εντός του σχήματος (ιδιωτικό συνώνυμο) ή μέσα στη βάση δεδομένων (δημόσιο συνώνυμο). Αλλά ψευδώνυμα έγκυρα στο ερώτημα όπου χρησιμοποιούνται.
  • Κάθε σχήμα χρειάζεται "να δημιουργήσει συνώνυμο" προνόμιο να δημιουργήσει συνώνυμα. Αλλά δεν υπάρχει κανένα προνόμιο να χρησιμοποιείτε ψευδώνυμα.