BCNF vs 4NF (4ኛ መደበኛነት)
ዳታቤዝ መደበኛ ማድረግ ቴክኒክ ነው፣ እሱም ከግንኙነት ዳታቤዝ አስተዳደር ስርዓቶች ጋር የሚገናኝ። የዳታ ስህተቶችን በደንብ በተለመደው የውሂብ ጎታ ውስጥ ማስወገድ ይቻላል። መደበኛ ማድረግ የውሂብ ጎታውን ድግግሞሽ ለመቀነስ ይጠቅማል። ይህ ማለት የውሂብ ጎታ ሠንጠረዦችን እና ግንኙነቶቻቸውን መተግበር, ድግግሞሽን እና ወጥነት የጎደለው ጥገኝነትን ያስወግዳል. ለመደበኛነት የተቀመጡ አንዳንድ አስቀድሞ የተገለጹ ህጎች አሉ። እነዚህ ደንቦች መደበኛ ቅጾች ይባላሉ።
- የመጀመሪያ መደበኛ ቅጽ (1NF)
- ሁለተኛ መደበኛ ቅጽ (2NF)
- ሦስተኛ መደበኛ ቅጽ (3NF)
- Boyce-Codd መደበኛ ቅጽ (BCNF ወይም 3.5NF)
- አራተኛ መደበኛ ቅጽ (4NF)
የመጀመሪያው መደበኛ ቅጽ የጠረጴዛው ተውሳክነት ተብሎ ይጠራል። የሰንጠረዥ ተውኔትነት ከሁለት እርከኖች ሊደረስ ይችላል።
- የተባዙ አምዶችን ከተመሳሳይ ሠንጠረዥ በማስወገድ ላይ።
- ለተዛማጅ የተባዙ አምዶች የተለያዩ ሰንጠረዦችን በመፍጠር ላይ። (የዚህን ሠንጠረዦች እያንዳንዱን ረድፍ ለመለየት ዋና ቁልፎች ሊኖሩ ይገባል)
በሁለተኛው መደበኛ ቅፅ፣ ሙከራው ያልተደጋገሙትን መረጃዎች በሰንጠረዥ ውስጥ በማውጣት እና በተለየ ሠንጠረዥ ውስጥ በማስቀመጥ ለመቀነስ ነው። ይህ የሚከተሉትን ደረጃዎች በማድረግ ማሳካት ይቻላል።
- በበርካታ ረድፎች ላይ የሚመለከተውን የውሂብ ስብስብ ይምረጡ እና በተለያዩ ሰንጠረዦች ውስጥ ያስቀምጧቸው።
- የውጭ ቁልፎችን በመጠቀም በእነዚህ አዳዲስ ሠንጠረዦች እና በወላጅ ሠንጠረዦች መካከል ያለውን ግንኙነት ይፍጠሩ።
ዳታቤዙን ወደ ሦስተኛው መደበኛ ቅጽ ለመውሰድ ቀድሞውንም የመረጃ ቋቱ በመጀመሪያ እና በሁለተኛ መደበኛ ቅጾች ላይ መድረስ አለበት።የመረጃ ቋቱ በ 1NF እና 2NF ውስጥ ሲሆን የተባዙ አምዶች የሉም እና በበርካታ ረድፎች ላይ የሚተገበሩ ምንም ንዑስ ስብስቦች የሉም። ሦስተኛው መደበኛ ቅጽ የሠንጠረዦቹን ዓምዶች በማንሳት ማግኘት ይቻላል፣ ሙሉ በሙሉ ያልሆኑት፣ በዋናው ቁልፍ ላይ የተመሰረቱ ናቸው።
Boyce-Codd መደበኛ ቅጽ (BCNF ወይም 3.5NF)
BCNF ማለት "ቦይስ-ኮድድ መደበኛ ቅጽ" ማለት ነው። ይህ መደበኛ ቅጽ 3.5 መደበኛ የውሂብ ጎታ መደበኛነት በመባልም ይታወቃል። BCNFን ለማግኘት፣ የመረጃ ቋቱ ቀድሞውኑ ወደ ሦስተኛ መደበኛ ቅጽ መድረስ አለበት። በመቀጠል BCNFን ለማግኘት የሚከተሉት እርምጃዎች መደረግ አለባቸው።
- በግንኙነቱ ውስጥ ያሉትን ሁሉንም የእጩ ቁልፎች ይለዩ
- በግንኙነቱ ውስጥ ያሉትን ሁሉንም ተግባራዊ ጥገኛዎች ይለዩ።
- በግንኙነት ውስጥ ተግባራዊ ጥገኞች ካሉ፣ የሚወስኑት ለግንኙነቱ የእጩ ቁልፍ ካልሆኑ፣ የተግባር ጥገኞቹን ከወሳኙ ግልባጭ ጋር ወደ አዲስ ግንኙነት በማስቀመጥ ያስወግዱት።
አራተኛ መደበኛ ቅጽ
ዳታቤዝ ወደ አራተኛው መደበኛ ቅጽ ከመቀየሩ በፊት በሦስተኛ መደበኛ መልክ መሆን አለበት። የመረጃ ቋቱ አስቀድሞ በሦስተኛ መደበኛ መልክ ከሆነ፣ ቀጣዩ ደረጃ ባለ ብዙ ዋጋ ያላቸውን ጥገኞች ማስወገድ መሆን አለበት። (አንድ ወይም ብዙ ረድፎች በተመሳሳይ ሠንጠረዥ ውስጥ አንድ ወይም ከዚያ በላይ ረድፎች መኖራቸውን የሚያመለክቱ ከሆነ፣ ባለብዙ ዋጋ ጥገኝነት ይባላል።)
በBCNF እና 4NF (አራተኛ መደበኛ ቅጽ) መካከል ያለው ልዩነት ምንድን ነው?
• ዳታቤዝ ወደ BCNF ለመውሰድ እስከ 3NF ድረስ መድረስ አለበት፣ነገር ግን ዳታቤዙ 4NF ለመድረስ በ3NF እና BCNF ውስጥ መሆን አለበት።
• በአራተኛው መደበኛ ቅጽ፣ የሠንጠረዡ ብዙ ዋጋ ያላቸው ጥገኞች የሉም፣ ነገር ግን በBCNF ውስጥ፣ በሠንጠረዦቹ ውስጥ ባለ ብዙ ዋጋ ያለው የጥገኝነት ውሂብ ሊኖር ይችላል።