Contoh SQL Constraint

dokumen-dokumen yang mirip
Contoh SQL Constraint

Basis Data. DDL & Aturan Referential

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

IMPLEMENTASI CONSTRAINT UNTUK MENJAMIN KONSISTENSI DAN INTEGRITAS DATA DALAM DATABASE

Kontrak Kuliah. Trigger dan Scheduled Events. Edi Sugiarto, S.Kom, M.Kom

Pertemuan III Oleh: Ilham Rais Arvianto, M.Pd

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

Constraint dan Manajemen Data dalam Timezone Berbeda

Mudafiq Riyan Pratama

Pengenalan Structured Query Language

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

DATA DEFINITION LANGUAGE

INTEGRITAS DAN KEAMANAN DATA. Gentisya Tri Mardiani, S.Kom., M.Kom

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

MODUL PRAKTIKUM 04. Database Implementation dengan Perintah SQL

Pertemuan VII TRIGGERS

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

TUGAS PRAKTIKUM SISTEM BASIS DATA

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com


Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

Praktikum Basis Data 14 Structure Query Language 2

PERTEMUAN 11 CONSTRAINT. Tujuan Pembelajaran : Memahami definisi Constraint Dapat Membuat Constraint Dapat Melakukan pemeliharaan Constraint

BAB II PEMBUATAN DAN MANAJEMEN TABLE

SISTEM BASIS DATA Pertemuan 11 Structure Query Language DDL - DML

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

PRAKTIKUM PL/SQL (Trigger) OLEH : WIRATMOKO YUWONO, ST

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

Apa itu DDL & DML? Semua perintah SQL dibagi dalam 2 kategori besar sesuai fungsinya, yaitu :

TUGAS PRAKTIKUM SISTEM BASIS DATA

Administrasi Basis Data. Integritas Data. Yoannita

Pertemuan 12 Pengenalan Structured Query Language

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

Perangkat Lunak Pengembangan Web

Basis Data Terapan. Yoannita, S.Kom

BASISDATA. Basis Data Secara Umum

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

PERANCANGAN FISIK BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

INTERNET PROGRAMMING DATABASE

Tampilan pada Enterprise Manager

Modul 6 Function dan Trigger

MODUL PRAKTIKUM 03 MENGENAL MEMBUAT TABEL

BAB IV IMPLEMENTASI DAN PENGUJIAN

Oracle Academic Initiative

PRAKTIKUM SISTEM BASISDATA. Disusun Oleh : Anggi Nurcahyo ( )

LAPORAN TUGAS BASIS DATA I

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

KURSUS ONLINE JASA WEBMASTERS

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

PENGENALAN SINTAKS DASAR DALAM MySQL

Praktikum Basis Data 2017 TE UM

MODUL 8 STRUCTURED QUERY LANGUAGE (BAGIAN 2)

PERINTAH DASAR MySQL

Kontrak Kuliah. Dasar-dasar MySQL. Edi Sugiarto, S.Kom, M.Kom

PRAKTIKUM SISTEM BASISDATA

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

Triggers. by: Ahmad Syauqi Ahsan

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

MODUL 1 Pengenalan MySQL, DDL, DML

Cara Membuat Trigger di MySQL

JobsheetTEUM MODUL VI TRIGGER

JAWABAN UAS BASDAT. 1. Analisis Table CV Ayo Baca dan CDM & PDM. Table yang digunakan sebagai berikut

Basis Data Spasial Modul 2

Basis Data II. Pertemuan Ke-9 dan ke-10 (Stored Procedure dan Trigger) Noor Ifada S1 T. Informatika - UTM (2012) 1

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

Mengenal Operasi Dasar SQL

Pertemuan 10. Bahasa Query Terapan

Konsep Sistem Informasi B. BAB 2 - SQL Overview

MODUL 4 INTERNET PROGRAMMING DATABASE

MODUL VII DATABASE DAN MICROSOFT SQL SERVER 2000

Obyek pada Oracle. Manajemen Obyek Basis Data dan Dictionary View. Obyek pada Oracle adalah segala hal yang bisa dibuat di Oracle, seperti:

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

Cara Membuat Trigger di MySQL

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

MODUL 5 INTERNET PROGRAMMING : MySQL

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.

Pertemuan 9 Struktur Query Language(SQL)

TUGAS PRAKTIKUM SISTEM BASIS DATA

Basis Data. Structured Query Language (SQL)

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

STRUCTURE QUERY LANGUAGE (SQL)

SQL DASAR BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

Praktikum TRIGGER. Tujuan :

MySQL J A M K E T I G A

LAPORAN PRAKTIKUM SISTEM BASIS DATA

Modul 3 : Query Penggabungan Tabel

BAB I PENDAHULUAN. 1.1 Latar Belakang

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML

MODUL II. Instalasi OracleXE Dan SQL

CONTOH SQL. ERD untuk entitas Mahasiswa mengambil/mengikuti Kuliah. N mengikuti. N Kuliah. Mahasiswa MEMBUAT (CREATE) TABEL. Buat tabel mahasiswa:

