Relational Database

Alfin Chandra
7 min readMay 14, 2019

--

Selamat pagi, salam sejahtera. kali ini kita akan membahas mengenai basis data dasar, sebuah pertanyaan besar.
— Apa itu basis data?
— manfaatnya untuk apa?
— operasi basis data seperti apa?

— Intro to database

Apa itu basis data? mari kita pecah..

basis adalah base / basecamp / bisa dibilang sarang / tempat perkumpulan utama /dll sesuai pemahaman teman-teman.

sedangkan data? data itu representasi berupa fakta — fakta yang nyata, objek nyata, catatan / kumpulan fakta. contoh data — Manusia (pegawai, pelanggan, mahasiswa, dosen), barang, hewan, kejadian, konsep, keadaan, dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, atau kombinasinya.

Jadi kalo basis data? berarti tempat kumpulnya data-data di suatu tempat, dan saling berelasi / berhubungan satu dengan yang lain. saat ini, basis data dibagi menjadi 2.

Adapun tujuan basis data adalah sebagai efisiensi seperti kecepatan, performa, akurasi, availability, menghindari duplikasi & inkonsistensi data, & unsur keamanan.

Basis data relasional & basis data non-relasional. saat ini kita akan mempelajari basis data relasional, yakni SQL.
biasanya, basis data relasional ini bentukan kumpulan datanya adalah berupa tabel-tabel, dan untuk menghubungkan tabel dengan tabel lainnya dapat mengunakan primary key.

Apa itu primary key? menurut wiki, Primary key adalah suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam tabel. Nilai dari primary key adalah unik.

