PracticU

ייבוא נתונים - מקובץ CSV ל-SQL

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

ייבוא נתונים - מקובץ CSV ל-SQL
כשהנתונים נמצאים בקובץ CSV, אפשר לייבא אותם לטבלה בעזרת אשף ה-Import Data של SQL Server. השיעור עובר על כל ההחלטות שהאשף דורש.
השלבים העיקריים
1. בחירת מקור: לוחצים קליק ימני על הדאטאבייס, בוחרים Tasks ו-Import Data, ובמקור בוחרים Flat File Source. את הקובץ מאתרים בעזרת Browse.
2. פורמט הקובץ: בוחרים Delimited ולא Fixed Width, כי העמודות מופרדות בתו מוגדר ולא בגודל קבוע. ה-Row delimiter הוא CRLF.
3. שורת הכותרות: השורה הראשונה בקובץ מכילה שמות שלא מתארים את כל העמודות, ולכן היא אינה תקינה. בשיעור מוחקים אותה מהקובץ לפני הייבוא, ובאשף מספר השורות לדילוג נשאר 0, כדי לייבא את כל השורות.
4. מפריד עמודות: Comma, כי הקובץ מופרד בפסיקים.
5. יעד: הנתונים נכנסים לבסיס Northwind. במסך Edit Mappings המיפוי נשאר אוטומטי, ואז בוחרים Run immediately ו-Finish.
6. בדיקה: אחרי Refresh הטבלה מופיעה בשם הקובץ, ו-Select Top Rows מראה שכל הנתונים נכנסו בצורה נכונה.
השיעור מזכיר ששמירת הקובץ מחדש כ-CSV מאבדת תכונות של אקסל, וזה מקובל לתהליך הזה. בסיום הייבוא קובץ CSV נמצא כטבלה בבסיס הנתונים, ואפשר לעבוד איתו כמו עם כל טבלה אחרת.
השיעור הבא בקורס: ייבוא נתונים - ישירות ל-Database חדש

פרקי ההרצאה: ייבוא נתונים - מקובץ CSV ל-SQL

  1. 00:00

    הכנת קובץ CSV והשוואה לאקסל

  2. 01:15

    בחירת מקור Flat File באשף הייבוא

  3. 02:30

    מפריד שורות CRLF ודילוג על כותרת

  4. 03:32

    מחיקת שורת שמות עמודות לא תקנית

תמלול ההרצאה: ייבוא נתונים - מקובץ CSV ל-SQL

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

  1. 00:20

    וכן, אם הצלחנו לייבא נתונים מתוך קובץ אקסל, הבה וננסה לייבא נתונים מתוך קובץ flatfile, מתוך קובץ CSV. שוב, לצורך הדוגמה, אני הכנתי כאן קובץ שהסיומת שלו הוא CSV.

  2. 00:35

    אם אנחנו פותחים אותו אנחנו יכולים לראות אותו גם באקסל, אבל גם אני יכול לעשות לו אדיט ולראות אותו ב-NotePad Editor דיפולטי של ה-Windows, וכאן אנחנו יכולים לראות שהמפריד ה-delimited בין כל עמודה ועמודה הוא בעצם קומה פסיק מה שמפריד לי בין עמודה לעמודה כאשר השורה

  3. 00:57

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

  4. 01:26

    הפעם לא מדובר בקובץ אקסל, מדובר ב-flat file source, ואנחנו בוחרים את האפשרות הזאת. היכן נמצא אותו flat file? browse, אנחנו מגיעים לכאן, all files, ומציינים ועומדים על הקובץ שאותו אנחנו רוצים לייבא.

  5. 01:43

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

  6. 02:02

    אין כאן הפרדה על ידי תו מוגדר אלא כל עמודה תופסת גודל אחיד ובסיומו של גודל כבר מתחילה העמודה הבאה. Fixed Width גודל אחיד לכל העמודות. אנחנו כמובן בוחרים באפשרות של ה-Delimited.

  7. 02:19

    באפשרות השלישית אנחנו נדבר בהמשך. consider row delimiter, כלומר, מהי ההפרדה בהורדת שורה? יש לנו carriage-retained-line-feed CRLF כ-delimited בין רואו לרואו אחר.

  8. 02:38

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

  9. 02:47

    לא, אנחנו לא רוצים, אנחנו רוצים לייבא את הכל, ולכן אני כותב כאן 0. כלום names in the first data row האם בשורה הראשונה יש לי בעצם שמות של העמודות בואו נבחן את הקובץ אקסל ונבין זאת בדיוק הנה זה הקובץ CSV אם אני פותח אותו הפעם בתוך אקסל והדיפולט של CSV ייפתח כקובץ אקסל אז מה שאנחנו כאן

  10. 03:24

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

  11. 03:50

    של אקסל לא יישמרו אני מודע לזה וזה בסדר סגרנו את הקובץ חזרנו שוב פעם לתהליך של האימפורט ואנחנו מתקדמים למסך הבא במסך הזה אני נדרש לבדוק בעוד שה-row delimiter,

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

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

ההרצאה הבאה: ייבוא נתונים - ישירות ל-Database חדש

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

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

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

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