מדריך למתחילים בכתיבת סכמות מסדי נתונים של mySQL

מדריך למתחילים בכתיבת סכמות מסדי נתונים של mySQL

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





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





לצפות בסרטים באינטרנט בחינם מבלי להוריד או להירשם

צור תחביר טבלה

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






CREATE TABLE users (
id INT NOT NULL,
is_active TINY INT NOT NULL,
full_name VAR CHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);

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

השתמש בסוגי העמודות הנכונים

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



COL_NAME TYPE [OPTIONS]

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

לכל דבר, סוגי העמודות לעיל הם כל מה שאתה צריך בכדי לכתוב סכמות מסד נתונים של mySQL בנויות היטב.





הגדר אפשרויות עמודה

בעת הגדרת עמודות ישנן גם אפשרויות שונות שאתה יכול לציין. להלן דוגמה נוספת ל צור טבלה הַצהָרָה:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
status ENUM('active','inactive') NOT NULL DEFAULT 'active',
balance DECIMAL(8,2) NOT NULL DEFAULT 0,
date_of_birth DATETIME,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

האמור לעיל עשוי להיראות מעט מרתיע, אך אל תדאג, זה די פשוט. פירוט, הנה מה שקורה בהצהרה לעיל:





  • עליך להשתמש ב- NOT NULL בכל העמודות האפשריות כדי לסייע במהירות וביצועי הטבלה. זה פשוט מציין שהעמודה לא יכולה להישאר ריקה / בטלה בעת הכנסת שורה.
  • נסה תמיד לשמור על גודל העמודה קטן ככל האפשר מבחינה ריאלית, מכיוון שהוא מסייע בשיפור המהירות והביצועים.
  • ה תְעוּדַת זֶהוּת העמודה היא מספר שלם, היא גם המפתח העיקרי של הטבלה, כלומר היא ייחודית, והיא תגדל באחת בכל פעם שתוסיף רשומה. בדרך כלל יש להשתמש בזה בכל הטבלאות שאתה יוצר, כך שתוכל להתייחס בקלות לכל שורה אחת בתוך הטבלה.
  • ה סטָטוּס העמודה היא ENUM וחייבת להיות בעלת ערך של 'פעיל' או 'לא פעיל'. אם לא צוין ערך, תתחיל שורה חדשה עם הסטטוס 'פעיל'.
  • ה איזון העמודה מתחילה ב -0 עבור כל שורה חדשה, והיא סכום המעוצב בשתי שתי נקודות עשרוניות.
  • ה תאריך לידה העמודה היא פשוט תאריך אבל גם מאפשרת ערך null מכיוון שאולי לא ניתן לדעת את תאריך הלידה עם היצירה.
  • אחרון, ה נוצר ב העמודה היא TIMESTAMP וברירת מחדל לשעה הנוכחית בה הוספת השורה.

האמור לעיל הוא דוגמה לטבלת מסדי נתונים מובנית היטב, ויש להשתמש בה כדוגמה להמשך.

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

להלן דוגמא:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
full_name VARCHAR(100) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) engine=InnoDB;
CREATE TABLE orders (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
userid INT NOT NULL,
amount DECIMAL(8,2) NOT NULL,
product_name VARCHAR(200) NOT NULL,
FOREIGN KEY (userid) REFERENCES users (id) ON DELETE CASCADE
) engine=InnoDB;

תבחין בסעיף FOREIGN KEY כשורה האחרונה. שורה זו קובעת בפשטות שהטבלה הזו מכילה שורות צאצאים המקושרות באמצעות תעודת זהות של משתמש העמודה לשורת האב שלהם, שהיא תְעוּדַת זֶהוּת העמודה של משתמשים שולחן. המשמעות של זה היא שבכל פעם שנמחקת שורה מה- משתמשים table, mySQL ימחק אוטומטית את כל השורות המתאימות מתוך הזמנות טבלה המסייעת להבטיח שלמות מבנית בתוך מסד הנתונים שלך.

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

כיצד להדפיס ספרייה ב- Windows 10

עיצוב בביטחון

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

עם הסכימה שלך במקום, וודא שאתה יודע כיצד להשתמש בה עם אלה פקודות SQL חיוניות .

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל כיצד לשאול טבלאות מרובות מסדי נתונים בבת אחת עם חיבורי SQL

למד כיצד להשתמש ב- Joins SQL כדי לייעל שאילתות, לחסוך זמן ולגרום לך להרגיש כמו משתמש כוח SQL.

קרא הבא
נושאים קשורים על הסופר מאט דיזאק(פורסמו 18 מאמרים) עוד מאת מאט דיזאק

הירשם לניוזלטר שלנו

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

לחצו כאן להרשמה