የውሂብ ጎታ ግንኙነቶች መግቢያ

የውሂብ ጎታ ቃል "ግንኙነት" ወይም "ግንኙነት" በሠንጠረዦች ውስጥ ያለ ውሂብ የተገናኘበትን መንገድ ይገልፃል.

አዲስ ወደሆኑ የውሂብ ጎታዎች ዓለም አዲስ መጤዎች በአብዛኛው በውሂብ ጎታ እና በቀመር ሉህ መካከል ያለውን ልዩነት ማየት ከባድ ነው. የውሂብ ሰንጠረዦችን ይመለከታሉ እና የውሂብ ጎታዎች እርስዎ በአዳዲስ መንገዶች ውሂብ እንዲያደራጁ እና እንዲጠይቁ ይረዳሉ , ነገር ግን ተዛማጅ የውሂብ ጎታ ቴክኖሎጂ ስም በሚለው ውህደት መካከል ያሉ ግንኙነቶችን አስፈላጊነት ለመረዳት አለመቻሉን ይገነዘባሉ.

ግንኙነቶች በተለያዩ የውሂብ ጎታ ሰንጠረዦች መካከል ያሉ ግንኙነቶችን ጠንካራ በሆነ መንገድ እንዲገልጹ ያስችሉዎታል. እነዚህ ግንኙነቶች ኃይለኛ የመስቀለኛ ጥያቄዎች ጥያቄዎችን ለማካሄድ ሊጠቅሙ ይችላሉ.

የውሂብ ጎታ ግንኙነቶች ዓይነቶች

በግንኙነት ውስጥ ሊሳተፉ የሚችሉ የሠንጠረዥ ረድፎች ቁጥር መሠረት ሦስት ዓይነት የውሂብ ጎታ ግንኙነቶች አሉ. እነዚህ ሶስት የግንኙነት አይነቶች በሁለት ጠረጴዛዎች መካከል ይገኛሉ.

ራስን ማስተማሪያ ግንኙነቶች: ልዩ ጉዳይ

በራስ የመመካከር ግንኙነት የሚከሰተው አንድ ጠረጴዚ ብቻ ሲኖር ነው. አንድ የተለመደው ምሳሌ የእያንዳንዱን ሰራተኛ ተቆጣጣሪ መረጃ የያዘ የሰራተኞች ሠንጠረዥ ነው. እያንዳንዱ የሥራ ተቆጣጣሪ ሰራተኛ ሲሆን የራሱንም ተቆጣጣሪ ያደርገዋል. በዚህ ሁኔታ እያንዳንዱ ሠራተኛ አንድ ተቆጣጣሪ ስለያዘ አንድ-ለብዙ የራስ-ማጣቀሻ ግንኙነት አለ, ግን እያንዳንዱ ተቆጣጣሪ ከአንድ በላይ ሰራተኛ ሊኖረው ይችላል.

ከውጪ ቁልፎች ጋር ግንኙነቶችን መፍጠር

የውጭ ቁልፍን በመግለጽ በሠንጠረዦች መካከል ግንኙነቶችን ይፈጥራሉ. ይህ ቁልፍ ሰንጠረዥን እንዴት እንደሚዛመዱ የሚገልፀውን የውሂብ ጎታ ይነግረዋል. በብዙ አጋጣሚዎች, በሠንጠረዥ ሠንጠረዥ ውስጥ ያለው ሠንጠረዥ ከሠንጠረዥ B ያሉትን ማጣቀሻዎች ያጠቃልላል.

የመምህራን እና የተማሪዎችን ሠንጠረዦችን በድጋሚ ተመልከት. የአስተማሪዎች ሰንጠረዥ አንድ መታወቂያ, ስም, እና የኮርስ ዓምድ ብቻ ያካትታል:

መምህራን
InstructorID መምህር_ስም ኮርስ
001 ጆን ዶ እንግሊዝኛ
002 ጄ ሾሜ ሒሳብ

የተማሪዎች ሰንጠረዥ መታወቂያ, ስም, እና የውጪ ቁልፍ ቁልፍ ያካትታል:

ተማሪዎች
StudentID Student_Name Teacher_FK
0200 ሎውል ስሚዝ 001
0201 ብራየን ማዳም ሾርት 001
0202 Corky Mendez 002
0203 ሞኒካ ጆንስ 001

የአስተማሪው ሠንጠረዥ ውስጥ የአስተማሪው ቀዳሚ ቁልፍ እሴት በአማዎች ሠንጠረዥ Teacher_FK ውስጥ ያለው አምድ ማጣቀሻ.

