Sobes.tech
Junior

Kas yra pirminis raktas duomenų bazėse?

sobes.tech AI

Atsakymas iš AI

Pirmasis raktas yra stulpelis arba stulpelių rinkinys duomenų bazės lentelėje, kuris unikalų būdu identifikuoja kiekvieną šios lentelės eilutę.

Pagrindinės savybės:

  • Unikalumas: Kiekviena pirminio rakto reikšmė turi būti unikali lentelėje.
  • Ne null (NOT NULL): Pirminis raktas negali turėti NULL reikšmės.
  • Stabilumas: Rekomenduojama, kad pirminio rakto reikšmės nekistų.

Tikslas:

  • Duomenų vientisumo užtikrinimas (subjektai).
  • Ryšių tarp lentelių nustatymas (svetimi raktai nurodo į pirminius raktus).
  • Užklausų optimizavimas (dažnai naudojama indeksavimui).

SQL pavyzdys, kaip sukurti lentelę su pirminiu raktu:

CREATE TABLE Customers (
    CustomerID int NOT NULL, // Stulpelis pirminiam raktui
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    CONSTRAINT PK_Customer PRIMARY KEY (CustomerID) // Pirminio rakto apibrėžimas
);

Pirminis raktas gali būti sudėtinis, sudarytas iš kelių stulpų:

CREATE TABLE OrderItems (
    OrderID int NOT NULL,
    ProductID int NOT NULL,
    Quantity int,
    CONSTRAINT PK_OrderItem PRIMARY KEY (OrderID, ProductID) // Sudėtinis pirminis raktas
);

Dažnai naudojama automatinė reikšmių generacija pirminiam raktui (pvz., auto-increment):

CREATE TABLE Products (
    ProductID int NOT NULL IDENTITY(1,1), // Automatiškai didėjantis pirminis raktas
    ProductName varchar(255) NOT NULL,
    CONSTRAINT PK_Product PRIMARY KEY (ProductID)
);