Sobes.tech
Junior

რა არის პირველადი გასაღები მონაცემთა ბაზებში?

sobes.tech AI

პასუხი AI-სგან

მთავარი გასაღები — ეს არის სვეტი ან სვეტების ჯგუფი მონაცემთა ბაზის ცხრილში, რომელიც უნიკალურად იდენტიფიცირებს ამ ცხრილის თითოეულ სვეტს.

ძირითადი მახასიათებლები:

  • უნიკალურობა: თითოეული მთავარი გასაღების მნიშვნელობა უნდა იყოს უნიკალური ცხრილში.
  • NULL არ არის (NOT NULL): მთავარი გასაღები არ უნდა შეიცავდეს NULL მნიშვნელობას.
  • ტევადობა: რეკომენდირებულია, რომ მთავარი გასაღების მნიშვნელობები არ შეიცვალოს.

მიზანი:

  • მონაცემთა მთლიანობის უზრუნველყოფა (ობიექტები).
  • ურთიერთობების დამყარება ცხრილებს შორის (საკრედიტო გასაღებები მითითებულია მთავარ გასაღებებზე).
  • სარეკლამო ოპტიმიზაცია (სხვადასხვა ინდექსების გამოყენება).

SQL-ში მთავარი გასაღებით ცხრილის შექმნის მაგალითი:

CREATE TABLE Customers (
    CustomerID int NOT NULL, // სვეტი მთავარი გასაღებისთვის
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    CONSTRAINT PK_Customer PRIMARY KEY (CustomerID) // მთავარი გასაღების განსაზღვრა
);

მთავარი გასაღები შეიძლება იყოს კომპოზიციური, რამდენიმე სვეტით:

CREATE TABLE OrderItems (
    OrderID int NOT NULL,
    ProductID int NOT NULL,
    Quantity int,
    CONSTRAINT PK_OrderItem PRIMARY KEY (OrderID, ProductID) // კომპოზიციური მთავარი გასაღები
);

ხშირად გამოიყენება ავტომატური მნიშვნელობების გენერირება — მაგალითად, ავტომატური ზრდა:

CREATE TABLE Products (
    ProductID int NOT NULL IDENTITY(1,1), // ავტომატურად ზრდადი მთავარი გასაღები
    ProductName varchar(255) NOT NULL,
    CONSTRAINT PK_Product PRIMARY KEY (ProductID)
);