Kunci komposit di meja kerja mysql

Terkadang Anda mungkin perlu membuat kunci primer gabungan yang terdiri dari beberapa bidang, untuk tabel database. Berikut cara membuat kunci primer komposit di MySQL

 

Cara Membuat Kunci Utama Komposit di MySQL

Berikut langkah-langkah membuat composite primary key di MySQL. Anda dapat membuat kunci utama gabungan, baik selama pembuatan tabel menggunakan pernyataan CREATE TABLE, atau setelah membuat tabel menggunakan pernyataan ALTER TABLE. Kami akan melihat kedua contoh ini untuk membuat kunci primer komposit di MySQL

 

Contoh Kunci Utama Komposit MySQL

Berikut cara membuat kunci primer komposit di MySQL selama pembuatan tabel. Katakanlah Anda ingin membuat tabel pesanan (id_pesanan, id_produk, jumlah) dengan kunci utama komposit (id_pesanan, id_produk)

mysql> CREATE TABLE orders_list (
          order_id INT,
          product_id INT,
          amount INT,
          PRIMARY KEY (order_id, product_id)
     ) ;

mysql> describe orders_list;
+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| order_id   | int(11) | NO   | PRI | 0       |       |
| product_id | int(11) | NO   | PRI | 0       |       |
| amount     | int(11) | YES  |     | NULL    |       |
+------------+---------+------+-----+---------+-------+

Dalam kueri di atas, kami telah membuat kunci primer gabungan (order_id, product_id). Pada output di atas, Anda akan melihat PRI disebutkan di kolom Key untuk order_id, product_id menunjukkan bahwa keduanya adalah bagian dari primary key

Bonus Baca. Cara Memotong Tabel di MySQL

 

Tambahkan Kunci Utama Komposit di Tabel yang Ada

Berikut contoh cara menambahkan composite primary key pada tabel yang sudah ada. Katakanlah Anda memiliki tabel berikut

mysql> CREATE TABLE new_orders (
         order_id INT,
         product_id INT,
     amount INT
     ) ;

mysql> describe new_orders;
+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| order_id   | int(11) | YES  |     | NULL    |       |
| product_id | int(11) | YES  |     | NULL    |       |
| amount     | int(11) | YES  |     | NULL    |       |
+------------+---------+------+-----+---------+-------+
_

Seperti yang Anda lihat tabel new_orders tidak memiliki primary key. Inilah kueri SQL untuk menambahkan kunci primer komposit menggunakan ALTER TABLE

Bonus Baca. TAMPILAN DROP MySQL

 

mysql> alter table new_orders ADD PRIMARY KEY (order_id, product_id);

mysql> describe new_orders;
+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| order_id   | int(11) | NO   | PRI | 0       |       |
| product_id | int(11) | NO   | PRI | 0       |       |
| amount     | int(11) | YES  |     | NULL    |       |
+------------+---------+------+-----+---------+-------+

Perlu diketahui, Anda tidak dapat membuat kunci primer komposit MySQL dengan penambahan otomatis

Bonus Baca. Cara Membuat Indeks di MySQL

 

Indeks Kunci Utama Komposit MySQL

Anda dapat membuat indeks untuk kunci utama gabungan yang menggunakan bidang yang sama yang ada di kunci utama gabungan Anda

Setiap entri dalam tabel diidentifikasi secara unik oleh batasan PRIMARY KEY. Kunci utama harus memiliki nilai UNIK dan tidak boleh memiliki nilai NULL. Sebuah tabel hanya dapat memiliki SATU kunci utama, dan kunci utama ini dapat terdiri dari satu atau banyak kolom (bidang)

Apa itu Kunci Utama Komposit?

Sumber Gambar

Kunci Utama Komposit dibuat dengan menggabungkan dua atau lebih kolom dalam tabel yang dapat digunakan untuk mengidentifikasi secara unik setiap baris dalam tabel saat kolom digabungkan, tetapi tidak menjamin keunikan saat diambil secara terpisah, atau dapat juga dipahami sebagai

Catatan.  

  • Kunci Utama Komposit juga dapat dibuat dengan kombinasi lebih dari satu kunci kandidat
  • Kunci Utama Komposit tidak boleh nol

Bagaimana Cara Membuat Kunci Utama Komposit MySQL?

Anda dapat membuat Kunci Utama komposit MySQL dengan dua cara berikut

  • Selama pembuatan tabel menggunakan pernyataan CREATE TABLE
  • Setelah membuat tabel menggunakan pernyataan ALTER TABLE

