Senin, 29 September 2014

Praktikum Desain Basis Data II -> Pembuatan dan Manajemen Tabel


1. Dasar Teori


1.1 Mengenal Lingkungan Database
        Database memilik beberapa istilah-istilah baik pada struktur maupun perintahnya. Ada 4 istilah yang muncul, yaitu:
   1. Database
        Database adalah sebuah file yang mengkoordinasi tabel-tabel data yang saling berhubungan dan memiliki suatu kepentingan yang sama sehingga akan mempermudah pengolahan. karena database merupakan kumpulan dari beberapa tabel maka untuk membuat tabel, database harus dibuat dulu sebagai 'induk' yang memayungi induk-induk dibawahnya.
   2. Tabel (Table)
           Table adalah kumpulan data dalam record-record yang disatukan untuk kepentingan tertentu.
   3. Record
            Record adalah kumpulan field-field yang disatukan dalam baris.
   4. Field
           Field adalah jenis atau tipe data dari suatu item data beserta batasan nilainya.

1.2 Bahasa dalam Database
   A. Data Defnition Language (DDL)
             DDL adalah perintah-perintah yang digunakan untuk membangun isi database. DDL bertugas untuk membuat objek dan menyimpan definisinya dalam tabel. Contoh dari objek yang dimaksud diatas adalah tabel, view, dan index. Pembuatan tabel, perubahan struktur tabel, perubahan nama tabel, serta perintah untuk mengahapus tabel, dilakukan dengan sub bahasa yang tergolong dalam DDL. Perintah-perintah yang dilakukan dalam DDL adalah:
          1. Create
         Perintah ini digunakan untuk membuat database, tabel, dan objek lain dalam   database.
          2. Alter
              Perintah ini digunakan untuk memodifikas table, seperti mengganti nama tabel, mengubah jenis/tipe field, mengubah nama field, menambah field baru atau mengurangi field tertentu.
          3. Drop
                 Perintah ini digunakan untuk menghapus database, tabel, dan objek lain dalam database.
   
    B. Data Manipulation Language (DML)
                  DML digunakan untuk menampilkan, mengubah, menambah, dan menghapus baris dalam tabel. Perintah-perintah yang digolongkan dalam DML antara lain:
           1. Select
             Perintah ini digunakan untuk menampilkan isi table. Baik semua is table atau sebagian isi table. Bahkan bisa pula menampilkan isi table yang dihubungkan dengan tabel-tabel yang lain.
           2. Insert
           Perintah ini digunakan untuk mengisi atau menambah table. Pengisian dapat dilakukan dengan seluruh feld atau hanya sebagian feld saja.
           3. Update
                  Seperti terlihat pada perintahnya, update digunakan untuk mengubah item-item tertentu dalam satu tabel.
            4. Delete
                  Perintah ini digunakan untuk menghapus record-record dengan krteria tertentu.
    
    C. Data Control Language (DCL)
              DCL adalah perintah yang akan membantu mengontrol keamanan setiap database atau sebagian isi dari database dengan membuat hak-hak akses tertentu bagi setiap user.
            1. Grant
                Grant digunakan untuk memberikan hak-hak tertentu kepada seorang user. Grant dberikan oleh user yang mempunyai hak untuk mengganti grant atau administrator (root).
            2. Revoke
                   Kebalikan dari grant. Revoke digunakan untuk mencabut hak-hak dari seorang user terhadap database tertentu atau sebagian isi dari database.

 1.2 Postgre SQL
      A. Membuat Tabel
            Struktur query yang digunakan membuat tabel dengan dua kolom:
               create table namatabel (namakolom tipedata keterangan, namakolom tipedata keterangan);
   *Cttn : Untuk melihat struktur tabel yang telah dibuat ketikkan perintah \d dan melihat semua tabel menggunakan \z.
            Struktur query yang digunakan menghapus tabel :
                     drop table namatabel; 
      
      B. Manipulasi Tabel 
               Struktur query yang digunakan untuk menghapus kolom :
