Sabtu, 27 September 2014

Membuat dan mengatur Tabel

PEMBUATAN DAN MANAJEMEN TABEL

Oke Guys, pada kesempatan kali ini saya akan membahas tentang praktikum Desain Basis Data, tepatnya tentang Pembuatan dan Manajemen Tabel. Sebelum kita memulainya, akan lebih baiknya kita tahu dulu teori dari praktikum yang akan kita bahas kali ini. 

     A.    Landasan Teori

      Tabel itu sendiri memiliki dua bagian, yaitu baris (row) dan kolom (column). Nah baris dan kolom itu musti didefinisikan dulu di awal. Sedangkan salah satu bagian dari tabel tersebut yaitu baris, merupakan variabel yang bisa dihapus dan diisi kapanpun, So jumlahnya bisa selalu berubah sesuai dengan jumlah data di dalamnya. Selain baris juga ada kolom, setiap kolom dalam tabel mempunyai tipe data, dan tipe data yang digunakan itu untuk membatasi jenis data yang bisa dimasukkin, jadi bakalan lebih mudah menggunakannya dan mengelolanya.
Dalam database mysql ada 5 buah tabel yang bisa digunakan untuk ngatur user dan izin akses masing-masing user – user privileges, yaitu ada user, db, host, tables_priv, dan colum_ns priv. So, kelima table itu disebut grant tables.
Hampir kelupaan, kita juga musti tahu bagian-bagian dari SQL itu sendiri. SQL itu merupakan singkatan dari Structured Query Language. SQL itu diperkenalkan pertama kali dalam IBM pada tahun 1970. Hampir semua software database mengenal SQL, So perintah SQL pada semua software database hampir sama.

Ada 3 jenis perintah SQL ,yaitu :
1.      DDL (Data Definition Language)
adalah perintah SQL yang berhubungan dengan pendefinisian struktur database, dalam hal ini adalah database dan tabelnya. Beberapa perintah dasar yang termasuk DDL :
·         CREATE => untuk nyiptain atau buat database dan tabel.
·     ALTER   => untuk ngubah struktur dari tabel yang ada. semisal kita bisa nambah
    field/kolom di table, kita bisa menghapus primary key atau bahkan     
    membuat, mengubah jenis kolom/field yang ada.
·       RENAME=> untuk memberi nama baru pada kolom yang mau diganti namanya.
·         DROP      => untuk menghapus data yang ada di database.
2.      DML (Data Manipulation Language)
adalah perintah SQL yang berhubungan dengan manipulasi atau bisa disebut juga pengolahan data atau record dalam table. Perintah dasar DML :
·         SELECT => untuk nyeleksi atau milih tabel mana yang mau ditampilkan
·         INSERT  => untuk masukkin atau nambahin data baru
·      UPDATE => untuk memperbarui data yang sudah ada di tabel, guys.
·       DELETE => ini sama kaya DROP, sama-sama untuk menghapus data.
3.      DCL (Data Control Language)
adalah perintah SQL yang berhubungan dengan manipulasi user dan hak akses (priviledges). Perintah SQL :
·         GRANT => untuk memberi hak akses
·         REVOKE => untuk menutup hak akses


Membuat, Menampilkan, Membuka dan Menghapus Database
Sintaks umum SQL untuk membuat suatu database adalah sebagai berikut :
CREATE DATABASE nama_database;
Bentuk perintah di atas akan membuat sebuah database baru dengan nama
nama_database. Aturan penamaan sebuah database sama seperti aturan
penamaan sebuah variabel, dimana secara umum nama database boleh terdiri
dari huruf, angka dan under-score (_). Jika database yang akan dibuat sudah ada, maka akan muncul pesan error.

Untuk melihat database yang baru saja dibuat, ketik syntak untuk menampilkan database  :
SHOW DATABASES;
Nah, sebelum memanipulasi tabel dan record yang berada di dalmnya, kita musti membuka atau mengaktifkan databasenya dulu. Nih, syntaknya :
Use nama_database;
Sintaks untuk menghapus database    :
DROP DATABASE nama_database;

