Ringkasan. dalam tutorial ini, Anda akan mempelajari cara menggunakan batasan kunci asing MariaDB untuk menegakkan integritas referensial antar tabel Show
Apa itu kunci asingKunci asing adalah kolom atau kumpulan kolom dalam tabel yang mereferensikan kolom atau kumpulan kolom di tabel lain, yang memberlakukan integritas referensial antara dua tabel Tabel yang memiliki kunci asing disebut tabel anak sedangkan tabel yang menjadi referensi kunci asing disebut tabel induk Biasanya, kolom kunci asing di tabel anak merujuk ke kolom kunci utama dari tabel induk Lihat tabel _3 dan 4 berikut dari database sampel 5 6 di tabel 4 adalah kunci asing yang merujuk ke kolom 6 di tabel 3 Untuk setiap baris di tabel _4, Anda dapat menemukan baris yang sesuai di tabel 3 Batasan kunci asing mencegah Anda memasukkan baris ke dalam tabel 4 tanpa baris yang sesuai di tabel 3. Dengan kata lain, suatu negara tidak akan ada tanpa adanya suatu wilayah Sebuah tabel dapat memiliki beberapa kunci asing yang mengacu pada kunci utama dari tabel induk yang berbeda Mendefinisikan batasan kunci asingUntuk menentukan kunci asing untuk tabel, Anda menggunakan batasan kunci asing. Biasanya, Anda menentukan batasan kunci asing untuk tabel pada saat pembuatan tabel Berikut ini mengilustrasikan sintaks mendefinisikan batasan kunci asing
[batasan kendala_nama] referensi kunci asing [fk_name](column_list) parent_table(column_list) [saat menghapus reference_option] [pada pembaruan reference_option] ); Dalam sintaks ini
_9 memberikan tindakan yang akan dilakukan MariaDB saat nilai dalam tabel induk dihapus ( 7) dan/atau diperbarui ( 8). _9 menerima salah satu dari lima nilai berikut dengan efek yang sesuai
Secara default, MariaDB menggunakan opsi _5 jika Anda tidak menentukan klausa 7 atau 8 Menambahkan batasan kunci asing ke tabelUntuk menambahkan batasan kunci asing ke tabel yang sudah ada, Anda menggunakan pernyataan 1
[batasan fk_constraint_name] referensi kunci asing [fk_name](column_list) parent_table(column_list) [saat menghapus reference_option] [pada pembaruan reference_option] Menghapus batasan asing dari tabelUntuk menghapus batasan asing, Anda menggunakan pernyataan 2
Contoh kendala kunci asing MariaDBMari kita ambil beberapa contoh penggunaan batasan kunci asing dengan berbagai opsi referensi Menyiapkan tabel sampelPertama, buat tabel baru bernama 3
Kedua, masukkan beberapa baris ke dalam tabel ________29______3
Ketiga, buat tabel lain bernama 5
Tabel _5 memiliki kunci asing ( 7) yang mereferensikan kolom 7 dari tabel 3
Terakhir, masukkan beberapa baris ke dalam tabel 5
Opsi referensi insert into gadget_types(name) values ('Entertainment'), ('Computing'), ('Communication'), ('Lifestyle'), ('Cameras'); Code language: SQL (Structured Query Language) (sql)_5Pernyataan berikut mencoba untuk menghapus baris dari tabel 3
MariaDB mengeluarkan kesalahan berikut
Kesalahan terjadi karena opsi referensi 5 Untuk menghapus baris dari tabel _3, Anda harus menghapus semua baris referensi dari tabel 5 terlebih dahulu Opsi referensi insert into gadget_types(name) values ('Entertainment'), ('Computing'), ('Communication'), ('Lifestyle'), ('Cameras'); Code language: SQL (Structured Query Language) (sql)_4Pertama, jatuhkan batasan kunci asing 7 dari tabel 5 0 Kedua, tambahkan batasan kunci asing ke tabel 5 dengan opsi 0 dan 1 1 Ketiga, hapus gadget type id 1 dari tabel 3 2 Keempat, kueri data dari tabel 5 3 Seperti yang ditunjukkan dengan jelas dari keluaran, nilai dalam 7 kolom baris dengan 7 1 dari tabel 5 disetel ke nol karena opsi 0. Kelima, perbarui jenis gadget dari 2 menjadi 20 di tabel 3 4 Keenam, kueri data dari tabel 5 3 Nilai-nilai dalam kolom 7 baris dengan 7 2 dari tabel 5 ditetapkan ke nol karena opsi 1. Terakhir, hapus baris anak yatim dari tabel 5 6 Opsi referensi delete from gadget_types where type_id = 1; Code language: SQL (Structured Query Language) (sql)_5Pertama, jatuhkan batasan kunci asing 7 dari tabel 5 0 Kedua, tambahkan batasan kunci asing ke tabel 5 dengan opsi 9 dan 0 8 Ketiga, hapus 1 id 3 dari tabel 3 _9 MariaDB secara otomatis menghapus baris dari tabel 5 yang 7 adalah 3 karena tindakan 5 3 Keempat, update 1 id 4 ke 40. _1 MariaDB secara otomatis memperbarui baris dari tabel 5 yang 7 adalah 4 hingga 40 karena tindakan 0 3 Dalam tutorial ini, Anda telah belajar tentang batasan kunci asing MariaDB dan cara menggunakannya untuk menerapkan integritas referensial antar tabel. Bagaimana cara menambahkan lebih dari satu kunci asing di mysql?Untuk menyisipkan record ke dalam tabel dengan beberapa kunci asing, pertama-tama Anda harus membuat record yang sesuai di tabel yang direferensikan oleh kunci asing di tabel asli. In practice, to insert records into the Employee table, we must first create corresponding records in the Department and Insurance tables.
Bisakah kita menambahkan beberapa kunci asing dalam sebuah tabel?Sebuah tabel dapat memiliki beberapa kunci asing berdasarkan persyaratan .
Bagaimana cara menambahkan kunci asing di phpMyAdmin?Tentukan kunci asing di phpMyAdmin
. Anda akan diberi tabel di mana setiap baris sesuai dengan kolom yang diindeks di tabel referensi Anda ('product_category'). After clicking the 'Relation view' in the 'product_category' table, you can set foreign keys. You will be given a table where each row corresponds to an indexed column in your referring table ('product_category').
Bisakah satu kolom memiliki dua kunci asing?Kolom Kunci Asing
. A single column can have multiple foreign key constraints. |