2012-11-17

database part 1: Fondasi

Apa itu database? database bagi sebagian orang adalah kumpulan data yang dapat digunakan. Itulah konsep yang akan kita gunakan untuk pelajaran database di web atau code igniter. Mungkin kalian sudah bosen dengan pernyataan apa itu DB, saya akan fokus ke praktek. Sebelumnya perhatikan gambar yang saya berikan. Ini adalah termasuk database, dimana database ini terdiri dari nama, tanggal (ngak terlihat), keterangan, status, diskon, harga dan lain-lain.  Data ini selain tampil bisa dicari juga, bahkan bisa di manipulasi, mudahnya pada tanggal. Yang awalnya tanggal memakai standar Amrik, bisa dibuat jadi standar Indonesia.

Database yang akan dibahas adalah database Mysql. Selain data yang ada didalam database, kita juga membahas struktur database yang terdiri dari angka, huruf, dan lain-lain. Struktur ini juga berkaitan berapa panjang dan sifat dari fieldnya (primary, index dan lain-lain). Tapi yang terpenting kita akan membahas table, karena semuanya berhubungan ke table. Dibawah dari database kita mengenal Table. Perlu diketahui, Mysql kita sebut sebagai database engine (mesin database) yang dapat memiliki banyak database. Database ini terdiri dari table, view dan lain-lain. Table sendiri terdiri dari field-field yang tipenya seperti disebutkan di atas angka, huruf dan lain-lain. Data dalam table biasa disebut sebagai Record kalau kita biasa sebut Kolom. Kita juga mengenal Constraint, atau bisa di anggap sebagai kunci untuk definisi sebuah record dengan record lainnya. Constraint ini berguna bila anda ingin berhubungan antar table A dan B bahkan lebih. Standar SQL sebenarnya terdapat 3 jenis kunci yaitu
  • Primary
  • Unique
  • Foreign Key 
  • Check
  • Index

Pengertian di atas dapat dibaca di blog lain. Tetapi saya lebih suka memberikan memakai contoh. Contoh yang paling jelas kita ambil dari data mahasiswa. Mahasiswa memiliki data seperti NIM, Nama, dan lain-lain. NIM disini adalah kode unik yang tidak boleh sama dengan mahasiswa lainnya. Maka NIM ini adalah Primay Key. Primary Key cuma boleh 1!!! kalau ada yang mengatakan primary key bisa 2 atau lebih, sebenarnya yang terjadi, Primary key itu gabungan dari 2-3 field lebih. Sementara itu Foreign Key adalah primary key yang terdapat dari table lain dan menjadi kunci di table, untuk mendapatkan nilainya harus di join dengan table sebelahnya. Contoh yang jelas adalah mahasiswa memiliki kode kampusnya yang merupakan bagian dari table kampus.

Kita juga mengenal unique, field dengan kata unique tidak boleh memiliki kesamaan dengan field lainnya. Memang mirip dengan Primary, perbedaannya unique membolehkan memakai nilai kosong sedangkan primary melarangnya.

Check saya belum pernah pakai. Tapi lebih kepada kendali di field dimana isinya harus A,B dan seterusnya sesuai peraturan/pengaturan dari si programer dan klien.

Terakhir adalah index. Index bisa dibilang bukan kunci penting, tetapi kegunaannya untuk mencari urutan data. Dengan adanya index, pencarian akan lebih cepat. Saya sendiri belum pernah mencoba memanfaatkan index dan mengetahui efektifnya. Tetapi ada bagusnya menambahkan index. Walau itu berarti memperbesar tempat/isi dari table.

Perlu di ingat, alasan memakai mysql adalah karena mysql merupakan teman/pasangan PHP. Dimana ada PHP, disana pasti ada mysql.

Tidak ada komentar: