DATABASE : DDL, DML, Aggregasi&Grouping

Ohaiyo Gozaimasu
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

Jaa ne~

Komentar

Postingan Populer