Selasa, 30 September 2014

LAPORAN PRAKTIKUM DESAIN BASIS DATA



BAB II
PEMBUATAN DAN MANAJEMEN TABEL
      A.    Landasan Teori
MySQL merupakan sebuah database yang RDBMS (Relational Database Management System), Multi- user dan mendukung bahasa permintaan standar SQL (Struktured Query Language), dan juga sebagai database server. Sebagai database yang besar, MySQL memiliki dua buah bentuk lisensi. Yang pertama adalah MySQL berbentuk software open source atau yang disebut dengan free softwar, lisensi ini menjadikan siapa saja boleh menggunakan distro MySQL tanpa harus dipungut biaya hak cipta. Dengan kondisi tersebut maka siapapun dapat dengan bebas menggunakannya baik digunakan untuk  kalangan instansi formal maupun non formal. Bentuk MySQL yang termasuk dalam software open source tergolong dalam lisensi GNU / GPL (General Public License).
Yang kedua, MySQL memiliki lisensi yang sifatnya Corporate, untuk versi MySQL yang sifatnya Corporate/komersial sering disebut dengan MySQL AB. Dengan menggunakan versi komersial ini anda harus memiliki izin untuk menggunakannya, atau paling tidak anda harus mengeluarkan biaya pembelian untuk dapat menggunakan distro yang asli.
Dalam penggunaan MySQL kita akan mengenal yang namanya database. Database atau yang dapat diistilahkan dengan sebuah gudang data, merupakan sebuah komponen yang sangat berperan dalam sebuah system basis data. Di dalam sebuah database memungkinkan untuk menyimpan berbagai objek atau yang disebut dengan atribut/ table. Didalam table sendiri dimungkinkan untuk terdapat beberapa elemen atau dapat disebut dengan field/kolom.
            Nah, didalam table tersebutlah data-data dari sebuah system informasi didokumentasikan. J
Pada dasarnya, dalam pembuatan basis data memiliki urutan sebagai berikut:
1.      Membuat database.
2.      Membuat table.
3.      Di dalam table terdapat beberapa kolom.
Jadi, “dalam satu Database memiliki beberapa Table, dan dalam satu Table memiliki beberaa Kolom”.

Tugas Praktikum :
1.      Buatlah sebuah tabel dengan nama identitasNIM dan dengan nama fieldnya

Nama
Tipe data
keterangan
id_idn
Integer
Not Null
nama_Depan_idn
Varchar (10)

nama_Belakang_idn
Varchar (10)

tgl_lahir_idn
Date

status_idn
Boolean

alamat_idn
Text


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.

      B.     Hasil Praktikum dan hasil percobaan
Ok, sama seperti sebelumnya, kita akan membuat dan memanagemen table dengan menggunakan mysql shell dan juga SQL shell (psql). 

a.      Pada MySQL
Sebelum kita mengerjakannya, pertama kita buka XAMPP à klik start (Apache & MySql) à klik Shell. Setelah kita membuka shell selanjutnya kita membuka mysql dengan mengetikkan, mysql –u root –p. 
Setelah kita masuk ke mysql >, langkah selanjutnya adalah membuat database baru à use namadatabase à setelah ini kita baru bisa melakukan CREATE TABLE.

1.      Membuat Table identitasNIM
Query dasar :
CREATE TABLE namatabel (namakolom tipedata keterangan, namakolom tipedata keterangan, namakolom tipedata keterangan);
Berikut contohnya :





      •  Sebelum kita membuat tabel, kita harus menggunakan DATABASE yang akan kita gunakan sebagai tempat mambuat table, dengan cara : use namadatabase;
      • Desc namatabel à untuk melihat struktur table.

2.      Membuat Table pegawai
Query dasar :
CREATE TABLE namatabel (namakolom tipedata keterangan, namakolom tipedata keterangan, namakolom tipedata keterangan);
Berikut contohnya :




3.      Menghapus kolom
Query dasar :
ALTER TABLE namatabel DROP COLUMN namakolom;
Berikut contohnya :





4.      Menambahkan kolom
Query dasar :
ALTER TABLE namatabel ADD COLUMN namakolom tipedata;
Berikut contohnya :

5.      Mengubah nama table dan mengubah nama kolom
Query dasar :
ALTER TABLE namatabelawal RENAME to namatabelbaru;
Berikut contohnya :



Query dasar :
ALTER TABLE namatabel CHANGE namakolomawal namakolombaru type AFTER namakolomsebelumnya;
Berikut contohnya :




