Dasar Teori Modul 1

64
BAB I PENDAHULUAN 1.1. Sekilas Tentang Oracle Oracle merupakan RDBMS yang paling banyak digunakan oleh perusahaan-perusahaan di dunia. Sejarah Perkembangannya yang cukup panjang telah membawa Oracle menjadi database yang paling banyak digunakan. Pada RDBMS, sebuah tabel merupakan struktur penyimpanan dasar. Struktur tabel atau lebih membentuk sebuah relational database. Sejak Oracle 8, DASAR TEORI MODUL 1

description

dasar teori

Transcript of Dasar Teori Modul 1

BAB I PENDAHULUAN

1.1. Sekilas Tentang Oracle

Oracle merupakan RDBMS yang paling banyak digunakan oleh perusahaan-

perusahaan di dunia. Sejarah Perkembangannya yang cukup panjang telah

membawa Oracle menjadi database yang paling banyak digunakan.

Pada RDBMS, sebuah tabel merupakan struktur penyimpanan dasar. Struktur

tabel atau lebih membentuk sebuah relational database. Sejak Oracle 8,

oracle merupakan database yang berkemampuan menangani obyek (Object

Oriented Programming). Oleh karena itulah Oracle menggunakan istilah

ORDBMS (Object Relational Database Management System).

DASAR TEORI MODUL 1

Sebagai ORDBMS, oracle mempunyai beberapa fitur, yaitu :

1. Menyimpan user-defined data type sebagai object table.

2. Method yang dapat diasosiasikan ke dalam definisi tabel.

3. Kolom yang dapat menggunakan tipe data yang didefinisikan oleh user.

4. Fitur ini sangat menarik bagi programmer Oracle DBA.

1.2. Kehandalah Database Oracle

Beberapa keunggulan Database Oracle sebagai database yang banyak dipakai di

kalangan programmer, antara lain seperti di bawah ini :

1. Scalability, yaitu kemampuan menangani banyak user yang melakukan

hubungan/koneksi secara simultan tanpa berkurangnya performa secara signifikan.

Dalam dokumentasi Oracle database sanggup melayani puluhan ribu user

secara simultan.

1. Reliability, yaitu kemampuan untuk melindungi data dari kerusakan jika

terjadi kegagalan fungsi pada sistem.

2. Service ability, yaitu kemampuan untuk mendeteksi masalah, kecepatan

dalam mengoreksi kesalahan, dan kemampuan melakukan konfigurasi ulang

struktur data.

3. Stability, yaitu kemampuan untuk tidak crash karena beban kerja yang tinggi.

4. Availability, yaitu kemampuan dalam penanganan crash atau failure agar

service dapat tetap berjalan.

6. Multiplatform, yaitu dapat digunakan pada banyak sistem operasi.

7. Mendukung data yang cukup besar. Menurut dokumentasi Oracle dapat

menampung sampai 512 petabytes (1 petabytes = 1.000.000 gigabytes).

8. Sistem security yang cukup handal.

9. Mendukung database berorietasi object.

10. Dapat menampung hampir semua tipe data seperti text, image, sound, video

dan time series.

Keunggulan-keunggulan di atas membuat Oracle banyak digunakan pada

aplikasi internet maupun client server pada LAN.

Kata database dalam frasa “arsitektur database Oracle” seharusnyaadalah

Database Management System(DBMS). Untuk penyederhanaan penyebutan,

Database Management Systemmemang sering cukup disebut database saja.

Secara umum komponen DBMS Oracle terdiri atas memory, proses, dan file-

file. Lebih jauh lagi, komponen-komponen tersebut dikelompokkan sebagai

berikut :

1. Instance

Memory yang disebut sebagai System Global Area (SGA), terdiri atas: Shared

Pool (Libary Cache and Data Dictionary Cache), Database Buffer Cache,

Redolog Buffer Cache, Java Pool, Large Pool.

Back ground process: PMON, SMON, DBWR, LGWR, CKPT, dan lain-

lain

2. Database

Datafile

Control File

Redo Log File

3. Komponen Lain

process: Server Process, user process

memory: Program Global Area (PGA)

File: Archived log, parameter, dan password file

1.3. Arsitektur Database

Sebuah database Oracle adalah kumpulan data diperlakukan Unit asa. Tujuan

dari database adalah untuk menyimpan dan mengambil informasi terkait.

Sebuah server database adalah kunci untuk memecahkan masalah manajemen

informasi. Secara umum, serverreliably mengelola besar jumlah data dalam

lingkungan multiuser oleh sebab itu banyak pengguna secara bersamaan dapat

mengakses data yang sama. Semua ini dilakukan sambil memberikan kinerja

tinggi. Database Server juga mencegah akses tidak sah dan menyediakan solusi

yang efisien untuk kegagalan pemulihan.

Oracle Database adalah database pertama yang dirancang untuk perusahaan

komputasi grid, paling cara yang fleksibel dan biaya yang efektif untuk manage

information dan aplikasi. Perusahaan komputasi grid menciptakan kolam

