Istilah database "hubungan" utawa "hubungan" nggambarake cara data sing ana ing tabel kasebut.
Pendatang anyar ing donya basis data kerep duwe wektu angel ningali prabédan antarane database lan spreadsheet. Padha ndeleng tabel data lan ngenali manawa data kasebut bisa ngatur lan ngatur data kanthi cara anyar, nanging ora bisa nemokake signifikansi hubungan antarane data sing menehi jeneng teknologi relational database.
Relationships ngijini sampeyan kanggo njlèntrèhaké sambungan antara tabel basis data sing beda kanthi cara sing kuat. Hubungan kasebut banjur bisa dimanfaatake kanggo nindakake pitakon salib tabel sing kuat, sing dikenal minangka gabungan.
Jenis Hubungan Database
Ana telung jinis hubungan basis data, saben dijenengi miturut nomer tabel sing ana ing hubungan kasebut. Saben jinis telung jinis ana ing antarane rong tabel.
- Hubungan siji-kanggo-siji dumadi nalika saben entri ing tabel pisanan nduweni siji, lan mung siji, pasangan ing tabel kapindho. Hubungan siji-kanggo-siji jarang dipigunakaké amarga kerep luwih èfèktif kanggo mung nglebokaké kabeh informasi ing sawijining tabel. Sawetara perancang basis data nggawe kauntungan saka hubungan iki kanthi nggawe tabel sing ngemot bagean saka data saka tabel liyane.
- Hubungan siji-kanggo-akeh iku jinis hubungan basis data sing paling umum. Iki kedadeyane nalika saben rekaman ing Tabel A cocog karo siji utawa luwih cathetan ing Tabel B, nanging saben rekaman ing Tabel B cocog karo mung siji rekaman ing Tabel A. Contone, hubungan antarane Tabel Guru lan Tabel Siswa ing sekolah dasar basis data bakal dadi hubungan siji-kanggo-akeh, amarga saben siswa mung nduweni siji guru, nanging saben guru nduweni akeh siswa. Rancangan siji-kanggo-akeh iki mbantu ngilangi data sing diduplikasi.
- Hubungan akeh banget dumadi nalika saben cathetan ing Tabel A cocog karo siji utawa luwih cathetan ing Tabel B, lan saben cathetan ing Tabel B cocog karo siji utawa luwih cathetan ing Tabel A. Contone, hubungan antarane Guru lan Kursus Tabel bakal luwih akeh tinimbang saben guru bisa nglatih luwih saka siji, lan saben kursus uga duwe luwih saka siji instruktur.
Hubungan Timer Timer: Kasus Khusus
Hubungan sesambungan kasebut dumadi nalika mung ana siji tabel. Contone, tuladhane yaiku tabel karyawan sing ngandhut informasi babagan pengawas saben karyawan. Saben supervisor uga karyawan lan nduweni pengawas dhewe. Ing kasus iki, ana hubungan siji-kanggo-akeh hubungan, kayata saben karyawan nduweni siji pengawas, nanging saben supervisor bisa duwe luwih saka siji karyawan.
Nggawe Hubungan Kanthi Key Manca
Sampeyan nggawe sesambetan ing antarane tabel kanthi nemtokake manéka kunci . Tombol kasebut nyathet dhaptar relasi babagan tabel sing gegandhengan. Ing akeh kasus, kolom ing Tabel A ngandhut kunci utama sing diwaca saka Tabel B.
Delengen conto conto tabel Guru lan Siswa. Tabel Teachers ngandhut mung ID, jeneng, lan kolom dalan:
InstructorID | Teacher_Name | Course |
---|---|---|
001 | John Doe | Inggris |
002 | Jane Schmoe | Math |
Tabel Siswa nyakup ID, jeneng, lan kolom manca asing:
StudentID | Student_Name | Guru_FK |
---|---|---|
0200 | Lowell Smith | 001 |
0201 | Brian Short | 001 |
0202 | Corky Mendez | 002 |
0203 | Monica Jones | 001 |
Ing kolom Teacher_FK ing tabel Siswa referensi nilai utama utami instruktur ing Tabel Guru.
Asring, perancang basis data bakal nggunakake "PK" utawa "FK" ing jeneng kolom kanggo gampang ngenali kunci utama utawa kolom tombol manca.
Elinga yen tabel iki loro nggambarake hubungan siji-kanggo-akeh antarane guru lan siswa.
Hubungan lan Integritas Referensial
Sawise sampeyan nambah kunci manca menyang meja, sampeyan banjur bisa nggawe kendala basis data sing nggenakake integritas referential antarane rong tabel. Iki mesthine hubungan antarane tabel tetep konsisten. Nalika salah siji tabel nduweni tombol manca menyang tabel liyane, konsep integritas referensial nyatakake yen nilai manca asing ing Tabel B kudu ngrujuk marang rekaman sing ana ing Tabel A.
Ngleksanakake Hubungan
Gumantung ing basis data, sampeyan ngleksanakake sesambungan antarane tabel kanthi cara sing beda-beda. Microsoft Access nyedhiyakake panuntun sing gampang ngidini sampeyan ngubungake tabel lan uga ngleksanakake integritas referensial.
Yen nulis SQL langsung, sampeyan bakal nggawe Guru awal, nyatakake kolom ID dadi kunci utama:
Nggawe Guru Tugas (
InstructorID INT AUTO_INCREMENT PRIMARY KEY,
Teacher_Name VARCHAR (100),
Course VARCHAR (100)
);
Nalika sampeyan nggawe tabel Siswa, sampeyan nyatake kolom Teacher_FK dadi kunci manca sing nuduhake kolom InstructorID ing tabel Guru:
CREATE TABLE Students (
StudentID INT AUTO_INCREMENT PRIMARY KEY,
Student_Name VARCHAR (100), Teacher_FK INT,
FOREIGN KEY (Teacher_FK) RUJUKAN Guru (InstructorID))
);
Nggunakake Hubungan Nggabungake Tabel
Sawise sampeyan nggawe siji utawa luwih sesambungan ing basis data, sampeyan bisa nggunakake kekuwatan kanthi nggunakake pitakon SQL JOIN kanggo nggabungake informasi saka sawetara tabel. Tipe sing paling umum gabung yaiku SQL INNER JOIN, utawa gabung sederhana. Jenis gabungan iki ngasilake kabeh cathetan sing ketemu kondisi gabung saka pirang-pirang tabel. Contone, kondisi JOIN iki bakal ngasilake Student_Name, Teacher_Name, lan Course ing ngendi kunci manca ing tabel Siswa cocok karo kunci utama ing tabel Guru:
Pilih Students.Student_Name, Teachers.Teacher_Name, Teachers.Course
FROM Students
INNER JOIN Teachers
ON Students.Teacher_FK = Teachers.InstructorID;
Pernyataan iki ngasilake tabel kaya iki:
Bali Tabel saka SQL Join Statement
Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish