12 MySQL - Data Manipulation Language

logo mysql

 

 

Apa Itu Data Manipulation Language

Data Manipulation Language (DML) merupakan merupakan perintah-perintah yang memungkinkan pengguna melakukan akses dan manipulasi data sebagaimana yang telah diorganisasikan sebelumnya dalam model data yang tepat.

 

Data Manipulation Language digunakan untuk memanipulasi database yang telah didefinisikan dengan DDL. Berikut ini adalah perintah yang termasuk DML.

 

Baca Juga: Contoh Studi Kasus Penerapan DDL dan Relasi

 

1)    INSERT

Insert adalah salah satu perintah dalam SQL yang digunakan untuk menambah record atau menyisipkan nilai dalam sebuah tabel. Perintah insert yang terdapat dalam SQL adalah sebagai berikut.

a.    Insert Into

Insert into adalah perintah yang digunakan untuk menyisipkan data kedalam sebuah tabel. Dalam perintah insert into pemasukan data dapat dilakukan dengan penyebutan nama-nama kolom yang akan dimasukan data diikuti dengan data yang akan dimasukan. 

 

Namun jika sudah diketahui urutan kolom dengan data yang akan dimasukan, maka tidak perlu lagi untuk menyebutkan nama kolom tetapi data yang dimasukan harus berurutan sesuai dengan urutan kolomnya.


INSERT INTO anggota
(id_anggota,nama_anggota,alamat_anggota,no_telp,jenis_kelamin)
VALUES (001,'wayan','Jl. kelod','085738756690','1');


Kode Program Insert Into 1 merupakan perintah untuk memasukann data kedalam sebuah tabel dengan menyebutkan nama-nama kolom yang sudah ada dalam sebuah tabel. 


Penyebutan nama kolom dilakukan agar tidak terjadi kesalahan pemasukan data, karena pengguna tidak mengetahui urutan kolom yang ada dalam tabel.
 

Insert Into 1
Insert Into 1

 

Gambar Insert Into 1 merupakan tampilan dari Kode Program Insert Into 1 yang sudah dijalankan . dalam tabel sudah tampak data sudah terisi sesuai dengan urutannya.



INSERT INTO anggota
VALUES (002,'desi','Jl. kangin','085738889776','2');


Kode Progam Insert Into 2 merupakan perintah yang digunakan untuk memasukan nilai dalam kolom tabel, namun tanpa menyebutkan nama kolom yang akan dimasukan data, ini dilakukan karena pengguna sudah mengetahui urutan kolom yang ada dalam tabel yang dibuat.
 

Insert Into 2
Insert Into 2

Gambar Insert Into 2 merupakan tampilan dari Kode Program Insert Into 2 yang sudah dijalankan. tabel tersebut sudah memiliki data sama seperti Gambar Insert Into 1 dan urutannya sudah sesuai.



b.    Insert Select

Insert Select adalah perintah yang digunakan untuk memilih atau meng-copy data dari tabel lain dan memindahkannya ke tabel tujuan.


INSERT INTO
anggota (nama_anggota,alamat_anggota,no_telp) 
SELECT nama_anggota,alamat_anggota,no_telp FROM data;


Kode Program Insert Select merupakan perintah yang digunakan untuk meng-copy data nama_anggota, alamat_anggota, no_telp dari tabel data ke tabel anggtoa sesuai dengan kolom.
 

Insert Select
Insert Select

Gambar Insert Select merupakan tampilan dari Kode Program Insert Select yang sudah dijalankan. dalam tabel sudah tampak data sudah terisi sesuai dengan data yang di-copy dari tabel data namun beberapa kolom belum memiliki data karena data yang di-copy tidak berisikan semua data yang ada dalam kolom.



c.    Insert Ignore

Insert Ignore merupakan sintak yang digunakan untuk memasukan data kedalam sebuah tabel ketika data perimay key yang ada dalam data yang akan dimasukan tidak ada sebelumnya dalam tabel. Jika data sudah ada dalam tabel maka perintah Insert akan diabaikan dan data tidak akan dimasukan


INSERT IGNORE INTO anggota 
VALUES(3,'man','jl.menek','085738123456','1');


Kode Program Insert Ignore merupakan perintah yang digunakan untuk memasukan data ke dalam kolom pada tabel anggota jika data yang menjadi primary key yang akan dimasukan sebelumnya tidak tersedia pada tabel anggota
 

Insert Ignore
Insert Ignore


Gambar Insert Ignore merupakan tampilan dari Kode Program Insert Update yang sudah dijalankan. pada percobaan pertama insert dilakukan dengan mamasukan data yang primary key-nya sudah ada sebelumnya di tabel, dan hasilnya tidak ada data yang masuk ke tabel. 

 

Pada percobaan kedua data yang dimasukan memilki primary key yang berbeda walaupun data didalamnya masih sama dan hasilnya data yang dimasukan berhasil tersimpan.



d.    Insert Update

Insert Update merupakan perintah yang digunakan untuk melakukan perintah insert untuk memperbaharui data yang ada, jadi perintah ini digunakan untuk memperbaharui data yang sudah ada dalam tabel sebelumnnya.

INSERT INTO 
anggota (id_anggota,nama_anggota,no_telp,jenis_kelamin)
VALUES (002,'desi','085738889776','2')
ON DUPLICATE
KEY UPDATE alamat_anggota='jl.jepun';


