Well well,,, kali ini aku mau share lanjutan dari post sebelumnya yaitu Praktikum Basis Data Oracle Part 1 dimana sebelumnya membahas mengenai pembuatan user, tablespace dan syart-syarat awal yang diperlukan untuk memulai pembahasan/pembelajaran pada umumnya mengenai Oracle Database.
Di Part 2 ini aku ingin share mengenai beberapa hal, diantaranya adalah :
- Membuat sebuah tabel dilengkapi dengan constraint
- Mengubah nama tabel (rename table)
- Merubah nama field/kolom dari sebuah tabel
- Menghapus tabel
- Menambahkan index, menambah constraint pada tabel
- Membuat tabel dengan meng-copy / berdasarkan struktur dari tabel lain
- Melihat constraint yang ada pada suatu tabel
Yah,,, lumayan poin yang akan dibahas kali ini, semoga bisa bermanfaat bagi semua 🙂
Pertama (Membuat Tabel Dilengkapi Constraint)
Berikut ini contoh untuk membuat suatu tabel dengan nama TaMod2 dengan 5 field/kolom, lihat script query berikut :
CREATE TABLE TaMod2 (
kode_user INT,
nama_user VARCHAR(30) NOT_NULL,
telepon VARCHAR(12),
email VARCHAR(25),
alamat VARCHAR(100),
CONSTRAINT pk_user PRIMARY KEY(kode_user));
Kedua (Merubah Nama Tabel)
Misalkan dari tabel diatas, kita akan merubah namanya dari TaMod2 menjadi TabMod2, maka bisa menggunakan query seperti berikut ini :
RENAME TaMod2 TO TabMod2;
Ketiga (Merubah Nama Kolom & Merubah Tipe Data Field/Kolom)
-- Query untuk merubah nama field / kolom
-- Contohnya untuk merubah kolom nama_user menjadi nama_pengguna
ALTER TABLE TabMod2 RENAME COLUMN nama_user TO nama_pengguna;
-- Query untuk merubah tipe data dari field tertentu pada tabel
-- Contoh berikut adalah merubah tipe data dari field kode_user
-- yang mana awalnya bertipe data INT, dirubah menjadi VARCHAR
ALTER TABLE TabMod2 MODIFY (kode_user VARCHAR(10));
Keempat (Menghapus Tabel)
Untuk menghapus tabel di Oracle, ada 2 metode yang perlu diketahui, yaitu dihapus secara biasa tapi masih tersisa di Recycle Bin-nya Oracle, atau benar-benar dihapus tanpa bekas. Berikut ini adalah query yang bisa kalian pakai, pertama adalah menghapus secara biasa dan query yang kedua untuk benar-benar menghapus tabel tanpa sisa di BIN (Recycle Bin Oracle).
DROP TABLE TabMod2;
Dengan query diatas (Drop), kita masih bisa mengembalikan atau meng-undo agar tabel bisa kembali lagi, gag jadi terhapus, bisa pakai query ini :
FLASHBACK TABLE TabMod2 TO BEFORE DROP;
Dan berikut ini query untuk melihat isi RECYCLE BIN-nya Oracle, jika ada tabel yang dihapus dengan query DROP pasti masuk disini.
SELECT * FROM RECYCLEBIN;
Dan ini adalah query untuk menghapus Tabel tanpa masuk di RECYCLE BIN, hampir sama dengan fungsi Shift+Del, querynya adalah :
PURGE TABLE TabMod2;
-- Contoh untuk menghapus tabel di RECYCLE BIN
PURGE TABLE "BIN$KIkRl/BNTzmEdg9BW4Z3Pg==$0";
-- Dan beberapa pengetahuan lain yang hampir sama dengan PURGE ALL
PURGE RECYCLEBIN;
PURGE DBA_RECYCLEBIN;
PURGE USER_RECYCLEBIN;
Kelima (Menambahkan Index / Constraint di Suatu Tabel)
CREATE INDEX FK_EMAIL ON TabMod2 (email ASC);
ALTER TABLE TabMod2
ADD CONSTRAINT FK_EMAIL FOREIGN KEY (KD_EMAIL)
REFERENCES TB_EMAIL (ID_EMAIL);
Keenam (Membuat Tabel Dengan Copy Struktur Tabel Lain)
Sebelumnya, misalkan kita buat tabel baru dengan nama Tab_Nama_01 dengan query berikut ini :
CREATE TABLE Tab_Nama_01 (
nomor_peserta varchar(12) PRIMARY KEY NOT NULL,
CONSTRAINT nopes CHECK(LENGTH(nomor_peserta)=12),
nama_siswa varchar(50) NOT NULL,
t_lahir varchar(20) NOT NULL, ttl DATE NOT NULL,
gender char(1) NOT NULL, nama_ayah varchar(50) NOT NULL,
nama_ibu varchar(50) NOT NULL,
nama_wali varchar(50) NOT NULL,
telepon varchar(15) NOT NULL,
almt_sis varchar(150) NOT NULL, kota varchar(50) NOT NULL,
kab varchar(50) NOT NULL, n_b_indo NUMBER NOT NULL,
n_b_ingg NUMBER NOT NULL, n_mat NUMBER NOT NULL,
n_ipa NUMBER NOT NULL, asal_sek varchar(70) NOT NULL,
tahun NUMBER(4) NOT NULL,
CONSTRAINT th CHECK(LENGTH(tahun)=4));
Kemudian, kita akan membuat tabel baru dengan nama Tab_Nama_02 dengan beberapa field yang meniru struktur dari tabel pertama yaitu Tab_Nama_01, berikut ini contoh querynya :
CREATE TABLE Tab_Nama_02 AS SELECT
a.*,
((a.n_b_indo + a.n_b_ingg + a.n_mat + a.n_ipa)/4) danem,
TO_DATE(a.TTL, 'MONTH') bulan,
TO_DATE(a.TTL, 'DD') tanggal,
TO_DATE(a.TTL, 'YYYY') tahun_lahir,
SUBSTR(nama_siswa,1, INSTR(nama_siswa,',')-1) nama_depan,
SUBSTR(nama_siswa,(INSTR(nama_siswa,',')+1),LENGTH(nama_siswa)) nama_belakang
FROM TAB_NAMA_01 a;
Ketujuh (Melihat Constraint Dari Tabel)
Beriku ini adalah contoh query untuk melihat atau menampilkan constarint apa aja pada table yang udah pernah kita buat sebelumnya. Ada beberapa cara :
-- 1
SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'Tab_Nama_02';
-- 2
SELECT * FROM ALL_CONSTRAINTS WHERE TABLE_NAME = 'Tab_Nama_02';
-- 3
SELECT CONSTRAINT_NAME, COLUMN_NAME FROM USER_CONS_COLOM WHERE TABLE_NAME = 'Tab_Nama_01';
Yap… akhirnya sampai ujung juga. Capek juga ya, haha.. oke deh semoga bermanfaat bagi teman-teman. Sampai jumpa lagi ya di PART 3.
-7.338006112.690159