Sobes.tech
Junior

Τι είναι τα κλειδιά σε μια βάση δεδομένων;

sobes.tech AI

Απάντηση από AI

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

Τύποι κλειδιών:

  • Πρωτεύον κλειδί (Primary Key; PK):
    • Ταυτοποιεί μοναδικά κάθε εγγραφή στον πίνακα.
    • Δεν μπορεί να περιέχει τιμές NULL.
    • Μπορεί να υπάρχει μόνο ένα πρωτεύον κλειδί ανά πίνακα.
  • Ξένο κλειδί (Foreign Key; FK):
    • Καθιερώνει σχέση μεταξύ δύο πινάκων, αναφερόμενο στο πρωτεύον ή μοναδικό κλειδί ενός άλλου πίνακα.
    • Διασφαλίζει την αναφορική ακεραιότητα, εγγυάται την ύπαρξη της αναφερόμενης εγγραφής.
  • Μοναδικό κλειδί (Unique Key; UK):
    • Διασφαλίζει την μοναδικότητα των τιμών στα καθορισμένα πεδία, αλλά μπορεί να περιέχει τιμές NULL (συνήθως όχι περισσότερα από ένα NULL).
    • Μπορούν να υπάρχουν πολλά μοναδικά κλειδιά σε έναν πίνακα.
  • Υποψήφιο κλειδί (Candidate Key):
    • Οποιοδήποτε ελάχιστο σύνολο πεδίων που μπορεί να ταυτοποιήσει μοναδικά μια εγγραφή.
    • Από τα υποψήφια κλειδιά, επιλέγεται ένα ως πρωτεύον κλειδί.
  • Υπέρκλειδι (Super Key):
    • Σύνολο πεδίων που μπορεί να ταυτοποιήσει μοναδικά μια εγγραφή. Το υποψήφιο κλειδί είναι το ελάχιστο υπέρκλειδι.

Παράδειγμα χρήσης ξένου κλειδιού:

CREATE TABLE Orders (
    order_id INT PRIMARY KEY, -- Πρωτεύον κλειδί για τον πίνακα Orders
    customer_id INT,
    order_date DATE,
    FOREIGN KEY (customer_id) REFERENCES Customers(customer_id) -- Ξένο κλειδί που αναφέρεται στον πίνακα Customers
);

CREATE TABLE Customers (
    customer_id INT PRIMARY KEY, -- Πρωτεύον κλειδί για τον πίνακα Customers
    customer_name VARCHAR(255)
);