ዋና ቁልፍ vs ልዩ ቁልፍ
አንድ አምድ ወይም የአምዶች ስብስብ፣ ረድፍን ለመለየት ወይም ለመድረስ የሚያገለግል ወይም በዳታቤዝ ውስጥ ያሉ የረድፎች ስብስብ ቁልፍ ይባላል። ልዩ ቁልፍ በግንኙነት ዳታቤዝ አውድ ውስጥ በሰንጠረዥ ውስጥ ያለውን ረድፍ በልዩ ሁኔታ የሚለይ ቁልፍ ነው። ልዩ ቁልፍ ከአንድ አምድ ወይም ከአምዶች ስብስብ የተሰራ ነው። ቀዳሚ ቁልፍ እንዲሁ ረድፍን ልዩ በሆነ መልኩ የሚለይ በሰንጠረዥ ውስጥ ያሉ የአምዶች ጥምረት ነው። ነገር ግን የልዩ ቁልፍ ልዩ ጉዳይ ተደርጎ ይቆጠራል።
ልዩ ቁልፍ ምንድነው?
ቀደም ሲል እንደተገለፀው ልዩ ቁልፍ በሠንጠረዥ ውስጥ ያለውን ረድፍ በልዩ ሁኔታ የሚለይ ነጠላ አምድ ወይም የአምዶች ስብስብ ነው።ስለዚህ፣ ልዩ የሆነ ቁልፍ ሁለት እሴቶቹ እኩል እንዳይሆኑ ተገድቧል። አንድ አስፈላጊ ንብረት ልዩ ቁልፎች የ NOT NOLL ገደቦችን አለመተግበሩ ነው። NULL የእሴት እጥረትን ስለሚወክል፣ ሁለት ረድፎች በአንድ አምድ ውስጥ NULL ካላቸው እሴቶቹ እኩል ናቸው ማለት አይደለም። እንደ ልዩ ቁልፍ የተገለፀው አምድ በዚያ አምድ ውስጥ አንድ ነጠላ NULL እሴት ብቻ ይፈቅዳል። ከዚያ ያንን ልዩ ረድፍ በልዩ ሁኔታ ለመለየት ጥቅም ላይ ሊውል ይችላል። ለምሳሌ የተማሪ መረጃን በያዘ ሠንጠረዥ ውስጥ የተማሪ መታወቂያ እንደ ልዩ ቁልፍ ሊገለጽ ይችላል። ሁለት ተማሪዎች አንድ አይነት መታወቂያ ሊኖራቸው ስለማይችል አንድን ተማሪ በልዩ ሁኔታ ይለያል። ስለዚህ የተማሪ መታወቂያ ዓምድ የአንድ ልዩ ቁልፍ ሁሉንም ባህሪያት ያሟላል። እንደ ዳታቤዝ ዲዛይን፣ ሠንጠረዥ ከአንድ በላይ ልዩ ቁልፍ ሊኖረው ይችላል።
ዋና ቁልፍ ምንድነው?
ዋና ቁልፍ እንዲሁ በአምድ ወይም በአምዶች ውህድ በተዛማጅ የውሂብ ጎታ ሠንጠረዥ ውስጥ ያለውን ረድፍ በልዩ ሁኔታ የሚገልጽ ነው። ሠንጠረዥ ቢበዛ አንድ ዋና ቁልፍ ሊኖረው ይችላል። ዋናው ቁልፍ ስውር ያልሆነን ገደብ ያስፈጽማል።ስለዚህ፣ ዋና ቁልፍ ተብሎ የተገለፀው አምድ በውስጡ NULL እሴቶች ሊኖሩት አይችልም። ዋናው ቁልፍ በሠንጠረዡ ውስጥ የተለመደ ባህሪ ሊሆን ይችላል እንደ የማህበራዊ ዋስትና ቁጥር ልዩ ይሆናል ወይም በዳታቤዝ አስተዳደር ስርዓት እንደ በማይክሮሶፍት SQL አገልጋይ ውስጥ እንደ ግሎባል ልዩ መለያ (GUID) የተፈጠረ ልዩ እሴት ሊሆን ይችላል። ዋና ቁልፎች በANSI SQL ስታንዳርድ ውስጥ ባለው ቀዳሚ ቁልፍ ገደብ ነው የሚገለጹት። ሰንጠረዡን ሲፈጥሩ ዋናው ቁልፍም ሊገለጽ ይችላል. SQL ዋና ቁልፍ ከአንድ ወይም ከዛ በላይ አምዶች እንዲሰራ ይፈቅዳል እና በዋናው ቁልፍ ውስጥ የተካተተው እያንዳንዱ አምድ ባዶ አይደለም ተብሎ በተዘዋዋሪ ይገለጻል። ነገር ግን አንዳንድ የውሂብ ጎታ አስተዳደር ስርዓቶች ዋናውን ቁልፍ አምዶች በግልፅ ባዶ እንዳይሆኑ ማድረግ ይጠይቃሉ።
በዋናው ቁልፍ እና ልዩ ቁልፍ መካከል ያለው ልዩነት
ምንም እንኳን ሁለቱም ዋና ቁልፍ እና ልዩ ቁልፍ አንድ ወይም ከዚያ በላይ የሆኑ ዓምዶች በሠንጠረዡ ውስጥ ያለውን ረድፍ በተለየ ሁኔታ መለየት የሚችሉ ቢሆኑም አንዳንድ አስፈላጊ ልዩነቶች አሏቸው። ከሁሉም በላይ፣ ጠረጴዛ አንድ ዋና ቁልፍ ብቻ ሊኖረው የሚችለው ከአንድ በላይ ልዩ ቁልፍ ሲኖረው።ዋናው ቁልፍ እንደ ልዩ ቁልፍ ልዩ ጉዳይ ተደርጎ ሊወሰድ ይችላል. ሌላው ልዩነት ዋና ቁልፎች ስውር ያልሆኑ ባዶ ገደቦች ሲኖራቸው ልዩ ቁልፉ ያን ገደብ የለውም። ስለዚህ፣ ልዩ ቁልፍ አምዶች NULL እሴቶችን ሊይዙም ላይኖራቸውም ይችላሉ ነገር ግን ዋና ቁልፍ አምዶች NULL እሴቶችን ሊይዙ አይችሉም።