Kode Program Insert Update merupakan perintah yang digunakan untuk memasukan data ke dalam kolom pada tabel anggota jika akan melakupan peng-update-an pada kolom alamat_anggota pada tabel anggota.
 

Insert Update
Insert Update

Gambar Insert Update merupakan tampilan dari Kode Program Insert Update yang sudah dijalankan.  Update akan dilakukan pada kolom alamat_anggota saat data yang di-input-kan sesuai dengan yang ada pada tabel. Pada tampilan tabel pertama alamat_anggota masih di Jl.kangin, sedangkan pada tabel kedua alamat_anggota sudah berubah menjadi Jl.jepun.


Baca Juga:


2)    UPDATE

Update merupakan perintah yang digunakan untuk melakukan pembaharuan data pada sebuah tabel yang datanya sudah ada. 


Poses ini dilakukan dikarenakan adanya pemasukan data yang keliru. Proses update tidak menambah data baru pada tabel namun mengganti atau memperbaiki data yang sudah ada. 

 

Perubahan pada update bersifat permanen jadi saat data sudah di-update maka tidak bisa di-cancel, jadi jika ingin mengembalikan data yang lama atau salah saat melakukan update harus memasukan data yang lama kembali, berikut ini adalah sintak update.

a.    Update Set

Update Set merupakan perintah dasar yang biasa digunakan untuk melakukan pembaharuan data, update set bisa dikatakan sebagai sintak dasar dari perintah update.


UPDATE anggota SET alamat_anggota='jl.biru';


Kode Program update Set merupakan perintah yang digunakan untuk memelakukan peng-update-an pada kolom alamat_anggtoa pada tabel anggota.
 

Update Set
Update Set

Gambar Update Set merupakan tampilan dari Kode Program Update Set yang sudah dijalankan. Update akan dilakukan pada kolom alamat_anggota, namu karena tidak ada pembatasan atau kondisi tertentu untuk melakukan update maka semua data yang ada dalam tabel akan ikut di-update.



b.    Update Set dengan Klausa Where

Update Set dengan Klausa Where merupakan perintah yang digunakan untuk melakukan pembaharuan data namun dengan kondisi tertentu. Ini dilakukan agar tidak adanya kekeliruan seperti Gambar 1.6 Update Set, dimana semua data yang ada diperbaharui.

UPDATE anggota SET alamat_anggota='jl.putih' 
WHERE id_anggota='2';

 

Kode Prorgam Update Set dengan Klausa Where merupakan perintah yang digunakan untuk melakukan pembaharuan data pada tabel anggota kolom alamat_anggota saat id_anggota=’2’.
 

Update Set dengan Klausa Where
Update Set dengan Klausa Where


Gambar Update Set dengan Klausa Where merupakan tampilan perintah Update yang sudah dijalankan. Update ini berfungsi untuk melakukan Update pada kondisi tertentu, pada Gambar Update Set dengan Klausa Where dilakukan pada kolom dengan id_anggtoa=’2’ yang di-update adalah alamat anggota dari jl. Biru menjadi Jl.putih.




3)    DELETE

Delete merupakan perintah yang digunakan untuk melakukan penghapusan data yang sebelumnya sudah ada, ini dikarenakan ada kesalahan dalampemasukan data sehingga data yang dimasukan tidak digunakan dan harus dihilangkan.  

 

Perubahan yang terjadi pada proses delete bersifat permanen jadi jika perintah sudah dijalankan maka tidak dapat mengembalikan data yang sudah dihapus.

a.    Delete Where

Delete Where adalah perintah yang digunakan untuk melakukan penghapusan data yang penghapusan datanya dilakukan hanya dalam kondisi tertentu.

DELETE FROM data WHERE id_data='0';

 

Kode Program Delete Where digunakan untuk meghapus data pada tabel data dimana jika id_data yang ada pada kolom id_data bernilai 0.
 

Delete Where
Delete Where

Gambar Delete Where merupakan hasil setelah kode program Kode Program delete where dijalankan, dimana pada gambar tersebut terlihat awalnya ada kesalahan pemasukan data sehingga kolom yang terisikan data hanya kolom jenis_kelamin, selanjutnya setelah sintak tersebut dijalankan maka baris yang kolomnya hanya berisikan jenis kelamin saja telah hilang.



b.    Delete Like dan Not Like

Delete Like dan Not Like merupakan sintak yang digunakan untuk menghapus data sesuai dengan ketentuan atau kondisi, sama seperti Where. 

 

Bedanya perintah delete ini bisa digunakan untuk mengambil beberapa bagian dari nilai kolom. Delete like digunakan untuk menghapus data yang berada  dalam kondisi, sedangkan delete not like digunakan untuk menghapus data yang bukan merupakan kondisi yang ditentukan.

DELETE FROM data WHERE
alamat_anggota LIKE '%i%';

 

Kode program Delete Like digunakan untuk menghapus data yang kolom alamat_anggotanya berisikan nilai ‘i’.
 

Delete  Like
Delete  Like

Gambar Delete Like merupakan hasil dari Kode program Delete Like  yang telah dijalankan, dimana pada gambar tersebut semua data yang ada pada kolom alamat_anggota yang memiliki huruf ‘i’ terhapus.

DELETE FROM data WHERE
alamat_anggota NOT LIKE '%i%';

 

Kode program Delete Not Like merupakan perintah yang digunakan untuk menghapus data dari tabel data yang datanya tidak berisikan huruf  ‘i’.
 

Delete Not Like
Delete Not Like
    
