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.
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);
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);
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;
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.
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
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
Gambar
1.9. Syntak ubah nama tabel pegawai jadi pekerjaNIM
Gambar
2.0. Tampilan change kolom jadi alamat_idn
Gambar
2.1 syntak serta tampilan tabelnya pekerjaNIM
Gambar
2.2 syntak serta tampilannya
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;
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)
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
D. Evaluasi
Perbandingan DBMS MySQL dan PostgreSQL
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;
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 :
http://www.proweb.co.id/articles/web_application/rdbm
http://ilmuonline.net/belajar-database-mysql-menambah-memodifikasi-menghapus-tabel/s.html
http://ilmuonline.net/belajar-database-mysql-menambah-memodifikasi-menghapus-tabel/s.html