בית מאגרי מידע מה ההבדל בין מפתח מורכב, מפתח ראשי ומפתח זר?

מה ההבדל בין מפתח מורכב, מפתח ראשי ומפתח זר?

Anonim

ש:

מה ההבדל בין מפתח מורכב, מפתח ראשי ומפתח זר?

ת:

מפתח ראשי מוגדר כמפתח או עמודת מסד נתונים המזהים באופן ייחודי כל שורה בטבלת מסד נתונים. מפתח מורכב הוא קבוצה של יותר ממפתח אחד, שביחד מזהה כל רשומה באופן ייחודי.

מפתח זר, לעומת זאת, הוא מפתח באיזה טבלה שמזהה באופן ייחודי שורות בטבלה אחרת - או, במילים אחרות, מפתח העוקב אחר מפתח ראשי בטבלה אחרת.

דוגמא לכך היא רשימת בתים בשוק הנדל"ן. במאגר מסודר היטב, צריך להיות מפתח ראשי שמזהה באופן ייחודי כל רשומה. כיצד יתכן והדבר קשור לתחכום של מסד הנתונים.

במקרים מסוימים, הבתים עשויים להיות מזוהים באופן ייחודי על ידי מספר משכנתא - כל הנתונים האחרים (ערים, רחובות, מספרי בתים) אינם ייחודיים לכל רשומה. מספר המשכנתא יהיה המפתח העיקרי. עם זאת, נניח שטכנולוגיית הרישום של מתווך MLS מקצה מספרים ייחודיים משלה לרשומות בטבלה. לאחר מכן, יהיו שני מפתחות שמפתחים עשויים לזהות כ"מפתחות המועמד ": מספר המשכנתא ומספר ה- MLS. אחד מהם יתאים ל"מפתח העיקרי "במה שיש כאלו שיראו בצורה שרירותית.

מפתח מורכב, אם כן, יהיה השילוב של שני מפתחות: לדוגמא, השילוב של מספר הבית והרחוב עשוי להיחשב כמפתח מורכב, בהתחשב בכך שרשימות השוק הן מקומיות. אם כן, אז כאשר מישהו מחפש באמצעות מספר הבית וגם הרחוב, עליו להחזיר רק רשומה אחת אחת.

בינתיים, אם יש מפתח בטבלה מקושרת, למשל, טבלת קונה, המתייחסת למפתח הראשי, זה יהיה מפתח זר.

מה ההבדל בין מפתח מורכב, מפתח ראשי ומפתח זר?