SlideShare ist ein Scribd-Unternehmen logo
1 von 159
Downloaden Sie, um offline zu lesen
‫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‬




                                                                           ‫ﻣﮭﺎم ﻣﺪﯾﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )‪(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‬



                                              ‫ﻋﻤﻠﯿﺎت ﻧﻈﺎم إدارة ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬
                                                ‫ﯾﺸﺘﻤﻞ ﻧﻈﺎم إدارة ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اوراﻛﻞ ﻋﻠﻰ اﻟﻌﻤﻠﯿﺎت اﻟﺘﺎﻟﯿﺔ‬

                                 ‫١- أواﻣﺮ ﻟﻐﺔ ﺗﻌﺮﯾﻒ اﻟﺒﯿﺎﻧﺎت )‪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‬


                                       ‫اﻟﺘﺮﻛﯿﺐ اﻟﺪاﺧﻠﻲ ﻟﻨﻈﺎم أوراﻛﻞ‬
                          ‫أھﺪاف اﻟﻔﺼﻞ‬
                     ‫ﯾﺘﻨﺎول ھﺬا اﻟﻔﺼﻞ اﻟﺘﺮﻛﯿﺐ اﻟﺪاﺧﻠﻲ ﻟﻨﻈﺎم ﻗﺘﻌﺪة اﻟﺒﯿﺎﻧﺎت أوراﻛﻞ وﻓﻲ ﻧﮭﺎﯾﺔ ھﺬا اﻟﻔﺼﻞ‬
                                                                         ‫ﺳﺘﻜﻮن ﻗﺎدرا ﺑﻤﺸﯿﺌﺔ اﷲ ﻋﻠﻰ :‬
                                                                          ‫١- ﻓﮭﻢ اﻟﻌﻼﻗﺎت ﺑﯿﻦ اﻟﺠﺪاول‬
                                                                              ‫٢- ﺗﻌﺮﯾﻒ ﻧﻤﺬﺟﺔ اﻟﻌﻼﻗﺔ‬
                                                                ‫٣- ﻓﮭﻢ ﻣﻜﻮﻧﺎت ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ‬
                                                                    ‫٤- ﻓﮭﻢ اﻟﻌﻼﻗﺔ ﺑﯿﻦ اﻟﺨﺎدم واﻟﻤﺴﺘﻔﺒﺪ‬
                                                                            ‫٥- ﻗﮭﻢ اﻟﺨﺎدم ‪SERVER‬‬
                                                                               ‫٦- ﻓﮭﻢ اﻟﻤﺴﺘﻔﯿﺪ ‪Client‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫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‬




                                                                               ‫اﻟﻌﻼﻗﺔ ﺑﯿﻦ اﻟﺠﺪاول‬

                      ‫ﻟﺮﺑﻂ ﻋﻼﻗﺔ ﺑﺄﺧﺮى ﺗﺘﺤﺘﺎج إﻟﻰ ﻃﺮﯾﻘﺔ ﻟﻼرﺗﺒﺎط . وھﺬه اﻟﻄﺮﯾﻘﺔ ﺗﺴﺘﺨﺪم ﺣﻘﻼ ‪ Field‬ﯾﻜﻮن‬
                     ‫ﻣﻮﺟﻮدا ﻓﺐ اﻟﺠﺪوﻟﯿﻦ وﺣﻘﻞ اﻻرﺗﺒﺎط ﯾﺴﻤﻰ ﻓﻲ اﻟﺠﺪول اﻷول ﺑﺎﻟﻤﻔﺘﺎح اﻟﺮﺋﯿﺴﻲ ‪(Primary‬‬
                                ‫)‪ Key‬ﻟﻠﺠﺪول اﻷل وﯾﺴﻤﻰ ﯾﺎﻟﻤﻔﺘﺎح ال )‪ (Foreign Key‬ﻓﻲ اﻟﺠﺪول اﻟﺜﺎﻧﻲ‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫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‬


                        ‫ﻣﻜﻮﻧﺎت ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ ‪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‬


                                   ‫اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ﯾﻮﺿﺢ ﻛﯿﻔﯿﺔ ﻗﺮاءة أو ﺗﻌﺪﯾﻞ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺑﺎﺳﺘﺨﺪام أوراﻛﻞ‬




                               ‫ﺷﻜﻞ اﻟﻌﻼﻗﺔ ﺑﯿﻦ ‪ Kernel‬و ‪ SQL‬و ﻗﺎﻣﻮس اﻟﺒﯿﺎﻧﺎت‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫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‬


                                                            ‫و ﺗﺸﻤﻞ ﺣﺰﻣﺔ اﻟﺒﺮاﻣﺞ ﻟﻨﻈﺎم اﻟﻤﺴﺘﻔﯿﺪ ﻋﻠﻰ‬
                                                       ‫١- ﻣﺪﯾﺮ اﻟﻤﺸﺮوع ‪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‬‬
‫21‬


                                              ‫ﺟﻤﻞ ‪ SQL‬اﻟﺒﺴﯿﻄﺔ‬

                                                                                      ‫أھﺪاف اﻟﻔﺼﻞ‬

                      ‫ﻧﺘﺎاول ﻋﻤﻠﯿﺔ اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﻓﻲ ﺣﺎﻻت ﻣﺨﺘﻠﻔﺔ ﻣﺸﺘﺨﺪﻣﯿﻦ ﻓﻲ ذﻟﻚ ﺟﻤﻠﺔ ‪ SELECT‬وﻓﻲ‬
                                                        ‫ﻧﮭﺎﯾﺔ ھﺬا اﻟﻔﺼﻞ ﺳﺘﻜﻮن إن ﺷﺎء اﷲ ﻗﺎدر ﻋﻠﻰ :‬
                                            ‫• اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﺑﻮاﺳﻄﺔ ﺟﻤﻠﺔ ‪ SELECT‬اﻟﺒﺴﯿﻄﺔ‬
                                                     ‫• ﻓﮭﻢ ﻣﺘﻄﻠﺒﺎت وإرﺷﺎدات ﻛﺘﺎﺑﺔ ﺟﻤﻞ ‪SQL‬‬
                                      ‫• اﺳﺘﺨﺪام اﻟﻌﻤﻠﯿﺎت اﻟﺤﺴﺎﺑﯿﺔ وأوﻟﻮﯾﺎت ﺗﻨﻔﯿﺬھﺎ ﻣﻊ ﺟﻤﻞ ‪SQL‬‬
                                                          ‫• اﺳﺘﺨﺪام اﻟﺠﻤﻞ اﻹﻟﺤﺎﻗﯿﺔ ﻋﻠﻰ اﻟﺒﯿﺎﻧﺎت‬
                                        ‫• اﺳﺘﺨﺪام ﻋﺒﺎرة ‪ DISTINCT‬ﻟﻤﻨﻊ ﺗﻜﺮار ﻋﺮض اﻟﺒﯿﺎﻧﺎت‬
                                                                     ‫• ﻋﺮض ﻣﻮاﺻﻔﺎت اﻟﺠﺪول‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫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‬‬
‫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‬‬
‫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‬‬
‫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‬‬
‫71‬


                                     ‫اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﺑﺸﺮوط ﺗﺮﺗﯿﺒﮭﺎ‬


                                                                                     ‫اھﺪاف اﻟﻔﺼﻞ‬
                             ‫١- اﻟﻤﻌﺮﻓﺔ اﻟﺘﺎﻣﺔ ﻷﺳﻤﺎء اﻟﺠﺪاول وأﺳﻤﺎء اﻟﺤﻘﻮل وﺧﺼﺎﺋﺼﮭﺎ واﻧﻮاع اﻟﺒﯿﺎﻧﺎت‬
                                           ‫٢- اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺟﻤﻠﺔ ‪ SQL‬اﻟﺒﺴﯿﻄﺔ )‪(SELECT Statement‬‬
                                                                     ‫٣- اﺳﺘﺨﺪام أواﻣﺮ ﻣﺤﺮر ‪SQL‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫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‬‬
‫91‬


                                                             ‫اﻷﻣﻮر اﻟﺘﻲ ﯾﺠﺐ أﺧﺬھﺎ ﺑﻌﯿﻦ اﻻﻋﺘﺒﺎر‬

                     ‫١- ﻋﻨﺪ اﺳﺘﺨﺪام ﺣﻘﻮل اﻟﻨﺺ وﺣﻘﻮل اﻟﺘﺎرﯾﺦ ﻓﻲ ﺟﻤﻠﺔ اﻟﺸﺮط ﯾﺠﺐ وﺿﻊ اﻟﻘﯿﻢ ﺑﯿﻦ ﻋﻼﻣﺘﻲ‬
                                                                            ‫ﺗﻨﺼﯿﺺ ﻣﻔﺮدﺗﯿﻦ )‘ ‘(‬
                                     ‫٢- ﻓﻲ ﺣﺎﻟﺔ اﻟﺤﻘﻮل اﻟﻨﺼﯿﺔ ﯾﺠﺐ ﻣﺮاﻋﺎة ﺣﺎﻟﺔ اﻷﺣﺮف ﻛﺒﯿﺮة أو ﺻﻐﯿﺮة‬
                 ‫٣- ﻓﻲ اﻟﺔ ﺣﻘﻮل اﻟﺘﺎرﯾﺦ ﯾﺠﺐ ﻣﺮاﻋﺎة ﺻﯿﻐﺔ اﻟﺘﺎرﯾﺦ )‪ (FORMAT‬واﻟﺼﯿﻐﺔ اﻷﺳﻠﺴﯿﺔ ﻟﻠﺘﺎرﯾﺦ‬
                                                                       ‫ھﻲ ﻛﻤﺎ ﯾﻠﻲ ‪DD-MON-YY‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫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‬‬
‫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‬


                 ‫أي أﻧﮫ ﺳﯿﺘﻢ اﺳﺘﺮﺟﺎع ﺟﻤﺒﻊ ﺑﯿﺎﻧﺎت اﻟﻤﻮﻇﻔﯿﻦ اﻟﺬﯾﻦ ﯾﻜﻮن اﻟﺤﺮف اﻟﺜﺎﻧﻲ ﻓﻲ أﺳﻤﺎﺋﮭﻢ ھﻮ ‪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‬‬
‫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‬‬
‫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‬‬
‫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‬‬
‫62‬


                                              ‫اﻟﺪوال اﻟﺤﺮﻓﯿﺔ‬
                 ‫اھﺪاف اﻟﻔﺼﻞ‬

                 ‫ﻓﻲ ﻧﮭﺎﯾﺔ ھﺬا اﻟﻔﺼﻞ إن ﺷﺎء اﷲ ﺳﺘﻜﻮن ﻗﺎدر ﻋﻠﻰ :‬
                     ‫ﺗﺤﻮﯾﻞ اﻟﺤﺮوف ﻣﻦ ﺻﻐﯿﺮة إﻟﻰ ﻛﺒﯿﺮة وﺑﺎﻟﻌﻜﺲ ﻣﻦ ﺧﻼل ‪SQL‬‬   ‫١-‬
                     ‫ﺿﺒﻂ وﻣﺤﺎذاة اﻟﺤﺮوف داﺧﻞ اﻟﻨﺺ اﻟﻤﻮﺟﻮد ﻓﻲ‪SQL‬‬     ‫٢-‬
                     ‫اﻟﻘﯿﺎم ﺑﺤﺬف اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺠﺪاول‬    ‫٣-‬
                     ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻠﻔﻆ اﻟﺼﻮﺗﻲ ﻟﻠﺒﯿﺎﻧﺎت‬    ‫٤-‬
                     ‫اﻟﻘﯿﺎم ﺑﺘﻌﺪﯾﻞ ﺑﯿ ﺎﻧﺎت اﻟﺠﺪول‬    ‫٥-‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫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‬‬
‫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‬‬
‫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‬‬
‫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‬‬
‫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


                 ‫ﺣﯿﺚ أن‬

                 ‫اﺳﻢ اﻟﻘﻞ أو اﻟﻌﻤﻮد‬        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‬


                 ‫داﻟﺔ ﺗﻌﺪﯾﻞ ﺑﯿﺎﻧﺎت ﻓﻲ ﺟﺪول ‪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‬‬
‫43‬


                 ‫ﻣﺜﺎل‬

                 ‫)‪SELECT name, SOUNDEX (name‬‬
                 ‫;5.2151=‪FROM S_EMP WHERE sal‬‬
                                      ‫1‬




                 ‫ﻣﻠﺨﺺ اﻟﻔﺼﻞ‬

                 ‫ﺗﻨﺎوﻟﻨﺎ اﻟﺪوال اﻟﺤﺮﻓﯿﺔ اﻟﺨﺎﺻﺔ ﺑﺘﺤﻮﯾﻞ ﺣﺎﻟﺔ اﻟﺤﺮوف ﻣﻦ ﺣﺮوف ﻛﺒﯿﺮة إﻟﻰ ﺣﺮوف ﺻﻐﯿﺮة‬
                 ‫واﻟﻌﻜﺲ وﻛﺬﻟﻚ ﺿﺒﻂ ﻣﺤﺎذاة اﻟﺤﺮوف داﺧﻞ اﻟﻨﺺ وﻣﻦ اﻟﺪوال اﻟﮭﺎﻣﺔ اﻟﻨﻲ ﺗﻨﺎوﻟﻨﺎھﺎ اﯾﻀﺎ دوال‬
                 ‫ﺣﺬف اﻟﺒﯿﺎﻧﺎت ودوال ﻋﺮض اﻟﻠﻔﻆ اﻟﺼﻮﺗﻲ وﺗﻌﺪﯾﻞ ﺑﯿﺎﻧﺎت اﻟﺠﺪاول .‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫53‬


                                             ‫دوال اﻟﺘﺎرﯾﺦ واﻟﺘﺤﻮﯾﻞ‬

                 ‫أھﺪاف اﻟﻔﺼﻞ‬

                 ‫ﻓﻲ ﻧﮭﺎﯾﺔ ھﺬا اﻟﻔﺼﻞ إن ﺷﺎء اﷲ ﺗﻜﻮن ﻗﺎدر ﻋﻠﻰ :‬
                     ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ دوال اﻟﺘﺎرﯾﺦ ﻓﻲ ‪SQL‬‬      ‫١-‬
                     ‫اﻟﺘﻌﺎﻣﻞ ﻣﻊ أدوات اﻟﺘﺤﻮﯾﻞ ﻓﻲ ‪SQL‬‬       ‫٢-‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫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‬‬
‫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‬‬
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle
Oracle

Weitere ähnliche Inhalte

Was ist angesagt?

GIS: Geographic Information Systems
GIS: Geographic Information SystemsGIS: Geographic Information Systems
GIS: Geographic Information Systemsaalaa gaffar
 
Data Marketplace - Rethink the Data
Data Marketplace - Rethink the DataData Marketplace - Rethink the Data
Data Marketplace - Rethink the DataDenodo
 
Powering the Micromobility Revolution with Spatial Analysis
Powering the Micromobility Revolution with Spatial AnalysisPowering the Micromobility Revolution with Spatial Analysis
Powering the Micromobility Revolution with Spatial AnalysisCARTO
 
DCBADD015 IRIS business architect
DCBADD015 IRIS business architectDCBADD015 IRIS business architect
DCBADD015 IRIS business architectIIBADCBADD
 
Indoor Mapping: Why Precision Matters
Indoor Mapping: Why Precision MattersIndoor Mapping: Why Precision Matters
Indoor Mapping: Why Precision MattersCARTO
 
LDM Slides: How Data Modeling Fits into an Overall Enterprise Architecture
LDM Slides: How Data Modeling Fits into an Overall Enterprise ArchitectureLDM Slides: How Data Modeling Fits into an Overall Enterprise Architecture
LDM Slides: How Data Modeling Fits into an Overall Enterprise ArchitectureDATAVERSITY
 
Data Modeling is Data Governance
Data Modeling is Data GovernanceData Modeling is Data Governance
Data Modeling is Data GovernanceDATAVERSITY
 
Identity and Entitlement Management Concepts
Identity and Entitlement Management Concepts Identity and Entitlement Management Concepts
Identity and Entitlement Management Concepts WSO2
 
White Paper - Data Warehouse Project Management
White Paper - Data Warehouse Project ManagementWhite Paper - Data Warehouse Project Management
White Paper - Data Warehouse Project ManagementDavid Walker
 
How to Use Geospatial Data to Identify CPG Demnd Hotspots
How to Use Geospatial Data to Identify CPG Demnd HotspotsHow to Use Geospatial Data to Identify CPG Demnd Hotspots
How to Use Geospatial Data to Identify CPG Demnd HotspotsCARTO
 
Data Marketplace and the Role of Data Virtualization
Data Marketplace and the Role of Data VirtualizationData Marketplace and the Role of Data Virtualization
Data Marketplace and the Role of Data VirtualizationDenodo
 
Lecture 2: The Concept of Enterprise Architecture
Lecture 2: The Concept of Enterprise ArchitectureLecture 2: The Concept of Enterprise Architecture
Lecture 2: The Concept of Enterprise ArchitectureSvyatoslav Kotusev
 
Geographic Information Systems in the Oil & Gas Industry
Geographic Information Systems in the Oil & Gas IndustryGeographic Information Systems in the Oil & Gas Industry
Geographic Information Systems in the Oil & Gas IndustryFrancois Viljoen
 
Application Portfolio Management
Application Portfolio ManagementApplication Portfolio Management
Application Portfolio ManagementAlain Charpentier
 
A Step-by-Step Guide to Metadata Management
A Step-by-Step Guide to Metadata ManagementA Step-by-Step Guide to Metadata Management
A Step-by-Step Guide to Metadata ManagementSaachiShankar
 
Geospatial Metadata and Spatial Data: It's all Greek to me!
Geospatial Metadata and Spatial Data: It's all Greek to me!Geospatial Metadata and Spatial Data: It's all Greek to me!
Geospatial Metadata and Spatial Data: It's all Greek to me!EDINA, University of Edinburgh
 
Data Lake Architecture – Modern Strategies & Approaches
Data Lake Architecture – Modern Strategies & ApproachesData Lake Architecture – Modern Strategies & Approaches
Data Lake Architecture – Modern Strategies & ApproachesDATAVERSITY
 

Was ist angesagt? (20)

GIS: Geographic Information Systems
GIS: Geographic Information SystemsGIS: Geographic Information Systems
GIS: Geographic Information Systems
 
Data Marketplace - Rethink the Data
Data Marketplace - Rethink the DataData Marketplace - Rethink the Data
Data Marketplace - Rethink the Data
 
Search Inform DLP
Search Inform DLPSearch Inform DLP
Search Inform DLP
 
Powering the Micromobility Revolution with Spatial Analysis
Powering the Micromobility Revolution with Spatial AnalysisPowering the Micromobility Revolution with Spatial Analysis
Powering the Micromobility Revolution with Spatial Analysis
 
DCBADD015 IRIS business architect
DCBADD015 IRIS business architectDCBADD015 IRIS business architect
DCBADD015 IRIS business architect
 
Indoor Mapping: Why Precision Matters
Indoor Mapping: Why Precision MattersIndoor Mapping: Why Precision Matters
Indoor Mapping: Why Precision Matters
 
LDM Slides: How Data Modeling Fits into an Overall Enterprise Architecture
LDM Slides: How Data Modeling Fits into an Overall Enterprise ArchitectureLDM Slides: How Data Modeling Fits into an Overall Enterprise Architecture
LDM Slides: How Data Modeling Fits into an Overall Enterprise Architecture
 
Data Modeling is Data Governance
Data Modeling is Data GovernanceData Modeling is Data Governance
Data Modeling is Data Governance
 
Identity and Entitlement Management Concepts
Identity and Entitlement Management Concepts Identity and Entitlement Management Concepts
Identity and Entitlement Management Concepts
 
White Paper - Data Warehouse Project Management
White Paper - Data Warehouse Project ManagementWhite Paper - Data Warehouse Project Management
White Paper - Data Warehouse Project Management
 
Machine Learning and Data Mining
Machine Learning and Data MiningMachine Learning and Data Mining
Machine Learning and Data Mining
 
How to Use Geospatial Data to Identify CPG Demnd Hotspots
How to Use Geospatial Data to Identify CPG Demnd HotspotsHow to Use Geospatial Data to Identify CPG Demnd Hotspots
How to Use Geospatial Data to Identify CPG Demnd Hotspots
 
Data Marketplace and the Role of Data Virtualization
Data Marketplace and the Role of Data VirtualizationData Marketplace and the Role of Data Virtualization
Data Marketplace and the Role of Data Virtualization
 
Lecture 2: The Concept of Enterprise Architecture
Lecture 2: The Concept of Enterprise ArchitectureLecture 2: The Concept of Enterprise Architecture
Lecture 2: The Concept of Enterprise Architecture
 
Geographic Information Systems in the Oil & Gas Industry
Geographic Information Systems in the Oil & Gas IndustryGeographic Information Systems in the Oil & Gas Industry
Geographic Information Systems in the Oil & Gas Industry
 
Application Portfolio Management
Application Portfolio ManagementApplication Portfolio Management
Application Portfolio Management
 
Mining legal texts with Python
Mining legal texts with PythonMining legal texts with Python
Mining legal texts with Python
 
A Step-by-Step Guide to Metadata Management
A Step-by-Step Guide to Metadata ManagementA Step-by-Step Guide to Metadata Management
A Step-by-Step Guide to Metadata Management
 
Geospatial Metadata and Spatial Data: It's all Greek to me!
Geospatial Metadata and Spatial Data: It's all Greek to me!Geospatial Metadata and Spatial Data: It's all Greek to me!
Geospatial Metadata and Spatial Data: It's all Greek to me!
 
Data Lake Architecture – Modern Strategies & Approaches
Data Lake Architecture – Modern Strategies & ApproachesData Lake Architecture – Modern Strategies & Approaches
Data Lake Architecture – Modern Strategies & Approaches
 

Ähnlich wie Oracle

العادات السبع في العمل الناجح
العادات السبع في العمل الناجحالعادات السبع في العمل الناجح
العادات السبع في العمل الناجحAhmed Zeen EL Abeden
 
كيف تكسب مهارة التركيز
كيف تكسب مهارة التركيزكيف تكسب مهارة التركيز
كيف تكسب مهارة التركيزAhmed Zeen EL Abeden
 
د. نسرين الدوسري - ملتقى سيدات الأعمال الثقافي الثالث
د. نسرين الدوسري - ملتقى سيدات الأعمال الثقافي الثالثد. نسرين الدوسري - ملتقى سيدات الأعمال الثقافي الثالث
د. نسرين الدوسري - ملتقى سيدات الأعمال الثقافي الثالثRiyadhBWF
 
مختصر معهد عمان
مختصر معهد عمانمختصر معهد عمان
مختصر معهد عمانAmman.institute
 
الدليل لفهم مرض الزهايمر
الدليل لفهم مرض الزهايمر الدليل لفهم مرض الزهايمر
الدليل لفهم مرض الزهايمر alzheimer.tunisie
 
[Nahu] - 'Alamat Irab (arabic)
[Nahu] - 'Alamat Irab (arabic)[Nahu] - 'Alamat Irab (arabic)
[Nahu] - 'Alamat Irab (arabic)Syukran
 
Abc U12 L22 Te Dg 100708
Abc U12 L22 Te Dg 100708Abc U12 L22 Te Dg 100708
Abc U12 L22 Te Dg 100708guest1846c0
 
حقائق علمية وطبية في القرآن
حقائق علمية وطبية في القرآنحقائق علمية وطبية في القرآن
حقائق علمية وطبية في القرآنguest30004e2c
 
حقائق علمية وطبية في القرآن
حقائق علمية وطبية في القرآنحقائق علمية وطبية في القرآن
حقائق علمية وطبية في القرآنguest30004e2c
 
سيكولوجيه اللغه والمرض العقلى
سيكولوجيه اللغه والمرض العقلىسيكولوجيه اللغه والمرض العقلى
سيكولوجيه اللغه والمرض العقلىmshary mshary
 
د. نجوى سمك - ملتقى سيدات الأعمال الثقافي الثالث
د. نجوى سمك - ملتقى سيدات الأعمال الثقافي الثالثد. نجوى سمك - ملتقى سيدات الأعمال الثقافي الثالث
د. نجوى سمك - ملتقى سيدات الأعمال الثقافي الثالثRiyadhBWF
 
kharid va foroosh interneti
kharid va foroosh internetikharid va foroosh interneti
kharid va foroosh internetiahmad soodavar
 
اگر خواستید یادم کنید
اگر خواستید یادم کنیداگر خواستید یادم کنید
اگر خواستید یادم کنیدBita B
 
چهل نكته درباره‌ي انتخابات
چهل نكته درباره‌ي انتخاباتچهل نكته درباره‌ي انتخابات
چهل نكته درباره‌ي انتخاباتguestea8c08
 
Soilmechanics2
Soilmechanics2Soilmechanics2
Soilmechanics2guest680a4
 
الايديولوجية الصهيونية - دراسة حالة في علم اجتماع المعرفة - الدكتور عبد الوها...
الايديولوجية الصهيونية - دراسة حالة في علم اجتماع المعرفة - الدكتور عبد الوها...الايديولوجية الصهيونية - دراسة حالة في علم اجتماع المعرفة - الدكتور عبد الوها...
الايديولوجية الصهيونية - دراسة حالة في علم اجتماع المعرفة - الدكتور عبد الوها...osamakanaan
 

Ähnlich wie Oracle (20)

العادات السبع في العمل الناجح
العادات السبع في العمل الناجحالعادات السبع في العمل الناجح
العادات السبع في العمل الناجح
 
كيف تكسب مهارة التركيز
كيف تكسب مهارة التركيزكيف تكسب مهارة التركيز
كيف تكسب مهارة التركيز
 
د. نسرين الدوسري - ملتقى سيدات الأعمال الثقافي الثالث
د. نسرين الدوسري - ملتقى سيدات الأعمال الثقافي الثالثد. نسرين الدوسري - ملتقى سيدات الأعمال الثقافي الثالث
د. نسرين الدوسري - ملتقى سيدات الأعمال الثقافي الثالث
 
مختصر معهد عمان
مختصر معهد عمانمختصر معهد عمان
مختصر معهد عمان
 
هل تعلم أن
هل تعلم أنهل تعلم أن
هل تعلم أن
 
الدليل لفهم مرض الزهايمر
الدليل لفهم مرض الزهايمر الدليل لفهم مرض الزهايمر
الدليل لفهم مرض الزهايمر
 
Adabiate Esfahani
Adabiate EsfahaniAdabiate Esfahani
Adabiate Esfahani
 
[Nahu] - 'Alamat Irab (arabic)
[Nahu] - 'Alamat Irab (arabic)[Nahu] - 'Alamat Irab (arabic)
[Nahu] - 'Alamat Irab (arabic)
 
Abc U12 L22 Te Dg 100708
Abc U12 L22 Te Dg 100708Abc U12 L22 Te Dg 100708
Abc U12 L22 Te Dg 100708
 
حقائق علمية وطبية في القرآن
حقائق علمية وطبية في القرآنحقائق علمية وطبية في القرآن
حقائق علمية وطبية في القرآن
 
حقائق علمية وطبية في القرآن
حقائق علمية وطبية في القرآنحقائق علمية وطبية في القرآن
حقائق علمية وطبية في القرآن
 
سيكولوجيه اللغه والمرض العقلى
سيكولوجيه اللغه والمرض العقلىسيكولوجيه اللغه والمرض العقلى
سيكولوجيه اللغه والمرض العقلى
 
د. نجوى سمك - ملتقى سيدات الأعمال الثقافي الثالث
د. نجوى سمك - ملتقى سيدات الأعمال الثقافي الثالثد. نجوى سمك - ملتقى سيدات الأعمال الثقافي الثالث
د. نجوى سمك - ملتقى سيدات الأعمال الثقافي الثالث
 
Aiin Nameh
Aiin NamehAiin Nameh
Aiin Nameh
 
kharid va foroosh interneti
kharid va foroosh internetikharid va foroosh interneti
kharid va foroosh interneti
 
اگر خواستید یادم کنید
اگر خواستید یادم کنیداگر خواستید یادم کنید
اگر خواستید یادم کنید
 
چهل نكته درباره‌ي انتخابات
چهل نكته درباره‌ي انتخاباتچهل نكته درباره‌ي انتخابات
چهل نكته درباره‌ي انتخابات
 
Soilmechanics2
Soilmechanics2Soilmechanics2
Soilmechanics2
 
الايديولوجية الصهيونية - دراسة حالة في علم اجتماع المعرفة - الدكتور عبد الوها...
الايديولوجية الصهيونية - دراسة حالة في علم اجتماع المعرفة - الدكتور عبد الوها...الايديولوجية الصهيونية - دراسة حالة في علم اجتماع المعرفة - الدكتور عبد الوها...
الايديولوجية الصهيونية - دراسة حالة في علم اجتماع المعرفة - الدكتور عبد الوها...
 
menare
menaremenare
menare
 

Kürzlich hochgeladen

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Kürzlich hochgeladen (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

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‬‬ ‫اﻟﺸﺒﻜﺔ 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‬ ‫و ﺗﺸﻤﻞ ﺣﺰﻣﺔ اﻟﺒﺮاﻣﺞ ﻟﻨﻈﺎم اﻟﻤﺴﺘﻔﯿﺪ ﻋﻠﻰ‬ ‫١- ﻣﺪﯾﺮ اﻟﻤﺸﺮوع ‪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‬‬ ‫اﻟﺘﻲ ﻣﻦ ﺧﻼﻟﮭﺎ ﺗﻢ اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺠﺪاول . وﻓﻲ ھﺬا اﻟﻔﺼﻞ ﺳﻨﺘﺎﺑﻊ اﻟﺤﺪﯾﺚ ﻋﻦ ھﺬه‬ ‫اﻟﺠﻤﻠﺔ ﯾﺸﻜﻞ أوﺳﻊ ، ﺣﯿﺚ ﺳﻨﺴﺘﺮﺟﻊ اﻟﺒﯿﺎﻧﺎت ﻣﻦ اﻟﺠﺪاول ﺑﻨﺎء ﻋﻠﻰ ﺷﺮوط ﻣﻌﯿﻨﺔ ، أو ﻣﺮﺗﺒﺔ‬ ‫ﺣﺴﺐ ﺑﯿﺎﻧﺎت ﺣﻘﻮل ﻣﻌﯿﻨﺔ ، أي ﺳﻨﺪرس اﻟﻤﻮر اﻟﻤﺘﻌﻠﻘﺔ ﺑﺠﻤﻠﺔ اﻟﺸﺮط ﻓﻲ ﺟﻤﻠﺔ اﻻﺳﺘﺮﺟﺎع ، ﻣﻦ‬ ‫ﺣﯿﺚ اﻟﻤﻌﺎﻣﻼت اﻟﺸﺮﻃﯿﺔ وﻃﺮﯾﻘﺔ اﻟﺘﻌﺒﯿﺮ ﻋﻦ اﻟﺸﺮط واﻟﺘﺮﺗﯿﺐ اﻟﺘﺼﺎﻋﺪي واﻟﺘﺮﺗﯿﺐ اﻟﺘﺼﺎﻋﺪي‬ ‫واﻟﺘﺮﺗﯿﺐ اﻟﺘﻨﺎزﻟﻲ ﻟﻠﺒﯿﺎﻧﺎت‬ ‫اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ ﻟﺠﻤﻠﺔ اﻟﺸﺮط‬ ‫}*|...,... ,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. ‫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‬‬ ‫اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ‬ ‫}*|…,…,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. ‫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‬‬