ከአንድ-ለብዙ ግንኙነቶች በመረጃ ቋት ውስጥ

ዝርዝር ሁኔታ:

ከአንድ-ለብዙ ግንኙነቶች በመረጃ ቋት ውስጥ
ከአንድ-ለብዙ ግንኙነቶች በመረጃ ቋት ውስጥ
Anonim

በመረጃ ቋት ውስጥ ከአንድ እስከ ብዙ ግንኙነት የሚከሰተው በሰንጠረዥ ሀ ውስጥ ያለው እያንዳንዱ መዝገብ በሰንጠረዥ B ውስጥ ብዙ የተገናኙ መዝገቦች ሊኖሩት ሲችል ነገር ግን በሰንጠረዥ B ውስጥ ያለው እያንዳንዱ መዝገብ በሰንጠረዥ A ውስጥ አንድ ተዛማጅ መዝገብ ሊኖረው ይችላል።

በመረጃ ቋት ውስጥ ያለ የአንድ-ለብዙ ግንኙነት በጣም የተለመደው የግንኙነት ዳታቤዝ ዲዛይን ሲሆን በጥሩ ዲዛይን ላይ ነው።

ዳታቤዝ እንዲሁ የአንድ ለአንድ ግንኙነት እና ከብዙ-ለብዙ ግንኙነት መተግበር ይችላል።

Image
Image

የአንድ-ለብዙ ግንኙነት ምሳሌ

በአስተማሪ እና በሚያስተምሩት ኮርሶች መካከል ያለውን ግንኙነት ግምት ውስጥ ያስገቡ። አስተማሪ ብዙ ክፍሎችን ማስተማር ይችላል ነገር ግን ኮርሱ ከመምህሩ ጋር ተመሳሳይ ግንኙነት አይኖረውም።

ስለዚህ በመምህራን ሠንጠረዥ ውስጥ ላለው እያንዳንዱ መዝገብ በኮርሶች ሠንጠረዥ ውስጥ ብዙ መዝገቦች ሊኖሩ ይችላሉ። ይህ ምሳሌ ከአንድ እስከ ብዙ ያለውን ግንኙነት ያሳያል፡ አንድ አስተማሪ ከበርካታ ኮርሶች።

ለምንድነው የአንድ ለአንድ ግንኙነት መመስረት አስፈላጊ የሆነው

የአንድ-ለብዙ ግንኙነትን ለመወከል ቢያንስ ሁለት ጠረጴዛዎች ያስፈልጉዎታል። ለምን እንደሆነ እንይ።

የመጀመሪያውን መደበኛ ቅፅ ንድፍ ማክበር

ምናልባት የተማሩትን ስም እና ኮርሶች መመዝገብ የምንፈልግበት ጠረጴዛ ፈጠርን። የመምህራን እና ኮርሶች ጠረጴዛ እንደዚህ ልንቀርፅ እንችላለን፡

የመምህር_መታወቂያ የመምህር_ስም ኮርስ
መምህር_001 ካርመን ባዮሎጂ
መምህር_002 ቬሮኒካ ሒሳብ
መምህር_003 ጆርጅ እንግሊዘኛ

ካርመን ሁለት ወይም ከዚያ በላይ ኮርሶችን ብታስተምርስ? በዚህ ንድፍ ሁለት አማራጮች አሉን. ወደ ካርመን ነባር መዝገብ ልናክለው እንችላለን፣ እንደዚህ፡

የመምህር_መታወቂያ መምህር_ስም ኮርስ
መምህር_001 ካርመን ባዮሎጂ፣ ሂሳብ
መምህር_002 ቬሮኒካ ሒሳብ
መምህር_003 ጆርጅ እንግሊዘኛ

ነገር ግን ከላይ ያለው ንድፍ ተለዋዋጭ አይደለም እና በኋላ ላይ ውሂብ ሲያስገቡ፣ ሲያርትዑ ወይም ሲሰርዙ ችግር ሊያስከትል ይችላል። ውሂብ መፈለግ አስቸጋሪ ያደርገዋል።

ይህ ንድፍ እንዲሁ እያንዳንዱ የሰንጠረዥ ሕዋስ አንድ ነጠላ ፣የተለየ የውሂብ ቁራጭ መያዝ እንዳለበት የሚናገረውን የመጀመሪያውን የመረጃ ቋት መደበኛ መደበኛ መርህ (1NF) ይጥሳል።

ሁለተኛው መደበኛ የቅፅ ህግ

ሌላ የንድፍ አማራጭ ለካርመን ሁለተኛ መዝገብ ማከል ሊሆን ይችላል፡

መምህር_ID መምህር_ስም ኮርስ
መምህር_001 ካርመን ባዮሎጂ
መምህር_001 ካርመን ሒሳብ
መምህር_002 ቬሮኒካ ሒሳብ
መምህር_003 ጆርጅ እንግሊዘኛ

ይህ አካሄድ 1NFን ያከብራል ነገርግን አሁንም ደካማ የውሂብ ጎታ ንድፍ ነው ምክንያቱም ተደጋጋሚነትን ስለሚያስተዋውቅ እና ትልቅ ዳታቤዝ ሳያስፈልግ ሊያበላሽ ይችላል። ከሁሉም በላይ፣ ውሂቡ ወጥነት የሌለው ሊሆን ይችላል።

ለምሳሌ የካርመን ስም ቢቀየርስ? ከውሂቡ ጋር የሚሰራ ሰው ስሟን በአንድ መዝገብ ሊያዘምን እና በሁለተኛው መዝገብ ማዘመን ላይችል ይችላል።

ይህ ንድፍ ሁለተኛውን መደበኛ ቅጽ (2NF) መስፈርት ይጥሳል፣ 1NFን የሚያከብር እና እንዲሁም የበርካታ መዝገቦችን ድጋሚዎች ማስወገድ አለበት። የ2NF ደንቡ ይህንን የሚያገኘው የውሂብ ንዑስ ስብስቦችን ወደ ብዙ ሰንጠረዦች በመለየት እና በመካከላቸው ግንኙነት በመፍጠር ነው።

ዳታቤዝ እንዴት እንደሚነድፍ ከአንድ-ለብዙ ግንኙነቶች

የአንድ ለአንድ ግንኙነትን በመምህራን እና ኮርሶች ሠንጠረዥ ውስጥ ለመተግበር ሰንጠረዦቹን ለሁለት ሰብረው የውጭ ቁልፍ በመጠቀም ያገናኙዋቸው።

እዚህ፣ በመምህራን ሠንጠረዥ ውስጥ ያለውን የኮርስ አምድ አስወግደነዋል፡

መምህር_ID መምህር_ስም
መምህር_001 ካርመን
መምህር_002 ቬሮኒካ
መምህር_003 ጆርጅ

እና የኮርሶች ጠረጴዛ ይኸውና። የውጭ ቁልፉ የመምህር_መታወቂያው ኮርሱን በመምህራን ሠንጠረዥ ውስጥ ካለው አስተማሪ ጋር እንደሚያገናኝ ልብ ይበሉ፡

ኮርስ_ID የኮርስ_ስም የመምህር_መታወቂያ
ኮርስ_001 ባዮሎጂ መምህር_001
ኮርስ_002 ሒሳብ መምህር_001
ኮርስ_003 እንግሊዘኛ መምህር_003

የውጭ ቁልፍን ተጠቅመን በመምህራኑ እና በኮርሶች ጠረጴዛ መካከል ግንኙነት ፈጠርን። ይህ ዝግጅት ካርመን ሁለቱንም ባዮሎጂ እና ሂሳብ እንደምታስተምር እና ጆርጅ እንግሊዘኛ እንደሚያስተምር ይነግረናል።

ይህ ንድፍ እንዴት ማናቸውንም ተጨማሪ መደጋገም እንደሚያስቀር፣ መምህራን የተለያዩ ኮርሶችን እንዲያስተምሩ እንደሚፈቅድ እና የአንድ ለአንድ ግንኙነት እንዴት እንደሚተገበር ማየት እንችላለን።

የሚመከር: