በኖርማላይዜሽን እና በመደበኛነት መካከል ያለው ልዩነት

በኖርማላይዜሽን እና በመደበኛነት መካከል ያለው ልዩነት
በኖርማላይዜሽን እና በመደበኛነት መካከል ያለው ልዩነት

ቪዲዮ: በኖርማላይዜሽን እና በመደበኛነት መካከል ያለው ልዩነት

ቪዲዮ: በኖርማላይዜሽን እና በመደበኛነት መካከል ያለው ልዩነት
ቪዲዮ: የቤት ኪራይ ውል ላይ መደረግ ያለበት ጥንቃቄዎች እና የግብር አወሳሰን |የቤት ግብር |Property tax 2024, ህዳር
Anonim

Normalization vs Denormalization

ተዛማጅ የውሂብ ጎታዎች በግንኙነቶች (ተዛማጅ ሠንጠረዦች) የተገነቡ ናቸው። ጠረጴዛዎች በአምዶች የተሠሩ ናቸው. ሠንጠረዦቹ ሁለት ትላልቅ ከሆኑ (ማለትም በአንድ ሠንጠረዥ ውስጥ በጣም ብዙ ዓምዶች) ከሆነ የውሂብ ጎታ ያልተለመዱ ነገሮች ሊከሰቱ ይችላሉ. ሠንጠረዦቹ ሁለት ጥቃቅን ከሆኑ (ማለትም የውሂብ ጎታ ከብዙ ትናንሽ ጠረጴዛዎች የተሠራ ነው) ለመጠየቅ ውጤታማ አይሆንም. የዳታቤዝ አፈጻጸምን ለማመቻቸት የሚያገለግሉ ሁለት ሂደቶች ኖርማላይዜሽን (Normalization and Denormalization) ናቸው። መደበኛነት በመረጃ ሰንጠረዦች ውስጥ የሚገኙትን ድጋሚዎች ይቀንሳል። መደበኛ ያልሆነ ሁኔታ (የመደበኛነት ተቃራኒ) ብዙ ውሂብን ወይም የቡድን ውሂብን ይጨምራል።

መደበኛነት ምንድነው?

መደበኛ ማድረግ በተዛማጅ የውሂብ ጎታዎች ውስጥ በመረጃ ውስጥ የሚገኙትን ድጋሚ ሁኔታዎችን ለመቀነስ የሚደረግ ሂደት ነው። ይህ ሂደት በዋናነት ትላልቅ ሠንጠረዦችን ወደ ትናንሽ ሰንጠረዦች ይከፍላል ("መደበኛ ቅጾች" ይባላሉ)። እነዚህ ትናንሽ ጠረጴዛዎች በደንብ በተገለጹ ግንኙነቶች እርስ በርስ ይዛመዳሉ. በደንብ በተስተካከለ ዳታቤዝ ውስጥ ማንኛውም ለውጥ ወይም የውሂብ ማሻሻያ አንድ ጠረጴዛ ብቻ ማሻሻልን ይጠይቃል። የመጀመሪያው መደበኛ ቅጽ (1NF)፣ ሁለተኛ መደበኛ ቅጽ (2NF) እና ሦስተኛው መደበኛ ቅጽ (3NF) በኤድጋር ኤፍ. ኮድድ አስተዋውቀዋል። ቦይስ-ኮድ መደበኛ ቅጽ (BCNF) በ1974 በኮድ እና ሬይመንድ ኤፍ.ቦይስ ተዋወቀ። ከፍተኛ መደበኛ ፎርሞች (4NF፣ 5NF እና 6NF) ተገልጸዋል፣ነገር ግን በጣም አልፎ አልፎ ጥቅም ላይ እየዋሉ ነው።

