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.
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;
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);
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;
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.
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
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.
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
- User biasa tidak diberi hak APAPUN dan tidak bisa melihat apapun(user, database, tabel, dll) sehingga perlu diberi HAK
- Tidak diberi kewenangan apapun artinya :
- tidak bisa membuat database
- tidak bisa membuat tabel - 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) - ketika posisi menggunakan database posisi dibawah ini tidak berubah mysql>
- Bisa exit dari user, dengan mengetik >mysql quit
- 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
- user biasa diberi kewenangan berupa hak melihat :
- user
- database
- tabel
- Tapi tidak diberi hak edit apapun - Diberi kewenangan membuat:
- database
- table
- grant untuk user lain - 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) - ketika posisi menggunakan database simbol posisi dibawah ini berubah menjadi nama database:
- Tidak bisa exit dari use melainkan close psql comand
- 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