RELASI ANTAR TABEL


1. Pengertian Relasi Antar Tabel

https://images.openai.com/static-rsc-4/bKYRckFUZrwaNCmkwXktDoxmL9Hhv9MpJQwS5ey7z7YG-eRHfs3XRnxyoN5VIPo3AvWftk6mFETJids4Q3H9_wAkuO8ZFY3RyPw99PTXYO-Pa7RttQbNsIpBkApppu4QwRauDxzHry93iIis3LYnEZZFLsXZTh2awfPt7kQun2kcPjcLVrPtbNib7KZXWeEU?purpose=fullsize
https://images.openai.com/static-rsc-4/ryf4-MUwHE8J9Px3fCW9mM4wFagcmiclkhwZTHsMyFDoWNigReYD1kMwyUcn9Bsfq8cy354I98Ri7vIPpYyc6BnYwOE6lvjmCPdYii5eMSHsYysDR5DSnVbfFySUY_PNxmVVyKeTirMt0yB6LzxdEdaEsxxqjvjtCmcXYkh3_ra6vj9zFvrKpGsa4KV2WRpq?purpose=fullsize
https://images.openai.com/static-rsc-4/y8idcHXReaplq5NkSVH19bHRBh4Vt-Sow6wmuXD7dC4YY4RktmRyfgDR2-NBUtP8kvvK0yV57H1W7gAnBsWlsTKqNP5rbH1ySC5uA58eVE4QLTPDlAMh50laUqpnrLPtrO9wUNo-Wv4rQmqC_xOaatnmdq4feUTHPBWMn-s0n7ArCr6p1o-D0hSurwx5FjJy?purpose=fullsize

7

πŸ“– Deskripsi

Relasi antar tabel adalah hubungan antara satu tabel dengan tabel lain dalam database.

🧠 Narasi Penjelasan

Relasi diperlukan karena:

  • Data tidak disimpan dalam satu tabel besar
  • Data dipisah agar efisien
  • Relasi digunakan untuk menghubungkan data

πŸ‘‰ Tanpa relasi, database akan sulit digunakan.


2. Tujuan Relasi Antar Tabel

https://images.openai.com/static-rsc-4/Lt04wNR4GTwGeWWJWbbGwmMUDSDwGjgPaqu-_xS7WhG-WSXx4MlS4a21Hi48MamCdgodwPY4PnDgjjUKEosmow0JimK0ihYaaSM9q--6qVFHztF0GBmQse5ACa9NAEn6dooIGCGDCSPRztzH4sO3RR8Mn8tC9gukrrqcCilHAg-1YUU6rgtKvH9ssx8P3KpC?purpose=fullsize
https://images.openai.com/static-rsc-4/FOOFqk2qOXhk8_r0sXCPEjX9_nwY1ksb6B8CaQw3aHnq7Zl5EqduCph5dq1cEo5dCQQAXuez95Kx1MvdTz5lIG4DNUjbIazRvezXitzJEevsnXBZqZ7imxcOw2lv6RubxlUZV2WLEZUeD8YUJklm3r3kLmzWWrcDpPlKw8tBuErG_JgW-wOzWZ7yAw-7W0I8?purpose=fullsize
https://images.openai.com/static-rsc-4/AsYssYF8wJvvvCVxkRl1v5YDpXiIp_L8yJVRDTMo5D3dZpv6NozfEpYdMe0nH_JCb93CRNf9oZeBrl6Zra62pvwVDIXi4scHkscZCQPPoTb_MpcdEl2hHyRj4aBngp_9UyL3XRGOKeZN_QNk-mBzfk2ZfAKN79Kk-GjsxC3R0cBlsPepZcvDMvHeq1orxwad?purpose=fullsize

8

πŸ“– Deskripsi

Relasi dibuat untuk menghubungkan data.

🧠 Narasi Penjelasan

Tujuan:

  • Menghindari redundansi
  • Menjaga integritas data
  • Mempermudah query
  • Meningkatkan efisiensi

3. Kunci dalam Relasi (Key)

