🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Database_230718_193733.pdf

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

‫"ﺍﶈﺎﺿﺮﺓ ﺍﻷﻭﱃ"‬ ‫ﺍﻟﻤﺤﺘﻮﻯ‪:‬‬ ‫ ﺍﻟﺘﻌﺮﻳﻒ ﺑﻘﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺃﻫﻤﻴﺘﻬﺎ ﻭﺧﺼﺎﺋﺼﻬﺎ ﻭﻣﻴﺰﺍﺗﻬﺎ‬ ‫ ﺃﻧﻈﻤﺔ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﺍﻟﻘﺪﻳﻤﺔ)ﺃﻧﻮﺍﻋﻬﺎ ‪ ،‬ﻋﻴﻮﺑﻬﺎ‪ ،‬ﻣﺸﺎﻛﻠﻬﺎ(‬ ‫...

‫"ﺍﶈﺎﺿﺮﺓ ﺍﻷﻭﱃ"‬ ‫ﺍﻟﻤﺤﺘﻮﻯ‪:‬‬ ‫ ﺍﻟﺘﻌﺮﻳﻒ ﺑﻘﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺃﻫﻤﻴﺘﻬﺎ ﻭﺧﺼﺎﺋﺼﻬﺎ ﻭﻣﻴﺰﺍﺗﻬﺎ‬ ‫ ﺃﻧﻈﻤﺔ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﺍﻟﻘﺪﻳﻤﺔ)ﺃﻧﻮﺍﻋﻬﺎ ‪ ،‬ﻋﻴﻮﺑﻬﺎ‪ ،‬ﻣﺸﺎﻛﻠﻬﺎ(‬ ‫ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ)‪ (DB systems‬ﻭﺍﻟﻔﺮﻕ ﺑﻴﻨﻬﺎ ﻭﺑﻴﻦ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﻘﺪﻳﻤﺔ‬ ‫ ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪(Database Management System DBMS‬‬ ‫‪ 1.1‬ﻣﻘﺪﻣﺔ ﻓﻲ ﺃﻧﻈﻤﺔ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﺃﺻﺒﺤﺖ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭ ﺗﻄﺒﻴﻘﺎﺗﻬﺎ ﻋﻨﺼﺮﺍ ﺟﻮﻫﺮﻳﺎً ﻓﻲ ﺗﺴﻴﻴﺮ ﺃﻣﻮﺭ ﺍﻟﺤﻴﺎﺓ ﺍﻟﻴﻮﻣﻴﺔ ﻓﻲ ﺍﻟﻤﺠﺘﻤﻊ‬ ‫ ‬ ‫ﺍﻟﻤﻌﺎﺻﺮ ‪ ،‬ﺣﻴﺚ ﺃﻥ ﺟﻤﻴﻊ ﺍﻷﻧﺸﻄﺔ ﺍﻟﺘﻲ ﻳﻤﺎﺭﺳﻬﺎ ﺃﻓﺮﺍﺩ ﺍﻟﻤﺠﺘﻤﻊ ﻣﻦ ﺗﺴﺠﻴﻞ ﻣﻮﺍﻟﻴﺪ ﻭﻭﻓﻴﺎﺕ ﻭ ﻧﺘﺎﺋﺞ‬ ‫ﺩﺭﺍﺳﻴﺔ ﻭ ﻭﺛﺎﺋﻖ ﺍﻟﺴﻔﺮ ﻭ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﺒﻨﻜﻴﺔ ﻭ ﻏﻴﺮﻫﺎ ﺍﻟﻜﺜﻴﺮ ﻳﺠﺐ ﻓﻴﻬﺎ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﺣﺪ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻛﺎﻓﺔ ﺍﻷﻧﺸﻄﺔ ﺍﻟﺴﺎﺑﻘﺔ ﺗﺪﺧﻞ ﻓﻲ ﻧﻄﺎﻕ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﻟﻘﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬‬ ‫ ‬ ‫ﺗﻮﺟﺪ ﺣﺎﻟﻴﺎً ﺗﻄﺒﻴﻘﺎﺕ ﻣﺘﻘﺪﻣﺔ ﻟﻘﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﺜﻞ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺬﻛﺎء ﺍﻻﺻﻄﻨﺎﻋﻲ ﻭ ﺍﻟﺘﺠﺎﺭﺓ ﺍﻻﻟﻜﺘﺮﻭﻧﻴﺔ‬ ‫ ‬ ‫‪ -‬ﺕﻋﺮﻳﻒ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪:‬‬ ‫ﻳﻌﺮﻑ ﻣﺼﻄﻠﺢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﺄﻧﺔ ﻋﺒﺎﺭﺓ ‪ :‬ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻷﺩﻭﺍﺕ)ﺟﺪﺍﻭﻝ ‪ ،‬ﺍﺳﺘﻌﻼﻣﺎﺕ‪ ،‬ﻋﻼﻗﺎﺕ‪(......‬‬ ‫ﺍﻟﺘﻲ ﺗﻜﻮﻥ ﺍﻟﺒﻴﺌﺔ ﺍﻟﻤﻨﺎﺳﺒﺔ ﻟﺘﺨﺰﻳﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﻄﺮﻳﻘﺔ ﻧﻤﻮﺫﺟﻴﺔ ﻳﺘﻢ ﻓﻴﻬﺎ ﺗﺤﺎﺷﻲ ﺍﻟﺘﻜﺮﺍﺭ ﻋﻦ ﻃﺮﻳﻖ ﺗﺮﺍﺑﻂ‬ ‫ﺍﻟﺠﺪﺍﻭﻝ ﺑﻌﻼﻗﺎﺕ ﻣﺤﺪﺩﺓ ﺣﺴﺐ ﺍﻟﺤﺎﺟﺔ ‪.‬‬ ‫ﻭ ﺗﺘﻤﻴﺰ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺨﺰﻧﺔ ﺩﺍﺧﻞ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﺎﺳﺘﻘﻼﻝ ﻧﺴﺒﻲ ﻋﻦ ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﻤﺴﺌﻮﻟﺔ ﻋﻦ ﺍﻟﻤﻌﺎﻟﺠﺔ ﺍﻟﺨﺎﺻﺔ‬ ‫ﺑﻬﺎ ‪ ،‬ﻭﺗﺸﻜﻞ ﺍﻻﺳﺘﻘﻼﻟﻴﺔ ﻋﻦ ﺍﻟﺒﺮﺍﻣﺞ ﻧﻘﻄﺔ ﻫﺎﻣﺔ ﻳﺴﺘﻔﺎﺩ ﻣﻨﻬﺎ ﻋﻨﺪ ﺗﻄﻮﻳﺮ ﺍﻷﻧﻈﻤﺔ ‪ ،‬ﻭﺇﻋﺎﺩﺓ ﺍﻟﻬﻴﻜﻠﺔ ﻋﻨﺪ‬ ‫ﺍﻟﺤﺎﺟﺔ ﺇﻟﻰ ﻣﺘﻄﻠﺒﺎﺕ ﺟﺪﻳﺪﺓ ﺃﻭﺑﻨﺎء ﻧﻈﺎﻡ ﺟﺪﻳﺪ ‪.‬‬ ‫ﺃﻫﻤﻴﺔ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‪:‬‬ ‫‪-‬‬ ‫ﺗﻌﺘﺒﺮ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺫﺍﺕ ﺃﻫﻤﻴﺔ ﻛﺒﻴﺮﺓ ﻟﺘﻘﺪﻡ ﺃﻱ ﻣﺠﺘﻤﻊ ﺧﺼﻮﺻﺎ ﻭﻧﺤﻦ ﻧﻌﻴﺶ ﻋﺼﺮ ﺍﻟﺘﻘﻨﻴﺔ ﻭﺍﻟﻤﻌﻠﻮﻣﺎﺗﻴﺔ ‪.‬‬ ‫ﻭﺑﺎﻟﺘﺎﻟﻲ ﻓﻨﺤﻦ ﺑﺤﺎﺟﺔ ﺇﻟﻰ ﺁﻟﻴﺔ ﻟﺘﻨﻈﻴﻢ ﺍﻟﺒﻴﺎﻧﺎﺕ (ﻭﺍﻟﺘﻲ ﺃﺻﺒﺤﺖ ﻓﻲ ﻋﺼﺮﻧﺎ ﻛﺒﻴﺮﺓ ﻭﻣﺘﻨﻮﻋﺔ )ﻭﺍﻟﻤﺤﺎﻓﻈﺔ ﻋﻠﻴﻬﺎ‬ ‫ﻣﻦ ﺍﻟﺘﻠﻒ ﻭﺿﻤﺎﻥ ﺃﻣﻨﻬﺎ ‪.‬‬ ‫ﺳﻬﻮﻟﺔ ﺇﺩﺍﺭﺗﻬﺎ‬ ‫ﺳﻬﻮﻟﺔ ﻓﻲ ﺍﻟﺘﺨﺰﻳﻦ ﻭﺍﻹﺿﺎﻓﺔ ﻭﺍﻟﺘﻌﺪﻳﻞ‬ ‫ﻭﺳﺮﻋﺔ ﻓﻲ ﺍﻟﺒﺤﺚ ﻭﺍﻻﺳﺘﻌﻼﻡ‬ ‫ﺍﻟﺘﺤﻠﻴﻞ ﺍﻹﺣﺼﺎﺋﻲ‬ ‫ﺳﻬﻮﻟﺔ ﻭﺳﺮﻋﺔ ﺍﺳﺘﺨﺮﺍﺝ ﺍﻟﺘﻘﺎﺭﻳﺮ‬ ‫‪ -‬ﺧﻮﺍﺹ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﺗﻤﺜﻞ ﺑﻌﺾ ﻣﻈﺎﻫﺮ ﺍﻟﻌﺎﻟﻢ ﺍﻟﺤﻘﻴﻘﻲ ‪.‬ﺃﻱ ﺇﻧﻬﺎ ﺗﻤﺜﻞ ﺣﺎﻟﺔ ﻣﻦ ﺣﺎﻻﺕ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺘﻲ ﺗﺼﻒ ﻣﻮﺿﻮﻉ ﺣﻘﻴﻘﻲ‬ ‫ ‬ ‫ﺗﻤﺜﻞ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺘﻼﺻﻘﺔ ﻣﻨﻄﻘﻴﺎ ﻭﺗﺤﺘﻮﻱ ﻋﻠﻰ ﻣﻌﻨﻰ ﺿﻤﻨﻲ‬ ‫ ‬ ‫ﻳﺘﻢ ﺗﺼﻤﻴﻤﻬﺎ ﻭ ﺗﺨﺰﻳﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻴﻬﺎ ﻣﻦ ﺃﺟﻞ ﻏﺮﺽ ﻣﻌﻴﻦ‬ ‫ ‬ ‫‪ -‬ﻣﻤﻴﺰﺍﺕ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪:‬‬ ‫‪ -1‬ﺗﺤﺎﺷﻲ ﺗﻜﺮﺍﺭ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪ :‬ﺑﺤﻴﺚ ﻳﺘﻢ ﺍﻟﻮﺻﻮﻝ ﺍﻟﻰ ﺻﻴﻐﺔ ﻳﻜﻮﻥ ﻓﻴﻬﺎ ﺍﻟﺘﻜﺮﺍﺭ ﻣﺴﻴﻄﺮﺍً ﻋﻠﻴﺔ ﻭﻳﻘﺘﺼﺮ ﺍﻟﺘﻜﺮﺍﺭ‬ ‫ﻋﻠﻰ ﺍﻟﺠﻮﺍﻧﺐ ﺍﻟﺨﺎﺻﺔ ﺑﺄﺗﺼﺎﻝ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﻌﻀﻬﺎ ﺑﺒﻌﺾ ‪.‬‬ ‫‪ -2‬ﺗﺠﺎﻧﺲ ﺍﻟﺒﻴﺎﻧﺎﺕ‪ :‬ﻭﻳﻘﺼﺪ ﺑﻬﺎ ﺍﻟﺴﻴﻄﺮﺓ ﻋﻠﻰ ﻋﻤﻠﻴﺎﺕ ﺍﻻﺿﺎﻓﺔ ﻭﺍﻟﺤﺬﻑ ﻭﺍﻟﺘﻌﺪﻳﻞ ﺑﺸﻜﻞ ﻳﺤﺎﻓﻆ ﻋﻠﻰ ﺑﻨﻴﺔ‬ ‫ﻣﺘﺠﺎﻧﺴﺔ ﺩﺍﺧﻞ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬‬ ‫‪ -3‬ﻗﺎﺑﻠﻴﺔ ﺍﻟﺘﻄﻮﺭ ﻋﻨﺪ ﻭﺟﻮﺩ ﻣﺘﻄﻠﺒﺎﺕ ﺟﺪﻳﺪﺓ ﺃﻭﺑﻨﺎء ﻧﻈﺎﻡ ﺟﺪﻳﺪ ‪.‬‬ ‫‪ -4‬ﺍﺳﺘﻘﻼﻟﻴﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻋﻦ ﺍﻟﺒﺮﺍﻣﺞ ‪.‬‬ ‫‪ -5‬ﺳﻬﻮﻟﺔ ﺍﺳﺘﺮﺟﺎﻉ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﺎﻟﺸﻜﻞ ﺍﻟﺬﻱ ﺗﻔﺮﺿﺔ ﺭﺅﻳﺔ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻭﻣﺘﻄﻠﺒﺎﺕ ﺍﻟﻨﻈﺎﻡ‪.‬‬ ‫‪ -6‬ﺇﻣﻜﺎﻧﻴﺔ ﻣﺸﺎﺭﻛﺔ ﺃﻛﺜﺮ ﻣﻦ ﻣﺴﺘﺨﺪﻡ ﻓﻲ ﺍﻟﻮﺻﻮﻝ ﺍﻟﻰ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﺘﻌﺎﻣﻞ ﻣﻌﻬﺎ ‪.‬‬ ‫‪ -7‬ﺇﻣﻜﺎﻧﻴﺔ ﺍﺗﺼﺎﻝ ﺃﻛﺜﺮ ﻣﻦ ﻧﻈﺎﻡ ﺑﻘﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬‬ ‫‪ -8‬ﺍﻟﺴﺮﻳﺔ ﻭﺍﻟﺘﺤﻜﻢ ‪.‬‬ ‫ﺑﻌﺪ ﺍﻟﺘﺤﺪﺙ ﻋﻦ ﻣﻤﻴﺰﺍﺕ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻧﺄﺗﻲ ﺍﻟﻰ ﻣﻮﺿﻮﻉ ﺃﻧﻈﻤﺔ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﺍﻟﺬﻱ ﻛﺎﻥ ﺳﺎﺋﺪﺍً ﺍﺳﺘﺨﺪﺍﻣﺔ‬ ‫ﻗﺒﻞ ﺍﺳﺘﺨﺪﺍﻡ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬‬ ‫‪ 2.1‬ﻧﻈﻢ ﻣﻠﻔﺎﺕ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪(File Systems‬‬ ‫‪ -‬ﺃﻧﻈﻤﺔ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ‪:‬‬ ‫ﻧﻈﺮﺍً ﻟﻘﺼﻮﺭ ﺍﻷﻧﻈﻤﺔ ﺍﻟﻴﺪﻭﻳﺔ ﻓﻲ ﺍﻟﻮﺻﻮﻝ ﺍﻟﻰ ﻣﺘﻄﻠﺒﺎﺕ ﺍﻟﻤﺆﺳﺴﺎﺕ ﺑﺠﻤﻴﻊ ﺃﻧﻮﺍﻋﻬﺎ ‪ ،‬ﻓﻘﺪ ﺗﻢ ﺍﺳﺘﺨﺪﺍﻡ ﺃﻧﻈﻤﺔ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﻭﻫﻮ ﻧﻈﺎﻡ ﻣﺤﻮﺳﺐ ﻳﻌﺘﻤﺪ ﻋﻠﻰ ﺗﺨﺰﻳﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ ﻣﻠﻔﺎﺕ ﻣﺴﺘﻘﻠﺔ ﺑﺤﻴﺚ ﺗﻜﻮﻥ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻣﻌﺰﻭﻟﺔ ﻋﻦ ﺑﻌﻀﻬﺎ ﺍﻟﺒﻌﺾ ‪.‬‬ ‫ﻣﺜﺎﻝ ﻋﻠﻰ ﺫﻟﻚ ‪:‬‬ ‫ﻟﺪﻳﻨﺎ ﻧﻈﺎﻡ ﻓﻴﺔ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﻤﺪﺭﺳﻴﻦ ﻭﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﻄﻼﺏ ‪ ،‬ﻭﻛﺎﻧﺖ ﺑــﻴﺎﻧﺎﺕ ﺍﻟﻄﻼﺏ ﺍﻟﺘﺎﻟﻲ )ﺭﻗﻢ ﺍﻟﻄﺎﻟﺐ ‪،‬‬ ‫ﺍﺳﻢ ﺍﻟﻄﺎﻟﺐ ‪ ،‬ﻋﻤﺮ ﺍﻟﻄﺎﻟﺐ ( ‪.‬ﻣﺨﺰﻧﺔ ﻓﻲ ﻣﻠﻒ ﺍﻟﻄﻼﺏ ‪ ،‬ﻭﺑﻴﺎﻧﺎﺕ ﺍﻟﻤﺪﺭﺳﻲ ﺍﻟﺘﺎﻟﻲ ) ﺭﻗﻢ ﺍﻟﻤﺪﺭﺱ ‪ ،‬ﺍﺳﻢ‬ ‫ﺍﻟﻤﺪﺭﺱ ‪ ،‬ﻋﻤﺮ ﺍﻟﻤﺪﺭﺱ ‪ ،‬ﺭﺍﺗﺐ ﺍﻟﻤﺪﺭﺱ ‪.......... ،‬ﺍﻟــــــــﺦ ( ﻣﺨﺰﻧﺔ ﻓﻲ ﻣﻠﻒ ﺍﻟﻤﺪﺭﺳﻴﻦ ‪.‬ﻧﻼﺣﻆ ﻣﻦ ﺍﻟﻤﺜﺎﻝ‬ ‫ﺍﻟﺴﺎﺑﻖ ﺃﻥ ﺑﻴﺎﻧﺎﺕ ﺍﻟﻄﻼﺏ ﻣﻮﺟﻮﺩﺓ ﻓﻲ ﻣﻠﻒ ﻣﺴﺘﻘﻞ ﻋﻦ ﻣﻠﻒ ﺍﻟﻤﺪﺭﺳﻴﻦ ‪ ،‬ﻓﺈﺫﺍ ﺃﺭﺩﻧﺎ ﺃﻥ ﻧﺴﺘﺮﺟﻊ ﺃﺳﻤﺎء‬ ‫ﺍﻟﻤﺪﺭﺳﻴﻦ ﺍﻟﻠﺬﻳﻦ ﻳﺪﺭﺳﻮﻥ ﻃﺎﻟﺒﺎً ﻭﺍﺣﺪﺍً ﺃﻭ ﺃﺭﺩﻧﺎ ﺃﻥ ﻧﺴﺘﺮﺟﻊ ﺃﺳﻤﺎء ﺍﻟﻄﻼﺏ ﺍﻟﻠﺬﻳﻦ ﻳﺪﺭﺳﻮﻥ ﻋﻨﺪ ﻣﺪﺭﺱ ﻣﻌﻴﻦ ‪،‬‬ ‫ﺳﻨﺠﺪ ﺻﻌﻮﺑﺔ ﻣﻦ ﺧﻼﻝ ﺗﻄﺒﻴﻖ ﺃﻧﻈﻤﺔ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﻭﺫﻟﻚ ﺑﺴﺒﺐ ﻋﺪﻡ ﻭﺟﻮﺩ ﺍﺭﺗﺒﺎﻁ ) ﺑﻴﺎﻧﺎﺕ ﻣﺸﺘﺮﻛﺔ ( ﺑﻴﻦ‬ ‫ﺍﻟﻤﻠﻔﻴﻦ‪ ،‬ﻓﻴﺘﻢ ﺍﻟﻠﺠﻮء ﻫﻨﺎ ﺍﻟﻰ ﺍﻟﺘﻜﺮﺍﺭ ﻣﻦ ﺧﻼﻝ ﺇﻧﺸﺎء ﻣﻠﻒ ﺛﺎﻟﺚ ﻓﻴﻪ ﺃﺳﻤﺎء ﺍﻟﻄﻼﺏ ﻭﺃﺳﻤﺎء ﺍﻟﻤﺪﺭﺳﻴﻦ ﻣﻤﺎ‬ ‫ﻳﻌﺮﺿﻨﺎ ﻟﺒﺬﻝ ﻣﺰﻳﺪ ﻣﻦ ﺍﻟﺠﻬﺪ ﻭﺍﻟﻮﻗﺖ ‪ ،‬ﻭﻏﺎﻟﺒﺎً ﻣﺎﻳﻘﻊ ﻫﺬﺍ ﺍﻟﺠﻬﺪ ﻋﻠﻰ ﺍﻟﻤﺒﺮﻣﺠﻴﻦ ﺍﻟﻠﺬﻳﻦ ﻳﻘﻮﻣﻮﻥ ﺑﺈﻧﺸﺎء‬ ‫ﺍﻟﻤﻠﻔﺎﺕ ﻭﺇﻧﺸﺎء ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﺘﻲ ﺗﺘﻌﺎﻣﻞ ﻣﻌﻬﺎ ‪.‬‬ ‫ﻣﻤﺎ ﻻﺷﻚ ﻓﻴﻪ ﺃﻥ ﺃﻧﻈﻤﺔ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﺗﺸﻜﻞ ﻧﻘﻠﺔ ﻧﻮﻋﻴﺔ ﻣﻘﺎﺭﻧﺔ ﻣﻊ ﺍﻷﻧﻈﻤﺔ ﺍﻟﻴﺪﻭﻳﺔ ‪ ،‬ﺇﻻ ﺃﻧﻬﺎ ﺗﻌﺎﻧﻲ ﻣﻦ‬ ‫ﺑﻌﺾ ﺍﻟﻘﺼﻮﺭ ‪ ،،،‬ﻭﻣﻦ ﺃﻫﻢ ﺟﻮﺍﻧﺐ ﻫﺬﻩ ﺍﻟﻘﺼﻮﺭ ﻣﺎﻳﻠﻲ ‪-:‬‬ ‫ﺍﻟﺘﻜﺮﺍﺭ ‪-:‬‬ ‫ﻧﻼﺣﻆ ﻣﻦ ﻣﺜﺎﻝ ﺍﻟﻄﻼﺏ ﻭﺍﻟﻤﺪﺭﺳﻴﻦ ﺃﻧﻨﺎ ﺍﺿﻄﺮﺭﻧﺎ ﺇﻟﻰ ﺗﻜﺮﺍﺭ ﺃﺳﻤﺎء ﺍﻟﻄﻼﺏ ﻭﺃﺳﻤﺎء ﺍﻟﻤﺪﺭﺳﻴﻦ ﻓﻲ ﻣﻠﻒ ﺛﺎﻟﺚ‬ ‫ﻣﻤﺎ ﻳﺴﺒﺐ ﺗﻜﺮﺍﺭ ﻏﻴﺮ ﻣﺴﻮﻍ ‪.‬‬ ‫‪ -‬ﻋﺪﻡ ﺗﻮﺍﻓﻘﻴﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪:‬‬ ‫ﺑﺴﺒﺐ ﺍﻟﺘﻜﺮﺍﺭ ) ﻭﺟﻮﺩ ﻧﻔﺲ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ ﺃﻛﺜﺮ ﻣﻦ ﻣﻮﻗﻊ ( ‪ ،‬ﻓﻘﺪ ﻳﺘﻌﺮﺽ ﺍﻟﻨﻈﺎﻡ ﺍﻟﻰ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﺘﻌﺪﻳﻼﺕ ‪،‬‬ ‫ﻭﻫﺬﻩ ﺍﻟﺘﻌﺪﻳﻼﺕ ﻗﺪ ﻻ ﺗﺘﻢ ﻓﻲ ﻭﻗﺖ ﻭﺍﺣﺪ ﻣﻤﺎ ﻳﺴﺒﺐ ﻋﺪﻡ ﺗﻮﺍﻓﻘﻴﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬‬ ‫ﻣﺜﺎﻝ ﻋﻠﻰ ﺫﻟﻚ ‪:‬‬ ‫ﺇﺫﺍ ﺗﻢ ﺣﺬﻑ ﻃﺎﻟﺐ ﻣﻦ ﻣﻠﻒ ﺍﻟﻄﻼﺏ ‪ ،‬ﻭﻟﻢ ﻳﺤﺬﻑ ﺍﻟﻤﻠﻒ ﺍﻟﻤﺸﺘﺮﻙ ﺑﻴﻦ ﺍﻟﻄﻼﺏ ﻭﺍﻟﻤﺪﺭﺳﻴﻦ ‪ ،‬ﻓﺴﺘﻜﻮﻥ ﺑﻴﺎﻧﺎﺕ‬ ‫ﺍﻟﻄﺎﻟﺐ ﺍﻟﻠﺬﻱ ﺗﻢ ﺣﺬﻓﻪ ﻣﻮﺟﻮﺩﺓ ﻓﻲ ﻣﻠﻒ ﻭﻏﻴﺮ ﻣﻮﺟﻮﺩﺓ ﻓﻲ ﺍﻟﻤﻠﻒ ﺍﻵﺧﺮ ‪.‬‬ ‫‪ -‬ﺯﻳﺎﺩﺓ ﺯﻣﻦ ﺑﻨﺎء ﺍﻷﻧﻈﻤﺔ ‪:‬‬ ‫ﻭﺫﻟﻚ ﺑﺴﺒﺐ ﺍﻟﻠﺠﻮء ﺇﻟﻰ ﺇﻧﺸﺎء ﻣﻠﻔﺎﺕ ﻛﺜﻴﺮﺓ ﻟﺘﺤﻘﻴﻖ ﺍﻟﻤﺘﻄﻠﺒﺎﺕ ﺍﻟﻤﺨﺘﻠﻔﺔ ﻟﻼﻧﻈﻤﺔ ﻭ ﺍﻟﺤﺎﺟﺔ ﺍﻟﻤﺴﺘﻤﺮﺓ ﻹﻋﺎﺩﺓ‬ ‫ﻫﻴﻜﻠﺔ ﺍﻟﺒﺮﺍﻣﺞ ﻭﺍﻟﻤﻠﻔﺎﺕ ﺑﺸﻜﻞ ﺷﺒﺔ ﺷﻤﻮﻟﻲ ﻓﻲ ﺣﺎﻝ ﻇﻬﻮﺭ ﻣﺘﻄﻠﺒﺎً ﺟﺪﻳﺪﺍً ﺑﺴﺒﺐ ﺍﻋﺘﻤﺎﺩﻳﺔ ﺍﻟﺒﺮﺍﻣﺞ ﻋﻠﻰ ﻃﺒﻴﻌﺔ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﻤﺴﺘﺨﺪﻣﺔ ﺑﺎﻟﻨﻈﺎﻡ ﻣﻤﺎ ﻳﺘﺴﺒﺐ ﻓﻲ ﺇﺿﺎﻋﺔ ﺍﻟﻮﻗﺖ ﻭﺍﻟﺠﻬﺪ ‪.‬‬ ‫‪ -‬ﺃﻧﻮﺍﻉ ﺍﻟﻤﻠﻔﺎﺕ‪:‬‬ ‫ﻣﻠﻒ ﺗﺘﺎﺑﻌﻲ ‪:‬ﻳﺘﻢ ﺗﺨﺰﻳﻦ ﺳﺠﻼﺕ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﺸﻜﻞ ﺗﺘﺎﺑﻌﻲ ﺑﻨﻔﺲ ﺗﺮﺗﻴﺐ ﻭﺻﻮﻟﻬﺎ ﻟﻠﻤﻠﻒ ﺳﺠﻞ ﺑﻌﺪ ﺳﺠﻞ ‪.‬‬ ‫ ‬ ‫ﻻﺳﺘﺮﺟﺎﻉ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺗﺠﺮﻱ ﻋﻤﻠﻴﺔ ﻗﺮﺍءﺓ ﺍﻟﺴﺠﻼﺕ ﻣﻦ ﺃﻭﻝ ﺳﺠﻞ ﺇﻟﻰ ﺃﺧﺮ ﺳﺠﻞ ﻭ ﺑﺸﻜﻞ ﺗﺘﺎﺑﻌﻲ‪.‬‬ ‫ﻣﻠﻒ ﻋﺸﻮﺍﺋﻲ ‪:‬ﻳﺘﻢ ﺗﺨﺰﻳﻦ ﺳﺠﻼﺕ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﺸﻜﻞ ﻋﺸﻮﺍﺋﻲ ﻣﻊ ﻣﻌﺮﻓﺔ ﻣﻮﻗﻊ ﺃﻭ ﻋﻨﻮﺍﻥ ﻛﻞ ﺳﺠﻞ‬ ‫ ‬ ‫ﺑﻴﺎﻧﺎﺕ‪ ،‬ﻭ ﺗﺘﻢ ﻗﺮﺍءﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﺒﺎﺷﺮﺓ ﻋﻦ ﻃﺮﻳﻖ ﺍﻟﻌﻨﻮﺍﻥ ‪.‬‬ ‫ﻣﻠﻒ ﻣﻔﻬﺮﺱ ‪:‬ﻳﺴﺘﺨﺪﻡ ﻓﻬﺮﺱ ﺃﺷﺒﻪ ﺑﻔﻬﺮﺱ ﺍﻟﻜﺘﺎﺏ ﻣﻦ ﺧﻼﻟﻪ ﻳﺘﻢ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﺃﻱ ﺳﺠﻞ ﺑﻴﺎﻧﺎﺕ‪ ،‬ﻳﺘﻢ‬ ‫ ‬ ‫ﻋﻤﻞ ﺍﻟﻔﻬﺮﺱ ﻣﻦ ﺧﻼﻝ ﺍﺣﺪ ﺣﻘﻮﻝ ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬ ‫‪ -‬ﻣﺸﺎﻛﻞ ﺍﻟﻤﻠﻔﺎﺕ‪:‬‬ ‫ﺗﻜﺮﺍﺭ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪:‬ﺗﻜﺮﺍﺭ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ ﺃﻛﺜﺮ ﻣﻦ ﻣﻠﻒ ﻣﻤﺎ ﻳﻀﻴﻊ ﺣﻴﺰ ﺍﻟﺘﺨﺰﻳﻦ ﻭ ﺍﻟﺠﻬﺪ ﻭ ﺍﻟﻮﻗﺖ‪.‬‬ ‫ ‬ ‫ﻋﺪﻡ ﺗﺠﺎﻧﺲ ﺃﻭ ﺗﻮﺍﻓﻖ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪:‬ﻧﻔﺲ ﺍﻟﻤﻌﻠﻮﻣﺔ ﺗﻜﻮﻥ ﻣﺨﺰﻧﻪ ﻓﻲ ﺃﻛﺜﺮ ﻣﻦ ﻣﻠﻒ ﻋﻨﺪ ﺗﻌﺪﻳﻠﻬﺎ ﻗﺪ ﻻ‬ ‫ ‬ ‫ﻧﻌﺪﻟﻬﺎ ﻓﻲ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻷﺧﺮﻯ‪.‬‬ ‫ﻋﺪﻡ ﺍﻟﻤﺮﻭﻧﺔ‪:‬ﻋﻤﻠﻴﺔ ﺍﻟﺘﻌﺪﻳﻞ ﻭ ﺍﻟﺤﺬﻑ ﺗﺘﻄﻠﺐ ﺟﻬﺪ ﻭ ﻭﻗﺖ ﻭ ﻛﻠﻔﺔ ﻋﺎﻟﻴﺔ‪.‬‬ ‫ ‬ ‫ﺍﻻﻓﺘﻘﺎﺭ ﺇﻟﻰ ﺍﻟﻤﻮﺍﺻﻔﺎﺕ ﺍﻟﻘﻴﺎﺳﻴﺔ‪.‬‬ ‫ ‬ ‫ﻣﻌﺪﻝ ﻣﻨﺨﻔﺾ ﻹﻧﺘﺎﺝ ﺍﻟﺒﺮﺍﻣﺞ‬ ‫ ‬ ‫ﻣﺸﺎﺭﻛﺔ ﻣﺤﺪﻭﺩﺓ ﺟﺪﺍً ﺑﻴﻦ ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﻤﺨﺘﻠﻔﺔ ﻭ ﻣﻠﻔﺎﺕ ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬ ‫ ‬ ‫ﺻﻌﻮﺑﺔ ﺍﻟﺼﻴﺎﻧﺔ ﺃﻱ ﺗﻌﺪﻳﻞ ﻟﻤﻠﻒ ﻳﻠﺰﻡ ﺗﻌﺪﻳﻞ ﻛﺎﻓﺔ ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﺨﺎﺻﺔ ﺑﻪ ‪.‬‬ ‫ ‬ ‫ﺍﻣﻦ ﺳﺮﻳﺔ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﺗﻜﻮﻥ ﻋﻠﻰ ﻧﻄﺎﻕ ﻣﺤﺪﻭﺩ‪.‬‬ ‫ ‬ ‫‪ 3.1‬ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻧﺸﺄﺕ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻦ ﺍﺟﻞ ﺇﻳﺠﺎﺩ ﺑﺪﻳﻞ ﻟﻤﻠﻔﺎﺕ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭ ﻧﻈﻢ ﻣﻌﺎﻟﺠﺘﻬﺎ‬ ‫ ‬ ‫ﺑﺤﻴﺚ ﺗﺤﻞ ﻛﺎﻓﺔ ﺍﻟﻤﺸﻜﻼﺕ ﻭ ﺍﻟﻘﻴﻮﺩ ﻭ ﺍﻟﺼﻌﻮﺑﺎﺕ ﺍﻟﺘﻲ ﻳﻮﺍﺟﻬﻬﺎ ﺍﻟﻤﺴﺘﺨﺪﻣﻮﻥ ﻓﻲ ﺗﻌﺎﻣﻠﻬﻢ ﻣﻊ‬ ‫ﺍﻟﻤﻠﻔﺎﺕ‪.‬‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ ‪:‬ﻫﻲ ﻛﺎﻓﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﻄﻠﻮﺏ ﺇﺩﺧﺎﻟﻬﺎ ﺃﻭ ﺍﻻﺳﺘﻌﻼﻡ ﻋﻨﻬﺎ ‪ ،‬ﺣﻴﺚ ﻛﻞ ﺑﻴﺎﻥ ﻳﻤﺜﻞ ﻋﻨﺼﺮ ﻣﺴﺘﻘﻞ‬ ‫ ‬ ‫ﻣﺜﻞ (ﺍﺳﻢ ﺍﻟﻤﺮﻳﺾ ‪ ،‬ﺭﻗﻢ ﺍﻟﻐﺮﻓﺔ ‪ ،‬ﺍﻟﻌﻨﻮﺍﻥ ‪....) ،‬‬ ‫ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ‪:‬ﻫﻲ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺘﻲ ﺗﻤﺖ ﻣﻌﺎﻟﺠﺘﻬﺎ ﻭ ﻭﺿﻌﻬﺎ ﻓﻲ ﺻﻮﺭﺓ ﻣﻼﺋﻤﺔ ﻭ ﻣﻔﻬﻮﻣﺔ ﻟﻠﻤﺴﺘﺨﺪﻡ‪.‬‬ ‫ ‬ ‫ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻫﻲ ﺃﺳﻠﻮﺏ ﻣﺤﺪﺩ ﻟﺘﻨﻈﻴﻢ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻳﺒﺴﻂ ﻛﻴﻔﻴﺔ ﺇﺩﺧﺎﻟﻬﺎ ﻭ ﺗﻌﺪﻳﻠﻬﺎ ﻭ ﺍﺳﺘﺨﺮﺍﺟﻬﺎ‬ ‫ ‬ ‫ﺍﻣﺎ ﺑﻨﻔﺲ ﺍﻟﺸﻜﻞ ﺍﻟﻤﺪﺧﻞ ﺃﻭ ﻣﺠﻤﻌﺔ ﻓﻲ ﺻﻮﺭﺓ ﺇﺣﺼﺎﺋﻴﺔ ﺃﻭ ﺗﻘﺎﺭﻳﺮ ﺃﻭ ﺷﺎﺷﺎﺕ ﺍﺳﺘﻌﻼﻡ ﻣﻊ ﺍﻟﺘﺤﻜﻢ ﻓﻲ‬ ‫ﻛﻞ ﻋﻤﻠﻴﺔ‪.‬‬ ‫ﺗﺼﻤﻴﻢ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻳﺸﻤﻞ ﺗﺤﺪﻳﺪ ﺃﻧﻮﺍﻉ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭ ﺍﻟﺘﺮﺍﻛﻴﺐ ﻭ ﺍﻟﻘﻴﻮﺩ ﻋﻠﻰ ﻛﺎﻓﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬‬ ‫ ‬ ‫ﺑﻨﺎء ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻫﻮ ﻋﻤﻠﻴﺔ ﺗﺨﺰﻳﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻧﻔﺴﻬﺎ ﻓﻲ ﻭﺳﻂ ﺗﺨﺰﻳﻦ ﺗﺘﺤﻜﻢ ﺑﻪ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬‬ ‫ ‬ ‫ﻋﻨﺪ ﺗﺼﻤﻴﻢ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ﻳﺠﺐ ﺗﺤﺪﻳﺪ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﻭ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﺬﻳﻦ ﺳﻴﺴﺘﺨﺪﻣﻮﻥ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬‬ ‫ ‬ ‫‪ -‬ﺃﻣﺜﻠﺔ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻳﻤﻜﻦ ﺇﻧﺘﺎﺝ ﻭ ﻣﻌﺎﻟﺠﺔ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻟﺤﺎﺳﺐ ﺍﻵﻟﻲ ﺑﻮﺍﺳﻄﺔ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﺘﻄﺒﻴﻘﻴﺔ‬ ‫ﺍﻟﻤﺼﻤﻤﺔ ﺧﺼﻴﺼﺎً ﻟﻬﺬﺍ ﺍﻟﻐﺮﺽ ﺃﻭ ﺑﻮﺍﺳﻄﺔ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪(DBMS‬ﻣﺜﻞ ‪:‬‬ ‫‪MS-Access‬‬ ‫ ‬ ‫‪Oracle‬‬ ‫ ‬ ‫‪MS-Sql‬‬ ‫ ‬ ‫‪Sybase‬‬ ‫ ‬ ‫‪Power Builder‬‬ ‫ ‬ ‫‪Informix‬‬ ‫ ‬ ‫‪ -‬ﺍﻟﻔﺮﻕ ﺑﻴﻦ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﻧﻈﻢ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ‬ ‫ﻳﻮﺟﺪ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﺨﻮﺍﺹ ﺍﻟﻤﻮﺟﻮﺩﺓ ﻓﻲ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﻐﻴﺮ ﻣﺘﻮﻓﺮﺓ ﻓﻲ ﻧﻈﻢ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺘﻘﻠﻴﺪﻳﺔ ﻭﻫﻲ ‪:‬‬ ‫ﺍﻟﻮﺻﻒ ﺍﻟﺬﺍﺗﻲ ﻟﻠﺒﻴﺎﻧﺎﺕ ‪(Self-Description Nature):‬‬ ‫ﺗﺤﺘﻮﻯ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻋﻠﻲ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﻭﺻﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺫﻟﻚ ﻋﻦ ﻃﺮﻳﻖ ﺇﻧﺸﺎء ﻓﻬﺮﺱ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﺬﻱ ﻳﺤﺘﻮﻱ‬ ‫ﻋﻠﻰ ﻣﺎ ﻳﺴﻤﻰ )‪(Meta-data‬‬ ‫ﺍﻟﻔﺼﻞ ﺑﻴﻦ ﺍﻟﺒﺮﺍﻣﺞ ﻭﺍﻟﺒﻴﺎﻧﺎﺕ‪(Program/Data Insulation):‬‬ ‫ﻻ ﺗﺤﺘﻮﻯ ﺍﻟﺒﺮﺍﻣﺞ ﻋﻠﻰ ﻭﺻﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﻞ ﻳﻮﺟﺪ ﻓﺼﻞ ﺑﻴﻨﻬﻤﺎ ﻣﻤﺎ ﻳﺘﻴﺢ ﺇﻣﻜﺎﻧﻴﺔ ﺗﻌﺪﻳﻞ ﺷﻜﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﺪﻭﻥ‬ ‫ﺍﻟﺤﺎﺟﺔ ﻟﺘﻌﺪﻳﻞ ﺍﻟﺒﺮﺍﻣﺞ‪.‬‬ ‫ﺍﻟﻤﺸﺎﺭﻛﺔ ﻓﻲ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ‪(Data Sharing and Multi-user‬‬ ‫‪system):‬‬ ‫ﺗﺘﻴﺢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺸﺎﺭﻛﺔ ﻓﻲ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﻛﺬﻟﻚ ﺗﻌﻄﻲ ﺇﻣﻜﺎﻧﻴﺔ ﺗﻌﺎﻣﻞ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﻣﻊ‬ ‫ﻧﻔﺲ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ ﻧﻔﺲ ﺍﻟﻮﻗﺖ ﺑﺪﻭﻥ ﻣﺸﺎﻛﻞ‬ ‫ﺇﻣﻜﺎﻧﻴﺔ ﺍﻟﺘﻘﻠﻴﻞ ﺇﻟﻰ ﺣﺪ ﻛﺒﻴﺮ ﻣﻦ ﺗﻜﺮﺍﺭ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﻔﻬﺮﺳﺔ‬ ‫ﻣﻤﺎ ﻳﺘﻴﺢ ﺳﻬﻮﻟﺔ ﺍﻟﺒﺤﺚ ﻭﺍﻟﺘﻮﻓﻴﺮ ﻓﻲ ﺍﻟﻤﺴﺎﺣﺔ ﺍﻟﺘﻲ ﺗﺸﻐﻠﻬﺎ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ ﺍﻟﺬﺍﻛﺮﺓ‬ ‫‪ 4.1‬ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪(Database Management System DBMS‬‬ ‫ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪:‬ﻫﻮ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﺘﻲ ﻳﻤﻜﻦ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻓﻲ ﺇﻧﺸﺎء ﻭ ﻣﻌﺎﻟﺠﺔ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ‪.‬‬ ‫ﻭﻳﻤﻜﻦ ﻟﻨﺎ ﺃﻥ ﺗﺼﻤﻢ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ﻭﺍﺣﺪﺓ ﺗﺴﺘﺨﺪﻡ ﻣﻊ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﺒﺮﺍﻣﺞ ﻭﺍﻟﺘﻄﺒﻴﻘﺎﺕ‪.‬‬ ‫ﺗﺴﻤﻰ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪+‬ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﻨﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫)ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪+‬ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ← ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ (‬ ‫))‪(Database (DB) + DBMS → Database System (DBS‬‬ ‫‪ -‬ﻣﻜﻮﻧﺎﺕ ﻧﻈﺎﻡ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ‪:‬‬ ‫ﻳﺘﻜﻮﻥ ﻧﻈﺎﻡ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻦ ﺃﺭﺑﻌﺔ ﻣﻜﻮﻧﺎﺕ ﺃﺳﺎﺳﻴﺔ ﻫﻲ‪:‬‬ ‫‪.1‬ﺍﻟﺒﻴﺎﻧﺎﺕ‪:‬‬ ‫ﺗﺘﻮﺍﻓﺮ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻋﻠﻰ ﺍﻟﺤﺎﺳﺒﺎﺕ ﺍﻟﺼﻐﻴﺮﺓ ﻭﺍﻟﺸﺨﺼﻴﺔ ﻛﻤﺎ ﺗﺘﻮﺍﻓﺮ ﻋﻠﻰ ﺍﻟﺤﺎﺳﺒﺎﺕ ﺍﻟﻜﺒﻴﺮﺓ ﻭﺗﻌﺘﻤﺪ ﻛﻔﺎءﺓ‬ ‫ﺍﻟﻨﻈﺎﻡ ﻋﻠﻰ ﻗﺪﺭﺓ ﻭﺇﻣﻜﺎﻧﻴﺎﺕ ﺍﻟﻜﻴﺎﻥ ﺍﻵﻟﻲ ﻟﻠﺤﺎﺳﺐ‪ ،‬ﻓﺎﻟﺤﺎﺳﺒﺎﺕ ﺍﻟﺸﺨﺼﻴﺔ ﺗﻮﻓﺮ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ﻟﻤﺴﺘﺨﺪﻡ ﻭﺍﺣﺪ‬ ‫ﺑﻴﻨﻤﺎ ﺍﻟﺤﺎﺳﺒﺎﺕ ﺍﻟﻜﺒﻴﺮﺓ ﺗﻮﻓﺮ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ﻟﻌﺪﺩ ﻣﻦ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﻳﺸﺎﺭﻛﻮﻥ ﻋﻠﻰ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺘﺎﺣﺔ‪،‬ﻳﺠﺐ ﺃﻥ‬ ‫ﺗﺘﺼﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﺎﻟﺘﻜﺎﻣﻠﻴﺔ ﻭ ﻋﺪﻡ ﺍﻟﺘﻜﺮﺍﺭﻳﺔ ﻭﺇﻣﻜﺎﻧﻴﺔ ﺍﻟﻤﺸﺎﺭﻛﺔ ﻋﻠﻴﻬﺎ‪،‬ﻭ ﻋﻤﻮﻣﺎً ﺩﻭﻥ ﺑﻴﺎﻧﺎﺕ ﺩﻗﻴﻘﺔ ﻭﻣﻨﻄﻘﻴﺔ‬ ‫ﻭﺻﺤﻴﺤﺔ ﻓﻼ ﻣﻌﻨﻰ ﻟﻘﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬ ‫‪.2‬ﺍﻟﻤﻌﺪﺍﺕ‪:‬‬ ‫ﺗﺮﺗﻜﻦ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻋﻠﻰ ﺍﻷﻗﺮﺍﺹ ﺍﻟﻤﻐﻨﺎﻃﻴﺴﻴﺔ ﺍﺭﺗﻜﺎﻧﺎً ﻛﺒﻴﺮﺍً ﻋﻼﻭﺓً ﻋﻠﻰ ﻭﺣﺪﺍﺕ ﻣﻦ ﺍﻟﺸﺮﺍﺋﻂ ﺍﻟﻜﺜﻴﻔﺔ‬ ‫ﻛﻮﺣﺪﺍﺕ‪ BACK UP‬ﺍﺣﺘﻴﺎﻃﻴﺔ ﻟﺘﺨﺰﻳﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻟﻠﻈﺮﻭﻑ ﺍﻟﻄﺎﺭﺋﺔ‪.‬‬ ‫‪.3‬ﺍﻟﺒﺮﺍﻣﺞ)ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ(‪:‬‬ ‫ﻭﻫﻲ ﺍﻟﻄﺒﻘﺔ ﺍﻟﻮﺳﻴﻄﺔ ﺑﻴﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺨﺰﻧﺔ ﻓﻲ ﺍﻟﻤﻠﻔﺎﺕ ﺃﻋﻠﻰ ﺍﻷﻗﺮﺍﺹ ﻭ ﺑﻴﻦ ﻣﺴﺘﺨﺪﻣﻲ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ‪،‬‬ ‫ﻭﺃﺑﺮﺯ ﻫﺬﻩ ﺍﻟﺒﺮﺍﻣﺞ ﺑﺮﻧﺎﻣﺞ ﻣﺪﻳﺮ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪ DBMS‬ﻭﻫﻮ ﻋﺒﺎﺭﺓ ﻋﻦ ﺑﺮﻧﺎﻣﺞ ﺑﺎﻟﻎ ﺍﻟﺘﻌﻘﻴﺪ ﺑﺎﻫﻆ ﺍﻟﺜﻤﻦ‬ ‫ﻭﻳﺤﺘﺎﺝ ﻣﻦ ﻣﺨﺘﺺ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻗﺪﺭﺍً ﻋﻠﻴﺎً ﻭ ﻣﻌﺮﻓﻴﺎً ﻛﺒﻴﺮﺍً ﻟﻠﺘﻌﺎﻣﻞ ﺇﺫ ﺃﻧﻪ ﻳﺘﻮﻟﻰ ﺍﻟﺴﻴﻄﺮﺓ ﻋﻠﻰ ﺍﻟﻌﻨﺎﺻﺮ‬ ‫ﺍﻵﻟﻴﺔ ﻭﺍﻟﺒﺮﻣﺠﻴﺔ ﻟﻠﻘﺎﻋﺪﺓ ﺑﺎﻟﺘﻌﺎﻭﻥ ﻣﻊ ﻧﻈﺎﻡ ﺍﻟﺘﺸﻐﻴﻞ ﻓﻴﻤﺎ ﻫﻮ ﻣﺒﻴﻦ ﺑﺎﻟﺸﻜﻞ) ‪.(1-10‬‬ ‫‪.4‬ﻣﺴﺘﺨﺪﻣﻮ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‪:‬‬ ‫ﻭﻳﻨﻘﺴﻤﻮﻥ ﺇﻟﻰ ﺛﻼﺙ ﻓﺌﺎﺕ‪:‬‬ ‫ ﻣﺨﻄﻄﻮ ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﺬﻳﻦ ﻳﻜﺘﺐ ﺑﺮﺍﻣﺠﻬﻢ ﻭ ﻳﺴﺘﺨﺪﻣﻮﻥ ﺇﻣﻜﺎﻧﻴﺎﺕ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬ ‫ ﻣﺨﺘﺼﻮ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪ ،‬ﻭ ﻫﻢ ﺍﻟﻤﺴﺌﻮﻟﻮﻥ ﻋﻦ ﺻﻴﺎﻧﺔ ﻭ ﺗﺸﻐﻴﻞ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬ ‫ ﺍﻟﻤﺴﺘﺨﺪﻣﻮﻥ ﻟﻘﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺬﻳﻦ ﻳﺘﻌﺎﻣﻠﻮﻥ ﻣﻊ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻋﺒﺮ ﺍﻟﻨﻬﺎﻳﺎﺕ ﺍﻟﻄﺮﻓﻴﺔ‪.‬‬ ‫ﻣﺪﻳﺮ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‪(DBA):‬‬ ‫ﻳﻘﻮﻡ ﺑﺈﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﺘﺤﻜﻢ ﻓﻲ ﺻﻼﺣﻴﺎﺕ ﺍﻟﻌﻤﻞ ﻭﻣﺮﺍﻗﺒﺔ ﺍﻟﻨﻈﺎﻡ ﻭﺗﺤﺴﻴﻦ ﺃﺩﺍء ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬‬ ‫ﻣﺼﻤﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪(DB Designer):‬‬ ‫ﻳﻘﻮﻡ ﺑﺘﺼﻤﻴﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻟﻴﺘﻢ ﺇﻧﺸﺎﺋﻬﺎ ﻭﺑﻨﺎﺋﻬﺎ ﺑﻄﺮﻳﻘﺔ ﺫﺍﺕ ﻛﻔﺎءﺓ ﻋﺎﻟﻴﺔ ﻃﺒﻘﺎ ﻟﻤﺘﻄﻠﺒﺎﺕ ﺍﻟﻤﺴﺘﺨﺪﻡ ‪.‬‬ ‫ﻣﺴﺘﺨﺪﻡ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪(End User):‬‬ ‫ﺑﻌﺾ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﻳﻜﻮﻥ ﻟﺪﻳﻬﻢ ﺍﻟﺨﺒﺮﺓ ﺍﻟﻜﺎﻓﻴﺔ ﻹﻋﺪﺍﺩ ﺍﻻﺳﺘﻔﺴﺎﺭﺍﺕ ﺍﻟﻤﻄﻠﻮﺑﺔ ﺑﻠﻐﺔ ﺍﻻﺳﺘﻔﺴﺎﺭﺍﺕ‪ ،‬ﻭﺑﻌﺾ‬ ‫ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﻟﻴﺲ ﻟﺪﻳﻬﻢ ﺍﻟﺨﺒﺮﺓ ﻓﻴﺘﻢ ﺇﻧﺸﺎء ﺑﺮﺍﻣﺞ ﺧﺎﺻﺔ ﻟﻬﻢ ﻳﻘﻮﻣﻮﻥ ﺑﺘﺸﻐﻴﻠﻬﺎ ﻟﻠﺤﺼﻮﻝ ﻋﻠﻰ ﺍﻟﻤﻄﻠﻮﺏ ‪.‬‬ ‫ﻣﺤﻠﻞ ﺍﻟﻨﻈﻢ ﻭﻣﺒﺮﻣﺞ ﺍﻟﻨﻈﻢ‪(Analyst & Programmer):‬‬ ‫‪-‬ﻳﻘﻮﻡ ﺑﺘﺤﺪﻳﺪ ﻣﺘﻄﻠﺒﺎﺕ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻭﺗﻄﻮﻳﺮ ﻫﺬﻩ ﺍﻟﻤﻮﺍﺻﻔﺎﺕ ﺍﻟﻤﻄﻠﻮﺑﺔ ﻟﺘﺤﺪﻳﺪ ﺍﻟﻤﻄﻠﻮﺏ ﻣﻦ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬‬ ‫‪-‬ﺑﻴﻨﻤﺎ ﻳﻘﻮﻡ ﻣﺒﺮﻣﺞ ﺍﻟﻨﻈﻢ ﺑﺘﻨﻔﻴﺬ ﺍﻟﻤﺘﻄﻠﺒﺎﺕ ﻹﻧﺸﺎء ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﻤﻨﺎﺳﺒﺔ‬ ‫‪-‬ﻫﻨﺪﺳﺔ ﺍﻟﻨﻈﻢ ﻫﻲ ﻋﻤﻠﻴﺔ ﺗﺤﻠﻴﻞ ﺍﻟﻨﻈﺎﻡ ﺑﺎﻹﺿﺎﻓﺔ ﻟﻌﻤﻠﻴﺔ ﺇﻧﺸﺎء ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﺘﻄﺒﻴﻘﻴﺔ‬ ‫) ﻣﺤﻠﻞ ﺍﻟﻨﻈﻢ ‪+‬ﻣﺒﺮﻣﺞ ﺍﻟﻨﻈﻢ ←ﻣﻬﻨﺪﺱ ﺍﻟﻨﻈﻢ(‬ ‫)‪( Analyst + Programmer → Software Engineer‬‬ ‫ﻣﺘﻰ ﻻ ﻧﺴﺘﺨﺪﻡ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ؟‬ ‫ﺇﺫﺍ ﻛﺎﻧﺖ ﺗﻜﻠﻔﺔ ﺍﻹﻋﺪﺍﺩ ﻋﺎﻟﻴﺔ ﺑﺎﻟﻨﺴﺒﺔ ﻟﺤﺠﻢ ﺍﻟﻤﺸﺮﻭﻉ‬ ‫ ‬ ‫ﺇﺫﺍ ﻛﺎﻧﺖ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺑﺴﻴﻄﺔ ﻭ ﺳﻬﻠﺔ‬ ‫ ‬ ‫ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﻤﺸﺮﻭﻉ ﻳﺤﺘﺎﺝ ﻟﺴﺮﻋﺔ ﺍﺳﺘﺠﺎﺑﺔ ﻋﺎﻟﻴﺔ ﺟﺪﺍ ﻭﺑﺸﻜﻞ ﺿﺮﻭﺭﻱ‬ ‫ ‬ ‫ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﻌﻤﻞ ﻻ ﻳﺤﺘﺎﺝ ﺇﻟﻰ ﺑﻴﺌﺔ ﺫﺍﺕ ﻋﺪﺓ ﻣﺴﺘﺨﺪﻣﻴﻦ‬ ‫ ‬ ‫ﺃﺷﺨﺎﺹ ﻳﺘﻌﺎﻣﻠﻮﻥ ﻣﻊ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﻄﺮﻳﻘﺔ ﻏﻴﺮ ﻣﺒﺎﺷﺮﺓ‬ ‫ﻫﺆﻻء ﻻ ﻳﻬﺘﻤﻮﻥ ﺑﻘﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺫﺍﺗﻬﺎ ﻭﻟﻜﻨﻬﻢ ﻳﻘﺪﻣﻮﻥ ﻟﻤﺴﺘﺨﺪﻡ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺒﻴﺌﺔ ﺍﻟﻼﺯﻣﺔ ﻟﻬﻢ ﻭﻫﻢ‪:‬‬ ‫ﻣﺼﻤﻤﻮﺍ ﻭﻣﻨﻔﺬﻭﺍ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‪:‬‬ ‫ﻳﻘﻮﻣﻮﻥ ﺑﺘﺼﻤﻴﻢ ﻭﺗﻨﻔﻴﺬ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻧﻔﺴﻬﺎ)‪.(ms-access‬‬ ‫ﻣﻄﻮﺭﻭﺍ ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﻤﺴﺎﻋﺪﺓ‪:‬‬ ‫ﻳﻘﻮﻣﻮﻥ ﺑﺘﻄﻮﻳﺮ ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﻤﺴﺎﻋﺪﺓ ﻣﺜﻞ ﺑﺮﺍﻣﺞ ﺗﺤﻠﻴﻞ ﺍﻟﻨﻈﻢ‪ ،‬ﺗﺼﻤﻴﻢ ﺍﻟﻨﻈﻢ‪ ،‬ﺇﻧﺸﺎء ﻭﺗﻄﻮﻳﺮ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ‪ ،‬ﺇﻧﺸﺎء‬ ‫ﺍﻟﺘﻘﺎﺭﻳﺮ ﻭﻭﺍﺟﻬﺎﺕ ﺍﻟﺘﻄﺒﻴﻖ‪.‬‬ ‫ﺍﻟﻤﺸﻐﻠﻮﻥ ﻭﺃﻓﺮﺍﺩ ﺍﻟﺼﻴﺎﻧﺔ‪:‬‬ ‫ﻳﻘﻮﻣﻮﻥ ﺑﺘﺸﻐﻴﻞ ﺍﻟﻨﻈﻢ ﻭﺇﺩﺍﺭﺗﻬﺎ ﻭﺻﻴﺎﻧﺘﻬﺎ ﻭﻛﺬﻟﻚ ﺻﻴﺎﻧﺔ ﺍﻟﺒﺮﺍﻣﺞ ﻭﺍﻷﺟﻬﺰﺓ ﺍﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﺇﻧﺸﺎء ﻭﺗﻄﻮﻳﺮ‬ ‫ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬ ‫ﺍﶈﺎﺿﺮﺓ ﺍﻟﺜﺎﻧﻴﺔ "ﺑﻌﻨﻮﺍﻥ‬ ‫ﻫﻴﻜﻠﻴﺔ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫‪Architecture of DBMS‬‬ ‫ﺍﻟﻤﺤﺘﻮﻯ‪:‬‬ ‫ ﺃﻧﻮﺍﻉ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ ﺃﻧﻮﺍﻉ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ ﻫﻴﻜﻠﻴﺔ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪(DB System‬‬ ‫ ﺍﺳﺘﻘﻼﻟﻴﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪(Data Independence‬‬ ‫ ﻟﻐﺎﺕ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫‪.2.1‬ﺃﻧﻮﺍﻉ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‪:‬‬ ‫ﻫﻨﺎﻙ ﺛﻼﺛﺔ ﺃﻧﻮﺍﻉ ﺷﺎﺋﻌﺔ ﻣﻦ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﻫﻲ‪.‬‬ ‫ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻬﺮﻣﻴﺔ ‪Hierarchical DBMS‬‬ ‫ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺸﺒﻜﻴﺔ ‪Network DBMS‬‬ ‫ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ‪Relational DBMS‬‬ ‫‪ -‬ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻬﺮﻣﻴﺔ‪Hierarchical DBMS :‬‬ ‫ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻬﺮﻣﻴﺔ ﺃﻭ ﺍﻟﻨﻈﻢ ﺍﻟﻬﺮﻣﻴﺔ ‪ Hierarchical DBMS‬ﺗﻘﻮﻡ ﺑﺘﻨﻈﻴﻢ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻋﻠﻰ ﺷﻜﻞ ﻫﺮﻣﻲ‬ ‫ﺃﻭ ﻋﻠﻲ ﺷﻜﻞ ﺷﺠﺮﺓ ﻣﻘﻠﻮﺑﺔ ﺃﻱ ﺟﺬﺭﻫﺎ ﻓﻲ ﺍﻟﻘﻤﺔ ﻭﺗﺨﺮﺝ ﻣﻨﻬﺎ ﺍﻟﻔﺮﻭﻉ ‪.‬ﺷﺄﻥ ﻫﺬﻩ ﺍﻟﺘﺮﻛﻴﺒﺔ ﺷﺄﻥ ﺷﺠﺮﺓ ﺍﻷﺳﺮﺓ‬ ‫ﻓﻠﻬﺎ ﺟﺪ ﻭﺍﺣﺪ ﻭ ﺍﻟﺠﺪ ﻟﻪ ﻋﺪﺓ ﺃﺑﻨﺎء ﻭ ﺍﻷﺑﻨﺎء ﻫﻢ ﺃﺑﺎء ﺍﻷﺣﻔﺎﺩ ﻭﻳﺴﺘﺤﻴﻞ ﻭﺟﻮﺩ ﺣﻔﻴﺪ ﻟﻪ ﺍﻛﺜﺮ ﻣﻦ ﺃﺏ ‪.‬ﻭﻫﺬﺍ ﺷﻜﻞ‬ ‫ﺗﻮﺿﻴﺤﻲ ﻟﻴﻮﺿﺢ ﻟﻚ ﺍﻟﻨﻈﻢ ﺍﻟﻬﺮﻣﻴﺔ ﻭﺗﻔﺮﻋﺎﺗﻬﺎ‬ ‫ﻭﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﻬﺮﻣﻴﺔ ﻫﻲ ﻣﻠﻔﺎﺕ ﻟﻬﺎ ﻧﻔﺲ ﺍﻟﺒﻨﺎء ﺍﻟﺸﺠﺮﻱ ﻭﻟﻬﺎ ﻧﻔﺲ ﺍﻟﻌﻼﻗﺎﺕ ﺑﻴﻦ ﺍﻟﺴﺠﻼﺕ ﻣﺜﺎﻻ ﻟﺒﻌﺾ ﺃﻧﻮﺍﻉ‬ ‫ﺍﻟﺴﺠﻼﺕ ﺍﻟﺘﻲ ﻳﻤﻜﻦ ﺃﻥ ﺗﺘﻮﺍﺟﺪ ﻓﻲ ﺗﻜﻮﻳﻦ ﻫﺮﻣﻲ ﻓﻬﻨﺎﻙ ﺳﺠﻼﺕ ﻣﺒﻴﻌﺎﺕ ﻣﺘﻌﺪﺩﺓ ﻟﻜﻞ ﺑﺎﺋﻊ ﺣﻴﺚ ﻳﻮﺟﺪ ﺳﺠﻞ‬ ‫ﺇﺣﺼﺎﺋﻴﺎﺕ ﻭﺍﺣﺪ ﻟﻜﻞ ﻋﻤﻠﻴﺔ ﺟﺎﺭﻳﺔ ﻛﻤﺎ ﻳﻮﺟﺪ ﺃﻳﻀﺎ ﺳﺠﻼﺕ ﻋﺪﻳﺪﺓ ﻟﻠﻌﻤﻼء ﻟﻜﻞ ﺑﺎﺋﻊ ﺣﻴﺚ ﺃﻥ ﻛﻞ ﺑﺎﺋﻊ ﻟﻪ ﻋﻤﻼء‬ ‫ﻣﺤﺪﺩﻳﻦ ﻭﻳﻤﻜﻦ ﺃﻥ ﻳﻜﻮﻥ ﻟﻜﻞ ﻋﻤﻴﻞ ﻋﺪﺓ ﺳﺠﻼﺕ ﺣﺴﺎﺑﺎﺕ ﻣﺪﻳﻨﻴﻦ ﺳﺠﻞ ﻭﺍﺣﺪ ﻟﻜﻞ ﻋﻤﻠﻴﺔ ﺷﺮﺍء ﻟﻢ ﻳﺘﻢ ﺗﺴﺪﻳﺪ‬ ‫ﺛﻤﻨﻬﺎ‪.‬‬ ‫ﻭﻣﻦ ﺍﻟﻤﻬﻢ ﺃﻥ ﻧﻔﻬﻢ ﺍﻧﻪ ﻟﻴﺲ ﻣﻦ ﺍﻟﻀﺮﻭﺭﻱ ﺃﻥ ﺗﺘﺼﻞ ﻛﻞ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﻤﻮﺟﻮﺩﺓ ﻓﻲ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻊ ﺑﻌﻀﻬﺎ ‪.‬‬ ‫ﻭﻛﻞ ﻣﺎ ﻫﻮ ﻣﻄﻠﻮﺏ ﺃﻥ ﺗﺘﺼﻞ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﺘﻲ ﺗﺴﺘﺨﺪﻡ ﻛﻤﺠﻤﻮﻋﺔ ﻣﻊ ﺑﻌﻀﻬﺎ ﻓﻲ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ‪.‬‬ ‫ﻭﺳﺠﻼﺕ ﺍﻟﻤﺒﻴﻌﺎﺕ ﺍﻟﺴﺎﺑﻘﺔ ﻟﻬﺎ ﻣﺜﻞ ﻫﺬﻩ ﺍﻟﻌﻼﻗﺔ ﺍﻟﻤﻨﻄﻘﻴﺔ ﺗﺴﻤﻰ ﻓﺌﺔ ‪.‬ﻭ ﺍﻟﻔﺌﺔ ‪ Set‬ﻋﺒﺎﺭﺓ ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ‬ ‫ﺍﻟﺴﺠﻼﺕ ﻣﺘﺼﻠﺔ ﻣﻊ ﺑﻌﻀﻬﺎ ﻣﻨﻄﻘﻴﺎ‪.‬‬ ‫ﻭﻋﻠﻰ ﻫﺬﺍ ﺗﺼﺒﺢ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻬﺮﻣﻴﺔ ﻋﺒﺎﺭﺓ ﻋﻦ ﺗﺠﻤﻴﻊ ﻟﻤﻠﻔﺎﺕ ﻭﻓﺌﺎﺕ ﻣﻠﻔﺎﺕ ﻣﺘﺼﻠﺔ ﻣﻊ ﺑﻌﻀﻬﺎ ﻣﻨﻄﻘﻴﺎ ‪.‬‬ ‫ﻭﻳﺴﺘﺨﺪﻡ ﻧﻈﺎﻡ ﺇﺩﺍﺭﺓ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ‪ IMS‬ﺍﻟﺬﻱ ﺃﻋﺪﺗﻪ ﺷﺮﻛﺔ ‪ IBM‬ﺍﻟﺘﻜﻮﻳﻦ ﺍﻟﻬﺮﻣﻲ ﻭﻫﻮ ﻣﻦ ﺍﻛﺒﺮ ﻧﻈﻢ ﺇﺩﺍﺭﺓ‬ ‫ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪ DBMS‬ﺍﻟﻤﻮﺟﻮﺩﺓ ﺣﺎﻟﻴﺎ ﻭﺍﻋﻘﺪﻫﺎ ‪.‬ﻭﻟﻬﺬﺍ ﺍﻟﺴﺒﺐ ﻓﺄﻧﺔ ﻳﺘﻄﻠﺐ ﻣﺴﺘﻮﻯ ﺭﻓﻴﻊ ﻣﻦ ﺍﻟﺨﺒﺮﺓ‬ ‫ﻹﻣﻜﺎﻧﻴﺔ ﺑﻨﺎﺋﻪ ﻭﻋﻠﻰ ﺃﻱ ﺣﺎﻝ ﻓﻬﻮ ﻗﻮﻱ ﻭﺍﺛﺒﺖ ﻛﻔﺎءﺓ ﻛﺒﻴﺮﺓ ﻓﻲ ﻣﻌﺎﻣﻠﺔ ﻗﻮﺍﻋﺪ ﺑﻴﺎﻧﺎﺕ ﻛﺒﻴﺮﺓ ﺟﺪﺍ ﻛﻤﺎ ﺍﻧﻪ ﻳﻘﺪﻡ‬ ‫ﺇﺟﺮﺍءﺍﺕ ﺍﺳﺘﺮﺟﺎﻉ ﻭ ﺃﻣﻦ ﺟﻴﺪﺓ ﻫﺬﺍ ﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﺇﻣﻜﺎﻧﻴﺔ ﺍﺳﺘﺨﺪﺍﻣﻪ ﻓﻲ ﻧﻈﺎﻡ ﺍﻻﺗﺼﺎﻝ ﺍﻟﻨﺸﻂ ﻣﻦ ﺧﻼﻝ ﺷﺒﻜﺔ‬ ‫ﺍﻻﺗﺼﺎﻻﺕ‪.‬‬ ‫ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺸﺒﻜﻴﺔ‪Network DBMS :‬‬ ‫ﺭﻏﻢ ﺃﻥ ﻛﻠﻤﺔ ﺍﻟﺸﺒﻜﺔ ﺍﺳﺘﺨﺪﻣﺖ ﻛﺜﻴﺮﺍ ﻓﻲ ﺷﺒﻜﺎﺕ ﺍﻟﺤﺎﺳﺐ ﻭﻣﻌﺎﻟﺠﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻘﺪ ﻭﺟﺪ ﻣﻦ ﺍﻷﻓﻀﻞ ﺍﺳﺘﺨﺪﺍﻡ‬ ‫ﻣﺴﻤﻰ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻀﻔﻴﺮﺓ ‪ Plex‬ﺭﻏﻢ ﺃﻥ ﻣﺴﻤﻰ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺸﺒﻜﻴﺔ ﻻﺯﺍﻝ ﺷﺎﺋﻊ ﺍﻻﺳﺘﺨﺪﺍﻡ‪.‬‬ ‫ﻭﻳﺘﻐﻠﺐ ﻫﻴﻜﻞ ﺑﻴﺎﻧﺎﺕ ﺍﻟﺘﺮﻛﻴﺐ ﺍﻟﺸﺒﻜﻲ ﻋﻠﻰ ﻣﻌﻮﻗﺎﺕ ﺍﻟﺘﻜﻮﻳﻦ ﺍﻟﻬﺮﻣﻲ ﺍﻟﺬﻱ ﻻ ﻳﺴﻤﺢ ﻟﻼﺑﻦ ﺃﻥ ﻳﻜﻮﻥ ﻟﻪ ﺍﻛﺜﺮ ﻣﻦ‬ ‫ﺃﺏ ﻭﺍﺣﺪ ﻭﻳﻈﻬﺮ ﺫﻟﻚ ﻓﻲ ﺍﻟﺸﻜﻞ ﺍﻟﺘﻮﺿﻴﺤﻲ ﻟﻠﺘﻜﻮﻳﻦ ﺍﻟﺸﺒﻜﻲ ﺣﻴﺚ ﻧﻼﺣﻆ ﺃﻥ ﻟﻠﺴﺠﻞ ﺭﻗﻢ ) ‪ (4‬ﻋﺎﺋﻼﻥ ﻫﻤﺎ‬ ‫ﺍﻟﺴﺠﻞ ﺭﻗﻢ )‪ (2‬ﻭ ﺍﻟﺴﺠﻞ ﺭﻗﻢ ‪(3).‬‬ ‫ﻭﻣﺜﻞ ﻫﺬﺍ ﺍﻟﻨﻮﻉ ﻣﻦ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺣﻞ ﻛﺜﻴﺮﺍ ﻣﻦ ﻣﺸﺎﻛﻞ ﺍﻟﻌﻼﻗﺎﺕ ﻓﺈﺫﺍ ﻓﺮﺿﻨﺎ ﺃﻥ ﻫﻨﺎﻙ ﺍﻛﺜﺮ ﻣﻦ ﻣﻮﺭﺩ ﻳﻮﺭﺩ‬ ‫ﻗﻄﻊ ﻏﻴﺎﺭ ﻓﺈﻥ ﻛﻞ ﻣﻮﺭﺩ ﻗﺎﺩﺭ ﻋﻠﻰ ﺗﻮﺭﻳﺪ ﺍﻛﺜﺮ ﻣﻦ ﻧﻮﻋﻴﺔ ﻗﻄﻌﺔ ﻏﻴﺎﺭ ﻭﺑﺎﻟﺘﺎﻟﻲ ﻓﺈﻥ ﻛﻞ ﻗﻄﻌﺔ ﻏﻴﺎﺭ ﻳﻮﺭﺩﻫﺎ ﺍﻛﺜﺮ‬ ‫ﻣﻦ ﻣﻮﺭﺩ ﻣﻤﺎ ﻳﺤﺘﻢ ﻟﻔﻬﻢ ﺍﻟﻤﺜﺎﻝ ﻋﺮﺽ ﺍﻟﻌﻼﻗﺔ ﺑﻴﻦ ﻗﻄﻌﺔ ﺍﻟﻐﻴﺎﺭ ﻭ ﺍﻟﻤﻮﺭﺩﻭﻥ ﻋﻠﻰ ﺍﻟﻨﺤﻮ ﺍﻟﻤﻮﺿﺢ ﻓﻲ ﺍﻟﺸﻜﻞ‬ ‫ﺍﻟﺘﺎﻟﻲ‪.‬‬ ‫ﻭﻳﻮﺿﺤﻬﺎ ﺑﺪﺭﺟﺔ ﺍﻛﺒﺮ ﺍﻟﺸﻜﻞ ﺍﻟﺘﺎﻟﻲ‪.‬‬ ‫ﻭﻟﺘﺒﺴﻴﻂ ﻫﺬﻩ ﺍﻟﻌﻼﻗﺔ ﻳﺠﺐ ﺇﻋﺎﺩﺓ ﺭﺳﻢ ﺍﻟﻌﻼﻗﺎﺕ ﻓﻲ ﺍﻻﺗﺠﺎﻫﻴﻦ ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﻓﻲ ﺍﻟﺸﻜﻞ ﺍﻟﺘﺎﻟﻲ‪.‬‬ ‫)ﻕ( ﺗﺮﻣﺰ ﺇﻟﻰ ﻗﻄﻊ ﺍﻟﻐﻴﺎﺭ‬ ‫)ﻡ( ﺗﺮﻣﺰ ﻟﻠﻤﻮﺭﺩ‬ ‫ﻭﻣﻦ ﻫﺬﺍ ﺍﻟﺸﻜﻞ ﻳﺘﻀﺢ ﻟﻨﺎ ﺑﻤﺎ ﻻ ﻳﻘﺒﻞ ﺍﻟﺸﻚ ﺃﻥ ﺗﺒﺴﻴﻂ ﺍﻟﻌﻼﻗﺔ ﺍﻟﺸﺒﻜﻴﺔ ﺇﻟﻰ ﻋﻼﻗﺔ ﻫﺮﻣﻴﺔ ﺃﻭﺟﺪ ﺗﻌﻘﻴﺪﺍﺕ ﺍﻛﺜﺮ‬ ‫ﺣﻴﺚ ﺣﻮﻟﻬﺎ ﺇﻟﻰ ﻧﻮﻋﻴﻦ ﻣﻦ ﺷﺠﺮﺓ ﺍﻟﻌﻼﻗﺎﺕ ﻭﻓﻲ ﻫﺬﺍ ﺟﻬﺪ ﺇﺿﺎﻓﻲ ﻓﻲ ﺍﻟﺘﻨﻔﻴﺬ ‪.‬‬ ‫ﺇﻥ ﻣﺎ ﻋﺮﺿﻨﺎ ﺣﻮﻝ ﺍﻟﻌﻼﻗﺎﺕ ﺍﻟﺸﺠﺮﻳﺔ ) ﺍﻟﻬﺮﻣﻴﺔ ( ﻭﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺸﺒﻜﻴﺔ ﻳﺆﻛﺪ ﺃﻥ ﻛﻼﻫﻤﺎ ﻳﻤﻜﻦ ﺗﺤﻘﻴﻘﻪ ﻭﺍﻥ‬ ‫ﻛﺎﻧﺖ ﺑﻌﺾ ﺣﺰﻡ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻳﻤﻜﻨﻬﺎ ﺍﻟﺘﻌﺎﻣﻞ ﻓﻘﻂ ﻣﻦ ﺍﻟﺸﻜﻞ ﺍﻟﺸﺠﺮﻱ ﻛﻤﺎ ﺃﻥ ﺍﻟﺒﻌﺾ ﺍﻵﺧﺮ ﻳﻤﻜﻨﻪ‬ ‫ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﻨﻮﻉ ﺍﻟﺸﺒﻜﻲ ﻛﻤﺎ ﺃﻥ ﻫﻨﺎﻙ ﺗﻨﻮﻉ ﻣﻦ ﺑﺮﺍﻣﺞ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﺒﻌﺾ ﺑﺮﺍﻣﺞ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻬﺮﻣﻴﺔ ﻻ ﺗﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﻌﻼﻗﺎﺕ ﺍﻟﺒﺴﻴﻄﺔ ﻭ ﺍﻟﺒﻌﺾ ﻳﻤﻜﻨﻪ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﻌﻼﻗﺎﺕ ﺍﻟﻤﻌﻘﺪﺓ‪.‬‬ ‫ﻭﺍﻭﺟﻪ ﺍﻟﺘﺸﺎﺑﻪ ﺑﻴﻦ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺸﺒﻜﻴﺔ ﻭ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻬﺮﻣﻴﺔ ﺇﻧﻬﺎ ﺗﺘﻄﻠﺐ ﺇﻟﻰ ﺫﺍﻛﺮﺍﺕ ﺫﺍﺕ‬ ‫ﺃﺣﺠﺎﻡ ﻛﺒﻴﺮﺓ ﻭﻋﺎﺩﺓ ﺗﺤﺘﺎﺝ ﺇﻟﻰ ﻟﻐﺎﺕ ﺭﺍﻗﻴﺔ ﻟﺒﺮﻣﺠﺘﻬﺎ ﻭﻫﻲ ﺻﻌﺒﺔ ﺍﻟﺘﻌﻠﻢ ﻭﻟﻬﺎ ﻣﺰﺍﻳﺎ ﻛﺜﻴﺮﺓ ﻓﻬﻲ ﺑﺎﻟﻄﺒﻊ ﺍﻛﺜﺮ‬ ‫ﻛﻔﺎءﺓ ﻣﻦ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ ﻭﻳﺘﻌﺎﻣﻼﻥ ﻣﻊ ﻛﻢ ﻛﺒﻴﺮ ﺟﺪﺍ ﻣﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﺇﻧﻬﺎ‬ ‫ﺗﻮﻓﺮ ﺑﻨﺎء ﻋﻠﻰ ﻃﺮﻳﻘﺔ ﺗﻨﻈﻴﻢ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺘﻲ ﺗﺘﺒﻌﻬﺎ ﻣﺴﺎﺣﺎﺕ ﻛﺒﻴﺮﺓ ﻣﻦ ﻭﺳﺎﺋﻂ ﺗﺨﺰﻳﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬‬ ‫‪ -‬ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ‪Relational DBMS‬‬ ‫ﺃﺛﺒﺘﺖ ﺍﻷﻳﺎﻡ ﺻﺤﺔ ﺍﻟﻘﻮﻝ ﺍﻟﺸﺎﺋﻊ ﺃﻥ ﺍﻷﺑﺴﻂ ﻫﻮ ﺍﻷﺟﻤﻞ ﻭﺍﻷﻛﻔﺄ ‪.‬ﻓﻜﻠﻤﺎ ﻛﺎﻥ ﺳﻜﻨﻚ ﺑﺴﻴﻂ ﻭﻛﻠﻤﺎ ﻋﺸﺖ ﻓﻲ ﺑﺴﺎﻃﺔ‬ ‫ﻭ ﺑﻌﺪﺕ ﻋﻨﻚ ﺍﻟﻤﺸﺎﻛﻞ ﻭﻛﻠﻤﺎ ﻛﺎﻧﺖ ﺍﻵﻟﺔ ﺑﺴﻴﻄﺔ ﺳﻬﻠﺖ ﺇﺩﺍﺭﺗﻬﺎ ﻭﺻﻴﺎﻧﺘﻬﺎ ‪.‬ﻭﻫﺬﺍ ﻣﺎ ﺃﻛﺪﻩ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮﺍﻋﺪ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻬﺮﻣﻴﺔ ﻭ ﺍﻟﺸﺒﻜﻴﺔ ﺍﻟﺘﻲ ﺗﻌﻘﺪﺕ ﻣﻠﻔﺎﺗﻬﺎ ﻭﺃﺳﺎﻟﻴﺐ ﺇﺩﺍﺭﺗﻬﺎ ﻟﺪﺭﺟﺔ ﻛﺎﺩﺕ ﺗﺆﺩﻱ ﺑﻬﺎ ﻛﻠﻤﺎ ﺃﺿﻴﻔﺖ ﺗﻄﺒﻴﻘﺎﺕ‬ ‫ﺟﺪﻳﺪﺓ ﺃﻭ ﻣﺘﻄﻠﺒﺎﺕ ﺟﺪﻳﺪﺓ ﺗﺤﺘﺎﺝ ﻣﺆﺷﺮﺍﺕ ﺟﺪﻳﺪﺓ ﻣﻤﺎ ﺿﺨﻢ ﻣﻨﻬﺎ ﻭﻋﻘﺪﻫﺎ ‪.‬‬ ‫ﻭﻫﺬﻩ ﺍﻟﻤﺸﺎﻛﻞ ﻛﺎﻧﺖ ﺍﻟﻤﻨﻄﻠﻖ ﻟﻠﺒﺤﺚ ﻋﻦ ﺣﻠﻮﻝ ﺗﺤﻘﻖ ﺟﻤﻠﺔ ﺃﻫﺪﺍﻑ ﻣﻨﻬﺎ‪:‬‬ ‫‪1.‬ﻳﻤﻜﻦ ﻓﻬﻢ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻟﻤﻦ ﻟﻢ ﻳﺪﺭﺳﻮﺍ ﻋﻠﻮﻡ ﺍﻟﺤﺎﺳﺐ ‪.‬‬ ‫‪2.‬ﻳﻤﻜﻦ ﺗﻌﺪﻳﻞ ﻭﺇﺿﺎﻓﺔ ﻭﺣﺬﻑ ﺑﻴﺎﻧﺎﺕ ﺩﻭﻥ ﺗﻐﻴﻴﺮ ﺍﻟﻤﺨﻄﻂ ﺍﻟﻤﻨﻄﻘﻲ ﻟﻠﻘﺎﻋﺪﺓ ‪.‬‬ ‫‪3.‬ﺗﺘﻴﺢ ﻟﻠﻤﺴﺘﺨﺪﻡ ﺍﻋﻠﻲ ﺩﺭﺟﺔ ﻣﻦ ﺍﻟﻤﺮﻭﻧﺔ ﻓﻲ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬ ‫ﻓﻲ ﻋﺎﻡ ‪ 1970‬ﺃﺳﺘﺤﺪﺙ ‪ E.E.Codd‬ﺃﺳﻠﻮﺑﺎ ﻟﺘﻨﻈﻴﻢ ﻭﻓﺮﺯ ﺑﻴﺎﻧﺎﺕ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬ﻭﻫﻲ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﺍﻟﻌﻼﺋﻘﻴﺔ‪.‬‬ ‫ﻭﻗﺪ ﻭﺟﺪ ﺍﻟﻌﺎﻟﻢ ﺍﻷﻣﺮﻳﻜﻲ ‪ E.E.Codd‬ﺃﻥ ﻫﺬﺍ ﻻ ﻳﺘﺤﻘﻖ ﺃﻻ ﺑﺮﺹ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻋﻠﻰ ﻫﻴﺌﺔ ﺟﺪﺍﻭﻝ ﻻﻥ ﺍﻹﻧﺴﺎﻥ‬ ‫ﺗﻌﻮﺩ ﻋﻠﻰ ﺍﻟﺠﺪﺍﻭﻝ ﻣﻨﺬ ﻃﻔﻮﻟﺘﻪ ﺑﺪﺍﻳﺔ ﻣﻦ ﺟﺪﻭﻝ ﺍﻟﺤﺼﺺ ﺇﻟﻰ ﺟﺪﻭﻝ ﺍﻟﻀﺮﺏ ﺇﻟﻰ ﻛﺸﻒ ﺍﻷﺳﻤﺎء ﻭ ﺍﻟﺪﺭﺟﺎﺕ‪.‬‬ ‫ﻭﻫﺬﻩ ﺍﻟﻨﻈﻢ ﺗﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻛﺜﺮ ﻣﻦ ﻣﻠﻒ ﻓﻲ ﻧﻔﺲ ﺍﻟﻮﻗﺖ ﻭﺗﻌﺎﻣﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺩﺍﺧﻞ ﺍﻟﻤﻠﻒ ﻛﻤﺎ ﻟﻮ ﻛﺎﻧﺖ ﺟﺪﻭﻻ ﻣﻜﻮﻧﺎ‬ ‫ﻣﻦ ﺻﻔﻮﻑ ﻭ ﺃﻋﻤﺪﺓ ﻭﻳﺴﻤﻰ ﻋﻼﻗﺔ ‪ Relation‬ﻭﺗﻤﺜﻞ ﺃﻋﻤﺪﺓ ﺍﻟﺠﺪﻭﻝ ﺣﻘﻮﻝ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪ Fields‬ﻭﺗﺴﻤﻰ‬ ‫ﺃﻳﻀﺎ ‪ Attributes‬ﺑﻴﻨﻤﺎ ﺗﻤﺜﻞ ﺻﻔﻮﻓﻬﺎ ﺳﺠﻼﺕ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺗﺴﻤﻰ ‪ Tuples‬ﻭ ﺍﻟﻨﻈﺎﻡ ﺍﻟﻌﻼﺋﻘﻲ‬ ‫‪Relation‬ﻳﻘﻮﻡ ﺑﺮﺑﻂ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﻴﻦ ﺍﻟﻌﻼﻗﺎﺕ ﺑﻨﺎء ﻋﻠﻰ ﺣﻘﻞ ﻣﺸﺘﺮﻙ ﺑﻴﻨﻬﻤﺎ ‪.‬‬ ‫ﻭ ﺍﻟﻨﻈﻢ ﺍﻟﻌﻼﺋﻘﻴﺔ ﻗﺎﻣﺖ ﺃﺳﺎﺳﺎ ﻋﻠﻲ ﺍﻟﻨﻈﺮﻳﺎﺕ ﺍﻟﻌﻼﺉﻗﻴﺔ ﻓﻲ ﺍﻟﺮﻳﺎﺿﻴﺎﺕ ﻭﻗﺪ ﺑﺪﺃ ﺗﻄﺒﻴﻘﻬﺎ ﻋﻠﻰ ﺍﻟﺤﺎﺳﺒﺎﺕ ﺍﻟﻜﺒﻴﺮﺓ‬ ‫ﺃﻭﻻ ﻣﺜﻞ ‪ SQL. ORACLE‬ﺛﻢ ﻇﻬﺮﺕ ﻋﺪﺓ ﻧﻈﻢ ﻋﻼﺋﻘﻴﺔ ﻋﻠﻰ ﺍﻟﺤﺎﺳﺒﺎﺕ ﺍﻟﺸﺨﺼﻴﺔ ‪ PCs‬ﻣﺜﻞ‬ ‫ﺑﺮﺍﻣﺞ ‪DBaseII. DBaseIII. DBaseIII+. DBaseIV. FoxBase. FoxPro.‬‬ ‫ﻭﻳﻤﻜﻦ ﺍﻟﻘﻮﻝ ﻋﻦ ﻫﺬﺍ ﺍﻟﻨﻮﻉ ﻣﻦ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﺎﻳﻠﻲ‬ ‫ﺗﻨﻈﻴﻢ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ ﻓﻲ ﺟﺪﺍﻭﻝ ﺫﺍﺕ ﺑﻌﺪﻳﻦ ﻭﻳﻤﻜﻦ ﺍﻋﺘﺒﺎﺭ ﻛﻞ ﺟﺪﻭﻝ ﻣﻠﻒ ﻭﻳﺴﺘﺨﺪﻡ‬ ‫ﻣﺼﻄﻠﺢ ﻣﻠﻒ ﻣﺴﻄﺢ ‪ Flat File‬ﻻﻥ ﻣﺤﺘﻮﻳﺎﺕ ﺍﻟﻤﻠﻒ ﻣﺮﺗﺒﺔ ﻋﻠﻰ ﻣﺤﻮﺭﻳﻦ ﺱ ‪ ،‬ﺹ ﻓﻘﻂ‪.‬‬ ‫ﻧﺸﺄﺕ ﻣﺠﻤﻮﻋﺔ ﺟﺪﻳﺪﺓ ﻣﻦ ﺍﻟﻤﺼﻄﻠﺤﺎﺕ ﺗﺴﺘﺨﺪﻡ ﻓﻲ ﻭﺻﻒ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ ﻫﺬﻩ ﺍﻟﻤﺼﻄﻠﺤﺎﺕ ﺍﻟﺘﻲ‬ ‫ﺗﺴﺘﺨﺪﻡ ﻓﻲ ﻭﺻﻒ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻬﺮﻣﻴﺔ ﺃﻭ ﺍﻟﺸﺒﻜﻴﺔ ﻓﻔﻲ ﺍﻟﻨﻤﻮﺫﺝ ﺍﻟﻌﻼﺋﻘﻲ ﻳﺴﺘﺨﺪﻡ ﻣﺼﻄﻠﺢ ﻧﻤﻮﺫﺝ ﺑﻴﺎﻧﺎﺕ‬ ‫ﻋﻼﻗﻴﺔ ﺟﺰﺋﻲ ﺃﻭ ﺭﺅﻳﺔ ﻟﺒﻴﺎﻧﺎﺕ ﻋﻼﻗﻴﺔ ‪ Relational Data Submodel or View‬ﺑﺪﻻ ﻣﻦ ﺍﻟﻤﺨﻄﻂ‬ ‫ﺍﻟﺠﺰﺋﻲ ‪ Subschema‬ﻭﻣﺼﻄﻠﺢ ﺭﺅﻳﺔ ‪ View‬ﻣﻨﺎﺳﺐ ﻓﻬﻮ ﻟﺠﺰء ﺍﻟﻤﺴﺘﻔﻴﺪ ﻣﻦ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬‬ ‫ﻛﻤﺎ ﺍﺳﺘﺨﺪﻣﺖ ﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﺫﻟﻚ ﺃﺳﻤﺎء ﻟﻮﺻﻒ ﻣﻜﻮﻧﺎﺕ ﺍﻟﻤﻠﻔﺎﺕ ﺍﻟﻤﺴﻄﺤﺔ ﻭﻳﻮﺿﺢ ﺍﻟﺠﺪﻭﻝ ﺍﻟﺘﺎﻟﻲ ﻋﻴﻨﺔ ﻟﻤﻠﻒ‬ ‫ﻭﻳﺸﺎﺭ ﺇﻟﻰ ﺃﻋﻤﺪﺓ ﺍﻟﻤﻠﻒ ﺑﺄﻧﻬﺎ ﻣﺴﻄﺢ ﺭﺃﺳﻲ ) ﻧﻄﺎﻕ ) ﻭﺍﻟﻰ ﺍﻟﺼﻔﻮﻑ ﺑﺄﻧﻬﺎ ﻣﺴﻄﺢ ﺃﻓﻘﻲ ﻭ ﺍﻟﺠﺪﻭﻝ ﻋﺒﺎﺭﺓ ﻋﻦ‬ ‫ﺗﺠﻤﻴﻊ ﻣﻦ ﺍﻟﻤﺴﻄﺤﺎﺕ ﺍﻷﻓﻘﻴﺔ ﺧﺎﺻﺔ ﺑﻤﻮﺿﻮﻉ ﻣﻌﻴﻦ ﻭ ﺍﻟﺠﺪﻭﻝ ﺧﺎﺹ ﺑﺎﻟﺒﺎﺋﻌﻴﻦ ﻭﻳﻤﻜﻦ ﺍﺳﺘﺨﺪﺍﻣﻪ ﻓﻲ ﺗﻮﻓﻴﺮ‬ ‫ﺃﺳﻤﺎﺋﻬﻢ ﻭﻣﺒﻴﻌﺎﺗﻬﻢ ﻣﻨﺬ ﺑﺪﺍﻳﺔ ﺍﻟﻌﺎﻡ‪.‬‬ ‫ﻭﻗﺪ ﻭﺿﺤﻨﺎ ﺍﻟﻤﺸﺎﻛﻞ ﺍﻟﺴﺎﺑﻖ ﺫﻛﺮﻫﺎ ﻧﻈﺮﺍ ﻷﻧﻪ ﺃﻣﻜﻦ ﺗﺠﻨﺒﻬﺎ ﻓﻲ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ ﻓﺎﻟﺘﻜﻮﻳﻦ ﺍﻟﻌﻼﺋﻘﻲ‬ ‫ﺗﻜﻮﻳﻦ ﻣﻨﻄﻘﻲ ﺑﺤﻴﺚ ﻳﺴﺘﺨﺪﻡ ﻋﻼﻗﺎﺕ ﺿﻤﻨﻴﺔ ‪Implicit Relationships‬ﺑﺪﻻ ﻣﻦ ﺍﺳﺘﺨﺪﺍﻣﻪ ﻟﻌﻼﻗﺎﺕ‬ ‫ﺻﺮﻳﺤﺔ ‪ Explicit Relationships‬ﻭﻫﻲ ﺍﻟﺘﻲ ﺗﺴﺘﺨﺪﻡ ﻓﻲ ﻛﻞ ﻣﻦ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻬﺮﻣﻴﺔ ﻭ ﺍﻟﺸﺒﻜﻴﺔ‪.‬‬ ‫ﻭﺣﺘﻰ ﻧﻮﺿﺢ ﻣﻔﻬﻮﻡ ﺍﻟﻌﻼﻗﺎﺕ ﺍﻟﻀﻤﻨﻴﺔ ﺑﻴﻦ ﻣﻠﻔﺎﺕ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻌﻼﺋﻘﻴﺔ ﻭﻛﻴﻔﻴﺔ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻓﻲ ﺗﺠﻤﻴﻊ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻊ ﺑﻌﻀﻬﺎ ﻣﻦ ﻣﻠﻔﺎﺕ ﻣﻨﻔﺼﻠﺔ ﻋﻦ ﺑﻌﻀﻬﺎ ﻧﻔﺮﺽ ﺃﻥ ﻟﺪﻳﻨﺎ ﺟﺪﻭﻟﻴﻦ ﻓﻲ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺟﺪﻭﻝ ] ﺃ [‬ ‫ﻭﺟﺪﻭﻝ ] ﺏ [ ‪.‬ﺟﺪﻭﻝ ] ﺃ ]ﻳﻌﺮﻑ ﻣﻨﻄﻘﺔ ﺍﻟﻤﺒﻴﻌﺎﺕ ﻟﻜﻞ ﺑﺎﺋﻊ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺭﻗﻢ ﺍﻟﺒﺎﺋﻊ ﻛﺤﻘﻞ ﻣﻔﺘﺎﺣﻲ ﻭ ﺍﻟﺠﺪﻭﻝ ] ﺏ‬ ‫[ ﻳﺤﺪﺩ ﺍﺳﻢ ﻛﻞ ﺑﺎﺋﻊ ﻭ ﺍﻟﺠﺪﻭﻻﻥ ﻣﻨﻔﺼﻼﻥ ﻋﻦ ﺑﻌﻀﻬﻤﺎ ﺃﻱ ﻻ ﻳﻮﺟﺪ ﺃﻱ ﺍﺗﺼﺎﻝ ﻃﺒﻴﻌﻲ ﺑﻴﻨﻬﻤﺎ ﻭﺗﺤﺪﺩ ﺍﻟﻌﻼﻗﺔ‬ ‫ﺿﻤﻨﻴﺎ ﻭﺫﻟﻚ ﺑﺈﺩﺧﺎﻝ ﺣﻘﻞ ﺭﻗﻢ ﺍﻟﺒﺎﺋﻊ ﻓﻲ ﻛﻞ ﻣﻦ ﺍﻟﺠﺪﻭﻟﻴﻦ ‪.‬‬ ‫‪ ٢.٢‬ﺃﻧﻮﺍﻉ ﺍﻟﺒﻴﺎﻧﺎﺕ‪:‬‬ ‫ﻳﻤﻜﻦ ﺗﻌﺮﻳﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺃﻭ ﺍﻟﻤﻌﻄﻴﺎﺕ ﻋﻠﻰ ﺃﻧﻬﺎ ﺳﻠﺴﻠﺔ ﻏﻴﺮ ﻣﺘﺮﺍﺑﻄﺔ ﻣﻦ ﺍﻟﺤﻘﺎﺋﻖ ﺍﻟﻤﻮﺿﻮﻋﻴﺔ ﺍﻟﺘﻲ ﻳﻤﻜﻦ‬ ‫ﺍﻟﺤﺼﻮﻝ ﻋﻠﻴﻬﺎ ﻋﻦ ﻃﺮﻳﻖ ﺍﻟﻤﻼﺣﻈﺔ ﺃﻭ ﻋﻦ ﻃﺮﻳﻖ ﺍﻟﺒﺤﺚ ﻭﺍﻟﺘﺴﺠﻴﻞ‬ ‫ﻭﺑﺸﻜﻞ ﻋﺎﻡ ﻓﺎﻟﺒﻴﺎﻧﺎﺕ ﻫﻲ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﺤﺮﻭﻑ ﺃﻭﺍﻟﻜﻠﻤﺎﺕ ﺃﻭ ﺍﻷﺭﻗﺎﻡ ﺃﻭﺍﻟﺮﻣﻮﺯ ﺃﻭﺍﻟﺼﻮﺭ )ﺍﻟﺨﺎﻡ( ﺍﻟﻤﺘﻌﻠﻘﺔ‬ ‫ﺑﻤﻮﺿﻮﻉ ﻣﻌﻴﻦ‪ ،‬ﻭﻣﺜﺎﻝ ﺫﻟﻚ ‪:‬ﺍﻟﺠﻤﻠﺔ ﺍﻟﺘﺎﻟﻴﺔ ‪ makkah 1433‬ﻓﻬﺬﻩ ﺍﻟﺠﻤﻠﺔ ﻣﻜﻮﻧﺔ ﻣﻦ ﺣﺮﻭﻑ ﻭﺃﺭﻗﺎﻡ‬ ‫ﻭﻣﻌﺎﻟﺠﺔ ﻫﺬﻩ ﺍﻟﺤﺮﻭﻑ ﻭﺍﻷﺭﻗﺎﻡ ﺃﻋﻄﺎﻧﺎ ﻣﻌﻠﻮﻣﺔ ﻣﻔﻬﻮﻣﺔ ﻣﻦ ﻗﺒﻠﻨﺎ ﻋﻠﻤﺎً ﺑﺄﻥ ﺍﻟﺤﺎﺳﻮﺏ ﻳﻘﻮﻡ ﺑﺘﺤﻮﻳﻞ ﺟﻤﻴﻊ ﻫﺬﻩ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ ﺃﻳﺎً ﻛﺎﻥ ﻧﻮﻋﻬﺎ ﺇﻟﻰ ﺍﻟﻨﻈﺎﻡ ﺍﻟﺜﻨﺎﺋﻲ )‪(000110111...‬ﻭﺫﻟﻚ ﺑﻤﺴﺎﻋﺪﺓ ﺍﻟﺠﺪﻭﻝ ﺍﻟﻌﺎﻟﻤﻲ‪Unicod.‬‬ ‫ﺗﺘﻜﻮﻥ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﻤﻮﺍﺩ ﺍﻷﻭﻟﻴﺔ)ﺍﻟﺨﺎﻡ( ﺍﻟﺘﻲ‪ ،‬ﻓﻲ ﺻﻮﺭﺗﻬﺎ ﺍﻟﺤﺎﻟﻴﺔ‪ ،‬ﻻ ﻳﻤﻜﻦ ﺍﻻﺳﺘﻔﺎﺩﺓ ﻣﻨﻬﺎ ﻭﻟﻜﻦ‬ ‫ﻋﻦ ﻃﺮﻳﻖ ﺍﻟﻤﻌﺎﻟﺠﺔ ﺑﺎﻟﻜﻤﺒﻴﻮﺗﺮ ﺗﺘﺤﺼﻞ ﺍﻟﻤﻌﻠﻮﻣﺔ‪.‬‬ ‫ﻳﺘﻢ ﺗﺤﻮﻳﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺇﻟﻰ ﻣﻌﻠﻮﻣﺎﺕ ﻋﻦ ﻃﺮﻳﻖ ﺍﻟﻤﻜﻮﻧﺎﺕ ﺍﻟﻌﺎﻣﺔ ﻟﻠﺤﺎﺳﺐ ﺣﻴﺚ ﺗﻘﻮﻡ ﻭﺣﺪﺍﺕ ﺍﻹﺩﺧﺎﻝ ﺑﺈﺩﺧﺎﻝ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺗﻘﻮﻡ ﻭﺣﺪﺍﺕ ﺍﻟﺘﺨﺰﻳﻦ ﺍﻟﻤﺆﻗﺘﺔ ﺑﺘﺠﻬﻴﺰﻫﺎ ﻟﻠﻤﻌﺎﻟﺠﺔ ﻭﻣﻦ ﺛﻢ ﻳﻘﻮﻡ ﺍﻟﻤﻌﺎﻟﺞ ﺑﺪﻭﺭﻩ ﺑﺘﺤﻮﻳﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺇﻟﻰ‬ ‫ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﺍﻟﻤﻄﻠﻮﺑﺔ ﻭﻳﺠﺐ ﺃﻥ ﻻ ﻧﻨﺴﻰ ﺃﻥ ﻫﺬﻩ ﺍﻟﻤﻜﻮﻧﺎﺕ ﺗﻌﻤﻞ ﺑﺸﻜﻞ ﻣﺘﺰﺍﻣﻦ ﻣﻊ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﺍﻟﻼﺯﻣﺔ ﺍﻟﺘﻲ ﻧﻘﻮﻡ‬ ‫ﻧﺤﻦ ﻛﻤﺒﺮﻣﺠﻴﻦ ﺑﺘﺼﻤﻴﻤﻬﺎ ﻣﺜﺎﻝ ﺗﻮﺿﻴﺤﻲ‪ :‬ﻧﺴﺘﻄﻴﻊ ﺗﺼﻤﻴﻢ ﺑﺮﻧﺎﻣﺞ ﺑﺴﻴﻂ ﻟﺤﺴﺎﺏ ﻣﺴﺎﺣﺔ ﻣﺴﺘﻄﻴﻞ ﻭﻋﻨﺪ‬ ‫ﺗﺸﻐﻴﻞ ﻫﺬﺍ ﺍﻟﺒﺮﻧﺎﻣﺞ ﻳﻄﻠﺐ ﻣﻨﺎ ﺇﺩﺧﺎﻝ ﻋﻦ ﻃﺮﻳﻖ ﻟﻮﺣﺔ ﺍﻟﻤﻔﺎﺗﻴﺢ ﻃﻮﻝ ﻭ ﻋﺮﺽ ﺍﻟﻤﺴﺘﻄﻴﻞ (ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻷﻭﻟﻴﺔ(ﻭ‬ ‫ﻳﻘﻮﻡ ﺍﻟﻤﻌﺎﻟﺞ ﺑﺤﺴﺎﺏ ﺍﻟﻨﺘﻴﺠﺔ )ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﺍﻟﻤﻄﻠﻮﺏ( ﻋﻠﻰ ﺍﻟﺸﺎﺷﺔ‪.‬‬ ‫ﺃﻧﻮﺍﻉ ﺍﻟﺒﻴﺎﻧﺎﺕ‪:‬‬ ‫ﻳﻤﻜﻦ ﻟﻨﺎ ﺗﺼﻨﻴﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺿﻤﻦ ‪ 5‬ﺃﻧﻮﺍﻉ‪ :‬ﺍﻷﺭﻗﺎﻡ ‪ ،‬ﺍﻟﺤﺮﻭﻑ ‪ ،‬ﺍﻟﺮﻣﻮﺯ‪ ،‬ﺍﻷﺻﻮﺍﺕ ‪ ،‬ﺍﻟﺼﻮﺭ‬ ‫ﺗﻤﺜﻴﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ‪:‬‬ ‫ﻣﻨﻄﻘﻲ ‪(Boolean):‬ﻭﻳﺄﺧﺬ ﺇﺣﺪﻯ ﺍﻟﺤﺎﻟﺘﻴﻦ ﺇﻣﺎ ‪false or true‬‬ ‫ﺍﻟﻨﻮﻉ ﺍﻟﺮﻗﻢ‪:‬‬ ‫ﺟﻤﻴﻊ ﻣﺎ ﻳﺨﺺ ﺍﻷﺭﻗﺎﻡ ﺍﻟﺼﺤﻴﺤﺔ ﻭﺍﻟﻌﺸﺮﻳﺔ‬ ‫‪ :integer‬ﻟﺘﻤﺜﻴﻞ ﺍﻷﻋﺪﺍﺩ ﺍﻟﺼﺤﻴﺤﺔ ﻭﻳﺤﺠﺰ ﻣﺴﺎﺣﺔ ﻓﻲ ﺍﻟﺬﺍﻛﺮﺓ ﻭﻗﺪﺭﻫﺎ ‪ 2‬ﺑﺎﻳﺖ ﺃﻱ ﻧﺴﺘﻄﻴﻊ ﺗﻤﺜﻴﻞ ﺍﻷﺭﻗﺎﻡ‬ ‫ﻣﻦ ﺍﻟﻤﺠﺎﻝ ‪ 32764-‬ﺇﻟﻰ ‪. 32764+‬‬ ‫‪ :long‬ﻟﺘﻤﺜﻴﻞ ﺍﻷﻋﺪﺍﺩ ﺍﻟﺼﺤﻴﺤﺔ ﻭﻳﺤﺠﺰ ﻣﺴﺎﺣﺔ ﻓﻲ ﺍﻟﺬﺍﻛﺮﺓ ﻭﻗﺪﺭﻫﺎ ‪ 4‬ﺑﺎﻳﺖ‬ ‫‪:Float‬ﻟﺘﻤﺜﻴﻞ ﺍﻷﻋﺪﺍﺩ ﺍﻟﻌﺸﺮﻳﺔ ﻭﻳﺤﺠﺰ ﻣﺴﺎﺣﺔ ﻓﻲ ﺍﻟﺬﺍﻛﺮﺓ ﻭﻗﺪﺭﻫﺎ ‪ 4‬ﺑﺎﻳﺖ‪.‬‬ ‫‪: double‬ﻟﺘﻤﺜﻴﻞ ﺍﻷﻋﺪﺍﺩ ﺍﻟﻌﺸﺮﻳﺔ ﻭﻳﺤﺠﺰ ﻣﺴﺎﺣﺔ ﻭﻗﺪﺭﻫﺎ ‪ 8‬ﺑﺎﻳﺖ‪.‬‬ ‫ﺍﻟﻨﻮﻉ ﺍﻟﻨﺼﻲ‪:‬‬ ‫‪:‬‬ ‫ﻛﻞ ﻣﺎ ﻳﺨﺺ ﺍﻟﻨﺼﻮﺹ ﻭﻳﺠﺐ ﺍﻟﺘﻨﻮﻳﻪ ﺇﻟﻰ ﺃﻥ ﺍﻟﻨﺺ ﻣﻤﻜﻦ ﺃﻥ ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﺃﺭﻗﺎﻡ ﺃﻭ ﺭﻣﻮﺯ ﻣﺜﺎﻝ‬ ‫‪[email protected]‬‬ ‫‪: char‬ﻣﺨﺼﺺ ﻟﺘﺨﺰﻳﻦ ﺣﺮﻑ ﻭﺍﺣﺪ‬ ‫‪ :string‬ﻟﺘﺨﺰﻳﻦ ﻛﻠﻤﺎﺕ ﺃﻭ ﺟﻤﻞ ﻗﺼﻴﺮﺓ‬ ‫‪ enumerations‬ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﻌﻨﺎﺻﺮ ﺗﻤﺜﻞ ﺣﺎﻻﺕ ﻭﻗﻴﻢ ﻣﺨﺘﻠﻔﺔ ﺩﺍﺧﻞ ﺍﻟﺒﺮﻧﺎﻣﺞ‪.‬‬ ‫ﺍﺑﺴﻂ ﻣﺜﺎﻝ ﻋﻠﻰ ﺍﻝ ‪ Enum‬ﻫﻮ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻓﻲ ﺣﺎﻟﺔ ﻟﻤﻮﺩﻳﻼﺕ ﺍﻟﺴﻴﺎﺭﺍﺕ ‪ ،‬ﻟﻨﻔﺘﺮﺽ ﻟﺪﻳﻨﺎ ﺛﻼﺙ ﺍﻧﻮﺍﻉ ﻣﻦ‬ ‫ﺍﻟﺴﻴﺎﺭﺍﺕ ‪Nissan ،Toyota ،‬ﻭﺍﺧﻴﺮﺍً ‪ ، FIAT‬ﻟﻮ ﻛﻨﺎ ﻧﻘﻮﻡ ﺑﺘﺨﺰﻳﻨﻬﻢ ﻋﻠﻰ ﺷﻜﻞ ﻗﻴﻢ ‪ 1 ، 0‬ﻭ ‪ 2‬ﻓﻲ‬ ‫ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﺜﻼً ‪ ،‬ﻓﺈﻧﻨﺎ ﻻ ﻧﺮﻳﺪ ﺍﻥ ﻧﺠﺒﺮ ﺍﻟﻤﺒﺮﻣﺞ ﻋﻠﻰ ﺇﺩﺧﺎﻝ ﺭﻗﻢ ﻛﻞ ﺳﻴﺎﺭﺓ ‪ ،‬ﺑﻞ ﻳﻤﻜﻨﻪ ﺇﺩﺧﺎﻝ ﺍﺳﻤﻬﺎ ﻭﺍﻟﺬﻱ‬ ‫ﺳﻴﺘﻢ ﺗﺮﺟﻤﺘﻪ ﻻﺣﻘﺎً ﺇﻟﻰ ﺍﻟﺮﻗﻢ ﺍﻟﻤﻨﺎﻇﺮ ﻟﻪ ‪.‬‬ ‫ﺍﻟﻨﻮﻉ ﺍﻟﺰﻣﻨﻲ‪:‬‬ ‫ﺍﻟﻤﻌﻨﻲ ﺑﺎﻟﺘﻌﺒﻴﺮ ﻋﻦ ﺍﻟﻮﻗﺖ ﻭﺍﻟﺘﺎﺭﻳﺦ‬ ‫‪ :date‬ﻣﺨﺼﺺ ﻟﺘﺨﺰﻳﻦ ﺑﻴﺎﻧﺎﺕ ﻣﻦ ﺍﻟﻨﻮﻉ ﺍﻟﺰﻣﻨﻲ‪.‬‬ ‫‪ 3.2‬ﻫﻴﻜﻠﻴﺔ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪: (DBMS Architecture‬‬ ‫‪.١‬ﺍﻟﻨﻈﺎﻡ ﺍﻟﻤﺮﻛﺰﻱ‪( Centralized system) :‬‬ ‫ﻭﻓﻴﻪ ﺗﺘﻮﺍﺟﺪ ﺟﻤﻴﻊ ﻭﻇﺎﺋﻒ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﻨﻈﻢ ﺍﻟﺘﻄﺒﻴﻘﻴﺔ ﻭﻭﺍﺟﻬﺎﺕ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻭﻏﻴﺮﻫﺎ ﻣﻦ‬ ‫ﺍﻟﺒﺮﺍﻣﺞ ﻓﻲ ﻧﻈﺎﻡ ﻭﺍﺣﺪ ﻣﺮﻛﺰﻱ‪.‬‬ ‫‪.٢‬ﻧﻈﺎﻡ ﺍﻟﺨﺎﺩﻡ ـ ﺍﻟﻌﻤﻴﻞ ‪(Client-Server):‬‬ ‫ﻭﻓﻴﻪ ﻳﺤﺘﻮﻱ ﺍﻟﻌﻤﻴﻞ (ﻳﻜﻮﻥ ﻋﺎﺩﺓ ﻋﺒﺎﺭﺓ ﻋﻦ ﺣﺎﺳﺐ ﺷﺨﺼﻲ )ﺍﻟﻨﻈﻢ ﺍﻟﺘﻄﺒﻴﻘﻴﺔ ﻭﻭﺍﺟﻬﺎﺕ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﺑﻴﻨﻤﺎ ﻳﻘﻮﻡ ﺍﻟﺨﺎﺩﻡ ﺑﻮﻇﺎﺋﻒ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ (ﻭﻓﻲ ﺑﻌﺾ ﺍﻟﻨﻈﻢ ﺍﻟﺤﺪﻳﺜﺔ ﻗﺪ ﻳﻘﻮﻡ ﺍﻟﻌﻤﻴﻞ ﺑﺒﻌﺾ ﻭﻇﺎﺋﻒ ﻗﻮﺍﻋﺪ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ)‬ ‫‪ -‬ﺣﺎﻻﺕ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪(Instances‬‬ ‫ﻫﻲ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺘﻮﺍﺟﺪﺓ ﺩﺍﺧﻞ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ ﻟﺤﻈﺔ ﻣﻌﻴﻨﺔ ﺗﺴﻤﻲ “ﺣﺎﻟﺔ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺃﻭ ﺍﻟﻮﺿﻊ ﺍﻟﺤﺎﻟﻲ‬ ‫ﻟﻘﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪(DB State or Current Set of Occurrence or Instance‬‬ ‫ﻳﺘﻢ ﺇﻧﺸﺎء ﺍﻟﻮﺿﻊ ﺍﻻﺑﺘﺪﺍﺋﻲ ﻟﻬﺎ ﻋﻨﺪ ﺇﺩﺧﺎﻝ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻷﻭﻝ ﻣﺮﺓ ﺛﻢ ﻳﺘﻐﻴﺮ ﻭﺿﻌﻬﺎ ﻋﻨﺪ ﺇﺟﺮﺍء ﺍﻟﻌﻤﻠﻴﺎﺕ‬ ‫ ‬ ‫ﺍﻟﻤﺨﺘﻠﻔﺔ ﻋﻠﻰ ﺍﻟﺒﻴﺎﻧﺎﺕ )ﺇﺿﺎﻓﺔ –ﺣﺬﻑ – ﺗﻌﺪﻳﻞ(‬ ‫ﺗﺴﻤﻰ ﺣﺎﻟﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻫﺬﻩ“‪”Extension‬‬ ‫ ‬ ‫‪ 4.2‬ﻫﻴﻜﻠﻴﺔ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪(DB System‬‬ ‫ﺗﺤﺘﻮﻱ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻋﻠﻰ ﺛﻼﺙ ﻣﺴﺘﻮﻳﺎﺕ ﻣﻦ ﺍﻟﻤﺨﻄﻄﺎﺕ ﻭﺫﻟﻚ ﻟﺪﻋﻢ ﺍﻟﺨﻮﺍﺹ ﺍﻟﺘﻲ ﻳﺠﺐ ﺃﻥ‬ ‫ ‬ ‫ﺗﻘﺪﻣﻬﺎ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‪:‬‬ ‫‪.١‬ﻣﺴﺘﻮﻯ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺨﺎﺭﺟﻲ)‪(The External or View Level‬‬ ‫‪.٢‬ﺍﻟﻤﺴﺘﻮﻯ ﺍﻟﻤﻔﺎﻫﻴﻤﻲ )‪(The Conceptual Level‬‬ ‫‪.٣‬ﺍﻟﻤﺴﺘﻮﻱ ﺍﻟﺪﺍﺧﻠﻲ )‪(Internal Level‬‬ ‫‪.١‬ﻣﺴﺘﻮﻯ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺨﺎﺭﺟﻲ ‪The External or View Level:‬‬ ‫ﻫﻮ ﺍﻟﺠﺰء ﺍﻟﺬﻱ ﻳﺴﺘﻬﺪﻑ ﺍﻟﻤﺴﺘﺨﺪﻣﻴﻦ ﺍﻟﻌﺎﻣﻠﻴﻦ ﻋﻠﻰ ﺑﺮﺍﻣﺞ ﺗﻄﺒﻴﻘﻴﺔ ﻹﺩﺧﺎﻝ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﺃﻭ ﺍﺳﺘﺪﻋﺎﺋﻬﺎ ﻣﻦ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫‪.٢‬ﺍﻟﻤﺴﺘﻮﻯ ﺍﻟﻤﻔﺎﻫﻴﻤﻲ ‪:The Conceptual Level‬‬ ‫‪ -‬ﻳﺤﺘﻮﻱ ﻋﻠﻲ ‪Conceptual Schema‬ﺍﻟﺘﻲ ﺗﺼﻒ ﺑﻨﺎء ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ –‬ ‫ﻧﻤﻮﺫﺝ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﻨﻄﻘﻲ‬ ‫‪ -‬ﻳﻘﻮﻡ ﺑﺈﺧﻔﺎء ﺍﻟﺘﻔﺎﺻﻴﻞ ﺍﻟﺨﺎﺻﺔ ﺑﺎﻟﺒﻨﺎء ﺍﻟﻔﻌﻠﻲ ﻟﻠﺒﻴﺎﻧﺎﺕ‬ ‫‪ -‬ﻳﻘﻮﻡ ﺑﻮﺻﻒ ﺍﻟﻜﻴﺎﻧﺎﺕ‪ ،‬ﻧﻮﻉ ﺍﻟﺒﻴﺎﻧﺎﺕ‪ ،‬ﺍﻟﻌﻼﻗﺎﺕ‪ ،‬ﺍﻟﻘﻴﻮﺩ ﻭ ﻛﺬﻟﻚ ﺍﻟﻌﻤﻠﻴﺎﺕ ﺍﻟﺘﻲ ﻳﻌﺮﻓﻬﺎ ﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫‪ -‬ﻳﻤﻜﻦ ﺍﺳﺘﺨﺪﺍﻡ ‪Conceptual data model‬ﺃﻭ ‪Representation data model‬‬ ‫ﻓﻲ ﺑﻨﺎء ﻫﺬﺍ ﺍﻟﻤﺴﺘﻮﻱ ﻭ ﻳﻄﻠﻖ ﻋﻠﻴﻪ ﻣﺮﺣﻠﺔ ﺍﻟﺘﺼﻤﻴﻢ‬ ‫‪3.‬ﺍﻟﻤﺴﺘﻮﻯ ﺍﻟﺪﺍﺧﻠﻲ ‪(Internal Level):‬‬ ‫‪-‬ﻭﻫﻮ ﻳﺤﺘﻮﻱ ﻋﻠﻲ ﺍﻟﻤﺨﻄﻂ ﺍﻟﺪﺍﺧﻠﻲ ﻭﺍﻟﺬﻱ ﻳﻘﻮﻡ ﺑﻮﺻﻒ ﺍﻟﺘﺨﺰﻳﻦ ﺍﻟﻔﻌﻠﻲ ﻟﻘﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﻋﻤﻠﻴﺔ ﺇﻧﺸﺎء ﻗﺎﻋﺪﺓ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬ ‫‪-‬ﻣﺮﺗﺒﻂ ﺑﺎﻷﺟﻬﺰﺓ ﻭ ﺍﻟﺒﺮﺍﻣﺞ‬ ‫‪-‬ﻫﺬﺍ ﺍﻟﻤﺨﻄﻂ ﺍﻟﺪﺍﺧﻠﻲ ﻳﺘﻢ ﻭﺻﻔﻪ ﺑﺎﺳﺘﺨﺪﺍﻡ ﻧﻤﻮﺫﺝ )‪(Physical Data Model‬ﺍﻟﺬﻱ ﻳﺮﻛﺰ ﻋﻠﻰ ﺗﻤﺜﻴﻞ‬ ‫ﻭﺇﻧﺸﺎء ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺼﻤﻤﺔ ﻋﻠﻰ ﺟﻬﺎﺯ ﺍﻟﺤﺎﺳﺐ ﻭ ﻳﻄﻠﻖ ﻋﻠﻴﻪ ﻣﺮﺣﻠﺔ ﺍﻟﺘﻨﻔﻴﺬ‪.‬‬ ‫ﺷﻜﻞ ﻳﻮﺿﺢ ﺍﻟﺜﻼﺙ ﻣﺴﺘﻮﻳﺎﺕ ﻟﻤﺨﻄﻄﺎﺕ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪:(The Three-Schema Architecture‬‬ ‫‪ 5.2‬ﺍﺳﺘﻘﻼﻟﻴﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪(Data Independence‬‬ ‫ﻫﻲ ﺍﻟﻤﻘﺪﺭﺓ ﻋﻠﻲ ﺗﻐﻴﻴﺮ ﻣﺨﻄﻂ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ ﻣﺴﺘﻮﻱ ﻣﻌﻴﻦ ﺑﺪﻭﻥ ﻭﺟﻮﺏ ﺗﻐﻴﺮ ﺍﻟﻤﺨﻄﻂ ﻓﻲ ﺍﻟﻤﺴﺘﻮﻳﺎﺕ‬ ‫ ‬ ‫ﺍﻷﺧﺮﻯ‬ ‫ﻋﻨﺪ ﺗﻐﻴﻴﺮ ﺍﻟﻤﺨﻄﻂ ﻓﻲ ﻣﺴﺘﻮﻯ ﻣﻌﻴﻦ ﻓﺈﻥ ﺍﻟﺬﻱ ﻳﺘﻐﻴﺮ ﻫﻮ ﻃﺮﻕ ﺍﻟﺘﺤﻮﻳﻞ )‪(mapping‬ﺑﻴﻦ‬ ‫ ‬ ‫ﺍﻟﻤﺴﺘﻮﻳﺎﺕ‬ ‫ﻳﻮﺟﺪ ﻧﻮﻋﺎﻥ ﻣﻦ ﺍﺳﺘﻘﻼﻟﻴﺔ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭ ﻫﻤﺎ ‪:‬‬ ‫ ‬ ‫‪ o‬ﺍﻻﺳﺘﻘﻼﻝ ﺍﻟﻤﻨﻄﻘﻲ )‪(Logical Data Independence‬‬ ‫‪ o‬ﺍﻻﺳﺘﻘﻼﻝ ﺍﻟﻔﻌﻠﻲ )‪(Physical Data Independence‬‬ ‫ﺍﻻﺳﺘﻘﻼﻝ ﺍﻟﻤﻨﻄﻘﻲ ‪(Logical Data Independence):‬‬ ‫ ‬ ‫ﻫﻲ ﺍﻟﻤﻘﺪﺭﺓ ﻋﻠﻲ ﺗﻐﻴﻴﺮ ﻣﺨﻄﻂ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ ﺍﻟﻤﺴﺘﻮﻱ ﺍﻟﺜﺎﻧﻲ )‪(Conceptual Level‬ﺑﺪﻭﻥ‬ ‫ ‬ ‫ﺍﻟﺤﺎﺟﺔ ﺇﻟﻰ ﺗﻐﻴﻴﺮ ﺍﻟﻤﺨﻄﻂ ﻓﻲ ﺍﻟﻤﺴﺘﻮﻱ ﺍﻟﺜﺎﻟﺚ )‪(External Level‬ﻭﻛﺬﻟﻚ ﺑﺪﻭﻥ ﺗﻐﻴﻴﺮ ﺍﻟﺒﺮﺍﻣﺞ‬ ‫ﺍﻟﺘﻄﺒﻴﻘﻴﺔ‬ ‫ﻳﻜﻮﻥ ﺍﻟﺘﻐﻴﻴﺮ ﻓﻲ ﺍﻟﻤﺴﺘﻮﻱ ﺍﻟﺜﺎﻧﻲ ﻟﻜﻲ ﺗﺴﺘﻮﻋﺐ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺘﻐﻴﺮﺍﺕ ﺍﻟﺘﻲ ﻗﺪ ﺗﺤﺪﺙ ﻓﻲ ﺍﻟﻤﺨﻄﻂ‬ ‫ ‬ ‫ﻧﺘﻴﺠﺔ ﺯﻳﺎﺩﺓ ﺃﻭ ﺣﺬﻑ ﻋﻨﺎﺻﺮ ﺑﻴﺎﻧﺎﺕ‬ ‫ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﺘﻲ ﺗﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﻌﻨﺎﺻﺮ ﺍﻟﺘﻲ ﺗﻐﻴﺮﺕ ﻫﻲ ﻓﻘﻂ ﺍﻟﺘﻲ ﻳﺘﻢ ﺗﻌﺪﻳﻠﻬﺎ ﺃﻣﺎ ﺑﺎﻗﻲ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﻓﻼ‬ ‫ ‬ ‫ﺗﺘﻐﻴﺮ‬ ‫ﺍﻻﺳﺘﻘﻼﻝ ﺍﻟﻔﻌﻠﻲ ‪(Physical Data Independence):‬‬ ‫ ‬ ‫ﻫﻲ ﺍﻟﻤﻘﺪﺭﺓ ﻋﻠﻲ ﺗﻐﻴﻴﺮ ﻣﺨﻄﻂ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ ﺍﻟﻤﺴﺘﻮﻱ ﺍﻷﻭﻝ ))‪Internal Level‬ﺑﺪﻭﻥ ﺍﻟﺤﺎﺟﺔ ﺇﻟﻰ‬ ‫ ‬ ‫ﺗﻐﻴﺮ ﺍﻟﻤﺨﻄﻂ ﻓﻲ ﺍﻟﻤﺴﺘﻮﻱ ﺍﻟﺜﺎﻧﻲ )‪(Conceptual Level‬‬ ‫ﻳﻜﻮﻥ ﺍﻟﺘﻐﻴﻴﺮ ﻓﻲ ﺍﻟﻤﺴﺘﻮﻱ ﺍﻷﻭﻝ )‪(Internal Level‬ﺑﺴﺒﺐ ﺍﻟﺘﻐﻴﺮﺍﺕ ﺍﻟﺘﻲ ﻗﺪ ﺗﺤﺪﺙ ﻧﺘﻴﺠﺔ‬ ‫ ‬ ‫ﺍﺳﺘﺨﺪﺍﻡ ﺃﺳﺎﻟﻴﺐ ﺟﺪﻳﺪﺓ ﻓﻲ ﺗﻨﻈﻴﻢ ﺍﻟﻤﻠﻔﺎﺕ ﻣﻦ ﺃﺟﻞ ﺗﺤﺴﻴﻦ ﺃﺩﺍء ﺍﻟﻨﻈﺎﻡ‬ ‫ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﺍﻟﺘﻲ ﺗﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﻌﻨﺎﺻﺮ ﺍﻟﺘﻲ ﺗﻐﻴﺮﺕ ﻫﻲ ﻓﻘﻂ ﺍﻟﺘﻲ ﻳﺘﻢ ﺗﻌﺪﻳﻠﻬﺎ ﺃﻣﺎ ﺑﺎﻗﻲ ﺍﻟﺘﻄﺒﻴﻘﺎﺕ ﻓﻼ‬ ‫ ‬ ‫ﺗﺘﻐﻴﺮ‬ ‫‪ 6.2‬ﻟﻐﺎﺕ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻟﻐﺔ ﻭﺻﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪(Data Definition Language DDL):‬‬ ‫ ‬ ‫‪-‬ﺗﺴﺘﺨﺪﻡ ﺑﻮﺍﺳﻄﺔ ﻣﺪﻳﺮ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪(DBA‬ﻭﻛﺬﻟﻚ ﻣﺼﻤﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻟﺘﻌﺮﻳﻒ ﺑﻨﺎء ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫‪-‬ﻳﻮﺟﺪ ﻣﺘﺮﺟﻢ ﻟﻠﻐﺔ ﺍﻟﺘﻌﺮﻳﻒ )‪(DDL Compiler‬ﻭﺫﻟﻚ ﻟﺘﺮﺟﻤﺔ ﻫﺬﻩ ﺍﻟﻠﻐﺔ ﻭﺇﻧﺘﺎﺝ ﺑﺮﺍﻣﺞ ﻳﺘﻢ ﺗﻨﻔﻴﺬﻫﺎ ﻟﺘﻘﻮﻡ ﺑﺈﻧﺸﺎء‬ ‫ﻣﺨﻄﻄﺎﺕ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺗﺨﺰﻳﻨﻬﺎ ﺩﺍﺧﻞ ﻓﻬﺮﺱ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪(DB Catalog).‬‬ ‫ﻟﻐﺔ ﺗﻌﺮﻳﻒ ﺍﻷﺷﻜﺎﻝ‪(View Definition Language VDL):‬‬ ‫ ‬ ‫ﺗﺴﺘﺨﺪﻡ ﻓﻲ ﺑﻌﺾ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺘﻲ ﺗﺴﺘﺨﺪﻡ ﻫﻴﻜﻞ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺜﻼﺛﻲ ﺑﻄﺮﻳﻘﺔ ﺣﻘﻴﻘﻴﺔ ﻭﺫﻟﻚ‬ ‫ﻟﺘﻌﺮﻳﻒ ﻣﺨﻄﻂ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ ﺍﻟﻤﺴﺘﻮﻱ ﺍﻟﺨﺎﺭﺟﻲ )‪(External Level‬ﺍﻟﻨﻤﺎﺫﺝ ‪Forms‬ﺍﻟﺮﺳﻮﻣﻴﺔ ‪GUI‬‬ ‫ﺍﻟﺘﻔﺎﻋﻞ ﻣﻦ ﺧﻼﻝ ﺍﻟﻘﻮﺍﺋﻢ ‪menu‬‬ ‫ﻟﻐﺔ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪( Data Manipulation Language DML):‬‬ ‫ ‬ ‫ﺗﺴﺘﺨﺪﻡ ﻻﺳﺘﺮﺟﺎﻉ ﻭﺇﺩﺧﺎﻝ ﻭﺣﺬﻑ ﻭﺗﻌﺪﻳﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪.‬‬ ‫ﻣﻼﺣﻈﺎﺕ ﻋﻠﻰ ﻟﻐﺎﺕ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ ‬ ‫‪-‬ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﺤﺎﻟﻴﺔ ﺗﺴﺘﺨﺪﻡ ﻟﻐﺔ ﻭﺍﺣﺪﺓ ﺷﺎﻣﻠﺔ ﺗﺤﺘﻮﻱ ﻋﻠﻲ ﻟﻐﺎﺕ ‪DDL,VDL,DML‬‬ ‫‪-‬ﻟﻐﺔ ﺍﻻﺳﺘﻔﺴﺎﺭ ﺍﻟﻬﻴﻜﻠﻴﺔ )‪(SQL‬ﻫﻲ ﻟﻐﺔ ﺗﺴﺘﺨﺪﻡ ﻣﻊ ﻧﻤﻮﺫﺝ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻌﻼﺋﻘﻲ ﻭ ﺗﺤﺘﻮﻱ ﻋﻠﻲ ﻟﻐﺎﺕ‬ ‫‪DDL,VDL,DML‬ﻭﻛﺬﻟﻚ ﺍﻟﺠﻤﻞ ﺍﻟﺨﺎﺻﺔ ﺑﺘﻌﺪﻳﻞ ﻣﺨﻄﻂ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﺑﻴﺌﺔ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻫﻲ ﻧﻈﻢ ﻣﻌﻘﺪﺓ ﻭﺗﺤﺘﻮﻱ ﻋﻠﻰ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﻮﺣﺪﺍﺕ ﺍﻟﺘﻲ ﺗﺪﻋﻢ ﻣﺎ ﻳﺤﺘﺎﺟﻪ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻣﻦ‬ ‫ﻭﻇﺎﺋﻒ ﻭﻣﻨﻬﺎ‪:‬‬ ‫ﻣﺘﺮﺟﻢ ﻟﻐﺔ ﺗﻌﺮﻳﻒ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪(DDL Compiler):‬‬ ‫ ‬ ‫ﻟﺘﺮﺟﻤﺔ ﺗﻌﺮﻳﻒ ﻣﺨﻄﻂ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﺘﺄﻛﺪ ﻣﻦ ﺻﺤﺘﻪ ﺛﻢ ﺗﺨﺰﻳﻦ ﻫﺬﺍ ﺍﻟﺘﻌﺮﻳﻒ ﺩﺍﺧﻞ ﻓﻬﺮﺱ ﺍﻟﻨﻈﺎﻡ‬ ‫ﻣﻨﻔﺬ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪(Run-Time DB processor):‬‬ ‫ ‬ ‫ﻳﻘﻮﻡ ﺑﺎﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻋﻨﺪ ﺗﺸﻐﻴﻞ ﺃﻱ ﺃﻣﺮ ﺧﺎﺹ ﺑﻘﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻣﺘﺮﺟﻢ ﻟﻐﺔ ﺍﻻﺳﺘﻔﺴﺎﺭﺍﺕ ‪(Query Compiler):‬‬ ‫ ‬ ‫ﻳﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻻﺳﺘﻔﺴﺎﺭﺍﺕ ﻋﻦ ﻃﺮﻳﻖ ﻓﻬﻢ ﺍﻷﻭﺍﻣﺮ ﻭﺗﺮﺟﻤﺘﻬﺎ ﺛﻢ ﺇﺭﺳﺎﻟﻬﺎ ﺇﻟﻰ ﻣﻨﻔﺬ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻟﺘﻨﻔﻴﺬﻫﺎ‬ ‫ﺧﺪﻣﺎﺕ ﺗﻘﺪﻣﻬﺎ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﺗﻘﻮﻡ ﺑﻌﺾ ﻧﻈﻢ ﺇﺩﺍﺭﺓ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﺘﻘﺪﻳﻢ ﺧﺪﻣﺎﺕ ﺇﺿﺎﻓﻴﺔ ﺗﺴﺎﻋﺪ ﺍﻟﻤﺴﺘﺨﺪﻡ ﻓﻲ ﺇﺩﺍﺭﺓ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻣﺜﻞ‪:‬‬ ‫ﺗﺤﻤﻴﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ‪(Loading):‬‬ ‫ ‬ ‫ﻭﻫﻲ ﻋﺒﺎﺭﺓ ﻋﻦ ﻋﻤﻠﻴﺔ ﺗﺤﻮﻳﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﻮﺟﻮﺩﺓ ﺳﺎﺑﻘﺎ ﻓﻲ ﺍﻟﻨﻈﻢ ﺍﻟﻘﺪﻳﻤﺔ ﺍﻟﻰ ﺷﻜﻞ ﻣﻼﺋﻢ ﻟﻠﺘﺼﻤﻴﻢ ﺍﻟﺠﺪﻳﺪ ﺑﺪﻭﻥ‬ ‫ﺍﻟﺤﺎﺟﺔ ﺍﻟﻰ ﺇﻋﺎﺩﺓ ﺇﺩﺧﺎﻟﻬﺎ ﻳﺪﻭﻳﺎ ﻭﺍﻟﺬﻱ ﻳﻜﻮﻥ ﻏﻴﺮ ﻣﻤﻜﻦ ﻋﻤﻠﻴﺎ ﻓﻲ ﻛﺜﻴﺮ ﻣﻦ ﺍﻟﺤﺎﻻﺕ ‪.‬ﻭﻳﻮﺟﺪ ﺑﻌﺾ ﺍﻷﺩﻭﺍﺕ‬ ‫ﺍﻟﻤﺴﺎﻋﺪﺓ ﻭﺍﻟﺘﻲ ﺗﻘﻮﻡ ﺑﺘﺤﻮﻳﻞ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻦ ﺍﻟﺸﻜﻞ ﺍﻟﻘﺪﻳﻢ ﺍﻟﺘﻲ ﻛﺎﻧﺖ ﻋﻠﻴﻪ ﺍﻟﻰ ﺍﻟﺸﻜﻞ ﺍﻟﺠﺪﻳﺪ ﻭ ﺍﻟﻤﻼﺋﻢ ﻟﻘﻮﺍﻋﺪ‬ ‫ﺍﻟﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﺼﻤﻤﺔ ﺣﺪﻳﺜﺎ‬ ‫ﺍﻟﻨﺴﺦ ﺍﻻﺣﺘﻴﺎﻃﻴﺔ ‪(Backup):‬‬ ‫ ‬ ‫ﻋﻤﻠﻴﺔ ﺇﻧﺸﺎء ﻧﺴﺦ ﺍﺣﺘﻴﺎﻃﻴﺔ ﻟﻠﺒﻴﺎﻧﺎﺕ ﺍﻟﻤﻮﺟﻮﺩﺓ ﺑﻬﺪﻑ ﺗﺄﻣﻴﻦ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻦ ﺍﻷﻋﻄﺎﻝ ﺍﻟﺘﻲ ﻗﺪ ﺗﺆﺩﻱ ﻟﻀﻴﺎﻋﻬﺎ‬ ‫ﺗﻨﻈﻴﻢ ﺍﻟﻤﻠﻔﺎﺕ ‪(File reorganization):‬‬ ‫ ‬ ‫ﻋﻤﻠﻴﺔ ﺇﻋﺎﺩﺓ ﺗﻨﻈﻴﻢ ﺍﻟﻤﻠﻔﺎﺕ ﻋﻠﻲ ﺃﺳﻄﻮﺍﻧﺎﺕ ﺍﻟﺘﺨﺰﻳﻦ ﺑﻬﺪﻑ ﺗﺤﺴﻴﻦ ﺃﺩﺍء ﺍﻟﻨﻈﺎﻡ‬ ‫ﻣﺮﺍﻗﺒﺔ ﺍﻷﺩﺍء ‪(Performance monitoring):‬‬ ‫ ‬ ‫ﺗﺴﺘﺨﺪﻡ ﻟﻤﺮﺍﻗﺒﺔ ﻭﺗﺴﺠﻴﻞ ﺃﺩﺍء ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺑﺬﻟﻚ ﺗﻘﺪﻡ ﻟﻤﺪﻳﺮ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ )‪(DBA‬ﺍﻹﺣﺼﺎﺋﻴﺎﺕ ﺍﻟﻼﺯﻣﺔ‬ ‫ﻟﺘﺤﻠﻴﻞ ﺃﺩﺍء ﺍﻟﻨﻈﺎﻡ ﻭﺩﺭﺍﺳﺔ ﻛﻴﻔﻴﺔ ﺗﺤﺴﻴﻨﻪ (ﺑﻌﺾ ﺍﻟﻨﻈﻢ ﺗﻘﺪﻡ ﺃﻳﻀﺎ ﺣﻠﻮﻝ ﻟﺮﻓﻊ ﺍﻷﺩﺍء)‬ ‫ﺃﺩﻭﺍﺕ ﺗﺪﻋﻢ ﻋﻤﻞ ﻣﺴﺘﺨﺪﻡ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫( ‪CASE tools‬ﺃﺩﻭﺍﺕ ﻣﺴﺎﻋﺪﺓ ﻫﻨﺪﺳﺔ ﺍﻟﻨﻈﻢ‪):‬‬ ‫ ‬ ‫‪-‬ﺗﺴﺘﺨﺪﻡ ﻓﻲ ﻣﺮﺍﺣﻞ ﺗﺼﻤﻴﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﻳﻮﺟﺪ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻷﺩﻭﺍﺕ ﺍﻟﺘﻲ ﺗﻘﻮﻡ ﺑﺘﻨﻔﻴﺬ ﺍﻟﻜﺜﻴﺮ ﻣﻦ ﺍﻟﻤﺮﺍﺣﻞ‬ ‫ﺍﻟﺘﻲ ﻳﻤﺮ ﺑﻬﺎ ﺗﺼﻤﻴﻢ ﺍﻟﻨﻈﺎﻡ‪.‬‬ ‫ﺃﺩﻭﺍﺕ ﺗﻄﻮﻳﺮ ﺍﻟﻨﻈﻢ‪:‬‬ ‫ ‬ ‫ﺗﺴﺘﺨﺪﻡ ﻋﻨﺪ ﺗﻄﻮﻳﺮ ﻧﻈﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺳﻮﺍء ﺃﻛﺎﻧﺖ ﻟﺘﺼﻤﻴﻢ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺃﻭ ﻭﺍﺟﻬﺎﺕ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﻤﺴﺘﺨﺪﻡ‬ ‫ﺃﻭ ﺗﻌﺪﻳﻞ ﻭﺇﻧﺸﺎء ﺍﻻﺳﺘﻔﺴﺎﺭﺍﺕ ﻋﻠﻲ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﻛﺬﻟﻚ ﺃﺛﻨﺎء ﺇﻧﺸﺎء ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﺘﻄﺒﻴﻘﻴﺔ‪.‬‬ ‫ﺑﺮﺍﻣﺞ ﺍﻻﺗﺼﺎﻝ ﻋﺒﺮ ﺍﻟﺸﺒﻜﺎﺕ‪:‬‬ ‫ ‬ ‫ﻭﺗﺴﺘﺨﺪﻡ ﻟﺘﻘﺪﻳﻢ ﺇﻣﻜﺎﻧﻴﺔ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻋﺒﺮ ﺍﻟﺸﺒﻜﺎﺕ‬ ‫ﺍﶈﺎﺿﺮﺓ ﺍﻟﺜﺎﻟﺜﺔ "ﺑﻌﻨﻮﺍﻥ‬ ‫ﺃﺳﺎﻟﻴﺐ ﺍﻟﺘﻮﺻﻴﻞ‬ ‫ﺍﶈﺘﻮﻯ‪:‬‬ ‫ ﺗﻘﻨﻴﺎﺕ ﺍﻟﻮﺻﻮﻝ ﺇﱃ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ ﺃﻧﻈﻤﺔ ‪UDA‬‬ ‫‪1.3‬ﺗﻘﻨﻴﺎﺕ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ‬ ‫ﻛﻠﻤﺔ ‪ ADO‬ﻫﻲ ﺍﺧﺘﺼﺎﺭ ﻟﺠﻤﻠﺔ ‪ ActiveX Data Objects‬ﻭﻫﻲ ﻋﺒﺎﺭﺓ ﻋﻦ ﻣﻜﺘﺒﺔ ﺗﺤﺘﻮﻱ‬ ‫ﻋﻠﻰ ﻛﻞ ﻣﺎ ﻧﺤﺘﺎﺟﻪ ﻟﻠﻮﺻﻮﻝ ﺇﻟﻰ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ‪ ،‬ﺳﻮﺍء ﻛﺎﻧﺖ ‪ Access‬ﺃﻭ ‪ Oracle‬ﺃﻭ ‪SQL‬‬ ‫‪Server..‬‬ ‫ﺩﺍﺋﻤﺎً ﻣﺎ ﻧﺴﻤﻊ ﻋﻦ ‪ ADO‬ﻭ ‪ DAO‬ﻭ ‪ ODBC‬ﻭ ‪...‬ﻭ ‪...‬ﺍﻟﺦ‪ ،‬ﻭﻟﻜﻨﻨﺎ ﻻ ﻧﻌﻠﻢ ﻣﺎ ﻫﻲ ﻫﺬﻩ‬ ‫ﺍﻟﻜﻠﻤﺎﺕ؟ ﻭﻣﺎ ﺍﻟﻔﺮﻭﻕ ﺑﻴﻨﻬﺎ؟‬ ‫ﻓﻴﻤﺎ ﻳﻠﻲ ﺳﻨﺤﺎﻭﻝ ﺃﻥ ﻧﻠﻘﻲ ﻧﻈﺮﺓ ﺑﺴﻴﻄﺔ ﻋﻠﻰ ﻛﻞ ﻫﺬﻩ ﺍﻟﻜﻠﻤﺎﺕ ﻭﺗﺎﺭﻳﺦ ﻧﺸﺄﺗﻬﺎ‪:‬‬ ‫ﺟﻤﻴﻌﻨﺎ ﻧﻌﺮﻑ ﺃﻧﻪ ﻳﻮﺟﺪ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﺘﻲ ﻳﻤﻜﻨﻨﺎ ﺃﻥ ﻧﺴﺘﺨﺪﻣﻬﺎ ﻓﻲ ﺑﻨﺎء ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ‪ ،‬ﻋﻠﻰ‬ ‫ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ‪ SQL Server / FoxPro Database / Oracle DB /...‬ﺍﻟﺦ‪ ،‬ﻭﻗﺪﻳﻤﺎً ﻛﺎﻥ ﻟﺰﺍﻣﺎً‬ ‫ﻋﻠﻰ ﺍﻟﻤﺒﺮﻣﺠﻴﻦ ﺃﻥ ﻳﻤﺘﻠﻜﻮﺍ ﻧﺴﺨﺔ ﻣﻦ ﺍﻟﺒﺮﻧﺎﻣﺞ ﺍﻟﺨﺎﺹ ﺑﺒﻨﺎء ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ‪ ،‬ﻭﻛﺬﻟﻚ ﻫﻮ ﺍﻟﺤﺎﻝ‬ ‫ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻤﺴﺘﺨﺪﻣﻴﻦ ﻟﻠﺒﺮﻧﺎﻣﺞ‪ ،‬ﻷﻥ ﺗﻘﻨﻴﺔ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﻮﺍﻋﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﻗﺘﻬﺎ ﻛﺎﻥ ﻳﺘﻢ ﻣﻦ ﺧﻼﻝ‬ ‫ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟـ ‪APIs‬ﺍﻟﺨﺎﺻﺔ ﺑﻬﺬﺍ ﺍﻟﺒﺮﻧﺎﻣﺞ‪ ،‬ﻭﺍﻟﺘﻲ ﺗﺘﻔﺎﻋﻞ ﻣﺒﺎﺷﺮﺓ ﻣﻌﻪ‪.‬‬ ‫ﻭﺑﺎﻹﺿﺎﻓﺔ ﺇﻟﻰ ﺫﻟﻚ ﻛﺎﻧﺖ ﻫﻨﺎﻙ ﻣﺸﻜﻠﺔ ﺃﺧﺮﻯ‪ ،‬ﻭﻫﻲ ﺃﻥ ﻟﻜﻞ ﺑﺮﻧﺎﻣﺞ ﻣﻦ ﻫﺬﻩ ﺍﻟﺒﺮﺍﻣﺞ ﺍﻟـ ‪APIs‬‬ ‫ﺍﻟﺨﺎﺹ ﺑﻬﺎ‪ ،‬ﻭﺍﻟﺘﻲ ﺗﺨﺘﻠﻒ ﻋﻦ ﻏﻴﺮﻫﺎ ﻣﻦ ﺍﻟـ ‪ APIs‬ﺍﻟﺨﺎﺻﺔ ﺑﺎﻟﺒﺮﺍﻣﺞ ﺍﻷﺧﺮﻯ‪ ،‬ﻭﺑﺎﻟﺘﺎﻟﻲ ﻓﺈﻥ‬ ‫ﺍﻟﺸﺨﺺ ﺍﻟﺬﻱ ﻳﺠﺒﺪ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ‪ SQL Server DB APIs‬ﻟﻴﺲ ﺑﺎﻟﻀﺮﻭﺭﺓ ﺃﻥ ﻳﺠﻴﺪ ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ‬ ‫ﺍﻟـ‪Oracle OCI APIs.‬‬ ‫ﻣﺎ ﻫﻮ ‪API‬؟‬ ‫ﺍﻻﺧﺘﺼﺎﺭ ﻳﻌﻨﻲ ‪ Application Programming Interface‬ﺃﻱ ﺑﺎﻟﻌﺮﺑﻲ )ﻭﺍﺟﻬﺔ ﺑﺮﻣﺠﺔ‬ ‫ﺍﻟﺘﻄﺒﻴﻘﺎﺕ(‬ ‫ﻭﻟﻜﻦ ﻫﺬﻩ ﺍﻟﺘﺮﺟﻤﺔ ﺍﻟﺤﺮﻓﻴﺔ ﻻ ﺗﻌﺒﺮ ﻋﻦ ﺍﻟﻤﻌﻨﻰ ﺍﻟﺼﺤﻴﺢ ‪API ،‬ﻫﻲ ﻋﺒﺎﺭﺓ ﻋﻦ )ﻏﻼﻑ( ﻟﺘﻐﻠﻴﻒ‬ ‫ﺷﺊ ﺻﻌﺐ ﻣﻦ ﺍﻟﺪﺍﺧﻞ ﻭﺟﻌﻠﻪ ﺳﻬﻞ ﻣﻦ ﺍﻟﺨﺎﺭﺝ ‪.‬ﻭﻫﺬﺍ ﻛﻤﻔﻬﻮﻡ ﻭﻟﻜﻦ ﻛﻴﻒ ﻳﻄﺒﻖ ﻓﻲ ﺍﻟﺒﺮﻣﺠﺔ‬ ‫!!!؟‬ ‫ﺃﻱ ﺑﺮﻧﺎﻣﺞ ﻓﻲ ﻟﻐﺔ ‪ c‬ﻳﺠﺐ ﺃﻥ ﻳﺒﺪﺃ ﺑـــ‬ ‫>‪#include ‪#include

Use Quizgecko on...
Browser
Browser