1NF vs 2NF vs 3NF
መደበኛ ማድረግ በተዛማጅ የውሂብ ጎታዎች ውስጥ በመረጃ ውስጥ የሚገኙትን ድጋሚ ሁኔታዎችን ለመቀነስ የሚደረግ ሂደት ነው። ይህ ሂደት በዋነኛነት ትላልቅ ሰንጠረዦችን በትንሹ ድግግሞሾችን ወደ ትናንሽ ጠረጴዛዎች ይከፋፍላቸዋል። እነዚህ ትናንሽ ጠረጴዛዎች በደንብ በተገለጹ ግንኙነቶች እርስ በርስ ይዛመዳሉ. በደንብ በተስተካከለ ዳታቤዝ ውስጥ ማንኛውም ለውጥ ወይም የውሂብ ማሻሻያ አንድ ጠረጴዛ ብቻ ማሻሻልን ይጠይቃል። የመጀመሪያው መደበኛ ቅጽ (1NF)፣ ሁለተኛ መደበኛ ቅጽ (2NF) እና ሦስተኛው መደበኛ ቅጽ (3NF) በኤድጋር ኤፍ. ኮድድ አስተዋወቀ፣ እሱም የግንኙነት ሞዴል እና የመደበኛነት ጽንሰ-ሀሳብ ፈጣሪ ነው።
1NF ምንድነው?
1NF የመጀመሪያው መደበኛ ፎርም ነው፣ እሱም የግንኙነት ዳታቤዝ መደበኛ ለማድረግ አነስተኛውን መስፈርቶች ያቀርባል። 1NFን የሚያከብር ሠንጠረዥ በትክክል ዝምድናን እንደሚወክል ያረጋግጣል (ማለትም ምንም የሚደጋገሙ መዛግብት የሉትም) ነገር ግን ለ 1NF በአለም አቀፍ ደረጃ ተቀባይነት ያለው ፍቺ የለም። አንድ ጠቃሚ ንብረት 1NFን የሚያከብር ሠንጠረዥ ምንም አይነት ተዛማጅነት ያላቸውን ባህሪያት ሊይዝ አለመቻሉ ነው (ማለትም ሁሉም ባህሪያት አቶሚክ እሴቶች ሊኖራቸው ይገባል)።
2NF ምንድን ነው?
2NF በግንኙነት የውሂብ ጎታዎች ውስጥ ጥቅም ላይ የሚውለው ሁለተኛው መደበኛ ቅጽ ነው። ሠንጠረዥ 2NFን እንዲያከብር ከ1NF ጋር መጣጣም አለበት እና የማንኛውም የእጩ ቁልፍ አካል ያልሆነ ማንኛውም ባህሪ (ማለትም ዋና ያልሆኑ ባህሪያት) በሰንጠረዡ ውስጥ ባሉ ማናቸውም የእጩ ቁልፎች ላይ ሙሉ በሙሉ የተመካ መሆን አለበት።
3NF ምንድን ነው?
3NF ለግንኙነት ዳታቤዝ መደበኛነት ጥቅም ላይ የሚውለው ሦስተኛው መደበኛ ቅጽ ነው። በኮድ ፍቺ መሠረት ሠንጠረዥ በ 3 ኤን ኤፍ ውስጥ አለ ይባላል ፣ እና ከሆነ ፣ ያ ሠንጠረዥ በሁለተኛው መደበኛ ቅጽ (2NF) ከሆነ እና በሠንጠረዡ ውስጥ ያለው እያንዳንዱ የእጩ ቁልፍ ያልሆነ ባህሪ በቀጥታ የተመካ መሆን አለበት። በእያንዳንዱ የእጩዎች ቁልፍ ላይ.እ.ኤ.አ. በ 1982 ካርሎ ዛኒዮሎ ለ 3NF በተለየ መልኩ የተገለጸ ፍቺ አወጣ። 3NFን የሚያከብሩ ሰንጠረዦች በአጠቃላይ በሰንጠረዡ ውስጥ መዝገቦችን ሲያስገቡ፣ ሲሰርዙ ወይም ሲያዘምኑ የሚከሰቱ ያልተለመዱ ነገሮችን አያካትቱም።
በ1NF እና 2NF እና 3NF መካከል ያለው ልዩነት ምንድን ነው?
1NF፣ 2NF እና 3NF በሠንጠረዦች ውስጥ ያሉ ድጋሚ ሁኔታዎችን ለመቀነስ በግንኙነት ዳታቤዝ ውስጥ የሚያገለግሉ የተለመዱ ቅርጾች ናቸው። 3NF ከ 2NF የበለጠ ጠንካራ መደበኛ ቅጽ ተደርጎ ይወሰዳል፣ እና ከ 1NF የበለጠ ጠንካራ መደበኛ ቅጽ ተደርጎ ይወሰዳል። ስለዚህ በአጠቃላይ የ 3NF ቅጽን የሚያከብር ሠንጠረዥ ማግኘት በ 2NF ውስጥ ያለውን ሰንጠረዥ መበስበስ ያስፈልገዋል. በተመሳሳይ፣ 2NFን የሚያከብር ሠንጠረዥ ማግኘት በ1NF ውስጥ ያለውን ሠንጠረዥ መበስበስን ይጠይቃል። ነገር ግን፣ 1NFን የሚያከብር ሠንጠረዥ ከአንድ ባህሪ (ማለትም የተዋሃዱ የእጩ ቁልፎች) ብቻ የተሰሩ የእጩ ቁልፎችን ከያዘ፣ እንዲህ ያለው ሠንጠረዥ 2NFን ያከብራል። የጠረጴዛዎች መበስበስ ተጨማሪ የመቀላቀል ስራዎችን (ወይም የካርቴዥያን ምርቶች) ጥያቄዎችን በሚፈጽምበት ጊዜ ያስከትላል.ይህ የማስላት ጊዜን ይጨምራል. በሌላ በኩል፣ ጠንከር ያሉ መደበኛ ቅርጾችን የሚያከብሩ ሠንጠረዦች ደካማ መደበኛ ቅጾችን ብቻ ከሚያከብሩ ሠንጠረዦች ያነሱ ድግግሞሾች ይኖራቸዋል።