በመሠረቱ, የመረጃ ቋቶች ዲዛይኖች በዋናው ስም ወይም የውጭ ቁልፍ ቁሌፍ ሇመሇየት በአምዱ ስም ውስጥ "PK" ወይም "FK" ይጠቀማለ.

እነዚህ ሁለት ሰንጠረዦች በመምህራንና በተማሪዎቻቸው መካከል አንድ-ለብዙ ግንኙነቶችን እንደሚያሳዩ ልብ ይበሉ.

ግንኙነቶች እና አመክንአዊነት

አንዴ የውጭ ቁልፍን ወደ ሰንጠረዥ ካስገቡ በሁለቱም ሰንጠረዦች መካከል ያለውን የመርየምን ጥብቅነት የሚደግፍ የውሂብ ገደብ መፍጠር ይችላሉ. ይህ በጠረጴዛዎች መካከል ያሉ ግንኙነቶች ወጥነት እንዳላቸው ያረጋግጣል. አንዱ ሰንጠረዥ በሌላ ሰንጠረዥ ላይ የውጭ ቁልፍ ሲኖረው የውጤታማነት ጽንሰ-ሐሳብ (ጽፈዋል) ጽንሰ-ሐሳብ በሠንጠረዥ B ውስጥ የውጭ ቁጥር ቁልፍ ከቁጥር ሠ

ግንኙነቶችን ተግባራዊ ማድረግ

በርስዎ ዳታቤዝ ላይ በመመርኮዝ በተለያየ መንገድ በሰንጠረዥ ውስጥ ግንኙነቶችን ትሰራላችሁ. ማይክሮሶፍት ዳይሬክቶች ሰንጠረዦቹን ለማገናኘት እና የአስተማማኝ ታማኝነትን ለማስፈጸም የሚረዳዎ አንድ አዋቂ ያቀርባል.

SQL በቀጥታ እየተጻፉ ከሆነ መጀመሪያ የዲ.ሲ.ን መምህሪያዎች ዋና ቁልፍ እንዲሆኑ ይነግሩታል.

ሠንጠረዥ መምህራን (

የመማሪያ አስተማሪ INT AUTO_INCREMENT PRIMARY KEY,
Teacher_Name VARCHAR (100),
Course VARCHAR (100)
);

የተማሪዎች ሰንጠረዡን ሲፈጥሩ, የአስተማሪው / ዋን አምድ እንደ መምህራን ሰንጠረዥ ውስጥ የመምህር / አሠሪ አምድ / ማጣቀሻን / የውጭ ቁልፍ በማለት ያስታውሳሉ-

TABLE CREATE TABLE Students (
StudentID INT AUTO_INCREMENT PRIMARY KEY,
Student_Name VARCHAR (100), Teacher_FK INT,
የውጪ ቁልፍ (Teacher_FK) ሪፖርቶች መምህራን (የመማሪያ አስተማሪ))
);

ግንኙነቶችን በመደወል በቴስታዎች መቀላቀል

አንዴ በመረጃዎችዎ ውስጥ አንድ ወይም ከዛ በላይ ግንኙነቶች ከፈጠሩ በኋላ, ከበርካታ ሠንጠረዦች መረጃን ለማጣመር የ SQL ATIN መጠይቆችን በመጠቀም ኃይላቸውን መጠቀም ይችላሉ. በጣም የተለመደው ተቀጥላ አይነት የ SQL INNER JOIN ነው, ወይም ቀላል አገናኝ. የዚህ አይነት ተቀባዩ ከበርካታ ሰንጠረዦች የመቀላቀል ሁኔታዎችን የሚያሟሉ ሁሉንም መዝገቦችን ያወጣል. ለምሳሌ, ይህ JOIN ሁኔታ የተማሪ_Name, Teacher_Name እና ኮርስ በተማሪዎች ሰሌዳ ውስጥ የውጪ ቁልፍን በመምህር ሰንጠረዥ ውስጥ ካለው ቁልፍ ቁልፍ ጋር ያመጣል.

SELECT Students.Student_Name, Teachers.Teacher_Name, Teachers.Course
ከ እናቶች
አስተማሪዎች በያኔ አስተማሪዎች
ተማሪዎች.Teacher_FK = መምህራን -InstructorID;

ይህ መግለጫ ሠንጠረዥ ይህንን የመሰለ ነገር ይወጣል:

መግለጫውን ከ SQL አመላላሽ መግለጫ ጋር ይቀላቀሉ

ተማሪው / ዋእሰተወይደም / ጆን ዶንሰን / ጆርጅ / ጆርጅስ / ጆን ዶንስ