
הטקסט המלא של הדקות הראשונות בהרצאה «יצירת מסד נתונים ב-phpMyAdmin» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אז בואו נראה איך אנחנו יכולים לבנות דייטאבייס משלנו בתוך MySQL. נריץ את סאמפ קונטרול, נדליק את הפאצ'י, נתעלם מהשגיאה הזאת, נדליק את MySQL, נראה שיש לנו פה צבע ירוק וניתן לו רגע לסיים ונלחץ על אדמין ואז אנחנו רואים שאנחנו בתוך
MySQL פאנל ואנחנו יכולים לסגור כי הוא נמצא לנו כאן אם אנחנו רוצים להגיע אליו אז הוא פה באייקונים של ה-Tray. אז עכשיו מה שאנחנו רוצים לעשות זה לגשת לדאטאבייסס ולבנות איזשהו דאטאבייס חדש לדוגמה בוקסטור איזושהי חנות ספרים שאנחנו יוצרים יש לנו כאן בעצם איפה זה יש לנו כאן את השיטת, שיטת הכידוד של הדאטאבייס, האם
הוא תומך עברית, כן, לא וכדומה. אז אנחנו רואים שב-Default הוא נמצא על UTF-8 General CI, CI זה Case In Sensitive, זאת אומרת ששפת SQL עצמה והדאטאבייס עצמו לא יהיה אותיות דלות, אותיות קטנות, כלומר רגיש לאותיות דלות או אותיות קטנות,
אז זה נראה בסדר להשאיר את זה ככה, UTF-8 זה גם כידוד שהוא Unicode ויש לנו גם את ה-Case Insensitive, זה מה שאנחנו רוצים, בואו נעשה Create. ואז, מה הטבלאות? הטבלה הראשונה, טבלת סופרים.
כמה עמודות אנחנו רוצים בטבלת הסופרים? הוא מציע לנו 4, אנחנו יכולים לשנות את זה, והאמת נשאיר 4 כמו שהיה בסכמה שעבדנו איתה. בואו נעשה Go, והנה יש לנו פה את הסידור של העמודות.
העמודה הראשונה הייתה Author ID, אנחנו רוצים שהאוטו ריידי יהיה אינט שזה מספר שלם ואנחנו רוצים שבואו נלך פה טיפה ימינה האמת אולי נעשה קונטרול גלגלת בשביל שזה יהיה קצת יותר קטן.
נחזיר את זה אנחנו רוצים שזה יהיה אוטו אינקרמנט AI בואו נסמן אוטו אינקרמנט ואוטומטית הוא מציע לנו שזה יהיה פריימרי קי זה בסדר אז כאן אנחנו רואים שהאוטו ריידי הוא מפתח ראשי, פריימרי, והוא מקודם אוטומטית כאשר מוסיפים רשומות, זה ה-Auto-Increment.
העמודה הבאה של הסופרים הייתה First Name. First Name אנחנו לא רוצים אינטג'ר, אנחנו רוצים VAR CHAR. VAR CHAR זה VARIANT CHARACTER, כלומר מחרוזת בגודל משתנה.
פה אנחנו נותנים מה מקסימום תווים שאנחנו מאשרים. פחות מזה מותר, יותר מזה אסור יהיה להכניס. last name שוב פעם נבחר varchar 50 בוא נניח אפילו last name 70 נלך על זה ויש לנו לבסוף אימייל ובואו נגיד שהוא varchar וגם כן 70 אז הנה יש לנו כרגע את הטבלה עצמה שיצרנו הגדרנו פה את המפתח הגדרנו שהוא auto increment ובואו נעשה save יש לנו טבלה ראשונה
אנחנו יכולים לראות אותה כאן אם אנחנו נכנסים אליה אז אנחנו רואים שהיא ריקה אין לה כרגע התוכן, קוד סופר, שם פרטי, שם משפחה, אימייל, ריקה לגמרי ואם אנחנו הולכים לסטרקצ'ור שלה אז אנחנו רואים את הסכמה של הטבלה, העמודות נמצאות אחת מתחת לשנייה עם הפרמטרים של כל עמודה והנה הסימן של המפתח.
זאת הייתה הטבלה הראשונה, בואו נחזור לדאטאבייס, בוקסטור ונוסיף עוד טבלה, קריי טייבל ויש לנו בוקס, טבלת ספרים.
בטבלת הספרים היו חמש עמודות לפי הסכמה שדיברנו עליה בסרטונים הקודמים. בואו נלך לגו ונתחיל להכניס את העמודות. קודם כל יש לנו כאן את ה-Book ID, אינטג'ר, פריימרי קי, אנחנו יכולים פה לבחור את הפריימרי ונגיד לו כן, זה פריימרי קי ונגדיר שהוא Auto-Increment, גדל בצורה אוטומטית.
לאחר מכן היה לנו את ה-Author ID, אנחנו לא חייבים את זה כמובן לפי הסדר הזה, אבל זה מה שהיה בסכמה, נהוג בעצם שהמפתחות הזרים יהיו מוגדרים מיד אחרי המפתחות הראשיים.
autoid זה גם היה אינטג'ר, אבל הוא לא פריימרי קי והוא לא autoincrement. זה מידע שאנחנו צריכים להכניס שמייצג איזה סופר הספר הזה נכתב על ידו.
אנחנו כן אבל רוצים להגדיר לו אינדקס, יש לנו סדרה של אילוצים כאלה, זה לא מפתח ראשי הוא לא יוניקי אבל הוא כן אינדקס. אינדקס זה אומר שהוא מקושר לטבלה אחרת מפתח זר כזה.
בואו נבצע אוקיי ולאחר מכן אנחנו רוצים להגדיר את הbook name זה יהיה וורצ'אר בואו ניתן לו 100. לאחר מכן אנחנו רוצים את הפרייס פרייס זה לא אינטג'ר כי אינטג'ר הוא מספר שלם פרייס יכול להיות דצימל לדוגמה עבור כספים.
יש מסדי נתונים אחרים שמגדירים את הכספים כמשתנה מסוג money אבל decimal זה מיועד עבור כספים בהקשר הזה ובואו ניגש לפייג'ז זה ההגדרה האחרונה כמה דפים היו לנו וזה כן אינטג'ר אז יש לנו פה את כל ההגדרות של הטבלה בואו נעשה לה סייב אחרי ששמרנו את הטבלה הנה אנחנו רואים שהספרים נמצאים כאן והם כמובן ריקים לגמרי.
שימו לב שפה יש לנו מפתח זר האפור הזה. אחרי שעשינו את זה אנחנו רוצים להגדיר את ה-relationship ביניהם, ה-relationship בין עמודות ה-auto-riding.
אז יש לנו כל מיני טכניקות להגדיר relationships. בואו נחפש כאן איך עושים את זה. הנה relation view יכול להיות, אבל אני הייתי הולך על טכניקה קצת אחרת.
בואו נראה אם הוא נותן לנו אותה. בואו נחזור רגע לדאטאבייס ונלך ל-db. כאן אני רואה ממש את ה-Database Diagram יש לנו כאן את הסופרים בואו נשים פה את הסופרים ויש לנו את הספרים.
אנחנו יכולים להגדיר Relationship ביניהם על ידי זה שאנחנו הולכים לפה ו-Create Relationship, לוחצים עליה על ה-Create Relationship ואז הוא הולך לנו והוא שואל אותנו Select Reference the Key. איפה ה-Reference ה-Foreign Key שלנו?
זה בטבלת הבוקס, Outdoor ID, אני פשוט מקליק עליו. אויש, ואז הוא אומר לי Select Foreign Key. אני רואה שטעיתי, זה לא. בואו רגע נבטל את זה. איך אני מבטל את זה?
טוב, נעשה לו Cancel. בואו ננסה עוד פעם. Select Create Relationship. בואו ניגש ל-Primary Go וב-Outdoors, ואז Foreign, Outdoor ID, ואז הוא אומר לי, בואו ניצור לך, אם יש לך איזשהו אילוץ לגבי delete, בואו נגיד לו restrict.
מה זה אומר? זה אומר שאם מוחקים ספר שיש לו, סליחה, סופר שיש לו ספרים, שהוא לא ייתן