בעת פיתוח פרויקט תוכנה אחד מההיבטים החשובים, הבסיסיים והמהותיים ביותר, הוא סכימת מסד נתונים מובנית כהלכה. זה המקביל לבניית בית אתה צריך להבטיח את היסוד המונח כראוי, אחרת הסיכוי לבנות בית איכותי מופחת באופן דרסטי.
באופן מפתיע יותר מכפי שניתן היה לחשוב, בואו נלמד את ההיבטים השונים המשמשים לכתיבת סכימת מסדי נתונים אדריכלית היטב.
צור תחביר טבלה
כדי להתחיל, פתח את המועדף עליך עורך טקסט. יצירת סכימת מסד נתונים אינה דורשת יותר מקובץ טקסט רגיל. מסד נתונים מורכב ממספר טבלאות, שכל אחת מהן מורכבת מעמודות, והתחביר CREATE TABLE משמש ליצירת טבלה אחת. הנה דוגמה בסיסית:
צור משתמשים בטבלה (
id INT לא אפס,
is_active TINY INT לא NULL,
שם מלא VAR CHAR (100) לא אפס,
דוא"ל VARCHAR (100) לא אפס
);
כפי שאתה יכול לראות זה ייצור טבלת מסד נתונים בשם משתמשים שמורכב מארבעה טורים. זו אמורה להיות משפט SQL די ישר קדימה החל מ צור שולחן, ואחריו שם טבלאות מסד הנתונים, ואז בסוגריים עמודות הטבלה מופרדות בפסיק.
השתמש בסוגי עמודות נכונים
כפי שמוצג לעיל, העמודות שמורכבות מהטבלה מופרדות בפסיקים. כל הגדרת עמודה מורכבת משלושת החלקים זהים:
סוג COL_NAME [אפשרויות]
שם העמודה, ואחריו סוג העמודה ואז פרמטרים אופציונליים כלשהם. ניכנס לפרמטרים האופציונליים מאוחר יותר, אך אם נתמקד בסוג העמודה, להלן מפורטים סוגי העמודות הנפוצים ביותר הזמינים:
לכל דבר ועניין, סוגי העמודות שלעיל הם כל מה שאתה צריך כדי לכתוב תוכניות מסד נתונים של mySQL.
הגדר אפשרויות עמודות
בעת הגדרת עמודות ישנן גם אפשרויות שונות שתוכלו לציין. להלן דוגמה נוספת של צור שולחן הַצהָרָה:
צור משתמשים בטבלה (
id INT לא NULL מפתח עיקרי AUTO_INCREMENT,
שם משתמש VARCHAR (100) לא ייחודי NULL,
מצב ENUM ('פעיל', 'לא פעיל') לא NULL ברירת המחדל 'פעיל',
יתרה עשרונית (8,2) לא מחדל 0,
תאריך_לידה DATETIME,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
האמור לעיל אולי נראה קצת מרתיע, אבל לא לדאוג, זה די פשוט. נשבר, הנה מה שקורה בהצהרה שלעיל:
- עליך להשתמש ב- NOT NULL בכל העמודות האפשריות כדי לעזור במהירות ובביצועי הטבלה. זה פשוט מציין שלא ניתן להשאיר את העמודה ריקה / ריק כשמכניסים שורה.
- נסה תמיד לשמור על גודל העמודה קטן ככל האפשר מציאותית, מכיוון שהוא מסייע בשיפור המהירות והביצועים.
- ה תְעוּדַת זֶהוּת העמודה היא מספר שלם, היא גם המפתח הראשי של הטבלה, כלומר היא ייחודית, והיא תעלה בכמות אחת בכל הכנסת רשומה. בדרך כלל יש להשתמש בזה בכל הטבלאות שאתה יוצר, כך שתוכל להפנות בקלות לכל שורה בודדת בטבלה.
- ה סטָטוּס העמודה היא ENUM ועליה להיות בעל ערך "פעיל" או "לא פעיל". אם לא צויין שום ערך, שורה חדשה תתחיל בסטטוס "פעיל".
- ה איזון העמודה מתחילה ב 0 לכל שורה חדשה, והיא סכום המעוצב בשתי נקודות עשרוניות.
- ה תאריך לידה העמודה היא פשוט DATE, אך מאפשרת גם ערך ריק מאחר ותאריך הלידה אולי לא ידוע עם היצירה.
- אחרון, ה נוצר ב העמודה היא TIMESTAMP ומוגדרת כברירת מחדל בזמן הנוכחי שבו הוסיפה השורה.
האמור לעיל הוא דוגמה לטבלת מסד נתונים מובנית, ויש להשתמש בה כדוגמה בהמשך.
אחד היתרונות הגדולים ביותר בשימוש במאגרי מידע יחסיים כגון mySQL זו התמיכה המצוינת שלה באילוצי מפתח זרים ומפלסים. זה כאשר אתה מקשר בין שתי טבלאות על ידי עמודה, ויוצר קשר של הורה, ולכן כאשר שורת האב נמחקת גם שורות הצורך הנדרשות נמחקות אוטומטית.
הנה דוגמה:
צור משתמשים בטבלה (
id INT לא NULL מפתח עיקרי AUTO_INCREMENT,
שם משתמש VARCHAR (100) לא ייחודי NULL,
שם מלא VARCHAR (100) לא אפס,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) מנוע = InnoDB;
צור הזמנות שולחן (
id INT לא NULL מפתח עיקרי AUTO_INCREMENT,
userid INT לא NULL,
סכום עשרוני (8,2) לא אפס,
product_name VARCHAR (200) לא אפס,
מפתח חוץ (מזהה משתמש) הפניות למשתמשים (מזהה) במחיקת CASCADE
) מנוע = InnoDB;
תבחין בסעיף המפתח הפנימי כשורה האחרונה. בשורה זו פשוט נאמר כי טבלה זו מכילה שורות צאצא המקושרות על ידי ה- תעודת זהות של משתמש העמודה לשורת האב שלהם, שהיא ה- תְעוּדַת זֶהוּת העמודה של משתמשים שולחן. מה זה אומר, בכל פעם ששורה נמחקת מה- משתמשים בטבלה, mySQL ימחק באופן אוטומטי את כל השורות המתאימות מה- הזמנות טבלה המסייעת להבטיח שלמות מבנית במסד הנתונים שלך
שימו לב גם ל מנוע = InnoDB בסוף ההצהרה לעיל. אף על פי ש- InnoDB הוא כעת סוג הטבלה mySQL המוגדר כברירת מחדל, זה לא תמיד היה, ולכן יש להוסיף זאת רק כדי להישאר בצד הבטוח, מכיוון שהדריכה עובדת רק עם טבלאות InnoDB.
עיצוב בביטחון
עכשיו אתה כבר בדרך לארכיטקטורת תוכניות מסד נתונים מסוג mySQL מוצק ומורכב. בעזרת הידע שלעיל תוכלו לכתוב סכמות מסודרות היטב המספקות גם ביצועים וגם שלמות מבנית.
כשהסכמה שלך במקום, וודא שאתה יודע להשתמש בה עם אלה פקודות SQL חיוניות.
למד כיצד להשתמש בצירופי SQL כדי לייעל שאילתות, לחסוך זמן ולגרום לך להרגיש כמו משתמש כוח SQL.
- לא צוין
הירשם לניוזלטר שלנו
הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!
צעד אחד נוסף !!!
אנא אשר את כתובת הדוא"ל שלך בדוא"ל ששלחנו לך זה עתה.