Cara hapus primary key di phpmyadmin

Kita sudah mempelajari bagaimana caranya menambahkan index pada tabel. Selanjutnya kita akan membahas bagaimana cara menghapus index dari tabel.
Untuk menghapus index yang bukan merupakan primary key, kita dapat menggunakan DROP INDEX.

DROP INDEX nama_index ON nama_table;

Sintaks membutuhkan nama tabel karena nama index yang sama dapat digunakan di beberapa tabel berbeda.

Primary key dalam tabel MySQL selalu bernama PRIMARY (tidak case sensitive). Tetapi karena PRIMARY merupakan sebuay keyword dalam query MySQL maka penggunaan nya harus menggunakan kutip terbalik (`) yang ada di ujung atas kiri keyboard.

DROP INDEX `PRIMARY` ON nama_table;

Alternatif Lainnya dengan menggunakan ALTER TABLE ... DROP Index

ALTER TABLE nama_table DROP INDEX nama_index;

Untuk menghapus primary key dengan ALTER table tidak perlu kutip terbalik kali ini karena PRIMARY memang merupakan bagian dari sintaks.

ALTER TABLE nama_table DROP PRIMARY KEY;

Sebagai contoh kita akan menghapus index yang ada pada tblCategory.
Pertama-tama kita cek dulu keberadaan index dalam tabel tblCategory dengan query sebagai berikut:
SHOW INDEX FROM tblcategory

Cara hapus primary key di phpmyadmin



DROP INDEX categoryname_idx ON tblcategory;

Ketika kita cek lagi dengan
SHOW INDEX FROM tblcategory

Index sudah terhapus, menyisakan 1 yaitu Primary Key saja.

Cara hapus primary key di phpmyadmin


Jika ingin membuat database di MySQL maka hal yang harus dikuasai dengan baik adalah cara menentukan dan membuat Primary Key dan Foreign Key.

Sebut saja kita ingin  membuat database penjualan barang, maka perhatikan apa proses dan entitas yang terlibat dan harus disimpan di database. Barang memiliki kode, nama, harga, deskripsi dll. Barang bisa disebut sebagai entitas dan (kode,nama,harga,deskripsi dll) dapat disebut attribute.

Selanjutnya saat ingin menjual barang maka dapat diketahui bahwa ini adalah proses (Menjual). Ketika menjual maka yang hendak disimpan adalah data penjualan. Maka sebutkan semua hal yang harus disimpan saat penjualan terjadi, semua hal tersebut harus diwakilkan oleh sebuah id unik untuk dapat disimpan dan dikenali di database.

Pahami database sebagai hal yang memang terjadi di keseharian kita, saat barang berhubungan dengan penjualan maka akan ada relasi yang harus dibuat. Dengan hal itu membuat database akan menjadi lebih mudah karena keadaan sudah diketahui. Begitu juga saat tabel lain ditambah ke database penjualan yang sedang dibuat, seperti tabel customer. Saat penambahan tabel costumer tersebut dilakukan hendaknya terlebih dahulu kamu memiliki alasan kenapa tabel tersebut ditambahkan.

APA itu Primary Key dan Foreign Key?

Pengertian Primary Key

Primary Key adalah suatu kolom yang dipilih untuk menjadi id untuk setiap baris data sebuah tabel.  Banyak pakar telah membahas pengertian Primary Key ini. Merujuk pada pengertian primary key dari javatpoint Nilai dari primary key merupakan suatu yang unik.

Untuk lebih mudah dipahami, uraian definisi Primary Key kita bawa ke study kasus database penjualan tadi dimana kita telah membahas tentang tabel barang, penjualan dan customer.

Konsep diawal tadi kita analisa database dengan mengenal istilah Entitas dan Atribut. Barang adalah entitas dan atributnya adalah kode,nama, harga dan deskripsi. Saat membuat tabel di database penjualan, entitas Barang adalah nama tabel dan atribut kode,nama, harga dan deskripsi  adalah kolom seperti Berikut

Tabel Barang

Contoh Tabel Barang

Dari tabel di atas Primary key dipilih dari salah satu kolom/atribut yang ada. Primary key harus merupakan data yang unik maksudnya data yang terdapat pada kolom yang dipilih tidak memiliki data yang sama.

Perhatikan data nama, terdapat ada 2 nama yang sama. Demikian juga dengan data harga ada pula data yang sama. Untuk deskripsi mesikipun tidak memilik data yang sama namun sebaiknya kolom yang berisi data dengan spasi tidak dijadikan unik key. Satu – satunya yang memenuhi syarat untuk menjadi primary key adalah kode.

Kode memiliki nilai yang berbeda dan bisa disebut sebagai unik identifikasi untuk setiap baris data. Namun apakah kode bisa dijadikan primary key? Jawaban untuk sementara bisa digunakan untuk primary key jika data kode barang seperti data tabel di atas.

Namun bagaimana jika kebutuhan menyimpan barang semakin banyak sehingga kode barang menjadi sangat bervariasi seperti C001 atau D0-001 atau KM IN.

Hal ini akan menimbulkan masalah di kemudian hari. Kode barang menjadi data yang tidak beraturan lagi dan rawan perbedaan tipe data.

Nah jika sudah begini solusinya bagaimana?? Apakah kode masih menjadi atribut yang ideal untuk dijadikan Primary Key? Tentu saja jawabannya tidak

Untuk mengantisipasi primary key yang tidak ideal di atas maka sebaiknya Primary Key Dibuat sebagai data yang sudah memiliki jumlah tetap dan memiliki type data sama.

Dalam hal di atas jika kode barang berubah-ubah bentuknya maka buatlah atribut/kolom baru dengan nama id_barang yang mana datanya dapat dikontrol secara internal. Buatlah id_barang auto increment sehingga datanya memiliki tipe data yang sama seperti ineger atau biginteger. Atau jika ingin menggabungkan data integer dan string seperti A0001 buatlah inputnya menjadi teratur dan dikontrol sebelum dimasukkan ke database.

Membuat database dengan tipe A0001 ini dikenal dengan id dengan prefix. Kemampuan programming sedikit diperlukan untuk membuat format ini.

Pengertian Foreign Key

Foreign Key adalah Satu attribute atau kolom yang terdapat pada tabel anak. Atribut atau kolom ini merupakan primary di kolom induk.

Seperti contoh di atas id_barang akan menjadi foreign key di tabel penjualan. Tabel barang dapat disebut sebagai tabel induk dan tabel penjualan disebut sebagai tabel anak.

Ilustrasi lain yang dapat memudahkan memahami konsep antara tabel anak dan tabel induk dapat dilihat pada data provinsi dan kabupaten seperti gambar di bawah ini

Contoh Tabel Induk Provinsi dan Tabel Anak Kabupaten

Ilustrasi tabel anak dan tabel induk adalah bagian termudah untuk memahami foreign key.

Dari tabel di atas provinsi adalah induk dari kabupaten. Saat membuat foreign key maka id_provinsi akan dibuat menjadi kunci tamu di tabel kabupaten.

Kabupaten sebagai anak dari provinsi adalah hal yang memang kita temui di lapangan. Untuk menjadikan Kabupaten sebagai anak dari propinsi maka id_provinsi harus menjadi foreign key di tabel kabupaten.

Contoh Lain tabel fakultas dan tabel jurusan. Jurusan adalah sublevel dari fakultas. Saat ingin menjadikan jurusan sebagai sublevel fakultas, maka id_fakultas harus menjadi foreign key di tabel jurusan. Silahkan terapkan pada phpmyadmin seperti cara di bawah ini.

Cara Membuat Primary Key dan Foreign Key di MySQL PHPMyAdmin

Studi kasus tabel provinsi dan kabupaten. Setiap kabupaten memiliki induk yaitu provinsi.

Buatlah database terlebih dahulu dengan membuka pehpmyadmin. disini database yang digunakan adalah indonetsource. tabel yang akan dibuat adalah tabel provinsi dengan primary key id_provinsi dan tabel kabupaten dengan primary key id_kabupaten.

Foreign key berada di tabel anak yaitu tabel kabupaten.

Masing – masing tabel adalah sebagai berikut:

1.  Tabel induk provinsi 

Amati kolom “action”, sebuah attribut dapat dijadikan primary dengan mengklik tanda kunci / text Primary pada kolom Action. Setelah di klik maka ikon kunci akan muncul pada atribut seperti di bawah ini

2.  Tabel anak (kabupaten)

Tabel Kabupaten

Untuk membuat tabel kabupaten kita memerlukan tiga buah atribut atau kolom. Satu kolom yang menjadi tambahan adalah kolom id_provinsi yang menjadi foreign key.

3. Selesaikan Foreign Key dengan membari index pada id_provinsi

Buka tabel anak disini(kabupaten) dan beri index foreign key untuk atribut id_provinsi. Untuk memberi index buka tabel kabupaten klik “Relation view” dan ceklist kolom id_provinsi dan klik index.

Cara hapus primary key di phpmyadmin
Index tabel

Membuat Relasi dan Constraint Foreign Key

Tujuan adanya foreign key adalah untuk bisa direlasikan data di tabel induk dan tabel anak. Saat relasi dibuat juga diperlukan batasan apakah data induk boleh dihapus saat datanya tersimpan sebagai foreign key di tabel anak.

Data induk sebaiknya tidak boleh di hapus jika foreign keynya masih tersimpan di tabel anak. untuk mebuat constraint ini silahkan ikuti langkah berikut.

1. Design relasi dan constraint on delete dengan memilih Menu Restrict pada menu designer saat create relation di terapkan ke tabel provinsi dan kabupaten

Cara hapus primary key di phpmyadmin

3. Hasil akhir

Cara hapus primary key di phpmyadmin
Contoh Relasi dengan Constraint

Silahkan isikan data ke tabel provinsi dan tabel kabupaten lakukan test Constraint.

jika constraint berjalan dengan benar maka saat menghapus data provinsi yang telah digunakan sebagai foreign key di tabel kabupaten akan memunculkan error seperti di bawah ini

Apakah primary key bisa null?

Aturan ini diterapkan untuk primary key dari sebuah tabel, yakni atribut yang merupakan primary key tidak boleh bernilai null.

Apakah primary key dapat diubah?

Primary key merupakan tautan unik ke informasi terkait di tabel lain di mana tempat kunci utama digunakan. Jadi, kunci ini harus dimasukkan ketika catatan dibuat dan tidak boleh diubah.

Primary key buat apa?

Dalam dunia database, primary key adalah tabel relasional yang digunakan untuk mengidentifikasi setiap record. Database menggunakan kunci untuk membandingkan, mengurutkan, menyimpan catatan, dan membuat hubungan antar catatan. Memilih primary key dalam database adalah salah satu langkah terpenting dalam prosesnya.

Apakah 1 tabel Bisa 2 primary key?

Syarat dari Primary Key Namun dalam menentukan kunci primer, terdapat beberapa syarat yang harus Anda penuhi antara lain: Tabel hanya bisa memiliki satu kunci primer.