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