SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
DDL – Data Definition Language

                                                                                  : ‫יצירת טבלה חדשה‬
CREATE TABLE table_name (
                               Column_name Datatype Optional Constraints,
                                       Optional Table Constrants);
                                                                                           :‫דוגמה‬
    CREATE TABLE ListOfArtists(
     ArtistID INT NOT NULL AUTO_INCREMENT,
             PRIMARY KEY (ArtistID),
             UNIQUE KEY ArtistAK1 (LastName, FirstName));
             ‫מפתח ייחודי, כלומר לא יופיעו‬     A         B
)A,B( ‫בטבלה שני צירופים זהים‬


                                 ON UPDATE / ON DELETE ‫התנהגות בעדכון או מחיקה של ערכים בטבלה‬


                                      CASCADE ‫עדכון / מחיקה בטבלת ההורה יחלחל גם עבור טבלאות הילד‬
                                  NO ACTION / RESTRICT ‫חסימת האפשרות לעדכן / למחוק מטבלת ההורה‬
                       SET NULL ‫עדכון / מחיקה בטבלת ההורה יניב איפוס הערכים התואמים בטבלאות הילד‬


                                                              . The CHECK Constraint :‫אילוצים‬

                                                                        .‫הגדרת התחום עבור ערכים בטבלה‬
                                      .‫רצוי לתת שם לכל אילוץ ע"מ שניתן יהיה לגשת אליו לצרכי עדכון והסרה‬

                                                                                              :‫דוגמאות‬

CONSTRAINT cons_Name1 PRIMARY KEY (ArtistID),
CONSTRAINT cons_Name2 UNIQUE KEY (Last Name, First Name),
CONSTRAINT cons_Name3 CHECK (status IN ('Single', 'Married', …)),
CONSTRAINT cons_Name4 CHECK (Date of Birth< DateDeceased),
CONSTRAINT cons_Name5 CHECK (Date of Birth LIKE '[1-2][0-9][0-9][0-9]')
: ‫הוספת שורה חדשה לסוף הטבלה‬

               INSERT INTO table_name (col1,col2…colN) Values ('col1_val', 'col2_val',… 'colN_val')

                          :‫אם מזינים ערכים של כל העמודות לפי הסדר, אז ניתן להשמיט את שמות העמודות, כך‬

INSERT INTO table_name Values ('col1_val', 'col2_val',… 'colN_val')
                                                                                     : ‫שכפול של טבלה‬
1) CREATE TABLE table_copy (SELECT * FROM table)
2) CREATE TABLE table_copy LIKE table;
    INSERT INTO table_copy(SELECT * FROM table);
                                                                                 : ‫מחיקת שורה מטבלה‬
DELETE FROM table_name WHERE column=value
                                                                                 : ‫עדכון ערכים בטבלה‬

UPDATE table_name SET column=value WHERE condition


                                    .‫ – שינויים מבניים‬ALTER
                                                                                         ‫הוספת אילוץ‬
                                                                                              : ‫לדוגמה‬
ALTER TABLE table1 ADD CONSTRAINT cons_name
FOREIGN KEY (column1) REFERENCES table2 (column1)
ON DELETE NO ACTION
ON UPDATE NO ACTION
                                                                                       :‫הוספת עמודה‬
ALTER TABLE table1 ADD COLUMN column1 DataType(Size) {NULL/NOT NULL}
                                                                                        :‫הסרת עמודה‬
