Tabel terdiri dari baris (row) dan kolom
(column). Dimana dalam sebuah tabel itu, jumlah dan nama kolom harus
didefinisikan terlebih dahulu, sedangkan untuk baris jumlah dan isinya akan
selalu berubah-ubah. Karena, baris merupakan sebuah variabel yang isinya
dapat ditambah atau dihapus setiap waktu, dan isi baris sendiri menyesuaikan
kolom, termasuk tipe datanya.
Tipe data yang ditentukan dalam sebuah kolom,
bertujuan untuk mempermudah dalam mengelola sebuah database, serta mempermudah saat akan dipakai database tersebut. 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.
Tabel pada PostgreSQL
1. Membuat Tabel
Catatan :
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 yang digunakan membuat tabel dengan dua kolom:
CREATE TABLE [NAMA TABEL] ([NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN] , [NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN]);
Untuk melihat struktur tabel yang telah dibuat ketikkan perintah “\d”.
Struktur query yang digunakan menghapus tabel adalah:
DROP TABLE [NAMA TABEL];
2. Manipulasi Tabel
Dalam pembuatan tabel sebaiknya direncanakan field dan tipe datanya untuk meminimalisir kesalahan saat tabel telah berisi data. Namun meskipun begitu bukan berarti tabel tidak bisa diubah dan dihapus. PostgreSQL telah menyediakan utilitas untuk manipulasi ini dan perllu diingat hal ini bukan manipulasi data melainkan manipulasi struktur tabelnya.
Struktur 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];
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]);
3.
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 [NAMA TABEL] ([NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN] , [NAMA KOLOM] [SPASI] [TIPE gran allDATA] [SPASI] [KETERANGAN]);
4. 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 [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];
5. 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 [NAMA TABEL] ([NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN] , [NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN]) INHERITS (NAMA TABEL INDUK);
6. Hubungan Antar Tabel /Relasi (References)
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.
Tabel pada MySQL
1. Membuat Tabel
Untuk membuat tabel dalam MySQL, harus dikoneksikan dahulu salam database, acranya dengan mengetikkan kode query “use nama_database;”, kemudian bisa dilanjutkan membuat tabel dengan query code:
CREATE TABLE nama_tabel (
field1 tipe(panjang),
field2 tipe(panjang),
...
fieldn tipe(panjang),
PRIMARY KEY (field_key)
);
Selanjutnya untuk melihat tabel mhs sudah benar benar sudah ada atau belum, ketikkan perintah berikut ini :
SHOW TABLES;
Untuk melihat struktur tabel secara lebih detail, cobalah perintah
atau query sebagai berikut :
DESC nama_tabel;.
2. Manipulasi Tabel
Untuk mengubah struktur suatu tabel, bentuk umum perintah SQL-nya
sebagai berikut :
ALTER TABLE nama_tabel alter_options;
Beberapa contoh variasi perintah ALTER untuk mengubah struktur suatu tabel antara lain :
Menambahkan field ke tabel
ALTER TABLE nama_tabel ADD nama_field tipe_data keterangan;
Menambahkan primary key pada suatu tabel
ALTER TABLE nama_tabel ADD PRIMARY KEY(field);
Mengubah tipe field menjadi varchar dalam tabel
ALTER TABLE nama_tabel MODIFY nama-field varchar(8) NOT
NULL;
Menghapus field dari tabel
ALTER TABLE nama_tabel DROP nama_field;
Untuk mengubah nama suatu tabel, dapat menggunakan perintah SQL:
RENAME TABLE pelanggan TO plg;
ALTER TABLE plg RENAME TO pelanggan;
Untuk menghapus sebuah tabel, bentuk umum dari perintah SQL adalah
sebagai berikut :
DROP TABLE nama_tabel;
3. Temporary Tabel
Untuk membuat temporary tabel dalam MySQL, perintah query seperti di bawah ini:
CREATE TEMPORARY TABLE NAMA_TABEL (nama_field tipe_data keterangan, nama_field tipe_data keterangan);
4. GRANT dan REVOKE
Untuk mengatur hak akses di MySQL, pada dasarnya kita menggunakan
bentuk perintah GRANT dan REVOKE.
Berikut ini bentuk umum perintah GRANT dan REVOKE secara
sederhana :
GRANT priv_type
ON {tbl_name | * | *.* | db_name.*}
TO user_name [IDENTIFIED BY 'password']
[WITH GRANT OPTION];
REVOKE priv_type
ON {tbl_name | * | *.* | db_name.*}
FROM user_name;
Perintah GRANT dan REVOKE dapat digunakan untuk membuat user
barumaupun mengatur hak akses user yang sudah ada dengan hak akses (privileges)tertentu. Tingkatan hak akses user dapat terbagi menjadi
tingkatan global(tersimpan di tabel mysql.user), database (tersimpan di
tabel mysql.host danmysql.db), tabel (tersimpan di tabel mysql.tables_priv) dan kolom (tersimpan di tabel mysql.columns_priv).
Setiap perubahan hak akses di MySQL, termasuk menambahkan user
baru,tidak akan berlaku sebelum diakhiri dengan perintah
FLUSH PRIVILEGES;.
Pembuatan Tabel pada PostgreSQL
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 gran allDATA] [SPASI] [KETERANGAN]);
4. 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 [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];
5. 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 [NAMA TABEL] ([NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN] , [NAMA KOLOM] [SPASI] [TIPE DATA] [SPASI] [KETERANGAN]) INHERITS (NAMA TABEL INDUK);
6. Hubungan Antar Tabel /Relasi (References)
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.
Tabel pada MySQL
1. Membuat Tabel
Untuk membuat tabel dalam MySQL, harus dikoneksikan dahulu salam database, acranya dengan mengetikkan kode query “use nama_database;”, kemudian bisa dilanjutkan membuat tabel dengan query code:
CREATE TABLE nama_tabel (
field1 tipe(panjang),
field2 tipe(panjang),
...
fieldn tipe(panjang),
PRIMARY KEY (field_key)
);
Selanjutnya untuk melihat tabel mhs sudah benar benar sudah ada atau belum, ketikkan perintah berikut ini :
SHOW TABLES;
Untuk melihat struktur tabel secara lebih detail, cobalah perintah
atau query sebagai berikut :
DESC nama_tabel;.
2. Manipulasi Tabel
Untuk mengubah struktur suatu tabel, bentuk umum perintah SQL-nya
sebagai berikut :
ALTER TABLE nama_tabel alter_options;
Beberapa contoh variasi perintah ALTER untuk mengubah struktur suatu tabel antara lain :
Menambahkan field ke tabel
ALTER TABLE nama_tabel ADD nama_field tipe_data keterangan;
Menambahkan primary key pada suatu tabel
ALTER TABLE nama_tabel ADD PRIMARY KEY(field);
Mengubah tipe field menjadi varchar dalam tabel
ALTER TABLE nama_tabel MODIFY nama-field varchar(8) NOT
NULL;
Menghapus field dari tabel
ALTER TABLE nama_tabel DROP nama_field;
Untuk mengubah nama suatu tabel, dapat menggunakan perintah SQL:
RENAME TABLE pelanggan TO plg;
ALTER TABLE plg RENAME TO pelanggan;
Untuk menghapus sebuah tabel, bentuk umum dari perintah SQL adalah
sebagai berikut :
DROP TABLE nama_tabel;
3. Temporary Tabel
Untuk membuat temporary tabel dalam MySQL, perintah query seperti di bawah ini:
CREATE TEMPORARY TABLE NAMA_TABEL (nama_field tipe_data keterangan, nama_field tipe_data keterangan);
4. GRANT dan REVOKE
Untuk mengatur hak akses di MySQL, pada dasarnya kita menggunakan
bentuk perintah GRANT dan REVOKE.
Berikut ini bentuk umum perintah GRANT dan REVOKE secara
sederhana :
GRANT priv_type
ON {tbl_name | * | *.* | db_name.*}
TO user_name [IDENTIFIED BY 'password']
[WITH GRANT OPTION];
REVOKE priv_type
ON {tbl_name | * | *.* | db_name.*}
FROM user_name;
Perintah GRANT dan REVOKE dapat digunakan untuk membuat user
barumaupun mengatur hak akses user yang sudah ada dengan hak akses (privileges)tertentu. Tingkatan hak akses user dapat terbagi menjadi
tingkatan global(tersimpan di tabel mysql.user), database (tersimpan di
tabel mysql.host danmysql.db), tabel (tersimpan di tabel mysql.tables_priv) dan kolom (tersimpan di tabel mysql.columns_priv).
Setiap perubahan hak akses di MySQL, termasuk menambahkan user
baru,tidak akan berlaku sebelum diakhiri dengan perintah
FLUSH PRIVILEGES;.
Pembuatan Tabel pada PostgreSQL
1. Membuat
table dengan nama dan field yang sudah
di tentukan di atas, kita harus tahu terlebih dahulu struktur query yang akan
kita gunakan untuk membuat table, strukturnya adalah seperti berikut.
Query dasar :
CREATE TABLE
namatabel (namakolom tipedata keterangan, namakolom tipedata keterangan,
namakolom tipedata keterangan );
Untuk melihat struktur table yang telah kita buat,
ketikkan perintah \d namatabel, dan untuk melihat nama table, ketikkan perintah
\z.
2. Membuat table baru dengan nama “pegawai” dan dengan
field yang sama seperti pada table 1.
Berikut jadinya :
3. Menghapus kolom “alamat_idn” pada table
pegawai dan tampilkan struktur tablenya.
Query dasar :
ALTER TABLE namatable DROP COLUMN namakolom;
Untuk menampilkan struktur tabelnya, ketikkan \d
dengan di ikuti namatabel.
4.
Menambahkan kolom “pekerjaan_idn” dengan type data varchar dan tampilkan
struktur table pegawai.
Query dasar :
ALTER TABLE namatabel Add Column “namakolom” tipe data;
5. Mengubah nama table pegawai menjadi pekerjaNIM dan
mengubah nama kolom “pekerjaan_idn” menjadi “alamat_idn” dan tampilkan
strukturnya.
Query dasar :
a. ALTER
TABLE namatabelawal Rename to namatabelbaru;
b. ALTER
TABLE namatabel rename column “namakolomawal” to namakolombaru;
6.
Memberikan primary key pada table pekerjaNIM dan mengubah type data pada
kolom “alamat_idn” menjadi text.
Query dasar :
a.
Struktur query yang digunakan untuk menambahkan primary key pada table
ALTER TABLE namatabel add primary key (namakolom);
b. Struktur
query yang digunakan untuk mengubah type data dari suatu kolom tertentu.
ALTER TABLE namatabel ALTER COLUMN namakolom Type
namatypepengganti;
7. Hapus table pekerjaNIM
Query dasar :
DROP TABLE pekerjaNIM;
Jika setelah di ENTER terdapat pesan DROP TABLE,
maka table “pekerjaNIM” sudah terhapus.
8. Membuat
temporary table dengan nama mahasiswa_sementara dengan 3 field (id, nama, dan
tgl_lahir) setelah itu tampilkan.
Query dasar :
CREATE TEMPORARY TABLE namatabel (namakolom tipedata
keterangan, namakolom tipedata keterangan, namakolom tipedata keterangan);
9. Grant
and Revoke
Query dasar :
a.
Struktur penggunaan GRANT untuk semua hak akses :
Grant all on table namatabel to namauser;
b. Struktur
penggunaan REVOKE untuk semua hak akses :
Revoke all on table namatabel from namauser;
c.
Struktur penggunaan REVOKE untuk salah satu hak akses, misalnya SELECT :
Grant Select on table namatabel from namauser;
d. Struktur
penggunaan REVOKE untuk salah satu hak akses, misalnya SELECT :
Revoke Select on table namatabel from namauser;
Jika sudah ada pesan GRANT dan REVOKE, berarti
penutupan dan pengaktifan hak akses yang kita lakukan sudah berhasil.
Pengecekan :
Buka SQL shell baru, kemudian masuk dengan user
kita dan lakukan pengecekan dengan mengetikkan, SELECT * from namatabel;
* Jika kita
lakukan GRANT maka kita bisa melihat struktur tabelny, sedangkan jika kita
melakukan revoke selanjutnya aka nada pesan “permission denied for…..”
menandakan bahwa hak akses database telah ditutup.
* Begitu pula
jika kita melakukan GRANT and REVOKE pada salah satu hak akses misalnya
(SELECT, UPDATE, DELETE).
10. Membuat
table baru dengan nama Gaji, yang merupakan turunan dari table pertama, dengan
fieldnya (gaji kotor, pajak, gaji bersih), setelah itu tampilkan.
Query
dasar :
CREATE
TEMPORARY TABLE namatabel (gaji_kotor integer, pajak integer, gaji_bersih integer) inherits
(namatabelinduk);
Berikut
contohnya :
Perbandingan
DBMS PostgreSQL dengan MySQL
- Dalam membuat user, perintah querynya berbeda.
- Mengoneksikan database dalam postgreSQL dan MySQL berbeda.
- Untuk cara membuat tabelnya kira-kira sama dalam querynya.
- Dalam melihat daftar tabel, ada perbedaan query. (show dan \z)
- Query untuk menampilkan struktur tabel berbeda. (desc dan \d)
- Dalam menghapus dan menambahkan field, ada perbedaan dengan adanya tulisan “column serta tanda petik”.
- Dalam rename tabel, hanya terjadi perubahan posisi kata, serta penambahan kata alter.
- Ketika merubah field, perbedaannya langsung diminta memasukkan tipe data field pengganti dalam MySQL
- Dalam GRANT dan REVOKE, di MySQL perintah querynya lebih panjang dibandingkan PostgreSQL.
- Untuk mengecek sudah di GRANT atau REVOKE, dalam postgreSQL mengecek melalui “SELECT * FROM NAMA_TABEL;”, kalau MySQL melalui “DESC NAMA_TABEL;”.
- www.fairuzzumar.blogspot.com
-Modul Pratek DBD bab II
-www.sinauonlen.blogspot.com
Training Scriptcase di Indonesia, kunjungi www.OwenSolution.com
BalasHapus