• Tidak ada hasil yang ditemukan

MySQL Database (1) yang secara ,udah dan gampang

N/A
N/A
Dina Kamaladuri Wardani

Academic year: 2023

Membagikan "MySQL Database (1) yang secara ,udah dan gampang"

Copied!
280
0
0

Teks penuh

Tanpa menggunakan DBMS, untuk mengelola data seperti data produk, data pelanggan, data penjualan kita perlu menyimpannya dalam bentuk file (misalnya seperti saat menggunakan excel). DBMS biasanya berjalan sebagai aplikasi server yang digunakan untuk mengelola data, kita hanya perlu memberikan perintah pada DBMS untuk melakukan proses pengelolaan data seperti menambah, mengubah, menghapus atau mengambil data. Database relasional cukup mudah dipahami dan dipelajari karena kita terbiasa menyimpan data dalam bentuk tabel (tabel), seperti di Microsoft Excel atau di Google Doc Spreadsheet.

Selain itu database relasional mempunyai perintah standar yang menggunakan SQL sehingga memudahkan kita ketika ingin mengubah aplikasi database (seperti MySQL, Oracle, PostgreSQL dan lain-lain). Biasanya DBMS menyediakan database client sederhana yang dapat kita gunakan untuk berkomunikasi dengan DBMS agar lebih mudah. Atau kita bisa membuat aplikasi untuk berkomunikasi dengan DBMS, misalnya dengan membuat aplikasi database client dengan menggunakan Java, PHP atau bahasa pemrograman lainnya.

SQL merupakan bahasa yang ringan karena hanya berisi instruksi untuk menyimpan, mengubah, menghapus, atau mengambil data melalui DBMS. Secara umum semua perintah SQL pada database Relasional hampir sama, namun biasanya setiap DBMS mempunyai penyempurnaan yang membedakan hal-hal kecil pada perintah SQL, namun secara umum perintahnya tetap sama.

Pengenalan MySQL

MySQL

Kenapa Belajar MySQL?

MySQL Community vs MySQL Enterprise

MySQL vs MariaDB

Cara Kerja MySQL Server

Menginstall MySQL

Jika Anda menginstal MySQL/MariaDB menggunakan XAMPP, Anda tidak perlu menginstal ulang MySQL karena jika terjadi konflik maka salah satu aplikasi MySQL tidak akan berfungsi.

Menginstall MySQL di Mac

Menggunakan MySQL Client

MySQL Workbench

Database

Jika kita asumsikan tabel di MySQL adalah sebuah file, maka database adalah sebuah folder, dimana kita dapat menyimpan banyak tabel dalam sebuah database. Biasanya kita akan membuat satu database untuk satu jenis aplikasi, walaupun suatu aplikasi mungkin menggunakan lebih dari satu database, namun secara umum, sebuah aplikasi akan menggunakan lebih dari satu database.

Melihat Semua Database di MySQL

Membuat Database

Memilih Database

Menghapus Database

Tipe Data

Saat kita membuat tabel di Excel, kita bisa mengontrol tipe data apa yang kita masukkan ke setiap kolom di Excel. Di MySQL kita juga bisa menentukan tipe data untuk setiap kolom yang kita buat dalam sebuah tabel. Ada banyak tipe data yang tersedia di MySQL, dari yang sederhana hingga yang kompleks.

Tipe Data per Kolom

Tipe Data Number

Tipe Data Integer

Tipe Data Floating Point

DECIMAL

Number Attribute

Tipe Data String

CHAR dan VARCHAR

Perbedaan CHAR dan VARCHAR

TEXT

ENUM

Tipe Data Date dan Time

Selain tipe data Number dan String, terkadang kita juga menyimpan data waktu atau tanggal. Sebenarnya kita bisa menggunakan Strings untuk menyimpan data waktu atau tanggal namun hal tersebut tidak disarankan karena akan menyulitkan kita ketika perlu memanipulasi waktu atau tanggal di MySQL.

Jenis-Jenis Tipe Data Date dan Time

Tipe Data Boolean

Tipe Data Lainnya

Dan Lain-Lain

Setiap tabel biasanya menyimpan beberapa jenis data, misalnya ketika kita membuat aplikasi toko online, kita akan membuat tabel produk, tabel pelanggan, tabel penjual, dan lain-lain. Sebelum memasukkan data ke dalam tabel, kita harus membuat tabel terlebih dahulu. Dan untuk setiap tabel yang kita buat, kita perlu menentukan kolom dan tipe data untuk setiap kolom.