6.      Menambahkan primary key dan mengubah type data
Query dasar :
a.       Menambahkan Primary key
ALTER TABLE namatabel Add PRIMARY KEY (namakolom);
b.      Mengubah type data
ALTER TABLE namatabel Modify namakolom type;
Berikut contohnya :





7.      Menghapus table
     Query dasar:
     DROP TABLE namatabel;
     Berikut contohnya :



 



8.      Membuat temporary table
Query dasar :
CREATE TEMPORARY TABLE namatabel (namakolom tipedata keterangan, namakolom tipedata keterangan, namakolom tipedata keterangan);
Berikut contohnya :



9.      Grant & Revoke
Query dasar :
a.       Struktur penggunaan GRANT untuk semua hak akses :
GRANT all privileges on *.* to ‘namauser’@’localhost’ identified by ‘password’ with grant option;
b.      Struktur penggunaan REVOKE untuk semua hak akses :
REVOKE all privileges on *.* from ‘namauser’@’localhost’ identified by ‘password’;
c.       Struktur penggunaan REVOKE untuk salah satu hak akses, misalnya SELECT :
GRANT SELECT on *.* to ‘namauser’@’localhost’ identified by ‘password’ whit grant option;
d.      Struktur penggunaan REVOKE untuk salah satu hak akses, misalnya SELECT :
REVOKE SELECT on *.* from ‘namauser’@’localhost’ identified by ‘password’ whit grant option;
            Berikut contohnya :



Pengecekan :







      

*  Dalam melakukan pengecekan GRANT and REVOKE kita harus memperhatikan beberapa hal, seperti penggunaan user dan database tempat membuat table.  
*   Untuk mengecek REVOKE setelah GRANT, maka kita harus keluar dulu dengan mengetikkan \q untuk Quit. Baru setelah itu kita bisa menecek REVOKE yang telah kita lakukan. 
b. Pada psql (PosgreeSQL)

Sebelum mengerjakannya, pertama kita masuk dulu ke SQL shell. 
1.   Membuat table dengan nama  dan field yang sudah di tentukan di atas, kita harus tahu terlebih dahulu struktur query yang akan kita gunakan untuk membuat table, strukturnya adalah seperti berikut.
Query dasar :
CREATE TABLE  namatabel (namakolom tipedata keterangan, namakolom tipedata keterangan, namakolom tipedata keterangan );           

Contohnya adalah seperti bawah ini :





 

Untuk melihat struktur table yang telah kita buat, ketikkan perintah \d namatabel, dan untuk melihat nama table, ketikkan perintah \z. 
2. Membuat table baru dengan nama “pegawai” dan dengan field yang sama seperti pada table 1.
Berikut jadinya :


3.      Menghapus kolom “alamat_idn” pada table pegawai dan tampilkan struktur tablenya.
Query dasar :
ALTER TABLE namatable DROP COLUMN namakolom;
Berikut contohnya :











Untuk menampilkan struktur tabelnya, ketikkan \d dengan di ikuti namatabel.

4.    Menambahkan kolom “pekerjaan_idn” dengan type data varchar dan tampilkan struktur table pegawai.
Query dasar :
ALTER TABLE namatabel Add Column  “namakolom” tipe data;
Berikut contohnya :

 




5. Mengubah nama table pegawai menjadi pekerjaNIM dan mengubah nama kolom “pekerjaan_idn” menjadi “alamat_idn” dan tampilkan strukturnya.
Query dasar :
a.       ALTER TABLE namatabelawal Rename to namatabelbaru;
b.      ALTER TABLE namatabel rename column “namakolomawal” to namakolombaru;
Berikut contohnya :






6.      Memberikan primary key pada table pekerjaNIM dan mengubah type data pada kolom “alamat_idn” menjadi text.
Query dasar :
a.       Struktur query yang digunakan untuk menambahkan primary key pada table
ALTER TABLE namatabel add primary key (namakolom);
b.      Struktur query yang digunakan untuk mengubah type data dari suatu kolom tertentu.
ALTER TABLE namatabel ALTER COLUMN namakolom Type namatypepengganti;

Berikut contohnya :



7.      Hapus table pekerjaNIM
Query dasar :
DROP TABLE pekerjaNIM;
Berikut contohnya :
 




* Jika setelah di ENTER terdapat pesan DROP TABLE, maka table “pekerjaNIM” sudah terhapus.

8.      Membuat temporary table dengan nama mahasiswa_sementara dengan 3 field (id, nama, dan tgl_lahir) setelah itu tampilkan.
Query dasar :
CREATE TEMPORARY TABLE namatabel (namakolom tipedata keterangan, namakolom tipedata keterangan, namakolom tipedata keterangan);
Berikut contohnya :



