25 Nov 2015

Sistem Basis Data

Unknown
Perbedaan Basis Data dan Sistem Basis Data

Basis = Markas ataupun Gudang, tempat berkumpul
Data = Fakta dunia nyata yang dilambangkan
Basis Data = Kumpulan dari data-data yang saling berhubungan
Sistem Basis Data = Kumpulan dari data-data yang saling berhubungan dan program untuk mengakses data tersebut


Integritas Data

Pengertian integritas data secara luas mengacu pada kepercayaan dari sumber daya suatu sistem. Integritas data sangat penting karena dapat memastikan keakuratan, konsistensi, aksesibilitasi, dan kualitas tinggi dari sebuah data, sehingga sangat penting untuk mengikuti aturan pengintegritasan suatu data. Data yang mempunyai integritas identik di pertahankan selama operasi apapun (seperti bisnis transfer, penyimpanan, atau pengambilan). Secara sederhana dalam istilah bisnis, integritas data adalah jaminan bahwa data konsisten, bersertifikat dan dapat dirujukan


Transaksi dan Concurrency

Concurrencyadalah banyaknya transaksi yang dijalankan secara bersamaan dalam satu waktu. Concurrency dibutuhkan agar transaksi tidak saling mengganggu.
Transaksi : “Sebuah transaksi adalah unit eksekusi program yang mengakses dan mungkin mengubah beberapa item data”. Dalam Konsep transaksi di database harus di penuhi empat sifat database agar integritas database tetap terjaga. Adapun keempat sifat tersebut adalah:
  • Atomicity : Setiap transaksi harus dijamin untuk dapat sukses dalam melakukan aksinya atau jika gagal , maka tidak berpengaruh apapun terhadap database.
  • 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.
  • 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).
  • Durability : Setelah sebuah transaksi sukses dilakukan, perubahan-perubahan yang dibuatnya terhadap database bersifat permanen, bahkan jika terjadi kegagalan sistem sekalipun.


Back End Programming

Back-End programming adalah program yang berjalan pada database secara otomatis ketika terjadi suatu pemicu tertentu.

https://www.nczonline.net/images/wp-content/uploads/2013/10/nodejs1.png

Dalam oracle ada beberapa metode untuk melakukan back-end programming, yaitu dengan trigger dan stored procedure.

Stored Procedure

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-VR_MEEJoqUiwZtp-ha1sZPr_9oMYHYYklVK2ysLGZvVotK1RVdVYU2WuUvWXU3XftZQmRFCYKbdoTGW4xP0-8lGBf9_9CVnvyJkndSMr5Fdx49MLpnvlCIJko0QqyQpDr1kLUz7iXK0/s1600/stored-procedure.png

Subprogram adalah PL/SQL Blok yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki dua jenis subprogram yaitu: procedure dan function. Dimana secara umum procedure digunakan untuk melaksanakan aksi dan function digunakan untuk komputasi suatu nilai. 
Stored procedure adalah subprogram yang disimpan di dalam database berupa SQL + Bahasa prosedural. Ada beberapa kelebihan yang dapat diperoleh dengan menggunakan stored procedure, meliputi :
  • Dijalankan di database server -> performance lebih baik, network trafik lebih rendah.
  • Tools DBA -> praktis, selalu tersedia di database server.
  • Dapat digunakan oleh banyak aplikasi
  • Standarisasi business logic.
  • SP dapat dipanggil oleh aplikasi luar
  • Dapat memanfaatkan tipe, fungsi yang disediakan DBMS
  • Powerfull, tools sangat penting bagi DB designer, DB programmer dan DBA
  • Hampir semua RDBMS mensupport.
  • Walaupun syntax berbeda, umumnya menggunakan prinsip yang sama
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 tersebut sehingga trigger dapat membantu dalam menjaga integritas dan konsistensi data. Implementasi trigger yang sering ditemui dalam dunia nyata adalah untuk mengeset dan mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga. Adanya trigger dalam database akan meringankan kita dalam pembuatan aplikasi karena di dalam aplikasi yang kita buat, kita tidak perlu lagi untuk melakukan validasi data.
Berikut adalah daftar yang mungkin untuk aktivasi trigger :