STRUCTURE QUERY LANGUAGE

RANGKUMAN PHP dan MYSQL

Transkripsi:

Contoh SQL Constraint Anda dapat menggunakan constraint untuk membatasi tipe data yang disimpan ke dalam tabel. Constraint dapat digunakan pada saat pertama kali membuat table dengan statement CREATE TABLE atau setelah tabel dibuat dengan perintah statement ALTER TABLE. Umumnya jenis Constraint mengandung: NOT NULL Constraint: untuk memastikan kolom dalam tabel tidak berisi nilai NULL. (Kode Integer NOT NULL, Nama Varchar (30) NOT NULL, Alamat Varchar(30)); DEFAULT Constraint: menentukan nilai default pada kolom saat data diinsert pada tabel. CREATE TABLE Jurnal_Detail (Kode char(4) NOT NULL, Keterangan varchar (30), Debet Numeric DEFAULT 0, Kreditt Numeric DEFAULT 0)); UNIQUE Constraint: untuk memastikan tidak ada data ganda dalam kolom. (Kode Integer UNIQUE, Nama Varchar (30), Alamat Varchar(30)); CHECK Constraint: memastikan data dalam kolom memenuhi kriteria yang ditentukan. (Kode integer CHECK (Kode > 0), Nama varchar (30), Alamat varchar(30)); Pada contoh di sini kriteria field Kode harus lebih besar dari 0, jika data dientry lebih kecil dari 0 akan terjadi error dan data tidak akan dapat disimpan ke table. Primary Key Constraint: digunakan untuk mengidentifikasi secara unik pada baris. MySQL: (Kode integer, Nama varchar(30), Alamat varchar(30),

PRIMARY KEY (Kode)); Oracle: (Kode integer PRIMARY KEY, Nama varchar(30), Alamat varchar(30)); SQL Server: (Kode integer PRIMARY KEY, Nama varchar(30), Alamat varchar(30)); Foreign Key Constraint: digunakan untuk integritas referensi dari data. MySQL: CREATE TABLE ORDERS (Kode_Order integer, Tgl_Order date, Kode_Pelanggan integer, Jumlah double, Primary Key (Order_ID), Foreign Key (Kode_Pelanggan) references Pelanggan(Kode)); Oracle: CREATE TABLE ORDERS (Kode_Order integer primary key, Tgl_Order date, Kode_Pelanggan integer references Pelanggan(Kode), Jumlah double); SQL Server: CREATE TABLE ORDERS (Kode_Oder integer primary key, Tgl_Order datetime, Kode_Pelanggan integer references Pelanggan(Kode), Jumlah double);

Referential Integrity Perintah SQL untuk membuat tabel MHS CREATE TABLE mhs ( nim varchar(8), namamhs varchar(20), PRIMARY KEY (nim) ) TYPE = INNODB; Perintah SQL untuk membuat tabel MK CREATE TABLE ambilmk ( nim varchar(8), kodemk varchar(3), nilai float(3,2), PRIMARY KEY (nim, kodemk), FOREIGN KEY (nim) REFERENCES mhs (nim) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (kodemk) REFERENCES mk (kodemk) ON DELETE CASCADE ON UPDATE CASCADE ) TYPE = INNODB; dilanjutkan untuk membuat tabel untuk ambilmk. CREATE TABLE ambilmk ( nim varchar(8), kodemk varchar(3), nilai float(3,2), PRIMARY KEY (nim, kodemk), FOREIGN KEY (nim) REFERENCES mhs (nim) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (kodemk) REFERENCES mk (kodemk) ON DELETE CASCADE ON UPDATE CASCADE ) TYPE = INNODB; Tabel di atas terdapat dua primary key yaitu NIM dan KODEMK. Sedangkan field NIM ini juga merupakan foreign key yang direferensikan dari field NIM yang ada dalam tabel MHS. Oleh karena itu tambahkan perintah FOREIGN KEY (nim) REFERENCES mhs (nim). Selanjutnya apa maksud dari ON DELETE CASCADE? Perintah ini maksudnya bila ada data NIM yang dihapus pada tabel MHS, maka secara otomatis data NIM yang ada dalam tabel AMBILMK ini

juga akan terhapus. Sedangkan ON UPDATE CASCADE digunakan untuk proses update otomatis pada NIM dalam tabel AMBILMK, apabila NIM yang ada di tabel MHS ini diupdate. Hal yang sama juga kita terapkan untuk tabel AMBILMK. Dalam hal ini, KODEMK adalah sebagai foreign key yang direfensikan dari KODEMK yang ada dalam tabel MK. Sekarang coba Anda masukkan data-data berikut ini pada tabel MHS NIM NAMAMHS M0197001 Rosihan Ari Yuana M0197002 Dwi Amalia Fitriani M0197003 Faza Fauzan M0197004 Nada Hasanah M0197005 Muh. Ahsani Taqwim Masukkan pula data pada tabel MK KODEMK M01 M02 NAMAMK Database OOP untuk mengecek referensial integrity, sekarang kita coba masukkan data pada tabel AMBILMK. INSERT INTO ambilmk VALUES ('M0197001', 'M01', 3.0); Ketika perintah SQL di atas dijalankan, data dapat dimasukkan ke tabel AMBILMK dengan sukses. Kita lihat bahwa NIM M0197001 terdapat dalam tabel MHS, begitu pula pada kode matakuliah M01 yang ada pada tabel MK. Sehingga isi tabel AMBILMK menjadi NIM KODEMK NILAI M0197001 M01 3.0 Sekarang kita coba masukkan data berikut ini INSERT INTO ambilmk VALUES ('M0197006', 'M01', 3.0); perintah di atas akan menghasilkan error. Hal ini disebabkan NIM M0197006 tidak ada dalam tabel MHS.

