Hubungan Database

Hubungan basis data minangka backbone saka kabeh database hubungan

Sawijining hubungan diadegaké ing antarane rong tabel basis data nalika salah sawijining tabel duwé manéka asing sing nyathet tombol utama meja liyané. Iki minangka konsep dhasar ing istilah database hubungan.

Kepiye Kunci Keyakinan Asing kanggo Nggawe Hubungan

Ayo nliti dasar-dasar kunci primer lan manca. Tombol utama unik ngenali saben cathetan ing tabel. Iku jinis kunci calon sing biasane dadi kolom kapisan ing meja lan bisa kanthi otomatis digawe dening basis data kanggo mesthekake yen unik.

Kunci manca minangka tombol calon liyane (ora kunci utama) sing digunakake kanggo ngubungake rekaman menyang data ing tabel liyane.

Contone, waca tabel iki loro sing ngenali guru sing mesthi wae.

Ing ngisor iki, kunci utama Tabel kursus yaiku Course_ID. Kunci manca iku Guru_ID:

Kursus
Course_ID Course_Name Guru_ID
Course_001 Biologi Guru_001
Course_002 Math Guru_001
Course_003 Inggris Guru_003

Sampeyan bisa ndeleng yen kunci manca ing Kursus cocog kunci utama Guru:

Guru
Guru_ID Teacher_Name
Guru_001 Carmen
Guru_002 Veronica
Guru_003 Jorge

Kita bisa nyatake yen kunci Foreign Teacher_ID mbantu mbentuk hubungan antarane Kurikulum lan Kurikulum.

Jenis Hubungan Database

Nggunakake tombol manca, utawa tombol calon liyane, sampeyan bisa ngetrapake telung jinis hubungan antarane tabel:

Siji-kanggo-siji : Hubungan jinis iki ngidini mung siji rekaman ing saben sisih hubungan.

Tombol utami mung kanggo siji rekaman - utawa ora ana - ing meja liyane. Contone, ing pernikahan, saben pasangan duwe siji pasangan liyane. Hubungan iki bisa diasilake sajrone tabel siji lan ora nggunakake tombol manca.

Siji-kanggo-akeh : Hubungan siji-kanggo-akeh ngidini rekaman siji ing siji tabel bakal ana hubungane karo pirang-pirang cathetan ing tabel liyane.

Coba bisnis karo basis data sing nduweni tabel Pelanggan lan Pesenan.

Pelanggan siji bisa tuku pirang-pirang pesenan, nanging siji pesanan ora bisa disambung menyang pirang-pirang pelanggan. Mulane Tabel Pesenan bakal ngemot tombol manca sing cocog karo kunci utama tabel Pelanggan, dene tabel Pelanggan ora ana tombol manca sing nuduhake poin Pesenan.

Many-to-many : Iki hubungan rumit sing akeh cathetan ing tabel bisa nyambung menyang akeh cathetan ing tabel liyane. Contone, bisnis kita mbokmenawa ora mung butuh tabel Pelanggan lan Pesenan, nanging uga butuh tabel Produk.

Maneh, sesambetan antarane tabel Pelanggan lan Pesenan minangka siji-kanggo-akeh, nanging nimbang hubungan antarane Order lan Prodhuk tabel. Urutan bisa ngemot macem-macem produk, lan produk bisa digandhengake karo sawetara pesenan: sawetara pelanggan bisa ngirim order sing ngemot sawetara produk sing padha. Iki jenis hubungan minimalake telung tabel.

Apa Database Relationships Penting?

Nggawe hubungan sing konsisten antarane tabel basis data mbantu njamin integritas data, nyumbang kanggo normalisasi database. Contone, apa yen kita ora nandhani tabel apa wae liwat tombol manca lan mung nggabungake data ing tabel Kursus lan Guru, kaya mangkono:

Guru lan Kursus
Guru_ID Teacher_Name Course
Guru_001 Carmen Biologi, Matematika
Guru_002 Veronica Math
Guru_003 Jorge Inggris

Desain iki inflexibel lan nerak prinsip pisanan saka normalisasi database, Formula Normal Pertama (1NF), sing nyatakake saben sel tabel kudu ngemot data data tunggal sing diskret.

Utawa mbok menawa aku mutusaké kanggo nambah rekaman liya kanggo Carmen, supaya bisa ngleksanakake 1NF:

Guru lan Kursus
Guru_ID Teacher_Name Course
Guru_001 Carmen Biologi
Guru_001 Carmen Math
Guru_002 Veronica Math
Guru_003 Jorge Inggris

Iki isih desain sing ringkih, ngenalake duplikasi sing ora perlu lan apa sing disebut anomali penyisipan data , sing mung tegese bisa nyumbang data ora konsisten.

Contone, yen guru duwe pirang-pirang cathetan, apa yen sawetara data kudu diowahi, nanging wong sing nggawe editing data ora nyathet yen ana pirang-pirang cathetan? Tabel bakal ngemot data sing beda kanggo individu sing padha, tanpa cara sing jelas kanggo ngenali utawa nyegah.

Ngilangi tabel iki dadi rong tabel, Guru lan Kursus (kaya digambarake ing ndhuwur), nggawe hubungan sing bener antarane data lan mulane mbantu njamin konsistensi data lan akurasi.