Pambuka kanggo Hubungan Database

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 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:

Guru
InstructorID Teacher_Name Course
001 John Doe Inggris
002 Jane Schmoe Math

Tabel Siswa nyakup ID, jeneng, lan kolom manca asing:

Siswa
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