מבוא ליסודות SQL

שפת השאילתות המובנית (SQL) היא אחת מאבני היסוד הבסיסיות של ארכיטקטורת מסדי נתונים מודרנית. SQL מגדיר את השיטות המשמשות ליצירת מניפולציה של מאגרי מידע יחסיים בכל הפלטפורמות העיקריות. במבט ראשון השפה אולי נראית מאיימת ומורכבת, אבל היא לא כל כך קשה.

אודות SQL

ההגייה הנכונה של SQL היא נושא שנוי במחלוקת בקהילת מסדי הנתונים. בתקן SQL שלו הכריז מכון התקנים הלאומי האמריקני כי ההגייה הרשמית היא "תור el. "עם זאת, אנשי מקצוע רבים בבסיסי נתונים לקחו את ההגייה בסלנג" המשך. "כמו בהגייה שֶׁל GIFאין תשובה נכונה.

SQL מגיע בטעמים רבים. מסדי נתונים של אורקל משתמשים ב- PL / SQL הקניינית שלה. Microsoft SQL Server עושה שימוש ב- Transact-SQL. כל הווריאציות מבוססות על ANSI SQL בתקן התעשייתי.

מבוא זה משתמש בפקודות SQL התואמות ANSI הפועלות בכל מערכת בסיסי נתונים מודרנית.

DDL ו- DML

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

instagram viewer

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

פקודות שפה בהגדרת נתונים

שפת הגדרת הנתונים משמשת ליצירה והרס של מסדי נתונים ואובייקטים של מסדי נתונים. פקודות אלה משמשות בעיקר מנהלי מסדי נתונים במהלך שלבי ההתקנה וההסרה של פרויקט מסד נתונים. DDL סובב סביב ארבע פקודות עיקריות -לִיצוֹר, להשתמש, לשנות, ו יְרִידָה.

לִיצוֹר

ה לִיצוֹר הפקודה קובעת מסדי נתונים, טבלאות או שאילתות בפלטפורמה שלך. לדוגמא, הפקודה:

צור עובדי נתונים;

יוצר מסד נתונים ריק בשם עובדים ב- DBMS שלך. לאחר יצירת מסד הנתונים, השלב הבא הוא יצירת טבלאות המכילות נתונים. גרסה אחרת של לִיצוֹר פיקוד משיג מטרה זו. הפקודה:

צור טבלה personal_info (שם שם ראשון (20) לא null, שם משפחה שם אחר (20) לא null, עובד_איד לא null);

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

להשתמש

ה להשתמש הפקודה מציינת את מסד הנתונים הפעיל. לדוגמה, אם אתה עובד כעת במסד הנתונים של מכירות וברצונך להנפיק כמה פקודות שישפיעו על מאגר העובדים, הקדם אותם לפקודת SQL הבאה:

עובדי USE;

בדוק פעמיים את מסד הנתונים בו אתה עובד לפני הנפקת פקודות SQL המתמודדות עם נתונים.

לשנות

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

שינוי לוח personal_info הוסף כסף לשכר אפס;

דוגמה זו מוסיפה תכונה חדשה לטבלה personal_info - משכורת של עובד. ה כֶּסֶף הארגומנט מציין כי השכר של העובד חנות לפי פורמט דולר וסנט. סוף - סוף, ה ריק מילת המפתח מספרת למסד הנתונים כי זה בסדר ששדה זה לא מכיל ערך עבור עובד מסוים.

יְרִידָה

הפקודה הסופית של שפת הגדרת הנתונים, יְרִידָה, מסיר אובייקטי מסד נתונים שלמים מ- DBMS שלנו. לדוגמה, כדי להסיר לצמיתות את הטבלה personal_info שיצרנו, השתמש בפקודה הבאה:

טפטוף טבלה personal_info;

באופן דומה, הפקודה שלהלן תשמש להסרת כל מאגר העובדים:

עובדי DROP DATABASE;

השתמש בפקודה זו בזהירות. ה יְרִידָה פקודה מסירה מבני נתונים שלמים ממסד הנתונים שלך. אם ברצונך להסיר רשומות בודדות, השתמש ב לִמְחוֹק פיקוד על שפת מניפולציה של נתונים.

פקודות שפה לניהול נתונים

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

לְהַכנִיס

ה לְהַכנִיס הפקודה מוסיפה רשומות לטבלה קיימת. אם נחזור לדוגמא personal_info מהסעיף הקודם, דמיין שמחלקת משאבי אנוש שלנו צריכה להוסיף עובד חדש למסד הנתונים שלה. השתמש בפקודה דומה לזו:

הכנס ל- personal_info
ערכים ('bart', 'simpson', 12345, 45000 $);

שים לב כי ישנם ארבעה ערכים שצוינו עבור הרשומה. אלה תואמים לתכונות הטבלה בסדר שהוגדרו: שם פרטי, שם משפחה, תג עובד ו שכר.

בחר

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

הפקודה המוצגת להלן מאחזרת את כל המידע הכלול בטבלה personal_info. הכוכבית היא תו כללי ב- SQL.

