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