You are on page 1of 442

‫‪www.PDFgozar.

com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﻣﻮﻟﻔﻴﻦ‬
‫ﻣﻬﻨﺪس ﺳﻴﺪ ﻧﺎﺻﺮ آﻳﺖ دﻛﺘﺮ اﺣﻤﺪ ﻓﺮاﻫﻲ‬
‫‪www.PDFgozar.com‬‬

‫ﻓﻬﺮﺳﺖ‬
‫ﻓﺼﻞ ‪ - 1‬ﻣﻔﺎﻫﻴﻢ اوﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪1 .............. ................................‬‬
‫ﻫﺪف ﻛﻠﻲ ‪1 ............ ................................ ................................‬‬
‫ﻫﺪف رﻓﺘﺎري ‪1 ......... ................................ ................................‬‬
‫‪ -1‬ﺗﺎرﻳﺨﭽﻪ ‪2 ........... ................................ ................................‬‬
‫‪ 1 -1‬ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت ‪4 .................. ................................‬‬
‫‪ 2 -1‬داده ‪4 .......... ................................ ................................‬‬
‫‪ 3 -1‬ﺗﻌﺮﻳﻒ داده از دﻳﺪﮔﺎه ‪4 .............. ................................ ANSI‬‬
‫‪ 4 -1‬اﻃﻼع ‪5 ........ ................................ ................................‬‬
‫‪ 5 -1‬ﺗﻌﺮﻳﻒ اﻃﻼع از دﻳﺪﮔﺎه ‪5 ............ ................................ ANSI‬‬
‫‪ 6 -1‬داﻧﺶ ‪5 ......... ................................ ................................‬‬
‫‪ -2‬ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎه داده ‪6 . ................................ ................................‬‬
‫‪ 1 -2‬ﺗﻔﺎوت ﻫﺎي ﺑﻴﻦ روش ﻓﺎﻳﻠﻴﻨﮓ و روش ﭘﺎﻳﮕﺎه داده ﻫﺎ ‪7 .....................‬‬
‫‪ 1 -1 -2‬ﻣﺮاﺣﻞ ﻛﺎر در روش ﻓﺎﻳﻠﻴﻨﮓ ‪7 ........... ................................‬‬
‫‪ 2 -1 -2‬ﻣﺮاﺣﻞ ﻛﺎر در روش ﭘﺎﻳﮕﺎﻫﻲ ‪8 ........... ................................‬‬
‫‪ 2 -2‬اﺟﺰاء ﭘﺎﻳﮕﺎه داده ‪10 ........................... ................................‬‬
‫‪ 1 -2 -2‬داده ﻫﺎ ‪11 .... ................................ ................................‬‬
‫‪ 2 -2 -2‬ﺳﺨﺖ اﻓﺰار ‪12 .............................. ................................‬‬
‫‪ -1‬ﺳﺨﺖ اﻓﺰار ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ ‪12 ............. ................................‬‬
‫‪ -2‬ﺳﺨﺖ اﻓﺰار ﭘﺮدازﺷﮕﺮ ‪12 ........................ ................................‬‬
‫‪ -3‬ﺳﺨﺖ اﻓﺰار ﺑﺮﻗﺮار ﻛﻨﻨﺪه ارﺗﺒﺎط ‪12 ............. ................................‬‬
‫‪ 3 -2 -2‬ﻧﺮم اﻓﺰار ‪13 . ................................ ................................‬‬
‫‪ -1‬ﻧﺮم اﻓﺰار ﻛﺎرﺑﺮدي ‪14 ............................. ................................‬‬
‫‪ -2‬ﻧﺮم اﻓﺰار ﺳﻴﺴﺘﻤﻲ ‪14 ............................. ................................‬‬
‫‪ 4 -2 -2‬ﻛﺎرﺑﺮ ‪14 ..... ................................ ................................‬‬
‫‪ -1‬ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﺎن ﻛﺎرﺑﺮدي ‪15 ..................... ................................‬‬
‫‪ -2‬ﻛﺎرﺑﺮان واﻗﻌﻲ ﻳﺎ ﻧﻬﺎﻳﻲ ‪15 ..................... ................................‬‬
‫‪ -3‬ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده ‪15 .............................. ................................‬‬
‫‪www.PDFgozar.com‬‬

‫ﺗﻤﺮﻳﻨﺎت ‪16 ............. ................................ ................................‬‬


‫ﻓﺼﻞ ‪ - 2‬ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ داده ﻫﺎ ‪17 .................... ................................‬‬
‫ﻫﺪف ﻛﻠﻲ ‪17 ........... ................................ ................................‬‬
‫ﻫﺪف رﻓﺘﺎري ‪17 ........ ................................ ................................‬‬
‫‪ -1‬ﻣﺪﻟﺴﺎزي ﻣﻌﻨﺎﻳﻲ داده ﻫﺎ ‪18 ......................... ................................‬‬
‫‪ -2‬ﻣﺪﻟﺴﺎزي ﺑﻪ روش ‪19 .......................... ................................ ER‬‬
‫‪ 1 -2‬ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ‪19 ............................. ................................‬‬
‫‪ 1 -1 -2‬ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ ‪20 ....................... ................................‬‬
‫‪ 2 -1 -2‬ﺣﺎﻻت ﻳﻚ ﻣﻮﺟﻮدﻳﺖ ‪20 .................. ................................‬‬
‫ﻣﻮﺟﻮدﻳﺖ ﻗﻮي ﻳﺎ ﻣﺴﺘﻘﻞ ‪21 ...................... ................................‬‬
‫ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﻳﺎ واﺑﺴﺘﻪ ‪21 .................... ................................‬‬
‫‪ 2 -2‬ﺻﻔﺖ ‪21 ....... ................................ ................................‬‬
‫رده ﺑﻨﺪي ﺻﻔﺖ ‪21 . ................................ ................................‬‬
‫‪ 1 -2 -2‬ﺻﻔﺖ ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ ‪22 ................... ................................‬‬
‫ﺻﻔﺖ ﺳﺎده ‪22 ...... ................................ ................................‬‬
‫ﺻﻔﺖ ﻣﺮﻛﺐ ‪22 .... ................................ ................................‬‬
‫‪ 2 -2 -2‬ﺻﻔﺖ ﺗﻚ ﻣﻘﺪاري ﻳﺎ ﭼﻨﺪ ﻣﻘﺪاري ‪22 .... ................................‬‬
‫ﺻﻔﺖ ﺗﻚ ﻣﻘﺪاري ‪22 ............................... ................................‬‬
‫ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري ‪23 .............................. ................................‬‬
‫‪ 3 -2 -2‬ﺷﻨﺎﺳﻪ ‪23 .... ................................ ................................‬‬
‫ﻣﻔﻬﻮم ﻣﻘﺪار ﻫﻴﭻ ) ﻫﻴﭻ ﻣﻘﺪار ( ‪23 ................. ................................‬‬
‫‪ 4 -2 -2‬ﺻﻔﺖ واﻗﻌﻲ ﻳﺎ ﻣﺸﺘﻖ ‪23 ................... ................................‬‬
‫ﺻﻔﺖ واﻗﻌﻲ ) ذﺧﻴﺮه ﺷﺪه ( ‪24 ...................... ................................‬‬
‫ﺻﻔﺖ ﻣﺸﺘﻖ ‪24 ..... ................................ ................................‬‬
‫‪ 3 -2‬ارﺗﺒﺎط ‪24 ...... ................................ ................................‬‬
‫ﻧﻮع ارﺗﺒﺎط ‪24 ....... ................................ ................................‬‬
‫‪ -3‬ﻧﻤﻮدار ‪25 ....... ................................ ................................ ER‬‬
‫‪ 1 -3‬درﺟﻪ ﻧﻮع ارﺗﺒﺎط ‪28 .......................... ................................‬‬
‫‪ 2 -3‬ﻣﺎﻫﻴﺖ ﻧﻮع ارﺗﺒﺎط ) اﺗﺼﺎل ( ‪29 ............... ................................‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 3 -3‬ﺣﺪ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ ‪30 ............................. ................................‬‬


‫‪ -4‬ﻣﺸﻜﻼت روش ‪31 .............................. ................................ ER‬‬
‫‪ 1 -4‬دام ﺣﻠﻘﻪ اي ‪31 . ................................ ................................‬‬
‫‪ 2 -4‬دام ﭼﻨﺪ ﺷﺎﺧﻪ اي ‪32 .......................... ................................‬‬
‫‪ 3 -4‬دام ﮔﺴﻞ ‪32 .... ................................ ................................‬‬
‫‪ -5‬ﻣﺪل ﺳﺎزي ﺑﺎ روش ‪33 ....................... ................................ EER‬‬
‫‪ 1 -5‬ﺗﺠﺰﻳﻪ و ﺗﺮﻛﻴﺐ ‪33 ............................ ................................‬‬
‫‪ 2 -5‬ﺗﺨﺼﻴﺺ و ﺗﻌﻤﻴﻢ ‪35 .......................... ................................‬‬
‫‪ 3 -5‬زﻳﺮ ﻧﻮع ﻫﺎي ﻫﻤﭙﻮﺷﺎ و ﻣﺠﺰا ‪36 .............. ................................‬‬
‫‪ 4 -5‬دﺳﺘﻪ ﺑﻨﺪي و وراﺛﺖ ‪37 ...................... ................................‬‬
‫‪ 5 -5‬ﺗﺠﻤﻊ ‪38 ....... ................................ ................................‬‬
‫‪ -6‬روش ﻣﺪل ﺳﺎزي ﺷﻲء ‪39 .................. ................................ UML‬‬
‫‪ 1 -6‬ﻣﻔﺎﻫﻴﻢ اﺻﻠﻲ ‪39 ............................... ................................‬‬
‫‪ 2 -6‬ﻧﺤﻮه ﻧﻤﺎﻳﺶ ﻣﻔﺎﻫﻴﻢ ‪41 ........................ ................................‬‬
‫‪ 3 -6‬ﺧﺼﻮﺻﻴﺎت ﻛﻠﻲ روش ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ داده ﻫﺎ ‪42 .......................‬‬
‫ﺗﻤﺮﻳﻨﺎت ‪44 ............. ................................ ................................‬‬
‫ﻓﺼﻞ ‪ - 3‬ﻣﻌ ﻤﺎري ﭘﺎﻳﮕﺎه داده ‪45 ............................ ................................‬‬
‫ﻫﺪف ﻛﻠﻲ ‪45 ........... ................................ ................................‬‬
‫ﻫﺪف رﻓﺘﺎري ‪45 ........ ................................ ................................‬‬
‫‪ -1‬ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﭘﺎ ﻳﮕﺎه داده ‪46 .................. ................................‬‬
‫‪ -2‬ﺷﺮح ﺳﻄﻮح ﺳﻪ ﮔﺎﻧﻪ ‪48 ........................... ................................ :‬‬
‫‪ ) 1 -2‬ﻧﻤﺎي ( ادراﻛﻲ ) ﻣﻔﻬﻮﻣﻲ ( ‪48 .................. ................................‬‬
‫‪ 2 -2‬دﻳﺪ ) ﻧﻤﺎي ( ﺧﺎرﺟﻲ ‪49 ........................ ................................‬‬
‫‪ 3 -2‬دﻳﺪ ) ﻧﻤﺎي ( داﺧﻠﻲ ‪50 ......................... ................................‬‬
‫‪ -3‬ﺳﺎﻳﺮ اﺟﺰاء ﭘﺎﻳﮕﺎه داده ﻫﺎ ‪53 ........................ ................................‬‬
‫‪ 1 -3‬ﻛﺎرﺑﺮ ‪53 ........ ................................ ................................‬‬
‫‪ 2 -3‬زﺑﺎن ﻣﻴﺰﺑﺎن ‪53 . ................................ ................................‬‬
‫‪ 3 -3‬زﺑﺎن داده اي ﻓﺮﻋﻲ ‪54 ......................... ................................‬‬
‫زﺑﺎن ﻣﺴﺘﻘﻞ ‪55 ...... ................................ ................................‬‬
‫‪www.PDFgozar.com‬‬

‫زﺑﺎن ادﻏﺎم ﺷﺪﻧﻲ ‪55 ................................ ................................‬‬


‫ﺗﻤﺮﻳﻨﺎت ‪56 ............. ................................ ................................‬‬
‫ﻓﺼﻞ ‪ - 4‬ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ‪57 ................. ................................‬‬
‫ﻫﺪف ﻛﻠﻲ ‪57 ........... ................................ ................................‬‬
‫ﻫﺪف رﻓﺘﺎري ‪57 ........ ................................ ................................‬‬
‫‪ -1‬ﺗﻌﺮﻳﻒ ‪58 ............ ................................ ................................‬‬
‫ﺑﺨﺶ ﺳﺎﺧﺘﺎري ‪59 .. ................................ ................................‬‬
‫ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ ‪59 .... ................................ ................................‬‬
‫ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ ‪59 ... ................................ ................................‬‬
‫‪ -2‬رده ﺑﻨﺪي ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ‪60 ... ................................‬‬
‫از ﻧﻈﺮ ﻣﺪل داده اي ‪60 .............................. ................................‬‬
‫از ﻧﻈﺮ ﻣﺤﻴﻂ ﺳﺨﺖ اﻓﺰاري ‪60 ...................... ................................‬‬
‫از ﻧﻈﺮ رده ﺑﻨﺪي ﻛﺎﻣﭙﻴﻮﺗﺮ ‪60 ....................... ................................‬‬
‫از ﻧﻈﺮ ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ‪60 ...................... ................................‬‬
‫از ﻧﻈﺮ ﻧﻮع ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎ ‪60 ....... ................................‬‬
‫از ﻧﻈﺮ ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار ‪61 ............. ................................‬‬
‫از ﻧﻈﺮ ﺳﻴﺴﺘﻢ ﻓﺎﻳﻞ ‪61 .............................. ................................‬‬
‫از ﻧﻈﺮ ﻣﺘﺪوﻟﻮژي زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ ‪61 ................ ................................‬‬
‫از ﻧﻈﺮ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ و درﺧﻮاﺳﺖ ﻫﺎي ﻛﺎرﺑﺮ ‪61 ....................‬‬
‫از ﻧﻈﺮ ﻧﻮع ﺗ ﺮاﻛﻨﺶ ‪61 .............................. ................................‬‬
‫از ﻧﻈﺮ ﻧﻮع ﭘﺮدازش ‪61 .............................. ................................‬‬
‫‪ -3‬اﺟﺰاء ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ‪61 ............ ................................‬‬
‫‪ 1 -3‬ﻧﻤﺎي ﺑﻴﺮوﻧﻲ ‪62 ................................ ................................‬‬
‫‪ 2 -3‬ﻧﻤﺎي دروﻧﻲ ‪63 ................................ ................................‬‬
‫‪ 1 -2 -3‬ﻻﻳﻪ ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده ‪63 ......... ................................‬‬
‫‪ 2 -2 -3‬ﻻﻳﻪ ﻫﺴﺘﻪ ﭘﺎﻳﮕﺎه داده ‪64 ................... ................................‬‬
‫‪ -4‬ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ و دﻳﻜﺸﻨﺮي داده ﻫﺎ ) ﻣﺘﺎ داده ﻫﺎ ( ‪64 ..............................‬‬
‫‪ -5‬ﭘﺎراﻣﺘﺮﻫﺎي ﺷﻨﺎﺧﺖ ‪66 .................... ................................ DBMS‬‬
‫‪ 1 -5‬ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺗﻮاﻧﺎﻳﻲ ﻫﺎ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ ‪67 ........................‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 2 -5‬ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪ ﻫﺎي دﻳﮕﺮ ‪70 ................ ................................‬‬


‫‪ : 3 -5‬ﻣﺸﺨﺼﺎت ﻛﻠﻲ ﺳﻴﺴﺘﻢ ‪72 .................... ................................‬‬
‫‪ : 4 -5‬ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ ‪72 ..............................‬‬
‫‪ 1 -4 -5‬ﺳﻄﺢ داﺧﻠﻲ‪ -‬ﻓﻴﺰﻳﻜﻲ ‪72 ................... ................................‬‬
‫‪ 2 -4 -5‬ﺳﻄﺢ ادراﻛﻲ ‪74 ............................ ................................‬‬
‫‪ 3 -4 -5‬ﺳﻄﺢ ﺧﺎرﺟﻲ ‪74 ............................ ................................‬‬
‫‪ 5 -5‬ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن داده اي ﻓﺮﻋﻲ ‪75 . ................................‬‬
‫‪ -6‬ﻣﺤﻮرﻫﺎي اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ ‪ DBMS‬ﻫﺎ ‪76 ............ ................................‬‬
‫‪ -7‬روش ﻣﻄﺎﻟﻌﻪ ﺳﻴﺴﺘﻢ ‪78 ............................. ................................‬‬
‫‪ -8‬روﻳﻪ ﻫﺎي ﻣﺴﺘﻨﺪ ﺑﺮاي ﻛﺎرﺑﺮان ‪78 .................. ................................‬‬
‫‪ -9‬ﻫﺰﻳﻨﻪ ﻫﺎ ‪79 ........... ................................ ................................‬‬
‫‪ -10‬ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده )‪80 ...................... ................................ (DBA‬‬
‫‪ 1 -10‬اﺻﻄﻼح ﺗﻴﻢ ‪80 ....................... ................................ DBA‬‬
‫‪ 2 -10‬ﻣﺴﺌﻮﻟﻴﺖ ﻫﺎ ‪81 ............................... ................................‬‬
‫‪ 3 -10‬وﻇﺎﻳﻒ ‪81 .... ................................ ................................‬‬
‫ﺗﻤﺮﻳﻨﺎت ‪85 ............. ................................ ................................‬‬
‫ﻓﺼﻞ ‪ - 5‬ﻣﺪل ﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي داده اي ﭘﺎﻳﮕﺎه داده ﻫﺎ ‪87 ................................‬‬
‫ﻫﺪف ﻛﻠﻲ ‪87 ........... ................................ ................................‬‬
‫ﻫﺪف رﻓﺘﺎري ‪87 ........ ................................ ................................‬‬
‫‪ -1‬ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ‪88 .... ................................ ................................‬‬
‫‪ -2‬آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ‪91 ....... ................................‬‬
‫‪ 1 -2‬ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ‪91 ........................... ................................‬‬
‫‪ 2 -2‬ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ‪93 .............. ................................‬‬
‫‪ 3 -2‬ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ‪98 ......... ................................‬‬
‫‪ 4 -2‬ﺑﺮﺧﻲ وﻳﮋﮔﻲ ﻫﺎي ﺳﺎﺧﺘﺎر ) و ﻣﺪل ( داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ‪99 ..............‬‬
‫‪ -3‬آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي ‪100 ............ ................................‬‬
‫‪ 1 -3‬ﺗﻌﺮﻳﻒ ﺳﺎﺧﺘﺎر ﺷﺒﻜﻪ ‪100 .................... ................................‬‬
‫‪ 2 -3‬ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ‪101 ......................... ................................‬‬
‫‪ 3 -3‬ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪ اي ‪102 ................. ................................‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 1 -3 -3‬ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط " ﻳﻚ ﺑﻪ ﭼﻨﺪ " ‪102 .. ................................‬‬


‫ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ ‪104 ................................ ................................‬‬
‫‪ 2 -3 -3‬ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط " ﭼﻨﺪ ﺑﻪ ﭼ ﻨﺪ " ‪104 .. ................................‬‬
‫‪ 4 -3‬ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪ اي ‪105 .............. ................................‬‬
‫‪ 5 -3‬ﺑﺮﺧﻲ وﻳﮋﮔﻲ ﻫﺎي ﺳﺎﺧﺘﺎر ) و ﻣﺪل ( داده اي ﺷﺒﻜﻪ اي ‪106 .................‬‬
‫ﺗﻤﺮﻳﻨﺎت ‪107 ........... ................................ ................................‬‬
‫ﻓﺼﻞ ‪ - 6‬ﭘﺎﻳﮕﺎه داده راﺑﻄﻪ اي ‪109 ......................... ................................‬‬
‫ﻫﺪف ﻛﻠﻲ ‪109 ......... ................................ ................................‬‬
‫ﻫﺪف رﻓﺘﺎري ‪109 ...... ................................ ................................‬‬
‫‪ -1‬ﺑﺎﻧﻚ اﻃﻼﻋﺎت راﺑﻄﻪ اي ‪110 ... ................................ Relational DB‬‬
‫‪ -2‬ﺳﺎﺧﺘﺎر داده اي راﺑﻄﻪ اي ‪110 ....................... ................................‬‬
‫‪ -3‬ﺗﻌﺮﻳﻒ راﺑﻄﻪ ‪111 ... ................................ ................................‬‬
‫‪111 ................ ................................ ................................ 3‬‬
‫‪ 2 -3‬ﺗﻌﺮﻳﻒ راﺑﻄﻪ ‪112 ............................. ................................‬‬
‫‪ 3 -3‬ﺗﻨﺎﻇﺮ ﺑﻴﻦ ﻣﻔﺎﻫﻴﻢ راﺑﻄﻪ اي و ﻣﻔﺎﻫﻴﻢ ﺟﺪوﻟﻲ ‪113 ...........................‬‬
‫‪ 4 -3‬ﺗﻌﺮﻳﻒ ﺻﻮري ﺟﺪول ‪113 .................... ................................‬‬
‫‪ -4‬وﻳﮋﮔﻲ ﻫﺎي راﺑﻄﻪ ‪115 .............................. ................................‬‬
‫‪ -5‬اﻧﻮاع ﻛﻠﻴﺪ در ﻣﺪل راﺑﻄﻪ اي ‪116 ................... ................................‬‬
‫‪ 1 -5‬اﺑﺮ ﻛﻠﻴﺪ ‪116 ... ................................ ................................‬‬
‫‪ 2 -5‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ‪116 .............................. ................................‬‬
‫‪ 3 -5‬ﻛﻠﻴﺪ اﺻﻠﻲ ‪117 ................................ ................................‬‬
‫‪ 4 -5‬ﻛﻠﻴﺪ ﺑﺪﻳﻞ ‪117 ................................ ................................‬‬
‫‪ 5 -5‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ‪118 ............................. ................................‬‬
‫ﻧﻜﺎﺗﻲ در ﻣﻮرد ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ‪119 .................. ................................‬‬
‫‪ -6‬اﻧﻮاع راﺑﻄﻪ ‪121 ..... ................................ ................................‬‬
‫راﺑﻄﻪ ﻣﺒﻨﺎ ‪121 ...... ................................ ................................‬‬
‫راﺑﻄﻪ ﻣﺸﺘﻖ ‪121 .... ................................ ................................‬‬
‫ﻣﻔﻬﻮم دﻳﺪ ‪121 ...... ................................ ................................‬‬
‫‪ -7‬ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ در ﻣﺪل راﺑﻄﻪ اي ‪122 ............. ................................‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 1 -7‬اﻧﻮاع ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ ‪123 ..................... ................................‬‬


‫‪ 1 -1 -7‬ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي ‪123 ......................... ................................‬‬
‫‪ 2 -1 -7‬ﻣﺘﺎ ﻗﻮاﻋﺪ ‪124 .............................. ................................‬‬
‫‪ 1 -2 -1 -7‬ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ﻣﻮﺟﻮدﻳﺘﻲ ‪124 ......... ................................‬‬
‫‪ 2 -2 -1 -7‬ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ ‪125 ........... ................................‬‬
‫ﺗ ﻤﺮﻳﻨﺎت ‪125 ........... ................................ ................................‬‬
‫ﻓﺼﻞ ‪ - 7‬ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪ اي ‪127 ................ ................................‬‬
‫ﻫﺪف ﻛﻠﻲ ‪127 ......... ................................ ................................‬‬
‫ﻫﺪف رﻓﺘﺎري ‪127 ...... ................................ ................................‬‬
‫‪ -1‬ﺗﻌﺮﻳﻒ ‪128 .......... ................................ ................................‬‬
‫‪ -2‬ﺟﺒﺮ راﺑﻄﻪ اي ) ‪ ( RA‬و ﻋﻤﻠﮕﺮﻫﺎي آن ‪129 ........ ................................‬‬
‫ﻋﻤ ﻠﮕﺮﻫﺎي اﺻﻠﻲ ‪130 ............... ................................ : ( Б ) Select‬‬
‫ﻋﻤﻠﮕﺮ اﺻﻠﻲ ‪130 .................. ................................ : ( ∏ ) Project‬‬
‫اﻟﺤﺎق ) ‪130 . ................................ ................................ : ( Join‬‬
‫ﻋﻤﻠﮕﺮﺗﻐﻴﻴﺮ ﻧﺎم ) ‪131 .......................... ................................ : ( ⍴‬‬
‫دﺳﺘﻮر ) ‪133 .... ................................ ................................ : ( Б‬‬
‫دﺳﺘﻮر ) ∏ ( ‪134 ... ................................ ................................ :‬‬
‫ﻋﻤﻠﮕﺮ ﻫﺎي ﭘﻴﻮﻧﺪ )‪135 ...................... ................................ (join‬‬
‫ﺿﺮب دﻛﺎرﺗﻲ ‪135 ......................... ( Cartesian product :‬‬ ‫)‪X‬‬
‫ﺧﻮاص ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ‪135 ........................... ................................‬‬
‫ﻛﺎرﺑﺮدﻫﺎي ﺿﺮب دﻛﺎرﺗﻲ ) ‪136 ................. ................................ ( X‬‬
‫اﻟﺤﺎق ﻃﺒﻴﻌﻲ ‪136 .......... ................................ : ( ∞ ) Natural join‬‬
‫‪137 ............................. ................................ ⍺ = semi join‬‬
‫ﻋﻤﻠﮕﺮ ﺗﻘﺴﻴﻢ ‪ Divide‬ﻳﺎ ‪138 ...... ................................ Division:‬‬
‫‪ -3‬ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮروي داده ﻫﺎ ‪140 ................ ................................‬‬
‫‪ 1 -3‬ﻋﻤ ﻠﮕﺮ درج ) ‪140 .................... ................................ ( Insert‬‬
‫‪ 2 -3‬ﻋﻤﻠﮕﺮ ﺑﻬﻨﮕﺎم ﺳﺎزي ) ‪141 ..... ................................ ( UPDATE‬‬
‫‪ 3 -3‬ﻋﻤﻠﮕﺮ ﺣﺬف ) ‪141 .............. ................................ ( DELETE‬‬
‫‪ -4‬ﻛﺎﻣﻞ ﺑﻮدن ﺟﺒﺮ راﺑﻄﻪ اي ‪142 ...................... ................................‬‬
‫‪www.PDFgozar.com‬‬

‫‪ -5‬ﺣﺴﺎب راﺑﻄﻪ اي ‪142 ................................ ................................‬‬


‫‪ 1 -5‬ﺣﺴﺎب راﺑﻄﻪ اي ﺗﺎﭘﻠﻲ ‪143 ................... ................................‬‬
‫‪ 1 -1 -5‬ﺷﻜﻞ ﻛﻠﻲ ﻋﺒﺎرت ﺣﺴﺎب ﺗﺎﭘﻠﻲ ‪143 ...... ................................‬‬
‫‪ 2 -1 -5‬ﺳﻮر وﺟﻮدي و ﺳﻮر ﻫﻤﮕﺎﻧﻲ ‪144 ........ ................................‬‬
‫ﺳﻮر وﺟﻮدي ‪144 ... ................................ ................................‬‬
‫ﺳﻮر ﻫﻤﮕﺎﻧﻲ ‪144 ... ................................ ................................‬‬
‫‪ 3 -1 -5‬ﻋﺒﺎرت ﻣﻄﻤﺌﻦ ‪144 ......................... ................................‬‬
‫‪ 2 -5‬ﺣﺴﺎب راﺑﻄﻪ ﻣﻴﺪاﻧﻲ ‪145 ..................... ................................‬‬
‫‪ -6‬ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮ ﻫﺎ ‪145 .................... ................................‬‬
‫‪ 1 -6‬ﺗﺒﺪﻳﻞ ‪ Q‬ﺑﻪ ‪147 ..................... ................................ o.Q:‬‬
‫‪ 2 -6‬ﺳﺎﻳﺮ ﻗﻮاﻋﺪ و ﻋﻤﻠﮕﺮ ﻫﺎي ﺑﻬﻴﻨﻪ ﺳﺎزي ‪147 .. ................................‬‬
‫‪148 ..... ................................ ................................ crs ∞ sec‬‬
‫‪148 ..... ................................ ................................ sec ∞ crs‬‬
‫ﺗﻤﺮﻳﻨﺎت ‪149 ........... ................................ ................................‬‬
‫ﻓﺼﻞ ‪ - 8‬آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪ اي ‪151 ............ ................................ SQL‬‬
‫ﻫﺪف ﻛﻠﻲ ‪151 ......... ................................ ................................‬‬
‫ﻫﺪف رﻓﺘﺎري ‪151 ...... ................................ ................................‬‬
‫‪ - 1‬ﻣﻘﺪﻣﻪ اي ﺑﺮ ‪152 ............................ ................................ SQL‬‬
‫‪ - 2‬دﻻﻳﻞ ﮔﺴﺘﺮدﮔﻲ ‪153 ........................ ................................ SQL‬‬
‫‪ - 3‬دﺳﺘﻮرات ﺗﻌﺮﻳﻒ د اده ﻫﺎ ‪154 .............. ................................ DDL‬‬
‫‪ 1 - 3‬ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎه داده ‪154 ....................... ................................‬‬
‫‪ 2 - 3‬ﺗﻌﺮﻳﻒ ﺷﻤﺎ ‪155 .............................. ................................‬‬
‫‪ 3 - 3‬ﺟﺪول ‪155 .... ................................ ................................‬‬
‫‪ 1 - 3 - 3‬ﺗﻌﺮﻳﻒ ﺟﺪول ‪155 ....................... ................................‬‬
‫‪ 2 - 3 - 3‬اﺻ ﻼ ً ح ﺳﺎﺧﺘﺎر ﺟﺪول ‪156 .............. ................................‬‬
‫‪ 3 - 3 - 3‬ﺗﻐﻴﻴﺮ ﻧﻮع داده ﻫﺎي ﻳﻚ ﺳﺘﻮن ﺟﺪول ‪158 ..............................‬‬
‫‪ 4 - 3 - 3‬ﺣﺬف ﻳﻚ ﺟﺪول ‪158 ................... ................................‬‬
‫‪ -4‬دﺳﺘﻮرات ﭘﺮس و ﺟﻮ ) ﻣﺸﺎﻫﺪه ( داده ﻫﺎ ‪159 ...... ................................‬‬
‫‪ - 5‬دﺳﺘﻮرات ﻛﺎر ﺑﺮ روي داده ﻫﺎ ‪162 ................ ................................‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 1 - 5‬دﺳﺘﻮر ‪163 ....................... ................................ INSERT‬‬


‫‪ 2 - 5‬دﺳﺘﻮر ‪164 ...................... ................................ UPDATE‬‬
‫‪ 3 - 5‬دﺳﺘﻮر ‪166 ....................... ................................ DELETE‬‬
‫‪ -6‬ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺑﺎ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ‪167 ......... ................................‬‬
‫‪ 1 - 6‬ﻋﻤﻠﮕ ﺮ ﭘﻴﻮﻧﺪ داﺧﻠﻲ ‪168 ..................... ................................‬‬
‫ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ ‪171 ........................... ................................‬‬
‫‪ 3 - 6‬ﻋﻤﻠﮕﺮ ﻫﺎي ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ‪171 .............. ................................‬‬
‫‪ 1 - 3 - 6‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﭼﭗ ‪172 .................. ................................‬‬
‫‪ 2 - 3 - 6‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ ‪173 ................ ................................‬‬
‫‪ 3 - 3 - 6‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﻛﺎﻣﻞ ‪175 ................. ................................‬‬
‫‪ - 7‬ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎ در ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ‪176 ..... ................................‬‬
‫‪ 1 - 7‬ﻋﻤﻠﮕﺮ ﮔﺮوه ﺑﻨﺪي ‪176 ..................... ................................‬‬
‫‪ 2 - 7‬ﻋﻤﻠﮕﺮ ﻣﺮﺗﺐ ﺳﺎزي ‪177 ..................... ................................‬‬
‫‪ 3 - 7‬ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ ‪178 ............................ ................................‬‬
‫‪ 4 - 7‬ﻋﻤﻠﮕﺮ ‪179 ...................... ................................ HAVING‬‬
‫‪ 5 - 7‬ﻋﻤﻠﮕﺮ ‪180 ................... ................................ BETWEEN‬‬
‫‪ 6 - 7‬ﻋﻤﻠﮕﺮ ‪181 ........................... ................................ LIKE‬‬
‫‪ - 8‬اﺳﺘﻔﺎده از ﭘﺮس و ﺟﻮﻫﺎي ﺗﻮدرﺗﻮ ‪182 ........... ................................‬‬
‫‪ 1 - 8‬اﺳﺘﻔﺎده ا ز زﻳﺮﭘﺮﺳﺶ ﻫﺎ ) ﭘﺮﺳﺶ ﻫﺎي ﻓﺮﻋﻲ ( ‪182 ..........................‬‬
‫‪ 2 - 8‬ﻋﻤﻠﮕﺮ ‪183 ............................... ................................ IN‬‬
‫‪ 3 - 8‬ﻋﻤﻠﮕﺮ ‪184 ....................... ................................ EXISTS‬‬
‫‪ - 9‬دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮز دﺳﺘﺮﺳﻲ ‪184 ............. ................................‬‬
‫‪ 1 - 9‬دﺳﺘﻮر اﻋﻄﺎ اﺧﺘﻴﺎرات ‪185 ................... ................................‬‬
‫‪ 2 - 9‬دﺳﺘﻮر ﻟﻐﻮ اﺧﺘﻴﺎرات ‪186 .................... ................................‬‬
‫‪ -10‬اﻣﻜﺎﻧﺎت و وﻳﮋﮔﻲ ﻫﺎي ‪ SQL2‬و ‪186 ... ................................ SQL3‬‬
‫‪ 1 - 10‬اﻣﻜﺎﻧﺎت ‪186 ....................... ................................ SQL2‬‬
‫‪ 2 -10‬اﻣﻜﺎﻧﺎت ‪187 ........................ ................................ SQL3‬‬
‫ﺗﻤﺮﻳﻨﺎت ‪188 ........... ................................ ................................‬‬
‫ﻓﺼﻞ ‪ - 9‬ﻧﺮﻣﺎل ﺳﺎزي ‪193 . ................................ ................................‬‬
‫‪www.PDFgozar.com‬‬

‫ﻫﺪف ﻛﻠﻲ ‪193 ......... ................................ ................................‬‬


‫ﻫﺪف رﻓﺘﺎري ‪193 ...... ................................ ................................‬‬
‫‪ -1‬ﺗﻌﺮﻳﻒ راﺑﻄﻪ ﻧﺮﻣﺎل ‪194 ............................ ................................‬‬
‫‪ 1 -1‬دﻻﻳﻞ ﻟﺰوم ﻧﺮﻣﺎل ﺑﻮدن راﺑﻄﻪ ‪194 ........... ................................‬‬
‫‪ 2 -1‬ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻧﺮﻣﺎل ‪194 ...................... ................................‬‬
‫‪ 3 -1‬ﻣﺰاﻳﺎ و ﻣﻌﺎﻳ ﺐ راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل ‪195 ......... ................................‬‬
‫‪ -2‬ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ ‪195 ....................... ................................‬‬
‫‪ 1 -2‬اﻧﻮاع واﺑﺴﺘﮕﻲ ﻫﺎ ‪196 ......................... ................................‬‬
‫‪ 1 -1 -2‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ‪196 ........................ ................................‬‬
‫‪ 2 -1 -2‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ ‪196 ................. ................................‬‬
‫‪ 2 -2‬ﺣﺎﻟﺘﻬﺎي واﺑﺴﺘﮕﻲ ‪197 ........................ ................................‬‬
‫‪ 3 -2‬ﺗﻌﺮﻳﻒ ‪197 ............................ ................................ F ﹢‬‬
‫روش ﻳﺎﻓﺘﻦ ‪197 ............................. ................................ F ﹢‬‬
‫‪ 4 -2‬ﻧﻤﻮدار واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﺎﺑﻌﻲ ‪198 ............. ................................‬‬
‫‪ -3‬ﺻﻮرت ﻫﺎي ﻧﺮﻣﺎل ‪199 .............................. ................................‬‬
‫‪ -4‬ﻓﺮاﻳﻨﺪ ﻧﺮﻣﺎل ﺳﺎزي ‪200 ........................... ................................‬‬
‫‪ 1 -4‬راﺑﻄﻪ ‪201 ............................... ................................ 1NF‬‬
‫‪ 2 -4‬راﺑﻄﻪ ‪202 ............................... ................................ 2NF‬‬
‫‪ 3 -4‬راﺑﻄﻪ ‪203 ............................... ................................ 3NF‬‬
‫‪ 4 -4‬راﺑﻄﻪ ‪204 ............................ ................................ BCNF‬‬
‫‪ 5 -4‬راﺑﻄﻪ ‪204 ............................... ................................ 4NF‬‬
‫‪ 6 -4‬راﺑﻄﻪ ‪205 ............................... ................................ 5NF‬‬
‫ﺗﻤﺮﻳﻨﺎت ‪207 ........... ................................ ................................‬‬
‫ﻓﺼﻞ ‪ - 10‬ﻣﻌﻤﺎري ﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪209 . ................................‬‬
‫ﻫﺪف ﻛﻠﻲ ‪209 ......... ................................ ................................‬‬
‫ﻫﺪف رﻓﺘﺎري ‪209 ...... ................................ ................................‬‬
‫‪ -1‬ﻣﻘﺪﻣﻪ ‪210 ........... ................................ ................................‬‬
‫‪ -2‬اﻧﻮاع ﻣﻌﻤﺎري ‪210 .. ................................ ................................‬‬
‫‪ 1 -2‬ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ ‪211 .......................... ................................‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 2 -2‬ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ ‪211 ........................ ................................‬‬


‫‪ 1 -2 -2‬ﻣ ﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار ‪212 ........................‬‬
‫‪ 1 -1 -2 -2‬ﺗﻌﺮﻳﻒ ‪212 .............................. ................................‬‬
‫‪ 2 -1 -2 -2‬ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار ‪213 .............................‬‬
‫‪ 3 -1 -2 -2‬ﻃﺮﺣﻬﺎي ﻣﻌﻤﺎري ‪215 .................. ................................‬‬
‫‪ 1 - 3 -1 -2 -2‬از ﻧﻈﺮ ﺗﻌﺪاد ﻣﺸﺘﺮي و ﺧﺪﻣﺘﮕﺰار ‪215 ............................‬‬
‫‪ 2 - 3 -1 -2 -2‬از ﻧﻈﺮ ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖ اﻓﺰاري ‪215 ..............................‬‬
‫ﻣﻌﻤﺎري ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ ‪215 ................. ................................‬‬
‫ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ ‪216 ............................ ................................‬‬
‫‪ 4 -1 -2 -2‬ﻣﺰاﻳﺎي ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار ‪216 ..............................‬‬
‫‪ 2 -2 -2‬ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه ‪217 ...............................‬‬
‫‪ 1 -2 -2 -2‬ﺗﻌﺮﻳﻒ ‪217 .............................. ................................‬‬
‫‪ : 2 -2 -2 -2‬ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖ اﻓﺰاري ‪219 ........... ................................‬‬
‫‪ 3 -2 -2 - 2‬ﻗﻮاﻋﺪ ‪220 ............................. ................................‬‬
‫‪ 4 -2 -2 -2‬ﻣﺰاﻳﺎ ‪220 ................................ ................................‬‬
‫‪ 5 -2 -2 -2‬ﻣﻌﺎﻳﺐ ‪221 .............................. ................................‬‬
‫‪ 3 -2 -2‬ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي ‪221 ........... ................................‬‬
‫‪ 1 -3 -2 -2‬ﻃﺮح ﻛﻠﻲ ﻣﻌﻤﺎري ‪222 ................. ................................‬‬
‫‪ 2 -3 -2 -2‬ﻃﺮح ﻫﺎ ‪222 .............................. ................................‬‬
‫‪ 1 - 2 -3 -2 -2‬ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك ‪223 ..... ................................‬‬
‫‪ 2 -2 -3 -2 -2‬ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚ ﻫﺎي ﻣﺸﺘﺮك ‪224 . ................................‬‬
‫‪ 3 -2 -3 -2 -2‬ﻣﻌﻤﺎري ﺑﻲ اﺟﺰا ﻣﺸﺘﺮك ‪225 ....... ................................‬‬
‫‪ 4 -2 -3 -2 -2‬ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ‪226 ......... ................................‬‬
‫‪ 4 -2 -2‬ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ ‪226 ................ ................................‬‬
‫‪ 5 -2 -2‬ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه ‪227 ................ ................................‬‬
‫‪ 1 -5 -2 -2‬ﺗﻌﺮﻳﻒ ‪227 .............................. ................................‬‬
‫‪ : 2 -5 -2 -2‬ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه ‪228 .. ................................‬‬
‫ﺗﻤﺮﻳﻨﺎت ‪229 ........... ................................ ................................‬‬
‫ﺿﻤﻴﻤﻪ ‪ - 1‬ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت ‪231 ...................... ................................‬‬
‫‪www.PDFgozar.com‬‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪231 ................................ ................................ 1‬‬


‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪234 ......................... ................................ 1‬‬
‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪235 ................................ ................................ 2‬‬
‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪238 ......................... ................................ 2‬‬
‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪240 ................................ ................................ 3‬‬
‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪256 ......................... ................................ 3‬‬
‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪261 ................................ ................................ 4‬‬
‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪267 ......................... ................................ 4‬‬
‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪268 ................................ ................................ 5‬‬
‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪276 ......................... ................................ 5‬‬
‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪279 ................................ ................................ 6‬‬
‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪292 ......................... ................................ 6‬‬
‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪297 ................................ ................................ 7‬‬
‫ﭘﺎﺳﺦ ﺗﺴﺘﻬﺎي ﺳﺮي ‪301 ............................ ................................ 7‬‬
‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪302 ................................ ................................ 8‬‬
‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪312 ......................... ................................ 8‬‬
‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪315 ................................ ................................ 9‬‬
‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪319 ......................... ................................ 9‬‬
‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪322 ............................... ................................ 10‬‬
‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪331 ........................ ................................ 10‬‬
‫ﺿﻤﻴﻤﻪ ‪335 ......................... ................................ _ BNF 99 SQL - 2‬‬
‫واژه ﻧﺎﻣﻪ اﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻓﺎرﺳﻲ ‪391 ........................ ................................‬‬
‫واژه ﻧﺎﻣﻪ ﻓﺎرﺳﻲ ﺑﻪ اﻧﮕﻠﻴﺴﻲ ‪407 ........................... ................................‬‬
‫ﻣﻨﺎﺑﻊ و ﻣﺎﺧﺬ ‪425 ......... ................................ ................................‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﻴﺸﮕﻔﺘﺎﺭ‬
‫اﻳﻦ ﻛﺘﺎب ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺳﺮ ﻓﺼﻞ ﺗﻌﻴﻴﻦ ﺷﺪه ﺑﺮاي داﻧﺸﺠﻮﻳﺎن داﻧﺸﮕﺎه ﭘﻴﺎمﻧﻮر در‬
‫رﺷﺘﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺗﻬﻴﻪ و ﺗﻨﻈﻴﻢ ﺷﺪه اﺳﺖ‪ .‬در ﺗﻬﻴﻪ اﻳﻦ ﻛﺘﺎب ﺳﻌﻲ ﺑﺮ آن ﺷﺪه اﺳﺖ ﺗﺎ‬
‫ﻣﺒﺎﺣﺜﻲ ﻛﻪ ﺑﺮاي ﺗﺪرﻳﺲ درس ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻻزم ﺑﻪ ﺗﺪرﻳﺲ اﺳﺖ‪ ،‬ﻣﻄﺮح ﮔﺮدﻧﺪ‪.‬‬
‫اﻳﻦ ﻛﺘﺎب ﻣﺸﺘﻤﻞ ﺑﺮ ده ﻓﺼﻞ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫در اﺑﺘﺪاي ﻛﺘﺎب ﻟﻴﺴﺖ ﺳﺮ ﻓﺼﻞ ﻣﻄﺎﻟﺐ ﻗﻴﺪ ﺷﺪه اﺳﺖ‪ .‬در اﻧﺘﻬﺎي ﻛﺘﺎب‬
‫ﻣﺠﻤﻮﻋﻪاي از ﺳﺆاﻻت ﺗﺴﺘﻲ ﺑﻪ ﻫﻤﺮاه ﭘﺎﺳﺦ ﻧﺎﻣﻪ اراﺋﻪ ﺷﺪه اﺳﺖ‪ .‬ﻫﻤﭽﻨﻴﻦ ﺑﻪ ﻣﻨﻈﻮر‬
‫‪ ،‬در ﺿﻤﻴﻤﻪ ‪ 2‬ﻛﺘﺎب ﻣﺘﻦ ﻛﺎﻣﻞ‬ ‫‪SQL‬‬ ‫آﺷﻨﺎﻳﻲ ﺑﻴﺸﺘﺮ ﻋﻼﻗﻤﻨﺪان ﺑﻪ ﺳﺎﺧﺘﺎر ﭘﺎﻳﻪاي زﺑﺎن‬
‫‪ SQL BNF‬اراﺋﻪ ﺷﺪه اﺳﺖ‪.‬‬
‫ﻧﻈﺮ ﺑﻪ ﻟﺰوم ﺟﺎﮔﺬاري ﻣﻌﺎدل ﻓﺎرﺳﻲ ﻛﻠﻤﺎت ﺗﺨﺼﺼﻲ ﺑﺮاي راﺣﺘﻲ ﻓﻬﻢ‬
‫داﻧﺸﺠﻮﻳﺎن دو واژهﻧﺎﻣﻪ ﺑﻪﺻﻮرت اﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻓﺎرﺳﻲ و ﻓﺎرﺳﻲ ﺑﻪ اﻧﮕﻠﻴﺴﻲ در اﻧﺘﻬﺎي‬
‫ﻛﺘﺎب آﻣﺪه اﺳﺖ‪ .‬در ﺻﻔﺤﻪ ﭘﺎﻳﺎﻧﻲ ﻛﺘﺎب ﻟﻴﺴﺖ ﻣﻨﺎﺑﻊ و ﻣﺎﺧﺬ ﻧﻴﺰ ﺑﺮاي آﮔﺎﻫﻲ‬
‫داﻧﺸﺠﻮﻳﺎن اراﺋﻪ ﺷﺪه اﺳﺖ‪.‬‬
‫اﻳﻦ اﺛﺮ ﺑﺎ دﻗﺖ ﻧﻈﺮ ﻓﺮاوان ﻛﺎرﺷﻨﺎﺳﺎن ﻣﺪﻳﺮﻳﺖ ﺗﻮﻟﻴﺪ ﻣﻮاد و ﺗﺠﻬﻴﺰات آﻣﻮزﺷﻲ‬
‫ﻣﻮرد ارزﻳﺎﺑﻲ ﻗﺮار ﮔﺮﻓﺖ ﻛﻪ ﺑﺪﻳﻨﻮﺳﻴﻠﻪ از ﺟﻨﺎب آﻗﺎي اﻛﺒﺮي ﺑﻪ ﻧﻤﺎﻳﻨﺪﮔﻲ از آن ﻋﺰﻳﺰان‬
‫ﻗﺪرداﻧﻲ ﻣﻲﻧﻤﺎﻳﻴﻢ‪.‬‬
‫ﻛﺘﺎب ﺣﺎﺿﺮ ﺑﻌﻨﻮان ﻣﻨﺒﻊ درﺳﻲ در داﻧﺸﮕﺎه ﭘﻴﺎمﻧﻮر اﻋﻼم ﺷﺪه ﻛﻪ ﺑﻌﻠﺖ ﻛﻮﺗﺎه‬
‫ﺑﻮدن زﻣﺎن اﻣﻜﺎن رﻓﻊ ﻛﻠﻴﻪ اﻳﺮادات ﺗﺎﻳﭙﻲ و ﻧﮕﺎرﺷﻲ ﻣﻴﺴﺮ ﻧﺸﺪ‪ .‬ﻟﺬا از ﻛﻠﻴﻪ‬
‫ﺻﺎﺣﺐﻧﻈﺮان‪ ،‬اﺳﺎﺗﻴﺪ و داﻧﺸﺠﻮﻳﺎن ﻣﺤﺘﺮم ﺗﻘﺎﺿﺎ دارد ﻧﻈﺮات ﭘﻴﺸﻨﻬﺎدي ﺧﻮد را در‬
‫ﺟﻬﺖ اﺻﻼح اﻳﺮادات اﻳﻦ اﺛﺮ‪ ،‬ﺑﻪ آدرس ﭘﺴﺖ اﻟﻜﺘﺮوﻧﻴﻜﻲ ﻣﻮﻟﻔﻴﻦ ارﺳﺎل ﻓﺮﻣﺎﻳﻨﺪ‪.‬‬
‫در ﭘﺎﻳﺎن از آﻗﺎي ﻣﻬﻨﺪس ﻛﺎﻣﻴﺎر آﻫﻨﻜﻮب ﻛﻪ در ﺗﻨﻈﻴﻢ و ﺗﺪوﻳﻦ ﻛﺘﺎب ﻫﻤﻜﺎري‬
‫ﺷﺎﻳﺎﻧﻲ داﺷﺘﻪاﻧﺪ ﺳﭙﺎﺳﮕﺰاري ﻣﻲﻛﻨﻴﻢ‪.‬‬
‫اﺣﻤﺪ ﻓﺮاﻫﻲ‬ ‫ﻧﺎﺻﺮ آﻳﺖ‬
‫‪afaraahi@pnu.ac.ir‬‬ ‫‪ayat@pnu.ac.ir‬‬

‫ﺗﺎﺑﺴﺘﺎن ‪1386‬‬
www.PDFgozar.com
‫‪www.PDFgozar.com‬‬

‫ﻓﺼﻞ ‪۱‬‬

‫ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩﺩﺍﺩﻩ‬

‫ﻫﺪف ﻛﻠﻲ‬
‫در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﺎرﻳﺨﭽﻪ اي در راﺑﻄﻪ ﺑﺎ ﺑﺤﺚ ﭘﺎﻳﮕﺎه دادهﻫﺎ و ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ‬
‫ﻣﻄﺮح و ﺳﭙﺲ اﻧﻮاع ﺳﻴﺴﺘﻢﻫﺎي ﭘﺎﻳﮕﺎه داده ﻧﺎم ﺑﺮده ﻣﻲﺷﻮﻧﺪ‪ .‬در اداﻣﻪ ﺑﻌﻀﻲ از‬
‫ﻣﻔﺎﻫﻴﻢ ﻛﻠﻴﺪي در ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ ‪ .‬ﺳﭙﺲ ﻣﻔﻬﻮم ﭘﺎﻳﮕﺎهداده‬
‫ﺑﺼﻮرﺗﻲ دﻗﻴﻖ ﺗﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ ‪ .‬ﺑﺎ ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎه دادهﻫﺎ‬
‫ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع‪ ،‬ﻣﺮاﺣﻞ ﻛﺎر در ﻣﺸﻲ ﻓﺎﻳﻠﻴﻨﮓ و ﭘﺎﻳﮕﺎه داده ﻣﻮرد ﺑﺤﺚ و‬
‫ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ و در ﭘﺎﻳﺎن اﺟﺰاء ﭘﺎﻳﮕﺎه داده ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار‬
‫ﮔﺮﻓﺘﻪ و ﺟﺎﻳﮕﺎه ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده ﺑﺮرﺳﻲ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬
‫در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬
‫اﻧﻮاع ﺳﻴﺴﺘﻢﻫﺎي ﭘﺎﻳﮕﺎهداده‬ ‫•‬
‫‪1‬‬
‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده‬ ‫•‬
‫اﺻﻄﻼح ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت )ﺷﺎﻣﻞ داده‪ ،‬اﻃﻼع‪ ،‬داﻧﺶ و‪(...‬‬ ‫•‬
‫ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده‬ ‫•‬
‫ﻣﺮاﺣﻞ ﻛﺎر در روش ﻓﺎﻳﻠﻴﻨﮓ‬ ‫•‬
‫ﻣﺮاﺣﻞ ﻛﺎر در روش ﭘﺎﻳﮕﺎﻫﻲ‬ ‫•‬

‫)‪1. D at a b a s e M a n a ge me n t Sy s t e m ( D B M S‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ ‫‪2‬‬

‫اﺟﺰاء ﭘﺎﻳﮕﺎهداده‬ ‫•‬


‫ﻣﻔﻬﻮم داده‪ ،‬ﺳﺨﺖاﻓﺰار و ﻧﺮماﻓﺰار در ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫اﻧﻮاع ﻛﺎرﺑﺮان در ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﺗﻌﺮﻳﻒ ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده و وﻇﺎﻳﻒ آن‬ ‫•‬

‫‪ -1‬ﺗﺎرﻳﺨﭽﻪ‬
‫ﻳﻜﻲ از ﻣﺘﺪاول ﺗﺮﻳﻦ و اﺻﻠﻲ ﺗﺮﻳﻦ اﺻﻄﻼﺣﺎت در ﻣﻘﻮﻟﻪ اﻧﻔﻮرﻣﺎﺗﻴﻚ اﺻﻄﻼح‬
‫ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﺑﺎﺷﺪ‪ .‬اﺻﻄﻼح ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه دادهﻫﺎ در ﻣﻌﻨﺎي ﻋﺎم‪ ،‬ﻳﻜﻲ از‬
‫ﺳﻴﺴﺘﻢ ﻫﺎي ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت اﺳﺖ ‪ .‬ﭘﺲ از ﻃﺮاﺣﻲ ﻧﺴﻞ اوﻟﻴﻪ ﺳﻴﺴﺘﻢ ﻫﺎي‬
‫ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت‪ ،‬ﺑﺮاي ﺗﻘﻮﻳﺖ ﻣﻜﺎﻧﻴﺰم ﻫﺎ و اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ ذﺧﻴﺮه‪،‬‬
‫ﺑﺎزﻳﺎﺑﻲ و ﭘﺮدازش داده ﻫﺎ و ﻫﻤﭽﻨﻴﻦ ﺑﻪ ﻣﻨﻈﻮر ﺗﺴﻬﻴﻞ در اﻧﺠﺎم اﻣﻮر ﻓﻮق‪،‬‬
‫ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺷﻜﻞ ﮔﺮﻓﺘﻨﺪ‪.‬‬
‫ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎهدادهﻫﺎ از اواﺳﻂ دﻫﻪ ﺷﺼﺖ ﻣﻴﻼدي و ﺑﻪ ﻣﻨﻈﻮر ﺗﻮﺳﻌﻪ‬
‫ﺳﻴﺴﺘﻢﻫﺎي ﻓﺎﻳﻠﻴﻨﮓاﻳﺠﺎد ﺷﺪﻧﺪ‪ .‬ﻃﻮل دﻫﻪ ﻫﻔﺘﺎد ﻣﺪﻟﻬﺎي ﭘﺎﻳﮕﺎهﻫﺎي داده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ و‬
‫ﺷﺒﻜﻪاي ﺗﻮﺳﻌﻪ ﻳﺎﻓﺘﻪ و ﻣﻮرد اﺳﺘﻔﺎده زﻳﺎدي ﻗﺮار ﮔﺮﻓﺘﻨﺪ‪ .‬در اواﻳﻞ دﻫﻪ ﻫﺸﺘﺎد‪ ،‬ﺷﺎﺧﻪاي‬
‫از آن ﺗﻜﻨﻮﻟﻮژي ﺑﻪ ﻧﺎم ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎي راﺑﻄﻪاي ﻣﻮرد ﺗﻮﺟﻪ ﺑﻴﺸﺘﺮي‬
‫ﻗﺮار ﮔﺮﻓﺖ و ﺑﻪ ﻋﻨﻮان ﺗﻜﻨﻮﻟﻮژي ﺑﺮﺗﺮ ﺷﻨﺎﺧﺘﻪ ﺷﺪ و ﻫﻢ اﻛﻨﻮن ﻫﻢ ﺑﺴﻴﺎر ﻣﻮرد اﺳﺘﻔﺎده‬
‫ﻗﺮار ﻣﻲﮔﻴﺮد‪ .‬ﻣﻬﻤﺘﺮﻳﺖ ﺧﺼﻴﺼﻪ ﺳﻴﺴﺘﻢﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ‪ ،‬ﻣﺴﺘﻘﻞ ﺷﺪن‬
‫ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي از ﺟﻨﺒﻪﻫﺎ و ﺧﺼﻮﺻﻴﺎت ﻣﺤﻴﻂ ﻓﻴﺰﻳﻜﻲ ذﺧﻴﺮه ﺳﺎزي اﺳﺖ‪.‬‬
‫از اواﺳﻂ دﻫﻪ ﻫﺸﺘﺎد ﺗﺎﻛﻨﻮن‪ ،‬ﺳﻴﺴﺘﻢ ﻫﺎي دﻳﮕﺮي ﻫﻢ اﻳﺠﺎد و ﻋﺮﺿﻪ ﺷﺪ از ﺟﻤﻠﻪ‪:‬‬
‫ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻌﻤﻮﻟﻲ دادهﻫﺎ‬ ‫•‬
‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ دادهﻫﺎ و ﺟﺴﺘﺠﻮﻫﺎ‬ ‫•‬
‫‪1‬‬
‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬

‫ﺑﻪ ﻣﺮور زﻣﺎن ﺑﻮاﺳﻄﻪ اﻓﺰاﻳﺶ ﺣﺠﻢ و ﻧﻮع اﻃﻼﻋﺎت ﻧﻴﺎزﻫﺎي ﺟﺪﻳﺪﺗﺮي ﻣﻄﺮح و‬

‫)‪1. R el a t i o n a l D a t a ba s e M an a ge me n t S y s t e m ( R D B M S‬‬
‫‪www.PDFgozar.com‬‬

‫‪3‬‬ ‫ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬

‫ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻣﺘﻨﺎﺳﺐ ﺑﺎ آﻧﻬﺎ ﻧﻴﺰ اراﺋﻪ ﮔﺮدﻳﺪ ﻛﻪ ﻧﻤﻮﻧﻪﻫﺎي آن در ذﻳﻞ آﻣﺪه اﺳﺖ‪:‬‬
‫‪1‬‬
‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داﻧﺶ‬ ‫•‬
‫‪2‬‬
‫ﺳﻴﺴﺘﻢ ﻣﻌﻨﺎﻳﻲ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫‪3‬‬
‫ﺳﻴﺴﺘﻢ ﻫﻮﺷﻤﻨﺪ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫‪4‬‬
‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺷﻴﻲ ﮔﺮا‬ ‫•‬
‫‪5‬‬
‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎي زﻣﺎﻧﻤﻨﺪ‬ ‫•‬
‫‪6‬‬
‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده ﺑﻼدرﻧﮓ‬ ‫•‬
‫‪7‬‬
‫ﺳﻴﺴﺘﻢ داده ﻛﺎوي‬ ‫•‬
‫‪8‬‬
‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‬ ‫•‬

‫اﻣﺎ ﺑﺎﻳﺪ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ اﺷﺎره ﻛﺮد ﻛﻪ ﺑﻴﺸﺘﺮ اﻳﻦ ﺳﻴﺴﺘﻢﻫﺎ در ﻛﺎرﺑﺮدﻫﺎي ﺧﺎﺻﻲ اﺳﺘﻔﺎده‬
‫ﻣﻲ ﺷﻮﻧﺪ ‪ .‬اﻣﺮوزه ﻧﻮع ﺟﺪﻳﺪي از ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﻨﺎم ﺳﻴﺴﺘﻢ‬
‫ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده اﺳﺘﻨﺘﺎﺟﻲ ﺑﺼﻮرت آﻛﺎدﻣﻴﻚ در ﺣﺎل ﻃﺮاﺣﻲ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ اﻟﺒﺘﻪ‬
‫ﻫﻨﻮز در ﻣﺤﻴﻂ ﻫﺎي ﺗﺠﺎري و ﺻﻨﻌﺘﻲ ﻧﻤﻮدي ﭘﻴﺪا ﻧﻜﺮده اﺳﺖ ‪.‬‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ آﻧﭽﻪ ﮔﻔﺘﻪ ﺷﺪ ﺷﺎﻳﺪ ﺑﺘﻮان ﺳﻴﺴﺘﻢﻫﺎي ﭘﺎﻳﮕﺎﻫﻲ را ﺑﻪ ﺳﻪ ﻧﺴﻞ زﻳﺮ‬
‫ﺗﻘﺴﻴﻢ ﻛﺮد‪:‬‬
‫‪9‬‬
‫ﺳﻴﺴﺘﻢﻫﺎي ﭘﻴﺶ راﺑﻄﻪاي‬ ‫•‬
‫‪10‬‬
‫ﺳﻴﺴﺘﻢﻫﺎي راﺑﻄﻪاي‬ ‫•‬
‫‪11‬‬
‫ﺳﻴﺴﺘﻢﻫﺎي ﭘﺲ راﺑﻄﻪاي‬ ‫•‬

‫)‪1. K n ow l e d ge B a s e M a n a ge me n t Sy s t e m ( K B M S‬‬
‫‪2. Se ma n t i c Sy s t e m‬‬
‫‪3. In t e l l i ge n t Sy s t e m‬‬
‫‪4. O b je c t O r i e n t e d D a t a ba s e M an a ge m e n t Sy s t e m‬‬
‫‪5. T e mp o r a l D a t a b a s e M a n a ge me n t Sy s t e m‬‬
‫‪6. R ea l - T i me D a t a b a se M a na ge me n t S y s t e m‬‬
‫‪7. D at a M i ni n g Sy s t e m‬‬
‫‪8. M u lt i D at a b a s e M a n a ge me n t Sy s t e m‬‬
‫‪9. P re R e la t i o n a l Sy s t e ms‬‬
‫‪10. R el a t i o n a l Sy s t e ms‬‬
‫‪11. P o st R e la t i o n a l Sy s t e ms‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ ‫‪4‬‬

‫ﺷﺎﻳﺪ ﺑﺘﻮان ﮔﻔﺖ ﻋﻠﺖ اﺻﻠﻲ ﺗﻔﺎوت ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺎ ﺑﻘﻴﻪ ﺳﻴﺴﺘﻤﻬﺎ‬
‫در وﺟﻮد ﺳﻴﺴﺘﻢ ﺣﺼﺎري ﻧﻔﻮذ ﻧﺎﭘﺬﻳﺮي ﺑﻪ ﻧﺎم ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده اﺳﺖ ﻛﻪ ﻫﺮ‬
‫ﮔﻮﻧﻪ دﺳﺘﻴﺎﺑﻲ ﺑﻪ دادهﻫﺎ ﺑﺎﻳﺪ از ﻃﺮﻳﻖ اﻳﻦ ﺳﻴﺴﺘﻢ اﻧﺠﺎم ﺷﻮد‪ .‬ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده‬
‫در واﻗﻊ اﻧﻘﻼﺑﻲ در ﺑﺎﻧﻜﻬﺎي اﻃﻼﻋﺎﺗﻲ ﺑﻪ ﺷﻤﺎر ﻣﻲآﻳﺪ‪ .‬در ﻫﻤﻴﻦ اواﺧﺮ دو ﺗﺤﻮل دﻳﮕﺮ‬
‫آﻣﺪ‪:‬‬ ‫ﻫﻢ در ﺗﻜﻨﻮﻟﻮژي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﭘﺪﻳﺪ‬
‫‪1‬‬
‫ﻃﺮاﺣﻲ واﻳﺠﺎد ﭘﺎﻳﮕﺎهﻫﺎي داده ﺗﻮزﻳﻊ ﺷﺪه ﺗﺤﺖ ﺷﺒﻜﻪﻫﺎي ﻣﺨﺘﻠﻒ‬ ‫•‬
‫ﻃﺮاﺣﻲ واﻳﺠﺎد ﺳﻴﺴﺘﻢﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده ﺑﺮاي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺷﺨﺼﻲ‬ ‫•‬

‫ﺑﺮاي آﺷﻨﺎ ﺷﺪن ذﻫﻦ ﺧﻮاﻧﻨﺪه ﺗﻌﺮﻳﻒ ﭼﻨﺪ اﺻﻄﻼح ﭘﺎﻳﻪ اي در ﺳﻴﺴﺘﻢ ﻫﺎي ﭘﺎﻳﮕﺎه داده‬
‫در ذﻳﻞ اراﺋﻪ ﻣﻲ ﮔﺮدد ‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺗﻌﺎرﻳﻒ ﻣﺮﺑﻮط ﺑﻪ اﺻﻄﻼﺣﺎت ذﻛﺮ ﺷﺪه‪،‬‬
‫ﺑﻌﻀﺎ در ﻛﺘﺎبﻫﺎي ﻣﺨﺘﻠﻒ ﺑﺎ ﻛﻤﻲ ﺗﻐﻴﻴﺮ ﻧﻮﺷﺘﻪ ﺷﺪه اﻧﺪ ‪ .‬وﻟﻲ ﻣﻔﻬﻮم اﺻﻠﻲ آﻧﻬﺎ ﺑﺴﻴﺎر‬
‫ﻧﺰدﻳﻚ ﺑﻬﻢ ﻫﺴﺘﻨﺪ ‪.‬‬

‫‪ 1-1‬ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت‬


‫اﺻﻄﻼح ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت در واﻗﻊ ﺑﻪ ﻣﺠﻤﻮﻋﻪاي از اﻟﮕﻮرﻳﺘﻢ ﻫﺎ و ﺗﻜﻨﻴﻜﻬﺎ‬
‫اﻃﻼق ﻣﻲ ﮔﺮدد ﻛﻪ در ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﻜﺎر ﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮد و ﺑﻪ ﻛﺎرﺑﺮ‬
‫اﻣﻜﺎن ﻣﻲ دﻫﺪ ﺗﺎ اﻃﻼﻋﺎت )اﺳﻨﺎد‪ ،‬ﻣﺪارك‪ ،‬ﻣﺘﻮن‪ ،‬اﺻﻮات و ﺗﺼﺎوﻳﺮ و ‪ (. . .‬ﺧﻮد را‬
‫ذﺧﻴﺮه ﺳﺎزي‪ ،‬ﺑﺎزﻳﺎﺑﻲ و ﭘﺮدازش ﻛﻨﺪ ‪ .‬اﻳﻦ ﮔﻮﻧﻪ داده ﻫﺎ ﻣﻤﻜﻦ اﺳﺖ ﺳﺎﺧﺘﻤﻨﺪ‪ ،‬ﻧﻴﻢ‬
‫ﺳﺎﺧﺘﻤﻨﺪ و ﻳﺎ ﺣﺘﻲ ﻧﺎﺳﺎﺧﺘﻪ ﺑﺎﺷﻨﺪ ‪.‬‬

‫‪ 2-1‬داده‬
‫اﺻﻄﻼح داده در ﻣﻔﻬﻮم ﻛﻠﻲ ﻋﺒﺎرت اﺳﺖ از ﻧﻤﺎﻳﺶ ذﺧﻴﺮه ﺷﺪه ﻛﻠﻴﻪ ﻣﻮﺟﻮدﻳﺘﻬﺎ‪،‬‬
‫واﻗﻌﻴﺎت و رﺧﺪادﻫﺎ ﻛﻪ در ﺗﺼﻤﻴﻢ ﮔﻴﺮي ﺑﻜﺎر ﻣﻲ آﻳﻨﺪ‪.‬‬

‫‪ANSI‬‬ ‫‪ 3-1‬ﺗﻌﺮﻳﻒ داده از دﻳﺪﮔﺎه‬


‫اﺳﺘﺎﻧﺪارد ‪ ANSI‬ﺑﺮاي اﺻﻄﻼح داده ﺗﻌﺎرﻳﻒ زﻳﺮ را اراﺋﻪ ﻛﺮده اﺳﺖ‪:‬‬

‫‪1. D i st r i b u t e d D a t a B a s e‬‬
‫‪www.PDFgozar.com‬‬

‫‪5‬‬ ‫ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬

‫ﻫﺮ ﻧﻤﺎﻳﺸﻲ ﻛﻪ ﺗﻮﺳﻂ اﻧﺴﺎن ﻳﺎ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﻜﺎﻧﻴﻜﻲ ﺧﻮدﻛﺎر ﻣﻌﻨﺎﻳﻲ ﺑﻪ آن ﻗﺎﺑﻞ‬ ‫•‬
‫اﻧﺘﺴﺎب ﺑﺎﺷﺪ‪.‬‬
‫ﻧﻤﺎﻳﺶ واﻗﻌﻴﺎت‪ ،‬ﭘﺪﻳﺪهﻫﺎ‪ ،‬ﻣﻔﺎﻫﻴﻢ ﻳﺎ ﺷﻨﺎﺧﺘﻪﻫﺎ ﺑﻪ ﻃﺮزي ﺻﻮري و ﻣﻨﺎﺳﺐ ﺑﺮاي‬ ‫•‬
‫ﺑﺮﻗﺮاري ارﺗﺒﺎط‪ ،‬ﺗﻔﺴﻴﺮ ﻳﺎ ﭘﺮدازش ﺗﻮﺳﻂ اﻧﺴﺎن ﻳﺎ ﻫﺮ دﺳﺘﮕﺎه ﺧﻮدﻛﺎر‪.‬‬
‫ﺑﻪ ﻃﻮر ﻛﻠﻲ ﻣﻲﺗﻮان ﮔﻔﺖ ﻛﻪ داده ارزﺷﻬﺎي واﻗﻌﻲ ﻫﺴﺘﻨﺪ ﻛﻪ از ﻃﺮﻳﻖ ﻣﺸﺎﻫﺪه‬ ‫•‬
‫و ﺗﺤﻘﻴﻖ ﺑﺪﺳﺖ ﻣﻲ آﻳﻨﺪ‪.‬‬

‫‪ 4-1‬اﻃﻼع‬
‫ﻫﺮ ﻧﻮع داده ﭘﺮدازش ﺷﺪه )ﺳﺎﺧﺖ ﻳﺎﻓﺘﻪ( را اﻃﻼع ﻣﻲ ﻧﺎﻣﻨﺪ ‪ .‬اﻳﻦ ﺗﻌﺮﻳﻒ ﻳﻚ ﺗﻌﺮﻳﻒ‬
‫ﺑﺴﻴﺎر ﺳﺎده اﺳﺖ ﻛﻪ ﺑﻴﺎﻧﮕﺮ ﺗﻔﺎوت ﺑﻴﻦ دو اﺻﻄﻼح داده و اﻃﻼع اﺳﺖ‪ .‬وﻟﻲ ﺑﻄﻮر‬
‫ﻛﻠﻲ ﻣﻲ ﺗﻮان ﮔﻔﺖ اﻃﻼع ﻣﺠﻤﻮﻋﻪ داده ﻫﺎﻳﻲ اﺳﺖ ﻛﻪ در ﺗﺼﻤﻴﻢ ﮔﻴﺮي ﺑﻜﺎر ﻣﻲ روﻧﺪ‬
‫و اﺳﺎﺳﺎً ﻛﻤﻴﺘﻲ اﺳﺖ ﻧﺴﺒﻲ و واﺑﺴﺘﻪ ﺑﻪ وﺿﻌﻴﺖ ﻣﺸﺨﺺ‪ ،‬زﻣﺎن ﻣﺸﺨﺺ و ﻧﻴﺰ ﺧﻮد‬
‫ﺷﺨﺺ )ﻳﺎ ﺳﻴﺴﺘﻢ( ﺗﺼﻤﻴﻢ ﮔﻴﺮﻧﺪه ‪ .‬در واﻗﻊ‪ ،‬ﺷﺨﺺ ﺗﺼﻤﻴﻢ ﮔﻴﺮﻧﺪه ﺑﺎ ﺗﻔﺴﻴﺮ داده ﻫﺎ‬
‫در ﻳﻚ وﺿﻌﻴﺖ ﻣﺸﺨﺺ اﻃﻼﻋﺎت ﻻزم ﺑﺮاي ﺗﺼﻤﻴﻢ ﮔﻴﺮي را ﺑﻪ دﺳﺖ ﻣﻲ آورد‪.‬‬

‫‪ANSI‬‬ ‫‪ 5-1‬ﺗﻌﺮﻳﻒ اﻃﻼع از دﻳﺪﮔﺎه‬


‫اﺳﺘﺎﻧﺪارد ‪ ANSI‬ﺑﺮاي اﺻﻄﻼح اﻃﻼع ﺗﻌﺮﻳﻒ زﻳﺮ را اراﺋﻪ ﻛﺮده اﺳﺖ‪:‬‬
‫ﻣﻌﻨﺎﻳﻲ ﻛﻪ اﻧﺴﺎن از ﻃﺮﻳﻖ ﺗﻮاﻓﻘﺎت و ﻗﺮاردادﻫﺎي ﺷﻨﺎﺧﺘﻪ ﺷﺪه اي ﺑﻪ داده‬
‫ﻣﻨﺘﺴﺐ ﻣﻲ ﻛﻨﺪ‪.‬‬

‫‪ 6-1‬داﻧﺶ‬
‫اﺻﻄﻼح داﻧﺶ ﻋﺒﺎرت اﺳﺖ از ﻧﻤﺎﻳﺶ ﻧﻤﺎدﻳﻦ ﺑﺨﺶ ﻫﺎﻳﻲ از دﻧﻴﺎي واﻗﻌﻲ‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ‬
‫دﻳﮕﺮ‪ ،‬داﻧﺶ ﻧﻮﻋﻲ ﺷﻨﺎﺧﺖ اﺳﺖ ﻛﻪ از ﻳﻚ ﻣﺠﻤﻮﻋﻪ از اﻃﻼﻋﺎت‪ ،‬ﺑﺮاﺳﺎس ﻳﻚ‬
‫ﻣﺠﻤﻮﻋﻪ از ﻗﻮاﻋﺪ ﻣﺸﺨﺺ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪.‬‬
‫ﻧﻜﺘﻪ‪ :1‬ﺑﻌﻀﻲ از ﺗﺌﻮرﻳﺴﻴﻦ ﻫﺎ داده را ﻫﻤﺎن ﻣﻘﺪار واﻗﻌﺎ ذﺧﻴﺮه ﺷﺪه و اﻃﻼع را ﻣﻌﻨﺎي‬
‫آن ﻣﻲ داﻧﻨﺪ‪ ،‬ﺑﻨﺎﺑﺮاﻳﻦ اﻃﻼع و داده ﺑﺎ ﻫﻢ ﻓﺮق دارﻧﺪ‪ ،‬اﻃﻼع داراي ﺧﺎﺻﻴﺖ ارﺗﺒﺎط‬
‫دﻫﻨﺪﮔﻲ و اﻧﺘﻘﺎل دﻫﻨﺪﮔﻲ اﺳﺖ درﺣﺎﻟﻴﻜﻪ داده ﻣﺠﺮد اﻳﻦ ﺧﺎﺻﻴﺖ را ﻧﺪارد‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ ‫‪6‬‬

‫ﻧﻜﺘﻪ‪ :2‬دادهﻫﺎ ﺣﺎﻟﺖ ﻣﻨﻔﺮد و ﻣﺠﺰا دارﻧﺪ و ﻟﺰوﻣﺎ اﻃﻼﻋﻲ از آﻧﻬﺎ ﺑﺪﺳﺖ ﻧﻤﻲ آﻳﺪ ﻣﮕﺮ‬
‫اﻳﻨﻜﻪ ﺑﻪ ﻧﺤﻮي ﺑﻬﻢ ﻣﺮﺗﺒﻂ ﺷﻮﻧﺪ و ﻣﻌﻨﺎﻳﻲ ﺑﻪ آﻧﻬﺎ ﻣﻨﺘﺴﺐ ﺷﻮد و ﺑﺎﻳﺪ داﻧﺶ را ﻧﻮﻋﻲ‬
‫اﻃﻼع ﺳﻄﺢ ﺑﺎﻻﺗﺮ داﻧﺴﺖ در واﻗﻊ ﻫﻢ اﻃﻼع و ﻫﻢ داﻧﺶ ﺣﺎﺻﻞ ﻋﻤﻠﻴﺎﺗﻲ روي داده‬
‫ﻫﺴﺘﻨﺪ‪ ،‬وﻟﻲ ﻧﻮع ﻋﻤﻠﻴﺎت ﻻزم ﺑﺮاي ﺣﺼﻮل آﻧﻬﺎ ﻣﺘﻔﺎوت اﺳﺖ ‪ .‬ﺑﺎ اﻳﻦ اوﺻﺎف راﺑﻄﻪ‬
‫ﺑﻴﻦ ﺳﻪ ﻣﻔﻬﻮم داده‪ ،‬اﻃﻼع و داﻧﺶ ﺑﺼﻮرت زﻳﺮ ﻗﺎﺑﻞ ﻧﻤﺎﻳﺶ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫داده‬ ‫ﭘﺮدازش‬ ‫اﻃﻼع‬ ‫ﭘﺮدازش‬ ‫داﻧﺶ‬

‫ﺷﻜﻞ ‪ 1-1‬راﺑﻄﻪ ﻧﻤﺎدﻳﻦ ﺑﻴﻦ داده‪ ،‬اﻃﻼع و داﻧﺶ‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻮﺿﻴﺤﺎﺗﻲ ﻛﻪ در ﺑﺎﻻ اراﺋﻪ ﺷﺪ‪ ،‬اﻛﻨﻮن ﺗﻮﺿﻴﺤﻲ دﻗﻴﻘﺘﺮ از ﻣﻔﻬﻮم‬
‫ﭘﺎﻳﮕﺎهداده را اراﺋﻪ ﻣﻲدﻫﻴﻢ‪.‬‬

‫‪-2‬ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده‬
‫ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﺎ ﺗﻮﺻﻴﻔﻲ ﺟﺎﻣﻊ ﺗﺮ‪ ،‬ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از داده ﻫﺎ ﻛﻪ ﺑﺼﻮرت ﻣﺠﺘﻤﻊ و ﺗﺎ‬
‫ﺣﺪ ﻣﻤﻜﻦ ﺑﺼﻮرت ﻣﺮﺗﺒﻂ ﺑﻬﻢ و ﺑﺎ ﻛﻤﺘﺮﻳﻦ اﻓﺰوﻧﮕﻲ ذﺧﻴﺮه ﺷﺪه اﻧﺪ ﻛﻪ اﻳﻦ ﻣﺠﻤﻮﻋﻪ‬
‫ﺗﺤﺖ ﻣﺪﻳﺮﻳﺖ ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ ﺑﺮاي اﺳﺘﻔﺎده ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻛﺎرﺑﺮ ﻗﺮار‬
‫ﮔﺮﻓﺘﻪ اﻧﺪ‪.‬‬
‫ﺷﺎﻳﺪ در ﻧﮕﺎه اول ﺗﻌﺮﻳﻒ اراﺋﻪ ﺷﺪه در ﻣﻮرد ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻛﻤﻲﻣﺒﻬﻢ ﺑﻪ ﻧﻈﺮ ﺑﺮﺳﺪ‪.‬‬
‫در ﺗﺸﺮﻳﺢ ﻛﻠﻲ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻣﻲﺗﻮان ﮔﻔﺖ ﻛﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهداده ﻣﺠﻤﻮﻋﻪاي‬
‫از دادهﻫﺎي ﺑﻬﻢ واﺑﺴﺘﻪ اﺳﺖ ﻛﻪ از اﻓﺰوﻧﮕﻲ ﺑﻲﺣﺎﺻﻞ و ﻣﻀﺮ ﻣﺒﺮا اﺳﺖ و ﺑﺮاي‬
‫ﻛﺎرﺑﺮدﻫﺎي ﮔﻮﻧﺎﮔﻮن اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪ .‬دادهﻫﺎ ﺑﻪ ﮔﻮﻧﻪاي ذﺧﻴﺮه ﺷﺪهاﻧﺪ ﻛﻪ از ﺑﺮﻧﺎﻣﻪﻫﺎﻳﻲ‬
‫ﻛﻪ آﻧﻬﺎ را ﺑﻪ ﻓﺮﻣﺖ ﻣﻲﮔﻴﺮﻧﺪ ﻣﺴﺘﻘﻞ ﻫﺴﺘﻨﺪ و راه ﻳﺎﻓﺖ ﻣﺸﺘﺮك ﻛﻨﺘﺮل ﺷﺪه ﺑﺮاي درج‪،‬‬
‫ﺣﺬف‪ ،‬ﺗﻐﻴﻴﺮ و ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎي ﻣﻮﺟﻮد اﺳﺘﻔﺎده ﻣﻲﺷﻮد و دادهﻫﺎ ﺑﻪﮔﻮﻧﻪاي ﺳﺎﺧﺖ ﻳﺎﻓﺘﻪ‬
‫اﺳﺖ ﻛﻪ ﭘﺎﻳﻪاي ﺑﺮاي ﺗﻮﺳﻌﻪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي آﻳﻨﺪه ﻓﺮاﻫﻢ ﻣﻲﺳﺎزد‪ .‬اﻳﻦ دادهﻫﺎ ﺗﻮﺳﻂ‬
‫ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻣﺪﻳﺮﻳﺖ ﻣﻲﺷﻮد‪ .‬ﺑﺎ اﻳﻦ وﺻﻒ ﻣﻲﺗﻮان درﻳﺎﻓﺖ ﻛﻪ ﻫﺮ‬
‫‪www.PDFgozar.com‬‬

‫‪7‬‬ ‫ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬

‫ﻣﺠﻤﻮﻋﻪاي از ﻓﺎﻳﻠﻬﺎ ﻳﺎ ﻫﺮ ﻣﺠﻤﻮﻋﻪاي از اﻃﻼﻋﺎت ذﺧﻴﺮه ﺷﺪه ﻟﺰوﻣﺎ ﻳﻚ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬


‫ﻧﻴﺴﺖ‪.‬‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻄﺎﻟﺐ ﻓﻮق ﻣﻲﺗﻮان ﭼﻨﻴﻦ ﻧﺘﻴﺠﻪ ﮔﺮﻓﺖ ﻛﻪ ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎ‬
‫وﺟﻮد ﺣﺪاﻗﻞ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﻪ ﻋﻨﻮان ﺳﻴﺴﺘﻢ واﺳﻄﻪ اﻟﺰاﻣﻲ اﺳﺖ‪.‬‬
‫ﺑﺎرزﺗﺮﻳﻦ ﺑﺮﺗﺮي ﻳﻚ ﭘﺎﻳﮕﺎهداده ﻧﺴﺒﺖ ﺑﻪ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚﻫﺎي داده ﻗﺒﻠﻲ )ﺳﻴﺴﺘﻢﻫﺎي‬
‫ﻓﺎﻳﻠﻴﻨﮓ(‪ ،‬ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده ﻣﻲﺑﺎﺷﺪ‪ .‬ﺑﺎ اﻳﻦ وﺻﻒ ﻻزم اﺳﺖ ﺑﻴﻦ اﺻﻄﻼﺣﺎﺗﻲ‬
‫ﻣﺎﻧﻨﺪ ﺑﺎﻧﻚ داده‪ ،‬ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‪ ،‬ﭘﺎﻳﮕﺎهداده و ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ ﺗﻔﺎوت ﻗﺎﺋﻞ ﺷﻮﻳﻢ‪.‬‬
‫در ﺑﺮرﺳﻲ ﻣﺤﻴﻂ ﻳﻚ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ ﺷﻮد ﻛﻪ ﻣﺤﻴﻂ‬
‫واﺣﺪ‪ ،‬ﻣﺠﺘﻤﻊ و ﻣﺸﺘﺮك ذﺧﻴﺮه ﺳﺎزي ﻟﺰوﻣﺎ ﺑﻪ اﻳﻦ ﻣﻌﻨﺎ ﻧﻴﺴﺖ ﻛﻪ ﭼﻨﻴﻦ ﻣﺤﻴﻄﻲ از ﻧﻈﺮ‬
‫ﻓﻴﺰﻳﻜﻲ و ﻣﺤﻞ ﺟﻐﺮاﻓﻴﺎﻳﻲ واﺣﺪ و ﻳﻜﭙﺎرﭼﻪ اﺳﺖ‪ .‬ﺑﻠﻜﻪ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎ از ﻟﺤﺎظ‬
‫ﻣﻨﻄﻘﻲ‪ ،‬ﻳﻜﭙﺎرﭼﮕﻲ دارد‪ .‬وﺿﻊ ﭘﺎﻳﮕﺎهدادهﻫﺎ در ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ﺑﺴﺘﮕﻲ ﺑﻪ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ‬
‫ﭘﺎﻳﮕﺎهدادهﻫﺎ دارد‪ ،‬ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻣﻲﺗﻮاﻧﺪ در ﻋﻴﻦ واﺣﺪ ﻣﺠﺘﻤﻊ و ﻣﺸﺘﺮك ﺑﻮدن در ﺳﻄﺢ‬
‫ﻣﻨﻄﻘﻲ‪ ،‬از ﻧﻈﺮ ﻓﻴﺰﻳﻜﻲ ﻧﺎﻣﺘﻤﺮﻛﺰ و ﺗﻮزﻳﻊ ﺷﺪه ﺑﺎﺷﺪ‪.‬‬

‫‪ 1-2‬ﺗﻔﺎوتﻫﺎي ﺑﻴﻦ روش ﻓﺎﻳﻠﻴﻨﮓ و روش ﭘﺎﻳﮕﺎهدادهﻫﺎ‬


‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﺳﺌﻮال ﭘﻴﺶ ﺑﻴﺎﻳﺪ ﻛﻪ اﺳﺎﺳﺎً اﺳﺘﻔﺎده از روش‬
‫ﻓﺎﻳﻠﻴﻨﮓ در ﻃﺮاﺣﻲ ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺑﻪ ﭼﻪ ﺻﻮرت ﺑﻮده و ﭼﻪ ﺗﻔﺎوﺗﻲ ﺑﺎ روش ﭘﺎﻳﮕﺎﻫﻲ‬
‫دارد ‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع اﺑﺘﺪا روش ﻓﺎﻳﻠﻴﻨﮓ ﺑﺮاي ﻃﺮاﺣﻲ ﺑﺮﻧﺎﻣﻪ ﻫﺎ را ﺑﺼﻮرت‬
‫ﻛﻠﻲ ﺑﻴﺎن ﻣﻲ ﻛﻨﻴﻢ‪.‬‬

‫‪ 1-1-2‬ﻣﺮاﺣﻞ ﻛﺎر در روش ﻓﺎﻳﻠﻴﻨﮓ‬


‫ﺳﻴﺴﺘﻢ ﻣﻮرد درﺧﻮاﺳﺖ ﺑﺮاي ﻣﻜﺎﻧﻴﺰه ﻛﺮدن اﻧﺘﺨﺎب و ﻣﻮرد ﺑﺮرﺳﻲ و ﭘﺮدازش ﻗﺮار‬
‫ﻣﻲ ﮔﻴﺮد ﺗﺎ ﻣﺸﺨﺼﺎت ﻧﻴﺎزﻫﺎ ﺗﻌﻴﻴﻦ ﮔﺮدد ‪.‬‬
‫ﻣﺮاﺣﻞ اوﻟﻴﻪ ﻻزم ﺑﺮاي ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ اﻧﺠﺎم ﻣﻲﮔﻴﺮد‪.‬‬ ‫•‬
‫ﻣﺸﺨﺼﺎت ﺳﻴﺴﺘﻢ و زﻳﺮ ﺳﻴﺴﺘﻢﻫﺎي اﺣﺘﻤﺎﻟﻲ و وﻇﺎﻳﻒ ﻫﺮ ﻛﺪام از آﻧﻬﺎ ﺗﻌﻴﻴﻦ‬ ‫•‬
‫ﻣﻲﮔﺮدد‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ ‫‪8‬‬

‫ﺗﻌﺪادي ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﺑﺮاي ذﺧﻴﺮه ﺳﺎزي ﻓﺎﻳﻠﻬﺎ ﻃﺮاﺣﻲ ﻣﻲﮔﺮدد‪ .‬اﻳﻦ ﻓﺎﻳﻠﻬﺎ‬ ‫•‬
‫ﻣﻌﻤﻮﻻً ﺑﻪ ﺻﻮرت ﻣﻨﻔﺮد در ﺳﻄﺢ ﺳﻴﺴﺘﻢ ﻃﺮاﺣﻲ ﻣﻲﮔﺮدﻧﺪ‪.‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻣﻮرد درﺧﻮاﺳﺖ ﺑﺎ اﺳﺘﻔﺎده از ﻳﻚ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺗﻬﻴﻪ ﻣﻲﮔﺮدد‪.‬‬ ‫•‬
‫ﺑﺮﻧﺎﻣﻪ ﻣﻮرد ﻧﻈﺮ ﺑﻪ ﻫﻤﺮاه ﺑﺮﻧﺎﻣﻪﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ ﻓﺎﻳﻞﻫﺎ اﻃﻼﻋﺎﺗﻲ‪ ،‬ﻣﺠﻤﻮﻋﻪ‬
‫ﻧﺮماﻓﺰاري ﺳﻴﺴﺘﻢ را ﭘﻮﺷﺶ ﻣﻲدﻫﻨﺪ‪.‬‬
‫ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻛﺎﻣﻞ ﺷﺎﻣﻞ ﻧﺮماﻓﺰار و ﺳﺨﺖاﻓﺰار و اﺣﺘﻤﺎﻻ ﻣﻜﺎﻧﻴﺰﻣﻲﺟﻬﺖ‬ ‫•‬
‫ﺑﺮﻗﺮاري ارﺗﺒﺎط ﺑﻴﻦ ﭼﻨﺪ ﺳﺨﺖاﻓﺰار ﻓﺮاﻫﻢ ﻣﻲﮔﺮدد‪.‬‬
‫ﻣﺠﻤﻮﻋﻪاي از ﺗﺴﺖﻫﺎ ﺟﻬﺖ ﺑﺮرﺳﻲ ﻫﺮ زﻳﺮ ﺳﻴﺴﺘﻢ و در ﻧﻬﺎﻳﺖ ﺑﺮرﺳﻲ ﻛﻞ‬ ‫•‬
‫ﺳﻴﺴﺘﻢ اﻋﻤﺎل ﻣﻲﮔﺮدد‪.‬‬

‫ﺑﺎ اﻳﻦ وﺻﻒ ﺑﻪ راﺣﺘﻲ ﻣﻲ ﺗﻮان درﻳﺎﻓﺖ ﻛﻪ در روش ﻓﺎﻳﻠﻴﻨﮓ‪ ،‬داده ﻫﺎ در واﻗﻊ ﭼﻨﺪ‬
‫ﻣﺠﻤﻮﻋﻪ ﻣﺠﺰا و ﻧﺎﻣﺠﺘﻤﻊ )از ﻟﺤﺎظ ﻣﻨﻄﻘﻲ و ﻓﻴﺰﻳﻜﻲ( و ﺗﺎ ﺣﺪود زﻳﺎدي ﻧﺎﻣﺮﺗﺒﻂ ﺑﺎ‬
‫ﻫﻢ و ﺑﺪون ﻣﺪﻳﺮﻳﺖ ﻣﺘﻤﺮﻛﺰ ﺧﻮاﻫﻨﺪ ﺑﻮد ‪ .‬ﻧﻤﺎﻳﻲ از روش ﻓﺎﻳﻠﻴﻨﮓ در ﺷﻜﻞ ‪2 -1‬‬
‫آﻣﺪه اﺳﺖ‪.‬‬

‫‪ 2-1-2‬ﻣﺮاﺣﻞ ﻛﺎر در روش ﭘﺎﻳﮕﺎﻫﻲ‬


‫ﺑﺎ ﻋﻨﺎﻳﺖ ﺑﻪ روش ﻛﺎر در ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ‪ ،‬در اداﻣﻪ ﻣﺮاﺣﻞ ﻛﺎر در روش ﭘﺎﻳﮕﺎﻫﻲ‬
‫ﻣﻌﺮﻓﻲ ﻣﻲ ﮔﺮدد‪.‬‬
‫ﻛﻠﻴﻪ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ و ﭘﺮدازﺷﻲ ﻣﺠﻤﻮﻋﻪ ﻣﻮرد ﻧﻈﺮ ﺑﺼﻮرت ﻳﻜﭙﺎرﭼﻪ ﻣﻮرد‬ ‫•‬
‫ﻣﻄﺎﻟﻌﻪ و ﺗﺤﻠﻴﻞ ﻗﺮار ﻣﻲﮔﻴﺮد‪ .‬دادهﻫﺎي ﻣﻮرد ﻧﻈﺮ‪ ،‬ﻣﺪل ﺳﺎزي ﻣﻲﮔﺮدﻧﺪ و‬
‫ﻣﺸﺨﺼﺎت ﺳﻴﺴﺘﻢ و وﻇﺎﻳﻒ آن ﺑﺼﻮرت ﺟﺎﻣﻊ ﺗﻌﻴﻴﻦ ﻣﻲﮔﺮدﻧﺪ‪.‬‬
‫ﻳﻚ ﻳﺎ ﭼﻨﺪ ﭘﺎﻳﮕﺎهداده ﺑﻌﻨﻮان ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﻣﺘﻤﺮﻛﺰ اﻧﺘﺨﺎب ﻣﻲﮔﺮدد‪.‬‬ ‫•‬
‫ﻃﺮاﺣﻲﻫﺎي ﻻزم در ﺳﻄﻮح ﻣﺨﺘﻠﻒ ﭘﺎﻳﮕﺎهداده ﺗﻌﺮﻳﻒ و ﻃﺮاﺣﻲ ﻣﻲﮔﺮدﻧﺪ‪.‬‬
‫واﺳﻂﻫﺎي ﻣﻮرد ﻧﻈﺮ ﺑﺮاي ﻛﺎرﺑﺮان واﺣﺪﻫﺎي ﻣﺨﺘﻠﻒ )و ﺑﻌﻀﺎ ﻣﺪﻳﺮان ﺳﻴﺴﺘﻢ(‬ ‫•‬
‫ﻃﺮاﺣﻲ ﻣﻲﮔﺮدﻧﺪ‪.‬‬
‫ﺗﺴﺖﻫﺎي ﻻزم ﺑﺮ روي ﻗﺴﻤﺖﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ اﻋﻤﺎل ﻣﻲﮔﺮدﻧﺪ‪.‬‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫‪9‬‬ ‫ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬

‫ﺷﻜﻞ ‪ 2-1‬ﻧﻤﺎي ﻛﻠﻲ از روش ﻓﺎﻳﻠﻴﻨﮓ‬

‫ﺑﺎ اﻳﻦ وﺻﻒ ﻣﻲ ﺗﻮان ﻣﺸﺎﻫﺪه ﻛﺮد ﻛﻪ اﺳﺎس روش ﻓﺎﻳﻠﻴﻨﮓ ﺑﺮ ﻣﺒﻨﺎي ﺳﺎﺧﺘﺎر‬
‫اﻃﻼﻋﺎﺗﻲ ﻳﻜﭙﺎرﭼﻪ ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ و ﻣﺒﻨﺎي ﻛﺎر ﻣﺪﻳﺮﻳﺖ ﻳﻚ ﭘﺎرﭼﻪ و ﻣﺘﻤﺮﻛﺰ‬
‫داده ﻫﺎ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﺷﻤﺎﻳﻲ از روش ﭘﺎﻳﮕﺎﻫﻲ در ﺷﻜﻞ ‪3-1‬‬
‫آﻣﺪه اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ ‫‪10‬‬

‫ﺷﻜﻞ ‪ 3-1‬ﺷﻤﺎﻳﻲ از روش ﭘﺎﻳﮕﺎﻫﻲ‬

‫‪ 2-2‬اﺟﺰاء ﭘﺎﻳﮕﺎهداده‬
‫ﻫﻤﺎﻧﮕﻮﻧﻪ ﻛﻪ در ﺷﻜﻞ زﻳﺮ ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد ﻫﺮ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده از ﭼﻬﺎر ﺟﺰء‬
‫اﺳﺎﺳﻲ ﺗﺸﻜﻴﻞ ﻣﻲ ﺷﻮد‪:‬‬
‫دادهﻫﺎ‬ ‫•‬
‫ﺳﺨﺖاﻓﺰار‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ ‪11‬‬

‫ﻧﺮماﻓﺰار‬ ‫•‬
‫ﻛﺎرﺑﺮ‬ ‫•‬

‫ﺳﺨﺖ اﻓﺰار‬
‫ارﺗﺒﺎﻃﻲ‬
‫ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬
‫ﻛﺎرﺑﺮ ‪1‬‬
‫‪D‬‬
‫‪B‬‬ ‫دادهﻫﺎي‬
‫‪M‬‬
‫ﻛﺎرﺑﺮ ‪2‬‬ ‫ذﺧﻴﺮه ﺷﺪه در‬
‫‪S‬‬
‫ﺳﺨﺖ اﻓﺰار‬

‫‪.‬‬

‫ﻛﺎرﺑﺮ‪n‬‬
‫ﺳﺨﺖ اﻓﺰار ذﺧﻴﺮه ﺳﺎزي و ﭘﺮدازش‬

‫ﺷﻜﻞ ‪ 4-1‬ﺷﻤﺎي ﺗﺼﻮﻳﺮي ارﺗﺒﺎط ﺑﻴﻦ اﺟﺰاء ﭘﺎﻳﮕﺎهداده‬

‫ﺷﻜﻞ ‪ 4-1‬ﻳﻚ ﻧﻤﺎي ﻛﻠﻲ از اﺟﺰاء ﻣﻌﺮﻓﻲ ﺷﺪه ﺑﻪ ﻫﻤﺮاه ﻧﺤﻮه ارﺗﺒﺎط ﺑﻴﻦ آﻧﻬﺎ را‬
‫ﻧﺸﺎن ﻣﻲ دﻫﺪ ‪ .‬در اداﻣﻪ ﻫﺮ ﻳﻚ از اﺟﺰاء ﻣﺬﻛﻮر ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ‬
‫ﮔﺮﻓﺖ‪.‬‬

‫‪1-2-2‬دادهﻫﺎ‬
‫‪1‬‬
‫ﻳﻚ ﭘﺎﻳﮕﺎه داده ﮔﻨﺠﻴﻨﻪ اي از داده ﻫﺎ اﺳﺖ ﻛﻪ در ﻛﻞ ﻣﺠﺘﻤﻊ ﺷﺪه و ﺑﻪ اﺷﺘﺮاك‬
‫‪2‬‬
‫اﺳﺖ ‪ .‬ﻣﻨﻈﻮر از ﻣﺠﺘﻤﻊ ﺷﺪﮔﻲ‪ ،‬اﺗﺤﺎد ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ داده ﺑﻪ ﺻﻮرت‬ ‫ﮔﺬاﺷﺘﻪ ﺷﺪه‬
‫ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ ﻛﻪ آن را ﺑﻪ ﻧﺎم ﭘﺎﻳﮕﺎه داده ﻣﻲ ﺷﻨﺎﺳﻴﻢ و ﺑﻪ ﻫﻤﻴﻦ ﻋﻠﺖ اﺳﺖ ﻛﻪ‬
‫ﺗﻤﺎم آن اﻓﺰوﻧﮕﻲ ﻫﺎ ﻛﻪ در ﺳﻴﺴﺘﻢ ﭘﺮدازش ﻓﺎﻳﻠﻬﺎ وﺟﻮد داﺷﺖ از ﻣﻴﺎن ﻣﻲرود ‪ .‬ﻣﻨﻈﻮر‬
‫از ﻣﺸﺘﺮك ﺑﻮدن ﭘﺎﻳﮕﺎه دادهﻫﺎ اﻳﻦ اﺳﺖ ﻛﻪ اﻃﻼﻋﺎت ﻣﻮﺟﻮد در ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﻴﻦ‬

‫‪1. In t e gr a t e d‬‬
‫‪2. Sh a r e d‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ ‫‪12‬‬

‫اﺳﺘﻔﺎده ﻛﻨﻨﺪﮔﺎن ﻣﺨﺘﻠﻒ ﺑﻪ اﺷﺘﺮاك ﮔﺬاﺷﺘﻪ ﻣﻲ ﺷﻮد ‪ .‬دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﻳﻚ‬
‫از‪:‬‬ ‫ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻋﺒﺎرﺗﻨﺪ‬
‫دادهﻫﺎي ﻛﺎرﺑﺮان‬ ‫•‬
‫دادهﻫﺎي ﺳﻴﺴﺘﻤﻲ‬ ‫•‬

‫‪ 2-2-2‬ﺳﺨﺖاﻓﺰار‬
‫ﻳﻚ ﭘﺎﻳﮕﺎه داده ﺟﻬﺖ اﺳﺘﻘﺮار ﺑﻪ ﻣﺠﻤﻮﻋﻪ ﻣﻨﺎﺳﺒﻲ از ﺗﺠﻬﻴﺰات ﺳﺨﺖ اﻓﺰاري ﻧﻴﺎز‬
‫دارد ‪ .‬ﺳﺨﺖ اﻓﺰار ﻫﺎ ﺑﻪ ﺳﻪ دﺳﺘﻪ ﺗﻘﺴﻴﻢ ﻣﻲ ﮔﺮدﻧﺪ‪:‬‬
‫ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ‬ ‫•‬
‫ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ‬ ‫•‬
‫ﺳﺨﺖاﻓﺰار ﺑﺮﻗﺮار ﻛﻨﻨﺪه ارﺗﺒﺎط‬ ‫•‬

‫در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮ ﻳﻚ از اﻧﻮاع ﺳﺨﺖ اﻓﺰارﻫﺎ در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺧﻮاﻫﻴﻢ‬
‫ﭘﺮداﺧﺖ‪:‬‬

‫‪ -1‬ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ‬


‫ﻣﻨﻈﻮر ﻫﻤﺎن رﺳﺎﻧﻪ ﻫﺎي ذﺧﻴﺮه ﺳﺎزي ﺧﺎرﺟﻲ اﺳﺖ وﻟﻲ ﺑﺎﻳﺪ داﻧﺴﺖ ﻛﻪ رﺳﺎﻧﻪ اﺻﻠﻲ‬
‫ذﺧﻴﺮه ﺳﺎزي دﻳﺴﻚ اﺳﺖ‪ ،‬ﺳﺎﻳﺮ رﺳﺎﻧﻪ ﻫﺎي ذﺧﻴﺮه ﺳﺎزي ﻣﺎﻧﻨﺪ ﻧﻮار ﻣﻐﻨﺎﻃﻴﺴﻲ در‬
‫ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه دادهﻫﺎ ﻛﺎرﺑﺮد دارد وﻟﻲ ﻧﻪ ﺑﻪ ﻋﻨﻮان رﺳﺎﻧﻪ اﺻﻠﻲ‪ ،‬ﺑﻠﻜﻪ ﺑﻪ ﺻﻮرت رﺳﺎﻧﻪ‬
‫ﻛﻤﻜﻲ ﺑﺮاي ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن و ﻓﺎﻳﻠﻬﺎي ﺛﺒﺖ ﺗﺮاﻛﻨﺶ ﻫﺎ ﻳﺎ ﻓﺎﻳﻠﻬﺎ‬
‫روﻳﺪادﻧﮕﺎري‪.‬‬

‫‪ -2‬ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ‬
‫ﻣﻨﻈﻮر ﺧﻮد ﻛﺎﻣﭙﻴﻮﺗﺮ اﺳﺖ ‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺑﺮاي ﭘﺎﻳﮕﺎهﻫﺎي داده ﺑﺎ ﻣﻌﻤﺎري‬
‫ﺧﺎص و ﻳﺎ ﺑﺴﻴﺎر ﺣﺠﻴﻢ‪ ،‬از اﻧﻮاع ﺧﺎﺻﻲ از ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺑﺎ ﺳﺨﺖ اﻓﺰارﻫﺎي ﺧﺎص و‬
‫ﻧﻮع ﭘﺮدازش ﺧﺎص اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد‪.‬‬

‫‪ -3‬ﺳﺨﺖاﻓﺰار ﺑﺮﻗﺮار ﻛﻨﻨﺪه ارﺗﺒﺎط‬


‫‪www.PDFgozar.com‬‬

‫ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ ‪13‬‬

‫ﻣﻨﻈﻮر از ﺳﺨﺖ اﻓﺰار ﺑﺮﻗﺮار ﻛﻨﻨﺪه ارﺗﺒﺎط‪ ،‬ﺳﺨﺖ اﻓﺰار ارﺗﺒﺎﻃﻲ ﺑﻴﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ و‬
‫دﺳﺘﮕﺎه ﻫﺎي ﺟﻨﺒﻲ و ﻧﻴﺰ ﺑﻴﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻫﺎﺳﺖ ‪ .‬اﻳﻦ اﻣﻜﺎﻧﺎت ﺑﻪ دو دﺳﺘﻪ ﺗﻘﺴﻴﻢ‬
‫ﻣﻲ ﺷﻮﻧﺪ‪:‬‬
‫اﻣﻜﺎﻧﺎت ﻣﺤﻠﻲ‪ :‬ﺑﺮاي اﻳﺠﺎد ارﺗﺒﺎط ﺑﻴﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ و دﺳﺘﮕﺎهﻫﺎي ﺟﻨﺒﻲ آن در ﻳﻚ‬ ‫•‬
‫ﺳﺎﻳﺖ ﺑﻪ ﻛﺎر ﻣﻲرود‪.‬‬
‫اﻣﻜﺎﻧﺎت ﺷﺒﻜﻪاي‪ :‬دراﻳﺠﺎد ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺑﺎ ﻣﻌﻤﺎري ﻧﺎ ﻣﺘﻤﺮﻛﺰ ﺑﻪ ﻛﺎر‬ ‫•‬
‫ﻣﻲرود‪.‬‬

‫ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﭘﺎﻳﮕﺎه ﻫﺎي داده را ﺑﺮ اﺳﺎس ﻧﮕﺎه ارﺗﺒﺎﻃﻲ دﺳﺘﻪ ﺑﻨﺪي ﻛﻨﻴﻢ‪ ،‬اﻧﻮاع‬
‫ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬
‫‪1‬‬
‫ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺖ ﮔﺰار‬ ‫•‬
‫‪2‬‬
‫ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ‬ ‫•‬
‫‪3‬‬
‫ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه‬ ‫•‬
‫‪4‬‬
‫ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي‬ ‫•‬
‫‪5‬‬
‫ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‬ ‫•‬
‫‪6‬‬
‫ﻣﻌﻤﺎري ﻣﻮﺑﺎﻳﻞ‬ ‫•‬

‫‪ 3-2-2‬ﻧﺮماﻓﺰار‬
‫ﺑﻴﻦ دادهﻫﺎﻳﻲ ﻛﻪ ﺑﻪ ﺻﻮرت ﻓﻴﺰﻳﻜﻲ روي دﺳﺘﮕﺎه ﻫﺎي ذﺧﻴﺮه ﺳﺎزي ﻣﻨﺎﺳﺐ اﺳﺘﻘﺮار‬
‫ﻣﻲ ﻳﺎﺑﺪ و ﭘﺎﻳﮕﺎه دادهﻫﺎ را ﺑﻪ وﺟﻮد ﻣﻲ آورﻧﺪ و اﺳﺘﻔﺎده ﻛﻨﻨﺪﮔﺎن ﻳﻚ ﻻﻳﻪ ﻧﺮم اﻓﺰاري‬
‫ﻗﺮار ﻣﻲ ﮔﻴﺮد ﻛﻪ آن را ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده )‪ (DBMS‬ﻣﻲ ﻧﺎﻣﻨﺪ ‪ .‬ﺗﻤﺎم ﺗﻘﺎﺿﺎ‬
‫ﺑﺮاي اﺳﺘﻔﺎده از اﻃﻼﻋﺎت ﭘﺎﻳﮕﺎه داده از ﻃﺮﻳﻖ اﻳﻦ ﺳﻴﺴﺘﻢ ﺳﻴﺮ ﻣﻲ ﺷﻮد و ﺑﺎزﻳﺎﺑﻲ‬
‫داده ﻫﺎ روي ﺳﺨﺖ اﻓﺰارﻫﺎﻳﻲ ﺻﻮرت ﻣﻲ ﮔﻴﺮد‪ .‬ﻧﺮم اﻓﺰارﻫﺎ ﺧﻮد ﺑﻪ دو دﺳﺘﻪ ﺗﻘﺴﻴﻢ‬

‫‪1. C li e n t - Se r ve r Ar c h i t e c t u r e‬‬
‫‪2. C e nt r a l i z e d Ar c h i t e c t u r e‬‬
‫‪3. D i st r i b u t e d Ar c h i t e c t u r e‬‬
‫‪4. P ar a l l e l P r o c e s si n g Ar c h i t e c t u r e‬‬
‫‪5. M u lt i D at a b a s e Ar c h i t e c t u r e‬‬
‫‪6. M o bi l e Ar c h i t e c t ur e‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ ‫‪14‬‬

‫ﻣﻲ ﺷﻮﻧﺪ‪:‬‬
‫ﻧﺮماﻓﺰار ﻛﺎرﺑﺮدي‬ ‫•‬
‫• ﻧﺮماﻓﺰار ﺳﻴﺴﺘﻤﻲ‬

‫در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮ ﻳﻚ از اﻧﻮاع ﻧﺮم اﻓﺰارﻫﺎ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ‪:‬‬

‫‪ -1‬ﻧﺮماﻓﺰار ﻛﺎرﺑﺮدي‬
‫ﻧﺮم اﻓﺰاري اﺳﺖ ﻛﻪ ﻛﺎرﺑﺮ ﺑﺎﻳﺪ ﺑﺮاي ﺗﻤﺎس ﺑﺎ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ آﻣﺎده ﻛﻨﺪ ‪ .‬اﻳﻦ‬
‫‪1‬‬
‫ﻧﺮم اﻓﺰار ﺑﻪ ﻛﻤﻚ ﻳﻚ زﺑﺎن ﺳﻄﺢ ﺑﺎﻻ و ﻳﻚ زﺑﺎن دادهﻳﻲ و ﺑﺮﺧﻲ ﺗﺴﻬﻴﻼت‬
‫ﻧﺮم اﻓﺰاري ﺑﺮاي ﺗﻤﺎس ﺑﺎ ﺑﺎﻧﻚ ﺳﺎﺧﺘﻪ ﻣﻲ ﺷﻮد ‪.‬‬

‫‪ -2‬ﻧﺮماﻓﺰار ﺳﻴﺴﺘﻤﻲ‬
‫اﻳﻦ ﻧﻮع ﻧﺮم اﻓﺰار از دو ﻗﺴﻤﺖ ﻧﺮم اﻓﺰار ﺳﻴﺴﺘﻤﻲ ﺧﺎص ﺑﺎﻧﻚ ﻛﻪ در اﻳﻨﺠﺎ ﺑﻪ آن‬
‫ﻣﻲ ﮔﻮﻳﻴﻢ و ﻧﺮم اﻓﺰار ﺳﻴﺴﺘﻤﻲﻋﻤﻮﻣﻲ )ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ( ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪.‬‬ ‫‪DBMS‬‬
‫)‪ (DBMS‬در ﻳﻚ ﺗﻌﺮﻳﻒ ﺳﺎده‪ ،‬ﺳﻴﺴﺘﻤﻲ اﺳﺖ ﻛﻪ ﺑﻪ ﻛﺎرﺑﺮان اﻣﻜﺎن ﻣﻲ دﻫﺪ ﻋﻤﻠﻴﺎت‬
‫ﻣﻮرد ﻧﻈﺮﺷﺎن را )ﻣﺎﻧﻨﺪ ﺗﻌﺮﻳﻒ دادهﻫﺎ‪ ،‬ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎ‪ ،‬ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ( اﻧﺠﺎم‬
‫ﻛﻪ ﻧﺮم اﻓﺰاري ﭘﻴﭽﻴﺪه اﺳﺖ ﻣﻴﻬﻤﺎن ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ اﺳﺖ و از‬ ‫‪DBMS‬‬ ‫دﻫﻨﺪ‪.‬‬
‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ در اﻧﺠﺎم وﻇﺎﻳﻔﺶ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﺪ ‪.‬‬

‫‪ 4-2-2‬ﻛﺎرﺑﺮ‬
‫ﻫﺮ اﺳﺘﻔﺎده ﻛﻨﻨﺪه از ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎ را ﻛﺎرﺑﺮ ﻣﻲ ﮔﻮﻳﻨﺪ ‪ .‬ﻛﺎرﺑﺮان ﭘﺎﻳﮕﺎه داده را‬
‫ﻣﻲ ﺗﻮان ﺑﻪ ﺳﻪ ﮔﺮوه اﺳﺎﺳﻲ و ﻣﺘﻔﺎوت ﺗﻘﺴﻴﻢ ﻧﻤﻮد‪:‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﺎن ﻛﺎرﺑﺮدي‬ ‫•‬
‫ﻛﺎرﺑﺮان واﻗﻌﻲ ﻳﺎ ﻧﻬﺎﻳﻲ‬ ‫•‬
‫ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬

‫‪1. D at a La n gu a ge‬‬
‫‪www.PDFgozar.com‬‬

‫ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ ‪15‬‬

‫‪1‬‬
‫‪ -1‬ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﺎن ﻛﺎرﺑﺮدي‬
‫اﻓﺮادي ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺎ اﻃﻼﻋﺎﺗﻲ ﻛﻪ در ﻣﻮرد ﭘﺎﻳﮕﺎه داده ﭘﻴﺪا ﻣﻲ ﻛﻨﻨﺪ ﻣﻲ ﺗﻮاﻧﻨﺪ‬
‫ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻣﻨﺎﺳﺒﻲ ﺟﻬﺖ ﺑﺮوز ﻛﺮدن اﻃﻼﻋﺎت و ﻳﺎ اﺳﺘﻔﺎده از اﻃﻼﻋﺎت ﻣﻮﺟﻮد در‬
‫ﭘﺎﻳﮕﺎه داده ﺗﻬﻴﻪ ﻧﻤﺎﻳﻨﺪ ‪.‬‬

‫‪2‬‬
‫‪ -2‬ﻛﺎرﺑﺮان واﻗﻌﻲ ﻳﺎ ﻧﻬﺎﻳﻲ‬
‫اﻓﺮادي ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از اﻣﻜﺎﻧﺎﺗﻲ ﻛﻪ ﭘﺎﻳﮕﺎه داده در اﺧﺘﻴﺎر آﻧﻬﺎ ﻗﺮار ﻣﻲ دﻫﺪ‬
‫ﻣﻲ ﺗﻮاﻧﻨﺪ اﻣﻮر ﻣﺮﺑﻮط ﺑﻪ ﺧﻮد و ﻣﻮﺳﺴﻪ و ﺳﺎزﻣﺎن را اﻧﺠﺎم دﻫﻨﺪ ‪.‬‬

‫‪3‬‬
‫‪ -3‬ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده‬
‫ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده ﻣﺴﺌﻮﻟﻴﺖ ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ ﺳﺎزﻣﺎن ﺑﺮ داده ﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ را ﺑﺮ ﻋﻬﺪه‬
‫دارد ‪ .‬اﮔﺮ ﺑﺨﻮاﻫﻴﻢ وﻇﺎﻳﻒ ‪ DBA‬را ﺑﻪ ﻃﻮر ﺟﺰﺋﻲ ﻃﺮاﺣﻲ ﻛﻨﻴﻢ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد دادهﻫﺎﻳﻲ ﻛﻪ در ﭘﺎﻳﮕﺎهداده ﻧﮕﻬﺪاري ﻣﻲﺷﻮﻧﺪ‪.‬‬ ‫•‬
‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ذﺧﻴﺮه ﺳﺎزي و روش دﺳﺘﻴﺎﺑﻲ اﺳﺖ‪.‬‬ ‫•‬
‫ارﺗﺒﺎط ﺑﺎ ﻛﺎرﺑﺮان ﺑﺮاي ﺣﺼﻮل اﻃﻤﻴﻨﺎن از ﺑﺮآورده ﺷﺪن ﻧﻴﺎزﻫﺎي آﻧﺎن‪.‬‬ ‫•‬
‫‪5‬‬ ‫‪4‬‬
‫ﺗﻌﺮﻳﻒ ﺑﺮرﺳﻲﻫﺎي ﻣﺮﺑﻮط ﺑﻪ اﻣﻨﻴﺖ وﺟﺎﻣﻌﻴﺖ )ﺻﺤﺖ ﻋﻤﻠﻴﺎت دادهﻫﺎ(‪.‬‬ ‫•‬
‫‪6‬‬
‫ﺗﻌﺮﻳﻒ اﺳﺘﺮاﺗﮋي اﺧﺬ ﻧﺴﺨﻪ ﭘﺸﺘﻴﺒﺎﻧﻲ و ﺗﺮﻣﻴﻢ ‪.‬‬ ‫•‬
‫ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻜﺮد ﺳﻴﺴﺘﻢ و ﭘﺎﺳﺨﮕﻮﻳﻲ ﺑﻪ ﻧﻴﺎزﻫﺎي در ﺣﺎل ﺗﻐﻴﻴﺮ‪.‬‬ ‫•‬

‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ اﻣﺮوزه ﺑﺎ ﭘﻴﭽﻴﺪه ﺗﺮ ﺷﺪن ﭘﺎﻳﮕﺎه ﻫﺎي داده و ﺣﺠﻴﻢ ﺗﺮ ﺷﺪن‬
‫ﺗﺤﺖ ﻧﻈﺮ ﻳﻚ ﻣﺪﻳﺮ اﺻﻠﻲ‬ ‫)‪(Junior DBA‬‬ ‫داده ﻫﺎ‪ ،‬ﻣﻌﻤﻮﻻً ﭼﻨﺪ ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده‬
‫ﻗﺮار ﮔﺮﻓﺘﻪ و ﻫﺮ ﻳﻚ ﻣﺴﺌﻮﻟﻴﺖ ﻳﻚ ﻗﺴﻤﺖ را ﺑﺮ ﻋﻬﺪه‬ ‫)‪(Senior DBA‬‬ ‫ﭘﺎﻳﮕﺎه داده ﻫﺎ‬
‫دارﻧﺪ‪.‬‬

‫‪1. Ap p l i c a t i o n P r o gr a mme r‬‬


‫) ‪2. E n d U s e r ( R ea l U se r‬‬
‫‪3. D at a b a s e Ad mi n i s t r a t o r‬‬
‫‪4 . Se c u r i t y‬‬
‫‪5 . In t e gr i t y‬‬
‫‪6 . R e c o ve r y‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ ‫‪16‬‬

‫ﺗﻤﺮﻳﻨﺎت‬

‫‪ .1‬ﻣﻔﺎﻫﻴﻢ داده‪ ،‬اﻃﻼع و داﻧﺶ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬


‫‪ .2‬ﭘﺎﻳﮕﺎهداده را ﺗﻌﺮﻳﻒ ﻧﻤﺎﻳﻴﺪ ؟‬
‫‪ .3‬ﻋﻨﺎﺻﺮ اﺳﺎﺳﻲ ﻳﻚ ﭘﺎﻳﮕﺎهداده را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬
‫‪ .4‬اﻧﻮاع ﺗﺠﻬﻴﺰات ﺳﺨﺖاﻓﺰاري ﻣﻮرد ﻧﻴﺎز ﺑﺮاي ﻳﻚ ﭘﺎﻳﮕﺎهداده را در ﺣﺎﻟﺖ ﻛﻠﻲ‬
‫ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬
‫‪ .5‬اﻧﻮاع ﻛﺎرﺑﺮان اﺳﺘﻔﺎده ﻛﻨﻨﺪه از ﻳﻚ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهداده را در ﺣﺎﻟﺖ ﻛﻠﻲ ﻧﺎم ﺑﺮده‬
‫و ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬
‫‪www.PDFgozar.com‬‬

‫ﻓﺼﻞ ‪۲‬‬

‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫ﻫﺪف ﻛﻠﻲ‬
‫در اﻳﻦ ﻓﺼﻞ ﺑﺎ ﻣﻔﻬﻮم ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ آﺷﻨﺎ ﺧﻮاﻫﻴﻢ ﺷﺪ و دو روش ﻣﺪل‬
‫‪2‬‬ ‫‪1‬‬
‫را ﻣﻮرد‬ ‫)‪(ERR‬‬ ‫و ﻣﻮﺟﻮدﻳﺖ‪ -‬ارﺗﺒﺎط ﺗﻮﺳﻌﻪ ﻳﺎﻓﺘﻪ‬ ‫)‪(ER‬‬ ‫ﺳﺎزي ﻣﻮﺟﻮدﻳﺖ‪ -‬ارﺗﺒﺎط‬
‫ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد‪ .‬در ﺑﺤﺚ ﻣﺪل ﺳﺎزي ﺑﻪ روش ‪ ،ER‬ﺑﺎ ﻣﻔﺎﻫﻴﻢ‬
‫ﻣﻮﺟﻮدﻳﺖ‪ ،‬ﺻﻔﺎت و ارﺗﺒﺎط آﺷﻨﺎ ﺷﺪه و ﺳﭙﺲ ﻧﺤﻮه رﺳﻢ ﻧﻤﻮدار را در اﻳﻦ روش‬
‫را ﺷﺮح ﺧﻮاﻫﻴﻢ داد‪.‬‬ ‫‪ER‬‬ ‫ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد و ﭘﺲ از آن ﻣﺸﻜﻼت روش‬
‫را ﺗﻮﺿﻴﺢ داده و ﻣﻄﺎﻟﺒﻲ در ﺧﺼﻮص ﻧﺤﻮه‬ ‫‪ERR‬‬ ‫در اداﻣﻪ ﻣﺪل ﺳﺎزي ﺑﻪ روش‬
‫ﭘﻮﺷﺶ ﻣﺒﺎﺣﺚ ﺷﻲ ﮔﺮاﻳﻲ در اﻳﻦ روش را ﺑﺮﺧﻮاﻫﻴﻢ ﺷﻤﺮد‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬
‫در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬
‫ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ‬ ‫•‬
‫‪ER‬‬ ‫ﻣﺪل ﺳﺎزي ﺑﻪ روش‬ ‫•‬
‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬ ‫•‬
‫ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ‬ ‫•‬
‫ﺣﺎﻻت ﻳﻚ ﻣﻮﺟﻮدﻳﺖ‬ ‫•‬

‫)‪1. E nt i t y Re l a t i o n s hi p ( E R‬‬
‫)‪2. E xt e n d e d ( E n h a n c ed ) E nt i t y R e l a t i on s h i p ( E E R‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪18‬‬

‫ﺻﻔﺎت ﻳﻚ ﻣﻮﺟﻮدﻳﺖ‬ ‫•‬


‫ارﺗﺒﺎط‬ ‫•‬
‫ﻧﻮع ارﺗﺒﺎط‬ ‫•‬
‫‪ER‬‬ ‫ﻧﻤﻮدار‬ ‫•‬
‫درﺟﻪ و ﻣﺎﻫﻴﺖ ﻧﻮع ارﺗﺒﺎط‬ ‫•‬
‫ﺣﺪ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ‬ ‫•‬
‫‪ER‬‬ ‫ﻣﺸﻜﻼت روش‬ ‫•‬
‫‪EER‬‬ ‫ﻣﺪل ﺳﺎزي ﺑﺎ روش‬ ‫•‬
‫ﺗﺠﺰﻳﻪ و ﺗﺮﻛﻴﺐ‬ ‫•‬
‫ﺗﺨﺼﻴﺺ و ﺗﻌﻤﻴﻢ‬ ‫•‬
‫زﻳﺮ ﻧﻮعﻫﺎي ﻫﻤﭙﻮﺷﺎ و ﻣﺠﺰا‬ ‫•‬
‫دﺳﺘﻪ ﺑﻨﺪي و وراﺛﺖ‬ ‫•‬
‫ﺗﺠﻤﻊ‬ ‫•‬

‫‪1‬‬
‫‪ -1‬ﻣﺪﻟﺴﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ‬
‫ﻛﺎرﺑﺮان ﭘﺎﻳﮕﺎه داده ﺑﻪ ﻃﻮر ﻣﻌﻤﻮل ﺑﺎ داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎه داده ﺳﺮ و ﻛﺎر‬
‫دارﻧﺪ ﻛﻪ اﺻﻄﻼﺣﺎ ﺑﻪ آﻧﻬﺎ داده ﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ ﻣﻲ ﮔﻮﻳﻨﺪ‪ .‬ﻳﻜﻲ از ﻧﻜﺎت ﻣﻬﻢ در ذﺧﻴﺮه‬
‫ﺳﺎزي داده ﻫﺎ ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ آﻧﻬﺎ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻳﻌﻨﻲ داده ﻫﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ در‬
‫ﭘﺎﻳﮕﺎه داده ﻫﺎ اﺑﺘﺪا ﺑﺎﻳﺪ در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ اﻧﺘﺰاع ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ ﺷﻮﻧﺪ‪ .‬ﺣﺎل ﻣﻤﻜﻦ‬
‫اﺳﺖ اﻳﻦ ﺳﺌﻮال ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ ﺑﻪ ﭼﻪ ﻣﻌﻨﻲ اﺳﺖ‪.‬‬
‫‪2‬‬
‫ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ ﻋﺒﺎرت اﺳﺖ از اراﺋﻪ ﻣﺪﻟﻲ از ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ ﺑﻪ ﻛﻤﻚ‬
‫ﻣﻔﺎﻫﻴﻤﻲﻣﺴﺘﻘﻞ از ﻣﻮﺿﻮﻋﺎت ﻣﺮﺑﻮط ﺑﻪ ﻧﻤﺎﻳﺶ ﻣﻨﻄﻘﻲ و ﻓﻴﺰﻳﻜﻲ دادهﻫﺎ‪ .‬ﻣﺪل ﺳﺎزي‬
‫‪3‬‬
‫ﻣﻌﻨﺎﻳﻲ را در ﺑﻌﻀﻲ از ﻛﺘﺐ ﻃﺮاﺣﻲ ادراﻛﻲ ﻧﻴﺰ ﻣﻲﻧﺎﻣﻨﺪ‪ .‬ﺑﺮاي ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ‬
‫روشﻫﺎي ﻣﺨﺘﻠﻒ وﺟﻮد دارد‪ .‬روشﻫﺎي ﻛﻼﺳﻴﻚ راﻳﺞ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬

‫‪1. Se ma n t i c D a t a M o d e l i n g‬‬
‫‪2 . O pe r a t i o n a l E n vi r o n me n t‬‬
‫‪3. C o nc e p t u a l D e s i gn‬‬
‫‪www.PDFgozar.com‬‬

‫‪19‬‬ ‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫روش ﻣﻮﺟﻮدﻳﺖ‪ -‬ارﺗﺒﺎط‬ ‫•‬


‫روش ﻣﻮﺟﻮدﻳﺖ‪ -‬ارﺗﺒﺎط ﺗﻮﺳﻌﻪ ﻳﺎﻓﺘﻪ‬ ‫•‬

‫در اﻳﻦ ﺑﻴﻦ روش ﻣﻮﺟﻮدﻳﺖ‪ -‬ارﺗﺒﺎط )‪ (ER‬ﻛﻪ از اﺑﺘﺪا ﺑﻪ ﻋﻨﻮان روش ﻣﺪل ﺳﺎزي‬
‫ﻣﻌﻨﺎﻳﻲ در ﭘﺎﻳﮕﺎه ﻫﺎي داده راﺑﻄﻪ اي ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ ﺑﻴﺸﺘﺮ ﻣﻮرد ﺑﺮرﺳﻲ‬
‫ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ‪.‬‬

‫‪ER‬‬ ‫‪ -2‬ﻣﺪﻟﺴﺎزي ﺑﻪ روش‬


‫ﻳﻜﻲ از اﺑﺰارﻫﺎي ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ در ﭘﺎﻳﮕﺎه داده اﺳﺖ ﻛﻪ‬ ‫‪ER‬‬ ‫ﻣﺪل ﺳﺎزي ﺑﻪ روش‬
‫اراﺋﻪ ﮔﺮدﻳﺪ و ﺑﻪ ﻣﺮور زﻣﺎن اﻳﻦ اﺑﺰار‬ ‫‪MIT‬‬ ‫در‬ ‫‪Chen‬‬ ‫در ﺳﺎل ‪ 1976‬ﺗﻮﺳﻂ آﻗﺎي‬
‫‪1‬‬
‫از ﺑﺎﻧﻚ اﻃﻼﻋﺎت ﻋﺒﺎرت ﺑﻮد از ﺗﻌﺪادي ﭘﺪﻳﺪه‬ ‫‪Chen‬‬ ‫ﭘﻴﺸﺮﻓﺖ ﻛﺮد‪ .‬ﺗﻌﺮﻳﻒ‬
‫‪3‬‬ ‫‪2‬‬
‫)ﻣﻮﺟﻮدﻳﺖ( داراي ﺻﻔﺎت ﻣﺸﺨﺺ و ارﺗﺒﺎط ﺑﻴﻦ ﭘﺪﻳﺪهﻫﺎ‪ .‬در اﻳﻦ روش‪ ،‬ﺳﻪ‬
‫‪4‬‬
‫ﻣﻔﻬﻮم ﻣﻌﻨﺎﻳﻲ زﻳﺮ وﺟﻮد دارد‪:‬‬
‫‪5‬‬
‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬ ‫•‬
‫‪6‬‬
‫ﺻﻔﺖ‬ ‫•‬
‫‪7‬‬ ‫•‬
‫ﻧﻮع ارﺗﺒﺎط‬

‫در اداﻣﻪ ﻫﺮ ﻳﻚ از ﻣﻔﺎﻫﻴﻢ ﻣﺬﻛﻮر را ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد‪.‬‬

‫‪ 1-2‬ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬
‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻋﺒﺎرت اﺳﺖ از ﻣﻔﻬﻮم ﻛﻠﻲ ﻫﺮ آﻧﭽﻪ ﻛﻪ ﻣﻲ ﺧﻮاﻫﻴﻢ در ﻣﻮرد آن‬
‫اﻃﻼﻋﻲ ﺟﻤﻊ آوري ﻛﻨﻴﻢ و داﻧﺶ ﺧﻮد را در ﻣﻮردش اﻓﺰاﻳﺶ دﻫﻴﻢ‪ .‬ﮔﺎه ﺑﻪ ﻧﻮع‬
‫ﻣﻮﺟﻮدﻳﺖ‪ ،‬ﻧﻮع ﺷﻴﻲ ﻫﻢ ﻣﻲﮔﻮﻳﻴﻢ‪ .‬ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ ﺗﺸﺨﻴﺺ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ‬

‫‪1. E nt i t y‬‬
‫‪2. At t r i b u t e‬‬
‫‪3. R el a t i o n‬‬
‫‪4. Se ma n t i c C o n c e p t‬‬
‫‪5. E nt i t y T y p e‬‬
‫‪6. At t r i b u t e‬‬
‫‪7. R el a t i o n s h i p T y p e‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪20‬‬

‫در ﻳﻚ ﻣﺤﻴﻂ ﻛﺎري دﺷﻮار ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﻪ ﻃﻮر ﻛﻠﻲ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ داراي‬
‫ﺧﺼﻮﺻﻴﺎت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ ﻳﺎ ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﻻزم اﺳﺖ اﻃﻼﻋﺎت زﻳﺮ در ﻣﻮرد ﻫﺮ ﻧﻮع‬
‫ﻣﻮﺟﻮدﻳﺘﻲ ﺑﺪﺳﺖ آﻳﺪ‪:‬‬
‫ﻧﺎم ﻣﻮﺟﻮدﻳﺖ )ﻳﺎ ﭘﺪﻳﺪه(‬ ‫•‬
‫ﻣﻌﻨﺎي ﻣﺸﺨﺺ‬ ‫•‬
‫ﻣﺠﻤﻮﻋﻪاي از ﺻﻔﺎت‬ ‫•‬
‫ﻣﺠﻤﻮﻋﻪاي از ﻧﻤﻮﻧﻪﻫﺎ‬ ‫•‬
‫ﺣﺎﻟﺖ ﻛﻨﺶ ﮔﺮي ﻳﺎ ﻛﻨﺶ ﭘﺬﻳﺮي‬ ‫•‬
‫ﻋﺪم واﺑﺴﺘﮕﻲ و ﻳﺎ واﺑﺴﺘﮕﻲ ﺑﻪ ﻳﻚ ﻧﻮع دﻳﮕﺮ‬ ‫•‬

‫ﺑﺮاي ﻣﺜﺎل در ﻳﻚ ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎت اﺗﻮﻣﺒﻴﻞ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖﻫﺎ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺷﺎﻣﻞ‬


‫ﻣﻮﺟﻮدﻳﺖ اﺗﻮﻣﺒﻴﻞ‪ ،‬ﻛﺸﻮر ﺳﺎزﻧﺪه )ﻳﺎ ﻣﺼﺮف ﻛﻨﻨﺪه( و‪ ...‬ﺑﺎﺷﻨﺪ‪ .‬در ﻳﻚ ﺳﻴﺴﺘﻢ‬
‫آﻣﻮزﺷﻲ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺷﺎﻣﻞ ﻣﻮﺟﻮدﻳﺖ ﻫﺎي درس‪ ،‬داﻧﺸﺠﻮ‪ ،‬اﺳﺘﺎد‪،‬‬
‫ﻛﻼس و‪ ...‬ﺑﺎﺷﻨﺪ‪.‬‬

‫‪1‬‬
‫‪ 1-1-2‬ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ‬
‫ﺗﻤﺎم ﻧﻤﻮﻧﻪﻫﺎي ﻣﺸﺨﺺ )در ﻣﻮاردي ﻣﺘﻤﺎﻳﺰ( ﻫﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ از ﻳﻚ ﻣﺤﻴﻂ‬
‫‪2‬‬
‫ﻣﺸﺨﺺ‪ ،‬ﻣﺠﻤﻮﻋﻪ اي ﺑﻪ ﻧﺎم ﻣﺠﻤﻮﻋﻪ ﻧﻤﻮﻧﻪ ﻫﺎي آن ﻣﻮﺟﻮدﻳﺖ را ﺗﺸﻜﻴﻞ ﻣﻲ دﻫﻨﺪ‬
‫ﻫﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺧﻮد ﻣﻲﺗﻮاﻧﺪ داراي ﻧﻤﻮﻧﻪ ﻫﺎي ﻣﺨﺘﻠﻔﻲ ﺑﺎﺷﺪ ﻛﻪ اﻳﻦ ﻧﻤﻮﻧﻪ ﻫﺎ از‬
‫ﻣﺸﺨﺼﺎت ﻧﻮع ﺧﻮد ﺗﺒﻌﻴﺖ ﻣﻲ ﻛﻨﻨﺪ‪ .‬ﺑﺮاي ﻣﺜﺎل ﻣﻮﺟﻮدﻳﺖ اﺗﻮﻣﺒﻴﻞ ﻣﻲ ﺗﻮاﻧﺪ داراي‬
‫ﻧﻤﻮﻧﻪ ﻫﺎﻳﻲ ﻣﺎﻧﻨﺪ ﭘﻴﻜﺎن‪ ،‬ﭘﮋو‪ ،‬ﺳﻤﻨﺪ‪ ،‬ﺑﻨﺰ و‪ ...‬ﺑﺎﺷﺪ ﻛﻪ ﻫﺮ ﻛﺪام از اﻳﻨﻬﺎ در واﻗﻊ ﻳﻚ‬
‫ﻧﻤﻮﻧﻪ از ﻣﻮﺟﻮدﻳﺖ اﺗﻮﻣﺒﻴﻞ ﻫﺴﺘﻨﺪ‪.‬‬

‫‪ 2-1-2‬ﺣﺎﻻت ﻳﻚ ﻣﻮﺟﻮدﻳﺖ‬
‫ﻳﻜﻲ از ﻧﻜﺎت ﺑﺴﻴﺎر ﻣﻬﻢ در ﺗﻌﻴﻴﻦ ﻣﻮﺟﻮدﻳﺖﻫﺎ ﺗﻌﻴﻴﻦ ﻣﺴﺘﻘﻞ ﻳﺎ واﺑﺴﺘﻪ ﺑﻮدن‬
‫ﻣﻮﺟﻮدﻳﺖ ﻫﺎ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻳﻚ ﻣﻮﺟﻮدﻳﺖ ﻣﻤﻜﻦ اﺳﺖ ﺑﻪ دو ﺻﻮرت ﻗﻮي )ﻣﺴﺘﻘﻞ( ﻳﺎ‬

‫‪1. E nt i t y In s t a n c e‬‬
‫‪2. In s t a n c e s Se t‬‬
‫‪www.PDFgozar.com‬‬

‫‪21‬‬ ‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫ﺿﻌﻴﻒ )واﺑﺴﺘﻪ( ﺑﺎﺷﺪ‪ .‬در اداﻣﻪ ﺑﻪ ﺷﺮح ﺣﺎﻻت ﻣﺬﻛﻮر ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ‪:‬‬
‫‪1‬‬
‫ﻣﻮﺟﻮدﻳﺖ ﻗﻮي ﻳﺎ ﻣﺴﺘﻘﻞ‬
‫ﻣﻮﺟﻮدﻳﺘﻲ اﺳﺖ ﻛﻪ ﻣﺴﺘﻘﻞ از ﻫﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ دﻳﮕﺮ و ﺑﻪ ﺧﻮدي ﺧﻮد در ﻳﻚ‬
‫ﻣﺤﻴﻂ ﻣﺸﺨﺺ ﻣﻄﺮح ﺑﺎﺷﺪ‪ .‬اﻳﻦ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ واﺑﺴﺘﮕﻲ ﺧﺎﺻﻲ ﺑﻪ ﺳﺎﻳﺮ‬
‫ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ ﻧﺪارد‪.‬‬
‫‪2‬‬
‫ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﻳﺎ واﺑﺴﺘﻪ‬
‫ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﻣﻮﺟﻮدﻳﺘﻲ اﺳﺖ ﻛﻪ وﺟﻮدش واﺑﺴﺘﻪ ﺑﻪ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ دﻳﮕﺮ‬
‫)ﻣﻮﺟﻮدﻳﺖ ﻗﻮي( اﺳﺖ‪ .‬ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ اﮔﺮ ﻣﻮﺟﻮدﻳﺖ ﻗﻮي از ﻣﺪل ﻣﻌﻨﺎﻳﻲ‬
‫ﺣﺬف ﮔﺮدد‪ ،‬وﺟﻮد ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﺑﻲ ﻣﻌﻨﺎ ﺑﻮده و ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﻧﻴﺰ ﺣﺬف‬
‫ﻣﻲ ﮔﺮدد‪.‬‬
‫ﻧﻜﺘﻪ‪ :‬ﻣﺴﺘﻘﻞ ﺑﻮدن ﻳﺎ واﺑﺴﺘﻪ ﺑﻮدن ﻣﻮﺟﻮدﻳﺖﻫﺎ در ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ ﻛﻪ ﻣﻲ ﺧﻮاﻫﻴﻢ‬
‫ﺑﺮاي آن ﭘﺎﻳﮕﺎه داده اي ﻃﺮاﺣﻲ ﻛﻨﻴﻢ‪ ،‬ﺗﻌﻴﻴﻦ ﻣﻲ ﮔﺮدد و اﻳﻦ ﻣﻮﺿﻮع ارﺗﺒﺎﻃﻲ ﺑﻪ‬
‫واﺑﺴﺘﮕﻲ و ﻳﺎ اﺳﺘﻘﻼل ﻣﻮﺟﻮدﻳﺖ در دﻧﻴﺎي واﻗﻌﻲ ﻧﺪارد‪.‬‬

‫‪ 2-2‬ﺻﻔﺖ‬
‫ﻫﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺷﺎﻣﻞ ﻣﺠﻤﻮﻋﻪ اي از ﺻﻔﺎت )ﻣﺸﺨﺼﺎت( ﻣﺮﺑﻮط ﺑﻪ آن ﻣﻮﺟﻮدﻳﺖ‬
‫اﺳﺖ ﻛﻪ ﺣﺎﻟﺖ ﻳﺎ وﺿﻊ آن ﻣﻮﺟﻮدﻳﺖ را ﺗﻮﺻﻴﻒ ﻣﻲ ﻛﻨﺪ‪ .‬اﻳﻦ ﺻﻔﺎت ﺧﻮد داراي‬
‫رده ﺑﻨﺪي ﻫﺎي ﻣﺨﺘﻠﻔﻲ ﻫﺴﺘﻨﺪ ﻛﻪ در ذﻳﻞ آﻣﺪه اﺳﺖ‪:‬‬

‫رده ﺑﻨﺪي ﺻﻔﺖ‬


‫ﺻﻔﺎت ﻳﻚ ﻣﻮﺟﻮدﻳﺖ ﺑﺮ ﺣﺴﺐ ﻣﻔﻬﻮم آﻧﻬﺎ ﺑﻪ دﺳﺘﻪﻫﺎي زﻳﺮ ﺗﻘﺴﻴﻢ ﻣﻲ ﮔﺮدﻧﺪ‪:‬‬
‫‪4‬‬ ‫‪3‬‬
‫ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ‬ ‫•‬
‫‪2‬‬ ‫‪1‬‬
‫ﺗﻚ ﻣﻘﺪاري ﻳﺎ ﭼﻨﺪ ﻣﻘﺪاري‬ ‫•‬

‫‪1. St r o n g‬‬
‫‪2. W ea k‬‬
‫‪3. Si n gl e‬‬
‫‪4. C o mp o s i t e‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪22‬‬

‫ﺷﻨﺎﺳﻪ ﻳﺎ ﻧﺎﺷﻨﺎﺳﻪ‬ ‫•‬


‫‪3‬‬
‫ﻫﻴﭻ ﻣﻘﺪار ﭘﺬﻳﺮ ﻳﺎ ﻫﻴﭻ ﻣﻘﺪار ﻧﺎﭘﺬﻳﺮ‬ ‫•‬
‫‪5‬‬
‫ذﺧﻴﺮه ﺷﺪه )واﻗﻌﻲ‪ 4‬ﻳﺎ ﻣﺒﻨﺎ( ﻳﺎ ﻣﺸﺘﻖ‬ ‫•‬

‫در اداﻣﻪ ﻫﺮ ﻳﻚ از رده ﺑﻨﺪي ﺻﻔﺎت )ﺑﺮ اﺳﺎس آﻧﭽﻪ ﻛﻪ در ﺑﺎﻻ آﻣﺪه اﺳﺖ( ﻣﻮرد‬
‫ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪.‬‬

‫‪ 1-2-2‬ﺻﻔﺖ ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ‬


‫ﺻﻔﺖ ﺳﺎده‬
‫ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﻣﻘﺪار آن ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ ﻣﻲ ﺑﺎﺷﺪ‪ ،‬ﺑﻪ اﻳﻦ ﻣﻌﻨﺎ ﻛﻪ اﮔﺮ ﻣﻘﺪار آﻧﺮا ﺑﻪ‬
‫اﺟﺰاﺋﻲ ﺗﺠﺰﻳﻪ ﻛﻨﻴﻢ‪ ،‬ﻣﻘﺎدﻳﺮ ﻫﺮ ﺟﺰء ﻓﺎﻗﺪ ﻣﻌﻨﺎ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻣﺎﻧﻨﺪ اﺳﻢ درﺧﺖ‪.‬‬

‫ﺻﻔﺖ ﻣﺮﻛﺐ‬
‫ﺻﻔﺘﻲ ﻛﻪ از ﭼﻨﺪ ﺻﻔﺖ ﺳﺎده ﺗﺸﻜﻴﻞ ﺷﺪه و ﺗﺠﺰﻳﻪ ﺷﺪﻧﻲ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻣﺎﻧﻨﺪ ﺻﻔﺖ‬
‫آدرس ﻛﻪ ﻣﻲ ﺗﻮاﻧﺪ ﺷﺎﻣﻞ ﻧﺎم ﻛﺸﻮر‪ ،‬اﺳﺘﺎن‪ ،‬ﺷﻬﺮ‪ ،‬ﻣﻨﻄﻘﻪ و‪ ...‬ﺑﺎﺷﺪ‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ‬
‫ﻛﻪ ﻣﻲﺗﻮان ﺑﺮ ﺣﺴﺐ ﻧﻮع ﻧﻴﺎز ﺑﺠﺎي اﺳﺘﻔﺎده از ﻳﻚ ﺻﻔﺖ ﻣﺮﻛﺐ‪ ،‬ﺻﻔﺖ ﻣﺬﻛﻮر را‬
‫ﺑﻪ ﭼﻨﺪﻳﻦ ﺻﻔﺖ ﺳﺎده ﺷﻜﺴﺖ‪.‬‬

‫‪ 2-2-2‬ﺻﻔﺖ ﺗﻚ ﻣﻘﺪاري ﻳﺎ ﭼﻨﺪ ﻣﻘﺪاري‬


‫ﺻﻔﺖ ﺗﻚ ﻣﻘﺪاري‬
‫ﺻﻔﺖ ﺗﻚ ﻣﻘﺪاري ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﺣﺪاﻛﺜﺮ ﻳﻚ ﻣﻘﺪار از ﻣﻴﺪان ﻣﻘﺎدﻳﺮ را ﺑﺮاي ﻳﻚ‬
‫ﻧﻤﻮﻧﻪ از ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻣﻲ ﮔﻴﺮد‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﻣﻘﺪار آن ﺻﻔﺖ ﺑﺮاي ﻧﻮع‬
‫ﻣﻮﺟﻮدﻳﺖ ﻣﻮرد ﻧﻈﺮ‪ ،‬ﻳﻚ ﻣﻘﺪار ﻣﺸﺨﺺ از ﻣﻴﺪان ﻣﻘﺎدﻳﺮ ﻣﺮﺑﻮط ﺑﻪ آن ﺻﻔﺖ‬
‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻣﺜﻼ ﺑﺮاي ﻫﺮ ﺷﺨﺺ ﻳﻚ ﻛﺪ ﻣﻠﻲ وﺟﻮد دارد‪.‬‬

‫‪1. Si n gl e V a l u e d‬‬
‫‪2. M u lt i V al u e d‬‬
‫‪3. N u ll V al u e‬‬
‫‪4. R ea l‬‬
‫‪5. D er i ve d‬‬
‫‪www.PDFgozar.com‬‬

‫‪23‬‬ ‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري‬


‫ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﺑﻴﺶ از ﻳﻚ ﻣﻘﺪار از ﻣﻴﺪان ﻣﻘﺎدﻳﺮ را ﺑﺮاي ﺣﺪاﻗﻞ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻧﻮع‬
‫ﻣﻮﺟﻮدﻳﺖ در ﺑﺮ ﻣﻲ ﮔﻴﺮد‪ .‬ﻣﺎﻧﻨﺪ ﺻﻔﺖ ﻣﺪرك ﺗﺤﺼﻴﻠﻲ ﺑﺮاي ﻳﻚ ﺷﺨﺺ ﻛﻪ ﻣﻤﻜﻦ‬
‫اﺳﺖ ﭼﻨﺪ ﻣﻘﺪاري ﺑﺎﺷﺪ‪ ،‬ﻟﻴﺴﺎﻧﺲ‪ ،‬ﻓﻮق ﻟﻴﺴﺎﻧﺲ و‪....‬‬

‫ﺻﻔﺖ‬

‫ﺳﺎده‬ ‫ﻣﺮﻛﺐ‬

‫ﭼﻨﺪ ﻣﻘﺪاري‬ ‫ﺗﻚ ﻣﻘﺪاري‬

‫ﺷﻜﻞ ‪ 1-2‬ﻧﻤﻮدار ارﺗﺒﺎط دﻫﻨﺪه ردهﻫﺎي ﻣﺨﺘﻠﻒ ﺻﻔﺎت‬

‫‪ 3-2-2‬ﺷﻨﺎﺳﻪ‬
‫ﺻﻔﺖ ﺷﻨﺎﺳﻪ ﻣﻮﺟﻮدﻳﺖ‪ ،‬ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﺑﺎﻳﺪ ﻳﻜﺘﺎﻳﻲ ﻣﻘﺪار داﺷﺘﻪ ﺑﺎﺷﺪ و ﺣﺘﻲ‬
‫اﻻﻣﻜﺎن ﻃﻮل ﻣﻘﺎدﻳﺮش ﻛﻮﺗﺎه ﺑﺎﺷﺪ‪.‬‬

‫ﻣﻔﻬﻮم ﻣﻘﺪار ﻫﻴﭻ )ﻫﻴﭻ ﻣﻘﺪار(‬


‫اﻳﻦ ﻣﻔﻬﻮم از ﻣﻔﺎﻫﻴﻢ ﻣﺪل راﺑﻄﻪ اي اﺳﺖ‪ ،‬ﻣﻘﺪار ﻫﻴﭻ ﻳﻌﻨﻲ ﻣﻘﺪار ﻧﺎﺷﻨﺎﺧﺘﻪ‪ ،‬ﻣﻘﺪار‬
‫ﺗﻌﺮﻳﻒ ﻧﺸﺪه‪ .‬ﻣﻤﻜﻦ اﺳﺖ ﻣﻘﺪار ﻳﻚ ﺻﻔﺖ ﺑﺮاي ﺑﺮﺧﻲ از ﻧﻤﻮﻧﻪ ﻫﺎي ﻳﻚ ﻧﻮع‬
‫ﻣﻮﺟﻮدﻳﺖ‪ ،‬ﻧﺎﺷﻨﺎﺧﺘﻪ ﺑﺎﺷﺪ‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺻﻔﺖ ﺷﻨﺎﺳﻪ ﻣﻮﺟﻮدﻳﺖ ﻧﻤﻲ ﺗﻮاﻧﺪ‬
‫ﻫﻴﭻ ﻣﻘﺪار ﭘﺬﻳﺮ ﺑﺎﺷﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪24‬‬

‫‪ 4-2-2‬ﺻﻔﺖ واﻗﻌﻲ ﻳﺎ ﻣﺸﺘﻖ‬


‫ﺻﻔﺖ واﻗﻌﻲ )ذﺧﻴﺮه ﺷﺪه(‬
‫ﺻﻔﺖ واﻗﻌﻲ آن ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮش در ﭘﺎﻳﮕﺎه دادهﻫﺎ ذﺧﻴﺮه ﺷﺪه ﺑﺎﺷﺪ‪ .‬ﺑﺎﻳﺪ‬
‫ﺗﻮﺟﻪ داﺷﺖ ﻛﻪ ﺟﻨﺎﻧﭽﻪ ﺻﻔﺖ ﺑﻌﻨﻮان ﺷﻨﺎﺳﻪ ﻧﺒﺎﺷﺪ‪ ،‬ﻣﻲ ﺗﻮاﻧﺪ ﻣﻘﺪار ﻫﻴﭻ را ﻧﻴﺰ داﺷﺘﻪ‬
‫ﺑﺎﺷﺪ‪.‬‬

‫ﺻﻔﺖ ﻣﺸﺘﻖ‬
‫ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮش در ﭘﺎﻳﮕﺎه داده ﻫﺎ ذﺧﻴﺮه ﺷﺪه ﻧﺒﺎﺷﺪ‪ .‬اﻳﻦ ﺻﻔﺖ وﺟﻮد‬
‫ﺧﺎرﺟﻲ ﻧﺪارد‪ .‬وﻟﻲ از روي دﻳﮕﺮ ﺻﻔﺎت ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ اﺳﺖ‪ .‬ﻣﺎﻧﻨﺪ ﺳﻦ اﻓﺮاد ﻛﻪ از‬
‫روي ﺗﺎرﻳﺦ ﺗﻮﻟﺪ ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ اﺳﺖ‪ .‬ﻫﺮ ﺻﻔﺖ ﺟﻨﺒﻪ ﻫﺎي زﻳﺮ را دارد‪:‬‬
‫ﻧﺎم‬ ‫•‬
‫ﻣﻌﻨﺎ‬ ‫•‬
‫ﻣﻴﺪان )داﻣﻨﻪ( ﻣﻘﺎدﻳﺮ‬ ‫•‬
‫ﻧﻮع ﻣﻘﺪار‬ ‫•‬
‫ﻃﻮل ﻣﻘﺪار )ﺻﺮﻳﺢ ﻳﺎ ﺻﻔﺘﻲ(‬ ‫•‬
‫ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻣﺤﺪودﻳﺖ ﻧﺎﻇﺮ ﺑﻪ ﺻﻔﺖ‬ ‫•‬

‫‪1‬‬
‫‪ 3-2‬ارﺗﺒﺎط‬
‫ﻳﻜﻲ از ﻣﻔﺎﻫﻴﻢ ﺑﺴﻴﺎر ﻣﻬﻢ در ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ داده ﻫﺎ ﻣﻔﻬﻮم ارﺗﺒﺎط ﻳﺎ ﺑﺴﺘﮕﻲ‬
‫اﺳﺖ‪ ،‬ﺑﻪ ﻫﻤﻴﻦ ﻣﻨﻈﻮر ﺑﻪ ﺗﻌﺮﻳﻒ ﻧﻮع ارﺗﺒﺎط ﻣﻲ ﭘﺮدازﻳﻢ‪:‬‬

‫ﻧﻮع ارﺗﺒﺎط‬
‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ )‪ (n≥1‬و ﻣﺎﻫﻴﺘﺎ ﻧﻮﻋﻲ‬ ‫‪n‬‬ ‫ﺋﻮع ارﺗﺒﺎط ﻋﺒﺎرت اﺳﺖ از ﺗﻌﺎﻣﻞ‪ 2‬ﺑﻴﻦ‬
‫ﺑﺴﺘﮕﻲ ﺑﻴﻦ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖﻫﺎﺳﺖ‪ .‬ﺑﻪ ﺗﻌﺒﻴﺮي دﻳﮕﺮ ﻋﻤﻠﻲ اﺳﺖ ﻛﻪ ﺑﻴﻦ اﻧﻮاع‬
‫ﻣﻮﺟﻮدﻳﺖ ﻫﺎ ﺟﺎري ﺑﻮده‪ ،‬ﻫﺴﺖ ﻳﺎ ﺧﻮاﻫﺪ ﺑﻮد‪ .‬ﻫﺮ ﻧﻮع ارﺗﺒﺎط ﻳﻚ ﻣﻌﻨﺎي ﻣﺸﺨﺺ‬
‫داﺷﺘﻪ و ﺑﺎ ﻳﻚ ﻧﺎم ﺑﻴﺎن ﻣﻲ ﺷﻮد‪.‬‬

‫‪1. As s o c i a t i o n‬‬
‫‪2. In t e r a c t i o n‬‬
‫‪www.PDFgozar.com‬‬

‫‪25‬‬ ‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫‪ER‬‬ ‫‪ -3‬ﻧﻤﻮدار‬
‫ﻳﻌﻨﻲ‬ ‫‪ER‬‬ ‫در واﻗﻊ ﻧﻤﻮداري اﺳﺖ ﻛﻪ در آن ﺳﻪ ﻣﻔﻬﻮم اﺳﺎﺳﻲ ﻣﺪل‬ ‫‪ER‬‬ ‫ﻧﻤﻮدار‬
‫اوﻟﻴﻦ‬ ‫‪ER‬‬ ‫ﻣﻮﺟﻮدﻳﺖ‪ ،‬ﺻﻔﺖ و ﻧﻮع ارﺗﺒﺎط ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮﻧﺪ‪ .‬در واﻗﻊ ﻧﻤﻮدار‬
‫ﻃﺮح ﭘﺎﻳﮕﺎه داده ﻫﺎ و ﻣﺪل ﻛﻠﻲ آن در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ اﻧﺘﺰاع ﻣﻲ ﺑﺎﺷﺪ‪.‬‬

‫‪ER‬‬ ‫ﻧﻤﺎد در ﻣﺪل‬ ‫‪ER‬‬ ‫ﻣﻔﻬﻮم ﻧﻤﺎد در ﻣﺪل‬


‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‪ :‬ﭘﺪﻳﺪهﻫﺎي ﻣﻮﺟﻮد ﻛﻪ‬
‫وﺟﻮد ﺧﺎرﺟﻲ دارﻧﺪ )‪ (Entity‬را ﺑﺎ‬
‫ﻣﺴﺘﻄﻴﻞ ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ‪.‬‬
‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ )واﺑﺴﺘﻪ(‬

‫ﻧﻮع ارﺗﺒﺎط )‪ :(Relationship‬ﻋﺎﻣﻞ ارﺗﺒﺎط‬


‫ﻣﻮﺟﻮدﻳﺖﻫﺎ را ﺑﺎ ﻟﻮزي ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ‪.‬‬

‫ﻧﻮع ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﺑﺎ ﻗﻮي‬

‫ﻣﺸﺎرﻛﺖ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ در ﻧﻮع ارﺗﺒﺎط‬

‫ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲ‬

‫ﺻﻔﺖ‪ :‬ﺻﻔﺖﻫﺎي ﻫﺮ ﻣﻮﺟﻮدﻳﺖ را ﺗﻮﺳﻂ‬


‫اﺷﻜﺎل ﺑﻴﻀﻲ ﺑﻪ آن ﻣﺘﺼﻞ ﻣﻲﻧﻤﺎﻳﻴﻢ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪26‬‬

‫ﺻﻔﺖ ﺷﻨﺎﺳﻪ اول‬

‫ﺻﻔﺖ ﺷﻨﺎﺳﻪ دوم )در ﺻﻮرت وﺟﻮد(‬

‫ﺻﻔﺖ ﺷﻨﺎﺳﻪ ﻣﺮﻛﺐ )ﻣﺜﻼ درﺧﺘﻲ(‬

‫ﺻﻔﺖ ﺟﻨﺪ ﻣﻘﺪاري‬

‫ﺻﻔﺖ ﻣﺮﻛﺐ‬

‫ﺻﻔﺖ ﻣﺸﺘﻖ‬
‫)ﻣﺠﺎزي ﻳﺎ ﻣﺤﺎﺳﺒﻪ ﺷﺪﻧﻲ(‬

‫‪1‬‬ ‫‪N‬‬
‫‪1‬‬ ‫‪1‬‬ ‫ﭼﻨﺪي ارﺗﺒﺎط‬
‫‪E1‬‬ ‫‪R‬‬ ‫‪E2‬‬
‫‪N‬‬ ‫‪M‬‬

‫ﻧﻤﻮدار ‪ER‬‬ ‫ﺷﻜﻞ ‪ 2-2‬ﻧﻤﺎدﻫﺎي رﺳﻢ‬

‫ﭘﺎﺳﺨﮕﻮي ﻣﺠﻤﻮﻋﻪ ﻣﺸﺨﺼﻲ از ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان اﺳﺖ و ﺑﺪﻳﻬﻲ‬ ‫‪ER‬‬ ‫ﻫﺮ ﻧﻤﻮدار‬
‫اﺳﺖ ﻛﻪ اﻳﻦ ﻧﻤﻮدار ﺑﺎ ﺗﻐﻴﻴﺮ و رﺷﺪ ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان ﺗﻐﻴﻴﺮ ﻳﺎﻓﺘﻪ و ﺗﻮﺳﻌﻪ داده ﻣﻲﺷﻮد‪.‬‬
‫ﺑﺮاي رﺳﻢ اﻳﻦ ﻧﻮع ﻧﻤﻮدار ﻧﻴﺎز ﺑﻪ ﻧﻤﺎدﻫﺎﻳﻲ اﺳﺖ ﻛﻪ اﻳﻦ ﻧﻤﺎدﻫﺎ در ﺟﺪول ذﻳﻞ آﻣﺪه‬
‫اﺳﺖ‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺗﻤﺎﻣﻲﻧﻤﺎدﻫﺎي ﻣﻮرد اﺳﺘﻔﺎده ﺑﺮاي رﺳﻢ ﻧﻤﻮدار ‪ ER‬در رﺳﻢ‬
‫ﻧﻤﻮدار ‪ EER‬ﻧﻴﺰ ﻣﻌﺘﺒﺮ ﺑﻮده و ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ ﻧﺤﻮه اﺳﺘﻔﺎده‬
‫از ﻧﻤﺎدﻫﺎ در رﺳﻢ ﻧﻤﻮدار ‪ ،ER‬ﺑﻪ ﻧﻤﻮدار زﻳﺮ ﻛﻪ ﺑﻴﺎﻧﮕﺮ وﺿﻌﻴﺖ ﻳﻚ ﺳﻴﺴﺘﻢ داﻧﺸﺠﻮﻳﻲ‬
‫اﺳﺖ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬
‫‪www.PDFgozar.com‬‬

‫‪27‬‬ ‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫درﺟﻪ داﻧﺸﮕﺎﻫﻲ‬ ‫ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ‬

‫ﻧﺎم‬ ‫درس‬ ‫ﻧﺎم‬


‫اﺳﺘﺎد‬ ‫داﻧﺸﺠﻮ‬

‫رﺷﺘﻪ ﺗﺤﺼﻴﻠﻲ‬

‫ﺷﻜﻞ ‪ 3-2‬ﻳﻚ ﻧﻤﻮﻧﻪ از ﻧﻤﻮدار ‪ ER‬ﺑﺮاي ﻧﻤﺎﻳﺶ ﺳﻴﺴﺘﻢ داﻧﺸﺠﻮﻳﻲ‬

‫ﻳﻜﻲ از ﻧﻜﺎت ﻣﻬﻢ در رﺳﻢ ﻧﻤﻮدار ‪ ،ER‬ﻣﻌﻨﺎي ارﺗﺒﺎط ﺑﻴﻦ ﻋﻨﺎﺻﺮ اﺳﺖ‪ .‬ﺑﺪﻳﻦ‬
‫ﺻﻮرت ﻛﻪ ﻣﻌﻨﺎي ارﺗﺒﺎط ))اﻧﺘﺨﺎب(( ﺑﺎ ﻣﻌﻨﺎي ارﺗﺒﺎط ))ﺣﺬف(( ﻓﺮق دارد‪ .‬در اداﻣﻪ‬
‫ﻧﻤﻮﻧﻪ ا ي از ﻣﻌﻨﺎي ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺖ ﻫﺎ ﺗﺮﺳﻴﻢ ﺷﺪه اﺳﺖ‪.‬‬

‫ﺳﺎل آﻣﻮزﺷﻲ‬
‫ﻧﻤﺮه‬ ‫ﺗﺮم‬

‫داﻧﺸﺠﻮ‬ ‫اﻧﺘﺨﺎب‬ ‫درس‬

‫ﻧﻮع‬ ‫ﺣﺬف‬ ‫ﺗﺮم‬

‫ﺳﺎل آﻣﻮزﺷﻲ‬

‫ﺷﻜﻞ ‪ 4-2‬ﻧﻤﻮﻧﻪاي از ﻣﻌﻨﺎي ارﺗﺒﺎط ﺑﻴﻦ ﻋﻨﺎﺻﺮ‬


‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪28‬‬

‫‪ 1-3‬درﺟﻪ ﻧﻮع ارﺗﺒﺎط‬


‫درﺟﻪ ارﺗﺒﺎط ﺑﺴﺘﮕﻲ ﺑﻪ ﺗﻌﺪاد ﻣﻮﺟﻮدﻳﺘﻬﺎ ﻣﺮﺗﺒﻂ ﺑﻪ ﻫﻢ دارد‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﺗﻌﺪاد‬
‫ﺷﺮﻛﺖ ﻛﻨﻨﺪﮔﺎن در ﻳﻚ ﻧﻮع ارﺗﺒﺎط را درﺟﻪ آن ارﺗﺒﺎط ﻣﻲﮔﻮﻳﻨﺪ‪.‬‬

‫درﺟﻪ‬ ‫ﺗﻌﺪاد ﻣﻮﺟﻮدﻳﺖﻫﺎي‬


‫ﻓﺎرﺳﻲ‬ ‫ﻻﺗﻴﻦ‬ ‫ﺷﺮﻛﺖ ﻛﻨﻨﺪه در ارﺗﺒﺎط‬
‫ﻳﮕﺎﻧﻲ‬ ‫‪Unary‬‬ ‫‪1‬‬
‫دوﮔﺎﻧﻲ‬ ‫‪Binary‬‬ ‫‪2‬‬
‫ﺳﻪ ﮔﺎﻧﻲ‬ ‫‪Ternary‬‬ ‫‪3‬‬
‫…‬ ‫…‬ ‫…‬
‫ﭼﻨﺪ ﮔﺎﻧﻲ‬ ‫‪n-ary‬‬ ‫‪N‬‬

‫در اداﻣﻪ ﻫﺮ ﻳﻚ از درﺟﺎت ﻧﻮع ارﺗﺒﺎط ﺑﺼﻮرت ﺷﻤﺎﺗﻴﻚ رﺳﻢ ﺷﺪه و ﺗﻮﺿﻴﺢ داده‬
‫ﻣﻲ ﺷﻮﻧﺪ‪:‬‬
‫‪:1‬‬
‫ﻳﮕﺎﻧﻲ زﻣﺎﻧﻲ ﻛﻪ ﻳﻚ ﻧﻮع ارﺗﺒﺎط ﺑﻴﻦ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ و ﺧﻮدش ﺑﺮﻗﺮار ﺑﺎﺷﺪ‪.‬‬

‫درس‬

‫ه ز‬

‫‪:2‬‬
‫دوﮔﺎﻧﻲ ارﺗﺒﺎط ﺑﻴﻦ دو ﻣﻮﺟﻮدﻳﺖ‬

‫دا ‬ ‫اب‬ ‫درس‬

‫‪1. U n ar y‬‬
‫‪2. B i na r y‬‬
‫‪www.PDFgozar.com‬‬

‫‪29‬‬ ‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫ﺳﻪ ﮔﺎﻧﻲ‪ :1‬ارﺗﺒﺎط ﺑﻴﻦ ﺳﻪ ﻣﻮﺟﻮدﻳﺖ‬

‫اد‬ ‫اب‬ ‫دا ‬

‫درس‬

‫ﭼﻨﺪ ﮔﺎﻧﻲ‪ :‬ارﺗﺒﺎط ﺑﻴﻦ ﭼﻨﺪ ﻣﻮﺟﻮدﻳﺖ‬


‫د ‬

‫ر‬
‫در‬
‫اد‬

‫ ‬

‫ﺗﻮﺟﻪ‪ :‬ﭼﻮن ﻣﻌﻤﻮﻻً ﻣﺎدر و ﭘﺪر و ﺧﻮاﻫﺮ و ﺑﺮادر ﻳﻚ ﻋﻀﻮ ﻣﺤﺴﻮب ﻣﻲ ﺷﻮﻧﺪ‪ ،‬اﻳﻦ‬
‫ﻧﻮع ارﺗﺒﺎط ﻣﻨﻄﻘﺎً درﺳﺖ ﻧﻴﺴﺖ‪ .‬ﺷﻜﻞ ﻣﺬﻛﻮر ﻓﻘﻂ ﺑﻌﻨﻮان ﻧﻤﻮﻧﻪ اﺳﺖ‪.‬‬

‫‪ 2-3‬ﻣﺎﻫﻴﺖ ﻧﻮع ارﺗﺒﺎط )اﺗﺼﺎل(‬


‫و‪ B‬را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ اﻳﻦ دو ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻳﻜﻲ از ﺳﻪ ﺣﺎﻟﺖ‬ ‫‪A‬‬ ‫اﮔﺮ دو ﻣﻮﺟﻮدﻳﺖ‬
‫زﻳﺮ ﺑﺎ ﻫﻢ ارﺗﺒﺎط دارﻧﺪ‪.‬‬
‫‪2‬‬
‫‪B‬‬ ‫ﻳﻚ ﺑﻪ ﻳﻚ ‪ :‬ﻳﻚ ﻧﻤﻮﻧﻪ از ﻣﻮﺟﻮدﻳﺖ ‪ A‬ﺣﺪاﻛﺜﺮ ﺑﺎ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻣﻮﺟﻮدﻳﺖ‬ ‫•‬

‫ارﺗﺒﺎط دارد و ﺑﺮ ﻋﻜﺲ‪ .‬ﺑﻪ اﺧﺘﺼﺎر ‪ 1:1‬ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ‪.‬‬

‫‪1. T er n a r y‬‬
‫‪2. O n e T o O n e‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪30‬‬

‫‪B‬‬ ‫ﻳﻚ ﺑﻪ ﭼﻨﺪ‪ :1‬ﻳﻚ ﻧﻤﻮﻧﻪ از ‪ A‬ﺑﺎ ‪ n‬ﻧﻤﻮﻧﻪ از ‪ B‬ارﺗﺒﺎط دارد وﻟﻲ ﻳﻚ ﻧﻤﻮﻧﻪ از‬ ‫•‬

‫ﺣﺪاﻛﺜﺮ ﺑﺎ ﻳﻚ ﻧﻤﻮﻧﻪ از ‪ A‬ارﺗﺒﺎط دارد )‪ .(n>1‬ﺑﻪ اﺧﺘﺼﺎر ‪ 1: N‬ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ‪.‬‬


‫ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ‪:2‬ﻳﻚ ﻧﻤﻮﻧﻪ از ‪ A‬ﺑﺎ ‪ n‬ﻧﻤﻮﻧﻪ از ‪ B‬ارﺗﺒﺎط دارد و ﺑﺮ ﻋﻜﺲ )‪ .(n>1‬ﺑﻪ‬ ‫•‬

‫اﺧﺘﺼﺎر ‪ M: N‬ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ‪.‬‬

‫‪N‬‬ ‫‪1‬‬
‫ﻋﻀﻮﻳﺖ‬

‫‪1‬‬ ‫‪1‬‬
‫اﺳﺘﺎد‬ ‫ﮔﺮوه آﻣﻮزﺷﻲ‬
‫ﻣﺪﻳﺮﻳﺖ‬

‫‪N‬‬ ‫‪M‬‬
‫ﺗﺪرﻳﺲ‬

‫ﺷﻜﻞ ‪ 5-2‬ﻧﻤﺎﻳﺶ ﭼﻨﺪي ارﺗﺒﺎط‬

‫‪3‬‬
‫‪ 3-3‬ﺣﺪ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ‬
‫ﺣﺪ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ‪ ،‬ﺣﺪاﻗﻞ و ﺣﺪاﻛﺜﺮ ارﺗﺒﺎط ﺑﻴﻦ دو ﻣﻮﺟﻮدﻳﺖ را ﻣﻲ رﺳﺎﻧﺪ‪ .‬ﺑﺮاي درك‬
‫ﺑﻬﺘﺮ اﻳﻦ ﻣﻔﻬﻮم ﻣﺜﺎل زﻳﺮ اراﺋﻪ ﻣﻲ ﮔﺮدد‪:‬‬

‫‪1‬‬ ‫‪M‬‬
‫اﺳﺘﺎد‬ ‫راﻫﻨﻤﺎﻳﻲ‬ ‫داﻧﺸﺠﻮ‬
‫)‪(0 , 10‬‬ ‫)‪(0 , 1‬‬

‫ﺷﻜﻞ ‪ 6-2‬ﻧﻤﻮﻧﻪاي از ﻧﻤﺎﻳﺶ ﺣﺪ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ‬

‫‪1. O n e T o M a n y‬‬
‫‪2. M a ny T o M a n y‬‬
‫‪3. C ar d i n a l i t y‬‬
‫‪www.PDFgozar.com‬‬

‫‪31‬‬ ‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫ﻋﺒﺎرات ذﻛﺮ ﺷﺪه در ﺑﺎﻻ و ﭘﺎﻳﻴﻦ ارﺗﺒﺎط ﺑﻴﻦ ﻋﻨﺎﺻﺮ‪ ،‬ﻫﺮ ﻳﻚ داراي ﻣﻔﺎﻫﻴﻤﻲ ﻫﺴﺘﻨﺪ‪.‬‬
‫در اداﻣﻪ دو ﻋﺒﺎرت )‪ (0 , 10‬و )‪ (0 , 1‬ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﮔﺮﻓﺘﻪ اﻧﺪ‪:‬‬
‫)‪10‬و‪ (0‬ﺑﺪﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ ﻳﻚ اﺳﺘﺎد ﻣﻤﻜﻦ اﺳﺖ ﺣﺪاﻛﺜﺮ ‪ 10‬داﻧﺸﺠﻮ را‬ ‫•‬
‫راﻫﻨﻤﺎﻳﻲ ﻛﻨﺪ و ﻳﺎ ﻫﻴﭻ داﻧﺸﺠﻮﻳﻲ ﺑﺮاي راﻫﻨﻤﺎﻳﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ )اﻳﻦ اﺳﺘﺎد‬
‫ﭘﺮوژه اراﺋﻪ ﻧﻜﺮده اﺳﺖ(‪.‬‬
‫)‪1‬و‪ (0‬ﺑﺪﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ ﻳﻚ داﻧﺸﺠﻮ ﺣﺪاﻛﺜﺮ ﻣﻲﺗﻮاﻧﺪ ﻳﻚ اﺳﺘﺎد راﻫﻨﻤﺎ‬ ‫•‬
‫داﺷﺘﻪ ﺑﺎﺷﺪ و اﮔﺮ ﭘﺮوژه اﺧﺬ ﻧﻜﺮده ﺑﺎﺷﺪ ﻫﻴﭻ اﺳﺘﺎد راﻫﻨﻤﺎﻳﻲ ﻧﺪارد‪.‬‬

‫‪ER‬‬ ‫‪ -4‬ﻣﺸﻜﻼت روش‬


‫در ﻧﺘﻴﺠﻪ درك ﻧﺎدرﺳﺖ و ﺗﻔﺴﻴﺮ ﻧﺎﺻﺤﻴﺢ از ﻣﻌﻨﺎي ﺑﻌﻀﻲ ارﺗﺒﺎﻃﺎت در ﻣﺪل ﺳﺎزي‬
‫داده ﻫﺎ ﻣﺸﻜﻼﺗﻲ ﻣﻮﺳﻮم ﺑﻪ داﻣﻬﺎي ﭘﻴﻮﻧﺪي‪ 1‬ﻧﻤﺎﻳﺎن ﻣﻲ ﮔﺮدد‪ .‬اﻳﻦ داﻣﻬﺎي ﭘﻴﻮﻧﺪي‬
‫ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫‪2‬‬
‫دام ﺣﻠﻘﻪاي‬ ‫•‬
‫‪3‬‬
‫دام ﭼﻨﺪ ﺷﺎﺧﻪ )ﭼﺘﺮي(‬ ‫•‬
‫‪4‬‬
‫دام ﮔﺴﻞ )ﺷﻜﺎف(‬ ‫•‬

‫در اداﻣﻪ ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻔﻬﻮم دام ﻫﺎ‪ ،‬ﻫﺮ ﻳﻚ از اﻧﻮاع دام ﻫﺎ در روش ‪ ER‬ﺑﺎ ذﻛﺮ ﻣﺜﺎل‬
‫ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ‪.‬‬

‫‪ 1-4‬دام ﺣﻠﻘﻪاي‬
‫اﻳﻦ دام وﻗﺘﻲ اﻳﺠﺎد ﻣﻲ ﺷﻮد ﻛﻪ ﺑﺎ داﺷﺘﻦ ﻣﺜﻼ ﺳﻪ ارﺗﺒﺎط دو ﻣﻮﺟﻮدﻳﺘﻲ‪ ،‬وﺟﻮد ﻳﻚ‬
‫ارﺗﺒﺎط ﺳﻪ ﻣﻮﺟﻮدﻳﺘﻲ را ﻧﺘﻴﺠﻪ ﮔﻴﺮي ﻛﻨﻴﻢ‪ ،‬وﻟﻲ اﻳﻦ اﺳﺘﻨﺘﺎج درﺳﺖ ﻧﺒﺎﺷﺪ‪.‬‬

‫‪1. C o nn e c t i o n T r a p s‬‬
‫‪2. Lo o p T ra p‬‬
‫‪3. F a n T r ap‬‬
‫‪4. C h as m T r a p‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪32‬‬

‫‪N‬‬ ‫‪M‬‬
‫اﻧﺘﺨﺎب‬
‫داﻧﺸﺠﻮ‬ ‫درس‬

‫‪N‬‬
‫‪M‬‬
‫ﺗﻌﻠﻴﻢ‬ ‫اراﺋﻪ‬

‫اﺳﺘﺎد‬
‫‪N‬‬ ‫‪M‬‬

‫ﺷﻜﻞ ‪ 7-2‬ﻧﻤﻮﻧﻪاي از دام ﺣﻠﻘﻪاي‬

‫‪ 2-4‬دام ﭼﻨﺪ ﺷﺎﺧﻪاي‬


‫و‬ ‫‪F‬‬ ‫و ﻣﻮﺟﻮدﻳﺖﻫﺎي‬ ‫‪E‬‬ ‫اﻳﻦ ﻧﻮع دام وﻗﺘﻲاﻳﺠﺎد ﻣﻲ ﺷﻮد ﻛﻪ ﺑﻴﻦ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬
‫دﻳﺪه‬ ‫‪G‬‬ ‫و‬ ‫‪F‬‬ ‫ﺑﺎ ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬وﻟﻲ ارﺗﺒﺎط ﺑﻴﻦ‬ ‫‪1: N‬‬ ‫ارﺗﺒﺎط‬ ‫‪G‬‬
‫ﻧﺸﺪه ﺑﺎﺷﺪ‪ .‬در اﻳﻦ ﺻﻮرت ﻧﻤﻲ ﺗﻮان وﺟﻮد ارﺗﺒﺎط ﺑﻴﻦ ‪ F‬و ‪ G‬را ﺑﺪﺳﺖ آورد‪.‬‬

‫داﻧﺸﻜﺪه‬
‫‪1‬‬ ‫‪1‬‬

‫دارد‬ ‫دارد‬
‫‪N‬‬ ‫‪N‬‬

‫اﺳﺘﺎد‬ ‫ﮔﺮوه آﻣﻮزﺷﻲ‬

‫ﺷﻜﻞ ‪ 8-2‬ﻧﻤﻮﻧﻪاي از دام ﺷﺎﺧﻪاي‬

‫‪ 3-4‬دام ﮔﺴﻞ‬
‫و‬ ‫‪1: N‬‬ ‫ﻳﻚ ارﺗﺒﺎط‬ ‫‪F‬‬ ‫و‬ ‫‪E‬‬ ‫اﻳﻦ ﻧﻮع دام وﻗﺘﻲ اﻳﺠﺎد ﻣﻲ ﺷﻮد ﻛﻪ ﺑﻴﻦ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬
‫ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬وﻟﻲ‪ F‬ﺑﺎ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ‪ G‬ارﺗﺒﺎط ‪ 1:N‬ﺑﺎ ﻣﺸﺎرﻛﺖ‬
‫‪www.PDFgozar.com‬‬

‫‪33‬‬ ‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫‪E‬‬ ‫ﻏﻴﺮ اﻟﺰاﻣﻲ داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬در اﻳﻦ ﺷﺮاﻳﻂ ﻧﻤﻲ ﺗﻮان ﺗﻤﺎم اﻃﻼعﻫﺎي دو ﻣﻮﺟﻮدﻳﺘﻲ ﺑﻴﻦ‬
‫و ‪ G‬را ﺑﺪﺳﺖ آورد‪ .‬اﮔﺮ ﭼﻨﻴﻦ ﻓﺮﺿﻲ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد‪ ،‬دﭼﺎر دام ﮔﺴﻞ ﺷﺪه اﻳﻢ‪.‬‬

‫‪EER‬‬ ‫‪ -5‬ﻣﺪل ﺳﺎزي ﺑﺎ روش‬


‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲداﻧﻴﻢ روش ‪ ER‬داراي ﻧﻘﺎط ﺿﻌﻔﻲ ﺑﻮد‪ .‬اﻳﻦ ﻧﻘﺎط ﺿﻌﻒ ﺑﻴﺸﺘﺮ زﻣﺎﻧﻲ‬
‫ﻧﻤﺎﻳﺎن ﻣﻲ ﺷﺪ ﻛﻪ ﻣﻲ ﺧﻮاﺳﺘﻴﻢ ﻳﻚ ﺳﻴﺴﺘﻢ ﺷﻲء ﮔﺮا را ﻣﺪل ﺳﺎزي ﻧﻤﺎﻳﻴﻢ‪ .‬ﺑﻄﻮر ﻛﻠﻲ‬
‫ﻧﻘﺎط ﺿﻌﻒ روش ‪ ER‬ﻛﻪ در روش ‪ EER‬رﻓﻊ ﺷﺪه اﻧﺪ ﺑﻪ ﺷﺮح ذﻳﻞ ﺑﻮدﻧﺪ‪.‬‬

‫اﺳﺘﺎد‬
‫‪N‬‬ ‫‪1‬‬

‫ﻋﻀﻮﻳﺖ‬ ‫ﺗﺪرﻳﺲ‬

‫‪1‬‬ ‫‪N‬‬

‫ﮔﺮوه آﻣﻮزﺷﻲ‬ ‫درس‬

‫ﺷﻜﻞ ‪ 9-2‬ﻧﻤﻮﻧﻪاي از دام ﮔﺴﻞ‬

‫‪2‬‬
‫‪ 1-5‬ﺗﺠﺰﻳﻪ‪ 1‬و ﺗﺮﻛﻴﺐ‬
‫ﻓﺮاﻳﻨﺪ ﺗﻘﺴﻴﻢ ﻳﻚ ﺷﻲء ﻛﻞ ﺑﻪ اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه آن را ﺗﺠﺰﻳﻪ ﮔﻮﻳﻨﺪ‪ .‬ﺑﺪﻳﻬﻲ اﺳﺖ‬
‫ﻛﻪ در ﻓﺮاﻳﻨﺪ ﺗﺠﺰﻳﻪ‪ ،‬ﺷﻲء ﻛﻞ و اﺟﺰاء آن ﻫﺮ ﻳﻚ داراي ﺻﻔﺎت‪ ،‬ﺳﺎﺧﺘﺎر و رﻓﺘﺎر‬
‫ﺧﺎص ﺧﻮد ﻣﻲ ﺑﺎﺷﻨﺪ‪.‬‬
‫ﺗﺮﻛﻴﺐ‪ ،‬ﻋﻜﺲ ﻋﻤﻞ ﺗﺠﺰﻳﻪ اﺳﺖ ﻛﻪ در آن ﺑﺎ داﺷﺘﻦ ﺗﻌﺪادي ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‪ ،‬ﻳﻚ‬
‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺟﺪﻳﺪ را اﻳﺠﺎد ﻣﻲ ﻛﻨﻴﻢ‪.‬‬

‫‪1. D ec o mp o s i t i o n‬‬
‫‪2. C o mp o s i t i o n‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪34‬‬

‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻛﻞ‬

‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺟﺰء‬

‫ﺷﻜﻞ ‪ 10-2‬ﻧﻤﺎد ارﺗﺒﺎط " ﺟﺰﺋﻲ اﺳﺖ از‪" ...‬‬

‫ارﺗﺒﺎط ﺑﻴﻦ ﺷﻲء ﻛﻞ و اﺷﻴﺎء ﺟﺰء را ارﺗﺒﺎط " ﺟﺰﺋﻲ اﺳﺖ از‪" ...‬‬ ‫‪ERR‬‬ ‫در روش‬
‫ﮔﻮﻳﻨﺪ‪ .‬ﻧﻤﺎد ﻣﻮرد اﺳﺘﻔﺎده ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻛﻞ و ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬
‫ﺟﺰء ﺑﻪ ﺷﻜﻞ زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫ﺷﻜﻞ ‪ 11-2‬ﻧﻤﻮﻧﻪاي از ﺗﺠﺰﻳﻪ و ﺗﺮﻛﻴﺐ ﻣﻮﺟﻮدﻳﺖﻫﺎ‬


‫‪www.PDFgozar.com‬‬

‫‪35‬‬ ‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫‪2‬‬
‫‪ 2-5‬ﺗﺨﺼﻴﺺ‪ 1‬و ﺗﻌﻤﻴﻢ‬
‫ﺗﺨﺼﻴﺺ ﻓﺮاﻳﻨﺪي اﺳﺖ ﻛﻪ ﻃﻲ آن ﻧﻤﻮﻧﻪﻫﺎي ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ ‪) 3‬زﺑﺮ ﻧﻮع(‬
‫را ﺑﺮ اﺳﺎس ﻳﻚ ﻳﺎ ﭼﻨﺪ ﺻﻔﺖ ﺧﺎﺻﻪ آن ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ ﺗﺸﺨﻴﺺ ﻣﻲ دﻫﻴﻢ‪ .‬ﻻزم ﺑﻪ‬
‫‪4‬‬
‫ذﻛﺮ اﺳﺖ ﻛﻪ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻣﻲ ﺗﻮاﻧﺪ داراي ﻳﻚ ﻳﺎ ﭼﻨﺪ زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬
‫ﻧﻴﺰ ﺑﺎﺷﺪ‪ .‬ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ و زﻳﺮ ﻧﻮع ﻫﺎي آن را ارﺗﺒﺎط " ﮔﻮﻧﻪ اي اﺳﺖ‬
‫از‪ " ...‬ﻣﻲ ﻧﺎﻣﻴﻢ‪ .‬ﻧﻤﺎد ﻣﻮرد اﺳﺘﻔﺎده ﺑﺮاي ﻧﻤﺎﻳﺶ اﻳﻦ ﻧﻮع ارﺗﺒﺎط در ﺷﻜﻞ زﻳﺮ آﻣﺪه‬
‫اﺳﺖ‪.‬‬

‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ‬

‫زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬ ‫زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬ ‫زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬

‫ﺷﻜﻞ ‪ 12-2‬ﻧﻤﺎد ارﺗﺒﺎط " ﮔﻮﻧﻪاي اﺳﺖ از‪) " ...‬ﺗﺨﺼﻴﺺ(‬

‫ﺗﻌﻤﻴﻢ ﻋﻜﺲ ﻋﻤﻞ ﺗﺨﺼﻴﺺ اﺳﺖ ﻛﻪ در آن ﺑﺎ داﺷﺘﻦ زﻳﺮ ﻧﻮع ﻫﺎي ﻳﻚ ﻧﻮع‬
‫ﻣﻮﺟﻮدﻳﺖ و ﺗﻌﻴﻴﻦ ﺻﻔﺎت ﻣﺸﺘﺮك ﺑﻴﻦ آﻧﻬﺎ‪ ،‬ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺻﻔﺎت را ﺑﺮاي ﻧﻮع‬
‫ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢ‪.‬‬

‫‪1. Sp e c i a l i z a ti o n‬‬
‫‪2. G e ne r a l i z a ti o n‬‬
‫‪3. Su p e r E nt i t y T y p e‬‬
‫‪4. Su b E n t it y T yp e‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪36‬‬

‫ﺷﻜﻞ‪) 13-2‬اﻟﻒ( ﻧﻤﻮﻧﻪاي از ﺣﺎﻟﺖ ﺗﻌﻤﻴﻢ در ﺳﻴﺴﺘﻢﻫﺎي داﻧﺸﺠﻮﻳﻲ‬

‫ﺷﻜﻞ‪) 13-2‬ب( ﻧﻤﻮﻧﻪاي از ﺣﺎﻟﺖ ﺗﻌﻤﻴﻢ در ﺳﻴﺴﺘﻢﻫﺎي داﻧﺸﺠﻮﻳﻲ‬

‫‪2‬‬
‫‪ 3-5‬زﻳﺮ ﻧﻮعﻫﺎي ﻫﻤﭙﻮﺷﺎ‪ 1‬و ﻣﺠﺰا‬
‫ﻧﻤﻮﻧﻪ ﻫﺎي ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ ﺑﺮ اﺳﺎس ﺻﻔﺎت ﺧﺎﺻﻪ ﻣﺸﺘﺮك و ﻣﺠﺰا در‬
‫دﺳﺘﻪ ﻫﺎي ﺧﺎص ﺧﻮد دﺳﺘﻪ ﺑﻨﺪي ﻣﻲ ﺷﻮﻧﺪ‪ .‬ﺣﺎل ﻣﻤﻜﻦ اﺳﺖ ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ‬
‫در دو دﺳﺘﻪ ﻗﺎﺑﻞ دﺳﺘﻪ ﺑﻨﺪي ﺑﺎﺷﺪ در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﻪ اﻳﻦ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ‪،‬‬
‫ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﻫﻤﭙﻮﺷﺎ )ﻣﺸﺘﺮك( ﮔﻮﻳﻨﺪ‪.‬‬

‫‪1. O ve r l a p‬‬
‫‪2. D i sj o i n t‬‬
‫‪www.PDFgozar.com‬‬

‫‪37‬‬ ‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ‬

‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ ﻧﺮم اﻓﺰار ﺳﻴﺘﻤﻲ‬ ‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ ﻧﺮم اﻓﺰار ﻛﺎرﺑﺮدي‬

‫ﺷﻜﻞ ‪ 14-2‬ﻧﻤﻮﻧﻪاي از زﻳﺮ ﻧﻮعﻫﺎي ﻫﻤﭙﻮﺷﺎ‬

‫در ﻋﻴﻦ ﺣﺎل ﻣﻤﻜﻦ اﺳﺖ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻓﻘﻂ در ﻳﻚ دﺳﺘﻪ ﺑﻨﺪي از زﻳﺮ ﻧﻮع‬
‫ﻣﻮﺟﻮدﻳﺖ ﻫﺎ ﻗﺎﺑﻞ دﺳﺘﻪ ﺑﻨﺪي ﺑﺎﺷﺪ‪ .‬ﺑﻪ اﻳﻦ زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ‪ ،‬ﻣﻮﺟﻮدﻳﺖ ﻫﺎي‬
‫ﻣﺠﺰا ﻣﻲ ﮔﻮﻳﻨﺪ‪.‬‬

‫ﭘﺮﺳﻨﻞ ﺷﺮﻛﺖ‬

‫‪U‬‬

‫ﭘﺮﺳﻨﻞ زن‬ ‫ﭘﺮﺳﻨﻞ ﻣﺮد‬

‫ﺷﻜﻞ ‪ 15-2‬ﻧﻤﻮﻧﻪاي از زﻳﺮ ﻧﻮعﻫﺎي ﻣﺠﺰا‬

‫‪2‬‬
‫‪ 4-5‬دﺳﺘﻪ ﺑﻨﺪي ‪ 1‬و وراﺛﺖ‬
‫ﻳﻚ زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻣﻲ ﺗﻮاﻧﺪ زﻳﺮ ﻧﻮع ﺑﻴﺶ از ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ ﺑﺎﺷﺪ‪ .‬ﻛﻪ‬
‫در اﻳﻦ ﺷﺮاﻳﻂ ﺑﻌﻀﻲ از ﺧﻮاص ﺧﻮد را از ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ و ﺑﻌﻀﻲ دﻳﮕﺮ‬

‫‪1. C at e go r i z a t i o n‬‬
‫‪2. In h e r i t a n c e‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪38‬‬

‫از ﺻﻔﺎت ﺧﺎﺻﻪ ﺧﻮد را از ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ دﻳﮕﺮ ﺑﻪ ارث ﻣﻲ ﺑﺮد‪ .‬اﻳﻦ‬
‫ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﺑﺮﺗﺮ ﻣﻲ ﺗﻮاﻧﻨﺪ از ﻳﻚ ﻧﻮع ﺑﺎﺷﻨﺪ ﻛﻪ در اﻳﻦ ﺷﺮاﻳﻂ داراي ﺷﻨﺎﺳﻪ ﻫﺎي‬
‫ﻳﻜﺴﺎن ﻫﺴﺘﻨﺪ‪ .‬وﻟﻲ در ﺷﺮاﻳﻄﻲ ﻛﻪ ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﺑﺮﺗﺮ از ﻳﻚ ﻧﻮع ﻧﺒﺎﺷﻨﺪ‪ ،‬در واﻗﻊ‬
‫رخ داده اﺳﺖ‪ .‬ﺑﻪ اﻳﻦ زﻳﺮ ﻧﻮعﻫﺎ در اﺻﻄﻼح دﺳﺘﻪ‪) 2‬ﻃﺒﻘﻪ(‬ ‫‪1‬‬
‫وراﺛﺖ ﭼﻨﺪﮔﺎﻧﻪ‬
‫‪3‬‬
‫ﻣﻲ ﮔﻮﻳﻨﺪ و در ﺑﻌﻀﻲ از ﻛﺘﺎب ﻫﺎ ﺑﻪ اﻳﻦ زﻳﺮ ﻧﻮع اﺻﻄﻼﺣﺎ ﻧﻮع اﺟﺘﻤﺎع ﻣﻲ ﮔﻮﻳﻨﺪ‪.‬‬
‫ﺷﻜﻞ زﻳﺮ ﻧﺤﻮه ﻧﻤﺎﻳﺶ وراﺛﺖ ﭼﻨﺪ ﮔﺎﻧﻪ را ﻧﺸﺎن ﻣﻲ دﻫﺪ‪:‬‬

‫‪E2‬ﻣﻮﺟﻮدﻳﺖ‬ ‫‪E3‬ﻣﻮﺟﻮدﻳﺖ‬

‫‪U‬‬

‫‪E1‬ﻣﻮﺟﻮدﻳﺖ‬

‫ﺷﻜﻞ ‪ 16-2‬ﺷﻤﺎي ﻧﻤﺎﻳﺶ وراﺛﺖ ﭼﻨﺪ ﮔﺎﻧﻪ و دﺳﺘﻪ ﺑﻨﺪي‬

‫‪4‬‬
‫‪ 5-5‬ﺗﺠﻤﻊ‬
‫ﺗﺠﻤﻊ ﺑﺪﻳﻦ ﻣﻌﻨﺎ اﺳﺖ ﻛﻪ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺟﺪﻳﺪ را ﺑﺮ اﺳﺎس دو ﻳﺎ ﭼﻨﺪ‬
‫ﻣﻮﺟﻮدﻳﺖ ﻣﺮﺗﺒﻂ ﺑﺎ ﻳﻜﺪﻳﮕﺮ‪ ،‬ﺑﻪ ﺻﻮرت ﻳﻜﭙﺎرﭼﻪ در ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ واﺣﺪ اراﺋﻪ‬
‫ﻧﻤﺎﻳﻴﻢ‪ .‬ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ اﻳﻦ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ واﺣﺪ ﺧﻮد ﻣﻲ ﺗﻮاﻧﺪ ﺑﺎ ﻧﻮع‬
‫ﻣﻮﺟﻮدﻳﺖ ﻫﺎي دﻳﮕﺮ ﻧﻴﺰ در ارﺗﺒﺎط ﺑﺎﺷﺪ‪ .‬ﺷﻜﻞ زﻳﺮ ﻧﺤﻮه ﻧﻤﺎﻳﺶ ﺗﺠﻤﻊ را ﻧﺸﺎن‬
‫ﻣﻲ دﻫﺪ‪:‬‬

‫‪1. M u lt i p l e In h e r i t a n c e‬‬
‫‪2. C at e go r y‬‬
‫‪3. U n io n T yp e‬‬
‫‪4. Ag gr e ga t i o n‬‬
‫‪www.PDFgozar.com‬‬

‫‪39‬‬ ‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫‪E2‬ﻣﻮﺟﻮدﻳﺖ‬ ‫‪R1‬‬ ‫‪E1‬ﻣﻮﺟﻮدﻳﺖ‬

‫‪R2‬‬

‫‪ E3‬ﻣﻮﺟﻮدﻳﺖ‬

‫ﺷﻜﻞ ‪ 17-2‬ﻧﻤﺎﻳﺶ ﺗﺠﻤﻊ‬

‫‪1‬‬
‫‪UML‬‬ ‫‪-6‬روش ﻣﺪل ﺳﺎزي ﺷﻲء‬
‫ﺑﺎ ﻣﻄﺮح ﺷﺪن اﻟﮕﻮﻫﺎي ﺷﻲء ﮔﺮاﻳﻲ ﻛﻪ ﻫﺮ ﻣﻮﺟﻮدﻳﺖ در ﺟﻬﺎن واﻗﻊ را ﺷﺎﻣﻞ‬
‫داده ﻫﺎي آن ﻣﻮﺟﻮدﻳﺖ و ﻋﻤﻠﻜﺮدﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ آن ﺗﻮﺻﻴﻒ ﻣﻲ ﻛﺮد‪ ،‬ﻃﺮاﺣﺎن ﺳﻴﺴﺘﻢ‬
‫را ﻧﺎﻛﺎرآﻣﺪ ﺗﺸﺨﻴﺺ داده و در ﺟﺴﺘﺠﻮي ﺗﻌﺮﻳﻒ ﻳﻚ‬ ‫‪EER‬‬ ‫و‬ ‫‪ER‬‬ ‫روش ﻫﺎي‬
‫ﻣﺘﻮدوﻟﻮژي ﺟﺪﻳﺪ ﺑﻮدﻧﺪ ﺗﺎ ﺑﺘﻮاﻧﻨﺪ ﻋﻤﻠﻜﺮد ﻫﺮ ﻣﻮﺟﻮدﻳﺖ را ﻧﻴﺰ ﺑﻪ ﻧﻤﺎﻳﺶ در آورﻧﺪ‪.‬‬
‫‪2‬‬
‫را ﺑﺮاي اﻳﺠﺎد ﺳﻴﺴﺘﻢ ﻫﺎي ﻛﺎرﺑﺮدي‬ ‫‪UML‬‬ ‫روﺷﻲ اﺳﺘﺎﻧﺪارد ﺑﻨﺎم‬ ‫‪OMG‬‬ ‫از اﻳﻨﺮو ﮔﺮوه‬
‫ﻣﻌﺮﻓﻲ ﻛﺮدﻧﺪ و اﻳﻦ روش را در اﻳﺠﺎد ﺳﻴﺴﺘﻢ ﻫﺎي ﻛﺎرﺑﺮدي ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار دادﻧﺪ‪.‬‬
‫ﻣﻬﻤﺘﺮﻳﻦ ﺧﺼﻮﺻﻴﺖ اﻳﻦ روش‪ ،‬اﻳﺠﺎد اﻣﻜﺎﻧﻲ ﺑﺮاي اﻳﺠﺎد و ﻧﻤﺎﻳﺶ اﺷﻴﺎء ﺟﻬﺎن واﻗﻊ‬
‫ﺑﺼﻮرت ﺗﺼﻮﻳﺮي اﺳﺖ‪ .‬ﻳﻜﻲ از ﻧﻜﺎت ﺑﺴﻴﺎر ﻣﻬﻢ در اﺳﺘﻔﺎده ﻣﻮﺛﺮ از روش ‪،UML‬‬
‫وﺟﻮد داﻧﺶ ﻛﺎﻓﻲ در ﻣﻔﺎﻫﻴﻢ ﺷﻲء ﮔﺮاﻳﻲ اﺳﺖ‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﺑﺪون داﻧﺴﺘﻦ ﻣﻔﺎﻫﻴﻢ‬
‫ﺷﻲء ﮔﺮاﻳﻲ‪ ،‬اﻣﻜﺎن اﺳﺘﻔﺎده ﻣﻮﺛﺮ و ﺑﺠﺎ از روش ‪ UML‬ﻣﻴﺴﺮ ﻧﺨﻮاﻫﺪ ﺷﺪ‪.‬‬

‫‪ 1-6‬ﻣﻔﺎﻫﻴﻢ اﺻﻠﻲ‬
‫ﺑﺮ ﻣﺒﻨﺎي ﻧﻤﻮدار )دﻳﺎﮔﺮام( ﻣﻲ ﺑﺎﺷﺪ‪ .‬اﻳﻦ روش از ﻧﻤﻮدارﻫﺎي‬ ‫‪UML‬‬ ‫اﺳﺎس روش‬

‫‪1. O b je c t Mo d e l i n g‬‬
‫‪2. O b je c t Ma n a ge me n t G r o u p‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪40‬‬

‫ﺑﺮاي ﻧﻤﺎﻳﺶ ﻣﺪل ﺳﺎزي و ﻃﺮاﺣﻲ ﻧﺮم اﻓﺰار اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﺪ‪ .‬ﭼﻨﺪ ﻧﻤﻮﻧﻪ از ﻣﻬﻤﺘﺮﻳﻦ‬
‫ﻧﻤﻮدارﻫﺎ در اﻳﻦ روش ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲ ﺑﺎﺷﻨﺪ‪:‬‬
‫‪1‬‬
‫ﻧﻤﻮدار ﻛﻼس‬ ‫•‬
‫‪2‬‬
‫ﻧﻤﻮدار ﭼﺮﺧﻪ ﺣﻴﺎت ﻣﻮﺟﻮدﻳﺖ‬ ‫•‬
‫‪3‬‬
‫ﻧﻤﻮدار ﻣﻮرد اﺳﺘﻔﺎده‬ ‫•‬
‫‪4‬‬
‫ﻧﻤﻮدار ﻓﻌﺎﻟﻴﺖ‬ ‫•‬
‫‪5‬‬
‫ﻧﻤﻮدار ﭘﻴﺎده ﺳﺎزي‬ ‫•‬

‫ﻣﻬﻤﺘﺮﻳﻦ ﻧﻤﻮدار در اﻳﻦ روش ﻧﻤﻮدار ﻛﻼس ﻣﻲ ﺑﺎﺷﺪ‪ .‬اﻳﻦ ﻧﻤﻮدار ﻣﺠﻤﻮﻋﻪ اي از‬
‫ﻣﻮﺟﻮدﻳﺖ ﻫﺎ و ﻋﻤﻠﻴﺎت )ﭘﺮدازش( ﻣﺮﺗﺒﻂ ﺑﺎ ﻣﻮﺟﻮدﻳﺖ ﻫﺎ را ﻣﺪل ﺳﺎزي ﻣﻲ ﻛﻨﺪ‪.‬‬
‫ﻋﻤﻠﻴﺎت در واﻗﻊ رﻓﺘﺎر ﺷﻲء‪ 6‬را ﻧﺸﺎن ﻣﻲ دﻫﺪ و ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ روﻳﺪاد‪7‬ﻫﺎي ﻣﺮﺗﺒﻂ‬
‫ﺑﺎ ﺷﻲء را ﺑﻪ ﻧﻤﺎﻳﺶ در ﻣﻲآورد‪ .‬ﻣﻔﺎﻫﻴﻢ اﺻﻠﻲ در ﻣﺪﻟﺴﺎزي ﺑﺎ اﻳﻦ روش ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫ﻛﻼس‬ ‫•‬
‫ﺻﻔﺖ‬ ‫•‬
‫‪8‬‬
‫ﺑﺴﺘﮕﻲ‬ ‫•‬

‫درروش ‪ UML‬دوﮔﻮﻧﻪ ارﺗﺒﺎط ﺑﻴﻦ رده ﻫﺎ وﺟﻮد دارد ﻛﻪ اﻳﻦ دوﻧﻮع ارﺗﺒﺎط ﻋﺒﺎرﺗﻨﺪ از‬
‫ﺑﺴﺘﮕﻲ‬ ‫•‬
‫ﺗﺠﻤﻴﻊ‬ ‫•‬

‫ﻛﻪ در اﻳﻦ ﺑﻴﻦ ﻣﻔﻬﻮم ﺑﺴﺘﮕﻲ ﻫﻤﺎن ارﺗﺒﺎط ﺑﻴﻦ ﻛﻼس ﻫﺎ اﺳﺖ‪ .‬ﺗﺠﻤﻴﻊ ﻧﻴﺰ ﻋﺒﺎرت‬
‫اﺳﺖ از ارﺗﺒﺎط ﺑﻴﻦ ﻳﻚ ﺷﻲء ﻛﻞ و ﺷﻲءﻫﺎي ﺟﺰء ﺗﺸﻜﻴﻞ دﻫﻨﺪه آن‪ .‬در اداﻣﻪ ﺑﺮاي‬
‫درك ﺑﻬﺘﺮ ﺗﻨﺎﻇﺮ ﺑﻴﻦ ﻣﻔﺎﻫﻴﻢ در دو روش ‪ UML‬و ‪ EER‬ﺟﺪول زﻳﺮ ازاﺋﻪ ﻣﻲ ﮔﺮدد‪:‬‬

‫‪1. C la s s D ia gr a m‬‬
‫‪2. E nt i t y Li f e C y c l e D i a gr a m‬‬
‫‪3. U se C a s e D i a gr a m‬‬
‫‪4. Ac t i vi t y D i a gr a m‬‬
‫‪5. Imp l e me n t a t i o n D i a gr a m‬‬
‫‪6. O b je c t B e h a vi o r‬‬
‫‪7. E ve n t‬‬
‫‪8. As s o c i a t i o n‬‬
‫‪www.PDFgozar.com‬‬

‫‪41‬‬ ‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫‪EER‬‬ ‫ﻣﻔﻬﻮم در‬ ‫‪UML‬‬ ‫ﻣﻔﻬﻮم در‬


‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬ ‫ﻛﻼس‬
‫ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ‬ ‫ﺷﻲء‬
‫ﺻﻔﺖ‬ ‫ﺻﻔﺖ‬
‫ارﺗﺒﺎط‬ ‫ﺑﺴﺘﮕﻲ‬
‫‪1‬‬
‫ﻧﻤﻮﻧﻪ ارﺗﺒﺎط‬ ‫ﭘﻴﻮﻧﺪ‬
‫‪2‬‬
‫ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ‬ ‫ﺑﺴﺘﮕﻲ اﻧﻌﻜﺎﺳﻲ‬
‫‪3‬‬
‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ‬ ‫ﺑﺴﺘﮕﻲ ﻣﻘﻴﺪ‬
‫‪4‬‬
‫ﺻﻔﺖ ﻣﺮﻛﺐ‬ ‫ﻣﻴﺪان ﺳﺎﺧﺘﻤﻨﺪ‬
‫ﺻﻔﺖ ارﺗﺒﺎط‬ ‫ﺻﻔﺖ ﭘﻴﻮﻧﺪ‬
‫‪5‬‬
‫درﺟﻪ ارﺗﺒﺎط‬ ‫ﭼﻨﺪي ﺑﺴﺘﮕﻲ‬

‫‪ 2-6‬ﻧﺤﻮه ﻧﻤﺎﻳﺶ ﻣﻔﺎﻫﻴﻢ‬


‫ﻛﻼس‪ :‬ﺑﺮاي ﻧﻤﺎﻳﺶ ﻳﻚ ﻛﻼس از ﻣﺮﺑﻊ ﻳﺎ ﻣﺴﺘﻄﻴﻞ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪ .‬در اﻳﻦ ﺣﺎﻟﺖ‬
‫ﻣﺮﺑﻊ ﺑﻪ ﺳﻪ ﻗﺴﻤﺖ ﻣﺠﺰا ﺗﻘﺴﻴﻢ ﺷﺪه و در اﻳﻦ ﻗﺴﻤﺖ ﻫﺎ ﻣﻮارد زﻳﺮ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮﻧﺪ‬
‫ﻧﺎم ﻛﻼس‬ ‫•‬
‫ﻧﺎم ﺻﻔﺎت ﻛﻼس‬ ‫•‬
‫ﻧﺎم ﭘﺮدازﺷﻬﺎي ﻛﻼس‬ ‫•‬

‫ﻧﺎم ﻛﻼس‬
‫ﻧﺎم ﺻﻔﺎت ﻛﻼس‬
‫ﻧﺎم ﭘﺮدازﺷﻬﺎي ﻛﻼس‬

‫ﺑﺴﺘﮕﻲ‪ :‬ﺑﺴﺘﮕﻲ ﺑﻴﻦ دو ﻛﻼس ﺑﺼﻮرت ﻳﻚ ﺧﻂ ﻣﺘﺼﻞ ﻛﻨﻨﺪه دو ﻛﻼس ﻧﻤﺎﻳﺶ داده‬
‫ﻣﻲ ﺷﻮدو ﻧﺎم ارﺗﺒﺎط روي ﺧﻂ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد‪.‬‬

‫‪1. Li n k‬‬
‫‪2. R ef l e x i ve As s o c i a t i o n‬‬
‫‪3. Q u al i f i e d As s o c i a t i o n‬‬
‫‪4. St r u c t u r a l D o ma i n‬‬
‫‪5. M u lt i As s o c i a t i o n‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪42‬‬

‫ﺗﺠﻤﻴﻊ‪ :‬ﺗﺠﻤﻴﻊ ﺑﺼﻮرت زﻳﺮ ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮد‬

‫ﺷﻲء ﻛﻞ‬ ‫ﺷﻲء ﺟﺰء‬

‫ﭼﻨﺪي ارﺗﺒﺎط‪ :‬ﭼﻨﺪي ارﺗﺒﺎط ﺑﺼﻮرت ‪ min …max‬ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد‬


‫ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري‪ :‬ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري ﺑﻪ ﺻﻮرت ﻳﻚ ﻛﻼس ﺟﺪاﮔﺎﻧﻪ ﻧﺸﺎن داده‬
‫ﻣﻲ ﺷﻮد‪ ،‬وﻟﻲ ﻗﺴﻤﺖ ﭘﺮدازش را ﻫﻤﺮاه ﻧﺪارد‪.‬‬
‫ﻣﻴﺪان‪ :‬ﻧﺎم ﻣﻴﺪان ﻣﻌﻤﻮﻻً ﺑﻌﺪ از ﻧﺎم ﺻﻔﺖ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد و ﺑﻴﻦ اﻳﻦ دو ﻧﺎم از ﻋﻼﻣﺖ‪:‬‬
‫اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد ﺑﺼﻮرت زﻳﺮ‬
‫ﻧﺎم ﻣﻴﺪان‪ :‬ﻧﺎم ﺻﻔﺖ‬

‫ﺻﻔﺖ ﭘﻴﻮﻧﺪ‪ :‬ﺻﻔﺖ ﭘﻴﻮﻧﺪ در ﻳﻚ ﻣﺮﺑﻊ ﻳﺎ ﻣﺴﺘﻄﻴﻞ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد و ﺑﺎ ﺧﻂ ﭼﻴﻦ ﺑﻪ‬
‫ﺧﻂ ﻧﺸﺎن دﻫﻨﺪه ﺑﺴﺘﮕﻲ ﻣﺘﺼﻞ ﻣﻲ ﺷﻮد‪ .‬ﻧﺎم ﭘﻴﻮﻧﺪ و ﻧﺎم ﺻﻔﺎت ﭘﻴﻮﻧﺪ در دو ﻗﺴﻤﺖ‬
‫اﻳﻦ ﻣﺮﺑﻊ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮﻧﺪ‪ .‬ﺷﻜﻞ زﻳﺮ ﻧﺤﻮه ﻧﻤﺎﻳﺶ ﺻﻔﺖ ﭘﻴﻮﻧﺪ را ﻧﺸﺎن ﻣﻲ دﻫﺪ‬

‫ﻧﺎم ﻛﻼس‬ ‫ﻧﺎم ﻛﻼس‬


‫ﻧﺎم ﺻﻔﺎت‬ ‫‪ Min.. max‬ﻧﺎم ﺑﺴﺘﮕﻲ ‪min.. max‬‬ ‫ﻧﺎم ﺻﻔﺎت‬
‫ﭘﺮدازﺷﻬﺎ‬ ‫ﭘﺮدازﺷﻬﺎ‬

‫ﻧﺎم ﺑﺴﺘﮕﻲ‬
‫ﻧﺎم ﺻﻔﺎت‬

‫‪ ٣-6‬ﺧﺼﻮﺻﻴﺎت ﻛﻠﻲ روش ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ‬


‫ﻫﺮ روش ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ ﺑﺎﻳﺪ ﺣﺪاﻗﻞ داراي ﺧﺼﻮﺻﻴﺎت زﻳﺮ ﺑﺎﺷﺪ‬
‫ﮔﻮﻳﺎﻳﻲ‬ ‫•‬
‫ﺳﺎدﮔﻲ ﻣﻔﺎﻫﻴﻢ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫‪43‬‬ ‫ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ‬

‫اﻳﺠﺎز‬ ‫•‬
‫ﮔﺴﺘﺮش ﭘﺬﻳﺮي‬ ‫•‬
‫ﺻﻮري ﺑﻮدن‬ ‫•‬
‫ﻗﺎﺑﻠﻴﺖ ﻧﻤﺎﻳﺶ ﻧﻤﻮداري‬ ‫•‬
‫ﺟﺎﻣﻊ ﺑﻮدن ﻣﻔﺎﻫﻴﻢ‬ ‫•‬
‫ﻗﺎﺑﻠﻴﺖ ﻧﻤﺎﻳﺶ ﺳﺎﺧﺘﺎر ﺣﺎﻟﺖ و رﻓﺘﺎر ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬ ‫•‬

‫ﺑﺎﻳﺪ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ داﺷﺖ ﻛﻪ ﺑﻌﻀﻲ از ﺧﺼﻮﺻﻴﺎت ذﻛﺮ ﺷﺪه ﻣﺎﻧﻨﺪ ﺗﺠﻤﻴﻊ و‬
‫اﻳﺠﺎز ﻣﻤﻜﻦ اﺳﺖ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﻣﻐﺎﻳﺮت داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪ .‬در اﻳﻦ ﺻﻮرت وﺟﻮد ﻳﻜﻲ از‬
‫اﻳﻦ ﺧﺼﻮﺻﻴﺎت ﻛﺎﻓﻲ اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪44‬‬

‫ﺗﻤﺮﻳﻨﺎت‬

‫‪ .1‬ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ داده را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬


‫‪ .2‬اﻧﻮاع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ را ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬
‫‪ .3‬ﺻﻔﺖ را ﺗﻌﺮﻳﻒ ﻛﺮده و ردهﻫﺎي ﻣﺨﺘﻠﻒ آن را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬
‫‪ .4‬ﺣﺎﻻت ﻣﺨﺘﻠﻒ ارﺗﺒﺎط ﺑﻴﻦ دو ﻣﻮﺟﻮدﻳﺖ را ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬
‫‪ .5‬ﻣﺸﻜﻞ دام ﺣﻠﻘﻪ اي در روش ‪ ER‬را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬
‫‪ .6‬ﻣﺸﻜﻞ دام ﭼﻨﺪ ﺷﺎﺧﻪ اي را در روش ‪ ER‬ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬
‫‪ .7‬ﻣﺸﻜﻞ دام ﮔﺴﻞ را در روش ‪ ER‬ﺷﺮح دﻫﻴﺪ ؟‬
‫‪ .8‬ﻣﻔﺎﻫﻴﻢ ﺗﺠﺰﻳﻪ و ﺗﺮﻛﻴﺐ در روش ‪ EER‬را ﺷﺮح دﻫﻴﺪ ؟‬
‫‪ .9‬ﻣﻔﺎﻫﻴﻢ ﺗﺨﺼﻴﺺ و ﺗﺮﻣﻴﻢ در روش ‪ EER‬را ﺷﺮح دﻫﻴﺪ ؟‬
‫‪ .10‬ﻣﻔﺎﻫﻴﻢ وراﺛﺖ و دﺳﺘﻪ ﺑﻨﺪي در روش ‪ EER‬را ﺷﺮح دﻫﻴﺪ ؟‬
‫‪ .11‬ﻣﻔﻬﻮم ﺗﺠﻤﻊ در روش ‪ EER‬را ﺷﺮح دﻫﻴﺪ ؟‬
‫‪www.PDFgozar.com‬‬

‫ﻓﺼﻞ ‪۳‬‬

‫ﻣﻌﻤﺎﺭﻱ ﭘﺎﻳﮕﺎﻩﺩﺍﺩﻩ‬

‫ﻫﺪف ﻛﻠﻲ‬
‫در اﻳﻦ ﻓﺼﻞ ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎهداده ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ‬
‫ﮔﺮﻓﺖ‪ .‬در اﻳﻦ راﺳﺘﺎ ﺳﻄﻮح ﺧﺎرﺟﻲ‪ ،‬ادراﻛﻲ و داﺧﻠﻲ ﺑﺼﻮرﺗﻲ دﻗﻴﻖ ﺗﺮ ﻣﻮرد ارزﻳﺎﺑﻲ‬
‫ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ‪ .‬در اداﻣﻪ ﺑﺎ ﺳﺎﻳﺮ اﺟﺰاء ﭘﺎﻳﮕﺎه داده آﺷﻨﺎ ﺧﻮاﻫﻴﻢ ﺷﺪ و زﺑﺎن ﻫﺎي‬
‫ﻣﺨﺘﻠﻒ ﻣﻮرد اﺳﺘﻔﺎده درون ﭘﺎﻳﮕﺎه داده ﻧﻴﺰ ﺑﺮرﺳﻲ ﺧﻮاﻫﻨﺪ ﺷﺪ‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬
‫در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬
‫ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎهداده‬ ‫•‬
‫دﻳﺪ )ﻧﻤﺎي( ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ(‬ ‫•‬
‫دﻳﺪ )ﻧﻤﺎي( ﺧﺎرﺟﻲ‬ ‫•‬
‫دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ‬ ‫•‬
‫ﻛﺎرﺑﺮ‬ ‫•‬
‫زﺑﺎن ﻣﻴﺰﺑﺎن‬ ‫•‬
‫زﺑﺎن دادهاي ﻓﺮﻋﻲ‬ ‫•‬
‫اﻧﻮاع زﺑﺎن دادهاي‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪46‬‬

‫‪ -1‬ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎهداده‬


‫از آﻧﺠﺎ ﻛﻪ در ﭼﮕﻮﻧﮕﻲ ﻣﻌﻤﺎري "ﭘﺎﻳﮕﺎه داده ﻫﺎ" ﺣﺪاﻗﻞ در ﺳﺎﻟﻬﺎي آﻏﺎزﻳﻦ اﻳﺠﺎد‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ‬ ‫‪ANSI/SPARC‬‬ ‫اﻳﻦ ﺗﻜﻨﻮﻟﻮژي‪ ،‬ﺑﻴﻦ ﻛﺎرﺷﻨﺎﺳﺎن اﺗﻔﺎق ﻧﻈﺮ ﻧﺒﻮد‪ ،‬ﻟﺬا‬
‫اﻫﻤﻴﺖ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ‪ ،‬ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ را )ﺑﻪ ﻋﻨﻮان ﻳﻚ ﻣﻌﻤﺎري اﺳﺘﺎﻧﺪارد(‬
‫ﭘﻴﺸﻨﻬﺎد ﻛﺮد‪ .‬اﻳﻦ ﻣﻌﻤﺎري ﺑﻪ ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﻣﻮﺳﻮم اﺳﺖ‪.‬‬
‫ﺑﺎﻳﺪ ﺗﻮﺟﻪ داﺷﺖ ﻛﻪ اﻳﻦ ﺳﻪ ﺳﻄﺢ‪ ،‬اﺳﺎﺳﺎً ﺳﻪ ﺳﻄﺢ "ﺗﻌﺮﻳﻒ دادهﻫﺎ" ﻫﺴﺘﻨﺪ‪ :‬دو‬
‫ﺳﻄﺢ ﺧﺎرﺟﻲ و ادراﻛﻲ در ﻣﺤﻴﻄﻲ اﻧﺘﺰاﻋﻲ ﻫﺴﺘﻨﺪ و ﺳﻄﺢ ﺳﻮم ﻛﻪ ﻫﻤﺎن ﺳﻄﺢ داﺧﻠﻲ‬
‫اﺳﺖ در ﻣﺤﻴﻂ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ‪ .‬ﺷﻜﻞ ‪ 1-3‬ﻧﻤﺎي ﺳﺎدهاي از ﻣﻌﻤﺎري‬
‫ﺳﻪ ﺳﻄﺤﻲ را ﻧﻤﺎﻳﺶ ﻣﻲدﻫﺪ‪.‬‬

‫‪….‬‬ ‫ﺳﻄﺢ ﺧﺎرﺟﻲ‬


‫ﺳﻄﻮح‬
‫اﻧﺘﺰاﻋﻲ‬ ‫ﺳﻄﺢ ادراﻛﻲ‬
‫)ﻣﻔﻬﻮﻣﻲ(‬

‫‪------------------------‬‬

‫ﺳﻄﺢ داﺧﻠﻲ‬

‫ﺷﻜﻞ ‪ 1-3‬ﻧﻤﺎي ﺳﺎده ﺷﺪه ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ‬

‫واﺿﺢ اﺳﺖ ﻛﻪ ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ﻳﻚ ﻻﻳﻪ ﭘﺎﻳﻴﻦ ﺗﺮ از ﺳﻄﺢ داﺧﻠﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد‪ .‬در‬
‫ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده‪ ،‬ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ﻧﻴﺰ ﺟﺰﺋﻲ از ﻣﻌﻤﺎري ﻣﺤﺴﻮب ﻣﻲ ﮔﺮدد‪.‬‬
‫ﺑﺮاي ﭘﺎﻳﮕﺎه داده در ﺷﻜﻞ ‪ 2-3‬ﻧﺸﺎن داده‬ ‫‪ANSI‬‬ ‫ﻧﻤﺎي ﻛﺎﻣﻠﺘﺮ ﻣﻌﻤﺎري ﭘﻴﺸﻨﻬﺎدي‬
‫ﻣﻲ ﺷﻮد‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪47‬‬ ‫ﻣﻌﻤﺎﺭﻱ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬

‫آر‪١ /‬‬ ‫آر‪٢ /‬‬ ‫آر‪i /‬‬

‫ﺳﻄﺢ ﺧﺎرﺟﻲ‬
‫د‪ #‬ر"! ‪١‬‬ ‫د‪ #‬ر"! ‪٢‬‬ ‫د‪ #‬ر"! ‪j‬‬ ‫‪D‬‬
‫‪B‬‬
‫‪M‬‬
‫ﺳﻄﻮح‬ ‫‪S‬‬
‫‪D‬‬
‫‪B‬‬
‫‪A‬‬
‫اﻧﺘﺰاﻋﻲ‬
‫‪OS‬‬
‫د‪ #‬ادراآ! ))(!(‬
‫ﺳﻄﺢ ادراﻛﻲ‬

‫ﺳﻄﺢ داﺧﻠﻲ‬ ‫د‪ #‬دا‪!,‬‬


‫ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ‬

‫ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ‬
‫‪١-#.‬‬ ‫‪٢-#.‬‬ ‫‪......‬‬ ‫‪-#.k‬‬
‫ﻓﺎﻳﻠﻴﻨﮓ ﻓﻴﺰﻳﻜﻲ‬

‫دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‬

‫ﺷﻜﻞ ‪ 2-3‬ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫در اﻳﻦ ﻣﻌﻤﺎري ﻋﻼوه ﺑﺮ ﺳﻪ ﺳﻄﺢ‪ ،‬اﺟﺰاي دﻳﮕﺮي ﻫﻢ دﻳﺪه ﻣﻲ ﺷﻮد ﻛﻪ در واﻗﻊ ﺟﺰء‬
‫"ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎ" ﻫﺴﺘﻨﺪ‪ .‬در اﻳﻨﺠﺎ ﺳﻪ ﺳﻄﺢ و ﻧﻴﺰ اﺟﺰاء دﻳﮕﺮ را ﻧﺎم ﻣﻲ ﺑﺮﻳﻢ‪:‬‬
‫ﻛﺎرﺑﺮ‬ ‫•‬
‫زﺑﺎن ﻣﻴﺰﺑﺎن‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪48‬‬

‫زﺑﺎن دادهاي ﻓﺮﻋﻲ‬ ‫•‬


‫دﻳﺪ ﺧﺎرﺟﻲ‬ ‫•‬
‫دﻳﺪ ادراﻛﻲ‬ ‫•‬
‫دﻳﺪ داﺧﻠﻲ‬ ‫•‬
‫ﻓﺎﻳﻠﻬﺎي ﻓﻴﺰﻳﻜﻲ‬ ‫•‬
‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬

‫در اداﻣﻪ ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع‪ ،‬ﺳﻄﻮح ﺳﻪ ﮔﺎﻧﻪ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬

‫‪ -2‬ﺷﺮح ﺳﻄﻮح ﺳﻪ ﮔﺎﻧﻪ‬


‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺳﻤﺖ ﭼﭗ ﺗﺼﻮﻳﺮ ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﺪ ﺳﻪ ﺳﻄﺢ )دﻳﺪ( ﻣﺨﺘﻠﻒ در‬
‫ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه دادﻫﻬﺎ اراﺋﻪ ﺷﺪه اﺳﺖ‪ .‬اﻳﻦ ﺳﻄﻮح ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫دﻳﺪ )ﻧﻤﺎي( ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ(‬ ‫•‬
‫دﻳﺪ )ﻧﻤﺎي( ﺧﺎرﺟﻲ‬ ‫•‬
‫دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ‬ ‫•‬

‫‪ 1-2‬دﻳﺪ )ﻧﻤﺎي( ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ(‬


‫دﻳﺪ ﻳﺎ ﻧﻤﺎي ادراﻛﻲ در واﻗﻊ ﻫﻤﺎن دﻳﺪ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻧﺴﺒﺖ ﺑﻪ دادهﻫﺎي‬ ‫•‬
‫ذﺧﻴﺮه ﺷﺪﻧﻲ در ﭘﺎﻳﮕﺎهداده اﺳﺖ‪.‬‬
‫اﻳﻦ دﻳﺪ ﻳﻚ دﻳﺪ ﺟﺎﻣﻊ )ﺳﺮﺗﺎﺳﺮي( ﺑﻮده و ﺗﻤﺎم ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان در ﻣﺤﻴﻂ‬ ‫•‬
‫ﻋﻤﻠﻴﺎﺗﻲ را در ﺑﺮ ﻣﻲﮔﻴﺮد‪.‬‬
‫اﻳﻦ دﻳﺪ در ﻳﻚ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﻣﻄﺮح اﺳﺖ‪ :‬ﺑﻨﺎﺑﺮﻳﻦ ﻣﺒﺘﻨﻲ اﺳﺖ ﺑﺮ ﻳﻚ ﺳﺎﺧﺘﺎر‬ ‫•‬
‫دادهاي ﻣﺸﺨﺺ )از ﻳﻚ ﻣﺪل دادهاي ﻛﻪ اﻧﺘﺰاع ﻻزم را ﺗﺎﻣﻴﻦ ﻣﻲﻛﻨﺪ(‪.‬‬
‫اﻳﻦ دﻳﺪ‪ ،‬ﺑﺎ ﺳﺎﺗﻔﺎده از ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ ﻫﻤﺎن ﺳﺎﺧﺘﺎر دادهاي‪ ،‬ﻃﺮاﺣﻲ‬ ‫•‬
‫ﻣﻲﺷﻮد‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪49‬‬ ‫ﻣﻌﻤﺎﺭﻱ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬

‫اﻳﻦ دﻳﺪ ﺑﺎﻳﺪ )ﭘﺲ از ﻃﺮاﺣﻲ ﻃﺒﻌﺎ( ﺗﻮﺻﻴﻒ ﺷﻮد‪ .‬ﺑﻪ وﺻﻒ ﻳﺎ ﺷﺮح دﻳﺪ‬ ‫•‬
‫ادراﻛﻲ‪ ،‬ﺷﻤﺎي ادراﻛﻲ ﻣﻲﮔﻮﻳﻴﻢ‪ .‬ﺷﻤﺎي ادراﻛﻲ ﻧﻮﻋﻲ "ﺑﺮﻧﺎﻣﻪ" اﺳﺖ ﺣﺎوي‬
‫دﺳﺘﻮرات "ﺗﻌﺮﻳﻒ دادهﻫﺎ" و "ﻛﻨﺘﺮل دادهﻫﺎ" )و ﻧﻪ دﺳﺘﻮرات ﻋﻤﻠﻴﺎت در‬
‫دادهﻫﺎ(‪ .‬ﺳﻄﺢ ادراﻛﻲ در واﻗﻊ ﻫﻤﻴﻦ ﺷﻤﺎي ادراﻛﻲ اﺳﺖ‪.‬‬
‫ﺷﻤﺎي ادراﻛﻲ ﺑﻪ ﺳﻴﺴﺘﻢ داده ﻣﻲﺷﻮد و در ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﻧﮕﻬﺪاري ﻣﻲﺷﻮد‪.‬‬ ‫•‬

‫ﺑﻪ ﺑﻴﺎﻧﻲ ﺳﺎده‪ ،‬دﻳﺪ ادراﻛﻲ ﻫﻤﺎن ﺗﻌﺮﻳﻒ ﺟﺪول ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ‬
‫ﻣﻲ ﺧﻮاﻫﻴﺪ ﻳﻚ ﻣﻮﺟﻮدﻳﺖ ﻣﺜﻞ داﻧﺸﺠﻮ را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ‪ .‬ﺗﻌﺮﻳﻒ ﺟﺪول ﻣﺮﺑﻮﻃﻪ ﺑﻪ‬
‫ﻫﻤﺮاه ﻓﻴﻠﺪﻫﺎ )ﺻﻔﺎت ﺧﺎﺻﻪ( آن ﻣﻮﺟﻮدﻳﺖ در ﻳﻚ ﭘﺎﻳﮕﺎه داده‪ ،‬در ﺑﺤﺚ دﻳﺪ ادراﻛﻲ‬
‫دﺳﺘﻪ ﺑﻨﺪي ﻣﻲ ﺷﻮد‪.‬‬

‫‪ 2-2‬دﻳﺪ )ﻧﻤﺎي( ﺧﺎرﺟﻲ‬


‫دﻳﺪ ﻳﺎ ﻧﻤﺎي ﺧﺎرﺟﻲ در ﻛﺘﺐ ﻣﺨﺘﻠﻒ ﺑﺎ ﻋﺒﺎرات ﻣﺨﺘﻠﻔﻲ ﺗﻮﺿﻴﺢ داده ﺷﺪه اﺳﺖ‪ .‬در‬
‫اداﻣﻪ ﭼﻨﺪ ﺗﻌﺮﻳﻒ از دﻳﺪ ﺧﺎرﺟﻲ ﻣﻄﺮح ﺷﺪه اﺳﺖ‪:‬‬
‫ﻣﻔﻬﻮم دﻳﺪ ﻳﺎ ﻧﻤﺎي ﺧﺎرﺟﻲ در واﻗﻊ ﻫﻤﺎن ﻣﻔﻬﻮﻣﻲاﺳﺖ ﻛﻪ در ﺗﺤﻠﻴﻞ و‬ ‫•‬
‫ﻃﺮاﺣﻲ ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﻜﺎر ﺑﺮده ﻣﻲﺷﻮد‪ .‬در اداﻣﻪ ﺗﻌﺎرﻳﻒ و ﻧﻜﺎﺗﻲ در ﻣﻮرد دﻳﺪ‬
‫ﺧﺎرﺟﻲ آﻣﺪه اﺳﺖ‪:‬‬
‫دﻳﺪ ﻛﺎرﺑﺮ ﺧﺎص اﺳﺖ ﻧﺴﺒﺖ ﺑﻪ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬ ‫•‬
‫اﻳﻦ دﻳﺪ ﺟﺰﻳﻲ اﺳﺖ و ﻧﻪ ﺟﺎﻣﻊ‪ :‬ﻧﺸﺎن دﻫﻨﺪه "ﻣﺤﺪودهاي " از ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻛﻪ‬ ‫•‬
‫ﺑﻪ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ ﻳﻚ ﻛﺎرﺑﺮ ﺧﺎص ﭘﺎﺳﺦ ﻣﻲدﻫﺪ‪.‬‬
‫اﻳﻦ دﻳﺪ ﻫﻢ در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ ﻣﻄﺮح اﺳﺖ‪ :‬ﺑﻨﺎﺑﺮﻳﻦ ﻣﺒﺘﻨﻲ اﺳﺖ ﺑﺮ ﻳﻚ ﺳﺎﺧﺘﺎر‬ ‫•‬
‫دادهاي ﻣﺸﺨﺺ و ﻣﻌﻤﻮﻻً ﻫﻤﺎن ﺳﺎﺧﺘﺎر دادهاي ﻛﻪ دﻳﺪ ادراﻛﻲ ﺑﺮ اﺳﺎس آن‬
‫ﻃﺮاﺣﻲ و ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد‪.‬‬
‫اﻳﻦ دﻳﺪ روي دﻳﺪ ادراﻛﻲ ﻃﺮاﺣﻲ و ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد )ﺑﻪ ﻫﻤﻴﻦ دﻟﻴﻞ ﺑﻪ‬ ‫•‬
‫ﺟﺪوﻟﻬﺎي ﺳﻄﺢ ادراﻛﻲ‪ ،‬ﺟﺪوﻟﻬﺎي ﻣﺒﻨﺎ ﻳﺎ ﭘﺎﻳﻪ ﻣﻲﮔﻮﻳﻨﺪ(‪.‬‬
‫ﺑﻪ وﺻﻒ ﻳﺎ ﺗﻌﺮﻳﻒ دﻳﺪ ﺧﺎرﺟﻲ‪ ،‬ﺷﻤﺎي ﺧﺎرﺟﻲ ﻣﻲﮔﻮﻳﻴﻢ‪ :‬ﻧﻮﻋﻲ "ﺑﺮﻧﺎﻣﻪ "‬ ‫•‬
‫ﻛﻪ ﻛﺎرﺑﺮ ﺳﻄﺢ ﺧﺎرﺟﻲ ﻣﻲﻧﻮﻳﺴﺪ ﺣﺎوي دﺳﺘﻮرات "ﺗﻌﺮﻳﻒ دادهﻫﺎ " و ﮔﺎه‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪50‬‬

‫"ﻛﻨﺘﺮل دادهﻫﺎ" در ﻫﻤﺎن ﺳﻄﺢ ﺧﺎرﺟﻲ‪ .‬ﺷﻤﺎي ﺧﺎرﺟﻲ ﻫﻢ ﺑﻪ ﺳﻴﺴﺘﻢ داده‬


‫ﻣﻲﺷﻮد و در ﻛﺎﺗﺎﻟﻮگ آن ﻧﮕﻬﺪاري ﻣﻲﺷﻮد‪.‬‬
‫ﺑﻪ ﺗﻌﺮﻳﻒ ﻣﺠﻤﻮﻋﻪ دﻳﺪﻫﺎي ﺧﺎرﺟﻲ ﻛﺎرﺑﺮ‪ ،‬ﺳﻄﺢ ﺧﺎرﺟﻲ ﮔﻔﺘﻪ ﻣﻲﺷﻮد‪.‬‬ ‫•‬

‫ﺷﻜﻞ ‪ 3-3‬ﺷﻤﺎﻳﻲ از ﻧﺎﻳﻜﺴﺎﻧﻲ ﺳﺎﺧﺘﺎر دادﻫﺎي در ﺳﻄﻮح ادراﻛﻲ و ﺧﺎرﺟﻲ‬

‫ﻧﻜﺘﻪ‪ :‬ﺣﺪاﻗﻞ از ﻟﺤﺎظ ﻧﻈﺮي ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ ﺳﺎﺧﺘﺎر )ﻣﺪل( داده اي در دو ﺳﻄﺢ‬
‫اﻧﺘﺰاﻋﻲ ﻳﻌﻨﻲ ﺳﻄﺢ ﺧﺎرﺟﻲ و ﺳﻄﺢ ادراﻛﻲ ﻣﻲ ﺗﻮاﻧﺪ ﻳﻜﺴﺎن ﻧﺒﺎﺷﺪ‪ .‬ﺑﺎ اﻳﻦ وﺻﻒ‪،‬‬
‫ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻳﻚ ﻧﺮم اﻓﺰار واﺳﻂ ﺑﺮاي ﺗﺒﺪﻳﻞ دو ﺳﺎﺧﺘﺎر ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻻزم اﺳﺖ‪.‬‬
‫ﺷﻜﻞ زﻳﺮ ﺗﻔﺎوت ﺑﻴﻦ ﺳﺎﺧﺘﺎرﻫﺎي داده اي دو دﻳﺪ را ﻣﺸﺨﺺ ﻣﻲ ﻛﻨﺪ‪ .‬ﻋﻨﺎوﻳﻦ ذﻛﺮ‬
‫ﺷﺪه در ﺳﻄﺢ ادراﻛﻲ‪ ،‬در ﻣﻮرد ﺳﺎﺧﺘﺎرﻫﺎي داده اي اﺳﺖ ﻛﻪ در ﻓﺼﻞ ﺑﻌﺪ ﻣﻮرد‬
‫ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ‪.‬‬

‫‪ 3-2‬دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ‬


‫ﺳﻄﺢ داﺧﻠﻲ‪ ،‬ﻫﻤﺎن ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه داده ﻫﺎﺳﺖ‪ .‬ﻣﻌﻨﺎﻳﺶ اﻳﻦ اﺳﺖ ﻛﻪ‬
‫ﺑﻪ ﺟﻨﺒﻪﻫﺎي ﻓﺎﻳﻠﻴﻨﮓ ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻧﻤﻲ ﭘﺮدازد‪ .‬اﻳﻦ ﻛﺎر ﺑﺮ ﻋﻬﺪه‬ ‫‪DBMS‬‬
‫در ﻣﺤﻴﻂ ﻓﺎﻳﻠﻴﻨﮓ‬ ‫‪DBMS‬‬ ‫"ﺳﻴﺴﺘﻢ ﻓﺎﻳﻞ ﻓﻴﺰﻳﻜﻲ" در ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ اﺳﺖ‪ .‬در واﻗﻊ‪،‬‬
‫‪www.PDFgozar.com‬‬

‫‪51‬‬ ‫ﻣﻌﻤﺎﺭﻱ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬

‫ﻣﻨﻄﻘﻲ ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ‪ ،‬ﻛﻢ و ﺑﻴﺶ ﺷﺒﻴﻪ ﺑﺮﻧﺎﻣﻪ ﻓﺎﻳﻞ ﭘﺮداز ﻛﻪ در ﺳﻄﺢ ﻣﻨﻄﻘﻲ و ﻧﻪ‬
‫ﻓﻴﺰﻳﻜﻲ‪ ،‬ﻛﺎر ﻣﻲ ﻛﻨﺪ‪.‬‬

‫‪DBMS‬‬ ‫ﺷﻜﻞ ‪ 4-3‬ﻃﺮح ﺷﻤﺎﺗﻴﻚ از ذﺧﻴﺮه ﺳﺎزي ﻓﺎﻳﻠﻬﺎ در ﻣﺤﻴﻂ‬

‫در اداﻣﻪ ﺗﻮﺿﻴﺤﺎﺗﻲ در ﺧﺼﻮص دﻳﺪ داﺧﻠﻲ اراﺋﻪ ﺷﺪه اﺳﺖ‪:‬‬


‫)و ﻧﻴﺰ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ( اﺳﺖ در ﺳﻄﺢ ﭘﺎﻳﻴﻦ ﺗﺮ از ﺳﻄﺢ‬ ‫‪DBMS‬‬ ‫دﻳﺪ‬ ‫•‬
‫ادراﻛﻲ‪ ،‬ﻧﺴﺒﺖ ﺑﻪ ﻛﻞ دادﻫﻬﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ در ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬
‫اﻳﻦ دﻳﺪ در ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ )و ﮔﺎه ﻣﺠﺎزي( ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻣﻄﺮح اﺳﺖ‪.‬‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪52‬‬

‫اﻳﻦ دﻳﺪ ﻣﺒﺘﻨﻲ اﺳﺖ ﺑﺮﻳﻚ )و ﮔﺎه ﺑﻴﺶ از ﻳﻚ( ﺳﺎﺧﺘﺎر ﻓﺎﻳﻞ ﻛﻪ ﻣﻌﻤﻮﻻً ﺑﺎ ﻧﻈﺮ‬ ‫•‬
‫و دﺧﺎﻟﺖ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻃﺮاﺣﻲ ﻣﻲﺷﻮد‪ .‬اﻳﻦ ﻃﺮاﺣﻲ‪ ،‬اﺻﻄﻼﺣﺎ ﺑﻪ ﻃﺮاﺣﻲ‬
‫ﻓﻴﺰﻳﻜﻲ ﻣﻮﺳﻮم اﺳﺖ‪.‬‬
‫ﺳﻄﺢ داﺧﻠﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ‪ ،‬در واﻗﻊ ﺳﻄﺤﻲ اﺳﺖ ﻛﻪ در آن ﻓﺎﻳﻠﻬﺎي ﻣﻨﻄﻘﻲ‬ ‫•‬
‫ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد‪.‬‬
‫ﺑﻪ ﺷﺮح ﻳﺎ ﺗﻌﺮﻳﻒ دﻳﺪ داﺧﻠﻲ‪ ،‬ﺷﻤﺎي داﺧﻠﻲ ﮔﻔﺘﻪ ﻣﻲﺷﻮد‪ :‬ﻧﻮﻋﻲ "ﺑﺮﻧﺎﻣﻪ" ﻛﻪ‬ ‫•‬
‫ﺗﻮﺳﻂ ﺧﻮد ‪) DBMS‬و ﺗﺎ ﺣﺪي ﺑﺎ دﺧﺎﻟﺖ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ( ﺗﻮﻟﻴﺪ ﻣﻲﺷﻮد و‬
‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﮔﻔﺘﻴﻢ ﺷﺮح ﻳﺎ ﺗﻮﺻﻴﻒ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه اﺳﺖ ﻛﻪ در واﻗﻊ‬
‫ﻫﻤﺎن ﺳﻄﺢ داﺧﻠﻲ اﺳﺖ‪.‬‬

‫ﺷﻜﻞ ‪ 5-3‬ﺷﻤﺎﻳﻲ از ﺗﻔﺎوت ﺳﻄﻮح ﻣﻌﻤﺎري ﺑﻴﻦ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎﻫﻲ و ﻧﺎﭘﺎﻳﮕﺎﻫﻲ‬


‫‪www.PDFgozar.com‬‬

‫‪53‬‬ ‫ﻣﻌﻤﺎﺭﻱ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬

‫ﻛﻞ ﻓﻀﺎي ﭘﺎﻳﮕﺎه دادهﻫﺎ را ﺑﻪ‬ ‫‪DBMS‬‬ ‫ﻧﻜﺘﻪ‪ :‬در ﺑﻌﻀﻲ از ﺳﻴﺴﺘﻢ ﻫﺎي ﭘﺎﻳﮕﺎﻫﻲ‪،‬‬
‫ﺻﻮرت ﻣﺠﻤﻮﻋﻪ اي از ﻣﺠﻤﻮﻋﻪ ﺻﻔﺤﺎت ﻣﻲ ﺑﻴﻨﺪ‪ ،‬ﻳﻌﻨﻲ ﻧﻮﻋﻲ ﻧﻤﺎي ﻣﺠﺎزي از‬
‫داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎه دارد‪ .‬اﻳﻦ ﻧﻤﺎي ﻣﺠﺎزي ﺑﺎﻻﺗﺮ از ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ‬
‫ﻗﺮار ﻣﻲ ﮔﻴﺮد‪ .‬در واﻗﻊ ﺑﻴﻦ ﺳﻄﺢ ﻧﻤﺎي ﻣﺠﺎزي و ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻓﻴﺰﻳﻜﻲ‪ ،‬ﻳﻚ ﺳﻄﺢ‬
‫ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ واﺳﻂ اﺳﺖ‪ .‬اﻳﻦ ﺳﻪ ﺳﻄﺢ در ﺷﻜﻞ ‪ 4-3‬ﻧﻤﺎﻳﺶ داده ﺷﺪه اﺳﺖ‪.‬‬

‫ﻧﻜﺘﻪ‪ :‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ دﻳﺪﻫﺎي ﺳﻪ ﮔﺎﻧﻪ اراﺋﻪ ﺷﺪه در ﭘﺎﻳﮕﺎه داده‪ ،‬اﻛﻨﻮن ﺗﻔﺎوت ﺳﻄﻮح‬
‫ﻣﻌﻤﺎري ﺑﻴﻦ ﻣﺤﺒﻂ ﭘﺎﻳﮕﺎﻫﻲ و ﻧﺎﭘﺎﻳﮕﺎﻫﻲ ﺑﻬﺘﺮ ﻧﻤﺎﻳﺎن ﻣﻲ ﮔﺮدد‪ .‬ﺷﻜﻞ زﻳﺮ اﻳﻦ ﺗﻔﺎوت‬
‫را ﻧﻤﺎﻳﺎن ﻣﻲ ﻛﻨﺪ‪.‬‬

‫‪ -3‬ﺳﺎﻳﺮ اﺟﺰاء ﭘﺎﻳﮕﺎهدادهﻫﺎ‬


‫ﺑﻐﻴﺮ از ﺳﻪ دﻳﺪ اﺻﻠﻲ اراﺋﻪ ﺷﺪه در ﺑﺎﻻ‪ ،‬اﺟﺰاء دﻳﮕﺮي ﻧﻴﺰ در ﭘﺎﻳﮕﺎه داده وﺟﻮد دارﻧﺪ‬
‫ﻛﻪ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫ﻛﺎرﺑﺮ‬ ‫•‬
‫زﺑﺎن ﻣﻴﺰﺑﺎن‬ ‫•‬
‫زﺑﺎن دادهاي ﻓﺮﻋﻲ‬ ‫•‬

‫‪ 1-3‬ﻛﺎرﺑﺮ‬
‫در ﻣﻌﻨﺎي ﻋﺎم‪ ،‬ﻫﺮ اﺳﺘﻔﺎده ﻛﻨﻨﺪه از ﭘﺎﻳﮕﺎه داده ﻫﺎ را ﻛﺎرﺑﺮ ﮔﻮﻳﻴﻢ‪ .‬ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ‬
‫در ﺑﻌﻀﻲ از ﻛﺘﺐ ﻛﺎرﺑﺮان ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﺮ ﺣﺴﺐ ﻧﻮع ﻛﺎر دﺳﺘﻪ ﺑﻨﺪي ﻣﻲ ﮔﺮدﻧﺪ‪ ،‬در‬
‫اﻳﻨﺠﺎ ﻛﻠﻤﻪ ﻛﺎرﺑﺮ ﺑﺼﻮرت ﻋﺎم اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ و از ذﻛﺮ اﻧﻮاع ﻛﺎرﺑﺮ ﺧﻮدداري‬
‫ﺷﺪه اﺳﺖ‪.‬‬

‫‪ 2-3‬زﺑﺎن ﻣﻴﺰﺑﺎن‬
‫ﻳﻜﻲ از زﺑﺎﻧﻬﺎي ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﻗﺎدر ﺑﻪ ﺑﺮﻗﺮاري ارﺗﺒﺎط و اﻧﺘﻘﺎل دﺳﺘﻮرات‬
‫ﺑﻴﻦ ﺧﻮد و ﭘﺎﻳﮕﺎه داده ﺑﺎﺷﺪ‪ .‬واﺿﺢ اﺳﺖ ﻛﻪ ﻫﺮﭼﻪ ﺗﻌﺪاد زﺑﺎﻧﻬﺎي ﻣﻴﺰﺑﺎن ﻣﻮرد‬
‫ﭘﺬﻳﺮش ‪ DBMS‬ﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ‪ ،‬ﻣﻮارد ذﻳﻞ ﺗﺎﻣﻴﻦ ﻣﻲ ﮔﺮدد‪:‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪54‬‬

‫ﺗﻨﻮع ﻛﺎرﺑﺮدﻫﺎ اﻣﻜﺎن ﭘﺬﻳﺮ ﻣﻲﺑﺎﺷﺪ‬ ‫•‬


‫ﺗﻨﻮع ﻛﺎرﺑﺮان ﺗﺎﻣﻴﻦ ﻣﻲﮔﺮدد‬ ‫•‬
‫اﻧﻌﻄﺎف ﭘﺬﻳﺮي ﺳﻴﺴﺘﻢ ﺑﻴﺸﺘﺮ ﻣﻲﮔﺮدد‪.‬‬ ‫•‬

‫ﻛﺎرﺑﺮ‬

‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ‬ ‫ﻏﻴﺮ ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ‬

‫ﻛﺎرﺑﺮ ﻫﻤﻴﺸﮕﻲ‬ ‫ﻛﺎرﺑﺮ ﻣﻮردي‬

‫ﻛﺎرﺑﺮ ﻧﻬﺎﻳﻲ‬

‫ﺷﻜﻞ ‪ 6-3‬ﺷﻤﺎﻳﻲ از اﻧﻮاع ﻛﺎرﺑﺮان و ارﺗﺒﺎط ﺑﻴﻦ آﻧﻬﺎ‬

‫‪ 3-3‬زﺑﺎن دادهاي ﻓﺮﻋﻲ‬


‫اﻳﻦ زﺑﺎن از ﺳﻪ دﺳﺘﻪ دﺳﺘﻮر ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪:‬‬
‫‪1‬‬
‫دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ‬ ‫•‬
‫‪2‬‬
‫دﺳﺘﻮرات ﻋﻤﻠﻴﺎت روي دادهﻫﺎ‬ ‫•‬
‫‪3‬‬
‫دﺳﺘﻮرات ﻛﻨﺘﺮل دادهﻫﺎ‬ ‫•‬

‫اﻳﻦ ﻧﻮع دﺳﺘﻮرﻫﺎ ﺑﺎﻳﺪ ﺑﺮاي ﻫﺮ ﻳﻚ از ﺳﻄﻮح ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬
‫اﻳﻦ ﻣﻮﺿﻮع در ﺷﻜﻞ ‪ 7-3‬ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪.‬زﺑﺎن داده اي ﻓﺮﻋﻲ از ﻧﻈﺮ ﻧﻴﺎز ﺑﻪ‬

‫)‪1. D at a D ef i n i t i o n La n gu a ge ( D D L‬‬
‫) ‪2. D at a M a ni p u l a t i o n La n gu a ge ( D M L‬‬
‫)‪3. D at a C o nt r o l La n gu a ge ( D C L‬‬
‫‪www.PDFgozar.com‬‬

‫‪55‬‬ ‫ﻣﻌﻤﺎﺭﻱ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬

‫زﺑﺎن ﻣﻴﺰﺑﺎن ﻳﺎ ﻋﺪم ﻧﻴﺎز ﺑﻪ آن‪ ،‬ﺑﻪ دو رده ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮد‪:‬‬


‫ﻣﺴﺘﻘﻞ ﻳﺎ ﺧﻮد ﻛﻔﺎ‬ ‫•‬
‫ادﻏﺎم ﺷﺪﻧﻲ )ادﻏﺎم ﺷﺪه(‬ ‫•‬

‫ﺳﻄﺢ ﺧﺎرﺣﻲ‬ ‫‪DDL‬‬

‫ﻣﻌﻤﺎري‬ ‫ﺳﻄﺢ ادراﻛﻲ‬ ‫‪DML‬‬


‫‪ANSI‬‬

‫ﺳﻄﺢ داﺧﻠﻲ‬ ‫‪DCL‬‬

‫ﺷﻜﻞ ‪ 7-3‬ارﺗﺒﺎط ﺑﻴﻦ ﮔﺮوهﻫﺎي دﺳﺘﻮري ﻣﺨﺘﻠﻒ و ﺳﻄﻮح ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهداده‬

‫زﺑﺎن ﻣﺴﺘﻘﻞ‬
‫زﺑﺎﻧﻲ اﺳﺖ ﻛﻪ ﻧﻴﺎز ﺑﻪ زﺑﺎن ﻣﻴﺰﺑﺎن ﻧﺪارد و ﺧﻮد ﺑﻪ ﺻﻮرت ﺗﻌﺎﻣﻠﻲ )اﻧﺪر ﻛﻨﺸﻲ(‬
‫ﮔﻮﻳﻴﻢ‪.‬‬ ‫‪I.DSL‬‬ ‫اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد و آن را‬

‫زﺑﺎن ادﻏﺎم ﺷﺪﻧﻲ‬


‫زﺑﺎﻧﻲ اﺳﺖ ﻛﻪ دﺳﺘﻮرﻫﺎﻳﺶ )ﺑﻪ ﻧﺤﻮي( در ﻣﺘﻦ ﺑﺮﻧﺎﻣﻪاي ﺑﻪ زﺑﺎن ﻣﻴﺰﺑﺎن ﺑﻜﺎر‬
‫ﻣﻲ روﻧﺪ و ﻣﺴﺘﻘﻼ ﻗﺎﺑﻞ اﺳﺘﻔﺎده ﻧﻴﺴﺘﻨﺪ و آن را ‪ E.DSL‬ﮔﻮﻳﻴﻢ‪.‬‬
‫ﻧﻜﺘﻪ‪ :‬زﺑﺎن داده اي ﻓﺮﻋﻲ ﻣﻤﻜﻦ اﺳﺖ ﻫﻢ ﻣﺴﺘﻘﻞ و ﻫﻢ ادﻏﺎم ﺷﺪﻧﻲ ﺑﺎﺷﺪ)‪.(I/E.DSL‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪56‬‬

‫ﺗﻤﺮﻳﻨﺎت‬

‫‪ .1‬دﻳﺪﻫﺎي ﺳﻪ ﮔﺎﻧﻪ اراﺋﻪ ﺷﺪه در ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬


‫‪ .2‬دﻳﺪ )ﻧﻤﺎي( ادارﻛﻲ را ﺷﺮح دﻫﻴﺪ ؟‬
‫‪ .3‬دﻳﺪ )ﻧﻤﺎي( ﺧﺎرﺟﻲ را ﺷﺮح دﻫﻴﺪ ؟‬
‫‪ .4‬دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ را ﺷﺮح دﻫﻴﺪ ؟‬
‫‪ .5‬اﻧﻮاع دﺳﺘﻮرات زﺑﺎن داده اي ﻓﺮﻋﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬
‫‪ .6‬زﺑﺎن ﻣﺴﺘﻘﻞ ﺑﻪ ﭼﻪ ﻣﻌﻨﻲ اﺳﺖ ؟‬
‫‪ .7‬زﺑﺎن ادﻏﺎم ﺷﺪﻧﻲ را ﺷﺮح دﻫﻴﺪ ؟‬
‫‪www.PDFgozar.com‬‬

‫ﻓﺼﻞ ‪۴‬‬

‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎﻩﺩﺍﺩﻩ‬

‫ﻫﺪف ﻛﻠﻲ‬
‫در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺗﻌﺮﻳﻒ و ﺳﻪ ﺑﺨﺶ اﺻﻠﻲ آن ﻣﻮرد‬
‫ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ‪ .‬ﺳﭙﺲ ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ از ﺟﻬﺎت‬
‫ﻣﺨﺘﻠﻒ ﻣﻮرد دﺳﺘﻪ ﺑﻨﺪي ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ‪ .‬در اداﻣﻪ اﺟﺰاء ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ‬
‫ﭘﺎﻳﮕﺎه داده ﻣﻌﺮﻓﻲ ﺷﺪه و ﻛﺎﺗﺎﻟﻮگ ﻳﺎ دﻳﻜﺸﻨﺮي ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺗﻮﺿﻴﺢ داده ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫ﻣﻄﺮح ﺷﺪه و ﻣﺤﻮر ﻫﺎي‬ ‫‪DBMS‬‬ ‫ﺳﭙﺲ ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺨﺘﻠﻒ ﻣﻮرد ﻧﻴﺎز ﺟﻬﺖ ﺷﻨﺎﺧﺖ‬
‫ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ‪ .‬در ﭘﺎﻳﺎن ﻧﻴﺰ ﺟﺎﻳﮕﺎه ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده‬ ‫‪DBMS‬‬ ‫اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ‬
‫ﺗﺸﺮﻳﺢ ﺷﺪه و ﺗﻴﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﺷﺮح داده ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬
‫در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬
‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﺑﺨﺶ ﺳﺎﺧﺘﺎري‬ ‫•‬
‫ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ‬ ‫•‬
‫ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ‬ ‫•‬
‫رده ﺑﻨﺪي ﺳﻴﺴﺘﻢﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫اﺟﺰاء ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﻧﻤﺎي ﺑﻴﺮوﻧﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪58‬‬

‫ﻧﻤﺎي دروﻧﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬


‫ﻻﻳﻪ ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهداده‬ ‫•‬
‫ﻻﻳﻪ ﻫﺴﺘﻪ ﭘﺎﻳﮕﺎهداده‬ ‫•‬
‫ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ و دﻳﻜﺸﻨﺮي دادهﻫﺎ‪ :‬ﻣﺘﺎ دادهﻫﺎ‬ ‫•‬
‫‪DBMS‬‬ ‫ﭘﺎراﻣﺘﺮﻫﺎي ﺷﻨﺎﺧﺖ‬ ‫•‬
‫ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﺳﻄﺢ داﺧﻠﻲ‪ -‬ﻓﻴﺰﻳﻜﻲ‬ ‫•‬
‫ﺳﻄﺢ ادراﻛﻲ‬ ‫•‬
‫ﺳﻄﺢ ﺧﺎرﺟﻲ‬ ‫•‬
‫ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن دادهاي ﻓﺮﻋﻲ‬ ‫•‬
‫ﻣﺤﻮرﻫﺎي اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ ‪DBMS‬ﻫﺎ‬ ‫•‬
‫)‪(DBA‬‬ ‫ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده‬ ‫•‬
‫ﺗﻴﻢ ‪ ،DBA‬وﻇﺎﻳﻒ و ﻣﺴﺌﻮﻟﻴﺖﻫﺎ ي آن‬ ‫•‬

‫‪ -1‬ﺗﻌﺮﻳﻒ‬
‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻳﻜﻲ از اﻧﻮاع ﻧﺮم اﻓﺰارﻫﺎي واﺳﻄﻪ ﺑﻴﻦ ﻣﺤﻴﻂ ﻓﻴﺰﻳﻜﻲ‬
‫ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت و ﻣﺤﻴﻂ ﻣﻨﻄﻘﻲ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي اﺳﺖ اﻳﻦ ﻧﺮم اﻓﺰار ﺑﻪ ﻛﺎرﺑﺮ‬
‫ﺑﺮﻧﺎﻣﻪ ﺳﺎز اﻣﻜﺎن ﻣﻲ دﻫﺪ ﺗﺎ‪:‬‬
‫ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺧﻮد را ﺗﻌﺮﻳﻒ واﻳﺠﺎد ﻛﻨﺪ‪.‬‬ ‫•‬
‫در ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺧﻮد ﻋﻤﻠﻴﺎت اﻧﺠﺎم دﻫﺪ‪.‬‬ ‫•‬
‫روي ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺧﻮد ﺗﺎ ﺣﺪي ﻛﻨﺘﺮل داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬ ‫•‬

‫ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ در ﻣﺤﻴﻂ ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﻋﻤﻞ‬
‫ﻣﻲ ﻛﻨﺪ‪ .‬ﺷﻤﺎي ﺳﺎده اي از ﺟﺎﻳﮕﺎه اﻳﻦ ﻧﺮم اﻓﺰار در ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻮﺗﺮي در ﺷﻜﻞ‬
‫زﻳﺮ ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪:‬‬
‫‪www.PDFgozar.com‬‬

‫‪59‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫ﺷﻜﻞ ‪ 1-4‬ﺟﺎﻳﮕﺎه ‪ DBMS‬در ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي‬

‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده واﻗﻌﻲ ﺑﺎﻳﺪ اﻣﻜﺎن اﻧﺠﺎم اﻳﻦ ﺳﻪ‬
‫ﻓﻌﺎﻟﻴﺖ اﺳﺎﺳﻲ را ﻗﺒﻞ از ﻫﺮ ﭼﻴﺰ در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﺑﻪ ﻛﺎرﺑﺮ ﺑﺪﻫﺪ‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ‬
‫ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ ﭘﺎﻳﮕﺎه داده از ﺳﻪ ﺑﺨﺶ اﺻﻠﻲ ﺑﻪ ﺷﺮح ذﻳﻞ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪:‬‬
‫ﺑﺨﺶ ﺳﺎﺧﺘﺎري‬ ‫•‬
‫ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ‬ ‫•‬
‫ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ‬ ‫•‬

‫ﺑﺨﺶ ﺳﺎﺧﺘﺎري‬
‫ﺷﺎﻣﻞ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﻣﺪل اﺳﺖ ﻛﻪ ﻫﻤﺎن ﺳﺎﺧﺘﺎر داده اي اﺻﻠﻲ و ﻣﻔﺎﻫﻴﻢ ﻣﺮﺗﺒﻂ ﺑﺎ‬
‫آن اﺳﺖ‪.‬‬

‫ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ‬
‫ﻣﺠﻤﻮﻋﻪ اﻣﻜﺎﻧﺎﺗﻲ اﺳﺖ ﻛﻪ ﺑﻪ وﺳﻴﻠﻪ آﻧﻬﺎ ﻋﻤﻠﻴﺎت ﻣﻮرد ﻧﻈﺮ ﻛﺎرﺑﺮ‪ ،‬از ﺟﻤﻠﻪ ﺑﺎزﻳﺎﺑﻲ‬
‫و ذﺧﻴﺮه ﺳﺎزي‪ ،‬در ﻛﺎدر ﺳﺎﺧﺘﺎر داده اي و ﻣﺒﺘﻨﻲ ﺑﺮ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎر اﺳﺎﺳﻲ آن اﻧﺠﺎم‬
‫ﻣﻲ ﺷﻮد‪.‬‬

‫ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ‬
‫از ﻣﺠﻤﻮﻋﻪ اي از ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از آن ﺳﻴﺴﺘﻢ‬
‫ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻣﻲ ﺗﻮاﻧﺪ ﺻﺤﺖ‪ ،‬دﻗﺖ و ﺳﺎزﮔﺎري دادهﻫﺎ را در ﻫﺮ ﻟﺤﻈﻪ از‬
‫ﺣﻴﺎت ﭘﺎﻳﮕﺎه داده ﻫﺎ‪ ،‬ﻛﻨﺘﺮل و ﺗﻈﻤﻴﻦ ﻛﻨﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪60‬‬

‫‪ -2‬رده ﺑﻨﺪي ﺳﻴﺴﺘﻢﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬


‫ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده را ﻣﻲ ﺗﻮان ﺑﻪ ﭼﻨﺪﻳﻦ ﺻﻮرت دﺳﺘﻪ ﺑﻨﺪي ﻧﻤﻮد‪ .‬اﻳﻦ‬
‫دﺳﺘﻪ ﺑﻨﺪي ﻫﺎ در ذﻳﻞ آﻣﺪه اﻧﺪ‪:‬‬

‫از ﻧﻈﺮ ﻣﺪل دادهاي‬


‫ﺳﻴﺴﺘﻢ راﺑﻄﻪاي‬ ‫•‬
‫ﺳﻴﺴﺘﻢ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬ ‫•‬
‫ﺳﻴﺴﺘﻢ ﺷﺒﻜﻪاي‬ ‫•‬

‫از ﻧﻈﺮ ﻣﺤﻴﻂ ﺳﺨﺖاﻓﺰاري‬


‫ﻗﺎﺑﻠﻴﺖ اﺟﺮا ﺑﺮ روي ﻳﻚ ﺳﺨﺖاﻓﺰار ﺧﺎص‬ ‫•‬
‫ﻗﺎﺑﻠﻴﺖ اﺟﺮا ﺑﺮ روي ﺳﺨﺖاﻓﺰارﻫﺎي ﻣﺘﻨﻮع‬ ‫•‬

‫از ﻧﻈﺮ رده ﺑﻨﺪي ﻛﺎﻣﭙﻴﻮﺗﺮ‬


‫‪2‬‬ ‫‪1‬‬
‫ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺑﺰرگ و ﺧﻴﻠﻲ ﺑﺰرگ‬ ‫•‬
‫ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺘﻮﺳﻂ‬ ‫•‬
‫ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺷﺨﺼﻲ‬ ‫•‬
‫ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي اﻧﻮاع ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ‬ ‫•‬

‫از ﻧﻈﺮ ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬


‫واﺑﺴﺘﻪ ﺑﻪ ﻳﻚ ﻧﻮع ﺧﺎص از ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬ ‫•‬
‫ﻋﺪم واﺑﺴﺘﮕﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ و ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﭼﻨﺪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬ ‫•‬

‫از ﻧﻈﺮ ﻧﻮع ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬


‫داراي ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهداده ﻣﺘﻤﺮﻛﺰ‬ ‫•‬
‫داراي ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهداده ﻧﺎ ﻣﺘﻤﺮﻛﺰ‬ ‫•‬

‫‪1. M a in f r a me‬‬
‫‪2. Su p e r C o mp u t e r‬‬
‫‪www.PDFgozar.com‬‬

‫‪61‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫‪1‬‬
‫از ﻧﻈﺮ ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‬
‫ﺗﻮاﻧﺎﻳﻲ در اراﺋﻪ ﻣﻌﻤﺎري ﻳﻚ ﺧﺪﻣﺘﮕﺰار‪ -‬ﭼﻨﺪ ﻣﺸﺘﺮي‬ ‫•‬
‫ﺗﻮاﻧﺎﻳﻲ در اراﺋﻪ ﻣﻌﻤﺎري ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار‪ -‬ﭼﻨﺪ ﻣﺸﺘﺮي‬ ‫•‬

‫از ﻧﻈﺮ ﺳﻴﺴﺘﻢ ﻓﺎﻳﻞ‬


‫ﻣﺴﺘﻘﻞ از ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﺮﺑﻮط ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬ ‫•‬
‫واﺑﺴﺘﻪ ﺑﻪ ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬ ‫•‬

‫از ﻧﻈﺮ ﻣﺘﺪوﻟﻮژي زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ‬


‫ﺑﺪون ﻣﺘﺪوﻟﻮژي ﺷﻴﺊ ﮔﺮاﻳﻲ‬ ‫•‬
‫داراي ﻣﺘﺪوﻟﻮژي ﺷﻴﺊ ﮔﺮاﻳﻲ‬ ‫•‬

‫از ﻧﻈﺮ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ و درﺧﻮاﺳﺖﻫﺎي ﻛﺎرﺑﺮ‬


‫داراي ﺑﻬﻴﻨﻪ ﺳﺎز ﻣﺘﻌﺎرف‬ ‫•‬
‫داراي ﺑﻬﻴﻨﻪ ﺳﺎز ﻣﺒﺘﻨﻲ ﺑﺮ ﻗﺎﻋﺪه‪ ،‬ﻣﻌﻨﺎﻳﻲ و‪...‬‬ ‫•‬

‫از ﻧﻈﺮ ﻧﻮع ﺗﺮاﻛﻨﺶ‬


‫ﭘﺬﻳﺮﻧﺪه ﺗﺮاﻛﻨﺸﻬﺎي ﺳﺎده و ﺗﻚ ﺳﻄﺤﻲ‬ ‫•‬
‫ﭘﺬﻳﺮﻧﺪه ﺗﺮاﻛﻨﺸﻬﺎي ﺑﺎ ﻣﺪل ﭘﻴﺸﺮﻓﺘﻪ )ﻣﺜﻼ ﺗﻮدرﺗﻮ‪ ،‬زﻧﺠﻴﺮهاي و‪(...‬‬ ‫•‬

‫از ﻧﻈﺮ ﻧﻮع ﭘﺮدازش‬


‫ﺑﺎ ﻗﺎﺑﻠﻴﺖ ﭘﺮدازش ﺑﻲ درﻧﮓ‬ ‫•‬
‫ﻓﺎﻗﺪ اﻳﻦ ﻗﺎﺑﻠﻴﺖ‬ ‫•‬

‫‪ -3‬اﺟﺰاء ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬


‫اﻳﻦ ﻧﺮم اﻓﺰار‪ ،‬ﻣﺜﻞ ﻫﺮ ﻧﺮم اﻓﺰار ﻧﻴﻤﻪ ﺑﻨﻴﺎدي دﻳﮕﺮ از واﺣﺪﻫﺎﻳﻲ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪.‬‬
‫ﺗﻌﺪاد واﺣﺪﻫﺎ و ﺣﺠﻢ ﻫﺮ واﺣﺪ ﻧﺮم اﻓﺰاري ﺑﺴﺘﮕﻲ ﺑﻪ ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در اﻧﺠﺎم ﻛﺎرﻫﺎ‬

‫‪1. C li e n t - Se r ve r Ar c h i t e c t u r e‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪62‬‬

‫و اراﺋﻪ ﺧﺪﻣﺎت ﺑﻪ ﻛﺎرﺑﺮان دارد‪ .‬در اداﻣﻪ واﺣﺪﻫﺎي اﺻﻠﻲ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ‬
‫ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻌﺮﻓﻲ ﺧﻮاﻫﻴﻢ ﻛﺮد‪.‬‬

‫‪ 1-3‬ﻧﻤﺎي ﺑﻴﺮوﻧﻲ‬
‫ﻧﻤﺎي ﺑﻴﺮوﻧﻲ‪ ،‬از واﺣﺪﻫﺎي اﺻﻠﻲ زﻳﺮ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪:‬‬
‫واﺣﺪ ﭘﺮدازﺷﮕﺮ "ﭘﺮﺳﺶﻫﺎ"‬ ‫•‬
‫واﺣﺪ ﭘﺮدازﺷﮕﺮ "ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي"‬ ‫•‬
‫واﺣﺪاﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‪.‬‬ ‫•‬

‫ﺷﻜﻞ ‪ 2-4‬ﻧﻤﺎي ﺑﻴﺮوﻧﻲ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده‬


‫‪www.PDFgozar.com‬‬

‫‪63‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫در اﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ ﺷﻮد ﻛﻪ ﭘﺮﺳﺸﻬﺎ ﻧﻴﺰ در واﻗﻊ ﻧﻮﻋﻲ از ﺑﺮﻧﺎﻣﻪ‬
‫ﻛﺎرﺑﺮدي و ﻳﺎ در ﻣﻮاردي ﻗﺴﻤﺘﻲ از ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي ﻫﺴﺘﻨﺪ‪ .‬ﺗﻔﺎوت ﺑﻴﻦ اﻳﻦ دو در‬
‫اﻳﻦ ﻧﻜﺘﻪ اﺳﺖ ﻛﻪ ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﺎرﺑﺮدي ﺑﺎ ﻳﻚ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺗﻬﻴﻪ ﻣﻲ ﺷﻮﻧﺪ ﻛﻪ ﺑﻪ‬
‫ﻃﺮﻳﻘﻲ ﺑﺎ ﭘﺎﻳﮕﺎه داده ارﺗﺒﺎط ﺑﺮﻗﺮار ﻣﻲ ﻛﻨﺪ و دﺳﺘﻮرات ﻣﻮرد ﻧﻴﺎز ﺑﺮاي ﻛﺎر ﺑﺎ‬
‫ﭘﺎﻳﮕﺎه داده درون زﺑﺎن اﻧﺘﺨﺎب ﺷﺪه ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺗﻮﺳﻂ ﻛﺎﻣﭙﺎﻳﻠﺮ زﺑﺎن ﺑﺮاي ﭘﺎﻳﮕﺎه داده‬
‫ﻗﺎﺑﻞ ﻓﻬﻢ ﻣﻲ ﺷﻮد‪ .‬وﻟﻲ ﭘﺮﺳﺸﻬﺎ ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮراﺗﻲ ﻛﻪ ﺑﺮاي ﭘﺎﻳﮕﺎه داده ﻗﺎﺑﻞ ﻓﻬﻢ‬
‫ﻣﻲ ﺑﺎﺷﺪ‪ ،‬ﺗﻬﻴﻪ ﻣﻲ ﺷﻮﻧﺪ و در واﻗﻊ ﺑﻪ ﻧﻮﻋﻲ واﺑﺴﺘﮕﻲ ﻛﺎﻣﻞ ﺑﻪ ﭘﺎﻳﮕﺎه داده ﻣﻮرد اﺳﺘﻔﺎده‬
‫دارد‪ .‬ﺷﻜﻞ ‪ 2-4‬ﻧﻤﺎي ﺑﻴﺮوﻧﻲ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده را ﺑﺼﻮرﺗﻲ ﺳﺎده ﺑﻴﺎن‬
‫ﻣﻲ ﻛﻨﺪ‪.‬‬

‫‪ 2-3‬ﻧﻤﺎي دروﻧﻲ‬
‫اﻳﻦ ﻧﺮم اﻓﺰار )ﻧﻤﺎي دروﻧﻲ( از ﺳﻪ ﻻﻳﻪ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ ﻛﻪ ﻫﺮ ﻻﻳﻪ وﻇﺎﻳﻒ ﺧﺎص‬
‫ﺧﻮد را ﺑﺮ ﻋﻬﺪه دارد‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در ﻛﺘﺎﺑﻬﺎي ﻣﺨﺘﻠﻒ ﻣﻤﻜﻦ اﺳﺖ وﻇﺎﻳﻒ‬
‫ﻫﺮ ﻳﻚ از اﻳﻦ ﻻﻳﻪ ﻫﺎ ﻣﺘﻔﺎوت ﺑﺎﺷﺪ‪ .‬در اداﻣﻪ ﻻﻳﻪ ﻫﺎي اﻳﻦ ﻗﺴﻤﺖ ﺑﻪ ﻫﻤﺮاه وﻇﺎﻳﻒ‬
‫ﻫﺮ ﻳﻚ ﺷﺮح داده ﺷﺪه اﺳﺖ‪:‬‬
‫‪1‬‬
‫ﻻﻳﻪ ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﻻﻳﻪ ﻫﺴﺘﻪ ‪) 2‬ﺳﻴﺴﺘﻢ ﻛﻨﺘﺮل ﻳﺎ ﻣﻮﺗﻮر ﭘﺎﻳﮕﺎهدادهﻫﺎ(‬ ‫•‬
‫ﻻﻳﻪ ﺗﺴﻬﻴﻼت ﻧﺮماﻓﺰاري‪) 3‬اﺑﺰارﻫﺎ(‬ ‫•‬

‫ﻻﻳﻪ ﻣﺮﺑﻮط ﺑﻪ ﺗﺴﻬﻴﻼت ﻧﺮماﻓﺰاري ﻣﻌﻤﻮﻻً در ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ‬
‫ﻣﺘﻔﺎوت ﻣﻲ ﺑﺎﺷﺪ و ﺗﻮاﻧﺎﻳﻲ ﻫﺎ و ﺧﺪﻣﺎت ﻗﺎﺑﻞ اراﺋﻪ در اﻳﻦ ﻻﻳﻪ ﺑﻌﻀﺎ ﺑﺴﻴﺎر ﻣﺘﻨﻮع و ﻳﺎ‬
‫ﺑﺴﻴﺎر ﺳﺎده اﺳﺖ‪ .‬ﻟﺬا از ﺑﺤﺚ ﭘﻴﺮاﻣﻮن اﻳﻦ ﻻﻳﻪ اﺟﺘﻨﺎب ﻣﻲﮔﺮدد‪.‬‬

‫‪ 1-2-3‬ﻻﻳﻪ ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهداده‬


‫ﻻﻳﻪ ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده وﻇﺎﺑﻒ زﻳﺮ را ﺑﺮ ﻋﻬﺪه دارد‪:‬‬

‫‪1. D at a b a s e E n vi r o n me n t M a n a ge me n t La y e r‬‬
‫‪2. E n gi n e La y e r‬‬
‫‪3. So f t w a r e F a c i l i ti e s‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪64‬‬

‫ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ‪ 1‬ﭘﺎﻳﮕﺎهداده‬ ‫•‬


‫ﻛﻨﺘﺮل ﺗﺮﻣﻴﻢ‪) 2‬ﺑﺎزﺳﺎزي( ﭘﺎﻳﮕﺎهداده‬ ‫•‬
‫‪3‬‬
‫اﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ ﭘﺎﻳﮕﺎهداده‬ ‫•‬
‫‪4‬‬
‫ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن‬ ‫•‬
‫‪5‬‬
‫ﺗﻮﻟﻴﺪ ﻓﺎﻳﻠﻬﺎي ﺛﺒﺖ ﺗﺮاﻛﻨﺶ ﻫﺎ‬ ‫•‬

‫‪ 2-2-3‬ﻻﻳﻪ ﻫﺴﺘﻪ ﭘﺎﻳﮕﺎهداده‬


‫ﻻﻳﻪ ﻫﺴﺘﻪ در واﻗﻊ ﻻﻳﻪ اﺻﻠﻲ درﻳﺎﻓﺖ ﻛﻨﻨﺪه درﺧﻮاﺳﺖ ﻫﺎ و اﻧﺠﺎم ﻋﻤﻠﻴﺎت ﻣﺮﺗﺒﻂ ﺑﺎ‬
‫آن را ﺑﺮ ﻋﻬﺪه دارد‪ .‬ﻣﻬﻤﺘﺮﻳﻦ وﻇﺎﻳﻒ اﻳﻦ واﺣﺪ ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬
‫درﻳﺎﻓﺖ درﺧﻮاﺳﺖﻫﺎ و ﭘﻴﺶ ﻛﺎﻣﭙﺎﻳﻞ‬ ‫•‬
‫ﻛﺎﻣﭙﺎﻳﻞ درﺧﻮاﺳﺖﻫﺎ و ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮ‬ ‫•‬
‫ﻣﺪﻳﺮﻳﺖ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ و ﻓﻀﺎي دﻳﺴﻚ‬ ‫•‬
‫ﻣﺪﻳﺮﻳﺖ ﺑﺎﻓﺮ )ﺣﺎﻓﻈﻪ ﻧﻬﺎن(‬ ‫•‬
‫ﻣﺪﻳﺮﻳﺖ و ﻧﻈﺎرت ﺑﺮ زﻣﺎن اﺟﺮا دﺳﺘﻮرات‬ ‫•‬
‫ﻣﺪﻳﺮﻳﺖ ﻫﻤﺰﻣﺎﻧﻲ ﺗﺮاﻛﻨﺶﻫﺎ‬ ‫•‬
‫ﻣﺪﻳﺮﻳﺖ اﻧﺘﻘﺎل دادهﻫﺎ‬ ‫•‬
‫ﻣﺪﻳﺮﻳﺖ ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ‬ ‫•‬

‫‪ -4‬ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ و دﻳﻜﺸﻨﺮي دادهﻫﺎ )ﻣﺘﺎ دادهﻫﺎ(‬


‫ﻳﻜﻲ از وﻳﮋﮔﻲ ﻫﺎي ﻣﺸﻲ ﭘﺎﻳﮕﺎﻫﻲ اﻳﻦ اﺳﺖ ﻛﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻧﻪ ﺗﻨﻬﺎ ﺣﺎوي‬
‫ﭘﺎﻳﮕﺎه داده ﻫﺎ اﺳﺖ‪ ،‬ﺑﻠﻜﻪ ﺗﻌﺮﻳﻒ ﻛﺎﻣﻞ ﻳﺎ ﺗﻮﺻﻴﻒ ﭘﺎﻳﮕﺎه داده ﻫﺎ و ﻗﻮاﻋﺪ ﻧﺎﻇﺮ ﺑﻪ آﻧﺮا‬
‫ﻧﻴﺰ در ﺧﻮد دارد‪ .‬ﻛﺎﺗﺎﻟﻮگ ﺣﺎوي داده ﻫﺎﻳﻲ اﺳﺖ در ﻣﻮرد داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در‬
‫ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻛﺎرﺑﺮ‪ .‬در اداﻣﻪ ﻧﻜﺎﺗﻲ ﭼﻨﺪ در ﻣﻮرد ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ اراﺋﻪ ﻣﻲ ﮔﺮدد‪:‬‬

‫‪1. In t e gr a t i o n C o n t ro l‬‬
‫‪2. R e pa i r C o n t r o l‬‬
‫‪3. D at a b a s e P r o t e c ti o n‬‬
‫‪4. B ac ku p G e n e r a t i o n‬‬
‫‪5. T ra n s a c t i o n R e c o rd‬‬
‫‪www.PDFgozar.com‬‬

‫‪65‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫دادهﻫﺎي ﺣﺎوي اﻃﻼﻋﺎت در ﻣﻮرد دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎهداده‪ ،‬ﺑﻪ ﻣﺘﺎ‬ ‫•‬
‫دادهﻫﺎ ﻣﻮﺳﻮﻣﻨﺪ‪.‬‬
‫در ﺑﻌﻀﻲ از ﻛﺘﺎبﻫﺎ ﺑﻪ ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﮔﺎه دﻳﻜﺸﻨﺮي دادهﻫﺎ ﻫﻢ ﮔﻔﺘﻪ ﻣﻲﺷﻮد‪،‬‬ ‫•‬
‫اﻣﺎ در واﻗﻊ دﻳﻜﺸﻨﺮي دادهﻫﺎ ﺣﺎوي اﻃﻼﻋﺎت ﺑﻴﺸﺘﺮي اﺳﺖ‪.‬‬
‫ﻣﺘﺎ دادهﻫﺎ ﻣﻌﻤﻮﻻً از دﻳﺪ ﻛﺎرﺑﺮ ﺳﻄﺢ ﺧﺎرﺟﻲ ﻧﻬﺎناﻧﺪ‪ ،‬اﻣﺎ ﻣﺪﻳﺮ ﺳﻴﺴﺘﻢ و ﻳﺎ‬ ‫•‬
‫ﻛﺎرﺑﺮ ﻣﺠﺎز‪ ،‬ﻣﻲﺗﻮاﻧﺪ ﺗﺎ ﺣﺪي از ﻣﺤﺘﻮاي ﻛﺎﺗﺎﻟﻮگ آﮔﺎه ﺷﻮد‪.‬‬
‫ﺳﺎﺧﺘﺎر و ﻣﺤﺘﻮاي ﻛﺎﺗﺎﻟﻮگ و دﻳﮕﺸﻨﺮي دادهﻫﺎ در ﺳﻴﺴﺘﻢﻫﺎي ﻣﺨﺘﻠﻒ ﻳﻜﺴﺎن‬ ‫•‬
‫ﻧﻴﺴﺖ‪ .‬اﻣﺎ ﺑﻪ ﻃﻮر ﻛﻠﻲ‪ ،‬اﻃﻼﻋﺎت زﻳﺮ در آﻧﻬﺎ ذﺧﻴﺮه ﻣﻲﺷﻮد‪:‬‬

‫دﻳﻜﺸﻨﺮي داده ﻫﺎ ﻣﻌﻤﻮﻻً ﺟﺰﻳﻲ از ﺧﻮد ﺳﻴﺴﺘﻢ اﺳﺖ و اﻃﻼﻋﺎت زﻳﺮ در آﻧﻬﺎ‬
‫ﻧﮕﻬﺪاري ﻣﻲ ﺷﻮد‪:‬‬
‫ﺷﻤﺎﻫﺎي ﺧﺎرﺟﻲ‬ ‫•‬
‫ﺷﻤﺎي ادراﻛﻲ‬ ‫•‬
‫ﺷﻤﺎي داﺧﻠﻲ‬ ‫•‬
‫روﻳﻪﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺗﺒﺪﻳﻼت ﺑﻴﻦ ﺳﻪ ﺳﻄﺢ ﻣﻌﻤﺎري‬ ‫•‬
‫ﺷﺮح ﺳﺎﺧﺘﺎر ﻓﻴﺰﻳﻜﻲ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‬ ‫•‬
‫ﻣﺸﺨﺼﺎت ﻛﺎرﺑﺮان و ﺣﻘﻮق دﺳﺘﻴﺎﺑﻲ آﻧﻬﺎ ﺑﻪ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‬ ‫•‬
‫ﻣﺸﺨﺼﺎت ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﺗﻮﻟﻴﺪ ﺷﺪه و ارﺗﺒﺎط آﻧﻬﺎ ﺑﺎ درﺧﻮاﺳﺖ ﻛﺎرﺑﺮان‬ ‫•‬
‫ﻣﺸﺨﺼﺎت ﭘﺎﻳﺎﻧﻪﻫﺎي ﻣﺘﺼﻞ ﺑﻪ ﺳﻴﺴﺘﻢ و ﻳﺎ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺸﺘﺮي و اﻳﺴﺘﮕﺎﻫﻬﺎي‬ ‫•‬
‫ﻛﺎري‬
‫ارﺗﺒﺎط ﺑﻴﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي و دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‬ ‫•‬
‫ﻗﻮاﻋﺪ ﻣﺮﺑﻮط ﺑﻪ ﻛﻨﺘﺮل ﺻﺤﺖ و دﻗﺖ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﺿﻮاﺑﻂ ﻛﻨﺘﺮلاﻳﻤﻨﻲ دادهﻫﺎ‬ ‫•‬
‫ﻣﺸﺨﺼﺎت ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري ﺳﻴﺴﺘﻢ و رﺳﺎﻧﻪﻫﺎي ذﺧﻴﺮه ﺳﺎزي‬ ‫•‬
‫اﻃﻼﻋﺎت ﻣﺘﻨﻮع آﻣﺎري در ﻣﻮرد ﭘﺎﻳﮕﺎهدادهﻫﺎ‪ ،‬ﻋﻤﻠﻴﺎت ﻛﺎرﺑﺮان‪ ،‬ﻓﺮﻛﺎﻧﺲ اﺟﺮاي‬ ‫•‬
‫ﺗﺮاﻛﻨﺸﻬﺎ و ﺗﻌﺪاد دﺳﺘﻴﺎﺑﻲ ﺑﻪ اﺷﻴﺎء ذﺧﻴﺮه ﺷﺪه‬
‫ﺗﻮاﺑﻊ ﺗﻌﺮﻳﻒ ﺷﺪه ﺗﻮﺳﻂ ﻛﺎرﺑﺮان‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪66‬‬

‫ﺷﻜﻞ ‪ 3-4‬ﺷﻤﺎي ﻛﻠﻲ ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫‪DBMS‬‬ ‫‪ -5‬ﭘﺎراﻣﺘﺮﻫﺎي ﺷﻨﺎﺧﺖ‬


‫اﻣﺮوز ﻣﺮﺗﺒﺎ ﺷﺎﻫﺪ ﻋﺮﺿﻪ ﺳﻴﺴﺘﻢ ﻫﺎي ﺑﺎ ﻧﺎﻣﻬﺎي ﮔﻮﻧﺎﮔﻮن ﺗﺤﺖ ﻋﻨﻮان ‪ DBMS‬ﺑﻪ ﺑﺎزار‬
‫ﻣﺼﺮف ﻫﺴﺘﻴﻢ‪ .‬ﻋﺪم اﻃﻼع ﻛﺎﻓﻲ ﺧﺮﻳﺪاران و اﺳﺘﻔﺎده ﻛﻨﻨﺪﮔﺎن ﭼﻨﻴﻦ ﺳﻴﺴﺘﻤﻲ از‬
‫ﭘﺎراﻣﺘﺮ ﻫﺎي اﻧﺘﺨﺎب ﺳﺒﺐ ﻣﻲﺷﻮد ﺗﺎ اوﻻ اﻧﺘﺨﺎب ﺳﻴﺴﺘﻢ ﻣﻨﺎﺳﺐ ﺑﺮاي ﻳﻚ ﻣﺤﻴﻂ‬
‫ﻋﻤﻠﻴﺎﺗﻲ )ﺳﺎزﻣﺎن( ﻣﺨﺼﻮﺻﺎ ﻣﺤﻴﻂ ﺑﺰرگ‪ ،‬ﮔﺎه ﺑﺮ اﺳﺎس ﻣﻼﺣﻈﺎت ﻏﻴﺮ ﻋﻠﻤﻲ‪-‬ﻓﻨﻲ‬
‫ﺻﻮرت ﭘﺬﻳﺮد و ﮔﺎه اﺳﺎﺳﺎً ﻧﻮﻋﻲ ﺳﺮدرﮔﻤﻲ در اﻧﺘﺨﺎب ﺑﺮوز ﻛﻨﺪ )اﻟﺒﺘﻪ در اﻧﺘﺨﺎب و‬
‫ﺧﺮﻳﺪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﻼﺣﻈﺎﺗﻲ ﺟﺰ ﻣﻼﺣﻈﺎت ﻣﺴﺘﻘﻴﻤﺎ ﻣﺮﺑﻮط ﺑﻪ ﺧﻮد ﺳﻴﺴﺘﻢ و‬
‫ﭘﺎﻳﮕﺎﻫﻲ ﻛﻪ ﻗﺮار اﺳﺖ ﺑﻪ ﻛﻤﻚ آن اﻳﺠﺎد ﺷﻮد‪ ،‬ﻧﻴﺰ ﻣﻲ ﺗﻮاﻧﺪ ﻣﻄﺮح ﺑﺎﺷﺪ(‪ .‬ﺛﺎﻧﻴﺎ‬
‫ﻧﺮم اﻓﺰار ﺧﺮﻳﺪاري ﺷﺪه ﻣﻨﻄﺒﻖ ﺑﺎ ﻧﻴﺎزﻫﺎي ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ و ﭘﺎﺳﺨﮕﻮي اﺣﺘﻴﺎﺟﺎت‬
‫اﻃﻼﻋﺎﺗﻲ ﻣﺤﻴﻂ ﻧﺒﺎﺷﺪ‪ .‬ﺛﺎﻟﺜﺎ از ﻧﺮم اﻓﺰار ﺑﻪ ﻫﺮ ﺣﺎل اﻧﺘﺨﺎب ﺷﺪه ﺑﻄﻮر ﺑﻬﻴﻨﻪ ﺑﻬﺮه‬
‫ﺑﺮداري ﻧﺸﻮد و ﮔﺎه ﭘﻴﺎﻣﺪﻫﺎي ﻧﺎﻣﻄﻠﻮﺑﻲ ﺑﺮوز ﻛﻨﺪ‪.‬‬
‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد اﻧﺘﺨﺎب ﺳﻴﺴﺘﻢ ﻣﻨﺎﺳﺐ‪ ،‬ﻣﺴﺌﻠﻪ اﺳﺎﺳﻲ ﻫﺮ ﺳﺎزﻣﺎن اﺳﺖ‪.‬‬
‫اﻳﻦ ﻣﺴﺌﻠﻪ ﻣﺨﺼﻮﺻﺎ در ﺷﺮاﻳﻄﻲ ﻛﻪ ﺗﺤﻮﻻت ﺗﻜﻨﻮﻟﻮژﻳﻚ در ﻧﺮماﻓﺰار و ﺳﺨﺖاﻓﺰار‬
‫ﭼﻨﺎن ﺷﺘﺎﺑﻨﺪه اﺳﺖ ﻛﻪ ﻫﺮ روز ﺗﻮﻟﻴﺪات ﻧﺮماﻓﺰاري و ﺳﺨﺖاﻓﺰاري ﺟﺪﻳﺪي ﺑﻪ ﺑﺎزار‬
‫‪www.PDFgozar.com‬‬

‫‪67‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫ﻣﺼﺮف ﻋﺮﺿﻪ ﻣﻲﺷﻮﻧﺪ‪ ،‬ﺑﺎﻻﺧﺺ ﺑﺮاي ﻣﺤﻴﻂﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ ﺑﺰرگ‪ ،‬ﺑﺴﻴﺎر اﺳﺘﺮاﺗﮋﻳﻚ‬
‫ﻣﻲﻧﻤﺎﻳﺪ‪ .‬ﺳﺎزﻣﺎﻧﻬﺎﻳﻲ ﻛﻪ ﺑﺎ ﻣﺸﻜﻞ ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﻣﻴﺎن ﻣﺪت و دراز ﻣﺪت ﻣﻮاﺟﻪاﻧﺪ‪ ،‬اﮔﺮ در‬
‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي ﺑﺮاي اﻧﺘﺨﺎب اﻳﻦ ﺗﻜﻨﻮﻟﻮژي ﺑﺎ ﺗﺨﺼﺺ واﻓﻲ و ﻣﻄﺎﻟﻌﻪ ﻫﻤﻪ ﺟﺎﻧﺒﻪ و ﻧﻬﺎﻳﺘﺎ‬
‫ﺑﺎ ﺷﻨﺎﺧﺖ ﻛﺎﻓﻲ اﻗﺪام ﻧﻜﻨﻨﺪ‪ ،‬ﻧﻪ ﺗﻨﻬﺎ ﺑﻪ اﻫﺪاف ﺗﻌﺮﻳﻒ ﺷﺪه در ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﻧﺎﻳﻞ ﻧﺨﻮاﻫﺪ‬
‫ﺷﺪ ﺑﻠﻜﻪ ﭼﻪ ﺑﺴﺎ راه ﺑﻪ ﺑﻴﺮاﻫﻪ ﺧﻮاﻫﺪ ﺑﺮد و ﺑﺎ ﻣﺸﻜﻼت ﻋﺪﻳﺪهاي ﻣﻮاﺟﻪ ﺧﻮاﻫﻨﺪ ﺷﺪ ﻛﻪ‬
‫رﻓﻊ آﻧﻬﺎ ﺑﻪ آﺳﺎﻧﻲ اﻣﻜﺎن ﭘﺬﻳﺮ ﻧﺨﻮاﻫﺪ ﺷﺪ‪.‬‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺣﻞ ﺑﺴﻴﺎري از ﻣﺸﻜﻼت ﺗﻜﻨﻴﻜﻲ در اﻳﺠﺎد ﺳﻴﺴﺘﻢﻫﺎي ﺗﻮزﻳﻊ ﺷﺪه‬
‫و ﻳﺎ ﻓﻘﻂ ﻳﻚ ﭘﻴﻜﺮ ﺑﻨﺪي‬ ‫‪DBMS‬‬ ‫ﻧﺎﻫﻤﮕﻦ‪ ،‬اﻳﻨﻚ دﻳﮕﺮ ﻣﺴﺌﻠﻪ اﻧﺘﺨﺎب ﻓﻘﻂ ﻳﻚ‬
‫ﻧﺮماﻓﺰاري‪-‬ﺳﺨﺖاﻓﺰاري ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪان ﻣﻄﺮح ﻧﺒﺎﺷﺪ‪ .‬ﺑﺎ اﻳﻦﻫﻤﻪ اﻧﺘﺨﺎب اﺟﺰاء ﺗﺸﻜﻴﻞ‬
‫دﻫﻨﺪه ﭘﻴﻜﺮ ﺑﻨﺪي ﻳﻚ ﺳﻴﺴﺘﻢ ﻧﺎﻫﻤﮕﻦ ﺑﻪ ﻫﺮ ﺣﺎل ﻣﻄﺮح اﺳﺖ ﺗﺎ ﻳﻚ ﭘﻴﻜﺮ ﺑﻨﺪي ﺑﺎ‬
‫ﺑﻴﺸﺘﺮﻳﻦ ﻛﺎراﺋﻲ‪ ،‬ﻃﺮاﺣﻲ و ﺗﺎﻣﻴﻦ ﺷﻮد‪.‬‬
‫ﺑﻪ ﻣﻨﻈﻮر ﻛﺴﺐ ﺷﻨﺎﺧﺖ ﺗﺨﺼﺼﻲ ﺑﺎﻳﺪ ﭘﺎراﻣﺘﺮﻫﺎي زﻳﺎدي را در ﻧﻈﺮ ﮔﺮﻓﺖ ﻛﻪ‬
‫اﻳﻦ ﭘﺎراﻣﺘﺮﻫﺎ را ﺑﺼﻮرت ﻛﻠﻲ در ﭘﻨﺞ رده ﺑﻪ ﺷﺮح زﻳﺮ دﺳﺘﻪ ﺑﻨﺪي ﻣﻲﻛﻨﻴﻢ‪:‬‬
‫ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺗﻮاﻧﺎﻳﻲﻫﺎ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪﻫﺎي دﻳﮕﺮ‬ ‫•‬
‫ﻣﺸﺨﺼﺎت ﻛﻠﻲ ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن دادهاي ﻓﺮﻋﻲ )واﺳﻂ ﻛﺎر ﺑﺮﻧﺎﻣﻪ ﺳﺎز(‪.‬‬ ‫•‬

‫در اداﻣﻪ ﻫﺮ ﻳﻚ از دﺳﺘﻪ ﻫﺎي اﺻﻠﻲ را ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد‪:‬‬

‫‪ 1-5‬ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺗﻮاﻧﺎﻳﻲﻫﺎ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ‬


‫ﺗﻮان ﺳﻴﺴﺘﻢ در اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺮ اﺳﺎس ﻣﻌﻤﺎري ﭘﻴﺸﻨﻬﺎدي‬ ‫•‬
‫‪ ANSI‬ﻳﻌﻨﻲ ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ‪.‬‬
‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻛﺎرﺑﺮان ﻫﻤﺰﻣﺎن‪.‬‬ ‫•‬
‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﺮﻣﻴﻢ دادهﻫﺎ و ﻣﻜﺎﻧﻴﺴﻢﻫﺎي اﻧﺠﺎم اﻳﻦ ﻛﺎر‪.‬‬ ‫•‬
‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﺎﻣﻴﻦ ﻫﻤﺰﻣﺎﻧﻲ‪ ،‬ﻣﻜﺎﻧﻴﺴﻢ ﻗﻔﻞ ﮔﺬاري‪ ،‬اﻧﺪازه واﺣﺪ ﻗﻔﻞ ﭘﺬﻳﺮ‬ ‫•‬
‫و وﺟﻮد اﺳﺘﺮاﺗﮋي ﻛﺎرا در ﺣﻞ ﻣﺸﻜﻞ ﺑﻦ ﺑﺴﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪68‬‬

‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﺎﻣﻴﻦاﻳﻤﻨﻲ دادهﻫﺎ‬ ‫•‬


‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺣﻔﺎﻇﺖ دادهﻫﺎ وﺗﻀﻤﻴﻦ ﻣﺤﺮﻣﺎﻧﮕﻲ آﻧﻬﺎ‬ ‫•‬
‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ درﺗﺎﻣﻴﻦ رﺷﺪ ﭘﺎﻳﮕﺎهدادهﻫﺎ ودرﺟﻪ ﺳﻬﻮﻟﺖ اﻧﺠﺎم اﻳﻦ ﻛﺎر‪.‬‬ ‫•‬
‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﻀﻤﻴﻦ ﺟﺎﻣﻌﻴﺖ ﭘﺎﻳﮕﺎه‬ ‫•‬
‫ﺗﻌﺪاد زﺑﺎﻧﻬﺎي ﻣﻴﺰﺑﺎن ﻣﻮرد ﭘﺬﻳﺮش ﺳﻴﺴﺘﻢ‪.‬‬ ‫•‬
‫ﻣﻜﺎﻧﻴﺴﻢ ﻫﻤﺎﻫﻨﮕﻲ ﻋﻤﻠﻜﺮد ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﺧﺎص ﭘﺎﻳﮕﺎه‪.‬‬ ‫•‬
‫ﺷﺮاﻳﻂ ﺑﺮوز ﺗﻨﮕﻨﺎﻫﺎ در ﻋﻤﻠﻴﺎت ورودي ‪ /‬ﺧﺮوﺟﻲ و در ﻓﻌﺎﻟﻴﺖ واﺣﺪ ﭘﺮدازش‬ ‫•‬
‫ﻣﺮﻛﺰي و ﻣﻜﺎﻧﻴﺴﻢ رﻓﻊ آن‪.‬‬
‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در اﺷﺘﺮاﻛﻲ ﻛﺮدن دادهﻫﺎ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ در ﻣﺠﺎز ﺷﻤﺎري و ﺳﻄﺢ ﻳﺎﺳﻄﻮح اﺳﺘﻔﺎده از اﻳﻦ اﻣﻜﺎﻧﺎت )ﺑﺎ‬ ‫•‬
‫ﺗﻮﺟﻪ ﺑﻪ ﻣﻌﻤﺎري ﭼﻨﺪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎه(‪.‬‬
‫آﺳﺘﺎﻧﻪ ﭘﺎﻳﺪاري ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ )از ﻧﻈﺮ ﺗﻌﺪاد ﺗﺮاﻛﻨﺶﻫﺎي اﺟﺮا ﺷﻮﻧﺪه ﻣﺜﻼ در‬ ‫•‬
‫ﺛﺎﻧﻴﻪ و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺣﺠﻢ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎه(‪.‬‬
‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ درﭘﺮدازش ﭘﺮﺳﺸﻬﺎي ﻣﻮازي‪.‬‬ ‫•‬
‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﭘﺬﻳﺮش اﻧﻮاع ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي و ﭘﺮﺳﺸﻬﺎ‪.‬‬ ‫•‬
‫ﻧﺤﻮه ﭘﺮدازش زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺗﻮﺳﻂ ﺳﻴﺴﺘﻢ )ﻛﺎﻣﭙﺎﻳﻠﺮي‪ ،‬ﻣﻔﺴﺮي(‪.‬‬ ‫•‬
‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮﺳﺸﻬﺎ و ﻧﻮع ﺑﻬﻴﻨﻪ ﺳﺎزي )اﻋﻤﺎل اﻟﮕﻮرﻳﺘﻢﻫﺎي‬ ‫•‬
‫ﺑﻬﻴﻨﻪ در اﺟﺮاي ﭘﺮﺳﺸﻬﺎ( و زﻣﺎن اﻧﺠﺎم ﺑﻬﻴﻨﻪ ﺳﺎزي اﺳﺘﺮاﺗﮋي دﺳﺘﻴﺎﺑﻲ )در زﻣﺎن‬
‫ﻛﺎﻣﭙﺎﻳﻞ‪ ،‬در اوﻟﻴﻦ ﺑﺎر اﺟﺮاي ﭘﺮﺳﺶ‪ ،‬در ﻫﺮ ﺑﺎر ﻛﻪ ﭘﺮﺳﺶ اﺟﺮا ﻣﻲﺷﻮد(‪.‬‬
‫ﻣﺪﻟﻬﺎي ﺗﺮاﻛﻨﺶ ﻛﻪ ﻣﻲﭘﺬﻳﺮد )ﺑﻮﻳﮋه ﻣﺪﻟﻬﺎي ﭘﻴﺸﺮﻓﺘﻪ(‪.‬‬ ‫•‬
‫ﻗﺎﺑﻠﻴﺖ ﮔﺴﺘﺮش ﭘﺬﻳﺮي و ارﺗﻘﺎء ﺳﻴﺴﺘﻢ‪.‬‬ ‫•‬
‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﻣﺤﻴﻂ ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎه و درﺟﻪ ﭘﻮﻳﺎﻳﻲ و‬ ‫•‬
‫ﺧﻮدﻛﺎر ﺑﻮدن اﻳﻦ ﻛﺎر‪.‬‬
‫اﻳﺠﺎد ﺳﻴﺴﺘﻢ در ﺧﺪﻣﺖ رﺳﺎﻧﻲ در ﻣﺤﻴﻂ ﺷﺒﻜﻪاي‪.‬‬ ‫•‬
‫ﻧﻮع ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻛﻪ ﺳﻴﺴﺘﻢ ﻣﻲﺗﻮاﻧﺪ آن را ﺗﺎﻣﻴﻦ ﻛﻨﺪ‪.‬‬ ‫•‬
‫ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎي ﻣﺘﻌﺎرف دﻳﮕﺮ )ﺑﺎ ﻣﺪل دادهاي و زﺑﺎن‬ ‫•‬
‫دادهاي ﻳﻜﺴﺎن ﻳﺎ ﻣﺘﻔﺎوت( و ﻣﻜﺎﻧﻴﺴﻢ ارﺗﺒﺎط ﺑﺎ آﻧﻬﺎ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪69‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﮔﻮﻧﻪﻫﺎي ﻏﻴﺮ ﻣﺘﻌﺎرف ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ و‬ ‫•‬
‫ﻣﻜﺎﻧﻴﺴﻢ و ﻣﻠﺰوﻣﺎت ﻫﻤﺎﻳﻨﺪي ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎ‪.‬‬
‫ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داﻧﺶ و ﻣﻜﺎﻧﻴﺴﻢ ﻫﻤﺎﻳﻨﺪي‪.‬‬ ‫•‬
‫ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺷﻴﺊﮔﺮا و ﻣﻜﺎﻧﻴﺴﻢ‬ ‫•‬
‫ﻫﻤﺎﻳﻨﺪي‪.‬‬
‫ﻣﻴﺰان ﺗﻐﻴﻴﺮ ﻛﺎرآﻳﻲ ﺳﻴﺴﺘﻢ از ﻣﺎﺷﻴﻦ ﻛﻼﺳﻴﻚ ﺗﺎ ﻣﺎﺷﻴﻦ ﺧﺎص ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي زﻣﺎﻧﺒﻨﺪ‪.‬‬ ‫•‬
‫زﺑﺎﻧﻲ ﻛﻪ ﺳﻴﺴﺘﻢ ﺑﺎ آن ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ‪.‬‬ ‫•‬
‫ﻣﻴﺰان رﻋﺎﻳﺖ اﺻﻮل ﻧﻮﻳﻦ ﻣﻬﻨﺪﺳﻲ ﻧﺮماﻓﺰار در ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﺳﻴﺴﺘﻢ‪.‬‬ ‫•‬
‫ﻣﻴﺰان رﻋﺎﻳﺖ اﺻﻮل ﺷﻴﺊ ﮔﺮاﻳﻲ در ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ‪.‬‬ ‫•‬
‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهﻫﺎي ﺑﺰرگ و ﺧﻴﻠﻲ ﺑﺰرگ )از ﻧﻈﺮ‬ ‫•‬
‫ﺣﺠﻢ دادهﻫﺎ و ﺗﻌﺪاد ﺗﺮاﻛﻨﺸﻬﺎ(‪.‬‬
‫ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻧﻬﺎن ﻧﮕﺎري دادهﻫﺎ‬ ‫•‬
‫ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﭘﺸﺘﻴﺒﺎﻧﻲ اﻧﻮاع ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬ ‫•‬
‫ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻛﻨﺘﺮل اﺷﺘﺒﺎﻫﺎت ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‪.‬‬ ‫•‬
‫" وب"‬ ‫ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻋﻤﻠﻴﺎت در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎي وب و ﻳﺎ ادﻏﺎم در‬ ‫•‬
‫ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻋﻤﻠﻴﺎت در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﻣﻮﺑﺎﻳﻞ‬ ‫•‬
‫ﻗﺎﺑﻠﻴﺖ ﺟﺎﺑﺠﺎﻳﻲ ﭘﺬﻳﺮي ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﻣﺘﻮﺳﻂ زﻣﺎن ﺑﻴﻦ دو ﺧﺮاﺑﻲ ﭘﻲ در ﭘﻲ ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﻣﻴﺰان ﻛﺎر ﻻزم ﺑﺮاي ﭘﻴﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ‬ ‫•‬
‫اﺳﺘﺎﻧﺪاردﻫﺎي ﺑﻜﺎر رﻓﺘﻪ در ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﻣﻮرد ﻧﻴﺎز‬ ‫•‬
‫ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﭘﺮدازش ﭘﻴﺎمﻫﺎ‪.‬‬ ‫•‬
‫ﺗﺠﻬﻴﺰات ﻻزم ﺑﺮاي ﺳﻴﺴﺘﻢ از ﺟﻤﻠﻪ‪:‬‬ ‫•‬
‫ﻧﻮع ﺳﺨﺖاﻓﺰار‬ ‫•‬
‫ﺣﺪاﻗﻞ ﺣﺎﻓﻈﻪ ﻻزم‬ ‫•‬
‫ﺣﺪاﻗﻞ ﻓﻀﺎي دﻳﺴﻚ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪70‬‬

‫ﻧﻮع و ﺗﻌﺪاد ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬ ‫•‬


‫ﺗﻌﺪد و ﺗﻨﻮع رﺳﺎﻧﻪﻫﺎي ﺟﺎﻧﺒﻲ‬ ‫•‬

‫‪ 2-5‬ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪﻫﺎي دﻳﮕﺮ‬


‫اﻳﻦ ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪ ﻫﺎ ﻣﻲﺗﻮاﻧﻨﺪ ﻫﻤﺮاه ﺧﻮد ﺳﻴﺴﺘﻢ و ﻳﺎ ﺑﻪ ﻧﺤﻮي ﻗﺎﺑﻞ ﺗﺎﻣﻴﻦ و‬
‫اﺳﺘﻔﺎده در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﺑﺎﺷﻨﺪ )ﺑﻪ ﺻﻮرت ﻧﺮم اﻓﺰار ﺟﺪاﮔﺎﻧﻪ ﺑﻪ ﻛﺎرﺑﺮان ﺳﻴﺴﺘﻢ‬
‫ﻋﺮﺿﻪ ﺷﻮﻧﺪ(‪ .‬ﻫﺮ ﭼﻪ ﺳﻴﺴﺘﻢ از ﻧﻈﺮ ﭘﺬﻳﺮش اﻧﻮاع ﺗﺴﻬﻴﻼت و ﺳﺎزﮔﺎري و ﻫﻤﺎﻳﻨﺪي‬
‫ﺑﺎ آﻧﻬﺎ ﻏﻨﻲ ﺗﺮ ﺑﺎﺷﺪ‪ ،‬ﻣﻄﻠﻮﺑﺘﺮ اﺳﺖ و ﺑﻬﺮه ﺑﺮداري ﺑﻬﺘﺮي از ﺳﻴﺴﺘﻢ اﻣﻜﺎن ﭘﺬﻳﺮ‬
‫ﺧﻮاﻫﺪ ﺑﻮد‪ .‬ﺑﺮﺧﻲ از اﻳﻦ ﺗﺴﻬﻴﻼت )اﺑﺰارﻫﺎ( ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫اﻣﻜﺎﻧﺎت ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻣﺜﺎل و ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻓﺮم‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺑﺮرﺳﻲﻫﺎ و ﺗﺤﻠﻴﻞﻫﺎي آﻣﺎري‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﮔﺮاﻓﻴﻜﻲ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﻧﮕﻬﺪاري ﺳﻴﺴﺘﻢ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺑﻬﻴﻨﻪ ﺳﺎزي ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﻳﺎدﮔﻴﺮي ﻃﺮز ﻛﺎر ﺑﺎ ﺳﻴﺴﺘﻢ و ﺑﻬﺮه ﺑﺮداري آن‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﻛﺎر در ﻣﺤﻴﻂ وب‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺖ ﭘﻮﻳﺎي ﭘﺮﺳﺸﻬﺎ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻴﺎت ﻛﺎرﺑﺮان در ﭘﺎﻳﮕﺎه‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺘﻲ ﺑﺮاي ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫‪XML‬‬ ‫اﻣﻜﺎﻧﺎت ﭘﺸﺘﻴﺒﺎﻧﻲ از‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﭘﺮدازش ﺗﺤﻠﻴﻠﻲ ﺑﺮ ﺧﻂ‬ ‫•‬
‫ﻣﻮﻟﺪ ﮔﺰارش‬ ‫•‬
‫اﻧﻮاع وﻳﺮاﻳﺸﮕﺮﻫﺎ‬ ‫•‬
‫اﺑﺰارﻫﺎياﻳﺠﺎد ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي و واﺳﻄﻪﻫﺎي ﻛﺎرﺑﺮدي‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ ﮔﺮوﻫﻬﺎي ﻛﺎرﺑﺮدي و ﺗﻌﻴﻴﻦ اﻣﺘﻴﺎزات ﻫﺮ ﮔﺮوه )در اﻧﺠﺎم‬ ‫•‬
‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهدادهﻫﺎ(‬
‫‪www.PDFgozar.com‬‬

‫‪71‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫اﻣﻜﺎﻧﺎت دﺳﺘﻴﺎﺑﻲ ﺑﻪ دادهﻫﺎي دوردﺳﺖ‬ ‫•‬


‫اﻣﻜﺎﻧﺎت ﺗﻮﻟﻴﺪ ﺧﺮوﺟﻲﻫﺎي ﻛﺎرﺑﺮﭘﺴﻨﺪ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺗﻨﻈﻴﻢ ﻛﺮدن ﭘﺎﻳﮕﺎه‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺗﻨﻈﻴﻢ ﻛﺮدن ﺧﻮد ﺳﻴﺴﺘﻢ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺑﺎرﮔﺬاري )ﮔﺎه ﻣﻮﺳﻮم ﺑﻪ ﻋﻤﻞ ورود دادهﻫﺎ(‪ ،‬ﺑﺎزﺑﺎرﮔﺬاري‪ ،‬ﺧﺎﻟﻲ‬ ‫•‬
‫ﻛﺮدن )ﮔﺎه ﻣﻮﺳﻮم ﺑﻪ ﻋﻤﻞ ﺻﺪور دادهﻫﺎ( ﭘﺎﻳﮕﺎهدادهﻫﺎ‬
‫ﺑﻪ ﺳﺎﺧﺘﺎر‬ ‫‪ANSI‬‬ ‫اﻣﻜﺎﻧﺎت ﺗﺒﺪﻳﻞ ﻳﻚ ﺳﺎﺧﺘﺎر داده از ﺳﻄﺢ ﺧﺎرﺟﻲ ﻣﻌﻤﺎري‬ ‫•‬
‫داده دﻳﮕﺮ از ﺳﻄﺢ ادراﻛﻲ ﻫﻤﺎن ﻣﻌﻤﺎري‬
‫اﻣﻜﺎﻧﺎت ﻓﻌﺎل و ﻏﻴﺮﻓﻌﺎل ﻛﺮدن ﭘﺎﻳﮕﺎه‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺗﻬﻴﻪ آﻣﺎرﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي )درج‪ ،‬ﺣﺬف‪ ،‬ﺑﻬﻨﮕﺎم‬ ‫•‬
‫ﺳﺎزي(‬
‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﺑﺮاي ﻣﺪﻟﺴﺎزي دادهﻫﺎ و ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ و ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎه‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﺑﺮاي ﮔﺸﺖ زﻧﻲ )ﮔﺬارﮔﺮي( در ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت اﺳﺘﻔﺎده از زﺑﺎﻧﻬﺎي ﺳﻄﺢ ﺑﺎﻻ )ﻧﻪ ﺑﻪ ﻋﻨﻮان زﺑﺎن ﻣﻴﺰﺑﺎن( و ﻣﻜﺎﻧﻴﺴﻢ‬ ‫•‬
‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺳﻴﺴﺘﻢ از ﻃﺮﻳﻖ آﻧﻬﺎ‬
‫اﻣﻜﺎناﻳﺠﺎد ﻣﺪوﻟﻬﺎي اﺟﺮاﻳﻲ ﺑﺮاي ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﺑﻪ‬ ‫•‬
‫ﻧﺤﻮي ﻛﻪ ﺧﺎرج از ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﻗﺎﺑﻞ اﺟﺮا ﺑﺎﺷﻨﺪ‬
‫اﻣﻜﺎن اﺳﺘﻔﺎده از ﻳﻚ ﺳﻴﺴﺘﻢ ﺧﺒﺮه در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﻣﻮﻟﺪ ﻓﺮم‬ ‫•‬
‫ﻣﻮﻟﺪ ﻣﻨﻮ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺷﺒﻜﻪاي‬ ‫•‬
‫‪4GL‬‬ ‫واﺳﻂ‬ ‫•‬
‫اﺑﺰارﻫﺎي ﺗﻮﻟﻴﺪ ﻣﺴﺘﻨﺪات )در ﻣﺮاﺣﻞ ﻣﺨﺘﻠﻒ ﺗﻮﻟﻴﺪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي(‬ ‫•‬

‫آﻧﭽﻪ ﺑﺮ ﺷﻤﺮده ﺷﺪ‪ ،‬ﻓﻬﺮﺳﺘﻲ اﺳﺖ از ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪ ﻫﺎ‪ ،‬و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﭘﻴﺸﺮﻓﺖ‬
‫ﻣﻬﻨﺪﺳﻲ ﻧﺮم اﻓﺰار‪ ،‬اﻣﻜﺎﻧﺎت دﻳﮕﺮي ﻧﻴﺰ ﻣﻲ ﺗﻮاﻧﻨﺪ ﻣﻄﺮح ﺑﺎﺷﻨﺪ‪ .‬ﺑﻪ وﻳﮋه ﻛﻪ ﻫﺮ روز‬
‫اﻧﻮاع ﮔﻮﻧﺎﮔﻮﻧﻲ از اﻳﻦ ﻗﺒﻴﻞ اﺑﺰارﻫﺎ و ﺗﺴﻬﻴﻼت ﺗﻮﻟﻴﺪ و ﺑﻪ ﺑﺎزار ﻣﺼﺮف ﻋﺮﺿﻪ‬
‫ﻣﻲ ﺷﻮﻧﺪ‪ .‬ﺳﻴﺴﺘﻢ ﻧﻪ ﺗﻨﻬﺎ ﺑﺎﻳﺪ ﺑﺘﻮاﻧﺪ ﺑﺎ اﻳﻦ اﻣﻜﺎﻧﺎت ﺗﻤﺎس ﺑﺮﻗﺮار ﻛﻨﺪ ﺑﻠﻜﻪ ﺑﺎﻳﺪ ﺑﻪ‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪72‬‬

‫ﺳﻬﻮﻟﺖ ﺑﺎ آﻧﻬﺎ ﻫﻤﺎﻳﻨﺪي داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫‪ 3-5‬ﻣﺸﺨﺼﺎت ﻛﻠﻲ ﺳﻴﺴﺘﻢ‬


‫ﻧﺎم ﻧﺮماﻓﺰار‬ ‫•‬
‫ﻋﻨﻮان ﺷﺮﻛﺖ ﺳﺎزﻧﺪه و ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه‬ ‫•‬
‫ﺷﻤﺎره وﻳﺮاﺳﺖ )ﻧﮕﺎرش( ﻣﻮرد ﺑﺮرﺳﻲ‪-‬ﺷﻤﺎره آﺧﺮﻳﻦ وﻳﺮاﺳﺖ‬ ‫•‬
‫ﺗﺎرﻳﺦ ﻋﺮﺿﻪ )اوﻟﻴﻦ ﻧﮕﺎرش و آﺧﺮﻳﻦ ﻧﮕﺎرش(‬ ‫•‬
‫ﻗﻴﻤﺖ‬ ‫•‬
‫ﻧﺎم ﻛﺸﻮر ﺳﺎزﻧﺪه و ﻓﺮوﺷﻨﺪه‬ ‫•‬
‫ﺷﺮاﻳﻂ ﻛﻠﻲ ﺗﺤﻮﻳﻞ‬ ‫•‬
‫ﺧﺪﻣﺎت ﺑﻌﺪ از ﺗﺤﻮﻳﻞ‬ ‫•‬
‫ﻛﻤﻴﺖ و ﻛﻴﻔﻴﺖ آﻣﻮزش‬ ‫•‬
‫ﻣﺴﺘﻨﺪات‬ ‫•‬
‫ﺗﻌﺪاد ﻣﺸﺘﺮيﻫﺎ و ﻣﺎﻫﻴﺖ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ و ﭘﺮدازﺷﻲ آﻧﺎن‬ ‫•‬
‫ﺿﻤﺎﻧﺖ )ﻫﺎي(ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه در ﮔﺴﺘﺮش ﻳﺎ ارﺗﻘﺎء ﺳﻴﺴﺘﻢ‬ ‫•‬
‫در دﺳﺘﺮس ﺑﻮدن ﻓﺮوﺷﻨﺪه )ﻫﺮﮔﺎه ﻛﻪ ﻻزم ﺑﺎﺷﺪ(‬ ‫•‬
‫وﺟﻮد ﺗﻴﻢ ﻓﻨﻲ ﭘﺸﺘﻴﺒﺎﻧﻲ ﺳﻴﺴﺘﻢ‪ ،‬در ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه‬ ‫•‬

‫‪ 4-5‬ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ‬


‫از آﻧﺠﺎﺋﻴﻜﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه دادهﻫﺎ در ﺳﻪ ﺳﻄﺢ داﺧﻠﻲ‪ ،‬ادراﻛﻲ و ﺧﺎرﺟﻲ در ﻧﻈﺮ‬
‫ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد‪ ،‬ﻟﺬا ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري را ﻧﻴﺰ در اﻳﻦ ﺳﻪ ﺳﻄﺢ ﺑﺮرﺳﻲ‬
‫ﻣﻲ ﻛﻨﻴﻢ‪:‬‬

‫‪ 1-4-5‬ﺳﻄﺢ داﺧﻠﻲ‪ -‬ﻓﻴﺰﻳﻜﻲ‬


‫ﻧﻮع داده‬ ‫•‬
‫ﻧﺎم ﻓﻴﻠﺪ‬ ‫•‬
‫ﻃﻮل داده )ﺣﺪاﻛﺜﺮ ﻃﻮل ﭘﻴﺶ ﻧﻬﺎده(‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫‪73‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد رﻛﻮرد‬ ‫•‬


‫ﺣﺪاﻛﺜﺮ ﻃﻮل ﻫﺮ رﻛﻮرد‬ ‫•‬
‫ﺛﺎﺑﺖ ﻳﺎ ﻣﺘﻐﻴﺮ ﺑﻮدن ﻃﻮل رﻛﻮرد‬ ‫•‬
‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻓﻴﻠﺪ در ﻫﺮ ﻧﻮع‬ ‫•‬
‫ﺣﺪاﻛﺜﺮ ﻃﻮل ﻫﺮ ﻓﻴﻠﺪ‬ ‫•‬
‫ﺛﺎﺑﺖ ﻳﺎ ﻣﺘﻐﻴﺮ ﺑﻮدن ﻃﻮل ﻓﻴﻠﺪ‬ ‫•‬
‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻓﺎﻳﻞﻫﺎي ﺑﺎز در ﻳﻚ زﻣﺎن‬ ‫•‬
‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﺗﺮاﻛﻨﺶﻫﺎي ﻋﻤﻞ ﻛﻨﻨﺪه در ﻣﺤﻴﻂ داﺧﻠﻲ‪-‬ﻓﻴﺰﻳﻜﻲ‬ ‫•‬
‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﺷﺎﺧﺺﻫﺎ و ﺳﺎﺧﺘﺎر دروﻧﻲ ﻫﺮ ﺷﺎﺧﺺ و درﺟﻪ ﭘﻮﻳﺎﻳﻲ آن‬ ‫•‬
‫اﻧﺪازه ﺷﺎﺧﺺ‬ ‫•‬
‫ﻫﺰﻳﻨﻪاﻳﺠﺎد ﺷﺎﺧﺺ‬ ‫•‬
‫ﺳﺎﺧﺘﺎر ﻓﺎﻳﻠﻬﺎي ﻣﻮﺟﻮد‬ ‫•‬
‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻛﻠﻴﺪﻫﺎ‬ ‫•‬
‫ﺣﺪاﻛﺜﺮ ﻃﻮل ﻛﻠﻴﺪ‬ ‫•‬
‫ﻧﻮع ﻛﻠﻴﺪ‬ ‫•‬
‫ﻧﺤﻮه اﻧﺠﺎم ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي در ﻣﺤﻴﻂ داﺧﻠﻲ‪-‬ﻓﻴﺰﻳﻜﻲ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ‬ ‫•‬
‫در ﻫﺮ ﻋﻤﻞ‬
‫ﻧﺤﻮه ﺟﺎﻳﮕﻴﺮي ﻓﺎﻳﻠﻬﺎ روي رﺳﺎﻧﻪ ﺧﺎرﺟﻲ‬ ‫•‬
‫ﻧﺤﻮه ﭘﻴﺎده ﺳﺎزي " ﻫﻴﭽﻤﻘﺪار " در اﻳﻦ ﺳﻄﺢ و ﻣﻴﺰان ﺣﺎﻓﻈﻪ ﻣﺼﺮﻓﻲ ﺑﺮاي آن‬ ‫•‬
‫ﭼﮕﻮﻧﮕﻲ ﺗﻨﺎﻇﺮ )ﻧﮕﺎﺷﺖ( ﺑﻴﻦ ﻓﺎﻳﻠﻬﺎ و ﺳﺎﺧﺖﻫﺎي ﺳﻄﺢ ادراﻛﻲ‬ ‫•‬
‫ﭼﮕﻮﻧﮕﻲ ﺧﻮﺷﻪ واري و ﻣﻮﺿﻌﻲ ﺑﻮدن ﻓﺎﻳﻠﻬﺎ و رﻛﻮردﻫﺎ‬ ‫•‬
‫ﭼﮕﻮﻧﮕﻲ ﻓﺸﺮده ﺳﺎزي دادهﻫﺎ و ﻧﺴﺒﺖ ﻓﺸﺮده ﺳﺎزي‬ ‫•‬
‫ﻓﺸﺮده ﺳﺎزي ﺷﺎﺧﺺﻫﺎ و ﻧﺴﺒﺖ ﻓﺸﺮده ﺳﺎزي‬ ‫•‬
‫اﻧﺪازه و ﺗﻌﺪاد ﺑﺎﻓﺮ ﻣﻮرد ﻧﻴﺎز‬ ‫•‬
‫اﻧﺪازه ﺑﻼك‬ ‫•‬
‫اﻧﺪازه ﺻﻔﺤﻪ)ﺛﺎﺑﺖ ﻳﺎ ﻣﺘﻐﻴﺮ(‬ ‫•‬
‫وﺟﻮد زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺑﺮاي ﺳﻄﺢ داﺧﻠﻲ و اﻣﻜﺎﻧﺎت آن‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪74‬‬

‫ﻣﻴﺰان دﺧﺎﻟﺖ ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ دراﻳﺠﺎد ﺳﻄﺢ داﺧﻠﻲ‪-‬ﻓﻴﺰﻳﻜﻲ و ﻛﻨﺘﺮل آن‬ ‫•‬

‫‪ 2-4-5‬ﺳﻄﺢ ادراﻛﻲ‬
‫وﺟﻮد ﺳﻄﺢ ادراﻛﻲ‬ ‫•‬
‫درﺟﻪ اﻧﺘﺰاع ﺳﻄﺢ ادراﻛﻲ )ﻛﻪ ﻣﺴﺘﻘﻴﻤﺎ ﺑﻪ ﻣﺪل دادهاي ﺑﺴﺘﮕﻲ دارد(‬ ‫•‬
‫وﺟﻮد زﺑﺎن دادهاي ﻓﺮﻋﻲ در ﺳﻄﺢ ادراﻛﻲ و اﻣﻜﺎﻧﺎت آن‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ ﻗﻮاﻋﺪ )ﻣﺤﺪودﻳﺘﻬﺎي( ﺟﺎﻣﻌﻴﺖ )ﺑﻪ ﻋﻨﻮان ﺑﺨﺸﻲ از ﻣﺪل‬ ‫•‬
‫دادهاي(در ﺑﻴﺮون از ﺑﺮﻧﺎﻣﻪﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ )ﺑﺎ اﺣﻜﺎم ﺗﻌﺮﻳﻒ دادهﻫﺎ(‬
‫اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ اﻧﻮاع ﻛﻠﻴﺪ )ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‪ ،‬ﻛﻠﻴﺪ اﺻﻠﻲ‪ ،‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ‪ ،‬ﻛﻠﻴﺪ‬ ‫•‬
‫دﻳﮕﺮو‪(...‬‬
‫ﻣﻴﺰان ﺗﺎﻣﻴﻦ اﺳﺘﻘﻼل دادهاي ﻓﻴﺰﻳﻜﻲ‬ ‫•‬
‫ﻣﻴﺰان دﻳﻨﺎﻣﻴﺴﻢ رﺷﺪ ﭘﺎﻳﮕﺎه در ﺳﻄﺢ ادراﻛﻲ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﭘﺎﻳﮕﺎه در ﺳﻄﺢ ادراﻛﻲ )ﺗﻐﻴﻴﺮ در ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ و‬ ‫•‬
‫در ﭘﻲ آن ﺗﻐﻴﻴﺮ ﺷﻤﺎ(‬
‫ﭼﮕﻮﻧﮕﻲ ﻣﻜﺎﻧﻴﺴﻢ ﻧﮕﺎﺷﺖ ﺳﻄﺢ ادراﻛﻲ ﺑﻪ داﺧﻠﻲ و ﺟﻨﺒﻪﻫﺎي ﻧﮕﺎﺷﺖ )ﻧﺎم‬ ‫•‬
‫داده‪ ،‬ﻧﻮع داده‪ ،‬ﻃﻮل داده‪ ،‬ﻛﺪ ﻧﻤﺎﻳﺶ داده‪ ،‬واﺣﺪ داده و‪(...‬‬
‫ﭘﻴﺎﻣﺪﻫﺎي ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﺳﻄﺢ ادراﻛﻲ در ﺳﻄﺢ داﺧﻠﻲ‪-‬ﻓﻴﺰﻳﻜﻲ‬ ‫•‬
‫ﻣﻴﺰان اﻓﺰوﻧﮕﻲ در ﺳﻄﺢ ادراﻛﻲ و ﻣﻜﺎﻧﻴﺴﻢ ﻛﻨﺘﺮل آن و ﻣﻴﺰان اﻧﻌﻜﺎس آن در‬ ‫•‬
‫ﺳﻄﺢ داﺧﻠﻲ‪ -‬ﻓﻴﺰﻳﻜﻲ‬
‫وﺟﻮد ﻣﻔﻬﻮم ﻣﻴﺪان و اﻣﻜﺎﻧﺎت ﻻزم ﺑﺮاي آن در ﺳﻄﺢ ادراﻛﻲ‬ ‫•‬
‫ﻧﺤﻮه ﺑﺮﺧﻮرد ﺑﺎ " ﻫﻴﭽﻤﻘﺪار " در ﺳﻄﺢ ادراﻛﻲ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ در ﻣﺠﺎزﺷﻤﺎري ﺑﻪ وﻳﮋه در اﻳﻦ ﺳﻄﺢ‬ ‫•‬

‫‪ 3-4-5‬ﺳﻄﺢ ﺧﺎرﺟﻲ‬
‫وﺟﻮد ﻣﻔﻬﻮم ﻫﻤﮕﺎﻧﻲ دﻳﺪ ﺧﺎرﺟﻲ‬ ‫•‬
‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد دﻳﺪﻫﺎي ﻫﺮ ﻛﺎرﺑﺮ و در ﻣﺠﻤﻮع‪ ،‬ﺗﻨﻮع دﻳﺪﻫﺎ از ﻧﻈﺮ ﻣﻜﺎﻧﻴﺴﻢ‬ ‫•‬
‫ﺗﻌﺮﻳﻒ آﻧﻬﺎ‬
‫‪www.PDFgozar.com‬‬

‫‪75‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫وﺟﻮد زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺧﺎرﺟﻲ و اﻣﻜﺎﻧﺎت آن )ﺑﺮاي ﺑﺎزﻳﺎﺑﻲ‪ ،‬ذﺧﻴﺮه ﺳﺎزﻳﻲ و‬ ‫•‬
‫ﻛﻨﺘﺮل(‬
‫درﺟﻪ اﻧﺘﺰاع ﺗﺎﻣﻴﻦ ﺷﺪه در اﻳﻦ ﺳﻄﺢ و ارﺗﻔﺎع اﻳﻦ اﻧﺘﺰاع‬ ‫•‬
‫ﻣﻴﺰان ﺗﺎﻣﻴﻦ اﺳﺘﻘﻼل دادهاي ﻣﻨﻄﻘﻲ‬ ‫•‬
‫ﭼﮕﻮﻧﮕﻲ ﻧﮕﺎﺷﺖ ﺳﻄﺢ ﺧﺎرﺟﻲ ﺑﻪ ادراﻛﻲ و ﻣﺤﻮرﻫﺎي اﻳﻦ ﻧﮕﺎﺷﺖ )ﺣﺪود‬ ‫•‬
‫آزادي ﻋﻤﻞ ﻛﺎرﺑﺮان در ﺗﻌﻴﻴﻦ ﺟﻨﺒﻪﻫﺎي داده(‬
‫ﻗﺪرت ﺳﻴﺴﺘﻢ در اﻧﺠﺎم ﻋﻤﻠﻴﺎت ﺑﻬﻨﮕﺎم ﺳﺎزي دﻳﺪﻫﺎ )ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﻪ ﻣﻌﻨﺎي‬ ‫•‬
‫ﻋﺎم ﻳﻌﻨﻲ درج‪ ،‬ﺣﺬف و ﺗﻐﻴﻴﺮ( و ﺗﻨﻮع دﻳﺪﻫﺎي ﭘﺬﻳﺮاي اﻳﻦ ﻋﻤﻠﻴﺎت‬
‫وﺟﻮد ﻛﻠﻴﺪ اﺻﻠﻲ در اﻳﻦ ﺳﻄﺢ )ﺑﺮاي ﺑﻌﺾ دﻳﺪﻫﺎ ﺑﻪ ﺗﺸﺨﻴﺺ ﻣﺪﻳﺮ‬ ‫•‬
‫ﭘﺎﻳﮕﺎهدادهﻫﺎ(‬

‫‪ 5-5‬ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن دادهاي ﻓﺮﻋﻲ‬


‫ﻣﻴﺰان ﭘﺎﻳﺒﻨﺪي اﺣﻜﺎم زﺑﺎن ﺑﻪ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﻣﺪل دادهاي در ﺟﻬﺖ ﺗﺎﻣﻴﻦ‬ ‫•‬
‫اﻧﺘﺰاع ﻫﺮﭼﻪ ﺑﻴﺸﺘﺮ‬
‫‪ANSI‬‬ ‫وﺟﻮد دﺳﺘﻮرات ‪ DCL ،DML ،DDL‬ﺑﺮاي ﻫﺮ ﺳﻪ ﺳﻄﺢ ﻣﻌﻤﺎري‬ ‫•‬
‫داﺷﺘﻦ ﻫﺮ دو ﺟﻨﺒﻪ ﺧﻮدﻛﻔﺎ )ﻣﺴﺘﻘﻞ( ﺑﻮدن و ﻗﺎﺑﻞ ادﻏﺎم ﺑﻮدن‬ ‫•‬
‫اﻧﻮاع دادهاي ﻣﻮﺟﻮد‬ ‫•‬
‫ﮔﺴﺘﺮش ﭘﺬﻳﺮي ﻧﻮع دادهاي و وﺟﻮد ﻧﻮع دادهاي ﺗﻌﺮﻳﻒ ﺷﺪه ﺗﻮﺳﻂ ﻛﺎرﺑﺮ‬ ‫•‬
‫ﭘﺬﻳﺮش ‪ BLOB‬و دادهﻫﺎي از ﻧﻮع ﺗﺼﻮﻳﺮ‪ ،‬وﻳﺪﺋﻮ و ﻣﺘﻦ‬ ‫•‬
‫اﻣﻜﺎن ﻧﻮﺷﺘﻦ روﻳﻪ ذﺧﻴﺮه ﺷﺪه و رﻫﺎﻧﺎ‬ ‫•‬
‫ﺟﻬﺖ ﺟﺎﺑﺠﺎﻳﻲ ﻣﻜﺎن ﻧﻤﺎ )ﺟﻠﻮ‪ ،‬ﻋﻘﺐ و ﻫﺮ دو ﺳﻮ(‬ ‫•‬
‫واﺳﻂﻫﺎي ﻣﺤﻴﻂ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي )ﻣﺜﻞ ‪ ODBC‬و‪(...‬‬ ‫•‬
‫درﺟﻪ ﻛﻤﺎل از ﻧﻈﺮ ﺳﺎﺧﺘﺎر دادهاي‬ ‫•‬
‫درﺟﻪ ﻛﻤﺎل ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬ ‫•‬
‫‪4GL‬‬ ‫ﺳﺎزﮔﺎري ﺑﺎ‬ ‫•‬
‫روﻳﻪاي ﻳﺎ ﻧﺎ روﻳﻪاي ﺑﻮدن‬ ‫•‬
‫ﻣﻔﺴﺮي ﻳﺎ ﻛﺎﻣﭙﺎﻳﻠﺮي ﺑﻮدن‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪76‬‬

‫رﻋﺎﻳﺖ اﺻﻞ وﺣﺪت اﺣﻜﺎم ﺑﺮاي ﻋﻤﻞ واﺣﺪ در دو ﺳﻄﺢ اﻧﺘﺰاﻋﻲ و ﻧﻴﺰ در ﻳﻚ‬ ‫•‬
‫ﺳﻄﺢ ﻣﺸﺨﺺ‬
‫وﺟﻮد اﻣﻜﺎن ﻛﻨﺘﺮل رﻛﻮردﻫﺎي ﺗﻜﺮاري ﺑﺮاي ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﻗﺪرت در ﺑﺮﻧﺎﻣﻪ ﺳﺎزي اﻟﮕﻮرﻳﺘﻢﻫﺎي ﺑﻬﻴﻨﻪ ﺑﺮاي اﻧﺠﺎم ﭼﻬﺎر ﻋﻤﻞ اﺻﻠﻲ‬ ‫•‬
‫)ﺑﺎزﻳﺎﺑﻲ‪ ،‬ﺣﺬف‪ ،‬درج و ﺑﻬﻨﮕﺎم ﺳﺎزي(‬
‫ﺳﻬﻮﻟﺖ ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاي اﻧﺠﺎم ﭼﻬﺎر ﻋﻤﻞ اﺻﻠﻲ )ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ‬ ‫•‬
‫ﻣﻔﺎﻫﻴﻢ ﺳﺎﺧﺘﺎر دادهاي(‬
‫ﺳﻬﻮﻟﺖ ﻳﺎدﮔﻴﺮي و ﻧﺰدﻳﻜﻲ ﺑﻪ زﺑﺎن ﻃﺒﻴﻌﻲ‬ ‫•‬
‫وﺟﻮد اﻣﻜﺎن ﻣﻌﺮﻓﻲ ﻣﻴﺪان و ﻋﻤﻠﻴﺎت روي ﻣﻴﺪانﻫﺎ‬ ‫•‬
‫وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاي اﻋﻤﺎل ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ‬ ‫•‬
‫وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاياﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ دادهﻫﺎ‬ ‫•‬
‫وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاي اﻋﻤﺎل ﺿﻮاﺑﻂ ﻣﺠﺎزﺷﻤﺎري‬ ‫•‬
‫وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاي ﺗﻌﻴﻴﻦ ﺣﺪود ﺗﺮاﻛﻨﺶﻫﺎ و ﻛﻨﺘﺮل ﻫﻤﺰﻣﺎﻧﻲ آﻧﻬﺎ‬ ‫•‬
‫وﺟﻮد اﻣﻜﺎن ﻧﻮﺷﺘﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻣﻮازي ﭘﺮﺳﺶ‬ ‫•‬
‫ﻣﻴﺰان ﺷﻴﺊ ﮔﺮا ﺑﻮدن‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﻻزم ﺑﺮاي دادهﻫﺎي زﻣﺎﻧﺒﻨﺪ‬ ‫•‬

‫‪ -6‬ﻣﺤﻮرﻫﺎي اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ ‪DBMS‬ﻫﺎ‬


‫در ﻣﻘﺎﻳﺴﻪ اﻳﻦ ﺳﻴﺴﺘﻢﻫﺎ‪ ،‬ﺑﺎﻳﺪ ﺗﻤﺎم ﭘﺎراﻣﺘﺮﻫﺎي ﮔﻔﺘﻪ ﺷﺪه در ﻗﺴﻤﺖ ‪ 9‬اﻳﻦ ﮔﻔﺘﺎر را‬
‫در ﻧﻈﺮ داﺷﺖ‪ .‬اﻣﺎ ﺑﺎ ﺑﺮرﺳﻲ اﻳﻦ ﭘﺎراﻣﺘﺮﻫﺎ ﻣﻲ ﺗﻮان ﻣﺤﻮرﻫﺎي اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ را ﺑﺪﺳﺖ‬
‫آورد‪ .‬در زﻳﺮ ﻣﺤﻮرﻫﺎي ﻣﻬﻤﺘﺮ را ﺑﺮ ﻣﻲﺷﻤﺮﻳﻢ )ﻓﺮض ﺑﺮ اﻳﻦ اﺳﺖ ﻛﻪ ﺳﻴﺴﺘﻢ ﻫﺎي‬
‫ﻣﻘﺎﻳﺴﻪ ﺷﻮﻧﺪه ﻣﻌﻤﺎري ‪ ANSI‬را ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻲﻛﻨﻨﺪ(‪:‬‬
‫اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ دادهﻫﺎ‬ ‫•‬
‫اﻧﻮاع دادهاي ﻣﻮرد ﭘﺬﻳﺮش ﺳﻴﺴﺘﻢ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﻋﻤﻠﻴﺎت در دادهﻫﺎ‬ ‫•‬
‫ﻧﻮع ﺗﺮاﻛﻨﺶﻫﺎ )ﭼﻨﺪ ﭘﺮﺳﺸﻲ ﻳﺎ ﺑﺮﻧﺎﻣﻪ‪ ،‬ﺗﻌﺪاد آﻧﻬﺎ( و ﻃﺮز ﻣﺪﻳﺮﻳﺖ آﻧﻬﺎ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﭘﺮدازش ﭘﺮﺳﺶﻫﺎ‪ ،‬ﺑﻬﻴﻨﻪ ﺳﺎزي آﻧﻬﺎ و زﻣﺎن ﺑﻬﻴﻨﻪ ﺳﺎزي‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫‪77‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫اﻣﻜﺎﻧﺎتاﻳﺠﺎد دﻳﻜﺸﻨﺮي دادهﻫﺎ‬ ‫•‬


‫وﺿﻌﻴﺖ ﺳﻄﺢ داﺧﻠﻲ‪ -‬ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ از ﻧﻈﺮ ﺳﺎﺧﺘﺎر ﻓﺎﻳﻠﻬﺎ‪ ،‬ﺷﻴﻮهﻫﺎي‬ ‫•‬
‫دﺳﺘﻴﺎﺑﻲ )ﺑﻮﻳﮋه ﺷﺎﺧﺺ ﺑﻨﺪي( و ﺟﻨﺒﻪﻫﺎي دﻳﮕﺮ‪.‬‬
‫ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻗﺎﺑﻞاﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ‬ ‫•‬
‫ﻣﺤﻴﻂ ﺳﺨﺖاﻓﺰاري و ﺣﺪاﻗﻞ اﻣﻜﺎﻧﺎت ﻻزم‬ ‫•‬
‫ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﻻزم‬ ‫•‬
‫ﺗﻜﻨﻴﻜﻬﺎي ﻛﻨﺘﺮل ﻫﻤﺰﻣﺎﻧﻲ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎ‪ :‬ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ‪ ،‬ﺗﺮﻣﻴﻢ‪ ،‬اﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ‪.‬‬ ‫•‬
‫ﺗﺴﻬﻴﻼت ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ )ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ و ﻃﺮاﺣﻲ ﻓﻴﺰﻳﻜﻲ(‪.‬‬ ‫•‬
‫ﻣﻜﺎﻧﻴﺴﻢ ادﻏﺎم زﺑﺎن دادهاي ﻓﺮﻋﻲ در زﺑﺎن ﻣﻴﺰﺑﺎن )وﺟﻮد ﭘﻴﺶ ﻛﺎﻣﭙﺎﻳﻠﺮ ﻳﺎ‬ ‫•‬
‫ﻓﺮاﺧﻮاﻧﻲ ﺗﻮاﺑﻊ(‪.‬‬
‫ﺗﻨﻮع دﻳﺪﻫﺎﻳﻲ ﻛﻪ ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را ﻣﻲﭘﺬﻳﺮﻧﺪ‪.‬‬ ‫•‬
‫ﻣﻜﺎﻧﻴﺴﻢ ﻣﺠﺎزﺷﻤﺎري ﻛﺎرﺑﺮان )ﻧﺎﻣﺘﻤﺮﻛﺰ‪ ،‬ﻣﺘﻤﺮﻛﺰ ﻳﺎ ﻧﻴﻤﻪ ﻣﺘﻤﺮﻛﺰ(‪.‬‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﻣﻮرد ﻧﻴﺎز ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﻧﻬﺎن ﻧﮕﺎري دادهﻫﺎ‪.‬‬ ‫•‬
‫ﻃﺮز اﻧﺠﺎم ﻋﻤﻞ ﺑﻬﻨﮕﺎم ﺳﺎزي )درﺟﺎ ﻳﺎ ﺑﺮون از ﺟﺎ(‪.‬‬ ‫•‬
‫اﻟﮕﻮرﻳﺘﻢ اﺟﺮاي ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ و ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي‪.‬‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺗﻌﺎﻣﻞ ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎي دﻳﮕﺮ )ﻧﻮع ﻣﻴﺎن اﻓﺰار و‪(...‬‬ ‫•‬
‫ﻃﺮز ﻧﻤﺎﻳﺶ ﻧﺘﺎﻳﺞ ﻋﻤﻠﻴﺎت )ﮔﺮاﻓﻴﻚ و ﮔﺰارش(‪.‬‬ ‫•‬
‫ﭘﺬﻳﺮش ﻳﺎ ﻋﺪم ﭘﺬﻳﺮش زﺑﺎﻧﻬﺎي ﻧﺴﻞ ﭼﻬﺎرم و ﭘﻨﺠﻢ‪.‬‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺗﻮﻟﻴﺪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي‪.‬‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﭘﺸﺘﻴﺒﺎﻧﻲ ﺗﺼﻤﻴﻢ‪.‬‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﻻزم ﺑﺮاي ﺗﻮﻟﻴﺪ واﺳﻄﻬﺎي ﻛﺎرﺑﺮي‪.‬‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﻋﻤﻠﻴﺎﺗﻲ در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ " ﺗﻮزﻳﻊ ﺷﺪه "‪.‬‬ ‫•‬
‫ﺗﺴﻬﻴﻼت ﻧﺮماﻓﺰاري دﻳﮕﺮ‪.‬‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪78‬‬

‫‪ -7‬روش ﻣﻄﺎﻟﻌﻪ ﺳﻴﺴﺘﻢ‬


‫ﻛﺴﺐ آﺷﻨﺎﻳﻲ ﻣﻘﺪﻣﺎﺗﻲ ﺑﺎ آن )وﻧﻪ ﭼﻨﺪان‬ ‫در ﻣﻄﺎﻟﻌﻪ اﻳﻦ ﻧﺮم اﻓﺰار‪ ،‬ﺑﻪ ﻣﻨﻈﻮر‬
‫ﺗﺨﺼﺼﻲ(‪ ،‬ﺑﺎﻳﺪ ﻣﻮارد زﻳﺮ ﺑﺮرﺳﻲ ﺷﻮد‪:‬‬
‫ﺑﺮرﺳﻲ ﺷﺮﻛﺖ ﺳﺎزﻧﺪه‪ ،‬ﺧﺎﻧﻮاده ﻧﺮماﻓﺰارﻫﺎي ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺎﺑﻪ و ﺗﺎرﻳﺨﭽﻪ‬ ‫•‬
‫ﺳﻴﺴﺘﻢ‬
‫ﺣﺪاﻗﻞ ﭘﻴﻜﺮه ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﻻزم‬ ‫•‬
‫ﺑﺮرﺳﻲ وﺟﻮد اﺟﺰاء ﻣﻌﻤﺎري ‪ ANSI‬ﺑﺮاي ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺳﻴﺴﺘﻢ‬ ‫•‬
‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ازﻧﻈﺮ زﺑﺎن ﻣﻴﺰﺑﺎن‬ ‫•‬
‫ﺑﺮرﺳﻲ ﻣﻮﻟﻔﻪﻫﺎي ﻣﺪل دادهاي و ﻣﻴﺰان راﺑﻄﻪاي ﺑﻮدن ﺳﻴﺴﺘﻢ‬ ‫•‬
‫اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﺳﻴﺴﺘﻢ‬ ‫•‬
‫روﻧﺪ ﻛﻠﻲ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺗﻮﺳﻂ ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﻧﺤﻮه ﻛﺎر ﺑﺎ ﺳﻴﺴﺘﻢ‪ ،‬ﺑﺮﭘﺎﺳﺎزي‪ ،‬راهاﻧﺪازي و آﻣﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ‪ ،‬ورود ﺑﻪ‬ ‫•‬
‫ﺳﻴﺴﺘﻢ و ﻛﺎرﻫﺎي ﻻزم ﺑﺮاياﻳﺠﺎد ﭘﺎﻳﮕﺎه و اﻧﺠﺎم ﻋﻤﻠﻴﺎت در آن‬
‫ﺗﺴﻬﻴﻼت ﺟﺎﻧﺒﻲ ﺳﻴﺴﺘﻢ از ﺟﻤﻠﻪ واﺳﻂﻫﺎي ﻛﺎرﺑﺮي و‪....‬‬ ‫•‬

‫‪ -8‬روﻳﻪﻫﺎي ﻣﺴﺘﻨﺪ ﺑﺮاي ﻛﺎرﺑﺮان‬


‫ﺑﺮاي اﻳﻨﻜﻪ ﻛﺎرﺑﺮان و اﻋﻀﺎء ﺗﻴﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﺘﻮاﻧﻨﺪ از ﺳﻴﺴﺘﻢ اﺳﺘﻔﺎده‬
‫ﻛﻨﻨﺪ‪ ،‬ﻣﻌﻤﻮﻻً ﻣﺠﻤﻮﻋﻪ اي از دﺳﺘﻮرﻫﺎ و ﻗﻮاﻋﺪ‪ ،‬ﻣﻮﺳﻮم ﺑﻪ روﻳﻪ ﻫﺎي ﻣﺴﺘﻨﺪ ﺗﻮﺳﻂ‬
‫ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﺳﻴﺴﺘﻢ در اﺧﺘﻴﺎر ﺧﺮﻳﺪاران ﻗﺮار داده ﻣﻲ ﺷﻮد‪ .‬در اﻳﻦ روﻳﻪﻫﺎي‬
‫ﻣﺴﺘﻨﺪ ﭼﮕﻮﻧﮕﻲ اﻧﺠﺎم ﻓﻌﺎﻟﻴﺘﻬﺎي زﻳﺮ ﻣﺸﺨﺺ ﺷﺪه اﺳﺖ‪:‬‬
‫ﺑﺮﭘﺎﺳﺎزي ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﻃﺮز ارﺗﺒﺎط ﺑﺎ ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﻃﺮز اﺳﺘﻔﺎده از ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﻃﺮز اﺳﺘﻔﺎده از ﺗﺴﻬﻴﻼت و اﻣﻜﺎﻧﺎت آن‬ ‫•‬
‫ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎﻳﻲ از ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫‪79‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫ﻃﺮز ﺗﺸﺨﻴﺺ ﻋﻴﺒﻬﺎي ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري و ﭼﮕﻮﻧﮕﻲ رﻓﻊ آﻧﻬﺎ و ﺗﺮﻣﻴﻢ‬ ‫•‬
‫ﭘﺎﻳﮕﺎهدادهﻫﺎ‬
‫ﺗﻐﻴﻴﺮ ﺳﺎﺧﺘﺎر ﭘﺎﻳﮕﺎهدادهﻫﺎ )ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد(‬ ‫•‬
‫ﺗﻨﻈﻴﻢ ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﺑﻬﺒﻮد ﺑﺨﺸﻴﺪن ﻛﺎراﻳﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن‬ ‫•‬

‫‪ -9‬ﻫﺰﻳﻨﻪﻫﺎ‬
‫اﺳﺘﻔﺎده از ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎه دادهﻫﺎ ﻫﺰﻳﻨﻪ ﻫﺎﻳﻲ دارد‪ .‬ﺑﺮﺧﻲ از اﻗﻼم ﻣﻬﻤﺘﺮ ﻫﺰﻳﻨﻪ‬
‫ﻋﺒﺎرﺗﻨﺪاز‪:‬‬
‫ﻫﺰﻳﻨﻪ ﺧﺮﻳﺪ ﻧﺮماﻓﺰار اﺻﻠﻲ)‪(DBMS‬‬ ‫•‬
‫ﻫﺰﻳﻨﻪ آﻣﻮزش ﻧﺮماﻓﺰار اﺻﻠﻲ‬ ‫•‬
‫ﻫﺰﻳﻨﻪ ﻧﮕﻬﺪاري و ﺑﻬﺮه ﺑﺮداري از آن‬ ‫•‬
‫ﻫﺰﻳﻨﻪ ﺗﺒﺪﻳﻞ ﺳﻴﺴﺘﻢ ﻧﺎﭘﺎﻳﮕﺎﻫﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ‬ ‫•‬
‫ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ اﺑﺰارﻫﺎي ﻧﺮماﻓﺰاري دﻳﮕﺮ‬ ‫•‬
‫ﻫﺰﻳﻨﻪ آﻣﻮزش اﻣﻜﺎﻧﺎت ﻧﺮماﻓﺰاري‬ ‫•‬
‫ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﺑﺴﺘﻪﻫﺎي ﻛﺎرﺑﺮدي‬ ‫•‬
‫ﻫﺰﻳﻨﻪ آﻣﻮزش ﺑﺴﺘﻪﻫﺎي ﻛﺎرﺑﺮدي‬ ‫•‬
‫ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﻣﺴﺘﻨﺪات ﺧﻮد ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﻣﺴﺘﻨﺪات اﻣﻜﺎﻧﺎت ﻧﺮماﻓﺰاري و ﺑﺴﺘﻪﻫﺎي ﻛﺎرﺑﺮدي‬ ‫•‬
‫ﻫﺰﻳﻨﻪ ﺗﻨﻈﻴﻢ ﻣﺴﺘﻨﺪات ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ )ﻛﺎﻣﭙﻴﻮﺗﺮ از ردهﻫﺎي ﻣﺨﺘﻠﻒ(‬ ‫•‬
‫ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي‬ ‫•‬
‫ﻫﺰﻳﻨﻪ ﺗﺎﻣﻴﻦ ﺷﺒﻜﻪﻫﺎي ﻻزم )در ﺻﻮرت ﻟﺰوم(‬ ‫•‬
‫ﻫﺰﻳﻨﻪ ﻧﮕﻬﺪاري و ﺑﻬﺮه ﺑﺮداري از ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي‬ ‫•‬
‫ﻫﺰﻳﻨﻪ ﺑﻬﻴﻨﻪ ﺳﺎزي و ﮔﺴﺘﺮش ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﺣﻘﻮق و ﻣﺰاﻳﺎي اﻓﺮاد ﺗﻴﻢ ﻣﺪﻳﺮﻳﺖ و ﺗﻴﻢﻫﺎي اﺟﺮاﻳﻲ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪80‬‬

‫)‪(DBA‬‬ ‫‪ -10‬ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده‬


‫ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻓﺮدي اﺳﺖ ﻣﺘﺨﺼﺺ در ﭘﺎﻳﮕﺎه دادهﻫﺎ و ﺑﺎ ﻣﺴﺌﻮﻟﻴﺖ ﻋﻠﻤﻲ‪-‬ﻓﻨﻲ و‬
‫ﻧﻴﺰ اداري در ﻣﺤﺪوده وﻇﺎﻳﻔﻲ ﻛﻪ ﻋﻬﺪه دار اﺳﺖ‪ .‬اﻳﻦ ﻣﺪﻳﺮ ﻣﻌﻤﻮﻻً ﻫﻤﺮاه ﺑﺎ ﻳﻚ ﺗﻴﻢ‬
‫ﺗﺨﺼﺼﻲ ﻛﺎر ﻣﻲ ﻛﻨﺪ ﻛﻪ ﺑﻪ آن ﺗﻴﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﮔﻮﻳﻨﺪ‪ .‬ﻫﺮ ﻳﻚ از اﻋﻀﺎ‬
‫اﻳﻦ ﺗﻴﻢ ﻣﺴﺌﻮﻟﻴﺖ ﺧﺎﺻﻲ دارد و در ﺣﻴﻄﻪ اﺧﺘﻴﺎرات و وﻇﺎﻳﻔﺶ ﻣﻲ ﺗﻮاﻧﺪ ﺳﺮﭘﺮﺳﺖ‬
‫ﻳﻚ ﺗﻴﻢ اﺟﺮاﻳﻲ ﺑﺎﺷﺪ‪.‬‬

‫‪DBA‬‬ ‫‪ 1-10‬اﺻﻄﻼح ﺗﻴﻢ‬


‫در ﻳﻚ ﻣﺤﻴﻂ ﻛﺎري ﺑﺮﺧﻮردار از ﺳﻄﺢ ﻣﻄﻠﻮب داﻧﺶ و ﺗﻜﻨﻮﻟﻮژي و ﻋﻤﻞ ﻛﻨﻨﺪه ﺑﺮ‬
‫اﺳﺎس دﻳﺴﻴﭙﻠﻴﻦ ﻫﺎ و اﺳﺘﺎﻧﺪارد ﻫﺎي ﻋﻠﻤﻲ و ﻣﻬﻨﺪﺳﻲ و داراي ﻣﺪﻳﺮﻳﺖ ﭘﻮﻳﺎ‪ ،‬وﺟﻮد‬
‫اﻳﻦ ﺗﻴﻢ ﺗﺨﺼﺼﻲ اﺟﺘﻨﺎب ﻧﺎﭘﺬﻳﺮ اﺳﺖ‪ .‬ﺑﻌﻼوه اﻳﻦ ﺗﻴﻢ ﺑﺎﻳﺪ از ﻣﺸﺎوراﻧﻲ در‬
‫زﻣﻴﻨﻪ ﻫﺎي دﻳﮕﺮ ﻣﻬﻨﺪﺳﻲ ﻧﺮم اﻓﺰار و ﻣﻬﻨﺪﺳﻲ ﺳﺨﺖ اﻓﺰار اﺳﺘﻔﺎده ﻛﻨﺪ و ﺣﺘﻲ ﻣﻄﻠﻮب‬
‫اﻳﻦ اﺳﺖ ﻛﻪ ﺑﻌﻀﻲ از ﻣﺸﺎوران ﺑﻪ ﻧﺤﻮي ﻋﻀﻮ ﺧﻮد ﺗﻴﻢ ﺑﺎﺷﻨﺪ‪ .‬ﺑﺮﺧﻲ از‬
‫ﻣﺴﺌﻮﻟﻴﺖ ﻫﺎي اﺻﻠﻲ در اﻳﻦ ﺗﻴﻢ ﺗﺨﺼﺼﻲ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﻣﺪﻳﺮ دادهﻫﺎ‬ ‫•‬
‫ﻣﺪﻳﺮ اﻣﻮر ﭘﮋوﻫﺸﻲ‪ -‬ﺗﻮﺳﻌﻪ‬ ‫•‬
‫ﻣﺪﻳﺮ ﺳﻴﺴﺘﻢ )ﻫﺎي( ﻛﺎرﺑﺮدي‬ ‫•‬
‫ﻣﺴﺌﻮل ﺗﻴﻤﻬﺎي ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬ ‫•‬
‫‪DBMS‬‬ ‫ﻣﺴﺌﻮل ﻛﻨﺘﺮل ﻛﺎراﻳﻲ‬ ‫•‬
‫ﻣﺴﺌﻮل ﻛﻨﺘﺮل ﻛﺎراﻳﻲ ﺧﻮد ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ‬ ‫•‬
‫ﻣﺴﺌﻮل ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻴﺎت روي ﭘﺎﻳﮕﺎهدادهﻫﺎ و اﻧﺠﺎم ﻓﻌﺎﻟﻴﺖﻫﺎي آﻣﺎري‬ ‫•‬
‫ﻣﺮﺑﻮﻃﻪ‬
‫ﻣﺴﺌﻮل ﺗﻤﺎس ﺑﺎ ﻛﺎرﺑﺮان زﻳﺮ ﻣﺤﻴﻂﻫﺎي ﺳﺎزﻣﺎن‬ ‫•‬
‫ﻣﺴﺌﻮل ﺗﻨﻈﻴﻢ ﻣﺴﺘﻨﺪات‬ ‫•‬

‫اﺻﻄﻼح ﺗﻴﻢ ‪ DBA‬ﺑﻪ دو ﻣﻌﻨﺎ )در ﻣﺤﻴﻂﻫﺎي ﻛﺎري( ﻣﻄﺮح اﺳﺖ‪:‬‬


‫‪www.PDFgozar.com‬‬

‫‪81‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫ﺗﻴﻤﻲاﺳﺖ ﻛﻪ‬ ‫‪DBA‬‬ ‫در ﻣﻌﻨﺎي ﻣﺤﺪود‪ :‬ﺑﺎ اﻳﻦ ﻣﻌﻨﺎ‪ ،‬ﺗﻴﻢ‬ ‫‪DBA‬‬ ‫ﺗﻴﻢ‬ ‫•‬

‫ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺳﺎزﻣﺎن را‪ ،‬ﭘﺲ ازاﻳﺠﺎد ﺗﻮﺳﻂ ﮔﺮوه دﻳﮕﺮي از ﻣﺘﺨﺼﺼﻴﻦ‪،‬‬


‫ﺗﺤﻮﻳﻞ ﻣﻲﮔﻴﺮد و ﭘﺲ از ﺗﺤﻮﻳﻞ‪ ،‬وﻇﻴﻔﻪ ﻧﮕﻬﺪاري‪ ،‬ﺑﻬﺮه ﺑﺮداري و ﮔﺎه ﺑﻬﻴﻨﻪ‬
‫ﺳﺎزي و اﺣﺘﻤﺎﻻ ﮔﺴﺘﺮش "ﺳﻴﺴﺘﻢ" را ﺑﺮ ﻋﻬﺪه دارد‪.‬‬
‫در ﻣﻌﻨﺎي ﮔﺴﺘﺮده‪ :‬ﺑﺎ اﻳﻦ ﻣﻌﻨﺎ‪ ،‬ﺗﻴﻢ ‪ ،DBA‬ﺧﻮد ﻫﻤﻪ ﻣﺮاﺣﻞ ﻻزم‬ ‫‪DBA‬‬ ‫ﺗﻴﻢ‬ ‫•‬

‫ﺑﺮاياﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺳﺎزﻣﺎن را اﻧﺠﺎم ﻣﻲدﻫﺪ و ﺳﭙﺲ ﻧﮕﻬﺪاري‪ ،‬ﺑﻬﺮه‬


‫ﺑﺮداري و ﺑﻬﻴﻨﻪ ﺳﺎزي و ﮔﺴﺘﺮش آن را ﺑﺮﻋﻬﺪه ﻣﻲﮔﻴﺮد‪.‬‬

‫‪ 2-10‬ﻣﺴﺌﻮﻟﻴﺖﻫﺎ‬
‫ﻣﺪﻳﺮ دادهﻫﺎ ﻓﺮدي اﺳﺖ ﺑﺎ داﻧﺶ و ﺗﺠﺮﺑﻪ در ﻣﺪﻳﺮﻳﺖ و آﺷﻨﺎ ﺑﺎ داﻧﺶ و ﺗﻜﻨﻮﻟﻮژي‬
‫ﭘﺎﻳﮕﺎه داده ﻫﺎ‪ .‬ﺑﺮاي اﻃﻼع از وﻇﺎﻳﻒ ﻣﺪﻳﺮ داده ﻫﺎ ﺑﻪ ﻣﻨﺎﺑﻊ درس ﻫﺎي ''ﻣﻬﻨﺪﺳﻲ‬
‫ﻣﺪﻳﺮﻳﺖ"‬ ‫ﻧﺮم اﻓﺰار"‪" ،‬ﺗﺤﻠﻴﻞ و ﻃﺮاﺣﻲ ﺳﻴﺴﺘﻢﻫﺎ" و ﻧﻴﺰ درس "ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎت‬
‫ﻣﺮاﺟﻌﻪ ﺷﻮد‪.‬‬

‫‪ 3-10‬وﻇﺎﻳﻒ‬
‫در ﻣﻌﻨﺎي ﮔﺴﺘﺮده وﻇﺎﻳﻔﻲ دارد ﻛﻪ اﻫﻢ آﻧﻬﺎ را ذﻛﺮ ﻣﻲﻛﻨﻴﻢ‪ .‬ﺗﻮﺟﻪ دارﻳﻢ‬ ‫‪DBA‬‬ ‫ﺗﻴﻢ‬
‫ﻛﻪ ﺗﺮﺗﻴﺐ اﻧﺠﺎم اﻳﻦ وﻇﺎﻳﻒ ﻟﺰوﻣﺎ ﻫﻤﺎن ﻧﻴﺴﺖ ﻛﻪ در زﻳﺮ آﻣﺪه اﺳﺖ )روﺷﻦ اﺳﺖ‬
‫ﻛﻪ در اﺟﺮاي ﻫﺮ ﭘﺮوژه‪ ،‬ﻧﻴﺎز ﺑﻪ ﻳﻚ ﻃﺮح زﻣﺎن ﺑﻨﺪي ﻓﻌﺎﻟﻴﺘﻬﺎﺳﺖ ﻛﻪ ﺑﺎﻳﺪ آﻣﺎده‬
‫ﺷﻮد(‪ .‬ﻫﻤﭽﻨﻴﻦ ﺑﺮﺧﻲ از اﻳﻦ وﻇﺎﻳﻒ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺑﻄﻮر ﻫﻤﺰﻣﺎن اﻧﺠﺎم ﺷﻮﻧﺪ‪.‬‬
‫ﻣﺸﺎرﻛﺖ در ﺗﻔﻬﻴﻢ اﻫﻤﻴﺖ و ﻧﻘﺶ داده ﺑﻪ ﻣﺪﻳﺮﻳﺖ ﺳﺎزﻣﺎن‬ ‫•‬
‫ﻣﺸﺎرﻛﺖ در ﺗﻔﻬﻴﻢ اﻫﻤﻴﺖ و ﻣﺰاﻳﺎي ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬ ‫•‬
‫ﻣﺸﺎرﻛﺖ در ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد اﺳﺘﻔﺎده ﻳﺎ ﻋﺪم اﺳﺘﻔﺎده از اﻳﻦ ﺗﻜﻨﻮﻟﻮژي‪.‬‬ ‫•‬
‫ﻣﺸﺎرﻛﺖ در ﺗﻮﺟﻴﻪ ﻋﻠﻤﻲ‪-‬ﻓﻨﻲ ﺗﺼﻤﻴﻢ اﺳﺘﻔﺎده از اﻳﻦ ﺗﻜﻨﻮﻟﻮژي‪.‬‬ ‫•‬
‫ﻣﻄﺎﻟﻌﻪ دﻗﻴﻖ و ﻫﻤﻪ ﺟﺎﻧﺒﻪ ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ و ﺑﺮآورد ﺧﻮاﺳﺘﻪﻫﺎ و ﺑﺮ آورد‬ ‫•‬
‫ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان )اﻧﺠﺎم اﺻﻮﻟﻲ ﻣﻬﻨﺪﺳﻲ ﻧﻴﺎزﻫﺎ(‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪82‬‬

‫ﺑﺮرﺳﻲ روﻧﺪ دادهﻫﺎ و روﻧﺪ روﻳﺪادﻫﺎ در ﻣﺤﻴﻂ و رﺳﻢ ﻧﻤﻮدار روﻧﺪ دادهﻫﺎ و‬ ‫•‬
‫روﻧﺪ روﻳﺪادﻫﺎ )ﻳﻚ ﻳﺎ ﻫﺮ دو ﺑﺴﺘﻪ ﺑﻪ ﺷﻴﻮه ﻣﺪﻟﺴﺎزي ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ( و ﺗﻬﻴﻪ‬
‫و ﺗﻨﻈﻴﻢ ﻣﺴﺘﻨﺪات ﻻزم‪.‬‬
‫ﻣﺪﻟﺴﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ )ﺑﺎ ﻣﺮاﺣﻠﻲ ﻛﻪ دﻳﺪه ﺷﺪ از ﺟﻤﻠﻪ رﺳﻢ ﻧﻤﻮدار ‪.(EER‬‬ ‫•‬
‫ﺗﺨﻤﻴﻦ ﺣﺠﻢ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ در ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬ ‫•‬
‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي دو ﻣﻮرد ﺗﻌﻴﻴﻦ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﺗﻌﻴﻴﻦ ﻣﺸﺨﺼﺎت‬ ‫•‬
‫ﺳﻴﺴﺘﻢ )ﻫﺎي( ﻛﺎرﺑﺮدي ﻣﻮرد ﻧﻴﺎز‪.‬‬
‫ﻣﺸﺎرﻛﺖ در اﻧﺘﺨﺎب ‪) DBMS‬ﻫﺎ( و ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﻻزم‬ ‫•‬
‫در ﺻﻮرت ﻟﺰوم )اﮔﺮ اﻧﺘﺨﺎب ﻧﺸﺪه ﺑﺎﺷﺪ(‪.‬‬
‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در اﻧﺘﺨﺎب و اﻧﺘﺴﺎب اﻋﻀﺎء ﺗﻴﻤﻬﺎي اﺟﺮاﻳﻲ‪.‬‬ ‫•‬
‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در اﻧﺘﺨﺎب اﺑﺰارﻫﺎي ﻧﺮماﻓﺰاري دﻳﮕﺮ ﺑﺮاي ﺗﻮﻟﻴﺪ و ﮔﺴﺘﺮش‬ ‫•‬
‫ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ‪.‬‬
‫ﺗﺼﻤﻴﻢﮔﻴﺮي درﻣﻮرد زﺑﺎن)ﻫﺎي( ﺑﺮﻧﺎﻣﻪﺳﺎزي ﻣﻮرد ﻧﻴﺎز و ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﻫﺮ ﻛﺎرﺑﺮد‪.‬‬ ‫•‬
‫ﻃﺮاﺣﻲ ﺳﻄﺢ ادراﻛﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ )ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ(‪.‬‬ ‫•‬
‫ﻧﻮﺷﺘﻦ ﺷﻤﺎي ادراﻛﻲ و ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاياﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬ ‫•‬
‫ﺗﻌﻴﻴﻦ ﻣﺠﻤﻮﻋﻪ ﻗﻮاﻋﺪ )ﻣﺤﺪودﻳﺘﻬﺎي( ﺟﺎﻣﻌﻴﺖ ﻧﺎﻇﺮ ﺑﻪ ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬ ‫•‬
‫ﻧﻈﺎرت ﺑﺮ ﺗﻌﻴﻴﻦ دﻳﺪﻫﺎي ﺧﺎرﺟﻲ و ﻧﻮﺷﺘﻦ ﺷﻤﺎﻫﺎي ﺧﺎرﺟﻲ‪.‬‬ ‫•‬
‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﻣﺸﺨﺼﺎت ﺳﺎﺧﺘﺎر ﺳﻄﺢ داﺧﻠﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﺗﻌﻴﻴﻦ‬ ‫•‬
‫ﺳﺎﺧﺘﺎر ﻓﺎﻳﻞﻫﺎي ﻣﻨﺎﺳﺐ‪ ،‬اﺳﺘﺮاﺗﮋيﻫﺎي دﺳﺘﻴﺎﺑﻲ ﻛﺎرا و ﻧﻮﺷﺘﻦ ﺷﻤﺎي داﺧﻠﻲ‪.‬‬
‫اﻧﺠﺎم ﻃﺮاﺣﻲ ﺗﻮزﻳﻊ )در ﺻﻮرت ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه(‪.‬‬ ‫•‬
‫ﻃﺮاﺣﻲ "ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي"‪ ،‬ﺗﺮاﻛﻨﺶﻫﺎي ﻻزم و روﻳﻪﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ ﻻزم‪.‬‬ ‫•‬
‫)ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ ﻫﺮ ﺑﺮﻧﺎﻣﻪاي‪ ،‬ﻧﻴﺎز ﺑﻪ ﻃﺮاﺣﻲ دارد و ﺗﻨﻬﺎ ﭘﺲ از ﻃﺮاﺣﻲ‬
‫اﺻﻮﻟﻲ ﺑﺮﻧﺎﻣﻪ‪ ،‬ﻣﻲﺗﻮان ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻛﺮد(‪ ،‬واﻳﺠﺎد ارﺗﺒﺎط داﺋﻢ ﺑﺎ ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪﮔﺎن‬
‫" ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي"‪.‬‬
‫ﻃﺮاﺣﻲ واﺳﻄﻪﻫﺎي ﻛﺎرﺑﺮدي‪.‬‬ ‫•‬
‫اﻳﺠﺎد ﻧﻤﻮﻧﻪ ﻧﺨﺴﺖ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ و ﺑﺎرﮔﺬاري ﭘﺎﻳﮕﺎه ﺑﺎ دادهﻫﺎي ﺗﺴﺘﻲ‪.‬‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫‪83‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاي ﻛﻨﺘﺮل ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﻮﻳﮋه اﻋﻤﺎل ﻣﺤﺪودﻳﺘﻬﺎي‬ ‫•‬
‫ﺟﺎﻣﻌﻴﺘﻲ‪.‬‬
‫ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاي ﺑﻬﺮه ﺑﺮداري از ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬ ‫•‬
‫اﻳﺠﺎد ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ واﻗﻌﻲ )و ﻣﻨﻄﺒﻖ ﺑﺎ ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان(‪.‬‬ ‫•‬
‫ﻧﻈﺎرت ﺑﺮ وارد ﻛﺮدن دادهﻫﺎ )در ﺣﺠﻢ ﻣﺤﺪود(‪.‬‬ ‫•‬
‫اﻧﺘﺨﺎب اﺳﺘﺮاﺗﮋيﻫﺎي ﺗﺴﺖ ﻣﻨﺎﺳﺐ و ﺗﺴﺖ ﻛﺮدن " ﺳﻴﺴﺘﻢ" ﺑﺎ دادهﻫﺎي ﺗﺴﺘﻲ‬ ‫•‬
‫و ﻧﻴﺰ ﺑﺎ دادهﻫﺎي واﻗﻌﻲ در ﺣﺠﻢ ﻣﺤﺪود )اﻧﺠﺎم دو ﻣﺮﺣﻠﻪ ﺗﺴﺖ(‪.‬‬
‫ﻧﻈﺎرت ﺑﺮ وارد ﻛﺮدن دادهﻫﺎي واﻗﻌﻲ ﺳﺎزﻣﺎن‪.‬‬ ‫•‬
‫ﺗﺴﺖ ﻛﺮدن " ﺳﻴﺴﺘﻢ" ﺑﺎ دادهﻫﺎي واﻗﻌﻲ و در ﺣﺠﻢ واﻗﻌﻲ‬ ‫•‬
‫ﺗﻨﻈﻴﻢ دﻗﻴﻖ ﻗﺴﻤﺘﻬﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ و ﻛﻞ ﺳﻴﺴﺘﻢ ﻳﻜﭙﺎرﭼﻪ‪.‬‬ ‫•‬
‫ﺗﻌﻴﻴﻦ ﺿﻮاﺑﻂ دﺳﺘﻴﺎﺑﻲ ﻛﺎرﺑﺮان ﺑﻪ دادهﻫﺎ‪.‬‬ ‫•‬
‫ﻧﻈﺎرت در ﺗﻬﻴﻪ ﻣﺴﺘﻨﺪات ﻻزم در ﻫﻤﻪ ﻣﺮاﺣﻞ ﻛﺎر‪.‬‬ ‫•‬
‫وﺿﻊ اﺳﺘﺎﻧﺪاردﻫﺎي ﻻزم در ﻫﻤﻪ ﻣﺮاﺣﻞ ﻛﺎر و ﻧﻈﺎرت ﺑﺮ اﻋﻤﺎل آﻧﻬﺎ‪.‬‬ ‫•‬
‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﭼﮕﻮﻧﮕﻲ ﺗﺮﻣﻴﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ و در ﺻﻮرت ﻟﺰوم ﺗﻬﻴﻪ ﻳﺎ‬ ‫•‬
‫ﺗﻮﺳﻌﻪ اﺑﺰارﻫﺎي اﻳﻦ ﻛﺎر و اﻧﺠﺎم ﺗﺮﻣﻴﻢ ﭘﺎﻳﮕﺎه‪.‬‬
‫ﻛﻨﺘﺮل ﻣﺪاوم ﻛﺎراﻳﻲ ‪ DBMS‬و ﺗﻼش در اﻓﺰاﻳﺶ ﻛﺎراﻳﻲ‪.‬‬ ‫•‬
‫ﻧﻈﺎرت و ﻛﻨﺘﺮل داﺋﻢ ﺑﺮ ﻋﻤﻠﻴﺎﺗﻲ ﻛﻪ در ﭘﺎﻳﮕﺎهدادهﻫﺎ اﻧﺠﺎم ﻣﻲﺷﻮد‪.‬‬ ‫•‬
‫ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬ ‫•‬
‫ﺗﻀﻤﻴﻦ ﻣﺤﺮﻣﺎﻧﮕﻲ دادهﻫﺎ‪.‬‬ ‫•‬
‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﭼﻨﺪي و ﭼﮕﻮﻧﮕﻲ رﺷﺪ )ﮔﺴﺘﺮش( ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬ ‫•‬
‫اﺗﺨﺎذ ﺗﺪاﺑﻴﺮ ﻻزم ﺑﺮاياﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ دادهﻫﺎ و اﻋﻤﺎل اﻳﻦ ﺗﺪاﺑﻴﺮ‪.‬‬ ‫•‬
‫ﻣﺪﻳﺮﻳﺖ ﻛﺎرﺑﺮان ﭘﺎﻳﺎﻧﻲ )اﻳﺠﺎد و ﺗﻌﺮﻳﻒ ﻛﺎرﺑﺮان‪ ،‬ﮔﺬر واژهﻫﺎ‪ ،‬اﻣﺘﻴﺎزﻫﺎ و‪.(...‬‬ ‫•‬
‫ﺗﻤﺎس داﺋﻢ ﺑﺎ ﻛﺎرﺑﺮان و ﺷﻨﺎﺧﺖ ﻧﻴﺎزﻫﺎي ﺟﺪﻳﺪ آﻧﻬﺎ‪.‬‬ ‫•‬
‫ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن ﺑﻄﻮر ﻣﺘﻨﺎوب )ﺑﺎ ﺗﻨﺎوب ﻣﻨﺎﺳﺐ(‪.‬‬ ‫•‬
‫ﺗﻌﻴﻴﻦ اﻟﮕﻮﻫﺎي اﺳﺘﻔﺎده از دادهﻫﺎ و ﺑﺴﺎﻣﺪ )ﻓﺮﻛﺎﻧﺲ( اﺳﺘﻔﺎده از دادهﻫﺎ‪.‬‬ ‫•‬
‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﭼﮕﻮﻧﮕﻲ ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪84‬‬

‫اﻧﺠﺎم ﺗﺒﺪﻳﻞ و اﻧﺘﻘﺎل دادهﻫﺎ از" ﺳﻴﺴﺘﻢﻫﺎي ﻣﻮﺟﻮد" ﺑﻪ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺟﺪﻳﺪ و‬ ‫•‬
‫اﻧﺠﺎم ﺗﺒﺪﻳﻞ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻣﻮﺟﻮد ﺑﻪ ﮔﻮﻧﻪاي ﻛﻪ ﻗﺎﺑﻞ اﺟﺮا در"ﺳﻴﺴﺘﻢ‬
‫ﻛﺎرﺑﺮدي" ﺟﺪﻳﺪ ﺑﺎﺷﻨﺪ‪.‬‬
‫ﺗﻼش در ﺟﻬﺖ ارﺗﻘﺎء ﺳﻄﺢ داﻧﺶ و ﻓﻦ اﻋﻀﺎء ﺗﻴﻢ و ﻛﺎرﺑﺮان )ﺑﻮﻳﮋه در زﻣﻴﻨﻪ‬ ‫•‬
‫ﺗﻜﻨﻮﻟﻮژي اﻃﻼﻋﺎت و ﺳﻴﺴﺘﻤﻬﺎي اﻃﻼﻋﺎﺗﻲ(‪.‬‬
‫ﺗﻼش در ﺟﻬﺖ ﺷﻨﺎﺳﺎﻳﻲ اﻣﻜﺎﻧﺎت ﺟﺪﻳﺪ‪ ،‬ﮔﺴﺘﺮش‪ ،‬ارﺗﻘﺎء و ﻛﺎراﺗﺮ ﻛﺮدن‬ ‫•‬
‫ﺳﻴﺴﺘﻢ ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ اﻣﻜﺎﻧﺎت‪.‬‬
‫ﺗﻬﻴﻪ و ﺗﻨﻈﻴﻢ اﻧﻮاع آﻣﺎرﻫﺎ و ﮔﺰارﺷﺎت ﻛﻨﺘﺮﻟﻲ و ﻣﺪﻳﺮﻳﺘﻲ در ﻣﻮرد ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﻛﺎرﺑﺮان‪.‬‬
‫ﺗﻀﻤﻴﻦ اﻧﺠﺎم و اﺗﻤﺎم "ﭘﺮوژه ﭘﺎﻳﮕﺎﻫﻲ" در ﻣﺪت زﻣﺎن ﭘﻴﺶ ﺑﻴﻨﻲ ﺷﺪه و ﺑﺎ‬ ‫•‬
‫ﺗﻮﺟﻪ ﺑﻪ ﻣﺤﺪودﻳﺖ ﺑﻮدﺟﻪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪85‬‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده‬

‫ﺗﻤﺮﻳﻨﺎت‬

‫‪ .1‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻄﺎﻟﻌﻪ ﮔﻔﺘﺎر‪ ،‬وﻇﺎﻳﻒ اﺳﺎﺳﻲ ﻳﻚ ‪ DBMS‬را ﻓﻬﺮﺳﺖ ﻛﻨﻴﺪ‪.‬‬


‫‪ .2‬ﺑﺮاي ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﻳﻚ ‪ ،RDBMS‬ﺣﺪاﻗﻞ ﭼﻪ اﺟﺰاﻳﻲ ﻻزم اﺳﺖ ؟‬
‫‪ .3‬ﻳﻚ ‪ RDBMS‬را اﻧﺘﺨﺎب و ﻛﺎرﻫﺎي ﻻزم ﺑﺮاي ﺑﺮﭘﺎﺳﺎزي آن را اﻧﺠﺎم دﻫﻴﺪ‪.‬‬
‫‪ .4‬در اﻧﺘﺨﺎب و اﺳﺘﻔﺎده از ﻳﻚ ‪ ،DBMS‬ﭼﻪ ﻫﺰﻳﻨﻪ ﻫﺎي دﻳﮕﺮي را ﺑﺎﻳﺪ در ﻧﻈﺮ‬
‫داﺷﺖ )ﻏﻴﺮ از ﻫﺰﻳﻨﻪ ﻫﺎي ﺑﺮﺷﻤﺮده در ﮔﻔﺘﺎر( ؟‬
‫‪ .5‬ﭼﻪ ﺗﻔﺎوت )ﻫﺎﻳﻲ( ﺑﻴﻦ ﻣﺘﺎ داده ﻫﺎ و دﻳﻜﺸﻨﺮي داده ﻫﺎ وﺟﻮد دارد ؟‬
‫‪ .6‬ﭘﺎراﻣﺘﺮﻫﺎي اﺻﻠﻲ ﺷﻨﺎﺧﺖ ﻳﻚ ‪ DBMS‬را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬
‫‪ .7‬ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ ؟‬
‫‪ .8‬ﺗﻴﻢ ‪ DBA‬ﺑﻪ ﭼﻪ ﻣﻌﻨﺎ اﺳﺖ ؟‬
‫‪ .9‬ﻛﺪاﻣﻴﻚ از وﻇﺎﻳﻒ ‪ ،DBA‬ﻣﺴﺘﻘﻞ از ‪ ،DBMS‬ﻗﺎﺑﻞ اﻧﺠﺎم اﺳﺖ ؟‬
‫‪ .10‬ﻛﺪاﻣﻴﻚ از ﻣﻮارد ﺑﺮ ﺷﻤﺮده در ﻓﻬﺮﺳﺖ وﻇﺎﻳﻒ ﺗﻴﻢ ‪ ،DBA‬ﻣﺴﺘﻘﻴﻤﺎ ﺑﻪ‬
‫ﻣﺮﺣﻠﻪ ﭘﻴﺎده ﺳﺎزي ﭘﺎﻳﮕﺎه دادهﻫﺎ ﻣﺮﺑﻮط ﻣﻲ ﺷﻮد ؟‬
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 86
‫‪www.PDFgozar.com‬‬

‫ﻓﺼﻞ ‪۵‬‬

‫ﻣﺪﻝﻫﺎ ﻭ ﺳﺎﺧﺘﺎﺭﻫﺎﻱ ﺩﺍﺩﻩﺍﻱ ﭘﺎﻳﮕﺎﻩﺩﺍﺩﻩﻫﺎ‬

‫ﻫﺪف ﻛﻠﻲ‬
‫دراﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺑﺎ ﻣﻔﻬﻮم ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﻳﻚ ﭘﺎﻳﮕﺎه داده و ﺑﺨﺶ ﻫﺎي ﻣﺨﺘﻠﻒ آن‬
‫آﺷﻨﺎ ﺧﻮاﻫﻴﻢ ﺷﺪ‪ .‬در اداﻣﻪ ﺳﻪ ﺳﺎﺧﺘﺎر داده اي اﺻﻠﻲ ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻛﻪ ﺷﺎﻣﻞ‬
‫ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‪ ،‬ﺷﺒﻜﻪ اي و راﺑﻄﻪ اي ﻣﻲ ﺑﺎﺷﻨﺪ را ﻣﻌﺮﻓﻲ ﻛﺮده و ﻋﻨﺎﺻﺮ‬
‫اﺻﻠﻲ‪ ،‬ﻋﻤﻠﻴﺎت اﺻﻠﻲ و ﻧﺤﻮه ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖﻫﺎ و وﻳﮋﮔﻲ ﻫﺎي ﻫﺮ ﻳﻚ از‬
‫ﺳﺎﺧﺘﺎرﻫﺎي داده اي ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬
‫دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬
‫ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ‬ ‫•‬
‫ﺑﺨﺶ ﺳﺎﺧﺘﺎري ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ‬ ‫•‬
‫ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ‬ ‫•‬
‫ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ‬ ‫•‬
‫آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬ ‫•‬
‫ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري‬ ‫•‬
‫ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬ ‫•‬
‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬ ‫•‬
‫ﺑﺮﺧﻲ وﻳﮋﮔﻲﻫﺎي ﺳﺎﺧﺘﺎر )و ﻣﺪل( دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪88‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر دادهاي ﺷﺒﻜﻪاي‬ ‫•‬


‫ﺗﻌﺮﻳﻒ ﺳﺎﺧﺘﺎر ﺷﺒﻜﻪ‬ ‫•‬
‫ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري‬ ‫•‬
‫ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪاي‬ ‫•‬
‫ﭼﻨﺪ"‬ ‫ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﻳﻚ ﺑﻪ‬ ‫•‬
‫ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ‬ ‫•‬
‫ﭼﻨﺪ"‬ ‫ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﭼﻨﺪ ﺑﻪ‬ ‫•‬
‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪاي‬ ‫•‬
‫ﺑﺮﺧﻲ وﻳﮋﮔﻲﻫﺎي ﺳﺎﺧﺘﺎر )و ﻣﺪل( دادهاي ﺷﺒﻜﻪاي‬ ‫•‬

‫‪1‬‬
‫‪ -1‬ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ‬
‫در ﻣﻔﺎﻫﻴﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻨﻈﻮر از ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ‪ ،‬ﻣﺤﻴﻄﻲ اﺳﺖ ﻛﻪ ﻣﺎﺑﻴﻦ ﺳﻄﺢ داﺧﻠﻲ‬
‫)ﻣﺤﻴﻂ ﻓﺎﻳﻠﻴﻨﮓ ﻓﻴﺰﻳﻜﻲ و ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ( و ﺳﻄﺢ ادراﻛﻲ اﺳﺖ‪ .‬ﻃﺒﻴﻌﺘﺎﺍﻳﻦ ﻣﺤﻴﻂ‬
‫ﺑﺎﻳﺪ از ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﺴﺘﻘﻞ ﻋﻤﻞ ﻛﻨﺪ‪.‬ﺍﻳﻦ ﻣﺤﻴﻂ ﻣﻨﻄﻘﺎً ﺧﻮد ﻣﻲ ﺗﻮاﻧﺪ داراي ﭼﻨﺪ‬
‫ﺳﻄﺢ ﺑﺎﺷﺪ‪ .‬ﺷﻜﻞ ‪ 1-5‬ﻧﻤﺎي ﻛﻠﻲ از ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ را ﻧﺸﺎن ﻣﻲ دﻫﺪ‪.‬‬
‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﻣﺪل ﺳﺎزي دادهﻫﺎ ﻧﻴﺎز ﺑﻪ اﻣﻜﺎﻧﻲ ﺑﺮاي ﻧﻤﺎﻳﺶ واﻗﻌﻴﺎت دارﻳﻢ‪،‬‬
‫ﺑﺮاي ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻧﻴﺰ ﻧﻴﺎز ﺑﻪ ﻳﻚ ﻣﺪل دادهاي ﺷﺎﻣﻞ ﻳﻚ ﺳﺎﺧﺘﺎر دادهاي‬
‫دارﻳﻢ‪ .‬ﻣﺪل دادهاي اﻣﻜﺎﻧﻲ اﺳﺖ ﺑﺮاي ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ‪ ،‬ﺗﻌﺮﻳﻒ و ﻛﻨﺘﺮل آن و‬
‫اﻧﺠﺎم ﻋﻤﻠﻴﺎت در آن‪ .‬ﻛﺎرﺑﺮ ﺑﺎ اﺳﺘﻔﺎده از ﻣﺪل دادهاي ﻣﻲﺗﻮاﻧﺪ ﻫﺮ ﺳﻪ ﻋﻤﻞ ﻣﺬﻛﻮر را در‬
‫ﻳﻚ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ اﻧﺠﺎم دﻫﺪ‪ .‬ﺑﻨﺎﺑﺮاﻳﻦ ﻣﻲﺗﻮان ﮔﻔﺖ ﻛﻪ ﻣﺪل دادهاي ﺗﺎﻣﻴﻦ ﻛﻨﻨﺪه ﻣﺤﻴﻂ‬
‫اﻧﺘﺰاﻋﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ اﺳﺖ و از ﺳﻪ ﺑﺨﺶ اﺳﺎﺳﻲ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪:‬‬
‫‪2‬‬
‫ﺑﺨﺶ ﺳﺎﺧﺘﺎري‬ ‫•‬
‫‪3‬‬
‫ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ‬ ‫•‬
‫‪4‬‬
‫ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ‬ ‫•‬

‫‪1. Ab s t r a c t E n vi r o n me n t‬‬
‫‪2. St r u c t u r a l‬‬
‫‪3. M a ni p u l a t i ve‬‬
‫‪4. In t e gr i t y‬‬
‫‪www.PDFgozar.com‬‬

‫ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ ‪89‬‬

‫ﺑﺨﺶ ﺳﺎﺧﺘﺎري‪ ،‬ﺷﺎﻣﻞ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﻣﺪل اﺳﺖ ﻛﻪ ﻫﻤﺎن ﺳﺎﺧﺘﺎر داده اي اﺻﻠﻲ‬
‫و ﻣﻔﺎﻫﻴﻢ ﻣﺮﺑﻮط ﺑﻪ آن اﺳﺖ‪.‬‬
‫ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ‪ ،‬ﻣﺠﻤﻮﻋﻪ اﻣﻜﺎﻧﺎﺗﻲ اﺳﺖ ﻛﻪ ﺑﻪ وﺳﻴﻠﻪ آﻧﻬﺎ ﻋﻤﻠﻴﺎت ﻣﻮرد ﻧﻈﺮ ﻛﺎرﺑﺮ‬
‫در ﻣﺠﺪوده ﺳﺎﺧﺘﺎر داده اي و ﻣﺒﺘﻨﻲ ﺑﺮ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ آن اﻧﺠﺎم ﻣﻲ ﺷﻮد‪.‬‬
‫ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ‪ ،‬از ﻣﺠﻤﻮﻋﻪاي از ﻗﻮاﻋﺪ )ﻣﺤﺪودﻳﺖ ﻫﺎي( ﺟﺎﻣﻌﻴﺘﻲ ﺗﺸﻜﻴﻞ ﺷﺪه‬
‫اﺳﺖ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از آﻧﻬﺎ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﺗﻮاﻧﺪ ﺻﺤﺖ‪ ،‬دﻗﺖ و‬
‫ﺳﺎزﮔﺎري داده ﻫﺎ را در ﻫﺮ ﻟﺤﻈﻪ از ﺣﻴﺎت ﭘﺎﻳﮕﺎه داده‪ ،‬ﻛﻨﺘﺮل و ﺗﻀﻤﻴﻦ ﻛﻨﺪ‪.‬‬

‫ﺷﻜﻞ ‪ 1-5‬ﺳﻄﻮح ﻣﺨﺘﻠﻒ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ‬

‫ﺑﺎ ﺍﻳﻦ ﺗﻮﺻﻴﻒ ﻫﺮ ﺳﺎﺧﺘﺎر دادهاي ﻧﻴﺰ ﻓﻘﻂ ﺑﺨﻀﻲ از ﻳﻚ ﻣﺪل دادهاي اﺳﺖ و‬
‫ﺣﺪاﻗﻞ ﻳﻚ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎر اﺳﺎﺳﻲ دارد ﻛﻪ ﺑﻪ ﻛﻤﻚ آن ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻳﺎ ﻧﻮع ارﺗﺒﺎط و ﻳﺎ‬
‫ﻫﺮ دو ﻧﻤﺎﻳﺶ داده ﻣﻲﺷﻮﻧﺪ‪ .‬در اداﻣﻪ دﻻﻳﻠﻲ ﻛﻪ اﺳﺘﻔﺎده از ﺳﺎﺧﺘﺎر دادهاي را ﺑﻴﺎن ﻣﻲﻛﻨﺪ‬
‫اراﺋﻪ ﺷﺪه اﺳﺖ‪:‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪90‬‬

‫ﺳﺎﺧﺘﺎر دادهاي ﺗﺎﻣﻴﻦ ﻛﻨﻨﺪه ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﭼﺎر ﭼﻮب ﻃﺮاﺣﻲ‬ ‫•‬
‫ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه اﺳﺖ‪.‬‬
‫ﺳﺎﺧﺘﺎر دادهاي ﻣﺒﻨﺎ )و ﭼﺎرﭼﻮب( ﻃﺮاﺣﻲ دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ‪ ،‬دﺳﺘﻮرﻫﺎي‬ ‫•‬
‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهدادهﻫﺎ و دﺳﺘﻮرﻫﺎي ﻛﻨﺘﺮل دادهﻫﺎ اﺳﺖ‪.‬‬
‫ﺳﺎﺧﺘﺎر دادهاي ﻣﺒﻨﺎي ﻃﺮاﺣﻲ ‪DBMS‬ﻫﺎﺳﺖ‪ ،‬ﻳﻌﻨﻲ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺳﻪ ﻧﻮع ﻣﺪل‪ ،‬ﺳﻪ‬ ‫•‬
‫و‪ ،NDBMS‬ﺑﻪ ﻧﺤﻮي ﻛﻪ‬ ‫از‪HDBMS ،RDBMS:‬‬ ‫دارﻳﻢ ﻛﻪ ﻋﺒﺎرﺗﻨﺪ‬ ‫‪DBMS‬‬ ‫رده‬
‫ﻫﻮﻳﺖ "ﻫﺮ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ" ﻫﻤﺎن ﻣﺪل دادهاي آن اﺳﺖ‪.‬‬
‫ﺳﺎﺧﺘﺎر دادهاي ﺿﺎﺑﻄﻪاي اﺳﺖ ﺑﺮاي ﻣﻘﺎﻳﺴﻪ ‪DBMS‬ﻫﺎ و ﻧﻴﺰ ارزﻳﺎﺑﻲ آﻧﻬﺎ‪.‬‬ ‫•‬
‫ﺳﺎﺧﺘﺎر دادهاي ﻣﺒﻨﺎﻳﻲ اﺳﺖ ﺑﺮاي ﺍﻳﺠﺎﺩ و ﮔﺴﺘﺮش ﺗﻜﻨﻴﻜﻬﺎي ﻃﺮاﺣﻲ‬ ‫•‬
‫ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬
‫ﺳﺎﺧﺘﺎر دادهاي‪ ،‬ﻣﺒﻨﺎي ﭘﮋوﻫﺶ در داﻧﺶ و ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎهدادهﻫﺎ اﺳﺖ‪.‬‬ ‫•‬

‫ﭘﺎﻳﮕﺎه داده ﻫﺎ در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ‪ ،‬ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از ﻧﻤﻮﻧﻪﻫﺎي ﻣﺘﻤﺎﻳﺰ ﻋﻨﺎﺻﺮ‬


‫ﺳﺎﺧﺘﺎري ﻳﻚ ﺳﺎﺧﺘﺎر دادهاي‪ .‬در ﻣﻔﺎﻫﻴﻢ ﭘﺎﻳﮕﺎه داده‪ ،‬ﻧﻤﻮﻧﻪ ﻫﺎي ﻛﻼﺳﻴﻚ ﺳﺎﺧﺘﺎر‬
‫داده اي ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫‪1‬‬
‫ﺳﺎﺧﺘﺎر دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬ ‫•‬
‫‪2‬‬
‫ﺳﺎﺧﺘﺎر دادهاي ﺷﺒﻜﻪ‬ ‫•‬
‫‪3‬‬
‫ﺳﺎﺧﺘﺎر دادهاي راﺑﻄﻪاي‬ ‫•‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﺳﺎﺧﺘﺎرﻫﺎي داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ و ﺷﺒﻜﻪاي از رده ﺧﺎرج ﺷﺪه اﻧﺪ‪،‬‬
‫ﻟﺬا ﺍﻳﻦ دو ﺳﺎﺧﺘﺎر ﺟﻬﺖ آﺷﻨﺎﻳﻲ ﺧﻮاﻧﻨﺪﮔﺎن ﻣﺤﺘﺮم ﺑﺼﻮرت ﻛﻠﻲ ﺗﻮﺿﻴﺢ داده‬
‫ﺧﻮاﻫﺪ ﺷﺪ‪ .‬ﺳﺎﺧﺘﺎر داده اي راﺑﻄﻪ اي در ﻓﺼﻞﻫﺎي ﺑﻌﺪي ﺑﺼﻮرت ﻛﺎﻣﻞ ﻣﻮرد ﺑﺤﺚ‬
‫و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ‪.‬‬

‫‪1. H ie r a r c h i c al D at a St r u c t u r e‬‬
‫‪2. N et w o r k D a t a St r u c t u r e‬‬
‫‪3. R el a t i o n a l D a t a St r u c t u r e‬‬
‫‪www.PDFgozar.com‬‬

‫ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ ‪91‬‬

‫‪ -2‬آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬


‫اﻳﻦ ﺳﺎﺧﺘﺎر ﻗﺪﻳﻤﻲ ﺗﺮﻳﻦ ﺳﺎﺧﺘﺎر داده اي ﺑﺮاي ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه داده ﻫﺎ )در ﺳﻄﺢ‬
‫اﻧﺘﺰاﻋﻲ( اﺳﺖ‪ .‬اﻧﺴﺎن از دﻳﺮﺑﺎز ﺑﺎ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ آﺷﻨﺎ ﺑﻮد و آن را ﺑﺮاي رده‬
‫ﺑﻨﺪي ﭘﺪﻳﺪه ﻫﺎ )در ﻣﻌﻨﺎي ﻋﺎم( در ﺟﻬﺎن واﻗﻊ‪ ،‬اﺳﺘﻔﺎده ﻣﻲﻛﺮد‪ .‬در اواﺳﻂ دﻫﻪ ‪1960‬‬
‫ﻣﻴﻼدي‪ ،‬وﻗﺘﻲ ﻛﻪ ﻃﺮاﺣﺎن ﺳﻴﺴﺘﻢ ﻫﺎي ﻧﮕﻬﺪاري داده‪ -‬داده ﭘﺮدازي در اﻧﺪﻳﺸﻪ ﻳﺎﻓﺘﻦ‬
‫ﻧﻮﻋﻲ "رﻛﻮرد ﺳﺎﺧﺘﻤﻨﺪ" ﺑﻮدﻧﺪ )ﺑﻪ ﺟﺎي "رﻛﻮرد ﺧﻄﻲ ﻣﺴﻄﺢ"( ﻫﻤﻴﻦ ﻣﻔﻬﻮم‬
‫آﺷﻨﺎي "ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ" را ﺑﺮاي ﻧﻤﺎﻳﺶ داده ﻫﺎي ﻣﻮرد ﻧﻈﺮﺷﺎن‪ ،‬ﻣﻨﺎﺳﺐ ﻳﺎﻓﺘﻨﺪ‪.‬‬

‫‪ 1-2‬ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري‬
‫ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ در اﺳﺎس ﻧﻮﻋﻲ درﺧﺖ اﺳﺖ ﻛﻪ ﻣﻔﻬﻮم آﺷﻨﺎﻳﻲ اﺳﺖ‪ .‬در ﺳﺎﺧﺘﺎر‬
‫داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‪ ،‬دو ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ وﺟﻮد دارد‪:‬‬
‫ﻧﻮع رﻛﻮرد‬ ‫•‬
‫ﻧﻮع ﭘﻴﻮﻧﺪ ﭘﺪر‪-‬ﻓﺮزﻧﺪي‬ ‫•‬

‫ﺑﻄﻮرﻳﻜﻪ ﺧﻮاﻫﻴﻢ دﻳﺪ‪ ،‬ﻧﻮع رﻛﻮرد ﺑﺮاي ﻧﻤﺎﻳﺶ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻛﺎر ﻣﻲرود‪ .‬ﺑﻴﻦ‬
‫ﻫﺮ دو ﻧﻮع رﻛﻮرد ﺑﻼﻓﺼﻞ از ﻳﻚ ﻣﺴﻴﺮ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‪ ،‬ﭘﻴﻮﻧﺪ ﭘﺪر‪-‬ﻓﺮزﻧﺪي وﺟﻮد‬
‫دارد و ﺑﺎ ﺍﻳﻦ ﭘﻴﻮﻧﺪ ارﺗﺒﺎط ﺑﻴﻦ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮد‪ .‬ﺍﻳﻦ ﻧﻮع‬
‫ﭘﻴﻮﻧﺪ‪ ،‬ﻃﺒﻖ ﻣﺎﻫﻴﺖ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‪ ،‬ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ را ﻣﻲ ﺗﻮاﻧﺪ ﻧﻤﺎﻳﺶ دﻫﺪ‪.‬‬
‫در ﺳﻮي "ﻳﻚ" ارﺗﺒﺎط )‪ ،(1‬ﻧﻮع رﻛﻮرد ﭘﺪر و در ﺳﻮي "ﭼﻨﺪ" )‪ (N‬آن‪ ،‬ﻧﻮع رﻛﻮرد‬
‫ﻓﺮزﻧﺪ ﻗﺮار دارد‪.‬‬

‫‪X‬‬

‫‪.....‬‬
‫‪1: N‬‬
‫‪Y‬‬

‫‪.....‬‬

‫ﺷﻜﻞ ‪ 2-5‬ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‬


‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪92‬‬

‫ﻓﺮزﻧﺪ و رﻛﻮرد ﻧﻮع ‪ ،X‬ﭘﺪر اﺳﺖ‪ .‬ﻫﺮ ﻧﻮع رﻛﻮرد )از‬ ‫‪Y‬‬ ‫در ﺷﻜﻞ ‪ ،2-5‬رﻛﻮرد ﻧﻮع‬
‫ﻫﺮ ﺳﻄﺢ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ(‪ ،‬ﻣﻲ ﺗﻮاﻧﺪ از ﺻﻔﺮ ﺗﺎ ‪ n‬ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ )در ﺳﻄﺢ ﺑﻼﻓﺎﺻﻠﻪ‬
‫ﭘﺎﺋﻴﻦ ﺗﺮ و در ﻣﺴﻴﺮ ﻫﺎي ﻣﺨﺘﻠﻒ ﻃﺒﻌﺎ( داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﭘﺲ ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ از ﻳﻚ‬
‫ﺳﻄﺢ‪ ،‬ﺧﻮد ﻣﻲ ﺗﻮاﻧﺪ ﭘﺪر اﻧﻮاﻋﻲ از رﻛﻮرد ﻫﺎ در ﺳﻄﺢ ﺑﻼﻓﺎﺻﻠﻪ ﭘﺎﺋﻴﻦ ﺗﺮ و در ﭼﻨﺪ‬
‫ﻣﺴﻴﺮ ﺑﺎﺷﺪ‪ .‬ﺑﺪﻳﻨﺴﺎن‪ ،‬ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ از اﻧﻮاع رﻛﻮردﻫﺎ در ﺳﻄﻮح و ﻣﺴﻴﺮﻫﺎي ﻣﺨﺘﻠﻒ‬
‫ﺍﻳﺠﺎﺩ ﻣﻲ ﺷﻮد‪.‬‬
‫رﻳﺸﻪ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‪ ،‬رﻛﻮرد ﻧﻮع ﭘﺪر در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ اﺳﺖ‪ .‬ﺑﻘﻴﻪ اﻧﻮاع‬ ‫•‬
‫رﻛﻮردﻫﺎ‪ ،‬واﺑﺴﺘﮕﺎن رﻳﺸﻪ در ﺳﻄﻮح ﻣﺨﺘﻠﻒ‪ ،‬ﻫﺴﺘﻨﺪ‪.‬‬
‫رﻳﺸﻪ در ﺣﺎﻟﺖ ﺧﺎص ﻣﻤﻜﻦ اﺳﺖ اﺻﻼً ﻓﺮزﻧﺪ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ و درﺍﻳﻦ ﺻﻮرت‬ ‫•‬
‫ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ را " ﻓﻘﻂ رﻳﺸﻪ" ﻣﻲﮔﻮﻳﻴﻢ‪.‬‬

‫ﺑﺮاي ﻣﺜﺎل ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺑﺎ ﺗﻌﺪاد ‪ 9‬ﻧﻮع رﻛﻮرد در ﺷﻜﻞ ‪ 3-5‬ﻧﺸﺎن داده‬
‫ﺷﺪه اﺳﺖ‪.‬‬

‫ﺷﻜﻞ ‪ 3-5‬ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﻲ ﻧﻪ ﻧﻮع رﻛﻮرد در ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬


‫‪www.PDFgozar.com‬‬

‫ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ ‪93‬‬

‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺗﺮﺗﻴﺐ ﭘﺮ ﺷﺪن زﻳﺮ ﻣﺠﻤﻮﻋﻪﻫﺎ ﺑﺮ اﺳﺎس ﻧﻴﺎز اﻃﻼﻋﺎﺗﻲ ﺑﻮده‬
‫و ﻫﻴﭻ ﻧﻮع ﻧﻈﻢ ﺧﺎﺻﻲ را ﻧﺪارد‪ .‬ﻫﻤﭽﻨﻴﻦ ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ‪ ،‬ﺗﻨﻬﺎ‬
‫ﻳﻚ ﻧﻮع رﻛﻮرد ﭘﺪر دارد‪.‬‬
‫ﺗﻮﺟﻪ‪ :‬ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‪ ،‬از ﻟﺤﺎظ ﻧﻈﺮي ﻣﻲ ﺗﻮاﻧﺪ ﻫﺮ ﺗﻌﺪاد ﻣﺴﻴﺮ داﺷﺘﻪ ﺑﺎﺷﺪ‬
‫)ﻋﺮض( و ﻋﻤﻖ ﻫﺮ ﻣﺴﻴﺮ ﻫﻢ ﻣﺤﺪودﻳﺘﻲ ﻧﺪارد‪ .‬اﻣﺎ در ﺳﻴﺴﺘﻢ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻋﺮض‬
‫و ﻋﻤﻖ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻣﻌﻤﻮﻻً ﻳﻚ ﺳﻘﻒ ﺣﺪاﻛﺜﺮ )ﻣﺜﻼ ‪ 16‬ﺳﻄﺢ( دارد‪.‬‬

‫‪ 2-2‬ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬


‫در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ )از دﻳﺪ ﻛﺎرﺑﺮ( ﭘﺎﻳﮕﺎهداده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‪ ،‬ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ ﻣﻨﻄﻘﺎً‬
‫"ﻣﻨﻈﻢ" از ﻧﻤﻮﻧﻪ ﻫﺎي ﻣﺘﻤﺎﻳﺰ ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‪) .‬روﺷﻦ اﺳﺖ ﻛﻪ‬
‫در ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ‪ ،‬ﻧﻬﺎﻳﺘﺎ ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از ﻓﺎﻳﻠﻬﺎي ذﺧﻴﺮه ﺷﺪه ﺑﻬﻢ ﻣﺮﺗﺒﻂ ﺑﺮ‬
‫اﺳﺎس ﻫﻤﺎن ﭘﻴﻮﻧﺪﻫﺎي ﻣﻨﻄﻘﻲ و ﺑﺎ ﺳﺎﺧﺘﺎر ﻣﺸﺨﺺ(‪.‬‬
‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در ﻫﺮ ﻧﻤﻮﻧﻪ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‪ ،‬ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﺘﻤﺎﻳﺰ از رﻳﺸﻪ دارﻳﻢ‬
‫)ﻋﺎﻣﻞ ﺗﻤﺎﻳﺰ‪ ،‬ﻛﻠﻴﺪ رﻳﺸﻪ اﺳﺖ(‪ .‬ﻫﺮ ﻧﻤﻮﻧﻪ از ﻳﻚ رﻛﻮرد از ﻳﻚ ﺳﻄﺢ ﻣﻲﺗﻮاﻧﺪ از ﺻﻔﺮ ﺗﺎ‬
‫ﻧﻤﻮﻧﻪ از ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ ﺑﻼﻓﺼﻞ‪ ،‬داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﻧﻤﻮﻧﻪﻫﺎي ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ‬ ‫‪n‬‬
‫ذﻳﻞ ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر ﻣﺸﺨﺺ ﻫﻢ از ﻳﻜﺪﻳﮕﺮ ﻣﺘﻤﺎﻳﺰﻧﺪ‪ .‬ﻋﺎﻣﻞ ﺗﻤﺎﻳﺰ‪ ،‬ﻫﻤﺎن ﻛﻠﻴﺪ رﻛﻮرد‬
‫ﻓﺮزﻧﺪ اﺳﺖ‪ .‬ﺑﻪ ﻋﻨﻮان اوﻟﻴﻦ ﻣﺜﺎل‪ ،‬ﻧﻤﻮدار ‪ ER‬ﺷﻜﻞ ‪ 4-5‬را در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ‪.‬ﺍﻳﻦ ﻧﻤﻮدار‬
‫ﻧﻮع ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺖﻫﺎ داﻧﺸﺠﻮ‪ ،‬و ﮔﺮوه آﻣﻮزﺷﻲ را ﻧﺸﺎن ﻣﻲدﻫﺪ‪:‬‬

‫ﺷﻜﻞ ‪ 4-5‬ﻧﻤﻮدار ‪ ER‬ﻣﺜﺎل ‪1‬‬


‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪94‬‬

‫ﻓﺮض ﻣﻲﻛﻨﻴﻢ ﻛﻪ ﻳﻚ داﻧﺸﺠﻮ ﻓﻘﻂ در ﻳﻚ ﮔﺮوه آﻣﻮزﺷﻲ ﺗﺤﺼﻴﻞ ﻣﻲﻛﻨﺪ‬


‫)واﺑﺴﺘﻪ ﺑﻪ ﻳﻚ ﮔﺮوه آﻣﻮزﺷﻲ اﺳﺖ(‪ .‬ﭼﻨﺪي ارﺗﺒﺎط "ﺗﺤﺼﻴﻞ ﻛﺮدن " درﺍﻳﻦ ﻣﺜﺎل‪ ،‬ﻳﻚ‬
‫ﺑﻪ ﭼﻨﺪ اﺳﺖ‪ ،‬ﺑﻨﺎﺑﺮاﻳﻦ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺑﻪ ﺻﻮرت ﺷﻜﻞ ‪ 5-5‬ﻃﺮاﺣﻲ ﻣﻲﻛﻨﻴﻢ‪:‬‬

‫‪DEPT‬‬

‫‪DID‬‬ ‫‪.....‬‬

‫‪STUDENT‬‬

‫‪STID‬‬ ‫‪.....‬‬ ‫‪TERM‬‬ ‫‪YEAR‬‬

‫ﻧﻮع ‪DEST‬‬ ‫ﺷﻜﻞ ‪ 5-5‬ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‬

‫واﺑﺴﺘﻪ‬ ‫‪STUD‬‬ ‫رﻳﺸﻪ‪ -‬ﭘﺪر و رﻛﻮرد ﻧﻮع‬ ‫‪DEPT‬‬ ‫در ﺍﻳﻦ ﻃﺮح ﺳﺎده‪ ،‬رﻛﻮرد ﻧﻮع‬
‫ﺑﻼﻓﺼﻞ )ﻓﺮزﻧﺪ( اﺳﺖ‪ .‬ﻓﻘﻂ ﻓﻴﻠﺪ ﺻﻔﺖ ﺷﻨﺎﺳﻪ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ راﻧﺸﺎن دادهاﻳﻢ‪ .‬ﺻﻔﺖ‬
‫ارﺗﺒﺎط‪ ،‬ﻓﻴﻠﺪي از ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ ﻣﻲﺷﻮد‪ .‬ﭘﺲ ﭘﺎﻳﮕﺎهداده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﺠﻤﻮﻋﻪاي‬
‫اﺳﺖ ﻣﻨﻄﻘﺎً ﻣﻨﻈﻢ از ﻧﻤﻮﻧﻪﻫﺎي ﻣﺘﻤﺎﻳﺰ ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‪.‬‬

‫ﻣﺜﺎل ‪ :2‬در ﻣﺜﺎل ﻗﺒﻞ‪ ،‬ﭼﻨﺪي ارﺗﺒﺎط "ﻳﻚ ﺑﻪ ﭼﻨﺪ" اﺳﺖ‪ .‬درﺍﻳﻦ ﻣﺜﺎل‪ ،‬ﻳﻚ ارﺗﺒﺎط ﺑﺎ‬
‫ﭼﻨﺪي "ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ" را ﻣﻄﺮح ﻣﻲﻛﻨﻴﻢ‪.‬‬
‫ﻧﻤﻮدار "داﻧﺸﺠﻮ‪ -‬درس" را در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ‪ .‬ﻣﻲداﻧﻴﻢ ﻛﻪ ﭼﻨﺪي ارﺗﺒﺎط‬
‫"اﻧﺘﺨﺎب"‪ ،‬ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ اﺳﺖ‪ .‬اﮔﺮ ارﺗﺒﺎط ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ را ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ دو ﺳﻮﻳﻪ‬
‫ﺑﺪاﻧﻴﻢ ﺑﺮاي ﻧﻤﺎﻳﺶﺍﻳﻦ ارﺗﺒﺎط ﺑﺎ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎر دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‪ ،‬ﻣﻨﻄﻘﺎً ﺑﻪ دو ﻧﻮع‬
‫ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻧﻴﺎز دارﻳﻢ‪ .‬دو روش ﺑﺮاي ﻃﺮاﺣﻲ وﺟﻮد دارد‪:‬‬
‫روش‪ :1‬ﻃﺮاﺣﻲ دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺟﺪاﮔﺎﻧﻪ‬
‫در ﺍﻳﻦ ﻃﺮاﺣﻲ‪ ،‬ﻳﻚ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻓﺮزﻧﺪ‪ ،‬ﻣﻲ ﺗﻮاﻧﺪ ﺗﻜﺮار ﺷﻮد‪ :‬ﻣﺜﻼ در ﺳﻠﺴﻠﻪ‬
‫ﻣﺮاﺗﺐ ﻧﻮع ‪ ،STCO‬ﻳﻚ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻧﻮع درس ذﻳﻞ ﻫﺮ ﻧﻤﻮﻧﻪ رﻛﻮرد داﻧﺸﺠﻮ ﻛﻪ آن‬
‫در ﺳﻠﺴﻠﻪ‬ ‫‪STUD‬‬ ‫درس اﻧﺘﺨﺎب ﻛﺮده ﺑﺎﺷﺪ‪ ،‬ﻣﻲ آﻳﺪ‪ .‬ﭼﻨﻴﻦ اﺳﺖ ﺑﺮاي رﻛﻮرد ﻧﻮع‬
‫ﻣﺮاﺗﺐ ﻧﻮع ‪.COST‬‬
‫‪www.PDFgozar.com‬‬

‫ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ ‪95‬‬

‫ﺷﻜﻞ ‪ 6-5‬ﻧﻤﺎﻳﺶ دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺟﺪاﮔﺎﻧﻪ ﺑﺮاي ارﺗﺒﺎط ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ‬

‫ﺍﻳﻦ ﺗﻜﺮار‪ ،‬در واﻗﻊ ﻫﻤﺎن ﭘﺪﻳﺪه ﻧﺎﻣﻄﻠﻮب اﻓﺰوﻧﮕﻲ اﺳﺖ‪.‬ﺍﻳﻦ اﻓﺰوﻧﮕﻲ اﻟﺒﺘﻪ ﻣﺎﻫﻴﺘﺎ‬
‫ﻣﻨﻄﻘﻲ ﻳﺎ ادراﻛﻲ اﺳﺖ‪ .‬اﻣﺎ اﮔﺮ ﻣﻨﺠﺮ ﺑﻪ ﺑﺮوز اﻓﺰوﻧﮕﻲ در ﻣﺤﻴﻂ ﻓﻴﺰﻳﻜﻲ ذﺧﻴﺮه ﺳﺎزي‬
‫ﺷﻮد ﻣﻲﺗﻮاﻧﺪ‪:‬‬
‫ﺳﺒﺐ ﺑﺮوز ﻧﺎﺳﺎزﮔﺎري دادهاي ﺷﻮد )ﺑﻪ ﻳﺎد داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ اﻓﺰوﻧﮕﻲ ﻛﻨﺘﺮل‬ ‫•‬
‫ﻧﺸﺪه و ﻧﺎﺳﺎزﮔﺎري دادهاي ﭘﺸﺖ و روي ﻳﻚ ﺳﻜﻪاﻧﺪ !(‪.‬‬
‫ﺳﺒﺐ ﺑﺮوز ﻓﺰوﻧﻜﺎري )ﺑﻴﺸﻜﺎري(در ﺳﻴﺴﺘﻢ در اﻧﺠﺎم ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﺷﻮد‪.‬‬

‫را ﺑﺎ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻫﻢ ﻃﺮاﺣﻲ ﻛﺮد‪،‬‬ ‫‪M:N‬‬ ‫ﺗﻮﺟﻪ‪ :‬ﻣﻲ ﺗﻮان ارﺗﺒﺎط ﺑﺎ ﭼﻨﺪي‬
‫را داﺷﺖ‪ .‬اﻣﺎ ﭼﻮن ﻣﻨﻄﻖ ﻃﺒﻴﻌﻲ در ﺳﻠﺴﻠﻪ‬ ‫‪STCO‬‬ ‫ﻣﺜﻼ ﻓﻘﻂ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‬
‫ﻣﺮاﺗﺐ‪ ،‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﺎﻫﻴﺖ ﭘﻴﻮﻧﺪ ﭘﺪر‪ -‬ﻓﺮزﻧﺪي‪ ،‬ورود از رﻳﺸﻪ و ﻃﻲ ﻛﺮدن ﻣﺴﻴﺮ‬
‫ﻣﻨﺎﺳﺐ ﺑﺮاي رﺳﻴﺪن ﺑﻪ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ ﻣﻮرد ﻧﻈﺮ اﺳﺖ‪ ،‬ﺑﺮاي ﭘﺎﺳﺨﮕﻮﻳﻲ ﺑﻪ ﭘﺮﺳﺸﻲ ﻛﻪ‬
‫در آن ﻛﻠﻴﺪ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ داده ﺷﺪه ﺑﺎﺷﺪ و ﻧﻤﻮﻧﻪ )ﻫﺎي( ﭘﺪر ﻣﻮرد درﺧﻮاﺳﺖ ﺑﺎﺷﺪ‪،‬‬
‫دﻳﮕﺮ ﻧﻤﻲ ﺗﻮان ﻣﻨﻄﻘﺎً ﺑﺮ اﺳﺎس روﻳﻪ ﻣﺒﺘﻨﻲ ﺑﺮ ﭘﻴﻮﻧﺪ ﭘﺪر‪ -‬ﻓﺮزﻧﺪي ﻋﻤﻞ ﻛﺮد‪ .‬ﺑﻌﻼوه‬
‫و )ﻋﺪم وﺟﻮد ﻧﻮع ﺳﻠﺴﻠﻪ‬ ‫‪M:N‬‬ ‫ﺑﺎ داﺷﺘﻦ ﻓﻘﻂ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺑﺮاي ارﺗﺒﺎط‬
‫ﻣﺮاﺗﺐ ﻗﺮﻳﻨﻪ(‪ ،‬ﻣﺸﻜﻼﺗﻲ ﻧﺎﺷﻲ از ﻣﺎﻫﻴﺖ ﭘﻴﻮﻧﺪ ﭘﺪر‪-‬ﻓﺮزﻧﺪي در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه‬
‫ﺳﺎزي در ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﺮوز ﻣﻲ ﻛﻨﺪ )از ﺟﻤﻠﻪ ﻋﺪم اﻣﻜﺎن درج ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ ﺑﺪون‬
‫(‬ ‫وﺟﻮد ﻧﻤﻮﻧﻪ ﭘﺪر و ﻳﺎ ﻟﺰوم اﻧﺠﺎم ﺑﻬﻨﮕﺎم ﺳﺎزي ﻣﻨﺘﺸﺮ ﺷﻮﻧﺪه‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪96‬‬

‫‪1‬‬
‫‪VPCL‬‬ ‫روش ‪ :2‬ﻃﺮاﺣﻲ دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺑﻪ ﻫﻢ ﺑﺴﺘﻪ‪ :‬ﺗﻜﻨﻴﻚ‬
‫درﺍﻳﻦ روش‪ ،‬از ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺠﺎزي )ﺣﺎوي ﻧﺸﺎن ﻧﻤﺎ‪ :‬اﺷﺎره ﮔﺮ و ﺻﻔﺎت‬
‫ارﺗﺒﺎط( اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪ .‬ﺑﻪ اﻳﻦ ﻧﻮع رﻛﻮرد اﺻﻄﻼﺣﺎ "ﻓﺮزﻧﺪ ﻣﺠﺎزي" ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد‪.‬‬
‫ﻫﺮ ﻧﻤﻮﻧﻪ از ﻓﺮزﻧﺪ ﻣﺠﺎزي ﺑﻪ ﻳﻚ ﻧﻤﻮﻧﻪ " ﭘﺪر ﻣﺠﺎزي " اﺷﺎره ﻣﻲﻛﻨﺪ‪ .‬ﭼﻨﻴﻦ ﭘﻴﻮﻧﺪي‬
‫را ﭘﻴﻮﻧﺪ ﭘﺪر‪ -‬ﻓﺮزﻧﺪي ﻣﺠﺎزي ﻣﻲ ﻧﺎﻣﻴﻢ‪ .‬در ﺷﻜﻞ ‪ 7-5‬ﺍﻳﻦ روش دﻳﺪه ﻣﻲ ﺷﻮد‪.‬‬
‫در ﺍﻳﻦ ﻃﺮح ﻧﻮع رﻛﻮرد ‪ ،COPTR‬ﻓﺮزﻧﺪ ﻣﺠﺎزي ﻧﻮع رﻛﻮرد ‪ COURSE‬وﺍﻳﻦ ﻧﻮع‬
‫رﻛﻮرد‪ ،‬ﭘﺪر ﻣﺠﺎزي ﻧﻮع رﻛﻮرد ‪ COPTR‬اﺳﺖ و ﻧﻮع رﻛﻮرد ‪ ،STPTR‬ﻓﺮزﻧﺪ ﻣﺠﺎزي ﻧﻮع‬
‫اﺳﺖ‪ .‬اﻃﻼﻋﺎﺗﻲ ﻛﻪ‬ ‫‪STPTR‬‬ ‫و ﺍﻳﻦ ﻧﻮع رﻛﻮرد‪ ،‬ﭘﺪر ﻣﺠﺎزي ﻧﻮع رﻛﻮرد‬ ‫‪STUD‬‬ ‫رﻛﻮرد‬
‫ﻫﻢ ﺑﻪ ﭘﺪر و ﻫﻢ ﺑﻪ ﻓﺮزﻧﺪ ﻣﺮﺑﻮط ﻣﻲﺷﻮد )ﺻﻔﺎت ارﺗﺒﺎط(‪ ،‬در ﻧﻮع رﻛﻮرد اﺷﺎره ﮔﺮ‬
‫ﻣﺠﺎزي ﮔﻨﺠﺎﻧﺪه ﻣﻲﺷﻮد‪ :‬درﺍﻳﻨﺠﺎ ﺻﻔﺎت ‪ YRYR ،TR‬و ‪.GRADE‬‬
‫دﻳﮕﺮ ﺗﻜﺮار‬ ‫‪COURSE‬‬ ‫و‬ ‫‪STUD‬‬ ‫در ﺍﻳﻦ ﻃﺮاﺣﻲ‪ ،‬ﻧﻤﻮﻧﻪﻫﺎي دو ﻧﻮع رﻛﻮرد‬
‫ﻧﻤﻲﺷﻮﻧﺪ‪ .‬ﺍﻳﻦ ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ‪ ،‬اﻟﺒﺘﻪ ﺑﻪ ﻗﻴﻤﺖ ﭘﻴﭽﻴﺪهﺗﺮ ﺷﺪن ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي‬
‫ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺗﻤﺎم ﻣﻲﺷﻮد )ﺑﻪ وﻳﮋه اﮔﺮ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻣﻮرد ﻧﻴﺎز‪ ،‬ﺑﺰرگ ﺑﺎﺷﺪ )در ﻋﺮض‬
‫و ﻋﻤﻖ((‪ .‬ﺷﺎﻳﺎن ذﻛﺮ اﺳﺖ ﻛﻪ از دﻳﺪﮔﺎه ﻧﻈﺮي‪ ،‬ﺍﻳﻦ ﺗﻜﻨﻴﻚ رﺑﻄﻲ ﺑﻪ ﻣﺎﻫﻴﺖ ﺳﺎﺧﺘﺎر‬
‫دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻧﺪارد‪ ،‬ﺑﻠﻜﻪ اﻣﻜﺎﻧﻲ اﺳﺖ ﺑﺮاي ﻧﻤﺎﻳﺶ ﺑﻬﻢ ﺑﺴﺘﮕﻲ دو ﻳﺎ ﺑﻴﺶ از‬
‫دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ و از آﻧﺠﺎ‪ ،‬اﻣﻜﺎﻧﻲ اﺳﺖ ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ‪.‬‬

‫ﺷﻜﻞ ‪ 7-5‬ﭘﻴﻮﻧﺪ ﭘﺪر‪ -‬ﻓﺮزﻧﺪي ﻣﺠﺎزي‬

‫‪1. V ir t u a l P a r e n t C h i l d Li n k‬‬
‫‪www.PDFgozar.com‬‬

‫ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ ‪97‬‬

‫از ﻧﻈﺮ ﻣﻔﻬﻮﻣﻲ‪ ،‬ﻳﻜﺴﺎن ﻫﺴﺘﻨﺪ‪ ،‬ﺗﻔﺎوت در‬ ‫‪VPCL‬‬ ‫و‬ ‫‪PCL‬‬ ‫ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ‬
‫ﻃﺮز ﭘﻴﺎده ﺳﺎزي آﻧﻬﺎ اﺳﺖ‪ PCL :‬ﺑﺎ اﺳﺘﻔﺎده از ﺗﻮاﻟﻲ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﭘﻴﺎده ﺳﺎزي ﻣﻲﺷﻮد و‬
‫‪ VPCL‬ﺑﺎ اﺳﺘﻔﺎده از ﻧﺸﺎﻧﻪ رو ﻓﻴﺰﻳﻜﻲ ﺣﺎوي آدرس و ﻳﺎ ﻧﺸﺎﻧﻪ رو ﻣﻨﻄﻘﻲ ﺣﺎوي ﻛﻠﻴﺪ‪ ،‬از‬
‫رﻛﻮرد ﻓﺮزﻧﺪ ﻣﺠﺎزي ﺑﻪ رﻛﻮرد ﭘﺪر ﻣﺠﺎزي‪.‬ﺍﻳﻦ ﺗﻜﻨﻴﻚ ﺳﺒﺐ اﻓﺰاﻳﺶ ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ در‬
‫ﭘﺎﺳﺦ ﮔﻮﻳﻲ ﺑﻪ ﺑﻌﺾ ﭘﺮﺳﺸﻬﺎ ﻣﻲﺷﻮد‪.‬‬

‫ﻣﺜﺎل ‪ :3‬درﺍﻳﻦ ﻣﺜﺎل‪ ،‬ﻳﻚ ارﺗﺒﺎط ﺳﻪ ﻣﻮﺟﻮدﻳﺘﻲ را در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢ‪ :‬ارﺗﺒﺎط ﺑﻴﻦ اﻧﻮاع‬
‫ﻣﻮﺟﻮدﻳﺖ ﻫﺎي داﻧﺸﺠﻮ‪ ،‬درس و اﺳﺘﺎد ﻛﻪ در ﺑﺤﺚ ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ داده ﻫﺎ دﻳﺪﻳﻢ‪.‬‬
‫ﻧﻤﻮدار ‪ ER‬ﻣﺮﺑﻮﻃﻪ در ﺷﻜﻞ ‪ 8-5‬ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪:‬‬

‫ﺷﻜﻞ ‪ 8-5‬ﻧﻤﻮدار ‪ ER‬ارﺗﺒﺎط ﺑﻴﻦ ﺳﻪ ﻣﻮﺟﻮدﻳﺖ‬

‫ﺑﺮاي ﺗﺒﺪﻳﻞ ﺍﻳﻦ ﻧﻤﻮدار ﺑﻪ ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‪ ،‬دو روش ﻣﻤﻜﻦ ﺑﻪ‬
‫ﺻﻮرت زﻳﺮ ﺧﻮاﻫﻨﺪ ﺑﻮد‪:‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪98‬‬

‫روش اول‪:‬‬

‫روش دوم‪:‬‬

‫ﺷﻜﻞ ‪ 9-5‬روشﻫﺎي ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺳﻪ ﻣﻮﺟﻮدﻳﺘﻲ ﺑﺎ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬

‫‪ 3-2‬ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬


‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‪ ،‬ﺑﺮﺧﻲ از‬
‫دﺳﺘﻮرات ﻻزم‪ ،‬ﺑﻄﻮر ﻛﻠﻲ ﭼﻨﻴﻦ اﻧﺪ‪:‬‬
‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻧﻮع رﻳﺸﻪ‪.‬‬ ‫•‬
‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ رﻳﺸﻪ ﺑﻌﺪي‪.‬‬ ‫•‬
‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ از ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر )ﺑﻼﻓﺼﻞ ﻳﺎ از ﻧﻤﻮﻧﻪ ﭘﺪران ﺗﺎ‬ ‫•‬
‫رﻳﺸﻪ(‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ ‪99‬‬

‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ ﺑﻌﺪي از ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر‪.‬‬ ‫•‬


‫دﺳﺘﻮر درج ﻳﻚ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ زﻳﺮ ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر )ﻣﺸﺨﺼﺎت ﻣﺴﻴﺮ‪ ،‬در‬ ‫•‬
‫ﺻﻮرت ﻧﻴﺎز ﺑﺎﻳﺪ داده ﺷﻮد(‪.‬‬
‫دﺳﺘﻮر ﺣﺬف ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ از ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر)ﻣﺸﺨﺼﺎت ﻣﺴﻴﺮ‪ ،‬در‬ ‫•‬
‫ﺻﻮرت ﻧﻴﺎز ﺑﺎﻳﺪ داده ﺷﻮد(‪.‬‬
‫دﺳﺘﻮر ﺑﻬﻨﮕﺎم ﺳﺎزي ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ از ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر )ﻣﺸﺨﺼﺎت‬ ‫•‬
‫ﻣﺴﻴﺮ‪ ،‬در ﺻﻮرت ﻧﻴﺎز ﺑﺎﻳﺪ داده ﺷﻮد(‪.‬‬

‫‪ 4-2‬ﺑﺮﺧﻲ وﻳﮋﮔﻲﻫﺎي ﺳﺎﺧﺘﺎر )و ﻣﺪل( دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬


‫در اداﻣﻪ ﺑﺮﺧﻲ وﻳﮋﮔﻲ ﻫﺎي ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﺑﻪ اﺧﺘﺼﺎر ﺑﻴﺎن ﺷﺪه اﺳﺖ‪:‬‬
‫ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻧﺪارد )ﺣﺪاﻗﻞ در ﺳﻴﺴﺘﻢ ﻣﻮﺟﻮد( و ازﺍﻳﻦ رو ﻣﻴﺰان اﻧﺘﺰاع آن‬ ‫•‬
‫ﺑﻪاﻧﺪازه اﻧﺘﺰاع ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ ﻧﻴﺴﺖ )اﻟﺒﺘﻪ ﮔﺮاف ﻳﻚ ﺳﻮﻳﻪ‪ ،‬ﺑﻲﮔﺴﺴﺖ و‬
‫ﻧﺎﺑﺎزﮔﺸﺘﻲ ﻣﻲﺗﻮاﻧﺪ ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻣﻨﺎﺳﺒﻲ ﺑﺮاي ﺍﻳﻦ ﺳﺎﺧﺘﺎر دادهاي ﺑﺎﺷﺪ(‪.‬‬
‫دو ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ دارد )و ﻧﻪ ﻳﻜﻲ(‪.‬‬ ‫•‬
‫ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ ﻣﻨﺎﺳﺐ اﺳﺖ )ﻣﺤﺪودﻳﺖ ﺳﺎﺧﺘﺎر(‪.‬‬ ‫•‬
‫در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي ﻣﺸﻜﻼﺗﻲ دارد‪.‬‬ ‫•‬
‫در ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ" دﺷﻮاري دارد و ﻧﻴﺰ در ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺳﻪ ﮔﺎﻧﻲ‬ ‫•‬
‫‪1 :N‬‬ ‫ﻳﺎ ﺑﺎ درﺟﻪ ﺑﻴﺸﺘﺮ و ﻫﻤﭽﻨﻴﻦ وﻗﺘﻲ ﻛﻪ دو ﻳﺎ ﺑﻴﺶ از دو ارﺗﺒﺎط ﺑﺎ ﭼﻨﺪي‬
‫ارﺗﺒﺎط‪ ،‬ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ واﺣﺪ وﺟﻮد‬ ‫‪N‬‬ ‫داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ در آﻧﻬﺎ‪ ،‬در ﻃﺮف‬
‫داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬ﺑﻪ ﺻﻮرت ﺷﻜﻞ زﻳﺮ‪.‬‬

‫ﻣﻤﻜﻦ اﺳﺖ ﻳﻜﺴﺎن ﻫﻢ‬ ‫‪ E1‬و‪E2‬‬ ‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ درﺍﻳﻦﺟﺎ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬
‫ﺑﺎﺷﻨﺪ‪ ،‬ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ دو ﻳﺎ ﺑﻴﺶ از دو ﻧﻮع ارﺗﺒﺎط ﺑﻴﻦ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ وﺟﻮد داﺷﺘﻪ‬
‫ﺑﺎﺷﺪ(‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 100‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﺷﻜﻞ ‪ 10-5‬ﻧﻤﻮدار ﺗﻮع ارﺗﺒﺎط ‪ 1‬ﺑﻪ ﭼﻨﺪ‬

‫‪ -3‬آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر دادهاي ﺷﺒﻜﻪاي‬


‫اﻳﻦ ﺳﺎﺧﺘﺎر )ﻛﻪ ﮔﺎه ﺑﻪ آن ﺳﺎﺧﺘﺎر ﭘﻠﻜﺲ ﻫﻢ ﻣﻲ ﮔﻮﻳﻨﺪ(‪ ،‬ﻧﺨﺴﺘﻴﻦ ﺑﺎر در ﺳﺎل ‪1966‬‬
‫ﭘﻴﺸﻨﻬﺎد ﺷﺪه اﺳﺖ‪ .‬در ﺳﺎل‬ ‫‪ANSI‬‬ ‫واﺑﺴﺘﻪ ﺑﻪ‬ ‫‪DBTG‬‬ ‫ﺗﻮﺳﻂ ﻳﻚ ﮔﺮوه ﻛﺎري ﺑﻪ ﻧﺎم‬
‫‪ 1971‬اوﻟﻴﻦ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﺷﺒﻜﻪ اي )‪ (NDBMS‬ﻣﻮرد ﺗﺎﺋﻴﺪ ‪،ANSI‬‬
‫ﺗﻮﺳﻂ ﻫﻤﺎن ﮔﺮوه ﻛﺎري ﻃﺮاﺣﻲ ﺷﺪ‪.‬ﺍﻳﻦ ﺳﻴﺴﺘﻢ ﮔﺎه ﺑﻪ ﺳﻴﺴﺘﻢ‬ ‫‪IDMS‬‬ ‫ﺑﻪ ﻧﺎم‬
‫ﻛﻮداﺳﻴﻞ و ﻣﺪل داده اي ﺷﺒﻜﻪ اي ﺑﻪ ﻣﺪل دادهاي ﻛﻮداﺳﻴﻞ ﻧﻴﺰ ﻣﻮﺳﻮم اﺳﺖ‪.‬‬
‫ﺳﻴﺴﺘﻢ ﻫﺎي ﺷﺒﻜﻪ اي دﻳﮕﺮ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫‪VAX- DBMS‬‬ ‫•‬
‫‪IMAGE‬‬ ‫•‬
‫‪.1100-DMS‬‬ ‫•‬

‫‪ 1-3‬ﺗﻌﺮﻳﻒ ﺳﺎﺧﺘﺎر ﺷﺒﻜﻪ‬


‫ﺷﺒﻜﻪ ﻧﻮﻋﻲ ﮔﺮاف ﺟﻬﺖ دار اﺳﺖ ﻛﻪ در آن ﮔﺮه ﻫﺎ ﺑﻪ ﻛﻤﻚ ﻳﺎل ﻫﺎﻳﻲ ﺑﻬﻢ ﺑﺴﺘﻪ اﻧﺪ‪.‬‬
‫در ﺷﻜﻞ ‪ 10-5‬ﻳﻚ ﺷﺒﻜﻪ ﺑﺎ ﻫﺸﺖ ﮔﺮه دﻳﺪه ﻣﻲ ﺷﻮد‪.‬ﺍﻳﻦ ﺳﺎﺧﺘﺎر را ﻣﻲ ﺗﻮان‬
‫ﮔﺴﺘﺮش ﻳﺎﻓﺘﻪ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ داﻧﺴﺖ ﺑﻬﺎﻳﻦ ﻣﻌﻨﺎ ﻛﻪ در آن ﻫﺮ ﻧﻮع ﮔﺮه ﻓﺮزﻧﺪ‬
‫ﻣﻲ ﺗﻮاﻧﺪ ﺑﻴﺶ از ﻳﻚ ﻧﻮع ﮔﺮه ﭘﺪر داﺷﺘﻪ ﺑﺎﺷﺪ و ﺑﻨﺎﺑﺮﻳﻦ ازﺍﻳﻦ ﻧﻈﺮ‪ ،‬ﻣﺤﺪودﻳﺖ ﻋﺪم‬
‫ﺗﻘﺎرن ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ را ﻧﺪارد‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ ‪101‬‬

‫ﺷﻜﻞ ‪ 11-5‬ﻧﻤﺎﻳﺶ ﻛﻠﻲ ﺳﺎﺧﺘﺎر ﺷﺒﻜﻪ‬

‫‪ 2-3‬ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري‬
‫در ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي دو ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ وﺟﻮد دارد‪:‬‬
‫ﻧﻮع رﻛﻮرد‬ ‫•‬
‫ﻧﻮع ﻣﺠﻤﻮﻋﻪ‬ ‫•‬

‫ﻧﻮع رﻛﻮرد‪ :‬ﺑﺮاي ﻧﻤﺎﻳﺶ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻛﺎر ﻣﻲ رود )ﻣﺜﻞ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ‬
‫ﻣﺮاﺗﺒﻲ(‪ .‬در ﻳﻚ ﻧﻮع رﻛﻮرد ﻃﺒﻌﺎ ﺻﻔﺎﺗﻲ وﺟﻮد دارد ﻛﻪ ﻣﻲﺗﻮاﻧﻨﺪ ﺳﺎده ﺗﻜﺮار ﺷﻮﻧﺪه‬
‫)ﺑﺮدار در اﺻﻄﻼح ﺷﺒﻜﻪ اي( ﻳﺎ ﻣﺮﻛﺐ ﺗﻜﺮار ﺷﻮﻧﺪه )ﮔﺮوه ﺗﻜﺮار ﺷﻮﻧﺪه در اﺻﻄﻼح‬
‫ﺷﺒﻜﻪ اي( ﻫﻢ ﺑﺎﺷﻨﺪ‪.‬‬

‫ﻧﻮع ﻣﺠﻤﻮﻋﻪ‪ :‬در اﺳﺎس ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ‪ 1:N‬ﺑﻴﻦ دو )ﭼﻨﺪ( ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻜﺎر‬
‫ﻣﻲ رود‪ .‬ﻧﻮع ﻣﺠﻤﻮﻋﻪ )ﻛﻪ ﺑﻪ آن ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞ ﻫﻢ ﻣﻲ ﮔﻮﻳﻨﺪ(‪ ،‬از ﺳﻪ ﺟﺰء‬
‫ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪:‬‬
‫ﻧﺎم ﻣﺠﻤﻮﻋﻪ‬ ‫•‬
‫ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ‬ ‫•‬
‫ﻳﻚ ﻧﻮع رﻛﻮرد ﻋﻀﻮ‬ ‫•‬

‫ﻫﺮ ﭼﻨﺪ ﺍﻳﻦ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري در اﺳﺎس ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﻳﻚ ﺑﻪ ﭼﻨﺪ" ﺑﻴﻦ دو ﻳﺎ‬
‫ﺑﻴﺶ از دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻜﺎر ﻣﻲ رود‪ ،‬اﻣﺎ ﻣﻲ ﺗﻮان ارﺗﺒﺎط "ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ" را ﻫﻢ ﺑﺎ‬
‫آن ﻧﻤﺎﻳﺶ داد‪ .‬در ﺍﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ ﻧﻜﺎت زﻳﺮ ﺗﻮﺟﻪ ﮔﺮدد‪:‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 102‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﻣﺎﻟﻚ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ‪ ،‬ﻣﻲﺗﻮاﻧﺪ ﻣﺎﻟﻚ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ‪.‬‬ ‫•‬
‫ﻣﺎﻟﻚ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮاﻧﺪ ﻋﻀﻮ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ‪.‬‬ ‫•‬
‫ﻋﻀﻮ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮاﻧﺪ ﻣﺎﻟﻚ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ‪.‬‬ ‫•‬
‫ﻋﻀﻮ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮاﻧﺪ ﻋﻀﻮ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ‪ .‬ﺑﻪ اﻳﻦ‬ ‫•‬
‫ﻋﻀﻮ‪ ،‬ﻋﻀﻮ ﻣﺸﺘﺮك ﻳﺎ ﭘﻴﻮﻧﺪ دﻫﻨﺪه ﻣﻲﮔﻮﺋﻴﻢ و در ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺑﺎ ﭼﻨﺪي‬
‫‪ N:M‬ﺑﻜﺎر ﻣﻲآﻳﺪ‪.‬‬

‫ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ‪ ،‬ﻣﻲ ﺗﻮاﻧﺪ ﻧﻤﻮﻧﻪ ﻫﺎﻳﻲ داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬در ﻫﺮ ﻧﻤﻮﻧﻪ ﻣﺠﻤﻮﻋﻪ‪ ،‬ﻳﻚ ﻧﻤﻮﻧﻪ‬
‫ﻧﻤﻮﻧﻪ ﻣﺘﻤﺎﻳﺰ از رﻛﻮرد ﻧﻮع ﻋﻀﻮ‬ ‫‪n≥ 0‬‬ ‫ﻣﺸﺨﺺ و ﻣﺘﻤﺎﻳﺰ از رﻛﻮرد ﻧﻮع ﻣﺎﻟﻚ و‬
‫وﺟﻮد دارد‪ .‬ﭘﺎﻳﮕﺎه داده ﻫﺎي ﺷﺒﻜﻪ اي در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ )از دﻳﺪ ﻛﺎرﺑﺮ( ﻣﺠﻤﻮﻋﻪ اي‬
‫اﺳﺖ ﻣﻨﻄﻘﺎً "ﻣﻨﻈﻢ" از ﻧﻤﻮﻧﻪ ﻫﺎي ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﻧﻮع ﻣﺠﻤﻮﻋﻪ‪.‬‬

‫‪ 3-3‬ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪاي‬


‫ﭘﺎﻳﮕﺎه داده ﺷﺒﻜﻪ اي روش ﺧﺎص ﺧﻮد ﺟﻬﺖ ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺖ ﻫﺎ را دارا‬
‫اﺳﺖ‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻫﻤﻴﺖ ارﺗﺒﺎط ﻫﺎي از ﻧﻮع ﻳﻚ ﺑﻪ ﭼﻨﺪ و ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ‪ ،‬ﻧﺤﻮه ﻧﻤﺎﻳﺶ‬
‫و ﭘﻴﺎده ﺳﺎزي ﺍﻳﻦ دو ﻧﻮع ارﺗﺒﺎط در زﻳﺮ ﺗﻮﺿﻴﺢ داده ﺷﺪه اﻧﺪ‪.‬‬

‫ﭼﻨﺪ"‬ ‫‪ 1-3-3‬ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط " ﻳﻚ ﺑﻪ‬


‫در ﺍﻳﻦ ﻧﻮع ﺣﺎﻟﺖ ﻧﻮع رﻛﻮرد ﺳﻮي " ﻳﻚ " را ﻣﺎﻟﻚ و ﻧﻮع رﻛﻮرد ﺳﻮي " ﭼﻨﺪ " را‬
‫ﻋﻀﻮ در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢ‪.‬‬

‫ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞ‪DEST‬‬ ‫ﺷﻜﻞ ‪ 12-5‬ﻧﻮع‬


‫‪www.PDFgozar.com‬‬

‫ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ ‪103‬‬

‫‪1‬‬
‫در ﺍﻳﻦ ﻧﻤﻮدار ﻛﻪ ﺑﻪ آن ﻧﻤﻮدار ﺑﺎﺧﻤﻦ ﻫﻢ ﻣﻲ ﮔﻮﻳﻨﺪ‪ ،‬ﻧﻮع رﻛﻮرد ‪ ،DEPT‬ﻣﺎﻟﻚ‪ ،‬و‬
‫‪DEST‬‬ ‫ﻧﻮع رﻛﻮرد ‪ ،STUD‬ﻋﻀﻮ اﺳﺖ‪.‬ﺍﻳﻦ ﻧﻤﻮدار ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞ ﺑﻪ ﻧﺎم‬
‫را ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﺪ‪ .‬ﻣﻲ ﺑﻴﻨﻴﻢ ﻛﻪ در ﺣﺎﻟﺖ ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ‪ ،‬ﺻﻔﺖ )ﺻﻔﺎت( ارﺗﺒﺎط‪،‬‬
‫ﻓﻴﻠﺪ)ﻫﺎﻳﻲ( از ﻧﻮع رﻛﻮرد ﻋﻀﻮ ﻫﺴﺘﻨﺪ‪ .‬در ﺷﻜﻞ ‪ 13-5‬ﻧﻤﻮﻧﻪ اي از ﻧﻮع ﻣﺠﻤﻮﻋﻪ‬
‫‪ DEST‬دﻳﺪه ﻣﻲ ﺷﻮد‪.‬‬

‫ﻣﺠﻤﻮﻋﻪ ‪DEST‬‬ ‫ﺷﻜﻞ ‪ 13-5‬دو ﻧﻤﻮﻧﻪ از ﻧﻮع‬

‫ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ‪ ،‬ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪ ﻧﻮع رﻛﻮرد ﻋﻀﻮ داﺷﺘﻪ ﺑﺎﺷﺪ ﻛﻪ اﻟﺒﺘﻪ ﻳﻚ ﺣﺎﻟﺖ‬
‫ﺧﺎص اﺳﺖ و در ﺳﻴﺴﺘﻢﻫﺎي ﺷﺒﻜﻪاي ﻣﻮﺟﻮد ﭘﺬﻳﺮﻓﺘﻪ ﻧﻴﺴﺖ‪ .‬رﻛﻮرد ﻧﻮع ﻣﺎﻟﻚ در ﻳﻚ‬
‫ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮاﻧﺪ ﻣﺎﻟﻚ در ﭼﻨﺪ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﺑﺎﺷﺪ‪ .‬ﮔﻮﻧﻪ ﺧﺎﺻﻲ از ﻧﻮع ﻣﺠﻤﻮﻋﻪ‬
‫وﺟﻮد دارد ﻛﻪ رﻛﻮرد ﻧﻮع ﻣﺎﻟﻚ ﻧﺪارد و در واﻗﻊ " ﺳﻴﺴﺘﻢ " ﺧﻮد ﻣﺎﻟﻚ آن اﺳﺖ‪ .‬ﺷﻜﻞ‬
‫‪ 14-5‬ﻧﻤﻮﻧﻪاي از رﻛﻮرد ﺗﺤﺖ ﻣﺎﻟﻜﻴﺖ ﺳﻴﺴﺘﻢ را ﻧﺸﺎن ﻣﻲدﻫﺪ‪.‬‬

‫ﻣﺎﻟﻜﻴﺖ " ﺳﻴﺴﺘﻢ "‬ ‫ﺷﻜﻞ ‪ 14-5‬ﻧﻮع رﻛﻮرد ﺗﺤﺖ‬

‫‪1. B ac h ma n D i a gr a m‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 104‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ‬
‫ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻤﻜﻦ اﺳﺖ ﺑﺎزﮔﺸﺘﻲ ﺑﺎﺷﺪ‪ .‬درﺍﻳﻦ ﮔﻮﻧﻪ ﻧﻮع ﻣﺠﻤﻮﻋﻪ‪ ،‬ﻳﻚ ﻧﻮع رﻛﻮرد‬
‫ﻫﻢ ﻣﺎﻟﻚ اﺳﺖ و ﻫﻢ ﻋﻀﻮ )اﻳﻦ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻏﺎﻟﺒﺎ در ﺳﻴﺴﺘﻤﻬﺎي ﺷﺒﻜﻪ اي ﻣﺠﺎز‬
‫ﻧﻴﺴﺖ(‪ .‬ﺷﻜﻞ ‪ 15-5‬ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖ ‪ E‬ﺑﺎ ﺧﻮدش را ﻧﺸﺎن ﻣﻲ دﻫﺪ‪:‬‬

‫ﺷﻜﻞ ‪ 15-5‬ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖ ﺑﺎ ﺧﻮدش‬

‫ﭼﻨﺪ"‬ ‫‪ 2-3-3‬ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﭼﻨﺪ ﺑﻪ‬


‫ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎز ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ‪ ،‬از ﻳﻚ ﻧﻮع رﻛﻮرد ﭘﻴﻮﻧﺪ دﻫﻨﺪه اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ ﻛﻪ‬
‫ﻋﻀﻮ ﻣﺸﺘﺮك ﺑﻴﻦ دو ﻳﺎ ﺑﻴﺶ از دو ﻧﻮع ﻣﺠﻤﻮﻋﻪ اﺳﺖ )ﺗﻌﺪاد ﻧﻮع ﻣﺠﻤﻮﻋﻪﻫﺎ ﻫﻤﺎن‬
‫ﺗﻌﺪاد ﻧﻮع ﻣﻮﺟﻮدﻳﺘﻬﺎي ﺷﺮﻛﺖ ﻛﻨﻨﺪه در ارﺗﺒﺎط اﺳﺖ‪ .‬ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ ﺑﻪ ﺗﻌﺪاد درﺟﻪ‬
‫ارﺗﺒﺎط‪ ،‬ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﺑﺎ ﻋﻀﻮ ﻣﺸﺘﺮك دارﻳﻢ(‪.‬ﺍﻳﻦ ﻧﻮع رﻛﻮرد )ﻛﻪ ﻣﻲ ﺗﻮاﻧﺪ ﺑﺪون ﻳﺎ‬
‫داراي ﻓﻴﻠﺪ )ﻫﺎي( داده اي ﺑﺎﺷﺪ( را ﮔﺎه رﻛﻮرد ﺳﺎﺧﺘﮕﻲ ﻣﻲ ﻧﺎﻣﻴﻢ‪ .‬ﻓﻴﻠﺪ)ﻫﺎي( ﺍﻳﻦ‬
‫رﻛﻮرد )در ﺳﻄﺢ ﻃﺮاﺣﻲ(‪ ،‬ﻫﻤﺎن ﺻﻔﺖ )ﺻﻔﺎت( ارﺗﺒﺎط ‪ N:M‬اﺳﺖ‪ .‬ﺑﺮاي ﻧﻤﻮﻧﻪ در‬
‫ﺷﻜﻞ‪ 16-5‬ارﺗﺒﺎط " اﻧﺘﺨﺎب " ﺑﻴﻦ داﻧﺸﺠﻮ و درس ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪ .‬ﺍﻳﻦ ارﺗﺒﺎط‬
‫رﻛﻮرد‬ ‫‪TYGR‬‬ ‫ﺑﻪ ﻛﻤﻚ دو ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻧﻤﺎﻳﺶ داده ﺷﺪه اﺳﺖ ﻛﻪ در آﻧﻬﺎ رﻛﻮرد‬
‫ﭘﻴﻮﻧﺪ دﻫﻨﺪه اﺳﺖ‪.‬‬
‫ﺣﺎل ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻣﻲﺧﻮاﻫﻴﻢ ﭘﺎﻳﮕﺎهداده ﺷﺒﻜﻪاي را در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ‬
‫ﺗﻮﺻﻴﻒ ﻛﻨﻴﻢ‪ .‬ﭘﺎﻳﮕﺎهداده ﺷﺒﻜﻪاي ﻣﺠﻤﻮﻋﻪ اﻳﺴﺖ ﻣﻨﻄﻘﺎً ﻣﻨﻈﻢ از ﻧﻤﻮﻧﻪﻫﺎي ﻣﺘﻤﺎﻳﺰ ﻳﻚ ﻳﺎ‬
‫ﭼﻨﺪ ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞ‪ .‬در ﺍﻳﻨﺠﺎ ذﻛﺮ ﺍﻳﻦ ﻧﻜﺘﻪ اﻫﻤﻴﺖ دارد ﻛﻪ ﺳﺎﺧﺘﺎر ﭼﻨﺪ ﺣﻠﻘﻪاي‬
‫‪www.PDFgozar.com‬‬

‫ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ ‪105‬‬

‫ﺑﻮﻳﮋه ﮔﻮﻧﻪﻫﺎي ﻛﺎﻣﻠﺘﺮش ﻣﻲﺗﻮاﻧﺪ ﺳﺎﺧﺘﺎر ﻣﻨﺎﺳﺒﻲ ﺑﺎﺷﺪ و ﻣﻲﺗﻮان ﺍﻳﻦ ﺳﺎﺧﺘﺎر را ﺑﺎ‬
‫ﺳﺎﺧﺘﺎر ﺷﺎﺧﺺ و ﻳﺎ ﺳﺎﺧﺘﺎر ﻣﺴﺘﻘﻴﻢ از ﻃﺮﻳﻖ درﻫﻤﺴﺎزي‪ ،‬ﺗﺮﻛﻴﺐ ﻛﺮد‪.‬‬

‫ﺷﻜﻞ ‪ 16-5‬ﻧﻤﺎﻳﺶ ارﺗﺒﺎط " ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ " ﺑﻴﻦ داﻧﺸﺠﻮ و درس‬

‫‪ 4-3‬ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪاي‬


‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي‪ ،‬ﺑﺮﺧﻲ دﺳﺘﻮرات ﺑﻄﻮر ﻛﻠﻲ‬
‫ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ‬ ‫•‬
‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ ﺑﻌﺪي از ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ‬ ‫•‬
‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻳﻚ ﻧﻮع رﻛﻮرد ﻋﻀﻮ ﺑﺎ داﺷﺘﻦ ﻧﻤﻮﻧﻪ ﻣﺎﻟﻚ )ﻫﺎ(‬ ‫•‬
‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ ﺑﻌﺪي از ﻳﻚ ﻧﻮع رﻛﻮرد ﻋﻀﻮ ﺑﺎ داﺷﺘﻦ ﻧﻤﻮﻧﻪ ﻣﺎﻟﻚ )ﻫﺎ(‬ ‫•‬
‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﺎﻟﻚ از ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﺑﺎ داﺷﺘﻦ ﻳﻚ ﻧﻤﻮﻧﻪ ﻋﻀﻮ‬ ‫•‬
‫از آن‬
‫دﺳﺘﻮر درج ﻳﻚ ﻧﻤﻮﻧﻪ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ ﻳﺎ ﻧﻮع رﻛﻮرد ﻋﻀﻮ‬ ‫•‬
‫دﺳﺘﻮر ﺣﺬف ﻳﻚ ﻧﻤﻮﻧﻪ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ ﻳﺎ ﻧﻮع رﻛﻮرد ﻋﻀﻮ‬ ‫•‬
‫دﺳﺘﻮر ﺑﻬﻨﮕﺎم ﺳﺎزي ﻳﻚ ﻧﻤﻮﻧﻪ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ ﻳﺎ ﻧﻮع رﻛﻮرد ﻋﻀﻮ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫‪ 106‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫‪ 5-3‬ﺑﺮﺧﻲ وﻳﮋﮔﻲﻫﺎي ﺳﺎﺧﺘﺎر )و ﻣﺪل( دادهاي ﺷﺒﻜﻪاي‬


‫در اداﻣﻪ ﺑﺮﺧﻲ وﻳﮋﮔﻲ ﻫﺎ و ﻣﺤﺪودﻳﺖﻫﺎي ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ را ﺷﺮح ﺧﻮاﻫﻴﻢ‬
‫داد‪:‬‬
‫ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻧﺪارد )ﺣﺪاﻗﻞ در ﺳﻴﺴﺘﻢ ﻣﻮﺟﻮد(‪ ،‬ازﺍﻳﻦ رو ﻣﻴﺰان اﻧﺘﺰاع آن در‬ ‫•‬
‫ﺣﺪ ﺳﺎﺧﺘﺎر دادهاي راﺑﻄﻪاي )ﺟﺪوﻟﻲ( ﻧﻴﺴﺖ )اﻟﺒﺘﻪ ﮔﺮاف ﻣﻲﺗﻮاﻧﺪ ﻣﺒﻨﺎي‬
‫رﻳﺎﺿﻲ ﻣﻨﺎﺳﺒﻲ ﺑﺮاي ﺍﻳﻦ ﺳﺎﺧﺘﺎر دادهاي ﺑﺎﺷﺪ(‪.‬‬
‫دو ﻧﻮع ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ دارد‪.‬‬ ‫•‬
‫ﻳﻚ ﺑﻪ ﭼﻨﺪ" ﻧﻴﺴﺖ‪ ،‬ﻳﻌﻨﻲ ﻣﺤﺪودﻳﺘﻲ در‬ ‫"‬ ‫ﻣﺎﻫﻴﺘﺎ ﺧﺎص ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﺎت‬ ‫•‬
‫ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﺎت ﺑﺎ ﭼﻨﺪيﻫﺎي دﻳﮕﺮ‪ ،‬ﻧﺪارد‪.‬‬
‫ﺳﺎﺧﺖ ﻣﻨﻄﻘﻲ روﻳﻪ ﺑﺎزﻳﺎﺑﻲ آن ﭘﻴﭽﻴﺪه ﺗﺮ از ﺳﺎﺧﺘﺎرﻫﺎي دﻳﮕﺮ اﺳﺖ و ﻧﺎوش‬ ‫•‬
‫ﻏﻴﺮ اﺗﻮﻣﺎﺗﻴﻚ اﺳﺖ‪.‬‬
‫ﺧﻄﺮ ﺑﺮوز ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ ﻧﺴﺒﺖ ﺑﻪ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‪ ،‬ﻛﻤﺘﺮ اﺳﺖ‪.‬‬ ‫•‬
‫ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ ذاﺗﻲ دارد‪.‬‬ ‫•‬
‫ﺑﻌﺾ آﻧﻮﻣﺎﻟﻲﻫﺎي ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را ﻧﺪارد‪.‬‬ ‫•‬
‫ﻓﺰون ﻛﺎري اﺣﺘﻤﺎﻟﻲ ﻧﺎﺷﻲ از اﻓﺰوﻧﮕﻲ ﻛﻪ در ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﻲﺗﻮاﻧﺪ‬ ‫•‬
‫وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬درﺍﻳﻦ ﺳﺎﺧﺘﺎر وﺟﻮد ﻧﺪارد اﻣﺎ ﺑﻪ ﻋﻠﺖ ﺣﺠﻢ زﻳﺎد ﻧﺸﺎن‬
‫ﻧﻤﺎﻫﺎ )اﺷﺎره ﮔﺮﻫﺎ(‪ ،‬اﻳﺠﺎد ﻳﺎ اﺻﻼًح آﻧﻬﺎ ﻣﻲﺗﻮاﻧﺪ ﺳﺒﺐ ﺑﺮوز ﻓﺰون ﻛﺎري در‬
‫ﺳﻴﺴﺘﻢ ﺷﻮد‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ ‪107‬‬

‫ﺗﻤﺮﻳﻨﺎت‬

‫‪ .1‬دﻻﻳﻞ اﺳﺘﻔﺎده از ﺳﺎﺧﺘﺎر دادهاي را ﺷﺮح دﻫﻴﺪ ؟‬


‫‪ .2‬ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺳﺎﺧﺘﺎر داده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ را ﺷﺮح دﻫﻴﺪ ؟‬
‫‪ .3‬وﻳﮋﮔﻲ ﻫﺎ و ﻣﺤﺪودﻳﺖ ﻫﺎي ﺳﺎﺧﺘﺎر داده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ را ﺷﺮح دﻫﻴﺪ ؟‬
‫‪ .4‬ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺳﺎﺧﺘﺎر داده ﺷﺒﻜﻪ اي را ﺷﺮح دﻫﻴﺪ ؟‬
‫‪ .5‬وﻳﮋﮔﻲ ﻫﺎ و ﻣﺤﺪودﻳﺖ ﻫﺎي ﺳﺎﺧﺘﺎر داده ﺷﺒﻜﻪ اي را ﺷﺮح دﻫﻴﺪ ؟‬
‫‪ .6‬ﻧﺤﻮه ﭘﻴﺎده ﺳﺎزي ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ را در ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي ﺗﻮﺿﻴﺢ‬
‫دﻫﻴﺪ ؟‬
www.PDFgozar.com

‫ ﭘﺎﻳﮕﺎه دادهﻫﺎ‬108
‫‪www.PDFgozar.com‬‬

‫ﻓﺼﻞ ‪۶‬‬

‫ﭘﺎﻳﮕﺎﻩﺩﺍﺩﻩ ﺭﺍﺑﻄﻪﺍﻱ‬

‫ﻫﺪف ﻛﻠﻲ‬
‫دراﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﺎرﻳﺨﭽﻪ اي در ﻣﻮرد ﺑﺎﻧﻚ اﻃﻼﻋﺎت راﺑﻄﻪ اي ﺑﻴﺎن ﺷﺪه و ﺳﺎﺧﺘﺎر‬
‫داده اي راﺑﻄﻪ اي ﺑﻪ ﺗﻔﺼﻴﻞ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ‪ .‬در اﻳﻦ راﺳﺘﺎ‬
‫ﻣﻔﻬﻮم راﺑﻄﻪ ﺷﺮح داده ﺷﺪه و ﺗﻨﺎﻇﺮي ﺑﻴﻦ ﻣﻔﻬﻮم راﺑﻄﻪ و ﺟﺪول ﺑﻴﺎن ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫ﺳﭙﺲ وﻳﮋﮔﻲﻫﺎي راﺑﻄﻪ ﺷﺮح داده ﺷﺪه و در ﻣﻮرد ﻣﻔﺎﻫﻴﻤﻲ ﻣﺎﻧﻨﺪ ﻛﻠﻴﺪﻫﺎ‪ ،‬ﻧﻮع راﺑﻄﻪ‬
‫و ﻣﻔﻬﻮم دﻳﺪ ﺻﺤﺒﺖ ﺧﻮاﻫﺪ ﺷﺪ‪ .‬در اداﻣﻪ ﻣﻔﻬﻮم ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ ﻣﻄﺮح ﺷﺪه و اﻧﻮاع‬
‫ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ ﺗﻮﺿﻴﺢ داده ﺧﻮاﻫﻨﺪ ﺷﺪ‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬
‫دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬
‫‪Relational DB‬‬ ‫ﺑﺎﻧﻚ اﻃﻼﻋﺎت راﺑﻄﻪاي‬ ‫•‬
‫ﺳﺎﺧﺘﺎر دادهاي راﺑﻄﻪاي‬ ‫•‬
‫ﺗﻌﺮﻳﻒ راﺑﻄﻪ‬ ‫•‬
‫ﺗﻨﺎﻇﺮ ﺑﻴﻦ ﻣﻔﺎﻫﻴﻢ راﺑﻄﻪاي و ﻣﻔﺎﻫﻴﻢ ﺟﺪوﻟﻲ‬ ‫•‬
‫ﺗﻌﺮﻳﻒ ﺻﻮري ﺟﺪول‬ ‫•‬
‫وﻳﮋﮔﻲﻫﺎي راﺑﻄﻪ‬ ‫•‬
‫اﻧﻮاع ﻛﻠﻴﺪ در ﻣﺪل راﺑﻄﻪاي‬ ‫•‬
‫اﻧﻮاع راﺑﻄﻪ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫‪ 110‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﻣﻔﻬﻮم دﻳﺪ‬ ‫•‬


‫ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي‬ ‫•‬
‫ﻣﺘﺎ ﻗﻮاﻋﺪ‬ ‫•‬
‫ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ در ﻣﺪل راﺑﻄﻪاي‬ ‫•‬

‫‪1‬‬
‫‪ -1‬ﺑﺎﻧﻚ اﻃﻼﻋﺎت راﺑﻄﻪاي‬
‫ﭘﺲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ و ﺷﺒﻜﻪ اي‪ ،‬ﻛﻪ ﻫﺮ ﻳﻚ داراي ﺿﻌﻒ ﻫﺎﻳﻲ‬
‫ﺑﻮدﻧﺪ‪ ،‬ﻣﺘﺨﺼﺼﺎن در ﺟﺴﺘﺠﻮي ﻣﺪﻟﻲ ﺑﻮدﻧﺪ ﻛﻪ داراي ﺳﺎﺧﺘﺎر داده اي ﺑﺎ اﻧﺘﺰاع ﻗﻮي‬
‫اﺑﺪاع ﮔﺮدﻳﺪ‪ .‬اﻳﻦ ﻣﺪل داراي‬ ‫‪E.F.Codd‬‬ ‫ﺑﺎﺷﺪ‪ .‬ﻣﺪل راﺑﻄﻪ اي در ﺳﺎل ‪ 1970‬ﺗﻮﺳﻂ‬
‫ﺳﺎﺧﺘﺎر دادهاي ﺑﺎ اﻧﺘﺰاع ﻗﻮي ﺑﻮده و اﺳﺎﺳﺎً ﺳﺎﺧﺘﺎر دادهاي در آن ﺑﺮ اﺳﺎس ﻳﻚ‬
‫‪2‬‬
‫ﻣﻔﻬﻮم رﻳﺎﺿﻲ ﺑﻨﺎم راﺑﻄﻪ اﺳﺘﻮار اﺳﺖ‪ .‬در اﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ ﺷﻮد‬
‫ﻛﻪ ﻣﻔﻬﻮم راﺑﻄﻪ از دﻳﺪﮔﺎه ﻛﺎد ﺑﺎ ﻣﻔﻬﻮم رﻳﺎﺿﻲ آن ﺗﺎﺣﺪودي ﻣﺘﻔﺎوت اﺳﺖ‪ .‬در اﻳﻨﺠﺎ‬
‫ﺑﺮاي اراﺋﻪ ﺳﺎده ﺗﺮ ﻣﻮﺿﻮﻋﺎت‪ ،‬در ﻣﺒﺎﺣﺚ اﻳﻦ ﻛﺘﺎب ﻣﻔﻬﻮم راﺑﻄﻪ را ﺑﺎ ﻣﻔﻬﻮم رﻳﺎﺿﻲ‬
‫آن ﻣﺴﺎوي در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢ‪.‬‬

‫‪ -2‬ﺳﺎﺧﺘﺎر دادهاي راﺑﻄﻪاي‬


‫ﺑﺮاي ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه دادهﻫﺎ در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ ﭘﺎﻳﻴﻦ ﺗﺮ از ﺳﻄﺢ ﻣﺪل ﺳﺎزي‪ ،‬ﺑﻪ ﻳﻚ‬
‫ﺳﺎﺧﺘﺎر داده اي از ﻳﻚ ﻣﺪل داده اي ﻧﻴﺎز اﺳﺖ و اﺳﺎﺳﺎً ﻫﻤﻴﻦ ﻣﺪل داده اي ﺗﺎﻣﻴﻦ ﻛﻨﻨﺪه‬
‫ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ اﺳﺖ‪.‬‬
‫در ﭘﺎﻳﮕﺎهداده راﺑﻄﻪاي ﺑﺎﻻﺧﺺ در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﻣﻮرد اﺳﺘﻔﺎده ﻛﺎرﺑﺮ‪ ،‬راﺑﻄﻪ‬
‫ﻧﻤﺎﻳﺸﻲ ﺟﺪوﻟﻲ دارد و اﺳﺎﺳﺎً ﭘﺎﻳﮕﺎهداده راﺑﻄﻪاي ﻣﺠﻤﻮﻋﻪاي اﺳﺖ از ﺗﻌﺪادي ﻧﻮع‬
‫ﺟﺪول‪ .‬ﻣﻔﺎﻫﻴﻢ ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫ﺟﺪول‬ ‫•‬
‫ﺳﻄﺮ‬ ‫•‬

‫)‪1. R el a t i o n a l D a t a ba s e (D a t a B a n k‬‬
‫‪2. R el a t i o n‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي ‪111‬‬

‫ﺳﺘﻮن‬ ‫•‬

‫ﻫﺮ ﺟﺪول از ﻧﻈﺮ ﻣﺤﺘﻮاي داده اي ﻣﺠﻤﻮﻋﻪاي اﺳﺖ از ﻧﻤﻮﻧﻪﻫﺎي ﻣﺘﻤﺎﻳﺰ از اﻧﻮاع‬
‫ﺳﻄﺮﻫﺎ و ﻫﺮ ﺳﻄﺮ ﻧﻴﺰ ﻣﺠﻤﻮﻋﻪ اي از ﻣﻘﺎدﻳﺮ اﺳﺖ ﻛﻪ ﻫﺮ ﻛﺪام از ﻳﻚ ﻣﺠﻤﻮﻋﻪ‬
‫ﺑﺮﮔﺮﻓﺘﻪ ﺷﺪه اﻧﺪ‪ .‬ﺑﻪ ﻫﺮ ﻳﻚ از ﻋﻨﺎﺻﺮ ﺳﻄﺮ ﻳﻚ ﺳﺘﻮن ﮔﻮﻳﻨﺪ‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ‬
‫در ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ‪ ،‬ﺗﻨﻬﺎ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ ﻫﻤﻴﻦ ﻣﻔﻬﻮم ﻧﻮع ﺟﺪول اﺳﺖ‪.‬‬

‫‪ -3‬ﺗﻌﺮﻳﻒ راﺑﻄﻪ‬
‫‪ 1-3‬ﺗﻌﺮﻳﻒ راﺑﻄﻪ از دﻳﺪﮔﺎه ﻛﺎد‬
‫‪n‬‬ ‫ﺗﻌﺮﻳﻒ ﺷﺪه روي اﻳﻦ‬ ‫‪R‬‬ ‫ﻣﺠﻤﻮﻋﻪ ‪ ،Sn ،... ،S2 ،S1‬راﺑﻄﻪ‬ ‫‪n‬‬ ‫ﺑﺎ ﻓﺮض وﺟﻮد‬
‫‪1‬‬
‫ﺗﺎﻳﻲ ﻫﺎ )ﻛﻪ ﺑﻪ آن ﺗﺎﭘﻞ ﻣﻲ ﮔﻮﻳﻨﺪ( ﺑﻪ ﻧﺤﻮي ﻛﻪ ﺟﺰء‬ ‫‪n‬‬ ‫ﻣﺠﻤﻮﻋﻪ‪ ،‬ﻣﺠﻤﻮﻋﻪاﻳﺴﺖ از‬
‫اول ﻫﺮ ‪ n‬ﺗﺎﻳﻲ از ‪ ،S1‬ﺟﺰء دوم از ‪ S2‬و‪ ...‬ﻣﻘﺪار ﺑﮕﻴﺮد‪.‬‬
‫ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ‪ R‬ﻋﺒﺎرﺗﺴﺖ از زﻳﺮﻣﺠﻤﻮﻋﻪاي از ﺿﺮب ﻛﺎرﺗﺰﻳﻦ ‪ .S1*S2*…*Sn‬و‬
‫‪2‬‬
‫ﻣﻲﮔﻮﻳﻴﻢ راﺑﻄﻪ ‪ R‬از درﺟﻪ ‪ n‬اﺳﺖ‪ .‬ﻫﺮ ﻳﻚ از ﻣﺠﻤﻮﻋﻪﻫﺎي ‪ S2 ،S1‬و‪ ...‬ﻣﻴﺪان ﻳﺎ داﻣﻨﻪ‬
‫ﻧﺎﻣﻴﺪه ﻣﻲﺷﻮﻧﺪ‪ .‬داﻣﻨﻪ‪ ،‬ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮي اﺳﺖ ﻛﻪ ﻳﻚ ﺻﻔﺖ از راﺑﻄﻪ ﻣﺸﺨﺺ ﻣﻲﺗﻮاﻧﻨﺪ‬
‫داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬

‫‪D1‬‬ ‫‪D2‬‬
‫}‪D1={1,2‬‬
‫}‪D2={T,F,V‬‬ ‫‪1‬‬ ‫‪T‬‬
‫‪1‬‬ ‫‪F‬‬
‫‪D2‬‬ ‫‪*D1 = R1‬‬ ‫‪1‬‬ ‫‪V‬‬
‫‪2‬‬ ‫‪T‬‬
‫‪2‬‬ ‫‪F‬‬
‫‪2‬‬ ‫‪V‬‬

‫‪R1=D1* D2‬‬ ‫ﺷﻜﻞ ‪ 1-6‬ﻧﻤﺎﻳﺶ راﺑﻄﻪ‬

‫‪1. T u pl e‬‬
‫‪2. D o ma i n‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 112‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻣﺜﺎل ﺑﺎﻻ ﻛﻪ ﻧﺸﺎن دﻫﻨﺪه دو ﻣﺠﻤﻮﻋﻪ و ﺣﺎﺻﻞ ﺿﺮب ﺑﻴﻦ‬
‫آن دو اﺳﺖ‪ ،‬ﺗﻮﺟﻪ ﻛﻨﻴﺪ‪ .‬ﺷﺎﻳﺪ اﻳﻦ ﻣﺜﺎل ﺗﺎ ﺣﺪودي ﺷﻔﺎﻓﻴﺖ ﻻزم را ﺑﺮاي ﺧﻮاﻧﻨﺪه‬
‫ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬اﻛﻨﻮن ﻣﺜﺎل دﻳﮕﺮي را ﺑﺎ ﺟﺰﺋﻴﺎت ﺑﻴﺸﺘﺮ ﺑﻴﺎن ﻣﻲﻛﻨﻴﻢ‪ .‬ﻓﺮض ﻛﻨﻴﺪ‬
‫ﻣﺠﻤﻮﻋﻪﻫﺎي زﻳﺮ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪:‬‬
‫‪ S1‬ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺷﻤﺎره داﻧﺸﺠﻮﻳﺎن‬ ‫•‬
‫‪ S2‬ﻣﺠﻤﻮﻋﻪ اﺳﺎﻣﻲداﻧﺸﺠﻮﻳﺎن‬ ‫•‬
‫‪ S3‬ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺳﻄﻮح ﺗﺤﺼﻴﻠﻲ در داﻧﺸﮕﺎه‬ ‫•‬
‫‪ S4‬ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ رﺷﺘﻪﻫﺎي ﺗﺤﺼﻴﻠﻲ‬ ‫•‬
‫‪ S5‬ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺷﻤﺎره ﮔﺮوهﻫﺎي آﻣﻮزﺷﻲ‬ ‫•‬

‫ﺑﺎ ﭘﻨﺞ ﺻﻔﺖ ﺧﺎﺻﻪ ﻣﺮﺗﺒﻂ ﺑﺎ ﭘﻨﺞ ﻣﺠﻤﻮﻋﻪ ﺑﺎﻻ‪ ،‬ﻳﻚ راﺑﻄﻪ ﺑﻮده‬ ‫‪STT‬‬ ‫در اﻳﻦ ﺻﻮرت‬
‫و ﺑﺼﻮرت زﻳﺮ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد‪:‬‬

‫)‪STT(STID,STNAME,STDEG,STMJR,STDEID‬‬

‫راﺑﻄﻪ ‪STT‬‬ ‫ﺟﺪول ‪ 2-6‬ﻧﻤﺎﻳﺶ ﺟﺪوﻟﻲ‬

‫‪STT‬‬
‫‪STID‬‬ ‫‪STNAME‬‬ ‫‪STDEG‬‬ ‫‪STMGR‬‬ ‫‪STDEID‬‬
‫‪1‬‬ ‫‪Reza‬‬ ‫‪Bs‬‬ ‫‪computer‬‬ ‫‪V532‬‬
‫‪2‬‬ ‫‪Hamid‬‬ ‫‪ms‬‬ ‫‪math‬‬ ‫‪V135‬‬
‫…‬ ‫…‬ ‫…‬ ‫…‬ ‫…‬

‫‪ 2-3‬ﺗﻌﺮﻳﻒ راﺑﻄﻪ‬
‫از دو ﻗﺴﻤﺖ‬ ‫‪R‬‬ ‫)ﻧﻪ ﻟﺰوﻣﺎ ﻣﺘﻤﺎﻳﺰ(‪ ،‬راﺑﻄﻪ‬ ‫‪Dn‬‬ ‫ﻣﻴﺪان ‪،... ،D2 ،D1‬‬ ‫‪n‬‬ ‫ﺑﺎ ﻓﺮض وﺟﻮد‬
‫ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪:‬‬
‫‪ -1‬ﻣﺠﻤﻮﻋﻪ ﻋﻨﻮان‪ :‬ﻣﺠﻤﻮﻋﻪاي ﻧﺎﻣﺪار اﺳﺖ از ‪ n‬ﺻﻔﺖ ﺑﻪ ﺻﻮرت ‪ Ai: Di‬ﻛﻪ در آن‬
‫ﻧﺎم ﻣﻴﺪان ﺻﻔﺖ اﺳﺖ‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ‬ ‫‪Di‬‬ ‫ﻧﺎم ﻳﻚ ﺻﻔﺖ اﺳﺖ و ﻫﺮ‬ ‫‪Ai‬‬ ‫ﻫﺮ‬
‫‪1‬‬
‫‪ Ai‬ﻫﺎ از ﻳﻜﺪﻳﮕﺮ ﻣﺘﻤﺎﻳﺰ ﻫﺴﺘﻨﺪ‪ .‬ﺑﻪ اﻳﻦ ﻣﺠﻤﻮﻋﻪ ﺷﻤﺎي راﺑﻄﻪ ﻧﻴﺰ ﻣﻲ ﮔﻮﻳﻨﺪ ﻛﻪ ﺑﻪ‬
‫ﺻﻮرت ﺷﻤﺎﺗﻴﻚ ﭼﻨﻴﻦ اﺳﺖ‪:‬‬

‫‪1. R el a t i o n Sc h e ma‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي ‪113‬‬

‫}> ‪{<A :D >,<A :D >,…,<A :D‬‬


‫‪1 1‬‬ ‫‪2 2‬‬ ‫‪n n‬‬

‫‪n‬‬ ‫ﺗﺎﭘﻞ ‪ t‬ﺑﻨﺤﻮي ﻛﻪ ‪ t‬ﺧﻮد ﻣﺠﻤﻮﻋﻪاﻳﺴﺖ از‬ ‫‪m‬‬ ‫‪ -2‬ﻣﺠﻤﻮﻋﻪ ﺑﺪﻧﻪ‪ :‬ﻣﺠﻤﻮﻋﻪ اﻳﺴﺖ از‬
‫ﻋﻨﺼﺮ ﺑﺼﻮرت ‪ Ai: vi‬ﻛﻪ در آن ‪ vi‬ﻣﻘﺪاري اﺳﺖ از ﻧﻮع )ﻣﻴﺪان( ‪.Di‬‬

‫}> ‪{<A :v >,<A :v >,…,<A :v‬‬


‫‪1 i1‬‬ ‫‪2 i2‬‬ ‫‪n in‬‬
‫)‪(i = 1 , 2 , 3 , … , m‬‬
‫‪2‬‬ ‫‪1‬‬
‫ﭘﻴﻜﺮ راﺑﻄﻪ را ﮔﺎﻫﺎ ﺑﺴﻂ راﺑﻄﻪ ﻳﺎ ﺣﺎﻟﺖ راﺑﻄﻪ ﻫﻢ ﻣﻲﮔﻮﻳﻨﺪ‪.‬‬ ‫•‬
‫‪4‬‬ ‫‪3‬‬
‫ﻣﻘﺪار ‪ n‬را درﺟﻪ راﺑﻄﻪ ﻳﺎ آرﻳﺘﻲ ﻣﻲﮔﻮﻳﻨﺪ‪.‬‬ ‫•‬
‫‪5‬‬
‫ﻣﻘﺪار ‪ m‬را ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ راﺑﻄﻪ ﻣﻲﮔﻮﻳﻨﺪ‪.‬‬ ‫•‬

‫‪ 3-3‬ﺗﻨﺎﻇﺮ ﺑﻴﻦ ﻣﻔﺎﻫﻴﻢ راﺑﻄﻪاي و ﻣﻔﺎﻫﻴﻢ ﺟﺪوﻟﻲ‬


‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﺪ ﺑﺮاي ﭘﻴﺎده ﺳﺎزي ﻣﺪل راﺑﻄﻪ اي در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ از راﺑﻄﻪ‬
‫اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪ .‬ﺑﺮاي ﭘﻴﺎده ﺳﺎزي ﻣﺪل راﺑﻄﻪ اي در ﺳﺎﺧﺘﺎر ﭘﺎﻳﮕﺎه داده از ﻣﻔﻬﻮم‬
‫ﺟﺪول اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪.‬‬

‫ﺟﺪول ‪ 3-6‬ﺗﻨﺎﻇﺮ ﺑﻴﻦ اﺟﺰاء دو ﻣﻔﻬﻮم راﺑﻄﻪ و ﺟﺪول‬

‫اﺟﺰاء ﻣﻔﻬﻮم ﺟﺪوﻟﻲ‬ ‫اﺟﺰاء ﻣﻔﻬﻮم راﺑﻄﻪ‬


‫ﺟﺪول‬ ‫راﺑﻄﻪ‬
‫ﺳﻄﺮ‬ ‫ﺗﺎﭘﻞ‬
‫ﺳﺘﻮن‬ ‫ﺻﻔﺖ‬
‫ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺳﺘﻮن‬ ‫ﻣﻴﺪان‬
‫ﺗﻌﺪاد ﺳﺘﻮنﻫﺎ‬ ‫درﺟﻪ‬
‫ﺗﻌﺪاد ﺳﻄﺮﻫﺎ‬ ‫ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ‬
‫ﻣﻔﺎﻫﻴﻢ ﺟﺪول و راﺑﻄﻪ ﺗﺎ ﺣﺪود زﻳﺎدي ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻧﺰدﻳﻚ ﺑﻮده و در ﻣﻮاردي ﺑﻪ‬

‫‪1. E xt e n s i o n‬‬
‫‪2. R el a t i o n St a t e‬‬
‫‪3. D e gr e e‬‬
‫‪4. Ar i t y‬‬
‫‪5. C ar d i n a l i t y‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 114‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫اﺷﺘﺒﺎه ﺑﺠﺎي ﻳﻜﺪﻳﮕﺮ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪ .‬در ﺟﺪول ‪ 3-6‬ﺗﻨﺎﻇﺮ ﺑﻴﻦ دو‬
‫ﻣﻔﻬﻮم راﺑﻄﻪ و ﺟﺪول ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪.‬‬

‫‪ 4-3‬ﺗﻌﺮﻳﻒ ﺻﻮري ﺟﺪول‬


‫ﻣﺠﻤﻮﻋﻪ اي از ﻧﻤﺎدﻫﺎ ﻣﻮﺳﻮم ﺑﻪ ﺻﻔﺎت راﺑﻄﻪ اي ﺑﺎﺷﺪ و ﺑﺮاي‬ ‫‪U‬‬ ‫ﻓﺮض ﻣﻲ ﻛﻨﻴﻢ‬
‫وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﻧﻤﺎد ﻧﻤﺎﻳﺸﮕﺮ‬ ‫)‪Domain(A‬‬ ‫ﻣﺠﻤﻮﻋﻪ اي از ﻣﻘﺎدﻳﺮ ﺑﻪ ﻧﺎم‬ ‫ﻫﺮ‪AЄU‬‬
‫ﺳﺘﻮن ﺟﺪول اﺳﺖ و )‪ Domain(A‬ﻣﻘﺎدﻳﺮي ﻫﺴﺘﻨﺪ ﻛﻪ در ﺳﺘﻮن ‪ A‬ﻇﺎﻫﺮ ﻣﻲ ﺷﻮﻧﺪ‪.‬‬
‫ﻣﺠﻤﻮﻋﻪ اي ﻣﺘﻨﺎﻫﻲ از ﺻﻔﺎت راﺑﻄﻪ اي ﺑﺎﺷﺪ‪.‬‬ ‫} ‪H = { A ,A ,…,A‬‬
‫‪1 2‬‬ ‫‪n‬‬
‫ﻓﺮض ﻣﻲ ﻛﻨﻴﻢ‬
‫ﻣﻲ داﻧﻴﻢ ﻛﻪ ﺿﺮب ﻛﺎرﺗﺰﻳﻦ‬

‫) ‪Domain (A ) * … * Domain (A‬‬


‫‪1‬‬ ‫‪n‬‬

‫از ﺗﺎﭘﻠﻬﺎﻳﻲ ﺑﻪ ﺻﻮرت )‪ t = (a1,a2,…,an‬ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ ﻛﻪ در آن‪:‬‬

‫) ‪1<= i <= n , a Є Domain (A‬‬


‫‪i‬‬ ‫‪i‬‬

‫ﺗﺎﭘﻞ ‪ T‬را ﻣﻲ ﺗﻮان ﺑﻪ ﮔﻮﻧﻪ دﻳﮕﺮي ﻫﻢ ﺗﻌﺮﻳﻒ ﻛﺮد‪:‬‬

‫}‪t = {A ,A ,…,A } → U {Domain (A ), 1 <= i <= n‬‬


‫‪1 2‬‬ ‫‪n‬‬ ‫‪i‬‬
‫ﺑﻪ ﻧﺤﻮي ﻛﻪ‬
‫) ‪T(A ) Є Domain (A‬‬
‫‪i‬‬ ‫‪i‬‬

‫ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﻴﻢ‪،‬‬ ‫)‪tupl(H‬‬ ‫را ﺑﺎ‬ ‫) ‪Domain (A ) * … * Domain (A‬‬


‫‪1‬‬ ‫‪n‬‬
‫ﺿﺮب ﻛﺎرﺗﺰﻳﻦ‬
‫ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ‪:‬‬

‫‪Tupl(H) = {t | t: H→ U‬‬ ‫} ‪Domain (A),t(A) Є Domain (A) , for AЄ H‬‬


‫‪AЄH‬‬

‫ﻋﻨﺎﺻﺮ )‪ Tupl(H‬را ﺗﺎﭘﻠﻬﺎي روي ‪ H‬ﻣﻲ ﻧﺎﻣﻴﻢ‪.‬‬

‫زﻳﺮ ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از‬ ‫راﺑﻄﻪ ‪ R‬روي ﻣﻴﺪاﻧﻬﺎي ) ‪Domain (A ), … , Domain (A‬‬
‫‪1‬‬ ‫‪n‬‬
‫ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﻴﻢ‪ .‬ﺣﺎل‬ ‫)‪ . Tupl(H‬ﻣﺠﻤﻮﻋﻪ ﻫﻤﻪ اﻳﻦ ﮔﻮﻧﻪ راﺑﻄﻪ ﻫﺎ را ﺑﺎ )‪rel(H‬‬
‫ﻣﻲ ﮔﻮﻳﻴﻢ ﺟﺪول ﻋﺒﺎرﺗﺴﺖ از ﺳﻪ ﺗﺎﻳﻲ‪:‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي ‪115‬‬

‫ד) ‪= ( T , H , ρ‬‬

‫ﻣﺠﻤﻮﻋﻪ اي‬ ‫و } ‪H = { A ,A , … A‬‬


‫‪1 2‬‬ ‫‪n‬‬
‫ﻧﻤﺎدي اﺳﺖ ﺑﻪ ﻋﻨﻮان ﺟﺪول‬ ‫‪T‬‬ ‫ﻛﻪ در آن‪:‬‬
‫ﮔﻮﻳﻴﻢ و ‪ ρ‬ﻳﻚ راﺑﻄﻪ اﺳﺖ‪ρ Є rel (H) ،‬‬ ‫اﺳﺖ از ﺻﻔﺎت راﺑﻄﻪ اي ﻛﻪ ﺑﻪ آن ﺳﺮآﻳﻨﺪ ד‬
‫و ﺑﻪ آن ﮔﺴﺘﺮده ד ﻣﻲ ﮔﻮﻳﻴﻢ‪.‬‬

‫‪ -4‬وﻳﮋﮔﻲﻫﺎي راﺑﻄﻪ‬
‫راﺑﻄﻪ ﺑﻪ ﻋﻨﻮان ﺗﻨﻬﺎ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺻﻠﻲ در ﻣﺪل راﺑﻄﻪ اي ﺑﺮاي ﻧﻤﺎﻳﺶ اﻧﻮاع‬
‫ﻣﻮﺟﻮدﻳﺘﻬﺎ و اﻧﻮاع ارﺗﺒﺎﻃﺎت ﺑﻜﺎر ﻣﻲرود‪ .‬در واﻗﻊ در ﻣﺪل راﺑﻄﻪ اي ﻫﻢ ﻧﻮع‬
‫ﻣﻮﺟﻮدﻳﺖ و ﻫﻢ ﻧﻮع ارﺗﺒﺎط ﺑﺎ ﻣﻔﻬﻮم راﺑﻄﻪ ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮﻧﺪ و در ﻧﺘﻴﺠﻪ ﻫﻢ‬
‫ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ و ﻫﻢ ﻧﻤﻮﻧﻪ ارﺗﺒﺎط ﺑﺎ ﻣﻔﻬﻮم ﺗﺎﭘﻞ ﻧﺸﺎن داده ﻣﻲ ﺷﻮﻧﺪ‪ .‬راﺑﻄﻪ داراي‬
‫ﭼﻬﺎر وﻳﮋﮔﻲ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ‪:‬‬
‫راﺑﻄﻪ ﺗﺎﭘﻞ ﺗﻜﺮاري ﻧﺪارد‪.‬‬ ‫•‬
‫• زﻳﺮا ﺑﺪﻧﻪ راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ اﺳﺖ و ﻣﺠﻤﻮﻋﻪ ﻧﻤﻲﺗﻮاﻧﺪ ﻋﻨﺼﺮ ﺗﻜﺮاري داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫ﺗﺎﭘﻞﻫﺎ ﻧﻈﻢ ﻧﺪارﻧﺪ‪.‬‬ ‫•‬
‫• زﻳﺮا ﺑﺪﻧﻪ راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ اﺳﺖ و ﻣﺠﻤﻮﻋﻪ در ﺣﺎﻟﺖ ﻛﻠﻲ ﻓﺎﻗﺪ ﻧﻈﻢ اﺳﺖ‪.‬‬
‫ﺻﻔﺎت راﺑﻄﻪ ﻧﻈﻢ ﻣﻜﺎﻧﻲ )از ﭼﭗ ﺑﻪ راﺳﺖ( ﻧﺪارﻧﺪ‪.‬‬ ‫•‬
‫• زﻳﺮا ﺳﺮآﻳﻨﺪ راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ اﺳﺖ و ﻣﺠﻤﻮﻋﻪ در ﺣﺎﻟﺖ ﻛﻠﻲ ﻓﺎﻗﺪ ﻧﻈﻢ اﺳﺖ‪.‬‬
‫ﺗﻤﺎم ﺻﻔﺎت ﺗﻚ ﻣﻘﺪاري )ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ( ﻫﺴﺘﻨﺪ‪.‬‬ ‫•‬
‫• زﻳﺮا در ﻧﻤﺎﻳﺶ ﺟﺪوﻟﻲ راﺑﻄﻪ‪ ،‬در ﺗﻘﺎﻃﻊ ﻫﺮ ﺳﻄﺮ و ﺳﺘﻮن‪ ،‬ﺑﺎﻳﺪ ﻳﻚ ﻣﻘﺪار‬
‫وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ در ﻫﺮ ﺗﺎﭘﻞ‪ ،‬دﻗﻴﻘﺎ ﻳﻚ ﻣﻘﺪار ﺑﺮاي ﻫﺮ ﺻﻔﺖ‬
‫وﺟﻮد دارد‪.‬‬

‫‪S‬‬ ‫در اداﻣﻪ ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻣﺜﺎﻟﻲ اراﺋﻪ ﺷﺪه اﺳﺖ‪ .‬در اﻳﻦ ﻣﺜﺎل راﺑﻄﻪ اي ﺑﻨﺎم‬
‫ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪.‬‬
‫ﻣﺜﺎل ‪ :1‬راﺑﻄﻪ ‪ S‬را ﻛﻪ ﺑﻪ ﺻﻮرت ﺟﺪول ‪ 4-6‬اﺳﺖ در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪.‬‬

‫راﺑﻄﻪ ‪S‬‬ ‫ﺟﺪول ‪ 4- 6‬ﻧﻤﺎﻳﺶ ﺟﺪوﻟﻲ‬


‫‪www.PDFgozar.com‬‬

‫‪ 116‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫‪S#‬‬ ‫‪S NAME‬‬ ‫‪STATUS‬‬ ‫‪CITY‬‬


‫‪S1‬‬ ‫‪S‬‬ ‫‪20‬‬ ‫‪CONDON‬‬
‫‪S2‬‬ ‫‪J‬‬ ‫‪10‬‬ ‫‪PARIS‬‬
‫‪S3‬‬ ‫‪B‬‬ ‫‪30‬‬ ‫‪PARIS‬‬
‫‪S4‬‬ ‫‪C‬‬ ‫‪20‬‬ ‫‪LONDON‬‬
‫‪S5‬‬ ‫‪A‬‬ ‫‪30‬‬ ‫‪ATHENS‬‬

‫ﻫﻤﺎﻧﮕﻮﻧﻪ ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﺒﺪ در ﺟﺪول ﺑﺎﻻ‪:‬‬


‫ﻧﺸﺎن دﻫﻨﺪه ﻛﻠﻴﺪ اﺻﻠﻲ اﺳﺖ‪) .‬در ﻣﻮرد ﻣﺒﺤﺚ ﻛﻠﻴﺪ در اداﻣﻪ ﺗﻮﺿﻴﺢ‬ ‫‪S#‬‬ ‫•‬
‫ﺧﻮاﻫﻴﻢ داد(‪.‬‬
‫‪attribute‬‬ ‫‪ (S#‬اﻳﻦ ‪ 4‬ﻣﺸﺨﺼﻪ ﻧﺸﺎن دﻫﻨﺪه‬ ‫)‪, SNAME , STATUS , CITY‬‬ ‫•‬
‫ﻫﺴﺘﻨﺪ‪.‬‬
‫ﺷﺎﻣﻞ )‪ (ATHENS ،PARIS ،LONDON‬اﺳﺖ‪.‬‬ ‫‪CITY‬‬ ‫• داﻣﻨﻪ‬
‫• )‪ (ATHENS ،LONDON ،PARIS ،PARIS ،LONDON‬ﻧﻴﺰ ﻧﺸﺎن دﻫﻨﺪه ﺗﻌﺪاد‬
‫ﺳﻄﺮﻫﺎي ﻣﻮﺟﻮد ﻳﺎ ‪ Cardinality‬ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬
‫)‪(S5 , A , 30 , ATHENS‬ﻧﺸﺎن دﻫﻨﺪه ﺗﻌﺪاد ﺻﻔﺎت درﺟﻪ ‪ Degree‬اﺳﺖ‪.‬‬ ‫•‬

‫‪ -5‬اﻧﻮاع ﻛﻠﻴﺪ در ﻣﺪل راﺑﻄﻪاي‬


‫در ﻣﺪل راﺑﻄﻪ اي ﭼﻨﺪ ﻣﻔﻬﻮم اﺳﺎﺳﻲ در ﺑﺤﺚ ﻛﻠﻴﺪ وﺟﻮد دارد ﻛﻪ در اداﻣﻪ ﺑﺮرﺳﻲ‬
‫ﻣﻲ ﺷﻮﻧﺪ‪:‬‬
‫‪1‬‬
‫‪ 1-5‬اﺑﺮ ﻛﻠﻴﺪ‬
‫ﻫﺮ ﺗﺮﻛﻴﺒﻲ از ﺻﻔﺎت ﺟﺪول را ﻛﻪ ﻳﻜﺘﺎﻳﻲ ﻣﻘﺪار را داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬اﺑﺮ ﻛﻠﻴﺪ ﮔﻮﻳﻨﺪ )ﺑﻪ‬
‫ﺻﻮرت دﻟﺨﻮاه(‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﻫﺮ زﻳﺮ ﻣﺠﻤﻮﻋﻪ ﻋﻨﻮان راﺑﻄﻪ ﻛﻪ ﻳﻜﺘﺎﻳﻲ ﻣﻘﺪار در‬
‫ﮔﺴﺘﺮده )ﺑﺪﻧﻪ( راﺑﻄﻪ داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﺗﻌﺮﻳﻒ دﻳﮕﺮ اﺑﺮ ﻛﻠﻴﺪ ﻋﺒﺎرت اﺳﺖ از ﻫﺮ ﺗﺮﻛﻴﺒﻲ‬
‫از اﺳﺎﻣﻲ ﺻﻔﺎت راﺑﻄﻪ ﻛﻪ در ﻫﻴﭻ دو ﺗﺎﭘﻞ ﻣﻘﺪار ﻳﻜﺴﺎن ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫‪2‬‬
‫‪ 2-5‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬
‫از‬ ‫‪K‬‬ ‫ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﻣﻜﺎﻧﻲ اﺳﺖ ﺑﺮاي ارﺟﺎع ﺑﻪ "ﺗﻚ ﺗﺎﭘﻞ" در راﺑﻄﻪ‪ .‬ﻣﺠﻤﻌﻪ ﺻﻔﺎت‬

‫‪1. Su p e r ke y‬‬
‫‪2. C a nd i d a t e‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي ‪117‬‬

‫راﺑﻄﻪ ‪ ،R‬ﻳﻚ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻣﻲﺑﺎﺷﺪ )ﻣﺎﻧﻨﺪ‪ S#‬و‪(SNAME‬اﮔﺮ داراي ﺧﻮاص زﻳﺮ ﺑﺎﺷﻨﺪ‪:‬‬
‫ﺧﺎﺻﻴﺖ ﻣﻨﺤﺼﺮ ﺑﻔﺮد ﺑﻮدن )ﻳﻜﺘﺎﻳﻲ ﻣﻘﺪار(‪:‬‬ ‫•‬
‫ﻫﻴﭻ دو ‪ tuple‬ﻣﺠﺰاﺋﻲ از راﺑﻄﻪ ‪ R‬داراي ﻣﻘﺪار ﻳﻜﺴﺎﻧﻲ ﺑﺮاي ‪ K‬ﻧﺒﺎﺷﻨﺪ‪).‬ﺑﻪ ﻃﻮر‬
‫ﻫﻢ‬ ‫‪city ،status‬‬ ‫ﺗﻜﺮار دارد‪،‬‬ ‫وﻟﻲ‪CITY‬‬ ‫ﻳﻜﻲ ﻧﻴﺴﺖ‬ ‫‪S#‬‬ ‫ﻣﺜﺎل ﻫﻴﭻ دو ﺳﻄﺮ‬
‫ﻧﻤﻲﺗﻮاﻧﻨﺪ ﺑﺎ ﻫﻢ ﺑﺎ ﺷﻨﺪ زﻳﺮا دو ﻓﺮوﺷﻨﺪه‪ ،‬در ﻟﻨﺪن ‪ 20‬ﻫﺴﺘﻨﺪ(‪.‬‬
‫ﺧﺎﺻﻴﺖ ﻏﻴﺮ ﻛﺎﻫﺸﻲ)‪:(minimal‬‬ ‫•‬
‫وﺟﻮد ﻧﺪارد ﻛﻪ داراي ﺧﺎﺻﻴﺖ ﻣﻨﺤﺼﺮ ﺑﻔﺮد‬ ‫‪K‬‬ ‫ﻫﻴﭻ زﻳﺮ ﻣﺠﻤﻮﻋﻪ ﻣﻨﺎﺳﺒﻲ از‬
‫ﺑﺎﺷﺪ‪.‬‬

‫ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﻫﺮ زﻳﺮ ﻣﺠﻤﻮﻋﻪ از ﻣﺠﻤﻮﻋﻪ ﻋﻨﻮان راﺑﻄﻪ ﻛﻪ دو ﺧﺎﺻﻴﺖ ﺑﺎﻻ را داﺷﺘﻪ‬
‫ﺑﺎﺷﺪ‪ ،‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ اﺳﺖ‪.‬‬
‫‪s#‬‬ ‫ﻛﻠﻴﺪ اﻧﺤﺼﺎري ﻫﺴﺘﻨﺪ‪ .‬ﺧﺎﺻﻴﺖ دوم را ﻧﺪارﻧﺪ زﻳﺮا‬ ‫‪sname‬‬ ‫در ﻣﺜﺎل ﻓﻮق ‪ s#‬و‬
‫ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻫﻢ ﻣﻲﺗﻮاﻧﺪ‬ ‫‪s#‬‬ ‫ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻣﻨﺤﺼﺮ ﺑﻔﺮد اﺳﺖ و ﻣﻲﺗﻮان اﻳﻨﻬﺎ رو ﺷﻜﺴﺖ ﻣﺜﻼ‬
‫ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺸﻮد‪).‬ﻫﺮ ﭼﻴﺰي را ﻧﻤﻲﺗﻮان ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﻪ ﺣﺴﺎب آورﻳﻢ زﻳﺮا ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬
‫ﻧﺒﺎﻳﺪ ﺑﺸﻜﻨﺪ(‪.‬‬
‫ﺗﻮﺟﻪ‪:‬ﻫﺮ راﺑﻄﻪ ﺣﺪاﻗﻞ داراي ﻳﻚ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻣﻲ ﺑﺎﺷﺪ )ﻣﻤﻜﻦ اﺳﺖ ﺗﻜﻲ ﺑﺎﺷﺪ ﻳﺎ‬
‫دو ﺻﻔﺖ و ﻳﺎ‪.(...‬‬

‫‪1‬‬
‫‪ 3-5‬ﻛﻠﻴﺪ اﺻﻠﻲ‬
‫ﻳﻜﻲ از ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ ﻛﻪ ﺷﺮاﻳﻂ ذﻳﻞ را داﺷﺘﻪ ﺑﺎﺷﺪ‪:‬‬
‫ﺷﻨﺎﺳﺎﻳﻲ ﻛﻨﻨﺪه ﻧﻮع ﻣﻮﺟﻮدﻳﺖ )ﺗﻚ ﺗﺎﭘﻞ( در راﺑﻄﻪ ﺑﺎﺷﺪ‪ .‬ﻣﺎﻧﻨﺪ ﺷﻤﺎره‬ ‫•‬
‫داﻧﺸﺠﻮﻳﻲ ﺑﺮاي ﻫﺮ داﻧﺸﺠﻮ‪.‬‬
‫از ﻧﻈﺮ ﺳﺎﻳﺰ داراي ﻃﻮل ﻛﻮﺗﺎه ﺗﺮ ﺑﺎﺷﺪ‪ .‬ﺑﺪﻳﻦ ﻣﻌﻨﻲ ﻛﻪ ﻣﺜﻼ ﺑﻴﻦ دو ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬ ‫•‬
‫ﻛﻪ ﻳﻜﻲ از ﻧﻮع رﺷﺘﻪ ‪ 20‬ﺗﺎﻳﻲ و دﻳﮕﺮي ﻳﻚ ﻋﺪد ‪ 4‬ﺑﺎﻳﺘﻲ اﺳﺖ‪ ،‬ﻛﻠﻴﺪي ﻛﻪ‬
‫داراي ﻧﻮع ﻋﺪد ‪ 4‬ﺑﺎﻳﺘﻲ اﺳﺖ‪ ،‬ﺑﺮاي ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﻮدن ﺑﻬﺘﺮ اﺳﺖ‪.‬‬

‫‪1‬‬
‫‪ 4-5‬ﻛﻠﻴﺪ ﺑﺪﻳﻞ‬

‫‪1. P ri ma r y K e y‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 118‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﻫﺮ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﻐﻴﺮ از ﻛﻠﻴﺪ اﺻﻠﻲ را ﻛﻠﻴﺪ ﺑﺪﻳﻞ ﮔﻮﻳﻨﺪ‪.‬‬

‫‪2‬‬
‫‪ 5-5‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ‬
‫ﻛﻪ ﻫﺮ‬ ‫‪R2‬‬ ‫را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ .‬ﻫﺮ زﻳﺮ ﻣﺠﻤﻮﻋﻪ از ﺻﻔﺎت راﺑﻄﻪ‬ ‫‪R2‬‬ ‫و‬ ‫‪R1‬‬ ‫دو راﺑﻄﻪ‬
‫ﺑﺮاﺑﺮ ﺑﺎﺷﺪ‪ ،‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ در راﺑﻄﻪ‬ ‫‪R1‬‬ ‫ﻣﻘﺪار ﻣﻌﻠﻮﻣﺶ ﺑﺎ ﻳﻚ ﻣﻘﺪار از ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬
‫‪ R2‬اﺳﺖ‪.‬‬
‫ﻧﻘﺶ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﺎت ﺑﻴﻦ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ )و در ﻧﺘﻴﺠﻪ ﺑﻴﻦ‬
‫ﻧﻤﻮﻧﻪ ﻫﺎي آﻧﻬﺎ( ﺑﻜﺎر ﻣﻲرود‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮﻋﺎت ﻛﻠﻴﺪ ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ‬
‫ﻓﺮﻣﺎﻳﻴﺪ‪:‬‬

‫ﻣﺜﺎل ‪ :2‬ﻛﻠﻴﺪي ﻛﻪ ارﺗﺒﺎط ﺟﺪول ﻣﺨﺘﻠﻒ را ﻣﺸﺨﺺ و ﺑﺮﻗﺮار ﻣﻲﻧﻤﺎﻳﺪ‪.‬‬

‫ﺟﺪول ‪ 5-6‬ﺟﺪول ﻣﺜﺎل ‪2‬‬

‫‪C#‬‬ ‫‪CNAME‬‬ ‫‪STATUS‬‬ ‫‪NO….‬‬


‫‪10‬‬ ‫‪Pen‬‬ ‫‪Q‬‬ ‫‪5‬‬
‫‪10‬‬ ‫‪Pen‬‬ ‫‪1‬‬ ‫‪10‬‬
‫‪10‬‬ ‫‪Pen‬‬ ‫‪2‬‬ ‫‪7‬‬
‫‪10‬‬ ‫‪Ruler‬‬ ‫‪Q‬‬

‫ﻣﻲ ﺗﻮاﻧﻨﺪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﻨﺪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪي ﻛﻪ ﻣﻲ ﺗﻮاﻧﺪ ﻛﻠﻴﺪ اﺻﻠﻲ‬ ‫‪status‬‬ ‫و‬ ‫‪C#‬‬
‫ﺑﺸﻮد وﻟﻲ ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻧﻤﻲ ﺗﻮاﻧﻨﺪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﻨﺪ‪.‬‬

‫ﺟﺪول ﻓﺮوﺷﻨﺪه ﻫﺎ )ﺳﺎزﻧﺪه ﻛﺎﻻ(‬


‫ﺟﺪول ‪ 6-6‬ﺟﺪول ﻓﺮوﺷﻨﺪهﻫﺎ‬

‫‪S#‬‬ ‫‪SNAME‬‬ ‫‪C#‬‬ ‫‪Tell#‬‬


‫‪100‬‬ ‫‪a‬‬ ‫‪10‬‬

‫‪105‬‬ ‫‪b‬‬ ‫‪11‬‬

‫‪1. Al t e r n a t e K e y‬‬
‫‪2. F o re i gn ke y‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي ‪119‬‬

‫ﺗﻮﺟﻪ‪ :‬در ﺟﺪول ﻓﻮق ‪ s#‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬

‫ﺟﺪول ﻛﺎﻻ‬
‫ﺟﺪول ‪ 7-6‬ﺟﺪول ﻛﺎﻻ‬

‫‪C#‬‬ ‫‪CNAME‬‬ ‫‪STATUS‬‬ ‫…‪NO‬‬


‫‪10‬‬ ‫‪Pen‬‬ ‫‪Q‬‬ ‫‪5‬‬
‫‪10‬‬ ‫‪Pen‬‬ ‫‪1‬‬ ‫‪7‬‬
‫‪10‬‬ ‫‪Pen‬‬ ‫‪2‬‬ ‫‪10‬‬
‫‪11‬‬ ‫‪ruler‬‬ ‫‪Q‬‬

‫ﻧﻜﺘﻪ‪ ،C# :‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺮاي ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول ﻛﺎﻻ و ﻓﺮوﺷﻨﺪه ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫ﻧﻜﺘﻪ‪ ،C# :‬در ﺟﺪول ﻓﺮوﺷﻨﺪه ﻛﻠﻴﺪ ﺧﺎرﺟﻲ و در ﺟﺪول ﻛﺎﻻ ﻛﻠﻴﺪ اﺻﻠﻲ ﻣﻲﺑﺎﺷﺪ‪.‬‬

‫ﻧﻜﺎﺗﻲ در ﻣﻮرد ﻛﻠﻴﺪ ﺧﺎرﺟﻲ‬


‫‪R2‬‬ ‫ﻳﻚ راﺑﻄﻪ ﻣﺒﻨﺎ ﺑﺎﺷﺪ آﻧﮕﺎه ﻳﻚ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ در راﺑﻄﻪ‬ ‫‪R2‬‬ ‫ﻓﺮض ﻛﻨﻴﺪ ﻛﻪ راﺑﻄﻪ‬
‫ﻣﻲ ﺑﺎﺷﺪ ﺑﻪ ﻧﺤﻮي ﻛﻪ‪:‬‬ ‫‪FR‬‬ ‫زﻳﺮ ﻣﺠﻤﻌﻪ اي از ﻣﺠﻤﻮﻋﻪ ﺻﻔﺎت ‪ R2‬ﻣﺎﻧﻨﺪ‬
‫راﺑﻄﻪ ﻣﺒﻨﺎﻳﻲ ﺑﻪ ﻧﺎم ‪ R1‬ﺑﺎ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ‪CK‬وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬ ‫•‬
‫ﺑﺮاي ﺗﻤﺎﻣﻲﻣﻮاﻗﻊ ﻫﺮ ﻣﻘﺪار از ‪ FK‬در ﻣﻘﺪار ﻓﻌﻠﻲ ‪ R2‬ﺑﺎ ﻣﻘﺪار ‪ CK‬در ﺑﻌﻀﻲ از‬ ‫•‬
‫‪Tuple‬ﻫﺎ در ﻣﻘﺪار ﻗﺒﻠﻲ ﻳﻜﺴﺎن ﺑﺎﺷﻨﺪ‪.‬‬

‫‪tell#‬‬ ‫ﻧﻜﺘﻪ‪ :‬اﮔﺮ ﺻﻔﺘﻲ ﺑﺘﻮاﻧﺪ ﻣﻘﺪار ﺗﻬﻲ )‪ (null‬ﺑﮕﻴﺮد‪ ،‬ﻧﻤﻲ ﺗﻮاﻧﺪ ﻛﻠﻴﺪ ﺑﺎﺷﺪ )ﻣﺎﻧﻨﺪ‬
‫)ﺷﻤﺎره ﺗﻠﻔﻦ((‪.‬‬
‫از وﻳﮋﮔﻲ ﻫﺎي ‪ RDBMS‬در ﭘﺎﻳﮕﺎه داده راﺑﻄﻪ اي در ﻣﻮرد ﺟﺪاول اﻳﻦ اﺳﺖ ﻛﻪ‪:‬‬
‫دادهﻫﺎ ﺗﻮﺳﻂ ﻛﺎرﺑﺮ و ﺑﻪ ﺻﻮرت ﺟﺪاول درﻳﺎﻓﺖ ﻣﻲﺷﻮﻧﺪ‪.‬‬ ‫•‬
‫ﻋﻤﻠﻜﺮدﻫﺎﻳﻲ ﻛﻪ ﻛﺎرﺑﺮ ﻣﻲﺗﻮاﻧﺪ از آﻧﻬﺎ اﺳﺘﻔﺎده ﻧﻤﺎﻳﺪ ﻛﻪ آﻧﻬﺎ ﺑﻪ ﻛﺎرﺑﺮ اﻳﻦ اﺟﺎزه‬ ‫•‬
‫را ﻣﻲدﻫﻨﺪ ﺗﺎ ﺑﺘﻮاﻧﻨﺪ ﺟﺪاول ﺟﺪﻳﺪي را اﻳﺠﺎد ﻧﻤﺎﻳﻨﺪ‪.‬‬

‫ﻣﺜﺎل‪ :‬ﺑﺨﺸﻲ از ﺟﺪاول ﻳﻚ ﺳﻴﺴﺘﻢ اداري ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ‪:‬‬

‫‪EMP‬‬ ‫ﻛﺎرﻣﻨﺪ‬
‫‪www.PDFgozar.com‬‬

‫‪ 120‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﺟﺪول ‪Employee‬‬ ‫ﺟﺪول ‪8-6‬‬

‫‪EMP#‬‬ ‫‪SNAME‬‬ ‫‪DEPT#‬‬ ‫‪SALARY‬‬


‫‪E1‬‬ ‫‪LOP‬‬ ‫‪D1‬‬ ‫‪40‬‬
‫‪E2‬‬ ‫‪CHEN‬‬ ‫‪D1‬‬ ‫‪42‬‬
‫‪E3‬‬ ‫‪FIN‬‬ ‫‪D2‬‬ ‫‪30‬‬
‫‪E4‬‬ ‫‪SAI‬‬ ‫‪D2‬‬ ‫‪35‬‬

‫‪DEPT‬‬ ‫ﺑﺨﺶ ﻫﺎ‬


‫ﺟﺪول ‪Department‬‬ ‫ﺟﺪول ‪9-6‬‬

‫‪DEPT#‬‬ ‫‪DNAME‬‬ ‫ﺑﻮدﺟﻪ‬


‫‪#‬ﺳﺎزﻣﺎن‬ ‫ﻧﺎم ﺳﺎزﻣﺎن‬
‫‪D1‬‬ ‫‪MARKETING‬‬ ‫‪40‬‬
‫‪D2‬‬ ‫‪DEVELOPMENT‬‬ ‫‪12‬‬
‫‪D3‬‬ ‫‪RESEARCH‬‬ ‫‪5‬‬

‫)‪ > 8‬ﺑﻮدﺟﻪ( ‪SELECT * FROM DEPT WHERE‬‬

‫ﻧﻜﺘﻪ‪ :‬در ﻋﺒﺎرت ﺑﺎﻻ ﻋﻼﻣﺖ * ﻧﻤﺎﻳﺎﻧﮕﺮ ﻫﻤﻪ ﺻﻔﺖ ﻫﺎ اﺳﺖ‪.‬‬

‫در ﻧﺘﻴﺠﻪ ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺻﻮرت ﺟﺪول زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫ﻫﻤﺎﻧﮕﻮﻧﻪ ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﺷﻮد دادهﻫﺎ ﺑﻪ ﺻﻮرت ﺟﺪول وارد ﺳﻴﺴﺘﻢ ﺷﺪهاﻧﺪ و ﮔﺰارش‬
‫ﺧﻮاﺳﺘﻪ ﺷﺪه ﻧﻴﺰ ﺑﺮ اﺳﺎس ﻳﻚ ﺳﺮي از ﻋﻤﻠﮕﺮﻫﺎي اﺳﺘﺎﻧﺪارد اراﺋﻪ ﺷﺪه و ﻧﺘﻴﺠﻪ ﺑﻪ‬
‫ﺻﻮرت ﺟﺪول )ﺑﺮ اﺳﺎس ﻧﻮع ﻋﻤﻠﮕﺮ( ﮔﺰارش ﻣﻲﮔﺮدد‪.‬‬

‫ﺟﺪول ‪ 10-6‬ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ذﻛﺮ ﺷﺪه‬

‫‪#‬ﺳﺎزﻣﺎن‬ ‫ﻧﺎم ﺳﺎزﻣﺎن‬ ‫ﺑﻮدﺟﻪ‬


‫‪D1‬‬ ‫‪MARKETING‬‬ ‫‪10‬‬
‫‪D2‬‬ ‫‪DEVELOPMENT‬‬ ‫‪12‬‬

‫ﻧﻜﺘﻪ‪ :‬ﺧﺮوﺟﻲﻫﺎ از ﻫﻤﺎن ﻧﻮع ورودي ﻫﺎ ﻣﻲ ﺑﺎﺷﻨﺪ‪.‬‬


‫ﻧﻜﺘﻪ‪ :‬ﺧﺮوﺟﻲ ﻫﺮ ﻋﻤﻠﮕﺮ ﻣﻲﺗﻮاﻧﺪ ﺑﻪ ﻋﻨﻮان ورودي ﻋﻤﻠﮕﺮ دﻳﮕﺮ ﺑﻜﺎر رود‪ .‬اﻳﻦ ﻧﻮع‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي ‪121‬‬

‫ﻋﺒﺎرت را ﻋﺒﺎرت ﺗﻮ در ﺗﻮ‪ 1‬ﻣﻲ ﻧﺎﻣﻨﺪ‪.‬‬

‫‪ -6‬اﻧﻮاع راﺑﻄﻪ‬
‫اﻧﻮاع راﺑﻄﻪ ﻋﺒﺎرﺗﻨﺪ از‬
‫‪2‬‬
‫راﺑﻄﻪ ﻧﺎﻣﺪار‬
‫راﺑﻄﻪ اﻳﺴﺖ ﻛﻪ ﺑﺎ ﻳﻚ ﻧﺎم ﺑﻪ ﺳﻴﺴﺘﻢ ﻣﻌﺮﻓﻲ ﺷﺪه ﺑﺎﺷﺪ‪.‬‬
‫‪3‬‬
‫راﺑﻄﻪ ﻣﺒﻨﺎ‬
‫ﻧﻮﻋﻲ راﺑﻄﻪ ﻧﺎﻣﺪار اﺳﺖ ﻛﻪ اﺳﺘﻘﻼل وﺟﻮدي دارد و ﻣﺸﺘﻖ از راﺑﻄﻪﻫﺎي دﻳﮕﺮ ﻧﻴﺴﺖ‬
‫و داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه ﻣﺘﻨﺎﻇﺮ دارد‪.‬‬
‫‪4‬‬
‫راﺑﻄﻪ ﻣﺸﺘﻖ‬
‫راﺑﻄﻪ اﻳﺴﺖ ﻛﻪ ﺑﻪ ﻛﻤﻚ ﻳﻚ ﻋﺒﺎرت راﺑﻄﻪ اي ﺑﺮ ﺣﺴﺐ راﺑﻄﻪ ﻫﺎي ﻧﺎﻣﺪار دﻳﮕﺮ و‬
‫ﻧﻬﺎﻳﺘﺎ ﺑﺮﺣﺴﺐ راﺑﻄﻪ ﻫﺎي ﻣﺒﻨﺎ ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد‪.‬‬
‫ﻣﻔﻬﻮم دﻳﺪ‬
‫‪5‬‬
‫ﻧﻮﻋﻲ راﺑﻄﻪ ﻧﺎﻣﺪار ﻛﻪ ﻣﺸﺘﻖ از راﺑﻄﻪﻫﺎي دﻳﮕﺮ اﺳﺖ و ﻣﺎﻫﻴﺘﺎ راﺑﻄﻪ اي ﻣﺠﺎزي‬
‫اﺳﺖ‪ ،‬ﻳﻌﻨﻲ داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه ﺧﺎص ﺧﻮد را ﻧﺪارد‪.‬‬
‫اﻧﻮاع دﻳﮕﺮي از راﺑﻄﻪﻫﺎ در ﻛﺘﺎﺑﻬﺎي دﻳﮕﺮ ﻧﺎﻣﺒﺮده ﺷﺪهاﻧﺪ ﻛﻪ در ذﻳﻞ ﺑﻪ آﻧﻬﺎ اﺷﺎره‬
‫ﻣﻲﮔﺮدد‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ رواﺑﻂ ﻣﺬﻛﻮر ﺣﺎﻟﺘﻬﺎﻳﻲ از رواﺑﻂ ذﻛﺮ ﺷﺪه در ﺑﺎﻻ ﻫﺴﺘﻨﺪ‪:‬‬
‫‪6‬‬
‫راﺑﻄﻪ ﻟﺤﻈﻪاي‬ ‫•‬
‫‪7‬‬
‫راﺑﻄﻪ ﻋﺒﺎرﺗﻲ‬ ‫•‬
‫‪8‬‬
‫راﺑﻄﻪ ﻧﺘﻴﺠﻪ ﭘﺮﺳﺶ‬ ‫•‬

‫‪1. N e s t e d E x p r e s s i o n‬‬
‫‪2. N a me d R el a t i o n‬‬
‫‪3. B a se R el a t i o n‬‬
‫‪4. D er i ve d R e l a t i o n‬‬
‫‪5. V ir t u a l R e l a t i o n‬‬
‫‪6. Sn a p s h o t‬‬
‫‪7. E x pr e s s i o n R e l a t io n‬‬
‫‪8. Q u er y R es u l t R e l a t i o n‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 122‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫‪1‬‬
‫راﺑﻄﻪ ﺑﻴﻨﺎﺑﻴﻨﻲ‬ ‫•‬
‫‪2‬‬
‫راﺑﻄﻪ ذﺧﻴﺮه ﺷﺪه‬ ‫•‬

‫ﺷﻜﻞ زﻳﺮ ارﺗﺒﺎط و دﺳﺘﻪ ﺑﻨﺪي اﻧﻮاع راﺑﻄﻪ را ﻧﺸﺎن ﻣﻲ دﻫﺪ‪:‬‬

‫راﺑﻄﻪ‬

‫ﻣﺠﺎزي ﻣﺸﺘﻖ‬ ‫ذﺧﻴﺮه ﺷﺪه و ﻧﺎﻣﺪار‬

‫ﺑﻲ ﻧﺎم‬ ‫ﻧﺎﻣﺪار‬ ‫ﻣﺴﺘﻘﻞ‬ ‫ﻣﺸﺘﻖ‬

‫ﺑﻴﻨﺎﺑﻴﻨﻲ‬ ‫ﻧﺘﻴﺠﻪ ﭘﺮﺳﺶ‬ ‫دﻳﺪ‬ ‫ﻣﺒﻨﺎ‬ ‫ﻟﺤﻈﻪ اي‬

‫راﺑﻄﻪ ﻋﺒﺎرﺗﻲ‬

‫ﺷﻜﻞ ‪ 11-6‬ﻧﻤﺎﻳﺶ ﻧﺤﻮه ارﺗﺒﺎط ﺑﻴﻦ راﺑﻄﻪﻫﺎ‬

‫‪ -7‬ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ‪ 3‬در ﻣﺪل راﺑﻄﻪاي‬


‫‪4‬‬
‫در ﻫﺮ ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ ﻫﻤﻴﺸﻪ ﻣﺠﻤﻮﻋﻪ اي از ﻗﻮاﻋﺪ ﻣﻌﻨﺎﻳﻲ ﻳﺎ ﻣﺤﺪودﻳﺖ ﻫﺎي‬
‫‪5‬‬
‫ﺟﺎﻣﻌﻴﺘﻲ وﺟﻮد دارﻧﺪ‪ .‬اﮔﺮ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎه داده ﻫﻤﻮاره اﻳﻦ‬

‫‪1. In t e r me d i a t e R e la t i o n‬‬
‫‪2. St o r e d Re l a t i o n‬‬
‫‪3. In t e gr i t y R u l e s‬‬
‫‪4. Se ma n t i c R u l e s‬‬
‫‪5. In t e gr i t y C o n s t r ai n t s‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي ‪123‬‬

‫ﻣﺤﺪودﻳﺖﻫﺎ را رﻋﺎﻳﺖ ﻛﻨﻨﺪ‪ ،‬ﺟﺎﻣﻌﻴﺖ ﭘﺎﻳﮕﺎهداده ﺗﺎﻣﻴﻦ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬


‫ﺟﺎﻣﻌﻴﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﻤﻌﻨﻲ ﺻﺤﺖ‪ ،‬دﻗﺖ و ﺳﺎزﮔﺎري دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در‬
‫ﭘﺎﻳﮕﺎهدادهﻫﺎ در ﺗﻤﺎم ﻟﺤﻈﺎت اﺳﺖ‪ .‬ﻫﺮ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهداده ﺑﺎﻳﺪ ﺑﺘﻮاﻧﺪ ﺟﺎﻣﻌﻴﺖ ﭘﺎﻳﮕﺎهداده‬
‫را ﻛﻨﺘﺮل و ﺗﻀﻤﻴﻦ ﻛﻨﺪ‪ .‬زﻳﺮا ﻣﻤﻜﻦ اﺳﺖ ﻋﻮاﻣﻠﻲ ﻣﺎﻧﻨﺪ آﻧﭽﻪ ﻛﻪ در ذﻳﻞ ﻧﺎم ﺑﺮده ﺷﺪهاﻧﺪ‪،‬‬
‫ﺑﺎﻋﺚ ﻧﻘﺾ ﺟﺎﻣﻌﻴﺖ ﺷﻮﻧﺪ‪:‬‬
‫اﺷﺘﺒﺎه در ﺑﺮﻧﺎﻣﻪﻫﺎ‬ ‫•‬
‫اﺷﺘﺒﺎه در ورود اﻃﻼﻋﺎت از ﺳﻮي ﻛﺎرﺑﺮان‬ ‫•‬
‫ﻣﺸﻜﻼت ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﻣﺮﺗﺒﻂ ﺑﺎ دادهﻫﺎ‬ ‫•‬
‫ﻋﺪم اﻧﺠﺎم ﻛﺎﻣﻞ ﻓﺮاﻳﻨﺪﻫﺎ ﺑﺮ روي دادهﻫﺎ‬ ‫•‬
‫وﺟﻮد اﻓﺰوﻧﮕﻲ و ﺗﻌﺪد در دادهﻫﺎي ﺗﻜﺮاري‬ ‫•‬

‫ﺑﺮاي ﻛﻨﺘﺮل و ﺗﻀﻤﻴﻦ ﺟﺎﻣﻌﻴﺖ‪ ،‬ﻗﻮاﻋﺪي ﻻزم اﺳﺖ ﺗﺎ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﺑﺘﻮاﻧﺪ ﺑﺮ‬
‫اﺳﺎس آﻧﻬﺎ ﻋﻤﻞ ﻛﺮده و ﺑﺎﻋﺚ اﻧﻄﺒﺎق ﻣﺤﺘﻮاي ﭘﺎﻳﮕﺎه داده ﺑﺎ واﻗﻌﻴﺎت ﺑﺎﺷﺪ‪ .‬اﻳﻦ‬
‫ﻗﻮاﻋﺪرا ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ و ﻳﺎ ﻣﺤﺪودﻳﺖﻫﺎي ﺟﺎﻣﻌﻴﺘﻲ ﮔﻮﻳﻨﺪ‪.‬‬

‫‪ 1-7‬اﻧﻮاع ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ‬


‫ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ در ﻣﺪل راﺑﻄﻪاي ﺑﻪ دو رده ﻛﻠﻲ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ ﻛﻪ ﺑﻪ ﺷﺮح ﻫﺮﻳﻚ‬
‫ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ‪:‬‬
‫‪1‬‬
‫ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي‬ ‫•‬
‫‪2‬‬
‫ﻣﺘﺎ ﻗﻮاﻋﺪ‬ ‫•‬

‫‪ 1-1-7‬ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي‬
‫ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي ﻛﻪ ﮔﺎه ﺑﻪ آﻧﻬﺎ ﻗﻮاﻋﺪ ﻣﺤﻴﻄﻲ ﻳﺎ ﻗﻮاﻋﺪ واﺑﺴﺘﻪ ﺑﻪ داده ﻧﻴﺰ ﻣﻲ ﮔﻮﻳﻨﺪ‪،‬‬
‫ﻗﻮاﻋﺪي ﻫﺴﺘﻨﺪ ﻛﻪ ﺗﻮﺳﻂ ﻛﺎرﺑﺮ ﻣﺠﺎز و ﺑﺮاي ﻳﻚ ﭘﺎﻳﮕﺎه داده ﺧﺎص ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮﻧﺪ‪.‬‬
‫اﻳﻦ ﻗﻮاﻋﺪ واﺑﺴﺘﻪ ﺑﻪ واﻗﻌﻴﺎت ﻣﺤﻴﻂ ﻫﺴﺘﻨﺪ و در ﺑﻌﻀﻲ ﻛﺘﺐ ﺑﻪ آﻧﻬﺎ ﻣﺤﺪودﻳﺖﻫﺎي‬

‫‪1. U se r D ef i n e d R u l e s‬‬
‫‪2. M e ta R u le s‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 124‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫‪1‬‬
‫ﺟﺎﻣﻌﻴﺘﻲ ﻣﻌﻨﺎﻳﻲ ﻧﻴﺰ ﻣﻲ ﮔﻮﻳﻨﺪ‪ .‬ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي در ﻣﺪل راﺑﻄﻪ اي ﺑﻪ ﭼﻬﺎر دﺳﺘﻪ ﺑﻪ‬
‫ﺷﺮح زﻳﺮ ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮﻧﺪ‪:‬‬
‫‪2‬‬
‫ﻣﺤﺪودﻳﺖ ﻣﻴﺪاﻧﻲ ‪ :‬ﻣﺤﺪودﻳﺘﻲ اﺳﺖ ﻧﺎﻇﺮ ﺑﺮ ﻣﻴﺪان ﻫﺮ ﺻﻔﺖ ﺧﺎﺻﻪ و ﻣﻘﺎدﻳﺮ‬ ‫•‬

‫ﻣﺠﺎز آﻧﺮا ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ‪.‬‬


‫‪3‬‬
‫ﻣﺤﺪودﻳﺖ ﺻﻔﺘﻲ ‪ :‬ﻣﺤﺪودﻳﺘﻲ اﺳﺖ ﻧﺎﻇﺮ ﺑﺮ ﻳﻚ ﺻﻔﺖ و ﻧﻮع آن را ﻣﺸﺨﺺ‬ ‫•‬

‫ﻣﻲﻛﻨﺪ‪.‬‬
‫‪4‬‬
‫ﻣﺤﺪودﻳﺖ راﺑﻄﻪاي ‪ :‬ﻣﺤﺪودﻳﺘﻲ اﺳﺖ ﻧﺎﻇﺮ ﺑﺮ ﻳﻚ راﺑﻄﻪ و ﻣﻘﺎدﻳﺮ ﻣﺠﺎز ﻳﻚ‬ ‫•‬

‫ﻣﺘﻐﻴﺮ راﺑﻄﻪاي را ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ‪.‬‬


‫‪5‬‬
‫ﻣﺤﺪودﻳﺖ ﭘﺎﻳﮕﺎﻫﻲ ‪ :‬ﻣﺤﺪودﻳﺘﻲ اﺳﺖ ﻧﺎﻇﺮ ﺑﺮ دو ﻳﺎ ﭼﻨﺪ ﻣﺘﻐﻴﺮ راﺑﻄﻪاي ﺑﻪ‬ ‫•‬

‫ﻧﺤﻮي ﻛﻪ آﻧﻬﺎ را ﺑﻬﻢ ﻣﺮﺗﺒﻂ ﻣﻲﻛﻨﺪ‪.‬‬

‫‪ 2-1-7‬ﻣﺘﺎ ﻗﻮاﻋﺪ‬
‫ﻣﺘﺎ ﻗﻮاﻋﺪ ﻗﻮاﻋﺪي ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺎﻳﺪ ﺗﻮﺳﻂ ﻫﺮ ﺳﻴﺴﺘﻢ راﺑﻄﻪ در ﻫﺮ ﭘﺎﻳﮕﺎه داده راﺑﻄﻪ اي‬
‫اﻋﻤﺎل ﮔﺮدﻧﺪ‪ .‬ﻟﺬا در ﺑﻌﻀﻲ ﻛﺘﺐ ﺑﺪاﻧﻬﺎ ﻗﻮاﻋﺪ ﻋﺎم ﻧﻴﺰ ﻣﻲ ﮔﻮﻳﻨﺪ‪ .‬اﻳﻦ ﻗﻮاﻋﺪ ﺑﻪ دو‬
‫ﮔﺮوه ﻛﻠﻲ ﺑﻪ ﺷﺮح ذﻳﻞ ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮﻧﺪ‪:‬‬
‫‪6‬‬
‫ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ﻣﻮﺟﻮدﻳﺘﻲ‬ ‫•‬
‫‪7‬‬
‫ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ‬ ‫•‬

‫‪ 1-2-1-7‬ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ﻣﻮﺟﻮدﻳﺘﻲ‬


‫اﻳﻦ ﻗﺎﻋﺪه ﻧﺎﻇﺮ ﺑﺮ ﻛﻠﻴﺪ اﺻﻠﻲ اﺳﺖ و ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬
‫ﻫﻴﭻ ﺟﺰء ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﻛﻠﻴﺪ اﺻﻠﻲ راﺑﻄﻪ ﻧﻤﻲﺗﻮاﻧﺪ "ﻣﻘﺪار ﻫﻴﭻ" داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬ ‫•‬

‫دﻟﻴﻞ ﺗﻮﺟﻴﻪ ﻛﻨﻨﺪه اﻳﻦ ﻗﺎﻋﺪه اﻳﻦ اﺳﺖ ﻛﻪ ﻫﺮ ﻣﻘﺪار ﻳﻚ ﻛﻠﻴﺪ اﺻﻠﻲ‪ ،‬در واﻗﻊ ﺷﻨﺎﺳﻪ‬

‫‪1. Se ma n t i c In t e gr i t y C o n s t r a i n t‬‬
‫‪2. D o ma i n C on s t r a i n t‬‬
‫‪3. At t r i b u t e C o n s t r ai n t‬‬
‫‪4. R el a t i o n C o n s t r a in t‬‬
‫‪5. D at a b a s e C o n s t r a in t‬‬
‫‪6. E nt i t y In t e gr i t y R u l e‬‬
‫‪7. R ef e r e n t i a l In t e gr i t y R u l e‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي ‪125‬‬

‫آن ﺗﺎﭘﻞ در راﺑﻄﻪ اﺳﺖ و ﻋﺎﻣﻞ ﺗﻤﻴﻴﺰ ﻧﻤﻮﻧﻪ ﻫﺎي ﻣﻮﺟﻮدﻳﺖ )ﺗﺎﭘﻞ ﻫﺎ( در راﺑﻄﻪ اﺳﺖ‬
‫و ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻋﺎﻣﻞ ﺗﻤﻴﻴﺰ ﺧﻮد ﻧﻤﻲ ﺗﻮاﻧﺪ ﻣﻘﺪار ﻫﻴﭻ ﻳﺎ ﻧﺎﺷﻨﺎﺧﺘﻪ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫‪ 2-2-1-7‬ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ‬


‫اﻳﻦ ﻗﺎﻋﺪه ﻧﺎﻇﺮ ﺑﺮ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﻮده و ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬
‫اﮔﺮ ﺻﻔﺖ ﺧﺎﺻﻪ ‪) Ai‬ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ( در راﺑﻄﻪ ‪ R2‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺎﺷﺪ در اﻳﻦ‬ ‫•‬
‫ﺻﻮرت ‪ Ai‬در ‪ R2‬ﻣﻲﺗﻮاﻧﺪ ﻣﻘﺪار ﻫﻴﭻ داﺷﺘﻪ ﺑﺎﺷﺪ )ﺑﻪ ﺷﺮﻃﻲ ﻛﻪ ﺟﺰﺋﻲ از ﻛﻠﻴﺪ‬
‫‪R1‬‬ ‫ﻧﺒﺎﺷﺪ(‪ ،‬در ﻏﻴﺮ اﻳﻨﺼﻮرت ﺑﺎﻳﺪ ﺣﺘﻤﺎ ﻣﻘﺪاري ﺑﺎﺷﺪ ﻛﻪ در راﺑﻄﻪ ﻣﺮﺟﻊ‬ ‫‪R2‬‬
‫وﺟﻮد دارد‪ .‬ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﻣﻘﺪار ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻧﻤﻲﺗﻮاﻧﺪ در راﺑﻄﻪ ﻣﺮﺟﻊ‬
‫وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫دﻟﻴﻞ ﺗﻮﺟﻴﻪ اﻳﻦ ﻗﺎﻋﺪه اﻳﻦ اﺳﺖ ﻛﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻋﺎﻣﻞ ارﺟﺎع از ﻳﻚ ﻧﻤﻮﻧﻪ‬
‫ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ دﻳﮕﺮ اﺳﺖ و ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻧﻤﻲ ﺗﻮان ﺑﻪ ﻧﻤﻮﻧﻪ‬
‫ﻣﻮﺟﻮدﻳﺖ ﻧﺎﻣﻮﺟﻮد ارﺟﺎع داد‪.‬‬

‫ﺗﻤﺮﻳﻨﺎت‬

‫‪ .1‬ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ؟‬


‫‪ .2‬راﺑﻄﻪ را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ؟‬
‫‪www.PDFgozar.com‬‬

‫‪ 126‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫‪ .3‬راﺑﻄﻪ را از دﻳﺪﮔﺎه ﻛﺎد ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ؟‬


‫‪ .4‬وﻳﮋﮔﻲ ﻫﺎي راﺑﻄﻪ را ﻧﺎم ﺑﺒﺮﻳﺪ؟‬
‫‪ .5‬اﻧﻮاع ﻛﻠﻴﺪ را در ﻣﺪل راﺑﻄﻪ اي ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟‬
‫‪ .6‬ﻣﻔﻬﻮم ﻛﻠﻴﺪ ﺧﺎرﺟﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟‬
‫‪ .7‬اﻧﻮاع راﺑﻄﻪ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬
‫‪ .8‬ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ﻣﻮﺟﻮدﻳﺘﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟‬
‫‪ .9‬ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟‬
‫‪www.PDFgozar.com‬‬

‫ﻓﺼﻞ ‪۷‬‬

‫ﻋﻤﻠﻴﺎﺕ ﺩﺭ ﭘﺎﻳﮕﺎﻩ ﺭﺍﺑﻄﻪﺍﻱ‬

‫ﻫﺪف ﻛﻠﻲ‬
‫در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﻌﺮﻳﻔﻲ از ﭘﺎﻳﮕﺎه داده راﺑﻄﻪ اي ﺑﻴﺎن ﺷﺪه و ﺳﭙﺲ ﻣﺒﺤﺚ ﺟﺒﺮ‬
‫راﺑﻄﻪ اي ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ‪ .‬در اﻳﻦ راﺳﺘﺎ در اﺑﺘﺪا ﻋﻤﻠﮕﺮﻫﺎي‬
‫ﺟﺒﺮ راﺑﻄﻪ اي ﻣﻌﺮﻓﻲ ﺷﺪه و ﺗﻮاﻧﺎﻳﻲ اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ در اﻟﺤﺎق و ﺟﺪاﺳﺎزي اﻃﻼﻋﺎت و‬
‫ﻧﻤﺎﻳﺶ آﻧﻬﺎ ﺷﺮح داده ﺧﻮاﻫﺪ ﺷﺪ‪ .‬ﺳﭙﺲ ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮ روي دادهﻫﺎ ﻣﻄﺮح ﺷﺪه‬
‫و اﻧﻮاع اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ‪ .‬در ﺧﺎﺗﻤﻪ ﻧﻴﺰ ﻣﺮوري‬
‫ﻣﺨﺘﺼﺮ ﺑﺮ روي ﻣﺒﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﻋﺒﺎرات ﺟﺴﺘﺠﻮ در ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺧﻮاﻫﻴﻢ داﺷﺖ‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬
‫در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬
‫ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده راﺑﻄﻪاي‬ ‫•‬
‫ﺟﺒﺮ راﺑﻄﻪاي‬ ‫•‬
‫ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي‬ ‫•‬
‫ﻋﻤﻠﮕﺮ ﮔﺰﻳﻨﺶ‬ ‫•‬
‫ﻋﻤﻠﮕﺮ ﭘﺮﺗﻮ‬ ‫•‬
‫ﻋﻤﻠﮕﺮ ﺗﻐﻴﻴﺮ ﻧﺎم‬ ‫•‬
‫ﻋﻤﻠﮕﺮ ﺟﺎﻳﮕﺰﻳﻨﻲ‬ ‫•‬
‫ﻋﻤﻠﮕﺮﻫﺎي ﻣﺠﻤﻮﻋﻪ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫‪ 128‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﻋﻤﻠﮕﺮ ﺿﺮب دﻛﺎرﺗﻲ‬ ‫•‬


‫ﻋﻤﻠﮕﺮ اﺟﺘﻤﺎع‬ ‫•‬
‫ﻋﻤﻠﮕﺮ اﺷﺘﺮاك‬ ‫•‬
‫ﻋﻤﻠﮕﺮ ﺗﻔﺎﺿﻞ‬ ‫•‬
‫ﻋﻤﻠﮕﺮ ﺗﻘﺴﻴﻢ‬ ‫•‬
‫ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ‬ ‫•‬
‫ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮروي دادهﻫﺎ‬ ‫•‬
‫ﻋﻤﻠﮕﺮﻫﺎي درج‪ ،‬ﺑﻬﻨﮕﺎم ﺳﺎزي‪ ،‬ﺣﺬف‬ ‫•‬
‫ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ‬ ‫•‬

‫‪ -1‬ﺗﻌﺮﻳﻒ‬
‫ﭘﺎﻳﮕﺎهداده راﺑﻄﻪ اي از دﻳﺪ ﻛﺎرﺑﺮ در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﻣﺠﻤﻮﻋﻪ اي از راﺑﻄﻪ ﻫﺎي ﻧﺮﻣﺎل‬
‫اﺳﺖ‪ .‬ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﺟﻬﺖ اﻧﺠﺎم ﻋﻤﻠﻴﺎت در اﻳﻦ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﻧﻴﺎز ﺑﻪ ﻳﻚ ﻣﺪل‬
‫رﻳﺎﺿﻲ اﺳﺖ‪ .‬ﭘﺲ ﻛﺎرﺑﺮ ﺗﻌﺮﻳﻒ ﺷﺪه در ﭘﺎﻳﮕﺎه داده ﻧﻴﺎز ﺑﻪ ﻳﻚ ﻣﺪل رﻳﺎﺿﻲ‪ ،‬ﻛﻪ‬
‫ﻣﻲ ﺗﻮاﻧﺪ ﻣﺠﻤﻮﻋﻪ اي از ﻋﻤﻠﮕﺮﻫﺎي ﺻﻮري ﺑﺎﺷﺪ‪ ،‬دارد‪ .‬اﻳﻦ اﻣﻜﺎﻧﺎت در واﻗﻊ ﺑﺨﺸﻲ‬
‫از ﻣﺪل راﺑﻄﻪ اي ﺑﻮده و ﻃﺒﻌﺎ ﺑﺪون وﺟﻮد آﻧﻬﺎ‪ ،‬ﻣﺪل راﺑﻄﻪ اي ﻛﺎﻣﻞ ﻧﺨﻮاﻫﺪ ﺑﻮد‪ .‬ﺑﺮاي‬
‫اﻳﻦ ﻣﻨﻈﻮر اﻣﻜﺎﻧﺎت زﻳﺮ وﺟﻮد دارد‪:‬‬
‫‪1‬‬
‫ﺟﺒﺮ راﺑﻄﻪاي‬ ‫•‬
‫ﺣﺴﺎب راﺑﻄﻪاي‬ ‫•‬
‫‪2‬‬
‫ﻣﺤﺎﺳﺒﺎت راﺑﻄﻪاي داﻣﻨﻪ‬ ‫•‬
‫‪3‬‬
‫ﻣﺤﺎﺳﺒﺎت راﺑﻄﻪاي ﺳﻄﺮي‬ ‫•‬

‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در ﺗﺌﻮري راﺑﻄﻪ ﻫﺎ‪ ،‬ﻫﺮ ﺳﻪ ﺗﺌﻮري ﻓﻮق ارزش ﻳﻜﺴﺎﻧﻲ دارﻧﺪ‪.‬‬
‫در اداﻣﻪ ﺟﺒﺮ راﺑﻄﻪ اي ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد‪.‬‬

‫‪1. R el a t i o n a l a l ge b r a‬‬
‫‪2. C al c u l a t e R e l a t i o n a l D o ma i n‬‬
‫‪3. C al c u l a t e R e l a t i o n a l T u p l e‬‬
‫‪www.PDFgozar.com‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪129‬‬

‫‪ -2‬ﺟﺒﺮ راﺑﻄﻪاي )‪ (RA‬و ﻋﻤﻠﮕﺮﻫﺎي آن‬


‫ﺟﺒﺮ راﺑﻄﻪ اي اراﺋﻪ ﺷﺪه ﺗﻮﺳﻂ ﻛﺎد )‪ (codd‬ﺷﺎﻣﻞ ﻫﺸﺖ ﻋﻤﻠﮕﺮ در دو ﮔﺮوه ﭼﻬﺎر‬
‫ﺗﺎﻳﻲ ﻣﻲ ﺑﺎﺷﺪ‪ .‬در ﺑﻌﻀﻲ ﻛﺘﺐ ﺗﻌﺪادي ﻋﻤﻠﮕﺮ دﻳﮕﺮ ﻧﻴﺰ ﺑﻪ اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ اﺿﺎﻓﻪ‬
‫ﺷﺪه اﻧﺪ‪ .‬ﻛﻠﻴﻪ اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺑﺮاي ﻛﺎر ﺑﺮ روي ﻣﻔﻬﻮم راﺑﻄﻪ ﻫﺎ ﺗﻌﺮﻳﻒ و ﻃﺮاﺣﻲ‬
‫ﺷﺪه اﻧﺪ‪ .‬در ﺟﺒﺮ راﺑﻄﻪ اي داده ﻫﺎ ﻫﻤﺎن راﺑﻄﻪ ﻫﺎ ﻣﻲ ﺑﺎﺷﻨﺪ‪ .‬ﻣﺠﻤﻮﻋﻪ ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ‬
‫راﺑﻄﻪ اي در ﻋﺒﺎرت زﻳﺮ ﻣﺸﺨﺺ ﺷﺪه اﺳﺖ‪ ،‬ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻛﻪ‪:‬‬

‫‪RA = {{Relations}, { Б ,∏ , ℓ ,‬‬ ‫}} ‪, X , U ,-, ∩ , ÷ , ∞ , X⍬ , ⍬⍺‬‬

‫و ﺗﻌﺪادي‬ ‫‪set‬‬ ‫در ﺑﻌﻀﻲ از ﻛﺘﺐ ﺗﻌﺪادي از اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺗﺤﺖ ﻋﻨﻮان ﻋﻤﻠﮕﺮ‬
‫دﻳﮕﺮ ﺗﺤﺖ ﻋﻨﻮان ﻋﻤﻠﮕﺮ ‪ join‬ﻣﻌﺮﻓﻲ ﺷﺪهاﻧﺪ ﻛﻪ اﻳﻦ دو ﮔﺮوه ﻧﻴﺰ ﺗﻮﺿﻴﺢ داده ﺧﻮاﻫﻨﺪ‬
‫ﺷﺪ‪ .‬ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي در راﺑﻄﻪ ﺑﺎﻻ ﺑﻪ ﺗﺮﺗﻴﺐ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫‪1‬‬
‫ﻋﻤﻠﮕﺮ ﮔﺰﻳﻨﺶ‬ ‫‪=Б‬‬ ‫•‬
‫‪2‬‬
‫∏= ﻋﻤﻠﮕﺮ ﭘﺮﺗﻮ‬ ‫•‬
‫‪3‬‬
‫ﻋﻤﻠﮕﺮ ﺗﻐﻴﻴﺮ ﻧﺎم‬ ‫‪= ℓ‬‬ ‫•‬
‫ﻋﻤﻠﮕﺮ ﺟﺎﻳﮕﺰﻳﻨﻲ‬ ‫=‬ ‫•‬
‫ﻋﻤﻠﮕﺮ ﻣﺠﻤﻮﻋﻪ‪ ،‬اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺑﺮ روي ﻣﺠﻤﻮﻋﻪاي از راﺑﻄﻪﻫﺎ ﻋﻤﻞ‬ ‫‪= Set‬‬ ‫•‬
‫ﻣﻲﻛﻨﻨﺪ و ﺷﺎﻣﻞ ﻋﻤﻠﮕﺮﻫﺎي‬
‫‪4‬‬
‫ﺿﺮب دﻛﺎرﺗﻲ ) ‪( X‬‬ ‫•‬
‫‪5‬‬
‫اﺟﺘﻤﺎع )‪( U‬‬ ‫•‬
‫‪6‬‬
‫اﺷﺘﺮاك ) ∩ (‬ ‫•‬
‫‪7‬‬
‫ﺗﻔﺎﺿﻞ )‪(-‬‬ ‫•‬
‫ﺗﻘﺴﻴﻢ ) ÷ (‬ ‫•‬

‫‪1. s e l e c t‬‬
‫‪2. p ro j e c t‬‬
‫‪3. r en a me‬‬
‫‪4. C ar t e s i a n p r o d u c t‬‬
‫‪5. u ni o n‬‬
‫‪6. i nt e r s e c t‬‬
‫‪7. d if f e r e n c e‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 130‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫‪ = Join‬ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ )اﻟﺤﺎﻗﻲ( ﺷﺎﻣﻞ ﻋﻤﻠﮕﺮﻫﺎي‬ ‫•‬


‫‪1‬‬
‫ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ )∞(‬ ‫•‬

‫ﻧﻴﻢ ﭘﻴﻮﻧﺪ )‪(⍬⍺‬‬


‫‪2‬‬
‫•‬

‫ﭘﻴﻮﻧﺪ ﺷﺮﻃﻲ )‪(X⍬‬‬ ‫•‬

‫ﭘﺮداﺧﺖ‪.‬‬ ‫در اداﻣﻪ ﺑﺎ ذﻛﺮ ﻣﺜﺎل ﻫﺎﻳﻲ ﺑﻪ ﺷﺮح ﻫﺮ ﻳﻚ از اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺧﻮاﻫﻴﻢ‬

‫ﻋﻤﻠﮕﺮﻫﺎي اﺻﻠﻲ ‪(Б) Select‬‬


‫اﻧﺘﺨﺎب ﺳﻄﺮﻫﺎﻳﻲ از ﻳﻚ راﺑﻄﻪ ﺑﺮ اﺳﺎس ﺷﺮط ﻣﺸﺨﺺ )ﻣﺸﺨﺼﺎت ﻣﺜﻼ ﻳﻚ ﻓﺮد در‬
‫ﻳﻚ ﺳﻄﺮ )اﻓﺮادي ﻛﻪ ﻣﻌﺪﻟﺸﺎن ﻣﺴﺎوي ‪ x‬اﺳﺖ((‪.‬‬

‫ﻋﻤﻠﮕﺮ اﺻﻠﻲ ‪(∏) Project‬‬


‫اﻧﺘﺨﺎب دﻳﮕﺮ ﺳﺘﻮﻧﻬﺎي ﻣﺸﺨﺺ از ﻳﻚ راﺑﻄﻪ و ﺣﺬف دﻳﮕﺮ ﺳﺘﻮﻧﻬﺎ‬

‫ﻧﺎم‬ ‫ﺗﻠﻔﻦ‬

‫اﻟﺤﺎق )‪(Join‬‬
‫داراي اﻧﻮاع ﻣﺨﺘﻠﻒ ﺑﻮده و راﺑﻄﻪ اي را ﺑﺮ ﻣﻲ ﮔﺮداﻧﺪ ﻛﻪ ﺷﺎﻣﻞ ﺗﻤﺎم ‪ Tuple‬ﻫﺎي‬
‫ﺗﺮﻛﻴﺐ ﺷﺪه از دو ﺟﺪول ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع در اداﻣﻪ ﻣﺜﺎﻟﻲ از‬
‫ﻋﻤﻠﮕﺮﻫﺎي اﻟﺤﺎﻗﻲ اراﺋﻪ ﺷﺪه اﺳﺖ‪.‬‬

‫‪1. N at u r a l J o i n‬‬
‫‪2. Se mi J o i n‬‬
‫‪www.PDFgozar.com‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪131‬‬

‫‪R1‬‬ ‫‪R2‬‬ ‫∞ ‪R1‬‬ ‫‪R2‬‬

‫‪a1‬‬ ‫‪b1‬‬ ‫‪a1‬‬ ‫‪b1‬‬ ‫‪c1‬‬

‫‪a2‬‬ ‫‪b2‬‬ ‫‪a2‬‬ ‫‪b2‬‬ ‫‪c2‬‬

‫‪a3‬‬ ‫‪b3‬‬ ‫‪c3‬‬


‫‪a3‬‬ ‫‪b3‬‬

‫ﺗﻤﺮﻳﻦ‪:‬‬
‫را ﺑﺪﺳﺖ آورﻳﺪ‪:‬‬ ‫)‪R1 ÷ R2 = ? (R3‬‬ ‫ﺑﺎ اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ )÷( ﻧﺘﻴﺠﻪ‬

‫‪R1‬‬ ‫‪R2‬‬ ‫‪R3‬‬


‫‪a‬‬ ‫‪X‬‬
‫‪a‬‬ ‫‪y‬‬ ‫‪x‬‬ ‫?‬
‫‪a‬‬ ‫‪z‬‬ ‫‪y‬‬
‫‪b‬‬ ‫‪X‬‬
‫‪c‬‬ ‫‪y‬‬

‫( ﻣﻲ ﺑﺎﺷﺪ‪.‬‬ ‫‪closure‬‬ ‫ﻧﻜﺘﻪ‪ :‬ﻳﻜﻲ از ﻣﻬﻤﺘﺮﻳﻦ ﺧﻮاص‪ ،‬ﺧﺎﺻﻴﺖ ﺑﺴﺘﻪ ﺑﻮدن )ﺑﺴﺘﺎر ﻳﺎ‬
‫ﺑﺪﻳﻦ ﻣﻌﻨﺎ ﻛﻪ ﺧﺮوﺟﻲ ﻫﺮ ﻋﻤﻠﮕﺮ راﺑﻄﻪ اي ﺧﻮد ﻳﻚ راﺑﻄﻪ اﺳﺖ‪ .‬ﺑﻄﻮر ﻣﺜﺎل ﻣﻲ ﺗﻮان‬
‫ﮔﻔﺖ ﻛﻪ اﺟﺘﻤﺎع دو راﺑﻄﻪ )دو ﺟﺪول( ﻳﻚ راﺑﻄﻪ )ﻳﻚ ﺟﺪول( ﻣﻲ ﮔﺮدد‪.‬‬

‫ﻋﻤﻠﮕﺮﺗﻐﻴﻴﺮ ﻧﺎم )‪(⍴‬‬


‫اﻳﻦ ﻋﻤﻠﮕﺮ ﻳﻚ راﺑﻄﻪ را ﮔﺮﻓﺘﻪ و ﻧﺴﺨﻪ دﻳﮕﺮي از آن را ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﺑﻪ ﺑﻌﻀﻲ از‬
‫ﺻﻔﺎت اﺳﺎﻣﻲ دﻳﮕﺮي داده ﺷﺪه ﺑﺎﺷﺪ را ﻣﻲ دﻫﺪ‪:‬‬

‫‪S RENAME city AS Scity‬‬


‫‪S‬‬ ‫در راﺑﻄﻪ‬ ‫‪Scity‬‬ ‫ﺗﻐﻴﻴﺮ ﻧﺎم ﺻﻔﺖ ‪ city‬ﺑﻪ‬

‫اﮔﺮ ﺑﻴﺸﺘﺮ از ﻳﻚ ﺗﻐﻴﻴﺮ اﻧﺠﺎم ﮔﻴﺮد در ﭘﺮاﻧﺘﺰ ﻗﺮار ﻣﻲ دﻫﻴﻢ‪ .‬ﺑﻄﻮر ﻣﺜﺎل‪:‬‬

‫‪S RENAME‬‬ ‫‪( city‬‬ ‫)‪AS Scity , S# AS SNUM‬‬


www.PDFgozar.com

‫ ﭘﺎﻳﮕﺎه دادهﻫﺎ‬132

S# SNAME STATUS City

S1 Smith 20 London
S2 Jones 10 Paris
S3 Black 30 Paris
S4 Clark 20 London
S5 Adams 30 Athens

.‫ ﺟﺪول ﻓﻮق ﺑﻪ ﺟﺪول ذﻳﻞ ﺗﺒﺪﻳﻞ ﻣﻲ ﮔﺮدد‬RENAME ‫ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮر‬


SNUM SNAME STATUS Scity

S1 Smith 20 London
S2 Jones 10 Paris
S3 Black 30 Paris
S4 Clark 20 London
S5 Adoms 30 Athens

:‫ﻣﺜﺎل‬
A

S# SNAME STATUS City

S1 Smith 20 London
S4 Clark 20 London

S# SNAME STATUS City

S1 Smith 20 London
S2 Jones 10 Paris

:‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ دو ﺟﺪول ﻓﻮق دارﻳﻢ‬


AՍ B
www.PDFgozar.com

133 ‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي‬

S# SNAME STATUS city

S1 Smith 20 London
S4 Clark 20 London
S2 Jones 10 Paris

AՈB

S# SNAME STATUS City

S1 Smith 20 London

B-A

S# SNAME STATUS City

S4 Clark 20 London

A-B

S# SNAME STATUS city

S2 Jones 10 Paris

:‫ﺗﻮﺟﻪ‬
(A Ս B) Ս C ≡ A Ս (B Ս C) = A Ս B Ս C
(A Ո B) Ո C ≡ A Ո (B Ո C) = A Ո B Ո C
(A × B) × C ≡ A × (B × C) = A × B × C

(Б) ‫دﺳﺘﻮر‬
‫اﺳﺖ و در واﻗﻊ ﺗﻌﺪادي از ﺳﻄﺮﻫﺎ را‬ (Select) ‫اﻳﻦ دﺳﺘﻮر ﻫﻤﺎن ﻋﻤﻠﮕﺮ ﮔﺰﻳﻨﺶ‬
:‫ ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﻳﻜﻲ از دو ﺻﻮرت ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‬.‫اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ‬

.(‫ )در ﻛﺎﻣﭙﻴﻮﺗﺮ اﺟﺮا ﻧﻤﻲﺷﻮد‬Б (‫)ﻧﺎم راﺑﻄﻪ‬


‫ﺷﺮط ﻳﺎ ﺷﺮﻃﻬﺎ‬
.((SQL) ‫ﻧﺎم راﺑﻄﻪ )در ﻛﺎﻣﭙﻴﻮﺗﺮ اﺟﺮا ﻧﻤﻲ ﺷﻮد‬ where ‫ﺷﺮط ﻳﺎ ﺷﺮﻃﻬﺎ‬
:‫ﻣﺜﺎل‬
www.PDFgozar.com

‫ ﭘﺎﻳﮕﺎه دادهﻫﺎ‬134

Б (S) ‫ﻳﺎ‬ S where city = London


city = London

S# SNAME STATUS CITY


S1 smith 20 London
S4 clark 20 london

:‫ﻣﺜﺎل‬
Б (S)
CITY = " London" AND SNAME = " smith"
S# SNAME STATUS CITY
S1 smith 20 London

(∏) ‫دﺳﺘﻮر‬
‫( ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ در واﻗﻊ ﺳﺘﻮن ﻫﺎﻳﻲ از راﺑﻄﻪ را‬Project) ‫اﻳﻦ دﺳﺘﻮر ﻫﻤﺎن ﻋﻤﻠﮕﺮ ﭘﺮﺗﻮ‬
:‫ ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﻳﻜﻲ از دو ﺻﻮرت ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‬.‫در ﺑﺮ ﻣﻲ ﮔﻴﺮد‬

∏ (‫)ﻧﺎم راﺑﻄﻪ‬ -1
‫ﻧﺎم ﺻﻔﺖ‬
‫] ﻧﺎم ﺻﻔﺘﻬﺎ [ ﻧﺎم راﺑﻄﻪ‬ -2

:‫ﻣﺜﺎل‬
∏ (s ) ‫ﻳﺎ‬ s [city]
City

City
London
Paris
Athens
:‫ﻣﺜﺎل‬
∏ (S ) ‫ﻳﺎ‬ S [ S# , SNAME ]
S# ‫و‬ SNAME
‫‪www.PDFgozar.com‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪135‬‬

‫‪S#‬‬ ‫‪SNAME‬‬
‫‪S1‬‬ ‫‪Smith‬‬
‫‪S2‬‬ ‫‪Jones‬‬
‫‪S3‬‬ ‫‪Black‬‬
‫‪S4‬‬ ‫‪Clark‬‬
‫‪S5‬‬ ‫‪Adams‬‬

‫ﺗﻤﺮﻳﻦ‪ :‬ﻧﺎم اﻓﺮادﻳﻜﻪ ﺷﻬﺮﺷﺎن ﻟﻨﺪن )‪ (london‬اﺳﺖ ؟‬


‫)‪Б (s‬‬
‫‪∏ city‬‬ ‫=‬ ‫"‪" London‬‬
‫‪Name‬‬

‫اﻓﺮادﻳﻜﻪ وﺿﻌﻴﺘﺸﺎن ﺑﺮاﺑﺮ ‪ 30‬اﺳﺖ‪.‬‬ ‫‪S#‬‬ ‫ﺗﻤﺮﻳﻦ‪:‬‬


‫)‪Б (s‬‬
‫∏‬ ‫‪STATUS = 30‬‬

‫‪S#‬‬
‫‪S#‬‬
‫‪(S‬‬ ‫= ‪WHERE CITY‬‬ ‫)"‪" London‬‬
‫‪Name‬‬

‫)‪(join‬‬ ‫ﻋﻤﻠﮕﺮﻫﺎي ﭘﻴﻮﻧﺪ‬


‫‪1‬‬
‫ﺿﺮب دﻛﺎرﺗﻲ‬
‫راﺑﻄﻪ اي اﺳﺖ ﻛﻪ ﺳﺘﻮﻧﻬﺎﻳﺶ ﻣﺠﻤﻮع ﺳﺘﻮﻧﻬﺎي دو راﺑﻄﻪ و ﺳﻄﺮﻫﺎﻳﺶ ﺑﺮاﺑﺮ ﺑﺎ‬
‫ﺣﺎﺻﻠﻀﺮب )ﺗﻤﺎﻣﻲ ﺗﺮﻛﻴﺒﻬﺎي ﻣﻤﻜﻦ( ﺳﻄﺮﻫﺎي آن دو راﺑﻄﻪ )ﺗﻜﺮاري ﻧﻴﺰ ﺧﻮاﻫﻴﻢ‬
‫داﺷﺖ( اﺳﺖ‪.‬‬

‫ﺧﻮاص ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ‬


‫اﻃﻼﻋﺎت ﻛﺎﻣﻞ‬ ‫•‬

‫‪1 . C a r t e si a n P r o d uc t‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 136‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﺣﺠﻢ ﻳﺎ ﻓﻀﺎي زﻳﺎدي اﺷﻐﺎل ﻣﻲﻛﻨﺪ )ﺣﺘﻲ اﻻﻣﻜﺎن اﻧﺠﺎم ﻧﻤﻲدﻫﻴﻢ(‪.‬‬ ‫•‬
‫‪a‬‬ ‫‪*b=b*a‬‬ ‫•‬

‫ﻛﺎرﺑﺮدﻫﺎي ﺿﺮب دﻛﺎرﺗﻲ)‪(X‬‬


‫ﻳﻜﻲ از ﻛﺎرﺑﺮدﻫﺎي ﺿﺮب دﻛﺎرﺗﻲ ﻣﻮاﻗﻌﻲ اﺳﺖ ﻛﻪ ﺑﻴﻦ ﺟﺪاول ﻋﺎﻣﻞ ارﺗﺒﺎط‬
‫)ﺻﻔﺘﻬﺎي ﻣﺸﺨﺺ( ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻴﻢ )راه ﺣﻞ ﺧﻮﺑﻲ ﻧﻴﺴﺖ زﻳﺮا ﻓﻀﺎي زﻳﺎدي اﺷﻐﺎل‬
‫ﻣﻲ ﻛﻨﺪ(‪.‬‬

‫‪a‬‬ ‫‪b‬‬ ‫‪c‬‬ ‫‪d‬‬ ‫*‬ ‫‪x‬‬ ‫‪y‬‬

‫ﺑﺎ ﺿﺮب‬ ‫‪join‬‬ ‫ﺑﺨﺎﻃﺮ ﭘﺮ ﻫﺰﻳﻨﻪ ﺑﻮدن ﺿﺮب‪ join ،‬ﻫﺎي دﻳﮕﺮ اراﺋﻪ ﮔﺮدﻳﺪﻧﺪ )اﺻﻞ‬
‫ﺷﺮوع ﻣﻲ ﺷﻮد(‪.‬‬

‫)∞(‬ ‫‪Natural join‬‬ ‫اﻟﺤﺎق ﻃﺒﻴﻌﻲ‬


‫ﻧﺘﻴﺠﻪ ﺣﺎﺻﻞ از اﻳﻦ ﻋﻤﻠﻴﺎت ﺷﺎﻣﻞ ﺟﺪوﻟﻲ اﺳﺖ ﻛﻪ ﺳﺘﻮﻧﻬﺎﻳﺶ‪ ،‬ﺳﺘﻮﻧﻬﺎي دو‬
‫ﺟﺪوﻟﻲ )ﺑﺪون ﺗﻜﺮار( و ﺳﻄﺮﻫﺎﻳﺶ‪ ،‬ﺳﻄﺮﻫﺎﻳﻲ از ﺟﺪول اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮ ﻫﻤﻪ‬
‫ﺳﺘﻮﻧﻬﺎي ﻫﻢ ﻧﺎﻣﺶ ﻣﺴﺎوي ﻫﺴﺘﻨﺪ‪.‬‬

‫‪A‬‬ ‫‪B‬‬
‫‪a‬‬ ‫‪b‬‬ ‫‪b‬‬ ‫‪c‬‬ ‫‪a‬‬ ‫‪b‬‬ ‫‪C‬‬
‫‪2‬‬ ‫‪4‬‬
‫‪1‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪4‬‬
‫‪5‬‬ ‫‪10‬‬ ‫‪B‬‬ ‫‪∞A‬‬
‫‪2‬‬ ‫‪4‬‬ ‫‪6‬‬ ‫‪8‬‬ ‫=‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪1‬‬
‫‪4‬‬ ‫‪3‬‬ ‫=‬
‫‪2‬‬ ‫‪1‬‬ ‫‪A join B‬‬
‫‪2‬‬ ‫‪4‬‬ ‫‪3‬‬

‫در ﻣﺒﺎﺣﺚ ﭘﻴﻮﻧﺪ راﺑﻄﻪﻫﺎ ﻧﻜﺎت زﻳﺮ ﺑﺎﻳﺪ ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﮔﻴﺮد‪:‬‬

‫)‪( A ∞B) ∞ C = A ∞ (B ∞ C‬‬


‫‪A∞B= B∞A‬‬
‫‪www.PDFgozar.com‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪137‬‬

‫اﮔﺮ دو ﺟﺪول ‪ A‬و ‪ B‬داراي ﺻﻔﺎت ﻣﺸﺘﺮﻛﻲ ﻧﺒﺎﺷﻨﺪ ∞ ﺗﺒﺪﻳﻞ ﺑﻪ ‪ X‬ﻣﻲ ﺷﻮد‪.‬‬

‫‪(X ⍬ (⍬- join) teta‬‬ ‫)‪join‬‬

‫و اﻳﻦ ﻋﺒﺎرت ﻣﻌﺎدل ﺿﺮب دﻛﺎرﺗﻲ اﺳﺖ ﻛﻪ ﺷﺮﻃﻲ ﻧﻴﺰ ﺑﻪ آن اﻓﺰوده ﺷﺪه اﺳﺖ‪.‬‬

‫‪R1 * R2‬‬ ‫ﻳﺎ‬ ‫‪(R1 * R2) WHERE‬‬ ‫ﺷﺮط‬


‫ﺷﺮط‬
‫دو راﺑﻄﻪ ﺑﺮ اﺳﺎس ﺷﺮط ﺧﺎﺻﻲ ﺑﻪ ﻏﻴﺮ از ﺑﺮاﺑﺮي‬ ‫‪join‬‬ ‫ﻛﺎرﺑﺮد‪ :‬ﻣﻮاﻗﻌﻲ ﻛﻪ ﻧﻴﺎز ﺑﻪ‬
‫آﻧﻬﺎ ﺑﺎﺷﺪ‪.‬‬
‫ﻣﺜﺎل‪:‬‬
‫‪A‬‬ ‫‪B‬‬ ‫‪A*B‬‬
‫‪A.b > B.c‬‬
‫‪a‬‬ ‫‪b‬‬ ‫‪c‬‬ ‫‪d‬‬ ‫‪a‬‬ ‫‪b‬‬ ‫‪c‬‬ ‫‪d‬‬
‫‪x‬‬ ‫‪15‬‬ ‫‪10‬‬ ‫‪K‬‬ ‫‪x‬‬ ‫‪15‬‬ ‫‪10‬‬ ‫‪K‬‬
‫‪y‬‬ ‫‪20‬‬ ‫‪25‬‬ ‫‪l‬‬ ‫‪y‬‬ ‫‪20‬‬ ‫‪10‬‬ ‫‪K‬‬

‫=‪⍺‬‬ ‫‪semi join‬‬


‫ﻫﻤﺎن ‪ X ⍬‬اﺳﺖ ﻛﻪ ﻓﻘﻂ ﺷﺎﻣﻞ ﺳﺘﻮﻧﻬﺎي ﺟﺪول اول ﻣﻲ ﺑﺎﺷﺪ )ﺑﺪون ﺳﺘﻮﻧﻬﺎي‬
‫ﺗﻜﺮاري(‪.‬‬
‫‪R1‬‬ ‫‪⍺ R2‬‬
‫ﺷﺮط‬

‫‪ (Distributed‬ﺑﻜﺎر ﻣﻲ رود ﺗﺎ از اﻧﺘﻘﺎل‬ ‫)‪DB‬‬ ‫ﻛﺎرﺑﺮد‪ :‬در ﭘﺎﻳﮕﺎهﻫﺎي داده ﺗﻮزﻳﻊ ﻳﺎﻓﺘﻪ‬
‫اﻃﻼﻋﺎت زﻳﺎدي ﺟﻠﻮﮔﻴﺮي ﻛﻨﺪ‪.‬‬

‫ﻣﺜﺎل‪:‬‬
‫‪B⍺A‬‬ ‫‪A‬‬ ‫‪B‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 138‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫‪c.B < b.A‬‬ ‫‪x‬‬ ‫‪15‬‬


‫‪y‬‬ ‫‪20‬‬

‫‪1‬‬
‫ﻋﻤﻠﮕﺮ ﺗﻘﺴﻴﻢ‬
‫ﻓﺮض ﻛﻨﻴﺪ‬
‫‪A (X‬‬ ‫)‪ Yn‬و‪ ...‬و ‪ Y2‬و ‪ Y1‬و ‪ Xn‬و‪ ...‬و ‪ X2‬و‬
‫‪1‬‬
‫و‬
‫‪B (Y‬‬ ‫)‪ Yn‬و‪ ...‬و ‪ Y2‬و‬
‫‪1‬‬

‫در ﺗﻘﺴﻴﻢ دو راﺑﻄﻪ‪ ،‬ﺳﺘﻮﻧﻬﺎي ﺑﺎﻗﻲ ﻣﺎﻧﺪه و ﺳﻄﺮﻫﺎ‪ ،‬ﺳﻄﺮﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﺷﺮط در ﻫﻤﻪ‬
‫آﻧﻬﺎ ﺻﺎدق اﺳﺖ‪.‬‬
‫‪A DIVIDE By B‬‬ ‫‪= A‬‬ ‫‪÷B‬‬ ‫=‬ ‫)‪ Xn‬و‪ ...‬و ‪ X2‬و ‪(X1‬‬

‫را‬ ‫‪Yn‬‬ ‫را ﺑﻪ ﻣﺎ ﻧﻤﻲ دﻫﺪ‪ ،‬اﮔﺮ‬ ‫‪X2‬‬ ‫را ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻴﻢ‬ ‫‪Y2‬‬ ‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ اﮔﺮ‬
‫را ﺑﻪ ﻣﺎ ﻧﻤﻲ دﻫﺪ‪.‬‬ ‫ﺑﺎﺷﻴﻢ‪Xn‬‬ ‫ﻧﺪاﺷﺘﻪ‬
‫ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﻧﻜﺘﻪ ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ اﺳﺎﺳﺎً اﻳﻦ ﻋﻤﻠﮕﺮ ﭼﻪ ﻛﺎرﺑﺮدﻫﺎﻳﻲ ﻣﻲﺗﻮاﻧﺪ‬
‫داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬در ﭘﺎﺳﺦ ﺑﻪ اﻳﻦ ﭘﺮﺳﺶ ﺑﺎﻳﺪ ﮔﻔﺖ ﻛﻪ ﻳﻜﻲ از ﺳﺎده ﺗﺮﻳﻦ ﻣﻮارد اﺳﺘﻔﺎده از‬
‫اﻳﻦ ﻋﻤﻠﮕﺮ ﭘﺮس و ﺟﻮﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از آﻧﻬﺎ دﻧﺒﺎل ﻣﻘﺎدﻳﺮي ﺑﮕﺮدﻳﻢ ﻛﻪ ﺣﺎوي‬
‫ﻳﻚ ﻛﻠﻤﻪ ﺧﺎص ﺑﺎﺷﺪ‪) .‬ﻣﺜﻼ ﺗﻤﺎم ‪X‬ﻫﺎﻳﻲ را ﺑﺪه ﻛﻪ ‪Y‬ﻫﺎﻳﺸﺎن ﺑﺮاﺑﺮ ⃞ اﺳﺖ(‪.‬‬
‫ﻣﺜﺎل‪:‬‬
‫ﺳﺎزﻧﺪه ﻫﺎ ) ‪ CITY‬و‪ STATUS‬و ‪ SNAME‬و‪S ( S#‬‬
‫ﻣﺤﺼﻮﻻت )‪ CITY‬و ‪ WEIGHT‬و ‪ PNAME‬و ‪P (P#‬‬
‫ﺗﺮﻛﻴﺒﻲ از ﻣﺤﺼﻮﻻت و ﺳﺎزﻧﺪه )‪ Qty‬و ‪ P#‬و ‪SP (S#‬‬

‫ﺗﻌﺪاد‬
‫ﺳﻮال‪:‬‬
‫ﻓﺮوﺷﻨﺪﮔﺎﻧﻲ ﻛﻪ ﻫﻤﻪ )ﺗﻤﺎم( ﻗﻄﻌﺎت را ﺗﻮﻟﻴﺪ ﻣﻲ ﻛﻨﻨﺪ ﻳﺎ ﻧﺎم ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪﮔﺎن ﻫﻤﻪ‬

‫‪1. D i vi d e - D i vi s i o n‬‬
‫‪www.PDFgozar.com‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪139‬‬

‫ﻗﻄﻌﺎت؟‬
‫∏‬ ‫‪( ∏ (SP) ÷ ∏ (P)) ∞ S‬‬
‫‪s# , P#‬‬ ‫‪P#‬‬

‫‪SNAME‬‬

‫ﺷﻤﺎر ﺳﺎزﻧﺪه و ﻗﻄﻌﺎﺗﻲ ﻛﻪ ﺗﻮﻟﻴﺪ ﻣﻲﻛﻨﻨﺪ را دارد‬ ‫ﺷﻤﺎر ﺗﻤﺎم ﻗﻄﻌﺎت‬


‫)ﺗﻜﺮاري ﻫﻢ دارد(‬

‫ﻛﻪ ﻫﻤﻪ ﻗﻄﻌﺎت را ﺗﻮﻟﻴﺪ ﻛﻨﺪ‪.‬‬ ‫‪S#‬‬ ‫ﺟﻮاب‪:‬‬


‫ﻣﻲ ﻛﻨﻴﻢ‬ ‫‪join ،S‬‬ ‫از آﻧﺠﺎﺋﻴﻜﻪ در ﺟﺴﺘﺠﻮس ﻧﺎم ﻗﻄﻌﻪ ﻫﺴﺘﻴﻢ‪ ،‬ﭘﺲ ﺟﻮاب را ﺑﺎ ﺟﺪول‬
‫ﻛﻪ در آﺧﺮ ﻧﺎم آن ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪﮔﺎن را ﺑﺪﺳﺖ آورﻳﻢ‪.‬‬

‫ﺳﻮال‪:‬‬
‫ﺷﻤﺎره ﻓﺮوﺷﻨﺪﮔﺎﻧﻲ ﻛﻪ ﺣﺪاﻗﻞ ﺗﻤﺎم ﻗﻄﻌﺎت ﻋﺮﺿﻪ ﺷﺪه ﺗﻮﺳﻂ ‪ S2‬را ﻋﺮﺿﻪ ﻣﻲ ﻛﻨﻨﺪ؟‬

‫÷ )‪∏ (s‬‬ ‫)‪Б (sp‬‬


‫‪S#‬‬ ‫‪S#=ՙS2̀՚‬‬
‫ﺳﻮال‪:‬‬
‫ﺟﺪاول زﻳﺮ را در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺑﻪ ﭘﺮﺳﺶ ﻫﺎ ﭘﺎﺳﺦ دﻫﻴﺪ‪.‬‬

‫‪Stud (S#‬‬ ‫)‪ clg #‬و ‪ avg‬و ‪ city‬و ‪ SNAME‬و‬


‫‪prof (pname‬‬ ‫و ‪ degree‬و ‪ esp‬و ‪ affice‬و‬ ‫)‪clg#‬‬
‫‪ cname‬و‪crs (c#‬‬ ‫)‪ clg#‬و ‪ unit‬و‬
‫‪ s#‬و‪ c#‬و‪sec (sec#‬‬ ‫)‪ score‬و ‪ pname‬و‪ term‬و‬
‫‪clg (clg#‬‬ ‫)‪ pnam‬و ‪ city‬و ‪ clgname‬و‬

‫اﻟﻒ( ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ‪ ،‬ﻧﺎم‪ ،‬ﻛﺪ داﻧﺸﻜﺪه و ﻣﻌﺪل داﻧﺸﺠﻮﻳﻲ ﻛﻪ ﻣﻴﺎﻧﮕﻴﻦ ﻧﻤﺮات آﻧﻬﺎ‬
‫ﺑﺎﻻي ‪ 15‬ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫ب( ﻟﻴﺴﺖ ﻧﺎم اﺳﺎﺗﻴﺪي ﻛﻪ رﺋﻴﺲ داﻧﺸﻜﺪه ﻧﻴﺴﺘﻨﺪ‪.‬‬
‫ج( ﻣﺸﺨﺼﺎت ﻛﺎﻣﻞ روﺳﺎي داﻧﺸﻜﺪهﻫﺎ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 140‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫د( داﻧﺸﺠﻮﻳﺎﻧﻲ ﻛﻪ ﻫﻤﻪ درﺳﻬﺎي اﺳﺘﺎد ‪ x‬را ﮔﺮﻓﺘﻪ اﻧﺪ‪.‬‬


‫ه( درﺳﻬﺎﻳﻲ ﻛﻪ ﺗﻮﺳﻂ ﻫﻤﻪ داﻧﺸﻜﺪهﻫﺎ اراﺋﻪ ﻣﻲ ﺷﻮد‪.‬‬
‫و( ﻣﺸﺨﺼﺎت دروس ‪ 4‬واﺣﺪي ﻛﻪ در ﻧﻴﻤﺴﺎل اول ‪ 78‬اراﺋﻪ ﺷﺪه اﻧﺪ‪.‬‬

‫‪ -3‬ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮروي دادهﻫﺎ‬


‫ﻫﺮ ﻛﺎرﺑﺮ در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده ﺑﺮاي اﻧﺠﺎم ﻋﻤﻠﻴﺎت ﻧﻴﺎزﻣﻨﺪ‪ ،‬ﻋﻤﻠﮕﺮ ﻫﺎي زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬
‫‪1‬‬
‫ﻋﻤﻠﮕﺮ درج‬ ‫•‬
‫‪2‬‬
‫ﻋﻤﻠﮕﺮ ﺑﻬﻨﮕﺎم ﺳﺎزي‬ ‫•‬
‫‪3‬‬
‫ﻋﻤﻠﮕﺮ ﺣﺬف‬ ‫•‬

‫اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ در واﻗﻊ اﻣﻜﺎﻧﺎت ﺣﺬف‪ ،‬اﺿﺎﻓﻪ و اﺻﻼًح اﻃﻼﻋﺎت را ﺑﺮاي ﻛﺎرﺑﺮ ﻓﺮاﻫﻢ‬
‫ﻣﻲ آورﻧﺪ‪ .‬در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮﻳﻚ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ‪.‬‬

‫‪ 1-3‬ﻋﻤﻠﮕﺮ درج‬
‫اﻳﻦ ﻋﻤﻠﮕﺮ اﻣﻜﺎن اﺿﺎﻓﻪ ﻛﺮدن اﻃﻼﻋﺎت ﺑﻪ ﺟﺪاول اﻃﻼﻋﺎﺗﻲ )راﺑﻄﻪ ﻫﺎ( را ﻓﺮاﻫﻢ‬
‫ﻣﻲ آورد‪ .‬اﻳﻦ ﻋﻤﻠﮕﺮ در ﺣﺎﻟﺖ ﻛﻠﻲ اﻣﻜﺎن اﻓﺰودن داده ﻫﺎ ﺑﻪ دوﺻﻮرت زﻳﺮ را دارد‪.‬‬
‫اﻓﺰودن ﻣﻘﺎدﻳﺮ ﻣﺸﺨﺺ ﺑﻌﻨﻮان ﻳﻚ ﺳﻄﺮ اﻃﻼﻋﺎﺗﻲ ﺑﻪ ﺟﺪول‬ ‫•‬
‫اﻓﺰودن ﺗﻌﺪادي ﺳﻄﺮ اﻃﻼﻋﺎﺗﻲ از ﺟﺪوﻟﻲ ﺑﻪ ﺟﺪول دﻳﮕﺮ‬ ‫•‬

‫ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫‪INSERT‬‬ ‫‪source‬‬ ‫‪INTO‬‬ ‫‪Target‬‬

‫ﺟﺪول ﻣﻘﺼﺪ‬
‫ﻣﻲ ﺗﻮاﻧﺪ ﺑﺼﻮرت ﻣﺠﻤﻮﻋﻪ اي ﻣﺸﺨﺺ‬ ‫‪Source‬‬ ‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﮔﺮدد ﻋﺒﺎرت‬
‫از ﻣﻘﺎدﻳﺮ ﻛﻪ ﻣﻨﻄﺒﻖ ﺑﺎ ﺟﺪول ﻣﻘﺼﺪ ﻫﺴﺘﻨﺪ‪ ،‬ﺑﺎﺷﺪ و ﻳﺎ اﻳﻨﻜﻪ ﺧﺮوﺟﻪ ﺣﺎﺻﻞ از ﻳﻚ‬

‫‪1. In s e r t‬‬
‫‪2. U p da t e‬‬
‫‪3. D el e t e‬‬
‫‪www.PDFgozar.com‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪141‬‬

‫ﺟﺪول و ﻳﺎ ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از اﻋﻤﺎل ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪ اي ﺑﺮ روي ﻳﻚ ﻳﺎ ﭼﻨﺪ‬


‫ﺟﺪول ﺑﺎﺷﺪ‪.‬‬
‫ﻣﺜﺎل‪:‬‬
‫‪INSERT (S WHERE city‬‬ ‫)‪= ՙlondon՚‬‬ ‫‪INTO TEMP‬‬

‫اﺿﺎﻓﻪ‬ ‫‪temp‬‬ ‫اﺳﺖ را در راﺑﻄﻪ ‪ ،S‬را ﺑﻪ ﺟﺪول‬ ‫‪city‬‬ ‫آن ﺳﻄﺮﻫﺎﻳﻲ ﻛﻪ ‪= ՙLondon՚‬‬
‫ﻣﻲ ﻛﻨﺪ‪.‬‬

‫‪ 2-3‬ﻋﻤﻠﮕﺮ ﺑﻬﻨﮕﺎم ﺳﺎزي‬


‫اﻳﻦ ﻋﻤﻠﮕﺮ اﻣﻜﺎن اﺻﻼًح اﻃﻼﻋﺎت ذﺧﻴﺮه ﺷﺪه در ﻳﻚ ﺟﺪول را ﺑﺮاي ﻛﺎرﺑﺮ ﻓﺮاﻫﻢ‬
‫ﻣﻲ آورد‪ .‬ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫‪UPDATE target‬‬ ‫‪Comma list-assignment‬‬


‫ﻳﻚ اﻧﺘﺴﺎب‬
‫ﻣﺜﺎل‪:‬‬
‫’‪UPDATE P city = ‘Paris’ WHERE color = ‘Red‬‬

‫ﻋﺒﺎرت ﺑﺎﻻ ﺑﺪﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ از راﺑﻄﻪ ‪ P‬اﻧﺪﺳﺘﻪ از ﺳﻄﺮﻫﺎﻳﻲ را ﻛﻪ ﻣﻘﺪار ﺻﻔﺖ‬
‫ﺧﺎﺻﻪ رﻧﮓ در آﻧﻬﺎ ﻗﺮﻣﺰ اﺳﺖ‪ ،‬ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ ﺷﻬﺮ را ﺑﺮاﺑﺮ ﺑﺎ ﭘﺎرﻳﺲ ﻛﻨﻴﻢ‪ .‬اﻳﻦ‬
‫ﻋﻤﻠﮕﺮ را ﺑﺼﻮرت ﻧﻤﺎدﻳﻦ )ﻧﻤﺎﻳﺶ( ﻣﻲ ﺗﻮان ﺑﻪ ﺻﻮرت زﻳﺮ ﻧﺸﺎن داد‪.‬‬
‫)‪(P‬‬
‫’‪WHERE color = ‘Red‬‬
‫’‪City = ‘Paris‬‬

‫ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ ﻋﺒﺎرت ﺑﺎﻻ در ﺑﻌﻀﻲ از ﻛﺘﺐ ﺑﺼﻮرت ﻛﺎﻣﻞ ﺗﺮ ﺑﻴﺎن ﻣﻲ ﺷﻮد ﻛﻪ‬
‫در ﺑﺤﺚ ﻓﻌﻠﻲ ﻣﺪﻧﻈﺮ ﻧﻴﺴﺖ‪.‬‬

‫‪ 3-3‬ﻋﻤﻠﮕﺮ ﺣﺬف‬
‫اﻳﻦ ﻋﻤﻠﮕﺮ ﺟﻬﺖ ﺣﺬف ﺳﻄﺮﻫﺎﻳﻲ از اﻃﻼﻋﺎت درون ﺟﺪاول ﺑﻜﺎر ﻣﻲرود‪ .‬ﺷﻜﻞ‬
‫ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬
‫‪DELETE‬‬ ‫‪target‬‬ ‫‪R‬‬ ‫‪R -E‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 142‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﻣﺜﺎل‪:‬‬
‫‪DELETE S WHERE‬‬ ‫‪STATUS‬‬ ‫‪< 20‬‬

‫آﻧﻬﺎﻳﻲ را ﻛﻪ‬ ‫‪S‬‬ ‫ﻣﻌﻨﻲ دﺳﺘﻮر ﻣﺬﻛﻮر ﺑﺪﻳﻦ ﺻﻮرت اﺳﺖ‪ :‬ﺣﺬف ﻛﻦ از راﺑﻄﻪ‬
‫آن ﻛﻤﺘﺮ از ‪ 20‬اﺳﺖ )ﭘﺲ ﻳﻚ ﺳﻄﺮ ﺣﺬف ﻣﻲ ﮔﺮدد(‪.‬‬ ‫‪STATUS‬‬

‫ﺑﺎﺷﺪ )ﺗﻌﺪاد و ﻧﻮع ﺳﺘﻮن ﻫﺎﻳﺸﺎن‬ ‫‪Same arity‬‬ ‫ﺑﺎﻳﺪ داراي ﺷﺮط‬ ‫‪E‬‬ ‫و‬ ‫‪R‬‬ ‫ﺗﻮﺟﻪ‪ :‬راﺑﻄﻪ‬
‫ﻳﻜﺴﺎن اﺳﺖ(‪.‬‬

‫‪ -4‬ﻛﺎﻣﻞ ﺑﻮدن ﺟﺒﺮ راﺑﻄﻪاي‬


‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﺪ ﻣﻲ ﺗﻮان ﻋﺒﺎرات ﺟﺒﺮ راﺑﻄﻪ اي را ﺑﺎ اﺳﺘﻔﺎده از ﺗﺮﻛﻴﺐ ﻋﻤﻠﮕﺮﻫﺎ‬
‫ﻧﻮﺷﺖ و ﺣﺎﺻﻞ ﻫﺮ ﻋﺒﺎرت ﻣﻌﺘﺒﺮ ﺟﺒﺮ راﺑﻄﻪ اي ﺑﺎز ﻫﻢ ﻳﻚ راﺑﻄﻪ اﺳﺖ‪ .‬ﻟﺬا ﻣﻲ ﺗﻮان‬
‫ﭼﻨﻴﻦ ارزﻳﺎﺑﻲ ﻛﺮد ﻛﻪ ﻫﺮ راﺑﻄﻪ ﻣﻌﺘﺒﺮ از ﻣﺠﻤﻮﻋﻪ راﺑﻄﻪ ﻫﺎ را ﻣﻲ ﺗﻮان ﺑﻪ ﻛﻤﻚ ﻳﻚ‬
‫ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪ اي ﻧﻮﺷﺖ‪ .‬ﺑﺎ اﻳﻦ وﺻﻒ ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ ﺟﺒﺮ راﺑﻄﻪ اي از ﻧﻈﺮ‬
‫راﺑﻄﻪ اي ﻛﺎﻣﻞ اﺳﺖ ﻳﺎ ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﺟﺒﺮ راﺑﻄﻪ اي ﻛﻤﺎل راﺑﻄﻪ اي را دارد‪ .‬ﺑﺪﻳﻦ ﻋﻠﺖ‬
‫ﻣﻲ ﺗﻮان ﺟﺒﺮ راﺑﻄﻪ اي را ﻣﻌﻴﺎر ﺗﺸﺨﻴﺺ ﻛﻤﺎل راﺑﻄﻪ اي ﺑﺮاي زﺑﺎنﻫﺎي راﺑﻄﻪ اي‬
‫داﻧﺴﺖ‪ .‬ﻳﻌﻨﻲ ﻣﻲ ﺗﻮان ﮔﻔﺖ زﺑﺎﻧﻲ داراي ﻛﻤﺎل راﺑﻄﻪ اي اﺳﺖ ﻛﻪ ﺣﺪاﻗﻞ ﻫﺮ راﺑﻄﻪاي‬
‫ﻛﻪ ﺑﺎ ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪ اي ﻗﺎﺑﻞ ﺗﻌﺮﻳﻒ ﺑﺎﺷﺪ‪ ،‬ﺗﻮﺳﻂ آن زﺑﺎن ﻫﻢ ﺗﻌﺮﻳﻒ ﺷﺪﻧﻲ‬
‫ﺑﺎﺷﺪ‪.‬‬

‫‪ -5‬ﺣﺴﺎب راﺑﻄﻪاي‬
‫ﻧﻮع دﻳﮕﺮي از اﻣﻜﺎﻧﺎت اﻧﺠﺎم ﻋﻤﻠﻴﺎت در راﺑﻄﻪ ﻫﺎ‪ ،‬ﺣﺴﺎب راﺑﻄﻪ اي اﺳﺘﻜﻪ ﻣﻨﻄﻘﺎً‬
‫ﻣﻌﺎدل ﺟﺒﺮ راﺑﻄﻪ اي ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻳﻌﻨﻲ ﺑﺮاي ﻫﺮ ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪ اي‪ ،‬ﻳﻚ ﻋﺒﺎرت ﻣﻌﺎدل‬
‫در ﺣﺴﺎب راﺑﻄﻪ اي وﺟﻮد دارد و ﺑﺎﻟﻌﻜﺲ‪ .‬دراﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ ﺷﻮد‬
‫ﻛﻪ ﺟﺒﺮ راﺑﻄﻪ اي‪ ،‬دﺳﺘﻮري ﺑﻮده و ﺷﺒﻴﻪ ﺑﻪ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ اﺳﺖ و ﺣﺴﺎب‬
‫راﺑﻄﻪ اي ﺑﺼﻮرت ﺗﻮﺻﻴﻔﻲ ﺑﻮده و ﺑﻪ زﺑﺎن ﻃﺒﻴﻌﻲ ﻧﺰدﻳﻚﺗﺮ اﺳﺖ‪ .‬ﺣﺴﺎب راﺑﻄﻪ اي‬
‫ﺧﻮد داراي دو ﺷﺎﺧﻪ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬
‫‪www.PDFgozar.com‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪143‬‬

‫‪1‬‬
‫ﺣﺴﺎب ﺗﺎﭘﻠﻲ‬ ‫•‬
‫‪2‬‬
‫ﺣﺴﺎب ﻣﻴﺪاﻧﻲ‬ ‫•‬

‫در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮﻳﻚ از اﻳﻦ دو ﻧﻮع ﺣﺴﺎب ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ‪:‬‬

‫‪ 1-5‬ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ‬


‫در ﺣﺴﺎب راﺑﻄﻪ اي ﺗﺎﭘﻠﻲ‪ ،‬ﻳﻚ ﻣﻔﻬﻮم ﻣﻬﻢ ﺑﻪ ﻧﺎم ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ وﺟﻮد دارد‪ .‬ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ‬
‫ﻣﺘﻐﻴﺮي اﺳﺖ ﻛﻪ ﺗﻨﻬﺎ ﻣﻘﺎدﻳﺮ ﻣﺠﺎزش‪ ،‬ﺗﺎﭘﻞ ﻫﺎي راﺑﻄﻪ ﻫﺴﺘﻨﺪ‪ .‬اﻳﻦ ﻣﺘﻐﻴﺮ در ﺷﻜﻞ‬
‫ﻛﻠﻲ ﺑﻪ ﺻﻮرت زﻳﺮ ﺗﻌﺮﻳﻒ ﻣﻲ ﺷﻮد‬

‫‪<range var definition>:: RANGEVAR <range var name> RANGEOVER‬‬


‫>‪<Relational expression commalist‬‬

‫ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﺑﻪ ﻋﺒﺎرات زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬

‫;‪1-RANGEVAR STUD RANGE OVER STT‬‬


‫‪2-RANGEVAR STUD RANGEOVER‬‬
‫)‪(STUD WHERE STUD.STMJR = ‘’comp.eng‬‬

‫‪ 1-1-5‬ﺷﻜﻞ ﻛﻠﻲ ﻋﺒﺎرت ﺣﺴﺎب ﺗﺎﭘﻠﻲ‬


‫اﮔﺮ ‪ t‬ﻳﻚ ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ روي راﺑﻄﻪ )‪ R(A1,A2, … , AN‬ﺑﺎﺷﺪ‪ ،‬در اﻳﻨﺼﻮرت ﺷﻜﻞ ﻛﻠﻲ‬
‫ﻋﺒﺎرت ﺣﺴﺎب ﺗﺎﭘﻠﻲ ﺑﺼﻮرت زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬

‫]‪(target-items(s)) [WHERE f‬‬

‫ﻛﻪ در آن ))‪ (target-items(s‬ﺑﻪ ﻣﻔﻬﻮم ﻓﻬﺮﺳﺘﻲ از ﺻﻔﺎت ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ ‪ T‬اﺳﺖ‪:‬‬

‫‪T. A1 , T. A2 , … , T. AN‬‬

‫ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﺑﻪ ﻣﺜﺎل ﻫﺎي زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬


‫‪ST.STID‬‬
‫‪ST.STID, ST.STDEID AS W‬‬
‫’‪ST.STID WHERE ST.STDEID = ‘123‬‬

‫‪1. T u pl e Or i e n t e d‬‬
‫‪2. D o ma i n Or i e n t e d‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 144‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫‪ 2-1-5‬ﺳﻮر وﺟﻮدي و ﺳﻮر ﻫﻤﮕﺎﻧﻲ‬


‫در ﺣﺴﺎب راﺑﻄﻪ ﺗﺎﭘﻠﻲ دو ﺳﻮر وﺟﻮد دارد‪:‬‬
‫‪1‬‬
‫ﺳﻮر وﺟﻮدي‬ ‫•‬
‫‪2‬‬
‫ﺳﻮر ﻫﻤﮕﺎﻧﻲ‬ ‫•‬

‫ﺳﻮر وﺟﻮدي‬
‫ﺳﻮر وﺟﻮدي را ﺑﺎ ∃ ﻧﻤﺎﻳﺶ داده و ﻋﺒﺎرت آﻧﺮا ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﻧﻮﻳﺴﻴﻢ‬
‫)‪∃ T (f‬‬

‫وﺟﻮد دارد ﺑﻪ‬ ‫‪T‬‬ ‫ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﺪﻳﻦ ﻣﻌﻨﺎ اﺳﺖ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﻣﻘﺪار ﺑﺮاي ﻣﺘﻐﻴﺮ‬
‫ﻧﺤﻮي ﻛﻪ ‪ f‬ﺑﻪ ﻣﻔﻬﻮم "درﺳﺖ" ارزﻳﺎﺑﻲ ﺷﻮد‪.‬‬

‫ﺳﻮر ﻫﻤﮕﺎﻧﻲ‬
‫ﺳﻮر ﻫﻤﮕﺎﻧﻲ را ﺑﺎ ∀ ﻧﻤﺎﻳﺶ داده و ﻋﺒﺎرت آﻧﺮا ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﻧﻮﻳﺴﻴﻢ‬
‫)‪∀ T (f‬‬

‫ﺑﻪ ﻣﻔﻬﻮم‬ ‫‪F‬‬ ‫‪،‬‬ ‫‪T‬‬ ‫ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﺪﻳﻦ ﻣﻌﻨﺎ اﺳﺖ ﻛﻪ ﺑﻪ ازاء ﺗﻤﺎم ﻣﻘﺎدﻳﺮ ﻣﺘﻐﻴﺮ‬
‫"درﺳﺖ" ارزﻳﺎﺑﻲ ﻣﻲ ﺷﻮد‪.‬‬

‫اﻳﻦ دو ﺳﻮر ﺑﻪ روش ﻫﺎي زﻳﺮ ﻗﺎﺑﻞ ﺗﺒﺪﻳﻞ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻣﻲ ﺑﺎﺷﻨﺪ‪:‬‬

‫)‪FORAll T(f) ≡ NOT EXISTS T(NOT f‬‬


‫))‪EXISTS T(f) ≡ NOT (FORALL T(NOT f‬‬
‫))‪FORALL T((f) AND (g)) ≡ NOT EXISTS T(NOT (f) OR NOT (g‬‬
‫))‪FORALL T((f) OR (g)) ≡ NOT EXISTS T(NOT (f) AND NOT (g‬‬
‫))‪EXISTS T((F) OR (g)) ≡ NOT FORALL T(NOT (f) AND NOT (g‬‬
‫))‪EXISTS T((f) AND (g)) ≡ NOT FORALL T(NOT (f) OR NOT (g‬‬
‫)‪FORALL T(f) ⇒ EXISTS T(f‬‬
‫)‪NOT EXISTS T(f) ⇒ NOT FORALL T(f‬‬

‫‪ 3-1-5‬ﻋﺒﺎرت ﻣﻄﻤﺌﻦ‬
‫وﻗﺘﻲ از ﺳﻮر وﺟﻮدي‪ ،‬ﺳﻮر ﻫﻤﮕﺎﻧﻲ و ﺳﻮر ﻧﻔﻲ در ﻧﻮﺷﺘﻦ ﻳﻚ ﻋﺒﺎرت ﺣﺴﺎب‬

‫‪1. E xi s t e n t i a l‬‬
‫‪2. U n i ve r s a l‬‬
‫‪www.PDFgozar.com‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪145‬‬

‫راﺑﻄﻪ اي اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ‪ ،‬ﺑﺎﻳﺪ اﻃﻤﻴﻨﺎن ﺣﺎﺻﻞ ﻛﻨﻴﻢ ﻛﻪ ﻋﺒﺎرت ﺣﺴﺎﺑﻲ ﻧﻮﺷﺘﻪ ﺷﺪه‬
‫‪1‬‬
‫داراي ﻣﻌﻨﺎ ﺑﺎﺷﺪ‪ .‬ﻳﻚ ﻋﺒﺎرت ﺣﺴﺎﺑﻲ را ﻋﺒﺎرت ﻣﻄﻤﺌﻦ ﮔﻮﻳﻴﻢ ﻫﺮﮔﺎه ﻧﺘﻴﺠﻪ ارزﻳﺎﺑﻲ‬
‫‪2‬‬
‫آن‪ ،‬ﺗﻌﺪاد ﻣﺤﺪودي از ﺗﺎﭘﻠﻬﺎ ﺑﺎﺷﺪ‪ .‬در ﻏﻴﺮ اﻳﻨﺼﻮرت آن ﻋﺒﺎرت را ﻋﺒﺎرت ﻧﺎﻣﻄﻤﺌﻦ‬
‫ﻣﻲ ﮔﻮﻳﻴﻢ‪.‬‬

‫‪ 2-5‬ﺣﺴﺎب راﺑﻄﻪ ﻣﻴﺪاﻧﻲ‬


‫‪3‬‬
‫در اﻳﻦ ﻧﻮع ﺣﺴﺎب‪ ،‬ﺑﺠﺎي ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ‪ ،‬ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ دارﻳﻢ‪ .‬ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ ﻣﺘﻐﻴﺮي‬
‫اﺳﺖ ﻛﻪ از ﻳﻚ ﻣﻴﺪان ﻣﻘﺪار ﻣﻲ ﮔﻴﺮد‪ .‬ﺗﻔﺎوت اﺻﻠﻲ ﺣﺴﺎب ﻣﻴﺪاﻧﻲ ﺑﺎ ﺣﺴﺎب ﺗﺎﭘﻠﻲ‬
‫‪4‬‬
‫دراﻳﻦ اﺳﺖ ﻛﻪ در ﺣﺴﺎب ﻣﻴﺪاﻧﻲ‪ ،‬ﻳﻚ ﺷﺮط اﺿﺎﻓﻲ ﺑﻪ ﻧﺎم ﺷﺮط ﻋﻀﻮﻳﺖ وﺟﻮد‬
‫دارد‪ .‬ﺷﺮط ﻋﻀﻮﻳﺖ ﺑﺼﻮرت زﻳﺮ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد‪:‬‬

‫)‪R (A1:v1 , A2:v2, … , An:vn‬‬

‫ﻳﻚ ﻣﻘﺪار از ﻣﻴﺪان و ﻳﺎ ﻳﻚ ﻟﻴﺘﺮال اﺳﺖ‪.‬‬ ‫‪vi‬‬ ‫ﻧﺎم ﺻﻔﺖ و‬ ‫‪Ai‬‬ ‫ﻧﺎم راﺑﻄﻪ ‪،‬‬ ‫‪R‬‬ ‫ﻛﻪ در آن‬
‫وﺟﻮد‬ ‫‪R‬‬ ‫اﻳﻦ ﺷﺮط ﺑﻪ ﻣﻔﻬﻮم "درﺳﺖ" ارزﻳﺎﺑﻲ ﻣﻲ ﺷﻮد اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ ﺗﺎﭘﻠﻲ در‬
‫داﺷﺘﻪ ﺑﺎﺷﺪ ﻛﻪ ﻣﻘﺎدﻳﺮ داده ﺷﺪه ﺑﺮاي ﺻﻔﺎت را داﺷﺘﻪ ﺑﺎﺷﺪ )ﺗﺎﭘﻞ ﻋﻀﻮي از ﻣﺠﻤﻮﻋﻪ‬
‫ﺑﺪﻧﻪ راﺑﻄﻪ ﺑﺎﺷﺪ(‪ .‬ﺑﺮاي ﻣﺜﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬

‫)’‪STT (STID: ‘345’,stdeg:’xwe‬‬

‫در ﻋﺒﺎرت ﻓﻮق اﻳﻦ ﺷﺮط ﺑﻪ ﻣﻔﻬﻮم "درﺳﺖ" ارزﻳﺎﺑﻲ ﻣﻲﺷﻮد اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﺗﺎﭘﻠﻲ‬
‫در ‪ STT‬ﺑﺎ ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ ’‪ ‘345‬و رﺷﺘﻪ ﻛﺎرﺷﻨﺎﺳﻲ ’‪ ‘xwe‬وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫‪5‬‬
‫‪ -6‬ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ‬
‫ﻳﻜﻲ از ﻣﺒﺎﺣﺜﻲ ﻛﻪ در ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻣﻄﺮح اﺳﺖ ﺑﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﻋﺒﺎرت ﭘﺮس و‬

‫‪1. Sa f e e xp r e s s i o n‬‬
‫‪2. U n sa f e e x p r e s s i o n‬‬
‫‪3. D o ma i n va r i a b l e‬‬
‫‪4. M e mb e r s h i p c o n d i t io n‬‬
‫‪5. O p ti mi z a t i o n Q u e r y‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 146‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﺟﻮ ﻣﻲ ﺑﺎﺷﺪ‪ .‬از آﻧﺠﺎﺋﻴﻜﻪ ﻣﺒﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮ ﻣﺮﺑﻮط ﺑﻪ دوره ﻛﺎرﺷﻨﺎﺳﻲ‬
‫ﻧﻴﺴﺖ‪ ،‬ﻟﺬا در اﻳﻨﺠﺎ ﺻﺮﻓﺎ ﺗﻮﺿﻴﺤﺎت ﻣﺨﺘﺼﺮي در اﻳﻨﺒﺎره اراﺋﻪ ﺧﻮاﻫﻴﻢ ﻛﺮد‪.‬‬
‫ﺗﻤﺎﻣﻲ ﺗﻼش ﻃﺮاﺣﺎن ﭘﺎﻳﮕﺎه داده ﻫﺎ در ﻛﻮﺗﺎه ﻛﺮدن ﻣﺪت زﻣﺎن ارﺳﺎل ﭘﺎﺳﺦ ﺑﻪ ﻣﺘﻘﺎﺿﻲ‬
‫اﺳﺖ‪ .‬در ﻋﻴﻦ ﺣﺎل ﺧﺮوﺟﻲ ﻳﻜﺴﺎن در ﻫﻤﻪ ﺣﺎل ﻣﺪ ﻧﻈﺮ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﻌﻨﻮان ﻣﺜﺎل دو‬
‫ﻋﺒﺎرت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪:‬‬

‫‪١-‬‬ ‫∏‬ ‫‪Б‬‬ ‫)‪(R‬‬


‫‪A,B‬‬ ‫‪A=B‬‬
‫‪٢-‬‬ ‫‪Б‬‬ ‫∏‬ ‫)‪(R‬‬
‫‪A=B‬‬ ‫‪A,B‬‬

‫اﺳﺖ را ﺟﺪا ﻣﻲ ﻛﻨﺪ )ﺳﻄﺮي(‪ ،‬ﺑﻌﺪ از ﻛﻞ‬ ‫‪A=B‬‬ ‫آن ﻫﺎﻳﻲ ﻛﻪ‬ ‫‪R‬‬ ‫‪ -1‬اﺑﺘﺪا از راﺑﻄﻪ‬
‫آﻧﻬﺎ ﺳﺘﻮن ﻫﺎ را ﺑﻴﺮون ﻣﻲ ﻛﺸﺪ‪.‬‬
‫‪A= B‬‬ ‫را ﺟﺪا ﻣﻲ ﻛﻨﺪ‪ ،‬ﺑﻌﺪ آﻧﻬﺎﻳﻲ را ﻛﻪ‬ ‫‪ B‬و‪A‬‬ ‫دو ﺳﺘﻮن‬ ‫‪R‬‬ ‫‪ -2‬اﺑﺘﺪا از راﺑﻄﻪ‬
‫اﺳﺖ را ﺟﺪا ﻣﻲﻛﻨﺪ )ﺳﻄﺮﻫﺎﻳﻲ ﻛﻪ ‪.( A = B‬‬

‫در اﻳﻨﺠﺎ ﻣﻤﻜﻦ اﺳﺖ ﺳﺌﻮاﻻﺗﻲ ﺑﺮاي ﻛﺎرﺑﺮ ﻣﻄﺮح ﮔﺮدد‪ .‬ﻣﺎﻧﻨﺪ‪:‬‬
‫آﻳﺎ ﻫﻤﻪ ﭘﺎﺳﺦﻫﺎ ﻣﻌﺎدل اﻧﺪ ؟ ﺑﻠﻲ‬ ‫•‬
‫آﻳﺎ ﻫﻤﻪ ﭘﺎﺳﺦﻫﺎ ﻫﻢ ﺳﺮﻋﺖاﻧﺪ ؟ ﺧﻴﺮ‬ ‫•‬

‫ﺑﻨﺎﺑﺮﻳﻦ ﺟﻬﺖ اﻓﺰاﻳﺶ ﺳﺮﻋﺖ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﺳﻌﻲ ﺑﺮ آن اﺳﺖ ﺑﻬﺘﺮﻳﻦ روش ﺑﻜﺎر‬
‫ﮔﺮﻓﺘﻪ ﺷﻮد و ﻳﺎ ﺑﻪ ﻋﺒﺎرت ﺑﻬﺘﺮ ﺳﻌﻲ ﻣﻲ ﻛﻨﻴﻢ ﺗﺎ آﻧﺠﺎ ﻛﻪ ﻣﻲ ﺗﻮاﻧﻴﻢ ﻫﺮ ﭼﻪ ﺳﺮﻳﻌﺘﺮ‬
‫ﺟﺪاول را ﻛﻮﭼﻚ ﻛﺮده و روي آﻧﻬﺎ ﻛﺎر ﻛﻨﻴﻢ‪.‬‬
‫ﻳﻜﻲ از ﺳﺌﻮاﻻﺗﻲ ﻛﻪ ﻣﻄﺮح ﻣﻲﮔﺮدد اﻳﻦ اﺳﺖ ﻛﻪ ﺳﺮﻋﺖ ‪Quary‬ﻫﺎي ﻣﺘﻔﺎوت‬
‫ﭼﻘﺪر ﺗﻔﺎوت دارد ؟ در ﭘﺎﺳﺦ ﺑﺎﻳﺪ ﮔﻔﺖ ﻛﻪ‪ :‬ﺑﺴﻴﺎر زﻳﺎد‪ ،‬زﻳﺮا دادهﻫﺎ و ﺟﺪاول در ﺣﺎﻓﻈﻪ‬
‫ﺟﺎﻧﺒﻲ ﻗﺮار دارﻧﺪ‪ .‬در اﻳﻦ راﺳﺘﺎ ﻣﻤﻜﻦ اﺳﺖ ﺑﮕﻮﻳﻴﻢ ﻛﻪ ﻛﺎرﺑﺮ ﺑﺎﻳﺪ آﻧﻘﺪر ﺗﺒﻬﺮ داﺷﺘﻪ ﺑﺎﺷﺪ‬
‫ﺗﺎ ﺑﺘﻮاﻧﺪ ﻋﺒﺎرت ﭘﺮﺳﻮ ﺟﻮي ﺧﻮد را ﺑﻬﻴﻨﻪ ﻧﻤﺎﻳﺪ‪ .‬وﻟﻲ آﻳﺎ واﻗﻌﺎ ﭼﻨﻴﻦ ﻛﺎري ﻣﻤﻜﻦ اﺳﺖ؟‬
‫در ﭘﺎﺳﺦ ﺑﺎﻳﺪ ﮔﻔﺖ‪ :‬ﺧﻴﺮ‪ .‬زﻳﺮا‪:‬‬
‫ﻛﺎرﺑﺮ ﻣﺘﺨﺼﺺ ﻧﻴﺴﺖ‪.‬‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪147‬‬

‫از ﺳﺎﻳﺮ ﺟﺪاول و ﭼﮕﻮﻧﮕﻲ آﻧﻬﺎ ﻣﻄﻠﻊ ﻧﻤﻲﺑﺎﺷﺪ‪.‬‬ ‫•‬


‫اﻛﺜﺮﻳﺖ ﻛﺎرﺑﺮان از ﺳﺎﺧﺘﺎر و ﻣﻜﺎﻧﻴﺰم دروﻧﻲ ﭘﺎﻳﮕﺎهداده ﺑﻲ اﻃﻼع ﻫﺴﺘﻨﺪ‪.‬‬ ‫•‬

‫را ﺑﻬﻴﻨﻪ ﺳﺎزي ﻧﻤﺎﻳﺪ‪.‬‬ ‫‪Quary‬‬ ‫ﺑﺎﻳﺪ‬ ‫‪DBMS‬‬ ‫ﭘﺲ ﺑﻬﺘﺮﻳﻦ راه ﺣﻞ اﻳﻦ اﺳﺖ ﻛﻪ ﺑﮕﻮﻳﻴﻢ‬
‫ﻃﺒﻴﻌﻲ اﺳﺖ ﻛﻪ ﺑﺎﻳﺪ ﻣﻜﺎﻧﻴﺰم ﻣﺸﺨﺼﻲ ﺑﺮاي اﻳﻨﻜﺎر وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﻫﺮﭼﻨﺪ ﻛﻪ‬
‫ﺑﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮﺳﻮ ﺟﻮ در اﻳﻦ ﻛﺘﺎب ﻧﻤﻲ ﮔﻨﺠﺪ‪ ،‬وﻟﻲ ﺑﺮاي اراﺋﻪ ﻳﻚ ﺷﻤﺎي‬
‫ﺳﺎده از اﻳﻦ ﻋﻤﻞ اﻟﮕﻮرﻳﺘﻢ ذﻳﻞ را )ﻛﻪ ﺑﺴﻴﺎر ﺳﺎده و ﻣﺨﺘﺼﺮ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه‬
‫اﺳﺖ( اراﺋﻪ ﻣﻲﻧﻤﺎﻳﻴﻢ‪.‬‬

‫‪o.Q‬‬ ‫ﺑﻪ‬ ‫‪Q‬‬ ‫‪ 1-6‬ﺗﺒﺪﻳﻞ‬


‫ﺑﺮاي ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ ﻻزم اﺳﺖ ﺗﺎ روﻳﻪ ﻣﺸﺨﺼﻲ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد‪ .‬در‬
‫اداﻣﻪ ﻗﻮاﻋﺪ ﻣﺮﺑﻮط ﺑﻪ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ ﻣﻄﺮح ﺷﺪه اﺳﺖ‪:‬‬
‫ﻗﺎﻋﺪه اول‪ Б :‬را ﻫﺮ ﭼﻪ ﺳﺮﻳﻌﺘﺮ )زودﺗﺮ( اﻧﺠﺎم دﻫﻴﻢ‪.‬‬
‫ﻗﺎﻋﺪه دوم‪ :‬ﺷﺮﻃﻬﺎي ﺗﺮﻛﻴﺒﻲ را ﺑﻪ ﺷﺮﻃﻬﺎي ﺳﻮاﻟﻲ ﺗﺒﺪﻳﻞ ﻧﻤﺎﻳﻴﺪ )ﺷﺮﻃﻬﺎي داراي‬
‫‪ OR ،AND‬و‪ ...‬را ﺗﺎ ﺣﺪ اﻣﻜﺎن ﺑﺸﻜﻨﻴﺪ(‪.‬‬
‫‪Б‬‬ ‫) ‪(R‬‬ ‫‪Б‬‬ ‫‪Б‬‬ ‫)‪(R‬‬
‫‪p1‬‬ ‫∩‬ ‫‪p2‬‬ ‫‪p1‬‬ ‫‪p2‬‬

‫ﻗﺎﻋﺪه ﺳﻮم‪ ∏ :‬را زودﺗﺮ اﻧﺠﺎم دﻫﻴﻢ )ﭘﺲ از ‪.(Б‬‬

‫‪ 2-6‬ﺳﺎﻳﺮ ﻗﻮاﻋﺪ و ﻋﻤﻠﮕﺮﻫﺎي ﺑﻬﻴﻨﻪ ﺳﺎزي‬


‫ﻗﺎﻋﺪه اول‪:‬‬
‫‪a‬‬ ‫= ‪∞b‬‬ ‫‪b‬‬ ‫‪∞a‬‬
‫ﻗﺎﻋﺪه دوم‪:‬‬
‫= ‪(a ∞b) ∞ c‬‬ ‫‪a‬‬ ‫)‪∞ ( b ∞ c‬‬
‫ﺗﻮﺟﻪ‪ :‬ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ ﻋﺒﺎرات اﻳﻦ دو ﻋﺒﺎرات ﻗﺎﻋﺪه از ﻟﺤﺎظ زﻣﺎن ﺑﺎ ﻫﻢ ﺑﺮاﺑﺮ‬
‫ﻧﻴﺴﺘﻨﺪ‪.‬‬
‫ﻣﺜﺎل‪ :‬ﻣﺸﺨﺼﺎت ﻛﺎﻣﻞ دروس و ﮔﺮوهﻫﺎي درﺳﻲ آﻧﻬﺎ را ﺑﺪﺳﺖ آورﻳﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 148‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫در اﻳﻨﺠﺎ اﻳﻦ ﺳﺌﻮال ﻣﻄﺮح ﻣﻲ ﺷﻮد ﻛﻪ ﻛﺪام ﻳﻚ از دو ﻋﺒﺎرت زﻳﺮ ﺳﺮﻳﻌﺘﺮ ﭘﺎﺳﺦ‬
‫ﻣﻲ دﻫﻨﺪ؟‬
‫‪crs‬‬ ‫∞‬ ‫‪sec‬‬
‫ﻳﺎ‬
‫‪sec‬‬ ‫∞‬ ‫‪crs‬‬

‫اﻳﻦ دو دﺳﺘﻮر از ﻧﻈﺮ ﺳﺮﻋﺖ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺑﺴﻴﺎر ﻣﺘﻔﺎوﺗﻨﺪ‪ .‬زﻳﺮا ﺳﺎﻳﺰ دو ﺟﺪول‬
‫)ﻓﻘﻂ ﻣﺸﺨﺼﺎت درسﻫﺎ ﻣﻲﺑﺎﺷﺪ( ﻣﻌﻤﻮﻻً ﻛﻮﭼﻚ‬ ‫‪crs‬‬ ‫ﻛﺎﻣﻼ ﻣﺘﻔﺎوت ﻣﻲﺑﺎﺷﺪ ﺟﺪول‬
‫ﺑﺴﻴﺎر ﺑﺰرﮔﺘﺮ از آن‪ ،‬زﻳﺮا ﻫﻢ ﮔﺮوﻫﻬﺎي ﻣﺨﺘﻠﻒ دروس را ﺷﺎﻣﻞ‬ ‫‪sec‬‬ ‫اﺳﺖ و ﺟﺪول‬
‫ﺟﺎ ﺑﮕﻴﺮد‪ ،‬در‬ ‫‪cash‬‬ ‫ﻣﻲﺷﻮد و ﻫﻢ داﻧﺸﺠﻮﻳﺎن آﻧﻬﺎ را‪ .‬ﻓﺮض ﻛﻨﻴﺪ ﺟﺪول ‪ crs‬در ﺣﺎﻓﻈﻪ‬
‫اﻳﻦ ﺻﻮرت اﻟﮕﻮرﻳﺘﻢﻫﺎي دو راه ﺣﻞ ﺑﺎﻻ را ﺑﺮرﺳﻲ ﻣﻲﻛﻨﻴﻢ‪:‬‬

‫‪crs ∞ sec‬‬
‫}‬ ‫‪crs‬‬ ‫اﻟﮕﻮرﻳﺘﻢ )‪ :(1‬ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول‬
‫ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول ‪} sec‬‬
‫ﻣﻘﺎﻳﺴﻪ ﻛﻦ{‬
‫اﻧﺘﺨﺎب ﻛﻦ {‬

‫را ﺑﻪ دﻓﻌﺎت وارد ﺣﺎﻓﻈﻪ‬ ‫‪sec‬‬ ‫در اﻟﮕﻮرﻳﺘﻢ ﻳﻚ ﺑﺎﻳﺪ ﺳﻄﺮﻫﺎي ﺑﺴﻴﺎر زﻳﺎد ﺟﺪول‬
‫اﺻﻠﻲ ﻛﻨﻴﻢ و ﻣﻘﺎﻳﺴﻪ و اﻧﺘﺨﺎب را اﻧﺠﺎم دﻫﻴﻢ ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﺗﻌﺪاد دﺳﺘﻴﺎﺑﻲ ﺑﻪ دﻳﺴﻚ‬
‫)ﻣﻨﻈﻮر ﺣﺎﻓﻈﻪ ﺟﺎﻧﺒﻲ( ﺑﻪاﻧﺪازه ﺣﺎﺻﻠﻀﺮب ﺳﺎﻳﺰ دو ﺟﺪول اﺳﺖ‪.‬‬

‫‪sec ∞ crs‬‬
‫اﻟﮕﻮرﻳﺘﻢ )‪ :(2‬ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول ‪} sec‬‬
‫ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول ‪} crs‬‬
‫ﻣﻘﺎﻳﺴﻪ ﻛﻦ {‬
‫اﻧﺘﺨﺎب ﻛﻦ {‬
‫در اﻟﮕﻮرﻳﺘﻢ دو‪ ،‬ﻫﺮ ﺳﻄﺮ ‪ sec‬را ﻓﻘﻂ ﻳﻜﺒﺎر ﺑﻪ ﺣﺎﻓﻈﻪ اﺻﻠﻲ ﻣﻲآورﻳﻢ زﻳﺮا ﺟﺪول‬
‫‪ crs‬ﺑﻪ ﻃﻮر ﻛﺎﻣﻞ در ﺣﺎﻓﻈﻪ ‪ cash‬ﻗﺮار دارد و ﻫﻤﻪ ﻣﻘﺎﻳﺴﻪﻫﺎ ﻳﻜﺒﺎر اﻧﺠﺎم ﻣﻲﮔﻴﺮد و ﺗﻌﺪاد‬
‫را‬ ‫‪crs‬‬ ‫اﺳﺖ‪ .‬ﺑﻄﻮر ﻣﺜﺎل اﮔﺮ ﺳﺎﻳﺰ ﺟﺪول‬ ‫‪sec‬‬ ‫دﺳﺘﻴﺎﺑﻲ ﺑﻪ دﻳﺴﻚ ﺑﻪاﻧﺪازه ﺳﺎﻳﺰ ﺟﺪول‬
‫‪www.PDFgozar.com‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪149‬‬

‫را ‪ 1001‬ﻓﺮض ﻛﻨﻴﻢ اﻟﮕﻮرﻳﺘﻢ اول ‪ 1000000‬ﺑﺎر ﺑﻴﺸﺘﺮ ﺑﻪ دﻳﺴﻚ‬ ‫‪sec‬‬ ‫‪ 100‬و ﺟﺪول‬
‫دﺳﺘﻴﺎﺑﻲ ﭘﻴﺪا ﻣﻲﻛﻨﺪ‪.‬‬

‫ﺗﻤﺮﻳﻨﺎت‬

‫‪ .1‬ﭼﻪ اﻣﻜﺎﻧﺎﺗﻲ ﺑﺮاي اﻧﺠﺎم ﻋﻤﻠﻴﺎت در ﻣﺪل راﺑﻄﻪ اي وﺟﻮد دارﻧﺪ ؟‬


‫‪www.PDFgozar.com‬‬

‫‪ 150‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫‪ .2‬ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪ اي را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬


‫‪ .3‬ﻋﻤﻠﮕﺮﻫﺎي ‪ Select‬و ‪ Project‬ﭼﻪ ﺗﻔﺎوﺗﻲ ﺑﺎ ﻳﻜﺪﻳﮕﺮ دارﻧﺪ ؟‬
‫‪ .4‬ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ را ﺗﻮﺿﻴﺢ داده و ﺧﻮاص آﻧﺮا ﻧﺎم ﺑﺒﺮﻳﺪ؟‬
‫‪ .5‬ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮ روي داده ﻫﺎ را ﻧﺎم ﺑﺒﺮﻳﺪ؟‬
‫‪www.PDFgozar.com‬‬

‫ﻓﺼﻞ ‪۸‬‬

‫‪SQL‬‬ ‫ﺁﺷﻨﺎﻳﻲ ﺑﺎ ﺯﺑﺎﻥ ﺭﺍﺑﻄﻪﺍﻱ‬

‫ﻫﺪف ﻛﻠﻲ‬
‫و دﻻﺋﻞ ﮔﺴﺘﺮدﮔﻲ آن اراﺋﻪ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬ ‫‪SQL‬‬ ‫در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﺎرﻳﺨﭽﻪ اي از زﺑﺎن‬
‫ﺳﭙﺲ دﺳﺘﻮرات ﺗﻌﺮﻳﻒ داده ﻫﺎ ﻣﺎﻧﻨﺪ ﺗﻌﺮﻳﻒ ﺷﻤﺎ و ﺟﺪول و‪ ...‬ﻣﻄﺮح ﺷﺪه و در‬
‫اداﻣﻪ دﺳﺘﻮرات ﻣﺮﺑﻮط ﺑﻪ ﭘﺮس وﺟﻮي دادهﻫﺎ ﺑﻴﺎن ﺧﻮاﻫﺪ ﺷﺪ‪ .‬ﭘﺲ از ﺗﻮﺿﻴﺢ اﻳﻦ‬
‫ﮔﺮوه از دﺳﺘﻮرات‪ ،‬دﺳﺘﻮرات ﻛﺎر ﺑﺎ داده ﻫﺎ ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ‪.‬ﭘﺲ از آن‬
‫ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺗﺮ ﻣﻄﺮح و در اﻳﻦ راﺳﺘﺎ ﻋﻤﻠﮕﺮﻫﺎي ﭘﻴﻮﻧﺪ و ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎي‬
‫ﻣﺮﺗﺒﻂ ﺑﺎ ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺑﻴﺎن ﺧﻮاﻫﻨﺪ ﺷﺪ‪ .‬در ﭘﺎﻳﺎن ﻧﻴﺰ درﺑﺎزه دﺳﺘﻮرات ﻛﻨﺘﺮل‬
‫ﻣﺠﻮزﻫﺎي دﺳﺘﺮﺳﻲ ﺻﺤﺒﺖ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬
‫دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬
‫‪SQL‬‬ ‫ﻣﻘﺪﻣﻪ اي ﺑﺮ‬ ‫•‬
‫‪SQL‬‬ ‫دﻻﺋﻞ ﮔﺴﺘﺮدﮔﻲ‬ ‫•‬
‫‪DDL‬‬ ‫دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ‬ ‫•‬
‫ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده‬ ‫•‬
‫ﺗﻌﺮﻳﻒ ﺷﻤﺎ‬ ‫•‬
‫ﺗﻌﺮﻳﻒ ﺟﺪول‬ ‫•‬
‫دﺳﺘﻮرات ﭘﺮس و ﺟﻮ )ﻣﺸﺎﻫﺪه( دادهﻫﺎ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪152‬‬

‫دﺳﺘﻮرات ﻛﺎر ﺑﺮ روي دادهﻫﺎ‬ ‫•‬


‫ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺑﺎ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ‬ ‫•‬
‫ﻋﻤﻠﮕﺮ ﮔﺮوه ﺑﻨﺪي‬ ‫•‬
‫ﻋﻤﻠﮕﺮ ﻣﺮﺗﺐ ﺳﺎزي‬ ‫•‬
‫ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ‬ ‫•‬
‫اﺳﺘﻔﺎده از ﭘﺮس و ﺟﻮﻫﺎي ﺗﻮدرﺗﻮ‬ ‫•‬
‫اﺳﺘﻔﺎده از زﻳﺮﭘﺮﺳﺶﻫﺎ )ﭘﺮﺳﺶﻫﺎي ﻓﺮﻋﻲ(‬ ‫•‬
‫دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮز دﺳﺘﺮﺳﻲ‬ ‫•‬

‫‪SQL‬‬ ‫‪ - 1‬ﻣﻘﺪﻣﻪاي ﺑﺮ‬


‫ﻳﻚ زﺑﺎن راﺑﻄﻪ اي ﻗﺒﻞ از ﻫﺮ ﭼﻴﺰ ﺑﺎﻳﺪ ﺑﺘﻮاﻧﺪ در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ راﺑﻄﻪ ﻋﻤﻞ ﻧﻤﺎﻳﺪ و‬
‫ﻃﺒﻴﻌﺘﺎ ﺑﺎﻳﺪ ﺑﺮ اﺳﺎس رﻳﺎﺿﻴﺎت راﺑﻄﻪ اي ﻣﺎﻧﻨﺪ ﺟﺒﺮ راﺑﻄﻪاي اﺳﺘﻮار ﺑﺎﺷﺪ‪ .‬در اﻳﻦ‬
‫‪2‬‬ ‫‪1‬‬
‫ﺑﻌﻨﻮان ﻳﻚ زﺑﺎن راﺑﻄﻪ اي اﺳﺘﺎﻧﺪارد ﺷﺪه و ﺷﺎﻳﺪ ﺑﻌﻨﻮان ﺑﻬﺘﺮﻳﻦ‬ ‫‪SQL‬‬ ‫ﻓﺼﻞ زﺑﺎن‬
‫زﺑﺎن راﺑﻄﻪ اي ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد‪.‬‬
‫‪3‬‬
‫در اواﺧﺮ دﻫﻪ ‪ 1980‬ﺗﻮﺳﻂ‬ ‫‪R‬‬ ‫اوﻟﻴﻦ ﻧﺴﺨﻪ اﻳﻦ زﺑﺎن ﺑﻌﻨﻮان ﻗﺴﻤﺘﻲ از ﺳﻴﺴﺘﻢ‬
‫ﻃﺮاﺣﻲ ﺷﺪ‪ .‬از آﻧﺠﺎﺋﻴﻜﻪ ﭘﺲ از ﻣﺪﺗﻲ ﺷﺮﻛﺖﻫﺎ و اﺷﺨﺎص ﻣﺨﺘﻠﻒ ﻫﺮ‬ ‫‪IBM‬‬ ‫ﺷﺮﻛﺖ‬
‫ﺑﺎ اﺳﺎﻣﻲﻣﺨﺘﻠﻒ ﻛﺮدﻧﺪ‪ ،‬ﻟﺬا در ﺳﺎل ‪1984‬‬ ‫‪SQL‬‬ ‫ﻛﺪام اﻗﺪام ﺑﻪاﻳﺠﺎد ﻳﻚ ﻧﺴﺨﻪ از زﺑﺎن‬
‫ﻣﻮﺳﺴﻪ اﺳﺘﺎﻧﺪاردﻫﺎي ﻣﻠﻲ آﻣﺮﻳﻜﺎ )‪ (ANSI‬و ﺳﺎزﻣﺎن اﺳﺘﺎﻧﺪاردﻫﺎي ﺑﻴﻦ اﻟﻤﻠﻠﻲ )‪(ISO‬‬
‫را اراﺋﻪ ﻛﺮدﻧﺪ و در ﺳﺎل ‪ 1987‬اوﻟﻴﻦ ﻧﺴﺨﻪ اﺳﺘﺎﻧﺪارد اﻳﻦ‬ ‫‪SQL‬‬ ‫ﻧﺴﺨﻪ اﺳﺘﺎﻧﺪارد زﺑﺎن‬
‫زﺑﺎن ﺑﻨﺎم ‪ ANSI/ISO SQL-89‬را ﻛﻪ اﺻﻄﻼﺣﺎ ﺑﻪ آن ‪ SQL1‬ﻣﻲﮔﻔﺘﻨﺪ‪ ،‬اراﺋﻪ ﻛﺮدﻧﺪ‪ .‬ﭘﺲ از‬
‫‪SQL-92‬‬ ‫ﮔﺬﺷﺖ ﭼﻨﺪ ﺳﺎل و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻮﺳﻌﻪ ﺗﻮاﻧﺎﻳﻲﻫﺎ و اﻧﺘﻈﺎرات از اﻳﻦ زﺑﺎن‪ ،‬ﻧﺴﺨﻪ‬
‫ﺗﻮﺳﻂ اﻳﻦ ﻣﻮﺳﺴﻪﻫﺎ اراﺋﻪ ﮔﺮدﻳﺪ‪ .‬ﺑﺎ ورود ﻣﻔﺎﻫﻴﻢ ﺷﻲء ﮔﺮاﻳﻲ ﺑﻪ ﻣﺤﻴﻂ‬ ‫‪SQL2‬‬ ‫ﺑﻪ ﻧﺎم‬
‫ﻣﻌﺮوف اﺳﺖ‪ ،‬ﺗﻮﺳﻂ ﻣﻮﺳﺴﻪﻫﺎي‬ ‫‪SQL3‬‬ ‫ﻛﻪ ﺑﻪ‬ ‫‪SQL-99‬‬ ‫ﭘﺎﻳﮕﺎهﻫﺎي داده راﺑﻄﻪاي‪ ،‬زﺑﺎن‬
‫ﻧﻴﺰ‬ ‫‪SQL-2003‬‬ ‫ﺑﻨﺎم‬ ‫‪SQL‬‬ ‫ﻣﺬﻛﻮر اراﺋﻪ ﮔﺮدﻳﺪ‪ .‬اﻣﺮوزه ﻧﺴﺨﻪ ﺟﺪﻳﺪي از زﺑﺎن اﺳﺘﺎﻧﺪارد‬

‫‪1. St a n d a r d Q u e r y La n gu a ge‬‬
‫‪2. St a n d a r d R e l a t i o na l La n gu a ge‬‬
‫‪3. R Sy s t e m‬‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪153 SQL‬‬

‫اراﺋﻪ ﺷﺪه اﺳﺖ ﻛﻪ ﻫﻨﻮز در ﭘﺎﻳﮕﺎهﻫﺎي داده راﺑﻄﻪاي ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻧﮕﺮﻓﺘﻪ اﺳﺖ‪.‬‬
‫ﻣﻔﺎﻫﻴﻢ اﺻﻠﻲ زﺑﺎن ‪ SQL‬در ﻛﻠﻴﻪ زﺑﺎنﻫﺎي ﻣﺬﻛﻮر ﻳﻜﺴﺎن ﻫﺴﺘﻨﺪ‪.‬‬

‫‪SQL‬‬ ‫‪ - 2‬دﻻﻳﻞ ﮔﺴﺘﺮدﮔﻲ‬


‫ﺷﺮﻛﺖ ﻫﺎي ﻓﻌﺎل در زﻣﻴﻨﻪ ﭘﺎﻳﮕﺎهﻫﺎي داده راﺑﻄﻪ اي ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﻴﺎز ﺧﻮد اﻗﺪام ﺑﻪ‬
‫‪ANSI/ISO‬‬ ‫ﻃﺮاﺣﻲ زﺑﺎﻧﻬﺎي راﺑﻄﻪ اي ﻛﺮده اﻧﺪ ﻛﻪ اﺻﻮﻻ ﻫﻤﮕﻲ از اﺳﺘﺎﻧﺪارد ﻫﺎي‬
‫را ﺑﺼﻮرت ﻛﺎﻣﻞ ﭘﺸﺘﻴﺒﺎﻧﻲ ﻛﺮده و‬ ‫‪SQL‬‬ ‫ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻲ ﻛﻨﻨﺪ‪ .‬اﻳﻦ زﺑﺎن ﻫﺎ ﻣﻔﺎﻫﻴﻢ زﺑﺎن‬
‫ﻋﻼوه ﺑﺮ آن دﺳﺘﻮرات دﻳﮕﺮي ﻧﻴﺰ ﺑﺮاي ﺳﺎﺧﺘﺎر ﺧﻮد دارﻧﺪ‪ .‬اﻣﺮوزه اﻛﺜﺮﻳﺖ‬
‫ﭘﺎﻳﮕﺎه ﻫﺎي داده راﺑﻄﻪ اي زﺑﺎن ‪ SQL2‬را ﺑﻌﻨﻮان اﺳﺘﺎﻧﺪارد زﺑﺎن ﭘﺎﻳﮕﺎه داده ﺧﻮد اﻧﺘﺨﺎب‬
‫ﻛﺮده اﻧﺪ‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﭘﻴﺎده ﺳﺎزي زﺑﺎن ‪ SQL3‬ﺑﻌﻨﻮان ﻳﻚ زﺑﺎن راﺑﻄﻪ اي ﺷﻲء ﮔﺮا‬
‫داراي ﭘﻴﭽﻴﺪﮔﻲ ﻫﺎي ﺧﺎص ﺧﻮد ﻣﻲ ﺑﺎﺷﺪ‪ ،‬ﻟﺬا اﻣﺮوزه از ﺑﻴﻦ ﭘﺎﻳﮕﺎهﻫﺎي داده راﺑﻄﻪ اي‬
‫‪1‬‬
‫‪SQL3‬‬ ‫ﺗﻨﻬﺎ ﭘﺎﻳﮕﺎه داده اراﻛﻞ ﻣﺤﺼﻮل ﺷﺮﻛﺖ اراﻛﻞ‪ ،‬ﻗﺎدر ﺑﻪ ﭘﺸﺘﻴﺒﺎﻧﻲ از زﺑﺎن‬
‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﺼﻮرت ﻛﻠﻲ ﻣﻲ ﺗﻮان اﻫﻢ دﻻﻳﻞ ﮔﺴﺘﺮدﮔﻲ اﺳﺘﻔﺎده از زﺑﺎن ‪ SQL‬را ﺑﻪ ﺷﺮح‬
‫زﻳﺮ ﻋﻨﻮان ﻛﺮد‪:‬‬
‫ﻣﻮرد ﻗﺒﻮل ﻫﻤﻪ اﺳﺖ )ﻫﻤﻪ ﻣﺘﺨﺼﺼﻴﻦ از آن اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ و آﻧﺮا ﻗﺒﻮل‬ ‫•‬
‫ﻣﻲﻛﻨﻨﺪ(‪.‬‬
‫ﺷﺒﻪ روﻳﻪاي اﺳﺖ )زﺑﺎن ﭘﺮس و ﺟﻮﺋﻲ اﺳﺖ(‪.‬‬ ‫•‬
‫‪2‬‬
‫ﺑﻪ ﺻﻮرت ﺗﻌﺒﻴﻪ ﺷﺪه )ﺗﻮﻛﺎر ( در دﻳﮕﺮ ﻣﺤﻴﻂﻫﺎي ﺑﺮﻧﺎﻣﻪ ﺳﺎزي اﺳﺖ‪ .‬ﻣﺎﻧﻨﺪ‬ ‫•‬
‫و‪....‬‬ ‫‪Oracle ،Delphi ،Access‬‬ ‫ﻣﺤﻴﻂ‬

‫ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﻨﺪ ﻛﻪ ﺑﻌﻀﻲ از آﻧﻬﺎ در زﺑﺎن‬ ‫‪SQL‬‬ ‫ﺑﺮﺧﻲ اﻣﻜﺎﻧﺎت ﻣﻬﻤﺘﺮ زﺑﺎن‬
‫‪ SQL1‬وﺟﻮد ﻧﺪاﺷﺘﻪ و ﺑﻪ ﻣﺮور ﺑﻪ زﺑﺎنﻫﺎي ‪ SQL2‬و ‪ SQL3‬اﻓﺰوده ﺷﺪه اﻧﺪ‪:‬‬
‫دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ‬ ‫•‬
‫دﺳﺘﻮرات ﭘﺮس و ﺟﻮ )ﻣﺸﺎﻫﺪه( دادهﻫﺎ‬ ‫•‬
‫دﺳﺘﻮرات ﻛﺎر ﺑﺮ روي دادهﻫﺎ‬ ‫•‬

‫‪1. O R AC LE‬‬
‫‪2. E mb e d d e d‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪154‬‬

‫دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮز دﺳﺘﺮﺳﻲ‬ ‫•‬


‫دﺳﺘﻮرات ﻧﻮﺷﺘﻦ روﻳﻪﻫﺎ و ﺗﻮاﺑﻊ‬ ‫•‬
‫دﺳﺘﻮرات ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ‬ ‫•‬
‫دﺳﺘﻮرات ﻛﻨﺘﺮل ﺗﺮاﻛﻨﺶﻫﺎ‬ ‫•‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﭼﻬﺎر دﺳﺘﻪ اول دﺳﺘﻮرات ذﻛﺮ ﺷﺪه ﺗﻘﺮﻳﺒﺎ در ﻫﻤﻪ ﭘﺎﻳﮕﺎه ﻫﺎي داده‬
‫ﻣﻮﺟﻮد ﻣﻲ ﺑﺎﺷﺪ ﻟﺬا در اداﻣﻪ ﭼﻬﺎر ﺳﺮي دﺳﺘﻮرات اول را ﺑﻪ ﺗﻔﺼﻴﻞ ﻣﻮرد ﺑﺤﺚ و‬
‫ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد‪ .‬ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده و ﻳﺎ زﺑﺎن ﻫﺎي ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ )ﻛﻪ‬
‫را درون ﺧﻮد دارﻧﺪ(‪ ،‬ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮرات ﻧﻮﺷﺘﻦ روﻳﻪﻫﺎ و ﺗﻮاﺑﻊ‪ ،‬ﻛﻨﺘﺮل‬ ‫‪SQL‬‬ ‫زﺑﺎن‬
‫ﺟﺎﻣﻌﻴﺖ و ﻛﻨﺘﺮل ﺗﺮاﻛﻨﺶ ﻫﺎ را ﻳﺎ ﻧﺪارﻧﺪ و ﻳﺎ در اﺧﺘﻴﺎر ﻛﺎرﺑﺮ ﻗﺮار ﻧﻤﻲ دﻫﻨﺪ‪ .‬ﻟﺬا اﻳﻦ‬
‫ﻧﻮع دﺳﺘﻮرات در اﻳﻦ ﻛﺘﺎب ﺗﻮﺿﻴﺢ داده ﻧﻤﻲ ﺷﻮﻧﺪ‪.‬‬

‫‪1‬‬
‫‪DDL‬‬ ‫‪ - 3‬دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ‬
‫‪2‬‬
‫اﻳﻦ دﺳﺘﻮرات در ﺣﺎﻟﺖ ﻛﻠﻲ ﺷﺎﻣﻞ ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده‪ ،‬ﺗﻌﺮﻳﻒ ﺷﻤﺎ ‪ ،‬ﺗﻌﺮﻳﻒ‬
‫‪4‬‬ ‫‪3‬‬
‫ﻛﺎرﺑﺮ و ﺗﻌﺮﻳﻒ ﺟﺪاول اﻃﻼﻋﺎﺗﻲ و دﻳﺪهﻫﺎ ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬

‫‪ 1- 3‬ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده‬
‫ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫‪CREATE DATABASE database -name‬‬

‫ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ دﺳﺘﻮر ﭘﺎﻳﮕﺎه داده ﻣﻮرد ﻧﻈﺮ را اﻳﺠﺎد ﻣﻲﻧﻤﺎﺋﻴﻢ ﻛﻪ ﺧﻮد ﭘﺎﻳﮕﺎه داده‬
‫ﻣﻲ ﺗﻮاﻧﺪ ﺷﺎﻣﻞ ﺟﺪاول ﻣﺘﻌﺪدي ﺑﺎﺷﺪ‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎه داده اﺳﺎﺳﺎً‬
‫داراي ﭘﺎراﻣﺘﺮﻫﺎي ﺑﺴﻴﺎري اﺳﺖ ﻛﻪ ﻣﻮﺿﻮع اﻳﻦ ﻛﺘﺎب ﻧﻴﺴﺖ‪.‬‬

‫‪1. D at a D ef i n i t i o n La n gu a ge‬‬
‫‪2. Sc h e ma‬‬
‫‪3. U se r D ef i n i t i o n‬‬
‫‪4. T ab l e De f i n i t i o n‬‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪155 SQL‬‬

‫‪ 2- 3‬ﺗﻌﺮﻳﻒ ﺷﻤﺎ‬
‫اﻳﻦ ﺗﻌﺮﻳﻒ در ﺣﺎﻟﺖ ﻛﻠﻲ ﺷﺎﻣﻞ ﺗﻌﺮﻳﻒ ﻛﺎرﺑﺮ‪ ،‬ﺗﻌﺮﻳﻒ ﺟﺪاول و ﺗﻌﺮﻳﻒ دﻳﺪ ﻫﺎ و‬
‫ﺑﺴﻴﺎري ﻣﻔﺎﻫﻴﻢ دﻳﮕﺮ ﻣﻲ ﺑﺎﺷﺪ و ﺳﺎﺧﺘﺎر آن ﺑﺴﺘﻪ ﺑﻪ ﭘﺎﻳﮕﺎه داده اﻧﺘﺨﺎب ﺷﺪه ﻣﺘﻔﺎوت‬
‫آﻣﺪه اﺳﺖ( ﺑﻪ‬ ‫‪View‬‬ ‫و‬ ‫‪Table‬‬ ‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر )ﻛﻪ در آن ﺻﺮﻓﺎ ﺗﻌﺎرﻳﻒ‬
‫ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬

‫‪Schema::= CREATE SCHEMA‬‬


‫‪AUTORIZATION User‬‬
‫} ‪{ Schema -element -list‬‬
‫‪Schema -element::= base -table definition‬‬
‫‪| View definition‬‬
‫‪| grant -operation‬‬

‫ﺟﻬﺖ ﺣﺬف ﻳﻚ ﺷﻤﺎ از ﻋﺒﺎرت زﻳﺮ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪:‬‬

‫] ‪DROP SCHEMA Name [ Restrict | Cascade‬‬

‫‪ 3- 3‬ﺟﺪول‬
‫‪ 1- 3- 3‬ﺗﻌﺮﻳﻒ ﺟﺪول‬
‫ﺑﺎ اﻳﻦ دﺳﺘﻮر اﻣﻜﺎن ﺗﻌﺮﻳﻒ ﺟﺪاول اﻃﻼﻋﺎﺗﻲ ﺑﺮاي ﻛﺎرﺑﺮ ﻓﺮاﻫﻢ ﻣﻲ ﺷﻮد‪ .‬ﺷﻜﻞ ﻛﻠﻲ‬
‫دﺳﺘﻮر ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫‪Base -table definition::= CREATE TABLE base -table‬‬


‫)‪(base -table -element commalist‬‬
‫‪Base -table -element::= column -definition‬‬
‫‪| Unique constraint -definition‬‬
‫] ] ‪Column -definition::= column data -type [ NOT NULL [ UNIQUE‬‬
‫)‪Unique Constraint -definition::= UNIQUE (Column -Cammalist‬‬

‫ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲ ﺧﻮاﻫﻴﻢ ﻳﻚ ﺟﺪول ﺷﺎﻣﻞ ﺷﻤﺎره و ﻧﺎم ﻗﺎره ﻫﺎي ﻣﺨﺘﻠﻒ‬
‫ﺟﻬﺎن درﺳﺖ ﻛﻨﻴﻢ‪ .‬ﻋﺒﺎرت اﻳﺠﺎد ﻛﻨﻨﺪه ﺟﺪول ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫‪CREATE TABLE Continent‬‬


‫‪(CntId int ,‬‬
‫))‪CntName char(30‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪156‬‬

‫ﺣﺎل ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﻋﺒﺎرت ﻣﺬﻛﻮر را ﻛﺎﻣﻞ ﺗﺮ ﻛﻨﻴﻢ ﻻزم اﺳﺖ ﻣﺤﺪودﻳﺖ ﻫﺎﻳﻲ را‬
‫ﺑﻪ آن اﺿﺎﻓﻪ ﻧﻤﺎﻳﻴﻢ‪.‬‬

‫‪CREATE TABLE Continent‬‬


‫‪(CntId int Unique,‬‬
‫)‪CntName char (30) NOT NULL‬‬

‫ﻛﻠﻤﺎت ﻛﻠﻴﺪي دﻳﮕﺮي ﺑﻪ ﻋﺒﺎرت اﻳﺠﺎد ﺟﺪول‬ ‫‪SQL -2‬‬ ‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در‬
‫اﻓﺰوده ﺷﺪهاﻧﺪ ﺑﮕﻮﻧﻪاﻳﻜﻪ اﻣﻜﺎن اﻓﺰودن ﻣﻘﺪار اوﻟﻴﻪ ﺑﻪ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ و ﻳﺎ اﻣﻜﺎن‬
‫اﻓﺰودن ﻣﺤﺪودﻳﺖﻫﺎ ﺑﻪ ﺟﺪول در ﻫﻨﮕﺎم اﻳﺠﺎد ﺟﺪول ﻓﺮاﻫﻢ ﺷﺪه اﺳﺖ‪ .‬ﺑﺮاي ﻣﺜﺎل ﺑﺎ‬
‫اﺳﺘﻔﺎده از ﻛﻠﻤﻪ ﻛﻠﻴﺪي ‪ Default‬در ﺟﻠﻮي ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ ﻣﻲﺗﻮان ﻣﻘﺪار ﭘﻴﺶ ﻓﺮض‬
‫را ﺑﺮاي آن ﺳﺘﻮن ﺗﻌﻴﻴﻦ ﻧﻤﻮد‪ .‬در ﻋﺒﺎرت زﻳﺮ ﻣﻘﺪار ﭘﻴﺶ ﻓﺮض ﺳﺘﻮن ﺳﺎل ﺑﺮاﺑﺮ ﺑﺎ ‪1384‬‬
‫در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ‪:‬‬

‫‪CREATE TABLE Info‬‬


‫‪(InfoId int unique,‬‬
‫‪InfoYear int default 1384,‬‬
‫)‪InfoName char (50) NOT NULL‬‬

‫ﺗﻤﺮﻳﻦ‪:‬‬
‫‪SQL‬‬ ‫ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده داﻧﺸﮕﺎه را ﺑﻪ ﺻﻮرت زﻳﺮ در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ ،‬ﻃﺮاﺣﻲ ﺑﻪ زﺑﺎن‬
‫آﻧﺮا ﻛﺎﻣﻞ ﻧﻤﺎﺋﻴﺪ‪:‬‬

‫)‪Stud (S#, Sname, S -add, S -tel‬‬


‫)‪Prof (P#, Pname, P -add, P -off‬‬
‫)‪Crs (C#, Cname, unit‬‬
‫)‪Enroll(S#, C#, Sec#, term, score‬‬
‫)‪Sec (C#, Sec#, term, time, place, P#‬‬

‫‪ 2- 3- 3‬اﺻﻼح ﺳﺎﺧﺘﺎر ﺟﺪول‬


‫ﻳﻜﻲ از ﻣﻠﺰوﻣﺎت اﺳﺎﺳﻲ در ﻣﻮرد ﺟﺪاول‪ ،‬اﻣﻜﺎن اﺻﻼًح ﺳﺎﺧﺘﺎر ﺟﺪاول و ﺣﺬف و‬
‫اﺿﺎﻓﻪ ﻛﺮدن ﺳﺘﻮﻧﻬﺎي ﻣﺮﺑﻮط ﺑﻪ آن ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ در ﻣﻮاﻗﻌﻲ ﻻزم ﻣﻲ ﺷﻮد‬
‫ﺗﺎ ﺳﺘﻮﻧﻬﺎي ﺟﺪﻳﺪي )ﺻﻔﺎت ﺧﺎﺻﻪ( ﺑﻪ ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ ﻛﻪ از ﻗﺒﻞ ﻃﺮاﺣﻲ ﻛﺮده اﻳﻢ‬
‫اﺿﺎﻓﻪ ﮔﺮدد ﻳﺎ ﺳﺘﻮن ﻫﺎﻳﻲ از ﺟﺪول ﻣﺬﻛﻮر ﺣﺬف ﮔﺮدد‪ .‬ﻫﻤﭽﻨﻴﻦ اﻳﻦ اﻣﻜﺎن ﻧﻴﺰ‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪157 SQL‬‬

‫وﺟﻮد دارد ﻛﻪ در ﻣﻮاردي ﺗﺸﺨﻴﺺ دﻫﻴﻢ ﻛﻪ ﻧﻮع داده ﻣﺮﺑﻮط ﺑﻪ ﻳﻚ ﺳﺘﻮن ﺑﺎﻳﺪ‬
‫اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد ﻛﻪ ﺳﺎﺧﺘﺎر‬ ‫‪ALTER TABLE‬‬ ‫ﺗﻐﻴﻴﺮ ﻳﺎﺑﺪ‪ .‬ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر از دﺳﺘﻮر‬
‫ﻛﻠﻲ اﻳﻦ دﺳﺘﻮر در ذﻳﻞ آﻣﺪه اﺳﺖ‪:‬‬

‫‪ALTER TABLE tablename‬‬


‫} ‪{ ADD [COLUMN] column definition‬‬
‫‪| { ALTER [COLUMN] column name‬‬
‫}} ‪{ SET DEFAULT default option } | { DROP DEFAULT‬‬
‫} ‪| { DROP [COLUMN] column name‬‬
‫} ‪| { ADD table constraint definition‬‬
‫;} ‪| { DROP CONSTRAINT constraint name‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد ﻟﻴﺴﺖ ﺗﻐﻴﻴﺮات ﻗﺎﺑﻞ اﻋﻤﺎل ﺑﺮ روي ﻳﻚ ﺟﺪول‬
‫ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫اﻓﺰودن ﻳﻚ ﺳﺘﻮن ﺑﻪ ﺟﺪول‬ ‫•‬
‫ﺣﺬف ﻳﻚ ﺳﺘﻮن از ﺟﺪول‬ ‫•‬
‫اﻓﺰودن ﻳﻚ ﻣﺤﺪودﻳﺖ ﺑﻪ ﺟﺪول‬ ‫•‬
‫ﺣﺬف ﻳﻚ ﻣﺤﺪودﻳﺖ از ﺟﺪول‬ ‫•‬
‫اﻓﺰودن ﻣﻘﺪار اوﻟﻴﻪ ﺑﻪ ﻳﻚ ﺳﺘﻮن‬ ‫•‬
‫ﺣﺬف ﻣﻘﺪار اوﻟﻴﻪ ﻳﻚ ﺳﺘﻮن‬ ‫•‬

‫ﻣﻤﻜﻦ اﺳﺖ در اﻳﻨﺠﺎ اﻳﻦ ﺳﺌﻮال ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ ﭼﮕﻮﻧﻪ ﻣﻲ ﺗﻮان ﻧﻮع داده اي ﻳﻚ‬
‫ﺳﺘﻮن را ﺗﻐﻴﻴﺮ داد‪ .‬در اﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ اﺷﺎره ﺷﻮد ﻛﻪ ﺗﻐﻴﻴﺮ ﻧﻮع داده اي‬
‫ﻳﻚ ﺳﺘﻮن اﺳﺎﺳﺎً در ﺑﺴﻴﺎري از ﭘﺎﻳﮕﺎه ﻫﺎي داده در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻧﺸﺪه اﺳﺖ و اﻳﻦ ﻣﻬﻢ‬
‫ﺑﻮاﺳﻄﻪ ﻧﻮع ﻗﺮار ﮔﺮﻓﺘﻦ ﻣﻘﺎدﻳﺮ ﻣﺮﺑﻮط ﺑﻪ ﺳﺘﻮن ﻫﺎ در ﻓﻀﺎي ﻓﻴﺰﻳﻜﻲ ﺣﺎﻓﻈﻪ ﻣﻲ ﺑﺎﺷﺪ‬
‫ﺑﮕﻮﻧﻪ اﻳﻜﻪ ﺣﺘﻲ در ﺑﻌﻀﻲ ﭘﺎﻳﮕﺎه ﻫﺎي داده اﻣﻜﺎن ﺗﻐﻴﻴﺮ ﺗﺮﺗﻴﺐ ﺳﺘﻮن ﻫﺎ در ﻳﻚ ﺟﺪول‬
‫وﺟﻮد ﻧﺪارد‪ .‬اﻣﻜﺎن ﺗﻐﻴﻴﺮ ﻧﻮع داده ﻣﺮﺑﻮط ﺑﻪ ﻳﻚ ﺳﺘﻮن ﻓﻘﻂ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي‬
‫داده و ﺑﺼﻮرت ﻣﻨﻄﻘﻲ ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ‪ .‬ﺣﺎل در اداﻣﻪ ﺑﻪ ﻣﻨﻈﻮر آﺷﻨﺎﻳﻲ ﺑﻬﺘﺮ ﺑﺎ اﻳﻦ‬
‫ﻧﻮع دﺳﺘﻮر ﭼﻨﺪ ﻣﺜﺎل ﻣﺨﺘﻠﻒ را ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﻴﻢ‪ .‬ﻓﺮض ﻛﻨﻴﺪ ﻣﻲ ﺧﻮاﻫﻴﻢ ﺳﺘﻮﻧﻲ ﺑﻪ‬
‫اﺿﺎﻓﻪ ﻧﻤﺎﻳﻴﻢ‪ .‬ﻋﺒﺎرت‬ ‫‪SalesPeople‬‬ ‫و از ﻧﻮع رﺷﺘﻪ اي را ﺑﻪ ﺟﺪوﻟﻲ ﺑﻪ ﻧﺎم‬ ‫‪fname‬‬ ‫ﻧﺎم‬
‫‪ SQL‬ﻣﺮﺑﻮﻃﻪ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪158‬‬

‫;)‪ALTER TABLE SalesPeople ADD fname char(10‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻧﻤﺎﻳﻴﺪ ﻛﻠﻤﻪ ﻛﻠﻴﺪي ‪ COLUMN‬ﺑﻌﺪ از ﻛﻠﻤﻪ ‪ ADD‬ﻧﻮﺷﺘﻪ‬


‫در اﻳﻦ‬ ‫‪COLUMN‬‬ ‫ﻧﺸﺪه اﺳﺖ‪ .‬در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي داده اﺳﺘﻔﺎده از ﻛﻠﻤﻪ ﻛﻠﻴﺪي‬
‫ﺷﺮاﻳﻂ اﺟﺒﺎري ﻧﻤﻲﺑﺎﺷﺪ‪ ،‬ﺣﺎل آﻧﻜﻪ در ﺑﻌﻀﻲ دﻳﮕﺮ اﺟﺒﺎري اﺳﺖ‪ .‬ﺣﺎل ﺑﻪ ﻣﺜﺎل دﻳﮕﺮي‬
‫ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ ﻛﻪ در آن ﻣﻘﺪار ﭘﻴﺶ ﻓﺮض ﺑﺮاي ﻳﻚ ﺳﺘﻮن ﭘﺎﻳﮕﺎهداده ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد‪.‬‬

‫‪ALTER TABLE Salespeople‬‬


‫‪ALTER COLUMN city‬‬
‫;'‪ADD DEFAULT 'London‬‬

‫‪ 3- 3- 3‬ﺗﻐﻴﻴﺮ ﻧﻮع دادهﻫﺎي ﻳﻚ ﺳﺘﻮن ﺟﺪول‬


‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺑﺎﻻ اﺷﺎره ﺷﺪ ﺗﻐﻴﻴﺮ ﻧﻮع داده ﻳﻚ ﺳﺘﻮن از ﺟﺪول در ﻫﺮ‬
‫ﭘﺎﻳﮕﺎه داده اي اﻣﻜﺎن ﭘﺬﻳﺮ ﻧﻴﺴﺖ‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ اﻳﻦ دﺳﺘﻮر در ﺑﻌﻀﻲ ﭘﺎﻳﮕﺎهﻫﺎي‬
‫داده ﻓﺮاﻫﻢ ﺷﺪه اﺳﺖ ﻟﺬا ﺷﻜﻞ دﺳﺘﻮر ﻣﺬﻛﻮر در ذﻳﻞ آﻣﺪه اﺳﺖ‪.‬‬

‫‪ALTER TABLE tablename‬‬


‫)> ‪MODIFY (< col -name > < new type‬‬

‫ﻣﺜﺎل‪ :‬اﻳﻦ دﺳﺘﻮر ﺗﻌﺪاد ﻛﺎراﻛﺘﺮﻫﺎي ﺻﻔﺖ درس را ﺑﻪ ‪ 40‬ﺗﻐﻴﻴﺮ ﻣﻲ دﻫﺪ‪.‬‬

‫‪ALTER TABLE crs‬‬


‫;))‪MODIFY (Cname char(40‬‬

‫ﺗﻮﺟﻪ‪ :‬ﺗﻐﻴﻴﺮ ﻧﻮع داده در اﻛﺜﺮ ‪ SQL‬ﻫﺎ ﻏﻴﺮ ﻣﺠﺎز اﺳﺖ و در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي داده‬
‫ﻗﺒﻞ از ﺗﺎﻳﻴﺪ ﻋﻤﻞ ﻣﺬﻛﻮر اﻗﺪام ﺑﻪ ﺑﺮرﺳﻲ ﻣﺤﺘﻮاي دادهﻫﺎي ﺳﺘﻮن ﻣﻮرد ﻧﻈﺮ ﻣﻲ ﮔﺮدد‬
‫و در ﺻﻮرت ﻗﺎﺑﻞ ﻗﺒﻮل ﺑﻮدن ﻋﻤﻞ ﺗﺒﺪﻳﻞ ﻧﻮع اﻳﻦ درﺧﻮاﺳﺖ ﺗﺎﺋﻴﺪ ﻣﻲ ﮔﺮدد‪ .‬ﺑﻌﻨﻮان‬
‫ﻣﺜﺎل ﺗﻐﻴﻴﺮ ﻧﻮع داده اي از ﻛﺎراﻛﺘﺮ ﺑﻪ ﻋﺪد ﻓﻘﻂ درﺻﻮرﺗﻴﻜﻪ ﺗﻤﺎﻣﻲ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن از‬
‫ﻧﻮع ﻋﺪد ﺑﺎﺷﻨﺪ اﻣﻜﺎن ﭘﺬﻳﺮ اﺳﺖ و ﭼﻨﺎﻧﭽﻪ ﺣﺘﻲ ﻳﻚ ﻣﻘﺪار ﺷﺎﻣﻞ ﺣﺮوف ﺑﺎﺷﺪ‪،‬‬
‫اﻧﺠﺎم اﻳﻦ ﻛﺎر ﻏﻴﺮ ﻣﻤﻜﻦ اﺳﺖ‪.‬‬

‫‪ 4- 3- 3‬ﺣﺬف ﻳﻚ ﺟﺪول‬
‫در ﻣﻮاردي ﻣﻤﻜﻦ اﺳﺖ ﻻزم ﺑﺎﺷﺪ ﻳﻚ ﺟﺪول از ﭘﺎﻳﮕﺎه داده ﺣﺬف ﮔﺮدد‪ .‬ﺑﺮاي اﻧﺠﺎم‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪159 SQL‬‬

‫اﻳﻨﻜﺎر دﺳﺘﻮر زﻳﺮ ﻣﻮﺟﻮد ﻣﻲﺑﺎﺷﺪ‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در ﻫﻨﮕﺎم ﺣﺬف ﻳﻚ ﺟﺪول‬
‫ﺑﺎﻳﺪ ﺑﺮرﺳﻲ ﮔﺮدد ﻛﻪ ﭼﻨﺎﻧﭽﻪ ﺟﺪاول دﻳﮕﺮي ﺑﻪ اﻳﻦ ﺟﺪول ﻣﺮﺗﺒﻂ ﺑﺎﺷﻨﺪ‪ ،‬ﭼﻪ ﻋﻤﻠﻲ‬
‫ﺑﺎﻳﺪ ﺑﺮروي ﺟﺪاول ﻣﺮﺗﺒﻂ اﻧﺠﺎم ﮔﻴﺮد و آﻳﺎ اﺳﺎﺳﺎً اﻣﻜﺎن ﺣﺬف ﺟﺪول وﺟﻮد دارد ﻳﺎ‬
‫ﺧﻴﺮ‪ .‬ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫;] ‪DROP TABLE tablename [ RESTRICT | CASCADE‬‬

‫‪ -4‬دﺳﺘﻮرات ﭘﺮس و ﺟﻮ )ﻣﺸﺎﻫﺪه( دادهﻫﺎ‬


‫ﻳﻜﻲ از ﻣﻬﻤﺘﺮﻳﻦ ﺧﻮاﺳﺘﻪ ﻫﺎي ﻛﺎرﺑﺮان ﻫﺮ ﭘﺎﻳﮕﺎه داده‪ ،‬اﻣﻜﺎن ﺑﺎزﻳﺎﺑﻲ داده ﻫﺎي ﺛﺒﺖ‬
‫ﺷﺪه در ﺟﺪاول ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﻪ اﻳﻦ ﻣﻨﻈﻮر دﺳﺘﻮراﺗﻲ اراﺋﻪ ﺷﺪه اﻧﺪ ﻛﻪ اﻣﻜﺎن ﺑﺎزﻳﺎﺑﻲ‬
‫ﺳﻄﺮﻫﺎ ﻳﺎ ﺳﺘﻮن ﻫﺎﻳﻲ از ﻳﻚ ﺟﺪول و ﻳﺎ ﭼﻨﺪ ﺟﺪول اﻃﻼﻋﺎﺗﻲ را ﻓﺮاﻫﻢ ﻣﻲآورﻧﺪ ﻛﻪ‬
‫‪1‬‬
‫ﺑﻪ آﻧﻬﺎ اﺻﻄﻼﺣﺎ زﺑﺎن ﭘﺮس و ﺟﻮي داده ﻫﺎ ﻣﻲ ﮔﻮﻳﻨﺪ‪ .‬ﻣﻬﻤﺘﺮﻳﻦ دﺳﺘﻮر از اﻳﻦ ﻧﻮع‬
‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬اﻳﻦ دﺳﺘﻮر ﻳﻜﻲ از ﭘﻴﭽﻴﺪه ﺗﺮﻳﻦ دﺳﺘﻮرات در‬ ‫‪SELECT‬‬ ‫دﺳﺘﻮرات دﺳﺘﻮر‬
‫ﻣﻲ ﺑﺎﺷﺪ و ﺧﻮد ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﺷﺎﻣﻞ دﺳﺘﻮرات ﻣﺘﻨﻮﻋﻲ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺷﻜﻞ ﻛﻠﻲ‬ ‫‪SQL‬‬ ‫زﺑﺎن‬
‫دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫]‪SELECT [DISTINCT‬‬
‫‪{ value expression‬‬
‫} … ‪[ AS column name ] } ,‬‬
‫}*‪| { qualifier.‬‬
‫*|‬
‫… ‪FROM { { table name [ AS ] [ correlation name ] } ,‬‬
‫] ‪[ WHERE predicate‬‬
‫‪[ GROUP BY [ table name | correlation name ].column name‬‬
‫] ] ‪[ COLLATE collation name‬‬
‫] ‪[ HAVING predicate‬‬
‫] ‪[ { UNION | INTERSECT | EXCEPT } [ ALL‬‬
‫}‪Select statement | { TABLE table name‬‬
‫] ‪| table value constructor‬‬
‫; ] } … ‪[ ORDER BY { { out put column | positive integer } [ ASC | DESC] ,‬‬
‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﻋﺒﺎرت ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲﮔﺮدد اﻳﻦ دﺳﺘﻮر ﺑﺴﻴﺎر ﭘﻴﭽﻴﺪه و ﻛﻠﻲ‬
‫ﻣﻲﺑﺎﺷﺪ و اﺳﺎﺳﺎً داراي زﻳﺮ دﺳﺘﻮراﺗﻲ ﻣﻲﺑﺎﺷﺪ ﻛﻪ در ﺑﺤﺚ اﻳﻦ ﻛﺘﺎب ﻧﻤﻲﮔﻨﺠﺪ‪ .‬ﺑﺮاي‬

‫)‪1. D at a Q ue r y La n gu a ge ( D Q L‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪160‬‬

‫راﺣﺘﻲ ﺑﻴﺸﺘﺮ ﺧﻮاﻧﻨﺪﮔﺎن‪ ،‬ﺳﻌﻲ ﻣﻲﻛﻨﻴﻢ در اﺑﺘﺪا ﻣﺜﺎﻟﻬﺎي ﺳﺎده ﺗﺮ در ﻣﻮرد اﻳﻦ دﺳﺘﻮر را‬
‫ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار دﻫﻴﻢ و در اداﻣﻪ ﻫﻤﻴﻦ ﻓﺼﻞ در ﺧﺼﻮص ﺣﺎﻻت ﭘﻴﭽﻴﺪه ﺗﺮ اﻳﻦ‬
‫دﺳﺘﻮر و ﻃﺮﻳﻘﻪ ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎ از ﭼﻨﺪﻳﻦ ﺟﺪول اﻃﻼﻋﺎﺗﻲ را ﺷﺮح ﺧﻮاﻫﻴﻢ داد‪ .‬ﺣﺎﻟﺖ‬
‫ﻧﻴﺰ‬ ‫‪SFW‬‬ ‫ﺳﺎده ﺷﺪه دﺳﺘﻮر ﻣﺬﻛﻮر ﺑﺼﻮرت زﻳﺮ ﻗﺎﺑﻞ ﻧﻤﺎﻳﺶ اﺳﺖ ﻛﻪ ﺑﻪ آن اﺻﻄﻼﺣﺎ‬
‫ﻣﻲﮔﻮﻳﻨﺪ ﻛﻪ ﺣﺮوف اول ﻫﺮ ﻗﺴﻤﺖ ﻣﻲﺑﺎﺷﺪ‪.‬‬

‫… ‪SELECT column name ,‬‬


‫‪FROM table name‬‬
‫‪WHERE criteria‬‬

‫ﺷﺮط ﻣﻮرد‬ ‫‪criteria‬‬ ‫ﻧﺎم ﺟﺪول و‬ ‫‪table name‬‬ ‫ﻧﺎم ﺳﺘﻮن ﻫﺎ‪،‬‬ ‫‪column name‬‬ ‫ﻛﻪ در آن‬
‫ﻧﻈﺮ ﺑﺮاي اﻧﺘﺨﺎب و ﺑﺎزﻳﺎﺑﻲ رﻛﻮردﻫﺎ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫در ﺣﺎﻟﺖ ﺑﺴﻴﺎر ﺳﺎده ﻣﻲﺗﻮان ﻓﺮض ﻛﺮد ﻛﻪ ﻣﻲﺧﻮاﻫﻴﻢ رﻛﻮردﻫﺎي ﻳﻚ ﺟﺪول‬
‫داراي‬ ‫‪EMP‬‬ ‫)ﻣﺜﻼ ﺟﺪول اﻃﻼﻋﺎت ﭘﺮﺳﻨﻠﻲ ‪ (EMP‬را ﺑﺎزﻳﺎﺑﻲ ﻧﻤﺎﻳﻴﻢ‪ .‬ﻓﺮض ﻛﻨﻴﻢ ﺟﺪول‬
‫ﻛﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ﻣﻲﺑﺎﺷﺪ ﺳﺎﻳﺮ ﻣﻘﺎدﻳﺮ‬ ‫‪EMPNO‬‬ ‫ﺳﺎﺧﺘﺎر زﻳﺮ ﺑﺎﺷﺪ و ﺑﻐﻴﺮ از ﺻﻔﺖ ﺧﺎﺻﻪ‬
‫ﻣﻲﺗﻮاﻧﻨﺪ ﻣﻘﺪار ‪ NULL‬را ﺑﭙﺬﻳﺮﻧﺪ‪:‬‬

‫‪Name‬‬ ‫ﻧﺎم ﺻﻔﺖ ﺧﺎﺻﻪ‬


‫‪EMPNO‬‬ ‫ﺷﻤﺎره ﭘﺮﺳﻨﻠﻲ‬
‫‪ENAME‬‬ ‫ﻧﺎم ﭘﺮﺳﻨﻞ‬
‫‪JOB‬‬ ‫ﺷﻐﻞ‬
‫‪MGR‬‬ ‫ﺷﻤﺎره ﻣﺪﻳﺮ‬
‫‪HIREDATE‬‬ ‫ﺗﺎرﻳﺦ اﺳﺘﺨﺪام‬

‫در ﻋﺒﺎرت ذﻳﻞ ﻣﻲﺧﻮاﻫﻴﻢ ﻛﻠﻴﻪ رﻛﻮردﻫﺎي ﺟﺪول را ﺑﺎزﻳﺎﺑﻲ ﻧﻤﺎﻳﻴﻢ‪ .‬ﻋﺒﺎرت ﻣﻮرد‬
‫ﻧﻈﺮ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ‪:‬‬
‫* ‪Select‬‬
‫;‪From EMP‬‬

‫ﺑﻪ ﻣﻌﻨﺎي اﻧﺘﺨﺎﺑﻲ‬ ‫*‬ ‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﻋﺒﺎرت ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد ﻋﻼﻣﺖ‬
‫ﺗﻤﺎﻣﻲ ﺳﺘﻮن ﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺳﻄﺮﻫﺎ ﻣﻲ ﺑﺎﺷﺪ‪ .‬اﻳﻦ دﺳﺘﻮر ﻣﻲ ﺗﻮاﻧﺪ ﺑﻪ ﺷﺮح ذﻳﻞ ﻧﻴﺰ‬
‫ﺑﺎﺷﺪ‪:‬‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪161 SQL‬‬

‫*‪Select EMP.‬‬
‫; ‪From EMP‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﮔﺮدد در اﻳﻦ دﺳﺘﻮر ﻗﺒﻞ از اﺳﺘﻔﺎده از ﻋﻼﻣﺖ *‪ ،‬ﻧﺎم‬


‫ﺟﺪول ﻧﻴﺰ ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ ﻛﻪ در اﻳﻦ ﻣﻮرد ﺑﻌﺪا ﺗﻮﺿﻴﺢ ﺧﻮاﻫﻴﻢ داد‪ .‬ﺣﺎل در اداﻣﻪ‬
‫ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ ﻓﻘﻂ ﺳﺘﻮنﻫﺎي ﺷﻤﺎره ﭘﺮﺳﻨﻠﻲ و ﻧﺎم ﭘﺮﺳﻨﻞ را ﺑﺮاي ﺗﻤﺎﻣﻲﭘﺮﺳﻨﻞ‬
‫ﺑﺎزﻳﺎﺑﻲ ﻧﻤﺎﻳﻴﻢ‪ .‬ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ‪:‬‬

‫‪Select empno , ename‬‬


‫; ‪From EMP‬‬

‫ﻣﻲﺗﻮاﻧﺴﺘﻴﻢ ﻗﺒﻞ از اﺳﺎﻣﻲﺳﺘﻮﻧﻬﺎ‪ ،‬ﻧﺎم ﺟﺪول را ﻧﻴﺰ ﺑﻜﺎر ﺑﺒﺮﻳﻢ ﻛﻪ از اﻳﻦ ﻛﺎر‬
‫اﺟﺘﻨﺎب ﻛﺮدﻳﻢ‪ .‬ﺣﺎل ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ ﺑﺪاﻧﻴﻢ ﻛﻪ اﮔﺮ ﺣﻘﻮق ﻫﺮ ﻳﻚ از ﭘﺮﺳﻨﻞ را‬
‫‪ %10‬اﻓﺰاﻳﺶ دﻫﻴﻢ ﭼﻪ ﻣﻴﺰاﻧﻲ ﺣﻘﻮق ﺑﺮاي ﻫﺮ ﻳﻚ از ﭘﺮﺳﻨﻞ ﺧﻮاﻫﻴﻢ داﺷﺖ‪ .‬ﻋﺒﺎرت‬
‫ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬

‫‪Select empno,ename,sall * 0.1‬‬


‫;‪From emp‬‬

‫* ‪sall‬‬ ‫ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﻋﺒﺎرت را واﺿﺢ ﺗﺮ ﺑﻴﺎن ﻛﻨﻴﻢ ﻻزم اﺳﺖ ﻛﻪ ﺑﺮاي ﻋﺒﺎرت‬
‫در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ ﻛﻪ ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ‬ ‫‪NEWSALL‬‬ ‫ﻳﻚ ﻧﺎم ﻣﺴﺘﻌﺎر ﻣﺎﻧﻨﺪ‬ ‫‪0.1‬‬
‫ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫‪Select empno,ename,sall * 0.1 as newsall‬‬
‫;‪From emp‬‬

‫)ﺑﻴﺎن ﻛﻨﻨﺪه ﺷﺮط( ﻣﺜﺎل دﻳﮕﺮي را‬ ‫‪WHERE‬‬ ‫ﺣﺎل ﺑﺮاي ﻣﺸﺨﺺ ﺷﺪن ﻋﺒﺎرت‬
‫ﻣﻄﺮح ﻣﻲﻛﻨﻴﻢ‪ .‬ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ اﻃﻼﻋﺎت ﻛﺴﺎﻧﻲ را ﻣﺸﺎﻫﺪه ﻛﻨﻴﻢ ﻛﻪ ﻣﻴﺰان ﺣﻘﻮق‬
‫آﻧﻬﺎ از ‪ 10000‬ﺗﻮﻣﺎن ﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ‪ .‬ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫* ‪SELECT‬‬
‫‪FROM emp‬‬
‫; ‪WHERE sall > 10000‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪162‬‬

‫ﻋﺒﺎرت ﺷﺮط ﻣﻄﺮح ﺷﺪه اﺳﺖ‪ .‬ﭼﻨﺎﻧﭽﻪ‬ ‫‪WHERE‬‬ ‫در اﻳﻦ ﻋﺒﺎرت ﺟﻠﻮي ﻛﻠﻤﻪ‬
‫ﺻﺮﻓﺎ ﺑﻌﻀﻲ از ﺻﻔﺎت ﺧﺎﺻﻪ ﻣﻄﺮح ﺑﺎﺷﻨﺪ ﻣﻲﺗﻮان ﺑﺠﺎي اﺳﺘﻔﺎده از ﻋﻼﻣﺖ *‪،‬‬
‫اﺳﺎﻣﻲﺳﺘﻮﻧﻬﺎ )ﺻﻔﺎت ﺧﺎﺻﻪ( را ﻧﻮﺷﺖ‪.‬‬
‫و‬ ‫‪SELECT‬‬ ‫ﻳﻜﻲ از ﻧﻜﺎت ﺑﺴﺎﻳﺮ ﻣﻬﻢ اﻳﻦ اﺳﺖ ﻛﻪ ﻻزم اﺳﺖ ﺗﺮﺗﻴﺐ ﺳﻪ ﻛﻠﻤﻪ‬
‫رﻋﺎﻳﺖ ﺷﻮد‪ .‬ﭼﻨﺎﻧﭽﻪ ﺗﺮﺗﻴﺐ ﻣﺬﻛﻮر رﻋﺎﺑﺖ ﻧﮕﺮدد ﺳﻴﺴﺘﻢ ﺑﺎ ﭘﻴﻐﺎم‬ ‫‪WHERE‬‬ ‫و‬ ‫‪FROM‬‬
‫ﺧﻄﺎ ﻣﻮاﺟﻬﻪ ﻣﻲﮔﺮدد‪ .‬ﻫﻤﭽﻨﻴﻦ ﻣﻲﺗﻮان در ﻋﺒﺎرات‪ ،‬ﻛﻠﻤﻪ ‪ WHERE‬را در ﺻﻮرت ﻧﺒﻮدن‬
‫ﺷﺮط ﺑﻜﺎر ﻧﺒﺮد‪ ،‬وﻟﻲ ﺣﺘﻤﺎ ﺑﺎﻳﺪ ﻛﻠﻤﺎت ﻛﻠﻴﺪي ‪ SELECT‬و ‪ FROM‬در ﻋﺒﺎرت ﺑﺎﺷﻨﺪ‪.‬‬
‫ﺗﺬﻛﺮ‪ :‬در ﺑﻌﻀﻲ ﺷﺮاﻳﻂ اﻣﻜﺎن دارد ﻛﻪ ﻛﻪ ﻛﺎرﺑﺮ ﺑﺨﻮاﻫﺪ ﻣﻘﺪاري را در ﺳﻴﺴﺘﻢ‬
‫ﻣﺤﺎﺳﺒﻪ ﻧﻤﺎﻳﺪ ﻛﻪ اﺻﻼً ارﺗﺒﺎﻃﻲ ﺑﺎ ﻫﻴﭻ ﺟﺪوﻟﻲ ﻧﺪارد‪ .‬از آﻧﺠﺎﻳﻴﻜﻪ ﻻزم اﺳﺖ ﺣﺘﻤﺎ‬
‫ﻧﺎم ﺟﺪول ذﻛﺮ ﮔﺮدد‪ ،‬ﻟﺬا در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻳﻚ‬ ‫‪FROM‬‬ ‫ﺑﻌﺪ از ﻛﻠﻤﻪ‬
‫ﻧﺎم ﺟﺪول ﻓﺮﺿﻲ‬ ‫‪ORACLE‬‬ ‫ﺟﺪول ﻓﺮﺿﻲ ﺗﻌﺮﻳﻒ ﺷﺪه اﺳﺖ‪ .‬ﻣﺜﻼ در ﭘﺎﻳﮕﺎه داده‬
‫‪ DUAL‬ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﻪ ﻋﺒﺎرت ذﻳﻞ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬
‫‪SELECT 50 * 147‬‬
‫; ‪FROM DUAL‬‬

‫ﺑﺼﻮرت ﺑﺴﻴﺎر ﺳﺎده ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﮔﺮﻓﺖ‪.‬‬ ‫‪SELECT‬‬ ‫ﺗﺎ اﻳﻦ ﻣﺮﺣﻠﻪ از دﺳﺘﻮر‬
‫ﻗﺴﻤﺖﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺗﺮ اﻳﻦ دﺳﺘﻮر در اداﻣﻪ ﻫﻤﻴﻦ ﻓﺼﻞ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ‪.‬‬
‫در اداﻣﻪ دﺳﺘﻮرات ﻛﺎر ﺑﺮ روي دادهﻫﺎ را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد‪.‬‬

‫‪ - 5‬دﺳﺘﻮرات ﻛﺎر ﺑﺮ روي دادهﻫﺎ‬


‫ﻳﻜﻲ از ﺑﺪﻳﻬﻲ ﺗﺮﻳﻦ ﻧﻴﺎزﻫﺎ ﺑﺮاي ﻛﺎرﺑﺮان‪ ،‬وﺟﻮد اﻣﻜﺎن ﻛﺎر ﺑﺮ روي داده ﻫﺎ ﻣﻲ ﺑﺎﺷﺪ‬
‫‪1‬‬
‫ﻛﻪ ﻣﺘﻨﺎﺳﺐ ﺑﺎ اﻳﻦ ﻧﻴﺎز دﺳﺘﻮراﺗﻲ ﺗﺤﺖ ﻋﻨﻮان زﺑﺎن ﻛﺎر ﺑﺎ داده ﻫﺎ ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ‪.‬‬
‫اﻳﻦ ﻋﻤﻠﻴﺎت ﻣﻲ ﺗﻮاﻧﺪ ﺷﺎﻣﻞ ﻣﻮارد زﻳﺮ ﺑﺎﺷﺪ‪:‬‬
‫‪- INSERT‬اﻓﺰودن رﻛﻮرد )ﻫﺎﻳﻲ( ﺑﻪ ﻳﻚ ﺟﺪول‬ ‫•‬
‫‪- UPDATE‬اﺻﻼًح اﻃﻼﻋﺎت ﻣﻮﺟﻮد در ﻳﻚ ﺟﺪول‬ ‫•‬
‫‪- DELETE‬ﺣﺬف رﻛﻮرد )ﻫﺎﻳﻲ( از ﺟﺪول‬ ‫•‬
‫ﻫﺮ ﻳﻚ از اﻳﻦ ﻋﻤﻠﻴﺎت داراي دﺳﺘﻮرات ﺧﺎص ﺧﻮد ﻣﻲ ﺑﺎﺷﻨﺪ ﻛﻪ در اداﻣﻪ ﺑﻪ ﺷﺮح‬

‫) ‪1. D at a M a ni p u l a t i o n La n gu a ge ( D M L‬‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪163 SQL‬‬

‫ﻫﺮ ﻳﻚ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ‪.‬‬

‫‪INSERT‬‬ ‫‪ 1-5‬دﺳﺘﻮر‬
‫اﻳﻦ دﺳﺘﻮر ﺑﻪ ﻣﻨﻈﻮر وارد ﻛﺮدن )اﻓﺰودن( رﻛﻮرد ﻳﺎ رﻛﻮردﻫﺎﻳﻲ ﺑﻪ ﻳﻚ ﺟﺪول‬
‫ﺗﻌﺮﻳﻒ ﺷﺪه اﺳﺖ‪ .‬ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫‪INSERT INTO table name‬‬


‫] )… ‪[ (column name ,‬‬
‫} )… ‪{ VALUES (value ,‬‬
‫; ‪| sub query‬‬

‫‪sub‬‬ ‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ در دﺳﺘﻮر ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲﮔﺮدد‪ ،‬در اﻧﺘﻬﺎي دﺳﺘﻮر از ﻋﺒﺎرت‬
‫‪ query‬اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ ﻛﻪ اﻳﻦ دﺳﺘﻮر ﺑﻪ ﻣﻨﻈﻮر اﻧﺘﺨﺎب ﭼﻨﺪﻳﻦ رﻛﻮرد از ﻳﻚ ﺟﺌﻮل و‬
‫اﻓﺰودن ﻳﻜﺒﺎره آﻧﻬﺎ ﺑﻪ ﺟﺪول ﻣﺬﻛﻮر ﻣﻲﺑﺎﺷﺪ‪ .‬در اﺑﺘﺪا ﺑﺮاي آﺷﻨﺎﻳﻲ ﺧﻮاﻧﻨﺪﮔﺎن ﺑﺎ اﻳﻦ‬
‫دﺳﺘﻮر‪ ،‬اﻓﺰودن ﻳﻚ رﻛﻮرد ﺑﻪ ﺟﺪول را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲدﻫﻴﻢ‪ .‬در دﺳﺘﻮر ﺑﺎﻻ در‬
‫اﺑﺘﺪا ﻧﺎم ﺟﺪول را ﻛﻪ ﻣﻲﺧﻮاﻫﻴﻢ ﻣﻘﺎدﻳﺮي را ﺑﻪ آن ﺑﻴﺎﻓﺰاﻳﻴﻢ وارد ﻣﻲﻛﻨﻴﻢ و ﺳﭙﺲ‬
‫اﺳﺎﻣﻲﺳﺘﻮﻧﻬﺎﻳﻲ از رﻛﻮرد را ﻛﻪ ﻣﻲﺧﻮاﻫﻴﻢ ﻣﻘﺎدﻳﺮي را در آﻧﻬﺎ وارد ﻧﻤﺎﻳﻴﻢ را ﻧﻮﺷﺘﻪ و‬
‫ﺳﭙﺲ ﻣﻘﺎدﻳﺮ ﻣﺮﺗﺒﻂ ﺑﺎ ﻫﺮ ﺳﺘﻮن را وارد ﻣﻲﻧﻤﺎﻳﻴﻢ‪ .‬ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ در‬
‫ﺟﺪوﻟﻲ ﺑﻨﺎم ‪ SalesPeople‬ﻛﻪ داراي ﭼﻬﺎر ﺳﺘﻮن ﻣﻲﺑﺎﺷﺪ‪ ،‬ﻳﻚ رﻛﻮرد ﺑﺎ ﻣﻘﺎدﻳﺮ ﻣﺸﺨﺼﻲ‬
‫ذﻳﻞ وارد ﻧﻤﺎﻳﻴﻢ‪ .‬ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ اﻳﻦ ﺷﺮح ﻣﻲﺑﺎﺷﺪ‪:‬‬
‫‪INSERT INTO Salespeople‬‬
‫;)‪VALUES (1001,'Peel','London', 12‬‬

‫ﺣﺎل ﻓﺮض ﻛﻨﻴﻢ ﻣﺜﻼ ﻧﻤﻲداﻧﻴﻢ ﻛﻪ ﺷﺨﺺ ﻣﺬﻛﻮر در ﺷﻬﺮ ﻟﻨﺪن اﻗﺎﻣﺖ دارد و‬
‫ﻣﻲﺧﻮاﻫﻴﻢ رﻛﻮرد ﻣﺬﻛﻮر را وارد ﻧﻤﺎﻳﻴﻢ ﺑﺪون آﻧﻜﻪ ﻛﻘﺪاري ﺑﺮاي ﺻﻔﺖ ﺧﺎﺻﻪ ﺷﻬﺮ در‬
‫ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ‪ .‬ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲﺑﺎﺷﺪ‪:‬‬

‫‪Insert Into salespeople‬‬


‫;)‪Values (1001,'Peel', NULL, 12‬‬

‫ﺗﻮﺟﻪ‪ :‬ﺑﺮاي آﻧﺪﺳﺘﻪ از ﺳﺘﻮﻧﻬﺎﻳﻲ ﻛﻪ ﺑﻌﻨﻮان ﻛﻠﻴﺪ اﺻﻠﻲ ﻫﺴﺘﻨﺪ و ﻳﺎ اﻳﻨﻜﻪ ﺣﺘﻤﺎ ﺑﺎﻳﺪ‬
‫ﻣﻘﺪاري )ﻏﻴﺮ از ‪ (NULL‬را داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪ ،‬ﻻزم اﺳﺖ ﻣﻘﺪاري در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد‪ ،‬در‬
‫ﻏﻴﺮ اﻳﻨﺼﻮرت اﻣﻜﺎن اﻓﺰودن رﻛﻮرد ﺟﺪﻳﺪ وﺟﻮد ﻧﺪارد‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪164‬‬

‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺗﺮﺗﻴﺐ وارد ﻛﺮدن ﻣﻘﺎدﻳﺮ ﺑﻪ ﺗﺮﺗﻴﺐ ﺗﻌﺮﻳﻒ ﺳﺘﻮﻧﻬﺎ ﻓﺮض‬
‫ﺷﺪه اﺳﺖ‪ .‬ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﺗﺮﺗﻴﺐ ورود ﻣﻘﺎدﻳﺮ ﺑﺮاي ﺳﺘﻮﻧﻬﺎ را ﺗﻐﻴﻴﺮ دﻫﻴﻢ و ﻳﺎ اﻳﻨﻜﻪ‬
‫ﺻﺮﻓﺎ ﺑﺨﻮاﻫﻴﻢ ﺑﺠﺎي ﻗﺮار دادن ﻣﻘﺪار ‪ NULL‬ﺑﺮاي ﻳﻚ ﺳﺘﻮن‪ ،‬اﺻﻼً ﻧﺎم آن ﺳﺘﻮن را ﺑﻜﺎر‬
‫ﻧﺒﺮﻳﻢ‪ ،‬ﻻزم اﺳﺖ ﻧﺎم ﺳﺘﻮﻧﻬﺎ ﺑﻪ ﺗﺮﺗﻴﺐ ﻣﻮرد ﻧﻈﺮ در ﺟﻠﻮي ﻧﺎم ﺟﺪول وارد ﺷﺪه و ﺳﭙﺲ‬
‫ﺑﻪ ﻫﻤﺎن ﺗﺮﺗﻴﺐ‪ ،‬ﻣﻘﺎدﻳﺮ ﻣﺮﺗﺒﻂ وارد ﺷﻮﻧﺪ‪ .‬ﺑﺮاي ﺗﻮﺿﻴﺢ ﺑﻴﺸﺘﺮ ﻓﺮض ﻛﻨﻴﻢ ﺟﺪوﻟﻲ ﺑﻨﺎم‬
‫آن ﺟﺪول‬ ‫‪cnum‬‬ ‫و‬ ‫‪cname‬‬ ‫و‬ ‫‪city‬‬ ‫دارﻳﻢ ﻛﻪ ﻓﻘﻂ ﻣﻲﺧﻮاﻫﻴﻢ در ﺳﺘﻮنﻫﺎي‬ ‫‪Customers‬‬
‫ﻣﻘﺎدﻳﺮي را وارد ﻧﻤﺎﻳﻴﻢ‪ .‬ﺑﻪ ﻋﺒﺎرت ذﻳﻞ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬

‫)‪INSERT INTO Customers (city, cname, cnum‬‬


‫;)‪VALUES ('London','Hoffman', 2001‬‬

‫ﺗﺎ اﻳﻦ ﻣﺮﺣﻠﻪ ﺻﺮﻓﺎ ﻳﻚ رﻛﻮرد ﺑﻪ ﺟﺪول وارد ﺷﺪه اﺳﺖ‪ .‬ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ‬
‫ﺗﻌﺪادي رﻛﻮرد را از ﺟﺪول دﻳﮕﺮي اﻧﺘﺨﺎب و ﺑﻪ ﺟﺪول ﻣﺬﻛﻮر وارد ﻧﻤﺎﻳﻴﻢ‪ ،‬ﺑﺠﺎي‬
‫را وارد ﻧﻤﺎﻳﻴﻢ‪ .‬ﺑﺮاي روﺷﻦ‬ ‫‪Select‬‬ ‫اﺳﺘﻔﺎده از ﻛﻠﻤﻪ ‪ ،Values‬ﻻزم اﺳﺖ ﺗﺎ ﻳﻚ ﻋﺒﺎرت‬
‫ﺷﺪن اﻳﻦ ﻣﻄﻠﺐ ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬

‫‪INSERT INTO LondonStaff‬‬


‫* ‪SELECT‬‬
‫‪FROM salespeople‬‬
‫;'‪Where city = 'London‬‬

‫از ﺟﺪوﻟﻲ‬ ‫‪Total‬‬ ‫و‬ ‫‪FDate‬‬ ‫ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺻﺮﻓﺎ دو ﺳﺘﻮن ﺑﻨﺎمﻫﺎي‬
‫ﺑﻨﺎم ‪ DayTotals‬را ﺑﺎ ﻣﻘﺎدﻳﺮ اﻧﺘﺨﺎب ﺷﺪه از ﺟﺪول دﻳﮕﺮي ﭘﺮ ﻛﻨﻴﻢ‪ .‬ﻣﺜﺎل زﻳﺮ ﺑﻴﺎﻧﮕﺮ اﻳﻦ‬
‫ﻣﻄﻠﺐ ﻣﻲﺑﺎﺷﺪ‪:‬‬

‫)‪Insert Into daytotals (fdate,total‬‬


‫‪Select odate,income‬‬
‫; ‪From orders‬‬

‫ﻧﻜﺘﻪ ﺑﺴﻴﺎر ﻣﻬﻢ در ﻧﻮﺷﺘﻦ اﻳﻦ ﻋﺒﺎرت اﻳﻦ اﺳﺖ ﻛﻪ ﺗﻌﺪاد ﺳﺘﻮﻧﻬﺎي اﻧﺘﺨﺎب ﺷﺪه در‬
‫ﻋﺒﺎرت ‪ Select‬ﺑﺎﻳﺪ ﺑﺮاﺑﺮ ﺑﺎ ﺗﻌﺪاد ﺳﺘﻮن ﻫﺎي ﺟﺪول اﺻﻠﻲ ﺑﺎﺷﺪ‪.‬‬

‫‪UPDATE‬‬ ‫‪ 2-5‬دﺳﺘﻮر‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪165 SQL‬‬

‫ﻳﻜﻲ از ﻣﻬﻤﺘﺮﻳﻦ ﻧﻴﺎز ﻫﺎي ﻛﺎرﺑﺮان‪ ،‬ﺗﻮاﻧﺎﻳﻲ اﻋﻤﺎل ﺗﻐﻴﻴﺮات در داده ﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﻗﺒﻼ‬
‫در ﺳﻴﺴﺘﻢ وارد ﻛﺮده اﻧﺪ‪ .‬اﻳﻦ ﻧﻴﺎز ﻧﺎﺷﻲ از ﺗﻐﻴﻴﺮ داده ﻫﺎ و ﻳﺎ وادر ﻛﺮدن ﻣﻘﺪار ﺑﺮاي‬
‫ﺳﺘﻮﻧﻬﺎﻳﻲ اﺳﺖ ﻛﻪ ﻗﺒﻼ ﻫﻴﭻ ﻣﻘﺪاري ﺑﺮاي آن در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻧﺸﺪه ﺑﻮد‪ .‬دﺳﺘﻮر‬
‫ﺑﻪ ﻣﻨﻈﻮر اﻋﻤﺎل ﺗﻐﻴﻴﺮات در ﻣﻘﺎدﻳﺮ رﻛﻮردﻫﺎي ﺛﺒﺖ ﺷﺪه در ﺟﺪاول‬ ‫‪UPDATE‬‬
‫ﻃﺮاﺣﻲ ﺷﺪه و ﺷﻜﻞ ﻛﻠﻲ آن ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫‪UPDATE table name‬‬


‫‪SET { column name = { value expression‬‬
‫‪| NULL‬‬
‫… ‪| DEFAULT } } ,‬‬
‫; ] } ‪[ { WHERE predicate‬‬

‫در اداﻣﻪ ﺑﺮاي ﺗﺸﺮﻳﺢ ﺑﻬﺘﺮ دﺳﺘﻮر ﻣﺬﻛﻮر ﻣﺜﺎﻟﻬﺎﻳﻲ آورده ﺷﺪه اﺳﺖ ﻛﻪ ﺣﺎﻻت‬
‫ﻣﺨﺘﻠﻒ اﺳﺘﻔﺎده از دﺳﺘﻮر را ﻧﺸﺎن ﻣﻲدﻫﺪ‪ .‬در ﺳﺎده ﺗﺮﻳﻦ ﺣﺎﻟﺖ ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ‬
‫ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ ‪ rating‬از ﺟﺪول ‪ Customers‬را ﺑﺮاﺑﺮ ﺑﺎ ‪ 200‬ﻛﻨﻴﻢ‪.‬‬
‫‪UPDATE customers‬‬
‫;‪SET rating = 200‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﺪ ﻫﻴﭻ ﻧﻮع ﺷﺮﻃﻲ ﺑﺮاي اﻧﺘﺨﺎب رﻛﻮردﻫﺎ در ﻧﻈﺮ‬
‫ﺑﺮاي‬ ‫‪rating‬‬ ‫ﮔﺮﻓﺘﻪ ﻧﺸﺪه اﺳﺖ‪ .‬ﻟﺬا ﺑﺎ اﺟﺮا دﺳﺘﻮر ﺑﺎﻻ ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ‬
‫ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎ ﺑﺮاﺑﺮ ﺑﺎ ‪ 200‬ﻣﻲ ﺷﻮد‪ .‬در ﻣﺜﺎل زﻳﺮ ﻳﻚ ﺷﺮط را ﺟﻬﺖ ﺑﺮوز رﺳﺎﻧﻲ‬
‫ﺟﺪول اﺿﺎﻓﻪ ﻣﻲ ﻛﻨﻴﻢ‪:‬‬
‫‪UPDATE customers‬‬
‫‪SET rating = 200‬‬
‫;‪WHERE snum = 1001‬‬

‫ﺗﺎ اﻳﻦ ﻣﺮﺣﻠﻪ ﺻﺮﻓﺎ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ از ﺟﺪول را ﺑﺮوز رﺳﺎﻧﻲ ﻛﺮدهاﻳﻢ‪ .‬در اداﻣﻪ‬
‫ﻃﺮﻳﻘﻪ ﺑﺮوز رﺳﺎﻧﻲ ﭼﻨﺪ ﺻﻔﺖ ﺧﺎﺻﻪ ﺑﺼﻮرت ﻫﻤﺰﻣﺎن را ﻣﺸﺎﻫﺪه ﺧﻮاﻫﻴﻢ ﻛﺮد‪.‬‬
‫‪UPDATE Salespeople‬‬
‫‪SET sname = 'Gibson', city = 'Boston', comm. = 0.1‬‬
‫;‪WHERE snum = 1004‬‬
‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﻫﺮ ﻳﻚ از ﺻﻔﺎت ﺧﺎﺻﻪ ﺑﺎ ﻳﻚ ﻛﺎﻣﺎ از دﻳﮕﺮي ﺟﺪا‬
‫ﺷﺪه اﺳﺖ‪ .‬ﺗﺎ اﻳﻦ ﻗﺴﻤﺖ از ﻛﺎر ﻣﻌﻤﻮﻻً ﻣﻘﺪار ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ را ﺗﻐﻴﻴﺮ دادهاﻳﻢ‪ .‬وﻟﻲ‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪166‬‬

‫اﻳﻦ اﻣﻜﺎن ﻧﻴﺰ وﺟﻮد دارد ﻛﻪ ﻣﻘﺪار ﺟﺪﻳﺪ‪ ،‬ﻋﺒﺎرﺗﻲ ﺷﺎﻣﻞ ﺻﻔﺎت ﺧﺎﺻﻪ ﻧﻴﺰ ﺑﺎﺷﺪ‪ .‬ﺑﺮاي‬
‫ﻣﺜﺎل ﻣﻤﻜﻦ اﺳﺖ ﺑﺨﻮاﻫﻴﻢ ﻣﻘﺪار ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ را دو ﺑﺮاﺑﺮ ﻛﻨﻴﻢ‪.‬‬

‫‪Update salespeople‬‬
‫;‪SET comm = comm * 2‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﺷﻮد ﻣﻘﺪار ﺟﺪﻳﺪ در واﻗﻊ از ﭘﺮدازش ﺑﺮ روي ﻣﻘﺪار ﻗﺒﻠﻲ‬
‫ﻫﻤﺎن ﺻﻔﺖ ﺧﺎﺻﻪ ﺑﺪﺳﺖ آﻣﺪه اﺳﺖ‪ .‬اﻳﻦ اﻣﻜﺎن وﺟﻮد دارد ﻛﻪ از ﻣﻘﺎدﻳﺮ ﺳﺎﻳﺮ ﺻﻔﺎت‬
‫ﺧﺎﺻﻪ ﻧﻴﺰ اﺳﺘﻔﺎده ﺷﻮد‪ .‬ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﻣﻘﺪار ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ را ﺗﺒﺪﻳﻞ‬
‫ﺑﻪ ‪) NULL‬ﻣﻘﺪار ﻫﻴﭻ( ﻧﻤﺎﻳﻴﻢ‪ .‬ﻋﺒﺎرت زﻳﺮ ﻃﺮﻳﻘﻪ اﻧﺠﺎم اﻳﻦ ﻛﺎر را ﻧﺸﺎن ﻣﻲدﻫﺪ‪.‬‬
‫‪UPDATE customers‬‬
‫‪SET rating = NULL‬‬
‫;'‪WHERE city = 'London‬‬

‫در واﻗﻊ ﺣﺬف ﻣﻘﺪار ﻳﻚ ﺳﺘﻮن از رﻛﻮرد‬ ‫‪NULL‬‬ ‫ﻋﻤﻞ ﺗﺒﺪﻳﻞ ﻳﻚ ﻣﻘﺪار ﺑﻪ‬
‫ﻣﻲﺑﺎﺷﺪ ﻛﻪ در اﻳﻨﺠﺎ ﺑﻪ آن ﺑﺮوز رﺳﺎﻧﻲ ﻣﻲﮔﻮﻳﻴﻢ‪ .‬ﻣﻔﻬﻮم ﺣﺬف ﻳﻚ ﻣﻘﺪار از ﻳﻚ ﺳﺘﻮن‬
‫ﺑﺎ ﻣﻔﻬﻮم ﺣﺬف ﻳﻚ رﻛﻮرد )ﺳﻄﺮ( ﻣﺘﻔﺎوت ﻣﻲﺑﺎﺷﺪ‪ .‬در اداﻣﻪ دﺳﺘﻮر ‪ DELETE‬را ﺟﻬﺖ‬
‫ﺣﺬف رﻛﻮردﻫﺎ ﺗﻮﺿﻴﺢ ﺧﻮاﻫﻴﻢ داد‪.‬‬

‫‪DELETE‬‬ ‫‪ 3-5‬دﺳﺘﻮر‬
‫ﻣﻤﻜﻦ اﺳﺖ در ﻣﻮاﻗﻌﻲ ﻛﺎرﺑﺮان ﺑﺨﻮاﻫﻨﺪ رﻛﻮرد )ﻫﺎﻳﻲ( را از ﺟﺪول اﻃﻼﻋﺎﺗﻲ ﺣﺬف‬
‫ﻧﻤﺎﻳﻨﺪ‪ .‬در واﻗﻊ ﻛﻞ اﻃﻼﻋﺎت ﻳﻚ رﻛﻮرد )و ﻧﻪ ﻓﻘﻂ ﺑﻌﻀﻲ ﺳﺘﻮن ﻫﺎ( ﺣﺬف ﺧﻮاﻫﺪ‬
‫ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ‪ .‬ﺷﻤﺎي ﻛﻠﻲ اﻳﻦ دﺳﺘﻮر در‬ ‫‪DELETE‬‬ ‫ﺷﺪ‪ .‬ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر دﺳﺘﻮر‬
‫زﻳﺮ آﻣﺪه اﺳﺖ‪:‬‬

‫‪DELETE FROM table name‬‬


‫; } ‪{ WHERE predicate‬‬

‫ﺑﺮاي درك ﺑﻬﺘﺮ دﺳﺘﻮر‪ ،‬ﻣﺜﺎﻟﻬﺎﻳﻲ در ذﻳﻞ آﻣﺪه اﺳﺖ‪ .‬در اﺑﺘﺪا ﻻزم ﺑﺬﻛﺮ اﺳﺖ‬
‫ﭼﻨﺎﻧﭽﻪ در ﻫﻨﮕﺎم اﺳﺘﻔﺎده از دﺳﺘﻮر ‪ ،DELETE‬ﺷﺮﻃﻲ آورده ﻧﺸﻮد ﺑﺪﻳﻦ ﻣﻌﻨﺎ اﺳﺖ ﻛﻪ‬
‫ﻛﻠﻴﻪ اﻃﻼﻋﺎت ﻣﻮﺟﻮد در آن ﺟﺪول ﺣﺬف ﺷﻮد‪ .‬ﺑﺮاي ﻣﺜﺎل دﺳﺘﻮر ذﻳﻞ ﺑﻴﺎﻧﮕﺮ ﺣﺬف‬
‫ﻛﻠﻴﻪ رﻛﻮردﻫﺎي ﻣﻮﺟﻮد در ﺟﺪول ‪ Customers‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪167 SQL‬‬

‫;‪DELETE FROM customers‬‬

‫ﺣﺎل در ﻣﺜﺎﻟﻲ دﻳﮕﺮ ﻳﻚ ﻋﺒﺎرت ﺷﺮﻃﻲ ﺟﻬﺖ ﺗﻌﻴﻴﻦ رﻛﻮردﻫﺎي ﻣﻮرد ﻧﻈﺮ ﺟﻬﺖ‬
‫ﺣﺬف ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪.‬‬
‫‪DELETE FROM salespeople‬‬
‫;‪WHERE snum = 1003‬‬

‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﻋﺒﺎرت ﺷﺮط ﻣﻲﺗﻮاﻧﺪ ﻳﻚ ﻳﺎ ﺗﻌﺪادي از رﻛﻮردﻫﺎ را در‬


‫ﺗﻮاﻧﺎﻳﻲ ﺣﺬف ﻳﻚ ﻳﺎ ﭼﻨﺪ رﻛﻮرد ﻳﺎ‬ ‫‪DELETE‬‬ ‫ﺑﺮﮔﻴﺮد‪ .‬ﺑﺎ اﻳﻦ وﺻﻒ دﺳﺘﻮر‬
‫ﺗﻤﺎﻣﻲرﻛﻮردﻫﺎي ﻳﻚ ﺟﺪول را دارد‪.‬‬

‫‪1‬‬
‫‪ -6‬ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺑﺎ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ‬
‫ﺗﺎ ﺑﺤﺎل ﻛﻠﻴﻪ ﻣﺜﺎل ﻫﺎي اراﺋﻪ ﺷﺪه در اﻳﻦ ﻓﺼﻞ ﺑﺮ اﺳﺎس ﻳﻚ ﺟﺪول ﻃﺮاﺣﻲ ﺷﺪه‬
‫ﺑﻮدﻧﺪ‪ .‬ﻳﻜﻲ از اﻧﺘﻈﺎرات ﺑﺴﻴﺎر ﻣﻬﻢ ﻛﺎرﺑﺮان ﻳﻚ ﭘﺎﻳﮕﺎه داده‪ ،‬اﻣﻜﺎن ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت‬
‫از ﺟﺪاول ﻣﺮﺗﺒﻂ ﺑﺎ ﻫﻢ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﻪ اﻳﻦ ﻣﻨﻈﻮر ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺑﻴﻦ ﺟﺪاول در زﺑﺎن‬
‫‪SELECT‬‬ ‫در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ‪ .‬اﻳﻦ ﻋﻤﻠﮕﺮ در واﻗﻊ ﺟﺰﺋﻲ از دﺳﺘﻮر‬ ‫‪SQL‬‬
‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬در واﻗﻊ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺑﺎﻋﺚ اﻳﺠﺎد ارﺗﺒﺎط ﺑﻴﻦ ﺟﺪاول ﺑﺮ اﺳﺎس ﻛﻠﻴﺪ اﺻﻠﻲ‬
‫و ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﻴﻦ آﻧﻬﺎ ﻣﻲﺑﺎﺷﺪ‪ .‬اﻟﺒﺘﻪ در ﻣﻮاردي ﻧﻴﺰ ﻣﻤﻜﻦ اﺳﺖ ﻛﻪ ارﺗﺒﺎط ﺑﻴﻦ‬
‫ﺟﺪاول ﺑﺮ اﺳﺎس ﻳﻚ ﻋﺒﺎرت ﺧﺎص ﻳﺎ ﻳﻚ ﺗﺮﻛﻴﺐ ﺷﺮﻃﻲ ﺑﺎﺷﺪ‪ .‬در ﺣﺎﻟﺖ ﻛﻠﻲ‬
‫ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺑﻪ دو ﺻﻮرت ﻣﻲ ﺗﻮاﻧﺪ ﺑﺎﺷﺪ‪:‬‬
‫‪2‬‬
‫ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ داﺧﻠﻲ‬ ‫•‬
‫‪3‬‬
‫ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ‬ ‫•‬

‫اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﻫﺮﻳﻚ داراي اﻧﻮاع ﻣﺨﺘﻠﻔﻲ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮ ﻳﻚ‬
‫ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ‪:‬‬

‫‪1. J oi n‬‬
‫‪2. In n e r Jo i n‬‬
‫‪3. O u te r Jo i n‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪168‬‬

‫‪ 1-6‬ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ داﺧﻠﻲ‬


‫اﻳﻦ ﻋﻤﻠﮕﺮ در واﻗﻊ ﻣﺘﺪاول ﺗﺮﻳﻦ ﻧﻮع ﭘﻴﻮﻧﺪ ﺑﻴﻦ دو ﺟﺪول ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺑﺮ اﺳﺎس آن‬
‫ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎﻳﻲ از دو ﺟﺪول ﻛﻪ در ﺷﺮط ﺗﻌﺮﻳﻒ ﺷﺪه در ﭘﻴﻮﻧﺪ ﺻﺪق ﻣﻲﻛﻨﻨﺪ‪،‬‬
‫ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ اﮔﺮ ﺟﺪول )راﺑﻄﻪ( ﺳﻤﺖ ﭼﭗ در ﭘﻴﻮﻧﺪ‬
‫ﺑﻨﺎﻣﻴﻢ‪ ،‬ﺻﺮﻓﺎ ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎﻳﻲ از دو‬ ‫‪R2‬‬ ‫و ﺟﺪول ﺳﻤﺖ راﺳﺖ در ﭘﻴﻮﻧﺪ را‬ ‫‪R1‬‬ ‫را‬
‫ﺟﺪول ﻛﻪ ﺷﺮط ﺗﻌﺮﻳﻒ ﺷﺪه در ﭘﻴﻮﻧﺪ در ﻣﻮرد آﻧﻬﺎ ﺻﺎدق ﺑﺎﺷﺪ‪ ،‬ﻣﻮرد ﺑﺎزﻳﺎﺑﻲ ﻗﺮار‬
‫ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ‪.‬‬
‫‪R1 JOIN R2 ON criteria‬‬
‫‪OR‬‬
‫‪R1 INNER JOIN R2 ON criteria‬‬

‫ﺑﻪ اﻳﻦ ﻋﻠﺖ اﺳﺖ ﻛﻪ در ﺑﻌﻀﻲ از زﺑﺎنﻫﺎ اﻳﻦ ﻧﻮع‬ ‫‪Inner Join‬‬ ‫اﺳﺘﻔﺎده از ﻋﺒﺎرت‬
‫و‬ ‫)‪(EMP‬‬ ‫ﭘﻴﻮﻧﺪ را ﭘﻴﻮﻧﺪ داﺧﻠﻲ ﻣﻲﻧﺎﻣﻨﺪ‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ دو ﺟﺪول اﻃﻼﻋﺎت ﭘﺮﺳﻨﻞ‬
‫ﺳﺎﺧﺘﺎر ﺳﺎزﻣﺎﻧﻲ )‪ (DEPT‬را ﺑﻪ ﺻﻮرت آﻧﭽﻪ ﻛﻪ در زﻳﺮ آﻣﺪه اﺳﺖ در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ‪:‬‬

‫‪EMP‬‬ ‫ﺟﺪول ‪ 1- 8‬ﺟﺪول اﻃﻼﻋﺎت ﭘﺮﺳﻨﻞ‬

‫‪EMP‬‬
‫‪EMPNO‬‬ ‫‪ENAME‬‬ ‫‪SAL‬‬ ‫‪DEPTNO‬‬
‫‪7369‬‬ ‫‪SMITH‬‬ ‫‪800‬‬ ‫‪20‬‬
‫‪7499‬‬ ‫‪ALLEN‬‬ ‫‪1600‬‬ ‫‪30‬‬
‫‪7521‬‬ ‫‪WARD‬‬ ‫‪1250‬‬ ‫‪30‬‬
‫‪7566‬‬ ‫‪JONES‬‬ ‫‪2975‬‬ ‫‪20‬‬
‫‪7654‬‬ ‫‪MARTIN‬‬ ‫‪1250‬‬ ‫‪30‬‬
‫‪7698‬‬ ‫‪BLAKE‬‬ ‫‪2850‬‬ ‫‪30‬‬
‫‪7782‬‬ ‫‪CLARK‬‬ ‫‪2450‬‬ ‫‪10‬‬
‫‪7788‬‬ ‫‪SCOTT‬‬ ‫‪3000‬‬ ‫‪20‬‬
‫‪7839‬‬ ‫‪KING‬‬ ‫‪5000‬‬ ‫‪10‬‬
‫‪7844‬‬ ‫‪TURNER‬‬ ‫‪1500‬‬ ‫‪30‬‬
‫‪7876‬‬ ‫‪ADAMS‬‬ ‫‪1100‬‬ ‫‪20‬‬
‫‪7900‬‬ ‫‪JAMES‬‬ ‫‪950‬‬ ‫‪30‬‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪169 SQL‬‬

‫‪7902‬‬ ‫‪FORD‬‬ ‫‪3000‬‬ ‫‪20‬‬

‫‪7934‬‬ ‫‪MILLER‬‬ ‫‪1300‬‬ ‫‪10‬‬

‫‪DEPT‬‬ ‫ﺟﺪول ‪ 2- 8‬ﺟﺪول اﻃﻼﻋﺎت ﺳﺎﺧﺘﺎر ﺳﺎزﻣﺎﻧﻲ‬

‫‪DEPT‬‬
‫‪DEPTNO‬‬ ‫‪DNAME‬‬ ‫‪LOC‬‬
‫‪10‬‬ ‫‪ACCOUNTING‬‬ ‫‪NEW YORK‬‬
‫‪20‬‬ ‫‪RESEARCH‬‬ ‫‪DALLAS‬‬
‫‪30‬‬ ‫‪SALES‬‬ ‫‪CHICAGO‬‬
‫‪40‬‬ ‫‪OPERATIONS‬‬ ‫‪BOSTON‬‬

‫‪Deptno‬‬ ‫ﺣﺎل ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ دو ﺟﺪول ﻣﺬﻛﻮر را ﺑﺮ اﺳﺎس ﺻﻔﺖ ﺧﺎﺻﻪ‬
‫ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﭘﻴﻮﻧﺪ داده و ﺑﺒﻴﻨﻴﻢ ﻫﺮ ﻳﻚ از ﭘﺮﺳﻨﻞ در ﻛﺪام واﺣﺪ ﻣﺸﻐﻮل ﺑﻜﺎر ﻫﺴﺘﻨﺪ‪.‬‬
‫ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ‪:‬‬

‫‪Select Emp.ename, Emp.deptno, Dept.dname‬‬


‫‪From Emp Join Dept‬‬
‫‪On emp.deptno = dept.deptno‬‬

‫ﺑﺮ اﺳﺎس ﺻﻔﺖ ﺧﺎﺻﻪ‬ ‫‪Dept‬‬ ‫و‬ ‫‪Emp‬‬ ‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻼﺣﻈﻪ ﻣﻲﮔﺮدد دو ﺟﺪول‬
‫ﺑﻌﻨﻮان ﻛﻠﻴﺪ ﺧﺎرﺟﻲ‬ ‫‪Emp‬‬ ‫ﺑﻌﻨﻮان ﻛﻠﻴﺪ اﺻﻠﻲ و در ﺟﺪول‬ ‫‪Dept‬‬ ‫ﻛﻪ در ﺟﺪول‬ ‫‪Deptno‬‬
‫ﻣﻲﺑﺎﺷﺪ‪ ،‬ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﭘﻴﻮﻧﺪ داده ﺷﺪهاﻧﺪ‪ .‬ﺑﺎ اﻳﻦ وﺻﻒ ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر‬
‫ﺑﻪ ﺻﻮرت زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬

‫ﻋﺒﺎرت ‪SQL‬‬ ‫ﺟﺪول ‪ 3- 8‬ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از‬

‫‪ENAME‬‬ ‫‪DEPTNO‬‬ ‫‪DNAME‬‬


‫‪SMITH‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪170‬‬

‫‪ALLEN‬‬ ‫‪30‬‬ ‫‪SALES‬‬


‫‪WARD‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪JONES‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪MARTIN‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪BLAKE‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪CLARK‬‬ ‫‪10‬‬ ‫‪ACCOUNTING‬‬
‫‪SCOTT‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪KING‬‬ ‫‪10‬‬ ‫‪ACCOUNTING‬‬
‫‪TURNER‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪ADAMS‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪JAMES‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪FORD‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪MILLER‬‬ ‫‪10‬‬ ‫‪ACCOUNTING‬‬

‫ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ ﻣﻲﺗﻮان ﻋﺒﺎرت ﺑﺎﻻ را ﺑﺪون اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﻧﻴﺰ‬
‫ﻧﻮﺷﺖ‪ .‬ﻧﺤﻮه ﻧﻮﺷﺘﻦ ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﺪون ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ‪:‬‬
‫‪Select Emp.ename, Emp.deptno, Dept.dname‬‬
‫‪From Emp , Dept‬‬
‫‪Where emp.deptno = dept.deptno‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﻣﻲﺗﻮان اﺳﺎﻣﻲﺟﺪاول ﻣﻮرد ﻧﻈﺮ را در ﺟﻠﻮي ﻛﻠﻤﻪ‬


‫ﺑﻜﺎر ﺑﺮد‪ .‬ﺑﺎ اﻳﻦ وﺻﻒ ﻣﻲﺗﻮان ﺑﺪون ﻧﻴﺎز ﺑﻪ اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ اﻗﺪام ﺑﻪ‬ ‫‪FROM‬‬
‫ﺑﺮﻗﺮاري ارﺗﺒﺎط ﺑﻴﻦ دو ﻳﺎ ﭼﻨﺪ ﺟﺪول ﻧﻤﻮد‪ .‬وﻟﻲ ﺑﻬﺘﺮ اﺳﺖ از ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ اﺳﺘﻔﺎده‬
‫ﮔﺮدد‪ .‬در ﻫﺮ ﺣﺎل ﻫﻨﮕﺎﻣﻴﻜﻪ ﻣﻲﺧﻮاﻫﻴﻢ از ﺑﻴﺶ از ﻳﻚ ﺟﺪول اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﻢ‪ ،‬ﻻزم اﺳﺖ‬
‫ﻧﺎم ﺟﺪاول را ﻗﺒﻞ از ﻧﺎم ﺳﺘﻮنﻫﺎ )ﺻﻔﺎت ﺧﺎﺻﻪ( ﻣﻮرد ﻧﻈﺮ ﺑﻜﺎر ﺑﺒﺮﻳﻢ‪ .‬اﻳﻦ وﺿﻌﻴﺖ‬
‫ﺑﻴﺸﺘﺮ زﻣﺎﻧﻲ اﻫﻤﻴﺖ ﭘﻴﺪا ﻣﻲﻛﻨﺪ ﻛﻪ ﺻﻔﺎت ﺧﺎﺻﻪ ﻫﻤﻨﺎم در ﺟﺪاول ﻣﻮرد ﭘﻴﻮﻧﺪ داﺷﺘﻪ‬
‫ﺑﺎﺷﻴﻢ‪.‬‬
‫ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺑﺠﺎي اﺳﺎﻣﻲﺟﺪاول از ﻧﺎمﻫﺎي ﻣﺴﺘﻌﺎر اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﻢ‪.‬‬
‫ﻣﺜﺎل زﻳﺮ ﺑﻴﺎﻧﮕﺮ ﻧﺤﻮه ﭘﻴﺎده ﺳﺎزي اﻳﻦ وﺿﻌﻴﺖ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪Select E.ename, E.deptno, D.dname‬‬
‫‪From Emp E Join Dept D‬‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪171 SQL‬‬

‫‪On E.deptno = D.deptno‬‬

‫اﻳﻦ وﺿﻌﻴﺖ ﺑﻴﺸﺘﺮ زﻣﺎﻧﻲ ﻧﻤﻮد ﭘﻴﺪا ﻣﻲﻛﻨﺪ ﻛﻪ ﺑﺨﻮاﻫﻴﻢ ﭼﻨﺪ ﺟﺪول ﺑﺎ‬
‫اﺳﺎﻣﻲﻣﺨﺘﻠﻒ و ﻳﺎ ﻧﺴﺒﺘﺎ ﻃﻮﻻﻧﻲ را ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﭘﻴﻮﻧﺪ ﺑﺰﻧﻴﻢ و ﻳﺎ اﻳﻨﻜﻪ در ﻣﻮاردي‬
‫ﺑﺨﻮاﻫﻴﻢ ﻳﻚ ﺟﺪول را ﺑﺎ ﺧﻮدش ﭘﻴﻮﻧﺪ ﺑﺰﻧﻴﻢ‪.‬‬

‫‪1‬‬
‫ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ‬
‫ﺑﻨﻮﻳﺴﻴﻢ‪ .‬ﻻزم ﺑﻪ‬ ‫‪Natural join‬‬ ‫ﺣﺎل ﻣﻲ ﺧﻮاﻫﻴﻢ ﻋﺒﺎرت ﻣﺬﻛﻮر را ﺑﺮ اﺳﺎس ﻋﻤﻠﮕﺮ‬
‫در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻃﺮاﺣﻲ ﺷﺪه‬ ‫‪Natural Join‬‬ ‫ذﻛﺮ اﺳﺖ ﻛﻪ ﻧﻮع ﭘﻴﻮﻧﺪ‬
‫اﺳﺖ و ﻣﻤﻜﻦ اﺳﺖ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده اﻳﻦ ﻧﻮع ﭘﻴﻮﻧﺪ ﭘﺸﺘﻴﺒﺎﻧﻲ ﻧﺸﻮد‪ .‬ﻧﻮع‬
‫ﺑﺮ اﻳﻦ اﺳﺎس ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ ﻛﻪ ﻛﻠﻴﺪ ارﺗﺒﺎﻃﻲ را ﺑﺼﻮرت اﺗﻮﻣﺎﺗﻴﻚ از‬ ‫‪Natural Join‬‬
‫دﻳﻜﺸﻨﺮي ﭘﺎﻳﮕﺎه داده ﻣﻲ ﺧﻮاﻧﺪ‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ در اﻳﻦ ﻧﻮع از ﭘﻴﻮﻧﺪ ﻧﻴﺎزي ﺑﻪ ﺗﻌﺮﻳﻒ‬
‫ﺷﺮط ﭘﻴﻮﻧﺪ ﻧﻴﺴﺖ‪ .‬ﻣﺜﺎل زﻳﺮ ﺑﻴﺎﻧﮕﺮ اﻳﻦ وﺿﻌﻴﺖ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫‪Select Emp.ename, Emp.deptno, Dept.dname‬‬


‫‪From Emp Natural Join Dept‬‬

‫‪2‬‬
‫‪ 3- 6‬ﻋﻤﻠﮕﺮﻫﺎي ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ‬
‫در ﺑﺴﻴﺎري از ﻣﻮارد ﻣﻤﻜﻦ اﺳﺖ ﺑﻌﻀﻲ ﻣﻘﺎدﻳﺮ ﺳﺘﻮﻧﻬﺎﻳﻲ ﻛﻪ ﻣﻲ ﺧﻮاﻫﻴﻢ ﺑﻪ ﻳﻜﺪﻳﮕﺮ‬
‫ﺑﺎﺷﻨﺪ‪ .‬در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﭼﻨﺎﻧﭽﻪ از ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ‬ ‫‪NULL‬‬ ‫ﭘﻴﻮﻧﺪ ﺑﺰﻧﻴﻢ‪ ،‬داراي ﻣﻘﺪار‬
‫ﺑﺼﻮرت ﻋﺎدي اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﻢ‪ ،‬ﺗﻌﺪادي از رﻛﻮردﻫﺎ را ﻧﻤﻲ ﺗﻮاﻧﻴﻢ ﺑﺎزﻳﺎﺑﻲ ﻧﻤﺎﻳﻴﻢ‪ .‬ﺣﺎل‬
‫ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﺑﮕﻮﻳﻴﻢ ﻛﻪ در ﭘﻴﻮﻧﺪ ﻣﺬﻛﻮر ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎي اﻃﻼﻋﺎﺗﻲ ﻣﻮرد ﻧﻈﺮ از‬
‫ﻳﻚ ﺟﺪول ﻧﻤﺎﻳﺶ داده ﺷﻮد و از ﺟﺪول دوم اﻧﺪﺳﺘﻪ از رﻛﻮردﻫﺎﻳﻲ ﻛﻪ در ﺷﺮط ﺑﻴﻦ‬
‫دو ﺟﺪول ﺻﺪق ﻣﻲ ﻛﻨﻨﺪ ﻧﻤﺎﻳﺶ داده ﺷﻮﻧﺪ‪ ،‬ﻻزم اﺳﺖ ﺗﺎ از ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ اﺳﺘﻔﺎده‬
‫ﮔﺮدد‪ .‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﺑﻪ ﺻﻮرت ﻫﺎي زﻳﺮ ﻗﺎﺑﻞ ﭘﻴﺎده ﺳﺎزي ﻣﻲ ﺑﺎﺷﺪ‪:‬‬
‫‪3‬‬
‫ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﭼﭗ‬ ‫•‬
‫‪1‬‬
‫ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ‬ ‫•‬

‫‪1. N at u r a l J o i n‬‬
‫‪2. O u te r Jo i n‬‬
‫‪3. Le f t O ut e r J o i n‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪172‬‬

‫‪2‬‬
‫ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﻛﺎﻣﻞ‬ ‫•‬

‫در اداﻣﻪ ﻫﺮ ﻳﻚ از ﭘﻴﻮﻧﺪﻫﺎي ﻣﺬﻛﻮر ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ‪.‬‬

‫‪ 1- 3- 6‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﭼﭗ‬


‫ﻫﺮ ﮔﺎه ﺑﺨﻮاﻫﻴﻢ در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول‪ ،‬ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎي ﻣﻮرد‬
‫ﻧﻈﺮ از ﺟﺪول ﺳﻤﺖ ﭼﭗ )ﺟﺪول اول( را اﻧﺘﺨﺎب ﻛﺮده و از ﺟﺪول ﺳﻤﺖ راﺳﺖ‬
‫ﺻﺮﻓﺎ اﻧﺪﺳﺘﻪ از رﻛﻮردﻫﺎﻳﻲ ﻛﻪ ﺷﺮط ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول را دارﻧﺪ ﻧﻤﺎﻳﺶ ﺑﺪﻫﻴﻢ‪ ،‬از‬
‫ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﭼﭗ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻴﻢ‪ .‬ﺑﺪﻳﻬﻲ اﺳﺖ در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﺮاي ﺑﻌﻀﻲ از‬
‫رﻛﻮردﻫﺎي ﺟﺪول ﺳﻤﺖ ﭼﭗ‪ ،‬ﻫﻴﭻ ﻣﻘﺪاري از ﺟﺪول ﺳﻤﺖ راﺳﺖ ﻧﻤﻲ ﺗﻮان ﻳﺎﻓﺖ‪.‬‬
‫ﺑﺎ اﻳﻦ اوﺻﺎف ﺑﺮاي اﻧﺪﺳﺘﻪ از ﺳﺘﻮﻧﻬﺎي اﻧﺘﺨﺎب ﺷﺪه از ﺟﺪول ﺳﻤﺖ راﺳﺖ ﻛﻪ‬
‫ﻣﻘﺪاري ﻧﺪارﻧﺪ‪ ،‬ﻣﻘﺪار ‪ NULL‬در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫ﻛﻪ ﻛﻤﻲﻗﺒﻞ ﺗﺮ ﻣﻌﺮﻓﻲ‬ ‫‪DEPT‬‬ ‫و‬ ‫‪EMP‬‬ ‫ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻫﻤﺎن دو ﺟﺪول‬
‫‪Deptno‬‬ ‫ﺷﺪﻧﺪ را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲدﻫﻴﻢ‪ .‬ﺑﺪﻳﻦ ﻣﻨﻈﻮر ﺑﺎ اﺳﺘﻔﺎده از ﻋﺒﺎرت زﻳﺮ ﻣﻘﺪار‬
‫ﻳﻜﻲ از رﻛﻮردﻫﺎي ﺟﺪول ‪ EMP‬را ﺑﺮاﺑﺮ ﺑﺎ ‪ NULL‬ﻗﺮار ﻣﻲدﻫﻴﻢ‪.‬‬

‫‪Update emp‬‬
‫‪set deptno = NULL‬‬
‫;’‪where ename = ‘KING‬‬

‫ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ راﺳﺖ ﭘﻴﻮﻧﺪ و‬ ‫‪DEPT‬‬ ‫ﺣﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ در آن ﺟﺪول‬
‫ﺟﺪول ‪ EMP‬ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ ﭼﭗ ﭘﻴﻮﻧﺪ ﻣﻲ ﺑﺎﺷﻨﺪ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬

‫‪Select e.ename , e.deptno , d.dname‬‬


‫‪LEFT JOIN DEPT d From EMP e‬‬
‫‪ON e.deptno = d.deptno‬‬
‫و ﻳﺎ‬
‫‪Select e.ename , e.deptno , d.dname‬‬
‫‪EMP e LEFTOUTER JOIN DEPT d From‬‬
‫‪ON e.deptno = d.deptno‬‬

‫‪1. R i gh t O ut e r J o i n‬‬
‫‪2. F u ll O u te r Jo i n‬‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪173 SQL‬‬

‫دو ﻋﺒﺎرت ﻣﺬﻛﻮر از ﻟﺤﺎظ ﻣﻌﻨﺎﻳﻲ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺑﺮاﺑﺮ ﻫﺴﺘﻨﺪ و ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از‬
‫ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح ﺟﺪول ‪ 4-8‬ﺧﻮاﻫﺪ ﺑﻮد‪ .‬ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ‬
‫اﻳﻨﻜﻪ ﻣﻘﺪار ‪ deptno‬از ﺟﺪول ‪ EMP‬ﺑﺮاﺑﺮ ﺑﺎ ‪ NULL‬ﺷﺪه اﺳﺖ‪ ،‬ﻟﺬا ﻫﻴﭻ رﻛﻮرد ﻣﺘﻨﺎﻇﺮي‬
‫‪NULL‬‬ ‫ﺑﺎ ﺟﺪول ‪ DEPT‬وﺟﻮد ﻧﺪاﺷﺘﻪ و ﻣﻘﺪار ﺟﺎﻳﮕﺰﻳﻦ ﺑﺮاي ﺳﺘﻮﻧﻬﺎي ﻣﺮﺑﻮﻃﻪ ﺑﺮاﺑﺮ ﺑﺎ‬
‫ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﺳﺌﻮال ﻣﻄﺮح ﮔﺮدد ﻛﻪ ﭼﺮا ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ دو ﺷﻜﻞ ﻣﺨﺘﻠﻒ‬
‫ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ‪ .‬در ﭘﺎﺳﺦ ﺑﻪ اﻳﻦ ﺳﺌﻮال ﺑﺎﻳﺪ ﮔﻔﺖ ﻛﻪ در زﺑﺎن ‪ SQL‬اراﺋﻪ ﺷﺪه از ﺳﻮي‬
‫‪ ANSI‬از ﻛﻠﻤﻪ ‪ Left Outer Join‬اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ‪ .‬وﻟﻲ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي داده اﻳﻦ‬
‫ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ‪ .‬ﺣﺘﻲ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي داده از‬ ‫‪Left Join‬‬ ‫ﻋﺒﺎرت ﺑﻪ ﺻﻮرت‬
‫ﻋﻼﻣﺖ " ‪ " +‬ﺑﺠﺎي اﻳﻦ ﻋﺒﺎرت اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ‪.‬‬

‫ﺟﺪول ‪ 4- 8‬ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ‪ SQL‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﭼﭗ‬

‫‪ENAME‬‬ ‫‪DEPTNO‬‬ ‫‪DNAME‬‬


‫‪SMITH‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪ALLEN‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪WARD‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪JONES‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪MARTIN‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪BLAKE‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪CLARK‬‬ ‫‪10‬‬ ‫‪ACCOUNTING‬‬
‫‪SCOTT‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪KING‬‬
‫‪TURNER‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪ADAMS‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪JAMES‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪FORD‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪MILLER‬‬ ‫‪10‬‬ ‫‪ACCOUNTING‬‬

‫‪ 2- 3- 6‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ‬


‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪174‬‬

‫ﻫﺮ ﮔﺎه ﺑﺨﻮاﻫﻴﻢ در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول‪ ،‬ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎي ﻣﻮرد‬
‫ﻧﻈﺮ از ﺟﺪول ﺳﻤﺖ راﺳﺖ )ﺟﺪول دوم( را اﻧﺘﺨﺎب ﻛﺮده و از ﺟﺪول ﺳﻤﺖ ﭼﭗ‬
‫ﺻﺮﻓﺎ اﻧﺪﺳﺘﻪ از رﻛﻮردﻫﺎﻳﻲ ﻛﻪ ﺷﺮط ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول را دارﻧﺪ ﻧﻤﺎﻳﺶ ﺑﺪﻫﻴﻢ‪ ،‬از‬
‫ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻴﻢ‪ .‬ﺑﺪﻳﻬﻲ اﺳﺖ در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﺮاي ﺑﻌﻀﻲ از‬
‫رﻛﻮردﻫﺎي ﺟﺪول ﺳﻤﺖ راﺳﺖ ﭘﻴﻮﻧﺪ‪ ،‬ﻫﻴﭻ ﻣﻘﺪاري از ﺟﺪول ﺳﻤﺖ ﭼﭗ ﻧﻤﻲ ﺗﻮان‬
‫ﻳﺎﻓﺖ‪ .‬ﺑﺎ اﻳﻦ اوﺻﺎف ﺑﺮاي اﻧﺪﺳﺘﻪ از ﺳﺘﻮﻧﻬﺎي اﻧﺘﺨﺎب ﺷﺪه از ﺟﺪول ﺳﻤﺖ ﭼﭗ‬
‫ﭘﻴﻮﻧﺪ ﻛﻪ ﻣﻘﺪاري ﻧﺪارﻧﺪ‪ ،‬ﻣﻘﺪار ‪ NULL‬در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫ﻛﻪ ﻛﻤﻲﻗﺒﻞ ﺗﺮ ﻣﻌﺮﻓﻲ‬ ‫‪DEPT‬‬ ‫و‬ ‫‪EMP‬‬ ‫ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻫﻤﺎن دو ﺟﺪول‬
‫ﻳﻚ رﻛﻮرد‬ ‫‪DEPT‬‬ ‫ﺷﺪﻧﺪ را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲدﻫﻴﻢ‪ .‬ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲداﻧﻴﺪ در ﺟﺪول‬
‫وﺟﻮد ﻧﺪارد ﻛﻪ دﻣﻘﺪار‬ ‫‪EMP‬‬ ‫وﺟﻮد دارد‪ .‬وﻟﻲ ﻫﻴﭻ رﻛﻮردي در ﺟﺪول‬ ‫‪deptno = 40‬‬ ‫ﺑﺎ‬
‫در آن ﺑﺮاﺑﺮ ﺑﺎ ‪ 40‬ﺑﺎﺷﺪ‪ .‬ﺣﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ در آن ﺟﺪول‬ ‫‪deptno‬‬ ‫ﺻﻔﺖ ﺧﺎﺻﻪ‬
‫ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ راﺳﺖ‬ ‫‪EMP‬‬ ‫ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ ﭼﭗ ﭘﻴﻮﻧﺪ و ﺟﺪول‬ ‫‪DEPT‬‬
‫ﭘﻴﻮﻧﺪ ﻣﻲﺑﺎﺷﻨﺪ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬
‫‪Select e.ename , e.deptno , d.dname‬‬
‫‪RIGHT JOIN DEPT d From EMP e‬‬
‫‪ON e.deptno = d.deptno‬‬
‫و ﻳﺎ‬
‫‪Select e.ename , e.deptno , d.dname‬‬
‫‪EMP e RIGHT OUTER JOIN DEPT d From‬‬
‫‪ON e.deptno = d.deptno‬‬
‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬

‫ﺟﺪول ‪ 5- 8‬ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ‪ SQL‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ‬

‫‪ENAME‬‬ ‫‪DEPTNO‬‬ ‫‪DNAME‬‬


‫‪CLARK‬‬ ‫‪10‬‬ ‫‪ACCOUNTING‬‬
‫‪MILLER‬‬ ‫‪10‬‬ ‫‪ACCOUNTING‬‬
‫‪SMITH‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪SCOTT‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪ADAMS‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪FORD‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪175 SQL‬‬

‫‪JONES‬‬ ‫‪20‬‬ ‫‪RESEARCH‬‬


‫‪ALLEN‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪JAMES‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪TURNER‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪BLAKE‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪MARTIN‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪WARD‬‬ ‫‪30‬‬ ‫‪SALES‬‬
‫‪OPERATIONS‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﻣﻘﺪار ‪ deptno‬از ﺟﺪول ‪ EMP‬ﺑﺮاﺑﺮ‬


‫وﺟﻮد ﻧﺪاﺷﺘﻪ و ﻣﻘﺪار‬ ‫‪DEPT‬‬ ‫ﺷﺪه اﺳﺖ‪ ،‬ﻟﺬا ﻫﻴﭻ رﻛﻮرد ﻣﺘﻨﺎﻇﺮي ﺑﺎ ﺟﺪول‬ ‫‪NULL‬‬ ‫ﺑﺎ‬
‫ﺟﺎﻳﮕﺰﻳﻦ ﺑﺮاي ﺳﺘﻮﻧﻬﺎي ﻣﺮﺑﻮﻃﻪ ﺑﺮاﺑﺮ ﺑﺎ ‪ NULL‬ﻣﻲﺑﺎﺷﺪ‪.‬‬

‫‪ 3- 3- 6‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﻛﺎﻣﻞ‬


‫ﻗﺒﻞ از ﺗﻮﺿﻴﺢ اﻳﻦ ﻧﻮع از ﭘﻴﻮﻧﺪ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﻣﻬﻢ ﺗﻮﺟﻪ ﺷﻮد ﻛﻪ اﻳﻦ ﻧﻮع‬
‫ﭘﻴﻮﻧﺪ ﻓﻘﻂ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ و در ﺑﺴﻴﺎري از‬
‫ﭘﺎﻳﮕﺎه ﻫﺎي داده اﺻﻼً ﭼﻨﻴﻦ ﭘﻴﻮﻧﺪ وﺟﻮد ﻧﺪارد‪.‬‬
‫ﻫﺮ ﮔﺎه ﺑﺨﻮاﻫﻴﻢ در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول‪ ،‬ﺗﻤﺎﻣﻲرﻛﻮردﻫﺎي‬
‫ﻣﻮرد ﻧﻈﺮ از ﻫﺮ دو ﺟﺪول ﭼﻪ آﻧﻬﺎﻳﻴﻜﻪ در ﺷﺮط ﭘﻴﻮﻧﺪ ﻫﺴﺘﻨﺪ و ﭼﻪ آﻧﻬﺎﻳﻴﻜﻪ در ﺷﺮط‬
‫ﭘﻴﻮﻧﺪ ﺻﺎدق ﻧﻴﺴﺘﻨﺪ‪ ،‬در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ ﺑﻴﺎﻳﻨﺪ‪ ،‬از اﻳﻦ ﻧﻮع ﭘﻴﻮﻧﺪ اﺳﺘﻔﺎده ﻣﻲﮔﺮدد‪ .‬ﺑﺪﻳﻬﻲ‬
‫‪NULL‬‬ ‫اﺳﺖ ﻛﻪ ﻫﺮ ﻳﻚ از ﻣﻘﺎدﻳﺮ ﺳﺘﻮﻧﻬﺎﻳﻲ ﻛﻪ در ﺷﺮط ﭘﻴﻮﻧﺪ ﺻﺎدق ﻧﺒﺎﺷﻨﺪ‪ ،‬ﺑﺎ ﻣﻘﺪار‬
‫ﻛﻪ‬ ‫‪DEPT‬‬ ‫و‬ ‫‪EMP‬‬ ‫ﺟﺎﻳﮕﺰﻳﻦ ﺧﻮاﻫﻨﺪ ﺷﺪ‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻫﻤﺎن دو ﺟﺪول‬
‫ﻛﻤﻲﻗﺒﻞ ﺗﺮ ﻣﻌﺮﻓﻲ ﺷﺪﻧﺪ را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲدﻫﻴﻢ‪ .‬ﺑﺪﻳﻦ ﻣﻨﻈﻮر ﺑﺎ اﺳﺘﻔﺎده از ﻋﺒﺎرت‬
‫زﻳﺮ ﻣﻘﺪار ‪ Deptno‬ﻳﻜﻲ از رﻛﻮردﻫﺎي ﺟﺪول ‪ EMP‬را ﺑﺮاﺑﺮ ﺑﺎ ‪ NULL‬ﻗﺮار ﻣﻲدﻫﻴﻢ‪.‬‬
‫‪Update emp‬‬
‫‪set deptno = NULL‬‬
‫;’‪where ename = ‘KING‬‬

‫ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ راﺳﺖ ﭘﻴﻮﻧﺪ و‬ ‫‪DEPT‬‬ ‫ﺣﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ در آن ﺟﺪول‬
‫ﺟﺪول ‪ EMP‬ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ ﭼﭗ ﭘﻴﻮﻧﺪ ﻣﻲﺑﺎﺷﻨﺪ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 176

Select e.ename , e.deptno , d.dname


EMP e FULL OUTER JOIN DEPT d From
ON e.deptno = d.deptno

‫ ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه‬.‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‬


‫ ﻟﺬا دو‬،‫ ﺷﺪه اﺳﺖ‬NULL ‫ ﺑﺮاﺑﺮ ﺑﺎ‬EMP ‫ از ﺟﺪول‬deptno ‫ﻣﻲﻛﻨﻴﺪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﻣﻘﺪار‬
.‫ ﻣﻲﺑﺎﺷﻨﺪ‬NULL ‫رﻛﻮرد در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ داراي ﻣﻘﺎدﻳﺮ‬

‫ ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﻛﺎﻣﻞ‬SQL ‫ ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت‬6- 8 ‫ﺟﺪول‬

ENAME DEPTNO DNAME


SMITH 20 RESEARCH
ALLEN 30 SALES
WARD 30 SALES
JONES 20 RESEARCH
MARTIN 30 SALES
BLAKE 30 SALES
CLARK 10 ACCOUNTING
SCOTT 20 RESEARCH
TURNER 30 SALES
ADAMS 20 RESEARCH
JAMES 30 SALES
FORD 20 RESEARCH
MILLER 10 ACCOUNTING
OPERATIONS
KING

‫ ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎ در ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ‬- 7


1
‫ ﻋﻤﻠﮕﺮ ﮔﺮوه ﺑﻨﺪي‬1- 7

1. G ro u p B y
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪177 SQL‬‬

‫ﻓﺮض ﻛﻨﻴﺪ ﻣﻲ ﺧﻮاﻫﻴﻢ رﻛﻮردﻫﺎي )ﺳﻄﺮﻫﺎ( ﻳﻚ ﺟﺪول را ﺑﺮ اﺳﺎس ﻣﻘﺎدﻳﺮ ﻳﻚ ﻳﺎ‬


‫ﭼﻨﺪ ﺳﺘﻮن آن ﺟﺪول ﮔﺮوه ﺑﻨﺪي ﻧﻤﺎﻳﻴﻢ ﺑﮕﻮﻧﻪ اﻳﻜﻪ رﻛﻮردﻫﺎي ﻣﻮﺟﻮد در ﻫﺮ ﮔﺮوه‬
‫داراي ﻳﻚ ﻣﻘﺪار ﻣﺸﺘﺮك از ﺳﺘﻮﻧﻬﺎي ﻣﻮرد ﻧﻈﺮ در ﮔﺮوه ﺑﻨﺪي ﺑﺎﺷﻨﺪ‪ .‬ﺑﺮاي اﻧﺠﺎم اﻳﻦ‬
‫اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪ .‬ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲ ﺧﻮاﻫﻴﻢ‬ ‫‪GroupBy‬‬ ‫اﻣﺮ از ﻋﻤﻠﮕﺮ‬
‫ﮔﺮوه‬ ‫‪deptno‬‬ ‫را ﺑﺮ اﺳﺎس ﻣﻘﺎدﻳﺮ ﺻﻔﺖ ﺧﺎﺻﻪ )ﺳﺘﻮن(‬ ‫‪EMP‬‬ ‫رﻛﻮردﻫﺎي ﺟﺪول‬
‫ﺑﻨﺪي ﻧﻤﺎﻳﻴﻢ‪ .‬ﻋﺒﺎرت ﻣﻮرد ﻧﻈﺮ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬
‫* ‪Select‬‬
‫‪From EMP‬‬
‫‪Group By deptno‬‬

‫‪ 2- 7‬ﻋﻤﻠﮕﺮ ﻣﺮﺗﺐ ﺳﺎزي‬


‫اﻗﺪام ﺑﻪ دﺳﺘﻪ ﺑﻨﺪي رﻛﻮردﻫﺎ ﺑﺮ‬ ‫‪Group By‬‬ ‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﮔﺮدد ﻋﻤﻠﮕﺮ‬
‫اﺳﺎس ﻣﻘﺎدﻳﺮ ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﺳﺘﻮن ﻣﻲ ﻧﻤﺎﻳﺪ‪ .‬وﻟﻲ اﻳﻦ ﻋﻤﻠﮕﺮ ﻣﻨﻄﻘﺎً اﻟﺰام ﺑﻪ ﻣﺮﺗﺐ‬
‫ﺳﺎزي ﻣﻘﺎدﻳﺮ ﺑﺼﻮرت ﺻﻌﻮدي ﻳﺎ ﻧﺰوﻟﻲ ﻧﻤﻲ ﻛﻨﺪ و ﺻﺮﻓﺎ ﮔﺮوه ﺑﻨﺪي را اﻧﺠﺎم‬
‫ﻣﻲ دﻫﺪ‪ .‬ﺣﺎل اﮔﺮ ﻻزم ﺑﺎﺷﺪ ﺑﮕﻮﻧﻪ اي اﻗﺪام ﺑﻪ ﻣﺮﺗﺐ ﺳﺎزي ﺧﺮوﺟﻲ ﺑﻨﻤﺎﻳﻴﻢ ﻻزم‬
‫اﺳﺖ از ﻋﻤﻠﮕﺮ ‪ ORDERBY‬اﺳﺘﻔﺎده ﮔﺮدد‪ .‬اﻳﻦ ﻋﻤﻠﮕﺮ ﺗﻮاﻧﺎﻳﻲ ﻣﺮﺗﺐ ﺳﺎزي رﻛﻮردﻫﺎ‬
‫ﺑﻪ ﺻﻮرت ﺻﻌﻮدي و ﻧﺰوﻟﻲ دارد‪ .‬ﺑﺮاي اﻧﺘﺨﺎب ﻧﻮع ﻣﺮﺗﺐ ﺳﺎزي ﻳﻜﻲ از دو ﻋﻤﻠﮕﺮ‬
‫زﻳﺮ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬

‫‪ :‬رﻛﻮردﻫﺎ را ﺑﺼﻮرت ﺻﻌﻮدي ﻣﺮﺗﺐ ﺳﺎزي ﻣﻲﻛﻨﺪ‬ ‫‪ASC‬‬

‫‪ :‬رﻛﻮردﻫﺎ را ﺑﺼﻮرت ﻧﺰوﻟﻲ ﻣﺮﺗﺐ ﺳﺎزي ﻣﻲﻛﻨﺪ‬ ‫‪DESC‬‬

‫و‬ ‫‪ename‬‬ ‫را ﺑﺮ اﺳﺎس ﺻﻔﺖ ﺧﺎﺻﻪ‬ ‫‪EMP‬‬ ‫ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ رﻛﻮردﻫﺎي ﺟﺪول‬
‫ﺑﺼﻮرت ﺻﻌﻮدي ﻣﺮﺗﺐ ﻣﻲﻛﻨﺪ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬
‫* ‪Select‬‬
‫‪From EMP‬‬
‫‪ORDER BY ename ASC‬‬

‫ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ رﻛﻮردﻫﺎي ﺟﺪول ﻣﺬﻛﻮر را ﺑﺮ اﺳﺎس دو ﺻﻔﺖ‬


‫ﺧﺎﺻﻪ ﻣﺮﺗﺐ ﺳﺎزي ﻧﻤﺎﻳﻴﻢ‪ .‬ﻋﺒﺎرت زﻳﺮ ﺑﻴﺎﻧﮕﺮ ﻧﺤﻮه اﻧﺠﺎم اﻳﻦ ﻣﻮﺿﻮع ﻣﻲﺑﺎﺷﺪ‪:‬‬

‫* ‪Select‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪178‬‬

‫‪From EMP‬‬
‫‪ORDER BY deptno DESC , ename ASC‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻧﻤﺎﻳﻴﺪ در ﻋﺒﺎرت ﻓﻮق اﺑﺘﺪا رﻛﻮردﻫﺎ ﺑﺮ اﺳﺎس ﻣﻘﺪار‬


‫‪ename‬‬ ‫ﺻﻔﺖ ﺧﺎﺻﻪ ‪ deptno‬ﺑﺼﻮرت ﻧﺰوﻟﻲ ﻣﺮﺗﺐ ﺷﺪه و ﺳﭙﺲ ﺑﺮ اﺳﺎس ﺻﻔﺖ ﺧﺎﺻﻪ‬
‫ﺑﺼﻮرت ﺻﻌﻮدي ﻣﺮﺗﺐ ﻣﻲﮔﺮدﻧﺪ‪.‬‬

‫‪ 3- 7‬ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ‬
‫ﻳﻜﻲ از ﻧﻴﺎزﻫﺎي ﻣﻌﻤﻮل ﻛﺎرﺑﺮان اﻧﺠﺎم ﻣﺤﺎﺳﺒﺎﺗﻲ ﺑﺮ روي ﺑﻌﻀﻲ ﺳﺘﻮﻧﻬﺎ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫ﺑﻌﻨﻮان ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﺪ ﻣﻴﺎﻧﮕﻴﻦ ﻧﻤﺮه داﻧﺶ آﻣﻮزان در ﻳﻚ ﻛﻼس ﺑﺮاي‬
‫ﻳﻚ درس را ﺑﺪﺳﺖ آورﻳﺪ‪ .‬ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ اﻳﻦ ﻋﻤﻞ ﺑﺼﻮرت ﺳﺘﻮﻧﻲ اﻧﺠﺎم ﻣﻲ ﮔﻴﺮد‬
‫و ﺑﺎ ﺳﺎﻳﺮ دﺳﺘﻮراﺗﻲ ﻛﻪ ﺗﺎ ﺑﺤﺎل ﮔﻔﺘﻪ اﻳﻢ ﻣﺘﻔﺎوت ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺗﻮاﺑﻌﻲ ﻛﻪ ﺑﺮ روي ﻣﻘﺎدﻳﺮ‬
‫ﺳﺘﻮﻧﻬﺎ ﻋﻤﻞ ﻣﻲﻛﻨﻨﺪ را ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ ﻣﻲ ﻧﺎﻣﻴﻢ‪ .‬ﻟﻴﺴﺘﻲ از ﻣﻌﺮوﻓﺘﺮﻳﻦ اﻳﻦ ﺗﻮاﺑﻊ ﺑﻪ‬
‫ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﻨﺪ‪:‬‬

‫‪ :‬ﺗﻌﺪاد ﻣﻘﺎدﻳﺮ در ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ‪.‬‬ ‫‪COUNT‬‬

‫‪ :‬ﺣﺎﺻﻞ ﺟﻤﻊ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ‪.‬‬ ‫‪SUM‬‬

‫‪ :‬ﻣﻴﺎﻧﮕﻴﻦ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ‪.‬‬ ‫‪AVG‬‬

‫‪ :‬ﺑﺎﻻﺗﺮﻳﻦ ﻣﻘﺪار در ﺑﻴﻦ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ‪.‬‬ ‫‪MAX‬‬

‫‪ :‬ﭘﺎﻳﻴﻦ ﺗﺮﻳﻦ ﻣﻘﺪار در ﺑﻴﻦ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ‪.‬‬ ‫‪MIN‬‬

‫ﻧﻜﺘﻪاي ﻛﻪ ﺑﺎﻳﺪ ﺑﺪان ﺗﻮﺟﻪ ﻛﺮد اﻳﻦ اﺳﺖ ﻛﻪ ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﺗﻮاﺑﻊ ﻣﺬﻛﻮر‬
‫ﺑﺼﻮرت ﻳﻚ ﻣﻘﺪار ﻣﻲﺑﺎﺷﻨﺪ‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﻫﺮ ﭘﺎﻳﮕﺎهدادهاي ﻋﻼوه ﺑﺮ ﺗﻮاﺑﻊ‬
‫ﻣﺬﻛﻮر‪ ،‬ﺗﻌﺪادي ﺗﺎﺑﻊ دﻳﮕﺮ ﻧﻴﺰ ﻃﺮاﺣﻲ ﻛﺮده اﺳﺖ‪ .‬ﺑﺮاي ﻣﺜﺎل در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي داده‬
‫ﺗﻮاﺑﻌﻲ ﺟﻬﺖ ﻣﺤﺎﺳﺒﻪ وارﻳﺎﻧﺲ و ﻳﺎ اﻧﺤﺮاف ﻣﻌﻴﺎر ﻃﺮاﺣﻲ ﺷﺪهاﻧﺪ‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ‬
‫ﻣﻮﺿﻮع‪ ،‬ﺟﺪول ‪ EMP‬را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ .‬ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺗﻌﺪاد ﭘﺮﺳﻨﻠﻲ ﻛﻪ ﻣﻘﺪار‬
‫ﺻﻔﺖ ﺧﺎﺻﻪ ‪ deptno‬در آﻧﻬﺎ ﺑﺮاﺑﺮ ﺑﺎ ‪ 10‬ﺑﺎﺷﺪ را‪ ،‬ﺑﺪﺳﺖ آورﻳﻢ‪ .‬ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح‬
‫ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬
‫‪SELECT Count (*) as Tedad‬‬
‫‪FROM EMP‬‬
‫; ‪WHERE deptno = 10‬‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪179 SQL‬‬

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬

‫‪TEDAD‬‬
‫‪3‬‬

‫ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺑﺎﻻﺗﺮﻳﻦ و ﭘﺎﻳﻴﻦ ﺗﺮﻳﻦ ﻣﻴﺰان ﺣﻘﻮق ﭘﺮﺳﻨﻠﻲ ﻛﻪ ﻣﻘﺪار‬
‫ﺻﻔﺖ ﺧﺎﺻﻪ ‪ deptno‬در آﻧﻬﺎ ﺑﺮاﺑﺮ ﺑﺎ ‪ 10‬ﺑﺎﺷﺪ را‪ ،‬ﺑﺪﺳﺖ آورﻳﻢ‪ .‬ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح‬
‫ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬
‫‪SELECT Max(sal) as maxval , Min(sal) as minval‬‬
‫‪From EMP‬‬
‫; ‪Where deptno =10‬‬

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬


‫‪MAXVAL‬‬ ‫‪MINVAL‬‬
‫‪5000‬‬ ‫‪1300‬‬

‫ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺣﺪاﻗﻞ ﻣﻴﺎﻧﮕﻴﻦ ﺣﻘﻮق را ﺑﺮاي ﭘﺮﺳﻨﻞ ﺗﻌﺮﻳﻒ ﺷﺪه‬
‫در ﺟﺪول ‪ EMP‬ﺑﺮ ﺣﺴﺐ ﺻﻔﺖ ﺧﺎﺻﻪ ‪ deptno‬ﺑﺪﺳﺖ آورﻳﻢ‪ .‬در اﻳﻦ ﺷﺮاﻳﻂ ﻻزم اﺳﺖ‬
‫ﻧﻴﺰ اﺳﺘﻔﺎده ﻧﻤﻮد‪ .‬ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ‬ ‫‪Group By‬‬ ‫ﻋﻼوه ﺑﺮ اﺳﺘﻔﺎده از ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ از‬
‫ﺑﻴﺎﻧﮕﺮ اﻳﻦ درﺧﻮاﺳﺖ ﻣﻲﺑﺎﺷﺪ ﺗﻮﺟﻪ ﻛﻨﻴﺪ‪:‬‬
‫‪Select deptno , Min(sal) as MinVal‬‬
‫‪From emp‬‬
‫‪Group by deptno‬‬

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬

‫‪DEPTNO‬‬ ‫‪MINVAL‬‬
‫‪10‬‬ ‫‪1300‬‬
‫‪20‬‬ ‫‪800‬‬
‫‪30‬‬ ‫‪950‬‬

‫‪HAVING‬‬ ‫‪ 4- 7‬ﻋﻤﻠﮕﺮ‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪180‬‬

‫ﺑﺮاي ﺗﻌﻴﻴﻦ ﺷﺮاﻳﻂ اﺳﺘﻔﺎده‬ ‫‪WHERE‬‬ ‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﺪ ﺗﺎﺑﺤﺎل از ﻋﻤﻠﮕﺮ‬


‫ﻓﻘﻂ ﻗﺎدر ﺑﻮد ﺑﺮ روي ﺳﺘﻮﻧﻬﺎ ﻋﻤﻞ ﻧﻤﺎﻳﺪ‪ ،‬ﺣﺎل آﻧﻜﻪ‬ ‫‪Where‬‬ ‫ﻣﻲ ﻛﺮدﻳﻢ‪ .‬وﻟﻲ ﻋﻤﻠﮕﺮ‬
‫ﮔﺎﻫﻲ ﻻزم اﺳﺖ ﻋﻤﻠﮕﺮ ﺗﻌﻴﻴﻦ ﺷﺮاﻳﻂ ﺑﺮروي ﺳﻄﺮﻫﺎ ﻋﻤﻞ ﻧﻤﺎﻳﺪ‪ .‬اﻳﻦ وﺿﻌﻴﺖ ﺑﻴﺸﺘﺮ‬
‫اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﻢ و ﻳﺎ اﻳﻨﻜﻪ ﺑﺨﻮاﻫﻴﻢ از‬ ‫‪Group By‬‬ ‫زﻣﺎﻧﻲ رخ ﻣﻲ دﻫﺪ ﻛﻪ ﺑﺨﻮاﻫﻴﻢ از‬
‫ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ ﻛﻪ اﺳﺎﺳﺎً ﺑﺮ روي ﺳﻄﺮﻫﺎ ﻋﻤﻞ ﻣﻲ ﻛﻨﻨﺪ‪ ،‬اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﻢ‪ .‬در ﭼﻨﻴﻦ‬
‫اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ‪ .‬ﺑﺮاي درك‬ ‫‪Having‬‬ ‫از ﻛﻠﻤﻪ‬ ‫‪Where‬‬ ‫ﺷﺮاﻳﻄﻲ ﺑﺠﺎي اﺳﺘﻔﺎده از ﻛﻠﻤﻪ‬
‫ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬
‫‪Select deptno‬‬
‫‪From emp‬‬
‫‪Group By deptno‬‬
‫‪Having COUNT (*) > 4‬‬

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬

‫‪DEPTNO‬‬
‫‪20‬‬
‫‪30‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻧﻤﺎﻳﻴﺪ از آﻧﺠﺎﺋﻴﻜﻪ ﺗﻌﺪاد رﻛﻮردﻫﺎﻳﻲ ﻛﻪ در آﻧﻬﺎ ﻣﻘﺪار‬


‫ﺑﺮاﺑﺮ ‪ 10‬ﺑﺎﺷﺪ‪ ،‬ﻛﻤﺘﺮ از ‪ 4‬ﺗﺎ ﻫﺴﺘﻨﺪ‪ ،‬ﻟﺬا رﻛﻮردي ﻛﻪ ﺑﻴﺎﻧﮕﺮ ﻣﻘﺪار ‪ 10‬در ﺳﺘﻮن‬ ‫‪deptno‬‬
‫‪ deptno‬ﺑﺎﺷﺪ در ﺧﺮوﺟﻲ ﻣﺸﺎﻫﺪه ﻧﻤﻲﮔﺮدد‪ .‬ﻳﻜﻲ از ﻧﻜﺎت ﻣﻬﻢ در زﺑﺎن ‪ SQL‬اﻳﻦ اﺳﺖ‬
‫ﻣﻮرد‬ ‫‪SQL‬‬ ‫ﻣﻲﺗﻮاﻧﻨﺪ ﺑﺼﻮرت ﺗﺮﻛﻴﺒﻲ در ﻳﻚ ﻋﺒﺎرت‬ ‫‪Where‬‬ ‫و‬ ‫‪Having‬‬ ‫ﻛﻪ ﻋﻤﻠﮕﺮﻫﺎي‬
‫اﺳﺘﻔﺎده ﻗﺮار ﮔﻴﺮﻧﺪ‪.‬‬

‫‪BETWEEN‬‬ ‫‪ 5- 7‬ﻋﻤﻠﮕﺮ‬
‫ﻳﻜﻲ از وﻳﮋﮔﻲ ﻫﺎي ﻣﻮرد ﻧﻴﺎز ﻛﺎرﺑﺮان‪ ،‬اﻣﻜﺎن اﻧﺘﺨﺎب رﻛﻮردﻫﺎ ﺑﺮ اﺳﺎس ﻣﻘﺎدﻳﺮي‬
‫اﺳﺖ ﻛﻪ در ﻳﻚ ﺑﺎزه ﻗﺮار داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪ .‬ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻟﻴﺴﺖ ﭘﺮﺳﻨﻠﻲ را‬
‫ﺑﺎﺷﺪ‪ .‬ﻋﺒﺎرت زﻳﺮ ﻧﺤﻮه اﺳﺘﻔﺎده از دﺳﺘﻮر‬ ‫‪2000‬‬ ‫ﺑﺨﻮاﻫﻴﻢ ﻛﻪ ﺣﻘﻮق آﻧﻬﺎ ﺑﻴﻦ ‪ 1000‬و‬
‫‪ Between‬را ﻧﺸﺎن ﻣﻲ دﻫﺪ‪:‬‬
‫‪Select ename ,Sal‬‬
‫‪From EMP‬‬
‫; ‪Where sal Between 1000 and 2000‬‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪181 SQL‬‬

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬

‫‪ENAME‬‬ ‫‪SAL‬‬
‫‪ALLEN‬‬ ‫‪1600‬‬
‫‪WARD‬‬ ‫‪1250‬‬
‫‪MARTIN‬‬ ‫‪1250‬‬
‫‪TURNER‬‬ ‫‪1500‬‬
‫‪ADAMS‬‬ ‫‪1100‬‬
‫‪MILLER‬‬ ‫‪1300‬‬

‫‪LIKE‬‬ ‫‪ 6- 7‬ﻋﻤﻠﮕﺮ‬
‫در ﺑﻌﻀﻲ ﻣﻮارد ﻛﺎرﺑﺮان ﻧﻴﺎز دارﻧﺪ ﺗﺎ ﻋﺒﺎرﺗﻲ را در ﺑﻴﻦ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ‬
‫ﺟﺴﺘﺠﻮ ﻧﻤﺎﻳﻨﺪ‪ .‬اﻳﻦ وﺿﻌﻴﺖ ﺑﻴﺸﺘﺮ زﻣﺎﻧﻲ رخ ﻣﻲ دﻫﺪ ﻛﻪ ﻛﺎرﺑﺮان در ﺣﺎل ﻛﺎر ﺑﺎ‬
‫ﻣﻘﺎدﻳﺮ رﺷﺘﻪ اي ﺑﺎﺷﻨﺪ‪ .‬در اﻳﻦ ﺷﺮاﻳﻂ از ﻋﻤﻠﮕﺮ ‪ Like‬اﺳﺘﻔﺎده ﻣﻲﻧﻤﺎﻳﻴﻢ‪.‬‬
‫ﺑﻪ دﻧﺒﺎل اﻓﺮادي ﺑﮕﺮدﻳﻢ ﻛﻪ در‬ ‫‪EMP‬‬ ‫ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ در ﺟﺪول‬
‫آﻧﻬﺎ ﻛﻠﻤﻪ ’‪ ‘AM‬ﺑﺎﺷﺪ‪ .‬ﻋﺒﺎرت زﻳﺮ ﻧﺤﻮه ﻧﻮﺷﺘﻦ ﭼﻨﻴﻦ درﺧﻮاﺳﺘﻲ‬ ‫‪ename‬‬ ‫ﺻﻔﺖ ﺧﺎﺻﻪ‬
‫را ﻧﺸﺎن ﻣﻲدﻫﺪ‪:‬‬

‫‪Select ename ,deptno, sal‬‬


‫‪From emp‬‬
‫' ‪' ; % AM % Where ename LIKE‬‬

‫“ ‪“ AM‬‬ ‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﻋﻼﻣﺖ " ‪ " %‬ﻧﺸﺎن ﻣﻲدﻫﺪ ﻛﻪ ﻛﻠﻤﻪ‬
‫ﻣﻲﺗﻮاﻧﺪ در ﺑﻴﻦ ﻣﻘﺎدﻳﺮ ﻣﻮﺟﻮد ﺑﺎﺷﺪ و ﻻزم ﻧﻴﺴﺖ ﺣﺘﻤﺎ در اﺑﺘﺪا ﻳﺎ اﻧﺘﻬﺎي آن ﻣﻘﺎدﻳﺮ‬
‫ﺑﺎﺷﺪ‪ .‬ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬

‫‪ENAME‬‬ ‫‪DEPTNO‬‬ ‫‪SAL‬‬


‫‪ADAMS‬‬ ‫‪20‬‬ ‫‪1100‬‬
‫‪JAMES‬‬ ‫‪30‬‬ ‫‪950‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪182‬‬

‫‪1‬‬
‫‪ - 8‬اﺳﺘﻔﺎده از ﭘﺮس و ﺟﻮﻫﺎي ﺗﻮدرﺗﻮ‬
‫در ﺑﺴﻴﺎري از ﻣﻮارد ﻣﻘﺎدﻳﺮ ﻣﻮرد ﻧﻈﺮ در ﻋﺒﺎرت ‪ where‬ﺧﻮد ﺑﺼﻮرت ﻣﺸﺨﺺ ﻧﺒﻮده‬
‫و ﺑﺮ اﺳﺎس ﻳﻚ ﻋﺒﺎرت ﭘﺮس و ﺟﻮس دﻳﮕﺮ ﺑﺪﺳﺖ ﻣﻲ اﻳﻨﺪ‪ .‬در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﻻزم‬
‫اﺳﺖ ﺗﺎ ﺑﺠﺎي اﺳﺘﻔﺎده از ﻋﺒﺎرات ﺟﺪاﮔﺎﻧﻪ‪ ،‬از ﻋﺒﺎرات ﺗﻮدرﺗﻮ اﺳﺘﻔﺎده ﻛﺮد ﺗﺎ ﺧﺮوﺟﻲ‬
‫ﻫﺮ ﻳﻚ از ﻋﺒﺎرات دروﻧﻲ ﺑﻌﻨﻮان ﻣﻘﺎدﻳﺮ ﻣﻮرد اﺳﺘﻔﺎده در ﻋﺒﺎرت ﺑﻴﺮوﻧﻲ ﺗﺮ در ﻧﻈﺮ‬
‫ﮔﺮﻓﺘﻪ ﺷﻮد‪ .‬در اداﻣﻪ اﻧﻮاﻋﻲ از ﻋﺒﺎرات ﺗﻮدرﺗﻮ را ﻧﺸﺎن ﺧﻮاﻫﻴﻢ داد‪.‬‬

‫‪ 1- 8‬اﺳﺘﻔﺎده از زﻳﺮﭘﺮﺳﺶﻫﺎ ‪) 2‬ﭘﺮﺳﺶﻫﺎي ﻓﺮﻋﻲ(‬


‫ﻳﻜﻲ از ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان اﻣﻜﺎن ﻃﺮح ﭘﺮﺳﺸﻲ درون ﭘﺮﺳﺶ دﻳﮕﺮ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻫﺮ ﮔﺎه‬
‫ﺑﺨﻮاﻫﻴﻢ ﭘﺮﺳﺸﻲ را درون ﭘﺮﺳﺸﻲ دﻳﮕﺮ ﻣﻄﺮح ﻧﻤﺎﻳﻴﻢ‪ ،‬ﺑﻪ آن زﻳﺮ ﭘﺮﺳﺶ ﻣﻲ ﮔﻮﻳﻨﺪ‪.‬‬
‫ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻫﺮ ﭘﺮﺳﺸﻲ ﭼﻪ ﺑﺼﻮرت ﭘﺮﺳﺶ ﺑﻴﺮوﻧﻲ ﺑﺎﺷﺪ و ﻳﺎ ﺑﺼﻮرت ﭘﺮﺳﺶ‬
‫آﻏﺎز ﮔﺮدد‪ .‬زﻳﺮ ﭘﺮﺳﺶ ﻫﺎ ﻣﻌﻤﻮﻻً ﺑﻌﻨﻮان‬ ‫‪Select‬‬ ‫دروﻧﻲ‪ ،‬ﻻزم اﺳﺖ ﻛﻪ ﺑﺎ ﻋﺒﺎرت‬
‫ﻗﺴﻤﺘﻲ از ﻋﺒﺎرت ‪ Where‬ﺑﻜﺎر ﻣﻲروﻧﺪ‪.‬‬
‫‪3‬‬
‫ﻋﺒﺎراﺗﻲ ﻛﻪ ﺑﺼﻮرت زﻳﺮﭘﺮﺳﺶ ﺑﺎﺷﻨﺪ ﻣﻌﻤﻮﻻً ﻣﻲﺗﻮاﻧﻨﺪ ﺑﺼﻮرت ﺗﻮدرﺗﻮ ﻧﻮﺷﺘﻪ‬
‫ﺷﻮﻧﺪ‪ .‬در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﺮاي اﺟﺮاي ﻫﺮ ﻋﺒﺎرت ﺑﻴﺮوﻧﻲ ﻻزم اﺳﺖ اﺑﺘﺪا ﻋﺒﺎرت‬
‫ﺟﺴﺘﺠﻮي دروﻧﻲ ﻣﺤﺎﺳﺒﻪ ﺷﺪه و ﺳﭙﺲ ﻋﺒﺎرت ﺑﻴﺮوﻧﻲ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﮔﻴﺮد‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ‬
‫دﻳﮕﺮ ﻣﺴﻴﺮ ﺣﻞ در ﻋﺒﺎرات ﺗﻮدرﺗﻮ از دروﻧﻲ ﺗﺮﻳﻦ ﻋﺒﺎرت ﺑﻪ ﺳﻤﺖ ﺑﻴﺮوﻧﻲ ﺗﺮﻳﻦ ﻋﺒﺎرت‬
‫ﺧﻮاﻫﺪ ﺑﻮد‪ .‬ﻋﺒﺎرت زﻳﺮ ﺑﻌﻨﻮان ﻧﻤﻮﻧﻪاي از اﻳﻦ ﻧﻮع ﭘﺮﺳﺶﻫﺎ ﻣﻲﺑﺎﺷﺪ‪:‬‬

‫‪Select ename,deptno,sal‬‬
‫‪From EMP‬‬
‫‪Where Sal > (Select AVG (sal) as Xval‬‬
‫)‪From EMP‬‬

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫‪1. n es t e d Q u e r i e s‬‬
‫‪2. Su b q u e ry‬‬
‫‪3. N es t e d‬‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪183 SQL‬‬

‫‪ENAME‬‬ ‫‪DEPTNO‬‬ ‫‪SAL‬‬


‫‪JONES‬‬ ‫‪20‬‬ ‫‪2975‬‬
‫‪BLAKE‬‬ ‫‪30‬‬ ‫‪2850‬‬
‫‪CLARK‬‬ ‫‪10‬‬ ‫‪2450‬‬
‫‪SCOTT‬‬ ‫‪20‬‬ ‫‪3000‬‬
‫‪KING‬‬ ‫‪10‬‬ ‫‪5000‬‬
‫‪FORD‬‬ ‫‪20‬‬ ‫‪3000‬‬

‫‪IN‬‬ ‫‪ 2- 8‬ﻋﻤﻠﮕﺮ‬
‫ﻣﻌﻤﻮﻻً در زﻳﺮ ﭘﺮﺳﺶ ﻫﺎ ﺷﺮاﻳﻂ ﺑﮕﻮﻧﻪ اﻳﺴﺖ ﻛﻪ ﻛﺎرﺑﺮ ﻣﻲ ﺧﻮاﻫﺪ ﻣﻘﺪاري را از ﺑﻴﻦ‬
‫اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد‪.‬‬ ‫‪IN‬‬ ‫ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺑﺪﺳﺖ آورد‪ .‬ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر از ﻋﻤﻠﮕﺮ‬
‫ﻣﻲ ﺑﺎﺷﺪ ﺑﺎ اﻳﻦ ﺗﻔﺎوت ﻛﻪ ﻣﻘﺪاري را‬ ‫‪Between‬‬ ‫اﻳﻦ ﻋﻤﻠﮕﺮ ﺗﻘﺮﻳﺒﺎ ﺷﺒﻴﻪ ﺑﻪ ﻋﻤﻠﮕﺮ‬
‫درون ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﻣﻮرد ﺟﺴﺘﺠﻮ ﻗﺮار ﻣﻲ دﻫﺪ‪ .‬ﻣﺜﺎل زﻳﺮ ﻧﻤﻮﻧﻪ اﻳﺴﺖ از‬
‫ﻋﺒﺎراﺗﻲ ﻛﻪ ﺑﺪﻳﻦ ﺻﻮرت ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮﻧﺪ‪:‬‬
‫‪Select ename,sal‬‬
‫‪From emp‬‬
‫‪Where empno IN‬‬
‫‪(Select empno‬‬
‫‪From emp‬‬
‫)‪Where sal >2000‬‬

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺻﻮرت ﺟﺪول زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫‪ENAME‬‬ ‫‪SAL‬‬
‫‪JONES‬‬ ‫‪2975‬‬
‫‪BLAKE‬‬ ‫‪2850‬‬
‫‪CLARK‬‬ ‫‪2450‬‬
‫‪SCOTT‬‬ ‫‪3000‬‬
‫‪KING‬‬ ‫‪5000‬‬
‫‪FORD‬‬ ‫‪3000‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪184‬‬

‫ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﺳﺌﻮال ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ ﻋﺒﺎرت ﻣﺬﻛﻮر را ﻣﻲﺗﻮان ﺑﺼﻮرﺗﻲ‬
‫ﻧﺒﺎﺷﺪ‪ .‬در اﻳﻨﺠﺎ ﻻزم اﺳﺖ‬ ‫‪IN‬‬ ‫ﺳﺎدهﺗﺮ ﻧﻴﺰ ﻧﻮﺷﺖ ﻛﻪ در آن ﻧﻴﺎزي ﺑﻪ اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ‬
‫ﮔﻔﺘﻪ ﺷﻮد ﻛﻪ ﻋﺒﺎرت ﻣﺬﻛﻮر ﻓﻘﻂ ﺟﻬﺖ ﻧﺸﺎن دادن ﻧﺤﻮه اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ ‪ IN‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫ﻳﻜﻲ از ﻧﻜﺎت ﻛﻠﻴﺪي در اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ ﻣﺬﻛﻮر اﻳﻦ اﺳﺖ ﻛﻪ ﺑﺎﻳﺪ زﻳﺮﭘﺮﺳﺶ‬
‫ﺟﻠﻮي ﻋﻤﻠﮕﺮ ‪ IN‬ﺣﺘﻤﺎ داراي ﻳﻚ ﺳﺘﻮن ﻫﻤﻨﻮع ﺑﺎ ﺳﺘﻮن ﻣﻮرد ﭘﺮﺳﺶ ﺑﺎﺷﺪ و ﻧﻤﻲﺗﻮان‬
‫در زﻳﺮﭘﺮﺳﺶ از ﻫﺮ ﺳﺘﻮﻧﻲ ﺑﻌﻨﻮان ﺧﺮوﺟﻲ اﺳﺘﻔﺎده ﻛﺮد‪.‬‬

‫‪EXISTS‬‬ ‫‪ 3- 8‬ﻋﻤﻠﮕﺮ‬
‫ﻳﻜﻲ دﻳﮕﺮ از ﻋﺒﺎرات ﻣﻮرد اﺳﺘﻔﺎده در ﭘﺮس و ﺟﻮﻫﺎي ﺗﻮدرﺗﻮ‪ ،‬اﺳﺘﻔﺎده از ﻛﻠﻤﻪ‬
‫‪IN‬‬ ‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬اﻳﻦ دﺳﺘﻮر ﻧﻴﺰ ﺗﺎ ﺣﺪودي ﺷﺒﻴﻪ ﺑﻪ ﻛﻠﻤﻪ ﻛﻠﻴﺪي‬ ‫‪EXISTS‬‬ ‫ﻛﻠﻴﺪي‬
‫ﺑﻪ ﻧﺪرت اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪ .‬در ﻫﻨﮕﺎم اﺳﺘﻔﺎده از‬ ‫‪EXISTS‬‬ ‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻣﻌﻤﻮﻻً از ﻋﻤﻠﮕﺮ‬
‫ﻋﺒﺎرت دروﻧﻲ از ﻣﻘﺎدﻳﺮ ﻋﺒﺎرت ﺑﻴﺮوﻧﻲ‬ ‫‪Where‬‬ ‫اﻳﻦ ﻋﻤﻠﮕﺮ ﻣﻲ ﺗﻮان در ﻗﺴﻤﺖ‬
‫ﺗﺎ ﺣﺪودي ﺑﺎ ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻋﺒﺎرات ﭘﺮس‬ ‫‪EXISTS‬‬ ‫اﺳﺘﻔﺎده ﻛﺮد‪ .‬ﻋﻤﻠﮕﺮ‬
‫و ﺟﻮي ﺗﻮدرﺗﻮ ﻣﺘﻔﺎوت ﻣﻲ ﺑﺎﺷﺪ‪ .‬زﻳﺮا ﺗﺮﻛﻴﺒﻲ از ﻣﻘﺎدﻳﺮ ﻣﺮﺑﻮط ﺑﻪ ﻋﺒﺎرات ﺑﻴﺮوﻧﻲ و‬
‫دروﻧﻲ درون ﺷﺮط ﻋﺒﺎرات دروﻧﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد‪ .‬ﺑﺮاي ﻣﺜﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﺗﻮﺟﻪ‬
‫از راﺑﻄﻪ ﺑﻴﺮوﻧﻲ در‬ ‫‪STID‬‬ ‫ﻛﻨﻴﺪ‪ .‬ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﺪ ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ‬
‫ﻗﺴﻤﺖ ‪ WHERE‬ﻋﺒﺎرت دروﻧﻲ ﻣﻮرد ﻣﻘﺎﻳﺴﻪ ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ‪.‬‬

‫‪SELECT STNAME‬‬
‫‪FROM STT‬‬
‫* ‪WHERE EXISTS (SELECT‬‬
‫‪FROM STCOT‬‬
‫‪WHERE STCOT.STID = STT.STID‬‬
‫)'‪AND COID = '1234‬‬

‫‪ - 9‬دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮز دﺳﺘﺮﺳﻲ‬


‫دﺳﺘﻮرات ﻛﻨﺘﺮل ﻛﻨﻨﺪه ﻣﺠﻮز دﺳﺘﺮﺳﻲ در ﭘﺎﻳﮕﺎه ﻫﺎي داده ﺑﻪ دو ﺻﻮرت ﻛﻠﻲ زﻳﺮ‬
‫ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮد‪:‬‬
‫دﺳﺘﺮﺳﻲ ﺑﻪ دادهﻫﺎ‬ ‫•‬
‫دﺳﺘﺮﺳﻲ ﺑﻪ اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺘﻲ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪185 SQL‬‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﺑﺤﺚ دﺳﺘﺮﺳﻲ ﺑﻪ اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺘﻲ در اﻳﻦ ﻗﺴﻤﺖ از ﻛﺘﺎب ﻣﻄﺮح‬
‫ﻧﻴﺴﺖ‪ ،‬ﻟﺬا ﺻﺮﻓﺎ ﻛﻨﺘﺮل دﺳﺘﺮﺳﻲ ﺑﻪ داده ﻫﺎ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد‪ .‬دﺳﺘﻮرات‬
‫ﻛﻨﺘﺮل ﻛﻨﻨﺪه دﺳﺘﺮﺳﻲ ﺑﻪ دادهﻫﺎ ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬
‫‪1‬‬
‫دﺳﺘﻮر اﻋﻄﺎ اﺧﺘﻴﺎرات‬ ‫•‬
‫‪2‬‬
‫دﺳﺘﻮر ﻟﻐﻮ اﺧﺘﻴﺎرات‬ ‫•‬

‫‪ 1- 9‬دﺳﺘﻮر اﻋﻄﺎ اﺧﺘﻴﺎرات‬


‫اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪ .‬ﺷﻜﻞ ﻛﻠﻲ اﻳﻦ دﺳﺘﻮر ﺑﻪ ﺷﺮح‬ ‫‪GRANT‬‬ ‫ﺑﺮاي اﻋﻄﺎ اﻣﺘﻴﺎز از دﺳﺘﻮر‬
‫زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬
‫‪GRANT Privileges | ALL Privileges‬‬
‫‪ON Object‬‬
‫;]‪TO Users [WITH GRANT OPTION‬‬

‫در ﻗﺴﻤﺖ ‪ Privileges‬از ﻳﻜﻲ ﻳﺎ ﺗﺮﻛﻴﺒﻲ از ﻛﻠﻤﺎت زﻳﺮ اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد‪:‬‬

‫‪INSERT‬‬
‫‪DELETE‬‬
‫‪UPDATE‬‬
‫‪SELECT‬‬

‫ﻳﻚ ﻛﺎرﺑﺮ اﻧﺘﺨﺎب ﺷﺪه و در‬ ‫‪Schema‬‬ ‫ﻳﻜﻲ از اﺷﻴﺎء ﻣﻮﺟﻮد در‬ ‫‪Object‬‬ ‫در ﻗﺴﻤﺖ‬
‫ﻗﺴﻤﺖ ‪ Users‬ﻧﺎم ﻳﻜﻲ از ﻛﺎرﺑﺮان ﭘﺎﻳﮕﺎه داده اﻧﺘﺨﺎب ﻣﻲ ﮔﺮدد‪.‬‬
‫در ﻣﻮاردي ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮد ﻛﻪ‬ ‫‪WITH GRANT OPTION‬‬ ‫ﻋﺒﺎرت‬
‫ﺑﺨﻮاﻫﻴﻢ ﺟﺪا از اﻋﻄﺎ اﺧﺘﻴﺎرات ﻣﺬﻛﻮر ﺑﻪ ﻳﻚ ﻛﺎرﺑﺮ‪ ،‬ﺑﻪ او اﺟﺎزه دادن ﻫﻤﺎن اﺧﺘﻴﺎرات ﺑﻪ‬
‫ﻛﺎرﺑﺮ دﻳﮕﺮي را ﻧﻴﺰ ﺑﺪﻫﻴﻢ‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﺑﻪ ﻋﺒﺎرات زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ‪:‬‬

‫‪Grant delete,update,insert‬‬
‫‪ON EMP‬‬
‫;‪TO ALI‬‬
‫‪Grant select‬‬
‫‪On dept‬‬
‫;]‪TO PERSON[With Grant Option‬‬

‫‪1. G ra n t‬‬
‫‪2. R e vo ke‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪186‬‬

‫‪ 2- 9‬دﺳﺘﻮر ﻟﻐﻮ اﺧﺘﻴﺎرات‬


‫اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪ .‬ﺷﻜﻞ ﻛﻠﻲ اﻳﻦ دﺳﺘﻮر ﺑﻪ ﺷﺮح‬ ‫‪REVOKE‬‬ ‫ﺑﺮاي ﻟﻐﻮ اﻣﺘﻴﺎز از دﺳﺘﻮر‬
‫زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫‪REVOKE Privileges | ALL Privileges‬‬


‫‪ON Object‬‬
‫‪FROM Users‬‬
‫در ﻗﺴﻤﺖ ‪ Privileges‬از ﻳﻜﻲ ﻳﺎ ﺗﺮﻛﻴﺒﻲ از ﻛﻠﻤﺎت زﻳﺮ اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد‪:‬‬

‫‪INSERT‬‬
‫‪DELETE‬‬
‫‪UPDATE‬‬
‫‪SELECT‬‬

‫ﻳﻚ ﻛﺎرﺑﺮ اﻧﺘﺨﺎب ﺷﺪه و در‬ ‫‪Schema‬‬ ‫ﻳﻜﻲ از اﺷﻴﺎء ﻣﻮﺟﻮد در‬ ‫‪Object‬‬ ‫در ﻗﺴﻤﺖ‬
‫ﻧﺎم ﻳﻜﻲ از ﻛﺎرﺑﺮان ﭘﺎﻳﮕﺎه داده اﻧﺘﺨﺎب ﻣﻲ ﮔﺮدد‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ‬ ‫‪Users‬‬ ‫ﻗﺴﻤﺖ‬
‫ﻣﻮﺿﻮع ﺑﻪ ﻋﺒﺎرات زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ‪:‬‬

‫‪Revoke select‬‬
‫‪On DEPT‬‬
‫;‪FROM ALI‬‬

‫‪SQL3‬‬ ‫‪ -10‬اﻣﻜﺎﻧﺎت و وﻳﮋﮔﻲﻫﺎي ‪ SQL2‬و‬


‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻮﺿﻴﺤﺎت اراﺋﻪ ﺷﺪه در ﺧﺼﻮص زﺑﺎن ‪ ،SQL‬در اداﻣﻪ درﺧﺼﻮص‬
‫ﺑﻪ اﺧﺘﺼﺎر ﻣﻄﺎﻟﺒﻲ ﺑﻴﺎن‬ ‫‪SQL3‬‬ ‫و‬ ‫‪SQL2‬‬ ‫اﻣﻜﺎﻧﺎت و وﻳﮋﮔﻲ ﻫﺎي دو زﺑﺎن اﺳﺘﺎﻧﺪارد‬
‫ﺷﺪه اﺳﺖ‪.‬‬

‫‪SQL2‬‬ ‫‪ 1- 10‬اﻣﻜﺎﻧﺎت‬
‫اﺳﺘﺎﻧﺪارد ﻣﻌﺮﻓﻲ ﮔﺮدﻳﺪ‪.‬‬ ‫‪SQL‬‬ ‫در ﺳﺎل ‪ 1992‬ﻣﻴﻼدي ﺑﻪ ﻋﻨﻮان‬ ‫‪SQL‬‬ ‫اﻳﻦ ﻧﺴﺨﻪ از‬
‫ﺑﻮد‪ .‬در اﻳﻦ دﺳﺘﻮر‬ ‫‪SQL1‬‬ ‫اﻳﻦ ﻧﺴﺨﻪ در واﻗﻊ ﻧﺴﺨﻪ ﺗﺼﺤﻴﺢ ﺷﺪه و ﻛﺎﻣﻠﺘﺮ ﻧﺴﺨﻪ‬
‫ﻛﺎﻣﻞ ﺗﺮ ﺷﺪﻧﺪ‪.‬‬ ‫‪SQL1‬‬ ‫اﻓﺰوده ﺷﺪه و ﻳﺎ ﺑﻌﻀﻲ از دﺳﺘﻮرات‬ ‫‪SQL1‬‬ ‫اﻣﻜﺎﻧﺎﺗﻲ ﺑﻪ ﻧﺴﺨﻪ‬
‫در اداﻣﻪ ﺗﻐﻴﻴﺮات اﻋﻤﺎل ﺷﺪه ﺑﻪ اﺧﺘﺼﺎر آﻣﺪه اﺳﺖ‪:‬‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪187 SQL‬‬

‫‪Domain‬‬ ‫اﻓﺰودن دﺳﺘﻮرات ﻣﺮﺑﻮط ﺑﻪ اﻳﺠﺎد‪ ،‬اﺻﻼًح و ﺣﺬف‬ ‫•‬


‫ﺗﻜﻤﻴﻞ دﺳﺘﻮرات ﻣﺮﺑﻮط ﺑﻪ اﻳﺠﺎد و ﺣﺬف ﺟﺪول‬ ‫•‬
‫اﻓﺰودن دﺳﺘﻮر اﺻﻼًح ﺟﺪول‬ ‫•‬
‫اﻓﺰودن دﺳﺘﻮر ﺗﻌﺮﻳﻒ ﺟﺪول ﻣﻮﻗﺖ‬ ‫•‬
‫اﻣﻜﺎن ﻧﻮﺷﺘﻦ ‪.Select‬از ﻳﻚ ‪ Select‬دﻳﮕﺮ‬ ‫•‬
‫‪WHERE‬‬ ‫اﻣﻜﺎن ﻧﻮﺷﺘﻦ ‪ Select‬ﺑﻌﺪ از‬ ‫•‬
‫‪JOIN‬‬ ‫ﺗﻜﻤﻴﻞ دﺳﺘﻮر‬ ‫•‬
‫اﺻﻼًح و ﺗﻜﻤﻴﻞ ﻋﻤﻠﮕﺮﻫﺎي ﺧﺎص ﻣﺎﻧﻨﺪ ﻓﺮااﺟﺘﻤﺎع‪ ،‬اﺳﻜﺎﻟﺮ و‪...‬‬ ‫•‬
‫اﻓﺰودن اﻣﻜﺎﻧﺎت ﺟﺎﻣﻌﻴﺘﻲ و اﻳﻤﻨﻲ و‪...‬‬ ‫•‬

‫‪SQL3‬‬ ‫‪ 2-10‬اﻣﻜﺎﻧﺎت‬
‫‪1‬‬
‫ﺗﻮﻟﻴﺪ ﺷﺪه اﺳﺖ‪ .‬در واﻗﻊ‬ ‫‪ORDBMS‬‬ ‫ﺑﺮاي ﻣﺤﻴﻂ ﻫﺎي‬ ‫‪SQL‬‬ ‫اﻳﻦ ﻧﺴﺨﻪ از‬
‫ﻫﻴﭽﻴﻚ‬ ‫‪OODBMS‬‬ ‫و‬ ‫‪RDBMS‬‬ ‫ﭘﮋوﻫﺸﮕﺮان ﺑﻪ اﻳﻦ ﻧﺘﻴﺠﻪ رﺳﻴﺪﻧﺪ ﻛﻪ ﺗﻜﻨﻮﻟﻮژي ﻫﺎي‬
‫ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻛﺎﻣﻞ ﻧﺒﻮده و ﺻﺮﻓﺎ ﺗﺮﻛﻴﺐ اﻳﻦ دو ﺗﻜﻨﻮﻟﻮژي ﭘﺎﺳﺨﮕﻮي ﻧﻴﺎزﻫﺎي آﺗﻲ‬
‫اراﺋﻪ ﮔﺮدد ﺗﺎ ﭘﺎﺳﺨﮕﻮي‬ ‫‪SQL‬‬ ‫ﺧﻮاﻫﺪ ﺑﻮد‪ .‬ﻟﺬا ﺗﺼﻤﻴﻢ ﮔﺮﻓﺘﻪ ﺷﺪ ﻧﺴﺨﻪ اي از‬
‫ﻧﻴﺎزﻫﺎي آﺗﻲ ﺑﺎﺷﺪ‪ .‬دراﻳﻦ ﻧﺴﺨﻪ اﻣﻜﺎﻧﺎت زﻳﺮ اﻓﺰوده ﺷﺪه اﻧﺪ‪.‬‬
‫اﻳﺠﺎد اﻣﻜﺎن ﺗﻌﺮﻳﻒ اﻧﻮاع دادهﻫﺎي ﺟﺪﻳﺪ‪ .‬ﻣﺪل داده اي ﻗﻮي ﺗﺮ ﺑﺮاي ﻧﻤﺎﻳﺶ‬ ‫•‬
‫دادهﻫﺎﻳﻲ ﻛﻪ اﻣﻜﺎن ﻧﻤﺎﻳﺶ آﻧﻬﺎ ﺑﺎ ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ وﺟﻮد ﻧﺪارد‪.‬‬
‫را از ﻧﻈﺮ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي و ﻣﺤﺎﺳﺒﺎﺗﻲ‬ ‫‪SQL‬‬ ‫روﻳﻪ اي ﺷﺪن زﺑﺎن‪ .‬ﺑﻪ ﻧﺤﻮي ﻛﻪ‬ ‫•‬
‫ﻛﺎﻣﻞ و اﻧﺮا ﺑﻪ ﻳﻚ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﺗﺒﺪﻳﻞ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪2‬‬
‫اﻳﺠﺎد اﻣﻜﺎن راهاﻧﺪاز‪ .‬راهاﻧﺪاز ﻗﺎﻋﺪه )ﻣﺤﺪودﻳﺖ( و ﻳﺎ ﻗﻮاﻋﺪي اﺳﺖ ﻛﻪ ﻗﺒﻞ ﻳﺎ‬ ‫•‬
‫ﺑﻌﺪ از ﺑﺮوز ﻳﻚ روﻳﺪاد در ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﻳﺎ ﺑﺠﺎي ﻳﻚ روﻳﺪاد ﺑﺎﻳﺪ اﻋﻤﺎل‬
‫ﮔﺮدد‪ .‬اﻳﻦ ﻗﺎﻋﺪه ﻳﺎ ﻣﺤﺪودﻳﺖ در ﺳﻄﺢ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ‪ ،‬ﺑﺼﻮرت روﻳﻪ اي از‬
‫ﭘﻴﺶ ﺗﻌﺮﻳﻒ ﺷﺪه اﺳﺖ ﻛﻪ ﺑﺼﻮرت ﺷﺮﻃﻲ ﻳﺎ ﻏﻴﺮ ﺷﺮﻃﻲ‪ ،‬ﻗﺒﻞ ﻳﺎ ﺑﻌﺪ از اﻧﺠﺎم‬
‫ﻳﻚ ﻋﻤﻞ در ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺼﻮرت اﺗﻮﻣﺎﺗﻴﻚ اﺟﺮا ﻣﻲﺷﻮد‬

‫‪1. O b j e c t R e l a t i o n al D a ta b a s e M a n a ge me n t Sy s t e m‬‬
‫‪2. T ri gge r‬‬
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 188

‫ﺗﻤﺮﻳﻨﺎت‬

‫ راﺑﻄﻪ ﻫﺎي زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‬:1 ‫ﺗﻤﺮﻳﻦ‬

Student (SID, Name, Major, Gradelevel, Age)


Class (Name, Time, Room)
Enrollment (Student Number, Class Name, Polition Number)
Junior (Snum, Name, Major)
Honor-Student (Number, Name, Interset)
Facuity (FID, Name, Department)

STUDENT
SID Name Major Gradelevel Age
100 J Hestory G 21
150 P Acount S 19
200 B Math G 50
250 G Hestory S 50
300 B Acount S 41
350 RU Math J 20
400 R Acount F 18
450 J Hestory S 24

Enrollment
Student Class Polition
Num Name Num
100 BD445 1
150 BA200 1
200 BD445 2
250 CS250 1
300 CS150 1
www.PDFgozar.com

189 SQL ‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي‬

350 BA200 2
400 BF410 1
450 CS250 2

Class
Name Time Room
BA200 F9 110
BD445 F3 213
BF410 F8 213
CS150 F3 314
CS250 F12 210

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرات زﻳﺮ را ﺑﺪت آورﻳﺪ؟‬

SELECT Name,Major,Age
FROM Student
WHERE Major = ' Acount'
ORDER by Name
SELECT Name,Major,Age
FROM Student
WHERE Gradelevel IN ['F', 'S']

SELECT Count (*)


FROM Student
SELECT Count (DISTINCT Major)
FROM Student

SELECT Major, Count(*)


FROM Student
Order By Major
SELECT Major, Count(*)
FROM Student
GROUP By Major
HAVING Count (*) > 2

SELECT Major, AVG(Age)


FROM Student
WHERE Gradelevel = 'S'
GROUP By Major
HAVING COUNT (*) > 1
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 190

SELECT Name
FROM Student
WHERE SID IN
(SELECT Student Number
FROM Enrollment
WHERE Class Name = '445' )

:2 ‫ﺗﻤﺮﻳﻦ‬
‫ ﺑﺮ‬، ‫ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﻗﻄﻌﺎت و ﭘﺮوژهﻫﺎ ﺑﻪ ﺷﺮح زﻳﺮ ﺗﻨﻈﻴﻢ ﺷﺪه اﺳﺖ‬
‫اﺳﺎس آﻧﻬﺎ ﺑﻪ ﺳﻮاﻻت ﻣﻄﺮح ﺷﺪه ﭘﺎﺳﺦ دﻫﻴﺪ ؟‬

S { S# , SNAME , STATUS , CITY }


PRIMARY KEY { S# }
P { P# , PNAME , COLOR , WEIGHT , CITY }
PRIMARY KEY { P# }
J { J# , JNAME , CITY }
PRIMARY KEY { J# }
SPJ { S# , P# , J# , QTY }
PRIMARY KEY { S# , P# , J# }
FOREIGN KEY { S# } REFRENCES S
FOREIGN KEY { P# } REFRENCES P
FOREIGN KEY { J# } REFRENCES J

‫ﺷﻤﺎره ﻗﻄﻌﺎﺗﻲ را ﻣﺸﺨﺺ ﻛﻨﻴﺪ ﻛﻪ ﺑﻴﺶ از ﻳﻚ ﻋﺮﺿﻪ ﻛﻨﻨﺪه آﻧﻬﺎ را ﻋﺮﺿﻪ ﻣﻲ ﻛﻨﻨﺪ؟‬
‫ را ﻋﺮﺿﻪ ﻧﻤﻲ ﻛﻨﻨﺪ ؟‬P2 ‫اﺳﺎﻣﻲ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ ﻛﻪ ﻗﻄﻌﻪ‬
‫‪www.PDFgozar.com‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪191 SQL‬‬


www.PDFgozar.com
‫‪www.PDFgozar.com‬‬

‫ﻓﺼﻞ ‪۹‬‬

‫ﻧﺮﻣﺎﻝ ﺳﺎﺯﻱ‬

‫ﻫﺪف ﻛﻠﻲ‬
‫در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﻌﺮﻳﻔﻲ از راﺑﻄﻪ ﻧﺮﻣﺎل را اراﺋﻪ ﻛﺮده و ﻣﻌﺎﻳﺐ و ﻣﺰاﻳﺎي راﺑﻄﻪ ﻫﺎي‬
‫ﻧﺮﻣﺎل و ﻏﻴﺮﻧﺮﻣﺎل را ﺑﻴﺎن ﺧﻮاﻫﻴﻢ ﻛﺮد‪ .‬ﺳﭙﺲ ﺑﺎ ﻣﻔﻬﻮم ﺗﺌﻮري واﺑﺴﺘﮕﻲ و در اداﻣﻪ‬
‫ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‪ ،‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ و ﺣﺎﻟﺘﻬﺎي واﺑﺴﺘﮕﻲ آﺷﻨﺎ ﺧﻮاﻫﻴﻢ‬
‫ﺷﺪ‪ .‬در اداﻣﻪ ﻣﻔﻬﻮم ﻧﺮﻣﺎل ﺳﺎزي و اﻧﻮاع ﺻﻮرت ﻫﺎي ﻧﺮﻣﺎل راﺑﻄﻪ ﻫﺎ را ﺑﻪ ﺗﻔﺼﻴﻞ‬
‫ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬
‫دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬
‫ﺗﻌﺮﻳﻒ راﺑﻄﻪ ﻧﺮﻣﺎل‬ ‫•‬
‫ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪﻫﺎي ﻧﺮﻣﺎل‬ ‫•‬
‫ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪﻫﺎي ﻏﻴﺮ ﻧﺮﻣﺎل‬ ‫•‬
‫ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ و اﻧﻮاع واﺑﺴﺘﮕﻲﻫﺎ‬ ‫•‬
‫ﺣﺎﻟﺘﻬﺎي واﺑﺴﺘﮕﻲ‬ ‫•‬
‫ﻧﻤﻮدار واﺑﺴﺘﮕﻲﻫﺎي ﺗﺎﺑﻌﻲ‬ ‫•‬
‫ﺻﻮرتﻫﺎي ﻧﺮﻣﺎل‬ ‫•‬
‫ﻓﺮاﻳﻨﺪ ﻧﺮﻣﺎل ﺳﺎزي‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪194‬‬

‫‪ -1‬ﺗﻌﺮﻳﻒ راﺑﻄﻪ ﻧﺮﻣﺎل‬


‫ﻳﻜﻲ از ﻣﻬﻢ ﺗﺮﻳﻦ ﻣﺒﺎﺣﺚ در ﭘﺎﻳﮕﺎه ﻫﺎي داده راﺑﻄﻪ اي‪ ،‬ﺑﺤﺚ ﻧﺮﻣﺎل ﺳﺎزي راﺑﻄﻪ ﻫﺎ‬
‫اﺳﺖ‪ .‬ﺣﺎل اﻳﻦ ﺳﺌﻮال ﺑﻪ ذﻫﻦ ﻣﻲ رﺳﺪ ﻛﻪ اﺻﻮﻻ راﺑﻄﻪ ﻧﺮﻣﺎل ﭼﻴﺴﺖ‪ .‬در اداﻣﻪ‬
‫ﺗﻌﺎرﻳﻔﻲ از راﺑﻄﻪ ﻧﺮﻣﺎل را اراﺋﻪ ﻣﻲ ﻛﻨﻴﻢ‪.‬‬
‫ﺗﻌﺮﻳﻒ اول‪ :‬راﺑﻄﻪ ﻧﺮﻣﺎل راﺑﻄﻪاي اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮ ﺗﻤﺎم ﺻﻔﺎﺗﺶ ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ‬ ‫•‬

‫ﺑﺎﺷﻨﺪ‪.‬‬
‫ﺗﻌﺮﻳﻒ دوم‪ :‬راﺑﻄﻪ ﻧﺮﻣﺎل راﺑﻄﻪاي اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮ ﻫﻴﭽﻴﻚ از ﻣﻴﺪاﻧﻬﺎﻳﺶ‪ ،‬ﻳﻚ‬ ‫•‬

‫ﻣﻘﺪار راﺑﻄﻪاي ﺑﺎ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ ﺑﺰرﮔﺘﺮ از ﻳﻚ ﻧﺒﺎﺷﺪ‪.‬‬

‫در ﺗﻮﺻﻴﻒ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻳﻚ ﻣﻘﺪار ﺳﺎده ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ را ﻣﻲ ﺗﻮان ﻳﻚ‬
‫ﻣﻘﺪار راﺑﻄﻪ اي از درﺟﻪ ﻳﻚ و ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ ﻳﻚ داﻧﺴﺖ‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ در ﺑﺪﻧﻪ راﺑﻄﻪ‬
‫ﻧﺮﻣﺎل‪ ،‬ﺻﻔﺖ ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ ﭼﻨﺪ ﻣﻘﺪاري وﺟﻮد ﻧﺪارد و اﺻﻄﻼﺣﺎ ﻣﻲ ﮔﻮﻳﻴﻢ راﺑﻄﻪ‬
‫ﻣﺴﻄﺢ اﺳﺖ‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل را ﻣﻲ ﺗﻮان ﺑﺼﻮرت زﻳﺮ‬
‫ﺗﻮﺻﻴﻒ ﻛﺮد‪:‬‬
‫راﺑﻄﻪ اي ﻛﻪ در آن ﻣﻘﺎدﻳﺮ ﺣﺪاﻗﻞ ﻳﻚ ﺻﻔﺖ‪ ،‬ﺧﻮد ﻣﻘﺎدﻳﺮ راﺑﻄﻪ اي ﺑﺎﺷﻨﺪ را‬
‫راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل ﮔﻮﻳﻴﻢ‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﺻﻔﺖ ﺳﺎده‬
‫ﻳﺎ ﻣﺮﻛﺐ ﭼﻨﺪ ﻣﻘﺪاري داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل اﺳﺖ‪.‬‬

‫‪ 1-1‬دﻻﻳﻞ ﻟﺰوم ﻧﺮﻣﺎل ﺑﻮدن راﺑﻄﻪ‬


‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﺪ ﻧﺮﻣﺎل ﺑﻮدن راﺑﻄﻪ دﻟﻴﻞ رﻳﺎﺿﻲ ﻧﺪارد و ﻣﻲ ﺗﻮان ﮔﻔﺖ ﺻﺮﻓﺎ‬
‫ﺟﻨﺒﻪ ﺳﺎدﮔﻲ آن ﻣﻄﺮح اﺳﺖ‪ .‬ﺳﺎدﮔﻲ ﻋﻨﺼﺮ اﺳﺎﺳﻲ ﺳﺎﺧﺘﺎر راﺑﻄﻪ اي ﺧﻮد‬
‫ﺳﺎدﮔﻲﻫﺎي زﻳﺮ را در ﺑﺮ دارد‪:‬‬
‫ﺳﺎدﮔﻲ در ﻧﻤﺎﻳﺶ ﻇﺎﻫﺮي راﺑﻄﻪ‬ ‫•‬
‫ﺳﺎدﮔﻲ دﺳﺘﻮرات زﺑﺎن‬ ‫•‬
‫ﺳﺎدﮔﻲ اﺟﺮاي ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهداده‬ ‫•‬

‫‪ 2-1‬ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻧﺮﻣﺎل‬


‫راﺑﻄﻪ ﻧﺮﻣﺎل ﻣﻌﺎﻳﺒﻲ دارد ﻛﻪ ﺑﻪ ﺷﺮح ذﻳﻞ آﻣﺪه اﺳﺖ‪:‬‬
‫‪www.PDFgozar.com‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪195‬‬

‫ﺑﺮوز ﭘﺪﻳﺪه اﻓﺰوﻧﮕﻲ ﻛﻪ ﻣﻲﺗﻮاﻧﺪ ﻓﻴﺰﻳﻜﻲ ﻫﻢ ﺑﺎﺷﺪ‪.‬‬ ‫•‬


‫ﻃﻮﻻﻧﻲ ﺗﺮ ﺷﺪن ﻛﻠﻴﺪ راﺑﻄﻪ‬ ‫•‬
‫ﻋﺪم اﻣﻜﺎن ﻧﻤﺎﻳﺶ دادهﻫﺎي ﭘﻴﭽﻴﺪه‬ ‫•‬
‫دﺷﻮاري در ﻧﻤﺎﻳﺶ ﻃﺒﻴﻌﻲ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‬ ‫•‬
‫دﺷﻮاري در ﻧﻤﺎﻳﺶ ﻣﻔﻬﻮم وراﺛﺖ‬ ‫•‬

‫‪ 3-1‬ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل‬


‫راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل ﻧﻴﺰ داراي ﻣﺰاﻳﺎﻳﻲ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‬
‫ﻛﺎﻫﺶ ﻣﻴﺰان اﻓﺰوﻧﮕﻲ‬ ‫•‬
‫ﻛﻮﺗﺎه ﺷﺪن ﻛﻠﻴﺪ‬ ‫•‬
‫اﻣﻜﺎن ﻧﻤﺎﻳﺶ دادهﻫﺎي ﭘﻴﭽﻴﺪه‬ ‫•‬
‫دﺷﻮاري ﻛﻤﺘﺮ در ﻧﻤﺎﻳﺶ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‬ ‫•‬
‫دﺷﻮاري ﻛﻤﺘﺮ در ﻧﻤﺎﻳﺶ ﻣﻔﻬﻮم وراﺛﺖ‬ ‫•‬
‫اﻓﺰاﻳﺶ ﺳﺮﻋﺖ ﻋﻤﻠﻴﺎت )در ﺑﻌﻀﻲ ﻣﻮارد( در ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎ‬ ‫•‬

‫ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ در ﻛﻨﺎر اﻳﻦ ﻣﺰاﻳﺎ‪ ،‬راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل ﺧﻮد ﻧﻴﺰ داراي ﻣﻌﺎﻳﺒﻲ ﻣﻲ ﺑﺎﺷﺪ‬
‫ﻛﻪ اﻳﻦ ﻣﻌﺎﻳﺐ در ذﻳﻞ آﻣﺪه اﺳﺖ‪:‬‬
‫ﭘﻴﭽﻴﺪﮔﻲ در ﻧﻤﺎﻳﺶ دادهﻫﺎ‬ ‫•‬
‫ﭘﻴﭽﻴﺪﮔﻲ در ﻧﮕﺎرش دﺳﺘﻮرات‬ ‫•‬
‫ﭘﻴﭽﻴﺪﮔﻲ در اﺟﺮاي دﺳﺘﻮرات‬ ‫•‬

‫‪1‬‬
‫‪ -2‬ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ‬
‫در ﺑﺤﺚ ﻧﺮﻣﺎل ﺳﺎزي راﺑﻄﻪﻫﺎ‪ ،‬ﺑﻪ ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ ﻧﻴﺎز دارﻳﻢ‪ .‬در اﻳﻦ ﻗﺴﻤﺖ‬
‫ﺑﺎ ﺑﺮﺧﻲ ﻣﻔﺎﻫﻴﻢ واﺑﺴﺘﮕﻲ آﺷﻨﺎ ﻣﻲ ﺷﻮﻳﻢ‪.‬‬

‫‪1. D e pe n d e n c y‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪196‬‬

‫‪ 1-2‬اﻧﻮاع واﺑﺴﺘﮕﻲﻫﺎ‬
‫واﺑﺴﺘﮕﻲ داراي ﺣﺎﻻت ﻣﺨﺘﻠﻔﻲ اﺳﺖ ﻛﻪ در ذﻳﻞ آﻣﺪه اﺳﺖ‪:‬‬
‫‪1‬‬
‫واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬ ‫•‬
‫‪2‬‬
‫واﺑﺴﺘﮕﻲ ﭘﻴﻮﻧﺪي‬ ‫•‬
‫‪3‬‬ ‫•‬
‫واﺑﺴﺘﮕﻲ ﭼﻨﺪ ﻣﻘﺪاري‬

‫‪ 1-1-2‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬
‫ﻣﻬﻤﺘﺮﻳﻦ ﻧﻮع واﺑﺴﺘﮕﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ اﺳﺖ‪ .‬در ﺣﺎﻟﺖ ﻛﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ را‬
‫ﻣﻲ ﺗﻮان اﻳﻨﮕﻮﻧﻪ ﺗﻮﺻﻴﻒ ﻛﺮد‪:‬‬
‫‪A → B‬‬ ‫ﺑﺎﺷﻨﺪ ‪ ،‬آﻧﮕﺎه واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬ ‫‪R‬‬ ‫دو ﺻﻔﺖ در ﺷﻤﺎي‬ ‫‪B‬‬ ‫و‬ ‫‪A‬‬ ‫اﮔﺮ‬
‫‪A‬‬ ‫ﺑﻪ ازاي ﻫﺮ ﻣﻘﺪار‬ ‫‪R‬‬ ‫ﺑﺮﻗﺮار اﺳﺖ ﺑﻪ ﺷﺮﻃﻲ ﻛﻪ ﺑﺮاي ﺗﻤﺎﻣﻲ راﺑﻄﻪ ﻫﺎ در‬
‫ﻓﻘﻂ ﻳﻚ ﻣﻘﺪار ‪ B‬وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ را ﻣﻲﺗﻮان ﺑﺪﻳﻦ ﺻﻮرت ﻧﻴﺰ ﺗﻮﺻﻴﻒ ﻛﺮد‪:‬‬


‫ﻓﺮض ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ ‪ R‬ﻳﻚ ﻣﺘﻐﻴﺮ راﺑﻄﻪ اي و ‪ A‬و ‪ B‬دو زﻳﺮ ﻣﺠﻤﻮﻋﻪ دﻟﺨﻮاه از‬
‫واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ دارد و‬ ‫‪A‬‬ ‫ﺑﺎ‬ ‫‪B‬‬ ‫ﺑﺎﺷﻨﺪ‪ .‬ﻣﻲ ﮔﻮﻳﻴﻢ‬ ‫‪H‬‬ ‫ﻳﻌﻨﻲ‬ ‫‪R‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﻋﻨﻮان‬
‫اﮔﺮ و ﻓﻘﻂ اﮔﺮ در ﻫﺮ ﻣﻘﺪار ﻣﻤﻜﻦ از ﻣﺘﻐﻴﺮ‬ ‫‪A→ B‬‬ ‫ﭼﻨﻴﻦ ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﻴﻢ‪:‬‬
‫ﻣﺘﻨﺎﻇﺮ ﺑﺎﺷﺪ‪ .‬ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ‬ ‫‪B‬‬ ‫ﻓﻘﻂ ﻳﻚ ﻣﻘﺪار‬ ‫‪A‬‬ ‫‪ ،‬ﺑﻪ ﻫﺮ ﻣﻘﺪار‬ ‫‪R‬‬ ‫راﺑﻄﻪ اي‬
‫اﮔﺮ ‪ t1‬و ‪ t2‬دو ﺗﺎﭘﻞ ﻣﺘﻤﺎﻳﺰ از ‪ R‬ﺑﺎﺷﻨﺪ‪ ،‬در اﻳﻨﺼﻮرت‬
‫‪If t1.A = t2.A then t1.B = t2.B‬‬

‫‪ 2-1-2‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ‬


‫‪4‬‬
‫واﺑﺴﺘﻪ‬ ‫‪A‬‬ ‫ﺑﻪ ﻫﻴﭻ زﻳﺮﻣﺠﻤﻮﻋﻪ از‬ ‫‪B‬‬ ‫ﮔﻮﻳﻨﺪ اﮔﺮ‬ ‫را واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ‬ ‫‪A→B‬‬
‫ﻧﺒﺎﺷﺪ‪ .‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ از وﻳﮋﮔﻲﻫﺎي ﻣﻌﻨﺎﻳﻲ ﺻﻔﺎت اﺳﺖ و ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ ﻫﺮ‬

‫‪1. f un c t i o n a l D e p e n de n c y‬‬
‫‪2. J oi n D e pe n d e n c y‬‬
‫‪3. M u lt i V al u e De p e n d e n c y‬‬
‫‪4. F u ll F u nc t i o n a l D e p e n d en c y‬‬
‫‪www.PDFgozar.com‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪197‬‬

‫واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺑﻴﻦ دو ﺻﻔﺖ‪ ،‬ﻧﻤﺎﻳﺸﮕﺮ ﻳﻚ ﻗﺎﻋﺪه ﺳﻤﻨﺘﻴﻚ در ﺟﻬﺎن واﻗﻌﻲ اﺳﺖ‪.‬‬
‫ﻣﺜﻼ وﻗﺘﻲ ﻣﻲ ﮔﻮﻳﻴﻢ‪:‬‬

‫‪STID→STMJR‬‬

‫ﻣﻌﻨﺎﻳﺶ اﻳﻦ اﺳﺖ ﻛﻪ ﻳﻚ داﻧﺸﺠﻮ ﻓﻘﻂ درﻳﻚ رﺷﺘﻪ ﺗﺤﺼﻴﻞ ﻣﻲ ﻛﻨﺪ‪.‬‬

‫‪ 2-2‬ﺣﺎﻟﺘﻬﺎي واﺑﺴﺘﮕﻲ‬
‫واﺑﺴﺘﮕﻲ داراي ﺣﺎﻻت ﻣﺨﺘﻠﻔﻲ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ در ذﻳﻞ ﻧﺎم ﺑﺮده ﺷﺪه اﻧﺪ‪:‬‬
‫واﺑﺴﺘﮕﻲ ﺑﻪ ﻛﻠﻴﺪ‬ ‫•‬
‫واﺑﺴﺘﮕﻲ ﺑﻪ ﺑﺨﺸﻲ از ﻛﻠﻴﺪ‬ ‫•‬
‫واﺑﺴﺘﮕﻲ ﻏﻴﺮﻛﻠﻴﺪ ﺑﻪ ﻏﻴﺮﻛﻠﻴﺪ‬ ‫•‬
‫واﺑﺴﺘﮕﻲ ﻣﻌﻜﻮس‬ ‫•‬
‫ﻛﻠﻴﺪ ﻳﺎ ﺑﺨﺸﻲ از آن ﺑﻪ ﺻﻔﺖ ﻳﺎ ﺻﻔﺘﻬﺎي دﻳﮕﺮ واﺑﺴﺘﻪ ﺑﺎﺷﺪ‬ ‫•‬

‫‪F‬‬ ‫‪ 3-2‬ﺗﻌﺮﻳﻒ ‪﹢‬‬


‫ﻳﻚ ﻣﺠﻤﻮﻋﻪ از واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﺎﺑﻌﻲ ﺑﺎﺷﺪ ‪ ،‬آﻧﮕﺎه ﻣﺠﻤﻮﻋﻪ ﺗﻤﺎم واﺑﺴﺘﮕﻲ ﻫﺎي‬ ‫‪F‬‬ ‫اﮔﺮ‬
‫ﺗﺎﺑﻌﻲ ﻗﺎﺑﻞ اﺳﺘﺨﺮاج از آﻧﺮا ﻣﺠﻤﻮﻋﻪ ﭘﻮﺷﺸﻲ ‪ F‬ﻣﻲ ﻧﺎﻣﻨﺪ و ﺑﺎ ‪ F﹢‬ﻧﺸﺎن ﻣﻲ دﻫﻨﺪ‪.‬‬

‫روش ﻳﺎﻓﺘﻦ‪:F ﹢‬‬


‫ﺑﺮاي ﻳﺎﻓﺘﻦ ‪ F+‬ﻋﻤﻠﻴﺎت زﻳﺮ را ﺑﻪ ﺗﺮﺗﻴﺐ اﻧﺠﺎم ﻣﻲ دﻫﻴﻢ‪:‬‬
‫ﺑﺎزﺗﺎب‬ ‫•‬

‫‪IF B ⊆ A THEN A → B‬‬


‫اﻓﺰاﻳﺸﻲ‬ ‫•‬

‫‪IF A → B , C THEN AC → BC‬‬


‫)) ﺗﻮﺟﻪ‪ C :‬ﺻﻔﺖ ﻣﻲﺑﺎﺷﺪ ((‬
‫اﻧﺘﻘﺎل‬ ‫•‬

‫‪IF A → B , B → C THEN A → C‬‬

‫ﭼﻮن اﻋﻤﺎل اﻳﻦ ﻗﻮاﻋﺪ ﻣﺸﻜﻞ ﻣﻲ ﺑﺎﺷﺪ ‪ ،‬آﻧﻬﺎ را ﺑﻪ ﺻﻮرت ﺳﺎده ﺗﺮ ﺑﻴﺎن ﻣﻲﻛﻨﻴﻢ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪198‬‬

‫اﺟﺘﻤﺎع‬ ‫•‬

‫‪IF A → B AND A → C THEN A → BC‬‬


‫ﺗﺠﺰﻳﻪ‬ ‫•‬

‫‪IF A → BC THEN A → B AND A → C‬‬


‫ﺗﺮﻛﻴﺐ‬ ‫•‬

‫‪IF A → B , C → D THEN AC → BD‬‬

‫ﺑﺎ اﻋﻤﺎل اﻳﻦ ﻗﻮاﻋﺪ ﺳﻌﻲ ﻣﻲ ﻛﻨﻴﻢ واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﻜﺮاري را ﺣﺬف ﻧﻤﻮده و ﺑﻪ‬
‫ﻣﺠﻤﻮﻋﻪ واﺑﺴﺘﮕﻲ ﻛﻤﻴﻨﻪ ﻳﺎ ﺑﻬﻴﻨﻪ ﺑﺮﺳﻴﻢ‪.‬‬
‫ﻣﺜﺎل‪:‬‬
‫} ‪F ﹢ = { A → B , A → C , B → C , AB → C , AC → D‬‬
‫} ‪min (F ﹢) = { A → B , B → C , A → D‬‬

‫ﻣﺜﺎل‪:‬‬
‫)‪R=(U ,V,W,X,Y,Z‬‬

‫} ‪F={ U → XY , X → Y , XY → ZV‬‬
‫} ‪F ﹢ = { U → XY , X → Y , XY → ZV , U → ZV‬‬
‫} ‪F ﹢ = { U → X, U → Y , X → Y, XY → ZV , U → ZV‬‬
‫} ‪F ﹢ = { U → X, U → Y , X → Y, X → ZV , U → ZV‬‬
‫} ‪F ﹢ = { U → X, U → Y , X → Y, U → Z , U → V, X → Z, X → V‬‬

‫ﺗﻤﺮﻳﻦ‪:‬‬
‫)‪R = (U ,V,W,X,Y,Z,O,P,Q‬‬
‫} ‪F={ U → VXQ , UVP → O , OQ → YZ, UP → XY‬‬

‫‪1‬‬
‫‪ 4-2‬ﻧﻤﻮدار واﺑﺴﺘﮕﻲﻫﺎي ﺗﺎﺑﻌﻲ‬
‫ﺟﻬﺖ درك ﺑﻬﺘﺮ از واﺑﺴﺘﮕﻲﻫﺎ ‪ ،‬ﻧﻤﻮدار واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﺎﺑﻌﻲ را رﺳﻢ ﻣﻲﻛﻨﻴﻢ‪ .‬ﻧﺤﻮه‬
‫ﺑﻪ ﻳﻜﻲ از دو ﺷﻜﻞ زﻳﺮ ﻗﺎﺑﻞ ﺗﺮﺳﻴﻢ‬ ‫‪STT‬‬ ‫ﻧﻤﺎﻳﺶ ﻧﻤﻮدار واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺑﺮاي راﺑﻄﻪ‬
‫اﺳﺖ‪.‬‬

‫‪1. F u nc t i o n a l D e p e n d en c y Di a gr a m‬‬
‫‪www.PDFgozar.com‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪199‬‬

‫روش اول‬
‫‪STT‬‬ ‫‪STNAME‬‬

‫‪STDEG‬‬
‫‪STID‬‬
‫‪STMJR‬‬

‫‪STDEID‬‬

‫روش دوم‬

‫‪STT‬‬ ‫‪(STID,‬‬ ‫‪STNAME,‬‬ ‫‪STDEG,‬‬ ‫‪STMJR,‬‬ ‫)‪STDEID‬‬

‫‪ -3‬ﺻﻮرتﻫﺎي ﻧﺮﻣﺎل‬
‫ﻛﺎد واﺿﻊ ﻣﺪل راﺑﻄﻪ اي ‪ ،‬در آﻏﺎز ﺳﻪ ﺳﻄﺢ ﻧﺮﻣﺎل را ﺗﻌﺮﻳﻒ ﻛﺮد‪ .‬اﻳﻦ ﺳﻪ ﺳﻄﺢ‬
‫ﻋﺒﺎرت ﻫﺴﺘﻨﺪ از‪:‬‬
‫‪1‬‬
‫ﺻﻮرت ﻧﺨﺴﺖ ﻧﺮﻣﺎل‬ ‫•‬
‫‪2‬‬
‫ﺻﻮرت دوم ﻧﺮﻣﺎل‬ ‫•‬
‫‪3‬‬
‫ﺻﻮرت ﺳﻮم ﻧﺮﻣﺎل‬ ‫•‬

‫ﭘﮋوﻫﺸﮕﺮان و ﻣﺘﺨﺼﺼﻴﻦ ﺑﻌﺪا ﺳﻪ ﻧﻮع دﻳﮕﺮ از ﺻﻮر ﻧﺮﻣﺎل را ﺑﻪ ﺷﺮح زﻳﺮ ﺗﻌﺮﻳﻒ‬
‫ﻛﺮدﻧﺪ‪:‬‬
‫‪4‬‬
‫ﺻﻮرت ﻧﺮﻣﺎل ﺑﻮﻳﺲ‪ -‬ﻛﺎد‬ ‫•‬
‫‪5‬‬
‫ﺻﻮرت ﭼﻬﺎرم ﻧﺮﻣﺎل‬ ‫•‬

‫‪1. F ir s t N or ma l F o r m‬‬
‫‪2. Se c o n d No r ma l F o r m‬‬
‫‪3. T hi r d N or ma l F o r m‬‬
‫‪4. B o yc e - C o d d N o r ma l F o r m‬‬
‫‪5. F o rt h N or ma l F o r m‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪200‬‬

‫‪1‬‬
‫ﺻﻮرت ﭘﻨﭽﻢ ﻧﺮﻣﺎل‬ ‫•‬

‫اﻣﺮوزه دو ﻧﻮع دﻳﮕﺮ از ﺻﻮرت ﻫﺎي ﻧﺮﻣﺎل ﺗﻌﺮﻳﻒ ﺷﺪه اﻧﺪ ﻛﻪ اﻟﺒﺘﻪ در ﺷﺮاﻳﻂ ﺑﺴﻴﺎر‬
‫ﺧﺎص رخ ﻣﻲدﻫﻨﺪ‪ .‬اﻳﻦ دو ﺻﺮت ﻧﺮﻣﺎل ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫ﺻﻮرت ﻧﺮﻣﺎل ﻣﻴﺪان‪ -‬ﻛﻠﻴﺪي‬ ‫•‬
‫ﺻﻮرت ﻧﺮﻣﺎل ﺗﺤﺪﻳﺪ‪ -‬اﺟﺘﻤﺎع‬ ‫•‬

‫در اﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ ﻧﻜﺎت زﻳﺮ ﺗﻮﺟﻪ ﺷﻮد‪:‬‬


‫ﭼﻨﺎﻧﭽﻪ راﺑﻄﻪاي در ﻫﺮ ﻳﻚ از ﺣﺎﻻت ﻧﺮﻣﺎل‪ ،‬ﺑﺼﻮرت ﻏﻴﺮﻧﺮﻣﺎل ﺑﺎﺷﺪ‪،‬‬ ‫•‬
‫ﻣﻲﮔﻮﻳﻴﻢ راﺑﻄﻪ در آن ﺳﻄﺢ داراي آﻧﻮﻣﺎﻟﻲ اﺳﺖ‪.‬‬
‫در واﻗﻊ ﻫﺸﺖ ﺻﻮرت ﻧﺮﻣﺎل ﻣﺬﻛﻮر ﻫﺮ ﻳﻚ از ﺳﻄﺢ ﻗﺒﻠﻲ ﺧﻮد ﻧﺮﻣﺎل ﺗﺮ‬ ‫•‬
‫ﻫﺴﺘﻨﺪ )ﺑﻐﻴﺮ از ‪ BCNF‬ﻛﻪ ﺷﺮاﻳﻂ ﺧﺎﺻﻲ دارد(‪.‬‬
‫ﻫﻤﭽﻨﻴﻦ ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺻﻮرتﻫﺎي ‪ BCNF‬و ‪ 4NF‬و ‪ 5NF‬داراي ﺷﺮاﻳﻂ‬ ‫•‬
‫ﺧﺎﺻﻲ ﺑﻮده و ﺗﻘﺮﻳﺒﺎ ﭼﻨﺎﻧﭽﻪ راﺑﻄﻪ در ﻳﻜﻲ از اﻳﻦ ﺳﻪ ﺳﻄﻮح ﻧﺮﻣﺎل ﺑﺎﺷﺪ‪ ،‬در‬
‫دو ﻣﻮرد دﻳﮕﺮ ﻧﻴﺰ ﻧﺮﻣﺎل ﺧﻮاﻫﺪ ﺑﻮد) اﻳﻦ ﻣﻮﺿﻮع ﻫﻤﻴﺸﮕﻲ ﻧﻴﺴﺖ(‪.‬‬
‫ﺷﺮاﻳﻂ ﺧﺎﺻﻲ ﻫﺴﺘﻨﺪ ﻛﻪ در ﺧﻴﻠﻲ از ﻣﻮاﻗﻊ اﺻﻼً رخ‬ ‫‪3NF‬‬ ‫ﺣﺎﻻت ﺑﺎﻻﺗﺮ از‬ ‫•‬
‫ﻧﺮﻣﺎل ﻛﻨﻴﻢ‪ ،‬ﺑﻄﻮر ﻣﻌﻤﻮل‬ ‫‪3NF‬‬ ‫ﻧﻤﻲدﻫﻨﺪ‪ .‬ﻟﺬا ﭼﻨﺎﻧﭽﻪ راﺑﻄﻪاي را ﺗﺎ ﺳﻄﺢ‬
‫ﻣﻲﮔﻮﻳﻴﻢ ﻧﺮﻣﺎل ﺳﺎزي را اﻧﺠﺎم دادهاﻳﻢ‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ ﻣﻲﺗﻮان ﺳﻄﻮح‬
‫ﻧﺮﻣﺎل ﺳﺎزي را ﺑﺼﻮرت ذﻳﻞ ﻧﺸﺎن داد‪:‬‬

‫‪DKNF ∁ 5NF ∁ 4NF ∁ BCNF ∁ 3NF ∁ 2NF ∁ 1NF‬‬

‫‪2‬‬
‫‪ -4‬ﻓﺮاﻳﻨﺪ ﻧﺮﻣﺎل ﺳﺎزي‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ داده ﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ و ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ‪ ،‬ﻻزم اﺳﺖ ﺗﺎ ﻗﺒﻞ از ﭘﻴﺎده‬
‫ﺳﺎزي ﺟﺪاول ﻃﺮاﺣﻲ ﺷﺪه‪ ،‬آﻧﻬﺎ را ﻧﺮﻣﺎل ﺳﺎزي ﻧﻤﺎﻳﻴﻢ‪ .‬ﻣﺮاﺣﻞ ﻧﺮﻣﺎل ﺳﺎزي راﺑﻄﻪﻫﺎ‬
‫ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﻨﺪ‪:‬‬

‫‪1 F i f t h No r ma l F o r m‬‬
‫‪.‬‬
‫‪2. N or ma l i z a t i o n‬‬
‫‪www.PDFgozar.com‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪201‬‬

‫ﻣﺮاﺣﻞ ﻧﺮﻣﺎل ﺳﺎزي‬ ‫•‬


‫ﻣﺸﺨﺺ ﻛﺮدن ﺟﺪاول‬ ‫•‬
‫ﺷﻨﺎﺳﺎﺋﻲ دادهﻫﺎ و ارﺗﺒﺎﻃﺸﺎن‬ ‫•‬
‫رﺳﻢ ﻧﻤﻮدار واﺑﺴﺘﮕﻲ‬ ‫•‬
‫ﻃﺮاﺣﻲ ﺟﺪاول اوﻟﻴﻪ‬ ‫•‬
‫در ﻧﻈﺮ ﮔﺮﻓﺘﻦ واﺑﺴﺘﮕﻲﻫﺎ‬ ‫•‬
‫اﻋﻤﺎل ﻓﺮﻣﻬﺎي ﻧﺮﻣﺎل‬ ‫•‬

‫در اداﻣﻪ راﺑﻄﻪ ﻫﺎي ﻧﺮﻣﺎل را ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد‪:‬‬

‫‪1NF‬‬ ‫‪ 1-4‬راﺑﻄﻪ‬
‫اﺳﺖ ﻛﻪ‪:‬‬ ‫راﺑﻄﻪ اي ‪1NF‬‬
‫ﻫﻤﻪ ﻛﻠﻴﺪﻫﺎي آن ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﺪ‬ ‫•‬
‫ﻫﻤﻪ ﺻﻔﺖﻫﺎي آن ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﻪ ﺑﺎﺷﻨﺪ‬ ‫•‬
‫ﺻﻔﺖﻫﺎي ﺗﺮﻛﻴﺒﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻴﻢ‬ ‫•‬

‫اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﻫﺮ ﺻﻔﺖ آن در ﻫﺮ ﺗﺎﭘﻞ‪ ،‬ﺗﻚ‬ ‫‪1NF‬‬ ‫ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي‬
‫ﻣﻘﺪاري ﺑﺎﺷﺪ )ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ(‪.‬‬

‫ﺗﻮاﻣﺎ ﻛﻠﻴﺪ اﺻﻠﻲ ﻫﺴﺘﻨﺪ را در‬ ‫‪COID‬‬ ‫و‬ ‫‪STID‬‬ ‫را ﻛﻪ در آن‬ ‫‪STCOR‬‬ ‫ﻣﺜﺎل ‪ :1‬راﺑﻄﻪ‬
‫ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪:‬‬
‫)‪STCOR (STID, COID, STNAME, GRADE, STMJR, STDEID‬‬

‫‪STNAME‬‬

‫‪STID‬‬
‫‪STMJR‬‬
‫‪GRADE‬‬

‫‪COID‬‬
‫‪STDEID‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪202‬‬

‫ﻣﺜﺎل ‪:2‬‬

‫‪R = { S# , P# , STATUS ,‬‬ ‫} ‪CITY , QTY‬‬

‫‪2NF‬‬ ‫‪ 2-4‬راﺑﻄﻪ‬
‫اﺳﺖ ﻛﻪ‬ ‫راﺑﻄﻪ اي ‪2NF‬‬
‫‪ 1NF‬ﺑﺎﺷﺪ‬ ‫•‬
‫ﺻﻔﺖﻫﺎي آن ﺑﻪ زﻳﺮ ﻣﺠﻤﻮﻋﻪﻫﺎي ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﻪ ﻧﺒﺎﺷﺪ‬ ‫•‬

‫ﺑﺎﺷﺪ و ﺛﺎﻧﻴﺎ ﺗﻤﺎم ﺻﻔﺎت ﻏﻴﺮ ﻛﻠﻴﺪ ﺑﺎ‬ ‫‪1NF‬‬ ‫اﺳﺖ ﻛﻪ اوﻻ‬ ‫‪2NF‬‬ ‫ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي‬
‫ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬

‫ﻣﺜﺎل ‪:1‬‬

‫‪STID‬‬

‫‪GRADE‬‬

‫‪COID‬‬

‫‪STNAME‬‬

‫‪STID‬‬
‫‪STMJR‬‬

‫‪STDEID‬‬
‫‪www.PDFgozar.com‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪203‬‬

‫ﻣﺜﺎل ‪:2‬‬
‫‪R = (Std# , cr# , st.name , g/u , place ,‬‬ ‫)‪mintopas , grade , time‬‬

‫‪ 1NF‬ﻣﻲ ﺑﺎﺷﺪ ﺑﺮاي ‪ 2NF‬ﺑﻮدن‪:‬‬

‫)‪R1=( Std# , cr# , grade‬‬


‫)‪R2=( Std# , st.name , g/u‬‬
‫)‪R3= (cr# , place , mintopas , time‬‬

‫ﺑﻮدن ﻫﺮﻛﺪام از ﺟﺪاول‬ ‫‪2NF‬‬ ‫و‬ ‫‪1NF‬‬ ‫ﺑﻌﺪ از اﻳﻨﻜﻪ ﺟﺪاول ﺷﻜﺴﺘﻪ ﺷﺪ ‪ ،‬ﺑﺎﻳﺪ‬
‫‪2NF‬‬ ‫وﻫﻢ‬ ‫‪1NF‬‬ ‫ﺑﺪﺳﺖ آﻣﺪه را ﺑﺮرﺳﻲ ﻛﻨﻴﺪ )ﻫﺮ ﺳﻪ ﺟﺪول ﺑﺪﺳﺖ آﻣﺪه ﻓﻮق ﻫﻢ‬
‫ﻣﻲﺑﺎﺷﺪ(‪.‬‬

‫‪3NF‬‬ ‫‪ 3-4‬راﺑﻄﻪ‬
‫اﺳﺖ ﻛﻪ‬ ‫‪3NF‬‬ ‫ﺟﺪوﻟﻲ‬
‫در ‪ 2NF‬ﺑﺎﺷﺪ‬ ‫•‬
‫واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ )واﺑﺴﺘﮕﻲ ﻏﻴﺮ ﻛﻠﻴﺪ ﺑﻪ ﻏﻴﺮ ﻛﻠﻴﺪ (‬ ‫•‬

‫ﺑﺎﺷﺪ و ﻫﺮ ﺻﻔﺖ ﻏﻴﺮﻛﻠﻴﺪ ﺑﺎ‬ ‫‪2NF‬‬ ‫اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ‬ ‫‪3NF‬‬ ‫ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي‬
‫ﻛﻠﻴﺪ اﺻﻠﻲ‪ ،‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺑﻲ واﺳﻄﻪ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫ﻣﺜﺎل ‪:1‬‬

‫‪STID‬‬

‫‪GRADE‬‬

‫‪COID‬‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪204‬‬

‫‪STMJR‬‬ ‫‪STDEID‬‬

‫‪STMJR‬‬
‫‪STID‬‬

‫‪STNAME‬‬

‫‪BCNF‬‬ ‫‪ 4-4‬راﺑﻄﻪ‬
‫ﺣﺎﻟﺖ ﺧﺎﺻﻲ از راﺑﻄﻪ ﻧﺮﻣﺎل اﺳﺖ و داراي ﺗﻌﺎرﻳﻒ ﻣﺘﻌﺪدي ﻣﻲ ﺑﺎﺷﺪ‬ ‫‪BCNF‬‬ ‫راﺑﻄﻪ‬
‫ﻛﻪ در ذﻳﻞ آﻣﺪه اﺳﺖ‪:‬‬
‫ﺗﻌﺮﻳﻒ اول‪:‬ﺟﺪوﻟﻲ ‪ BCNF‬اﺳﺖ ﻛﻪ‬
‫در ‪ 3NF‬ﺑﺎﺷﺪ‬ ‫•‬
‫واﺑﺴﺘﮕﻲ ﻣﻌﻜﻮس ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ )واﺑﺴﺘﮕﻲ ﻛﻠﻴﺪ ﺑﻪ ﻏﻴﺮ ﻛﻠﻴﺪ (‬ ‫•‬

‫اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ در آن ﻫﺮ دﺗﺮﻣﻴﻨﺎن‪ ،‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬ ‫‪BCNF‬‬ ‫ﺗﻌﺮﻳﻒ دوم‪ :‬راﺑﻄﻪ اي‬
‫ﺑﺎﺷﺪ‪.‬‬
‫اﺳﺖ اﮔﺮ‬ ‫‪BCNF‬‬ ‫ﺗﻌﺮﻳﻒ ﺳﻮم‪ :‬راﺑﻄﻪ )‪ ،R(H‬ﺑﺎ ﻣﺠﻤﻮﻋﻪ واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﺎﺑﻌﻲ ‪ ،F‬در‬
‫)‪B ∁ R(H‬‬ ‫و‬ ‫)‪A ∁ R(H‬‬ ‫ﻛﻪ در آن‬ ‫‪A→B‬‬ ‫ﺑﻪ ﺻﻮرت‬ ‫‪F+‬‬ ‫ﺑﺮاي ﻫﺮ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬
‫اﺳﺖ‪ ،‬ﺣﺪاﻗﻞ ﻳﻜﻲ از دو ﺣﺎﻟﺖ زﻳﺮ ﺑﺮﻗﺮار ﺑﺎﺷﺪ‪:‬‬
‫‪B∁A‬‬ ‫‪ A → B‬ﻳﻚ واﺑﺴﺘﮕﻲ ﻏﻴﺮ ﻣﻬﻢ ﺑﺎﺷﺪ ﻳﻌﻨﻲ‬ ‫•‬
‫‪ A‬ﺳﻮﭘﺮ ﻛﻠﻴﺪ راﺑﻄﻪ ‪ R‬ﺑﺎﺷﺪ‬ ‫•‬

‫ﺗﻌﺮﻳﻒ ﭼﻬﺎرم‪ :‬راﺑﻄﻪ اي ‪ BCNF‬اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﺳﻤﺖ ﭼﭗ ﻫﺮ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬
‫ﻣﻬﻢ و ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ‪ ،‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ ﺑﺎﺷﺪ‪.‬‬

‫‪4NF‬‬ ‫‪ 5-4‬راﺑﻄﻪ‬
‫راﺑﻄﻪ اي ‪ 4NF‬اﺳﺖ اﮔﺮ‬
‫‪ BCNF‬ﺑﺎﺷﺪ‬ ‫•‬
‫در آن واﺑﺴﺘﮕﻲ ﭼﻨﺪ ﻣﻘﺪاري ﻣﻬﻢ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪205‬‬

‫ﺑﺪﻳﻦ ﺻﻮرت اﺳﺖ ﻛﻪ ﮔﺎﻫﻲ دو راﺑﻄﻪاي ﻛﻪ از‬ ‫‪4NF‬‬ ‫ﻣﺸﻜﻞ آﻧﻮﻣﺎﻟﻲ در ﺳﻄﺢ‬
‫ﻳﻜﺪﻳﮕﺮ ﻣﺠﺰا ﻫﺴﺘﻨﺪ را ﺑﻪ اﺷﺘﺒﺎه و ﺻﺮﻓﺎ ﺑﻮاﺳﻄﻪ اﻳﻨﻜﻪ ﻓﺮض ﻛﺮدهاﻳﻢ ﻣﻲﺗﻮاﻧﻴﻢ ﺗﺤﺖ‬
‫ﻳﻚ راﺑﻄﻪ ﻗﺮار دﻫﻴﻢ‪ ،‬ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺗﺮﻛﻴﺐ ﻣﻲﻛﻨﻴﻢ و ﺗﺤﺖ ﻋﻨﻮان ﻳﻚ راﺑﻄﻪ در ﭘﺎﻳﮕﺎهداده‬
‫ﻗﺮار ﻣﻲدﻫﻴﻢ‪ .‬ﭘﺲ از ورود اﻃﻼﻋﺎت در راﺑﻄﻪ ﺟﺪﻳﺪ‪ ،‬اﻳﻦ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ ﻗﺒﻠﻲ‬
‫ﺗﺠﺰﻳﻪ ﻣﻲﻛﻨﻴﻢ و ﻃﺒﻴﻌﺘﺎ ﻣﻘﺎدﻳﺮ راﺑﻄﻪ ﻛﻠﻲ در د راﺑﻄﻪ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ‪ .‬ﺣﺎل ﭼﻨﺎﻧﭽﻪ‬
‫ﺑﺨﻮاﻫﻴﻢ دو راﺑﻄﻪ را ﺑﺎ ﻫﻢ ﺗﺮﻛﻴﺐ ﻛﻨﻴﻢ‪ ،‬ﺑﺎ ﺣﺬف ﺑﻌﻀﻲ از ﺗﺎﭘﻞﻫﺎ ﻣﻮاﺟﻪ ﻣﻲﺷﻮﻳﻢ‪ .‬اﻟﺒﺘﻪ‬
‫اﻳﻦ ﺷﺮاﻳﻂ ﺑﺴﻴﺎر ﺧﺎص ﺑﻮده و اﻣﻜﺎن رﺧﺪاد آن ﻧﻴﺰ ﺑﺴﻴﺎر ﻛﻢ اﺳﺖ‪ .‬ﺑﺮاي ﻣﺜﺎل راﺑﻄﻪ‬
‫زﻳﺮ را ﻛﻪ اﺷﺘﺒﺎﻫﺎ ﻧﺮﻣﺎل ﺷﺪه اﺳﺖ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪:‬‬

‫)‪PSR(PRID,STID,RNUM‬‬

‫‪PRID‬‬ ‫‪STID‬‬ ‫‪RNUM‬‬


‫‪Pr22‬‬ ‫‪S2‬‬ ‫‪R1‬‬
‫‪Pr22‬‬ ‫‪S1‬‬ ‫‪R1‬‬
‫‪Pr22‬‬ ‫‪S3‬‬ ‫‪R1‬‬
‫‪Pr22‬‬ ‫‪S2‬‬ ‫‪R2‬‬
‫‪Pr22‬‬ ‫‪S1‬‬ ‫‪R2‬‬
‫‪Pr22‬‬ ‫‪S3‬‬ ‫‪R2‬‬
‫‪Pr33‬‬ ‫‪S2‬‬ ‫‪R1‬‬
‫‪Pr33‬‬ ‫‪S6‬‬ ‫‪R1‬‬

‫درج ﺗﺎﭘﻠﻲ ﻣﺎﻧﻨﺪ )‪ (Pr22,S8‬ﻋﻤﻼ ﺑﻪ ﻣﻔﻬﻮم درج دو ﺗﺎﭘﻞ در ﺟﺪول ‪ PSR‬ﺑﺼﻮرت‬


‫زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬
‫)‪(Pr22,S8,R1‬‬
‫)‪(Pr22,S8,R2‬‬

‫ﺣﺎل ﭼﻨﺎﻧﭽﻪ راﺑﻄﻪ ‪ PSR‬را ﻋﻤﻼ از اﺑﺘﺪا ﺑﺼﻮرت دو راﺑﻄﻪ ‪ PS‬و ‪ PR‬ﻣﺎﻧﻨﺪ زﻳﺮ در‬
‫ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ دﻳﮕﺮ دﭼﺎر ﭼﻨﻴﻦ ﻣﺸﻜﻼﺗﻲ ﻧﺨﻮاﻫﻴﻢ ﺷﺪ‪.‬‬

‫)‪PS(PRID,STID‬‬
‫)‪PR(PRID,RNUM‬‬

‫‪5NF‬‬ ‫‪ 6-4‬راﺑﻄﻪ‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪206‬‬

‫در ﻓﺮاﻳﻨﺪﻫﺎي ﻧﺮﻣﺎل ﺳﺎزي ﺗﺎ ﺳﻄﺢ ‪ ،4NF‬اﻟﮕﻮرﻳﺘﻢ ﻋﻤﻮﻣﻲ درﻫﺮ ﻣﺮﺣﻠﻪ ﻋﺒﺎرت ﺑﻮد‬
‫از ﺗﺠﺰﻳﻪ راﺑﻄﻪ ﺑﻪ دو راﺑﻄﻪ ﻧﺮﻣﺎﻟﺘﺮ ﺑﻪ ﮔﻮﻧﻪ اﻳﻜﻪ ﺑﺎ ﭘﻴﻮﻧﺪ دو راﺑﻄﻪ‪ ،‬ﻫﻤﺎن راﺑﻄﻪ اﺻﻠﻲ‬
‫ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪ .‬اﻣﺎﻣﻤﻜﻦ اﺳﺖ در وﺿﻊ ﺧﺎﺻﻲ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ ﺗﺠﺰﻳﻪ ﻛﻨﻴﻢ وﻟﻲ‬
‫ﺑﺎ ﭘﻴﻮﻧﺪ دو راﺑﻄﻪ‪ ،‬راﺑﻄﻪ اوﻟﻴﻪ ﺑﺪﺳﺖ ﻧﻴﺎﻳﺪ‪ .‬ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ‪:‬‬

‫)‪PRCODE (PRID, COID, DEID‬‬

‫‪PRID‬‬ ‫‪COID‬‬ ‫‪DEID‬‬


‫‪Pr11‬‬ ‫‪C1‬‬ ‫‪D4‬‬
‫‪Pr11‬‬ ‫‪C3‬‬ ‫‪D1‬‬
‫‪Pr22‬‬ ‫‪C1‬‬ ‫‪D1‬‬
‫‪Pr11‬‬ ‫‪C1‬‬ ‫‪D1‬‬

‫ﺣﺎل اﻳﻦ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ زﻳﺮ ﺗﺠﺰﻳﻪ ﻣﻲﻛﻨﻴﻢ‪ .‬ﭘﺲ راﺑﻄﻪﻫﺎي زﻳﺮ از ﺗﺠﺰﻳﻪ‬
‫راﺑﻄﻪ ‪ PRCODE‬ﺑﺪﺳﺖ ﻣﻲآﻳﻨﺪ‪:‬‬
‫)‪PRCO (PRID, COID‬‬
‫)‪CODE (COID, DEID‬‬
‫‪PRCO‬‬ ‫‪CODE‬‬
‫‪PRID‬‬ ‫‪COID‬‬ ‫‪COID‬‬ ‫‪DEID‬‬
‫‪Pr11‬‬ ‫‪C1‬‬ ‫‪C1‬‬ ‫‪D4‬‬
‫‪Pr11‬‬ ‫‪C3‬‬ ‫‪C3‬‬ ‫‪D1‬‬
‫‪Pr22‬‬ ‫‪C1‬‬ ‫‪C1‬‬ ‫‪D1‬‬

‫ﺣﺎل ﭼﻨﺎﻧﭽﻪ دو راﺑﻄﻪ را ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺗﺮﻛﻴﺐ ﻛﻨﻴﻢ در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ ﻳﻚ رﻛﻮرد‬


‫اﺿﺎﻓﻲ ﻣﺸﺎﻫﺪه ﻣﻲﮔﺮدد‪.‬‬
‫‪Proc JOIN Code = XPRCODE‬‬

‫‪PRID‬‬ ‫‪COID‬‬ ‫‪DEID‬‬


‫‪Pr11‬‬ ‫‪C1‬‬ ‫‪D4‬‬
‫‪Pr11‬‬ ‫‪C1‬‬ ‫‪D1‬‬
‫‪Pr11‬‬ ‫‪C3‬‬ ‫‪D1‬‬
‫→ رﻛﻮرد اﺿﺎﻓﻪ‬ ‫‪Pr22‬‬ ‫‪C1‬‬ ‫‪D4‬‬
‫‪Pr22‬‬ ‫‪C1‬‬ ‫‪D1‬‬
‫ﻣﻲﮔﻮﻳﻨﺪ‪ .‬رﻓﻊ اﻳﻦ ﻣﻜﻞ ﺻﺮﻓﺎ ﺗﺎ ﻗﺒﻞ از‬ ‫‪5NF‬‬ ‫ﺑﻪ اﻳﻦ ﺷﺮاﻳﻂ آﻧﻮﻣﺎﻟﻲ در ﺳﻄﺢ‬
‫ورود دادهﻫﺎ ﻣﻤﻜﻦ ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫ﺑﺎ اﻳﻦ وﺻﻒ‪ ،‬ﺗﻌﺮﻳﻒ راﺑﻄﻪ ‪ 5NF‬ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬
‫‪www.PDFgozar.com‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪207‬‬

‫اﺳﺖ اﮔﺮ ﺗﻤﺎم واﺑﺴﺘﮕﻲﻫﺎي ﭘﻴﻮﻧﺪي آن ﻧﺎﺷﻲ از ﻛﻠﻴﺪﻫﺎي‬ ‫‪5NF‬‬ ‫راﺑﻄﻪاي‬


‫‪R‬‬ ‫ﻛﺎﻧﺪﻳﺪ آن ﺑﺎﺷﺪ‪ .‬ﺑﺎ اﻳﻦ وﺻﻒ اﮔﺮ ﺑﺘﻮاﻧﻴﻢ ﻳﻚ واﺑﺴﺘﮕﻲ ﭘﻴﻮﻧﺪي در راﺑﻄﻪ‬
‫‪5Nf‬‬ ‫وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬راﺑﻄﻪ‬ ‫‪R‬‬ ‫ﭘﻴﺪا ﻛﻨﻴﻢ ﻛﻪ در ﭘﺮﺗﻮﻫﺎﻳﺶ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬
‫ﻧﻴﺴﺖ‪.‬‬

‫ﺻﺮﻓﺎ در ﺷﺮاﻳﻂ ﺧﺎص و ﺑﺮاي ﻣﺤﻴﻄﻬﺎي‬ ‫‪5NF‬‬ ‫و‬ ‫‪4NF‬‬ ‫ﺗﻮﺟﻪ‪ :‬آﻧﻮﻣﺎﻟﻲ در ﺳﻄﻮح‬
‫ﺧﺎص رخ ﻣﻲ دﻫﺪ و در ﺣﺎﻟﺖ ﻋﺎدي اﻳﻦ ﻧﻮع آﻧﻮﻣﺎﻟﻲﻫﺎ در ﻃﺮاﺣﻲ ﺳﺎﺧﺘﺎر اﻃﻼﻋﺎﺗﻲ‬
‫ﺳﻴﺴﺘﻢ ﻫﺎ رخ ﻧﻤﻲ دﻫﺪ‪ .‬ﻟﺬا ﺑﻄﻮر ﻣﻌﻤﻮل اﮔﺮ ﺑﺘﻮاﻧﻴﻢ ﺳﺎﺧﺘﺎر اﻃﻼﻋﺎﺗﻲ ﺳﻴﺴﺘﻢ ﻣﻮرد‬
‫ﻧﺮﻣﺎل ﻛﻨﻴﻢ‪ ،‬اﺻﻄﻼﺣﺎ ﻣﻲ ﮔﻮﻳﻴﻢ ﻧﺮﻣﺎل‬ ‫‪BCNF‬‬ ‫و ﻳﺎ‬ ‫‪3NF‬‬ ‫ﻧﻈﺮ را ﺣﺪاﻛﺜﺮ ﺗﺎ ﺳﻄﺢ‬
‫ﺳﺎزي ﻛﺎﻣﻞ اﻧﺠﺎم ﺷﺪه اﺳﺖ‪.‬‬

‫ﺗﻤﺮﻳﻨﺎت‬
‫‪www.PDFgozar.com‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪208‬‬

‫‪ .1‬راﺑﻄﻪ ﻧﺮﻣﺎل را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ‪.‬‬


‫‪ .2‬ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻧﺮﻣﺎل را ﻧﺎم ﺑﺒﺮﻳﺪ‬
‫‪ .3‬راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل داراي ﭼﻪ ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺒﻲ ﺧﻮاﻫﺪ ﺑﻮد‬
‫‪ .4‬اﻧﻮاع واﺑﺴﺘﮕﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ‬
‫‪ .5‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ‬
‫‪ .6‬ﺣﺎﻟﺖ ﻫﺎي واﺑﺴﺘﮕﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ‬
‫‪ .7‬ﺻﻮرت ﻫﺎي ﻧﺮﻣﺎل را ﻧﺎم ﺑﺒﺮﻳﺪ‬
‫‪ .8‬ﺻﻮرت ﻧﺮﻣﺎل اول را ﺗﻮﺿﻴﺢ دﻫﻴﺪ‬
‫‪ .9‬ﺻﻮرت ﻧﺮﻣﺎل ﺳﻮم ﺑﻪ ﭼﻪ ﺻﻮرت اﺳﺖ‬
‫‪ .10‬ﺻﻮرت ﻧﺮﻣﺎل ‪ BCNF‬راﺷﺮح دﻫﻴﺪ‬
‫‪ .11‬ﺻﻮرت ﻧﺮﻣﺎل ‪ 5NF‬ﭼﮕﻮﻧﻪ اﺳﺖ‬
‫‪www.PDFgozar.com‬‬

‫ﻓﺼﻞ ‪۱۰‬‬

‫ﻣﻌﻤﺎﺭﻱﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩﺩﺍﺩﻩ‬

‫ﻫﺪف ﻛﻠﻲ‬
‫در اﻳﻦ ﻓﺼﻞ ﺑﻪ ﻣﻮﺿﻮع ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﭘﺮدازﻳﻢ‪ .‬اﺑﺘﺪا ﻣﻌﻤﺎري ﻫﺎي‬
‫ﻣﺘﻤﺮﻛﺰ ﭘﺎﻳﮕﺎه داده ﻫﺎ را ﺷﺮح داده و ﺳﭙﺲ وارد ﺑﺤﺚ ﻣﻌﻤﺎري ﻫﺎي ﻏﻴﺮ ﻣﺘﻤﺮﻛﺰ‬
‫ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﺷﻮﻳﻢ‪ .‬در ﺑﺤﺚ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻧﺎﻣﺘﻤﺮﻛﺰ‪ ،‬ﻣﻌﻤﺎري ﻫﺎﻳﻲ‬
‫ﻣﺎﻧﻨﺪ ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‪ ،‬ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه‪ ،‬ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي‪،‬‬
‫ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ و ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه را ﺑﺎ ذﻛﺮ ﺗﻮﺿﻴﺤﺎت در ﻣﻮرد ﻫﺮ‬
‫ﻳﻚ از اﻧﻮاع ﻣﻌﻤﺎري ﻫﺎي ﻣﺬﻛﻮر ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬
‫دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬
‫ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ‬ ‫•‬
‫ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ‬ ‫•‬
‫ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‬ ‫•‬
‫ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه‬ ‫•‬
‫ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي‬ ‫•‬
‫ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك‬ ‫•‬
‫ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك‬ ‫•‬
‫ﻣﻌﻤﺎري ﺑﻲ اﺟﺰا ﻣﺸﺘﺮك‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫‪ 210‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬ ‫•‬


‫ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‬ ‫•‬
‫ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه‬ ‫•‬

‫‪ -1‬ﻣﻘﺪﻣﻪ‬
‫ﻳﻜﻲ از ﻣﺒﺎﺣﺚ ﻣﻬﻢ و ﻛﻠﻴﺪي در ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده‪ ،‬اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه و ﭘﻴﻜﺮ‬
‫ﺑﻨﺪي ﻳﺎ ﻃﺮز ﺗﺮﻛﻴﺐ اﺟﺰاء ﺳﻴﺴﺘﻢ و ﭼﮕﻮﻧﮕﻲ ﺗﻌﺎﻣﻞ اﺟﺰاء ﺑﺎ ﻳﻜﺪﻳﮕﺮ اﺳﺖ‪ .‬در‬
‫ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺣﺪاﻗﻞ ﻳﻚ ﭘﺎﻳﮕﺎه داده ﻫﺎ‪ ،‬ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ‪،‬‬
‫ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‪ ،‬ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺎ دﺳﺘﮕﺎهﻫﺎي ﺟﺎﻧﺒﻲ و ﺗﻌﺪادي ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي و‬
‫ﻛﺎرﺑﺮ وﺟﻮد دارﻧﺪ‪.‬‬
‫ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺴﺘﮕﻲ ﺑﻪ دو ﻋﻨﺼﺮ اﺻﻠﻲ ﺳﻴﺴﺘﻢ ﻳﻌﻨﻲ ﺳﺨﺖاﻓﺰار و‬
‫ﻧﺮماﻓﺰار ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ دارد‪ .‬اﻟﺒﺘﻪ ﻋﻮاﻣﻞ دﻳﮕﺮي ﻫﻢ در ﻃﺮاﺣﻲ اﻳﻦ ﻣﻌﻤﺎري‬
‫دﺧﺎﻟﺖ دارﻧﺪ ﻛﻪ اﻫﻢ اﻳﻦ ﻋﻮاﻣﻞ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫ﻣﻮﻗﻌﻴﺖ ﺟﻐﺮاﻓﻴﺎﻳﻲ ﻛﺎرﺑﺮان‬ ‫•‬
‫ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان‬ ‫•‬
‫ﻣﺎﻫﻴﺖ ﭘﺮدازشﻫﺎ و ﺗﺮاﻛﻨﺶﻫﺎ‬ ‫•‬
‫ﺗﻌﺪاد ﺗﺮاﻛﻨﺶﻫﺎ‬ ‫•‬
‫ﺣﺠﻢ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ‬ ‫•‬
‫ﻣﻮﻗﻌﻴﺖ ﻣﻜﺎﻧﻲ دادهﻫﺎ و ارﺗﺒﺎﻃﺎت ﺑﻴﻦ آﻧﻬﺎ‬ ‫•‬
‫ﻣﺎﻫﻴﺖ ﻛﺎرﺑﺮدﻫﺎي ﻣﻮرد ﻧﻈﺮ‬ ‫•‬

‫‪ -2‬اﻧﻮاع ﻣﻌﻤﺎري‬
‫در اﺳﺎس دو ﻧﻮع ﻣﻌﻤﺎري ﺑﺮاي ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ وﺟﻮد دارد ﻛﻪ اﻳﻦ دو ﻣﻌﻤﺎري‬
‫ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ‬ ‫•‬
‫ﻣﻌﻤﺎري ﻧﺎ ﻣﺘﻤﺮﻛﺰ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪211‬‬

‫در اداﻣﻪ ﻫﺮ ﻳﻚ از اﻧﻮاع ﻣﻌﻤﺎري ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ‪.‬‬

‫‪ 1-2‬ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ‬
‫در اﻳﻦ ﻣﻌﻤﺎري ﻳﻚ ﭘﺎﻳﮕﺎه دادهﻫﺎ روي ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي و ﺑﺪون ارﺗﺒﺎط ﺑﺎ‬
‫ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي دﻳﮕﺮ‪ ،‬اﻳﺠﺎد ﻣﻲ ﺷﻮد‪ .‬ﺳﺨﺖ اﻓﺰار اﻳﻦ ﺳﻴﺴﺘﻢ ﻣﻲ ﺗﻮاﻧﺪ ﻛﺎﻣﭙﻴﻮﺗﺮ‬
‫ﺷﺨﺼﻲ ﻣﺘﻮﺳﻂ و ﻳﺎ ﺑﺰرگ ﺑﺎﺷﺪ و ﻃﺒﻌﺎ ﻗﺪرت‪ ،‬ﺗﻮاﻧﺶ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ ﻧﻴﺰ‬
‫ﻣﺘﻔﺎوت اﺳﺖ‪.‬‬

‫ﺷﻜﻞ ‪ 1-10‬ﻧﻤﺎﻳﺸﻲ از ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ‬

‫ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ ﻛﻪ روي ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ اﻳﺠﺎد ﻣﻲﺷﻮد‪ ،‬ﺗﻚ‬


‫ﻛﺎرﺑﺮي‪ ،‬ﺑﺮاي ﻛﺎرﺑﺮدﻫﺎي ﻛﻮﭼﻚ و ﺑﺎ اﻣﻜﺎﻧﺎت ﻣﺤﺪود اﺳﺖ و ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﻧﻴﺰ‬
‫ﺗﻮاﻧﺶ ﭼﻨﺪاﻧﻲ ﻧﺪارد‪ .‬اﻣﺎ ﺳﻴﺴﺘﻢ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺘﻮﺳﻂ و ﺑﻪ وﻳﮋه‬
‫ﺑﺰرگ ﻣﺘﺼﻞ ﺑﻪ ﺗﻌﺪاد زﻳﺎدي ﭘﺎﻳﺎﻧﻪ‪ ،‬ﻣﻲﺗﻮاﻧﺪ ﺳﻴﺴﺘﻢ ﻛﺎراﻳﻲ ﺑﺎﺷﺪ‪ .‬ﺷﻜﻞ ‪ 1-10‬ﻃﺮﺣﻲ‬
‫از ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ اراﺋﻪ ﺷﺪه اﺳﺖ‪.‬‬

‫‪ 2-2‬ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ‬
‫ﻣﻌﻤﺎري ﻧﺎ ﻣﺘﻤﺮﻛﺰ‪ ،‬ﺧﻮد داراي اﻧﻮاع ﻣﺨﺘﻠﻔﻲ اﺳﺖ از ﺟﻤﻠﻪ‪:‬‬
‫ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‬ ‫•‬
‫ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫‪ 212‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‬ ‫•‬


‫ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي‬ ‫•‬
‫ﻣﻌﻤﺎري ﻣﻮﺑﺎﻳﻞ‬ ‫•‬

‫در اداﻣﻪ ﻫﺮ ﻳﻚ از اﻧﻮاع ﻣﻌﻤﺎري ﻫﺎي ﻏﻴﺮ ﻣﺘﻤﺮﻛﺰ را ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار‬
‫ﺧﻮاﻫﻴﻢ داد‪.‬‬

‫‪ 1-2-2‬ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‬


‫‪ 1-1-2-2‬ﺗﻌﺮﻳﻒ‬
‫ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار ﺗﻌﺮﻳﻒ واﺣﺪ و ﻣﻮرد ﭘﺬﻳﺮش ﻫﻤﮕﺎن ﻧﺪارد‪ .‬در ﻣﻌﻨﺎي‬
‫ﻋﺎم ﻣﻲ ﺗﻮان اﻳﻦ ﻣﻌﻤﺎري را ﭼﻨﻴﻦ ﺗﻌﺮﻳﻒ ﻛﺮد‪:‬‬
‫ﻫﺮ ﻣﻌﻤﺎري ﻛﻪ در آن ﻗﺴﻤﺘﻲ از ﭘﺮدازش را ﻳﻚ ﺑﺮﻧﺎﻣﻪ‪ ،‬ﺳﻴﺴﺘﻢ ﻳﺎ ﻣﺎﺷﻴﻦ‬
‫اﻧﺠﺎم دﻫﺪ و اﻧﺠﺎم ﻗﺴﻤﺖ دﻳﮕﺮ از ﭘﺮدازش را از ﺑﺮﻧﺎﻣﻪ‪ ،‬ﺳﻴﺴﺘﻢ ﻳﺎ ﻣﺎﺷﻴﻦ‬
‫ﻣﻲ ﺷﻮد‪.‬‬ ‫دﻳﮕﺮ ﺑﺨﻮاﻫﺪ‪ ،‬ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار ﻧﺎﻣﻴﺪه‬

‫در واﻗﻊ وﻇﺎﻳﻔﻲ ﻛﻪ ﺑﺎﻳﺪ " ﺳﻴﺴﺘﻢ" اﻧﺠﺎم دﻫﺪ ﺑﻪ دو دﺳﺘﻪ ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮﻧﺪ‪:‬‬
‫دﺳﺘﻪاي ﻛﻪ اﻧﺠﺎم آن ﺑﺮ ﻋﻬﺪه ﺧﺪﻣﺘﮕﺰار اﺳﺖ‬ ‫•‬
‫دﺳﺘﻪاي ﻛﻪ ﺗﻮﺳﻂ ﻣﺸﺘﺮي اﻧﺠﺎم ﻣﻲﺷﻮد‪.‬‬ ‫•‬

‫ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻳﻚ ﻣﻌﻤﺎري دو ﺳﻄﺤﻲ دارﻳﻢ ﻛﻪ ﺑﺮﺧﻮرد ﺑﺎ ﭘﻴﭽﻴﺪﮔﻲ ﺳﻴﺴﺘﻢ ﻫﺎي‬


‫)‪ (DBMS‬ﺟﺪﻳﺪ و ﻧﻴﺰ ﻣﺸﻜﻞ ﺗﻮزﻳﻊ را ﺗﺴﻬﻴﻞ ﻣﻲ ﻛﻨﺪ‪ .‬ﻣﺎﺷﻴﻦ در اﻳﻦ ﺗﻌﺮﻳﻒ در‬
‫ﻣﻌﻨﺎي ﻋﺎم آن آﻣﺪه اﺳﺖ )ﻓﻴﺰﻳﻜﻲ ﻳﺎ ﻣﻨﻄﻘﻲ(‪ .‬ﺑﺎ اﻳﻦ ﺗﻌﺮﻳﻒ‪ ،‬در اﻳﻦ ﻣﻌﻤﺎري ﻳﻚ‬
‫ﻣﺎﺷﻴﻦ )ﻳﺎ ﺳﻴﺴﺘﻢ ﻳﺎ ﺑﺮﻧﺎﻣﻪ( ﺧﺪﻣﺘﻲ را ﺑﻪ ﻣﺎﺷﻴﻦ )ﻳﺎ ﺳﻴﺴﺘﻢ ﻳﺎ ﺑﺮﻧﺎﻣﻪ( دﻳﮕﺮ اراﺋﻪ‬
‫ﻣﻲ ﻛﻨﺪ‪ ،‬از اﻳﻦ رو ﺑﻪ اﻳﻦ ﻣﺎﺷﻴﻦ )ﻳﺎ ﺳﻴﺴﺘﻢ ﻳﺎ ﺑﺮﻧﺎﻣﻪ(‪ ،‬ﺧﺪﻣﺘﮕﺰار ﻣﻲ ﮔﻮﻳﻨﺪ‪.‬‬
‫ﺑﻨﺎﺑﺮاﻳﻦ‪ ،‬ﻣﻨﻈﻮر از ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪-‬ﺧﺪﻣﺘﮕﺰار آن ﻧﻮع از ﻣﻌﻤﺎري اﺳﺖ ﻛﻪ در آن‬
‫ﻣﺴﺌﻮﻟﻴﺖ ﻫﺎ ﺑﻪ ﻃﻮر ﻣﻨﻄﻘﻲ ﺗﻘﺴﻴﻢ ﺷﺪه اﺳﺖ‪.‬‬
‫ﺗﻮﺟﻪ‪ :‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻦ ﺗﻘﺴﻴﻢ ﻛﺎر‪ ،‬ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﻣﻮﺿﻮع ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ ﺣﺘﻤﺎ‬
‫ﺣﺪاﻗﻞ دو ﻛﺎﻣﭙﻴﻮﺗﺮ در اﻳﻦ ﻣﻌﻤﺎري وﺟﻮد دارد‪ .‬ﺣﺎل آﻧﻜﻪ ﻟﺰوﻣﺎ ﭼﻨﻴﻦ ﻧﻴﺴﺖ‪ ،‬دو‬
‫‪www.PDFgozar.com‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪213‬‬

‫ﺑﺮﻧﺎﻣﻪ‪ ،‬دو زﻳﺮ ﺳﻴﺴﺘﻢ از ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي و‪ ...‬ﻣﻲ ﺗﻮاﻧﻨﺪ ﺑﺎ ﻫﻢ ﺗﻘﺴﻴﻢ ﻛﺎر‬
‫داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪ ....‬اﻣﺎ در ﻣﺤﻴﻂ ﻫﺎي ﺟﺪﻳﺪ‪ ،‬ﻣﻌﻤﻮﻻً ﺑﺎ ﺗﻌﺪادي ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ‪،‬‬
‫اﻳﺴﺘﮕﺎه ﻛﺎر‪ ،‬ﭼﺎﭘﮕﺮ‪ ،‬ﺧﺪﻣﺘﮕﺰار ﻓﺎﻳﻞ و ﺗﺠﻬﻴﺰات دﻳﮕﺮ‪ ،‬اﻳﺠﺎد ﻣﻲ ﺷﻮد‪.‬‬

‫‪ 2-1-2-2‬ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي‪-‬ﺧﺪﻣﺘﮕﺰار‬


‫در اﻳﻦ ﻣﻌﻤﺎري ﻣﻌﻤﻮﻻً دو ﮔﺮوه ﻛﺎﻣﭙﻴﻮﺗﺮ دارﻳﻢ‪ :‬ﮔﺮوه ﻣﺸﺘﺮي و ﮔﺮوه ﺧﺪﻣﺘﮕﺰار‪.‬‬
‫ﺗﻤﺎم دادهﻫﺎ در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺧﺪﻣﺘﮕﺰار ذﺧﻴﺮه ﻣﻲ ﺷﻮﻧﺪ و ﺗﻤﺎم ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﺎرﺑﺮدي‬
‫در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺸﺘﺮي اﺟﺮا ﻣﻲ ﺷﻮﻧﺪ‪ .‬در ﺷﻜﻞ ‪ 2-10‬ﻣﺜﺎﻟﻲ از ﻃﺮح ﺳﺎده ﺷﺪه‬
‫اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﻳﻚ ﻣﺸﺘﺮي و ﻳﻚ ﺧﺪﻣﺘﮕﺰار دﻳﺪه ﻣﻲﺷﻮد )ﮔﺎه ﻣﻮﺳﻮم ﺑﻪ ﻣﻌﻤﺎري‬
‫ردﻳﻔﻲ‪ (n≥2 ،‬ﻫﻢ وﺟﻮد‬ ‫‪n‬‬ ‫دو ردﻳﻔﻲ‪ .‬اﻟﺒﺘﻪ ﻣﻌﻤﺎري ﺳﻪ ردﻳﻔﻲ )و از ﻧﻈﺮ ﺗﺌﻮرﻳﻚ‪،‬‬
‫دارد(‪.‬‬

‫ﺷﻜﻞ ‪ 2-10‬ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‬

‫ﻛﺎرﺑﺮ در ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ﻣﻲﺗﻮاﻧﺪ از ﻃﺮﻳﻖ واﺳﻂ زﻣﺎﻧﻲ )ﻣﺜﻼ زﺑﺎن دادهاي ﻓﺮﻋﻲ(‬
‫ﻳﺎ واﺳﻂﻫﺎي دﻳﮕﺮ ﻣﺜﻞ واﺳﻂ ﮔﺮاﻓﻴﻜﻲ‪ ،‬واﺳﻂ ﻓﺮﻣﻲو‪ ...‬ﻋﻤﻞ ﻛﻨﺪ‪ .‬در ﺷﻜﻞ ‪،3-10‬‬
‫دﻳﺪه ﻣﻲﺷﻮد‪ .‬در‬ ‫‪RDBMS‬‬ ‫ﻋﻨﺎﺻﺮ ﻣﺤﻴﻂ ﻧﺮماﻓﺰاري اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﻓﺮض وﺟﻮد ﻳﻚ‬
‫در ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي و ﺑﻘﻴﻪ واﺣﺪﻫﺎي آن در ﻣﺎﺷﻴﻦ‬ ‫‪RDBMS‬‬ ‫اﻳﻦ ﺷﻜﻞ‪ ،‬واﺣﺪﻫﺎﻳﻲ از‬
‫ﺧﺪﻣﺘﮕﺰار ﻗﺮار دارﻧﺪ‪.‬‬
‫‪JDBC‬‬ ‫و‬ ‫‪ODBC‬‬ ‫ﺑﺮاي ﺗﺴﻬﻴﻞ ﺗﻤﺎس ﺑﻴﻦ ﻣﺸﺘﺮي و ﺧﺪﻣﺘﮕﺰار‪ ،‬اﺑﺰارﻫﺎﻳﻲ ﻣﺜﻞ‬
‫و‪ ...‬ﺗﻮﻟﻴﺪ ﺷﺪهاﻧﺪ‪ .‬اﻳﻦ اﺑﺰارﻫﺎ در اﺳﺎس واﺳﻂ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﻪ ﻣﺸﺘﺮيﻫﺎ‬
‫ﺗﻮﻟﻴﺪ ﺷﺪه و ﺑﻪ ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار‬ ‫‪SQL‬‬ ‫اﻣﻜﺎن ﻣﻲدﻫﻨﺪ ﺗﺎ ﭘﺮﺳﺶﻫﺎ ﺑﻪ ﺻﻮرت اﺣﻜﺎم‬
‫ﻓﺮﺳﺘﺎده ﺷﻮﻧﺪ‪ .‬ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ واﺳﻂ اﺳﺘﺎﻧﺪه‪ ،‬ﻫﺮ ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ﻣﻲﺗﻮاﻧﺪ ﺑﺎ ﻫﺮ ﻣﺎﺷﻴﻦ‬
‫ﺧﺪﻣﺘﮕﺰار ﻣﺘﺼﻞ ﺑﺎﺷﺪ و ﻧﻴﺎز ﻧﻴﺴﺖ ﻛﻪ ﻣﺤﻴﻂ ﺳﻴﺴﺘﻤﻲدو ﻣﺎﺷﻴﻦ‪ ،‬ﻫﻤﮕﻦ ﺑﺎﺷﺪ‪ .‬در‬
‫‪www.PDFgozar.com‬‬

‫‪ 214‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﺑﻌﻀﻲ از ﻛﺎرﺑﺮدﻫﺎ‪ ،‬ﻣﻤﻜﻦ اﺳﺖ واﺳﻄﻬﺎي ﺧﺎص در ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‬
‫و ﺣﺘﻲ ﺧﻮد ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ﻫﻢ ﻣﻲﺗﻮاﻧﺪ ﻣﺎﺷﻴﻦ ﺧﺎﺻﻲ ﺑﺎﺷﺪ‪.‬‬

‫ﺷﻜﻞ ‪ 3-10‬ﻳﻚ ﻃﺮح ﻣﻤﻜﻦ از اﺟﺰاء ﻧﺮماﻓﺰاري ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪-‬ﺧﺪﻣﺘﮕﺰار‬

‫در ﺑﻌﻀﻲ از ﺳﻴﺴﺘﻢﻫﺎ‪ ،‬ﺗﻤﺎس ﻣﺸﺘﺮي ﺑﺎ ﺧﺪﻣﺘﮕﺰار از ﻃﺮﻳﻖ ﻓﺮاﺧﻮان دور اﻧﺠﺎم‬
‫ﻣﻲﺷﻮد‪ .‬ﺗﻤﺎم ﻓﺮاﺧﻮانﻫﺎي دور از ﺳﻮي ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي‪ ،‬در ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﺗﺮﻛﻨﺶ در‬
‫ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار ﺟﺎي داده ﻣﻲﺷﻮﻧﺪ ﺗﺎ در اﻳﻦ ﻣﺎﺷﻴﻦ اﺟﺮا ﺷﻮﻧﺪ‪ ،‬ﺑﻪ ﮔﻮﻧﻪاي ﻛﻪ اﮔﺮ‬
‫ﺗﺮاﻛﻨﺶ ﺑﻪ ﻫﺮ دﻟﻴﻠﻲ‪ ،‬ﻃﺮد ﺷﻮد‪ ،‬ﺧﺪﻣﺘﮕﺰار ﻣﻲﺗﻮاﻧﺪ ﺗﺎﺛﻴﺮات اﺟﺮاي ﻫﺮ ﻳﻚ از‬
‫ﻓﺮاﺧﻮانﻫﺎي دور را از ﺑﻴﻦ ﺑﺮده‪ ،‬ﭘﺎﻳﮕﺎهدادهﻫﺎ را ﺑﻪ وﺿﻊ ﺻﺤﻴﺢ ﻗﺒﻞ از اﺟﺮاي‬
‫ﺗﺮاﻛﻨﺶ ﺑﺮﮔﺮداﻧﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪215‬‬

‫‪ 3-1-2-2‬ﻃﺮﺣﻬﺎي ﻣﻌﻤﺎري‬
‫‪ 1- 3-1-2-2‬از ﻧﻈﺮ ﺗﻌﺪاد ﻣﺸﺘﺮي و ﺧﺪﻣﺘﮕﺰار‬
‫از ﻧﻈﺮ ﺗﻌﺪاد ﻣﺸﺘﺮي و ﺧﺪﻣﺖ ﮔﺬار ﻃﺮﺣﻬﺎي زﻳﺮ وﺟﻮد دارﻧﺪ‪:‬‬
‫ﻳﻚ ﻣﺸﺘﺮي‪ -‬ﻳﻚ ﺧﺪﻣﺘﮕﺰار‬ ‫•‬
‫ﭼﻨﺪ ﻣﺸﺘﺮي‪ -‬ﻳﻚ ﺧﺪﻣﺘﮕﺰار‬ ‫•‬
‫ﻳﻚ ﻣﺸﺘﺮي‪ -‬ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار‬ ‫•‬
‫ﭼﻨﺪ ﻣﺸﺘﺮي‪ -‬ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار‬ ‫•‬

‫‪ 2- 3-1-2-2‬از ﻧﻈﺮ ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري‬


‫از ﻧﻈﺮ ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖ اﻓﺰاري ‪ ،‬دو ﻧﻮع ﻣﻌﻤﺎري ﺑﻪ ﺷﺮح زﻳﺮ وﺟﻮد دارد‪:‬‬
‫ﻣﻌﻤﺎري ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ‬ ‫•‬
‫ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ‬ ‫•‬

‫ﻣﻌﻤﺎري ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ‬


‫در اﻳﻦ ﻃﺮح‪ ،‬ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ اﺳﺖ و ﭘﺎﻳﮕﺎه داده ﻫﺎ روي ﻫﻤﻴﻦ‬
‫ﻛﺎﻣﭙﻴﻮﺗﺮ اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ ﻣﻲﺷﻮد و ﺗﻌﺪادي ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ‪ ،‬از ﺧﺪﻣﺎت ﭘﺎﻳﮕﺎﻫﻲ‬
‫اﻳﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻨﺪ‪ .‬ﻣﺜﺎﻟﻲ از ﻃﺮح اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ ‪4-10‬‬
‫ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪.‬‬

‫ﺷﻜﻞ ‪ 4-10‬ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ‬


‫‪www.PDFgozar.com‬‬

‫‪ 216‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ‬


‫در اﻳﻦ ﻃﺮح‪ ،‬ﺗﻌﺪادي ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ ﺑﻪ ﻋﻨﻮان ﺧﺪﻣﺘﮕﺰار و ﺗﻌﺪادي دﻳﮕﺮ ﺑﻪ‬
‫ﻋﻨﻮان ﻣﺸﺘﺮي‪ ،‬از ﻃﺮﻳﻖ ﺷﺒﻜﻪ ﺑﻬﻢ ﻣﺮﺗﺒﻂ اﻧﺪ‪ .‬ﻳﻚ )ﻳﺎ ﺑﻴﺶ از ﻳﻚ( ﻛﺎﻣﭙﻴﻮﺗﺮ‬
‫ﺷﺨﺼﻲ‪ ،‬ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎه داده ﻫﺎﺳﺖ و ﺧﺪﻣﺘﮕﺰاران دﻳﮕﺮي ﻫﻢ ﻣﻲ ﺗﻮاﻧﻨﺪ وﺟﻮد‬
‫داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪ .‬ﻣﺜﺎﻟﻲ از ﻃﺮح اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ ‪ 5-10‬دﻳﺪه ﻣﻲ ﺷﻮد‪.‬‬

‫‪ 4-1-2-2‬ﻣﺰاﻳﺎي ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‬


‫در ﻣﻘﺎﻳﺴﻪ ﺑﺎ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ‪ ،‬اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري ﻣﺰاﻳﺎي زﻳﺮ را دارد‪:‬‬
‫ﺗﻘﺴﻴﻢ ﭘﺮدازش‬ ‫•‬
‫ﻛﺎﻫﺶ ﺗﺮاﻓﻴﻚ ﺷﺒﻜﻪ )در ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ(‬ ‫•‬
‫اﺳﺘﻘﻼل اﻳﺴﺘﮕﺎﻫﻬﺎي ﻛﺎر‬ ‫•‬
‫اﺷﺘﺮاك دادهﻫﺎ‬ ‫•‬

‫ﺷﻜﻞ ‪ 5-10‬ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار ﺣﻮل ﺷﺒﻜﻪ‬


‫‪www.PDFgozar.com‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪217‬‬

‫‪ 2-2-2‬ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه‬


‫‪ 1-2-2-2‬ﺗﻌﺮﻳﻒ‬
‫ﻣﺠﻤﻮﻋﻪ اي از داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه‪ ،‬ﻛﻪ ﻣﻨﻄﻘﺎً ﺑﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﺗﻌﻠﻖ دارﻧﺪ‪ ،‬وﻟﻲ در‬
‫ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺨﺘﻠﻒ ﻛﻪ در ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﺷﺒﻜﻪ ﺗﻮزﻳﻊ ﺷﺪه اﻧﺪ‪ ،‬ﻗﺮار ﮔﺮﻓﺘﻪ اﻧﺪ‪.‬‬
‫ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ در اﻳﻦ ﻣﻌﻤﺎري ﺗﻌﺪادي ﭘﺎﻳﮕﺎه داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه روي‬
‫ﻛﺎﻣﭙﻴﻮﺗﺮ ﻫﺎي ﻣﺨﺘﻠﻒ دارﻳﻢ ﻛﻪ از ﻧﻈﺮ ﻛﺎرﺑﺮان‪ ،‬ﭘﺎﻳﮕﺎه واﺣﺪي ﻫﺴﺘﻨﺪ‪ .‬ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ‪،‬‬
‫اﻳﻦ ﻣﻌﻤﺎري ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از ﭼﻨﺪ ﭘﺎﻳﮕﺎه داده ﻣﻨﻄﻘﺎً ﻳﻜﭙﺎرﭼﻪ )ﻣﺠﺘﻤﻊ(‪ ،‬وﻟﻲ ﺑﻪ‬
‫ﻃﻮر ﻓﻴﺰﻳﻜﻲ ﺗﻮزﻳﻊ ﺷﺪه روي ﻳﻚ ﺷﺒﻜﻪ ﻛﺎﻣﭙﻴﻮﺗﺮي‪ .‬ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ در اﻳﻦ‬
‫ﻣﻌﻤﺎري‪ ،‬در ﺳﻄﺢ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه‪ ،‬در آﻏﺎز ﻳﻚ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻳﻜﭙﺎرﭼﻪ‬
‫دارﻳﻢ ﻛﻪ ﻃﺮاح ﺑﺮ اﺳﺎس ﻳﻚ اﺳﺘﺮاﺗﮋي ﺗﻮزﻳﻊ و ﻳﻚ ﻃﺮح ﺗﺨﺼﻴﺺ ﻣﺸﺨﺺ‪،‬‬
‫داده ﻫﺎﻳﺶ را در ﭼﻨﺪ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺗﻮزﻳﻊ ﻣﻲﻛﻨﺪ‪ .‬ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﭼﻨﺎن ﻫﻤﻜﺎري‬
‫دارﻧﺪ ﻛﻪ ﻫﺮ ﻛﺎرﺑﺮ ﻣﻲ ﺗﻮاﻧﺪ ﺑﻪ داده ﻫﺎي ﻣﻮرد ﻧﻴﺎزش در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ دﺳﺘﻴﺎﺑﻲ داﺷﺘﻪ‬
‫ﺑﺎﺷﺪ ﺑﻪ ﮔﻮﻧﻪ اي ﻛﻪ اﻧﮕﺎر دادهﻫﺎ در ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﻮدش ذﺧﻴﺮه ﺷﺪه ﺑﺎﺷﻨﺪ‪.‬‬
‫در اﻳﻦ ﻣﻌﻤﺎري ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﻮد ﻳﻚ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎﺳﺖ ﻳﻌﻨﻲ‪:‬‬
‫ﭘﺎﻳﮕﺎهدادهﻫﺎ‪ ،‬ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﻣﺪﻳﺮ اﻧﺘﻘﺎل دادهﻫﺎ دارد‪ .‬اﺻﻄﻼﺣﺎ‬
‫ﻣﺤﻠﻲ دارﻳﻢ و ﺑﺮاي اﻳﺠﺎد ﻫﻤﺎﻫﻨﮕﻲ ﺑﻴﻦ اﻳﻦ ﺳﻴﺴﺘﻢﻫﺎي‬ ‫‪DBMS‬‬ ‫ﻣﻲﮔﻮﻳﻴﻢ ﺗﻌﺪادي‬
‫اﺳﺖ‪ ،‬ﻻزم اﺳﺖ‪ .‬در واﻗﻊ‬ ‫‪DBMS‬‬ ‫ﻣﺤﻠﻲ‪ ،‬ﻋﻨﺼﺮ ﻧﺮماﻓﺰاري ﺧﺎﺻﻲ ﻛﻪ ﻧﻮﻋﻲ ﮔﺴﺘﺮش‬
‫ﺑﺎ ﺗﻮاﻧﺶ اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ‬ ‫‪DBMS‬‬ ‫دارﻳﻢ‪ ،‬ﻳﻌﻨﻲ ﻳﻚ‬ ‫‪DDBMS‬‬ ‫در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬ﻳﻚ‬
‫ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺗﻮزﻳﻊ ﺷﺪه‪ .‬ﺑﻨﺎﺑﺮﻳﻦ ﻧﻤﺎي ﻛﻠﻲ ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﻪ ﺻﻮرﺗﻲ اﺳﺖ ﻛﻪ در ﺷﻜﻞ‬
‫‪ 6-10‬دﻳﺪه ﻣﻲﺷﻮد‪.‬‬

‫ﺷﻜﻞ ‪ 6-10‬ﻧﻤﺎي ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ در ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه‬


‫‪www.PDFgozar.com‬‬

‫‪ 218‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ از ﻃﺮﻳﻖ اﻣﻜﺎﻧﺎت ﺷﺒﻜﻪاي )ﻣﺤﻠﻲ‪ ،‬ﮔﺴﺘﺮده و ﻳﺎ ﻣﺘﺤﺮك( ﺑﻪ ﻫﻢ‬


‫ﻣﺮﺗﺒﻂاﻧﺪ و ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ اﺟﺰا و ﻋﻨﺎﺻﺮ ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﺧﻮد را دارد‪ .‬اﻳﻦ‬
‫اﺟﺰا و ﻋﻨﺎﺻﺮ ﻣﻲﺗﻮاﻧﻨﺪ ﻫﻤﮕﻦ ﻳﺎ ﻧﺎﻫﻤﮕﻦ ﺑﺎﺷﻨﺪ‪ .‬ﻣﺜﺎﻟﻲ از ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري‬
‫درﺷﻜﻞ‪ 7-10‬دﻳﺪه ﻣﻲﺷﻮد‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺮﻳﻒ اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري و ﻃﺮح ﻛﻠﻲ آن‪،‬‬
‫وﻳﮋﮔﻴﻬﺎي اﻳﻦ ﺳﻴﺴﺘﻢ را ﻣﻲﺗﻮان ﭼﻨﻴﻦ ﺑﺮﺷﻤﺮد‪:‬‬
‫ﻣﺠﻤﻮﻋﻪاي اﺳﺖ از دادهﻫﺎي ﻣﻨﻄﻘﺎً ﻣﺮﺗﺒﻂ و اﺷﺘﺮاﻛﻲ‬ ‫•‬
‫ﺑﻌﺾ ﺑﺨﺸﻬﺎ ﻣﻤﻜﻦ اﺳﺖ ﺑﻄﻮر ﺗﻜﺮاري )در ﭼﻨﺪ ﻧﺴﺨﻪ( در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ذﺧﻴﺮه‬ ‫•‬
‫ﺷﺪه ﺑﺎﺷﻨﺪ‪.‬‬
‫ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ از ﻃﺮﻳﻖ ﻳﻚ ﺷﺒﻜﻪ ﺑﻬﻢ ﻣﺮﺗﺒﻂاﻧﺪ‪.‬‬ ‫•‬
‫دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺗﺤﺖ ﻛﻨﺘﺮل ﻳﻚ ‪ DBMS‬اﺳﺖ‪.‬‬ ‫•‬
‫در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬ﻣﻲﺗﻮاﻧﺪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻣﺤﻠﻲ‪ ،‬را ﺑﻄﻮر‬ ‫‪DBMS‬‬ ‫•‬
‫اﺗﻮﻣﺎﺗﻴﻚ اﺟﺮا ﻛﻨﺪ‪.‬‬
‫ﻫﺮ ‪ DBMS‬ﺣﺪاﻗﻞ در اﺟﺮاي ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي ﺳﺮﺗﺎﺳﺮي ﻣﺸﺎرﻛﺖ دارد‪.‬‬ ‫•‬

‫ﺷﻜﻞ ‪ 7-10‬ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه ﺑﺎ ﺳﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ‬


‫‪www.PDFgozar.com‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪219‬‬

‫‪ 2-2-2-2‬ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖاﻓﺰاري‬
‫ﮔﻔﺘﻴﻢ ﻛﻪ اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه اﻳﻦ ﻣﻌﻤﺎري ﻣﻲ ﺗﻮاﻧﻨﺪ ﻫﻤﮕﻦ ﻳﺎ ﻧﺎ ﻫﻤﮕﻦ ﺑﺎﺷﻨﺪ‪ ،‬ﺑﻪ‬
‫وﻳﮋه از ﻧﻈﺮ ﺳﺨﺖ اﻓﺰاري‪ ،‬ﭘﻴﻜﺮﺑﻨﺪي ﻫﺎي ﮔﻮﻧﺎﮔﻮﻧﻲ ﭘﻨﺪاﺷﺘﻨﻲ اﺳﺖ‪ .‬در ﻣﺜﺎل ﺷﻜﻞ‬
‫‪ 8-10‬دو ﭘﻴﻜﺮﺑﻨﺪي دﻳﺪه ﻣﻲﺷﻮد‪ .‬در اﻳﻦ ﻣﻌﻤﺎري اﺟﺰاء زﻳﺮ ﻣﻲ ﺗﻮاﻧﻨﺪ ﻫﻤﮕﻦ ﻳﺎ ﻧﺎ‬
‫ﻫﻤﮕﻦ ﺑﺎﺷﻨﺪ‪:‬‬
‫ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ‬ ‫•‬
‫ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬ ‫•‬
‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده )ﺑﻮﻳﮋه از ﻧﻈﺮ ﻣﺪل دادهاي و زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ(‬ ‫•‬
‫ﭘﺮوﺗﻮﻛﻠﻬﺎي ﺷﺒﻜﻪ‬ ‫•‬
‫ﺳﺨﺖاﻓﺰار ارﺗﺒﺎط‬ ‫•‬
‫ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي‬ ‫•‬
‫ﺗﺴﻬﻴﻼت و اﺑﺰارﻫﺎي )ﻧﺮماﻓﺰاري( ﺟﺎﻧﺒﻲ‬ ‫•‬

‫ﺷﻜﻞ ‪ 8-10‬دو ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖاﻓﺰاري در ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه‬


‫‪www.PDFgozar.com‬‬

‫‪ 220‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫‪ 3-2-2- 2‬ﻗﻮاﻋﺪ‬
‫اﺻﻞ ﻣﻬﻢ در ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه اﻳﻦ اﺳﺖ ﻛﻪ "ﺳﻴﺴﺘﻢ" ﺑﺎﻳﺪ ﺟﻨﺎن‬
‫ﻋﻤﻞ ﻛﻨﺪ ﻛﻪ ﻛﺎرﺑﺮان دﻗﻴﻘﺎ ﻣﺜﻞ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻣﺘﻤﺮﻛﺰ ﻣﻌﻤﻮﻟﻲ از آن اﺳﺘﻔﺎده‬
‫ﻛﻨﻨﺪ )و اﻳﻦ وﻳﮋﮔﻲ‪ ،‬ﻳﻜﻲ از ﺗﻔﺎوت ﻫﺎي اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‬
‫اﺳﺖ(‪ .‬ﺑﺮاي رﻋﺎﻳﺖ اﻳﻦ اﺻﻞ ﻣﻬﻢ‪ ،‬در ﻫﺮ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه ﻗﻮاﻋﺪي ﺑﺎﻳﺪ‬
‫رﻋﺎﻳﺖ ﺷﻮﻧﺪ ﻛﻪ در واﻗﻊ اﻫﺪاف اﻳﻦ ﺳﻴﺴﺘﻢ ﻫﻢ ﻫﺴﺘﻨﺪ‪ .‬ﺑﺮﺧﻲ از اﻳﻦ ﻋﻮاﻣﻞ‬
‫ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫ﺧﻮد ﻣﺨﺘﺎري ﻣﺤﻠﻲ )داﺧﻠﻲ(‬ ‫•‬
‫ﺗﺪاوم ﻋﻤﻠﻴﺎت‬ ‫•‬
‫ﻧﺎواﺑﺴﺘﮕﻲ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺑﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ اﺻﻠﻲ‬ ‫•‬
‫ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﻣﻜﺎن ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ‬ ‫•‬
‫ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﻃﺮز ﺟﺎﻳﺪﻫﻲ دادهﻫﺎ در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ‪.‬‬ ‫•‬
‫ﭘﺮدازش ﭘﺮﺳﺸﻬﺎ ﺑﻪ ﮔﻮﻧﻪاي ﺗﻮزﻳﻊ ﺷﺪه‬ ‫•‬
‫ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺳﺨﺖاﻓﺰار‬ ‫•‬
‫ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬ ‫•‬
‫ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫•‬
‫ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺷﺒﻜﻪ‬ ‫•‬

‫‪ 4-2-2-2‬ﻣﺰاﻳﺎ‬
‫ﺑﺮﺧﻲ از ﻣﺰاﻳﺎي اﻳﻦ ﻣﻌﻤﺎري ﻋﺒﺎرﺗﺴﺖ از‪:‬‬
‫ﺳﺎزﮔﺎري و ﻫﻤﺎﻫﻨﮕﻲ ﺑﺎ ﻣﺎﻫﻴﺖ ﺳﺎزﻣﺎنﻫﺎي ﻧﻮﻳﻦ‬ ‫•‬
‫ﻛﺎراﻳﻲ ﺑﻴﺸﺘﺮ در ﭘﺮدازش دادهﻫﺎ ﺑﻪ وﻳﮋه در ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺑﺰرگ‬ ‫•‬
‫دﺳﺘﻴﺎﺑﻲ ﺑﻬﺘﺮ ﺑﻪ دادهﻫﺎ‬ ‫•‬
‫اﺷﺘﺮاك دادهﻫﺎ‬ ‫•‬
‫اﻓﺰاﻳﺶ ﭘﺮدازش ﻣﻮازي‬ ‫•‬
‫ﻛﺎﻫﺶ ﻫﺰﻳﻨﻪ ارﺗﺒﺎﻃﺎت‬ ‫•‬
‫ﺗﺴﻬﻴﻞ ﮔﺴﺘﺮش ﺳﻴﺴﺘﻢ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪221‬‬

‫اﺳﺘﻔﺎده از ﭘﺎﻳﮕﺎهدادهﻫﺎي از ﻗﺒﻞ ﻣﻮﺟﻮد‬ ‫•‬

‫‪ 5-2-2-2‬ﻣﻌﺎﻳﺐ‬
‫اﻳﻦ ﻣﻌﻤﺎري ﻣﻌﺎﻳﺒﻲ ﻫﻢ دارد از ﺟﻤﻠﻪ‪:‬‬
‫ﭘﻴﭽﻴﺪﮔﻲ ﻃﺮاﺣﻲ ﺳﻴﺴﺘﻢ‬ ‫•‬
‫ﭘﻴﭽﻴﺪﮔﻲ ﭘﻴﺎده ﺳﺎزي‬ ‫•‬
‫ﻛﺎﻫﺶ ﻛﺎراﻳﻲ در ﺑﺮﺧﻲ ﻣﻮارد‬ ‫•‬
‫ﻫﺰﻳﻨﻪ ﺑﻴﺸﺘﺮ‬ ‫•‬
‫ﻣﺼﺮف ﺣﺎﻓﻈﻪ ﺑﻴﺸﺘﺮ‬ ‫•‬

‫‪ 3-2-2‬ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي‬


‫اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﺳﺎﺧﺖ و ﮔﺴﺘﺮش ﻣﺎﺷﻴﻦ ﻫﺎي ﻣﻮازي‪ ،‬ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎه داده ﻫﺎي‬
‫ﺧﻴﻠﻲ ﺑﺰرگ و ﻧﻴﺰ در ﺳﻴﺴﺘﻢ ﻫﺎﻳﻲ ﻛﻪ ﭼﻨﺪ ﻫﺰار ﺗﺮاﻛﻨﺶ در ﺛﺎﻧﻴﻪ را ﭘﺮدازش‬
‫ﻣﻲ ﻛﻨﻨﺪ ‪ ،‬ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﮔﺮﻓﺖ‪ .‬ﮔﻮﻧﻪ ﮔﺴﺘﺮش ﻳﺎﻓﺘﻪ ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه اﺳﺖ و‬
‫ﺑﺮاي ﺗﺎﻣﻴﻦ ﻛﺎراﻳﻲ ﺑﻴﺸﺘﺮ‪ ،‬دﺳﺘﻴﺎﺑﻲ ﭘﺬﻳﺮي ﺑﺎﻻ و ﮔﺴﺘﺮش ﭘﺬﻳﺮي ﺳﺮﻳﻊ ﻃﺮاﺣﻲ‬
‫ﻣﻲ ﺷﻮد‪ .‬در اﻳﻨﮕﻮﻧﻪ ﺳﻴﺴﺘﻢﻫﺎ ﻣﻌﻤﻮﻻً ﺗﻌﺪاد زﻳﺎدي ﺗﺮاﻛﻨﺶ در ﺛﺎﻧﻴﻪ )ﺣﺪود ﭼﻨﺪ‬
‫ﻫﺰار( و ﺑﻄﻮر ﻣﻮازي اﺟﺮا ﻣﻲ ﺷﻮﻧﺪ‪ .‬ﻣﻄﺎﻟﻌﻪ ﻣﺎﺷﻴﻦ ﻫﺎي ﻣﻮازي از ﺣﺪود اﻳﻦ درس‬
‫ﺧﺎرج اﺳﺖ‪ ،‬ﺗﻨﻬﺎ اﺷﺎره ﻣﻲﺷﻮد ﻛﻪ ﻣﺎﺷﻴﻦ ﻣﻮازي ﺑﺮ اﺳﺎس ﻳﻜﻲ از دو ﻃﺮح ﻛﻠﻲ‬
‫زﻳﺮ ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﻣﻲ ﺷﻮد‪:‬‬
‫ﭼﻨﺪ ﭘﺮدازﻧﺪه ﻗﻮي )دو ﻳﺎ ﭼﻬﺎر در ﺣﺎل ﺣﺎﺿﺮ و ﮔﺎه ﺑﻴﺸﺘﺮ(‬ ‫•‬
‫ﺗﻌﺪادي ﭘﺮدازﻧﺪه ﻛﻮﭼﻚ )ﮔﺎه ﭼﻨﺪ ﺳﻄﺮ ﻳﺎ ﺣﺘﻲ ﺑﻴﺸﺘﺮ(‬ ‫•‬

‫در ﻣﺎﺷﻴﻦ ﺑﺎ ﭘﺮدازش ﻣﻮازي دو ﻫﺪف اﺳﺎﺳﻲ وﺟﻮد دارد‪:‬‬


‫اﻓﺰاﻳﺶ ﺳﺮﻋﺖ )ﻛﺎراﻳﻲ(‪ ،‬ﻳﻌﻨﻲ اﻧﺠﺎم ﻳﻚ ﻛﺎر در زﻣﺎن ﻛﻤﺘﺮ‬ ‫•‬
‫اﻓﺰاﻳﺶ ﻣﻘﻴﺎس ﻛﺎر )ﮔﺴﺘﺮش ﻛﺎر( ﻳﻌﻨﻲ اﻧﺠﺎم ﻛﺎرﻫﺎي ﺑﺰرگ ﺗﺮ در زﻣﺎن‬ ‫•‬
‫ﻛﻤﺘﺮ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 222‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫‪ 1-3-2-2‬ﻃﺮح ﻛﻠﻲ ﻣﻌﻤﺎري‬


‫اﻳﻦ ﻣﻌﻤﺎري ﺑﻪ ﺻﻮرت ﻛﻠﻲ در ﺷﻜﻞ ‪ 9-10‬دﻳﺪه ﻣﻲ ﺷﻮد‪ .‬ﻣﻲ ﺑﻴﻨﻴﻢ ﻛﻪ در ﭼﻨﻴﻦ‬
‫ﺳﻴﺴﺘﻤﻲ ‪ ،‬در اﺳﺎس ﺳﻪ واﺣﺪ اﺻﻠﻲ وﺟﻮد دارد‪:‬‬
‫ﻣﺪﻳﺮ ﺗﻤﺎسﻫﺎي اﺟﺮاﻳﻲ ﻛﺎرﺑﺮان‬ ‫•‬
‫ﻣﺪﻳﺮ درﺧﻮاﺳﺖﻫﺎ‬ ‫•‬
‫ﻣﺪﻳﺮ دادهﻫﺎ‬ ‫•‬

‫ﺷﻜﻞ ‪ 9-10‬ﻃﺮح ﻛﻠﻲ ﻣﻌﻤﺎري ﻣﻮازي‬

‫‪ 2-3-2-2‬ﻃﺮحﻫﺎ‬
‫ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺑﺎ ﻣﻌﻤﺎري ﭘﺮدازش ﻣﻮازي‪ ،‬ﺑﻪ ﻃﻮر ﻛﻠﻲ‪ ،‬ﭼﻬﺎر ﻣﺪل ﻳﺎ‬
‫ﻃﺮح وﺟﻮد دارد‪:‬‬
‫ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك‬ ‫•‬
‫ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚ ﻣﺸﺘﺮك‬ ‫•‬
‫ﻣﻌﻤﺎري ﺑﻲ اﺟﺰاء ﻣﺸﺘﺮك‬ ‫•‬
‫ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬ ‫•‬
‫‪www.PDFgozar.com‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪223‬‬

‫ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي ﻣﻮازي‪ ،‬ﻋﻼوه ﺑﺮ اﺳﺘﻔﺎده از ﻳﻜﻲ از اﻳﻦ ﻣﻌﻤﺎريﻫﺎ‪،‬‬


‫روشﻫﺎﻳﻲ ﻧﻴﺰ ﺑﺮاي ﺟﺎﻳﺪﻫﻲ دادهﻫﺎ روي دﻳﺴﻚﻫﺎ و ﻳﺎ در ﺣﺎﻓﻈﻪﻫﺎي ﻧﻬﺎن و ﻧﻴﺰ ﺑﻬﻴﻨﻪ‬
‫ﺳﺎزش ﭘﺮﺳﺶﻫﺎي ﻛﺎرﺑﺮان ﺑﻪ ﻛﺎر ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮﻧﺪ‪ ،‬ﺑﻨﺎﺑﺮﻳﻦ ﺻﺮف وﺟﻮد ﻣﻌﻤﺎري‬
‫ﻣﻮازي ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي ﻣﻮازي ﻛﺎﻓﻲ ﻧﻴﺴﺖ‪.‬‬

‫‪ 1-2-3-2-2‬ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك‬


‫در اﻳﻦ ﻃﺮح‪ ،‬ﭘﺮدازﻧﺪهﻫﺎ ﺑﻪ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك دﺳﺘﻴﺎﺑﻲ دارﻧﺪ‪ .‬ﻣﺰﻳﺖ اﻳﻦ ﻃﺮح اﻳﻦ‬
‫اﺳﺖ ﻛﻪ ارﺗﺒﺎط ﺑﻴﻦ ﭘﺮدازﻧﺪه ﻫﺎ ﺑﻄﻮر ﻛﺎرا اﻧﺠﺎم ﻣﻲﺷﻮد‪ .‬زﻳﺮا ﭘﻴﺎم ﻫﺎي ﺑﻴﻦ‬
‫ﭘﺮدازﻧﺪه ﻫﺎ ﺑﺎ ﻧﻮﺷﺘﻦ در ﺣﺎﻓﻈﻪ ﻣﺒﺎدﻟﻪ ﻣﻲ ﺷﻮد ﻛﻪ زﻣﺎن آن ﻛﻤﺘﺮ از ﻣﻴﻜﺮوﺛﺎﻧﻴﻪ اﺳﺖ‪.‬‬
‫داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﺣﺎﻓﻈﻪ در اﺧﺘﻴﺎر ﻫﻤﻪ ﭘﺮدازﻧﺪهﻫﺎ ﻗﺮار دارﻧﺪ‪.‬‬

‫ﺷﻜﻞ ‪ 10-10‬ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك‬

‫ﻋﻴﺐ اﻳﻦ ﻣﻌﻤﺎري در اﻳﻦ اﺳﺖ ﻛﻪ ﻧﻤﻲﺗﻮان ﺑﻴﺶ از ‪ 32‬ﻳﺎ ‪ 64‬ﭘﺮدازﻧﺪه داﺷﺖ‪،‬‬
‫زﻳﺮا اﺣﺘﻤﺎل ﺑﺮوز ﺗﻨﮕﻨﺎ در ﺑﺎزﺳﺎي ﺣﺎﻓﻈﻪاي ﻳﺎ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ اﻓﺰاﻳﺶ ﻣﻲﻳﺎﺑﺪ‪ .‬اﻟﺒﺘﻪ اﮔﺮ‬
‫‪www.PDFgozar.com‬‬

‫‪ 224‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫در ﻫﺮ ﭘﺮدازﻧﺪه ﺣﺎﻓﻈﻪ ﻧﻬﺎن ﺑﺎاﻧﺪازه ﺑﺰرگ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬دﻓﻌﺎت ﻣﺮاﺟﻌﻪ ﺑﻪ ﺣﺎﻓﻈﻪ‬
‫اﺻﻠﻲ ﻛﺎﻫﺶ ﻣﻲﻳﺎﺑﺪ‪ ،‬ﻫﺮ ﭼﻨﺪ ﻧﻤﻲﺗﻮان ﻫﻤﻪ دادهﻫﺎ را در اﻳﻦ ﺑﺎﻓﺮﻫﺎ ﺟﺎي داد‪ .‬ﻃﺮح‬
‫ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ ‪ 10-10‬ﻧﺸﺎن داده ﺷﺪه اﺳﺖ )در اﻳﻦ ﻃﺮح و ﻃﺮحﻫﺎي‬
‫ﺑﻌﺪي ﻣﻌﻤﺎري ﻣﻮازي‪ P ،‬ﺑﻪ ﺟﺎي ﭘﺮدازﻧﺪه و ‪ M‬ﺑﻪ ﺟﺎي ﺣﺎﻓﻈﻪ اﺳﺖ(‪.‬‬

‫‪ 2-2-3-2-2‬ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك‬


‫در اﻳﻦ ﻃﺮح‪ ،‬ﺗﻤﺎم ﭘﺮدازﻧﺪهﻫﺎ ﺑﻪ ﺗﻤﺎم دﻳﺴﻚ ﻫﺎ از ﻃﺮﻳﻖ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ دﺳﺘﻴﺎﺑﻲ‬
‫دارﻧﺪ‪ .‬ﻫﺮ ﭘﺮدازﻧﺪه‪ ،‬ﺣﺎﻓﻈﻪ اﺧﺘﺼﺎﺻﻲ ﺧﻮد را دارد‪ .‬ﻣﺰاﻳﺎي اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري ﺑﻪ‬
‫ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬
‫ﻋﺪم ﺑﺮوز ﺗﻨﮕﻨﺎ در ﺑﺎسﻫﺎي ﺣﺎﻓﻈﻪ‬ ‫•‬
‫ﺗﺴﻬﻴﻞ ﺗﺤﻤﻞ ﺧﺮاﺑﻲ‪ ،‬زﻳﺮا در ﺻﻮرت ﺧﺮاب ﺷﺪن ﻳﻚ ﭘﺮدازﻧﺪه ﻳﺎ ﺣﺎﻓﻈﻪ‪،‬‬ ‫•‬
‫ﭘﺮدازﻧﺪه دﻳﮕﺮ ﻣﻲﺗﻮاﻧﺪ ﻛﺎر را اداﻣﻪ دﻫﺪ‪ .‬ﻣﻲﺗﻮان از ﺳﻴﺴﺘﻢ ‪ RAID‬ﻫﻢ اﺳﺘﻔﺎده‬
‫ﻛﺮد‪.‬‬

‫ﺷﻜﻞ ‪ 11-10‬ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك‬


‫‪www.PDFgozar.com‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪225‬‬

‫اﻳﻦ ﻣﻌﻤﺎري داراي ﻋﻴﻮﺑﻲ ﻧﻴﺰ اﺳﺖ ﻛﻪ ﻣﻬﻤﺘﺮﻳﻦ ﻋﻴﺐ آن دﺷﻮاري در ﮔﺴﺘﺮش‬
‫ﺳﻴﺴﺘﻢ اﺳﺖ‪ ،‬زﻳﺮا ﺑﺎ اﻓﺰاﻳﺶ دﻳﺴﻚﻫﺎ و ﭘﺮدازﻧﺪهﻫﺎ‪ ،‬در ارﺗﺒﺎط ﺑﻴﻦ اﺟﺰا‪ ،‬ﺗﻨﮕﻨﺎ اﻳﺠﺎد‬
‫ﻣﻲﺷﻮد و ﺳﺮﻋﺖ ارﺗﻘﺎ ﺑﻴﻦ آﻧﻬﺎ ﻛﺎﻫﺶ ﻣﻲﻳﺎﺑﺪ‪ .‬ﻃﺮح ﻛﻠﻲ اﻳﻦ ﺳﻴﺴﺘﻢ در ﺷﻜﻞ ‪11-10‬‬
‫ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪.‬‬

‫‪ 3-2-3-2-2‬ﻣﻌﻤﺎري ﺑﻲ اﺟﺰا ﻣﺸﺘﺮك‬


‫در اﻳﻦ ﻃﺮح‪ ،‬ﻫﺮ ﻣﺎﺷﻴﻦ‪ ،‬ﭘﺮدازﻧﺪه‪ ،‬ﺣﺎﻓﻈﻪ و دﻳﺴﻚ )ﻫﺎي( ﺧﻮد را دارد‪ .‬ﻳﻚ ﺷﺒﻜﻪ‬
‫ارﺗﺒﺎﻃﻲ ﺑﺎ ﺳﺮﻋﺖ ﺑﺎﻻ اﻳﻦ ﻣﺎﺷﻴﻦ ﻫﺎ را ﺑﻪ ﻫﻢ ﻣﺮﺗﺒﻂ ﻣﻲ ﻛﻨﺪ‪ .‬ﻫﺮ ﻣﺎﺷﻴﻦ ﻧﻮﻋﻲ‬
‫ﺧﺪﻣﺖ ﮔﺰار ﭘﺎﻳﮕﺎﻫﻲ اﺳﺖ‪ .‬در ﺷﻜﻞ ‪ ،12-10‬ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري دﻳﺪه ﻣﻲ ﺷﻮد‪.‬‬
‫ﻣﺰﻳﺖ اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري در ﺗﺴﻬﻴﻞ ﮔﺴﺘﺮش اﺳﺖ‪ .‬وﻟﻲ ﻋﻴﺐ اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري در‬
‫اﻳﻦ اﺳﺖ ﻛﻪ ﻫﺰﻳﻨﻪ ارﺗﺒﺎط و دﺳﺘﻴﺎﺑﻲ ﻫﺎي ﻏﻴﺮ ﻣﺤﻠﻲ زﻳﺎد اﺳﺖ‪.‬‬

‫ﺷﻜﻞ ‪ 12-10‬ﻣﻌﻤﺎري ﺑﻲ اﺟﺰاء ﻣﺸﺘﺮك‬


‫‪www.PDFgozar.com‬‬

‫‪ 226‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫‪ 4-2-3-2-2‬ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬


‫در اﻳﻦ ﻃﺮح‪ ،‬وﻳﮋﮔﻲ ﻫﺎي ﺳﻪ ﻃﺮح ﭘﻴﺶ ﺑﺎ ﻫﻢ وﺟﻮد دارد‪ .‬در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ‬
‫ﺳﻴﺴﺘﻢ‪ ،‬ﺗﻌﺪادي ﮔﺮه ﺑﺎ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ ﺑﻪ ﻫﻢ ﻣﺮﺗﺒﻂ اﻧﺪ و اﺟﺰا ﻣﺸﺘﺮك ﻧﺪارﻧﺪ‪ .‬ﭘﺲ‬
‫در اﻳﻦ ﺳﻄﺢ‪ ،‬ﻣﻌﻤﺎري ﺑﻲ اﺷﺘﺮاك دارﻳﻢ‪ .‬ﻫﺮ ﮔﺮه ﺧﻮد ﻣﻲﺗﻮاﻧﺪ ﺗﻌﺪاد ﻛﻤﻲ ﭘﺮدازﻧﺪه‬
‫ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك داﺷﺘﻪ ﺑﺎﺷﺪ ﻳﺎ ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك ﺑﺎﺷﺪ‪ .‬ﺑﻨﺎﺑﺮﻳﻦ‬
‫ﻳﻚ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ از ﻣﻌﻤﺎريﻫﺎي ﭘﻴﺶ ﮔﻔﺘﻪ اﻳﺠﺎد ﻣﻲ ﺷﻮد‪ .‬ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري‬
‫در ﺷﻜﻞ ‪ 13-10‬دﻳﺪه ﻣﻲ ﺷﻮد‪.‬‬

‫ﺷﻜﻞ ‪ 13-10‬ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬

‫‪ 4-2-2‬ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‬


‫اﻳﻦ ﻣﻌﻤﺎري ﻧﻮﻋﻲ ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ اﺳﺖ ﻛﻪ در آن‪ ،‬ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺧﻮد ﻣﺨﺘﺎري‬
‫ﻛﺎﻣﻞ دارﻧﺪ‪ .‬در ﺳﺎﻟﻬﺎي اﺧﻴﺮ ﮔﺮاﻳﺶ زﻳﺎدي ﺑﻪ اﻳﻦ ﻣﻌﻤﺎري اﻳﺠﺎد ﺷﺪه اﺳﺖ‪ .‬در‬
‫اﻳﻦ ﻣﻌﻤﺎري‪ ،‬ﻣﻌﻤﻮﻻً ﭼﻨﺪ ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه و ﻳﺎ ﭼﻨﺪ ﺳﻴﺴﺘﻢ ﺑﺎ‬
‫ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ از ﻗﺒﻞ وﺟﻮد دارد و ﻫﺮ ﺳﻴﺴﺘﻢ‪ ،‬روي ﻋﻤﻠﻴﺎت ﻣﺤﻠﻲ ﺧﻮد ﻛﻨﺘﺮل‬
‫‪www.PDFgozar.com‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪227‬‬

‫ﻛﺎﻣﻞ دارد‪ .‬اﻣﺎ ﺑﺮاي آﻧﻜﻪ ﻛﺎرﺑﺮان ﺑﺘﻮاﻧﻨﺪ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ ﺧﻮد را ﺗﺎﻣﻴﻦ ﻛﻨﻨﺪ‬
‫ﺑﻲ آﻧﻜﻪ ﻣﺴﺘﻘﻴﻤﺎ ﺑﺎ اﺟﺰاء ﻣﻌﻤﺎري ﻣﺮﺗﺒﻂ ﺑﺎﺷﻨﺪ و در واﻗﻊ ﺑﺘﻮاﻧﻨﺪ از ﻳﻚ ﺳﻴﺴﺘﻢ‬
‫ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ ﺑﻬﺮه ﺑﺮداري ﻛﻨﻨﺪ‪ ،‬ﺑﻪ ﻳﻚ ﻻﻳﻪ ﻧﺮم اﻓﺰاري ﺧﺎﺻﻲ ﻧﻴﺎز اﺳﺖ‪ .‬اﻳﻦ ﻻﻳﻪ‬
‫ﻧﺮم اﻓﺰاري اﻣﻜﺎن ﻣﻲ دﻫﺪ ﺗﺎ در ﻫﺮ ﺳﻴﺴﺘﻢ‪ ،‬ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه دادهﻫﺎ روي داده ﻫﺎي ﭘﺎﻳﮕﺎه‬
‫ﺧﻮد ﻛﻨﺘﺮل ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﺪ و ﻧﻴﺎزي ﺑﻪ ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ ﻧﺒﺎﺷﺪ و در ﻋﻴﻦ ﺣﺎل‬
‫ﺧﺪﻣﺎت ﻻزم ﺑﻪ ﻛﺎرﺑﺮان داده ﺷﻮد‪.‬‬
‫اﻳﻦ ﻻﻳﻪ ﻧﺮماﻓﺰاري در ﺳﻄﺢ ﺑﺎﻻﺗﺮ از ‪DBMS‬ﻫﺎ و اﺣﻴﺎﻧﺎ ﺳﻴﺴﺘﻢﻫﺎي ﻓﺎﻳﻠﻴﻨﮓ‬
‫ﻣﻮﺟﻮد در ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﻴﺴﺘﻢ ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‪ ،‬ﻗﺮار دارد‪ .‬اﻳﻦ ﻻﻳﻪ ﭼﻨﺎن ﻋﻤﻞ ﻣﻲﻛﻨﺪ ﻛﻪ‬
‫ﻛﺎرﺑﺮان ﺳﻴﺴﺘﻢﻫﺎي ﻣﺨﺘﻠﻒ‪ ،‬ﻣﺠﻤﻮﻋﻪ ﭘﺎﻳﮕﺎهﻫﺎ را ﺑﻪ ﺻﻮرت ﻳﻚ ﭘﺎﻳﮕﺎه واﺣﺪ ﻣﻲﺑﻴﻨﻨﺪ‪.‬‬
‫واﺿﺢ اﺳﺖ ﻛﻪ در ﺳﻴﺴﺘﻢ ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‪ ،‬ﻳﻚ ﺷﻤﺎي ادراﻛﻲ ﺟﺎﻣﻊ )ﺳﺮاﺳﺮي( و در ﻫﺮ‬
‫ﻳﻚ از ‪DBMS‬ﻫﺎ‪ ،‬ﻳﻚ ﺷﻤﺎي ادراﻛﻲ ﻣﺤﻠﻲ وﺟﻮد دارد )و ﻧﻴﺰ ﺷﻤﺎﻫﺎي دﻳﮕﺮ‪ ،‬ﻃﺒﻖ‬
‫دﻳﺪﻳﻢ‪ .‬در ﭼﻨﻴﻦ ﺳﻴﺴﺘﻤﻲﻃﺒﻌﺎ ﺑﻪ ﻳﻚ ﻛﺎﺗﺎﻟﻮگ ﺟﺎﻣﻊ ﻧﻴﺎز‬ ‫‪ANSI‬‬ ‫آﻧﭽﻪ ﻛﻪ در ﻣﻌﻤﺎري‬
‫اﺳﺖ‪ .‬اﻳﻦ ﻣﻌﻤﺎري ﻋﻼوه ﺑﺮ ﻣﺸﻜﻼت ﺗﻜﻨﻴﻜﻲ ﻣﻮﺟﻮد در ﻳﻚ ﺳﻴﺴﺘﻢ ﺗﻮزﻳﻊ ﺷﺪه‪،‬‬
‫ﻣﺸﻜﻼت ﺧﺎص ﺧﻮد را ﻧﻴﺰ دارد ﻛﻪ در اﻳﻨﺠﺎ از ذﻛﺮ آﻧﻬﺎ ﺧﻮدداري ﻣﻲ ﺷﻮد‪.‬‬

‫‪ 5-2-2‬ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه‬


‫‪ 1-5-2-2‬ﺗﻌﺮﻳﻒ‬
‫ﺑﺎ رﺷﺪ ﺳﺮﻳﻊ ﺗﻜﻨﻮﻟﻮژي ارﺗﺒﺎﻃﺎت‪ ،‬اﻳﻨﻚ دﻳﮕﺮ اﻧﺴﺎن ﻣﻲ ﺗﻮاﻧﺪ از ﻫﺮ ﺟﺎ‪ ،‬ﺑﻪ ﻫﺮ داده‬
‫ذﺧﻴﺮه ﺷﺪه در ﻫﺮ ﺟﺎي دﻳﮕﺮ دﺳﺘﻴﺎﺑﻲ داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬ﻫﺮ ﭼﻨﺪ ﻫﻨﻮز ﻣﺤﺪودﻳﺖ ﻫﺎﻳﻲ‬
‫در اﻳﻦ ''داده ﻓﺮﺳﺘﻲ‪ -‬داده ﮔﻴﺮي'' وﺟﻮد دارد‪ .‬اﻣﺎ ﺗﺎ آﻧﺠﺎ ﻛﻪ ﺑﻪ ﺣﻴﻄﻪ داﻧﺶ و‬
‫ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﺮﺑﻮط ﻣﻲ ﺷﻮد‪ ،‬ﻧﻮع ﻧﻮﻳﻨﻲ از ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﭘﺪﻳﺪ‬
‫آﻣﺪه و در ﺣﺎل ﮔﺴﺘﺮش ﻳﺎﻓﺘﻦ اﺳﺖ‪ :‬ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻫﻤﺮاه )ﺟﺎﺑﺠﺎ ﺷﻮﻧﺪه(‪.‬‬
‫ﻣﺎ در ﻗﺴﻤﺘﻬﺎي ﻗﺒﻞ اﻧﻮاع ﻣﻌﻤﺎري ﻫﺎي ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ را دﻳﺪﻳﻢ‪ ،‬از ﺟﻤﻠﻪ ﻣﻌﻤﺎري‬
‫ﻣﺸﺘﺮي‪-‬ﺧﺪﻣﺘﮕﺰار‪ .‬اﻣﺎ اﻳﻦ ﻣﻌﻤﺎري و ﺣﺘﻲ ﮔﻮﻧﻪ ﮔﺴﺘﺮده ﺗﺮ آن‪ ،‬ﻳﻌﻨﻲ ﻣﻌﻤﺎري‬
‫ﭘﺎﻳﮕﺎه ﺗﻮزﻳﻊ ﺷﺪه‪ ،‬ﻫﻨﻮز ﻣﺸﻜﻼﺗﻲ از ﺟﻤﻠﻪ "ﻋﻤﻠﻲ ﻧﺒﻮدن در ﻫﻤﻪ ﺟﺎ"‪ ،‬اﻳﻤﻨﻲ‬
‫ﺳﻴﺴﺘﻢ و داده ﻫﺎ‪ ،‬ﻫﺰﻳﻨﻪ و‪ ...‬دارﻧﺪ‪ .‬ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهﻫﺎي ﻫﻤﺮاه راه ﺣﻠﻲ اﺳﺖ ﺑﺮاي‬
‫ﺑﺮﺧﻲ از اﻳﻦ دﺷﻮاري ﻫﺎ‪ ،‬ﺑﻪ وﻳﮋه در ﻛﺎرﺑﺮدﻫﺎي ﺷﺨﺼﻲ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 228‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬

‫‪ 2-5-2-2‬ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه‬


‫در اﻳﻦ ﻣﻌﻤﺎري‪ ،‬ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺘﻮﺳﻂ ﻳﺎ ﺑﺰرگ‪ ،‬ﻧﻘﺶ ﺧﺪﻣﺘﮕﺰار‬
‫ﭘﺎﻳﮕﺎﻫﻲ را اﻳﻔﺎ ﻣﻲ ﻛﻨﺪ‪ .‬اﻳﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ را ﺧﺪﻣﺘﮕﺰار ﻣﻴﺰﺑﺎن ﻣﻲ ﻧﺎﻣﻨﺪ‪ .‬ﻫﺮ ﻛﺎرﺑﺮ‪،‬‬
‫ﻛﺎﻣﭙﻴﻮﺗﺮ ﻛﻮﭼﻚ ﻫﻤﺮاه ﺧﻮد را دارد )ﺑﺎ ﺧﻮد ﺣﻤﻞ ﻣﻲ ﻛﻨﺪ‪ :‬ﻧﻮﻋﻲ دﻓﺘﺮﻛﺎر ﻫﻤﺮاه(‪.‬‬
‫در اﻳﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ داده ﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ و ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻣﻮرد ﻧﻴﺎزش ذﺧﻴﺮه‬
‫ﺷﺪه اﻧﺪ‪ .‬ﭘﺎﻳﮕﺎه داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﺪﻣﺘﮕﺰار ﻣﻴﺰﺑﺎن‪ ،‬ﺣﺎوي داده ﻫﺎي‬
‫ﭘﻮﻳﺎ اﺳﺖ‪ .‬ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻛﺎرﺑﺮ ﻣﻲ ﺗﻮاﻧﺪ از ﻫﺮ ﺟﺎ‪ ،‬ﺑﺎ زﻳﺮ ﺳﻴﺴﺘﻢ ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎﻫﻲ‬
‫ﻣﺮﺗﺒﻂ ﺷﺪه و ﭘﺮدازش ﻫﺎي ﻣﻮرد ﻧﻈﺮش را اﻧﺠﺎم دﻫﺪ‪ .‬در اﻳﻦ ﺳﻴﺴﺘﻢ ﻟﺰوﻣﻲ ﻧﺪارد‬
‫ﻛﻪ ﭘﺎﻳﮕﺎه ﻫﺎي ﻫﻤﺮاه و ﭘﺎﻳﮕﺎه ﻣﻴﺰﺑﺎن در ﻳﻚ ﺷﺒﻜﻪ ﺑﺎﺷﻨﺪ‪ .‬ارﺗﺒﺎط ﺑﻴﻦ "ﻫﻤﺮاه'' و‬
‫ﻣﻴﺰﺑﺎن در ﺑﺎزه ﻫﺎي زﻣﺎﻧﻲ ﻧﺎﻣﻨﻈﻢ و ﻣﻌﻤﻮﻻً ﻛﻮﺗﺎه ﺑﺮﭘﺎ ﻣﻲ ﮔﺮدد‪ .‬ﺑﻴﻦ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي‬
‫ﻫﻤﺮاه‪ ،‬ﻣﮕﺮ در ﺷﺮاﻳﻂ ﺧﺎص‪ ،‬ﭼﻨﺪان ارﺗﺒﺎط ﺑﺮﻗﺮار ﻧﻤﻲ ﮔﺮدد‪.‬‬
‫دو ﺟﻨﺒﻪ اﺳﺎﺳﻲ اﻳﻦ ﺳﻴﺴﺘﻢ ﻛﻪ ﺑﺎﻳﺪ در ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺑﻪ آن ﺗﻮﺟﻪ ﺷﻮد‬
‫ﻋﺒﺎرﺗﻨﺪ از‪ :‬ﻣﺪﻳﺮﻳﺖ ﻛﺎراي ﭘﺎﻳﮕﺎﻫﻬﺎي ﻫﻤﺮاه و اﻳﺠﺎد ارﺗﺒﺎط ﭘﻮﻳﺎ و ﺳﺮﻳﻊ ﺑﻴﻦ‬
‫ﭘﺎﻳﮕﺎﻫﻬﺎي ﻫﻤﺮاه و ﭘﺎﻳﮕﺎه ﻣﻴﺰﺑﺎن‪.‬‬
‫‪www.PDFgozar.com‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪229‬‬

‫ﺗﻤﺮﻳﻨﺎت‬

‫‪ .1‬دو ﻧﻮع اﺻﻠﻲ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه دادهﻫﺎ را ﻧﺎم ﺑﺒﺮﻳﺪ؟‬


‫‪ .2‬ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ را ﺷﺮح دﻫﻴﺪ ؟‬
‫‪ .3‬اﻧﻮاع ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬
‫‪ .4‬ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺖ ﮔﺬار را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬
‫‪ .5‬ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬
‫‪ .6‬ﻣﺰاﻳﺎي ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬
‫‪ .7‬ﭼﻬﺎر ﻣﺪل ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬
‫‪ .8‬ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﻤﺮاه را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬
www.PDFgozar.com

‫ ﭘﺎﻳﮕﺎه دادهﻫﺎ‬230
‫‪www.PDFgozar.com‬‬

‫ﺿﻤﻴﻤﻪ ‪۱‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮﺍﻻﺕ‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪1‬‬


‫‪ -1‬ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺑﻴﺎﻧﮕﺮ اﺧﺘﻼف ﺑﻴﻦ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت‬
‫)‪ (Knowledge Base‬ﻣﻲﺑﺎﺷﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ‪ -‬آزاد‪(72‬‬
‫‪ .1‬ﻫﺮ دو ﭘﺎﻳﮕﺎه از ﻳﻚ ﻧﻮع ﺑﻮده و ﻓﺮﻗﻲ ﺑﺎ ﻫﻢ ﻧﺪارﻧﺪ‪.‬‬
‫‪ .2‬ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت دﻳﻨﺎﻣﻴﻚ وﻟﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎاﻳﺴﺘﺎ )‪ ( static‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬ﭘﺎﻳﮕﺎهدادهﻫﺎ اﻏﻠﺐ ﺑﺎ زﺑﺎن ‪ SQL‬و ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت اﻏﻠﺐ ﺑﺎ زﺑﺎن ‪ QUEL‬ﻛﺪ‬
‫ﻣﻲﺷﻮد‪.‬‬
‫ﻫﻴﭽﻜﺪام‬ ‫‪.4‬‬
‫‪ -2‬اﻃﻼﻋﺎت )‪ ( Information‬ﺑﻪ ﭼﻪ ﻣﻌﻨﻲ ﻣﻲﺑﺎﺷﺪ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(‬
‫‪ .1‬دادهﻫﺎﻳﻲ ﻛﻪ روي آﻧﻬﺎ ﻋﻤﻞ ﻣﻘﺎﻳﺴﻪاي ﺻﻮرت ﮔﻴﺮد‪.‬‬
‫‪ .2‬دادهﻫﺎﻳﻲ ﻛﻪ روي آﻧﻬﺎ ﻋﻤﻞ ﻣﺤﺎﺳﺒﺎت ﺻﻮرت ﮔﻴﺮد‪.‬‬
‫‪ .3‬دادهﻫﺎﻳﻲ ﻛﻪ ﺑﻪ ﻧﻤﺎﻳﺶ در آﻣﺪه ﺑﺎﺷﻨﺪ‪.‬‬
‫دادهﻫﺎﻳﻲ ﻛﻪ روي آﻧﻬﺎ ﻋﻤﻞ ﭘﺮدازش ﺻﻮرت ﮔﻴﺮد‪.‬‬ ‫‪.4‬‬
‫‪ -3‬داده ‪ +‬وﻳﮋﮔﻲ ‪+‬ﻣﻮﺟﻮدﻳﺖ =‪)....‬ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ ‪(80-‬‬
‫‪ .1‬اﻃﻼع‬
‫ﭘﺮدازش‬ ‫‪.2‬‬
‫‪ .3‬ﭘﺮوﻧﺪه‬
‫‪www.PDFgozar.com‬‬

‫‪ 232‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫داﻧﺶ‬ ‫‪.4‬‬
‫‪ -4‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻧﺴﻞ دوم ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬اﻳﻦ ﻧﺴﻞ ﺑﻪ ﻧﺴﻞ ﺷﻴﻮهﻫﺎي دﺳﺘﻴﺎﺑﻲ ﻣﻌﺮوف اﺳﺖ‪.‬‬
‫‪ .2‬ﺗﻜﺮار ذﺧﻴﺮه ﺳﺎزي دراﻳﻦ ﻧﺴﻞ ﺑﺴﻴﺎر ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ‪.‬‬
‫‪ .3‬ﺗﻐﻴﻴﺮ در رﺳﺎﻧﻪﻫﺎي ذﺧﻴﺮه ﺳﺎزي ﺑﺮ روي ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﺗﺎﺛﻴﺮ ﭼﻨﺪاﻧﻲ‬
‫ﻧﺪارد‪.‬‬
‫‪ .4‬دراﻳﻦ ﻧﺴﻞ از رﺳﺎﻧﻪﻫﺎي ﺑﺎ دﺳﺘﻴﺎﺑﻲ ﻣﺴﺘﻘﻴﻢ ﻣﺜﻞ دﻳﺴﻚ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ‪.‬‬
‫‪ -5‬ﻛﺪام ﺗﻌﺮﻳﻒ در راﺑﻄﻪ ﺑﺎ ))داده(( درﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﻧﻤﺎﻳﺶ واﻗﻌﻴﺎت‪ ،‬ﭘﺪﻳﺪهﻫﺎ‪ ،‬ﻣﻔﺎﻫﻴﻢ ﻳﺎ ﻣﻌﻠﻮﻣﺎت ﺑﻪ ﺻﻮرﺗﻲ ﺻﻮري و ﻣﻨﺎﺳﺐ‬
‫ﺑﺮاي ﺑﺮﻗﺮاري ارﺗﺒﺎط‪ ،‬ﺗﻔﺴﻴﺮ ﻳﺎ ﭘﺮدازش ﺗﻮﺳﻂ اﻧﺴﺎن ﻳﺎ اﻣﻜﺎﻧﺎت ﺧﻮدﻛﺎر‬
‫‪ .2‬از ﻧﻈﺮ ﺳﺎﺧﺘﺎري و از دﻳﺪﮔﺎه ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‪ ،‬داده ﻋﺒﺎرت اﺳﺖ از ﻣﻘﺎدﻳﺮ‬
‫ﺻﻔﺎت ﺧﺎﺻﻪ اﻧﻮاع ﻣﻮﺟﻮدﻳﺘﻬﺎ‬
‫ﻫﺮ دو ﮔﺰﻳﻨﻪ ‪ 1‬و ‪2‬‬ ‫‪.3‬‬
‫اﻃﻼﻋﺎت ﻛﺎراﻛﺘﺮي ﻛﻪ وارد ﺳﻴﺴﺘﻢ دﺳﺘﻲ ﺷﺪه و ﺑﻪ آن ﻣﻌﻨﺎﻳﻲ ﻣﻨﺘﺴﺐ‬ ‫‪.4‬‬
‫ﻣﻲﺷﻮد‪.‬‬
‫‪ -6‬ﻛﺪام ﻋﺒﺎرت درﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬داده ﻫﻤﺎن اﻃﻼﻋﺎت اﺳﺖ‪.‬‬
‫‪ .2‬داده اﻃﻼﻋﺎت ﭘﺮدازش ﺷﺪه اﺳﺖ‪.‬‬
‫‪ .3‬اﻃﻼﻋﺎت‪ ،‬داده ﭘﺮدازش ﺷﺪه اﺳﺖ‪.‬‬
‫‪ .4‬اﻃﻼﻋﺎت ﻣﻘﺎدﻳﺮ ﺧﺎم اﺳﺖ‪.‬‬
‫‪ Attribute -7‬ﻋﺒﺎرت اﺳﺖ از‪.....‬‬
‫‪ .1‬ﻫﻤﺎن ﻣﻮﺟﻮدﻳﺖ اﺳﺖ‪.‬‬
‫‪ .2‬ﺻﻔﺎت ﺧﺎﺻﻪ ﺗﻮﺿﻴﺤﻲ ﺑﺮاي ﻫﺮ ﻣﻮﺟﻮدﻳﺖ اﺳﺖ‪.‬‬
‫‪ .3‬ﻫﻤﺎن رﻛﻮرد اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪233‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .4‬ﺳﻄﺮﻫﺎي ﻳﻚ ﺟﺪول اﺳﺖ‪.‬‬


‫‪ File System -8‬ﭼﻴﺴﺖ ؟‬
‫‪ .1‬ﻫﻤﺎن ‪ DBMS‬اﺳﺖ‪.‬‬
‫‪ .2‬ﺑﻪ ﺳﺎﺧﺘﺎر ﻛﻠﻲ ﻧﺎﻣﮕﺬاري‪ ،‬ذﺧﻴﺮه ﺳﺎزي و ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻓﺎﻳﻠﻬﺎ در ﻳﻚ ﺳﻴﺴﺘﻢ‬
‫ﻋﺎﻣﻞ ﮔﻔﺘﻪ ﻣﻲﺷﻮد‪.‬‬
‫‪ .3‬اﻧﺒﺎرهاي ﺑﺮاي ﻳﻚ ﻣﺠﻤﻮﻋﻪ از ﻓﺎﻳﻠﻬﺎي دادهاي اﺳﺖ‪.‬‬
‫ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‪.‬‬ ‫‪.4‬‬
‫‪ -9‬ﻛﺪام ﮔﺰﻳﻨﻪ از وﻳﮋﮔﻲ ﻫﺎي ﻧﺴﻞ اول ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت ﻧﻴﺴﺖ ؟‬
‫‪ .1‬ﻧﺴﺨﻪﻫﺎي ﻣﺘﻌﺪدي از ﻳﻚ ﻓﺎﻳﻞ ﻧﮕﻬﺪاري ﻣﻲﺷﻮد‪.‬‬
‫‪ .2‬ﺳﺎﺧﺘﺎر ﻓﺎﻳﻞ ﻫﺎ ﺗﺮﺗﻴﺒﻲ اﺳﺖ‪.‬‬
‫‪ .3‬ﭘﺮدازش در ﻣﺤﻴﻂ ﻫﺎي ﺑﻼدرﻧﮓ و ‪ Online‬ﻣﻲﺗﻮاﻧﺪ اﻧﺠﺎم ﺷﻮد‪.‬‬
‫‪ .4‬ﻃﺮاﺣﻲ ﺳﺎﺧﺘﺎر ﻓﻴﺰﻳﻜﻲ ﻓﺎﻳﻠﻬﺎ ﻫﻢ‪ ،‬ﺑﺮ ﻋﻬﺪه ﻛﺎرﺑﺮ اﺳﺖ‪.‬‬
‫‪ -10‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﺑﺎﻧﻚ ﻫﺎي اﻃﻼﻋﺎﺗﻲ و ﺑﺎﻧﻜﻬﺎي ﻣﻌﺮﻓﺖ ﺻﺤﻴﺢ اﺳﺖ ؟‬
‫‪ .1‬ﺑﺎﻧﻚ ﻣﻌﺮﻓﺖ ﺣﺎوي ﺗﻌﺪاد زﻳﺎدي واﻗﻌﻴﺖ ﺳﺎده اﺳﺖ ﻛﻪ ﺑﻪ ﻃﻮر ﺻﺮﻳﺢ ﺑﻴﺎن‬
‫ﺷﺪهاﻧﺪ‪ ،‬ﻫﻤﺮاه ﺑﺎ ﺗﻌﺪاد ﻛﻤﻲﻗﻮاﻋﺪ ﻋﺎم ﻛﻪ ﺑﻪ ﻃﻮر ﺿﻤﻨﻲ ﺑﻴﺎن ﻣﻲﺷﻮﻧﺪ‪.‬‬
‫‪ .2‬ﺑﺎﻧﻚ ﻣﻌﺮﻓﺖ ﺣﺎوي ﻣﺠﻤﻮﻋﻪاي از واﻗﻌﻴﺖ ﻫﺎي ﺳﺎده و ﻗﻮاﻋﺪ ﻋﺎم ﻛﻪ ﺑﻪ ﻃﻮر‬
‫ﺻﺮﻳﺢ ﺑﻴﺎن ﺷﺪهاﻧﺪ‪.‬‬
‫‪ .3‬ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻣﺠﻤﻮﻋﻪاي اﺳﺖ از ﺗﻌﺪاد زﻳﺎدي واﻗﻌﻴﺖ ﺳﺎده ﻛﻪ ﺑﻪ ﻃﻮر‬
‫ﺻﺮﻳﺢ ﺑﻴﺎن ﺷﺪهاﻧﺪ‪.‬ﻫﻤﺮاه ﺑﺎ ﺗﻌﺪاد ﻛﻤﻲﻗﻮاﻋﺪ ﻋﺎم ﻛﻪ ﺑﻪ ﻃﻮر ﺿﻤﻨﻲ ﺑﻴﺎن‬
‫ﻣﻲﺷﻮﻧﺪ‪.‬‬
‫‪3 .4‬و‪2‬‬
‫‪ -11‬ﺟﺰء دادهﻫﺎ )‪ (Data Element‬ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(76-‬‬
‫‪ .1‬ﻗﺴﻤﺘﻲ از اﻃﻼﻋﺎت اﺳﺖ‪.‬‬
‫‪ .2‬ﻣﺤﻠﻲ ﻣﻮﻗﺖ ﺑﺮاي ﻳﻚ ﻣﻘﺪار اﻃﻼﻋﺎت اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 234‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .3‬ﻣﻘﺪاري اﺳﺖ ﻛﻪ در ﻓﻴﻠﺪ ذﺧﻴﺮه ﻣﻲﺷﻮد‪.‬‬


‫‪ .4‬ﻫﺮ ﻣﻘﺪاري ﻣﻲﺗﻮاﻧﺪ ﺑﺎﺷﺪ‪.‬‬

‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪1‬‬


‫‪ (2) -1‬ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت ﺑﻪ ﺗﺪرﻳﺞ ﺑﺮ ﺑﺼﻴﺮﺗﻬﺎﻳﺶ )‪ (Knowledge Base‬ﻣﻲاﻓﺰاﻳﺪ‪.‬‬
‫‪ (4) -2‬داده ورودي ﺳﻴﺴﺘﻢ اﺳﺖ ﻛﻪ ﭘﺲ از ﭘﺮدازش ﺗﺒﺪﻳﻞ ﺑﻪ اﻃﻼﻋﺎت ﺷﺪه و از‬
‫ﺳﻴﺴﺘﻢ ﺧﺎرج ﻣﻲﺷﻮد‪.‬‬
‫‪(1) -3‬‬
‫‪ (2) -4‬در ﻧﺴﻞ دوم ﺗﻜﺮار ذﺧﻴﺮه ﺳﺎزي ﻫﻨﻮز در ﺣﺪ ﻧﺴﺒﺘﺎ ﺑﺎﻻﻳﻲ وﺟﻮد دارد‪.‬‬
‫‪ (3) -5‬ﮔﺰﻳﻨﻪ ‪ 4‬ﻛﺎﻣﻞ ﻧﻴﺴﺖ‪ .‬داده ﻫﺮ ﻧﻤﺎﻳﺸﻲ اﻋﻢ از ﻛﺎراﻛﺘﺮي ﻳﺎ ﻛﻤﻴﺘﻬﺎي آﻧﺎﻟﻮگ و ﻳﺎ‬
‫ﻏﻴﺮه اﺳﺖ‪.‬ﻳﻌﻨﻲ ﻓﻘﻂ ﺑﻪ اﻃﻼﻋﺎت ﻛﺎراﻛﺘﺮي داده ﮔﻔﺘﻪ ﻧﻤﻲﺷﻮد و داده ﻣﻲﺗﻮاﻧﺪ وارد ﻫﺮ‬
‫ﺳﻴﺴﺘﻤﻲﺷﻮد و ﻧﻪ ﻓﻘﻂ ﺳﻴﺴﺘﻢ دﺳﺘﻲ‪.‬‬
‫‪(3) -6‬‬
‫‪(2) -7‬‬
‫‪(2) -8‬‬
‫‪ (3) -9‬ﮔﺰﻳﻨﻪ ‪ 3‬از وﻳﮋﮔﻲ ﻫﺎي ﻧﺴﻞ دوم اﺳﺖ‪.‬‬
‫‪(4) -10‬‬
‫‪(2) -11‬‬
‫‪www.PDFgozar.com‬‬

‫‪235‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪2‬‬


‫‪ -1‬ﺷﻜﻞ زﻳﺮ در ﻧﻤﻮدار ‪ ER‬ﭼﻪ ﻣﻔﻬﻮﻣﻲرا ﻣﻲرﺳﺎﻧﺪ ؟‬
‫‪ .1‬ﻫﺮ اﺳﺘﺎد ﻓﻘﻂ و ﻓﻘﻂ ﻳﻚ درس )ﻧﻪ ﻛﻤﺘﺮ و ﻧﻪ ﺑﻴﺸﺘﺮ( و ﻫﺮ درس ﺗﻮﺳﻂ ﻳﻚ‬
‫اﺳﺘﺎد اراﺋﻪ ﻣﻲﺷﻮد‪.‬‬
‫‪ .2‬ﻫﺮ اﺳﺘﺎد ﻳﻚ درس و ﻫﺮ درس ﺗﻮﺳﻂ ﻳﻚ اﺳﺘﺎد اراﺋﻪ ﻣﻲﺷﻮد‪ .‬ﻣﻤﻜﻦ اﺳﺖ‬
‫اﺳﺘﺎدي درﺳﻲ اراﺋﻪ ﻧﻜﻨﺪ‪.‬‬
‫‪ .3‬ﻫﺮ اﺳﺘﺎد ﻳﻚ درس و ﻫﺮ درس ﺗﻮﺳﻂ ﻳﻚ اﺳﺘﺎد اراﺋﻪ ﻣﻲﺷﻮد‪.‬‬
‫‪ .4‬ﻳﻚ اﺳﺘﺎد ﻳﻚ درس و ﻳﻚ درس ﺗﻮﺳﻂ ﻳﻚ اﺳﺘﺎد اراﺋﻪ ﻣﻲﺷﻮد‪ .‬وﻟﻲ ﻣﻤﻜﻦ‬
‫اﺳﺖ اﺳﺘﺎد آن درس ﺗﻐﻴﻴﺮ ﻛﻨﺪ‪.‬‬
‫‪ -2‬در ﻧﻤﻮدار ‪ EER‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﺻﻔﺖ ﻣﺸﺘﻖ را ﺑﺎ زﻳﺮ ﺧﻂ‪ ،‬ﺻﻔﺖ ﻛﻠﻴﺪي را ﺑﺎ ‪ 2‬ﺧﻂ و ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري را‬
‫ﺑﺎ ﺧﻂ ﭼﻴﻦ ﻧﺸﺎن ﻣﻲدﻫﻴﻢ‪.‬‬
‫‪ .2‬ﺻﻔﺖ ﻣﺸﺘﻖ را ﺑﺎ ﺧﻂ ﭼﻴﻦ‪ ،‬ﺻﻔﺖ ﻣﺮﻛﺐ را ﺑﺎ زﻳﺮ ﺧﻂ و ﺻﻔﺖ واﺑﺴﺘﻪ را ﺑﺎ‬
‫‪ 2‬ﺧﻂ ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻴﻢ‪.‬‬
‫‪ .3‬ﺻﻔﺖ ﻣﺸﺘﻖ را ﺑﺎ زﻳﺮ ﺧﻂ‪ ،‬ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري را ﺑﺎ ‪ 2‬ﺧﻂ و ﺻﻔﺖ ﻛﻠﻴﺪي را‬
‫ﺑﺎ ﺧﻂ ﭼﻴﻦ ﻧﺸﺎن ﻣﻲدﻫﻴﻢ‪.‬‬
‫‪ .4‬ﺻﻔﺖ ﻣﺸﺘﻖ را ﺑﺎ ﺧﻂ ﭼﻴﻦ‪ ،‬ﺻﻔﺖ ﻛﻠﻴﺪي را ﺑﺎ زﻳﺮ ﺧﻂ و ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري‬
‫را ﺑﺎ ‪ 2‬ﺧﻂ ﻧﺸﺎن ﻣﻲدﻫﻴﻢ‪.‬‬
‫‪ -3‬ﺑﻪ ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ‪ ....‬ﮔﻮﻳﻨﺪ‪.‬‬
‫‪Entity‬‬ ‫‪.1‬‬
‫‪Attribute‬‬ ‫‪.2‬‬
‫‪Tuple‬‬ ‫‪.3‬‬
‫‪ER‬‬ ‫‪.4‬‬
‫‪-4‬در ﻣﺪل راﺑﻄﻪاي ﻛﺪام ﻧﻮع ﺻﻔﺖ را ﻧﺪارﻳﻢ ؟‬
‫‪ .1‬ﺻﻔﺖ ﻛﻠﻴﺪ‬
‫‪ .2‬ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري‬
‫‪www.PDFgozar.com‬‬

‫‪ 236‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .3‬ﺻﻔﺖ ﻣﺸﺘﻖ‬
‫‪ .4‬ﻫﺮ ﺳﻪ را دارﻳﻢ‬
‫‪ -5‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻧﻤﻮدار ‪ EER‬زﻳﺮ ﺻﺎدق اﺳﺖ ؟‬
‫‪ .1‬ﺑﻪ ﻣﺤﺾ ﺣﺬف داﻧﺸﺠﻮ از ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‪ ،‬واﺑﺴﺘﮕﺎن او ﻧﻴﺰ ﺣﺬف ﺧﻮاﻫﻨﺪ‬
‫ﺷﺪ‪.‬‬
‫‪ .2‬واﺑﺴﺘﮕﺎن ﻳﻚ ﻣﻮﺟﻮدﻳﺖ ﻗﻮي ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .3‬ﻣﻮﺟﻮدﻳﺖ داﻧﺸﺠﻮ‪ ،‬ﻛﻠﻴﺪ اﺻﻠﻲ ﻣﻮﺟﻮدﻳﺖ واﺑﺴﺘﮕﺎن را ﺑﻪ ارث ﻣﻲﺑﺮد‪.‬‬
‫‪ 2 .4‬و ‪1‬‬
‫‪ -6‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬در ﻧﻤﻮدار ‪ ER‬ﻫﺮ ارﺗﺒﺎﻃﻲ ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ داراي ﺳﻤﺎﻧﺘﻴﻚ ﺧﺎﺻﻲ اﺳﺖ‪.‬‬
‫‪ .2‬ﺻﻔﺖ ﻣﺸﺘﻖ ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﺑﻪ ﻛﻤﻚ ﺻﻔﺘﻬﺎي دﻳﮕﺮ ﻣﻲﺗﻮان آن را ﻣﺤﺎﺳﺒﻪ‬
‫ﻛﺮد‪.‬‬
‫‪ .3‬ﻣﻌﻨﺎي ﻧﻤﻮدار ‪ ER‬زﻳﺮ آن اﺳﺖ ﻛﻪ ارﺗﺒﺎط اﺳﺘﺎد اﺧﺘﻴﺎري اﺳﺖ‪.‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -7‬ﺷﻜﻞ زﻳﺮ ﻧﻤﺎﻳﺎﻧﮕﺮ ﭼﻪ ﻧﻮع ارﺗﺒﺎﻃﻲ اﺳﺖ ؟‬
‫‪existence dependency‬‬ ‫‪.1‬‬
‫‪is-a‬‬ ‫‪.2‬‬
‫‪cardinality‬‬ ‫‪.3‬‬
‫‪connectivity‬‬ ‫‪.4‬‬
‫‪ -8‬ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ ﻛﺪام اﺳﺖ ؟‬
‫‪Attribute .1‬‬
‫‪record .2‬‬
‫‪ER .3‬‬
‫‪entity .4‬‬
‫‪ -9‬ﻣﻨﻈﻮر از ‪ Connection trap‬ﭼﻴﺴﺖ ؟‬
‫‪ .1‬اﺳﺘﻨﺘﺎج ﻧﺎدرﺳﺖ از ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ‬
‫‪ .2‬ارﺗﺒﺎﻃﺎت دو ﻃﺮﻓﻪ ﻧﺎدرﺳﺖ‬
‫‪ .3‬ارﺗﺒﺎط ﻧﺎدرﺳﺖ ﻣﻴﺎن ﺳﻪ ‪entity‬‬
‫‪www.PDFgozar.com‬‬

‫‪237‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬
‫‪ -10‬ﻛﺪام ﻣﻮﺟﻮدﻳﺖ از ﻧﻮع ‪ weak‬ﻣﻲﺑﺎﺷﺪ ؟‬
‫‪ .1‬اﺳﺘﺎد‬
‫‪ .2‬درس‬
‫‪ .3‬ﺧﺎﻧﻮاده اﺳﺘﺎد‬
‫‪ .4‬داﻧﺸﺠﻮ‬
‫‪ -11‬ﻛﺪام ﻣﻮرد ﺟﺰء اﻧﻮاع ﺻﻔﺎت ﺧﺎﺻﻪ ﻧﻤﻲﺑﺎﺷﺪ ؟‬
‫‪ .1‬ذﺧﻴﺮه ﺷﺪه ﻳﺎ ﻣﺸﺘﻖ‬
‫‪ .2‬ﺗﻚ ﻣﻘﺪاري ﻳﺎ ﭼﻨﺪ ﻣﻘﺪاري‬
‫‪ .3‬ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ‬
‫‪ .4‬ﻣﻌﺮﻓﻪ ﻳﺎ ﻧﻜﺮه‬
‫‪-12‬ﻛﺪام ﮔﺰﻳﻨﻪ وﻳﮋﮔﻲ ﻣﻮﺟﻮدﻳﺖ ﻧﻤﻲﺑﺎﺷﺪ ؟‬
‫‪ .1‬ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻣﻌﻤﻮﻻً ﺑﻴﺶ از ﻳﻚ ﺻﻔﺖ دارد‪.‬‬
‫‪ .2‬ﻣﻮﺟﻮدﻳﺖ ﺗﻚ ﺻﻔﺘﻲ وﺟﻮد ﻧﺪارد‪.‬‬
‫‪ .3‬ﻣﻮﺟﻮدﻳﺖ ﺗﻚ ﻧﻤﻮﻧﻪاي وﺟﻮد دارد‪.‬‬
‫‪ .4‬ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻣﻌﻤﻮﻻً ﻧﻤﻮﻧﻪﻫﺎي ﻣﺘﻤﺎﻳﺰ از ﻳﻜﺪﻳﮕﺮﻧﺪ‪.‬‬
‫‪ -13‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻛﻠﻴﺪ )ﺻﻔﺖ ﺷﻨﺎﺳﻪ( درﺳﺖ ﻣﻲﺑﺎﺷﺪ ؟‬
‫‪ .1‬ﻣﻲﺗﻮاﻧﺪ ﻳﻜﺘﺎ ﻧﺒﺎﺷﺪ‪.‬‬
‫‪ .2‬ﻣﻲﺗﻮاﻧﺪ ﻫﻴﭻ ﻣﻘﺪار )‪ (NULL‬ﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬ﻣﻲﺗﻮاﻧﺪ ﻣﺮﻛﺐ ﺑﺎﺷﺪ‪.‬‬
‫‪ .4‬ﻣﻲﺗﻮاﻧﺪ ﻣﺸﺘﻖ ﺑﺎﺷﺪ‪.‬‬
‫‪ -14‬در ﻣﺴﺎﺑﻘﻪ ﺑﺴﻜﺘﺒﺎل ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺘﻬﺎي ﮔﻞ و ﺑﺎزﻳﻜﻦ ﭼﮕﻮﻧﻪ اﺳﺖ ؟‬
‫‪ .1‬ارﺗﺒﺎط ﺑﺎزﻳﻜﻦ ﺑﺎ ﮔﻞ ﺑﻪ ﺻﻮرت ‪ 1 :n‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ .2‬ارﺗﺒﺎط ﺑﺎزﻳﻜﻦ ﺑﺎ ﮔﻞ ﺑﻪ ﺻﻮرت ‪ n :n‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 238‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .3‬ارﺗﺒﺎط ﺑﺎزﻳﻜﻦ ﺑﺎ ﮔﻞ ﺑﻪ ﺻﻮرت ‪ 1 :1‬ﻣﻲﺑﺎﺷﺪ‪.‬‬


‫‪ .4‬ﻧﺎﻣﺸﺨﺺ اﺳﺖ‪.‬‬

‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪2‬‬


‫‪ (1) -1‬اﮔﺮ ﻋﻼﻣﺖ ﻧﻘﻄﻪ داﺧﻞ ﻣﺴﺘﻄﻴﻞ ﻣﻮﺟﻮدﻳﺖ ﺑﺎﺷﺪ ﻳﻌﻨﻲ ﺷﺮﻛﺖ در ارﺗﺒﺎط‬
‫اﺟﺒﺎري اﺳﺖ‪.‬ﻳﻌﻨﻲ اﺳﺘﺎد ﻫﺎ ﻧﻤﻲﺗﻮاﻧﻨﺪ درس ﻧﺪﻫﻨﺪ‪.‬‬
‫‪(4) -2‬‬
‫‪(4) -3‬‬
‫‪ (2) -4‬ﻣﺜﻼ ﺻﻔﺖ ﻣﺪرك ﺑﺮاي اﺳﺘﺎد ﭼﻨﺪ ﻣﻘﺪاري اﺳﺖ ﭼﺮا ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﻳﻚ‬
‫اﺳﺘﺎد ﭼﻨﺪ ﻣﺪرك داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ (1) -5‬ﻣﻤﻜﻦ اﺳﺖ وﺟﻮد ﻳﻚ ﭘﺪﻳﺪه واﺑﺴﺘﻪ ﺑﻪ وﺟﻮد ﭘﺪﻳﺪه دﻳﮕﺮي ﺑﺎﺷﺪ‪ ،‬ﻳﻌﻨﻲ‬
‫در ﺻﻮرت ﺣﺬف ﻋﻀﻮي از آن ﭘﺪﻳﺪه‪ ،‬ﻋﻀﻮﻫﺎي واﺑﺴﺘﻪ ﻫﻢ ﻻزم ﺑﺎﺷﺪ ﺑﻪ ﻃﻮر‬
‫ﺧﻮدﻛﺎر ﺣﺬف ﺷﻮﻧﺪ‪.‬اﻳﻦ ﻧﻮع واﺑﺴﺘﮕﻲ را واﺑﺴﺘﮕﻲ وﺟﻮدي و ﭘﺪﻳﺪه واﺑﺴﺘﻪ را‬
‫ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ‪ weak entity‬ﻣﻲﻧﺎﻣﻨﺪ‪ .‬ﭘﺪﻳﺪه واﺑﺴﺘﻪ ﺑﺎﻳﺪ ﻛﻠﻴﺪ ﭘﺪﻳﺪه اﺻﻠﻲ‬
‫را ﻛﻪ ﺑﻪ آن واﺑﺴﺘﻪ اﺳﺖ ﺑﻪ ارث ﺑﺒﺮد‪ .‬ﭘﺪﻳﺪه واﺑﺴﺘﻪ را ﺑﺎ دو ﻣﺴﺘﻄﻴﻞ ﺗﻮدرﺗﻮ‬
‫ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻴﻢ‪.‬‬
‫‪ (3) -6‬ﻣﺸﺎرﻛﺖ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ در ﻳﻚ ﻧﻮع ارﺗﺒﺎط را اﻟﺰاﻣﻲ)ﻳﺎ ﻛﺎﻣﻞ(‬
‫ﻣﻲﮔﻮﺋﻴﻢ اﮔﺮ ﺗﻤﺎم ﻧﻤﻮﻧﻪﻫﺎي آن ﻧﻮع ﻣﻮﺟﻮدﻳﺖ در آن ﻧﻮع ارﺗﺒﺎط ﺷﺮﻛﺖ ﻛﻨﻨﺪ‪.‬‬
‫در ﻏﻴﺮاﻳﻨﺼﻮرت ﻣﺸﺎرﻛﺖ ﻏﻴﺮ اﻟﺰاﻣﻲ)اﺧﺘﻴﺎري ﻳﺎ ﻧﺎﻛﺎﻣﻞ( اﺳﺖ‪.‬‬
‫‪Total participation‬‬ ‫=‬ ‫اﺟﺒﺎري_ اﻟﺰاﻣﻲ_ ﻛﺎﻣﻞ‬
‫‪Partial participation‬‬ ‫=‬ ‫اﺧﺘﻴﺎري _ ﻏﻴﺮ اﻟﺰاﻣﻲ_ﻧﺎﻛﺎﻣﻞ‬
‫در ﺑﻌﻀﻲ ﻛﺘﺎﺑﻬﺎ ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲرا ﺑﺎ دو ﺧﻂ ﻣﻮازي ﻛﻪ ﻣﻮﺟﻮدﻳﺖ را ﺑﻪ ارﺗﺒﺎط‬
‫ﻣﺘﺼﻞ ﻣﻲﻛﻨﺪ ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ‪ .‬ﭘﺲ ﻣﺸﺎرﻛﺖ اﺳﺘﺎد در ﺗﺪرﻳﺲ اﻟﺰاﻣﻲاﺳﺖ‬
‫ﻳﻌﻨﻲ ﻫﺮ اﺳﺘﺎد ﺣﺘﻤﺎ ﺣﺪاﻗﻞ ﺑﺎﻳﺪ ﻳﻚ درس را ﺗﺪرﻳﺲ ﻛﻨﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪239‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ (2) -7‬ارﺗﺒﺎﻃﺎﺗﻲ ﻛﻪ از ﻧﻤﺎد ﻣﺜﻠﺚ )ﻣﻔﻬﻮم ارث ﺑﺮي( اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ‪ .‬ارﺗﺒﺎﻃﺎت‬
‫))ﻫﺴﺖ(( ﻳﺎ ))‪ ((is-a‬ﻧﺎﻣﻴﺪه ﻣﻲﺷﻮﻧﺪ‪.‬‬
‫‪(3) -8‬‬
‫‪(1) -9‬‬
‫‪ (3) -10‬ﺑﺎ ﺣﺬف اﺳﺘﺎد اﻃﻼﻋﺎت ﺧﺎﻧﻮاده او ﻧﻴﺰ ﺣﺬف ﻣﻲﮔﺮدد‪.‬‬
‫‪(4) -11‬‬
‫‪ (2) -12‬ﻣﻮﺟﻮدﻳﺖ ﺗﻚ ﺻﻔﺘﻲ ﻣﻲﺗﻮاﻧﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﻣﺜﻼ ﺟﺪوﻟﻲ ﻛﻪ ﻓﻘﻂ‬
‫ﻳﻚ ﺳﺘﻮن دارد‪.‬‬
‫‪ (3) -13‬ﻓﻴﻠﺪ ﻛﻠﻴﺪ ﻧﻤﻲﺗﻮاﻧﺪ ﻣﻘﺪار ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ﻳﻌﻨﻲ ﻧﻤﻲﺗﻮاﻧﺪ ‪ NULL‬ﺑﺎﺷﺪ‪.‬‬
‫‪ (1) -14‬ﻳﻚ ﺑﺎزﻳﻜﻦ ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪ ﮔﻞ ﺑﺰﻧﺪ وﻟﻲ ﻫﺮ ﮔﻞ ﺗﻮﺳﻂ ﻳﻚ ﺑﺎزﻳﻜﻦ زده‬
‫ﻣﻲﺷﻮد‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 240‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪3‬‬


‫‪ -1‬ﻣﺰاﻳﺎي ﻳﻚ ﭘﺎﻳﮕﺎهدادهﻫﺎ )‪ (Data Base‬ﻧﺴﺒﺖ ﺑﻪ ﻓﺎﻳﻠﻬﺎي ﻣﺘﻌﺎرف ﭼﻴﺴﺖ ؟‬
‫)ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ ‪-‬آزاد ‪(72‬‬
‫‪2 .1‬و‪4‬‬
‫‪ .2‬ﻛﻨﺘﺮل ﺣﺴﺎب ﺷﺪه ﻣﻘﺪار اﻓﺰوﻧﮕﻲ در ﭘﺎﻳﮕﺎهدادهﻫﺎ‬
‫‪ .3‬اﻃﻤﻴﻨﺎن از ﺻﺤﺖ دادهﻫﺎ )‪ (Data Validation‬ﻛﻤﺘﺮ ﻣﻮرد ﻧﻴﺎز ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫‪ .4‬دﺳﺘﻴﺎﺑﻲ ﻣﺸﺘﺮك ﺑﻪ دادهﻫﺎ‬
‫‪ -2‬ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺟﺰء وﻇﺎﻳﻒ ‪ DBA‬ﻧﻤﻲﺑﺎﺷﺪ ؟) ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ‪-‬آزاد‪(72‬‬
‫‪ .1‬ﻧﻮﺷﺘﻦ ‪ Data Dictionary‬ﺑﺮاي ﭘﺎﻳﮕﺎهدادهﻫﺎ‬
‫‪ .2‬ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻜﺮد ﭘﺎﻳﮕﺎهدادهﻫﺎ )‪( Performance Monitoring‬‬
‫‪ .3‬ﺗﻬﻴﻪ روﻳﻪﻫﺎ و اﺳﺘﺮاﺗﮋي ﺗﻬﻴﻪ ‪ Backup‬و ﻧﺤﻮه اﺣﻴﺎي ﭘﺎﻳﮕﺎهدادهﻫﺎ‬
‫‪ .4‬ﺗﻬﻴﻪ ‪ schema‬ﺑﺮاي ﭘﺎﻳﮕﺎهدادهﻫﺎ‬
‫‪ -3‬در ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ )‪ ( DBMS‬ﻛﺪاﻣﻴﻚ از اﻣﻜﺎﻧﺎت زﻳﺮ ﺟﺰء‬
‫ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺗﺸﻜﻴﻞ دﻫﻨﺪه ‪ DBMS‬ﻣﺤﺴﻮب ﻧﻤﻲﺷﻮﻧﺪ‪) :‬ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ‪-‬دوﻟﺘﻲ‪(72‬‬
‫‪ .1‬اﻣﻜﺎن ﭘﺮدازش زﺑﺎن ﻃﺒﻴﻌﻲ ﺑﺮاي ﻛﺎر ﺑﺎ ﭘﺎﻳﮕﺎه‬
‫‪ .2‬اﻣﻜﺎن ﻛﺎر ﺑﺎ دادهﻫﺎ ﺑﻪ ﻛﻤﻚ ﻳﻚ ‪(Data Sublanguage) DSL‬‬
‫‪ .3‬اﻣﻜﺎن ﺗﺎﻣﻴﻦ ﺟﻤﻌﻴﺖ و ﺑﻲ ﻧﻘﺼﻲ )‪ (integrity‬ﭘﺎﻳﮕﺎه‬
‫‪ .4‬اﻣﻜﺎن ﺗﺎﻣﻴﻦاﻳﻤﻨﻲ ﭘﺎﻳﮕﺎه‬
‫‪ -4‬دو ﻣﺮﺣﻠﻪ از ﻣﺮاﺣﻞ ﻃﺮاﺣﻲ ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺒﺎرﺗﻨﺪ از ﻃﺮاﺣﻲ ادراﻛﻲ‬
‫)‪ ( Conceptual Design‬و ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ )‪ (Logical Design‬اﻳﻦ دو ﭼﻪ ﺗﻔﺎوت‬
‫اﺳﺎﺳﻲ ﺑﺎ ﻫﻢ دارﻧﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ‪-‬دوﻟﺘﻲ ‪(75‬‬
‫‪ .1‬ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﻣﺮﺑﻮط ﻣﻲﺷﻮد و ﭘﺲ از اﻧﺘﺨﺎب ﻣﺪل ﺻﻮرت‬
‫ﻣﻲﮔﻴﺮد وﻟﻲ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﺑﺴﺘﮕﻲ ﻧﺪارد‪.‬‬
‫‪ .2‬ﻃﺮاﺣﻲ ادراﻛﻲ ﻣﻜﻤﻞ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ اﺳﺖ و ﭘﺲ از آن اﻧﺠﺎم ﻣﻲﮔﻴﺮد‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪241‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .3‬ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﺻﻮرت ﻛﻠﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﻣﻲﻧﮕﺮد و ﺑﺎ روﺷﻬﺎﻳﻲ ﻣﺎﻧﻨﺪ ‪ER‬‬


‫اﻧﺠﺎم ﻣﻲﮔﻴﺮد‪.‬‬
‫‪ .4‬ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﻣﺮﺑﻮط ﻣﻲﺷﻮد و ﭘﺲ از اﻧﺘﺨﺎب ﻣﺪل ﺻﻮرت‬
‫ﻣﻲﮔﻴﺮد وﻟﻲ ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﺑﺴﺘﮕﻲ ﻧﺪارد‪.‬‬
‫‪ -5‬ﻓﺮق زﺑﺎﻧﻬﺎي ﭘﺮس و ﺟﻮي )‪ (Query‬روﻳﻪاي )‪ (Procedural‬و ﻧﺎروﻳﻪاي )‪Non-‬‬
‫‪ (procedural‬اﻳﻦ اﺳﺖ ﻛﻪ‪:‬‬
‫‪ .1‬در زﺑﺎﻧﻬﺎي ﻧﺎروﻳﻪاي ﻛﺎرﺑﺮ )‪ (user‬ﭼﮕﻮﻧﮕﻲ ﺑﻪ ﻋﻴﻨﻴﺖ )‪ (materalize‬در‬
‫آوردن دﻳﺪش را ﺗﺼﺮﻳﺢ ﻣﻲﻛﻨﺪ و ﺑﻪ ﻃﻮر ﺿﻤﻨﻲ آﻧﭽﻪ را ﻛﻪ ﻣﻲﺧﻮاﻫﺪ‪ ،‬ﺑﻴﺎن‬
‫ﻣﻲﻛﻨﺪ وﻟﻲ در زﺑﺎن ﻫﺎي روﻳﻪاي ﺑﺮ ﻋﻜﺲ اﺳﺖ‪.‬‬
‫‪ .2‬در زﺑﺎن ﻫﺎي ﻧﺎروﻳﻪاي ﻛﺎرﺑﺮ ﻓﻘﻂ آﻧﭽﻪ را ﻛﻪ ﻣﻲﺧﻮاﻫﺪ ﺗﺼﺮﻳﺢ ﻣﻲﻛﻨﺪ‪ ،‬در‬
‫ﺣﺎﻟﻲ ﻛﻪ در زﺑﺎن ﻫﺎي روﻳﻪاي ﺑﻪ ﻋﻼوه ﺑﺎﻳﺪ ﭼﮕﻮﻧﮕﻲ ﺑﻪ ﻋﻴﻨﻴﺖ در آوردن‬
‫دﻳﺪش را ﻧﻴﺰ ﺑﻴﺎن ﻧﻤﺎﻳﺪ‪.‬‬
‫‪ .3‬اﺳﺎﺳﺎً ﺑﺎ ﻫﻢ ﻓﺮﻗﻲ ﻧﺪارﻧﺪ‪.‬‬
‫‪ .4‬در زﺑﺎﻧﻬﺎي روﻳﻪاي ﻛﺎرﺑﺮ ﻓﻘﻂ آﻧﭽﻪ را ﻛﻪ ﻣﻲﺧﻮاﻫﺪ‪ ،‬ﺗﺼﺮﻳﺢ ﻣﻲﻛﻨﺪ در‬
‫ﺣﺎﻟﻴﻜﻪ در زﺑﺎﻧﻬﺎي ﻧﺎروﻳﻪاي ﺑﻪ ﻋﻼوه ﺑﺎﻳﺪ ﭼﮕﻮﻧﮕﻲ ﺑﻪ ﻋﻴﻨﻴﺖ در آوردن‬
‫دﻳﺪش را ﻧﻴﺰ ﺑﻴﺎن ﻧﻤﺎﻳﺪ‪.‬‬
‫‪ -6‬ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ از ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت‬
‫آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(76-‬‬
‫‪ .1‬اﺷﺘﺮاك ﻣﻨﺎﺑﻊ‬
‫‪ .2‬اﻣﻨﻴﺖ دادهﻫﺎ‬
‫‪ .3‬ﭘﺮوژهﻫﺎ‬
‫‪ .4‬ﺳﺨﺖاﻓﺰار‬
‫‪ DBMS -7‬ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(76-‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 242‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .1‬راﺑﻄﻲ اﺳﺖ ﺑﻴﻦ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ و ﻛﺎرﺑﺮ و ﻧﻴﺰ زﺑﺎﻧﻲ اﺳﺖ ﺑﺮاي ﺗﻌﺮﻳﻒ ﺑﺎﻧﻚ‬
‫اﻃﻼﻋﺎﺗﻲ‬
‫‪ .2‬ﻧﺮماﻓﺰار ﻣﺪﻳﺮﻳﺖ و ﺗﻮﺻﻴﻒ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ و ﺣﻔﺎﻇﺖ و ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎﺳﺖ‪.‬‬
‫‪ .3‬ﻫﻤﺎن ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ‪.‬‬
‫‪ .4‬ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي اﺳﺖ ﻛﻪ در زﺑﺎن اﻃﻼﻋﺎﺗﻲ دادهﻫﺎ را ﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ -8‬ﻋﻨﺎﺻﺮ ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﻣﺤﻴﻂ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻛﺪام اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي‬
‫ﻓﻨﻲ‪(77-‬‬
‫‪ .1‬ﻣﻮﺟﻮدﻳﺖ‪ -‬ﺻﻔﺖ ﺧﺎﺻﻪ‪ -‬داده‪ -‬ﻓﺎﻳﻞ‬
‫‪ .2‬ﺳﺨﺖاﻓﺰار‪ -‬ﻧﺮماﻓﺰار‪ -‬ﻓﺎﻳﻞ‪ -‬داده‬
‫‪ .3‬ﻧﺮماﻓﺰار‪-‬ﻛﺎرﺑﺮ‪ -‬داده‪-‬ﻓﺎﻳﻞ‬
‫‪ .4‬ﺳﺨﺖاﻓﺰار‪ -‬ﻧﺮماﻓﺰار‪ -‬ﻛﺎرﺑﺮ‪ -‬داده‬
‫‪ -9‬ﻛﺪام ﻳﻚ از وﻳﮋﮔﻴﻬﺎي ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻧﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(‬
‫‪ -1‬ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ‬
‫‪ -2‬ﻛﺎﻫﺶ ﻣﻴﺰان اﻓﺰوﻧﮕﻲ‬
‫‪ -3‬ﭘﺪﻳﺪه ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ‬
‫‪ -4‬اﺳﺘﻔﺎده اﺷﺘﺮاﻛﻲ و ﻫﻤﺰﻣﺎن دادهﻫﺎ‬
‫‪ DML-10‬ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(77-‬‬
‫‪ -1‬ﻳﻚ ﻧﻮع ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺧﺎص اﺳﺖ‬
‫‪ -2‬وﻇﻴﻔﻪ ﺗﻌﺮﻳﻒ ﻓﻴﻠﺪ ﻫﺎ را در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ دارد‬
‫‪ -3‬دﺳﺘﻮرﻫﺎﻳﻲ اﺳﺖ ﺑﺮاي ﺗﻌﺮﻳﻒ دادهﻫﺎ‬
‫‪ -4‬ﻋﻬﺪه دار اﻋﻤﺎل ﻫﺮ ﮔﻮﻧﻪ ﺗﻐﻴﻴﺮ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ‬
‫‪ -11‬ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ در ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺟﺰو اﻟﺰاﻣﺎت ﻛﺎرآﻳﻲ اﺳﺖ ؟‬
‫)ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ ‪(77-‬‬
‫‪ -1‬ﮔﺰارش از ﻛﺎرﻛﻨﺎن ﻳﻚ ﺑﺨﺶ ﺳﺎزﻣﺎن‬
‫‪www.PDFgozar.com‬‬

‫‪243‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ -2‬ﺛﺒﺖ ﻧﺎم ﺑﺨﺶ ﻫﺎي ﻳﻚ ﺳﺎزﻣﺎن‬


‫‪ -3‬ﻣﺤﺪودﻳﺖ ﺗﻌﺪاد ﻛﺎرﻣﻨﺪان ﻳﻚ ﺑﺨﺶ‬
‫‪ -4‬ﺛﺒﺖ و ﮔﺰارش ﻣﻘﺪار ﺳﺎﻋﺎت اﺿﺎﻓﻪ ﻛﺎري ﻫﺮ ﻛﺎرﻣﻨﺪ‬
‫‪ -12‬ﻛﺪام ﺗﻌﺮﻳﻒ ﺑﺮاي ‪ DBMS‬ﻛﺎﻣﻠﺘﺮ اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪ 77‬و‪(80‬‬
‫‪ -1‬ﻧﺮماﻓﺰار ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺟﻬﺖ ﻛﺎر و اﻧﺠﺎم ﻋﻤﻠﻴﺎت روي‬
‫دادهﻫﺎ‬
‫‪ -2‬ﻧﺮماﻓﺰاري ﺑﺮاي ارﺗﺒﺎط ﺑﻴﻦ ﻛﺎرﺑﺮان و ﻓﺎﻳﻠﻬﺎ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪ -3‬ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﻣﺨﺼﻮص ﺑﺎﻧﻜﻬﺎي اﻃﻼﻋﺎﺗﻲ‬
‫‪ -4‬ﻧﺮماﻓﺰاري ﺑﺮاي ﻣﺪﻳﺮﻳﺖ دادهﻫﺎ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻣﻲﺑﺎﺷﺪ ؟‬ ‫‪-13‬ﻛﺪاﻣﻴﻚ ﺗﻌﺮﻳﻒ دﻳﻜﺸﻨﺮي دادهﻫﺎ )‪(catalog‬‬
‫)ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ ‪ 77-‬و‪(80‬‬
‫‪ -1‬ﻳﻚ ﺑﺎﻧﻚ ﺷﺎﻣﻞ ﻣﺸﺨﺼﺎت ﻛﺎرﺑﺮان ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪ -2‬ﻳﻚ ﺑﺎﻧﻚ ﻛﻪ ﻣﺸﺨﺼﺎت ﺳﺎﻳﺮ ﺑﺎﻧﻜﻬﺎي اﻃﻼﻋﺎﺗﻲ در آن وﺟﻮد دارد‬
‫‪ -3‬ﻳﻚ ﺑﺎﻧﻚ ﺷﺎﻣﻞ ﻣﺸﺨﺼﺎت دادهﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪ -4‬ﻳﻚ ﺑﺎﻧﻚ ﺷﺎﻣﻞ ﻣﺸﺨﺼﺎت ﺻﻔﺎت ﺧﺎﺻﻪ در ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪ DDL -14‬ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ ‪(77‬‬
‫‪ -1‬زﺑﺎﻧﻲ اﺳﺖ ﺑﺮاي ﻧﻮﺷﺘﻦ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪ -2‬زﺑﺎﻧﻲ اﺳﺖ ﺑﺮاي ﺗﻌﺮﻳﻒ دادهﻫﺎ‬
‫‪ -3‬زﺑﺎﻧﻲ اﺳﺖ ﺑﺮاي ﻛﺎر در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪ -4‬زﺑﺎﻧﻲ اﺳﺖ ﺑﺮاي دﺳﺘﻜﺎري دادهﻫﺎ‬
‫‪ -15‬ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ از اﺟﺰاي ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اراﺋﻪ ﺷﺪه ﺗﻮﺳﻂ‬
‫‪ ANSI‬ﻧﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪( 78-‬‬
‫‪ -1‬ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﺑﺎﻧﻚ اﻃﻼﻋﺎت )‪(DBMS‬‬
‫‪ -2‬زﺑﺎن ﻓﺮﻋﻲ دادهاي )‪(DSL‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 244‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ -3‬ﭘﻴﺶ ﻛﺎﻣﭙﺎﻳﻠﺮ )‪(Precompiler‬‬


‫‪ -4‬زﺑﺎن ﻣﻴﺰﺑﺎن )‪(HL‬‬
‫‪ -16‬در ﭘﺎﻳﮕﺎهدادهﻫﺎ‪ ،‬ﺑﺎ ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ دادهﻫﺎ ﻧﺘﻴﺠﻪ ﺣﺎﺻﻞ ﻛﺪام اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت‬
‫آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ ‪(78-‬‬
‫‪ -1‬اﺳﺘﻘﻼل دادهﻫﺎ‬
‫‪ -2‬اﻣﻨﻴﺖ دادهﻫﺎ )‪(security‬‬
‫‪ -3‬ﻛﺎﻫﺶ ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ )‪(Inconsistency‬‬
‫‪ -4‬اﺷﺘﺮاك دادهﻫﺎ‬
‫‪ -17‬ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺟﺰء وﻇﺎﻳﻒ ‪ DBMS‬ﻣﺤﺴﻮب ﻧﻤﻲﺷﻮد ؟ )ﻣﺴﺎﺑﻘﺎت‬
‫آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(78-‬‬
‫‪ -1‬ﺗﺒﺪﻳﻞ اﺣﻜﺎم ‪ /‬ﺷﻤﺎي ادراﻛﻲ ﺑﻪ ﺳﻄﺢ داﺧﻠﻲ و ﺑﺎﻟﻌﻜﺲ‬
‫‪ -2‬ﺗﻌﻴﻴﻦ و ﻣﺤﺎﺳﺒﻪ ﻃﻮل ﺑﻼك‪ ،‬آدرس ﻓﻴﺰﻳﻜﻲ رﻛﻮردﻫﺎ واﻧﺪازه ﺑﺎﻓﺮ‬
‫‪ -3‬ﺷﻨﺎﺳﺎﻳﻲ ﻛﺎرﺑﺮ و ﺗﺸﺨﻴﺺ اﺟﺎزه دﺳﺘﺮﺳﻲ آن ﺑﻪ ﭘﺎﻳﮕﺎهداده )‪(DB‬‬
‫‪ -4‬ﺑﺮرﺳﻲ درﺧﻮاﺳﺖ ﻛﺎرﺑﺮ از ﻧﻈﺮ ﺻﺤﺖ ﮔﺮاﻣﺮي )‪ (Syntax‬آن‬
‫‪ -18‬ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺷﺎﻣﻞ ﭼﻪ ﻣﻮاردي ﻣﻲﺑﺎﺷﺪ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي‬
‫ﻓﻨﻲ ‪(78-‬‬
‫‪ -1‬دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‪ -‬ﻛﺎرﺑﺮان‪ DBMS -‬و ﺳﺨﺖاﻓﺰار‬
‫‪ -2‬دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‪ DBMS -‬و ‪DBA‬‬
‫‪ -3‬دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‪ -‬ﻛﺎرﺑﺮان‪AM -‬‬
‫‪ -4‬دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‪ -‬ﻛﺎرﺑﺮان‪ AM -‬و ﺳﺨﺖاﻓﺰار‬
‫ﺑﻪ ﻋﻨﻮان ﻳﻜﻲ از اﻣﺘﻴﺎزات ‪ database‬ﺑﻪ ﭼﻪ ﻣﻌﻨﺎﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت‬ ‫‪integrity-19‬‬
‫آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(79-‬‬
‫‪ -1‬ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ دادهﻫﺎ و ﭘﺎﻳﮕﺎهدادهﻫﺎ‬
‫‪ -2‬ﺻﺤﺖ دادهﻫﺎ و ﭘﺮدازش ﻫﺎ و ﭘﻴﺮوي از ﻗﻮاﻋﺪ ﺳﻴﺴﺘﻢ‬
‫‪www.PDFgozar.com‬‬

‫‪245‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ -3‬ﻣﺤﺎﻓﻈﺖ دادهﻫﺎ در ﺑﺮاﺑﺮ ﺧﻄﺮات‬


‫‪ -4‬ﭘﺮﻫﻴﺰ از ﻧﺎﻫﻤﺨﻮاﻧﻲ دادهﻫﺎ در ﭘﺎﻳﮕﺎهدادهﻫﺎ‬
‫‪ -20‬ﻃﺮاح ﺑﺎﻧﻚ‪ ،‬از دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﺑﺎﻧﻚ ﭼﮕﻮﻧﻪ دﻳﺪي در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ‬
‫اﻧﺘﺰاﻋﻲ دارد ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ ‪(80-‬‬
‫‪ -1‬ادراﻛﻲ‬
‫‪ -2‬ﺧﺎرﺟﻲ‬
‫‪ -3‬داﺧﻠﻲ‬
‫‪ -4‬ﻓﻴﺰﻳﻜﻲ‬
‫‪ -21‬ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺟﺰء وﻳﮋﮔﻲ ﻫﺎي ﺑﺎﻧﻚ اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي‬
‫ﻓﻨﻲ ‪(80-‬‬
‫‪ -1‬اﻣﻜﺎن اﺳﺘﻔﺎده از ﺑﺎزﻳﺎﺑﻲ اﺳﺘﻨﺘﺎﺟﻲ‬
‫‪ -2‬اﻣﻜﺎن ﭘﺮدازش دﺳﺘﻮرات ﻛﺎرﺑﺮ ﺑﻪ زﺑﺎن ﻃﺒﻴﻌﻲ‬
‫‪ -3‬اﺳﺘﻔﺎده ﻫﻤﺰﻣﺎن و اﺷﺘﺮاﻛﻲ از دادهﻫﺎ‬
‫‪ -4‬ﭘﺪﻳﺪه ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ‬
‫‪ -22‬ﻛﺪام ﮔﺰﻳﻨﻪ از اﺟﺰاء ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ در ‪ ANSI‬ﻧﻤﻲﺑﺎﺷﺪ ؟‬
‫‪Mapping -1‬‬
‫‪MSD -2‬‬
‫‪HL -3‬‬
‫‪DSL -4‬‬
‫‪ -23‬ﻣﻨﻈﻮر از ‪ CASE‬در ﭘﺎﻳﮕﺎهدادهﻫﺎ ﭼﻴﺴﺖ ؟‬
‫‪ -1‬اﺑﺰار ﻛﻤﻜﻲ در ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪ -2‬ﺣﺎﻻت ﻣﺨﺘﻠﻒ ﭘﻴﺎده ﺳﺎزي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪ -3‬ﻳﻜﻲ از ﺳﺎﺧﺘﺎرﻫﺎي راﺑﻄﻪاي‪ ،‬ﺷﺒﻜﻪاي ﻳﺎ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬
‫‪ -4‬ﺣﺎﻟﺖ ﺧﺎﺻﻲ ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﺑﺎﻧﻚ ﺑﻪ ﺣﺎﻟﺖ آﻧﻮﻣﺎﻟﻲ ﺑﺮﺳﺪ‬
‫‪ -24‬ﭼﻬﺎر ﻛﻨﺘﺮﻟﻲ ﻛﻪ ﺑﺎﻳﺪ روي ﺗﻤﺎﻣﻲﺗﺮاﻛﻨﺶ ﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﻋﻤﺎل ﮔﺮدد ﺗﺎ‬
‫ﺻﺤﺖ و ﺟﺎﻣﻌﻴﺖ آن ﺗﻀﻤﻴﻦ ﺷﻮد‪ ،‬ﻛﺪاﻣﻨﺪ ؟‬
‫‪www.PDFgozar.com‬‬

‫‪ 246‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪data dictionary -isolation-security atomicity- -1‬‬


‫‪isolation -anomaly-integrity durability- -2‬‬
‫‪atomicity -isolation-consistency durability- -3‬‬
‫‪consistency -data dictionary-security anomaly- -4‬‬
‫‪ -25‬در ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﻛﺪام ﮔﺰﻳﻨﻪ وﺟﻮد دارد ؟‬
‫‪ -1‬ﻧﺎم ﻣﻮﺟﻮدﻳﺘﻬﺎ و ارﺗﺒﺎﻃﺎت ﺑﻴﻦ آﻧﻬﺎ‬
‫‪ -2‬ﺷﻤﺎي ادراﻛﻲ‬
‫‪ -3‬ﺷﻤﺎﻫﺎي ﺧﺎرﺟﻲ ﻛﺎرﺑﺮان‪-‬ﺳﺎﺧﺘﺎر ﻓﻴﺰﻳﻜﻲ ﺑﺎﻧﻚ‬
‫‪ -4‬ﻫﺮ ﺳﻪ‬
‫‪-26‬ﻣﻨﻈﻮر از ‪ DML‬ﭼﻴﺴﺖ ؟‬
‫‪ -1‬اﺣﻜﺎم ﻛﺎر ﺑﺎ )ﭘﺮدازش( دادهﻫﺎ‬
‫‪ -2‬اﺣﻜﺎم ﻛﻨﺘﺮﻟﻲ‬
‫‪ -3‬اﺣﻜﺎم ﺗﻌﺮﻳﻒ دادهﻫﺎ‬
‫‪ -4‬ﻫﻴﭽﻜﺪام‬
‫‪ -27‬ﺗﺼﻮﻳﺮ ادراﻛﻲ ﻳﻌﻨﻲ‪:‬‬
‫‪ -1‬دﻳﺪ ‪ DBA‬از ﻛﻞ ﺑﺎﻧﻚ‬
‫‪ -2‬دﻳﺪ ﻛﺎرﺑﺮ از ﻛﻞ ﺑﺎﻧﻚ‬
‫‪ -3‬دﻳﺪ ‪ DBA‬از ﺑﺨﺸﻲ از ﺑﺎﻧﻚ‬
‫‪ -4‬دﻳﺪ ﻛﺎرﺑﺮ از ﺑﺨﺸﻲ از ﺑﺎﻧﻚ‬
‫‪ -28‬ﻛﺪام ﮔﺰﻳﻨﻪ از ﻣﻌﺎﻳﺐ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻧﻴﺴﺖ ؟ )آزﻣﺎﻳﺸﻲ‪ -‬ﻛﺎوﺷﻜﺮان‪(80 -‬‬
‫‪ -1‬در ﺻﻮرت ﻋﺪم ﻛﻨﺘﺮل ﻣﻨﺎﺳﺐ ﻣﻤﻜﻦ اﺳﺖ ﺟﺎﻣﻌﻴﺖ دادهﻫﺎ ﺑﻪ ﺧﻄﺮ اﻓﺘﺪ‪.‬‬
‫‪ -2‬ﺳﺮﺑﺎرﻫﺎي ﻛﺎراﻳﻲ ﻣﻤﻜﻦ اﺳﺖ زﻳﺎد ﺑﺎﺷﺪ‪.‬‬
‫‪ -3‬ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﭘﻴﭽﻴﺪه ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ -4‬در ﺻﻮرت ﻋﺪم ﻛﻨﺘﺮل ﻣﻨﺎﺳﺐ ﻣﻤﻜﻦ اﺳﺖ اﻣﻨﻴﺖ ﺑﻪ ﺧﻄﺮ ﺑﻴﻔﺘﺪ‪.‬‬
‫‪ -29‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﺗﺮاﻛﻨﺶ ﻫﺎ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪www.PDFgozar.com‬‬

‫‪247‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ -1‬ﺗﺮاﻛﻨﺶ ﻫﺎ اﺗﻤﻲﻫﺴﺘﻨﺪ ﻳﻌﻨﻲاﻳﻨﻜﻪ ﻳﺎ ﺑﻪ ﻃﻮر ﻛﺎﻣﻞ اﺟﺮاء ﻣﻲﺷﻮﻧﺪ ﻳﺎ اﺻﻼً اﺟﺮاء‬


‫ﻧﻤﻲﺷﻮﻧﺪ ﺣﺘﻲ اﮔﺮ ﺳﻴﺴﺘﻢ در وﺳﻂ ﻛﺎر ﺧﺮاب ﺷﻮد‪.‬‬
‫‪ -2‬ﺗﺮاﻛﻨﺶ ﻳﻚ واﺣﺪ ﻣﻨﻄﻘﻲ از ﻛﺎر اﺳﺖ و ﻣﻌﻤﻮﻻً ﺷﺎﻣﻞ ﭼﻨﺪﻳﻦ ﻋﻤﻞ ﺑﺎﻧﻚ‬
‫اﻃﻼﻋﺎﺗﻲ اﺳﺖ‪.‬‬
‫‪ -3‬ﻋﻤﻞ ‪ COMMIT‬ﭘﻴﺎم ﻣﻮﻓﻘﻴﺖ اﻧﺠﺎم ﺗﺮاﻛﻨﺶ را ارﺳﺎل ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ -4‬ﻋﻤﻞ ‪ ROLLBACK‬ﺑﺎﻋﺚ ﻣﻲﺷﻮد ﻋﻤﻠﻴﺎت از اول دوﺑﺎره ﺗﻜﺮار ﺷﻮد‪.‬‬
‫‪ -30‬ﻛﺪام ﮔﺰﻳﻨﻪ از وﻇﺎﻳﻒ ‪ DDL‬اﺳﺖ ؟‬
‫‪ -1‬ﺳﺎﺧﺘﺎر دادهﻫﺎ‬
‫‪ -2‬ﺗﻌﺮﻳﻒ ﻓﻴﻠﺪ ﻫﺎ‬
‫‪ -3‬ﻣﺤﻞ ﻓﺎﻳﻠﻬﺎ‬
‫‪ -4‬ﻫﻤﻪ ﮔﺰﻳﻨﻪﻫﺎ‬
‫‪ -31‬ﻣﺪﻳﺮان داده )‪( DA‬وﻇﻴﻔﻪ ﺷﺎن ﭼﻴﺴﺖ ؟‬
‫‪ -1‬ﻛﻨﺘﺮل ‪database‬‬
‫‪ -2‬ﻛﻨﺘﺮل ‪ DBMS‬و دادهﻫﺎ‬
‫‪ -3‬اﺟﺮاي ‪database‬‬
‫‪ -4‬اﺳﺘﻔﺎده از ‪database‬‬
‫‪ -32‬ﻛﺪام ﮔﺰﻳﻨﻪ ﺑﺮاي ﺗﻮﺿﻴﺢ دﻳﺘﺎﺑﻴﺲ ﻛﺎﻣﻠﺘﺮ اﺳﺖ ؟‬
‫‪ -1‬ﺑﻴﺎن ﻛﻨﻨﺪه ﻓﺎﻳﻠﻬﺎي دادهاي اﺳﺖ‬
‫‪ -2‬ﺑﻴﺎن ﻛﻨﻨﺪه ﺟﺪاول و ﺻﻔﺎت ﺧﺎﺻﻪ اﺳﺖ‬
‫‪ -3‬ﻳﻚ ﻧﻮع زﺑﺎن ﭘﺮدازﺷﻲ ﺟﻬﺖ ﻣﺪﻳﺮﻳﺖ دادهاي اﺳﺖ‬
‫‪ -4‬ﺑﻴﺎن ﻛﻨﻨﺪه ﻣﻮﺟﻮدﻳﺘﻬﺎ‪ ،‬ﺻﻔﺎت ﺧﺎﺻﻪ و ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ اﺳﺖ‬
‫‪ -33‬ﻛﺪام ﮔﺰﻳﻨﻪ ﺗﻌﺮﻳﻒ ﻛﺎﻣﻠﺘﺮي از ‪ DBMS‬را اراﺋﻪ ﻣﻲﻛﻨﺪ ؟‬
‫‪ -1‬ﻫﻤﺎن دﻳﺘﺎﺑﻴﺲ اﺳﺖ‪.‬‬
‫‪ -2‬راﺑﻂ ﺑﻴﻦ دﻳﺘﺎﺑﻴﺲ و ﻛﺎرﺑﺮ اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 248‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ -3‬ﺟﻬﺖ ﺗﻌﺮﻳﻒ و ﻛﺎر ﺑﺎ دﻳﺘﺎﺑﻴﺲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪.‬‬


‫‪2 -4‬و‪3‬‬
‫‪ -34‬ﻣﻨﻈﻮر از ‪ DBMS Environment‬ﻛﺪام اﺳﺖ ؟‬
‫‪Procedure-People -Data -Software -Hardware -1‬‬
‫‪User -Software -Hardware -2‬‬
‫‪Database -Software - Hardware -3‬‬
‫‪Hardware-Software -People -Data -4‬‬
‫‪ DML -35‬ﭼﻴﺴﺖ ؟‬
‫‪ -1‬زﺑﺎﻧﻲ ﺟﻬﺖ ﭘﺮس و ﺟﻮي دادهﻫﺎ‬
‫‪ -2‬زﺑﺎﻧﻲ ﺟﻬﺖ ﮔﺰارش ﮔﻴﺮي‬
‫‪2 - 3‬و‪1‬‬
‫‪ -4‬زﺑﺎﻧﻲ ﺟﻬﺖ ﺗﻌﺮﻳﻒ دادهﻫﺎ‬
‫‪ DDL -36‬ﭼﻴﺴﺖ ؟‬
‫‪ -1‬ﺑﺮاي اﻧﺠﺎم اﻋﻤﺎل ﻣﺤﺎﺳﺒﺎﺗﻲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪.‬‬
‫‪ -2‬ﺑﺮاي درج دادهﻫﺎ و ﺑﻪ روز رﺳﺎﻧﻲ آﻧﻬﺎ اﺳﺘﻔﺎده ﻣﻲﮔﺮدد‪.‬‬
‫‪ -3‬ﺻﻔﺎت ﻣﺸﺨﺼﻪ و ﺧﺼﻮﺻﻴﺎت دﻳﺘﺎﺑﻴﺲ را ﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ -4‬ﻫﻤﺎن ‪ DML‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ -37‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ -1‬ﻳﻜﻲ از ﻣﺰاﻳﺎي ‪ DBMS‬اﻳﺠﺎد ﻣﺤﺪودﻳﺘﻬﺎي اﻣﻨﻴﺘﻲ اﺳﺖ‪.‬‬
‫‪ Database -2‬ﻣﺠﻤﻮﻋﻪاي از ﭼﻨﺪ رﻛﻮرد اﺳﺖ‪.‬‬
‫‪ External view -3‬دﻳﺪ ﻃﺮاح ﺑﺎﻧﻚ اﺳﺖ‪.‬‬
‫‪ End user -4‬اﻓﺮادي ﻫﺴﺘﻨﺪ ﻛﻪ از دﻳﺘﺎﺑﻴﺲ اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ‪.‬‬
‫‪-38‬در ﻣﺪل ‪ ANSI / SPARC‬ﻛﺪام دﻳﺪ ﻣﺮﺑﻮط ﺑﻪ دادهﻫﺎ و ﻧﮕﺮﺷﻲ ﺑﺮ ﻣﺤﺪودﻳﺘﻬﺎي‬
‫ﺳﻴﺴﺘﻢ اﺳﺖ ؟‬
‫‪External Level -1‬‬
‫‪Conceptual level -2‬‬
‫‪www.PDFgozar.com‬‬

‫‪249‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪Internal‬‬ ‫‪-3‬‬
‫‪1,3 -4‬‬
‫‪ -39‬ﻛﺪام ﮔﺰﻳﻨﻪ ﺗﻮﺳﻂ ﺳﻄﺢ ادراﻛﻲ اراﺋﻪ ﻣﻲﮔﺮدد ؟‬
‫‪ -1‬ﻣﺸﺨﺺ ﺳﺎﺧﺘﻦ دادهﻫﺎ‬
‫‪ -2‬ﺗﻌﺮﻳﻒ دﻳﺘﺎﺑﻴﺲ‬
‫‪ -3‬ﺗﻌﺮﻳﻒ ﺳﻄﺮﻫﺎي ﺟﺪاول‬
‫‪ -4‬ﻣﺸﺨﺺ ﺳﺎﺧﺘﻦ رﺳﺎﻧﻪ ذﺧﻴﺮه ﺳﺎزي‬
‫‪ DBA -40‬ﻛﻴﺴﺖ ؟‬
‫‪ -1‬ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ دﻳﺘﺎﺑﻴﺲ‬
‫‪ -2‬ﭘﻴﺎده ﺳﺎزي ﺗﺼﻤﻴﻤﺎت اداره ﻛﻨﻨﺪه دادهﻫﺎ )‪(DA‬‬
‫‪ -3‬اﺟﺮاء ﻛﻨﻨﺪه دﻳﺘﺎﺑﻴﺲ‬
‫‪ -4‬ﻃﺮاح دﻳﺘﺎﺑﻴﺲ‬
‫‪ -41‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ -1‬در اﺳﺘﻘﻼل ﻓﻴﺰﻳﻜﻲ دادهﻫﺎ اﮔﺮ ﺗﻐﻴﻴﺮي در ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ اﻧﺠﺎم ﮔﻴﺮد‪،‬‬
‫ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻫﻴﭻ ﺗﻐﻴﻴﺮي ﻧﻤﻲﻛﻨﻨﺪ‪.‬‬
‫‪ -2‬در اﺳﺘﻘﻼل ﻣﻨﻄﻘﻲ دادهﻫﺎ ﺗﻐﻴﻴﺮ ﺗﺼﻮﻳﺮ ادراﻛﻲ ﺑﺎﻧﻚ از دﻳﺪ ﻛﺎرﺑﺮان و‬
‫ﺑﺮﻧﺎﻣﻪﻫﺎي آﻧﻬﺎ ﻣﺨﻔﻲ ﻣﻲﻣﺎﻧﺪ‪.‬‬
‫‪ CASE -3‬ﻳﻚ اﺑﺰار ﻛﻤﻜﻲ اﺳﺖ ﻛﻪ در ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺑﺎﻧﻚ ﻣﻮرد اﺳﺘﻔﺎده‬
‫ﻗﺮار ﻣﻲﮔﻴﺮد‪.‬‬
‫‪ -4‬ﻧﺎﺳﺎزﮔﺎري و ﻧﺎاﻳﻤﻦ ﺑﻮدن دادهﻫﺎ‪ ،‬ﺟﺎﻣﻌﻴﺖ ﺑﺎﻧﻚ را ﺧﺪﺷﻪ دار ﻣﻲﻛﻨﺪ وﻟﻲ‬
‫ﮔﺴﺴﺖ ﭘﻴﻮﻧﺪﻫﺎي ﺳﻤﺎﻧﺘﻴﻚ ﺑﺮاي ﺟﺎﻣﻌﻴﺖ ﻣﺸﻜﻠﻲاﻳﺠﺎد ﻧﻤﻲﻛﻨﺪ‪.‬‬
‫‪ -42‬در ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺎ ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ‪ ،‬ﻧﺘﻴﺠﻪ ﺣﺎﺻﻞ ﻛﺪام اﺳﺖ ؟‬
‫‪ -1‬اﺳﺘﻘﻼل دادهﻫﺎ‬
‫‪security -2‬‬
‫‪ -3‬ﻛﺎﻫﺶ ‪Inconsistency‬‬
‫‪ -4‬اﺷﺘﺮاك دادهﻫﺎ‬
‫‪www.PDFgozar.com‬‬

‫‪ 250‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ -43‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬


‫‪ -1‬ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺷﺎﻣﻞ ﻣﻮارد روﺑﺮو اﺳﺖ‪ :‬دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‪،‬‬
‫ﻛﺎرﺑﺮان‪ ،DBMS ،‬ﺳﺨﺖاﻓﺰار‬
‫‪ DBMS -2‬زﺑﺎﻧﻲ اﺳﺖ ﺑﺮاي ﺗﻌﺮﻳﻒ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪ DBMS -3‬ﻧﺮماﻓﺰار ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺟﻬﺖ ﻛﺎر و اﻧﺠﺎم ﻋﻤﻠﻴﺎت‬
‫روي دادهﻫﺎ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ DBMS -4‬ﻣﻴﻬﻤﺎن ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ اﺳﺖ‪.‬‬
‫‪ -44‬در ﻛﺪاﻣﻴﻚ از اﻧﻮاع ارﺗﺒﺎط ﺑﻴﻦ ‪ DBMS‬ﺑﺎ ﺳﺎﻳﺮ ﻋﻨﺎﺻﺮ ﻧﺮماﻓﺰاري ﻣﺤﻴﻂ‪ ،‬اﻣﻜﺎن‬
‫اﺷﺘﺮاﻛﻲ‬
‫ﺷﺪن دادهﻫﺎ ﺑﺮاي ﺑﺮﻧﺎﻣﻪﻫﺎ وﺟﻮد ﻧﺪارد ؟‬
‫‪ -1‬ﻳﻚ ‪ DBMS‬ﺑﺮاي ﻫﺮ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ -2‬ﻳﻚ ‪ DBMS‬ﺗﺤﺖ ﻛﻨﺘﺮل ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ -3‬ﺑﺮﻧﺎﻣﻪﻫﺎ ﺗﺤﺖ ﻛﻨﺘﺮل ‪ DBMS‬اﺟﺮاء ﺷﻮﻧﺪ‪.‬‬
‫‪ -4‬ﻫﻴﭽﻜﺪام‪.‬‬
‫‪ -45‬ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ از وﻇﻠﻴﻒ ‪ DBMS‬ﻧﻤﻲﺑﺎﺷﺪ ؟‬
‫‪ -1‬ﺑﺮﻗﺮاري اﻣﻨﻴﺖ‬
‫‪ -2‬ﺗﺎﻣﻴﻦ اﻣﻜﺎن ﺗﻌﺮﻳﻒ واﻳﺠﺎد ﺑﺎﻧﻚ‬
‫‪ -3‬ﺑﺎزﻳﺎﺑﻲ و ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﺎﻧﻚ‬
‫‪ -4‬ﺗﺎﻣﻴﻦ اﻣﻜﺎن ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ ﺑﺎﻧﻚ‬
‫‪ DSL -46‬ﭼﻪ ﻧﻮع زﺑﺎﻧﻲ اﺳﺖ ؟‬
‫‪Procedural -1‬‬
‫‪Declarative -2‬‬
‫‪OOP -3‬‬
‫‪Non-structured -4‬‬
‫‪ -47‬اﻟﮕﻮي ‪ ANSI / SPARC‬ﭼﻴﺴﺖ ؟‬
‫‪ -1‬راﺑﻄﻪ ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ را ﺑﻴﺎن ﻣﻲﻛﻨﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪251‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ -2‬اﺟﺘﻤﺎﻋﻲ از دﻳﺪﮔﺎﻫﻬﺎي ﻣﺠﺰاي ﻛﺎرﺑﺮان اﺳﺖ‪.‬‬


‫‪ -3‬اﺟﺘﻤﺎﻋﻲ از دﻳﺪﮔﺎﻫﻬﺎي اﻧﺒﺎرﺷﻲ و اﺟﺘﻤﺎع دﻳﺪﮔﺎه ﻛﺎرﺑﺮان و دﻳﺪﮔﺎﻫﻬﺎي‬
‫ﻣﺠﺰاي ﻛﺎرﺑﺮان اﺳﺖ‪.‬‬
‫‪ -4‬اﺟﺘﻤﺎﻋﻲ از دﻳﺪﮔﺎﻫﻬﺎي اﻧﺒﺎرﺷﻲ و ﻣﺠﺰاي ﻛﺎرﺑﺮان اﺳﺖ‪.‬‬
‫‪ -48‬ﻣﺠﺘﻤﻊ ﺑﻮدن ﻋﺒﺎرت اﺳﺖ از‪:‬‬
‫‪ -1‬ﺟﻤﻊ ﭘﺬﻳﺮي ﻧﺮماﻓﺰارﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪ -2‬وﺣﺪت ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﻣﺠﺰا ﺑﺎ اﻣﻜﺎن ﺗﻜﺮار ﺗﻜﻨﻴﻜﻲ اﻃﻼﻋﺎت‬
‫‪ -3‬وﺣﺪت ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﻣﺠﺰا ﺑﻮدن ﻫﺮﮔﻮﻧﻪ ﺗﻜﺮاري‬
‫‪ -4‬وﺣﺪت ﭼﻨﺪﻳﻦ رﻛﻮرد ﺣﺬف ﺷﺪه‬
‫‪ schema -49‬ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺒﺎرت اﺳﺖ از‪:‬‬
‫‪ -1‬ﺗﺸﺮﻳﺢ ‪DBMS‬‬
‫‪ -2‬ﺗﺸﺮﻳﺢ دﻳﺘﺎﺑﻴﺲ ﺑﺮاي ‪DBMS‬‬
‫‪ -3‬ﺗﺸﺮﻳﺢ دادهﻫﺎ‬
‫‪ -4‬ﻣﻌﺮﻓﻲ ﻛﺎرﺑﺮان‬
‫‪ -50‬ﻣﻨﻈﻮر از ‪ View‬در ﻣﺪل ‪ ANSI‬ﭼﻴﺴﺖ ؟‬
‫‪ -1‬دادهﻫﺎي دﻳﺪه ﺷﺪه در ﺑﺎﻧﻜﻬﺎي اﻃﻼﻋﺎﺗﻲ‬
‫‪ -2‬ﻧﻤﺎﺋﻲ از اﻃﻼﻋﺎت ﻣﻮرد ﻧﻴﺎز ﻃﺮاح‬
‫‪ -3‬ﻣﺸﺎﻫﺪه دادهﻫﺎ ﺑﻪ ﻫﻤﺎن ﺷﻜﻞ ﻛﻪ در ﻫﺮ ﺳﻄﺢ ﻣﺸﺎﻫﺪه ﻣﻲﺷﻮد‪.‬‬
‫‪ -4‬ﻧﻤﺎﺋﻲ از دادهﻫﺎي ﻣﻮرد ﻧﻴﺎز در ‪DBMS‬‬
‫‪ -51‬دﻳﺪ داﺧﻠﻲ ﻋﺒﺎرت اﺳﺖ از‪:‬‬
‫‪ -1‬ﺷﻤﺎي ﻣﺮﺑﻮط ﺑﻪ اﺳﺘﻔﺎده از ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪ -2‬ﺷﻤﺎي ﻧﺤﻮه ذﺧﻴﺮه دادهﻫﺎ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪ -3‬ﺷﻤﺎي ﻣﺮﺑﻮط ﺑﻪ ﻛﺎرﺑﺮان‬
‫‪ -4‬ﺷﻤﺎي ﻣﺮﺑﻮط ﺑﻪ ﻓﺎﻳﻠﻬﺎ‪ ،‬ﺳﻜﺘﻮرﻫﺎ و ﺷﻴﺎرﻫﺎ‬
‫‪www.PDFgozar.com‬‬

‫‪ 252‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ -52‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻓﺮﻫﻨﮓ دادهﻫﺎ درﺳﺖ اﺳﺖ ؟‬


‫‪ DBMS -1‬اﻣﻜﺎﻧﺎت ﻓﺮﻫﻨﮓ دادهﻫﺎ را ﻓﺮاﻫﻢ ﻣﻲﺳﺎزد و ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﺮاي‬
‫ﺳﻴﺴﺘﻢ اﺳﺖ‪.‬‬
‫‪ DBMS -2‬اﻣﻜﺎﻧﺎت ﻓﺮﻫﻨﮓ دادهﻫﺎ را ﻓﺮاﻫﻢ ﻣﻲﺳﺎزد و ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﺮاي‬
‫ﻛﺎرﺑﺮان اﺳﺖ‪.‬‬
‫‪ -3‬ﻓﺮﻫﻨﮓ دادهﻫﺎ ﺗﻮﺿﻴﺤﺎﺗﻲ در ﻣﻮرد ﺟﺪاول ﺑﻪ ﻛﺎرﺑﺮ ﻣﻲدﻫﺪ‪.‬‬
‫‪ -4‬ﻓﺮﻫﻨﮓ دادهﻫﺎ ﻳﻜﻲ از اﻣﻜﺎﻧﺎﺗﻲ اﺳﺖ ﻛﻪ ‪ DBA‬در اﺧﺘﻴﺎر دﻳﺘﺎﺑﻴﺲ ﻗﺮار ﻣﻲدﻫﺪ‪.‬‬
‫‪ -53‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ -1‬در اﻛﺜﺮ ﻧﺮماﻓﺰارﻫﺎي ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺮاي ذﺧﻴﺮه ﺳﺎزي اﻃﻼﻋﺎت ﻳﻚ ‪ entity‬از‬
‫ﺟﺪول اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪.‬‬
‫‪ END USER -2‬ﻧﮕﻬﺪارﻧﺪﮔﺎن ﻣﺤﻴﻂ ‪ DBMS‬ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬
‫‪ DBMS -3‬اﻣﻜﺎﻧﺎت ﻓﺮﻫﻨﮓ دادهﻫﺎ را ﻓﺮاﻫﻢ ﺳﺎﺧﺘﻪ و ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﺮاي‬
‫ﺳﻴﺴﺘﻢ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ -4‬از ﻣﺰاﻳﺎي ﭘﺎﻳﮕﺎهداده ﻧﺴﺒﺖ ﺑﻪ ﻓﺎﻳﻠﻬﺎي ﻣﻌﻤﻮﻟﻲ ﻣﻲﺗﻮان ﻛﻨﺘﺮل ﺣﺴﺎب ﺷﺪه‬
‫ﻣﻘﺪار اﻓﺰوﻧﮕﻲ واﺷﺘﺮاك دادهﻫﺎ را ﻧﺎم ﺑﺮد‪.‬‬
‫‪-54‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬
‫‪ -1‬ﻣﺠﺘﻤﻊ ﺑﻮدن ﻳﻌﻨﻲ وﺣﺪت ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﻣﺠﺰا ﺑﻮدن ﻫﺮ ﮔﻮﻧﻪ ﺗﻜﺮاري‬
‫‪ -2‬ﻛﻮﭼﻜﺘﺮﻳﻦ واﺣﺪ دادهﻫﺎي ﻣﻔﻬﻮﻣﻲرا ))دادهﻫﺎي ﺗﺠﺰﻳﻪ ﭘﺬﻳﺮ (( ﮔﻮﻳﻨﺪ‪.‬‬
‫‪ -3‬دﻳﺘﺎﺑﻴﺲ ﻣﺠﻤﻮﻋﻪاي از رﻛﻮردﻫﺎي ﺗﻜﺮاري اﺳﺖ‪.‬‬
‫‪ -4‬ﻣﺤﺪودﻳﺘﻬﺎي ﺟﺎﻣﻌﻴﺘﻲ‪ ،‬ﺷﻤﺎي ﻫﺮ راﺑﻄﻪ و اﻃﻼﻋﺎت اﻣﻨﻴﺘﻲ ﺗﻮﺳﻂ ‪ DDL‬ﺗﻌﻴﻴﻦ‬
‫ﻣﻲﮔﺮدد‪.‬‬
‫‪ -55‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬
‫‪ -1‬ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ از ﻣﺤﻞ ﻓﻴﺰﻳﻜﻲ رﻛﻮردﻫﺎ ﺑﺮ روي رﺳﺎﻧﻪ‬
‫ذﺧﻴﺮه ﺳﺎزي ﺧﺒﺮ دارد‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪253‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ Pre-compiler -2‬در ﺑﺎﻧﻜﻬﺎي اﻃﻼﻋﺎﺗﻲ دﺳﺘﻮرﻫﺎي ﺑﺎﻧﻜﻲ را ﺑﻪ دﺳﺘﻮرﻫﺎي زﺑﺎن‬


‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺗﺒﺪﻳﻞ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ -3‬ﻛﻠﻴﻪ اﻃﻼﻋﺎت ﺳﻴﺴﺘﻤﻲاز دﻳﺪ ﺧﺎرﺟﻲ‪ ،‬ادراﻛﻲ و داﺧﻠﻲ درون ‪ DBMS‬ﻗﺮار‬
‫دارد‪.‬‬
‫‪ -4‬ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﻓﻘﻂ ﺑﺎ دﺳﺘﻮرات ‪ DML‬ﻗﺎﺑﻞ ﺗﻐﻴﻴﺮ اﺳﺖ‪.‬‬
‫‪-56‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ External view .1‬ﺳﻄﺢ ﻣﺸﺎﻫﺪات ﻣﺠﺰاي ﻛﺎرﺑﺮان را ﺑﻴﺎن ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ host language .2‬ﻳﻚ زﺑﺎن ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ‪.‬‬
‫‪ .3‬ﻧﮕﺎﺷﺖ ﺧﺎرﺟﻲ ‪ /‬ﻣﻔﻬﻮﻣﻲﻛﻠﻴﺪ اﺳﺘﻘﻼل ﻣﻨﻄﻘﻲ دادهﻫﺎﺳﺖ‪.‬‬
‫‪ .4‬در اﺳﺘﻘﻼل ﻓﻴﺰﻳﻜﻲ ﻃﺮاح در ﺗﻐﻴﻴﺮات ﺳﻄﺢ داﺧﻠﻲ ‪ /‬ادراﻛﻲ آزاد اﺳﺖ‪.‬‬
‫‪ -57‬اﺳﺘﻘﻼل ﻣﻨﻄﻘﻲ ﺷﺎﻣﻞ ﻛﺪام ﻣﻮرد ﻧﻤﻲﺑﺎﺷﺪ ؟‬
‫‪ .1‬ﺗﻌﺮﻳﻒ ﻳﻚ راﺑﻄﻪ ﺟﺪﻳﺪ در ﺷﻤﺎ‬
‫‪ .2‬ﺗﺒﺪﻳﻞ ﻳﻚ راﺑﻄﻪ ﺑﻪ دو راﺑﻄﻪ ﻛﻮﭼﻜﺘﺮ‬
‫‪ .3‬ﺟﺎﻳﮕﺰﻳﻨﻲ ﻳﻚ راﺑﻄﻪ از ﺷﻤﺎ‬
‫‪1 .4‬و‪2‬‬
‫‪ -58‬ﺧﺎﺻﻴﺖ ‪ isolation‬در ﺗﺮاﻛﻨﺶ ﻫﺎ ﺑﻪ ﭼﻨﺪ ﻣﻔﻬﻮم ﻣﻲﺑﺎﺷﺪ ؟‬
‫‪ .1‬ﻫﺮ ﺗﺮاﻛﻨﺶ اﮔﺮ ﺑﻪ ﺗﻨﻬﺎﻳﻲ اﺟﺮاء ﺷﻮد ﺑﺎﻧﻚ را از ﺣﺎﻟﺘﻲ ﺻﺤﻴﺢ ﺑﻪ ﺣﺎﻟﺖ‬
‫ﺻﺤﻴﺢ دﻳﮕﺮي ﻣﻨﺘﻘﻞ ﻣﻲﺳﺎزد‪.‬‬
‫‪ .2‬اﺛﺮ ﺗﺮاﻛﻨﺶ ﻫﺎي ﻫﻢ روﻧﺪ روي ﻳﻜﺪﻳﮕﺮ ﭼﻨﺎن اﺳﺖ ﻛﻪ اﻧﮕﺎر ﻫﺮ ﻛﺪام در اﻧﺰوا‬
‫اﻧﺠﺎم ﻣﻲﺷﻮد‪.‬‬
‫‪ .3‬ﻛﻨﺘﺮل ‪ isolation‬ﺗﻮﺳﻂ واﺣﺪ ‪ recovery management‬ﺻﻮرت ﻣﻲﮔﻴﺮد‪.‬‬
‫‪ .4‬ﺗﺮاﻛﻨﺶ ﻫﺎ ﻣﻤﻜﻦ اﺳﺖ اﺛﺮ ﻣﺨﺮب ﺑﺮ روي ﻫﻢ داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ -59‬دو ﻧﻮع ﭘﺎﻳﺎن ﺑﺮاي ﺗﺮاﻛﻨﺶ ﻫﺎ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫‪Abort , Commit‬‬ ‫‪.1‬‬
‫‪Run , ready‬‬ ‫‪.2‬‬
‫‪Abort , Retry‬‬ ‫‪.3‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 254‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪Commit , Success .4‬‬


‫‪ -60‬ﻫﻤﺨﻮاﻧﻲ ﻳﺎ ﺳﺎزﮔﺎري )‪ (Consistency‬ﺑﺮاي ﺗﺮاﻛﻨﺶ ﻫﺎ ﺑﻪ ﭼﻪ ﻣﻌﻨﺎﺳﺖ ؟‬
‫‪ .1‬ﻫﺮ ﺗﺮاﻛﻨﺶ اﮔﺮ ﺑﻪ ﺗﻨﻬﺎﻳﻲ اﺟﺮاء ﺷﻮد ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ را از ﺣﺎﻟﺘﻲ ﺻﺤﻴﺢ ﺑﻪ‬
‫ﺣﺎﻟﺖ ﺻﺤﻴﺢ دﻳﮕﺮ ﻣﻨﺘﻘﻞ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ .2‬در ﺗﺮاﻛﻨﺶ ﺑﺎﻳﺪ ﺗﻤﺎﻣﻲﻗﻮاﻧﻴﻦ ﺟﺎﻣﻌﻴﺖ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ را رﻋﺎﻳﺖ ﻛﻨﺪ‪.‬‬
‫‪1 .3‬و‪2‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -61‬ﺧﺎﺻﻴﺖ اﺗﻤﻲﺑﻮدن ﺑﺮاي ﺗﺮاﻛﻨﺶ ﻫﺎ ﺑﻪ ﭼﻪ ﻣﻔﻬﻮم ﻣﻲﺑﺎﺷﺪ ؟‬
‫‪ .1‬ﺗﻤﺎم دﺳﺘﻮرات ﻳﻚ ﺗﺮاﻛﻨﺶ ﻳﺎ ﺑﺎﻳﺪ اﺟﺮاء ﺷﻮد و ﻳﺎ ﻫﻴﭽﻜﺪام از آﻧﻬﺎ ﻧﺒﺎﻳﺪ اﺟﺮاء‬
‫ﺷﻮد‪.‬‬
‫‪ .2‬ﺗﺮاﻛﻨﺶ ﻣﻲﺗﻮاﻧﺪ وﺳﻂ ﻛﺎر ﻟﻐﻮ ﮔﺮدد و ﻧﻴﺎزي ﺑﻪ ﺗﺮﻣﻴﻢ دادهﻫﺎ دراﻳﻨﺤﺎﻟﺖ‬
‫ﻧﻴﺴﺖ‪.‬‬
‫‪ .3‬ﺗﺮاﻛﻨﺶ ﺑﺎﻳﺪ ﻛﺎﻣﻞ اﺟﺮاء ﺷﻮد و ﻫﻴﭽﮕﺎه ﻧﻤﻲﺗﻮاﻧﺪ وﺳﻂ ﻛﺎر ﻟﻐﻮ ﮔﺮدد‪.‬‬
‫‪ .4‬ﺗﺮاﻛﻨﺶ در ﻛﻞ ﺑﺎﻧﻚ ﺑﺎﻳﺪ ﺻﻮرت ﮔﺮﻓﺘﻪ و ﻧﻴﺎزي ﺑﻪ ﻟﻐﻮ ﻛﺮدن آن ﻧﻴﺴﺖ‪.‬‬
‫‪ -62‬ﻛﺪام اﻋﻤﺎل ﺗﻮﺳﻂ واﺣﺪ ‪ Recovery management‬ﺻﻮرت ﻣﻲﮔﻴﺮد ؟‬
‫‪ .1‬ﻳﻜﭙﺎرﭼﮕﻲ‬
‫‪ .2‬ﭘﺎﻳﺎﺋﻲ‬
‫‪ .3‬ﻫﻤﺨﻮاﻧﻲ‬
‫‪1 .4‬و‪2‬‬
‫‪ -63‬ﺧﺎﺻﻴﺖ ﭘﺎﻳﺎﺋﻲ )‪ (durability‬در ﺗﺮاﻛﻨﺸﻬﺎ ﺑﻪ ﭼﻪ ﻣﻌﻨﺎﺳﺖ ؟‬
‫‪ .1‬ﺗﺮاﻛﻨﺸﻬﺎﺋﻲ ﻛﻪ ﺑﻪ ﻣﺮﺣﻠﻪ ‪ Commit‬رﺳﻴﺪهاﻧﺪ ﺑﻪ ﺻﻮرت اﺗﻔﺎﻗﻲ ﺣﺬف‬
‫ﻧﻤﻲﺷﻮﻧﺪ‪.‬‬
‫‪ .2‬ﺗﺮاﻛﻨﺸﻬﺎﺋﻲ ﻛﻪ ﺑﻪ ﻣﺮﺣﻠﻪ ‪ Commit‬رﺳﻴﺪهاﻧﺪ اﺛﺮﺷﺎن ﻣﺎﻧﺪﻧﻲ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬ﺗﺮاﻛﻨﺸﻬﺎﺋﻲ ﻛﻪ ﺑﻪ ﻣﺮﺣﻠﻪ ‪ Commit‬رﺳﻴﺪهاﻧﺪ ﺣﺘﻲ در ﺻﻮرت زﻟﺰﻟﻪ ﻳﺎ آﺗﺶ‬
‫ﺳﻮزي ﻧﺒﺎﻳﺴﺘﻲ از ﺑﻴﻦ ﺑﺮوﻧﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪255‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‪.‬‬
‫‪-64‬ﻣﺸﺨﺼﺎت اﺻﻠﻲ ﻳﻚ ﺗﺮاﻛﻨﺶ ﻧﺴﺒﺖ ﺑﻪ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻣﻌﻤﻮﻟﻲ )در ﻣﺤﻴﻂ ﻏﻴﺮ ﺑﺎﻧﻜﻲ(‬
‫ﻛﺪام اﺳﺖ ؟‬
‫‪ .1‬ﺗﺮاﻛﻨﺶ ﻧﻤﻲﺗﻮاﻧﺪ ﺑﻪ ﺗﻌﻮﻳﻖ ﺑﻴﺎﻓﺘﺪ‪.‬‬
‫‪ .2‬ﺗﺮاﻛﻨﺶ ﺑﻪ ‪ DBMS‬واﺑﺴﺘﻪ ﻧﻴﺴﺖ‪.‬‬
‫‪ .3‬ﻫﺪف از ﻛﻨﺘﺮل ﺗﺮاﻛﻨﺶ ﻫﺎ ﺑﺎﻻﺑﺮدن ﺳﺮﻋﺖ اﺳﺖ‪.‬‬
‫‪ .4‬ﺗﺮاﻛﻨﺶ ﺗﻮﺳﻂ ‪ DBMS‬ﻛﻨﺘﺮل ﻣﻲﺷﻮد‪.‬‬
‫‪ -65‬در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهداده ﻛﺪام ﻧﺮماﻓﺰار وﺟﻮد ﻧﺪارد ؟‬
‫‪ .1‬ﻧﺮماﻓﺰار ‪DBMS‬‬
‫‪ .2‬روﻳﻪﻫﺎي ذﺧﻴﺮه ﺷﺪه‬
‫‪ .3‬ﻧﺮماﻓﺰار ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬
‫‪ .4‬ﻧﺮماﻓﺰار ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي‬
‫‪ -66‬درون ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﭼﻪ اﻃﻼﻋﺎﺗﻲ ذﺧﻴﺮه ﻧﻤﻲﮔﺮدد ؟‬
‫‪ .1‬ﻟﻐﺖ ﻧﺎﻣﻪ دادهﻫﺎ‬
‫‪ .2‬ﻣﻘﺎدﻳﺮ دادهﻫﺎي درون ﺟﺪاول‬
‫‪ .3‬ﺗﻌﺪاد ﻧﺴﺨﻪﻫﺎي ﻫﺮ ﻓﺎﻳﻞ و ﺗﺮﺗﻴﺐ زﻣﺎﻧﻲ آﻧﻬﺎ‬
‫‪ .4‬ﺣﻖ دﺳﺘﻴﺎﺑﻲ اﻓﺮاد ﺑﻪ دادهﻫﺎي ﻣﺨﺘﻠﻒ‬
‫‪ -67‬در راﺑﻄﻪ ﺑﺎ دﻳﺪ داﺧﻠﻲ ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ ﻣﻲﺑﺎﺷﺪ ؟‬
‫‪ .1‬اﻳﻦ دﻳﺪ ﻣﺒﺘﻨﻲ ﺑﺮ ﻳﻚ ﻳﺎ ﺑﻴﺶ ﻟﺰ ﻳﻚ ﺳﺎﺧﺘﺎر ﻓﺎﻳﻞ اﺳﺖ‪.‬‬
‫‪ .2‬اﻳﻦ دﻳﺪ در ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻄﺮح ﻣﻲﮔﺮدد‪.‬‬
‫‪ .3‬اﻳﻦ دﻳﺪ ﺑﻪ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﻣﻌﺮوف اﺳﺖ‪.‬‬
‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬
‫‪ -68‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬زﺑﺎن ‪ DSL‬ﻣﻲﺗﻮاﻧﺪ ﻣﺴﺘﻘﻞ از ‪ HL‬ﻧﺒﺎﺷﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 256‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .2‬زﺑﺎن ‪ DSL‬ﻣﻲﺗﻮاﻧﺪ ﻣﺴﺘﻘﻞ از ‪ HL‬ﺑﺎﺷﺪ‪.‬‬


‫‪ .3‬زﺑﺎن ‪ HL‬ﻳﻜﻲ از زﺑﺎﻧﻬﺎي ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﻣﺘﻌﺎرف اﺳﺖ‪.‬‬
‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬
‫‪ -69‬ﮔﺰﻳﻨﻪ ﺻﺤﻴﺢ ﻛﺪام اﺳﺖ ؟‬
‫‪ .1‬ﻳﻚ ﻛﺎرﺑﺮ ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪ دﻳﺪ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ .2‬ﭼﻨﺪ ﻛﺎرﺑﺮ ﻣﻲﺗﻮاﻧﻨﺪ ﻳﻚ دﻳﺪ ﻣﺸﺘﺮك داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .3‬ﻣﺠﻤﻮﻋﻪ دﻳﺪﻫﺎي ﻛﺎرﺑﺮان را ﺳﻄﺢ ﺧﺎرﺟﻲ ﻣﻲﻧﺎﻣﻨﺪ‪.‬‬
‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬
‫‪ -70‬ﭼﻪ ﻧﻮع ﺳﺨﺖاﻓﺰاري در ﭘﺎﻳﮕﺎهدادهﻫﺎ وﺟﻮد دارد ؟‬
‫‪ .1‬ذﺧﻴﺮه ﺳﺎزي‬
‫‪ .2‬ارﺗﺒﺎﻃﻲ‬
‫‪ .3‬ﭘﺮدازﺷﻲ‬
‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬

‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪3‬‬


‫‪ (1) -1‬در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﻃﻤﻴﻨﺎن از ﺻﺤﺖ دادهﻫﺎ ﺑﺴﻴﺎر ﻣﻬﻢ اﺳﺖ‪ .‬ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ و‬
‫دﺳﺘﻴﺎﺑﻲ ﻣﺸﺘﺮك از ﻣﺰاﻳﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ‪.‬‬
‫‪ Data Dictionary (1) -2‬ﺗﻮﺳﻂ ﺧﻮد‪ DBMS‬ﺳﺎﺧﺘﻪ و ﺑﻪ روز در ﻣﻲآﻳﺪ‪) .‬ﺑﻪ ﺻﻮرت‬
‫ﺧﻮدﻛﺎر(‬
‫‪(1) -3‬‬
‫‪ (1) -4‬در ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﻣﺪل ﻣﻮرد اﺳﺘﻔﺎده )راﺑﻄﻪاي‪ -‬ﺷﺒﻜﻪاي‪ -‬ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ( ﻣﻬﻢ‬
‫ﻧﻴﺴﺖ و ﺷﻤﺎي ﻛﻠﻲ ﻣﺜﻼ ﺑﺎ ﻧﻤﻮدار ‪ ER‬ﺗﺮﺳﻴﻢ ﻣﻲﺷﻮد‪ .‬اﻣﺎ ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﺴﺘﮕﻲ ﺑﻪ‬
‫ﻣﺪل ﻣﻮرد اﺳﺘﻔﺎده دارد‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪257‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ (2) -5‬در زﺑﺎﻧﻬﺎي ﻏﻴﺮ روﻳﻪاي ﻛﺎرﺑﺮ ﻓﻘﻂ ﻣﻲﮔﻮﻳﺪ ﭼﻪ ﻣﻲﺧﻮاﻫﺪ وﻟﻲ ﺷﻴﻮه و اﻟﮕﻮرﻳﺘﻢ‬
‫اﻧﺠﺎم آن ﻛﺎر را ﺑﻴﺎن ﻧﻤﻲﻛﻨﺪ‪ .‬در زﺑﺎﻧﻬﺎي روﻳﻪاي ﻛﺎرﺑﺮ ﺑﺎﻳﺪ اﻟﮕﻮرﻳﺘﻢ اﻧﺠﺎم ﻛﺎرش را‬
‫ﻧﻴﺰ ﺑﻴﺎن ﻛﻨﺪ‪.‬‬
‫‪ (4) -6‬اﺷﺘﺮاك ﻣﻨﺎﺑﻊ و اﻣﻨﻴﺖ دادهﻫﺎ از ﻣﺰاﻳﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻫﺴﺘﻨﺪ‪ .‬ﻋﻨﺎﺻﺮ اﺻﻠﻲ‬
‫ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺒﺎرﺗﻨﺪ از‪ :‬ﻧﺮماﻓﺰار‪ -‬ﺳﺨﺖاﻓﺰار‪ -‬دادهﻫﺎ و ﻛﺎرﺑﺮ‬
‫‪(2) -7‬‬
‫‪(4) -8‬‬
‫‪ (3) -9‬ﺑﺮﻋﻜﺲ در ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ ﻧﺒﺎﻳﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ DML(4) -10‬ﺑﺨﺸﻲ از زﺑﺎن ‪ DSL‬اﺳﺖ و ﺑﻪ دﺳﺘﻮرات ﻛﺎر ﺑﺎ دادهﻫﺎ‬
‫)‪ (Data Manipulation Language = DML‬ﮔﻔﺘﻪ ﻣﻲﺷﻮد‪.‬‬
‫‪ (3) -11‬ﺑﺮاي آﻧﻜﻪ ﻛﺎراﻳﻲ را ﺛﺎﺑﺖ ﻧﮕﻪ دارﻳﻢ ﺑﺎﻳﺪ ﺗﻌﺪاد ﻛﺎرﻣﻨﺪان را ﻣﺤﺪود ﻛﻨﻴﻢ‪.‬‬
‫‪(1) -12‬‬
‫‪ (3) -13‬ﺑﻪ ﻛﺎﺗﺎﻟﻮگ ﻓﺮاداده )‪ (Meta data‬ﻳﺎ دادهﻫﺎﻳﻲ در ﻣﻮرد دادهﻫﺎ ) ‪Data about‬‬
‫‪ (data‬ﻧﻴﺰ ﮔﻔﺘﻪ ﻣﻲﺷﻮد‪.‬‬
‫‪ DDL (2) -14‬ﺑﺨﺸﻲ از زﺑﺎن ‪ DSL‬اﺳﺖ و ﺑﻪ دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ‬
‫)‪ ( Data Definition Language = DDL‬ﮔﻔﺘﻪ ﻣﻲﺷﻮد‪.‬‬
‫‪ (3) -15‬اﺟﺰاء ﻣﻌﻤﺎري ‪ ANSI‬ﻋﺒﺎرت اﺳﺖ از‪ :‬دﻳﺪ داﺧﻠﻲ‪ -‬دﻳﺪ ﺧﺎرﺟﻲ‪ -‬دﻳﺪ‬
‫ادراﻛﻲ‪-‬ﺗﺒﺪﻳﻼت ﺑﻴﻦ ﺳﻄﻮح‪ -‬زﺑﺎن ﻓﺮﻋﻲ دادهاي )‪ -(DSL‬زﺑﺎن ﻣﻴﺰﺑﺎن )‪ (HL‬و ﺳﻴﺴﺘﻢ‬
‫ﻣﺪﻳﺮﻳﺖ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ )‪(DBMS‬‬
‫‪ (3) -16‬ﺑﺎ ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ دادهﻫﺎ‪ ،‬داده ﻣﺸﺎﺑﻪ ﻛﻤﺘﺮي وﺟﻮد دارد و ﻟﺬا اﺣﺘﻤﺎل‬
‫ﻧﺎﺳﺎزﮔﺎرياﻳﻦ دادهﻫﺎ ﻛﺎﻫﺶ ﻣﻲﻳﺎﺑﺪ‪ .‬ﻣﺜﻼ اﮔﺮ آدرس ﻓﺮدي ﺗﻐﻴﻴﺮ ﻛﻨﺪ ﺑﺎﻳﺪ ﺗﻤﺎﻣﻲﺟﺪاوﻟﻲ‬
‫ﻛﻪ آدرس آن ﺷﺨﺺ را دارﻧﺪ ﺗﻐﻴﻴﺮ ﻛﻨﺪ‪ .‬ﺑﺪﻳﻬﻲ اﺳﺖ ﻫﺮ ﭼﻘﺪر ﺗﻌﺪاداﻳﻦ ﺟﺪاول ﺑﻴﺸﺘﺮ‬
‫ﺑﺎﺷﺪ ﺗﻐﻴﻴﺮ ﺳﺨﺖ ﺗﺮ اﻧﺠﺎم ﻣﻲﮔﻴﺮد و اﺣﺘﻤﺎلاﻳﺠﺎد ﻧﺎﺳﺎزﮔﺎري ﺑﻴﺸﺘﺮ ﻣﻲﺷﻮد‪.‬‬
‫‪(2) -17‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 258‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ (1) -18‬ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺒﺎرت اﺳﺖ از‪ :‬ﺳﺨﺖاﻓﺰار‪ -‬ﻧﺮماﻓﺰار‪-‬‬
‫دادهﻫﺎ و ﻛﺎرﺑﺮان‬
‫‪(2) -19‬‬
‫‪(1) -20‬‬
‫‪(3) -21‬‬
‫‪(2) -22‬‬
‫‪ CASE (1) -23‬ﺑﻪ ﻣﻌﻨﺎي ‪ Computer Aided Software Engineering‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪(3) -24‬‬
‫‪(4) -25‬‬
‫‪(1) -26‬‬
‫‪(1) -27‬‬
‫‪ (3) -28‬در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺳﺎده ﺗﺮ اﺳﺖ‪.‬‬
‫‪ (4) -29‬ﻋﻤﻞ ‪ ROLLBACK‬ﻋﺪم ﻣﻮﻓﻘﻴﺖ اﺟﺮاي ﺗﺮاﻛﻨﺶ را ﮔﺰارش ﻣﻲﻛﻨﺪ و ﺑﻪ‬
‫ﻣﺪﻳﺮ ﺗﺮاﻛﻨﺶ ﻣﻲﮔﻮﻳﺪ ﻛﻪ اﺷﻜﺎﻟﻲ ﭘﻴﺶ آﻣﺪه اﺳﺖ‪ .‬ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻣﻤﻜﻦ اﺳﺖ در‬
‫ﺣﺎﻟﺖ ﻧﺎﺳﺎزﮔﺎر ﺑﺎﺷﺪ و ﺗﻤﺎم ﺑﻬﻨﮕﺎم ﺳﺎزي ﻫﺎ ﻛﻪ ﺗﻮﺳﻂ آن واﺣﺪ ﻛﺎري اﻧﺠﺎم ﺷﺪه اﺳﺖ‬
‫ﺑﺎﻳﺪ ﻟﻐﻮ ﻳﺎ رد ﺷﻮد‪.‬‬
‫‪(4) -30‬‬
‫‪(2) -31‬‬
‫‪(4) -32‬‬
‫‪(4) -33‬‬
‫‪(1) -34‬‬
‫‪(3) -35‬‬
‫‪(3) -36‬‬
‫‪www.PDFgozar.com‬‬

‫‪259‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ (3) -37‬دﻳﺪ ﻃﺮاح ﺑﺎﻧﻚ ‪ Conceptual view‬ﻣﻲﺑﺎﺷﺪ‪ .‬دﻳﺪ ﺧﺎرﺟﻲ ﺳﻄﺢ ﻣﺸﺎﻫﺪات‬
‫ﻣﺠﺰاي اﺳﺘﻔﺎده ﻛﻨﻨﺪﮔﺎن را ﺑﻴﺎن ﻣﻲﻛﻨﺪ‪.‬‬
‫‪(2)-38‬‬
‫‪(1) -39‬‬
‫‪(2) -40‬‬
‫‪ (4) -41‬ﻋﺪم وﺟﻮد ارﺗﺒﺎﻃﺎت ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ )ﮔﺴﺴﺖ ﭘﻴﻮﻧﺪﻫﺎي ﺳﻤﺎﻧﺘﻴﻚ( ﻧﻴﺰ ﺑﺎﻋﺚ‬
‫ﺧﺪﺷﻪ دار ﺷﺪن ﺟﺎﻣﻌﻴﺖ ﺑﺎﻧﻚ ﻣﻲﺷﻮد‪.‬‬
‫‪) (3) -42‬ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ = ‪ (Inconsistency‬ﺑﺎ ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ دادهﻫﺎ‪ ،‬داده ي‬
‫ﻣﺸﺎﺑﻪ ﻛﻤﺘﺮي وﺟﻮد دارد و ﻟﺬا اﺣﺘﻤﺎل ﻧﺎﺳﺎزﮔﺎرياﻳﻦ دادهﻫﺎ ﻛﺎﻫﺶ ﻣﻲﻳﺎﺑﺪ‪.‬‬
‫‪(2) -43‬‬
‫‪(1) -44‬‬
‫‪ (1) -45‬ﺑﺮﻗﺮاري اﻣﻨﻴﺖ ﺑﺮ ﻋﻬﺪه ‪ DBA‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ (2) -46‬در ﻳﻚ زﺑﺎن ﺑﻴﺎﻧﻲ )‪ declarative‬ﻳﺎ ‪ ( Non-procedural‬ﻛﺎرﺑﺮ ﻣﻲﮔﻮﻳﺪ ﭼﻪ‬
‫ﻣﻲﺧﻮاﻫﺪ وﻟﻲ روﻳﻪ اﻧﺠﺎم ﻛﺎر را ﺑﻴﺎن ﻧﻤﻲﻛﻨﺪ‪ .‬وﻟﻲ ﻣﺜﻼ در ‪ C‬و ﭘﺎﺳﻜﺎل ﻛﻪ روﻳﻪاي‬
‫)‪ (procedural‬ﻫﺴﺘﻨﺪ ﻛﺎرﺑﺮ ﺑﺎﻳﺪ روﻳﻪ و اﻟﮕﻮرﻳﺘﻢ ﻛﺎر را ﻧﻴﺰ ﺑﻴﺎن ﻛﻨﺪ‪.‬‬
‫‪(3) -47‬‬
‫‪(2) -48‬‬
‫‪(2) -49‬‬
‫‪(3) -50‬‬
‫‪(2) -51‬‬
‫‪(1) -52‬‬
‫‪ END USER (2) -53‬اﻓﺮادي ﻫﺴﺘﻨﺪ ﻛﻪ از دﻳﺘﺎﺑﻴﺲ اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ‪.‬‬
‫‪ (4) -54‬ﮔﺰﻳﻨﻪ ‪ :1‬ﻣﺠﺘﻤﻊ ﺑﻮدن ﻳﻌﻨﻲ وﺣﺪت ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﻣﺠﺰا ﺑﺎ ﻫﺮ ﮔﺮوه‬
‫ﺗﻜﺮاري‬
‫‪www.PDFgozar.com‬‬

‫‪ 260‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫ﮔﺰﻳﻨﻪ ‪ :2‬ﻛﻮﭼﻜﺘﺮﻳﻦ واﺣﺪ دادهﻫﺎي ﻣﻔﻬﻮﻣﻲرا ﻣﻘﺎدﻳﺮ ﻏﻴﺮ ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪ ﮔﻮﻳﻨﺪ‪.‬‬
‫ﮔﺰﻳﻨﻪ ‪ :3‬دﻳﺘﺎﺑﻴﺲ ﻣﺠﻤﻮﻋﻪاي از ﭼﻨﺪ رﻛﻮرد اﺳﺖ‪.‬‬
‫‪ (3) -55‬ﮔﺰﻳﻨﻪ ‪ DBMS :1‬از ﻧﻮع ﻓﻴﻠﺪﻫﺎ و ﺳﺎﺧﺘﺎر ﻓﺎﻳﻠﻬﺎ ﺧﺒﺮ دارد وﻟﻲ از ﻣﺤﻞ ﻓﻴﺰﻳﻜﻲ‬
‫رﻛﻮردﻫﺎ ﺑﺮ روي ﻫﺎرد دﻳﺴﻚ ﺧﺒﺮ ﻧﺪارد‪.‬‬
‫ﮔﺰﻳﻨﻪ ‪ Pre-compiler :2‬دﺳﺘﻮرﻫﺎي زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ را ﺑﻪ دﺳﺘﻮرات ﺑﺎﻧﻜﻲ ﺗﺒﺪﻳﻞ‬
‫ﻣﻲﻛﻨﺪ‪.‬‬
‫ﮔﺰﻳﻨﻪ ‪ :4‬ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﺑﺎ ﺑﺮﺧﻲ اﺣﻜﺎم ‪ DML‬و ﺑﺮﺧﻲ اﺣﻜﺎم ‪ DDL‬ﻗﺎﺑﻞ ﺗﻐﻴﻴﺮ اﺳﺖ‪.‬‬
‫‪ host language (2) -56‬ﻳﻚ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ اﺳﺖ ﻛﻪ اﻣﻜﺎن اﺳﺘﻔﺎده و ارﺗﺒﺎط ﺑﺎ‬
‫ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ را ﻓﺮاﻫﻢ ﻣﻲﺳﺎزد‪.‬‬
‫‪(3) -57‬‬
‫‪ (2) -58‬ﮔﺰﻳﻨﻪ ‪ 1‬ﺧﺎﺻﻴﺖ ‪ consistency‬اﺳﺖ‪ .‬ﻛﻨﺘﺮل ‪ isolation‬ﺗﻮﺳﻂ واﺣﺪ‬
‫‪ concurrency control‬اﻧﺠﺎم ﻣﻲﮔﻴﺮد‪ .‬ﺑﺮ ﻃﺒﻖ ﺧﺎﺻﻴﺖ اﻧﺰوا ﻫﻤﺮوﻧﺪي ﺗﺮاﻛﻨﺶ ﻫﺎ ﺑﺎﻳﺪ‬
‫ﻛﻨﺘﺮل ﺷﻮد ﺗﺎ اﺛﺮ ﻣﺨﺮب ﺑﺮ روي ﻫﻢ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪(1) -59‬‬
‫‪(3) -60‬‬
‫‪(1) -61‬‬
‫‪(4) -62‬‬
‫‪(4) -63‬‬
‫‪(4) -64‬‬
‫‪(3) -65‬‬
‫‪(2) -66‬‬
‫‪(1) -67‬اﻳﻦ دﻳﺪ در ﺳﻄﺢ ﻣﻨﻄﻘﻲ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻄﺮح ﺷﺪه و ﺑﻪ ﻃﺮاﺣﻲ ﻓﻴﺰﻳﻜﻲ ﻣﻌﺮوف‬
‫اﺳﺖ‪.‬‬
‫‪(4) -68‬‬
‫‪www.PDFgozar.com‬‬

‫‪261‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪(4) -69‬‬
‫‪(4) -70‬‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪4‬‬


‫‪ -1‬در ﻛﺪام ﻣﺪل ﭘﺎﻳﮕﺎهدادهﻫﺎ‪ ،‬ﻣﺠﻤﻮﻋﻪاي ﻣﺮﺗﺐ از درﺧﺘﻬﺎ دارﻳﻢ ﻛﻪ در آن ﻓﺮزﻧﺪي‬
‫ﺑﺪون ﭘﺪر وﺟﻮد ﻧﺪارد ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(80-‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 262‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .1‬راﺑﻄﻪاي‬
‫‪ .2‬ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬
‫‪ .3‬ﺷﺒﻜﻪاي‬
‫‪ .4‬ﻟﻴﺴﺖ ﻣﻌﻜﻮس‬
‫‪ -2‬ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ‪ ،‬ﺟﺰو وﻳﮋﮔﻴﻬﺎي ﺳﺎﺧﺘﺎر دادهاي ﻣﺪل ﺷﺒﻜﻪاي اﺳﺖ ؟‬
‫)ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(79-‬‬
‫‪ .1‬اﺻﻞ وﺣﺪت ﻋﻤﻠﮕﺮ‪ ،‬در ﻳﻚ ﻋﻤﻞ واﺣﺪ رﻋﺎﻳﺖ ﻣﻲﺷﻮد‪.‬‬
‫‪ .2‬از دﻳﺪ ﻛﺎرﺑﺮ داراي وﺿﻮح اﺳﺖ‪.‬‬
‫‪ .3‬ﺑﺮاي ﻣﺤﻴﻂ ﻫﺎي داراي ارﺗﺒﺎﻃﺎت ﻳﻚ ﺑﻪ ﭼﻨﺪ دوﺳﻮﻳﻪ‪ ،‬ﻣﺪل ﻣﻨﺎﺳﺒﻲ ﻧﻤﻲﺑﺎﺷﺪ‪.‬‬
‫‪ .4‬در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي آﻧﻮﻣﺎﻟﻲ ﻧﺪارد‪.‬‬
‫‪ -3‬ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺟﺰء ﻣﺪﻟﻬﺎي ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ ﻧﻴﺴﺘﻨﺪ ؟)ﻣﺴﺎﺑﻘﺎت‬
‫آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ و ﺣﺮﻓﻪاي‪(78 -‬‬
‫‪ .1‬ﻣﺪل راﺑﻄﻪاي‬
‫‪ .2‬ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬
‫‪ .3‬ﻣﺪل اﻃﻼﻋﺎﺗﻲ‬
‫‪ .4‬ﻣﺪل ﺷﺒﻜﻪاي‬
‫‪ -4‬ﺷﻜﻞ زﻳﺮ از ﻛﺪام ﻣﺪل ﺑﺮﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ و‬
‫ﺣﺮﻓﻪاي‪( 77 -‬‬
‫‪ -1‬راﺑﻄﻪاي‬
‫‪ -2‬ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬
‫‪ -3‬ﺷﺒﻜﻪاي‬
‫‪ -4‬ﺑﺎﻧﻜﻲ‬
‫‪ -5‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(77-‬‬
‫‪www.PDFgozar.com‬‬

‫‪263‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ -1‬در ﻣﺪل راﺑﻄﻪاي ﺑﺎﻧﻚ دادهﻫﺎ از دﻳﺪ ﻛﺎرﺑﺮ از ﺗﻌﺪادي ﺟﺪول ﺗﺸﻜﻴﻞ ﺷﺪه‬
‫اﺳﺖ‪.‬‬
‫‪ -2‬در ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﺴﻴﺮ ﻣﻨﻄﻘﻲ ﻫﻤﻴﺸﻪ از رﻳﺸﻪ و از ﺑﺎﻻ ﺑﻪ ﭘﺎﻳﻴﻦ اﺳﺖ‪.‬‬
‫‪ -3‬در ﻣﺪل ﺷﺒﻜﻪاي ﻫﺮ ﮔﺮه ﻓﺮزﻧﺪ ﻣﻲﺗﻮاﻧﺪ داراي ﺑﻴﺶ از ﻳﻚ ﭘﺪر ﺑﺎﺷﺪ‪.‬‬
‫‪ -4‬در ﻣﺪل ﺷﺒﻜﻪاي از ﻣﻔﺎﻫﻴﻢ رﻳﺎﺿﻲ ﻣﺠﻤﻮﻋﻪﻫﺎ ﺑﺮاي ﻧﻤﺎﻳﺶ دادهﻫﺎ و ارﺗﺒﺎط‬
‫آﻧﻬﺎ اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪.‬‬
‫‪ -6‬ﻛﺪاﻣﻴﻚ از ﻣﻮﺳﺴﺎت زﻳﺮ روي اﺳﺘﺎﻧﺪاردﺳﺎزي زﺑﺎﻧﻬﺎي ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻛﺎر ﻧﻜﺮدهاﻧﺪ ؟‬
‫)ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ‪ -‬آزاد ‪(72‬‬
‫‪CODASYL DBTG -1‬‬
‫‪ISO -2‬‬
‫‪ANSI/SPARC -3‬‬
‫‪2,3 -4‬‬
‫‪ -7‬ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺑﻴﺎﻧﮕﺮ ﻓﺮق ﺑﻴﻦ ﻳﻚ ﻣﺪل ﺷﺒﻜﻪاي داده )‪ (Network‬و ﻳﻚ‬
‫ﻣﺪل ‪Entity‬‬
‫)‪ Relationship(ER‬ﻣﻲﺑﺎﺷﺪ ؟ ) ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ‪ -‬آزاد ‪(72‬‬
‫‪ -1‬در ﻣﺪل ﺷﺒﻜﻪاي ﻫﺮ‪ Entity‬ﻓﻘﻂ ﻳﻚ ﻣﻮﻟﺪ )‪ (parent‬دارد در ﻣﺪل ‪ ER‬ﻫﺮ‬
‫‪ Entity‬ﻣﻲﺗﻮاﻧﺪ ﺑﻴﺸﺘﺮ از ﻳﻚ ﻣﻮﻟﺪ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ -2‬در ﻣﺪل ‪ ER‬رواﺑﻂ ‪ M:M‬ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻲﺷﻮد در ﻣﺪل ﺷﺒﻜﻪاي ﺧﻴﺮ‪.‬‬
‫‪ -3‬در ﻣﺪل ‪ ER‬ﻳﻚ ‪ Entity‬ﻣﻲﺗﻮاﻧﺪ از ﻧﻮع ﺿﻌﻴﻒ )‪(weak‬ﺑﺎﺷﺪ در راﺑﻄﻪ ﺷﺒﻜﻪ‬
‫ﻛﻠﻴﺪ ‪ Entity‬از ﻧﻮع ﻗﻮي )‪ (strong‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪3 -4‬و‪2‬‬
‫‪ -8‬ﻣﻲﺧﻮاﻫﻴﻢ ﺑﺮاي ﻳﻚ داﻧﺸﻜﺪه ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ آﻣﻮزﺷﻲ ﻃﺮاﺣﻲ ﻛﻨﻴﻢ‪ .‬از ﺑﻴﻦ‬
‫ﻣﻮﺟﻮدﻳﺘﻬﺎي اﺳﺎﺳﻲ‪ ،‬ﻣﻮﺟﻮدﻳﺖ درس را در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ و ارﺗﺒﺎط زﻳﺮ را‪:‬‬
‫در ﻣﺪل ﺷﺒﻜﻪاي ﺑﺮاي ﻧﺸﺎن دادن ارﺗﺒﺎط ﻓﻮق در ﺳﻄﺢ ادراﻛﻲ‪:‬‬
‫‪ -1‬ﺣﺪاﻗﻞ دو ﻣﺠﻤﻮﻋﻪ ﺑﻪ ﻣﻌﻨﺎﻳﻲ ﻛﻪ در ‪ CODASYL‬ﻣﻄﺮح اﺳﺖ‪ ،‬ﻻزم اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 264‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ -2‬در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺑﻪ ﻣﻌﻨﺎﻳﻲ ﻛﻪ در ‪ CODASYL‬ﻣﻄﺮح اﺳﺖ‪ ،‬ﻛﺎﻓﻲ‬


‫اﺳﺖ‪.‬‬
‫‪ -3‬ﺑﻴﺶ از دو ﻣﺠﻤﻮﻋﻪ ﺑﻪ ﻣﻌﻨﺎﻳﻲ ﻛﻪ در ‪ CODASYL‬ﻣﻄﺮح اﺳﺖ ﻻزم ﻧﻴﺴﺖ‪.‬‬
‫‪ -4‬در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺑﻪ ﻣﻌﻨﺎﻳﻲ ﻛﻪ در ‪ CODASYL‬ﻣﻄﺮح اﺳﺖ ﻛﺎﻓﻲ‬
‫اﺳﺖ وﻟﻲ ﺑﻬﺘﺮ اﺳﺖ ﻃﺮاﺣﻲ را ﺑﺎ دو ﻣﺠﻤﻮﻋﻪ اﻧﺠﺎم داد‪.‬‬
‫‪ -9‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ درﺳﺖ ﻧﻤﻲﺑﺎﺷﺪ ؟‬
‫‪ -1‬ﻫﺮ ﮔﺮه ﭘﺪر ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪﻳﻦ ﻓﺮزﻧﺪ داﺷﺘﻪ ﺑﺎﺷﺪ وﻟﻲ ﻫﺮ ﻓﺮزﻧﺪ ﻓﻘﻂ ﻳﻚ ﭘﺪر‬
‫دارد‪.‬‬
‫‪ -2‬اﻳﻦ ﻣﺪل در ﻋﻤﻠﻴﺎت ﺣﺬف و ﺑﻬﻨﮕﺎم ﺳﺎزي آﻧﻮﻣﺎﻟﻲ دارد‪.‬‬
‫‪ -3‬اﮔﺮ ﭘﺮس و ﺟﻮﺋﻲ را ﻗﺮﻳﻨﻪ ﻛﻨﻴﻢ ﻫﻤﻮاره روﻳﻪ ﭘﺎﺳﺨﮕﻮﻳﻲ ﻧﻴﺰ ﺑﻪ ﻫﻤﺎن ﺻﻮرت‬
‫ﻗﺮﻳﻨﻪ ﻣﻲﺷﻮد‪.‬‬
‫‪ -4‬اﻳﻦ ﻣﺪل در ﻋﻤﻠﻴﺎت درج داراي آﻧﻮﻣﺎﻟﻲ اﺳﺖ‪.‬‬
‫‪ -10‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻣﺪل ﺷﺒﻜﻪاي درﺳﺖ ﻧﻤﻲﺑﺎﺷﺪ ؟‬
‫‪ -1‬دراﻳﻦ ﺳﺎﺧﺘﺎر ﻳﻚ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻋﻀﻮ ﻣﻲﺗﻮاﻧﺪ ﻋﻀﻮ دو ﻣﺎﻟﻚ ﻣﺘﻤﺎﻳﺰ ﺑﺎﺷﺪ‪.‬‬
‫‪ -2‬ﻋﻤﻞ ﺑﺎزﻳﺎﺑﻲ ﺳﺎده ﺗﺮ از ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ اﺳﺖ‪.‬‬
‫‪ -3‬اﻳﻦ ﻣﺪل در ﻋﻤﻠﻴﺎت درج و ﺣﺬف آﻧﻮﻣﺎﻟﻲ ﻧﺪارد‪.‬‬
‫‪ -4‬اﻳﻦ ﻣﺪل در ﻋﻤﻠﻴﺎت ﺑﻬﻨﮕﺎم ﺳﺎزي آﻧﻮﻣﺎﻟﻲ ﻧﺪارد‪.‬‬
‫‪ -11‬ﻛﺪام ﮔﺰﻳﻨﻪ ﺑﻴﺎﻧﮕﺮ ﺗﺼﻮﻳﺮ ادراﻛﻲ ﻋﺎم اﺳﺖ ؟‬
‫‪NIAM , EER -1‬‬
‫‪ -2‬ﺷﺒﻜﻪاي‪ -‬ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‪ -‬ﺟﺪوﻟﻲ‬
‫‪ -3‬راﺑﻄﻪ‪ -‬ﺟﺪول‬
‫‪ -4‬ﻣﻌﻤﺎري ‪ANSI‬‬
‫‪ -12‬ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ راﺑﻄﻪاي ﻋﺒﺎرت اﺳﺖ از‪:‬‬
‫‪ -1‬ﺑﺎﻧﻜﻲ اﺳﺖ ﻛﻪ در آن ﻫﺮ ﮔﻮﻧﻪ ﺗﻜﺮار ﻫﻤﺮاه ﺑﺎ ﺟﺪاول دﻳﺪه ﻣﻲﺷﻮد‪.‬‬
‫‪ -2‬ﺑﺎﻧﻜﻲ اﺳﺖ ﻛﻪ در ﻣﻘﺎدﻳﺮش ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪاﻧﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪265‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ -3‬ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ ﻛﻪ ﺑﻪ ﻋﻨﻮان ﻣﺠﻤﻮﻋﻪاي از رواﺑﻂ و ﺟﺪاول در ﻧﻈﺮ‬


‫ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد‪.‬‬
‫‪ -4‬ﻫﻴﭽﻜﺪام‪.‬‬
‫‪ -13‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬
‫‪ -1‬ﺳﻴﺴﺘﻢ راﺑﻄﻪاي داراي ﺳﺎﺧﺘﺎر ﻓﻴﺰﻳﻜﻲ اﺳﺖ‪.‬‬
‫‪ -2‬ﺳﻴﺴﺘﻢ راﺑﻄﻪاي داراي ﺳﺎﺧﺘﺎر ﻣﻨﻄﻘﻲ اﺳﺖ‪.‬‬
‫‪ -3‬ﺳﻴﺴﺘﻢ راﺑﻄﻪاي داراي ﺳﺎﺧﺘﺎر ﻣﻨﻄﻘﻲ و ﻓﻴﺰﻳﻜﻲ اﺳﺖ‪.‬‬
‫‪ -4‬ﻫﻴﭽﻜﺪام‪.‬‬
‫‪ -14‬ﻛﺪام ﮔﺰﻳﻨﻪ ﺟﺰو ﻣﺪﻟﻬﺎي دادهاي اﺳﺖ ؟‬
‫‪Entity Relation Ship‬‬ ‫‪-1‬‬
‫‪Record- based data Model‬‬ ‫‪-2‬‬
‫‪Networking Model‬‬ ‫‪-3‬‬
‫‪Semantic Model‬‬ ‫‪-4‬‬
‫‪ -15‬ﻛﺪام ﻋﺒﺎرت ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ -1‬ﺑﺮاي ﻣﺪﻟﻴﻨﮓ ارﺗﺒﺎﻃﺎت ﻳﻚ ﺑﻪ ﭼﻨﺪ ﻳﻜﺴﻮﻳﻪ ﺑﻴﻦ اﻧﻮاع ﻣﻮﺟﻮدﻳﺘﻬﺎ ﺳﺎﺧﺘﺎر‬
‫ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﻨﺎﺳﺒﺘﺮ اﺳﺖ‪.‬‬
‫‪ -2‬در ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‪ ،‬آﻧﻮﻣﺎﻟﻲ در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي وﺟﻮد دارد‪.‬‬
‫‪ -3‬زﻣﺎن ﭘﺎﺳﺨﮕﻮﻳﻲ ﺑﻪ ﭘﺮس و ﺟﻮﻫﺎ در ﻣﺪل راﺑﻄﻪاي ﺑﺴﻴﺎر ﻛﻢ اﺳﺖ‪.‬‬
‫‪ -4‬ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ داراي ﻳﻚ روﻳﻪ ﭘﺎﺳﺨﮕﻮﻳﻲ واﺣﺪ ﺑﺮاي ﭘﺮس و ﺟﻮﻫﺎي‬
‫ﻗﺮﻳﻨﻪ ﻧﻤﻲﺑﺎﺷﺪ‪.‬‬
‫‪ -16‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ -1‬اﺻﻞ وﺣﺪت ﻋﻤﻠﮕﺮ‪ ،‬در ﻳﻚ ﻋﻤﻞ واﺣﺪ )ﻣﺜﻼ درج( در ﻣﺪل ﺷﺒﻜﻪاي رﻋﺎﻳﺖ‬
‫ﻣﻲﺷﻮد‪.‬‬
‫‪ -2‬در ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﺴﻴﺮ ﻣﻨﻄﻘﻲ ﻫﻤﻴﺸﻪ از رﻳﺸﻪ و از ﺑﺎﻻ ﺑﻪ ﭘﺎﻳﻴﻦ اﺳﺖ‪.‬‬
‫‪ -3‬در ﻣﺪل راﺑﻄﻪاي ﺑﺎﻧﻚ دادهﻫﺎ از دﻳﺪ ﻛﺎرﺑﺮ از ﺗﻌﺪادي ﺟﺪول ﺗﺸﻜﻴﻞ ﺷﺪه‬
‫اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 266‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ -4‬در ﻣﺪل ﺷﺒﻜﻪاي ﻫﺮ ﻓﺮزﻧﺪ ﻣﻲﺗﻮاﻧﺪ داراي ﺑﻴﺶ از ﻳﻚ ﭘﺪر ﺑﺎﺷﺪ‪.‬‬


‫‪ -17‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﺧﺼﻮﺻﻴﺎت ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ -1‬ﺧﺎص ﻣﺤﻴﻂ ﻫﺎﻳﻲ اﺳﺖ ﻛﻪ در آﻧﻬﺎ ارﺗﺒﺎط ﻫﺎي ﻳﻚ ﺑﻪ ﭼﻨﺪ ﻳﻚ ﺳﻮﻳﻪ وﺟﻮد‬
‫دارد‪.‬‬
‫‪ -2‬ﻗﺪﻳﻤﻲﺗﺮﻳﻦ ﺳﺎﺧﺘﺎر داده ﻳﻲ در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ ﺑﺮاي ﻃﺮاﺣﻲ ﺑﺎﻧﻚ اﺳﺖ‪.‬‬
‫‪ -3‬در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي آﻧﻮﻣﺎﻟﻲ دارد‪.‬‬
‫‪ -4‬ﺑﺮاي ﭘﺎﺳﺨﮕﻮﺋﻲ ﺑﻪ ﭘﺮس و ﺟﻮﻫﺎي ﻗﺮﻳﻨﻪ روﻳﻪﻫﺎي ﭘﺎﺳﺨﮕﻮﻳﻲ ﻗﺮﻳﻨﻪ دارد‪.‬‬
‫‪ -18‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﺧﺼﻮﺻﻴﺎت ﻣﺪل ﺷﺒﻜﻪاي ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ -1‬ﻋﻤﻠﮕﺮ ﺑﺎزﻳﺎﺑﻲ ﺧﺎﺻﻴﺖ ﺗﻘﺎرن دارد‪.‬‬
‫‪ -2‬در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي آﻧﻮﻣﺎﻟﻲ دارد‪.‬‬
‫‪ -3‬از ﻣﻔﻬﻮم رﻳﺎﺿﻲ ﻣﺠﻤﻮﻋﻪ ي ﻛﻮداﺳﻴﻠﻲ اﺳﺘﻔﺎده ﻣﻴﻜﻨﺪ‪.‬‬
‫‪ -4‬ﺑﺮاي ﻣﺤﻴﻂ ﻫﺎي داراي ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ دوﺳﻮﻳﻪ ﻣﺪل ﻣﻨﺎﺳﺒﻲ اﺳﺖ‪.‬‬
‫‪ -19‬دو ﻣﺮﺣﻠﻪ از ﻣﺮاﺣﻞ ﻃﺮاﺣﻲ ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺒﺎرﺗﻨﺪ از ﻃﺮاﺣﻲ ادراﻛﻲ‬
‫‪ Conceptual Design‬و ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ‪Logical Design‬اﻳﻦ دو ﭼﻪ ﺗﻔﺎوت اﺳﺎﺳﻲ ﺑﺎ‬
‫ﻫﻢ دارﻧﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ‪ -‬دوﻟﺘﻲ ‪(75‬‬
‫‪ -1‬ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﻣﺮﺑﻮط ﻣﻲﺷﻮد و ﭘﺲ از اﻧﺘﺨﺎب ﻣﺪل ﺻﻮرت‬
‫ﻣﻲﮔﻴﺮد وﻟﻲ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﺑﺴﺘﮕﻲ ﻧﺪارد‪.‬‬
‫‪ -2‬ﻃﺮاﺣﻲ ادراﻛﻲ ﻣﻜﻤﻞ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ اﺳﺖ و ﭘﺲ از آن اﻧﺠﺎم ﻣﻲﮔﻴﺮد‪.‬‬
‫‪ -3‬ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﺻﻮرت ﻛﻠﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﻣﻲﻧﮕﺮد و ﺑﺎ روﺷﻬﺎﻳﻲ ﻣﺎﻧﻨﺪ ‪ER‬‬
‫اﻧﺠﺎم ﻣﻲﮔﻴﺮد‪.‬‬
‫‪ -4‬ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﻣﺮﺑﻮط ﻣﻲﺷﻮد و ﭘﺲ از اﻧﺘﺨﺎب ﻣﺪل ﺻﻮرت‬
‫ﻣﻲﮔﻴﺮد وﻟﻲ ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﺑﺴﺘﮕﻲ ﻧﺪارد‪.‬‬
‫‪ -20‬ﺟﻬﺖ ﭘﻴﺎده ﺳﺎزي ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻛﺪام ﻓﻌﺎﻟﻴﺖ در اوﻟﻮﻳﺖ ﻗﺮار دارد ؟‬
‫)ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ‪ -‬آزاد ‪(80‬‬
‫‪www.PDFgozar.com‬‬

‫‪267‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ -1‬ﻃﺮاﺣﻲ ﻣﺪل دادهﻫﺎ ﺑﻪ ﺻﻮرت ﻣﻨﻄﻘﻲ‬


‫‪ -2‬ﻃﺮاﺣﻲ ﻣﺪل دادهﻫﺎ ﺑﻪ ﺻﻮرت ﻓﻴﺰﻳﻜﻲ‬
‫‪ -3‬ﻃﺮاﺣﻲ ﻣﺪل دادهﻫﺎ ﺑﻪ ﺻﻮرت ﻓﻴﺰﻳﻜﻲ و ﻣﻨﻄﻘﻲ‬
‫‪ -4‬ﻫﻴﭽﻜﺪام‬
‫‪ -21‬ﭼﺮا ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ آﻧﻮﻣﺎﻟﻲ دارد ؟‬
‫‪ -1‬ﭼﻮن در ﻫﻨﮕﺎم اﺻﻼًح ﻋﻤﻞ ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﺎﻳﺪ ﻣﻨﺘﺸﺮ ﺷﻮﻧﺪه ﺑﺎﺷﺪ‪.‬‬
‫‪ -2‬ﭼﻮن ﻫﻨﮕﺎم درج ﺑﺎﻳﺪ رﻛﻮرد ﭘﺪر را داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﺗﺎ ﺑﺘﻮاﻧﻴﻢ ﻓﺮزﻧﺪ را درج ﻛﻨﻴﻢ‪.‬‬
‫‪ -3‬ﭼﻮن در ﻋﻤﻞ ﺣﺬف‪ ،‬ﻣﻤﻜﻦ اﺳﺖ اﻃﻼﻋﺎت ﻧﺎﺧﻮاﺳﺘﻪ دﻳﮕﺮي ﻧﻴﺰ ﺣﺬف ﮔﺮدد‪.‬‬
‫‪ -4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬

‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪4‬‬


‫‪(2) -1‬‬
‫‪ (4) -2‬ﻣﺪل ﺷﺒﻜﻪاي در ﻋﻤﻠﻴﺎت درج‪ ،‬ﺣﺬف و ﺑﻬﻨﮕﺎم ﺳﺎزي آﻧﻮﻣﺎﻟﻴﻬﺎي ﻣﺪل ﺳﻠﺴﻠﻪ‬
‫ﻣﺮاﺗﺒﻲ را ﻧﺪارد‪.‬اﻳﻦ ﻣﺪل از دﻳﺪ ﻛﺎرﺑﺮ واﺿﺢ ﻧﻴﺴﺖ‪ .‬ﻣﺪل ﺷﺒﻜﻪاي ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﺎت‬
‫دوﺳﻮﻳﻪ ﻣﻨﺎﺳﺐ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪(3) -3‬‬
‫‪ (2) -4‬ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﺸﺎﺑﻪ ﺷﻜﻞ ﻳﻚ درﺧﺖ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ (4) -5‬ﻣﻔﺎﻫﻴﻢ ﻣﺠﻤﻮﻋﻪ در ﻣﺪل راﺑﻄﻪاي اﺳﺘﻔﺎده ﻣﻲﮔﺮدد‪.‬‬
‫‪(2) -6‬‬
‫‪ (4) -7‬ﻣﻤﻜﻦ اﺳﺖ وﺟﻮد ﻳﻚ ﭘﺪﻳﺪه واﺑﺴﺘﻪ ﺑﻪ وﺟﻮد ﭘﺪﻳﺪهاي دﻳﮕﺮ ﺑﺎﺷﺪ‪ .‬ﻣﺜﻼ ﺑﻪ‬
‫ﻣﺤﺾ ﺣﺬف داﻧﺸﺠﻮ از ﺑﺎﻧﻚ داﻧﺸﮕﺎه )ﺑﺮ اﺛﺮ ﻓﺎرغ اﻟﺘﺤﺼﻴﻠﻲ ﻳﺎ اﺧﺮاج ﺷﺪن( واﺑﺴﺘﮕﺎن‬
‫اوﻧﻴﺰ )ﻣﺜﻞ ﻫﻤﺴﺮ و ﻓﺮزﻧﺪ(از ﺳﻴﺴﺘﻢ ﻛﻤﻚ ﻫﺰﻳﻨﻪ ﺑﺎﻳﺪ ﺣﺬف ﺷﻮﻧﺪ‪ .‬دراﻳﻦ ﺣﺎل ﭘﺪﻳﺪه‬
‫واﺑﺴﺘﻪ را ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ )‪ (weak entity‬ﻣﻲﻧﺎﻣﻨﺪ‪.‬‬
‫‪(2) -8‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 268‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ (3) -9‬ﻣﻨﻈﻮر از آﻧﻮﻣﺎﻟﻲ )‪ (anomaly‬ﻳﻌﻨﻲ وﺟﻮد دﺷﻮاري در اﻧﺠﺎم ﻳﻚ ﻋﻤﻞ ﺧﺎص و‬


‫ﻳﺎ ﻋﺪم اﻣﻜﺎن اﻧﺠﺎم ﻋﻤﻞ و ﻳﺎ ﺑﺮوز ﻋﻮارض ﻧﺎﻣﻄﻠﻮب در ﭘﻲ اﻧﺠﺎم ﻋﻤﻞ‪.‬‬
‫‪ (2) -10‬ﻋﻤﻞ ﺑﺎزﻳﺎﺑﻲ در ﻣﺪل ﺷﺒﻜﻪاي ﭘﻴﭽﻴﺪه ﺗﺮ از ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪(1) -11‬‬
‫‪(3) -12‬‬
‫‪(2) -13‬‬
‫‪(2) -14‬‬
‫‪(3) -15‬‬
‫‪ (1) -16‬اﺻﻞ وﺣﺪت ﻋﻤﻠﮕﺮ در ﻣﺪل ﺷﺒﻜﻪاي رﻋﺎﻳﺖ ﻧﻤﻲﺷﻮد‪ .‬ﻣﺜﻼ ﺑﺮاي درج از دو‬
‫ﻋﻤﻠﮕﺮ ‪ connect‬و ‪ store‬ﻣﻲﺗﻮان اﺳﺘﻔﺎده ﻛﺮد‪ store .‬ﺑﺮاي درج ﻧﻤﻮﻧﻪ رﻛﻮرد و ‪connect‬‬
‫ﺑﺮاي ﺑﺮﻗﺮاري ﭘﻴﻮﻧﺪ ﺑﻴﻦ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ (4) -17‬ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﺑﺮاي ﭘﺎﺳﺨﮕﻮﺋﻲ ﺑﻪ ﭘﺮس و ﺟﻮﻫﺎي ﻗﺮﻳﻨﻪ‪ ،‬روﻳﻪﻫﺎي‬
‫ﭘﺎﺳﺨﮕﻮﻳﻲ ﻗﺮﻳﻨﻪ ﻧﺪارد‪.‬‬
‫‪ (2) -18‬ﻣﺪل ﺷﺒﻜﻪاي در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي آﻧﻮﻣﺎﻟﻲ ﻧﺪارد‪.‬‬
‫‪(1) -19‬در ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﻣﺪل ﻣﻮرد اﺳﺘﻔﺎده )راﺑﻄﻪاي‪ -‬ﺷﺒﻜﻪاي‪ -‬ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ( ﻣﻬﻢ‬
‫ﻧﻴﺴﺖ و ﺷﻤﺎي ﻛﻠﻲ ﻣﺜﻼ ﺑﺎ ﻧﻤﻮدار ‪ ER‬ﺗﺮﺳﻴﻢ ﻣﻲﺷﻮد‪ .‬اﻣﺎ ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﺴﺘﮕﻲ ﺑﻪ‬
‫ﻣﺪل ﻣﻮرد اﺳﺘﻔﺎده دارد‪.‬‬
‫‪(1) -20‬‬
‫‪(4) -21‬‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪5‬‬


‫‪ -1‬ﻛﻠﻴﺪ اﺻﻠﻲ ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪( 76 -‬‬
‫‪www.PDFgozar.com‬‬

‫‪269‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .1‬ﺑﺮاي ﻣﺮﺗﺐ ﺳﺎزي اﻃﻼﻋﺎت ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪.‬‬


‫‪ .2‬ﺗﺮﻛﻴﺒﻲ از اﺟﺰاي دادهاي اﺳﺖ ﻛﻪ ﻣﻬﻢ و ﻛﻠﻴﺪي ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬ﺟﺰء دادهاي اﺳﺖ ﻛﻪ ﻣﺤﻞ دﻗﻴﻖ رﻛﻮرد را ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ .4‬ﻛﺎرﺑﺮان ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﻮﺳﻴﻠﻪ آن ﺑﺎ ﺑﺎﻧﻚ ارﺗﺒﺎط ﺑﺮﻗﺮار ﻣﻲﻛﻨﻨﺪ‪.‬‬
‫‪ -2‬ﻛﻠﻴﺪ اﺻﻠﻲ ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪( 77 -‬‬
‫‪ .1‬ﺟﺰء دادهاي اﺳﺖ ﻛﻪ ﻣﺤﻞ رﻛﻮرد ﻣﻮرد ﻧﻈﺮ ﻣﺎ را ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ .2‬ﺗﺮﻛﻴﺒﻲ از ﭼﻨﺪ ﺟﺰء داده اﺳﺖ‪.‬‬
‫‪ .3‬ﺑﺎ آن ﻣﻲﺗﻮان اﻃﻼﻋﺎت را ﻣﺮﺗﺐ ﺳﺎزي و ‪ sort‬ﻧﻤﻮد‪.‬‬
‫‪ .4‬راﺑﻄﻪاي اﺳﺖ ﺑﻴﻦ ﻛﺎرﺑﺮ و ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‪.‬‬
‫‪ -3‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻔﺎﻫﻴﻢ ﻛﻠﻴﺪ در ﺳﻴﺴﺘﻢ ﻫﺎي راﺑﻄﻪاي ﻛﺪام ﮔﺰﻳﻨﻪ ﻣﺼﺪاق ﻧﺪارد ؟‬
‫)ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(78 -‬‬
‫‪ .1‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻳﻜﻲ از ﻛﻠﻴﺪﻫﺎي اﺻﻠﻲ اﺳﺖ ﻛﻪ ﻃﺮاح آن را ﺑﻪ ﻋﻨﻮان ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬
‫ﺑﺮ ﻣﻲﮔﺰﻳﻨﺪ‪.‬‬
‫‪ .2‬ﻛﻠﻴﺪ اﺻﻠﻲ ﻳﻜﻲ از ﻛﻠﻴﺪ ﻫﺎي ﻛﺎﻧﺪﻳﺪ اﺳﺖ ﻛﻪ ﻃﺮاح آن را ﺑﻪ ﻋﻨﻮان ﻛﻠﻴﺪ اﺻﻠﻲ‬
‫ﺑﺮ ﻣﻲﮔﺰﻳﻨﺪ‪.‬‬
‫‪ .3‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻫﺮ زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از ﻋﻨﺎﺻﺮ راﺑﻄﻪ اﺳﺖ ﻛﻪ ﻳﻜﺘﺎ ﺑﻮده و ﻛﻬﻴﻨﮕﻲ‬
‫ﻳﺎاﻳﺠﺎز )‪ ( minimality‬داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ .4‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻛﻠﻴﺪي اﺳﺖ ﻛﻪ در راﺑﻄﻪ دﻳﮕﺮ ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﺎﺷﺪ‪.‬‬
‫‪ -4‬درﺟﻪ راﺑﻄﻪ در ﺑﺎﻧﻚ ﻣﺪل راﺑﻄﻪاي ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(78 -‬‬
‫‪ .1‬ﺑﻪ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ ﮔﻔﺘﻪ ﻣﻲﺷﻮد‪.‬‬
‫‪ .2‬ﺑﻪ ﻣﻴﺪان ﻣﻘﺎدﻳﺮ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ ﮔﻔﺘﻪ ﻣﻲﺷﻮد‪.‬‬
‫‪ .3‬ﺗﻌﺪاد ﺗﺎﭘﻠﻬﺎي راﺑﻄﻪ اﺳﺖ‪.‬‬
‫‪ .4‬ﺗﻌﺪاد ﺻﻔﺎت ﺧﺎﺻﻪ ﻣﻮﺟﻮدﻳﺖ اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 270‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ -5‬ﻛﺪام ﮔﺰﻳﻨﻪ در ﺑﺎﻧﻚ راﺑﻄﻪاي ﺻﺤﻴﺢ ﻧﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪ 79 -‬و‬
‫ﻣﺸﺎﺑﻪ ﻣﺴﺎﺑﻘﺎت ‪(80‬‬
‫‪ .1‬ﺗﺎﭘﻠﻬﺎ ﻧﻈﻢ دارﻧﺪ‪.‬‬
‫‪ .2‬ﺗﺎﭘﻞ ﺗﻜﺮاري در راﺑﻄﻪ وﺟﻮد ﻧﺪارد‪.‬‬
‫‪ .3‬ﺻﻔﺎت ﺧﺎﺻﻪ ﻧﻈﻢ ﻧﺪارﻧﺪ‪.‬‬
‫‪ .4‬ﻫﻤﻪ ﺻﻔﺎت ﺧﺎﺻﻪ ﺗﺠﺰﻳﻪ ﻧﺎﭘﺬﻳﺮﻧﺪ‪.‬‬
‫‪ -6‬ﻛﺪام ﮔﺰﻳﻨﻪ ﺑﻪ ﻣﻔﻬﻮم )) ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﻣﺠﺎز ﻳﻚ ﺻﻔﺖ (( ﻣﻲﺑﺎﺷﺪ ؟ )ﻣﺴﺎﺑﻘﺎت‬
‫آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(79 -‬‬
‫‪Integrity .1‬‬
‫‪Persistent .2‬‬
‫‪Tuple .3‬‬
‫‪Domain .4‬‬
‫‪ -7‬در راﺑﻄﻪ ﺑﺎ ﺟﺎﻣﻌﻴﺖ در ﻣﺪل راﺑﻄﻪاي ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﺟﺎﻣﻌﻴﺖ داﻣﻨﻪاي ﻳﻌﻨﻲ ﺗﻤﺎم ﺻﻔﺎت در ﺗﻤﺎﻣﻲراﺑﻄﻪﻫﺎ از ﻧﻮع داﻣﻨﻪ ﺧﻮد ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .2‬ﺟﺎﻣﻌﻴﺖ درون راﺑﻄﻪاي ﻳﻌﻨﻲ ﻫﺮ راﺑﻄﻪاي ارﺗﺒﺎﻃﺶ ﺑﺎ راﺑﻄﻪ دﻳﮕﺮ ﺻﺤﻴﺢ ﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬ﺟﺎﻣﻌﻴﺖ داﻣﻨﻪاي ﻳﻌﻨﻲ ﻛﻠﻴﺪﻫﺎي داراي ﻣﻘﺪار ﺗﻬﻲ )‪ (NULL‬ﻳﺎ ﺗﻜﺮاري‬
‫ﻧﺒﺎﺷﻨﺪ‪.‬‬
‫‪ .4‬ﺟﺎﻣﻌﻴﺖ ارﺟﺎع ﻳﻌﻨﻲ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ درﺳﺖ ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﺪ‪.‬‬
‫‪ -8‬ﻛﺪام ﺗﻌﺮﻳﻒ در راﺑﻄﻪ ﺑﺎ ﻛﻠﻴﺪﻫﺎ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ Super key .1‬ﻳﻌﻨﻲ ﻫﺮ ﺗﺮﻛﻴﺒﻲ از ﺻﻔﺖ ﻫﺎ ﻛﻪ ﺧﺎﺻﻴﺖ ﻛﻠﻴﺪ داﺷﺘﻪ ﺑﺎﺷﻨﺪ‬
‫وﻟﻲاﻳﻦ ﺗﺮﻛﻴﺐ ﺑﺎﻳﺪ ﻛﻤﻴﻨﻪ )‪ (minimal‬ﺑﺎﺷﺪ‪.‬‬
‫‪ Primary key .2‬ﻳﻜﻲ از ﻛﻠﻴﺪ ﻫﺎي ﻛﺎﻧﺪﻳﺪ اﺳﺖ ﻛﻪ ﺗﻮﺳﻂ ﻣﺪﻳﺮ ﺑﺎﻧﻚ اﻧﺘﺨﺎب‬
‫ﻣﻲﺷﻮد‪.‬‬
‫‪ Alternative key .3‬ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺑﻪ ﻏﻴﺮ از ﻛﻠﻴﺪ اﺻﻠﻲ ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬
‫‪ Foreign key .4‬ﺻﻔﺘﻲ اﺳﺖ در ﻳﻚ راﺑﻄﻪ ﻛﻪ در راﺑﻄﻪ دﻳﮕﺮ ﻛﻠﻴﺪ اﺻﻠﻲ ﻳﺎ‬
‫ﻓﺮﻋﻲ اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪271‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪-9‬اﻳﻦ ﺟﻤﻠﻪ ﺗﻌﺮﻳﻒ ﭼﻴﺴﺖ ؟ ))زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از ﺿﺮب دﻛﺎرﺗﻲ ﭼﻨﺪ داﻣﻨﻪ ((‬
‫‪Domain .1‬‬
‫‪Relation .2‬‬
‫‪Tuple .3‬‬
‫‪Join .4‬‬
‫‪ -10‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ در راﺑﻄﻪ ﺑﺎ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ اﺳﺖ‪.‬‬
‫‪ .2‬ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ﻣﻮﺟﻮدﻳﺘﻲ در راﺑﻄﻪ ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ اﺳﺖ‪.‬‬
‫‪ Super key .3‬ﻛﻠﻴﺪ اﺻﻠﻲ اﺳﺖ ﻛﻪ ﻳﻜﺘﺎﻳﻲ و ‪ minimality‬دارد‪.‬‬
‫‪ .4‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻏﻴﺮ از ﻛﻠﻴﺪ اﺻﻠﻲ را ‪ Alternative‬ﻣﻲﮔﻮﻳﻨﺪ‪.‬‬
‫‪ -11‬راﺑﻄﻪ ﻋﺒﺎرت اﺳﺖ از‪:‬‬
‫‪ .1‬ﭘﻞ ارﺗﺒﺎﻃﻲ ﺑﺮاي ﻓﻴﻠﺪﻫﺎ‬
‫‪ .2‬ﻣﻔﻬﻮم رﻳﺎﺿﻲ ﻳﻚ ﺟﺪول‬
‫‪ .3‬ﺟﻤﻊ ﺷﺪن ﭼﻨﺪﻳﻦ ﺟﺪول در ﻳﻚ ﻗﺎﻟﺐ ﺑﺰرﮔﺘﺮ‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -12‬ﻛﺪاﻣﻴﻚ از روﺷﻬﺎي زﻳﺮ ﺑﻬﺘﺮﻳﻦ راه ﺑﺮاي ﺣﺼﻮل اﻃﻤﻴﻨﺎن از آن اﺳﺖ ﻛﻪ ﻛﻠﻴﺪﻫﺎي‬
‫اﺻﻠﻲ و ﺧﺎرﺟﻲ از ﻫﻤﺎﻫﻨﮕﻲ ﺑﺮﺧﻮردارﻧﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ‪ -‬آزاد ‪(80‬‬
‫‪ .1‬از ﻃﺮﻳﻖ اﻋﻤﺎل ﭘﻴﺶ ﻓﺮﺿﻬﺎي )‪(default values‬‬
‫‪ .2‬از ﻃﺮﻳﻖ ‪Referential Integrity‬‬
‫‪ .3‬از ﻃﺮﻳﻖ ‪Entity‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -13‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺑﺎره راﺑﻄﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ راﺑﻄﻪ ﺗﻌﺪاد ﺻﻔﺎت ﺧﺎﺻﻪ راﺑﻄﻪ در ﻳﻚ ﻟﺤﻈﻪ از ﺣﻴﺎت آن اﺳﺖ‪.‬‬
‫‪ .2‬در راﺑﻄﻪ ﺗﺎﭘﻠﻬﺎ ﻧﻈﻢ ﻧﺪارﻧﺪ‪.‬‬
‫‪ .3‬ﻫﻤﻪ ﻣﻘﺎدﻳﺮ ﺻﻔﺎت ﺧﺎﺻﻪ در راﺑﻄﻪ ﺗﺠﺰﻳﻪ ﻧﺎﭘﺬﻳﺮ )‪ ( atomic‬ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .4‬راﺑﻄﻪ از دو ﻣﺠﻤﻮﻋﻪ ‪ Heading‬و ‪ body‬ﺗﺸﻜﻴﻞ ﻳﺎﻓﺘﻪ اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 272‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ -14‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﭼﻴﺴﺖ ؟‬


‫‪ .1‬اﻣﻜﺎن ﭘﻴﻮﻧﺪ دادن راﺑﻄﻪﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ را ﻣﻲدﻫﺪ‪.‬‬
‫‪ .2‬اﻣﻜﺎن رﺟﻮع از راﺑﻄﻪاي ﺑﻪ راﺑﻄﻪ دﻳﮕﺮ را ﻣﻲدﻫﺪ‪.‬‬
‫‪ .3‬اﻣﻜﺎن ﺧﺎرج ﺷﺪن از راﺑﻄﻪاي را ﻣﻲدﻫﺪ‪.‬‬
‫‪2 .4‬و‪1‬‬
‫‪ -15‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﺳﻴﺴﺘﻢ راﺑﻄﻪاي داراي ﺳﺎﺧﺘﺎر ﻣﻨﻄﻘﻲ اﺳﺖ‪.‬‬
‫‪ .2‬ﺟﺪول ﻣﺸﺘﻖ )‪ (drived table‬راﺑﻄﻪاي اﺳﺖ ﻛﻪ از ﺟﺪول دﻳﮕﺮ اﺧﺬ ﮔﺮدﻳﺪه‬
‫اﺳﺖ‪.‬‬
‫‪ .3‬در راﺑﻄﻪ ﻫﻤﻪ ﻣﻘﺎدﻳﺮ ﺻﻔﺎت ﺧﺎﺻﻪ ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪ ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .4‬ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ راﺑﻄﻪاي ﺑﻪ ﻋﻨﻮان ﻣﺠﻤﻮﻋﻪاي از رواﺑﻂ و ﺟﺪوﻟﻬﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ‬
‫ﻣﻲﺷﻮد‪.‬‬
‫‪ -16‬ﭼﻪ راﺑﻄﻪاي ﺑﻴﻦ ﻛﻠﻴﺪ ﻫﺎي اﺻﻠﻲ و ﺧﺎرﺟﻲ در ﻳﻚ ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ ﺑﺎﻳﺪ وﺟﻮد‬
‫داﺷﺘﻪ ﺑﺎﺷﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ‪ -‬آزاد ‪(80‬‬
‫‪ .1‬در زﻣﺎﻧﻲ ﻛﻪ راﺑﻄﻪاي ﺑﻴﻦ دو ﺟﺪول ﺑﻪ وﺟﻮد ﻣﻲآﻳﺪ‪ ،‬ﺟﺪول ﭘﺪر دراﻳﻦ ارﺗﺒﺎط‬
‫ﺑﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺴﺘﮕﻲ دارد و ﺟﺪول ﻓﺮزﻧﺪ ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﺴﺘﮕﻲ ﺧﻮاﻫﺪ‬
‫داﺷﺖ‪.‬‬
‫‪ .2‬در زﻣﺎﻧﻲ ﻛﻪ راﺑﻄﻪاي ﺑﻴﻦ دو ﺟﺪول ﺑﻪ وﺟﻮد ﻣﻲآﻳﺪ‪ ،‬ﺟﺪول ﭘﺪر دراﻳﻦ ارﺗﺒﺎط‬
‫ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﺴﺘﮕﻲ دارد و ﺟﺪول ﻓﺮزﻧﺪ ﺑﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺴﺘﮕﻲ ﺧﻮاﻫﺪ‬
‫داﺷﺖ‪.‬‬
‫‪ .3‬ﺳﺘﻮن دادهﻫﺎي ﻛﻠﻴﺪ اﺻﻠﻲ در ﺟﺪول ﺷﺎﻣﻞ ﺳﺘﻮن ﻛﻠﻴﺪﻫﺎي ﺧﺎرﺟﻲ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ .4‬ﻫﻴﭻ راﺑﻄﻪاي ﺑﻴﻦ ﻛﻠﻴﺪ اﺻﻠﻲ و ﺧﺎرﺟﻲ وﺟﻮد ﻧﺪارد‪.‬‬
‫‪ -17‬ﻛﺪاﻣﻴﻚ از اﻗﻼم زﻳﺮ ﺑﻬﺘﺮﻳﻦ ﺗﻌﺮﻳﻒ ﺑﻪ ﻋﻨﻮان ﻳﻚ ﺷﺨﺺ‪ ،‬ﻣﻜﺎن ﭼﻴﺰ ﻳﺎ ﻣﻔﻬﻮم از‬
‫دادهﻫﺎي ﺟﻤﻊ آوري ﺷﺪهاﻧﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ‪ -‬آزاد ‪(80‬‬
‫‪www.PDFgozar.com‬‬

‫‪273‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .1‬ﻳﻚ راﺑﻄﻪ‬
‫‪ .2‬ﻳﻚ ﻛﻠﻴﺪ اﺻﻠﻲ‬
‫‪ .3‬ﻳﻚ ﺟﺪول‬
‫‪ .4‬ﻳﻚ ﻓﻴﻠﺪ‬
‫‪ -18‬ﺟﻬﺖ ﭘﻴﺎده ﺳﺎزي ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻛﺪام ﻓﻌﺎﻟﻴﺖ در اوﻟﻮﻳﺖ ﻗﺮار دارد ؟‬
‫)ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ‪ -‬آزاد ‪(80‬‬
‫‪ .1‬ﻃﺮاﺣﻲ ﻣﺪل دادهﻫﺎ ﻣﻨﻄﻘﻲ‬
‫‪ .2‬ﻃﺮاﺣﻲ ﻣﺪل دادهﻫﺎ ﻓﻴﺰﻳﻜﻲ‬
‫‪ .3‬ﻃﺮاﺣﻲ ﻣﺪل دادهﻫﺎ ﺑﻪ ﺻﻮرت ﻓﻴﺰﻳﻜﻲ و ﻣﻨﻄﻘﻲ‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -19‬ﻛﺪاﻣﻴﻚ از ﺟﻤﻼت زﻳﺮ ﻣﺰﻳﺖ و ﺑﺮﺗﺮي ﻳﻚ ﺳﺘﻮن ﻏﻴﺮ ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪ در ﻳﻚ ﻃﺮاﺣﻲ‬
‫ﻧﻴﺴﺖ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ‪ -‬آزاد ‪(80‬‬
‫‪ .1‬ﺑﻬﺘﺮ ﻣﻲﺗﻮان راﺑﻄﻪ ﻛﻠﻴﺪﻫﺎي اﺻﻠﻲ و ﺧﺎرﺟﻲ را در آﻧﻬﺎ ﻧﮕﻬﺪاري ﻧﻤﻮد‪.‬‬
‫‪ .2‬ﺑﻬﺘﺮ ﻣﻲﺗﻮان از ﻳﻚ ﺳﺘﻮن ‪ Query‬ﻳﺎ ﺳﻮال ﻧﻤﻮد‪.‬‬
‫‪ .3‬ﺑﻬﺘﺮ ﻣﻲﺗﻮان ﺻﺤﺖ اﻃﻼﻋﺎت )‪ ( integrity‬را ﺑﺪﺳﺖ آورد‪.‬‬
‫‪ .4‬ﺑﻬﺘﺮ ﻣﻲﺗﻮان ﺳﺘﻮن ﻫﺎ را ﺑﻪ روز آورد‪.‬‬
‫‪ -20‬در اﻏﻠﺐ ﻧﺮماﻓﺰارﻫﺎي ﭘﺎﻳﮕﺎهدادهﻫﺎ ﭼﻪ ﭼﻴﺰي ﺑﺮاي ذﺧﻴﺮه ﺳﺎزي اﻃﻼﻋﺎت ﻳﻚ‬
‫‪ Entity‬ﻳﺎ ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻛﺎر ﻣﻲرود ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ‪ -‬آزاد ‪( 80‬‬
‫‪ .1‬ﻛﻠﻴﺪ اﺻﻠﻲ‬
‫‪ .2‬ﻓﻴﻠﺪ‬
‫‪ .3‬ﺟﺪول‬
‫‪ .4‬ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪www.PDFgozar.com‬‬

‫‪ 274‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ -21‬زﻣﺎﻧﻲ ﻛﻪ در ﺣﺎل ﻣﻄﺎﻟﻌﻪ ﻣﺠﻤﻮﻋﻪاي از ﻧﻴﺎزﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ در ﺣﺎل ﻃﺮاﺣﻲ‬


‫ﻫﺴﺘﻴﻢ ﺑﻬﺘﺮﻳﻦ روش ﺑﺮاي ﻣﺸﺨﺺ ﻧﻤﻮدن ﻣﻮﺟﻮدﻳﺖ )‪ ( Entity‬ﻫﺎ ﻛﺪام اﺳﺖ ؟‬
‫)ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ‪ -‬آزاد ‪( 80‬‬
‫‪ .1‬ﺑﻪ دﻧﺒﺎل اﻓﻌﺎل ﺟﻤﻼت ﺑﺎﺷﻴﻢ و از آﻧﻬﺎ ﺑﺮاي ﺗﻌﺮﻳﻒ ‪ Entity‬اﺳﺘﻔﺎده ﻛﻨﻴﻢ‪.‬‬
‫‪ .2‬ﺑﻪ دﻧﺒﺎل اﺳﺎﻣﻲو ﻧﺎﻣﻬﺎي ﻣﺨﺘﻠﻒ ﺑﺎﺷﻴﻢ و از آﻧﻬﺎ ﺑﺮاي ﺗﻌﺮﻳﻒ ‪ Entity‬ﻫﺎ‬
‫اﺳﺘﻔﺎده ﻛﻨﻴﻢ‪.‬‬
‫‪ .3‬ﺑﻪ دﻧﺒﺎل ﺻﻔﺖ ﻫﺎ در ﺟﻤﻼت ﺑﺎﺷﻴﻢ و از آﻧﻬﺎ ﺑﺮاي ﺗﻌﺮﻳﻒ ‪ Entity‬ﻫﺎ اﺳﺘﻔﺎده‬
‫ﻛﻨﻴﻢ‪.‬‬
‫‪ .4‬ﻫﻤﻪ اﻗﻼم ﻓﻮق درﺳﺖ اﺳﺖ‪.‬‬
‫‪ -22‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﻳﻚ ‪ DBMS‬ﻛﺎﻣﻼ راﺑﻄﻪاي )‪( Fully relational‬اﺳﺖ اﮔﺮ ﺳﺎﺧﺘﺎر آن‬
‫ﺟﺪوﻟﻲ )‪ (tabolar‬ﺑﻮده و ﻣﺤﺪودﻳﺘﻬﺎي ﺟﺎﻣﻌﻴﺘﻲ را رﻋﺎﻳﺖ ﻛﻨﺪ‪.‬‬
‫‪ .2‬در ﻳﻚ راﺑﻄﻪ ﻳﻚ ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪ‪ ،‬ﻫﻴﭻ ارﺗﺒﺎﻃﻲ ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ ﻧﺪارد‪.‬‬
‫‪ .3‬ﻣﻨﺤﺼﺮ ﺑﻪ ﻓﺮد ﺑﻮدن و ﻏﻴﺮ ﻗﺎﺑﻞ ﻛﺎﻫﺸﻲ از وﻳﮋﮔﻴﻬﺎي ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ‪.‬‬
‫‪ .4‬اﺧﺘﺼﺎص ﻳﻚ ﻛﻠﻴﺪ ﻧﺸﺎﻧﮕﺮ ﻳﻚ ﻋﺎﻣﻞ ﻣﺤﺪود ﻛﻨﻨﺪه در ﺟﻬﺎن واﻗﻌﻲ ﭘﺎﻳﮕﺎهداده‬
‫اﺳﺖ‪.‬‬
‫‪ -23‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬راﺑﻄﻪ داراي ﻳﻚ ﻋﻨﻮان و ﻳﻚ ﺑﺪﻧﻪ اﺳﺖ‪.‬‬
‫‪ .2‬راﺑﻄﻪ داراي ﻣﺠﻤﻮﻋﻪاي از ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ اﺳﺖ‪.‬‬
‫‪ .3‬در ﻣﻮرد ﻣﺘﻐﻴﺮﻫﺎي راﺑﻄﻪاي ﭘﺎﻳﻪ )‪( Base Relational‬دﻗﻴﻘﺎ ﻳﻜﻲ از ﻛﻠﻴﺪﻫﺎي‬
‫ﻛﺎﻧﺪﻳﺪ ﺑﺎﻳﺪ ﺑﻪ ﻋﻨﻮان ﻛﻠﻴﺪ اﺻﻠﻲ اﻧﺘﺨﺎب ﺷﻮد‪.‬‬
‫‪ .4‬راﺑﻄﻪ ﭘﺎﻳﻪاي ﺑﺮ ﺣﺴﺐ رواﺑﻂ ﭘﺎﻳﻪاي دﻳﮕﺮ ﻣﺤﺎﺳﺒﻪ ﻣﻲﺷﻮد‪.‬‬
‫‪ -24‬ﻫﻨﮕﺎم ﺗﻌﺮﻳﻒ ﻳﻚ راﺑﻄﻪ ﭘﺎﻳﻪ )‪ ( Base relation‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﺣﺪاﻗﻞ ﻳﻚ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ وﺟﻮد دارد‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪275‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .2‬ﻣﻲﺗﻮاﻧﺪ ﻛﻠﻴﺪ اﺻﻠﻲ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬


‫‪ .3‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ وﺟﻮد ﻧﺪارد‪.‬‬
‫‪ .4‬ﺑﺎﻳﺪ ﺣﺘﻤﺎ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ -25‬دو راﺑﻄﻪ ﺑﻪ ﺷﺮﻃﻲ ﺳﺎزﮔﺎرﻧﺪ ﻛﻪ‪....‬‬
‫‪ .1‬داراي ﻣﺠﻤﻮﻋﻪاي از اﺳﺎﻣﻲو ﺻﻔﺎت ﻳﻜﺴﺎن ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .2‬ﺻﻔﺎت ﺧﺎﺻﻪ ﻣﺘﻨﺎﻇﺮﺷﺎن ﺑﺮ روي داﻣﻨﻪ ﻳﻜﺴﺎﻧﻲ ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .3‬ﺗﻌﺪاد ﺳﻄﺮ و ﺳﺘﻮﻧﻬﺎي ﻳﻜﺴﺎﻧﻲ داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪2 .4‬و‪1‬‬
‫‪ -26‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ‪....‬‬
‫‪ .1‬در ﻳﻚ راﺑﻄﻪ ﻓﻴﻠﺪ ﻣﻌﻤﻮﻟﻲ و در راﺑﻄﻪ دﻳﮕﺮ ﻛﻠﻴﺪ اﺻﻠﻲ اﺳﺖ‪.‬‬
‫‪ .2‬ﻓﻴﻠﺪي ﻣﺸﺘﺮك ﺑﻴﻦ دو ﻳﺎ ﭼﻨﺪ راﺑﻄﻪ ﻛﻪ در ﭘﻴﻮﻧﺪ راﺑﻄﻪ اﺳﺘﻔﺎده ﻣﻲﮔﺮدد‪.‬‬
‫‪2 .3‬و‪1‬‬
‫‪ .4‬ﻫﻤﺎن ﻛﻠﻴﺪ ﻓﺮﻋﻲ اﺳﺖ‪.‬‬
‫‪ -27‬ﻛﻠﻴﺪ ﺟﺪول زﻳﺮ ﻛﺪام اﺳﺖ ؟‬
‫‪(A,C) .1‬‬
‫‪( B) . 2‬‬
‫‪( A) . 3‬‬
‫‪(B,C) .4‬‬
‫‪ -28‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬راﺑﻄﻪ زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از ﺿﺮب ﻛﺎرﺗﺰﻳﻦ ﭼﻨﺪ داﻣﻨﻪ اﺳﺖ‪.‬‬
‫‪ .2‬داﻣﻨﻪﻫﺎي راﺑﻄﻪ ﻟﺰوﻣﺎ ﻣﺘﻤﺎﻳﺰ ﻧﻤﻲﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .3‬در ﻃﻮل ﺣﻴﺎت ﺟﺪول‪ Extention ،‬ﺛﺎﺑﺖ و ‪ Interntion‬ﻣﺘﻐﻴﺮ اﺳﺖ‪.‬‬
‫‪ .4‬راﺑﻄﻪ از ‪ Heading‬و ‪ Body‬ﺗﺸﻜﻴﻞ ﻳﺎﻓﺘﻪ اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 276‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪)) -29‬ﺗﻤﺎم اﻃﻼﻋﺎت ﻣﻮﺟﻮد در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻓﻘﻂ ﺑﻪ ﻳﻚ روش ﻧﻤﺎﻳﺶ داده‬
‫ﻣﻲﺷﻮﻧﺪ‪ ،‬ﻳﻌﻨﻲ ﺑﻪ ﺻﻮرت ﻣﻘﺎدﻳﺮي در ﻣﻮﻗﻌﻴﺘﻬﺎي ﺳﺘﻮﻧﻲ از ﺳﻄﺮﻫﺎي ﺟﺪول ((‪.‬اﻳﻦ‬
‫ﺟﻤﻠﻪ ﻛﺪام ﻗﺎﻋﺪه اﺳﺖ ؟‬
‫‪ .1‬ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ‬
‫‪ .2‬ﻗﺎﻋﺪه اﻃﻼﻋﺎت‬
‫‪ .3‬ﻗﺎﻋﺪه درون راﺑﻄﻪاي‬
‫‪ .4‬ﻗﺎﻋﺪه ﺑﺮون راﺑﻄﻪاي‬

‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪5‬‬


‫‪(3) -1‬‬
‫‪(1) -2‬‬
‫‪ (1) -3‬ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻠﻴﺪ اﺻﻠﻲ ﻳﻜﻲ از ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ اﺳﺖ ﻧﻪاﻳﻨﻜﻪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻳﻜﻲ‬
‫از ﻛﻠﻴﺪﻫﺎي اﺻﻠﻲ ﺑﺎﺷﺪ‪.‬‬
‫‪(4) -4‬‬
‫‪ (1) -5‬ﺗﺮﺗﻴﺐ ﺗﺎﭘﻠﻬﺎ )رﻛﻮردﻫﺎ( در ﺟﺪول ﻣﻬﻢ ﻧﻴﺴﺖ‪.‬‬
‫‪(4) -6‬‬
‫‪ (2) -7‬ﺟﺎﻣﻌﻴﺖ درون راﺑﻄﻪاي ﻳﻌﻨﻲ ﻫﺮ راﺑﻄﻪاي ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﺻﺤﻴﺢ ﻣﻲﺑﺎﺷﺪ‪ .‬ﻣﺜﻼ ﻋﻀﻮ‬
‫ﺗﻜﺮاري ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ و ﻛﻠﻴﺪﻫﺎﻳﺶ درﺳﺖ ﺑﺎﺷﻨﺪ‪ .‬ﺟﺎﻣﻌﻴﺖ داﻣﻨﻪاي ﻫﺮ دو ﮔﺰﻳﻨﻪ‪ 1‬و ‪ 3‬را‬
‫در ﺑﺮ ﻣﻲﮔﻴﺮد‪.‬‬
‫‪ Super key (1) -8‬ﻫﺮ ﺗﺮﻛﻴﺒﻲ از ﺻﻔﺘﻬﺎﺳﺖ ﻛﻪ ﺧﺎﺻﻴﺖ ﻛﻠﻴﺪ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬اﻳﻦ ﺗﻨﻬﺎ‬
‫ﻧﻮع ﻛﻠﻴﺪ اﺳﺖ ﻛﻪ ﻛﻤﻴﻨﻪ ﻧﻴﺴﺖ ﻳﻌﻨﻲ زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از آن ﻫﻢ ﻣﻤﻜﻦ اﺳﺖ ﻛﻠﻴﺪ ﺑﺎﺷﺪ‪.‬‬
‫‪(2) -9‬‬
‫‪www.PDFgozar.com‬‬

‫‪277‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ (3) -10‬اﺑﺮ ﻛﻠﻴﺪ ﻳﺎ ‪ Super key‬ﺑﻪ ﻫﺮ ﻛﻠﻴﺪي ﮔﻔﺘﻪ ﻣﻲﺷﻮد ﻛﻪ ﺗﻨﻬﺎ وﻳﮋﮔﻲ ﻳﻜﺘﺎﻳﻲ را‬
‫داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺣﺎﻟﺖ ﺧﺎﺻﻲ از اﺑﺮ ﻛﻠﻴﺪ و ﻫﻤﭽﻨﻴﻦ ﻛﻠﻴﺪ اﺻﻠﻲ ﺣﺎﻟﺖ ﺧﺎﺻﻲ‬
‫از ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ‪.‬‬
‫‪(2) -11‬‬
‫‪) (2) -12‬ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ = ‪( Referential Integrity rule‬‬
‫‪ (1) -13‬ﺗﻌﺪاد ﺗﺎﭘﻠﻬﺎي راﺑﻄﻪ در ﻳﻚ ﻟﺤﻈﻪ از ﺣﻴﺎت آن ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ راﺑﻄﻪ ﻧﺎم دارد‪.‬‬
‫‪(4) -14‬‬
‫‪ (3) -15‬در راﺑﻄﻪ ﺻﻔﺎت ﺧﺎﺻﻪ ﻏﻴﺮ ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪ ﻫﺴﺘﻨﺪ‪.‬‬
‫‪(2) -16‬‬
‫‪ (4) -17‬ﺻﻮرت ﺗﺴﺖ در واﻗﻊ ﺗﻌﺮﻳﻒ ﻣﻮﺟﻮدﻳﺖ اﺳﺖ و ﻫﺮ ﻣﻮﺟﻮدﻳﺖ را ﻣﻲﺗﻮان ﺑﺎ‬
‫ﻳﻚ ﺟﺪول )ﻛﻪ ﻫﻤﺎن راﺑﻄﻪ اﺳﺖ (ﻧﺸﺎن داده وﻟﻲ ﭼﻮن راﺑﻄﻪ ﻫﻤﺎن ﺟﺪول اﺳﺖ ﭘﺲ‬
‫اﺣﺘﻤﺎﻻ ﻣﻨﻈﻮر ﻃﺮاح ﮔﺰﻳﻨﻪ ‪ 4‬ﺑﻮده اﺳﺖ‪.‬‬
‫‪(1) -18‬‬
‫‪ (1) -19‬ﺑﺪﻳﻬﻲ اﺳﺖ ﻫﻨﮕﺎﻣﻲﻛﻪ ﺳﺘﻮن ﻣﺮﻛﺒﻲ داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪ .‬ﻣﺜﻞ ﺳﺘﻮن آدرس ﻛﻪ از‬
‫ﺳﺘﻮن ﻫﺎي ﺷﻬﺮ‪ -‬ﺧﻴﺎﺑﺎن‪ -‬ﻛﻮﭼﻪ و ﭘﻼك ﺗﺸﻜﻴﻞ ﺷﺪه ﺑﺎﺷﺪ ﺑﻪ روز در آوردن ﺳﺘﻮﻧﻬﺎي‬
‫آن ﻣﺸﻜﻠﺘﺮ از وﻗﺘﻲ اﺳﺖ ﻛﻪ ﺳﺘﻮﻧﻬﺎ ﺳﺎده و ﻏﻴﺮ ﻣﺮﻛﺐ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ (3) -20‬ﻣﻮﺟﻮدﻳﺖ ﻓﺮد ﻳﺎ ﺷﻴﺊ ﻳﺎ ﭼﻴﺰي اﺳﺖ ﻛﻪ در ﻣﻮرد آن ﻣﻲﺧﻮاﻫﻴﻢ اﻃﻼﻋﺎﺗﻲ‬
‫داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪ ،‬اﻃﻼﻋﺎت ﻫﺮ ﻣﻮﺟﻮدﻳﺖ را ﻣﻲﺗﻮان در ﻳﻚ ﺟﺪول ﺧﺎﺻﻲ ذﺧﻴﺮه ﻛﺮد‪.‬‬
‫‪ (2) -21‬ﻣﺜﻼ در ﺟﻤﻠﻪ )) داﻧﺸﺠﻮي ﻣﺸﺮوﻃﻲ داراي ﻣﻌﺪل ﻛﻤﺘﺮ از ‪ 12‬ﻣﻲﺑﺎﺷﺪ ((‬
‫داﻧﺸﺠﻮ ﻣﻮﺟﻮدﻳﺖ اﺳﺖ و ﺑﺮاي آن ﺑﺎﻳﺪ ﻳﻚ ﺟﺪول داﺷﺘﻪ ﺑﺎﺳﻴﻢ ﻛﻪ ﻣﻌﺪل ﻳﻜﻲ از‬
‫ﻓﻴﻠﺪﻫﺎي آن ﺑﺎﺷﺪ‪ .‬ﻣﺸﺮوط ﺑﻮدن داﻧﺸﺠﻮ ﻧﻴﺰ ﻳﻚ ﻓﻴﻠﺪ آن ﺟﺪول اﺳﺖ‪.‬‬
‫‪ (2) -22‬ﻳﻚ ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪي ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ ارﺗﺒﺎط دارد‪.‬‬
‫‪ (4) -23‬راﺑﻄﻪ ﭘﺎﻳﻪاي ﺑﺮ ﺣﺴﺐ رواﺑﻂ ﭘﺎﻳﻪاي دﻳﮕﺮ ﻣﺤﺎﺳﺒﻪ ﻧﻤﻲﺷﻮد‪.‬‬
‫‪(1) -24‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 278‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪(4) -25‬‬
‫‪(3) -26‬‬
‫‪ (1) -27‬ﻛﻠﻴﺪ ﺑﺎﻳﺪ ﻳﻜﺘﺎ ﺑﺎﺷﺪ‪ .‬زﻳﺮ ﺳﺘﻮن ‪ B‬دو ﺗﺎ ‪ K‬وﺟﻮد دارد‪ .‬زﻳﺮ ﺳﺘﻮن ‪ A‬دو ﺗﺎ ‪t‬‬
‫وﺟﻮد دارد‪ .‬زﻳﺮ ﺟﻔﺖ ﺳﺘﻮن )‪( B,C‬دو ﺗﺎ )‪ (K,S‬وﺟﻮد دارد‪.‬‬
‫‪ (3) -28‬ﺑﻪ ﺑﺴﻂ ﻳﻚ ﺟﺪول در ﻫﺮ ﻟﺤﻈﻪ ‪ Extention‬و ﺑﻪ ﻧﺎم و ﻣﺠﻤﻮﻋﻪ ﺻﻔﺎت‬
‫راﺑﻄﻪ ﭼﻜﻴﺪه راﺑﻄﻪ ﻳﺎ ‪ Intention‬ﮔﻔﺘﻪ ﻣﻲﺷﻮد ﻳﻌﻨﻲ اﺳﻢ ﺟﺪول ﺑﻪ ﻫﻤﺮاه ‪heading‬‬
‫ﺑﺮاﺑﺮ ‪ intention‬اﺳﺖ‪ .‬در ﻃﻮل ﺣﻴﺎت ﻳﻚ ﺟﺪول ‪ Extextion‬ﻣﺘﻐﻴﺮ وﻟﻲ‬
‫‪ Intention‬ﺛﺎﺑﺖ اﺳﺖ‪.‬‬
‫‪(2) -29‬‬
‫‪www.PDFgozar.com‬‬

‫‪279‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪6‬‬


‫‪ -1‬ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ دو ﺟﺪول زﻳﺮ ﭼﻨﺪ ﺳﻄﺮ و ﭼﻨﺪ ﺳﺘﻮن دارد ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي‬
‫ﻓﻨﻲ‪( 79 -‬‬
‫‪s‬‬ ‫‪sp‬‬
‫‪S#‬‬ ‫‪sname‬‬ ‫‪city‬‬ ‫‪S#‬‬ ‫‪P#‬‬ ‫ﺗﻌﺪاد ‪Qty‬‬
‫‪S1‬‬ ‫ﻓﻦ آوران‬ ‫ﺗﻬﺮان‬ ‫‪S1‬‬ ‫‪P1‬‬ ‫‪300‬‬

‫‪S2‬‬ ‫اﻳﺮان ﻗﻄﻌﻪ‬ ‫ﺗﺒﺮﻳﺰ‬ ‫‪S1‬‬ ‫‪P2‬‬ ‫‪200‬‬

‫‪S3‬‬ ‫ﭘﻮﻻدﻳﻦ‬ ‫ﺗﺒﺮﻳﺰ‬ ‫‪S1‬‬ ‫‪P3‬‬ ‫‪400‬‬

‫‪S2‬‬ ‫‪P1‬‬ ‫‪300‬‬

‫‪S2‬‬ ‫‪P2‬‬ ‫‪400‬‬

‫‪S3‬‬ ‫‪P2‬‬ ‫‪200‬‬

‫‪ 18 .1‬ﺳﻄﺮ و ‪ 6‬ﺳﺘﻮن‬
‫‪ 18 .2‬ﺳﻄﺮ و ‪ 9‬ﺳﺘﻮن‬
‫‪ 9 .3‬ﺳﻄﺮ و ‪ 6‬ﺳﺘﻮن‬
‫‪ 6 .4‬ﺳﻄﺮ و ‪ 5‬ﺳﺘﻮن‬
‫‪ -2‬ﻋﺒﺎرت ‪ A JOIN B‬را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ .‬اﮔﺮ ﺗﻤﺎم ﺻﻔﺎت ﺧﺎﺻﻪ ‪ A‬و ‪ B‬ﻳﻜﺴﺎن ﺑﺎﺷﻨﺪ‬
‫ﻋﺒﺎرت ﻓﻮق ﻣﻌﺎدل ﻛﺪام ﻋﺒﺎرت زﻳﺮ اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪( 79 -‬‬
‫‪A UNION B‬‬ ‫‪.1‬‬
‫‪A MINUS B‬‬ ‫‪.2‬‬
‫‪A INTERSECT B‬‬ ‫‪.3‬‬
‫‪A TIMES B‬‬ ‫‪.4‬‬
‫‪ -3‬دو ﺟﺪول زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ﺳﭙﺲ ﺑﮕﻮﺋﻴﺪ در ﻧﺘﻴﺠﻪ اﻟﺤﺎق آﻧﻬﺎ ﺗﻮﺳﻂ دﺳﺘﻮر‬
‫داده ﺷﺪه‪ ،‬ﻛﻠﻴﺪ اﺻﻠﻲ ﭼﻪ ﻣﻲﺷﻮد ؟‬
‫‪www.PDFgozar.com‬‬

‫‪ 280‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪DEPT‬‬ ‫‪EMP‬‬
‫‪DEPT‬‬ ‫‪DNAME‬‬ ‫‪BUDGET‬‬ ‫‪EMP#‬‬ ‫‪ENAME‬‬ ‫‪DEPT#‬‬ ‫‪SALARY‬‬
‫‪#‬‬
‫‪D1‬‬ ‫‪Marketing‬‬ ‫‪10M‬‬ ‫‪E1‬‬ ‫‪Lopez‬‬ ‫‪D1‬‬ ‫‪40K‬‬
‫‪D2‬‬ ‫‪Developme‬‬ ‫‪12M‬‬ ‫‪E2‬‬ ‫‪Cheng‬‬ ‫‪D1‬‬ ‫‪42K‬‬
‫‪nt‬‬
‫‪D3‬‬ ‫‪Research‬‬ ‫‪5M‬‬ ‫‪E3‬‬ ‫‪Finzi‬‬ ‫‪D2‬‬ ‫‪30K‬‬
‫‪E4‬‬ ‫‪Saito‬‬ ‫‪D2‬‬ ‫‪35K‬‬

‫‪Join:‬‬
‫‪DEPT and EMP over DEPT#‬‬
‫‪DEPT# .1‬‬
‫‪EMP# .2‬‬
‫‪BUDGET .3‬‬
‫‪EMP# , DEPT# .4‬‬
‫‪ -4‬در ﺟﺪول ‪ EMP‬در ﺗﺴﺖ ﻗﺒﻠﻲ‪ ،‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻛﺪام اﺳﺖ ؟‬
‫‪EMP#‬‬ ‫‪.1‬‬
‫‪SALARY‬‬ ‫‪.2‬‬
‫‪DEPT#‬‬ ‫‪.3‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‪ .‬ﭼﻮن ‪ D1‬و ‪ D2‬ﺗﻜﺮار ﺷﺪهاﻧﺪ‪ DEPT# ،‬ﻧﻤﻲﺗﻮاﻧﺪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ‬
‫ﺑﺎﺷﺪ‪.‬‬
‫‪ -5‬ﺗﻘﺎﺿﺎي زﻳﺮ در ﻣﻮرد ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﭼﻪ ﻛﺎري اﻧﺠﺎم‬
‫ﻣﻲدﻫﺪ؟‬
‫;}‪Result: = (( S join SP) where P# ' p2' ) { S# , city‬‬
‫‪ .1‬ﺷﻬﺮ ﻋﺮﺿﻪ ﻛﻨﻨﺪهاي را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﻪ ‪ p2‬را ﺳﺎﺧﺘﻪ اﺳﺖ‪.‬‬
‫‪ .2‬ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪه و ﺷﻬﺮ ﻋﺮﺿﻪ ﻛﻨﻨﺪهاي را ﻛﻪ ﻗﻄﻌﻪ ‪ p2‬را ﺗﻮﻟﻴﺪ ﻣﻲﻛﻨﺪ‪،‬‬
‫ﺑﺎزﻳﺎﺑﻲ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ .3‬ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪهاي را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﻪ ‪ p2‬در ﻫﻤﺎن ﺷﻬﺮ آن ﺗﻮﻟﻴﺪ ﺷﺪه‬
‫اﺳﺖ‪.‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪www.PDFgozar.com‬‬

‫‪281‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫و ﻗﻄﻌﻪ‬ ‫)‪S (S# , Sname , City‬‬ ‫ﺗﺬﻛﺮ‪ :‬ﺳﻪ ﺟﺪول ﺗﻬﻴﻪ ﻛﻨﻨﺪه‬
‫)‪ P (P# , Pname , Color , City‬و ﻣﺤﻤﻮﻟﻪ )‪ SP ( S# , P# , Qty‬را در ﻧﻈﺮ ﮔﺮﻓﺘﻪ و‬
‫ﺑﻪ ‪ 4‬ﺳﻮال زﻳﺮ ﭘﺎﺳﺦ دﻫﻴﺪ‪.‬‬
‫‪ -6‬ﻛﺪام ﮔﺰﻳﻨﻪ ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﺗﻮﻟﻴﺪي آﻧﻬﺎ را ﭼﺎپ ﻣﻲﻛﻨﺪ ﺑﻪ ﺷﺮط آﻧﻜﻪ‬
‫ﻗﻄﻌﻪ ﺗﻮﻟﻴﺪي آﻧﻬﺎ ﺑﻴﺸﺘﺮ از ‪ 200‬ﻋﺪد ﺑﺎﺷﺪ ؟‬
‫))‪Π s#, p# ( σ Qty >200 (SP‬‬ ‫‪.1‬‬
‫))‪Π s#, p# ( σ Qty >200 (S∞ P‬‬ ‫‪.2‬‬
‫))‪σ Qty >200 (Π s#, p# (SP‬‬ ‫‪.3‬‬
‫‪1,3 .4‬‬
‫‪ -7‬در راﺑﻄﻪ ﺑﺎ دو دﺳﺘﻮر زﻳﺮ ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬
‫و )‪ ) σ p# = p1 (S∞ SP‬اﻟﻒ‬ ‫))‪) Π s# , p# ( σ Qty >200 ( SP‬ب‬
‫‪ .1‬اﻳﻦ دو دﺳﺘﻮر دﻗﻴﻘﺎ ﻣﻌﺎدل ﻳﻜﺪﻳﮕﺮﻧﺪ و ﻫﻴﭻ ارﺟﺤﻴﺘﻲ ﻧﺴﺒﺖ ﺑﻪ ﻫﻢ ﻧﺪارﻧﺪ‪.‬‬
‫‪ .2‬اﻳﻦ دو دﺳﺘﻮر ﻣﻌﺎدل ﻧﻴﺴﺘﻨﺪ‪.‬‬
‫‪ .3‬اﻳﻦ دو دﺳﺘﻮر ﻣﻌﺎدﻟﻨﺪ وﻟﻲ ب ﻛﺎراﺗﺮ و ﺑﻬﻴﻨﻪ ﺗﺮ از اﻟﻒ اﺳﺖ‪.‬‬
‫‪ .4‬اﻳﻦ دو دﺳﺘﻮر ﻣﻌﺎدﻟﻨﺪ وﻟﻲ اﻟﻒ ﻛﺎراﺗﺮ و ﺑﻬﻴﻨﻪ ﺗﺮ از ب اﺳﺖ‪.‬‬
‫‪ -8‬ﻛﺪام ﮔﺰﻳﻨﻪ اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن ﻗﻄﻌﻪ ‪ p2‬را ﻣﻲدﻫﺪ ؟‬
‫))‪Π sname ( σp# = p2 (S∞ P‬‬ ‫‪.1‬‬
‫))‪Π sname ( σp# = p2 (S∞ SP‬‬ ‫‪.2‬‬
‫))‪σp# = p2 (Π sname (P∞ SP‬‬ ‫‪.3‬‬
‫))‪σp# = p2 (Π sname (P∞ S‬‬ ‫‪.4‬‬
‫‪ -9‬دﺳﺘﻮر زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬
‫)‪Π sname ( Π s# ((Π p# ( σ color = ' red' ( P )) ∞ SP ) ∞ S‬‬
‫‪ .1‬ﺷﻤﺎره اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﺎت ﻗﺮﻣﺰ رﻧﮓ را ﺗﻮﻟﻴﺪ ﻛﺮدهاﻧﺪ‪.‬‬
‫‪ .2‬ﺷﻤﺎره و اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺷﻤﺎره ﻗﻄﻌﻪ آﻧﻬﺎ ﻣﻮﺟﻮد ﺑﻮده و‬
‫رﻧﮓ آﻧﻬﺎ ﻗﺮﻣﺰ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻳﻚ ﻗﻄﻌﻪ ﻗﺮﻣﺰ رﻧﮓ ﺗﻬﻴﻪ ﻣﻲﻛﻨﻨﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 282‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .4‬اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲﻳﺎﺑﺪ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﻗﻄﻌﻪ ﻗﺮﻣﺰ رﻧﮓ ﺗﻬﻴﻪ ﻣﻲﻛﻨﻨﺪ‪.‬‬


‫‪ -10‬ﻛﺪام ﻋﻤﻠﮕﺮ ﻫﺎ را ﻣﻲﺗﻮان ﺑﻮﺳﻴﻠﻪ ﻋﻤﻠﮕﺮ ﻫﺎي دﻳﮕﺮ در ﺟﺒﺮ راﺑﻄﻪاي ﺷﺒﻴﻪ ﺳﺎزي‬
‫ﻛﺮد؟‬
‫‪ .1‬ﺗﻘﺴﻴﻢ‪ -‬اﺟﺘﻤﺎع‪ -‬ﭘﻴﻮﻧﺪ‬
‫‪ .2‬اﺷﺘﺮاك‪ -‬ﺿﺮب دﻛﺎرﺗﻲ‪ -‬ﺟﺎﻳﮕﺰﻳﻨﻲ‬
‫‪ .3‬اﺷﺘﺮاك‪ -‬ﺗﻘﺴﻴﻢ‪ -‬ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ‬
‫‪ .4‬ﺿﺮب دﻛﺎرﺗﻲ‪ -‬ﺗﻘﺴﻴﻢ‪ -‬اﺟﺘﻤﺎع‬
‫‪ -11‬ﻛﺪام ﻓﺮﻣﻮل در ﺟﺒﺮ راﺑﻄﻪاي ﻧﺎدرﺳﺖ اﺳﺖ ؟ )‪ σ‬ﻧﻤﺎد ﻋﻤﻠﮕﺮ ﮔﺰﻳﻨﺶ ﻳﺎ ‪select‬‬
‫ﻣﻲﺑﺎﺷﺪ(‬
‫‪A×B = B ×A‬‬ ‫‪.1‬‬
‫)‪σ p( A ∩ B ) = σ p (A) ∩ σ p (B‬‬ ‫‪.2‬‬
‫)‪A ∩ B = B -( B-A‬‬ ‫‪.3‬‬
‫)‪σ p( B-A ) = σ p (b) -σ p (a‬‬ ‫‪.4‬‬
‫‪ -12‬اﮔﺮ ‪ A‬و ‪ B‬دو راﺑﻄﻪ ﺑﺎﺷﻨﺪ‪ ،‬ﻛﻠﻴﺪ اﺻﻠﻲ ‪ A MINUS B‬ﭼﻪ ﻣﻲﺷﻮد ؟‬
‫‪ .1‬ﻛﻠﻴﺪ اﺻﻠﻲ ‪A‬‬
‫‪ .2‬ﻛﻠﻴﺪ اﺻﻠﻲ ‪B‬‬
‫‪ .3‬ﻛﻠﻴﺪ اﺻﻠﻲ‪A ∩ B‬‬
‫ﻛﻠﻴﺪ اﺻﻠﻲ ‪A U B‬‬ ‫‪.4‬‬
‫‪ -13‬اﮔﺮ ‪ Divide by‬را ﺑﻪ ﺻﻮرت ﺳﻪ ﻋﻤﻠﻮﻧﺪي در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ‪ ،‬ﻛﺪام ﻓﺮﻣﻮل در ﺟﺒﺮ‬
‫راﺑﻄﻪاي ﺻﺤﻴﺢ اﺳﺖ ؟‬
‫‪( A Divide by B ) TIMES B ≥ A‬‬ ‫‪.1‬‬
‫‪( A Divide by B ) TIMES B ≠ A‬‬ ‫‪.2‬‬
‫‪( A Divide by B ) TIMES B ≤ A‬‬ ‫‪.3‬‬
‫‪( A Divide by B ) TIMES B = A‬‬ ‫‪.4‬‬
‫‪www.PDFgozar.com‬‬

‫‪283‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ -14‬راﺑﻄﻪ داراي ﻣﺠﻤﻮﻋﻪاي از ﺻﻔﺎت )ﻋﻨﻮان( و ﻣﺠﻤﻮﻋﻪاي از ﭼﻨﺪ ﺗﺎﻳﻲ ﻫﺎ )ﭘﻴﻜﺮ(‬


‫اﺳﺖ‪ .‬راﺑﻄﻪ ‪ DEE‬ﻣﺠﻤﻮﻋﻪاي ﺧﺎﻟﻲ از ﭼﻨﺪ ﺗﺎﻳﻲ ﻫﺎﺳﺖ‪ .‬راﺑﻄﻪ ‪ DUM‬ﻧﻴﺰ ﻣﺠﻤﻮﻋﻪاي‬
‫ﺧﺎﻟﻲ از ﺻﻔﺎت ﻣﻲﺑﺎﺷﺪ‪ .‬ﺣﺎل ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﻋﻀﻮ ﺧﻨﺜﻲ در ﺣﺴﺎب ﻣﻌﻤﻮﻟﻲ ﻋﺪد ﻳﻚ اﺳﺖ )‪ .(n * 1 = 1 * n = n‬در ﺟﺒﺮ‬
‫راﺑﻄﻪاي ﻣﻌﺎدل ﻋﺪد ‪ 1‬راﺑﻄﻪ ‪ DEE‬اﺳﺖ و دارﻳﻢ ‪R TIMES DEE=DEE‬‬
‫‪TIMES R=R‬‬
‫‪ .2‬ﻋﻀﻮ ﺻﻔﺮ در ﺣﺴﺎب داراي ﺧﺎﺻﻴﺖ ‪ n*0=0*n=0‬اﺳﺖ در ﺟﺒﺮ راﺑﻄﻪاي‬
‫ﻣﻌﺎدل ﻋﺪد ﺻﻔﺮ راﺑﻄﻪ ‪ DUM‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬ﻫﺮ دو ﮔﺰﻳﻨﻪ‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -15‬ﻛﺪام ﻋﻤﻠﮕﺮ در ﺟﺒﺮ راﺑﻄﻪاي ﭘﺎﻳﻪاي ﻧﻤﻲﺑﺎﺷﺪ و ﺑﻪ ﻛﻤﻚ ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮ ﻫﺎ ﻣﻲﺗﻮان‬
‫آن را ﺷﺒﻴﻪ ﺳﺎزي ﻛﺮد ؟‬
‫‪ .1‬ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ )‪ Join‬ﻳﺎ∞ (‬
‫‪ .2‬ﺿﺮب دﻛﺎرﺗﻲ )× ﻳﺎ ‪(TIMES‬‬
‫‪ .3‬ﺗﻔﺎﺿﻞ )‪ MINUS‬ﻳﺎ ‪(-‬‬
‫‪1 .4‬و‪3‬‬
‫‪ -16‬در ﺟﺪول زﻳﺮ‬
‫‪DEPT‬‬
‫‪D#‬‬ ‫‪D name‬‬ ‫‪Budjet‬‬
‫‪D1‬‬ ‫‪M‬‬ ‫‪10‬‬

‫‪D2‬‬ ‫‪D‬‬ ‫‪20‬‬

‫‪D3‬‬ ‫‪R‬‬ ‫‪5‬‬

‫ﻧﺘﻴﺠﻪ دﺳﺘﻮر زﻳﺮ ﭼﻴﺴﺖ ؟‬


‫‪Project:‬‬
‫‪DEPT over D# , Budjet‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 284‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ 2 .1‬ﺻﻔﺖ ﺧﺎﺻﻪ و ﻫﻴﭻ ﺗﺎﭘﻞ‬


‫‪ .2‬ﻫﻴﭻ ﺗﺎﭘﻞ و ‪ 2‬ﺻﻔﺖ ﺧﺎﺻﻪ‬
‫‪ 2 .3‬ﺻﻔﺖ ﺧﺎﺻﻪ و ‪ 3‬ﺗﺎﭘﻞ‬
‫‪ 2 .4‬ﺗﺎﭘﻞ و ‪ 3‬ﺻﻔﺖ ﺧﺎﺻﻪ‬
‫‪ -17‬ﻛﺪام ﻋﻤﻠﮕﺮ در ﺟﺒﺮ راﺑﻄﻪاي وﺟﻮد دارد‪ ،‬وﻟﻲ ﻣﻤﻜﻦ اﺳﺖ در ﺑﻌﻀﻲ از ﺑﺎﻧﻜﻬﺎي‬
‫اﻃﻼﻋﺎﺗﻲ ﭘﻴﺎده ﺳﺎزي ﻧﺸﺪه ﺑﺎﺷﺪ ؟‬
‫‪Join‬‬ ‫‪.1‬‬
‫‪Subtract‬‬ ‫‪.2‬‬
‫‪Add‬‬ ‫‪.3‬‬
‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬
‫‪ -18‬ﻓﺮض ﻛﻨﻴﺪ ﺟﺪول داﻧﺸﻜﺪه ﺑﻪ ﺻﻮرت زﻳﺮ ﺷﺎﻣﻞ )) ﺷﻤﺎره‪ ،‬ﻧﺎم داﻧﺸﻜﺪه و ﺷﻬﺮ ((‬
‫ﺑﺎﺷﺪ‪:‬‬
‫) ‪Clg ( clg# , clgname , city‬‬
‫و ﺟﺪول درس ﺷﺎﻣﻞ ))ﺷﻤﺎره درس‪ ،‬ﻧﺎم درس‪ ،‬ﺗﻌﺪاد واﺣﺪ و ﺷﻤﺎره داﻧﺸﻜﺪه اراﺋﻪ‬
‫دﻫﻨﺪ (( ﺑﺎﺷﺪ‪:‬‬
‫)‪Crs ( c# , c name , unit , clg#‬‬
‫ﺣﺎل ﺑﻪ ﻛﻤﻚ دﺳﺘﻮرات ﺟﺒﺮ راﺑﻄﻪاي‪ ،‬درﺳﻬﺎﻳﻲ ﻛﻪ ﺗﻮﺳﻂ ﻫﻤﻪ داﻧﺸﻜﺪهﻫﺎ اراﺋﻪ‬
‫ﻣﻲﺷﻮﻧﺪ را ﺑﺪﻫﻴﺪ‪.‬‬
‫‪Clg Join Crs giving temp ; select temp where cname ALL‬‬ ‫‪.1‬‬
‫‪Project clg [ clg#]Giving temp ; Crs Divideby temp‬‬ ‫‪.2‬‬
‫‪Clg join crs giving temp ; select cname‬‬ ‫‪.3‬‬
‫‪Project clg [ clg#] Giving temp ; clg join crs join temp divideby‬‬ ‫‪.4‬‬
‫‪cname‬‬
‫‪ -19‬ﺣﺎﺻﻞ ﻋﺒﺎرت زﻳﺮ ﻛﺪام اﺳﺖ ؟‬
‫)‪R1(A , B , C‬‬ ‫‪DIV‬‬ ‫)‪R2 (C‬‬
‫‪a1‬‬ ‫‪b1‬‬ ‫‪c1‬‬ ‫‪C1‬‬
‫‪a1‬‬ ‫‪b1‬‬ ‫‪c3‬‬ ‫‪C3‬‬
‫‪a2‬‬ ‫‪b2‬‬ ‫‪c2‬‬
‫‪a3‬‬ ‫‪b1‬‬ ‫‪c1‬‬
‫‪a3‬‬ ‫‪b1‬‬ ‫‪c3‬‬
www.PDFgozar.com

285 ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

.1
R3(A , B)

a1 b1

a3 b1

.2
R3(A , B)

a2 b2

.3
R3(A , B , C)
a1 b1 c1
a3 b1 c1
a1 b1 c3
a3 b1 c3
‫ ﻫﻴﭽﻜﺪام‬.4
‫ ﺣﺎﺻﻞ ﻋﺒﺎرت زﻳﺮ ﻛﺪام ﮔﺰﻳﻨﻪ اﺳﺖ ؟‬-20
R1(A , B , C) DIV R2 ( B , C)
a1 b1 c1 b1 c1
a1 b2 c2 b2 c2
a1 b2 c3 b3 c3
a2 b1 c1
a2 b2 c2

.1
R3(A , B , C)
a2 b1 c1
a2 b2 c2
.2
R3 ( A)
a2
.3
R3(A)
a1
.4
‫‪www.PDFgozar.com‬‬

‫‪ 286‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫)‪R3(A , B‬‬
‫‪b1‬‬ ‫‪c1‬‬
‫‪b2‬‬ ‫‪c2‬‬

‫‪ -21‬ﺷﻤﺎره ﻗﻄﻌﺎﺗﻲ را ﺑﺪﻫﻴﺪ ﻛﻪ ﺗﻮﺳﻂ ﻫﻤﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن ﺗﻬﻴﻪ ﺷﺪهاﻧﺪ‪.‬‬


‫‪Temp ←Π s#‬‬ ‫‪.1‬‬
‫‪sp ÷ Temp‬‬

‫)‪Temp ←Π s#(S‬‬ ‫‪.2‬‬


‫)‪Π p# ( sp ÷ Temp‬‬

‫‪.3‬‬
‫)‪Π p# ( sp ∞ S‬‬

‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬
‫‪ -22‬اﮔﺮ ‪ DIVIDEBY‬ﻫﻤﺎن ﻋﻤﻠﮕﺮ ﻣﻌﺮﻓﻲ ﺷﺪه ﺗﻮﺳﻂ ‪) Codd‬ﻳﻌﻨﻲ دو ﻋﻤﻠﻮﻧﺪي(‬
‫ﺑﺎﺷﺪ ﻛﺪام راﺑﻄﻪ ﺻﺤﻴﺢ اﺳﺖ ؟‬
‫‪( A TIMES B ) DIVIDEBY B=A .١‬‬
‫‪( A DIVIDEBY B ) TIMES B≤A .٢‬‬
‫‪( A TIMES B ) DIVIDEBY B≠A .٣‬‬
‫‪1 .4‬و‪2‬‬
‫‪ -23‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺑﺴﻂ ﺟﺪاول داده ﺷﺪه دراﻳﻦ ﻓﺼﻞ‪ ،‬ﺧﺮوﺟﻲ دﺳﺘﻮر ‪S ∞ SP ∞ P‬‬
‫ﭼﻪ ﻣﻲﺷﻮد؟‬

‫‪S1‬‬ ‫ﻓﻦ آوران‬ ‫ﺗﻬﺮان‬ ‫‪P1‬‬ ‫‪300‬‬ ‫ﻗﺮﻣﺰ‬ ‫‪ .1‬آﻫﻦ‬


‫‪S2‬‬ ‫‪ P2‬ﺗﺒﺮﻳﺰ اﻳﺮان ﻗﻄﻌﻪ‬ ‫‪400‬‬ ‫ﺳﺒﺰ‬ ‫ﻣﺲ‬

‫‪S1‬‬ ‫ﻓﻦ آوران‬ ‫ﺗﻬﺮان‬ ‫‪P1‬‬ ‫‪300‬‬ ‫ﻗﺮﻣﺰ‬ ‫‪ .2‬آﻫﻦ‬


‫‪S2‬‬ ‫ﺗﺒﺮﻳﺰ اﻳﺮان ﻗﻄﻌﻪ‬ ‫‪P1‬‬ ‫‪300‬‬ ‫ﻗﺮﻣﺰ‬ ‫آﻫﻦ‬
‫‪S1‬‬ ‫ﻓﻦ آوران‬ ‫ﺗﻬﺮان‬ ‫‪P1‬‬ ‫‪300‬‬ ‫ﻗﺮﻣﺰ‬ ‫آﻫﻦ‬
‫‪www.PDFgozar.com‬‬

‫‪287‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪S3‬‬ ‫ﭘﻮﻻدﻳﻦ‬ ‫‪ P2‬ﺗﺒﺮﻳﺰ‬ ‫‪200‬‬ ‫ﺳﺒﺰ‬ ‫‪ .3‬ﻣﺲ‬


‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -24‬اﮔﺮ راﺑﻄﻪ ‪ A‬از درﺟﻪ ‪ n‬ﺑﺎﺷﺪ‪ ،‬ﭼﻨﺪ ﺗﺼﻮﻳﺮ ﻣﺨﺘﻠﻒ از ‪ A‬وﺟﻮد دارد ؟‬
‫! )‪(n-1‬‬ ‫‪.1‬‬
‫!‪n‬‬ ‫‪.2‬‬
‫‪2ⁿ‬‬ ‫‪.3‬‬
‫‪2n‬‬ ‫‪.4‬‬
‫‪ -25‬ﺧﺎﺻﻴﺖ ﺑﺴﺘﻪ ﺑﻮدن )‪ ( closure‬ﺑﻪ ﭼﻪ ﻣﻌﻨﺎﺳﺖ ؟‬
‫‪ .1‬ﺧﺮوﺟﻲ ﻫﺮ ﻋﻤﻠﮕﺮ راﺑﻄﻪاي‪ ،‬ﻳﻚ راﺑﻄﻪ اﺳﺖ‪.‬‬
‫‪ .2‬اﻟﺤﺎق دو راﺑﻄﻪ راﺑﻄﻪاي ﺟﺎﻣﻌﺘﺮ از ﻫﺮ دو ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬ﺿﺮب دﻛﺎرﺗﻲ دو راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ ﻣﺎدر ﻫﺮ دو ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ .4‬اﺟﺘﻤﺎع دو راﺑﻄﻪ در ﻫﺮ ﺣﺎل اﻣﻜﺎن ﭘﺬﻳﺮ اﺳﺖ‪.‬‬
‫‪ -26‬ﻛﺪام ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي ﺑﻪ ﻋﻤﻠﻮﻧﺪﻫﺎي ﺳﺎزﮔﺎر ﻧﻴﺎز دارﻧﺪ ؟‬
‫‪U‬‬ ‫‪.1‬‬
‫‪−‬‬ ‫‪.2‬‬
‫∞‬ ‫‪.3‬‬
‫‪1 .4‬و‪2‬‬
‫‪ -27‬ﺟﺒﺮ راﺑﻄﻪاي‪....‬‬
‫‪ .1‬ﻳﻚ زﺑﺎن اﺟﺮاﻳﻲ ﺑﺮاي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ راﺑﻄﻪاي اﺳﺖ‪.‬‬
‫‪ .2‬ﻫﻤﺎن ‪ SQL‬اﺳﺖ‪.‬‬
‫‪ .3‬زﺑﺎﻧﻲ از ﻧﺴﻞ ﭼﻬﺎرم )‪ ( 4GL‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ .4‬ﺑﻪ ‪ DBMS‬ﻣﻲﮔﻮﻳﺪ ﭼﮕﻮﻧﻪ ﻳﻚ راﺑﻄﻪ ﺟﺪﻳﺪ از ﻳﻚ ﻳﺎ ﭼﻨﺪ راﺑﻄﻪ ﺳﺎﺧﺘﻪ ﺷﻮد‪.‬‬
‫‪ -28‬زﺑﺎﻧﻲ داراي اﻛﻤﺎل راﺑﻄﻪاي اﺳﺖ ﻛﻪ‪....‬‬
‫‪ .1‬ﺣﺪاﻗﻞ ﻫﻤﺘﻮان ﺑﺎ ﺟﺒﺮ راﺑﻄﻪاي ﺑﺎﺷﺪ‪.‬‬
‫‪ .2‬ﺣﺪاﻛﺜﺮ ﻫﻤﺘﻮان ﺑﺎ ﺟﺒﺮ راﺑﻄﻪاي ﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬ﻫﺮ راﺑﻄﻪاي ﻛﻪ ﺑﺎ ﻋﺒﺎرات ﺟﺒﺮ راﺑﻄﻪاي ﻗﺎﺑﻞ ﺗﻌﺮﻳﻒ اﺳﺖ‪ ،‬ﺗﻮﺳﻂ آم زﺑﺎن ﻧﻴﺰ‬
‫ﺗﻌﺮﻳﻒ ﺷﺪﻧﻲ ﺑﺎﺷﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 288‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪1 .4‬و‪3‬‬
‫‪ -29‬ﻛﺪام ﻓﺮﻣﻮل ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫)‪A∩ B = A− ( A− B‬‬ ‫‪.1‬‬
‫‪A ∞ B ≠ B∞ A‬‬ ‫‪.2‬‬
‫‪A∞ B = σ ( A∩ b)× A‬‬ ‫‪.3‬‬
‫‪A ∞B = B∞ A .4‬‬
‫‪ X U Y -30‬دو ﺟﺪول زﻳﺮ ﭼﻨﺪ ﺳﻄﺮ و ﭼﻨﺪ ﺳﺘﻮن دارد ؟‬
‫‪Y‬‬
‫ﻧﺎم‬ ‫ﺷﻤﺎره‬ ‫ﻣﻌﺪل‬ ‫ﺷﻬﺮ ﺗﻮﻟﺪ‬
‫ﻋﻠﻲ‬ ‫‪123‬‬ ‫‪17‬‬ ‫ﺗﻬﺮان‬
‫ﺟﻮاد‬ ‫‪574‬‬ ‫‪15‬‬ ‫ﺗﺒﺮﻳﺰ‬
‫‪X‬‬
‫ﻧﺎم‬ ‫ﺷﻤﺎره‬ ‫ﻣﻌﺪل‬ ‫ﺷﻬﺮ ﺗﻮﻟﺪ‬
‫ﻋﻠﻲ‬ ‫‪123‬‬ ‫‪17‬‬ ‫ﺗﻬﺮان‬
‫ﻣﺠﻴﺪ‬ ‫‪934‬‬ ‫‪17‬‬ ‫ﺗﻬﺮان‬

‫‪ 4 .1‬ﺳﺘﻮن و ‪ 3‬ﺳﻄﺮ‬
‫‪ 3 .2‬ﺳﺘﻮن و ‪ 4‬ﺳﻄﺮ‬
‫‪ 4 .3‬ﺳﺘﻮن و ‪ 4‬ﺳﻄﺮ‬
‫‪ 3 .4‬ﺳﺘﻮن و ‪ 3‬ﺳﻄﺮ‬
‫‪ -31‬ﻛﺪاﻣﻴﻚ از دﺳﺘﻮرات زﻳﺮ ﻛﺎراﺗﺮ اﺳﺖ ؟‬
‫] ‪ ) ( SP ∞ S ) where p# = ' p4') [ sname‬اﻟﻒ‬
‫] ‪ ) (( SP where p# = ' p4') ∞ S ) [ sname‬ب‬
‫‪ .1‬اﻟﻒ‬
‫‪ .2‬ب‬
‫‪ .3‬ﻛﺎراﻳﻲ ﻫﺮ دو ﻳﻜﺴﺎن اﺳﺖ‪.‬‬
‫‪ .4‬اﺗﻔﺎﻗﻲ اﺳﺖ و ﻧﻤﻲﺗﻮان ﮔﻔﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪289‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ -32‬اﮔﺮ ‪ A‬راﺑﻄﻪاي ﺑﺎ ﺻﻔﺎت ‪ B , Y , X‬راﺑﻄﻪاي دﻳﮕﺮ ﺑﺎ ﺻﻔﺖ ﺧﺎﺻﻪ ‪ X‬ﺑﺎﺷﺪ‪ ،‬ﻛﺪام‬


‫ﮔﺰﻳﻨﻪ ﻣﻌﺎدل ﻋﺒﺎرت ‪ A÷ B‬ﻣﻲﺑﺎﺷﺪ ؟‬
‫) ] ‪A [ Y ]− ( A− [ X‬‬ ‫‪.1‬‬
‫] ‪A [ Y ]−(( A [ Y ]× B)− A ) [ Y‬‬ ‫‪.2‬‬
‫] ‪A [ X ]−(( A [ X ]× B)− A ) [ X‬‬ ‫‪.3‬‬
‫) ] ‪A [ X ]− ( A− B [ X‬‬ ‫‪.4‬‬
‫‪ -33‬ﺑﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت‪ ،‬ﻛﺪام دﺳﺘﻮر ﻣﺸﺨﺼﺎت‬
‫ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم ﻗﻄﻌﺎت را ﻋﺮﺿﻪ ﻛﺮدهاﻧﺪ ؟‬
‫‪SP ( S# , P# ) divided by P (P#) Join S‬‬ ‫‪.1‬‬
‫‪(SP Join S) Minus P‬‬ ‫‪.2‬‬
‫‪SP ( S# , P# ) divided by P (P#) Union S‬‬ ‫‪.3‬‬
‫‪(SP Join P) Minus S‬‬ ‫‪.4‬‬
‫‪ -34‬ﺑﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت‪ ،‬ﻛﺪام دﺳﺘﻮر ﻣﺸﺨﺼﺎت‬
‫ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﻪ ‪ P3‬را ﺗﻬﻴﻪ ﻧﻤﻲﻛﻨﻨﺪ ؟‬
‫]])‪[Π S# ( S ∞ SP)U [ σp#< >'p3'(SP‬‬ ‫‪.1‬‬
‫‪[Π S#( S) − σp#< >'p3'(SP ) ] ∞ S‬‬ ‫‪.2‬‬
‫‪[Π S#( S) − ( Π S#( σp#= 'p3'(SP ))) ] ∞ S‬‬ ‫‪.3‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -35‬دو راﺑﻄﻪ ‪ x‬و ‪ y‬زﻳﺮ را در ﻧﻈﺮ ﮔﺮﻓﺘﻪ و ﺑﮕﻮﺋﻴﺪ ‪ x times y‬ﭼﻨﺪ ﺳﻄﺮ ﺧﻮاﻫﺪ‬
‫داﺷﺖ ؟‬
‫‪x‬‬ ‫‪y‬‬
‫‪a‬‬ ‫‪e‬‬
‫‪b‬‬ ‫‪a‬‬
‫‪c‬‬ ‫‪f‬‬
‫‪d‬‬ ‫‪g‬‬
‫‪m‬‬

‫‪20 .1‬ﺳﻄﺮ‬
‫‪ 15 .2‬ﺳﻄﺮ‬
‫‪ 9 .3‬ﺳﻄﺮ‬
‫‪www.PDFgozar.com‬‬

‫‪ 290‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ 25 .4‬ﺳﻄﺮ‬
‫‪ -36‬ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ دو ﺟﺪول زﻳﺮ ﭼﻨﺪ ﺳﻄﺮ و ﺳﺘﻮن ﺧﻮاﻫﺪ داﺷﺖ ؟‬
‫‪M‬‬ ‫‪N‬‬ ‫‪P‬‬ ‫‪M‬‬ ‫‪Q‬‬

‫‪a‬‬ ‫‪m‬‬ ‫‪P1‬‬ ‫‪a‬‬ ‫‪x‬‬


‫‪b‬‬ ‫‪n‬‬ ‫‪P2‬‬ ‫‪b‬‬ ‫‪y‬‬
‫‪c‬‬ ‫‪k‬‬ ‫‪P3‬‬ ‫‪c‬‬ ‫‪z‬‬
‫‪P4‬‬ ‫‪d‬‬ ‫‪u‬‬
‫‪4 , 4 .1‬‬
‫‪5 , 4 .2‬‬
‫‪3 , 3 .3‬‬
‫‪4 , 3 .4‬‬
‫‪ -37‬ﻛﺪاﻣﻴﻚ از ﻋﻤﻠﮕﺮﻫﺎي زﻳﺮ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﺮ روي ﺟﺪاول ﻛﺎر ﻣﻲﻛﻨﻨﺪ‬
‫؟)ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ‪ -‬آزاد ‪(80‬‬
‫‪Join‬‬ ‫‪.1‬‬
‫‪Add‬‬ ‫‪.2‬‬
‫‪Subtract‬‬ ‫‪.3‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -38‬ﺟﺪول ﺳﻤﺖ ﭼﭙﻲ ﺑﺎ ﭼﻪ دﺳﺘﻮري ﺗﺒﺪﻳﻞ ﺑﻪ ﺟﺪول ﺳﻤﺖ راﺳﺘﻲ ﻣﻲﺷﻮد ؟‬
‫‪P‬‬
‫‪P#‬‬ ‫‪Weight‬‬ ‫‪P#‬‬ ‫‪Weight‬‬ ‫‪GRM‬‬
‫‪P1‬‬ ‫‪15‬‬ ‫‪P1‬‬ ‫‪15‬‬ ‫‪15000‬‬
‫‪P2‬‬ ‫‪13‬‬ ‫‪P2‬‬ ‫‪13‬‬ ‫‪13000‬‬
‫‪P3‬‬ ‫‪18‬‬ ‫‪P3‬‬ ‫‪18‬‬ ‫‪18000‬‬
‫‪extend P Add ( weight * 1000) AS GRM‬‬ ‫‪.1‬‬
‫‪Add P ( weight * 1000) AS GRM‬‬ ‫‪.2‬‬
‫‪P Union weight * 1000 AS GRM‬‬ ‫‪.3‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -39‬در ﺷﻜﻞ زﻳﺮ ‪ DEND‬ﻣﻘﺴﻮم‪ MED ،‬ﻣﻴﺎﻧﺠﻲ و ‪ DOR‬ﻣﻘﺴﻮم ﻋﻠﻴﻪ اﺳﺖ‪ .‬ﺣﺎﺻﻞ‬
‫دﺳﺘﻮر ‪ DEND DIVIDEBY DOR PER MED‬ﻛﺪام ﮔﺰﻳﻨﻪ اﺳﺖ ؟‬
‫‪DEND:‬‬ ‫‪MED:‬‬ ‫‪DOR:‬‬
www.PDFgozar.com

291 ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

S# S# P# P#
S1 S1 P1 P2
S2 S1 P2 P4
S3 S1 P3
S4 S1 P4
S5 S1 P5
S1 P6
S2 P1
S2 P2
S3 P2
S4 P2
S4 P4
S4 P5
.1
S# P#
S1 P1
S2 P3

.2
P#
P1
P3
.3
S#
S1
S2
.4
S#
S1
S4

P#
‫ﺟﺪول ﺑﺎﺷﺪ ﺧﺮوﺟﻲ ﭼﻪ ﻣﻲﺷﻮد ؟‬ DOR ‫ در ﺗﺴﺖ ﻗﺒﻠﻲ اﮔﺮ‬-40
P1
‫‪www.PDFgozar.com‬‬

‫‪ 292‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪.1‬‬
‫‪S#‬‬
‫‪S1‬‬
‫‪S4‬‬
‫‪.2‬‬
‫‪S#‬‬
‫‪S1‬‬
‫‪S2‬‬
‫‪.3‬‬
‫‪P#‬‬
‫‪P1‬‬
‫‪P3‬‬
‫‪.4‬‬
‫‪S#‬‬
‫‪S1‬‬
‫‪S2‬‬
‫‪S3‬‬
‫‪S4‬‬
‫‪ -41‬در ﺟﺒﺮ راﺑﻄﻪاي )‪ A−(A− B‬ﻣﻌﺎدل ﻛﺪام اﺳﺖ ؟‬
‫)‪A−(B− A‬‬ ‫‪.1‬‬
‫‪A∩B‬‬ ‫‪.2‬‬
‫)‪B−(B− A‬‬ ‫‪.3‬‬
‫‪3,2 .4‬‬

‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪6‬‬


‫‪ (4) -1‬ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲاﻳﻦ دو ﺟﺪول ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻲﺷﻮد‪:‬‬
‫‪S#‬‬ ‫‪P#‬‬ ‫ﺗﻌﺪاد‬ ‫‪Sname‬‬ ‫‪city‬‬
‫‪S1‬‬ ‫‪P1‬‬ ‫‪300‬‬ ‫ﻓﻦ آوران‬ ‫ﺗﻬﺮان‬
‫‪S1‬‬ ‫‪P2‬‬ ‫‪200‬‬ ‫ﻓﻦ آوران‬ ‫ﺗﻬﺮان‬
‫‪S1‬‬ ‫‪P3‬‬ ‫‪400‬‬ ‫ﻓﻦ آوران‬ ‫ﺗﻬﺮان‬
‫‪S2‬‬ ‫‪P1‬‬ ‫‪300‬‬ ‫اﻳﺮان ﻗﻄﻌﻪ‬ ‫ﺗﺒﺮﻳﺰ‬
‫‪S2‬‬ ‫‪P2‬‬ ‫‪400‬‬ ‫اﻳﺮان ﻗﻄﻌﻪ‬ ‫ﺗﺒﺮﻳﺰ‬
‫‪S3‬‬ ‫‪P2‬‬ ‫‪200‬‬ ‫ﭘﻮﻻدﻳﻦ‬ ‫ﺗﺒﺮﻳﺰ‬
‫‪www.PDFgozar.com‬‬

‫‪293‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ (3) -2‬ﻣﻨﻈﻮر از ‪ INTERSECT‬ﻫﻤﺎن اﺷﺘﺮاك ∩ و ﻣﻨﻈﻮر از ‪ TIMES‬ﻫﻤﺎن ﺿﺮب‬


‫دﻛﺎرﺗﻲ × ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ (2) -3‬ﻧﺘﻴﺠﻪ اﻟﺤﺎق دو ﺟﺪول داده ﺷﺪه ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ‪:‬‬

‫‪DEPT#‬‬ ‫‪DNAME‬‬ ‫‪BUDGET‬‬ ‫‪EMP#‬‬ ‫‪ENAME‬‬ ‫‪SALARY‬‬


‫‪D1‬‬ ‫‪Marketing‬‬ ‫‪10M‬‬ ‫‪E1‬‬ ‫‪Lopez‬‬ ‫‪40K‬‬
‫‪D1‬‬ ‫‪Marketing‬‬ ‫‪10M‬‬ ‫‪E2‬‬ ‫‪Cheng‬‬ ‫‪42K‬‬
‫‪D2‬‬ ‫‪Development‬‬ ‫‪12M‬‬ ‫‪E3‬‬ ‫‪Finzi‬‬ ‫‪30K‬‬
‫‪D2‬‬ ‫‪Development‬‬ ‫‪12M‬‬ ‫‪E4‬‬ ‫‪Saito‬‬ ‫‪35K‬‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺟﺪول ﻓﻮق روﺷﻦ اﺳﺖ ﻛﻪ ﺳﺘﻮن ‪ EMP#‬ﻛﻠﻴﺪ اﺻﻠﻲ اﺳﺖ و ﭼﻮن دادهﻫﺎي‬
‫‪ DEPT#‬ﺗﻜﺮار ﺷﺪه ﻧﻤﻲﺗﻮان ﻛﻠﻴﺪ ﺑﺎﺷﺪ‪.‬‬
‫‪ (3) -4‬در ﺗﻌﺮﻳﻒ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻳﻜﺘﺎﺋﻲ ﺟﺰو ﺷﺮوط آن ﻧﻴﺴﺖ‪ .‬ﻓﻘﻂ ﺑﺎﻳﺪ آن ﺳﺘﻮن در‬
‫ﺟﺪول دﻳﮕﺮي ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﺎﺷﺪ‪.‬‬
‫‪ (2) -5‬ﻧﻤﺎد ﺑﻪ ﻛﺎر رﻓﺘﻪ ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن ‪ Tutorial D‬اﺳﺖ ﻛﻪ در ﻛﺘﺎب دﻳﺖ اﺳﺘﻔﺎده‬
‫ﺷﺪه اﺳﺖ‪ .‬ﺳﺘﻮﻧﻬﺎي ﺧﺮوﺟﻲ در ﻋﻼﻣﺖ آﻛﻮﻻد ﻧﻮﺷﺘﻪ ﻣﻲﺷﻮﻧﺪ‪.‬‬
‫‪ (1) -6‬ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﮔﺰﻳﻨﻪ ‪ 3‬ﻧﺎدرﺳﺖ اﺳﺖ زﻳﺮا ﻫﻨﮕﺎﻣﻲﻛﻪ ﻋﻤﻠﮕﺮ ‪ Π‬ﺳﺘﻮﻧﻬﺎي ‪ S#‬و‬
‫‪ p#‬را اﺳﺘﺨﺮاج ﻣﻲﻛﻨﺪ دﻳﮕﺮ ﺳﺘﻮن ‪ Qty‬وﺟﻮد ﻧﺪارد ﻛﻪ ﻋﻤﻠﮕﺮ‪ σ Qty >200‬ﻗﺎﺑﻞ اﺟﺮا‬
‫ﺑﺎﺷﺪ‪.‬‬
‫‪ (3) -7‬در دﺳﺘﻮر اﻟﻒ اﺑﺘﺪا دو ﺟﺪول ‪ s‬و ‪ sp‬ﭘﻴﻮﻧﺪ ﺧﻮرده ﺳﭙﺲ ﺳﻄﺮﻫﺎﻳﻲ از آن‬
‫اﻧﺘﺨﺎب ﻣﻲﺷﻮد‪.‬در دﺳﺘﻮر ب اﺑﺘﺪا ﺳﻄﺮﻫﺎﻳﻲ از ﺟﺪول ‪ sp‬اﻧﺘﺨﺎب ﺷﺪه ﺳﭙﺲ آن ﺳﻄﺮﻫﺎ‬
‫ﺑﺎ ﺟﺪول ‪ s‬ﭘﻴﻮﻧﺪ ﻣﻲﺧﻮرد ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﭘﻴﻮﻧﺪ دو ﺟﺪول ﻛﻮﭼﻜﺘﺮ زﻣﺎن و ﻓﻀﺎي‬
‫ﻛﻤﺘﺮي ﻣﻲﺧﻮاﻫﺪ‪.‬‬
‫‪ (2) -8‬ﺑﺮاي اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن ﻗﻄﻌﻪ ‪ p2‬از ﺟﺪاول ‪ s‬و ‪ sp‬ﺑﺎﻳﺪ اﺳﺘﻔﺎده ﻛﻨﻴﻢ‪ .‬ﻟﺬااﻳﻦ دو‬
‫ﺟﺪول ﺑﺎﻳﺪ ﺑﻪ ﻫﻤﺪﻳﮕﺮ ﭘﻴﻮﻧﺪ ﺑﺨﻮرﻧﺪ‪.‬‬
‫‪ (4) -9‬از داﺧﻠﻲ ﺗﺮﻳﻦ ﭘﺮاﻧﺘﺰ دﺳﺘﻮرات را اﺟﺮاء ﻛﻨﻴﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 294‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫)‪A← Π p# ( σ color =' red' ( p‬‬ ‫ﺷﻤﺎره ﻗﻄﻌﺎت ﻗﺮﻣﺰ رﻧﮓ را ﻣﻲدﻫﺪ‪:‬‬
‫ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن را ﻣﻲدﻫﺪ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﻗﻄﻌﻪ ﻗﺮﻣﺰ رﻧﮓ ﺗﻮﻟﻴﺪ ﻛﺮدهاﻧﺪ‪:‬‬
‫)‪A← Π S# ( A∞ SP‬‬
‫ﻧﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﻗﻄﻌﻪ ﻗﺮﻣﺰ رﻧﮓ را ﺗﻮﻟﻴﺪ ﻛﺮدهاﻧﺪ‪:‬‬
‫) ‪Π Sname ( B ∞ S‬‬
‫‪(3) -10‬‬
‫‪(4) -11‬‬
‫)‪σ p ( a-b) = σ p ( a ) − σ p ( b‬‬
‫ﺿﺮب دﻛﺎرﺗﻲ در رﻳﺎﺿﻴﺎت ﺗﻮاﺑﻊ‪ ،‬ﺧﺎﺻﻴﺖ ﺟﺎﺑﻪ ﺟﺎﺋﻲ ﻧﺪارد وﻟﻲ در ﻣﻮرد ﺟﺪاول از‬
‫آﻧﺠﺎ ﻛﻪ ﺟﺎﺑﻪ ﺟﺎﻳﻲ ﺳﺘﻮﻧﻬﺎ )ﻓﻴﻠﺪﻫﺎ( ﻣﺠﺎز اﺳﺖ ﻟﺬا ﺿﺮب دﻛﺎرﺗﻲ دو ﺟﺪول ﺧﺎﺻﻴﺖ‬
‫ﺟﺎﺑﻪ ﺟﺎﻳﻲ دارد‪.‬‬
‫‪ A-B (1) -12‬ﻳﻌﻨﻲ ﺳﻄﺮﻫﺎﻳﻲ ﻛﻪ در ‪ A‬ﻫﺴﺖ وﻟﻲ در ‪ B‬ﻧﻴﺴﺖ‪.‬ﭘﺲ ‪ A-B‬زﻳﺮ‬
‫ﻣﺠﻤﻮﻋﻪاي از ‪ A‬ﻣﻲﺷﻮد و ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ﺟﺪول ‪ ،A‬ﻛﻠﻴﺪ اﺻﻠﻲ زﻳﺮ‬
‫ﻣﺠﻤﻮﻋﻪ آن ﻧﻴﺰ ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫‪(3) -13‬‬
‫‪ DUM (1) -14‬ﻣﺜﻞ ﺻﻔﺮ ﻧﻴﺴﺖ‪.‬‬
‫‪A TIMES DUM = DUM TIMES R = an empty relation with the same‬‬
‫‪heading as R‬‬
‫ﭘﺲ ﮔﺰﻳﻨﻪ ‪ 2‬اﺷﺘﺒﺎه اﺳﺖ‪.‬‬
‫‪(1) -15‬‬
‫‪ (3) -16‬ﺧﺮوﺟﻲ ﺑﻪ ﺷﻜﻞ زﻳﺮ اﺳﺖ‪:‬‬

‫‪D#‬‬ ‫‪Budjet‬‬
‫‪D1‬‬ ‫‪10‬‬
‫‪D2‬‬ ‫‪20‬‬
‫‪D3‬‬ ‫‪5‬‬
‫‪(2) -17‬‬
‫‪www.PDFgozar.com‬‬

‫‪295‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ (2) -18‬ﻋﻤﻮﻣﺎ وﻗﺘﻲ در ﺳﻮال‪ ،‬ﻛﻠﻤﺎت ))ﻫﻤﻪ (( ﻳﺎ ))ﺗﻤﺎم (( دﻳﺪه ﻣﻲﺷﻮد ﺑﺎﻳﺪ از‬
‫ﻋﻤﻠﮕﺮ ﺗﻘﺴﻴﻢ اﺳﺘﻔﺎده ﻛﺮد‪.‬‬
‫دﺳﺘﻮر ‪ project clg [ clg# ] Giving temp‬اﺑﺘﺪا ﺷﻤﺎره ﻫﻤﻪ داﻧﺸﻜﺪهﻫﺎ را ﻣﻲدﻫﺪ‪.‬‬
‫ﺳﭙﺲ ‪ Crs divideby temp‬ﺟﺪول ‪ Crs‬را ﺑﺮ ﺷﻤﺎره داﻧﺸﻜﺪهﻫﺎ ﺗﻘﺴﻴﻢ ﻛﺮده و ﺑﺪﻳﻦ‬
‫ﺗﺮﺗﻴﺐ درﺳﻬﺎﻳﻲ ﻛﻪ ﺗﻮﺳﻂ ﻫﻤﻪ داﻧﺸﻜﺪهﻫﺎ اراﺋﻪ ﻣﻲﺷﻮﻧﺪ را ﻣﻲدﻫﺪ‪.‬‬
‫‪(1) -19‬‬
‫‪(3) -20‬‬
‫‪(2) -21‬‬
‫‪ (4) -22‬در ﺣﺴﺎب ﻣﻌﻤﻮﻟﻲ ﺿﺮب و ﺗﻘﺴﻴﻢ ﻋﻜﺲ ﻳﻜﺪﻳﮕﺮﻧﺪ وﻟﻲ در ﺟﺒﺮ راﺑﻄﻪاي‬
‫‪ TIMES‬و ‪ DIVIDEBY‬ﻋﻜﺲ ﻳﻜﺪﻳﮕﺮ ﻧﻴﺴﺘﻨﺪ ﭼﺮا ﻛﻪ اوﻻ ﺗﻘﺴﻴﻢ ﺟﺪﻳﺪ ﺳﻪ ﻋﻤﻠﻮﻧﺪي‬
‫اﺳﺖ‪ ،‬ﺛﺎﻧﻴﺎ ﺗﻘﺴﻴﻢ ‪ A‬ﺑﺮ ‪ B‬و ﺳﭙﺲ ﺗﺸﻜﻴﻞ ﺿﺮب دﻛﺎرﺗﻲ از ﻧﺘﻴﺠﻪ ﺣﺎﺻﻞ و راﺑﻄﻪ ‪B‬‬
‫ﻣﻨﺠﺮ ﺑﻪ راﺑﻄﻪاي ﻣﻲﺷﻮد ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﻫﻤﺎﻧﻨﺪ‪ A‬ﺑﺎﺷﺪ‪ ،‬اﻣﺎ اﺣﺘﻤﺎﻻ زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از‬
‫‪ A‬اﺳﺖ )ﻓﺮﻣﻮل ﮔﺰﻳﻨﻪ ‪ .(2‬ﺑﻨﺎﺑﺮﻳﻦ ﻋﻤﻠﮕﺮ ‪ DIVIDEBY‬در ﮔﺰﻳﻨﻪ ‪ 2‬ﺧﻴﻠﻲ ﺷﺒﻴﻪ ﺗﻘﺴﻴﻢ‬
‫ﺻﺤﻴﺢ در ﺣﺴﺎب ﻣﻌﻤﻮﻟﻲ اﺳﺖ )ﻳﻌﻨﻲ از ﺑﺎﻗﻲ ﻣﺎﻧﺪه ﺻﺮﻓﻨﻈﺮ ﻣﻲﻛﻨﺪ (‬
‫‪ (1) -23‬ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﻫﻨﮕﺎم ﭘﻴﻮﻧﺪ ‪ S ∞ SP‬ﺑﺎ ‪ P‬ﺑﺎﻳﺪ دو ﺳﺘﻮن ‪ city‬و ‪ p#‬ﻫﺮ دو‬
‫ﻳﻜﺴﺎن ﺑﺎﺷﻨﺪ‪.‬‬
‫‪(3) -24‬اﻳﻦ ﺗﻌﺪاد ‪ 2ⁿ‬ﻣﺸﺎﺑﻪ ﺗﻌﺪاد زﻳﺮ ﻣﺠﻤﻮﻋﻪﻫﺎي ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺑﺎ ‪ n‬ﻋﻀﻮ اﺳﺖ و‬
‫ﺷﺎﻣﻞ ﺗﺼﻮﻳﺮ ﻫﻤﺎﻧﻲ )ﻛﻪ ﻧﺘﻴﺠﻪ آن ﻫﻤﺎﻧﻨﺪ راﺑﻄﻪ اﺻﻠﻲ ‪ A‬اﺳﺖ ( و ﺗﺼﻮﻳﺮ ﺗﻬﻲ ﻧﻴﺰ‬
‫ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪(1) -25‬‬
‫‪ (4) -26‬در اﺟﺘﻤﺎع‪ ،‬اﺷﺘﺮاك و ﺗﻔﺎﺿﻞ راﺑﻄﻪﻫﺎ ﺑﺎﻳﺪ ﺳﺎزﮔﺎر ﺑﺎﺷﻨﺪ‪ ،‬ﻳﻌﻨﻲ از ﻧﻈﺮ ﺗﻌﺪاد‬
‫ﺻﻔﺎت ﺧﺎﺻﻪ و داﻣﻨﻪ ﺑﺎﻳﺴﺘﻲ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺳﺎزﮔﺎر ﺑﺎﺷﻨﺪ‪ .‬اﺟﺘﻤﺎع‪ ،‬اﺷﺘﺮاك و ﺗﻔﺎﺿﻞ دو‬
‫راﺑﻄﻪ ‪ A‬و ‪ B‬ﺳﺎزﮔﺎر اﺳﺖ ﺑﺎ ﻋﻨﻮان ‪ A‬و ‪ B‬و ﺑﺪﻧﻪاي ﺷﺎﻣﻞ ﻣﺠﻤﻮﻋﻪ ﺗﺎﭘﻠﻬﺎي ‪ A‬و ‪.B‬‬
‫‪(4) -27‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 296‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪(4) -28‬‬
‫‪(3) -29‬‬
‫‪(1) -30‬‬
‫‪ X ∩ Y‬ﻳﻚ ﺳﻄﺮ و ‪ 4‬ﺳﺘﻮن ﺧﻮاﻫﺪ داﺷﺖ‪.‬‬
‫‪ X-Y‬ﻧﻴﺰ ﻳﻚ ﺳﻄﺮ و ‪ 4‬ﺳﺘﻮن ﺧﻮاﻫﺪ داﺷﺖ‪.‬‬
‫‪XUY‬‬
‫ﻧﺎم‬ ‫ﺷﻤﺎره‬ ‫ﻣﻌﺪل‬ ‫ﺷﻬﺮ ﺗﻮﻟﺪ‬
‫ﻋﻠﻲ‬ ‫‪123‬‬ ‫‪17‬‬ ‫ﺗﻬﺮان‬
‫ﻣﺠﻴﺪ‬ ‫‪934‬‬ ‫‪17‬‬ ‫ﺗﻬﺮان‬
‫ﺟﻮاد‬ ‫‪574‬‬ ‫‪15‬‬ ‫ﺗﺒﺮﻳﺰ‬
‫ﺗﻬﺮان‪ ،123 ،17 ،‬ﻋﻠﻲ →‪X ∩ Y‬‬
‫ﺗﻬﺮان‪ ،934 ،17 ،‬ﻣﺠﻴﺪ →‪Y-X‬‬
‫‪ (2) -31‬ب ﻛﺎراﺗﺮ اﺳﺖ ﭼﺮا ﻛﻪ ﮔﺰﻳﻨﺶ را زودﺗﺮ از ﭘﻴﻮﻧﺪ اﻧﺠﺎم داده اﺳﺖ‪.‬‬
‫‪(2) -32‬‬
‫‪ (1) -33‬ﺑﺎ دﺳﺘﻮر )‪ p#) divided by P( P#‬و ‪ SP ( S#‬ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ ﺑﺪﺳﺖ‬
‫ﻣﻲآﻳﺪ ﻛﻪ ﺗﻤﺎم ﻗﻄﻌﺎت را ﻋﺮﺿﻪ ﻣﻲﻛﻨﻨﺪ‪ .‬ﺳﭙﺲ ﻫﻨﮕﺎﻣﻲﻛﻪ ﻧﺘﻴﺠﻪاﻳﻦ دﺳﺘﻮر ﺑﺎ ‪ S‬اﻟﺤﺎق‬
‫ﺷﻮد ﻣﺸﺨﺼﺎتاﻳﻦ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن ﺑﺪﺳﺖ ﻣﻲآﻳﺪ‪.‬‬
‫‪(3) -34‬‬
‫‪ (1) -35‬ﺟﺪول ‪ X‬داراي ‪ 5‬ﺳﻄﺮ و ﺟﺪول ‪ Y‬داراي ‪ 4‬ﺳﻄﺮ اﺳﺖ ﭘﺲ ‪X times Y‬‬
‫داراي ‪ 4×5 =20‬ﺳﻄﺮ اﺳﺖ‪.‬‬
‫‪ (4) -36‬ﻧﺘﻴﺠﻪ ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ ﺑﻪ ﺷﻜﻞ زﻳﺮ اﺳﺖ‪:‬‬
‫‪M‬‬ ‫‪N‬‬ ‫‪P‬‬ ‫‪Q‬‬
‫‪a‬‬ ‫‪m‬‬ ‫‪P1‬‬ ‫‪x‬‬
‫‪b‬‬ ‫‪n‬‬ ‫‪P2‬‬ ‫‪y‬‬
‫‪c‬‬ ‫‪k‬‬ ‫‪P3‬‬ ‫‪z‬‬
‫‪www.PDFgozar.com‬‬

‫‪297‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ (1) -37‬در ﺟﺒﺮ راﺑﻄﻪاي ﻋﻤﻠﮕﺮ ‪ Join‬ﻳﺎ ﭘﻴﻮﻧﺪ را دارﻳﻢ‪ .‬ﻫﻤﭽﻨﻴﻦ ﻋﻤﻠﮕﺮ ﻫﺎي اﺷﺘﺮاك‬
‫و اﺟﺘﻤﺎع و ﺗﻔﺎﺿﻞ )‪ Minus‬ﻳﺎ ‪ (Subtract‬را ﻧﻴﺰ دارﻳﻢ‪ .‬وﻟﻲ ﻋﻤﻠﮕﺮ ‪ Add‬ﻳﺎ ﺟﻤﻊ را‬
‫ﻧﺪارﻳﻢ‪ .‬در اﻛﺜﺮ ﻧﺮماﻓﺰارﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﻤﻠﮕﺮ ﺗﻔﺎﺿﻞ ﭘﻴﺎده ﺳﺎزي ﻧﺸﺪه اﺳﺖ وﻟﻲ‬
‫ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ در ﺗﻤﺎﻣﻲآﻧﻬﺎ وﺟﻮد دارد‪.‬‬
‫‪ (1) -38‬دﺳﺘﻮر ‪ extend‬ﺑﺮاي اﺿﺎﻓﻪ ﻛﺮدن ﺳﺘﻮن ﺑﻪ ﻳﻚ ﺟﺪول اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪.‬‬
‫‪ (4) -39‬ﻳﻌﻨﻲ ﻛﺪام ‪ S#‬ﻫﺎ ﻫﻢ ‪ p2‬و ﻫﻢ ‪ p4‬را ﺗﻬﻴﻪ ﻛﺮدهاﻧﺪ‪.‬‬
‫‪(2) -40‬‬
‫‪(4) -41‬‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪7‬‬


‫‪ -1‬اﮔﺮ ‪ p‬و ‪ q‬ﻳﻚ و ف ﺑﺎﺷﻨﺪ ﻣﻌﺎدل ﻋﺒﺎرت زﻳﺮ ﻛﺪام اﺳﺖ ؟‬
‫‪IF p THEN q END IF‬‬
‫‪P AND (NOT q) .1‬‬
‫‪IF NOT p then NOT q .2‬‬
‫‪(NOT p) OR q .3‬‬
‫‪ .4‬ﻣﻌﺎدل ﻧﺪارد‪.‬‬
‫‪ -2‬اﮔﺮ ‪ ST‬و ‪ CO‬و‪ STCO‬ﻣﺘﻐﻴﻴﺮﻫﺎي ﺗﺎﭘﻠﻲ راﺑﻄﻪﻫﺎي ‪ STT‬و ‪ COT‬و ‪STCOT‬‬
‫ﺑﺎﺷﻨﺪ آﻧﮕﺎه ﻋﺒﺎرت زﻳﺮ در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬
‫‪(ST.STID,ST.STDEG)WHERE EXISTS‬‬ ‫‪ST(ST.STID=STCO.STID AND‬‬
‫;)’‪STCO.COID=‘COM111‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 298‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .1‬ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ و دوره ﺗﺤﺼﻴﻠﻲ آﻧﻬﺎﻳﻲ ﻛﻪ درس ‪ COM111‬را اﻧﺘﺨﺎب‬


‫ﻛﺮدهاﻧﺪ‪ ،‬ﻣﻲدﻫﺪ‪.‬‬
‫‪ .2‬ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ و ﺷﻤﺎره درس اﻓﺮادي را ﻣﻲدﻫﺪ ﻛﻪ درس ‪ COM111‬را‬
‫اﻧﺘﺨﺎب ﻛﺮدهاﻧﺪ‪.‬‬
‫‪ .3‬ﺳﻄﺢ ﺗﺤﺼﻴﻠﻲ داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ درس ‪ COM111‬را اﻧﺘﺨﺎب ﻛﺮدهاﻧﺪ‪.‬‬
‫‪ .4‬اﻳﻦ دﺳﺘﻮر ﻏﻠﻂ اﺳﺖ‪.‬‬
‫‪ -3‬ﻛﺪام ﮔﺰﻳﻨﻪ در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﻋﺒﺎرت ‪ ST.STID‬ﻣﺠﻤﻮﻋﻪ ﺗﻤﺎم ﺷﻤﺎره داﻧﺸﺠﻮﻳﺎن در راﺑﻄﻪ ‪ STT‬را ﻣﻲدﻫﺪ‪.‬‬
‫‪ .2‬ﻋﺒﺎرت ‪ ST‬ﻋﻨﻮان ﺟﺪول ‪ ST‬را ﻣﻲدﻫﺪ‪.‬‬
‫‪ .3‬ﻋﺒﺎرت )‪ (STCO.STID,STCO.GRADE‬ﺷﻤﺎره داﻧﺸﺠﻮﻳﺎن و ﻧﻤﺮه آﻧﻬﺎ از‬
‫راﺑﻄﻪ ‪ STCOT‬را ﻣﻲدﻫﺪ‪.‬‬
‫‪ .4‬ﻋﺒﺎرت ;'‪ (CO.COID AS CONUM)WHERE COTYPE='P‬ﺷﻤﺎره‬
‫درﺳﻬﺎي ﻋﻤﻠﻲ ) ﻋﻤﻠﻲ = '‪ ( 'P‬از راﺑﻄﻪ ‪ COT‬را ﻣﻲدﻫﺪ‪.‬‬
‫‪ -4‬ﻛﺪام دﺳﺘﻮر در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﻋﻨﻮان درﺳﻬﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ داﻧﺸﺠﻮ ﺑﺎ‬
‫ﺷﻤﺎره ‪ 1234‬اﻧﺘﺨﺎب ﻛﺮده اﺳﺖ ؟‬
‫‪COTITLE WHERE EXISTS STCO (STCO.COID=CO.COID AND‬‬ ‫‪.1‬‬
‫;)'‪STCO.STID='1234‬‬
‫;'‪COTITLE WHERE STCO.STID='1234‬‬ ‫‪.2‬‬
‫‪COTITLE WHERE STCO.COID=CO.COID AND STCO‬‬ ‫‪.3‬‬
‫;'‪.STID='1234‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -5‬ﻛﺪام ﻋﺒﺎرت در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﺷﻤﺎره و ﻧﺎم درﺳﻬﺎي دو واﺣﺪي را ﻣﻲدﻫﺪ ؟‬
‫;'‪CO.COID,CO.COTITLE WHERE EXISTS CO.CREDIT='2‬‬ ‫‪.1‬‬
‫;'‪CO.COID,CO.COTITLE WHERE CO.CREDIT='2‬‬ ‫‪.2‬‬
‫;‪CO.CREDIT='2' FORALL WHERE CO. COID,CO.COTITLE‬‬ ‫‪.3‬‬
‫;'‪CO.COID,CO.COTITLE FORALLWHERE CO.CREDIT='2‬‬ ‫‪.4‬‬
‫‪www.PDFgozar.com‬‬

‫‪299‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ -6‬ﻋﺒﺎرت زﻳﺮ در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﻧﺎم داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ‬
‫درس ﻋﻤﻠﻲ را اﻧﺘﺨﺎب ﻛﺮده ﺑﺎﺷﻨﺪ‪ .‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻓﺮم ﻣﻌﺎدل ﭘﻴﺸﻮﻧﺪي )‪ (Prenex‬آن‬
‫اﺳﺖ؟‬
‫‪ST.STNAME WHERE EXISTS STCO (ST.STID=STCO.STID AND‬‬
‫;))'‪EXISTS CO (CO.COID = STCO.COID AND CO.COTYPE='P‬‬

‫‪ST.STNAME EXISTS WHERE (ST.STID=STID AND CO.COID‬‬ ‫‪.1‬‬


‫;)'‪=STCO.COID AND CO.COTYPE='P‬‬
‫‪ST.STNAME‬‬ ‫‪WHERE‬‬ ‫‪NOT‬‬ ‫‪FORALL‬‬ ‫‪.2‬‬
‫‪STCO(ST.STID=STCO.STID AND CO(CO.COID=STCO.COID‬‬
‫;))'‪AND CO.COTYPE='P‬‬
‫=‪ST.STNAME WHERE EXISTS STCO (EXISTS CO (ST.STID‬‬ ‫‪.3‬‬
‫‪STCO.STID‬‬ ‫‪AND‬‬ ‫‪CO.‬‬ ‫‪COID=STCO.COID‬‬ ‫‪AND‬‬
‫;))'‪CO.COTYPE='P‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -7‬ﺧﺮوﺟﻲ ﻋﺒﺎرت زﻳﺮ در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﭼﻴﺴﺖ ؟‬
‫‪ST.STNAME WHERE NOT EXISTS STCO (STCO.STID=ST.STID AND‬‬
‫)'‪STCO.COID='COM333‬‬
‫‪ .1‬اﺳﺎﻣﻲداﻧﺸﺠﻮﻳﺎﻧﻲ ﻛﻪ درس ﺷﻤﺎره ‪ COM333‬را اﻧﺘﺨﺎب ﻧﻜﺮدهاﻧﺪ و ﺷﻤﺎره‬
‫آﻧﻬﺎ در ﺟﺪول ‪ STCOT‬ﻧﻴﺴﺖ‪.‬‬
‫‪ .2‬اﺳﺎﻣﻲو ﺷﻤﺎره داﻧﺸﺠﻮﻳﺎﻧﻲ ﻛﻪ درس ﺷﻤﺎره ‪ COM333‬را اﻧﺘﺨﺎب ﻛﺮدهاﻧﺪ‪.‬‬
‫‪ .3‬اﺳﺎﻣﻲداﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ درس ﺷﻤﺎره ‪ COM333‬را اﻧﺘﺨﺎب ﻧﻜﺮدهاﻧﺪ‪.‬‬
‫‪ .4‬ﺗﻤﺎﻣﻲاﺳﺎﻣﻲداﻧﺸﺠﻮﻳﺎﻧﻲ ﻛﻪ درس ﺷﻤﺎره ‪ COM333‬را اﻧﺘﺨﺎب ﻛﺮدهاﻧﺪ‪.‬‬
‫‪ -8‬ﻋﺒﺎرت زﻳﺮ در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﭼﻪ ﻣﻲﻛﻨﺪ ؟ )‪ bs‬ﻳﻌﻨﻲ دوره ﻛﺎرﺷﻨﺎﺳﻲ(‬
‫‪CO.COTITLE WHERE FORALL ST (EXISTS‬‬
‫‪STCO(STCO.STID=ST.STID AND STCO.COID=CO.COID AND‬‬
‫;))'‪ST.STDEG='bs‬‬
‫‪ .1‬اﻳﻦ ﻋﺒﺎرت ﻧﺎدرﺳﺖ اﺳﺖ واﻳﺮاد دارد‪.‬‬
‫‪ .2‬ﻋﻨﻮان درﺳﻬﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم داﻧﺸﺠﻮﻳﺎن دوره ﻛﺎرﺷﻨﺎﺳﻲ ﻛﻪ ﺷﻤﺎرهﻫﺎي‬
‫ﻳﻜﺴﺎن دارﻧﺪ آﻧﻬﺎ را اﻧﺘﺨﺎب ﻛﺮده ﺑﺎﺷﻨﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 300‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .3‬ﺷﻤﺎره درس و ﺷﻤﺎره داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم درﺳﻬﺎي ﻛﺎرﺷﻨﺎﺳﻲ را‬


‫ﮔﺬراﻧﺪه ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .4‬ﻋﻨﻮان درﺳﻬﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم داﻧﺸﺠﻮﻳﺎن دوره ﻛﺎرﺷﻨﺎﺳﻲ آﻧﻬﺎ را اﻧﺘﺨﺎب‬
‫ﻛﺮده ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ -9‬اﮔﺮ ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ ‪ CO‬ﺑﺮ روي ﻓﻴﻠﺪ ‪ COID‬ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﺪ‪ ،‬در ﺣﺴﺎب راﺑﻄﻪاي‬
‫ﻣﻴﺪاﻧﻲ دﺳﺘﻮر زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬
‫;)'‪CO WHERE COT (COID: CO,CODEID:'D111‬‬

‫‪ .1‬ﺷﻤﺎره درﺳﻬﺎي ﮔﺮوه آﻣﻮزﺷﻲ '‪ 'D111‬را ﻣﻲدﻫﺪ‪.‬‬


‫‪ .2‬ﺷﻤﺎره درﺳﻬﺎ و ﺷﻤﺎره ﮔﺮوه آﻣﻮزﺷﻲ درﺳﻬﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺷﻤﺎره آﻧﻬﺎ‬
‫‪ D111‬ﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬ﮔﺮوه آﻣﻮزﺷﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺷﻤﺎره درس آن ‪ D111‬ﺑﺎﺷﺪ‪.‬‬
‫‪ .4‬ﺗﻤﺎم ﮔﺮوهﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ درس ‪ D111‬را اراﺋﻪ ﻛﺮدهاﻧﺪ‪.‬‬
‫‪ -10‬اﮔﺮ ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ ‪ CO‬ﺑﺮ روي ﻓﻴﻠﺪ ‪ COID‬و ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ ‪ ST‬ﺑﺮ روي ﻓﻴﻠﺪ ‪STID‬‬
‫و ﻣﺘﻐﻴﺮ ‪ CRED‬ﺑﺮ روي ﻓﻴﻠﺪ ‪ CREDIT‬ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﻨﺪ ﻛﺪام ﮔﺰﻳﻨﻪ در ﺣﺴﺎب‬
‫راﺑﻄﻪاي ﻣﻴﺪاﻧﻲ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﻋﺒﺎرت ‪ CO‬ﻣﺠﻤﻮﻋﻪ ﺷﻤﺎره ﻫﻤﻪ درﺳﻬﺎ را ﻧﺸﺎن ﻣﻲدﻫﺪ‪.‬‬
‫‪ .2‬ﻋﺒﺎرت ) ‪ ST WHERE STT (STID: ST‬ﻣﺠﻤﻮﻋﻪ ﺷﻤﺎره داﻧﺸﺠﻮﻳﺎن ﻣﻮﺟﻮد‬
‫در راﺑﻄﻪ ‪ STT‬را ﻧﺸﺎن ﻣﻲدﻫﺪ‪.‬‬
‫‪ .3‬دﺳﺘﻮر زﻳﺮ ﺷﻤﺎره درﺳﻬﺎي ﻳﻚ واﺣﺪي از ﮔﺮوه آﻣﻮزﺷﻲ ‪ D222‬را ﻣﻲدﻫﺪ‪:‬‬
‫‪CO WHERE EXISTS CRED (CRED='1' AND COT (COID:‬‬
‫)'‪CO,CREDIT:CRED,CODEID='D222‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -11‬دﺳﺘﻮر زﻳﺮ در ﺣﺴﺎب راﺑﻄﻪاي ﻣﻴﺪاﻧﻲ ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬
‫‪STNAM WHERE EXISTS ST (STT(STID:ST,STNAME:STNAM) AND‬‬
‫))'‪NOT STCOT (STID: ST,COID:'COM333‬‬
‫‪ .1‬ﻧﺎم داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ درس ‪ COM333‬را اﻧﺘﺨﺎب ﻧﻜﺮدهاﻧﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪301‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .2‬ﻧﺎم داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ از درس ‪ COM333‬اﻓﺘﺎدهاﻧﺪ‪.‬‬


‫‪ .3‬ﻣﺸﺨﺼﺎت داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺣﺪاﻗﻞ درس ‪ COM333‬را اﻧﺘﺨﺎب‬
‫ﻛﺮدهاﻧﺪ‪.‬‬
‫‪ .4‬ﻧﺎم داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم درﺳﻬﺎي ﻫﻢ ﮔﺮوه ﺑﺎ ‪ COM333‬را اﻧﺘﺨﺎب‬
‫ﻧﻜﺮدهاﻧﺪ‪.‬‬
‫‪ -12‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﻗﺪرت ﺟﺒﺮ راﺑﻄﻪاي ﺑﺎ ﺣﺴﺎب راﺑﻄﻪاي ﻳﻜﺴﺎن اﺳﺖ‪.‬‬
‫‪ .2‬ﺣﺴﺎب راﺑﻄﻪاي ﺑﺎ ﺣﺴﺎب راﺑﻄﻪ ي ﺗﺎﭘﻠﻲ از ﻗﺪرت ﻣﺤﺎﺳﺒﺎﺗﻲ ﻣﺴﺎوي‬
‫ﺑﺮﺧﻮردارﻧﺪ‪.‬‬
‫‪ .3‬ﺣﺴﺎب راﺑﻄﻪاي ﻣﺒﺘﻨﻲ ﺑﺮ ﺷﺎﺧﻪاي از زﻳﺎﺿﻴﺎت ﺑﻪ ﻧﺎم ‪Predicate calculus‬‬
‫ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ .4‬ﺟﺒﺮ راﺑﻄﻪاي ﺗﻮﺻﻴﻔﻲ اﺳﺖ در ﺣﺎﻟﻲ ﻛﻪ ﺣﺴﺎب راﺑﻄﻪاي دﺳﺘﻮري اﺳﺖ‪.‬‬

‫ﭘﺎﺳﺦ ﺗﺴﺘﻬﺎي ﺳﺮي ‪7‬‬


‫‪ (3) -1‬در رﻳﺎﺿﻴﺎت ﻣﻲداﻧﻴﻢ ﻛﻪ ‪p→ q = NOT p OR q‬‬
‫‪(1) -2‬‬
‫‪ (2) -3‬ﻋﺒﺎرت ‪ ST‬ﺗﻤﺎم راﺑﻄﻪ ‪ STT‬را ﻣﻲدﻫﺪ‪) .‬ﺗﻤﺎم ﺗﺎﭘﻠﻬﺎي آن را(‬
‫‪(1) -4‬‬
‫‪ (2) -5‬ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ وﻗﺘﻲ اﻃﻼﻋﺎت ﻓﻘﻂ در ﻳﻚ ﺟﺪول اﺳﺖ از ﺳﻮرﻫﺎي ‪ EXISTS‬ﻳﺎ‬
‫‪ FORALL‬اﺳﺘﻔﺎده ﻧﻤﻲﺷﻮد‪.‬‬
‫‪(3) -6‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 302‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪(3) -7‬‬
‫‪(4) -8‬‬
‫‪(1) -9‬‬
‫‪(4) -10‬‬
‫‪(1) -11‬‬
‫‪ (4) -12‬ﺣﺴﺎب راﺑﻄﻪاي ﺗﻮﺻﻴﻔﻲ ﻳﺎ ﻧﺎروﻳﻪاي اﺳﺖ وﻟﻲ ﺟﺒﺮ راﺑﻄﻪاي دﺳﺘﻮري ﻳﺎ‬
‫روﻳﻪاي اﺳﺖ‪.‬‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪8‬‬


‫‪ SQL -1‬ﭼﻴﺴﺖ ؟‬
‫‪ .1‬ﻳﻚ زﺑﺎن ﻗﻮي اﺳﺖ ﺑﺮاياﻳﺠﺎد و دﺳﺘﺮﺳﻲ ﺑﻪ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬
‫‪ .2‬ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي اﺳﺖ ﻛﻪ از ‪ DBMS‬ﻓﺮﻣﺎن ﻣﻲﮔﻴﺮد‪.‬‬
‫‪ .3‬ﻗﺴﻤﺘﻲ از ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ و ﻣﺨﺼﻮص دﺳﺘﻜﺎري دادهﻫﺎ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ DDL .4‬و ‪ DML‬روي ﻫﻢ ‪ SQL‬را ﻣﻲﺳﺎزﻧﺪ‪.‬‬
‫‪ -2‬ﻛﺪام دﺳﺘﻮر ‪ SQL‬ﻧﻤﻲﺗﻮاﻧﺪ ﺑﺎﻋﺚ ﺑﻪ وﺟﻮد آﻣﺪن ﻧﺎﺳﺎزﮔﺎري در دادهﻫﺎ ﺷﻮد ؟‬
‫‪www.PDFgozar.com‬‬

‫‪303‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪INSERT‬‬ ‫‪.1‬‬
‫‪DELETE‬‬ ‫‪.2‬‬
‫‪UPDATE‬‬ ‫‪.3‬‬
‫‪SELECT‬‬ ‫‪.4‬‬
‫‪ -3‬در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ))ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪه‪ -‬ﻗﻄﻌﻪ‪ -‬ﭘﺮوژه((دﺳﺘﻮر ‪ SQL‬زﻳﺮ ﭼﻪ ﺧﺮوﺟﻲ‬
‫ﺗﻮﻟﻴﺪ ﻣﻲﻛﻨﺪ ؟‬
‫‪Select S# , P# , J#‬‬
‫‪From S , P , J‬‬
‫‪Where S.city=P.city AND P.city=J.city‬‬
‫‪ .1‬ﺷﻤﺎره ﺗﻤﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن‪ -‬ﺷﻤﺎره ﻗﻄﻌﻪ و ﺷﻤﺎره ﭘﺮوژهﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ‬
‫ﺗﻬﻴﻪ ﻛﻨﻨﺪه ﻗﻄﻌﻪ و ﭘﺮوژه دو ﺑﻪ دو از ﻳﻚ ﺷﻬﺮ ﻧﻴﺴﺘﻨﺪ‪.‬‬
‫‪ .2‬ﺷﻤﺎره ﺗﻤﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن‪ -‬ﺷﻤﺎره ﻗﻄﻌﻪ و ﺷﻤﺎره ﭘﺮوژهﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ از‬
‫ﻳﻚ ﺷﻬﺮ ﻫﺴﺘﻨﺪ‪.‬‬
‫‪ .3‬ﺷﻤﺎره ﺗﻤﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن‪ -‬ﺷﻤﺎره ﻗﻄﻌﻪ و ﺷﻤﺎره ﭘﺮوژهﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ از‬
‫ﻳﻚ ﺷﻬﺮ ﻧﻴﺴﺘﻨﺪ‪.‬‬
‫‪ .4‬ﺷﻤﺎره ﺗﻤﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن‪ -‬ﺷﻤﺎره ﻗﻄﻌﻪ و ﺷﻤﺎره ﭘﺮوژهﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ‬
‫ﻛﻨﻨﺪه ﻗﻄﻌﻪ و ﭘﺮوژه دوﺑﻪ دو از ﻳﻚ ﺷﻬﺮ ﻫﺴﺘﻨﺪ‪.‬‬
‫‪ -4‬اﮔﺮ ﺟﺪول ‪ P‬داراي ﻓﻴﻠﺪﻫﺎي )‪ ، (P# , Pname , Color , Weight , city‬ﺟﺪول ‪S‬‬
‫داراي ﻓﻴﻠﺪﻫﺎي ) ‪ (S# , Sname , Status , City‬و ﺟﺪول ‪ SP‬داراي ﻓﻴﻠﺪﻫﺎي ‪(S# , P# ,‬‬
‫)‪ City‬ﺑﺎﺷﻨﺪ ﺑﺎ زﺑﺎن ‪ SQL‬ﺑﻪ ﺳﻮال زﻳﺮ ﭘﺎﺳﺦ دﻫﻴﺪ‪:‬‬
‫))ﺗﻤﺎم ﺟﻔﺖ ﺷﻬﺮﻫﺎﻳﻲ )‪ (City‬را ﺑﻴﺎﻳﻴﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه )‪ (S‬ﺳﺎﻛﻦ ﺷﻬﺮ اول‪ ،‬ﻗﻄﻌﻪاي )‪(P‬‬
‫اﻧﺒﺎر ﺷﺪه و ﺷﻬﺮ دوم را ﺗﻬﻴﻪ ﻛﺮده ﺑﺎﺷﺪ‪(( .‬‬
‫‪.1‬‬
‫‪Salect city From S , P‬‬
‫‪Where S.city = P.city‬‬
‫‪.2‬‬
‫‪Salect S.city , P.city From S , P‬‬
‫‪Where S.city = P.city‬‬
‫‪.3‬‬
‫‪Salect distinct S. city,P.city From S,P, SP‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 304‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪Where S. S# = SP.S# AND SP.P# = P.P#‬‬


‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -5‬ﻣﻨﻈﻮر از ‪ SQL‬ﭼﻴﺴﺖ ؟‬
‫‪ .1‬زﺑﺎن ﭘﺮس و ﺟﻮي ﺳﺎﺧﺖ ﻳﺎﻓﺘﻪ اﺳﺖ‪.‬‬
‫‪ .2‬زﺑﺎن ﻓﺮﻋﻲ دادهاي اﺳﺖ‪.‬‬
‫‪ .3‬زﺑﺎن دادهاي ﻣﺴﺘﻘﻞ اﺳﺖ‪.‬‬
‫‪ .4‬ﻫﻤﺎن زﺑﺎن ﻣﻴﺰﺑﺎن اﺳﺖ‪.‬‬
‫‪ -6‬دﺳﺘﻮر ﻣﻘﺎﺑﻞ ﻧﺎم ﭼﻪ اﻓﺮادي را ﭼﺎپ ﻣﻲﻛﻨﺪ ؟‬
‫‪Select name‬‬
‫‪From T‬‬
‫"‪%‬رﺿﺎ ‪where name like"%‬‬
‫) ﻓﺮض ﻛﻨﻴﺪ ‪ T‬ﺟﺪوﻟﻲ اﺳﺖ ﻛﻪ ﻳﻜﻲ از ﺳﺘﻮن ﻫﺎي آن ﻧﺎم )‪ ( name‬ﻣﻲﺑﺎﺷﺪ‪( .‬‬
‫‪ .1‬اﻓﺮادي را ﭼﺎپ ﻣﻲﻛﻨﺪ ﻛﻪ ))رﺿﺎ(( در ﻧﺎم آﻧﻬﺎ آﻣﺪه اﺳﺖ‪.‬‬
‫‪ .2‬اﻓﺮادي را ﻛﻪ اﺳﻢ آﻧﻬﺎ ))رﺿﺎ(( ﺑﺎﺷﻨﺪ ﭼﺎپ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ .3‬اﻓﺮادي را ﻛﻪ اﺳﻢ ﻓﺎﻣﻴﻞ آﻧﻬﺎ ))رﺿﺎ(( اﺳﺖ ﻓﻘﻂ ﭼﺎپ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ .4‬اﻓﺮادي را ﻛﻪ اﺳﻢ ﻳﺎ اﺳﻢ ﻓﺎﻣﻴﻞ آﻧﻬﺎ ))رﺿﺎ(( اﺳﺖ ﭼﺎپ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ -7‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ دو ﺟﺪول ‪ S‬و ‪ T‬ﻛﺪام دﺳﺘﻮر ﺑﺎﻋﺚ ﻧﻤﺎﻳﺶ ﺧﺮوﺟﻲ زﻳﺮ ﻣﻲﺷﻮد ؟‬

‫‪S:Name‬‬ ‫‪T: Name‬‬ ‫‪Name‬‬ ‫‪:‬‬ ‫ﺧﺮوﺟﻲ‬


‫‪Able‬‬ ‫‪Able‬‬ ‫‪Able‬‬
‫‪Bravo‬‬ ‫‪Baker‬‬ ‫‪Charlie‬‬
‫‪Charlie‬‬ ‫‪Charlie‬‬ ‫‪Exitor‬‬
‫‪Decon‬‬ ‫‪Exitor‬‬ ‫‪Goober‬‬
‫‪Exitor‬‬ ‫‪Falconer‬‬
‫‪Goober‬‬ ‫‪Fuber‬‬
‫‪Goobar‬‬

‫; ‪Select * From S union select * From T‬‬ ‫‪.1‬‬


‫; ‪Select * From S Minus select * From T‬‬ ‫‪.2‬‬
www.PDFgozar.com

305 ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

Select * From S,T where S.Name = T.name ; .3


Select * From S Intersect select * From T ; .4
‫ ﻛﺪام دﺳﺘﻮر ﺧﺮوﺟﻲ زﻳﺮ را ﻣﻲدﻫﺪ ؟‬T ‫ و‬S ‫ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ دو ﺟﺪول‬-8
S:Name T: Name Name : ‫ﺧﺮوﺟﻲ‬
Able Able Bravo
Bravo Baker Decon
Charlie Charlie
Decon Dean
Exitor Exitor
Goober Falconer
Fuber
Goobar

Select * From T Intersect select * From S ; .1


Select * From T Minus select * From S ; .2
Select * From S Minus select * From T ; .3
Select * From T Union select * From S ; .4
‫ زﻳﺮ‬SQL ‫ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﻧﺘﻴﺠﻪ ﻧﻬﺎﻳﻲ دﺳﺘﻮر ﺷﺒﻪ‬-9
‫ﭼﻴﺴﺖ؟‬
CREATE VIEW V AS
((S JOIN SP) where P# = 'P2') {S# , city} ;
Result: = ( V where city = 'london') {s#} ;
‫ را ﺗﻮﻟﻴﺪ‬P2 ‫ ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪه را ﺑﺮاي ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﻟﻨﺪن ﻛﻪ ﻗﻄﻌﻪ‬.1
.‫ ﻣﻲدﻫﺪ‬،‫ﻣﻲﻛﻨﻨﺪ‬
.‫ ﻣﻲدﻫﺪ‬،‫ ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪه را ﺑﺮاي ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﺳﺎﻛﻦ ﺷﻬﺮ ﻟﻨﺪن‬.2
.‫ ﻣﻲدﻫﺪ‬،P2 ‫ ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪه را ﺑﺮاي ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪه ﻗﻄﻌﻪ‬.3
‫ ﺷﻬﺮ و ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﻪ اﻧﺒﺎر ﺷﺪه در ﺷﻬﺮ ﻟﻨﺪن را‬.4
.‫ﺗﻮﻟﻴﺪ ﻛﺮدهاﻧﺪ‬
‫ ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬SQL ‫ دﺳﺘﻮر روﺑﺮو در‬-10
Select *
From SP
‫‪www.PDFgozar.com‬‬

‫‪ 306‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .1‬ﺗﻤﺎم ﺟﺪول ‪ SP‬را ﭼﺎپ ﻣﻲﻛﻨﺪ‪.‬‬


‫‪ .2‬اﻳﻦ دﺳﺘﻮر ﻏﻠﻂ اﺳﺖ ﭼﻮن ﻗﺴﻤﺖ ‪ where‬ﻧﺪارد‪.‬‬
‫‪ .3‬ﻧﺎم ﺗﻤﺎم ﻓﻴﻠﺪﻫﺎي ﺟﺪول ‪ SP‬را ﭼﺎپ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ .4‬ﻛﻞ اﻃﻼﻋﺎت ﺳﺘﻮن ﻫﺎي اول و آﺧﺮ ﺟﺪول را ﭼﺎپ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ -11‬دﺳﺘﻮر زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬
‫‪Select S.*, P. * from S, P‬‬
‫‪ .1‬ﺗﻤﺎم ﺳﻄﺮﻫﺎ و ﺳﺘﻮﻧﻬﺎي دو ﺟﺪول ‪ S‬و ‪ P‬را زﻳﺮ ﻫﻢ ﭼﺎپ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ .2‬دو ﺟﺪول ‪ S‬و ‪ P‬را ﺑﻪ ﻃﻮر ﻛﺎﻣﻞ ﻛﻨﺎر ﻫﻢ ﭼﺎپ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ .3‬ﺿﺮب ﻛﺎرﺗﺰﻳﻦ دو ﺟﺪول ‪ S‬و ‪ P‬را ﻣﻲدﻫﺪ‪.‬‬
‫‪ .4‬ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ دو ﺟﺪول ‪ S‬و ‪ P‬را ﻣﻲدﻫﺪ‪.‬‬
‫‪ -12‬دﺳﺘﻮر زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬
‫‪Select S# from S‬‬
‫)‪Where city = (select city from S where S# = S1‬‬
‫‪ .1‬ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه ‪ S1‬ﻗﻄﻌﺎت ﺧﻮد را در آن اﻧﺒﺎر‬
‫ﻛﺮده اﺳﺖ‪.‬‬
‫‪ .2‬ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ در ﻫﻤﺎن ﺷﻬﺮي ﺳﺎﻛﻦ ﺑﺎﺷﻨﺪ ﻛﻪ ‪ S1‬ﺳﺎﻛﻦ‬
‫اﺳﺖ‪.‬‬
‫‪ .3‬اﻳﻦ ﻃﺮز ﻧﻮﺷﺘﻦ اﺻﻼً در ‪ SQL‬ﻗﺎﺑﻞ ﻗﺒﻮل ﻧﻴﺴﺖ‪.‬‬
‫‪ .4‬ﺷﻬﺮ ﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه ‪ S1‬در آن ﺟﺎ ﺷﻌﺒﻪ دارد‪.‬‬
‫‪ -13‬ﺑﺎ ﻛﺪام دﺳﺘﻮر ‪ SQL‬زﻳﺮ ﻣﻲﺗﻮان ﻃﻮل ﻓﻴﻠﺪ رﺷﺘﻪاي را از ‪ 30‬ﺑﻪ ‪ 40‬اﻓﺰاﻳﺶ داد ؟‬
‫…‪Alter table … Modify‬‬ ‫‪.1‬‬
‫… ‪Alter table … Add‬‬ ‫‪.2‬‬
‫…‪Alter table … Replace‬‬ ‫‪.3‬‬
‫‪ .4‬اﻳﻨﻜﺎر ﺑﺎاﻳﻦ دﺳﺘﻮر اﻣﻜﺎن ﭘﺬﻳﺮ ﻧﻤﻲﺑﺎﺷﺪ‪.‬‬
‫‪ -14‬اﮔﺮ ‪ teacher‬ﻧﺎم ﺟﺪول ﻣﺸﺨﺼﺎت اﺳﺎﺗﻴﺪ و ‪ Sec‬ﺟﺪول ﮔﺮوه درس ) ﺷﺎﻣﻞ‬
‫ﻓﻴﻠﺪﻫﺎي ﺷﻤﺎره درس‪ ،‬ﺷﻤﺎره داﻧﺸﺠﻮ‪ ،‬ﻧﺎم اﺳﺘﺎد و ﻧﻤﺮه ( و ﻧﻴﺰ ‪ tname‬ﻧﺎم اﺳﺘﺎد ﺑﺎﺷﺪ‪،‬‬
‫آﻧﮕﺎه دﺳﺘﻮر ‪ SQL‬زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬
‫‪www.PDFgozar.com‬‬

‫‪307‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪Select * from teacher where tname in‬‬


‫‪( select tname from sec where score = 10 And tname‬‬
‫;)) " ﺑﻬﺘﺎش "و "اﻣﻴﺮي "( ‪not in‬‬
‫‪ .1‬ﻣﺸﺨﺼﺎت اﺳﺎﺗﻴﺪ اﻣﻴﺮي و ﺑﻬﺘﺎش ﻛﻪ ﻧﻤﺮه ‪ 10‬ﻧﺪادهاﻧﺪ را ﻣﻲدﻫﺪ‪.‬‬
‫‪ .2‬ﻣﺸﺨﺼﺎت اﺳﺎﺗﻴﺪي را ﻣﻲدﻫﺪ ﻛﻪ داﻧﺸﺠﻮﻳﺎن آﻧﻬﺎ از ﺗﻤﺎم دروس ‪ 10‬ﮔﺮﻓﺘﻪاﻧﺪ‬
‫) ﺑﻪ ﺟﺰ ﺑﻬﺘﺎش و اﻣﻴﺮي (‬
‫‪ .3‬ﻣﺸﺨﺼﺎت اﺳﺎﺗﻴﺪي ﺑﻪ ﺟﺰ اﻣﻴﺮي و ﺑﻬﺘﺎش ﻛﻪ ﻧﻤﺮه ‪ 10‬دادهاﻧﺪ را ﻧﻤﺎﻳﺶ‬
‫ﻣﻲدﻫﺪ‪.‬‬
‫‪ .4‬ﻣﺸﺨﺼﺎت اﺳﺎﺗﻴﺪي را ﻣﻲدﻫﺪ ﻛﻪ ﺑﻪ داﻧﺸﺠﻮﻳﺎﻧﻲ درس دادهاﻧﺪ ﻛﻪ ﻧﻤﺮه ‪10‬‬
‫ﮔﺮﻓﺘﻪاﻧﺪ وﻟﻲ ﺟﺰو ﺷﺎﮔﺮدان ﺑﻬﺘﺎش و اﻣﻴﺮي ﻧﻤﻲﺑﺎﺷﻨﺪ‪.‬‬
‫‪ -15‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬در ‪ SQL‬ﺑﺮاي اﻧﺠﺎم ﻳﻚ ﻋﻤﻞ راه ﺣﻞ ﻫﺎي ﻣﺘﻌﺪدي وﺟﻮد دارد واﻳﻦ ﻳﻜﻲ از‬
‫ﻣﻬﻤﺘﺮﻳﻦ ﻣﺰاﻳﺎي ‪ SQL‬اﺳﺖ‪.‬‬
‫‪ .2‬ﻫﺮﮔﺎه ﭘﺮس و ﺟﻮﺋﻲ را در ‪ SQL‬ﻫﻢ ﺑﺘﻮان ﺑﺎ ﭘﻴﻮﻧﺪ ﺟﺪاول اﻧﺠﺎم داد و ﻫﻢ ﺑﺎ‬
‫‪ Select‬ﻣﺘﺪاﺧﻞ ﺑﺮاي ﺑﺎﻻﺑﺮدن ﻛﺎراﻳﻲ ﺑﻬﺘﺮ اﺳﺖ از ‪ Select‬ﻣﺘﺪاﺧﻞ اﺳﺘﻔﺎده‬
‫ﻛﻨﻴﻢ‪.‬‬
‫‪ .3‬در ‪ SQL‬ﺗﺎﺑﻊ )*( ‪ Count‬ﺳﻄﺮﻫﺎي ‪ NULL‬را ﻧﻤﻲﺷﻤﺎرد‪.‬‬
‫‪ .4‬در دﺳﺘﻮر ‪ select‬ﺑﻪ ﺟﺎي ‪ between‬ﻣﻲﺗﻮان از ‪ AND‬و ﺑﻪ ﺟﺎي ‪ IN‬ﻣﻲﺗﻮان از‬
‫‪ OR‬اﺳﺘﻔﺎده ﻛﺮد‪.‬‬
‫‪ -16‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ SQL .1‬ﻳﻚ زﺑﺎن ﻣﺒﺪل اﺳﺖ ﻳﻌﻨﻲ ﻳﻚ ﻳﻪ ﭼﻨﺪ راﺑﻄﻪ را ﺑﻪ ﻋﻨﻮان ورودي ﻗﺒﻮل‬
‫ﻣﻲﻛﻨﺪ و ﻧﺘﻴﺠﻪ ﻋﻤﻠﻴﺎت روي آﻧﻬﺎ ﻫﻤﻮاره ﻳﻚ راﺑﻄﻪ اﺳﺖ‪.‬‬
‫‪ .2‬ﺟﺒﺮ راﺑﻄﻪاي ﺧﺎﺻﻴﺖ ))ﺑﺴﺘﻪ ﺑﻮدن(( دارد‪ .‬ﻳﻌﻨﻲ ﻋﻤﻠﻮﻧﺪ ﻫﺎ راﺑﻄﻪ اﺳﺖ و‬
‫ﻧﺘﻴﺠﻪ ﻧﻴﺰ راﺑﻄﻪ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 308‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .3‬ﺑﻪ ﺧﺎﻃﺮ ﺑﺴﺘﻪ ﺑﻮدن ‪ SQL‬و ﺟﺒﺮ راﺑﻄﻪاي ﻣﻲﺗﻮان ﻣﺤﺎﺳﺒﺎت ﺗﻮدرﺗﻮ در ﻫﺮ دو‬
‫داﺷﺖ‪.‬‬
‫‪ SQL .4‬ﻳﻚ زﺑﺎن ‪ procedural‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ -17‬ﻛﺪاﻣﻴﻚ از زﺑﺎن ﻫﺎي ﻧﺴﻞ زﻳﺮ‪ ،‬در ﺟﻬﺖ ﺗﻘﻠﻴﺪ زﺑﺎن ﻃﺒﻴﻌﻲ اﺳﺖ ؟‬
‫‪3GL‬‬ ‫‪.1‬‬
‫‪4GL‬‬ ‫‪.2‬‬
‫‪Access‬‬ ‫‪.3‬‬
‫‪SGL‬‬ ‫‪.4‬‬
‫‪ -18‬ﺑﺮاي اﻳﺠﺎد ﺟﺪول ﭘﺎﻳﻪ از ﭼﻪ دﺳﺘﻮري در ‪ SQL‬اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ ؟‬
‫‪create table‬‬ ‫‪.1‬‬
‫‪create dbms‬‬ ‫‪.2‬‬
‫‪struct table‬‬ ‫‪.3‬‬
‫‪struct dbms‬‬ ‫‪.4‬‬
‫‪ -19‬دﺳﺘﻮر زﻳﺮ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬
‫‪Select S#, status from S‬‬
‫"‪Where city = "Tabriz‬‬
‫‪Order by status desc‬‬
‫‪ .1‬ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ در ﺷﻬﺮ ﺗﺒﺮﻳﺰ داراي وﺿﻌﻴﺖ ﻧﺰوﻟﻲ‬
‫ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .2‬ﺷﻤﺎره و وﺿﻌﻴﺖ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ در ﺷﻬﺮ ﺗﺒﺮﻳﺰ ﻫﺴﺘﻨﺪ‪ ،‬ﻣﺮﺗﺐ‬
‫ﺷﺪه ﺑﺮ اﺳﺎس وﺿﻌﻴﺖ ﺑﻪ ﺻﻮرت ﻧﺰوﻟﻲ‬
‫‪ .3‬ﺷﻤﺎره و وﺿﻌﻴﺖ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ در ﺷﻬﺮ ﺗﺒﺮﻳﺰ ﻫﺴﺘﻨﺪ‪ ،‬ﻣﺮﺗﺐ‬
‫ﺷﺪه ﺑﺮ اﺳﺎس وﺿﻌﻴﺖ ﺑﻪ ﺻﻮرت ﺻﻌﻮدي‬
‫‪ .4‬وﺿﻌﻴﺖ و ﺷﻬﺮ ﺷﺮﻛﺘﻬﺎﺋﻲ را ﻣﻲدﻫﺪ ﻛﻪ در ﺗﺒﺮﻳﺰ وﺿﻌﻴﺖ ﻧﺰوﻟﻲ دارﻧﺪ‪.‬‬
‫‪ -20‬دﺳﺘﻮر زﻳﺮ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬
‫‪Update S Set status=3 * status‬‬
‫'‪Where city = 'Tehran‬‬
‫‪ .1‬ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ ﻛﻪ وﺿﻌﻴﺖ ﺳﻪ ﺑﺮاﺑﺮ ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪﮔﺎن ﺗﻬﺮان دارﻧﺪ را ﺣﺬف‬
‫ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ .2‬وﺿﻌﻴﺖ ﺗﻮﻟﻴﺪﻛﻨﻨﺪﮔﺎن ﺳﺎﻛﻦ ﺷﻬﺮ ﺗﻬﺮان را ﺳﻪ ﺑﺮاﺑﺮ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪309‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .3‬وﺿﻌﻴﺖ ﺗﻮﻟﻴﺪﻛﻨﻨﺪﮔﺎن ﺳﺎﻛﻦ ﺷﻬﺮ ﺗﻬﺮان را ﺑﺮاﺑﺮ ﻋﺪد ‪ 3‬ﻣﻲﻛﻨﺪ‪.‬‬


‫‪ .4‬ﺷﻬﺮﻫﺎﻳﻲ ﻛﻪ وﺿﻌﻴﺖ ﺳﻪ ﺑﺮاﺑﺮ ﺗﻬﺮان دارﻧﺪ را ﺑﻪ روز در ﻣﻲآورد‪.‬‬
‫‪ -21‬اﮔﺮ ‪ S‬ﻳﻚ دﻳﺪ ﺑﺮ روي ﺟﺪول ﭘﺎﻳﻪاي ‪ A‬ﺑﺎﺷﺪ‪ ،‬ﺑﺮاي آﻧﻜﻪ ﻫﺮ ﮔﻮﻧﻪ اﺻﻼًﺣﻲ روي‬
‫دﻳﺪ ‪ S‬ﻣﺠﺎز ﺑﺎﺷﺪ ﻛﺪام ﻣﺤﺪودﻳﺖ ﺑﺎﻳﺪ رﻋﺎﻳﺖ ﺷﻮد ؟‬
‫‪ .1‬دﻳﺪ‪ S‬ﺑﺎﻳﺪ ﺗﻤﺎم ﻓﻴﻠﺪﻫﺎي ‪ NULL‬ﺟﺪول ‪ A‬را داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ .2‬دﻳﺪ ‪ S‬ﺑﺎﻳﺪ ﺷﺎﻣﻞ ﻛﻠﻴﺪ اﺻﻠﻲ ﺟﺪول ‪ A‬ﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬دﻳﺪ ‪ S‬ﺑﺎﻳﺪ ﺷﺎﻣﻞ ﻛﻠﻴﺪ ﻓﺮﻋﻲ ﺟﺪول ‪ A‬ﺑﺎﺷﺪ‪.‬‬
‫‪ .4‬ﻫﻴﭻ ﺷﺮط ﺧﺎﺻﻲ ﺑﺮاياﻳﻦ ﻣﻮﺿﻮع ﻻزم ﻧﻤﻲﺑﺎﺷﺪ‪.‬‬
‫‪ -22‬اﮔﺮ ﻋﺒﺎرﺗﻲ را ﺑﺨﻮاﻫﻴﻢ‪ ،‬ﻛﻪ ﺑﺎ ‪ ABC‬ﺷﺮوع ﻣﻲﺷﻮﻧﺪ از ﻛﺪام ﮔﺰﻳﻨﻪ اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ؟‬
‫‪starting ABC‬‬ ‫‪.1‬‬
‫‪like ABC%‬‬ ‫‪.2‬‬
‫‪like ABC$‬‬ ‫‪.3‬‬
‫*‪like ABC‬‬ ‫‪.4‬‬
‫ﺟﺪول )‪ S (x , y , z , w‬و )'‪ S'(x , y , z' , w‬را در ﻧﻈﺮ ﮔﺮﻓﺘﻪ و ﺑﮕﻮﺋﻴﺪ ﭘﺲ از‬ ‫‪ -23‬دو‬
‫اﺟﺮاي دﺳﺘﻮر زﻳﺮ‪ ،‬دﻳﺪ ‪ V‬ﭼﻪ ﺳﺘﻮﻧﻬﺎﻳﻲ ﺧﻮاﻫﺪ داﺷﺖ ؟‬
‫‪Create View V AS‬‬
‫)'‪(Select x,y from S) union (select x,y from S‬‬
‫) '‪V (x , y , z , w , z' , w‬‬ ‫‪.1‬‬
‫) ‪V (z' , w‬‬ ‫‪.2‬‬
‫) '‪V (z , w , z' , w‬‬ ‫‪.3‬‬
‫) ‪V (x , y‬‬ ‫‪.4‬‬
‫‪ -24‬در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت‪ ،‬ﻛﺪام دﺳﺘﻮر ﺷﻤﺎره ﻗﻄﻌﻪ ﺗﻤﺎم ﻗﻄﻌﺎﺗﻲ‬
‫را ﻛﻪ ﺗﻮﺳﻂ ﺑﻴﺶ از ﻳﻚ ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪه ﺗﻬﻴﻪ ﺷﺪهاﻧﺪ را ﻣﻲدﻫﺪ ؟‬
‫‪select P# from SP group by S# having count (*)>1 .1‬‬
‫‪select P# from P ,SP where count (*)>1 .2‬‬
‫‪select P# from SP group by P# having count (*)>1 .3‬‬
‫‪select P# from S,P,SP where count (*)>1 .4‬‬
‫‪ -25‬ﺟﺪول ‪ y‬داراي ﺳﺘﻮن ﻫﺎي ‪ price‬و ‪ code‬ﻣﻲﺑﺎﺷﺪ‪ .‬ﻛﺪام دﺳﺘﻮر ﺷﻤﺎره ﻛﺎﻻﺋﻲ ﻛﻪ‬
‫ﺑﺎﻻﺗﺮﻳﻦ ﻗﻴﻤﺖ را دارد‪ ،‬ﭼﺎپ ﻣﻲﻛﻨﺪ ؟‬
‫)‪select code from y where price = (select max(price)from y‬‬ ‫‪.1‬‬
‫)‪select code from y where price = max(price‬‬ ‫‪.2‬‬
‫‪2,1‬‬ ‫‪.3‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 310‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫)‪select code from y first , y second where price = max(price‬‬ ‫‪.4‬‬


‫‪ -26‬در راﺑﻄﻪ ﺑﺎ دﻳﺪ ﺗﻌﺮﻳﻒ ﺷﺪه زﻳﺮ ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ ﻣﻲﺑﺎﺷﺪ ؟ )ﺟﺪول ﭘﺎﻳﻪاي ‪R‬‬
‫داراي ﺳﺘﻮﻧﻬﺎي ‪ x , y , z‬ﻣﻲﺑﺎﺷﺪ (‬
‫) ‪Create view K(x , y ,w‬‬
‫)‪AS select x , y , sum (z‬‬
‫‪From R‬‬
‫‪ .1‬در دﻳﺪ ‪ K‬ﻣﻲﺗﻮان ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را اﻧﺠﺎم داد وﻟﻲ اﺳﺘﻘﻼل دادهاي‬
‫ﻧﻘﺾ ﻣﻲﺷﻮد‪.‬‬
‫‪ .2‬ﭼﻮن ‪ select‬ﻗﺴﻤﺖ ‪ where‬ﻧﺪارد ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي ﻋﻮﻟﺮض ﻧﺎﻣﻄﻠﻮب‬
‫ﺧﻮاﻫﺪ داﺷﺖ‪.‬‬
‫‪ .3‬در دﻳﺪ ‪ k‬ﻧﻤﻲﺗﻮان ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را اﻧﺠﺎم داد‪.‬‬
‫‪ .4‬در دﻳﺪ ‪ k‬ﻣﻲﺗﻮان ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را اﻧﺠﺎم داد‪.‬‬
‫‪ -27‬دﺳﺘﻮر زﻳﺮ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬
‫‪Select distinct S.city ,P.city‬‬
‫‪From (S Join SP using S# ) Join P using P#‬‬

‫‪ .1‬ﺗﻤﺎم زوج ﺷﻬﺮﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه ﺷﻬﺮ اول‪ ،‬ﻗﻄﻌﻪاي را ﺗﻬﻴﻪ ﻣﻲﻛﻨﺪ‬
‫ﻛﻪ در ﺷﻬﺮ دوم اﻧﺒﺎر ﺷﺪه اﺳﺖ‪.‬‬
‫‪ .2‬ﺗﻤﺎم زوج ﺷﻬﺮﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه و ﻣﺤﻞ اﻧﺒﺎر ﻳﻜﻲ اﺳﺖ‪.‬‬
‫‪ .3‬ﺗﻤﺎم زوج ﺷﻬﺮﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه ﺷﻬﺮ دوم‪ ،‬ﻗﻄﻌﻪاي را ﺗﻬﻴﻪ ﻣﻲﻛﻨﺪ‬
‫ﻛﻪ در ﺷﻬﺮ اول اﻧﺒﺎر ﺷﺪه اﺳﺖ‪.‬‬
‫‪ .4‬ﺗﻤﺎم زوج ﺷﻬﺮﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه و ﻣﺤﻞ اﻧﺒﺎر ﻳﻜﻲ ﻧﺒﺎﺷﻨﺪ‪.‬‬
‫‪ -28‬دﺳﺘﻮر زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬
‫‪Select sname from S‬‬
‫)‪Where S# not in (select S# from SP‬‬
‫‪ .1‬ﻧﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم ﻗﻄﻌﺎت را ﺗﻬﻴﻪ ﻣﻲﻛﻨﻨﺪ‪.‬‬
‫‪ .2‬ﻧﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻫﻴﭻ ﻗﻄﻌﻪاي را ﺗﻬﻴﻪ ﻧﻤﻲﻛﻨﻨﺪ‪.‬‬
‫‪ .3‬اﻳﻦ دﺳﺘﻮر ﻏﻠﻂ اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪311‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫ﻧﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﻗﻄﻌﻪ را ﺗﻬﻴﻪ ﻛﺮدهاﻧﺪ‪.‬‬ ‫‪.4‬‬


‫‪ -29‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬دﺳﺘﻮر ‪select S# from SP Group by S# having Count (S#)>3‬‬
‫ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺑﻴﺸﺘﺮ از ‪ 3‬ﻗﻄﻌﻪ ﺗﻬﻴﻪ ﻣﻲﻛﻨﻨﺪ‪.‬‬
‫‪ .2‬دﺳﺘﻮر ‪select S# from SP Group by S# having AVG (Qty)>200‬‬
‫ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻣﻴﺎﻧﮕﻴﻦ ﻗﻄﻌﻪ ﺗﻬﻴﻪ ﺷﺪه آﻧﻬﺎ ﺑﻴﺸﺘﺮ از ‪ 200‬ﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬ﻫﻴﭽﻜﺪام‬
‫‪ .4‬ﻫﺮ دو‬
‫‪ -30‬ﺟﺪول داﻧﺸﺠﻮ )‪ (stud‬ﺷﺎﻣﻞ دو ﺳﺘﻮن ﻧﺎم )‪ ( Sname‬و ﻣﻌﺪل )‪ ( m‬ﻣﻲﺑﺎﺷﺪ‪ .‬ﻛﺪام‬
‫دﺳﺘﻮر ﻧﺎم داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻣﻌﺪل آﻧﻬﺎ از ﻣﻴﺎﻧﮕﻴﻦ ﻫﻤﻪ ﻣﻌﺪل ﻫﺎ ﺑﻴﺸﺘﺮ اﺳﺖ ؟‬
‫‪Select Sname from stud where m> AVG (m) .1‬‬
‫‪Select Sname from stud where m> (select AVG (m) from stud) .2‬‬
‫‪ .3‬ﻫﻴﭽﻜﺪام‬
‫‪ .4‬ﻫﺮدو‬
‫‪ -31‬ﻛﺪام دﺳﺘﻮر ﺳﻄﺮﻫﺎﻳﻲ از ﺟﺪول ‪ S‬را ﻣﻲدﻫﺪ ﻛﻪ ﺳﺘﻮن ‪ city‬آن ﻧﺎﺷﻨﺎﺧﺘﻪ‬
‫ﻧﻤﻲﺑﺎﺷﺪ؟‬
‫‪select * from S where city is not NULL .1‬‬
‫‪select * from S where not (city is NULL) .2‬‬
‫‪2,1 .3‬‬
‫‪select * from S where city = not NULL .4‬‬
‫‪Group by -32‬در ‪ SQL‬ﭘﻴﺎده ﺳﺎزي ﻛﺪام ﻋﻤﻠﮕﺮ در ﺟﺒﺮ راﺑﻄﻪاي اﺳﺖ ؟‬
‫‪Restrict .1‬‬
‫‪Summarize .2‬‬
‫‪extend .3‬‬
‫‪union .4‬‬
‫‪ -33‬ﻋﻤﻠﮕﺮ ‪ IN‬در ‪ SQL‬ﻣﻌﺎدل ﻛﺪام ﻋﻤﻠﮕﺮ اﺳﺖ ؟‬
‫‪=ANY‬‬ ‫‪.1‬‬
‫‪<ANY‬‬ ‫‪.2‬‬
‫‪ALL‬‬ ‫‪.3‬‬
‫‪= ALL‬‬ ‫‪.4‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 312‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ -34‬ﻛﺪام ﻧﻮع ﺟﺪول ﻫﻤﻮاره ﻗﺎﺑﻞ دﺳﺘﺮﺳﻲ اﺳﺖ وﻟﻲ ﻣﻤﻜﻦ اﺳﺖ ﺑﻬﻨﮕﺎم ﺳﺎزي در آن‬
‫اﻣﻜﺎن ﭘﺬﻳﺮ ﻧﺒﺎﺷﺪ ؟‬
‫‪ .1‬ﺟﺪول اﺻﻠﻲ‬
‫‪ .2‬ﺟﺪول ﻣﺠﺎزي‬
‫‪ .3‬ﺟﺪول ﻣﻮﻗﺘﻲ‬
‫‪ .4‬ﻫﺮﺳﻪ ﮔﺰﻳﻨﻪ‬
‫‪ -35‬ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ را ﻛﺎﻣﻼ راﺑﻄﻪاي )‪ ( Fully relational‬ﮔﻮﻳﻴﻢ اﮔﺮ‪:‬‬
‫‪ .1‬ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻔﺎﻫﻴﻢ و ﺳﺎﺧﺘﺎر راﺑﻄﻪاي ﺑﻮده و در ‪ DSL‬آن‪ ،‬ﻫﻤﺎن زﺑﺎن ﺟﺒﺮ‬
‫راﺑﻄﻪاي ﺑﺎﺷﺪ‪.‬‬
‫‪ .2‬ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻔﺎﻫﻴﻢ و ﺳﺎﺧﺘﺎر راﺑﻄﻪاي ﺑﻮده و در ‪ DSL‬آن‪ ،‬ﻫﻤﺎن زﺑﺎن ﻣﺤﺎﺳﺒﺎت‬
‫راﺑﻄﻪاي ﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻔﺎﻫﻴﻢ و ﺳﺎﺧﺘﺎر راﺑﻄﻪاي ﺑﻮده و در ‪ DSL‬آن ﺣﺪاﻗﻞ ﻫﻢ ﺗﻮان زﺑﺎن‬
‫ﻣﺤﺎﺳﺒﺎت راﺑﻄﻪاي ﺑﺎﺷﺪ‪.‬‬
‫‪ .4‬ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻔﺎﻫﻴﻢ و ﺳﺎﺧﺘﺎر راﺑﻄﻪاي ﺑﻮده و در ‪ DSL‬آن ﺣﺪاﻗﻞ ﻫﻢ ﺗﻮان زﺑﺎن‬
‫ﺟﺒﺮ راﺑﻄﻪاي ﺑﺎﺷﺪ‪.‬‬

‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪8‬‬


‫‪ SQL (1) -1‬زﺑﺎن ﭘﺮس و ﺟﻮي ﺳﺎﺧﺘﻴﺎﻓﺘﻪ و ﻗﻮي ﺑﺮاياﻳﺠﺎد‪ ،‬ﺟﺴﺘﺠﻮ و دﺳﺘﻜﺎري‬
‫دادهﻫﺎي ﻳﻚ ﺑﺎﻧﻚ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ (4) -2‬دﺳﺘﻮر ‪ select‬ﻓﻘﻂ ﺑﺮاي ﺟﺴﺘﺠﻮ در ﺑﺎﻧﻚ اﺳﺖ و ﺗﻐﻴﻴﺮي را در آناﻳﺠﺎد‬
‫ﻧﻤﻲﻛﻨﺪ‪ .‬ﺗﻨﻬﺎ دﺳﺘﻮراﺗﻲ ﻛﻪ ﺑﺎﻋﺚ ﺗﻐﻴﻴﺮ در ﺑﺎﻧﻚ ﻣﻲﺷﻮﻧﺪ ﻣﻲﺗﻮاﻧﻨﺪ اﺣﺘﻤﺎﻻ ﺑﺎﻋﺚ‬
‫ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ ﺷﻮﻧﺪ‪ .‬دﺳﺘﻮر ‪ INSERT‬ﺑﺮاي درج‪ DELETE ،‬ﺑﺮاي ﺣﺬف و‬
‫‪ UPDATE‬ﺑﺮاي ﺗﻐﻴﻴﺮ اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪313‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ (2) -3‬ﺷﺮط ﺟﻠﻮي ‪ Where‬ﻣﻲﮔﻮﻳﻴﺪ ﺷﻬﺮ ﻫﺮ ﺳﻪ )ﺗﻮﻟﻴﺪﻛﻨﻨﺪه‪-‬ﻗﻄﻌﻪ و ﭘﺮوژه( ﺑﺎﻳﺪ‬


‫ﻳﻜﻲ ﺑﺎﺷﺪ‪.‬‬
‫‪(3) -4‬‬
‫‪ (1) -5‬اﻟﺒﺘﻪ ﻇﺎﻫﺮا ﮔﺰﻳﻨﻪ ‪ 2‬ﻧﻴﺰ درﺳﺖ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ (1) -6‬ﺑﻪ ﺟﺎي ﻋﻼﻣﺖ ‪ %‬ﻫﺮ ﻛﺎراﻛﺘﺮ ﻳﺎ ﻣﺠﻤﻮﻋﻪاي از ﻛﺎراﻛﺘﺮﻫﺎ ﻣﻲﺗﻮاﻧﺪ ﻗﺮار ﮔﻴﺮد ﻣﺜﻞ‬
‫* ﻣﻮﺟﻮد در ‪DOS‬‬
‫‪ (4) -7‬اﮔﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﺧﺮوﺟﻲ اﺷﺘﺮاك ﺑﻴﻦ دو ﺳﺘﻮن ‪ Name‬در دو ﺟﺪول ‪ S‬و ‪T‬‬
‫ﻣﻲﺑﺎﺷﺪ ﺑﺮاي ﻳﺎﻓﺘﻦ اﺷﺘﺮاك دو ﺟﺪول از ‪ Intersect‬اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ‪.‬‬
‫‪ (3) -8‬اﮔﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﺧﺮوﺟﻲ ﺗﻔﺎﺿﻞ ‪ S-T‬ﻣﻲﺑﺎﺷﺪ ﻳﻌﻨﻲ ﭼﻪ ﻧﺎم ﻫﺎﻳﻲ در ﺟﺪول ‪S‬‬
‫ﻫﺴﺖ ﻛﻪ در ﺟﺪول ‪ T‬ﻧﻴﺴﺖ‪.‬‬
‫‪ (1) -9‬اوﻟﻴﻦ ﻗﺪم در ﭘﺮدازشاﻳﻦ ﺗﻘﺎﺿﺎاﻳﻦ اﺳﺖ ﻛﻪ ﻋﺒﺎرﺗﻲ ﻛﻪ ‪ V‬را ﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﺪ ﺑﻪ‬
‫ﺟﺎي ‪ V‬ﻗﺮار دﻫﻴﻢ‪:‬‬
‫)} ‪((((S JION SP) where P# = 'P2') {S# , City‬‬
‫}‪Where city = 'London') {S#‬‬
‫اﻳﻦ ﻋﺒﺎرت ﺑﻪ ﺻﻮرت زﻳﺮ ﺧﻼﺻﻪ ﻣﻲﺷﻮد‪:‬‬
‫‪((S Where city = 'London') Join‬‬
‫}‪(SP Where P# = 'P2')) {S#‬‬
‫‪(1) -10‬‬
‫‪(3) -11‬‬
‫‪ (2) -12‬اﺑﺘﺪا ‪ select‬داﺧﻠﻲ اﺟﺮا ﺷﺪه و ﺷﻬﺮ ‪ S1‬را ﻣﻲدﻫﺪ و ﺳﭙﺲ ‪ select‬ﺑﻴﺮوﻧﻲ‬
‫اﺟﺮا ﻣﻲﺷﻮد و ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻫﻤﺸﻬﺮي ‪ S1‬ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬
‫))‪ALTER table student Modify (Lname char (40‬‬ ‫‪ (1) -13‬ﻣﺜﻼ‬
‫‪(3) -14‬‬
‫‪(4) -15‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 314‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫ﮔﺰﻳﻨﻪ ‪ :1‬اﻳﻨﻜﻪ در ‪ SQL‬ﻳﻚ ﻋﻤﻞ را ﻣﻲﺗﻮان ﺑﻪ ﺻﻮرت ﻫﺎي ﻣﺨﺘﻠﻒ اﻧﺠﺎم داد ﻳﻜﻲ از‬
‫ﻣﻌﺎﻳﺐ ‪ SQL‬ﺑﻪ ﺣﺴﺎب ﻣﻲآﻳﺪ ﭼﺮا ﻛﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ را ﺑﺎاﻳﻦ ﻣﺴﺎﻟﻪ درﮔﻴﺮ ﻣﻲﻛﻨﺪ ﻛﻪ‬
‫ﻛﺪام راه ﺣﻞ ﻛﺎراﺗﺮ اﺳﺖ‪.‬‬
‫ﮔﺰﻳﻨﻪ ‪ :2‬ﭘﻴﻮﻧﺪ ﺟﺪاول ﻛﺎراﺗﺮ از ‪ select‬ﻣﺘﺪاﺧﻞ اﺳﺖ‪.‬‬
‫ﮔﺰﻳﻨﻪ ‪ Count (*) :3‬ﺑﺮاي ﺷﻤﺎرش ﺳﻄﺮﻫﺎي ﺟﺪاول اﺳﺘﻔﺎده ﻣﻲﺷﻮد دراﻳﻦ ﺗﺎﺑﻊ‬
‫ﻧﻤﻲﺗﻮان از ‪ Distinct‬اﺳﺘﻔﺎده ﻛﺮد و ﺳﻄﺮﻫﺎي ‪ NULL‬را ﻫﻢ ﻣﻲﺷﻤﺎرد‪.‬‬
‫‪ SQL (4) -16‬ﻳﻚ زﺑﺎن ﻣﺤﺎورهاي و ﻏﻴﺮ روﻳﻪاي )‪ (non- procedural‬اﺳﺖ ﻛﻪ در آن‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ ﺗﻨﻬﺎ ﻣﻲﮔﻮﻳﺪ ﭼﻪ ﻣﻲﺧﻮاﻫﺪ وﻟﻲ روش ﺑﺪﺳﺖ آوردن ﺟﻮاب را ﻣﻌﻴﻦ‬
‫ﻧﻤﻲﺳﺎزد‪ .‬در راﺑﻄﻪ ﺑﺎ ﮔﺰﻳﻨﻪ )‪ (1‬ﻣﻤﻜﻦ اﺳﺖ ﺑﮕﻮﺋﻴﺪ ﺧﺮوﺟﻲ ﻣﻲﺗﻮاﻧﺪ ﻳﻚ ﻋﺪد ﺗﻨﻬﺎ‬
‫ﺑﺎﺷﺪ‪ .‬وﻟﻲ ﻫﻤﻴﻦ ﻋﺪد ﺗﻨﻬﺎ ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟﻲ ﻳﻚ دﺳﺘﻮر ‪ ،SQL‬در واﻗﻊ راﺑﻄﻪاي اﺳﺖ‬
‫ﻛﻪ ﻳﻚ ﺳﻄﺮ و ﻳﻚ ﺳﺘﻮن دارد‪.‬‬
‫‪(2) -17‬‬
‫‪(1) -18‬‬
‫‪(2) -19‬‬
‫‪(2) -20‬‬
‫‪(2) -21‬‬
‫‪(2) -22‬‬
‫‪(4) -23‬‬
‫‪(3) -24‬‬
‫‪(1) -25‬‬
‫‪ (3) -26‬اﮔﺮ در دﻳﺪ ‪ K‬ﺗﻐﻴﻴﺮاﺗﻲ دﻫﻴﻢ ﻛﻪ ﺳﺘﻮن ‪ W‬آن )ﻛﻪ ﺟﻤﻊ ﺳﺘﻮن ‪ z‬ﺟﺪول ﭘﺎﻳﻪاي‬
‫‪ R‬ﻣﻲﺑﺎﺷﺪ(ﺗﻐﻴﻴﺮ ﻛﻨﺪ‪ ،‬آﻧﮕﺎه ‪ DBMS‬ﻧﻤﻲﺗﻮاﻧﺪ ﺗﻐﻴﻴﺮات ‪ W‬را ﺑﻪ ‪ Z‬اﻋﻤﺎل ﻛﻨﺪ‪.‬‬
‫‪(1) -27‬‬
‫‪(2) -28‬‬
‫‪www.PDFgozar.com‬‬

‫‪315‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪(4) -29‬‬
‫‪ (2) -30‬ﺑﺎﻳﺪ ﺗﻮﺟﻪ داﺷﺖ ﻛﻪ ﮔﺰﻳﻨﻪ ‪ 1‬ﻧﺎدرﺳﺖ اﺳﺖ و ﺟﻮاب ﻏﻠﻄﻲ ﻣﻲدﻫﺪ‪ .‬ﭼﺮا ﻛﻪ‬
‫ﺗﺎ ﻫﺮ ﺟﺎي ﺟﺪول ﻛﻪ ﭘﻴﺶ ﻣﻲرود‪ ،‬ﻣﻘﺪار ﺗﺪرﻳﺠﻲ )‪ AVG(m‬ﻋﺪدي ﻏﻠﻂ را ﻧﺸﺎن‬
‫ﻣﻲدﻫﺪ در ﺻﻮرﺗﻲ ﻛﻪ اﮔﺮ ﻣﺜﻼ داﻧﺸﺠﻮي ﺳﻄﺮ دﻫﻢ ﻣﻌﺪﻟﺶ ازاﻳﻦ ﻋﺪد ﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ‪ ،‬در‬
‫ﺧﺮوﺟﻲ ﻇﺎﻫﺮ ﻣﻲﺷﻮد‪ .‬در ﮔﺰﻳﻨﻪ ‪ 2‬اﺑﺘﺪا ‪ select‬داﺧﻠﻲ اﺟﺮاء ﺷﺪه و ﻧﺘﻴﺠﻪ آن ﻛﻪ ﻳﻚ‬
‫ﻋﺪد اﺳﺖ اﺳﺘﺨﺮاج ﻣﻲﮔﺮدد‪.‬‬
‫‪ (3) -31‬ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ دو ﻋﺒﺎرت زﻳﺮ ﻣﻌﺎدل ﻳﻜﺪﻳﮕﺮﻧﺪ‪:‬‬
‫‪ > is not NULL‬ﻧﺎم ﺳﺘﻮن <‬ ‫) ‪ > is NULL‬ﻧﺎم ﺳﺘﻮن < ( ‪NOT‬‬
‫‪(2) -32‬‬
‫‪(1) -33‬‬
‫‪(2) -34‬‬
‫‪(1) -35‬‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪9‬‬


‫‪ -1‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ))واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ (( درﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﺻﻔﺖ ﺧﺎﺻﻪ ‪ Y‬از راﺑﻄﻪ ‪ R‬ﺑﺎ ﺻﻔﺖ ﺧﺎﺻﻪ ‪ X‬از راﺑﻄﻪ ‪ R‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬
‫ﻛﺎﻣﻞ دارد‪ ،‬اﮔﺮ ‪ Y‬ﺑﺎ ‪ X‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ داﺷﺘﻪ ﺑﺎﺷﺪ وﻟﻲ ﺑﺎ ﻫﻴﭻ ﻳﻚ از زﻳﺮ‬
‫ﻣﺠﻤﻮﻋﻪﻫﺎي ‪ X‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ .2‬ﺻﻔﺖ ﺧﺎﺻﻪ ‪ Y‬از راﺑﻄﻪ ‪ R‬ﺑﺎ ﺻﻔﺖ ﺧﺎﺻﻪ ‪ X‬از راﺑﻄﻪ ‪ R‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ دارد‬
‫اﮔﺮ و ﻓﻘﻂ اﮔﺮ در ﻃﻮل ﺣﻴﺎت راﺑﻄﻪ ﺑﻪ ﻫﺮ ﻣﻘﺪار ‪ X‬ﺣﺪاﻗﻞ ﻳﻚ ﻣﻘﺪار ‪Y‬‬
‫ﻣﺘﻨﺎﻇﺮ ﺑﺎﺷﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 316‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .3‬ﻫﺮ دو‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -2‬اﮔﺮ راﺑﻄﻪ }‪ R= {A,B,C,D,E,F,G‬داراي ‪ FD‬ﻫﺎي زﻳﺮ ﺑﺎﺷﺪ‪:‬‬
‫}‪F= { AF→BE , FC→DE , F→CD , D→E , C→A‬‬
‫ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﻳﻦ راﺑﻄﻪ ﻛﺪام اﺳﺖ ؟‬
‫‪(A,F,C,D) .1‬‬
‫‪(F,A) .2‬‬
‫‪(F,A,G) .3‬‬
‫‪(F,G) .4‬‬
‫‪ -3‬ﻛﺪام ﻣﺠﻤﻮﻋﻪ ‪ FD‬ﻫﺎ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮﻧﺪ ؟‬
‫‪F = { A→BC , A→D , A→E } .1‬‬
‫‪F = {AB→C , A→B , A→D , A→E } .2‬‬
‫‪F = {A→B , A→C , A→D , A→E } .3‬‬
‫‪F = {A→A , A→B , A→C , A→D , A→E } .4‬‬
‫‪ -4‬در راﺑﻄﻪ } ‪ R = { A,B,C,D‬واﺑﺴﺘﮕﻲ ﻫﺎي زﻳﺮ وﺟﻮد دارد‪:‬‬
‫}‪F= {A→BE , B→C , A→B , AB→C , AC→D‬‬
‫ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ )ﻛﻤﻴﻨﻪ( از واﺑﺴﺘﮕﻲ ﻫﺎ ﻛﺪام اﺳﺖ ؟‬
‫‪{ A→B , B→C , A→D } .1‬‬
‫‪{ A→B , A→C , A→D } .2‬‬
‫‪{ B→C , B→D , A→C } .3‬‬
‫‪{ A→B , B→D , D→C} .4‬‬
‫‪ -5‬راﺑﻄﻪ }‪ R = { A,B,C,D,E,F,G‬داراي واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﺎﺑﻌﻲ زﻳﺮ اﺳﺖ‪:‬‬
‫} ‪F= {A→B , BC→DE , AEF→G‬‬
‫ﻛﺪام واﺑﺴﺘﮕﻲ از آن ﻗﺎﺑﻞ اﺳﺘﻨﺘﺎج اﺳﺖ ؟‬
‫‪ACF→DG‬‬ ‫‪.1‬‬
‫‪AC→DE‬‬ ‫‪.2‬‬
‫‪EF→G‬‬ ‫‪.3‬‬
‫‪1 .4‬و‪2‬‬
‫‪ -6‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ دو ﻣﺠﻤﻮﻋﻪ از ‪FD‬ﻫﺎي زﻳﺮ ﺑﺮاي راﺑﻄﻪ }‪R={A,B,C,D,E‬‬
‫درﺳﺖ اﺳﺖ ؟‬
‫} ‪F= {A→B , AB→C, D→AC , D→E‬‬
‫} ‪G= {A→BC , D→AE‬‬
‫‪ G .1‬و ‪ F‬ﻫﻢ ارزﻧﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪317‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ G .2‬و ‪ F‬ﻫﻢ ارز ﻧﻴﺴﺘﻨﺪ‪.‬‬


‫‪ G .3‬ﻣﺠﻤﻮﻋﻪ ﻛﻤﻴﻨﻪ ‪ F‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ F .4‬ﻣﺠﻤﻮﻋﻪ ﺑﻬﻴﻨﻪ ‪ G‬ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫‪ -7‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﺑﺮاي ﻫﺮ ﻣﺠﻤﻮﻋﻪ از ‪ FD‬ﻫﺎ‪ ،‬ﺣﺪاﻛﺜﺮ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻫﻢ ارز وﺟﻮد دارد ﻛﻪ‬
‫ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ اﺳﺖ‪.‬‬
‫‪ .2‬ﺑﺮاي ﻫﺮ ﻣﺠﻤﻮﻋﻪ از ‪ FD‬ﻫﺎ‪ ،‬ﺣﺪاﻗﻞ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻫﻢ ارز وﺟﻮد دارد ﻛﻪ‬
‫ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ اﺳﺖ‪.‬‬
‫‪ .3‬ﺑﺮاي ﻫﺮ ﻣﺠﻤﻮﻋﻪ از ‪ FD‬ﻫﺎ‪ ،‬دﻗﻴﻘﺎ و ﻓﻘﻂ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻫﻢ ارز وﺟﻮد دارد ﻛﻪ‬
‫ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ اﺳﺖ‪.‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -8‬اﮔﺮ ﺑﺮاي راﺑﻄﻪ }‪ R= { A,B,C,D,E,F,G,H,I,J‬واﺑﺴﺘﮕﻲ ﻫﺎي زﻳﺮ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ‬
‫ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ ﺧﻮاﻫﺪ ﺑﻮد ؟‬
‫}‪F= {ABC→E ,AB→G , B→F , C→J , CJ→I , G→H‬‬
‫‪ F .1‬ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﭘﺬﻳﺮ اﺳﺖ و }‪ {A,B,C,D‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ‪.‬‬
‫‪ F .2‬ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ اﺳﺖ و }‪ {A,B,C,D‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ‪.‬‬
‫‪ F .3‬ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ اﺳﺖ و }‪ {A,B,C,D,G‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ‪.‬‬
‫‪ F .4‬ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﭘﺬﻳﺮ اﺳﺖ و }‪ {A,B,C‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ‪.‬‬
‫‪ -9‬راﺑﻄﻪ ‪ TIMETABLE‬را ﺑﺎ ﺻﻔﺎت زﻳﺮ در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪:‬‬
‫ﺷﻤﺎره روز ﻫﻔﺘﻪ = ‪D‬‬ ‫و‬ ‫دوره زﻣﺎﻧﻲ در روز )‪ 1‬ﺗﺎ ‪P =( 8‬‬
‫ﺷﻤﺎره ﻛﻼس = ‪C‬‬ ‫ﻧﺎم ﻣﻌﻠﻢ =‪T‬‬ ‫ﺷﻤﺎره درس = ‪L‬‬
‫ﻓﺮض ﻛﻨﻴﺪ ﻫﺮ درس در دوره ﺧﺎﺻﻲ )‪ (D,P‬اراﺋﻪ ﻣﻲﺷﻮد و ﺷﻤﺎره دروس ﻣﻨﺤﺼﺮ ﺑﻪ‬
‫ﻓﺮد ﻣﻲﺑﺎﺷﻨﺪ‪ .‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪاﻳﻦ راﺑﻄﻪ ﻛﺪام اﺳﺖ ؟‬
‫‪L‬‬ ‫‪.1‬‬
‫‪DPC‬‬ ‫‪.2‬‬
‫‪DPT‬‬ ‫‪.3‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 318‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .4‬ﻫﺮﺳﻪ ﮔﺰﻳﻨﻪ‬
‫‪ -10‬ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ ﻣﺠﻤﻮﻋﻪ واﺑﺴﺘﮕﻲ زﻳﺮ ﻛﺪام اﺳﺖ ؟‬
‫}‪F={A→D , A→C , CD→B , AD→C‬‬
‫}‪{CD→B , AD→C‬‬ ‫‪.1‬‬
‫}‪{A→D , A→C , AD→C‬‬ ‫‪.2‬‬
‫}‪{A→D , CD→B , AD→C‬‬ ‫‪.3‬‬
‫} ‪{A→D , A→C , CD→B‬‬ ‫‪.4‬‬
‫‪ -11‬از ﻣﺠﻤﻮﻋﻪ ‪ FD‬زﻳﺮ ﻛﺪام راﺑﻄﻪ را ﻧﻤﻲﺗﻮان اﺳﺘﻨﺘﺎج ﻛﺮد ؟‬
‫}‪F= {A→D, CD→B , AD→C‬‬
‫‪C→B‬‬ ‫‪.1‬‬
‫‪A→B‬‬ ‫‪.2‬‬
‫‪A→C‬‬ ‫‪.3‬‬
‫‪A→CD‬‬ ‫‪.4‬‬
‫‪ -12‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﺑﻪ ﻣﺠﻤﻮﻋﻪ ﺗﻤﺎم واﺑﺴﺘﮕﻲ ﻫﺎي اﺳﺘﻨﺘﺎج ﺷﺪه‪ ،‬ﻣﺠﻤﻮﻋﻪ ﭘﻮﺷﺸﻲ ﻣﻲﮔﻮﺋﻴﻢ‪.‬‬
‫‪ .2‬اﮔﺮ ﻣﺠﻤﻮﻋﻪ ﭘﻮﺷﺸﻲ دو ﻣﺠﻤﻮﻋﻪ ‪ FD‬ﺑﺎ ﻫﻢ ﺑﺮاﺑﺮ ﺑﺎﺷﻨﺪ آﻧﮕﺎه دو ﻣﺠﻤﻮﻋﻪ‬
‫واﺑﺴﺘﮕﻲ ﺑﺎ ﻫﻢ ﻣﻌﺎدﻟﻨﺪ‪.‬‬
‫‪ .3‬ﻗﻮاﻧﻴﻦ ‪ 3‬ﮔﺎﻧﻪ آرﻣﺴﺘﺮاﻧﮓ ﺑﺮاي ﺑﺪﺳﺖ آوردن ﻣﺠﻤﻮﻋﻪ ﭘﻮﺷﺸﻲ ﻛﺎﻓﻲ اﺳﺖ‪.‬‬
‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬
‫‪ -13‬ﻧﻤﻮدار واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‪:‬‬
‫‪ .1‬ﻧﻤﻮداري اﺳﺖ ﻛﻪ ﺟﺪاول را ﺗﺠﺰﻳﻪ ﻣﻲﻛﻨﺪ‪.‬‬
‫‪ .2‬ﻧﻤﻮداري اﺳﺖ ﻛﻪ ﺷﺮوع ﻛﺎر آن ﺑﺎ ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ اﺳﺖ‪.‬‬
‫‪ .3‬ﻧﻤﻮداري اﺳﺖ ﻛﻪ ﺷﺮوع ﻛﺎر آن ﺑﺎ ﻛﻠﻴﺪﻫﺎي ﺧﺎرﺟﻲ اﺳﺖ‪.‬‬
‫‪ .4‬ﻧﻤﻮداري اﺳﺖ ﻛﻪ واﺑﺴﺘﮕﻲ ﺑﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ را ﻧﻤﺎﻳﺶ ﻣﻲدﻫﺪ‪.‬‬
‫‪ -14‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺑﺪﻳﻬﻲ ﻛﺪام اﺳﺖ ؟‬
‫‪ .1‬اﮔﺮ ﺳﻤﺖ ﭼﭗ آن‪ ،‬زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از ﺳﻤﺖ راﺳﺖ ﺑﺎﺷﺪ‪.‬‬
‫‪ .2‬اﮔﺮ ﺳﻤﺖ ﭼﭗ آن ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪ ﺷﺪن ﻧﺒﺎﺷﺪ‪.‬‬
‫‪ .3‬اﮔﺮ ﺳﻤﺖ راﺳﺖ آن ﻓﻘﻂ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ .4‬اﮔﺮ ﺳﻤﺖ راﺳﺖ آن‪ ،‬زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از ﺳﻤﺖ ﭼﭗ ﺑﺎﺷﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪319‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ -15‬در راﺑﻄﻪ }‪ R = {A,B,C,D,E,F,G‬ﺑﺎ ‪ FD‬ﻫﺎي زﻳﺮ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻛﺪام اﺳﺖ ؟‬


‫}‪F= {D→A , E→B , A→B , AB→EFC‬‬
‫)‪(A,B,D‬‬ ‫‪.1‬‬
‫)‪(D‬‬ ‫‪.2‬‬
‫)‪(D,G‬‬ ‫‪.3‬‬
‫)‪(B,D,E‬‬ ‫‪.4‬‬
‫‪ -16‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬در راﺑﻄﻪ ﺗﻤﺎم ﻛﻠﻴﺪ‪ ،‬ﺑﻴﻦ اﺟﺰاي ﻛﻠﻴﺪ ﻣﻲﺗﻮاﻧﺪ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ وﺟﻮد داﺷﺘﻪ‬
‫ﺑﺎﺷﺪ‪.‬‬
‫‪ .2‬اﮔﺮ ‪ K‬ﺳﻮﭘﺮ ﻛﻠﻴﺪ راﺑﻄﻪ ‪ R‬ﺑﺎﺷﺪ آﻧﮕﺎه ﻣﺠﻤﻮﻋﻪ ﻋﻨﻮان ‪ R‬ﺑﺎ ‪ K‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬
‫دارد‪.‬‬
‫‪ .3‬از ‪ AB→C‬در ﺣﺎﻟﺖ ﻛﻠﻲ ﻧﻤﻲﺗﻮان ﻧﺘﻴﺠﻪ ﮔﺮﻓﺖ ﻛﻪ ‪ B→C‬و‪A→C‬‬
‫‪ FD .4‬ﻫﺎ ﻣﺤﺪودﻳﺖ ﺟﺎﻣﻌﻴﺖ را ﻧﺸﺎن ﻣﻲدﻫﻨﺪ‪.‬‬
‫‪ -17‬راﺑﻄﻪ )‪ REL(X,Y,Z‬را در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ‪ .‬ﻛﺪام ﻳﻚ از ﮔﺰارهﻫﺎي زﻳﺮ ﻧﺎدرﺳﺖ‬
‫اﺳﺖ؟‬
‫‪ .1‬اﮔﺮ ‪ X→Y‬و ‪ Y→X‬دارﻳﻢ‪X→Z:‬‬
‫‪ .2‬راﺑﻄﻪ ‪ REL‬ﺣﺎﺻﻞ ‪ JOIN‬دو راﺑﻄﻪ )‪ REL1(X,Y‬و )‪ REL2(X,Z‬اﺳﺖ اﮔﺮ و‬
‫ﻓﻘﻂ اﮔﺮ داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪X→Y :‬‬
‫‪ .3‬اﮔﺮ ‪ Y→X‬و‪ Z→X‬دارﻳﻢ‪(Y,Z)→X :‬‬
‫‪ .4‬اﮔﺮ ‪ X→Y‬و‪ X→Z‬دارﻳﻢ‪X→(Y,Z) :‬‬

‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪9‬‬


‫‪(1) -1‬ﺻﻔﺖ ﺧﺎﺻﻪ ‪ Y‬از راﺑﻄﻪ ‪ R‬ﺑﺎ ﺻﻔﺖ ﺧﺎﺻﻪ ‪ X‬از راﺑﻄﻪ ‪ R‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ دارد و‬
‫ﻣﻲﻧﻮﻳﺴﻴﻢ ‪ R.X→R.Y‬اﮔﺮ و ﻓﻘﻂ اﮔﺮ در ﻃﻮل ﺣﻴﺎت راﺑﻄﻪ ﺑﻪ ﻫﺮ ﻣﻘﺪار از ‪ X‬در راﺑﻄﻪ‬
‫دﻗﻴﻘﺎ ﻳﻚ ﻣﻘﺪار ‪ Y‬از راﺑﻄﻪ ‪ R‬ﻣﺘﻨﺎﻇﺮ ﺑﺎﺷﺪ‪.‬‬
‫‪ (4) -2‬اﺑﺘﺪا ‪ FOPT‬را ﺑﺪﺳﺖ ﻣﻲآورﻳﻢ‪:‬‬
‫‪AF→BE AF→B , AF→E‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 320‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪FC→DE  FC→D , FC→E‬‬


‫‪F→CD F→C , F→D‬‬
‫‪F→C , FC→DE  F→DE F→D , F→E‬‬
‫‪F→C , C→A  F→A‬‬
‫‪F→A , FA→B  F→B‬‬
‫‪F→A , FA→E  F→E‬‬
‫}‪FOPT = {F→A,F→B,F→C,F→D,F→E,D→E,C→A‬‬
‫ﭘﺲ ‪ F‬ﻫﻤﻪ ﺻﻔﺘﻬﺎي دﻳﮕﺮ ﺑﻪ ﺟﺰ‪ G‬را ﻣﻲدﻫﺪ ﭘﺲ )‪ (F,G‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ‪.‬اﻳﻦ ﻛﻠﻴﺪ‬
‫ﻣﻨﺤﺼﺮ ﺑﻪ ﻓﺮد اﺳﺖ زﻳﺮا ﻫﻴﭻ ﺻﻔﺘﻲ ‪ F‬و ‪ G‬را ﻧﻤﻲدﻫﺪ‪ .‬ﻳﻌﻨﻲ در ﻫﺮ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ دﻳﮕﺮ‬
‫وﺟﻮداﻳﻦ دو ﺻﻔﺖ ﻻزم اﺳﺖ‪.‬‬
‫‪ (3) -3‬در ﮔﺰﻳﻨﻪ ‪ 1‬در ‪ A→BC‬ﺳﻤﺖ راﺳﺖ ﻳﻚ ﺻﻔﺖ ﺗﻨﻬﺎ ﻧﻴﺴﺖ‪.‬‬
‫ﻳﻌﻨﻲ ﺳﻤﺖ ﭼﭗ ﻗﺎﺑﻞ ﻛﺎﻫﺶ اﺳﺖ‪.‬‬ ‫در ﮔﺰﻳﻨﻪ ‪A→B , AB→C  A→C :2‬‬
‫در ﮔﺰﻳﻨﻪ ‪ A→A :4‬ﻗﺎﺑﻞ ﺣﺬف ﺷﺪن اﺳﺖ و ﻋﻀﻮ زاﺋﺪي اﺳﺖ‪.‬‬
‫‪(1) -4‬‬
‫‪A→BC  A→B , A→C‬‬
‫‪A→B , AB→C  A→C‬‬
‫‪A→C , AC→D , A→D‬‬
‫}‪ F={A→B , A→C , B→C , A→B , A→C , A→D‬‬
‫}‪F={A→B , A→C , B→C , A→D‬‬
‫از آﻧﺠﺎ ﻛﻪ‪:‬‬
‫‪A→B , B→C  A→C‬‬
‫}‪Fmin = {A→B , B→C , A→D‬‬ ‫ﭘﺲ‬

‫‪(4) -5‬‬
‫‪(1) -6‬‬
‫‪ :A→B , AB→C A→C‬ﻣﺠﻤﻮﻋﻪ ‪F‬‬
‫‪D→AC  D→A , D→C‬‬
‫} ‪F= {A→B , A→C , D→A , D→C , D→E‬‬
‫} ‪Fmin = {A→B , A→C , D→A , D→E‬‬
‫} ‪ → Gmin= {A→B , A→C , D→A , D→E‬ﻣﺠﻤﻮﻋﻪ ‪G‬‬
‫‪(2) -7‬‬
‫‪(1) -8‬‬
‫‪www.PDFgozar.com‬‬

‫‪321‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪C → J , CJ→I  C→I‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﭘﺬﻳﺮ اﺳﺖ ﭼﺮا ﻛﻪ‬


‫}‪ {A,B,C,D,G,J‬ﻳﻚ ﻓﻮق ﻛﻠﻴﺪ اﺳﺖ )ﻣﺠﻤﻮﻋﻪاي از ﺗﻤﺎم ﺻﻔﺎﺗﻲ ﻛﻪ در ﺳﻤﺖ ﭼﭗ‬
‫‪ FD‬ﻫﺎ وﺟﻮد دارد (‪ .‬ﺑﻪ دﻟﻴﻞ وﺟﻮد ‪ C →J‬ﻣﻲﺗﻮاﻧﻴﻢ ‪ J‬را از ﻣﺠﻤﻮﻋﻪ ﻓﻮق ﺣﺬف ﻛﻨﻴﻢ‪.‬‬
‫ﺑﻪ دﻟﻴﻞ وﺟﻮد ‪ AB→G‬ﻣﻲﺗﻮاﻧﻴﻢ ‪ G‬را از ﻣﺠﻤﻮﻋﻪ ﺣﺬف ﻛﻨﻴﻢ‪.‬ﭼﻮن ‪ A‬و ‪ B‬و ‪ C‬و‪D‬‬
‫ﻫﻴﭽﻜﺪام در ﺳﻤﺖ راﺳﺖ ‪ FD‬ﻫﺎ ﻇﺎﻫﺮ ﻧﺸﺪهاﻧﺪ ﭘﺲ }‪ {A,B,C,D‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ‪.‬‬
‫‪(4) -9‬‬
‫‪L→T , L→C , L→D , L→P‬‬
‫اﮔﺮ ﻣﺜﻼ ﺑﮕﻮﺋﻴﻢ اﺳﺘﺎد اﻛﺒﺮي ﺳﻪ ﺷﻨﺒﻪ ‪ 8‬ﺗﺎ ‪ 10‬ﺻﺒﺢ‪ ،‬آﻧﮕﺎه ﺷﻤﺎره درس و ﺷﻤﺎره ﻛﻼس‬
‫او ﻣﺸﺨﺺ ﻣﻲﮔﺮدد ﭘﺲ ‪ .DPT→CL‬ﻫﻤﭽﻨﻴﻦ اﮔﺮ ﻣﺜﻼ ﺑﮕﻮﺋﻴﻢ ﺳﻪ ﺷﻨﺒﻪ ‪ 8‬ﺗﺎ ‪ 10‬ﺻﺒﺢ‬
‫ﻛﻼس ﺷﻤﺎره ‪ ،215‬آﻧﮕﺎه ﻧﺎم اﺳﺘﺎد و ﺷﻤﺎره درس ﺗﻌﻴﻴﻦ ﻣﻲﮔﺮدد‪ ،‬ﭘﺲ ‪DPC→TL‬‬
‫‪(4) -10‬‬
‫‪A→D , AD→C  A→C‬‬
‫} ‪Fmin = { A→D , A→C , CD→B‬‬
‫‪(1) -11‬‬
‫‪A→D , AD→C  A→C‬‬
‫‪A→D , A→C  A→CD‬‬
‫‪A→CD , CD→B  A→B‬‬
‫‪(4) -12‬‬
‫‪(2) -13‬‬
‫‪ (4) -14‬ﻣﺜﻼ ‪ AB→A‬ﮔﺰﻳﻨﻪﻫﺎي ‪ 2‬و ‪ 3‬وﻳﮋﮔﻲ ﻫﺎي واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﻤﻴﻨﻪ را ﺑﻴﺎن‬
‫ﻣﻲﻛﻨﻨﺪ‪.‬‬
‫‪(3) -15‬‬
‫‪D→A , A→B  D→B ,‬‬
‫‪D→A , D→BD→AB‬‬
‫‪D→AB , AB→EFC  D→E , D→F , D→C‬‬
‫‪ (1) -16‬در راﺑﻄﻪ ﺗﻤﺎم ﻛﻠﻴﺪ‪ ،‬ﺑﻴﻦ اﺟﺰاي ﻛﻠﻴﺪ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ وﺟﻮد ﻧﺪارد‪.‬‬
‫‪(2) -17‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 322‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪10‬‬


‫‪ -1‬ﻓﺮض ﻛﻨﻴﺪ ﻟﻴﺴﺘﻲ از درس ﻫﺎي داﻧﺸﺠﻮﻳﺎن در اﺧﺘﻴﺎر دارﻳﻢ ﻛﻪ از ﺳﺘﻮﻧﻬﺎي زﻳﺮ‬
‫ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪:‬‬
‫ﻛﺪ داﻧﺸﺠﻮ‬ ‫ﻧﺎم داﻧﺸﺠﻮ‬ ‫ﻛﺪ درس‬ ‫ﻧﺎم درس‬ ‫ﺗﻌﺪاد واﺣﺪ‬
‫ﻫﺮ داﻧﺸﺠﻮ ﻣﻤﻜﻦ اﺳﺖ ﭼﻨﺪﻳﻦ درس داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬اﮔﺮ ﺑﺨﻮاﻫﻴﻢ اﻳﻦ اﻃﻼﻋﺎت را در ﻳﻚ‬
‫ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﻪ ﮔﻮﻧﻪ اي ذﺧﻴﺮه ﻛﻨﻴﻢ ﻛﻪ ﺣﺪاﻗﻞ ﺗﻜﺮار اﻃﻼﻋﺎت را داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﺣﺪاﻗﻞ‬
‫ﺑﻪ ﭼﻨﺪ ﺟﺪول )‪ (table‬ﻧﻴﺎز دارﻳﻢ ؟‬
‫‪1 .1‬‬
‫‪www.PDFgozar.com‬‬

‫‪323‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪3 .2‬‬
‫‪2 .3‬‬
‫‪4 .4‬‬
‫‪ -2‬ﻛﺪاﻣﻴﻚ از ﮔﺰاره ﻫﺎي زﻳﺮ در راﺑﻄﻪ ﺑﺎ ))ﻋﻤﺪهﺗﺮﻳﻦ اﻫﺪاف ﻧﺮﻣﺎل ﺗﺮﺳﺎزي راﺑﻄﻪﻫﺎ((‬
‫ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﻛﺎﻫﺶ ﺑﻌﻀﻲ اﻧﻮاع اﻓﺰوﻧﮕﻲ )‪(Redundency‬‬
‫‪ .2‬ﻛﺎﻫﺶ ﺳﺮﺑﺎر )‪ ( Overhead‬ﺳﻴﺴﺘﻢ در ﭘﺎﺳﺨﮕﻮﺋﻲ در ﻋﻤﻞ ﺑﺎزﻳﺎﺑﻲ‬
‫‪ .3‬ﺗﺴﻬﻴﻞ در اﻋﻤﺎل ﺑﻌﻀﻲ ﻣﺤﺪودﻳﺘﻬﺎي ﺟﺎﻣﻌﻴﺘﻲ )‪(integrity constraints‬‬
‫‪ .4‬اﺟﺘﻨﺎب از ﺑﻌﻀﻲ از اﻧﻮاع آﻧﻮﻣﺎﻟﻲ در ﻋﻤﻠﻴﺎت روي ﭘﺎﻳﮕﺎه‬
‫‪ -3‬ﻛﺪام ﮔﺰﻳﻨﻪ از اﻫﺪاف ﻛﻠﻲ ﻓﺮاﻳﻨﺪ ﻧﺮﻣﺎل ﺳﺎزي )‪ ( normalization‬ﻧﻴﺴﺖ ؟‬
‫‪ .1‬ﺗﺴﻬﻴﻞ اﻋﻤﺎل ﺑﻌﻀﻲ از ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ )‪(integrity rules‬‬
‫‪ .2‬ﺗﺴﻬﻴﻞ ﭘﻴﺎده ﺳﺎزي دﻳﺪ ﻛﺎرﺑﺮ )‪( user view‬‬
‫‪ .3‬ﺣﺬف ﺑﻌﻀﻲ از اﻧﻮاع ﻗﻮاﻋﺪ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ )‪(functional dependency‬‬
‫‪ .4‬ﻛﺎﻫﺶ ﺑﻌﻀﻲ از اﻧﻮاع اﻓﺰوﻧﮕﻲ )‪(redundancy‬‬
‫‪ -4‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬راﺑﻄﻪ ‪ 1NF‬را ﻫﻤﻮاره ﻣﻲ ﺗﻮان ﺑﻪ ﺗﻌﺪادي راﺑﻄﻪ ‪ 2NF‬ﺗﺒﺪﻳﻞ ﻛﺮد‪.‬‬
‫‪ .2‬در ﺗﺒﺪﻳﻞ راﺑﻄﻪ ‪ 1NF‬ﺑﻪ ‪ 2NF‬ﺑﺎﻳﺪ ﭼﻨﺎن ﻋﻤﻞ ﻛﺮد ﻛﻪ واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﺎﺑﻌﻲ ﻏﻴﺮ‬
‫ﻛﺎﻣﻞ ﻣﻮﺟﻮد در راﺑﻄﻪ ‪ 1NF‬از ﻣﻴﺎن ﺑﺮوﻧﺪ‪.‬‬
‫‪ .3‬ﻫﻤﻴﺸﻪ ﭘﺲ از ﺗﺠﺰﻳﻪ ﻳﻚ راﺑﻄﻪ ﺑﻪ دو راﺑﻄﻪ و ﭘﻴﻮﻧﺪ ﻣﺠﺪد رواﺑﻂ ﺣﺎﺻﻠﻪ ‪،‬‬
‫ﻟﺰوﻣﺎ ﺑﻪ راﺑﻄﻪ ﻧﺨﺴﺘﻴﻦ ﻣﻲ رﺳﻴﻢ‪.‬‬
‫‪ .4‬ﺑﺎ اﻧﺠﺎم ﻋﻤﻞ ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ ﺑﺮ روي رواﺑﻂ ‪ 2NF‬ﻣﻲ ﺗﻮان رواﺑﻂ ‪ 1NF‬را ﺑﺪﺳﺖ‬
‫آورد‪.‬‬
‫‪ -5‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ‪ 2NF‬درﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﻓﻘﻂ در درج ﻣﻤﻜﻦ اﺳﺖ آﻧﻮﻣﺎﻟﻲ داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 324‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .2‬ﻓﻘﻂ در ﺣﺬف ﻣﻤﻜﻦ اﺳﺖ آﻧﻮﻣﺎﻟﻲ داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪.‬‬


‫‪ .3‬در ﺣﺬف و ﺑﻬﻨﮕﺎم ﺳﺎزي ﻣﻤﻜﻦ اﺳﺖ آﻧﻮﻣﺎﻟﻲ داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪.‬‬
‫‪ .4‬در درج ‪ ،‬ﺣﺬف و ﺑﻬﻨﮕﺎم ﺳﺎزي ﻣﻤﻜﻦ اﺳﺖ آﻧﻮﻣﺎﻟﻲ داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪.‬‬
‫‪ -6‬ﻛﺪام ﺗﻌﺮﻳﻒ در راﺑﻄﻪ ﺑﺎ ﺻﻮرﺗﻬﺎي ﻧﺮﻣﺎل ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬راﺑﻄﻪاي ﻧﺮﻣﺎل اﺳﺖ ﻛﻪ ﺗﻤﺎم ﻣﻘﺎدﻳﺮ ﺻﻔﺎت ﺧﺎﺻﻪ اش اﺗﻮﻣﻴﻚ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .2‬راﺑﻄﻪاي ‪ 3NF‬اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﺻﻔﺎت ﺧﺎﺻﻪ ﻏﻴﺮ ﻛﻠﻴﺪ ﻣﺘﻘﺎﺑﻼ ﺑﻪ ﻳﻜﺪﻳﮕﺮ‬
‫ﻧﺎواﺑﺴﺘﻪ ﺑﺎﺷﻨﺪ و ﻫﻤﭽﻨﻴﻦ ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ راﺑﻄﻪ ‪ ،‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ داﺷﺘﻪ‬
‫ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .3‬راﺑﻄﻪاي ‪ 2NF‬اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ‪ 1NF‬ﺑﺎﺷﺪ و ﻫﻤﭽﻨﻴﻦ اﮔﺮ ﺻﻔﺎت ﺧﺎﺻﻪ‬
‫ﻏﻴﺮ ﻛﻠﻴﺪ ﻣﺘﻘﺎﺑﻼ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻧﺎواﺑﺴﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .4‬راﺑﻄﻪاي ‪ 3NF‬اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ‪ 2NF‬ﺑﻮده و ﻫﺮ ﺻﻔﺖ ﺧﺎﺻﻪ ﻏﻴﺮ ﻛﻠﻴﺪ ﺑﻪ‬
‫ﻃﻮر ﻣﺴﺘﻘﻴﻢ )ﺑﻲ واﺳﻄﻪ( ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ -7‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻗﻀﻴﻪ ﻫﻴﺚ )‪ (Heath‬را ﺑﻴﺎن ﻣﻲ ﻛﻨﺪ ؟ )راﺑﻄﻪ ‪ R‬را ﺑﺎ ﺳﻪ ﺻﻔﺖ ﺧﺎﺻﻪ‬
‫‪ A‬و ‪ B‬و ‪ C‬در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ (‬
‫‪ .1‬اﮔﺮ ‪ R.A→R.B‬ﻫﻤﻴﺸﻪ ﻣﻲ ﺗﻮان اﻳﻦ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ )‪ R2(A,C‬و‬
‫)‪ R1(A,B‬ﺗﺠﺰﻳﻪ ﻛﺮد ﺑﻪ ﻧﺤﻮي ﻛﻪ ﮔﻤﺸﺪﮔﻲ اﻃﻼﻋﺎت ﭘﻴﺶ ﻧﻴﺎﻳﺪ‪.‬‬
‫‪ .2‬اﮔﺮ‪ R.A→R.B‬و ‪ R.A→R.C‬ﻣﻲ ﺗﻮان اﻳﻦ راﺑﻄﻪ را ﺑﻪ راﺑﻄﻪ )‪ R2(A,C‬و‬
‫)‪ R1(A,B‬ﺗﺠﺰﻳﻪ ﻛﺮد‪.‬‬
‫‪ .3‬اﮔﺮ ‪ R.A→R.B‬ﻫﻤﻴﺸﻪ ﻣﻲ ﺗﻮان اﻳﻦ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ )‪ R2(A,C‬و‬
‫)‪ R1(A,B‬ﺗﺠﺰﻳﻪ ﻛﺮد وﻟﻲ ﻣﻤﻜﻦ اﺳﺖ ﮔﻤﺸﺪﮔﻲ اﻃﻼﻋﺎت ﭘﻴﺶ آﻳﺪ‪.‬‬
‫‪ R.A→R.B .4‬و ‪ R.A→R.C‬ﻣﻤﻜﻦ اﺳﺖ ﻧﺘﻮان اﻳﻦ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ‬
‫)‪ R2(A,C‬و )‪ R1(A,B‬ﺗﺠﺰﻳﻪ ﻛﺮد‪.‬‬
‫‪ -8‬در ﻛﺪام ﻣﻮرد زﻳﺮ ‪ 3NF‬ﻣﻄﻠﻮﺑﺘﺮﻳﻦ ﺻﻮرت ﻧﻴﺴﺖ ؟‬
‫‪ .1‬وﻗﺘﻲ راﺑﻄﻪ داراي ﭼﻨﺪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﺪ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪325‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .2‬وﻗﺘﻲ ﻛﻪ ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ ﻣﺮﻛﺐ ﺑﺎﺷﻨﺪ‪.‬‬


‫‪ .3‬وﻗﺘﻲ ﻛﻪ ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺑﺎ ﻳﻜﺪﻳﮕﺮ اﺷﺘﺮاك ﺻﻔﺖ ﺧﺎﺻﻪ داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .4‬ﻫﺮ ﺳﻪ ﻣﻮرد‪.‬‬
‫‪ -9‬در ﻛﺪام ﺣﺎﻟﺖ ﺟﺪول ‪ 3NF‬ﻣﻤﻜﻦ اﺳﺖ ﻣﺸﻜﻞ داﺷﺘﻪ ﺑﺎﺷﺪ ؟‬
‫‪ .1‬ﺟﺪول داراي ﺣﺪاﻗﻞ دو ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﺪ‪.‬‬
‫‪ .2‬ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺗﺮﻛﻴﺒﻲ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .3‬ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺗﺮﻛﻴﺒﻲ ‪ ،‬ﺻﻔﺘﻬﺎي ﻣﺸﺘﺮﻛﻲ داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .4‬وﻗﺘﻲ ﻛﻪ ﻫﺮ ﺳﻪ ﺷﺮط ﻓﻮق ﺑﺮﻗﺮار ﺑﺎﺷﺪ‪.‬‬
‫‪ -10‬ﻛﺪام ﮔﺰﻳﻨﻪ اﻫﺪاف ﻛﻠﻲ ﻧﺮﻣﺎل ﺳﺎزي را ﺑﻴﺎن ﻧﻤﻲ ﻛﻨﺪ ؟‬
‫‪ .1‬رﻋﺎﻳﺖ ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ‬
‫‪ .2‬ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ‬
‫‪ .3‬ﻛﺎﻫﺶ ﺳﺮﺑﺎر ﺳﻴﺴﺘﻢ و ﺳﺎده ﻛﺮدن دﻳﺪ ﻛﺎرﺑﺮ‬
‫‪ .4‬ﻛﺎﻫﺶ ﺑﻌﻀﻲ از آﻧﻮﻣﺎﻟﻲ ﻫﺎ‬
‫‪ -11‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬
‫راﺑﻄﻪ ‪ R‬در ﺳﻄﺢ ‪ 3NF‬اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ‪ 2NF‬ﺑﺎﺷﺪ و ﻫﺮ ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪ‬ ‫‪.1‬‬
‫ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ .2‬راﺑﻄﻪ‪ R‬در ﺳﻄﺢ ‪ 3NF‬اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ‪ 2NF‬ﺑﺎﺷﺪ و ﺻﻔﺎت ﻏﻴﺮ ﻛﻠﻴﺪ آن‬
‫ﻣﺘﻘﺎﺑﻼ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻧﺎواﺑﺴﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ .3‬راﺑﻄﻪ‪ R‬در ﺳﻄﺢ ‪ 3NF‬اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ‪ 2NF‬ﺑﺎﺷﺪ و واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ‬
‫)‪ (transitive‬ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪2 .4‬و‪3‬‬
‫‪ -12‬ﺻﻔﺖ ﻋﻤﺪه ‪ Prime Attribute‬ﻛﺪام اﺳﺖ ؟‬
‫‪ .1‬ﺻﻔﺘﻲ ﻛﻪ ﺟﺰء ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﻛﻠﻴﺪ ﺑﺎﺷﺪ‪.‬‬
‫‪ .2‬ﻫﻤﺎن ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪ اﺳﺖ‪.‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 326‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ .3‬ﻫﻤﺎن ﻛﻠﻴﺪ اﺳﺖ‪.‬‬


‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -13‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬ﻣﻤﻜﻦ اﺳﺖ در ﻣﺮﺣﻠﻪ ‪ 2NF‬ﻛﺮدن ﻳﻚ راﺑﻄﻪ ‪ ،‬راﺑﻄﻪ ‪ 1NF‬ﺑﻪ ﺑﻴﺶ از دو راﺑﻄﻪ‬
‫ﺗﺠﺰﻳﻪ ﺷﻮد‪.‬‬
‫‪ .2‬ﻳﻚ ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪ ﻣﻤﻜﻦ اﺳﺖ ﺑﺘﻮاﻧﺪ ﺑﺎ ﻳﻚ ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪ دﻳﮕﺮ واﺑﺴﺘﮕﻲ‬
‫ﺗﺎﺑﻌﻲ ﻧﺎﺗﺎم )ﻏﻴﺮ ﻛﺎﻧﻞ (داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬در راﺑﻄﻪ دو ﮔﺎﻧﻲ )ﺑﺎﻳﻨﺮي( ‪ BCNF‬اﺳﺖ‪.‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -14‬ﺗﻌﺮﻳﻒ ‪ BCNF‬ﻛﺪام اﺳﺖ ؟‬
‫‪ .1‬راﺑﻄﻪاي ‪ BCNF‬اﺳﺖ اﮔﺮ در آن ﻫﺮ دﺗﺮﻣﻴﻨﺎن ‪ ،‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﺪ‪.‬‬
‫‪ .2‬راﺑﻄﻪ ‪ R‬در ‪ BCNF‬اﺳﺖ ﻫﺮﮔﺎه ﻳﻚ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺑﻪ ﺻﻮرت ‪) A→B‬اﻳﻦ‬
‫واﺑﺴﺘﮕﻲ ﻧﺎﻣﻬﻢ ﻧﺒﺎﺷﺪ( در ﻣﺠﻤﻮﻋﻪ ‪ FD‬ﻫﺎي ‪ R‬وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ‪ A ،‬ﺳﻮﭘﺮ‬
‫ﻛﻠﻴﺪ ‪ R‬ﺑﺎﺷﺪ‪.‬‬
‫‪ .3‬راﺑﻄﻪاي ‪ BCNF‬اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﺳﻤﺖ ﭼﭗ ﻫﺮ ‪ FD‬ﻣﻬﻢ و ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ‬
‫‪ ،‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬
‫‪ -15‬راﺑﻄﻪ )‪ R(SID,CID,PID‬ﻳﻌﻨﻲ )ﺷﻤﺎره اﺳﺘﺎد ‪ ،‬ﺷﻤﺎره درس ‪ ،‬ﺷﻤﺎره داﻧﺸﺠﻮ (‪ R‬را‬
‫در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ .‬ﻗﻮاﻋﺪ ﺳﻤﺎﻧﺘﻴﻚ زﻳﺮ در اﻳﻦ راﺑﻄﻪ وﺟﻮد دارد‪ :‬اﻟﻒ ( ﻳﻚ داﻧﺸﺠﻮ ‪ ،‬ﻳﻚ‬
‫درس را ﺑﺎ ﻳﻚ اﺳﺘﺎد اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﺪ‪ .‬ب( ﻳﻚ اﺳﺘﺎد ﻳﻚ درس را ﺗﺪرﻳﺲ ﻣﻲ ﻛﻨﺪ‪ .‬ج(‬
‫ﻳﻚ درس ﺗﻮﺳﻂ ﭼﻨﺪ اﺳﺘﺎد ﺗﺪرﻳﺲ ﻣﻲ ﺷﻮد‪ .‬اﻳﻦ راﺑﻄﻪ در ﭼﻪ ﺳﻄﺢ ﻧﺮﻣﺎل ﺑﻮدن ﻗﺮار‬
‫دارد ؟‬
‫‪2NF‬‬ ‫‪.1‬‬
‫‪3NF‬‬ ‫‪.2‬‬
‫‪BCNF‬‬ ‫‪.3‬‬
‫‪4NF‬‬ ‫‪.4‬‬
‫‪www.PDFgozar.com‬‬

‫‪327‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ -16‬راﺑﻄﻪاي ‪ 2NF‬اﺳﺖ ﻛﻪ‪:‬‬


‫‪ 1NF .1‬ﺑﻮده و ﺻﻔﺘﻬﺎي آن ﺑﻪ زﻳﺮ ﻣﺠﻤﻮﻋﻪ ﻫﺎي ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﻧﺪاﺷﺘﻪ‬
‫ﺑﺎﺷﺪ‪.‬‬
‫‪ 1NF .2‬ﺑﻮده و واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ )ﺗﻌﺪي( ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪1 .3‬و‪2‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪ -17‬در راﺑﻄﻪ }‪ ، R={A,B,C,D‬ﻣﺠﻤﻮﻋﻪ ‪ FD‬ﻫﺎي زﻳﺮ را دارﻳﻢ‪:‬‬
‫‪A→D , D→B , A→C‬‬
‫ﺳﻄﺢ ﻧﺮﻣﺎل ﺑﻮدن اﻳﻦ راﺑﻄﻪ و ﺗﺠﺰﻳﻪ ﻣﻄﻠﻮب آن ﻛﺪام اﺳﺖ ؟‬
‫‪R1(D,B) ، R2(A,D,C} ، 3NF‬‬ ‫‪.1‬‬
‫‪R1(A,D) ، R2(A,B,C} ، BCNF‬‬ ‫‪.2‬‬
‫‪R1(A,C,D) ، R2(A,D} ، 3NF‬‬ ‫‪.3‬‬
‫‪R1(D,B) ، R2(A,C,D} ، 2NF‬‬ ‫‪.4‬‬
‫‪ -18‬ﺑﺎ ﺣﺬف ﻛﻠﻴﺪ واﺑﺴﺘﻪ ‪ ،‬ﭼﻪ ﺻﻮرﺗﻲ از ﻓﺮم ﻧﺮﻣﺎل اﻳﺠﺎد ﻣﻲ ﺷﻮد ؟‬
‫‪1NF‬‬ ‫‪.1‬‬
‫‪2NF‬‬ ‫‪.2‬‬
‫‪3NF‬‬ ‫‪.3‬‬
‫‪4NF‬‬ ‫‪.4‬‬
‫‪ -19‬ﺑﺎ ﺣﺬف اﺑﺮ ﻛﻠﻴﺪ ‪ ،‬ﭼﻪ ﺻﻮرﺗﻲ از ﻓﺮم ﻧﺮﻣﺎل اﻳﺠﺎد ﻣﻲ ﺷﻮد ؟‬
‫‪1NF‬‬ ‫‪.1‬‬
‫‪2NF‬‬ ‫‪.2‬‬
‫‪3NF‬‬ ‫‪.3‬‬
‫‪4NF‬‬ ‫‪.4‬‬
‫‪ -20‬ﺟﺎﻣﻊ ﺗﺮﻳﻦ ﻧﺮﻣﺎل ﺳﺎزي ﺑﺮ ﻣﺒﻨﺎي واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺗﻮﺳﻂ ﻛﺪام ﺻﻮرت ﻧﺮﻣﺎل اراﺋﻪ‬
‫ﻣﻲ ﺷﻮد ؟‬
‫‪1NF‬‬ ‫‪.1‬‬
‫‪2NF‬‬ ‫‪.2‬‬
‫‪3NF‬‬ ‫‪.3‬‬
‫‪BCNF‬‬ ‫‪.4‬‬
‫‪ -21‬ﺑﺎ ﺣﺬف واﺑﺴﺘﮕﻲ ﻫﺎي ﭼﻨﺪ ﻣﻘﺪاري )‪ (MVD‬ﭼﻪ ﺻﻮرﺗﻲ از ﻓﺮم ﻧﺮﻣﺎل اﻳﺠﺎد ﻣﻲ‬
‫ﺷﻮد ؟‬
‫‪www.PDFgozar.com‬‬

‫‪ 328‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪2NF‬‬ ‫‪.1‬‬
‫‪3NF‬‬ ‫‪.2‬‬
‫‪4NF‬‬ ‫‪.3‬‬
‫‪BCNF‬‬ ‫‪.4‬‬
‫‪ -22‬در ﺗﺒﺪﻳﻞ‪ ............‬ﺑﻪ‪ .............‬آن را ﭼﻨﺎن ﺑﻪ ﭘﺮﺗﻮﻫﺎﻳﻲ ﺗﺠﺰﻳﻪ ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ ﺗﻤﺎم‬
‫واﺑﺴﺘﮕﻲ ﻫﺎي ﭘﻴﻮﻧﺪي ﻛﻪ از ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﻧﺎﺷﻲ ﻧﻤﻲ ﺷﻮد ﺣﺬف ﮔﺮدد‪.‬‬
‫‪3NF-2NF‬‬ ‫‪.1‬‬
‫‪4NF-3NF‬‬ ‫‪.2‬‬
‫‪BCNF-3NF‬‬ ‫‪.3‬‬
‫‪5NF-4NF‬‬ ‫‪.4‬‬
‫‪ -23‬ﺑﺮاي اﻳﻨﻜﻪ ﻳﻚ ﭘﺎﻳﮕﺎهداده اي راﺑﻄﻪاي ﺑﺘﻮاﻧﺪ ﺑﻪ درﺳﺘﻲ در ﻧﺮماﻓﺰار ﻣﺘﺪاول ﻃﺮاﺣﻲ‬
‫ﺷﻮد ‪ ،‬آن ﭘﺎﻳﮕﺎهداده ﻫﺎ ﺑﺎﻳﺪ ﺣﺪاﻗﻞ ﺑﺮ اﺳﺎس ﭼﻪ ﻓﺮم ﻧﺮﻣﺎل )‪ (Normal Form‬ﻗﺮار‬
‫ﮔﺮﻓﺘﻪ ﺑﺎﺷﺪ ؟‬
‫‪ .1‬اول‬
‫‪ .2‬دوم‬
‫‪ .3‬ﺳﻮم‬
‫‪ .4‬ﭼﻬﺎرم‬
‫‪ -24‬اﮔﺮ ﺟﺪوﻟﻲ ﻳﻚ ﻓﻴﻠﺪ داﺷﺘﻪ ﺑﺎﺷﺪ ﻛﻪ ﺑﺴﺘﮕﻲ ﺑﻪ ﻗﺴﻤﺘﻲ از ﻛﻠﻴﺪ اﺻﻠﻲ داﺷﺘﻪ ‪ ،‬اﻳﻦ‬
‫ﻧﻜﺘﻪ ﻧﻘﺾ ﻛﺪاﻣﻴﻚ از ﻗﻮاﻧﻴﻦ ﻓﺮم ﻧﺮﻣﺎل اﺳﺖ ؟‬
‫‪ .1‬ﻓﺮم اول ﻧﺮﻣﺎل‬
‫‪ .2‬ﻓﺮم دوم ﻧﺮﻣﺎل‬
‫‪ .3‬ﻓﺮم ﺳﻮم ﻧﺮﻣﺎل‬
‫‪ .4‬ﻓﺮم ﭼﻬﺎرم ﻧﺮﻣﺎل‬
‫‪ -25‬اﮔﺮ ‪ 2‬ﻓﻴﻠﺪ ﻏﻴﺮ ﻛﻠﻴﺪي ﺑﺮ ﻳﻜﺪﻳﮕﺮ ﺑﺴﺘﮕﻲ داﺷﺘﻪ ﺑﺎﺷﻨﺪ ‪ ،‬اﻳﻦ ﻧﻘﺾ ﻛﺪاﻣﻴﻚ از‬
‫ﻗﻮاﻧﻴﻦ ﻓﺮم ﻫﺎي ﻧﺮﻣﺎل اﺳﺖ ؟‬
‫‪ .1‬اوﻟﻴﻦ ﻓﺮم ﻧﺮﻣﺎل‬
‫‪ .2‬دوﻣﻴﻦ ﻓﺮم ﻧﺮﻣﺎل‬
‫‪ .3‬ﺳﻮﻣﻴﻦ ﻓﺮم ﻧﺮﻣﺎل‬
‫‪www.PDFgozar.com‬‬

‫‪329‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .4‬ﭼﻬﺎرﻣﻴﻦ ﻓﺮم ﻧﺮﻣﺎل‬


‫‪ -26‬ﺑﻪ ﻃﻮر ﻛﻠﻲ ﭼﮕﻮﻧﻪ ﺗﺎﺛﻴﺮي از ﻋﻤﻠﻴﺎت ﻧﺮﻣﺎﻟﻴﺰه ﻛﺮدن ﺑﺮ روي ﻛﺎرﻛﺮد ﺑﺎﻧﻚ‬
‫اﻃﻼﻋﺎﺗﻲ ﺑﻪ وﺟﻮد ﻣﻲ آﻳﺪ ؟‬
‫‪ .1‬اﻧﻌﻄﺎف ﻛﻤﺘﺮي در ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ دارد‪.‬‬
‫‪ .2‬اﻧﻌﻄﺎف ﺑﻴﺸﺘﺮي در ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ دارد‪.‬‬
‫‪ .3‬اﻧﻌﻄﺎﻓﻲ در ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ ﻧﺪارد‪.‬‬
‫‪ .4‬ﻫﻴﭽﻜﺪام‬
‫‪-27‬وﻗﺘﻲ در ﻳﻚ ﺟﺪول ﺗﻌﺪادي ﺳﺘﻮن ﺑﺮاي ذﺧﻴﺮه ﺳﺎزي ﻣﻮردﻫﺎي ﻣﺨﺘﻠﻒ از ﻳﻚ داده‬
‫وﺟﻮد دارد ﻣﺎﻧﻨﺪ …‪ phonenumber1 , phonenumber 2 ,‬اﻳﻦ ﻧﻜﺘﻪ ﻛﺪام ﻳﻚ از ﻣﻮارد‬
‫ﻓﺮﻣﻬﺎي ﻧﺮﻣﺎل را ﻧﻘﺾ ﻣﻲ ﻛﻨﺪ ؟‬
‫‪ .1‬ﻓﺮم اول ﻧﺮﻣﺎل‬
‫‪ .2‬ﻓﺮم دوم ﻧﺮﻣﺎل‬
‫‪ .3‬ﻓﺮم ﺳﻮم ﻧﺮﻣﺎل‬
‫‪ .4‬ﻓﺮم ﭼﻬﺎرم ﻧﺮﻣﺎل‬
‫‪ -28‬ﭼﻪ دﻟﻴﻠﻲ دارد ﻛﻪ اﻃﻼﻋﺎت ﻳﻚ ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ را ﺑﻴﻦ ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ ﺗﻮزﻳﻊ ﻧﻤﺎﺋﻴﻢ؟‬
‫‪ .1‬ﺑﺮاي ﺟﻠﻮﮔﻴﺮي از ﺧﺮاﺑﻲ داده ﻫﺎ‬
‫‪ .2‬ﺑﺮاي اﻳﻨﻜﻪ در ﺑﺎﻧﻜﻬﺎي ﺑﺰرگ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ دﭼﺎر ﻣﺸﻜﻞ ﻧﺸﻮد‪.‬‬
‫‪ .3‬ﺑﺮاي ﻣﺪﻳﺮﻳﺖ ﺑﻬﺘﺮ داده ﻫﺎ‬
‫‪ .4‬ﺑﺮاي ﺑﻬﺒﻮد ﺳﺮﻋﺖ دﺳﺘﻴﺎﺑﻲ ﺑﻪ داده ﻫﺎ‬
‫‪ -29‬ﺟﺪول در‪ ....‬اﺳﺖ ﻛﻪ اﻟﻒ( ﻫﻤﻪ ﻛﻠﻴﺪﻫﺎي آن ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﻨﺪ ب( ﺗﻤﺎم‬
‫ﺻﻔﺘﻬﺎي آن ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ داﺷﺘﻪ ﺑﺎﺷﻨﺪ ج( ﺻﻔﺘﻬﺎي آن از داﻣﻨﻪ ﺗﻮدرﺗﻮ‬
‫)‪ (nested domain‬ﻧﺒﺎﺷﻨﺪ‪.‬‬
‫‪1NF‬‬ ‫‪.1‬‬
‫‪2NF‬‬ ‫‪.2‬‬
‫‪3NF‬‬ ‫‪.3‬‬
‫‪4NF‬‬ ‫‪.4‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 330‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ -30‬در ﻛﺪام ﻓﺮم ﻧﺮﻣﺎل واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ )‪ (transitive‬وﺟﻮد ﻧﺪارد ؟‬


‫‪2NF‬‬ ‫‪.1‬‬
‫‪3NF,2NF‬‬ ‫‪.2‬‬
‫‪4NF,3NF‬‬ ‫‪.3‬‬
‫‪2NF‬‬ ‫‪.4‬‬
‫‪ -31‬ﺟﺪول داﻧﺸﺠﻮ )‪ (Stud‬در ﻳﻚ ﻣﻮﺳﺴﻪ آﻣﻮزﺷﻲ ﻛﻮﭼﻚ ﻛﻪ داﻧﺸﺠﻮي ﻫﻤﻨﺎم ﻧﺪارد‬
‫را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪:‬‬
‫)‪Stud (S# , Sname , address , avg‬‬
‫‪S#‬ﺷﻤﺎره داﻧﺸﺠﻮ ‪ Sname ،‬ﻧﺎم داﻧﺸﺠﻮ ‪ Address ،‬آدرس داﻧﺸﺠﻮ و ‪ avg‬ﻣﻌﺪل اﺳﺖ‪.‬‬
‫اﻳﻦ ﺟﺪول ﺣﺪاﻛﺜﺮ در ﭼﻪ ﺳﻄﺢ ﻧﺮﻣﺎل ﻗﺮار دارد ؟‬
‫‪2NF‬‬ ‫‪.1‬‬
‫‪3NF‬‬ ‫‪.2‬‬
‫‪1NF‬‬ ‫‪.3‬‬
‫‪BCNF‬‬ ‫‪.4‬‬
‫‪ -32‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻧﺮﻣﺎل ﺳﺎزي درﺳﺖ اﺳﺖ ؟‬
‫‪ .1‬اﮔﺮ ﻃﺮاح ﺗﺸﺨﻴﺺ دﻫﺪ ﻛﻪ ﺗﺠﺰﻳﻪ ﻳﻚ ﺟﺪول ﻫﺮ ﭼﻨﺪ اﻓﺰوﻧﮕﻲ ﻫﻢ داﺷﺘﻪ‬
‫ﺑﺎﺷﺪ ‪ ،‬ﺑﺎﻋﺚ ﭘﺎﺋﻴﻦ آﻣﺪن ﺳﺮﻋﺖ اﻛﺜﺮ ﭘﺮس و ﺟﻮﻫﺎ ﻣﻲ ﺷﻮد ‪ ،‬ﻣﺠﺎز اﺳﺖ از‬
‫ﻧﺮﻣﺎﻟﺘﺮ ﺳﺎزي آن ﺻﺮف ﻧﻈﺮ ﻛﻨﺪ‪.‬‬
‫‪ .2‬رواﺑﻂ ‪ 3NF‬ي ﻛﻪ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺗﺒﺪﻳﻞ ﺑﻪ ‪ BCNF‬ﺷﻮﻧﺪ را ﺣﺘﻤﺎ ﺑﺎﻳﺪ ‪ BCNF‬ﻛﺮد‬
‫‪ .3‬در ﺗﺠﺰﻳﻪ راﺑﻄﻪ ‪ 3NF‬ﺑﻪ رواﺑﻂ ‪ BCNF‬ﻫﻴﭽﮕﺎه اﻃﻼﻋﺎت و ﻳﺎ واﺑﺴﺘﮕﻲﻫﺎﻳﻲ‬
‫ﮔﻢ ﻧﻤﻲ ﺷﻮد‪.‬‬
‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬
‫‪ -33‬ﺟﺪول زﻳﺮ ﺣﺪاﻛﺜﺮ در ﭼﻪ ﺳﻄﺢ ﻧﺮﻣﺎﻟﻲ ﻗﺮار دارد ؟‬
‫ﻧﺎم اﺳﺘﺎد‬ ‫ﻧﺎم داﻧﺸﻜﺪه‬ ‫ﺷﻬﺮ داﻧﺸﻜﺪه‬ ‫ﻧﺎم درس‬ ‫ﻧﺎن ﻛﺘﺎب‬
‫اﻣﻴﺮي‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺗﻬﺮان‬ ‫ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬ ‫ﻫﺮﺑﺮت ﺷﻴﻠﺪ‬
‫اﻣﻴﺮي‬ ‫ﺑﺮق‬ ‫اراك‬ ‫ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬ ‫ﻫﺮﺑﺮت ﺷﻴﻠﺪ‬
‫اﻣﻴﺮي‬ ‫ﻛﺎﻣﭙﻮﺗﺮ‬ ‫ﺗﻬﺮان‬ ‫ﺳﺎﺧﺘﻤﺎن داده‬ ‫ﻟﻴﭗ ﺷﻮﺗﺰ‬
‫اﻣﻴﺮي‬ ‫ﺑﺮق‬ ‫اراك‬ ‫ﺳﺎﺧﺘﻤﺎن داده‬ ‫ﻟﻴﭗ ﺷﻮﺗﺰ‬
‫اﻣﻴﺮي‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺗﻬﺮان‬ ‫ﭘﺎﻳﮕﺎهداده‬ ‫دﻳﺖ‬
‫‪www.PDFgozar.com‬‬

‫‪331‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫اﻣﻴﺮي‬ ‫ﺑﺮق‬ ‫اراك‬ ‫ﭘﺎﻳﮕﺎهداده‬ ‫دﻳﺖ‬


‫‪2NF‬‬ ‫‪.1‬‬
‫‪3NF‬‬ ‫‪.2‬‬
‫‪BCNF‬‬ ‫‪.3‬‬
‫‪4NF‬‬ ‫‪.4‬‬

‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪10‬‬


‫‪ (2) -1‬اﻳﻦ ﺳﻪ ﺟﺪول ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫ﺟﺪول ‪ :1‬ﺟﺪول داﻧﺸﺠﻮ‪ :‬ﺷﺎﻣﻞ ﻓﻴﻠﺪﻫﺎي ﻛﺪ داﻧﺸﺠﻮ و ﻧﺎم داﻧﺸﺠﻮ‬
‫ﺟﺪول‪ :2‬ﺟﺪول درس‪ :‬ﺷﺎﻣﻞ ﻓﻴﻠﺪﻫﺎي ﻛﺪ درس ‪ ،‬ﻧﺎم درس و ﺗﻌﺪاد واﺣﺪ‬
‫ﺟﺪول ‪ :3‬ﺟﺪول داﻧﺸﺠﻮ‪ -‬درس‪ :‬ﺷﺎﻣﻞ ﻓﻴﻠﺪﻫﺎي ﻛﺪ داﻧﺸﺠﻮ و ﻛﺪﻫﺎي درس‬
‫‪ (2) -2‬از آﻧﺠﺎ ﻛﻪ ﻧﺮﻣﺎل ﺗﺮ ﺳﺎزي ﺑﺎﻋﺚ ﺗﺠﺰﻳﻪ ﺟﺪاول ﻣﻲ ﺷﻮد ﮔﺎﻫﻲ اوﻗﺎت ﺑﺮاي‬
‫ﺑﺎزﻳﺎﺑﻲ ﻧﻴﺎز ﺑﻪ ﭘﻴﻮﻧﺪ ﻣﺠﺪد اﻳﻦ ﺟﺪاول دارﻳﻢ ﻛﻪ ﺑﺎﻋﺚ اﻓﺰاﻳﺶ ﺳﺮﺑﺎر ﺳﻴﺴﺘﻢ ﻣﻲ ﮔﺮدد‪.‬‬
‫‪ (2) -3‬ﺗﺴﻬﻴﻞ ﭘﻴﺎده ﺳﺎزي دﻳﺪ ﻛﺎرﺑﺮ از اﻫﺪاف ﻛﻠﻲ ﻓﺮآﻳﻨﺪ ﻧﺮﻣﺎل ﺳﺎزي زﻳﺮا در ﺑﺮﺧﻲ‬
‫ﻣﻮاﻗﻊ اﻳﻦ ﻛﺎر ﺑﺎﻋﺚ ﻣﺸﻜﻞ ﺗﺮ ﺷﺪن ﭘﻴﺎده ﺳﺎزي دﻳﺪ ﻛﺎرﺑﺮ ﻧﻴﺰ ﻣﻲ ﺷﻮد‪.‬‬
‫‪ (3) -4‬ﻫﻤﻴﺸﻪ ﭘﺲ از ﺗﺠﺰﻳﻪ ﻳﻚ راﺑﻄﻪ ﺑﻪ دو راﺑﻄﻪ و ﭘﻴﻮﻧﺪ ﻣﺠﺪد راﺑﻄﻪ ﻫﺎي ﺣﺎﺻﻠﻪ‬
‫ﻟﺰوﻣﺎ ﺑﻪ راﺑﻄﻪ ﻧﺨﺴﺘﻴﻦ ﻧﻤﻲ رﺳﻴﻢ‪.‬‬
‫‪ (4) -5‬در راﺑﻄﻪ ‪ 2NF‬ﻣﻤﻜﻦ اﺳﺖ آﻧﻮﻣﺎﻟﻴﻬﺎﻳﻲ در درج ‪ ،‬ﺣﺬف و ﺑﻬﻨﮕﺎم ﺳﺎزي داﺷﺘﻪ‬
‫ﺑﺎﺷﻴﻢ‪.‬‬
‫‪ (3) -6‬ﮔﺰﻳﻨﻪ ﻫﺎي ‪ 1‬و ‪ 2‬درﺳﺖ ﻣﻲ ﺑﺎﺷﻨﺪ‪ .‬راﺑﻄﻪاي ‪ 2NF‬اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ‪1NF‬‬
‫ﺑﺎﺷﺪ و ﻫﺮ ﺻﻔﺖ ﺧﺎﺻﻪ ﻏﻴﺮ ﻛﻠﻴﺪ ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﺗﻮﺟﻪ‬
‫ﻛﻨﻴﺪ ﺗﻌﺮﻳﻒ ﮔﺰﻳﻨﻪ ‪ 4‬ﺑﺮاي ‪ 3NF‬ﻣﻌﺎدل ﺗﻌﺮﻳﻒ ﮔﺰﻳﻨﻪ ‪ 2‬ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫‪(1) -7‬‬
‫‪(4) -8‬‬
‫‪(4) -9‬‬
‫‪www.PDFgozar.com‬‬

‫‪ 332‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫‪ (3) -10‬ﻧﺮﻣﺎل ﺳﺎزي از آﻧﺠﺎ ﻛﻪ ﺑﺎﻋﺚ ﺗﺠﺰﻳﻪ ﺟﺪاول ﻣﻲ ﺷﻮد دﻳﺪ ﻛﺎرﺑﺮ را ﺑﻪ ﻋﻠﺖ‬
‫ﺗﻌﺪد ﺟﺪاول و ارﺗﺒﺎط ﺑﻴﻦ آﻧﻬﺎ ﻣﻤﻜﻦ اﺳﺖ ﻣﺸﻜﻞ ﺳﺎزد ﻫﻤﭽﻨﻴﻦ از آﻧﺠﺎ ﻛﻪ ﺑﺮاي‬
‫ﺑﺎزﻳﺎﺑﻲ ﺑﻌﻀﻲ ﭘﺮس و ﺟﻮﻫﺎ ﻧﻴﺎز ﺑﻪ ﭘﻴﻮﻧﺪ ﺟﺪوﻟﻬﺎ ﺧﻮاﻫﺪ ﺑﻮد ﻣﻤﻜﻦ اﺳﺖ ﺑﺎر ﺳﻴﺴﺘﻢ را‬
‫اﻓﺰاﻳﺶ دﻫﺪ‪.‬‬
‫‪ (4) -11‬در ﮔﺰﻳﻨﻪ ‪ 1‬وﻗﺘﻲ ﻛﻪ راﺑﻄﻪ در ‪ 2NF‬ﺑﺎﺷﺪ ‪ ،‬ﺧﻮد ﺑﻪ ﺧﻮد ﻫﺮ ﺻﻔﺖ ﺧﺎﺻﻪ ﻏﻴﺮ‬
‫ﻛﻠﻴﺪ ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ ﺧﻮاﻫﺪ داﺷﺖ‪.‬‬
‫‪(1) -12‬‬
‫‪(4) -13‬‬
‫‪ (4) -14‬ﻛﺘﺎﺑﻬﺎي ﻣﺨﺘﻠﻒ ﻋﺒﺎرات ﻣﺘﻔﺎوﺗﻲ را ﺑﺮاي ﺗﻌﺮﻳﻒ ﺣﺎﻻت ﻧﺮﻣﺎل ﺑﻪ ﻛﺎر ﻣﻲ ﺑﺮﻧﺪ‬
‫ﻛﻪ ﻫﻤﮕﻲ آﻧﻬﺎ در ﻣﻌﻨﺎي ﻧﻬﺎﻳﻲ ﻣﻌﺎدل ﻳﻜﺪﻳﮕﺮ ﻣﻲ ﺑﺎﺷﻨﺪ‪.‬‬
‫‪(2) -15‬‬
‫‪(3) -16‬‬
‫‪(4) -17‬‬
‫‪(3) -18‬‬
‫‪(2) -19‬‬
‫‪(4) -20‬‬
‫‪(3) -21‬‬
‫‪(4) -22‬‬
‫‪(3) -23‬‬
‫‪(2) -24‬‬
‫‪(3) -25‬‬
‫‪ (1) -26‬ﻧﺮﻣﺎل ﺳﺎزي ﺑﺎ اﻋﻤﺎل ﻣﺤﺪودﻳﺘﻬﺎﻳﻲ ﺟﻠﻮي ﻳﻜﺴﺮي اﻓﺰوﻧﮕﻲ و ﻧﻴﺰ آﻧﻮﻣﺎﻟﻴﻬﺎ را‬
‫ﻣﻲ ﮔﻴﺮد‪.‬‬
‫‪(4) -27‬‬
‫‪www.PDFgozar.com‬‬

‫‪333‬‬ ‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ (3) -28‬اﻳﻦ در واﻗﻊ ﻫﻤﺎن ﺑﺤﺚ ﻧﺮﻣﺎل ﺳﺎزي اﺳﺖ ‪ ،‬ﻣﺎ داه ﻫﺎ را ﺑﻪ ﺟﺎي ذﺧﻴﺮه در‬
‫ﻳﻚ ﺟﺪول در ﭼﻨﺪ ﺟﺪول ذﺧﻴﺮه ﻣﻲ ﺳﺎزﻳﻢ ﺗﺎ آﻧﻮﻣﺎﻟﻴﻬﺎ و ﻣﺸﻜﻼت را ﻛﺎﻫﺶ دﻫﻴﻢ‪ .‬اﻳﻦ‬
‫ﻋﻤﻞ ﺑﺮ ﻋﻜﺲ ﺳﺮﻋﺖ ﻋﻤﻠﻴﺎت را ﻛﺎﻫﺶ ﻣﻲ دﻫﺪ‪ .‬ﭘﺲ ﮔﺰﻳﻨﻪ ‪ 4‬ﻏﻠﻂ اﺳﺖ‪.‬‬
‫‪(1) -29‬‬
‫‪ (3) -30‬ﺟﺪوﻟﻲ در ‪ 3NF‬اﺳﺖ ﻛﻪ اﻟﻒ ( در ‪ 2NF‬ﺑﺎﺷﺪ ب( واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ ﻧﺪاﺷﺘﻪ‬
‫ﺑﺎﺷﺪ‪ .‬واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ ﻳﻌﻨﻲ واﺑﺴﺘﮕﻲ دو ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪي ﺑﻪ ﻫﻢ زﻳﺮا ﻫﺮ ﻳﻚ از آﻧﻬﺎ ﺑﻪ‬
‫ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﻪاﻧﺪ‪ .‬راﺑﻄﻪاي ﻛﻪ ‪ 4NF‬ﺑﺎﺷﺪ ﺣﺘﻤﺎ ‪ 3NF‬اﺳﺘﻊ و وﻳﮋﮔﻴﻬﺎي آن را دارد‪.‬‬
‫‪ S# (4) -31‬و ‪ Sname‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻣﻲ ﺑﺎﺷﻨﺪ و ‪ S#→Stud , Sname →Stud‬ﭘﺲ‬
‫ﭼﻮن ﻫﺮ دﺗﺮﻣﻴﻨﺎن ﻓﻘﻂ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻣﻲ ﺑﺎﺷﺪ در ﺳﻄﺢ ‪ BCNF‬ﻗﺮار دارد‪.‬‬
‫‪ (1) -32‬در ﺑﻌﻀﻲ ﻣﻮارد ﻧﺒﺎﻳﺪ رواﺑﻂ ‪ 3NF‬را ﺑﻪ ‪ BCNF‬ﺗﺒﺪﻳﻞ ﻛﺮد ﭘﺲ ﮔﺰﻳﻨﻪ ‪2‬‬
‫ﻧﺎدرﺳﺖ اﺳﺖ‪ .‬ﻫﻤﭽﻨﻴﻦ ﻣﻮاردي اﻳﺖ ﻛﻪ ﺗﺠﺰﻳﻪ رواﺑﻂ ‪ 3NF‬ﺑﻪ رواﺑﻂ ‪ BCNF‬واﺑﺴﺘﮕﻲ‬
‫ﻫﺎ را از ﺑﻴﻦ ﻣﻲ ﺑﺮد ﭘﺲ ﮔﺰﻳﻨﻪ ‪ 3‬ﻧﻴﺰ ﻧﺎدرﺳﺖ اﺳﺖ‪.‬‬
‫‪ (3) -33‬ﺟﺪول ﻣﺬﻛﻮر در ﺳﻄﺢ ‪ BCNF‬اﺳﺖ زﻳﺮا ﻫﻴﭽﮕﻮﻧﻪ واﺑﺴﺘﮕﻲ ﺑﻪ ﺟﺰ واﺑﺴﺘﮕﻲ‬
‫ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ‪ ،‬ﻛﻪ ﺷﺎﻣﻞ ﺗﻤﺎم ﺳﺘﻮﻧﻬﺎ اﺳﺖ ‪ ،‬وﺟﻮد ﻧﺪارد‪ .‬وﻟﻲ ﺟﺪول ﻓﻮق اﻓﺰوﻧﮕﻲ‬
‫دارد ‪ ،‬ﭼﺮا ﻛﻪ داﻧﺸﻜﺪه ﻫﺎي اﺳﺘﺎد اﻣﻴﺮي و ﻧﻴﺰ دروﺳﻲ ﻛﻪ ﺗﺪرﻳﺲ ﻛﺮده اﺳﺖ ﺗﻜﺮار‬
‫ﺷﺪه اﺳﺖ‪ .‬ﺑﺮاي رﻓﻊ اﻳﻦ ﻣﺸﻜﻞ و ﺗﺒﺪﻳﻞ آن ﺑﻪ ‪ 4NF‬ﻣﻲ ﺗﻮان آن را ﺑﻪ دو ﺟﺪول زﻳﺮ‬
‫ﺗﺠﺰﻳﻪ ﻛﺮد‪:‬‬
‫ﻧﺎم اﺳﺘﺎد‬ ‫ﻧﺎم داﻧﺸﻜﺪه‬ ‫ﺷﻬﺮ داﻧﺸﻜﺪه‬ ‫ﻧﺎم اﺳﺘﺎد‬ ‫ﻧﺎم درس‬ ‫ﻧﺎم ﻛﺘﺎب‬
‫اﻣﻴﺮي‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺗﻬﺮان‬ ‫اﻣﻴﺮي‬ ‫ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬ ‫ﻫﺮﺑﺮت ﺷﻴﻠﺪ‬
‫اﻣﻴﺮي‬ ‫ﺑﺮق‬ ‫اراك‬ ‫اﻣﻴﺮي‬ ‫ﺳﺎﺧﺘﻤﺎن داده‬ ‫ﻟﻴﭗ ﺷﻮﺗﺰ‬
‫اﻣﻴﺮي‬ ‫ﭘﺎﻳﮕﺎهداده‬ ‫دﻳﺖ‬
www.PDFgozar.com
www.PDFgozar.com

۲ ‫ﺿﻤﻴﻤﻪ‬

SQL 99 _ BNF
BNF Grammar for ISO/IEC 9075:1999

Database Language SQL (SQL-99)


=======================================================
--p
Note that this version of this file includes the corrections from ISO 9075:1999/Cor.1:2000.
--/p
--p
The plain text version of this grammar is
--## <a href='sql-99.bnf'> sql-99.bnf </a>.
--/p
--hr
--h2 Key SQL Statements and Fragments
--/h2
--bl
--li ALTER DOMAIN <alter domain statement>
--li ALTER TABLE <alter table statement>
--li CLOSE cursor <close statement>
--li Column definition <column definition>
--li COMMIT WORK <commit statement>
--li CONNECT <connect statement>
--li CREATE ASSERTION <assertion definition>
--li CREATE CHARACTER SET <character set definition>
--li CREATE COLLATION <collation definition>
--li CREATE DOMAIN <domain definition>
--li CREATE FUNCTION <schema function>
--li CREATE PROCEDURE <schema procedure>
--li CREATE SCHEMA <schema definition>
--li CREATE TABLE <table definition>
--li CREATE TRANSLATION <translation definition>
--li CREATE TRIGGER <trigger definition>
--li CREATE VIEW <view definition>
--li Data type <data type>
--li DEALLOCATE PREPARE <deallocate prepared statement>
--li DECLARE cursor <declare cursor> <dynamic declare cursor>
--li DECLARE LOCAL TEMPORARY TABLE <temporary table declaration>
--li DELETE <delete statement: positioned> <delete statement: searched> <dynamic delete statement:
positioned>
--li DESCRIBE <describe statement>
--li DESCRIPTOR statements <system descriptor statement>
--li DISCONNECT <disconnect statement>
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 336

--li EXECUTE <execute statement>


--li EXECUTE IMMEDIATE <execute immediate statement>
--li FETCH cursor <fetch statement>
--li FROM clause <from clause>
--li GET DIAGNOSTICS <get diagnostics statement>
--li GRANT <grant statement>
--li GROUP BY clause <group by clause>
--li HAVING clause <having clause>
--li INSERT <insert statement>
--li Literals <literal>
--li OPEN cursor <open statement>
--li ORDER BY clause <order by clause>
--li PREPARE <prepare statement>
--li REVOKE <revoke statement>
--li ROLLBACK WORK <rollback statement>
--li SAVEPOINT <savepoint statement>
--li Search condition <search condition> <regular expression>
--li SELECT <query specification>
--li SET CATALOG <set catalog statement>
--li SET CONNECTION <set connection statement>
--li SET CONSTRAINTS <set constraints mode statement>
--li SET NAMES <set names statement>
--li SET SCHEMA <set schema statement>
--li SET SESSION AUTHORIZATION <set session user identifier statement>
--li SET TIME ZONE <set local time zone statement>
--li SET TRANSACTION <set transaction statement>
--li SQL Client MODULE <SQL-client module definition>
--li UPDATE <update statement: positioned> <update statement: searched> <dynamic update
statement: positioned>
--li Value expression <value expression>
--li WHERE clause <where clause>
--/bl
--hr
--h2 Identifying the version of SQL in use
--/h2
--p
This material (starting with <SQL object identifier> ) is defined in section 6.3 "Object Identifier for
Database Language SQL" of ISO/IEC 9075-1:1999 (SQL Framework).
It is used to express the capabilities of an implementation. The package names are identifiers such as
'PKG001', equivalent to 'Enhanced datetime facilities', as defined in the informative Annex B to SQL
Framework. Each such package identifies a number of features that are provided when the SQL object
identifier claims to provide the package.
--/p
<SQL object identifier>::= <SQL provenance> <SQL variant>
<SQL provenance>::= <arc1> <arc2> <arc3>
<arc1>::=iso | 1 | iso <leftparen> 1 <rightparen>
<arc2>::=standard | 0 | standard <leftparen> 0 <rightparen>
<arc3>::=9075
<SQL variant>::= <SQL edition> <SQL conformance>
<SQL edition>::= <1987> | <1989> | <1992> | <1999>
<1987>::=0 | edition1987 <leftparen> 0 <rightparen>
<1989>::= <1989 base> <1989 package>
<1989 base>::=1 | edition1989 <leftparen> 1 <rightparen>
<1989 package>::= <integrity no> | <integrity yes>
<integrity no>::=0 | IntegrityNo <leftparen> 0 <rightparen>
<integrity yes>::=1 | IntegrityYes <leftparen> 1 <rightparen>
<1992>::=2 | edition1992 <leftparen> 2 <rightparen>
<1999>::=3 | edition1999 <leftparen> 3 <rightparen>
<SQL conformance>::= <level> <parts> <packages>
www.PDFgozar.com

337 SQL 99 _ BNF

<level>::= <low> | <intermediate> | <high>


<low>::=0 | Low <leftparen> 0 <rightparen>
<intermediate>::=1 | Intermediate <leftparen> 1 <rightparen>
<high>::=2 | High <leftparen> 2 <rightparen>
<parts>::= <Part 3> <Part 4> <Part 5> <Part 6> <Part 7> <Part 8> <Part 9> <Part 10>
--p
--small
--i
The parenthesized (i) and (n) are italic in the SQL standard. It is not clear exactly what this should look
like, despite all the Information. However, it is also not important; this is not really a part of the SQL
language per se. Note that the package numbers are PKG001 to PKG009, for example. We still have to
devise a mechanism to persuade bnf2yacc.pl to ignore this information.
--/i
--/small
--/p
<packages>::= <Package PKG(i)>...
<Part (n)>::= <Part (n) no> | <Part (n) yes>
<Part (n) no>::=0 | Part-(n)No <leftparen> 0 <rightparen>
<Part (n) yes>::=!! (as specified in ISO/IEC 9075-(n))
<Package PKG(i)>::= <Package PKG(i)Yes> | <Package PKG(i)No>
<Part 3 yes>::= <Part 3 conformance>
<Part 3 conformance>::=3 | sqlcli1999 <leftparen> 3 <rightparen>
<Part 4 yes>::= <Part 4 conformance> <Part 4 module>
<Part 4 conformance>::=4 | sqlpsm1999 <leftparen> 4 <rightparen>
<Part 4 module>::= <Part 4 module yes> | <Part 4 module no>
<Part 4 module yes>::=1 | moduleyes <leftparen> 1 <rightparen>
<Part 4 module no>::=0 | moduleno <leftparen> 0 <rightparen>
<Part 5 yes>::= <Part 5 conformance> <Part 5 direct> <Part 5 embedded>
--p
--small
--i
The original used sqlbindings199x, but the x should clearly be a 9.
--/i
--/small
--/p
<Part 5 conformance>::=5 | sqlbindings1999 <leftparen> 5 <rightparen>
<Part 5 direct>::= <Part 5 direct yes> | <Part 5 direct no>
<Part 5 direct yes>::=1 | directyes <leftparen> 1 <rightparen>
<Part 5 direct no>::=0 | directno <leftparen> 0 <rightparen>

<Part 5 embedded>::= <Part 5 embedded no> | <Part 5 embedded languages>...


<Part 5 embedded no>::=0 | embeddedno <leftparen> 0 <rightparen>
<Part 5 embedded languages>::=
<Part 5 embedded Ada>
| <Part 5 embedded C>
| <Part 5 embedded COBOL>
| <Part 5 embedded Fortran>
| <Part 5 embedded MUMPS>
| <Part 5 embedded Pascal>
| <Part 5 embedded PL/I>
<Part 5 embedded Ada>::=1 | embeddedAda <leftparen> 1 <rightparen>
<Part 5 embedded C>::=2 | embeddedC <leftparen> 2 <rightparen>
<Part 5 embedded COBOL>::=3 | embeddedCOBOL <leftparen> 3 <rightparen>
<Part 5 embedded Fortran>::=4 | embeddedFortran <leftparen> 4 <rightparen>
<Part 5 embedded MUMPS>::=5 | embeddedMUMPS <leftparen> 5 <rightparen>
<Part 5 embedded Pascal>::=6 | embeddedPascal <leftparen> 6 <rightparen>
<Part 5 embedded PL/I>::=7 | embeddedPLI <leftparen> 7 <rightparen>
--hr
--h2 Basic Definitions of Characters Used, Tokens, Symbols, Etc.
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 338

--/h2
--p
Most of this section would normally be handled within the lexical analyzer rather than in the grammar
proper. Further, the original document does not quote the various single characters, which makes it hard
to process automatically.
--/p
<SQL terminal character>::= <SQL language character>
<SQL language character>::= <simple Latin letter> | <digit> | <SQL special character>
<simple Latin letter>::=
<simple Latin upper case letter>
| <simple Latin lower case letter>
<simple Latin upper case letter>::=
A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z
<simple Latin lower case letter>::=
a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z
<digit>::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<SQL special character>::=
<space>
| <double quote>
| <percent>
| <ampersand>
| <quote>
| <leftparen>
| <rightparen>
| <asterisk>
| <plus sign>
| <comma>
| <minus sign>
| <period>
| <solidus>
| <colon>
| <semicolon>
| <less than operator>
| <equals operator>
| <greater than operator>
| <question mark>
| <left bracket>
| <right bracket>
| <circumflex>
| <underscore>
| <vertical bar>
| <left brace>
| <right brace>
<space>::=!! (See the Syntax Rules)
<double quote>::="
<percent>::=%
<ampersand>::=&
<quote>::='
<leftparen>::=(
<rightparen>::=)
<asterisk>::=*
<plus sign>::=+
<comma>::=,
<minus sign>::=-
<period>::=.
<solidus>::=/
<colon>::=:
<semicolon>::=;
<less than operator>::= <
www.PDFgozar.com

339 SQL 99 _ BNF

<equals operator>::==
<greater than operator>::=>
<question mark>::=?
<left bracket>::=[
<right bracket>::=]
<circumflex>::=^
<underscore>::=_
<vertical bar>::=|
<left brace>::={
<right brace>::=}
--hr
--h2 Literal Numbers, Strings, Dates and Times
--/h2
--p
--small
--i <SQL-client module definition> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<SQL-client module definition>::=
<module name clause>
<language clause>
<module authorization clause>
[ <module path specification> ]
[ <module transform group specification> ]
[ <temporary table declaration>... ]
<module contents>...
<module name clause>::=
MODULE [ <SQL-client module name> ] [ <module character set specification>
]
<SQL-client module name>::= <identifier>
<identifier>::= <actual identifier>
<actual identifier>::= <regular identifier> | <delimited identifier>
<regular identifier>::= <identifier body>
--p
--small
--i <identifier body> modified per ISO 9075:1999/Cor.1:2000(E).
--/i
--/p
--p
--i <identifier body> also rationalized by removing curly brackets around <identifier part> because they
are unnecessary and inconsistent with other places where '...' modifies a single non-terminal.
--/i
--/small
--/small
--/p
<identifier body>::= <identifier start> [ <identifier part>... ]
<identifier start>::= <initial alphabetic character> | <ideographic character>
<initial alphabetic character>::=!! (See the Syntax Rules)
<ideographic character>::=!! (See the Syntax Rules)
<identifier part>::=
<alphabetic character>
| <ideographic character>
| <decimal digit character>
| <identifier combining character>
| <underscore>
| <alternate underscore>
| <extender character>
| <identifier ignorable character>
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 340

| <connector character>
<alphabetic character>::=!! (See the Syntax Rules)
<decimal digit character>::=!! (See the Syntax Rules)
<identifier combining character>::=!! (See the Syntax Rules)
<alternate underscore>::=!! (See the Syntax Rules)
<extender character>::=!! (See the Syntax Rules)
<identifier ignorable character>::=!! (See the Syntax Rules)
<connector character>::=!! (See the Syntax Rules)
<delimited identifier>::= <double quote> <delimited identifier body> <double quote>
<delimited identifier body>::= <delimited identifier part>...
<delimited identifier part>::= <nondoublequote character> | <doublequote symbol>
<nondoublequote character>::=!! (See the Syntax Rules)
--p
--small
--i
Note that the two successive double quote characters must have no other character (such as a space)
between them. The lexical analyzer would normally deal with this sort of issue.
--/i
--/small
--/p
<doublequote symbol>::= <double quote> <double quote>
<module character set specification>::=NAMES ARE <character set specification>
<character set specification>::=
<standard character set name>
| <implementation-defined character set name>
| <user-defined character set name>
<standard character set name>::= <character set name>
<character set name>::=[ <schema name> <period> ] <SQL language identifier>
<schema name>::=[ <catalog name> <period> ] <unqualified schema name>
<catalog name>::= <identifier>
<unqualified schema name>::= <identifier>
<SQL language identifier>::=
<SQL language identifier start> [ { <underscore> | <SQL language identifier part> }... ]
<SQL language identifier start>::= <simple Latin letter>
<SQL language identifier part>::= <simple Latin letter> | <digit>
<implementation-defined character set name>::= <character set name>
<user-defined character set name>::= <character set name>
<language clause>::=LANGUAGE <language name>
<language name>::=ADA | C | COBOL | FORTRAN | MUMPS | PASCAL | PLI | SQL
<module authorization clause>::=
SCHEMA <schema name>
| AUTHORIZATION <module authorization identifier>
| SCHEMA <schema name> AUTHORIZATION <module authorization
identifier>
<module authorization identifier>::= <authorization identifier>
<authorization identifier>::= <role name> | <user identifier>
<role name>::= <identifier>
<user identifier>::= <identifier>
<module path specification>::= <path specification>
<path specification>::=PATH <schema name list>
<schema name list>::= <schema name> [ { <comma> <schema name> }... ]
<module transform group specification>::= <transform group specification>
<transform group specification>::=
TRANSFORM GROUP { <single group specification> | <multiple group specification> }
<single group specification>::= <group name>
<group name>::= <identifier>
<multiple group specification>::= <group specification> [ { <comma> <group specification> }... ]
<group specification>::= <group name> FOR TYPE <user-defined type>
<user-defined type>::= <user-defined type name>
www.PDFgozar.com

341 SQL 99 _ BNF

<user-defined type name>::= <schema qualified type name>


<schema qualified type name>::=[ <schema name> <period> ] <qualified identifier>
<qualified identifier>::= <identifier>
<temporary table declaration>::=
DECLARE LOCAL TEMPORARY TABLE <table name>
<table element list>
[ ON COMMIT <table commit action> ROWS ]
<table name>::= <local or schema qualified name>
<local or schema qualified name>::=[ <local or schema qualifier> <period> ] <qualified identifier>
<local or schema qualifier>::= <schema name> | MODULE
<table element list>::=
<leftparen> <table element> [ { <comma> <table element> }... ] <rightparen>
<table element>::=
<column definition>
| <table constraint definition>
| <like clause>
| <self-referencing column specification>
| <column options>
<column definition>::=
<column name>
{ <data type> | <domain name> }
[ <reference scope check> ]
[ <default clause> ]
[ <column constraint definition>... ]
[ <collate clause> ]
<column name>::= <identifier>
--hr
--h2 Data Types
--/h2
<data type>::=
<predefined type>
| <row type>
| <user-defined type>
| <reference type>
| <collection type>
<predefined type>::=
<character string type> [ CHARACTER SET <character set specification> ]
| <national character string type>
| <binary large object string type>
| <bit string type>
| <numeric type>
| <boolean type>
| <datetime type>
| <interval type>
<character string type>::=
CHARACTER [ <leftparen> <length> <rightparen> ]
| CHAR [ <leftparen> <length> <rightparen> ]
| CHARACTER VARYING <leftparen> <length> <rightparen>
| CHAR VARYING <leftparen> <length> <rightparen>
| VARCHAR <leftparen> <length> <rightparen>
| CHARACTER LARGE OBJECT [ <leftparen> <large object length>
<rightparen> ]
| CHAR LARGE OBJECT [ <leftparen> <large object length> <rightparen> ]
| CLOB [ <leftparen> <large object length> <rightparen> ]
<length>::= <unsigned integer>
<unsigned integer>::= <digit>...
<large object length>::= <unsigned integer> [ <multiplier> ] | <large object length token>
<multiplier>::=K | M | G
<large object length token>::= <digit>... <multiplier>
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 342

<national character string type>::=


NATIONAL CHARACTER [ <leftparen> <length> <rightparen> ]
| NATIONAL CHAR [ <leftparen> <length> <rightparen> ]
| NCHAR [ <leftparen> <length> <rightparen> ]
| NATIONAL CHARACTER VARYING <leftparen> <length> <rightparen>
| NATIONAL CHAR VARYING <leftparen> <length> <rightparen>
| NCHAR VARYING <leftparen> <length> <rightparen>
| NATIONAL CHARACTER LARGE OBJECT [ <leftparen> <large object
length> <rightparen> ]
| NCHAR LARGE OBJECT [ <leftparen> <large object length> <rightparen> ]
| NCLOB [ <leftparen> <large object length> <rightparen> ]
<binary large object string type>::=
BINARY LARGE OBJECT [ <leftparen> <large object length> <rightparen> ]
| BLOB [ <leftparen> <large object length> <rightparen> ]
<bit string type>::=
BIT [ <leftparen> <length> <rightparen> ]
| BIT VARYING <leftparen> <length> <rightparen>
<numeric type>::= <exact numeric type> | <approximate numeric type>
<exact numeric type>::=
NUMERIC [ <leftparen> <precision> [ <comma> <scale> ] <rightparen> ]
| DECIMAL [ <leftparen> <precision> [ <comma> <scale> ] <rightparen> ]
| DEC [ <leftparen> <precision> [ <comma> <scale> ] <rightparen> ]
| INTEGER
| INT
| SMALLINT
<precision>::= <unsigned integer>
<scale>::= <unsigned integer>
<approximate numeric type>::=
FLOAT [ <leftparen> <precision> <rightparen> ]
| REAL
| DOUBLE PRECISION
<boolean type>::=BOOLEAN
<datetime type>::=
DATE
| TIME [<leftparen><time precision> <rightparen>] [<with or without time zone>]
| TIMESTAMP [ <leftparen> <timestamp precision> <rightparen> ] [ <with or
without time zone> ]
<time precision>::= <time fractional seconds precision>
<time fractional seconds precision>::= <unsigned integer>
<with or without time zone>::=WITH TIME ZONE | WITHOUT TIME ZONE
<timestamp precision>::= <time fractional seconds precision>
<interval type>::=INTERVAL <interval qualifier>
<interval qualifier>::= <start field> TO <end field> | <single datetime field>
<start field>::=
<non-second primary datetime field> [ <leftparen> <interval leading field
precision> <rightparen> ]
<non-second primary datetime field>::=YEAR | MONTH | DAY | HOUR | MINUTE
<interval leading field precision>::= <unsigned integer>
<end field>::=
<non-second primary datetime field>
| SECOND [ <leftparen> <interval fractional seconds precision> <rightparen> ]
<interval fractional seconds precision>::= <unsigned integer>
<single datetime field>::=
<non-second primary datetime field> [ <leftparen> <interval leading field
precision> <rightparen> ]
| SECOND [ <leftparen> <interval leading field precision> [ <comma> <interval
fractional seconds precision> ] <rightparen> ]
<row type>::=ROW <row type body>
<row type body>::= <leftparen> <field definition> [ { <comma> <field definition> }... ] <rightparen>
www.PDFgozar.com

343 SQL 99 _ BNF

<field definition>::= <field name> <data type> [ <reference scope check> ] [ <collate clause> ]
<field name>::= <identifier>
<reference scope check>::=
REFERENCES ARE [ NOT ] CHECKED [ ON DELETE <reference scope check
action> ]
<reference scope check action>::= <referential action>
<referential action>::=
CASCADE
| SET NULL
| SET DEFAULT
| RESTRICT
| NO ACTION
<collate clause>::=COLLATE <collation name>
<collation name>::= <schema qualified name>
<schema qualified name>::=[ <schema name> <period> ] <qualified identifier>
<reference type>::=REF <leftparen> <referenced type> <rightparen> [ <scope clause> ]
<referenced type>::= <user-defined type>
<scope clause>::=SCOPE <table name>
<collection type>::= <data type> <array specification>
<array specification>::=
<collection type constructor> <left bracket or trigraph> <unsigned integer>
<right bracket or trigraph>
<collection type constructor>::=ARRAY
<left bracket or trigraph>::= <left bracket> | <left bracket trigraph>
--p
--small
--i
The trigraphs are strictly sequences of characters, not sequences of tokens. There may not be any spaces
between the characters. Normally, the lexical analyzer would return the trigraphs as a simple symbol.
--/i
--/small
--/p
<left bracket trigraph>::= <question mark> <question mark> <leftparen>
<right bracket or trigraph>::= <right bracket> | <right bracket trigraph>
<right bracket trigraph>::= <question mark> <question mark> <rightparen>
<domain name>::= <schema qualified name>
<default clause>::=DEFAULT <default option>
<default option>::=
<literal>
| <datetime value function>
| USER
| CURRENT_USER
| CURRENT_ROLE
| SESSION_USER
| SYSTEM_USER
| CURRENT_PATH
| <implicitly typed value specification>
--hr
--h2 Literals
--/h2
<literal>::= <signed numeric literal> | <general literal>
<signed numeric literal>::=[ <sign> ] <unsigned numeric literal>
<sign>::= <plus sign> | <minus sign>
<unsigned numeric literal>::= <exact numeric literal> | <approximate numeric literal>
<exact numeric literal>::=
<unsigned integer> [ <period> [ <unsigned integer> ] ]
| <period> <unsigned integer>
<approximate numeric literal>::= <mantissa> E <exponent>
<mantissa>::= <exact numeric literal>
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 344

<exponent>::= <signed integer>


<signed integer>::=[ <sign> ] <unsigned integer>
<general literal>::=
<character string literal>
| <national character string literal>
| <bit string literal>
| <hex string literal>
| <binary string literal>
| <datetime literal>
| <interval literal>
| <boolean literal>
<character string literal>::=
[ <introducer> <character set specification> ]
<quote> [ <character representation>... ] <quote>
[ { <separator> <quote> [ <character representation>... ] <quote> }... ]
<introducer>::= <underscore>
<character representation>::= <nonquote character> | <quote symbol>
<nonquote character>::=!! (See the Syntax Rules.)
--p
--small
--i
The <quote symbol> rule consists of two immediately adjacent <quote> marks with no spaces. As usual,
this would be best handled in the lexical analyzer, not in the grammar.
--/i
--/small
--/p
<quote symbol>::= <quote> <quote>
<separator>::={ <comment> | <white space> }...
<comment>::= <simple comment> | <bracketed comment>
<simple comment>::= <simple comment introducer> [ <comment character>... ] <newline>
<simple comment introducer>::= <minus sign> <minus sign> [ <minus sign>... ]
<comment character>::= <nonquote character> | <quote>
<newline>::=!! (See the Syntax Rules)
--p
--small
--i
The <bracketed comment> rule included '!! (See the Syntax Rules)'. This probably says something about
the <slash> <asterisk> and <asterisk> <slash> needing to be adjacent characters rather than adjacent
tokens.
--/i
--/small
--/p
<bracketed comment>::=
<bracketed comment introducer> <bracketed comment contents> <bracketed
comment terminator>
<bracketed comment introducer>::= <slash> <asterisk>
<bracketed comment contents>::=[ { <comment character> | <separator> }... ]
<bracketed comment terminator>::= <asterisk> <slash>
<white space>::=!! (See the Syntax Rules)
<national character string literal>::=
N <quote> [ <character representation>... ] <quote>
[ { <separator> <quote> [ <character representation>... ] <quote> }... ]
<bit string literal>::=
B <quote> [ <bit>... ] <quote>
[ { <separator> <quote> [ <bit>... ] <quote> }... ]
<bit>::=0 | 1
<hex string literal>::=
X <quote> [ <hexit>... ] <quote>
[ { <separator> <quote> [ <hexit>... ] <quote> }... ]
www.PDFgozar.com

345 SQL 99 _ BNF

<hexit>::= <digit> | A | B | C | D | E | F | a | b | c | d | e | f
<binary string literal>::=
X <quote> [ { <hexit> <hexit> }... ] <quote>
[ { <separator> <quote> [ { <hexit> <hexit> }... ] <quote> }... ]
<datetime literal>::= <date literal> | <time literal> | <timestamp literal>
<date literal>::=DATE <date string>
<date string>::= <quote> <unquoted date string> <quote>
<unquoted date string>::= <date value>
<date value>::= <years value> <minus sign> <months value> <minus sign> <days value>
<years value>::= <datetime value>
<datetime value>::= <unsigned integer>
<months value>::= <datetime value>
<days value>::= <datetime value>
<time literal>::=TIME <time string>
<time string>::= <quote> <unquoted time string> <quote>
<unquoted time string>::= <time value> [ <time zone interval> ]
<time value>::= <hours value> <colon> <minutes value> <colon> <seconds value>
<hours value>::= <datetime value>
<minutes value>::= <datetime value>
<seconds value>::= <seconds integer value> [ <period> [ <seconds fraction> ] ]
<seconds integer value>::= <unsigned integer>
<seconds fraction>::= <unsigned integer>
<time zone interval>::= <sign> <hours value> <colon> <minutes value>
<timestamp literal>::=TIMESTAMP <timestamp string>
<timestamp string>::= <quote> <unquoted timestamp string> <quote>
<unquoted timestamp string>::= <unquoted date string> <space> <unquoted time string>
<interval literal>::=INTERVAL [ <sign> ] <interval string> <interval qualifier>
<interval string>::= <quote> <unquoted interval string> <quote>
<unquoted interval string>::=[ <sign> ] { <year-month literal> | <day-time literal> }
<year-month literal>::= <years value> | [ <years value> <minus sign> ] <months value>
<day-time literal>::= <day-time interval> | <time interval>
<day-time interval>::=
<days value> [ <space> <hours value> [ <colon> <minutes value> [ <colon>
<seconds value> ] ] ]
<time interval>::=
<hours value> [ <colon> <minutes value> [ <colon> <seconds value> ] ]
| <minutes value> [ <colon> <seconds value> ]
| <seconds value>
<boolean literal>::=TRUE | FALSE | UNKNOWN
<datetime value function>::=
<current date value function>
| <current time value function>
| <current timestamp value function>
| <current local time value function>
| <current local timestamp value function>
<current date value function>::=CURRENT_DATE
<current time value function>::=
CURRENT_TIME [ <leftparen> <time precision> <rightparen>]
<current timestamp value function>::=
CURRENT_TIMESTAMP [ <leftparen> <timestamp precision> <rightparen> ]
<current local time value function>::=
LOCALTIME [ <leftparen> <time precision> <rightparen> ]
<current local timestamp value function>::=
LOCALTIMESTAMP [ <leftparen> <timestamp precision> <rightparen> ]
<implicitly typed value specification>::= <null specification> | <empty specification>
<null specification>::=NULL
<empty specification>::=ARRAY <left bracket or trigraph> <right bracket or trigraph>
--hr
--h2 Constraints
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 346

--/h2
<column constraint definition>::=
[ <constraint name definition> ] <column constraint> [ <constraint characteristics> ]
<constraint name definition>::=CONSTRAINT <constraint name>
<constraint name>::= <schema qualified name>
<column constraint>::=
NOT NULL
| <unique specification>
| <references specification>
| <check constraint definition>
<unique specification>::=UNIQUE | PRIMARY KEY
<references specification>::=
REFERENCES <referenced table and columns>
[ MATCH <match type> ] [ <referential triggered action> ]
<referenced table and columns>::=
<table name> [ <leftparen> <reference column list> <rightparen> ]
<reference column list>::= <column name list>
<column name list>::= <column name> [ { <comma> <column name> }... ]
<match type>::=FULL | PARTIAL | SIMPLE
<referential triggered action>::=
<update rule> [ <delete rule> ]
| <delete rule> [ <update rule> ]
<update rule>::=ON UPDATE <referential action>
<delete rule>::=ON DELETE <referential action>
<check constraint definition>::=CHECK <leftparen> <search condition> <rightparen>
--hr
--h2 Search Condition
--/h2
<search condition>::= <boolean value expression>
<boolean value expression>::=
<boolean term>
| <boolean value expression> OR <boolean term>
<boolean term>::=
<boolean factor>
| <boolean term> AND <boolean factor>
<boolean factor>::=[ NOT ] <boolean test>
<boolean test>::= <boolean primary> [ IS [ NOT ] <truth value> ]
<boolean primary>::=
<predicate>
| <parenthesized boolean value expression>
| <nonparenthesized value expression primary>
<predicate>::=
<comparison predicate>
| <between predicate>
| <in predicate>
| <like predicate>
| <null predicate>
| <quantified comparison predicate>
| <exists predicate>
| <unique predicate>
| <match predicate>
| <overlaps predicate>
| <similar predicate>
| <distinct predicate>
| <type predicate>
<comparison predicate>::= <row value expression> <comp op> <row value expression>
<row value expression>::= <row value special case> | <row value constructor>
<row value special case>::= <value specification> | <value expression>
<value specification>::= <literal> | <general value specification>
www.PDFgozar.com

347 SQL 99 _ BNF

<general value specification>::=


<host parameter specification>
| <SQL parameter reference>
| <SQL variable reference>
| <dynamic parameter specification>
| <embedded variable specification>
| CURRENT_DEFAULT_TRANSFORM_GROUP
| CURRENT_PATH
| CURRENT_ROLE
| CURRENT_TRANSFORM_GROUP_FOR_TYPE <user-defined type>
| CURRENT_USER
| SESSION_USER
| SYSTEM_USER
| USER
| VALUE
<host parameter specification>::= <host parameter name> [ <indicator parameter> ]
<host parameter name>::= <colon> <identifier>
<indicator parameter>::=[ INDICATOR ] <host parameter name>
<SQL parameter reference>::= <basic identifier chain>
<basic identifier chain>::= <identifier chain>
<identifier chain>::= <identifier> [ { <period> <identifier> }... ]
<value expression>::=
<numeric value expression>
| <string value expression>
| <datetime value expression>
| <interval value expression>
| <boolean value expression>
| <user-defined type value expression>
| <row value expression>
| <reference value expression>
| <collection value expression>
<numeric value expression>::=
<term>
| <numeric value expression> <plus sign> <term>
| <numeric value expression> <minus sign> <term>
<term>::=
<factor>
| <term> <asterisk> <factor>
| <term> <solidus> <factor>
<factor>::=[ <sign> ] <numeric primary>
<numeric primary>::=
<value expression primary>
| <numeric value function>
<value expression primary>::=
<parenthesized value expression>
| <nonparenthesized value expression primary>
<parenthesized value expression>::= <leftparen> <value expression> <rightparen>
<nonparenthesized value expression primary>::=
<unsigned value specification>
| <column reference>
| <set function specification>
| <scalar subquery>
| <case expression>
| <cast specification>
| <subtype treatment>
| <attribute or method reference>
| <reference resolution>
| <collection value constructor>
| <routine invocation>
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 348

| <field reference>
| <element reference>
| <method invocation>
| <static method invocation>
| <new specification>
<unsigned value specification>::= <unsigned literal> | <general value specification>
<unsigned literal>::= <unsigned numeric literal> | <general literal>
<column reference>::=
<basic identifier chain>
| MODULE <period> <qualified identifier> <period> <column name>
<set function specification>::=
COUNT <leftparen> <asterisk> <rightparen>
| <general set function>
| <grouping operation>
<general set function>::=
<set function type> <leftparen> [ <set quantifier> ] <value expression>
<rightparen>
<set function type>::= <computational operation>
<computational operation>::=AVG | MAX | MIN | SUM | EVERY | ANY | SOME | COUNT
<set quantifier>::=DISTINCT | ALL
<grouping operation>::=GROUPING <leftparen> <column reference> <rightparen>
--hr
--h2 Queries
--/h2
<scalar subquery>::= <subquery>
<subquery>::= <leftparen> <query expression> <rightparen>
<query expression>::=[ <with clause> ] <query expression body>
<with clause>::=WITH [ RECURSIVE ] <with list>
<with list>::= <with list element> [ { <comma> <with list element> }... ]
<with list element>::=
<query name>
[ <leftparen> <with column list> <rightparen> ]
AS <leftparen> <query expression> <rightparen>
[ <search or cycle clause> ]
<query name>::= <identifier>
<with column list>::= <column name list>
<search or cycle clause>::=
<search clause>
| <cycle clause>
| <search clause> <cycle clause>
<search clause>::=
SEARCH <recursive search order> SET <sequence column>
<recursive search order>::=
DEPTH FIRST BY <sort specification list>
| BREADTH FIRST BY <sort specification list>
<sort specification list>::= <sort specification> [ { <comma> <sort specification> }... ]
--p
--small
--i <sort specification> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<sort specification>::= <sort key> [ <ordering specification> ]
<sort key>::= <value expression>
<ordering specification>::=ASC | DESC
<sequence column>::= <column name>
<cycle clause>::=
CYCLE <cycle column list>
SET <cycle mark column> TO <cycle mark value>
www.PDFgozar.com

349 SQL 99 _ BNF

DEFAULT <non-cycle mark value>


USING <path column>
<cycle column list>::= <cycle column> [ { <comma> <cycle column> }... ]
<cycle column>::= <column name>
<cycle mark column>::= <column name>
<cycle mark value>::= <value expression>
<non-cycle mark value>::= <value expression>
<path column>::= <column name>
<query expression body>::= <non-join query expression> | <joined table>
<non-join query expression>::=
<non-join query term>
| <query expression body> UNION [ ALL | DISTINCT ] [ <corresponding spec> ]
<query term>
| <query expression body> EXCEPT [ ALL | DISTINCT ] [ <corresponding spec>
] <query term>
<non-join query term>::=
<non-join query primary>
| <query term> INTERSECT [ ALL | DISTINCT ] [ <corresponding spec> ]
<query primary>
<non-join query primary>::=
<simple table>
| <leftparen> <non-join query expression> <rightparen>
<simple table>::= <query specification> | <table value constructor> | <explicit table>
<query specification>::=SELECT [ <set quantifier> ] <select list> <table expression>
<select list>::= <asterisk> | <select sublist> [ { <comma> <select sublist> }... ]
<select sublist>::= <derived column> | <qualified asterisk>
<derived column>::= <value expression> [ <as clause> ]
<as clause>::=[ AS ] <column name>
<qualified asterisk>::=
<asterisked identifier chain> <period> <asterisk>
| <all fields reference>
<asterisked identifier chain>::= <asterisked identifier> [ { <period> <asterisked identifier> }... ]
<asterisked identifier>::= <identifier>
<all fields reference>::= <value expression primary> <period> <asterisk>
<table expression>::= <from clause> [ <where clause> ] [ <group by clause> ] [ <having clause> ]
<from clause>::=FROM <table reference list>
<table reference list>::= <table reference> [ { <comma> <table reference> }... ]
<table reference>::= <table primary> | <joined table>
<table primary>::=
<table or query name> [ [ AS ] <correlation name> [ <leftparen> <derived
column list> <rightparen> ] ]
| <derived table> [ AS ] <correlation name> [ <leftparen> <derived column list>
<rightparen> ]
| <lateral derived table> [ AS ] <correlation name> [ <leftparen> <derived column
list> <rightparen> ]
| <collection derived table> [ AS ] <correlation name> [ <leftparen> <derived
column list> <rightparen> ]
| <only spec> [ [ AS ] <correlation name> [ <leftparen> <derived column list>
<rightparen> ] ]
| <leftparen> <joined table> <rightparen>
<table or query name>::= <table name> | <query name>
<correlation name>::= <identifier>
<derived column list>::= <column name list>
<derived table>::= <table subquery>
<table subquery>::= <subquery>
<lateral derived table>::=LATERAL <leftparen> <query expression> <rightparen>
<collection derived table>::=
UNNEST <leftparen> <collection value expression> <rightparen> [ WITH
ORDINALITY ]
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 350

<collection value expression>::= <value expression primary>


<only spec>::=ONLY <leftparen> <table or query name> <rightparen>
<joined table>::= <cross join> | <qualified join> | <natural join> | <union join>
<cross join>::= <table reference> CROSS JOIN <table primary>
<qualified join>::= <table reference> [ <join type> ] JOIN <table reference> <join specification>
<join type>::=INNER | <outer join type> [ OUTER ]
<outer join type>::=LEFT | RIGHT | FULL
<join specification>::= <join condition> | <named columns join>
<join condition>::=ON <search condition>
<named columns join>::=USING <leftparen> <join column list> <rightparen>
<join column list>::= <column name list>
<natural join>::= <table reference> NATURAL [ <join type> ] JOIN <table primary>
<union join>::= <table reference> UNION JOIN <table primary>
<where clause>::=WHERE <search condition>
--p
--small
--i Rules from <group by clause> to <grouping set> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<group by clause>::=GROUP BY <grouping element list>
<grouping element list>::= <grouping element> [ { <comma> <grouping element> }...]
<grouping element>::=
<ordinary grouping set>
| <rollup list>
| <cube list>
| <grouping sets specification>
| <grand total>
<grouping column reference>::= <column reference> [ <collate clause> ]
<rollup list>::=ROLLUP <leftparen> <grouping column reference list> <rightparen>
<grouping column reference list>::=
<grouping column reference> [ { <comma> <grouping column reference> }... ]
<cube list>::=CUBE <leftparen> <grouping column reference list> <rightparen>
<grouping sets specification>::=GROUPING SETS <leftparen> <grouping set list> <rightparen>
<grouping set list>::= <grouping set> [ { <comma> <grouping set> }... ]
<grouping set>::=
<ordinary grouping set>
| <rollup list>
| <cube list>
| <grouping sets specification>
| <grand total>
<ordinary grouping set>::=
<grouping column reference>
| <leftparen> <grouping column reference list> <rightparen>
<grand total>::= <leftparen> <rightparen>
<concatenated grouping>::= <grouping set> <comma> <grouping set list>
<having clause>::=HAVING <search condition>
<table value constructor>::=VALUES <row value expression list>
<row value expression list>::= <row value expression> [ { <comma> <row value expression> }... ]
<explicit table>::=TABLE <table name>
--hr
--h2 Query expression components
--/h2
<query term>::= <non-join query term> | <joined table>
<corresponding spec>::=
CORRESPONDING [ BY <leftparen> <corresponding column list>
<rightparen> ]
<corresponding column list>::= <column name list>
<query primary>::= <non-join query primary> | <joined table>
www.PDFgozar.com

351 SQL 99 _ BNF

<case expression>::= <case abbreviation> | <case specification>


<case abbreviation>::=
NULLIF <leftparen> <value expression> <comma> <value expression>
<rightparen>
| COALESCE <leftparen> <value expression> { <comma> <value expression>
}... <rightparen>
<case specification>::= <simple case> | <searched case>
<simple case>::=CASE <case operand> <simple when clause>... [ <else clause> ] END
<case operand>::= <value expression>
<simple when clause>::=WHEN <when operand> THEN <result>
<when operand>::= <value expression>
<result>::= <result expression> | NULL
<result expression>::= <value expression>
<else clause>::=ELSE <result>
<searched case>::=CASE <searched when clause>... [ <else clause> ] END
<searched when clause>::=WHEN <search condition> THEN <result>
<cast specification>::=CAST <leftparen> <cast operand> AS <cast target> <rightparen>
<cast operand>::= <value expression> | <implicitly typed value specification>
<cast target>::= <domain name> | <data type>
--p
--small
--i <subtype treatment> to <target subtype> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<subtype treatment>::=
TREAT <leftparen> <subtype operand> AS <target subtype> <rightparen>
<subtype operand>::= <value expression>
<target subtype>::= <user-defined type>
<attribute or method reference>::=
<value expression primary> <dereference operator> <qualified identifier>
[ <SQL argument list> ]
<dereference operator>::= <right arrow>
<right arrow>::=->
<SQL argument list>::=
<leftparen>[<SQL argument>[{ <comma> <SQL argument> }... ] ] <rightparen>
<SQL argument>::= <value expression> | <generalized expression> | <target specification>
<generalized expression>::= <value expression> AS <user-defined type>
<target specification>::=
<host parameter specification>
| <SQL parameter reference>
| <column reference>
| <SQL variable reference>
| <dynamic parameter specification>
| <embedded variable specification>
<reference resolution>::=DEREF <leftparen> <reference value expression> <rightparen>
<reference value expression>::= <value expression primary>
<collection value constructor>::= <array value expression>
<array value expression>::= <array value constructor> | <array concatenation> | <value expression
primary>
<array value constructor>::= <array value list constructor>
<array value list constructor>::=
ARRAY <left bracket or trigraph> <array element list> <right bracket or trigraph>
<array element list>::= <array element> [ { <comma> <array element> }... ]
<array element>::= <value expression>
<array concatenation>::=
<array value expression 1> <concatenation operator> <array value expression 2>
<array value expression 1>::= <array value expression>
<concatenation operator>::=||
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 352

<array value expression 2>::= <array value expression>


<routine invocation>::= <routine name> <SQL argument list>
<routine name>::=[ <schema name> <period> ] <qualified identifier>
<field reference>::= <value expression primary> <period> <field name>
<element reference>::=
<array value expression> <left bracket or trigraph> <numeric value expression>
<right bracket or trigraph>
<method invocation>::= <direct invocation> | <generalized invocation>
<direct invocation>::=
<value expression primary> <period> <method name> [ <SQL argument list> ]
<method name>::= <identifier>
<generalized invocation>::=
<leftparen> <value expression primary>
AS <data type> <rightparen> <period> <method name>
[ <SQL argument list> ]
--p
--small
--i It is not remotely clear why this was needed in this grammar.
--/i
--i <constructor method selection> added per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<constructor method selection>::= <routine invocation>
<static method invocation>::=
<user-defined type> <double colon> <method name> [ <SQL argument list> ]
--p
--small
--i
Note that <double colon> must be a pair of characters with no intervening space, not a pair of colon
symbols separated by arbitrary white space. Normally, the lexical analyzer would return <double colon>
as a symbol.
--/i
--/small
--/p
<double colon>::= <colon> <colon>
<new specification>::=NEW <routine invocation>
<numeric value function>::=
<position expression>
| <extract expression>
| <length expression>
| <cardinality expression>
| <absolute value expression>
| <modulus expression>
<position expression>::= <string position expression> | <blob position expression>
<string position expression>::=
POSITION <leftparen> <string value expression> IN <string value expression>
<rightparen>
<string value expression>::= <character value expression> | <bit value expression> | <blob value
expression>
<character value expression>::= <concatenation> | <character factor>
<concatenation>::= <character value expression> <concatenation operator> <character factor>
<character factor>::= <character primary> [ <collate clause> ]
<character primary>::= <value expression primary> | <string value function>
<string value function>::= <character value function> | <blob value function> | <bit value function>
<character value function>::=
<character substring function>
| <regular expression substring function>
| <fold>
www.PDFgozar.com

353 SQL 99 _ BNF

| <form-of-use conversion>
| <character translation>
| <trim function>
| <character overlay function>
| <specific type method>
<character substring function>::=
SUBSTRING <leftparen> <character value expression> FROM <start position>
[ FOR <string length> ] <rightparen>
<start position>::= <numeric value expression>
<string length>::= <numeric value expression>
--p
--small
--i <regular expression substring function> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<regular expression substring function>::=
SUBSTRING <leftparen> <character value expression> SIMILAR
<character value expression> ESCAPE <escape character> <rightparen>
<escape character>::= <character value expression>
<fold>::={ UPPER | LOWER } <leftparen> <character value expression> <rightparen>
<form-of-use conversion>::=
CONVERT <leftparen> <character value expression>
USING <form-of-use conversion name> <rightparen>
<form-of-use conversion name>::= <schema qualified name>
<character translation>::=
TRANSLATE <leftparen> <character value expression>
USING <translation name> <rightparen>
<translation name>::= <schema qualified name>
<trim function>::=TRIM <leftparen> <trim operands> <rightparen>
<trim operands>::=[ [ <trim specification> ] [ <trim character> ] FROM ] <trim source>
<trim specification>::=LEADING | TRAILING | BOTH
<trim character>::= <character value expression>
<trim source>::= <character value expression>
<character overlay function>::=
OVERLAY <leftparen> <character value expression> PLACING <character
value expression>
FROM <start position> [ FOR <string length> ] <rightparen>
<specific type method>::= <user-defined type value expression> <period> SPECIFICTYPE
<user-defined type value expression>::= <value expression primary>
<blob value function>::= <blob substring function> | <blob trim function> | <blob overlay function>
<blob substring function>::=
SUBSTRING <leftparen> <blob value expression> FROM <start position>
[ FOR <string length> ] <rightparen>
<blob value expression>::= <blob concatenation> | <blob factor>
<blob concatenation>::= <blob value expression> <concatenation operator> <blob factor>
<blob factor>::= <blob primary>
<blob primary>::= <value expression primary> | <string value function>
<blob trim function>::=TRIM <leftparen> <blob trim operands> <rightparen>
<blob trim operands>::=[ [ <trim specification> ] [ <trim octet> ] FROM ] <blob trim source>
<trim octet>::= <blob value expression>
<blob trim source>::= <blob value expression>
<blob overlay function>::=
OVERLAY <leftparen> <blob value expression> PLACING <blob value
expression>
FROM <start position> [ FOR <string length> ] <rightparen>
<bit value function>::= <bit substring function>
<bit substring function>::=
SUBSTRING <leftparen> <bit value expression> FROM <start position>
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 354

[ FOR <string length> ] <rightparen>


<bit value expression>::= <bit concatenation> | <bit factor>
<bit concatenation>::= <bit value expression> <concatenation operator> <bit factor>
<bit factor>::= <bit primary>
<bit primary>::= <value expression primary> | <string value function>
<blob position expression>::=
POSITION <leftparen> <blob value expression> IN <blob value expression>
<rightparen>
<extract expression>::=
EXTRACT <leftparen> <extract field> FROM <extract source> <rightparen>
<extract field>::= <primary datetime field> | <time zone field>
<primary datetime field>::= <non-second primary datetime field> | SECOND
<time zone field>::=TIMEZONE_HOUR | TIMEZONE_MINUTE
<extract source>::= <datetime value expression> | <interval value expression>
<datetime value expression>::=
<datetime term>
| <interval value expression> <plus sign> <datetime term>
| <datetime value expression> <plus sign> <interval term>
| <datetime value expression> <minus sign> <interval term>
<interval term>::=
<interval factor>
| <interval term 2> <asterisk> <factor>
| <interval term 2> <solidus> <factor>
| <term> <asterisk> <interval factor>
<interval factor>::=[ <sign> ] <interval primary>
<interval primary>::= <value expression primary> | <interval value function>
<interval value function>::= <interval absolute value function>
<interval absolute value function>::=ABS <leftparen> <interval value expression> <rightparen>
<interval value expression>::=
<interval term>
| <interval value expression 1> <plus sign> <interval term 1>
| <interval value expression 1> <minus sign> <interval term 1>
| <leftparen> <datetime value expression> <minus sign>
<datetime term> <rightparen> <interval qualifier>
<interval value expression 1>::= <interval value expression>
<interval term 1>::= <interval term>
<datetime term>::= <datetime factor>
<datetime factor>::= <datetime primary> [ <time zone> ]
<datetime primary>::= <value expression primary> | <datetime value function>
<time zone>::=AT <time zone specifier>
<time zone specifier>::=LOCAL | TIME ZONE <interval primary>
<interval term 2>::= <interval term>
<length expression>::= <char length expression> | <octet length expression> | <bit length expression>
<char length expression>::=
{ CHAR_LENGTH | CHARACTER_LENGTH } <leftparen> <string value
expression> <rightparen>
<octet length expression>::=
OCTET_LENGTH <leftparen> <string value expression> <rightparen>
<bit length expression>::=
BIT_LENGTH <leftparen> <string value expression> <rightparen>
<cardinality expression>::=
CARDINALITY <leftparen> <collection value expression> <rightparen>
<absolute value expression>::=
ABS <leftparen> <numeric value expression> <rightparen>
<modulus expression>::=
MOD <leftparen> <numeric value expression dividend> <comma> <numeric
value expression divisor> <rightparen>
<numeric value expression dividend>::= <numeric value expression>
<numeric value expression divisor>::= <numeric value expression>
www.PDFgozar.com

355 SQL 99 _ BNF

<row value constructor>::=


<row value constructor element>
| [ ROW ] <leftparen> <row value constructor element list> <rightparen>
| <row subquery>
<row value constructor element>::= <value expression>
<row value constructor element list>::=
<row value constructor element>[{<comma><row value constructor
element>}...]
<row subquery>::= <subquery>
<comp op>::=
<equals operator>
| <not equals operator>
| <less than operator>
| <greater than operator>
| <less than or equals operator>
| <greater than or equals operator>
--p
--small
--i
The <not equals> , <less than or equals operator> and <greater than or equals operator> should be
handled by the lexical analyzer as token symbols, not by the grammar. As usual, spaces are not allowed
between the two characters.
--/i
--/small
--/p
<not equals operator>::= <less than operator> <greater than operator>
<less than or equals operator>::= <less than operator> <equals operator>
<greater than or equals operator>::= <greater than operator> <equals operator>
<between predicate>::=
<row value expression> [ NOT ] BETWEEN [ ASYMMETRIC | SYMMETRIC
]
<row value expression> AND <row value expression>
<in predicate>::= <row value expression> [ NOT ] IN <in predicate value>
<in predicate value>::= <table subquery> | <leftparen> <in value list> <rightparen>
--p
--small
--i Previously, the expression in curly braces was not in square brackets.
--/i
--i Consequently, every <in value list> had to have at least two items in it.
--/i
--/small
--/p
<in value list>::= <row value expression> [ { <comma> <row value expression> }... ]
<like predicate>::= <character like predicate> | <octet like predicate>
<character like predicate>::=
<character match value> [ NOT ] LIKE <character pattern> [ ESCAPE <escape
character> ]
<character match value>::= <character value expression>
<character pattern>::= <character value expression>
<octet like predicate>::=
<octet match value> [ NOT ] LIKE <octet pattern> [ ESCAPE <escape octet> ]
<octet match value>::= <blob value expression>
<octet pattern>::= <blob value expression>
<escape octet>::= <blob value expression>
<null predicate>::= <row value expression> IS [ NOT ] NULL
<quantified comparison predicate>::= <row value expression> <comp op> <quantifier> <table
subquery>
<quantifier>::= <all> | <some>
<all>::=ALL
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 356

<some>::=SOME | ANY
<exists predicate>::=EXISTS <table subquery>
<unique predicate>::=UNIQUE <table subquery>
<match predicate>::=
<row value expression> MATCH [ UNIQUE ] [ SIMPLE | PARTIAL | FULL ]
<table subquery>
<overlaps predicate>::= <row value expression 1> OVERLAPS <row value expression 2>
<row value expression 1>::= <row value expression>
<row value expression 2>::= <row value expression>
<similar predicate>::=
<character match value> [ NOT ] SIMILAR TO <similar pattern> [ ESCAPE
<escape character> ]
<similar pattern>::= <character value expression>
--hr
--h2 Regular Expressions for SIMILAR TO
--/h2
--p
These regular expressions are not referenced anywhere else in the document, but define the structure that
the <character value expression> used in <similar pattern> must have. Structurally, these regular
expressions are similar to 'egrep' expressions, except they use underscore in place of dot, and percent is
equivalent to dot star in 'egrep'. The other omission is the use of caret (aka circumflex) to mark the start
of the matched text and dollar to mark the end of the matched text.
--/p
<regular expression>::=
<regular term>
| <regular expression> <vertical bar> <regular term>
<regular term>::=
<regular factor>
| <regular term> <regular factor>
<regular factor>::=
<regular primary>
| <regular primary> <asterisk>
| <regular primary> <plus sign>
<regular primary>::=
<character specifier>
| <percent>
| <regular character set>
| <leftparen> <regular expression> <rightparen>
<character specifier>::= <non-escaped character> | <escaped character>
<non-escaped character>::=!! (See the Syntax Rules)
<escaped character>::=!! (See the Syntax Rules)
<regular character set>::=
<underscore>
| <left bracket> <character enumeration>... <right bracket>
| <left bracket> <circumflex> <character enumeration>... <right bracket>
| <left bracket> <colon> <regular character set identifier> <colon> <right
bracket>
<character enumeration>::=
<character specifier>
| <character specifier> <minus sign> <character specifier>
<regular character set identifier>::= <identifier>
--hr
<distinct predicate>::=
<row value expression 3> IS DISTINCT FROM <row value expression 4>
<row value expression 3>::= <row value expression>
<row value expression 4>::= <row value expression>
<type predicate>::=
<user-defined type value expression> IS [ NOT ] OF <leftparen> <type list>
<rightparen>
www.PDFgozar.com

357 SQL 99 _ BNF

<type list>::=
<user-defined type specification> [ { <comma> <user-defined type specification> }...
]
<user-defined type specification>::=
<inclusive user-defined type specification>
| <exclusive user-defined type specification>
<inclusive user-defined type specification>::= <user-defined type>
<exclusive user-defined type specification>::=ONLY <user-defined type>
<parenthesized boolean value expression>::= <leftparen> <boolean value expression> <rightparen>
<truth value>::=TRUE | FALSE | UNKNOWN
--hr
--h2 More about constraints
--/h2
<constraint characteristics>::=
<constraint check time> [ [ NOT ] DEFERRABLE ]
| [ NOT ] DEFERRABLE [ <constraint check time> ]
<constraint check time>::=INITIALLY DEFERRED | INITIALLY IMMEDIATE
<table constraint definition>::=
[ <constraint name definition> ] <table constraint> [ <constraint characteristics> ]
<table constraint>::= <unique constraint definition> | <referential constraint definition> | <check
constraint definition>
--p
--small
--i
The standard documents UNIQUE ( VALUE ) but there is no explanation of why that is different from
the UNIQUE <leftparen> VALUE <rightparen> used here.
--/i
--/small
--/p
<unique constraint definition>::=
<unique specification> <leftparen> <unique column list> <rightparen>
| UNIQUE <leftparen> VALUE <rightparen>
<unique column list>::= <column name list>
<referential constraint definition>::=
FOREIGN KEY <leftparen> <referencing columns> <rightparen> <references
specification>
<referencing columns>::= <reference column list>
<like clause>::=LIKE <table name>
<self-referencing column specification>::=
REF IS <self-referencing column name> <reference generation>
<self-referencing column name>::= <column name>
<reference generation>::=SYSTEM GENERATED | USER GENERATED | DERIVED
<column options>::= <column name> WITH OPTIONS <column option list>
<column option list>::=
[ <scope clause> ] [ <default clause> ] [ <column constraint definition>... ] [
<collate clause> ]
<table commit action>::=PRESERVE | DELETE
--hr
--h2 Module contents
--/h2
<module contents>::=
<declare cursor>
| <externally-invoked procedure>
| <dynamic declare cursor>
<declare cursor>::=
DECLARE <cursor name> [ <cursor sensitivity> ] [ <cursor scrollability> ]
CURSOR
[ <cursor holdability> ] [ <cursor returnability> ] FOR <cursor specification>
<cursor name>::= <local qualified name>
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 358

<local qualified name>::=[ <local qualifier> <period> ] <qualified identifier>


<local qualifier>::=MODULE
<cursor sensitivity>::=SENSITIVE | INSENSITIVE | ASENSITIVE
<cursor scrollability>::=SCROLL | NO SCROLL
<cursor holdability>::=WITH HOLD | WITHOUT HOLD
<cursor returnability>::=WITH RETURN | WITHOUT RETURN
<cursor specification>::= <query expression> [ <order by clause> ] [ <updatability clause> ]
<order by clause>::=ORDER BY <sort specification list>
<updatability clause>::=FOR { READ ONLY | UPDATE [ OF <column name list> ] }
--hr
--h2 SQL Procedures
--/h2
<externally-invoked procedure>::=
PROCEDURE <procedure name>
<host parameter declaration setup> <semicolon>
<SQL procedure statement> <semicolon>
<procedure name>::= <identifier>
--p
--small
--i <host parameter declaration setup> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<host parameter declaration setup>::= <host parameter declaration list>
<host parameter declaration list>::=
<leftparen> <host parameter declaration>
[ { <comma> <host parameter declaration> }... ] <rightparen>
<host parameter declaration>::=
<host parameter name> <host parameter data type>
| <status parameter>
<host parameter data type>::= <data type> [ <locator indication> ]
<locator indication>::=AS LOCATOR
<status parameter>::=SQLSTATE
<SQL procedure statement>::= <SQL executable statement>
<SQL executable statement>::=
<SQL schema statement>
| <SQL data statement>
| <SQL control statement>
| <SQL transaction statement>
| <SQL connection statement>
| <SQL session statement>
| <SQL diagnostics statement>
| <SQL dynamic statement>
--hr
--h2 SQL Schema Definition Statements
--/h2
<SQL schema statement>::=
<SQL schema definition statement>
| <SQL schema manipulation statement>
--p
--small
--i <SQL schema definition statement> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<SQL schema definition statement>::=
<schema definition>
| <table definition>
| <view definition>
www.PDFgozar.com

359 SQL 99 _ BNF

| <SQL-invoked routine>
| <grant statement>
| <role definition>
| <domain definition>
| <character set definition>
| <collation definition>
| <translation definition>
| <assertion definition>
| <trigger definition>
| <user-defined type definition>
| <user-defined cast definition>
| <user-defined ordering definition>
| <transform definition>
| <SQL-server module definition>
<schema definition>::=
CREATE SCHEMA <schema name clause> [ <schema character set or path> ]
[ <schema element>... ]
<schema name clause>::=
<schema name>
| AUTHORIZATION <schema authorization identifier>
| <schema name> AUTHORIZATION <schema authorization identifier>
<schema authorization identifier>::= <authorization identifier>
<schema character set or path>::=
<schema character set specification>
| <schema path specification>
| <schema character set specification> <schema path specification>
| <schema path specification> <schema character set specification>
<schema character set specification>::=
DEFAULT CHARACTER SET <character set specification>
<schema path specification>::= <path specification>
--p
--small
--i <schema element> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<schema element>::=
<table definition>
| <view definition>
| <domain definition>
| <character set definition>
| <collation definition>
| <translation definition>
| <assertion definition>
| <trigger definition>
| <user-defined type definition>
| <schema routine>
| <grant statement>
| <role definition>
| <user-defined cast definition>
| <user-defined ordering definition>
| <transform definition>
<table definition>::=
CREATE [ <table scope> ] TABLE <table name> <table contents source>
[ ON COMMIT <table commit action> ROWS ]
<table scope>::= <global or local> TEMPORARY
<global or local>::=GLOBAL | LOCAL
<table contents source>::=
<table element list>
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 360

| OF <user-defined type> [ <subtable clause> ] [ <table element list> ]


<subtable clause>::=UNDER <supertable clause>
<supertable clause>::= <supertable name>
<supertable name>::= <table name>
<view definition>::=
CREATE [ RECURSIVE ] VIEW <table name> <view specification>
AS <query expression> [ WITH [ <levels clause> ] CHECK OPTION ]
<view specification>::= <regular view specification> | <referenceable view specification>
<regular view specification>::=[ <leftparen> <view column list> <rightparen> ]
<view column list>::= <column name list>
<referenceable view specification>::=OF <user-defined type>[<subview clause>][<view element list>]
<subview clause>::=UNDER <table name>
<view element list>::=
<leftparen> [ <self-referencing column specification> <comma> ]
<view element> [ { <comma> <view element> }... ] <rightparen>
<view element>::= <view column option>
<view column option>::= <column name> WITH OPTIONS <scope clause>
<levels clause>::=CASCADED | LOCAL
<domain definition>::=
CREATE DOMAIN <domain name> [ AS ] <data type>
[ <default clause> ] [ <domain constraint>... ] [ <collate clause>]
<domain constraint>::=
[ <constraint name definition> ] <check constraint definition> [ <constraint
characteristics> ]
<character set definition>::=
CREATE CHARACTER SET <character set name>
[ AS ] <character set source> [ <collate clause> ]
<character set source>::=GET <character set specification>
<collation definition>::=
CREATE COLLATION <collation name> FOR <character set specification>
FROM <existing collation name> [ <pad characteristic> ]
<existing collation name>::= <collation name>
<pad characteristic>::=NO PAD | PAD SPACE
<translation definition>::=
CREATE TRANSLATION <translation name> FOR <source character set
specification>
TO <target character set specification> FROM <translation source>
<source character set specification>::= <character set specification>
<target character set specification>::= <character set specification>
<translation source>::= <existing translation name> | <translation routine>
<existing translation name>::= <translation name>
<translation routine>::= <specific routine designator>
--p
--small
--i <specific routine designator> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<specific routine designator>::=
SPECIFIC <routine type> <specific name>
| <routine type> <member name> [ FOR <user-defined type name> ]
--p
--small
--i <specific routine designator> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<routine type>::=
ROUTINE | FUNCTION | PROCEDURE
www.PDFgozar.com

361 SQL 99 _ BNF

| [ INSTANCE | STATIC | CONSTRUCTOR ] METHOD


<specific name>::= <schema qualified name>
<member name>::= <schema qualified routine name> [ <data type list> ]
<schema qualified routine name>::= <schema qualified name>
<data type list>::=
<leftparen> [ <data type> [ { <comma> <data type> }... ] ] <rightparen>
<assertion definition>::=
CREATE ASSERTION <constraint name>
CHECK <leftparen> <search condition> <rightparen> [ <constraint
characteristics> ]
<trigger definition>::=
CREATE TRIGGER <trigger name> <trigger action time> <trigger event>
ON <table name> [ REFERENCING <old or new values alias list> ] <triggered
action>
<trigger name>::= <schema qualified name>
<trigger action time>::=BEFORE | AFTER
<trigger event>::=INSERT | DELETE | UPDATE [ OF <trigger column list> ]
<trigger column list>::= <column name list>
<old or new values alias list>::= <old or new values alias>...
<old or new values alias>::=
OLD [ ROW ] [ AS ] <old values correlation name>
| NEW [ ROW ] [ AS ] <new values correlation name>
| OLD TABLE [ AS ] <old values table alias>
| NEW TABLE [ AS ] <new values table alias>
<old values correlation name>::= <correlation name>
<new values correlation name>::= <correlation name>
<old values table alias>::= <identifier>
<new values table alias>::= <identifier>
<triggered action>::=
[ FOR EACH { ROW | STATEMENT } ]
[ WHEN <leftparen> <search condition> <rightparen> ] <triggered SQL
statement>
<triggered SQL statement>::=
<SQL procedure statement>
| BEGIN ATOMIC { <SQL procedure statement> <semicolon> }... END
<user-defined type definition>::=CREATE TYPE <user-defined type body>
--p
--small
--i <user-defined type body> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<user-defined type body>::=
<user-defined type name> [ <subtype clause> ] [ AS <representation> ]
[ <instantiable clause> ] <finality> [ <reference type specification> ]
[ <ref cast option> ] [ <cast option> ] [ <method specification list> ]
<subtype clause>::=UNDER <supertype name>
<supertype name>::= <user-defined type>
<representation>::= <predefined type> | <member list>
<member list>::= <leftparen> <member> [ { <comma> <member> }... ] <rightparen>
<member>::= <attribute definition>
<attribute definition>::=
<attribute name> <data type> [ <reference scope check> ] [ <attribute default> ]
[ <collate clause> ]
<attribute name>::= <identifier>
<attribute default>::= <default clause>
<instantiable clause>::=INSTANTIABLE | NOT INSTANTIABLE
<finality>::=FINAL | NOT FINAL
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 362

<reference type specification>::= <user-defined representation> | <derived representation> | <system-


generated representation>
<user-defined representation>::=REF USING <predefined type>
<ref cast option>::=[ <cast to ref> ] [ <cast to type> ]
<cast to ref>::=
CAST <leftparen> SOURCE AS REF <rightparen> WITH <cast to ref identifier>
<cast to ref identifier>::= <identifier>
<cast to type>::=
CAST <leftparen> REF AS SOURCE <rightparen> WITH <cast to type
identifier>
<cast to type identifier>::= <identifier>
<derived representation>::=REF FROM <list of attributes>
<list of attributes>::=
<leftparen> <attribute name> [ { <comma> <attribute name> }...] <rightparen>
<system-generated representation>::=REF IS SYSTEM GENERATED
<cast option>::=[ <cast to distinct> ] [ <cast to source> ]
<cast to distinct>::=
CAST <leftparen> SOURCE AS DISTINCT <rightparen> WITH <cast to distinct
identifier>
<cast to distinct identifier>::= <identifier>
<cast to source>::=
CAST <leftparen> DISTINCT AS SOURCE <rightparen> WITH <cast to source
identifier>
<cast to source identifier>::= <identifier>
<method specification list>::= <method specification> [ { <comma> <method specification> }... ]
<method specification>::= <original method specification> | <overriding method specification>
<original method specification>::=
<partial method specification> [ SELF AS RESULT ] [ SELF AS LOCATOR ]
[ <method characteristics> ]
--p
--small
--i <partial method specification> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<partial method specification>::=
[ INSTANCE | STATIC | CONSTRUCTOR ] METHOD <method name>
<SQL parameter declaration list> <returns clause> [ SPECIFIC <specific
method name> ]
<SQL parameter declaration list>::=
<leftparen> [ <SQL parameter declaration>
[ { <comma> <SQL parameter declaration> }... ] ] <rightparen>
<SQL parameter declaration>::=
[ <parameter mode> ] [ <SQL parameter name> ] <parameter type> [ RESULT ]
<parameter mode>::=IN | OUT | INOUT
<SQL parameter name>::= <identifier>
<parameter type>::= <data type> [ <locator indication> ]
<returns clause>::=RETURNS <returns data type> [ <result cast> ]
<returns data type>::= <data type> [ <locator indication> ]
<result cast>::=CAST FROM <result cast from type>
<result cast from type>::= <data type> [ <locator indication> ]
--p
--small
--i <specific method name> added per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<specific method name>::=[ <schema name> <period> ] <qualified identifier>
<method characteristics>::= <method characteristic>...
www.PDFgozar.com

363 SQL 99 _ BNF

--p
--small
--i <method characteristic> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<method characteristic>::=
<language clause>
| <parameter style clause>
| <deterministic characteristic>
| <SQL-data access indication>
| <null-call clause>
<parameter style clause>::=PARAMETER STYLE <parameter style>
<parameter style>::=SQL | GENERAL
<deterministic characteristic>::=DETERMINISTIC | NOT DETERMINISTIC
<SQL-data access indication>::=
NO SQL
| CONTAINS SQL
| READS SQL DATA
| MODIFIES SQL DATA
<null-call clause>::=
RETURNS NULL ON NULL INPUT
| CALLED ON NULL INPUT
<overriding method specification>::=OVERRIDING <partial method specification>
<schema routine>::= <schema procedure> | <schema function>
<schema procedure>::=CREATE <SQL-invoked procedure>
<SQL-invoked procedure>::=
PROCEDURE <schema qualified routine name>
<SQL parameter declaration list> <routine characteristics> <routine body>
<routine characteristics>::=[ <routine characteristic>... ]
--p
--small
--i <routine characteristic> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<routine characteristic>::=
<language clause>
| <parameter style clause>
| SPECIFIC <specific name>
| <deterministic characteristic>
| <SQL-data access indication>
| <null-call clause>
| <dynamic result sets characteristic>
<dynamic result sets characteristic>::=
DYNAMIC RESULT SETS <maximum dynamic result sets>
<maximum dynamic result sets>::= <unsigned integer>
<routine body>::= <SQL routine body> | <external body reference>
<SQL routine body>::= <SQL procedure statement>
--p
--small
--i <external body reference> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<external body reference>::=
EXTERNAL [ NAME <external routine name> ] [ <parameter style clause> ]
[ <transform group specification> ] [ <external security clause> ]
<external routine name>::= <identifier> | <character string literal>
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 364

<external security clause>::=


EXTERNAL SECURITY DEFINER
| EXTERNAL SECURITY INVOKER
| EXTERNAL SECURITY IMPLEMENTATION DEFINED
<schema function>::=CREATE <SQL-invoked function>
<SQL-invoked function>::=
{ <function specification> | <method specification designator> } <routine body>
<function specification>::=
FUNCTION <schema qualified routine name> <SQL parameter declaration list>
<returns clause> <routine characteristics> [ <dispatch clause> ]
<dispatch clause>::=STATIC DISPATCH
--p
--small
--i <method specification designator> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<method specification designator>::=
[ INSTANCE | STATIC | CONSTRUCTOR ] METHOD <method name>
<SQL parameter declaration list> [ <returns clause> ] FOR <user-defined type
name>
<grant statement>::= <grant privilege statement> | <grant role statement>
<grant privilege statement>::=
GRANT <privileges> TO <grantee> [ { <comma> <grantee> }... ]
[ WITH HIERARCHY OPTION ] [ WITH GRANT OPTION ] [ GRANTED BY
<grantor> ]
<privileges>::= <object privileges> ON <object name>
<object privileges>::=ALL PRIVILEGES | <action> [ { <comma> <action> }... ]
<action>::=
SELECT
| SELECT <leftparen> <privilege column list> <rightparen>
| SELECT <leftparen> <privilege method list> <rightparen>
| DELETE
| INSERT [ <leftparen> <privilege column list> <rightparen> ]
| UPDATE [ <leftparen> <privilege column list> <rightparen> ]
| REFERENCES [ <leftparen> <privilege column list> <rightparen> ]
| USAGE
| TRIGGER
| UNDER
| EXECUTE
<privilege column list>::= <column name list>
<privilege method list>::=
<specific routine designator> [ { <comma> <specific routine designator> }... ]
<object name>::=
[ TABLE ] <table name>
| DOMAIN <domain name>
| COLLATION <collation name>
| CHARACTER SET <character set name>
| MODULE <module name>
| TRANSLATION <translation name>
| TYPE <user-defined type name>
| <specific routine designator>
<grantee>::=PUBLIC | <authorization identifier>
<grantor>::=CURRENT_USER | CURRENT_ROLE
<grant role statement>::=
GRANT <role granted> [ { <comma> <role granted> }... ] TO <grantee> [ {
<comma> <grantee> }... ]
[ WITH ADMIN OPTION ] [ GRANTED BY <grantor> ]
<role granted>::= <role name>
www.PDFgozar.com

365 SQL 99 _ BNF

<role definition>::=CREATE ROLE <role name> [ WITH ADMIN <grantor> ]


<SQL-invoked routine>::= <schema routine> | <module routine>
<user-defined cast definition>::=
CREATE CAST <leftparen> <source data type> AS <target data type>
<rightparen>
WITH <cast function> [ AS ASSIGNMENT ]
<source data type>::= <data type>
<cast function>::= <specific routine designator>
--p
--small
--i <user-defined ordering specification> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<user-defined ordering definition>::=
CREATE ORDERING FOR <user-defined type name> <ordering form>
<ordering form>::= <equals ordering form> | <full ordering form>
<equals ordering form>::=EQUALS ONLY BY <ordering category>
<ordering category>::= <relative category> | <map category> | <state category>
<relative category>::=RELATIVE WITH <relative function specification>
<relative function specification>::= <specific routine designator>
<map category>::=MAP WITH <map function specification>
<map function specification>::= <specific routine designator>
<state category>::=STATE [ <specific name> ]
<full ordering form>::=ORDER FULL BY <ordering category>
--p
--small
--i <transform definition> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<transform definition>::=
CREATE { TRANSFORM | TRANSFORMS } FOR <user-defined type name>
<transform group>...
<transform group>::= <group name> <leftparen> <transform element list> <rightparen>
<transform element list>::= <transform element> [ <comma> <transform element> ]
<transform element>::= <to sql> | <from sql>
<to sql>::=TO SQL WITH <to sql function>
<to sql function>::= <specific routine designator>
<from sql>::=FROM SQL WITH <from sql function>
<from sql function>::= <specific routine designator>
--hr
--h2 SQL Schema Manipulation Statements
--/h2
<SQL schema manipulation statement>::=
<drop schema statement>
| <alter table statement>
| <drop table statement>
| <drop view statement>
| <alter routine statement>
| <drop routine statement>
| <drop user-defined cast statement>
| <revoke statement>
| <drop role statement>
| <alter domain statement>
| <drop domain statement>
| <drop character set statement>
| <drop collation statement>
| <drop translation statement>
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 366

| <drop assertion statement>


| <drop trigger statement>
| <alter type statement>
| <drop data type statement>
| <drop user-defined ordering statement>
| <drop transform statement>
| <drop module statement>
<drop schema statement>::=DROP SCHEMA <schema name> <drop behavior>
<drop behavior>::=CASCADE | RESTRICT
<alter table statement>::=ALTER TABLE <table name> <alter table action>
<alter table action>::=
<add column definition>
| <alter column definition>
| <drop column definition>
| <add table constraint definition>
| <drop table constraint definition>
<add column definition>::=ADD [ COLUMN ] <column definition>
<alter column definition>::=ALTER [ COLUMN ] <column name> <alter column action>
<alter column action>::=
<set column default clause>
| <drop column default clause>
| <add column scope clause>
| <drop column scope clause>
<set column default clause>::=SET <default clause>
<drop column default clause>::=DROP DEFAULT
<add column scope clause>::=ADD <scope clause>
<drop column scope clause>::=DROP SCOPE <drop behavior>
<drop column definition>::=DROP [ COLUMN ] <column name> <drop behavior>
<add table constraint definition>::=ADD <table constraint definition>
<drop table constraint definition>::=DROP CONSTRAINT <constraint name> <drop behavior>
<drop table statement>::=DROP TABLE <table name> <drop behavior>
<drop view statement>::=DROP VIEW <table name> <drop behavior>
<alter routine statement>::=
ALTER <specific routine designator> <alter routine characteristics> <alter
routine behaviour>
<alter routine characteristics>::= <alter routine characteristic>...
<alter routine characteristic>::=
<language clause>
| <parameter style clause>
| <SQL-data access indication>
| <null-call clause>
| <dynamic result sets characteristic>
| NAME <external routine name>
<alter routine behaviour>::=RESTRICT
<drop routine statement>::=DROP <specific routine designator> <drop behavior>
<drop user-defined cast statement>::=
DROP CAST <leftparen> <source data type> AS <target data type>
<rightparen>
<drop behavior>
<revoke statement>::= <revoke privilege statement> | <revoke role statement>
<revoke privilege statement>::=
REVOKE [ <revoke option extension> ] <privileges> FROM <grantee>
[ { <comma> <grantee> }... ] [ GRANTED BY <grantor> ] <drop behavior>
<revoke option extension>::=GRANT OPTION FOR | HIERARCHY OPTION FOR
<revoke role statement>::=
REVOKE [ADMIN OPTION FOR] <role revoked> [{ <comma> <role
revoked>}...]
FROM <grantee> [ { <comma> <grantee> }... ] [ GRANTED BY <grantor> ]
<drop behavior>
www.PDFgozar.com

367 SQL 99 _ BNF

<role revoked>::= <role name>


<drop role statement>::=DROP ROLE <role name>
<alter domain statement>::=ALTER DOMAIN <domain name> <alter domain action>
<alter domain action>::=
<set domain default clause>
| <drop domain default clause>
| <add domain constraint definition>
| <drop domain constraint definition>
<set domain default clause>::=SET <default clause>
<drop domain default clause>::=DROP DEFAULT
<add domain constraint definition>::=ADD <domain constraint>
<drop domain constraint definition>::=DROP CONSTRAINT <constraint name>
<drop domain statement>::=DROP DOMAIN <domain name> <drop behavior>
<drop character set statement>::=DROP CHARACTER SET <character set name>
<drop collation statement>::=DROP COLLATION <collation name> <drop behavior>
<drop translation statement>::=DROP TRANSLATION <translation name>
<drop assertion statement>::=DROP ASSERTION <constraint name>
<drop trigger statement>::=DROP TRIGGER <trigger name>
<alter type statement>::=ALTER TYPE <user-defined type name> <alter type action>
<alter type action>::=
<add attribute definition>
| <drop attribute definition>
| <add original method specification>
| <add overriding method specification>
| <drop method specification>
<add attribute definition>::=ADD ATTRIBUTE <attribute definition>
<drop attribute definition>::=DROP ATTRIBUTE <attribute name> RESTRICT
<add original method specification>::=ADD <original method specification>
<add overriding method specification>::=ADD <overriding method specification>
--p
--small
--i <drop method specification> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<drop method specification>::=DROP <specific method specification designator> RESTRICT
--p
--small
--i <specific method specification designator> added per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<specific method specification designator>::=
SPECIFIC METHOD <specific method name>
| [ INSTANCE | STATIC | CONSTRUCTOR ] METHOD <method name> [ <data
type list> ]
<drop data type statement>::=DROP TYPE <user-defined type name> <drop behavior>
--p
--small
--i <drop user-defined ordering statement> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<drop user-defined ordering statement>::=
DROP ORDERING FOR <user-defined type name> <drop behavior>
--p
--small
--i <drop transform statement> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 368

--/small
--/p
<drop transform statement>::=
DROP { TRANSFORM | TRANSFORMS } <transforms to be dropped>
FOR <user-defined type name> <drop behavior>
<transforms to be dropped>::=ALL | <transform group element>
<transform group element>::= <group name>
--hr
--h2 SQL Data Manipulation Statements
--/h2
<SQL data statement>::=
<open statement>
| <fetch statement>
| <close statement>
| <select statement: single row>
| <free locator statement>
| <hold locator statement>
| <SQL data change statement>
<open statement>::=OPEN <cursor name>
<fetch statement>::=
FETCH [ [ <fetch orientation> ] FROM ] <cursor name> INTO <fetch target list>
<fetch orientation>::=
NEXT | PRIOR | FIRST | LAST
| { ABSOLUTE | RELATIVE } <simple value specification>
<simple value specification>::=
<literal>
| <host parameter name>
| <SQL parameter reference>
| <SQL variable reference>
| <embedded variable name>
<fetch target list>::= <target specification> [ { <comma> <target specification> }... ]
<close statement>::=CLOSE <cursor name>
<select statement: single row>::=
SELECT [ <set quantifier> ] <select list> INTO <select target list> <table
expression>
<select target list>::= <target specification> [ { <comma> <target specification> }... ]
<free locator statement>::=
FREE LOCATOR <locator reference> [ { <comma> <locator reference> }... ]
<locator reference>::= <host parameter name> | <embedded variable name>
<hold locator statement>::=
HOLD LOCATOR <locator reference> [ { <comma> <locator reference> }... ]
<SQL data change statement>::=
<delete statement: positioned>
| <delete statement: searched>
| <insert statement>
| <update statement: positioned>
| <update statement: searched>
<delete statement: positioned>::=
DELETE FROM <target table> WHERE CURRENT OF <cursor name>
--p
--small
--i <target table> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<target table>::=
<table name>
| [ ONLY ] <leftparen> <table name> <rightparen>
<delete statement: searched>::=
www.PDFgozar.com

369 SQL 99 _ BNF

DELETE FROM <target table> [ WHERE <search condition> ]


<insert statement>::=
INSERT INTO <insertion target> <insert columns and source>
<insertion target>::= <table name>
<insert columns and source>::= <from subquery> | <from constructor> | <from default>
<from subquery>::=
[ <leftparen> <insert column list> <rightparen> ] [ <override clause> ] <query
expression>
<insert column list>::= <column name list>
<from constructor>::=
[ <leftparen> <insert column list> <rightparen> ] [ <override clause> ]
<contextually typed table value constructor>
<override clause>::=OVERRIDING USER VALUE | OVERRIDING SYSTEM VALUE
<contextually typed table value constructor>::=
VALUES <contextually typed row value expression list>
<contextually typed row value expression list>::=
<contextually typed row value expression>
[ { <comma> <contextually typed row value expression> }... ]
<contextually typed row value expression>::=
<row value special case>
| <contextually typed row value constructor>
<contextually typed row value constructor>::=
<contextually typed row value constructor element>
| [ ROW ] <leftparen> <contextually typed row value constructor element list>
<rightparen>
<contextually typed row value constructor element>::=
<value expression> | <contextually typed value specification>
<contextually typed value specification>::=
<implicitly typed value specification> | <default specification>
<default specification>::=DEFAULT
<contextually typed row value constructor element list>::=
<contextually typed row value constructor element>
[ { <comma> <contextually typed row value constructor element> }... ]
<from default>::=DEFAULT VALUES
<update statement: positioned>::=
UPDATE <target table> SET <set clause list> WHERE CURRENT OF <cursor name>
<set clause list>::= <set clause> [ { <comma> <set clause> }... ]
<set clause>::=
<update target> <equals operator> <update source>
| <mutated set clause> <equals operator> <update source>
--p
--small
--i <update target> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<update target>::=
<object column>
| <object column> <left bracket or trigraph> <simple value specification> <right
bracket or trigraph>
<object column>::= <column name>
<update source>::= <value expression> | <contextually typed value specification>
<mutated set clause>::= <mutated target> <period> <method name>
<mutated target>::= <object column> | <mutated set clause>
<update statement: searched>::=
UPDATE <target table> SET <set clause list> [ WHERE <search condition> ]
--hr
--h2 SQL Control Statements
--/h2
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 370

<SQL control statement>::=


<call statement>
| <return statement>
| <assignment statement>
| <compound statement>
| <case statement>
| <if statement>
| <iterate statement>
| <leave statement>
| <loop statement>
| <while statement>
| <repeat statement>
| <for statement>
<call statement>::=CALL <routine invocation>
<return statement>::=RETURN <return value>
<return value>::= <value expression> | NULL
--hr
--h2 Transaction Management
--/h2
<SQL transaction statement>::=
<start transaction statement>
| <set transaction statement>
| <set constraints mode statement>
| <savepoint statement>
| <release savepoint statement>
| <commit statement>
| <rollback statement>
<start transaction statement>::=
START TRANSACTION <transaction mode> [ { <comma> <transaction mode> }...]
<transaction mode>::= <isolation level> | <transaction access mode> | <diagnostics size>
<isolation level>::=ISOLATION LEVEL <level of isolation>
<level of isolation>::=
READ UNCOMMITTED
| READ COMMITTED
| REPEATABLE READ
| SERIALIZABLE
<transaction access mode>::=READ ONLY | READ WRITE
<diagnostics size>::=DIAGNOSTICS SIZE <number of conditions>
<number of conditions>::= <simple value specification>
<set transaction statement>::=SET [ LOCAL ] <transaction characteristics>
<transaction characteristics>::=
TRANSACTION <transaction mode> [ { <comma> <transaction mode> }... ]
<set constraints mode statement>::=
SET CONSTRAINTS <constraint name list> { DEFERRED | IMMEDIATE }
<constraint name list>::=ALL | <constraint name> [ { <comma> <constraint name> }... ]
<savepoint statement>::=SAVEPOINT <savepoint specifier>
--p
--small
--i <savepoint specifier> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<savepoint specifier>::= <savepoint name>
<savepoint name>::= <identifier>
<simple target specification>::=
<host parameter specification>
| <SQL parameter reference>
| <column reference>
| <SQL variable reference>
www.PDFgozar.com

371 SQL 99 _ BNF

| <embedded variable name>


<release savepoint statement>::=RELEASE SAVEPOINT <savepoint specifier>
<commit statement>::=COMMIT [ WORK ] [ AND [ NO ] CHAIN ]
<rollback statement>::=ROLLBACK [ WORK ] [ AND [ NO ] CHAIN ] [ <savepoint clause> ]
<savepoint clause>::=TO SAVEPOINT <savepoint specifier>
--hr
--h2 Connection Management
--/h2
<SQL connection statement>::= <connect statement> | <set connection statement> | <disconnect
statement>
<connect statement>::=CONNECT TO <connection target>
<connection target>::=
<SQL-server name> [ AS <connection name> ] [ USER <connection user name>
]
| DEFAULT
<SQL-server name>::= <simple value specification>
<connection name>::= <simple value specification>
<connection user name>::= <simple value specification>
<set connection statement>::=SET CONNECTION <connection object>
<connection object>::=DEFAULT | <connection name>
<disconnect statement>::=DISCONNECT <disconnect object>
<disconnect object>::= <connection object> | ALL | CURRENT
--hr
--h2 Session Attributes
--/h2
<SQL session statement>::=
<set session user identifier statement>
| <set role statement>
| <set local time zone statement>
| <set session characteristics statement>
| <set catalog statement>
| <set schema statement>
| <set names statement>
| <set path statement>
| <set transform group statement>
<set session user identifier statement>::=
SET SESSION AUTHORIZATION <value specification>
<set role statement>::=SET ROLE <role specification>
<role specification>::= <value specification> | NONE
<set local time zone statement>::=SET TIME ZONE <set time zone value>
<set time zone value>::= <interval value expression> | LOCAL
<set session characteristics statement>::=
SET SESSION CHARACTERISTICS AS <session characteristic list>
<session characteristic list>::= <session characteristic> [ { <comma> <session characteristic> }... ]
<session characteristic>::= <transaction characteristics>
<SQL diagnostics statement>::= <get diagnostics statement> | <signal statement> | <resignal statement>
<get diagnostics statement>::=GET DIAGNOSTICS <SQL diagnostics information>
<SQL diagnostics information>::= <statement information> | <condition information>
<statement information>::=
<statement information item> [ { <comma> <statement information item> }... ]
<statement information item>::=
<simple target specification><equals operator><statement information item name>
<statement information item name>::=
NUMBER
| MORE
| COMMAND_FUNCTION
| COMMAND_FUNCTION_CODE
| DYNAMIC_FUNCTION
| DYNAMIC_FUNCTION_CODE
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 372

| ROW_COUNT
| TRANSACTIONS_COMMITTED
| TRANSACTIONS_ROLLED_BACK
| TRANSACTION_ACTIVE
<condition information>::=
EXCEPTION <condition number>
<condition information item> [ { <comma> <condition information item> }... ]
<condition number>::= <simple value specification>
<condition information item>::=
<simple target specification> <equals operator> <condition information item name>
<condition information item name>::=
CATALOG_NAME
| CLASS_ORIGIN
| COLUMN_NAME
| CONDITION_IDENTIFIER
| CONDITION_NUMBER
| CONNECTION_NAME
| CONSTRAINT_CATALOG
| CONSTRAINT_NAME
| CONSTRAINT_SCHEMA
| CURSOR_NAME
| MESSAGE_LENGTH
| MESSAGE_OCTET_LENGTH
| MESSAGE_TEXT
| PARAMETER_MODE
| PARAMETER_NAME
| PARAMETER_ORDINAL_POSITION
| RETURNED_SQLSTATE
| ROUTINE_CATALOG
| ROUTINE_NAME
| ROUTINE_SCHEMA
| SCHEMA_NAME
| SERVER_NAME
| SPECIFIC_NAME
| SUBCLASS_ORIGIN
| TABLE_NAME
| TRIGGER_CATALOG
| TRIGGER_NAME
| TRIGGER_SCHEMA
<dereference operation>::=
<reference value expression> <dereference operator> <attribute name>
<method reference>::=
<value expression primary> <dereference operator> <method name> <SQL
argument list>
<method selection>::= <routine invocation>
--p
--small
--i <new invocation> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<new invocation>::= <method invocation> | <routine invocation>
<static method selection>::= <routine invocation>
<token>::= <nondelimiter token> | <delimiter token>
<nondelimiter token>::=
<regular identifier>
| <key word>
| <unsigned numeric literal>
| <national character string literal>
www.PDFgozar.com

373 SQL 99 _ BNF

| <bit string literal>


| <hex string literal>
| <large object length token>
| <multiplier>
<key word>::= <reserved word> | <non-reserved word>
--p
--small
--i <reserved word> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<reserved word>::=
ABSOLUTE | ACTION | ADD | AFTER | ALL | ALLOCATE | ALTER | AND |
ANY | ARE
| ARRAY | AS | ASC | ASSERTION | AT | AUTHORIZATION
| BEFORE | BEGIN | BETWEEN | BINARY | BIT | BLOB | BOOLEAN | BOTH
| BREADTH | BY
| CALL | CASCADE | CASCADED | CASE | CAST | CATALOG | CHAR |
CHARACTER
| CHECK | CLOB | CLOSE | COLLATE | COLLATION | COLUMN | COMMIT
| CONDITION | CONNECT | CONNECTION | CONSTRAINT | CONSTRAINTS
| CONSTRUCTOR | CONTINUE | CORRESPONDING | CREATE | CROSS |
CUBE
| CURRENT|CURRENT_DATE|
CURRENT_DEFAULT_TRANSFORM_GROUP
| CURRENT_TRANSFORM_GROUP_FOR_TYPE | CURRENT_PATH |
CURRENT_ROLE
| CURRENT_TIME | CURRENT_TIMESTAMP | CURRENT_USER | CURSOR |
CYCLE
| DATA | DATE | DAY | DEALLOCATE | DEC | DECIMAL | DECLARE |
DEFAULT
| DEFERRABLE | DEFERRED | DELETE | DEPTH | DEREF | DESC
| DESCRIBE | DESCRIPTOR | DETERMINISTIC
| DIAGNOSTICS | DISCONNECT | DISTINCT | DO | DOMAIN | DOUBLE
| DROP | DYNAMIC
| EACH | ELSE | ELSEIF | END | END-EXEC | EQUALS | ESCAPE | EXCEPT
| EXCEPTION | EXEC | EXECUTE | EXISTS | EXIT | EXTERNAL
| FALSE | FETCH | FIRST | FLOAT | FOR | FOREIGN | FOUND | FROM | FREE
| FULL | FUNCTION
| GENERAL | GET | GLOBAL | GO | GOTO | GRANT | GROUP | GROUPING
| HANDLE | HAVING | HOLD | HOUR
| IDENTITY | IF | IMMEDIATE | IN | INDICATOR
| INITIALLY | INNER | INOUT | INPUT | INSERT | INT | INTEGER
| INTERSECT | INTERVAL | INTO | IS | ISOLATION
| JOIN
| KEY
| LANGUAGE | LARGE | LAST | LATERAL | LEADING | LEAVE | LEFT
| LEVEL | LIKE | LOCAL | LOCALTIME | LOCALTIMESTAMP | LOCATOR |
LOOP
| MAP | MATCH | METHOD | MINUTE | MODIFIES | MODULE | MONTH
| NAMES | NATIONAL | NATURAL | NCHAR | NCLOB | NESTING | NEW |
NEXT
| NO | NONE | NOT | NULL | NUMERIC
| OBJECT | OF | OLD | ON | ONLY | OPEN | OPTION
| OR | ORDER | ORDINALITY | OUT | OUTER | OUTPUT | OVERLAPS
| PAD | PARAMETER | PARTIAL | PATH | PRECISION
| PREPARE | PRESERVE | PRIMARY | PRIOR | PRIVILEGES | PROCEDURE |
PUBLIC
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 374

| READ | READS | REAL | RECURSIVE | REDO | REF | REFERENCES |


REFERENCING
| RELATIVE | RELEASE | REPEAT | RESIGNAL | RESTRICT | RESULT |
RETURN
| RETURNS | REVOKE | RIGHT | ROLE | ROLLBACK | ROLLUP | ROUTINE
| ROW | ROWS
| SAVEPOINT | SCHEMA | SCROLL | SEARCH | SECOND | SECTION |
SELECT
| SESSION | SESSION_USER | SET | SETS | SIGNAL | SIMILAR | SIZE
| SMALLINT | SOME | SPACE | SPECIFIC | SPECIFICTYPE | SQL |
SQLEXCEPTION
| SQLSTATE | SQLWARNING | START | STATE | STATIC | SYSTEM_USER
| TABLE | TEMPORARY | THEN | TIME | TIMESTAMP
| TIMEZONE_HOUR | TIMEZONE_MINUTE | TO | TRAILING |
TRANSACTION
| TRANSLATION | TREAT | TRIGGER | TRUE
| UNDER | UNDO | UNION | UNIQUE | UNKNOWN | UNNEST | UNTIL |
UPDATE
| USAGE | USER | USING
| VALUE | VALUES | VARCHAR | VARYING | VIEW
| WHEN | WHENEVER | WHERE | WHILE | WITH | WITHOUT | WORK |
WRITE
| YEAR
| ZONE
--p
--small
--i <non-reserved word> modified per ISO 9075:1999/Cor.1:2000(E)
--/i
--/small
--/p
<non-reserved word>::=
ABS | ADA | ADMIN | ASENSITIVE | ASSIGNMENT | ASYMMETRIC |
ATOMIC
| ATTRIBUTE | AVG
| BIT_LENGTH
| C | CALLED | CARDINALITY | CATALOG_NAME | CHAIN |
CHAR_LENGTH
| CHARACTERISTICS | CHARACTER_LENGTH |
CHARACTER_SET_CATALOG
| CHARACTER_SET_NAME | CHARACTER_SET_SCHEMA | CHECKED |
CLASS_ORIGIN
| COALESCE | COBOL | COLLATION_CATALOG | COLLATION_NAME |
COLLATION_SCHEMA
| COLUMN_NAME | COMMAND_FUNCTION |
COMMAND_FUNCTION_CODE | COMMITTED
| CONDITION_IDENTIFIER | CONDITION_NUMBER |
CONNECTION_NAME
| CONSTRAINT_CATALOG | CONSTRAINT_NAME |
CONSTRAINT_SCHEMA | CONTAINS
| CONVERT | COUNT | CURSOR_NAME
| DATETIME_INTERVAL_CODE | DATETIME_INTERVAL_PRECISION |
DEFINED
| DEFINER | DEGREE | DERIVED | DISPATCH
| EVERY | EXTRACT
| FINAL | FORTRAN
| G | GENERATED | GRANTED
| HIERARCHY
| IMPLEMENTATION | INSENSITIVE | INSTANCE | INSTANTIABLE |
INVOKER
www.PDFgozar.com

375 SQL 99 _ BNF

| K | KEY_MEMBER | KEY_TYPE
| LENGTH | LOWER
| M | MAX | MIN | MESSAGE_LENGTH | MESSAGE_OCTET_LENGTH |
MESSAGE_TEXT
| MOD | MORE | MUMPS
| NAME | NULLABLE | NUMBER | NULLIF
| OCTET_LENGTH | ORDERING | OPTIONS | OVERLAY | OVERRIDING
| PASCAL | PARAMETER_MODE | PARAMETER_NAME
| PARAMETER_ORDINAL_POSITION | PARAMETER_SPECIFIC_CATALOG
| PARAMETER_SPECIFIC_NAME | PARAMETER_SPECIFIC_SCHEMA | PLI
| POSITION
| REPEATABLE | RETURNED_CARDINALITY | RETURNED_LENGTH
| RETURNED_OCTET_LENGTH | RETURNED_SQLSTATE |
ROUTINE_CATALOG
| ROUTINE_NAME | ROUTINE_SCHEMA | ROW_COUNT
| SCALE | SCHEMA_NAME | SCOPE | SECURITY | SELF | SENSITIVE |
SERIALIZABLE
| SERVER_NAME | SIMPLE | SOURCE | SPECIFIC_NAME | STATEMENT |
STRUCTURE
| STYLE | SUBCLASS_ORIGIN | SUBSTRING | SUM | SYMMETRIC |
SYSTEM
| TABLE_NAME | TOP_LEVEL_COUNT | TRANSACTIONS_COMMITTED
| TRANSACTIONS_ROLLED_BACK | TRANSACTION_ACTIVE |
TRANSFORM
| TRANSFORMS | TRANSLATE | TRIGGER_CATALOG |
TRIGGER_SCHEMA
| TRIGGER_NAME | TRIM | TYPE
| UNCOMMITTED | UNNAMED | UPPER
<delimiter token>::=
<character string literal>
| <date string>
| <time string>
| <timestamp string>
| <interval string>
| <delimited identifier>
| <SQL special character>
| <not equals operator>
| <greater than or equals operator>
| <less than or equals operator>
| <concatenation operator>
| <right arrow>
| <left bracket trigraph>
| <right bracket trigraph>
| <double colon>
| <double period>
<CLI routine>::= <CLI routine name> <CLI parameter list> [ <CLI returns clause> ]
<CLI routine name>::= <CLI name prefix> <CLI generic name>
<CLI name prefix>::= <CLI by-reference prefix> | <CLI by-value prefix>
<CLI by-reference prefix>::=SQLR
<CLI by-value prefix>::=SQL
<CLI generic name>::=
AllocConnect | AllocEnv | AllocHandle | AllocStmt
| BindCol | BindParameter
| Cancel | CloseCursor | ColAttribute | ColumnPrivileges | Columns | Connect |
CopyDesc
| DataSources | DescribeCol | Disconnect
| EndTran | Error | ExecDirect | Execute
| Fetch | FetchScroll | ForeignKeys | FreeConnect | FreeEnv | FreeHandle | FreeStmt
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 376

| GetConnectAttr | GetCursorName | GetData | GetDescField | GetDescRec |


GetDiagField
| GetDiagRec | GetEnvAttr | GetFeatureInfo | GetFunctions | GetInfo | GetLength
| GetParamData | GetPosition | GetSessionInfo | GetStmtAttr | GetSubString |
GetTypeInfo
| MoreResults
| NextResult | NumResultCols
| ParamData | Prepare | PrimaryKeys | PutData
| RowCount
| SetConnectAttr | SetCursorName | SetDescField | SetDescRec | SetEnvAttr |
SetStmtAttr
| SpecialColumns | StartTran
| TablePrivileges | Tables
| <implementation-defined CLI generic name>
<implementation-defined CLI generic name>::=!! (See the Syntax Rules)
<CLI parameter list>::=
<leftparen> <CLI parameter declaration> [ { <comma> <CLI parameter
declaration> }... ] <rightparen>
<CLI parameter declaration>::=
<CLI parameter name> <CLI parameter mode> <CLI parameter data type>
<CLI parameter name>::=!! (See the individual CLI routine definitions)
<CLI parameter mode>::=IN | OUT | DEFIN | DEFOUT | DEF
<CLI parameter data type>::=
INTEGER
| SMALLINT
| ANY
| CHARACTER <leftparen> <length> <rightparen>
<CLI returns clause>::=RETURNS SMALLINT
<assignment statement>::=
SET <assignment target> <equals operator> <assignment source>
<assignment target>::= <target specification> | <modified field reference> | <mutator reference>
<SQL variable reference>::= <basic identifier chain>
<modified field reference>::= <modified field target> <period> <field name>
<modified field target>::=
<target specification> | <leftparen> <target specification> <rightparen> | <modified field
reference>
<mutator reference>::= <mutated target specification> <period> <method name>
<mutated target specification>::=
<target specification> | <leftparen> <target specification> <rightparen> |
<mutator reference>
<assignment source>::= <value expression> | <contextually typed source>
<contextually typed source>::=
<implicitly typed value specification> | <contextually typed row value
expression>
<compound statement>::=
[ <beginning label> <colon> ] BEGIN [ [ NOT ] ATOMIC ]
[ <local declaration list> ] [ <local cursor declaration list> ] [ <local handler
declaration list> ]
[ <SQL statement list> ] END [ <ending label> ]
<beginning label>::= <statement label>
<statement label>::= <identifier>
<local declaration list>::= <terminated local declaration>...
<terminated local declaration>::= <local declaration> <semicolon>
<local declaration>::= <SQL variable declaration> | <condition declaration>
<SQL variable declaration>::=
DECLARE <SQL variable name list> <data type> [ <default clause> ]
<SQL variable name list>::=
<SQL variable name> [ { <comma> <SQL variable name> }... ]
<SQL variable name>::= <identifier>
www.PDFgozar.com

377 SQL 99 _ BNF

<condition declaration>::=
DECLARE <condition name> CONDITION [ FOR <sqlstate value> ]
<condition name>::= <identifier>
<sqlstate value>::=SQLSTATE [ VALUE ] <character string literal>
<local cursor declaration list>::= <terminated local cursor declaration>...
<terminated local cursor declaration>::= <declare cursor> <semicolon>
<local handler declaration list>::= <terminated local handler declaration>...
<terminated local handler declaration>::= <handler declaration> <semicolon>
<handler declaration>::=
DECLARE <handler type> HANDLER FOR <condition value list> <handler action>
<handler type>::=CONTINUE | EXIT | UNDO
<condition value list>::= <condition value> [ { <comma> <condition value> }... ]
<condition value>::=
<sqlstate value> | <condition name> | SQLEXCEPTION | SQLWARNING | NOT FOUND
<handler action>::= <SQL procedure statement>
<SQL statement list>::= <terminated SQL statement>...
<terminated SQL statement>::= <SQL procedure statement> <semicolon>
<ending label>::= <statement label>
<case statement>::= <simple case statement> | <searched case statement>
<simple case statement>::=
CASE <simple case operand 1> <simple case statement when clause>... [ <case
statement else clause> ] END CASE
<simple case operand 1>::= <value expression>
<simple case statement when clause>::=
WHEN <simple case operand 2> THEN <SQL statement list>
<simple case operand 2>::= <value expression>
<case statement else clause>::=ELSE <SQL statement list>
<searched case statement>::=
CASE <searched case statement when clause>... [ <case statement else clause> ]
END CASE
<searched case statement when clause>::=
WHEN <search condition> THEN <SQL statement list>
<if statement>::=
IF <search condition> <if statement then clause>
[ <if statement elseif clause>... ] [ <if statement else clause> ]
END IF
<if statement then clause>::=THEN <SQL statement list>
<if statement elseif clause>::=ELSEIF <search condition> THEN <SQL statement list>
<if statement else clause>::=ELSE <SQL statement list>
<iterate statement>::=ITERATE <statement label>
<leave statement>::=LEAVE <statement label>
<loop statement>::=
[ <beginning label> <colon> ] LOOP <SQL statement list> END LOOP [ <ending label> ]
<while statement>::=
[ <beginning label> <colon> ] WHILE <search condition> DO <SQL statement
list> END WHILE [ <ending label> ]
<repeat statement>::=
[ <beginning label> <colon> ] REPEAT <SQL statement list> UNTIL <search
condition> END REPEAT [ <ending label> ]
<for statement>::=
[ <beginning label> <colon> ] FOR <for loop variable name> AS
[ <cursor name> [ <cursor sensitivity> ] CURSOR FOR ] <cursor specification>
DO <SQL statement list> END FOR [ <ending label> ]
<for loop variable name>::= <identifier>
<signal statement>::=SIGNAL <signal value> [ <set signal information> ]
<signal value>::= <condition name> | <sqlstate value>
<set signal information>::=SET <signal information item list>
<signal information item list>::=
<signal information item> [ { <comma> <signal information item> }... ]
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 378

<signal information item>::=


<condition information item name> <equals operator> <simple value
specification>
<resignal statement>::=RESIGNAL [ <signal value> ] [ <set signal information> ]
<SQL-server module definition>::=
CREATE MODULE <SQL-server module name> [ <SQL-server module
character set specification> ]
[<SQL-server module schema clause>][<SQL-server module path specification>]
[ <temporary table declaration> ]
<SQL-server module contents>...
END MODULE
<SQL-server module name>::= <schema qualified name>
<SQL-server module character set specification>::=NAMES ARE <character set specification>
<SQL-server module schema clause>::=SCHEMA <default schema name>
<default schema name>::= <schema name>
<SQL-server module path specification>::= <path specification>
<SQL-server module contents>::= <SQL-invoked routine> <semicolon>
<module routine>::= <module procedure> | <module function>
<module procedure>::=[ DECLARE ] <SQL-invoked procedure>
<module function>::=[ DECLARE ] <SQL-invoked function>
<drop module statement>::=DROP MODULE <SQL-server module name> <drop behavior>
<triggered SQL statement>::= <SQL procedure statement>
--hr
--h2 Dynamic SQL
--/h2
--p
Much, if not all, of the following material comes from ISO/IEC 9075-5:1999, SQL/Bindings.
--/p
<SQL dynamic statement>::=
<system descriptor statement>
| <prepare statement>
| <deallocate prepared statement>
| <describe statement>
| <execute statement>
| <execute immediate statement>
| <SQL dynamic data statement>
<system descriptor statement>::=
<allocate descriptor statement>
| <deallocate descriptor statement>
| <set descriptor statement>
| <get descriptor statement>
<allocate descriptor statement>::=
ALLOCATE [ SQL ] DESCRIPTOR <descriptor name> [ WITH MAX <occurrences> ]
<descriptor name>::=[ <scope option> ] <simple value specification>
<scope option>::=GLOBAL | LOCAL
<embedded variable name>::= <colon> <host identifier>
<host identifier>::=
<Ada host identifier>
| <C host identifier>
| <COBOL host identifier>
| <Fortran host identifier>
| <MUMPS host identifier>
| <Pascal host identifier>
| <PL/I host identifier>
<Ada host identifier>::=!! (See the Syntax Rules.)
<C host identifier>::=!! (See the Syntax Rules.)
<COBOL host identifier>::=!! (See the Syntax Rules.)
<Fortran host identifier>::=!! (See the Syntax Rules.)
<MUMPS host identifier>::=!! (See the Syntax Rules.)
www.PDFgozar.com

379 SQL 99 _ BNF

<Pascal host identifier>::=!! (See the Syntax Rules.)


<PL/I host identifier>::=!! (See the Syntax Rules.)
<occurrences>::= <simple value specification>
<deallocate descriptor statement>::=DEALLOCATE [ SQL ] DESCRIPTOR <descriptor name>
<set descriptor statement>::=SET [ SQL ] DESCRIPTOR <descriptor name> <set descriptor
information>
<set descriptor information>::=
<set header information> [ { <comma> <set header information> }... ]
| VALUE <item number><set item information>[{<comma><set item information>...]
<set header information>::=
<header item name> <equals operator> <simple value specification 1>
<header item name>::=
COUNT | KEY_TYPE | DYNAMIC_FUNCTION |
DYNAMIC_FUNCTION_CODE | TOP_LEVEL_COUNT
<simple value specification 1>::= <simple value specification>
<item number>::= <simple value specification>
<set item information>::=
<descriptor item name> <equals operator> <simple value specification 2>
<descriptor item name>::=
CARDINALITY
| CHARACTER_SET_CATALOG
| CHARACTER_SET_NAME
| CHARACTER_SET_SCHEMA
| COLLATION_CATALOG
| COLLATION_NAME
| COLLATION_SCHEMA
| DATA
| DATETIME_INTERVAL_CODE
| DATETIME_INTERVAL_PRECISION
| DEGREE
| INDICATOR
| KEY_MEMBER
| LENGTH
| LEVEL
| NAME
| NULLABLE
| OCTET_LENGTH
| PARAMETER_MODE
| PARAMETER_ORDINAL_POSITION
| PARAMETER_SPECIFIC_CATALOG
| PARAMETER_SPECIFIC_NAME
| PARAMETER_SPECIFIC_SCHEMA
| PRECISION
| RETURNED_CARDINALITY
| RETURNED_LENGTH
| RETURNED_OCTET_LENGTH
| SCALE
| SCOPE_CATALOG
| SCOPE_NAME
| SCOPE_SCHEMA
| TYPE
| UNNAMED
| USER_DEFINED_TYPE_CATALOG
| USER_DEFINED_TYPE_NAME
| USER_DEFINED_TYPE_SCHEMA
<simple value specification 2>::= <simple value specification>
<item number>::= <simple value specification>
<get descriptor statement>::=
GET [ SQL ] DESCRIPTOR <descriptor name> <get descriptor information>
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 380

<get descriptor information>::=


<get header information> [ { <comma> <get header information> }... ]
| VALUE <item number> <get item information> [ { <comma> <get item
information> }... ]
<get header information>::=
<simple target specification 1> <equals operator> <header item name>
<simple target specification 1>::= <simple target specification>
<get item information>::=
<simple target specification 2> <equals operator> <descriptor item name>
<simple target specification 2>::= <simple target specification>
<prepare statement>::=
PREPARE <SQL statement name> FROM <SQL statement variable>
<SQL statement name>::=
<statement name>
| <extended statement name>
<statement name>::= <identifier>
<extended statement name>::=[ <scope option> ] <simple value specification>
<SQL statement variable>::= <simple value specification>
<deallocate prepared statement>::=DEALLOCATE PREPARE <SQL statement name>
<describe statement>::= <describe input statement> | <describe output statement>
<describe input statement>::=
DESCRIBE INPUT <SQL statement name> <using descriptor> [ <nesting option> ]
<using descriptor>::=USING [ SQL ] DESCRIPTOR <descriptor name>
<nesting option>::=WITH NESTING | WITHOUT NESTING
<describe output statement>::=
DESCRIBE [ OUTPUT ] <described object> <using descriptor> [ <nesting option> ]
<described object>::=
<SQL statement name> | CURSOR <extended cursor name> STRUCTURE
<extended cursor name>::=[ <scope option> ] <simple value specification>
<execute statement>::=
EXECUTE <SQL statement name> [ <result using clause> ] [ <parameter using clause> ]
<result using clause>::= <output using clause>
<output using clause>::= <into arguments> | <into descriptor>
<into arguments>::=INTO <into argument> [ { <comma> <into argument> }... ]
<into argument>::= <target specification>
<dynamic parameter specification>::= <question mark>
<embedded variable specification>::= <embedded variable name> [ <indicator variable> ]
<indicator variable>::=[ INDICATOR ] <embedded variable name>
<into descriptor>::=INTO [ SQL ] DESCRIPTOR <descriptor name>
<parameter using clause>::= <input using clause>
<input using clause>::= <using arguments> | <using input descriptor>
<using arguments>::=USING <using argument> [ { <comma> <using argument> }... ]
<using argument>::= <general value specification>
<using input descriptor>::= <using descriptor>
<execute immediate statement>::=EXECUTE IMMEDIATE <SQL statement variable>
<SQL dynamic data statement>::=
<allocate cursor statement>
| <dynamic open statement>
| <dynamic fetch statement>
| <dynamic close statement>
| <dynamic delete statement: positioned>
| <dynamic update statement: positioned>
<allocate cursor statement>::=ALLOCATE <extended cursor name> <cursor intent>
<cursor intent>::= <statement cursor> | <result set cursor>
<statement cursor>::=
[<cursor sensitivity>] [ SCROLL ] CURSOR [ WITH HOLD ] [ WITH RETURN
]
FOR <extended statement name>
<result set cursor>::=
www.PDFgozar.com

381 SQL 99 _ BNF

FOR PROCEDURE <specific routine designator>


<dynamic open statement>::=
OPEN <dynamic cursor name> [ <input using clause> ]
<dynamic cursor name>::= <cursor name> | <extended cursor name>
<dynamic fetch statement>::=
FETCH [ [ <fetch orientation> ] FROM ] <dynamic cursor name> <output using
clause>
<dynamic close statement>::=CLOSE <dynamic cursor name>
<dynamic delete statement: positioned>::=
DELETE FROM <target table> WHERE CURRENT OF <dynamic cursor name>
<dynamic update statement: positioned>::=
UPDATE <target table> SET <set clause list> WHERE CURRENT OF <dynamic
cursor name>
--p
--small
--i
Note that <double period> must be a pair of period characters with no intervening space, not a pair of
period symbols separated by arbitrary white space. Normally, the lexical analyzer would return <double
period> as a symbol.
--/i
--/small
--/p
<double period>::= <period> <period>
<direct SQL statement>::= <directly executable statement> <semicolon>
<directly executable statement>::=
<direct SQL data statement>
| <SQL schema statement>
| <SQL transaction statement>
| <SQL connection statement>
| <SQL session statement>
| <direct implementation-defined statement>
<direct SQL data statement>::=
<delete statement: searched>
| <direct select statement: multiple rows>
| <insert statement>
| <update statement: searched>
| <temporary table declaration>
<direct select statement: multiple rows>::= <query expression> [ <order by clause> ]
<set catalog statement>::=SET <catalog name characteristic>
<catalog name characteristic>::=CATALOG <value specification>
<set schema statement>::=SET <schema name characteristic>
<schema name characteristic>::=SCHEMA <value specification>
<set names statement>::=SET <character set name characteristic>
<character set name characteristic>::=NAMES <value specification>
<set path statement>::=SET <SQL-path characteristic>
<SQL-path characteristic>::=PATH <value specification>
<set transform group statement>::=SET <transform group characteristic>
<transform group characteristic>::=
DEFAULT TRANSFORM GROUP <value specification>
| TRANSFORM GROUP FOR TYPE <user-defined type> <value specification>
<direct implementation-defined statement>::=!! (See the Syntax Rules)
<embedded SQL declare section>::=
<embedded SQL begin declare>
[ <embedded character set declaration> ]
[ <host variable definition>... ]
<embedded SQL end declare>
| <embedded SQL MUMPS declare>
<embedded SQL begin declare>::=
<SQL prefix> BEGIN DECLARE SECTION [ <SQL terminator> ]
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 382

<SQL prefix>::=EXEC SQL | <ampersand> SQL <leftparen>


<SQL terminator>::=END-EXEC | <semicolon> | <rightparen>
<embedded character set declaration>::=
SQL NAMES ARE <character set specification>
<host variable definition>::=
<Ada variable definition>
| <C variable definition>
| <COBOL variable definition>
| <Fortran variable definition>
| <MUMPS variable definition>
| <Pascal variable definition>
| <PL/I variable definition>
<Ada variable definition>::=
<Ada host identifier> [ { <comma> <Ada host identifier> }... ] <colon>
<Ada type specification> [ <Ada initial value> ]
<Ada type specification>::=
<Ada qualified type specification>
| <Ada unqualified type specification>
| <Ada derived type specification>
<Ada qualified type specification>::=
Interfaces.SQL <period> CHAR [ CHARACTER SET [ IS ] <character set
specification> ]
<leftparen> 1 <double period> <length> <rightparen>
| Interfaces.SQL <period> BIT <leftparen> 1 <double period> <length>
<rightparen>
| Interfaces.SQL <period> SMALLINT
| Interfaces.SQL <period> INT
| Interfaces.SQL <period> REAL
| Interfaces.SQL <period> DOUBLE_PRECISION
| Interfaces.SQL <period> BOOLEAN
| Interfaces.SQL <period> SQLSTATE_TYPE
| Interfaces.SQL <period> INDICATOR_TYPE
<Ada unqualified type specification>::=
CHAR <leftparen> 1 <double period> <length> <rightparen>
| BIT <leftparen> 1 <double period> <length> <rightparen>
| SMALLINT
| INT
| REAL
| DOUBLE_PRECISION
| BOOLEAN
| SQLSTATE_TYPE
| INDICATOR_TYPE
<Ada derived type specification>::=
<Ada CLOB variable>
| <Ada BLOB variable>
| <Ada user-defined type variable>
| <Ada CLOB locator variable>
| <Ada BLOB locator variable>
| <Ada user-defined type locator variable>
| <Ada array locator variable>
| <Ada REF variable>
<Ada CLOB variable>::=
SQL TYPE IS CLOB <leftparen> <large object length> <rightparen>
[ CHARACTER SET [ IS ] <character set specification> ]
<Ada BLOB variable>::=
SQL TYPE IS BLOB <leftparen> <large object length> <rightparen>
<Ada user-defined type variable>::=
SQL TYPE IS <user-defined type> AS <predefined type>
<Ada CLOB locator variable>::=
www.PDFgozar.com

383 SQL 99 _ BNF

SQL TYPE IS CLOB AS LOCATOR


<Ada BLOB locator variable>::=
SQL TYPE IS BLOB AS LOCATOR
<Ada user-defined type locator variable>::=
SQL TYPE IS <user-defined type name> AS LOCATOR
<Ada array locator variable>::=
SQL TYPE IS <collection type> AS LOCATOR
<Ada REF variable>::=
SQL TYPE IS <reference type>
<Ada initial value>::=
<Ada assignment operator> <character representation>...
<Ada assignment operator>::= <colon> <equals operator>
<C variable definition>::=
[<C storage class>][<C class modifier>]<C variable specification> <semicolon>
<C storage class>::=auto | extern | static
<C class modifier>::=const | volatile
<C variable specification>::= <C numeric variable> | <C character variable> | <C derived variable>
<C numeric variable>::=
{ long | short | float | double } <C host identifier> [ <C initial value> ]
[ { <comma> <C host identifier> [ <C initial value> ] }... ]
<C initial value>::=
<equals operator> <character representation>...
<C character variable>::=
<C character type> [ CHARACTER SET [ IS ] <character set specification> ]
<C host identifier> <C array specification> [ <C initial value> ]
[ { <comma> <C host identifier> <C array specification> [ <C initial value> ]
}... ]
<C character type>::=char | unsigned char | unsigned short
<C array specification>::= <left bracket> <length> <right bracket>
<C derived variable>::=
<C VARCHAR variable>
| <C NCHAR variable>
| <C NCHAR VARYING variable>
| <C CLOB variable>
| <C NCLOB variable>
| <C BLOB variable>
| <C bit variable>
| <C user-defined type variable>
| <C CLOB locator variable>
| <C BLOB locator variable>
| <C array locator variable>
| <C user-defined type locator variable>
| <C REF variable>
<C VARCHAR variable>::=
VARCHAR [ CHARACTER SET [ IS ] <character set specification> ]
<C host identifier> <C array specification> [ <C initial value> ]
[ { <comma> <C host identifier> <C array specification> [ <C initial value> ]
}... ]
<C NCHAR variable>::=
NCHAR [ CHARACTER SET [ IS ] <character set specification> ]
<C host identifier> <C array specification> [ <C initial value> ]
[ { <comma> <C host identifier> <C array specification> [ <C initial value> ]
}...]
<C NCHAR VARYING variable>::=
NCHAR VARYING [ CHARACTER SET [ IS ] <character set specification> ]
<C host identifier> <C array specification> [ <C initial value> ]
[ { <comma> <C host identifier> <C array specification> [ <C initial value> ]
}...]
<C CLOB variable>::=
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 384

SQL TYPE IS CLOB <leftparen> <large object length> <rightparen>


[ CHARACTER SET [ IS ] <character set specification> ]
<C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C
initial value> ] }... ]
<C NCLOB variable>::=
SQL TYPE IS NCLOB <leftparen> <large object length> <rightparen>
[ CHARACTER SET [ IS ] <character set specification> ]
<C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C
initial value> ] }... ]
<C BLOB variable>::=
SQL TYPE IS BLOB <leftparen> <large object length> <rightparen>
<C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C
initial value> ] }... ]
<C bit variable>::=
BIT <C host identifier> <C array specification> [ <C initial value> ]
[ { <comma> <C host identifier> <C array specification> [ <C initial value> ]
}... ]
<C user-defined type variable>::=
SQL TYPE IS <user-defined type> AS <predefined type>
<C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C
initial value> ] }... ]
<C CLOB locator variable>::=
SQL TYPE IS CLOB AS LOCATOR
<C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C
initial value> ] }... ]
<C BLOB locator variable>::=
SQL TYPE IS BLOB AS LOCATOR
<C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C
initial value> ] }... ]
<C array locator variable>::=
SQL TYPE IS <collection type> AS LOCATOR
<C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C
initial value> ] }... ]
<C user-defined type locator variable>::=
SQL TYPE IS <user-defined type> AS LOCATOR
<C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C
initial value> ] }... ]
<C REF variable>::=
SQL TYPE IS <reference type>

<COBOL variable definition>::=


{01|77} <COBOL host identifier> <COBOL type specification>
[ <character representation>... ] <period>
<COBOL type specification>::=
<COBOL character type>
| <COBOL national character type>
| <COBOL bit type>
| <COBOL numeric type>
| <COBOL integer type>
| <COBOL derived type specification>
<COBOL character type>::=
[ CHARACTER SET [ IS ] <character set specification> ]
{ PIC | PICTURE } [ IS ] { X [ <leftparen> <length> <rightparen> ] }...
<COBOL national character type>::=
[ CHARACTER SET [ IS ] <character set specification> ]
{ PIC | PICTURE } [ IS ] { N [ <leftparen> <length> <rightparen> ] }...
<COBOL bit type>::=
{ PIC | PICTURE } [ IS ] { X [ <leftparen> <length> <rightparen> ] }...
USAGE [ IS ] BIT
www.PDFgozar.com

385 SQL 99 _ BNF

<COBOL numeric type>::=


{ PIC | PICTURE } [ IS ] S <COBOL nines specification>
[ USAGE [ IS ] ] DISPLAY SIGN LEADING SEPARATE
<COBOL nines specification>::= <COBOL nines> [ V [ <COBOL nines> ] ] | V <COBOL nines>
<COBOL nines>::={ 9 [ <leftparen> <length> <rightparen> ] }...
<COBOL integer type>::= <COBOL binary integer>
<COBOL binary integer>::=
{ PIC | PICTURE } [ IS ] S <COBOL nines> [ USAGE [ IS ] ] BINARY
<COBOL derived type specification>::=
<COBOL CLOB variable>
| <COBOL NCLOB variable>
| <COBOL BLOB variable>
| <COBOL user-defined type variable>
| <COBOL CLOB locator variable>
| <COBOL BLOB locator variable>
| <COBOL array locator variable>
| <COBOL user-defined type locator variable>
| <COBOL REF variable>
<COBOL CLOB variable>::=
[ USAGE [ IS ] ] SQL TYPE IS CLOB <leftparen> <large object length>
<rightparen>
[ CHARACTER SET [ IS ] <character set specification> ]
<COBOL NCLOB variable>::=
[ USAGE [ IS ] ] SQL TYPE IS NCLOB <leftparen> <large object length>
<rightparen>
[ CHARACTER SET [ IS ] <character set specification> ]
<COBOL BLOB variable>::=
[ USAGE [ IS ] ] SQL TYPE IS BLOB <leftparen> <large object length>
<rightparen>
<COBOL user-defined type variable>::=
[ USAGE [ IS ] ] SQL TYPE IS <user-defined type> AS <predefined type>
<COBOL CLOB locator variable>::=
[ USAGE [ IS ] ] SQL TYPE IS CLOB AS LOCATOR
<COBOL BLOB locator variable>::=
[ USAGE [ IS ] ] SQL TYPE IS BLOB AS LOCATOR
<COBOL array locator variable>::=
[ USAGE [ IS ] ] SQL TYPE IS <collection type> AS LOCATOR
<COBOL user-defined type locator variable>::=
[ USAGE [ IS ] ] SQL TYPE IS <user-defined type name> AS LOCATOR
<COBOL REF variable>::=
[ USAGE [ IS ] ] SQL TYPE IS <reference type>
<Fortran variable definition>::=
<Fortran type specification> <Fortran host identifier> [ { <comma> <Fortran
host identifier> }... ]
--p
--small
--i
The standard documents 'CHARACTER KIND = n' but there is no explanation of the italic 'n' that is
used. Presumably, it is an integer literal, hence <unsigned integer>.
--/i
--/small
--/p
<Fortran type specification>::=
CHARACTER [ <asterisk> <length> ] [ CHARACTER SET [ IS ] <character set
specification> ]
| CHARACTER KIND <equals operator> <unsigned integer> [ <asterisk>
<length> ] [ CHARACTER SET [ IS ] <character set specification> ]
| BIT [ <asterisk> <length> ]
| INTEGER
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 386

| REAL
| DOUBLE PRECISION
| LOGICAL
| <Fortran derived type specification>
<Fortran derived type specification>::=
<Fortran CLOB variable>
| <Fortran BLOB variable>
| <Fortran user-defined type variable>
| <Fortran CLOB locator variable>
| <Fortran BLOB locator variable>
| <Fortran user-defined type locator variable>
| <Fortran array locator variable>
| <Fortran REF variable>
<Fortran CLOB variable>::=
SQL TYPE IS CLOB <leftparen> <large object length> <rightparen>
[ CHARACTER SET [ IS ] <character set specification> ]
<Fortran BLOB variable>::=
SQL TYPE IS BLOB <leftparen> <large object length> <rightparen>
<Fortran user-defined type variable>::=
SQL TYPE IS <user-defined type> AS <predefined type>
<Fortran CLOB locator variable>::=
SQL TYPE IS CLOB AS LOCATOR
<Fortran BLOB locator variable>::=
SQL TYPE IS BLOB AS LOCATOR
<Fortran user-defined type locator variable>::=
SQL TYPE IS <user-defined type name> AS LOCATOR
<Fortran array locator variable>::=
SQL TYPE IS <collection type> AS LOCATOR
<Fortran REF variable>::=
SQL TYPE IS <reference type>
<MUMPS variable definition>::=
<MUMPS numeric variable> <semicolon>
| <MUMPS character variable> <semicolon>
| <MUMPS derived type specification> <semicolon>
<MUMPS numeric variable>::=
<MUMPS type specification> <MUMPS host identifier>
[ { <comma> <MUMPS host identifier> }... ]
<MUMPS type specification>::=
INT
| DEC [ <leftparen> <precision> [ <comma> <scale> ] <rightparen> ]
| REAL
<MUMPS character variable>::=
VARCHAR <MUMPS host identifier> <MUMPS length specification>
[ { <comma> <MUMPS host identifier> <MUMPS length specification> }... ]
<MUMPS length specification>::=
<leftparen> <length> <rightparen>
<MUMPS derived type specification>::=
<MUMPS CLOB variable>
| <MUMPS BLOB variable>
| <MUMPS user-defined type variable>
| <MUMPS CLOB locator variable>
| <MUMPS BLOB locator variable>
| <MUMPS user-defined type locator variable>
| <MUMPS array locator variable>
| <MUMPS REF variable>
<MUMPS CLOB variable>::=
SQL TYPE IS CLOB <leftparen> <large object length> <rightparen>
[ CHARACTER SET [ IS ] <character set specification> ]
<MUMPS BLOB variable>::=
www.PDFgozar.com

387 SQL 99 _ BNF

SQL TYPE IS BLOB <leftparen> <large object length> <rightparen>


<MUMPS user-defined type variable>::=
SQL TYPE IS <user-defined type> AS <predefined type>
<MUMPS CLOB locator variable>::=SQL TYPE IS CLOB AS LOCATOR
<MUMPS BLOB locator variable>::=SQL TYPE IS BLOB AS LOCATOR
<MUMPS user-defined type locator variable>::=
SQL TYPE IS <user-defined type name> AS LOCATOR
<MUMPS array locator variable>::=
SQL TYPE IS <collection type> AS LOCATOR
<MUMPS REF variable>::=SQL TYPE IS <reference type>
<Pascal variable definition>::=
<Pascal host identifier> [ { <comma> <Pascal host identifier> }... ] <colon>
<Pascal type specification> <semicolon>
<Pascal type specification>::=
PACKED ARRAY <left bracket> 1 <double period> <length> <right bracket>
OF CHAR [ CHARACTER SET [ IS ] <character set specification> ]
| PACKED ARRAY <left bracket> 1 <double period> <length> <right bracket>
OF BIT
| INTEGER
| REAL
| CHAR [CHARACTER SET [ IS ] <character set specification> ]
| BIT
| BOOLEAN
| <Pascal derived type specification>
<Pascal derived type specification>::=
<Pascal CLOB variable>
| <Pascal BLOB variable>
| <Pascal user-defined type variable>
| <Pascal CLOB locator variable>
| <Pascal BLOB locator variable>
| <Pascal user-defined type locator variable>
| <Pascal array locator variable>
| <Pascal REF variable>
<Pascal CLOB variable>::=
SQL TYPE IS CLOB <leftparen> <large object length> <rightparen>
[ CHARACTER SET [ IS ] <character set specification> ]
<Pascal BLOB variable>::=
SQL TYPE IS BLOB <leftparen> <large object length> <rightparen>
<Pascal user-defined type variable>::=
SQL TYPE IS <user-defined type> AS <predefined type>
<Pascal CLOB locator variable>::=SQL TYPE IS CLOB AS LOCATOR
<Pascal BLOB locator variable>::=SQL TYPE IS BLOB AS LOCATOR
<Pascal user-defined type locator variable>::=
SQL TYPE IS <user-defined type name> AS LOCATOR
<Pascal array locator variable>::=
SQL TYPE IS <collection type> AS LOCATOR
<Pascal REF variable>::=SQL TYPE IS <reference type>
<PL/I variable definition>::=
{DCL | DECLARE }
{ <PL/I host identifier> | <leftparen> <PL/I host identifier> [ { <comma> <PL/I
host identifier> }... ] <rightparen> }
<PL/I type specification> [ <character representation>... ] <semicolon>
<PL/I type specification>::=
{ CHAR | CHARACTER } [ VARYING ] <leftparen> <length> <rightparen>
[ CHARACTER SET [ IS ] <character set specification> ]
| BIT [ VARYING ] <leftparen> <length> <rightparen>
| <PL/I type fixed decimal> <leftparen> <precision> [ <comma> <scale> ]
<rightparen>
| <PL/I type fixed binary> [ <leftparen> <precision> <rightparen> ]
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 388

| <PL/I type float binary> <leftparen> <precision> <rightparen>


| <PL/I derived type specification>
<PL/I type fixed decimal>::=
{ DEC | DECIMAL } FIXED
| FIXED { DEC | DECIMAL }
<PL/I type fixed binary>::=
{ BIN | BINARY } FIXED
| FIXED { BIN | BINARY }
<PL/I type float binary>::=
{ BIN | BINARY } FLOAT
| FLOAT { BIN | BINARY }
<PL/I derived type specification>::=
<PL/I CLOB variable>
| <PL/I BLOB variable>
| <PL/I user-defined type variable>
| <PL/I CLOB locator variable>
| <PL/I BLOB locator variable>
| <PL/I user-defined type locator variable>
| <PL/I array locator variable>
| <PL/I REF variable>
<PL/I CLOB variable>::=
SQL TYPE IS CLOB <leftparen> <large object length> <rightparen>
[ CHARACTER SET [ IS ] <character set specification> ]
<PL/I BLOB variable>::=
SQL TYPE IS BLOB <leftparen> <large object length> <rightparen>
<PL/I user-defined type variable>::=
SQL TYPE IS <user-defined type> AS <predefined type>
<PL/I CLOB locator variable>::=SQL TYPE IS CLOB AS LOCATOR
<PL/I BLOB locator variable>::=SQL TYPE IS BLOB AS LOCATOR
<PL/I user-defined type locator variable>::=
SQL TYPE IS <user-defined type name> AS LOCATOR
<PL/I array locator variable>::=SQL TYPE IS <collection type> AS LOCATOR
<PL/I REF variable>::=SQL TYPE IS <reference type>
<embedded SQL end declare>::=
<SQL prefix> END DECLARE SECTION [ <SQL terminator>]
<embedded SQL MUMPS declare>::=
<SQL prefix> BEGIN DECLARE SECTION
[ <embedded character set declaration> ] [ <host variable definition>... ]
END DECLARE SECTION <SQL terminator>
<embedded SQL host program>::=
<embedded SQL Ada program>
| <embedded SQL C program>
| <embedded SQL COBOL program>
| <embedded SQL Fortran program>
| <embedded SQL MUMPS program>
| <embedded SQL Pascal program>
| <embedded SQL PL/I program>
<embedded SQL Ada program>::=!! (See the Syntax Rules.)
<embedded SQL C program>::=!! (See the Syntax Rules.)
<embedded SQL COBOL program>::=!! (See the Syntax Rules.)
<embedded SQL Fortran program>::=!! (See the Syntax Rules.)
<embedded SQL MUMPS program>::=!! (See the Syntax Rules.)
<embedded SQL Pascal program>::=!! (See the Syntax Rules.)
<embedded SQL PL/I program>::=!! (See the Syntax Rules.)
<embedded SQL statement>::= <SQL prefix> <statement or declaration> [ <SQL terminator> ]
<statement or declaration>::=
<declare cursor>
| <dynamic declare cursor>
| <temporary table declaration>
www.PDFgozar.com

389 SQL 99 _ BNF

| <embedded authorization declaration>


| <embedded path specification>
| <embedded transform group specification>
| <embedded exception declaration>
| <handler declaration>
| <SQL-invoked routine>
| <SQL procedure statement>
<dynamic declare cursor>::=
DECLARE <cursor name> [ <cursor sensitivity> ] [ <cursor scrollability> ]
CURSOR
[ <cursor holdability> ] [ <cursor returnability> ] FOR <statement name>
<embedded authorization declaration>::=DECLARE <embedded authorization clause>
<embedded authorization clause>::=
SCHEMA <schema name>
| AUTHORIZATION <embedded authorization identifier>
[ FOR STATIC { ONLY | AND DYNAMIC } ]
| SCHEMA <schema name> AUTHORIZATION <embedded authorization
identifier>
[ FOR STATIC { ONLY | AND DYNAMIC } ]
<embedded authorization identifier>::= <module authorization identifier>
<embedded path specification>::= <path specification>
<embedded transform group specification>::= <transform group specification>
<embedded exception declaration>::=WHENEVER <condition> <condition action>
<condition>::= <SQL condition>
--p
--small
--i
The standard documents 'SQLSTATE ( <SQLSTATE class value> [ , <SQLSTATE subclass value> ] )',
but it is not clear why the <leftparen> , <comma> and <rightparen> are not designated more accurately.
--/i
--/small
--/p
<SQL condition>::=
<major category>
| SQLSTATE <leftparen> <SQLSTATE class value> [ <comma> <SQLSTATE
subclass value> ] <rightparen>
| CONSTRAINT <constraint name>
<major category>::=SQLEXCEPTION | SQLWARNING | NOT FOUND
<SQLSTATE class value>::= <SQLSTATE char> <SQLSTATE char> !! (See the Syntax Rules.)
<SQLSTATE char>::= <simple Latin upper case letter> | <digit>
<SQLSTATE subclass value>::= <SQLSTATE char> <SQLSTATE char> <SQLSTATE char> !! (See
the Syntax Rules.)
<condition action>::=CONTINUE | <go to>
<go to>::={ GOTO | GO TO } <goto target>
<goto target>::= <host label identifier> | <unsigned integer> | <host PL/I label variable>
<host label identifier>::=!! (See the Syntax Rules.)
<host PL/I label variable>::=!! (See the Syntax Rules.)
<interval primary>::=
<value expression primary> [ <interval qualifier> ]
| <interval value function>
<module authorization clause>::=
SCHEMA <schema name>
| AUTHORIZATION <module authorization identifier>
[ FOR STATIC { ONLY | AND DYNAMIC } ]
| SCHEMA <schema name> AUTHORIZATION <module authorization
identifier>
[ FOR STATIC { ONLY | AND DYNAMIC } ]
<preparable statement>::=
<preparable SQL data statement>
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 390

| <preparable SQL schema statement>


| <preparable SQL transaction statement>
| <preparable SQL control statement>
| <preparable SQL session statement>
| <preparable implementation-defined statement>
<preparable SQL data statement>::=
<delete statement: searched>
| <dynamic single row select statement>
| <insert statement>
| <dynamic select statement>
| <update statement: searched>
| <preparable dynamic delete statement: positioned>
| <preparable dynamic update statement: positioned>
<dynamic single row select statement>::= <query specification>
<dynamic select statement>::= <cursor specification>
<preparable dynamic delete statement: positioned>::=
DELETE [ FROM <target table> ] WHERE CURRENT OF [ <scope option> ]
<cursor name>
<preparable dynamic update statement: positioned>::=
UPDATE [ <target table> ] SET <set clause list> WHERE CURRENT OF [
<scope option> ] <cursor name>
<preparable SQL schema statement>::= <SQL schema statement>
<preparable SQL transaction statement>::= <SQL transaction statement>
<preparable SQL control statement>::= <SQL control statement>
<preparable SQL session statement>::= <SQL session statement>
<preparable implementation-defined statement>::=!! (See the Syntax Rules.)
--hr
--h2 END OF SQL-99 GRAMMAR
--/h2
--hr
--h2 Notes on Automatically Converting the SQL-99 Grammar to a YACC Grammar
--/h2
--p
Automatic translation of this grammar is non-trivial for a number of reasons. One is that the grammar
has a number of actions '!!
(See the Syntax Rules.)' which cannot be translated automatically. Another is that the grammar contains
rules that are usually better handled by the lexical analyzer than the grammar proper. Then there are
incomplete rules such as those which reference parts 6
to 10 (they are not defined; indeed, part 7, which was going to be SQL/Temporal, is in complete
abeyance), and the packages (almost completely undefined in the grammar).It is not clear whether these
can be ignored, or annotated out of the way.
--/p
--p
Another complication is automatically generating rules to deal with optional components and repetitive
components in the grammar. Square brackets do not contain alternative non-terminals; all those
expressions are contained within curly brackets within the square brackets. However, some square
brackets do contain alternative terminals. Curly brackets contain and group mandatory elements.
However, they are usually used in conjunction with the 'one or more times' repeater ellipsis '...' mark.
--/p
--hr
www.PDFgozar.com

‫ﻭﺍﮊﻩ ﻧﺎﻣﻪ‬

‫ﺍﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻓﺎﺭﺳﻲ‬
A ALL-Key ‚—‫ﺕ˜„م آ‬
Abort ‫د‬yz Alternate Key(A K) y¡‫آ—‚ دی‬
Abstract machine {|‫…„ƒ‚ ا€~ا‬ Analogue {„‚
Abstract Data ‫€‰ع داد‡ اي‬ Anomaly {‫®€‰…„ﻝ‬
Type (ADT) {|‫ا€~ا‬
Antisemijoin €‰‚¢ ž‚€ ¯
Abstract Data
Application
Type (ADT) ‫د‬yŠ… ‡‫€‰ع داد‬
perspective ‫دي‬yŽ‫دی¬„‡ آ„ر‬
Abstractive {|‫ا€~ا‬ Application
Abstractive Programming °…„€yŽ ±‫وا‬
construct {|‫„Œ‹ ا€~ا‬ Interface (API) ‫د‬yŽ‫„زي آ„ر‬
Access rules {Ž„‚‫‰ا| د‬ Application ) ‫د „ز‬yŽ‫آ„ر‬
Access Method developer ( ‫دار‬yŽ ‡y–Ž
(AM) {Ž„‚‫ƒ‚‰‡ د‬ Application ‫دي‬yŽ‫ آ„ر‬°…„€yŽ
Access right {Ž„‚‫“’‰ق د‬ Program (AP ) ( ‫دار‬yŽ‫) آ„ر‬
‫اﺕ”ي‬y‫ا‬ Application °…„€yŽ ³‫ﺕ´ی‬
Access strategy {Ž„‚‫د‬ Program conversion ‫دي‬yŽ‫ه„ي آ„ر‬
Accessability y–Ž {Ž„‚‫د‬ Application system ‫دي‬yŽ‫‚Ÿž آ„ر‬
Accuracy ‹‫د‬ Arity {‫®ری‬
Action {—˜| Assertion ‫–„ر‬µ‫ا‬
Active rule ‫„|‡ ›š„ل‬ Asset °‫…„ی‬y
Active Data ‡‫ƒ‚ ه„ي داد‬ Association {¡ŸŽ
Objects (ADO) ‫اي ›š„ل‬ Asymmetry ‫|م ﺕ’„رن‬
Active Database ‫‚Ÿž ›š„ل‬
Atomic {€¤€ °‫ﺕŠ~ی‬
Management ‹‫ی‬y‫…ی‬
System (ADBMS) ‡‫„ی¡„‡داد‬¢ Atomicity ‫ي‬y‫·ی‬¢„€ °‫ﺕŠ~ی‬
Active dictionary ‫ي ›š„ل‬y£¤¥‫دی‬ Attribute ‹¸¹
Active DBMS Attribute features ‹¸¹ ‫ ه„ي‬°´£‫ﺝ‬
(ADBMS) ‫‚Ÿž ›š„ل‬ Attribute
Activity diagram ‹‚‫€˜‰دار ›š„ﻝ‬ inheritance ‹¸¹ ‹º‫ورا‬
Attribute
Actor y¡¤£‫آ‬
preserving ‫¸„ت‬¹ °¼›„“
Ad hoc
‹‫…½ودی‬
(Unplanned) ‫…‰ردي‬
Attribute constraint {¸¹
„‫ ﺝ˜š{ ی‬ªŽ„‫ﺕ‬
Aggregate function {‫وه‬y¬ Attributes set ‫¸„ت‬¹ °|‰˜Š…
Aggregation ª˜Š‫ﺕ‬ Augmentation ¾‫ا›~ای‬
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 392

Authorization ‫…Š„ز ƒ˜„ري‬ Ę‫ آ‬°Ž {“‫ا‬yz


Authorization ‫ …Š„ز‬°„£ƒ °Ž ‚‫ﺕ‰ﻝ‬-y‫‰ﺕ‬ƅ„‫آ‬
Identifier ( AuthID) ‫ƒ˜„ري‬ CAD/CAM y‫‚‰ﺕ‬ƅ„‫ آ‬Ę‫آ‬
Automatic Design ( ‫„ن‬¥…‫اŽ~ار ) ا‬ °´„½… ‹¸¹
Tool ( ADT ) ‫ا“{ Œ‰دآ„ر‬yz Calculated attribute ‡ƒ
Automatic Call Level Ǎ ‫ در‬±‫وا‬
navigation ‫€„وش Œ‰دآ„ر‬ Interface (CLI) CLI) ‫اŒ‰ان‬y›
) ‡‫„ز‬À® ‫ارز‬ Candidate domain ‫…‚ان آ„€ی‬
Axiom °|‰¯‰… ³¹‫ا‬ Candidate Key (CK) ‫آ—‚ آ„€ی‬
B Canonical cover À‰€„‫‰ش آ‬¢
Bachman diagram ˜Á „Ž ‫€˜‰دار‬ Cardinality {‚‫„ﻝ‬£‫آ„ردی‬
‹¤¢ ‫ا›~ار¬„ن‬ ‹´Ÿ€
Back office server °£½¹ Cardinality ratio {‚‫„ﻝ‬£‫آ„ردی‬
Back-end „Ÿ¢ Cascade {—Ÿ—Ÿ‫ﺕ‬
‚ƒ„…
Catalog manager ‫ آ„ﺕ„ﻝ‰گ‬y‫…ی‬
Backend ‫Œ…¡~ار‬
Dbserver „Ÿ¢ {‫„ی¡„ه‬¢ Catalogue ‫آ„ﺕ„ﻝ‰گ‬
Backup ‫‚´„ن‬¤¢ Categorization ‫ي‬£Ž °‫د‬
Bags ‡‫ﺕ‰د‬ Category °‫د‬
Base relation „£´… °ÂŽ‫را‬ Centralized ~‫آ‬y˜…
Base attribute „£´… Centralized control ~‫آ‬y˜… ‫ل‬y£‫آ‬
Base Table (BT) (°‫„ی‬¢)„£´… ‫ﺝول‬ Centralized database ~‫آ‬y˜… ‡„¡‫„ی‬¢
‫€‰ع داد‡ اي‬ ‚‫ ﺕ„ی‬Ă£¥‫ﺕ‬
Basic data type {‫„ی‬£´… Certification (É‫ی‬Ê‫)ﺕ‬
Batch „Š¥‫ی‬ Chasm trap ‫„ف‬¥ƒ ‫دام‬
yµ„€ ‹‫…½ودی‬
Batch mode „Š¥‫ا—‰ب ی‬
Check constraints ‫ ‰ن‬°Ž
Behavioural ‫ر›„ري‬
Checkpointing {‫ وار‬°Â’€
Benchmarking {€‫ ز‬Ľ…
CHEMBERLIN ‚‫ﻝ‬y´˜Á
Bi- structure ‡‫دو „Œ„ر‬
CHEN Á
Bi-directional
association °‫ŽŸ¡{ دو ‰ی‬ CHEN notation Á ‫€˜‰دار‬
Body ( °€Ž ) y¥‚¢ Class ‡‫رد‬
Bound °ŸŽ Class diagram ‡‫€˜‰دار رد‬
‫„Œ„ر داد‡ اي‬ Classification ‫ي‬£Ž ‡‫رد‬
Box data structure ‫ اي‬°´š‫ﺝ‬ Clause (‫ز‬Ì‫د )آ‬y‫اآ‬y›
BOYCE Å‫Ž‰ی‬ ‫ و‬y–Ž {“‫ا‬yz
Boyce-Codd ‫…„ل‬y€ ‫‰رت‬¹ Clean design ǯ‫وا‬
Normal Form ‫آ„د‬-Å‫Ž„ی‬ Client / Multi- £Á-‫ي‬y¤… Ä‫ی‬
Bridge ³¢ Server ( C / MS) ‫Œ…¡~ار‬
y‫‚‰ﺕ‬ƅ„‫آ‬
Browsing {€‫‹ ز‬¤¬
Client machine ‫ي‬y¤…
Business rule ‫‰ا| ﺕŠ„ري‬ Client / Server /‫ي‬y¤…
Business rules „–‚‫‰ا| ›š„ﻝ‬ (C/S) ‫Œ…¡~ار‬
Buttleneck „£¡£‫ﺕ‬ ‡‫„ی¡„‡داد‬¢
Client / Server -‫ي‬y¤…
C
Database (C/S DB) ‫Œ…¡~ار‬
C.J.DATE ‹‫دی‬
Closed World °ŸŽ ‫ﺝ–„ن‬
Cache memory ‫ €–„ن‬°¼›„“
Closed World ‫ ﺝ–„ن‬y‚Ÿ¸‫ﺕ‬
www.PDFgozar.com

393 ‫واژه ﻧﺎﻣﻪ اﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻓﺎرﺳﻲ‬

interpretation °ŸŽ Consistency ‫„ز¬„ري‬


Closure ‫ŽŸ„ر‬ Constraint ‹‫…½ودی‬
Clustering ‫ واري‬°ƒ‰Œ Constraint
CODASYL data ‫…ل داد‡ اي‬ specification ӂ¹‰‫زŽ„ن ﺕ‬
model ³‚‫آ‰دا‬ language ‹‫…½ودی‬
CODD ‫آ„د‬ Constructor y¡Œ„
Collection °‫دای‬y¬ CONTAINS ‹‫ ا‬³…„ƒ
„Ž ‡ƒ ‹‫های‬ Containtement ‫ƒ˜‰ل‬
Command driven ‫…„ن‬y› Continuous
Command operation ‫ﺕاوم |˜—‚„ت‬
Language Interface ‫ زŽ„ن‬±‫وا‬ Conventional {£
( CLI) ‫…„ن‬y› Conventional
Commit ‹‚´Í‫ﺕ‬ system ‫‚Ÿž …š„رف‬
Communative {¬£‫ا€’„ل ده‬ Correcthness ‹½¹
) ¾€„y˜‫ه‬ Cost-benefit ‫®ورد‬yŽ ³‚—½‫ﺕ‬
Communication ( ‫ارﺕ´„ط‬ analysis „‫ …~ای‬/ °£‫ه~ی‬
Comparand €‰„‚ Cover ‫‰ش‬¢
Complete relational ‫اي‬°ÂŽ‫‚Ÿž را‬ CREATE view ‫ایŠ„د دی‬
system ³…„‫آ‬
Cross join ‫ب‬y¯ €‰‚¢
Complex (±—Ѕ ) ‡‚Ï‚¢
Current AuthID ‫ ﺝ„ري‬°„£ƒ
Complex Data ‫€‰ع داد‡ اي‬
Type ( CDT) ‡‚Ï‚¢ Cursor „˜€ ‫„ن‬¥…
Complex query ‡‚Ï‚¢ ¾y¢ D
Component €‫„ز‬ Dangling ɗš…
Data Sub ‫زŽ„ن داد‡ اي‬
Composite Ñ‫آ‬y…
Language ( DSL) {|y›
Composition т‫آ‬y‫ﺕ‬ ‫د‡ „زي‬y¤›
Computational Data compression „‫داد‡ ه‬
completeness {‫آ˜„ل …½„´„ﺕ‬
Data Structure(DS) ‫„Œ„ر داد‡ اي‬
Conceptual schema {‫ƒ˜„ي ادراآ‬ ( y–Ž){y‫د‬
Conceptual design {‫ا“{ ادراآ‬yz Data accessibility „‫ داد‡ ه‬°Ž
{‫ ادراآ‬Ǎ Data Administrator
Conceptual level ( {…‰–¸…) (DA) ‡‫ داد‬y‫…ی‬
Conceptual Data bank „‫ داد‡ ه‬Ā„Ž
redundancy {‫ا›~و€¡{ ادراآ‬ Data
Conceptual view {‫دی ادراآ‬ communication
Conceptual / / {‫€¡„ƒ‹ ادراآ‬ manager ‡‫ ا€’„ل داد‬y‫…ی‬
Internal mapping {—Œ‫دا‬ Data Control ( DC ) ‡‫ل داد‬y£‫آ‬
Concurrent ‫ه˜~…„ن‬ Data Control ‫ل‬y£‫د‰رات آ‬
Concurrent ‫اي‬y‫ح اﺝ‬yz Language (DCL) „‫داد‡ ه‬
schedule €‫و‬y˜‫ه‬ Data conversion ‫ و ا€’„ل‬³‫ﺕ´ی‬
Conference On and data transfer „‫داد‡ ه‬
Data System Data Definition ‡‫ داد‬Ó‫ی‬yš‫ﺕ‬
Langeage Data Definition ‫د‰رات‬
(CODASYL) ³‚‫‚Ÿž آ‰دا‬ Language (DDL) „‫ داد‡ ه‬Ó‫ی‬yš‫ﺕ‬
Configuration ‫ي‬£Žy¥‚¢ Data encryption ‡‫€–„ن €¡„ري داد‬
Connection traps ‫‚‰€ي‬¢ ‫دا…–„ي‬ Data entry ‡‫دن داد‬y‫وارد آ‬
Connector ‡£‫‚‰€ ده‬¢ Data export „‫ور داد‡ ه‬¹
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 394

Data extraction „‫اج داد‡ ه‬yЍ‫ا‬ support ‡„¡‫„ی‬¢


Data Flow €‫€˜‰دار رو‬ Database ‡‫„ی¡„‡داد‬¢ y‫…ی‬
Diagram (DFD) ‡‫داد‬ Administrator(DBA „‫ه‬
Data import „‫ورودي داد‡ ه‬ Database approach {‫„ی¡„ه‬¢ {¤…
Data inconsistency ‡‫€„„ز¬„ري داد‬ ‹‫…½ودی‬
Database constraint {‫„ی¡„ه‬¢
Data independence ‫ل داد‡ اي‬̒‫ا‬
Database
Data Management ‹‫ی‬y‫‚Ÿž …ی‬
environment ±‚½… ‹‫ی‬y‫…ی‬
System (DMS) „‫داد‡ ه‬
management „‫„ی¡„‡داد‡ ه‬¢
Data Manager „‫ داد‡ ه‬y‫…ی‬ Database Machine ‡‫„ی¡„‡داد‬¢ ‚ƒ„…
‫د‰ر |˜—‚„ت‬ ( DBM) „‫ه‬
Data Manipulation „‫در داد‡ ه‬ Database
‫د‰رات‬ Management ‹‫ی‬y‫‚Ÿž …ی‬
Data Manipulation ‫|˜—‚„ت روي‬ System (DBMS) „‫„ی¡„‡داد‡ ه‬¢
Language (DML) „‫داد‡ ه‬ ‹µ„¸“ ‫{ و‬£˜‫ای‬
Data marts „‫Ž„زار داد‡ ه‬ Database Protection „‫„ی¡„‡داد‡ ه‬¢
Data ‡‫„ی¡„‡داد‬¢ ‹‚¸‚‫آ‬
materialization ‡‫„Œ داد‬ Database quality „‫ه‬
Data migration ‡‫„€ن داد‬Á‰‫آ‬ ‫Œ…¡~ار‬
Data mining and ‡‫‚Ÿž داد‬ Database server „‫„ی¡„‡داد‡ ه‬¢
knowledge Ó¤‫آ„وي و آ‬ Datalogical °€„„£ƒ ‡‫داد‬
discovery system ‹Œ„£ƒ Datalogical ‫دی„ﻝ‰گ‬
Data Model ‫…ل داد‡ اي‬ Data-object ‡‫داد‬-‚ƒ
‡‫€„…¡·اري داد‬ ‫¬„ن‬£ƒ‫و‬y›
Data naming „‫ه‬ DBMS vendors „–˜Ÿ‚
Data placement ‡‫ﺝ„یه{ داد‬ DBMS-web
Data sharing „‫اك داد‡ ه‬yƒ‫ا‬ integration ‫„م در وب‬À‫اد‬
Data source ‫ داد‡ اي‬ª´£… ‡‫ ا€’„ل داد‬y‫…ی‬
DC manager „‫ه‬
Data type ‫€‰ع داد‡ اي‬
Data type ‫ي‬y‫·ی‬¢ ‫ش‬yŸ¬ Deadlock ‹ŸŽ Ž
extensibility ‫€‰ع داد‡ اي‬ Decentralized ‫…š˜„ري‬
‡‫اﻝ¡‰ي ا¸„د‬ architecture ~‫آ‬y˜…„€
Data usage pattern „‫از داد‡ ه‬ Decision making ‫ي‬y‚¬ ž‚˜Ê‫ﺕ‬
‫‚Ÿž ا€´„رش‬ Decision support ž‚˜Ê‫‚´„€{ ﺕ‬¤¢
Data Warehousing „‫داد‡ ه‬ Decision Support ‫‚´„ن‬¤¢ žŸ‚
Data System (DSS) ž‚˜Ê‫ﺕ‬
Communication {€„‫داد‡ ر‬ Declarative {€Ì|‫ا‬
Data keeping- data ‡‫ داد‬-‫داد‡ داري‬
Decomposition °‫ﺕŠ~ی‬
processing ‫دازي‬y¢
Deduction ‫„ج‬£‫ا‬
Database ‡‫„ی¡„‡داد‬¢
‡‫„ی¡„‡داد‬¢
Database growth ‡‫„ی¡„‡داد‬¢ ƒ‫ر‬ Deductive database {‫„ﺝ‬£‫ا‬
Database
Default length ‡‫‚¾ €–„د‬¢ ‫‰ل‬z
Language (DBL) {‫„ی¡„ه‬¢ ‫زŽ„ن‬
Default value ‡‫‚¾ €–„د‬¢ ‫…’ار‬
Database space ‡‫„ی¡„‡داد‬¢ ‫„ي‬֛
‹‚š¯‫و‬ Deferred checking y‚Œ„‫وار{ Ž„ ﺕ‬
Database state ‡‫„ی¡„‡داد‬¢ „Ž ‫¡„م „زي‬£–Ž
‡‫„ی¡„‡داد‬¢ ž‚¼£‫ﺕ‬ Deffered update y‚Œ„‫ﺕ‬
Database tuning „‫ه‬ Defining attribute ‫ف‬yš… ‹¸¹
Database {‫ی‬y‫„ن …ی‬¥…‫ا‬ Degree °‫درﺝ‬
administration y‫اي …ی‬yŽ
www.PDFgozar.com

395 ‫واژه ﻧﺎﻣﻪ اﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻓﺎرﺳﻲ‬

) °‫آ„ه¾ درﺝ‬ Dynamic data „‫‰ی‬¢ ‡‫داد‬


Denormalization {‚‫…„ﻝ‬y€ ( Ǎ
Dynamic SQL SQL„‫‰ی‬¢
Dependency theory {¡ŸŽ‫ﺕ׉ري وا‬
E
Derived ɤ…
Elementary type {‫€‰ع اŽای‬
Derived relation ɤ… °ÂŽ‫را‬ ‹Ÿ¢ ‫Œ…¡~ار‬
Descriptive {¸‚¹‰‫ﺕ‬ E-mail server {¥‚€‫و‬y¥‫اﻝ‬
Descriptive Embedded ‡ƒ ‫„م‬À‫اد‬
attribute {¸‚¹‰‫¸‹ ﺕ‬¹ Embedded Multi £Á {¡ŸŽ‫وا‬
Design by Valued Dependency ‫„م‬À‫…’اري اد‬
analysis ³‚—½‫ا“{ Ž„ ﺕ‬yz ( EMVD) ‡ƒ
Design tool {“‫ا‬yz ‫اŽ~ار‬ End user {€„‫„ی‬¢ yŽ‫آ„ر‬
Destructor y¡€‫ا‬y‫وی‬ Engine ‫…‰ﺕ‰ر‬
Detabase Enhanced
perspctive {‫„ی¡„ه‬¢ ‡„¬‫دی‬ (Extended) ER EER ‫روش‬
Determinant ‫„ن‬£‚…y‫دﺕ‬ Entity Identifier
Developement ‫ایŠ„د‬ (EID) ‹‫ …‰ﺝ‰دی‬°„£ƒ
Device Entity integrity ‹‚š…„‫„|‡ ﺝ‬
configuration °€„‫ي ر‬£Žy¥‚¢ rule {‫…‰ﺝ‰دی‬
-‹‫…‰ﺝ‰دی‬
Diadic ‫دو |˜—‰€ي‬
Entity relationship (ER) ‫ارﺕ´„ط‬
Direct
materialization ž‚’Ÿ… Œ„ Entity type ‹‫€‰ع …‰ﺝ‰دی‬
‫ ا€‰اع‬°|‰˜Š…
Discriminator ‡~‚˜…
Entity types set „–‫…‰ﺝ‰دی‬
Disjoint ‫…Š~ا‬ Equational {¡ŸŽ‫وا‬
‫…„ƒ‚ Žون‬ Dependency (ED) ‫ي‬yŽ‫ا‬yŽ
Diskless machine ğ‫دی‬ ‫ط‬yƒ °Ž €‰‚¢
Distributed ‡ƒ ª‫ﺕ‰زی‬ Equi-Join ‫ﺕŸ„وي‬
Distributed ª‫„ی¡„‡داد‡ ﺕ‰زی‬¢ ER diagram ER ‫€˜‰دار‬
Database (DDB) ( ‡£‫اآ‬y¢) ‡ƒ
Essential {„‫ا‬
Divide ž‚Ÿ’‫ﺕ‬
Event journaling ‫رویاد €¡„ري‬
‫Œ…¡~ار‬
Event- condition- -‫‰ا| رویاد‬
Document server ‫„د‬£‫…ارك و ا‬
action rules ‫اام‬-‫ط‬yƒ
Documentation ‫ „زي‬£Ÿ… Event Flow €‫€˜‰دار رو‬
Documented Diagram (EFD) ‫رویاد‬
procedure £Ÿ… °‫روی‬ Evolutionary ‫ „زي‬°€‰˜€
Domain ‫…‚ان‬ Prototyping {ƒyŸ¬
Domain - Key ‫…„ل‬y€ ‫‰رت‬¹ Execution plan ‫ا‬y‫ح اﺝ‬yz
Normal Form ‫آ—‚ي‬-‫…‚ان‬ Executive ‫|„ت‬Ìz‫‚Ÿž ا‬
Domain oriented {€‫“Ÿ„ب …‚ا‬ Information System {‫ای‬y‫اﺝ‬
‹‫…½ودی‬ Existance
Domain constraint {€‫…‚ا‬ dapendency ‫واŽŸ¡{ وﺝ‰د‬
Domain variable {€‫ …‚ا‬y‚Ø… Existential ‫‰ر وﺝ‰دي‬
Downsizing ‡‫آ„ه¾ا€از‬ Exploitation ‫داري‬yŽ ‡y–Ž
Driver manager ‫ درای‰ر‬y‫…ی‬ Expression relation {‫ |´„رﺕ‬°ÂŽ‫را‬
DROP view ‫“·ف دی‬ Extended cartesian ‫ب آ„ﺕ~ی‬y¯
Dummy record {¡Œ„ ‫رآ‰رد‬ product °›„‫ش ی‬yŸ¬
‫€‰ع داد‡ اي‬
Dumping ‫داري‬yŽ °ÐŸ€ Extended data type °›„‫ش ی‬yŸ¬
Durability ( ‫…„€„ی{ ) دوام‬
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 396

Extension ‡‫د‬yŸ¬ Functional analysis ‫دي‬y¥—˜| ³‚—½‫ﺕ‬


External level {‫ Œ„رﺝ‬Ǎ Functionalality {‫|˜—‚„ﺕ‬
External/Conceptual {‫€¡„ƒ‹ Œ„رﺝ‬ Fuzzy data mining ‫ي‬Ý‫‚Ÿž ژو‬
mapping (E / C ) {‫ ادراآ‬/ and knowledge ‫داد‡ آ„وي و‬
/ {‫Œ„رﺝ‬ discovery system ¾€‫ دا‬Ó¤‫آ‬
External / External {‫Œ„رﺝ‬ G
External schema {‫ƒ˜„ي Œ„رﺝ‬ Gantt chart ‹€„¬ ‫„رت‬Á
External view {‫دی Œ„رﺝ‬ Gateway ‫¬ار‬
F General purpose ‡‫¼‰ر‬£… °˜‫ه‬
Facts ‫واš‚„ت‬ General unification {…‰˜| ‫Ÿ„ن‬¥‫ی‬
FAGIN ‚¬„› Generalization ž‚˜š‫ﺕ‬
Fail ( Failure) (ْ€) т| ‫دي‬yŽ‫آ„ر‬
Fan trap ‫ي‬£Á-Ä‫دام ی‬ Global application ‫ي‬y„‫ﺕ‬y
Global conceptual {‫ƒ˜„ي ادراآ‬
Fault tolerance {Ž‫ا‬yŒ ³˜½‫ﺕ‬
schema ª…„‫ﺝ‬
‫€˜‰دار‬
Global System
‫واŽŸ¡‚–„ي‬
Catalog ( G S C ) ª…„‫آ„ﺕ„ﻝ‰گ ﺝ‬
FD ' s diagram {šŽ„‫ﺕ‬
FD' s preserving ڛ„“ °‫ﺕŠ~ی‬ GRANT ‫„ء‬Â|‫ا‬
decomposition „–‚¡ŸŽ‫وا‬ Graphic driven {¥‚›‫ا‬y¬ yŽ‫آ„ر‬
Federated ‫›رال‬ ‫ط‬yƒ °Ž €‰‚¢
žŠ£¢ ‫‰رت‬¹ Greater then Join y¬‫Ž~ر‬
Fifth Normal Form ‫…„ل‬y€ ‫ط‬yƒ °Ž €‰‚¢
Greater then or „‫…Ÿ„وي ی‬
File server ³‫Œ…¡~ار ›„ی‬
Equal y¬‫Ž~ر‬
Filing System (FS) Û£‚—‫‚Ÿž ›„ی‬
Grow and shrink ¾‫رƒ و آ„ه‬
‹ŸÐ€ ‫‰رت‬¹
First Normal Form ‫…„ل‬y€ H
±‰…
Five- minute rule °’‚‫ د‬Ü£¢ ‡|„
Harmonic mean À‰…‫ه„ر‬
Flat ÇŸ…
Heading £‫ ®ی‬y
{Œ ‫رآ‰رد‬
Flat Linear record ÇŸ… HEATH theorem à‚‫ ه‬°‚֐
Foreign Key ( FK ) {‫آ—‚ Œ„رﺝ‬ Help ‫ی„ر‬yŽ‫آ„ر‬
Form generator ‫م‬y› ‫…‰ﻝ‬ Heterogenous ¡˜‫€„ه‬
„Ž ‡ƒ ‹‫های‬ ‫„ی¡„‡داد‡ ه„ي‬¢
Form driven ‫م‬y› Heterogenous žŸ‚ ‫ل‬y£‫آ‬
parrallel systems ¡˜‫ه„ي €„ه‬
Formal ‫‰ري‬¹
control database ‫…‰ازي‬
Four(4)GL ‫–„رم‬Á ³Ÿ€ ‫زŽ„ن‬
Hidden data ‫داد‡ €–„ن‬
Fourth Normal ‫–„رم‬Á ‫‰رت‬¹
Hierarchycal Data ‫„Œ„ر داد‡ اي‬
Form ‫…„ل‬y€
Structure (HDS) {´‫اﺕ‬y… °—Ÿ—
Free ‫®زاد‬ Hierarchycal °—Ÿ— ‡‫„ی¡„‡داد‬¢
Front-end „¤‚¢ Database (HDB) {´‫اﺕ‬y…
Full outer join ³…„‫‚‰€ آ‬¢ ‫ا‬y› Homogenous ¡˜‫ه‬
Fully Functional {šŽ„‫واŽŸ¡{ ﺕ‬ Horizontal
Dependency (F FD ) ( ³…„‫ﺕ„م )آ‬ decomposition {’›‫ ا‬°‫ﺕŠ~ی‬
Fully relational ‫اي‬°ÂŽ‫‚Ÿž را‬ Horizontal ‫„ر„زي‬¢
system ‫ﺕ„م‬ fragmentation {’›‫ ( ا‬ª‚Â’‫)ﺕ‬
Functional Host Language ‫زŽ„ن …‚~Ž„ن‬
Dependency ( FD ) {šŽ„‫واŽŸ¡{ ﺕ‬
www.PDFgozar.com

397 ‫واژه ﻧﺎﻣﻪ اﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻓﺎرﺳﻲ‬

‡‫„ی¡„‡داد‬¢ Instances set °€‰˜€ °|‰˜Š…


Host database ‫…‚~Ž„ن‬
Integrated °Á‫„ر‬Æ¥‫ی‬-ª˜Š…
‫Œ…¡~ار‬
°š…„‫‚Ÿž ﺝ‬
Host server ‫…‚~Ž„ن‬
Integrated system (°Á‫„ر‬Æ¥‫)ی‬
Hybrid ‫„ر„زي‬¢
fragmentation {´‚‫آ‬y‫ﺕ‬ Integrity ‹‚š…„‫ﺝ‬
Hyper graph ‫„Œ„ر داد‡ اي‬ Integrity rule ‹‫ …½ودی‬-‡|„
Database Structure {›‫ا‬y¬yÆ‫ه„ی‬ ( constraint ) ‹‚š…„‫ﺝ‬
‹‫…½ودی‬
I
Integrity constraint {‚š…„‫ﺝ‬
Identifying ‫„„ي‬£ƒ
Intelligent system £˜ƒ‰‫‚Ÿž ه‬
Identifying entity „„£ƒ ‹‫…‰ﺝ‰دی‬
Intension °ÂŽ‫را‬
Identifying
relationship „„£ƒ ‫ارﺕ´„ط‬ Inter related ±´‫ﺕ‬y… ž–Ž
¾£‫ا€رآ‬
Identity projection {€„˜‫ﺕ‰ ه‬y¢
Interaction ( ³…„š‫)ﺕ‬
Immediate {‫وار‬
checking °—¹„›ÌŽ Interactive {¤£‫ا€رآ‬
‫¡„م „زي‬£–Ž Interactive mode {—…„š‫ا—‰ب ﺕ‬
Immediate update °—¹„›ÌŽ Intermediate
Implementation ‫‚„د‡ „زي‬¢ relation {£‚Ž„£‚Ž °ÂŽ‫را‬
Implementation ‡‫‚„د‬¢ ‫€˜‰دار‬ Internal level {—Œ‫ دا‬Ǎ
diagram ‫„زي‬ Internal view {—Œ‫دی دا‬
Import / Export / ‫ ورود‬±‫وا‬ Internal schema {—Œ‫ƒ˜„ي دا‬
interface ‫ور‬¹
Interoperability ³…„š‫ﺕ‬
Inapplicable ‫ ا|˜„ل‬³Ž„ y‚À
Inclusion Interpretation y‚Ÿ¸‫ﺕ‬
Dependency ‫…„ل‬y€ ‫‰رت‬¹ Intrinsic {‫ذاﺕ‬
Normal Form ‫واŽŸ¡{ ƒ˜‰ل‬ Intuitive ‫ƒ–‰دي‬
Inclusion Inverted list data ‫„Œ„ر داد‡ اي‬
Dependency ( ID) ‫واŽŸ¡{ ƒ˜‰ل‬ structure ‫ﻝ‚Ÿ–„ي وارون‬
Independent Irreducible y‫·ی‬¢„€ ¾‫آ„ه‬
(Stand alone ) („¸‫ )Œ‰دآ‬³’Ÿ…
Irreduciblity ‫ي‬y‫·ی‬¢„€ ¾‫آ„ه‬
‫Ž„ز„زي‬
Index rebuilding ٌ„ƒ IS-A ...Ä‫هŸ‹ ی‬
Indirect y‚À Œ„ IS-A PART-OF ...‫ﺝ~ی{ ا‹ از‬
materialization ž‚’Ÿ… Islands of
Induction ‫اء‬y’‫ا‬ information {‫|„ﺕ‬Ìz‫ ا‬y‫ﺝ~ای‬
Inference rules ‫„ج‬£‫‰ا| ا‬ Isolation (‫اد‬y¸€‫ﺝای{ )ا‬
Informal ‫‰ري‬¹ y‚À J
Information space {‫|„ﺕ‬Ìz‫„ي ا‬֛ Java-script ‹Æ‫ی‬y¥‫ﺝ„وا ا‬
Information Storage {Ž„‫‡ و Ž„زی‬y‚Œ‫ذ‬ Job ‫آ„ر‬
and Retrieval (ISR) ‫|„ت‬Ìz‫ا‬ Join €‰‚¢
Information System {‫|„ﺕ‬Ìz‫‚Ÿž ا‬ Join attribute €‰‚¢ ‹¸¹
Information ‫‰ﻝ‰ژي‬£¥‫ﺕ‬
Join Dependency ‫‚‰€ي‬¢ {¡ŸŽ‫وا‬
Technology (IT) ‫|„ت‬Ìz‫ا‬
џ‫ی‬y¯
Informative {¬£‫ارﺕ´„ط ده‬ Join selectivity ‫د‬y¥—˜| ¾£‫¬~ی‬
Inner query {€‫¾ درو‬y¢ factor €‰‚¢
‫¡„م „زي‬£–Ž K
Inplace updating „‫در ﺝ‬ Key-based ‫واŽŸ¡{ ƒ˜‰ل‬
Instance °€‰˜€ inclusion ‚—‫ آ‬yŽ {£´…
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 398

dependency Logical sequence {’£… {‫ﺕ‰اﻝ‬


Key preserving ‚—‫داراي آ‬ Logical unit of
Key-Complete ‫…„ل‬y€ ‫‰رت‬¹ work ‫’{ آ„ر‬£… “‫وا‬
Normal Form ‚—‫ آ‬̅„‫آ‬ Lookup table ‰ŠŸ‫ﺝول ﺝ‬
Knowledge Base Loop trap ‫ اي‬°’—“ ‫دام‬
Management ‹‫ی‬y‫‚Ÿž …ی‬
Loosely coupled ‹Ÿ €‰‚¢
System (KBMS) ‹Œ„£ƒ ‡„¡‫„ی‬¢
Knowledge-based Lost decomposition ‫ Ž„ “·ف‬°‫ﺕŠ~ی‬
system {Œ„£ƒ žŸ‚ M
L Main computer ‫ Ž~رگ‬y‫‚‰ﺕ‬ƅ„‫آ‬
‡‫„ی¡„‡ داد‬¢ ‫…š˜„ري “‰ل‬
Large Database ‫Ž~رگ‬ Main frame centric ‫ Ž~رگ‬y‫‚‰ﺕ‬ƅ„‫آ‬
Layer °‫ی‬Ý Main Memory ‫„ی¡„‡داد‡ ه„ي‬¢
Database (MMDB) {—¹‫ ا‬°¼›„“
Left augmentation âÁ ¾‫ا›~ای‬
Manipulative {‫|˜—‚„ﺕ‬
Left outer join âÁ €‰‚¢ ‫ا‬y›
‫ط‬yƒ °Ž €‰‚¢ Many to many £Á °Ž £Á
Less than Join y¥Á‰‫آ‬ „Ž ‡ƒ ‹‫های‬
‫ط‬yƒ °Ž €‰‚¢ Map driven °¤’€
Less than or Equal „‫…Ÿ„وي ی‬ Mapping ‹ƒ„¡€
Join y¥Á‰‫آ‬ Materialized ‫‚‹ در‬£‚| °Ž ‫دی‬
Library function ‫ اي‬°€„ÐŽ„‫ آ‬ªŽ„‫ﺕ‬ view ‡…®
Link €‰‚¢ Meaning „£š…
Load ‫Ž„ر¬·اري‬ Mediator {Š€„‚…
Local {—½… Member ‰Ö|
Membership
Local application {—½… ‫دي‬yŽ‫آ„ر‬
condition ‹‫‰ی‬Ö| ‫ط‬yƒ
Local conceptual {‫ƒ˜„ي ادراآ‬
„Ž ‡ƒ ‹‫های‬
schema {—½…
Menu driven ‰£…
Local database {—½… ‡‫„ی¡„‡داد‬¢
Menu generator ‰£… ‫…‰ﻝ‬
‫„ري‬Ѕ ‫Œ‰د‬
Location anatomy {—½… Message server ‫‚„م‬¢ ‫Œ…¡~ار‬
³¸ “‫ا€از‡ وا‬ Meta byte ‹‫…„ Ž„ی‬
Lock granularity y‫·ی‬¢ Meta-constraint ‹‫…„ …½ودی‬
{€ƒ ³¸ “‫وا‬ Meta data ‡‫…„ داد‬
Lock granular (y‫·ی‬¢ ³¸ )
Meta rules |‫…„ ‰ا‬
Locking ‫ ¬·اري‬³¸
³¸ Ă£¥‫ﺕ‬ Micro real world ª‫د ﺝ–„ن وا‬yŒ
Locking technique ‫¬·اري‬ Middleware ‫…‚„ن ا›~ار‬
‚‫ﺕ‰ﻝ‬-‫ ¬·اري‬³¸ Mini computer ±‰… y‫‚‰ﺕ‬ƅ„‫آ‬
Locking / Logging ‹´º ‫›„ی—–„ي‬ Minimal °£‚–‫آ‬
Logic Minimal relational ‫اي‬°ÂŽ‫‚Ÿž را‬
programming °…„€yŽ ‫زŽ„ن‬ system ³‫“ا‬
Language É£… ‫„زي‬
Missing data ‹Ÿ–€ ‡‫داد‬
logical Data ‫ل داد‡ اي‬̒‫ا‬
Missing
Independence {’£…
information ‹Ÿ–€ ‫ع‬Ìz‫ا‬
Logical construct {’£… ‹Œ„ Mixed design
Logical design {’£… {“‫ا‬yz method {´‚‫آ‬y‫روش ﺕ‬
Logical design {“‫ا‬yz ‫Ž–´‰د‬ Mobile office ‡‫ا‬y˜‫ آ„ر ه‬y›‫د‬
refinement {’£…
Mobile database ‫Œ…„ت‬
www.PDFgozar.com

399 ‫واژه ﻧﺎﻣﻪ اﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻓﺎرﺳﻲ‬

server ‫„ی¡„‡داد‡ ه„ي‬¢ ‫„زي‬


³‫…‰Ž„ی‬
N
Mobile database ‡‫„ی¡„‡داد‬¢ žŸ‚
system ‫اي Ž„ …š˜„ري‬ Named data items ‫‡ داد‡ €„…ار‬y’›
Mobile database žŸ‚ Named relation ‫ €„…ار‬°ÂŽ‫را‬
system ‡‫ا‬y˜‫„ی¡„ه–„ي ه‬¢ Natural Join (NJ) {š‚´z €‰‚¢
Mobile DB ³‫„ی¡„‡داد‡ …‰Ž„ی‬¢ Natural language ‫ Ž„ زŽ„ن‬yŽ‫آ„ر‬
Mobility and ‫„ی¡„‡داد‡ ه„ي‬¢ driven {š‚´z
personal database ‡‫ا‬y˜‫{ و ه‬ÊЃ Natural language
Module “‫وا‬ like {š‚´z ‫ زŽ„ن‬°´ƒ
‫اي‬yŽ °„£ƒ Nature ‹‚‫…„ه‬
Module AuthID ‫ …„ﺝ‰ل‬Ó‫ی‬yš‫ﺕ‬ Navigation ({¹‫‰ا‬À) ‫€„وش‬
Monadic ‫ |˜—‰€ي‬Ä‫ﺕ‬ Nested Relational „Ž ¾y¢ ‫زŽ„ن‬
Monitoring ‫€¼„رت‬ Query Language y‚À °ÂŽ‫را‬
(NRQL) ‫…„ل‬y€
Mono- server ‫ Œ…¡~ار‬Ä‫ﺕ‬
) Ñ‫آ‬y… ‫„م‬¥“‫ا‬
Multi database
Nested statement ( ‰‫ﺕ‰ در ﺕ‬
management ‹‫ی‬y‫‚Ÿž …ی‬
system {‫„ی¡„ه‬¢ £Á Nested query ‰‫¾ ﺕ‰ در ﺕ‬y¢
Multi Database £Á ‫…š˜„ري‬ Nested relation ‰‫ ﺕ‰در ﺕ‬°ÂŽ‫را‬
System (MDBS) {‫„ی¡„ه‬¢ Network °¥´ƒ
Multi ring ‫ اي‬°’—“ £Á Network Data ‫„Œ„ر داد‡ اي‬
Multi- Client / Ä‫ ی‬-‫ي‬y¤… £Á Structure (NDS) ‫ اي‬°¥´ƒ
Server (MC /S) ‫Œ…¡~ار‬ žŸ‚ ‫زŽ„ن‬
Multi- Client / Network Database ‫ اي‬°¥´ƒ
Multi- Server(MC / -‫ي‬y¤… £Á Language (NDL) (NDL)
MS) ‫ Œ…¡~ار‬£Á ‫…š˜„ري “‰ل‬
Multi- media ‫ اي‬°€„‫ ر‬£Á Network centric °¥´ƒ
Multi database {‫„ی¡„ه‬¢ £Á Network topology °¥´ƒ ‫‰ﻝ‰ژي‬¢‰‫ﺕ‬
Multi-Dimensional ‫دازش‬y¢ žŸ‚ News server ‫Œ…¡~ار اŒ´„ر‬
OLAR (MDOLAP) ±ŒyŽ {—‚—½‫ﺕ‬ No action ‫|م اام‬
Multimedia-data ‫‚Ÿž داد‡ آ„وي‬ Non database
mining ‫ اي‬°€„‫ ر‬£Á approach {‫„ی¡„ه‬¢„€ {¤…
£Á °|‰˜Š… Non orthogonal „€ {“‫ا‬yz
Multimember set ‫‰ي‬Ö| design …„š…
Multiple ‫‹ )ﺕ‰ارث‬º‫ورا‬ ‫ اي‬°‫€„ روی‬
inheritance °€„¬ £Á ( Non procedural (£˜ƒ‫)€„رو‬
Multiple-user £Á {Ž„‚‫د‬ No additive ‰¤“ {Ž
access ‫دي‬yŽ‫آ„ر‬
Non-loss (Lossless) {¬¤˜¬ {Ž
Multiplicity ‫ي‬£Á
Nontrivial (‫ح‬y…) ž–…
Multi query {¤y¢ £Á
Normal relation ‫…„ل‬y€ °ÂŽ‫را‬
Multi-server ‫ Œ…¡~ار‬£Á Not Normal y‚À °ÂŽ‫را‬
Multi set °|‰˜Š… £Á relation (NNR: ‫…„ل‬y€
Multi-user ‫ي‬yŽ‫ آ„ر‬£Á ‫ط‬yƒ °Ž €‰‚¢
Multi valued ‫ …’اري‬£Á Not-Equi-Join ‫|م ﺕŸ„وي‬
Multi valued £Á {¡ŸŽ‫وا‬ Nullifying ‫˜’ار ¬·اري‬ς‫ه‬
Dependency (MVD) ‫…’اري‬ Null value ‫˜’ار‬ς‫ه‬
Multi version £Á ‫و€ي‬y˜‫ه‬ O
concurrency ‫ اي‬°ÐŸ€
Object ‚ƒ
Multi versioning °ÐŸ€ £Á Ă£¥‫ﺕ‬
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 400

Object Oriented environment ‫¸„رش‬


Database {‫„ی¡„ه‬¢ ‫زŽ„ن‬
Ordering ‫®را„ر‬-ž¼€
Language ‫ا‬y¬ ‚ƒ
Object Query ¾y¢ ‫زŽ„ن‬ Oriented graph ‫اف ﺝ–‹ دار‬y¬
Language ( OQL) ‫ا‬y¬ ‚ƒ Orthogonal design …„š… {“‫ا‬yz
Object Oriented Outer query {€‫و‬y‚Ž ¾y¢
Language(OOL) ‫ا‬y¬ ‚ƒ ‫زŽ„ن‬ Outer union ‫ا اﺝ˜„ع‬y›
Object behavior ‚ƒ ‫ر›„ر‬ ‫¡„م „زي‬£–Ž
‫…ل داد‡ اي‬ Outplace updating „‫ون از ﺝ‬yŽ
Object Data Model ‫ا‬y¬ ‚ƒ ‫„ري‬¥€‫›~و‬
Object modeling {ׂƒ ‫…ﻝŸ„زي‬ Overhead (‫„ري‬¥¤‚Ž)
Object Modeling ‫ …ﻝŸ„زي‬Ă£¥‫ﺕ‬ Overlapping „ƒ‰Æ˜‫ه‬
Technique (OMT) ‚ƒ Owner Ä‫…„ﻝ‬
Object Oriented
Database P
Management ‹‫ی‬y‫‚Ÿž …ی‬ Page °½¸¹
System ‫„ی¡„‡داد‡ ه„ي‬¢ Panel interface ³€„¢ ±‫وا‬
(OODBMS) ‫ا‬y¬ ‚ƒ Parallel processing ‫دازش …‰ازي‬y¢
Object Type ‚ƒ ‫€‰ع‬ „Ž ‡ƒ ‹‫های‬
Object -Relational Parameter driven y…‫„را‬¢
Database ‹‫ی‬y‫‚Ÿž …ی‬ Parent-Child Link -‫ر‬¢ €‰‚¢ ‫€‰ع‬
Management ‫„ی¡„‡داد‡ ه„ي‬¢ type (PCL) ‫ز€ي‬y›
System (ORDBMS) ‫اي‬°ÂŽ‫را‬- ‚ƒ Partial {‫ﺝ~ی‬
Object-Relational
Partial Key {‫آ—‚ ﺝ~ی‬
Data Model ‫اي‬°ÂŽ‫…ل را‬
‹‫„رآ‬¤…
(ORDM) ‫ا‬y¬ ‚ƒ
{…‫اﻝ~ا‬y‚À
Occurrence ‫€˜‰د‬ Partial participation (³…„‫)€„آ‬
On-line (°‰‚¢ ) ±ŒyŽ Participant ‡££‫آ‹ آ‬yƒ
On Line Analytic ‫دازƒ–„ي‬y¢ y‚À ‫ي‬y£¤¥‫دی‬
Processing (OLAP) ±Œ yŽ {—‚—½‫ﺕ‬ Passive dictionary ‫›š„ل‬
One to many £Á °Ž Ä‫ی‬ Peak performance {‫ی آ„رای‬y¤‚Ž
One to one Ä‫ ی‬°Ž Ä‫ی‬ peak time ‫ز…„ن اوج‬
) ‡‫ Ž‰د‬Ä‫ی‬
Peer-to-peer ‫از‬y˜‫ه‬
One fact - one Ä‫ ی‬:( ‹‚š‫وا‬
relation °ÂŽ‫را‬ Performance {‫آ„رای‬
Ä‫¾ ﺕ‬y¢ Permanent
One level query {½Â ( planned) {¡¤‚˜‫ه‬
One- minute rule °’‚‫ د‬Ä‫„|‡ ی‬ Persistent „‫„ی‬¢
Online Analytical ‫دازش‬y¢ ‫„ن‬¥…‫ا‬ Persistent
Processing (OLAP) ±Œ yŽ {—‚—½‫ﺕ‬ ( Permanent) table ‫ﺝول …„€¬„ر‬
Persistent Stored ‡y‚Œ‫…„ﺝ‰ﻝ–„ي ذ‬
Online controller ±Œ yŽ y‫وﻝ‬y£‫آ‬
Modules ( PSM ) ‫ƒ‡ …„€¬„ر‬
) °‰‚¢ ‫ا—‰ب‬
Physical {¡€‫ا›~و‬
Online mode ( ±Œ yŽ
redundancy {¥‫›‚~ی‬
Operand €‰—˜| Physical Data ‫ل داد‡ اي‬̒‫ا‬
Operational Independence (PDI ) {¥‫›‚~ی‬
environment {‫ |˜—‚„ﺕ‬±‚½…
Physical design {¥‫ا“{ ›‚~ی‬yz
Operational mode {‫ا—‰ب |˜—‚„ﺕ‬
Piece °¥‫ﺕ‬
Option ( °£‫¬~یار )¬~ی‬
Plex Å¥—¢
Order-entry ‫ ورود‬±‚½…
Pointer - „˜€ ‫„ن‬¤€
www.PDFgozar.com

401 ‫واژه ﻧﺎﻣﻪ اﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻓﺎرﺳﻲ‬

y¬‡‫اƒ„ر‬ optimization „–¤y¢


Portability ‫ي‬y‫·ی‬¢ {‫ﺝ„ŽŠ„ی‬ Queries set ¾y¢ °|‰˜Š…
Positional ordering {€„¥… ž¼€ Query Language
(QL) ¾y¢ ‫زŽ„ن‬
Post relational ‫اي‬°ÂŽ‫Ÿ„ را‬¢
Query By Example Ę‫ آ‬°Ž ¾y¢
Precompiled y—‫„ی‬ƅ„‫‚¾ آ‬¢ (QBE) ‫„ل‬ͅ
Predicate £Ÿ… Query modification ¾y¢ y‚‚Ø‫ﺕ‬
Predicate calculus ‫ات‬£Ÿ… ‫ „ز‬°£‚–Ž
‫‰رت‬¹ Query optimizer ¾y¢
Prenex form ‫‰€ي‬¤‚¢ y¡ƒ‫داز‬y¢
Pre-relational ‫اي‬°ÂŽ‫‚¾ را‬¢ Query processor ¾y¢
Prescriptive ‫د‰ري‬ ‫Œ…¡~ار‬
Query server ¾y¢
Presentation ¾‫€˜„ی‬ Query By Form Ę‫ آ‬°Ž ¾y¢
‫ ازاء‬°Ž °£‫ه~ی‬ (QBF) ‫م‬y›
Price per TPS TPS ‫ „زي‬°£‚–Ž
Price / performance / °£‫€Ÿ´‹ ه~ی‬ Query optimization ¾y¢
ratio {‫آ„رای‬
R
Primary Key ( PK ) {—¹‫آ—‚ ا‬
Range variable {¸‚z y‚Ø…
Primary domain {—¹‫…‚ان ا‬
Range query {¸‚z ¾y¢
Prime attribute ‡˜| ‹¸¹
Real {š‫وا‬
Printer server ‫„پ‬Á ‫Œ…¡~ار‬
Real world ª‫ﺝ–„ن وا‬
Privacy {¡€„…y½… Real time ‫د‬yŽ‫آ„ر‬
Privilege ‫ا…‚„ز‬ application ۀ‫در‬̎
Problem context °—ן… … {Ž ‡‫„ی¡„‡داد‬¢
Procedural ‫ اي‬°‫روی‬ Real-time DBMS ۀ‫در‬
Procedure °‫روی‬ Real-world object ª‫اƒ‚„ء ﺝ–„ن وا‬
Real-time database ‹‫ی‬y‫‚Ÿž …ی‬
Production rules ‚‫‰ا| ﺕ‰ﻝ‬
management ‫„ی¡„‡داد‡ ه„ي‬¢
Program-data °…„€yŽ ‫ل‬̒‫ا‬
system ۀ‫Ž{ در‬
independence ‡‫از داد‬
Programming °…„€yŽ ‫زŽ„ن‬ Record type ‫€‰ع رآ‰رد‬
Language (PL) ‫„زي‬ Recovery ž‚…y‫ﺕ‬
Programming °…„€yŽ ‫آ˜„ل‬ Recursive
completeness ‫„زي‬ relationship {¤¬‫ارﺕ´„ط Ž„ز‬
Project ‰‫ﺕ‬y¢ Redundancy {¡€‫ا›~و‬
‫¡„م „زي‬£–Ž Redundant Array
Propagating update ‡€‰ƒ y¤£… of Inexpensive ‫–„ي‬¥Ÿ‫ دی‬°‫®رای‬
Proposition ‡‫¬~ار‬ Disks (RAID) °€‫ارزان ا›~و‬
Redundency Free ‫…„ل‬y€ ‫‰رت‬¹
Protection ‹µ„¸“
Normal Form {¡€‫Ž{ ا›~و‬
-‹ŸÐ€ °€‰˜€
Prototype ‫ „زي‬°€‰˜€ Reengineering ‡‫{ دوŽ„ر‬£–…
Pseudo transitivity ‫ ﺕšي‬°´ƒ Reference ‫ارﺝ„ع‬
Q Reference diagram ‫€˜‰دار ارﺝ„ع‬
Qualified Reference cycle ‫ ارﺝ„ع‬°’—“
association ‚’… {¥ŸŽ Reference graph ‫اف ارﺝ„ع‬y¬
Qualifier ‚ Reference path ‫اف‬y¬y‚Ÿ…
Quantifier „˜€ ‫ي‬£Á Referenced ª‫ﺝ‬y…
Queries ‫¡„م „زي‬£–Ž
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 402

Referencing ‡££‫رﺝ‰ع آ‬ ‡€‰ƒ


Referential {‚š…„‫„|‡ ﺝ‬ Request manager „–‫ درŒ‰ا‬y‫…ی‬
integrity rule {|„‫ارﺝ‬ Request
Reflexive modification ‹‫ درŒ‰ا‬y‚‚Ø‫ﺕ‬
association {„¥š€‫ŽŸ¡{ ا‬ Requirements
Reflexivity ‫„س‬¥š€‫ا‬ Engineering (RE) „‫{ €‚„زه‬£–…
Relationally Requirements ‫ „زي‬°€‰˜€
completeness ‫اي‬°ÂŽ‫آ˜„ل را‬ Prototyping ‫€‚„زي‬
Relation Research-
assignment °ÂŽ‫ا€Ÿ„ب را‬ Development (RD) °š‰‫ﺕ‬-¾‫”وه‬¢
‹‫…½ودی‬ Response time {‫ه‬Ѝ„¢ ‫ز…„ن‬
Relation constraint ‫اي‬°ÂŽ‫را‬ Responsing
Relation predicate ‫ ارﺕ´„ط‬£ procedure ‰¡Ð„¢ °‫روی‬
Relation schema °ÂŽ‫ƒ˜„ي را‬ Restrict ¾£‫¬~ی‬-‫ﺕ½ی‬
Relation state °ÂŽ‫“„ﻝ‹ را‬ {’‫ﺕš‰ی‬
Relation type Restricted (‫وط‬y¤…)
generator °ÂŽ‫…‰ﻝ €‰ع را‬ Restriction - Union ‫…„ل‬y€ ‫‰رت‬¹
Relation value Normal Form ‫ اﺝ˜„ع‬-‫ﺕ½ی‬
(Relval ) ‫اي‬°ÂŽ‫…’ار را‬ Restriction
Relation variable predicate ¾£‫ ¬~ی‬£Ÿ…
( Relvar ) ‫اي‬°ÂŽ‫ را‬y‚Ø… Result relation °Š‚€ °ÂŽ‫را‬
Relational y´‫|´„رت ﺝ‬ REVOKE ‰Ø‫ﻝ‬
expression ‫اي‬°ÂŽ‫را‬
Right outer join ‹‫‚‰€ را‬¢ ‫ا‬y›
Relational ~£ ‫روش‬
э„£…
synthesis ‫اي‬°ÂŽ‫را‬
Rightsizing ‫„زيا€ام‬
Relational algebra ‫اي‬°ÂŽ‫ را‬y´‫ﺝ‬
Rissanen €„Ÿ‫ری‬
Relational
assignment ‫اي‬°ÂŽ‫ا€Ÿ„ب را‬ Role ¾’€
Relational calculus ‫اي‬°ÂŽ‫“Ÿ„ب را‬ Root only °¤‫ ری‬±’›
Relational Data ‫„Œ„ر داد‡ اي‬ R-system R žŸ‚
Structure (RDS) {z„´‫ارﺕ‬ Rule based {£´… ‫ „ز‬°£‚–Ž
Relational Database ‹‫ی‬y‫‚Ÿž …ی‬ optimizer ‡|„ yŽ
Management ‫„ی¡„‡داد‡ ه„ي‬¢ Rules |‫‰ا‬
System (RDBMS) ‫اي‬°ÂŽ‫را‬ Run time manager ‫ا‬y‫ ز…„ن اﺝ‬y‫…ی‬
Relationship type ‫€‰ع ارﺕ´„ط‬ Run time
Reload ‫Ž„ز Ž„ر¬·اري‬ supervisor ‫ا‬y‫ ز…„ن اﺝ‬yµ„€
Remote call ‫اŒ‰ان از دور‬y› S
‫د‚„Ž{ از دور‬ Safe expression ×˜Â… ‫|´„رت‬
Remote data access „‫ داد‡ ه‬°Ž Scalability ‫ي‬y‫·ی‬¢ ‫ش‬yŸ¬
Remote ‡‫ داد‬°Ž {Ž„‚‫د‬ ‫ا›~ای¾ …’‚„س‬
data access ‹‫ه„ي دورد‬ ‫ش‬yŸ¬ ) ‫آ„ر‬
Remote Data ‫„ن‬¥…‫‚Ÿž Ž„ ا‬ Scaleup ( ‫ي‬y‫·ی‬¢
Access System ‡‫ داد‬°Ž {Ž„‚‫د‬
(RDAS) ‫ه„ از دور‬ Schema „˜ƒ
Ó‫ی‬yš‫ ﺕ‬°„£ƒ
Renaming {…„€y¬‫د‬ Schema AuthID „˜ƒ
Replica °ÐŸ€ Schema definition „˜ƒ Ó‫ی‬yš‫ﺕ‬
Replication ‫ „زي‬°ÐŸ€ Schema evolution „˜ƒ y‚‚Ø‫ﺕ‬
Report generator ‫…‰ﻝ ¬~ارش‬ Schema generator „˜ƒ ‚‫وا“ ﺕ‰ﻝ‬
Repreting group ‫ار‬y¥‫و‡ ﺕ‬y¬
www.PDFgozar.com

403 ‫واژه ﻧﺎﻣﻪ اﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻓﺎرﺳﻲ‬

Search argument ‰ŠŸ‫„€‰€ ﺝ‬¤€ database system {‫ا›‚„ی‬yØ‫ﺝ‬


Second Normal ‫‰رت دوم‬¹ Special purpose ‡‫¼‰ر‬£… Ä‫ﺕ‬
Form ‫…„ل‬y€
Specialization قÊÐ‫ﺕ‬
Security {£˜‫ای‬ ‹|y ¾‫ا›~ای‬
Selective setup {¤£‫„ی{ ¬~ی‬¢yŽ Speedup ( {‫) آ„رای‬
Self dependency {¡ŸŽ‫Œ‰د وا‬ Spread sheet ‫گ‬yŽyŸ¬
Self-relationship ‫ارﺕ´„ط Ž„ Œ‰د‬ Spurious {—š‫ع ﺝ‬Ìz‫ا‬
‫ Œ‰د رﺝ‰ع‬°Ž SQL-Session „Ž ‫ آ„ر‬°„£ƒ
Self referencing ‡££‫آ‬ AuthID SQL
Semantic {‫„ی‬£š… ‹‫…½ودی‬
Semantic unit of {‫„ی‬£š… “‫وا‬ State constraint {‚š¯‫و‬
data ‡‫داد‬ Storage Definition Ó‫ی‬yš‫زŽ„ن ﺕ‬
Language (SDL) ‫‡ „زي‬y‚Œ‫ذ‬
Semantic concept {‫„ی‬£š… ‫…¸–‰م‬
‹‫…½ودی‬ Stored procedure ‡ƒ ‡y‚Œ‫ ذ‬°‫روی‬
Semantic constraint {‫„ی‬£š… Stored data ‡ƒ ‡y‚Œ‫داد‡ ذ‬
Semantic Data {‫„ی‬£š… ‫…ﻝŸ„زي‬ Stored data ‡ƒ ‡y‚Œ‫ذ‬
Modeling (SDM) ‡‫داد‬ ‡y‚Œ‫ ذ‬°ÂŽ‫را‬
Semantic integrity ‹‫…½ودی‬ Stored relation ‡ƒ
constraint {‫„ی‬£š… ‹‚š…„‫ﺝ‬
Strong ‫‰ي‬
‫ „ز‬°£‚–Ž
Semantic optimizer {‫„ی‬£š… Structural ‫„Œ„ري‬
Structural
Semantic rule Ă€„˜ |‫‰ا‬
completeness ‫آ˜„ل „Œ„ري‬
Semi-join €‰‚¢ ž‚€ Structural ‹‫…½ودی‬
Semi structured £˜Œ„ ž‚€ constraint ‫„Œ„ري‬
‫اي‬y‫ح اﺝ‬yz Structural domain £˜Œ„ ‫…‚ان‬
Serial schedule {‫…‰اﻝ‬
Structured £˜Œ„
Serializable y‫·ی‬¢ {‫ﺕ‰اﻝ‬
Structured record £˜Œ„ ‫رآ‰رد‬
Session ‫ ﺕ˜„–„ي‬y‫…ی‬
Structured Query
manager ‫ان‬yŽ‫ای{ آ„ر‬y‫اﺝ‬
Language (SQL) SQL ‫زŽ„ن‬
Set type °|‰˜Š… ‫€‰ع‬ ‫ €‰ع‬y‫زی‬
Set-oriented query °|‰˜Š… ¾y¢ Sub entity type ‹‫…‰ﺝ‰دی‬
Setup {‫„ی‬¢yŽ Sub query {|y› ¾y¢
Shared {‫اآ‬yƒ‫ا‬ Sub table ‫ ﺝول‬y‫زی‬
Shared entity ‫ك‬y¤… ‫ €‰ع‬y‫زی‬ Subtype ‡‫ رد‬y‫زی‬
Side effect {´€„‫ ﺝ‬°¯‫|„ر‬ Subtype ‫ €‰ع‬y‫زی‬
Single ‡‫„د‬ Summarize ‫ي‬£Ž ‡‫و‬y¬
Single user Super computer {—‚Œ y‫‚‰ﺕ‬ƅ„‫آ‬
(Personal) ‫ي‬yŽ‫ آ„ر‬Ä‫ﺕ‬
Super Key (S. K ) ‚—‫آ‬yŽ‫ا‬
Single-valued ‫ …’اري‬Ä‫ﺕ‬
Superentity type ‫ €‰ع‬yŽ‫ز‬
Site ( ‹‫ ) „ی‬°€„…
Supertable ‫ ﺝول‬yŽ‫ز‬
ž‚¼£‫ا€از‡ ﺕ‬
Smart sizing ‡€‰ƒ Supertype ‡‫ رد‬yŽ‫ز‬
‫آ—‚ ﺝ„ی¡~ی‬
Snapshot ‫ اي‬°¼½‫ﻝ‬
Surrogate ‫€–„ن‬
Software facilities ‫ت‬̂–Ÿ‫ﺕ‬
‫ ƒ‡ در‬Ó‫ی‬yš‫ﺕ‬
(tools) ‫ما›~اري‬y€
System defined žŸ‚
Spatial and ‫ ه„ي‬°Â‚“
- ‫‚Ÿž „ز‬
geographic ‫„ی{ و‬֛
System developer ‫‚„د‡ „ز‬¢
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ 404

System ‫„ت‬ÊФ… integrity


specification žŸ‚ Transaction
System variable {˜Ÿ‚ y‚Ø… Processing
T Performance
Tabular Data ‫„Œ„ر داد‡ اي‬ Council (TPC) TPC ‫„ز…„ن‬
Structure (TDS) {‫ﺝوﻝ‬ ‫Œ…¡~ار‬
Transaction server „–¤£‫اآ‬y‫ﺕ‬
Tabular system {‫‚Ÿž ﺝوﻝ‬
Transactions ‹‫ی‬y‫…ی‬
‡‫„ی¡„‡داد‬¢
concurrency ‫و€ي‬y˜‫ه‬
Tabular Database {‫ﺝوﻝ‬
management ¾£‫اآ‬y‫ﺕ‬
Task °¸‚µ‫و‬ Transition ‹‫…½ودی‬
Temporal £˜€„…‫ز‬ constraint ‫¬·اري‬
Temporal Transitive ‫ا¬·اري‬y‫ﺕ‬
Dependency {€„…‫واŽŸ¡{ ز‬
Transitivity ‫ﺕšي‬
‫€˜‰دار‬
{‫ﺉ‬y…„€ |‫‰ا‬
-‹‫…‰ﺝ‰دی‬
Transparency rules ‫Ž‰دن‬
Temporal ERD £˜€„…‫ارﺕ´„ط ز‬
Trigger (‫ره„€„ )را‡ا€از‬
Temporal data £˜€„…‫داد‡ ز‬
‡‫„ی¡„‡داد‬¢ Trivial ( {–‫€„ …–ž )Žی‬
Temporal database £˜€„…‫ز‬ True proposition ‹‫¬~ار‡ در‬
Temporary table ‹‰… ‫ﺝول‬ Tuple oriented {—¢„‫“Ÿ„ب ﺕ‬
Temporary view ‹‰… ‫دی‬ Tuple variable {—¢„‫ ﺕ‬y‚Ø…
Test data {Ÿ‫داد‡ ﺕ‬ ³¸ Ă£¥‫ﺕ‬
Two Phase ‫¬·اري دو‬
Test strategy ‹Ÿ‫اﺕ”ي ﺕ‬y‫ا‬
Locking (2PL) ‫ اي‬°—“y…
Third Normal ‫‰رت ‰م‬¹
Form ‫…„ل‬y€ Two-tier {¸‫دو ردی‬
Three level ° ‫…š˜„ري‬ Type compatible ‫„ز¬„ر €‰ع‬
architecture {½Â Type constraint ‫…½ودی‹ €‰ع‬
Three-schema ° ‫…š˜„ري‬
U
architecture {‫ƒ˜„ی‬
Undefined ‡¤€ Ó‫ی‬yš‫ﺕ‬
Three-tier {¸‫ ردی‬°
Three-Valued ° É£… Unfederated ‫€„ ›رال‬
Logic (3VL) {ƒ‫ارز‬ Unidirectional
association °‫ ‰ی‬Ä‫ŽŸ¡{ ی‬
Throughput {‫ﺕ‰ان |˜—‚„ﺕ‬
Union type ‫€‰ع اﺝ˜„ع‬
Tightly coupled ‫‚‰€ ‰ي‬¢
Uniqueness {‫„ی‬¥‫ی‬
Time stamping y–˜€„…‫ ز‬Ă£¥‫ﺕ‬
{€„¡˜‫‰ر ه‬
Tool developer ‫اŽ~ار „ز‬ Universal ({…‰˜|)
Top-down design °Ž ݄Ž ‫روش‬
Universal concept {€„¡˜‫…¸–‰م ه‬
method ‚‫„ی‬¢
Universal Database ‹‫ی‬y‫‚Ÿž …ی‬
{…‫„رآ‹ اﻝ~ا‬¤…
Management ‫„ی¡„‡داد‡ ه„ي‬¢
Total participation (³…„‫)آ‬
System (UDBMS) {€„¡˜‫ه‬
Tow-Valued Logic ‫ دو‬É£…
Universal Modeling {…‰˜| ‫زŽ„ن‬
(2VL) {ƒ‫ارز‬
Language (UML) ‫…ل „زي‬
‫اي‬yŽ ³‚–Ÿ‫ﺕ‬
Trace facility ‫ي‬y‚¬‫رد‬ Universal relation {…‰˜| °ÂŽ‫را‬
Transactions Log ‹´º ‫›„ی—–„ي‬ Universe of
Files (T. L. F) „–¤£‫اآ‬y‫ﺕ‬ Discourse y¼€ ‫ﺝ–„ن …‰رد‬
Universe of °ÂŽ‫ را‬°|‰˜Š…
Transaction ¾£‫اآ‬y‫ﺕ‬
relations ¥˜… ‫ه„ي‬
Transaction ¾£‫اآ‬y‫ﺝ„…š‚‹ ﺕ‬
Unknown °Œ„£ƒ„€
www.PDFgozar.com

405 ‫واژه ﻧﺎﻣﻪ اﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻓﺎرﺳﻲ‬

Unload ‫دن‬y‫Œ„ﻝ{ آ‬ View Definition


Language (VDL) ‫ دی‬Ó‫ی‬yš‫زŽ„ن ﺕ‬
Unsafe expression ×˜Â…„€ ‫|´„رت‬
View definition Ó‫ی‬yš‫ط ﺕ‬yƒ
Unstructured £˜Œ„ „€ condition (s) ‡‫داد‬
Upgradeability ‫ارﺕ’„ء‬ View derivation ‫اƒ’„ق دی‬
Upsizing ‡‫ا›~ای¾ا€از‬ View on view ‫دی روي دی‬
‫€˜‰دار …‰رد‬
Virtual Child ‫ز€ …Š„زي‬y›
Use case diagram ‫د‬yŽ‫آ„ر‬
Virtual record ‫€‰ع رآ‰رد‬
User Friendly yŽ‫ آ„ر‬±‫وا‬
type ‫…Š„زي‬
Interface (U F I ) £Ÿ¢
Virtual relation ‫ …Š„زي‬°ÂŽ‫زا‬
User groups ‫ي‬yŽ‫ آ„ر‬±‫وا‬
Virtual table ‫ﺝول …Š„زي‬
User defined rule ‫ي‬yŽ‫‰ا| آ„ر‬
User usage yŽ ‫„ن €¼„رت‬¥…‫ا‬ Virtual attribute ‫¸‹ …Š„زي‬¹
monitoring ‫ان‬yŽ‫|˜—‚„ت آ„ر‬ ‹‫…‰ﺝ‰دی‬
‡ƒ Ó‫ی‬yš‫ﺕ‬ Virtual entity ‫…Š„زي‬
User defined yŽ‫ آ„ر‬±‰‫ﺕ‬ Virtual Parent
Child Link (VPCL) VPCL Ă£¥‫ﺕ‬
User Interface (UI) yŽ‫ آ„ر‬±‫وا‬
‫ „زي‬°Á‫„ر‬Æ¥‫ی‬ Virtual Parent (V P ) ‫ر …Š„زي‬¢
Users' Ers ER ‫€˜‰داره„ي‬ Visual-basic -script â‫ی‬y¥‫ا‬-{Ž-‫وي‬
integration ‫ان‬yŽ‫آ„ر‬ Voice driven {‫‰ﺕ‬¹ yŽ‫آ„ر‬
V W
|‫ا|˜„ل ‰ا‬
Weak ӂš¯
Value -based yŽ {£´… {£˜‫ای‬
security constraint y‫…’„دی‬ Web DB ‫„ی¡„‡داد‡ وب‬¢
Well designed ‫ Œ‰ش‬°ÂŽ‫را‬
Vector ‫دار‬yŽ
relation ‫ح‬yz
Version ‫€¡„رش‬ Well Formed ‫…‰ل Œ‰ش‬y›
Vertical Formula ( WFF) ‹Œ„
decomposition ‫ |˜‰دي‬°‫ﺕŠ~ی‬
Work station ‫ایŸ¡„‡ آ„ر‬
Vertical ‫„ر„زي‬¢
fragmentation ‫|˜‰دي‬ Work station ‫ایŸ¡„‡ آ„ري‬
Very Large {—‚Œ ‡‫„ی¡„‡داد‬¢ Working table ‫ﺝول آ„ري‬
Database (VLDB) ‫Ž~رگ‬ Workload ‫Ž„رآ„ري‬
Very large World Wide Web {€„–‫ ﺝ‬°¥´ƒ
information {‫|„ﺕ‬Ìz‫‚Ÿž ا‬ (W W W ) {€„‫ع ر‬Ìz‫ا‬
integrated system ‫ŽŸ‚„ر Ž~رگ‬ World Wide Web ‡‫„ی¡„‡داد‬¢ žŸ‚
Very large Database system {€„–‫ ﺝ‬°¥´ƒ ‫در‬
distributed ‫|„ت‬Ìz‫‚Ÿž ا‬ (WWW-DB) {€„‫ع ر‬Ìz‫ا‬
information system ‫ ƒ‡ ŽŸ‚„ر‬ª‫ﺕ‰زی‬
‫¡„م‬£–Ž ‹‚—Ž„
View updatability ‫„زش دی‬
www.PDFgozar.com
www.PDFgozar.com

‫واژه ﻧﺎﻣﻪ‬

‫ﻓﺎرﺳﻲ ﺑﻪ اﻧﮕﻠﻴﺴﻲ‬

Essential ‫اﺳﺎﺳﻲ‬ ®
‫اﺳﺘﺨﺮاج داده ﻫﺎ‬ Redundant
Data extraction Array of ‫ارزان‬ ‫دﻳﺴﻜﻬﺎي‬ ‫آراﻳﻪ‬
Test strategy ‫اﺳﺘﺮاﺗﮋي ﺗﺴﺖ‬ Inexpensive
Disks (RAID) ‫اﻓﺰوﻧﻪ‬
Access strategy ‫اﺳﺘﺮاﺗﮋي دﺳﺘﻴﺎﺑﻲ‬
Arity ‫آرﻳﺘﻲ‬
Induction ‫اﺳﺘﻘﺮاء‬
Free ‫آزاد‬
Program-data
independence ‫اﺳﺘﻘﻼل ﺑﺮﻧﺎﻣﻪ از داده‬ ‫آﻧﻮﻣﺎﻟﻲ‬
Anomaly
Data ‫اﺑﺮﻛﻠﻴﺪ‬
independence ‫اﺳﺘﻘﻼل داده اي‬ Super Key (SK )
Physical Data Automatic
‫اﺳﺘﻘﻼل داده اي ﻓﻴﺰﻳﻜﻲ‬ Design Tool ‫اﺑﺰار ﻃﺮاﺣﻲ ﺧﻮدﻛﺎر‬
Independence
logical Data Tool developer ‫اﺑﺰار ﺳﺎز‬
Independence ‫اﺳﺘﻘﻼل داده اي ﻣﻨﻄﻘﻲ‬
Design tool ‫اﺑﺰار ﻃﺮاﺣﻲ‬
Deduction ‫اﺳﺘﻨﺘﺎج‬
Nested
( ‫اﺳﻠﻮب ﭘﻴﻮﺳﺘﻪ ) ﺑﺮ ﺧﻂ‬ statement ( ‫اﺣﻜﺎم ﻣﺮﻛﺐ ) ﺗﻮ در ﺗﻮ‬
Online mode
Interactive DBMS-web
‫اﺳﻠﻮب ﺗﻌﺎﻣﻠﻲ‬ integration ‫ادﻏﺎم در وب‬
mode
Operational Embedded ‫ادﻏﺎم ﺷﺪه‬
mode ‫اﺳﻠﻮب ﻋﻤﻠﻴﺎﺗﻲ‬
Self-relationship ‫ارﺗﺒﺎط ﺑﺎ ﺧﻮد‬
Batch mode ‫اﺳﻠﻮب ﻳﻜﺠﺎ‬
Recursive
‫اﺷﺘﺮاك داده ﻫﺎ‬ relationship ‫ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ‬
Data sharing
‫اﺷﺘﺮاﻛﻲ‬ Informative ‫ارﺗﺒﺎط دﻫﻨﺪﮔﻲ‬
Shared
‫اﺷﺘﻘﺎق دﻳﺪ‬ Identifing
View derivation relationship ‫ارﺗﺒﺎط ﺷﻨﺎﺳﺎ‬
Real-world ‫ارﺗﻘﺎء‬
object ‫اﺷﻴﺎء ﺟﻬﺎن واﻗﻊ‬ Upgradibility
( ‫اﻃﻼع ﺟﻌﻠﻲ ) اﺿﺎﻓﻲ‬ Reference ‫ارﺟﺎع‬
Spurious
‫اﻃﻼع ﻧﻬﺴﺖ‬ Axiom ‫اﺻﻞ ﻣﻮﺿﻮﻋﻪ‬
Missing
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ 408

‫اﻳﺠﺎد‬ information
Development
‫اﻳﺠﺎد دﻳﺪ‬ Assertion ‫اﻇﻬﺎر‬
CREATE view
‫اﻳﺴﺘﮕﺎه ﻛﺎر‬ GRANT ‫اﻋﻄﺎء‬
Work station
‫اﻳﺴﺘﮕﺎه ﻛﺎري‬ Declarative ‫اﻋﻼﻧﻲ‬
Work station
‫اﻳﻤﻨﻲ‬ Value -based ‫اﻋﻤﺎل ﻗﻮاﻋﺪ اﻳﻤﻨﻲ ﻣﺒﺘﻨﻲ‬
Security security
Database constraint ‫ﺑﺮ ﻣﻘﺎدﻳﺮ‬
Protection ‫ﺣﻔﺎﻇﺖ ﭘﺎﻳﮕﺎهداده ﻫﺎ‬
Back office
‫ب‬ server ‫اﻓﺰارﮔﺎن ﭘﺸﺖ ﺻﺤﻨﻪ‬
‫ﺑﺎرﻛﺎري‬ Augmentation ‫اﻓﺰاﻳﺶ‬
Workload
‫ﺑﺎرﮔﺬاري‬ Upsizing ‫اﻓﺰاﻳﺶاﻧﺪازه‬
Load
‫ﺑﺎز ﺑﺎرﮔﺬاري‬ Left
Reload augmentation ‫اﻓﺰاﻳﺶ ﭼﭗ‬
Data marts ‫ﺑﺎزار داده ﻫﺎ‬ ( ‫اﻓﺰاﻳﺶ ﺳﺮﻋﺖ ) ﻛﺎراﻳﻲ‬
Speedup
Index rebuilding ‫ﺑﺎزﺳﺎزي ﺷﺎﺧﺺ‬ - ‫اﻓﺰاﻳﺶ ﻣﻘﻴﺎس ﻛﺎر‬
Data bank ‫ﺑﺎﻧﻚ داده ﻫﺎ‬ ‫ﮔﺴﺘﺮش ﭘﺬﻳﺮي‬
Scale up
Setup ‫ﺑﺮﭘﺎﻳﻲ‬ ‫اﻓﺰوﻧﮕﻲ‬
Redundancy
Selective setup ‫ﺑﺮﭘﺎﻳﻲ ﮔﺰﻳﻨﺸﻲ‬ Physical
redundancy ‫اﻓﺰوﻧﮕﻲ ﻓﻴﺰﻳﻜﻲ‬
On-line ( ‫ﺑﺮﺧﻂ ) ﭘﻴﻮﺳﺘﻪ‬
Conceptual
Vector ‫ﺑﺮدار‬ redundancy ‫اﻓﺰوﻧﮕﻲ ادراﻛﻲ‬
Application Data usage
Program (AP ) ‫ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي_ ﻛﺎرﺑﺮدار‬ pattern ‫اﻟﮕﻮي اﺳﺘﻔﺎده از داده ﻫﺎ‬

Closure ‫ﺑﺴﺘﺎر‬ Privilege ‫اﻣﺘﻴﺎز‬


Qualified Online ‫اﻣﻜﺎن ﭘﺮدازش ﺗﺤﻠﻴﻠﻲ ﺑﺮ‬
association ‫ﺑﺴﺘﻜﻲ ﻣﻘﻴﺪ‬ Analytical
‫ﺑﺴﺘﮕﻲ‬ Processing ‫ﺧﻂ‬
Association
Reflexive Database ‫اﻣﻜﺎن ﻣﺪﻳﺮﻳﺘﻲ ﺑﺮاي ﻣﺪﻳﺮ‬
association ‫ﺑﺴﺘﮕﻲ اﻧﻌﻜﺎﺳﻲ‬ administration
support ‫ﭘﺎﻳﮕﺎه‬
Bi-directional
association ‫ﺑﺴﺘﮕﻲ دو ﺳﻮﻳﻪ‬ ‫اﻣﻜﺎن ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻴﺎت‬
User usage
Unidirectional ‫ﻛﺎرﺑﺮان‬
‫ﺑﺴﺘﮕﻲ ﻳﻚ ﺳﻮﻳﻪ‬ monitoring
association
Abstractive ‫اﻧﺘﺰاﻋﻲ‬
Bound ‫ﺑﺴﺘﻪ‬
Relation
Deadlock ‫ﺑﻦ ﺑﺴﺖ‬ assignment ‫اﻧﺘﺴﺎب راﺑﻄﻪ‬

BOYCE ‫ﺑﻮﻳﺲ‬ Relational


assignment ‫اﻧﺘﺴﺎب راﺑﻄﻪاي‬
Self referencing ‫ﺑﻪ ﺧﻮد رﺟﻮع ﻛﻨﻨﺪه‬
Commutative ‫اﻧﺘﻘﺎل دﻫﻨﺪﮔﻲ‬
Logical design
refinement ‫ﺑﻬﺒﻮد ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ‬ Smart sizing ‫اﻧﺪازه ﺗﻨﻈﻴﻢ ﺷﻮﻧﺪه‬

Exploitation ‫ﺑﻬﺮه ﺑﺮداري‬ Lock


granularity ‫اﻧﺪازه واﺣﺪ ﻗﻔﻞ ﭘﺬﻳﺮ‬
Inter related ‫ﺑﻬﻢ ﻣﺮﺗﺒﻂ‬
Interaction ( ‫اﻧﺪرﻛﻨﺶ )ﺗﻌﺎﻣﻞ‬
In place
updating ‫ﺑﻬﻨﮕﺎم ﺳﺎزي در ﺟﺎ‬ Interactive ‫اﻧﺪرﻛﻨﺸﻲ‬

Differed update ‫ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﺎ ﺗﺎﺧﻴﺮ‬ Reflexivity ‫اﻧﻌﻜﺎس‬


www.PDFgozar.com

409 ‫ﻭﺍﮊﻩ ﻧﺎﻣﻪ ﻓﺎﺭﺳﻲ ﺑﻪ ﺍﻧﮕﻠﻴﺴﻲ‬

(C/S DB) ‫ﺧﺪﻣﺘﮕﺰار‬ Outplace


updating ‫ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﺮون از ﺟﺎ‬
Mobile DB ‫ﭘﺎﻳﮕﺎهداده ﻣﻮﺑﺎﻳﻞ‬
Immediate
‫ﭘﺎﻳﮕﺎهداده ﻣﻴﺰﺑﺎن‬ update ‫ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﻼﻓﺎﺻﻠﻪ‬
Host database
Queries
Web DB ‫ﭘﺎﻳﮕﺎهداده وب‬ ‫ﺑﻬﻨﮕﺎم ﺳﺎزي ﭘﺮﺳﺸﻬﺎ‬
optimization
‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺣﺎﻓﻈﻪ‬ ‫ﻣﻨﺘﺸﺮ‬ ‫ﺳﺎزي‬ ‫ﺑﻬﻨﮕﺎم‬
Main Memory Propagating
Database ‫اﺻﻠﻲ‬ ‫ﺷﻮﻧﺪه‬
update
Mobility and ‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺷﺨﺼﻲ‬ ‫ﺑﻬﻴﻨﻪ ﺳﺎز ﭘﺮﺳﺶ‬
personal Query optimizer
database ‫و ﻫﻤﺮاه‬ Rule based
optimizer ‫ﺑﻬﻴﻨﻪ ﺳﺎز ﻣﺒﺘﻨﻲ ﺑﺮ ﻗﺎﻋﺪه‬
‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﻛﻨﺘﺮل‬
Semantic
Heterogeneous ‫ﻧﺎﻫﻤﮕﻦ‬ ‫ﻫﺎي‬ ‫ﺳﻴﺴﺘﻢ‬ optimizer ‫ﺑﻬﻴﻨﻪ ﺳﺎز ﻣﻌﻨﺎﻳﻲ‬
parallel systems Query
control database ‫ﻣﻮازي‬ ‫ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮﺳﺶ‬
optimization
Centralized ‫ﺑﻲ ﺣﺸﻮ‬
database ‫ﭘﺎﻳﮕﺎه ﻣﺘﻤﺮﻛﺰ‬ No additive
‫ﭘﺪر ﻣﺠﺎزي‬ Non-loss
Virtual Parent (Lossless) ‫ﺑﻲ ﮔﻤﺸﺪﮔﻲ‬
Project ‫ﭘﺮﺗﻮ‬ Peak
performance ‫ﺑﻴﺸﺘﺮﻳﻦ ﻛﺎراﻳﻲ‬
Identity
projection ‫ﭘﺮﺗﻮ ﻫﻤﺎﻧﻲ‬ ‫پ‬
Parallel Horizontal
processing ‫ﭘﺮدازش ﻣﻮازي‬ ‫ﭘﺎرﺳﺎزي )ﺗﻘﻄﻴﻊ ( اﻓﻘﻲ‬
fragmentation
Query processor ‫ﭘﺮدازﺷﮕﺮ ﭘﺮﺳﺶ‬ Hybrid
fragmentation ‫ﭘﺎرﺳﺎزي ﺗﺮﻛﻴﺒﻲ‬
On Line ‫ﺗﺤﻠﻴﻠﻲ ﺑﺮ‬ ‫ﭘﺮدازﺷﻬﺎي‬
Analytic Vertical
‫ﺧﻂ‬ fragmentation ‫ﭘﺎرﺳﺎزي ﻋﻤﻮدي‬
Processing
‫ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻓﺮم‬ Persistent ‫ﭘﺎﻳﺎ‬
Query By Form
Query By Database ‫ﭘﺎﻳﮕﺎهداده‬
Example (QBE) ‫ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻣﺜﺎل‬
Large Database ‫ﭘﺎﻳﮕﺎهداده ﺑﺰرگ‬
Outer query ‫ﭘﺮﺳﺶ ﺑﻴﺮوﻧﻲ‬
Local database ‫ﭘﺎﻳﮕﺎهداده ﻣﺤﻠﻲ‬
Complex query ‫ﭘﺮﺳﺶ ﭘﻴﭽﻴﺪه‬
Deductive
‫ﭘﺮﺳﺶ ﺗﻚ ﺳﻄﺤﻲ‬ database ‫ﭘﺎﻳﮕﺎهداده اﺳﺘﻨﺘﺎﺟﻲ‬
One level query
‫ﭘﺮﺳﺶ ﺗﻮ در ﺗﻮ‬ Real-time
Nested query DBMS ‫ﭘﺎﻳﮕﺎهداده ﺑﻲ درﻧﮓ‬
Inner query ‫ﭘﺮﺳﺶ دروﻧﻲ‬ ‫ﭘﺎﻳﮕﺎهداده ﺗﻮزﻳﻊ ﺷﺪه‬
‫ﭘﺮﺳﺶ ﻃﻴﻔﻲ‬ Distributed
Range query Database (DDB) ( ‫)ﭘﺮاﻛﻨﺪه‬
Subquery ‫ﭘﺮﺳﺶ ﻓﺮﻋﻲ‬ Tabular
Database ‫ﭘﺎﻳﮕﺎهداده ﺟﺪوﻟﻲ‬
Set-oriented
query ‫ﭘﺮﺳﺶ ﻣﺠﻤﻮﻋﻪ اي‬ Very Large
Database ‫ﭘﺎﻳﮕﺎهداده ﺧﻴﻠﻲ ﺑﺰرگ‬
Research-
Development Temporal
‫ﺗﻮﺳﻌﻪ‬-‫ﭘﮋوﻫﺶ‬ database ‫ﭘﺎﻳﮕﺎهداده زﻣﺎﻧﻤﻨﺪ‬
(RD)
‫ﭘﺴﺎ‬ Hierarchical
Back-end Database (HDB) ‫ﭘﺎﻳﮕﺎهداده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬
Post relational ‫ﭘﺴﺎ راﺑﻄﻪاي‬ Client / Server
Database -‫ﻣﺸﺘﺮي‬ ‫ﭘﺎﻳﮕﺎهداده‬
Backup ‫ﭘﺸﺘﻴﺒﺎن‬
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ 410

Application ‫ﻫﺎي‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺗﺒﺪﻳﻞ‬ Decision


Program support ‫ﭘﺸﺘﻴﺒﺎﻧﻲ ﺗﺼﻤﻴﻢ‬
conversion ‫ﻛﺎرﺑﺮدي‬
Bridge ‫ﭘﻞ‬
Data conversion
Cover ‫ﭘﻮش‬
and data
transfer ‫ﺗﺒﺪﻳﻞ و اﻧﺘﻘﺎل داده ﻫﺎ‬ ‫ﭘﻮش ﻛﺎﻧﻮﻧﻴﻚ‬
Canonical cover
Commit ‫ﺗﺜﺒﻴﺖ‬ SQL‫ﭘﻮﻳﺎ‬
Dynamic SQL
Decomposition ‫ﺗﺠﺰﻳﻪ‬ ‫ﭘﻴﺎده ﺳﺎزي‬
Implementation
Horizontal
‫ﺗﺠﺰﻳﻪ اﻓﻘﻲ‬ Complex (‫ﭘﻴﭽﻴﺪه ) ﻣﺨﺘﻠﻂ‬
decomposition
Lost Pre-relational ‫ﭘﻴﺶ راﺑﻄﻪاي‬
decomposition ‫ﺗﺠﺰﻳﻪ ﺑﺎ ﺣﺬف‬
Precompiled ‫ﭘﻴﺶ ﻛﺎﻣﭙﺎﻳﻠﺮ‬
FD' s preserving
decomposition ‫ﺗﺠﺰﻳﻪ ﺣﺎﻓﻆ واﺑﺴﺘﮕﻴﻬﺎ‬ ‫ﭘﻴﺸﺎ‬
Front-end
Vertical ( ‫ﭘﻴﻜﺮ ) ﺑﺪﻧﻪ‬
decomposition ‫ﺗﺠﺰﻳﻪ ﻋﻤﻮدي‬ Body
‫ﺗﺠﺰﻳﻪ ﻧﺎﭘﺬﻳﺮي‬ Configuration ‫ﭘﻴﻜﺮﺑﻨﺪي‬
Atomicity
‫ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ‬ Device
Atomic configuration ‫ﭘﻴﻜﺮﺑﻨﺪي رﺳﺎﻧﻪ‬
Aggregation ‫ﺗﺠﻤﻊ‬ ‫ﭘﻴﻮﻧﺪ‬
Join
Restrict ‫ﮔﺰﻳﻨﺶ‬-‫ﺗﺤﺪﻳﺪ‬ ‫ﭘﻴﻮﻧﺪ‬
Link
/ ‫ﺗﺤﻠﻴﻞ ﺑﺮآورد ﻫﺰﻳﻨﻪ‬ Greater then
Cost-benefit Join ‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﺑﺰرﮔﺘﺮ‬
analysis ‫ﻣﺰاﻳﺎ‬
Equi-Join ‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﺗﺴﺎوي‬
Functional
analysis ‫ﺗﺤﻠﻴﻞ ﻋﻤﻠﻜﺮدي‬ ‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﻋﺪم‬
Fault tolerance ‫ﺗﺤﻤﻞ ﺧﺮاﺑﻲ‬ ‫ﺗﺴﺎوي‬
Not-Equi-Join
Specialization ‫ﺗﺨﺼﻴﺺ‬ ‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﻛﻮﭼﻜﺘﺮ‬
Less than Join
Continuous ‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﻣﺴﺎوي ﻳﺎ‬
operation ‫ﺗﺪاوم ﻋﻤﻠﻴﺎت‬
Greater then or
‫ﺗﺮاﻛﻨﺶ‬ Equal ‫ﺑﺰرﮔﺘﺮ‬
Transaction
‫ﺗﺮاﮔﺬاري‬ ‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﻣﺴﺎوي ﻳﺎ‬
Transitive Less than or
‫ﺗﺮﻛﻴﺐ‬ Equal Join ‫ﻛﻮﭼﻜﺘﺮ‬
Composition
‫ﺗﺮﻣﻴﻢ‬ Connector ‫ﭘﻴﻮﻧﺪ دﻫﻨﺪه‬
Recovery
‫ﺗﺴﻠﺴﻠﻲ‬ Loosly coupled ‫ﭘﻴﻮﻧﺪ ﺳﺴﺖ‬
Cascade
‫ﺗﺴﻬﻴﻞ ﺑﺮاي ردﮔﻴﺮي‬ Cross join ‫ﭘﻴﻮﻧﺪ ﺿﺮب‬
Trace facility
‫ﺗﺴﻬﻴﻼت‬ Natural Join
(NJ) ‫ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ‬
Software
facilities (tools) (‫ﻧﺮماﻓﺰاري)اﺑﺰارﻫﺎ‬ ‫ﭘﻴﻮﻧﺪ ﻗﻮي‬
Tightly coupled
Decision ‫ت‬
making ‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي‬
‫ﺗﻌﺎﻣﻞ‬ Dependency
Interoperability theory ‫ﺗﺌﻮري واﺑﺴﺘﮕﻲ‬
Transitivity ‫ﺗﻌﺪي‬ Aggregate
function ‫ﺗﺎﺑﻊ ﺟﻤﻌﻲ ﻳﺎ ﮔﺮوﻫﻲ‬
Data Definition ‫ﺗﻌﺮﻳﻒ داده‬
Libraey
‫ﺗﻮﺳﻂ‬ ‫ﺷﺪه‬ ‫ﺗﻌﺮﻳﻒ‬ function ‫ﺗﺎﺑﻊ ﻛﺘﺎﺑﺨﺎﻧﻪ اي‬
User defined
www.PDFgozar.com

411 ‫ﻭﺍﮊﻩ ﻧﺎﻣﻪ ﻓﺎﺭﺳﻲ ﺑﻪ ﺍﻧﮕﻠﻴﺴﻲ‬

Logical ‫ﻛﺎرﺑﺮ‬
sequence ‫ﺗﻮاﻟﻲ ﻣﻨﻄﻘﻲ‬
System defined ‫ﺗﻌﺮﻳﻒ ﺷﺪه در ﺳﻴﺴﺘﻢ‬
Throughput ‫ﺗﻮان ﻋﻤﻠﻴﺎﺗﻲ‬
Schema
Network ‫ﺗﻌﺮﻳﻒ ﺷﻤﺎ‬
‫ﺗﻮﭘﻮﻟﻮژي ﺷﺒﻜﻪ‬ definition
topology
Undefined ‫ﺗﻌﺮﻳﻒ ﻧﺸﺪه‬
Bags ‫ﺗﻮده‬
Generalization ‫ﺗﻌﻤﻴﻢ‬
Distributed ‫ﺗﻮزﻳﻊ ﺷﺪه‬
Restricted (‫ﺗﻌﻮﻳﻘﻲ )ﻣﺸﺮوط‬
Descriptive ‫ﺗﻮﺻﻴﻔﻲ‬
Query
‫ج‬ modification ‫ﺗﻐﻴﻴﺮ ﭘﺮﺳﺶ‬
‫ﺟﺎﺑﺠﺎﻳﻲ ﭘﺬﻳﺮي‬ Request
Portability ‫ﺗﻐﻴﻴﺮ درﺧﻮاﺳﺖ‬
modification
Integrity ‫ﺟﺎﻣﻌﻴﺖ‬
Schema
Transaction evolution ‫ﺗﻐﻴﻴﺮ ﺷﻤﺎ‬
integrity ‫ﺟﺎﻣﻌﻴﺖ ﺗﺮاﻛﻨﺶ‬
Interpretation ‫ﺗﻔﺴﻴﺮ‬
Java-script ‫ﺟﺎوا اﺳﻜﺮﻳﭙﺖ‬
Closed World
‫ﺟﺎﻳﺪﻫﻲ داده‬ interpretation ‫ﺗﻔﺴﻴﺮ ﺟﻬﺎن ﺑﺴﺘﻪ‬
Data placement
Relational Divide ‫ﺗﻘﺴﻴﻢ‬
algebra ‫ﺟﺒﺮ راﺑﻄﻪاي‬
Mono- server ‫ﺗﻚ ﺧﺪﻣﺘﮕﺰار‬
Isolation (‫ﺟﺪاﻳﻲ )اﻧﻔﺮاد‬
Monadic ‫ﺗﻚ ﻋﻤﻠﻮﻧﺪي‬
Lookup table ‫ﺟﺪول ﺟﺴﺘﺠﻮ‬
Single user
‫ﺟﺪول ﻛﺎري‬ (Personal) ‫ﺗﻚ ﻛﺎرﺑﺮي‬
Working table
Persistent Single-valued ‫ﺗﻚ ﻣﻘﺪاري‬
(Permanent) ‫ﺗﻚ ﻣﻨﻈﻮره‬
‫ﺟﺪول ﻣﺎﻧﺪﮔﺎر‬ Special purpose
table
Information
Base Table (‫ﺟﺪول ﻣﺒﻨﺎ)ﭘﺎﻳﻪ‬ ‫ﺗﻜﻨﻮﻟﻮژي اﻃﻼﻋﺎت‬
Technology (IT)
Virtual table ‫ﺟﺪول ﻣﺠﺎزي‬ Virtual Parent
Child Link VPCL ‫ﺗﻜﻨﻴﻚ‬
Temporary
table ‫ﺟﺪول ﻣﻮﻗﺖ‬ (‫ﺗﻜﻨﻴﻚ ﺗﺎﻳﻴﺪ )ﺗﺼﺪﻳﻖ‬
Certification
Islands of ‫ﺗﻜﻨﻴﻚ ﭼﻨﺪ ﻧﺴﺨﻪ ﺳﺎزي‬
‫ﺟﺰاﻳﺮ اﻃﻼﻋﺎﺗﻲ‬ Multiversioning
information
Timestamping ‫ﺗﻜﻨﻴﻚ زﻣﺎﻧﻤﻬﺮ‬
Partial ‫ﺟﺰﻳﻲ‬
Locking
IS-A PART-OF ...‫ﺟﺰﻳﻲ اﺳﺖ از‬ ‫ﺗﻜﻨﻴﻚ ﻗﻔﻞ ﮔﺬاري‬
technique
Attribute ‫ﺗﻜﻨﻴﻚ ﻗﻔﻞ ﮔﺬاري دو‬
features ‫ﺟﻨﺒﻪ ﻫﺎي ﺻﻔﺖ‬ Two Phase
Locking (2PL) ‫ﻣﺮﺣﻠﻪ اي‬
Closed World ‫ﺟﻬﺎن ﺑﺴﺘﻪ‬
Object
‫ﺟﻬﺎن ﺗﺎزه )ﺷﺒﻜﻪ ﺟﻬﺎﻧﻲ‬
World Wide Modeling
(‫اﻃﻼع رﺳﺎﻧﻲ‬ Technique ‫ﺗﻜﻨﻴﻚ ﻣﺪﻟﺴﺎزي ﺷﻴﺊ‬
Web (W W W )
Universe of Piece ‫ﺗﻜﻪ‬
Discourse ‫ﺟﻬﺎن ﻣﻮرد ﻧﻈﺮ‬
ALL-Key ‫ﺗﻤﺎم ﻛﻠﻴﺪ‬
Real world ‫ﺟﻬﺎن واﻗﻊ‬
Database
‫چ‬ tuning ‫ﺗﻨﻈﻴﻢ ﭘﺎﻳﮕﺎهداده ﻫﺎ‬

‫ﭼﺎرت ﮔﺎﻧﺖ‬ Buttleneck ‫ﺗﻨﮕﻨﺎ‬


Gantt chart
‫ﭼﻤﺒﺮﻟﻴﻦ‬ Serializable ‫ﺗﻮاﻟﻲ ﭘﺬﻳﺮ‬
CHEMBERLIN
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ 412

‫ﻣﻮﺑﺎﻳﻞ‬ CHEN ‫ﭼﻦ‬

Host server ‫ﺧﺪﻣﺘﮕﺰار ﻣﻴﺰﺑﺎن‬ Many to many ‫ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ‬

News server ‫ﺧﺪﻣﺘﮕﺰار اﺧﺒﺎر‬ Multi database ‫ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‬

Database server ‫ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎهداده ﻫﺎ‬ Multi query ‫ﭼﻨﺪ ﭘﺮﺳﺸﻲ‬

Query server ‫ﺧﺪﻣﺘﮕﺰار ﭘﺮﺳﺶ‬ Multi ring ‫ﭼﻨﺪ ﺣﻠﻘﻪ اي‬

Message server ‫ﺧﺪﻣﺘﮕﺰار ﭘﻴﺎم‬ Multi-server ‫ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار‬


Transaction ‫ﭼﻨﺪ رﺳﺎﻧﻪ اي‬
‫ﺧﺪﻣﺘﮕﺰار ﺗﺮاﻛﻨﺸﻬﺎ‬ Multi- media
server
Multi user ‫ﭼﻨﺪ ﻛﺎرﺑﺮي‬
Printer server ‫ﺧﺪﻣﺘﮕﺰار ﭼﺎپ‬
Multi set ‫ﭼﻨﺪ ﻣﺠﻤﻮﻋﻪ‬
File server ‫ﺧﺪﻣﺘﮕﺰار ﻓﺎﻳﻞ‬
Multi- Client /
Document
‫ﺧﺪﻣﺘﮕﺰار ﻣﺪارك و اﺳﻨﺎد‬ Multi- ‫ﭼﻨﺪ‬ -‫ﻣﺸﺘﺮي‬ ‫ﭼﻨﺪ‬
server
Server(MC /
Micro real ‫ﺧﺪﻣﺘﮕﺰار‬
‫ﺧﺮد ﺟﻬﺎن واﻗﻊ‬ MS)
world
‫ﻳﻚ‬ -‫ﻣﺸﺘﺮي‬ ‫ﭼﻨﺪ‬
Location Multi- Client /
anatomy ‫ﺧﻮد ﻣﺨﺘﺎري ﻣﺤﻠﻲ‬ ‫ﺧﺪﻣﺘﮕﺰار‬
Server(MC /S)
Self dependency ‫ﺧﻮد واﺑﺴﺘﮕﻲ‬ ‫ﭼﻨﺪ ﻣﻘﺪاري‬
Multi valued
Clustering ‫ﺧﻮﺷﻪ واري‬ ‫ﭼﻨﺪي‬
Multiplicity
‫د‬ ‫ﭼﻨﺪي ﻧﻤﺎ‬
Quantifier
Dynamic data ‫داده ﭘﻮﻳﺎ‬ ‫ح‬
Test data ‫داده ﺗﺴﺘﻲ‬ Attribute
preserving ‫ﺣﺎﻓﻈﻪ ﺻﻔﺎت‬
Data keeping-
data processing ‫ داده ﭘﺮدازي‬-‫داده داري‬ ‫ﺣﺎﻓﻈﻪ ﻧﻬﺎن‬
Cache memory
Stored data ‫داده ذﺧﻴﺮه ﺷﺪه‬ ‫ﺣﺎﻟﺖ راﺑﻄﻪ‬
Relation state
Data
‫داده رﺳﺎﻧﻲ‬ DROP view ‫ﺣﺬف دﻳﺪ‬
Communication
‫داده زﻣﺎﻧﻤﻨﺪ‬ Tuple oriented ‫ﺣﺴﺎب ﺗﺎﭘﻠﻲ‬
Temporal data
‫داده ﺷﻨﺎﺳﺎﻧﻪ‬ Relational
Data logical calculus ‫ﺣﺴﺎب راﺑﻄﻪاي‬
Hidden data ‫داده ﻧﻬﺎن‬ Domain
oriented ‫ﺣﺴﺎب ﻣﻴﺪاﻧﻲ‬
Missing data ‫داده ﻧﻬﺴﺖ‬
Protection ‫ﺣﻔﺎﻇﺖ‬
Key preserving ‫داراي ﻛﻠﻴﺪ‬
Access right ‫ﺣﻘﻮق دﺳﺘﻴﺎﺑﻲ‬
Loop trap ‫دام ﺣﻠﻘﻪ اي‬
Reference cycle ‫ﺣﻠﻘﻪ ارﺟﺎع‬
Chasm trap ‫دام ﺷﻜﺎف‬
Spatial and ‫ﺣﻴﻄﻪ ﻫﺎي ﻓﻀﺎﻳﻲ و‬
Fan trap ‫ﭼﻨﺪي‬-‫دام ﻳﻚ‬ geographic
Connection database system ‫ﺟﻐﺮاﻓﻴﺎﻳﻲ‬
traps ‫داﻣﻬﺎي ﭘﻴﻮﻧﺪي‬
‫خ‬
Determinant ‫دﺗﺮﻣﻴﻨﺎن‬ External /
External ‫ ﺧﺎرﺟﻲ‬/ ‫ﺧﺎرﺟﻲ‬
Degree ‫درﺟﻪ‬
Data Unload ‫ﺧﺎﻟﻲ ﻛﺮدن‬
accessibility ‫دﺳﺘﺮﺳﻲ)ﺑﻬﺘﺮ ( ﺑﻪ داده‬ Mobile database
server ‫ﺧﺪﻣﺎت ﭘﺎﻳﮕﺎهداده ﻫﺎي‬
Data ‫دﺳﺘﻮر ﻋﻤﻠﻴﺎت در داده‬
www.PDFgozar.com

413 ‫ﻭﺍﮊﻩ ﻧﺎﻣﻪ ﻓﺎﺭﺳﻲ ﺑﻪ ﺍﻧﮕﻠﻴﺴﻲ‬

Active Manipulation
dictionary ‫دﻳﻜﺸﻨﺮي ﻓﻌﺎل‬ Language
‫ذ‬ Data Definition
Language ‫دﺳﺘﻮرات ﺗﻌﺮﻳﻒ داده ﻫﺎ‬
Intrinsic ‫ذاﺗﻲ‬
Data ‫دﺳﺘﻮرات ﻋﻤﻠﻴﺎت روي‬
Stored data ‫ذﺧﻴﺮه ﺷﺪه‬ Manipulation
Language ‫داده ﻫﺎ‬
Information
Storage and Data Control
‫ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت‬ Language ‫دﺳﺘﻮرات ﻛﻨﺘﺮل داده ﻫﺎ‬
Retrieval (ISR)
‫ر‬ Prescriptive ‫دﺳﺘﻮري‬

‫راﺑﻄﻪ‬ Category ‫دﺳﺘﻪ‬


Intension
Intermediate Categorization ‫دﺳﺘﻪ ﺑﻨﺪي‬
relation ‫راﺑﻄﻪ ﺑﻴﻨﺎﺑﻴﻨﻲ‬
Remote data
‫راﺑﻄﻪ ﺗﻮدر ﺗﻮ‬ access ‫دﺳﺘﻴﺎﺑﻲ از دور ﺑﻪ داده ﻫﺎ‬
Nested relation
Well designed ‫دﺳﺘﻴﺎﺑﻲ ﺑﻪ داده ﻫﺎي‬
‫راﺑﻄﻪ ﺧﻮش ﻃﺮح‬ Remote data
relation ‫دوردﺳﺖ‬
access
Stored relation ‫راﺑﻄﻪ ذﺧﻴﺮه ﺷﺪه‬
Accessibility ‫دﺳﺘﻴﺎﺑﻲ ﺑﻬﺘﺮ‬
Expression
‫راﺑﻄﻪ ﻋﺒﺎرﺗﻲ‬ Multiple-user
relation ‫دﺳﺘﻴﺎﺑﻲ ﭼﻨﺪ ﻛﺎرﺑﺮدي‬
access
Universal
relation ‫راﺑﻄﻪ ﻋﻤﻮﻣﻲ‬ Mobile office ‫دﻓﺘﺮ ﻛﺎر ﻫﻤﺮاه‬
Not Normal ‫دﻗﺖ‬
Accuracy
relation (NNR:
‫راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل‬ Renaming ‫دﮔﺮﻧﺎﻣﻲ‬
N2R)
‫راﺑﻄﻪ ﻣﺒﻨﺎ‬ 2-
Base relation ‫دو راﺑﻄﻪ‬
Decomposable
Derived
‫راﺑﻄﻪ ﻣﺸﺘﻖ‬ Two-tier ‫دو ردﻳﻔﻲ‬
relation
‫راﺑﻄﻪ ﻧﺎﻣﺪار‬ Bi- structure ‫دو ﺳﺎﺧﺘﺎره‬
Named relation
‫راﺑﻄﻪ ﻧﺘﻴﺠﻪ‬ Dyadic ‫دو ﻋﻤﻠﻮﻧﺪي‬
Result relation
Normal C.J.DATE ‫دﻳﺖ‬
relation ‫راﺑﻄﻪ ﻧﺮﻣﺎل‬
Data logical ‫دﻳﺘﺎﻟﻮگ‬
Referencing ‫رﺟﻮع ﻛﻨﻨﺪه‬
Conceptual
‫رده‬ view ‫دﻳﺪ ادراﻛﻲ‬
Class
‫رده ﺑﻨﺪي‬ ‫دﻳﺪ ﺑﻪ ﻋﻴﻨﻴﺖ در آﻣﺪه‬
Classification Materialized
Database view (‫)ﺳﺎﺧﺘﻪ ﺷﺪه‬
growth ‫رﺷﺪ ﭘﺎﻳﮕﺎهداده‬
External view ‫دﻳﺪ ﺧﺎرﺟﻲ‬
Grow and
shrink ‫رﺷﺪ و ﻛﺎﻫﺶ‬ ‫دﻳﺪ داﺧﻠﻲ‬
Internal view
Object behavior ‫رﻓﺘﺎر ﺷﻴﺊ‬ ‫دﻳﺪ روي دﻳﺪ‬
View on view
Behavioral ‫رﻓﺘﺎري‬ ‫دﻳﺪ ﻣﻮﻗﺖ‬
Temporary view
Flat Linear Database
record ‫رﻛﻮرد ﺧﻄﻲ ﻣﺴﻄﺢ‬ ‫دﻳﺪﮔﺎه ﭘﺎﻳﮕﺎﻫﻲ‬
perspective
Dummy record ‫رﻛﻮرد ﺳﺎﺧﺘﮕﻲ‬ Application
perspective ‫دﻳﺪﮔﺎه ﻛﺎرﺑﺮدي‬
Structured
record ‫رﻛﻮرد ﺳﺎﺧﺘﻤﻨﺪ‬ Passive
dictionary ‫دﻳﻜﺸﻨﺮي ﻏﻴﺮ ﻓﻌﺎل‬
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ 414

Constraint Enhanced
specification (Extended) ER EER ‫روش‬
language ‫زﺑﺎن ﺗﻮﺻﻴﻒ ﻣﺤﺪودﻳﺖ‬ Top-down
Data Sub design method ‫روش ﺑﺎﻻ ﺑﻪ ﭘﺎﻳﻴﻦ‬
Language ‫زﺑﺎن داده اي ﻓﺮﻋﻲ‬ Mixed design
Network method ‫روش ﺗﺮﻛﻴﺒﻲ‬
Database Relational
Language ‫زﺑﺎن ﺳﻴﺴﺘﻢ ﺷﺒﻜﻪ اي‬ synthesis ‫روش ﺳﻨﺘﺰ راﺑﻄﻪاي‬
Object Oriented Event
journaling ‫روﻳﺪاد ﻧﮕﺎري‬
Language(OOL) ‫زﺑﺎن ﺷﻴﺊ ﮔﺮا‬
Procedure ‫روﻳﻪ‬
Universal
Procedural ‫روﻳﻪ اي‬
Modeling
Language Responding
‫زﺑﺎن ﻋﻤﻮﻣﻲ ﻣﺪل ﺳﺎزي‬ procedure ‫روﻳﻪ ﭘﺎﺳﺨﮕﻮ‬
(UML)
‫زﺑﺎن ﻣﻴﺰﺑﺎن‬ Stored
Host Language ‫روﻳﻪ ذﺧﻴﺮه ﺷﺪه‬
procedure
4GL ‫زﺑﺎن ﻧﺴﻞ ﭼﻬﺎرم‬ Documented
procedure ‫روﻳﻪ ﻣﺴﺘﻨﺪ‬
Super table ‫زﺑﺮ ﺟﺪول‬
Trigger (‫رﻫﺎﻧﺎ )راهاﻧﺪاز‬
Super type ‫زﺑﺮ رده‬
Super entity ‫ز‬
type ‫زﺑﺮ ﻧﻮع‬
Virtual relation ‫زاﺑﻄﻪ ﻣﺠﺎزي‬
peak time ‫زﻣﺎن اوج‬
ZANIOLO ‫زاﻧﻴﻮﻟﻮ‬
Response time ‫زﻣﺎن ﭘﺎﺳﺨﺪﻫﻲ‬ Programming
Language (PL) ‫زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬
Temporal ‫زﻣﺎﻧﻤﻨﺪ‬
Structured
Sub table ‫زﻳﺮ ﺟﺪول‬
Query Language
‫زﻳﺮ رده‬ (SQL) SQL ‫زﺑﺎن‬
Subtype
Logic
Subtype ‫زﻳﺮ ﻧﻮع‬
programming
‫زﻳﺮ ﻧﻮع ﻣﺸﺘﺮك‬ Language ‫زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻣﻨﻄﻖ‬
Shared entity
‫زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬ Database
Sub entity type Language ‫زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ‬
‫س‬ Object
Abstractive Oriented
construct ‫ﺳﺎﺧﺖ اﻧﺘﺰاﻋﻲ‬ Database
Language ‫زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ ﺷﻴﺊ ﮔﺮا‬
Logical
construct ‫ﺳﺎﺧﺖ ﻣﻨﻄﻘﻲ‬ ‫زﺑﺎن ﭘﺮﺳﺶ‬
Query Language
Data Structure ‫ﺳﺎﺧﺘﺎر داده اي‬ Nested ‫زﺑﺎن ﭘﺮﺳﺶ ﺑﺎ راﺑﻄﻪ ﻏﻴﺮ‬
Tabular Data relational
‫ﺳﺎﺧﺘﺎر داده اي ﺟﺪوﻟﻲ‬ Query language ‫ﻧﺮﻣﺎل‬
Structure (TDS)
Relational Data Object Query
Structure ‫ﺳﺎﺧﺘﺎر داده اي ارﺗﺒﺎﻃﻲ‬
Language(OQL) ‫زﺑﺎن ﭘﺮﺳﺶ ﺷﻴﺊ ﮔﺮا‬
Box data
structure ‫ﺳﺎﺧﺘﺎر داده اي ﺟﻌﺒﻪ اي‬ View Definition
Language (‫زﺑﺎن ﺗﻌﺮﻳﻒ دﻳﺪ‬
‫ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ‬
Hierarchical Storage ‫ذﺧﻴﺮه‬ ‫ﺗﻌﺮﻳﻒ‬ ‫زﺑﺎن‬
Data Structure ‫ﻣﺮاﺗﺒﻲ‬ Definition
Language ‫ﺳﺎزي‬
Network Data
Structure (NDS) ‫ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي‬
www.PDFgozar.com

415 ‫ﻭﺍﮊﻩ ﻧﺎﻣﻪ ﻓﺎﺭﺳﻲ ﺑﻪ ﺍﻧﮕﻠﻴﺴﻲ‬

Executive ‫ﺳﺎﺧﺘﺎر داده اي ﻟﻴﺴﺘﻬﺎي‬


Information Inverted list
‫ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎت اﺟﺮاﻳﻲ‬ data structure ‫وارون‬
System (EIS)
Very large Hyper graph ‫اي‬ ‫داده‬ ‫ﺳﺎﺧﺘﺎر‬
distributed ‫ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎت ﺗﻮزﻳﻊ‬ Database
Structure ‫ﻫﺎﻳﭙﺮﮔﺮاﻓﻲ‬
information
system ‫ﺷﺪه ﺑﺴﻴﺎر‬ ‫ﺳﺎﺧﺘﺎري‬
Structural
Information
‫ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎﺗﻲ‬ Constructor ‫ﺳﺎﺧﺘﮕﺮ‬
System (IS)
Very large Structured ‫ﺳﺎﺧﺘﻤﻨﺪ‬
information ‫ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎﺗﻲ ﺑﺴﻴﺎر‬ Data
integrated materialization ‫ﺳﺎﺧﺘﻦ داده‬
system ‫ﺑﺰرگ‬
Indirect
Data materialization ‫ﺳﺎﺧﺘﻦ ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ‬
Warehousing ‫ﺳﻴﺴﺘﻢ اﻧﺒﺎرش داده ﻫﺎ‬
Direct
‫ﺳﻴﺴﺘﻢ ﺑﺎ اﻣﻜﺎن دﺳﺘﻴﺎﺑﻲ‬ materialization ‫ﺳﺎﺧﺘﻦ ﻣﺴﺘﻘﻴﻢ‬
Remote Data
‫ﺑﻪ داده ﻫﺎ از دور‬ Single ‫ﺳﺎده‬
Access System
‫ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهداده اي ﺑﺎ‬ Type
compatible ‫ﺳﺎزﮔﺎر ﻧﻮع‬
Mobile database
system ‫ﻣﻌﻤﺎري‬ ‫ﺳﺎزﮔﺎري‬
Consistency
World Wide ‫در‬ ‫ﭘﺎﻳﮕﺎهداده‬ ‫ﺳﻴﺴﺘﻢ‬ Transaction
Web Database ‫اﻃﻼع‬ ‫ﺟﻬﺎﻧﻲ‬ ‫ﺷﺒﻜﻪ‬ Processing
system (WWW- Performance
DB) ‫رﺳﺎﻧﻲ‬ Council (TPC) TPC ‫ﺳﺎزﻣﺎن‬
Mobile database ‫ﺳﺎزﻧﺪ‬
‫ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻬﺎي ﻫﻤﺮاه‬ Component
system
Heading ‫ﺳﺮ آﻳﻨﺪ‬
Multi- ‫ﺳﻴﺴﺘﻢ ﭘﺮدازش ﺗﺤﻠﻴﻠﻲ‬
Dimensional Asset ‫ﺳﺮﻣﺎﻳﻪ‬
OLAR ‫ﺑﺮﺧﻂ‬
Conceptual
Decision level ( ‫ﺳﻄﺢ ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ‬
Support System ‫ﺳﻴﺴﺘﻢ ﭘﺸﺘﻴﺒﺎن ﺗﺼﻤﻴﻢ‬
External level ‫ﺳﻄﺢ ﺧﺎرﺟﻲ‬
Integrated
system (‫ﺳﻴﺴﺘﻢ ﺟﺎﻣﻌﻪ )ﻳﻜﭙﺎرﭼﻪ‬ ‫ﺳﻄﺢ داﺧﻠﻲ‬
Internal level
Tabular system ‫ﺳﻴﺴﺘﻢ ﺟﺪوﻟﻲ‬ ‫ﺳﻨﺘﻲ‬
Conventional
‫ﺳﻴﺴﺘﻢ داده ﻛﺎوي ﭼﻨﺪ‬ Relation
Multimedia-data predicate ‫ﺳﻨﺪ ارﺗﺒﺎط‬
mining ‫رﺳﺎﻧﻪ اي‬
Existential ‫ﺳﻮر وﺟﻮدي‬
Fully relational
system ‫ﺳﻴﺴﺘﻢ راﺑﻄﻪاي ﺗﺎم‬ (‫ﺳﻮر ﻫﻤﮕﺎﻧﻲ )ﻋﻤﻮﻣﻲ‬
Universal
Minimal ‫ﺳﻪ ردﻳﻔﻲ‬
relational Three-tier
system ‫ﺳﻴﺴﺘﻢ راﺑﻄﻪاي ﺣﺪاﻗﻞ‬ Data mining
Complete and knowledge ‫داده ﻛﺎوي و‬ ‫ﺳﻴﺴﺘﻢ‬
relational discovery
‫ﺳﻴﺴﺘﻢ راﺑﻄﻪاي ﻛﺎﻣﻞ‬ system ‫ﻛﺸﻒ ﺷﻨﺎﺧﺖ‬
system
Fuzzy data Conference On
mining and Data System
knowledge ‫ﺳﻴﺴﺘﻢ ژوﻻي داده ﻛﺎوي‬ Language
(CODASYL) ‫ﺳﻴﺴﺘﻢ ﻛﻮداﺳﻴﻞ‬
discovery
system ‫و ﻛﺸﻒ داﻧﺶ‬ R ‫ﺳﻴﺴﺘﻢ‬
R-system
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ 416

‫ﺷﺎﻣﻞ اﺳﺖ‬ System


CONTAINS (‫ﺳﻴﺴﺘﻢ ﺳﺎز ) ﭘﻴﺎده ﺳﺎز‬
developer
Network ‫ﺷﺒﻜﻪ‬
Knowledge-
Pseudo based system ‫ﺳﻴﺴﺘﻢ ﺷﻨﺎﺧﺘﻲ‬
transitivity ‫ﺷﺒﻪ ﺗﻌﺪي‬
Filing System ‫ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ‬
Natural
language like ‫ﺷﺒﻪ زﺑﺎن ﻃﺒﻴﻌﻲ‬ Active DBMS ‫ﺳﻴﺴﺘﻢ ﻓﻌﺎل‬
View definition Active Database ‫ﺳﻴﺴﺘﻢ ﻓﻌﺎل ﻣﺪﻳﺮﻳﺖ‬
condition (s) ‫ﺷﺮط ﺗﻌﺮﻳﻒ داده‬ Management
Membership System ‫ﭘﺎﻳﮕﺎهداده‬
condition ‫ﺷﺮط ﻋﻀﻮﻳﺖ‬ Application
system ‫ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي‬
Participant ‫ﺷﺮﻛﺖ ﻛﻨﻨﺪه‬
Conventional
Schema ‫ﺷﻤﺎ‬ ‫ﺳﻴﺴﺘﻢ ﻣﺘﻌﺎرف‬
system
Conceptual Database ‫ﻣﺪﻳﺮﻳﺖ‬ ‫ﺳﻴﺴﺘﻢ‬
schema ‫ﺷﻤﺎي ادراﻛﻲ‬
Management
Global System (DBMS) ‫ﭘﺎﻳﮕﺎهداده ﻫﺎ‬
conceptual Real-time
schema ‫ﺷﻤﺎي ادراﻛﻲ ﺟﺎﻣﻊ‬
database ‫ﻣﺪﻳﺮﻳﺖ‬ ‫ﺳﻴﺴﺘﻢ‬
Local management
conceptual system ‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺑﻲ درﻧﮓ‬
schema ‫ﺷﻤﺎي ادراﻛﻲ ﻣﺤﻠﻲ‬
Relational
External schema ‫ﺷﻤﺎي ﺧﺎرﺟﻲ‬ Database ‫ﻣﺪﻳﺮﻳﺖ‬ ‫ﺳﻴﺴﺘﻢ‬
Management
Internal schema ‫ﺷﻤﺎي داﺧﻠﻲ‬ ‫ﭘﺎﻳﮕﺎهداده ﻫﺎي راﺑﻄﻪاي‬
System
Relation schema ‫ﺷﻤﺎي راﺑﻄﻪ‬ Object -
Relational ‫ﻣﺪﻳﺮﻳﺖ‬ ‫ﺳﻴﺴﺘﻢ‬
Containment ‫ﺷﻤﻮل‬
Database - ‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺷﻴﺊ‬
Identifying ‫ﺷﻨﺎﺳﺎي‬ Management
System ‫راﺑﻄﻪاي‬
‫ﺗﻌﺮﻳﻒ‬ ‫ﺑﺮاي‬ ‫ﺷﻨﺎﺳﻪ‬
Object Oriented
Module AuthID ‫ﻣﺎﺟﻮل‬ Database ‫ﻣﺪﻳﺮﻳﺖ‬ ‫ﺳﻴﺴﺘﻢ‬
Schema Management
‫ﺷﻨﺎﺳﻪ ﺗﻌﺮﻳﻒ ﺷﻤﺎ‬ System ‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺷﻴﺊ ﮔﺮا‬
AuthID
Current Universal ‫ﻣﺪﻳﺮﻳﺖ‬ ‫ﺳﻴﺴﺘﻢ‬
AuthID ‫ﺷﻨﺎﺳﻪ ﺟﺎري‬
Database ) ‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﻫﻤﮕﺎﻧﻲ‬
SQL-Session Management
AuthID SQL ‫ﺷﻨﺎﺳﻪ ﻛﺎر ﺑﺎ‬ (‫ﻋﻤﻮﻣﻲ‬
System
Authorization Knowledge
Identifier ‫ﺷﻨﺎﺳﻪ ﻣﺠﺎز ﺷﻤﺎري‬
Base ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه‬
Entity Identifier Management
(EID) ‫ﺷﻨﺎﺳﻪ ﻣﻮﺟﻮدﻳﺖ‬ ‫ﺷﻨﺎﺧﺖ‬
System (KBMS)
Intuitive ‫ﺷﻬﻮدي‬ Multi database ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭼﻨﺪ‬
‫ﺷﻴﺊ‬ management
Object system ‫ﭘﺎﻳﮕﺎﻫﻲ‬
Data-object ‫داده‬-‫ﺷﻴﺊ‬ Data
Active Data Management
‫ﺷﻴﺊ ﻫﺎي داده اي ﻓﻌﺎل‬ System (DMS) ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ داده ﻫﺎ‬
Objects (ADO)
‫ﺷﻴﻮه دﺳﺘﻴﺎﺑﻲ‬ Intelligent
Access Method system ‫ﺳﻴﺴﺘﻢ ﻫﻮﺷﻤﻨﺪ‬
‫ص‬
‫ش‬
www.PDFgozar.com

417 ‫ﻭﺍﮊﻩ ﻧﺎﻣﻪ ﻓﺎﺭﺳﻲ ﺑﻪ ﺍﻧﮕﻠﻴﺴﻲ‬

product ‫ﻳﺎﻓﺘﻪ‬ ‫ﺻﺤﺖ‬


Correcthness
‫ﮔﺰﻳﻨﺶ‬ ‫ﺿﺮﻳﺴﺐ‬ Data export ‫ﺻﺪور داده ﻫﺎ‬
Join selectivity
factor ‫ﻋﻤﻠﻜﺮد ﭘﻴﻮﻧﺪ‬ Attribute ‫ﺻﻔﺖ‬
‫ﺿﻌﻴﻒ‬ Descriptive
Weak ‫ﺻﻔﺖ ﺗﻮﺻﻴﻔﻲ‬
attribute
‫ط‬
Prime attribute ‫ﺻﻔﺖ ﻋﻤﺪه‬
Conceptual
design ‫ﻃﺮاﺣﻲ ادراﻛﻲ‬ Virtual attribute ‫ﺻﻔﺖ ﻣﺠﺎزي‬
Design by Calculated
analysis ‫ﻃﺮاﺣﻲ ﺑﺎ ﺗﺤﻠﻴﻞ‬ attribute ‫ﺻﻔﺖ ﻣﺤﺎﺳﺒﻪ ﺷﺪه‬
‫ﺗﻮﻟﻴﺪ ﺑﻪ ﻛﻤﻚ‬/‫ﻃﺮاﺣﻲ‬ Join attribute ‫ﺻﻔﺖ ﭘﻴﻮﻧﺪ‬
‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ Defining
CAD/CAM ‫ﺻﻔﺖ ﻣﻌﺮف‬
attribute
Clean design ‫ﻃﺮاﺣﻲ ﺑﻬﺘﺮ و واﺿﺢ‬
Page ‫ﺻﻔﺤﻪ‬
Physical design ‫ﻃﺮاﺣﻲ ﻓﻴﺰﻳﻜﻲ‬
Prenex form ‫ﺻﻮرت ﭘﻴﺸﻮﻧﺪي‬
Orthogonal
design ‫ﻃﺮاﺣﻲ ﻣﺘﻌﺎﻣﺪ‬ -‫ﺻﻮرت ﻧﺮﻣﺎل ﺑﺎﻳﺲ‬
Boyce-Codd
Logical design ‫ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ‬ Normal Form ‫ﻛﺎد‬
Non orthogonal Redundency ‫ﺑﻲ‬ ‫ﻧﺮﻣﺎل‬ ‫ﺻﻮرت‬
design ‫ﻃﺮاﺣﻲ ﻧﺎ ﻣﺘﻌﺎﻣﺪ‬ Free Normal
Form ‫اﻓﺰوﻧﮕﻲ‬
Execution plan ‫ﻃﺮح اﺟﺮا‬
Restriction - -‫ﺻﻮرت ﻧﺮﻣﺎل ﺗﺤﺪﻳﺪ‬
Serial schedule ‫ﻃﺮح اﺟﺮاي ﻣﺘﻮاﻟﻲ‬
Union Normal
Concurrent Form (RUNF) ‫اﺟﺘﻤﺎع‬
schedule ‫ﻃﺮح اﺟﺮاي ﻫﻤﺮوﻧﺪ‬
‫ﻛﺎﻣﻼ‬ ‫ﻧﺮﻣﺎل‬ ‫ﺻﻮرت‬
‫ﻃﺮد‬ Key-Complete
Abort ‫ﻛﻠﻴﺪ‬
Normal Form
Default length ‫ﻃﻮل ﭘﻴﺶ ﻧﻬﺎده‬
-‫ﺻﻮرت ﻧﺮﻣﺎل ﻣﻴﺪان‬
‫ع‬ Domain - Key
Normal Form ‫ﻛﻠﻴﺪي‬
Side effect ‫ﻋﺎرﺿﻪ ﺟﺎﻧﺒﻲ‬
Inclusion ‫ﺻﻮرت ﻧﺮﻣﺎل واﺑﺴﺘﮕﻲ‬
Relational Dependency
expression ‫ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪاي‬ ‫ﺷﻤﻮل‬
Normal Form
Safe expression ‫ﻋﺒﺎرت ﻣﻄﻤﺌﻦ‬ Fifth Normal
Form ‫ﺻﻮرت ﭘﻨﺠﻢ ﻧﺮﻣﺎل‬
Unsafe
expression ‫ﻋﺒﺎرت ﻧﺎﻣﻄﻤﺌﻦ‬ Fourth Normal
Form ‫ﺻﻮرت ﭼﻬﺎرم ﻧﺮﻣﺎل‬
No action ‫ﻋﺪم اﻗﺪام‬
Second Normal
‫ﻋﺪم ﺗﻘﺎرن‬ Form ‫ﺻﻮرت دوم ﻧﺮﻣﺎل‬
Asymmetry
‫ﻋﻀﻮ‬ Third Normal
Member Form ‫ﺻﻮرت ﺳﻮم ﻧﺮﻣﺎل‬
Operand ‫ﻋﻤﻠﻮﻧﺪ‬ First Normal
Form ‫ﺻﻮرت ﻧﺨﺴﺖ ﻧﺮﻣﺎل‬
Action ‫ﻋﻤﻠﻲ‬
Formal ‫ﺻﻮري‬
Functionally ‫ﻋﻤﻠﻴﺎﺗﻲ‬
‫ض‬
Manipulative ‫ﻋﻤﻠﻴﺎﺗﻲ‬
Anti semi join ‫ﺿﺪ ﻧﻴﻢ ﭘﻴﻮﻧﺪ‬
Fail ( Failure) (‫ﻋﻴﺐ )ﻧﻘﺺ‬
Extended
‫غ‬ Cartesian ‫ﺿﺮب ﻛﺎﺗﺰﻳﻦ ﮔﺴﺘﺮش‬
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ 418

theorem ‫ﻏﻴﺮ ﺻﻮري‬


Informal
Locking ‫ﻗﻔﻞ ﮔﺬاري‬ ‫ﻏﻴﺮ ﻗﺎﺑﻞ اﻋﻤﺎل‬
Inapplicable
‫و ﺗﻮﻟﻴﺪ‬ ‫ﻗﻔﻞ ﮔﺬاري‬ ‫ف‬
Locking/logging ‫ﻓﺎﻳﻠﻬﺎي ﺛﺒﺖ‬ ‫ﻓﺎﮔﻴﻦ‬
FAGIN
Rules ‫ﻗﻮاﻋﺪ‬ Transactions
Log Files ‫ﻓﺎﻳﻠﻬﺎي ﺛﺒﺖ ﺗﺮاﻛﻨﺸﻬﺎ‬
Inference rules ‫ﻗﻮاﻋﺪ اﺳﺘﻨﺘﺎج‬
Federated ‫ﻓﺪرال‬
Business rule ‫ﻗﻮاﻋﺪ ﺗﺠﺎري‬
Outer union ‫ﻓﺮا اﺟﺘﻤﺎع‬
Production
rules ‫ﻗﻮاﻋﺪ ﺗﻮﻟﻴﺪ‬ ‫ﻓﺮا ﭘﻴﻮﻧﺪ ﭼﭗ‬
Left outer join
Access rules ‫ﻗﻮاﻋﺪ دﺳﺘﻴﺎﺑﻲ‬ ‫ﻓﺮا ﭘﻴﻮﻧﺪ راﺳﺖ‬
Right outer join
-‫ﺷﺮط‬-‫روﻳﺪاد‬ ‫ﻗﻮاﻋﺪ‬ Full outer join
Event- condition ‫ﻓﺮا ﭘﻴﻮﻧﺪ ﻛﺎﻣﻞ‬
-action rules ‫اﻗﺪام‬
Remote call ‫ﻓﺮاﺧﻮان از دور‬
Semantic rule ‫ﻗﻮاﻋﺪ ﺳﻤﺎﻧﺘﻴﻚ‬
Clause (‫ﻓﺮاﻛﺮد )ﻛﻼز‬
Business rules ‫ﻗﻮاﻋﺪ ﻓﻌﺎﻟﻴﺘﻬﺎ‬
Virtual Child ‫ﻓﺮزﻧﺪ ﻣﺠﺎزي‬
User defined
rule ‫ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي‬ Well Formed
Formula ( WFF) ‫ﻓﺮﻣﻮل ﺧﻮش ﺳﺎﺧﺖ‬
Transparency
rules ‫ﻗﻮاﻋﺪ ﻧﺎﻣﺮﺋﻲ ﺑﻮدن‬ ‫ﻓﺮوﺷﻨﺪﮔﺎن ﺳﻴﺴﺘﻤﻬﺎ‬
DBMS vendors
Strong ‫ﻗﻮي‬ (‫ﻓﺰوﻧﻜﺎري )ﺑﻴﺸﻜﺎري‬
Overhead
Analogue ‫ﻗﻴﺎﺳﻲ‬ Data
compression ‫ﻓﺸﺮده ﺳﺎزي داده ﻫﺎ‬
Qualifier ‫ﻗﻴﺪ‬
Information
‫ك‬ space ‫ﻓﻀﺎي اﻃﻼﻋﺎﺗﻲ‬
‫ﻛﺎﺗﺎﻟﻮگ‬ Database space ‫ﻓﻀﺎي ﭘﺎﻳﮕﺎهداده‬
Catalogue
Global System Named data
‫ﻛﺎﺗﺎﻟﻮگ ﺟﺎﻣﻊ‬ items ‫ﻓﻘﺮه داده ﻧﺎﻣﺪار‬
Catalog (GSC )
‫ﻛﺎد‬ Root only ‫ﻓﻘﻂ رﻳﺸﻪ‬
CODD
‫ﻛﺎر‬ ‫ق‬
Job
‫ﻛﺎراﻳﻲ‬ View
Performance updatability ‫ﻗﺎﺑﻠﻴﺖ ﺑﻬﻨﮕﺎم ﺳﺎزش دﻳﺪ‬
Natural
‫ﻛﺎرﺑﺮ ﺑﺎ زﺑﺎن ﻃﺒﻴﻌﻲ‬ ‫ﺟﺎﻣﻌﻴﺖ‬ ‫ﻗﺎﻋﺪه‬
language driven Entity integrity
‫ﻛﺎرﺑﺮ ﭘﺎﻳﺎﻧﻲ‬ rule ‫ﻣﻮﺟﻮدﻳﺘﻲ‬
End user
‫ﻛﺎرﺑﺮ ﺻﻮﺗﻲ‬ Referential
Voice driven integrity rule ‫ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺘﻲ ارﺟﺎﻋﻲ‬
Graphic driven ‫ﻛﺎرﺑﺮ ﮔﺮاﻓﻴﻜﻲ‬ ( ‫ﻗﺎﻋﺪه ) ﻣﺤﺪودﻳﺖ‬
Real time Integrity rule
‫ﻛﺎرﺑﺮد ﺑﻼدرﻧﮓ‬ ( constraint ) ‫ﺟﺎﻣﻌﻴﺖ‬
application
Application Five- minute
( ‫ﻛﺎرﺑﺮد ﺳﺎز ) ﺑﻬﺮه ﺑﺮدار‬ rule ‫ﻗﺎﻋﺪه ﭘﻨﺞ دﻗﻴﻘﻪ‬
developer
Global Active rule ‫ﻗﺎﻋﺪه ﻓﻌﺎل‬
application ‫ﻛﺎرﺑﺮدي ﺳﺮﺗﺎﺳﺮي‬
One- minute
Local rule ‫ﻗﺎﻋﺪه ﻳﻚ دﻗﻴﻘﻪ‬
application ‫ﻛﺎرﺑﺮدي ﻣﺤﻠﻲ‬
HEATH ‫ﻗﻀﻴﻪ ﻫﻴﺚ‬
www.PDFgozar.com

419 ‫ﻭﺍﮊﻩ ﻧﺎﻣﻪ ﻓﺎﺭﺳﻲ ﺑﻪ ﺍﻧﮕﻠﻴﺴﻲ‬

Summarize ‫ﮔﺮوه ﺑﻨﺪي‬ Help ‫ﻛﺎرﺑﺮﻳﺎر‬

Repeating group ‫ﮔﺮوه ﺗﻜﺮار ﺷﻮﻧﺪه‬ Cardinality ‫ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ‬

Proposition ‫ﮔﺰاره‬ Client machine ‫ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺸﺘﺮي‬

True proposition ‫ﮔﺰاره درﺳﺖ‬ Main computer ‫ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ‬

Option ( ‫ﮔﺰﻳﺪار )ﮔﺰﻳﻨﻪ‬ Super computer ‫ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﻴﻠﻲ ﺑﺰرگ‬

Spread sheet ‫ﮔﺴﺘﺮﺑﺮگ‬ Mini computer ‫ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺘﻮﺳﻂ‬

Extension ‫ﮔﺴﺘﺮده‬ Downsizing ‫ﻛﺎﻫﺶاﻧﺪازه‬

Scalability ‫ﮔﺴﺘﺮش ﭘﺬﻳﺮي‬ ( ‫ﻛﺎﻫﺶ درﺟﻪ ) ﺳﻄﺢ‬


De
‫ﮔﺴﺘﺮش ﭘﺬﻳﺮي ﻧﻮع داده‬ normalization ‫ﻧﺮﻣﺎﻟﻴﺘﻲ‬
Data type
extensibility ‫اي‬ Irreducible ‫ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ‬

Browsing ( ‫ﮔﺸﺖ زﻧﻲ ) ﮔﺬار ﮔﺮي‬ Irreduciblity ‫ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮي‬


‫ل‬ Primary Key ‫ﻛﻠﻴﺪ اﺻﻠﻲ‬

Layer ‫ﻻﻳﻪ‬ Surrogate ‫ﻛﻠﻴﺪ ﺟﺎﻳﮕﺰﻳﻦ ﻧﻬﺎن‬

Snapshot ‫ﻟﺤﻈﻪ اي‬ Partial Key ‫ﻛﻠﻴﺪ ﺟﺰﻳﻲ‬

REVOKE ‫ﻟﻐﻮ‬ Foreign Key ‫ﻛﻠﻴﺪ ﺧﺎرﺟﻲ‬


‫م‬ Alternate Key ‫ﻛﻠﻴﺪ دﻳﮕﺮ‬
Persistent ‫ﻣﺎﺟﻮﻟﻬﺎي ذﺧﻴﺮه ﺷﺪه‬ ‫ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬
Candidate Key
Stored Modules
‫ﻣﺎﻧﺪﮔﺎر‬ Programming
( PSM ) ‫ﻛﻤﺎل ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬
completeness
Abstract
‫ﻣﺎﺷﻴﻦ اﻧﺘﺰاﻋﻲ‬ Relationally
machine ‫ﻛﻤﺎل راﺑﻄﻪاي‬
completeness
Diskless
‫ﻣﺎﺷﻴﻦ ﺑﺪون دﻳﺴﻚ‬ Structural
machine ‫ﻛﻤﺎل ﺳﺎﺧﺘﺎري‬
completeness
Database
‫ﻣﺎﺷﻴﻦ ﭘﺎﻳﮕﺎهداده ﻫﺎ‬ Computational
Machine ‫ﻛﻤﺎل ﻣﺤﺎﺳﺒﺎﺗﻲ‬
completeness
‫ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار‬
Backend DB Data Control ‫ﻛﻨﺘﺮل داده‬
server ‫ﭘﺎﻳﮕﺎﻫﻲ ﭘﺴﺎ‬ Centralized
control ‫ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ‬
Owner ‫ﻣﺎﻟﻚ‬
Online
Durability ( ‫ﻣﺎﻧﺎﻳﻲ ) دوام‬ ‫ﻛﻨﺘﺮوﻟﺮ ﺑﺮ ﺧﻂ‬
controller
Site ( ‫ﻣﺎﻧﻪ ) ﺳﺎﻳﺖ‬ ‫ﻛﻨﺸﮕﺮ‬
Actor
Nature ‫ﻣﺎﻫﻴﺖ‬ ‫ﻛﻮﭼﺎﻧﺪن داده‬
Data migration
Base attribute ‫ﻣﺒﻨﺎ‬ ‫ﻛﻬﻴﻨﻪ‬
Minimal
Meta byte ‫ﻣﺘﺎ ﺑﺎﻳﺖ‬ ‫ﻛﻴﻔﻴﺖ ﭘﺎﻳﮕﺎهداده ﻫﺎ‬
Database quality
Meta data ‫ﻣﺘﺎ داده‬ ‫گ‬

Meta rules ‫ﻣﺘﺎ ﻗﻮاﻋﺪ‬ ‫ﮔﺪار‬


Gateway
Meta-constraint ‫ﻣﺘﺎ ﻣﺤﺪودﻳﺖ‬ ‫ﮔﺮاف ارﺟﺎع‬
Reference graph
Tuple variable ‫ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ‬ ‫ﮔﺮاف ﺟﻬﺖ دار‬
Oriented graph
Relation ‫ﮔﺮداﻳﻪ‬
‫ﻣﺘﻐﻴﺮ راﺑﻄﻪاي‬ Collection
variable(Relvar)
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ 420

Benchmarking ‫ﻣﺤﻚ زﻧﻲ‬ System variable ‫ﻣﺘﻐﻴﺮ ﺳﻴﺴﺘﻤﻲ‬

Local ‫ﻣﺤﻠﻲ‬ Range variable ‫ﻣﺘﻐﻴﺮ ﻃﻴﻔﻲ‬


Operational ‫ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ‬
‫ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ‬ Domain variable
envirnoment
Centralized ‫ﻣﺘﻤﺮﻛﺰ‬
Order-entry
environment ‫ﻣﺤﻴﻂ ورود ﺳﻔﺎرش‬ ‫ﻣﺘﻦ ﻣﺴﺌﻠﻪ‬
Problem context
Data Model
‫ﻣﺪل داده اي‬ Harmonic mean ‫ﻣﺘﻮﺳﻂ ﻫﺎرﻣﻮﻧﻴﻚ‬
(DM)
Object Data Authorization ‫ﻣﺠﺎز ﺷﻤﺎري‬
Model (ODM) ‫ﻣﺪل داده اي ﺷﻴﺊ ﮔﺮا‬
Integrated ( ‫ﻣﺠﺘﻤﻊ ) ﻳﻜﭙﺎرﭼﻪ‬
CODASYL data
model ‫ﻣﺪل داده اي ﻛﻮداﺳﻴﻞ‬ ‫ﻣﺠﺰا‬
Disjoint
Object- ‫ﻣﺠﻤﻮﻋﻪ اﻧﻮاع ﻣﻮﺟﻮدﻳﺘﻬﺎ‬
Relational Data Entity types set
Model ‫ﻣﺪل راﺑﻄﻪاي ﺷﻴﺊ ﮔﺮا‬ ‫ﻣﺠﻤﻮﻋﻪ ﭘﺮﺳﺶ‬
Queries set
Object modeling ‫ﻣﺪﻟﺴﺎزي ﺷﻴﺌﻲ‬ Multimember
set ‫ﻣﺠﻤﻮﻋﻪ ﭼﻨﺪ ﻋﻀﻮي‬
Semantic Data
Modeling ‫ﻣﺪﻟﺴﺎزي ﻣﻌﻨﺎﻳﻲ داده‬ ‫ﻫﺎي‬ ‫راﺑﻄﻪ‬ ‫ﻣﺠﻤﻮﻋﻪ‬
Data Universe of
relations ‫ﻣﻤﻜﻦ‬
communication
manager ‫ﻣﺪﻳﺮ اﻧﺘﻘﺎل داده ﻫﺎ‬ Attributes set ‫ﻣﺠﻤﻮﻋﻪ ﺻﻔﺎت‬

DC manager ‫ﻣﺪﻳﺮ اﻧﺘﻘﺎل داده ﻫﺎ‬ Instances set ‫ﻣﺠﻤﻮﻋﻪ ﻧﻤﻮﻧﻪ‬


Database ‫ﻣﺤﺪودﻳﺖ‬
‫ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده ﻫﺎ‬ Constraint
Administrator
Semantic ‫ﺟﺎﻣﻌﻴﺖ‬ ‫ﻣﺤﺪودﻳﺖ‬
‫ﻣﺪﻳﺮ ﺗﻤﺎﺳﻬﺎي اﺟﺮاﻳﻲ‬ integrity
Session ‫ﻣﻌﻨﺎﻳﻲ‬
‫ﻛﺎرﺑﺮان‬ constraint
manager
Data Integrity
‫ﻣﺪﻳﺮ داده‬ constraint ‫ﻣﺤﺪودﻳﺖ ﺟﺎﻣﻌﻴﺘﻲ‬
Administrator
Relation
Data Manager ‫ﻣﺪﻳﺮ داده ﻫﺎ‬ ‫ﻣﺤﺪودﻳﺖ راﺑﻄﻪاي‬
constraint
Driver manager ‫ﻣﺪﻳﺮ دراﻳﻮر‬ Structural
constraint ‫ﻣﺤﺪودﻳﺖ ﺳﺎﺧﺘﺎري‬
Request
manager ‫ﻣﺪﻳﺮ درﺧﻮاﺳﺘﻬﺎ‬ Attribute
constraint ‫ﻣﺤﺪودﻳﺖ ﺻﻔﺘﻲ‬
Run time
manager ‫ﻣﺪﻳﺮ زﻣﺎن اﺟﺮا‬ Transition
constraint ‫ﻣﺤﺪودﻳﺖ ﮔﺬاري‬
Catalog
manager ‫ﻣﺪﻳﺮ ﻛﺎﺗﺎﻟﻮگ‬ Semantic
constraint ‫ﻣﺤﺪودﻳﺖ ﻣﻌﻨﺎﻳﻲ‬
Database ‫ﻣﺤﻴﻂ‬ ‫ﻣﺪﻳﺮﻳﺖ‬
environment Domain
‫ﭘﺎﻳﮕﺎهداده ﻫﺎ‬ constraint ‫ﻣﺤﺪودﻳﺖ ﻣﻴﺪاﻧﻲ‬
management
Transactions Check
‫ﻫﻤﺮوﻧﺪي‬ ‫ﻣﺪﻳﺮﻳﺖ‬ ‫ﻣﺤﺪودﻳﺖ ﻧﺎﻇﺮ ﺑﻪ ﺳﺘﻮن‬
concurrency constraints
management ‫ﺗﺮاﻛﻨﺶ‬ ‫ﻣﺤﺪودﻳﺖ ﻧﻮع‬
Type constraint
Referenced ‫ﻣﺮﺟﻊ‬ ‫ﻣﺤﺪودﻳﺖ وﺿﻌﻴﺘﻲ‬
State constraint
Composite ‫ﻣﺮﻛﺐ‬ D3 ‫ﻣﺤﺪودﻳﺖ‬
3D- constraint
Independent Database
(Stand alone ) (‫ﻣﺴﺘﻘﻞ )ﺧﻮدﻛﻔﺎ‬ ‫ﻣﺤﺪودﻳﺖ ﭘﺎﻳﮕﺎﻫﻲ‬
constraint
Documentation ‫ﻣﺴﺘﻨﺪ ﺳﺎزي‬ ‫ﻣﺤﺮﻣﺎﻧﮕﻲ‬
Privacy
www.PDFgozar.com

421 ‫ﻭﺍﮊﻩ ﻧﺎﻣﻪ ﻓﺎﺭﺳﻲ ﺑﻪ ﺍﻧﮕﻠﻴﺴﻲ‬

Tow-Valued ‫ﻣﺴﻄﺢ‬
‫ﻣﻨﻄﻖ دو ارزﺷﻲ‬ Flat
Logic (2VL)
Predicate ‫ﻣﺴﻨﺪ‬
Three-Valued
Logic (3VL) ‫ﻣﻨﻄﻖ ﺳﻪ ارزﺷﻲ‬ Restriction
predicate ‫ﻣﺴﻨﺪ ﮔﺰﻳﻨﺶ‬
Engine ‫ﻣﻮﺗﻮر‬
Predicate
Entity ‫ﻣﺴﻨﺪات‬
(ER) ‫ارﺗﺒﺎط‬-‫ﻣﻮﺟﻮدﻳﺖ‬ calculus
relationship
Reference path ‫ﻣﺴﻴﺮﮔﺮاف‬
Identifing entity ‫ﻣﻮﺟﻮدﻳﺖ ﺷﻨﺎﺳﺎ‬
Total
Virtual entity ‫ﻣﻮﺟﻮدﻳﺖ ﻣﺠﺎزي‬ participation (‫ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲ )ﻛﺎﻣﻞ‬
Ad hoc ‫ﻏﻴﺮاﻟﺰاﻣﻲ‬ ‫ﻣﺸﺎرﻛﺖ‬
(Unplanned) ‫ﻣﻮردي‬ Partial
participation (‫)ﻧﺎﻛﺎﻣﻞ‬
Form generator ‫ﻣﻮﻟﺪ ﻓﺮم‬
Client/Server ‫ ﺧﺪﻣﺘﮕﺰار‬/‫ﻣﺸﺘﺮي‬
Report
generator ‫ﻣﻮﻟﺪ ﮔﺰارش‬ ‫ﻣﺸﺘﻖ‬
Derived
Menu generator ‫ﻣﻮﻟﺪ ﻣﻨﻮ‬ System
specification ‫ﻣﺸﺨﺼﺎت ﺳﻴﺴﺘﻢ‬
Relation type
generator ‫ﻣﻮﻟﺪ ﻧﻮع راﺑﻄﻪ‬ Database
approach ‫ﻣﺸﻲ ﭘﺎﻳﮕﺎﻫﻲ‬
Nontrivial (‫ﻣﻬﻢ )ﻣﻄﺮح‬
Non database
Reengineering ‫ﻣﻬﻨﺪﺳﻲ دوﺑﺎره‬ approach ‫ﻣﺸﻲ ﻧﺎﭘﺎﻳﮕﺎﻫﻲ‬
Requirements ‫ﻣﻌﻠﻖ‬
‫ﻣﻬﻨﺪﺳﻲ ﻧﻴﺎزﻫﺎ‬ Dangling
Engineering
Multi Database
Middleware ‫ﻣﻴﺎن اﻓﺰار‬ System (MDBS) ‫ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‬

Mediator ‫ﻣﻴﺎﻧﺠﻲ‬ Network centric ‫ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ‬

Domain ‫ﻣﻴﺪان‬ ‫ﻣﻌﻤﺎري ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ‬


Main frame
Primary domain ‫ﻣﻴﺪان اﺻﻠﻲ‬ centric ‫ﺑﺰرگ‬
Structural Three level
domain ‫ﻣﻴﺪان ﺳﺎﺧﺘﻤﻨﺪ‬ architecture ‫ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ‬
Candidate Three-schema
domain ‫ﻣﻴﺪان ﻛﺎﻧﺪﻳﺪ‬ architecture ‫ﻣﻌﻤﺎري ﺳﻪ ﺷﻤﺎﻳﻲ‬
‫ن‬ Decentralized
architecture ‫ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ‬
Non procedural (‫ﻧﺎ روﻳﻪ اي )ﻧﺎروﺷﻤﻨﺪ‬
Meaning ‫ﻣﻌﻨﺎ‬
Unstructured ‫ﻧﺎ ﺳﺎﺧﺘﻤﻨﺪ‬
Semantic ‫ﻣﻌﻨﺎﻳﻲ‬
Unfederated ‫ﻧﺎ ﻓﺪرال‬
Semantic
( ‫ﻧﺎ ﻣﻬﻢ )ﺑﺪﻳﻬﻲ‬ concept ‫ﻣﻔﻬﻮم ﻣﻌﻨﺎﻳﻲ‬
Trivial
Data Universal
‫ﻧﺎﺳﺎزﮔﺎري داده‬ concept ‫ﻣﻔﻬﻮم ﻫﻤﮕﺎﻧﻲ‬
inconsistency
‫ﻧﺎﺷﻨﺎﺧﺘﻪ‬ Default value ‫ﻣﻘﺪار ﭘﻴﺶ ﻧﻬﺎده‬
Unknown
Run time Relation value
‫ﻧﺎﻇﺮ زﻣﺎن اﺟﺮا‬ (Relval ) ‫ﻣﻘﺪار راﺑﻄﻪاي‬
supervisor
‫ﻧﺎﻣﮕﺬاري داده ﻫﺎ‬ Cursor ‫ﻣﻜﺎن ﻧﻤﺎ‬
Data naming
(‫ﻧﺎوش )ﻏﻮاﺻﻲ‬ Discriminator ‫ﻣﻤﻴﺰه‬
Navigation
Automatic Rightsizing ‫ﻣﻨﺎﺳﺐ ﺳﺎزياﻧﺪام‬
navigation ‫ﻧﺎوش ﺧﻮدﻛﺎر‬
Data source ‫ﻣﻨﺒﻊ داده اي‬
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ 422

‫زﻣﺎﻧﻤﻨﺪ‬ Heterogenous ‫ﻧﺎﻫﻤﮕﻦ‬


Use case Cardinality
diagram ‫ﻧﻤﻮدار ﻣﻮرد ﻛﺎرﺑﺮد‬ ratio ‫ﻧﺴﺒﺖ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ‬
‫ﻧﻤﻮدار واﺑﺴﺘﮕﻴﻬﺎي ﺗﺎﺑﻌﻲ‬ Price /
FD ' s diagram
performance
Instance ‫ﻧﻤﻮﻧﻪ‬ ‫ ﻛﺎراﻳﻲ‬/ ‫ﻧﺴﺒﺖ ﻫﺰﻳﻨﻪ‬
ratio
Evolutionary ‫ﻧﺴﺨﻪ‬
‫ﻧﻤﻮﻧﻪ ﺳﺎزي ﮔﺴﺘﺮﺷﻲ‬ Replica
Prototyping
Requirements Dumping ‫ﻧﺴﺨﻪ ﺑﺮداري‬
Prototyping ‫ﻧﻤﻮﻧﻪ ﺳﺎزي ﻧﻴﺎزي‬
Replication ‫ﻧﺴﺨﻪ ﺳﺎزي‬
Prototype ‫ﻧﻤﻮﻧﻪﺳﺎزي‬-‫ﻧﻤﻮﻧﻪﻧﺨﺴﺖ‬
Pointer ( ‫ﻧﺸﺎن ﻧﻤﺎ )اﺷﺎره ﮔﺮ‬
Elementary type ‫ﻧﻮع اﺑﺘﺪاﻳﻲ‬ Search
argument ‫ﻧﺸﺎﻧﻮﻧﺪ ﺟﺴﺘﺠﻮ‬
Union type ‫ﻧﻮع اﺟﺘﻤﺎع‬
Relationship Monitoring ‫ﻧﻈﺎرت‬
type ‫ﻧﻮع ارﺗﺒﺎط‬
Ordering ‫آراﺳﺘﺎر‬-‫ﻧﻈﻢ‬
Parent-Child
Positional
Link type ‫ﻧﻈﻢ ﻣﻜﺎﻧﻲ‬
‫ﻓﺮزﻧﺪي‬-‫ﻧﻮع ﭘﻴﻮﻧﺪ ﭘﺪر‬ ordering
(PCL)
Role ‫ﻧﻘﺶ‬
Data type ‫ﻧﻮع داده اي‬
Checkpointing ‫ﻧﻘﻄﻪ وارﺳﻲ‬
Abstract Data
Type ( ADT) ‫ﻧﻮع داده اي اﻧﺘﺰاﻋﻲ‬ ‫ﻧﮕﺎرش‬
Version
Complex Data
‫ﻧﻮع داده اي ﭘﻴﭽﻴﺪه‬ Mapping ‫ﻧﮕﺎﺷﺖ‬
Type ( CDT)
‫ﻧﻮع داده اي ﮔﺴﺘﺮش‬ Conceptual /
Extended data Internal
‫ﻳﺎﻓﺘﻪ‬ mapping ‫ داﺧﻠﻲ‬/ ‫ﻧﮕﺎﺷﺖ ادراﻛﻲ‬
type
‫ﻧﻮع داده اي ﻣﺒﻨﺎﻳﻲ‬ External /
Basic data type
Conceptual
Abstract Data ‫ ادراﻛﻲ‬/ ‫ﻧﮕﺎﺷﺖ ﺧﺎرﺟﻲ‬
‫ﻧﻮع داده ﻣﺠﺮد‬ mapping
Type ( ADT)
Presentation ‫ﻧﻤﺎﻳﺶ‬
Record type ‫ﻧﻮع رﻛﻮرد‬
Occurrence ‫ﻧﻤﻮد‬
Virtual record
type ‫ﻧﻮع رﻛﻮرد ﻣﺠﺎزي‬ ER ‫ﻧﻤﻮدار‬
ER diagram
Object Type ‫ﻧﻮع ﺷﻴﺊ‬ Reference
diagram ‫ﻧﻤﻮدار ارﺟﺎع‬
Set type ‫ﻧﻮع ﻣﺠﻤﻮﻋﻪ‬
Bachman
Entity type ‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬ diagram ‫ﻧﻤﻮدار ﺑﺎ ﭼﻤﻦ‬
‫ﻧﻬﺎن ﻧﮕﺎري داده‬ Implementation
Data encryption ‫ﻧﻤﻮدار ﭘﻴﺎده ﺳﺎزي‬
diagram
Semi-join ‫ﻧﻴﻢ ﭘﻴﻮﻧﺪ‬
CHEN notation ‫ﻧﻤﻮدار ﭼﻦ‬
Semi structured ‫ﻧﻴﻢ ﺳﺎﺧﺘﻤﻨﺪ‬
Class diagram ‫ﻧﻤﻮدار رده‬
‫و‬
Data Flow
Equational Diagram (DFD) ‫ﻧﻤﻮدار روﻧﺪ داده‬
Dependency ‫واﺑﺴﺘﮕﻲ ﺑﺮاﺑﺮي‬
Event Flow
Join Diagram (EFD) ‫ﻧﻤﻮدار روﻧﺪ روﻳﺪاد‬
Dependency ‫واﺑﺴﺘﮕﻲ ﭘﻴﻮﻧﺪي‬
Activity
Functional diagram ‫ﻧﻤﻮدار ﻓﻌﺎﻟﻴﺖ‬
Dependency ‫واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬
Temporal ERD ‫ارﺗﺒﺎط‬-‫ﻧﻤﻮدار ﻣﻮﺟﻮدﻳﺖ‬
www.PDFgozar.com

423 ‫ﻭﺍﮊﻩ ﻧﺎﻣﻪ ﻓﺎﺭﺳﻲ ﺑﻪ ﺍﻧﮕﻠﻴﺴﻲ‬

inheritance ‫ﮔﺎﻧﻪ‬ Fully ‫ﺗﺎم‬ ‫ﺗﺎﺑﻌﻲ‬ ‫واﺑﺴﺘﮕﻲ‬


Functional
Attribute (‫)ﻛﺎﻣﻞ‬
‫وراﺛﺖ ﺻﻔﺖ‬ Dependency
inheritance
Multivalued
Data import ‫ورودي داده ﻫﺎ‬ ‫واﺑﺴﺘﮕﻲ ﭼﻨﺪ ﻣﻘﺪاري‬
Dependency
Database state ‫وﺿﻌﻴﺖ ﭘﺎﻳﮕﺎهداده‬ Embedded ‫واﺑﺴﺘﮕﻲ ﭼﻨﺪ ﻣﻘﺪاري‬
Multi Valued
Task ‫وﻇﻴﻔﻪ‬ ‫ادﻏﺎم ﺷﺪه‬
Dependency
Visual-basic- Temporal
script ‫اﺳﻜﺮﻳﭗ‬-‫ﺑﻲ‬-‫وي‬ ‫واﺑﺴﺘﮕﻲ زﻣﺎﻧﻲ‬
Dependency
Destructor ‫وﻳﺮاﻧﮕﺮ‬ Inclusion
Dependency ‫واﺑﺴﺘﮕﻲ ﺷﻤﻮل‬
‫ه‬
Key-based ‫واﺑﺴﺘﮕﻲ ﺷﻤﻮل ﻣﺒﺘﻨﻲ ﺑﺮ‬
Parameter inclusion
driven ‫ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﭘﺎراﻣﺘﺮ‬ ‫ﻛﻠﻴﺪ‬
dependency
Form driven ‫ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﻓﺮم‬ Existance
dapendency ‫واﺑﺴﺘﮕﻲ وﺟﻮد‬
Command
driven ‫ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﻓﺮﻣﺎن‬ ‫واﺣﺪ‬
Module
Menu driven ‫ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﻣﻨﻮ‬ Schema
generator ‫واﺣﺪ ﺗﻮﻟﻴﺪ ﺷﻤﺎ‬
Map driven ‫ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﻧﻘﺸﻪ‬
Lock granular ‫واﺣﺪ ﻗﻔﻞ ﺷﺪﻧﻲ‬
Price per TPS TPS ‫ﻫﺰﻳﻨﻪ ﺑﻪ ازاء‬
Semantic unit
...‫ﻫﺴﺖ ﻳﻚ‬ of data ‫واﺣﺪ ﻣﻌﻨﺎﻳﻲ داده‬
IS-A
‫ﻫﻤﭙﻮﺷﺎ‬ Logical unit of
Overlapping ‫واﺣﺪ ﻣﻨﻄﻘﻲ ﻛﺎر‬
work
Communicatio
( ‫ﻫﻤﺮﺳﺎﻧﺶ ) ارﺗﺒﺎط‬ Data entry ‫وارد ﻛﺮدن داده‬
n
Multiversion Deferred
‫ﻫﻤﺮوﻧﺪي ﭼﻨﺪ ﻧﺴﺨﻪ اي‬ checking ‫وارﺳﻲ ﺑﺎ ﺗﺎﺧﻴﺮ‬
concurrency
‫ﻫﻤﺰﻣﺎن‬ Immediate
Concurrent ‫وارﺳﻲ ﺑﻼﻓﺎﺻﻠﻪ‬
checking
Peer-to-peer ‫ﻫﻤﻄﺮاز‬ Application
‫ﻫﻤﮕﻦ‬ Programming
Homogenous ‫واﺳﻂ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻛﺎرﺑﺮد‬
Interface (API)
General
purpose ‫ﻫﻤﻪ ﻣﻨﻈﻮره‬ Panel interface ‫واﺳﻂ ﭘﺎﻧﻞ‬
Permanent Call Level
(planned) ‫ﻫﻤﻴﺸﮕﻲ‬ Interface ‫واﺳﻂ در ﺳﻄﺢ ﻓﺮاﺧﻮان‬
‫ﻫﻴﭽﻤﻘﺪار‬ Command
Nullvalue
Language
Nullifing ‫ﻫﻴﭽﻤﻘﺪار ﮔﺬاري‬ ‫واﺳﻂ زﺑﺎن ﻓﺮﻣﺎن‬
Interface
‫ي‬ ‫واﺳﻂ ﻛﺎرﺑﺮ‬
User Interface
One fact-one User Friendly
relation ‫ﻳﻚ راﺑﻄﻪ‬-‫ﻳﻚ واﻗﻌﻴﺖ‬ ‫واﺳﻂ ﻛﺎرﺑﺮ ﭘﺴﻨﺪ‬
Interface
One to many ‫ﻳﻚ ﺑﻪ ﭼﻨﺪ‬ ‫واﺳﻂ ﻛﺎرﺑﺮي‬
User groups
One to one ‫ﻳﻚ ﺑﻪ ﻳﻚ‬ Import / Export
interface ‫ ﺻﺪور‬/ ‫واﺳﻂ ورود‬
Client / Multi-
Server (C/MS) ‫ﭼﻨﺪﺧﺪﻣﺘﮕﺰار‬-‫ﻳﻚ ﻣﺸﺘﺮي‬ ‫واﻗﻌﻲ‬
Real
‫ﻳﻜﭙﺎرﭼﻪ ﺳﺎزي ﻧﻤﻮدارﻫﺎي‬ ‫واﻗﻌﻴﺎت‬
Users' Ers Facts
integration ‫ ﻛﺎرﺑﺮان‬ER ‫وراﺛﺖ )ﺗﻮارث ( ﭼﻨﺪ‬
Multiple
www.PDFgozar.com

‫ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ‬ 424

Uniqueness ‫ﻳﻜﺘﺎﻳﻲ‬

Batch ‫ﻳﻜﺠﺎ‬
General
unification ‫ﻳﻜﺴﺎن ﻋﻤﻮﻣﻲ‬
www.PDFgozar.com
www.PDFgozar.com

‫ﻣﻨﺎﺑﻊ ﻭ ﻣﺎﺧﺬ‬

1 The Relational Model for Database Management , 2nd Edition Addison-Wesley


CODD.E.F 1990
2 Mastering SQL , 1st Edition Sybex
Gruber, Martin 2000
3 A Guide to the SQL Standard , 4th Edition Addison-Wesley
DATE, C.J 1997
4 ORACLE PL/SQL , 1st Edition Osborne
JOSEPH , C.Trezzo 1999
5 Guide to Client/Server Databases , 2nd Edition Ziff-David Press
SALEMI , joe 1996
6 Inside SQL server 2000, 1st Edition Microsoft Press
Delaney , Kalen 2001
7 Database System Concepts , 4th Edition MC Graw-Hill
SILBERSCHATZ , Henry 2002
8 ‫ وﻳﺮاﺳﺖ ﺟﺪﻳﺪ‬, ‫ﻣﻔﺎﻫﻴﻢ ﺑﻨﻴﺎدي ﭘﺎﻳﮕﺎهداده ﻫﺎ‬ ‫ﺟﻠﻮه‬
‫ ﺳﻴﺪ ﻣﺤﻤﺪ ﺗﻘﻲ‬، ‫روﺣﺎﻧﻲ راﻧﻜﻮﻫﻲ‬ 1383
9 ‫ ﭼﺎپ ﺷﺸﻢ‬, ‫ﭘﺎﻳﮕﺎهداده ﻫﺎ‬ ‫ﮔﺴﺘﺮش ﻋﻠﻮم ﭘﺎﻳﻪ‬
‫ ﺣﻤﻴﺪرﺿﺎ‬، ‫ﻣﻘﺴﻤﻲ‬ 1383
10 ‫ ﭼﺎپ ﻧﻬﻢ‬, ‫ ﻣﻘﺪﻣﻪ اي ﺑﺮ ﺳﻴﺴﺘﻢ و ﺳﺎﺧﺘﺎر ﻓﺎﻳﻠﻬﺎ‬:‫ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت‬ ‫ﺟﻠﻮه‬
‫ ﺳﻴﺪ ﻣﺤﻤﺪ ﺗﻘﻲ‬، ‫روﺣﺎﻧﻲ راﻧﻜﻮﻫﻲ‬ 1379
www.PDFgozar.com

You might also like