Junior
Veritabanlarında birincil anahtar nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Birincil anahtar, bir veritabanı tablosundaki her satırı benzersiz şekilde tanımlayan bir sütun veya sütunlar kümesidir.
Ana özellikler:
- Benzersizlik: Birincil anahtarın her değeri tabloda benzersiz olmalıdır.
- NULL olmayan (NOT NULL): Birincil anahtar
NULLdeğeri içermemelidir. - İstikrar: Birincil anahtar değerlerinin değişmemesi tercih edilir.
Amacı:
- Veri bütünlüğünü sağlamak (varlıklar).
- Tablolar arasında ilişkiler kurmak (yabancı anahtarlar, birincil anahtarlara referans verir).
- Sorguları optimize etmek (sıkça indeksleme için kullanılır).
SQL'de birincil anahtar içeren bir tablo oluşturma örneği:
CREATE TABLE Customers (
CustomerID int NOT NULL, // Birincil anahtar için sütun
LastName varchar(255) NOT NULL,
FirstName varchar(255),
CONSTRAINT PK_Customer PRIMARY KEY (CustomerID) // Birincil anahtar tanımı
);
Birincil anahtar, birkaç sütundan oluşan bileşik anahtar olabilir:
CREATE TABLE OrderItems (
OrderID int NOT NULL,
ProductID int NOT NULL,
Quantity int,
CONSTRAINT PK_OrderItem PRIMARY KEY (OrderID, ProductID) // Bileşik birincil anahtar
);
Genellikle, birincil anahtar için otomatik değer üretimi kullanılır (örneğin, otomatik artış).
CREATE TABLE Products (
ProductID int NOT NULL IDENTITY(1,1), // Otomatik artan birincil anahtar
ProductName varchar(255) NOT NULL,
CONSTRAINT PK_Product PRIMARY KEY (ProductID)
);