https://images.openai.com/static-rsc-4/L8g105y5Oeb7UvpHfAGgGRZk0z4W9sXlywXRHBSB9I2Rt6J6b4uuS-LOJubeRgiG9jdfAEt7wMbeZ9zTWj-0D3QaNCI3FNmfXkqSX173zf8Jb5XOOwc6v2x64_aqw0W1YTmO56ZtPp3gZ8szrOkzUGD0vr1IOPh0K3BaPt8RylM7IdNyhQESdGLQzKl3fFfj?purpose=fullsize
https://images.openai.com/static-rsc-4/ObB6nK7UOoNtc4OSfswvqkO2cHc8iTIpCJnpBoJOqnCAIQHJ6MMsfz6YgxdqRHyMi2-2o8tgK3wnm2ry62CzZyL93xzCNAmMrgMPG2lOVBInTV2biHV3dkInr4VrihEHYnB3TIRmEyalDhoDVV9vu9-djhIgqIrf1_MUeFell4dpYAhzW8AKdoJ28sBcYCoo?purpose=fullsize
https://images.openai.com/static-rsc-4/Rn3fcojlHpnIpRz10Z3BD15K_PznTqq7eRD_z3SbyKPt2VNJvWILQQclfSNqOkKaNndbo1vI3sDeVqw1JiYHTF6nTCKT5vc-p99zFKtcq_1yu9-Jh6ak-A6eAkK6qQs5SXZur2qvDu0_exLRkZZnO53kxP9U4EvkGL4ufzX4emcEitZXzm7n42s-7g0fT3XA?purpose=fullsize

6

πŸ“– Deskripsi

Relasi dibangun menggunakan key.

🧠 Narasi Penjelasan

πŸ“Š Tabel:

Jenis KeyFungsi
Primary KeyIdentitas unik
Foreign KeyPenghubung tabel

πŸ‘‰ Foreign key mengacu ke primary key.


4. Relasi One-to-One (1:1)

https://images.openai.com/static-rsc-4/yttwcg0utOPA-qnnAIfDY5yjdhvObkvKuIs1GXualandqxya57uy_hoOlJfgTEWhtj6pnvgH_XHfKudpqL3Le9wwq8L6QL5wC7m3rSBkp8_p8MDHkoybEk4qg-Vm_AQSAzBPA35ds2jdP11NZNzvU4u64i2JTzaQ6N9J8k-nTLffmzyeDfl_-EjiXzI9IQoA?purpose=fullsize
https://images.openai.com/static-rsc-4/Za_mqXFnUJKR7tDRyvc0hFyIJqF8CDdB11eQqh-VWNjLB-2o8dvegmW-SAvFBExTTNusVYZfSdyo_pypDSXas8lO_mzNFrnsytTmpXE8MENwBG4AWEBI3KVF4o0QrECL3el2E6jnF8Zjgb2CbgNUIv7mhN5KT_C2WfThfE9hKIUXkz5hOhcDIHLvYdG3sSLa?purpose=fullsize
https://images.openai.com/static-rsc-4/6wam778sbJ4yYFflc-y_7WIN_P11RLM6N6qyxb84nFNAPbMlE5WQpb4BM33x9ELYH7dQNKkG5_ccJh9gAEvTJKg6cQbIeByD3OjTwM8k5_UHsPyMwDHe_aAY4Mn6mxZokWdCKGUnOjkcCiaw0gQMjXkRGd9nvF3g0rVmz7M5fv5Fze3pP8NcXRW9rCnz4KXn?purpose=fullsize

6

πŸ“– Deskripsi

Satu data berhubungan dengan satu data lain.

🧠 Narasi Penjelasan

Contoh:

  • Satu mahasiswa β†’ satu kartu mahasiswa

πŸ‘‰ Jarang digunakan.


5. Relasi One-to-Many (1:N)