Gambar Delete Not Like merupakan hasil dari Kode Program Delete Not Like yang sudah dijalankan, dimana data yang terhapus adalah data yang tidak berisikan huruf ‘i’ didalamnya.




4)    SELECT

Select merupakan perintah yang digunakan untuk menampilkan data yang sudah di-input-kan sebelumnya pada tabel-tabel yang sudah dibuat. Perintah ini tidak bisa digunakan untuk merubah nilai yang sudah ada dalam tabel.

a.    Select From

Select From digunakan untuk menampilkan semua data yang ada dalam database yang sudah dibuat.

SELECT *FROM anggota;


Kode Program Select From merupakan perintah yang dapat digunakan untuk menampilkan semua data yang ada dalam tabel anggota.
 

Select From
Select From

Gambar Select From merupakan perintah Kode Program Select From yang sudah dijalankan. Data yang ditamplkan merupakan semua data yang berada di dalam tabel anggota.



b.    Select From untuk memilih kolom tertentu

Select From ini sama digunakan untuk menampilkan data yang ada dalam sebuah tabel, hanya saja data yang ditampilkan sesuai dengan keinginan kita, jadi data yang ditampilkan dibatasai.


SELECT nama_anggota, alamat_anggota, no_telp FROM anggota;


Kode Program Select From kolom tertentu merupakan perintah yang digunakan untuk menampilkan data nama_anggota, alamat_anggota, no_telp dari tabel anggta.
 

Select From kolom tertentu
Select From kolom tertentu

Gambar Select From kolom tertentu merupakan tampilan setelah Kode Program Select From kolom tertentu dijalankan, dimana data yang ditampilkan hanya data yang telah dipilih dalam Select.


Baca Juga: Data Definition Language (DDL) | Contoh dan Gambar


c.    Select From menampilkan kolom tertentu dengan nilai tertentu

Select From ini merupakan perintah yang digunakan untuk menampilkan data yang ada dalam sebuah kolom dengan batasa nilai tertentu dari kolom tertentu


SELECT nama_anggota, alamat_anggota FROM anggota 
WHERE jenis_kelamin=1;


Kode Program Select From menampilkan kolom dengan nilai tertentu digunakan untuk menampilkan kolom nama_anggota dan alamat_anggota dari tabel anggota saat jenis_kelamin = 1 atau laki-laki.
 

Select From menampilkan kolom dengan nilai tertentu
Select From menampilkan kolom dengan nilai tertentu

Gambar Select From menampilkan kolom dengan nilai tertentu merupakan tampilan setelah Kode Program  Select From menampilkan kolom dengan nilai tertentu tertentu dijalankan, dimana yang tampil ada data nama_anggota dan alamat_anggota yang memiliki jenis kelamin=1 atau laki-laki.

 

 

d.    Select Order By

Select Order By digunakan untuk menampilkan data secara terurut sesuai dengan kolom yang dipilih sebagai acuan pengurutan.

SELECT *FROM anggota WHERE jenis_kelamin=1 ORDER BY no_telp;

 

Kode Program Select Order By merupakan perintah yang digunakan untuk menampilkan data secara terurut, data yang ditampilkan adalah data yang memilki jenis kelamin laki-laki yang diurutkan dengan nomor telepon.
 

Select Order By
Select Order By


Gambar Select Order By merupakan tampilan Kode Program Select Order By yang sudah dijalankan, sehinggan menampilkan data yang terurut sesuai dengan urutan nomor telepon dari nilai terkecil ke terbesar.



e.    Select Ascending dan Descending

Select Ascending dan Descending digunakan untuk melakukan pengurutan, Ascending digunakan untuk mengurutkan data dari yang nilainya terkecil kenilai terbesar, sedangkan Descending digunakan untuk mengurutkan data dari nilai yang terbesar ke nilai terkecil.


SELECT *FROM anggota ORDER BY no_telp ASC;


Kode Program Select Ascending merupakan perintah yang digunakan untuk melakukan pengurutan data dari nilai terkecil ke nilai terbesar dengan kolom nomor_telepon.
 

Select Ascending
Select Ascending


Gambar Select Ascending merupakan tampilan Kode Program Select Ascending yang sudah dijalankan, sehingga menampilkan data yang terurut sesuai dengan urutan nomor telepon dari nilai yang terkecil ke nilai yang terbesar

 

SELECT *FROM anggota ORDER BY no_telp DESC;

 

 Kode Program Select Descending merupakan perintah yang digunakan untuk melakukan pengurutan data dari nilai terbesar ke nilai terkecil dengan kolom nomor_telepon.
 

Select Descending
Select Descending

Gambar Select Descending merupakan tampilan Kode Program Select Descending yang sudah dijalankan, sehingga menampilkan data yang terurut sesuai dengan urutan nomor telepon dari nilai yang terbesar ke nilai yang terkecil.




11 MySQL - Contoh Studi Kasus Penerapan DDL dan Relasi

logo mysql

 

Setelah kita belajar mengenai Tipe data, DDL dan bagaimana sintaknya, juga bagaimana relasi yang ada dalam sebuah database relational. Kali ini kita akan mencoba untuk membuat sebuah studi kasus sederhana dengan menggunakan dua buah tabel.


Pertama kita akan membuat tabel tabel di MySQL dengan menggunakan sintak yang terdapat dalam DDL. 


Baca Juga: Refrential Integrity Constraint


