php-spesifikasi-basis-data

Program PHP untuk Menampilkan Spesifikasi Basis Data

Spesifikasi Basis Data menggambarkan struktur data fisik pada suatu sistem atau aplikasi. Spesifikasi basis data menyajikan bagaimana penyimpanan data dilakukan di software basis data. Di dalam dokumentasi sistem, termasuk dalam laporan KKP dan skripsi, spesifikasi basis data juga perlu ditampilkan. Bentuk dari spesifikasi basis data sendiri secara umum berupa tabel yang menyajikan informasi field untuk seluruh tabel yang digunakan. Informasi field yang ditampilkan antara lain nama field, tipe field, panjang field dan field yang menjadi field kunci (primary key).

Secara sederhana, untuk membuat spesifikasi basis data, kita dapat menggunakan Microsoft Word atau Open Office Writer. Informasi tabel dan field berasal dari hasil analisis sistem berupa class diagram atau ERD (Entity Relationship Diagram). Nah dari spesifikasi basis data barulah dibuat struktur tabel di suatu DBMS seperti MySQL atau Oracle. Setelah tabel-tabel di DBMS siap, barulah program (aplikasi) dibangun.

Itu adalah proses idealnya. Dalam kenyataannya seringkali kebalik. Struktur tabel dan program dibangun terlebih dahulu, baru dokumentasinya dibuat belakangan. Kondisi ini juga banyak dilakukan oleh temen-temen kita, mahasiswa yang lagi menyusun skripsi atau KKP. Program dan aplikasi dikerjain duluan, baru laporan belakangan.

Bukannya bermaksud “meng-amini” proses pengembangan aplikasi yang kebalik tersebut, namun semoga program kecil berikut ini bisa berguna. Program berikut ini dibuat dengan PHP. Tujuannya adalah meng-generate tabel spesifikasi basis data secara otomatis dari suatu DBMS, kebetulan kita akan menggunakan MySQL.

php-spesifikasi-basis-data
Contoh tabel hasil program

Untuk menghasilkan tabel spesifikasi basis data, program berikut ini menggunakan beberapa fungsi bawaan PHP yang berhubungan dengan MySQL, yaitu:

  • mysql_connect() untuk melakukan koneksi ke database MySQL.
  • mysql_select_db() untuk membuka database yang akan digunakan.
  • mysql_query() untuk mengeksekusi (menjalankan) perintah query ke MySQL dari PHP.
  • mysql_fetch_row() untuk mengambil nilai hasil query yang dihasilkan oleh fungsi mysql_query(). Hasil query dimasukkan dalam array PHP.
  • mysql_num_fields() untuk menghasilkan jumlah field dari suatu tabel.
  • mysql_fetch_field() untuk mendapatkan informasi (metadata) dari suatu field dalam tabel.
  • mysql_field_len() untuk mendapatkan informasi panjang (length) setiap field dalam tabel.

Program

Dan berikut ini program lengkapnya.

  1. <html>
  2. <head><title>MySQL Database Spesification Creator</title>
  3. <style type="text/css">
  4. table.db-table { border-right:1px solid #ccc; border-bottom:1px solid #ccc; }
  5. table.db-table th { background:#eee; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; }
  6. table.db-table td { padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; }
  7. </style>
  8. </head>
  9. <body>
  10. <?php
  11. /* connect to the db */
  12. $connection = mysql_connect('localhost','user','password');
  13. mysql_select_db('nama_database',$connection);
  14.  
  15. /* show tables */
  16. $result = mysql_query('SHOW TABLES',$connection) or die('cannot show tables');
  17. while($tableName = mysql_fetch_row($result)) {
  18.  
  19. $table = $tableName[0];
  20.  
  21. echo '<h3>',$table,'</h3>';
  22. $result2 = mysql_query('SELECT * FROM '.$table.' LIMIT 1') or die('cannot select from '.$table);
  23. $i = 0;
  24. echo '<table cellpadding="0" cellspacing="0" class="db-table">';
  25. echo '<tr><th>No</th><th>Nama Field</th><th>Type</th><th>Panjang</th><th>Keterangan</th></tr>';
  26. while($i< mysql_num_fields($result2)) {
  27. $meta = mysql_fetch_field($result2, $i);
  28. $length = mysql_field_len($result2, $i);
  29. echo '<tr>';
  30. echo '<td>'.($i+1).'</td>'; //nomor
  31. echo '<td>'.(($meta->primary_key)?'<u>'.$meta->name.'</u>' : $meta->name).'</td>'; //nama field
  32. echo '<td>'.$meta->type.'</td>'; //tipe field
  33. echo '<td>'.$length.'</td>'; //panjang
  34. echo '<td>'.$meta->name.'</td>'; //keterangan
  35. echo '</tr>';
  36. $i++;
  37. }
  38. echo '</table><br />';
  39. }
  40. ?>
  41. </body>
  42. </html>

Download Program

Program PHP DB to Spesifikasi (948 bytes, 3,471 hits)

Berbagi itu indah...Share on Facebook35Share on Google+0Tweet about this on TwitterShare on LinkedIn0Pin on Pinterest0Digg this

5 comments

  1. Mau tanya om,
    jika diinginkan data yang tampil cuma no 8 9 10
    gimana caranya…..?
    makasih atas jawaban dan penjelasannya

Leave a Reply

Your email address will not be published. Required fields are marked *