SORU
29 NİSAN 2011, Cuma


Nasıl düzgün bir bileşik birincil anahtar oluşturmak için MYSQL

Burada çalışıyorum yoğun bir kur basitleştirme. table_1 table_2 Otomatik artım KİMLİĞİ olarak vekil birincil anahtarları var. info table_1 table_2 hem hakkında bilgi içeren bir tablo.

table_1 (id, field)  
table_2 (id, field, field)
info ( ???, field)

Eğer info birincil anahtar table_1 kimlik kompozit yapayım diye karar verdim ve 10* *için çalışıyorum. Eğer bunu yaparsak, hangisi en mantıklı?
( bu örnekte KİMLİĞİ 437 KİMLİĞİ 11209 birleştirerek duyuyorum )

INT(9) 11209437(bunun neden kötü olduğunu tahmin edebiliyorum)
VARCHAR (10) 11209-437
DECIMAL (10,4) 11209.437

Ya da başka bir şey?

Bu MYSQL hali hazırda bir DB Birincil Anahtar olarak kullanmak için iyi olurdu?

CEVAP
29 NİSAN 2011, Cuma


(Çok sütunlu) bileşik bir anahtar kullanmak istiyorsunuz.

CREATE TABLE INFO (
    t1ID INT,
    t2ID INT,
    PRIMARY KEY (t1ID, t2ID)
) 

Bu şekilde yabancı anahtarları kendi tabloları da işaret olarak t1İD ve t2İD olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Awesomesauce Network

    Awesomesauce

    4 EKİM 2012
  • Dogbert files

    Dogbert file

    12 Ocak 2012
  • Xcode programming tutorials

    Xcode progra

    17 EYLÜL 2006