3 - Integritas Data

22
DASAR SQL MI2143 YGK Integritas Data

Transcript of 3 - Integritas Data

Page 1: 3 - Integritas Data

DASAR SQLMI2143

YGK

Integritas Data

Page 2: 3 - Integritas Data

Constraint

Batasan atau aturan yang ada pada table

Mencegah penghapusan/pengubahan data dari suatu table yang mempunyai keterkaitan dengan table yang lain

Melakukan pengecekan terhadap sebuah kolom

Page 3: 3 - Integritas Data

Defining Constraint

Page 4: 3 - Integritas Data

Column Level Constraint

CREATE TABLE employees(employee_id NUMBER(6)

CONSTRAINT emp_emp_id_pk PRIMARY KEY,

first_name VARCHAR2(20),...);

Page 5: 3 - Integritas Data

Table Level Constraint

CREATE TABLE employees(employee_id NUMBER(6),first_name VARCHAR2(20),...job_id VARCHAR2(10) NOT NULL,CONSTRAINT emp_emp_id_pk

PRIMARY KEY (EMPLOYEE_ID));

Page 6: 3 - Integritas Data

Tipe Integritas Data

Null RuleUnique Column ValuesCheckPrimary Key ValuesReferential Integrity Rules

Page 7: 3 - Integritas Data

Not Null

Tidak boleh ada data yang null values.CREATE TABLE employees(

employee_id NUMBER(6),last_name VARCHAR2(25) NOT NULL,salary NUMBER(8,2),commission_pct NUMBER(2,2),hire_date DATE

CONSTRAINT emp_hire_date_nn NOT NULL,

...

Page 8: 3 - Integritas Data

Unique

Setiap record harus unique/berbeda.CREATE TABLE employees(

employee_id NUMBER(6),last_name VARCHAR2(25) NOT NULL,email VARCHAR2(25),salary NUMBER(8,2),commission_pct NUMBER(2,2),hire_date DATE NOT NULL,...CONSTRAINT emp_email_uk UNIQUE(email));

Page 9: 3 - Integritas Data

Check

Pengecekan untuk kolom-kolom tertentu

salary NUMBER(2)CONSTRAINT emp_salary_minCHECK (salary > 0),

...

Page 10: 3 - Integritas Data

Primary Key

Kolom kunci yang membedakan antar data dalam sebuah table

Not Null

Page 11: 3 - Integritas Data

Primary Key

CREATE TABLE departments(department_id NUMBER(4),department_name VARCHAR2(30)CONSTRAINT dept_name_nn NOT NULL,manager_id NUMBER(6),location_id NUMBER(4),CONSTRAINT dept_id_pk PRIMARY KEY(department_id));

Page 12: 3 - Integritas Data

Referential Integrity

Kolom yang mengacu pada sebuah data di table lain

Page 13: 3 - Integritas Data

Foreign Key

CREATE TABLE employees(employee_id NUMBER(6),last_name VARCHAR2(25) NOT NULL,email VARCHAR2(25),salary NUMBER(8,2),commission_pct NUMBER(2,2),hire_date DATE NOT NULL,...department_id NUMBER(4),CONSTRAINT emp_dept_fk FOREIGN KEY (department_id) REFERENCES departments(department_id),CONSTRAINT emp_email_uk UNIQUE(email));

Page 14: 3 - Integritas Data

Rule of Referential Integrity

Restrict : Tidak memperbolehkan Set to Null : Diubah ke Null values Set to Default : Diubah ke Default

values Cascade : Mengikuti parent table No Action : tidak memperbolehkan

Page 15: 3 - Integritas Data

Set to Null

constraint nama_constraint foreign key(nama_kolom) references nama_table(nama_kolom)on delete set null

Page 16: 3 - Integritas Data

cascade

constraint nama_constraint foreign key(nama_kolom) references nama_table(nama_kolom)on delete cascade

Page 17: 3 - Integritas Data

Menambah Constraint

ALTER TABLE nama_tableADD [CONSTRAINT constraint] type (column);

ALTER TABLE employeesADD CONSTRAINT emp_manager_fkFOREIGN KEY(manager_id)REFERENCES employees(employee_id);

Page 18: 3 - Integritas Data

Menghapus Constraint

ALTER TABLE nama_tableDROP [CONSTRAINT constraint] type (column);

ALTER TABLE departmentsDROP PRIMARY KEY CASCADE;

Page 19: 3 - Integritas Data

Menampilkan Constraint

SELECT constraint_name, constraint_type,search_conditionFROM user_constraintsWHERE table_name = 'EMPLOYEES';

Page 20: 3 - Integritas Data

Menghidupkan dan Mematikan Constraint

ALTER TABLE nama_tableDISABLE | ENABLE CONSTRAINT nama_constraint [CASCADE];

Page 21: 3 - Integritas Data

NonMember

PK,FK1 IdPeminjam

Member

PK,FK1 Idpeminjam

Idmember No_Rekening

Peminjaman

PK IdpinjamPK,FK1 Idpeminjam

tglpinjam

Buku

PK Idbuku

Penerbit harga_pinjam namapengarang lamapinjam

Detail_Pinjaman

PK,FK1 IdpinjamPK,FK2 IdbukuPK Iddetailpinjambuku

Harga Tglwajibkembali

Detail_pengembalian

PK,FK2 idpengembalianPK,FK2 Iddetailpinjambuku

Telp_Peminjam

PK,FK1 idepeminjamPK Telp

Peminjam

PK idepeminjam

Nama Kota Propinsi Kodepos

Pengembalian

PK idepengembalian

Tgl_kembali denda

Page 22: 3 - Integritas Data

Practice Make Perfect!!!