Sabtu, 18 Oktober 2014

Integritas Basis Data

Integritas data adalah menjamin konsistensi data terhadap semua konstrain yang diberlakukan terhadap data tersebut, sehingga memberikan jaminan keabsahan data itu sendiri.
Tujuannya adalah menjaga data agar data yang tidak valid tidak masuk ke database. Menjaga konsistensi data pada relasi keterkaitan antar tabel.
Integritas data dapat dikelompokkan sebagai berikut :
1. Entity Integritas
Entity integritas  mendefenisikan sebuah baris  sebagai sebuah entitas yang unik untuk suatu tabel. Entity integritas memaksa  integritas  dari colum atau primary key dari suatu tabel (melalui index, unique, constrains, primarykey) tidak boleh null.
2. Domain integritas
Domain Integritas merupakan validasi dari masukan untuk sebuah kolom. Anda dapat memaksa domain integritas dengan membatasi tipe (melalui data types), format (melalui  check  constraints  dan  rules),  atau range  nilai-nilai  yang  mungkin  (melalui Foreign Key Constraints, Check Constraints, Default Definitions dan rules).
3. Refferential Integritas
Refferential integritas  memastiakn bahwa seluruh nilai dari foreign key  cocok dengan  nilai primary key yang dihubungkan.
4.  User Defined integritas
User difined integritas mengizinkan  kita untuk menentukan  spesific business rules  sendiri  yang tidak sama pada kategori integrity yang lain

Jenis-jenis Integritas Data :
·         Domain integrity (Integritas jangkauan nilai)
Tidak ada item data yang melanggar jangkauan nilai di tiap kolom data.
·         Integrity Entity (Integritas Entitas)
Tidak ada baris data duplikat dalam satu tabel.
·         Integrity Referential (Integritas acuan)
Menjaga relasi atau korespondensi antar tabel.
·         Redudant Data Integrity (Integritas Data Antar Tabel)
Data di sebuah tabel tidak berulang di tabel lain.
·         Bussiness Rule Integrity (Integritas Aturan Nyata)
Data di suatu tabel harus memiliki nilai yang layak dan dapat diterima ditempat sistem basis data itu diterapkan. Integritas jenis ini bersifat kasuistis, artinya sangat bergantung pada jenis data, lokasi, lingkungan, dan waktu penerapan basis data.
·         Membuat Constraint
Constraint merupakan suatu aturan yang membatasi jenis data yang diijinkan untuk dimasukkan ke dalam tabel.

Constraints Classification

Constraints Classification adalah aturan untuk memberikan akses ke data dalam sebuah database.
S=(R,A,E,L)
Constraints classification adalah aturan yang menentukan nilai satu atau lebuh klasifikasi atribut. R adalah nama dari relasi, A adalah daftar dari satu atau lebih atribut data di R, E adalah ekspresi opsional dan L adalah kelas akses.
Ada 4 tipe classification constraints :
1. Type dependent : tidak ada ekspresi E dan L adalah variable ekspresi yang konstan, sehingga semua elemen yang terkait dengan atribut memiliki kelas yang sama. Mendefinisikan single level atribut.
Contoh : (R, A, , SECRET)
(R, (A,B), , PROPRIETARY)
2.  Value dependent : Salah satu E atau L atau keduanya ada, sehingga akses kelas yang terasosiasikan dengan element tergantung pada nilai dari element atau akses kelas dari data lain dalam database.
Contoh : (R, A, A=1, CONF) => kelas elemen terkait dengan atribut A ditentukan oleh nilai dari elemen.
(R, A, , class (R.B)) => ditentukan oleh kelas dari atribut B.
(R, A, A=1, class(R.B)) => ditentukan oleh atribut A dan B.
3. Source level : akses kelas L adalah ekspresi “kelas (user)” merupakan kelas akses dari user(subjek) yang memasuki elemen. Ekspresi E bisa hadir maupun tidak.
Contoh : (R, A, , class(user))
(R, B, B>0, class (user))
4. Source label : akses kelas L merupakan ekspresi *, berarti subjek yang memasuki elemen menyediakan akses kelas untuk elemen. Ekspresi E bisa hadir maupun tidak.
Contoh : (R, A, , *)
(R, B, B>0, *)

