Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Slide DevCoach

shabilla
April 11, 2024
6

Slide DevCoach

DevCoach 127 : Back-End | Memperbaiki schema database dengan normalisasi

shabilla

April 11, 2024
Tweet

Transcript

  1. Developer Coaching #125 • Mengenal anomali pada Database • Mengenal

    normalisasi Database • Tahapan normalisasi Database Back-End
  2. Desain basis data yang tidak tepat menjadi masalah umum yang

    menyebabkan performa database. ̶F̶u̶n̶ fact Back-End
  3. Agenda • Mengetahui constraints Foreign Keys. • Mengetahui penggunaan query

    - JOIN. • Mengenal Entity-Relationship Diagram (ERD) • Contoh fitur aplikasi yang menerapkan normalisasi Back-End
  4. 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
  5. 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.
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. Demo: SQL - Run join before add foreign key -

    Add foreign key - And run join again Code -
  14. Feedback! Hadiah: • 2 Token Langganan Academy (30 Hari) *untuk

    pengisi feedback terpilih! dicoding.id/devcoachfeedback