ការណែនាំអំពីទំនាក់ទំនងទិន្នន័យ

ឃ្លាំងទិន្នន័យ "ទំនាក់ទំនង" ឬ "ទំនាក់ទំនង" ពិពណ៌នាអំពីវិធីដែលទិន្នន័យក្នុងតារាងត្រូវបានភ្ជាប់។

អ្នកចំណូលថ្មីក្នុងពិភពទិន្នន័យជារឿយៗមានការលំបាកក្នុងការឃើញភាពខុសគ្នារវាងទិន្នន័យនិងសៀវភៅបញ្ជី។ ពួកគេឃើញតារាងទិន្នន័យនិងទទួលស្គាល់ថាមូលដ្ឋានទិន្នន័យអនុញ្ញាតឱ្យអ្នករៀបចំនិង សួរទិន្នន័យ ក្នុងវិធីថ្មីប៉ុន្តែបរាជ័យក្នុងការយល់ដឹងពីសារៈសំខាន់នៃ ទំនាក់ទំនងរវាងទិន្នន័យ ដែលផ្តល់ឱ្យឈ្មោះវិទ្យាសាស្ត្រទិន្នន័យទំនាក់ទំនង។

ទំនាក់ទំនងអនុញ្ញាតឱ្យអ្នកពិពណ៌នាអំពីការតភ្ជាប់រវាងតារាងមូលដ្ឋានទិន្នន័យខុសៗគ្នាតាមវិធីដ៏មានអានុភាព។ ទំនាក់ទំនងទាំងនេះបន្ទាប់មកអាចត្រូវបានប្រើអានុភាពដើម្បីធ្វើសំណួរឆ្លងកាត់តារាងដែលមានអនុភាពដែលត្រូវបានគេស្គាល់ថាជាការចូលរួម។

ប្រភេទនៃទំនាក់ទំនងមូលដ្ឋានទិន្នន័យ

មានបីប្រភេទខុសៗគ្នានៃទំនាក់ទំនងមូលដ្ឋានទិន្នន័យនីមួយៗដែលត្រូវបានដាក់ឈ្មោះតាមចំនួនជួរដេកដែលអាចពាក់ព័ន្ធនៅក្នុងទំនាក់ទំនង។ ប្រភេទទំនាក់ទំនងទាំងបីនេះមានចន្លោះរវាងតារាងពីរ។

ការភ្ជាប់ទំនាក់ទំនងខ្លួនឯង: ករណីពិសេស

ទំនាក់ទំនងការយោងដោយខ្លួនឯងកើតឡើងនៅពេលដែលមានតារាងតែមួយប៉ុណ្ណោះដែលពាក់ព័ន្ធ។ ឧទាហរណ៏ទូទៅមួយគឺតារាងនិយោជិកដែលមានព័ត៌មានអំពីអ្នកគ្រប់គ្រងរបស់និយោជិតនីមួយៗ។ អ្នកគ្រប់គ្រងម្នាក់ៗក៏ជានិយោជិកម្នាក់ហើយមានអ្នកគ្រប់គ្រងផ្ទាល់ខ្លួនផងដែរ។ ក្នុងករណីនេះមានទំនាក់ទំនងដោយខ្លួនឯងដែលមាននិយោជិកម្នាក់មានអ្នកគ្រប់គ្រងម្នាក់ប៉ុន្តែអ្នកគ្រប់គ្រងម្នាក់ៗអាចមាននិយោជិកលើសពីមួយនាក់។

ការបង្កើតទំនាក់ទំនងជាមួយកូនសោបរទេស

អ្នកបង្កើតទំនាក់ទំនងរវាងតារាងដោយ បញ្ជាក់កូនសោជនបរទេស ។ កូនសោនេះប្រាប់ពីមូលដ្ឋានទិន្នន័យទំនាក់ទំនងអំពីរបៀបដែលតារាងពាក់ព័ន្ធ។ ក្នុងករណីជាច្រើនជួរឈរក្នុងតារាង A មានកូនសោសំខាន់ដែលត្រូវបានយោងពីតារាងខ។

សូមពិចារណាម្តងទៀតនូវឧទាហរណ៍នៃតារាងគ្រូនិងសិស្ស។ តារាងគ្រូបង្រៀនមានលេខសម្គាល់ឈ្មោះនិងជួរឈរវគ្គសិក្សាប៉ុណ្ណោះ:

គ្រូបង្រៀន
InstructorID ឈ្មោះអ្នកគ្រូ វគ្គសិក្សា
001 John Doe អង់គ្លេស
002 Jane Schmoe គណិតវិទ្យា

តារាងសិស្សរួមមានលេខសម្គាល់ឈ្មោះនិងខ្ទង់គន្លឹះបរទេស:

សិស្ស
លេខសំគាល់​សិស្ស ឈ្មោះ​របស់​និស្សិត Teacher_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 ម៉ូនីកាចូន 001

ជួរឈរ Teacher_FK នៅក្នុងតារាងសិស្សយោងតាម តម្លៃកូនសោសំខាន់ របស់គ្រូក្នុងតារាងគ្រូ។

