Skip to main content

Day 1 - Database MySQL

Database

ref: https://jagongoding.com/database/mysql/dasar/database-dan-table/https://www.dicoding.com/blog/apa-itu-database/https://www.niagahoster.co.id/blog/database-adalah/

Database atau basis data adalah kumpulan data yang dikelola sedemikian rupa berdasarkan ketentuan tertentu yang saling berhubungan sehingga mudah dalam pengelolaannya. Melalui pengelolaan tersebut pengguna dapat memperoleh kemudahan dalam mencari informasi, menyimpan informasi dan membuang informasi.

Fungsi

  • Mempercepat dan mempermudah identifikasi data

  • Mengontrol data secara terpusat

  • Menghindari duplikasi

  • Menyimpan data lebih aman

  • Menghemat biaya

  • Diakses multiuser


Jenis

  • Operational Database

  • Relational Database

  • NoSQL

  • Distributed Database

  • Database Warehouse

  • End-user Database

  • Cloud Database

DBMS

DBMS adalah aplikasi pengelolaan database. Dengan DBMS, Anda bisa lebih mudah ketika  menginput dan mengupdate data. 



XAMPP

XAMPP merupakan paket perangkat lunak digunakan untuk memudahkan instalasi dan penggunakan web server. XAMPP terdiri dari beberapa perangkat lunak antara lain: Apache (web server), MariaDB/MySQL (database), PHP dan Perl (bahasa pemrograman).

  1. Instalasi (https://ngodingdata.com/install-xampp-di-windows-dan-linux/)

  2. Open MySql dengan phpmyadmin (https://ngodingdata.com/tutorial-mysql-untuk-pemula/)

  3. Select Tab SQL to run query


SQL

ref: https://gist.github.com/bradtraversy/c831baaad44343cc945e76c2e30927b3

SQL atau Standard Query Language adalah bahasa pemrograman yang digunakan dalam mengakses, mengubah, dan memanipulasi data yang berbasis relasional.

1. DDL (Data Definition Language)

ref: https://ngodingdata.com/memahami-perintah-ddl-mysql/

Mendefinisikan struktur atau skema basis data (create, alter, dan drop).

2. DML (Data Manipulation Language)

ref: https://ngodingdata.com/memahami-perintah-dml-mysql/

Manajemen data dalam basis data (insert, select, update, dan delete).

3. DCL (Data Control Language)

ref: https://ngodingdata.com/memahami-perintah-dcl-mysql/

Manipulasi user dan privilege (grant dan revoke).


Tipe Data

ref: https://www.dumetschool.com/blog/tipe-tipe-data-pada-mysql

Tipe data merupakan jenis nilai yang bisa ditampung pada suatu variable, bisa berupa angka (numerik), teks, ataupun berupa gambar. Dengan begitu kita dapat menentukan tipe data yang nantinya akan mempermudah dalam pengaturan suatu tabel.

1. Numerik

Tipe Data

Jangkauan SIGNED

Jangkauan UNSIGNED

Ukuran

TINYINT

-128 to 127

0 to 255

1 byte

SMALLINT

-32,768 to 32,767

0 to 65,535

2 bytes

MEDIUMINT

-8,388,608 to 8,388,607

0 to 16,777,215

3 bytes

INT

-2,147,483,648 to 2,147,483,647

0 to 4,294,967,295

4 bytes

BIGINT

-9,223,372,036,854,775,808 to

9,223,372,036,854,775,807

0 to

18,446,744,073,709,551,615

8 bytes


2. String

Tipe Data

Keterangan

Jangkauan

CHAR

Menyimpan data string ukuran tetap

0 - 255 karakter

VARCHAR

Menyimpan data string ukuran dinamis

0 - 255 karakter

TINYTEXT

Menyimpan data text

0 - 255 karakter

TEXT

Menyimpan data text

0 - 65.535 karakter

MEDIUMTEXT

Menyimpan data text

0 s/d 232 – 1 karakter

LONGTEXT

Menyimpan data text

0 s/d 232 – 1 karakter


3. Date

Tipe Data

Keterangan

Jangkauan

DATE

Menyimpan data tanggal

1000-01-01 s/d 9999-12-31 (YYYY-MM-DD)

TIME

Menyimpan data waktu

-838:59:59 s/d +838:59:59 (HH:MM:SS)

DATETIME

Menyimpan data tanggal dan waktu

1000-01-01 s/d 9999-12-31

TIMESTAMP

Menyimpan data tanggal dan waktu

1970-01-01 s/d 2037

YEAR

Menyimpan data tahun dari tanggal

1900 s/d 2155


4. Others

Tipe Data

Keterangan

Jangkauan

ENUM

Enumerasi (Kumpulan data))

Sampai dengan 65535 string.

SET

Combination (Himpunan data)

Sampai dengan 255 string

Binary

Menyimpan data biner / file

216 – 1 byte



Normalisasi

ref: https://pasarhosting.com/blog/normalisasi-database-1nf-2nf-3nf/

Normalisasi-database adalah proses pengelompokan atribut data yang membentuk entitas sederhana, efisien, fleksibel, dan mudah beradaptasi. Sehingga dapat dipastikan bahwa database yang dibuat berkualitas baik.

1. Bentuk tidak normal

Kumpulan data yang direkam tidak ada keharusan dengan mengikuti suatu format tertentu.

2. 1NF / First Normal Form

Suatu tabel dikatakan 1NF jika dan hanya jika setiap atribut dari data tersebut hanya memiliki nilai tunggal dalam satu baris.

3. 2NF

Syarat 2NF adalah tidak diperkenankan adanya partial “functional dependency” kepada primary key dalam sebuah tabel. 

4. 3NF

Pada 3NF tidak diperkenankan adanya partial “transitive dependency” dalam sebuah tabel. 


Latihan Soal

Buat Database Todo List

Buat Tabel User dan Todo dengan kolom dari masing-masing tabel minimal seperti berikut:

  • User: id, name, email, password, created_at updated_at
  • Todo: id, user_id, description, created_at, updated_at
  • Query insert data User dan Todo
  • Query select data Todo dengan salah filter salah satu user
  • Query update data Todo
  • Query delete data Todo

Referensi



Last modified: Friday, 10 February 2023, 2:46 PM