ALTER TABLE table_name DROP COLUMN column_name
                                                                       )‫יצירת תצוגה (טבלה וירטואלית‬
CREATE VIEW view_name AS SELECT…
              .‫לאחר יצירת התצוגה , ניתן לגשת לעמודות התצוגה באותו האופן בו היינו ניגשים לטבלה רגילה‬
                                                                                            :‫לדוגמה‬
SELECT * FROM view_name WHERE condition


                                                                                    .‫ – הסרה‬Drop
  DROP TABLE table_name
  DROP TRIGGER trigger_name
  DROP VIEW view_name
.‫ – צירוף של עמודות ממספר טבלאות‬Joins

                                                                                               Inner join
                                                                                                 :‫לדוגמה‬
SELECT lastname, title FROM listofartists, work
WHERE listofartists.artistid = work.artistid
                                                                                             :‫ובאופן שקול‬
SELECT lastname, title FROM listofartists
JOIN work ON Listofartists.artistid = work.artistID
                                                                      :‫ במידת הצורך‬Joins ‫ניתן לשרשר יותר‬
SELECT C.Lastname, A.Lastname
FROM customer AS C JOIN customer_artist_int AS C1
ON C.customerID = C1.customerID
JOIN listofartist AS A
ON C1.artistID = A.artistID
                                                                                        :‫ובאותו אופן שקול‬
SELECT C.lastname, A.lastname
FROM customer AS C, customer_artist_int AS C1, listofartists AS A
WHERE C.customerID=C1.CustomerID AND C1.artistID=A.artistID


                                                                                             . Outer Join


                               .‫ – כל השורות בטבלה הראשונה שמוצגת בהוראה תהיינה מוכלות בתוצאה‬Left join
                               .‫ – כל השורות בטבלה השניה שמוצגת בהוראה תהיינה מוכלות בתוצאה‬Right Join
  ‫נבחין שלא נדרשת התאמה בין המבנים של הטבלאות ועל כן, ייתכנו בקלות מצבים בהם נקבל שעבור ישות מסוימת‬
                                       .‫ בשדות עבורם אין מידע‬NULL ‫אין נתונים מסוימים. במקרה זה, יופיע ערך‬



                                                                                                  :‫דוגמה‬
SELECT C.lastname, C.firstname, T.transactionID, T.salesprice
FROM Customer AS C LEFT JOIN trans AS T ON
C.customerID=T.customerID ORDER BY T.transactionID;


           .‫ בשדות עבורם אין נתונים‬NULL‫כך שיופיעו כל הלקוחות, גם אלו שלא ביצעו טרנזקציות..., כאמור יופיע‬


           .‫, אנו נקבל רק את אלו שיש עבורם טרנזקציה‬RIGHT JOIN‫ ב‬LEFT JOIN ‫* במקרה שכזה, אם נחליף את‬
. Triggers

                                         .‫טריגר משויך לטבלאות ומופעל בעת שינוי של הנתונים בטבלה מסוימת‬
                                       .‫ניתן לקבוע האם הטריגר יבצע הכנסה, מחיקה או עדכון של רכיב בטבלה‬
                                           .$$ ‫ ונועל של הטריגר יהיה‬delimiter $$ ‫פתיח של טריגר הוא הביטוי‬
delimiter $$
CREATE TRIGGER trigger_name
{AFTER, BEFORE} {INSERT, UPDATE, DELETE} ON tablename FOR EACH row
BEGIN...END       $$
                                                                   :‫בגוף הטריגר יכולות להופיע הגדרות כגון‬
                                              :‫ – להגדרת עמודה חדשה, מתבצע באופן הבא‬Declare -
  DECLARE ArtistNationality CHAR(30);
  ‫, רק הפוך, בוחרים את המקור ממנו יילקחו הנתונים‬SELECT… FROM ‫ – בדומה ל‬SELECT… INTO -
                                                                                  :‫לעמודת היעד‬
  SELECT Nationality INTO ArtistNationality FROM…
                                            :‫ - הכנסת שורה חדשה לטבלה קיימת‬INSERT INTO… -
               INSERT INTO table_name (SELECT *…)
                                                                         :IF... THEN ... ‫- התניות‬
  IF (ArtistNationalit = 'Mexican') THEN
  IF (New. Salesprice < New.AskingPrice) THEN
  UPDATE trans SET…
  END IF; END IF
      ‫ לא ניתן לעדכן את הטבלה עליה מורץ טריגר ועל כן, יש לעבוד עם‬MySQL – ‫יש לקחת בחשבון שב‬        
                                                                         .‫ במקביל‬dummy ‫טבלת‬
                                                             .‫ זוהי השורה החדשה שהוכנסה‬NEW        
                                                                                         :‫ביטול‬   
  DROP TRIGGER trigger_name
  DROP TABLE table_name
  DELETE FROM table WHERE column =value
                                                        :TRIGGER ‫ באמצעות‬CHECK ‫מימוש של‬           
  CREATE TRIGGER trigger_name
  BEFORE UPDATE ON table_name
  FOR EACH ROW BEGIN
  IF NEW.Column NOT BETWEEN 0 AND 100 THEN
  SET NEW.column = 1/0;
  END IF; END;

Más contenido relacionado

La actualidad más candente

Lecture 04 normalization
Lecture 04 normalization Lecture 04 normalization
Lecture 04 normalization
emailharmeet
 
Normalizacion 1 -_3_fn
Normalizacion 1 -_3_fnNormalizacion 1 -_3_fn
Normalizacion 1 -_3_fn
Luis Jherry
 

La actualidad más candente (20)

Functional dependencies in Database Management System
Functional dependencies in Database Management SystemFunctional dependencies in Database Management System
Functional dependencies in Database Management System
 
בדרך לפולימורפיזם - העמסת ועקיפת פונקציות
בדרך לפולימורפיזם - העמסת ועקיפת פונקציותבדרך לפולימורפיזם - העמסת ועקיפת פונקציות
בדרך לפולימורפיזם - העמסת ועקיפת פונקציות
 
Programming in C session 3
Programming in C session 3Programming in C session 3
Programming in C session 3
 
Normalization in SQL | Edureka
Normalization in SQL | EdurekaNormalization in SQL | Edureka
Normalization in SQL | Edureka
 
Sql and Sql commands
Sql and Sql commandsSql and Sql commands
Sql and Sql commands
 
Oracle Database Sequence
Oracle Database SequenceOracle Database Sequence
Oracle Database Sequence
 
SQL - Structured query language introduction
SQL - Structured query language introductionSQL - Structured query language introduction
SQL - Structured query language introduction
 
Lecture 04 normalization
Lecture 04 normalization Lecture 04 normalization
Lecture 04 normalization
 
Normalizacion 1 -_3_fn
Normalizacion 1 -_3_fnNormalizacion 1 -_3_fn
Normalizacion 1 -_3_fn
 
PL/SQL TRIGGERS
PL/SQL TRIGGERSPL/SQL TRIGGERS
PL/SQL TRIGGERS
 
Introduction to sql
Introduction to sqlIntroduction to sql
Introduction to sql
 
Databases: Normalisation
Databases: NormalisationDatabases: Normalisation
Databases: Normalisation
 
Learn Normalization in simple language
Learn Normalization in simple languageLearn Normalization in simple language
Learn Normalization in simple language
 
Normalization
NormalizationNormalization
Normalization
 
Database concepts
Database conceptsDatabase concepts
Database concepts
 
Advanced sql
Advanced sqlAdvanced sql
Advanced sql
 
Friend function
Friend functionFriend function
Friend function
 
Acid properties
Acid propertiesAcid properties
Acid properties
 
Normalization in databases
Normalization in databasesNormalization in databases
Normalization in databases
 
Ch 2-introduction to dbms
Ch 2-introduction to dbmsCh 2-introduction to dbms
Ch 2-introduction to dbms
 

Destacado

בניית אתרים שיעור שני
בניית אתרים שיעור שניבניית אתרים שיעור שני
בניית אתרים שיעור שני
alechko.name
 
Ado.Net - שיטות לעבודה עם בסיס נתונים בסביבת
Ado.Net - שיטות לעבודה עם בסיס נתונים בסביבתAdo.Net - שיטות לעבודה עם בסיס נתונים בסביבת
Ado.Net - שיטות לעבודה עם בסיס נתונים בסביבת
Lior Zamir
 
Technology going green
Technology going greenTechnology going green
Technology going green
Garrett
 
דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות
 דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות
דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות
Israeli Internet Association technology committee
 
Web Technologies
Web TechnologiesWeb Technologies
Web Technologies
Lior Zamir
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
habib_786
 
LA CREACIÓ vista per nens i nenes de 3r de Primària
LA CREACIÓ vista per nens i nenes de 3r de PrimàriaLA CREACIÓ vista per nens i nenes de 3r de Primària
LA CREACIÓ vista per nens i nenes de 3r de Primària
guest8a9b56
 

Destacado (20)

אחסון מידע - ל-websql ו-indexdb רן בר-זיק
אחסון מידע - ל-websql ו-indexdb רן בר-זיקאחסון מידע - ל-websql ו-indexdb רן בר-זיק
אחסון מידע - ל-websql ו-indexdb רן בר-זיק
 
בניית אתרים שיעור שני
בניית אתרים שיעור שניבניית אתרים שיעור שני
בניית אתרים שיעור שני
 
Web2 And Library
Web2 And LibraryWeb2 And Library
Web2 And Library
 
Ado.Net - שיטות לעבודה עם בסיס נתונים בסביבת
Ado.Net - שיטות לעבודה עם בסיס נתונים בסביבתAdo.Net - שיטות לעבודה עם בסיס נתונים בסביבת
Ado.Net - שיטות לעבודה עם בסיס נתונים בסביבת
 
Technology going green
Technology going greenTechnology going green
Technology going green
 
דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות
 דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות
דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות
 
SAPUI5 on SAP Web IDE
SAPUI5 on SAP Web IDESAPUI5 on SAP Web IDE
SAPUI5 on SAP Web IDE
 
בניית אתרים שיעור ראשון
בניית אתרים שיעור ראשוןבניית אתרים שיעור ראשון
בניית אתרים שיעור ראשון
 
Web Technologies
Web TechnologiesWeb Technologies
Web Technologies
 
Mobile Web Best Practices Eyal Sela [Hebrew]
Mobile Web Best Practices   Eyal Sela [Hebrew]Mobile Web Best Practices   Eyal Sela [Hebrew]
Mobile Web Best Practices Eyal Sela [Hebrew]
 
שרת לינוקס המשמש להפעלת שוחן עבודה מרוחק במעבדת מחשבים של תחנות חלשות
שרת לינוקס המשמש להפעלת שוחן עבודה מרוחק במעבדת מחשבים של תחנות חלשותשרת לינוקס המשמש להפעלת שוחן עבודה מרוחק במעבדת מחשבים של תחנות חלשות
שרת לינוקס המשמש להפעלת שוחן עבודה מרוחק במעבדת מחשבים של תחנות חלשות
 
5 P&C underwriting metrics to increase profitability
5 P&C underwriting metrics to increase profitability5 P&C underwriting metrics to increase profitability
5 P&C underwriting metrics to increase profitability
 
Asp.net
Asp.net Asp.net
Asp.net
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
The ASP.NET Web API for Beginners
The ASP.NET Web API for BeginnersThe ASP.NET Web API for Beginners
The ASP.NET Web API for Beginners
 
ASP.NET WEB API
ASP.NET WEB APIASP.NET WEB API
ASP.NET WEB API
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP Fundamentals
 
C# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENTC# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENT
 
LA CREACIÓ vista per nens i nenes de 3r de Primària
LA CREACIÓ vista per nens i nenes de 3r de PrimàriaLA CREACIÓ vista per nens i nenes de 3r de Primària
LA CREACIÓ vista per nens i nenes de 3r de Primària
 

Más de מורן אלקובי

Más de מורן אלקובי (20)

Java - OOP - Exceptions Handling
Java - OOP - Exceptions HandlingJava - OOP - Exceptions Handling
Java - OOP - Exceptions Handling
 
ג'אווה - תכנות מונחה עצמים - רב צורתיות
ג'אווה - תכנות מונחה עצמים - רב צורתיותג'אווה - תכנות מונחה עצמים - רב צורתיות
ג'אווה - תכנות מונחה עצמים - רב צורתיות
 
ג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונות
ג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונותג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונות
ג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונות
 
ג'אווה - תכנות מונחה עצמים - ממשקים
ג'אווה - תכנות מונחה עצמים - ממשקיםג'אווה - תכנות מונחה עצמים - ממשקים
ג'אווה - תכנות מונחה עצמים - ממשקים
 
ג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיות
ג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיותג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיות
ג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיות
 
ג'אווה - תכנות מונחה עצמים - הורשה
ג'אווה - תכנות מונחה עצמים - הורשהג'אווה - תכנות מונחה עצמים - הורשה
ג'אווה - תכנות מונחה עצמים - הורשה
 
ג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטים
ג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטיםג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטים
ג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטים
 
ג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטה
ג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטהג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטה
ג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטה
 
ג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפה
ג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפהג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפה
ג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפה
 
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
 
MySQL - מילון השאילתא
MySQL - מילון השאילתאMySQL - מילון השאילתא
MySQL - מילון השאילתא
 
SQL - אלגברה של יחסים
SQL - אלגברה של יחסיםSQL - אלגברה של יחסים
SQL - אלגברה של יחסים
 
MySQL - מרכיבי השאילתא
MySQL - מרכיבי השאילתאMySQL - מרכיבי השאילתא
MySQL - מרכיבי השאילתא
 
בדרך לפולימורפיזם - Using Virtual/Pure Virtual
בדרך לפולימורפיזם - Using Virtual/Pure Virtualבדרך לפולימורפיזם - Using Virtual/Pure Virtual
בדרך לפולימורפיזם - Using Virtual/Pure Virtual
 
הורשה והיררכיה של מחלקות
הורשה והיררכיה של מחלקותהורשה והיררכיה של מחלקות
הורשה והיררכיה של מחלקות
 
תכנות מונחה עצמים - מחלקות
תכנות מונחה עצמים - מחלקותתכנות מונחה עצמים - מחלקות
תכנות מונחה עצמים - מחלקות
 
טורי חזקה
טורי חזקהטורי חזקה
טורי חזקה
 
כלים מתמטיים - הוכחות משפטים
כלים מתמטיים - הוכחות משפטיםכלים מתמטיים - הוכחות משפטים
כלים מתמטיים - הוכחות משפטים
 
DLL מדריך לעבודה עם
DLL מדריך לעבודה עםDLL מדריך לעבודה עם
DLL מדריך לעבודה עם
 
עבודה עם קבצים בשפת סי
עבודה עם קבצים בשפת סיעבודה עם קבצים בשפת סי
עבודה עם קבצים בשפת סי
 

SQL - שפת הגדרת הנתונים

  • 1. DDL – Data Definition Language : ‫יצירת טבלה חדשה‬ CREATE TABLE table_name ( Column_name Datatype Optional Constraints, Optional Table Constrants); :‫דוגמה‬ CREATE TABLE ListOfArtists( ArtistID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (ArtistID), UNIQUE KEY ArtistAK1 (LastName, FirstName)); ‫מפתח ייחודי, כלומר לא יופיעו‬ A B )A,B( ‫בטבלה שני צירופים זהים‬ ON UPDATE / ON DELETE ‫התנהגות בעדכון או מחיקה של ערכים בטבלה‬ CASCADE ‫עדכון / מחיקה בטבלת ההורה יחלחל גם עבור טבלאות הילד‬ NO ACTION / RESTRICT ‫חסימת האפשרות לעדכן / למחוק מטבלת ההורה‬ SET NULL ‫עדכון / מחיקה בטבלת ההורה יניב איפוס הערכים התואמים בטבלאות הילד‬ . The CHECK Constraint :‫אילוצים‬ .‫הגדרת התחום עבור ערכים בטבלה‬ .‫רצוי לתת שם לכל אילוץ ע"מ שניתן יהיה לגשת אליו לצרכי עדכון והסרה‬ :‫דוגמאות‬ CONSTRAINT cons_Name1 PRIMARY KEY (ArtistID), CONSTRAINT cons_Name2 UNIQUE KEY (Last Name, First Name), CONSTRAINT cons_Name3 CHECK (status IN ('Single', 'Married', …)), CONSTRAINT cons_Name4 CHECK (Date of Birth< DateDeceased), CONSTRAINT cons_Name5 CHECK (Date of Birth LIKE '[1-2][0-9][0-9][0-9]')
  • 2. : ‫הוספת שורה חדשה לסוף הטבלה‬ INSERT INTO table_name (col1,col2…colN) Values ('col1_val', 'col2_val',… 'colN_val') :‫אם מזינים ערכים של כל העמודות לפי הסדר, אז ניתן להשמיט את שמות העמודות, כך‬ INSERT INTO table_name Values ('col1_val', 'col2_val',… 'colN_val') : ‫שכפול של טבלה‬ 1) CREATE TABLE table_copy (SELECT * FROM table) 2) CREATE TABLE table_copy LIKE table; INSERT INTO table_copy(SELECT * FROM table); : ‫מחיקת שורה מטבלה‬ DELETE FROM table_name WHERE column=value : ‫עדכון ערכים בטבלה‬ UPDATE table_name SET column=value WHERE condition .‫ – שינויים מבניים‬ALTER ‫הוספת אילוץ‬ : ‫לדוגמה‬ ALTER TABLE table1 ADD CONSTRAINT cons_name FOREIGN KEY (column1) REFERENCES table2 (column1) ON DELETE NO ACTION ON UPDATE NO ACTION :‫הוספת עמודה‬ ALTER TABLE table1 ADD COLUMN column1 DataType(Size) {NULL/NOT NULL} :‫הסרת עמודה‬ ALTER TABLE table_name DROP COLUMN column_name )‫יצירת תצוגה (טבלה וירטואלית‬ CREATE VIEW view_name AS SELECT… .‫לאחר יצירת התצוגה , ניתן לגשת לעמודות התצוגה באותו האופן בו היינו ניגשים לטבלה רגילה‬ :‫לדוגמה‬ SELECT * FROM view_name WHERE condition .‫ – הסרה‬Drop DROP TABLE table_name DROP TRIGGER trigger_name DROP VIEW view_name
  • 3. .‫ – צירוף של עמודות ממספר טבלאות‬Joins Inner join :‫לדוגמה‬ SELECT lastname, title FROM listofartists, work WHERE listofartists.artistid = work.artistid :‫ובאופן שקול‬ SELECT lastname, title FROM listofartists JOIN work ON Listofartists.artistid = work.artistID :‫ במידת הצורך‬Joins ‫ניתן לשרשר יותר‬ SELECT C.Lastname, A.Lastname FROM customer AS C JOIN customer_artist_int AS C1 ON C.customerID = C1.customerID JOIN listofartist AS A ON C1.artistID = A.artistID :‫ובאותו אופן שקול‬ SELECT C.lastname, A.lastname FROM customer AS C, customer_artist_int AS C1, listofartists AS A WHERE C.customerID=C1.CustomerID AND C1.artistID=A.artistID . Outer Join .‫ – כל השורות בטבלה הראשונה שמוצגת בהוראה תהיינה מוכלות בתוצאה‬Left join .‫ – כל השורות בטבלה השניה שמוצגת בהוראה תהיינה מוכלות בתוצאה‬Right Join ‫נבחין שלא נדרשת התאמה בין המבנים של הטבלאות ועל כן, ייתכנו בקלות מצבים בהם נקבל שעבור ישות מסוימת‬ .‫ בשדות עבורם אין מידע‬NULL ‫אין נתונים מסוימים. במקרה זה, יופיע ערך‬ :‫דוגמה‬ SELECT C.lastname, C.firstname, T.transactionID, T.salesprice FROM Customer AS C LEFT JOIN trans AS T ON C.customerID=T.customerID ORDER BY T.transactionID; .‫ בשדות עבורם אין נתונים‬NULL‫כך שיופיעו כל הלקוחות, גם אלו שלא ביצעו טרנזקציות..., כאמור יופיע‬ .‫, אנו נקבל רק את אלו שיש עבורם טרנזקציה‬RIGHT JOIN‫ ב‬LEFT JOIN ‫* במקרה שכזה, אם נחליף את‬
  • 4. . Triggers .‫טריגר משויך לטבלאות ומופעל בעת שינוי של הנתונים בטבלה מסוימת‬ .‫ניתן לקבוע האם הטריגר יבצע הכנסה, מחיקה או עדכון של רכיב בטבלה‬ .$$ ‫ ונועל של הטריגר יהיה‬delimiter $$ ‫פתיח של טריגר הוא הביטוי‬ delimiter $$ CREATE TRIGGER trigger_name {AFTER, BEFORE} {INSERT, UPDATE, DELETE} ON tablename FOR EACH row BEGIN...END $$ :‫בגוף הטריגר יכולות להופיע הגדרות כגון‬ :‫ – להגדרת עמודה חדשה, מתבצע באופן הבא‬Declare - DECLARE ArtistNationality CHAR(30); ‫, רק הפוך, בוחרים את המקור ממנו יילקחו הנתונים‬SELECT… FROM ‫ – בדומה ל‬SELECT… INTO - :‫לעמודת היעד‬ SELECT Nationality INTO ArtistNationality FROM… :‫ - הכנסת שורה חדשה לטבלה קיימת‬INSERT INTO… - INSERT INTO table_name (SELECT *…) :IF... THEN ... ‫- התניות‬ IF (ArtistNationalit = 'Mexican') THEN IF (New. Salesprice < New.AskingPrice) THEN UPDATE trans SET… END IF; END IF ‫ לא ניתן לעדכן את הטבלה עליה מורץ טריגר ועל כן, יש לעבוד עם‬MySQL – ‫יש לקחת בחשבון שב‬  .‫ במקביל‬dummy ‫טבלת‬ .‫ זוהי השורה החדשה שהוכנסה‬NEW  :‫ביטול‬  DROP TRIGGER trigger_name DROP TABLE table_name DELETE FROM table WHERE column =value :TRIGGER ‫ באמצעות‬CHECK ‫מימוש של‬  CREATE TRIGGER trigger_name BEFORE UPDATE ON table_name FOR EACH ROW BEGIN IF NEW.Column NOT BETWEEN 0 AND 100 THEN SET NEW.column = 1/0; END IF; END;