besar industri-standar, penyimpanan dan server modular. Dengan arsitektur

ini, setiap sistem baru dapat dengan cepat ditetapkan dari kolam komponen.

Tidak ada kebutuhan untuk beban kerja puncak, karena kapasitas dapat

dengan mudah ditambahkan atau direalokasi dari kolam sumber daya yang

diperlukan.

Database memiliki struktur logis dan struktur fisik. Karena fisik dan

struktur logis yang terpisah, physicalstorage data dapat dikelola tanpa

mempengaruhi akses ke struktur penyimpanan logis.

1.4. Arsitektur Oracle Grid

Grid computing adalah arsitektur Teknologi Informasi baru yang

menghasilkan biaya yang lebih tangguh dan lebih rendah sistem informasi

perusahaan. Dengan komputasi grid, kelompok independen, hardware modular

dan komponen perangkat lunak dapat dihubungkan dan bergabung kembali

pada menuntut untuk memenuhi perubahan kebutuhan bisnis.

Grid gaya komputasi bertujuan untuk memecahkan beberapa masalah umum

dengan perusahaan IT: masalah silo aplikasi yang menyebabkan bawah

dimanfaatkan, hardware khusus sumber daya, masalah monolitik, sistem berat

yang mahal untuk menjaga dan sulit untuk berubah, dan masalah offragmented

dan hancur informasi yang tidak dapat sepenuhnya dieksploitasi oleh

perusahaan secara keseluruhan.

1.5. Manfaat Arsitektur Oracle Grid

Dibandingkan dengan model lain komputasi, sistem TI dirancang dan

diimplementasikan dalam gaya jaringan memberikan kualitas layanan yang

lebih tinggi, lebih rendah biaya, dan fleksibilitas yang lebih besar. Tinggi

kualitas hasil layanan dari tidak memiliki satu titik kegagalan, infrastruktur

keamanan yang kuat, dan terpusat, kebijakan didorong manajemen. Biaya

yang lebih rendah berasal dari peningkatan pemanfaatan sumber daya dan

secara dramatis mengurangi biaya pengelolaan dan pemeliharaan. Daripada

mendedikasikan tumpukan perangkat lunak dan perangkat keras untuk tugas

tertentu, semua sumber daya dikumpulkan dan dialokasikan pada permintaan,

sehingga menghilangkan dibawah kapasitas dimanfaatkan dan berlebihan

kemampuan. Komputasi grid juga memungkinkan penggunaan perangkat keras

individu yang lebih kecil komponen, sehingga mengurangi biaya setiap

komponen individu dan menyediakan lebih banyak fleksibilitas untuk

mencurahkan sumber daya sesuai dengan perubahan kebutuhan.

1.6. Grid Computing

Sumber Daya IT yang dikelola jaringan antara lain :

1. Infrastruktur: perangkat keras dan perangkat lunak yang membuat penyimpanan

data dan lingkungan program yang dieksekusi.

2. Aplikasi: logika program dan aliran yang mendefinisikan proses bisnis

yang spesifik.

3. Informasi: makna yang melekat dalam semua jenis data yang

digunakan untuk melakukan bisnis

1.7. Hal-hal terkait Grid Computing

Dua prinsip-prinsip inti unik membedakan jaringan komputasi dari

gaya lain dari komputasi, seperti mainframe, client-server, atau multi-

tier: virtualisasi dan provisioning.

Dengan virtualisasi, sumber daya individu (misalnya komputer, disk,

aplikasi komponen dan sumber informasi) dikumpulkan bersama oleh

jenis kemudian dibuat tersedia untuk konsumen (misalnya orang atau

program

software) melalui abstraksi. Virtualisasi berarti melanggar koneksi dikodekan keras

antara penyedia layanan dan konsumen sumber daya, dan menyiapkan sumber daya untuk

melayani kebutuhan tertentu tanpa peduli bagaimana konsumen yang dicapai.

2. Dengan provisioning, ketika konsumen meminta sumber daya melalui virtualisasi lapisan,

di belakang layar yang resourceis khusus yang diidentifikasi untuk memenuhi permintaan

dan maka dialokasikan kepada konsumen. Provisioning sebagai bagian dari komputasi

grid berarti bahwa sistem menentukan bagaimana untuk memenuhi kebutuhan spesifik

konsumen sementara mengoptimalkan pengoperasian sistem secara keseluruhan.

Cara-cara tertentu di mana sumber daya informasi, aplikasi atau infrastruktur

virtualisasi dan ditetapkan khusus untuk jenis sumber daya, namun konsep

berlaku secara universal. Demikian pula, manfaat khusus yang diperoleh dari

komputasi grid khusus untuk setiap jenis sumber daya, tetapi semua berbagi

karakteristik kualitas yang lebih baik, biaya yang lebih rendah dan peningkatan

fleksibilitas.

1.8. Infrastructure Grid

Sumber daya infrastruktur jaringan meliputi sumber daya perangkat keras

seperti penyimpanan, prosesor, memori, dan jaringan serta perangkat lunak yang