Apa boleh tiap tabel ga ada PK (Pelakor .. # Primary Key )? menurut orang yang berpengalaman, ada yang bilang boleh, ada yang menyarankan harus tetap diberi, . tapi kalau ga ada PK??

  • You need your table to be joinable on something
  • If you want your table to be clustered, you need some kind of a primary key.
  • If your table design does not need a primary key, rethink your design: most probably, you are missing something. Why keep identical records?

Diatas merupakan keterangan dari beberapa hal:

1. row itu baris, yang dilihat memanjang dari kanan ke kiri.. ( BR092 — Mary — Green — March, 4 1980)

2. PK itu yang ( baris 1: XY001, baris 2: BR092, dst..)

3. Data itu value dari dalam tabel. contoh diatas adalah ( green, john, doe, September 12, 1959 )

4. Tabel itu bentukanya seperti diatas, keseluruhan ( punya FK, PK* opsional, Row, column, data )

5. Column itu kolom seperti ( CustomerID, Firstname, Lastname, dll )

Kalau FK itu adalah PK yang ada di tabel lain.. seperti ini

https://cdn-images-1.medium.com/max/1600/1*yW_ha3z8Mp6fUn9m6qWwNw.png

— DBMS , RDBMS & MySQL

DBMS (Database Management System) menurut itfreelanceindo, sebuah tools perangkat lunak yang digunakan user untuk membuat, memanipulasi, mengontrol dan mengakses database yang mereka miliki secara cepat dan efisien.

Ada begitu banyak DBMS yang populer digunakan di dunia saat ini mulai dari yang opensource, gratis, sampai yang license berbayar. Beberapa diantara DBMS yang terkenal antara lain.

  • Microsoft SQL Server
  • Oracle
  • Teradata
  • MySQL
  • PostgreSQL

Lalu RDBMS ( Relational Database Management System ) apa? menurut pemahaman saya, RDBMS itu DBMS yang mendukung adanya hubungan relasi antar tabel dengan tabel yang lain. satu tabel terdiri dari PK, banyak FK, banyak kolom, & banyak baris. sehingga untuk menghubungkan tabel 1 dengan tabel lainnya adalah dengan menggunakan konsep PK & FK tersebut..
jadi di konsep RDBMS nanti ada istilah relasi One to One, One to Many, Many to Many. &

Tiga prinsip dalam RDBMS :

Data definition (DDL). jenis data yang akan dibuat (dapat berupa angka atau huruf), cara relasi data, validasi data dan lainnya.

Data Manipulation (DML). data yang telah dibuat dan didefinisikan tersebut akan dilakukan beberapa pengerjaan, seperti menyaring data, melakukan proses query, dsb.

Data Control (DCL). Bagian ini berkenaan dengan cara mengendalikan data, seperti siapa saja yang bisa melihat isi data, bagaimana data bisa digunakan oleh banyak user, dsb.

contoh lain: PK tabel pelanggan adalah KodePelanggan, sedangkan PK tabel pelanggan akan menjadi FK di tabel faktur. hal ini dapat dilihat kedua tabel dapat berkomunikasi.. tahu darimana?? misal, di tabel faktur, pelanggan nomor 1 itu total belanjaanya berapa rupiah?? 50rb + 60rb = 110rb. lalu namanya keduanya siapa? “Smith”. disini udah jelas?

Lalu apa itu MySQL.. Orang orang kita kalau ditanya, lo pake database apa? MySQL gua cuy, yang bener adalah database SQL. karena MySQL itu salah satu program untuk pengolahan basis data. lebih jelas

— DDL (Data Definition Languange)

DDL adalah perintah yang digunakan untuk mendefinisikan/membangun struktur database.

Kita disini akan belajar 3 dari DDL

  1. Create. untuk membuat database baru, tabel baru, view baru dan kolom
  2. Alter. mengubah struktur tabel. Seperti mengganti nama tabel, menambah kolom, mengubah kolom, menghapus kolom maupun memberikan atribut pada kolom
  3. Drop. untuk menghapus database dan tabel

& mencobanya bukan di phpmyadmin ya, tapi di console / terminal / prompt teman-teman

Yuk coba dibuka, kalo kalian pake xampp. akses console mysql ke path ini

Xampp: xampp\mysql\bin\.. cari yang mysql.exr
Laragon:
C:\laragon\bin\mysql\mariadb-10.2.3-win32\bin\mysql.exe
Webserver lain silahkan menyesuaikan..

buka command prompt.. lalu arahkan ke direktori yang ada mysql.exe nya

Gambar diatas artinya, saya sudah masuk menu untuk mengolah sql.

CREATE DATABASE db_coba;
Membuat database dengan nama belajardb
USE nama_database;
use NAMA_DB, agar dapat mengolah data di dalam database belajar db
CREATE TABLE nama_tabel
(
nama_kolom1 tipe_data,
nama_kolom2 tipe_data,
nama_kolom3 tipe_data,

);
Membuat tabel

Artinya.. buat tabel user yang isinya

— beri kolom id_user
— bertipe INTeger
— dengan panjangnya default.. kalo kita kasih panjang 20, syntaxnya seperti int(20)
— dikasih allowable value NOT NULL atau nilai ini setiap di insert harus terisi
— harus terurut (AUTO_INCREMENT — setiap insert, dia akan otomatis menambah sendiri digitnya.. 1,2,3,4..n)
— dibuat primary key (PRIMARY KEY — sebagai identitas dari suatu tabel)

kalo mau liat klasifikasi dari tabel. menggunakan perintah

desc nama_table

kalau mau menghapus tabel menggunakan perintah

drop nama_tabel

— DML (Data Manipulation Languange)

DML adalah perintah yang digunakan untuk mengelola/memanipulasi data dalam database.

Di DML ini kita akan belajar dasar untuk CRUD ya.. berarti manipulasi isi tabel dengan perintah

  1. Select. untuk mengambil/menampilkan data dari database
  2. Insert. untuk memasukkan data ke dalam tabel
  3. Update. untuk memperbarui data dalam tabel
  4. Delete. untuk menghapus data dari tabel

Perintah insert dulu ya.. saya ingin menambahkan 1 record kedalam tabel

INSERT INTO nama_tabel (kolom1, kolom2, kolom3,…) VALUES (isian1, isian2, isian3,…);
insert record ke dalam tabel user

Sekarang perintah untuk melihat record kita

SELECT * FROM nama_tabel;

Sekarang perintah untuk update

UPDATE NAMA_TABEL set kolom1="ganti-nilai", kolom2="ganti-nilai" WHERE id_PK_yg_ingin_diubah;

saya ingin mengubah nama belakang menjadi “Chandra”

sekarang nama_belakang sudah berubah

Saya ingin menghapus record dengan id_user 1, berarti:

DELETE FROM NAMA_TABEL WHERE id_PK_yg_ingin_dihapus_id_berapa
dan jika ingin melihat isi tabel sudah tidak ada ( Empty set )

Membuat foreign key.. buat 2 tabel (matkul dan dosen). dimana id matkul di tabel matkul akan dijadikan FK di tabel dosen

Perintah diatas untuk memberikan kolom tambahan yang nantinya mau dijadikan FK.. kan PK di tabel matkul itu id.. kalo FK nya saya buat matkul_id ditaruhnya di tabel dosen..

ALTER TABLE nama_tabel add FOREIGN KEY [kolom_tambahan_tadi] references [tabel_awal(nama_kolom_PK_nya)]
dan terlihat ini sudah menyambung.

tabel matkul dengan PK id dapat berinteraksi dengan tabel dosen melalui jembatan FK nya tabel matkul di tabel dosen dengan namanya matkul_id

Dasarnya disini sebelum kalian main di phpmyadmin.

PR.

1. Membuat database akademik!
2. Menampilkan semua data database!
3. mengaktifkan database!
4. Membuat tabel prodi beserta primary key nya!
5. Membuat tabel mahasiswa beserta primary dan foreign key nya!
6. Melihat struktur tabel mahasiswa!
7. Mengimputkan 5 data ke dalam tabel prodi!
8. Mengimputkan 3 data ke dalam tabel mahasiswa!
9. Melihat isi tabel mahasiswa!
10. Menampilkan field nama dan alamat dalam tabel mahasiswa!
11. Menampilkan field nim, nama dan alamat dari data mahasiswa yang mempunyai nim=’10041'!
12. Menampilkan semua data mahasiswa secara urut berdasarkan nama secara ORDER BY!
13. Menampilkan semua data prodi secara urut berdasarkan nama_prodi secara descending!

2. Karena kita ingin ingin membuat simulasi CRUD PHP — SQL.. maka buatlah

database dbtodo

buat nama tabel todo list

buat 4 kolom
a. kolom id bertipe integer not null ber primary key dan AI
b. kolom task bertipe varchar dengan panjang 100
c. kolom tgl_mulai bertipe date
d. kolom tgl_selesai bertipe date

--

--