1)    Create Database
Create database adalah perintah yang digunakan untuk membuat database  baru pada MySQL

CREATE DATABASE coba;

 

Kode Program Create Database adalah sintak untuk melakukan pembuatan database dengan nama coba.


Create Database
Create Database
 
Gambar Create Database Setelah Dijalankan merupakan tampilan ketika kode program Create Database yang sudah berhasil dijalankan di MySQL.

 

 

2)    Membuat Tabel Penumpang
Membuat tabel penumpang dalamMySQL dapat mengunakan sintak CREATE TABLE nama_tabel (nama_variabel tipe_data(panjang_data), ……). 

 

CREATE TABLE penumpang(
id_penumpang INT NOT NULL PRIMARY KEY,
nama_penumpang VARCHAR(25),
alamat_penumpang VARCHAR(35));

 

Kode Program Create Table Penumpang adalah sintak yang dapat digunakan untuk membuat tabel baru beserta dengan atributnya dengan nama Penumpang.


Create Table Penumpang
Create Table Penumpang
 

Gambar Create Table Penumpang Setelah Dijalankan merupakan tampilan setelah Kode Program Create Table Penumpang dijalanakan pada MySQL.

 

 

3)    Membuat Tabel Transaksi
Membuat tabel transaksi dalam MySQL dapat mengunakan sintak CREATE TABLE nama_tabel (nama_variabel tipe_data(panjang_data), …….).
 

CREATE TABLE transaksi(
id_transaksi INT NOT NULL PRIMARY KEY,
tgl_transaksi DATETIME,
total_harga DECIMAL(18,2));


Kode Program Create Table Transaksi merupakan sintak yang dapat digunkan untuk melakukan pembuatan tabel dengan nama Transaksi berserta atributnya.


Create Table Transaksi
Create Table Transaksi

 
Gambar Create Table Transaksi Setelah Dijalankan merupakan tampilan ketika kode program Create Table Transaksi sudah berhasil dijalankan di MySQL.

 

Baca Juga: Jenis - jenis Key Atau Kunci dalam Relational Database 

 

4)    Membuat Tabel Pegawai

Membuat Tabel pegawai dalam MySQL dapat mengunakan sintak CREATE TABLE nama_tabel (nama_variabel tipe_data(panjang_data), …….).

CREATE TABLE pegawai(
id_pegawai INT NOT NULL PRIMARY KEY,
nama_pegawai VARCHAR(25),
alamat_pegawai VARCHAR(35),
cp bigint);

 
Kode Program Create Table Pegawai merupakan sintak yang dapat digunkan untuk melakukan pembuatan tabel dengan nama pegawai berserta atributnya.


Create Table Pegawai
Create Table Pegawai

Gambar Create Table Pegawai Setelah Dijalankan merupakan tampilan ketika kode program Create Table Pegawai sudah berhasil dijalankan di MySQL.

 

 

5)    Alter Add Kolom
Perintah Alter Add Kolom digunakan untuk menambahkan kolom pada sebuah tabel yang sudah jadi


ALTER TABLE transaksi ADD
(id_pegawai INT, id_penumpang INT);


Kode program Alter Table transaksi merupakan sintak yang berfungsi untuk menambahkan kolom pada tabel transaksi, kolom yang ditambahkan yaitu id_penumpang dan id_pegawai


Alter Table add kolom
Alter Table add kolom


Gambar Alter Table transaksi Setelah Dijalankan merupakan tampilan ketika kode program Alter Table transaksi sudah berhasil dijalankan di MySQL.

 

 

6)    Alter Add Foreign key
Perintah Alter add foreign key digunakan untuk menambahkan kunci asing atau foreign key pada sebuah tabel.

ALTER TABLE transaksi ADD FOREIGN KEY (id_penumpang) REFERENCES penumpang(id_penumpang);

 

Kode program Alter Add Foreign Key merupakan sintak yang dapat digunakan untuk menambahkan foreign key pada tabel transaksi.


Alter Add Foreign Key
Alter Add Foreign Key

Gambar Alter Add Foreign Key Setelah Dijalankan merupakan tampilan ketika kode program Alter Add Foreign Key sudah berhasil dijalankan di MySQL.

 

 

7)    Alter Modify
Perintah Alter modify digunakan untuk memodifikasi atau mengubah suatu atribut dalam sebuah tabel.

ALTER TABLE transaksi MODIFY 
total_harga DECIMAL(10,2);


Kode program Alter Modify merupakan sintak yang dapat digunakan untuk melakukan perubahan terhadap atribut total_harga tepatnya pada penggunaan panjang data.
 

Alter modify
Alter Modify

Gambar Alter modify Setelah Dijalankan merupakan tampilan ketika kode program Alter Modify sudah berhasil dijalankan di MySQL.

 

 

8)    Alter Rename
Perintah Alter rename digunkan untuk megubah nama tabel yang sudah ada menjadi nama tabel baru yang diinginkan pengguna.

ALTER TABLE transaksi RENAME jual_beli;

 

Kode Program Alter Rename merupakan sintka yang dapat digunakn untuk mengubah nama tabel transakasi menjadi jual_beli.
 

Alter Rename
Alter Rename

Gambar Alter Rename Setelah Dijalankan merupakan tampilan setelah Kode Program Alter Rename dijalanakan pada MySQL.

 

 

9)    Drop Table
Perintah Drop table digunakan untuk meghapus tabelyang telah dibuat sebelummnya dalam database


DROP TABLE pegawai;


Kode Program Drop Table merupakan sintak yang digunkana untuk menghapus tabel pegawai.
 

Drop Table
Drop Table


Gambar Drop Table Setelah Dijalankan merupakan tampilan ketika kode program Drop Table sudah berhasil dijalankan di MySQL.


 

10)    Drop Database
Perintah Drop Database untuk menghapus database yang telah ada atau telah dibut sebelumnya dari sistem.

DROP DATABASE percobaan;

 

Kode Program Drop Database merupakan kode program yang digunakan untuk menghapus database percobaan dari sistem

 

Drop Database
Drop Database
 

Gambar Drop Database Setelah Dijalankan merupakan tampilan setelah Kode Program dijalanakan pada MySQL.



10 MySQL - Refrential Integrity Constraint

logo mysql


Salah satu jenis Integrity Constraint dalam yang  ada dalam relational database adalah Refrential Integrity Constraint 


Refrential Integrity Constraint merupakan aturan yang digunakan untuk menjaga kualitas dari informasi yang disimpan di database. Refrential  Integrity Constraint akan membantu kita untuk memastikan untuk tidak terjadinya kerusakan atau hilangnya integritas data saat proses Insert, Update dan Delete


Baca Juga:  Tipe-tipe Tabel yang Ada di MySQL


Misalnya Misalnya ketika suatu tabel berelasi dengan tabel data lain dan kita menghapus salah satu filed datanya namun itu tidak bisa dilakukan karena statusnya restrict (nanti akan dijelaskan dibawah). Tujuannya agar data yang ada di kedua tabel tersebut terjaga integritasnya jadi datanya tidak rusak di kemudian hari karen kesalahan relasi


Untuk menggunakan fitur Referential Integrity tipe dari store engine tabel yang digunakan adalah yang support transaksional, salah satu contoh di MySQL yang support transaksional adalah store engine InnoDB.



Refrential Integrity Constraint

1)    Restrict 

Restrict dalam bahasa indonesia adalah membatasi, maksudnya adalah data pada tabel induk tidak bisa di-delete atau di-update bila data tersebut memiliki relasi pada tabel lainnya.

CREATE TABLE prestasi(
kode char(6) NOT NULL,
kode_karyawan char(6) NOT NULL,
prestasi varchar(255) NOT NULL,
keterangan text,
PRIMARY KEY (kode),
FOREIGN KEY (kode_karyawan) REFERENCES karyawan (kode) 
ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE=InnoDB;


Kode Program Sintak Restrict adalah sintak yang digunkaan untuk menambahkan refrential integrity constraint dengan tipe restrict. Setelah dijalankan sintak pada Kode Program sintak restrict maka tampilannya akan seperti pada Gambar sintak restrict setelah dijalankan.


Gambar  Sintak Restrict Setelah Dijalankan
Gambar  Sintak Restrict Setelah Dijalankan


Gambar Sintak Restrict Setelah Dijalankan merupakan tampilan kode program 3.1 Sintak Restrict yang sudah berhasil dijalankan.

 

2)    Cascade

Cascade dalam bahasa Indonesia adalah bertingkat, maksudya adalah bila data pada tabel induk di-delete atau di-update maka secara otomatis data pada tabel lain yang memiliki relasi akan di-delete atau di-update juga.

CREATE TABLE prestasi(
kode char(6) NOT NULL,
kode_karyawan char(6) NOT NULL,
prestasi varchar(255) NOT NULL,
keterangan text,
PRIMARY KEY (kode),
FOREIGN KEY (kode_karyawan) REFERENCES karyawan (kode) 
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;

 

Kode Program Sintak Cascade adalah sintak yang dapat digunakan untuk menambahkan refrential integrity constraint cascade. 

 

Gambar Sintak Cascade
Tambahkan teksGambar Sintak Cascade


Gambar Sintak Cascade merupakan tampilan dari Kode Program Sintak Cascade yang sudah berhasil dijalankan pada CMD.


3)    No Action

No Action berarti mengabaikan referensi, artinya diperbolehkan untuk memperbarui, menghapus ataupun menambahkan data pada tabel, tetapi tidak akan berpengaruh pada data yang berelasi dengan tabel tersebut.
 

CREATE TABLE prestasi(
kode CHAR(6) NOT NULL,
id_p INT NOT NULL,
prestasi VARCHAR(255) NOT NULL,
keterangan TEXT,
PRIMARY KEY (kode),
FOREIGN KEY (id_p) REFERENCES pegawai(id_p) 
ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=INNODB;


Kode Program No Action merupakan sintak yang digunakan untuk menambahkan refrential integrity constraint cascade.

 

Gambar No Action
Gambar No Action


Gambar No Action merupakan tampilan dari Kode Program No Action yang telah berhasil dijalankan.
 

 

4)    Set Null

Set null adalah menghapus atau meng-update baris data dalam tabel induk dan men-set kolom atau beberapa kolom dalam tabel anak menjadi null. hal ini akan valid jika kolom foreign key tidak not null. jika akan menggunakan set null  bisa digunakan sintak On Delete Set Null dan On Update Set Null.

CREATE TABLE prestasi(
kode char(6) NOT NULL,
kode_karyawan char(6),
prestasi varchar(255) NOT NULL,
keterangan text,
PRIMARY KEY (kode),
FOREIGN KEY (kode_karyawan) REFERENCES karyawan (kode) 
ON DELETE SET NULL
) ENGINE=InnoDB;

 