https://images.openai.com/static-rsc-4/yttwcg0utOPA-qnnAIfDY5yjdhvObkvKuIs1GXualandqxya57uy_hoOlJfgTEWhtj6pnvgH_XHfKudpqL3Le9wwq8L6QL5wC7m3rSBkp8_p8MDHkoybEk4qg-Vm_AQSAzBPA35ds2jdP11NZNzvU4u64i2JTzaQ6N9J8k-nTLffmzyeDfl_-EjiXzI9IQoA?purpose=fullsize
https://images.openai.com/static-rsc-4/-8NWAJGl7eFECnlDABCLJyVQ9UmIYWPms1HcYY7SiR6LBm5_pMrQHRkbKTHbNtrupRxEkadQNTJseQUxoIfRhNe52MuQ_JOId-YjhreTQaafGLuwttNnV5h-KgcEbbM7FmSnNe10Z71WgtdFg0psMgDfhEyIxKKzmvSkzwLa7a8c4xAExjPq-Hd1HFOwADth?purpose=fullsize
https://images.openai.com/static-rsc-4/y8idcHXReaplq5NkSVH19bHRBh4Vt-Sow6wmuXD7dC4YY4RktmRyfgDR2-NBUtP8kvvK0yV57H1W7gAnBsWlsTKqNP5rbH1ySC5uA58eVE4QLTPDlAMh50laUqpnrLPtrO9wUNo-Wv4rQmqC_xOaatnmdq4feUTHPBWMn-s0n7ArCr6p1o-D0hSurwx5FjJy?purpose=fullsize

7

πŸ“– Deskripsi

Satu data berhubungan dengan banyak data.

🧠 Narasi Penjelasan

Contoh:

  • Satu dosen β†’ banyak mahasiswa

πŸ‘‰ Paling sering digunakan.


6. Relasi Many-to-Many (M:N)

https://images.openai.com/static-rsc-4/yttwcg0utOPA-qnnAIfDY5yjdhvObkvKuIs1GXualandqxya57uy_hoOlJfgTEWhtj6pnvgH_XHfKudpqL3Le9wwq8L6QL5wC7m3rSBkp8_p8MDHkoybEk4qg-Vm_AQSAzBPA35ds2jdP11NZNzvU4u64i2JTzaQ6N9J8k-nTLffmzyeDfl_-EjiXzI9IQoA?purpose=fullsize
https://images.openai.com/static-rsc-4/guDLWfUPjh7oVOIpEy9pHaw0Rw2RDXmDV1GyVj-oPF2EkqqUgfWcwwtvmKddrr0I6RffMQ6MmG23Upc1QRNSvQ_3OztWSyYLBCYyaUiyJ5wIR0-X7W_ZaSPaAifpx3kpB0oVw46rfRi6dJtfnOTc_L7aUxMq6kPh9ZMLqnzaruVElqLdQz9Y9PR9iVeeoZNu?purpose=fullsize
https://images.openai.com/static-rsc-4/M7Dkdhua_S4q6g7RS4wvm7y_xCt4xPyNObc2KduocvwNSB8T99FwJ3JxLKv5FKq2H0fYVhV2vNrHhQrAPOK6lTY79vo0kjuxvWXKiLzyJOmmGdo0Hli2iQJN29czeP_m5i3igpeObvTXDj3HF3o5wBqPNBdlh611BMjIApZ45TXtN0tafEL3-bm1_aj9Pj_B?purpose=fullsize

8

πŸ“– Deskripsi

Banyak data berhubungan dengan banyak data.

🧠 Narasi Penjelasan

Contoh:

  • Mahasiswa ↔ Mata Kuliah

πŸ‘‰ Harus menggunakan tabel penghubung.


7. Tabel Penghubung (Junction Table)

