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