dirancang untuk mengelola perangkat ini, seperti database, manajemen

penyimpanan, manajemen sistem, server aplikasi, dan sistem operasi.

Virtualisasi dan penyediaan sumber daya infrastruktur berarti mengumpulkan

sumber daya bersama dan mengalokasikan kepada konsumen sesuai

berdasarkan kebijakan. Sebagai contoh, satu kebijakan mungkin untuk

mendedikasikan kekuatan pemrosesan yang cukup untuk web server yang

dapat selalu memberikan waktu respon sub-detik. Peraturan itu bisa dipenuhi

dalam berbagai cara oleh perangkat lunak bawaan untuk menyeimbangkan

permintaan dari semua konsumen.

Memperlakukan sumber daya infrastruktur sebagai kolam tunggal dan

mengalokasikan sumber daya pada permintaan menghemat uang dengan

menghilangkan dibawah kapasitas dimanfaatkan dan berlebihan kemampuan.

Mengelola sumber daya hardware dan software secara holistik mengurangi

biaya tenaga kerja dan kesempatan untuk kesalahan manusia.

1.9. Data File

Setiap database Oracle memiliki satu atau lebih datafiles fisik. Datafiles berisi

semua data database. Data struktur database logis, seperti tabel dan indeks,

adalah fisik disimpan dalam datafiles dialokasikan untuk database.

Karakteristik datafile antara lain :

1. Sebuah datafile dapat dikaitkan dengan hanya satu database.

2. Datafiles dapat memiliki karakteristik tertentu yang ditetapkan untuk

membiarkan mereka secara otomatis memperpanjang ketika

database kehabisan ruang.

3. Satu atau lebih datafiles membentuk unit logis penyimpanan database yang

disebut tablespace.

1.10. Alert and Trace Log Files

Setiap proses server dan latar belakang dapat menulis ke file jejak terkait.

Ketika sebuah kesalahan internal terdeteksi oleh proses, kesedihan

informasi tentang kesalahan ke jejak nya berkas. Beberapa informasi

ditulis ke file jejak ditujukan untuk database administrator, sedangkan

informasi lainnya adalah untuk Layanan Dukungan Oracle. melacak berkas

Informasi juga digunakan untuk menyetel aplikasi dan contoh.

2.1. Data Dictionary

Data dictionary merupakan sekumpulan table dan view yang dibuat oleh Oracle

untuk menyimpan semua informasi tentang sebuah database. Tabel-tabel data

dictionary tidak dapat diakses secara langsung oleh user. Oracle menyediakan

sejumlah view yang dapat digunakan untuk mendapatkan informasi yang

tersimpan di dalam tabel-tabel data dictionary.

Di dalam dictionary terdiri dari beberapa bagian :

a) Definisi mengenai semua schema object di dalam databasedig (tabel, view,

indexes, cluster, synonims, sequence, procedures, functions, package,

trigger, dll).

BAB II STRUKTUR DATABASE

b) Berapa banyak ruangan / space yang harus disediakan untuk atau

digunakan oleh schema object secara bersama-sama.

c) Nilai mutlak kolom

d) Informasi yang saling ketergantungan.

e) Nama pengguna yang akan digunakan Oracle

Sebuah kamus data, atau repositori metadata, sebagaimana didefinisikan

dalam Kamus IBM of Computing, adalah "repositori terpusat informasi

tentang data seperti makna, hubungan ke data lain, asal, penggunaan, dan

format.“ [ACM, IBM Dictionary of Computing, 10th edition, 1993].

Struktur dari data dictionary adalah tabel dan view, sama seperti database yang

lain. Adapun struktur dari sebuah data dictionary database adalah :

1. Base tables , isi dari tabel ini merupakan informasi penyimpanan informasi /

data mengenai database yang saling berelasi. Hanya oracle saja yang boleh

membaca data (read) dan menulis (write) semua data / informasi.

2. User-accessible views, pada view hanya menunjukkan dan menampilkan

semua informasi yang tersimpan di base tables dari data dictionary

2.2. Dokumentasi

Istilah Kamus data dan data repositori yang digunakan untuk menunjukkan

utilitas perangkat lunak yang lebih umum daripada katalog. Katalog Sebuah erat

digabungkan dengan perangkat lunak DBMS. Ini menyediakan informasi yang

tersimpan di dalamnya untuk pengguna dan DBA, tetapi terutama diakses oleh

Istilah ini mungkin memiliki salah satu dari beberapa arti yang berhubungan erat

berkaitan dengan database dan sistem manajemen database (DBMS), antara lain :

1. sebuah dokumen yang menjelaskan database atau kumpulan database

2. komponen integral dari DBMS yang diperlukan untuk menentukan struktur

sepotong middleware yang memanjang atau supplants kamus data asli dari

DBMS berbagai modul perangkat lunak DBMS itu sendiri, seperti DDL

dan DML compiler, Optimizer permintaan, prosesor transaksi, laporan

generator, dan kendala penegak hukum. Di sisi lain, kamus data adalah

struktur data yang menyimpan metadata, yaitu, (terstruktur) data tentang

data.

Paket perangkat lunak untuk kamus data atau data repositori berdiri sendiri

dapat berinteraksi dengan modul perangkat lunak DBMS, tetapi terutama

digunakan oleh para desainer, pengguna dan administrator sistem komputer

untuk pengelolaan sumber daya informasi. Sistem ini digunakan untuk

mempertahankan informasi tentang perangkat keras sistem dan konfigurasi

perangkat lunak, dokumentasi, aplikasi dan pengguna serta informasi lain

yang relevan untuk administrasi sistem. [Ramez Elmasri, Shamkant B.

Navathe: Fundamentals of Database Systems, 3rd. ed. sect. 17.5, p. 582].

2.3. Control File

Setiap database Oracle memiliki file kontrol. Sebuah file kontrol berisi entri

yang menentukan struktur fisik database. Misalnya, berisi informasi berikut:

1. Nama Database

2. Nama dan lokasi dari datafiles dan Redo log file

3. Waktu pembuatan database

Oracle dapat multiplexthe file kontrol, yaitu, sekaligus mempertahankan

jumlah berkas salinan kontrol identik, untuk melindungi terhadap kegagalan

melibatkan file kontrol.

Setiap kali instanceof database Oracle dimulai, file kontrol yang

mengidentifikasi database dan Redo log file yang harus dibuka untuk operasi

database untuk melanjutkan. Jika susunan fisik database diubah (misalnya, jika

datafile baru atau Redo log file yang dibuat), maka file kontrol otomatis

dimodifikasi oleh Oracle untuk mencerminkan perubahan. Sebuah file kontrol

juga digunakan dalam pemulihan database.

2.4. Redo Log File

Setiap database Oracle memiliki seperangkat dua atau file log moreredo.

Himpunan Redo log file secara kolektif dikenal sebagai Redo log untuk

database. Sebuah Redo log terdiri dari redo entri (juga disebut catatan redo).

Fungsi utama redo log adalah untuk merekam semua perubahan yang dibuat untuk

data. Jika kegagalan mencegah data dimodifikasi dari yang ditulis secara

permanen ke datafiles, maka perubahan dapat diperoleh dari Redo log, sehingga

pekerjaan tidak pernah hilang.

Untuk melindungi terhadap kegagalan melibatkan Redo log itu sendiri, Oracle

memungkinkan multiplexing mengulang logso bahwa dua atau lebih salinan Redo

log dapat dipertahankan pada berbagai disk.

Informasi dalam file log redo hanya digunakan untuk memulihkan database dari

sistem atau kegagalan media yang mencegah data database dari yang ditulis ke

file data. Untuk Misalnya, jika pemadaman listrik yang tak terduga mengakhiri

operasi database, maka data dalam memori tidak dapat ditulis ke file data, dan

data hilang.

Namun, kehilangan data dapat dipulihkan ketika database dibuka, setelah

listrik hidup kembali. Dengan menerapkan Informasi dalam file log Redo

terbaru ke datafiles database Oracle mengembalikan database untuk waktu di

mana terjadi kegagalan listrik.

2.5. Archive Log File

Anda dapat mengaktifkan otomatis pengarsipan Redo log. Oracle secara

otomatis arsip log file ketika database di ARCHIVELOG mode.

2.6. Parameter Files

Parameter file berisi daftar parameter konfigurasi untuk contoh dan

Database. Oracle merekomendasikan bahwa Anda membuat file

serverparameter (SPFILE) sebagai dinamis sarana untuk mempertahankan

parameter inisialisasi.

Sebuah file server parameter memungkinkan Anda menyimpan dan mengelola

parameter inisialisasi Anda terus-menerus dalam file disk server-side.

2.7. Data Dictionary Views

Seorang user dapat melihat semua data dictionary views yang dapat diakses

olehnya dengan memerlukan query dari sebuah view yang bernama

DICTIONARY. View juga merupakan bagian dari data dictionary. Berikut ini

sebuah query yang menghasilkan jumlah view yang dapat diakses oleh current

user.

SQL> SELECT COUNT ( * ) FROM DICTIONARY;

COUNT ( * ) 32

Hasil query di atas menunjukkan bagian itu banyak view merupakan bagian

dari data dictionary. Angka tersebut tidak selalu seperti itu, bergantung pada role

yang

diberikan ke user tersebut. Cobalah login dengan menggunakan user SYSTEM

dan lakukan query seperti di atas. Jumlah data dictionary view untuk user

SYSTEM lebih banyak dibandingkan untuk user sebelumnya. Berikut ini

ditunjukkan sebuah query untuk mendapatkan nama-nama view yang termasuk

di dalam dictionary. User yang digunakan adalah SYSTEM.

SQL> SELECT table_name FROM DICTIONARY

2 ORDER BY 1;

TABLE_NAME_

ALL_ALL_TABLES

ALL_ARGUMENTS

ALL_ASSOCIATIONS

.... . .

.... . .

DBA_ALL_TABLES

