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.
- Hiji-to-hiji hubungan lumangsung nalika unggal éntri dina tabel munggaran boga salah, sarta ngan hiji, tara dina tabel kadua. Hiji-to-hiji hubungan anu jarang dipaké alatan mindeng leuwih efisien keur saukur nempatkeun sakabéh informasi dina hiji méja tunggal. Sababaraha désainer database ulah ngamangpaatkeun hubungan ieu ku nyieun tabel nu ngandung hiji sawaréh ti data tina tabel nu sejen.
- Hiji-to-loba hubungan anu tipe nu paling umum dina hubungan database. Éta kajadian nalika unggal catetan di Table A pakait jeung salah sahiji atawa leuwih rékaman di Table B, tapi unggal catetan di Table B pakait jeung ngan hiji catetan di Table A. Contona, hubungan antara hiji méja Guru sarta méja Murid dina Sakola Dasar database dipikaresep bakal jadi hubungan hiji-ka-loba, sabab tiap murid boga ngan hiji guru, tapi tiap guru boga sababaraha siswa. Desain Ieu salah-to-loba mantuan ngaleungitkeun data duplicated.
- Loba-to-loba hubungan lumangsung nalika unggal catetan di Table A pakait jeung salah sahiji atawa leuwih rékaman di Table B, sarta unggal catetan di Table B pakait jeung salah sahiji atawa leuwih rékaman di Table A. Contona, hubungan antara a Guru sarta Kursus-kursus méja dipikaresep bakal jadi loba-to-loba lantaran unggal guru bisa ngalatih leuwih ti hiji tangtu, sarta masing-masing tangtu bisa mibanda leuwih ti hiji instruktur.
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:
InstructorID | Teacher_Name | kursus |
---|---|---|
001 | John Doe | Inggris |
002 | Jane Schmoe | math |
Tabel Murid ngawengku ID hiji, ngaran, sarta kolom konci asing:
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