EventKeterangan
Before InsertDiaktifkan sekali sebelum statement insert
After InsertDiaktifkan sekali setelah statement insert
Before UpdateDiaktifkan sekali sebelum statement update
After UpdateDiaktifkan sekali setelah statement update
Before DeleteDiaktifkan sekali sebelum statement delete
After DeleteDiaktifkan sekali setelah statement delete


https://docs.oracle.com/database/121/CNCPT/img/cncpt076.gif

Model-model yang digunakan untuk menspesifikasi aturan basis data aktif adalah model ECA (Event-Condition-Action). Aturan dalam model ECA memiliki tiga komponen yaitu:
  • Event, yang memicu suatu rule tersebut biasanya berupa operasi perubahan basis data yang secara eksplisit ditambahkan ke basis data. Namun pada umumnya, bisa berupa event temporal atau jenis event eksternal yang lain.
  • Condition, menentukan apakah suatu rule dijalankan atau tidak. Ketika suatu trigger dijalankan, maka bagian condition (bersifat optional) akan dievaluasi jika didefinisikan oleh yang membuat trigger. Jika evaluasi bagian condition bernilai TRUE maka aksi suatu rule dijalankan.
  • Action, biasanya berupa statement sql.
Manfaat trigger antara lain adalah :
  • Membuat integrity constraint yang kompleks.
  • Mencatat aktivitas suatu tabel (logging).
  • Sinkronisasi


XML

https://upload.wikimedia.org/wikipedia/commons/thumb/6/68/XML.svg/200px-XML.svg.png

XML adalah markup language sepertinya halnya HTML untuk dokumen yang mengandung informasi terstuktur dan ditujukan untuk pertukaran dokumen via web. XML berberntuk file teks yang cross platform, independen terhadap software dan hardware. Berikut adalah spesifikasi XML:
  • Tag: <nama> budi </nama>
Tag didefinisikan sendiri.
  • Tag dapat mempunyai atribut,
contoh : <daftar_mahasiswa jumlah = “40”> … </daftar_mahasiswa>
  • Struktur -> hirarki (tag dalam tag),
contoh: <mahasiswa><nama> susis </nama></mahasiswa>
Keuntungan XML :
  • Self Documenting -> dengan melihat tag, dapat diketahui isi dokumen.
  • Dapat dibaca software dan manusia.
  • Fleksibel
  • Dapat dikembangkan tanpa melanggar format lama.
Contoh: pada <pengarang>, tambah tag <telepon>, maka XML yang lama tetap dapat dibaca.
  • Hirarkis -> dapat merepresentasikan data kompleks
  • Independen terhadap bahasa pemrograman dan sistem operasi
Kerugian XML :
  • Pengulangan tag -> tidak efisien, ukuran file membengkak
Beberapa aturan XML :
  • Setiap tag harus ada penutupnya.
  • Penamaan Tag
case sensitive. <nama> tidak sama dengan <Nama>.
Tidak diawali dengan angka
Tidak mengandung spasi
Hindari ‘-’ dan ‘.’
  • Urutan hirarki harus benar.
Contoh yang salah: <mahasiswa> <nama> susis </mahasiswa></nama>
  • Setiap XML harus mengandung root (akar)
<root>
<child>
<subchild>…..</subchild>
</child>
</root>
  • Setiap atribut harus dalam tanda petik. Contoh:
<surat tanggal = “12/12/2007”>
<catatan oleh = “ Jum’at ” >
  • Komentar dalam XML:
<!—baris komentar –!>
Untuk membaca XML diperlukan proses parser. Parser XML dapat dilakukan dengan dua cara, yaitu :
  • Tree based, isi XML dipindahkan ke memori terlebih dulu -> DOM (Document Object Model).
  • Event based -> tidak dipindahkan ke memori. Fungsi callback dipanggil setiap menemui element. -> SAX (Simple API XML)



REFERENSI
http://www.pengertianku.net/2014/06/pengertian-basis-data-dan-sistem-basis.html
https://biblenizzle.wordpress.com/2013/10/08/integritas-data-dalam-basis-data/
http://justizzah.blogspot.co.id/2013/05/sistem-basis-data-concurency-transaksi.html
https://simbuda.wordpress.com/2013/05/19/back-end-programming-xml-dan-keamanan-data/