Bubuka keur databés hubungan

Databés istilah "relational" atawa "hubungan" ngajelaskeun cara nu data dina tabel disambungkeun.

Pendatang ka dunya basis data mindeng boga waktu teuas ningali bédana antara database na spreadsheet a. Éta tingali tabél data jeung ngakuan yén basis data ngidinan Anjeun pikeun ngatur tur data query dina cara anyar, tapi kalah ka nangkep significance tina hubungan antara data nu masihan téhnologi database relational ngaranna.

Hubungan ngidinan Anjeun pikeun nerangkeun sambungan antara tabel database béda dina cara kuat. hubungan ieu tiasa lajeng jadi leveraged nedunan kuat queries cross-tabel, katelah ngagabung.

Rupa databés hubungan

Aya tilu tipena béda hubungan database, unggal dingaranan dumasar kana Jumlah jajar tabel nu bisa jadi aub dina hubungan. Unggal tilu jenis hubungan ieu aya di antara dua tabel.

Timer ngarujuk hubungan: A Case Husus

hubungan timer ngarujuk lumangsung nalika aya ngan hiji méja aub. Hiji conto umum nyaeta hiji méja pagawé nu ngandung émbaran ngeunaan ngawas unggal pagawe. Unggal ngawas oge hiji pagawe tur boga nya ngawas sorangan. Dina hal ieu, aya hubungan hiji-ka-loba timer ngarujuk, sakumaha unggal pagawe boga salah ngawas, tapi tiap ngawas bisa ngabogaan leuwih ti hiji pagawe.

Nyieun hubungan jeung kenop Luar

Anjeun nyieun hubungan antara tabel ku nangtukeun hiji konci asing konci .This ngabejaan databés relational kumaha tabél nu patali. Dina loba kasus, hiji kolom dina Table A ngandung kenop primér nu referenced ti Table B.

Mertimbangkeun deui conto ti Guru na tabel Murid. Tabel Guru ngandung ngan hiji ID, ngaran, sarta kolom tangtu:

guru
InstructorID Teacher_Name kursus
001 John Doe Inggris
002 Jane Schmoe math

Tabel Murid ngawengku ID hiji, ngaran, sarta kolom konci asing:

murid
StudentID Student_Name Teacher_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Méndez 002
0203 Monica Jones 001

Kolom Teacher_FK dina tabel Murid rujukan nu nilai konci primér tina hiji instruktur dina tabel Guru.

Remen, désainer database bakal ngagunakeun "PK" atawa "FK" dina nami kolom ka gampang ngaidentipikasi hiji konci primér atawa kolom konci asing.

Catet yén dua tabel ieu ngagambarkeun hubungan hiji-ka-loba di antara guru jeung siswa.

Hubungan jeung Referential Integritas

Sakali anjeun geus ditambahkeun hiji konci asing kana méja, anjeun lajeng bisa nyieun hiji Konstrain database nu enforces integritas referential antara dua tabel. Ieu ensures yén hubungan antara tabel tetep konsisten. Nalika hiji méja ngabogaan konci asing kana méja sejen, konsep integritas referential nyebutkeun yén sagala nilai konci asing di Table B kudu ngarujuk ka catetan aya di Table A.

ngalaksanakeun hubungan

Gumantung kana databés, anjeun nerapkeun hubungan antara tabel di cara béda. Microsoft Aksés nyadiakeun wizard nu gampang ngidinan Anjeun pikeun numbu tabel sarta ogé ngalaksanakeun integritas referential.

Lamun aya tulisan SQL langsung, Anjeun mimitina bakal nyieun ka Guru tabel, nyatakeun ID hiji kolom janten tombol primér:

Nyieun tabél Guru (

InstructorID INT AUTO_INCREMENT primér konci,
Teacher_Name VARCHAR (100),
Tangtu VARCHAR (100)
);

Lamun anjeun jieun tabel Murid, Anjeun ngabewarakeun kolom Teacher_FK jadi konci asing ngarujuk kolom InstructorID dina tabél Guru ':

Jieun Murid tabel (
StudentID INT AUTO_INCREMENT primér konci,
Student_Name VARCHAR (100), Teacher_FK INT,
Asing konci (Teacher_FK) rujukan Guru (InstructorID))
);

Ngagunakeun hubungan ka Gabung Tables

Sakali anjeun geus dijieun salah sahiji atawa leuwih hubungan databés anjeun, anjeun tiasa ngungkit kakuatan ku cara ngagunakeun SQL gabung queries ngagabungkeun informasi ti sababaraha tabel. tipe nu paling umum dina gabung mangrupakeun SQL jero gabung, atawa basajan gabung. jenis ieu gabung mulih sadayana rékaman nu minuhan gabung kaayaan tina sababaraha tabel. Contona, ieu gabung kaayaan bakal mulang ka Student_Name, Teacher_Name, sarta Kursus dimana tombol asing dina tabel Murid cocog tombol primér dina tabel Guru:

MILIH Students.Student_Name, Teachers.Teacher_Name, Teachers.Course
FROM Murid
Batin gabung Guru
ON Students.Teacher_FK = Teachers.InstructorID;

pernyataan ieu ngahasilkeun tabel hal kawas kieu:

Balik Table ti SQL anu Gabung Pernyataan

Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish