Download pptx - 04 MI2143 Data Integrity

Transcript
Page 1: 04 MI2143 Data Integrity

Data Integrity

MI2143 – Dasar SQLSemester Ganjil / Tahun Ajaran 2013-2014

Hanya dipergunakan untuk kepentingan pengajaran di Lingkungan Politeknik Telkom

Disajikan Oleh:

Disusun Oleh:

Wardani Muhamad S.T., M.T. – wdm@politekniktelkom,ac.id

Page 2: 04 MI2143 Data Integrity

Konsep Data Integrity

Basisdata hanya mempunyai kemampuan untuk menyimpan informasi, sedangkan DBMS harus dapat berperan untuk memastikan bahwa informasi yang tersimpan di dalam basisdata adalah benar

Untuk memastikan bahwa informasi yang disimpan adalah benar, pada basisdata dapat ditambahkan constraint

Integrity Constraint (IC) adalah sebuah kondisi yang ditetapkan secara spesifik pada sebuah basisdata, dan dapat membatasi data yang tersimpan pada basisdata tersebut

IC digunakan untuk memastikan akurasi dan konsistensi data pada basisdata relasional

Page 3: 04 MI2143 Data Integrity

Tipe Integrity Constraint

Oracle mendefinisikan enam constraint yang dapat digunakan:

1. Not NULL

2. Unique

3. Primary Key

4. Foreign Key Constraint (Referential Integrity)

5. Check

Terdapat dua cara untuk mendeklarasikan constraint:

1. Inline specification constraint menjadi bagian pada pendefinisian column secara individual

2. Out-of-line specification constraint menjadi bagian pada pendefinisian table

Setiap constraint harus memiliki nama yang unik

Page 4: 04 MI2143 Data Integrity

Inline Specification

Contoh:

CREATE TABLE mahasiswa ( nim CHAR(6) CONSTRAINT pk_mhs PRIMARY KEY, nama VARCHAR2 (35))

Page 5: 04 MI2143 Data Integrity

Out-of-line Specification

Contoh:

CREATE TABLE mahasiswa ( nim CHAR(6), nama VARCHAR2 (35), CONSTRAINT pk_mhs PRIMARY KEY (nim))

Page 6: 04 MI2143 Data Integrity

NULL Value

Jika sebuah kolom pada sebuah baris tidak mempunyai nilai, maka column tersebut dinyatakan NULL

Semua tipe data memungkinkan adanya nilai NULL

Untuk membatasi sebuah column dari nilai NULL, maka column tersebut harus dibatasi dengan menambahkan constraint NOT NULL atau PRIMARY KEY

NOL tidak sama dengan NULL

Ekspresi aritmatika yang melibatkan nilai NULL akan mendapatkan hasil NULL

Contoh: 10 dikali dengan NULL sama dengan NULL

Page 7: 04 MI2143 Data Integrity

1. Not Null Constraint

Not Null Constraint mencegah sebuah column mempunyai nilai NULL

Keyword NULL sendiri pada dasarnya tidak digunakan untuk mendefinisikan IC

NOT NULL dideklarasikan menggunakan inline specification

Untuk menguji kebenaran (memenuhi) Not Null Constraint setiap column harus memiliki sebuah nilai

Page 8: 04 MI2143 Data Integrity

1. Not Null Constraint (cont.)

Pattern (inline specification):

Contoh:

CREATE TABLE mahasiswa ( nim CHAR(6), nama VARCHAR2 (35) CONSTRAINT nm_mhs_nn NOT NULL)

Page 9: 04 MI2143 Data Integrity

2. Unique

Unique constraint tidak memperbolehkan beberapa baris data memiliki nilai yang sama pada column atau kumpulan column yang sama, akan tetapi memperbolehkan nilai NULL

Unique Constraint menunjukkan column sebagai unique key

Contoh:

Composite Unique Constraint menunjukkan sekumpulan (kombinasi) column sebagai unique key

Contoh:

NIM Nama

30110029 Muhammad Ali

30110030 Mike Tyson

30110030 Mike Doughlas

NIM Hobi_ke Nama_hobi

30110029 1 Renang

30110030 1 Shopping

30110030 1 Renang

Page 10: 04 MI2143 Data Integrity

2. Unique (cont.)

Pattern (inline specification)

Contoh penggunaan:

CREATE TABLE mahasiswa ( nim CHAR(6), nama VARCHAR2 (35) CONSTRAINT nm_mhs_uni UNIQUE)

Page 11: 04 MI2143 Data Integrity

