UNIQUE Περιορισμοί στον Microsoft SQL Server

Τα πλεονεκτήματα της χρήσης UNIQUE Constraints over Primary Key Constraints

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

Γιατί να χρησιμοποιήσετε UNIQUE Constraints

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

Δημιουργία UNIQUE Constraint

Υπάρχουν πολλοί τρόποι με τους οποίους μπορείτε να δημιουργήσετε έναν UNIQUE περιορισμό στον SQL Server. Αν θέλετε να χρησιμοποιήσετε το Transact-SQL για να προσθέσετε έναν UNIQUE περιορισμό σε έναν υπάρχοντα πίνακα, μπορείτε να χρησιμοποιήσετε τη δήλωση ALTER TABLE, όπως φαίνεται παρακάτω:

ΠΙΝΑΚΑΣ ALTER ΠΡΟΣΘΗΚΗ ΜΟΝΑΔΙΚΟ ()

Αν προτιμάτε να αλληλεπιδράσετε με τον SQL Server χρησιμοποιώντας εργαλεία GUI, μπορείτε επίσης να δημιουργήσετε έναν UNIQUE περιορισμό χρησιμοποιώντας το SQL Server Management Studio . Δείτε πώς:

  1. Ανοίξτε το SQL Server Management Studio .
  2. Αναπτύξτε το φάκελο Tables της βάσης δεδομένων όπου θέλετε να δημιουργήσετε τον περιορισμό.
  3. Κάντε δεξιό κλικ στον πίνακα όπου θέλετε να προσθέσετε τον περιορισμό και κάντε κλικ στο κουμπί Σχεδίαση .
  4. Στο μενού Πίνακας σχεδιαστή, κάντε κλικ στην επιλογή Ευρετήρια / Πλήκτρα .
  5. Στο παράθυρο διαλόγου Ευρετήρια / κλειδιά, κάντε κλικ στο κουμπί Προσθήκη .
  6. Επιλέξτε Μοναδικό πλήκτρο στην αναπτυσσόμενη λίστα Τύπος .

UNIQUE Constraints vs. UNIQUE Ευρετήρια

Υπήρξε κάποια σύγχυση σχετικά με τη διαφορά μεταξύ ενός UNIQUE περιορισμού και ενός δείκτη UNIQUE. Ενώ μπορείτε να χρησιμοποιήσετε διαφορετικές εντολές Transact-SQL για να τις δημιουργήσετε (ALTER TABLE ... ADD CONSTRAINT για περιορισμούς και CREATE UNIQUE INDEX για ευρετήρια), έχουν το ίδιο αποτέλεσμα, ως επί το πλείστον. Στην πραγματικότητα, όταν δημιουργείτε έναν UNIQUE περιορισμό, στην πραγματικότητα δημιουργεί ένα UNIQUE δείκτη στο τραπέζι. Είναι σημαντικό να σημειωθεί, ωστόσο, ότι υπάρχουν πολλές διαφορές: