0% found this document useful (0 votes)
51 views23 pages

SQL مرجع كامل

This document provides an introduction to structured query language (SQL) in three Arabic sentences. It discusses SQL as the standard language for relational database management and interacting with relational database systems. The document also includes tables of contents for the chapters to follow on topics like retrieving data, queries, joins, functions and more.

Uploaded by

ESMAIL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views23 pages

SQL مرجع كامل

This document provides an introduction to structured query language (SQL) in three Arabic sentences. It discusses SQL as the standard language for relational database management and interacting with relational database systems. The document also includes tables of contents for the chapters to follow on topics like retrieving data, queries, joins, functions and more.

Uploaded by

ESMAIL
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

‫ﻟﻐﺔ ﺍﻻﺳﺘﻌﻼﻡ ﺍﳍﻴﻜﻠﻴﺔ‬

‫‪Structured Query Language SQL‬‬

‫اﻟﻨﺴﺨﺔ اﻷوﱃ‬

‫ﺣﺴﻦ ﻋﻠﻲ ﺣﺴﻦ ﺇﺑﺮﺍﻫﻴﻢ‬

‫أﺳﺘﺎذ ﻣﺴﺎﻋﺪ – ﻗﺴﻢ ﻫﻨﺪﺳﺔ اﻟﱪﳎﻴﺎت‬

‫ﻛﻠﻴﺔ ﺗﻘﻨﻴﺔ اﳌﻌﻠﻮﻣﺎت ‪ -‬ﺟﺎﻣﻌﺔ ﻃﺮاﺑﻠﺲ ‪ -‬ﻟﻴﺒﻴﺎ‬

‫‪2022‬‬
‫ﺑﺴﻢ اﷲ اﻟﺮﲪﻦ اﻟﺮﺣﻴﻢ‬

‫﴿ َو َﻣﺎ و ِﺗ ُ ْﱲ ِﻣ َﻦ اﻟْ ِﻌ ْ ِﲅ اﻻ ﻗَ ِﻠ ًﯿﻼ ﴾‬


‫ﺳﻮرة ا ٕﻻﴎاء‪ ،‬ا ٓﯾﺔ ‪85‬‬
‫ﺍﻹﻫﺪﺍء‬

‫ٔﻫﺪي ﻫﺬا اﻟﻜ ﺎب إﱃ وا ي ووا ﰐ‬


‫وٕاﱃ زوﺟﱵ و ٔﺑﻨﺎﰄ‬
‫وٕاﱃ ٔ و ٔﺧﻮاﰐ‬
‫وٕاﱃ ﰻ ﳎﳤﺪ وﻃﺎﻟﺐ ﲅ‬
‫ﳏﺘﻮﻳﺎﺕ ﳐﺘﺼﺮﺓ‬

‫اﻟﺼﻔﺤﺔ‬ ‫اﻟﻔﺼﻞ‬

‫‪1‬‬ ‫اﻟﻤﻘﺪﻣﺔ‬

‫‪11‬‬ ‫اﻟﻔﺼﻞ ‪ 1‬ﻣﻘﺪﻣﺔ ﰲ ﻟﻐﺔ اﻻﺳﺘﻌﻼم اﳍﻴﻜﻠﻴﺔ ‪SQL‬‬

‫‪61‬‬ ‫اﻟﻔﺼﻞ ‪ 2‬اﺳﱰﺟﺎع اﻟﺒﻴﺎﻧﺎت‬

‫‪122‬‬ ‫اﻟﻔﺼﻞ ‪ 3‬اﻻﺳﺘﻌﻼم اﻟﻔﺮﻋﻲ واﻟﺮﺑﻂ‬

‫‪167‬‬ ‫اﻟﻔﺼﻞ ‪ 4‬دﻣﺞ اﻻﺳﺘﻔﺴﺎرات وﲢﺪﻳﺚ اﳉﺪاول‬

‫‪210‬‬ ‫اﻟﻔﺼﻞ ‪ 5‬اﳌﻌﺎﻣﻠﺔ‪ ،‬اﻹﺟﺮاء اﳌﺨﺰن واﻟﻘﺎدح‬

‫‪261‬‬ ‫اﻟﻔﺼﻞ ‪ 6‬اﳌﻨﺎﻇﲑ‬

‫‪287‬‬ ‫اﻟﻔﺼﻞ ‪ 7‬أﻣﻦ ﻗﺎﻋﺪة اﻟﺒﻴﺎﻧﺎت واﻟﺘﺤﻜﻢ ﰲ اﻟﻮﺻﻮل‬

‫‪344‬‬ ‫اﻟﻤﺮاﺟﻊ‬

‫‪345‬‬ ‫اﻟﻤﻠﺤﻖ أ‬

‫‪347‬‬ ‫اﻟﻤﻠﺤﻖ ب‬

‫‪354‬‬ ‫اﻟﻤﻠﺤﻖ ج‬
‫ﺍﶈﺘﻮﻳﺎﺕ‬

‫‪ 1.1‬اﻟﻣﻘدﻣﺔ ‪13................................................ Introduction‬‬

‫‪ 2.1‬ﻗواﻋد اﻟﺑﯾﺎﻧﺎت اﻟﻌﻼﺋﻘﯾﺔ ‪13..................... Relational Database‬‬

‫‪ 3.1‬ﻣﺻطﻠﺣﺎت ‪18............................................. Terminology‬‬

‫‪ 4.1‬ﻟﻐﺔ ‪19............................................................... SQL‬‬

