2013-02-05

membuat table yang efektif part 1

Banyak yang bertanya bagaimana membuat table yang efektif. Namun dari semua jawaban yang ada, selalu pernyatan 'Normalisasi' hadir dalam menjawab pertanyaan table yang efektif. Tapi tetap saja walau di normalisasi, terasa table yang anda buat tidak efektif. Malah pernyataan boros hadir dalam pikiran anda. Tapi sebelum lanjut ke arah membuat table yang efektif, mari melihat gambar di atas.

Ini adalah gambar miniatur toko cukur dan toko kamera. Walau terlihat sekilas saya tidak tahu mana yang toko cukur atau toko kamera. Di toko cukur, pelanggan datang untuk meminta cukur dan merapikan rambutnya agar tidak ketinggalan style. Sementara di toko kamera, pelanggan datang untuk membeli dan memperbaiki kamera mereka. Lalu apa hubungan dengan table melalui gambar di atas? jawabannya adalah kita menganogikan table dengan toko tersebut.


DATA DI DALAM TABLE

Tentu hal yang pertama kita perhatikan dalam table adalah datanya. Perhatikan 2 toko di atas, keduanya memiliki data yang berbeda. Tetapi bila kita perhatikan data yang masuk ke toko cukur tidak beraneka ragam dibandingkan dengan data di toko kamera. Tetapi ada yang membedakan yang lain dalam data kedua toko tersebut.

Data di toko cukur memang tidak beraneka ragam, tetapi dalam 1 hari mereka mendapatkan data pelanggan yang tidak sedikit. Tetapi justru lebih banyak dibandingkan dengan data toko kamera. Disini kita melihat bahwa permasalahannya bukan pada atribut (field) dari data tetapi dari jumlah data yang masuk. Dari sinilah kita menemukan bahwa kedua toko memiliki persamaan yaitu pada table yang mereka gunakan yaitu table:

  • pelanggan
  • penjualan
  • stock
  • barang
  • dan table umum lainnya.
Tetapi untuk toko kamera, biasanya memiliki table lain seperti perbaikan yang tidak ditemukan di toko cukur. Namun toko cukur juga memiliki table yang berisi data model rambut terbaru, walaupun table ini tidak dimasukkan kedalam database aslinya, namun intinya sama karena biasanya model rambut ini di pasang di tembok yang tak langsung terlihat bak bagian dari data.


Pada tulisan ini kita akan membahas table yaitu barang. Barang disini sebenarnya akan terisi dengan barang-barang yang memiliki kategori yang sama dan berbeda. Bahkan bila diperhatikan kategori tersebut akan tampak berulang-ulang bahkan tak langsung kita melihat adanya data yang sebenarnya sama tapi di ulang (di sales) yang nantinya bisa di hubungkan ke table barang ini.

FIELD TABLE

Kita melihat salah satu table misalnya barang. Di toko kamera, table ini memang memiliki keterangan yang rumit dan mendetail seperti

  • keterangan film yang digunakan
  • tinggi kamera
  • panjang kamera
  • harga
  • buatan
  • keluaran tahun
  • dan lain-lain
Bandingkan dengan yang ada di toko cukur, mereka mungkin tidak memiliki keterangan sebanyak itu. Umumnya hanya alat/peralatan yang digunakan untuk cukur. Dan dari sinilah kita melihat bahwa table di toko kamera membutuhkan field yang banyak tetapi di toko cukur tidak.

DATA YANG MASUK

Hal utama berikutnya yang dipikirkan dalam membuat table adalah berapa banyak data yang akan masuk kedepannya. Kita akan memakai contoh barang di salon. walau banyak tetapi data yang masuk ke table barang tidak akan banyak, bahkan di salon tidak akan mengganti supliernya. Lain hal bila toko salon ini menjadi besar dan memiliki cabang dimana-mana. Tapi untuk itu kita akan bahas berikutnya.
Sementara di toko kamera, data yang masuk variasinya banyak. Sejalan dengan waktu data itu akan makin banyak bahkan bisa 2-3x lipat dibandingkan milik toko salon. 

KESIMPULAN AWAL

Sebelum lanjut kepada kesimpulan akhir, kita melihat dalam segi data dahulu untuk membuat table. Dari penjelasan di atas kita melihat bahwa akan 
  • banyaknya variasi data yaitu data yang tidak berulang-ulang 
  • atribut/field dari data yang banyak
  • debit masuk data kedalam table
Dari sinilah kita akan banyak belajar bagaimana membuat table yang sesuai. Pemikiran awal dari saya seorang programer adalah membuat sebuah table yang tidak mempersulit kinerjaku saat ini. Pada akhirnya saya melihat bahwa tindakan itu salah. Lalu mulailah berfikir membuat table yang nanti kedepannya tidak akan membuat masalah dan kerugian buatku.

Tapi ternyata beberapa  kasus tidak pantas utnuk penyelesaian tersebut. Mari melihat data barang di toko Salon. Data toko salon bisa dibilang tidak banyak dan tidak berkembang secara cepat! Apalagi keterangan didalamnya tidak banyak walaupun variasinya sendiri juga tidak sebanyak di toko kamera.
Akhirnya model yang ada di toko salon dapat dibuat dengan model yang bisa dibilang amatir?! lalu apa ada masalah bila model tablenya amatir?!? sebenarnya tidak ada yang salah.. Karena kita melihat bagaimana perkembangan data kedepannya (table barang). 

Tapi lain cerita untuk table lainnya, seperti table order yang otomatis akan selalu berkembang. Bagaimana model yang patut untuknya? jawabannya ada di artikel berikutnya.

Tidak ada komentar: