Sabtu, 14 Desember 2013

ARSITEKTUR SISTEM BASIS DATA

Arsitektur system basis data memberikan kerangka kerja bagi pembangunan basis data.

1.1 LEVEL ARSITEKTUR BASIS DATA
Menurut ANSI/SPARC, arsitektur basis data terbagi atas tiga level yaitu :
Internal/Physical Level:
berhubungan dengan bagaimana data disimpan secara fisik (physical
storage)
External /View Level
berhubungan dengan bagaimana data di representasikan dari sisi setiap
user.
Conceptual/Logical Level
yang menghubungkan antara internal & external level
Berikut adalah gambar tiga level arsitektur system basis data :

Contoh dalam sebuah basis data pegawai, ketiga level digambarkan sebagai berikut :
- Pada level konseptual, basis data mengandung informasi tenteang sebuah entity
yang disebut EMPLOYEE. Setiap EMPLOYEE mempunyai sebuah
EMP_NUMBER (6 karakter), DEP_NUMBER(4 karakter) & SALARY (5
digit desimal).
- Pada level internal, para pegawai direpresentasikan oleh STRORED_EMP,
panjang 20 byte. STORED_EMP terdiri atas 4 field yaitu flag/pointer, 6
byte, tiga field untuk atribut pegawai.
- User yang menggunakan PL/I mempunyai sisi pandang level eksternal dimana
pegawai direpresentasikan dalam sebuah record yang ditulis dengan sintaks PL/I
- Demikianlah pula user yang menggunakan COBOL mempunyai sisi pandang
level eksternal dimana pegawai direpresentasikan dalam sebuah record yang
ditulis dengan sintaks COBOL.
1.1.1 External Level /View Level
Adalah level user. Yang dimaksud dengan user adalah programmer, end user atau DBA.
Setiap user mempunyai ‘bahasa’ yang sesuai dengan kebutuhannya.
- programmer : bahasa yang digunakan adalah bahasa pemrograman seperti C,
COBOL, atau PL/I
- end user : bahasa yang digunakan adalah bahasa query atau menggunakan
fasilitas yang tersedia pada program aplikasi
pada level eksternal ini, user dibatasi pada kemampuan perangkat keras dan perangkat
lunak yang digunakan aplikasi basis data. Didefinisikan sebagai sebuah Skema Eksternal.
1.1.2 Conceptual Level / Logical level
Conceptual level adalah sebuah representasi seluruh muatan informasi yang dikandung
oleh basis data. Tidak seperti level eksternal maka pada level conceptual, keberadaannya
tidak memperhitungkan kekurangan perangkat keras maupun perangkat lunak
pembangun aplikasi basis data. Didefinisikan sebagai sebuah Skema Konseptual
1.1.3 Internal/Physical Level
Adalah level terendah untuk merepresentasikan basis data. Record disimpan dalam media
penyimpanan dalam format byte. Didefinisikan sebagai sebuah Skema Internal.
1.2 PEMETAAN
1.2.1 Conceptual/internal Mapping :
Yaitu pemetaan yang mendefinisikan hubungan antara level konseptual dan level
internal. Pemetaan ini menjelaskan bagaimana record & field pada level konseptual
direpresentasikan pada level internal.
1.2.2 External/Conceptual Mapping :
Yaitu pemetaan yang mendefinisikan hubungan antara level eksternal dan
level konseptual. Contoh : beberapa field dapat mempunyai tipe yang
berbeda, field dan nama field dapat berubah, bebeapa field pada level
konseptual dapat dikombinasikan ke dalam satu field external.
1.3 MODEL-MODEL DATA
Yang dimaksud dengan model data adalah sekumpulan tool konseptual untuk
mendeskripsikan data, relasi-relasi antar data, semantic data & konsistensi konstrain.
Bermacam-macam model data terbagi dalam tiga kelompok besar yaitu :
Object-based logical models, record-based logical models, & physical models.
1. Object-based logical Models
Yang termasuk dalam kelompok ini adalah :
- Entity-relationship model
- Object-oriented model
- Semantic data model
- Functional data model
Dua dari model di atas yaitu : entity-relationship model & object-oriented model akan
dijelaskan lebih detil.
a. Entity-relationship Model
E-R model didasarkan atas persepsi terhadap dunia nyata yanga terdiri dari
sekumpulan objek, disebut entity dan hubungan antar objek tersebut, disebut
relationship. Entity adalah objek di dunia yang bersifat unik. Setiap entity
mempunyai atribut yang membedakannya dengan entity lainnya. Contoh :
entity Mahasiswa, mempunyai atribut nama, umur, alamat no. ktm.
Pemodelan data dengan model E-R menggunakan diagram E-R. Diagram E-R
terdiri dari :
! Kotak persegi panjang, menggambarkan himpunan entity
! Elip, menggambarkan atribut-atribut entity
! Diamon, menggambarkan hubungan antara himpunan entity
! Garis, yang menghubungkan antar objek dalam diagram E-R
b. Object-Oriented Model
Model berorientasi objek berbasiskan kumpulan objek. Setiap objek berisi :
1. Nilai yang disimpan dalam variable instant, dimana variable tersebut
“melekat” dengan objek itu sendiri.
2. Metoda : operasi yang berlaku pada objek yang bersangkutan
3. Objek-objek yang memiliki tipe nilai & metode yang sama
dikelompokkan dalam satu kelas. Kelas disini mirip dengan tipe data
abstrak pada bahasa pemrograman.
4. Sending a message : sebuah objek dapat mengakses data sebuah objek
yang lain hanya dengan memanggil metode dari objek tersebut.
c. Model-model lojik berbasis record
Terdapat beberapa model dalam kelompok ini :
c.1. Model Relasional ( Relational Model)
model relasional menggunakan kumpulan tabel-tabel untuk merepresentasikan data
& relasi antar data-data tersebut. Setiap tabel terdiri atas kolom-kolom, dan setiap
kolom mempunyai nama yang unik.
Contoh :
NIM NAMA ALAMAT DOSEN WALI
113940005 Ani Ambar Jl. PGA No.1 WNS
113950098 Andi Ari Jl. ABC No.6 TBH
113950100 Tuti Jl. AA No.78 WNS
DOSEN WALI ALAMAT
WNS KOPO PERMAI
TBH BALE ENDAH
c.2 Model Jaringan (Network Model )
Data dalam model jaringan direpresentasikan dengan sekumpulan record
(Pascal), dan relasi antara data direpresentasikan oleh record & link. Link dipandang
sebagai pointer. Record-record diorganisasikan sebagai graf. Contoh, model
relasional di atas direpresentasikan dalam model jaringan.
NIM NAMA ALAMAT DOSEN WALI
113940005 Ani Ambar Jl. PGA No.1 WNS
113950098 Andi Ari Jl. ABC No.6 TBH
113950100 Tuti Jl. AA No.78 WNS
DOSEN WALI ALAMAT
WNS KOPO PERMAI
TBH BALE ENDAH
c.3 Model Hirarki (Hirarchical Model)
Mirip dengan model jaringan.Data direpresentasikan dalam record
dan link. Perbedaannya adalah, record-record diorganisasikan sebagai tree
(pohon) daripada graf. Model relasional berbeda dengan model jaringan &
hirarki, dalam hal penggunaan pointer atau link.
1.4 BAHASA YANG DISEDIAKAN OLEH SISTEM BASIS DATA
Sebuah system basis data menyediakan dua tipe bahasa yaitu : tipe
untuk menspesifikasikan skema basis data, disebut DDL, dan tipe untuk
mengekspresikan queri atau update basis data, disebut MDL.
1.4.1 Data-definition Language
Skema basis data dispesifikasikan oleh sekumpulan definisi dengan sebuah bahasa khusus yang disebut data-definition language
(DDL). Hasil kompilasi DDL berupa tabel-tabel yang disimpan dalam sebuah file, disebut data dictionary (kamus data) atau data
directory. Kamus data adalah sebuah file yang berisi metadata. File ini yang dikonsultasi sebelum data yang sebenarnya dibaca
atau dimodifikasi oleh system basis data.
1.4.2 Data-manipulation Language
Adalah bahasa untuk memanipulasi data yaitu :
o Pengambilan informasi yang disimpan dalam basis data
o Penyisipan informasi baru ke basis data
o Penghapusan informasi dari basis data
o Modifikasi informasi yang disimpan dalam basis data
Query adalah statemen yang ditulis untuk mengambil informasi. Bagian dari DML
yang menangani pengambilan informasi ini disebut bahasa query.
1.5 DATABASE ADMINISTRATOR (ADMINISTRATOR BASIS DATA)
Administrator basis data adalah orang yang bertanggungjawab terhadap strategi
yang berhubungan dengan pengolahan data di suatu perusahaan. Selain hal tersebut,
DBA adalah orang yang bertanggungjawab terhadap implementasi strategi tersebut
secara teknis. Berikut dijelaskan bebrapa fungsi DBA secara detil :
- mendefinisikan skema konseptual
yaitu memutuskan informasi apa saja yang akan dihasilkan oleh sutu basis data.
Dalam hal ini DBA bertugas mendefinisikan entity-entiti yang terlibat pada
perancangan basis data. Proses ini disebut dengan Logical Database Design
(kadang-kadang disebut Conceptual Database Design). Setelah DBA menentukan
muatan dari basis data maka DBA akan menyusun skema konseptual
menggunakan DDL (data definition language). Kemudian dengan DBMS, skema
tersebut diimplementasikan.
- mendefinisikan Skema Internal
selain menentukan skema konseptual dari basis data, DBA juga bertanggung
jawab terhadap desain penyimpanan data secara fisik.
- mensosialisasikan hasil rancangan baik konseptual & internal ke user
Dalam hal ini tugas DBA adalah menyakinkan user bahwa data-data yang mereka
perlukan semua telah tersedia & membantu user untuk
mengimplementasikanrancangan tersebut dalam DDL.
- mendefinisikan aturan-aturan sekuriti & integritas data
- mendefinisikan prosedur-prosedur back-up & recovery
- memonitor performansi system & menangani perubahan-perubahan yang
ada.
1.6 DATABASE MANAGEMENT SYSTEM (SISTEM MANAJEMEN BASIS DATA)
DBMS adalah software yang menangani semua akses ke basis data. Secara konsep apa
yang terjadi adalah sebagai berikut :
1. user melakukan pengaksesan basis data untuk informasi yang diperlukannya
menggunakan suatu bahasa manipulasi data, biasanya disebut SQL.
2. DBMS menerima request dari user & menganalisa request tersebut
3. DBMS memeriksa skema eksternal user, pemetaan eksternal/konseptual, skema
konseptual, pemetaan konseptual/internal, & struktur penyimpanan.
4. DBMS mengeksekusi operasi-operasi yang diperlukan untuk memnuhi
permintaan user.

