Pembuatan dan Manajemen Tabel
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. Sangat disarankan pada saat akan membuat tabel, sebaiknya membuat sebuah konvensi khusus dalam penentuan tabel-tabel yang akan dibuat dan memberikan nama kolom maupun tipe datanya.
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.
Struktur query untuk pembuatan table:
create table [nama_tabel] ([nama_kolo] [spasi] [type data] [spasi] [keterangan], primary key ([nama_kolom]));
Untuk melihat strukture tabel yang telah dibuat ketikan "\d".
Strukture query untuk menghapus table:
drop table [nama_table];
Untuk memanipulasi table terdapat beberapa strukture query.
- Strukture query yang digunakan untuk menghapus kolom:
ALTER TABLE [NAMA TABEL] DROP COLUMN “[NAMA KOLOM]”;
- Struktur query yang digunakan untuk menambah kolom:
ALTER TABLE [NAMA TABEL] ADD COLUMN “[NAMA KOLOM]” [SPASI]
[TIPE_DATA] [SPASI] [KET];- Struktur query yang digunakan untuk mengubah nama tabel :
ALTER TABLE [NAMA TABEL ASAL] RENAME TO [NAMA TABEL BARU];- Struktur query yang digunakan untuk mengubah nama kolom :
ALTER TABLE [NAMA TABLE] RENAME COLUMN “[NAMA KOLOM
ASAL]” TO [NAMA KOLOM BARU] ;- Struktur query yang digunakan untuk menambahkan primary key pada tabel :
ALTER TABLE [NAMA TABEL] ADD PRIMARY KEY ([NAMA KOLOM]);
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 [NAMA TABEL] ([NAMA KOLOM] [SPASI]
[TIPE DATA] [SPASI] [KETERANGAN] , [NAMA KOLOM] [SPASI] [TIPE
DATA] [SPASI] [KETERANGAN]);
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 [NAMA TABEL] TO [NAMA USER];
Berikut struktur penggunaan REVOKE untuk semua hak akses :
REVOKE ALL ON TABLE [NAMA TABEL] FROM [NAMA USER];
Struktur query untuk menghapus salah satu hak akses, misalnya UPDATE :
REVOKE UPDATE ON TABEL [NAMA TABEL] FROM [NAMA USER];
Struktur query untuk memberi salah satu hak akses, misalnya DELETE :
GRANT DELETE ON TABEL [NAMA TABEL] TO [NAMA USER];
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 [NAMA TABEL] ([NAMA KOLOM] [SPASI]
[TIPE DATA] [SPASI] [KETERANGAN] , [NAMA KOLOM] [SPASI] [TIPE
DATA] [SPASI] [KETERANGAN]) INHERITS (NAMA TABEL INDUK);
Dalam hal hubungan antar tabel, ada beberapa syarat yang harus terpenuhi seperti, antara tabel yang ingin dihubungkan harus memiliki sebuah field dengan tipe data yang sama. Dengan kata lain ada tabel yang memiliki primary key sebagai kunci untuk menghubungkan ke tabel yang lain dimana terdapat field yang mempunyai tipe data yang sama dengan kata lain yang disebut foreign key. Misalnya, terdapat tabel barang dan macam_barang. Berikut query kedua tabel tersebut :
CREATE TABLE barang (bar_id INTEGER NOT NULL, bar_nama
VARCHAR(15), mac_id INTEGER NOT NULL REFERENCE macam_barang,
PRIMARY KEY (bar_id, mac_id));
CREATE TABLE macam_barang (mac_id INTEGER NOT NULL, mac_nama
VARCHAR(15), mac_guna VARCHAR(40), PRIMARY KEY (mac_id));
Tugas Praktikum:
- Buatlah sebuah tabel dengan nama identitas dan dengan ketentuan sebagai berikut:
2. Buatlah sebuah tabel lagi dengan nama pegawai dengan ketentuan seperti di nomor 1
3. Hapus kolom “ide_alamat” dan tampilkan struktur dari tabel pegawai tadi.
4. Tambahkan kolom “ide_pekerjaan” dan tampilkan struktur tabel pegawai.
5. Ubah nama tabel pegawai menjadi pekerja kemudian ubah nama kolom “ide_pekerja”
menjadi “ide_alamat” dan tampilkan.
6. Berikan Primary key pada tabel pekerja. Kemudian tampilkan struktur tabel.
7. Hapus tabel identitas.
8. Buat temporary tabel dengan nama mahasiswa_sementara dan tampilkan tabel atau
strukturnya. Kemudian log out user dan login kembali dan periksa kembali keberadaan
tabel temporary tadi.
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.
10. Hapus hak akses SELECT tabel tertentu kepada salah satu user dan lakukan pengecekan.
11. Buatlah tabel Mahasiswa, Fakultas dan Jurusan. Buat hubungan antar tabel dari ketiga
tabel tersbut.
Semoga Bermanfaat ^-^
Post By: Azil Moza