Rabu, 01 Oktober 2014

Laporan Praktikum Desain Basis Data 2 : Pembuatan & Manajemen Tabel






     Seperti kita ketahui bahwa database merupakan kumpulan dari tabel-tabel yang akan menyimpan data mentah. Telah diketahui bahwa tabel adalah komponen utama dari sebuah database. Karena itu, setiap tabel harus saling berhubungan agar akses data untuk mendapatkan informasi yang tepat dan cepat dapat dilakukan dengan baik.


Dalam Pembuatan Tabel:
  • Tabel harus memiliki primary key, artinya dalam pembuatan tabel haruslah terdapat sekelompok kolom  (field) yang menyebabkan setiap baris (record) dalam tabel  tersebut tidak sama.
  • Deklarasi primary key tidak boleh kosong (null), jadi kita harus mendeklarasikan  sebagai not null. Namun secara default PostgreSQL menganggapnya sebagai nullable (boleh kosong), jika waktu pengisian tidak menyebutkan null atau not null.
 Dalam SQL terdapat 3 perintah, yaitu: DDL, DML dan DCL

1. DDL (Data Definition Language)  
Merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. Beberapa perintah dasar yang termasuk DDL ini antara lain :
  • CREATE
  • ALTER
  • RENAME
  • DROP
2. (Data Manipulation Language)
Merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain :
  • SELECT
  • INSERT
  • UPDATE
  • DELETE

3. DCL atau Data Control Language Merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field. Perintah SQL yang termasuk dalam DCL antara lain :
  • GRANT
  • REVOKE

Selanjutnya dibawah ini adalah hasil praktikum membuat manajemen table menggunakan PostgreSQL


Membuat table dengan nama identitasNIM beserta field nya




 dengan query seperti berikut

CREATE TABLE namatabel ( field tipe Primary Key, field tipe (jumlah ukuran), field tipe, ....);

jika sudah membuat tabel, tuliskan perintah \d untuk melihat tabel yang telah kita buat tadi

sedangkan untuk melihat tabel beserta isinya dengan menuliskan perintah \d namatabel;


Buatlah tabel kedua dengan perintah yang sama seperti query diatas


Selanjutnya, menghapus salah satu kolom di dalam tabel menggunakan perintah

ALTER TABLE namatabel DROP COLUMN namakolom;


jika ingin menambah salah satu kolom pada tabel maka menggunakan perintah 

ALTER TABLE namatabel ADD COLUMN "namakolom" TIPE; 


 jika ingin mengubah nama tabel menggunakan perintah


ALTER TABLE namatabel_lama RENAME TO namatabel_baru;


kemudian mengubah nama kolom menggunakan perintah

ALTER TABLE namatabel RENAME COLUMN "namakolom_lama" TO namakolom_baru;


kemudian memberikan primary key* pada tabel 

ALTER TABLE namatabel ADD PRIMARY KEY;

*pada gambar tertulis ERROR dikarnakan tabel pada suatu kolom sudah ada primary key, maka tidak perlu menambahkannya jika sudah ada.
dan mengubah tipe data pada salah satu kolom

ALTER TABLE namatabel ALTER COLUMN namakolom TYPE tipedata; 


 kemudian menghapus tabel menggunakan perintah


DROP TABLE namatabel;

lalu membuat temporary* tabel menggunakan perintah

CREATE TEMPORARY TABLE namatabel (field tipedata, ...);

*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.


(di gambar baris 1) Hapus hak ases user 1 terhadap tabel identitasnim. 

REVOKE ALL ON TABLE namatabel FROM user;

(di gambar baris ke 2) Untuk memberikan kembali hak akses maka di grant kembali menggunakan perintah

 GRANT ALL ON TABLE namatabel to user;

(di gambar baris ke 3) Tutup kembali hak akses menggunakan perintah

REVOKE SELECT ON TABLE namatabel FROM user;

 

dan terakhir membuat tabel baru menggunakan perintah yang sama seperti membuat tabel diatas namun dilakukan secara pewarisan (inherits) menggunakan perintah

CREATE TEMPORARY TABLE namatabel (field tipe_data, field tipe_data ...) INHERITS (namatabel_induk); 


Setelah menggunakan PostgreSQL, Dibawah ini langkah-langkah Hasil praktikum dirumah membuat manajemen tabel menggunakan SQL

Masuk ke dalam akun super user MySQL dengan cara menggunakan perintah

 mysql -h localhost –u root
 
kemudian membuat akun menggunakan perintah 

CREATE USER ‘saya1’ @’localhost’ identified by ‘saya1’;


 membuat database menggunakan perintah

CREATE DATABASE prakdbd;


lalu koneksikan databasenya menggunakan perintah

USE prakdbd;


buat tabel menggunakan perintah 

CREATE TABLE pegawai ( id_idn INTEGER NOT NULL, namaDepan_idn VARCHAR(10), namaBelakang BARCHAR(10), tgl_lahir DATE, status_idn BOOLEAN, alamat_idn TEXT );

untuk menampilkan fields tabel menggunakan perintah

