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

  • erikbjgn's channel

    erikbjgn's c

    12 Mayıs 2008
  • infiniTuts

    infiniTuts

    18 Ocak 2012
  • The Onion

    The Onion

    14 Mart 2006