ជាញឹកញាប់អ្នករចនាមូលដ្ឋានទិន្នន័យនឹងប្រើ "PK" ឬ "FK" ក្នុងឈ្មោះជួរឈរដើម្បីងាយស្រួលកំណត់អត្តសញ្ញាណកូនសោសំខាន់ឬជួរឈរគន្លឹះបរទេស។

សូមកត់សម្គាល់ថាតារាងទាំងពីរនេះបង្ហាញពីទំនាក់ទំនងមួយទៅច្រើនរវាងគ្រូនិងសិស្ស។

ទំនាក់ទំនងនិងសុចរិតភាពយោង

ពេលអ្នកបន្ថែមកូនសោបរទេសទៅតារាងមួយអ្នកអាចបង្កើតកម្រិតមូលដ្ឋានទិន្នន័យដែលបង្ខំឱ្យមាន ភាពត្រឹមត្រូវ រវាងតារាងពីរ។ នេះធានាថាទំនាក់ទំនងរវាងតារាងនៅតែមានភាពស៊ីសង្វាក់។ នៅពេលតារាងមួយមានកូនសោរបរទេសមួយទៅតារាងផ្សេងទៀតគំនិតនៃភាពត្រឹមត្រូវបញ្រ្ចាសបញ្ជាក់ថាតម្លៃគន្លឹះបរទេសណាមួយនៅក្នុងតារាង B ត្រូវតែសំដៅទៅលើកំណត់ត្រាដែលមានស្រាប់នៅក្នុងតារាង A.

អនុវត្តទំនាក់ទំនង

អាស្រ័យលើមូលដ្ឋានទិន្នន័យរបស់អ្នកអ្នកអនុវត្តទំនាក់ទំនងរវាងតារាងតាមវិធីផ្សេងៗគ្នា។ Microsoft Access ផ្តល់នូវអ្នកជំនួយការមួយដែលងាយស្រួលអនុញ្ញាតឱ្យអ្នកភ្ជាប់តារាងហើយនិងពង្រឹងបញ្ផានផងដែរ។

ប្រសិនបើអ្នកសរសេរ SQL ដោយផ្ទាល់អ្នកដំបូងបង្កើត Teacher Teacher ដោយប្រកាសជួរឈរលេខសម្គាល់ជាកូនសោសំខាន់:

បង្កើតថេបគ្រូ (

InstructorID INT AUTO_INCREMENT កូនសោបឋម,
Teacher_Name VARCHAR (100),
វគ្គសិក្សា VARCHAR (100)
);

នៅពេលអ្នកបង្កើតតារាងសិស្សអ្នកប្រកាសជួរឈរ Teacher_FK ជាកូនសោជនបរទេសយោងតាមជួរឈរ InstructorID នៅក្នុងតារាងគ្រូបង្រៀន:

បង្កើតតារាង (
StudentID INT AUTO_INCREMENT កូនសោអាទិភាព,
Student_Name VARCHAR (100), Teacher_FK INT,
កូនសោរបរទេស (Teacher_FK) សេចក្តីយោងគ្រូ (InstructorID))
);

ការប្រើប្រាស់ទំនាក់ទំនងដើម្បីចូលរួមតារាង

ពេលអ្នកបង្កើតទំនាក់ទំនងមួយឬច្រើនក្នុងមូលដ្ឋានទិន្នន័យរបស់អ្នកអ្នកអាចប្រើថាមពលរបស់ខ្លួនដោយប្រើសំណួរ SQL JOIN ដើម្បីបញ្ចូលព័ត៌មានពីតារាងច្រើន។ ប្រភេទចូលរួមទូទៅបំផុតគឺ SQL INNER JOIN ឬជាការចូលរួមសាមញ្ញ។ ប្រភេទនៃការចូលរួមនេះនឹងត្រឡប់នូវកំណត់ត្រាទាំងអស់ដែលបំពេញលក្ខខណ្ឌចូលរួមពីតារាងច្រើន។ ឧទាហរណ៍ល័ក្ខខ័ណ្ឌ JOIN នេះនឹងត្រឡប់ឈ្មោះ Student_Name_ និងឈ្មោះដែលកូនសោបរទេសនៅក្នុងតារាងសិស្សផ្គូផ្គងកូនសោសំខាន់នៅក្នុងតារាងគ្រូបង្រៀន:

SELECT សិស្ស។ ឈ្មោះសិស្ស, គ្រូបង្រៀនឈ្មោះសិស្ស, គ្រូបង្រៀន
ពីសិស្ស
ចូលរួមក្នុងគ្រូបង្រៀន
ON Students.Teacher_FK = TeachersInstructorID;

សេចក្តីថ្លែងការណ៍នេះបង្កើតតារាងមួយដូចនេះ:

តារាងត្រឡប់ពីសេចក្តីថ្លែងការណ៍របស់ SQL មួយ

Student_NameTeacher_NameCourseLowell SmithJohn Doe អង់គ្លេសអង់គ្លេសអយល័រខ្លីចនដូអេហ្វខេមិចម៉ាឌែលជេនស៍ម៉ាក់ម៉ូនីកា JonesJohn Doe ភាសាអង់គ្លេស