‫‪ 1.4.1‬ﻟﻐﺔ ﺗﻌرﯾف اﻟﺑﯾﺎﻧﺎت )‪19 .................... Data Definition Language (DDL‬‬

‫‪ 2.4.1‬ﻟﻐﺔ ﻣﻌﺎﻟﺟﺔ اﻟﺑﯾﺎﻧﺎت )‪20 ................ Data Manipulation Language (DML‬‬

‫‪ 3.4.1‬ﻟﻐﺔ اﻟﺗﺣﻛم ﻓﻲ اﻟﺑﯾﺎﻧﺎت )‪20 ................... Data Control Language (DCL‬‬

‫‪ 5.1‬أواﻣر ﻟﻐﺔ اﻻﺳﺗﻌﻼم اﻟﻬﯾﻛﻠﯾﺔ ‪21...................... SQL Commands‬‬

‫‪ 6.1‬اﻟﺗﻌﻠﯾﻘﺎت ‪22................................................. Comments‬‬

‫‪ 7.1‬أﻧواع اﻟﺑﯾﺎﻧﺎت ‪23........................................... Data Types‬‬

‫‪ 1.7.1‬أﻧواع اﻟﺑﯾﺎﻧﺎت اﻟرﻗﻣﯾﺔ ‪24 ............................................ Numeric‬‬

‫‪ 2.7.1‬أﻧواع اﻟﺑﯾﺎﻧﺎت اﻟﺣرﻓﯾﺔ ‪ Character‬واﻟﻧﺻﯾﺔ ‪25 ............................ Text‬‬

‫‪ 3.7.1‬أﻧواع اﻟﺑﯾﺎﻧﺎت اﻟﻣﻧطﻘﯾﺔ ‪27 .......................................... Boolean‬‬

‫‪ 4.7.1‬أﻧواع ﺑﯾﺎﻧﺎت اﻟﺗﺎرﯾﺦ واﻟوﻗت ‪28 ............................... Date and Time‬‬

‫‪ 8.1‬ﻧﻣوذج ‪29.................................................. ACID Model‬‬

‫‪ 9.1‬ﻣﺣرك اﻟﺗﺧزﯾن ‪30.................................... Storage Engine‬‬

‫‪ 1.9.1‬ﻣﺣرك اﻟﺗﺧزﯾن ‪30 ................................. Storage Engine InnoDB‬‬


‫‪ 2.9.1‬ﻣزاﯾﺎ ﻣﺣرك اﻟﺗﺧزﯾن ‪31 ............................ Storage Engine InnoDB‬‬

‫‪ 10.1‬ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ‪32............................................ Database‬‬

‫‪ 11.1‬اﻟﺟداول ‪35...................................................... Tables‬‬

‫‪ 1.11.1‬إﻧﺷﺎء ﺟداول ‪36 ............................................ Create Tables‬‬

‫‪ 2.11.1‬ﺗﻌدﯾل ﻓﻲ ﺑﻧﯾﺔ اﻟﺟداول ‪47 ................................. Updating Tables‬‬

‫‪ 3.11.1‬ﺣذف اﻟﺟداول ‪51 .............................................. Drop Tables‬‬

‫‪ 12.1‬اﻟﻔﻬرس ‪52........................................................Index‬‬

‫‪ 1.12.1‬إﻧﺷﺎء ﻓﻬرس ‪53 ............................................... Create Index‬‬

‫‪ 2.12.1‬ﺣذف اﻟﻔﻬرس ‪56 ............................................... Drop Index‬‬

‫‪ 13.1‬ﻣﻠﺧص اﻟﻔﺻل ‪57............................... Chapter Summary‬‬

‫‪ 14.1‬اﺧﺗﺑر ﻣﻌﻠوﻣﺎﺗك ‪60......................... Test Your Knowledge‬‬

‫‪ 1.2‬اﻟﻣﻘدﻣﺔ ‪63................................................ Introduction‬‬

‫‪ 2.2‬اﺳﺗرﺟﺎع اﻟﺑﯾﺎﻧﺎت ‪64.................................. Retrieving Data‬‬

‫‪ 1.2.2‬ﺟﻣﻠﺔ اﻟﺗرﺗﯾب ‪69 ................................................ ORDER BY‬‬

‫‪ 2.2.2‬ﺟﻣﻠﺔ إزاﻟﺔ اﻟﺗﻛرار ‪73 ............................................ DISTINCT‬‬

‫‪ 3.2.2‬ﺟﻣﻠﺔ ‪ WHERE‬واﻟﻌﺎﻣل ‪76 ............................................... IN‬‬

‫‪ 4.2.2‬اﻟﻌﺎﻣل ‪80 ...................................................... BETWEEN‬‬

‫‪ 5.2.2‬اﻟﻌﺎﻣل ‪81 ............................................................ LIKE‬‬


‫‪ 6.2.2‬اﻟﻘﯾﻣﺔ ﻏﯾر اﻟﻣﻌرﻓﺔ ‪84 ................................................ NULL‬‬

‫‪ 7.2.2‬اﻟﻌﺎﻣل ‪85 .............................................................NOT‬‬

‫‪ 8.2.2‬ﺟﻣﻠﺔ ‪88 ............................................................. LIMIT‬‬

‫‪ 3.2‬دوال اﻟﺗﺟﻣﯾﻊ ‪92............................... Aggregate Functions‬‬

‫‪ 1.3.2‬داﻟﺔ اﻟﻌدد ‪93 ...................................................... COUNT‬‬

‫‪ 2.3.2‬داﻟﺔ اﻟﻣﺟﻣوع ‪96 ...................................................... SUM‬‬

‫‪ 3.3.2‬داﻟﺔ اﻟﻣﺗوﺳط اﻟﺣﺳﺎﺑﻲ ‪97 ............................................. AVG‬‬

‫‪ 4.3.2‬داﻟﺔ أﻗل ﻗﯾﻣﺔ ‪99 ....................................................... MIN‬‬

‫‪ 5.3.2‬داﻟﺔ أﻋﻠﻰ ﻗﯾﻣﺔ ‪100 .................................................. MAX‬‬

‫‪ 4.2‬ﺗﺟﻣﯾﻊ اﻟﺑﯾﺎﻧﺎت ‪102 ................................... Grouping Data‬‬

‫‪ 1.4.2‬ﺟﻣﻠﺔ اﻟﺗﺟﻣﯾﻊ ‪104 ............................................ GROUP BY‬‬

‫‪ 2.4.2‬ﺟﻣﻠﺔ ﺗﺻﻔﯾﺔ اﻟﻣﺟﻣوﻋﺎت ‪114 ..................................... HAVING‬‬

‫‪ 3.4.2‬اﻟﺗﺟﻣﯾﻊ وﺗرﺗﯾب اﻟﻣﺟﺎﻣﯾﻊ ‪ GROUP BY‬ﻣﻊ ‪116 ................ ORDER BY‬‬

‫‪ 5.2‬ﻣﻠﺧص اﻟﻔﺻل ‪118 ............................... Chapter Summary‬‬

‫‪ 6.2‬أﺧﺗﺑر ﻣﻌﻠوﻣﺎﺗك ‪121 ......................... Test Your Knowledge‬‬

‫‪ 1.3‬اﻟﻣﻘدﻣﺔ ‪124 .............................................. Introduction‬‬

‫‪ 2.3‬اﻻﺳﺗﻌﻼﻣﺎت اﻟﻔرﻋﯾﺔ ‪124 ................................ SubQueries‬‬


‫‪ 1.2.3‬اﻟطرﯾﻘﺔ اﻷوﻟﻰ‪ :‬ﻋﻧدﻣﺎ ﯾرﺟﻊ اﻻﺳﺗﻌﻼم اﻟﻔرﻋﻲ )اﻟداﺧﻠﻲ( ﺧﺎﺻﯾﺔ واﺣد وﺳﺟل‬
‫واﺣد ‪125 ...........................................................................‬‬

‫‪ 2.2.3‬اﻟطرﯾﻘﺔ اﻟﺛﺎﻧﯾﺔ‪ :‬ﻋﻧدﻣﺎ ﯾرﺟﻊ اﻻﺳﺗﻌﻼم اﻟﻔرﻋﻲ )اﻟداﺧﻠﻲ( ﺧﺎﺻﯾﺔ واﺣدة وأﻛﺛر‬
‫ﻣن ﺳﺟل ‪128 .......................................................................‬‬

‫‪ 3.2.3‬اﻟطرﯾﻘﺔ اﻟﺛﺎﻟﺛﺔ‪ :‬ﻋﻧدﻣﺎ ﯾرﺟﻊ اﻻﺳﺗﻌﻼم اﻟﻔرﻋﻲ )اﻟداﺧﻠﻲ( ﻋدة ﺧﺻﺎﺋص وأﻛﺛر‬
‫ﻣن ﺳﺟل ‪133 .......................................................................‬‬

‫‪ 3.3‬رﺑط اﻟﺟداول ‪137 ...................................... Joining Tables‬‬

‫‪ 4.3‬اﻟرﺑط ‪137 ............................................................ Join‬‬

‫‪ 1.4.3‬اﻟرﺑط اﻟداﺧﻠﻲ ‪142 ............................................... Inner Join‬‬

‫‪ 2.4.3‬رﺑط اﻟﺟدول ﺑﻧﻔﺳﻪ ‪149 .......................................... Self-Joins‬‬

‫‪ 3.4.3‬اﻟرﺑط اﻟﺧﺎرﺟﻲ ‪152 .............................................. Outer Join‬‬


‫‪ 1.3.4.3‬اﻟرﺑط اﻟﺧﺎرﺟﻲ ﻣن اﻟﯾﺳﺎر ‪152............................... Left Outer Join‬‬
‫‪ 2.3.4.3‬اﻟرﺑط اﻟﺧﺎرﺟﻲ ﻣن اﻟﯾﻣﯾن ‪157.............................. Right Outer Join‬‬
‫‪ 3.3.4.3‬اﻟرﺑط اﻟﺧﺎرﺟﻲ اﻟﻛﺎﻣل ‪161.................................... Full Outer Join‬‬

‫‪ 5.3‬ﻣﻠﺧص اﻟﻔﺻل ‪162 ............................... Chapter Summary‬‬

‫‪ 6.3‬أﺧﺗﺑر ﻣﻌﻠوﻣﺎﺗك ‪166 .......................... Test Your Knowledge‬‬

‫‪ 1.4‬اﻟﻣﻘدﻣﺔ ‪168 .............................................. Introduction‬‬

‫‪ 2.4‬دﻣﺞ اﻻﺳﺗﻔﺳﺎرات ‪168 .......................... Combining Queries‬‬

‫‪ 1.2.4‬ﻋﺎﻣل اﻻﺗﺣﺎد ‪169 .................................................. UNION‬‬


173 ............................................ INTERSECT ‫ ﻋﺎﻣل اﻟﺗﻘﺎطﻊ‬2.2.4

175 ............................................ DIFFERENCE ‫ ﻋﺎﻣل اﻟﻔرق‬3.2.4

177 .................................... Tables Update‫ ﺗﺣدﯾث اﻟﺟداول‬3.4

177 ................................................. INSERT ‫ ﺟﻣﻠﺔ اﻹدﺧﺎل‬1.3.4

185 ................................................. UPDATE ‫ ﺟﻣﻠﺔ اﻟﺗﻌدﯾل‬2.3.4

197 ................................................. DELETE ‫ ﺟﻣﻠﺔ اﻟﺣذف‬3.3.4

206 ............................... Chapter Summary ‫ ﻣﻠﺧص اﻟﻔﺻل‬4.4

209 ........................ Test Your Knowledge ‫ أﺧﺗﺑر ﻣﻌﻠوﻣﺎﺗك‬5.4

212 .............................................. Introduction ‫ اﻟﻣﻘدﻣﺔ‬1.5

213 Managing Transaction Processing ‫ إدارة ﻣﻌﺎﻟﺟﺔ اﻟﻣﻌﺎﻣﻼت‬2.5

214 ......................... Rollback ‫ وﺟﻣﻠﺔ اﻟﺗراﺟﻊ‬Commit ‫ ﺟﻣﻠﺔ اﻻﻋﺗﻣﺎد‬1.2.5

221 ............................... Stored Procedure ‫ اﻹﺟراء اﻟﻣﺧزن‬3.5

221 ................ Advantages Of Stored Procedure ‫ ﻣزاﯾﺎ اﻹﺟراء اﻟﻣﺧزن‬1.3.5

222 .......... Disadvantages Of Stored Procedure ‫ ﻋﯾوب اﻹﺟراء اﻟﻣﺧزن‬2.3.5

222 ........................Create Stored Procedure ‫ إﻧﺷﺎء اﻹﺟراء اﻟﻣﺧزن‬3.3.5

226 ....................................................... Variable ‫ اﻟﻣﺗﻐﯾر‬4.3.5

227 .................................................... Parameter ‫ اﻟﺑﺎراﻣﺗر‬5.3.5


228................................................... IN Parameter‫ ﺑﺎراﻣﺗر اﻹدﺧﺎل‬1.5.3.5
‫‪ 2.5.3.5‬ﺑﺎراﻣﺗر اﻹﺧراج‪230............................................ OUT Parameter‬‬
‫‪ 3.5.3.5‬ﺑﺎراﻣﺗر اﻹدﺧﺎل واﻹﺧراج ‪233............................. INOUT Parameter‬‬

‫‪ 6.3.5‬اﻟﺟﻣﻠﺔ اﻟﺷرطﯾﺔ ‪235 .......................................... IF Statement‬‬

‫‪ 4.5‬اﻟﻘﺎدح ‪241 .......................................................Trigger‬‬

‫‪ 1.4.5‬إﻧﺷﺎء ﻗﺎدح ‪242 ............................................. Create Trigger‬‬

‫‪ 2.4.5‬اﺳﺗﺧدام ﺧﺎﺻﯾﺔ اﻟﻘﯾﻣﺔ اﻟﺟدﯾدة ‪ NEW‬وﺧﺎﺻﯾﺔ اﻟﻘﯾﻣﺔ اﻟﻘدﯾﻣﺔ ‪244 ....... OLD‬‬

‫‪ 3.4.5‬ﻣزاﯾﺎ اﻟﻘﺎدح ‪255 .................................... Advantages of Trigger‬‬

‫‪ 4.4.5‬ﻋﯾوب اﻟﻘﺎدح ‪255 ............................... Disadvantages of Trigger‬‬

‫‪ 5.5‬ﻣﻠﺧص اﻟﻔﺻل ‪257 ............................... Chapter Summary‬‬

‫‪ 6.5‬أﺧﺗﺑر ﻣﻌﻠوﻣﺎﺗك ‪259 .......................... Test Your Knowledge‬‬

‫‪ 1.6‬اﻟﻣﻘدﻣﺔ ‪262 .............................................. Introduction‬‬

‫‪ 2.6‬اﻟﻣﻧﺎظﯾر ‪262 ...................................................... Views‬‬

‫‪ 3.6‬إﻧﺷﺎء ﻣﻧظﺎر ‪264 ......................................... Create View‬‬

‫‪ 4.6‬ﺗﻌدﯾل ﺑﻧﯾﺔ اﻟﻣﻧظﺎر ‪270 ..................... Update View Structure‬‬

‫‪ 5.6‬ﺗﻌدﯾل ﺑﯾﺎﻧﺎت اﻟﻣﻧظﺎر ‪274 ......................... Update View Data‬‬

‫‪ 6.6‬اﺳﺗﺧدام اﻟﻣﻧظﺎر ﻣﻊ ﻋﺎﻣل اﻻﺗﺣﺎد ‪280 ............................ Union‬‬

‫‪ 7.6‬ﻣزاﯾﺎ اﻟﻣﻧﺎظﯾر‪282 ........................... Advantages Of Views‬‬

‫‪ 8.6‬ﻋﯾوب اﻟﻣﻧﺎظﯾر‪283 ...................... Disadvantages Of Views‬‬


‫‪ 9.6‬ﻣﻠﺧص اﻟﻔﺻل ‪284 ............................... Chapter Summary‬‬

‫‪ 10.6‬أﺧﺗﺑر ﻣﻌﻠوﻣﺎﺗك ‪286 ....................... Test Your Knowledge‬‬

‫‪ 1.7‬اﻟﻣﻘدﻣﺔ ‪289 .............................................. Introduction‬‬

‫‪ 2.7‬ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ‪294 ................................................ mysql‬‬

‫‪ 1.2.7‬ﺟدول ‪295 ............................................................ User‬‬

‫‪ 2.2.7‬ﺟدول ‪298 .............................................................. Db‬‬

‫‪ 3.2.7‬ﺟدول ‪299 ............................................................ Host‬‬

‫‪ 4.2.7‬ﺟدول ‪301 ..................................................... Tables_priv‬‬

‫‪ 5.2.7‬ﺟدول ‪303 ................................................... Columns_priv‬‬

‫‪ 6.2.7‬اﻟﺗﻌﺎﻣل ﺑﯾن ﺟداول اﻟﻣﻧﺢ ‪304 ...................Dealing With Grant Tables‬‬

‫‪ 3.7‬إﻧﺷﺎء ﻣﺳﺗﺧدم ‪309 ....................................... Create User‬‬

‫‪ 1.3.7‬إﻧﺷﺎء ﻣﺳﺗﺧدم ﺑﺟﻣﻠﺔ ‪310 ...................................... Create User‬‬

‫‪ 2.3.7‬إﻧﺷﺎء ﻣﺳﺗﺧدم ﺑﺟﻣﻠﺔ ‪312 ............................................. Insert‬‬

‫‪ 4.7‬اﻻﺗﺻﺎل ﺑﺧﺎدم ‪314 .............................................. MySQL‬‬

‫‪ 5.7‬ﺣذف ﻣﺳﺗﺧدم ‪315 .......................................... Drop User‬‬

‫‪ 6.7‬ﺗﻐﯾﯾر ﻛﻠﻣﺔ اﻟﺳر ﻟﺣﺳﺎﺑﺎت اﻟﻣﺳﺗﺧدﻣﯾن ‪Changing Password for‬‬


‫‪316 ................................................................ Accounts‬‬

‫‪ 1.6.7‬ﺗﻐﯾﯾر ﻛﻠﻣﺔ اﻟﺳر ‪ Password‬ﺑﺎﺳﺗﺧدام ﺟﻣﻠﺔ اﻟﺗﺣدﯾث ‪317 Update Statement‬‬


319 ....SET PASSWORD Statement ‫ ﺑﺎﺳﺗﺧدام‬Password ‫ ﺗﻐﯾﯾر ﻛﻠﻣﺔ اﻟﺳر‬2.6.7

319 ...... GRANT USAGE statement ‫ ﺑﺎﺳﺗﺧدام‬Password ‫ ﺗﻐﯾﯾر ﻛﻠﻣﺔ اﻟﺳر‬3.6.7

320 ................................................ Privileges ‫ اﻻﻣﺗﯾﺎزات‬7.7

322 ........................................ GRANT Statement ‫ ﺟﻣﻠﺔ اﻟﻣﻧﺢ‬1.7.7

333 ........................................ REVOKE Statement‫ ﺟﻣﻠﺔ إﻟﻐﺎء‬2.7.7

340 ............................... Chapter Summary ‫ ﻣﻠﺧص اﻟﻔﺻل‬8.7

343 ........................ Test Your Knowledge ‫ أﺧﺗﺑر ﻣﻌﻠوﻣﺎﺗك‬9.7

344 .................................................. References ‫اﻟﻣراﺟﻊ‬

345 ................................................ Appendix A ‫اﻟﻣﻠﺣق أ‬

347 ............................................... Appendix B ‫اﻟﻣﻠﺣق ب‬

354 ............................................... Appendix C ‫اﻟﻣﻠﺣق ج‬


‫اﻟﻣﻘدﻣﺔ ‪Preface‬‬
‫ﺑﺳم اﷲ واﻟﺣﻣد ﷲ واﻟﺻﻼة واﻟﺳﻼم ﻋﻠﻰ رﺳول اﷲ‪.‬‬

‫ﯾوﺟد اﻟﻛﺛﯾر ﻣن ﻟﻐﺎت اﻟﺑرﻣﺟﺔ اﻟﺣدﯾﺛﺔ ﻓﻲ وﻗﺗﻧﺎ اﻟﺣﺎﺿر‪ ،‬واﻟﻘﻠﯾل ﻣﻧﻬﺎ ﻟﻪ ﺗﺎرﯾﺦ‬
‫ﻣﺛل ﻟﻐﺔ اﻟﺳﻲ ‪ C‬اﻟﺗﻲ ﻟﻬﺎ ﺗﺄﺛﯾر ﻛﺑﯾر ﻓﻲ ﺗطوﯾر أﻧظﻣﺔ اﻟﺗﺷﻐﯾل ‪Operating‬‬
‫‪ Systems OSs‬واﻟﺧوادم ‪ .Servers‬ﻧظﺎم اﻟﺗﺷﻐﯾل ‪ OS‬ﯾﻘوم ﺑﺈدارة اﻟﻌدﯾد‬
‫ﻣن اﻟﺑراﻣﺞ داﺧل اﻟﺣﺎﺳوب ﻣﻧﻬﺎ ﻧظﺎم إدارة ﻗواﻋد اﻟﺑﯾﺎﻧﺎت‪ ،‬واﻟذي ﺑدورﻩ ﯾدﯾر‬
‫ﻗواﻋد اﻟﺑﯾﺎﻧﺎت ‪ ،Database‬ﺣﯾث ﯾﻌﻣل ﻣﻊ ‪ OS‬ﻓﻲ اﻟوﺻول إﻟﻰ اﻟﺟداول‬
‫واﻟﺑﯾﺎﻧﺎت اﻟﺗﻲ ﺑداﺧﻠﻬﺎ وﻛذﻟك اﻟﻣﺣﺎﻓظﺔ ﻋﻠﯾﻬﺎ ﻣن اﻟوﺻول ﻏﯾر اﻵﻣن‪ .‬ﻧظﺎم‬
‫إدارة ﻗواﻋد اﻟﺑﯾﺎﻧﺎت )‪Database Management System (DBMS‬‬
‫ﯾﺳﻣﺢ ﻟﻠﻣﺳﺗﺧدم ﺑﺈﻧﺷﺎء ﻗواﻋد ﺑﯾﺎﻧﺎت وﻛذﻟك ﻣﻧﺣﻪ اﻟﻘدرة ﻋﻠﻰ ﻣﻌﺎﻟﺟﺔ اﻟﺑﯾﺎﻧﺎت‬
‫‪Access‬‬ ‫‪ ،Manipulation‬ﻛﻣﺎ ﯾدﻋم اﻟﺗﺣﻛم ﻓﻲ اﻟوﺻول إﻟﻰ اﻟﺑﯾﺎﻧﺎت‬
‫‪ Control System‬ﻣن اﻟﻣﺳﺗﺧدﻣﯾن ﻓﻲ وﻗت واﺣد‪.‬‬

‫ﯾﺳﺗﺧدم ﻧظﺎم إدارة ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ‪ DBMS‬ﻟﻐﺔ اﻻﺳﺗﻌﻼم اﻟﻬﯾﻛﻠﯾﺔ‬


‫‪ Structured Query Language SQL‬ﻓﻲ إﻧﺷﺎء ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت وﺗﺣدﯾث‬
‫واﺳﺗرﺟﺎع اﻟﺑﯾﺎﻧﺎت ﻣﻧﻬﺎ‪ .‬ﺗوﺟد أﻧواع ﻣﺧﺗﻠﻔﺔ ﻣن ﻗواﻋد اﻟﺑﯾﺎﻧﺎت واﻟﻧوع اﻷﻛﺛر‬
‫ﺷﯾوﻋﺎً ﻫﻲ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت اﻟﻌﻼﺋﻘﯾﺔ ‪ Relational Database‬واﻟﻣﺻﻣﻣﺔ‬
‫‪Data‬‬ ‫ﺑطرﯾﻘﺔ ﺗﺳﺎﻋد ﻓﻲ اﻟﺗﻌﺎﻣل ﻣﻊ اﻟﺑﯾﺎﻧﺎت وﺗﻣﻧﻊ ﺗﻛرار اﻟﺑﯾﺎﻧﺎت‬
‫‪ Redundancy‬اﻟذي ﯾﺳﺑب ﻓﻲ أﺧطﺎء اﻟﺗﺣدﯾث ‪.Update Anomalies‬‬

‫ﺗﻌﻣل ﻟﻐﺔ ‪ SQL‬ﻋﻠﻰ ﻋدد ﻫﺎﺋل ﻣن اﻟﺳﺟﻼت داﺧل ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت اﻟﻌﻼﺋﻘﯾﺔ‬
‫ﺑﺷﻛل ﺳﻬل‪ ،‬ﺣﯾث ﯾﻣﻛن اﻟوﺻول اﻟﻰ ﺳﺟﻼت ﻣﺣددة ﺣﺳب ﺷرط ﻣﻌﯾن‪ ،‬ﻓﻲ‬
‫اﳌﻘﺪﻣﺔ ‪Preface‬‬

‫اﻟوﻗت اﻟﺗﻲ ﻗد ﺗﻌﺟز ﺑﻌض أﻧظﻣﺔ ﻗواﻋد اﻟﺑﯾﺎﻧﺎت ﻏﯾر اﻟﻌﻼﺋﻘﯾﺔ ﻓﻲ اﻟﻘﯾﺎم‬
‫ﺑذﻟك‪ ،‬وﻫذا ﻫو أﺣد اﻷﺳﺑﺎب اﻟذي ﺳﺎﻋد ﻓﻲ اﺳﺗﺧدام ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت اﻟﻌﻼﺋﻘﯾﺔ‬
‫ﺣﺗﻰ اﻟوﻗت اﻟﺣﺎﺿر‪.‬‬

‫ﻟﻣﺎذا ﻧﺗﻌﻠم ﻟﻐﺔ ‪SQL‬؟‬


‫أن اﻟﺗﻌﺎﻣل ﻣﻊ اﻟﺑﯾﺎﻧﺎت اﻟﻣوﺟود ﻓﻲ ﺟداول ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت اﻟﻌﻼﺋﻘﯾﺔ ﻻﺳﺗﺧراج‬
‫اﻟﺗﻘﺎرﯾر‪ ،‬واﻟﻛﺷوﻓﺎت إﻟﺦ ﺑﺎﺳﺗﺧدام ﺑراﻣﺞ ﻣﻌﯾﻧﺔ أو اﻟﺗﻌﺎﻣل اﻟﻣﺑﺎﺷر ﻣﻊ ﻗﺎﻋدة‬
‫اﻟﺑﯾﺎﻧﺎت ﯾﺗطﻠب ﻣﻌرﻓﺔ ﻟﻐﺔ اﻟﺗﺧﺎطب ﻣﻌﻬﺎ‪ .‬ﻟﻐﺔ ‪ SQL‬ﺗﺳﺎﻋد ﻓﻲ اﻟﺗﻌﺎﻣل ﻣﻊ‬
‫ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ﺣﯾث ﺗﻘوم ﺑﺈﻧﺷﺎء ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت وﺗﻛوﯾن اﻟﺟداول ﺑداﺧﻠﻬﺎ‬
‫ٕوادﺧﺎل اﻟﺑﯾﺎﻧﺎت وﻣﻌﺎﻟﺟﺗﻬﺎ‪ ،‬ﻛﻣﺎ ﺗﻘدم ‪ SQL‬ﺑﻌض اﻟواﺟﻬﺎت اﻟﺟﺎﻫزة اﻟﺗﻲ‬
‫ﺗﺳﺎﻋد ﻓﻲ ﻋﻣﻠﯾﺔ اﻟﺗﻌﺎﻣل ﻣﻊ اﻟﺑﯾﺎﻧﺎت‪ ،‬وﺗﺗﯾﺢ إﻣﻛﺎﻧﯾﺔ ﻛﺗﺎﺑﺔ ﺟﻣل ‪SQL‬‬
‫اﻟﺧﺎﺻﺔ ﺑﺎﻟﻣﺳﺗﺧدم ﻣﺑﺎﺷرة ﻋﻠﻰ ﺟداول ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت‪.‬‬

‫ﺗﻧﻘﺳم ﻟﻐﺔ ‪ SQL‬ﻣن اﻟداﺧل إﻟﻰ ﻋدة ﻟﻐﺎت‪ ،‬ﻛل ﻟﻐﺔ ﻟﻬﺎ وظﯾﻔﺔ ﻣﻌﯾﻧﺔ ﻋﻠﻰ‬
‫‪Data Definition‬‬ ‫ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت‪ ،‬ﺣﯾث أن ﻟﻐﺔ ﺗﻌرﯾف اﻟﺑﯾﺎﻧﺎت‬
‫)‪ Language (DDL‬ﺗﺳﺗﺧدم ﻓﻲ إﻧﺷﺎء ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ٕواﻧﺷﺎء اﻟﺟداول داﺧل‬
‫ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ﻣﻊ ﺗﺣدﯾد أﻧواع اﻟﺑﯾﺎﻧﺎت واﻟﻘﯾود اﻟﻣﻔروﺿﺔ ﻋﻠﻰ ﻫذﻩ اﻟﺑﯾﺎﻧﺎت‪.‬‬
‫وﺗﻘوم ﻟﻐﺔ ﻣﻌﺎﻟﺟﺔ اﻟﺑﯾﺎﻧﺎت)‪Data Manipulation Language (DML‬‬
‫ﺑﻣﻌﺎﻟﺟﺔ اﻟﺑﯾﺎﻧﺎت داﺧل اﻟﺟداول ﻣن إدﺧﺎل‪ ،‬وﺗﻌدﯾل‪ ،‬وﺣذف واﺳﺗرﺟﺎع‬
‫ﻟﻠﺑﯾﺎﻧﺎت‪ .‬ﻛﻣﺎ ﺗﻘوم ﻟﻐﺔ اﻟﺗﺣﻛم واﻟﺻﻼﺣﯾﺎت ‪Data Control Language‬‬
‫)‪ (DCL‬ﺑﻣﻧﺢ اﻣﺗﯾﺎزات )ﺻﻼﺣﯾﺎت( ﻟﻣﺳﺗﺧدﻣﻲ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت‪.‬‬

‫‪2‬‬
‫اﳌﻘﺪﻣﺔ ‪Preface‬‬

‫ﻟﻠﺗﻌﺎﻣل ﻣﻊ ﻟﻐﺔ ‪ SQL‬ﯾﺟب ﻓﻬم اﻣﻛﺎﻧﯾﺎت اﻟﻠﻐﺔ وﻛﯾﻔﯾﺔ اﻻﺳﺗﻔﺎدة ﻣﻧﻬﺎ‬


‫ﻟﻠﺣﺻول ﻋﻠﻰ ﻧﺗﺎﺋﺞ ﺻﺣﯾﺣﺔ‪ .‬ﺗوﺟد اﻟﻌدﯾد ﻣن ﺑراﻣﺞ إدارة ﻗواﻋد اﻟﺑﯾﺎﻧﺎت‬
‫‪Relational‬‬ ‫‪Database‬‬ ‫‪Management‬‬ ‫‪Systems‬‬ ‫اﻟﻌﻼﺋﻘﯾﺔ‬
‫)‪ (RDBMSs‬اﻟﻣﺳؤوﻟﺔ ﻋﻠﻰ إدارة ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ‪ ،Database‬أﺛﻧﺎء ﻋرض‬
‫اﻷﻣﺛﻠﺔ ﻓﻲ ﻫذا اﻟﻛﺗﺎب ﺳﻧﺗطرق أﺣﯾﺎﻧﺎ ﻟﻛﺗﺎﺑﺔ أواﻣر ﻟﻐﺔ ‪ SQL‬ﺑﺄﻛﺛر ﻣن‬
‫ﺑرﻧﺎﻣﺞ ﻟﻧظﺎم إدارة ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ‪ DBMS‬ﻣﺛل ‪ Oracle ،MySQL‬أو ‪SQL‬‬
‫‪ Server‬إﻟﺦ‪ .‬ﺳﯾﻛون اﻟﺗرﻛﯾز أﻛﺛر ﻋﻠﻰ ﻧظﺎم إدارة ﻗواﻋد اﻟﺑﯾﺎﻧﺎت ‪.MySQL‬‬

‫ﺟﺎء ﻫذا اﻟﻛﺗﺎب ﻣن أﺟل ﺗوﻓﯾر ﻛﺗﺎب ﻣﻧﻬﺟﻲ ﻟﻘواﻋد اﻟﺑﯾﺎﻧﺎت اﻟﻣﺗﻘدﻣﺔ‬
‫‪ Advanced Database‬ﯾﻐطﻲ ﻓﺻﻠﯾن دراﺳﯾن‪ .‬ﯾﺗﺣدث اﻟﻛﺗﺎب ﻋﻠﻰ ﻟﻐﺔ‬
‫اﻻﺳﺗﻌﻼم اﻟﻬﯾﻛﻠﯾﺔ ‪ SQL‬واﻟﺗﻲ ﺗﻌﺗﺑر أﺳﺎس أﻧظﻣﺔ ﻗواﻋد اﻟﺑﯾﺎﻧﺎت‪ ،‬ﺣﯾث ﯾﺷرح‬
‫ﺑﺎﻟﺗﻔﺻﯾل أواﻣرﻫﺎ وﻛﯾﻔﯾﺔ اﺳﺗﺧداﻣﻬﺎ ﺑﺎﻷﻣﺛﻠﺔ وﯾوﻓر ﻣﻧﻬﺟﯾﺔ واﺿﺣﺔ ﻣﺳﺎﻋدة‬
‫اﻟﻣﺑرﻣﺟﯾن واﻟطﻼب واﻟﻣﺳﺗﺧدﻣﯾن واﻟﻬواة ﻓﻲ ﻛﯾﻔﯾﺔ اﻟﺣﺻول ﻋﻠﻰ اﻟﻣﻌﻠوﻣﺎت‬
‫ﻣن ﺟداول ﻗواﻋد اﻟﺑﯾﺎﻧﺎت وﻛﯾﻔﯾﺔ ﻣﻧﺢ اﻣﺗﯾﺎزات )ﺻﻼﺣﯾﺎت( ﻣﺣددة‬
‫ﻟﻠﻣﺳﺗﺧدﻣﯾن ﻓﻲ اﻟوﺻول إﻟﻰ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت واﻟﻌﻣل ﻋﻠﯾﻬﺎ وﻛﯾﻔﯾﺔ إﻟﻐﺎء ﻫذﻩ‬
‫اﻻﻣﺗﯾﺎزات‪.‬‬

‫ﺗﻧظﯾم اﻟﻛﺗﺎب ‪Organization of Book‬‬


‫ﯾﻧﻘﺳم ﻫذا اﻟﻛﺗﺎب إﻟﻰ ﺳﺑﻌﺔ ﻓﺻول وﺛﻼﺛﺔ ﻣﻼﺣق‪:‬‬

‫اﻟﻔﺻل اﻷول ﯾوﺿﺢ ﻗواﻋد اﻟﺑﯾﺎﻧﺎت اﻟﻌﻼﺋﻘﯾﺔ ‪،Relational Database‬‬


‫وﯾﻘدم ﺑﻌض اﻟﻣﺻطﻠﺣﺎت اﻟﻣﺗﻌﻠﻘﺔ ﺑﻬﺎ ﻣﺛل اﻟﻛﯾﺎن واﻟﺧﺎﺻﯾﺔ واﻟﻣﻔﺗﺎح اﻻﺟﻧﺑﻲ‪،‬‬

‫‪3‬‬
‫اﳌﻘﺪﻣﺔ ‪Preface‬‬

‫ﺛم ﯾﻌرف ﻟﻐﺔ اﻻﺳﺗﻌﻼم اﻟﻬﯾﻛﻠﯾﺔ ‪ SQL‬وﯾﺑﯾن ﻟﻣﺎذا ﺗم دﻣﺞ أواﻣر اﻟﻠﻐﺎت‬
‫اﻻﺟراﺋﯾﺔ )ﻣﺛل دوال اﻟﺷرط ‪ (If-else ،Case‬ﻣﻊ أواﻣرﻫﺎ‪ .‬ﺛم ﯾوﺿﺢ ﻛﯾﻔﯾﺔ‬
‫اﺳﺗﺧدام اﻟﺗﻌﻠﯾﻘﺎت ‪ Comments‬ﺿﻣن أواﻣر ‪ ،SQL‬وﯾﺗطرق إﻟﻰ أﻧواع‬
‫اﻟﺑﯾﺎﻧﺎت ‪ Data Types‬اﻷرﺑﻌﺔ اﻟرﻗﻣﯾﺔ ‪ Numeric‬واﻟﻧﺻﯾﺔ ‪ Text‬واﻟﻣﻧطﻘﯾﺔ‬
‫‪ Boolean‬واﻟﺗﺎرﯾﺦ واﻟوﻗت ‪ ،Date and Time‬ﺛم ﯾﺑدأ ﻓﻲ ﺗوﺿﯾﺢ أﻣر إﻧﺷﺎء‬
‫ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت واﺳﺗﺧداﻣﻬﺎ ﺛم ﺣذﻓﻬﺎ‪ .‬وﺗوﺿﯾﺢ ﻛﯾف ﯾﺗم ﺗﻛوﯾن اﻟﺟدول داﺧل‬
‫ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت وﺗﺣدﯾد اﻟﺧﺻﺎﺋص واﻟﻣﻔﺗﺎح اﻟرﺋﯾﺳﻲ واﻻﺟﻧﺑﻲ وﻓرض ﺑﻌض‬
‫اﻟﻘﯾود‪ ،‬وﻛﯾف ﯾﺗم ﺗﻌدﯾل ﻓﻲ ﺑﻧﯾﺔ اﻟﺟدول وﻛﯾﻔﯾﺔ ﺣذﻓﻪ‪ .‬ﺛم ﯾﺗﻛﻠم ﺑﺷﻛل ﻣﺧﺗﺻر‬
‫ﻋﻠﻰ اﻟﻔﻬرس ‪ ،Index‬وﯾﺑﯾن ﻛﯾف ﯾﺗم إﻧﺷﺎء اﻟﻔﻬرس ﻟﺟدول ﺑﻧﺎء ﻋﻠﻰ ﺧﺎﺻﯾﺔ‬
‫ﻣﻌﯾﻧﺔ وﺗرﺗﯾب اﻟﻔﻬرس ﺗﺻﺎﻋدﯾﺎ أو ﺗﻧﺎزﻟﯾﺎ‪ ،‬وﻛﯾف ﯾﺗم ﺣذف اﻟﻔﻬرس‪ ،‬ﻣﻊ وﺟود‬
‫ﺑﻌض اﻟﺗﻧﺑﯾﻬﺎت اﻟواﺟب اﻟﺗرﻛﯾز ﻋﻠﯾﻬﺎ ﻋﻧد ﺗﻧﻔﯾذ اﻷﻣر‪.‬‬

‫اﻟﻔﺻل اﻟﺛﺎﻧﻲ ﯾﻘدم ﺗرﻛﯾﺑﺔ ﺟﻣﻠﺔ اﺳﺗرﺟﺎع وﻋرض اﻟﺑﯾﺎﻧﺎت ‪Retrieving Data‬‬
‫ﻣن اﻟﺟداول‪ ،‬وﯾﺑﯾن ﺗرﻛﯾﺑﺔ ﺟﻣﻠﺔ اﻻﺳﺗرﺟﺎع ‪ SELECT‬وﻛﯾﻔﯾﺔ اﺳﺗﺧداﻣﻬﺎ ﻣﻊ‬
‫ﺟﻣﻠﺔ ﺗﺻﻔﯾﺔ اﻟﺳﺟﻼت ‪ WHERE‬وﺟﻣﻠﺔ اﻟﺗرﺗﯾب ‪ ORDER BY‬وﺟﻣﻠﺔ إزاﻟﺔ‬
‫اﻟﺗﻛرار ‪ ،DISTINCT‬ﺛم ﯾﻧﺗﻘل إﻟﻰ دوال اﻟﺗﺟﻣﯾﻊ ‪Aggregate Functions‬‬
‫اﻟﺗﻲ ﺗﺳﺗﺧدم ﻓﻲ ﺗﻠﺧﯾص اﻟﺑﯾﺎﻧﺎت ﻣﺛل داﻟﺔ اﻟﺟﻣﻊ ‪ SUM‬وداﻟﺔ اﻟﻌد‬
‫‪ COUNT‬وداﻟﺔ أﻋﻠﻰ ﻗﯾﻣﺔ ‪ MAX‬ﺛم ﯾوﺿﺢ ﻛﯾﻔﯾﺔ اﻻﺳﺗﻔﺎدة ﻣن ﻫذﻩ اﻟدوال‬
‫ﻣﻊ ﺟﻣﻠﺔ اﻟﺗﺟﻣﯾﻊ ‪ GROUP BY‬اﻟذي ﯾﻘوم ﺑﺗﺟﻣﯾﻊ اﻟﺳﺟﻼت ﻋﻠﻰ ﺷﻛل‬
‫ﻣﺟﻣوﻋﺎت ﻋﻠﻰ ﺣﺳب ﻗﯾﻣﺔ ﺧﺎﺻﯾﺔ ﻣﻌﯾﻧﺔ‪ ،‬وﯾﺑﯾن ﻛﯾف ﯾﺗم ﻓرز )ﺗﺻﻔﯾﺔ( ﻫذﻩ‬
‫اﻟﻣﺟﻣوﻋﺎت ﻋن طرﯾق ﺟﻣﻠﺔ ‪ HAVING‬ﻣﻊ اﻣﻛﺎﻧﯾﺔ ﺗرﺗﯾب ﻫذﻩ اﻟﻣﺟﻣوﻋﺎت‬
‫ﺗﺻﺎﻋدﯾﺎ أو ﺗﻧﺎزﻟﯾﺎ ﺑﻣﺷﺎرﻛﺔ ﺟﻣﻠﺔ اﻟﺗرﺗﯾب ‪.ORDER BY‬‬

‫‪4‬‬
‫اﳌﻘﺪﻣﺔ ‪Preface‬‬

‫اﻟﻔﺻل اﻟﺛﺎﻟث ﯾرﻛز ﻋﻠﻰ اﻻﺳﺗﻌﻼم اﻟﻔرﻋﻲ ‪ Subquery‬واﻟرﺑط ‪ JOIN‬ﺣﯾث‬


‫ﯾﺳﺗﺧدم اﻷول ﻓﻲ ﻋرض ﺑﯾﺎﻧﺎت ﺟدول ﺑﻧﺎء ﻋﻠﻰ ﺑﯾﺎﻧﺎت ﺟدول آﺧر‪ ،‬وﯾﻘوم‬
‫اﻟﺛﺎﻧﻲ ﺑﻌرض ﺧﺻﺎﺋص أﻛﺛر ﻣن ﺟدول‪ ،‬ﺣﯾث ﯾﺑﯾن ﻓﻲ اﻟﺑداﯾﺔ أﻧواع‬
‫اﻻﺳﺗﻌﻼم اﻟﻔرﻋﻲ اﻟذي ﯾﺳﻣﻰ اﻻﺳﺗﻌﻼم اﻟداﺧﻠﻲ ‪ ،Inner Query‬ﺣﯾث ﯾﺑﯾن‬
‫اﻟﻧوع اﻷول ﻋﻧدﻣﺎ ﯾرﺟﻊ اﻻﺳﺗﻌﻼم اﻟﻔرﻋﻲ ﺧﺎﺻﯾﺔ واﺣد وﺳﺟل واﺣد‪ ،‬ﺛم اﻟﻧوع‬
‫اﻟﺛﺎﻧﻲ ﻋﻧدﻣﺎ ﯾرﺟﻊ اﻻﺳﺗﻌﻼم اﻟﻔرﻋﻲ ﺧﺎﺻﯾﺔ واﺣدة وأﻛﺛر ﻣن ﺳﺟل‪ ،‬واﻟﻧوع‬
‫اﻟﺛﺎﻟث ﻋﻧدﻣﺎ ﯾرﺟﻊ اﻻﺳﺗﻌﻼم اﻟﻔرﻋﻲ ﻋدة ﺧﺻﺎﺋص وأﻛﺛر ﻣن ﺳﺟل‪ .‬ﺛم ﯾﻧﺗﻘل‬
‫ﻟﺗوﺿﯾﺢ ﻛﯾﻔﯾﺔ رﺑط اﻟﺟداول ‪ Joining Tables‬ﻟﻌرض ﺧﺻﺎﺋص أﻛﺛر ﻣن‬
‫ﺟدول ﻣﻌﺎ ﻓﻲ ﻧﺗﯾﺟﺔ واﺣدة‪ ،‬وﯾﺑﯾن أﻧواع اﻟرﺑط اﻟﻣﺗﻣﺛﻠﺔ ﻓﻲ اﻟرﺑط اﻟداﺧﻠﻲ‬
‫‪ ،INNER JOIN‬ﺛم رﺑط اﻟﺟدول ﺑﻧﻔﺳﻪ ‪ SELF-JOINS‬وﯾﻧﺗﻘل إﻟﻰ ﻋرض‬
‫أﻧواع اﻟرﺑط اﻟﺧﺎرﺟﻲ ‪ ،OUTER JOIN‬ﻣﻊ ﻋرض ﻣﺛﺎل ﺗوﺿﯾﺣﻲ ﻟﻬم‪.‬‬

‫اﻟﻔﺻل اﻟراﺑﻊ ﯾﺗﻧﺎول ﻛﯾﻔﯾﺔ دﻣﺞ اﻻﺳﺗﻔﺳﺎرات ‪Combining Queries‬‬


‫وﺗﺣدﯾث اﻟﺟداول ‪ ،Update Tables‬ﺣﯾث ﯾﻧﺎﻗش ﻓﻲ اﻟﺑداﯾﺔ ﻛﯾف ﯾﺗم دﻣﺞ‬
‫اﻻﺳﺗﻔﺳﺎرات ﻣن أﻛﺛر ﻣن ﺟدول ﺑﺎﺳﺗﺧدام ﻋواﻣل )اﻻﺗﺣﺎد ‪ ،Union‬اﻟﺗﻘﺎطﻊ‬
‫‪ ،Intersect‬اﻟﻔرق ‪ ،(Difference‬وﯾﺑﯾن اﻟﺷروط اﻟواﺟب ﺗوﻓرﻫﺎ ﻹﺗﻣﺎم ﻋﻣﻠﯾﺔ‬
‫اﻟدﻣﺞ ﻣﻊ ﺗوﺿﯾﺢ اﻟﺻﯾﻐﺔ اﻟﻌﺎﻣﺔ ﻟﻬذﻩ اﻟﻌواﻣل واﻋطﺎء ﻣﺛﺎل ﺗوﺿﯾﺣﻲ ﻟﻬﺎ‪ .‬ﺛم‬
‫ﯾﻧﺗﻘل إﻟﻰ ﻛﯾﻔﯾﺔ ﺗﺣدﯾث اﻟﺑﯾﺎﻧﺎت داﺧل اﻟﺟداول ‪Tables Update‬ﻋن طرﯾق‬
‫ﺟﻣل )اﻹدﺧﺎل ‪ INSERT‬واﻟﺗﻌدﯾل ‪ UPDATE‬واﻟﺣذف ‪ ،(DELETE‬ﺣﯾث‬
‫ﯾوﺿﺢ أﻛﺛر ﻣن طرﯾق ﻟﻌﻣﻠﯾﺔ اﻹدﺧﺎل ﻓﻲ اﻟﺟدول‪ ،‬ﺛم ﯾﺑﯾن ﻛﯾف ﯾﺗم اﻟدﻣﺞ‬
‫ﺑﯾن ﺟﻣﻠﺔ اﻹدﺧﺎل وﺟﻣﻠﺔ اﻟﺗﻌدﯾل ﻋﻧد إدﺧﺎل اﻟﺑﯾﺎﻧﺎت‪ .‬ﻛﻣﺎ ﯾوﺿﺢ ﺑﻌض‬
‫اﻹرﺷﺎدات اﻟواﺟب اﺗﺑﺎﻋﻬﺎ ﻋﻧد اﺳﺗﺧدام ﺟﻣﻠﺔ اﻟﺗﻌدﯾل واﻟﺣذف‪.‬‬

‫‪5‬‬
‫اﳌﻘﺪﻣﺔ ‪Preface‬‬

‫واﻹﺟراء‬ ‫‪Transaction‬‬ ‫اﻟﻣﻌﺎﻣﻠﺔ‬ ‫ﻋﻠﻰ‬ ‫ﯾﺗﺣدث‬ ‫اﻟﺧﺎﻣس‬ ‫اﻟﻔﺻل‬


‫ﯾﺑدأ اﻟﻔﺻل‬ ‫‪،Trigger‬‬ ‫اﻟﻣﺧزن ‪ Stored Procedure‬واﻟﻘﺎدح‬
‫ﺑﺎﻟﻣﻌﺎﻣﻼت ‪ Transaction‬وأﻫﻣﯾﺗﻬﺎ ﺛم ﯾﺑﯾن اﻟﺧﺻﺎﺋص ‪ ACID‬ﻹﺑﻘﺎء‬
‫اﻟﻣﻌﺎﻣﻼت ﺗﺗم ﺑطرﯾﻘﺔ ﺻﺣﯾﺣﺔ ﻓﻲ ﺣﺎﻟﺔ ﻓﺷل اﻟﻧظﺎم‪ ،‬وﯾﺷرح اﺳﺗﺧدام ﺟﻣﻠﺗﻲ‬
‫اﻻﻋﺗﻣﺎد ‪ COMMIT‬ﻓﻲ اﻋﺗﻣﺎد ﺗﺧزﯾن اﻟﺑﯾﺎﻧﺎت داﺧل ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت واﻟﺗراﺟﻊ‬
‫‪ ROLLBACK‬ﻓﻲ ﺣﺎﻟﺔ اﻟﺗراﺟﻊ ﻋن اﻟﺗﺧزﯾن‪ .‬ﺛم ﯾﻧﺗﻘل إﻟﻰ اﻻﺟراءات‬
‫اﻟﻣﺧزﻧﺔ ‪ STORED PROCEDURES‬وﯾﺑﯾن ﻣزاﯾﺎﻫﺎ وﻋﯾوﺑﻬﺎ‪ ،‬وﯾوﺿﺢ‬
‫ﺗرﻛﯾﺑﺗﻬﺎ ﻓﻲ أﻛﺛر ﻣن ﻧظﺎم إدارة ﻗواﻋد اﻟﺑﯾﺎﻧﺎت وﻛﯾﻔﯾﺔ اﺳﺗﺧداﻣﻬﺎ واﻻﺳﺗﻔﺎدة‬
‫ﻣﻧﻬﺎ‪ ،‬وﯾوﺿﺢ اﺳﺗﺧدام اﻟﻣﺗﻐﯾرات ‪ Variables‬ﻣﻌﻬﺎ وأﻧواع اﻟﺑﺎراﻣﺗرات‬
‫‪ Parameters‬اﻟﺛﻼﺛﺔ ‪ INOUT ،OUT ،IN‬وﻛﯾﻔﯾﺔ اﻟﺗﻌﺎﻣل ﻣﻌﻬﺎ داﺧل‬
‫اﻻﺟراء وﺧﺎرﺟﻪ‪ ،‬ﺛم ﯾﺑﯾن اﺳﺗﺧدام ﺟﻣﻠﺔ ‪ IF‬اﻟﺷرطﯾﺔ داﺧل اﻻﺟراء‪ .‬ﺛم ﯾﻧﺗﻘل‬
‫إﻟﻰ ﺗﻌرﯾف اﻟﻘﺎدح ‪ TRIGGER‬اﻟذي ﯾﺧزن ﻣﻊ اﻟﺟداول داﺧل ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت‬
‫ﻣﺛل اﻹﺟراء اﻟﻣﺧزن‪ ،‬وﯾﺑﯾن ﻛﯾف ﯾﺗم اﻧﺷﺎﺋﻪ‪ ،‬وﯾوﺿﺢ ﻛﯾف ﯾﺷﺗﻐل ﺑﺷﻛل‬
‫ﺗﻠﻘﺎﺋﻲ ﻋﻧد اﻟﻘﯾﺎم ﺑﻌﻣﻠﯾﺔ اﻹدﺧﺎل‪ ،‬واﻟﺗﺣدﯾث أو اﻟﺣذف‪ ،‬وﯾوﺿﺢ اﺳﺗﺧدام‬
‫ﻋﺎﻣﻠﻲ ‪ OLD ,NEW‬ﻣﻊ اﻟﻘﺎدح اﻟﺗﻲ ﺗُﺳﺗﺧدم ﻟﻠوﺻول إﻟﻰ ﻗﯾم اﻟﺧﺻﺎﺋص‬
‫ﻓﻲ اﻟﺟدول ﻗﺑل وﺑﻌد اﻟﺗﺣدﯾث ﻓﻲ اﻟﺟدول‪ ،‬واﺧﯾ ار ﯾﺑﯾن ﻣزاﯾﺎ وﻋﯾوب اﻟﻘﺎدح‪.‬‬

‫اﻟﻔﺻل اﻟﺳﺎدس ﯾﺷرح اﻟﺟدول اﻻﻓﺗراﺿﯾﺔ ‪ Virtual Table‬اﻟذي ﯾﺗم ﺗﻛوﯾﻧﻪ ﻣن‬
‫ﺳﺟﻼت ﺟداول ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت واﻟذي ﯾﺳﻣﻰ اﻟرؤى )اﻟﻣﻧﺎظﯾر( ‪،VIEWS‬‬
‫وﯾﺑﯾن ﺑﻌض اﻻرﺷﺎدات اﻟواﺟب اﺗﺑﺎﻋﻬﺎ ﻗﺑل اﻟﺑدء ﻓﻲ إﻧﺷﺎء اﻟﻣﻧظﺎر‪ ،‬وﯾوﺿﺢ‬
‫ﻛﯾف ﯾﺗم اﻟﺗﻌدﯾل ﻓﻲ ﺑﻧﯾﺔ اﻟﻣﻧظﺎر‪ ،‬وﻣﺎذا ﯾﺣدث ﻓﻲ ﺑﯾﺎﻧﺎت اﻟﺟدول ﻋﻧد‬
‫اﻟﺗﻌدﯾل ﻓﻲ ﺑﯾﺎﻧﺎت اﻟﻣﻧظﺎر وﺑﺎﻟﻌﻛس‪ ،‬وﻣﺎﻫﻲ اﻟﺷروط اﻟواﺟب ﺗوﻓرﻫﺎ ﻓﻲ‬

‫‪6‬‬
‫اﳌﻘﺪﻣﺔ ‪Preface‬‬

‫اﻟﻣﻧظﺎر‪ ،‬ﻣﻊ ﻋرض أﻣﺛﻠﺔ ﺗوﺿﺢ ذﻟك‪ ،‬ﺛم ﯾوﺿﺢ ﻣزاﯾﺎ وﻋﯾوب اﻟﻣﻧظﺎر‪ ،‬وﻛﯾف‬
‫ﯾﺗم ﻋرض ﺗرﻛﯾﺑﺔ اﻟﻣﻧظﺎر وﻛﯾف ﯾﺗم ﺣذﻓﻪ‪.‬‬

‫اﻟﻔﺻل اﻟﺳﺎﺑﻊ ﯾﻔﺣص أﻣن ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ‪ Database Security‬واﻟﺗﺣﻛم ﻓﻲ‬


‫اﻟوﺻول إﻟﯾﻬﺎ ‪ Access Control‬ﺑﺎﻟﻣﺣﺎﻓظﺔ ﻋﻠﯾﻬﺎ ﻣن اﻻﺧﺗراق واﻟﺗﻼﻋب‬
‫واﻟﺗﻬدﯾدات اﻟﺗﻲ ﺗﺗﻌﻠق ﺑﻔﻘدان اﻟﺗﻛﺎﻣل ‪ Integrity‬واﻟﺗوﻓر ‪Availability‬‬
‫واﻟﺳرﯾﺔ ‪ ،Secrecy‬ﻛﻣﺎ ﯾﻣﻧﻊ اﻟﻣﺳﺗﺧدﻣﯾن ﻏﯾر اﻟﻣﺧوﻟﯾن ﻣن اﻟدﺧول ﻟﻧظﺎم‬
‫ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت‪ ،‬وﯾﺑﯾن ﺗرﻛﯾﺑﺔ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ‪ mysql‬اﻟﺧﺎﺻﺔ ﺑﻧظﺎم ادارة ﻗواﻋد‬
‫اﻟﺑﯾﺎﻧﺎت ‪ MySQL‬اﻟﺗﻲ ﺗﺳﺗﺧدم ﻓﻲ ﺗﺣدﯾد إﻣﻛﺎﻧﯾﺔ وﺻول اﻟﻣﺳﺗﺧدم ﻟﻘواﻋد‬
‫اﻟﺑﯾﺎﻧﺎت وﯾﺑﯾن ﺟداول اﻟﻣﻧﺢ اﻟﺗﻲ ﺑداﺧﻠﻬﺎ وﻛﯾف ﯾﻘوم ﻧظﺎم إدارة ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت‬
‫ﺑﺎﻟﺗﻌﺎﻣل ﻣﻌﻬﺎ ﻟﻠﺳﻣﺎح ﺑﺗﻧﻔﯾذ اﻟﺟﻣﻠﺔ أو رﻓﺿﻬﺎ‪ ،‬ﺛم ﯾوﺿﺢ ﻛﯾﻔﯾﺔ اﻧﺷﺎء‬
‫ﻣﺳﺗﺧدﻣﯾن ﺑطرق ﻣﺧﺗﻠﻔﺔ‪ ،‬وﻛﯾف ﯾﺗم ﺣذﻓﻬم‪ .‬وﯾوﺿﺢ ﻛﯾف ﯾﺗم ﺗﻐﯾﯾر ﻛﻠﻣﺔ‬
‫اﻟﺳر ﻟﻠﻣﺳﺗﺧدم ﺑﻌدة طرق‪ .‬وﯾﺷرح ﻛﯾف ﯾﺗم ﻣﻧﺢ اﻣﺗﯾﺎزات ﻟﻠﻣﺳﺗﺧدم وﻛﯾﻔﯾﺔ‬
‫ﻣﻧﺣﻬﺎ ﻟﻣﺳﺗﺧدﻣﯾن آﺧرﯾن‪ .‬ﺛم ﯾوﺿﺢ ﻛﯾف ﯾﺗم إﻟﻐﺎء ﻫذﻩ اﻻﻣﺗﯾﺎزات ﻣن‬
‫اﻟﻣﺳﺗﺧدم‪ ،‬وﺗﺗﺑﻊ إﻟﻐﺎء ﻫذﻩ اﻻﻣﺗﯾﺎزات ﻣن اﻟﻣﺳﺗﺧدﻣﯾن اﻵﺧرﯾن‪.‬‬

‫اﻟﻣﻼﺣق ‪Appendices‬‬
‫اﻟﻣﻠﺣق أ ﯾﺑﯾن ﻣﺧطط ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت اﻟﻌﻼﺋﻘﯾﺔ ‪Relational Database‬‬
‫‪ Schemas‬اﻟﻣﺳﺗﺧدﻣﺔ ﻓﻲ ﻫذا اﻟﻛﺗﺎب‪.‬‬

‫اﻟﻣﻠﺣق ب ﯾﻘدم ﻗﺎﻣوس ‪ Dictionary‬إﻧﺟﻠﯾزي‪-‬ﻋرﺑﻲ ﻟﻠﻣﺻطﻠﺣﺎت اﻟﻣﺳﺗﺧدﻣﺔ‬


‫داﺧل ﻓﺻول اﻟﻛﺗﺎب‪ ،‬ﻣرﺗﺑﺔ أﺑﺟدﯾﺎً ﺗﺻﺎﻋدﯾﺎً ﻋﻠﻰ اﻟﺣروف اﻹﻧﺟﻠﯾزﯾﺔ‪.‬‬

‫‪7‬‬
‫اﳌﻘﺪﻣﺔ ‪Preface‬‬

‫اﻟﻣﻠﺣق ج ﯾﺣﺗوي ﻋﻠﻰ إﺟﺎﺑﺔ أﺧﺗﺑر ﻣﻌﻠوﻣﺎﺗك ‪Test Your Knowledge‬‬


‫اﻟﻣوﺟودة ﻓﻲ ﻧﻬﺎﯾﺔ ﻛل ﻓﺻل‪ ،‬ﻫذﻩ اﻷﺳﺋﻠﺔ ﻣن ﻧوﻋﯾن‪ ،‬ﻧوع ﻣﻘﺎﻟﻲ وﻧوع آﺧر‬
‫ﻓﻲ ﺷﻛل اﺳﺗﻔﺳﺎرات‪ ،‬ﺗم وﺿﻊ ﺣل ﻟﻸﺳﺋﻠﺔ ﻏﯾر اﻟﻣﻘﺎﻟﯾﺔ )اﻟﺗﺣﻠﯾﻠﯾﺔ( ﺑﺎﻟﻣوﻗﻊ‬
‫ﻋﻠﻰ اﻟراﺑط ‪.https://hassanebrahem.com.ly/books/‬‬

‫اﻟﻣراﺟﻊ ‪References‬‬
‫ﺗﺣﺗوي اﻟﻣراﺟﻊ ﻋﻠﻰ اﻟﻛﺗب اﻟﺗﻲ ﺗم اﻻﻋﺗﻣﺎد ﻋﻠﯾﻬﺎ ﻓﻲ ﺗﺄﻟﯾف ﻫذا اﻟﻛﺗﺎب‪.‬‬

‫ﻛﯾف ﺗﺗواﺻل ﻣﻌﻲ ‪Contact Me‬‬


‫آﻣل إرﺳﺎل اﻟﺗﻌﻠﯾﻘﺎت واﻷﺳﺋﻠﺔ اﻟﻣﺗﻌﻠﻘﺔ ﺑﺎﻟﻛﺗﺎب ﻋﺑر اﻟﺻﻔﺣﺔ اﻟﺧﺎﺻﺔ ﺑﺎﻟﻣوﻗﻊ‬
‫ﻋﻠﻰ اﻟراﺑط ‪.https://hassanebrahem.com.ly/contact-me/‬‬

‫ﻛﻣﺎ ﯾﻣﻛن اﻟﺣﺻول ﻋﻠﻰ ﺑﻌض ﺗﻔﺎﺻﯾل اﻟﻛﺗﺎب ﻋﺑر اﻟﺻﻔﺣﺔ اﻟﺧﺎﺻﺔ ﺑﺎﻟﻛﺗﺎب‬
‫ﺑﺎﻟﻣوﻗﻊ ﻋﻠﻰ اﻟراﺑط ‪.https://hassanebrahem.com.ly/books/‬‬

‫أﻋﺿﺎء ﻫﯾﺋﺔ اﻟﺗدرﯾس واﻟﻣﻬﺗﻣﯾن اﻟذﯾن ﯾرﻏﺑون ﻓﻲ اﺳﺗﺧدام ﻫذا اﻟﻛﺗﺎب ﻓﻲ‬
‫ﺗدرﯾس ﻟﻐﺔ اﻻﺳﺗﻌﻼم اﻟﻬﯾﻛﻠﯾﺔ ﻓﻲ اﻟﻔﺻول اﻟدراﺳﯾﺔ وﯾرﯾدون اﻟﺣﺻول ﻋﻠﻰ‬
‫ﺷراﺋﺢ اﻟﻌرض اﻟﺧﺎﺻﺔ ﺑﺎﻟﻛﺗﺎب ﻓﻲ ﻣﻠف ﻧوع ‪ ،PowerPoint‬ﯾﺗم اﻟﻣراﺳﻠﺔ‬
‫اﻟﺗﺎﻟﻲ‬ ‫اﻟراﺑط‬ ‫ﻋﻠﻰ‬ ‫ﺑﻲ‬ ‫اﺗﺻل‬ ‫ﺻﻔﺣﺔ‬ ‫ﻋﺑر‬
‫‪ ،https://hassanebrahem.com.ly/contact-me/‬ﻛﻣﺎ ﯾوﺟد ﺷرح‬
‫ﻣرﻓق ﻣﻊ اﻟﻣﺣﺎﺿرات ﻓﻲ ﺷﻛل ﻣﻠﻔﺎت ﺻوﺗﯾﺔ‪.‬‬

‫‪8‬‬
‫اﳌﻘﺪﻣﺔ ‪Preface‬‬

‫ﻟﻣزﯾد ﻣن اﻟﻣﻌﻠوﻣﺎت ﺣول اﻟﻛﺗب‪ ،‬وﻣراﻛز اﻟﺗوزﯾﻊ راﺟﻊ ﻣوﻗﻊ اﻟوﯾب ﻋﻠﻰ اﻟراﺑط‬
‫‪.https://hassanebrahem.com.ly/books/‬‬

‫اﻟﻣﺻطﻠﺣﺎت اﻟﻣﺳﺗﺧدﻣﺔ ﻓﻲ ﻫذا اﻟﻛﺗﺎب ‪Terms used in this book‬‬


‫ﺗم اﺳﺗﺧدام اﻟﻣﺻطﻠﺣﺎت اﻟﺗﺎﻟﯾﺔ ﻓﻲ ﻫذا اﻟﻛﺗﺎب‪ :‬ﺣروف اﻧﺟﻠﯾزﯾﺔ ﻛﺑﯾرة‬
‫ﻟﻼﺧﺗﺻﺎرات ﻣﺛل ‪ SQL‬أو اﻟﻛﻠﻣﺎت اﻟﻣﺣﺟوزة ﻟﻠﻐﺔ ‪ SQL‬ﻣﺛل ﺟﻣﻠﺔ‬
‫‪ SELECT‬و‪ ،JOIN‬وﺗم اﺳﺗﺧدام اﻻﻗواس ﻟﺑﻌض اﻟﻛﻠﻣﺎت اﻟﻌرﺑﯾﺔ اﻟﺗﻲ ﺗدل‬
‫ﻋﻠﻰ ﻧﻔس اﻟﻣﻌﻧﻰ ﻟﻠﻛﻠﻣﺔ ﻣﺛل ﻛﻠﻣﺔ ﺻﻼﺣﯾﺎت )اﻣﺗﯾﺎزات(‪.‬‬

‫اﺳﺗﺧدام ﻫذا اﻟﻛﺗﺎب ‪Use this book‬‬


‫ﯾﻣﻛﻧك اﺳﺗﺧدام اﺳم ﻫذا اﻟﻛﺗﺎب ﻓﻲ ﺑراﻣﺟك ووﺛﺎﺋﻘك‪ ،‬وﻻ ﯾﺗم إﻋﺎدة ﺑﯾﻊ ﻫذا‬
‫اﻟﻛﺗﺎب ﺑﻌد ﺷراﺋﻪ إﻻ ﺑﺈذن ﻣن اﻟﻣؤﻟف‪ ،‬وﻛذﻟك ﺑﯾﻊ أو ﺗوزﯾﻊ ﻗرص ﻣﺿﻐوط‬
‫ﯾﺣﺗوي ﻋﻠﻰ اﻟﻛﺗﺎب أو أﻣﺛﻠﺔ ﻣن اﻟﻛﺗﺎب ﻻ ﯾﺗم إﻻ ﺑﺈذن‪.‬‬

‫اﻟﻣﺗطﻠﺑﺎت اﻷﺳﺎﺳﯾﺔ ‪Prerequisites‬‬


‫ﻟزﯾﺎدة ﻓﻬم ﺑﻌض اﻟﻣﺻطﻠﺣﺎت اﻟﻣﺳﺗﺧدﻣﺔ ﻓﻲ اﻟﻔﺻل اﻷول وﻛذﻟك ﻛﯾﻔﯾﺔ‬
‫ﺗﺣﻠﯾل وﺗﻛوﯾن ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت ﯾﺗطﻠب اﻻطﻼع ﻋﻠﻰ ﻛﺗﺎب ﻣﻘدﻣﺔ ﻓﻲ ﻗواﻋد‬
‫اﻟﺑﯾﺎﻧﺎت ﻟﺳﻧﺔ ‪ 2021‬ﻟﻧﻔس اﻟﻣؤﻟف وذﻟك ﻟﻠﺗوﺿﯾﺢ‪ ،‬ﺗوﺟد ﻣﻌﻠوﻣﺎت ﺣول‬
‫اﻟﻛﺗﺎب ﻋﻠﻰ اﻟراﺑط ‪.https://hassanebrahem.com.ly/books/‬‬

‫‪9‬‬
‫اﳌﻘﺪﻣﺔ ‪Preface‬‬

‫ﺷﻛر وﺗﻘدﯾر ‪Acknowledgments‬‬


‫أوﻻً أﺷﻛر اﷲ ﻋز وﺟل ﻋﻠﻰ ﺗوﻓﯾﻘﻪ ﻓﻲ إﺧراج ﻫذﻩ اﻟﻧﺳﺧﺔ ﻟﺣﯾز اﻟوﺟود‪ ،‬وﺛﺎﻧﯾﺎً‬
‫ﻋن أﺑﻲ ﻫرﯾرة رﺿﻲ اﷲ ﻋﻧﻪ أن اﻟﻧﺑﻲ ﺻﻠﻰ اﷲ ﻋﻠﯾﻪ وﺳﻠم ﻗﺎل‪» :‬ﻻ َﯾ ْﺷ ُﻛ ُر‬
‫ﱠ‬
‫ﺎس«‪ ،‬أود أن أﺗﻘدم ﺑﺟزﯾل اﻟﺷﻛر ﻟﻠﻣراﺟﻌﯾن‪ ،‬اﻟذﯾن أﺧذت‬ ‫اﻟﻠﻪَ َﻣ ْن ﻻ َﯾ ْﺷ ُﻛ ُر اﻟﱠﻧ َ‬
‫ﻣن وﻗﺗﻬم ﻟﻣراﺟﻌﺔ ﻫذا اﻟﻛﺗﺎب وﻋﻠﻰ ﻣﻧﺎﻗﺷﺎﺗﻬم اﻟﻣﻔﯾدة وﻫم‪:‬‬

‫د‪ .‬ﻛﻣﺎل اﻟﻣﺑروك ﻣﻔﺗﺎح‪ ،‬وﻛﯾل اﻟﺷؤون اﻟﻌﻠﻣﯾﺔ‪ ،‬ﻛﻠﯾﺔ اﻟﻌﻠوم‪ ،‬ﺟﺎﻣﻌﺔ ﻏرﯾﺎن‪.‬‬

‫د‪ .‬ﻋﻣر ﻣﻔﺗﺎح أﺑوذﯾﻧﺔ‪ ،‬ﻗﺳم اﻟﺣﺎﺳب اﻵﻟﻲ‪ ،‬ﻛﻠﯾﺔ اﻟﻌﻠوم‪ ،‬ﺟﺎﻣﻌﺔ ﻏرﯾﺎن‪.‬‬

‫اﻟﻣراﺟﻌﺔ اﻟﻠﻐوﯾﺔ ‪The linguistic review‬‬


‫ﻗﺎم ﺑﺎﻟﻣراﺟﻌﺔ اﻟﻠﻐوﯾﺔ ﻟﺟزء ﻣن اﻟﻛﺗﺎب‪.‬‬

‫د‪ .‬ﺧﻠﯾﻔﺔ ﻋﺑداﷲ ﺣﺳن‪ ،‬وﻛﯾل اﻟﺷؤون اﻟﻌﻠﻣﯾﺔ‪ ،‬ﻛﻠﯾﺔ اﻵداب‪ ،‬ﺟﺎﻣﻌﺔ ﻏرﯾﺎن‪.‬‬

‫‪10‬‬

You might also like