Kami akan melihat kedua contoh ini untuk membuat kunci primer komposit MySQL

Cara-cara berikut adalah

1) Membuat Kunci Utama Komposit MySQL saat Pembuatan Tabel

Untuk membuat kunci utama komposit MySQL selama pembuatan tabel, Anda dapat mengikuti langkah-langkahnya

Misalnya Anda ingin membuat Pelanggan dengan kolom kolom (id_pesanan, id_produk, jumlah) dengan kunci utama Komposit MySQL (id_pesanan, id_produk)

mysql> CREATE TABLE Customers (
          order_id INT,
          product_id INT,
          amount INT,
          PRIMARY KEY (order_id, product_id)
     ) ;

Dalam cuplikan di atas, MySQL Composite primer dibuat dengan nama kolom order_id dan product_id

Anda dapat memverifikasi hal yang sama menggunakan perintah seperti di bawah ini

mysql> Describe Customers;
_

Keluaran

+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| order_id   | int(11) | NO   | PRI | 0       |       |
| product_id | int(11) | NO   | PRI | 0       |       |
| amount     | int(11) | YES  |     | NULL    |       |
+------------+---------+------+-----+---------+-------+

Setelah berhasil menjalankan kueri di atas, Anda dapat melihat bahwa kolom Kunci memiliki dua PRI. Artinya Anda telah berhasil menambahkan MySQL Composite Primary key pada kolom order_id dan product_id

Selanjutnya, Anda perlu memasukkan nilai ke dalam tabel ini seperti yang diberikan di bawah ini

INSERT INTO Customers (order_id, product_id, amount)  
VALUES (101, 509, 800),  
(102, 610, 799),  
(103, 702, 650);
_

Selanjutnya, Anda dapat menjalankan perintah berikut untuk menampilkan data dalam tabel

SELECT * FROM Customers;  

Keluaran

+---------------+---------------+--------+
| order_id      | product_id    | amount |
+---------------+---------------+--------+
| 101           | 509           | 800    |
| 102           | 610           | 799    | 
| 103           | 702           | 650    |   
+---------------+---------------+--------+
_

Sekali lagi Anda dapat menjalankan pernyataan INSERT di bawah ini untuk memahami kunci Utama Komposit MySQL dengan kejelasan yang lebih baik

INSERT INTO Customers (order_id, product_id, amount)  
VALUES (103, 702, 699);  
  
INSERT INTO Customers (order_id, product_id, amount)
VALUES (103, 870, 599);  
_

Dalam keluaran yang diberikan di bawah, Anda dapat melihat bahwa jika Anda mencoba menambahkan id pesanan dan id produk yang sama, ini akan memunculkan pesan kesalahan. “Entri duplikat untuk konsumen. utama"

Jika Anda mengeksekusi pernyataan INSERT kedua, itu akan berhasil ditambahkan ke dalam tabel. Itu karena Anda dapat memasukkan nomor 103 di kolom order_id, tetapi kolom product_id harus berbeda

Akibatnya, kunci Utama Komposit MySQL selalu menjamin keunikan kolom tabel tersebut, yang memiliki dua kunci

2) Menambahkan Kunci Utama Komposit MySQL di Tabel yang Ada

Pernyataan ALTER selalu digunakan untuk membuat tabel modifikasi. Untuk mengidentifikasi secara unik setiap record dalam database dengan lebih dari satu atribut, MySQL Composite Primary Key terkadang diperlukan. Dalam hal ini, pernyataan ALTER TABLE dapat digunakan

Di bawah ini diberikan contoh cara menambahkan MySQL Composite Primary Key pada tabel yang ada. Katakanlah Anda memiliki tabel berikut

Pertama, Anda dapat membuat tabel "Pesanan" menggunakan pernyataan di bawah ini

mysql> CREATE TABLE Orders (
         order_id INT,
         product_id INT,
         amount INT
     ) ;

Selanjutnya, Anda dapat menjalankan perintah berikut untuk menampilkan data dalam tabel

mysql> Describe Orders;

Keluaran

+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| order_id   | int(11) | YES  |     | NULL    |       |
| product_id | int(11) | YES  |     | NULL    |       |
| amount     | int(11) | YES  |     | NULL    |       |
+------------+---------+------+-----+---------+-------+

Seperti yang Anda lihat, tabel Orders tidak memiliki Primary Key karena tidak ada penyebutan PRI di kolom Key pada tabel sebelumnya.

Sekarang, Anda dapat menjalankan pernyataan ALTER TABLE untuk menambahkan kunci Utama Komposit MySQL sebagai berikut

mysql> Describe Customers;
_0

Anda dapat memverifikasi kunci Utama Komposit MySQL ditambahkan ke dalam tabel atau tidak menggunakan perintah berikut

Anda dapat menggunakan perintah berikut untuk memverifikasi apakah kunci Utama Komposit MySQL telah ditambahkan ke tabel

mysql> Describe Orders;

Keluaran

+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| order_id   | int(11) | NO   | PRI | 0       |       |
| product_id | int(11) | NO   | PRI | 0       |       |
| amount     | int(11) | YES  |     | NULL    |       |
+------------+---------+------+-----+---------+-------+

Pada output, kita dapat melihat bahwa kolom kunci memiliki 2 PRI, yang berarti kita telah berhasil menambahkan kunci primer gabungan ke kolom order_id dan product_id 

A) Indeks Kunci Utama Komposit MySQL

Anda dapat membuat indeks kunci Primer Komposit MySQL yang menggunakan kolom yang sama dengan kunci Primer Komposit MySQL Anda

mysql> Describe Customers;
_3

Kesimpulan

Pada artikel ini, Anda telah mempelajari tentang MySQL Composite Primary Keys. Artikel ini juga memberikan informasi tentang MySQL, fitur utamanya, Kunci Utama, Kunci Utama Komposit, dan berbagai metode pembuatan Kunci Utama MySQL secara detail. Untuk informasi lebih lanjut tentang Skema MySQL, Tampilan MySQL, Koneksi JSON MySQL, Anda dapat mengunjungi tautan sebelumnya

Hevo Data, No-code Data Pipeline memberi Anda solusi yang konsisten dan andal untuk mengelola transfer data antara berbagai sumber dan berbagai Tujuan yang Diinginkan dengan beberapa klik

Kunjungi Situs Web kami untuk Menjelajahi Hevo

Hevo Data dengan integrasinya yang kuat dengan 100+ sumber data (termasuk 40+ Sumber Gratis) memungkinkan Anda untuk tidak hanya mengekspor data dari sumber data yang Anda inginkan & memuatnya ke tujuan pilihan Anda, tetapi juga mengubah & memperkaya data Anda untuk menjadikannya analisis . Hevo juga memungkinkan pengintegrasian data dari sumber non-asli menggunakan Konektor Webhook bawaan Hevo. Anda kemudian dapat fokus pada kebutuhan bisnis utama Anda dan melakukan analisis mendalam menggunakan alat BI.  

Ingin mencoba Hevo?

Mendaftar untuk uji coba gratis selama 14 hari dan rasakan langsung suite Hevo yang kaya fitur. Anda juga dapat melihat harga yang luar biasa, yang akan membantu Anda dalam memilih paket terbaik untuk kebutuhan Anda

Bagikan pengalaman Anda dalam memahami Kunci Utama Komposit MySQL di bagian komentar di bawah. kami akan sangat senang menerima pendapat Anda

Bagaimana cara mengatur kunci komposit di meja kerja MySQL?

Jika Anda ingin membuat kunci utama gabungan, Anda dapat memilih beberapa kolom dan mencentang kotak centang PK . Namun, ada langkah tambahan yang diperlukan, Anda harus mengklik tab Indexes, kemudian di panel Index Columns Anda harus mengatur urutan primary key yang diinginkan.

Bagaimana cara menambahkan kunci komposit di MySQL?

Sekarang, Anda dapat menjalankan pernyataan ALTER TABLE untuk menambahkan kunci Utama Komposit MySQL sebagai berikut. mysql> tabel ubah Pesanan ADD PRIMARY KEY (order_id, product_id);

Apa itu kunci komposit di MySQL?

Composite key di SQL dapat didefinisikan sebagai kombinasi beberapa kolom , dan kolom ini digunakan untuk mengidentifikasi semua baris yang ada . Meskipun satu kolom tidak dapat mengidentifikasi baris apa pun secara unik, kombinasi lebih dari satu kolom dapat mengidentifikasi catatan apa pun secara unik.

Apakah MySQL mendukung kunci primer komposit?

MySQL juga mendukung kunci komposit . Ini adalah kunci unik yang menggunakan kombinasi dua kolom atau lebih untuk mengidentifikasi setiap record secara unik.