Constraint Classification (Tipe-tipe Constraint) :
·         PRIMARY  KEY Constraint
Berguna 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 key pada suatu tabel.
·         UNIQUE Constraint
Digunakan untuk menjamin bahwa data pada suatu kolom atau beberapa kolom tidak diijinkan sama.
·         CHECK Constraint
Digunakan untuk membatasi suatu nilai pada kolom dengan nilai tertentu yang diijinkan masuk.
·         DEFAULT Constraint
Merupakan atribut opsional yang digunakan untuk memberikan suatu nilai tertentu pada suatu kolom jika kolom tersebut tidak dimasukkan suatu data.
·         NOT NULL
Digunakan untuk menjamin tidak ada nilai null (kosong) yang muncul pada suatu kolom tertentu sehingga bila tidak mengisikan nilai pada kolom tersebut maka akan muncul error.

Transition Constraints

Transition constraints adalah cara untuk memastikan database tidak dimasukan data yang tidak mungkin berhubungan dengan data sebelumnya. Transition constraints dapat dimodelkan sebagai diagram transisi untuk memastikan aturan untuk memperbaharui entitas dengan cara tertentu. Ada keadaan awal, flow garis yang menunjukan data berikutnya yang sesuai dengan aturan,



Seperti dapat dilihat diatas, keadaan awal adalah born, selanjurnya menunjukan married dan dead, tidak mungkin setelah dead atau married kembali ke born. Hanya pada state married dan divorce yang dua arah. Hal ini memastikan data yang dimasukan harus sesuai dengan aturan yang berlaku dan berhubungan dengan state sebelumnya.

Transition constraints basis data dan Keys sql support

CREATE TABLE membuat tabel baru pada basis data yang sedang aktif. Secara umum, perintah ini memiliki bentuk

 CREATE TABLE [''nama_tabel'']
 (
 nama_field1 tipe_data [constraints][,
 nama_field2 tipe_data,
 ...]
 )
atau
 CREATE TABLE [''nama_tabel'']
 (
 nama_field1 tipe_data [,
 nama_field2 tipe_data,
 ...]
 [CONSTRAINT nama_field constraints]

)

dengan:

nama_field adalah nama kolom (field) yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom.

tipe_data tergantung implementasi sistem manajemen basis data. Misalnya, pada MySQL, tipe data dapat berupa VARCHAR, TEXT, BLOB, ENUM, dan sebagainya.

constraints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci asing (foreign key).

Satu tabel boleh tidak memiliki kunci primer sama sekali, namun sangat disarankan mendefinisikan paling tidak satu kolom sebagai kunci primer.


Contoh:
 CREATE TABLE user
 (
 username VARCHAR(30) CONSTRAINT PRIMARY KEY,
 passwd VARCHAR(20) NOT NULL,
 tanggal_lahir DATETIME
 );

Keys, sql support

Structured Query Language yang sering disebut SQL merupakan suatu bahasa database relasional yang dibuat berdasarkan suatu standart. berikut merupakan bentuk dasar dari SQL.
Keys Sql Support 
SQL mendukung sejumlah kendala integritas yang berbeda. Ini beberapa diantaranya:
1.Primary-Key:
Primary-Key mengatakan bahwa atribut (Aj1, Aj2,..., Ajm) membentuk primary key untuk relasi. Primary Key dituntut untuk non null dan unik, yaitu, tidak ada tuple yang dapat memiliki
nilai null untuk atribut Primary-Key, dan tidak ada dua tupel dalam relasi
dapat sama pada semua atribut Primary-Key. Meskipun spesifikasi Primary-Key opsional , biasanya ide yang baik untuk menentukan Primary-Key untuk setiap relasi .
2.Foreign-Key:
Spesifikasi Foreign-Key mengatakan bahwa nilai-nilai atribut (AK1, AK2, ..., AKN) untuk setiap tupel dalam relasi harus sesuai dengan nilai-nilai dari atribut Foreign-Key dari beberapatuple dalam
hubungan s.
3.Not-null:
Kendala Not-null pada atribut menentukan bahwa nilai null tidak diperbolehkan untuk atribut tersebut, dengan kata lain, kendala tidak termasuknilai null dari domain dari atribut tersebut.


1 komentar: