!roteksi: mengandung system protection yang menangani kondisi malIunction (crash) baik
pada hardware ataupun soItware, juga mengandung security protection yang menangani
pengaksesan oleh user terlarang.
Maintain: mengandung sistem maintaining yang selalu meningkatkan kebutuhan perubahan
tiap waktu.
DBMS memiliki keuntungan seperti berikut:
1. Independensi data
DBMS menyediakan pendekatan yang membuat perubahan dalam data tidak membuat
program harus diubah.
. !engaksesan yang efisien terhadap data
DBMS menyediakan berbagai teknik yang canggih sehingga penyimpanan dan pengambilan
data dilakukan secara eIisien.
3. eamanan dan integritas data
arena data dikendalikan oleh DBMS, DBMS dapat melakukan kendala integritas terhadap
data. Segala sesuatu yang tidak sesuai dengan deIinisi suatu Iield dan kekangan yang melekat
pada Iield akan ditolak. Sebagai contoh, jika Iield Jeniselamin dinyatakan berupa P atau
W, maka penyimpanan L ke Iield tersebut dengan sendirinya akan ditolak oleh DBMS.
4. Administrasi data
Jika sejumlah pemakai berbagi data, pemusatan administrasi dapat meningkatkan perbaikan
yang sangat berarti. Dengan cara seperti ini, duplikasi atau redudansi data dapat
diminimalkan.
5. Akses bersamaan dan pemulihan terhadap kegagalan
DBMS menyediakan mekanisme sehingga data yang sama dapat diakses oleh sejumlah orang
dalam waktu yang sama. Selain itu, DBMS melindungi pemakai dari eIek kegagalan sistem.
Jika terjadi kegagalan sistem, DBMS dapat mengembalikan data sebagaimana kondisi saat
sebelum terjadi kegagalan.
6. aktu pengembangan aplikasi terpendek
DBMS menawarkan banyak Iasilitas yang memudahkan dalam menyusun aplikasi sehingga
waktu pengembangan aplikasi dapat diperpendek.
3
Beberapa contoh DBMS yang terkenal dapat dilihat pada tabel sebagai berikut :
O Dbase
O FoxPro
O Ingres
O Postgresql
O MySQL
O MS Access
O SQL Server
O racle
O DB, dll
omponen-komponen Sistem Basis Data :
a.Perangkat eras (ardware)
omputer, memori, storage (arddisk), peripheral, dll.
b.Sistem perasi (perating System)
Program yang menjalankan sistem komputer, mengendalikan resourcekomputer dan
melakukan berbagai operasi dasar sistem komputer.
c.Basis Data (Database)
Menyimpan berbagai obyek database (struktur tabel, indeks,dll)
d.DBMS (Database Management System)
Perangkat lunak yang memaintain data dalam jumlah besar.
e.Pemakai (User)
Para pemakai database
I. Aplikasi (perangkat lunak) lain.
Program lain dalam DBMS.
Tujuan Basis Data:
O Menberikan kemudahan dan kecepatan dalam pengambilan data (speed)
O Iisiensi ruang penyimpanan (space)
O Mengurangi / menghilangkan redudansi data
O eakuratan (Accuracy) yaitu pembentukan kode & relasi antar data berdasar aturan /
batasan (constraint) tipe data, domain data, keunikan data, untuk menekan
ketidakakuratan saat entry / penyimpanan data.
O etersediaan (Avaibility) yaitu pemilahan data yang siIatnya pasiI dari database aktiI.
4
orkers behind the scene yaitu orang-orang yang tidak tertarik pada database, akan
tetapi lebih cenderung pekerjaannya men-develop tool untuk kebutuhan database.
orker behind the scene yaitu dapat dikelompokkan:
4 DBMS system designers dan implementer adalah orang-orang yang
merancang dan meng-implementasikan modul-modul dan interIace paket-
paket soItware DBMS. (ex. Modul: catalog, procs query lang., procs
interIace, access & buIIering data, controlling cuncurrency, handling data
recovery & security; interIacing: interIace Ior integrated system).
4 Tool developers adalah orang-orang yang merancang dan
mengimplementasikan tools untuk mendukung soItware DBMS. (tool untuk
meningkatkan perIormance database, tool untuk monitoring operasional
database, dll).
4 perators dan maintenance personnel adalah para personel administrator yang
bertanggung jawab akan jalannyaoperasional database termasuk maintenance
(hardware/soItware) DBMS.
Bahasa Basis Data
DBMS merupakan perantaraantara user dengan database. Cara komunikasi diatur dalam
suatu bahasa khususyang telah ditetapkan oleh DBMS. Contoh: SQL, dBase, QUL, dsb.
Bahasa database, dibagi dalam bentuk:
O Data DeIinition Language (DDL)
Digunakan dalam membuattabel baru, indeks, mengubahtabel, menentukanstruktur
tabel, dsb.
asil dari kompilasi perintah DDL berupa kumpulan tabel yang disimpan dalam Iile
khusus:
amus Data(Data Dictionary).Data Dictionary:merupakan metadata(superdata), yaitu
data yang mendeskripsikan data sesungguhnya. Data dictionary ini akan selalu
diakses dalam suatu operasi database sebelum suatu Iile data yang sesungguhnya
diakses.
O Data Manipulation Language (DML)
Digunakan dalam memanipulasidan pengambilandata pada database. Manipulasi data, dapat
mencakup:
Pemanggilandata yang tersimpan dalam database (query)
Penyisipan/penambahandata baru ke database (Insert)
Pengubahandata pada database (Update)
Penghapusandata dari database (Delete)
Terdapat dua () jenis DML:
Prosedural yaitu menghendaki user untuk menspesiIikasikandata apa yang diperlukan
dan bagaimana cara mendapatkan data itu. Contoh: bahasa C/C, PL/SQL, dsb.
6
O#ANISASI FILE
Penyimpanan ataupun penulisan character demi character yang ada didalam external
memory, harus diatur sedemikian rupa sehingga komputer bisa dengan mudah menemukan
kembali data-data yang tersimpan didalamnya. Aturan inilah yang kemudian dikenal sebagai
organisasi Iile. Dalam hal ini, dikenal ada beberapametoda, yaitu:
O Sequential File merupakan suatu cara ataupun suatu metode penyimpanan dan
pembacaan data yang dilakukan secara berurutan.
O Random File merupakan suatu cara ataupun suatu metode penyimpanan dan
pembacaan data yang dilakukan secara random atau langsung.
O Index Sequential File merupakan perpaduan terbaik dari teknik sequential dan random
Iile. Teknik penyimpanan yang dilakukan, menggunakan suatu index yang isinya
berupa bagian dari data yang sudah tersortir.
!EM#OSESAN QUE#Y
Langkah dasar pemrosesan query :
1. Parsing dan translasi
O Translasi query menjadi bentuk internal kemudian translasikan ke aljabar relasional
O Parser memeriksa sintaks dan veriIikasi relasi-relasi
. ptimasi : memilih evaluasi plan yang paling rendah costnya
3. valuasi : query-execution engine memakai query-evaluation plan, mengeksekusi plan
tersebut, dan mengembalikan hasilnya
perasi-operasi dalam pemrosesan query :
O Selection dengan menggunakan algoritma searching seperti A1, A, A3, A4, A5, A6,
A, A8, A9, A10, A11.
O Sorting : Untuk relasi yang muat di memori, teknik ini seperti quicksort, sedangkan
untuk relasi yang tidak cocok pada memori, external sort-merge cukup bagus.
O Join diimplementasikan dengan beberapa algoritma seperti nested-loop join, block
nested-loop join, indexed nested-loop join, merge-join, hash-join.
O Duplicate elimination dapat diimplementasikan dengan hashing atau sorting.
O Agregation dapat diimplementasikan dengan cara yang sama pada duplicate elimination.
O Projection diimplementasikan dengan melakukan proyeksi pada setiap tupel yang diikuti
dengan duplicate elimination.
O Set operations (`,V,-) dapat digunakan sebagai varian dari merge-join setelah sorting
atau varian dari hash-join
8
O uter join adalah modiIikasi dari join dengan diikuti tambahan ULL sesuai dengan
ruas yang diinginkan
!emrosesan query terdistribusi
Pemrosesan query pada basis data terdistribusi berbeda dari pemrosesan query pada basis
data terpusat. Query-query pada relasi global perlu disesuaikan agar dapat menganani relasi-
relasi dalam Iragmen. Pembuatan query pada perancangan basis data terdistribusi dapat
diilustrasikan dengan bagan di bawah ini.
Pada basis data terpusat, evaluasi query harus memperhatikan Iaktor pengaksesan storage
(disk), yakni jumlah blok pada hard disk yang dibaca/tulis. Sementara itu, dalam pemrosesan
query pada basis data terdistribusi, diperlukan pula pertimbangan dari sisi
1. transmisi data melalui jaringan
. peningkatan kinerja yang potensial akibat pemrosesan query secara paralel
Dalam membuat query pada basis data terdistribusi, perlu diperhatikan hal-hal sebagai
berikut:
O penyesuaian dari query relasi global ke query terhadap Iragmen, yaitu bahwa ekspresi
relasi global dalam query harus disesuaikan menjadi ekspresi relasi Iragmen; relasi
global harus dapat direkonstruksi (dibuat terlihat global) dari Iragmen-Iragmennya
O penyederhanaan ekspresi aljabar relasional, juga deteksi dan penghilangan redundant
O pemilihan strategi join yang optimal (khususnya pada program yang melakukan
'semi-join')
O pemilihan rencana pemrosesan query yang optimal
!emrosesan !aralel pada Query Fragmen
O Jika dimisalkan sebuah relasi R diIragmentasi secara horizontal (seperti contoh
sebelumnya) menjadi R
1
. R
n
, aljabar relasional seleksi dan proyeksi menjadi
o
F
(R) (o
F
(R
1
)) . (o
F
(R
n
))a
attr
(R) (a
attr
(R
1
)) . (a
attr
(R
n
))
O Fungsi-Iungsi agregat (query Q(R) diasumsikan menghasilkan relasi satu kolom)
4 min(Q(R)) min(Q(R
1
), ., Q(R
n
))
4 max(Q(R)) max(Q(R
1
), ., Q(R
n
))
4 sum(Q(R)) sum(Q(R
1
)) . sum(Q(R
n
))
O perasi R join S Jika dimisalkan relasi S diIragmentasi berdasarkan Iragmentasi relasi
R, sedemikian sehingga R R
1
R
dan S S
1
S
, dan T di A
3
, query R join S join T yang dilakukan pada situs A
i
, harus ditampilkan
hasilnya pada situs A
i
. Strategi pemrosesan query yang mungkin adalah sebagai berikut:
O Meng-copy salinan semua relasi R, S, dan T ke situs A
i
, kemudian melakukan join
secara lokal di A
i
O Melakukan join secara bertahap, sbb:
1. menyalin R ke A
, kemudian dilakukan
operasi R join S pada A
1
), strategi semijoin dapat diilustrasikan sebagai berikut:
1. lakukan proyeksi di A
1
hanya dengan atribut yang dimiliki R dan S; temp1 : a
attr(R)
attr(s)
(R)
. hasil temp1 disalin ke A
join . R
n
menjadi kumpulan
semijoin yang lebih eIisien. Pemilihan semijoin dilakukan dengan mempertimbangkan
perpindahan data (resource dan waktu) beserta konstrain yang terkait, misalnya waktu respon
maksimum dari query.
O!TIMASI QUE#Y
O ptimisasi Query adalah sebuah prosedur untuk meningkatkan strategi evaluasi dari
suatu query untuk membuat evaluasi tersebut menjadi lebih eIektiI
O Ada tiga aspek dasar yang mempengaruhi ptimisasi query, yaitu :
O Search space
10
O Cost model
O Search strategy
Tujuan dari optimasi query, yaitu:
O untuk meminimumkan waktu proses,
O untuk waktu respon, meminimumkan I/ dan meminimumkan penggunaan memory,
O adalah menemukan jalan akses yang termurah untuk meminimumkan total waktu
pada saat proses sebuah query.
euristic Optimization atau rule based optimization adalah optimisasi query dengan
menggunakan aturan-aturan heuristik dan dijalankan pada logical query plan yang terdiri dari
urutan operasi-operasi relasional yang biasanya digambarkan sebagai query tree. Query
ptimizer mendapatkan sebuah inisial plan dari parser dan menggunakan aturan-aturan
heuristik untuk mentransIormasikan sebuah query ke dalam sebuah bentuk yang sama
sehingga dapat diproses dengan lebih eIisien.
INTE#ITAS DATA
Tahapan penting dalam perancangan tabel adalah menentukan bagaimana membangun
integritas data dengan menjaga konsistensi data dan mengorganisasikan dengan benar
penyimpanan data dalam database, dengan :
O Melakukan validasi terhadap nilai data yang tersimpan pada sebuah Iield
O Melakukan veriIikasi terhadap nilai data berkaitan dengan nilai data yang lain pada
sebuah Iile
O Melakukan validasi terhadap data dalam sebuah Iile yang berelasi dengan nilai data pada
Iile atau tabel yang lain, dan
O Memastikan bahwa setiap transaksi yang terjadi akan berhasil mengupdate database
dengan akurat.
Jenis-Jenis Integritas Data dapat dikelompokkan sebagai berikut :
O Entity Integritas : ntity Integritas mendeIinisikan sebuah baris sebagai sebuah entiti
unik pada suatu tabel. DeIinisi kunci primer merupakan salah satu aturan yang
mengatur integritas entiti, yaitu :
O unci primer harus ada dan mewakili setiap kejadian pada entiti,
O unci primer harus unik untuk setiap kejadian dalam entiti, atau juga
melalui DeIinisi index.
O Domain Integritas : Domain Integritas merupakan validasi dari masukan untuk
sebuah kolom. Domain Integritas mengacu pada rentang nilai data yang valid pada
11
sebuah kolom. Integritas domain bisa dilakukan dengan membuat paksaan pada nilai
atribut, baik untuk tipe data, Iormat data ataupun rentang data yang diijinkan untuk
tersimpan pada sebuah kolom. Dan dalam implementasinya bisa dilakukan dengan
membuat sebuah rule atau memberikan paksaan untuk memvalidasi data yang akan
disimpan.
O #efrential Integritas : ReIrential Integritas memastikan bahwa seluruh nilai dari
Ioreign key cocok dengan nilai primary key yang dihubungkan. Selain itu juga
menjaga relasi yang telah dideIinisikan antar tabel karena terjadi operasi penyisipan,
penghapusan dan pemodiIikasian pada record dalam suatu relasi.
O User Defined Integritas : UserdeIined integritas mengizinkan Anda untuk
menentukan spesiIic business rules sendiri yang tidak sama pada kategori integrity
yang lain.
MANA1EMEN T#ANSASI
Transaksi adalah sebuah aksi atau serangkaian aksi, yang dilakukan oleh user atau
aplikasi yang mengakses atau mengubah isi dari database.
Atau dapat juga dikatakan sebagai unit kerja logical (Logical unit oI work) dari suatu
database
Program aplikasi merupakan serangkaian transaksi tanpa pengolahan database
didalamnya.
Transaksi selalu merubah database dari satu stata konsisten ke stata lainnya, walaupun
konsistensi data dapat terganggu selama transaksi berjalan.
SiIat-siIat dasar dari transaksi ada 4, yaitu:
O Atomicity(keutuhan)
Transaksi merupakan unit yang tidak terlihat yang harus dilakukan secara keseluruhan
atau tidak sama sekali.
O onsistency (etetapan)
Transaksi harus mengubah database dari satu stata konsisten ke stata lainnya/
berikutnya.
O Isolation (!emisahan)
Transaksi dieksekusi secara terpisah dari yang satu dengan yang lainnya.
O Durability (Daya tahan)
Secara permanen direkam kedalam database dan tidak akan hilang dikarenakan
kegagalan berikutnya.
1
#eferensi :
1. Ramez lmasri, Sam avathe, Fundamentals oI Database Systems, 4rd dition,
Addison Wesley Publishing Company, 000.
. Raghu Ramakrisnan, Gherke, Database Management System, 3rd dition, McGraw-
ill, 001.
3. Abraham Silberschatz, enry F. orth, Database System Concepts, 3rd dition, 1999.