በውሂብ ጎታ ውስጥ ሙሉ በሙሉ ተፈላጊ ጥገኛ

ሙሉ ብቃት ያለው ጥገኝነት ከሁለተኛ መደበኛ (2 ኛ መደበኛ) መደበኛ (Normal Form) መደበኛ (Normal Form) ጋር እኩል ይሆናል. በአጭሩ ይህ ማለት የመጀመሪያው መደበኛ ፎርም (1NF) መስፈርቶችን ያሟላል ማለት ነው, እና ሁሉም ቁልፍ ያልሆኑ ቁልፍ ባህሪያቶች ሙሉ በሙሉ በጥገኛ ዋናው ቁልፍ ላይ ናቸው.

ይህ እንደ ውስብስብ አይሆንም. ይህንን በበለጠ ዝርዝር እንመልከት.

የመጀመሪያ መደበኛ ቅጽ

የውሂብ ጎታ ሙሉ በሙሉ በንብረት ላይ የተመሠረተ ሊሆን ቢችልም, በመጀመሪያ ደረጃ የመጀመሪያውን መደበኛ ቅጽ ማሟላት አለበት.

ይህ ማለት እያንዳንዱ እሴት አንድ ነጠላ የአቶሚክ እሴት መያዝ አለበት ማለት ነው.

ለምሳሌ, የሚከተለው ሰንጠረዥ ከ 1 NF ጋር አይጣጣምም ምክንያቱም ሠራተኛው ቲና ከሁለት ቦታዎች ጋር የተቆራኘ ስለሆነ ሁለቱም በነጠላ ሕዋስ:

የመጀመሪያው መደበኛ ያልሆነ ማመልከቻ
ሠራተኛ አካባቢ
ዮሐንስ ሎስ አንጀለስ
ቲና ሎስ አንጀለስ, ቺካጎ

ይህን ንድፍ መፍቀድ የውሂብ ዝማኔዎችን ወይም ግቤቶችን አሉታዊ ተጽዕኖ ሊያሳድር ይችላል. 1NF አፈጻጸሙን ለማረጋገጥ, ሁሉንም ሰንጠረዦች (ወይም የዓምድ ሕዋሶች) አንድ እሴት እንዲይዙ, ሠንጠረዡን እንደገና ያስተካክሉ:

የመጀመሪያው መደበኛ ማሟያ ተመሳሳይነት
ሠራተኛ አካባቢ
ዮሐንስ ሎስ አንጀለስ
ቲና ሎስ አንጀለስ
ቲና ቺካጎ

ሆኖም ግን 1NF ከሂደቱ ጋር ችግር ላለመፍጠር በቂ አይደለም.

2NF ሙሉ ጥገኛነትን ለማረጋገጥ እንዴት ይሰራል

ሙሉ በሙሉ ጥገኛ ለመሆን ሁሉም እጩ ያልሆኑ ቁልፍ ባህሪያት በዋናው ቁልፍ ላይ የተመሰረቱ ናቸው. (ያስታውሱ, የእጩ እሴት ቁልፍ የሆነ ቁልፍ (ለምሳሌ ዋናው ወይም የውጭ ቁልፍ) የውሂብ ጎታ መረጃን ለይቶ ለማወቅ ይረዳል.

የውሂብ ጎታ ዲዛይኖች የጥራት ግንኙነቶችን ለመግለፅ ባህርይን ይጠቀማሉ;

የአብረሀራት A የ B ን ዋጋ ከወሰነው, ይሄ A -> B - ማለትም በ B ላይ የተመሰረተው በ A ላይ ሲሆን ጥገኛ ነው ማለት ነው. በዚህ ዝምድና ውስጥ, A የ B ን ዋጋ ይወስናል, በሌላነት ደግሞ ለ በ A ይወሰናል.

ለምሳሌ, በሚከተሉት የሠራተኛ ክፍል መምሪያዎች ውስጥ , EmployeeID እና DeptID ሁለቱም እጩ ቁልፎች ናቸው-EmployeeID የዲኤንዩ ዋና ቁልፍ ሲሆን DeptID የውጭ ቁልፍ ነው.

ሌላ ማንኛውም ባህርይ - በዚህ ጉዳይ ላይ EmployeeName እና DeptName - ዋጋውን ለማግኘት በዋናው ቁልፍ ላይ የተመሰረተ ነው.

የሰራተኞች መምሪያዎች
EmployeeID EmployeeName DeptID DeptName
Emp1 ዮሐንስ Dept001 ፋይናንስ
Emp2 ቲና Dept003 ሽያጭ
ኤም. ኤም ካርሎስ Dept001 ፋይናንስ

በዚህ ሁኔታ ሠንጠረዥ ሙሉ በሙሉ ጥገኛ አይደለም, ምክንያቱም ተቀጣሪው በሠራተኛው ቁልፍ ተቀጣሪ በሚሆንበት ጊዜ DeptName በ DeptID በኩል ይወሰናል. ይህ በከፊል ጥገኝነት ይባላል .

ይህንን ሠንጠረዥ ከ 2 NF ጋር ለማጣጣም, መረጃውን በሁለት ሰንጠረዦች መለየት ያስፈልገናል.

ሠራተኞች
EmployeeID EmployeeName DeptID
Emp1 ዮሐንስ Dept001
Emp2 ቲና Dept003
ኤም. ኤም ካርሎስ Dept001

ከሰንጠረዡ ሰንጠረዥ የ DeptName ባህሪን እናስወግዳለን እና አዲስ የጠረጴዛ መምሪያዎችን እንፈጥራለን.

መምሪያዎች
DeptID DeptName
Dept001 ፋይናንስ
Dept002 የሰው ሀይል አስተዳደር
Dept003 ሽያጭ

አሁን በሰንጠረዦቹ መካከል ያለው ግንኙነት ሙሉ በሙሉ ጥገኛ ነው, ወይም 2NF.

ሙሉ በሙሉ ተፈላጊነት ለምን አስፈላጊ ነው

በዳታ የውሂብ ባህሪ ሙሉ ጥገኝነት የውሂብ መጥቀምን ያረጋግጣል እና የውሂብ ክፍተቶችን ያስወግዳል.

ለምሳሌ, 1NF ብቻ ስለያዘ ከላይ ባለው ክፍል ያለውን ሰንጠረዥ ተመልከቱ. እዚህ እንደገና ነው:

የመጀመሪያው መደበኛ ማሟያ ተመሳሳይነት
ሠራተኛ አካባቢ
ዮሐንስ ሎስ አንጀለስ
ቲና ሎስ አንጀለስ
ቲና ቺካጎ

ቲና ሁለት ሪኮች አሏት. አንድ ሁለት መሆናቸውን ሳናስተውል ዝማኔ ካደረግን ውጤቱ ወጥነት የለውም.

ወይንም, አንድ ሰራተኛ ወደዚህ ሰንጠረዥ ለመጨመር ብንሞክር, ግን ቦታውን እስካሁን አላወቅንም? የአካባቢው አይነታ የ NULL እሴቶችን ካልፈቀደ አዲስ ተቀጣሪ ሊያክል ልንከለከል እንችል ይሆናል.

ሙሉ ህልውና ሙሉውን ስዕል አይደለም, ነገር ግን ከሂደቱ ጋር ሲነፃፀር. የርስዎ መሰረታዊ ዳታ በሶስተኛ መደበኛ ፎርም (3NF) ውስጥ መሆንዎን ማረጋገጥ አለብዎ.