Yoo.. balik lagi di laporan praktikum Desain Basis Data. Yang
kali ini mau ngebahas tentang pembuatan tabel dan manajemennya. Penjelasan materinya dibawah, masih menggunakan postgreSQL. Langsung
capcuss aja yaa..
Dasar Teori
Tabel merupakan tempat di mana data tersimpan. Setiap tabel
memiliki field/kolom dan record/baris. Dalam membuat tabel terdapat ketentuan
–ketentuan yang harus di lengkapi, salah satunya yaitu field dan record.
Pembuatan tabel terkait erat dengan sistem yang akan di buat.
Perintah
membuat tabel membutuhkan:
- Nama tabel
- Nama bidang
- Definisi untuk setiap kolom
nih struktur
querinya:
CREATE TABLE nama_tabel (nama_kolom1 tipe_data ket, nama_kolom2
tipe_data ket, ...);
Kalo ingin menghapus tabel tinggal drop aja:DROP TABLE nama_tabel;
Alter Command
Perintah ALTER sangat berguna ketika kita
ingin memanipulasi tabel.
Misal nih,
kita ingin menghapus salah satu kolom yang ada pada tabel
ALTER TABLE nama_tabel DROP COLUMN “nama_kolom”;
Untuk
menambahkan kolom, gunakan ADD.
ALTER TABLE nama_tabel ADD COLUMN “nama_kolom” tipe_data;
Mengubah Definisi Kolom atau Nama
Untuk
mengubah definisi kolom, gunakan klausa RENAME COLUMN bersama dengan perintah ALTER. Berikut
struktur querinya:
ALTER TABLE nama_tabel RENAME COLUMN “namaKolom_asal” TO namaKolom_baru;
Mengganti Nama Tabel
Untuk
mengubah nama tabel, gunakan pilihan RENAME pernyataan ALTER TABLE.Nih struktur querinya:
ALTER TABLE namaTabel_asal RENAME TO namaTabel_baru;
Mengubah Tipe Data
Struktur query yang digunakan untuk mengubah type dari kolom tertentu :ALTER TABLE nama_tabel ALTER COLUMN nama_kolom TYPE namaType_pengganti;
Menambahkan Primary Key
Struktur query yang digunakan untuk
menambahkan primary key pada tabel :
ALTER TABLE nama_tabel ADD PRIMARY KEY (nama_kolom);
Tabel Temporari
Tabel Temporari merupakan tabel yang
bersifat sementara. Tabel ini hanya aktif ketika sedang berada atau login ke
database, namun, ketika keluar dari plsql maka tabel tersebut akan otomatis
terhapus.
Nih struktur query membuat temporary tabel:
CREATE TEMPORARY TABLE nama_tabel tabel (nama_kolom1
tipe_data ket, nama_kolom2 tipe_data ket,....);
Keuntungan penggunaan tabel temporari adalah tidak membebani
besarnya file, keuntungan lainnya adalah tabel temporari dapat digunakan untuk
proses secara bersamaan pada waktu yang sama dengan user yang berbeda-beda atau
lebih mudahnya tabel temporari sangat membantu untuk aplikasi program berbasis
client server tanpa perlu membuat tabel bantu pada masing-masing client.
Grant dan Revoke
Grant merupakan
perintah untuk memberikan hak izin akses bagi user di agar dapat mengakses
database, tabel dan kolom.
Izin akses penuh ini digunakan untuk mengakses seluruh database dalam
server. Untuk memberikan izin kita harus terlebih dahulu memilih databasenya.
Selanjutanya lakukan perintah berikut :
GRANT ALL ON TABLE namatabel TO nama_user;
Struktur query untuk memberi salah satu hak
akses, misalnya DELETE :
GRANT DELETE ON TABEL namatabel TO nama_user;
Revoke merupakan kebalikan dari perintah
grant yaitu menghapus atau mencabut kembali izin akses user MySQL yang
sebelumnya telah diberikan. Tingkat pilihan yang dapat digunakan juga sama
dengan perintah grant sehingga semua izin akses dengan grant dapat dicabut
kembali.
Berikut struktur penggunaan REVOKE untuk semua hak akses :
Berikut struktur penggunaan REVOKE untuk semua hak akses :
REVOKE ALL ON TABLE namatabel FROM nama_user;
Struktur query untuk menghapus salah satu hak
akses, misalnya UPDATE :
REVOKE UPDATE ON TABEL namatabel FROM nama_user;
Tabel Turunan (Inheritance)
INHERITANCE dipergunakan jika ingin membuat
sebuah tabel baru yang berhubungan dengan tabel yang ada, dengan kata lain
turunan tabel pertama. Ini nih struktur query INHERITANCE :
CREATE TABLE namatabel (nama_kolom tipedata keterangan , nama_kolom tipe_data
keterangan) inherits (namaTabel_induk);
Hasil Praktikum
Ini hasil praktikum di lab kemarin menggunakan PosgreSQL
Yang berikut ini merupakan hasil praktikum yang menggunakan MySQL. Selamat mencoba readers..
Server [localhost]:
Database [postgres]: permata13650083
Port [5432]:
Username [postgres]:
Password for user postgres:
psql (9.3.5)
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
Type "help" for help.
permata13650083=# create table identitas13650083 (id_idn integer not null, namaD
epan_idn varchar(10), namaBelakang_idn varchar(10), tglLahir_idn date, status_id
n boolean, alamat_idn text);
CREATE TABLE
permata13650083=# create table pegawai (id_idn integer not null, namaDepan_idn v
archar(10), namaBelakang_idn varchar(10), tglLahir_idn date, status_idn boolean,
alamat_idn text);
CREATE TABLE
permata13650083=# alter table pegawai drop column "alamat_idn";
ALTER TABLE
permata13650083=# \d pegawai
Table "public.pegawai"
Column | Type | Modifiers
------------------+-----------------------+-----------
id_idn | integer | not null
namadepan_idn | character varying(10) |
namabelakang_idn | character varying(10) |
tgllahir_idn | date |
status_idn | boolean |
permata13650083=# alter table pegawai add column "pekerjaan_idn" varchar(10);
ALTER TABLE
permata13650083=# \d pegawai
Table "public.pegawai"
Column | Type | Modifiers
------------------+-----------------------+-----------
id_idn | integer | not null
namadepan_idn | character varying(10) |
namabelakang_idn | character varying(10) |
tgllahir_idn | date |
status_idn | boolean |
pekerjaan_idn | character varying(10) |
permata13650083=# alter table pegawai rename to pekerja13650083;
ALTER TABLE
permata13650083=# alter table pekerja13650083 rename column pekerjaan_idn to ala
mat_idn;
ALTER TABLE
permata13650083=# \d pekerja13650083
Table "public.pekerja13650083"
Column | Type | Modifiers
------------------+-----------------------+-----------
id_idn | integer | not null
namadepan_idn | character varying(10) |
namabelakang_idn | character varying(10) |
tgllahir_idn | date |
status_idn | boolean |
alamat_idn | character varying(10) |
permata13650083=# alter table pekerja13650083 add primary key (id_idn);
ALTER TABLE
permata13650083=# alter table pekerja13650083 alter column alamat_idn type text;
ALTER TABLE
permata13650083=# \d pekerja13650083
Table "public.pekerja13650083"
Column | Type | Modifiers
------------------+-----------------------+-----------
id_idn | integer | not null
namadepan_idn | character varying(10) |
namabelakang_idn | character varying(10) |
tgllahir_idn | date |
status_idn | boolean |
alamat_idn | text |
Indexes:
"pekerja13650083_pkey" PRIMARY KEY, btree (id_idn)
permata13650083=# drop table pekerja13650083;
DROP TABLE
permata13650083=# create temporary table mahasiswa_sementara (id integer, nama v
archar(20), tglLahir date);
CREATE TABLE
permata13650083=# \d mahasiswa_sementara;
Table "pg_temp_2.mahasiswa_sementara"
Column | Type | Modifiers
----------+-----------------------+-----------
id | integer |
nama | character varying(20) |
tgllahir | date |
permata13650083=# revoke all on table identitas13650083 from permata;
REVOKE
permata13650083=# grant all on table identitas13650083 to permata;
GRANT
permata13650083=# revoke select on table identitas13650083 from permata;
REVOKE
permata13650083=# create table gaji (gajiKotor integer, pajak integer, gajiBersi
h integer) inherits (identitas13650083);
CREATE TABLE
permata13650083=# \d gaji
Table "public.gaji"
Column | Type | Modifiers
------------------+-----------------------+-----------
id_idn | integer | not null
namadepan_idn | character varying(10) |
namabelakang_idn | character varying(10) |
tgllahir_idn | date |
status_idn | boolean |
alamat_idn | text |
gajikotor | integer |
pajak | integer |
gajibersih | integer |
Inherits: identitas13650083
permata13650083=#
Database [postgres]: permata13650083
Port [5432]:
Username [postgres]:
Password for user postgres:
psql (9.3.5)
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
Type "help" for help.
permata13650083=# create table identitas13650083 (id_idn integer not null, namaD
epan_idn varchar(10), namaBelakang_idn varchar(10), tglLahir_idn date, status_id
n boolean, alamat_idn text);
CREATE TABLE
permata13650083=# create table pegawai (id_idn integer not null, namaDepan_idn v
archar(10), namaBelakang_idn varchar(10), tglLahir_idn date, status_idn boolean,
alamat_idn text);
CREATE TABLE
permata13650083=# alter table pegawai drop column "alamat_idn";
ALTER TABLE
permata13650083=# \d pegawai
Table "public.pegawai"
Column | Type | Modifiers
------------------+-----------------------+-----------
id_idn | integer | not null
namadepan_idn | character varying(10) |
namabelakang_idn | character varying(10) |
tgllahir_idn | date |
status_idn | boolean |
permata13650083=# alter table pegawai add column "pekerjaan_idn" varchar(10);
ALTER TABLE
permata13650083=# \d pegawai
Table "public.pegawai"
Column | Type | Modifiers
------------------+-----------------------+-----------
id_idn | integer | not null
namadepan_idn | character varying(10) |
namabelakang_idn | character varying(10) |
tgllahir_idn | date |
status_idn | boolean |
pekerjaan_idn | character varying(10) |
permata13650083=# alter table pegawai rename to pekerja13650083;
ALTER TABLE
permata13650083=# alter table pekerja13650083 rename column pekerjaan_idn to ala
mat_idn;
ALTER TABLE
permata13650083=# \d pekerja13650083
Table "public.pekerja13650083"
Column | Type | Modifiers
------------------+-----------------------+-----------
id_idn | integer | not null
namadepan_idn | character varying(10) |
namabelakang_idn | character varying(10) |
tgllahir_idn | date |
status_idn | boolean |
alamat_idn | character varying(10) |
permata13650083=# alter table pekerja13650083 add primary key (id_idn);
ALTER TABLE
permata13650083=# alter table pekerja13650083 alter column alamat_idn type text;
ALTER TABLE
permata13650083=# \d pekerja13650083
Table "public.pekerja13650083"
Column | Type | Modifiers
------------------+-----------------------+-----------
id_idn | integer | not null
namadepan_idn | character varying(10) |
namabelakang_idn | character varying(10) |
tgllahir_idn | date |
status_idn | boolean |
alamat_idn | text |
Indexes:
"pekerja13650083_pkey" PRIMARY KEY, btree (id_idn)
permata13650083=# drop table pekerja13650083;
DROP TABLE
permata13650083=# create temporary table mahasiswa_sementara (id integer, nama v
archar(20), tglLahir date);
CREATE TABLE
permata13650083=# \d mahasiswa_sementara;
Table "pg_temp_2.mahasiswa_sementara"
Column | Type | Modifiers
----------+-----------------------+-----------
id | integer |
nama | character varying(20) |
tgllahir | date |
permata13650083=# revoke all on table identitas13650083 from permata;
REVOKE
permata13650083=# grant all on table identitas13650083 to permata;
GRANT
permata13650083=# revoke select on table identitas13650083 from permata;
REVOKE
permata13650083=# create table gaji (gajiKotor integer, pajak integer, gajiBersi
h integer) inherits (identitas13650083);
CREATE TABLE
permata13650083=# \d gaji
Table "public.gaji"
Column | Type | Modifiers
------------------+-----------------------+-----------
id_idn | integer | not null
namadepan_idn | character varying(10) |
namabelakang_idn | character varying(10) |
tgllahir_idn | date |
status_idn | boolean |
alamat_idn | text |
gajikotor | integer |
pajak | integer |
gajibersih | integer |
Inherits: identitas13650083
permata13650083=#
Yang berikut ini merupakan hasil praktikum yang menggunakan MySQL. Selamat mencoba readers..
Membuat sebuah tabel dengan nama
identitasNIM dan dengan nama fieldnya
Nama
|
Tipe Data
|
Keterangan
|
id_idn
|
Integer
|
Not Null
|
namaDepan_idn
|
Varchar(10)
|
|
namaBelakang_idn
|
Varchar(10)
|
|
tgl_lahir_idn
|
Date
|
|
status_idn
|
Boolean
|
|
alamat_idn
|
Text
|
Membuat sebuah tabel lagi dengan nama pegawai dan nama field sama dengan tabel identitasNIM.
Menghapus kolom “alamat_idn” dan menampilkan struktur dari tabel pegawai.
Menambahkan kolom “pekerjaan_idn” dengan type data varchar dan menampilkan struktur tabel pegawai.
Mengubah nama tabel pegawai menjadi pekerjaNIM kemudian mengubah nama kolom “pekerjaan_idn” menjadi “alamat_idn” dan menampilkannya.
Memberi Primary key pada tabel pekerjaNIM dan mengubah type data pada kolom “alamat_idn” menjadi text. Kemudian menampilkan struktur tabel.
Menghapus tabel pekerjaNIM
Membuat temporary tabel dengan nama mahasiswa_sementara dengan 3 kolom yaitu id, nama, tanggal lahir dan menampilkan tabel atau strukturnya.
Menghapus semua hak akses tabel tertentu kepada salah satu user yang telah dibuat dan melakukan pengecekan.
Kemudian memberikan semua hak akses kembali dan melakukan pengecekan kembali.
Menghapus hak akses SELECT tabel tertentu kepada salah satu user dan melakukan pengecekan.
Pekerjaan Rumah
Membuat database dan tabel sistem dari ERD yang telah dibuat pada laporan 1 menggunakan query dan dilengkapi dengan tampilan strukturnya.
Disini, kita pakek MySQL untuk membuat databasenya.
Pertama buat databasenya dulu ya. Nama databasenya butik_zahira.
Jangan lupa koneksiin dulu sama database yang baru dibuat
Kalo udah, baru deh buat tabel-tabelnya. Dalam database butik_zahira ini ada 5 tabel yaitu tabel barang, tabel jenis, tabel pelanggan, tabel transaksi, dan tabel karyawan.
Pertama buat tabel barang
Membuat tabel jenis
Membuat tabel pelanggan
Membuat tabel transaksiMembuat tabel karyawan
Evaluasi Perbedaan DBMS MySQL dan PostgreeSQL
Kategori Perbedaan
|
PostgreeSQL
|
MySQL
|
Hak akses user biasa
|
Melihat daftar semua user dan database
|
Tidak dapat melihat daftar semua user
dan database
|
Koneksi ke database
|
\c nama_database
|
USE nama_database
|
Menampilkan daftar
tabel
|
\z
|
SHOW TABLES;
|
Menampilkan struktur
tabel
|
\d nama_tabel
|
SHOW COLUMNS FROM
nama_tabel;
|
Menghapus kolom
|
ALTER TABLE nama_tabel
DROP COLUMN “nama_kolom”;
|
ALTER TABLE nama_tabel
DROP COLUMN nama_kolom;
|
Menambah kolom
|
ALTER TABLE nama_tabel
ADD COLUMN “nama_kolom” tipe_data;
|
ALTER TABLE nama_tabel
ADD COLUMN nama_kolom tipe_data;
|
Mengubah nama kolom
|
ALTER TABLE nama_tabel
RENAME COLUMN “nama_kolom_lama” TO “nama_kolom_baru”;
|
ALTER TABLE nama_tabel
CHANGE nama_kolom_lama nama_kolom_baru tipe_data;
|
Mengubah tipe data
|
ALTER TABLE nama_tabel
ALTER COLUMN nama_kolom TYPE tipe_data;
|
ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data;
|
Tabel Turunan
|
CREATE TABLE nama_tabel
(nama_kolom tipe keterangan) INHERITS (kolom_induk);
|
Tidak memiliki fitur tabel turunan
(pewarisan tabel).
|
Simpulan
Simpulan yang didapat dari praktikum kemaren adalah cara
untuk membuat tabel pada database dengan
CREATE TABLE nama_tabel (nama_kolom1 tipe_data ket, nama_kolom2
tipe_data ket, ...);
Suatu tabel harus memiliki primary key yang berfungsi
untuk mencirikan suatu tabel dari tabel yang lainnya. Selain itu primary key
juga dapat mengantisipasi adanya redudansi (pengulangan data).
Kemudian untuk memanipulasi suatu tabel kita dapat
menggunakan command ALTER TABLE.
Sekian dulu yaa laporan praktikum kali ini. Semoga readers bisa ngambil manfaatnya. Oh ya, komen-komennya ditunggu nih, biar praktikum selanjutnya bisa lebih baik lagi. Thanksfull buat yang udah baca.. see you..
Referensi:
Modul Praktikum Desain Basis Data
Sekian dulu yaa laporan praktikum kali ini. Semoga readers bisa ngambil manfaatnya. Oh ya, komen-komennya ditunggu nih, biar praktikum selanjutnya bisa lebih baik lagi. Thanksfull buat yang udah baca.. see you..
Referensi:
Modul Praktikum Desain Basis Data
http://tutorial.belajarweb.net/mysql/tutorial-buat-tabel-mysql.html
0 komentar:
Posting Komentar