Rani Hanifah
1100284
ILMU KOMPUTER C
KUIS 2 SIMBADA
1. INTEGRITAS DATA
Pengertian 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 dikelompokan sebagai
berikut :
- Entity Integritas
- Domain Integritas
- Refrential Integritas
- User Defined Integritas
Penjelasan Domain Integritas
Domain Integritas merupakan validasi dari masukan untuk sebuah kolom. Anda
dapat memeriksa domain integritas dengan membatasi tipe (melalui data types),
format (melalui check constraints dan rules), atau range nilai mungkin (melalui
foreign key constraints, check constraints, default definitions dan rules).
Macam action dalam
Referential Integrity
- NO ACTION atau RESTRICT : update atau delete tidak dilakukan. Ini merupakan pilihan default.
- CASCADE : nilai kolom di tabel kedua disesuaikan dengan nilai kolom di tabel utama
- SET NULL : nilai kolom di tabel kedua dijadikan NULL
- SET DEFAULT : nilai kolom di tabel kedua dijadikan nilai DEFAULT (nilai DEFAULT harus ditentukan pada waktu pembuatan tabel).
Tipe-tipe Constraint :
PRIMARY KEY Constraint, untuk menspesifikasikan
kolom dalam tabel. Tidak boleh kosong, dan harus unik, untuk menghubungkan satu
tabel dengan tabel lain.
- FOREIGN KEY Constraint, digunakan untuk menspesifikasikan kolom foreign key pada suatu tabel. Foreign key digunakan untuk menghubungkan dua tabel. Kolom foreign key adalah kolom atau kombinasi beberapa kolom dalam suatu tabel yang selalu merujuk pada kolom primary keypada suatu tabel.
Pengertian Transaksi
•
Unit lojik pekerjaan, Unit lojik recovery
•
Satu atomic operation à bisa terdiri dari beberapa
instruksi
•
Instruksi harus dijamin dikerjakan semua
untuk menjamin konsistensi.
Tujuan Transaksi :
•
Melindungi database dari kehilangan data dan
kerusakan.
•
Contoh masalah:
–
Sistem crash di tengah eksekusi program yang
membuat database dalam state yang tidak diketahui
–
Dua program yang mengakses data yang sama
dijalankan bersamaan sehingga saling menggangu.
Dua Operasi Penting Transaksi
•
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 (bagaimana caranya?)
4 Elemen Transaksi: ACID
•
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
3. CONCURENCY
Pengertian Concurrency
•
DBMS mengijinkan banyak transaksi pada saat
bersamaan untuk mengakses data yang sama.
•
Concurrency Control Mechanism (CCM)
dibutuhkan agar transaksi tidak saling “menggangu”.
3 Masalah Concurrency
•
Lost Update Problem
•
Uncommitted dependency problem
•
Incosistent analysis problem
Locking
•
Jika sebuah transaksi ingin record/resource
tidak berubah dalam waktu tertentu maka dia meminta lock.
Jenis Lock
•
Exclusive Lock (Xlock) à write lock
•
Shared Lock (Slock) à read lock
Jenis Lock (lanj)
•
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:
–
Permintaan Xlock trans. lain pada R ditolak
–
Permintaan Slock trans. lain pada R diterima
PostgreSQL (lanj)
•
Ada dua
–
READ COMMITTED
–
SERIALIZABLE
•
Di PostgreSQL
–
READ UNCOMMITTED = READ COMMITTED
•
Di PostgreSQL
–
REPEATABLE READ = SERIALIZABLE
4. BACK AND PROGRAM
Apa
Stored Procedure
•
Procedure atau Function di dalam database.
•
Stored procedure à SQL + Bahasa Prosedural
•
Banyak disupport oleh RDBMS (ORA, SQL
Server, MySQL versi 5 ke atas)
•
Program untuk mengisi sebuah field dengan
deret 2, 4, 6 sd 100
create or replace procedure isi_deret as
counter
INTEGER;
begin
counter := 0;
loop
insert into DERET(NILAI) values (counter);
counter
:= counter + 2;
exit
when counter > 100;
end
loop;
end;
Mengapa menggunakan SP?
•
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
Manfaat Trigger
•
Membuat integrity constraint yang kompleks.
•
Mencatat aktivitas suatu tabel (logging).
•
Sinkronisasi
Mengapa belajar SP?
•
Powerfull, tools sangat penting bagi DB
designer, DB programmer dan DBA
•
Hampir semua RDBMS mensupport.
–
Walaupun syntax berbeda, umumnya menggunakan
prinsip yang sama
SP di ORA: PL/SQL
•
PL/SQL à
procedural language / SQL
•
Mirip Pascal
•
Case insensitive
•
Strong typed, semua variabel harus
dideklarasikan
•
Komentar:
-- ini komentar satu baris
/* komentar yang bisa > 1 baris */
Deklarasi Variabel
Contoh:
v_counter INTEGER;
v_nim CHAR(5);
v_nama VARCHAR(20);
v_nilai NUMBER;
v_nim_2 MAHASISWA.NIM%TYPE; /* mengikuti tipe
mahasiswa.nim */
Mengapa
menggunakan huruf depan v_? Supaya tidak bentrok dengan nama field. Contoh:
insert into mahasiswa (nim,nama) values (v_nim,v_nama);
5.XML
Materi XML
Pengertian XML
•
XML = EXtensible Markup Language
•
Markup language untuk dokumen yang
mengandung informasi terstruktur.
•
Ditujukan untuk pertukaran dokumen via web.
•
Berbentuk file teks à Cross platform,
indepedenden terhadap software dan hardware.
Aplikasi XML
•
Mendeskripsikan dokumen.
•
Pertukaran data
•
Database
Contoh XML :
<?xml
version="1.0" encoding="ISO-8859-1"?>
<daftar_pengarang>
<pengarang>
<nama>budi
martami</nama>
<alamat>sarijadi
</alamat>
</pengarang>
<pengarang>
<nama>elfan
noviari</nama>
<alamat>gerlong</alamat>
</pengarang>
</daftar_pengarang>
Isi
XML :
•
Tag: <nama> budi </nama>
–
Tag
didefinisikan sendiri.
•
Tag
dapat mempunyai atribut
–
<daftar_mahasiswa jumlah=“30”> …
</daftar_mahasiswa>
•
Struktur
à hirarki (tag dalam tag)
<mahasiswa><nama> budi
</nama></mahasiswa>
XML dan HTML
•
Persamaan dengan HTML?
–
Sama-sama markup language
•
Perbedaan dengan HTML?
–
Semantik HTML telah didefinisikan. Contoh:
<b> untuk bold
–
XML lebih ketat aturannya. Contoh: setiap
tag harus ada penutupnya (<tag> …. </tag>)
–
XML case sensitive
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, OS
Kerugian XML
•
Pengulangan tag à tidak efisien, ukuran
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> yudi
</mahasiswa></nama>
6.KEAMANAN BASIS DATA
Keamanan
pada basis data harus dijaga dan di sesuaikan dengan kebutuhan nya..
Keamanan nya harus terjaga agar tidak dipakai sembarang
orang..
Referensi