DBA_ANALYZE_OBJECTS

DBA_ASSOCIATIONS

.... . .

…. . .

DICTIONARY

…. . .

…. . .

GV$ACCESS

GV$ACTIVE_INSTANCE

GV$AQ

. …. . .

. …. . .

USER_ALL_TABLES

USER_ARGUMENTS

USER_ASSOCIATIONS

. …. . .

. …. . .

. …. . .

. …. . .

770 rows selected

Seperti yang terlihat di atas ada banyak sekali view yang termasuk sebagai data

dictionary views. Kebanyakan dari views tersebut memiliki nama yang diawali

oleh “ALL_”, DBA_”, “DBA_”, “USER_”, “GV$”, dan “V$”, View dengan

nama yang diawali oleh tiga prefiks yang disebutkan pertama digolongkan

sebagai static data dictionary views. View yang namanya diawali oleh “V$”

digolongkan sebagai dynamic performance views. Sedangkan yang diawali oleh

“GV$” adalah global. “V$ view yang merupakan parallel server environment.

View lainnya yang tidak diawali oleh salah satu dari lima prefiks tersebut

tergolong ke dalam static data dictionary views dan merupakan salah satu dari

yang berikut ini :

1. View khusus

2. Synonym dari salah satu view pada static data dictionary

3. View yang dibuat pada versi-versi terdahulu dan disertakan hanya untuk

kompatibilitas

Data Dictionary Views dapat digolongkan ke dalam dua bagian besar, yaitu

static data dictionary views dan dynamic performance views. Perbedaan dari

keduanya adalah :

1. Static Data Dictionary Views

Hanya berubah ketika sebuah perubahan dilakukan pada saat adanya

penambahan, pembaharuan atau penghapusan sebuah objek database.

2. Dynamic Performance Views

Secara kontinu berubah sejak database tersebut dijalankan atau dibuka dan

selama database tersebut digunakan. Dan juga ditujukan untuk server

maintenance dan hanya dapat diakses oleh administrator database server

SYS atau SYS TEM.

BAB III

OBJEK-OBJEK DATABASE ORACLE

3.1. Objek-Objek Database

Objek-objek database oracle dapat dibagi menjadi atas dua kelompok,yakni

schema object dan non-schema object. Apa yang dimaksud dengan schema?

Sebuah schema adalah sekumpulan data yang kepemilikannya dipunyai oleh

user database yang namanya sama dengan nama schema tersebut. Object

schema dapat dibuat dan dimodifikasi dengan DDL statement. Object schema

pada Oracle diantaranya adalaha :

a. Index

b. Package

c. Private Synonim

d. Sequence

e. Stored Procedure dan store function

f. Table

g. View

Objek non-schema juga dapat dibuat dan dimodifikasi menggunakan DDL

statement, namun objek-objek tersebut teradapat di dalam suatu schema. Objek

non-schema pada Oracle diantaranya adalah :

a. Public Synonim

b. Tablespace

c. User

3.2. Aturan Penamaan Objek Database

Sebuah Objek database dapat dibuat dan diberi nama oleh user yang berhak

untuk melakukan hal tersebut. Pemberian nama terhadap objek tersebut

mempunyai aturan-aturan khusus yang telah ditetapkan atau dibatasi oleh

Oracle. Beberapa aturan-aturan tersebut dicantumkan di bawah ini :

1. Nama harus 1 sampai 30 byte panjang dengan pengecualian ini:

Nama database terbatas pada 8 byte.

Nama database link dapat sepanjang 128 byte.

Jika identifier mencakup beberapa bagian yang dipisahkan oleh periode, maka

setiap atribut bisa sampai 30 byte panjang. Setiap pemisah periode, serta setiap

sekitarnya tanda kutip ganda, dianggap sebagai satu byte.

Misalnya, Anda mengidentifikasi kolom seperti ini:

"schema"."table"."column“

Nama skema bisa 30 byte, nama tabel dapat dengan 30 byte, dan nama

kolom bisa 30 byte. Setiap tanda kutip dan periode adalah karakter single-

byte, sehingga total panjang identifier dalam contoh ini bisa sampai 98 byte.

2. Nama Objek tidak boleh mengandung tanda petik tunggal (quotation mark).

Penggunaan tanda petik ganda diperbolehkan namun sangat tidak dianjurkan.

3. Nama Objek harus diawali dengan karakter alfabet

4. Penamaan tidak membedakan huruf besar dengan huruf kecil (not case

sensitive).

5. Selain karakter pertama, nama objek boleh mengandung karakter

alfanumerik, garis bawah atau underscores ( _ ), tanda dolar ( $ ), dan

