PracticU

יצירת טבלאות ב-SQL

בלי כתוביותעם כתוביות
PracticU › קורס DBA אפליקטיבי - שפת SQL למתחילים › יצירת טבלאות ב-SQL
מילון מושגים:
סקריפט - קובץ המכיל רצף פקודות שמבוצעות על ידי מפרש, לרוב כדי להפוך משימות לאוטומטיות.
עמודה - שדה בטבלת מסד נתונים שמחזיק ערך מסוג מסוים עבור כל שורה, למשל שם או תאריך.
תחביר - אוסף הכללים של שפת תכנות הקובעים כיצד לכתוב קוד תקין. הפרתם גורמת לשגיאת תחביר.
מפתח ראשי - עמודה או צירוף עמודות שמזהים באופן ייחודי כל שורה בטבלת מסד נתונים.
Northwind - מסד נתונים לדוגמה של מיקרוסופט, המדמה חברת מסחר ומשמש ללימוד ולהדגמת שאילתות SQL.
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.
רשומה - שורה בטבלת מסד נתונים שמרכזת את כל השדות של פריט אחד, למשל כל הפרטים של לקוח יחיד.
ביט - יחידת המידע הקטנה ביותר במחשב, שערכה 0 או 1. שמונה ביטים מרכיבים בייט.

יצירת טבלאות ב-SQL
הפקודה Create Table בונה טבלה בסקריפט, כולל עמודות, טיפוסי נתונים ואילוצים. ההרצאה בונה קודם טבלת חתולים פשוטה ואחר כך טבלת טלפונים עם אילוצים וקשר לטבלת Employees.
בניית טבלה פשוטה
1. התחביר: Create Table Kittens ואחריו סוגריים עגולים (לא מסולסלים) ובתוכם העמודות, מופרדות בפסיקים. לכל עמודה: שם, טיפוס, ואילוצים.
2. מפתח ראשי אוטומטי: KittenID int Primary Key Identity(1,1). ב-Identity קובעים ערך התחלה וגודל קפיצה. ברירת המחדל היא התחלה ב-1 וקפיצה ב-1.
3. שאר העמודות: KittenName כ-nvarchar(20) ו-KittenAge כ-int.
4. טעות בבחירת המסד: ההרצאה הראתה שהטבלה נוצרה בטעות ב-Northwind כי זה היה המסד הפעיל, ולכן היא נמחקה.
5. הפתרון: אחרי Create Database כותבים Use cute kittens ו-go, ואז הטבלה נוצרת במסד החדש. את המסד המקורי מחקו עם Close Existing Connection.
6. הוספת נתונים בסקריפט: Insert Into Kittens עם שלוש רשומות (מיצי בן 3, קיצי בן 4, סייבר בן 5). חשוב לשים go כדי שכל פעולה תסתיים בנפרד. אחרי Execute ו-Refresh הטבלה והנתונים קיימים.
טבלת טלפונים עם אילוצים
הטבלה נבנתה ב-Northwind, כי לעובד יכולים להיות כמה טלפונים ולכן הם בטבלה נפרדת.
1. PhoneID: int, Primary Key, Identity.
2. PhoneNumber: nvarchar(20), Not Null ו-Unique.
3. PhoneType: nvarchar(10) עם אילוץ Check שמגביל לערכים מוגדרים: home, mobile, office, other (ואפשר גם fax). אפשר לציין במפורש Null כדי להתיר ערך ריק.
4. IsActive: bit עם Default של 1 (true), כדי לסמן טלפון כלא פעיל במקום למחוק אותו.
5. EmployeeID: int, Not Null, עם References לעמודת EmployeeID בטבלת Employees. לא הגיוני טלפון בלי עובד שהוא שייך אליו.
בדיקת התוצאה
אחרי Execute ו-Refresh טבלת Phones מופיעה ריקה. ב-Design רואים את המפתח הראשי, Identity שמתחיל מ-1 בקפיצות של 1, ו-Default Value של 1 ב-IsActive. ב-Database Diagram חדש רואים את הקשר בין Phones ל-Employees.
אפשר עכשיו לבנות טבלה בסקריפט, עם מפתח ראשי, אילוצים וקשר לטבלה קיימת.
השיעור הבא בקורס: איפוס טבלאות ב-SQL

פרקי ההרצאה: יצירת טבלאות ב-SQL

  1. 00:00

    פקודת CREATE TABLE

  2. 00:37

    הגדרת מפתח ראשי ו-IDENTITY

  3. 01:35

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

  4. 02:31

    מעבר למסד הנתונים עם USE

  5. 03:09

    הוספת רשומות לטבלה

תמלול ההרצאה: יצירת טבלאות ב-SQL

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

  1. 00:02

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

  2. 00:25

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

  3. 00:43

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

  4. 01:01

    אם אני לא מגדיר את זה, ה-Default כמובן הוא מתחיל מ-1 וקופץ ב-1. אם נניח אני קובע, אתה מתחיל ב-10 ואתה קופץ ב-10, אז הוא יתחיל ב-10 ויקפוץ ב-10 או תתחיל ב-10 ויקפוץ ב-5 או וואטאבר.

  5. 01:14

    אפשר גם להגיד 1, 1 ואז יודעים בוודאות שהוא מתחיל מ-1 וקופץ ב-1. פסיק. אנחנו עוברים לעמודה הבאה, בואו נניח שזה KittenName.

  6. 01:24

    נגדיר אותו כ-nvarchar בגודל 20. בואו נניח שאנחנו רוצים גם קיתן אג' ונגדיר שזה אינטג'ר ואפשר מיד להגדיר כאן הכנסה של מידע לעמודות האלה.

  7. 01:42

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

  8. 02:05

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

  9. 02:28

    שאנחנו בונים יוגדרו בדאטאבייס הזה. לצורך כך בואו רגע ניפטר לגמרי מהדאטאבייס, אין בו שום דבר, delete. כדאי לבצע Close Existing Connection, אולי מישהו משתמש בו כרגע איזושהי תוכנה שמקודם פתחתי אולי, זה בעצם מקל על הסגירה שלו, ומיד אחרי שיצרתי דאטאבייס use, cute kittens, בואו נעשה go,

  10. 02:50

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

  11. 03:01

    אתם יודעים מה? אולי מיד נלך ונייצר לעצמנו כמה רשומות insert into kittens זה בסדר כי אנחנו כבר נמצאים בדאטאבייס בשלב הזה של cute kittens כי העברנו את זה כאן ובואו נגדיר שאנחנו רוצים values ולכל רשומה יש שם בוא נניח מיצי ויש איזשהו אייג' בוא נניח שמיצי הוא בן שלוש אפשר נקודה פסיק לא חייבים ובואו נכניס

  12. 03:33

    גם את קיצי והוא בן ארבע ובוא נניח גם את סייבר שזה החתול שלי והוא בן חמש למרות שהוא יותר קטן מזה אם אנחנו שומרים ומריצים הכל מה שיקרה

לקורס המלא: קורס SQL ו‑DBA אפליקטיבי

ההרצאה הקודמת: יצירת מסד נתונים - שפת SQL

ההרצאה הבאה: איפוס טבלאות ב-SQL

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

  • מבנה טבלאות
  • שימוש ב-Cache עבור טבלאות של MySQL
  • LINQ ל- SQL
  • התקנה של SQL

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

  • קורס NoSQL - MongoDB
  • קורס SSIS
  • קורס BI - ניתוח מסדי נתונים - Qlik Sense
  • קורס Power BI