Sekilas tentang 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);

            GRANT dan REVOKE
Pada saat membuat tabel pada user tertentu maka hanya user tersebut dan user postgres yang dapat mengakses tabel itu. Namun jika kita ingin agar tabel yang telah dibuat pada user kita dapat diakses oleh user tertentu atau semua user yang berada pada PostgreSQL, maka semua itu dapat dilakukan dengan perintah GRANT. Jika ingin mencabut hak akses kita bisa menggunakan perintah 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;

          Turunan (Inheritance)
INHERITANCE dipergunakan jika ingin membuat sebuah tabel baru yang berhubungan dengan tabel yang ada, dengan kata lain turunan tabel pertama.
Struktur penggunaan query INHERITANCE :


create temporary table namatabel (namakolom tipedata keterangan , namakolom tipedata keterangan) inherits (namatabelinduk);

      B.    Hasil Praktikum

Dari praktikum yang akan saya jalani dengan menggunakan postgreSQL dan XAMPP shell, kita akan tahu nanti apa perbedaan dari keduanya. Mari kita lihat jalannya praktikum dengan menggunakan PostgreSQL dulu ya.

PostgreSQL

Pertama, kita buka dulu aplikasi postgre nya ya. setelah itu kita masuk ke SQL shell nya. Kita mulai praktikum dengan membuat table yang namanya “identitasNIM” dengan nama fieldnya (id_idn, namaDepan_idn, namaBelakang_idn, tgl_lahir_idn, status_idn, alamat_idn) dan juga type fieldnya masing-masing. Kalo yang id_idn typenya integer (not nul), namaDepan_idn dan namaBelakang_idn pakai type varchar, tgl_lahir_idn pake date, status_idn pake boolean, dan yang terakhir alamat_idn pakai type Text. Oke kita buat dulu ya.



Jangan lupa tulis syntaknya terlebih dulu. CREATE TABLE identitasNIM (id_idn integer not null, namaDepan_

idn varchar(10), namaBelakang_idn varchar(10), tgl_lahir_idn date, status_idn bo

olean, Alamat_idn Text);
 
 



Enter, dan ketik \d identitasNIM untuk melihat bentuk tabelnya. Seperti ini



Fix ya pembuatan table buat nama identitasNIM. Sekarang giliran buat tabel yang namanya “pegawai”. Caranya sama ko’, tinggal kita ganti nama tabelnya dengan pegawai, trus fieldnya sama kaya field yang ada di identitasNIM.
CREATE TABLE PEGAWAI (id_idn integer not null, namaDepan_
idn varchar(10), namaBelakang_idn varchar(10), tgl_lahir_idn date, status_idn bo
olean, Alamat_idn Text);

lalu, enter. Ketik \d PEGAWAI buat lihat tabelnya. Seperti ini.


Setelah dibuat tabelnya. Dari perintah praktikum disuruh hapus kolom “alamat_idn”
Ketik aja syntaknya : alter table pegawai drop column "alamat_idn";


Taarraa.. alamat_idn udah terhapus dari si tabel PEGAWAI.

Nah, alamat_idn udah kehapus sekarang giliran menambahkan kolom dengan nama pekerjaan_idn type data varchar.
Cara nambahinnya gini : alter table pegawai add column "pekerjaan_idn" varchar (10);
Di syntak itu kita isi jumlah type data nya , nah saya mengisi 10.
Langsung aja ya. lihat hasil akhirnya juga.



Udah tambah lagi kolomnya, dan sekarang ikuti perintah praktikum selanjutnya yaitu ganti nama tabel jadi pekerjaNIM trus ganti nama kolom pekerjaan_idn jadi alamat_idn. Kita kerjain yang ganti nama tabel dulu ya. gini nih syntaknya : alter table pegawai rename to pekerjaNIM;
Sedangkan ganti kolom pekerjaan_idn jadi alamat_idn, syntaknya : alter table pekerjaNIM rename column "pekerjaan_idn" to alamat_idn;

