በ Microsoft SQL Server ውስጥ የውጭ ቁልፎችን እንዴት መፍጠር ይቻላል

በመረጃ ቋቶች ውስጥ ካሉ በጣም አስፈላጊ ጽንሰ-ሀሳቦች መካከል አንዱ በዳታ ሳቢ ዲሴልስ ውስጥ ግንኙነቶችን ይፈጥራል. እነዚህ ግንኙነቶች በበርካታ ሠንጠረዦች ውስጥ የተከማቸውን ውሂብ ለማገናኘት እና ውጤታማ በሆነ መልኩ እንዲሰበሰቡ ዘዴን ያቀርባሉ. በሁለት ሠንጠረዦች መካከል ግንኙነት ለመፍጠር የውጭ ቁልፍን በሌላ ሰንጠረዥ ውስጥ የሚጠቁም አንድ ሠንጠረዥ መጥቀስ አለብዎት.

የውሂብ ጎታ ሰንጠረዦች እና ግንኙነቶች

ዳታ ቤዞችን እንደ ማይክሮሶፍት ኤክስፕሎረር ውስጥ ከሚጠቀሙት የቀመርሉቱ ፕሮግራም ጋር ተመሳሳይነት ያላቸው እንደሚታወቁ አስቀድመው ማወቅ ይችላሉ. እንዲያውም, የ Excel ተመን ሉህ እንኳን ወደ ዳታቤዝ መቀየር ይችላሉ. ሆኖም, የተመን ዴስክቶባርዎች ከተመን ሉሆች ጋር የሚጣጣሙበት ቦታ, በሰንጠረዦች መካከል ጠንካራ ግንኙነትን ለመገንባት በሚለው ላይ ነው.

ለምሳሌ, አንድ ኩባንያ የሰው ሀብት መረጃን ለመከታተል የሚረዳ የውሂብ ጎታ ተመልከት. ይህ የውሂብ ጎታ ለሠራተኞቹ ሁሉ ሠራተኛ የሚከተሉትን መረጃዎች የያዘው ሠንጠረዥ ያለው ሠንጠረዥ አለው.

በዚህ ምሳሌ ውስጥ የሰራተኞች መታወቂያ በእያንዳንዱ ሠራተኛ ወደ መረጃ ቋቱ ሲገባ የተመደበለት ለየት ያለ ኢንቲጀር ነው. የአቀባይ መታወቂያው በኩባንያው ውስጥ የሠራተኛውን ቦታ የሚያመለክት የስራ ኮድ ነው. በዚህ እቅድ ውስጥ ሠራተኛው አንድ ደረጃ ብቻ ሊኖረው ይችላል, ነገር ግን ብዙ (ወይም ምንም የለም) ሠራተኞች እያንዳንዱን ቦታ ሊያሟሉ ይችላሉ. ለምሳሌ, የሂሳብ ሰራተኛነት ያላቸው በመቶዎች የሚቆጠሩ ሠራተኞች ሊኖሩ ይችላሉ.

የውሂብ ጎታ በተጨማሪም ስለ እያንዳንዱ አቀማመጥ የሚከተለውን ተጨማሪ መረጃ የያዘ ሰንጠረዥ የያዘ ሊሆን ይችላል.

በዚህ ሠንጠረዥ ውስጥ ያለው የቦታ የመቁጠሪያ መስክ በተቀጣሪው ሠንጠረዥ ውስጥ ካለው ተቀጥሎ መታወቂያ መስክ ጋር ይመሳሰላል - አንድ ቦታ ወደ ዳታቤዝ ሲጨመር የሚፈጠረው ለየት ያለ ኢንቲጀር ነው.

የሰራተኞችን ዝርዝር ከመረጃ ማጠራቀሚያ ለመሳብ ስንመጣ የእያንዳንዱን ሰው ስም እና ርእሰ ጉዳይ መጠየቅ ተፈጥሯዊ ነው. ሆኖም, ይህ መረጃ በበርካታ የውሂብ ጎታ ጠረጴዛዎች ውስጥ የተቀመጠ ስለሆነ, በቆየው ሰንጠረዥ መካከል ያለውን ዝምድና የሚጠይቅ የ JOIN ጥያቄን በመጠቀም ብቻ ነው ሊመለስ የሚችለው.

የሠንጠረዦቹን መዋቅር ስትመለከቱ ግንኙነቱን የሚወስነው መስክ ግልጽ ሊሆን ይችላል - የቦታው መታወቂያ መስክ. እያንዲንደ ሰራተኛ አንዴ ቦታ ብቻ ሉኖረው ይችሊሌ እናም ያንን ቦታ የቦታ ማመሌከቻ ከተገሌጸው የፕሉስ ሠንጠረዥ አዴራሻ ጋር በማካተት ነው. ለ Positions ሠንጠረዥ ቁልፍ ቀዳሚ ቁልፍ ከመሆን በተጨማሪም በዚህ ምሳሌ, የቦታው መታወቂያ መስክ ከሠራተኞች ሰንጠረዥ ወደ Positions ሰንጠረዥ የውጭ ቁልፍ ነው. ከዚያም የውሂብ ጎታ ከተለያዩ ሰንጠረዦች መረጃዎችን ለማጣመር እና በመረጃ ዳታዎቹ ላይ የሚደረጉ ማሻሻያዎች ወይም ለውጦች የማጣቀሻ እሴትን ለማስፈፀም መቻላቸውን ያረጋግጣል.

የውጭ ቁልፍን አንዴ ካወቁ በኋላ በሚቀጥለው ጥያቄ በመጠቀም የሚፈልገውን መረጃ ከውሂብ ጎትዎ መሳብ ይችላሉ.

SELECT FirstName, LastName, ርዕስ ከስራዎች ውስጥ ተቀማጭዎች ተቀጥረው የሚሠሩ ሠራተኞች.የ POSITIONID = Positions.PositionID

የውጭ ቁልፎችን በ SQL Server ውስጥ መፍጠር

እንደ ቴክኒካዊ, ከላይ እንደተጠቀሰው አይነት ጥያቄዎች ለመፈፀም ግልፅ መሆን አይኖርብዎትም. ሆኖም የውጭ ቁልፍ መከላከያዎችን በመጠቀም ግንኙነታቸውን በግልጽ ካስቀመጧቸው, የውሂብ ጎታዎቹ ለእርስዎ የተወሰነ የቤት ጽዳትን ሥራ ሊያካሂዱ ይችላሉ:

በ SQL Server ውስጥ የውጭ ቁልፍ እንዴት እንደሚፈጥሩ እነሆ:

ሠንጠረዥ ተቀጣሪ ሰራተኞች የውጭ ቁልፍ (PositionID) የማመሳከሪያዎች አቀማመጦች (PositionID)

የውሱን ቁልፍ በመጨመር ጠረጴዛውን በመጨመር የውጭ ቁልፍ መፍጠር ይችላሉ:

የውጪ ቁልፍ ማጣቀሻዎች (PositionID)

የውጭ ቁልፍ ዓምድ የአምዱ ትርጉም መጨረሻ.