https://images.openai.com/static-rsc-4/CR6RMCmXPl7SzrqXGXK-j4DweHGu8Uxtn99cYEhSEtZYAhQcRCr_awavZEwG1fH6XZwk2Nohg8Ktq-8c2SoYTs5xKLLOTWLUa_On4Telengg-D_P0grOcpM3OWDGdgupa5meJldSimQfQ2J5IQcAS6jEIJvKWxqKDj8YF2D-1XHsYe07Zbx-NhsgKSHoyIX7?purpose=fullsize
https://images.openai.com/static-rsc-4/T6sdv9IpLo2mgoBWwbhhKar7nizVlt5U_IkxOKK14d6hfja71JwqBr2wCi1PfNPeIfwcPFinip-n8u11zhAOiX8Sr1aJgQz1rRSGCf_JeghDikhmHAuKA6AzC4j3VThr-ACfdBvqRneNANCQxbWZbxbxaoHqg4utBSF3VkA1BpnTXFio1yf8KhGcAKfDBJ3M?purpose=fullsize
https://images.openai.com/static-rsc-4/gogZUT-UwrNa6SmwBaer4QGsx2wPdWOaQ8oQnaLmQ4dv55V0W2Iadwb_HWloFGrad0BuaoU93Sy_K2aJmi0Sw9A3PmM_BNVfA3VAScFLtPgMAWNIarDIUThnnl5r13d9_2MOodJ2ePE1qsZpFuEG7QiJ3Rn-A8oOsZoyyz3Hd0P18Hpniz3sOxwgqkg24uTX?purpose=fullsize

8

πŸ“– Deskripsi

Tabel tambahan untuk relasi M:N.

🧠 Narasi Penjelasan

Contoh:

  • Tabel KRS (Mahasiswa-Mata Kuliah)
  • Berisi foreign key dari kedua tabel

8. Integritas Referensial

https://images.openai.com/static-rsc-4/maRCkvE6onqP3V5mrBp0PW7vAoJvMngsEjlGqAFGzB-wKwBXKQQC6laCa0TwJJe16qbIZNl1I4S1cu9uZ85UN0gdGQFXEu-VSWcQfWLPFtI1A9s-uggSHAjthWD39gh6Vs-TvKLhVQyAyYJDElh39Df9MqYWCI8_kuHm--OS6DmfqREvuQcUbb5SzTo-oW23?purpose=fullsize
https://images.openai.com/static-rsc-4/IKELzSM-W7i391NqhnlDfyBR-lEm3qG8gvEOME7Ro-k-l1eIfwe1PTdMflRp3pkxHRLQU0MvKLgRyLPpbxhEbIDROBmcznm-g-fcQgiE9U-3Bswq5Tfev4pXcBlxfNeoxquaNcaa1XtfSxiT7dtTAOj128ctfF1XTkT3_uUgLDCaiwfUXTSe3Qusyy3ChCN9?purpose=fullsize
https://images.openai.com/static-rsc-4/CPQjqXVF67jO_33BfaeFxjIKYwQ8bJBUoa0mBJ2qXcYIs-V9RuzNH1RQa-Gnx4gDUhU5xEGfU8CjYm1hnw87_KCqIwB2c_Ok10a5JSaK2O0BQhMmQ2PoLXEc9Nhc9FOwfWZ9y8IATyOueAadAYkgoDej642YGPW67VlDwSA3s7bHsyqHPtrJ5iMR54eB5s-g?purpose=fullsize

7

πŸ“– Deskripsi

Menjamin hubungan antar tabel tetap valid.

🧠 Narasi Penjelasan

  • Foreign key harus ada di primary key
  • Tidak boleh ada data β€œyatim”

πŸ‘‰ Menjaga konsistensi data.


9. Cascade (ON DELETE / ON UPDATE)

