PracticU

יצירת מסד נתונים
של חנות בגדים

בלי כתוביותעם כתוביות
PracticU › קורס Entity Framework Core - עבודה עם מסד נתונים בדוט-נט › יצירת מסד נתונים של חנות בגדים
מילון מושגים:
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.
Entity Framework - ספריית מיקרוסופט שממפה בין אובייקטים בקוד לבין טבלאות במסד נתונים, ומאפשרת לעבוד עם הנתונים בלי לכתוב SQL ישיר.
פריימוורק - מסגרת תוכנה שמספקת מבנה וכלים מוכנים לפיתוח יישומים, כדי לחסוך כתיבת קוד חוזר.
SQL Server - מערכת ניהול מסדי נתונים יחסיים של מיקרוסופט, הנשלטת בשפת T-SQL.
טבלה - מבנה במסד נתונים שמאחסן נתונים בשורות ועמודות. כל שורה היא רשומה וכל עמודה היא שדה.
עמודה - שדה בטבלת מסד נתונים שמחזיק ערך מסוג מסוים עבור כל שורה, למשל שם או תאריך.
מפתח ראשי - עמודה או צירוף עמודות שמזהים באופן ייחודי כל שורה בטבלת מסד נתונים.
אינדקס - מבנה במסד נתונים שמאיץ חיפוש ושליפה. גם מספר המציין מיקום של איבר במערך.

יצירת מסד נתונים של חנות בגדים
בגישת Database First קודם קיים מסד הנתונים, ואחר כך Entity Framework בונה ממנו את המודלים. בשיעור הזה יוצרים ב-SQL Server מסד נפרד של חנות בגדים, שישמש בהמשך לדוגמה.
הטבלאות
1. מסד נתונים: יוצרים מסד חדש בשם Clothing Store, נפרד מהדוגמה הקודמת, כדי שלא יתבלבלו.
2. Brands: עמודה BrandID מסוג int, מפתח ראשי עם מספור אוטומטי (identity specification), ועמודת Name מסוג nvarchar(50) שאינה מאפשרת null. מוסיפים עליה אינדקס מסוג Unique Key בשם unique brand name. הדובר טעה בהתחלה והעביר את המפתח לאינדקס, ותיקן. נכנסים שם נתונים כמו Castro, Fox ו-H&M.
3. Types: TypeID (int, מפתח ראשי, מספור אוטומטי) ו-Name (nvarchar(50)) עם Unique Key בשם unique type name. הדובר שכח בהתחלה את המספור האוטומטי ותיקן. מוסיפים סוגים כמו dress, pants, shirt ו-shoes.
4. InventoryItems: מפתח ראשי InventoryItemID עם מספור אוטומטי, עמודות BrandID ו-TypeID (int, לא null) ו-Count (int). אם לא מזינים כמות, ברירת המחדל (default value) היא 0. מוסיפים כמה שורות, כולל כאלה בלי מלאי.
5. Database Diagram: מוסיפים את שלוש הטבלאות ומחברים קשרים: BrandID מ-Brands אל InventoryItems, ו-TypeID מ-Types אל InventoryItems. העוצמה היא No Action, כך שאי אפשר למחוק מותג שיש לו פריטים. שומרים את הדיאגרמה בשם all tables.
אחרי השיעור יש מסד נתונים ראשוני של חנות בגדים עם מותגים, סוגי בגדים ומלאי, ואפשר לחבר אליו פרויקט Database First.
השיעור הבא בקורס: יצירה וסידור פרויקט עבור Database-First

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

  1. 00:00

    גישת Database First באנטיטי פריימוורק

  2. 00:39

    יצירת מסד הנתונים Clothing Store

  3. 01:16

    הגדרת מפתח ראשי ואינדקס על Brands

  4. 02:37

    הוספת מותגים ויצירת טבלת Types

  5. 03:14

    הגדרת Unique Key לטבלת הסוגים

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

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

  1. 00:02

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

  2. 00:19

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

  3. 00:42

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

  4. 00:59

    בואו ניגש ונבנה לנו טבלה של מותגים ברנד איי-די, נגדיר שהוא אינט, נגדיר שהוא מספור אוטומטי, נגדיר סט פריימרי, ויש לנו פה את השם של הברנד, nvarchar50, לא allow null כי לא הגיוני שיוסיפו לי מותג בלי השם שלו, כי אולי יש לי פה רק את האיי-די ואת השם.

  5. 01:22

    האמת שהאיי-די, נגדיר אותו כמספור אוטומטי רץ, שאני לא אשכח. יש לנו פה את זה identity specification yes מעולה יש לנו את ה name ובואו נציב גם על ה name איזה שהוא אינדקס בואו ניגש לפה columns ונגדיר שאנחנו רוצים להגדיר משהו על ה name אני רואה is unique true אוי שמע עשיתי טעות טעות טעות בואו נחזור ונעשה אני בטעות העברתי את המפתח לפה.

  6. 01:58

    אוי ואבוי, זה מה שהתכוונתי לעשות. נחזיר ונוסיף, היה חסר לי את ה-add הזה, כן, הממשק קצת לא ברור, ואנחנו רוצים לפנות ל-name, מעולה, is unique yes, ונגדיר שהסוג שלו זה unique key בצורה כזאת, close, אז יש לנו את ה-brand ID שהוא מפתח ראשי, ועמודה של ה-name, אז יש לנו עליה איזשהו אינדקס,

  7. 02:26

    באמת בואו כבר נגדיר לו unique brand name עוד מעט אנחנו נראה איפה רואים את השם הזה במערכת נעשה save brands נרפרש כאן ניגש לטבלת ה-brands ונוסיף מספר brands Castro Fox H&M זרה סיימנו את הטבלה הראשונה בואו ניגש לטבלה השנייה נגדיר שהטבלה השנייה מתעסקת עם טייפים, סוגים שונים של בגדים.

  8. 03:00

    typeid, int, נציב עליה מפתח ראשי. השם של הסוג nvarchar50, בואו נציב עליו אינדקס. הפעם אני לא אתבלבל, נעשה add. הנה האינדקס החדש.

  9. 03:16

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

  10. 03:32

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

לקורס המלא: קורס Entity Framework Core

ההרצאה הקודמת: הוספת לוגיקה במחלקות Model

ההרצאה הבאה: יצירה וסידור פרויקט - עבור Database-First

הרצאות קשורות מקורסים אחרים

  • מה זה מסד נתונים ?
  • יצירת מסד נתונים - SQL
  • מסד נתונים של Metasploit
  • מסד נתונים SQL ב-AZURE - חלק 1

קורסים נוספים במסלול

  • קורס דוט-נט - NET Core. - עם Rest API
  • קורס ASP.NET
  • קורס MVC
  • קורס Git ו-GitHub עם Visual Studio