Juli 7

Query untuk melihat structure table

Setelah melewati 3 hari yang melelahkan, ingin kembali menulis kembali. Yuph, 2 hari akhir pekan merenovasi rumah di bogor, dan sehari ke rumah sakit seharian untuk imunisasi anak. Tak habis bahan untuk saya ulas, kali ini saya ingin membagikan query untuk melihat bagaimana struktur sebuah tabel maupun tabel-tabel dalam database.

Langsung aja ke inti utama yang akan saya sharing. Jadi, ceritanya saya ingin membuat dokumentasi berupa Data Dictionary untuk semua database yang dipakai. Task ini saya berikan kepada developer saya saat ia sedang tidak terlalu berat task. Setiap point merupakan sebuah penjelasan untuk semua tabel yang ada dalam setiap database dimana di dalamnya terdapat penjelasan mana yang merupakan tabel PK, FK, apakah nullable, apa tipe data dan berapa lengthnya, dan apakah ia unik. Yuph, kira2 semacam itu, dan teman-teman dapat menggunakan query ini untuk mendapatkan data lainnya dari tabel-tabel tersebut tentunya.

Pada contoh kali ini, saya menggunakan database pada contoh-contoh saya sebelumnya yakni database Akademik. Untuk query database, teman-teman dapat mendownload query database pada contoh kali ini pada link berikut :

https://drive.google.com/file/d/1KYiT2H_uPhfzMDJ8ZZclxBy685uXUFs1/view?usp=sharing

Atau teman-teman dapat me-restore-nya dengan menggunakan file bak pada link berikut :

https://drive.google.com/file/d/1dm7TsHlJqpG1YaQHBnq7r2g0lAJCrLLd/view?usp=sharing

Saya asumsikan teman-teman sudah memiliki databasenya. Teman-teman akan melihat secara singkat struktur key seperti berikut :

Table Structure

Ada dua kasus yang akan saya gunakan saat ini :

  • Saya ingin melihat semua struktur pada tabel Siswa, maka query yang dapat digunakan sebagai berikut :

Maka hasilnya akan seperti berikut :

Get Structure Table

  • Saya ingin melihat semua struktur dari semua tabel yang ada pada database Akademik, maka query yang dapat digunakan sebagai berikut :

Maka hasilnya akan seperti berikut :

Get All Structure Table

Demikian sharing sedikit dari saya untuk mendapatkan semua struktur tabel yang ada. Mudah-mudahan bermanfaat buat teman-teman semua untuk mempermudah dalam mendapatkan informasi dari sebuah database terutama bagi yang sering berhubungan dengan database.

Sekian dari saya, terima kasih dan selamat beristirahat… 😀

Juni 24

Query untuk mencari kolom berdasarkan value

Malam yang dingin, diiringi kopi hangat, suasana yang sangat cocok untuk berbagi. Hari ini saya mendapatkan sebuah request untuk mencari tahu mengapa permasalahan beberapa data yang diminta oleh client. Namun, saya bukan ingin membahas permasalahan apa yang terjadi, tapi dalam pencarian permasalahan tersebut saya dihadapkan pada sebuah permasalahan lain. Apakah itu? Jreng…jreng…hehe…

Yuph, data yang saya dapat ini berada pada tabel apa sih? Kalaupun dapat tabelnya, di kolom apa? Saya pun berinisiatif untuk membuat sebuah Stored Procedure untuk memecahkan masalah saya itu. Nah, pada tulisan saya kali ini, saya ingin membagikan Stored Procedure yang telah saya buat tersebut. Mungkin bisa jadi teman-teman mengalami permasalahan yang sama. Berikut query full Stored Procedure saya :

Di sini coba saya jelaskan beberapa parameter yang digunakan dalam Stored Procedure tersebut :

  • DatabaseName : Parameter ini sifatnya mandatory. Teman-teman harus mengisi pencarian data tersebut akan dilakukan pada database apa.
  • Value : Parameter ini bersifat optional dengan default value nya string kosong. Parameter ini diisi dengan value yang akan dicari.
  • TableName : Parameter ini bersifat optional dengan default value nya null. Parameter ini diisi dengan nama tabel tempat akan dilakukan pencarian. Bila teman-teman tidak menggunakan parameter ini, maka secara default pencarian dilakukan pada semua tabel yang ada pada database yang teman-teman isi.
  • TableSchemaName : Parameter ini bersifat optional dengan default value nya dbo. Parameter ini diisi dengan nama skema tabel tempat akan dilakukan pencarian.

Untuk contoh cara penggunaannya saya akan membagi dengan beberapa case berikut :

  • Kita ingin mencari data dengan value ‘Pusporenggo’ di database Akademik berada pada kolom dan tabel apa. Pencarian dilakukan pada semua tabel dengan schema default yakni dbo, sehingga kita dapat mengetahui semua table beserta kolomnya yang memiliki value tersebut. Maka perintahnya akan menjadi berikut :

    Dan hasilnya akan seperti berikut :
    Sample 1
    Maka jika kita lakukan perintah SELECT dengan filter pada kolom tersebut di tabel tersebut, maka hasilnya akan seperti berikut :
    Result Sample 1

  • Kita ingin mencari data dengan value ‘Pusporenggo’ di database Akademik berada pada kolom apa. Pencarian dilakukan pada tabel siswa dengan schema default yakni dbo, sehingga kita dapat mengetahui semua kolom yang memiliki value tersebut. Maka perintahnya akan menjadi berikut :

    Dan hasilnya akan seperti berikut :
    Sample 2
    Maka jika kita lakukan perintah SELECT dengan filter pada kolom tersebut di tabel tersebut, maka hasilnya akan seperti berikut :
    Result Sample 2

Bila teman-teman kesulitan untuk menyalin query Stored Procedure saya, teman-teman juga dapat melakukan download querynya pada link berikut :

https://drive.google.com/file/d/1ZydC2zpmp1wSlAyh0ZIfOCuEHCNUJHWo/view?usp=sharing

Akhir kata, semoga tulisan saya dapat bermanfaat khususnya bagi yang mengalami permasalahan yang sama. Terima kasih dan selamat beristirahat…. 😀