https://images.openai.com/static-rsc-4/oGWJHOG_E0pi45nhSPeh9tNJr1OU_VpihXlj2X0qVN2MQDcxuUD386rteBC20yh7DyelQSPYnTShHZBwZwa_HGmv-sNaXe-QzbcbCq8EcHl3y872JW4eq0tYAMiQn72WXTBnHHR_Xulz4YMWhAt4Tu13uL4lUtsYnL7mmh1wRqpWSPKmaDAgdCyazjhtK8DC?purpose=fullsize
https://images.openai.com/static-rsc-4/3zSQD-BOXchB4mgFipXKh_8VWv04xOKGIaW8RW_4hGEt_Mzly-cZTgHVNEsoD8Y1sEof6xDHaSZUXHDRb9QrqK_FKygxIXYlqnhSCz-45gsRZzmJ8_oWn6I7r_zy9p7ZBbQ0psQnAeDezFGFzcnVKHg9-GZ4Hm7zQuVT4t4WoGF5c3JMMBGfF6wll5nqF7d9?purpose=fullsize
https://images.openai.com/static-rsc-4/QatMyWp7SGH1nrnvxQR6od8UUTKMwhH3Viuro5lJBc8rumHFaT2ZQCNg4IkqmozerWe1vX2LQFPaH9j-OLoH950pY2bsG1_VKH_gDelNL0yess_qo6sZhzZ3GOOcK-zu53auWRM8jnKDXaXdCTOonk9gZ1P21rpPto2edHPVxWRjYl7nI_qqqqgslUVXpfwE?purpose=fullsize

7

πŸ“– Deskripsi

Aturan perubahan data antar tabel.

🧠 Narasi Penjelasan

Jenis:

  • CASCADE
  • SET NULL
  • RESTRICT

πŸ‘‰ Mengatur efek perubahan data.


10. Implementasi Relasi dalam SQL

https://images.openai.com/static-rsc-4/L8g105y5Oeb7UvpHfAGgGRZk0z4W9sXlywXRHBSB9I2Rt6J6b4uuS-LOJubeRgiG9jdfAEt7wMbeZ9zTWj-0D3QaNCI3FNmfXkqSX173zf8Jb5XOOwc6v2x64_aqw0W1YTmO56ZtPp3gZ8szrOkzUGD0vr1IOPh0K3BaPt8RylM7IdNyhQESdGLQzKl3fFfj?purpose=fullsize
https://images.openai.com/static-rsc-4/0TPm8UpoMuirBCpbnW1ns-OupuIodapQbrqEB0RoICKbhYBc4y2nVP87ajAPuh51IOUloOMmo-WK7hdwYoLkED0I0i-JveTzJPhbIQPoWKQAabbmw49GobDzEBn6dmqKwol7ovruuU1gOLJ8DxSa-wtwyhIW4CpJn5AKjnl5U7tpnmlYBol_g8V7saQ3liQC?purpose=fullsize
https://images.openai.com/static-rsc-4/cPe0fMMvtIjraBGY5rCcjjbC8AM47sYOy4dGHiL4YR-9gYxe0GuuMP-5U6w_AnJGhJ9b5UTG53AX-YWhotVdnpJMCncQUVav27nEHi96KXndN6_kcw8AQBYqvhjrHDgYnFkn21GIvweBFXV04w9UsAeYQybsrBzGolgvqeJaMh3zGquZUNHXoCAhWWxiuECZ?purpose=fullsize

8

πŸ“– Deskripsi

Relasi dibuat menggunakan SQL.

🧠 Narasi Penjelasan

Contoh:

CREATE TABLE mahasiswa (
id INT PRIMARY KEY,
nama VARCHAR(50)
);CREATE TABLE nilai (
id INT,
nilai INT,
FOREIGN KEY (id) REFERENCES mahasiswa(id)
);

11. Join dalam Relasi Tabel

https://images.openai.com/static-rsc-4/KovWQCl1feoSaqMPWrSMsUOq8sjs1R86VvkejrR3oEYhJaECepoqVZOHtZ3JdW416L5bjv282woedH-Conf4zOOwvdWcLeUmrfwKux9O2ewKNTCbJm4ZjZt-ZPXMbOrRVvzR1Tl6hf5vnw-FHkksiipouoUhqZ0O_vF_EZak1Xr9uKhyOb-3Eqs-jTEPnJj0?purpose=fullsize
https://images.openai.com/static-rsc-4/VCskIbSta0ck0EhdotogVZjdVEZOd6ufEEZ8FZtF1f-d7MG3Eao6XRk3jvlKcO1_HkfFIx3-LoD73JtnEZZdl9QgeMsa003lLDgc1rOFco6wjuMswdsO4B-GRkh6xkjnyUfSejJK0L7gFTnKWkiDFesLo5i8W-j2xqB6twn6TS8aKHsS_SVvESkiQnzqwCMa?purpose=fullsize
https://images.openai.com/static-rsc-4/Y46d3B8s_71PWKEny7XyWymYSqZ05Fu5dKZenDILAWPMeGWg4ri8r_iC2YYni-eaYa_q3vye2qEAIEwMKOQdtt5tZsxGv45puQeOW1OYICQDdIE1RQQQaYGF6hNmG4IiHdOmWM59vU86-MTfIny9jeZJac6HJ5228gktGhFPx--0xKjrZk1vKEvbnMPwMM_S?purpose=fullsize

