Tata Cara berTanya topik Database

Tidak selamanya yang kita kerjakan berjalan lancar. Terutama pekerjaan yang menuntut kreatifitas untuk solusinya.

Ketika sudah buntu atau perlu inspirasi kita coba mencari bantuan. Baik ke rekan kerja, mencari solusi di-internet atau bertanya pada forum.


Bertanya diforum, memerlukan tata cara tertentu agar mendapatkan respon dari penjawab. Apabila ada respon setidaknya peluang solusi lebih besar.


Untuk permasalahan database kadang kita perlu sedikit usaha agar respon lebih baik. Diluar etika bertanya dan penyajian yang jelas.


Dan jangan lupa melihat dari sisi pejawabnya juga. Calon penjawab tidak selamanya punya waktu banyak untuk memberikan respon dan mereka juga bukan siapa-siapanya penanya ('perintah/tuntutan/desakan/rengekan' tidak berarti apa-apa dan malah akan memperkecil peluang direspon).


Mencari solusi untuk urusan database, cukup mudah membuat penjawab kehilangan mood. Karena untuk ini termasuk cukup luas, seperti halnya membahas architecture system application.


Oleh karena itu, kita akan melihat hal-hal apa saja yang perlu dilakukan agar penyajian pertanyaan mendapatkan perhatian dan peluang mendapatkan solusinya.



Environment

Perlu diingatkan sekali lagi. Kita adalah pekerja technologist. Dari sepengetahuan pada umumnya, kita tidak pernah atau jarang sekali belajar soal paranormal; mungkin dari beberapa pernah belajar itu. Dan kemampuan membaca pikiran bukan specialis kita.


Jadi sebagai penanya alangkah baiknya bila menjelaskan pikirin atau hal yang perlu diketahui oleh penjawab.


  •    database apa yang dipakai.
  •    RDBMS atau NoSQL atau model lainnya.
  •    Versi database-nya, beda versi bisa beda fasilitas.
  •    Lokasi, on-premise/lokal atau cloud atau hybrid.
  •    Hardware, dari CPU, Memory dan Storage (RAID, Fiber Channel dan lainnnya).
  •    Implementasi IT-nya, seperti Clustering atau Sharding.
  •    Tingkat sekuriti yang digunakan, kadang ada beberapa fitur yang hanya admin yang punya akses.


Dan info-info lainnya yang dirasa perlu diketahui. Terutama ada urusan sama pertanyaan infrastructure database.


Untuk public forum kebanyakkan pertanyaanya akan mengarah query atau cara berinteraksi dengan data yang ada.

Yang perlu diperhatikan untuk jenis pertanyaan ini adalah:


Structure Data - Table, Index, Relasi, Constraint (untuk RDBMS) atau model data (untuk NoSQL)

Dengan menyertakan informasi ini, biasanya akan membantu untuk operasi modifikasi, tunning atau hal lainnya.


Yang sederhana, cascade delete; bisa terjadi karena ada contraint (index key yang berhubungan). atau update lambat, bisa terjadi karena terlalu banyak index.


Data Awal.

Informasi seperti ini sangat diperlukan, karena ini data yang kita mau olah.

Seperti kalau kita mau merangkum data dari dua table yang berbeda. Dari sana kita bisa melihat hubungan data diluar hubungan yang terlihat pada structure-nya.

Terlihat pada gambar dibawah, data didalam table-table itu akan membantu penjawab memahami data yang ada.


Table pasien yang memiliki hubungan secara data dengan gambar table dibawahnya.

pasien-tb.pngpasien-tb.png


Dan ini table status-pasien-nya, sebagai data penyertanya.

stat-pasien-tb.pngstat-pasien-tb.png


Gambar diatas diambil dari Sintaks SQL tampilkan data sesuai status terbaru dari id yang sama

Sebagai contoh pertanyaan yang cukup lengkap.


Dan lebih membantu lagi apabila data tersebut dibuatkan untuk setupnya (seperti membuat script untuk membuat table/index dan data-nya).

Karena ini berhubungan erat dengan data, maka penjawab memerlukan data yang sama untuk membantu penanya.


Ini kadang yang banyak penjawab tidak jadi menjawab karena harus membuat data untuk mesimulasi yang dimaksud penanya.

Sangat membantu sekali apabila penanya menyediakan lingkungan agar penjawab tinggal memeriksa data dan menganalisa.

Contoh penanya bisa menggunakan SQL Fiddle.



Solusi

Penanya juga diharapkan memberikan informasi seperti apa target hasil data yang dihasilkan. Seperti pada gambar dibawah.

target.pngtarget.png


Dengan begitu penjawab bisa melihat atau setidaknya bisa mendapatkan hubungannya dengan data awal.


Dan yang penting sekali adalah logika kenapa target result itu bisa dihasilkan.

Jelaskan sedetailnya, kenapa hasilnya bisa seperti itu.

Dari pehitungan manual atau pengabungan data atau logik lainnya.


Tentu juga perlu disertakan apa yang sudah dilakukan.

Karena dari situ penjawab juga bisa melihat lebih jelas apa yang penanya ingin lakukan.

Bisa saja, penanya sudah membuat solusi-nya tapi masih belum sesuai dengan target diatas.


Seperti query dibawah, masih tidak sesuai dengan keinginan penanya. Setidaknya penanya ada usaha dan penjawab juga tergerak untuk menganalisa usahanya.


Pada dasarnya penjawab juga senang membantu penanya sambil menyegarkan pengetahuan penjawab, practice makes perfect.


carbon.pngcurrent.png


Kesimpulan

Tulisan ini dibuat untuk menjembatani penanya dan penjawab agar menghasilkan solusi yang tepat dan cepat.


Memang perlu banyak usaha dari penanya tapi ini memang diperlukan untuk mendapatkan respon yang baik juga.


Dan tidak lupa bagi penanya agar menutup pertanyaan apabila dirasa sudah mendapatkan solusi terbaik. Perlunya ditutup pertanyaan agar penjawab tahu bahwa solusi mereka bisa menjawab dan juga agar teman-teman lainnya bisa belajar dari kasus dan solusi yang dipaparkan penanya.

avatar soeleman

Ditulis oleh @soeleman

"kepepet developer"