Ini print screennya :




Sekarang ganti lagi perintahnya, yaitu kasih primary key pada tabel pekerjaNIM dan habis itu ubah type data kolom “alamat_idn” jadi text.
Syntak menambahkan primary key ke tabel pekerjaNIM :
Alter table pekerjaNIM add primary key (id_idn);

Syntak ubah type data kolom alamat_idn jadi text :
Alter table pekerjaNIM alter column alamat_idn type text;




Nambahin primary key di tabel sama ganti type data pada kolom udah fix ya. Perintah selanjutnya hapus tabel,guys.. sayang banget ya, udah dibuat-buat tinggal dihapus. Itu Cuma buat pembelajaran kita, guys. Gimana cara membuat sekaligus gimana kita kalo mau hapus tabel yang udah nggak kita inginkan lagi. Dan tabel yang kita hapus ini tabel pekerjaNIM. Begini syntaknya : DROP TABLE pekerjaNIM;

Look at this..



Sudah terhapus..

Perintah praktikum selanjutnya kita buat temporary  tabel, sifat dari temporary tabel ini sementara, artinya akan aktif ketika kita lagi login ke database namun ketika kita logout psql database so otomatis temporary tabel bakalan terhapus. Perintahnya kita buat temporary table dengan nama mahasiswa_sementara denagn 3 kolom yaitu (id_mhs, nama_mhs, dan tglLahir_mhs).
Syntaknya seperti ini :
create temporary table mahasiswa_sementara (id_mhs integer not null , nama_mhs varchar(20), tglLahir_mhs date);

 




Oke, lanjut ke perintah praktikum selanjutnya..

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. Nah ,soal yan ini kita jawab pakai revoke dan grant. Selain itu kita juga musti  buka sql shell lagi buat bikin user. Di sini saya pakai user : postgres. Di SQL shell dengan user postgres, kita ketik syntaknya.
Untuk yang hapus semua hak akses tabel, syntaknya : revoke all on table identitasnim from shinta;
Buka kembali hak akses : grant all on table identitasnim to shinta;
Sedangkan untuk hapus SELECT tabel tertentu :
revoke select on table identitasnim from shinta;
untuk kembalikan select hak akses :
grant select on table identitasnim to shinta;

langkahnya :
ketik syntak untuk hapus semua hak akses tabel di sql shell 1 , setelah itu buka sql shell 2 yang udah di beri nama usernya (di sini : shinta) 

ketik syntak select * from identitasnim;. Maka akan muncul ERROR:  permission denied for relation identitasnim, tapi setelah kita buka atau mengechek kembali hak akses tersebut dengan syntak Grant, maka akan muncul id_idn | namadepan_idn | namabelakang_idn | tgl_lahir_idn | status_idn | alamat
_idn
--------+---------------+------------------+---------------+------------+-------
-----
(0 rows)

langsung saja ini print screennya :


Gambar1.1 Revoke dan Grantnya



Gambar 1.2 hasil revoke dan grant
 
Nah, kita ke puncaknya yaitu perintah praktikum terakhir. Membuat 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 menampilkan strukturnya. Dalam hal ini dipakailah inheritance (penurunan/turunan). Nah, inheritance ini dipakai kalau kita ingin buat tabel baru yang berhubungan dengan tabel yang ada, dengan kata lain turunan dari tabel pertama.

Syntaknya : create table GAJI (gaji_kotor varchar(10), pajak varchar(10), gaji_bersih varchar(10)) inherits (identitasnim);

Lalu, \d GAJI so munculah seperti ini :

 



PostgreSQL sudah di coba, sekarang kita coba dengan XAMPP Shell

Xampp shell

Pertama kita buka dulu xampp shellnya
 
Gambar 1.3 tampilan awal xampp shell


Lalu kita kerjakan awal perintah dari praktikumnya, yaitu membuat table dengan nama identitasNIM dan field-fieldnya. Seperti ini nih :



Gambar 1.4. create table beserta tampilan tabelnya



Gambar 1.5. Tampilan dari table identitasNIM


Nah, sudah selesai cara buat tabel identitasNIM di xampp shellnya, sekarang kita buat tabel dengan nama pegawai dan fieldnya sama dengan tabel identitasNIM. Langsung saja kita lihat syntak dan tampilannya ya.



Gambar 1.6. create table pegawai beserta tampilan table nya saja



Gambar 1.7 Tampilan field dari table pegawai

Lanjutkan ke perintah praktikum selanjutnya. Hapus kolom alamat_idn. Ketik aja syntaknya : alter table pegawai drop alamat_idn;




Lalu, kita buktikan bahwa kolom alamat_idn sudah terhapus. Ketik : desc pegawai;  




Selanjutnya kita menambahkan kolom dengan nama pekerjaan_idn type datanya varchar. Ketik syntaknya : alter table pegawai add pekerjaan_idn varchar(10);  




Gambar 1.8 

Perintah praktikum selanjutnya yaitu mengubah nama tabel jadi pekerjaNIM, serta mengubah nama kolom pekerjaan_idn jadi alamat_idn. Langsung saja lihat gambarnya.
Gambar 1.9. Syntak ubah nama tabel pegawai jadi pekerjaNIM

Setelah itu kita ubah nama kolom yang tadinya pekerjaan_idn jadi alamat_idn. Begini syntaknya :



Gambar 2.0. Tampilan change kolom jadi alamat_idn

Oke, lari ke tahap perintah praktikum selanjutnya. Memberikan primary key pada table pekerjaNIM dan ubah type data pada kolom alamat_idn. Syntaknya : 


Gambar 2.1 syntak serta tampilan tabelnya pekerjaNIM

Setelah itu kita ubah type data :  


Gambar 2.2 syntak serta tampilannya

Perintah selanjutnya yaitu menghapus tabel pekerjaNIM. Syntaknya : drop table pekerjaNIM;


Oke, table pekerjaNIM udah terhapus. Sekarang kita buat temporary table dengan nama mahasiswa_sementara. Field-fieldnya ada 3 kolom yaitu id_mhs, nama_mhs, dan tglLahir_mhs. Apa sih temporary table itu ?. Temporary table itu tabel yang sifatnya sementara. Ketika kita mau logout xampp shell database, maka otomatis temporary table nya akan terhapus, berarti ini Cuma bisa aktif ketika kita login ke database.  


                                               Gambar 2.3 Syntak dan tampilan temporary table  

Temporary table sudah terbuat. Sekarang giliran bagian menghapus 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. Oke, langkahnya kita buka xampp shell baru utuk buka user yang mau di hapus hak aksesnya. Ketik : mysql –u nama_user –p, lalu enter ketik passwordnya. Seperti ini.  


nah, setelah buka halaman xampp shell yang baru. kita balik lagi ke halaman xampp shell yang lama.
kita mulai ketik syntaknya 
syntaknya revoke all : revoke all on table identitasnim from shinta;
syntaknya grant all   : grant all on table identitasnim to shinta;
syntaknya revoke select : revoke select on table identitasnim from shinta;
syntaknya grant select : grant select on table identitasnim to shinta; 

setelah itu tinggal kita tampilkan alias pengecheckan ,pakai : select * from identitasnim; 

           Gambar. 2.4. Hasil Grant                                                    Gambar 2.5 Hasil Revoke

 Sekarang giliran soal terakhir yaitu tentang inheritance atau turunan.
 Disini kita bakalan 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 menampilkan strukturnya. Dalam hal ini dipakailah inheritance (penurunan/turunan). Nah, inheritance ini dipakai kalau kita ingin buat tabel baru yang berhubungan dengan tabel yang ada, dengan kata lain turunan dari tabel pertama.

Syntaknya : create table GAJI (gaji_kotor varchar(10), pajak varchar(10), gaji_bersih varchar(10)) inherits (identitasnim);

 


Selesai deh praktikum pembuatan dan manajemen tabel kita dengan pakai PostgreSQL dan Xampp shell

C. Tugas Rumah
    
     Membuat database dan tabel dari Sistem Informasi “Butik Dee Online”

1.      Kita buka aplikasi SQL nya yaitu phpmyAdmin. Langsung aja ketik syntak membuat database dari sistem informasi tsb.
CREATE DATABASE ButikOnline;
2.      Sesudah itu kita create tabelnya. Di sini ada 4 barang yang musti kita create. Yang pertama create table pembeli dengan syntak : create table pembeli(id_pembeli integer primary key, nama_pembeli varchar (25), alamat_pembeli text, umur_pembeli char(2))



Selanjutnya create table pesanan (dalam artian pesanan ini berupa transaksinya) :
create table pesanan(id_pembeli primary key, tgl_pesan date, jumlah varchar(25), jenis_brg varchar(15), hrg_brg varchar(20), id_brg integer not null)
 


            Munculah tabel pesanannya..




Dan seterusnya kita tetap buat table yang seperti di atas. Caranya pun sama, syntaknya juga strukturnya sama seperti yang di atas. Lanjut buat table barang dan admistrator.  


                                                      Gambar 2.4 Syntak table barang
 

Gambar 2.5. tampilan table barang  


Gambar 2.6 Tampilan syntak table administrator

ya, sekarang sudah terbuat semua tabel yang ada di dalam database butikonline
lihat tampilannya..

 

Gambar 2.7 Tampilan 4 Table

oke, tabel dalam ButikOnline sudah jadi..

 



D.    Evaluasi Perbandingan DBMS MySQL dan PostgreSQL

·         Dilihat dari syntaknya 
      My SQL  
       Jika ingin menampilkan tabel : show tables;
       postgreSQL

       jika ingin menampilkan tabel : \d nama_tabel

       itupun tanpa tanda titik koma( ; ), dari syntak tersebut sudah muncul tabel beserta       dengan field di dalamnya, sedangkan MySQL (Xampp shell) dalam syntak itu, hanya menampilkan table nya saja, tetapi field-field yang ada di dalamnya tidak tampil, musti kita ketik syntak lagi untuk menampilkan isi dari tabelnya. Seperti ini syntaknya : desc nama_table;

-    
Apabila ingin men-copy syntak yang ada di dalam masing-masing aplikasi lebih sulitan postgre daripada phpmyAdmin. jika postgre harus di klik kanan, slect all, lalu enter, dan masuk ke notepad lalu di paste. sedangkan phpmyAdmin caranya seperti biasa tidak perlu dipindahkan ke notepad.

-     Tanda petik di postgre tidak perlu sedangkan di phpmyadmin perlu

-     Tanda titik koma (;) di sql pengaruh

E.     Kesimpulan

Dari percobaan praktikum di atas kita bisa tahu, perbedaan antara postgreSQL dengan phpmyAdmin dalam memanajemen tabel. Baik dilihat dari syntaknya maupun cara-caranya. Bisa diambil kesimpulannya kalau postgreSQL lebih unggul dibanding yang lain.

F.     Saran dan Kritik

Dalam praktikum ini, membuat praktikan mengetahui kesulitan dari masing-masing aplikasi. Akan lebih baik diberi pengarahan terlebih dahulu dalam mengenal peraturan-peraturan yang ada di dalam masing-masing aplikasi mySQL.

G.    Manfaat

Pembaca tahu bagaimana cara membuat sekaligus menghapus tabel. Tidak hanya itu saja, pembaca juga bisa paham dan tahu mengedit struktur table dari masing-masing aplikasi serta dapat memanipulasinya.

 
 Sumber           :



0 komentar:

Posting Komentar