
הטקסט המלא של הדקות הראשונות בהרצאה «מבנה טבלאות» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
ברוכים הבאים לשיעור מספר 4 קורס פיתוח בי.איי. בקורס הקודם הבאנו ואכלסנו טבלאות, חמש טבלאות לבסיס נתונים חדש, קראנו לו קומפייני אתם יכולים לראות אותו פה ולהיזכר פה.
אגב, אני מקווה שעשיתם את זה אצלכם במחשב. הקורס הזה הוא קורס מעשי, אתם בהחלט מוזמנים לעשות את כל מה שאנחנו עושים, את כל מה שאני מראה במוצגת בוידאו, אתם מוזמנים לעשות את זה אצלכם.
אני אשתדל שהקורס יהיה מאוד ברור מבחינת מה צריך לעשות ואיך צריך לעשות כדי שתוכלו לעשות את זה בעצמכם. אז אני מקווה שאתם בעצם הגעתם לאותו צו כמוני עם דאטה בייקדישן קומפייני בתוכו חמש טבלאות ובתוך הטבלאות נתונים.
אתם זוכרים? לוחצת טבלה, קליק ימני, סלקט טופ 1000 טרוז ורואה נתונים. אני רוצה רגע לעשות הפסקה מבסיס הנתונים ומהתוכנה ולדבר קצת על הטבלאות שאיבדנו והקשר ביניהן.
בעצם מה מייצגת כל טבלה ומה מייצגים הקשרים ביניהן. אז אם אני נשאר בדף שהייתי בו שממנו הורדתי את הסקריפטים ואני בוער קצת למטה אני בעצם מקבל תמונה של חמש הטבלאות שאתם כבר מכירים.
יש פה איזשהו תרשים סכמטי של חמש הטבלאות, תכולה שלהן והקשרים ביניהן. התרשים הזה נקרא ERD, entity relational diagram מושג מאוד חשוב בעולם הנתונים בסיסי הנתונים וה-BI שזה בעצם ייצוג גרפי של הטבלאות והקשרים ביניהם במקרה שלנו יש דאטאבייס די פשוט חמש טבלאות ודאטאבייס אמיתי יכול להיות עשרות מאות ואלפי טבלאות
ולפעמים אפילו יותר ככל שהמערכת יותר מורכבת בסיס הנתונים יהיה יותר מורכב והישות שמרכיבה את בסיס הנתונים הישות העיקרית זה טבלה אז כמו שאמרנו יש פה חמש טבלאות, דיברנו קצת על הקשר ביניהן ועכשיו נרחיב אותן.
אז חמש הטבלאות שלנו הן טבלת Customers, לקוחות, אורדרס, הזמנות, אורדר אייטם, פריטים בהזמנה, ספליירס, ספקים ופרודקט מוצר מוצרי.
אני מזכיר, אנחנו מדמים איזושהי חברה שקונה מוצרים ומוכרת אותם. אז מה מייצגת לנו כל טבלה בעולם העסקי של אותה חברה מדומה? אז מן הסתם קסטומר מייצג את הלקוחות.
ואיזה מאפיינים יש לנו על הלקוחות, נתחיל לראות את זה בשיעור הקודם, יש לנו מספר מאפיינים שכל מאפיין, בואו נתפוס חזרה על הדאטאבייס לרגע, כל מאפיין של הלקוח, שכל לקוח מיוצג על ידי שדה או עמודה, ID, פרס ניים וכו', כשהשורות מייצגות רשומות שונות, רשומות זה מושג מרכזי בעולם ה-BI ובעולם הדאטאבייסים,
רשומה זאת בעצם שורה בטבלה. אז אם אני מסתכל על טבלת קסטומר, אז יש לי 91 רשומות, קודם עם 5 עמודות השורה הראשונה מייצגת את מריה אנדרס למרות שפה כתוב ברלין וג'רמניה וטלפון גם הסודות האלו עדיין מייצגים את אותה מריה אנדרס מכיוון שאלו מאפיינים של הלקוח הזה וכן הלאה וכן הלאה בסדר אז לכל רשומה יש 5 עמודות אגב לא
חייב להיות שהעבודות תמיד מלאות פה זה די נראה מלא אבל זה בהחלט לא חייב להיות ככה ואנחנו נתחיל על זה בהמשך אז 91 רשומות ו-5 עמודות אלו בעצם המאפיינים שמייצגים את הלקוח לחברה הזאת, לחברה שאנחנו מדמים יש לקוחות וכל מה שהחברה שומרת זה המספר הלקוח, שפרטי שלו,
של המשפחה, העיר, המדינה והטלפון. כמובן אפשר לחשוב על מאפיינים נוספים ומן הסתם בעולם אמיתי היה לנו עוד יותר פרטים על הלקוחות אולי מספר ילדים, אם זה חברי מועדון וכו' וכו' ומספר זהות ואלף
ואחד מאפיינים נוספים על הלקוחות. יש כרגע חמישה מאפיינים אני חוזר לתרשים בסדר אז זה מה שאנחנו רואים פה אלו בעצם המאפיינים ואתם יכולים לראות שליד כל שם של שדה יש גם סוג השדה data type זה גם מושג מאוד מאוד חשוב שבעצם אומר איך שמורים הנתונים בשדה הזה בטבלה הזאת כל הנתונים מיוצגים על ידי data
type nvarchar שזה בעצם טקסט אוקיי first name זה אכן טקסט last name זה גם טקסט גם עיר מדינה וגם טלפון זה למעשה טקסט כי אמנם זה מספר אבל לפעמים יכול להיות לי מקף ופלוס אז אני לא יכול ממש לשמור אותו כמספר כי מספר זה אך ורק ספרות אז טבלת הלקוחות אמרנו חמישה מאפיינים וכולם שדות מסוג nvarchar שזה טקסט. בואו נעבור הלאה לטבלת orders טבלת
הזמנות תקרא לזה שוב פעם הדאטאבייט בואו נסגור את החלונית הזאת ונעשה קליק ימני על orders זאת אומרת מה זוכרים? Select top 1000 rows ואני מסתכל קצת על הנתונים של הזמנות הזמנה שלי בהזמנות ID מספר תאריך הזמנה יכולים לנחש שזה כנראה לא מסוג טקסט אלא מסוג
תאריך תכף נראה את זה מספר הזמנה Customer ID תכף נרחיב וtotal amount זאת אומרת מה הסכום הכולל של ההזמנה בסופו של דבר הם מתחילים להיות יותר מעניינים כיוון שאתם רואים שיש קשר בין טבלת ההזמנות לטבלת לקוחות מה הקשר ביניהם די פשוט הזמנה בעצם יוצאת ללקוח מסוים אם אני חברה שמוכרת דברים ומתקשר אליי לקוח ורוצה
להזמין משהו אני פותח לו הזמנה עם מספר עם תאריך עם סכום והזמנה הזאת בעצם קשורה לאותו לקוח וזה החטא שאתם רואים פה זה קשר בין טבלאות כבר דיברנו על ישות הטבלאות בבסיס נתונים אז הישות הבאה זה קשרים בין טבלאות בעצם אם יש לי טבלאות אבל אין קשרים ביניהם הדאטה בית שלי לא שווה כלום הקשרים אגב לא חייבים להיות
בתוך הדאטאפס אני יכול לנהל אותם בצורה אחרת לא נרחיב על זה כרגע אבל חייב שיהיה איזשהו קשר לפחות לוגי זאת אומרת אני חייב להניח שאני יכול ויודע לקשר הזמנה ללקוח מסוים אם אין