සාමාන්යකරණය සහතික කිරීම සඳහා ප්රත්යාවර්ත රදා පැවැත්මෙන් වළකින්න
දත්ත සමුදායේ ප්රවාහණ පරායත්තතාවය යනු ක්රියාකාරී පරායත්තයට හේතු වන එකම වගුවේ අගයන් අතර ඇති වක්ර සම්බන්ධතාවයකි. තෙවන සාමාන්ය ආකෘතිය (3NF) වල සාමාන්යකරණ සම්මතය ලබා ගැනීම සඳහා, ඔබට ඕනෑම ප්රත්යාවර්තක රඳා පවතී.
එහි ස්වභාවයෙන් අනුව, ප්රේරක රඳා පැවැත්මක්, ඒවා අතර ක්රියාකාරී යැපීමක් ඇති තුනක් හෝ ඊට වැඩි ගණනක් (හෝ දත්ත සමුදා තීරු) අවශ්ය වන අතර, අර්ථ දැක්වීමේ අතර, A තීරුවෙහි තීරුවේ A තීරුව මත පදනම්ව C
මෙය බලපාන්නේ කෙසේද කියා අපි බලමු.
සංක්රමනීය අවප්රමානය උදාහරණ
AUTHORS
Author_ID | කර්තෘ | පොත | කර්තෘත්වය |
---|---|---|---|
Auth_001 | ඕර්සන් ස්කොට් කාඩ් | එන්ඩර් ගේ ගේම් | එක්සත් ජනපදය |
Auth_001 | ඕර්සන් ස්කොට් කාඩ් | එන්ඩර් ගේ ගේම් | එක්සත් ජනපදය |
Auth_002 | මාග්රට් ඇට්වුඩ් | වැඩකාරියගේ කතාව | කැනඩාව |
ඉහත සඳහන් AUTHORS උදාහරණයේ:
- ග්රන්ථය → කර්තෘ : මෙන්න, මෙම පොත් සලකුණ කර්තෘ ආකල්පය තීරණය කරයි. ඔබ පොත නම දන්නවා නම් කර්තෘගේ නම දැන ගත හැකිය. කෙසේ වෙතත් කර්තෘ විසින් පොත තීරණය නොකෙරේ. කර්තෘට බහු පොත් ලිවීමට හැකිය. නිදසුනක් වශයෙන්, කර්තෘගේ නම ඔර්සන් ස්කොට් කාඩ් කාඩ්පත අපට දැනෙන හෙයින්, අපි තවමත් පොත් නාමය නොදන්නා නිසා.
- කර්තෘ → කර්තෘ ජාතිකත්වය : එලෙසම, කර්තෘ ආකල්පය කර්තෘ- ජාතිකත්වය තීරණය කරයි, නමුත් අනෙක් පැත්ත නොවේ; ජාතිකත්වය යනු අප කතුවරයා තීරණය කළ හැකි බව අපි දන්නා නිසා පමණි.
නමුත් මෙම වගුව ප්රකට යැපීම් රඳා පවතී:
- ග්රන්ථය → කර්තෘ ජාතිකත්වය: අපි පොත නාමය දැන ගන්නේ නම්, කර්තෘ තීරුව හරහා ජාතිකත්වය තීරණය කළ හැකිය.
ප්රවාහණ රඳා පැවැත්ම වැළැක්වීම
තෙවන සාමාන්ය ආකෘතිය සහතික කිරීම සඳහා, Transitive dependency ඉවත් කරමු.
කර්තෘ වගුවෙන් කර්තෘ වගුව ඉවත් කර වෙනම පොත් වගුවක් නිර්මාණය කිරීමෙන් අපට ආරම්භ කළ හැකිය:
පොත්
Book_ID | පොත | Author_ID |
---|---|---|
Book_001 | එන්ඩර් ගේ ගේම් | Auth_001 |
Book_001 | මනසෙහි දරුවන් | Auth_001 |
Book_002 | වැඩකාරියගේ කතාව | Auth_002 |
AUTHORS
Author_ID | කර්තෘ | කර්තෘත්වය |
---|---|---|
Auth_001 | ඕර්සන් ස්කොට් කාඩ් | එක්සත් ජනපදය |
Auth_002 | මාග්රට් ඇට්වුඩ් | කැනඩාව |
මේක හරිද? දැන් අපගේ රැඳිවීම් පරීක්ෂා කර බලමු.
පොත් වගුව :
- Book_ID → පොත: පොත Book_ID මත රඳා පවතී.
- මෙම වගුවේ වෙනත් කිසිදු පරායත්තයක් නොමැත, එබැවින් අපි නිවැරදියි. විදේශ යතුර Author_ID එහි මූලික ය Author_ID හරහා AUTHORS වගුව වෙත මෙම වගුව සම්බන්ධ කරයි. අන්තර් කාලීන දත්ත සමුදායන්ගේ මූලික සැලැස්මකි.
AUTHORS වගුව :
- Author_ID → කර්තෘ: කර්තෘ විසින් Author_ID මත රඳා පවතී.
- කර්තෘ → කර්තෘ ජාතිකත්වය: ජාතිකත්වය කතුවරයා විසින් තීරණය කළ හැකිය.
- Author_ID → Author_Nationality: කර්තෘත්වයේ ගති ලක්ෂණ හරහා Author_ID වෙතින් ජාතිකත්වය නිර්ණය කළ හැක. අපට තවමත් තාවකාලික පරායත්තතාවයක් ඇත.
මෙම දත්ත සාමාන්යකරණය කිරීම සඳහා අපට තුන්වන වගුවක් එකතු කළ යුතුය:
රටවල්
Country_ID | රට |
---|---|
Coun_001 | එක්සත් ජනපදය |
Coun_002 | කැනඩාව |
AUTHORS
Author_ID | කර්තෘ | Country_ID |
---|---|---|
Auth_001 | ඕර්සන් ස්කොට් කාඩ් | Coun_001 |
Auth_002 | මාග්රට් ඇට්වුඩ් | Coun_002 |
දැන් අපට වගු තුනක් තිබේ, වගු අතර සම්බන්ධ කිරීම සඳහා විදේශ යතුරු භාවිතා කරමින්
- කර්තෘ වගුවෙහි විදේශ යතුර Author_ID AUTHORS වගුවේ කර්තෘ වෙත පොතකට සම්බන්ධ කරයි.
- AUTHORS වගුවෙහි විදේශ ප්රධාන රට Country_ID COUNTRIES වගුවේ රටකට කතෘව සම්බන්ධ කරයි.
- මෙම සැලැස්මෙහි වෙනත් වගුවකට සබැඳීමේ අවශ්යතාවක් නොමැති නිසා රටවල් වගුවේ වගුවේ විදේශීය යතුරක් නොමැත.
සංක්රමණික රක්ෂිතයන් නරක දත්ත සමුදා නිර්මාණය ඇයි?
3NF සහතික කිරීම සඳහා ප්රවාහණ පරායත්තයන් මග හැරීමේ වටිනාකම කුමක්ද? නැවතත් අපේ පළමු වගුව යළි සලකා බලමු. එය නිර්මාණය කරන ගැටළු සලකා බලන්න.
AUTHORS
Author_ID | කර්තෘ | පොත | කර්තෘත්වය |
---|---|---|---|
Auth_001 | ඕර්සන් ස්කොට් කාඩ් | එන්ඩර් ගේ ගේම් | එක්සත් ජනපදය |
Auth_001 | ඕර්සන් ස්කොට් කාඩ් | මනසෙහි දරුවන් | එක්සත් ජනපදය |
Auth_002 | මාග්රට් ඇට්වුඩ් | වැඩකාරියගේ කතාව | කැනඩාව |
උදාහරණයක් ලෙස මෙම ආකාරයේ නිර්මාණයන් මගින් දත්ත විෂමතා හා අනනුකූලතා සඳහා දායක විය හැකිය. උදාහරණයක් ලෙස:
- ඔබ "The Minds of the Mind" සහ "Ender ගේ ගේම්ස්" යන පොත් දෙක මකා දමනු ලැබුවේ නම්, ඔබ කතෘ "ඕර්සන් ස්කොට් කාඩ්ඩ්" සහ ඔහුගේ ජාතිකත්වය මුලුමනින් ම දත්ත සමුදායෙන් මකා දමනු ඇත.
- ඔබ පොතක් එක් කළොත් මිස, නව කතුවරයකුට දත්ත ගබඩාවට එකතු කළ නොහැකිය. කතුවරයෙකු තවමත් ප්රකාශයට පත් නොකළේ නම්, ඇය විසින් ලියන ලද පොතක් යන නාමය නොදන්නා ද?
- "ඕර්සන් ස්කොට් කාඩ්" සිය පුරවැසිකම වෙනස් කළහොත්, ඔහු පෙනී සිටින සියලු වාර්තා වලදී ඔබ එය වෙනස් කිරීමට සිදුවනු ඇත. එකම කතුවරයා සමග බහු වාර්ථාවන් තිබිය හැක: වැරදි තොරතුරු ලබා ගැනීමට හැකි වන්නේ: දත්ත ඇතුලත් කිරීමේ පුද්ගලයා ඔහු සඳහා බොහෝ වාර්තා පවතින බව තේරුම් නොගන්නේ නම් සහ එක් වාර්තාවක් පමණක් දත්ත වෙනස් කරයිද?
- කර්තෘ සම්පූර්ණයෙන්ම මකා දැමීමෙන් තොරව "ද හෙන්ෂාඩ් ටේල්" වැනි පොතක් මකා දැමිය නොහැක.
මේවා සාමාන්යකරණය කිරීම සහ තාවකාලික පරායත්තතා මඟ හැරීම සඳහා දත්ත සුරක්ෂිත කර ගැනීම සහ අනුකූලතාවයක් සහතික කිරීමට හේතු වේ.