Junior
Ποιοι τύποι κλειδιών υπάρχουν στους πίνακες βάσεων δεδομένων;
sobes.tech AI
Απάντηση από AI
Υπάρχουν διάφοροι βασικοί τύποι κλειδιών:
PRIMARY KEY: Αναγνωρίζει μοναδικά κάθε πεδίο στον πίνακα. Μπορεί να υπάρχει μόνο ένα πρωτεύον κλειδί ανά πίνακα.FOREIGN KEY: Δημιουργεί μια σχέση μεταξύ δύο πινάκων, αναφερόμενο στο πρωτεύον κλειδί σε έναν άλλο πίνακα. Διατηρεί την ακεραιότητα των δεδομένων.UNIQUE KEY: Διασφαλίζει την μοναδικότητα των τιμών σε μια στήλη ή ομάδα στηλών, αλλά, σε αντίθεση με το πρωτεύον κλειδί, μπορεί να περιέχει NULL (αν επιτρέπεται από τον ορισμό της στήλης).CANDIDATE KEY: Οποιαδήποτε στήλη ή σύνολο στηλών που μπορούν να αναγνωρίσουν με μοναδικό τρόπο μια γραμμή στον πίνακα. Το πρωτεύον κλειδί είναι ένα από τα υποψήφια κλειδιά.SUPER KEY: Σύνολο μιας ή περισσότερων στηλών που αναγνωρίζουν με μοναδικό τρόπο μια γραμμή στον πίνακα. Περιλαμβάνει τα υποψήφια κλειδιά, αλλά μπορεί να περιέχει και επιπλέον στήλες που δεν απαιτούνται για την μοναδικότητα.COMPOSITE KEY: Κλειδί που αποτελείται από δύο ή περισσότερες στήλες που λαμβάνονται μαζί για να αναγνωρίσουν μοναδικά μια γραμμή. Μπορεί να είναι πρωτεύον, ξένο ή μοναδικό κλειδί.
-- Παράδειγμα πίνακα με διάφορους τύπους κλειδιών
CREATE TABLE Users (
user_id INT PRIMARY KEY, -- Πρωτεύον κλειδί
username VARCHAR(50) UNIQUE, -- Μοναδικό κλειδί
email VARCHAR(100),
city_id INT,
-- Ξένο κλειδί που αναφέρεται στον πίνακα Cities
FOREIGN KEY (city_id) REFERENCES Cities (city_id)
);
CREATE TABLE Cities (
city_id INT PRIMARY KEY,
city_name VARCHAR(50)
);