tanda pound (#). Namun demikian, sangat dianjurkan untuk tidak

menggunakan tanda dolar maupun tanda pound karena kedua karakter

tersebut digunakan secara khusus oleh oracle untuk penamaan objek yang

dibuat oleh sistem.

6. Di dalam satu schema, pada namespace yang sama tidak boleh ada nama

objek yang sama. Pengelompokan namespace dapat dilihat pada gambar

3.1 a. Setiap Objek di dalam kotak yang sama berada dalam namespace

yang sama.

7. Di dalam satu database tidak boleh ada nama objek non-schema yang

sama pada namspace yang sama.

8. Nama kolom di dalam satu tabel atau view tidak boleh ada yang sama

9. Procedure dan function di dalam satu package boleh sama asalkan jumlah

atau tipe data dari argumen-argumennya berbeda (disebut dengan istilah

overloading).

10. Hindari penggunaan kata yang diawali dengan “SYS_” untuk nama sebuah

objek schema.

11. Nama Objek tidak boleh sama dengan nama Oracle reserved words atau

key words.

12. Jangan gunakan nama fungsi built-in atau tipe data built-in sebagai nama

dari objek schema, bagian/anggota dari objek schema, function, atau

procedure.

13. Nama dari bagian/anggota sebuah objek schema, misalnya nama kolom

sebuah tabel boleh sama dengan beberapa Oracle keywords namun

sangat tidak dianjurkan karena hal tersebut dapat menimbulkan

kemungkinan tidak bekerjanya beberapa SQL statement terhadap objek

tersebut.

Contoh penamaan Objek Schema Database

last_name

horse hr.hire_date

"EVEN THIS & THAT!“

a_very_long_and_valid_name

3.3. Petunjuk Penamaan Objek Schema Database

Berikut adalah beberapa panduan bermanfaat untuk penamaan obyek dan bagian-

bagiannya:

a)   Gunakan penuh, deskriptif, nama diucapkan (atau singkatan terkenal).

b) Gunakan aturan penamaan yang konsisten.

c) Gunakan nama yang sama untuk menggambarkan entitas yang sama atau atribut di tabel.

Ketika penamaan benda, menyeimbangkan tujuan menjaga nama pendek dan mudah

digunakan dengan tujuan membuat nama sejelas mungkin. Jika ragu, memilih nama

yang lebih deskriptif, karena objek dalam database dapat digunakan oleh banyak orang