Kita juga bisa memodifikasi tabel yang sudah dibuat, seperti menambahkan kolom baru, memodifikasi kolom yang sudah ada, atau menghapus kolom.

Storage Engines

Daftar Storage Engines

Melihat Table

Membuat Table

Melihat Struktur Table

Mengubah Table

Secara default, saat kita membuat kolom, kolom tersebut boleh bernilai NULL, jika kita tidak ingin menerima nilai NULL, kita bisa menambahkan NOT NULL saat membuat kolom.

Null Value

Default Value

Membuat Ulang Table

Menghapus Table

Insert Data

Kita bisa menyebutkan kolom mana yang ingin kita isi, jika kita tidak menyebutkan kolom berarti kita tidak akan mengisi kolom tersebut dan otomatis kolom yang tidak kita isi akan menjadi NULL kecuali mempunyai NILAI DEFAULT.

Membuat Tabel Produk

Memasukkan Data

Memasukkan Beberapa Data Sekaligus

Select Data

SELECT dapat digunakan untuk mengambil semua kolom dalam sebuah tabel, atau hanya beberapa kolom saja. Jika kita ingin mengambil beberapa kolom saja, kita dapat menyebutkan nama kolom yang ingin kita ambil datanya.

Mengambil Data

Primary Key

Primary Key di Multiple Column

Menambah Primary Key Ketika Membuat Tabel

Menambah Primary Key di Tabel

Where Clause

Misal kita ingin mengambil data barang yang harganya 1 jutaan, atau mengambil data barang yang jumlahnya 0 (persediaan kosong).

Mencari Data

Update Data

Saat menggunakan SQL UPDATE, kita perlu mengetahui data mana yang akan diperbarui menggunakan klausa WHERE. Berhati-hatilah saat memperbarui data dalam tabel, jika klausa WHERE salah, kita mungkin akan memperbarui semua data dalam tabel.

Menambah Kolom Kategori

Mengubah Satu Kolom

Mengubah Beberapa Kolom

Mengubah Dengan Value di Kolom

Delete Data

Sekarang kita telah mengetahui cara menambah, mengubah, dan mengambil data dalam tabel, hal terakhir yang perlu kita ketahui adalah cara menghapus data dalam tabel. Perintah SQL DELETE sama dengan UPDATE, kita perlu menggunakan klausa WHERE untuk mengetahui data mana yang akan dihapus. Dan hati-hati jangan sampai salah membuat klausa WHERE, karena jika salah, kita bisa menghapus semua data yang ada di tabel.

Menghapus Data

Alias

Mungkin saat ini alias untuk tabel sepertinya belum terlalu berguna, namun nanti ketika kita mempelajari tentang JOIN, fitur alias untuk tabel akan sangat berguna.

Alias untuk Kolom

Alias untuk Tabel

Where Operator

Operator Perbandingan

Mencari Data dengan Operator Perbandingan

AND dan OR Operator

Hasil Operator AND

Mencari Data dengan Operator AND

Hasil Operator OR

Mencari Data dengan Operator OR

Prioritas dengan Kurung ()

LIKE Operator

Hasil Operator LIKE

Mencari Menggunakan LIKE Operator

NULL Operator

Mencari Menggunakan NULL Operator

BETWEEN Operator

Mencari Menggunakan BETWEEN Operator

IN Operator

Mencari Menggunakan IN Operator

Order By Clause

Untuk mengurutkan data saat kita menggunakan pernyataan SQL SELECT, kita dapat menambahkan klausa ORDER BY. Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom yang dipilih dan jenis urutan pengurutan (ASC atau DESC).

Mengurutkan Data

Limit Clause

Selain membatasi jumlah data, kita juga bisa melewatkan beberapa data yang tidak ingin kita lihat.

Membatasi Hasil Query

Skip Hasil Query

Select Distinct Data

Misalnya kita ingin melihat semua kategori pada tabel produk, otomatis hasil query SELECT akan terduplikasi karena banyak sekali produk dalam kategori yang sama. Jika kita ingin menghilangkan data duplikat, kita bisa menggunakan SELECT dengan menambahkan DISTINCT sebelum nama kolom.

Menghilangkan Data Duplikat

Numeric Function

Arithmetic Operator

Menggunakan Arithmetic Operator

Mathematical Function

Menggunakan Mathematical Function

Auto Increment

MySQL mempunyai fitur yang bernama auto inrice, kita bisa menggunakan fitur ini untuk menandakan bahwa suatu data primary key sudah otomatis terisi dari angka terakhir + 1. Dengan menggunakan auto increte, kita tidak perlu memasukkan data-data primary key maka tidak, maka akan terjadi dibuat secara otomatis oleh MySQL.

