Oracle

3,502
-1

Published on

Published in: Technology, Business
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,502
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
124
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Oracle

  1. 1. ‫1‬ ‫أوراﻛﻞ‬ ‫ﻧﻨﻌﺮض ﻓﻲ ھﺬا اﻟﻔﺼﻞ اﻟﻰ ﻣﻘﺪﻣﺔ ﻓﻲ ادارة ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪ Database‬وﺧﺎﺻﺔ ﻗﻮاﻋﺪ ﺑﯿﺎﻧﺎت‬ ‫اﻷوراﻛﻞ واﻟﺬي ﯾﻌﺘﺒﺮ أﺣﺪ اﻟﻨﻈﻢ اﻟﻘﻮﯾﺔ ﻓﻲ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪Data Base Management‬‬ ‫)‪ System (DBMS‬ﻟﻤﺎ ﻟﮫ ﻣﻤﯿﺰات ﻣﻘﺎرﻧﺔ ﺑﻘﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت اﻻﺧﺮى .‬ ‫ﻣﻔﺎھﯿﻢ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬ ‫ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪Database‬‬ ‫ھﻲ ﻣﺠﻤﻮﻋﮫ ﻣﻦ اﻟﻤﻠﻔﺎت اﻟﻤﻨﻈﻤﺔ ﺑﺤﯿﺚ ﯾﺴﮭﻞ اﻟﻮﺻﻮل إﻟﯿﮭﺎ ﻋﻨﺪﻣﺖ ﻧﺮﯾﺪاﺳﺘﺮدادھﺎ‬ ‫ﻗﺎﻣﻮس اﻟﺒﯿﺎﻧﺎت ‪Data Dictionary‬‬ ‫ھﻮ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻤﻌﻠﻮﻣﺎت ﻋﻦ ﺟﺪاول وﻓﮭﺎرس اﻟﺒﯿﺎﻧﺎت ﺗﺤﻘﻆ داﺧﻞ ھﺬا اﻟﻘﺎﻣﻮس ، ﯾﺴﺘﺨﺪﻣﮭﺎ‬ ‫ﻧﻈﺎم إدارة ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬ ‫اﻻﺳﺘﻌﻼم ‪Query‬‬ ‫ھﻮ ﻧﻈﺎم اﺳﺘﻔﺴﺎري ﻟﻼﺳﺘﻌﻼم ﻋﻦ ﺑﯿﺎﻧﺎت ﻣﻌﯿﻨﺔ وﻏﺎﻟﯿﺎ ﻻ ﯾﻐﯿﺮ اﻻﺳﺘﻌﻼم ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺣﯿﺚ‬ ‫إن ﻏﺎﻟﺒﯿﺔ ﻧﻈﻢ اﻻﺳﺘﻌﻼم ﻋﺒﺎرة ﻋﻦ ﻗﺮاءة ﻓﻘﻂ ﻟﻠﺒﯿﺎﻧﺎت‬ ‫دوال ‪Function‬‬ ‫ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺗﻌﻠﯿﻤﺎ ت أو أواﻣﺮ ﺗﺴﺘﺨﺪم ﺿﻤﻦ ﻣﺴﻤﻰ وﻇﯿﻔﻲ ﻻداء ﻋﻤﻠﯿﺔ ﻣﺤﺪدة‬ ‫وﻏﺎﻟﺒﺎ ﺗﻌﯿﺪ اﻟﺪاﻟﺔ ﻗﯿﻤﺔ ﻣﻌﯿﻨﮫ ﺑﻌﺪ ﺗﻨﻔﯿﺬھﺎ‬ ‫اﻻﺟﺮاء ‪Procedure‬‬ ‫ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺘﻌﻠﯿﻤﺎت ﻣﺜﻞ ﺗﻌﻠﯿﻤﺎت اﻟﺪاﻟﺔ ﺑﮭﺪف ﺗﻨﻔﯿﺬ ﻣﮭﻤﺔ ﻣﺤﺪدة ﻟﻜﻦ اﻻﺟﺮاء ﻻ ﯾﻌﯿﺪ ﻗﯿﻤﺔ‬ ‫ﻣﺜﻞ اﻟﺪاﻟﺔ‬ ‫ﻣﺨﻄﻂ ‪Schema‬‬ ‫ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻜﺎﺋﻨﺎت ‪ Objects‬ﻣﺮﺗﺒﻄﺔ ﺑﻘﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت وﯾﺘﺄﻟﻒ ﻣﺨﻄﻂ اﻟﻜﺎﺋﻦ ﻣﻦ‬ ‫ﻛﺎﺋﻨﺎت ﻣﺜﻞ اﻟﺠﺪاول ‪ Tables‬واﻻﺟﺮاءات ‪ Procedure‬واﻟﻌﺮوض ‪ Views‬واﻟﻔﮭﺎرس‬ ‫‪... Directories‬اﻟﺦ‬ ‫ﻣﺪﯾﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )‪Database Administrator (DBA‬‬ ‫ھﻮ اﻟﺸﺨﺺ اﻟﻤﺴﺆؤل ﻋﻦ ﻋﻤﻠﯿﺎت إدارة ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت وﻧﻈﻢ أداء ھﺬه اﻟﻘﻮاﻋﺪ وﻛﯿﻒ ﯾﺘﻢ ﺗﻜﻮﯾﻨﮭﺎ‬ ‫وھﻮ ﻣﺴﻮؤل أﯾﻀﺎ ﻋﻦ ﻣﺮاﻗﺒﺔ أداء ھﺬه اﻟﻘﻮاﻋﺪ ، وﻛﺬﻟﻚ إﺟﺮاء ﻋﻤﻠﯿﺎت اﻟﻨﺴﺦ اﻻﺣﺘﯿﺎﻃﻲ وﺗﺜﺒﯿﺖ‬ ‫اﻟﺒﺮاﻣﺞ ، واﻟﻤﺤﺎﻓﻈﺔ ﻋﻠﻰ أﻣﻦ اﻟﻤﻌﻠﻮﻣﺎت ، وإذاﻓﺔ ﻣﺴﺘﺨﺪﻣﯿﻦ ﺟﺪد أو إﻟﻔﺎء ﺻﻼﺣﯿﺎت ﻣﺴﺘﺨﺪﻣﯿﻦ‬ ‫وﯾﻤﻜﻦ ان ﯾﻘﻮم ﻣﺪﯾﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﺑﺎﻟﺘﺨﻄﯿﻂ ﻟﺘﻄﯿﺮ وﺗﻨﻤﯿﺔ اﻟﻨﻈﺎم اﻟﻤﻄﺒﻖ ، وﺗﺤﺪﯾﺪ اﻟﺤﺎﺟﻮ ﻟﮭﺬه‬ ‫اﻟﺘﻄﻮرات اﻟﻤﺴﺘﻘﺒﻠﯿﺔ .‬ ‫وﯾﺴﻌﻰ ﻓﺮﯾﻖ اﻟﻌﻤﻞ اﻟﺬي ﯾﺘﻜﻮن ﻣﻦ ﻣﺪﯾﺮي ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪ DBA‬ﻟﻠﺤﻔﺎظ ﻋﻠﻰ ﺳﯿﺮ اﻟﻌﻤﻞ داﺧﻞ‬ ‫اﻟﺸﺮﻛﺔ ﺑﺸﻜﻞ ﻣﺘﺠﺎﻧﺲ . وﺗﺘﻢ ﺗﺠﺰﺋﺔ اﻟﻤﮭﺎم ﺑﯿﻦ ھﺆﻻء اﻟﻤﺪﯾﺮﯾﻦ .‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  2. 2. ‫2‬ ‫ﻣﮭﺎم ﻣﺪﯾﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )‪(DBA‬‬ ‫ﺗﺘﺒﺎﯾﻦ ﻣﮭﺎم ﻣﺪﯾﺮ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺗﺒﻌﺎ ﻟﺤﺠﻢ اﻟﺸﺮﻛﺔ أو اﻟﻤﺆﺳﺴﺔ وﺗﺒﻌﺎ ﻟﻔﺮﯾﻖ اﻟﻌﻤﻞ‬ ‫اﻟﻤﺴﺎﻋﺪ وﺗﺸﻤﻞ ھﺬه اﻟﻤﮭﺎم اﻟﻨﻘﺎط اﻟﺘﺎﻟﯿﺔ :‬ ‫١- ﺗﺜﺒﯿﺖ اﻟﺒﺮﻣﺠﯿﺎ اﻟﺠﺪﯾﺪة‬ ‫٢- إدارة اﻟﺤﻤﺎﯾﺔ ﻟﻨﻈﺎم ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬ ‫٣- اﻟﻨﺴﺦ اﻻﺣﺘﯿﺎﻃﻲ واﻟﺪوري ﻟﻠﺒﯿﺎﻧﺎت وﻧﻈﺎم ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬ ‫اﺳﺘﻜﺸﺎف اﻷﺧﻄﺎء وﻣﻌﺎﻟﺠﺘﮭﺎ‬ ‫٤-‬ ‫٥- ﺗﺴﻮﯾﺔ وإﺻﻼح إﺧﻔﺎﻗﺎت اﻟﻤﺴﺎﺧﺪﻣﯿﻦ ﻟﻠﻮﺻﻮل إﻟﻰ ﺑﯿﺎﻧﺎﺗﮭﻢ‬ ‫٦- ﻣﺘﺎﺑﻌﺔ ﺿﺒﻂ أداء اﻟﻌﻤﻞ‬ ‫٧- ﺗﻘﺴﺴﻢ اﻷﺟﮭﺰة واﻟﻨﻄﻢ اﻟﺠﺪﯾﺪة‬ ‫٨- اﻟﻌﻤﻞ ﻋﻠﻰ ﺗﻄﻮﯾﺮ اﻟﻨﻈﺎم ﺑﺎﻟﺸﺮﻛﺔ‬ ‫ﻧﻈﺎم إدارة ﻗﺎﻋﺪ اﻟﺒﯿﺎﻧﺎت )‪Data Base Management System (DBMS‬‬ ‫ھﻮ ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ اﻷدوات اﻟﺒﺮﻣﺠﯿﮫ ) اﻟﺒﺮاﻣﺞ ( اﻟﺘﻲ ﺗﺪﯾﺮ وﺗﻨﻈﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت وﺗﻮﺟﺪ‬ ‫ﻋﻼﻗﺔ ارﺗﺒﺎط ﺑﯿﻦ ھﺬه اﻟﺒﯿﺎﻧﺎت ﺗﺴﻤﻰ ﻋﻼﻗﺔ )‪ (Relation‬ﻟﺬا اﺣﺒﺎﻧﺎ ﯾﻄﻠﻖ ﻋﻠﯿﮭﺎ ‪ RDBMS‬أي‬ ‫ﻧﻈﺎم إدارة ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ ) اﻻرﺗﺒﺎﻃﯿﺔ (‬ ‫ﻣﻤﯿﺰات ﻧﻈﺎم إدارة ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت أوراﻛﻞ‬ ‫ﯾﺘﻤﯿﺰ ﻧﻈﺎم ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت أوراﻛﻞ ﻋﻦ ﻏﯿﺮه ﻣﻦ ﻧﻈﻢ إدارة ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت اﻷﺧﺮى ﺑﺎﻵﺗﻲ:‬ ‫١- اﻟﻘﺪرة اﻟﻔﺎﺋﻘﺔ ﻋﻠﻰ اﺳﺘﯿﻌﺎب ﻛﻤﯿﺎت ﻛﺒﯿﺮة ﻣﻦ اﻟﺒﯿﺎﻧﺎت ﻗﺪ ﯾﺼﻞ ﻋﺪد اﻟﺴﺠﻼت إﻟﻰ‬ ‫اﻟﻤﻼﯾﯿﻦ ﻣﻊ اﻟﺤﻔﺎظ ﻋﻠﻰ اﻟﻤﺴﺘﻮى اﻟﻌﺎﻟﻲ ﻓﻲ اﻷداء واﻟﺴﺮﻋﺔ ﻋﻨﺪ اﺳﺘﺮﺟﺎع واﻟﺘﺨﺰﯾﻦ‬ ‫واﻟﺤﺬف‬ ‫٢- ﻻﺳﺮﯾﺔ اﻟﺘﺎﻣﺔ واﻷﻣﻦ ﻻ ﺣﺘﻮاﺋﮫ ﻋﻠﻰ ﻧﻈﺎم اﻟﺼﻼﺣﯿﺎت واﻟﺤﻘﻮق اﻟﺬي ﯾﻀﻤﻦ ﺗﻄﺒﯿﻖ‬ ‫اﻟﺸﺮوط اﻟﻘﯿﺎﺳﯿﺔ واﻷﻣﻨﯿﺔ ﻟﻠﺤﻔﺎظ ﻋﻠﻰ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬ ‫٣- ﻓﻌﺎﻟﯿﺔ اﻟﺘﺤﻜﻢ اﻟﻤﺮﻛﺰي ﺑﺎﻟﺒﯿﺎﻧﺎت ﻻذي ﯾﻀﻤﻦ :‬ ‫• ﺗﻘﻠﯿﻞ اﻟﺘﻜﺮرات ﻋﯿﺮ اﻟﻼزﻣﺔ ﻓﻲ اﻟﺒﯿﺎﻧﺎت اﻟﺪﺧﻠﺔ )‪(No Repetition‬‬ ‫• ﺗﺠﻨﺐ اﻟﺘﻨﺎﻗﺾ ﺑﯿﻦ اﻟﺒﯿﺎﻧﺎت )‪(No Contradiction‬‬ ‫• إﻣﻜﺎﻧﯿﺔ اﻟﺘﺸﺎرك ﻓﻲ اﻟﺒﯿﺎﻧﺎت )‪(Data Sharing‬‬ ‫• اﻟﺤﻔﺎظ ﻋﻠﻰ ﺗﻜﺎﻣﻞ اﻟﺒﯿﺎﻧﺎت ﻓﯿﻤﺎ ﺑﯿﻨﮭﺎ )‪(Data Integrity‬‬ ‫٤- اﻟﺴﯿﻄﺮة اﻟﺘﺎﻣﺔ ﻋﻠﻰ ﻋﻤﻠﯿﺔ اﻟﻨﺴﺦ اﻻﺣﺘﯿﺎﻃﻲ ﻟﻘﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت وﺣﻤﺎﯾﺘﮭﺎ ﻣﻦ اﻟﻔﻘﺪان أو‬ ‫اﻟﺘﻠﻒ ﻣﻊ اﻣﻜﺎﻧﯿﺔ اﺳﺘﺮﺟﺎﻋﮭﺎ ﻓﻲ أي ﻟﺤﻈﺔ‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  3. 3. ‫3‬ ‫ﻋﻤﻠﯿﺎت ﻧﻈﺎم إدارة ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬ ‫ﯾﺸﺘﻤﻞ ﻧﻈﺎم إدارة ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اوراﻛﻞ ﻋﻠﻰ اﻟﻌﻤﻠﯿﺎت اﻟﺘﺎﻟﯿﺔ‬ ‫١- أواﻣﺮ ﻟﻐﺔ ﺗﻌﺮﯾﻒ اﻟﺒﯿﺎﻧﺎت )‪Data Definition Language (DDL‬‬ ‫ﺗﺴﺘﺨﺪم ھﺬه اﻟﻠﻐﺔ ﻓﻲ ﺗﻌﺮﯾﻒ وإﻧﺸﺎء اﻟﻜﺎﺋﻦ ‪ ، Object‬وﯾﻤﻜﻦ أن ﯾﻜﻮن اﻟﻜﺎﺋﻦ ﻣﻠﻔﺎت‬ ‫وﺟﺪاول ﺑﯿﺎﻧﺎت ، ﻓﯿﻤﻜﻨﻨﺎ إﻧﺸﺎء وﺗﻌﺪﯾﻞ وﺣﺬف اﻟﻜﺎﺋﻦ وﯾﻤﻜﻨﻨﺎ إﻧﺸﺎء اﻣﺘﯿﺎز ﻟﻤﺴﺘﺨﺪم‬ ‫ﻣﻌﯿﻦ ، أو اﻧﺸﺎء ﻛﺎﺋﻦ ﺧﯿﺎرات ﻟﻔﺤﺺ وإﺿﺎﻓﺔ ﺗﻌﻠﯿﻘﺎت إﻟﻰ ﻗﺎﻣﻮس اﻟﺒﯿﺎﻧﺎت وﻣﻦ ھﺬه‬ ‫اﻷواﻣﺮ : ‪CREAT , DROP and ALTER‬‬ ‫٢- أواﻣﺮ ﻟﻐﺔ ﻣﻌﺎﻣﻠﺔ اﻟﺒﯿﺎﻧﺎت )‪Data Manipulation Language (DML‬‬ ‫ﺗﺘﯿﺢ ھﺬه اﻷواﻣﺮ اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﺒﯿﺎﻧﺎت وﺗﻌﺪﯾﻠﮭﺎ ﺿﻤﻦ اﻟﻜﺎﺋﻦ اﻟﻤﻮﺟﻮد ‪ Object‬وﻣﻦ ھﺬه‬ ‫اﻷواﻣﺮ : ‪SELECT, DELETE,UPDATE and INSERT‬‬ ‫٣- أواﻣﺮ ﻟﻐﺔ اﻟﺘﺤﻜﻢ ﻓﻲ اﻟﺒﯿﺎﻧﺎت )‪Data Control Language (DCL‬‬ ‫ﺗﺘﯿﺢ ھﺬه اﻷواﻣﺮ اﻟﺘﺤﻜﻢ ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت وأداﺋﮭﺎ ﻛﺎﻟﺼﻼﺣﯿﺎت واﻟﻤﺴﺘﺨﺪﻣﯿﻦ واﻟﺤﻘﻮق‬ ‫وﻏﺎﻟﺒﺎ ﻣﺎﺗﻜﻮن ھﺬه اﻷواﻣﺮ ﻣﺨﺼﺼﺔ ﻟﻼﺳﺘﺨﺪام ﻣﻦ ﻗﺒﻞ ﻣﺪﯾﺮ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت )‪(DBA‬‬ ‫وﻣﻦ ھﺬه اﻻواﻣﺮ : ‪GRANT and REVOKE‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  4. 4. ‫4‬ ‫اﻟﺘﺮﻛﯿﺐ اﻟﺪاﺧﻠﻲ ﻟﻨﻈﺎم أوراﻛﻞ‬ ‫أھﺪاف اﻟﻔﺼﻞ‬ ‫ﯾﺘﻨﺎول ھﺬا اﻟﻔﺼﻞ اﻟﺘﺮﻛﯿﺐ اﻟﺪاﺧﻠﻲ ﻟﻨﻈﺎم ﻗﺘﻌﺪة اﻟﺒﯿﺎﻧﺎت أوراﻛﻞ وﻓﻲ ﻧﮭﺎﯾﺔ ھﺬا اﻟﻔﺼﻞ‬ ‫ﺳﺘﻜﻮن ﻗﺎدرا ﺑﻤﺸﯿﺌﺔ اﷲ ﻋﻠﻰ :‬ ‫١- ﻓﮭﻢ اﻟﻌﻼﻗﺎت ﺑﯿﻦ اﻟﺠﺪاول‬ ‫٢- ﺗﻌﺮﯾﻒ ﻧﻤﺬﺟﺔ اﻟﻌﻼﻗﺔ‬ ‫٣- ﻓﮭﻢ ﻣﻜﻮﻧﺎت ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ‬ ‫٤- ﻓﮭﻢ اﻟﻌﻼﻗﺔ ﺑﯿﻦ اﻟﺨﺎدم واﻟﻤﺴﺘﻔﺒﺪ‬ ‫٥- ﻗﮭﻢ اﻟﺨﺎدم ‪SERVER‬‬ ‫٦- ﻓﮭﻢ اﻟﻤﺴﺘﻔﯿﺪ ‪Client‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  5. 5. ‫5‬ ‫ﻣﻘﺪﻣﺔ ﻓﻲ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ‬ ‫ﯾﻘﺪم ھﺬا اﻟﻔﺼﻞ اﻟﺘﺮﻛﯿﺐ واﻟﺒﻨﺎء اﻟﺪاﺧﻠﻲ ﻟﻨﻈﺎم إدارة ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت أوراﻛﻞ ، ﻓﯿﺤﺘﻮي ﻋﻠﻰ‬ ‫وﺻﻒ ﺳﺮﯾﻊ ﻟﻤﻜﻮﻧﺎت أوراﻛﻞ وﺗﻌﺘﻤﺪ ﻏﺎﻟﺒﯿﺔ ﺗﻄﺒﯿﻘﺎت ﻧﻈﻢ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﻓﻲ ﺑﻨﺎﺋﮭﺎ ﻋﻠﻰ أﺣﺪ‬ ‫ﻧﻤﺎذج ﻗﺎﻋﺪ اﻟﺒﯿﺎﻧﺎت اﻟﺘﺎﻟﯿﺔ:‬ ‫ﻧﻤﻮذج ھﯿﻜﻠﻲ )ھﺮﻣﻲ ( ‪Hierarchical Model‬‬ ‫١-‬ ‫ﻧﻤﻮذج ﺷﺒﻜﻲ ‪Network Model‬‬ ‫٢-‬ ‫ﻧﻤﻮذج ﻋﻼﺋﻘﻲ ‪Relational Model‬‬ ‫٣-‬ ‫ﻧﻤﻮذج ﺷﯿﺌﻲ ‪Object Model‬‬ ‫٤-‬ ‫ﻓﻲ اﻟﻤﺎﺿﻲ ﻛﺎن اﻟﻨﻤﻮذج اﻷول ) اﻟﮭﺮﻣﻲ ( اﻷﻛﺜﺮ اﻧﺘﺸﺎرا ﻣﻊ أﺟﮭﺰة اﻟﻜﻤﺒﯿﻮﺗﺮ اﻟﻜﺒﯿﺮة ‪Main‬‬ ‫‪ Frame‬ﺛﻢ ﺑﺪا اﻟﻨﻈﺎم اﻟﺜﺎﻧﻲ ) اﻟﺸﺒﻜﻲ ( ﻓﻲ اﻻﻧﺘﺸﺎر وﺧﺎﺻﺔ ﻣﻊ اﻟﺘﻮﺳﻊ ﻓﻲ ﺑﻨﺎء وﺗﺮﻛﯿﺐ‬ ‫ﺷﺒﻜﺎت اﻟﺤﺎﺳﺐ وﻛﺎﻧﺖ ھﻨﺎك ﺻﻌﻮﺑﺎت ﻓﻲ اﺳﺘﺨﺪام اﻟﻨﻈﺎﻣﯿﻦ اﻟﻮل واﻟﺜﺎﻧﻲ ) اﻟﮭﺮﻣﻲ واﻟﺸﺒﻜﻲ (‬ ‫ﻧﺘﯿﺠﺔ ﻻﺳﺘﺨﺪام ﻣﺆﺷﺮات اﻟﺒﺮﻣﺠﺔ ) ‪ ( Pointers‬ﻟﺮﺑﻂ ﺳﺠﻼت اﻟﺒﯿﺎﻧﺎت ﺑﻌﻀﮭﺎ ﻣﻊ ﺑﻌﺾ ، ﻟﺬا‬ ‫ﻧﺠﺪ أن إﺿﺎﻓﺔ أو ﺗﻌﺪﯾﻞ أو ﺣﺬف اﻟﺴﺠﻼت ﯾﺤﺘﺎج إﻟﻰ اﻟﻤﺰﯾﺪ ﻣﻦ ﻗﮭﻢ ﻃﺒﯿﻌﺔ وﻋﻤﻞ اﻟﻤﺆﺷﺮات‬ ‫وﻓﻲ ھﺬه اﻟﻔﺘﺮة اﻟﻤﺎﺿﯿﺔ ﻃﺮق ﺑﺮﻣﺠﺔ اﻟﻤﺆﺷﺮات ﺗﻜﺘﺐ ﺑﻠﻐﺔ اﻟﻜﻮﺑﻮل )‪.(COBOL‬‬ ‫أﻣﺎ اﻟﻨﻤﻮذج اﻟﻌﻼﺋﻘﻲ )‪ (Relational‬ﻓﮭﻮ اﻷﻛﺜﺮ ﺳﮭﻮﻟﺔ ﻓﻲ اﻻﺳﺘﺨﺪام وﻓﻲ ﺑﺮﻣﺠﺔ ﺗﻄﺒﯿﻘﺎت ﻧﻈﻢ‬ ‫ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت وﻣﻦ اﻟﻨﺎﺣﯿﺔ اﻟﻨﻈﺮﯾﺔ اﻷﻛﺎدﯾﻤﯿﺔ ﻓﯿﻠﺰﻣﻚ دراﺳﺔ اﻟﻤﻔﺎھﯿﻢ اﻷﺳﺎﺳﯿﺔ واﻟﻀﺮورﺑﺔ ﻟﮭﺬا‬ ‫اﻟﻨﻤﻮذج اﻟﻌﻼﺋﻘﻲ ﻟﮭﺬا ﺳﻨﺮﻛﺰ ھﻨﺎ ﻋﻠﻰ‬ ‫١- ھﯿﻜﻞ اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ ‪Relational Data Structure‬‬ ‫٢- اﻟﻀﻮاﺑﻂ اﻟﺤﺎﻛﻤﺔ ﻟﻠﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ ‪Constraint that govern organization of‬‬ ‫‪data structure‬‬ ‫٣- اﻟﻌﻤﻠﯿﺎت اﻟﺘﻲ ﺗﺠﺮى ﻋﻠﻰ ھﺬه اﻟﺒﯿﺎﻧﺎت ‪Operations that are performance data‬‬ ‫‪structure‬‬ ‫وﯾﻌﺘﻤﺪ ﻧﺎم ھﯿﺎﻛﻞ اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﺒﺔ )‪ (Relational Database‬ﻋﻠﻰ ھﯿﻜﻞ ﻣﻨﻄﻘﻲ‬ ‫وﯾﻄﻠﻖ ﻋﻠﯿﮫ ﻋﻼﻗﺔ )‪ (Relational‬وﻋﻠﻰ ﺷﻜﻞ ﺛﻨﺎﺋﻲ اﻷﺑﻌﺎد ‪(Tow dimensional‬‬ ‫) ‪ data structure‬ﯾﺘﻜﻮن ﻣﻦ ﺻﻔﻮف وأﻋﻤﺪة وﯾﺴﻤﻰ ﺟﺪول )‪ (Table‬ھﺬا ﺑﺎﻹﺿﺎﻓﺔ‬ ‫إﻟﻰ ﻋﻨﺎﺻﺮ اﻟﺒﯿﺎﻧﺎت )‪ (Data elements‬ﺗﺴﻤﻰ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ‪ attributes‬ﻋﻼوة‬ ‫ﻋﻠﻰ ھﺬا ﯾﺘﻢ ﺗﻨﻈﯿﻢ ھﺬه اﻟﺒﯿﺎﻧﺎت اﻟﻔﻌﻠﯿﺔ ﻓﻲ وﺣﺪة أو وﺣﺪات ﺗﺴﻤﻰ ‪ Tuples‬ﺗﻘﺴﻢ إﻟﻰ‬ ‫ﺻﻔﻮف ‪ Rows‬أو )ﺳﺠﻼت ‪ ( Records‬وأﻋﻤﺪة ‪) Columns‬ﺣﻘﻮل ‪( Fields‬‬ ‫واﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﺒﯿﻦ اﻟﻌﻨﺎﺻﺮ اﻷﺳﺎﺳﯿﺔ ﻟﺠﺪول اﻟﻤﻮﻇﻘﯿﻦ ‪Employees‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  6. 6. ‫6‬ ‫اﻟﻌﻼﻗﺔ ﺑﯿﻦ اﻟﺠﺪاول‬ ‫ﻟﺮﺑﻂ ﻋﻼﻗﺔ ﺑﺄﺧﺮى ﺗﺘﺤﺘﺎج إﻟﻰ ﻃﺮﯾﻘﺔ ﻟﻼرﺗﺒﺎط . وھﺬه اﻟﻄﺮﯾﻘﺔ ﺗﺴﺘﺨﺪم ﺣﻘﻼ ‪ Field‬ﯾﻜﻮن‬ ‫ﻣﻮﺟﻮدا ﻓﺐ اﻟﺠﺪوﻟﯿﻦ وﺣﻘﻞ اﻻرﺗﺒﺎط ﯾﺴﻤﻰ ﻓﻲ اﻟﺠﺪول اﻷول ﺑﺎﻟﻤﻔﺘﺎح اﻟﺮﺋﯿﺴﻲ ‪(Primary‬‬ ‫)‪ Key‬ﻟﻠﺠﺪول اﻷل وﯾﺴﻤﻰ ﯾﺎﻟﻤﻔﺘﺎح ال )‪ (Foreign Key‬ﻓﻲ اﻟﺠﺪول اﻟﺜﺎﻧﻲ‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  7. 7. ‫7‬ ‫ﻧﻤﺬﺟﺔ اﻟﻌﻼﻓﺔ ‪Relational Model Algebra‬‬ ‫ﺗﻌﺮف ﺑﺎﻧﮭﺎ اﻟﻌﻤﻠﯿﺎت اﻟﺘﻲ ﯾﺘﻢ اﺟﺮاؤھﺎ ﻋﻠﻰ ﺟﺪول أو ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺠﺪاول ﺗﺒﻌﺎ ﻟﻌﻼﻗﺔ ﻣﺤﺪدة‬ ‫وﯾﻮﺟﺪ ﻣﻌﺎﻣﻼن ‪ Operators‬ھﻤﺎ ‪ Unary‬واﻟﺜﺎﻧﻲ‪ Binary‬واﻟﺠﺪول اﻟﺘﺎﻟﻲ ﯾﻌﺪد ﺳﺒﻌﺔ اﻧﻮاع‬ ‫ﻟﮭﺬه اﻟﻌﻤﻠﯿﺎت‬ ‫اﻟﻌﻤﻠﯿﺔ‪Operation‬‬ ‫ﻧﻮع اﻟﻌﻤﻠﯿﺔ ‪Type‬‬ ‫وﺻﻒ اﻟﻌﻤﻠﯿﺔ‬ ‫‪Union‬‬ ‫‪Binary‬‬ ‫ﺗﺠﻤﯿﻊ اﻟﺼﻔﻮف اﻟﺴﺠﻼت ﻣﻦ ﺟﺪوﻟﯿﻦ ﻣﻊ ﻋﺪم‬ ‫اﻟﺴﻤﺎح ﺑﻨﻜﺮار ﺳﺠﻼت‬ ‫‪Intersection‬‬ ‫‪Binary‬‬ ‫ﺗﺤﺪﯾﺪ اﻟﺴﺠﻼت )اﻟﺼﻔﻮف( اﻟﻤﺸﺘﺮﻛﺔ ﺑﯿﻦ‬ ‫ﺟﺪوﻟﯿﻦ‬ ‫‪Difference‬‬ ‫‪Binary‬‬ ‫اﻇﮭﺎر اﻟﺴﺠﻼت اﻟﻤﻮﺟﻮدة ﻓﻲ اﻟﺠﺪول اﻻول‬ ‫وﻻ ﺗﻮﺟﺪ ﻓﻲ اﻟﺠﺪول اﻟﺜﺎﻧﻲ‬ ‫‪Projection‬‬ ‫‪Unary‬‬ ‫إﻇﮭﺎر اﻟﺴﺠﻼت ﻣﻊ ﺑﻌﺾ اﻷﻋﻤﺪة )ﻣﺼﺪر‬ ‫اﻟﺒﯿﺎﻧﺎت(‬ ‫‪Selection‬‬ ‫‪Unary‬‬ ‫إﻇﮭﺎر اﻟﺴﺠﻼت ﻣﻦ ﺟﺪول ﻣﺼﺪر اﻟﺒﯿﺎﻧﺎت ﺗﺒﻌﺎ‬ ‫ﻟﻤﻌﯿﺎر اﻟﺒﺤﺚ ‪Criteria‬‬ ‫‪Product‬‬ ‫‪Unary‬‬ ‫وﺻﻞ ﻛﻞ ﺳﺠﻞ ﻣﻦ ﺟﺪول اﻟﺒﯿﺎﻧﺎت اﻟﻮل ﻣﻊ ﻛﻞ‬ ‫ﺳﺠﻞ ﻓﻲ اﻟﺠﺪول اﻟﺜﺎﻧﻲ‬ ‫‪Join‬‬ ‫‪Unary‬‬ ‫وﺻﻞ وﺗﻤﺪﯾﺪ اﻟﺴﺠﻼت ﻣﻦ اﻟﺠﺪول اﻷل ﻣﻊ‬ ‫ﻣﺎﯾﻘﺎﺑﻠﮫ ﻣﻦ ﺳﺠﻼت ﻓﻲ اﻟﺠﺪول اﻟﺜﺎﻧﻲ‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  8. 8. ‫8‬ ‫ﻣﻜﻮﻧﺎت ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ ‪RDBMS Components‬‬ ‫ﺗﺘﻜﻮن ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ ﻣﻦ :‬ ‫١- ﻧﻈﺎم ﺗﺸﻐﯿﻞ ﺛﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت وﯾﻄﻠﻖ ﻋﻠﯿﮫ ‪Kernel‬‬ ‫٢- ﻗﺎﻣﻮس اﻟﺒﯿﺎﻧﺎت ‪Data Dictionary‬‬ ‫وﯾﺘﻜﻮن ﻧﻈﺎم ﺗﺸﻐﯿﻞ وﺗﻨﻈﯿﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت )‪ (Kernel‬ﻣﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻮﺣﺪان اﻟﺒﺮﻣﺠﯿﺔ‬ ‫‪ Software‬واﻟﺬي ﺻﻤﻢ ﺑﯿﺤﻜﻢ وﯾﻨﻈﻢ وﯾﻨﻌﺎﻣﻞ ﻣﻊ اﻟﺒﯿﺎﻧﺎت ﻣﺎﺑﯿﻦ ﺣﻔﻆ واﺳﺘﺮﺟﺎع وﻃﺒﺎﻋﺔ‬ ‫وﻛﺬﻟﻚ ﺗﺤﺪﯾﺪ اﻟﻤﺴﺆﻟﯿﺎت وﻋﻤﻞ ﻧﻈﻢ اﻷﻣﺎن وﺣﻤﺎﯾﺔ اﻟﺒﯿﺎﻧﺎت‬ ‫وﻋﺎدة ﯾﺤﺘﻔﻆ ﻧﻈﺎم ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺑﻘﺎﺋﻤﺔ ﻣﻦ اﻟﻤﺴﺘﺨﺪﻣﯿﻦ اﻟﺬﯾﻦ ﻟﮭﻢ ﺻﻼﺣﯿﺔ ﻟﻠﺘﻌﻤﻞ ﻣﻊ ﺗﻄﺒﯿﻖ‬ ‫ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت واﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ ﺑﻌﻀﺎ ﻣﻦ ﻣﻜﻮﻧﺎت اﻟـ ‪ Kernel‬ﻓﻲ ﻧﻈﺎم أوراﻛﻞ‬ ‫ﻣﻜﻮﻧﺎت اﻟـ ‪ Kernel‬ﻓﻲ ﻧﻈﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬ ‫وﯾﺤﻮي ﻗﺎﻣﻮس اﻟﺒﯿﺎﻧﺎت ‪ Data Dictionary‬وﺻﻔﺎ ﻟﺸﻜﻞ اﻟﺒﯿﺎﻧﺎت وﯾﻄﻠﻖ ﻋﻠﻰ ھﺬا اﻟﻮﺻﻒ‬ ‫‪ Meta Description‬أو ‪ Meta Data‬وھﺬا اﻟﻮﺻﻒ ﯾﺮﺗﺒﻂ ﺑﻜﺎﻓﺔ اﻟﻜﺎﺋﻨﺎ ت ‪ Objects‬ﺿﻤﻦ‬ ‫ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬ ‫وﻗﺎﻣﻮس ﺑﯿﺎﻧﺎت أوراﻛﻞ ﯾﺤﺘﻮي ﻋﻠﻰ ﻣﺠﻮﻋﺔ ﺟﺪاول ﺻﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻤﺨﺰﻧﺔ ﻋﻦ ﻃﺮﯾﻖ‬ ‫اﻟـ ‪ Kernel‬وأﯾﻀﺎ ﻋﻠﻰ ﻛﺎﺋﻨﺎت اﻟﻔﮭﺎرس ‪Indexes‬ﻛﺎﺋﻨﺎت اﻟﻌﺮض ‪ Views‬ﻛﺎﺋﻨﺎت اﻻﺳﺘﻌﻼم‬ ‫واﻻﺳﺘﻘﺴﺎر ‪ SQL and Query‬ﻛﺎﺋﻨﺎت اﻹﺟﺮاء ‪ Procedure‬واﻟﺪوال ‪... Function‬إﻟﺦ‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  9. 9. ‫9‬ ‫اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ ﻛﯿﻔﯿﺔ ﻗﺮاءة أو ﺗﻌﺪﯾﻞ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺑﺎﺳﺘﺨﺪام أوراﻛﻞ‬ ‫ﺷﻜﻞ اﻟﻌﻼﻗﺔ ﺑﯿﻦ ‪ Kernel‬و ‪ SQL‬و ﻗﺎﻣﻮس اﻟﺒﯿﺎﻧﺎت‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  10. 10. ‫01‬ ‫اﻟﻌﻼﻗﺔ ﺑﯿﻦ اﻟﺨﺎدم واﻟﻤﺴﺘﻔﯿﺪ)اﻟﻌﻤﯿﻞ( ‪Client/Server‬‬ ‫ﯾﺘﻜﻮن ﻧﻈﺎم أوراﻛﻞ ﻣﻦ ﻣﻜﻮﻧﯿﻦ‬ ‫١- اﻟﺨﺎدم ‪Server‬‬ ‫٢- اﻟﻤﺴﺘﻔﯿﺪ )اﻟﻌﻤﯿﻞ – اﻟﻤﺰود( ‪Client‬‬ ‫اﻟﺨﺎدم ‪Server‬‬ ‫ﯾﺤﻮي اﻟﺨﺎدم ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻤﺮﻛﺰﯾﺔ ووﻇﺎﺋﻔﮭﺎ ، وﻛﺬﻟﻚ ﻛﺎﻓﺔ اﻟﻌﻤﻠﯿﺎت اﻟﺨﻠﻔﯿﺔ ﻟﺤﻔﻆ ھﺬه اﻟﻔﺎﻋﺪة‬ ‫وﺑﺤﻮي اﯾﻀﺎ أدوات ﺗﺸﻐﯿﻞ وإﯾﻘﺎف ﻓﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬ ‫واﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ اﻟﺒﻨﺎء اﻟﺪاﺧﻠﻲ ﻟﻨﻈﺎم اﻟﺨﺎدم‬ ‫ﻣﺪﯾﺮ اﻟﺨﺎدم‬ ‫ﺑﺮوﺗﻜﻮل اﺗﺼﺎل‬ ‫‪Server‬‬ ‫اﻟﺸﺒﻜﺔ 8‪Net‬‬ ‫‪Manager‬‬ ‫اﻟﺨﺎدم ‪Server‬‬ ‫ﻧﻈﺎم اﻻﺳﺘﯿﺮاد‬ ‫واﻟﺘﺼﺪﯾﺮ‬ ‫ﻧﻈﻢ اﻻﺳﺘﻌﻼم‬ ‫&08‪EXP‬‬ ‫‪SQL * PLUS‬‬ ‫08‪IMP‬‬ ‫اﻟﻤﺘﺮﺟﻤﺎت‬ ‫‪Pre‬‬ ‫ﻧﻈﺎم اﻟﺘﺤﻤﯿﻞ‬ ‫‪compliers‬‬ ‫‪LOADER‬‬ ‫اﻟﻤﺴﺘﻔﯿﺪ ‪Client‬‬ ‫أﻣﺎ اﻟﻤﺴﺘﻔﯿﺪ ‪ Client‬ﻓﯿﺤﺘﻮي ﻋﻠﻰ ﺑﺮاﻣﺞ اﻟﺨﺪﻣﺎت واﻟﺒﺮاﻣﺞ اﻟﻤﺴﺎﻋﺪه واﻟﺘﻲ ﺑﻤﻜﻨﻨﺎ ﺗﺸﻐﯿﻠﮭﺎ ﻋﻦ‬ ‫ﺑﻌﺪ ﺑﺎﺳﺘﺨﺪام اﻟﺸﺒﻜﺔ ﻛﻤﺎ ﯾﺘﻀﻤﻦ ﻧﻈﺎم اﻟﻤﺴﺘﻔﯿﺪ اﻟﻮﺳﯿﻂ اﻟﺮﺳﻮﻣﻲ ‪ Graphical Interface‬اﻟﺬي‬ ‫ﯾﺴﮭﻞ ﻋﻠﯿﻨﺎ اﺳﺘﺨﺪاﻣﮫ وﺗﻮﺟﺪ أداة اﻻﺗﺼﺎل ﺑﯿﻦ اﻟﺨﺎدم واﻟﻤﺴﺘﻘﯿﺪ وھﻲ8 ‪ Net‬ﻟﺘﻘﻮم ﺑﻌﻤﻠﯿﺎت اﻟﺮﺑﻂ‬ ‫واﻻﺗﺼﺎل ﻋﺒﺮ اﻟﺸﺒﻜﺔ‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  11. 11. ‫11‬ ‫و ﺗﺸﻤﻞ ﺣﺰﻣﺔ اﻟﺒﺮاﻣﺞ ﻟﻨﻈﺎم اﻟﻤﺴﺘﻔﯿﺪ ﻋﻠﻰ‬ ‫١- ﻣﺪﯾﺮ اﻟﻤﺸﺮوع ‪Enterprise Manager‬‬ ‫وﯾﺤﻮي داﺧﻠﮫ اﻟﻤﻜﻮﻧﺎت اﻟﺘﺎﻟﯿﺔ‬ ‫• ﻣﺘﺤﻜﻢ ﻣﺪﯾﺮ اﻟﻤﺸﺮوع ‪Enterprise Manager‬‬ ‫• ﻣﺪﯾﺮ ﻣﺨﻄﻂ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪Schema Manager‬‬ ‫• ﻣﺪﯾﺮ اﻟﺴﺮﯾﺔ ‪Security Manager‬‬ ‫• ﻣﺪﯾﺮ اﻟﻄﺒﻌﺔ ‪Instance Manager‬‬ ‫• ﻣﺪﯾﺮ اﻟﺘﺨﺰﯾﻦ ‪Storage Manager‬‬ ‫• ﻣﺪﯾﺮ اﻟﺒﯿﺎﻧﺎت ‪Data Manager‬‬ ‫• ﻣﺪﯾﺮ اﻟﻨﺴﺦ اﻻﺣﺘﯿﺎﻃﻲ ﻟﻠﺒﯿﺎﻧﺎت ‪Backup and Recovery Manager‬‬ ‫• ورﻗﺔ ﻋﻤﻞ اﻻﺳﺘﻌﻼم ‪SQL Worksheet‬‬ ‫• ﺷﺮﯾﻂ أدوات اﻟﻤﺴﺆول ‪Administrator Toolbar‬‬ ‫ﺑﺮوﺗﻜﻮل اﺗﺼﺎل‬ ‫٢- اﻟﻤﺴﺎﻋﺪون ‪Assistants‬‬ ‫اﻟﺸﺒﻜﺔ‬ ‫٣- ﻧﻈﺎم اﻻﺳﺘﻌﻼم ‪SQL*PLUS‬‬ ‫)8‪(Net‬‬ ‫واﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﻮﺿﺞ ﻣﻜ ﻮﻧﺎت ﺣﺰﻣﺔ اﻟﺒﺮاﻣﺞ ﻟﻠﻤﺴﺘﻔﯿﺪ ‪Client‬‬ ‫ﻧﻈﺎم اﻻﺳﺘﻌﻼم ‪SQL*PLUS‬‬ ‫اﻟﻤﺴﺎﻋﺪون ‪Assistants‬‬ ‫ﻣﺪﯾﺮ اﻟﻤﺸﺮوع ‪Enterprise Manager‬‬ ‫ﻣﺘﺤﻜﻢ ﻣﺪﯾﺮ اﻟﻤﺸﺮوع‬ ‫ورﻗﺔ ﻋﻤﻞ اﻻﺳﺘﻌﻼم ‪ SQL‬ﻣﺪﯾﺮ ﻣﺨﻄﻂ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬ ‫‪Enterprise Manager‬‬ ‫‪Schema Manager‬‬ ‫‪Worksheet‬‬ ‫ﻣﺪﯾﺮ اﻟﺴﺮﯾﺔ ‪Security‬‬ ‫ﻣﺪﯾﺮ اﻟﻨﺴﺦ اﻻﺣﺘﯿﺎﻃﻲ ﻟﻠﺒﯿﺎﻧﺎت‬ ‫ﻣﺪﯾﺮ اﻟﻄﺒﻌﺔ ‪Instance‬‬ ‫‪Manager‬‬ ‫‪Backup and Recovery‬‬ ‫‪Manager‬‬ ‫‪Manager‬‬ ‫ﻣﺪﯾﺮ اﻟﺒﯿﺎﻧﺎت ‪Data‬‬ ‫ﻣﺪﯾﺮ اﻟﺘﺨﺰﯾﻦ ‪Storage‬‬ ‫ﺷﺮﯾﻂ أدوات اﻟﻤﺴﺆول‬ ‫‪Manager‬‬ ‫‪Manager‬‬ ‫‪Administrator‬‬ ‫‪Toolbar‬‬ ‫ﻣﻠﺨﺺ اﻟﻮﺣﺪة‬ ‫ﺗﻨﺎوﺑﻨﺎ ﻓﻲ ھﺬا اﻟﻔﺼﻞ ﻧﻌﺮﯾﻒ اﻟﺘﺮﻛﯿﺐ اﻟﺪاﺧﻠﻲ ﻟﻨﻈﺎم أوراﻛﻞ وأھﻢ ﻣﻜﻮﻧﺎﺗﮫ واﻟﻌﻼﻗﺔ ﺑﯿﻦ اﻟﺠﺪاول‬ ‫، وﻛﺬﻟﻚ ﻋﻜﻠﯿﺔ ﻧﻤﺬﺟﺔ اﻟﻌﻼﻗﺔ ﻋﻠﻰ اﻟﺠﺪاول وﺗﻢ ﺗﻌﺮﯾﻒ اﻟﺨﺎدم واﻟﻤﺴﺘﻔﯿﺪ واﻟﻌﻼﻗﺔ ﺑﯿﻨﮭﻤﺎ .‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  12. 12. ‫21‬ ‫ﺟﻤﻞ ‪ SQL‬اﻟﺒﺴﯿﻄﺔ‬ ‫أھﺪاف اﻟﻔﺼﻞ‬ ‫ﻧﺘﺎاول ﻋﻤﻠﯿﺔ اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﻓﻲ ﺣﺎﻻت ﻣﺨﺘﻠﻔﺔ ﻣﺸﺘﺨﺪﻣﯿﻦ ﻓﻲ ذﻟﻚ ﺟﻤﻠﺔ ‪ SELECT‬وﻓﻲ‬ ‫ﻧﮭﺎﯾﺔ ھﺬا اﻟﻔﺼﻞ ﺳﺘﻜﻮن إن ﺷﺎء اﷲ ﻗﺎدر ﻋﻠﻰ :‬ ‫• اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﺑﻮاﺳﻄﺔ ﺟﻤﻠﺔ ‪ SELECT‬اﻟﺒﺴﯿﻄﺔ‬ ‫• ﻓﮭﻢ ﻣﺘﻄﻠﺒﺎت وإرﺷﺎدات ﻛﺘﺎﺑﺔ ﺟﻤﻞ ‪SQL‬‬ ‫• اﺳﺘﺨﺪام اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ وأوﻟﻮﯾﺎت ﺗﻨﻔﯿﺬھﺎ ﻣﻊ ﺟﻤﻞ ‪SQL‬‬ ‫• اﺳﺘﺨﺪام اﻟﺠﻤﻞ اﻹﻟﺤﺎﻗﯿﺔ ﻋﻠﻰ اﻟﺒﯿﺎﻧﺎت‬ ‫• اﺳﺘﺨﺪام ﻋﺒﺎرة ‪ DISTINCT‬ﻟﻤﻨﻊ ﺗﻜﺮار ﻋﺮض اﻟﺒﯿﺎﻧﺎت‬ ‫• ﻋﺮض ﻣﻮاﺻﻔﺎت اﻟﺠﺪول‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  13. 13. ‫31‬ ‫أﺳﺎﺳﯿﺎت ﺟﻤﻠﺔ ‪SELECT‬‬ ‫ﺟﻤﻠﺔ ‪SELECT‬‬ ‫ﺗﺴﺘﺨﺪم ﺟﻤﻠﺔ ‪ SELECT‬ﻻﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت اﻟﻤﺨﺰﻧﺔ ﻓﻲ ﺟﺪول أو ﻋﺪة ﺟﺪاول ﺣﯿﺚ أن ﻋﻤﻠﯿﺔ‬ ‫اﻻﺳﺘﺮﺟﺎع ﻻ ﺗﻌﺪل ﻓﻲ ھﺬه اﻟﺒﯿﺎﻧﺎت وﯾﻤﻜﻨﻨﺎ ﻣﻦ ﺧﻼل ﺟﻤﻠﺔ ‪ SELECT‬أن ﻧﻘﻮم ﺑﺎﻟﺘﺎﻟﻲ:‬ ‫١- اﺧﺘﯿﺎر وﻋﺮض ﻣﺠﻤﻮﻋﺔ ﻣﻌﯿﻨﺔ ﻣﻦ اﻟﺴﺠﻼت اﻟﻤﺨﺰﻧﺔ ﻓﻲ اﻟﺠﺪول‬ ‫٢- اﺳﺘﺮﺟﺎع ﺑﯿﺎﻧﺎت ﺑﻌﺾ ﺣﻘﻮل اﻟﺠﺪول‬ ‫٣- اﺳﺘﺮﺟﺎع ﺑﯿﺎﻧﺎت ﻣﺨﺰﻧﺔ ﻓﻲ ﺟﺪاول ﻣﺨﺘﻠﻔﺔ‬ ‫ﻣﻼﺣﻈﺔ‬ ‫ﯾﻤﻜﻦ أن ﻧﺴﺘﺨﺪم ﻛﻞ أو ﺑﻌﺾ ھﺬه اﻟﻤﺰاﯾﺎ ﻓﻲ ﺟﻤﻠﺔ اﺳﺘﻔﺴﺎر واﺣﺪة‬ ‫ﻣﻼﺣﻈﺔ‬ ‫أواﻣﺮ ﻣﺤﺮر‪SQL*PLUs‬‬ ‫ھﻨﺎﻟﻚ ﺑﻌﺾ اﻟﻮاﻣﺮ اﻟﺒﺴﯿﻄﺔ اﻟﺘﻲ ﺳﺘﺴﺎﻋﺪك ﻓﻲ ﻛﺘﺎﺑﺔ وﺗﺤﺮﯾﺮ وﺗﻨﻔﯿﺬ اﻷواﻣﺮ ﻋﻠﻰ ﻣﺤﺮر ‪SQL‬‬ ‫وﻣﻨﮭﺎ‬ ‫١- اﻻﻣﺮ ‪ EDIT‬وﯾﻤﻜﻦ ﻛﺘﺎﺑﺘﮫ ‪ : ED‬ﯾﺴﺘﺨﺪم ھﺬا اﻷﻣﺮ ﻟﺘﺤﺮﯾﺮ آﺧﺮ اﻣﺮ ﺗﻢ ﻛﺘﺎﺑﺘﮫ ﻋﻠﻰ‬ ‫ﻣﺮر ‪ SQL‬وﻋﻨﺪ ﺗﻨﻔﯿﺬ ھﺬا اﻷﻣﺮ ﺳﺘﻔﺘﺢ ﻟﻚ ﺷﺎﺷﺔ اﻟﻤﺤﺮر )اﻟﻤﻔﻜﺮة( اﻟﺘﻲ ﯾﻤﻜﻨﻚ ﺧﻼﻟﮭﺎ‬ ‫اﻋﺎدة ﺗﺤﺮﯾﺮ اﻷﻣﺮ وﻋﻨﺪ اﻻﻧﺘﮭﺎء ﻣﻦ ذﻟﻚ اﺣﻔﻆ اﻟﻤﺮ ﺛﻢ اﻏﻠﻖ ﺷﺎﺷﺔ اﻟﻤﻔﻜﺮة وﻟﻜﻦ ﻻﺣﻆ‬ ‫ﻻ ﺗﻜﺘﺐ اﻟﻔﺎﺻﻠﺔ اﻟﻤﻨﻘﻮﻃﺔ );( ﺑﻌﺪ ﻧﮭﺎﯾﺔ اﻷﻣﺮ ﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﻓﻘﻂ‬ ‫٢- اﻷﻣﺮ ‪ R‬وﻃﺮﯾﻘﺔ ﻛﺘﺎﺑﺘﮫ )/( وﯾﺴﺘﺨﺪم ﻻﻋﺎدة ﺗﻨﻔﯿﺬ اﺧﺮ اﻣﺮ ‪SQL‬ﻣﺤﻔﻮظ‬ ‫اﻟﺸﻜﻞ اﻟﻌﺎم ﻟﺠﻤﻠﺔ ‪SELECT‬‬ ‫}… ,]‪SELECT { * , COLUMN [alies‬‬ ‫; ‪FROM table_name‬‬ ‫ﺣﯿﺚ أن‬ ‫‪ COLUMN‬اﺳﻢ اﻟﺤﻘﻞ‬ ‫‪ table_name‬اﺳﻢ اﻟﺠﺪول‬ ‫ﺗﺴﻤﯿﺔ اﻟﻌﻤﻮد‬ ‫‪alies‬‬ ‫ﯾﻤﻜﻦ أن ﻧﻀﻊ اﻟﺮﻣﺰ * ﻟﻠﺪﻻﻟﺔ ﻋﻠﻰ اﺳﺘﺮﺟﺎع ﺟﻤﯿﻊ ﺣﻘﻮل اﻟﺠﺪول‬ ‫ﻛﺘﺎﺑﺔ ﺟﻤﻞ ‪SQL‬‬ ‫ﻧﻮﺿﺢ ﻓﯿﻤﺎ ﯾﻠﻲ ﺑﻌﺾ اﻟﻘﻮاﻋﺪ اﻹرﺷﺎدﯾﺔ اﻟﺘﻲ ﯾﺠﺐ أن ﺗﻮﺿﻊ ﺑﻌﯿﻦ اﻻﻋﺘﺒﺎر ﻏﻨﺪ ﻛﺘﺎﺑﺔ ﺟﻤﻞ‬ ‫‪SQL‬‬ ‫١- ﯾﻤﻜﻦ ﻛﺘﺎﺑﺔ ﺟﻤﻞ ‪ SQL‬ﺑﺎﻟﺤﺮوف اﻟﻜﺒﯿﺮة أو اﻟﺼﻐﯿﺮة‬ ‫٢- ﯾﻤﻜﻦ ﻛﺘﺎﺑﺔ ﺟﻤﻞ ‪ SQL‬ﻓﻲ ﻋﺬة أﺳﻄﺮ‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  14. 14. ‫41‬ ‫٣- ﻻ ﯾﻤﻜﻦ ﻓﺼﻞ اﻟﻜﻠﻤﺎت اﻟﻤﺤﺠﻮزة ﻋﺒﺮ اﻟﺴﻄﻮر ﻣﺜﻞ ‪FROM‬‬ ‫٤- اﺗﺮك ﻣﺴﺎﻗﺎت ﺑﯿﻦ ﻣﻜﻮﻧﺎت اﻟﺠﻤﻠﺔ ﻟﺘﺴﮭﯿﻞ ﻋﻤﻠﯿﺔ اﻟﻘﺮاءة‬ ‫٥- ﻓﻲ ﺑﺮﻧﺎﻣﺞ ‪ SQL *PLUS‬ﺗﻜﺘﺐ اﻷواﻣﺮ ﻣﻊ ﻣﺆﺷﺮ ‪ SQL‬وﯾﺘﻢ ﺗﺨﺰﯾﻦ ھﺬا اﻟﻤﺮ‬ ‫ﻣﺒﺎﺷﺮة ﻓﻲ اﻟﺬاﻛﺮة‬ ‫ﻣﺜﺎل‬ ‫;‪SELECT * FROM s_dept‬‬ ‫‪ID‬‬ ‫‪NAME‬‬ ‫‪REGION_ID‬‬ ‫--------‬ ‫-------------‬ ‫----------‬ ‫‪10 Finance‬‬ ‫1‬ ‫‪31 Sales‬‬ ‫1‬ ‫‪32 Sales‬‬ ‫2‬ ‫‪33 Sales‬‬ ‫3‬ ‫‪34 Sales‬‬ ‫4‬ ‫‪35 Sales‬‬ ‫5‬ ‫‪41 Operations‬‬ ‫1‬ ‫‪42 Operations‬‬ ‫2‬ ‫‪43 Operations‬‬ ‫3‬ ‫‪44 Operations‬‬ ‫4‬ ‫‪45 Operations‬‬ ‫5‬ ‫‪50 Administration‬‬ ‫1‬ ‫.‪12 rows selected‬‬ ‫ﻟﺘﻨﻔﯿﺬ ﺟﻤﻞ ‪SQL‬‬ ‫ﻧﻀﻊ ﻓﺎﺻﻠﺔ ﻣﻨﻘﻮﻃﺔ ﻓﻲ ﻧﮭﺎﯾﺔ اﻟﺠﻤﻠﺔ ﻓﻲ ﻣﺆﺷﺮ ‪SQL‬‬ ‫١-‬ ‫ﻧﻀﻊ ﻋﻼﻣﺔ / ﻓﻲ ﻧﮭﺎﯾﺔ اﻟﺠﻤﻠﺔ ﻓﻲ ﻣﺆﺷﺮ ‪SQL‬‬ ‫٢-‬ ‫ﻧﻀﻊ ﻋﻼﻣﺔ / ﻓﻲ ﻧﮭﺎﯾﺔ اﻟﺠﻤﻠﺔ ﻓﻲ اﻷﻣﺮ ﻓﻲ اﻟﺬاﻛﺮة )‪(BUFFER‬‬ ‫٣-‬ ‫ﻛﺘﺎﺑﺔ ﻋﺒﺎرة ‪ RUN‬ﻓﻲ ﻧﮭﺎﯾﺔ اﻟﺠﻤﻠﺔ ﻓﻲ ﻣﺆﺷﺮ ‪SQL‬‬ ‫٤-‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  15. 15. ‫51‬ ‫اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ‬ ‫ﯾﻤﻜﻦ أن ﻧﺴﺘﺨﺪم اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ ﻋﻨﺪ ﻋﺮض اﻟﺒﯿﺎﻧﺎت دون أن ﺗﺆﺛﺮ ھﺬه اﻟﻤﻌﺎﻟﺠﺔ ﻋﻠﻰ‬ ‫اﻟﺒﯿﺎاﻧﺎت اﻟﻤﺨﺰﻧﺔ ﻓﻲ اﻟﺠﺪول ، وﯾﻤﻜﻦ أن ﯾﺤﺘﻮي اﻟﺘﻌﺒﯿﺮ اﻟﺤﺴﺎﺑﻲ ﻋﻠﻰ اﺳﻢ اﻟﺤﻘﻞ ﻗﯿﻤﺔ ﺛﺎﺑﺘﺔ و‬ ‫اﻟﻌﻤﻠﯿﺔ اﻟﺤﺴﺎﺑﯿﺔ‬ ‫اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ‬ ‫اﻟﻌﻤﻠﯿﺎت اﻟﺘﻲ ﯾﻤﻜﻦ أن ﺗﺴﺘﺨﺪم ھﻲ:‬ ‫+‬ ‫١- اﻟﺠﻤﻊ‬ ‫-‬ ‫٢- اﻟﻄﺮح‬ ‫÷‬ ‫٣- اﻟﻘﺴﻤﺔ‬ ‫*‬ ‫٤- اﻟﻀﺮب‬ ‫وﯾﻤﻜﻦ اﺳﺘﺨﺪام ھﺬه اﻟﻌﻤﻠﯿﺎت ﻓﻲ ﺣﻤﯿﻊ أﺟﺰاء ﺟﻤﻠﺔ‪ SELECT‬ﻋﺪا اﻟﺠﺰء اﻟﺨﺎص ﺑـ‪FROM‬‬ ‫أوﻟﻮﯾﺎت اﻟﻌﻤﻠﯿﺎت‬ ‫١- اﻻﻓﻮاس اﻟﺪاﺧﻠﯿﺔ ﺛﻢ اﻟﺨﺎرﺟﯿﺔ ﺛﻢ اﻻﺳﺲ‬ ‫٢- اﻟﻀﺮب واﻟﻘﺴﻤﺔ‬ ‫٣- اﻟﺠﻤﻊ واﻟﻄﺮح‬ ‫ﻣﻼﺣﻈﺔ‬ ‫اﻟﻌﻤﻠﯿﺎت اﻟﺘﻲ ﻟﮭﺎ ﻧﻔﺲ اﻻوﻟﯿﺔ ﻛﺎﻟﺠﻤﻊ واﻟﻄﺮح ﺗﻨﻔﺬ ﻣﻦ اﻟﯿﺴﺎر اﻟﻰ اﻟﯿﻤﯿﻦ‬ ‫اﻟﻌﻤﻠﯿﺔ اﻹﻟﺤﺎﻗﯿﺔ‬ ‫ﯾﻤﻜﻦ أن ﻧﺠﺮي ﻋﻤﻠﯿﺔ إﻟﺤﺎق ﻋﺪد ﻣﻦ اﻷﻋﻤﺪة ﻟﻠﺠﺪول أو ﻣﺠﻤﻮﻋﺔ ﺣﺮﻓﯿﺔ ﻧﺼﯿﺔ إﻟﻰ ﺣﻘﻮل‬ ‫أﺧﺮى ﻋﻨﺪ اﻟﻌﺮض ﺑﺎﺳﺘﺨﺪام اﻟﻌﻤﻠﯿﺔ اﻹﻟﺤﺎﻗﯿﺔ ||‬ ‫ﻣﺜﺎل‬ ‫‪SELECT‬‬ ‫‪first_name||last_name‬‬ ‫‪FROM‬‬ ‫;‪s_emp‬‬ ‫‪Employees‬‬ ‫-------------------------------------------------‬ ‫‪CarmenVelasquez‬‬ ‫‪LaDorisNgao‬‬ ‫‪MidoriNagayama‬‬ ‫‪MarkQuick-To-See‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  16. 16. ‫61‬ ‫‪AudryRopeburn‬‬ ‫‪MollyUrguhart‬‬ ‫...‬ ‫ﻧﻼﺣﻆ ان اﻻﺳﻢ اﻻول اﺗﺼﻞ ﺑﺎﻻﺳﻢ اﻻﺧﯿﺮ ﺑﺪون وﺟﻮد ﻣﺴﺎﻓﺎت ﻓﻈﮭﺮ ﻛﺎﻧﮫ اﺳﻢ واﺣﺪ وﻟﻜﻲ‬ ‫ﺗﻮﺟﺪ ﻣﺴﺎﻓﺎت ﻧﻜﺘﺐ‬ ‫;‪SELECT first_name ||' '|| last_name FROM s_emp‬‬ ‫اﺳﺘﺨﺪام ﻋﺒﺎرة ‪DISTINCT‬‬ ‫ﺗﺴﺘﺨﺪم ﻋﺒﺎرة ‪ DISTINCT‬ﻟﻤﻨﻊ ﺗﻜﺮار ﻇﮭﻮر ﺑﯿﺎﻧﺎت اﻟﺴﺠﻞ اﻟﻤﺴﺘﺮﺟﻊ ﻓﻤﺜﻼ إذا أردﻧﺎ أن‬ ‫ﻧﻌﺮف ﻋﻠﻰ اﻟﻮاﺋﻒ اﻟﺘﻲ ﯾﻨﺘﺴﺐ إﻟﯿﮭﺎ اﻟﻤﻮﻇﻔﻮن واﻟﻤﺨﺰﻧﺔ ﻓﻲ ﺟﺪول اﻟﻤﻮﻇﻔﯿﻦ ﻧﺠﺪ أن ھﻨﺎﻟﻚ‬ ‫وﻇﺎﺋﻒ ﺗﺘﻜﺮر ﺣﺴﺐ ﻋﺪد اﻟﻤﻮﻇﻔﯿﻦ اﻟﺬﯾﻦ ﯾﻨﺘﻤﻮن إﻟﯿﮭﺎ ﻟﻤﻨﻊ ﺗﻜﺮار ﻧﺴﺘﺨﺪم ﻋﺒﺎرة‬ ‫‪DISTINCT‬‬ ‫وﯾﺄﺧﺬ اﻷﻣﺮ ‪ SELECT‬اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ:‬ ‫}… ,]‪SELECT [DITINCT] { * , COLUMN [alies‬‬ ‫; ‪FROM table_name‬‬ ‫ﺣﯿﺚ أن‬ ‫‪ COLUMN‬اﺳﻢ اﻟﺤﻘﻞ‬ ‫‪ table_name‬اﺳﻢ اﻟﺠﺪول‬ ‫ﺗﺴﻤﯿﺔ اﻟﻌﻤﻮد‬ ‫‪alies‬‬ ‫‪ DITINCT‬ﻟﻤﻨﻊ اﻟﺘﻜﺮار‬ ‫ﻣﻠﺨﺺ اﻟﻔﺼﻞ‬ ‫ﺗﻨﺎوﻟﻨﺎ ﻓﻲ ھﺬا اﻟﻔﺼﻞ ﻛﺘﺎﺑﺔ ﺟﻤﻞ ‪ SQL‬اﻟﺒﺴﯿﻄﻮ )ﺟﻤﻠﺔ ‪ (SELECT‬اﻟﺘﻲ ﺗﺴﺘﺨﺪم ﻓﻲ اﺳﺘﺮﺟﺎع‬ ‫اﻟﺒﯿﺎﻧﺎت وﻛﺬﻟﻚ ﺑﻌﺾ اﻟﻘﻮاﻋﺪ اﻹرﺷﺎدﯾﺔ اﻟﺘﻲ ﯾﺠﺐ اﺗﺒﺎﻋﮭﺎ ﻋﻨﺪ ﻛﺘﺎﺑﺔ وﺗﻨﻔﯿﺬ ﺟﻤﻞ اﻟـ‪SQL‬‬ ‫ﻛﻤﺎ ﺗﻨﺎوﻟﻨﺎ اﺳﺘﺨﺪام اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ ﻣﻊ ﺟﻤﻠﺔ ‪ SELECT‬واﻟﻌﻤﻠﯿﺔ اﻹﻟﺤﺎﻗﯿﺔ وﻛﺬﻟﻚ ﻋﺒﺎرة‬ ‫‪ DISTINCT‬اﻟﺘﻲ ﺗﺴﺘﺨﺪم ﻟﻤﻨﻊ ﺗﻜﺮار ﻇﮭﻮر اﻟﺴﺠﻼت‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  17. 17. ‫71‬ ‫اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﺑﺸﺮوط ﺗﺮﺗﯿﺒﮭﺎ‬ ‫اھﺪاف اﻟﻔﺼﻞ‬ ‫١- اﻟﻤﻌﺮﻓﺔ اﻟﺘﺎﻣﺔ ﻷﺳﻤﺎء اﻟﺠﺪاول وأﺳﻤﺎء اﻟﺤﻘﻮل وﺧﺼﺎﺋﺼﮭﺎ واﻧﻮاع اﻟﺒﯿﺎﻧﺎت‬ ‫٢- اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺟﻤﻠﺔ ‪ SQL‬اﻟﺒﺴﯿﻄﺔ )‪(SELECT Statement‬‬ ‫٣- اﺳﺘﺨﺪام أواﻣﺮ ﻣﺤﺮر ‪SQL‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  18. 18. ‫81‬ ‫اﺳﺘﺨﺪام ﺟﻤﻠﺔ اﻟﺸﺮط ‪WHERE CLAUSE‬‬ ‫ﻣﻘﺪﻣﺔ‬ ‫ﻟﻘﺪ ﻗﻤﻨﺎ ﻓﻲ اﻟﻮﺣﺪة اﻟﺴﺎﺑﻘﺔ ﺑﺎﻟﺘﻌﺮف اﻟﻰ ﺟﻤﻠﺔ اﻻﺳﺘﻌﻼم اﻟﺒﺴﯿﻂ )‪(SELECT Statement‬‬ ‫اﻟﺘﻲ ﻣﻦ ﺧﻼﻟﮭﺎ ﺗﻢ اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺠﺪاول . وﻓﻲ ھﺬا اﻟﻔﺼﻞ ﺳﻨﺘﺎﺑﻊ اﻟﺤﺪﯾﺚ ﻋﻦ ھﺬه‬ ‫اﻟﺠﻤﻠﺔ ﯾﺸﻜﻞ أوﺳﻊ ، ﺣﯿﺚ ﺳﻨﺴﺘﺮﺟﻊ اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺠﺪاول ﺑﻨﺎء ﻋﻠﻰ ﺷﺮوط ﻣﻌﯿﻨﺔ ، أو ﻣﺮﺗﺒﺔ‬ ‫ﺣﺴﺐ ﺑﯿﺎﻧﺎت ﺣﻘﻮل ﻣﻌﯿﻨﺔ ، أي ﺳﻨﺪرس اﻟﻤﻮر اﻟﻤﺘﻌﻠﻘﺔ ﺑﺠﻤﻠﺔ اﻟﺸﺮط ﻓﻲ ﺟﻤﻠﺔ اﻻﺳﺘﺮﺟﺎع ، ﻣﻦ‬ ‫ﺣﯿﺚ اﻟﻤﻌﺎﻣﻼت اﻟﺸﺮﻃﯿﺔ وﻃﺮﯾﻘﺔ اﻟﺘﻌﺒﯿﺮ ﻋﻦ اﻟﺸﺮط واﻟﺘﺮﺗﯿﺐ اﻟﺘﺼﺎﻋﺪي واﻟﺘﺮﺗﯿﺐ اﻟﺘﺼﺎﻋﺪي‬ ‫واﻟﺘﺮﺗﯿﺐ اﻟﺘﻨﺎزﻟﻲ ﻟﻠﺒﯿﺎﻧﺎت‬ ‫اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ ﻟﺠﻤﻠﺔ اﻟﺸﺮط‬ ‫}*|...,... ,2‪SELECT {Field1, Field‬‬ ‫1‪FROM Table‬‬ ‫;‪WHERE Condition‬‬ ‫ﺣﯿﺚ أن‬ ‫أﺳﻤﺎء اﻟﺤﻘﻮل اﻟﺘﻲ ﺳﯿﺎم اﺳﺘﺮﺟﺎع ﺑﯿﺎﻧﺎﺗﮭﺎ‬ ‫2‪Field1.Field‬‬ ‫أﺳﻢ اﻟﺠﺪول اﻟﺬي ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﻣﻨﮫ‬ ‫1‪Table‬‬ ‫ﺟﻤﻠﺔ ﺷﺮﻃﯿﺔ أو أﻛﺜﺮ ﺗﻜﻮن ﻧﺘﯿﺠﺘﮭﺎ إﻣﺎ ‪ True‬او ‪ False‬وﺗﺘﻜﻮن ﻣﻦ‬ ‫‪Condition‬‬ ‫أﺳﻤﺎء ﺣﻘﻮل وﺗﻌﺒﯿﺮات وﻣﻌﺎﻣﻼت‬ ‫اﻟﺸﺮح‬ ‫ﺗﺴﺘﺨﺪم ﺟﻤﻠﺔ ‪ WHERE‬ﻟﺤﺼﺮ اﻟﺒﯿﺎﻧﺎت ﻻﺗﻲ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎﻋﮭﺎ ﻣﻦ اﻟﺠﺪاول وھﻲ ﺗﺘﻮي ﻋﻠﻰ‬ ‫ﺷﺮط وﺗﻘﻊ ﻣﺒﺎﺷﺮة ﺑﻌﺪ اﻟﻤﻘﻄﻊ ‪ FROM‬وﻋﻨﺪ ﺗﻨﻔﯿﺬ اﻟﺠﻤﻠﺔ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎﻋﮭﺎ ﺑﯿﺎﻧﺎت اﻟﺤﻘﻮل‬ ‫اﻟﻤﺬﻛﻮرة اﻟﺘﻲ ﺗﺤﻘﻖ اﻟﺸﺮط اﻟﻤﺬﻛﻮر ﻓﻲ ﺟﻤﻠﺔ ‪ WHERE‬وﯾﻤﻜﻦ أن ﺗﻘﺎرن اﻟﺠﻤﻠﺔ اﻟﺸﺮﻃﯿﺔ ﺑﯿﻦ‬ ‫ﻗﯿﻢ أو ﺣﻘﻮل ﻓﻲ اﻟﺠﺪول أو ﺗﻌﺒﯿﺮات ﺣﺴﺎﺑﯿﺔ أي أن ﺟﻤﻠﺔ ‪ WHERE‬ﺗﺤﺘﻮي ﻋﻠﻰ ﻣﺎﯾﻠﻲ:‬ ‫أﺳﻤﺎء اﻟﺤﻘﻮل‬ ‫•‬ ‫ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ‬ ‫•‬ ‫ﻗﯿﻢ ﺛﺎﺑﺘﺔ‬ ‫•‬ ‫ﻣﺘﻐﯿﺮات وﺗﻐﺒﯿﺮات ﺣﺴﺎﺑﯿﺔ‬ ‫•‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  19. 19. ‫91‬ ‫اﻷﻣﻮر اﻟﺘﻲ ﯾﺠﺐ أﺧﺬھﺎ ﺑﻌﯿﻦ اﻻﻋﺘﺒﺎر‬ ‫١- ﻋﻨﺪ اﺳﺘﺨﺪام ﺣﻘﻮل اﻟﻨﺺ وﺣﻘﻮل اﻟﺘﺎرﯾﺦ ﻓﻲ ﺟﻤﻠﺔ اﻟﺸﺮط ﯾﺠﺐ وﺿﻊ اﻟﻘﯿﻢ ﺑﯿﻦ ﻋﻼﻣﺘﻲ‬ ‫ﺗﻨﺼﯿﺺ ﻣﻔﺮدﺗﯿﻦ )‘ ‘(‬ ‫٢- ﻓﻲ ﺣﺎﻟﺔ اﻟﺤﻘﻮل اﻟﻨﺼﯿﺔ ﯾﺠﺐ ﻣﺮاﻋﺎة ﺣﺎﻟﺔ اﻷﺣﺮف ﻛﺒﯿﺮة أو ﺻﻐﯿﺮة‬ ‫٣- ﻓﻲ اﻟﺔ ﺣﻘﻮل اﻟﺘﺎرﯾﺦ ﯾﺠﺐ ﻣﺮاﻋﺎة ﺻﯿﻐﺔ اﻟﺘﺎرﯾﺦ )‪ (FORMAT‬واﻟﺼﯿﻐﺔ اﻷﺳﻠﺴﯿﺔ ﻟﻠﺘﺎرﯾﺦ‬ ‫ھﻲ ﻛﻤﺎ ﯾﻠﻲ ‪DD-MON-YY‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  20. 20. ‫02‬ ‫ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ ‪COMPARISON OPERATORS‬‬ ‫ﺗﺸﻤﻞ ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ اﻟﺮﻣﻮز اﻟﺘﺎﻟﯿﺔ:‬ ‫اﻟﻤﻌﻨﻰ‬ ‫اﻟﻤﻌﺎﻣﻞ‬ ‫ﯾﺴﺎوي‬ ‫=‬ ‫أﻛﺒﺮ ﻣﻦ‬ ‫>‬ ‫أﻗﻞ ﻣﻦ‬ ‫<‬ ‫أﻛﺒﺮ ﻣﻦ أو ﯾﺴﺎوي‬ ‫=>‬ ‫اﻗﻞ ﻣﻦ أو ﯾﺴﺎوي‬ ‫=<‬ ‫ﻻ ﯾﺴﺎوي‬ ‫><‬ ‫ﺗﺴﺘﺨﺪم ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ ﻓﻲ ﺟﻤﻠﺔ اﻟﺸﺮط ﻟﻤﻘﺎرﻧﺔ ﺗﻌﺒﯿﺮ ﺑﺂﺧﺮ ﻓﻲ ﺟﻤﻠﺔ ‪ WHERE‬ﻛﻤﺎ ﻓﻲ‬ ‫اﻟﺼﯿﻐﺔ اﻟﺘﺎﻟﯿﺔ :‬ ‫ﺗﻌﺒﲑ ‪ OPERATOR‬ﺗﻌﺒﲑ ‪WHERE‬‬ ‫ﻣﺜﺎل‬ ‫’69-‪WHERE hiredate=’01-SEP‬‬ ‫0051=>‪WHERE sal‬‬ ‫’‪WHERE name=’Ahmed‬‬ ‫‪WHERE sal<> other‬‬ ‫ﻣﻌﺎﻣﻼت ﻣﻘﺎرﻧﺔ أﺧﺮى‬ ‫اﻟﻤﻌﻨﻰ‬ ‫ﻧﻔﻰ اﻟﻤﻌﺎﻣﻞ‬ ‫اﻟﻤﻌﺎﻣﻞ‬ ‫ﺑﯿﻦ ﻗﯿﻤﺘﯿﻦ‬ ‫‪NOT BETWEEN‬‬ ‫‪BETWEEN‬‬ ‫ﺿﻤﻦ ﻗﺎﺋﻤﺔ ﻣﻦ اﻟﻘﯿﻢ‬ ‫‪NOT IN‬‬ ‫‪IN‬‬ ‫ﻣﻄﺎﺑﻘﺔ ﻧﻤﻂ اﻟﻨﺺ‬ ‫‪NOT LIKE‬‬ ‫‪LIKE‬‬ ‫ھﻞ ھﻲ ﻗﺴﻤﺔ ﻓﺎرﻏﺔ‬ ‫‪IS NOT NULL‬‬ ‫‪IS NULL‬‬ ‫١- اﻟﻤﻌﺎﻣﻞ ‪BETWEEN‬‬ ‫ﯾﺴﺘﺨﺪم ھﺬا اﻟﻤﻌﺎﻣﻞ ﻻﺳﺘﺮﺟﺎع ﺑﯿﺎﻧﺎت اﻟﺼﻔﻮف اﻟﺘﻲ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﻣﺪى ﻣﻦ اﻟﻘﯿﻢ أي اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ‬ ‫ﺗﻘﻊ ﺑﯿﻦ ﻗﯿﻤﺘﯿﻦ‬ ‫ﻣﺜﺎل‬ ‫‪SELECT * FROM S_EMP‬‬ ‫;0052 ‪WHERE sal BETWEEN 1500 AND‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  21. 21. ‫12‬ ‫أي أﻧﮫ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع ﺟﻤﯿﻊ ﺑﯿﺎﻧﺎت اﻟﻤﻮﻇﻔﯿﻦ اﻟﺬﯾﻦ اﻗﻊ رواﺗﺒﮭﻢ ﺑﯿﻦ ٠٠٥١و ٠٠٥٢‬ ‫ﻣﻼﺣﻈﺔ‬ ‫ﺳﺘﻢ اﺳﺘﺮﺟﺎع ﺑﯿﺎﻧﺎت اﻟﻤﻮﻇﻒ اﻟﺬي ﯾﺒﺒﻠﻎ راﺗﺒﮫ ﺗﻤﺎﻣﺎ ٠٠٥١ أو ٠٠٥٢ أي أن ﺟﻤﻠﺔ‬ ‫‪ BETWEEN‬ﺗﺘﻀﻤﻦ اﻟﺤﺪ اﻷﻋﻠﻰ واﻟﺤﺪ اﻷدﻧﻰ ﻟﻠﻘﯿﻢ اﻟﺘﻲ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎﻋﮭﺎ‬ ‫٢- اﻟﻤﻌﺎﻣﻞ ‪IN‬‬ ‫ﯾﺴﺘﺨﺪم ھﺬا اﻟﻤﻌﺎﻣﻞ ﻟﻠﺒﺤﺚ ﻋﻦ ﻗﯿﻤﺔ داﺧﻞ ﻗﺎﺋﻤﺔ ﻣﻦ اﻟﻘﯿﻢ ﻓﺘﺤﺘﻮي ھﺬه اﻟﻘﺎﺋﻤﺔ ﻗﯿﻤﺎ ﺛﺎﺑﺘﺔ أو ﻗﺪ‬ ‫ﺗﻜﻮن ھﺬه اﻟﻘﺎﺋﻤﺔ ﻋﺒﺎرة ﻋﻦ ﺟﻤﻠﺔ اﺳﺘﻌﻼم ﻓﺮﻋﻲ‬ ‫ﻣﺜﺎل‬ ‫‪SELECT name, sal , deptno FROM S_EMP‬‬ ‫;)03,01( ‪WHERE detno IN‬‬ ‫أي أﻧﮫ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع اﺳﻢ اﻟﻤﻮﻇﻒ وراﺗﺒﮫ ورﻗﻢ اﻟﻘﺴﻢ اﻟﺬي ﯾﻌﻤﻞ ﺑﮫ ﻟﻠﻤﻮﻇﻔﯿﻦ اﻟﺬﯾﻦ ﯾﻌﻤﻠﻮن ﻓﻲ‬ ‫ﻗﺴﻢ رﻗﻢ ٠١ أو ﻗﺴﻢ رﻗﻢ ٠٣‬ ‫٣- اﻟﻤﻌﺎﻣﻞ ‪.LIKE‬‬ ‫ﯾﺴﺘﺨﺪم ھﺬا اﻟﻤﻌﺎﻣﻞ ﻟﻠﺒﺤﺚ ﻋﻦ ﻧﺺ ﻣﻌﯿﻦ داﺧﻞ ﺣﻘﻞ ﻧﺼﻲ ، ﺣﯿﺚ ﺳﯿﺘﻢ ﻣﻄﺎﺑﻘﺔ ﺣﺮوف اﻟﻨﺺ‬ ‫اﻟﻤﺬﻛﺮة ﻓﻲ ﺟﻤﻠﺔ اﻟﺸﺮط‬ ‫ﻣﺜﺎل‬ ‫‪SELECT * FROM S_EMP‬‬ ‫;’%‪WHERE name LIKE ‘S‬‬ ‫أي أﻧﮫ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع ﺟﻤﯿﻊ ﺑﯿﺎﻧﺎت اﻟﻤﻮﻇﻔﯿﻦ اﻟﺬﯾﻦ ﺗﺒﺪأ أﺳﻤﺎؤھﻢ ﺑﺤﺮف ‪S‬‬ ‫ﻣﻼﺣﻈﺔ‬ ‫ﺗﺴﺘﺨﺪم اﻻﺷﺎرة % ﻋﻮﺿﺎ ﻋﻦ أي ﻗﯿﻤﺔ ﻧﺼﯿﺔ ، ﻗﺪ ﺗﻜﻮن ﻻ ﺷﻲء أو أي ﻋﺪد ﻣﻦ اﻟﺤﺮوف ﻟﻠﺒﺤﺚ‬ ‫ﻣﺜﻼ ﻋﻦ اﺳﻢ ﻣﻌﯿﻦ ﯾﻨﺘﮭﻲ ﺑﺤﺮف ‪ A‬ﻧﻜﺘﺐ ‘‪ ’%A‬وﻟﻠﺒﺤﺚ ﻋﻦ ﻧﺺ ﯾﺤﺘﻮي ﺣﺮف ‪ A‬ﻧﻜﺘﺐ‬ ‫‘ %‪ ’%A‬وھﻜﺬا ﺑﺈﻣﻜﺎﻧﻨﺎ أن ﻧﺒﺤﺚ ﻋﻦ أي ﻣﻘﻄﻊ داﺧﻞ ﺣﻘﻞ ﻧﺼﻲ ﻣﻌﯿﻦ‬ ‫ﻣﺜﺎل‬ ‫‪SELECT * FROM S_EMP‬‬ ‫;’%‪WHERE name LIKE ‘_A‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  22. 22. ‫22‬ ‫أي أﻧﮫ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع ﺟﻤﺒﻊ ﺑﯿﺎﻧﺎت اﻟﻤﻮﻇﻔﯿﻦ اﻟﺬﯾﻦ ﯾﻜﻮن اﻟﺤﺮف اﻟﺜﺎﻧﻲ ﻓﻲ أﺳﻤﺎﺋﮭﻢ ھﻮ ‪A‬‬ ‫ﻣﻼﺣﻈﺔ‬ ‫ﺗﺴﺘﺨﺪم اﻹﺷﺎرة _ ﻋﻮﺿﺎ ﻋﻦ ﺣﺮف واﺣﺪ ﻓﻘﻂ‬ ‫٤- اﻟﻤﻌﺎﻣﻞ ‪IS NULL‬‬ ‫ﯾﺴﺘﺨﺪم ھﺬا اﻟﻤﻌﺎﻣﻞ ﻟﻔﺤﺺ اﻟﻘﯿﻤﺔ )ﻻ ﺷﻲء( أي ﻗﯿﻢ اﻟﻘﻮل اﻟﺘﻲ ﻻ ﺗﺤﺘﻮي ﻋﻠﻰ ﺑﯿﺎﻧﺎت‬ ‫ﻣﺜﺎل‬ ‫‪SELECT name, sal FROM S_EMP‬‬ ‫;‪WHERE comm. IS NULL‬‬ ‫أي أﻧﮫ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع اﺳﻢ اﻟﻤﻮﻇﻒ وراﺗﺒﮫ ﻟﻠﻤﻮﻇﻔﯿﻦ اﻟﺬﯾﻦ ﻟﯿﺲ ﻟﮭﻢ ﻋﻤﻮﻟﺔ أو ﻟﻢ ﯾﺘﻢ ادﺧﺎل‬ ‫ﻋﻤﻮﻟﺘﮭﻢ‬ ‫اﻟﻤﻌﺎﻣﻼت اﻟﻤﻨﻄﻘﯿﺔ ‪LOGICAL OPERATORS‬‬ ‫اﻟﻤﻌﻨﻰ‬ ‫اﻟﻤﻌﺎﻣﻞ‬ ‫ﯾﺮﺟﻊ ‪ TRUE‬اذا ﻛﺎﻧﺖ ﻛﻠﺘﺎ اﻟﻘﯿﻤﺘﯿﻦ ‪TRUE‬‬ ‫‪AND‬‬ ‫ﯾﺮﺟﻊ ‪ TRUE‬اذا ﻛﺎﻧﺖ اﺣﺪى اﻟﻘﯿﻤﺘﯿﻦ ‪TRUE‬‬ ‫‪OR‬‬ ‫ﯾﺮﺟﻊ ‪ TRUE‬إذا ﻛﺎﻧﺖ اﻟﻔﯿﻤﺔ ‪FALSE‬‬ ‫‪NOT‬‬ ‫ﺗﺴﺘﺨﺪم اﻟﻤﻌﺎﻣﻼت اﻟﻤﻨﻄﻘﯿﺔ ﻟﺘﺮﺟﻊ ﻗﯿﻤﺔ واﺣﺪة ‪ TRUE‬أو ‪ FALSE‬ﻛﻨﺘﯿﺠﺔ ﺑﯿﻦ ﻗﯿﻤﺘﯿﻦ‬ ‫ﻣﻨﻄﻘﯿﺘﯿﻦ او ﻟﻌﻜﺲ ﻗﯿﻤﺔ ﻣﻨﻄﻘﯿﺔ ﻣﻦ ‪ TRUE‬اﻟﻰ ‪ FALSE‬واﻟﻌﻜﺲ‬ ‫ﻣﻦ ﺧﻼل اﻟﻤﻌﺎﻣﻼت اﻟﻤﻨﻄﻘﯿﺔ ﯾﻤﻜﻨﻨﺎ ﺗﻜﻮﯾﻦ أﻛﺜﺮ ﻣﻦ ﺷﺮط داﺧﻞ ﺟﻤﻠﺔ ‪ WHERE‬ﺑﺎﺳﺘﺨﺪام‬ ‫اﻟﻤﻌﺎﻣﻞ‪ AND‬او اﻟﻤﻌﺎﻣﻞ ‪OR‬‬ ‫١- اﻟﻤﻌﺎﻣﻞ ‪AND‬‬ ‫ﯾﺘﻄﻠﺐ ھﺬا اﻟﻤﻌﺎﻣﻞ أن ﺗﻜﻮن ﻛﻼ اﻟﻘﯿﻤﺘﯿﻦ ‪TRUE‬‬ ‫ﻣﺜﺎل‬ ‫‪SELECT name, sal FROM S_EMP‬‬ ‫;002<‪WHERE sal>=2600 AND comm‬‬ ‫أي أﻧﮫ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع اﺳﻢ اﻟﻤﻮﻇﻒ وراﺗﺒﮫ ﻟﻠﻤﻮﻇﻔﯿﻦ اﻟﺬﯾﻦ ﯾﺰﯾﺪ راﺗﺒﮭﻢ ﻋﻦ ٠٠٦٢ وﺗﻘﻞ‬ ‫ﻋﻤﻮﻟﺘﮭﻢ ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ ﻋﻦ ٠٠٢ أي اﻧﮫ ﯾﺠﺐ ﯾﺘﺤﻘﻖ اﻟﺸﺮﻃﯿﻦ ﻻﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  23. 23. ‫32‬ ‫٢- اﻟﻤﻌﺎﻣﻞ ‪OR‬‬ ‫ﯾﺘﻄﻠﺐ ھﺬا اﻟﻤﻌﺎﻣﻞ أن ﺗﻜﻮن أي ﻣﻦ اﻟﻘﯿﻤﺘﯿﻦ ‪TRUE‬‬ ‫ﻣﺜﺎل‬ ‫‪SELECT name, sal FROM S_EMP‬‬ ‫;03=‪WHERE sal <200٠ OR deptno‬‬ ‫أي أﻧﮫ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع اﺳﻢ اﻟﻤﻮﻇﻒ وراﺗﺒﮫ ﻟﻠﻤﻮﻓﯿﻦ اﻟﺬﯾﻦ ﯾﺰﯾﺪ راﺗﺒﮭﻢ ﻋﻦ ٠٠٠٢ أو ﯾﻌﻤﻠﻮن ﻓﻲ‬ ‫ﻗﺴﻢ رﻗﻢ ٠٣ أي أﻧﮫ ﯾﺠﺐ ﯾﺘﺤﻘﻖ أي ﻣﻦ اﻟﺸﺮﻃﯿﻦ ﻻﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت‬ ‫اﻟﻤﻌﺎﻣﻞ ‪NOT‬‬ ‫٣-‬ ‫ﯾﻘﻮم ھﺬا اﻟﻤﻌﺎﻣﻞ ﺑﻌﻜﺲ ﻗﯿﻤﺔ ﻣﻨﻄﻘﯿﺔ ﻣﻦ ‪ TRUE‬إﻟﻰ ‪ FALSE‬واﻟﻌﻜﺲ‬ ‫ﻣﺜﺎل‬ ‫‪SELECT name, sal FROM S_EMP‬‬ ‫;)04,02( ‪WHERE deptno NOT IN‬‬ ‫أي أﻧﮫ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع اﺳﻢ اﻟﻤﻮﻇﻒ وراﺗﺒﮫ ﻟﻠﻤﻮﻇﻔﯿﻦ اﻟﺬﯾﻦ ﻻ ﯾﻌﻤﻠﻮن ﻓﻲ اﻟﻘﺴﻤﯿﻦ رﻗﻢ ٠٢ و رﻗﻢ‬ ‫٠٤ وﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﺗﻢ ﻋﻜﺲ ﻧﺘﯿﺠﺔ اﻟﻤﻌﺎﻣﻞ ‪IN‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  24. 24. ‫42‬ ‫أوﻟﻮﯾﺎت اﻟﻤﻌﺎﻣﻼت اﻟﻤﻨﻄﻘﯿﺔ وﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ‬ ‫إذا ورد أﻛﺜﺮ ﻣﻦ ﻣﻌﺎﻣﻞ ﻣﻨﻄﻘﻲ ﻓﻲ ﻧﻔﺲ ﻣﻠﺔ اﻟﺸﺮط ﻓﺈن أوﻟﻮﯾﺔ ﺗﻨﻔﯿﺬ ھﺬه اﻟﻤﻌﺎﻣﻼت ﻣﻦ اﻷﻋﻠﻰ‬ ‫إﻟﻰ اﻷدﺗﻰ ﻏﻲ ﻛﺎﻟﺘﺎﻟﻲ :‬ ‫اﻷﻗﻮاس‬ ‫١-‬ ‫ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ )> ، < ، = ، ><(‬ ‫٢-‬ ‫‪NOT‬‬ ‫٣-‬ ‫‪AND‬‬ ‫٤-‬ ‫‪OR‬‬ ‫٥-‬ ‫اﺳﺘﺨﺪام ﺟﻤﻠﺔ اﻟﺘﺮﺗﯿﺐ ‪ORDER BY‬‬ ‫اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ‬ ‫}*|…,…,2‪SELECT {Field1, Field‬‬ ‫1‪FROM Table‬‬ ‫‪WHERE Condition‬‬ ‫;]‪ORDER BY Field3 [ASC|DESC‬‬ ‫ﺣﯿﺚ أن‬ ‫اﺳﻢ اﻟﺠﺪول اﻟﺬي ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﻣﻨﮫ‬ ‫1‪Table‬‬ ‫اﺳﻤﺎء اﻟﺤﻘﻮل اﻟﺘﻲ ﺳﺒﺘﻢ اﺳﺘﺮﺟﺎع ﺑﯿﺎﻧﺎﺗﮭﺎ‬ ‫2‪Field1, Field‬‬ ‫ﺟﻤﻠﺔ ﺷﺮﻃﯿﺔ أو اﻛﺜﺮ ﺗﻜﻮن ﻧﺘﯿﺠﺘﮭﺎ إﻣﺎ ‪ True‬أو ‪ False‬وﺗﺘﻜﻮن ﻣﻦ‬ ‫‪Condition‬‬ ‫اﺳﻤﺎء ﺣﻘﻮل وﺗﻌﺒﯿﺮات وﻣﻌﺎﻣﻼت ﻣﻨﻄﻘﯿﺔ‬ ‫اﺳﻢ اﻟﺤﻘﻞ اﻟﺬي ﺳﯿﺘﻢ اﻟﺘﺮﺗﯿﺐ ﺑﻨﺎء ﻋﻠﯿﮫ‬ ‫3‪Field‬‬ ‫اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﻣﺮﺗﺒﺔ ﺗﺼﺎﻋﺪﯾﺎ وﯾﺠﻮز ﻋﺪم ذﻛﺮھﺎ‬ ‫‪ASC‬‬ ‫اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﻣﺮﺗﺒﺔ ﺗﻨﺎزﻟﯿﺎ‬ ‫‪DESC‬‬ ‫اﻟﺸﺮح‬ ‫ﻋﻨﺪ اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﺗﺴﺘﺨﺪم ﺟﻤﻠﺔ ‪ ORDER BY‬ﻟﺘﺮﺗﯿﺐ اﻟﺒﯿﺎﻧﺎت ﺣﺴﺐ ﺣﻘﻞ ﻣﻌﯿﻦ أو ﻋﺪة‬ ‫ﺣﻘﻮل وﺗﺄﺗﻲ ھﺬه اﻟﺠﻤﻠﺔ ﻓﻲ ﻧﮭﺎﯾﺔ ﺟﻤﻠﺔ اﻻﺳﺘﺮﺟﺎع ‪ SELECT‬وﻗﺪ ﯾﻜﻮن ھﺬا اﻟﺘﺮﺗﯿﺐ ﺗﺼﺎﻋﺪﯾﺎ‬ ‫)ﻣﻦ اﻟﻘﯿﻤﺔ اﻟﺼﻐﯿﺮة إﻟﻰ اﻟﻘﯿﻤﺔ اﻟﻜﺒﯿﺮة ( ﻋﻨﺪ اﺳﺘﺨﺪام اﻟﻤﻘﻄﻊ ‪ ASC‬وﻗﺪ ﯾﻜﻮن ﺗﻨﺎزﻟﯿﺎ )ﻣﻦ‬ ‫اﻟﻔﯿﻤﺔ اﻟﻜﺒﯿﺮة إﻟﻰ اﻟﻘﯿﻤﺔ اﻟﺼﻐﯿﺮة( ﻋﻨﺪ اﺳﺘﺨﺪﺗﻢ اﻟﻤﻘﻄﻊ ‪DESC‬‬ ‫ﻣﺜﺎل‬ ‫‪SELECT * FROM S_EMP‬‬ ‫)04,02( ‪WHERE deptno NOT IN‬‬ ‫;‪ORDER BY empno ASC‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  25. 25. ‫52‬ ‫أي أﻧﮫ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع ﺟﻤﯿﻊ ﺑﯿﺎﻧﺎت اﻟﻤﻮﻇﻔﯿﻦ اﻟﺬﯾﻦ ﻻ ﯾﻌﻤﻠﻮن ﻓﻲ اﻟﻘﺴﻤﯿﻦ رﻗﻢ ٠٢ ورﻗﻢ‬ ‫٠٤ وﺳﺘﻜﻮن اﻟﺒﯿﺎﻧﺎت ﻣﺮﺗﺒﺔ ﺗﺼﺎﻋﺪﯾﺎ ﺣﺴﺐ رﻗﻢ اﻟﻤﻮﻇﻒ‬ ‫وﯾﺠﻮز ﻛﺘﺎﺑﺔ اﻟﺠﻤﻠﺔ اﻟﺴﺎﺑﻘﺔ دون اﻟﻤﻘﻄﻊ ‪ ASC‬ﻛﻤﺎﯾﻠﻲ:‬ ‫‪SELECT * FROM S_EMP‬‬ ‫)04,02( ‪WHERE deptno NOT IN‬‬ ‫;‪ORDER BY empno‬‬ ‫ﻣﺜﺎل‬ ‫‪SELECT * FROM S_EMP‬‬ ‫)04,02( ‪WHERE deptno NOT IN‬‬ ‫;‪ORDER BY empno DESC‬‬ ‫أي أﻧﮫ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع ﺟﻤﯿﻊ ﺑﯿﺎﻧﺎت اﻟﻤﻮﻇﻔﯿﻦ اﻟﺬﯾﻦ ﻻ ﯾﻌﻤﻠﻮن ﻓﻲ اﻟﻘﺴﻤﯿﻦ رﻗﻢ ٠٢ ورﻗﻢ‬ ‫٠٤وﺳﺘﻜﻮن اﻟﺒﯿﺎﻧﺎت ﻣﺮﺗﺒﺔ ﺗﻨﺎزﻟﯿﺎ ﺣﺴﺐ رﻗﻢ اﻟﻤﻮﻇﻒ‬ ‫ﻣﻠﺨﺺ اﻟﻔﺼﻞ‬ ‫ﺗﻨﺎوﻟﻨﺎ ﻣﻦ ﺧﻼل ھﺬا اﻟﻔﺼﻞ ﻣﻮﺿﻮع اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﺑﺸﺮوط ﻣﻨﺎﻟﺪاول وﻣﻮﺿﻮع ﺗﺮﺗﯿﺐ‬ ‫اﻟﺒﯿﺎﻧﺎت ﺗﺼﺎﻋﺪﯾﺎ وﺗﻨﺎزﻟﯿﺎ ﻛﻤﺎ وﺗﻄﺮﻗﻨﺎ ﻣﻦ ﺧﻼل دراﺳﺔ ﺟﻤﻠﺔ اﻟﺸﺮط إﻟﻰ ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ‬ ‫واﻟﻤﻌﺎﻣﻼت اﻟﻤﻨﻄﻘﯿﺔ وﻣﻌﺎﻣﻼت أﺧﺮى ﻣﺜﻞ ‪BETWEEN‬و ‪IN‬و ‪ IS NULL‬وﻣﺎﯾﺘﻌﻠﻖ ﺑﮭﺎ‬ ‫ﻣﻦ ﺣﯿﺚ ﻃﺮﯾﻘﺔ اﻻﺳﺘﺨﺪام وﺗﺮﻛﯿﺐ ﺟﻤﻠﺔ اﻟﺸﺮط وأوﻟﻮﯾﺎت ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ واﻟﻤﻌﺎﻣﻼت‬ ‫اﻟﻤﻨﻄﻘﯿﺔ.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  26. 26. ‫62‬ ‫اﻟﺪوال اﻟﺤﺮﻓﯿﺔ‬ ‫اھﺪاف اﻟﻔﺼﻞ‬ ‫ﻓﻲ ﻧﮭﺎﯾﺔ ھﺬا اﻟﻔﺼﻞ إن ﺷﺎء اﷲ ﺳﺘﻜﻮن ﻗﺎدر ﻋﻠﻰ :‬ ‫ﺗﺤﻮﯾﻞ اﻟﺤﺮوف ﻣﻦ ﺻﻐﯿﺮة إﻟﻰ ﻛﺒﯿﺮة وﺑﺎﻟﻌﻜﺲ ﻣﻦ ﺧﻼل ‪SQL‬‬ ‫١-‬ ‫ﺿﺒﻂ وﻣﺤﺎذاة اﻟﺤﺮوف داﺧﻞ اﻟﻨﺺ اﻟﻤﻮﺟﻮد ﻓﻲ‪SQL‬‬ ‫٢-‬ ‫اﻟﻘﯿﺎم ﺑﺤﺬف اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺠﺪاول‬ ‫٣-‬ ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻠﻔﻆ اﻟﺼﻮﺗﻲ ﻟﻠﺒﯿﺎﻧﺎت‬ ‫٤-‬ ‫اﻟﻘﯿﺎم ﺑﺘﻌﺪﯾﻞ ﺑﯿ ﺎﻧﺎت اﻟﺠﺪول‬ ‫٥-‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  27. 27. ‫72‬ ‫اﻟﺪال اﻟﺤﺮﻓﯿﺔ واﻟﻀﺒﻂ واﻟﻤﺤﺎذاة‬ ‫داﻟﺔ ﺗﺤﻮﯾﻞ اﻟﺒﯿﺎﻧﺎت إﻟﻰ ﺣﺮوف ﺻﻐﯿﺮة ‪LOWER Function‬‬ ‫ﺗﺴﻨﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻟﺘﺤﻮﯾﻞ اﻟﺒﯿﺎﻧﺎت ﻣﻦ ﺣﺮوف ﻛﺒﯿﺮة إﻟﻰ ﺣﺮوف ﺻﻐﯿﺮة وﯾﺘﻢ اﺳﺘﺨﺪام ھﺬه اﻟﺪاﻟﺔ‬ ‫ﻏﺎﻟﯿﺎ ﻣﻊ ﺟﻤﻞ أﺧﺮى‬ ‫اﻟﺸﻜﻞ اﻟﻌﺎم اﻧﻈﺮ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ‬ ‫ﻣﺜﺎل .‬ ‫)‪SELECT LOWER (name), LOWER (job‬‬ ‫;‪FROM S_EMP‬‬ ‫ﺳﯿﺘﻢ ﻋﺮض اﺳﻢ اﻟﻤﻮﻇﻒ ووﻇﺒﻘﺘﮫ وﻟﻜﻦ ﺑﺤﺮوف ﺻﻐﯿﺮة‬ ‫‪LOWER name‬‬ ‫‪LOWER job‬‬ ‫--------------------‬ ‫--------------------‬ ‫‪ali‬‬ ‫‪salesman‬‬ ‫‪ahmed‬‬ ‫‪analyst‬‬ ‫‪sami‬‬ ‫‪manager‬‬ ‫‪khaled‬‬ ‫‪manager‬‬ ‫داﻟﺔ ﺗﺤﻮﯾﻞ اﻟﺒﯿﺎﻧﺎت إﻟﻰ ﺣﺮوف ﻛﺒﯿﺮة ‪UPPER Function‬‬ ‫ﺗﺴﻨﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻟﺘﺤﻮﯾﻞ اﻟﺒﯿﺎﻧﺎت ﻣﻦ ﺣﺮوف ﺻﻐﯿﺮة إﻟﻰ ﺣﺮوف ﻛﺒﯿﺮة وﯾﺘﻢ اﺳﺘﺨﺪام ھﺬه اﻟﺪاﻟﺔ‬ ‫ﻏﺎﻟﯿﺎ ﻣﻊ ﺟﻤﻞ أﺧﺮى‬ ‫ﻣﺜﺎل‬ ‫)‪SELECT UPPER (name), UPPER (job‬‬ ‫;‪FROM S_EMP‬‬ ‫داﻟﺔ ﺗﺤﻮﯾﻞ اﻟﺤﺮف اﻷول ﻣﻦ اﻟﺒﯿﺎﻧﺎت إﻟﻰ ﺣﺮف ﻛﺒﯿﺮ ‪INITCAP‬‬ ‫ﺗﺴﺘﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻟﺘﻮﯾﻞ أول ﺣﺮف ﻣﻦ ﺑﯿﺎﻧﺎت اﻟﻘﻞ اﻟﻤﺤﺪد إﻟﻰ ﺣﺮف ﻛﺒﯿﺮ وﯾﺘﻢ اﺳﺘﺨﺪام ھﺬه‬ ‫اﻟﺪاﻟﺔ ﻏﺎﻟﺒﺎ ﻣﻊ اﻟﺠﻤﻞ أﺧﺮى‬ ‫ﻣﺜﺎل‬ ‫)‪SELECT INITCAP (name), INITCAP (job‬‬ ‫;‪FROM S_EMP‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  28. 28. ‫82‬ ‫ﺳﯿﺘﻢ ﻋﺮض اﺳﻢ اﻟﻤﻮﻇﻒ ووﻇﺒﻘﺘﮫ وﻟﻜﻦ اول ﺣﺮف ﻓﻲ ﻛﻼھﻤﺎ ﺳﯿﻜﻮن ﻛﺒﯿﺮ‬ ‫‪INITCAP name‬‬ ‫‪INITCAP job‬‬ ‫--------------------‬ ‫--------------------‬ ‫‪Ali‬‬ ‫‪Salesman‬‬ ‫‪Ahmed‬‬ ‫‪Analyst‬‬ ‫‪Sami‬‬ ‫‪Manager‬‬ ‫‪Khaled‬‬ ‫‪Manager‬‬ ‫داﻟﺔ اﻗﺘﻄﺎع )ﻗﺺ( ﺟﺰء ﻣﻦ ﺑﯿﺎﻧﺎت اﻟﺤﻘﻞ ‪SUBSTR‬‬ ‫ﺗﺴﺘﺨﺪم ﻟﻌﺮض أو ﻗﺺ ﺟﺰء ﻣﻌﯿﻦ ﻣﻦ ﺑﯿﺎﻧﺎت اﻟﻌﻤﻮد او اﻟﺤﻘﻞ‬ ‫اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ‬ ‫)‪SUBSTR (Field1,N ,M‬‬ ‫ﺣﯿﺚ أن‬ ‫اﻟﺤﻘﻞ اﻟﻤﺮاد اﻻﻗﺘﻄﺎع ﻣﻨﮫ‬ ‫‪String‬‬ ‫اول ﺣﺮف ﯾﺒﺪأ ﻋﻨﺪه اﻻﻗﺘﻄﺎع‬ ‫‪N‬‬ ‫ﻋﺪد اﻟﺤﺮوف اﻟﻤﺮاد اﻗﺘﻄﺎﻋﮭﺎ‬ ‫‪M‬‬ ‫ﻣﺜﺎل‬ ‫)3,1,'‪SUB STR (' Ahmed‬‬ ‫ﻗﯿﻜﻮن اﻟﻨﺎﺗﺞ‬ ‫‪Ahm‬‬ ‫ﻣﺜﺎل‬ ‫)2,1 ,‪SELECT SUBSTR (name‬‬ ‫;‪FROM S_EMP‬‬ ‫ﺳﯿﺘﻢ اﻗﺘﻄﺎع اﻟﺤﺮف اﻷول واﻟﺜﺎﻧﻲ ﻣﻦ اﺳﻢ اﻟﻤﻮﻇﻒ وﻋﺮﺿﮭﺎ‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  29. 29. ‫92‬ ‫داﻟﺔ ﻧﺤﺪﯾﺪ ﻣﻮﻗﻊ ﺣﺮف ﻓﻲ ﺑﯿﺎﻧﺎت ﺣﻘﻞ ‪INSTR Function‬‬ ‫ﺗﺴﺘﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻟﺘﺤﺪﯾﺪ ﻣﻜﺎن أو ﻣﻮﻗﻊ ﺣﺮف ﻓﻲ ﺑﯿﺎﻧﺎت اﻟﻌﻤﻮد أو اﻟﺤﻘﻞ‬ ‫اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ‬ ‫)’‪INSTR (Field, ‘C‬‬ ‫ﺣﯿﺚ أن‬ ‫اﻟﺤﻘﻞ اﻟﺬي ﺳﯿﺘﻢ اﻟﺘﺤﺪﯾﺪ ﻣﻨﮫ‬ ‫‪Field‬‬ ‫اﻟﺤﺮف اﻟﻤﺮاد اﺳﺘﺨﺮاج ﻣﻮﻗﻌﮫ‬ ‫‪C‬‬ ‫ﻣﺜﺎل‬ ‫)’‪SELECT INSTR (name, ‘l‬‬ ‫;‪FROM S_EMP‬‬ ‫ﺳﯿﺘﻢ اﺳﺘﺨﺮاج ﻣﻮﻗﻊ اﻟﺤﺮف ‪ l‬ﻣﻦ ﺣﻘﻞ اﺳﻢ اﻟﻤﻮﻇﻒ‬ ‫‪INSTR name‬‬ ‫--------------------‬ ‫2‬ ‫0‬ ‫0‬ ‫4‬ ‫داﻟﺔ ﺿﺒﻂ وﻣﺤﺎذاة ﻧﺎﺣﯿﺔ اﻟﯿﻤﯿﻦ ﻟﻠﺒﯿﺎﻧﺎت ‪RPAD Function‬‬ ‫ﺗﺴﺘﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻟﻤﺤﺎذاة اﻟﺒﯿﺎﻧﺎت ﻧﺎﺣﯿﺔ اﻟﯿﻤﯿﻦ ﺣﯿﺚ ﯾﺘﻢ ﻣﻞء ﺣﺮف ﻣﻌﯿﻦ )أو ﺣﺮوف ( ﯾﻤﯿﻦ‬ ‫اﻟﺒﯿﺎﻧﺎت‬ ‫اﻟﺸﻜﻞ اﻟﻌﺎم‬ ‫)’‪RPAD (COL | VALUE, N, ‘ String‬‬ ‫ﺣﯿﺚ أن‬ ‫‪ COL‬اﺳﻢ اﻟﺤﻘﻞ اﻟﻤﻄﻠﻮب ﻣﺤﺎذاة ﺑﯿﺎﻧﺎﺗﮫ ، ووﺿﻊ ﺣﺮف )ﺣﺮوف( ﯾﻤﯿﻨﮫ‬ ‫ﯾﻤﻜﻦ وﺿﻊ ﻗﯿﻤﺔ أو ﻣﺘﻐﯿﺮ ﺣﺮﻓﻲ ﺑﯿﻦ ﻋﻼﻣﺘﻲ ﺗﻨﺼﯿﺺ )quot; quot;(‬ ‫‪VALUE‬‬ ‫ﻋﺪد ﻣﺮات ﻇﮭﻮر اﻟﻒ اﻟﺠﺪﯾﺪ‬ ‫‪N‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  30. 30. ‫03‬ ‫اﻟﺤﺮف أو اﻟﻤﺘﻐﯿﺮ اﻟﺬي ﺳﯿﺘﻢ ﻣﻞء اﻟﻔﺮاﻏﺎت ﺑﮫ‬ ‫‪String‬‬ ‫ﻣﺜﺎل‬ ‫)’$’,7 ,‪SELECT name, RPAD (sal‬‬ ‫;‪FROM S_EMP‬‬ ‫‪NAME‬‬ ‫‪RPAD SAL‬‬ ‫-------------------- --------------------‬ ‫‪Ali‬‬ ‫$$$$869‬ ‫‪Ahmed‬‬ ‫$$$6391‬ ‫‪SAMI‬‬ ‫$5.2151‬ ‫‪KHALED‬‬ ‫57.9953‬ ‫داﻟﺔ ﺿﺒﻂ وﻣﺤﺎذاة ﻧﺎﺣﯿﺔ اﻟﯿﺴﺎر ﻟﻠﺒﯿﺎﻧﺎت ‪LPAD Function‬‬ ‫ﺗﺴﺘﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻟﻤﺤﺎذاة اﻟﺒﯿﺎﻧﺎت ﻧﺎﺣﯿﺔ اﻟﯿﻤﯿﻦ ﺣﯿﺚ ﯾﺘﻢ ﻣﻞء ﺣﺮف ﻣﻌﯿﻦ )أو ﺣﺮوف ( ﯾﺴﺎر‬ ‫اﻟﺒﯿﺎﻧﺎت‬ ‫اﻟﺸﻜﻞ اﻟﻌﺎم‬ ‫)’‪LPAD (COL | VALUE, N, ‘ String‬‬ ‫ﺣﯿﺚ أن‬ ‫‪ COL‬اﺳﻢ اﻟﺤﻘﻞ اﻟﻤﻄﻠﻮب ﻣﺤﺎذاة ﺑﯿﺎﻧﺎﺗﮫ ، ووﺿﻊ ﺣﺮف )ﺣﺮوف( ﯾﻤﯿﻨﮫ‬ ‫ﯾﻤﻜﻦ وﺿﻊ ﻗﯿﻤﺔ أو ﻣﺘﻐﯿﺮ ﺣﺮﻓﻲ ﺑﯿﻦ ﻋﻼﻣﺘﻲ ﺗﻨﺼﯿﺺ )quot; quot;(‬ ‫‪VALUE‬‬ ‫ﻋﺪد ﻣﺮات ﻇﮭﻮر اﻟﻒ اﻟﺠﺪﯾﺪ‬ ‫‪N‬‬ ‫اﻟﺤﺮف أو اﻟﻤﺘﻐﯿﺮ اﻟﺬي ﺳﯿﺘﻢ ﻣﻞء اﻟﻔﺮاﻏﺎت ﺑﮫ‬ ‫‪String‬‬ ‫ﻣﺜﺎل‬ ‫)’#’,7 ,‪SELECT name, LPAD (sal‬‬ ‫;‪FROM S_EMP‬‬ ‫‪NAME‬‬ ‫‪LPAD SAL‬‬ ‫--------------------‬ ‫--------------------‬ ‫‪Ali‬‬ ‫869####‬ ‫‪Ahmed‬‬ ‫6391###‬ ‫‪SAMI‬‬ ‫5.2151#‬ ‫‪KHALED‬‬ ‫57.9953‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  31. 31. ‫13‬ ‫ﺣﺬف و ﺗﻌﺪﯾﻞ اﻟﺒﯿﺎﻧﺎت‬ ‫داﻟﺔ ﺣﺬف ﺑﯿﺎﻧﺎت ﻧﺎﺣﯿﺔ ﯾﻤﯿﻦ اﻟﺤﻘﻞ ‪RTRIM Function‬‬ ‫ﺗﺴﺘﻨﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻟﺤﺬف ﺑﯿﺎﻧﺎت ﻣﻦ ﻧﺎﯾﺔ ﯾﻤﯿﻦ اﻟﻌﻤﻮد او اﻟﺤﻘﻞ اﻟﻤﺤﺪد‬ ‫اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ‬ ‫)’‪RTRIM (COL | VALUE,‘ String‬‬ ‫ﺣﯿﺚ أن‬ ‫اﺳﻢ اﻟﻘﻞ أو اﻟﻌﻤﻮد‬ ‫‪COL‬‬ ‫اﻟﻘﯿﻤﺔ اﻟﺒﺪﯾﻠﺔ ﻟﻠﻌﻤﻮد‬ ‫‪VALUE‬‬ ‫ﻗﯿﻤﺔ اﻟﺤﺮف أو اﻟﻤﺘﻐﯿﺮ اﻟﺬي ﺳﯿﺘﻢ اﻟﺒﺤﺚ ﻋﻨﮫ‬ ‫‪String‬‬ ‫ﻣﺜﺎل‬ ‫)’‪SELECT name, RTRIM (job،’man‬‬ ‫;‪FROM S_EMP‬‬ ‫ﺳﯿﺘﻢ ﺣﺬف ‪ man‬ﻣﻦ ﯾﻤﯿﻦ اﻟﻌﻤﻮد ‪job‬‬ ‫‪name‬‬ ‫‪RTRIM job‬‬ ‫--------------------‬ ‫--------------------‬ ‫‪ALI‬‬ ‫‪Sales‬‬ ‫‪AHMED‬‬ ‫‪Analyst‬‬ ‫‪SAMI‬‬ ‫‪Manager‬‬ ‫‪Khaled‬‬ ‫‪Manager‬‬ ‫داﻟﺔ ﺣﺬف ﺑﯿﺎﻧﺎت ﯾﺴﺎر اﻟﺤﻘﻞ ‪LTRIM Function‬‬ ‫ﺗﺴﺘﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻟﺤﺬف ﺑﯿﺎﻧﺎت ﻣﻦ ﻧﺎﺣﯿﺔ ﯾﺴﺎر اﻟﻌﻤﻮد أو اﻟﺤﻘﻞ اﻟﻤﺤﺪد‬ ‫اﻟﺸﻜﻞ اﻟﻌﺎم‬ ‫)’‪LTRIM (COL | VALUE,‘ String‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  32. 32. 32 ‫ﺣﯿﺚ أن‬ ‫اﺳﻢ اﻟﻘﻞ أو اﻟﻌﻤﻮد‬ COL ‫اﻟﻘﯿﻤﺔ اﻟﺒﺪﯾﻠﺔ ﻟﻠﻌﻤﻮد‬ VALUE ‫ﻗﯿﻤﺔ اﻟﺤﺮف أو اﻟﻤﺘﻐﯿﺮ اﻟﺬي ﺳﯿﺘﻢ اﻟﺒﺤﺚ ﻋﻨﮫ‬ String ‫ﻣﺜﺎل‬ SELECT name, LTRIM (job،’man’) FROM S_EMP; job ‫ ﻣﻦ ﯾﺴﺎر اﻟﻌﻤﻮد‬man ‫ﺳﯿﺘﻢ ﺣﺬف‬ name LTRIM job -------------------- -------------------- ALI Salesman AHMED Analyst SAMI ager Khaled ager LENGTH Function ‫داﻟﺔ ﻗﯿﺎس ﻃﻮل ﺑﯿﺎﻧﺎت اﻟﺤﻘﻞ‬ ‫ﺗﺴﺘﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻹﯾﺠﺎد ﻃﻮل ﺑﯿﺎﻧﺎت ﻣﺘﻐﯿﺮ أو اﻟﺤﻘﻞ اﻟﻤﺤﺪد‬ ‫اﻟﺸﻜﻞ اﻟﻌﺎم‬ LENGTH (COL | VALUE) ‫ﻣﺜﺎل‬ SELECT LENGTH (name), LENGTH (‘WELCOME’) FROM S_EMP; .WELCOME ‫ﺳﯿﺘﻢ ﺣﺴﺎب ﻃﻮل اﺳﻢ اﻟﻤﻮﻇﻒ وﻃﻮل ﻛﻠﻤﺔ‬ LENGTH name LENGTH ‘WELCOME’ -------------------- -------------------- 3 7 5 7 4 7 6 7 PDF created with pdfFactory Pro trial version www.pdffactory.com
  33. 33. ‫33‬ ‫داﻟﺔ ﺗﻌﺪﯾﻞ ﺑﯿﺎﻧﺎت ﻓﻲ ﺟﺪول ‪TRANSLATE Function‬‬ ‫ﺗﺴﺘﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻟﻨﻌﺪﯾﻞ أو ﻟﺘﺒﺪﯾﻞ ﺑﯿﺎﻧﺎت ﻣﻮﺟﻮدة ﻓﻲ ﺟﺪول ﻣﻌﯿﻦ‬ ‫اﻟﺸﻜﻞ اﻟﻌﺎم:‬ ‫)‪TRANSLATE (COL|VALUE, FROM, TO‬‬ ‫ﺣﯿﺚ أن‬ ‫اﺳﻢ اﻟﻘﻞ أو اﻟﻌﻤﻮد‬ ‫‪COL‬‬ ‫اﻟﻘﯿﻤﺔ اﻟﺒﺪﯾﻠﺔ ﻟﻠﻌﻤﻮد )اﻟﺒﯿﺎﻧﺎت(‬ ‫‪VALUE‬‬ ‫اﻟﺤﺮف )اﻟﺤﺮوف( اﻟﻤﻄﻠﻮب ﺗﻐﯿﯿﺮه‬ ‫‪FROM‬‬ ‫اﻟﺤﺮف )اﻟﺤﺮوف( اﻟﻤﻄﻠﻮب اﺣﻼﻟﮫ‬ ‫‪TO‬‬ ‫ﻣﺜﺎل‬ ‫)’‪SELECT name, TRANSLATE (name,’MI’,’WY‬‬ ‫;5.2151=‪FROM S_EMP WHERE sal‬‬ ‫1‬ ‫ﺳﯿﺘﻢ اﺳﺘﺒﺪال اﻟﺮﻓﯿﻦ ‪ MI‬ﺑﺎﻟﺤﺮﻓﯿﻦ ‪WY‬‬ ‫‪name‬‬ ‫)‪TRANSLATE(name‬‬ ‫-------------------- --------------------‬ ‫‪SAMI‬‬ ‫‪SAWY‬‬ ‫داﻟﺔ ﻋﺮض اﻟﻠﻔﻆ اﻟﺼﻮﺗﻲ ‪SOUNDEX Function‬‬ ‫ﺗﺴﺘﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻹﯾﺠﺎد اﻟﻠﻔﻆ اﻟﺼﻮﺗﻲ ﻟﻠﺒﯿﺎﻧﺎت )اﻟﻤﺘﻐﯿﺮات( اﻟﻤﻮﺟﻮدة ﻓﻲ ﺟﺪول ﻣﻌﯿﻦ ﺣﺘﻰ وﻟﻮ‬ ‫ﻛﺎن ھﻨﺎك اﺧﺘﻼف ﻓﻲ ﺑﻌﺾ اﻷﺣﺮف اﻟﮭﺠﺎﺋﯿﺔ‬ ‫اﻟﺸﻜﻞ اﻟﻌﺎم:‬ ‫)‪SOUNDEX (COL|VALUE‬‬ ‫ﺣﯿﺚ أن‬ ‫اﺳﻢ اﻟﻘﻞ أو اﻟﻌﻤﻮد‬ ‫‪COL‬‬ ‫اﻟﻘﯿﻤﺔ اﻟﺒﺪﯾﻠﺔ ﻟﻠﻌﻤﻮد )اﻟﺒﯿﺎﻧﺎت(‬ ‫‪VALUE‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  34. 34. ‫43‬ ‫ﻣﺜﺎل‬ ‫)‪SELECT name, SOUNDEX (name‬‬ ‫;5.2151=‪FROM S_EMP WHERE sal‬‬ ‫1‬ ‫ﻣﻠﺨﺺ اﻟﻔﺼﻞ‬ ‫ﺗﻨﺎوﻟﻨﺎ اﻟﺪوال اﻟﺤﺮﻓﯿﺔ اﻟﺨﺎﺻﺔ ﺑﺘﺤﻮﯾﻞ ﺣﺎﻟﺔ اﻟﺤﺮوف ﻣﻦ ﺣﺮوف ﻛﺒﯿﺮة إﻟﻰ ﺣﺮوف ﺻﻐﯿﺮة‬ ‫واﻟﻌﻜﺲ وﻛﺬﻟﻚ ﺿﺒﻂ ﻣﺤﺎذاة اﻟﺤﺮوف داﺧﻞ اﻟﻨﺺ وﻣﻦ اﻟﺪوال اﻟﮭﺎﻣﺔ اﻟﻨﻲ ﺗﻨﺎوﻟﻨﺎھﺎ اﯾﻀﺎ دوال‬ ‫ﺣﺬف اﻟﺒﯿﺎﻧﺎت ودوال ﻋﺮض اﻟﻠﻔﻆ اﻟﺼﻮﺗﻲ وﺗﻌﺪﯾﻞ ﺑﯿﺎﻧﺎت اﻟﺠﺪاول .‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  35. 35. ‫53‬ ‫دوال اﻟﺘﺎرﯾﺦ واﻟﺘﺤﻮﯾﻞ‬ ‫أھﺪاف اﻟﻔﺼﻞ‬ ‫ﻓﻲ ﻧﮭﺎﯾﺔ ھﺬا اﻟﻔﺼﻞ إن ﺷﺎء اﷲ ﺗﻜﻮن ﻗﺎدر ﻋﻠﻰ :‬ ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ دوال اﻟﺘﺎرﯾﺦ ﻓﻲ ‪SQL‬‬ ‫١-‬ ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ أدوات اﻟﺘﺤﻮﯾﻞ ﻓﻲ ‪SQL‬‬ ‫٢-‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  36. 36. ‫63‬ ‫دوال اﻟﺘﺎرﯾﺦ‬ ‫اﻟﻮﻓﺖ ھﻮ اﻟﺤﯿﺎة واﻟﺘﺎرﯾﺦ ھﻮ أﺻﻞ اﻻﻣﻢ ﻟﺬا ﻟﺘﺎ ﻟﻨﺘﻌﻤﻖ ﻓﻲ ﻛﯿﻔﯿﺔ اﺳﺘﺨﺪام دوال اﻟﺘﺎرﯾﺦ‬ ‫اﻟﺪاﻟﺔ ‪Sysdate‬‬ ‫ھﺬه اﻟﺪاﻟﺔ ﺗﻘﻮم ﺑﺈﻋﻄﺎء ﺗﺎرﯾﺦ اﻟﯿﻮم اﻟﺤﺎﻟﻲ أي اﻟﺘﺎرﯾﺦ اﻟﻤﺨﺰن ﻓﻲ ﺟﮭﺎز اﻟﻜﻤﺒﯿﻮﺗﺮ اﻟﺬي ﯾﻨﻔﺬ ﻋﻠﯿﮫ‬ ‫ھﺬا اﻷﻣﺮ وﯾﺘﻢ ﺗﺨﺰﯾﻦ اﻟﺘﺎرﯾﺦ وھﻤﻲ ﯾﺴﻤﻰ ‪ Dual‬وھﻮ ﻣﻮﺟﻮد أﺻﻼ داﺧﻞ ﻟﻐﺔ أوراﻛﻞ ﻟﺬﻟﻚ‬ ‫ﯾﺠﺐ أن ﺗﺘﻢ ﻋﻤﻠﯿﺔ اﺳﺘﺪﻋﺎء اﻟﺘﺎرﯾﺦ ﻣﻦ ھﺬا اﻟﺠﺪول‬ ‫ﻣﺜﺎل‬ ‫ﻻﺳﺘﺪﻋﺎء ﺗﺎرﯾﺦ اﻟﯿﻮم اﻟﺤﺎﻟﻲ ﻧﻘﻮم ﺑﺎﻵﺗﻲ :‬ ‫;‪SELECT SYSDATE FROM DUAL‬‬ ‫اﻟﺪاﻟﺔ ‪NEXT_DAY‬‬ ‫ﺗﺴﺘﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻟﻌﺮض اﻟﺘﺎرﯾﺦ اﻟﺬي ﯾﻮاﻓﻖ اﻟﺘﺎرﯾﺦ اﻟﺘﺎﻟﻲ ﻟﻠﺘﺎرﯾﺦ اﻟﻤﻌﻄﻰ‬ ‫ﻓﻌﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل إذا ﻛﺎن اﻟﺘﺎرﯾﺦ اﻟﻤﻮﺟﻮد ھﻮ ٧/٧/٣٠٠٢ وﻃﻠﺐ ﻣﻦ اﻟﺠﮭﺎز ﺗﺤﺪﯾﺪ اﻟﯿﻮم اﻟﺬي‬ ‫ﯾﺼﺎدف ﯾﻮم اﻟﺠﻤﻌﺔ ﻣﻦ ﻧﻔﺲ اﻟﺸﮭﺮ ﻓﺈﻧﮫ ﯾﻌﻄﻲ ١١/٧/٣٠٠٢‬ ‫اﻟﺸﻜﻞ اﻟﻌﺎم‬ ‫)‪NEXT_DAY (DATE,CHAR‬‬ ‫ﺣﯿﺚ إن ‪ DATE‬ھ ﻮ اﻟﺘﺎرﯾﺦ اﻟﻤﻌﻄﻰ واﻟﻤﺮاد إﯾﺠﺎد اﻟﺘﺎرﯾﺦ ﻟﻠﯿﻮم اﻟﺬي ﯾﻠﯿﮫ ﻣﻦ ﺧﻼل وﺿﻊ اﺳﻢ‬ ‫اﻟﯿﻮم داﺧﻞ اﻟﻤﺘﻐﯿﺮ ‪CHAR‬‬ ‫ﻣﺜﺎل‬ ‫;‪SELECT NEXT_DAY (‘7/7/2003’,’MONDAY’) FROM DUAL‬‬ ‫ﻧﺘﯿﺠﺔ اﻟﺘﻨﻔﯿﺬ‬ ‫‪NEXT_DAY‬‬ ‫-------------------‬ ‫3002/7/11‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  37. 37. ‫73‬ ‫داﻟﺔ ﺗﺤﺪﯾﺪ اﻟﯿﻮم اﻷﺧﯿﺮ ﻣﻦ ﻛﻞ ﺷﮭﺮ ‪LAST_DAY‬‬ ‫ﺗﻘﻮم ھﺬه اﻟﺪاﻟﺔ ﺑﺘﺤﺪﯾﺪ آﺧﺮ ﯾﻢ ﻣﻦ ﻛﻞ ﺷﮭﺮ ﻣﻌﻄﻰ‬ ‫اﻟﺸﻜﻞ اﻟﻌﺎم‬ ‫)‪LAST_DAY (DATE‬‬ ‫ﺣﯿﺚ أن ‪ DATE‬ھﻮ ﺗﺎرﯾﺦ اﻟﺠﮭﺎز أو ﺗﺎرﯾﺦ ﺗﻘﻮم ﺑﺈدﺧﺎﻟﮫ‬ ‫ﻣﺜﺎل‬ ‫;‪SELECT LAST_DAY (SYSDATE) FROM DUAL‬‬ ‫ﺑﻔﺮض أن ﺗﺎرﯾﺦ اﻟﮭﺎز ‪ SYSDATE‬ھﻮ٢/٢/٣٠٠٢ ﻓﺈن ﻧﺘﯿﺠﺔ ﻟﻠﺠﻤﻠﺔ اﻟﺴﺎﺑﻘﺔ ھﻲ ﻛﻤﺎ ﯾﻠﻲ :‬ ‫)‪LAST_DAY(SYSDATE‬‬ ‫--------------------------------‬ ‫3002/2/82‬ ‫ﻣﻼﺣﻈﺔ‬ ‫ﯾﻤﻜﻨﻚ أن ﺗﻘﻮم ﺑﻄﺮح ﺗﺎرﯾﺦ ﻣﻦ ﺗﺎرﯾﺦ آﺧﺮ ﻛﺎﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ‬ ‫‪SELECT SYSDATE – HIRDATE FROM S_EMP‬‬ ‫ﺣﯿﺚ ‪ HIRDATE‬ﺣﻔﻞ ﺗﺎرﯾﺦ .‬ ‫اﻟﺪاﻟﺔ ‪MONTHES_BETWEEN‬‬ ‫ﺗﺴﺘﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻟﻌﺮض ﻣﺪة اﻟﻔﺮق ﺑﯿﻦ ﺷﮭﺮﯾﻦ‬ ‫اﻟﺸﻜﻞ اﻟﻌﺎم‬ ‫‪MONTHES_BETWEEN‬‬ ‫)2‪(DATE1,DATE‬‬ ‫ﻣﺜﺎل‬ ‫‪MONTHES_BETWEEN‬‬ ‫)’49-‪(’01-SEP-95’,’11-JAN‬‬ ‫ﺳﯿﻜﻮن اﻟﻨﺎﺗﺞ‬ ‫4914779.1‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  38. 38. ‫83‬ ‫اﻟﺪاﻟﺔ ‪ADD_ MONTHES‬‬ ‫ﺗﺴﺘﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻹﺿﺎﻓﺔ ﻋﺪد ﻣﻦ اﻷﺷﮭﺮ إﻟﻰ اﻟﺘﺎرﯾﺦ ﻣﻌﻄﻰ‬ ‫)‪ADD_MONTHES (DATE,M‬‬ ‫ﺣﯿﺚ أن‬ ‫اﻟﺘﺎرﯾﺦ اﻟﻤﻌﻄﻰ‬ ‫‪DATE‬‬ ‫ﻋﺪد اﻻﺷﮭﺮ‬ ‫‪M‬‬ ‫ﻣﺜﺎل‬ ‫)6,’99-‪ADD_MONTHES (‘7-JAN‬‬ ‫ﻋﻨﺪ اﻟﺘﻨﻔﯿﺬ ﺳﯿﻜﻮن اﻟﻨﺎﺗﺞ‬ ‫99-‪7-JUL‬‬ ‫اﻟﺪاﻟﺔ ‪ROUND‬‬ ‫ﺗﺴﺘﺨﺪم ھﺬه اﻟﺪاﻟﺔ ﻟﻌﺮض اﻗﺮب ﺑﺪاﯾﺔ ﺷﮭﺮ أو ﺳﻨﮫ ﻟﺘﺎرﯾﺦ ﻣﻌﯿﻦ ﺗﺤﺪده‬ ‫ﻣﻼﺣﻈﺔ :ﺗﺴﺘﺨﺪم ھﺬه اﻟﺪاﻟﺔ أﯾﻀﺎ ﻟﻠﺒﯿﺎﻧﺎت اﻟﺮﻗﻤﯿﺔ ﻟﻠﺘﻘﺮﯾﺐ وﺳﯿﺘﻢ ﺷﺮﺣﮭﺎ ﻓﻲ ﺑﺎب اﻟﺪوال اﻟﺮﻗﻤﯿﺔ‬ ‫اﻟﺼ﯀
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×