alter table namatabel drop column “namakolom”;
Struktur query yang digunakan untuk menambah kolom:
alter table namatabel add column “namakolom” tipe data;
Struktur query yang digunakan untuk mengubah nama tabel :
alter table namatabelasal rename to namatabelbaru;
Struktur query yang digunakan untuk mengubah nama kolom :
alter table namatable rename column “namakolom asal” to namakolombaru;
Struktur query yang digunakan untuk mengubah type dari kolom tertentu :
alter table namatable alter column namakolom type namatypepengganti;
Struktur query yang digunakan untuk menambahkan primary key pada tabel :
                        alter table namatabel add primary key (namakolom); 
   
       C.  Temporary Tabel
              Temporary tabel sifatnya hanya sementara artinya akan aktif hanya ketika kita sedang berada atau login ke database namun ketika kita logout dari psql database maka secara otomatis temporary tabel akan terhapus. Struktur query yang digunakan membuat tabel dengan dua kolom:
                      create temporary table namatabel (namakolom tipedata keterangan, namakolom tipedata keterangan); 
      
       D. GRANT dan REVOKE
            Berikut struktur penggunaan GRANT untuk semua hak akses :
                         grant all on table namatabel to namauser;
           

            Berikut struktur penggunaan REVOKE untuk semua hak akses :
                         revoke all on table namatabel from namauser;
          

            Struktur query untuk menghapus salah satu hak akses, misalnya UPDATE :
                         revoke update on tabel namatabel from namauser;
            

            Struktur query untuk memberi salah satu hak akses, misalnya DELETE :
                         grant delete on tabel namatabel to namauser;

2. Hasil Praktikum
2.1 Menggunakan PostgreSQL
       1.  Buatlah sebuah tabel dengan nama identitasNIM dan dengan nama fieldnya


2. Buatlah sebuah tabel lagi dengan nama pegawai dan nama field sama dengan tabel identitas
 

       3. Hapus kolom “alamat_idn” dan tampilkan struktur dari tabel pegawai tadi.
 
        4. Tambahkan kolom “pekerjaan_idn” dengan type data varchar dan tampilkan struktur tabel  pegawai.

        5. Ubah nama tabel pegawai menjadi pekerjaNIM kemudian ubah nama kolom “pekerjaan_idn” menjadi “alamat_idn” dan tampilkan.

       6. Berikan Primary key pada tabel pekerjaNIM dan ubah type data pada kolom “alamat_idn” menjadi text. Kemudian tampilkan struktur tabel.

       7. Hapus tabel pekerjaNIM. 

       8. Buat temporary tabel dengan nama mahasiswa_sementara dengan 3 kolom yaitu id, nama, tanggal lahir dan tampilkan tabel atau strukturnya.

       9. Hapus semua hak akses tabel tertentu kepada salah satu user yang telah dibuat dan lakukan pengecekan. Kemudian berikan semua hak akses kembali dan lakukan pengecekan kembali. Hapus hak akses SELECT tabel tertentu kepada salah satu user dan lakukan pengecekan.

       10. Buat tabel baru dengan nama Gaji, dengan catatan pembuatan tabel berasal dari turunan tabel number 1 dan tambahkan kolom gaji kotor, pajak, dan gaji bersih. Kemudian tampilkan strukturnya.


 

 2.2 Menggunakan MySQL
  
 
     1. Buatlah sebuah tabel dengan nama identitasNIM dan dengan nama fieldnya
        Dalam membuat tabel pada MySQL maka digunakan query berikut : 
        Setelah membuat tabel, dapat dicek dengan mysql> show tables; kemudian describe nama_table;
  
      2. Buatlah sebuah tabel lagi dengan nama pegawai dan nama field sama dengan tabel identitas
         
          Sama dengan no.1, hanya menambah table lagi
   
     3. Hapus kolom “alamat_idn” dan tampilkan struktur dari tabel pegawai tadi.




   4. Tambahkan kolom “pekerjaan_idn” dengan type data varchar dan tampilkan struktur tabel   pegawai.

      5. Ubah nama tabel pegawai menjadi pekerjaNIM kemudian ubah nama kolom “pekerjaan_idn” menjadi “alamat_idn” dan tampilkan.

    6. Berikan Primary key pada tabel pekerjaNIM dan ubah type data pada kolom “alamat_idn” menjadi text. Kemudian tampilkan struktur tabel.

    7. Hapus tabel pekerjaNIM.

    8. Buat temporary tabel dengan nama mahasiswa_sementara dengan 3 kolom yaitu id, nama, tanggal lahir dan tampilkan tabel atau strukturnya.

    9. Hapus semua hak akses tabel tertentu kepada salah satu user yang telah dibuat dan lakukan pengecekan. Kemudian berikan semua hak akses kembali dan lakukan pengecekan kembali. Hapus hak akses SELECT tabel tertentu kepada salah satu user dan lakukan pengecekan.

    10. Buat tabel baru dengan nama Gaji, dengan catatan pembuatan tabel berasal dari turunan tabel number 1 dan tambahkan kolom gaji kotor, pajak, dan gaji bersih. Kemudian tampilkan strukturnya.
