Bagikan melalui


Ubah Hubungan Kunci Asing

Berlaku untuk: SQL Server 2016 (13.x) dan Azure SQL Database Azure SQL Managed Instance yang lebih baru

Anda dapat memodifikasi sisi kunci asing dari hubungan di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL. Memodifikasi perubahan kunci asing tabel yang kolomnya 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 karakter atau kolom sysname dapat berhubungan dengan kolom varchar.

  • Kolom biner dapat berhubungan dengan kolom varbinary .

  • Jenis data alias dapat berhubungan dengan jenis dasarnya.

Keamanan

Izin

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. Pilih hubungan untuk memperlihatkan propertinya di kisi di sebelah kanan. Jika daftar kosong, tidak ada hubungan yang ditentukan untuk tabel.

    Tambahkan
    Buat hubungan baru. Spesifikasi Tabel dan Kolom harus diatur sebelum hubungan akan valid.

    Hapus
    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.

    Nama
    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.

    Keterangan
    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 pada Pembuatan atau Mengaktifkan 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.

    KATEGORI Spesifikasi INSERT dan UPDATE
    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 Tindakan Pesan kesalahan memberi tahu pengguna bahwa pembaruan tidak diizinkan dan PEMBARUAN digulung balik.

    • Kaskade Memperbarui 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.

  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 Menghapus Hubungan Kunci Asing dan Membuat Hubungan Kunci Asing.