9

πŸ“– Deskripsi

Menggabungkan data dari beberapa tabel.

🧠 Narasi Penjelasan

Jenis:

  • INNER JOIN
  • LEFT JOIN
  • RIGHT JOIN

12. Contoh Studi Kasus

https://images.openai.com/static-rsc-4/Qd6JRfzTFnAJwbxqiocC4Ot1yN1R7KHLPrOL-behHfKPc5tY19M-z-sCDeCQ0CANiGog0fwFWr5a4w_oYz7wEt2UmvVabH2t9ZhGdegS9SUcP5pqohoJzjaaEV_4n5E8GPw4ICgwN-TxdbOg8sl4NLhyiYbHIa_APX_nckU-k9n87yjbPPQlNnbCWogC4QXa?purpose=fullsize
https://images.openai.com/static-rsc-4/I3cGctL_QfEGdA7X_f8-nMEfoKF8QsDKXsPRGMqgzEAdELFFlFOzxA0_lADP62DrLVsQsRqhyJMzKS1uxmgPX5NDLFyMG0YRDGk74OX_QOTNZEYbARaEM72Hr2Trx47397oNlHuQDFqC4ZkJ3o5pQIr_a_q5Ly2QyaBHCrgE0llVH1xjtnYNaVEdRyNpoo96?purpose=fullsize
https://images.openai.com/static-rsc-4/ci0cga523JwrTLCj0aWzhmBS_ylLK-aK-EwSwyUaaT60HSsKqyq5Y_u5WkA14e2DuDk6aRzcrbby9VNE8JhRFJofEI28D7rvlUL5xwCe9_O1hXMG5KWTA8PgPPrHGPiXUuA2c_4-fq_7_6VqZm6l4-YwWmJ7zre9wiUu65Lq2yGi-IaKWtl0lOKwMx_fJhzJ?purpose=fullsize

7

πŸ“– Deskripsi

Penerapan relasi dalam sistem nyata.

🧠 Narasi Penjelasan

  • Mahasiswa
  • Mata Kuliah
  • KRS

13. Kelebihan Relasi Antar Tabel

πŸ“– Deskripsi

Manfaat penggunaan relasi.

🧠 Narasi Penjelasan

  • Data lebih rapi
  • Mengurangi duplikasi
  • Fleksibel

14. Kekurangan Relasi Antar Tabel

πŸ“– Deskripsi

Keterbatasan relasi.

🧠 Narasi Penjelasan

KekuranganPenjelasan
Query kompleksBanyak join
PerformaBisa lambat

15. Ringkasan Materi

πŸ“– Deskripsi

Inti pembelajaran.

🧠 Narasi Penjelasan

  • Relasi menghubungkan tabel
  • Menggunakan primary & foreign key
  • Terdiri dari 1:1, 1:N, M:N

16. Kesimpulan

  • Relasi antar tabel adalah inti database relasional
  • Membantu pengelolaan data secara efisien
  • Wajib dipahami dalam desain database

🎯 LATIHAN / DISKUSI

  1. Apa itu relasi tabel?
  2. Jelaskan 1:N dan M:N!
  3. Apa fungsi foreign key?

πŸ“ TUGAS

  • Buat database:
    • Mahasiswa & Mata Kuliah
  • Tentukan:
    • Relasi
    • Primary key
    • Foreign key