Salah sawijining konsep sing paling penting ing pangkalan data nggawe hubungan antar tabel basis data. Hubungan kasebut nyedhiyani mekanisme kanggo ngubungaké data sing disimpen ing sawetara tabel lan njupuk kanthi cara sing efisien. Kanggo nggawe link antarane rong tabel, sampeyan kudu nemtokake manca asing ing salah siji tabel sing nuduhake kolom ing tabel liyane.
Tabel Database lan Hubungan
Sampeyan pancen wis ngerti yèn database mung sajrone tabel , kaya apa sing wis sampeyan gunakake ing program spreadsheet , kayata Microsoft Excel. Nyatane, sampeyan bisa malah ngowahi spreadsheet Excel menyang basis data. Yen basis data diverge saka spreadsheets, Nanging, nalika nerangake bangunan hubungan kuat antarane tabel.
Contone, contone, basis data sing digunakake dening perusahaan kanggo nglacak informasi sumber daya manungsa. Database kasebut bisa duwe tabel sing disebut Karyawan sing ngemot informasi ing ngisor iki kanggo saben anggota staf perusahaan:
- ID Karyawan
- FirstName
- LastName
- KantorPhone
- HomePhone
- PosisiID
Ing conto iki, ID pegawe iku integer sing digawé unik kanggo saben pegawe nalika ditambahake ing basis data. ID posisi minangka kode proyek sing digunakake kanggo ngrujuk posisi karyawan ing perusahaan. Ing rencana iki, karyawan mung nduweni siji posisi, nanging karyawan (utawa ora) bisa ngisi saben posisi. Contone, sampeyan bisa duwe atusan karyawan kanthi posisi "Cashier".
Basis data bisa uga ngemot tabel sing disebut Posisi kanthi informasi tambahan ing ngisor iki:
- PosisiID
- Judhul
- ProyekLevel
- SkillCategory
- Lokasi
Bidang Posisi ID ing tabel iki padha karo kolom Employee ID ing tabel karyawan - iku sawijining integer sing digawé kanthi unik nalika posisi ditambah ing basis data.
Nalika kita pindhah menyang daftar karyawan saka basis data, mesthi asli kanggo njaluk jeneng saben wong lan judhul. Nanging, informasi iki disimpen ing sawetara tabel basis data, supaya mung bisa diduweni nggunakake query JOIN sing mbutuhake hubungan sing ana hubungane karo tabel.
Nalika sampeyan ndeleng struktur tabel, lapangan sing nggambarake hubungan kasebut mesthi ketok - kolom Position ID. Saben pegawe bisa mung duwe siji posisi lan posisi kasebut diidentifikasi kanthi kalebu ID Posisi saka entri sing gegandhengan karo posisi Tabel. Saliyane dadi kunci utama kanggo tabel Posisi, ing conto iki, kolom Posisi ID uga minangka kunci manawa saka tabel Karyawan kanggo tabel Posisi. Database kasebut bisa nggunakake lapangan iki kanggo nggayuh informasi saka pirang-pirang tabel lan mesthine manawa owah-owahan utawa tambahan ing basis data tetep bisa ngetrapake integritas rujukan .
Yen wis ngetik tombol manca, sampeyan bisa nerusake lan narik informasi sing dikepengini saka basis data kanthi nggunakake pitakonan ing ngisor iki:
Nggawe Tombol Manca ing SQL Server
Secara teknis, sampeyan ora perlu netepake hubungan kanthi jelas kanggo bisa nindakake pitakon kaya sing kasebut ing ndhuwur. Nanging, yen sampeyan kanthi jelas nemtokake hubungan kasebut nggunakake kendala tombol manca, basis data bakal bisa nindakake sawetara karya omah kanggo sampeyan:
- Nalika sampeyan nambah rekaman anyar menyang tabel Karyawan, basis data bakal njamin yen ID Posisi sing sampeyan lebokna yaiku kunci primer sing bener ing posisi tabel.
- Yen sampeyan ngganti ID Position ing tabel Posisi, basis data bisa nganyari kanggo tabel karyawan kanggo njaga konsistensi.
- Database bisa nglindhungi saka impact saka pambusakan saka posisi saka tabel posisi kanthi salah nolak mbusak posisi karo entri pegawe sing cocog utawa nglakokake pambusakan saka kabeh karyawan sing gegandhengan.
Kene carane nggawe tombol manca ing SQL Server:
ALTER TABLE Karyawan TAKE KEY FOREIGN (PositionID) RENCANA Posisi (PositionID)Sampeyan uga nggawe tombol manca nalika nggawe tabel kanthi nambahake fasal:
Posisi Panggonan Asing (PositionID)kanggo mburi definisi kolom kanggo kolom kunci manca.