DATABASE : DDL, DML, Aggregasi&Grouping
Kali ini saya mendapat tugas untuk membuat sebuah artikel
tentang BasisData. Dan yang akan saya tulis disini adalah segelintir ilmu yang
saya dapat ketika Praktikum di Mata Kuliah Basis Data.
Perlu diketahui, disini saya membuat BasisData menggunakan
XAMPP. Dan perangkat lunak yang digunakan kali ini adalah MySQL. Sebelum
langsung ke praktik nya, saya akan menjelaskan secara singkat beberapa perintah
yaitu DDL, DML, dan
Aggregation&Grouping.
DDL
Data Definition Language (DDL)
adalah bahasa basis data yang digunakan untuk mendefinisikan, mengubah, dan
menghapus basis data serta objek-objek yang diperlukan. Secara umum, DDL yang
digunakan meliputi perintah sebagai berikut :
-
CREATE, digunakan untuk membuat objek yang baru
-
ALTER, digunakan untuk mengubah onjek yang sudah
ada
-
DROP, digunakan untuk menghapus objek yang sudah
ada
DML
Data Manipulation Language (DML)
adalah bahasa/perintah SQL yang berfungsi untuk memanipulasi data yang ada di
dalam basis data(database), dan digunakan untuk mengambil, memasukkan,
memodifikasi, bahkan menghapus informasi/isi yang ada didalam database
tersebut. Beberapa kegunaan DML adalah sebagai berikut :
a. Pengambilan
informasi yang disimpan dalam basis data (Select)
b. Penyisipan
informasi baru ke basis data (Insert)
c. Penghapusan
informasi dari basis data (Delete)
d. Modifikasi
informasi yang disimpan dalam basis data (Update)
ER-D
Entity-Relationship Diagram
(ER-D) adalah uatu model untuk menjelaskan hubungan antar data dalam basis data
berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.
1. Entitas
didefinisikan sebagai individu yang mewakili sesuatu yang nyata dan dapat
dibedakan dari sesuatu yang lain.
2. Atribut
merupakan karakteristik dari entity atau relationship yang menyediakan
penjelasan detail tentang entity atau relationship tersebut.
3. Relasi
didefinisikan sebagai hubungan diantara sejumlah entitas yang berasal dari
himpunan entitas yang berbeda.
4. Kardinalitas
relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas
pada himpunan entitas lain.
-
one-to-one : sebuah entitas pada A berhubungan
dengan entitas B paling banyak 1
-
one-to-many : sebuah entitas pada A berhubungan
dengan entitas B lebih dari satu contoh diatas adalah 1 depertemen memiliki
banyak pegawai
-
many-to-many : sebuah entitas pada A berhubungan
dengan entitas B lebih dari satu dan B berhubungan dengan A lebih dari satu
jugan contoh diatas adalah relasi mahasiswa dengan mata kuliah.
Agar lebih memahami, mari kita
coba untuk langsung memulainya (Menggunakan Windows).
1. Pertama
pastikan kita sudah memasang aplikasi XAMPP. Untuk menjalankan MySQL, buka
XAMPP Control Panel, Lalu klik start
untuk Apache dan MySQL.
2. Untuk
mengeksekusi nya, saya akan menggunakan Command
Prompt (CMD). Caranya, buka CMD, lalu ketik cd c:\xampp\mysql\bin (enter) mysql –u root (enter).
Nah selanjutnya mari kita
praktikan perintah-perintah DDL, DML dan Aggregation&Grouping ^_^
Perintah-perintah DDL
1. Create
(Perintah Membuat)
·
Membuat Database
create database
mahasiswa_kerjasamaSUMSEL;
Contoh:
Untuk
menggunakan database tersebut, gunakan perintah use.
use mahasiswa_kerjasamaSUMSEL;
Contoh:
·
Membuat Tabel
create table mahasiswa(
nim varchar (10) primary key,
nama varchar (30) not null,
jurusan varchar (30) not null,
fakultas varchar (10) not null
);
Hasilnya:
2. Alter
(Perintah untuk mengubah)
·
alter table mahasiswa rename to mhs; (pengubahan nama tabel)
·
alter table mhs add column jk char (10) not null; (menambahkan
kolom baru)
·
alter table mhs modify jk varchar; ( mengubah tipe data)
·
alter table mhs drop column jk; (menghapus kolom)
3. Drop
(Perintah untuk menghapus)
·
drop table mahasiswa; (untuk menghapus table)
·
drop database mahasiswa_kerjasamaSUMSEL; (untuk menghapus
database nya)
Perintah-perintah DML
1.
Insert merupakan perintah yang berfungsi untuk
menyisipkan, memasukkan dan menyimpan data dari luar sistem ke dalam tabel.
Perintah umum :
Insert into nama_table values
(isi1, isi2, isi3, …);
Contoh :
insert into mahasiswa values
('1407273','Komaria','Pend.Ilkom','FPMIPA'),
('1407286','Handini','Pend.Ilkom','FPMIPA'),
('1407281','Sri
Mulya','Pend.Ilkom','FPMIPA'),
('1407289','Shella
Putri Renjani','Pend.Ilkom','FPMIPA'),
('1407279','Eliliana','Pend.Ilkom','FPMIPA'),
('1407277','Diana
Ayu Ningtyas','Pend.Ilkom','FPMIPA'),
('1407271','Ita
Purnama Sari','Pend.Ilkom','FPMIPA'),
('1407274','Az
Pranata','Pend.Ilkom','FPMIPA'),
('1407843','Muhammad
Kurniawan','Pend.Ilkom','FPMIPA'),
('1407275','Rahmadi
Pambayun','Pend.Ilkom','FPMIPA'),
('1407278','M.Dwi
Ramadhona','Pend.Elektro','FPTK'),
('1407834','Fitra
Nopri','Pend.Elektro','FPTK'),
('1407844','Z.M.Zahri','Pend.Elektro','FPTK'),
('1407233','Intan
Ruana Putri','Pend.Elektro','FPTK'),
('1407832','Deni
Susanto','Pend.Elektro','FPTK'),
('1407254','Reva
Maretha','Pend.Elektro','FPTK'),
('1407543','Adi
Septiawan','Pend.Teknik Mesin','FPTK'),
('1407532','Adi
Kurniawan','Pend.Teknik Mesin','FPTK'),
('1407756','Agung
Rusiyanto','Pend.Teknik Mesin','FPTK'),
('1407798','Zubaidah
Humairoh','Pend.Akuntansi','FPEB'),
('1407612','Eka
Rahmadiyanti','Pend.Akuntansi','FPEB'),
('1407711','Umi
Purwasih','Pend.Akuntansi','FPEB'),
('1407194','Rani
Septianti','Pend.Akuntansi','FPEB'),
('1407962','Mona
Anika','Pend.Akuntansi','FPEB'),
('1407223','Kiki
Megarianti','Pend.Akuntansi','FPEB');
2.
Select Berfungsi untuk melakukan pengambilan
sejumlah data yang ada di dalam table untuk ditampilkan ataupun dimanipulasi.
·
Menampilkan seluruh isi tabel
SELECT
* FROM nama_tabel;
Contoh:
·
Menampilkan dengan klausa WHERE
SELECT
* FROM nama_tabel WHERE kondisi;
Contoh:
·
Menampilkan field tertentu
SELECT
nama_field1, nama_field2,...... FROM nama_tabel;
Contoh:
·
Penggunaan
operator AND dan OR
Untuk mengambil dat tertentu dengan syarat/kondisi
lebih dari satu, dan apabila semua syarat bernilai benar.
SELECT
* FROM nama_tabel WHERE kondisi1 AND kondisi2 AND kondisi3..;
SELECT
* FROM nama_tabel WHERE kondisi1 OR kondisi2 OR kondisi3...;
·
Penggunaan
operator BETWEEN dan NOT BETWEEN
Untuk menyaring data dengan rentang tertentu (memiliki
jangkauan).
SELECT
* FROM nama_tabel WHERE field BETWEEN batas_bawah AND batas_atas ;
SELECT
* FROM nama_tabel WHERE field NOT BETWEEN batas_bawah AND batas_atas ;
·
Penggunaan
operator LIKE dan NOT LIKE
Untuk menseleksi data dengan kriteria mengandung kata
atau klausa yang didefinisikan oleh LIKE.
SELECT
* FROM nama_tabel WHERE field LIKE ‘%....’;
SELECT
* FROM nama_tabel WHERE field LIKE ‘....%’;
SELECT
* FROM nama_tabel WHERE field LIKE ‘%....%’;
Contoh:
·
Penggunaan
operator ORDER BY
Digunakan untuk mengurutkan data
SELECT * FROM nama_tabel ORDER BY namafield;
Contoh:
·
Penggunaan
operator ASC dan DESC
Untuk mengurutkan data yang ditampilkan secara menaik
atau menurun.
SELECT * FROM nama_tabel ORDER BY namafield ASC;
SELECT * FROM nama_tabel ORDER BY namafield DESC;
Contoh:
3. UPDATE
Perintah ini digunakan untuk memperbarui data lama
menjadi data terbaru.
Disini perlu diingat perintah update ini harus dikuti
dengan perintah WHERE sebagai kondisi untuk menentukan data mana yang akan
diperbarui.
UPDATE
nama_tabel SET field1=nilai_baru, field2=nilai_baru, …. WHERE kondisi;
4. DELETE
Perintah ini digunakan untuk menghapus atau
menghilangkan baris data (record) dari table. Penggunaan perintah ini juga
harus menggunakan WHERE sebagai kondisi untuk menentukan data mana yang akan
dihapus.
DELETE
FROM nama_tabel WHERE kondisi;
Fungsi Aggregasi
Fungsi
aggregasi adalah fungsi matematika sederhana dalam SQL. Biasanya fungsi
aggregasi ini digunakan pada bagian SELECT untuk melakukan perhitungan dengan
melibatkan sekumpulan data atau nilai.
1.
AVG()
Fungsi ini
digunakan untuk menghasilkan nilai rata-rata sekelompok nilai dari sebuah kolom
(field) numerik.
Perintah umum:
SELECT AVG(nama_field) From
nama_tabel;
2.
COUNT()
Fungsi ini
digunakan untuk menghasilkan nilai jumlah data (baris/record) dari sekelompok
data tabel maupun view.
Perintah umum:
SELECT COUNT(nama_field) From
nama_tabel;
3.
MAX()
Fungsi ini
digunakan untuk menghasilkan nilai tertinggi sekelompok nilai dari sebuah kolom
(field) numerik.
Perintah umum:
SELECT MAX(nama_field) From
nama_tabel;
4.
MIN()
Fungsi ini
digunakan untuk menghasilkan nilai terendah dari sebuah kolom (field) numeric
Perintah umum:
SELECT MIN(nama_field) From
nama_tabel;
5.
SUM()
Fungsi ini
digunakan untuk menghasilkan nilai total jumlah sekelompok dari sebuah kolom
(field)
numerik..
Perintah umum:
SELECT SUM(nama_field) From
nama_tabel;
6.
ROUND()
Fungsi ini
digunakan untuk melengkapi bidang numerik dengan jumlah desimal yang
ditentukan.
Perintah umum:
SELECT
ROUND(nama_field,jumlah_decimal) From nama_tabel;
7.
STDDEV_POP()
Fungsi ini
digunakan untuk menghasilkan nilai standart deviasi populasi.
Perintah umum:
SELECT STDDEV_POP(nama_field) From nama_tabel;
8.
VAR_POP()
Fungsi ini
digunakan untuk menghasilkan nilai standart varian populasi.
Perintah umum:
SELECT VAR_POP(nama_field) From
nama_tabel;
Fungsi Grouping
1.
Order
By
Order
by adalah perintah yang digunakan untuk menampilkan data secara terurut
berdasarkan nilai tertentu. Order by dikelompok menjadi 2 jenis yaitu ascending
(data diurutkan dari yang terkecil ke terbesar) dan descending(data diurutkan
dari yang terbesar ke terkecil).
2.
Group
By
Group by merupakan perintah yang
digunakan untuk mengelompokan beberapa data pada perintah SELECT;
Perintah Umum :
SELECT
*FROM(nama_tabel) GROUP BY atribut;
3.
Having
Fungsi
Having terkait dengan GROUP BY dan AGREGASI. Biasanya digunakan untuk
menentukan kondisi tertentu pada group by dan kondisi tersebut berkaitan dengan
fungsi agrgasi. Fungsi HAVING sebenarnya memiliki kemiripan dengan WHERE dalam
penggunaannya. HAVING digunakan dalam SQL karena WHERE tidak dapat digunakan
dengan fungsi agregasi.
Perintah Umum
SELECT atribut FROM nama_tabel
GROUP BY atribut HAVING fungsi_agregasi
4.
View
View
dapat disebut sebagai sebuah table semu/bayangan. Data-data pada table view
dapat merupakan gabungan dari data pada tabe-tabel lain. View dapat digunakan
untuk membatasi pengaksesan atas sebuah table tertentu, jadi user hanya boleh
melihat table yang berisi data-data secara spesifik.
Perintah umum:
CREATE VIEW NAMA_VIEW
AS<QUERY>
Untuk
Menampilkan :
SELECT * FROM
Nama_Tabel_semu_yg_telah_dibuat;
Mungkin segitu
aja dulu ilmu yang bisa saya share, jika ada yang kurang jelas silahkan kontak
saya --> klik disini
Komentar
Posting Komentar