SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
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;

Contenu connexe

Tendances

Command line-arguments-in-java-tutorial
Command line-arguments-in-java-tutorialCommand line-arguments-in-java-tutorial
Command line-arguments-in-java-tutorialKuntal Bhowmick
 
Constructor and Types of Constructors
Constructor and Types of ConstructorsConstructor and Types of Constructors
Constructor and Types of ConstructorsDhrumil Panchal
 
Architecture of-dbms-and-data-independence
Architecture of-dbms-and-data-independenceArchitecture of-dbms-and-data-independence
Architecture of-dbms-and-data-independenceAnuj Modi
 
Introduction of sql server indexing
Introduction of sql server indexingIntroduction of sql server indexing
Introduction of sql server indexingMahabubur Rahaman
 
Object oriented approach in python programming
Object oriented approach in python programmingObject oriented approach in python programming
Object oriented approach in python programmingSrinivas Narasegouda
 
Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...
Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...
Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...Jayanshu Gundaniya
 
Function arguments In Python
Function arguments In PythonFunction arguments In Python
Function arguments In PythonAmit Upadhyay
 

Tendances (20)

Database programming
Database programmingDatabase programming
Database programming
 
Command line-arguments-in-java-tutorial
Command line-arguments-in-java-tutorialCommand line-arguments-in-java-tutorial
Command line-arguments-in-java-tutorial
 
Dbms relational data model and sql queries
Dbms relational data model and sql queries Dbms relational data model and sql queries
Dbms relational data model and sql queries
 
Constructor and Types of Constructors
Constructor and Types of ConstructorsConstructor and Types of Constructors
Constructor and Types of Constructors
 
Architecture of-dbms-and-data-independence
Architecture of-dbms-and-data-independenceArchitecture of-dbms-and-data-independence
Architecture of-dbms-and-data-independence
 
Functional dependency
Functional dependencyFunctional dependency
Functional dependency
 
Introduction of sql server indexing
Introduction of sql server indexingIntroduction of sql server indexing
Introduction of sql server indexing
 
Python tuple
Python   tuplePython   tuple
Python tuple
 
single linked list
single linked listsingle linked list
single linked list
 
AGGREGATE FUNCTION.pptx
AGGREGATE FUNCTION.pptxAGGREGATE FUNCTION.pptx
AGGREGATE FUNCTION.pptx
 
Heap tree
Heap treeHeap tree
Heap tree
 
SQL Views
SQL ViewsSQL Views
SQL Views
 
File handling in c
File handling in cFile handling in c
File handling in c
 
Object oriented approach in python programming
Object oriented approach in python programmingObject oriented approach in python programming
Object oriented approach in python programming
 
set operators.pptx
set operators.pptxset operators.pptx
set operators.pptx
 
DBMS Keys
DBMS KeysDBMS Keys
DBMS Keys
 
Using the set operators
Using the set operatorsUsing the set operators
Using the set operators
 
Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...
Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...
Basics of pointer, pointer expressions, pointer to pointer and pointer in fun...
 
Chapter 3 stored procedures
Chapter 3 stored proceduresChapter 3 stored procedures
Chapter 3 stored procedures
 
Function arguments In Python
Function arguments In PythonFunction arguments In Python
Function arguments In Python
 

En vedette

בניית אתרים שיעור שני
בניית אתרים שיעור שניבניית אתרים שיעור שני
בניית אתרים שיעור שניalechko.name
 
Ado.Net - שיטות לעבודה עם בסיס נתונים בסביבת
Ado.Net - שיטות לעבודה עם בסיס נתונים בסביבתAdo.Net - שיטות לעבודה עם בסיס נתונים בסביבת
Ado.Net - שיטות לעבודה עם בסיס נתונים בסביבתLior Zamir
 
Technology going green
Technology going greenTechnology going green
Technology going greenGarrett
 
דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות
 דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחות
דמואים, הדגמות קוד ומסגרות פיתוח חדשניים בטכנולוגיות ווב פתוחותIsraeli Internet Association technology committee
 
בניית אתרים שיעור ראשון
בניית אתרים שיעור ראשוןבניית אתרים שיעור ראשון
בניית אתרים שיעור ראשוןalechko.name
 
Web Technologies
Web TechnologiesWeb Technologies
Web TechnologiesLior Zamir
 
שרת לינוקס המשמש להפעלת שוחן עבודה מרוחק במעבדת מחשבים של תחנות חלשות
שרת לינוקס המשמש להפעלת שוחן עבודה מרוחק במעבדת מחשבים של תחנות חלשותשרת לינוקס המשמש להפעלת שוחן עבודה מרוחק במעבדת מחשבים של תחנות חלשות
שרת לינוקס המשמש להפעלת שוחן עבודה מרוחק במעבדת מחשבים של תחנות חלשותNadav Kavalerchik
 
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 profitabilityGrant Thornton LLP
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web APIhabib_786
 
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 BeginnersKevin Hazzard
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiTiago Knoch
 
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 FundamentalsIdo Flatow
 
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 DEVELOPMENTDr. Awase Khirni Syed
 
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àriaguest8a9b56
 

En vedette (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
 

Plus de מורן אלקובי

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

Plus de מורן אלקובי (20)

Java - OOP - Exceptions Handling
Java - OOP - Exceptions HandlingJava - OOP - Exceptions Handling
Java - OOP - Exceptions Handling
 
ג'אווה - תכנות מונחה עצמים - רב צורתיות
ג'אווה - תכנות מונחה עצמים - רב צורתיותג'אווה - תכנות מונחה עצמים - רב צורתיות
ג'אווה - תכנות מונחה עצמים - רב צורתיות
 
ג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונות
ג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונותג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונות
ג'אווה - תכנות מונחה עצמים - מתודות - דריסה/חפיפה, העמסה ומתודות בונות
 
ג'אווה - תכנות מונחה עצמים - ממשקים
ג'אווה - תכנות מונחה עצמים - ממשקיםג'אווה - תכנות מונחה עצמים - ממשקים
ג'אווה - תכנות מונחה עצמים - ממשקים
 
ג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיות
ג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיותג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיות
ג'אווה - תכנות מונחה עצמים - מחלקות פנימיות - רגילות, אנונימיות וסטטיות
 
ג'אווה - תכנות מונחה עצמים - הורשה
ג'אווה - תכנות מונחה עצמים - הורשהג'אווה - תכנות מונחה עצמים - הורשה
ג'אווה - תכנות מונחה עצמים - הורשה
 
ג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטים
ג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטיםג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטים
ג'אווה - תכנות מונחה עצמים - מחלקות ואובייקטים
 
ג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטה
ג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטהג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטה
ג'אווה - תכנות מונחה עצמים - משתנים מטיפוס מחלקה והמרת טיפוסים למעלה/למטה
 
ג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפה
ג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפהג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפה
ג'אווה - תכנות מונחה עצמים - מצייני גישה/רמות חשיפה
 
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שע...
 
MySQL - מילון השאילתא
MySQL - מילון השאילתאMySQL - מילון השאילתא
MySQL - מילון השאילתא
 
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;