9.      Grant and Revoke
Query dasar :
a.       Struktur penggunaan GRANT untuk semua hak akses :
Grant all on table namatabel to namauser;
b.      Struktur penggunaan REVOKE untuk semua hak akses :
Revoke all on table namatabel from namauser;
c.       Struktur penggunaan REVOKE untuk salah satu hak akses, misalnya SELECT :
Grant Select on table namatabel from namauser;
d.      Struktur penggunaan REVOKE untuk salah satu hak akses, misalnya SELECT :
Revoke Select on table namatabel from namauser;
                        Berikut contohnya :
                           
                           
*   Jika sudah ada pesan GRANT dan REVOKE, berarti penutupan dan pengaktifan hak akses yang kita lakukan sudah berhasil.
Pengecekan :

 
*   Buka SQL shell baru, kemudian masuk dengan user kita dan lakukan pengecekan dengan mengetikkan, SELECT * from namatabel;
*   Jika kita lakukan GRANT maka kita bisa melihat struktur tabelny, sedangkan jika kita melakukan revoke selanjutnya aka nada pesan “permission denied for…..” menandakan bahwa hak akses database telah ditutup.
*   Begitu pula jika kita melakukan GRANT and REVOKE pada salah satu hak akses misalnya (SELECT, UPDATE, DELETE). 

10.  Membuat table baru dengan nama Gaji, yang merupakan turunan dari table pertama, dengan fieldnya (gaji kotor, pajak, gaji bersih), setelah itu tampilkan.
      Query dasar :
   CREATE TEMPORARY TABLE namatabel (gaji_kotor integer, pajak integer,  gaji_bersih integer) inherits (namatabelinduk);
       Berikut contohnya :






 

 






           C.     Perbedaan mysql dengan psql
Dalam pembuatan dan managemen table, antara MySQL dengan psql mempunyai beberapa perbedaan. Diantaranya adalah :
1.      Pengecekan table. Pada mysql kita mengecek table dengan query “show tables” sedangkan pada psql kita menggunakan “\z”.
2.      Pengecekan struktur table. Pada mysql kita menggunakan query “desc namatabel” sedangkan pada psql kita menggunakan query “\d namatabel”.
3.      Mengubah nama kolom.
Query pada mysql :
ALTER TABLE namatabel CHANGE namakolomawal namakolombaru type AFTER namakolomsebelumnya;
Query pada psql :
ALTER TABLE namatabel rename to namatabelbaru;
4.      Mengubah type data
Query pada mysql :
ALTER TABLE namatabel Modify namakolom type;
Query pada psql:
ALTER TABLE namatabel ALTER COLUMN namakolom Type namatypepengganti;
5.      Dalam psql bisa melakukan Inheritence sedangkan pada mysql tidak bisa.

      D.    Kesimpulan, kritik, dan saran
Dari data yang sudah ada pada laporan ini dan dari referensi yag lain, dapat di Tarik kesimpulan bahwa sebuah tabel terdiri dari baris (row) dan kolom (column), dimana jumlah dan  nama kolom harus didefinisikan terlabih dahulu di awal. Sedangkan baris merupakan  sebuah variable yang dapat dihapus  dan diisi kapanpun, sehingga jumlahnya selalu  berubah sesuai dengan jumlah data didalamnya.  Setiap kolom dalam tabel mempunyai  tipe data, tipe data digunakan untuk membatasi jenis data yang bisa dimasukkan,  sehingga akan mempermudah dalam menggunakannya dan melakukan pengelolaan  selanjutnya. Database mysql dengan databse psql mempunyai beberapa perbedaan dalam pembuatan dan menajemen databasenya, seperti pada pengecekan table, pengecekan struktur table, pengubahan type, pengubahan nama kolom dan penggunaan Inheritence (turunan).
Saran dari saya bagi pembaca untuk selalu menggunakan etika dalam copy paste file, agar nantinya ilmu yang kita pelajari bisa bermanfaat bagi kita sema amiin …J

      E.     Daftar pustaka
      Nugroho, Bunafit, Administrasi Database MySQL pada server Linux dan Windows, Penerbit Graha Ilmu, 2005.
         Modul Praktikum Desain Basis Data 2014.

Tugas Rumah
Membuat  database  dan  tabel  sistem  pada  pertemuan  1  menggunakan  query  dan  dilengkapi dengan tampilan strukturnya.
a.      able data_dokter


b.      Table data_pasien




c.    abel data_obat

d.      Tabel data_klinik




 

0 comments:

Posting Komentar