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