Kode Program Sintak Set Null merupakan sintak yang digunakan untuk menambahkan refrential integrity constraint cascade dengan tipe set null.


Gambar Sintak Set Null Setelah Dijalankan
Gambar Sintak Set Null



Gambar Sintak Set Null Setelah Dijalankan merupakan tampilan Kode Program Sintak Set Null yang berhasil dijalankan dalam CMD.


 

5)    Set Default

Perintah Set Default ini dibutuhkan oleh parser, tapi InnoDB tidak menerima definisi tabel berupa On Delete Set Default atau On Delete Set Default.
 

CREATE TABLE prestasi( kode char(6) NOT NULL,
kode_karyawan char(6),
prestasi varchar(255) NOT NULL,
keterangan text,
PRIMARY KEY (kode), FOREIGN KEY (kode_karyawan) REFERENCES karyawan (kode) ON DELETE SET DEFAULT
) ENGINE=MyISAM;


Kode Program Sintak Set Default merupakan sintak yang digunakan untuk menambahkan refrential integrity constraint cascade dengan tipe Set Default.

 

Gambar Sintak Set Default
Gambar Sintak Set Default


Gambar Sintak Set Default merupakan tampilan Kode Program Sintak Set Default Setelah Dijalanakan.


Baca Juga: Data Definition Language (DDL) | Contoh dan Gambar



Cara Mengubah Tipe Tabel dan Refrential Integrity Constraint Didalam MySQL

Untuk mengubah Mengubah Tipe Tabel dan Refrential Integrity Constraint dalam MYSQL dapa digunakn sintak alter.

1)    Mengganti Tipe Tabel

Untuk merubah tipe tabel yang sudah digunakan dalam database MYSQL dapat menggunakan sintak Alter.

ALTER TABLE karyawan ENGINE=MyISAM;


Kode Program Sintak Alter Tipe Tabel merupakan sintak Alter yang dpaat digunakan untuk merubah tipe tabel yang sedang aktif atau digunakan dalam tabel. 


Gambar Sintak Alter Tipe Tabel
Gambar Sintak Alter Tipe Tabel
 
Sintak tersebut jikan dijalankan maka tipe tabel yang digunakan dalam tabel karyawan akan berganti menjadi MyISAM dari tipe tabel default InnoDB seperti Gambar Sintak Alter Tipe Tabel.



2)    Refrential Integrity Constraint

Refrential Integrity Constraint dapat diganti dengan sintak Alter yaitu dengan menghapus foreign key yang sudah ada lalu menambahkan denganyang baru.

ALTER TABLE transaksi
DROP FOREIGN KEY transaksi_ibfk_1;


Kode program Sintak Alter Foreign Key digunkan untuk menghapus foreign key yang sudah terbentuk sebelumnya.


ALTER TABLE transaksi ADD FOREIGN KEY(id_penumpang) 
REFERENCES penumpang(id_penumpang)
ON UPDATE RESTRICT ON DELETE RESTRICT;


Kode program Alter Table Transaksi Add Foreign Key merupakan sintak yang digunkan untuk menambahkan foreign key baru pad tabel transaksi dengan tipe Refrential Integrity Constraint Restrict.

 

Gambar Sintak Refrential Integrity Constraint
Gambar Sintak Refrential Integrity Constraint


Gambar Sintak Setelah Dijalankan mrupakan tampilan sintak setelah dijalankan, dan membentuk foreign key baru di tabel transaksi.

 

 

Jam Berapa Sebaiknya Memposting Artikel Blog


 

Blog masih menjadi solusi yang diminati bagi orang yang ingin mencari jawaban atas masalah atau hanya ingin membaca dan mencari informasi. Walaupun namanya kini tidak sementereng media sosial seperti Facebook dan Instagram. Namun blog masih menjadi pilihan bagi banyak orang.


Lalu pernahkah kalian berpikir, bagaimana waktu terbaiknya sih saya memposting di blog, jam berapa sih seharusnya memposting di blog???,,


Pertama yang harus kita ketahui blog berbeda sekali dengan media sosial. media social juga sebenarnya bisa dikatakan sebagai sebuah blog tapi bisa disebut dengan nama micro blog, karena konten yang diposting singkat, ringan dan dapat dibaca dengan waktu yang singkat.


Berbeda dengan blog, rata-rata artikel di blog memiliki tulisan yang panjang. Kebanyakan diatasa 300 atau 500 kata yang tentunya akan memerlukan waktu lebih lama untuk mendapatkan poin dari artikel. Selain itu di blog kita juga mendapatkan informasi yang lebih mendetail karena semua isinya dapat diulas dengan lebih mendalam dibandingkan pada media sosial yang menyediakan iformasi secara singkat saja.


Berdasarkan pengalaman saya, kalau blog sudah besar, tidak akan terasa pengaruh jam berapa kita melakukan upload artikel karena pengunjung pasti akan datang ke blog kita karena blog kita ada di ranking atas pada search engine.


Beberapa blog luar dan dalam negeri yang saya baca mengulas, jika waktu yang paling baik itu pada senin jam 9 pagi dan pada sabtu pada 11 siang. Namun posting seperti ini tentunya akan cukup merugikan apalagi blog kita blog berita yang kontennya harus segera dipulikasikan


Berdasarkan pengalaman saya selama memposting artikel di blog, saya tidak menemukan waktu khusus untuk memposting di blog. Tidak ada patokan jam berapa kita harus upload karena memang blog itu berbeda dengan media sosial.


