Yabancı anahtar ilişkileri değiştirme

Bir ilişkinin yabancı anahtar tarafı değiştirebileceğiniz SQL Server 2012kullanarak SQL Server Management Studioya Transact-SQL. Bir tablonun yabancı anahtar değiştirme, hangi sütunların birincil anahtar tablosu sütunlar ilgili değiştirir.

Bu Konuda

  • Başlamadan Önce

    Sınırlamalar ve Kısıtlamalar

    Güvenlik

  • Bir yabancı anahtar kullanarak değiştirmek için:

    SQL Server Management Studio

    Transact-SQL

Başlamadan Önce

Sınırlamalar ve Kısıtlamalar

Yeni yabancı anahtar sütunu, veri türü ve boyutu o, bu özel durumları ile ilgili olduğu birincil anahtar sütunu eşleşmesi gerekir:

  • A charsütun veya sysnamesütun ilişkili olabileceği bir varcharsütun.

  • A binarysütun ilişkili olabileceği bir varbinarysütun.

  • Diğer ad veri türü temel türünü ilişkilendirebilirsiniz.

Güvenlik

İzinler

Tabloda ALTER izni gerektirir.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

SQL Server Management Studio Kullanarak

Yabancı anahtarı değiştirmek için

  1. İçinde Object Explorer, yabancı anahtar ile tablo genişletin ve ardından tuşları.

  2. Yabancı anahtar değiştirilmesi ve seçmek için sağ Değiştir.

  3. İçinde Yabancı anahtar ilişkileri iletişim kutusunda aşağıdaki değişiklikleri yapabilirsiniz.

    • Seçili ilişki
      Varolan ilişkileri listeler. Bir ilişki sağ kılavuz özelliklerini görüntülemek için seçin. Liste boşsa, hiçbir ilişkileri tablo için tanımlanmış.

    • Ekle
      Yeni bir ilişki oluşturun. Tablolar ve sütunlar belirtimleri ilişki geçerli olacaktır önce ayarlanmalıdır.

    • Sil
      Seçili ilişkiyi silmek Seçili ilişkiler listesi. Bir ilişki ek iptal etmek için ilişkiyi kaldırmak için bu düğmeyi kullanın.

    • Genel kategori
      Göstermek için genişletin Varolan verilere denetle oluşturma veya RE-Enabling ve tablolar ve sütunlar belirtimleri.

    • Varolan verilere oluşturma veya Re-Enabling denetleyin
      Kısıtlamayı oluşturulan veya etkinleştirilebilir, kısıtlamaya karşı önce tabloda varolan tüm verileri doğrulayın.

    • Tablolar ve sütunlar belirtimleri Kategori
      Hangi tablolar hareket hangi sütunları FOREIGN key ve ilişkinin birincil (veya benzersiz) anahtar olarak göstermek için genişletin. Düzenlemek veya bu değerleri tanımlamak için üç nokta düğmesini tıklatın (...) özellik alanının sağındaki.

    • Yabancı anahtar temel tablo
      Hangi tablo seçili ilişkinin yabancı anahtar olarak davranan sütun içerir gösterir.

    • Yabancı anahtar sütunları
      Hangi sütun seçili ilişkinin yabancı anahtar olarak davranan gösterir.

    • Birincil benzersiz anahtar temel tablo
      Hangi tablo içinde seçili ilişkinin birincil (veya benzersiz) anahtar olarak davranan sütun içerir gösterir.

    • Birincil benzersiz anahtar sütunlar
      Hangi sütunun içindeki seçili ilişkinin birincil (veya benzersiz) anahtar olarak davranan gösterir.

    • Kimlik Kategori
      Özellik alanlarını göstermek için genişletin ad ve Açıklama.

    • Ad
      İlişkinin adını gösterir. Yeni bir ilişki oluşturulduğunda, varsayılan bir ad etkin pencerede tablo temel verilir Tablo Tasarımcısı. Adı istediğiniz zaman değiştirebilirsiniz.

    • Açıklama
      İlişki açıklanmaktadır. Daha ayrıntılı bir açıklama yazmak için tıklayın Açıklama ve sonra tıklatın üç nokta (...) özellik alanının sağında görüntülenir. Bu metin yazmak daha büyük bir alan sağlar.

    • Tablo Tasarımcısı Kategori
      Bilgilerini göstermek için genişletin Varolan verilere denetle oluşturma veya Re-Enabling ve Çoğaltma zorla.

    • Çoğaltma zorla
      Kısıtlamayı bu tablo üzerinde çoğaltma aracısı bir INSERT, update veya delete işlemi yaparken uygulamak gösterir.

    • Yabancı anahtar kısıtlaması zorlama
      Eğer bu değişiklikler yabancı anahtar ilişkisi bütünlüğünü kılacak değişiklikler ilişki sütunlar veri izin verilip verilmeyeceğini belirtin. Seçim Evet bu tür değişikliklere izin ve seçmek istemiyorsanız No izin vermek isterseniz.

    • INSERT ve update belirtimi kategori
      Bilgilerini göstermek için genişletin Delete Rule ve Güncelleştirme kuralı ilişki için.

    • Kural silme
      Ne olacağını belirtmek bir yabancı anahtar ilişkisi içinde yer alan veriler içeren bir satır silmek bir kullanıcı çalışırsa:

      • Hiçbir eylem hata iletisi silinmesine izin verilmez ve SILME döndürülüyor kullanıcı söyler.

      • Art arda sıralı yabancı anahtar ilişkide yer alan verileri içeren tüm satırları siler. Tablonun mantıksal kayıtları kullanan bir birleştirme yayını dahil edilecek, cascade belirtmeyin.

      • Set Null tablo boş değerleri kabul etmesi için tüm yabancı anahtar sütunları null ise için değer ayarlar.

      • Set Default tüm yabancı anahtar sütunları tablo için tanımlanan varsayılan değerler varsa sütun için tanımlanan varsayılan değerine ayarlar.

    • Güncelleştirme kuralı
      Ne olacağı belirtin bir satır, bir yabancı anahtar ilişkisi içinde yer alan verileri güncelleştirmek bir kullanıcı çalışırsa:

      • Hiçbir eylem hata iletisi güncelleştirme izin verilmez ve güncelleştirme döndürülüyor kullanıcı söyler.

      • Art arda sıralı yabancı anahtar ilişkide yer alan veri içeren tüm satırları güncelleştirir. Tablonun mantıksal kayıtları kullanan bir birleştirme yayını dahil edilecek, cascade belirtmeyin.

      • Set Null tablo boş değerleri kabul etmesi için tüm yabancı anahtar sütunları null ise için değer ayarlar.

      • Set Default tüm yabancı anahtar sütunları tablo için tanımlanan varsayılan değerler varsa, sütun için tanımlanan varsayılan değerine ayarlar.

  4. Tarih dosyasını menüsünden tıklatın kaydetmektable name.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Transact-SQL'i Kullanma

Yabancı anahtarı değiştirmek için

Transact-sql kullanarak FOREIGN key kısıtlaması değiştirmek için önce varolan FOREIGN key kısıtlaması silin ve sonra yeni tanımı ile yeniden oluşturmanız gerekir. Daha fazla bilgi için Yabancı anahtar ilişkileri Silve Yabancı anahtar ilişkileri oluşturma.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]