בחר *
FROM personal_info;

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

בחר שם משפחה אחרון
FROM personal_info;

ה איפה סעיף מגביל את הרשומות שאוחזרו לאלה העומדות בקריטריונים שצוינו. המנכ"ל עשוי להיות מעוניין לבדוק את רישומי כוח האדם של כל העובדים בשכר הגבוה. הפקודה הבאה מאחזרת את כל הנתונים הכלולים ב- personal_info עבור רשומות בעלות שכר גבוה מ- 50,000 $:

בחר *
FROM personal_info
איפה משכורת> 50000 $;

עדכון

ה עדכון הפקודה משנה את המידע הכלול בטבלה, באופן גורף או בנפרד. נניח שהחברה מעניקה לכל העובדים עלייה במחיר של 3 אחוז בשכרם מדי שנה. פקודת SQL הבאה מחילה את הבליטה הזו על כל העובדים המאוחסנים במסד הנתונים:

עדכן personal_info
שכר קבוע = משכורת * 1.03;

כאשר העובד החדש בארט סימפסון מפגין ביצועים מעבר לקריאת התפקיד, ההנהלה מבקשת להכיר בהישגיו הכוכבים עם גיוס של 5,000 דולר. סעיף WHERE מייחד את בארט בגין העלאה זו:

עדכן personal_info
שכר קבוע = משכורת + 5000
היכן עובד_יד = 12345;

לִמְחוֹק

לבסוף, בואו נסתכל על ה- לִמְחוֹק פקודה. תגלה שהתחביר של פקודה זו דומה לזה של פקודות ה- DML האחרות. הפקודה DELETE, עם איפה סעיף, הסר רשומה מהטבלה:

מחק מ- personal_info
היכן עובד_יד = 12345;

DML תומך גם בשדות מצטברים. ב בחר הצהרה, אופרטורים מתמטיים אוהבים סְכוּם ו לספור לסכם נתונים בתוך שאילתה. לדוגמה, השאילתה:

בחר ספירה (*) מ- personal_info;

מונה את מספר הרשומות בטבלה.

מסד נתונים מצטרף

א לְהִצְטַרֵף הצהרה משלבת נתונים בכמה טבלאות כדי לעבד ביעילות כמויות גדולות של נתונים. הצהרות אלה הן המקום בו כוחו האמיתי של מסד נתונים נמצא.

לחקור את השימוש בבסיסי לְהִצְטַרֵף פעולה לשילוב נתונים משתי טבלאות, המשך בדוגמה באמצעות הטבלה personal_info והוסף טבלה נוספת לתערובת. נניח שיש לך שולחן שנקרא פעולה משמעתית שנוצר בהצהרה הבאה:

CREATE TABLE disciplinary_action (action_id int not null, employee_id int not null, comments char (500));

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

נניח שהוטלה עליכם ליצור דוח המפרט את פעולות המשמעת שננקטו נגד כל העובדים עם משכורת העולה על 40,000 $. השימוש בפעולת JOIN, במקרה זה, הוא פשוט. אחזר מידע זה באמצעות הפקודה הבאה:

בחר מידע אישי_אישי.ראשון, מידע_אישי.אחרון, משמעת_מעשה
FROM personal_info INNER JOIN disciplinary_action ON personal_info.employee_id = disciplinary_action.employee_id
היכן personal_info.salary> 40000;

סוגי הצטרפות

הצטרף לסוגים ב- SQL

המצטרפים מגיעים בכמה טעמים. בהצהרת SQL, הטבלה הראשונה (נקראת בדרך כלל טבלה א או ה שולחן שמאלי) מצטרף לשולחן השני (נקרא בדרך כלל לוח ב או ה שולחן נכון) באופן מודע לעמדה. לפיכך, אם תשנה את סדר הטבלאות בהצהרת ההצטרפות, תוצאות הפעולה יהיו שונות. סוגי ההצטרפות העיקריים כוללים:

  • הצטרפות פנימית: תואם רק רשומות בהן עַל התנאי תואם את אותן הרשומות בשתי הטבלאות.
  • הצטרפות חיצונית: תואם רק רשומות משני הטבלאות לא לכלול התוצאות שזוהו ב עַל מַצָב.
  • הצטרף נכון: תואם את כל הרשומות מטבלה B בתוספת הרשומות מטבלה A התואמות את עַל מַצָב.
  • שמאל הצטרף: תואם את כל הרשומות מטבלה א בתוספת הרשומות מטבלה ב התואמות את עַל מַצָב.
  • צלב הצטרף: תואם את כל הרשומות כאילו הטבלאות זהות. תהליך זה מייצר משהו שנקרא מכפלה קרטזית. לעתים קרובות, צירופי רוחב אינם רצויים, מכיוון שהם תואמים כל שורה בטבלה A, באופן אינדיבידואלי, לכל שורה בטבלה B. לפיכך, אם טבלה א 'הציעה חמש רשומות, וטבלה ב' הציעה 9 רשומות, שאילתת צירוף צולב מציעה 45 שורות שהתקבלו.
instagram story viewer