Selasa, 15 Oktober 2013

Operator Relasi,Relasi Aljabar,Dan Struktur Query Language (Select,From,dan Where)

- Operator Relasi
Operator Relasi selalu menghasilkan tipe data boolean True atau False, operator ini sering digunakan untuk mengecek sebuah kondisi dan diletakkan pada percabangan if. ada 7 jenis operator relasi.
Contoh :

< lebih kecil
> lebih besar
<= lebih kecil sama dengan
>= lebih besar sama dengan
== perbandingan
!= tidak sebanding
= sama dengan 

* Pembahasan di atas tentang Operator Relasi

 - Relasi Aljabar
Relasi Aljabar berasal dari pembagian bahasa Query relasional yang terdiri dari Kalkulus Relasional dan Aljabar relasional. Bahasa query relasional adalah bahasa yang digunakan dalam basis data, sehingga dapat diterapkan untuk memperoleh informasi secara efisien,Aljabar Relational adalah kumpulan operasi terhadap relasi dimana setiap operasi menggunakan 1 atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.

Aljabar Relasional/Relasi Aljabar merupakan bahasa prosedural.
Operator dasar :
· Select                        (σ) 
· Project                       (π)
· Union                         ()
· Set difference            ( - )
· Cartesian product      ( X )
· Rename                     (p)
Operator yang melibatkan dua atau lebih relasi sebagai input akan menghasilkan satu relasi baru sebagai output.