Sekarang kita coba melakukan proses update. Kita akan mengupdate NIM M0197001 menjadi M0197010 yang ada dalam tabel MHS. UPDATE mhs SET nim = 'M0197010' WHERE nim = 'M0197001'; Hasil query di atas pada tabel MHS menjadi NIM NAMAMHS M0197010 Rosihan Ari Yuana M0197002 Dwi Amalia Fitriani M0197003 Faza Fauzan M0197004 Nada Hasanah M0197005 Muh. Ahsani Taqwim Sekarang Anda coba lihat isi tabel AMBILMK. Pastilah isinya menjadi berikut ini NIM KODEMK NILAI M0197010 M01 3.0 Selanjutnya kita coba update untuk KODEMK yang ada dalam tabel MK. Misalnya akan diubah kode mk M01 menjadi M09. UPDATE mk SET kodemk = 'M09' WHERE kodemk = 'M01'; Hasil query di atas pada tabel MK adalah KODEMK M09 M02 NAMAMK Database OOP bila kita lihat data di tabel AMBILMK, pastilah isinya menjadi NIM KODEMK NILAI M0197010 M09 3.0 Bagaimana dengan proses penghapusan? Kita cek aja sekarang kita coba hapus data mahasiswa bernim M0197010 dalam tabel MHS. DELETE FROM mhs WHERE nim = 'M0197010';

Hasil dari query SQL di atas pada tabel MHS adalah NIM NAMAMHS M0197002 Dwi Amalia Fitriani M0197003 Faza Fauzan M0197004 Nada Hasanah M0197005 Muh. Ahsani Taqwim Sekarang bila kita lihat isi tabel AMBILMK, pastilah menjadi kosong karena data pengambilan matakuliah terkait dengan mahasiswa NIM M0197010 ini ikut terhapus.

Trigger MySQL Trigger adalah prosedur tersimpan pada Server DBMS yang secara otomatis dijalankan apabila data di dalam tabel berubah karena eksekusi perintah SQL (INSERT, UPDATE atau DELETE). Beberapa hal yang dapat dilakukan dengan Trigger adalah Mengupdate tabel-tabel lain jika ada perubahan (Insert, update atau delete) pada tabel yang sedang aktif. Untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis akan menyimpan ke tabel log. Untuk melakukan validasi dan verifikasi data sebelum data tersebut disimpan. Berikut adalah cara membuat Trigger database: CREATE TRIGGER name [BEFORE AFTER] [INSERT UPDATE DELETE] ON tablename FOR EACH ROW statement Name adalah Nama trigger mengikuti peraturan penamaan variabel dalam MySQL [BEFORE AFTER] untuk menentukan kapan proses secara otomatis akan dieksekusi (sebelum atau sesudah proses). [INSERT UPDATE DELETE] untuk menentukan proses yang dijadikan trigger (pemicu) untuk menjalankan perintah-perintah di dalam triggers. Tablename adalah nama tabel dimana trigger berada. Statement adalah sekumpulan perintah atau query yang akan secara otomatis dijalankan jika proses yang didefinisikan sebelumnya aktif.

Contoh Penggunaan database Trigger: Pertama siapkan sebuah database dan tabel. create table ITProgrammer ( kode varchar(10) not null,nama varchar(25) not null, primary key (kode)) create table ITProgrammer2 ( kode varchar(10) not null,nama varchar(25) not null, primary key (kode)) create table trans ( kode varchar(10) not null, kodetrans varchar(10),jumlah double, primary key nkode (kode,kodetrans))

Kemudian buat trigger seperti dibawah ini create trigger auto_insert_itprogrammer2 before insert on ITProgrammer for each row begin insert into ITProgrammer2 (kode,nama) values (NEW.kode,NEW.nama); end$$ create trigger auto_update_itprogrammer2 before update on ITProgrammer for each row begin update ITProgrammer2 set nama=new.nama where kode=new.kode; end$$ create trigger auto_delete_itprogrammer2 before delete on ITProgrammer for each row begin delete from ITProgrammer2 where kode=old.kode; delete from trans where kode=old.kode; end$$ untuk trigger tersebut apabila terjadi perubahan pada tabel ITProgrammer maka akan secara otomatis tabel ITProgrammer2 akan terpengaruh(ikut berubah).