3 - Integritas Data

Post on 13-Apr-2015

74 views 1 download

Transcript of 3 - Integritas Data

DASAR SQLMI2143

YGK

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

Defining Constraint

Column Level Constraint

CREATE TABLE employees(employee_id NUMBER(6)

CONSTRAINT emp_emp_id_pk PRIMARY KEY,

first_name VARCHAR2(20),...);

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));

Tipe Integritas Data

Null RuleUnique Column ValuesCheckPrimary Key ValuesReferential Integrity Rules

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,

...

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));

Check

Pengecekan untuk kolom-kolom tertentu

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

...

Primary Key

Kolom kunci yang membedakan antar data dalam sebuah table

Not Null

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));

Referential Integrity

Kolom yang mengacu pada sebuah data di table lain

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));

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

Set to Null

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

cascade

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

Menambah Constraint

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

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

Menghapus Constraint

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

ALTER TABLE departmentsDROP PRIMARY KEY CASCADE;

Menampilkan Constraint

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

Menghidupkan dan Mematikan Constraint

ALTER TABLE nama_tableDISABLE | ENABLE CONSTRAINT nama_constraint [CASCADE];

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

Practice Make Perfect!!!