selama periode waktu. (http://docs.oracle.com)

Menggunakan aturan penamaan yang konsisten membantu pengguna

memahami bagian bahwa setiap tabel bermain di aplikasi Anda. Salah satu

aturan tersebut mungkin untuk memulai nama semua tabel milik aplikasi

FINANCE dengan fin_. (http://docs.oracle.com)

Gunakan nama yang sama untuk menggambarkan hal yang sama di tabel.

Misalnya, kolom nomor departemen karyawan sampel dan departemen tabel

keduanya bernama department_id. (http://docs.oracle.com)

3.4. Tables

Tabel adalah unit dasar penyimpanan data dalam database Oracle. Data

disimpan dalam baris dan kolom.

Anda mendefinisikan tabel dengan nama tabel (seperti karyawan) dan set

kolom. Anda memberikan setiap kolom, nama kolom (seperti employee_id,

last_name, dan job_id), datatype (seperti VARCHAR2, DATE, atau

NUMBER), dan lebar. Itu lebar dapat ditentukan oleh datatype, seperti pada

DATE. Jika kolom adalah datatype NUMBER , menentukan presisi dan skala

bukannya lebar. Baris adalah kumpulan kolom informasi yang berhubungan

dengan satu catatan data.

Anda dapat menentukan aturan untuk setiap kolom tabel. Aturan-aturan ini

disebut integritas constraint.

Salah satu contoh adalah NOT NULL integrity constraint. Kendala ini

memaksa kolom berisi nilai dalam setiap baris.

Anda juga dapat menentukan kolom tabel yang di enkripsi data sebelum

disimpan dalam datafile. Enkripsi mencegah pengguna menghindari kontrol

akses basis data. Mekanisme dengan melihat ke dalam file data secara langsung

dengan alat sistem operasi. Setelah Anda membuat tabel, menyisipkan baris

data menggunakan pernyataan SQL. Tabel data kemudian dapat akan bertanya,

dihapus, atau diperbarui menggunakan SQL.

Contohnya misalnya pada tabel “employee” seperti berikut ini :

3.5. Penyimpanan Data Tabel

Bila Anda membuat tabel, Oracle secara otomatis mengalokasikan segmen data

dalam tablespace untuk menyimpan data tabel masa depan. Anda dapat

mengontrol alokasi dan penggunaan ruang untuk segmen data tabel dengan

cara berikut:

a. Anda dapat mengontrol jumlah ruang yang dialokasikan untuk segmen data

dengan menetapkan parameter penyimpanan untuk segmen data.

b. Anda dapat mengontrol penggunaan ruang bebas di blok data yang merupakan

data luasan segmen dengan menetapkan PCTUSED dan parameters PCTFREE

untuk data segmen.

Oracle menyimpan data untuk cluster table di segmen data yang dibuat untuk

cluster bukan dalam segmen data dalam tablespace. Parameter penyimpanan

tidak dapat ditentukan ketika sebuah cluster table dibuat atau diubah. Parameter

penyimpanan ditetapkan untuk cluster selalu mengontrol penyimpanan semua

tabel di cluster. Tabel Data Segmen (atau segmen data klaster, ketika

berhadapan dengan cluster table) dibuat baik pemilik tabel tablespace default

atau dalam tablespace khusus disebutkan dalam pernyataan CREATE TABLE.

3.5. Format Baris dan Ukuran

Oracle menyimpan setiap baris dari tabel database yang berisi data untuk kurang

dari 256 kolom sebagai satu atau lebih potongan baris.

Jika seluruh baris dapat dimasukkan ke dalam sebuah blok data tunggal, maka

Oracle menyimpan baris sebagai salah satu bagian baris. Namun, jika semua

data baris yang tidak dapat dimasukkan ke dalam blok data tunggal atau jika

update untuk baris yang sudah ada menyebabkan baris untuk mengatasi blok

data, maka Oracle menyimpan baris menggunakan beberapa bagian baris. Data

blok biasanya hanya berisi satu bagian baris untuk setiap baris. Ketika Oracle

harus menyimpan baris di lebih dari satu bagian baris, maka dihubungkan ke

beberapa blok.

BAB IV

INVENTORI

Sebuah Co bernstraint atau lebih dapat diberikan ke suatu tabel. Kegunaan

constraint tersebut adalah untuk memberikan suatu aturan atau batasan . yang

berlaku pada tabel tersebut sehingga dapat mencegah kesalahan operasi DML

yang dikenakan kepadanya.

Pembuatan Constraint dapat dilakukan pada waktu yang bersamaan dengan

pembuatan tabel (menggunakan perintah CREATE_TABLE) atau setelah

tabel tersebut dibuat (menggunakan ALTER TABLE). Informasi tentang

constraint yang ada pada semua. tabel yang telah dibuat dapat dilihat pada

data dictionary.

4.1. Tipe Constraint

Oracle menyediakan lima constraint yang dapat digunakan untuk memberikan batasan-

batasan operasi DML baik pada level kolom maupun level tabel. Constraint level kolom

adalah constraint yang hanya melibatkan satu kolom tersebut. Sedangkan constraint

level tabel melibatkan lebih dari satu kolom (composite constraint) atau di definisikan

secara terpisah dari definisi kolom. Kelima constraint tersebut adalah sebagai berikut :

a. NOT NULL

b. UNIQUE

c. PRIMARY KEY

d. FOREIGN KEY

e. CHECK

Bentuk Umum dari klausa constraint terlihat seperti di bawah ini :

[CONSTRAINT constraint_name]

constraint_type_clause

Constraint dapat dibuat dengan CREATE TABLE atau ALTER TABLE

statement. Dengan demikian klausa constraint di atas adalah bagian dari kedua

jenis statement tersebut. Apabila sebuah constraint akan diberikan ke kolom

col_i dari sebuah tabel, pada bagian definisi kolom tersebut ditambahkan klausa

constraint sehingga bagian definisi kolom tersebut menjadi seperti di bawah ini :

col_i datatype [DEFAULT expr] [

CONSTRAINT constraint_name]

column_constraint]

Pendefinisian constraint seperti di atas disebut pendefinisian constraint level

kolom. Sedangkan constraint level tabel didefinisikan pada bagian akhir dari

definisi kolom seperti yang ditunjukkan bentuk umum di bawah ini.

col_1 datatype [DEFAULT expr] [ ,

col_1 datatype [DEFAULT expr] [ ,

… [ ,

col_1 datatype [DEFAULT expr] [ ,

CONSTRAINT constraint_name]

table_constraint]

Khusus Untuk ALTER TABLE, bentuk umum penambahan constraint adalah

sebagai berikut :

ALTER_TABLE [schema . ] table ADD [

CONSTRAINT constraint_name]

constraint_type_clause;

Sedangkan penghapusan Constraint mempunyai bentuk umum sebagai berikut :

ALTER TABLE [schema . ] table DROP

CONSTRAINT constraint_name;

Selain itu untuk membuat atau menghapus constraint NOT NULL dapat

digunakan “ALTER TABLE…MODIFY”.

Pemberian nama pada Constraint bersifat optional, dapat dilakukan oleh user

atau diserahkan pada Oracle Server. Pemberian nama sebaiknya diawali

dengan singkatan dari tipe constraint, misalnya “nn_” (NO NULL), “unq_”

(UNIQE), “pk_” (primary key), “fk_” (foreign_key), dan “chk_” (CHECK).

Apabila nama constraint tidak didefinisikan secara eksplisit, Oracle server akan

melakukan generater sebuah nama dengan format “SYS_Cn”. Huruf n adalah

sekelompok karakter numerik yang digenerate oleh Oracle.

Isi dari constraint_type_clause pada bentuk umum klausa constraint di atas

spesifik untuk masing-masing tipe constraint.

4.5. NOT NULL

constraint type ini hanya berlaku untuk level kolom. Bentuk umum klausa

constraint untuk type ini adalah sebagai berikut :

[CONSTRAINT constraint_name] NOT NULL

Constraint NOT NULL bertujuan untuk membuat suatu kolom tidak boleh

berisi nilai NULL. Untuk setiap baris yang dimasukkan, kolom tersebut harus

diberi nilai aktual. Apabila constraint NOT NULL tidak diberikan, secara

default kolom tersebut dapat berisi NULL.

Berikut ini sebuah contoh pemberian constraint terhadap kolom no_peg dari

tabel PEGAWAI. Dalam contoh ini tabel tersebut diasumsikan sudah ada dan

dibuat menggunakan statement seperti pada “script02.sql” yang diberikan pada

pokok bahasan 3.3.1.

SQL > ALTER TABLE PEGAWAI MODIFY

( no_peg VARCHAR2 (8) NOT

NULL);

Table altered

Contoh program yang menggunakan NOT NULL

select /*+ parallel */

letter key_item,

count(*) value_item

from

(

select substr(d.text,c.i,1) letter

from documents d,

(select level i from dual connect by level <= 30) c

)

where letter is not null

group by letter

order by letter;

4.6. UNIQUE

Constraint tipe ini berlaku pada level kolom maupun level tabel. Bentuk

umum klausa constraint tipe ini ada dua. Untuk level kolom sebagai

berikut:

[CONSTRAINT constraint_name] UNIQUE

Sedangkan bentuk umum untuk level tabel adalah sebagai berikut.

[CONSTRAINT constraint_name] UNIQUE (col_1 [ , col_2 [ , ....[ , col_n]]] )

Constraint UNIQUE ini bertujuan untuk membuat sebuah kolom atau kombinasi

dari beberapa kolom pada sebuah tabel menjadi bersifat unik. Dengan demikian

didalam tabel tersebut tidak di perbolehkan ada dua baris data yang nilai unique

key nya sama.

Contoh penggunaan Unique dalam Program

CREATE TABLE lib_users (

id NUMBER NOT NULL,

username VARCHAR2(60) NOT NULL,

encrypted_password RAW(16) NOT NULL,

account_creation_date DATE NOT NULL,

email_address VARCHAR2(2000),

cardid VARCHAR2(30),

CONSTRAINT lib_accounts_pk PRIMARY KEY (id),

CONSTRAINT username_uk UNIQUE (username),

CONSTRAINT username_length_ck CHECK (LENGTH(username) >= 6)

);

4.7. FOREIGN KEY

Foreign Key untuk aturan yang terkait dengan integritas referensial. Peramal

mendukung penggunaan kendala KEYintegrity ASING untuk menentukan

referensial tindakan integritas, termasuk:

1. Update dan Delete No Action

2. Delete CASCADE

3. Delete SET NULL

Contoh Maksud dari Foreign Key

Bentuk umum klausa constraint untuk membuat sebuah foreign key pada level

kolom diperlihatkan berikut ini :

[CONSTRAINT constraint_name]

REFERENCES [schema . ] table

[ (column) ]

[ON DELETE < CASCADE | SET NULL>]

Sedangkan bentuk umum untuk level tabel adalah sebagai berikut :

[ CONSTRAINT constraint_name] FOREIGN

KEY (col_list)

REFERENCES [schema .]

[ (col_list) ]

[ ON DELETE < CASCADE | SET NULL>]

Nilai col_list adalah col_1 [, col_2 [, …[ ,col_n]]].

Contoh menambahkan foreign key pada tabel PEGAWAI yang mengacu ke

tabel POSISI.

SQL> ALTER TABLE PEGAWAI

2 ADD CONSTRAINT

fk_pegawai_posisi FOREIGN KEY

(pos_id)

3 REFERENCES POSISI (pos_id);

4.8. PRIMARY KEY

Kolom atau set kolom termasuk dalam definisi sebuah tabel PRIMARY KEY

CONSTRAINT. Sebuah nilai primary key yang unik mengidentifikasi baris

dalam sebuah tabel. hanya satu primary key dapat didefinisikan untuk setiap

tabel.

Batasan integritas yang tidak mengizinkan duplikat nilai dan nulls dalam

kolom atau mengatur kolom.

Constraint tipe ini juga berlaku pada level kolom maupun level tabel. Bentuk

umum level kolom adalah sebagai berikut .

[CONSTRAINT constraint_name] PRIMARY KEY

4.9. CHECK

Constraint CHECK dapat berlaku untuk level kolom maupun level tabel. Bentuk

umum klausa CHECK untuk kedua level tersebut sama aja yakni seperti yang di

tunjukan berikut ini.

[CONSTRAINT constraint_name CHECK (condition)]

Constraint CHECK berguna untuk membuat suatu kondisi yang harus dipenuhi

oleh setiap baris data didalam suatu tabel. Kondisi yang memenuhi adalah yang

menghasilkan nilai TRUE atau unknown untuk nilai NULL. Kondisi constraint

CHECK disuatu tabel dapat mengacu kesembarang kolom pada tabel tersebut

tetapi tidak boleh mengacu ke kolom-kolom pada tabel lainnya.