You are on page 1of 41

‫‪2013‬‬

‫‪LAICHI HICHAM‬‬

‫‪ ] SGBD‬ﻧظﺎم ﺗﺳﯾﯾر ﻗواﻋد اﻟﺑﯾﺎﻧﺎت[‬


‫ھﻲ ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﺑﺮاﻣﺞ ﺗﺪﯾﺮ و ﺗﺘﺤﻜﻢ ﺑﻌﻤﻠﯿﺔ ﺗﺨﺰﯾﻦ و اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت و ﺗﻮﻓﺮ ﻛﺬﻟﻚ اﻣﻜﺎﻧﯿﺔ ﻗﯿﺎم ﻋﺪد ﻛﺒﯿﺮ ﻣﻦ‬
‫اﻟﻤﺴﺘﺨﺪﻣﯿﻦ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت واﺣﺪة‬

‫إﻋﺪاد ‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬


‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫اﻟﻤﻮﺿﻮع ‪ :‬أﻧﻈﻤﺔ ادارة ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬

‫ﻣﻘﺪﻣﺔ ‪ :‬ﺗﻌﺘﺒﺮ ﻋﻤﻠﯿﺔ ﺟﻤﻊ اﻟﺒﯿﺎﻧﺎت و دﻗﺘﮭﺎ و اﻟﺘﻌﺎﻣﻞ ﻣﻌﮭﺎ ﻣﻦ اھﻢ اﻟﻌﻤﻠﯿﺎت اﻟﺘﻲ ﯾﻌﺘﻤﺪ ﻋﻠﯿﮭﺎ ﻓﻲ ﻣﻌﺮﻓﺔ ﻣﻌﻠﻮﻣﺎت ﻣﻌﯿﻨﺔ‬
‫وھﻲ ﺿﺮورﯾﺔ ﺟﺪا ﻟﺼﺎﺣﺐ اﻟﻘﺮار ﻓﻲ أي ﻣﺠﺎل ﻹﺗﺨﺎذ اﻟﻘﺮار اﻟﻤﻨﺎﺳﺐ ﻓﻲ اﻟﻮﻗﺖ اﻟﻤﻨﺎﺳﺐ‬

‫ﺗﻌﺮﯾﻒ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪BASE DE DONNEES :‬‬


‫ھﻲ ﻋﺒﺎرة ﻋﻦ ﺑﯿﺎﻧﺎت ﻣﺨﺰﻧﺔ ﺑﻄﺮﯾﻘﺔ ﻧﻤﻮذﺟﯿﺔ و دون ﺗﻜﺮار و ﻣﺘﺼﻠﺔ ﺑﺒﻌﻀﮭﺎ اﻟﺒﻌﺾ وﻓﻖ ﻋﻼﻗﺎت ﻣﺘﺒﺎدﻟﺔ‬
‫ﻓﯿﻤﻜﻦ ﺗﺤﺪﯾﺪ اﻟﻌﻼﻗﺎت ﻣﻦ اﻟﺠﺪاول وﻓﻖ اﺳﺲ ﻣﺤﺪدة و ﺛﺎﺑﺘﺔ ‪.‬‬

‫ﺗﻌﺮﯾﻒ ﻧﻈﺎم ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪SYSTEM DE GESTION DE BASE DE DONNEES :‬‬


‫ھﻲ ﻋﺒﺎرة ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﺑﺮاﻣﺞ ﺗﺪﯾﺮ و ﺗﺘﺤﻜﻢ ﺑﻌﻤﻠﯿﺔ ﺗﺨﺰﯾﻦ و اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت و ﺗﻮﻓﺮ ﻛﺬﻟﻚ اﻣﻜﺎﻧﯿﺔ ﻗﯿﺎم ﻋﺪد‬
‫ﻛﺒﯿﺮ ﻣﻦ اﻟﻤﺴﺘﺨﺪﻣﯿﻦ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت واﺣﺪة‬

‫طﻠﺐ اﻟﻤﺴﺘﺨﺪم‬

‫‪SGBD‬‬ ‫ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬

‫ﻧﺘﯿﺠﺔ اﻟﻄﺎﻟﺐ‬

‫طﻠﺐ اﻟﻤﺴﺘﺨﺪم‬

‫ﻧﺘﯿﺠﺔ اﻟﻄﺎﻟﺐ‬

‫ﺻﯿﺎﻏﺔ اﻻﺳﺘﻌﻼﻣﺎت ‪Formuler les requétes‬‬ ‫ﯾﺴﻤﺢ اﻟـ ‪ SGBD‬ﺑـ ‪- :‬‬


‫ﺗﻐﯿﯿﺮ اﻟﻤﻌﻄﯿﺎت ‪Modifier les données‬‬ ‫‪-‬‬
‫ﺗﺨﺰﯾﻦ اﻟﻤﻌﻄﯿﺎت ‪Stocker les données‬‬ ‫‪-‬‬
‫اﻧﺸﺎء ﻗﺎﻋﺪة اﻟﻤﻌﻄﯿﺎت ‪Creation des données‬‬ ‫‪-‬‬

‫ﻟﻜﻦ ﻣﺸﻜﻠﺔ ﺗﻜﺮار اﻟﻤﻌﻠﻮﻣﺎت ﻛﺎن ﻣﻮﺟﻮدا ﺑﻜﺜﺮة ﻓﻲ اﻻﻧﻈﻤﺔ اﻟﺘﻘﻠﯿﺪﯾﺔ ﻓﮭﻮ ﯾﺸﻐﻞ ﻣﺴﺎﺣﺔ ﻛﺒﯿﺮة ﺟﺪا اﺛﻨﺎء اﻟﺘﺨﺰﯾﻦ ﺑﻞ اﻧﮫ ﯾﻌﻘﺪ ﻛﺜﯿﺮا ﻋﻤﻠﯿﺔ‬
‫اﻟﺘﺨﺰﯾﻦ و أﻛﺜﺮ ﻣﻦ ھﺬا ﻗﺪ ﯾﺴﺘﺤﯿﻞ ﻋﻠﯿﻨﺎ ان ﻧﺤﺘﻔﻆ ﺑﻤﻌﻠﻮﻣﺎت ﻣﺘﻨﺎﺳﻘﺔ ﺧﺎﺻﺔ اذا ﻛﺎن اﻟﻨﻈﺎم ﯾﻌﺎﻟﺞ ﻋﺪة ﻣﻠﻔﺎت ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ ‪.‬‬
‫ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪ :‬ﯾﻨﻘﺴﻢ ﻧﻈﺎم ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت اﻟﻰ ﻗﺴﻤﯿﻦ ھﺎﻣﯿﻦ ھﻤﺎ ‪:‬‬
‫‪ (1‬اﻟﻤﻜﻮﻧﺎت اﻟﻤﺎدﯾﺔ ‪ Hardware :‬و ﺗﺸﻤﻞ ﺟﻤﯿﻊ اﻻﺟﮭﺰة اﻟﻤﺎدﯾﺔ ﻟﻠﻨﻈﺎم ﻣﺜﻞ ‪ :‬اﻟﺤﺎﺳﻮب ‪ ،‬اﻟﻄﺎﺑﻌﺎت ‪......‬إﻟﺦ‬
‫‪ (2‬اﻟﺒﺮﻣﺠﯿﺎت‪ Software :‬و ھﻲ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺒﺮاﻣﺞ اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت و ﺗﻨﻘﺴﻢ اﻟﻰ ﺛﻼث أﻗﺴﺎم ھﻲ ‪:‬‬
‫‪ -1‬أﻧﻈﻤﺔ اﻟﺘﺸﻐﯿﻞ ‪ :‬وھﻲ اﻟﺒﺮاﻣﺞ اﻟﺘﻲ ﺗﻘﻮم ﺑﺈدارة اﻻﺟﮭﺰة و ﺗﮭﯿﺌﮭﺎ ﻟﻠﻌﻤﻞ ﻣﺜﻞ ‪ ....... Windows ، Unix :‬إﻟﺦ‬
‫‪ -2‬ﺑﺮاﻣﺞ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪97,2007,2008,2010 Access - :‬‬

‫ﺑﺎﻟﻠﻐﺔ اﻻﻧﺠﻠﯿﺰﯾﺔ‬

‫‪SQL Server 6.5‬‬ ‫‪SQL Server 7‬‬ ‫‪SQL Server 2000‬‬

‫‪2‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫ﺟﻤﯿﻊ اﻟﻠﻐﺎت‬

‫‪SQL Server 2005‬‬ ‫‪SQL Server 2008‬‬

‫‪ -3‬اﻟﺒﺮاﻣﺞ اﻟﺘﻄﺒﯿﻘﯿﺔ اﻟﻤﺴﺎﻋﺪة ‪:‬‬

‫ﻟﻠﻤﺴﺘﺨﺪﻣﯿﻦ ‪ :‬اﻟﺒﺮاﻣﺞ اﻟﺘﻲ ﺗﻘﻮم ﺑﻌﻤﻠﯿﺎت اﻟﺘﺨﺰﯾﻦ و اﻻﺳﺘﺮﺟﺎع و اﻻﺧﺮاج و اﻟﺘﻘﺎرﯾﺮ ‪....‬إﻟﺦ‬ ‫‪-‬‬
‫اﻟﻤﺴﺘﺨﺪﻣﯿﻦ ‪ :‬ھﻢ اﻷﺷﺨﺎص اﻟﺬﯾﻦ ﯾﻘﻮﻣﻮن ﺑﺎﻟﻌﻤﻞ ﻋﻠﻰ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬ ‫‪-‬‬
‫ﻣﺪﯾﺮ اﻟﻨﻈﺎم ‪ :‬و ھﻮ اﻟﻔﺮد اﻟﻤﺴﺆول ﻋﻦ ادارة ﻋﻤﻞ اﻟﺒﯿﺌﺔ اﻟﻌﺎﻣﺔ اﻟﺘﻲ ﯾﻌﻤﻞ ﺑﮭﺎ ﻧﻈﺎم ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت و ﯾﻘﻮم‬ ‫‪-‬‬
‫ﺑﺎﻟﻤﮭﺎم اﻟﺘﺎﻟﯿﺔ ‪:‬‬
‫إدارة اﻟﻤﺴﺘﺨﺪﻣﯿﻦ ‪ :‬ﻣﻨﺢ اﻟﺼﻼﺣﯿﺎت ﻹﺳﺘﺨﺪام اﻟﻨﻈﺎم ‪ ،‬ادارة اﻻﺟﮭﺰة و أﺟﮭﺰة اﻟﺘﺨﺰﯾﻦ‬ ‫‪-‬‬
‫ﻣﺘﺎﺑﻌﺔ اﻟﻌﻤﻞ ‪ :‬ﻣﺪﯾﺮ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ھﻮ اﻟﻤﺴﺆول ﻋﻦ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻓﻲ ﺗﺤﺪﯾﺪ ﻣﺘﻄﻠﺒﺎت ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﻣﻦ‬ ‫‪-‬‬
‫اﻟﺒﺮاﻣﺞ و اﻟﺘﺠﮭﯿﺰات ‪ ،‬ﻣﺘﺎﺑﻌﺔ ﻧﻈﺎم ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪ ،‬ﺗﻮﻓﺮ اﻻﻣﻦ و اﻟﺤﻤﺎﯾﺔ ‪.‬‬
‫وﺣﺪة اﻟﺒﯿﺎﻧﺎت ‪:‬ھﻮ اﻟﺸﺨﺺ اﻟﺬي ﯾﻘﻮم ﺑﻌﻤﻠﯿﺔ ﺗﺼﻤﯿﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت وواﺟﺒﺎﺗﮫ ھﻲ ‪:‬‬ ‫‪-‬‬
‫ﺗﺤﺪﯾﺪ اﻟﺒﯿﺎﻧﺎت اﻟﻮاﺟﺐ ﺗﺨﺰﯾﻨﮭﺎ ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬ ‫‪-‬‬
‫ﺗﺼﻤﯿﻢ ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺧﺎﻟﯿﺔ ﻣﻦ اﻟﺘﻜﺮار‬ ‫‪-‬‬
‫ﺗﺤﺪﯾﺪ طﺮق اﻟﻮﺻﻮل و اﻟﻤﻌﺎﻟﺠﺔ و اﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت‬ ‫‪-‬‬
‫ﺗﻮﺛﯿﻖ ﻋﻤﻠﯿﺔ طﺮق اﻟﻮﺻﻮل اﻟﻰ اﻟﺒﯿﺎﻧﺎت‬ ‫‪-‬‬
‫اﻟﻤﺒﺮﻣﺠﻮن و ﻣﺤﻠﻠﻮا اﻟﻨﻈﺎم ‪ :‬ھﻢ اﻻﺷﺨﺎص اﻟﺬﯾﻦ ﯾﻘﻮﻣﻮن ﺑﻌﻤﻠﯿﺔ ﺗﺼﻤﯿﻢ اﻟﺒﺮاﻣﺞ و ﺗﺤﻮﯾﻠﮭﺎ‬ ‫‪-‬‬
‫وواﺟﺒﺎﺗﮭﻢ ھﻲ ﺗﺼﻤﯿﻢ ﺗﻄﺒﯿﻘﺎت و ﺗﺤﻮﯾﻠﮭﺎ اﻟﻰ ﺑﺮاﻣﺞ‬ ‫‪-‬‬
‫ﺗﻨﻔﯿﺬ و ﺗﻄﺒﯿﻖ ﺗﻠﻚ اﻟﺒﺮاﻣﺞ و اﻟﺘﺄﻛﺪ ﻣﻦ ﺳﻼﻣﺘﮭﺎ‬ ‫‪-‬‬
‫ﻋﻤﻞ ﺻﯿﺎﻧﺔ ﻟﺘﻠﻚ اﻟﺒﺮاﻣﺞ‬ ‫‪-‬‬
‫اﻟﻤﺴﺘﺨﺪم ‪ :‬ھﻮ اﻟﺸﺨﺺ او اﻻﺷﺨﺎص اﻟﺬﯾﻦ ﯾﻘﻮﻣﻮن ﺑﺎﻟﻌﻤﻞ اﻟﯿﻮﻣﻲ ﻋﻠﻰ اﻟﻨﻈﺎم و ﺗﻄﺒﯿﻖ اﻟﺒﺮاﻣﺞ ﻓﻲ‬ ‫‪-‬‬
‫ﻣﺠﺎل ﻣﺤﺪد ﺗﺤﺪﯾﺚ )إﺿﺎﻓﺔ ‪،‬ﺣﺬف ‪ ،‬ﺗﻌﺪﯾﻞ اﻻﺟﺮاءات و اﻟﻌﻤﻠﯿﺎت ‪.‬‬
‫اﻹﺟﺮاءات و اﻟﻌﻤﻠﯿﺎت ‪:‬‬ ‫‪-‬‬
‫و ھﻲ ﻋﺒﺎرة ﻋﻦ ﻗﻮاﻧﯿﻦ و ﺗﻌﻠﯿﻤﺎت اﻟﺘﻲ ﺗﺘﺤﻜﻢ ﻓﻲ ﻋﻤﻞ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ﺑﺸﻜﻞ ﺻﺤﯿﺢ‬ ‫‪-‬‬
‫وﺗﻜﻮن ﻋﻠﻰ ﺷﻜﻞ ﺗﻌﻠﯿﻤﺎت ﻣﻮﺛﻘﺔﺑﺸﻜﻞ ﺻﺤﯿﺢ و ﻣﺤﺪد‬ ‫‪-‬‬
‫اﻟﺒﯿﺎﻧﺎت ‪ :‬وھﻲ أھﻢ ﻣﻜﻮﻧﺎت اﻟﻨﻈﺎم ﺣﯿﺚ ﺗﺸﻤﻞ ‪:‬‬ ‫‪-‬‬

‫ﻣﻌﻠﻮﻣﺔ ) ‪( information‬‬ ‫ﺣﻔﻆ و ﻣﻌﺎﻟﺠﺔ‬ ‫‪ donnée‬ﺑﯿﺎﻧﺎت‬

‫ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺤﻘﺎﺋﻖ اﻟﻤﺨﺰﻧﺔ ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت و اﻟﺒﯿﺎﻧﺎت ﺗﻜﻮن ﻋﻠﻰ ﺷﻜﻞ ﺑﺪاﺋﻲ اذ ﻻ ﺑﺪ ﻣﻦ ﺗﺤﺪﯾﺪ ﻣﻜﺎن و ﻛﯿﻔﯿﺔ‬
‫ﺗﺨﺰﯾﻦ ھﺬه اﻟﺒﯿﺎﻧﺎت ﺣﺘﻰ ﺗﺴﮭﻞ ﻋﻤﻠﯿﺔ ﻣﻌﺎﻟﺠﺘﮭﺎ و اﻻﺳﺘﻔﺎدة ﻣﻨﮭﺎ و ھﺬا ﯾﻜﻮن ﺿﻤﻦ ﻋﻤﻞ اﻟﻤﺼﻤﻢ ‪.‬‬

‫‪ -4‬أھﻤﯿﺔ ﻧﻈﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺖ ‪:‬‬

‫ان ﻋﻤﻠﯿﺔ ﺑﻨﺎء ﻗﺎﻋﺪة ﺑﯿﺎﻧﺎت ﺟﯿﺪة ﻻ ﯾﺄﺗﻲ ﺑﺴﮭﻮﻟﺔ اذ ﻻ ﺑﺪ ﻣﻦ ﺑﺬل ﺟﮭﺪ ﻛﺒﯿﺮ ﻟﻠﺤﺼﻮل ﻋﻠﯿﮭﺎ و اﻟﺘﺼﻤﯿﻢ اﻟﺠﯿﺪ ﻟﻘﺎﻋﺪة‬
‫اﻟﺒﯿﺎﻧﺎت ﯾﺴﮭﻞ ﻋﻠﯿﻨﺎ ﻋﻤﻠﯿﺔ اﺳﺘﺨﺪاﻣﮭﺎ اﻣﺎ اﻟﺘﺼﻤﯿﻢ اﻟﺴﻲء) ﯾﻌﻨﻲ وﺟﻮد ﻧﻔﺲ اﻟﺒﯿﺎﻧﺎت ﻓﻲ أﻛﺜﺮ ﻣﻦ ﻣﻜﺎن( و ﺑﺎﻟﺘﺎﻟﻲ ﺗﺼﻌﺐ‬
‫ﻋﻤﻠﯿﺔ اﻟﺤﻔﺎظ ﻋﻠﻰ ﺗﻮاﻓﻘﯿﺔ اﻟﺒﯿﺎﻧﺎت ‪ ،‬و ﻋﺎدة ﻣﺎ ﯾﺆدي ﺗﻜﺮار اﻟﺒﯿﺎﻧﺎت اﻟﻰ ﻧﺘﺎﺋﺞ ﻏﯿﺮ ﺻﺤﯿﺤﺔ ﻋﻨﺪ طﻠﺐ ﺗﻠﻚ اﻟﺒﯿﺎﻧﺎت ﻣﻦ‬
‫ﻣﻦ ﺗﻠﻚ اﻟﻘﺎﻋﺪة ‪ ،‬و ھﺬا ﺑﺪوره ﯾﺆدي اﻟﻰ أي ﻗﺮار إداري ‪ ،‬و ﻛﺬﻟﻚ أي ﺗﺨﻄﯿﻂ ﻣﺴﺘﻘﺒﻠﻲ ﺳﯿﻜﻮن ﺧﺎطﺌﺎ ﻣﻊ اﻟﺤﺼﻮل ﻋﻠﻰ‬
‫ﻣﻌﻠﻮﻣﺎت ﻏﯿﺮ ﺻﺤﯿﺤﺔ ‪.‬‬

‫‪3‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫‪ - 5‬ﻧﻈﺎم إدارة ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪:‬‬

‫ان ﻗﺎﻋﺪة اﻟﻤﻌﻄﯿﺎت ھﻲ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺒﯿﺎﻧﺎت اﻟﻤﺴﺠﻠﺔ ﻓﻲ ﺣﺎﻣﻞ ﻣﻮﺻﻮل ﺑﺤﺎﺳﻮب ﻟﺘﻠﺒﯿﺔ اﺣﺘﯿﺎﺟﺎت ﻋﺪة ﻣﺴﺘﺨﺪﻣﯿﻦ‬
‫ﻓﻲ زﻣﻦ ﻗﯿﺎﺳﻲ ‪ ،‬ﯾﺨﺘﺺ ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﻤﻌﻄﯿﺎت ﺑﻮﺿﻊ ﻧﻤﻮذج اﻟﺒﯿﺎﻧﺎت اﻟﺘﻲ ﯾﺤﻤﻞ ﻋﻠﯿﮭﺎ )‪ ، (Les données‬اﻟﻨﻤﺎذج‬
‫اﻟﻤﺴﺘﻌﻤﻠﺔ ﻓﻲ اﻹﻋﻼم اﻵﻟﻲ ‪:‬‬
‫‪ -‬اﻷﻧﻈﻤﺔ اﻟﺴﻠﻤﯿﺔ اﻟﮭﺮﻣﯿﺔ‬
‫‪ -‬اﻷﻧﻈﻤﺔ اﻟﺸﺒﻜﯿﺔ‬
‫‪ -‬اﻹﻧﻈﻤﺔ اﻟﻌﻼﺋﻘﯿﺔ‬

‫‪ (1‬اﻻﻧﻈﻤﺔ اﻟﺴﻠﻤﯿﺔ اﻟﮭﺮﻣﯿﺔ ‪:‬‬

‫اﻟﻌﺎﻣﻠﻮن‬
‫اﻟﺘﻌﻮﯾﻀﺎت‬ ‫اﻻﻣﺘﯿﺎزات‬ ‫اﻟﻮاﺟﺒﺎت‬

‫ﺗﻘﯿﯿﻢ اﻷداء‬ ‫اﻟﺮواﺗﺐ‬ ‫اﻟﺘﻘﺎﻋﺪ‬ ‫اﻟﺘﺄﻣﯿﻦ اﻟﺼﺤﻲ‬ ‫اﻟﻤﺠﺎل اﻟﺼﺤﻲ‬

‫ﻓﻲ ھﺬا اﻟﻤﺜﺎل ﻧﻼﺣﻆ ان اﻟﺘﺴﺠﯿﻼت ﺗﻜﻮن ﻣﺸﺠﺮة و ﻣﻦ اﻟﻨﻘﺎﺋﺺ او اﻟﻤﺴﺎوء ﻧﺬﻛﺮ ﻣﺎ ﯾﻠﻲ ‪:‬‬
‫‪ -‬ﺗﻜﺮار اﻟﻤﻌﻠﻮﻣﺎت اﻟﺬي ﯾﺆدي اﻟﻰ إزدﺣﺎم ﻓﻲ اﻟﺤﺎﻣﻞ‬
‫‪ -‬ﻣﺸﻜﻠﺔ اﻹﻧﺴﺠﺎم ﻓﻲ اﻟﻤﻌﻄﯿﺎت اﻟﻤﺘﻜﺮرة‬
‫‪ -‬ﺻﻌﻮﺑﺔ اﺷﺘﺮاك اﻟﻤﻌﻄﯿﺎت اﻟﻤﻮﺟﻮدة ﻓﻲ اﻟﺸﺠﺮات اﻟﻤﺨﺘﻠﻔﺔ اذ ﻓﻲ ھﺬا اﻟﻤﺜﺎل ﻻ ﯾﻤﻜﻦ ان ﯾﻜﻮن ﻹﺑﻦ أﻛﺜﺮ ﻣﻦ أب‬

‫‪ (2‬ﻧﻈﺎم ﻗﻮاﻋﺪ اﻻﻧﻈﻤﺔ اﻟﺸﺒﻜﯿﺔ ‪:‬‬


‫ظﮭﺮ ھﺬا اﻟﻨﻈﺎم ﺑﻌﺪ اﻟﻨﻈﺎم اﻟﮭﺮﻣﻲ ﺑﻌﺪ اﻟﺘﻮﺳﻊ ﻓﻲ أﻧﻈﻤﺔ اﻟﺸﺒﻜﺎت و ﻻﻛﻦ ﻛﺎن ھﻨﺎك ﺻﻌﻮﺑﺔ ﻓﻲ ﻋﻤﻠﯿﺔ ﻓﮭﻢ و طﺒﯿﻌﺔ اﻟﻨﻈﺎم‬

‫اﻟﻤﺪرﺳﺔ‬
‫اﻻﺳﺘﺎذ ‪B‬‬ ‫اﻻﺳﺘﺎذ ‪A‬‬
‫اﻻﺳﺘﺎذ ‪C‬‬
‫اﻟﻄﺎﻟﺐ ‪5‬‬ ‫اﻟﻄﺎﻟﺐ ‪4‬‬ ‫اﻟﻄﺎﻟﺐ ‪3‬‬ ‫اﻟﻄﺎﻟﺐ ‪2‬‬ ‫اﻟﻄﺎﻟﺐ ‪1‬‬

‫‪ (3‬ﻧﻈﺎم ادارة اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ ‪:‬‬


‫ﯾﻌﺘﺒﺮ ھﺬا اﻟﻨﻈﺎم اﻟﺬي ﯾﻌﺘﻤﺪ ﻋﻠﯿﮫ ﻓﻲ أﻏﻠﺐ ﺑﺮاﻣﺞ اﻟﺒﯿﺎﻧﺎت ﻣﺜﻞ ‪ Oracl‬ﻷﻧﮫ ﻣﻦ أﻗﻮى اﻧﻈﻤﺔ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﻟﻘﺪرﺗﮫ اﻟﻔﺎﺋﻘﺔ ﻋﻠﻰ‬
‫اﺳﺘﯿﻌﺎب ﻛﻤﯿﺎت ﻛﺒﯿﺮة ﻣﻦ اﻟﺒﯿﺎﻧﺎت دون اﻟﺘﺄﺛﯿﺮ ﻋﻠﻰ اداﺋﮭﺎ ﻣﻦ ﺣﯿﺚ اﻟﺴﺮﻋﺔ و اﻟﺪﻗﺔ ﻛﻤﺎ ان ھﺬا اﻟﻨﻈﺎم ﯾﺘﻤﺘﻊ ﺑﺎﻟﺴﺮﯾﺔ و اﻻﻣﺎن ﻹﺣﺘﻮاﺋﮫ‬
‫ﻋﻠﻰ ﻧﻈﺎم اﻋﻄﺎء اﻟﺼﻼﺣﯿﺎت و اﻟﺤﻘﻮق ﻟﻤﺴﺘﺨﺪﻣﯿﮫ و ﺳﮭﻮﻟﺘﮫ ﻓﻲ ﻋﻤﻠﯿﺔ اﻻﺳﺘﺨﺪام و اﻟﻔﮭﻢ و ﺳﮭﻮﻟﺔ ﺑﺮﻣﺠﺔ ﺗﻄﺒﯿﻘﺎﺗﮫ‬

‫ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ ‪:‬‬

‫ﻟﻤﺤﺔ ﺗﺎرﯾﺨﯿﺔ ‪ :‬ﻧﺸﺄ ﻣﻔﮭﻮم ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ﺳﻨﺔ ‪ 1970‬ﻣﻦ طﺮف اﻟﻌﺎﻟﻢ ‪ CODD‬ھﺬا اﻟﻨﻤﻮذج ﯾﺘﻠﺨﺺ‬
‫ﻓﻲ ﻛﻮﻧﮫ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺠﺪاول و اﻟﻌﻼﻗﺎت ‪.‬‬

‫‪4‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫اﻟﺠﺪاول ‪ :‬ﯾﺘﻜﻮن اﻟﺠﺪول ﻣﻦ ﺑﻌﺪﯾﻦ اﻟﺼﻔﻮف ) ‪ ( Ligne‬اﻟﺘﻲ ﺗﻤﺜﻞ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺘﺴﺠﯿﻼت ‪ ،‬و اﻻﻋﻤﺪة‬ ‫‪-‬‬
‫) ‪ ( Colone‬و اﻟﺘﻲ ﺗﻤﺜﻞ اﻟﺼﻔﺎت ﻟﮭﺬا اﻟﺠﺪول و ﻟﻜﻞ ﺻﻔﺔ ﻣﺠﺎل ﻣﺤﺪود ﻣﻦ اﻟﻘﯿﻢ ‪.‬‬

‫ﺻﻔــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــﺎت‬

‫‪N_emp‬‬ ‫‪Nom_emploi‬‬ ‫‪Poste‬‬


‫ــــــــــــــــــــــــــــــــــﻼت‬ ‫ـــــــــــــــــــــــــــــــــــــﯿــــــــــــــــــ‬ ‫ﺗﺴﺠــــــــــــــــــــــــــــــــــــــــــ‬
‫ــــــــــــــــــــــــــــــــــﻼت‬ ‫ـــــــــــــــــــــــــــــــــــــﯿــــــــــــــــــ‬ ‫ﺗﺴﺠــــــــــــــــــــــــــــــــــــــــــ‬
‫‪:‬‬ ‫ﺗﻌﺮﯾﻔﺎت‬
‫‪ -‬اﻟﻨﻄﺎق ‪Le domaine :‬‬
‫ﻣﺜﺎل ﻧﻄﺎق اﻟﻠﻐﺎت } ‪ ، { arabe,français‬اﻟﻨﻄﺎق ھﻮ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻘﯿﻢ اﻟﺘﻲ ﻻ ﺗﻘﺒﻞ اﻟﻘﺴﻤﺔ َ ‪Atomique‬‬

‫اﻟﺠﺪاء اﻟﺪﯾﻜﺎرﺗﻲ ‪Le produit cartisain :‬‬ ‫‪-‬‬


‫ﯾﻤﺜﻞ ﻛﻞ اﻟﻌﻨﺎﺻﺮ اﻟﻤﺘﻜﻮﻧﺔ ﻣﻦ ﻧﻄﺎﻗﯿﻦ ﻣﺜﺎل ‪D1 : salle , bureau :‬‬
‫‪D2 : 1,2‬‬

‫‪ -‬اﻟﻌﻼﻗﺔ ‪:‬‬
‫ﺗﻌﺮف اﻟﻌﻼﻗﺔ ﺑﺄﻧﮭﺎ ﻣﺠﻤﻮﻋﺔ ﺟﺰﺋﯿﺔ ﻣﻦ اﻟﺠﺪاء اﻟﺪﯾﻜﺎرﺗﻲ ‪ ،‬اﻟﻌﻼﻗﺔ ﺗﺘﻜﻮن ﻣﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺜﻨﺎﺋﯿﺎت و ﺗﻈﮭﺮ ﻋﻠﻰ ﺷﻜﻞ ﺟﺪول ذو‬
‫اﻟﺨﺼﺎﺋﺺ اﻟﺘﺎﻟﯿﺔ ‪:‬‬
‫‪ -‬ﻻ ﺗﻮﺟﺪ ﺛﻨﺎﺋﯿﺎت ﻣﺘﺸﺎﺑﮭﺔ‬
‫‪ -‬ﺗﺮﺗﯿﺐ اﻻﺳﻄﺮ ﻏﯿﺮ ﻣﮭﻢ‬
‫‪ -‬ﻛﻞ اﻟﻤﺪﺧﻼت ) ‪ ( Les attrubuts‬ھﻲ ﻗﯿﻢ ﻏﯿﺮ ﻗﺎﺑﻠﺔ ﻟﻠﺘﻘﺴﯿﻢ‬
‫‪ -‬اﻟﺨﺎﺻﯿﺔ ) ‪: ( Les attrubuts‬‬
‫‪Nom‬‬ ‫‪Prenom Adresse‬‬ ‫‪Sexe‬‬

‫ھﻲ ﻋﻤﻮد اﻟﻌﻼﻗﺔ ﻣﻌﺮﻓﺔ ﺑﺈﺳﻢ اﻟﻌﻼﻗﺔ اﻟﻤﺘﻔﺮﻋﺔ ﺑﻘﺎﺋﻤﺔ اﻟﺨﺼﺎﺋﺺ‬

‫اﻟﻘﺎﻋﺪة اﻟﻌﻼﺋﻘﯿﺔ ‪ :‬ھﻲ ﻣﺠﻤﻮﻋﺔ اﻟﻌﻼﻗﺎت اﻟﻤﻜﻮﻧﺔ ﻣﻦ ﺛﻨﺎﺋﯿﺎت و ﺧﺼﺎﺋﺺ ﺗﺮﺑﻄﮭﺎ ﻋﻼﻗﺔ‬ ‫‪-‬‬

‫اﻟﺠﺒﺮ اﻟﻌﻼﺋﻘﻲ ‪Le djebre :‬‬


‫ﻣﻘﺪﻣﺔ ‪:‬‬
‫اﻟﺠﺒﺮ اﻟﻌﻼﺋﻘﻲ ھﻮ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻤﻠﯿﺎت اﻟﺘﻲ ﺗﺴﻤﺢ ﺑﻤﻌﺎﻟﺠﺔ اﻟﻨﻤﻮذج اﻟﻌﻼﺋﻘﻲ ﺗﺴﻤﺢ ﻣﺜﻼ ﺑﺈﻧﺘﻘﺎء ﺑﻌﺾ‬
‫اﻟﺘﺴﺠﯿﻼت اﻟﺘﻲ ﺗﺤﻘﻘﺸﺮوط ﻣﻌﯿﻨﺔ )ﺗﺼﻔﯿﺔ( ‪ ،‬او ﺗﺠﻤﯿﻊ ﺗﺴﺠﯿﻼت ﻣﻦ ﻋﻼﻗﺎت ﻣﺨﺘﻠﻔﺔ ﻧﺘﯿﺠﺔ أي ﻋﻤﻠﯿﺔ ﻣﻦ اﻟﺠﺒﺮ‬
‫اﻟﻌﻼﺋﻘﻲ ‪ ،‬و ھﺬا ﯾﻌﻨﻲ اﻧﮫ ﯾﻮﺟﺪ ﺗﻜﺮار ﻓﻲ ﻓﻲ اﻟﻌﻤﻠﯿﺔ اﻟﺠﺒﺮﯾﺔ ‪ ،‬ﺑﻤﺎ ان اﻟﻨﻤﻮذج ﯾﻌﺘﻤﺪ ﻋﻠﻰ ﻧﻈﺮﯾﺔ اﻟﻤﺠﻤﻮﻋﺎت ﻓﺎن‬
‫اﻟﺠﺒﺮ اﻟﻌﻼﺋﻘﻲ ﯾﺴﺘﻌﻤﻞ ﻋﻮاﻣﻞ اﻟﻤﺠﻤﻮﻋﺎت ‪.‬‬

‫ﻋﻮاﻣﻞ اﻟﻤﺠﻤﻮﻋﺎت ‪:‬‬

‫‪ (1‬اﻹﺗﺤﺪ اﻟﻤﻼﺋﻢ ‪:‬‬


‫ﻧﻘﻮل ﻋﻦ ﻋﻼﻗﺘﯿﻦ اﻧﮭﻤﺎ ﻣﻦ ﻧﻮع اﺗﺤﺎد ﻣﻼﺋﻢ اذا ﻛﺎن ﻟﮭﻤﺎ ﻧﻔﺲ اﻟﺨﺎﺻﯿﺎت او اﻟﺴﻤﺎت )‪( Les attrubuts‬‬
‫ﻋﻤﻠﯿﺎت اﻻﺗﺤﺎد و اﻟﺘﻘﺎطﻊ و اﻟﻄﺮح ﺗﺘﻄﻠﺐ ان ﺗﻜﻮن اﻟﻌﻼﻗﺎت ﻣﻦ ﻧﻮع اﺗﺤﺎد ﻣﻼﺋﻢ‬

‫‪ (2‬اﻹﺗﺤـــــﺎد ‪Union :‬‬


‫إﺗﺤﺎد ﻋﻼﻗﺘﯿﻦ ‪ R1,R2‬ھﻲ ﻋﻼﻗﺔ ﻟﮭﺎ ﻧﻔﺲ اﻟﺘﺼﻤﯿﻢ و ﺗﺤﺘﻮي ﻋﻠﻰ ‪ N_aplet‬اﻟﻤﺤﺘﻮات ﻓﻲ ‪ R1‬او ‪R2‬‬
‫او ﻓﯿﮭﻤﺎ ﻣﻌﺎ و ﺗﺼﺎغ ﻋﻠﻰ اﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪R = R1 U R2‬‬

‫‪5‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫ﻣﺜﺎل ‪:‬‬

‫‪Livre 1‬‬ ‫‪Titre‬‬ ‫‪Sujet‬‬ ‫‪N° page‬‬


‫‪Pascal‬‬ ‫‪Inf‬‬ ‫‪120‬‬
‫‪Delphi‬‬ ‫‪Inf‬‬ ‫‪300‬‬
‫‪Larousse‬‬ ‫‪Dic‬‬ ‫‪1700‬‬

‫‪Livre 2‬‬ ‫‪Titre‬‬ ‫‪Sujet‬‬ ‫‪N° page‬‬


‫‪Basic‬‬ ‫‪Inf‬‬ ‫‪200‬‬
‫‪Delphi‬‬ ‫‪Inf‬‬ ‫‪300‬‬
‫‪Structure‬‬ ‫‪Inf‬‬ ‫‪300‬‬
‫اﻟﻌﻼﻗﺔ ‪Livre = Livre1 U Livre2‬‬
‫‪Livre = Livre1 U Livre2‬‬ ‫‪Titre‬‬ ‫‪Sujet‬‬ ‫‪N° page‬‬
‫‪Pascal‬‬ ‫‪Inf‬‬ ‫‪120‬‬
‫‪Delphi‬‬ ‫‪Inf‬‬ ‫‪300‬‬
‫‪Larousse‬‬ ‫‪Dic‬‬ ‫‪1700‬‬
‫‪Basic‬‬ ‫‪Inf‬‬ ‫‪200‬‬
‫‪Structure‬‬ ‫‪Inf‬‬ ‫‪300‬‬

‫‪ (3‬اﻟﺘﻘﺎطﻊ ‪:‬‬
‫اﻟﻌﻼﻗﺘﯿﻦ ‪ R1‬و ‪ R2‬ﻋﻼﻗﺘﯿﻦ ﻣﻦ ﻧﻮع اﺗﺤﺎد ﻣﻼﺋﻢ ‪ ،‬ﻋﻼﻗﺔ ‪ R1 ∩ R2‬ﺗﻮﻟﺪ ﻋﻼﻗﺔ ﻟﮭﺎ ﻧﻔﺲ اﻟﺨﺼﺎﺋﺺ‬

‫‪Livre 2‬‬ ‫‪Titre‬‬ ‫‪Sujet‬‬ ‫‪N° page‬‬


‫‪Delphi‬‬ ‫‪Inf‬‬ ‫‪300‬‬

‫‪ (4‬اﻟﻄـــــﺮح ‪:‬‬
‫اﻟﻌﻼﻗﺘﯿﻦ ‪ R1‬و ‪ R2‬ﻋﻼﻗﺘﯿﻦ ﻣﻦ ﻧﻮع اﺗﺤﺎد ﻣﻼﺋﻢ ‪ ،‬ﻋﻼﻗﺔ ‪ R2 - R1‬ﺗﻮﻟﺪ ﻋﻼﻗﺔ ﻟﮭﺎ ﻧﻔﺲ اﻟﺘﺼﻤﯿﻢ ﺗﺘﻜﻮن‬
‫ﻣﻦ اﻟﺘﺴﺠﯿﻼت اﻟﻤﻮﺟﻮدة ﻓﻲ ‪ R1‬و ﻟﯿﺴﺖ ﻣﻮﺟﻮدة ﻓﻲ ‪R2‬‬
‫‪Livre = Livre1 - Livre2‬‬ ‫‪Titre‬‬ ‫‪Sujet‬‬ ‫‪N° page‬‬
‫‪Pascal‬‬ ‫‪Inf‬‬ ‫‪120‬‬
‫‪Larousse‬‬ ‫‪Dic‬‬ ‫‪1700‬‬

‫ﻋﻮاﻣﻞ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪:‬‬

‫‪ (1‬اﻹﺳﻘﺎط ‪La projection :‬‬

‫رﻣﺰھﺎ ‪ P‬ﻧﻘﻮل ﻋﻦ اﺳﻘﺎط اﻟﻌﻼﻗﺔ ذات اﻟﺘﺼﻤﯿﻢ )‪ R1(A1,A2,A3,A4……….An‬ﻋﻠﻰ اﻟﺨﺎﺻﯿﺎت ﺣﯿﺚ ‪N>=P‬‬
‫)‪ ( Ai1,Ai2,Ai3…….AiP‬أﻧﮭﺎ ﻋﻼﻗﺔ ‪ R2‬ذات اﻟﺘﺼﻤﯿﻢ ‪ R‬اﻟﻤﻜﻮﻧﺔ ﻣﻦ اﻟﻌﻨﺼﺮ ‪ N‬و ذﻟﻚ ﺑﺈﻗﺼﺎء اﻟﺨﺎﺻﯿﺔ اﻟﻤﻮﺟﻮدة ﻓﻲ ‪R1‬‬

‫ﻣﺜﺎل ‪:‬‬
‫‪R2 :Livre , Sujet‬‬
‫‪R2 : Projection Sujet‬‬

‫‪6‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫ﻣﺜﺎل ‪:‬‬
‫‪Sujet‬‬
‫‪Inf‬‬
‫‪Dic‬‬

‫‪ (2‬اﻹﻧﺘﻘﺎء ‪Selection :‬‬

‫اﻧﻄﻼﻗﺎ ﻣﻦ اﻟﻌﻼﻗﺔ ‪ R1‬ﺗﺘﻮﻟﺪ اﻟﻌﻼﻗﺔ ‪ R2‬ﻟﮭﻤﺎ ﻧﻔﺲ اﻟﺘﺼﻤﯿﻢ و ﺗﺤﺘﻮي ﻋﻠﻰ ‪ N‬ﻣﻀﺎﻋﻒ اﻟﺘﻲ ﺗﺨﻀﻊ اﻟﻰ ﺷﺮط ﻣﻌﯿﻦ‬
‫) ﯾﺘﺤﻘﻖ ﻓﯿﮭﺎ اﻟﺸﺮط اﻟﻤﻜﺘﻮب ﻓﻲ ﻋﻤﻠﯿﺔ اﻹﻧﺘﻘﺎء (‬

‫ﻣﺜﺎل ‪R1 = Selection (Livre1 , N°page >= 150) :‬‬

‫)‪R1 = Selection (Livre1 , N°page >= 150‬‬ ‫‪Titre‬‬ ‫‪Sujet‬‬ ‫‪N° page‬‬
‫‪Delphi‬‬ ‫‪Inf‬‬ ‫‪300‬‬
‫‪Larousse‬‬ ‫‪Dic‬‬ ‫‪1700‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬اﻟﻌﺎﻣﻞ ﯾﺸﻐﻞ ﻣﻊ ﻋﻼﻣﺔ واﺣﺪة ﻓﻘﻂ ‪ ،‬ﺗﻜﻮن اﻟﺸﺮوط ﻣﻌﺒﺮة ﺑﻌﻮاﻣﻞ ﻣﻨﻄﻘﯿﺔ و ﻋﻮاﻣﻞ ﻻ ﻣﻨﻄﻘﯿﺔ اﻟﺤﺴﺎﺑﯿﺔ ) =< ‪(>, < , >= ,‬‬
‫و اﻟﻌﻮاﻣﻞ اﻟﻤﻨﻄﻘﯿﺔ ) ﺻﺢ ‪ ،‬ﺧﻄﺄ (‬
‫أﻣﺜﻠﺔ ‪ :‬ﻟﺘﻜﻦ اﻟﻌﻼﻗﺎت اﻟﻌﻼﺋﻘﯿﺔ اﻟﺘﺎﻟﯿﺔ ‪R(A : D1,B :D2), S(A :D1,B :D2) , Q(A :D1, B :D2, C :D3) :‬‬
‫ﻧﻤﺜﻠﮭﺎ ﻓﻲ اﻟﺠﺪاول اﻟﺘﺎﻟﯿﺔ ‪:‬‬

‫‪R‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪S‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪Q‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬
‫‪1‬‬ ‫‪a‬‬ ‫‪1‬‬ ‫‪a‬‬ ‫‪1‬‬ ‫‪a‬‬ ‫‪2.5‬‬
‫‪2‬‬ ‫‪a‬‬ ‫‪2‬‬ ‫‪b‬‬ ‫‪2‬‬ ‫‪a‬‬ ‫‪5.3‬‬
‫‪5‬‬ ‫‪c‬‬ ‫‪3‬‬ ‫‪c‬‬ ‫‪2‬‬ ‫‪a‬‬ ‫‪3.1‬‬
‫‪6‬‬ ‫‪h‬‬ ‫‪5‬‬ ‫‪c‬‬ ‫‪6‬‬ ‫‪h‬‬ ‫‪7.9‬‬

‫‪S - Q (5‬‬ ‫‪،‬‬ ‫‪R U S U projection a,b(Q) (4‬‬ ‫‪، R ∩ S (3 ، R – S (2 ،‬‬ ‫أﺣﺴﺐ ﻣﺎ ﯾﻠﻲ ‪S U R (1 :‬‬
‫‪SelectionA = 2(R) (7 ،‬‬ ‫‪R – P (6‬‬
‫‪RUS‬‬ ‫‪A‬‬ ‫‪B‬‬
‫‪1‬‬ ‫‪a‬‬ ‫)‪R U S U project a,b(Q‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫اﻟﺤﻞ ‪:‬‬
‫‪2‬‬ ‫‪a‬‬ ‫‪1‬‬ ‫‪a‬‬ ‫‪ProjectA,B‬‬ ‫‪A‬‬ ‫‪B‬‬
‫‪2‬‬ ‫‪b‬‬ ‫‪2‬‬ ‫‪a‬‬ ‫‪1‬‬ ‫‪a‬‬
‫‪5‬‬ ‫‪c‬‬ ‫‪5‬‬ ‫‪c‬‬ ‫‪2‬‬ ‫‪a‬‬
‫‪6‬‬ ‫‪h‬‬ ‫‪6‬‬ ‫‪h‬‬ ‫‪6‬‬ ‫‪H‬‬
‫‪3‬‬ ‫‪c‬‬ ‫‪3‬‬ ‫‪c‬‬

‫‪R-S‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪S-Q‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪R∩S‬‬ ‫‪A‬‬ ‫‪B‬‬


‫‪2‬‬ ‫‪a‬‬ ‫‪1‬‬ ‫‪a‬‬ ‫‪1‬‬ ‫‪a‬‬
‫‪6‬‬ ‫‪h‬‬ ‫‪3‬‬ ‫‪c‬‬ ‫‪5‬‬ ‫‪b‬‬
‫‪5‬‬ ‫‪c‬‬

‫)‪SelectionA = 2(R‬‬ ‫‪A‬‬ ‫‪B‬‬


‫‪2‬‬ ‫‪a‬‬

‫‪7‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
SGBD ‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
: ‫( اﻟﺠﺪاء اﻟﺪﯾﻜﺎرﺗﻲ‬3
R2 ‫ و‬R1 ‫ ( ﻟﺪﯾﻨﺎ اﻟﺠﺪوﻟﯿﻦ اﻟﺘﺎﻟﯿﯿﻦ‬1 ‫ﻣﺜﺎل‬
R1×R2 ‫ﻧﺤﺴﺐ اﻟﻌﻼﻗﺔ‬

R1×R2 A B R1 B R1 A
a 1 1 a
a 2 2 b
a 3 3
a 4 4
b 1
b 2
b 3
b 4

Les amis ‫ ﯾﻤﺜﻞ ﺟﺪول اﻻﺻﺪﻗﺎء‬R1 ‫ ﺑﺤﺚ‬R2 ‫ و‬R1 ‫ ( ﻟﺪﯾﻨﺎ اﻟﺠﺪوﻟﯿﻦ اﻟﺘﺎﻟﯿﯿﻦ‬2 ‫ﻣﺜﺎل‬
Les cadeaux ‫ ﯾﻤﺜﻞ ﺟﺪول اﻟﮭﺪاﯾﺎ‬R2 ‫و اﻟﺠﺪول‬

R1 Nom Prenom R2 Article Prix


Rida Abde.R Liver 45
Amina Fakani Poupie 25
monde 87

R1×R2 ‫ﻧﺤﺴﺐ اﻟﻌﻼﻗﺔ‬

R1×R2 Nom Prenom Article Prix


Rida Abde.R Liver 45
Rida Abde.R Poupie 25
Rida Abde.R monde 87
Amina Fakani Liver 45
Amina Fakani Poupie 25
Amina Fakani monde 87

‫ ﻟﯿﻜﻦ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ﻟﺜﻼﺛﺔ ﺟﺪاول ﻛﻤﺎ ﯾﻠﻲ‬: ‫ﺗﻄﺒﯿﻘـــــﺎت‬

Use(NumV,Nom,Classement,Age)
Livre(NumL,Titre,Type)
Preter(NumV,NumL,Date)

8
(‫ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ‬:‫اﺧﺘﺼﺎص‬ ‫ اﻹﻋﻼم آﻟﻲ‬: ‫ﺧﺎص ﺑﻄﻠﺒﺔ‬ ‫ اﻟﻌﯿﺸﻲ ھﺸﺎم‬:‫إﻋﺪاد‬
___________________________________________________________
SGBD ‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
: ‫اﻟﻤﻤﺜﻠﺔ ﻓﻲ اﻟﺠﺪاول اﻟﺘﺎﻟﯿﺔ‬

USE NumU Nom Classement Age


22 ‫ﻋﺒﺪ اﻟﻠﻄﯿﻒ‬ 7 45
31 ‫ﻋﺒﺪ اﻟﺴﺘﺎر‬ 8 55
58 ‫ﻋﺒﺪ اﻟﺼﻤﺪ‬ 10 35

LIVRE NumL Titre Type


101 ‫ﺟﺪد ﺣﯿﺎﺗﻚ‬ ‫دﯾﻦ‬
102 Delphi 7 ‫إﻋﻼم آﻟﻲ‬
103 Ro ‫رﯾﺎﺿﯿﺎت‬

USE2 Num Nom Classement Age


15 ‫ﻣﺤﻤﺪ‬ 16 27
31 ‫ﻋﺒﺪ اﻟﺴﺘﺎر‬ 8 55
20 ‫أﻣﯿﻨﺔ‬ 15 21

: ‫أﺣﺴﺐ اﻟﻌﻼﻗﺎت اﻟﺘﺎﻟﯿﺔ‬

Selection (use) Classement > 8 (1


Uses ‫( ﻣﻦ اﻟﺠﺪول‬age,nom) ‫( اﺳﺘﺨﺮج‬2
Projection Age ‫( اﺣﺴﺐ‬3
projection Nom,Classement (Selection Classement >8) ‫( اﺣﺴﺐ‬4
Use x Livre ‫( أﺣﺴﺐ‬5

: ‫اﻟﺤﻞ‬

election (use) Classement > 8 NumU Nom Classement Age


58 ‫ﻋﺒﺪ اﻟﺼﻤﺪ‬ 10 35

Projection(use) Age,Nom Nom Age


‫ﻋﺒﺪ اﻟﻠﻄﯿﻒ‬ 45
‫ﻋﺒﺪ اﻟﺴﺘﺎر‬ 55
‫ﻋﺒﺪ اﻟﺼﻤﺪ‬ 35

Projection(use) Age Age


45
55
35

Projection Nom,Classement (Selection Classement >8) Nom Classement


‫ﻋﺒﺪ اﻟﺼﻤﺪ‬ 10

9
(‫ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ‬:‫اﺧﺘﺼﺎص‬ ‫ اﻹﻋﻼم آﻟﻲ‬: ‫ﺧﺎص ﺑﻄﻠﺒﺔ‬ ‫ اﻟﻌﯿﺸﻲ ھﺸﺎم‬:‫إﻋﺪاد‬
___________________________________________________________
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫‪Use X Livre‬‬ ‫‪Num‬‬ ‫‪Nom‬‬ ‫‪Classement‬‬ ‫‪Age‬‬ ‫‪NumL‬‬ ‫‪Titre‬‬ ‫‪Type‬‬
‫‪22‬‬ ‫ﻋﺒﺪ اﻟﻠﻄﯿﻒ‬ ‫‪7‬‬ ‫‪45‬‬ ‫‪101‬‬ ‫ﺟﺪد ﺣﯿﺎﺗﻚ‬ ‫دﯾﻦ‬
‫‪22‬‬ ‫ﻋﺒﺪ اﻟﻠﻄﯿﻒ‬ ‫‪7‬‬ ‫‪45‬‬ ‫‪102‬‬ ‫‪Delphi 7‬‬ ‫إﻋﻼم آﻟﻲ‬
‫‪22‬‬ ‫ﻋﺒﺪ اﻟﻠﻄﯿﻒ‬ ‫‪7‬‬ ‫‪45‬‬ ‫‪103‬‬ ‫‪Ro‬‬ ‫رﯾﺎﺿﯿﺎت‬
‫‪31‬‬ ‫ﻋﺒﺪ اﻟﺴﺘﺎر‬ ‫‪8‬‬ ‫‪55‬‬ ‫‪101‬‬ ‫ﺟﺪد ﺣﯿﺎﺗﻚ‬ ‫دﯾﻦ‬
‫‪31‬‬ ‫ﻋﺒﺪ اﻟﺴﺘﺎر‬ ‫‪8‬‬ ‫‪55‬‬ ‫‪102‬‬ ‫‪Delphi 7‬‬ ‫إﻋﻼم آﻟﻲ‬
‫‪31‬‬ ‫ﻋﺒﺪ اﻟﺴﺘﺎر‬ ‫‪8‬‬ ‫‪55‬‬ ‫‪103‬‬ ‫‪Ro‬‬ ‫رﯾﺎﺿﯿﺎت‬
‫‪58‬‬ ‫ﻋﺒﺪ اﻟﺤﻤﯿﺪ‬ ‫‪10‬‬ ‫‪35‬‬ ‫‪101‬‬ ‫ﺟﺪد ﺣﯿﺎﺗﻚ‬ ‫دﯾﻦ‬
‫‪58‬‬ ‫ﻋﺒﺪ اﻟﺤﻤﯿﺪ‬ ‫‪10‬‬ ‫‪35‬‬ ‫‪102‬‬ ‫‪Delphi 7‬‬ ‫إﻋﻼم آﻟﻲ‬
‫‪58‬‬ ‫ﻋﺒﺪ اﻟﺤﻤﯿﺪ‬ ‫‪10‬‬ ‫‪35‬‬ ‫‪103‬‬ ‫‪Ro‬‬ ‫رﯾﺎﺿﯿﺎت‬

‫‪Use – Use2‬‬ ‫‪Num‬‬ ‫‪Nom‬‬ ‫‪Classement‬‬ ‫‪Age‬‬


‫‪22‬‬ ‫ﻋﺒﺪ اﻟﻠﻄﯿﻒ‬ ‫‪7‬‬ ‫‪45‬‬
‫‪58‬‬ ‫ﻋﺒﺪ اﻟﺤﻤﯿﺪ‬ ‫‪10‬‬ ‫‪35‬‬

‫‪ (4‬اﻟﺮﺑــــــــــــــــﻂ أو اﻟﻮﺻﻞ ‪Jointure :‬‬


‫ھﻮ أﻛﺜﺮ اﻟﻌﻤﻠﯿﺎت ﻓﺎﺋﺪة و أﻛﺜﺮھﺎ إﺳﺘﻌﻤﺎﻻ ﻷﻧﮫ اﻟﻄﺮﯾﻘﺔ اﻻﺳﺎﺳﯿﺔ ﻹﺳﺘﺮﺟﺎع اﻟﺒﯿﺎﻧﺎت ‪ ،‬إﻧﻄﻼﻗﺎ ﻣﻦ ﻋﻼﻗﺘﯿﻦ‬
‫‪ R1‬و ‪ R2‬ﯾﺤﺘﻮﯾﺎن ﻋﻠﻰ ﺧﺎﺻﯿﺔ ﻣﺸﺘﺮﻛﺔ ﺗﺘﻮﻟﺪ ﻣﻨﮭﺎ ﻋﻼﻗﺔ ‪ R3‬ﺗﺼﻤﯿﻤﮭﺎ ھﻮ إﺗﺤﺎد اﻟﻌﻼﻗﺘﯿﻦ ‪ ، R1 U R2‬ﻛﻤﺎ ﯾﻤﻜﻦ اﻟﺘﻌﺒﯿﺮ‬
‫ﻋﻠﻰ اﻟﺮﺑﻂ ‪ Jointure‬ﺑﻌﻤﻠﯿﺔ اﻟﻀﺮب اﻟﻤﺘﺒﻮﻋﺔ ﺑﻌﻤﻠﯿﺘﻲ اﻹﺳﻘﺎط و اﻻﻧﺘﻘﺎء‬

‫ﻣﺜـــــــــــــــــــــﺎل ‪: 1‬‬
‫ﻟﻨﺤﺴﺐ اﻟﻌﻼﻗﺔ رﺑﻂ ‪ Jointure‬ﺑﯿﻨﮭﻤﺎ‬ ‫ﻟﺪﯾﻨﺎ اﻟﺠﺪوﻟﯿﻦ اﻟﺘﺎﻟﯿﯿﻦ اﻟﻤﻤﺜﻠﯿﻦ ﻓﻲ ‪ R1‬و ‪R2‬‬

‫‪R1‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪2R‬‬ ‫‪D‬‬ ‫‪E‬‬


‫‪1‬‬ ‫‪2‬‬ ‫‪6‬‬ ‫‪3‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪5‬‬ ‫‪3‬‬ ‫‪6‬‬ ‫‪3‬‬
‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬

‫‪ -1‬اﻟﻌﻼﻗﺔ ‪R1 ∞ R2‬‬

‫‪R1 * R2‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬ ‫‪E‬‬


‫‪1‬‬ ‫‪2‬‬ ‫‪6‬‬ ‫‪3‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪2‬‬ ‫‪6‬‬ ‫‪6‬‬ ‫‪3‬‬
‫‪4‬‬ ‫‪5‬‬ ‫‪3‬‬ ‫‪3‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪5‬‬ ‫‪3‬‬ ‫‪6‬‬ ‫‪3‬‬
‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪3‬‬ ‫‪1‬‬
‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪6‬‬ ‫‪3‬‬

‫‪10‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
SGBD ‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
R1 ∞ R2 (D > B) ‫ اﻟﻌﻼﻗﺔ رﺑﻂ ﻣﻊ ﺷﺮط‬-2
R1 ∞ R2 (D > B) A B C D E
1 2 6 3 1
1 2 6 6 3
4 5 3 6 3

R2 ‫ و‬R1 ‫ ﻟﺪﯾﻨﺎ اﻟﺠﺪوﻟﯿﻦ اﻟﺘﺎﻟﯿﯿﻦ اﻟﻤﻤﺜﻠﯿﻦ ﻓﻲ اﻟﻌﻼﻗﺘﯿﻦ‬: 2 ‫ﻣﺜــــــــــــــــﺎل‬

R1 A B C R2 B C D
a b c b c d
d b c b c e
b b f d d b
c a d
Q=(R1.B=R2 .B)x(R1.C=R2.C) ‫ ﺑﺤﯿﺚ‬R1∞ R2 Q ‫أﻧﺸﺄ اﻟﻌﻼﻗﺔ‬

R1∞ R2 Q A B C B C D
a b c b c D
d b c b c E
a b c b c D
d b c b c E
: ‫ﺗﻄﺒﯿﻘــــــــــﺎت‬
CJH(IdCours,Jour,Heure) : ‫ﻟﺘﻜﻦ اﻟﻌﻼﻗﺎت اﻟﺘﺎﻟﯿﺔ‬
CS(IdCours,IdSalle)
ENA(IdEtudiant,Nom,Adresse)
CEN(IdCours,IdEtudiant,Note)

: ‫اﻟﻤﻤﺜﻠﺔ ﻓﻲ اﻟﺠﺪاول اﻟﺘﺎﻟﯿﺔ‬


CJH IdCours Jour Heure
Archi Lu 9h
Algo Ma 9h
Algo Ve 9h
Syst Ma 14h

ENA IdEtudiant Nom Adresse


100 Toto Nice
200 Tata Paris
300 Titi Rome

CEN IdCours IdEtudiant Note


Archi 100 A
Archi 300 A
Syst 100 B
Syst 200 A
Syst 300 B
Algo 100 C
Algo 200 A

11
(‫ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ‬:‫اﺧﺘﺼﺎص‬ ‫ اﻹﻋﻼم آﻟﻲ‬: ‫ﺧﺎص ﺑﻄﻠﺒﺔ‬ ‫ اﻟﻌﯿﺸﻲ ھﺸﺎم‬:‫إﻋﺪاد‬
___________________________________________________________
SGBD ‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
CS IdCours IdSalle
Archi S1
Algo S2
Syst S1
: ‫( اﺳﺘﺨﺮج ﻧﺘﺎﺋﺞ اﻹﺳﻘﺎط اﻟﺘﺎﻟﯿﺔ‬1
R1= ProjectionCJH(IdCours)
R2= Projection ENA(IdEtudiant)

R1 IdCours R2 IdEtudiant
Archi 100
Algo 200
Syst 300

R3=SelectionCEN(IdCours=’Algo’) ‫ اﻟﺘﻲ ﺗﺤﻘﻖ اﻟﻌﻼﻗﺔ اﻟﺘﺎﻟﯿﺔ‬R3 ‫( اﺳﺘﺨﺮج اﻟﻨﺘﯿﺠﺔ‬2

R3 IdCours IdEtudiant Note


Algo 100 C
Algo 200 A

R4=CJH ∞ CS(CJH.IdCours=CS.IdCours) ‫ اﻟﺘﻲ ﺗﺤﻘﻖ اﻟﻌﻼﻗﺔ‬R4 ‫( اﺳﺘﺨﺮج اﻟﻨﺘﯿﺠﺔ‬3


CJH * CS : ‫ﺗﻜﻮن اﻹﺟﺎﺑﺔ ﻋﻠﻰ ﻣﺮﺣﻠﺘﯿﻦ اوﻻ اﻟﻀﺮب ﺑﯿﻦ اﻟﮭﻼﻗﺘﯿﻦ او اﻟﺠﺪوﻟﯿﻦ ﻛﻤﺎ ﯾﻠﻲ‬

CJH * CS IdCours Jour Heure IdCours IdSalle


Archi Lu 9h Archi S1
Archi Lu 9h Algo S2
Archi Lu 9h Syst S1
Algo Ma 9h Archi S1
Algo Ma 9h Algo S2
Algo Ma 9h Syst S1
Algo Ve 9h Archi S1
Algo Ve 9h Algo S2
Algo Ve 9h Syst S1
Syst Ma 14h Archi S1
Syst Ma 14h Algo S2
Syst Ma 14h Syst S1
:( IdCours )‫ ﻣﻊ ﺣﺬف اﻟﻌﻤﻮد اﻟﻤﺘﻜﺮر‬R4 ‫ﺑﻌﺪھﺎ ﻧﺤﻘﻖ اﻟﺸﺮط اﻟﻤﻄﻠﻮب ﻓﻲ اﻟﻌﻼﻗﺔ‬

R4 IdCours Jour Heure IdSalle


Archi Lu 9h S1
Algo Ma 9h S2
Syst Ve 9h S2
Syst Ma 14h S1

. ‫ أي ﻋﻤﻠﯿﺔ رﺑﻂ ﺗﺘﻢ ﻋﻠﻰ ﻣﺮﺣﻠﺘﯿﻦ اوﻻ اﻟﻀﺮب و ﺛﺎﻧﯿﺎ ﺗﺤﻘﯿﻖ اﻟﺸﺮط دون ان ﻧﻨﺴﻰ ﺣﺬف اﻟﻌﻤﻮد اﻟﻤﺘﻜﺮر‬: ‫ﻣﻼﺣﻈﺔ‬

R5 = ProjectionCEN(IdCours,IdEtudiant) ‫اﺳﺘﺨﺮج اﻟﻨﺘﯿﺠﺔ ﻣﻦ اﻟﻌﻼﻗﺔ اﻟﺘﺎﻟﯿﺔ‬

12
(‫ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ‬:‫اﺧﺘﺼﺎص‬ ‫ اﻹﻋﻼم آﻟﻲ‬: ‫ﺧﺎص ﺑﻄﻠﺒﺔ‬ ‫ اﻟﻌﯿﺸﻲ ھﺸﺎم‬:‫إﻋﺪاد‬
___________________________________________________________
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫‪R5‬‬ ‫‪IdCours‬‬ ‫‪IdEtudiant‬‬
‫‪Archi‬‬ ‫‪100‬‬
‫‪Archi‬‬ ‫‪300‬‬
‫‪Syst‬‬ ‫‪100‬‬
‫‪Syst‬‬ ‫‪200‬‬
‫‪Syst‬‬ ‫‪300‬‬
‫‪Algo‬‬ ‫‪100‬‬
‫‪Algo‬‬ ‫‪200‬‬

‫‪ (5‬اﻟﺮﺑﻂ اﻟﻄﺒﯿﻌﻲ ‪ :‬ھﻮ ﺣﺎﻟﺔ ﺧﺎﺻﺔ ﻣﻦ ﺣﺎﻻت اﻟﺮﺑﻂ اﻟﻤﺘﺴﺎوي ﺣﯿﻨﻤﺎ ﺗﻜﻮن ﺟﻤﯿﻊ اﻟﺤﻘﻮل اﻟﺘﻲ ﺗﺤﻤﻞ ﻧﻔﺲ اﻻﺳﻤﺎء ﻓﻲ‬
‫اﻟﺠﺪاول اﻟﻤﺸﺎرﻛﺔ ﻓﻲ اﻟﻌﻤﻠﯿﺔ ‪ ،‬وﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ﻧﺴﻤﻲ ﻋﻤﻠﯿﺔ اﻟﺮﺑﻂ ﺑﺎﻟﺮﺑﻂ اﻟﻄﺒﯿﻌﻲ و ﻧﺮﻣﺰ ﻟﮫ ﻋﻠﻰ اﻟﺸﻜﻞ ‪ R1∞R2‬ﺑﺪون‬
‫ﺷﺮط ﻟﻠﺮﺑﻂ ﻻن اﻟﺸﺮط ﻣﻔﮭﻮم ﺿﻤﻨﯿﺎ ھﻮ ان ﺗﻜﻮن ﺟﻤﯿﻊ اﻟﺤﻘﻮل اﻟﺘﻲ ﺗﺤﻤﻞ ﻧﻔﺲ اﻻﺳﻢ ﻣﻦ ﻛﻼ اﻟﺠﺪوﻟﯿﻦ ﺑﯿﻨﮭﻤﺎ اﺷﺎرة ﻣﺴﺎواة‬
‫ﺗﻈﮭﺮ ھﺬه اﻟﺤﻘﻮل ﻣﺮة واﺣﺪة اﻟﻨﺘﯿﺠﺔ ‪.‬‬

‫‪R1‬‬ ‫‪Nom‬‬ ‫‪Prix‬‬


‫‪delphi‬‬ ‫‪200‬‬
‫‪Pascal‬‬ ‫‪300‬‬
‫‪C#‬‬ ‫‪200‬‬
‫‪VB‬‬ ‫‪400‬‬
‫‪C++‬‬ ‫‪200‬‬
‫‪Java‬‬ ‫‪300‬‬
‫‪Pascal‬‬ ‫‪200‬‬
‫‪Java‬‬ ‫‪200‬‬

‫ﻣﺜﺎل ‪ :‬ﻧﺴﺘﺨﺮج اﻟﻌﻼﻗﺔ ‪ R3‬ﻣﻦ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﺑﺤﯿﺚ ‪R3 = R1 ∞ R2‬‬

‫‪R1‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬


‫‪a‬‬ ‫‪b‬‬ ‫‪c‬‬
‫‪d‬‬ ‫‪b‬‬ ‫‪c‬‬
‫‪b‬‬ ‫‪b‬‬ ‫‪f‬‬
‫‪c‬‬ ‫‪a‬‬ ‫‪d‬‬

‫‪R2‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬


‫‪b‬‬ ‫‪c‬‬ ‫‪d‬‬
‫‪b‬‬ ‫‪c‬‬ ‫‪e‬‬
‫‪d‬‬ ‫‪d‬‬ ‫‪b‬‬

‫‪ (5‬اﻟﻘﺴﻤﺔ ‪ :‬ﻟﺸﺮح اﻟﻘﺴﻤﺔ ﺑﻤﺜﺎل ﺑﺴﯿﻂ ﻧﻔﺘﺮض اﻧﮫ ﻟﺪﯾﻨﺎ ﻗﯿﻤﺘﯿﻦ ‪ A,B‬ﺣﯿﺚ ان اﻟﻌﻼﻗﺔ ‪ A‬ﻟﮭﺎ ﺣﻘﻼن ‪ X,Y‬و اﻟﻌﻼﻗﺔ ‪ B‬ﻟﮭﺎ‬
‫ﺣﻘﻞ واﺣﺪ ‪ X‬و ھﻮ ﻣﻦ ﻧﻔﺲ اﻟﻤﺠﺎل اﻟﺤﻘﻞ اﻟﻈﺎھﺮ ﻓﻲ ‪. A‬‬
‫ﻧﻌﺮف اﻟﻘﺴﻤﺔ ‪ A/B‬ﺑﺄﻧﮭﺎ ﺟﻤﯿﻊ اﻟﻘﯿﻢ ‪ X‬ﺑﺤﯿﺚ ﺗﻜﻮن ﻟﮭﺎ ﻓﻲ ‪ A‬ﺳﺠﻼت ﺗﻈﮭﺮ ﺑﮭﺎ ﻗﯿﻢ ‪ X‬اﻟﻈﺎھﺮة ﻓﻲ ‪ B‬او ﺑﻤﻌﻨﻰ آﺧﺮ ﻟﻜﻞ ﻗﯿﻤﺔ ﻣﻦ ‪X‬‬
‫ﻓﻲ ‪ A‬ﻧﺮى ان ﻛﺎﻧﺖ اﻟﻘﯿﻢ ﻓﻲ ‪ Y‬اﻟﻤﻮﺟﻮدة ﻓﻲ ‪ B‬ﻣﻮﺟﻮدة ﺟﻤﯿﻌﮭﺎ ﻓﻲ ‪ A‬ﺗﻜﻮن ﺗﻠﻚ اﻟﻘﯿﻢ ھﻲ ﺟﻮاب اﻟﻘﺴﻤﺔ‬

‫‪13‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫‪A‬‬ ‫‪X‬‬ ‫‪Y‬‬
‫‪S1‬‬ ‫‪P1‬‬
‫‪S1‬‬ ‫‪P2‬‬
‫‪S1‬‬ ‫‪P3‬‬
‫‪S1‬‬ ‫‪P4‬‬
‫‪S2‬‬ ‫‪P1‬‬
‫‪S2‬‬ ‫‪P2‬‬
‫‪S3‬‬ ‫‪P2‬‬
‫‪S4‬‬ ‫‪P2‬‬
‫‪S4‬‬ ‫‪P4‬‬
‫‪A/B‬‬ ‫‪X‬‬ ‫‪B‬‬ ‫‪Y‬‬
‫‪S1‬‬ ‫‪P2‬‬
‫‪S2‬‬
‫‪B2‬‬ ‫‪Y‬‬ ‫‪: A/B2‬‬
‫‪S3‬‬ ‫‪A/B2‬‬ ‫‪Y‬‬
‫‪P2‬‬
‫‪S4‬‬ ‫‪P2‬‬
‫‪P4‬‬
‫‪P4‬‬
‫ﻣﺜﺎل ‪ :‬ﺟﺪ ﺟﻤﯿﻊ اﻟﺘﻼﻣﯿﺬ اﻟﺬﯾﻦ أﺧﺬوا ﺟﻤﯿﻊ ﻛﺘﺐ اﻟﺮﯾﺎﺿﯿﺎت‬

‫ﺟﺪ ﺟﻤﯿﻊ اﻟﻜﺘﺐ اﻟﺘﻲ ﺳﻌﺮھﺎ ‪ 200‬و ‪: 300‬‬

‫‪R3‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬


‫‪a‬‬ ‫‪B‬‬ ‫‪c‬‬ ‫‪d‬‬
‫‪R2‬‬ ‫‪Prix‬‬ ‫‪R3‬‬ ‫‪Nom‬‬
‫‪d‬‬ ‫‪b‬‬ ‫‪c‬‬ ‫‪e‬‬
‫‪200‬‬ ‫‪Pascal‬‬
‫‪b‬‬ ‫‪b‬‬ ‫‪f‬‬ ‫‪b‬‬ ‫‪300‬‬ ‫‪Java‬‬
‫‪d‬‬ ‫‪b‬‬ ‫‪c‬‬ ‫‪e‬‬

‫اﻟﺘﺠﻤﯿﻊ و اﻟﺪوال اﻟﺘﺠﻤﯿﻌﯿﺔ ‪:‬‬


‫ﻣﻦ اﻻﻣﻮر اﻟﺘﻲ ﻻ ﯾﻤﻜﻦ اﻟﺘﻌﺒﯿﺮ ﻋﻨﮭﺎ ﺑﺈﺳﺘﺨﺪام اﻟﺠﺒﺮ اﻟﻌﻼﺋﻘﻲ ھﻲ ﺗﻄﺒﯿﻖ ﻋﻤﻠﯿﺔ ﺣﺴﺎﺑﯿﺔ ﻋﻠﻰ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻨﺎﺻﺮ داﺧﻞ ﻣﺠﻤﻮﻋﺔ‬
‫ﻣﺜﻞ اﺳﺘﺮﺟﺎع ﻣﺠﻤﻮع اﻟﺴﺎﻋﺎت اﻟﺘﻲ اﺗﻤﮭﺎ اﻟﻄﺎﻟﺐ او ﻣﺠﻤﻮع رواﺗﺐ اﻟﻤﻮﺿﻔﯿﻦ و ﻋﻤﻠﯿﺎت اﺧﺮى ﺗﺴﺘﺨﺪم ﻛﺎﻻﺣﺼﺎﺋﯿﺎت ﻋﻦ اﻟﻤﻌﻠﻮﻣﺎت‬
‫اﻟﻤﻮﺟﻮدة ﻓﻲ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت ‪.‬‬

‫اﻟﺪوال ‪:‬‬
‫‪ : COUNT‬ﻋﺪد اﻟﻘﯿﻢ اﻟﻤﺨﺘﻠﻔﺔ ﻓﻲ اﻟﻠﻌﺒﺔ‬
‫‪ : SUM‬ﻣﺠﻤﻮع ﻗﯿﻢ ﻓﻲ اﻟﺤﻘﻞ‬
‫‪ : AVG‬ﻣﻌﺪل اﻟﻘﯿﻢ ﻓﻲ اﻟﺤﻘﻞ‬
‫‪ : MIN‬اﻟﻘﯿﻤﺔ اﻟﺼﻐﺮى ﻓﻲ اﻟﺤﻘﻞ‬
‫‪ : MAX‬اﻟﻘﯿﻤﺔ اﻟﻜﺒﺮى ﻓﻲ اﻟﺤﻘﻞ‬
‫‪N=0‬‬ ‫‪Nom‬‬ ‫‪Age‬‬ ‫‪Salaire‬‬
‫‪1‬‬ ‫‪Amina‬‬ ‫‪21‬‬ ‫‪100 ,00‬‬
‫‪2‬‬ ‫‪Ridha‬‬ ‫‪27‬‬ ‫‪200,00‬‬
‫‪3‬‬ ‫‪Salim‬‬ ‫‪30‬‬ ‫‪100,00‬‬
‫‪4‬‬ ‫‪Yasin‬‬ ‫‪27‬‬ ‫‪200,00‬‬
‫‪5‬‬ ‫‪Noureddine‬‬ ‫‪30‬‬ ‫‪300,00‬‬
‫اﺣﺴﺐ‪:‬‬
‫‪14‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫ﻋﺪد اﻟﻤﻮظﻔﯿﻦ ‪Count‬‬ ‫‪-‬‬
‫اﺣﺴﺐ ﻣﺘﻮﺳﻂ اﻟﺮاﺗﺐ ﻓﻲ اﻟﺸﺮﻛﺔ ‪AVG‬‬ ‫‪-‬‬
‫أﺣﺴﺐ ﻣﺘﻮﺳﻂ اﻻﻋﻤﺎر ‪AVG‬‬ ‫‪-‬‬
‫ﻣﺎ ھﻮ اﻟﺮاﺗﺐ اﻷﻋﻠﻰ و اﻷدﻧﻰ ﻓﻲ اﻟﺸﺮﻛﺔ ‪ MIN‬و ‪MAX‬‬ ‫‪-‬‬
‫ﻣﺠﻤﻮع اﻷﻋﻤﺎر ‪SUM‬‬ ‫‪-‬‬

‫اﻟﻌﻮاﻣﻞ اﻟﻤﺘﻔﺮﻗﺔ ‪:‬‬

‫‪ -1‬ﻋﻤﻠﯿﺔ اﻟﻔﺮز ‪ :‬ﺗﺘﻢ ھﺬه اﻟﻌﻤﻠﯿﺔ ﻋﻠﻰ ﺻﻔﺔ او ﻋﺪة ﺻﻔﺎت ﻓﻲ اﻟﻌﻼﻗﺔ و ﻗﺪ ﯾﻜﻮن اﻟﻔﺮز ﺗﺼﺎﻋﺪي او ﺗﻨﺎزﻟﻲ‬
‫ﻣﺜﺎل ‪:‬‬
‫‪Fleurs‬‬ ‫‪Espice‬‬ ‫‪Catéorie‬‬ ‫‪Conditionnement‬‬
‫‪Rose de prés‬‬ ‫‪Frais‬‬ ‫‪Bocal‬‬
‫‪Rose de prés‬‬ ‫‪Sec‬‬ ‫‪Jardin‬‬
‫‪Jasmin‬‬ ‫‪Frais‬‬ ‫‪Bocal‬‬
‫‪Rose de prés‬‬ ‫‪Sec‬‬ ‫‪Bouquet‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬اذا ﻛﺎن اﻟﻔﺮز ﻋﻠﻰ ﻋﺪة ﺻﻔﺎت ﻧﻄﻠﻖ ﻋﻠﻰ ھﺬه اﻟﺼﻔﺎت ‪:‬‬
‫اﻟﺼﻔﺔ ‪ (1‬ﻣﻔﺘﺎح اﻟﻔﺮز اﻟﺮﺋﯿﺴﻲ‬
‫اﻟﺼﻔﺔ ‪ (2‬ﻣﻔﺘﺎح اﻟﻔﺮز اﻟﺜﺎﻧﻮي‬
‫اﻟﺼﻔﺔ ‪ (3‬ﻣﻔﺘﺎح اﻟﻔﺮز اﻟﻤﺴﺘﻮى اﻟﺜﺎﻟﺚ‬
‫ﻟﺘﻜﻦ اﻟﻌﻼﻗﺔ اﻟﺘﺎﻟﯿﺔ ‪:‬‬
‫)’‪R=TRI(Fleurs,Espice A°,Catégorie A’,Conditionnement A‬‬

‫‪R‬‬ ‫‪Espice‬‬ ‫‪Catéorie‬‬ ‫‪Conditionnement‬‬


‫‪Rose de prés‬‬ ‫‪Frais‬‬ ‫‪Bocal‬‬
‫‪Rose de prés‬‬ ‫‪Sec‬‬ ‫‪Bouquet‬‬
‫‪Rose de prés‬‬ ‫‪Sec‬‬ ‫‪Jardin‬‬
‫‪Rose de prés‬‬ ‫‪Frais‬‬ ‫‪Bocal‬‬

‫*ﻋﻤﻠﯿﺎت ﺣﺴﺎﺑﯿﺔ ﻋﻠﻰ اﻟﺼﻔﺎت و ﺗﻘﻠﯿﻞ ﺣﺴﺎﺑﮭﺎ‬


‫* اﻟﺼﻔﺎت اﻟﻤﺤﺴﻮﺑﺔ ‪ :‬ﺻﻔﺎت اﻟﻤﺤﺴﻮﺑﺔ ھﻲ ﺻﻔﺔ ﺗﻨﺘﺞ اﻧﻄﻼﻗﺎ ﻣﻦ ﻋﻤﻠﯿﺔ ﺣﺴﺎﺑﯿﺔ ﻋﻠﻰ ﺻﻔﺎت ﻓﻲ اﻟﻌﻼﻗﺔ اﻷﺻﻠﯿﺔ‬

‫)‪R=Projection(R0,Att1,Att2*Att3‬‬ ‫ﻣﺜﺎل ‪:‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬ﺗﻈﮭﺮ اﻟﺼﻔﺎت اﻟﻤﺤﺴﻮﺑﺔ ﻓﻲ اﻹﺳﻘﺎط او ﻓﻲ اﻟﺪوال ‪.‬‬


‫‪ ‬إﻋﺎدة ﺗﺴﻤﯿﺔ اﻟﺼﻔﺎت ‪:‬‬
‫ﺗﺘﻢ اﻋﺎدة ﺗﺴﻤﯿﺔ ﺻﻔﺔ او إﺿﺎﻓﺔ ﺻﻔﺔ ﺟﺪﯾﺪة ﻓﻲ ﻋﻼﻗﺔ ﻛﺘﺎﺑﺔ إﺳﻢ اﻟﺼﻔﺔ اﻟﺠﺪﯾﺪة ﺗﺘﺒﻊ ﺑﻨﻘﻄﺘﯿﻦ ﺛﻢ ﻛﺘﺎﺑﺔ ﺻﯿﻐﺔ اﻟﺼﻔﺔ ‪.‬‬

‫)‪R=Projection (R1,Att1,Att2,Nouveau Att :,Att1/Att2‬‬ ‫ﻣﺜﺎل ‪:‬‬

‫ﻣﺜﺎل ‪:‬‬
‫‪Comand‬‬ ‫‪Node‬‬ ‫‪Code _Produit‬‬ ‫‪Qte‬‬ ‫‪PU_HT‬‬
‫‪96008‬‬ ‫‪A10‬‬ ‫‪10‬‬ ‫‪83 ,00‬‬
‫‪96008‬‬ ‫‪B20‬‬ ‫‪35‬‬ ‫‪32 ,00‬‬
‫‪96009‬‬ ‫‪A10‬‬ ‫‪20‬‬ ‫‪83 ,00‬‬
‫‪96010‬‬ ‫‪A15‬‬ ‫‪4‬‬ ‫‪110 ,00‬‬
‫‪96010‬‬ ‫‪B20‬‬ ‫‪55‬‬ ‫‪82 ,00‬‬

‫ﻟﺘﻜﻦ اﻟﻌﻼﻗﺔ اﻟﺘﺎﻟﯿﺔ ‪:‬‬


‫‪15‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫)‪R=Projection(Command,Ncode,Code_Produit ,Montant :Qte*PU_HT‬‬
‫اﻟﺤﻞ ‪:‬‬
‫‪Comand‬‬ ‫‪Node‬‬ ‫‪Code _Produit‬‬ ‫‪Qte*PU_HT‬‬
‫‪96008‬‬ ‫‪A10‬‬ ‫‪830 ,00‬‬
‫‪96008‬‬ ‫‪B20‬‬ ‫‪1120,00‬‬
‫‪96009‬‬ ‫‪A10‬‬ ‫‪1660,00‬‬
‫‪96010‬‬ ‫‪A15‬‬ ‫‪440,00‬‬
‫‪96010‬‬ ‫‪B20‬‬ ‫‪1760,00‬‬

‫اﻟﺪاﻟﺔ أﺣﺴﺐ ‪: Calculer‬‬


‫ﺗﺼﺎغ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ ‪:‬‬
‫)‪ , ...........‬اﻟﺪاﻟﺔ‪, Fonction,‬اﺳﻢ اﻟﻌﻼﻗﺔ (‪Calculer‬‬
‫‪ -‬ﻋﻤﻠﯿﺔ اﻟﻌﺪ ‪ Calculer‬ﺗﺘﻢ إﻧﻄﻼﻗﺎ ﻣﻦ اﻟﻌﻼﻗﺔ اﻷﺻﻠﯿﺔ‬
‫‪ -‬اﻟﻨﺘﯿﺠﺔ ﺗﻈﮭﺮ ﻋﻠﻰ ﺷﻜﻞ ﺳﻄﺮ واﺣﺪ‬
‫‪ -‬ﻋﺪد ﺻﻔﺎت اﻟﻌﻼﻗﺔ ھﻮ ﻋﺪد اﻟﻌﻤﻠﯿﺎت اﻟﻤﻄﻠﻮﺑﺔ‬
‫ﻣــــﺜﺎل ‪ :‬ﻧﺮﻏﺐ ﻓﻲ ﻣﻌﺮﻓﺔ رﻗﻢ اﻷﻋﻤﺎل اﻹﺟﻤﺎﻟﻲ و ﻛﺬا ﻛﻤﯿﺔ اﻟﺴﻠﻊ اﻟﻤﻄﻠﻮﺑﺔ ﻓﻲ اﻟﻌﻼﻗﺔ ‪Comande‬‬
‫))‪R=Calculer(Comande,some(Qte*PU_HT),some(Qte‬‬

‫)‪R (Some‬‬ ‫‪Qte*PU_HT‬‬ ‫‪Some _Qte‬‬


‫‪5810,00‬‬ ‫‪124‬‬

‫اﻟﺪوال ‪: Les Fonctions‬‬


‫ﺗﺴﺘﻌﻤﻞ اﻟﺪوال ﻋﺎدة ﻓﻲ ﻋﻤﻠﯿﺘﯿﻦ اﻟﺤﺴﺎب ‪ Calculer‬و اﻟﺘﺠﻤﯿﻊ و اﻟﺤﺴﺎب ‪Calculer et Regrouper‬‬
‫‪ (1‬دوال اﻟﺤﺴﺎب ‪:‬‬
‫‪Som(Attribut) -‬‬
‫‪Moyen(Attribut) -‬‬
‫‪ Maximum(Attribut) -‬او )‪Max(Attribut‬‬
‫‪ Minimum(Attribut) -‬او )‪Min(Attribut‬‬
‫ﻣﻼﺣﻈﺔ ‪ :‬ﺗﺘﻌﻠﻖ دوال اﻟﺤﺴﺎب ﺑﺼﻔﺎت اﻟﻌﻼﻗﺔ اﻷﺻﻠﯿﺔ‬
‫‪ (2‬اﻟﺪاﻟﺔ ‪: Comptage‬‬
‫ﺗﻌﺪ ﻋﺪد ن ﻣﻀﺎﻋﻒ ﻓﻲ اﻟﻌﻼﻗﺔ أي ﻋﺪد ﺗﺴﺠﯿﻼت اﻟﻌﻼﻗﺔ ن ﻣﻀﺎﻋﻒ ‪N Epeler‬‬
‫اﻟﻌﻤﻠﯿﺔ إﺟﻤﻊ و أﺣﺴﺐ ‪: Calculer et Regrouper‬‬
‫إﺑﺘﺪاءا ﻣﻦ ﻋﻼﻗﺔ أﺻﻠﯿﺔ ﺗﺘﻮﻟﺪ ﻋﻼﻗﺔ ﺟﺪﯾﺪة ‪ R‬ﺗﻤﺜﻞ إﺳﻘﺎط اﻟﻌﻼﻗﺔ اﻻوﻟﻰ ﻋﻠﻰ اﻟﺼﻔﺎت اﻟﻤﺬﻛﻮرة ﻣﻊ ﺣﺴﺎب ﻋﻤﻠﯿﺔ او داﻟﺔ ﻓﻲ ﺻﻔﺔ ﺟﺪﯾﺪة‬
‫ﻣﺜﺎل ‪ :‬ﻧﺮﻏﺐ ﻓﻲ ﻣﻌﺮﻓﺔ ﻣﺠﻤﻮع ﻛﻞ طﻠﺐ ﻓﻲ اﻟﻌﻼﻗﺔ ‪ ) Command‬ﻣﺒﻠﻎ ﻛﻞ ﺳﻨﺔ (‬

‫))‪R=Calculer et Regrouper(commande,Ncode,Mant_Bc :Somme(Qte*PU_HT‬‬


‫اﻟﺤﻞ ‪:‬‬

‫‪Comand‬‬ ‫‪Node‬‬ ‫‪Mant_Bc‬‬


‫‪96008‬‬ ‫‪1050,00‬‬
‫‪96009‬‬ ‫‪1660,00‬‬
‫‪96010‬‬ ‫‪2200,00‬‬

‫ﻣﺜﺎل ‪: 2‬‬
‫))‪R=Calculer et Regrouper(Commande,Code_Produit,Mont_BR : somme(Qte*PU_HT‬‬

‫اﻟﺤﻞ ‪:‬‬
‫‪Comand‬‬ ‫‪Code_Produit‬‬ ‫‪Mant_BR‬‬
‫‪A10‬‬ ‫‪2490,00‬‬
‫‪16‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
SGBD ‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
A20 2880,00
A15 440,00

(‫ﺑﺘﺴﯿﯿﺮ ﻋﻼﻣﺎت اﻟﻄﻠﺒﺔ )اﻣﺘﺤﺎن آﺧﺮ اﻟﺴﻨﺔ‬ ‫ ﻟﺪﯾﻨﺎ اﻟﻨﻤﻮذج اﻟﻌﻼﺋﻘﻲ اﻟﺬي ﯾﺴﻤﺢ‬: 1 ‫ﺗﻄﺒﯿﻖ‬
Etudiant (NEtudiant,Nom,Prenom) R5 MG_Promo
Matière(Code_Mat,Libelle_Mat,Coef_Mat) 12,75
Evaluer (NEtud,Code_Mat,Date,Note)
‫أﺣﺴﺐ اﻟﻌﺪد اﻹﺟﻤﺎﻟﻲ ﻟﻠﻄﻠﺒﺔ ؟‬ (1
‫ﻣﺎ ھﻲ أﻋﻠﻰ ﻋﻼﻣﺔ ؟‬ (2
‫ﻣﺎ ھﻲ ﻣﻌﺪﻻت اﻟﻄﻠﺒﺔ ﻓﻲ ﻛﻞ ﻣﺎدة ؟‬ (3
‫ﻣﺎ ھﻲ ﻣﻌﺪﻻت ﻛﻞ طﺎﻟﺐ ﻓﻲ ﻛﻞ ﻣﺎدة ؟‬ (4
‫ﻣﺎ ھﻮ اﻟﻤﻌﺪل اﻟﻌﺎم ﻟﻜﻞ طﺎﻟﺐ ؟‬ (5
‫ﻣﺎ ھﻮ اﻟﻤﻌﺪل اﻟﻌﺎم ﻟﻠﺪﻓﻌﺔ ﺑﺄﻛﻤﻠﮭﺎ ؟‬ (6
‫ﻣﻦ ھﻢ اﻟﻄﻠﺒﺔ اﻟﺬﯾﻦ ﺗﺤﺼﻠﻮا ﻋﻠﻰ ﻣﻌﺪل ﯾﻔﻮق ﻣﻌﺪل اﻟﺪﻓﻌﺔ ؟‬ (7

: ‫اﻹﺟﺎﺑﺔ‬
1) R=Calculer (Etudiant, Comptage)
2) R=Calculer (Evaluer, Max (Note))
3) R=Calculer et Regrouper (Evaluer,Code_Mat, Mo: Moyen (Note))
4) R=Calculer et Regrouper (Evaluer, NEtud, Code_Mat.Moyen (Note))
5) R1=Jointure (R, Etudiant, R.NEtud=Etudiant,NEtud)
6) R2= Jointure (R1, Matiere, R1.Code_Mat=Matiere.Code_Mat)
7) R3=Projection (R2, Nom, Prénom, Libelle_Mat, Mo_Mat)

R3 NEtudiant Nom Prenom Libelle_Mat Coef_Mat Mo


001 Ameur Bisker Math 3 11,32
001 Ameur Bisker Science 2 13,66
001 Ameur Bisker Physique 2 14,00
002 Djadi Noureddine Math 3 12,66
002 Djadi Noureddine Science 2 9,33
002 Djadi Noureddine Physique 2 16,00

8) R4= Calculer et Regrouper(R3, NEtud, Nom, Prénom, MG :Somme(Coef_Mat*Mo)/Somme(Coef_Mat))

R4 NEtudiant Nom Prenom MG


001 Bisker Ameur 12,75
002 Djadi Noureddine 12,66

R5=Calculer(R4,MG,Promo :Moyenne(MG))
R5=Calculer(R4,MG_Promo :Somme(MG)/Comptage())
R6=Selection(R4(MG > R5))

17
(‫ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ‬:‫اﺧﺘﺼﺎص‬ ‫ اﻹﻋﻼم آﻟﻲ‬: ‫ﺧﺎص ﺑﻄﻠﺒﺔ‬ ‫ اﻟﻌﯿﺸﻲ ھﺸﺎم‬:‫إﻋﺪاد‬
___________________________________________________________
SGBD ‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
‫ ﻟﺪﯾﻨﺎ‬: 2 ‫ﺗﻄﺒﯿﻖ‬

Employée Id_Emp Nom B_Dat Adresse Salaire Id_Dept


1 AB 01/01/2000 Alger 35000,00 02
2 AC 01/06/2000 Bousaada 45000,00 02
3 AD 01/01/2010 Sétif 25000,00 01
4 AF 01/06/2010 Alger 20000,00 01

Département Id_Dept D_Nom Office


01 Finance Comptabilité
02 Chantier Maçon

Projet Code_P Nom_P Budjet Id_Dept


01 ABC 150000,00 1
02 ACC 200000,00 2

Travaile Id_Emp Code_P Date


3 1 /
1 2 /

R=Jointure (Employée, Département, Département.Id_Dept=Employée. Id_Dept)


R1=Projection(R, Nom, Adresse, D_Nom)
‫ ﺟﺪ أﺳﻤﺎء ﺟﻤﯿﻊ اﻟﻤﻮظﻔﯿﻦ ؟‬: 1 ‫ﺳﺆال‬
R=Projection (Employée, Nom)
‫ دج ؟‬500,00 ‫ ﺟﺪ اﻟﻤﻮظﻔﯿﻦ اﻟﺬﯾﻦ ﯾﺘﻘﺎﺿﻮن أﻛﺜﺮ ﻣﻦ‬: 2 ‫ﺳﺆال‬
R=Sélection (Employée, Salaire > 500)
‫ ؟‬2 ‫ ﺟﺪ أرﻗﺎم اﻟﻤﻮظﻔﯿﻦ اﻟﺬﯾﻦ ﯾﻌﻤﻠﻮن ﻓﻲ اﻟﻤﺸﺮوع رﻗﻢ‬: 3 ‫ﺳﺆال‬
R= Sélection (Travail, Code_P = 2)
R1= Projection (R, Id_Employée)
‫ ؟‬AB ‫ ﺟﺪ إﺳﻢ اﻟﺪاﺋﺮة اﻟﺘﻲ ﯾﻌﻤﻞ ﺑﮭﺎ ﻋﻤﺮ ﻣﺜﺎل‬: 4 ‫ﺳﺆال‬
R=Jointure (Employée, Département, Employée.Id_Dept=Employée.Id_Dept)
R1= Sélection (R, Nom=’AB’)
R2= Projection (R1, D_Nom)
Sélection ‫ و ﻟﻜﻦ ﺑﺎﺳﺘﻌﻤﺎل‬4 ‫ﻧﻔﺲ اﻟﺤﻞ ﻟﻠﺴﺆال‬
R=Sélection (Employée, Nom=’AB’)
R1=Jointure(R, Département, R.Id_Dept=Département.Id_Dept)
R2= Projection (R1, D_Nom)
‫ ؟‬1 ‫ ﺟﺪأﺳﻤﺎء و أرﻗﺎم اﻟﻤﻮظﻔﯿﻦ اﻟﺬﯾﻦ ﯾﻌﻤﻠﻮن ﻓﻲ اﻟﺪاﺋﺮةرﻗﻢ‬: 5 ‫ﺳﺆال‬
R=Sélection (Employée, Id_Dept=’1’)
R1=Projection(R, Nom, Id_Employée)

‫ ﻟﺪﯾﻨﺎ اﻟﻨﻤﻮذج اﻟﻌﻼﺋﻘﻲ اﻟﺘﺎﻟﻲ اﻟﺬي ﯾﺴﻤﺢ ﺑﺘﺴﯿﯿﺮ دورة ﻓﺮﻧﺴﺎ ﺑﺴﺒﺎق اﻟﺪراﺟﺎت‬: 3 ‫ﺗﻄﺒﯿﻖ‬
: ‫اﻟﻌﻼﻗﺎت‬
Equipe (Code_Equipe, Nom_Equipe, Directeur_Sportif)
Coureur (Num_Coureur, Nom_Coureur, Code_Equipe, Code_Pays)
18
(‫ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ‬:‫اﺧﺘﺼﺎص‬ ‫ اﻹﻋﻼم آﻟﻲ‬: ‫ﺧﺎص ﺑﻄﻠﺒﺔ‬ ‫ اﻟﻌﯿﺸﻲ ھﺸﺎم‬:‫إﻋﺪاد‬
___________________________________________________________
SGBD ‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
Pays (Code_Pays, Nom_Pays)
Type_Etape (Code_Type, Libelle_Type)
Etape (Num_Etape, Date_Etape, Ville_Dep, Ville_Ar, Nb_Km, Code_Type)
Participant ( Num_Coureur, Num_Etape, Temps_Realise)
Attribuer_Bonification (Num_Etape, Mb_Secondez, Num_Coureur)
‫ ؟‬Fistina ‫( ﻣﺎھﻲ ﺗﺸﻜﯿﻠﺔ ﻓﺮﯾﻖ‬1
‫( ﻣﺎ ھﻮ رﻗﻢ و اﺳﻢ ﺑﻠﺪ اﻟﻤﺘﺴﺎﺑﻖ ؟‬2
‫( ﻛﻢ ھﻲ اﻟﻤﺴﺎﻓﺔ اﻹﺟﻤﺎﻟﯿﺔ ﻟﺪورة ﻓﺮﻧﺴﺎ ؟‬3
‫( ﻛﻢ ھﻮ ﻋﺪد اﻟﻜﻠﻮﻣﺘﺮات ﻟﻠﻤﺮاﺣﻞ اﻟﺠﺒﻠﯿﺔ ؟‬4
‫( ﻣﻦ ھﻢ اﻟﻤﺘﺴﺎﺑﻘﻮن ) اﺳﻤﺎء اﻟﺬﯾﻦ ﻟﻢ ﯾﺘﺤﺼﻠﻮا ﻋﻠﻰ اﻟﺠﻮاﺋﺰ(؟‬5
‫( ﻣﺎ ھﻮ ﺗﺮﺗﯿﺐ اﻟﻤﺘﺴﺎﺑﻘﯿﻦ ﻋﻠﻰ إﺛﺮ اﻟﻤﺮﺣﻠﺔ اﻟﺜﺎﻟﺜﺔ ﻋﺸﺮ ؟‬6
‫ ؟‬13 ‫( ﻣﺎ ھﻮ ﺗﺮﺗﯿﺐ اﻟﻔﺮق إﺛﺮ اﻟﻤﺮﺣﻠﺔ‬7

Equipe Code_Equipe Nom_Equipe Directeur_Sportif


1 Fistina Albert
2 Milan Michel

Coureur Num_Coureur Nom_Coureur Code_Equipe Code_Pays


875 Robert 1 1
930 Cloude 2 3
989 François 1 3

Pays Code_Pays Nom_Pays


1 Paris
3 Lion
: ‫اﻷﺟﻮﺑﺔ‬
: Fistina ‫( ﺗﺸﻜﯿﻠﺔ ﻓﺮﯾﻖ‬1
R=Jointure(Coureur, Pays, Coureur.Code_Pays=Pays.Code_Pays)

Coureur Num_Coureur Nom_Coureur Code_Equipe Code_Pays Nom_Pays


875 Robert 1 1 Paris
930 Cloude 2 3 Lion
989 François 1 3 Lion

R1=Jointure(R, Equipe,R.Code_Equipe=Equipe.Code_Equipe)

R1 Num_Coureur Nom_Coureur Code_Equipe Code_Pays Nom_Pays Nom_Equipe Directeur_Sportif


875 Robert 1 1 Paris Fistina Albert
930 Cloude 2 3 Lion Milan Michel
989 François 1 3 Lion Fistina Albert

R2=Sélection (R1,Nom_Equipe=’Fistina’)

R2 Num_Coureur Nom_Coureur Code_Equipe Code_Pays Nom_Pays Nom_Equipe Directeur_Sportif


875 Robert 1 1 Paris Fistina Albert
989 François 1 3 Lion Fistina Albert

19
(‫ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ‬:‫اﺧﺘﺼﺎص‬ ‫ اﻹﻋﻼم آﻟﻲ‬: ‫ﺧﺎص ﺑﻄﻠﺒﺔ‬ ‫ اﻟﻌﯿﺸﻲ ھﺸﺎم‬:‫إﻋﺪاد‬
___________________________________________________________
SGBD ‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
R3=Projection (R2, Num_Coureur, Nom_Coureur, Nom_Pays)

R2 Num_Coureur Nom_Coureur Nom_Pays


875 Robert Paris
989 François Lion

Etape Num_Etape Date_Etape Ville_Dep Ville_Ar Nb_Km Code_Type


1 01/01/2012 Vivonne Pamproux 27,9 1
2 02/01/2012 Pamproux Croutelle 42,9 2
3 03/01/2012 Buxerolles Moulismes 50 3

Type_Etape Code_Type Libelle_Type


1 Montagneux
2 Sableux
3 Rampante

: ‫( اﻟﻤﺴﺎﻓﺔ اﻹﺟﻤﺎﻟﯿﺔ ﻟﺪورة ﻓﺮﻧﺴﺎ‬2


R=Calculer(Etape,Nb_Tour :somme(Nb_Km))

R Num_Etape Date_Etape Ville_Dep Ville_Ar Nb_Km Code_Type Nb_Tour


1 01/01/2012 Vivonne Pamproux 27,9 1
2 02/01/2012 Pamproux Croutelle 42,9 2 120,8
3 03/01/2012 Buxerolles Moulismes 50 3

(Montagneux): ‫ ( ﻋﺪد اﻟﻜﯿﻠﻮﻣﺘﺮات ﻟﻠﻤﺮﺣﻠﺔ اﻟﺠﺒﻠﯿﺔ‬3


R=Sélection (Type_Etape, Libelle_Type=’Montagneux’)

R
Code_Type Libelle_Type
1 Montagneux
R1=Jointure(R, Etape,R. Code_Type=Etape. Code_Type)

R1 Code_Type Libelle_Type Num_Etape Date_Etape Ville_Dep Ville_Ar Nb_Km


1 Montagneux 1 01/01/2012 Vivonne Pamproux 27,9

R2=Calculer (R1,Nb_Monagne :Somme(Nb_Km))

R1 Code_Type Libelle_Type Num_Etape Date_Etape Ville_Dep Ville_Ar Nb_Km Nb_Monagne


1 Montagneux 1 01/01/2012 Vivonne Pamproux 27,9 27,9

:‫( اﻟﻤﺘﺴﺎﺑﻘﯿﻦ اﻟﺬﯾﻦ ﻟﻢ ﯾﺘﺤﺼﻠﻮا ﻋﻠﻰ ﺟﻮاﺋﺰ‬4


R=Jointure(Coureur, Attribuer_Bonification,Coureur.Num_Coureur<>Attribuer_Bonification.Num_Coureur)

Attribuer_Bonification Num_Etape Mb_Secondes Num_Coureur


2 1 930

R Num_Coureur Nom_Coureur Code_Equipe Code_Pays Nom_Pays Num_Etape Mb_Secondes Num_Coureur


875 Robert 1 1 Paris 2 1 930
989 François 1 3 Lion 2 1 930

20
(‫ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ‬:‫اﺧﺘﺼﺎص‬ ‫ اﻹﻋﻼم آﻟﻲ‬: ‫ﺧﺎص ﺑﻄﻠﺒﺔ‬ ‫ اﻟﻌﯿﺸﻲ ھﺸﺎم‬:‫إﻋﺪاد‬
___________________________________________________________
SGBD ‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
R1=Projection ( R,Nom_Coureur)

R1 Nom_Coureur
Robert
François

: ‫( أﺳﻤﺎء اﻟﻤﺘﺴﺎﺑﻘﯿﻦ اﻟﺬﯾﻦ ﺷﺎرﻛﻮا ﻓﻲ ﻛﻞ اﻟﻤﺮاﺣﻞ‬6

R=Jointure (Coureur, Participant, Coureur. Num_Coureur= Participant. . Num_Coureur)


R1=Calculer et Regrouper(R, Num_Coureur, Nom_Coureur,Nb_Port :Comptage())
R2= Calculer (Etape, Comptage ())
R3=Sélection (R1, Nb_Port=R2)
R4=Projection (R3,Num_Coureur)
: 13 ‫( ﺗﺮﺗﯿﺐ اﻟﻤﺘﺴﺎﺑﻘﻮن ﻋﻠﻰ أﺛﺮ اﻟﻤﺮﺣﻠﺔ‬6
R=Selection(Etape, Num_Etape<=’13’)
R1=Jointure(R,Participant, R.Num_Etape=Participant.Num_Etape)
R2=Calculer et Regrouper (R1, Num_Coureur, TRG : Somme(Temps_Realise))
R3=Tri(R2, TRG A°)
R4=Jointure(R3,Coureur, R3.Num_Coureur=Coureur.Num_Coureur)

‫ ﺗﺮاﯾﺐ ﺗﻨﺎزﻟﻲ‬A’ ، ‫ ﺗﺮﺗﯿﺐ ﺗﺼﺎﻋﺪي‬A° : ‫ﻣﻼﺣﻈﺔ‬


R5=Projection(R4,Nom_Coureur,Code_Equipe,Code_Pays)
‫ ﻟﺘﻜﻦ اﻟﻌﻼﻗﺎت اﻟﺘﺎﻟﯿﺔ‬: 4 ‫ﺗﻄﺒﯿﻖ‬

Produit (Code_Pro,Nom_Pro,Qte_Stock,Prise_A,Prise_V)
Client (Code_Client, Nom_Client)
Facture (Num_Fact,Date_Fact,Code_Client)
Détail (Num_Fact, Code_Pro, Qte)
:‫اﻷﺳﺌﻠﺔ‬

‫ﻛﻢ ﻋﺪد اﻟﺰﺑﺎﺋﻦ ؟‬ (1


‫'' ؟‬Ahmed'' ‫ﻛﻢ ﻋﺪد اﻟﻤﻮاد اﻟﺘﻲ طﻠﺒﮭﺎ اﻟﺰﺑﻮن‬ (2
‫ﻣﺎ ھﻮ اﻟﻤﺒﻠﻎ اﻹﺟﻤﺎﻟﻲ ﻟﻠﻤﺨﺰون ؟‬ (3
‫'' ؟‬Lait'' ‫ﻣﺎ ھﻲ اﻟﻜﻤﯿﺔ اﻟﻤﺒﺎﻋﺔ ﻣﻦ اﻟﻤﺎدة‬ (4
‫ﻣﻦ ھﻢ اﻟﺰﺑﺎﺋﻦ اﻟﺬﯾﻦ ﻟﻢ ﯾﻄﻠﺒﻮا أي طﻠﺒﯿﺔ ؟‬ (5

:‫اﻷﺟﻮﺑﺔ‬

: ‫( ﻋﺪد اﻟﺰﺑﺎﺋﻦ‬1
R=Calculer (Client, Comptage ())
'' ‫( ﻋﺪد اﻟﻤﻮاد اﻟﺘﻲ طﻠﺒﮭﺎ '' أﺣﻤﺪ‬2
R1=Sélection (Client, Nom_Client=’’Ahmed’’)
R2=Jointure (R1, Facture, R1.Code_Client=Facture.Code_Client)
R3=Jointure (R2, Détail, R2.Num_Fact=Détail.Num_Fact)
R4=Calculer et Regrouper (R3, Code_Pro, Comptage ())
:‫( اﻟﻤﺒﻠﻎ اﻹﺟﻤﺎﻟﻲ ﻟﻠﻤﺨﺰون‬3
R5=Calculer et Regrouper (Produit, Somme (Qte_Stock*Prise_A))
: ''Lait'' ‫( اﻟﻜﻤﯿﺔ اﻟﻤﺒﺎﻋﺔ ﻣﻦ ﻣﺎدة اﻟﺤﻠﯿﺐ‬4
R6=Sélection (Produit, Nom_Pro=''Lait''
R7=Jointure (R6, Détail, R6.Code_Pro=Détail.Code_Pro)
R8=Calculer (R7, Somme (Qte))
21
(‫ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ‬:‫اﺧﺘﺼﺎص‬ ‫ اﻹﻋﻼم آﻟﻲ‬: ‫ﺧﺎص ﺑﻄﻠﺒﺔ‬ ‫ اﻟﻌﯿﺸﻲ ھﺸﺎم‬:‫إﻋﺪاد‬
___________________________________________________________
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬

‫ﻟﻐﺔ ﻣﺴﺎﺋﻼت ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ‬


‫ﻣﻘﺪﻣﺔ ‪ :‬ﺳﻮف ﻧﺘﻄﺮق ﻓﻲ ھﺬا اﻟﻔﺼﻞ اﻟﻰ اھﻢ اﻟﻠﻐﺎت اﻟﻤﺴﺘﻌﻤﻠﺔ ﻟﻤﺴﺎﺋﻠﺔ ﻗﻮاﻋﺪ اﻟﻤﻌﻄﯿﺎت اﻟﻌﻼﺋﻘﯿﺔ ھﺬه اﻟﻠﻐﺎت ھﻲ ‪SQL,QBE‬‬
‫ﻟﻐﺔ ‪: SQL‬‬
‫اﺻﺒﺢ اﻟﻠﻐﺔ اﻟﻨﻤﻄﯿﺔ ﻟﻘﻮاﻋﺪ اﻟﻤﻌﻄﯿﺎت اﻟﻌﻼﺋﻘﯿﺔ ﻟﺬا ﺳﻨﺪرﺳﮫ ﺑﺎﻟﺘﻔﺼﯿﻞ ﻓﻲ اﻟﺪروس اﻟﻤﻮاﻟﯿﺔ‪.‬‬
‫ﺗﻜﻤﺘﺎز ھﺬه اﻟﻠﻐﺎت ﺑﺎﻻﺿﺎﻓﺔ اﻟﻰ اﻟﻌﻤﻠﯿﺎت اﻟﻌﻼﺋﻘﯿﺔ اﻟﺘﻲ درﺳﻨﺎھﺎ ﺳﺎﺑﻘﺎ ) اﻻﺿﺎﻓﺔ‪ ،‬ﻣﺤﻮ ﻋﻨﺎﺻﺮ ﺣﺴﺐ ﺷﺮوط ﻣﻌﯿﻨﺔ ‪ ،‬ﺗﻐﯿﯿﺮ ﻣﻌﻠﻮﻣﺎت ﺗﺘﻌﻠﻖ‬
‫ﺑﻌﻨﺎﺻﺮ اﻟﻘﺎﻋﺪة ‪ ،‬اﻟﺒﺤﺚ ﻋﻠﻰ ﻋﻨﺎﺻﺮ وﻓﻖ ﺷﺮوط ﻣﺎ (‬

‫ﻟﻐﺔ ‪Query By Exemple : QBE‬‬


‫ھﺬه اﻟﻠﻐﺔ طﻮرﺗﮭﺎ ﺷﺮﻛﺔ ‪ IBM‬و ﺗﻤﺘﺎز ﺑﺒﺴﺎطﺘﮭﺎ اذ ﺗﻌﺮض ﻟﻠﻤﺴﺘﻌﻤﻞ ھﯿﻜﻞ اﻟﻘﺎﻋﺪة اﻟﻤﺘﻜﻮﻧﺔ ﻣﻦ ‪:‬‬
‫‪ (1‬اﺳﻢ اﻟﻌﻼﻗﺔ‬
‫‪ (2‬ﻣﻜﻮﻧﺎت اﻟﻌﻼﻗﺔ‬
‫‪ (3‬ﺟﺪول ﯾﺆطﺮ اﻟﻌﻼﻗﺔ‬
‫‪R‬‬ ‫‪At1‬‬ ‫‪At2‬‬ ‫‪At3‬‬
‫‪N_Uplet‬‬
‫ن ﻣﻀﺎﻋﻒ‬

‫ﻣﻼﺣﻈﺔ ‪ :‬اﻟﻤﻨﻄﻘﺔ اﻟﻤﺨﺼﺼﺔ ﻓﻲ ‪ N_Uplet‬ﺗﺴﻤﺢ ﻟﻠﻤﺴﺘﻌﻤﻞ ﺑﻜﺘﺎﺑﺔ ﻣﺴﺎﺋﻠﺘﮫ و ﻋﻨﺪ ﺗﻨﻔﯿﺬھﺎ ﺗﻈﮭﺮ اﻟﻨﺘﯿﺠﺔ ﻓﻲ ﻧﻔﺲ اﻟﺠﺪول‬

‫‪Ccp‬‬ ‫‪Nccp‬‬ ‫‪Nom‬‬ ‫‪Solde‬‬


‫‪Ahmed‬‬ ‫‪>=5000‬‬

‫ﻓﻲ ھﺬا اﻟﻤﺜﺎل ﺗﻈﮭﺮ اﻟﺘﺴﺠﯿﻼت اﻟﺘﻲ رﺻﯿﺪھﺎ أﻛﺜﺮ ﻣﻦ ‪ 5000‬دج و إﺳﻢ ﺻﺎﺣﺒﮭﺎ ''‪''Ahmed‬‬

‫اﻟﻠﻐﺔ اﻟﻌﻼﺋﻘﯿﺔ ‪Structured Query Language : SQL‬‬

‫ھﻲ ﻟﻐﺔ ﻣﺘﻜﺎﻣﻠﺔ ﻟﺘﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﻤﻌﻄﯿﺎت و ﺗﺴﺘﻌﻤﻞ ﻣﻦ ﻗﺒﻞ أﺷﮭﺮ أﻧﻈﻤﺔ ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﻤﻌﻄﯿﺎت ﻣﺜﻞ ‪Oracle , SQL Server, Dbase ,‬‬
‫‪ ،. .............. Access‬أﺣﺮز ‪ SQL‬ﻋﻠﻰ ھﺬه اﻟﺸﮭﺮة اﻟﻌﺎﻟﻤﯿﺔ ﻷﻧﮫ ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ ﻟﻐﺔ ﻣﺴﺎﺋﻠﺔ ‪Langage d’interogation‬‬

‫‪) Langage de Manipulation de Donnée : LMD‬ﻟﻐﺔ اﻟﺘﺤﻜﻢ ﻓﻲ اﻟﻤﻌﻄﯿﺎت(‬


‫ﺗﻌﻠﯿﻤﺎت ‪ SQL‬ﻓﻲ ﻟﻐﺔ ﻣﻌﺎﻟﺠﺔ اﻟﻤﻌﻄﯿﺎت ﺗﺴﻤﺢ ﺑﺎﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺎت ﻣﺴﺎﺋﻠﺔ ﻣﺜﻞ ‪:‬‬
‫‪ -‬اﻹﺿﺎﻓﺔ ‪Insertion‬‬
‫‪ -‬اﻟﺘﻌﺪﯾﻞ ‪(Mise a Jours) MAJ‬‬
‫‪ -‬اﻟﺤﺬف ‪Suppression‬‬
‫‪ -‬اﻻﻧﺘﻘﺎء ‪Sélection‬‬
‫‪ -‬اﻹﺳﻘﺎط ‪La Projection‬‬
‫‪ -‬اﻟﻮﺻﻞ ‪La Jointure‬‬

‫ﻟﻐﺔ ﺗﻌﺮﯾﻒ اﻟﻤﻌﻄﯿﺎت ‪Language de Definition de Donnée : LDD‬‬


‫اﻟﻮﺻﻒ )‪(La déscription‬‬
‫ﺗﻌﻠﯿﻤﺎت ‪ SQL‬ﻓﻲ ﻟﻐﺔ ﺗﻌﺮﯾﻒ اﻟﻤﻌﻄﯿﺎت ﺗﺴﻤﺢ ﺑـ ‪:‬‬
‫‪ -‬إﻧﺸﺎء اﻟﻌﻼﻗﺎت و ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺖ‬
‫‪ -‬ﺗﻌﺪﯾﻞ ھﯿﻜﻞ اﻟﻌﻼﻗﺔ‬
‫‪ -‬ﻣﺤﻮ ﻋﻼﻗﺔ‬
‫‪ -‬إﻧﺸﺎء و ﻣﺤﻮ ﻣﻠﻔﺎت اﻟﻔﮭﺎرس ‪Les Indexes‬‬

‫‪22‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫‪ SQL‬ﻟﻐﺔ ﻣﻌﺎﻟﺠﺔ اﻟﻤﻌﻄﯿﺎت ‪: LMD‬‬

‫ﻛﻞ ﻣﺴﺎﺋﻠﺔ ‪ Requête‬ﻣﻦ ﻣﺴﺎﺋﻼت ‪ SQL‬ھﻲ ﺗﺮﺟﻤﺔ ﻟﻌﺒﺎرة ﻣﻦ اﻟﺠﺒﺮ اﻟﻌﻼﺋﻘﻲ ‪ ،‬ﻋﺎدة ﻣﺎ ﺗﻨﺘﺞ ﻓﻲ ﻟﻐﺔ ﻣﺘﻄﻮرة ﻧﻄﻠﻖ ﻋﻠﯿﮭﺎ اﻟﻠﻐﺔ‬
‫اﻟﻤﻀﯿﻔﺔ ‪ Langage Part‬ﻣﺜﻞ ‪Java ، Cobol ، C++ ، Delphi‬‬

‫ﻣﺜﺎل ‪ :‬ﻓﻲ اﻟﻔﻘﺮات اﻟﻤﻮاﻟﯿﺔ ﺗﺮﻛﺰ ﻋﻠﻰ ﺗﺼﻤﯿﻢ اﻟﻘﺎﻋﺪة اﻟﺘﺎﻟﯿﺔ ‪:‬‬
‫)‪Produit(Np,Nomp,Qte,Prix‬‬
‫)‪Achat(Np,Nc,QteAch‬‬
‫)‪Client(Nc,NomC,AdrC‬‬
‫‪ (a‬اﻹﺳﻘﺎط ‪La Projection :‬‬
‫‪Select Nomp,Qte‬‬
‫‪From Produit‬‬
‫‪ (b‬اﻹﻧﺘﻘﺎء ‪La Sélection :‬‬

‫اﻟﺤﻞ ‪:‬‬
‫‪ (1‬ﻗﺎﺋﻤﺔ اﻟﺴﻠﻊ اﻟﺘﻲ ﺗﻘﻞ ﻛﻤﯿﺘﮭﺎ ﻋﻠﻰ ‪ 10‬وﺣﺪات‬
‫*‪Ex1 : Select‬‬
‫‪From Produit‬‬
‫‪Where Qte < 10‬‬

‫‪ (2‬ﻗﺎﺋﻤﺔ اﻟﺴﻠﻊ اﻟﺘﻲ ﺗﻘﻞ ﻛﻤﯿﺘﮭﺎ ﻋﻠﻰ ‪ 10‬وﺣﺪات و ﺳﻌﺮھﺎ ﻋﻦ ‪ 1000,00‬دج‬


‫*‪Ex2 : Select‬‬
‫‪From Produit‬‬
‫) ‪Where ( Qte < 10) and ( Prix > 1000‬‬

‫‪ (3‬ﻗﺎﺋﻤﺔ اﻟﺴﻠﻊ اﻻﺳﻤﺎء و اﻟﻜﻤﯿﺔ اﻟﺘﻲ ﯾﻘﻞ ﺳﻌﺮھﺎ ﻋﻦ ‪500‬‬


‫‪Ex3 : Select Nomp, Qte‬‬
‫‪From Produit‬‬
‫‪Where Prix < 500‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬اﻟﻜﻠﻤﺎت ‪ Where ، From ، Select‬ھﻲ ﻛﻠﻤﺎت ﻣﺤﺠﻮزة‬

‫ﺷﺮوط اﻹﻧﺘﻘﺎء ‪:‬‬


‫ﺗﻜﺘﺐ ﺑﻌﺪ اﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزة ‪ ، Where‬ﻗﺪ ﺗﻜﻮن ﻋﺒﺎرة ‪ ) Boolean‬ﻣﻨﻄﻘﯿﺔ ( ﻣﻜﻮﻧﺔ ﻣﻦ اﻟﻌﻮاﻣﻞ ‪And , Or , Not‬‬
‫و ﺷﺮوط ﺑﺪاﺋﯿﺔ و ﻧﻘﺼﺪ ﺑﺎﻟﺸﺮوط اﻟﺒﺪاﺋﯿﺔ ‪ :‬ﻋﻮاﻣﻞ اﻟﻤﻘﺎرﻧﺔ > < ‪< , > , = ,‬‬
‫‪ -‬وﺟﻮد ن ﻣﻀﺎﻋﻒ ﻓﻲ اﻟﻌﻼﻗﺔ ) ‪( Exist‬‬
‫‪ -‬اﻹﻧﺘﻤﺎء اﻟﻰ ﻗﺎﺋﻤﺔ ‪In‬‬
‫‪ -‬اﻹﻧﺘﻤﺎء اﻟﻰ ﻣﺠﺎل ‪Betwen‬‬
‫‪ -‬وﺟﻮد ﺑﻌﺾ اﻟﺤﺮوف ﻓﻲ اﻟﺴﻠﺴﻠﺔ اﻟﺤﺮﻓﯿﺔ ‪Like‬‬

‫اﻟﻔﺮز ‪ :‬ﯾﻤﻜﻦ ﻓﺮز ﻧﺘﺎﺋﺞ اﻟﻤﺴﺎﺋﻠﺔ ﺗﺼﺎﻋﺪﯾﺎ او ﺗﻨﺎزﻟﯿﺎ وﻓﻖ ﺻﻔﺔ واﺣﺪة او ﻋﺪة ﺻﻔﺎت‬
‫ﻣﺜﺎل ‪ : 4‬ﻗﺎﺋﻤﺔ اﻟﺴﻠﻊ و اﻷﺳﻤﺎء و اﻟﻜﻤﯿﺔ و اﻟﺴﻌﺮ اﻟﺘﻲ ﯾﻘﻞ ﺳﻌﺮھﺎ ﻋﻦ ‪ 1000‬دج و ﻛﻤﯿﺘﮭﺎ أﻛﺒﺮ ﻣﻦ ‪ 10‬وﺣﺪات ﻣﺮﺗﺒﺔ ﺗﻨﺎزﻟﯿﺎ ﺣﺴﺐ إﺳﻢ‬
‫اﻟﺴﻠﻊ‬
‫‪Ex4 : Select Nomp,Qte , Prix‬‬
‫‪From Produit‬‬
‫)‪Where ( Qte > 10 ) and (Prix < 1000‬‬
‫‪Order by Nomp DESC‬‬

‫ﻣﻼﺣﻈﺔ ‪ DESC :‬ﺧﺎﺻﺔ ﺑﺎﻟﺘﺮﺗﯿﺐ اﻟﺘﻨﺎزﻟﻲ‬


‫‪ DEC‬ﺧﺎﺻﺔ ﺑﺎﻟﺘﺮﺗﯿﺐ اﻟﺘﺼﺎﻋﺪي‬
‫‪23‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫اﻟﺼﻔﺎت اﻟﻤﺤﺴﻮﺑﺔ ‪ :‬ﯾﻤﻜﻦ إدراج ﻋﻤﻠﯿﺔ ﺣﺴﺎﺑﯿﺔ أﺛﻨﺎء ﻛﺘﺎﺑﺔ اﻟﻤﺴﺎﺋﻠﺔ‬
‫ﻣﺜﺎل ‪ : 5‬ﻗﺎﺋﻤﺔ اﻟﺴﻠﻊ اﻻﺳﻤﺎء و اﻟﻜﻤﯿﺔ و اﻟﺴﻌﺮ ‪ ،‬و اﻟﺴﻌﺮ اﻹﺟﻤﺎﻟﻲ ﻟﻜﻞ ﻣﺎدة ) ﺳﻠﻌﺔ (‬
‫) ‪Ex5 : Select Nomp , Qte , Prix , Total AS ( Qte*Prix‬‬
‫‪From Produit‬‬

‫اﻟﺮﺑﻂ ﺑﯿﻦ اﻟﻌﻼﻗﺘﯿﻦ ‪:‬‬


‫ﻣﺜﺎل ‪ : 6‬اﻟﺮﺑﻂ ﺑﯿﻦ اﻟﻌﻼﻗﺘﯿﻦ ‪ Produit‬و ‪Achat‬‬
‫ﻣﻼﺣﻈﺔ ‪ :‬ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ إذا ﻟﻢ ﻧﺴﺘﻌﻤﻞ ﺷﺮط اﻹﻧﺘﻘﺎء ﺗﺼﺒﺢ اﻟﻌﻤﻠﯿﺔ ﺟﺪاء دﯾﻜﺎرﺗﻲ‬
‫*‪Ex6 : Select‬‬
‫‪From Produit , Achat‬‬
‫)‪Where ( Produit.Np = Achat.Np‬‬

‫‪Np‬‬ ‫‪Nomp‬‬ ‫‪Qte‬‬ ‫‪Prix‬‬ ‫‪Np‬‬ ‫‪Nc‬‬ ‫‪QteAchat‬‬


‫‪01‬‬ ‫‪/‬‬ ‫‪/‬‬ ‫‪/‬‬ ‫‪01‬‬ ‫‪/‬‬ ‫‪/‬‬

‫وﺻﻞ ﻋﻦ طﺮﯾﻖ ﻣﺴﺎﺋﻼت ﻣﺘﺪاﺧﻠﺔ ‪:‬‬


‫ﻣﺜﺎل ‪: 7‬‬
‫‪Ex7 : Select Nomp‬‬
‫‪From Produit‬‬
‫) ‪Where Np In ( Select Np From Achat‬‬

‫وﺻﻞ ﺑﺈﺳﺘﻌﻤﺎل ﻋﺪة ﻋﻮاﻣﻞ ‪:‬‬


‫ﻣﺜﺎل ‪ : 8‬اﻟﺮﺑﻂ ﺑﯿﻦ ﺛﻼث ﻋﻼﻗﺎت‬
‫‪Ex8 : Select Nomp‬‬
‫‪From Produit , Achat , Client‬‬
‫) ‪Where ( Achat.Nc = Client.Nc ) And ( Achat.Np = Produit.Np‬‬

‫اﻟﺮﺑﻂ ﺑﯿﻦ ﺛﻼث ﻋﻼﻗﺎت ﻣﻊ إﻧﺘﻘﺎء و ﻓﺮز و وﺻﻞ ‪:‬‬


‫ﻣﺜﺎل ‪: 9‬‬
‫‪Ex9 : Select Nomp‬‬
‫‪From Produit , Achat‬‬
‫) ‪Where ( Achat.Nc = Client.Nc ) And ( Achat.Np = Produit.Np) and ( QteAchat > 10‬‬
‫‪Order by Nomp ASC‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬ﺣﺴﺎب اﻟﻤﺴﺎﺋﻼت ﯾﺴﺘﻐﺮق ﻣﺪة طﻮﯾﻠﺔ ﺟﺪا و ﯾﺘﻄﻠﺐ ﻣﺴﺎﺣﺔ ﻛﺒﯿﺮة ﻓﻲ اﻟﺬاﻛﺮة اﻟﻤﺮﻛﺰﯾﺔ ﻷن ﻛﻞ اﻟﺠﺪاول ﻓﻲ ﻣﺜﺎﻟﻨﺎ اﻟﺴﺎﺑﻖ ﺗﺤﻤﻞ ﻓﻲ‬
‫اﻟﺬاﻛﺮة اﻟﻤﺮﻛﺰﯾﺔ ﻹﻧﺠﺎز اﻟﺠﺪاء اﻟﺪﯾﻜﺎرﺗﻲ ‪.‬‬
‫‪ -‬ﯾﻤﻜﻨﻨﺎ ﺗﺴﺮﯾﻊ اﻟﻌﻤﻠﯿﺔ ﺑﺈﺳﺘﻌﻤﺎل اﻟﻤﺴﺎﺋﻼت اﻟﻤﺘﺪاﺧﻠﺔ ﻓﻲ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ‪:‬‬

‫ﻣﺜﺎل ‪: 10‬‬
‫‪Ex10 : Select Nomp‬‬
‫‪From Produit‬‬
‫)))‪Where Np In (Select Np From Achat Where (QteAchat > 10) And (Nc In(Select Nc From Client‬‬
‫‪Order By Nomp ASC‬‬

‫‪24‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫اﻟﺪوال اﻟﺤﺴﺎﺑﯿﺔ‬
‫اﻟﺪاﻟﺔ )*(‪ : Count‬ﺗﻌﻄﯿﻨﺎ ﻋﺪد اﻟﺘﺴﺠﯿﻼت ﻓﻲ اﻟﻌﻼﻗﺔ‬
‫ﻣﺜﺎل ‪ : 1‬ﺗﻌﻄﯿﻨﺎ اﻟﺰﺑﺎﺋﻦ‬
‫)*( ‪Ex1 : Select Count‬‬
‫‪From Client‬‬

‫اﻟﺪاﻟﺔ ) ‪ : Sum( Attribut‬ﺗﻌﻄﯿﻨﺎ ﻣﺠﻤﻮع اﻟﺼﻔﺎت‬


‫ﻣﺜﺎل ‪ : 2‬ﺗﻌﻄﯿﻨﺎ ﻣﺠﻤﻮع اﻟﺴﻠﻊ‬
‫) ‪Ex2 : Select Sum( Qte‬‬
‫‪From Produit‬‬

‫اﻟﺪاﻟﺔ ) ‪ : Max ( Attribut‬ﺗﻌﻄﯿﻨﺎ أﻛﺒﺮ ﻗﯿﻤﺔ ﻓﻲ اﻟﺼﻔﺔ‬


‫ﻣﺜﺎل ‪ : 3‬ﺗﻌﻄﯿﻨﺎ اﻟﺴﻠﻌﺔ اﻷﻏﻠﻰ ﻓﻲ اﻟﻤﺨﺰون‬
‫)‪Ex3 : Select Max(Prix‬‬
‫‪From Produit‬‬

‫اﻟﺪاﻟﺔ ) ‪ : Min ( Attribut‬ﺗﻌﻄﯿﻨﺎ أﻗﻞ ﻗﯿﻤﺔ ﻓﻲ اﻟﺼﻔﺔ‬


‫ﻣﺜﺎل ‪ : 4‬ﺗﻌﻄﯿﻨﺎ أﻗﻞ ﻛﻤﯿﺔ ﻣﺸﺘﺮات‬
‫)‪Ex4 : Select Min(Qte_Achat‬‬
‫‪From Achat‬‬

‫اﻟﺪاﻟﺔ ) ‪ : Average ( Attribut‬ﺗﻌﻄﯿﻨﺎ ﻣﻌﺪل ﻗﯿﻢ اﻟﺼﻔﺔ‬


‫ﻣﺜﺎل ‪ : 5‬ﺗﻌﻄﯿﻨﺎ ﻣﻌﺪل ﺷﺮاء اﻟﺴﻠﻊ‬
‫)‪Ex5 : Select Average (Qte_Achat‬‬
‫‪From Achat‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬ﯾﻤﻜﻦ إﺳﺘﻌﻤﺎل اﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزة ‪ Where‬ﻣﻊ اﻟﺪوال‬


‫اﻟﺪاﻟﺔ )*( ‪ : Count‬ﺑﺈﺳﺘﻌﻌﻤﺎل اﻟﺸﺮط )‪(Where‬‬
‫ﻣﺜﺎل ‪ : 6‬ﺗﻌﻄﯿﻨﺎ ﻋﺪد ﻣﺮات ﺷﺮاء اﻟﻤﺎدة ‪1‬‬
‫)*( ‪Ex6 : Select Count‬‬
‫‪From Achat‬‬
‫‪Where Np = 1‬‬

‫اﻟﺪاﻟﺔ )*(‪ : Sum‬ﺑﺈﺳﺘﻌﻌﻤﺎل اﻟﺸﺮط )‪(Where‬‬


‫ﻣﺜﺎل ‪ : 7‬ﺗﻌﻄﯿﻨﺎ رﻗﻢ اﻷﻋﻤﺎل اﻟﺨﺎص ﺑﺎﻟﺰﺑﻮن رﻗﻢ ‪2‬‬
‫)*( ‪Ex7 : Select Sum‬‬
‫‪From Achat‬‬
‫‪Where Nc = 2‬‬

‫‪25‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫دوال اﻟﺴﻼﺳﻞ اﻟﺤﺮﻓﯿﺔ‬
‫اﻟﺪاﻟﺔ )‪Length(Chaîne‬‬
‫ﺗﻌﻄﯿﻨﺎ طﻮل اﻟﺴﻠﺴﻠﺔ اﻟﺤﺮﻓﯿﺔ‬
‫اﻟﺪاﻟﺔ )‪Upper(Chaîne‬‬
‫ﺗﺤﻮل اﻟﺴﻠﺴﻠﺔ اﻟﺤﺮﻓﯿﺔ اﻟﻰ ﺣﺮوف ﻛﺒﯿﺮة‬
‫ﺗﺤﻮل اﻟﺴﻠﺴﻠﺔ اﻟﺤﺮﻓﯿﺔ اﻟﻰ ﺣﺮوف ﺻﻐﯿﺮة‬ ‫اﻟﺪاﻟﺔ )‪Lower (Chaine‬‬

‫ﺗﻜﻤﻞ اﻟﺴﻠﺴﻠﺔ اﻟﺤﺮﻓﯿﺔ ‪ Ch‬ﺑﺎﻟﺤﺮف ‪ Car‬ﻣﻦ اﻟﺠﮭﺔ اﻟﯿﺴﺮى اﻟﻰ أن ﯾﺼﻞ طﻮل اﻟﺴﻠﺴﻠﺔ اﻟﻰ ‪Long‬‬ ‫اﻟﺪاﻟﺔ )‪Lpad(Ch, Long, Car‬‬
‫ﻣﺜﺎل ‪:‬‬
‫’‪Ch = ‘ABC‬‬
‫)’‪Lpad(Ch,5,’D‬‬
‫’‪Ch = ‘DDABC‬‬
‫ﺗﻜﻤﻞ اﻟﺴﻠﺴﻠﺔ اﻟﺤﺮﻓﯿﺔ ‪ Ch‬ﺑﺎﻟﺤﺮف ‪ Car‬ﻣﻦ اﻟﺠﮭﺔ اﻟﯿﻤﻨﻰ اﻟﻰ أن ﯾﺼﻞ طﻮل اﻟﺴﻠﺴﻠﺔ اﻟﻰ ‪Long‬‬ ‫اﻟﺪاﻟﺔ )‪Rpad(Ch,Long,Car‬‬
‫ﻣﺜﺎل ‪:‬‬
‫’‪Ch = ‘ABC‬‬
‫)’‪Rpad(Ch,5,’D‬‬
‫’‪Ch = ‘ABCDD‬‬
‫ﺗﻘﻮم ﺑﻤﺤﻮ اﻟﻔﺮاﻏﺎت اﻟﻤﻮﺟﻮدة ﻋﻠﻰ ﯾﺴﺎر ‪Chaîne‬‬ ‫اﻟﺪاﻟﺔ )‪LTrin(Chaine‬‬
‫ﻣﺜﺎل ‪:‬‬
‫’‪Ch = ‘ Mohamed‬‬
‫’‪LTrin(Ch) = ‘Mohamed‬‬
‫ﺗﻘﻮم ﺑﻤﺤﻮ اﻟﻔﺮاﻏﺎت اﻟﻤﻮﺟﻮدة ﻋﻠﻰ ﯾﻤﯿﻦ ‪Chaîne‬‬ ‫اﻟﺪاﻟﺔ )‪RTrin(Chaine‬‬
‫ﻣﺜﺎل ‪:‬‬
‫’ ‪Ch = ‘Mohamed‬‬
‫’‪RTrin(Ch) = ‘Mohamed‬‬
‫ﺗﻘﻮم ﺑﺈﺳﺘﺨﺮاج ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ إﻧﻄﻼﻗﺎ ﻣﻦ اﻟﻤﻮﻗﻊ ‪ Pos‬ﺗﺘﻜﻮن ﻣﻦ ‪ L‬ﺣﺮف )اﻟﻄﻮل(‬ ‫)‪SubStr(Ch,Pos,L‬‬
‫ﻣﺜﺎل ‪:‬‬
‫’‪Ch = ‘Mohamed‬‬
‫’‪SubStr(Ch,3,5) = ‘hamed‬‬

‫اﻟﺘﻌﻠﯿﻤﺔ ‪: Group By‬‬

‫ﺗﻤﻜﻦ ﻣﻦ ﺗﺠﻤﯿﻊ اﻟﺘﺴﺠﯿﻼت ﻋﻠﻰ ﺻﻔﺔ أو ﻋﺪة ﺻﻔﺎت و ﺗﺴﺘﻌﻤﻞ ﻣﻊ اﻟﺪوال)‪(Count , Min , Max , Average , Sum‬‬
‫ﻣﺜﺎل ‪ :‬ﺗﻌﻄﯿﻨﺎ ﻣﺠﻤﻮع اﻟﻜﻤﯿﺎت اﻟﻤﺸﺘﺮات ﻟﻜﻞ ﻣﺎدة‬

‫)‪Select Np,Qte_G AS Sum(Qte_Achat‬‬


‫‪From Achat‬‬
‫‪Np‬‬ ‫‪Nc‬‬ ‫‪Qte_Achat‬‬ ‫‪Group By Np‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪100‬‬
‫‪1‬‬ ‫‪2‬‬ ‫‪200‬‬ ‫‪600‬‬
‫‪1‬‬ ‫‪3‬‬ ‫‪300‬‬
‫‪2‬‬ ‫‪1‬‬ ‫‪50‬‬ ‫‪Np‬‬ ‫‪Qte_G‬‬
‫‪110‬‬
‫‪2‬‬ ‫‪4‬‬ ‫‪60‬‬
‫‪1‬‬ ‫‪600‬‬
‫‪2‬‬ ‫‪110‬‬

‫‪26‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
SGBD ‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
: 1 ‫ﺗﻄﺒﯿﻖ‬

: ‫ﻟﺪﯾﻨﺎ اﻟﻨﻤﻮذج اﻟﻌﻼﺋﻘﻲ اﻟﺘﺎﻟﻲ اﻟﺬي ﯾﺴﻤﺢ ﺑﺘﺴﯿﯿﺮ اﻟﻄﻠﺒﺔ‬


Ex1 : Etudiant (Num_Etud , Prenom )
Matiere ( Code_Mat , Lib_Mat , Coeuf_Mat )
Evaler ( Num_Etud , Coef_Mat , Dat , Note )

‫( أﺣﺴﺐ اﻟﻌﺪد اﻹﺟﻤﺎﻟﻲ ﻟﻠﻄﻠﺒﺔ ؟‬1


1) Select Count(*)
From Etudiant

‫( ﻣﺎ ھﻲ أﻋﻠﻰ ﻋﻼﻣﺔ ؟‬2


2) Selsect Max(Note)
From Etudiant

‫( ﻣﺎ ھﻲ ﻣﻌﺪﻻت اﻟﻄﻠﺒﺔ ﻓﻲ ﻛﻞ ﻣﺎدة ؟‬3


3) Select Code_Mat, Average(Note)
Form Evaluer
Groupe By Code_Mat

‫( ﻣﺎ ھﻲ ﻣﻌﺪﻻت ﻛﻞ طﺎﻟﺐ ﻓﻲ ﻛﻞ ﻣﺎدة ؟‬4


4) Select Num_Etud, Code_Mat, Moy_Mat, Average(Note)
From Evaluer
Groupe By Num_Etud, Code_Mat

‫( ﻣﺎ ھﻮ اﻟﻤﻌﺪل اﻟﻌﺎم ﻟﻜﻞ طﺎﻟﺐ ؟‬5


5) R1: Select Num_Etud, MG AS Sum(Moy_Mat*Coef) / Sum(Coef)
From Evaluer , Matiere
Where Evaluer.Cod_Mat = Matiere.Code_Mat
Groupe By Num_Etud
R2: Select Average(MG)
From R1

‫( ﻣﺎ ھﻮ ﻣﻌﺪ اﻟﻄﺎﻟﺐ اﻟﻤﺘﺤﺼﻞ ﻋﻠﻰ ﻣﻌﺪل أﻛﺒﺮ ﻣﻦ ﻣﻌﺪل اﻟﺪﻓﻌﺔ ؟‬6


6) Select NEtud , Nom, Prenom
From R1, Etudiant
Where (R1.Num_Etud = Etudiant.Num_Etud
And ( MG > R2 )
‫ دورة ﻓﺮﻧﺴﺎ ﻟﻠﺪراﺟﺎت‬: 2 ‫ﺗﻄﺒﯿﻖ‬

: ‫اﻟﻌﻼﻗﺎت‬
Equipe (Code_Equipe, Nom_Equipe, Directeur_Sportif)
Coureur (Num_Coureur, Nom_Coureur, Code_Equipe, Code_Pays)
Pays (Code_Pays, Nom_Pays)
Type_Etape (Code_Type, Libelle_Type)
Etape (Num_Etape, Date_Etape, Ville_Dep, Ville_Ar, Nb_Km, Code_Type)
Participant ( Num_Coureur, Num_Etape, Temps_Realise)
Attribuer_Bonification (Num_Etape, Mb_Secondez, Num_Coureur)

27
(‫ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ‬:‫اﺧﺘﺼﺎص‬ ‫ اﻹﻋﻼم آﻟﻲ‬: ‫ﺧﺎص ﺑﻄﻠﺒﺔ‬ ‫ اﻟﻌﯿﺸﻲ ھﺸﺎم‬:‫إﻋﺪاد‬
___________________________________________________________
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫اﻷﺳﺌﻠﺔ ‪:‬‬
‫‪ (1‬ﻣﺎھﻲ ﺗﺸﻜﯿﻠﺔ ﻓﺮﯾﻖ ‪ Fistina‬؟‬
‫‪ (2‬ﻣﺎ ھﻮ رﻗﻢ و اﺳﻢ ﺑﻠﺪ اﻟﻤﺘﺴﺎﺑﻖ ؟‬
‫‪ (3‬ﻛﻢ ھﻲ اﻟﻤﺴﺎﻓﺔ اﻹﺟﻤﺎﻟﯿﺔ ﻟﺪورة ﻓﺮﻧﺴﺎ ؟‬
‫‪ (4‬ﻛﻢ ھﻮ ﻋﺪد اﻟﻜﻠﻮﻣﺘﺮات ﻟﻠﻤﺮاﺣﻞ اﻟﺠﺒﻠﯿﺔ ؟‬
‫‪ (5‬ﻣﻦ ھﻢ اﻟﻤﺘﺴﺎﺑﻘﻮن ) اﺳﻤﺎء اﻟﺬﯾﻦ ﻟﻢ ﯾﺘﺤﺼﻠﻮا ﻋﻠﻰ اﻟﺠﻮاﺋﺰ(؟‬
‫‪ (6‬ﻣﺎ ھﻮ ﺗﺮﺗﯿﺐ اﻟﻤﺘﺴﺎﺑﻘﯿﻦ ﻋﻠﻰ إﺛﺮ اﻟﻤﺮﺣﻠﺔ اﻟﺜﺎﻟﺜﺔ ﻋﺸﺮ ؟‬
‫‪ (7‬ﻣﺎ ھﻮ ﺗﺮﺗﯿﺐ اﻟﻔﺮق إﺛﺮ اﻟﻤﺮﺣﻠﺔ ‪ 13‬؟‬

‫‪ (1‬ﻣﺎھﻲ ﺗﺸﻜﯿﻠﺔ ﻓﺮﯾﻖ ‪ Fistina‬؟‬


‫اﻟﺤﻞ ‪ (1‬ﺗﺸﻜﯿﻠﺔ ﻓﺮﯾﻖ ‪) Fistina‬اﻟﺮﻗﻢ ‪ ،‬اﻹﺳﻢ ‪ ،‬ﺑﻠﺪ اﻟﻤﺘﺴﺎﺑﻖ(‬
‫‪Select Num_Coureur, Nom_Coureur, Nom_Pays‬‬
‫‪From Coureur , Pays, Equipe‬‬
‫)’‪Where (Coureur .Code_Equipe = Equipe.Code_Equipe) And ( Nom_Equipe = ‘Fiestina‬‬

‫‪ (2‬ﻣﺎھﻲ اﻟﻤﺴﺎﻓﺔ اﻹﺟﻤﺎﻟﯿﺔ ﻟﺪورة ﻓﺮﻧﺴﺎ ؟‬


‫اﻟﺤﻞ ‪ (2‬اﻟﻤﺴﺎﻓﺔ اﻹﺟﻤﺎﻟﯿﺔ ﻟﺪورة ﻓﺮﻧﺴﺎ ھﻲ ‪:‬‬
‫)‪Select Nb_Tour As Sum(Nb_Km‬‬
‫‪From Etape‬‬

‫‪ (3‬ﻣﺎ ھﻮ ﻋﺪد اﻟﻜﯿﻠﻮﻣﺘﺮات ﻟﻠﻤﺮاﺣﻞ اﻟﺠﺒﻠﯿﺔ ؟‬


‫اﻟﺤﻞ ‪ (3‬ﻋﺪد اﻟﻜﯿﻠﻮﻣﺘﺮات ﻟﻠﻤﺮاﺣﻞ اﻟﺠﺒﻠﯿﺔ ھﻮ ‪:‬‬
‫)‪Select Nb_Tour As Sum(Nb_Km‬‬
‫‪From Etape, Type_Etape‬‬
‫)’‪Where (Etape.Code_Type = Type_Etape.Code_Type) And (Libelle_Type = ‘Montagnie‬‬

‫‪ (4‬ﻣﺎ ھﻢ اﻟﻤﺘﺴﺎﺑﻘﻮن )اﻷﺳﻤﺎء( اﻟﺬﯾﻦ ﻟﻢ ﯾﺘﺤﺼﻠﻮا ﻋﻠﻰ ﺟﻮاﺋﺰ ؟‬


‫اﻟﺤﻞ ‪ (4‬اﻟﻤﺘﺴﺎﺑﻘﻮن اﻟﺬﯾﻦ ﻟﻢ ﯾﺘﺤﺼﻠﻮا ﻋﻠﻰ ﺟﻮاﺋﺰ ھﻢ ‪:‬‬
‫‪Select Nom_Coureur‬‬
‫‪From Coureur, Attribuer_Bonification,‬‬
‫)‪Where (Coureur.Num_Coureur < > Attribuer_Bonification.Num_Coureur‬‬

‫‪ (5‬ﻣﺎ ھﻲ أﺳﻤﺎء اﻟﻤﺘﺴﺎﺑﻘﯿﻦ اﻟﺬﯾﻦ ﺷﺎرﻛﻮا ﻓﻲ ﻛﻞ اﻟﻤﺮاﺣﻞ ؟‬


‫اﻟﺤﻞ ‪ (5‬اﻟﻤﺘﺴﺎﺑﻘﯿﻦ اﻟﺬﯾﻦ ﺷﺎرﻛﻮا ﻓﻲ ﻛﻞ اﻟﻤﺮاﺣﻞ ھﻢ ‪:‬‬
‫)*(‪R1 : Select Count‬‬
‫‪From Etape‬‬

‫‪Select Num_Coureur, Nom_Coureur, Count(Num_Coureur) As Nbet‬‬


‫‪From Coureur, Participant, R1‬‬
‫‪Groupe By Num_Coureur‬‬
‫)‪Having( Count(Num_Coureur)=R1) And ( Coureur.Num_Coureur = Participant.Num_Coureur‬‬

‫‪28‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫‪ (6‬ﻣﺎ ھﻮ ﺗﺮﺗﯿﺐ اﻟﻤﺘﺴﺎﺑﻘﯿﻦ ﻋﻠﻰ إﺛﺮ اﻟﻤﺮﺣﻠﺔ ‪)13‬ﺑﺈﻋﺘﺒﺎر أن اﻟﻤﺘﺴﺎﺑﻘﯿﻦ ﺷﺎرﻛﻮا ﻓﻲ ﻛﻞ اﻟﻤﺮاﺣﻞ( ؟‬
‫اﻟﺤﻞ ‪ (6‬ﺗﺮﺗﯿﺐ اﻟﻤﺘﺴﺎﺑﻘﯿﻦ اﻟﺬﯾﻦ ﺷﺎرﻛﻮا ﻓﻲ ﻛﻞ اﻟﻤﺮاﺣﻞ ﻣﺎ ﺣﺘﻰ اﻟﻤﺮﺣﻠﺔ ‪: 13‬‬
‫‪Select Num_Coureur, Num_Etape, Nom_Coureur, Sum(Temps_Realise) As TG‬‬
‫‪From Coureur, Participant‬‬
‫‪Groupe By Num_Coureur, Num_Etape, Nom_Coureur‬‬
‫)‪Having( Num_Etape < = 13 ) And (Coureur.Num_Coureur = Participant.Num_Coureur‬‬
‫‪Order By TG ASC‬‬

‫‪ SQL‬ﻟﻐﺔ وﺻﻒ اﻟﻤﻌﻄﯿﺎت ‪: Langage De Description De Données‬‬

‫ھﻮ وﺻﻒ ﺗﺼﻤﯿﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت و ﻛﺬا ﺗﻐﯿﯿﺮھﺎ و ھﺬا اﻟﺘﻐﯿﯿﺮ ﯾﺘﻢ ﻋﻦ طﺮﯾﻖ اﻟﻜﻠﻤﺎت اﻟﻤﺤﺠﻮزة )‪(Les Mots Réserver‬‬
‫إﻧﺸﺎء = ‪Create‬‬
‫ﺗﻌﺪﯾﻞ = ‪Alter‬‬
‫ﺣﺬف )ﻣﺤﻮ( = ‪Drop‬‬
‫أ( إﻧﺸﺎء ﻋﻼﻗﺔ )‪: (Création d'une Relation‬‬

‫ھﺬه اﻟﻌﻤﻠﯿﺔ ﺗﺴﻤﺢ ﺑﺈﻧﺸﺎء ﻋﻼﻗﺔ ﻓﺎرﻏﺔ )ﺟﺪول ﻓﺎرغ( و ذﻟﻚ ﺑﻮﺻﻒ ﺻﻔﺎت اﻟﻌﻼﻗﺔ‬
‫ﻣﺜﻼ ‪ :‬إﻧﺸﺎء اﻟﺠﺪول اﻟﺘﺎﻟﻲ ‪:‬‬
‫)‪Client (Nclient, Nom, Adresse, Rc‬‬
‫اوﻻ ‪ :‬أﻧﻮاع اﻟﻤﻌﻄﯿﺎت ‪:‬‬
‫‪ : Numérique -1‬ﻗﯿﻤﺔ ﻋﺪدﯾﺔ )ﺻﺤﯿﺢ ‪ ،‬ﺣﻘﯿﻘﻲ(‬
‫‪ : Char(N) -2‬ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ ﻣﻜﻮﻧﺔ ﻣﻦ ‪ N‬ﺣﺮف‬
‫ﻣﺜﺎل ‪ Char(20) :‬ﺳﻠﺴﻠﺔ ﺣﺮﻓﯿﺔ ﻣﻜﻮﻧﺔ ﻣﻦ ‪20‬ﺣﺮف‬
‫‪ : Smallinteger‬ﻗﯿﻤﺔ ﺻﺤﯿﺤﺔ ﻗﺼﯿﺮة )اﻷﻋﺪاد اﻟﻤﻮﺟﺒﺔ ﻓﻘﻂ(‬ ‫‪-3‬‬
‫‪ : Integer‬ﺻﺤﯿﺤﺔ )اﻟﻌﺪاد اﻟﺴﺎﻟﺒﺔ و اﻟﻤﻮﺟﺒﺔ(‬ ‫‪-4‬‬
‫‪ : Float‬اﻷﻋﺪاد اﻟﺤﻘﯿﻘﯿﺔ‬ ‫‪-5‬‬
‫‪ : Date‬اﻟﺘﺎرﯾﺦ‬ ‫‪-6‬‬
‫‪ : Row‬ﻣﻦ ﻧﻮع ﺛﻨﺎﺋﻲ‬ ‫‪-7‬‬
‫‪-8‬‬
‫اﻵن ﻧﻘﻮم ﺑﺈﻧﺸﺎء اﻟﻌﻼﻗﺔ ‪ Client‬ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ‬
‫‪Creat table client‬‬
‫)‪(Nclient Integer, Nom Char (50), Adresse Char (100), RC Char (50‬‬
‫اﻟﻘﺎﻋﺪة اﻟﻌﺎﻣﺔ ﻟﻺﻧﺸﺎء ‪:‬‬
‫)‪ , ……….‬ﻧﻮع اﻟﺼﻔﺔ اﺳﻢ اﻟﺼﻔﺔ ‪ ,‬ﻧﻮع اﻟﺼﻔﺔ اﺳﻢ اﻟﺼﻔﺔ ( إﺳﻢ اﻟﺠﺪول ‪Creat table‬‬

‫ﺗﻌﺮﯾﻒ اﻟﻤﻔﺘﺎح اﻟﺮﺋﯿﺴﻲ ‪:‬‬


‫ﻧﻌﺮف اﻟﻤﻔﺘﺎح اﻟﺮﺋﯿﺴﻲ ﺑﺎﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزة ‪Primary key‬‬

‫ھﻨﺎك طﺮﯾﻘﺘﯿﻦ ﻹﺳﺘﻌﻤﺎل اﻟﻤﻔﺘﺎح اﻟﺮﺋﯿﺴﻲ ‪:‬‬

‫اﻟﻄﺮﯾﻘﺔ ‪ :1‬ﻣﺜﺎل‬
‫‪Creat table Client‬‬
‫))‪(Client integer Primary key, Nom Char(50), Adresse Char(100), Rc Char(20‬‬
‫اﻟﻄﺮﯾﻘﺔ ‪ :2‬ﻧﻔﺲ اﻟﻤﺜﺎل‬
‫‪Creat table Client‬‬
‫))………‪(Nclient integer, Nom Char(50), Adresse Char(100), Rc Char(20), Primary key(Nclient,‬‬

‫ﻣﻼﺣﻈﺔ ‪ :‬ﺗﺴﺘﻌﻤﻞ اﻟﻄﺮﯾﻘﺔ اﻟﺜﺎﻧﯿﺔ ﻓﻲ ﺣﺎﻟﺔ إﺳﺘﻌﻤﺎل أﻛﺜﺮ ﻣﻦ ﺻﻔﺔ ﻟﮭﺎ ﻣﻔﺘﺎح رﺋﯿﺴﻲ‬
‫‪29‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫ﺗﻌﺮﯾﻒ اﻟﻤﻔﺘﺎح اﻟﺜﺎﻧﻮي‪Clie Secondaire :‬‬
‫ﯾﻌﺮف اﻟﻤﻔﺘﺎح اﻟﺜﺎﻧﻮي ﺑﺎﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزة ‪Unique‬‬

‫وﯾﺴﺘﻌﻤﻞ ﻓﻲ اﻟﻤﺴﺎﺋﻠﺔ ﻛﺎﻵﺗﻲ ‪:‬‬

‫إﺳﻢ اﻟﻌﻼﻗﺔ ‪Creat Table‬‬


‫)‪,………..‬اﺳﻢ اﻟﺼﻔﺔ(‪,………), Unique‬اﺳﻢ اﻟﺼﻔﺔ( ‪ , ……………, Primary key‬ﻧﻮع اﻟﺼﻔﺔ إﺳﻢ اﻟﺼﻔﺔ (‬

‫ﺗﻌﺮﯾﻒ اﻟﻤﻔﺘﺎح اﻟﺨﺎرﺟﻲ ‪:‬‬


‫ﯾﻌﺮف اﻟﻤﻔﺘﺎح اﻟﺨﺎرﺟﻲ ﺑﺎﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزة ‪Foreign key‬‬

‫ﻣﺜﺎل ‪:‬‬
‫‪Creat table Facture‬‬
‫‪(NFact Smallinteger , Date_Fact Date, NClient Integer, Primary key(NFact),Foreign key(NClient)References‬‬
‫))‪Client(NClient‬‬
‫ﻣﻼﺣﻈﺔ ‪:‬‬
‫ﻋﻨﺪ إﺳﺘﻌﻤﺎل اﻟﻤﻔﺘﺎح اﻟﺨﺎرﺟﻲ ﻓﻲ ﺟﺪول ﯾﺠﺐ إﻧﺸﺎء اﻟﺠﺪول اﻟﺬي ﺳﯿﺮﺑﻂ ﻣﻌﮫ اﻟﻤﻔﺘﺎح اﻟﺨﺎرﺟﻲ ﻣﺴﺒﻘﺎ )ﻟﻮ أﻧﺸﺄﻧﺎ اﻟﺠﺪول ‪ Facture‬ﻗﺒﻞ اﻟﺠﺪول‬
‫‪ Client‬ﺳﯿﺤﺪث ﺧﻄﺄ ﻓﻲ اﻹﻧﺸﺎء(‬

‫اﻟﺼﻔﺎت اﻹﺟﺒﺎرﯾﺔ ‪:‬‬


‫ﻧﻘﺼﺪ ﺑﺎﻟﺼﻔﺎت اﻹﺟﺒﺎرﯾﺔ اﻟﺤﻘﻮل اﻟﺘﻲ ﯾﻨﺒﻐﻲ أن ﻧﺪﺧﻞ ﻓﯿﮭﺎ ﻗﯿﻢ )اﻟﻜﺘﺎﺑﺔ ﻓﯿﮭﺎ إﺟﺒﺎرﯾﺔ( و ﻧﻌﺮﻓﮭﺎ ﺑﺎﻟﻜﻠﻤﺔ اﻟﻤﺤﺠﻮزة ‪Not Null‬‬

‫ﻣﺜﺎل ‪:‬‬
‫‪Creat table Facture‬‬
‫‪(NFact Smallinteger Not Null, Date_Fact Date Not Null, NCl Integer, Primary key(NFact),Foreign‬‬
‫))‪key(NCl)References Client(Nclient‬‬

‫‪NFact‬‬ ‫‪Date_Fact‬‬ ‫‪NCl‬‬


‫‪001‬‬ ‫‪01/01/2012‬‬ ‫‪1‬‬
‫‪02/02/2012‬‬ ‫‪1‬‬
‫‪002‬‬ ‫‪06/02/2012‬‬ ‫‪2‬‬

‫‪Creat Table Facture‬‬


‫)‪NFact Char(4) Not Null , Dat_Fact Date Not Null , NCl Integer , Primary key(NFact), Foreign key (NCl‬‬
‫))‪References Client(Nclient‬‬
‫إﺿﺎﻓﺔ أو ﻣﺤﻮ ﺻﻔﺔ ﻓﻲ ﻋﻼﻗﺔ ‪:‬‬
‫و ﺗﺴﺘﺨﺪم ﺑﺎﻟﺼﯿﻐﺔ اﻟﺘﺎﻟﯿﺔ‬
‫ﻧﻮع اﻟﺤﻘﻞ إﺳﻢ اﻟﺤﻘﻞ ]ﻧﻮع اﻟﻌﻤﻠﯿﺔ[ إﺳﻢ اﻟﺠﺪول ‪Alter Table‬‬
‫أﻧﻮاع اﻟﻌﻤﻠﯿﺎت ‪:‬‬
‫‪ : Add‬إﺿﺎﻓﺔ ﺣﻘﻞ‬ ‫‪-‬‬
‫‪ : Drop‬ﻣﺤﻮ ﺻﻔﺔ‬ ‫‪-‬‬
‫‪ : Alter‬ﺗﻌﺪﯾﻞ ﺻﻔﺔ‬ ‫‪-‬‬
‫ﻣﺜﺎل ‪:‬‬
‫‪Alter Table Produit Drop Prix‬‬

‫ﻣﺤﻮ ﻋﻼﻗﺔ ﺑﺄﻛﻤﻠﮭﺎ ‪:‬‬

‫‪30‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫إﺳﻢ اﻟﻌﻼﻗﺔ ‪Drop Table‬‬
‫ﻣﺜﺎل ‪:‬‬
‫‪Drop Table Client‬‬
‫ﺗﻄﺒﯿﻖ ‪ :‬أﻛﺘﺐ ﺑﺈﺳﺘﻌﻤﺎل أواﻣﺮ اﻟـ ‪ LDD‬اﻟﺘﻲ ﺗﺴﻤﺢ ﺑﺈﻧﺸﺎء اﻟﻌﻼﻗﺎت اﻟﺘﺎﻟﯿﺔ ‪:‬‬
‫)‪Etudiant(NEtud , Nom, Prenom‬‬
‫) ‪Matiere(Code_Mat , Lib_Mat , Coef_Mat‬‬
‫)‪Evaluer(NEtud # ,Code_Mat # , Date_E , Note‬‬
‫ﻣﻼﺣﻈﺔ ‪:‬‬
‫اﻟﺬي ﺗﺤﺘﮫ ﺧﻂ ﯾﻤﺜﻞ اﻟﻤﻔﺘﺎح اﻟﺮﺋﯿﺴﻲ‬ ‫‪-‬‬
‫اﻟﺬي ﺑﺠﺎﻧﺒﮫ ‪ #‬ﯾﻤﺜﻞ ﻣﻔﺘﺎح ﺧﺎرﺟﻲ‬ ‫‪-‬‬

‫)‪1) Creat Table Etudiant (NEtud Smallinteger Not Null , Nom Char(30) Not Null , Prenom Char(30‬‬
‫))‪Not Null, Primary Key(NEtud‬‬

‫‪2) Creat Table Matiere (Code_Mat Char(4) Not Null , Lib_Mat Char(20) Not Null , Coef_Mat‬‬
‫))‪Smallinteger Not Null , Primary key(Code_Mat‬‬

‫‪3) Creat Table Evaluer ( NEtud Smallinteger Not Null , Code_Mat Char(4) Not Null , Date_E Date‬‬
‫‪Not Null , Note Float Not Null , Primary key(NEtud,NEtud), Foreign key(NEtud) References‬‬
‫))‪Etudiant(NEtud), Foreign key(Code_Mat) References Matiere(Code_Mat‬‬
‫ﺗﻄﺒﯿﻖ ‪:‬‬
‫ﻟﯿﻜﻦ اﻟﻨﻤﻮذج اﻟﻌﻼﺋﻘﻲ اﻟﺘﺎﻟﻲ اﻟﺨﺎص ﺑﺎﻟﻤﺴﺮح اﻟﻮطﻨﻲ ‪:‬‬
‫)‪1) Representation(NRepresent , Titre , Lieu , NRealis #‬‬
‫)‪2) Realisateur(NRealis , Nom‬‬
‫) ‪3) Programmer(Date_R , NRepresent # , Tarif‬‬
‫ﺑﺈﺳﺘﻌﻤﺎل أواﻣﺮ اﻟـ ‪ LDD‬و اﻟـ ‪ LMD‬أﻛﺘﺐ اﻷواﻣﺮ اﻟﺘﻲ ﺗﺴﻤﺢ ﺑـ ‪:‬‬
‫‪ (1‬إﻧﺸﺎء اﻟﻌﻼﻗﺎت اﻟﺴﺎﺑﻘﺔ‬
‫‪ (2‬إظﮭﺎر ﻗﺎﺋﻤﺔ ﻋﻨﺎوﯾﻦ اﻟﻤﺼﺮﺣﯿﺎت‬
‫‪ (3‬إظﮭﺎر ﻗﺎﺋﻤﺔ ﻋﻨﺎوﯾﻦ اﻟﻤﺼﺮﺣﯿﺎت اﻟﺘﻲ ﺳﺘﻘﺎم ﻓﻲ ﻗﺎﻋﺔ اﻟﻤﻮﻏﺎر‬
‫‪ (4‬إظﮭﺎر ﻗﺎﺋﻤﺔ اﻟﻤﺨﺮﺟﯿﻦ ﻣﻊ ﻋﻨﺎوﯾﻦ اﻟﻤﺼﺮﺣﯿﺎت اﻟﺘﻲ أﺧﺮﺟﻮھﺎ‬
‫‪ (5‬إظﮭﺎر ﻗﺎﺋﻤﺔ ﻋﻨﺎوﯾﻦ اﻟﻤﺼﺮﺣﯿﺎت و اﻷﻣﺎﻛﻦ و اﻷﺳﻌﺎر ﻟﯿﻮم ‪2012/12/31‬‬

‫اﻹﺟﺎﺑﺔ ‪:‬‬

‫‪ : LMD‬ھﻲ ﻟﻐﺔ اﻟﺘﺤﻜﻢ ﻓﻲ اﻟﻤﻌﻄﯿﺎت ﻣﺜﻞ ) ‪( select, from …..‬‬


‫‪ : LDD‬ھﻲ ﻟﻐﺔ وﺻﻒ اﻟﻤﻌﻄﯿﺎت ﺗﻤﻜﻦ ﻣﻦ إﻧﺸﺎء او ﺗﻌﺪﯾﻞ اﻟﺠﺪاول ) … ‪( Creat , Alter‬‬
‫‪ : LCD‬ھﻲ ﻟﻐﺔ ﻣﺮاﻗﺒﺔ اﻟﻤﻌﻄﯿﺎت و ﺗﻤﻜﻦ ﻣﻤﻦ إﻧﺸﺎء ﻣﺴﺘﻌﻤﻠﯿﻦ و ﻛﻠﻤﺔ ﻣﺮور ﻟﻔﺘﺢ اﻟﻘﺎﻋﺪة ‪ .......‬اﻟﺦ (‬
‫‪ : SQL‬ھﻲ ﻟﻐﺔ ﻣﺴﺎﺋﻠﺔ اﻟﻤﻌﻄﯿﺎت ﺗﻤﻜﻦ ﻣﻦ ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﻤﻌﻄﯿﺎت‬

‫ﺷﺮح دور اﻷواﻣﺮ و اﻟﺪوال ‪:‬‬

‫‪ : Order By‬ﺗﻤﻜﻦ ﻣﻦ ﻓﺮز اﻟﺴﺠﻼت ﺣﺴﺐ ﺣﻘﻞ او ﺣﻘﻮل ﻣﻌﯿﻨﺔ‬


‫‪ : Group By‬ﺗﺠﻤﯿﻊ اﻟﺴﺠﻼت ﺣﺴﺐ ﺣﻘﻞ او ﺣﻘﻮل ﻣﻌﯿﻨﺔ‬
‫‪ : Count‬داﻟﺔ ﺗﺮﺟﻊ ﻋﺪد اﻟﺘﺴﺠﯿﻼت ﻓﻲ ﺟﺪول‬
‫‪ : Sum‬داﻟﺔ ﺗﺮﺟﻊ ﻣﺠﻤﻮع ﻗﯿﻢ ﺣﻘﻞ ﻣﻌﯿﻦ‬

‫‪31‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
SGBD ‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
: ‫اﻟﺘﻤﺮﯾﻦ اﻟﺜﺎﻧﻲ‬

- Creat Table Representation (NRep Smallinteger Not Null , Titre Char (30) Not Null, Lieu Char(20)
Not Null,
NReal Smallinteger Not Null , Premary key (NRep) , Foreign key (NReal) References Realisateur
(NReal))
- Creat table Realisateur (NReal Smallinteger Not Null , Nom Char(15) Not Null , Primary
key(NReal))

- Creat Table Programmer (Date_P Date Not Null , NRep Smallinteger Not Null , Tarif Numeric Not
Null ,
Primary(Date_P , NRep) , Foreign key(NRep) References Representation(NRep))
: (‫_ إظﮭﺎر اﻟﻤﺴﺮﺣﯿﺎت )اﻟﻌﻨﻮان و اﻟﺘﺎرﯾﺦ‬
Select Titre , Date_P
From Representation ; Programmer
Where Representation.NRep = Programmer.Nrep
: 2012/12/31 ‫_ إظﮭﺎر ﻋﺪد اﻟﻤﺴﺮﺣﯿﺎت اﻟﻤﺒﺮﻣﺠﺔ ﻓﻲ‬
Select Count(*)
From Programmer
Where Datye_P = '31/12/2012'
: 'mogar' ‫_ إظﮭﺎر ﻗﺎﺋﻤﺔ اﻟﻤﺴﺮﺣﯿﺎت اﻟﺘﻲ ﺳﺘﻘﺎم ﻓﻲ ﻗﺎﻋﺔ اﻟﻤﻮﻏﺎر‬
Select titre
From Representation
Where Lieu = 'mogar'
: ‫_ إظﮭﺎر ﻗﺎﺋﻤﺔ اﻟﻤﺨﺮﺟﯿﻦ و اﻟﻤﺴﺮﺣﯿﺎت اﻟﺘﻲ أﺧﺮﺟﻮھﺎ‬
Select Titre , Nom
From Representation , Realisateur
Where Representation .NRealis= Realisateur.NRealis
Order By Nom ASC
: ''2012/12/31'' ‫_ إظﮭﺎر ﻋﻨﺎوﯾﻦ اﻟﻤﺴﺮﺣﯿﺎت و اﻷﻣﺎﻛﻦ و اﻷﺳﻌﺎر ﻟﯿﻮم‬
Select Titre , Lieu , Tarif
From Representation, Programmer
Where (Representation.NRep = Programmer.NRep) and (date='31/12/2012')

32
(‫ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ‬:‫اﺧﺘﺼﺎص‬ ‫ اﻹﻋﻼم آﻟﻲ‬: ‫ﺧﺎص ﺑﻄﻠﺒﺔ‬ ‫ اﻟﻌﯿﺸﻲ ھﺸﺎم‬:‫إﻋﺪاد‬
___________________________________________________________
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫اﻟﻤﻮﺿﻮع ‪ :‬ﻣﺴﺘﻮﯾﺎت ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﻤﻌﻄﯿﺎت‬

‫‪ (1‬اﻟﻤﺴﺘﻮى اﻟﺪاﺧﻠﻲ ‪Niveau Interne :‬‬


‫ﯾﺒﯿﻦ ﻓﯿﮫ ﻛﯿﻔﯿﺔ ﺗﺴﺠﯿﻞ اﻟﻤﻌﻄﯿﺎت ﻓﻲ اﻟﺤﺎﻣﻞ ) اﻟﻤﻠﻒ ‪ ،‬اﻟﺘﺴﺠﯿﻠﺔ (‬

‫‪ (2‬اﻟﻤﺴﺘﻮى اﻟﺘﺼﻤﯿﻤﻲ ‪Niveau Conseptuel :‬‬


‫ﯾﺼﻒ ﺑﻄﺮﯾﻘﺔ واﻓﯿﺔ ﻣﯿﺪان اﻟﺘﻄﺒﯿﻖ و ﺑﺸﻜﻞ ﻏﯿﺮ ﻣﻠﻤﻮس )ﻣﺆﺳﺴﺔ ﻣﻘﺎوﻟﺔ ‪ ،‬ﻓﺎﺗﻮرة ‪(......‬‬

‫‪ (3‬اﻟﻤﺴﺘﻮى اﻟﺨﺎرﺟﻲ ‪Niveau Externe :‬‬


‫ﯾﺘﻤﺜﻞ ﻓﻲ اﻟﻄﺮﯾﻘﺔ اﻟﺘﻲ ﺗﺴﻤﺢ ﺑﻤﻌﺎﯾﻨﺔ اﻟﻤﻌﻄﯿﺎت ﻋﻦ طﺮﯾﻖ ﺑﺮﻧﺎﻣﺞ او ﻣﺴﺎﺋﻠﺔ ﺗﻄﻠﻖ ﻋﻠﯿﮭﺎ إﺳﻢ رؤﯾﺎ أو ‪Vue‬‬

‫‪SGBD‬‬

‫‪DISQUE‬‬ ‫‪NIVEAU‬‬
‫‪DURE‬‬ ‫‪INTERNE‬‬

‫‪Niveau‬‬
‫‪SQL‬‬ ‫‪Conceptuel‬‬

‫‪Niveau‬‬
‫‪Vue‬‬ ‫‪Externe‬‬
‫‪SQL‬‬

‫اﻟﻤﺘﺪﺧﻠﻮن ‪:‬‬

‫أ( اﻟﻤﺪﻗﻖ )اﻟﻤﺴﯿﺮ( ‪: Administrateur‬‬

‫و ھﻮ اﻟﻤﺴﺆول ﻋﻦ اﻟﻨﻈﺎم ﻋﻤﻮﻣﺎ ﺣﯿﺚ ﯾﺴﺘﻄﯿﻊ ‪:‬‬


‫‪ -‬ﺗﻌﺮﯾﻒ ﺗﺼﻤﯿﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت‬
‫‪ -‬إﺧﺘﺒﺎر ﺑﻨﻰ اﻟﻤﻌﻄﯿﺎت و اﻟﻮﺻﻮل إﻟﯿﮭﺎ‬
‫‪ -‬ﺗﺴﯿﯿﺮ ﺣﻘﻮق اﻟﻮﺻﻮل‬
‫‪ -‬ﺣﻔﻆ و إﺳﺘﺮﺟﺎع اﻟﻤﻌﻄﯿﺎت‬
‫‪ -‬ﺑﺮﻣﺠﺔ اﻟﺘﻄﺒﯿﻘﺎت‬

‫ب( اﻟﻤﺴﺘﻌﻤﻠﻮن اﻟﻐﯿﺮ ﻣﻌﺘﺎدون ‪:‬‬

‫ﯾﺘﺪﺧﻠﻮن ﺑﺪون إﺳﺘﻌﻤﺎل ﺑﺮاﻣﺞ و ﻟﻜﻦ ﻋﻦ طﺮﯾﻖ ﻣﺴﺎءﻻت‬

‫ج( اﻟﻤﺴﺘﻌﻤﻠﻮن اﻟﻤﻌﺘﺎدون ‪:‬‬

‫ﯾﺴﺘﻌﻤﻠﻮن ﺑﺮاﻣﺞ ﺟﺎھﺰة و ﺗﺎﻣﺔ ﻣﺜﻞ ﺑﺮﻧﺎﻣﺞ ﺣﺴﺎب اﻷﺟﻮر ‪ ،‬ﺑﺮﻧﺎﻣﺞ ﺗﺴﯿﯿﺮ اﻟﻤﺨﺰون ‪ .....‬إﻟﺦ‬

‫‪33‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫اﻟﻨﻤﻮذج ﻓﺮد ﻋﻼﻗﺔ ‪: Entité/Assosiation‬‬
‫إن إدﺧﺎل اﻹﻋﻼﻣﯿﺔ ﻓﻲ ﻣﺆﺳﺴﺔ ﯾﺘﻄﻠﺐ إﺧﺘﯿﺎر ﻧﻤﻮذج أي ﺗﻌﺒﯿﺮ ﺑﻄﺮﯾﻘﺔ رﻣﺰﯾﺔ ﻗﺎﺑﻠﺔ ﻟﻠﺘﻤﺜﯿﻞ داﺧﻞ اﻟﺤﺎﺳﻮب ‪ ،‬إن اﻟﻨﻤﻮذج ‪ E/A‬ﯾﻤﻨﺤﻨﺎ ادات‬
‫رﻣﺰﯾﺔ ﻟﺘﺤﻠﯿﻞ و ﺿﻌﯿﺎت اﻟﻌﺎﻟﻢ اﻟﺤﻘﯿﻘﻲ )اﻟﻤﺆﺳﺴﺔ ‪،‬اﻟﻤﻘﺎوﻟﺔ ‪(......‬‬

‫‪ (1‬اﻟﻔﺮد ‪ :‬ھﻮ ﻛﺎﺋﻦ او ﺷﻲء ﻣﻠﻤﻮس او ﻏﯿﺮ ﻣﻠﻤﻮس ﯾﻤﻜﻨﻨﺎ ﺗﻤﯿﯿﺰه ﻋﻦ ﻏﯿﺮه‬
‫ﻣﺜﺎل ‪ :‬ﺷﺨﺺ ‪ ،‬طﺎﻟﺐ ‪ ،‬ﻣﻮاطﻦ‬
‫و اﻟﻐﯿﺮ ﻣﻠﻤﻮس ‪ :‬رﺑﺢ ‪ ،‬ﻏﯿﺎب‬
‫‪ (2‬اﻟﻔﺮد اﻟﻤﺴﯿﻄﺮ ‪ :‬اذا ﻛﺎن اﻟﻔﺮد ‪ y‬ﻣﺮﺗﺒﻂ ﺑﻮﺟﻮد اﻟﻔﺮد ‪ : x‬ﻧﻘﻮل ان ‪ x‬ﻣﺴﯿﻄﺮ و ‪ y‬ﺗﺎﺑﻊ ﺑﺤﯿﺚ إذا ﺣﺬف ‪ x‬ﻓﺈن ‪ y‬ﯾﺤﺬف اﯾﻀﺎ و اﻟﻌﻜﺲ‬
‫ﻏﯿﺮ ﺻﺤﯿﺢ‬
‫ﻣﺜﺎل ‪:‬‬
‫‪Etudiant‬‬ ‫‪Absence‬‬

‫ﻣﻠﻤﻮس‬ ‫ﻋـــــﻼﻗﺔ‬ ‫ﻏﯿﺮ ﻣﻠﻤــــــﻮس‬


‫ﻓﺮد ﻣﺴﯿﻄﺮ‬ ‫ﻓﺮد ﺗﺎﺑﻊ )ﻏﯿﺮ ﻣﺴﯿﻄﺮ(‬

‫‪ ( 3‬اﻟﻌﻼﻗﺔ ‪:‬‬
‫ﻋﻼﻗﺔ أﻓﺮاد ھﻲ ﺗﺠﻤﯿﻊ اﻷﻓﺮاد ﻟﺘﻌﺒﺮ ﻋﻦ ﺣﻘﯿﻘﺔ ﻣﺎ‬

‫‪Absence‬‬ ‫ﯾﺘﻐﯿﺐ‬ ‫‪Etudiant‬‬ ‫ﻣﺜﺎل ‪ :‬ﯾﻤﻜﻨﻨﺎ اﻟﺘﻌﺒﯿﺮ ﻋﻠﯿﮭﺎ‬

‫أﻧﻮاع اﻟﻌﻼﻗﺎت ‪:‬‬


‫ﺗﻤﺜﻞ ﻋﺪد اﻟﺮواﺑﻂ اﻟﻤﺴﻤﻮﺣﺔ ﺑﯿﻦ اﻷﻓﺮاد و ﺗﻮظﻒ ﻣﻦ أﺟﻞ ﺗﻤﯿﯿﺰ اﻟﻌﻼﻗﺎت ﺑﺪﻻﻟﺔ ﻋﺪد اﻷﻓﺮاد و أﻗﺴﺎم اﻷﻓﺮاد اﻟﺘﻲ ﺗﻮﺿﻊ ﻓﻲ اﻟﻌﻤﻠﯿﺔ‬
‫‪ -‬اﻟﻌﻼﻗﺎت ﻣﻦ ﻧﻮع ‪ N_aires‬ﺗﺮﺑﻂ أﻛﺜﺮ ﻣﻦ ﻓﺮدﯾﻦ‬
‫‪ -‬ﻣﺜﺎل ‪:‬‬
‫‪Annés‬‬ ‫‪-‬‬

‫‪1. N‬‬
‫‪Paye‬‬ ‫‪Employer‬‬
‫‪1. N‬‬ ‫‪Avoir‬‬ ‫‪1. N‬‬

‫اﻟﻌﻼﻗﺎت ﻣﻦ ﻧﻮع ‪: Binaire‬‬


‫ھﻲ ﻋﻼﻗﺎت ﺗﺮﺑﻂ ﻓﺮدﯾﻦ ﻓﻘﻂ‬
‫ﻣﺜﺎل ‪:‬‬

‫‪Client‬‬ ‫‪1.N‬‬ ‫‪1.1‬‬ ‫‪Facture‬‬


‫‪Appartient‬‬

‫و ﺗﻨﻘﺴﻢ إﻟﻰ ‪:‬‬

‫‪ : Type 1.1‬إذا ﻛﺎن ﻓﺮد ﻓﻲ ﻓﻲ ‪ E‬ﯾﻘﺎﺑﻠﮫ ﺑﺎﻟﻌﻼﻗﺔ ‪ A‬ﻋﻠﻰ اﻷﻛﺜﺮ ﻓﺮد آﺧﺮ ‪ F‬و اﻟﻌﻜﺲ ﺻﺤﯿﺢ‬

‫‪34‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫ﻣﺜﺎل ‪:‬‬ ‫‪-‬‬

‫‪1.1‬‬
‫‪F‬‬ ‫‪E‬‬
‫‪A‬‬

‫‪ : Type 1.N‬اذا ﻛﺎن ﻓﺮد ﻣﻦ ‪ E‬ﯾﻘﺎﺑﻠﮫ ﻋﻦ طﺮﯾﻖ اﻟﻌﻼﻗﺔ ‪ A‬ﻋﺪة أﻓﺮاد ﻣﻦ ‪ F‬و ﻟﻜﻞ ﻓﺮد ﻣﻦ ‪ F‬ﻻ ﯾﻘﺎﺑﻠﮫ أﻛﺜﺮ ﻣﻦ ﻓﺮد ﻣﻦ ‪E‬‬

‫ﻣﺜﺎل ‪:‬‬ ‫‪-‬‬

‫‪F‬‬ ‫‪1.N‬‬ ‫‪E‬‬ ‫‪1.N‬‬


‫‪Facture‬‬ ‫‪Client‬‬
‫‪A‬‬ ‫‪Appartient‬‬

‫‪ : Type 1.M‬اذا ﻛﺎن ﻓﺮد ﻣﻦ ‪ E‬ﯾﻘﺎﺑﻠﮫ ﻋﻦ طﺮﯾﻖ اﻟﻌﻼﻗﺔ ‪ A‬أﻛﺜﺮ ﻣﻦ ﻓﺮد ﻓﻲ ‪ F‬و اﻟﻌﻜﺲ ﺻﺤﯿﺢ‬

‫‪N.M‬‬
‫‪F‬‬ ‫‪N.M‬‬ ‫‪E‬‬ ‫‪Produit‬‬ ‫‪Facture‬‬
‫‪Contient‬‬
‫‪A‬‬
‫‪QTE‬‬

‫اﻷﻋﺪاد اﻷﺻﻠﯿﺔ ‪: Les Cardinalités‬‬


‫ھﻲ ﺑﯿﺎن ظﮭﻮر اﻟﻘﯿﻤﺔ اﻟﻘﺴﻮى و اﻟﻘﯿﻤﺔ اﻟﺪﻧﯿﺎ ﻟﻠﻔﺮد ‪ E‬ﻋﻦ طﺮﯾﻖ اﻟﻌﺒﻠﻘﺔ ‪ A‬ﻓﻲ اﻟﻔﺮد ‪F‬‬

‫‪N.M‬‬
‫‪Produit‬‬ ‫‪Contient‬‬ ‫‪Facture‬‬
‫‪1.N‬‬ ‫‪1.M‬‬
‫‪QTE‬‬

‫‪N.M‬‬
‫‪Absence‬‬ ‫‪Etudiant‬‬
‫)‪(0.N‬‬ ‫ﯾﻐﯿﺐ‬ ‫)‪(0.M‬‬

‫ﻣﺨﻄﻂ ‪: Entite/Association E/A‬‬


‫ھﺬا اﻟﻤﺨﻄﻂ ﯾﺼﻒ اﻟﺒﻨﯿﺔ اﻹﺟﻤﺎﻟﯿﺔ ﻟﻘﺎﻋﺪة اﻟﻤﻌﻄﯿﺎت ﺑﺈﺳﺘﻌﻤﺎل اﻷﺷﻜﺎل اﻟﮭﻨﺪﺳﯿﺔ اﻟﺘﺎﻟﯿﺔ‬

‫‪35‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫اﺳﻢ اﻟﻔﺮد‬
‫ــــــــــــــــــــــ‬
‫إﺳﻢ اﻟﻌﻼﻗﺔ‬ ‫اﻟﻤﻔﺘﺎح‬
‫‪ :‬ﺗﻤﺜﻞ اﻟﻌﻼﻗﺔ ﺑﯿﻦ اﻷﻓﺮاد‬ ‫اﻟﺨﺼﺎﺋﺺ‬ ‫‪ :‬ﺗﻤﺜﻞ اﻟﻔﺮد‬ ‫ــــــــــــــــ‬
‫اﻟﺨﺼﺎﺋﺺ‪:‬‬
‫ـــــــــ‬

‫‪ :‬اﻟﺮﺑﻂ ﺑﯿﻦ اﻟﻔﺮد و اﻟﻌﻼﻗﺔ‬ ‫أو‬

‫ﻣﺜﺎل ‪:‬‬

‫ﻓﺮد‬
‫‪Etudiant‬‬ ‫‪Module‬‬
‫‪1.N‬‬ ‫‪Inscrit‬‬ ‫‪0.N‬‬
‫‪NEtu‬‬ ‫‪NModule‬‬
‫‪Nom‬‬ ‫‪LibModul‬‬
‫‪Prénom‬‬

‫)‪(1.1‬‬ ‫أﻋﺪاد أﺻﻠﯿﺔ‬

‫‪Enseignent‬‬
‫ﻋﻼﻗﺔ‬
‫‪Code_Ens‬‬
‫‪0.N‬‬ ‫‪Responsable‬‬
‫‪Nom‬‬
‫‪Prénom‬‬

‫اﻟﻘﻮاﻋﺪ اﻟﺘﻲ ﯾﺠﺐ ان ﺗﺤﺘﺮم ﻣﻦ أﺟﻞ ﺗﻨﺎﺳﻖ اﻟﻨﻤﻮذج ‪: E/A‬‬


‫ﻛﻞ ﻓﺮد ﯾﻤﺘﻠﻚ ﻣﻌﺮف )اﻟﻤﻔﺘﺎح(‬ ‫‪-‬‬
‫اﻟﺼﻔﺎت ﻛﻠﮭﺎ ﺑﺴﯿﻄﺔ ﻻ ﺗﺘﺠﺰأ‬ ‫‪-‬‬
‫اﻟﺼﻔﺎت ﺗﺘﺒﻊ ﻣﺒﺎﺷﺮة اﻟﻤﻌﺮف )اﻟﻤﻔﺘﺎح(‬ ‫‪-‬‬
‫ﻛﻞ ﺻﻔﺔ ﻣﻦ ﺻﻔﺎت اﻟﻌﻼﻗﺔ ﺗﺘﺒﻊ ﻛﻠﯿﺎ و ﻣﺒﺎﺷﺮة اﻟﻤﻌﺮف و ﻟﯿﺲ ﺟﺰء ﻣﻨﮫ‬ ‫‪-‬‬
‫ﻟﺤﺎﻟﺔ واﺣﺪة ﻣﻦ ن ﻣﻀﺎﻋﻒ ﻣﻦ اﻟﻌﻼﻗﺔ ﻻ ﯾﻮﺟﺪ ﻋﻠﻰ اﻻﻛﺜﺮ ﻗﯿﻤﺔ واﺣﺪة ﻟﻜﻞ ﺻﻔﺔ‬ ‫‪-‬‬
‫اﻟﻨﻤﻮذج اﻟﻌﻼﺋﻘﻲ ‪:‬‬

‫أ( ﺗﻤﺜﯿﻞ اﻟﻌﻼﻗﺔ ‪ :‬ﻛﻞ ن ﻣﻀﺎﻋﻒ ﻣﻦ اﻟﻌﻼﻗﺔ ﯾﻜﺘﺐ ﻓﻲ ﺳﻄﻮر ﻣﻦ ﺟﺪول ﻣﻜﻮن ﻣﻦ أﻋﻤﺪة اﻟﺘﻲ ﺗﻤﺜﻞ اﻟﺼﻔﺎت ‪ ،‬و ﻛﻞ‬
‫ن ﻣﻀﺎﻋﻒ ھﻮ وﺣﯿﺪ و ﻻ ﯾﻘﺒﻞ اﻟﺘﻜﺮار‬
‫‪ -‬ﺗﺼﻤﯿﻢ اﻟﻌﻼﻗﺔ ‪ R‬ھﻮ ﻗﺎﺋﻤﺔ اﻟﺼﻔﺎت و ﺗﻜﺘﺐ ﻛﻤﺎ ﯾﻠﻲ ‪ ،.....) :‬ﺻﻔﺔ ‪ ، 2‬ﺻﻔﺔ‪ ، 1‬اﻟﻤﻔﺘﺎح ( ‪R‬‬
‫‪ -‬ﻣﻔﺘﺎح اﻟﻌﻼﻗﺔ ھﻮ اﻟﺼﻔﺔ او اﻟﺼﻔﺎت اﻟﺘﻲ ﺗﻤﯿﺰ ن ﻣﻀﺎﻋﻒ )اﻟﺘﺴﺠﯿﻠﺔ( ﻋﻦ ﻏﯿﺮه‬

‫ب( ﺗﺼﻤﯿﻢ ﻗﺎﻋﺪة اﻟﺒﯿﺎﻧﺎت اﻟﻌﻼﺋﻘﯿﺔ ‪ :‬ﺗﺼﻤﯿﻤﮭﺎ ھﻮ ﻣﺠﻤﻮع اﻟﺼﻔﺎت‬


‫‪36‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫ﻣﺜﺎل ‪:‬‬

‫‪R‬‬ ‫اﻟﻤﻔﺘﺎح‬ ‫ﺻﻔﺔ‪1‬‬ ‫ﺻﻔﺔ‪2‬‬

‫ت( ﻗﻮاﻋﺪ اﻹﻧﺘﻘﺎل ﻣﻦ اﻟﻨﻤﻮذج ‪ E/A‬اﻟﻰ اﻟﻨﻤﻮذج اﻟﻌﻼﺋﻘﻲ ‪: (Modèle Logique des Données) MLD‬‬

‫ﺑﻌﺪ إﻧﺸﺎء اﻟﻨﻤﻮذج ‪ E/A‬ﯾﻨﺒﻐﻲ ﺗﺠﺴﯿﺪ اﻟﺘﺨﻄﯿﻂ اﻟﻤﺘﺤﺼﻞ ﻋﻠﯿﮫ ﻓﻲ ﺟﮭﺎز اﻟﺤﺎﺳﻮب ‪ ، SGBDR‬ﺳﻨﺤﺎول ﺗﻐﯿﯿﺮ‬
‫اﻟﺘﺨﻄﯿﻂ ‪ E/A‬اﻟﻰ ﺷﻜﻞ ﻋﻼﻗﺎت‬
‫اﻟﻤﺒﺎدئ اﻟﻌﺎﻣﺔ ‪:‬‬
‫ﺗﺮﺟﻤﺔ ﻗﺴﻢ اﻷﻓﺮاد ‪ :‬ﻛﻞ ﻗﺴﻢ أﻓﺮاد ﯾﺘﺮﺟﻢ اﻟﻰ ﺟﺪول ﻋﻼﺋﻘﻲ ﺑﺤﯿﺚ ﺗﺘﻜﻮن ﻣﻦ ﺻﻔﺎﺗﮫ ‪ ،‬ﺗﻌﺮف اﻟﺼﻔﺔ اﻟﺘﻲ‬ ‫‪-‬‬
‫ﺗﺸﻜﻞ اﻟﻤﻔﺘﺎح ﻟـ ن ﻣﻀﺎﻋﻒ ﺛﻢ ﺑﺎﻗﻲ ﺻﻔﺎت اﻟﻔﺮد‬
‫ﻣﺜﺎل ‪:‬‬
‫)‪Etudiant (NEtu , Nom , Prénom‬‬
‫)‪Module (NModul , LibModule‬‬
‫)‪Enseignent (CodeEns , Nom , Prénom‬‬
‫ﺗﺮﺟﻤﺔ ﻗﺴﻢ اﻟﻌﻼﻗﺎت ‪:‬‬ ‫‪-‬‬
‫_ ﺗﺮﺟﻤﺔ اﻟﻌﻼﻗﺔ ‪ : 1.N‬ھﺬه اﻟﻌﻼﻗﺔ ﺗﺘﺮﺟﻢ ﺑﺼﻔﺔ ﻓﻲ اﻟﺠﺪول اﻟﻌﻼﺋﻘﻲ ﺑﺤﯿﺚ ﺗﻀﺎف اﻟﻰ اﻟﻔﺮد‬
‫اﻟﺬي ﯾﺤﻤﻞ اﻟﺘﻌﺪادﯾﺔ ‪ ، 1‬ھﺬه اﻟﺼﻔﺔ ﺗﻤﺜﻞ ﻣﻌﺮف اﻟﻔﺮد اﻟﺬي ﯾﺤﻤﻞ اﻟﺘﻌﺪادﯾﺔ ‪N‬‬

‫)‪Module (NModul , LibModule , CodeEns #‬‬

‫_ ﺗﺮﺟﻤﺔ اﻟﻌﻼﻗﺔ ‪ : N.M‬ﻛﻞ ﻋﻼﻗﺔ ‪ N.M‬ﺗﺘﺮﺟﻢ اﻟﻰ ﺟﺪول ﻋﻼﺋﻘﻲ ﺣﯿﺚ ﻣﻔﺘﺎﺣﮫ ھﻮ ﻣﺠﻤﻮع‬
‫ﻣﻌﺮف اﻹﻧﻄﻼق و ﻣﻌﺮف ﻓﺮد اﻟﻮﺻﻮل و ﺻﻔﺎﺗﮫ ھﻲ ﺻﻔﺎت اﻟﻌﻼﻗﺔ إن وﺟﺪت‬

‫)‪Inscrit(NEtud , NModule‬‬

‫ﺗﺮﺟﻤﺔ اﻟﺮواﺑﻂ )‪ : (1.1‬ﺗﻨﻘﺴﻢ ﺣﺴﺐ اﻷﻋﺪاد اﻷﺻﻠﯿﺔ إﻟﻰ ﻗﺴﻤﯿﻦ ‪:‬‬ ‫‪-‬‬

‫‪ (1‬اﻷﻋﺪاد اﻷﺻﻠﯿﺔ )‪ (1.1‬ـــ )‪: (0.1‬‬

‫ﻣﻔﺘﺎح اﻟﻔﺮد )‪ (0.1‬ﯾﺼﺒﺢ ﺻﻔﺔ ﻓﻲ اﻟﻔﺮد )‪(1.1‬‬

‫ﻣﺜﺎل ‪:‬‬
‫‪1=1‬‬
‫‪Etudiant‬‬ ‫‪0.1‬‬ ‫‪1.1‬‬ ‫‪Certificat‬‬

‫ﻣﻔﺘﺎح رﺋﯿﺴﻲ‬ ‫‪NCertificat‬‬


‫‪NEtu‬‬
‫اﺻﺒﺢ ﻣﻔﺘﺎح ﺧﺎرﺟﻲ‬ ‫‪NEtu‬‬

‫‪ (2‬اﻷﻋﺪاد اﻷﺻﻠﯿﺔ )‪ (1.1‬ـــ )‪: (1.1‬‬


‫‪(3‬‬
‫ﯾﺄﺧﺬ ﺻﻔﺔ ﺟﺪﯾﺪة و ھﻲ ﻣﻔﺘﺎح اﻟﻔﺮد اﻵﺧﺮ‬

‫‪37‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
SGBD ‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت‬
: E/A ‫ ﺣﻮل اﻟﻰ اﻟﻨﻤﻮذج اﻟﻌﻼﺋﻘﻲ اﻟﻨﻤﻮذج‬: ‫ﺗﻄﺒﯿﻖ‬

Produit Facture
1.N Détail 1.N
NPro NFact
Désignation OP DateFact
PrixDachat
PrixVente
1.1

Appartient

(MLD) ‫اﻟﻨﻤﻮذج اﻟﻌﻼﺋﻘﻲ‬ 1.N


Produit (Npro, Désignation, PrixDachat, PrixVente)
Facture (NFact, DateFacte, NCli #) Client
Client (NCli, Nom , Adresse, RC) NCli
Detail (NPro, NFact) Nom
Adresse
RC

: Dépendance Fonctionnel ‫اﻟﺘﺒﻌﯿﺔ اﻟﻮظﯿﻔﯿﺔ‬


: ‫اﻟﻤﺸﺎﻛﻞ اﻟﻨﺎﺟﻤﺔ ﻋﻦ ﺳﻮء اﻹﺧﺘﯿﺎرات‬ (‫أ‬

Facture
Fcture N° 01
NFact ‫ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬
NomCli Date Fact 03/02/2013
RC Client Naiel
Num Adresse Bou saada
Désignation RC 28A12345
Qte_V
Prix_V Num Déiignation Qte_V Prix Total
Total 1 Café 200 100 200.00
Date 2 Sucre 100 300 300.00
3 Huile 50 600 300.00
TOTAL 800.00

38
(‫ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ‬:‫اﺧﺘﺼﺎص‬ ‫ اﻹﻋﻼم آﻟﻲ‬: ‫ﺧﺎص ﺑﻄﻠﺒﺔ‬ ‫ اﻟﻌﯿﺸﻲ ھﺸﺎم‬:‫إﻋﺪاد‬
___________________________________________________________
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫ﺗﻜــــﺮار‬

‫‪Facture‬‬ ‫‪Date‬‬ ‫‪NFact‬‬ ‫‪NomCli‬‬ ‫‪Adresse‬‬ ‫‪RC‬‬ ‫‪Num‬‬ ‫‪Désignation‬‬ ‫‪QteV‬‬ ‫‪PrixV‬‬
‫‪03/02/2013‬‬ ‫‪1‬‬ ‫‪Naiel‬‬ ‫‪Bousaada‬‬ ‫‪Ma‬‬ ‫‪1‬‬ ‫‪Café‬‬ ‫‪200‬‬ ‫‪100‬‬
‫‪03/02/2013‬‬ ‫‪1‬‬ ‫‪Naiel‬‬ ‫‪Bousaada‬‬ ‫‪Ma‬‬ ‫‪2‬‬ ‫‪Sucre‬‬ ‫‪100‬‬ ‫‪300‬‬
‫‪03/02/2013‬‬ ‫‪1‬‬ ‫‪Naiel‬‬ ‫‪Bousaada‬‬ ‫‪Ma‬‬ ‫‪3‬‬ ‫‪Huile‬‬ ‫‪50‬‬ ‫‪600‬‬

‫ﻓﻲ ﺣﺎﻟﺔ ﺗﻌﺪﯾﻞ اﻟﻌﻨﻮان ﻟﻠﺰﺑﻮن ‪ :‬إﻣﻜﺎﻧﯿﺔ ﺣﺪوث أﺧﻄﺎء‬ ‫‪(1‬‬


‫ﺗﻜﺮار اﻟﻌﻨﻮان و اﺳﻢ اﻟﺰﺑﻮن و رﻗﻢ اﻟﺘﺴﺠﯿﻞ و اﻟﺘﺎرﯾﺦ ﻏﯿﺮ ﻣﻔﯿﺪ ﺣﯿﺚ ﯾﻈﮭﺮ ﻓﻲ ﻛﻞ ﺳﻠﻌﺔ‬ ‫‪(2‬‬
‫ﺧﻠﻞ ﻓﻲ اﻟﻤﻌﺎﻟﺠﺔ أﺛﻨﺎء اﻟﺘﺠﺪﯾﺪ‬ ‫‪(3‬‬
‫اذا ﻗﻤﻨﺎ ﺑﺘﻐﯿﯿﺮ اﻟﻌﻨﻮان ﻟﻠﺰﺑﻮن ﻓﺈﻧﮫ ﯾﻘﻊ اﻟﺘﻨﺎﻗﺾ ﻓﻲ اﻟﻌﻨﺎوﯾﻦ ﻟﻨﻔﺲ اﻟﺰﺑﻮن‬ ‫‪(4‬‬

‫ﺗﻌﺮﯾﻒ اﻟﺘﺒﻌﯿﺔ اﻟﻮظﯿﻔﯿﺔ ‪:‬‬


‫إذا ﻛﺎﻧﺖ ﻗﯿﻤﺔ ‪A‬‬ ‫‪A‬‬ ‫‪df‬‬ ‫‪B‬‬ ‫ﻧﻘﻮل أن اﻟﺼﻔﺘﯿﻦ ‪ A‬و ‪ B‬ﻣﺮﺗﺒﻄﺘﯿﻦ ﺑﺘﺒﻌﯿﺔ وظﯿﻔﯿﺔ‬
‫ﺗﻤﻜﻨﻨﺎ ﻣﻦ اﻟﺘﻌﺮف ﻋﻠﻰ ﻗﯿﻤﺔ وﺣﯿﺪة ﻟـ ‪B‬‬

‫‪A‬‬ ‫‪df‬‬ ‫‪B‬‬

‫‪NFact‬‬ ‫‪df‬‬ ‫‪Nom_Cli‬‬

‫‪NFact‬‬ ‫‪df‬‬ ‫‪Désignation‬‬ ‫ﺧﻄﺄ ‪ :‬اﻟﻔﺎﺗﻮرة ﺗﻤﻠﻚ أﻛﺜﺮ ﻣﻦ ﺳﻠﻌﺔ ﺑﺤﯿﺚ ﻻ ﺗﺤﻘﻖ اﻟﺸﺮط‬

‫‪Facture‬‬ ‫‪Produit‬‬
‫‪ NFact‬‬ ‫‪Nom‬‬
‫‪ Nom_Cli‬‬ ‫‪Désignation‬‬
‫‪ Adresse_Cli‬‬ ‫‪Qte_V‬‬
‫‪ RC‬‬ ‫‪Prix_V‬‬
‫‪ Num‬‬
‫‪ Désignation‬‬
‫‪ Qte_V‬‬
‫‪ Prix_V‬‬
‫‪ Date‬‬

‫‪( Graph de Dépendance Fonctionnel‬‬ ‫اﻟﺮﺳﻢ اﻟﺒﯿﺎﻧﻲ ﻟﻠﺘﺒﯿﻌﺔ اﻟﻮظﯿﻔﯿﺔ )‪) : (SAT‬‬
‫ﻟﺘﻜﻦ ﻣﺠﻤﻮﻋﺔ اﻟﺘﺒﻌﯿﺎت اﻟﺘﺎﻟﯿﺔ ‪:‬‬

‫‪A‬‬ ‫‪df‬‬ ‫‪B‬‬


‫‪A‬‬ ‫‪B‬‬
‫‪A ,D‬‬ ‫‪df‬‬ ‫‪C‬‬

‫‪B‬‬ ‫‪df‬‬ ‫‪C‬‬ ‫‪C‬‬


‫‪D‬‬
‫‪A‬‬ ‫‪df‬‬ ‫‪C‬‬

‫‪39‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬

‫‪Num_Cli‬‬ ‫‪NPro‬‬ ‫‪Fact‬‬

‫‪Qte‬‬

‫‪Date_Fact‬‬
‫‪Nom‬‬ ‫‪Adresse‬‬ ‫‪RC‬‬ ‫‪Prix‬‬ ‫‪Désignation‬‬
‫اﻷﺷﻜﺎل اﻟﻨﻤﻄﯿﺔ ‪:‬‬
‫‪: 1FN‬‬ ‫‪(1er‬‬ ‫‪ (1‬اﻟﺸﻜﻞ اﻟﻨﻤﻄﻲ اﻷول )‪Forme Normale‬‬

‫ﻧﻘﻮل ﻋﻦ ﻋﻼﻗﺔ ھﻲ ﻣﻦ اﻟﺸﻜﻞ اﻟﻨﻤﻄﻲ اﻷول إذا ﻛﺎﻧﺖ ﺻﻔﺎﺗﮭﺎ ﻋﻨﺼﺮﯾﺔ و ﺗﻤﻠﻚ ﻣﻌﺮّ ف‬

‫ﻣﺜﺎل ‪:‬‬
‫) ‪Fournisseur ( Nf , Npro , Adr , Tel , Prix_U‬‬

‫‪Nro‬‬ ‫‪Prix_U‬‬
‫‪NF‬‬ ‫‪Adr‬‬
‫‪Tel‬‬

‫ھﺬه اﻟﻌﻼﻗﺔ ذات اﻟﺸﻜﻞ اﻟﻨﻤﻄﻲ اﻷول ﺗﻄﺮح ﻋﺪة ﻣﺸﺎﻛﻞ ‪:‬‬
‫‪ -‬اﻟﺘﻜﺮار ‪ :‬إذا ﻛﺎن ﻟﻠﻤﻮن ‪ 100 Fournisseur‬ﻣﺎدة ﻓﺈن اﻟﮭﺎﺗﻒ ﯾﺘﻜﺮر ‪ 100‬ﻣﺮة‬
‫‪ -‬إﻋﺎدة ﻛﺘﺎﺑﺔ اﻟﻌﻨﻮان و اﻟﮭﺎﺗﻒ ﻓﻲ ﻛﻞ ﻣﺎدة ﺟﺪﯾﺪة‬
‫‪ -‬إذا ﻗﻤﻨﺎ ﺑﻤﺤﻮ ﻗﺎﺋﻤﺔ ﺳﻠﻊ ﻣﻤﻜﻮن ﻓﺈن ﻣﻌﻠﻮﻣﺎﺗﮫ ﺗﻤﺤﻰ ﺗﻠﻘﺎﺋﯿﺎ‬
‫‪ -‬إذا ﻗﻤﻨﺎ ﺑﺘﻐﯿﯿﺮ اﻟﻌﻨﻮان ﻓﯿﻨﺒﻐﻲ ﺗﻐﯿﯿﺮه ﻓﻲ ﺟﻤﯿﻊ ن ﻣﻀﺎﻋﻒ ﻟﻠﻤﻤﻮن ﻧﻔﺴﮫ‬
‫} ھﺬه اﻟﻤﺸﺎﻛﻞ ﻧﺎﺟﻤﺔ ﻋﻦ ﻛﻮن اﻟﻌﻼﻗﺔ )‪ (Fournisseur‬ﻟﯿﺴﺖ ﻣﻦ اﻟﺸﻜﻞ اﻟﻨﻤﻄﻲ اﻟﺜﺎﻧﻲ {‬

‫‪ (2‬اﻟﺸﻜﻞ اﻟﻨﻤﻄﻲ اﻟﺜﺎﻧﻲ )‪: 2FN (2em Forme Normale‬‬

‫ﻧﻘﻮل ﻋﻦ ﻋﻼﻗﺔ ھﻲ ﻣﻦ اﻟﺸﻜﻞ اﻟﻨﻤﻄﻲ اﻟﺜﺎﻧﻲ إذا ﻛﺎﻧﺖ ﻣﻦ اﻟﺸﻜﻞ اﻟﻨﻤﻄﻲ اﻷول و ﻛﻞ ﺻﻔﺔ ﻣﺎ ﻋﺪا اﻟﻤﻌﺮف‬
‫ﺗﺘﺒﻊ اﻟﻤﻌﺮف ﺑﺎﻟﻜﺎﻣﻞ أو ﺑﺼﯿﻐﺔ أﺧﺮى ﻧﺘﺠﻨﺐ اﻟﺘﺒﻌﯿﺔ اﻟﺘﺎﻟﯿﺔ‬

‫) ‪R ( A,B , C , D‬‬

‫‪A‬‬ ‫‪C‬‬

‫‪D‬‬
‫‪B‬‬

‫)‪Fournisseur (NF , NPro , Adresse , Tel , Prix_U‬‬

‫ﻻ ﺗﺤﻘﻖ اﻟﺸﻜﻞ اﻟﻨﻤﻄﻲ اﻟﺜﺎﻧﻲ )‪(2FN‬‬

‫)‪Fournisseur (Nf, Adresse , Tel‬‬


‫ھﺬه ﺗﺤﻘﻖ ‪2FN‬‬
‫) ‪Produit (NPro , Prix_U‬‬

‫ﻧﻘﻮم ﺑﺘﻘﺴﯿﻢ اﻟﻌﻼﻗﺔ ‪ R‬ﺑﺤﯿﺚ ﻟﻜﻞ ﻣﺼﺪر ﺗﺒﻌﯿﺔ وظﯿﻔﯿﺔ ﺗﻨﺸﺄ ﻋﻼﻗﺔ ﺟﺪﯾﺪة اﻟﻤﻜﻮﻧﺔ ﻣﻦ اﻟﻤﺼﺪر و اﻟﺼﻔﺎة اﻟﺘﺎﺑﻌﺔ ﻟﮫ‬

‫‪40‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬
‫ﻧﻈﺎم ﺗﺴﯿﯿﺮ ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت ‪SGBD‬‬
‫‪ (3‬اﻟﺸﻜﻞ اﻟﻨﻤﻄﻲ اﻟﺜﺎﻟﺚ )‪: 3FN (3em Forme Normale‬‬

‫ﻟﺘﻜﻦ اﻟﻌﻼﻗﺔ اﻟﺘﺎﻟﯿﺔ ﻣﻦ اﻟﺸﻜﻞ اﻟﻨﻤﻄﻲ اﻟﺜﺎﻧﻲ ‪:‬‬

‫) ‪Fournisseur (Nf , Ville , Pays‬‬

‫‪Nf‬‬ ‫‪Ville‬‬
‫‪Pays‬‬ ‫ﻻ ﺗﺤﻘﻖ ‪3FN‬‬

‫ﻧﻘﻮل أن اﻟﻌﻼﻗﺔ ھﻲ ﻣﻦ اﻟﺸﻜﻞ اﻟﻨﻤﻄﻲ اﻟﺜﺎﻟﺚ ‪ 3FN‬إذا ﻛﺎﻧﺖ ﻣﻦ اﻟﺸﻜﻞ اﻟﻨﻤﻄﻲ اﻟﺜﺎﻧﻲ و ﻛﻞ ﺻﻔﺔ ﺗﺘﺒﻊ ﺑﺸﻜﻞ أوﺣﺪ اﻟﻤﻌﺮّ ف‬

‫ﻣﺜﺎل ‪:‬‬
‫) ‪Fournisseur (Nf , Ville‬‬
‫)‪Géographie (Ville , Pays‬‬

‫‪41‬‬
‫اﺧﺘﺼﺎص‪ :‬ﻗﻮاﻋﺪ اﻟﺒﯿﺎﻧﺎت )ﺑﺮﻣﺠﺔ(‬ ‫ﺧﺎص ﺑﻄﻠﺒﺔ ‪ :‬اﻹﻋﻼم آﻟﻲ‬ ‫إﻋﺪاد‪ :‬اﻟﻌﯿﺸﻲ ھﺸﺎم‬
‫___________________________________________________________‬

You might also like