DESC pegawai; 


Selanjutnya, menghapus salah satu kolom di dalam tabel menggunakan perintah

ALTER TABLE pegawai DROP alamat_idn;


jika ingin menambah salah satu kolom pada tabel maka menggunakan perintah 

ALTER TABLE pegawai ADD pekerjaan_idn VARCHAR(15); 


jika ingin mengubah nama tabel menggunakan perintah


RENAME TABLE pegawai TO pekerjaNIM;


kemudian mengubah nama kolom menggunakan perintah

ALTER TABLE pekerjaNIM CHANGE pekerjaan_idn alamat_idn TEXT;


kemudian memberikan primary key pada tabel 

ALTER TABLE pekerjaNIM ADD PRIMARY KEY (id_idn);


 kemudian menghapus tabel menggunakan perintah


DROP TABLE pekerjaNIM;


lalu membuat temporary tabel menggunakan perintah

CREATE TEMPORARY TABLE mahasiswa_sementara (id INTEGER NOT NULL, nama VARCHAR(35), tgl_lahir DATE);


kemudian REVOKE tabel agar tidak bisa diakses menggunakan perintah

REVOKE ALL PRIVILEGES ON *.* FROM ‘saya1’ @’localhost’ IDENTIFIED BY ’saya1’;


Untuk mengecek masuk pada saya1, ketik perintah
 
 DESC identitasNIM; 

kemudian akan muncul bahwa tidak bisa diakses

 
Lalu kita coba untuk membuka hak akses menggunakan perintah
 
GRANT ALL PRIVILEGES ON *.* TO ‘saya1’ @’localhost’ identified by ‘saya1’ WITH GRANT OPTION;


Masuk lagi ke akun saya1 untuk mengecek apa bisa diakses tabel identitasNIM-nya. Koneksikan kepada database prakdbd dahulu, lalu ketik perintah

DESC identitasNIM;



Masuk pada akun root kembali, sekarang REVOKE SELECT pada akun saya1
 
REVOKE SELECT *.* FROM ‘saya1’ @’localhost’;


cek kembali , maka tidak bisa mengakses tabel



Dibawah ini adalah database dari tugas ERD (Entity Relationship Diagram) pada postingan kemarin. Perintahnya sama dengan perintah-perintah diatas yaitu mengkoneksikan database terlebih dahulu berikutnya baru membuat tabelnya.

 
Setelah mempraktikan perintah-perintah diatas dapat disimpulkan bahwa ada perbedaan antara PostgreSQL dan SQL, di antaranya yaitu :


PostgreSQL
SQL
Merubah nama kolom
 ALTER TABLE namatabel RENAME COLUMN “namakolom asal” TO namakolombaru;
ALTER TABLE namatabel CHANGE namakolomasal namakolombaru tipedata;
Melihat tabel
\d namatabel;
DESC namatabel;
Revoke
REVOKE ALL ON TABLE namatabel FROM  namauser;
REVOKE ALL ON TABLE namatabel FROM ‘namauser’@’localhost’;
Grant
GRANT ALL ON TABLE namatabel TO namauser;
GRANT ALL ON TABLE  namatabel TO ‘namauser’@’localhost’;
Revoke select
REVOKE SELECT ON TABLE namatabel FROM namauser;
REVOKE SELECT ON TABLE namatabel FROM ‘namauser’@’localhost’;
Membuat user
 
CREATE USER ‘user’ @’localhost’ IDENTIFIED BY ‘user’;
CREATE USER user WITH CREATEDB PASSWORD ‘user’;



    Kesimpulannya dalam PostgreSQL dan SQL kurang lebih penggunaan querynya banyak kesamaan, yaitu bisa membuat tabel, memanipulasi tabel, membuat temporary tabel, mengubah nama tabel, mengubah nama kolom, menambhakan primary key, memberi perintah keamanan seperti GRANT dan REVOKE, serta bisa memberi inheritance pada tabel.
      
     Bisa dilihat perbedaan query untuk masing-masing perintah pada tabel diatas. Maka ketika menjalankan keduanya , kita harus sabar dan memiliki konsentrasi penuh agar query keduanya tidak tertukar lalu error atau tidak bisa dijalankan sesuai keinginan kita.

     Dan semoga laporan praktikum diatas bermanfaat untuk pembaca yang sedang belajar atau mendalami perintah-perintah query PostgreSQL atau SQL. Kritik dan saran dari pembaca sangatlah penting untuk memperbaiki tulisan ataupun kesalahan penulisan query diatas dengan meninggalkan komentar di blog saya. Semoga bermanfaat :)   

Sumber : 
Materi Praktikum Desain Basis Data 2013.pdf
http://spatabang.blogspot.com/2013/06/cara-membuat-relasi-antar-tabel-database.html 
http://azilmoza.blogspot.com/2012/10/pembuatan-dan-manajemen-tabel-sebuah.html
http://budhisusetio.blogspot.com/p/sql-dml-ddl-dcl.html
Unknown Web Developer

Tidak ada komentar:

Posting Komentar