Bagikan melalui


Ubah Hubungan Kunci Asing

Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru Azure SQL DatabaseAzure SQL Managed Instance SQL databasedi Microsoft Fabric

Anda dapat memodifikasi sisi kunci asing dari hubungan di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL. Memodifikasi kunci asing tabel mengubah kolom mana yang terkait dengan kolom dalam tabel kunci utama.

Dalam Topik Ini

Sebelum Anda mulai

Batasan dan Pembatasan

Kolom kunci asing baru harus cocok dengan jenis data dan ukuran kolom kunci primer yang terkait dengannya, dengan pengecualian ini:

  • Kolom char atau kolom sysname dapat berhubungan dengan kolom varchar.

  • Kolom biner dapat berhubungan dengan varbinary.

  • Jenis data alias dapat berhubungan dengan jenis dasarnya.

Keamanan

Permissions

Memerlukan izin UBAH pada tabel.

Menggunakan SQL Server Management Studio

Untuk mengubah kunci asing

  1. Di Object Explorer, perluas tabel dengan kunci asing lalu perluas Kunci.

  2. Klik kanan kunci asing yang akan dimodifikasi dan pilih Ubah.

  3. Dalam kotak dialog Hubungan Kunci Asing, Anda dapat melakukan modifikasi berikut.

    Hubungan Terpilih
    Mencantumkan hubungan yang ada. Pilihlah hubungan untuk memperlihatkan propertinya di grid di sebelah kanan. Jika daftar kosong, tidak ada hubungan yang ditentukan untuk tabel.

    Add
    Buat hubungan baru. Spesifikasi Tabel dan Kolom harus ditetapkan agar hubungan menjadi valid.

    Delete
    Hapus hubungan yang dipilih dalam daftar Hubungan yang Dipilih. Untuk membatalkan penambahan hubungan, gunakan tombol ini untuk menghapus hubungan.

    Kategori Umum
    Perluas untuk memperlihatkan Periksa Data yang Ada pada Pembuatan atau Pengaktifan Ulang dan Spesifikasi Tabel dan Kolom.

    Periksa Data yang Ada saat Pembuatan atau Pengaktifan Ulang
    Verifikasi semua data yang ada dalam tabel sebelum batasan dibuat atau diaktifkan kembali, terhadap batasan.

    Kategori Spesifikasi Tabel dan Kolom
    Perluas untuk memperlihatkan kolom mana dari tabel mana yang bertindak sebagai kunci asing dan kunci primer (atau unik) dalam hubungan. Untuk mengedit atau menentukan nilai-nilai ini, klik tombol elipsis (...) di sebelah kanan bidang properti.

    Tabel Dasar Kunci Asing
    Memperlihatkan tabel mana yang berisi kolom yang bertindak sebagai kunci asing dalam hubungan yang dipilih.

    Kolom Kunci Asing
    Memperlihatkan kolom mana yang bertindak sebagai kunci asing dalam hubungan yang dipilih.

    Tabel Dasar Kunci Primer/Unik
    Memperlihatkan tabel mana yang berisi kolom yang bertindak sebagai kunci utama (atau unik) dalam hubungan yang dipilih.

    Kolom Kunci Primer/Unik
    Memperlihatkan kolom mana yang bertindak sebagai kunci utama (atau unik) dalam hubungan yang dipilih.

    Kategori Identitas
    Perluas untuk memperlihatkan bidang properti untuk Nama dan Deskripsi.

    Name
    Memperlihatkan nama hubungan. Saat hubungan baru dibuat, hubungan tersebut diberi nama default berdasarkan tabel di jendela aktif di Table Designer. Anda dapat mengubah nama kapan saja.

    Description
    Jelaskan hubungan. Untuk menulis deskripsi yang lebih rinci, klik Deskripsi lalu klik elipsis (...) yang muncul di sebelah kanan bidang properti. Ini menyediakan area yang lebih besar untuk menulis teks.

    Kategori Desainer Tabel
    Perluas untuk menampilkan informasi untuk Memeriksa Data yang Ada saat Pembuatan atau Pengaktifan Kembali dan Terapkan untuk Replikasi.

    Terapkan Untuk Replikasi
    Menunjukkan apakah akan memberlakukan batasan saat agen replikasi melakukan penyisipan, pembaruan, atau penghapusan pada tabel ini.

    Memberlakukan Batasan Kunci Asing
    Tentukan apakah perubahan diizinkan ke data kolom dalam hubungan jika perubahan tersebut akan membatalkan integritas hubungan kunci asing. Pilih Ya jika Anda tidak ingin memperbolehkan perubahan tersebut, dan pilih Tidak jika Anda ingin mengizinkannya.

    Spesifikasi Insert dan Update Kategori
    Perluas untuk memperlihatkan informasi untuk Aturan Penghapusan dan Aturan Pembaruan untuk hubungan tersebut.

    Hapus Aturan
    Tentukan apa yang terjadi jika pengguna mencoba menghapus baris dengan data yang terlibat dalam hubungan kunci asing:

    • Tidak Ada Tindakan Pesan kesalahan memberi tahu pengguna bahwa penghapusan tidak diizinkan dan DELETE digulung balik.

    • Kaskade Menghapus semua baris yang berisi data yang terlibat dalam hubungan kunci asing. Jangan tentukan CASCADE jika tabel akan disertakan dalam publikasi gabungan yang menggunakan rekaman logis.

    • Atur Null Atur nilai ke null jika semua kolom kunci asing untuk tabel dapat menerima nilai null.

    • Atur Default Atur nilai ke nilai default yang ditentukan untuk kolom jika semua kolom kunci asing untuk tabel memiliki default yang ditentukan untuknya.

    Perbarui Aturan
    Tentukan apa yang terjadi jika pengguna mencoba memperbarui baris dengan data yang terlibat dalam hubungan kunci asing:

    • Tidak Ada Aksi Pesan kesalahan memberi tahu pengguna bahwa pembaruan tidak diizinkan dan pembaruan dikembalikan.

    • Cascade Memperbarui semua baris yang terkait dengan hubungan kunci asing. Jangan tentukan CASCADE jika tabel akan disertakan dalam publikasi gabungan yang menggunakan rekaman logis.

    • Atur Null Atur nilai ke null jika semua kolom kunci asing untuk tabel dapat menerima nilai null.

    • Atur Default Atur nilai ke nilai default yang ditentukan untuk kolom jika semua kolom kunci asing untuk tabel memiliki default yang ditentukan untuknya.

  4. Pada menu File , klik Simpannama tabel.

Menggunakan T-SQL

Untuk mengubah kunci asing

Untuk memodifikasi batasan KUNCI ASING dengan menggunakan Transact-SQL, Anda harus terlebih dahulu menghapus batasan KUNCI ASING yang ada lalu membuatnya kembali dengan definisi baru. Untuk informasi selengkapnya, lihat Hapus Hubungan Kunci Asing dan Buat Hubungan Kunci Asing.