Basis Data vs Sistem Basis Data, Integritas Data, Transaksi dan Konkurensi, XML, Back End Programming
BASDAT VS SIMBADA
1) Basis data
Basis
data adalah kumpulan terorganisasi dari data – data yang saling berhubungan
sedemikian rupa sehingga dapat mudah disimpan, dimanipulasi, serta dipanggil
oleh penggunanya. Definisi Basis data juga dapat diartikan sebagai kumpulan
data yang terdiri dari satu atau lebih tabel yang terintegrasi satu sama lain,
dimana setiap user diberi wewenang untuk dapat mengakses ( seperti
mengubah,menghapus dll.) data dalam tabel-tabel tersebut.
Tujuan Basis Data:
- Kecepatan serta kemudahan dalam
menyimpan, memanipulasi atau juga menampilkan kembali data tersebut.
- Efisiensinya ruang penyimpanan,
karena dengan basis data, redudansi data akan bisa dihindari.
- Keakuratan (Accuracy) data.
- Ketersediaan (Availability) data.
- Kelengkapan (Completeness) data,
Bisa melakukan perubahan struktur dalam basis data, baik dalam penambahan
objek baru (tabel) atau dengan penambahan field-field baru pada table.
- Keamanan (Security) data, dapat
menentukan pemakai yang boleh menggunakan basis data beserta objek-objek
yang ada didalamnya serta menentukan jenis -jenis operasi apa saja yang
boleh dilakukannya.
- Kebersamaan Pemakai (Sharability), Pemakai basis data bisa lebih dari satu orang, tetapi tetap menjaga atau menghindari masalah baru seperti: inkonsistensi data (karana data yang sama diubah oleh banyak pemakai pada saat yang bersamaan) dan juga kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data tersebut.
2) Sistem Basis Data
Sistem
Basis Data adalah sistem yang terdiri dari koleksi data atau kumpulan data yang
saling berhubungan dan program-program untuk mengakses data tersebut. Komponen
Utama Sistem Basis Data:
- Perangkat Keras (Hardware)
- Sistem Operasi (Operating Sistem)
- Basis data (Database)
- Sistem Pengelola Basis Data
(Database Management Sistem atau disingkat DBMS)
- Yaitu pengelola basis data secara
fisik tidak dilakukan oleh pemakai secara langsung, akan tetapi ditangani
oleh sebuah perangkat lunak yang khusus. Perangkat Lunak inilah yang
disebut DBMS (Database Management Sistem) yang akan menentukan bagaimana
data diorganisasi, disimpan, diubah serta diambil kembali. Perangkat Lunak
ini juga yang menerapkan mekanisme pengamanan data, pemakaian data secara
bersama-sama, konsistensi data dan sebagainya.
- Pemakai (User).
- Aplikasi atau Perangkat Lunak yang
lainnya.
- Tujuan Utama Sistem Basis Data
sendiri adalah :
- Menunjukkan suatu lingkungan yang
tepat dan efisien didalam melakukan pengambilan (retrieving) dan
penyimpanan (storing) informasi basis data, serta menyediakan antarmuka
yang lebih ramah kepada user dalam melihat data.
Kelebihan
dari Sistem Basis Data:
- Mengurangi duplikasi data
- Meningkatkan integritas data
- Memelihara indepensi data
- Meningkatkan keamanan data
- Memelihara konsistensi data
- Memanipulasi data dengan lebih
canggih
- Mudah digunakan
Kekurangan Sistem Basis Data:
- Sistem lebih rumit, sehingga
perlu tenaga ahli untuk mengurus masalah desain, program dan implementasinya
- Lebih mahal pengadaannya
- Bila terdapat akses yang tidak
benar, dapat merusak basis data
- Karena semua data terdapat di
pusat, maka overload dapat menyebabkan kerusakan pada hardware maupun
software
- Proses maintenance dan back
up akan memakan waktu karena ukurannya besar
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.
Integritas Data dapat
dikelompokan menjadi 2 bagian :
1. Integritas data yang
berada dalam relasi, yaitu integritas entitas dan integritas domain.
2. Integritas yang
berada di luar relasi, yaitu integritas referensial
Selain itu ada juga
integritas yang ditentukan sendiri di dalam suatu perusahaan, yaitu integritas
perusahaan (Enterprise Integrity/ User Defined Integrity).
Secara garis besar
integritas data dalam model relasional meliputi :
1. Integritas Entitas
2. Integritas Domain
3. Integritas
Referensial
4. Integritas
Enterprise
INTEGRITAS ENTITAS
Integritas entitas
mendifinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel.
Dalam integritas entitas, tidak ada baris yang di duplikat didalam suatu tabel.
Contoh :
create table Pembelian
(ID Pembelian smallint,
ID model smallint,
DeskripsiModel varchar (40),
Primary Key (IDPembelian));
INTEGRITAS DOMAIN
Domain adalah
nilai-nilai yang dimungkinkan diasosiasikan dengan setiap atribut, Integritas
domain merupakan validasi masukan dari sebuah kolom. Dengan integritas domain,
tidak ada data yang melanggar jangkauan nilai di tiap kolom data.
Jenis domain yang harus
dimiliki oleh setiap atribut :
1. Karakter bebas
2. Alphanumerik
3. Alphabet
4. Numerik
Pemeliharaan integritas
domain :
1. Pendifinisian skema
2. Pemanfaatan properti
field
3. Penerapan proses
validasi pada pemasukan data
Contoh :
Create table biografi
(idpenulis smallint
unsigned not null,
tahunLahir year not null,
kotalahir varchar (40) not null default
‘Kosong’);
create domain nilai numerik(3,2)
constraint value-test check (value
>=0.00)
INTEGRITAS REFERENSIAL
Integritas referensial
adalah dasar relasi antar tabel yaitu antara foregin key dengan promary key.
Integritas referensial memastikan bahwa seluruh nilai dari foregin key cocok
dengan nilai primary key yang dihubungkanya.
Contoh :
create table account
(account-number char
(10),
branch-name char (15),
balance integer,
primary key (account-number),
foreign key (branch-name) reference branch)
create table depositor
(costumer-name char
(20),
account-number char (10),
primary key (costumer-name, account-number)
foreign key (account-number) reference account
foreign key (costumer-name) reference costumer)
on delete cascade on
update cascade
INTEGRITAS ENTERPRISE
Integritas enterprise
mengizinkan kita untuk menentukan spesifik business rules sendiri yang tidak
sama pada kategori integritas yang lainnya.
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 :
- Atomicity, semua berhasil atau semua
gagal
- Consistency, transaksi mempertahankan
konsistensi database
- Isolation, transaksi
terisolasi satu dengan yang lain
- Durability, setelah
commit update harus survive di database
Dan ada dua jenis
transaksi yang paling penting dalam sistem basis data adalah :
- Commit, memberi tanda bahwa transaksi
telah selesai. Update dibuat permanen (bahkan jika setelah commit terjadi
kegagalan system)
- Rollback, memberi tanda bahwa transaksi
gagal. Semua update harus di-undo
Untuk lojik recovery
atau system recovery database dilakukan ketika terjadi kegagalan media,
kegagalan system atau kesalahan pada transaksi. Sistem recovery menggunakan
fungsi rollback dan checkpoint. Checkpoint adalah interval tertentu pada
perjalanan transaksi basis data yang menyimpan keadaan basis data saat itu.
Checkpoint dapat dilakukan untuk merecovery database secara backward (undo)
maupun forward (redo).
Sedangkan konkurensi
adalah sebuah mekanisme pada sistem basis data yang mengijinkan banyak
transaksi pada saat bersamaan untuk mengakses data yang sama tanpa adanya
gangguan. Pada umumnya terdapat 3 masalah utama pada konkurensi:
- Lost update problem, ketika dua user mengupdate dua buah
data yang sama
- Uncommited dependency
problem, ketika user yang satu meretrieve data dan user yang lain
merollback data tersebut
- 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
Jadi cara kerjanya:
- Jika transaksi A memegang Xlock
pada sebuah record, maka permintaan lock (X,S) pada record yang sama harus
diabaikan.
- Jika transaksi A memegang
Slock pada record R maka :
o Permintaan
Xlock transaksi lain pada R ditolak
o Permintaan
Slock transaksi lain pada R diterima
Tapi, ada satu masalah
yang dapat terjadi ketika melakukan proses locking ini, yaitu deadlock. Yaitu,
situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama
lain menunggu lock dilepaskan sebelum dapat memulai. Cara penanganannya adalah:
- Deteksi dan pecahkan deadlock
- Deteksi deadlock : wait-for-graph
- Pecahkan deadlock : salah
satu dirollback paksa
- Ostrich Algorithm : diabaikan
XML
Definisi XML
XML
adalah bahasa markup seperti HTML, tetapi tanpa format yang tetap. Sebuah
bahasa markup menyediakan kata-kata dan tag yang menggambarkan dokumen dan
mengidentifikasikan bagian-bagiannya. HTML mengenai presentasi ketika XML
bekerja untuk menyimpan dan mengirimkan data terstruktur. Semua file XML
mengikuti beberapa aturan dasar untuk sintaks dan form.
Dari
W3C yang merekomendasikan standar ini pada tanggal 10 Februari
1998 mengartikan bahwa eXtensibel Markup Language adalah sebuah format
berbasis teks yang sederhana untuk mempresentasikan informasi yang
tersturktur seperti dokumen, data, konfigurasi, buku, transaksi, invoice, dan
masih banyak lagi. Ini berasal dari format standar yang lebih tua disebut
SGML (ISO 8879), agar lebih cocok untuk digunakan Web.
Kegunaan XML
XML merupakan salah
satu format yang paling banyak digunakan untuk berbagi informasi terstruktur
hari ini: antara program, antara orang-orang, antara komputer dan orang, baik
lokal dan di seluruh jaringan.
Contoh singkat:
BACK END PROGRAMMING
Apa
yang anda ketahui tentang back-end programming? Back-end programming adalah
program yang berjalan pada database secara otomatis ketika terjadi suatu pemicu
(trigger) tertentu. Dalam sistem basis data itu seperti PL/SQL. PL/SQL itu
dirancang khusus untuk pengolahan mulus dari perintah SQL. Ini memberikan
sintaks khusus untuk tujuan ini dan mendukung persis datatypes sama seperti
SQL. Server-side PL / SQL disimpan dan disusun dalam Oracle Database dan
berjalan dalam executable Oracle. Secara otomatis mewarisi ketahanan, keamanan,
dan portabilitas Oracle Database. Blok PL/SQL ini memiliki beberapa kelebihan:
- Integritas ketat dengan SQL;
- Performa yang lebih baik;
- Produktifitas yang lebih tinggi;
- Portabilitas penuh;
- Keamanan ketat;
- Akses ke paket-paket yang telah di
tentukan;
- Dapat mendukung pemograman
berorientasi objek dan mendukung pengembangan halaman dan aplikasi web dan
server pages (PSPs).
PL/SQL ini
memiliki beberapa komponen utama:
- Anonymous Block, Anonymous block
ini tidak dibuat (CREATE) dan tak disimpan pada database, biasanya
dijalankan dari dalam aplikasi.
- Strored Subprogram, PL/SQL Block
ini yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki dua jenis
subprogram yaitu: procedure dan function. Secara umum procedure
digunakan untuk melaksanakan aksi dan function digunakan untuk komputasi
suatu nilai.
- Trigger, blok PL/SQL yang disimpan
dalam database dan akan diaktivasi ketika kita melakukan
statement-statement SQL (DELETE, UPDATE, dan INSERT) pada sebuah tabel.
Trigger itu mempunyai event, nah event itu telah yang menandakan bahwa
trigger harus dijalankan. 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.
Sumber: