Table merupakan sebuah data yang terbentuk dalam susunan baris dan kolom. Table digunakan untuk memberikan informasi pada penggunanya.
Dalam dunia IT, table banyak digunakan untuk menampung sebuah data. Table ini biasanya direlasikan dengan table lain sehingga memberikan informasi yang dapat menjadi materi bagi pengguna untuk keperluan tertentu.
Dalam database Oracle sendiri table merupakan object utama yang diolah dalam sistem, baik pada store procedure ataupun pada Oracle Form. Oleh karena itu, pada artikel ini saya akan menjelaskan secara detail hal-hal yang berkaitan dengan pembuatan table pada Oracle.
Sebelum saya menjelaskan script untuk membuat table, terlebih dahulu saya akan menjelaskan beberapa Constraint (Primary Key & Foreign Key) agar kita dapat memahami pengetahuan dasar table terlebih dahulu.
Menurut saya hal ini perlu untuk dipahami karena kedepannya akan mempermudah kita dalam memahami berbagai sciprt dan konsep pada database khususnya Oracle.
Memahami Primary Key Pada Table
Sesuai namanya Primary Key merupakan Kunci Utama pada sebuah table. Seperti yang sudah saya jelaskan sebelumnya bahwa tabel adalah sebuah data yang terbentuk dalam susunan baris dan kolom.
Sementara itu Primary Key merupakan kunci utama yang membedakan setiap data antara baris satu dengan yang lainnya yang membuat setiap baris menjadi Unique. Oleh karena itu Primary Key sudah tentu juga merupakan Unique Key.
Contoh ada sebuah table dengan nama table data_nilai_siswa, yang mana table ini terdiri dari kolom id_siswa, nama_siswa, dan nilai_siswa.
ID Siswa | Nama Siswa | Nilai Siswa |
ID1 | Herman | 80 |
ID2 | Wawan | 90 |
ID3 | Kamal | 90 |
Pada table ini, kolom id_siswa merupakan Primary Key dari tabel tersebut. Dapat dilihat bahwa data pada kolom tersebut berbeda-beda setiap barisnya.
Dalam database, Primary Key dibuat agar kita dapat mengenali dan mengidentifikasi setiap baris data pada table secara tepat. Karena jika kita tidak mendifinisikan Primary Key, ada kemungkinan ada data yang salah ketika proses pengambilan data pada table tersebut.
Mengenal Foreign Key Pada Table
Foreign Key merupakan kolom yang menjadi referensi bagi table lain dalam mengambil data. Fungsi ini bayak digunakan jika table yang dibuat merupakan master atas table lain. Artinya table tersebut menjadi acuan bagi table lain.
Misal ada sebuah table master dengan nama table data_guru yang terdiri dari kolom id_guru dan nama_guru.
ID Guru | Nama Guru |
GU1 | Janeth |
GU2 | Hasym |
GU3 | Adit |
ID Pelajaran | Nama Pelajaran | ID Guru |
PL1 | Bahasa Indonesia | GU1 |
PL2 | Matematika | GU2 |
PL3 | IPA | GU3 |
Jika di visualisasikan table ini akan terlihat seperti berikut
Karena id_guru pada table mata_pelajaran mengambil reference pada table data_guru, maka setiap data yang ada pada kolom id_guru di table mata_pelajaran harus selalu tersedia pada table data_guru. Jika tidak, maka akan terjadi error constraint pada table mata_pelajaran.
Perlu diketahui bahwa Foreign Key ini bisa saja bukan sebuah primary Key. Bisa saja dalam satu table terdapat Primary Key dan Foreign Key dengan kolom yang berbeda.
Cara Membuat Table di Oracle
Untuk membuat table pada oracle anda cukup melakukan running script pada toad menggunakan format berikut.
create table nama_table (
nama_kolom tipe_data,
nama_kolom tipe data,
...
nama_kolom tipe data
)
Dari format diatas dapat dilihat bahwa pada saat membuat table, kita diharuskan untuk mendefinisikan nama table nama kolom serta tipe data atas kolom tersebut. Tipe data yang dimaksud dapat berupa number, char, varchar dan lain lain.
DATA_MATPEL | |||
Nama Kolom | Tipe Data | Length | Constraint |
id_matpel | number | ||
nama_matpel | varchar2 | 50 | |
id_guru | varchar2 | 10 | |
kelas | varchar2 | 10 |
maka scriptnya adalah sebagai berikut. Sebelum anda menjalankan script dibawah,pastikan anda sudah masuk ke oracle via Toad atau aplikasi lainnya.
create table data_matpel(
id_matpel number,
nama_matpel varchar2(50),
id_guru varchar2(10),
kelas varchar2(10)
)
Terkait login ke oracle via Toad, anda dapat mengikuti artikel saya yang berjudul Cara Mudah Membuat Tablespace dan User/Schema Baru di Oracle. Pada artikel tersebut anda bisa langsung loncat ke bagian Login Menggunakan User Baru.
Membuat Table dengan Primary Key
Untuk membuat table dengan menambahkaan primary key anda dapat menggunakan format berikut.
create table nama_table(Misal contoh saya saya akan membuat sebuah table dengan nama table data_desa dengan kolom id_desa, nama_desa dimana Primary Key dari table tersebut ada pada kolom id_desa.
nama_kolom tipe_data primary key,
nama_kolom tipe_data,
....
nama kolom tipe data
)
DATA_DESA | |||
Nama Kolom | Tipe Data | Length | Constarint |
id_desa | varchar | 10 | Primary Key |
nama_desa | varchar | 30 |
create table data_desa (
id_desa varchar(10) primary key,
nama_desa varchar(30)
)
create table nama_table(Dari format diatas dapat dilihat ada perbedaan script dengan menambahkan constraint script dibawah kolom terakhir. Contoh saya akan membuat kembali table data_desa pada contoh sebelumnya dengan menggunakan format constraint primary key.
nama_kolom tipe_data,
nama_kolom tipe_data,
...
nama_kolom tipe_data,
constraint nama_pk primary key(nama_kolom)
)
create table data_desa (Dari script diatas saya mencoba membuat table dengan menambahkan Constraint script Pimary Key yang mana yang dijadikan Primay Key adalah kolom id_desa. Sementara nama Primary Key yang saya buat adalah id_desa_pk.
id_desa varchar(10),
nama_desa varchar(30),
constraint id_desa_pk primary key(id_desa)
)
Membuat Table dengan Foreign Key
Untuk membuat table dengan menambahkan Foreign Key anda dapat mengikuti format berikut.
create table nama_table(Dari format diatas dapat dilihat bahwa constraint yang digunakan adalah foreign key dimana pada scipt constraint tersebut harus mendefinisikan kolom yang akan dibuat foreign key dan juga harus mendefinisikan table yang akan menjadi referensi bagi kolom tersebut.
nama_kolom tipe_data,
nama_kolom tipe_data,
...
nama_kolom tipe_data,
constraint nama_fk foreign Key(nama_kolom) reference parent_table(nama_kolom)
)
Biasanya kolom referensi pada table yang akan diambil harus bersifat unik. Contoh saya akan membuat sebuah table dengan nama table data_dusun, terdiri dari kolom id_dusun, nama_dusun, nama_kampung, dan id_desa.
Yang mana data_dusun ini memiliki reference ke table data_desa.
DATA_DUSUN | |||
Nama Kolom | Tipe Data | Length | Constraint |
id_dusun | varchar2 | 5 | Primary Key |
nama_dusun | varchar2 | 20 | |
nama_kampung | varchar2 | 20 | |
id_desa | varchar2 | 10 | Foreign Key |
Maka script dari table ini adalah sebagai berikut.
create table data_dusun(
id_dusun varchar2(5) primary key,
nama_dusun varchar2(20),
nama_kampung varchar2(20),
id_desa varchar2(10),
constraint id_desa_fk foreign key(id_desa) references data_Desa(id_desa)
)
Dapat dilihat dari script diatas bahwa table data_dusun melakukan references pada table data_desa.
Membuat Table Lewat Query
Selain membuat table dengan format-format yang saya jelaskan diatas, anda juga dapat membuat table melalui query select pada table yang sudah ada,. Artinya pada pembuatan table tersebut anda meng-copy properties kolom dari table yang anda ambil.
Anda dapat menggunakan format berikut sebagai acuan.
create table nama_table asMisal pada table data_desa terdapat data sebagai berikut.
query...
DATA_DESA | |
ID Desa | Nama Desa |
DS1 | Mekarjaya |
DS2 | Wangunjaya |
create table data_desa_baru asmaka secara otomatis data dari table data_desa_baru akan terbentuk seperti data pada table data_desa.
select * from data_desa
DATA_DESA_BARU | |
ID Desa | Nama Desa |
DS1 | Mekarjaya |
DS2 | Wangunjaya |
Cek Table Yang Telah Dibuat
untuk melakukan cek pada table yang telah dibuat anda dapat melakukan select pada nama_table yang telah anda buat dengan format sebagai berikut.
select * from nama_tableMisal kita akan cek pada table yang telah kita buat dengan nama table data_desa.
select * from data_desaMaka hasil dari query tersebut ditunjukan seperti pada gambar berikut.
atau anda juga dapat memastikan dengan melakukan cek pada table Tab. Anda dapat menggunakan script berikut.
select * from tab where tname = 'DATA_DESA'Maka hasilnya adalah sebagai berikut.
Jika kolom sudah dapat di select dan exist juga di table tab maka proses create table telah berhasil dilakukan.
Terimakasih.
No comments:
Post a Comment
Komentar yang bermutu Insyaallah akan mendapatkan berkah