SQL
Structured Query Language
Merupakan bahasa yang digunakan untuk mengirim perintah ke
DBMS
SQL adalah bahasa yang mudah karena hanya berisi instruksi
untuk menyimpan, mengubah, menghapus atau mengambil data
melalui DBMS
Secara garis besar, semua perintah SQL di Relational Database
itu hampir sama, namun biasanya tiap DBMS ada improvement
yang membedakan hal-hal kecil dalam perintah SQL, namun
secara garis besar perintahnya tetap sama
Kenapa harus belajar SQL?
Kunjungi menti.com ya
Kenapa harus belajar SQL?
Mudah dipelajari
Terstandardisasi
Melatih kemampuan analisis
Dapat digunakan untuk membantu
dalam pengolahan data yang besar
TIPE DATA
TIPE DATA NUMBER
Tipe Data Number
Secara garis besar, tipe data number di MySQL
ada dua jenis;
Integer, atau tipe number bilangan bulat
Floating Point, atau tipe data number pecahan
Tipe Data Integer
Tipe Data Floating Point
DECIMAL
Selain Integer dan Floating Point, di MySQL terdapat tipe
data DECIMAL
Ini tipe data number khusus yang bisa ditentukan jumlah
precision dan scale nya
Kolom
Tabel
Pada suatu table bisa terdapat 3 jenis key
1) Primary Key = sebuah atau beberapa kolom yang dikelompokkan
dan secara unik mengidentifikasi row di dalam table. Tidak boleh
bernilai Null
2) Unique Key = kolom yang digunakan sebagai unik di dalam table .
Unique key bisa memiliki nilai NULL.
3) Foreign Key = kolom dalam sebuah table , yang dapat dipakai
dalam membuat relasi antara satu table dengan table lainnya.
Foreign key bukanlah primary key table tersebut, namun menjadi
primary key bagi table lainnya
Tabel
Relasi Tabel
Table WP
NPWP NAMA_WP KPP_ADMINISTRASI
123456789001000 PANTANG MUNDUR 051 Foreign Key
987654321302001 MAJU SENDIRI 605
012345678051000 MILIK BANGSA 012
876543210108002 KARYA BERSAMA 302
Tabel KPP
Primary Key
KPP NAMAKPP ALAMAT
001 KPP PRATAMA JAKARTA MATRAMAN JAKARTA
003 KPP PRATAMA JAKARTA PULOGADUNG JAKARTA
302 KPP PRATAMA BATURAJA BATURAJA
051 KPP WAJIB PAJAK BESAR TIGA JAKARTA
108 KPP PRATAMA ACEH BESAR BANDA ACEH
Primary Key
Tabel
Contoh Perintah Create Tabel di MySQL :
Template Standar Perintah
Create Tabel [Nama Tabel] (Nama Kolom Tipe Kolom)
Create table masterfile_lokakarya (
npwp varchar(15) not null,
kppadm varchar(3),
nama_wp varchar(30),
alamat_wp varchar(50),
Primary key (npwp)
);
Perintah create table juga dapat digunakan diikuti dengan perintah select dari tabel
lain, yang artinya, tabel baru yang akan dibentuk akan mengambil data dari tabel lain
yang sudah tersedia.
Tabel, lanjutan...
Apakah kita hanya bisa meng-create tabel di
MySQL ? Bisakah kita menghapus tabel?
Bisakah kita merubah kolom?
Alter
Drop
Rename
Modify
Drop dan Truncate
Tabel, lanjutan...
Alter
ADD – Contoh = “Alter Table masterfile_lokakarya add column
tgl_daftar timestamp;”
ADD- Setelah kolom tertentu = “Alter Table masterfile_lokakarya
add column tgl_lahir timestamp after nama_wp;”
ADD – Multiple Columns = “Alter Table masterfile_lokakarya add
column (kd_klu char(5), id_jns_wp tinyint);”
ADD – Multiple Columns (After)= “Alter Table
masterfile_lokakarya add column kd_klu_after char(5) after
kd_klu, add column id_jns_wp_after tinyint after id_jns_wp;”
Tabel, lanjutan...
Drop
Single Column Drop = Alter table masterfile_lokakarya drop
kd_klu_after;
Multiple Columns Drop = Alter table masterfile_lokakarya drop
kolom_awal_baru, drop id_jns_wp_after;
Rename
Rename column = Alter table masterfile_lokakarya change
column npwp npwp15 varchar(15) ;
Renama table = Alter table masterfile_lokakarya rename to
mf_lokakarya;
Tabel, lanjutan...
Modify :
Single Column = Alter table mf_lokakarya modify npwp15 char(15)
null;
Multiple Columns = Alter table mf_lokakarya modify npwp15
varchar(15) not null, modify kppadm varchar(3) null;
Tabel, lanjutan...
Drop :
Secara sederhana, peirnta drop digunakan untuk menghapus sebuah tabel
secara keseluruhan.
Contoh = Drop Table Pegawai ;
Truncate : / Delete
Perintah truncate digunakan untuk menghapus seluruh record/row/tupple di
dalam sebuah tabel dengan tetap mempertahankan struktur dari tabel
tersebut:
Contoh = Truncate table pegawai :
Delete from pegawai;
VIEW
Secara sederhana dapat diartikan sebagai “Stored Query”
Untuk membentuk View perintah yang digunakan adalah
“Create View”
Untuk mengakses view, digunakan perintah “Select”
View dapat membantu dalam menyederhanakan query
yang berulang dan kompleks
View juga membantu dalam menjaga konsistensi logika
bisnis
VIEW
Contoh Perintah :
create view v_mpn2017_kontribusibesar as
create view sakila.payment_kontribusibesar as select
* from sakila.payment where amount > 5
INDEX
Index membantu dalam mempercepat pencarian row dengan
nilai yang spesifik
Tanpa adanya Index, DBMS harus men-scan keseluruhan
tabel untuk mendapatkan row yang diinginkan
Contoh Perintah :
create index index_payment on
Sakila.payment (customer_id,
Staff_id,
Rental_id);
Primary Key
Jika primary key hanya terdiri dari satu kolom unik maka
CREATE TABLE sakila.Persons (
FirstName varchar(255),
Age int,
);
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
Primary Key
Jika primary key hanya terdiri dari dua kolom unik maka
CREATE TABLE Persons (
FirstName varchar(255),
Age int,
);
--constraint menandakan peraturan tambahan bahwa primary key tidak hanya satu kolom
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
Foreign Key
Jika primary key hanya terdiri dari dua kolom unik maka
CREATE TABLE Orders (
PersonID int,
);
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
Membuat Skema
Pada Mysql database ekuivalen dengan skema
Klik kanan kemudian pilih create new database
Buatlah database baru dengan nama ‘Latihan’
Latihan 1
•
Buatlah database baru dengan nama Latihan
•
Kemudian buatlah 4 table diatas lalu lakukan alter untuk menambahkan primary key
sert foreign key masing-masing table.
•
Buatlah ERD pada dbeaver dengan cara klik kanan database create other
ERD Diagram , kemudian drag drop keempat table pada database Latihan
•
Screenshoot ERD Diagram pada folder Tugas gdrive (abaikan garis putus dan tidak)
Latihan 2
•
Buatlah database baru dengan nama Latihan
•
Kemudian buatlah 5 table diatas lalu lakukan alter untuk menambahkan primary key
serta foreign key masing-masing table. Untuk kolom ID bertiper varchar, kemudian
untuk date bertipe tanggal, mata uang bertipe decimal
•
Buatlah ERD pada dbeaver dengan cara klik kanan database create other
ERD Diagram , kemudian drag drop keempat table pada database Latihan
•
Screenshoot ERD Diagram pada folder Tugas gdrive (abaikan garis putus dan tidak)