Junior
Τι είναι τα πρωτεύοντα και εξωτερικά κλειδιά, και ποιους περιορισμούς έχουν;
sobes.tech AI
Απάντηση από AI
Η Πρωτεύουσα Κλείδα (Primary Key) είναι μια στήλη ή ένας συνδυασμός στηλών σε μια οντότητα (πίνακας βάσης δεδομένων) που αναγνωρίζει μοναδικά κάθε εγγραφή σε αυτήν την οντότητα.
- Περιορισμοί:
- Μοναδικότητα: Οι τιμές της πρωτεύουσας κλείδας πρέπει να είναι μοναδικές εντός του πίνακα.
- Μη δυνατότητα NULL: Η πρωτεύουσα κλείδα δεν μπορεί να περιέχει τιμές NULL.
Η Ξένη Κλείδα (Foreign Key) είναι μια στήλη ή ένα σύνολο στηλών σε μια οντότητα (υποπίνακας) που αναφέρεται στην πρωτεύουσα κλείδα σε μια άλλη οντότητα (μητρικό πίνακα). Ορίζει μια σχέση μεταξύ δύο πινάκων.
- Περιορισμοί:
- Ακεραιότητα αναφοράς: Οι τιμές της ξένης κλείδας πρέπει να ταιριάζουν με μια υπάρχουσα τιμή της πρωτεύουσας κλείδας στον μητρικό πίνακα ή να είναι NULL (αν επιτρέπεται).
Παράδειγμα σε SQL:
// Δημιουργία πίνακα με πρωτεύουσα κλείδα
CREATE TABLE Users (
UserID INT PRIMARY KEY, // UserID - πρωτεύουσα κλείδα
UserName VARCHAR(255)
);
// Δημιουργία πίνακα με ξένη κλείδα
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
UserID INT,
OrderDate DATE,
FOREIGN KEY (UserID) REFERENCES Users(UserID) // UserID - ξένη κλείδα, αναφέρεται στο Users.UserID
);