(karena tidak menemukan query INHERITS pada mysql, maka disini digunakan query membuat tabel biasa)

 3. Tugas Rumah 
    3.1. Buat database dan tabel sistem pada pertemuan 1 menggunakan query dan dilengkapi dengan tampilan strukturnya.

Berikut adalah screenshot dalam mysql-nya:

3.2  Perbandingan MySQL dan PostgreSQL
MySQL 
  1. User biasa tidak diberi hak APAPUN dan tidak bisa melihat apapun(user, database, tabel, dll) sehingga perlu diberi HAK
  2. Tidak diberi kewenangan apapun artinya :
    - tidak bisa membuat database
    - tidak bisa membuat tabel 
  3. Pemberian Hak Ada 2 yaitu :
    - edit hak user di database user milik mysql (misal ingin hak super user)
    - edit hak  user oleh pemilik database atau dari user superuser(grant) 
  4. ketika posisi menggunakan database posisi dibawah ini tidak berubah mysql> 
  5. Bisa exit dari user, dengan mengetik >mysql quit
  6. Pada Query diantarannya adalah:
  • koneksi database dinyatakan dengan mysql> use nama_database;  
  • Menampilkan struktur tabel dengan mysql>  desc/describe nama_tabel;                           
  • Menghapus kolom alter table dengan mysql> nama_tabel drop column nama_kolom;
  • Mengganti type data pada kolom alter dengan mysql> table nama_tabel modifyd engan mysql> nama_kolom type_data;
  • dst
PSQL
  1. user biasa diberi kewenangan berupa hak melihat :
    - user
    - database
    - tabel
    - Tapi tidak diberi hak edit apapun 
  2. Diberi kewenangan membuat:
    - database
    - table
    - grant untuk user lain
  3. Pemberian Hak itu Ada 2 yaitu :
    - dimulai saat pembuatan user (misal ingin hak super user)
    - edit hak  user oleh pemilik database atau dari user superuser(grant)
  4. ketika posisi menggunakan database simbol posisi dibawah ini berubah menjadi nama database:
  5. Tidak bisa exit dari use melainkan close psql comand
  6. Pada Query diantarannya adalah:
  • koneksi database dinyatakan dengan \c nama_database;   
  • Menampilkan struktur tabel dengan \d nama_tabel;; 
  • Menghapus kolom alter table dengan alter table nama_tabel drop column “nama_kolom”;
  • Mengganti type data pada kolom alter dengan alter table nama_tabel rename column “nama_lama” to “nama_baru“;
  • dst 
 4. Kesimpulan dan Saran

4.1 Kesimpulan
 Dari Pembuatan dan Manajemen Tabel dapat disimpulkan bahwa:
   1. Bahasa dalam Database dibag menjadi 3, yaitu: Data Defnition Language (DDL), Data Manipulation Language (DML), dan Data Control Language (DCL) 
    2. Dalam memasukkan query dalam psql dan mysql tidak sama, dengan melakukan praktikum dengan 2 DBMS berbeda membuat kita dapat belajar keduanya dan mengetahui kelebihan dan kekurangannya.

4.2 Saran
      Semoga di praktikum selanjutnya kakak asisten dosen bisa lebih sabar dan dapat menjelaskan tugas-tugasnya pada praktikan secara jelas, sehingga kami dapat mengerti.

4.3 Manfaat Bagi Pembaca
      Dapat menambah pengetahuan tentang DBMS mysql dan psql, sehingga bsa memilih sesuai yang dibutuhkan. Dengan laporan ini, pembaca juga dapat ikut belajar mengenai pembuatan tabel.


 Daftar Pustaka
Sanjaya, Ridwan. 2005. Pengolahan Database MySQL dengan Java 2. Yogyakarta: Andi
Modul Praktikum DBD Bab II
belajarsql.net/download/.../Bahasa%20Basis%20Data.pdf
http://kinabipoetra.blogspot.com/2013/03/contoh-bahasa-basis-data-ddl-definition.html




























































 

Tidak ada komentar:

Posting Komentar