Bir ilişkisel tabloda her öğe için benzersiz bilgileri nasıl saklarım?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir ilişkisel veritabanında, bir tablodaki kaydın benzersizliği birincil anahtar tarafından belirlenir. Her satır, birincil anahtar olarak belirlenen sütunda (veya sütunlar kümesinde) benzersiz bir değere sahip olmalıdır. Bu, her kaydı tekil olarak tanımlamanızı sağlar.
İşte benzersizliği sağlamak için bazı yöntemler:
-
Otomatik artan birincil anahtar: En yaygın yaklaşımdır. Her yeni kayıt için otomatik olarak artan bir tam sayı alanı oluşturulur.
CREATE TABLE kullanicilar ( id INTEGER PRIMARY KEY AUTOINCREMENT, // Benzersiz otomatik oluşturulan ID kullanici_adi TEXT, email TEXT UNIQUE // E-posta için ek benzersizlik ); -
UUID (Evrensel Benzersiz Tanımlayıcı): Müşteri tarafında veya dağıtık olarak benzersiz tanımlayıcılar üretmeniz gerekiyorsa, UUID kullanabilirsiniz.
CREATE TABLE urunler ( id TEXT PRIMARY KEY, // Metin formatında benzersiz UUID isim TEXT, fiyat REAL ); -
Doğal anahtar: Benzersizlik, mevcut veri alanlarından biri veya birkaçıyla garanti altına alınmışsa.
CREATE TABLE Ulkeler ( iso_kodu TEXT PRIMARY KEY, // Ülke kodu dünyada benzersiz isim TEXT ); -
Bileşik anahtar: Birden fazla sütunun kombinasyonu ile kaydın benzersizliği sağlanır.
CREATE TABLE SiparisUrunleri ( siparis_id INTEGER, urun_id INTEGER, miktar INTEGER, PRIMARY KEY (siparis_id, urun_id) // siparis_id + urun_id çifti benzersiz );
Yöntem seçimi, veri tanımlama gereksinimlerine bağlıdır. Önemli olan bir birincil anahtarın bulunmasıdır.