Prev   Next   Daftar Isi


Bab 1

Pengenalan Oracle dan Database Relational

 

1.1 Pengenalan Database Relational

ORACLE adalah database relational. Sebuah database relational merupakan kumpulan dari tabel-tabel. Tabel sendiri sering kita jumpai dalam kehidupan sehari-hari, misalnya laporan keuangan bulanan, daftar harga menu, grafik-grafik dan lain-lain. Masing-masing tabel mempunyai hubungan antara satu dengan yang lain, misalnya antara tabel ruas jalan tol dengan tabel kantor cabang, sehingga dia disebut relational.

Kumpulan kertas-kertas laporan yang menumpuk di atas meja atau yang ada di laci sebetulnya dapat disebut sebagai database juga. Namun dengan pengelolaan seperti ini, akan muncul masalah jika data yang dikelola volumenya besar, sehingga menyulitkan kita dalam mengelola data-data tersebut. Kemudian mungkin kita akan menggunakan fasilitas komputer, seperti menggunakan LOTUS atau EXCEL, tapi pada prinsipnya kesulitan pekerjaan pengelolaan kita tetap sama.

Sebuah Sistem Basis Data Relational (Relational Database Management System, disingkat RDBMS) seperti ORACLE pada prinsipnya merupakan sistem yang memungkinkan kita untuk:

Prinsip ini dapat dilihat pada gambar berikut.

Gambar 1.1 Prinsip RDBMS

Informasi yang dikelola dalam sebuah RDBMS dapat diakses dengan menggunakan SQL (Structured Query Language, diucapkan ‘sequel’).

 

1.2 Pengenalan SQL

Informasi disimpan di ORACLE dalam bentuk tabel-tabel. Contoh sebuah tabel dapat dilihat di gambar berikut.

Tabel Pegawai

NIP

Nama_Pegawai

Golongan

Umur

Gaji

1

Mohammad Ridwan

2

27

15.000

2

Amir Hamzah

4

35

25.000

Gambar 1.2 Tabel Pegawai

Sebuah tabel mempunyai tiga karakteristik utama, yaitu nama, kolom, dan baris. Tabel di atas mempunyai nama Pegawai, mempunyai lima kolom (NIP, nama_pegawai, golongan, umur, dan gaji) dan dua baris data.

Pengelolaan tabel (membuat tabel, mengisi data, mengambil data, dll.) dilakukan dengan memberikan perintah SQL kepada ORACLE. Contoh dari sebuah perintah SQL adalah sebagai berikut:


select Nama_Pegawai from Pegawai;


Hasil dari perintah di atas adalah :


Nama Pegawai
----------------------
Mohammad Ridwan
Amir Hamzah


Contoh lain dari sebuah perintah SQL:


select
    Nama_Pegawai,
    Umur
from

    Pegawai
where
    Gaji > 20000;


Hasil dari perintah di atas adalah :


Nama Pegawai   Umur
---------------------------
Amir Hamzah    35


Kata-kata kunci yang biasa diberikan dalam sebuah perintah SQL adalah select, from, where, dan order by. Kata-kata kunci ini dituliskan dalam format sebagai berikut :

select
     nama_kolom1,
     nama_kolom2
from
     nama_tabel
where
     kondisi
order by
     nama_kolom1;

Bagian select menunjukkan kolom-kolom apa yang hendak ditampilkan. Bagian from menunjukkan nama tabel- tabel asal. Bagian where memungkinkan kita untuk memilih data-data yang sesuai yang hendak ditampilkan. Sedangkan bagian order by menunjukkan hasil query akan diurutkan menurut kolom apa.

 

1.3 Relasi antar Tabel

ORACLE disebut database relational karena antara tabel-tabel yang ada di database itu pasti ada relasi satu dengan yang lain. Pada diagram berikut ini akan diberikan contoh dua tabel yang saling berelasi, yaitu tabel Pegawai dan tabel Divisi.

Gambar 1.3 Tabel Pegawai dan Divisi

Seperti terlihat pada diagram di atas, tabel Pegawai dan tabel Divisi mempunyai relasi satu dengan yang lain. Lebih jauh diketahui bahwa relasi antara kedua tabel tersebut terletak pada Nama_Pegawai.

Dengan adanya relasi, maka kita bisa menggabungkan data-data pada kedua tabel tersebut. Contoh sebuah laporan yang merupakan gabungan antara tabel Pegawai dan tabel Divisi :

Laporan Pegawai di Divisi

NIP

Nama_Pegawai

Divisi

Umur

Gaji

1

Mohammad Ridwan

Manlalin

24

15.000

2

Amir Hamzah

SDM

21

7.000

3

Mamad

SDM

31

25.000

4

Iim

Manpultol

43

27.000

5

Dewi

Manpultol

26

18.000

Gambar 1.4 Laporan Pegawai pada suatu Divisi

Laporan di atas dihasilkan oleh perintah SQL berikut:


Select
    Pegawai.NIP,
    Pegawai.Nama_pegawai,
    Divisi.Nama_divisi,
    Pegawai.Umur,
    Pegawai.Gaji
From
    Pegawai,
    Divisi
Where
    Pegawai.Nama_Pegawai = Divisi.Nama_Pegawai ;


