hubungan databés téh tulang tonggong sadaya basis data relational
Hiji hubungan dijieun antara dua tabel database nalika hiji méja ngabogaan konci asing anu rujukan tombol primér tabel sejen. Ieu konsép dasar balik istilah database relational.
Kumaha hiji Key Luar Karya pikeun nyieun Hubungan
Hayu urang marios dasar tina kenop primér sarta asing. Hiji konci primér uniquely nangtukeun unggal catetan dina méja. Ieu mangrupakeun tipe konci calon anu biasana kolom kahiji dina méja tur bisa otomatis dihasilkeun ku databés pikeun mastikeun yén éta téh unik.
Hiji konci asing mangrupakeun konci calon sejen (henteu tombol primér) dipaké pikeun numbu catetan pikeun data dina tabél sejen.
Contona, anggap dua tabel ieu nu nangtukeun mana guruna ngajarkeun nu tangtu.
Di dieu, konci primér dina Kursus-kursus tabel nyaéta Course_ID. konci asing nyaeta Teacher_ID:
Course_ID | Course_Name | Teacher_ID |
---|---|---|
Course_001 | biologi | Teacher_001 |
Course_002 | math | Teacher_001 |
Course_003 | Inggris | Teacher_003 |
Anjeun tiasa ningali yén konci asing di Kursus-kursus cocog hiji konci primér dina Guru:
Teacher_ID | Teacher_Name |
---|---|
Teacher_001 | Carmen |
Teacher_002 | Veronica |
Teacher_003 | Jorge |
Urang bisa nyebutkeun yén Teacher_ID konci asing geus mantuan ngadegkeun hubungan antara Kursus-kursus jeung tabel Guru.
Rupa databés hubungan
Ngagunakeun kenop asing, atawa kenop calon séjén, anjeun tiasa nerapkeun tilu rupa hubungan antara tabel:
Hiji-to-hiji: tipe ieu hubungan ngamungkinkeun ngan hiji catetan dina saban gigir hubungan.
Tombol primér relates to ngan hiji catetan - atawa taya - dina tabél sejen. Contona, dina nikah, unggal salaki boga ngan hiji salaki lianna. jenis ieu hubungan bisa dilaksanakeun dina tabel tunggal jeung kituna henteu ngagunakeun konci asing.
Hiji-to-loba: A hubungan hiji-ka-loba ngamungkinkeun rékaman tunggal dina hiji méja bisa patali jeung sababaraha rékaman dina tabél sejen.
Mertimbangkeun bisnis kalayan database nu boga Konsumén na ordo tabel.
A customer tunggal tiasa mésér sababaraha pesenan, tapi hiji urutan tunggal teu bisa numbu ka sababaraha konsumén. Kituna tabel pesenan bakal ngandung hiji konci asing anu loyog tombol primér tabel Konsumén, bari tabel Konsumén bakal boga ngarah konci asing kana méja pesenan.
Loba-to-loba: Ieu hubungan kompléks nu loba rékaman di méja bisa numbu ka loba rékaman dina tabél sejen. Contona, bisnis urang meureun perlu henteu ngan Konsumén na ordo tabel, tapi dipikaresep ogé perlu hiji méja Produk.
Deui, hubungan antara Konsumén na ordo méja hiji-ka-loba, tapi nganggap hubungan antara pesenan sarta Produk méja. Hiji urutan bisa ngandung sababaraha produk, sarta produk anu bisa numbu ka sababaraha ordo: sababaraha konsumén bisa ngalebetkeun hiji urutan nu ngandung sababaraha produk anu sarua. jenis ieu hubungan merlukeun di minimum tilu tabel.
Naon hubungan databés penting?
Ngadegkeun hubungan konsisten antara tabel database mantuan mastikeun integritas data, contributing ka normalisasi database. Contona, kumaha lamun urang teu numbu tabel sagala ngaliwatan konci asing na gantina ngan digabungkeun data di Kursus-kursus na Guru tabel, kawas kitu:
Teacher_ID | Teacher_Name | kursus |
---|---|---|
Teacher_001 | Carmen | Biology, math |
Teacher_002 | Veronica | math |
Teacher_003 | Jorge | Inggris |
Desain Ieu inflexible tur ngalanggar prinsip mimiti normalisasi database, munggaran Normal Bentuk (1NF), anu nyebutkeun yén unggal sél tabel kedah ngandung hiji tunggal, sapotong diskrit data.
Atawa sugan we mutuskeun mun saukur nambahan hiji catetan kadua pikeun Carmen, guna ngalaksanakeun 1NF:
Teacher_ID | Teacher_Name | kursus |
---|---|---|
Teacher_001 | Carmen | biologi |
Teacher_001 | Carmen | math |
Teacher_002 | Veronica | math |
Teacher_003 | Jorge | Inggris |
Ieu masih desain lemah, ngawanohkeun duplikasi perlu jeung naon nu disebut anomali data panempatan, nu ngan ngandung harti yén éta bisa nyumbang kana data inconsistent.
Contona, upami guru boga sababaraha rékaman, kumaha lamun sababaraha data perlu diedit, tapi jalma ngajalankeun anu ngedit data henteu nyadar yén sababaraha rékaman aya? tabél lajeng bakal ngandung data béda pikeun individu sarua, tanpa wae cara jelas pikeun ngaidentipikasi atawa ulah eta.
Megatkeun tabel ieu kana dua tabel, Guru sarta Kursus-kursus (sakumaha visualized luhur), nyiptakeun hubungan ditangtoskeun antara data sahingga mantuan mastikeun konsistensi data jeung akurasi.