தரவுத்தள உறவுகள் அனைத்து தொடர்புடைய தரவுத்தளங்களின் முதுகெலும்பாகும்
ஒரு அட்டவணையை மற்றொரு அட்டவணைக்கு இடையே ஒரு உறவு நிறுவப்பட்டுள்ளது, ஒரு அட்டவணை மற்றொரு அட்டவணையில் முக்கிய குறியீட்டை குறிக்கும் வெளிநாட்டு விசை உள்ளது. இது தொடர்புடைய தரவுத்தளத்தின் பின்னால் இருக்கும் அடிப்படை கருத்து ஆகும்.
ஒரு உறவை நிலைநாட்ட ஒரு வெளிநாட்டு முக்கிய வேலை எப்படி இருக்கும்
முதன்மை மற்றும் வெளிநாட்டு விசைகளின் அடிப்படையை மதிப்பாய்வு செய்வோம். மேஜையின் ஒவ்வொரு பதிவையும் ஒரு முதன்மை விசை தனிப்பட்டதாக அடையாளப்படுத்துகிறது. இது பொதுவாக ஒரு அட்டவணையில் உள்ள முதல் நெடுவரிசை வேட்பாளர் விசையாகும் , இது தனியாக இருப்பதை உறுதிப்படுத்த தரவுத்தளத்தால் தானாக உருவாக்கப்படும்.
மற்றொரு அட்டவணையில் தரவிற்கான பதிவை இணைக்கப் பயன்படுத்தப்படும் மற்றொரு வேட்பாளர் விசை (முதன்மை விசை அல்ல).
உதாரணமாக, கற்பிப்பதை எந்த ஆசிரியர் கற்பிக்கிறாரோ அந்த இரண்டு அட்டவணையை சிந்தியுங்கள்.
இங்கே, பாடநெறிகளின் அட்டவணையின் முதன்மை விசயம் நிச்சயமாக Course_ID ஆகும். அதன் வெளிநாட்டு விசை Teacher_ID ஆகும்:
Course_ID | படிப்பின் பெயர் | Teacher_ID |
---|---|---|
Course_001 | உயிரியல் | Teacher_001 |
Course_002 | கணித | Teacher_001 |
Course_003 | ஆங்கிலம் | Teacher_003 |
பாடநெறிகளில் வெளிநாட்டு திறவுகோல் ஆசிரியர்களிடம் ஒரு முக்கிய குறியீட்டை பொருத்துகிறது என்பதை நீங்கள் காணலாம்:
Teacher_ID | Teacher_Name |
---|---|
Teacher_001 | கார்மென் |
Teacher_002 | வெரோனிகா |
Teacher_003 | ஜார்ஜ் |
ஆசிரியர்களுக்கும் ஆசிரியர்களுக்கும் இடையில் ஒரு உறவை ஏற்படுத்துவதற்கு ஆசிரியர்_ஐடி வெளிநாட்டு விசை உதவியது என்று நாம் சொல்லலாம்.
டேட்டாபேஸ் உறவுகளின் வகைகள்
வெளி விசைகளை அல்லது வேறு வேட்பாளர் விசைகளைப் பயன்படுத்தி, அட்டவணங்களுக்கிடையே மூன்று வகையான உறவுகளை நீங்கள் செயல்படுத்தலாம்:
ஒன்றுக்கு ஒன்று : இந்த உறவு உறவு ஒவ்வொரு பக்கத்திலும் ஒரே ஒரு பதிவை அனுமதிக்கிறது.
முதன்மைக் குறியீடு மற்றொரு அட்டவணையில் ஒரே ஒரு பதிவு - அல்லது ஒன்றுமில்லை. உதாரணமாக, ஒரு திருமணத்தில், ஒவ்வொரு மனைவியும் ஒரே ஒரு மனைவி மட்டுமே இருக்கிறார். இந்த வகையான உறவு ஒரு ஒற்றை அட்டவணையில் நடைமுறைப்படுத்தப்பட்டு, வெளிநாட்டு விசையைப் பயன்படுத்தாது.
ஒன்றுக்கு பல : ஒரு அட்டவணைக்கு ஒரு ஒற்றை பதிவு ஒரு அட்டவணையில் மற்றொரு அட்டவணையில் பல பதிவுகள் தொடர்பான அனுமதிக்கிறது.
வாடிக்கையாளர்கள் மற்றும் ஆணைகள் அட்டவணைகள் கொண்ட தரவுத்தளத்துடன் ஒரு வியாபாரத்தை கருத்தில் கொள்ளுங்கள்.
ஒரு வாடிக்கையாளர் பல கட்டளைகளை வாங்க முடியும், ஆனால் ஒரே வரிசையை பல வாடிக்கையாளர்களுடன் இணைக்க முடியாது. வாடிக்கையாளர்கள் அட்டவணையில் ஆணைகளின் அட்டவணையை சுட்டிக்காட்டும் எந்தவொரு வெளிநாட்டு விசையும் இருக்காது, எனவே கட்டளை அட்டவணையின் முதன்மை விசைடன் பொருந்திய ஒரு வெளிநாட்டு விசையை ஆணைகள் அட்டவணை கொண்டிருக்கும்.
பல-க்கு பல : இது ஒரு அட்டவணையில் பல பதிவுகள் மற்றொரு அட்டவணையில் பல பதிவுகள் இணைக்க முடியும் ஒரு சிக்கலான உறவு. உதாரணமாக, எங்கள் வணிக ஒருவேளை வாடிக்கையாளர்கள் மற்றும் ஆணைகள் அட்டவணைகள் மட்டும் தேவை, ஆனால் ஒரு தயாரிப்புகள் அட்டவணை வேண்டும்.
மீண்டும், வாடிக்கையாளர்கள் மற்றும் ஆர்டர்கள் அட்டவணை இடையே உள்ள உறவு ஒன்றுக்கு பல, ஆனால் ஆணைகள் மற்றும் தயாரிப்புகள் அட்டவணை இடையே உறவு கருதுகின்றனர். ஒரு வரிசையில் பல தயாரிப்புகள் இருக்கலாம், மேலும் ஒரு தயாரிப்பு பல கட்டளைகளுடன் இணைக்கப்படலாம்: பல வாடிக்கையாளர்கள் ஒரே வரிசையில் சிலவற்றைக் கொண்டிருக்கும் பொருட்டு சமர்ப்பிக்கலாம். இத்தகைய உறவு குறைந்தபட்சம் மூன்று அட்டவணையில் தேவைப்படுகிறது.
டேட்டாபேஸ் உறவுகள் முக்கியம் என்ன?
தரவுத்தள அட்டவணைகளுக்கு இடையே உள்ள நிலையான உறவுகளை தரவுத்தள ஒருங்கிணைப்பிற்கு உறுதிப்படுத்த உதவுகிறது, இது தரவுத்தள இயல்பாக்கத்திற்கு உதவுகிறது. உதாரணமாக, ஒரு வெளிநாட்டு விசை மூலம் எந்த அட்டவணையும் இணைக்கவில்லையென்றால், அதற்கு பதிலாக, பாடநெறிகள் மற்றும் ஆசிரிய அட்டவணையில் உள்ள தரவுகளை இணைத்து,
Teacher_ID | Teacher_Name | கோர்ஸ் |
---|---|---|
Teacher_001 | கார்மென் | உயிரியல், கணிதம் |
Teacher_002 | வெரோனிகா | கணித |
Teacher_003 | ஜார்ஜ் | ஆங்கிலம் |
இந்த வடிவமைப்பு நெகிழ்வானது மற்றும் தரவுத்தள சாதாரணமயமாக்கல், முதல் இயல்புநிலை படிவம் (1NF) முதல் கோட்பாட்டை மீறுகிறது, ஒவ்வொரு அட்டவணையிலும் ஒரு ஒற்றை, தனித்தனி தரவுகளைக் கொண்டிருக்க வேண்டும் என்று கூறுகிறது.
அல்லது ஒருவேளை 1NF ஐ செயல்படுத்துவதற்காக, கார்மென்னுக்கான இரண்டாவது சாதனையைச் சேர்க்க முடிவு செய்தோம்:
Teacher_ID | Teacher_Name | கோர்ஸ் |
---|---|---|
Teacher_001 | கார்மென் | உயிரியல் |
Teacher_001 | கார்மென் | கணித |
Teacher_002 | வெரோனிகா | கணித |
Teacher_003 | ஜார்ஜ் | ஆங்கிலம் |
இது இன்னும் ஒரு பலவீனமான வடிவமைப்பு, தேவையற்ற பிரதிகளை அறிமுகப்படுத்துதல் மற்றும் தரவு செருகும் முரண்பாடுகள் என அழைக்கப்படுவது, இது அநாமமான தரவுகளுக்கு பங்களிக்க முடியும் என்பதாகும்.
உதாரணமாக, ஒரு ஆசிரியருக்கு பல பதிவுகள் இருந்தால், சில தரவு திருத்தப்பட வேண்டியிருந்தால், தரவு எடிட்டிங் செய்யும் நபர் பல பதிவுகள் இருப்பதை உணரவில்லையா? அந்த அட்டவணையில் பின்வருவன அடையாளம் காணவோ அல்லது அதைத் தவிர்ப்பதற்கு எந்தவிதமான தெளிவான வழியிலும், அதே நபருக்கு வெவ்வேறு தரவைக் கொண்டிருக்கும்.
இந்த அட்டவணையை இரண்டு அட்டவணைகளாக உடைத்து, ஆசிரியர்கள் மற்றும் பாடநெறிகள் (மேலே காணப்பட்டபடி), தரவரிசைக்கு இடையே சரியான உறவை உருவாக்குகிறது, எனவே தரவு நிலைத்தன்மையையும் துல்லியத்தையும் உறுதிப்படுத்த உதவுகிறது.