6 BAB 2 LANDASAN TEORI 2.1 Basis Data Menurut Connolly dan Begg (2010, p65), basis data adalah suatu kumpulan data yang berhubungan secara logika dan secara deskripsi dari data-data yang dirancang untuk memenuhi kebutuhan informasi dalam suatu organisasi. Basis data menawarkan keuntungan penyimpanan data dengan format yang independen dan fleksibel. Hal ini dikarenakan basis data didefinisikan secara terpisah dari program aplikasi yang menggunakan basis data dan lingkup basis data dapat dikembangkan tanpa berdampak pada program-program yang menggunakan basis data tersebut. Penggunaan basis data yang mudah dipakai tidak lepas dari peranan komponen- komponen yang terkandung di dalamnya. Adapun komponen-komponen yang membentuk basis data adalah : Field merupakan satuan unit terkecil dari data untuk disimpan pada sebuah basis data. adapun tipe-tipe field secara umum adalah : o Primary Key (PK) merupakan sebuah field yang paling umum digunakan untuk mengidentifikasi record tunggal pada table dimana Primary Key (PK) memiliki value yang berbeda antara satu record dengan record lainnya. Contohnya adalah NIM yang secara unik memiliki value yang berbeda antara satu record dengan record lainnya yang terdapat pada table Mahasiswa. o Foreign Key (FK) merupakan sebuah primary key suatu table yang digunakan dalam table lain untuk mengidentifikasi record hubungan. Contohnya adalah pada table Pembayaran, berisi foreign key NIM untuk mengidentifikasikan record yang terdapat pada table Mahasiswa yang dihubungkan dengan table Pembayaran. o Descriptive field merupakan field-field non-key yang menyimpan data- data pendukung dari sebuah table. Contohnya adalah pada table Mahasiswa, terdapat field Nama dan field Alamat. Record merupakan kumpulan field yang dikelola dalam format yang ditentukan. Contohnya adalah record Mahasiswa dideskripsikan dengan kumpulan field yang berkaitan. Misalnya record Mahasiswa (NIM, Nama, Alamat). Field NIM digaris bawahi karena merupakan primary key. Table merupakan kumpulan record-record yang sama. Contohnya adalah table Mahasiswa yang memiliki kumpulan record berisi data Mahasiswa. Konsep logika basis data secara umum menggambarkan data yang tersimpan dalam sebuah table. Beberapa data yang tersimpan dalam sebuah table memiliki hubungan dengan data yang terdapat pada table lainnya. Diagram yang dipakai untuk menggambarkan konsep logika basis data adalah Entity Relationship Diagram (ERD). Penggunaan Entity Relationship Diagram (ERD) dimungkinkan untuk memberikan kemudahan di dalam melakukan pemodelan data, seperti yang disampaikan oleh Connolly dan Begg (2010, p473), Entity Relationship Diagram (ERD) digunakan untuk menggambarkan hubungan antara satu entitas dengan entitas yang lain. Sedangkan menurut Whitten dan Bentley (2007, p271), Entity Relationship Diagram (ERD) adalah model data yang menggunakan beberapa notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang dideskripsikan oleh data tersebut. Dari pengertian diatas, dapat disimpulkan bahwa Entity Relationship Diagram (ERD) adalah model data yang menggunakan beberapa notasi untuk menggambarkan hubungan antara satu entitas dengan entitas yang lain. Adapun komponen-komponen yang membentuk Entity Relationship Diagram (ERD) adalah : Entitas merupakan kelompok orang, tempat, objek, kejadian, atau konsep tentang apa yang diperlukan untuk menangkap dan menyimpan data. Komponen dalam basis data yang mengacu kepada entitas adalah table.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
6
BAB 2
LANDASAN TEORI
2.1 Basis Data
Menurut Connolly dan Begg (2010, p65), basis data adalah suatu kumpulan data yang
berhubungan secara logika dan secara deskripsi dari data-data yang dirancang untuk
memenuhi kebutuhan informasi dalam suatu organisasi. Basis data menawarkan
keuntungan penyimpanan data dengan format yang independen dan fleksibel. Hal ini
dikarenakan basis data didefinisikan secara terpisah dari program aplikasi yang
menggunakan basis data dan lingkup basis data dapat dikembangkan tanpa
berdampak pada program-program yang menggunakan basis data tersebut.
Penggunaan basis data yang mudah dipakai tidak lepas dari peranan komponen-
komponen yang terkandung di dalamnya. Adapun komponen-komponen yang
membentuk basis data adalah :
Field merupakan satuan unit terkecil dari data untuk disimpan pada sebuah
basis data. adapun tipe-tipe field secara umum adalah :
o Primary Key (PK) merupakan sebuah field yang paling umum
digunakan untuk mengidentifikasi record tunggal pada table dimana
Primary Key (PK) memiliki value yang berbeda antara satu record
dengan record lainnya. Contohnya adalah NIM yang secara unik
memiliki value yang berbeda antara satu record dengan record lainnya
yang terdapat pada table Mahasiswa.
o Foreign Key (FK) merupakan sebuah primary key suatu table yang
digunakan dalam table lain untuk mengidentifikasi record hubungan.
Contohnya adalah pada table Pembayaran, berisi foreign key NIM
untuk mengidentifikasikan record yang terdapat pada table Mahasiswa
yang dihubungkan dengan table Pembayaran.
o Descriptive field merupakan field-field non-key yang menyimpan data-
data pendukung dari sebuah table. Contohnya adalah pada table
Mahasiswa, terdapat field Nama dan field Alamat.
Record merupakan kumpulan field yang dikelola dalam format yang
ditentukan. Contohnya adalah record Mahasiswa dideskripsikan dengan
kumpulan field yang berkaitan. Misalnya record Mahasiswa (NIM, Nama,
Alamat). Field NIM digaris bawahi karena merupakan primary key.
Table merupakan kumpulan record-record yang sama. Contohnya adalah
table Mahasiswa yang memiliki kumpulan record berisi data Mahasiswa.
Konsep logika basis data secara umum menggambarkan data yang tersimpan
dalam sebuah table. Beberapa data yang tersimpan dalam sebuah table memiliki
hubungan dengan data yang terdapat pada table lainnya.
Diagram yang dipakai untuk menggambarkan konsep logika basis data adalah
Entity Relationship Diagram (ERD). Penggunaan Entity Relationship Diagram (ERD)
dimungkinkan untuk memberikan kemudahan di dalam melakukan pemodelan data,
seperti yang disampaikan oleh Connolly dan Begg (2010, p473), Entity Relationship
Diagram (ERD) digunakan untuk menggambarkan hubungan antara satu entitas
dengan entitas yang lain. Sedangkan menurut Whitten dan Bentley (2007, p271),
Entity Relationship Diagram (ERD) adalah model data yang menggunakan beberapa
notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang
dideskripsikan oleh data tersebut.
Dari pengertian diatas, dapat disimpulkan bahwa Entity Relationship Diagram
(ERD) adalah model data yang menggunakan beberapa notasi untuk menggambarkan
hubungan antara satu entitas dengan entitas yang lain.
Adapun komponen-komponen yang membentuk Entity Relationship Diagram
(ERD) adalah :
Entitas merupakan kelompok orang, tempat, objek, kejadian, atau konsep
tentang apa yang diperlukan untuk menangkap dan menyimpan data.
Komponen dalam basis data yang mengacu kepada entitas adalah table.
7
Gambar 2.1 Contoh Entitas Mahasiswa
Pada gambar 2.1, terdapat entitas Mahasiswa dimana pada entitas tersebut
dapat mengandung banyak instance mahasiswa seperti : Thomas, Rudi, Kaka,
Sonia, dll. Dalam pemodelan data, peranan entitas Mahasiswa dipakai untuk
mengelompokkan kategori instance mahasiswa sehingga tidak perlu
mendeskripsikan tiap-tiap instance mahasiswa satu per satu.
Atribut merupakan sifat atau karakteristik deskriptif yang diidentifikasi untuk
disimpan ke dalam suatu entitas. Komponen dalam basis data yang mengacu
kepada atribut adalah record.
Gambar 2.2 Contoh Atribut Pada Entitas Mahasiswa
Pada gambar 2.2, pada entitas Mahasiswa terdapat atribut NIM (Primary Key),
atribut Nama, dan atribut Alamat. Penggunaan atribut NIM, atribut Nama, dan
atribut Alamat dipakai untuk mengidentifikasikan bagian data spesifik yang
disimpan dari setiap instance mahasiswa.
Hubungan merupakan hubungan bisnis alami yang ada di antara satu atau
lebih entitas.
Gambar 2.3 Contoh Hubungan Antara Entitas Mahasiswa Dengan Entitas
Pembayaran
Pada gambar 2.3, terdapat hubungan antara entitas Mahasiswa dengan entitas
Pembayaran. Atribut yang menghubungi antara entitas Mahasiswa dengan
entitas Pembayaran adalah NIM yang ditandai sebagai Foreign Key (FK) oleh
entitas Pembayaran.
2.2 Database Management System (DBMS)
Menurut Connolly dan Begg (2010, p66), Database Management System (DBMS)
adalah sebuah sistem perangkat lunak yang memungkinkan pengguna untuk
mendefinisikan, membuat, memelihara dan mengatur kendali akses pada basis data.
Sedangkan menurut Hoffer, Prescott, dan Topi (2009,p49), Database Management
System (DBMS) adalah sebuah sistem perangkat lunak yang dipakai untuk membuat,
merancang, dan menyediakan kendali akses untuk pengguna basis data.
Dari pengertian di atas, dapat disimpulkan bahwa Database Management System
(DBMS) merupakan sistem perangkat lunak yang memiliki fungsi untuk
mendefinisikan, membuat, merancang, dan menyediakan kendali akses untuk
pengguna basis data. Inti dari Database Management System (DBMS) disebut
database engine. Database engine berguna untuk me-respons perintah-perintah
khusus untuk memanipulasi struktur basis data.
8
Adapun fasilitas-fasilitas umum yang dimiliki oleh sebuah Database Management
System (DBMS) :
Memungkinkan pengguna untuk melakukan proses Structured Query
Language (SQL). Proses Structured Query Language (SQL) secara umum
dipakai untuk mendefinisikan dan memanipulasi data untuk mendapatkan
hasil output yang dikehendaki, seperti yang disampaikan Connolly dan Begg
(2010, p184), Structured Query Language (SQL) adalah sebuah bahasa yang
dirancang dalam penggunaan relasi untuk mengubah input menjadi output
yang dikehendaki. Sedangkan menurut Ahmed et.al (2012, p85), Structured
Query Language (SQL) adalah sebuah bahasa yang meliputi operasi pada
table-table dan mengambil data-data spesifik dari media penyimpanan fisik.
Dari pengertian di atas, dapat disimpulkan bahwa Structured Query Language
(SQL) merupakan sebuah bahasa untuk mengoperasikan table-table dalam
penggunaan relasi untuk mengubah input dan output yang dikehendaki.
Secara garis besar, perintah Structured Query Language (SQL) dapat
dikelompokkan menjadi :
Data Definition Language (DDL) adalah perintah untuk mendefinisikan
struktur objek basis data seperti membuat table atau mengubah struktur table.
Ada lima jenis perintah Data Definition Language (DDL) yaitu:
o CREATE dipakai untuk membuat struktur objek basis data seperti
table, view, index, sequence, dan synonym. Perintah CREATE pada
umumnya digunakan untuk menentukan parameter – parameter yang
terdapat dalam struktur objek basis data.
CREATE Table Sintaks penulisan CREATE Table :
CREATE TABLE TABLE_NAME
(COLUMNNAME DATATYPE [DEFAULT EXPR][, ...]);
CREATE table
merupakan perintah untuk membuat table baru. Dalam penulisan CREATE table,
pengguna menentukan nama table, nama kolom, tipe data, dan size yang diinginkan.
Contoh penulisan CREATE Table :
CREATE TABLE EMPLOYEES
(EMPLOYEE_ID NUMBER(2), LAST_NAME VARCHAR2(14));
- CREATE View
Sintaks penulisan CREATE View :
CREATE [OR REPLACE] VIEW VIEW_NAME
AS SUBQUERY;
CREATE view
merupakan perintah untuk membuat view baru. Dalam penulisan CREATE view,
pengguna diwajibkan untuk mengisi SUBQUERY. Klausa SUBQUERY dalam
sintaks penulisan CREATE view merupakan perintah SELECT yang berfungsi
sebagai acuan untuk view yang di-create. Klausa OR REPLACE digunakan untuk
mengganti konten sebuah view yang memiliki nama view yang sama dengan konten
yang baru. Penggunaan klausa OR REPLACE bersifat opsional.
Contoh penulisan CREATE View :
CREATE VIEW EMPVIEW10
AS SELECT EMPLOYEE_ID, LAST_NAME, SALARY
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 10;
9
- CREATE Index
Sintaks penulisan CREATE Index :
CREATE INDEX INDEX_NAME
ON TABLE_NAME (COLUMN_NAME[, COLUMN_NAME]...);
- CREATE index
merupakan perintah untuk membuat index baru. Pengguna diwajibkan untuk mengisi
nama kolom yang ingin di-index. Nama kolom yang di-index boleh lebih dari 1
asalkan berada pada table yang sama.
Contoh penulisan CREATE Index :
CREATE INDEX ID_EMP
ON EMPLOYEES (EMPLOYEE_ID);
- CREATE Sequence
Sintaks penulisan CREATE Sequence :
CREATE SEQUENCE SEQUENCE_NAME
[INCREMENT BY N]
[START WITH N]
[{MAXVALUE N | NOMAXVALUE}]
[{MINVALUE N | NOMINVALUE}];
CREATE sequence :
merupakan perintah untuk meng-generate angka-angka yang unik. Sequence pada
umumnya dipakai untuk membuat value sebuah primary key. Setiap huruf N
merupakan nominal angka yang dikehendaki.
CREATE sequence terdiri dari beberapa opsional:
- Klausa INCREMENT BY menunjuk kepada jumlah penambahan angka yang
dikehendaki ketika sebuah nilai di-generate.
- Klausa START WITH menunjuk kepada angka pertama yang di-generate.
- Klausa MAXVALUE menunjuk kepada batasan angka tertinggi pada sequence
yang di-create. Sebaliknya penggunaan klausa NOMAXVALUE dipakai apabila
pengguna tidak menghendaki batasan untuk MAXVALUE.
- Klausa MINVALUE menunjuk kepada batasan angka terendah pada sequence
yang di-create. Sementara penggunaan NOMINVALUE dipakai apabila pengguna
tidak menghendaki batasan untuk MINVALUE.
Contoh penulisan CREATE Sequence :
CREATE SEQUENCE DEPTID
INCREMENT BY 10
START WITH 100
MAXVALUE 9999
MINVALUE 100 ;
- CREATE Synonym
Sintaks penulisan CREATE Synonym :
CREATE SYNONYM SYNONYM_NAME
FOR OBJECT_NAME;
CREATE synonym dipakai untuk memberikan nama alias pada sebuah objek basis
data. Penggunaan synonym pada umumnya dipakai untuk mempermudah pengguna
dalam mengingat penamaan objek basis data tanpa menghilangkan nama aslinya.
Contoh penulisan CREATE Synonym :
CREATE SYNONYM STAFF
FOR EMPLOYEES;
10
ALTER Table
untuk mengubah struktur objek basis data seperti table dan sequence. Secara umum,
perintah ALTER table dapat dibedakan menjadi tiga jenis, yaitu add (menambahkan
struktur pada table), modify (memodifikasi struktur pada table), dan drop (menghapus
struktur pada table).
- ALTER Table (add)
Sintaks penulisan ALTER Table (Add) :
ALTER TABLE TABLE_NAME
ADD (COLUM_NAME DATATYPE [DEFAULT EXPR]
[, COLUMN_NAME DATATYPE]...);
ALTER table (add) dipakai untuk menambahkan kolom baru pada sebuah table.
Penambahan kolom baru akan diletakkan pada kolom terakhir pada sebuah table.
Contoh penulisan ALTER table (add) :
ALTER TABLE PRODUK
ADD (DISKON NUMBER(4,2) DEFAULT 0,
KETERANGAN VARCHAR2(20));
- ALTER Table (modify)
Sintaks penulisan ALTER Table (Modify) :
ALTER TABLE TABLE_NAME
MODIFY (COLUM_NAME DATATYPE
[DEFAULT EXPR]
[, COLUMN_NAME DATATYPE]...);
ALTER table (modify) digunakan untuk mengubah struktur table. Perubahan struktur
table dapat dilakukan pada tipe data sebuah kolom, size, dan default value.
Contoh penulisan ALTER Table (Modify) :
ALTER TABLE PRODUK
MODIFY (DISKON DEFAULT 10);
- ALTER Table (drop)
Sintaks penulisan ALTER Table (Drop) :
ALTER TABLE TABLENAME
DROP COLUMN (COLUMNAME);
ALTER table (drop) digunakan untuk menghapus kolom pada sebuah table.
Penghapusan kolom biasanya dilakukan apabila kolom tersebut sudah tidak
diperlukan lagi.
Contoh penulisan ALTER Table (Drop) :
ALTER TABLE PRODUK
DROP COLUMN KETERANGAN;
- ALTER Sequence
Sintaks penulisan ALTER Sequence :
ALTER SEQUENCE SEQUENCE_NAME
[INCREMENT BY N]
[START WITH N]
[{MAXVALUE N | NOMAXVALUE}]
[{MINVALUE N | NOMINVALUE}] ;
11
ALTER sequence dipakai untuk memodifikasi struktur yang terdapat dalam sebuah
sequence.
Contoh Penulisan ALTER Sequence :
ALTER SEQUENCE DEPTID
INCREMENT BY 20
START WITH 150
MAXVALUE 55000
MINVALUE 150 ;
DROP
merupakan perintah untuk menghapus objek basis data yang dikehendaki oleh
pengguna seperti table, view, index, sequence, dan synonym.
- DROP Table
Sintaks penulisan DROP Table :
DROP TABLE TABLE_NAME;
DROP table dipakai untuk menghapus table yang sudah tidak terpakai. Ketika
melakukan DROP table, semua data dan struktur dalam table akan dihapus. Selain
itu, semua index yang terlibat dalam table juga dihapus. Penggunaan rollback tidak
dapat dilakukan setelah table di-drop.
Contoh penulisan DROP Table :
DROP TABLE EMPLOYEES;
- DROP View
Sintaks penulisan DROP View :
DROP VIEW VIEW_NAME;
DROP view dipakai untuk menghapus view yang sudah tidak terpakai. Penghapusan
sebuah view tidak akan menghapus data yang terdapat di dalam view. Hal ini
disebabkan karena view hanya merepresentasikan data yang terdapat dalam table.
Contoh penulisan DROP View :
DROP VIEW EMPVIEW10 ;
- DROP Index
Sintaks penulisan DROP Index :
DROP INDEX INDEX_NAME ;
DROP index dipakai untuk menghapus index yang sudah tidak terpakai.
Contoh penulisan DROP Index :
DROP INDEX ID_EMP;
- DROP Sequence
Sintaks penulisan DROP Sequence :
DROP SEQUENCE SEQUENCE_NAME;
DROP sequence dipakai untuk menghapus sequence.
Contoh penulisan DROP Sequence :
DROP SEQUENCE DEPTID;
12
- DROP Synonym
Sintaks penulisan DROP Synonym :
DROP SYNONYM SYNONYM_NAME;
DROP synonym dipakai untuk menghapus synonym.
Contoh penulisan DROP Synonym :
DROP SYNONYM STAFF;
TRUNCATE table
merupakan perintah untuk menghapus data dan membebaskan space pada suatu table.
Sintaks penulisan TRUNCATE Table :
TRUNCATE TABLE TABLE_NAME;
TRUNCATE table
dipakai untuk menghapus semua baris dari sebuah table. Perintah TRUNCATE table
tidak dapat di-rollback.
Contoh penulisan TRUNCATE Table :
TRUNCATE TABLE EMPLOYEES;
RENAME table
untuk mengganti nama table. Penggunaan perintah RENAME juga harus diikuti
dengan penggunaan perintah ALTER.
Sintaks penulisan RENAME Table :
ALTER TABLE TABLE_NAME
RENAME TO TABLE_NAME;
RENAME table dipakai apabila pengguna menghendaki perubahan nama table.
Contoh penulisan RENAME Table :
ALTER TABLE DEPTS
RENAME TO DEPARTMENTS;
13
DATA MANIPULATION LANGUAGE (DML)
adalah perintah untuk melakukan manipulasi data seperti menambah (INSERT),
menghapus (DELETE), dan mengubah data (UPDATE).
Berikut jenis-jenis Data Manipulation Language (DML) adalah :
INSERT untuk menambah baris ke table. Penggunaan perintah INSERT, secara umum harus
menentukan nama table tempat data akan dimasukkan, daftar kolom yang diisikan
data, dan daftar nilai yang akan dimasukkan ke dalam kolom.
Sintaks penulisan INSERT Table :
INSERT INTO TABLE_NAME
[(COLUMN_NAME [, COLUMN_NAME...])]
VALUES (VALUE [, VALUE...]);
Pada perintah INSERT, setiap kolom yang didefinisikan sebagai NOT NULL, harus
selalu diberi value. Untuk pengisian data type CHAR, VARCHAR2, atau DATE,
pengguna diwajibkan untuk menggunakan tanda kutip tunggal.
Contoh penulisan INSERT Table :
INSERT INTO EMPLOYEES (ID_EMP, LAST_NAME)
VALUES (1200, „ALEX‟);
DELETE
untuk menghapus baris dari table. Penggunaan perintah DELETE, secara umum harus
menentukan nama table dan kondisi data yang akan dihapus.
Sintaks penulisan DELETE Table :
DELETE [FROM] TABLE_NAME
[WHERE CONDITION];
Berbeda dengan penggunaan TRUNCATE table, DELETE table tidak ikut serta
menghapus space yang telah digunakan oleh data sebelumnya. Selain itu, perintah
DELETE table dapat di-rollback sehingga apabila terjadi kesalahan dalam
penghapusan table, maka table dapat dikembalikan.
Contoh penulisan DELETE Table :
DELETE EMPLOYEES
WHERE ID_EMP = 1200;
UPDATE
untuk mengubah data di table. Penggunaan perintah UPDATE, secara umum harus
menentukan nama table yang akan dimodifikasi, kolom yang akan dimodifikasi, dan
nilai dimasukkan ke dalam kolom yang akan dimodifikasi.
Sintaks penulisan UPDATE Table :
UPDATE TABLE_NAME
SET COLUMN_NAME = VALUE
[, COLUMN_NAME = VALUE, ...]
[WHERE CONDITION];
14
Ketika melakukan perintah UPDATE table, pengisian value terhadap kolom yang
ingin dimodifikasi harus memiliki data type yang sama dengan value sebelumnya.
Jika tidak, maka tidak dapat di-update
Contoh penulisan UPDATE Table :
UPDATE EMPLOYEES
SET LAST_NAME = „BUDI‟
WHERE ID_EMP = 1200;
SELECT
untuk menampilkan data dari table atau view. Perintah SELECT secara sederhana
terdiri dari dua klausa yaitu SELECT dan FROM. Klausa SELECT dipakai untuk
menentukan kolom-kolom yang akan ditampilkan, sedangkan klausa FROM
menentukan nama table atau view.
Sintaks penulisan SELECT :
SELECT *|{[DISTINCT] COLUMN_NAME|EXPRESSION
[ALIAS],...}
FROM [SCHEMA_NAME.]TABLE_NAME | VIEW_NAME
[WHERE CONDITION]
[GROUP BY GROUP_BY_EXPRESSION]
[HAVING GROUP_CONDITION]
[ORDER BY COLUMN_NAME] ;
Penulisan perintah SELECT meliputi klausa mandatory dan optional. Klausa
mandatory berupa SELECT dan FROM. Sedangkan klausa optional berupa WHERE,
GROUP BY, HAVING, dan ORDER BY:
- Klausa SELECT digunakan untuk menentukan kolom-kolom yang
ingin ditampilkan. Penggunaan * dipakai untuk memanggil
seluruh data yang terdapat dalam table atau view.
- Klausa FROM digunakan untuk menentukan nama table atau
view. Penggunaan schema_name berfungi untuk memanggil data
dari schema yang berbeda.
- Klausa WHERE digunakan apabila pengguna ingin menampilkan
data berdasarkan kriteria tertentu.
- Klausa GROUP BY digunakan untuk memuat kolom yang tidak
diberikan group function.
- Klausa HAVING digunakan untuk memberikan kondisi tertentu
kepada kolom yang diberi group function.
- Klausa ORDER BY digunakan untuk mengurutkan data
berdasarkan kolom tertentu.
Contoh penulisan SELECT Table :
SELECT JOB_ID, SUM(SALARY) PAYROLL
FROM EMPLOYEES
WHERE EMPLOYEE_ID LIKE '%MARK%'
GROUP BY JOB_ID
HAVING SUM(SALARY) > 50000
ORDER BY SUM(SALARY);
15
MERGE
untuk menggabungkan data dari dua table. Perintah MERGE secara umum
merupakan kombinasi antara perintah UPDATE dan INSERT. Untuk
menggabungkan data dari dua table maka harus terdapat kolom yang digunakan
sebagai perantara antara kedua table untuk memastikan apakah terdapat data-data
yang sama atau tidak. Apabila terdapat data-data yang sama, maka akan dimodifikasi
(UPDATE), sebaliknya apabila terdapat data-data yang tidak sama maka data akan
ditambahkan (INSERT) sebagai data yang baru.
Sintaks penulisan MERGE Table :
MERGE INTO TABLE_NAME TABLE_ALIAS
USING TABLE_NAME TABLE_ALIAS
ON (JOIN CONDITION)
WHEN MATCHED THEN
UPDATE SET
COL1 = COL_VAL1,
COL2 = COL2_VAL
WHEN NOT MATCHED THEN
INSERT (COLUMN_LIST)
VALUES (COLUMN_VALUES);
Penggunaan perintah MERGE terdiri dari beberapa klausa :
- Klausa INTO digunakan untuk memilih table yang akan di-merge. Penggunaan
table_alias lebih baik digunakan untuk mempersingkat penulisan table.
- Klausa USING digunakan untuk memilih table pembanding.
- Klausa ON digunakan untuk menampilkan kriteria untuk membandingkan table
pertama dengan table kedua.
- Klausa WHEN MATCHED dipakai untuk memodifikasi data apabila terdapat
kesamaan value antara kedua table. Data yang terdapat dalam table pertama
akan dimodifikasi berdasarkan data pada table kedua.
- Klausa WHEN NOT MATCHED digunakan untuk menambahkan data apabila
tidak terdapat kesamaan value antara kedua table. Data yang terdapat dalam
table pertama akan ditambahkan berdasarkan data pada table kedua.
Contoh penulisan MERGE Table :
MERGE INTO DEPTS D1
USING DEPARTMENTS D2
ON (D1.DEPT_ID = D2.DEPT_ID)
WHEN MATCHED THEN
UPDATE SET
D1.DEPT_NAME = D2.DEPT_NAME
WHEN NOT MATCHED THEN
INSERT
VALUES (D2.DEPT_ID, D2.DEPT_NAME);
16
TRANSACTION CONTROL LANGUAGE
(TCL)
adalah perintah untuk menentukan suatu transaksi apakah suatu perubahan data akan
disimpan secara permanen atau dibatalkan.
COMMIT
untuk menjadikan perubahan data disimpan secara permanen.
Sintaks penulisan COMMIT :
COMMIT ;
Penggunaan COMMIT menghasilkan kondisi data sebelum di-commit akan hilang
secara permanen. Selain itu, semua perintah SAVEPOINT yang berkaitan akan
dihapus. Penggunaan COMMIT juga menghasilkan status lock terhadap baris yang
dipengaruhi akan dicabut.
Contoh penulisan COMMIT :
DELETE FROM EMPLOYEES;
COMMIT ;
ROLLBACK
untuk membatalkan suatu perubahan data.
Sintaks penulisan ROLLBACK :
ROLLBACK [TO SAVEPOINT SAVEPOINT_NAME] ;
Penggunaan ROLLBACK menghasilkan perubahan data di-undone. Kondisi data
sebelumnya akan dikembalikan. Selain itu, status lock terhadap baris yang
dipengaruhi akan dicabut.
Contoh penulisan ROLLBACK :
DELETE FROM EMPLOYEES;
ROLLBACK;
SAVEPOINT
untuk menentukan tahapan-tahapan dalam melakukan perubahan data sehingga
apabila ada kesalahan, data dapat dikembalikan ke tahapan tertentu. Perintah
SAVEPOINT dapat digunakan untuk mengontrol apakah sebuah transaksi sudah
sesuai dengan yang diharapkan sampai pada tahap tertentu.
Sintaks penulisan SAVEPOINT :
SAVEPOINT SAVEPOINT_NAME ;
Penggunaan SAVEPOINT digunakan untuk mempermudah pengguna dalam
melakukan rollback. Apabila terdapat kesalahan di dalam memanipulasi data, maka
pengguna hanya perlu melakukan rollback pada tahap tertentu saja tanpa perlu
mengembalikan kondisi mula-mula data sebelum dimanipulasi.
17
Contoh penulisan SAVEPOINT :
DELETE FROM DEPARTMENTS;
SAVEPOINT TAHAP1;
UPDATE EMPLOYEES SET LAST_NAME = „BUDI‟
WHERE ID_EMP = 1200;
SAVEPOINT TAHAP2;
Data Control Language
(DCL)
adalah perintah yang digunakan untuk mengontrol izin akses pengguna pada basis
data. Dua jenis privilege pengguna yang terdapat pada Data Control Language (DCL)
adalah system privilege dan object privilege. System privilege memungkinkan
diberikannya hak akses pengguna untuk mengakses sistem basis data. Sedangkan
object privilege memungkinkan diberikannya hak akses pengguna untuk
memanipulasi data yang terdapat pada objek basis data.
GRANT
untuk memberikan izin tertentu pada pengguna.
GRANT System Privilege
Sintaks penulisan GRANT pada System Privilege :
GRANT PRIVILEGE_NAME [, PRIVILEGE_NAME...]
TO USER_NAME [, USER_NAME| ROLE_NAME,
PUBLIC...]
[WITH ADMIN OPTION];
Dalam penulisan GRANT system privilege, dapat ditambahkan klausa WITH
ADMIN OPTION sehingga jenis privilege yang diberikan, dapat diberikan lagi
kepada pengguna lain. Beberapa jenis umum privilege yang terdapat dalam system
privilege:
- CREATE SESSION merupakan izin yang diberikan untuk melakukan login ke
database.
- CREATE TABLE merupakan izin yang diberikan untuk membuat table.
- CREATE ANY TABLE merupakan izin yang diberikan untuk membuat table di
schema user lain
- CREATE SEQUENCE merupakan izin yang diberikan untuk membuat sequence.
- CREATE VIEW merupakan izin yang diberikan untuk membuat view.
- CREATE INDEXTYPE merupakan izin yang diberikan untuk membuat index.
Contoh penulisan GRANT pada System Privilege :
GRANT CREATE SESSION, CREATE TABLE
TO HR;
GRANT Object Privilege
Sintaks penulisan GRANT pada Object Privilege :
GRANT OBJECT_PRIVILEGE_NAME [(COLUMNS_NAME)]
ON OBJECT_NAME
TO{USER_NAME|ROLE_NAME|PUBLIC}
[WITH GRANT OPTION];
18
Dalam penulisan GRANT object privilege, dapat ditambahkan klausa WITH GRANT
OPTION sehingga jenis privilege yang diberikan, dapat diberikan lagi kepada
pengguna lain. Beberapa jenis umum privilege yang terdapat dalam object privilege :
- SELECT merupakan izin yang diberikan untuk melihat data.
- INSERT merupakan izin yang diberikan untuk melakukan insert data.
- UPDATE merupakan izin yang diberikan untuk melakukan update data.
- DELETE merupakan izin yang diberikan untuk menghapus data.
- ALTER merupakan izin yang diberikan untuk mengubah struktur table.
- INDEX merupakan izin yang diberikan untuk membuat index berdasarkan
kolom pada table.
Contoh penulisan GRANT pada Object Privilege :
GRANT SELECT, DELETE
ON EMPLOYEES
TO HR;
REVOKE
untuk menarik izin tertentu dari pengguna.
REVOKE System Privilege
Sintaks penulisan REVOKE pada System Privilege :
REVOKE PRIVILEGE_NAME [, PRIVILEGE_NAME...]
FROM USER_NAME [, USER_NAME| ROLE_NAME,
PUBLIC...];
Penggunaan REVOKE system privilege pada umumnya digunakan apabila jenis
privilege yang diberikan sudah tidak digunakan lagi.
Contoh penulisan REVOKE pada Sistem Privilege :
REVOKE CREATE SESSION, CREATE TABLE
FROM HR;
REVOKE Object Privilege
Sintaks penulisan REVOKE pada Object Privilege :
REVOKE {PRIVILEGE [, PRIVILEGE...]|ALL}
ON OBJECT
FROM {USER[, USER...]|ROLE|PUBLIC};
Penggunaan REVOKE object privilege digunakan apabila jenis privilege yang
diberikan sudah tidak digunakan lagi.
Contoh penulisan REVOKE pada Object Privilege:
REVOKE DELETE
ON EMPLOYEES
FROM HR;
Memungkinkan kendali akses pada basis data. Penerapan kendali akses
memungkinkan tingkat perlindungan data yang optimal karena membatasi ruang
gerak bagi pengguna dan meminimalisir resiko kehilangan data.
Komponen-komponen pada lingkungan Database Management System (DBMS):
1. Perangkat keras adalah perangkat yang dipakai untuk menjalankan Database
Management System (DBMS). Perangkat keras merupakan semua bagian fisik
dari komputer. Perangkat keras dapat berjarak dari single personal computer,
single mainframe, dan pada sebuah jaringan dari beberapa komputer. Semakin
baik kualitas yang diberikan oleh perangkat keras, maka semakin baik
performa Database Management System (DBMS).
2. Perangkat lunak adalah bagian dari sistem komputer yang tidak berwujud.
Komponen dari perangkat lunak meliputi Database Management System
(DBMS) itu sendiri dan program-program aplikasi lainnya yang mendukung
19
suatu Database Management System (DBMS) dan juga termasuk jaringan
perangkat lunak. Program aplikasi tambahan yang dipakai dalam lingkungan
Database Management System (DBMS) mampu mendukung fungsionalitas
Database Management System (DBMS) menjadi lebih beragam.
3. Data adalah salah satu komponen utama dalam lingkungan Database
Management System (DBMS). Data merupakan representasi penyimpanan dari
objek dan kejadian yang memiliki pengertian dan kepentingan dalam lingkup
pengguna. Data juga merupakan jembatan yang menghubungi Database
Management System (DBMS) dengan manusia.
4. Procedure adalah komponen yang mengacu pada petunjuk dan aturan yang
mengatur rancangan dan penggunaan basis data. Procedure merupakan sebuah
manual book yang secara tepat digunakan sebagai pedoman dalam merancang
dan menggunakan basis data. Penggunaan procedure yang tepat mampu
meningkatkan aplikasi Database Management System (DBMS) menjadi lebih
optimal.
5. Manusia adalah komponen yang bertugas untuk menggerakkan sistem.
Manusia merupakan salah satu komponen utama dalam lingkungan Database
Management System (DBMS). Hal ini disebabkan karena tanpa perantara
manusia, proses interaksi antara manusia dengan komputer tidak akan
terwujud.
Beberapa keuntungan yang terdapat pada Database Management System (DBMS) :
1. Memampukan untuk mengontrol redudansi data. Database Management
System (DBMS) mengurangi redudansi data dengan mengintegrasikan file-file
yang ada sehingga data-data yang sama tidak akan disimpan.
2. Data yang konsisten. Resiko terhadap data yang tidak konsisten akan
dikurangi dengan cara mengeliminasi data-data yang redundan. Dengan
mengeliminasi data-data yang redundan, tingkat akurasi data menjadi lebih
baik.
3. Memampukan untuk memperoleh informasi tambahan dari jumlah data yang
sama. Informasi tambahan dapat diperoleh dengan mengintegrasikan data-data
operasional. Melalui proses terintegrasi, data-data akan terbentuk menjadi
pola tertentu sehingga munculnya informasi tambahan.
4. Memampukan untuk meningkatkan data integrity (constraint). Constraint
secara umum digunakan membatasi aturan secara konsisten sehingga
meningkatkan tingkat validitas dan konsistensi data yang tersimpan. Basis
data tidak diperbolehkan untuk dirubah apabila melanggar aturan yang
ditetapkan. Penggunaan Constraint memungkinkan tingkat validitas data
menjadi lebih tinggi.
5. Memampukan untuk meningkatkan keamanan data. Keamanan data adalah
bentuk perlindungan basis data dari pengguna yang tidak memiliki hak akses.
Tanpa tingkat keamanan yang tepat, integrasi membuat data menjadi lebih
rapuh.
6. Memampukan untuk mengurangi pengeluaran. Kombinasi dari seluruh data-
data operasional yang disimpan ke dalam satu basis data dan penggunaan satu
set aplikasi yang bekerja pada satu sumber data dapat mengurangi biaya
operasional.
7. Memampukan untuk menyeimbangkan perbedaan kebutuhan pengguna.
Melalui Database Management System (DBMS), Database Administrator
(DBA) dapat merancang kebutuhan operasional dari pengguna sehingga
memberikan kemudahan bagi pengguna secara keseluruhan.
8. Memampukan untuk meningkatkan concurrency. Database Management
System (DBMS) mengatur akses basis data secara berkesinambungan dan
memastikan permasalahan tidak terjadi.
9. Memampukan untuk meningkatkan proses backup dan recovery. Database
Management System (DBMS) menyediakan fasilitas untuk meminimalisir
jumlah proses yang dapat menyebabkan kegagalan.
20
Beberapa kerugian yang terdapat pada Database Management System (DBMS) :
1. Tingkat kompleksitas yang tinggi. Seluruh pengguna harus mengetahui secara
tepat fungsi-fungsi yang terdapat dalam Database Management System
(DBMS) sehingga dapat memperoleh manfaat secara maksimal.
2. Kapasitas size yang diperlukan semakin besar. Tingkat kerumitan dan
banyaknya fungsi yang ada menyebabkan Database Management System
(DBMS) memerlukan banyak perangkat lunak pendukung yang
mengakibatkan penambahan tempat penyimpanan dan memori untuk
menjalankan Database Management System (DBMS) secara efisien.
3. Biaya pada Database Management System (DBMS). Penggunaan Database
Management System (DBMS) sesuai dengan kebutuhan menghasilkan
pengeluaran biaya yang beragam. Semakin besar fungsionalitas yang
digunakan pada Database Management System (DBMS), maka pengeluaran
menjadi semakin besar.
4. Biaya pada perangkat keras tambahan. Database Management System
(DBMS) dapat bekerja dengan baik apabila kebutuhan pada media
penyimpanan data sudah terpenuhi, oleh sebab itu diperlukan media
penyimpanan data yang besar untuk dapat bekerja dengan baik.
5. Biaya pada konversi. Biaya tambahan diperlukan untuk melatih pengguna
untuk menggunakan sistem yang baru sehingga memungkinkan untuk
mengkonversi dan menjalankan sistem yang baru.
6. Penurunan performa pada aplikasi tertentu. Secara umum, Database
Management System (DBMS) digunakan untuk menjalankan banyak aplikasi
sehingga memungkinkan adanya penurunan performa pada aplikasi tertentu.
7. Tingkat kerusakan yang lebih tinggi. Database Management System (DBMS)
merupakan sistem yang terpusat. Apabila terdapat kerusakan pada bagian
manapun dari Database Management System (DBMS), akan menyebabkan
operasi terhenti.
Struktur Dasar Basis Data Oracle
Menurut Rani, Singh, dan Sharma (2011, p532), basis data Oracle merupakan sebuah
kombinasi antara Oracle instance dan data file yang terdapat pada file system. Oracle
instance merupakan keseluruhan proses-proses sistem pada basis data. Sedangkan
data file adalah file fisikal yang dipakai untuk menyimpan data pengguna maupun
data pada objek basis data. Basis data Oracle menawarkan fitur-fitur berbasis object-
oriented antara lain :
1. User defined data type merupakan data type yang didefinisikan sendiri oleh
pengguna.
2. Method adalah penggunan programming language yang terdapat pada
PL/SQL.
3. Collection type adalah type-type seperti array type atau table type.
4. Large object seperti Character Large Object (CLOB), Binary Large Object
(BLOB), dan Binary File (BFILE).
Basis data Oracle memiliki struktur-struktur dalam mengelola basis datanya. Struktur
dasar basis data Oracle secara umum dapat dibagi menjadi struktur logikal, struktur
fisikal, dan struktur memori.
Struktur logikal Oracle menggunakan sejumlah struktur-struktur logikal sebagai
building block yang secara umum terdiri dari empat macam, yaitu : data block,
extent, segment, dan tablespace.
o Data block merupakan sebuah dasar dari seluruh penyimpanan basis data
dalam sebuah basis data Oracle. Data block pada Oracle disebut juga
logical block atau page. Ukuran default pada data block sebesar 8 kb.
o Extent merupakan unit pada alokasi space yang meliputi dua atau lebih
data block. Extent mengacu kepada data-data yang terdapat dalam objek
basis data.
21
o Segment merupakan unit untuk mengalokasikan struktur logikal seperti
sebuah table atau index (atau objek basis data lainnya) yang mencakup
dua atau lebih extent.
o Tablespace mencakup satu atau beberapa data file dan pada umumnya
mengandung segment-segment yang berhubungan.
Struktur fisikal Oracle terdiri dari tiga jenis :
o Data file merupakan file yang digunakan untuk menyimpan data user,
data table dan data index.
o Control file merupakan file yang merekam perubahan pada semua
struktur basis data. Control file merupakan daftar isi dari physical file
basis data.
o Redo log file merupakan file yang mengandung perubahan yang dibuat
pada data dalam table. Redo log file dipakai untuk menyimpan semua
informasi yang berguna untuk me-recovery basis data apabila terjadi
crash.
Struktur memori Oracle terbagi menjadi dua jenis:
o System Global Area (SGA) adalah bagian dari memory yang merupakan
daerah shared memory. Komponen-komponen utama System Global Area
(SGA):
Database buffer cache digunakan untuk menyimpan salinan
dari data files.
Shared pool menyimpan nilai-nilai dari perintah SQL yang
dilakukan oleh pengguna yang mengandung library cache
untuk menyimpan kode SQL dan PL/SQL yang pernah diakses
dan mengandung data dictionary cache untuk menyimpan
informasi data dictionary.
Redo log buffer mengandung informasi yang diperlukan untuk
merekonstruksi perubahan yang dibuat pada basis data dari
operasi Data Manipulation Language (DML).
Java pool digunakan untuk ketika semua session menggunakan
java code dan data dalam Java Virtual Machine (JVM).
Large pool menyimpan alokasi memory yang besar untuk
menyimpan data tertentu.
Streams pool digunakan untuk mendukung fitur Oracle stream
seperti Large Object (LOB).
o Program Global Area (PGA) adalah bagian dari memori yang
memegang data dan informasi untuk pengguna individu. Program
Global Area (PGA) dapat dibedakan menjadi dua tipe :
Private SQL area adalah area pada memori yang menyimpan
informasi variabel SQL dan stuktur memori secara runtime.
Runtime area dibuat ketika pengguna melakukan perintah Data
Manipulation Language (DML).
22
Pada struktur memori Oracle terdapat dua proses utama yaitu server process
dan backgorund process :
o Server process adalah proses yang dipakai untuk melayani aktivitas
pengguna kepada basis data secara individual. Masing-masing
pengguna memiliki server process yang berbeda antara yang satu
dengan yang lainnya.
o Background process adalah proses yang memungkinkan sejumlah
besar pengguna untuk menggunakan informasi yang disimpan dalam
basis data secara bersama-sama. Beberapa proses umum yang terdapat
dalam background process :
System Monitor (SMON) dipakai untuk mengawasi keseluruhan
instance dan menjalankan recovery apabila kegagalan pada
instance.
Process Monitor (PMON) dipakai untuk memeriksa seluruh
proses yang dilakukan pengguna dan membersihkan proses
yang telah selesai atau gagal.
Database Writer (DBWn) dipakai untuk menulis perubahan
data dari database buffer cache ke data file.
Checkpoint (CKPT) dipakai untuk memperbarui semua data
file untuk mencatat detail checkpoint.
Log Writer (LGWR) dipakai untuk menulis isi redo log buffer
ke online redo log file.
Archiver (ARCn) dipakai untuk menyimpan isi yang terdapat
pada online redo log file.
Schema Oracle
Menurut Alapati (2009, p20), schema adalah sekumpulan objek basis data yang
berhubungan yang merupakan bagian dari struktur basis data logikal pada sebuah
basis data Oracle. Struktur schema dideskripsikan dalam database management
system (DBMS) dan secara umum disimpan di dalam data dictionary. Schema sering
digunakan untuk merujuk pada suatu gambaran grafis dari struktur basis data. Dengan
kata lain, schema merupakan struktur pada basis data yang mendefinisikan objek
basis data. Komponen–komponen pada schema Oracle secara umum:
Table merupakan objek basis data yang digunakan untuk menyimpan data
aplikasi. Sebuah table merupakan sekumpulan elemen-elemen data yang
dikelompokkan dengan menggunakan model dua dimensi, yaitu baris dan
kolom.
Index merupakan objek basis data yang berfungsi untuk mempercepat
pencarian data. Index dapat dibuat menggunakan satu atau lebih kolom-kolom
pada table basis data.
View merupakan objek basis data yang berupa pendefinisian query yang
mengakses ke satu atau beberapa table. View terdiri dari query yang disimpan
dalam sebuah table virtual. Perubahan data pada table fisik yang menjadi
acuan sebuah view akan secara otomatis mengubah data di dalam view.
Sequence adalah objek basis data yang dipakai untuk meng-generate nomor
urut yang unik.
Synonym digunakan untuk memberi nama alias pada suatu objek.
Function merupakan objek basis data yang berisikan perintah SQL atau
PL/SQL yang dipakai bersama-sama untuk mengeksekusi fungsi tertentu dan
selalu diperlukan pengembalian nilai.
Procedure adalah objek basis data yang berisikan perintah SQL atau PL/SQL
yang dipakai bersama-sama untuk mengeksekusi fungsi tertentu dan tidak
diperlukan pengembalian nilai.
Package adalah objek basis data yang secara umum terdiri dari beberapa
function dan procedure yang berhubungan.
23
Trigger adalah objek basis data yang dipanggil ketika ada kejadian tertentu.
Trigger merupakan kode prosedural yang secara dieksekusi secara otomatis
ketika merespon kejadian pada table atau view tertentu dalam basis data.
Trigger secara umum digunakan untuk memelihara integritas informasi pada
basis data.
PROSES QUERY ORACLE
Proses query Oracle merupakan proses transformasi SQL statement ke dalam
execution plan yang efisien untuk mengembalikan data yang dieksekusi dari basis
data. Tahap-tahap proses eksekuser ketika SQL statement dipanggil :
Parsing adalah proses parsing mengecek sintaks dan semantik pada SQL
statement. SQL statement diurai ke dalam query relational algebra untuk
melihat apakah penulisan sintaksnya tepat atau tidak. Proses parsing memiliki
2 jenis yaitu :
o Hard parsing adalah proses parsing yang operasinya melibatkan disk.
Hard parsing dilakukan apabila tidak ditemukan kecocokan struktur
SQL di shared pool. Operasi hard parsing membutuhkan resource
yang lebih besar karena semua operasi yang terlibat dalam proses
parsing dijalankan.
o Soft parsing adalah proses parsing yang operasinya tidak melibatkan
disk. Soft parsing dilakukan apabila ditemukan kecocokan struktur
SQL di shared pool sehingga SQL statement dijalankan kembali tanpa
memerlukan resource sebesar hard parsing.
Optimization adalah proses untuk memilih access method untuk memanggil
data berdasarkan query yang digunakan. Access method merupakan jalan yang
dipilih optimizer dalam mengakses data untuk memilih query yang paling
efisien, seperti yang disampaikan Mahjour dan Sohafi (2012, p284),
optimization merupakan proses untuk memilih evaluasi query plan yang
paling efisien dari beberapa strategi yang ada. Proses optimization
memungkinkan optimizer untuk mengambil informasi mengenai type, length,
dan statistik mengenai referensi hubungan dan access method yang tersedia.
Setelah itu, optimizer mempertimbangkan setiap query block dan memilih
plan untuk block tersebut. Proses optimization merupakan proses yang paling
penting karena dipakai untuk menjabarkan seberapa cepat data akan dipanggil.
Dua jenis pendekatan optimization yaitu Rule Based Optimizer (RBO) dan
Cost Based Optimizer (CBO). Rule Based Optimizer (RBO) merupakan
pendekatan optimization yang selalu mengikuti aturan terdefinisi untuk
memilih access method yang digunakan. Sedangkan Cost Based Optimizer
(CBO) merupakan pendekatan optimization yang menggunakan statistik untuk
memilih access method yang berfokus pada nilai cost terkecil. Pendekatan
optimization yang digunakan pada penelitian ini menggunakan Cost Based
Optimizer (CBO). Cost Based Optimizer (CBO) menggunakan beberapa
parameter dasar :
o Current queue length adalah waktu tunggu yang diperlukan untuk
menunggu atau menjalankan eksekusi pada server. Semakin kecil
waktu tunggu, maka semakin kecil cost yang digunakan.
o Server distance mengacu kepada jarak geografis pada server dari klien
yang bersangkutan. Semakin dekat dengan server, maka semakin kecil
cost pada fetch data.
o Server capacity merupakan jumlah proses yang menjalankan server
tanpa mengganggu fungsionalitas pada server.
o Load merupakan rasio angka yang diminta server untuk total kapasitas
permintaan yang bisa ditangani oleh server. Parameter ini
memungkinkan untuk menyeimbangkan konten pada masing-masing
server.
Execution adalah proses untuk mengeksekusi query yang dipanggil. Jika
statement dalam bentuk select, maka data yang dipanggil akan dikembalikan
kepada pengguna. Jika statement dalam bentuk insert, update, delete, maka
data akan dimodifikasi.
Fetching adalah proses dimana Oracle harus mengembalikan data yang di-
request oleh pengguna. Proses fetching hanya dipakai apabila pengguna
melakukan perintah SELECT.
24
Index
Menurut Connolly dan Begg (2010, p242), index merupakan struktur yang
menyediakan akses kepada baris-baris dari table berdasarkan nilai pada satu kolom
atau lebih. Sebuah index menyimpan nilai dari kolom yang di-index dengan physical
RowID pada record yang memiliki nilai dari index tersebut. Apabila terdapat
kesamaan antara nilai pencarian dengan nilai pada index, RowID pada index akan
menunjuk ke suatu lokasi baris di dalam table.
Adapun jenis-jenis umum index pada Oracle adalah sebagai berikut :
B-tree index adalah index dengan bentuk pada binary tree dan merupakan tipe
default pada index. Key value pada b-tree index disimpan dalam balance tree
(B-tree) yang menghasilkan pencarian data secara cepat.