Media sosial itu terkurung dalam ruang media sosial mereka sendiri jadi konten yang ada disana biasanya tergantung dari yang orang-orang minati. Biasanya mereka memfollow apa maka artikel atau konten yang akan muncul maka sesuai dengan apa yang mereka follow.


Beda dengan blog yang kita mencari konten tentang "A" di search engine maka yang muncul di hasil pencarian bisa darimana saja. Tidak ada batasan artikelnya disana apakah itu blog yang kita ikuti atau bukan, selama konten tersebut relevan dengan keyword yang kita cari maka akan ditampilkan.


Jadi, selama konten itu sudah selesai, sebaiknya diupload dengan segera. Namun disarankan untuk mengunggah di waktu orang tidak sedang tidur dan malam hari agar artikel bisa lebih mudah terindex karen rata-rata tidur pada jam 12.00 sampai 06.00 pagi, jadi usahakan unggah pada jam segitu.



Ladangtekno

9 MySQL - Integrity Constraint pada Database

logo mysql 

 

Salah satu keunggulan dari sebuah relational database adalah  adanya integritas data antara entitas, yang mana ini hal ini akan dapat menjaga kualitas data menjadi lebih baik karena data tidak dapat begitu saja dihapus secara sembarangan.


Integrity Constraint merupakan aturan yang digunakan untuk menjaga kualitas informasi yang ada dalam database. Integrity Constraint akan memastikan ketika terjadi proses Insert, Update dan Delete pada tabel proses tersebut tidak akan membuat integritas data menjadi rusak sehingga data tetap akurat untuk digunakan dan juga mencegah terjadinya kerusakan dalam database


Baca Juga: Data Definition Language (DDL)


Berdasarkan buku Connoly (2010), Integrity Constraint dapat dibagi menjadi 5 bagian yaitu: Required Data, Domain Constraint, Entity integrity Constraints, Referential Integrity Constraints, dan General Constraint



Jenis Integrity Constraint

 

Required Data

Artinya ketika kita membuat database, ada data yang harus diisi dan tidak boleh bernilai null. Data tersebut biasanya merupakan utama yang bersifat penting dan tentunya tergantung kebutuhan dari sistem apa yang akan dibuat. Data seperti transaksi sudah pasti kita harus mencatat tanggal transaksinya, jumlah transaksinya, jenis barangnya dan user yang melakukan transaksi. Tentunya data seperti yang sudah disebutkan diatas tidak boleh dikosongkan

 


Domain Constraints

Merupakan nilai yang diijinkan untuk digunakan oleh sebuah atau banyak atribut, biasanya atribut ini saling berkaitan antara satu dengan yang lainnya, jadi masih saling terhubung. Misalnya dalam menuliskan kode sebuah produk, biasanya untuk produk dalam perusahaan kodenya memiliki arti misalnya huruf awal (K) untuk kode gudang, dua angka selanjutnya (10) untuk nomor rak dan dua angka terakhir untuk nomor produk (11) jadinya K1011.


Baca Juga: Jenis - jenis Key Atau Kunci dalam Relational Database



Entity integrity Constraints

Aturan ini ditunjukan untuk pembuatan pada sebuah Primary Key pada sebuah tabel. Tentu saja karena Primary Key menjadi sebuah identitas atau identifier dari sebuah tabel, Primary Key yang dibuat di sebuah tabel tidak boleh dan dan tentunya tidal boleh bernilai Null.


Primary Key harus menjadi nilai yang unik dari sebuah tabel dan tidak ada item di tabel yang sama dapat memiliki primary key yang sama, karena jika ada memiliki primary key sama maka akan menyulitkan dalam proses terjadinya transaksi


 

Referential Integrity Constraints

Aturan Referential Integrity Ditunjukan untuk penggunaan Foreign Key. Foreign Key ketika harus digunakan pada sebuah tabel makan nilai yang akan digunakan untuk mengisi Foreign Key harus sesuai dengan Candidate Key dari tabel yang akan menjadi acuan untuk relasi.


Biasanya yang akan menjadi foreign key di dalam sebuah tabel adalah primary key, maka dari itu nilai dari foreign key ketika menggunakan primary key sebagai foreign key diharuskan untuk tidak bernilai null atau kosong.



General Constraints

Merupakan aturan tambahan yang dibuat khusus oleh pengguna atau admin database sesuai dengan spesifikasi yang dibutuhkan oleh developer maupun perusahaan. Tidak ada ketentuan khusus mengenai aturan ini, jadi aturan General Constraints memang custom berdasarkan keinginan developer dan klien yang akan menggunakan database


Misalnya, pembatasan jumlah pemesanan produk atau pembatasan jumlah produk maksimal yang ada di gudang dalam perusahaan, jadi admin basis data nanti bekerjasama dengan developer aplikasi untuk menyesuaikan desian database agar dapat berjalan sesuai dengan aturan perusahaan atau keinginan dari klien



8 Mysql - Tipe-tipe Tabel yang Ada di MySQL

logo mysql

Sebelumnya saya sudah membahas mengenia Data Definition Language (DDL), sekarang saya akan membahas mengenai tipe-tipe tabel yang ada di MySQL

 

Setiap tabel yang dibuat di MySQL dapat dapat didefinisikan tipenya. MySQL mendukung beberapa tipe tabel, tergantung konfigurasi saat proses instalasi MySQL. 

 