Membuat Tabel dengan Auto Increment

Memasukkan Data Tanpa Id

Melihat Id Terakhir

String Function

Menggunakan String Function

Date and Time Functions

Date dan Time Function

Menambah Kolom Timestamp

Flow Control Function

Menggunakan Control Flow CASE

Menggunakan Control Flow IF

Menggunakan Control Flow IFNULL

Aggregate Function

Menggunakan Aggregate Function

Grouping

GROUP BY

Menggunakan GROUP BY

HAVING Clause

Menggunakan HAVING Clause

Constraint

Constraint sangat baik kita tambahkan untuk mencegah terjadinya kesalahan validasi pada program kita, sehingga data yang masuk ke database tetap terjaga.

Unique Constraint

Membuat Table dengan Unique Constraint

Menambah/Menghapus Unique Constraint

Check Constraint

Membuat Table dengan Check Constraint

Menambah/Menghapus Check Constraint

Index

Hal ini menyebabkan ketika kita mencari data, MySQL akan mencari dari baris pertama sampai terakhir yang artinya semakin banyak data maka akan semakin lambat. Saat kita membuat indeks, MySQL akan menyimpan datanya di struktur data B-Tree: https://en.wikipedia.org/wiki/B-tree. Selain memudahkan kita saat melakukan pencarian, indeks juga akan memudahkan kita saat mengurutkan dengan ORDER BY.

Cara Kerja Index

Efek Samping Membuat Index

Tidak Perlu Index

Membuat Table dengan Index

Menambah/Menghapus Index

Full-Text Search

Masalah dengan LIKE operator

Membuat Table dengan Full-Text Search

Menambah/Menghapus Full-Text Search

Mode Full-Text Search

Mencari dengan Natural Language Mode

Mencari dengan Boolean Mode

Mencari dengan Query Expansion Mode

Misalnya tabel siswa pada aplikasi kampus akan berhubungan dengan tabel mata kuliah dan tabel guru. Saat kita membuat relasi tabel, biasanya kita membuat kolom sebagai referensi ke tabel lain. Saat kita mis. membuat tabel penjualan pada tabel penjualan, kita menambahkan kolom product_id sebagai acuan tabel produk yang berisi primary key tabel produk.

Membuat Foreign Key sama dengan membuat kolom biasa, hanya saja kita perlu memberitahu MySQL bahwa itu adalah Foreign Key ke tabel lain.

Membuat Table dengan Foreign Key

Menambah/Menghapus Foreign Key

Keuntungan Menggunakan Foreign Key

Ketika Menghapus Data Berelasi

Behavior Foreign Key

Mengubah Behavior Menghapus Relasi

Join

Gabung sangat kompatibel dengan kunci asing, meskipun tidak ada aturan di MySQL bahwa GABUNG harus memiliki kunci asing. Namun ingat, semakin banyak GABUNG, semakin sulit dan lambat proses kuerinya, jadi berhati-hatilah saat mengimplementasikan GABUNG. Idealnya, Anda tidak boleh BERGABUNG lebih dari 5 tabel, karena ini dapat memengaruhi kinerja kueri.

Melakukan JOIN Table

Membuat Relasi ke Table Customers

Melakukan JOIN Multiple Table

One to One Relationship

Jenis-Jenis Relasi Tabel

Artinya, setiap record dalam suatu tabel hanya dapat dikaitkan dengan maksimal 1 record di tabel lain.

Diagram One to One Relationship
Diagram One to One Relationship

Membuat One to One Relationship

Membuat Table Wallet

One to Many Relationship

Relasi banyak ke banyak adalah relasi antar tabel dimana suatu data dapat digunakan lebih dari satu kali dalam tabel relasi tersebut. Berbeda dengan one-to-one yang dapat digunakan paling banyak satu kali pada tabel relasi, one-to-many tidak memiliki batasan berapa banyak data yang digunakan. Contoh hubungan antara kategori dan tabel produk, dimana suatu kategori dapat digunakan oleh lebih dari satu produk, artinya hubungannya adalah kategori multi produk.

Membuat hubungan one to many sebenarnya sama saja dengan one to one, bedanya kita tidak perlu menggunakan UNIQUE KEY karena datanya bisa berkali-kali lipat.

Diagram One to Many Relationship
Diagram One to Many Relationship

Membuat Table Category

Referensi

Dokumen terkait