ከ1NF ጋር የሚያከብር ሠንጠረዥ በትክክል ዝምድናን እንደሚወክል ያረጋግጣል (ማለትም ምንም የሚደጋገሙ መዝገቦች የሉትም) እና ምንም አይነት ተዛማጅነት ያላቸው ባህሪያትን አልያዘም (i.ሠ. ሁሉም ባህሪያት አቶሚክ እሴቶች ሊኖራቸው ይገባል). ሠንጠረዥ 2NFን እንዲያከብር፣ ከ1NF ጋር መጣጣም አለበት እና ማንኛውም የእጩ ቁልፍ አካል ያልሆነ ባህሪ (ማለትም ዋና ያልሆኑ ባህሪዎች) በሠንጠረዡ ውስጥ ባሉ የእጩ ቁልፎች ላይ ሙሉ በሙሉ የተመካ መሆን አለበት። በኮድ ፍቺ መሠረት ሠንጠረዥ በ 3 ኤን ኤፍ ውስጥ አለ ተብሎ ይነገራል ፣ ይህ ሠንጠረዥ በሁለተኛው መደበኛ ቅጽ (2NF) ከሆነ እና ከሆነ እና በሠንጠረዡ ውስጥ ያለው እያንዳንዱ የእጩ ቁልፍ ያልሆነ ባህሪ በቀጥታ በእያንዳንዱ ላይ የተመሠረተ መሆን አለበት ። የዚያ ጠረጴዛ እጩ ቁልፍ. BCNF (እንዲሁም 3.5NF በመባልም ይታወቃል) በ3NF ያልተስተናገዱትን አንዳንድ ያልተለመዱ ነገሮችን ይይዛል።

Denormalization ምንድን ነው?

Denormalization የመደበኛነት ሂደት ተቃራኒ ሂደት ነው። አፈጻጸሙን ለማመቻቸት ተደጋጋሚ መረጃን በመጨመር ወይም በቡድን በማሰባሰብ መደበኛ ማድረግ ይሰራል። ምንም እንኳን ተደጋጋሚ መረጃን መጨመር ተቃራኒ ፍሬያማ ቢመስልም አንዳንድ ጊዜ ዲኖርማላይዜሽን ከመደበኛ ዳታቤዝ ጋር ከባድ የአፈፃፀም ቅጣቶችን ሊያስከትሉ በሚችሉ የግንኙነት ዳታቤዝ ሶፍትዌር ውስጥ ያሉ አንዳንድ ድክመቶችን ለማሸነፍ በጣም አስፈላጊ ሂደት ነው (ለከፍተኛ አፈፃፀም እንኳን ተስተካክሏል)።ምክንያቱም ብዙ ግንኙነቶችን መቀላቀል (ይህም የመደበኛነት ውጤቶች ናቸው) ለጥያቄ ውጤት ለማምጣት አንዳንድ ጊዜ እንደ የውሂብ ጎታ ስርዓቱ አካላዊ አተገባበር ላይ በመመስረት አዝጋሚ ሊሆን ይችላል።

በኖርማላይዜሽን እና በዲኖርማላይዜሽን መካከል ያለው ልዩነት ምንድን ነው?

– መደበኛ ማድረግ እና ማቃለል ሙሉ ለሙሉ ተቃራኒ የሆኑ ሁለት ሂደቶች ናቸው።

- መደበኛ ማድረግ ትላልቅ ሠንጠረዦችን በትናንሾቹ በመከፋፈል ተደጋጋሚ ያልሆነውን መረጃ በመቀነስ ሂደት ነው፣ ዲኖርማላይዜሽን ደግሞ አፈጻጸምን ለማመቻቸት ተደጋጋሚ መረጃዎችን የመጨመር ሂደት ነው።

– የውሂብ ጎታዎችን ያልተለመዱ ነገሮችን ለመከላከል መደበኛነት ይከናወናል።

– የዳታቤዙን የንባብ አፈጻጸም ለማሻሻል ዲስኦርማላይዜሽን ብዙውን ጊዜ ይከናወናል፣ነገር ግን ለማቃለል ጥቅም ላይ በሚውሉት ተጨማሪ ገደቦች ምክንያት ይጽፋል (ማለትም ክዋኔዎችን ያስገቡ፣ ያዘምኑ እና ይሰርዙ) ቀርፋፋ ሊሆኑ ይችላሉ። ስለዚህ፣ መደበኛ ያልሆነ የመረጃ ቋት ከተለመደው የመረጃ ቋት ይልቅ የባሰ የመጻፍ አፈጻጸምን ሊያቀርብ ይችላል።

- ብዙ ጊዜ "እስኪምታ ድረስ መደበኛ እንዲሆን፣ እስኪሰራ ድረስ መደበኛ እንዲሆን ማድረግ" ይመከራል።

የሚመከር: