Sebelum
mempelajari sistem basis data, akan lebiih baik jika kita ketahui terlebih
dahulu apa itu basis data. Basis data terdiri dari 2 (dua) kata, yaitu kata
Basis dan Data. Basis bisa di artikan sebagai markas ataupun gudang, tempat
berkumpul. Sedangkan data yaitu kumpulan fakta dunia nyata yang mewakili suatu
objek, seperti manusia, barang, dan lain-lain yang direkam ke dalam bentuk
angka, bentuk huruf, simbol, teks, bunyi, gambar atau juga kombinasinya. Jadi pengertian basis data
adalah kumpulan terorganisasi dari data – data yang saling berhubungan
sedemikian rupa sehingga dapat mudah disimpan, dimanipulasi, serta dipanggil
oleh penggunanya. Sedangkan sistem basis data adalah suatu sistem penyusunan
dan pengelolaan record-record dengan menggunakan komputer, dengan tujuan untuk
menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan,
sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk
kepentingan proses pengambilan keputusan.
Tujuan penggunaan sistem basis data
antara lain:
1.
Mencegah data redudancy
dan inconsistency
2.
Mempermudah dalam
melakukan akses terhadap data
3.
Mempertimbangkan data
isolation
4.
Mencegah concurent
access anomaly
5.
Mempertimbangkan
masalah keamanan data
6.
Mempertimbangkan
masalah integritas
Bahasa basis
data merupakan perantara bagi pemakai dengan basis data dalam berinteraksi,
yang telah ditetapkan oleh pembuat DBMS. Dapat dibedakan menjadi 2, yaitu :
1. Data
Definition Language (DDL)Dengan
bahasa ini kita dapat membuat tabel baru, membuat indeks, mengubah tabel,
menentukan struktur tabel, dll. Hasil dari kompilasi perintah DDL menjadi Kamus
Data, yaitu data yang menjelaskan data sesungguhnya. Contoh : Create, Modify
report, Modify
2. Data
Manipulation Language (DML)
Berguna
untuk melakukan manipulasi dan pengambilan data pada suatu bsis data, yang
berupa insert, update, delete, dll.
A. Integritas
Data
Integritas data adalah
jaminan konsistensi data terhadap semua status konstrain yang diberlakukan
terhadap data tersebut, sehingga memberikan jaminan keabsahan data itu sendiri.
Integritas data sangat erat kaitannya dengan keamanan keberadaan data, dimana dapat
terjadi secara institusional atau asidental. Jenis-Jenis Integritas Data dapat
dikelompokkan sebagai berikut :
1.
Entity Integritas
2.
Domain Integritas
3.
Refrential Integritas
4.
User Defined Integritas
a. Types
of Data Integrity
Bagian
ini menggambarkan atauran yang dapat diterapkan pada kolom tabel ayang
menekankan perbedaan tipe data pada integritas data.
1. Null Rule
Aturan null adalah definisi aturan pada single column
yang membolehkan atau tidak membolehkan inserts atau updates untuk pengisian
rows kosong (the absence of a value) pada kolom ini.
2. Unique Column
Values
Aturan nilai
unique didefinisan pada sebuah column (or set of columns) yang membolehkan
insert or update hanya pada row jika itu berisi
sebuah nilai unique dalam sebuah kolom (or set of columns).
3. Primary Key
Values
Aturan nilai
primary key didefinisikan pada sebuah key (a column or set of columns) tertentu
bahwasetiap each row dalam table dapat mengidentifikasi keunikan dengan nilai
kunci tersebut
4. Referential
Integrity Rules
Aturan referential
integrity adalah definsi aturan pada sebuah kunci key (a column or set of
columns) dalam sebuah table yang menjamin bahwa data dalam kunci cocok dengan
nilai dalam sebuah relasi table (the referenced value).
B. Transaksi
dan Konkurensi
Transaksi pada basis
data adalah satu atomic operasi berupa lojik pekerjaan maupun lojik recovery
yang bisa terdiri dari beberapa intruksi. Tujuan dari transaksi adalah menjaga
database dari kehilangan data dan kerusakan,seperti system crash dan
pengaksesan data yang sama secara bersamaan oleh dua aplikasi yang berbeda yang
menimbulkan gangguan. Ada empat elemen dalam transaksi yang biasa disingkat
ACID, yaitu :
1. Atomicity:
Setiap transaksi harus dijamin untuk dapat sukses dalam melakukan aksinya atau
jika gagal , maka tidak berpengaruh apapun terhadap database.
2. Consistency:
Setiap transaksi adalah sebuah aksi kombinasi secara logikal dari sebuah state
database yang konsisten ke state yang lain dengan tetap menjaga kekonsisten-an
database tersebut.
3. Isolation:
Meskipun ada beberapa transaksi yang berlangsung bersamaan, masing-masing
transaksi tidak boleh mengetahui transaksi lain yang sedang berlangsung. Hasil
transaksi sementara harus disembunyikan dari transaksi lain yang sedang
berlangsung . (level transparansi transaksi dapat di set).
4. Durability:
Setelah sebuah transaksi sukses dilakukan, perubahan-perubahan yang dibuatnya
terhadap database bersifat permanen, bahkan jika terjadi kegagalan sistem
sekalipun.
Dan ada dua
jenis transaksi yang paling penting dalam sistem basis data adalah :
1. Commit,
memberi tanda bahwa transaksi telah selesai. Update dibuat permanen (bahkan
jika setelah commit terjadi kegagalan system).
2. Rollback,
memberi tanda bahwa transaksi gagal. Semua update harus di-undo.
concurrency
adalah sebuah mekanisme pada system basis data yang mengijinkan banyak
transaksi pada saat bersamaan untuk mengakses data yang sama tanpa adanya
gangguan. Pada umumnya terdapat 3 masalah utama pada concurrency :
- Lost update problem, ketika
dua user mengupdate dua buah data yang sama
2.
Uncommited dependency
problem, ketika user yang satu meretrieve
data dan user yang lain merollback data tersebut
3. Inconsistent
analysis problem, ketika user yang satu
meretrieve data dan user yang lain mengupdate data tersebut
Untuk
menangani masalah tersebut, dilakukan proses locking, jika sebuah transaksi
ingin record/resource tidak berubah dalam waktu tertentu maka dia meminta lock.
Ada dua jenis lock yaitu :
- Exclusive Lock (Xlock) -> write
lock
- Shared Lock
(Slock) ->read lock
C. Back
end Programming
Back end Programming
adalah program yang berjalan pada database secara otomatis ketika terjadi
pemicu tertentu. Dalam oracle ada beberapa metode untuk melakukan back end
programming, yaitu dengan trigger dan
stored procedure.
1. Trigger
Trigger adalah blok PL/SQL yang disimpan
dalam database dan akan diaktivasi ketika kita melakukan statement-statement
SQL (delete,update dan insert) pada sebuah tabel. Aktivasi trigger didasarkan pada event yang
terjadi di dalam tabel tersebuh sehungga trigger dapat membantu dalam menjaga
integritas dan konsistensi data. Implementasi trigger di dunia nyata adalah
untuk mengset dan mengubah nilai kolom dalam seuatu tabel sehingga validasi
nilai dari tabel tersebut akan terjaga.
Manfaat
trigger antara lain:
a. Membuat
integrity constraint yang kompleks
b. Mencatat
aktifitas suatu tabel(logging)
c. Sinkonisasi
2. Stored
procedure
Subprogram
adalah PL/SQL blok yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki
dua jenis subprogram yaitu: Procedure dan Function.
Stored
procedure adalah subprogram yang disimpan di dalam database berupa SQL dan
bahasa prosedural. Beberapa kelebihan yang diperoleh dengan menggunakan stored
procedure antara lain:
a. Dijalankan
di database server
b. Tools
DBA
c. Dapat
digunakan oleh banyak aplikasi
d. Dapat
menggunakan tipe, fungsi yang disediakan DBMS
e. Powerfull,
tool sangat penting bagi DB designer, DB programmer, dan DBA
f. Hampir
disupport semua DBMS
D. XML
Xml
adalah markup language seperti halnya HTML untuk dokumen yang mengandung
informasi terstruktur da ditujukan untuk pertukaran dokumen via web. XML
berbentuk file yang cross platform, independen terhadap software dan hardwaare.
1. Tag
didefinisikan sendiri
2. Tag
dapat mempunyai atribut
3. Hirarki
tag dalam tag
Kelebihan XML:
1.
Self documenting
2.
Dapat dibaca software
dan manusia
3.
Fleksibel
4.
Dapat dikembangkan
tanpa melanggar format lama
5.
Hirarkis artinya dapat
mempresentasikan data kompleks
6.
Independen terhadap
bahasa pemrograman dan sistem operasi
Beberapa atuaran XML
1. Setiap
tag harus ada penutupnya
2. Penamaan
tag
a. Case
sensitive
b. Tidak
boleh diawali dengan angka
c. Tidak
boleh mengandung spasi
d. Hindari
penggunaan ‘-‘ dan ‘.’
3. Urutan
hirarki harus benar
4. Setiap
XML harus mengandung root (akar)
Sumber:
Perkuliahan
Sistem Dasis Data UPI, yang diampu oleh bapak Budi Laksono Putro M.T.
Diktat Kuliah
bapak Yudi Wibisono
http://simbuda.blogspot.co.id/2013/05/integritas-data.html