MySQL memiliki 3 tipe data utama, yaitu MyISAM, InnoDB dan HEAP. Tipe akan dibuat sesuai dengan konfigurasi jika tidak menybutkan atau mendeklarasikan tipe tabel saat penbuatan tabel. 



Tipe-tipe Tabel di MySQL



1)    MyISAM

Tipe tabel MyISAM merupakan tipe tabel yang sederhana, stabil dan mudah digunakan. Tipe tabel ini baik digunakan Jika menyimpan data sederhana. 


Kelebihan utama MyISAM adalah kecepatan dan kestabilannya. Tipe tabel MyISAM ada tiga yaitu MyISAM static, MyISAM dymanic dan MyISAM Compressed.

a.    MyISAM static

MyISAM static digunakan ketika semua kolom dalam tabel didefinisikan dengan ukuran yang pasti, Artinya tidak ada kolom yang memiliki tipe seperti Varchar, Text dan Blob. Karena sifatnya yang pasti, maka jenis ini akan lebih cepat, aman dan stabil.


Baca Juga: Pengertian dan Tipe Data yang ada di MySQL


b.    MyISAM dymanic

MyISAM dymanic digunakan ketika terdapat kolom dengan tipe yang dinamis, seperti tipe kolom Varchar. Keuntungan utama dari jenis ini adalah ukuran yang dinamis. Jadi sifatnya lebih efektif karena ukuran data menyesuaikan isi dari masing-masing kolom.


c.    MyISAM Compressed

Kedua jenis MyISAM, static dan dynamic dapat dikompresi menjadi satu jenis yaitu MyISAM Compressed dengan perintah myisamchk. 


Tentunya hasilnya lebih kecil dari segi ukuran. Tabel yang terkompresi tidak dapat dikenakan operasi seperti Insert, Update dan Delete. 



Berikut dibawah ini adalah contoh sintak untuk menyisipkan tipe tabel MyISAM pada tabel yang akan dibuat.

CREATE TABLE pelanggan(
Id_pelanggan INT,
Nama_pelanggan VARCHAR(25),
Alamat_pelanggan VARCHAR(30))
ENGINE=MyISAM;


Kode Program Sintak tipe tabel MyISAM merupakan sintak yang digunakan untuk men-setting tipe tabel menjadi MyISAM. 

 

Sintak Tipe Tabel MyISAM
 

Gambar Sintak Tipe Tabel MyISAM merupakan tampilan dari Kode Program Sintak tipe tabel MyISAM ysng sudah dijalankan pada CMD.




2)    InnoDB

Tipe tabel InnoDB merupakan tipe tabel MySQL yang mendukung proses transaksi. Tipe ini memiliki beberapa keunggulan, antara lain:
a.    Mendukung transaksi antar tabel.
b.    Mendukung row-level-locking.
c.    Mendukung Foreign-Key Constraints.
d.    Crash recovery.

Table dengan tipe InnoDB dapat dibuat dengan menggunakan sintak CREATE nama_tabel(nama_atribut tipe_data) ENGINE = Inno DB.


CREATE TABLE pelanggan(
Id_pelanggan INT,
Nama_pelanggan VARCHAR(25),
Alamat_pelanggan VARCHAR(30))
ENGINE=InnoDB;


Kode Program Sintak Tipe Tabel InnoDB merupakan sintak yang digunakan untuk membuat sebuah tabel dengan tipe tabel InnoDB. 

 

Sintak Tipe Tabel InnoDB Setelah Dijankan
Sintak Tipe Tabel InnoDB Setelah Dijankan

Gambar Sintak Tipe Tabel InnoDB Setelah Dijankan merupakan tampilan run yang berhasil.



 

3)    HEAP

Tabel dengan tipe HEAP tidak menyimpan datanya di hardisk, tetapi menyimpan di RAM (memori). Tipe tabel ini biasanya digunakan sebagai tabel sementara (temporary). Tabel secara otomatis akan dihapus (hilang) dari MySQL saat koneksi ke server diputus atau server MySQL dimatikan.

CREATE TABLE pelanggan(
Id_pelanggan INT,
Nama_pelanggan VARCHAR(25),
Alamat_pelanggan VARCHAR(30))
ENGINE=HEAP;


Kode Program 2.3 Sintak Tipe Tabel HEAP adalah sintak yang dapat digunakan untuk mengganti tipe tabel menjadi HEAP. Setelah sintak tersebut dijalankan pada MySQL makan tampilannya akan seperti gambar dibawah ini.

Sintak Tipe Tabel HEAP Setelah Dijalankan
Sintak Tipe Tabel HEAP Setelah Dijalankan

Gambar Sintak Tipe Tabel HEAP Setelah Dijalankan merupakan tampilan darin sintak yang digunakan untuk men-setting engine tabel menjadi HEAP.


Baca Juga: Jenis - jenis Key atau Kunci dalam Relational Database 

 

 

4)    BDB

Tipe tabel ini mirip tipe tabel InnoDB, namun penggunaannya belum maksimal, sehingga jarang digunakan.


 

 

5)    Archieve

Tipe tabel ini tersedia sejak MySQL versi 4.1. Tipe tabel ini digunakan untuk menyimpan tabel yang terkompresi, dimana biasanya digunakan dalam proses backup.

 

 

 

6)    CSV

Tipe tabel ini digunakan untuk menyimpan data dalam bentuk file text yang dibatasi dengan koma (delimiter). Tipe ini tersedia sejak MySQL versi 4.1.