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