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