Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Developer Coaching #125 ● Mengenal anomali pada Database ● Mengenal normalisasi Database ● Tahapan normalisasi Database Back-End

Slide 4

Slide 4 text

Desain basis data yang tidak tepat menjadi masalah umum yang menyebabkan performa database. ̶F̶u̶n̶ fact Back-End

Slide 5

Slide 5 text

Agenda ● Mengetahui constraints Foreign Keys. ● Mengetahui penggunaan query - JOIN. ● Mengenal Entity-Relationship Diagram (ERD) ● Contoh fitur aplikasi yang menerapkan normalisasi Back-End

Slide 6

Slide 6 text

Back-End Un-normalized Form nama_lengkap jabatan gaji nama_proyek Dimas Maulana Sales 5000000 Iklan produk A, Iklan produk B, Iklan produk C Budi Customer Service 4000000 Survey produk A Gilang Ramadhan Sales Manager 5500000 Iklan produk B

Slide 7

Slide 7 text

Back-End ERD Hasil Normalisasi

Slide 8

Slide 8 text

Entity-Relationship Diagram (ERD) Back-End

Slide 9

Slide 9 text

Apa itu ERD? Back-End Entity-Relationship Diagram (ERD) adalah diagram yang digunakan untuk mendesain database dan digunakan untuk merepresentasikan hubungan antara entitas atau objek yang terlihat dan atributnya.

Slide 10

Slide 10 text

Join Tabel Back-End

Slide 11

Slide 11 text

Join Tabel Join tabel adalah kueri yang bisa kita gunakan untuk mengambil data dengan menggabungkan record/baris dari 2 tabel atau lebih yang berdasarkan relasi antara keduanya. Back-End

Slide 12

Slide 12 text

Jenis-Jenis Join Tabel ● INNER JOIN : Mengembalikan nilai yang cocok (matching) dari kedua tabel. ● LEFT (OUTER) JOIN : Mengembalikan semua data dari tabel kiri, dan data yang cocok (matching) dari tabel kanan. ● RIGHT (OUTER) JOIN : Mengembalikan semua data dari tabel kanan, dan data yang cocok dari tabel kiri. ● FULL (OUTER) JOIN : Mengembalikan semua data yang cocok baik dari tabel kiri maupun tabel kanan. Back-End

Slide 13

Slide 13 text

Inner Join Instruksi : Gabungkan data dari tabel "Orders" dengan tabel "Customers" berdasarkan kolom "CustomerID". Hanya baris-baris dengan nilai yang cocok dalam kedua tabel yang akan ditampilkan. Query : select orders.id, orders.price, customers.username, customers.email from customers inner join orders on orders.customer_id = customers.id; Back-End

Slide 14

Slide 14 text

Left Join Instruksi : Gabungkan tabel "Customers" dengan tabel "Orders" berdasarkan kolom "CustomerID". Semua baris dari tabel "Customers" akan ditampilkan, dan baris-baris yang cocok dari tabel "Orders" akan ditampilkan jika ada. Query : select orders.id, orders.price, customers.username, customers.email from customers left join orders on orders.customer_id = customers.id; Back-End

Slide 15

Slide 15 text

Right Join Instruksi : Gabungkan tabel "Customers" dengan tabel "Orders" berdasarkan kolom "CustomerID". Semua baris dari tabel "Orders" akan ditampilkan, dan baris-baris yang cocok dari tabel "Customers" akan ditampilkan jika ada. Query : select orders.id, orders.price, customers.username, customers.email from customers right join orders on orders.customer_id = customers.id; Back-End

Slide 16

Slide 16 text

Outer Join Instruksi : Gabungkan tabel "Customers" dengan tabel "Orders" berdasarkan kolom "CustomerID". Semua baris dari kedua tabel akan ditampilkan, termasuk baris-baris yang tidak cocok di salah satu atau kedua tabel. Query : select orders.id, orders.price, customers.username, customers.email from customers full join orders on orders.customer_id = customers.id; Back-End

Slide 17

Slide 17 text

Constraints Foreign Keys Back-End

Slide 18

Slide 18 text

Foreign Key Foreign key adalah suatu constraint yang menandakan bahwa ada relasi dari data tersebut ke tabel lain. Dengan mengimplementasikannya akan menambahkan constraint pengecekan secara otomatis ke tabel relasi. Back-End

Slide 19

Slide 19 text

Menambahkan Foreign Key id_jabatan: { type: 'VARCHAR(50)', references: 'jabatan(id)', notNull: true, onDelete: 'CASCADE', }, Back-End

Slide 20

Slide 20 text

Menambahkan Foreign Key Back-End

Slide 21

Slide 21 text

Demo: https://github.com/arasopraza/Demo-Developer-Coaching-127.git Back-End

Slide 22

Slide 22 text

Demo: SQL - Run join before add foreign key - Add foreign key - And run join again Code -

Slide 23

Slide 23 text

Feedback! Hadiah: ● 2 Token Langganan Academy (30 Hari) *untuk pengisi feedback terpilih! dicoding.id/devcoachfeedback

Slide 24

Slide 24 text

Thank You arasopraza [email protected] arasopraza Back-End arsyopraza