Seperti terlihat perintah SQL di atas akan mengambil data dari tabel Pegawai dan tabel Divisi (lihat di bagian from). Kolom-kolom yang dipilih untuk ditampilkan dapat dilihat di bagian select. Sementara bagian where menunjukkan bagaimana kedua tabel harus digabungkan, dalam hal ini maka kedua tabel digabungkan menurut kolom Nama_Pegawai.

Dalam database relational, hubungan antar tabel harus dirancang dengan baik, sehingga tidak ada duplikasi maupun inkonsistensi pada data. Keterangan lengkap tentang bagaimana mendesain database yang baik tentu saja di luar skope tulisan ini.

 

1.4 User

Tabel-tabel dalam ORACLE akan dikelompokkan ke dalam user-user. Misalnya tabel Pegawai dan tabel Gaji akan dimiliki oleh user SDM, tabel Kecelakaan, Gangguan Lalulintas, dan Patroli akan dimiliki oleh user MLL(Manlalin), dan seterusnya.

 

Gambar 1.5 Hubungan User dan Tabel

Pengelompokan tabel dalam user-user ini mempunyai kegunaan sebagai berikut:

Semua objek di ORACLE (contoh objek adalah table, view, dan index) akan diasosiasikan atau dimiliki oleh satu user. Dengan demikian, maka penerapan kebijakan otorisasi dapat diterapkan tidak hanya untuk tabel, tapi juga untuk semua objek.

 

1.5 Objek-objek Database

Jenis-jenis objek dalam database ORACLE yang biasa dipakai dalam pembangunan aplikasi adalah :

Sedangkan objek-objek yang berhubungan dengan fisik database antara lain:

 

1.6 Otorisasi Akses

Otorisasi akses mengatur tindakan apa yang boleh dilakukan oleh seorang pemakai atas suatu objek yang ada di ORACLE. Dengan mengatur otorisasi akses ini, maka kita bisa menjaga kerahasiaan dan integritas informasi, karena suatu informasi hanya dapat dilihat, dirubah, ditambah, atau dihapus hanya oleh orang-orang yang berkepentingan.

 

1.7 Bagaimana ORACLE Mengelola Data

Pengetahuan tentang bagaimana ORACLE mengelola data sangatlah vital bagi seorang administrator.

Sebuah sistem database yang besar sekali dapat terdiri dari beberapa ORACLE server yang berjalan di server-server yang terpisah. Masing-masing server ini akan mengelola data yang sesuai dengan bagiannya saja. Misalnya server pada Divisi Akuntansi mengelola database Akuntansi, server SDM mengelola database SDM, dan seterusnya.

Sistem database yang tersebar seperti di atas disebut Distributed Database.

Gambar 1.6 Contoh Instalasi Database Oracle

Meskipun data diletakkan di lokasi yang berbeda-beda, tapi USER akan melihat database sebagai satu kesatuan. Tersebarnya data-data akan transparan terhadap user.

User akan membuat koneksi dengan salah satu database server. Pada database server tersebut, koneksi user tersebut dilayani oleh sebuah instance. Instance tersebut kemudian akan mengakses database yang sesuai yang ada di server tersebut.

Gambar 1.7 Instance dan Database Oracle

Instance dapat dilihat sebagai sistem yang mengelola database. Dalam satu ORACLE server, bisa terdapat lebih dari satu instance.

Database adalah media penyimpanan yang berisi tabel-tabel.

Instance dan database masing-masing adalah independen satu dengan yang lain. Sebuah instance dapat mengelola satu atau lebih database. Ketika sebuah instance dijalankan dan dihubungkan ke suatu database, maka instance itu dikatakan berjalan (started). Ketika instance itu di shut down, maka database yang dikelola oleh instance itu tidak akan dapat diakses lagi.

Jika kita melihat lebih dalam lagi ke dalam database, maka suatu database akan diorganisasikan sebagai berikut.

Gambar 1.8 Bagan suatu Database pada Oracle

Masing-masing bagian dari database akan dijelaskan berikut ini.

Tablespace

Sebuah database dibagi satuan-satuan penyimpanan yang disebut tablespace. Sebuah databas dapat berisi satu atau lebih tablespace. Sebuah tablespace disusun dari satu atau lebih file.

Karena tablespace merupakan tempat penyimpanan tabel-tabel, DBA bertugas mengatur penggunaan tablespace ini. Tugas yang harus dilakukan DBA terhadap tablespace antara lain:

Tablespace yang akan selalu dibuat secara otomatis oleh ORACLE adalah tablespace dengan nama SYSTEM. Tablespace ini pasti akan selalu ada di setiap database, dan akan berisi informasi-informasi mengenai keadaan database. Tablespace ini harus selalu tersedia (online) agar database dapat diakses.

 

Segment dan Extent

Semua data dalam tablespace akan dipecah-pecah menjadi segment-segment. Ada beberapa jenis segment:

Parameter-parameter untuk mengatur besar segment:

Initial extent ukuran (dalam bytes) dari extent pertama milik segment, atau disebut juga ukutan awal dari segment.
Next extent ukuran (dalam bytes) dari extent selanjutnya.
Max extent maksimum jumlah extent dari suatu segment.
Min extent jumlah extent pertama yang akan dialokasikan.
Pctincrease berapa besar ukuran next extent dibandingkan dengan extent terakhir.

 


Prev   Next   Daftar Isi

(c) 1997 bennylp@indosat.net.id Hak cipta dilindungi undang-undang. Dimohon tidak menduplikasi isi dari dokumen ini tanpa pemberitahuan kepada penulis.