Pengenalan kepada Hubungan Pangkalan Data

Isi kandungan:

Pengenalan kepada Hubungan Pangkalan Data
Pengenalan kepada Hubungan Pangkalan Data
Anonim

Istilah pangkalan data perhubungan dan perhubungan menerangkan cara data dalam jadual disambungkan. Pangkalan data hubungan terdiri daripada satu siri dua atau lebih jadual yang dipautkan oleh kunci tertentu. Pangkalan data hubungan berbeza daripada pangkalan data tidak berstruktur, yang biasa digunakan dalam inisiatif data besar. Pangkalan data perkaitan cenderung memerlukan peraturan yang ketat tentang cara jadual ditakrifkan dan perkara yang membentuk perhubungan yang sah antara jadual.

Image
Image

Jenis Hubungan Pangkalan Data

Perhubungan membolehkan anda menerangkan hubungan antara jadual pangkalan data dengan cara yang berkesan. Perhubungan ini kemudiannya boleh dimanfaatkan untuk melaksanakan pertanyaan merentas jadual yang berkuasa, yang dikenali sebagai JOINs.

Terdapat tiga jenis perhubungan pangkalan data, setiap satu dinamakan mengikut bilangan baris jadual yang terlibat dalam perhubungan itu. Setiap daripada tiga jenis perhubungan ini wujud antara dua jadual.

  • Hubungan satu-dengan-satu berlaku apabila setiap entri dalam jadual pertama hanya mempunyai satu pasangan dalam jadual kedua. Hubungan satu dengan satu jarang digunakan kerana selalunya lebih cekap untuk meletakkan semua maklumat dalam satu jadual. Sesetengah pereka bentuk pangkalan data memanfaatkan hubungan ini dengan membuat jadual yang mengandungi subset data daripada jadual lain.
  • Perhubungan satu-dengan-banyak ialah jenis perhubungan pangkalan data yang paling biasa. Ia berlaku apabila setiap rekod dalam Jadual A sepadan dengan satu atau lebih rekod dalam Jadual B, tetapi setiap rekod dalam Jadual B sepadan dengan hanya satu rekod dalam Jadual A. Contohnya, hubungan antara jadual Guru dan jadual Pelajar di sekolah rendah pangkalan data mungkin akan menjadi hubungan satu-ke-banyak kerana setiap pelajar hanya mempunyai seorang guru, tetapi setiap guru mempunyai beberapa pelajar. Reka bentuk satu-ke-banyak ini membantu menghapuskan data pendua.
  • Hubungan banyak-dengan-banyak berlaku apabila setiap rekod dalam Jadual A sepadan dengan satu atau lebih rekod dalam Jadual B, dan setiap rekod dalam Jadual B sepadan dengan satu atau lebih rekod dalam Jadual A. Contohnya, hubungan antara jadual Guru dan jadual Kursus berkemungkinan besar-ke-banyak kerana setiap guru boleh mengarahkan lebih daripada satu kursus dan setiap kursus mungkin mempunyai lebih daripada seorang pengajar.

Barisan Bawah

Hubungan rujukan kendiri berlaku apabila terdapat hanya satu jadual yang terlibat. Satu contoh biasa ialah jadual Pekerja yang mengandungi maklumat tentang penyelia setiap pekerja. Setiap penyelia juga merupakan pekerja dan mempunyai penyelia. Dalam kes ini, terdapat hubungan rujukan kendiri satu dengan ramai, kerana setiap pekerja mempunyai seorang penyelia, tetapi setiap penyelia mungkin mempunyai lebih daripada seorang pekerja.

Mewujudkan Perhubungan Dengan Kunci Asing

Anda membuat perhubungan antara jadual dengan menentukan kunci asing. Kunci ini memberitahu pangkalan data hubungan bagaimana jadual berkaitan. Dalam kebanyakan kes, lajur dalam Jadual A mengandungi kunci utama yang dirujuk daripada Jadual B.

Pertimbangkan contoh jadual Guru dan Murid. Jadual Guru mengandungi ID, nama dan lajur kursus:

ID Pengajar Nama_Guru Kursus
001 John Doe Inggeris
002 Jane Schmoe Math

Jadual Pelajar termasuk ID, nama dan lajur kunci asing:

IDPelajar Nama_Pelajar Guru_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monica Jones 001

Lajur Teacher_FK dalam jadual Pelajar merujuk kepada nilai kunci utama seorang pengajar dalam jadual Guru. Selalunya, pereka pangkalan data menggunakan PK atau FK dalam nama lajur untuk mengenal pasti kunci utama atau lajur kunci asing.

Dua jadual ini menggambarkan hubungan satu-dengan-banyak antara guru dan pelajar.

Perhubungan dan Integriti Rujukan

Selepas menambah kunci asing pada jadual, buat kekangan pangkalan data yang menguatkuasakan integriti rujukan antara kedua-dua jadual. Langkah ini memastikan bahawa hubungan antara jadual kekal konsisten. Apabila satu jadual mempunyai kunci asing kepada jadual lain, integriti rujukan memerlukan sebarang nilai kunci asing dalam Jadual B mesti merujuk kepada rekod sedia ada dalam Jadual A.

Melaksanakan Hubungan

Bergantung pada pangkalan data anda, anda akan melaksanakan perhubungan antara jadual dengan cara yang berbeza. Microsoft Access menyediakan wizard yang membolehkan anda memautkan jadual dan juga menguatkuasakan integriti rujukan.

Jika anda menulis SQL secara langsung, mula-mula buat jadual Guru, mengisytiharkan lajur ID sebagai kunci utama:

CIPTA MEJA Guru (InstructorID INT AUTO_INCREMENT KUNCI UTAMA, Nama_Guru VARCHAR(100), Kursus VARCHAR(100));

Apabila anda membuat jadual Pelajar, anda mengisytiharkan lajur Teacher_FK sebagai kunci asing yang merujuk lajur InstructorID dalam jadual Guru:

CIPTA JADUAL Pelajar (StudentID INT AUTO_INCREMENT KUNCI UTAMA, Nama_Pelajar VARCHAR(100), Teacher_FK INT, KUNCI UTAMA ASING (Guru_FK)(Guru_FK) REFERENS);

Menggunakan Perhubungan untuk Menyertai Jadual

Selepas mencipta satu atau lebih perhubungan dalam pangkalan data anda, manfaatkan kuasa mereka dengan menggunakan pertanyaan SQL JOIN untuk menggabungkan maklumat daripada berbilang jadual. Jenis gabungan yang paling biasa ialah SQL INNER JOIN, yang merupakan gabungan mudah. Jenis gabungan ini mengembalikan semua rekod yang memenuhi syarat gabungan daripada satu atau lebih jadual.

Sebagai contoh, syarat JOIN ini mengembalikan Nama_Pelajar, Nama_Guru dan Kursus, di mana kunci asing dalam jadual Pelajar sepadan dengan kunci utama dalam jadual Guru:

PILIH Pelajar. Nama_Pelajar, Guru. Nama_Guru, Guru. Kursus

DARI Pelajar

DALAM SERTAI GuruON Students. Teacher_FK=Teachers. InstructorID;

Pernyataan ini menghasilkan jadual seperti ini:

Nama_Pelajar Nama_Guru Kursus
Lowell Smith John Doe Inggeris
Brian Short John Doe Inggeris
Corky Mendez Jane Schmoe Math
Monica Jones John Doe Inggeris

Disyorkan: