Sobes.tech
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)
);