MySQL Primary Key dan Foreign Key
Website tentu saja membutuhkan database server atau hosting untuk menampung berbagai macam informasi. Berbagai macam data dibutuhkan oleh website seperti username, password, font, URL, dan sejenisnya. MySQL adalah salah satu sistem manajemen database yang biasa digunakan untuk mengelola data tersebut.
Pengertian MySQL
MySQL adalah sebuah database management system (manajemen basis data) menggunakan perintah dasar SQL (Structured Query Language) yang cukup terkenal. Database management system (DBMS) MySQL multi pengguna dan multi alur ini sudah dipakai lebih dari 6 juta pengguna di seluruh dunia.
MySQL adalah DBMS yang open source dengan dua bentuk lisensi, yaitu Free Software (perangkat lunak bebas) dan Shareware (perangkat lunak berpemilik yang penggunaannya terbatas. Jadi, MySQL adalah database server yang gratis dengan lisensi GNU General Public License (GPL) sehingga dapat kita pakai untuk keperluan pribadi atau komersil tanpa harus membayar lisensi yang ada.
Seperti yang sudah disinggung di atas, MySQL masuk ke dalam jenis RDBMS (Relational Database Management System). Maka dari itu, istilah semacam baris, kolom, tabel, dipakai pada aplikasi database ini. Contohnya di dalam MySQL sebuah database terdapat satu atau beberapa tabel.
SQL sendiri merupakan suatu bahasa yang dipakai di dalam pengambilan data pada relational database atau database yang terstruktur. Jadi, MySQL, adalah database management system yang menggunakan bahasa SQL sebagai bahasa penghubung antara perangkat lunak aplikasi dengan database server.
Sejarah MySQL
MySQL adalah pengembangan lanjutan dari proyek UNIREG yang dikerjakan oleh Michael Monty dan TeX (perusahaan perangkat lunak asal Swedia).
Sayangnya, UNIREG belum terlalu kompatibel dengan database dinamis yang dipakai di website. TeX kemudian mencari alternatif lain dan menemukan perangkat lunak yang dikembangkan oleh David Hughes, yaitu miniSQL atau mSQL. Namun, ditemukan masalah lagi karena mSQL tidak mendukung indexing sehingga belum sesuai dengan kebutuhan TeX.
Pada akhirnya muncul kerjasama antara pengembang UNIREG (Michael Monty Widenius), mSQL (David Hughes), dan TeX. Kerjaasama ini bertujuan untuk mengembangkan sistem database yang baru, dan pada 1995 dirilislah MySQL seperti yang dikenal saat ini. Saat ini pengembangan MySQL berada di bawah Oracle.
Mengenal SQL
SQL merupakan bahasa pemrograman yang perlu kita pahami karena dapat merelasikan antara beberapa tabel dengan database maupun antar database. Ada tiga bentuk SQL yang perlu kita ketahui, yaitu Data Definition Language (DDL), Data Manipulation Language (DML), dan Data Control Language (DCL).
Data Definition Language (DDL)
DDL berguna pada saat kita ingin mendefinisikan data di dalam database. Terdapat nenerapa query yang dikelompokkan ke dalam DDL, yaitu:
Argumen DDL di atas perlu kita pahami karena merupakan dasar penggunaan SQL di bagian awal pembuatan database. Contohnya saja jika belum menjalankan perintah "CREATE", Kita belum bisa melanjutkan penggunaan argumen yang lainnya.
Data Manupulation Language (DML)
DML dapat kita pakai setelah menjalankan perintah DDL, DML berfungsi untuk memanipulasi, mengubah, atau mengganti isi dari database (tabel) yang sudah ada.
Terdapat beberapa perintah DML yang perlu kita ketahui, yaitu:
Data Control Language (DCL)
Jika kita sudah mempunyai user dan ingin mengatur hak akses masing-masing user, kita sebaiknya memahami berbagai macam jenis DCL dan cara penggunaannya. DCL berguna untuk memberikan hak akses database, mendefinisikan space, mengalokasikan space, dan melakukan audit penggunaan database.
Terdapat beberapa perintah DCL yang perlu kita ketahui, yaitu:
Primary Key dan Foreign Key
Apa itu Primary Key?Dalam SQL database management system, primary key adalah tanda pengenal unik yang membedakan satu record dari yang lain. Oleh karena itu, Setiap record dalam SQL database management system harus memiliki primary key. Tetapi ada beberapa aturan yang harus kita ikuti ketika menentukan primary key untuk tabel:
- Primary key harus berisi nilai unik. Jika primary key terdiri dari beberapa kolom, kombinasi value pada kolom ini harus unik.
 - Kolom primary key tidak boleh berisi nilai NULL. Ini berarti bahwa kita harus mendeklarasikan kolom primary key dengan atribut NOT NULL. Jika tidak, MySQL akan memaksa kolom primary key sebagai NOT NULL secara implisit.
 - Sebuah tabel hanya memiliki satu primary key.
 
Menggunakan Primary Key Dalam DatabaseUntuk menyertakan primary key dalam database management system menggunakan SQL, kita cukup menambahkannya sebahai atribut normal saat membuat tabel baru. Jadi tabel pelanggan akan berisi empat atribut (atau kolom):
- ID Pemilik Mobil (Primary Key)
 - Nama depan
 - Nama belakang
 - Nomor Telepon
 
Sekarang setiap record pelanggan yang masuk ke database akan memiliki nomor identifikasi unik, serta nama depan, nama belakang, dan nomor telepon. Kenapa ridak nomor telepon yang jadi primary Key? nomor telepon tidak cukup unik untuk dijadikan primary key, karena meskipun unik untuk satu orang pada satu waktu, seseorang dapat dengan mudah mengubah nomornya, artinya nomor itu bisa saja menjadi milik orang lain.Apa itu Foreign Key
Dalam SQL database management system, foreign key adalah pengenal unik atau kombinasi pengenal unik yang menghubungkan dua tabel atau lebih dalam database. Dari empat SQL database management system yang ada, relational database management system adalah yang paling populer.
Saat memutusukan tabel mana dalam database relasional yang harus memiliki foreign key, kita harus terlebih dahulu mengidentifikasi tabel mana yang merupakan subjek dan objek dalam hubungannya.
Kembali ke database sewa mobil, untuk menghubungkan setiap pelanggan ke mobil yang benar, kita harus memahami bahwa pelanggan (subjek) menyewa mobil (objek). Oleh karena itu, foreign key harus ada di tabel mobil. Kode SQL yang menghasilkan tabel dengan foreign key sedikit berbeda dari normal.
Kesimpulan
Jadi apa itu primary key dan foreign key? Primary key adalah aturan-aturan yang berguna agar setiap baris data atau nilai bersifat unik, agar masing-masing baris berbeda satu sama lain. Sedangkan foreign key adalah satu atribute (atau satu set atribute) yang melengkapi satu relationship (hubungan) yang menunjukkan ke induknya.
Sekian pengertian MySQL dan Apa itu Primary Key dan Foreign key semoga bermanfaat bagi kita semua. Sampai jumpa di next artikel yang membahas tentang Tipe Data di MySQL.




Tidak ada komentar:
Posting Komentar