Sobes.tech
Junior

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:

  1. 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
    );
    
  2. 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
    );
    
  3. 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
    );
    
  4. 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.