Oracle
- 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
ﻣﮭﺎم ﻣﺪﯾﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )(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
ﻋﻤﻠﯿﺎت ﻧﻈﺎم إدارة ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت
ﯾﺸﺘﻤﻞ ﻧﻈﺎم إدارة ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اوراﻛﻞ ﻋﻠﻰ اﻟﻌﻤﻠﯿﺎت اﻟﺘﺎﻟﯿﺔ
١- أواﻣﺮ ﻟﻐﺔ ﺗﻌﺮﯾﻒ اﻟﺒﯿﺎﻧﺎت )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
اﻟﺘﺮﻛﯿﺐ اﻟﺪاﺧﻠﻲ ﻟﻨﻈﺎم أوراﻛﻞ
أھﺪاف اﻟﻔﺼﻞ
ﯾﺘﻨﺎول ھﺬا اﻟﻔﺼﻞ اﻟﺘﺮﻛﯿﺐ اﻟﺪاﺧﻠﻲ ﻟﻨﻈﺎم ﻗﺘﻌﺪة اﻟﺒﯿﺎﻧﺎت أوراﻛﻞ وﻓﻲ ﻧﮭﺎﯾﺔ ھﺬا اﻟﻔﺼﻞ
ﺳﺘﻜﻮن ﻗﺎدرا ﺑﻤﺸﯿﺌﺔ اﷲ ﻋﻠﻰ :
١- ﻓﮭﻢ اﻟﻌﻼﻗﺎت ﺑﯿﻦ اﻟﺠﺪاول
٢- ﺗﻌﺮﯾﻒ ﻧﻤﺬﺟﺔ اﻟﻌﻼﻗﺔ
٣- ﻓﮭﻢ ﻣﻜﻮﻧﺎت ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ
٤- ﻓﮭﻢ اﻟﻌﻼﻗﺔ ﺑﯿﻦ اﻟﺨﺎدم واﻟﻤﺴﺘﻔﺒﺪ
٥- ﻗﮭﻢ اﻟﺨﺎدم SERVER
٦- ﻓﮭﻢ اﻟﻤﺴﺘﻔﯿﺪ Client
PDF created with pdfFactory Pro trial version www.pdffactory.com
- 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
اﻟﻌﻼﻗﺔ ﺑﯿﻦ اﻟﺠﺪاول
ﻟﺮﺑﻂ ﻋﻼﻗﺔ ﺑﺄﺧﺮى ﺗﺘﺤﺘﺎج إﻟﻰ ﻃﺮﯾﻘﺔ ﻟﻼرﺗﺒﺎط . وھﺬه اﻟﻄﺮﯾﻘﺔ ﺗﺴﺘﺨﺪم ﺣﻘﻼ Fieldﯾﻜﻮن
ﻣﻮﺟﻮدا ﻓﺐ اﻟﺠﺪوﻟﯿﻦ وﺣﻘﻞ اﻻرﺗﺒﺎط ﯾﺴﻤﻰ ﻓﻲ اﻟﺠﺪول اﻷول ﺑﺎﻟﻤﻔﺘﺎح اﻟﺮﺋﯿﺴﻲ (Primary
) Keyﻟﻠﺠﺪول اﻷل وﯾﺴﻤﻰ ﯾﺎﻟﻤﻔﺘﺎح ال ) (Foreign Keyﻓﻲ اﻟﺠﺪول اﻟﺜﺎﻧﻲ
PDF created with pdfFactory Pro trial version www.pdffactory.com
- 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
ﻣﻜﻮﻧﺎت ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ 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
اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ ﻛﯿﻔﯿﺔ ﻗﺮاءة أو ﺗﻌﺪﯾﻞ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺑﺎﺳﺘﺨﺪام أوراﻛﻞ
ﺷﻜﻞ اﻟﻌﻼﻗﺔ ﺑﯿﻦ Kernelو SQLو ﻗﺎﻣﻮس اﻟﺒﯿﺎﻧﺎت
PDF created with pdfFactory Pro trial version www.pdffactory.com
- 10. 01
اﻟﻌﻼﻗﺔ ﺑﯿﻦ اﻟﺨﺎدم واﻟﻤﺴﺘﻔﯿﺪ)اﻟﻌﻤﯿﻞ( Client/Server
ﯾﺘﻜﻮن ﻧﻈﺎم أوراﻛﻞ ﻣﻦ ﻣﻜﻮﻧﯿﻦ
١- اﻟﺨﺎدم Server
٢- اﻟﻤﺴﺘﻔﯿﺪ )اﻟﻌﻤﯿﻞ – اﻟﻤﺰود( Client
اﻟﺨﺎدم Server
ﯾﺤﻮي اﻟﺨﺎدم ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻤﺮﻛﺰﯾﺔ ووﻇﺎﺋﻔﮭﺎ ، وﻛﺬﻟﻚ ﻛﺎﻓﺔ اﻟﻌﻤﻠﯿﺎت اﻟﺨﻠﻔﯿﺔ ﻟﺤﻔﻆ ھﺬه اﻟﻔﺎﻋﺪة
وﺑﺤﻮي اﯾﻀﺎ أدوات ﺗﺸﻐﯿﻞ وإﯾﻘﺎف ﻓﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت
واﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ اﻟﺒﻨﺎء اﻟﺪاﺧﻠﻲ ﻟﻨﻈﺎم اﻟﺨﺎدم
ﻣﺪﯾﺮ اﻟﺨﺎدم
ﺑﺮوﺗﻜﻮل اﺗﺼﺎل Server
اﻟﺸﺒﻜﺔ 8Net Manager
اﻟﺨﺎدم Server
ﻧﻈﺎم اﻻﺳﺘﯿﺮاد
واﻟﺘﺼﺪﯾﺮ ﻧﻈﻢ اﻻﺳﺘﻌﻼم
&08EXP SQL * PLUS
08IMP
اﻟﻤﺘﺮﺟﻤﺎت
Pre ﻧﻈﺎم اﻟﺘﺤﻤﯿﻞ
compliers LOADER
اﻟﻤﺴﺘﻔﯿﺪ Client
أﻣﺎ اﻟﻤﺴﺘﻔﯿﺪ Clientﻓﯿﺤﺘﻮي ﻋﻠﻰ ﺑﺮاﻣﺞ اﻟﺨﺪﻣﺎت واﻟﺒﺮاﻣﺞ اﻟﻤﺴﺎﻋﺪه واﻟﺘﻲ ﺑﻤﻜﻨﻨﺎ ﺗﺸﻐﯿﻠﮭﺎ ﻋﻦ
ﺑﻌﺪ ﺑﺎﺳﺘﺨﺪام اﻟﺸﺒﻜﺔ ﻛﻤﺎ ﯾﺘﻀﻤﻦ ﻧﻈﺎم اﻟﻤﺴﺘﻔﯿﺪ اﻟﻮﺳﯿﻂ اﻟﺮﺳﻮﻣﻲ Graphical Interfaceاﻟﺬي
ﯾﺴﮭﻞ ﻋﻠﯿﻨﺎ اﺳﺘﺨﺪاﻣﮫ وﺗﻮﺟﺪ أداة اﻻﺗﺼﺎل ﺑﯿﻦ اﻟﺨﺎدم واﻟﻤﺴﺘﻘﯿﺪ وھﻲ8 Netﻟﺘﻘﻮم ﺑﻌﻤﻠﯿﺎت اﻟﺮﺑﻂ
واﻻﺗﺼﺎل ﻋﺒﺮ اﻟﺸﺒﻜﺔ
PDF created with pdfFactory Pro trial version www.pdffactory.com
- 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. 21
ﺟﻤﻞ SQLاﻟﺒﺴﯿﻄﺔ
أھﺪاف اﻟﻔﺼﻞ
ﻧﺘﺎاول ﻋﻤﻠﯿﺔ اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﻓﻲ ﺣﺎﻻت ﻣﺨﺘﻠﻔﺔ ﻣﺸﺘﺨﺪﻣﯿﻦ ﻓﻲ ذﻟﻚ ﺟﻤﻠﺔ SELECTوﻓﻲ
ﻧﮭﺎﯾﺔ ھﺬا اﻟﻔﺼﻞ ﺳﺘﻜﻮن إن ﺷﺎء اﷲ ﻗﺎدر ﻋﻠﻰ :
• اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﺑﻮاﺳﻄﺔ ﺟﻤﻠﺔ SELECTاﻟﺒﺴﯿﻄﺔ
• ﻓﮭﻢ ﻣﺘﻄﻠﺒﺎت وإرﺷﺎدات ﻛﺘﺎﺑﺔ ﺟﻤﻞ SQL
• اﺳﺘﺨﺪام اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ وأوﻟﻮﯾﺎت ﺗﻨﻔﯿﺬھﺎ ﻣﻊ ﺟﻤﻞ SQL
• اﺳﺘﺨﺪام اﻟﺠﻤﻞ اﻹﻟﺤﺎﻗﯿﺔ ﻋﻠﻰ اﻟﺒﯿﺎﻧﺎت
• اﺳﺘﺨﺪام ﻋﺒﺎرة DISTINCTﻟﻤﻨﻊ ﺗﻜﺮار ﻋﺮض اﻟﺒﯿﺎﻧﺎت
• ﻋﺮض ﻣﻮاﺻﻔﺎت اﻟﺠﺪول
PDF created with pdfFactory Pro trial version www.pdffactory.com
- 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. 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. 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. 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. 71
اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﺑﺸﺮوط ﺗﺮﺗﯿﺒﮭﺎ
اھﺪاف اﻟﻔﺼﻞ
١- اﻟﻤﻌﺮﻓﺔ اﻟﺘﺎﻣﺔ ﻷﺳﻤﺎء اﻟﺠﺪاول وأﺳﻤﺎء اﻟﺤﻘﻮل وﺧﺼﺎﺋﺼﮭﺎ واﻧﻮاع اﻟﺒﯿﺎﻧﺎت
٢- اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺟﻤﻠﺔ SQLاﻟﺒﺴﯿﻄﺔ )(SELECT Statement
٣- اﺳﺘﺨﺪام أواﻣﺮ ﻣﺤﺮر SQL
PDF created with pdfFactory Pro trial version www.pdffactory.com
- 18. 81
اﺳﺘﺨﺪام ﺟﻤﻠﺔ اﻟﺸﺮط WHERE CLAUSE
ﻣﻘﺪﻣﺔ
ﻟﻘﺪ ﻗﻤﻨﺎ ﻓﻲ اﻟﻮﺣﺪة اﻟﺴﺎﺑﻘﺔ ﺑﺎﻟﺘﻌﺮف اﻟﻰ ﺟﻤﻠﺔ اﻻﺳﺘﻌﻼم اﻟﺒﺴﯿﻂ )(SELECT Statement
اﻟﺘﻲ ﻣﻦ ﺧﻼﻟﮭﺎ ﺗﻢ اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺠﺪاول . وﻓﻲ ھﺬا اﻟﻔﺼﻞ ﺳﻨﺘﺎﺑﻊ اﻟﺤﺪﯾﺚ ﻋﻦ ھﺬه
اﻟﺠﻤﻠﺔ ﯾﺸﻜﻞ أوﺳﻊ ، ﺣﯿﺚ ﺳﻨﺴﺘﺮﺟﻊ اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺠﺪاول ﺑﻨﺎء ﻋﻠﻰ ﺷﺮوط ﻣﻌﯿﻨﺔ ، أو ﻣﺮﺗﺒﺔ
ﺣﺴﺐ ﺑﯿﺎﻧﺎت ﺣﻘﻮل ﻣﻌﯿﻨﺔ ، أي ﺳﻨﺪرس اﻟﻤﻮر اﻟﻤﺘﻌﻠﻘﺔ ﺑﺠﻤﻠﺔ اﻟﺸﺮط ﻓﻲ ﺟﻤﻠﺔ اﻻﺳﺘﺮﺟﺎع ، ﻣﻦ
ﺣﯿﺚ اﻟﻤﻌﺎﻣﻼت اﻟﺸﺮﻃﯿﺔ وﻃﺮﯾﻘﺔ اﻟﺘﻌﺒﯿﺮ ﻋﻦ اﻟﺸﺮط واﻟﺘﺮﺗﯿﺐ اﻟﺘﺼﺎﻋﺪي واﻟﺘﺮﺗﯿﺐ اﻟﺘﺼﺎﻋﺪي
واﻟﺘﺮﺗﯿﺐ اﻟﺘﻨﺎزﻟﻲ ﻟﻠﺒﯿﺎﻧﺎت
اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ ﻟﺠﻤﻠﺔ اﻟﺸﺮط
}*|...,... ,2SELECT {Field1, Field
1FROM Table
;WHERE Condition
ﺣﯿﺚ أن
أﺳﻤﺎء اﻟﺤﻘﻮل اﻟﺘﻲ ﺳﯿﺎم اﺳﺘﺮﺟﺎع ﺑﯿﺎﻧﺎﺗﮭﺎ 2Field1.Field
أﺳﻢ اﻟﺠﺪول اﻟﺬي ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﻣﻨﮫ 1Table
ﺟﻤﻠﺔ ﺷﺮﻃﯿﺔ أو أﻛﺜﺮ ﺗﻜﻮن ﻧﺘﯿﺠﺘﮭﺎ إﻣﺎ Trueاو Falseوﺗﺘﻜﻮن ﻣﻦ Condition
أﺳﻤﺎء ﺣﻘﻮل وﺗﻌﺒﯿﺮات وﻣﻌﺎﻣﻼت
اﻟﺸﺮح
ﺗﺴﺘﺨﺪم ﺟﻤﻠﺔ WHEREﻟﺤﺼﺮ اﻟﺒﯿﺎﻧﺎت ﻻﺗﻲ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎﻋﮭﺎ ﻣﻦ اﻟﺠﺪاول وھﻲ ﺗﺘﻮي ﻋﻠﻰ
ﺷﺮط وﺗﻘﻊ ﻣﺒﺎﺷﺮة ﺑﻌﺪ اﻟﻤﻘﻄﻊ FROMوﻋﻨﺪ ﺗﻨﻔﯿﺬ اﻟﺠﻤﻠﺔ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎﻋﮭﺎ ﺑﯿﺎﻧﺎت اﻟﺤﻘﻮل
اﻟﻤﺬﻛﻮرة اﻟﺘﻲ ﺗﺤﻘﻖ اﻟﺸﺮط اﻟﻤﺬﻛﻮر ﻓﻲ ﺟﻤﻠﺔ WHEREوﯾﻤﻜﻦ أن ﺗﻘﺎرن اﻟﺠﻤﻠﺔ اﻟﺸﺮﻃﯿﺔ ﺑﯿﻦ
ﻗﯿﻢ أو ﺣﻘﻮل ﻓﻲ اﻟﺠﺪول أو ﺗﻌﺒﯿﺮات ﺣﺴﺎﺑﯿﺔ أي أن ﺟﻤﻠﺔ WHEREﺗﺤﺘﻮي ﻋﻠﻰ ﻣﺎﯾﻠﻲ:
أﺳﻤﺎء اﻟﺤﻘﻮل •
ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ •
ﻗﯿﻢ ﺛﺎﺑﺘﺔ •
ﻣﺘﻐﯿﺮات وﺗﻐﺒﯿﺮات ﺣﺴﺎﺑﯿﺔ •
PDF created with pdfFactory Pro trial version www.pdffactory.com
- 19. 91
اﻷﻣﻮر اﻟﺘﻲ ﯾﺠﺐ أﺧﺬھﺎ ﺑﻌﯿﻦ اﻻﻋﺘﺒﺎر
١- ﻋﻨﺪ اﺳﺘﺨﺪام ﺣﻘﻮل اﻟﻨﺺ وﺣﻘﻮل اﻟﺘﺎرﯾﺦ ﻓﻲ ﺟﻤﻠﺔ اﻟﺸﺮط ﯾﺠﺐ وﺿﻊ اﻟﻘﯿﻢ ﺑﯿﻦ ﻋﻼﻣﺘﻲ
ﺗﻨﺼﯿﺺ ﻣﻔﺮدﺗﯿﻦ )‘ ‘(
٢- ﻓﻲ ﺣﺎﻟﺔ اﻟﺤﻘﻮل اﻟﻨﺼﯿﺔ ﯾﺠﺐ ﻣﺮاﻋﺎة ﺣﺎﻟﺔ اﻷﺣﺮف ﻛﺒﯿﺮة أو ﺻﻐﯿﺮة
٣- ﻓﻲ اﻟﺔ ﺣﻘﻮل اﻟﺘﺎرﯾﺦ ﯾﺠﺐ ﻣﺮاﻋﺎة ﺻﯿﻐﺔ اﻟﺘﺎرﯾﺦ ) (FORMATواﻟﺼﯿﻐﺔ اﻷﺳﻠﺴﯿﺔ ﻟﻠﺘﺎرﯾﺦ
ھﻲ ﻛﻤﺎ ﯾﻠﻲ DD-MON-YY
PDF created with pdfFactory Pro trial version www.pdffactory.com
- 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. 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
أي أﻧﮫ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع ﺟﻤﺒﻊ ﺑﯿﺎﻧﺎت اﻟﻤﻮﻇﻔﯿﻦ اﻟﺬﯾﻦ ﯾﻜﻮن اﻟﺤﺮف اﻟﺜﺎﻧﻲ ﻓﻲ أﺳﻤﺎﺋﮭﻢ ھﻮ 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. 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. 42
أوﻟﻮﯾﺎت اﻟﻤﻌﺎﻣﻼت اﻟﻤﻨﻄﻘﯿﺔ وﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ
إذا ورد أﻛﺜﺮ ﻣﻦ ﻣﻌﺎﻣﻞ ﻣﻨﻄﻘﻲ ﻓﻲ ﻧﻔﺲ ﻣﻠﺔ اﻟﺸﺮط ﻓﺈن أوﻟﻮﯾﺔ ﺗﻨﻔﯿﺬ ھﺬه اﻟﻤﻌﺎﻣﻼت ﻣﻦ اﻷﻋﻠﻰ
إﻟﻰ اﻷدﺗﻰ ﻏﻲ ﻛﺎﻟﺘﺎﻟﻲ :
اﻷﻗﻮاس ١-
ﻣﻌﺎﻣﻼت اﻟﻤﻘﺎرﻧﺔ )> ، < ، = ، ><( ٢-
NOT ٣-
AND ٤-
OR ٥-
اﺳﺘﺨﺪام ﺟﻤﻠﺔ اﻟﺘﺮﺗﯿﺐ ORDER BY
اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ
}*|…,…,2SELECT {Field1, Field
1FROM Table
WHERE Condition
;]ORDER BY Field3 [ASC|DESC
ﺣﯿﺚ أن
اﺳﻢ اﻟﺠﺪول اﻟﺬي ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﻣﻨﮫ 1Table
اﺳﻤﺎء اﻟﺤﻘﻮل اﻟﺘﻲ ﺳﺒﺘﻢ اﺳﺘﺮﺟﺎع ﺑﯿﺎﻧﺎﺗﮭﺎ 2Field1, Field
ﺟﻤﻠﺔ ﺷﺮﻃﯿﺔ أو اﻛﺜﺮ ﺗﻜﻮن ﻧﺘﯿﺠﺘﮭﺎ إﻣﺎ Trueأو Falseوﺗﺘﻜﻮن ﻣﻦ Condition
اﺳﻤﺎء ﺣﻘﻮل وﺗﻌﺒﯿﺮات وﻣﻌﺎﻣﻼت ﻣﻨﻄﻘﯿﺔ
اﺳﻢ اﻟﺤﻘﻞ اﻟﺬي ﺳﯿﺘﻢ اﻟﺘﺮﺗﯿﺐ ﺑﻨﺎء ﻋﻠﯿﮫ 3Field
اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﻣﺮﺗﺒﺔ ﺗﺼﺎﻋﺪﯾﺎ وﯾﺠﻮز ﻋﺪم ذﻛﺮھﺎ 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. 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. 62
اﻟﺪوال اﻟﺤﺮﻓﯿﺔ
اھﺪاف اﻟﻔﺼﻞ
ﻓﻲ ﻧﮭﺎﯾﺔ ھﺬا اﻟﻔﺼﻞ إن ﺷﺎء اﷲ ﺳﺘﻜﻮن ﻗﺎدر ﻋﻠﻰ :
ﺗﺤﻮﯾﻞ اﻟﺤﺮوف ﻣﻦ ﺻﻐﯿﺮة إﻟﻰ ﻛﺒﯿﺮة وﺑﺎﻟﻌﻜﺲ ﻣﻦ ﺧﻼل SQL ١-
ﺿﺒﻂ وﻣﺤﺎذاة اﻟﺤﺮوف داﺧﻞ اﻟﻨﺺ اﻟﻤﻮﺟﻮد ﻓﻲSQL ٢-
اﻟﻘﯿﺎم ﺑﺤﺬف اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺠﺪاول ٣-
اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻠﻔﻆ اﻟﺼﻮﺗﻲ ﻟﻠﺒﯿﺎﻧﺎت ٤-
اﻟﻘﯿﺎم ﺑﺘﻌﺪﯾﻞ ﺑﯿ ﺎﻧﺎت اﻟﺠﺪول ٥-
PDF created with pdfFactory Pro trial version www.pdffactory.com
- 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. 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. 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. 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. 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
ﺣﯿﺚ أن
اﺳﻢ اﻟﻘﻞ أو اﻟﻌﻤﻮد 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
داﻟﺔ ﺗﻌﺪﯾﻞ ﺑﯿﺎﻧﺎت ﻓﻲ ﺟﺪول 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. 43
ﻣﺜﺎل
)SELECT name, SOUNDEX (name
;5.2151=FROM S_EMP WHERE sal
1
ﻣﻠﺨﺺ اﻟﻔﺼﻞ
ﺗﻨﺎوﻟﻨﺎ اﻟﺪوال اﻟﺤﺮﻓﯿﺔ اﻟﺨﺎﺻﺔ ﺑﺘﺤﻮﯾﻞ ﺣﺎﻟﺔ اﻟﺤﺮوف ﻣﻦ ﺣﺮوف ﻛﺒﯿﺮة إﻟﻰ ﺣﺮوف ﺻﻐﯿﺮة
واﻟﻌﻜﺲ وﻛﺬﻟﻚ ﺿﺒﻂ ﻣﺤﺎذاة اﻟﺤﺮوف داﺧﻞ اﻟﻨﺺ وﻣﻦ اﻟﺪوال اﻟﮭﺎﻣﺔ اﻟﻨﻲ ﺗﻨﺎوﻟﻨﺎھﺎ اﯾﻀﺎ دوال
ﺣﺬف اﻟﺒﯿﺎﻧﺎت ودوال ﻋﺮض اﻟﻠﻔﻆ اﻟﺼﻮﺗﻲ وﺗﻌﺪﯾﻞ ﺑﯿﺎﻧﺎت اﻟﺠﺪاول .
PDF created with pdfFactory Pro trial version www.pdffactory.com
- 35. 53
دوال اﻟﺘﺎرﯾﺦ واﻟﺘﺤﻮﯾﻞ
أھﺪاف اﻟﻔﺼﻞ
ﻓﻲ ﻧﮭﺎﯾﺔ ھﺬا اﻟﻔﺼﻞ إن ﺷﺎء اﷲ ﺗﻜﻮن ﻗﺎدر ﻋﻠﻰ :
اﻟﺘﻌﺎﻣﻞ ﻣﻊ دوال اﻟﺘﺎرﯾﺦ ﻓﻲ SQL ١-
اﻟﺘﻌﺎﻣﻞ ﻣﻊ أدوات اﻟﺘﺤﻮﯾﻞ ﻓﻲ SQL ٢-
PDF created with pdfFactory Pro trial version www.pdffactory.com
- 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. 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