2. Unique (cont.)

Pattern (out-of-line specification)

Contoh penggunaan:

CREATE TABLE mahasiswa ( nim CHAR(6), nama VARCHAR2(35), jns_kelamin CHAR(1), CONSTRAINT mhs_uni UNIQUE (nama,jns_kelamin))

Page 12: 04 MI2143 Data Integrity

3. Primary Key

Primary Key (PK) constraint merupakan kombinasi NOT Null dan unique constraint

PK tidak memperbolehkan beberapa baris data memiliki nilai yang sama pada column atau kumpulan column yang sama, serta tidak memperbolehkan nilai NULL

Untuk menguji kebenaran PK:

Tidak ada duplikasi nilai pada column yang menjadi PK

Column yang menjadi bagian dari PK tidak memiliki Null Value

PK hanya dapat didefnisikan satu kali pada sebuah table

Page 13: 04 MI2143 Data Integrity

3. Primary Key (2)

Pattern (inline specification)

Contoh:CREATE TABLE mahasiswa ( nim CHAR(6) CONSTRAINT pk_mhs PRIMARY KEY, nama VARCHAR2 (35))

Page 14: 04 MI2143 Data Integrity

3. Primary Key (3)

Pattern (out-of-line specification)

Contoh:

CREATE TABLE mahasiswa ( nim CHAR(6), nama VARCHAR2 (35), CONSTRAINT pk_mhs PRIMARY KEY (nim))

CREATE TABLE mahasiswa ( nim CHAR(6), nama VARCHAR2 (35), CONSTRAINT pk_mhs PRIMARY KEY (nim,nama))

Page 15: 04 MI2143 Data Integrity

4. Foreign Key

foreign key mensyaratkan nilai yang dimiliki pada sebuah table cocok dengan nilai pada table pasangannya

Column yang menjadi rujukan dan menghubungkan antara foreign key dengan primary key atau unique disebut dengan referenced key

Kombinasi column yang menjadi foreign key disebut composite foreign key

Table atau view yang memiliki foreign key disebut child, dan table atau view yang menjadi rujukan disebut parent

Column yang menjadi foreign key dan column yang menjadi rujukan harus memiliki tipe data yang cocok

Sebuah kolom atau sekumpulan kolom dapat berperan sebagai foreign key sekaligus sebagai primary key atau unique

Sebuah table dapat memiliki lebih dari satu foreign key

Page 16: 04 MI2143 Data Integrity

4. Foreign Key (2) Pattern

Contoh:CREATE TABLE mahasiswa ( nim CHAR(6) CONSTRAINT pk_mhs PRIMARY KEY, nama VARCHAR2 (35) id_prodi CHAR(2), CONSTRAINT fk_mhs_prodi FOREIGN KEY (id_prodi) REFERENCES prodi(id_prodi))

Page 17: 04 MI2143 Data Integrity

4. Foreign Key (3)

On Delete Clause

digunakan untuk menentukan bagaimana Oracle secara otomatis mengelola referential integrity jika terjadi penghapusan pada data yang menjadi rujukan (parent)

Jenis ON DELETE Clause: CASCADE penghapusan data pada parent akan menghapus

data pada child

SET NULL menjadikan nilai column pada child menjadi NULL jika terjadi penghapusan data pada parent

Contoh:CREATE TABLE mahasiswa ( nim CHAR(6) CONSTRAINT pk_mhs PRIMARY KEY, nama VARCHAR2 (35) id_prodi CHAR(2), CONSTRAINT fk_mhs_prodi FOREIGN KEY (id_prodi) REFERENCES prodi(id_prodi) ON DELETE CASCADE)

Page 18: 04 MI2143 Data Integrity

5. Check

Check constraint digunakan untuk membatasi nilai yang tersimpan didalam basisdata memenuhi kondisi yang sudah ditentukan

Sebuah column dapat memiliki lebih dari satu check constraint

Tidak ada batasan jumlah check constraint yang dikenakan pada sebuah column

Page 19: 04 MI2143 Data Integrity

5. Check (2)

Pattern

Contoh:

CREATE TABLE employees (... salary NUMBER(8,2) CONSTRAINT emp_salary_min CHECK (salary > 0), ...)

Page 20: 04 MI2143 Data Integrity

Referensi/Daftar Pustaka

Oracle Database 10g. SQL Fundamental 1 – Student Guide Volume 1. California: Oracle Publisher 2004.

Oracle Database 10g. SQL Reference 10g Release 2. California: Oracle Publisher 2005.


Recommended