מפתחות בסיסיים שהופכים ניהול מסד נתונים קל

מפתחות מסד נתונים הם הדרך הקלה ביותר ליצור מסד נתונים יחסיים יעיל

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

מפתחות ראשיים

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

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

לאחר שתחליט על המפתח הראשי ולהגדיר את מסד הנתונים, מערכת ניהול מסדי נתונים תאכוף את ייחודו של המפתח.

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

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

מפתחות זרים

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

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

בסיס הנתונים יאכוף את שלמות הייחוס על- ידי כך שכל הערכים בעמודה 'מחלקות' בטבלת העובדים יהיו בעלי ערכים מתאימים בטבלת המחלקות.

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

למידע נוסף בנושא זה, ראה יצירת מפתחות זרים .