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)
);