-Selection ( σ )
Selection / Select (σ ), adalah operasi untuk menyeleksi tupel – tupel yang memenuhi suatu predikat, kita dapat menggunakan operator perbandingan(<,>,>=,<=,=,#) pada predikat. Beberapa predikat dapat dikombinasikan menjadi predikat manjemuk menggunakan penghubung AND () dan OR ().

-Operasi Projection ( π ) 
Projection / Project ( π ), adalah operasi untuk memperoleh kolom – kolom tertentu. Operasi project adalah operasi unary yang mengirim relasi argumen dengan kolom – kolom tertentu.

-Operasi Union ()
Union (), adalah operasi untuk menghasilkan gabungan tabel degan syarat kedua tabel memiliki atribut yang sama, yaitu domain atribut ke-i masing – masing tabel harus sama. Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut :
R S = {x | xR atau XS}
Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang sama sehingga jumlah komponennya sama.

-Set-difference ( – )
Set-difference ( – ), adalah operasi untuk mendapatkan tabel pada suatu relasi, tapi tidak ada pada relasi yang lainnya. Sintaks yang digunakan dalam operasi union ini adalah 
sebagai berikut :
R – S = { x | xR dan XS}
Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang tidak sama yang akan ditampilkan, artinya adalah atribut R yang tidak ada di S akan ditampilkan, sedangkan atribut yang sama tidak ditampilkan.


-Cartesian-product ( X )
Cartesian-product ( X ), adalah operasi untuk menghasilkan tabel hasil perkalian kartesian. Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut:
R X S = {(x,y) | xR dan yS}
Operasi Cartesian – product memungkinkan kita mengkombinasikan informasi beberapa relasi, operasi ini adalah operasi biner. Sebagaimana telah dinyatakan bahwa  relasi adalah subset hasil Cartesian – product dan himpunan domain relasi – relasi tersebut. Kita harus memilih atribut – atribut untuk relasi yang dihasilkan dari Cartesian – product.

-Rename ( ρ )
Rename ( ρ ), adalah operasi untuk menyalin tabel lama kedalam tabel yang baru. Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut :
ρ [nama_tabel] (tabel_lama).

* Pembahasan di atas tentang Relasi Aljabar

-Struktur Query Language (Select,From,dan Where)

SELECT
Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat dihubungkan dengan tabel yang lainnya. 

Menampilkan data untuk semua kolom menggunakan asterisk (*)
Syntax : SELECT * FROM namatabel;
Berikut ini perintah untuk menampilkan semua data pada tabel jenisfilm : 

Menampilkan data untuk kolom tertentu
Syntax : SELECT kolom1,kolom2,kolom-n FROM namatabel;
Berikut ini perintah untuk menampilkan data pada tabel jenisfilm dengan kolom yang ditampilkan adalah kolom jenis : 

Menampilkan data dengan kondisi data tertentu dengan klausa WHERE
Syntax : SELECT * FROM namatabel WHERE kondisi.

SELECT
Fungsi : menampilkan record
Sintaks : SELECT [DISTINCT] colname FROM tbname
    [WHERE kondisi]
    [GROUP BY kondisi]
    [HAVING kondisi]
    [ORDER BY kondisi]


* Pembahasan di atas tentang Struktur Query Language (Select,From,dan Where)


Manajemen Transaksi (Protokol Transaksi Konkuren,Recoverability,Serializability)

- Manajemen Transaksi 

Transaksi adalah sekumpulan operasi yang melakukan suatu fungsi logika tunggal pada aplikasi basis data, misalnya pentransferan dana dari rekening A ke rekening B. Transaksi harus tetap menjaga prinsip atomisitas dan konsistensi, dalam arti bahwa transaksi tidak melanggar batasan konsistensi basis data. Ini berarti bahwa kondisi basis data harus tetap konsisten sebelum dan sesudah eksekusi transaksi. Oleh karena itu, pemrogram harus secara benar mendefinisikan berbagai transaksi dengan mempertahankan konsistensi basis data. 

Memastikan karakteristik atomisitas dan durabilitas adalah tanggung jawab sistem basis data itu sendiri, secara spesifik komponen manajemen transaksi. Pada sistem tanpa kegagalan, semua transaksi diselesaikan sempurna dan atomisitas dicapai dengan mudah. Namun dengan terjadinya kegagalan sistem, transaksi tidak selalu berakhir dengan sempurna. Dalam hal ini, basis data harus kembali ke keadaan sebelum transaksi dimulai. Basis data harus melakukan apa yang dinamakan recovery kegagalan (failure recovery) dimana suatu fungsi tertentu mendeteksi kegagalan sistem, kemudian mengembalikan keadaan basis data ke keadaan sebelum terjadinya kegagalan sistem. Terakhir, ketika beberapa transaksi memperbarui basis data secara konkuren, konsistensi data mungkin tidak dapat dipertahankan, meskipun setiap transaksi individualnya benar. Untuk itu, manajer kendali konkurensi (concurrency-control manager) bertanggung jawab untuk mengendalikan interaksi antara transaksi yang konkuren tersebut untuk memastikan konsistensi basis data.


Sumber: Buku Perancangan dan Implementasi Sistem Basis Data



- Protokol Transaksi Konkuren

Ketika multiple user mengakses multiple objek basis data yang berada pada multiple site di sistem basis data terdistribusi, maka permasalahan kontrol konkurensi akan terjadi.Konflik terjadi apabila sekumpulan read dari satu transaksi berpotongan dengan sekumpulan read dari transaksi lainnya, dan/atau sekumpulan write dari satu transaksi berpotongan dengan sekumpulan write dari transaksi lainnya. Transaksi T1 dan T2 dikatakan konflik jika kedua-duanya dieksekusi pada waktu yang bersamaan. Bila T1 telah selesai sebelum T2 dikirim ke sistem, dalam kasus ini sekumpulan read dan write saling memotong, tidak dianggap konflik. Konflik diperhatikan pada sekumpulan write yang saling memotong di antara dua transaksi. Ada tiga pendekatan secara umum untuk mendesain algoritma kontrol konkurensi: 

1. Wait. Jika dua transaksi konflik, transaksi yang konflik harus menunggu sampai transaksi lainnya selesai.

2. Timestamp. Urutan eksekusi transaksi berdasarkan timestamp. Setiap transaksi memiliki timestamp yang unik dan dua transaksi yang konflik diselesaikan berdasarkan urutan timestamp. Timestamp dapat diletakkan di awal, tengah, atau akhir eksekusi. Pendekatan berdasarkan version digunakan untuk menentukan timestamp objek basis data.

3. Rollback. Dua transaksi yang konflik, salah satu transaksinya diulang kembali pengerjaannya. Disebut juga optimistic, karena bila terjadi konflik maka beberapa transaksi akan di-rollback. Algoritma berdasarkan Mekanisme Wait
Sistem akan melakukan lock pada entitas basis data. Ada dua tipe lock:

1. Readlock. Transaksi akan mengunci entitas pada mode shared. Sehingga transaksi lain yang menunggu untuk membaca beberapa entitas juga bisa mendapatkan readlock.

2. Writelock. Transaksi akan mengunci entitas pada mode eksklusif. Jika ada satu transaksi akan melakukan penulisan pada entitas yang telah di-writelock, maka transaksi lainnya tidak boleh mendapatkan readlock maupun writelock pada entitas ini.
Lock akan menimbulkan masalah baru. Livelock dan deadlock. Livelock terjadi ketika suatu transaksi berkali-kali gagal dalam mendapatkan lock. Deadlock terjadi ketika beberapa transaksi melakukan lock pada beberapa entitas pada saat yang bersamaan; setiap transaksi mendapatkan lock dari entitas yang berbeda dan saling menunggu transaksi lainnya untuk melepaskan lock.
Deadlock dapat diatasi dengan:

Deadlock
ini sangat jarang terjadi, sehingga akan lebih efektif ditanggulangi ketika telah terjadi daripadamelakukantindakan preventif dari awal yang memakan biaya lebih besar.Protokol sederhana yang diperlukan, sehingga setiap transaksi dapat memenuhi aturan keberlanjutan adalah two-phase locking (2PL).

1. Fase locking. Transaksi mengambil lock tanpa melepasnya.

2. Fase unlocking. Dalam fase ini, transaksi melepaskan lock yang ada dan tidak boleh mengambil lock.
lockpoint merupakan keadaan sesaat sebelum pelepasan lock yang pertama kali dilakukan. Algoritma berdasarkan Mekanisme Timestamp .Untuk mendapatkan timestamp unik untuk transaksi pada node berbeda di sistem terdistribusi, clock setiap node harus disamakan. Untuk menyelaraskan clock dapat digunakan message passing. Algoritma berdasarkan Mekanisme Rollback/Optimistic.
Terdapat 4 fase eksekusi transaksi pada pendekatan kontrol konkurensi optimistic:

1. Read. Proses membaca tidak terlalu dibatasi. Hasilnya diletakkan pada variabel lokal. Sekumpulan read tergantung juga pada proses validasi.

2. Compute. Transaksi menghitung sekumpulan nilai dari data entitas yang disebut sekumpulan write. Hasilnya diletakkan pada variabel lokal.

3. Validate. Sekumpulan write dan read transaksi lokal divalidasi oleh sekumpulan transaksi yang sedang berjalan.

4. Commit and Write. Setelah berhasil divalidasi, akan dijalankan di sistem dan diberikan timestamp. Sekumpulan write akan diubah menjadi variabel global dan nilainya dikirim ke setiap node. Jika tidak berhasil divalidasi, transaksi diulangi lagi dari fase compute atau read.
Evaluasi Performansi dari Algoritma Kontrol Konkurensi

Kontrol Konkurensi yang dapat Disesuaikan
Sistem basis data yang ada, saling terhubung dengan sistem basis data terdistribusi yang heterogen. Penggunaan konsep sistem basis data Reliable, Adaptable, Interoperable, Distributed (RAID), menjadi fasilitas dalam metode kontrol konkurensi. Model umum untuk pendekatan terhadap sistem dan transaksi yang berbeda adalah dengan generic state, converting state, dan suffix sufficient state.

Kesimpulan :
Kontrol konkurensi adalah masalah yang timbul ketika beberapa proses terjadi pada berbagai tempat di sistem. Solusi awal untuk hal ini adalah dengan memastikan kelas-kelas serializability, two-phase locking, dan formalisasi pendekatan optimistic. Mekanisme populer untuk kontrol konkurensi adalah two-phase locking. Kontrol konkurensi yang dapat disesuaikan diimplementasikan pada sistem RAID. Penelitian diharapkan berlanjut, pada bidang semantik dari transaksi dan terutama pada sistem yang berorientasi objek. Pada sistem berskala besar, sangat sulit untuk mem-blok akses ke objek basis data untuk melakukan transaksi. Locking pada masa yang akan datang tidak akan relevan lagi pada kasus seperti ini.


- Recoverability
Recovery dari kegagalan transaksi artinya database dikembalikan ke kondisi yang terdahulu,mendekati waktu terjadinya kegagalan.Untuk melakukan hal tersebut, perlu disimpan informasi mengenai perubahan terhadap data selama pelaksanaan transaksi di luar database. Informasi tersebut disebut sebagai sistem log. 

Teknik recovery berhubungan erat dengan mekanisme kontrol konkurensi yang digunakan pada sistem bersangkutan. Sistem Basis Data harus melaksanakan tindakan tertentu untuk menjamin sifat transaksi yang Atomik dan Durable.

Bagian terintegrasi dari sebuah Sistem Basis Data adalah sebuah skema recovery yang dapat memulihkan Basis Data kepada keadaan konsisten sebelum kegagalan sistem.
Kegagalan sistem saat melakukan transaksi merupakan hal yang harus diperhatikan secara seksama karena terkait dengan 4 sifat yang harus dimiliki oleh suatu transaksi, ACID (Atomicity, Consistency, Isolation, dan Durability), Recovery merupakan solusi dari hampir semua fitur ACID yang harus dimiliki oleh setiap transaksi.Oleh karena itu, transaksi tidak hanya disebut sebagai suatu unit pekerjaan, namun juga sebagai suatu unit recovery.

Pada DBMS modern, konsep recovery sangat penting, bahkan konsep Backup pada DBMS modern tidak akan dapat dimengerti sepenuhnya tanpa pengetahuan yang cukup mengenai konsep recovery. Hampir seluruh DBMS modern menggunakan konsep recovery berbasis Log. 


- Testing For Serializability

Serializability adalah level isolasi yang menyediakan isolasi transaksi yang paling ketat. Level ini mengemulasikan eksekusi transaksi secara serial, menjadikan transaksi dieksekusi satu setelah yang lainnya,seperti secara serial, bukan secara bersamaan (pararel). 

– Serializable berarti jika jadual (nonserial) menghasilkan hasil yg sama seperti halnya jadual serial lainnya. 


– Pada saat mendesain skema kontrol konkurensi, kita harus tunjukan bahwa jadwal yang dibuat oleh skema tersebut adalah serializable. 


– Terdapat metode simpel dan efisien untuk menentukan conflict serializability dari suatu jadwal. 


– Misalkan sebuah jadwal S. Kita dapat membuat suatu grafik langsung yang diberi nama grafik preseden (presedence graph). 


– Grafik preseden terdiri dari sepasang G = (V,E), dimana V adalah serangkaian simpul dan E adalah serangkaian tepian / busur. 


– Serangkaian simpul terdiri dari semua transaksi yang berperan serta di dalam penjadwalan. Serangkaian tepian / busur terdiri dari semua bentuk Ti -> Tj untuk masing – masing dari ketiga kondisi berikut : 


• Ti eksekusi write(Q) sebelum Tj eksekusi read(Q) 

• Ti eksekusi read(Q) sebelum Tj eksekusi write(Q) 
• Ti eksekusi write(Q) sebelum Tj eksekusi write(Q) 

– Jika bentuk Ti -> Tj ada di dalam grafik preseden, maka di setiap jadwal S’ serial yang ekivalen ke jadwal S, Ti harus muncul sebelum Tj.