Database www pupuol com

Page 1


‫‪WWW.IRANMEET.COM‬‬

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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 .............................. ................................‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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 ............... ................................‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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 ...... ................................ ................................‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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 ........................‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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 ................. ................................‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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 ............. ................................‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬ ‫)‪X‬‬

‫ﺿﺮب دﻛﺎرﺗﻲ ‪135 ......................... ( Cartesian product :‬‬

‫ﺧﻮاص ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ‪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 ...................... ................................‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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 ................ ................................‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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 . ................................ ................................‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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 .......................... ................................‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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 ...................... ................................‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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 ......... ................................ ................................‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‬ ‫اﻳﻦ ﻛﺘﺎب ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺳﺮ ﻓﺼﻞ ﺗﻌﻴﻴﻦ ﺷﺪه ﺑﺮاي داﻧﺸﺠﻮﻳﺎن داﻧﺸﮕﺎه ﭘﻴﺎمﻧﻮر در‬ ‫رﺷﺘﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺗﻬﻴﻪ و ﺗﻨﻈﻴﻢ ﺷﺪه اﺳﺖ‪ .‬در ﺗﻬﻴﻪ اﻳﻦ ﻛﺘﺎب ﺳﻌﻲ ﺑﺮ آن ﺷﺪه اﺳﺖ ﺗﺎ‬ ‫ﻣﺒﺎﺣﺜﻲ ﻛﻪ ﺑﺮاي ﺗﺪرﻳﺲ درس ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻻزم ﺑﻪ ﺗﺪرﻳﺲ اﺳﺖ‪ ،‬ﻣﻄﺮح ﮔﺮدﻧﺪ‪.‬‬ ‫اﻳﻦ ﻛﺘﺎب ﻣﺸﺘﻤﻞ ﺑﺮ ده ﻓﺼﻞ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬ ‫در اﺑﺘﺪاي ﻛﺘﺎب ﻟﻴﺴﺖ ﺳﺮ ﻓﺼﻞ ﻣﻄﺎﻟﺐ ﻗﻴﺪ ﺷﺪه اﺳﺖ‪ .‬در اﻧﺘﻬﺎي ﻛﺘﺎب‬ ‫ﻣﺠﻤﻮﻋﻪاي از ﺳﺆاﻻت ﺗﺴﺘﻲ ﺑﻪ ﻫﻤﺮاه ﭘﺎﺳﺦ ﻧﺎﻣﻪ اراﺋﻪ ﺷﺪه اﺳﺖ‪ .‬ﻫﻤﭽﻨﻴﻦ ﺑﻪ ﻣﻨﻈﻮر‬ ‫آﺷﻨﺎﻳﻲ ﺑﻴﺸﺘﺮ ﻋﻼﻗﻤﻨﺪان ﺑﻪ ﺳﺎﺧﺘﺎر ﭘﺎﻳﻪاي زﺑﺎن‬

‫‪SQL‬‬

‫‪ ،‬در ﺿﻤﻴﻤﻪ ‪ 2‬ﻛﺘﺎب ﻣﺘﻦ ﻛﺎﻣﻞ‬

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

‫اﺣﻤﺪ ﻓﺮاﻫﻲ‬

‫‪ayat@pnu.ac.ir‬‬

‫‪afaraahi@pnu.ac.ir‬‬

‫ﺗﺎﺑﺴﺘﺎن ‪1386‬‬

‫‪Ramin.Samad@yahoo.com‬‬


WWW.IRANMEET.COM

Ramin.Samad@yahoo.com


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪4‬‬

‫ ‬

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

‫آﻣﺪ‪:‬‬ ‫‪1‬‬

‫•‬

‫ﻃﺮاﺣﻲ واﻳﺠﺎد ﭘﺎﻳﮕﺎهﻫﺎي داده ﺗﻮزﻳﻊ ﺷﺪه ﺗﺤﺖ ﺷﺒﻜﻪﻫﺎي ﻣﺨﺘﻠﻒ‬

‫•‬

‫ﻃﺮاﺣﻲ واﻳﺠﺎد ﺳﻴﺴﺘﻢﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده ﺑﺮاي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺷﺨﺼﻲ‬

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

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

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

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

‫‪ANSI‬‬

‫اﺳﺘﺎﻧﺪارد ‪ ANSI‬ﺑﺮاي اﺻﻄﻼح داده ﺗﻌﺎرﻳﻒ زﻳﺮ را اراﺋﻪ ﻛﺮده اﺳﺖ‪:‬‬ ‫‪1. D i st r i b u t e d D a t a B a s e‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‬

‫•‬

‫‪5‬‬

‫ﻫﺮ ﻧﻤﺎﻳﺸﻲ ﻛﻪ ﺗﻮﺳﻂ اﻧﺴﺎن ﻳﺎ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﻜﺎﻧﻴﻜﻲ ﺧﻮدﻛﺎر ﻣﻌﻨﺎﻳﻲ ﺑﻪ آن ﻗﺎﺑﻞ‬ ‫اﻧﺘﺴﺎب ﺑﺎﺷﺪ‪.‬‬

‫•‬

‫ﻧﻤﺎﻳﺶ واﻗﻌﻴﺎت‪ ،‬ﭘﺪﻳﺪهﻫﺎ‪ ،‬ﻣﻔﺎﻫﻴﻢ ﻳﺎ ﺷﻨﺎﺧﺘﻪﻫﺎ ﺑﻪ ﻃﺮزي ﺻﻮري و ﻣﻨﺎﺳﺐ ﺑﺮاي‬ ‫ﺑﺮﻗﺮاري ارﺗﺒﺎط‪ ،‬ﺗﻔﺴﻴﺮ ﻳﺎ ﭘﺮدازش ﺗﻮﺳﻂ اﻧﺴﺎن ﻳﺎ ﻫﺮ دﺳﺘﮕﺎه ﺧﻮدﻛﺎر‪.‬‬

‫•‬

‫ﺑﻪ ﻃﻮر ﻛﻠﻲ ﻣﻲﺗﻮان ﮔﻔﺖ ﻛﻪ داده ارزﺷﻬﺎي واﻗﻌﻲ ﻫﺴﺘﻨﺪ ﻛﻪ از ﻃﺮﻳﻖ ﻣﺸﺎﻫﺪه‬ ‫و ﺗﺤﻘﻴﻖ ﺑﺪﺳﺖ ﻣﻲ آﻳﻨﺪ‪.‬‬

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

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

‫‪ANSI‬‬

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪6‬‬

‫ ‬

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

‫ﭘﺮدازش‬

‫اﻃﻼع‬

‫ﭘﺮدازش‬

‫داده‬

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

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‬

‫‪7‬‬

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

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

‫‪ 1-1-2‬ﻣﺮاﺣﻞ ﻛﺎر در روش ﻓﺎﻳﻠﻴﻨﮓ‬ ‫ﺳﻴﺴﺘﻢ ﻣﻮرد درﺧﻮاﺳﺖ ﺑﺮاي ﻣﻜﺎﻧﻴﺰه ﻛﺮدن اﻧﺘﺨﺎب و ﻣﻮرد ﺑﺮرﺳﻲ و ﭘﺮدازش ﻗﺮار‬ ‫ﻣﻲ ﮔﻴﺮد ﺗﺎ ﻣﺸﺨﺼﺎت ﻧﻴﺎزﻫﺎ ﺗﻌﻴﻴﻦ ﮔﺮدد ‪.‬‬ ‫•‬

‫ﻣﺮاﺣﻞ اوﻟﻴﻪ ﻻزم ﺑﺮاي ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ اﻧﺠﺎم ﻣﻲﮔﻴﺮد‪.‬‬

‫•‬

‫ﻣﺸﺨﺼﺎت ﺳﻴﺴﺘﻢ و زﻳﺮ ﺳﻴﺴﺘﻢﻫﺎي اﺣﺘﻤﺎﻟﻲ و وﻇﺎﻳﻒ ﻫﺮ ﻛﺪام از آﻧﻬﺎ ﺗﻌﻴﻴﻦ‬ ‫ﻣﻲﮔﺮدد‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪8‬‬

‫ ‬

‫•‬

‫ﺗﻌﺪادي ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﺑﺮاي ذﺧﻴﺮه ﺳﺎزي ﻓﺎﻳﻠﻬﺎ ﻃﺮاﺣﻲ ﻣﻲﮔﺮدد‪ .‬اﻳﻦ ﻓﺎﻳﻠﻬﺎ‬ ‫ﻣﻌﻤﻮﻻً ﺑﻪ ﺻﻮرت ﻣﻨﻔﺮد در ﺳﻄﺢ ﺳﻴﺴﺘﻢ ﻃﺮاﺣﻲ ﻣﻲﮔﺮدﻧﺪ‪.‬‬

‫•‬

‫ﺑﺮﻧﺎﻣﻪ ﻣﻮرد درﺧﻮاﺳﺖ ﺑﺎ اﺳﺘﻔﺎده از ﻳﻚ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺗﻬﻴﻪ ﻣﻲﮔﺮدد‪.‬‬ ‫ﺑﺮﻧﺎﻣﻪ ﻣﻮرد ﻧﻈﺮ ﺑﻪ ﻫﻤﺮاه ﺑﺮﻧﺎﻣﻪﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ ﻓﺎﻳﻞﻫﺎ اﻃﻼﻋﺎﺗﻲ‪ ،‬ﻣﺠﻤﻮﻋﻪ‬ ‫ﻧﺮماﻓﺰاري ﺳﻴﺴﺘﻢ را ﭘﻮﺷﺶ ﻣﻲدﻫﻨﺪ‪.‬‬

‫•‬

‫ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻛﺎﻣﻞ ﺷﺎﻣﻞ ﻧﺮماﻓﺰار و ﺳﺨﺖاﻓﺰار و اﺣﺘﻤﺎﻻ ﻣﻜﺎﻧﻴﺰﻣﻲﺟﻬﺖ‬ ‫ﺑﺮﻗﺮاري ارﺗﺒﺎط ﺑﻴﻦ ﭼﻨﺪ ﺳﺨﺖاﻓﺰار ﻓﺮاﻫﻢ ﻣﻲﮔﺮدد‪.‬‬

‫•‬

‫ﻣﺠﻤﻮﻋﻪاي از ﺗﺴﺖﻫﺎ ﺟﻬﺖ ﺑﺮرﺳﻲ ﻫﺮ زﻳﺮ ﺳﻴﺴﺘﻢ و در ﻧﻬﺎﻳﺖ ﺑﺮرﺳﻲ ﻛﻞ‬ ‫ﺳﻴﺴﺘﻢ اﻋﻤﺎل ﻣﻲﮔﺮدد‪.‬‬

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

‫‪ 2-1-2‬ﻣﺮاﺣﻞ ﻛﺎر در روش ﭘﺎﻳﮕﺎﻫﻲ‬ ‫ﺑﺎ ﻋﻨﺎﻳﺖ ﺑﻪ روش ﻛﺎر در ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ‪ ،‬در اداﻣﻪ ﻣﺮاﺣﻞ ﻛﺎر در روش ﭘﺎﻳﮕﺎﻫﻲ‬ ‫ﻣﻌﺮﻓﻲ ﻣﻲ ﮔﺮدد‪.‬‬ ‫•‬

‫ﻛﻠﻴﻪ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ و ﭘﺮدازﺷﻲ ﻣﺠﻤﻮﻋﻪ ﻣﻮرد ﻧﻈﺮ ﺑﺼﻮرت ﻳﻜﭙﺎرﭼﻪ ﻣﻮرد‬ ‫ﻣﻄﺎﻟﻌﻪ و ﺗﺤﻠﻴﻞ ﻗﺮار ﻣﻲﮔﻴﺮد‪ .‬دادهﻫﺎي ﻣﻮرد ﻧﻈﺮ‪ ،‬ﻣﺪل ﺳﺎزي ﻣﻲﮔﺮدﻧﺪ و‬ ‫ﻣﺸﺨﺼﺎت ﺳﻴﺴﺘﻢ و وﻇﺎﻳﻒ آن ﺑﺼﻮرت ﺟﺎﻣﻊ ﺗﻌﻴﻴﻦ ﻣﻲﮔﺮدﻧﺪ‪.‬‬

‫•‬

‫ﻳﻚ ﻳﺎ ﭼﻨﺪ ﭘﺎﻳﮕﺎهداده ﺑﻌﻨﻮان ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﻣﺘﻤﺮﻛﺰ اﻧﺘﺨﺎب ﻣﻲﮔﺮدد‪.‬‬ ‫ﻃﺮاﺣﻲﻫﺎي ﻻزم در ﺳﻄﻮح ﻣﺨﺘﻠﻒ ﭘﺎﻳﮕﺎهداده ﺗﻌﺮﻳﻒ و ﻃﺮاﺣﻲ ﻣﻲﮔﺮدﻧﺪ‪.‬‬

‫•‬

‫واﺳﻂﻫﺎي ﻣﻮرد ﻧﻈﺮ ﺑﺮاي ﻛﺎرﺑﺮان واﺣﺪﻫﺎي ﻣﺨﺘﻠﻒ )و ﺑﻌﻀﺎ ﻣﺪﻳﺮان ﺳﻴﺴﺘﻢ(‬ ‫ﻃﺮاﺣﻲ ﻣﻲﮔﺮدﻧﺪ‪.‬‬

‫•‬

‫ﺗﺴﺖﻫﺎي ﻻزم ﺑﺮ روي ﻗﺴﻤﺖﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ اﻋﻤﺎل ﻣﻲﮔﺮدﻧﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‬

‫‪9‬‬

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪10‬‬

‫ ‬

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

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

‫دادهﻫﺎ‬

‫•‬

‫ﺳﺨﺖاﻓﺰار‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪11‬‬

‫•‬

‫ﻧﺮماﻓﺰار‬

‫•‬

‫ﻛﺎرﺑﺮ‬ ‫ﺳﺨﺖ اﻓﺰار‬ ‫ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬ ‫‪D‬‬ ‫‪B‬‬ ‫‪M‬‬ ‫‪S‬‬

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

‫ﻛﺎرﺑﺮ ‪1‬‬

‫ﻛﺎرﺑﺮ ‪2‬‬

‫ﺳﺨﺖ اﻓﺰار‬ ‫‪.‬‬

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

‫ﻛﺎرﺑﺮ‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪12‬‬

‫ ‬

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

‫از‪:‬‬

‫•‬

‫دادهﻫﺎي ﻛﺎرﺑﺮان‬

‫•‬

‫دادهﻫﺎي ﺳﻴﺴﺘﻤﻲ‬

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

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

‫•‬

‫ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ‬

‫•‬

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

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

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

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪13‬‬

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

‫اﻣﻜﺎﻧﺎت ﻣﺤﻠﻲ‪ :‬ﺑﺮاي اﻳﺠﺎد ارﺗﺒﺎط ﺑﻴﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ و دﺳﺘﮕﺎهﻫﺎي ﺟﻨﺒﻲ آن در ﻳﻚ‬ ‫ﺳﺎﻳﺖ ﺑﻪ ﻛﺎر ﻣﻲرود‪.‬‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺷﺒﻜﻪاي‪ :‬دراﻳﺠﺎد ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺑﺎ ﻣﻌﻤﺎري ﻧﺎ ﻣﺘﻤﺮﻛﺰ ﺑﻪ ﻛﺎر‬ ‫ﻣﻲرود‪.‬‬

‫ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﭘﺎﻳﮕﺎه ﻫﺎي داده را ﺑﺮ اﺳﺎس ﻧﮕﺎه ارﺗﺒﺎﻃﻲ دﺳﺘﻪ ﺑﻨﺪي ﻛﻨﻴﻢ‪ ،‬اﻧﻮاع‬ ‫ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬ ‫•‬

‫ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺖ ﮔﺰار‬ ‫‪2‬‬

‫•‬

‫ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ‬

‫•‬

‫ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه‬

‫•‬

‫ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي‬

‫•‬ ‫•‬

‫‪3‬‬

‫ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‬ ‫ﻣﻌﻤﺎري ﻣﻮﺑﺎﻳﻞ‬

‫‪1‬‬

‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪14‬‬

‫ ‬

‫ﻣﻲ ﺷﻮﻧﺪ‪:‬‬ ‫ﻧﺮماﻓﺰار ﻛﺎرﺑﺮدي‬

‫•‬

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

‫‪ -1‬ﻧﺮماﻓﺰار ﻛﺎرﺑﺮدي‬ ‫ﻧﺮم اﻓﺰاري اﺳﺖ ﻛﻪ ﻛﺎرﺑﺮ ﺑﺎﻳﺪ ﺑﺮاي ﺗﻤﺎس ﺑﺎ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ آﻣﺎده ﻛﻨﺪ ‪ .‬اﻳﻦ‬ ‫‪1‬‬

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

‫‪ -2‬ﻧﺮماﻓﺰار ﺳﻴﺴﺘﻤﻲ‬ ‫اﻳﻦ ﻧﻮع ﻧﺮم اﻓﺰار از دو ﻗﺴﻤﺖ ﻧﺮم اﻓﺰار ﺳﻴﺴﺘﻤﻲ ﺧﺎص ﺑﺎﻧﻚ ﻛﻪ در اﻳﻨﺠﺎ ﺑﻪ آن‬ ‫‪DBMS‬‬

‫ﻣﻲ ﮔﻮﻳﻴﻢ و ﻧﺮم اﻓﺰار ﺳﻴﺴﺘﻤﻲﻋﻤﻮﻣﻲ )ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ( ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪.‬‬

‫)‪ (DBMS‬در ﻳﻚ ﺗﻌﺮﻳﻒ ﺳﺎده‪ ،‬ﺳﻴﺴﺘﻤﻲ اﺳﺖ ﻛﻪ ﺑﻪ ﻛﺎرﺑﺮان اﻣﻜﺎن ﻣﻲ دﻫﺪ ﻋﻤﻠﻴﺎت‬ ‫ﻣﻮرد ﻧﻈﺮﺷﺎن را )ﻣﺎﻧﻨﺪ ﺗﻌﺮﻳﻒ دادهﻫﺎ‪ ،‬ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎ‪ ،‬ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ( اﻧﺠﺎم‬ ‫دﻫﻨﺪ‪.‬‬

‫‪DBMS‬‬

‫ﻛﻪ ﻧﺮم اﻓﺰاري ﭘﻴﭽﻴﺪه اﺳﺖ ﻣﻴﻬﻤﺎن ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ اﺳﺖ و از‬

‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ در اﻧﺠﺎم وﻇﺎﻳﻔﺶ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﺪ ‪.‬‬

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

‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﺎن ﻛﺎرﺑﺮدي‬

‫•‬

‫ﻛﺎرﺑﺮان واﻗﻌﻲ ﻳﺎ ﻧﻬﺎﻳﻲ‬

‫•‬

‫ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪15‬‬

‫‪ -1‬ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﺎن ﻛﺎرﺑﺮدي‬

‫‪1‬‬

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

‫‪ -2‬ﻛﺎرﺑﺮان واﻗﻌﻲ ﻳﺎ ﻧﻬﺎﻳﻲ‬

‫‪2‬‬

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

‫‪ -3‬ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده‬

‫‪3‬‬

‫ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده ﻣﺴﺌﻮﻟﻴﺖ ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ ﺳﺎزﻣﺎن ﺑﺮ داده ﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ را ﺑﺮ ﻋﻬﺪه‬ ‫دارد ‪ .‬اﮔﺮ ﺑﺨﻮاﻫﻴﻢ وﻇﺎﻳﻒ ‪ DBA‬را ﺑﻪ ﻃﻮر ﺟﺰﺋﻲ ﻃﺮاﺣﻲ ﻛﻨﻴﻢ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬ ‫•‬

‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد دادهﻫﺎﻳﻲ ﻛﻪ در ﭘﺎﻳﮕﺎهداده ﻧﮕﻬﺪاري ﻣﻲﺷﻮﻧﺪ‪.‬‬

‫•‬

‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ذﺧﻴﺮه ﺳﺎزي و روش دﺳﺘﻴﺎﺑﻲ اﺳﺖ‪.‬‬

‫•‬

‫ارﺗﺒﺎط ﺑﺎ ﻛﺎرﺑﺮان ﺑﺮاي ﺣﺼﻮل اﻃﻤﻴﻨﺎن از ﺑﺮآورده ﺷﺪن ﻧﻴﺎزﻫﺎي آﻧﺎن‪.‬‬

‫•‬

‫‪5‬‬

‫‪4‬‬

‫ﺗﻌﺮﻳﻒ ﺑﺮرﺳﻲﻫﺎي ﻣﺮﺑﻮط ﺑﻪ اﻣﻨﻴﺖ وﺟﺎﻣﻌﻴﺖ )ﺻﺤﺖ ﻋﻤﻠﻴﺎت دادهﻫﺎ(‪.‬‬ ‫‪6‬‬

‫•‬

‫ﺗﻌﺮﻳﻒ اﺳﺘﺮاﺗﮋي اﺧﺬ ﻧﺴﺨﻪ ﭘﺸﺘﻴﺒﺎﻧﻲ و ﺗﺮﻣﻴﻢ ‪.‬‬

‫•‬

‫ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻜﺮد ﺳﻴﺴﺘﻢ و ﭘﺎﺳﺨﮕﻮﻳﻲ ﺑﻪ ﻧﻴﺎزﻫﺎي در ﺣﺎل ﺗﻐﻴﻴﺮ‪.‬‬

‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ اﻣﺮوزه ﺑﺎ ﭘﻴﭽﻴﺪه ﺗﺮ ﺷﺪن ﭘﺎﻳﮕﺎه ﻫﺎي داده و ﺣﺠﻴﻢ ﺗﺮ ﺷﺪن‬ ‫داده ﻫﺎ‪ ،‬ﻣﻌﻤﻮﻻً ﭼﻨﺪ ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده‬ ‫ﭘﺎﻳﮕﺎه داده ﻫﺎ‬

‫)‪(Senior DBA‬‬

‫)‪(Junior 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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪16‬‬

‫ ‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‬ ‫ ‪ !" #‬‬ ‫ﻫﺪف ﻛﻠﻲ‬ ‫در اﻳﻦ ﻓﺼﻞ ﺑﺎ ﻣﻔﻬﻮم ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ آﺷﻨﺎ ﺧﻮاﻫﻴﻢ ﺷﺪ و دو روش ﻣﺪل‬ ‫ﺳﺎزي ﻣﻮﺟﻮدﻳﺖ‪ -‬ارﺗﺒﺎط‬

‫)‪(ER‬‬

‫‪1‬‬

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

‫)‪(ERR‬‬

‫‪2‬‬

‫را ﻣﻮرد‬

‫ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد‪ .‬در ﺑﺤﺚ ﻣﺪل ﺳﺎزي ﺑﻪ روش ‪ ،ER‬ﺑﺎ ﻣﻔﺎﻫﻴﻢ‬ ‫ﻣﻮﺟﻮدﻳﺖ‪ ،‬ﺻﻔﺎت و ارﺗﺒﺎط آﺷﻨﺎ ﺷﺪه و ﺳﭙﺲ ﻧﺤﻮه رﺳﻢ ﻧﻤﻮدار را در اﻳﻦ روش‬ ‫ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد و ﭘﺲ از آن ﻣﺸﻜﻼت روش‬ ‫در اداﻣﻪ ﻣﺪل ﺳﺎزي ﺑﻪ روش‬

‫‪ERR‬‬

‫‪ER‬‬

‫را ﺷﺮح ﺧﻮاﻫﻴﻢ داد‪.‬‬

‫را ﺗﻮﺿﻴﺢ داده و ﻣﻄﺎﻟﺒﻲ در ﺧﺼﻮص ﻧﺤﻮه‬

‫ﭘﻮﺷﺶ ﻣﺒﺎﺣﺚ ﺷﻲ ﮔﺮاﻳﻲ در اﻳﻦ روش را ﺑﺮﺧﻮاﻫﻴﻢ ﺷﻤﺮد‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬ ‫در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬ ‫•‬

‫ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ‬

‫•‬

‫ﻣﺪل ﺳﺎزي ﺑﻪ روش‬

‫•‬

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

‫•‬

‫ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ‬

‫•‬

‫ﺣﺎﻻت ﻳﻚ ﻣﻮﺟﻮدﻳﺖ‬

‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ !" #‬‬ ‫•‬

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

‫•‬

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

‫‪19‬‬

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

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

‫‪ER‬‬

‫‪ER‬‬

‫ﻳﻜﻲ از اﺑﺰارﻫﺎي ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ در ﭘﺎﻳﮕﺎه داده اﺳﺖ ﻛﻪ‬

‫در ﺳﺎل ‪ 1976‬ﺗﻮﺳﻂ آﻗﺎي‬ ‫ﭘﻴﺸﺮﻓﺖ ﻛﺮد‪ .‬ﺗﻌﺮﻳﻒ‬

‫‪Chen‬‬

‫‪Chen‬‬ ‫‪2‬‬

‫در‬

‫‪MIT‬‬

‫اراﺋﻪ ﮔﺮدﻳﺪ و ﺑﻪ ﻣﺮور زﻣﺎن اﻳﻦ اﺑﺰار‬

‫از ﺑﺎﻧﻚ اﻃﻼﻋﺎت ﻋﺒﺎرت ﺑﻮد از ﺗﻌﺪادي ﭘﺪﻳﺪه‬

‫‪1‬‬

‫‪3‬‬

‫)ﻣﻮﺟﻮدﻳﺖ( داراي ﺻﻔﺎت ﻣﺸﺨﺺ و ارﺗﺒﺎط ﺑﻴﻦ ﭘﺪﻳﺪهﻫﺎ‪ .‬در اﻳﻦ روش‪ ،‬ﺳﻪ‬ ‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪20‬‬

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

‫در ﻳﻚ ﻣﺤﻴﻂ ﻛﺎري دﺷﻮار ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﻪ ﻃﻮر ﻛﻠﻲ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ داراي‬ ‫ﺧﺼﻮﺻﻴﺎت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ ﻳﺎ ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﻻزم اﺳﺖ اﻃﻼﻋﺎت زﻳﺮ در ﻣﻮرد ﻫﺮ ﻧﻮع‬ ‫ﻣﻮﺟﻮدﻳﺘﻲ ﺑﺪﺳﺖ آﻳﺪ‪:‬‬ ‫•‬

‫ﻧﺎم ﻣﻮﺟﻮدﻳﺖ )ﻳﺎ ﭘﺪﻳﺪه(‬

‫•‬

‫ﻣﻌﻨﺎي ﻣﺸﺨﺺ‬

‫•‬

‫ﻣﺠﻤﻮﻋﻪاي از ﺻﻔﺎت‬

‫•‬

‫ﻣﺠﻤﻮﻋﻪاي از ﻧﻤﻮﻧﻪﻫﺎ‬

‫•‬

‫ﺣﺎﻟﺖ ﻛﻨﺶ ﮔﺮي ﻳﺎ ﻛﻨﺶ ﭘﺬﻳﺮي‬

‫•‬

‫ﻋﺪم واﺑﺴﺘﮕﻲ و ﻳﺎ واﺑﺴﺘﮕﻲ ﺑﻪ ﻳﻚ ﻧﻮع دﻳﮕﺮ‬

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

‫‪ 1-1-2‬ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ‬

‫‪1‬‬

‫ﺗﻤﺎم ﻧﻤﻮﻧﻪﻫﺎي ﻣﺸﺨﺺ )در ﻣﻮاردي ﻣﺘﻤﺎﻳﺰ( ﻫﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ از ﻳﻚ ﻣﺤﻴﻂ‬ ‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ !" #‬‬

‫‪21‬‬

‫ﺿﻌﻴﻒ )واﺑﺴﺘﻪ( ﺑﺎﺷﺪ‪ .‬در اداﻣﻪ ﺑﻪ ﺷﺮح ﺣﺎﻻت ﻣﺬﻛﻮر ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ‪:‬‬

‫ﻣﻮﺟﻮدﻳﺖ ﻗﻮي ﻳﺎ ﻣﺴﺘﻘﻞ‬

‫‪1‬‬

‫ﻣﻮﺟﻮدﻳﺘﻲ اﺳﺖ ﻛﻪ ﻣﺴﺘﻘﻞ از ﻫﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ دﻳﮕﺮ و ﺑﻪ ﺧﻮدي ﺧﻮد در ﻳﻚ‬ ‫ﻣﺤﻴﻂ ﻣﺸﺨﺺ ﻣﻄﺮح ﺑﺎﺷﺪ‪ .‬اﻳﻦ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ واﺑﺴﺘﮕﻲ ﺧﺎﺻﻲ ﺑﻪ ﺳﺎﻳﺮ‬ ‫ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ ﻧﺪارد‪.‬‬

‫ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﻳﺎ واﺑﺴﺘﻪ‬

‫‪2‬‬

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

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

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

‫‪3‬‬

‫ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ‬ ‫‪1‬‬

‫‪4‬‬

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

‫‪2‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪22‬‬

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

‫ﺷﻨﺎﺳﻪ ﻳﺎ ﻧﺎﺷﻨﺎﺳﻪ‬ ‫‪3‬‬

‫ﻫﻴﭻ ﻣﻘﺪار ﭘﺬﻳﺮ ﻳﺎ ﻫﻴﭻ ﻣﻘﺪار ﻧﺎﭘﺬﻳﺮ‬ ‫‪4‬‬

‫ذﺧﻴﺮه ﺷﺪه )واﻗﻌﻲ ﻳﺎ ﻣﺒﻨﺎ( ﻳﺎ ﻣﺸﺘﻖ‬

‫‪5‬‬

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

‫‪ 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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ !" #‬‬

‫‪23‬‬

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

‫ﻣﺮﻛﺐ‬

‫ﺳﺎده‬

‫ﺗﻚ ﻣﻘﺪاري‬

‫ﭼﻨﺪ ﻣﻘﺪاري‬

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

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪24‬‬

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

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

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

‫ﻧﺎم‬

‫•‬

‫ﻣﻌﻨﺎ‬

‫•‬

‫ﻣﻴﺪان )داﻣﻨﻪ( ﻣﻘﺎدﻳﺮ‬

‫•‬

‫ﻧﻮع ﻣﻘﺪار‬

‫•‬

‫ﻃﻮل ﻣﻘﺪار )ﺻﺮﻳﺢ ﻳﺎ ﺻﻔﺘﻲ(‬

‫•‬

‫ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻣﺤﺪودﻳﺖ ﻧﺎﻇﺮ ﺑﻪ ﺻﻔﺖ‬

‫‪ 3-2‬ارﺗﺒﺎط‬

‫‪1‬‬

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

‫ﻧﻮع ارﺗﺒﺎط‬ ‫ﺋﻮع ارﺗﺒﺎط ﻋﺒﺎرت اﺳﺖ از ﺗﻌﺎﻣﻞ‪ 2‬ﺑﻴﻦ‬

‫‪n‬‬

‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ )‪ (n≥1‬و ﻣﺎﻫﻴﺘﺎ ﻧﻮﻋﻲ‬

‫ﺑﺴﺘﮕﻲ ﺑﻴﻦ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖﻫﺎﺳﺖ‪ .‬ﺑﻪ ﺗﻌﺒﻴﺮي دﻳﮕﺮ ﻋﻤﻠﻲ اﺳﺖ ﻛﻪ ﺑﻴﻦ اﻧﻮاع‬ ‫ﻣﻮﺟﻮدﻳﺖ ﻫﺎ ﺟﺎري ﺑﻮده‪ ،‬ﻫﺴﺖ ﻳﺎ ﺧﻮاﻫﺪ ﺑﻮد‪ .‬ﻫﺮ ﻧﻮع ارﺗﺒﺎط ﻳﻚ ﻣﻌﻨﺎي ﻣﺸﺨﺺ‬ ‫داﺷﺘﻪ و ﺑﺎ ﻳﻚ ﻧﺎم ﺑﻴﺎن ﻣﻲ ﺷﻮد‪.‬‬ ‫‪1. As s o c i a t i o n‬‬ ‫‪2. In t e r a c t i o n‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ !" #‬‬

‫‪ -3‬ﻧﻤﻮدار‬ ‫ﻧﻤﻮدار‬

‫‪25‬‬

‫‪ER‬‬

‫در واﻗﻊ ﻧﻤﻮداري اﺳﺖ ﻛﻪ در آن ﺳﻪ ﻣﻔﻬﻮم اﺳﺎﺳﻲ ﻣﺪل‬

‫‪ER‬‬

‫ﻳﻌﻨﻲ‬

‫ﻣﻮﺟﻮدﻳﺖ‪ ،‬ﺻﻔﺖ و ﻧﻮع ارﺗﺒﺎط ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮﻧﺪ‪ .‬در واﻗﻊ ﻧﻤﻮدار‬

‫‪ER‬‬

‫اوﻟﻴﻦ‬

‫‪ER‬‬

‫ﻃﺮح ﭘﺎﻳﮕﺎه داده ﻫﺎ و ﻣﺪل ﻛﻠﻲ آن در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ اﻧﺘﺰاع ﻣﻲ ﺑﺎﺷﺪ‪.‬‬ ‫ﻣﻔﻬﻮم ﻧﻤﺎد در ﻣﺪل‬

‫‪ER‬‬

‫ﻧﻤﺎد در ﻣﺪل‬

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

‫ﻧﻮع ارﺗﺒﺎط )‪ :(Relationship‬ﻋﺎﻣﻞ ارﺗﺒﺎط‬ ‫ﻣﻮﺟﻮدﻳﺖﻫﺎ را ﺑﺎ ﻟﻮزي ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ‪.‬‬ ‫ﻧﻮع ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﺑﺎ ﻗﻮي‬

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

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

‫ﺻﻔﺖ‪ :‬ﺻﻔﺖﻫﺎي ﻫﺮ ﻣﻮﺟﻮدﻳﺖ را ﺗﻮﺳﻂ‬ ‫اﺷﻜﺎل ﺑﻴﻀﻲ ﺑﻪ آن ﻣﺘﺼﻞ ﻣﻲﻧﻤﺎﻳﻴﻢ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫‪ER‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪26‬‬

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

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

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

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

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

‫ﭼﻨﺪي ارﺗﺒﺎط‬

‫‪R‬‬

‫‪E2‬‬ ‫‪M‬‬

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

‫ﻫﺮ ﻧﻤﻮدار‬

‫‪1‬‬ ‫‪1‬‬

‫‪ER‬‬

‫‪E1‬‬ ‫‪N‬‬

‫ﻧﻤﻮدار ‪ER‬‬

‫ﭘﺎﺳﺨﮕﻮي ﻣﺠﻤﻮﻋﻪ ﻣﺸﺨﺼﻲ از ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان اﺳﺖ و ﺑﺪﻳﻬﻲ‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ !" #‬‬ ‫ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ‬

‫ﻧﺎم‬

‫‪27‬‬

‫درﺟﻪ داﻧﺸﮕﺎﻫﻲ‬

‫داﻧﺸﺠﻮ‬

‫درس‬

‫ﻧﺎم‬

‫اﺳﺘﺎد‬

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

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

‫ﺳﺎل آﻣﻮزﺷﻲ‬

‫اﻧﺘﺨﺎب‬

‫درس‬

‫ﺗﺮم‬

‫ﺣﺬف‬

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

‫‪Ramin.Samad@yahoo.com‬‬

‫ﻧﻤﺮه‬

‫داﻧﺸﺠﻮ‬

‫ﻧﻮع‬


‫‪WWW.IRANMEET.COM‬‬

‫‪28‬‬

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

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

‫ﺗﻌﺪاد ﻣﻮﺟﻮدﻳﺖﻫﺎي‬ ‫ﺷﺮﻛﺖ ﻛﻨﻨﺪه در ارﺗﺒﺎط‬

‫ﻻﺗﻴﻦ‬

‫ﻓﺎرﺳﻲ‬

‫‪1‬‬

‫‪Unary‬‬

‫ﻳﮕﺎﻧﻲ‬

‫‪2‬‬

‫‪Binary‬‬

‫دوﮔﺎﻧﻲ‬

‫‪3‬‬

‫‪Ternary‬‬

‫ﺳﻪ ﮔﺎﻧﻲ‬

‫…‬ ‫‪N‬‬

‫…‬ ‫‪n-ary‬‬

‫…‬ ‫ﭼﻨﺪ ﮔﺎﻧﻲ‬

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

‫ﻳﮕﺎﻧﻲ زﻣﺎﻧﻲ ﻛﻪ ﻳﻚ ﻧﻮع ارﺗﺒﺎط ﺑﻴﻦ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ و ﺧﻮدش ﺑﺮﻗﺮار ﺑﺎﺷﺪ‪.‬‬ ‫درس‬

‫ه ز‬

‫‪:2‬‬

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

‫ا ب‬

‫دا ‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ !" #‬‬

‫‪29‬‬

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

‫ا ب‬

‫ا د‬

‫درس‬

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

‫ در‬

‫ ر‬ ‫ اد ‬

‫ ‬

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

‫‪ 2-3‬ﻣﺎﻫﻴﺖ ﻧﻮع ارﺗﺒﺎط )اﺗﺼﺎل(‬ ‫اﮔﺮ دو ﻣﻮﺟﻮدﻳﺖ‬

‫‪A‬‬

‫و‪ B‬را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ اﻳﻦ دو ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻳﻜﻲ از ﺳﻪ ﺣﺎﻟﺖ‬

‫زﻳﺮ ﺑﺎ ﻫﻢ ارﺗﺒﺎط دارﻧﺪ‪.‬‬ ‫•‬

‫‪2‬‬

‫ﻳﻚ ﺑﻪ ﻳﻚ ‪ :‬ﻳﻚ ﻧﻤﻮﻧﻪ از ﻣﻮﺟﻮدﻳﺖ ‪ A‬ﺣﺪاﻛﺜﺮ ﺑﺎ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻣﻮﺟﻮدﻳﺖ‬

‫‪B‬‬

‫ارﺗﺒﺎط دارد و ﺑﺮ ﻋﻜﺲ‪ .‬ﺑﻪ اﺧﺘﺼﺎر ‪ 1:1‬ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ‪.‬‬ ‫‪1. T er n a r y‬‬ ‫‪2. O n e T o O n e‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪30‬‬

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

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

‫‪B‬‬

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

‫ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ‪:2‬ﻳﻚ ﻧﻤﻮﻧﻪ از ‪ A‬ﺑﺎ ‪ n‬ﻧﻤﻮﻧﻪ از ‪ B‬ارﺗﺒﺎط دارد و ﺑﺮ ﻋﻜﺲ )‪ .(n>1‬ﺑﻪ‬ ‫اﺧﺘﺼﺎر ‪ M: N‬ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ‪.‬‬ ‫‪1‬‬

‫‪N‬‬

‫ﻋﻀﻮﻳﺖ‬

‫‪1‬‬

‫‪1‬‬ ‫ﮔﺮوه آﻣﻮزﺷﻲ‬

‫اﺳﺘﺎد‬

‫ﻣﺪﻳﺮﻳﺖ‬ ‫‪N‬‬

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

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

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

‫‪3‬‬

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

‫داﻧﺸﺠﻮ‬

‫‪M‬‬ ‫)‪(0 , 1‬‬

‫راﻫﻨﻤﺎﻳﻲ‬

‫‪1‬‬

‫اﺳﺘﺎد‬

‫)‪(0 , 10‬‬

‫ﺷﻜﻞ ‪ 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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ !" #‬‬

‫‪31‬‬

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

‫)‪10‬و‪ (0‬ﺑﺪﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ ﻳﻚ اﺳﺘﺎد ﻣﻤﻜﻦ اﺳﺖ ﺣﺪاﻛﺜﺮ ‪ 10‬داﻧﺸﺠﻮ را‬ ‫راﻫﻨﻤﺎﻳﻲ ﻛﻨﺪ و ﻳﺎ ﻫﻴﭻ داﻧﺸﺠﻮﻳﻲ ﺑﺮاي راﻫﻨﻤﺎﻳﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ )اﻳﻦ اﺳﺘﺎد‬ ‫ﭘﺮوژه اراﺋﻪ ﻧﻜﺮده اﺳﺖ(‪.‬‬

‫•‬

‫)‪1‬و‪ (0‬ﺑﺪﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ ﻳﻚ داﻧﺸﺠﻮ ﺣﺪاﻛﺜﺮ ﻣﻲﺗﻮاﻧﺪ ﻳﻚ اﺳﺘﺎد راﻫﻨﻤﺎ‬ ‫داﺷﺘﻪ ﺑﺎﺷﺪ و اﮔﺮ ﭘﺮوژه اﺧﺬ ﻧﻜﺮده ﺑﺎﺷﺪ ﻫﻴﭻ اﺳﺘﺎد راﻫﻨﻤﺎﻳﻲ ﻧﺪارد‪.‬‬

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

‫‪ER‬‬

‫در ﻧﺘﻴﺠﻪ درك ﻧﺎدرﺳﺖ و ﺗﻔﺴﻴﺮ ﻧﺎﺻﺤﻴﺢ از ﻣﻌﻨﺎي ﺑﻌﻀﻲ ارﺗﺒﺎﻃﺎت در ﻣﺪل ﺳﺎزي‬ ‫داده ﻫﺎ ﻣﺸﻜﻼﺗﻲ ﻣﻮﺳﻮم ﺑﻪ داﻣﻬﺎي ﭘﻴﻮﻧﺪي‪ 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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪32‬‬

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

‫‪M‬‬

‫درس‬

‫اﻧﺘﺨﺎب‬

‫‪N‬‬

‫داﻧﺸﺠﻮ‬

‫‪N‬‬

‫اراﺋﻪ‬

‫‪M‬‬

‫ﺗﻌﻠﻴﻢ‬

‫اﺳﺘﺎد‬

‫‪M‬‬

‫‪N‬‬

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

‫‪ 2-4‬دام ﭼﻨﺪ ﺷﺎﺧﻪاي‬ ‫اﻳﻦ ﻧﻮع دام وﻗﺘﻲاﻳﺠﺎد ﻣﻲ ﺷﻮد ﻛﻪ ﺑﻴﻦ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬ ‫‪G‬‬

‫ارﺗﺒﺎط‬

‫‪1: N‬‬

‫‪E‬‬

‫و ﻣﻮﺟﻮدﻳﺖﻫﺎي‬

‫ﺑﺎ ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬وﻟﻲ ارﺗﺒﺎط ﺑﻴﻦ‬

‫‪F‬‬

‫و‬

‫‪G‬‬

‫‪F‬‬

‫و‬

‫دﻳﺪه‬

‫ﻧﺸﺪه ﺑﺎﺷﺪ‪ .‬در اﻳﻦ ﺻﻮرت ﻧﻤﻲ ﺗﻮان وﺟﻮد ارﺗﺒﺎط ﺑﻴﻦ ‪ F‬و ‪ G‬را ﺑﺪﺳﺖ آورد‪.‬‬

‫‪1‬‬ ‫دارد‬

‫داﻧﺸﻜﺪه‬

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

‫‪N‬‬

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

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

‫‪ 3-4‬دام ﮔﺴﻞ‬ ‫اﻳﻦ ﻧﻮع دام وﻗﺘﻲ اﻳﺠﺎد ﻣﻲ ﺷﻮد ﻛﻪ ﺑﻴﻦ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬

‫‪E‬‬

‫و‬

‫‪F‬‬

‫ﻳﻚ ارﺗﺒﺎط‬

‫‪1: N‬‬

‫و‬

‫ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬وﻟﻲ‪ F‬ﺑﺎ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ‪ G‬ارﺗﺒﺎط ‪ 1:N‬ﺑﺎ ﻣﺸﺎرﻛﺖ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ !" #‬‬

‫ﻏﻴﺮ اﻟﺰاﻣﻲ داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬در اﻳﻦ ﺷﺮاﻳﻂ ﻧﻤﻲ ﺗﻮان ﺗﻤﺎم اﻃﻼعﻫﺎي دو ﻣﻮﺟﻮدﻳﺘﻲ ﺑﻴﻦ‬

‫‪33‬‬ ‫‪E‬‬

‫و ‪ G‬را ﺑﺪﺳﺖ آورد‪ .‬اﮔﺮ ﭼﻨﻴﻦ ﻓﺮﺿﻲ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد‪ ،‬دﭼﺎر دام ﮔﺴﻞ ﺷﺪه اﻳﻢ‪.‬‬

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

‫‪EER‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﻢ روش‬

‫‪ER‬‬

‫داراي ﻧﻘﺎط ﺿﻌﻔﻲ ﺑﻮد‪ .‬اﻳﻦ ﻧﻘﺎط ﺿﻌﻒ ﺑﻴﺸﺘﺮ زﻣﺎﻧﻲ‬

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

‫‪N‬‬

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

‫‪N‬‬

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

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

‫‪ 1-5‬ﺗﺠﺰﻳﻪ‪ 1‬و ﺗﺮﻛﻴﺐ‬

‫‪2‬‬

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪34‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻛﻞ‬

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

‫در روش‬

‫‪ERR‬‬

‫ارﺗﺒﺎط ﺑﻴﻦ ﺷﻲء ﻛﻞ و اﺷﻴﺎء ﺟﺰء را ارﺗﺒﺎط " ﺟﺰﺋﻲ اﺳﺖ از‪" ...‬‬

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ !" #‬‬

‫‪ 2-5‬ﺗﺨﺼﻴﺺ‪ 1‬و ﺗﻌﻤﻴﻢ‬

‫‪35‬‬

‫‪2‬‬

‫ﺗﺨﺼﻴﺺ ﻓﺮاﻳﻨﺪي اﺳﺖ ﻛﻪ ﻃﻲ آن ﻧﻤﻮﻧﻪﻫﺎي ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ ‪) 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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪36‬‬

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

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

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

‫‪ 3-5‬زﻳﺮ ﻧﻮعﻫﺎي ﻫﻤﭙﻮﺷﺎ‪ 1‬و ﻣﺠﺰا‬

‫‪2‬‬

‫ﻧﻤﻮﻧﻪ ﻫﺎي ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ ﺑﺮ اﺳﺎس ﺻﻔﺎت ﺧﺎﺻﻪ ﻣﺸﺘﺮك و ﻣﺠﺰا در‬ ‫دﺳﺘﻪ ﻫﺎي ﺧﺎص ﺧﻮد دﺳﺘﻪ ﺑﻨﺪي ﻣﻲ ﺷﻮﻧﺪ‪ .‬ﺣﺎل ﻣﻤﻜﻦ اﺳﺖ ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ‬ ‫در دو دﺳﺘﻪ ﻗﺎﺑﻞ دﺳﺘﻪ ﺑﻨﺪي ﺑﺎﺷﺪ در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﻪ اﻳﻦ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ‪،‬‬ ‫ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﻫﻤﭙﻮﺷﺎ )ﻣﺸﺘﺮك( ﮔﻮﻳﻨﺪ‪.‬‬ ‫‪1. O ve r l a p‬‬ ‫‪2. D i sj o i n t‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ !" #‬‬

‫‪37‬‬

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

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

‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ ﻧﺮم اﻓﺰار ﻛﺎرﺑﺮدي‬

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

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

‫‪U‬‬

‫ﭘﺮﺳﻨﻞ زن‬

‫ﭘﺮﺳﻨﻞ ﻣﺮد‬

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

‫‪ 4-5‬دﺳﺘﻪ ﺑﻨﺪي ‪ 1‬و وراﺛﺖ‬

‫‪2‬‬

‫ﻳﻚ زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻣﻲ ﺗﻮاﻧﺪ زﻳﺮ ﻧﻮع ﺑﻴﺶ از ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ ﺑﺎﺷﺪ‪ .‬ﻛﻪ‬ ‫در اﻳﻦ ﺷﺮاﻳﻂ ﺑﻌﻀﻲ از ﺧﻮاص ﺧﻮد را از ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ و ﺑﻌﻀﻲ دﻳﮕﺮ‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪38‬‬

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

‫از ﺻﻔﺎت ﺧﺎﺻﻪ ﺧﻮد را از ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ دﻳﮕﺮ ﺑﻪ ارث ﻣﻲ ﺑﺮد‪ .‬اﻳﻦ‬ ‫ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﺑﺮﺗﺮ ﻣﻲ ﺗﻮاﻧﻨﺪ از ﻳﻚ ﻧﻮع ﺑﺎﺷﻨﺪ ﻛﻪ در اﻳﻦ ﺷﺮاﻳﻂ داراي ﺷﻨﺎﺳﻪ ﻫﺎي‬ ‫ﻳﻜﺴﺎن ﻫﺴﺘﻨﺪ‪ .‬وﻟﻲ در ﺷﺮاﻳﻄﻲ ﻛﻪ ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﺑﺮﺗﺮ از ﻳﻚ ﻧﻮع ﻧﺒﺎﺷﻨﺪ‪ ،‬در واﻗﻊ‬ ‫وراﺛﺖ ﭼﻨﺪﮔﺎﻧﻪ‬

‫‪1‬‬

‫رخ داده اﺳﺖ‪ .‬ﺑﻪ اﻳﻦ زﻳﺮ ﻧﻮعﻫﺎ در اﺻﻄﻼح دﺳﺘﻪ‪) 2‬ﻃﺒﻘﻪ(‬

‫ﻣﻲ ﮔﻮﻳﻨﺪ و در ﺑﻌﻀﻲ از ﻛﺘﺎب ﻫﺎ ﺑﻪ اﻳﻦ زﻳﺮ ﻧﻮع اﺻﻄﻼﺣﺎ ﻧﻮع اﺟﺘﻤﺎع ‪ 3‬ﻣﻲ ﮔﻮﻳﻨﺪ‪.‬‬ ‫ﺷﻜﻞ زﻳﺮ ﻧﺤﻮه ﻧﻤﺎﻳﺶ وراﺛﺖ ﭼﻨﺪ ﮔﺎﻧﻪ را ﻧﺸﺎن ﻣﻲ دﻫﺪ‪:‬‬ ‫‪E2‬ﻣﻮﺟﻮدﻳﺖ‬

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

‫‪U‬‬

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

‫‪ 5-5‬ﺗﺠﻤﻊ‬

‫‪4‬‬

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

‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ !" #‬‬

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

‫‪39‬‬

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

‫‪R1‬‬

‫‪R2‬‬

‫‪ E3‬ﻣﻮﺟﻮدﻳﺖ‬ ‫ﺷﻜﻞ ‪ 17-2‬ﻧﻤﺎﻳﺶ ﺗﺠﻤﻊ‬

‫‪-6‬روش ﻣﺪل ﺳﺎزي ﺷﻲء‬

‫‪UML‬‬

‫‪1‬‬

‫ﺑﺎ ﻣﻄﺮح ﺷﺪن اﻟﮕﻮﻫﺎي ﺷﻲء ﮔﺮاﻳﻲ ﻛﻪ ﻫﺮ ﻣﻮﺟﻮدﻳﺖ در ﺟﻬﺎن واﻗﻊ را ﺷﺎﻣﻞ‬ ‫داده ﻫﺎي آن ﻣﻮﺟﻮدﻳﺖ و ﻋﻤﻠﻜﺮدﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ آن ﺗﻮﺻﻴﻒ ﻣﻲ ﻛﺮد‪ ،‬ﻃﺮاﺣﺎن ﺳﻴﺴﺘﻢ‬ ‫روش ﻫﺎي‬

‫‪ER‬‬

‫و‬

‫‪EER‬‬

‫را ﻧﺎﻛﺎرآﻣﺪ ﺗﺸﺨﻴﺺ داده و در ﺟﺴﺘﺠﻮي ﺗﻌﺮﻳﻒ ﻳﻚ‬

‫ﻣﺘﻮدوﻟﻮژي ﺟﺪﻳﺪ ﺑﻮدﻧﺪ ﺗﺎ ﺑﺘﻮاﻧﻨﺪ ﻋﻤﻠﻜﺮد ﻫﺮ ﻣﻮﺟﻮدﻳﺖ را ﻧﻴﺰ ﺑﻪ ﻧﻤﺎﻳﺶ در آورﻧﺪ‪.‬‬ ‫از اﻳﻨﺮو ﮔﺮوه‬

‫‪OMG‬‬

‫‪2‬‬

‫روﺷﻲ اﺳﺘﺎﻧﺪارد ﺑﻨﺎم‬

‫‪UML‬‬

‫را ﺑﺮاي اﻳﺠﺎد ﺳﻴﺴﺘﻢ ﻫﺎي ﻛﺎرﺑﺮدي‬

‫ﻣﻌﺮﻓﻲ ﻛﺮدﻧﺪ و اﻳﻦ روش را در اﻳﺠﺎد ﺳﻴﺴﺘﻢ ﻫﺎي ﻛﺎرﺑﺮدي ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار دادﻧﺪ‪.‬‬ ‫ﻣﻬﻤﺘﺮﻳﻦ ﺧﺼﻮﺻﻴﺖ اﻳﻦ روش‪ ،‬اﻳﺠﺎد اﻣﻜﺎﻧﻲ ﺑﺮاي اﻳﺠﺎد و ﻧﻤﺎﻳﺶ اﺷﻴﺎء ﺟﻬﺎن واﻗﻊ‬ ‫ﺑﺼﻮرت ﺗﺼﻮﻳﺮي اﺳﺖ‪ .‬ﻳﻜﻲ از ﻧﻜﺎت ﺑﺴﻴﺎر ﻣﻬﻢ در اﺳﺘﻔﺎده ﻣﻮﺛﺮ از روش ‪،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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ !" #‬‬

‫ﻣﻔﻬﻮم در‬

‫ﻣﻔﻬﻮم در‬

‫‪UML‬‬

‫ﻛﻼس‬

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

‫ﺷﻲء‬

‫ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ‬

‫ﺻﻔﺖ‬

‫ﺻﻔﺖ‬

‫ﺑﺴﺘﮕﻲ‬

‫ارﺗﺒﺎط‬

‫ﭘﻴﻮﻧﺪ‬

‫‪1‬‬

‫‪41‬‬

‫‪EER‬‬

‫ﻧﻤﻮﻧﻪ ارﺗﺒﺎط‬

‫ﺑﺴﺘﮕﻲ اﻧﻌﻜﺎﺳﻲ‬ ‫ﺑﺴﺘﮕﻲ ﻣﻘﻴﺪ‬

‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪42‬‬

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

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

‫ﺷﻲء ﺟﺰء‬

‫ﭼﻨﺪي ارﺗﺒﺎط‪ :‬ﭼﻨﺪي ارﺗﺒﺎط ﺑﺼﻮرت ‪ min …max‬ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد‬ ‫ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري‪ :‬ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري ﺑﻪ ﺻﻮرت ﻳﻚ ﻛﻼس ﺟﺪاﮔﺎﻧﻪ ﻧﺸﺎن داده‬ ‫ﻣﻲ ﺷﻮد‪ ،‬وﻟﻲ ﻗﺴﻤﺖ ﭘﺮدازش را ﻫﻤﺮاه ﻧﺪارد‪.‬‬ ‫ﻣﻴﺪان‪ :‬ﻧﺎم ﻣﻴﺪان ﻣﻌﻤﻮﻻً ﺑﻌﺪ از ﻧﺎم ﺻﻔﺖ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد و ﺑﻴﻦ اﻳﻦ دو ﻧﺎم از ﻋﻼﻣﺖ‪:‬‬ ‫اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد ﺑﺼﻮرت زﻳﺮ‬ ‫ﻧﺎم ﻣﻴﺪان‪ :‬ﻧﺎم ﺻﻔﺖ‬ ‫ﺻﻔﺖ ﭘﻴﻮﻧﺪ‪ :‬ﺻﻔﺖ ﭘﻴﻮﻧﺪ در ﻳﻚ ﻣﺮﺑﻊ ﻳﺎ ﻣﺴﺘﻄﻴﻞ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد و ﺑﺎ ﺧﻂ ﭼﻴﻦ ﺑﻪ‬ ‫ﺧﻂ ﻧﺸﺎن دﻫﻨﺪه ﺑﺴﺘﮕﻲ ﻣﺘﺼﻞ ﻣﻲ ﺷﻮد‪ .‬ﻧﺎم ﭘﻴﻮﻧﺪ و ﻧﺎم ﺻﻔﺎت ﭘﻴﻮﻧﺪ در دو ﻗﺴﻤﺖ‬ ‫اﻳﻦ ﻣﺮﺑﻊ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮﻧﺪ‪ .‬ﺷﻜﻞ زﻳﺮ ﻧﺤﻮه ﻧﻤﺎﻳﺶ ﺻﻔﺖ ﭘﻴﻮﻧﺪ را ﻧﺸﺎن ﻣﻲ دﻫﺪ‬ ‫ﻧﺎم ﻛﻼس‬ ‫ﻧﺎم ﺻﻔﺎت‬

‫ﻧﺎم ﻛﻼس‬ ‫‪ Min.. max‬ﻧﺎم ﺑﺴﺘﮕﻲ ‪min.. max‬‬

‫ﭘﺮدازﺷﻬﺎ‬

‫ﻧﺎم ﺻﻔﺎت‬ ‫ﭘﺮدازﺷﻬﺎ‬

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

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

‫ﮔﻮﻳﺎﻳﻲ‬

‫•‬

‫ﺳﺎدﮔﻲ ﻣﻔﺎﻫﻴﻢ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ !" #‬‬ ‫•‬

‫اﻳﺠﺎز‬

‫•‬

‫ﮔﺴﺘﺮش ﭘﺬﻳﺮي‬

‫•‬

‫ﺻﻮري ﺑﻮدن‬

‫•‬

‫ﻗﺎﺑﻠﻴﺖ ﻧﻤﺎﻳﺶ ﻧﻤﻮداري‬

‫•‬

‫ﺟﺎﻣﻊ ﺑﻮدن ﻣﻔﺎﻫﻴﻢ‬

‫•‬

‫ﻗﺎﺑﻠﻴﺖ ﻧﻤﺎﻳﺶ ﺳﺎﺧﺘﺎر ﺣﺎﻟﺖ و رﻓﺘﺎر ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬

‫‪43‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪44‬‬

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫ﻫﺪف رﻓﺘﺎري‬ ‫در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬ ‫•‬

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

‫•‬

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

‫•‬

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

‫•‬

‫دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ‬

‫•‬

‫ﻛﺎرﺑﺮ‬

‫•‬

‫زﺑﺎن ﻣﻴﺰﺑﺎن‬

‫•‬

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

‫•‬

‫اﻧﻮاع زﺑﺎن دادهاي‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪46‬‬

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

‫‪ -1‬ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎهداده‬ ‫از آﻧﺠﺎ ﻛﻪ در ﭼﮕﻮﻧﮕﻲ ﻣﻌﻤﺎري "ﭘﺎﻳﮕﺎه داده ﻫﺎ" ﺣﺪاﻗﻞ در ﺳﺎﻟﻬﺎي آﻏﺎزﻳﻦ اﻳﺠﺎد‬ ‫اﻳﻦ ﺗﻜﻨﻮﻟﻮژي‪ ،‬ﺑﻴﻦ ﻛﺎرﺷﻨﺎﺳﺎن اﺗﻔﺎق ﻧﻈﺮ ﻧﺒﻮد‪ ،‬ﻟﺬا‬

‫‪ANSI/SPARC‬‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ‬

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

‫ﺳﻄﺢ ﺧﺎرﺟﻲ‬

‫‪….‬‬

‫ﺳﻄﻮح‬ ‫اﻧﺘﺰاﻋﻲ‬

‫ﺳﻄﺢ ادراﻛﻲ‬ ‫)ﻣﻔﻬﻮﻣﻲ(‬ ‫‪-----------------------‬‬‫ﺳﻄﺢ داﺧﻠﻲ‬ ‫ﺷﻜﻞ ‪ 1-3‬ﻧﻤﺎي ﺳﺎده ﺷﺪه ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ‬

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

‫‪ANSI‬‬

‫ﺑﺮاي ﭘﺎﻳﮕﺎه داده در ﺷﻜﻞ ‪ 2-3‬ﻧﺸﺎن داده‬

‫ﻣﻲ ﺷﻮد‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪47‬‬

‫ ‪ ! %‬‬

‫آ ر! ‪i‬‬

‫‪D‬‬ ‫‪B‬‬ ‫‪M‬‬ ‫‪S‬‬

‫‪OS‬‬

‫آ ر! ‪٢‬‬

‫د ر ‪j‬‬

‫آ ر! ‪١‬‬

‫ﺳﻄﺢ ﺧﺎرﺟﻲ‬ ‫د ر ‪٢‬‬

‫د ر ‪١‬‬

‫ﺳﻄﻮح‬ ‫‪D‬‬ ‫‪B‬‬ ‫‪A‬‬

‫اﻧﺘﺰاﻋﻲ‬ ‫د ادراآ ) (‬

‫ﺳﻄﺢ ادراﻛﻲ‬

‫د دا ‬

‫ﺳﻄﺢ داﺧﻠﻲ‬ ‫ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ‬

‫‪ k‬‬

‫‪......‬‬

‫ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ‬ ‫ ‪٢‬‬

‫ ‪١‬‬

‫ﻓﺎﻳﻠﻴﻨﮓ ﻓﻴﺰﻳﻜﻲ‬

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

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

‫ﻛﺎرﺑﺮ‬

‫•‬

‫زﺑﺎن ﻣﻴﺰﺑﺎن‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪48‬‬

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

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

‫•‬

‫دﻳﺪ ﺧﺎرﺟﻲ‬

‫•‬

‫دﻳﺪ ادراﻛﻲ‬

‫•‬

‫دﻳﺪ داﺧﻠﻲ‬

‫•‬

‫ﻓﺎﻳﻠﻬﺎي ﻓﻴﺰﻳﻜﻲ‬

‫•‬

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

‫•‬

‫ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

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

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

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

‫•‬

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

‫•‬

‫دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ‬

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

‫دﻳﺪ ﻳﺎ ﻧﻤﺎي ادراﻛﻲ در واﻗﻊ ﻫﻤﺎن دﻳﺪ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻧﺴﺒﺖ ﺑﻪ دادهﻫﺎي‬ ‫ذﺧﻴﺮه ﺷﺪﻧﻲ در ﭘﺎﻳﮕﺎهداده اﺳﺖ‪.‬‬

‫•‬

‫اﻳﻦ دﻳﺪ ﻳﻚ دﻳﺪ ﺟﺎﻣﻊ )ﺳﺮﺗﺎﺳﺮي( ﺑﻮده و ﺗﻤﺎم ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان در ﻣﺤﻴﻂ‬ ‫ﻋﻤﻠﻴﺎﺗﻲ را در ﺑﺮ ﻣﻲﮔﻴﺮد‪.‬‬

‫•‬

‫اﻳﻦ دﻳﺪ در ﻳﻚ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﻣﻄﺮح اﺳﺖ‪ :‬ﺑﻨﺎﺑﺮﻳﻦ ﻣﺒﺘﻨﻲ اﺳﺖ ﺑﺮ ﻳﻚ ﺳﺎﺧﺘﺎر‬ ‫دادهاي ﻣﺸﺨﺺ )از ﻳﻚ ﻣﺪل دادهاي ﻛﻪ اﻧﺘﺰاع ﻻزم را ﺗﺎﻣﻴﻦ ﻣﻲﻛﻨﺪ(‪.‬‬

‫•‬

‫اﻳﻦ دﻳﺪ‪ ،‬ﺑﺎ ﺳﺎﺗﻔﺎده از ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ ﻫﻤﺎن ﺳﺎﺧﺘﺎر دادهاي‪ ،‬ﻃﺮاﺣﻲ‬ ‫ﻣﻲﺷﻮد‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ ! %‬‬ ‫•‬

‫‪49‬‬

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

‫•‬

‫ﺷﻤﺎي ادراﻛﻲ ﺑﻪ ﺳﻴﺴﺘﻢ داده ﻣﻲﺷﻮد و در ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﻧﮕﻬﺪاري ﻣﻲﺷﻮد‪.‬‬

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

‫‪ 2-2‬دﻳﺪ )ﻧﻤﺎي( ﺧﺎرﺟﻲ‬ ‫دﻳﺪ ﻳﺎ ﻧﻤﺎي ﺧﺎرﺟﻲ در ﻛﺘﺐ ﻣﺨﺘﻠﻒ ﺑﺎ ﻋﺒﺎرات ﻣﺨﺘﻠﻔﻲ ﺗﻮﺿﻴﺢ داده ﺷﺪه اﺳﺖ‪ .‬در‬ ‫اداﻣﻪ ﭼﻨﺪ ﺗﻌﺮﻳﻒ از دﻳﺪ ﺧﺎرﺟﻲ ﻣﻄﺮح ﺷﺪه اﺳﺖ‪:‬‬ ‫•‬

‫ﻣﻔﻬﻮم دﻳﺪ ﻳﺎ ﻧﻤﺎي ﺧﺎرﺟﻲ در واﻗﻊ ﻫﻤﺎن ﻣﻔﻬﻮﻣﻲاﺳﺖ ﻛﻪ در ﺗﺤﻠﻴﻞ و‬ ‫ﻃﺮاﺣﻲ ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﻜﺎر ﺑﺮده ﻣﻲﺷﻮد‪ .‬در اداﻣﻪ ﺗﻌﺎرﻳﻒ و ﻧﻜﺎﺗﻲ در ﻣﻮرد دﻳﺪ‬ ‫ﺧﺎرﺟﻲ آﻣﺪه اﺳﺖ‪:‬‬

‫•‬

‫دﻳﺪ ﻛﺎرﺑﺮ ﺧﺎص اﺳﺖ ﻧﺴﺒﺖ ﺑﻪ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬

‫•‬

‫اﻳﻦ دﻳﺪ ﺟﺰﻳﻲ اﺳﺖ و ﻧﻪ ﺟﺎﻣﻊ‪ :‬ﻧﺸﺎن دﻫﻨﺪه "ﻣﺤﺪودهاي " از ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻛﻪ‬ ‫ﺑﻪ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ ﻳﻚ ﻛﺎرﺑﺮ ﺧﺎص ﭘﺎﺳﺦ ﻣﻲدﻫﺪ‪.‬‬

‫•‬

‫اﻳﻦ دﻳﺪ ﻫﻢ در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ ﻣﻄﺮح اﺳﺖ‪ :‬ﺑﻨﺎﺑﺮﻳﻦ ﻣﺒﺘﻨﻲ اﺳﺖ ﺑﺮ ﻳﻚ ﺳﺎﺧﺘﺎر‬ ‫دادهاي ﻣﺸﺨﺺ و ﻣﻌﻤﻮﻻً ﻫﻤﺎن ﺳﺎﺧﺘﺎر دادهاي ﻛﻪ دﻳﺪ ادراﻛﻲ ﺑﺮ اﺳﺎس آن‬ ‫ﻃﺮاﺣﻲ و ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد‪.‬‬

‫•‬

‫اﻳﻦ دﻳﺪ روي دﻳﺪ ادراﻛﻲ ﻃﺮاﺣﻲ و ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد )ﺑﻪ ﻫﻤﻴﻦ دﻟﻴﻞ ﺑﻪ‬ ‫ﺟﺪوﻟﻬﺎي ﺳﻄﺢ ادراﻛﻲ‪ ،‬ﺟﺪوﻟﻬﺎي ﻣﺒﻨﺎ ﻳﺎ ﭘﺎﻳﻪ ﻣﻲﮔﻮﻳﻨﺪ(‪.‬‬

‫•‬

‫ﺑﻪ وﺻﻒ ﻳﺎ ﺗﻌﺮﻳﻒ دﻳﺪ ﺧﺎرﺟﻲ‪ ،‬ﺷﻤﺎي ﺧﺎرﺟﻲ ﻣﻲﮔﻮﻳﻴﻢ‪ :‬ﻧﻮﻋﻲ "ﺑﺮﻧﺎﻣﻪ "‬ ‫ﻛﻪ ﻛﺎرﺑﺮ ﺳﻄﺢ ﺧﺎرﺟﻲ ﻣﻲﻧﻮﻳﺴﺪ ﺣﺎوي دﺳﺘﻮرات "ﺗﻌﺮﻳﻒ دادهﻫﺎ " و ﮔﺎه‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪50‬‬

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

‫"ﻛﻨﺘﺮل دادهﻫﺎ" در ﻫﻤﺎن ﺳﻄﺢ ﺧﺎرﺟﻲ‪ .‬ﺷﻤﺎي ﺧﺎرﺟﻲ ﻫﻢ ﺑﻪ ﺳﻴﺴﺘﻢ داده‬ ‫ﻣﻲﺷﻮد و در ﻛﺎﺗﺎﻟﻮگ آن ﻧﮕﻬﺪاري ﻣﻲﺷﻮد‪.‬‬ ‫•‬

‫ﺑﻪ ﺗﻌﺮﻳﻒ ﻣﺠﻤﻮﻋﻪ دﻳﺪﻫﺎي ﺧﺎرﺟﻲ ﻛﺎرﺑﺮ‪ ،‬ﺳﻄﺢ ﺧﺎرﺟﻲ ﮔﻔﺘﻪ ﻣﻲﺷﻮد‪.‬‬

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

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

‫‪ 3-2‬دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ‬ ‫ﺳﻄﺢ داﺧﻠﻲ‪ ،‬ﻫﻤﺎن ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه داده ﻫﺎﺳﺖ‪ .‬ﻣﻌﻨﺎﻳﺶ اﻳﻦ اﺳﺖ ﻛﻪ‬ ‫‪DBMS‬‬

‫ﺑﻪ ﺟﻨﺒﻪﻫﺎي ﻓﺎﻳﻠﻴﻨﮓ ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻧﻤﻲ ﭘﺮدازد‪ .‬اﻳﻦ ﻛﺎر ﺑﺮ ﻋﻬﺪه‬

‫"ﺳﻴﺴﺘﻢ ﻓﺎﻳﻞ ﻓﻴﺰﻳﻜﻲ" در ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ اﺳﺖ‪ .‬در واﻗﻊ‪،‬‬

‫‪DBMS‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫در ﻣﺤﻴﻂ ﻓﺎﻳﻠﻴﻨﮓ‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ ! %‬‬

‫‪51‬‬

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

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

‫‪DBMS‬‬

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

‫دﻳﺪ‬

‫‪DBMS‬‬

‫)و ﻧﻴﺰ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ( اﺳﺖ در ﺳﻄﺢ ﭘﺎﻳﻴﻦ ﺗﺮ از ﺳﻄﺢ‬

‫ادراﻛﻲ‪ ،‬ﻧﺴﺒﺖ ﺑﻪ ﻛﻞ دادﻫﻬﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ در ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬ ‫•‬

‫اﻳﻦ دﻳﺪ در ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ )و ﮔﺎه ﻣﺠﺎزي( ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻣﻄﺮح اﺳﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪52‬‬

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

‫اﻳﻦ دﻳﺪ ﻣﺒﺘﻨﻲ اﺳﺖ ﺑﺮﻳﻚ )و ﮔﺎه ﺑﻴﺶ از ﻳﻚ( ﺳﺎﺧﺘﺎر ﻓﺎﻳﻞ ﻛﻪ ﻣﻌﻤﻮﻻً ﺑﺎ ﻧﻈﺮ‬ ‫و دﺧﺎﻟﺖ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻃﺮاﺣﻲ ﻣﻲﺷﻮد‪ .‬اﻳﻦ ﻃﺮاﺣﻲ‪ ،‬اﺻﻄﻼﺣﺎ ﺑﻪ ﻃﺮاﺣﻲ‬ ‫ﻓﻴﺰﻳﻜﻲ ﻣﻮﺳﻮم اﺳﺖ‪.‬‬

‫•‬

‫ﺳﻄﺢ داﺧﻠﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ‪ ،‬در واﻗﻊ ﺳﻄﺤﻲ اﺳﺖ ﻛﻪ در آن ﻓﺎﻳﻠﻬﺎي ﻣﻨﻄﻘﻲ‬ ‫ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد‪.‬‬

‫•‬

‫ﺑﻪ ﺷﺮح ﻳﺎ ﺗﻌﺮﻳﻒ دﻳﺪ داﺧﻠﻲ‪ ،‬ﺷﻤﺎي داﺧﻠﻲ ﮔﻔﺘﻪ ﻣﻲﺷﻮد‪ :‬ﻧﻮﻋﻲ "ﺑﺮﻧﺎﻣﻪ" ﻛﻪ‬ ‫ﺗﻮﺳﻂ ﺧﻮد ‪) DBMS‬و ﺗﺎ ﺣﺪي ﺑﺎ دﺧﺎﻟﺖ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ( ﺗﻮﻟﻴﺪ ﻣﻲﺷﻮد و‬ ‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﮔﻔﺘﻴﻢ ﺷﺮح ﻳﺎ ﺗﻮﺻﻴﻒ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه اﺳﺖ ﻛﻪ در واﻗﻊ‬ ‫ﻫﻤﺎن ﺳﻄﺢ داﺧﻠﻲ اﺳﺖ‪.‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ ! %‬‬

‫ﻧﻜﺘﻪ‪ :‬در ﺑﻌﻀﻲ از ﺳﻴﺴﺘﻢﻫﺎي ﭘﺎﻳﮕﺎﻫﻲ‪،‬‬

‫‪DBMS‬‬

‫‪53‬‬

‫ﻛﻞ ﻓﻀﺎي ﭘﺎﻳﮕﺎه دادهﻫﺎ را ﺑﻪ‬

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

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

‫ﻛﺎرﺑﺮ‬

‫•‬

‫زﺑﺎن ﻣﻴﺰﺑﺎن‬

‫•‬

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

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪ ! %‬‬

‫‪55‬‬

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

‫ﻣﺴﺘﻘﻞ ﻳﺎ ﺧﻮد ﻛﻔﺎ‬

‫•‬

‫ادﻏﺎم ﺷﺪﻧﻲ )ادﻏﺎم ﺷﺪه(‬

‫‪DDL‬‬

‫ﺳﻄﺢ ﺧﺎرﺣﻲ‬

‫‪DML‬‬

‫ﺳﻄﺢ ادراﻛﻲ‬

‫‪DCL‬‬

‫ﺳﻄﺢ داﺧﻠﻲ‬

‫ﻣﻌﻤﺎري‬ ‫‪ANSI‬‬

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

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

‫‪I.DSL‬‬

‫ﮔﻮﻳﻴﻢ‪.‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪56‬‬

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

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

‫‪Ramin.Samad@yahoo.com‬‬


тАлтАкWWW.IRANMEET.COMтАмтАм

тАл &тАм тАл ( ' тАм тАля╗ля║к┘Б я╗Ыя╗ая╗▓тАм тАл╪п╪▒ ╪зя╗│я╗ж я╗Уя║╝я╗Ю ╪зя║Ся║Шя║к╪з я║│я╗┤я║┤я║Шя╗в я╗гя║кя╗│я║оя╗│я║Ц янШя║Оя╗│яоХя║О┘З ╪п╪з╪п┘З я╗ля║О я║Чя╗Мя║оя╗│я╗Т ┘И я║│я╗к я║Ся║ия║╢ ╪зя║╗я╗ая╗▓ ╪в┘Ж я╗гя╗о╪▒╪птАм тАля║Ся║о╪▒я║│я╗▓ я╗Чя║о╪з╪▒ я║зя╗о╪зя╗ля╗ия║к яоФя║оя╗Уя║ЦтАк .тАмя║│янЩя║▓ я║│я╗┤я║┤я║Шя╗в я╗ля║О┘К я╗гя║кя╗│я║оя╗│я║Ц янШя║Оя╗│яоХя║О┘З ╪п╪з╪п┘З я╗ля║О ╪з╪▓ я║Яя╗мя║О╪ктАм тАля╗гя║ия║Шя╗ая╗Т я╗гя╗о╪▒╪п ╪пя║│я║Шя╗к я║Ся╗ия║к┘К я╗Чя║о╪з╪▒ я║зя╗о╪зя╗ля╗ия║к яоФя║оя╗Уя║ЦтАк .тАм╪п╪▒ ╪з╪п╪зя╗гя╗к ╪зя║Яя║░╪з╪б я║│я╗┤я║┤я║Шя╗в я╗гя║кя╗│я║оя╗│я║ЦтАм тАлянШя║Оя╗│яоХя║О┘З ╪п╪з╪п┘З я╗гя╗Мя║оя╗Уя╗▓ я║╖я║к┘З ┘И я╗Ыя║Оя║Чя║Оя╗Яя╗о┌п я╗│я║О ╪пя╗│я╗Ья║╕я╗ия║о┘К янШя║Оя╗│яоХя║О┘З ╪п╪з╪п┘З я╗ля║О я║Чя╗оя║┐я╗┤я║в ╪п╪з╪п┘З я║зя╗о╪зя╗ля║к я║╖я║ктАк.тАмтАм тАля║│янЩя║▓ янШя║О╪▒╪зя╗гя║Шя║оя╗ля║О┘К я╗гя║ия║Шя╗ая╗Т я╗гя╗о╪▒╪п я╗зя╗┤я║О╪▓ я║Яя╗мя║Ц я║╖я╗ия║Оя║зя║ЦтАм тАл╪зя║╗я╗ая╗▓ я╗гя╗Шя║Оя╗│я║┤я╗ктАм

тАлтАкDBMSтАмтАм

тАлтАкDBMSтАмтАм

тАля╗гя╗Дя║о╪н я║╖я║к┘З ┘И я╗гя║дя╗о╪▒ я╗ля║О┘КтАм

тАля║╖я║о╪н ╪п╪з╪п┘З я║зя╗о╪зя╗ля╗ия║к я║╖я║ктАк .тАм╪п╪▒ янШя║Оя╗│я║О┘Ж я╗зя╗┤я║░ я║Яя║Оя╗│яоХя║О┘З я╗гя║кя╗│я║о янШя║Оя╗│яоХя║О┘З ╪п╪з╪п┘ЗтАм

тАля║Чя║╕я║оя╗│я║в я║╖я║к┘З ┘И я║Чя╗┤я╗в я╗гя║кя╗│я║оя╗│я║Ц янШя║Оя╗│яоХя║О┘З ╪п╪з╪п┘З я║╖я║о╪н ╪п╪з╪п┘З я║зя╗о╪зя╗ля║к я║╖я║ктАк.тАмтАм

тАля╗ля║к┘Б ╪▒я╗Уя║Шя║О╪▒┘КтАм тАл╪п╪▒ ╪зя╗│я╗ж я╗Уя║╝я╗Ю я╗Ля╗ия║О┘Ия╗│я╗ж ╪▓я╗│я║о я╗гя╗о╪▒╪п я║Ся║дя║Ъ ┘И я║Ся║о╪▒я║│я╗▓ я╗Чя║о╪з╪▒ я╗гя╗▓ яоФя╗┤я║оя╗зя║ктАк:тАмтАм тАлтАвтАм

тАля║│я╗┤я║┤я║Шя╗в я╗гя║кя╗│я║оя╗│я║Ц янШя║Оя╗│яоХя║О┘З╪п╪з╪п┘Зя╗ля║ОтАм

тАлтАвтАм

тАля║Ся║ия║╢ я║│я║Оя║зя║Шя║О╪▒┘КтАм

тАлтАвтАм

тАля║Ся║ия║╢ я╗Ля╗дя╗ая╗┤я║Оя║Чя╗▓тАм

тАлтАвтАм

тАля║Ся║ия║╢ я║Яя║Оя╗гя╗Мя╗┤я║Шя╗▓тАм

тАлтАвтАм

тАл╪▒╪п┘З я║Ся╗ия║к┘К я║│я╗┤я║┤я║Шя╗вя╗ля║О┘К я╗гя║кя╗│я║оя╗│я║Ц янШя║Оя╗│яоХя║О┘З╪п╪з╪п┘Зя╗ля║ОтАм

тАлтАвтАм

тАл╪зя║Яя║░╪з╪б я║│я╗┤я║┤я║Шя╗в я╗гя║кя╗│я║оя╗│я║Ц янШя║Оя╗│яоХя║О┘З╪п╪з╪п┘Зя╗ля║ОтАм

тАлтАвтАм

тАля╗зя╗дя║О┘К я║Ся╗┤я║о┘Ия╗зя╗▓ янШя║Оя╗│яоХя║О┘З╪п╪з╪п┘Зя╗ля║ОтАм

тАлтАкRamin.Samad@yahoo.comтАмтАм


‫‪WWW.IRANMEET.COM‬‬

‫‪58‬‬

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

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

‫•‬

‫ﻻﻳﻪ ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهداده‬

‫•‬

‫ﻻﻳﻪ ﻫﺴﺘﻪ ﭘﺎﻳﮕﺎهداده‬

‫•‬

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

‫•‬

‫ﭘﺎراﻣﺘﺮﻫﺎي ﺷﻨﺎﺧﺖ‬

‫•‬

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

‫•‬

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

‫•‬

‫ﺳﻄﺢ ادراﻛﻲ‬

‫•‬

‫ﺳﻄﺢ ﺧﺎرﺟﻲ‬

‫•‬

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

‫•‬

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

‫•‬

‫ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده‬

‫•‬

‫ﺗﻴﻢ ‪ ،DBA‬وﻇﺎﻳﻒ و ﻣﺴﺌﻮﻟﻴﺖﻫﺎ ي آن‬

‫‪DBMS‬‬

‫)‪(DBA‬‬

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

‫ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺧﻮد را ﺗﻌﺮﻳﻒ واﻳﺠﺎد ﻛﻨﺪ‪.‬‬

‫•‬

‫در ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺧﻮد ﻋﻤﻠﻴﺎت اﻧﺠﺎم دﻫﺪ‪.‬‬

‫•‬

‫روي ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺧﻮد ﺗﺎ ﺣﺪي ﻛﻨﺘﺮل داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪59‬‬

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

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

‫ﺑﺨﺶ ﺳﺎﺧﺘﺎري‬

‫•‬

‫ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ‬

‫•‬

‫ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ‬

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

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪60‬‬

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

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

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

‫ﺳﻴﺴﺘﻢ راﺑﻄﻪاي‬

‫•‬

‫ﺳﻴﺴﺘﻢ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬

‫•‬

‫ﺳﻴﺴﺘﻢ ﺷﺒﻜﻪاي‬

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

‫ﻗﺎﺑﻠﻴﺖ اﺟﺮا ﺑﺮ روي ﻳﻚ ﺳﺨﺖاﻓﺰار ﺧﺎص‬

‫•‬

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

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

‫•‬

‫ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺑﺰرگ و ﺧﻴﻠﻲ ﺑﺰرگ‬

‫•‬

‫ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺘﻮﺳﻂ‬

‫•‬

‫ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺷﺨﺼﻲ‬

‫•‬

‫ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي اﻧﻮاع ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ‬

‫‪2‬‬

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

‫واﺑﺴﺘﻪ ﺑﻪ ﻳﻚ ﻧﻮع ﺧﺎص از ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬

‫•‬

‫ﻋﺪم واﺑﺴﺘﮕﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ و ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﭼﻨﺪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬

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

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

‫•‬

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪62‬‬

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

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

‫‪ 1-3‬ﻧﻤﺎي ﺑﻴﺮوﻧﻲ‬ ‫ﻧﻤﺎي ﺑﻴﺮوﻧﻲ‪ ،‬از واﺣﺪﻫﺎي اﺻﻠﻲ زﻳﺮ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪:‬‬ ‫•‬

‫واﺣﺪ ﭘﺮدازﺷﮕﺮ "ﭘﺮﺳﺶﻫﺎ"‬

‫•‬

‫واﺣﺪ ﭘﺮدازﺷﮕﺮ "ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي"‬

‫•‬

‫واﺣﺪاﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‪.‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪63‬‬

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

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

‫ﻻﻳﻪ ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫•‬

‫ﻻﻳﻪ ﻫﺴﺘﻪ ‪) 2‬ﺳﻴﺴﺘﻢ ﻛﻨﺘﺮل ﻳﺎ ﻣﻮﺗﻮر ﭘﺎﻳﮕﺎهدادهﻫﺎ(‬

‫•‬

‫ﻻﻳﻪ ﺗﺴﻬﻴﻼت ﻧﺮماﻓﺰاري‪) 3‬اﺑﺰارﻫﺎ(‬

‫‪1‬‬

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

‫‪ 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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪65‬‬

‫دادهﻫﺎي ﺣﺎوي اﻃﻼﻋﺎت در ﻣﻮرد دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎهداده‪ ،‬ﺑﻪ ﻣﺘﺎ‬ ‫دادهﻫﺎ ﻣﻮﺳﻮﻣﻨﺪ‪.‬‬

‫•‬

‫در ﺑﻌﻀﻲ از ﻛﺘﺎبﻫﺎ ﺑﻪ ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﮔﺎه دﻳﻜﺸﻨﺮي دادهﻫﺎ ﻫﻢ ﮔﻔﺘﻪ ﻣﻲﺷﻮد‪،‬‬ ‫اﻣﺎ در واﻗﻊ دﻳﻜﺸﻨﺮي دادهﻫﺎ ﺣﺎوي اﻃﻼﻋﺎت ﺑﻴﺸﺘﺮي اﺳﺖ‪.‬‬

‫•‬

‫ﻣﺘﺎ دادهﻫﺎ ﻣﻌﻤﻮﻻً از دﻳﺪ ﻛﺎرﺑﺮ ﺳﻄﺢ ﺧﺎرﺟﻲ ﻧﻬﺎناﻧﺪ‪ ،‬اﻣﺎ ﻣﺪﻳﺮ ﺳﻴﺴﺘﻢ و ﻳﺎ‬ ‫ﻛﺎرﺑﺮ ﻣﺠﺎز‪ ،‬ﻣﻲﺗﻮاﻧﺪ ﺗﺎ ﺣﺪي از ﻣﺤﺘﻮاي ﻛﺎﺗﺎﻟﻮگ آﮔﺎه ﺷﻮد‪.‬‬

‫•‬

‫ﺳﺎﺧﺘﺎر و ﻣﺤﺘﻮاي ﻛﺎﺗﺎﻟﻮگ و دﻳﮕﺸﻨﺮي دادهﻫﺎ در ﺳﻴﺴﺘﻢﻫﺎي ﻣﺨﺘﻠﻒ ﻳﻜﺴﺎن‬ ‫ﻧﻴﺴﺖ‪ .‬اﻣﺎ ﺑﻪ ﻃﻮر ﻛﻠﻲ‪ ،‬اﻃﻼﻋﺎت زﻳﺮ در آﻧﻬﺎ ذﺧﻴﺮه ﻣﻲﺷﻮد‪:‬‬

‫دﻳﻜﺸﻨﺮي داده ﻫﺎ ﻣﻌﻤﻮﻻً ﺟﺰﻳﻲ از ﺧﻮد ﺳﻴﺴﺘﻢ اﺳﺖ و اﻃﻼﻋﺎت زﻳﺮ در آﻧﻬﺎ‬ ‫ﻧﮕﻬﺪاري ﻣﻲ ﺷﻮد‪:‬‬ ‫•‬

‫ﺷﻤﺎﻫﺎي ﺧﺎرﺟﻲ‬

‫•‬

‫ﺷﻤﺎي ادراﻛﻲ‬

‫•‬

‫ﺷﻤﺎي داﺧﻠﻲ‬

‫•‬

‫روﻳﻪﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺗﺒﺪﻳﻼت ﺑﻴﻦ ﺳﻪ ﺳﻄﺢ ﻣﻌﻤﺎري‬

‫•‬

‫ﺷﺮح ﺳﺎﺧﺘﺎر ﻓﻴﺰﻳﻜﻲ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‬

‫•‬

‫ﻣﺸﺨﺼﺎت ﻛﺎرﺑﺮان و ﺣﻘﻮق دﺳﺘﻴﺎﺑﻲ آﻧﻬﺎ ﺑﻪ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‬

‫•‬

‫ﻣﺸﺨﺼﺎت ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﺗﻮﻟﻴﺪ ﺷﺪه و ارﺗﺒﺎط آﻧﻬﺎ ﺑﺎ درﺧﻮاﺳﺖ ﻛﺎرﺑﺮان‬

‫•‬

‫ﻣﺸﺨﺼﺎت ﭘﺎﻳﺎﻧﻪﻫﺎي ﻣﺘﺼﻞ ﺑﻪ ﺳﻴﺴﺘﻢ و ﻳﺎ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺸﺘﺮي و اﻳﺴﺘﮕﺎﻫﻬﺎي‬ ‫ﻛﺎري‬

‫•‬

‫ارﺗﺒﺎط ﺑﻴﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي و دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه‬

‫•‬

‫ﻗﻮاﻋﺪ ﻣﺮﺑﻮط ﺑﻪ ﻛﻨﺘﺮل ﺻﺤﺖ و دﻗﺖ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫•‬

‫ﺿﻮاﺑﻂ ﻛﻨﺘﺮلاﻳﻤﻨﻲ دادهﻫﺎ‬

‫•‬

‫ﻣﺸﺨﺼﺎت ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري ﺳﻴﺴﺘﻢ و رﺳﺎﻧﻪﻫﺎي ذﺧﻴﺮه ﺳﺎزي‬

‫•‬

‫اﻃﻼﻋﺎت ﻣﺘﻨﻮع آﻣﺎري در ﻣﻮرد ﭘﺎﻳﮕﺎهدادهﻫﺎ‪ ،‬ﻋﻤﻠﻴﺎت ﻛﺎرﺑﺮان‪ ،‬ﻓﺮﻛﺎﻧﺲ اﺟﺮاي‬ ‫ﺗﺮاﻛﻨﺸﻬﺎ و ﺗﻌﺪاد دﺳﺘﻴﺎﺑﻲ ﺑﻪ اﺷﻴﺎء ذﺧﻴﺮه ﺷﺪه‬

‫•‬

‫ﺗﻮاﺑﻊ ﺗﻌﺮﻳﻒ ﺷﺪه ﺗﻮﺳﻂ ﻛﺎرﺑﺮان‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪66‬‬

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

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

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

‫‪DBMS‬‬

‫اﻣﺮوز ﻣﺮﺗﺒﺎ ﺷﺎﻫﺪ ﻋﺮﺿﻪ ﺳﻴﺴﺘﻢ ﻫﺎي ﺑﺎ ﻧﺎﻣﻬﺎي ﮔﻮﻧﺎﮔﻮن ﺗﺤﺖ ﻋﻨﻮان‬

‫‪DBMS‬‬

‫ﺑﻪ ﺑﺎزار‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪67‬‬

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

‫‪DBMS‬‬

‫و ﻳﺎ ﻓﻘﻂ ﻳﻚ ﭘﻴﻜﺮ ﺑﻨﺪي‬

‫ﻧﺮماﻓﺰاري‪-‬ﺳﺨﺖاﻓﺰاري ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪان ﻣﻄﺮح ﻧﺒﺎﺷﺪ‪ .‬ﺑﺎ اﻳﻦﻫﻤﻪ اﻧﺘﺨﺎب اﺟﺰاء ﺗﺸﻜﻴﻞ‬ ‫دﻫﻨﺪه ﭘﻴﻜﺮ ﺑﻨﺪي ﻳﻚ ﺳﻴﺴﺘﻢ ﻧﺎﻫﻤﮕﻦ ﺑﻪ ﻫﺮ ﺣﺎل ﻣﻄﺮح اﺳﺖ ﺗﺎ ﻳﻚ ﭘﻴﻜﺮ ﺑﻨﺪي ﺑﺎ‬ ‫ﺑﻴﺸﺘﺮﻳﻦ ﻛﺎراﺋﻲ‪ ،‬ﻃﺮاﺣﻲ و ﺗﺎﻣﻴﻦ ﺷﻮد‪.‬‬ ‫ﺑﻪ ﻣﻨﻈﻮر ﻛﺴﺐ ﺷﻨﺎﺧﺖ ﺗﺨﺼﺼﻲ ﺑﺎﻳﺪ ﭘﺎراﻣﺘﺮﻫﺎي زﻳﺎدي را در ﻧﻈﺮ ﮔﺮﻓﺖ ﻛﻪ‬ ‫اﻳﻦ ﭘﺎراﻣﺘﺮﻫﺎ را ﺑﺼﻮرت ﻛﻠﻲ در ﭘﻨﺞ رده ﺑﻪ ﺷﺮح زﻳﺮ دﺳﺘﻪ ﺑﻨﺪي ﻣﻲﻛﻨﻴﻢ‪:‬‬ ‫•‬

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

‫•‬

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

‫•‬

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

‫•‬

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

‫•‬

‫ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن دادهاي ﻓﺮﻋﻲ )واﺳﻂ ﻛﺎر ﺑﺮﻧﺎﻣﻪ ﺳﺎز(‪.‬‬

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

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

‫ﺗﻮان ﺳﻴﺴﺘﻢ در اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺮ اﺳﺎس ﻣﻌﻤﺎري ﭘﻴﺸﻨﻬﺎدي‬ ‫‪ ANSI‬ﻳﻌﻨﻲ ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ‪.‬‬

‫•‬

‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻛﺎرﺑﺮان ﻫﻤﺰﻣﺎن‪.‬‬

‫•‬

‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﺮﻣﻴﻢ دادهﻫﺎ و ﻣﻜﺎﻧﻴﺴﻢﻫﺎي اﻧﺠﺎم اﻳﻦ ﻛﺎر‪.‬‬

‫•‬

‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﺎﻣﻴﻦ ﻫﻤﺰﻣﺎﻧﻲ‪ ،‬ﻣﻜﺎﻧﻴﺴﻢ ﻗﻔﻞ ﮔﺬاري‪ ،‬اﻧﺪازه واﺣﺪ ﻗﻔﻞ ﭘﺬﻳﺮ‬ ‫و وﺟﻮد اﺳﺘﺮاﺗﮋي ﻛﺎرا در ﺣﻞ ﻣﺸﻜﻞ ﺑﻦ ﺑﺴﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪68‬‬

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

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

‫•‬

‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺣﻔﺎﻇﺖ دادهﻫﺎ وﺗﻀﻤﻴﻦ ﻣﺤﺮﻣﺎﻧﮕﻲ آﻧﻬﺎ‬

‫•‬

‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ درﺗﺎﻣﻴﻦ رﺷﺪ ﭘﺎﻳﮕﺎهدادهﻫﺎ ودرﺟﻪ ﺳﻬﻮﻟﺖ اﻧﺠﺎم اﻳﻦ ﻛﺎر‪.‬‬

‫•‬

‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﻀﻤﻴﻦ ﺟﺎﻣﻌﻴﺖ ﭘﺎﻳﮕﺎه‬

‫•‬

‫ﺗﻌﺪاد زﺑﺎﻧﻬﺎي ﻣﻴﺰﺑﺎن ﻣﻮرد ﭘﺬﻳﺮش ﺳﻴﺴﺘﻢ‪.‬‬

‫•‬

‫ﻣﻜﺎﻧﻴﺴﻢ ﻫﻤﺎﻫﻨﮕﻲ ﻋﻤﻠﻜﺮد ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﺧﺎص ﭘﺎﻳﮕﺎه‪.‬‬

‫•‬

‫ﺷﺮاﻳﻂ ﺑﺮوز ﺗﻨﮕﻨﺎﻫﺎ در ﻋﻤﻠﻴﺎت ورودي ‪ /‬ﺧﺮوﺟﻲ و در ﻓﻌﺎﻟﻴﺖ واﺣﺪ ﭘﺮدازش‬ ‫ﻣﺮﻛﺰي و ﻣﻜﺎﻧﻴﺴﻢ رﻓﻊ آن‪.‬‬

‫•‬

‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در اﺷﺘﺮاﻛﻲ ﻛﺮدن دادهﻫﺎ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ در ﻣﺠﺎز ﺷﻤﺎري و ﺳﻄﺢ ﻳﺎﺳﻄﻮح اﺳﺘﻔﺎده از اﻳﻦ اﻣﻜﺎﻧﺎت )ﺑﺎ‬ ‫ﺗﻮﺟﻪ ﺑﻪ ﻣﻌﻤﺎري ﭼﻨﺪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎه(‪.‬‬

‫•‬

‫آﺳﺘﺎﻧﻪ ﭘﺎﻳﺪاري ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ )از ﻧﻈﺮ ﺗﻌﺪاد ﺗﺮاﻛﻨﺶﻫﺎي اﺟﺮا ﺷﻮﻧﺪه ﻣﺜﻼ در‬ ‫ﺛﺎﻧﻴﻪ و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺣﺠﻢ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎه(‪.‬‬

‫•‬

‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ درﭘﺮدازش ﭘﺮﺳﺸﻬﺎي ﻣﻮازي‪.‬‬

‫•‬

‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﭘﺬﻳﺮش اﻧﻮاع ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي و ﭘﺮﺳﺸﻬﺎ‪.‬‬

‫•‬

‫ﻧﺤﻮه ﭘﺮدازش زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺗﻮﺳﻂ ﺳﻴﺴﺘﻢ )ﻛﺎﻣﭙﺎﻳﻠﺮي‪ ،‬ﻣﻔﺴﺮي(‪.‬‬

‫•‬

‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮﺳﺸﻬﺎ و ﻧﻮع ﺑﻬﻴﻨﻪ ﺳﺎزي )اﻋﻤﺎل اﻟﮕﻮرﻳﺘﻢﻫﺎي‬ ‫ﺑﻬﻴﻨﻪ در اﺟﺮاي ﭘﺮﺳﺸﻬﺎ( و زﻣﺎن اﻧﺠﺎم ﺑﻬﻴﻨﻪ ﺳﺎزي اﺳﺘﺮاﺗﮋي دﺳﺘﻴﺎﺑﻲ )در زﻣﺎن‬ ‫ﻛﺎﻣﭙﺎﻳﻞ‪ ،‬در اوﻟﻴﻦ ﺑﺎر اﺟﺮاي ﭘﺮﺳﺶ‪ ،‬در ﻫﺮ ﺑﺎر ﻛﻪ ﭘﺮﺳﺶ اﺟﺮا ﻣﻲﺷﻮد(‪.‬‬

‫•‬

‫ﻣﺪﻟﻬﺎي ﺗﺮاﻛﻨﺶ ﻛﻪ ﻣﻲﭘﺬﻳﺮد )ﺑﻮﻳﮋه ﻣﺪﻟﻬﺎي ﭘﻴﺸﺮﻓﺘﻪ(‪.‬‬

‫•‬

‫ﻗﺎﺑﻠﻴﺖ ﮔﺴﺘﺮش ﭘﺬﻳﺮي و ارﺗﻘﺎء ﺳﻴﺴﺘﻢ‪.‬‬

‫•‬

‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﻣﺤﻴﻂ ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎه و درﺟﻪ ﭘﻮﻳﺎﻳﻲ و‬ ‫ﺧﻮدﻛﺎر ﺑﻮدن اﻳﻦ ﻛﺎر‪.‬‬

‫•‬

‫اﻳﺠﺎد ﺳﻴﺴﺘﻢ در ﺧﺪﻣﺖ رﺳﺎﻧﻲ در ﻣﺤﻴﻂ ﺷﺒﻜﻪاي‪.‬‬

‫•‬

‫ﻧﻮع ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻛﻪ ﺳﻴﺴﺘﻢ ﻣﻲﺗﻮاﻧﺪ آن را ﺗﺎﻣﻴﻦ ﻛﻨﺪ‪.‬‬

‫•‬

‫ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎي ﻣﺘﻌﺎرف دﻳﮕﺮ )ﺑﺎ ﻣﺪل دادهاي و زﺑﺎن‬ ‫دادهاي ﻳﻜﺴﺎن ﻳﺎ ﻣﺘﻔﺎوت( و ﻣﻜﺎﻧﻴﺴﻢ ارﺗﺒﺎط ﺑﺎ آﻧﻬﺎ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪69‬‬

‫ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﮔﻮﻧﻪﻫﺎي ﻏﻴﺮ ﻣﺘﻌﺎرف ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ و‬ ‫ﻣﻜﺎﻧﻴﺴﻢ و ﻣﻠﺰوﻣﺎت ﻫﻤﺎﻳﻨﺪي ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎ‪.‬‬

‫•‬

‫ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داﻧﺶ و ﻣﻜﺎﻧﻴﺴﻢ ﻫﻤﺎﻳﻨﺪي‪.‬‬

‫•‬

‫ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺷﻴﺊﮔﺮا و ﻣﻜﺎﻧﻴﺴﻢ‬ ‫ﻫﻤﺎﻳﻨﺪي‪.‬‬

‫•‬

‫ﻣﻴﺰان ﺗﻐﻴﻴﺮ ﻛﺎرآﻳﻲ ﺳﻴﺴﺘﻢ از ﻣﺎﺷﻴﻦ ﻛﻼﺳﻴﻚ ﺗﺎ ﻣﺎﺷﻴﻦ ﺧﺎص ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي زﻣﺎﻧﺒﻨﺪ‪.‬‬

‫•‬

‫زﺑﺎﻧﻲ ﻛﻪ ﺳﻴﺴﺘﻢ ﺑﺎ آن ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ‪.‬‬

‫•‬

‫ﻣﻴﺰان رﻋﺎﻳﺖ اﺻﻮل ﻧﻮﻳﻦ ﻣﻬﻨﺪﺳﻲ ﻧﺮماﻓﺰار در ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﺳﻴﺴﺘﻢ‪.‬‬

‫•‬

‫ﻣﻴﺰان رﻋﺎﻳﺖ اﺻﻮل ﺷﻴﺊ ﮔﺮاﻳﻲ در ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ‪.‬‬

‫•‬

‫ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهﻫﺎي ﺑﺰرگ و ﺧﻴﻠﻲ ﺑﺰرگ )از ﻧﻈﺮ‬ ‫ﺣﺠﻢ دادهﻫﺎ و ﺗﻌﺪاد ﺗﺮاﻛﻨﺸﻬﺎ(‪.‬‬

‫•‬

‫ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻧﻬﺎن ﻧﮕﺎري دادهﻫﺎ‬

‫•‬

‫ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﭘﺸﺘﻴﺒﺎﻧﻲ اﻧﻮاع ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬

‫•‬

‫ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻛﻨﺘﺮل اﺷﺘﺒﺎﻫﺎت ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‪.‬‬

‫•‬

‫ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻋﻤﻠﻴﺎت در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎي وب و ﻳﺎ ادﻏﺎم در‬

‫•‬

‫ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻋﻤﻠﻴﺎت در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﻣﻮﺑﺎﻳﻞ‬

‫•‬

‫ﻗﺎﺑﻠﻴﺖ ﺟﺎﺑﺠﺎﻳﻲ ﭘﺬﻳﺮي ﺳﻴﺴﺘﻢ‬

‫•‬

‫ﻣﺘﻮﺳﻂ زﻣﺎن ﺑﻴﻦ دو ﺧﺮاﺑﻲ ﭘﻲ در ﭘﻲ ﺳﻴﺴﺘﻢ‬

‫•‬

‫ﻣﻴﺰان ﻛﺎر ﻻزم ﺑﺮاي ﭘﻴﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ‬

‫•‬

‫اﺳﺘﺎﻧﺪاردﻫﺎي ﺑﻜﺎر رﻓﺘﻪ در ﺳﻴﺴﺘﻢ‬

‫•‬

‫ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﻣﻮرد ﻧﻴﺎز‬

‫•‬

‫ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﭘﺮدازش ﭘﻴﺎمﻫﺎ‪.‬‬

‫•‬

‫ﺗﺠﻬﻴﺰات ﻻزم ﺑﺮاي ﺳﻴﺴﺘﻢ از ﺟﻤﻠﻪ‪:‬‬

‫•‬

‫ﻧﻮع ﺳﺨﺖاﻓﺰار‬

‫•‬

‫ﺣﺪاﻗﻞ ﺣﺎﻓﻈﻪ ﻻزم‬

‫•‬

‫ﺣﺪاﻗﻞ ﻓﻀﺎي دﻳﺴﻚ‬

‫‪Ramin.Samad@yahoo.com‬‬

‫" وب"‬


‫‪WWW.IRANMEET.COM‬‬

‫‪70‬‬

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

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

‫•‬

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

‫‪ 2-5‬ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪﻫﺎي دﻳﮕﺮ‬ ‫اﻳﻦ ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪ ﻫﺎ ﻣﻲﺗﻮاﻧﻨﺪ ﻫﻤﺮاه ﺧﻮد ﺳﻴﺴﺘﻢ و ﻳﺎ ﺑﻪ ﻧﺤﻮي ﻗﺎﺑﻞ ﺗﺎﻣﻴﻦ و‬ ‫اﺳﺘﻔﺎده در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﺑﺎﺷﻨﺪ )ﺑﻪ ﺻﻮرت ﻧﺮم اﻓﺰار ﺟﺪاﮔﺎﻧﻪ ﺑﻪ ﻛﺎرﺑﺮان ﺳﻴﺴﺘﻢ‬ ‫ﻋﺮﺿﻪ ﺷﻮﻧﺪ(‪ .‬ﻫﺮ ﭼﻪ ﺳﻴﺴﺘﻢ از ﻧﻈﺮ ﭘﺬﻳﺮش اﻧﻮاع ﺗﺴﻬﻴﻼت و ﺳﺎزﮔﺎري و ﻫﻤﺎﻳﻨﺪي‬ ‫ﺑﺎ آﻧﻬﺎ ﻏﻨﻲ ﺗﺮ ﺑﺎﺷﺪ‪ ،‬ﻣﻄﻠﻮﺑﺘﺮ اﺳﺖ و ﺑﻬﺮه ﺑﺮداري ﺑﻬﺘﺮي از ﺳﻴﺴﺘﻢ اﻣﻜﺎن ﭘﺬﻳﺮ‬ ‫ﺧﻮاﻫﺪ ﺑﻮد‪ .‬ﺑﺮﺧﻲ از اﻳﻦ ﺗﺴﻬﻴﻼت )اﺑﺰارﻫﺎ( ﻋﺒﺎرﺗﻨﺪ از‪:‬‬ ‫•‬

‫اﻣﻜﺎﻧﺎت ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻣﺜﺎل و ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻓﺮم‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺑﺮرﺳﻲﻫﺎ و ﺗﺤﻠﻴﻞﻫﺎي آﻣﺎري‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﮔﺮاﻓﻴﻜﻲ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﻧﮕﻬﺪاري ﺳﻴﺴﺘﻢ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺑﻬﻴﻨﻪ ﺳﺎزي ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﻳﺎدﮔﻴﺮي ﻃﺮز ﻛﺎر ﺑﺎ ﺳﻴﺴﺘﻢ و ﺑﻬﺮه ﺑﺮداري آن‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﻛﺎر در ﻣﺤﻴﻂ وب‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺖ ﭘﻮﻳﺎي ﭘﺮﺳﺸﻬﺎ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻴﺎت ﻛﺎرﺑﺮان در ﭘﺎﻳﮕﺎه‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺘﻲ ﺑﺮاي ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﭘﺸﺘﻴﺒﺎﻧﻲ از‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﭘﺮدازش ﺗﺤﻠﻴﻠﻲ ﺑﺮ ﺧﻂ‬

‫•‬

‫ﻣﻮﻟﺪ ﮔﺰارش‬

‫•‬

‫اﻧﻮاع وﻳﺮاﻳﺸﮕﺮﻫﺎ‬

‫•‬

‫اﺑﺰارﻫﺎياﻳﺠﺎد ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي و واﺳﻄﻪﻫﺎي ﻛﺎرﺑﺮدي‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ ﮔﺮوﻫﻬﺎي ﻛﺎرﺑﺮدي و ﺗﻌﻴﻴﻦ اﻣﺘﻴﺎزات ﻫﺮ ﮔﺮوه )در اﻧﺠﺎم‬

‫‪XML‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهدادهﻫﺎ(‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪71‬‬

‫•‬

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

‫•‬

‫اﻣﻜﺎﻧﺎت ﺗﻮﻟﻴﺪ ﺧﺮوﺟﻲﻫﺎي ﻛﺎرﺑﺮﭘﺴﻨﺪ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺗﻨﻈﻴﻢ ﻛﺮدن ﭘﺎﻳﮕﺎه‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺗﻨﻈﻴﻢ ﻛﺮدن ﺧﻮد ﺳﻴﺴﺘﻢ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺑﺎرﮔﺬاري )ﮔﺎه ﻣﻮﺳﻮم ﺑﻪ ﻋﻤﻞ ورود دادهﻫﺎ(‪ ،‬ﺑﺎزﺑﺎرﮔﺬاري‪ ،‬ﺧﺎﻟﻲ‬ ‫ﻛﺮدن )ﮔﺎه ﻣﻮﺳﻮم ﺑﻪ ﻋﻤﻞ ﺻﺪور دادهﻫﺎ( ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺗﺒﺪﻳﻞ ﻳﻚ ﺳﺎﺧﺘﺎر داده از ﺳﻄﺢ ﺧﺎرﺟﻲ ﻣﻌﻤﺎري‬

‫‪ANSI‬‬

‫ﺑﻪ ﺳﺎﺧﺘﺎر‬

‫داده دﻳﮕﺮ از ﺳﻄﺢ ادراﻛﻲ ﻫﻤﺎن ﻣﻌﻤﺎري‬ ‫•‬

‫اﻣﻜﺎﻧﺎت ﻓﻌﺎل و ﻏﻴﺮﻓﻌﺎل ﻛﺮدن ﭘﺎﻳﮕﺎه‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺗﻬﻴﻪ آﻣﺎرﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي )درج‪ ،‬ﺣﺬف‪ ،‬ﺑﻬﻨﮕﺎم‬ ‫ﺳﺎزي(‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﺑﺮاي ﻣﺪﻟﺴﺎزي دادهﻫﺎ و ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ و ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎه‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﺑﺮاي ﮔﺸﺖ زﻧﻲ )ﮔﺬارﮔﺮي( در ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫•‬

‫اﻣﻜﺎﻧﺎت اﺳﺘﻔﺎده از زﺑﺎﻧﻬﺎي ﺳﻄﺢ ﺑﺎﻻ )ﻧﻪ ﺑﻪ ﻋﻨﻮان زﺑﺎن ﻣﻴﺰﺑﺎن( و ﻣﻜﺎﻧﻴﺴﻢ‬ ‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺳﻴﺴﺘﻢ از ﻃﺮﻳﻖ آﻧﻬﺎ‬

‫•‬

‫اﻣﻜﺎناﻳﺠﺎد ﻣﺪوﻟﻬﺎي اﺟﺮاﻳﻲ ﺑﺮاي ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﺑﻪ‬ ‫ﻧﺤﻮي ﻛﻪ ﺧﺎرج از ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﻗﺎﺑﻞ اﺟﺮا ﺑﺎﺷﻨﺪ‬

‫•‬

‫اﻣﻜﺎن اﺳﺘﻔﺎده از ﻳﻚ ﺳﻴﺴﺘﻢ ﺧﺒﺮه در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ‬

‫•‬

‫ﻣﻮﻟﺪ ﻓﺮم‬

‫•‬

‫ﻣﻮﻟﺪ ﻣﻨﻮ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺷﺒﻜﻪاي‬

‫•‬

‫واﺳﻂ‬

‫•‬

‫اﺑﺰارﻫﺎي ﺗﻮﻟﻴﺪ ﻣﺴﺘﻨﺪات )در ﻣﺮاﺣﻞ ﻣﺨﺘﻠﻒ ﺗﻮﻟﻴﺪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي(‬

‫‪4GL‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪72‬‬

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

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

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

‫ﻧﺎم ﻧﺮماﻓﺰار‬

‫•‬

‫ﻋﻨﻮان ﺷﺮﻛﺖ ﺳﺎزﻧﺪه و ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه‬

‫•‬

‫ﺷﻤﺎره وﻳﺮاﺳﺖ )ﻧﮕﺎرش( ﻣﻮرد ﺑﺮرﺳﻲ‪-‬ﺷﻤﺎره آﺧﺮﻳﻦ وﻳﺮاﺳﺖ‬

‫•‬

‫ﺗﺎرﻳﺦ ﻋﺮﺿﻪ )اوﻟﻴﻦ ﻧﮕﺎرش و آﺧﺮﻳﻦ ﻧﮕﺎرش(‬

‫•‬

‫ﻗﻴﻤﺖ‬

‫•‬

‫ﻧﺎم ﻛﺸﻮر ﺳﺎزﻧﺪه و ﻓﺮوﺷﻨﺪه‬

‫•‬

‫ﺷﺮاﻳﻂ ﻛﻠﻲ ﺗﺤﻮﻳﻞ‬

‫•‬

‫ﺧﺪﻣﺎت ﺑﻌﺪ از ﺗﺤﻮﻳﻞ‬

‫•‬

‫ﻛﻤﻴﺖ و ﻛﻴﻔﻴﺖ آﻣﻮزش‬

‫•‬

‫ﻣﺴﺘﻨﺪات‬

‫•‬

‫ﺗﻌﺪاد ﻣﺸﺘﺮيﻫﺎ و ﻣﺎﻫﻴﺖ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ و ﭘﺮدازﺷﻲ آﻧﺎن‬

‫•‬

‫ﺿﻤﺎﻧﺖ )ﻫﺎي(ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه در ﮔﺴﺘﺮش ﻳﺎ ارﺗﻘﺎء ﺳﻴﺴﺘﻢ‬

‫•‬

‫در دﺳﺘﺮس ﺑﻮدن ﻓﺮوﺷﻨﺪه )ﻫﺮﮔﺎه ﻛﻪ ﻻزم ﺑﺎﺷﺪ(‬

‫•‬

‫وﺟﻮد ﺗﻴﻢ ﻓﻨﻲ ﭘﺸﺘﻴﺒﺎﻧﻲ ﺳﻴﺴﺘﻢ‪ ،‬در ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه‬

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

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

‫ﻧﻮع داده‬

‫•‬

‫ﻧﺎم ﻓﻴﻠﺪ‬

‫•‬

‫ﻃﻮل داده )ﺣﺪاﻛﺜﺮ ﻃﻮل ﭘﻴﺶ ﻧﻬﺎده(‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪73‬‬

‫•‬

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

‫•‬

‫ﺣﺪاﻛﺜﺮ ﻃﻮل ﻫﺮ رﻛﻮرد‬

‫•‬

‫ﺛﺎﺑﺖ ﻳﺎ ﻣﺘﻐﻴﺮ ﺑﻮدن ﻃﻮل رﻛﻮرد‬

‫•‬

‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻓﻴﻠﺪ در ﻫﺮ ﻧﻮع‬

‫•‬

‫ﺣﺪاﻛﺜﺮ ﻃﻮل ﻫﺮ ﻓﻴﻠﺪ‬

‫•‬

‫ﺛﺎﺑﺖ ﻳﺎ ﻣﺘﻐﻴﺮ ﺑﻮدن ﻃﻮل ﻓﻴﻠﺪ‬

‫•‬

‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻓﺎﻳﻞﻫﺎي ﺑﺎز در ﻳﻚ زﻣﺎن‬

‫•‬

‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﺗﺮاﻛﻨﺶﻫﺎي ﻋﻤﻞ ﻛﻨﻨﺪه در ﻣﺤﻴﻂ داﺧﻠﻲ‪-‬ﻓﻴﺰﻳﻜﻲ‬

‫•‬

‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﺷﺎﺧﺺﻫﺎ و ﺳﺎﺧﺘﺎر دروﻧﻲ ﻫﺮ ﺷﺎﺧﺺ و درﺟﻪ ﭘﻮﻳﺎﻳﻲ آن‬

‫•‬

‫اﻧﺪازه ﺷﺎﺧﺺ‬

‫•‬

‫ﻫﺰﻳﻨﻪاﻳﺠﺎد ﺷﺎﺧﺺ‬

‫•‬

‫ﺳﺎﺧﺘﺎر ﻓﺎﻳﻠﻬﺎي ﻣﻮﺟﻮد‬

‫•‬

‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻛﻠﻴﺪﻫﺎ‬

‫•‬

‫ﺣﺪاﻛﺜﺮ ﻃﻮل ﻛﻠﻴﺪ‬

‫•‬

‫ﻧﻮع ﻛﻠﻴﺪ‬

‫•‬

‫ﻧﺤﻮه اﻧﺠﺎم ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي در ﻣﺤﻴﻂ داﺧﻠﻲ‪-‬ﻓﻴﺰﻳﻜﻲ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ‬ ‫در ﻫﺮ ﻋﻤﻞ‬

‫•‬

‫ﻧﺤﻮه ﺟﺎﻳﮕﻴﺮي ﻓﺎﻳﻠﻬﺎ روي رﺳﺎﻧﻪ ﺧﺎرﺟﻲ‬

‫•‬

‫ﻧﺤﻮه ﭘﻴﺎده ﺳﺎزي " ﻫﻴﭽﻤﻘﺪار " در اﻳﻦ ﺳﻄﺢ و ﻣﻴﺰان ﺣﺎﻓﻈﻪ ﻣﺼﺮﻓﻲ ﺑﺮاي آن‬

‫•‬

‫ﭼﮕﻮﻧﮕﻲ ﺗﻨﺎﻇﺮ )ﻧﮕﺎﺷﺖ( ﺑﻴﻦ ﻓﺎﻳﻠﻬﺎ و ﺳﺎﺧﺖﻫﺎي ﺳﻄﺢ ادراﻛﻲ‬

‫•‬

‫ﭼﮕﻮﻧﮕﻲ ﺧﻮﺷﻪ واري و ﻣﻮﺿﻌﻲ ﺑﻮدن ﻓﺎﻳﻠﻬﺎ و رﻛﻮردﻫﺎ‬

‫•‬

‫ﭼﮕﻮﻧﮕﻲ ﻓﺸﺮده ﺳﺎزي دادهﻫﺎ و ﻧﺴﺒﺖ ﻓﺸﺮده ﺳﺎزي‬

‫•‬

‫ﻓﺸﺮده ﺳﺎزي ﺷﺎﺧﺺﻫﺎ و ﻧﺴﺒﺖ ﻓﺸﺮده ﺳﺎزي‬

‫•‬

‫اﻧﺪازه و ﺗﻌﺪاد ﺑﺎﻓﺮ ﻣﻮرد ﻧﻴﺎز‬

‫•‬

‫اﻧﺪازه ﺑﻼك‬

‫•‬

‫اﻧﺪازه ﺻﻔﺤﻪ)ﺛﺎﺑﺖ ﻳﺎ ﻣﺘﻐﻴﺮ(‬

‫•‬

‫وﺟﻮد زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺑﺮاي ﺳﻄﺢ داﺧﻠﻲ و اﻣﻜﺎﻧﺎت آن‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪74‬‬

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

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

‫‪ 2-4-5‬ﺳﻄﺢ ادراﻛﻲ‬ ‫•‬

‫وﺟﻮد ﺳﻄﺢ ادراﻛﻲ‬

‫•‬

‫درﺟﻪ اﻧﺘﺰاع ﺳﻄﺢ ادراﻛﻲ )ﻛﻪ ﻣﺴﺘﻘﻴﻤﺎ ﺑﻪ ﻣﺪل دادهاي ﺑﺴﺘﮕﻲ دارد(‬

‫•‬

‫وﺟﻮد زﺑﺎن دادهاي ﻓﺮﻋﻲ در ﺳﻄﺢ ادراﻛﻲ و اﻣﻜﺎﻧﺎت آن‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ ﻗﻮاﻋﺪ )ﻣﺤﺪودﻳﺘﻬﺎي( ﺟﺎﻣﻌﻴﺖ )ﺑﻪ ﻋﻨﻮان ﺑﺨﺸﻲ از ﻣﺪل‬ ‫دادهاي(در ﺑﻴﺮون از ﺑﺮﻧﺎﻣﻪﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ )ﺑﺎ اﺣﻜﺎم ﺗﻌﺮﻳﻒ دادهﻫﺎ(‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ اﻧﻮاع ﻛﻠﻴﺪ )ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‪ ،‬ﻛﻠﻴﺪ اﺻﻠﻲ‪ ،‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ‪ ،‬ﻛﻠﻴﺪ‬ ‫دﻳﮕﺮو‪(...‬‬

‫•‬

‫ﻣﻴﺰان ﺗﺎﻣﻴﻦ اﺳﺘﻘﻼل دادهاي ﻓﻴﺰﻳﻜﻲ‬

‫•‬

‫ﻣﻴﺰان دﻳﻨﺎﻣﻴﺴﻢ رﺷﺪ ﭘﺎﻳﮕﺎه در ﺳﻄﺢ ادراﻛﻲ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﭘﺎﻳﮕﺎه در ﺳﻄﺢ ادراﻛﻲ )ﺗﻐﻴﻴﺮ در ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ و‬ ‫در ﭘﻲ آن ﺗﻐﻴﻴﺮ ﺷﻤﺎ(‬

‫•‬

‫ﭼﮕﻮﻧﮕﻲ ﻣﻜﺎﻧﻴﺴﻢ ﻧﮕﺎﺷﺖ ﺳﻄﺢ ادراﻛﻲ ﺑﻪ داﺧﻠﻲ و ﺟﻨﺒﻪﻫﺎي ﻧﮕﺎﺷﺖ )ﻧﺎم‬ ‫داده‪ ،‬ﻧﻮع داده‪ ،‬ﻃﻮل داده‪ ،‬ﻛﺪ ﻧﻤﺎﻳﺶ داده‪ ،‬واﺣﺪ داده و‪(...‬‬

‫•‬

‫ﭘﻴﺎﻣﺪﻫﺎي ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﺳﻄﺢ ادراﻛﻲ در ﺳﻄﺢ داﺧﻠﻲ‪-‬ﻓﻴﺰﻳﻜﻲ‬

‫•‬

‫ﻣﻴﺰان اﻓﺰوﻧﮕﻲ در ﺳﻄﺢ ادراﻛﻲ و ﻣﻜﺎﻧﻴﺴﻢ ﻛﻨﺘﺮل آن و ﻣﻴﺰان اﻧﻌﻜﺎس آن در‬ ‫ﺳﻄﺢ داﺧﻠﻲ‪ -‬ﻓﻴﺰﻳﻜﻲ‬

‫•‬

‫وﺟﻮد ﻣﻔﻬﻮم ﻣﻴﺪان و اﻣﻜﺎﻧﺎت ﻻزم ﺑﺮاي آن در ﺳﻄﺢ ادراﻛﻲ‬

‫•‬

‫ﻧﺤﻮه ﺑﺮﺧﻮرد ﺑﺎ " ﻫﻴﭽﻤﻘﺪار " در ﺳﻄﺢ ادراﻛﻲ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ در ﻣﺠﺎزﺷﻤﺎري ﺑﻪ وﻳﮋه در اﻳﻦ ﺳﻄﺢ‬

‫‪ 3-4-5‬ﺳﻄﺢ ﺧﺎرﺟﻲ‬ ‫•‬

‫وﺟﻮد ﻣﻔﻬﻮم ﻫﻤﮕﺎﻧﻲ دﻳﺪ ﺧﺎرﺟﻲ‬

‫•‬

‫ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد دﻳﺪﻫﺎي ﻫﺮ ﻛﺎرﺑﺮ و در ﻣﺠﻤﻮع‪ ،‬ﺗﻨﻮع دﻳﺪﻫﺎ از ﻧﻈﺮ ﻣﻜﺎﻧﻴﺴﻢ‬ ‫ﺗﻌﺮﻳﻒ آﻧﻬﺎ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪75‬‬

‫وﺟﻮد زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺧﺎرﺟﻲ و اﻣﻜﺎﻧﺎت آن )ﺑﺮاي ﺑﺎزﻳﺎﺑﻲ‪ ،‬ذﺧﻴﺮه ﺳﺎزﻳﻲ و‬ ‫ﻛﻨﺘﺮل(‬

‫•‬

‫درﺟﻪ اﻧﺘﺰاع ﺗﺎﻣﻴﻦ ﺷﺪه در اﻳﻦ ﺳﻄﺢ و ارﺗﻔﺎع اﻳﻦ اﻧﺘﺰاع‬

‫•‬

‫ﻣﻴﺰان ﺗﺎﻣﻴﻦ اﺳﺘﻘﻼل دادهاي ﻣﻨﻄﻘﻲ‬

‫•‬

‫ﭼﮕﻮﻧﮕﻲ ﻧﮕﺎﺷﺖ ﺳﻄﺢ ﺧﺎرﺟﻲ ﺑﻪ ادراﻛﻲ و ﻣﺤﻮرﻫﺎي اﻳﻦ ﻧﮕﺎﺷﺖ )ﺣﺪود‬ ‫آزادي ﻋﻤﻞ ﻛﺎرﺑﺮان در ﺗﻌﻴﻴﻦ ﺟﻨﺒﻪﻫﺎي داده(‬

‫•‬

‫ﻗﺪرت ﺳﻴﺴﺘﻢ در اﻧﺠﺎم ﻋﻤﻠﻴﺎت ﺑﻬﻨﮕﺎم ﺳﺎزي دﻳﺪﻫﺎ )ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﻪ ﻣﻌﻨﺎي‬ ‫ﻋﺎم ﻳﻌﻨﻲ درج‪ ،‬ﺣﺬف و ﺗﻐﻴﻴﺮ( و ﺗﻨﻮع دﻳﺪﻫﺎي ﭘﺬﻳﺮاي اﻳﻦ ﻋﻤﻠﻴﺎت‬

‫•‬

‫وﺟﻮد ﻛﻠﻴﺪ اﺻﻠﻲ در اﻳﻦ ﺳﻄﺢ )ﺑﺮاي ﺑﻌﺾ دﻳﺪﻫﺎ ﺑﻪ ﺗﺸﺨﻴﺺ ﻣﺪﻳﺮ‬ ‫ﭘﺎﻳﮕﺎهدادهﻫﺎ(‬

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

‫ﻣﻴﺰان ﭘﺎﻳﺒﻨﺪي اﺣﻜﺎم زﺑﺎن ﺑﻪ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﻣﺪل دادهاي در ﺟﻬﺖ ﺗﺎﻣﻴﻦ‬ ‫اﻧﺘﺰاع ﻫﺮﭼﻪ ﺑﻴﺸﺘﺮ‬

‫•‬

‫وﺟﻮد دﺳﺘﻮرات ‪ DCL ،DML ،DDL‬ﺑﺮاي ﻫﺮ ﺳﻪ ﺳﻄﺢ ﻣﻌﻤﺎري‬

‫•‬

‫داﺷﺘﻦ ﻫﺮ دو ﺟﻨﺒﻪ ﺧﻮدﻛﻔﺎ )ﻣﺴﺘﻘﻞ( ﺑﻮدن و ﻗﺎﺑﻞ ادﻏﺎم ﺑﻮدن‬

‫•‬

‫اﻧﻮاع دادهاي ﻣﻮﺟﻮد‬

‫•‬

‫ﮔﺴﺘﺮش ﭘﺬﻳﺮي ﻧﻮع دادهاي و وﺟﻮد ﻧﻮع دادهاي ﺗﻌﺮﻳﻒ ﺷﺪه ﺗﻮﺳﻂ ﻛﺎرﺑﺮ‬

‫•‬

‫ﭘﺬﻳﺮش ‪ BLOB‬و دادهﻫﺎي از ﻧﻮع ﺗﺼﻮﻳﺮ‪ ،‬وﻳﺪﺋﻮ و ﻣﺘﻦ‬

‫•‬

‫اﻣﻜﺎن ﻧﻮﺷﺘﻦ روﻳﻪ ذﺧﻴﺮه ﺷﺪه و رﻫﺎﻧﺎ‬

‫•‬

‫ﺟﻬﺖ ﺟﺎﺑﺠﺎﻳﻲ ﻣﻜﺎن ﻧﻤﺎ )ﺟﻠﻮ‪ ،‬ﻋﻘﺐ و ﻫﺮ دو ﺳﻮ(‬

‫•‬

‫واﺳﻂﻫﺎي ﻣﺤﻴﻂ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي )ﻣﺜﻞ ‪ ODBC‬و‪(...‬‬

‫•‬

‫درﺟﻪ ﻛﻤﺎل از ﻧﻈﺮ ﺳﺎﺧﺘﺎر دادهاي‬

‫•‬

‫درﺟﻪ ﻛﻤﺎل ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬

‫•‬

‫ﺳﺎزﮔﺎري ﺑﺎ‬

‫•‬

‫روﻳﻪاي ﻳﺎ ﻧﺎ روﻳﻪاي ﺑﻮدن‬

‫•‬

‫ﻣﻔﺴﺮي ﻳﺎ ﻛﺎﻣﭙﺎﻳﻠﺮي ﺑﻮدن‬

‫‪4GL‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫‪ANSI‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪76‬‬

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

‫رﻋﺎﻳﺖ اﺻﻞ وﺣﺪت اﺣﻜﺎم ﺑﺮاي ﻋﻤﻞ واﺣﺪ در دو ﺳﻄﺢ اﻧﺘﺰاﻋﻲ و ﻧﻴﺰ در ﻳﻚ‬ ‫ﺳﻄﺢ ﻣﺸﺨﺺ‬

‫•‬

‫وﺟﻮد اﻣﻜﺎن ﻛﻨﺘﺮل رﻛﻮردﻫﺎي ﺗﻜﺮاري ﺑﺮاي ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫•‬

‫ﻗﺪرت در ﺑﺮﻧﺎﻣﻪ ﺳﺎزي اﻟﮕﻮرﻳﺘﻢﻫﺎي ﺑﻬﻴﻨﻪ ﺑﺮاي اﻧﺠﺎم ﭼﻬﺎر ﻋﻤﻞ اﺻﻠﻲ‬ ‫)ﺑﺎزﻳﺎﺑﻲ‪ ،‬ﺣﺬف‪ ،‬درج و ﺑﻬﻨﮕﺎم ﺳﺎزي(‬

‫•‬

‫ﺳﻬﻮﻟﺖ ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاي اﻧﺠﺎم ﭼﻬﺎر ﻋﻤﻞ اﺻﻠﻲ )ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ‬ ‫ﻣﻔﺎﻫﻴﻢ ﺳﺎﺧﺘﺎر دادهاي(‬

‫•‬

‫ﺳﻬﻮﻟﺖ ﻳﺎدﮔﻴﺮي و ﻧﺰدﻳﻜﻲ ﺑﻪ زﺑﺎن ﻃﺒﻴﻌﻲ‬

‫•‬

‫وﺟﻮد اﻣﻜﺎن ﻣﻌﺮﻓﻲ ﻣﻴﺪان و ﻋﻤﻠﻴﺎت روي ﻣﻴﺪانﻫﺎ‬

‫•‬

‫وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاي اﻋﻤﺎل ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ‬

‫•‬

‫وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاياﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ دادهﻫﺎ‬

‫•‬

‫وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاي اﻋﻤﺎل ﺿﻮاﺑﻂ ﻣﺠﺎزﺷﻤﺎري‬

‫•‬

‫وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاي ﺗﻌﻴﻴﻦ ﺣﺪود ﺗﺮاﻛﻨﺶﻫﺎ و ﻛﻨﺘﺮل ﻫﻤﺰﻣﺎﻧﻲ آﻧﻬﺎ‬

‫•‬

‫وﺟﻮد اﻣﻜﺎن ﻧﻮﺷﺘﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻣﻮازي ﭘﺮﺳﺶ‬

‫•‬

‫ﻣﻴﺰان ﺷﻴﺊ ﮔﺮا ﺑﻮدن‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﻻزم ﺑﺮاي دادهﻫﺎي زﻣﺎﻧﺒﻨﺪ‬

‫‪ -6‬ﻣﺤﻮرﻫﺎي اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ ‪DBMS‬ﻫﺎ‬ ‫در ﻣﻘﺎﻳﺴﻪ اﻳﻦ ﺳﻴﺴﺘﻢﻫﺎ‪ ،‬ﺑﺎﻳﺪ ﺗﻤﺎم ﭘﺎراﻣﺘﺮﻫﺎي ﮔﻔﺘﻪ ﺷﺪه در ﻗﺴﻤﺖ ‪ 9‬اﻳﻦ ﮔﻔﺘﺎر را‬ ‫در ﻧﻈﺮ داﺷﺖ‪ .‬اﻣﺎ ﺑﺎ ﺑﺮرﺳﻲ اﻳﻦ ﭘﺎراﻣﺘﺮﻫﺎ ﻣﻲ ﺗﻮان ﻣﺤﻮرﻫﺎي اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ را ﺑﺪﺳﺖ‬ ‫آورد‪ .‬در زﻳﺮ ﻣﺤﻮرﻫﺎي ﻣﻬﻤﺘﺮ را ﺑﺮ ﻣﻲﺷﻤﺮﻳﻢ )ﻓﺮض ﺑﺮ اﻳﻦ اﺳﺖ ﻛﻪ ﺳﻴﺴﺘﻢ ﻫﺎي‬ ‫ﻣﻘﺎﻳﺴﻪ ﺷﻮﻧﺪه ﻣﻌﻤﺎري ‪ ANSI‬را ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻲﻛﻨﻨﺪ(‪:‬‬ ‫•‬

‫اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ دادهﻫﺎ‬

‫•‬

‫اﻧﻮاع دادهاي ﻣﻮرد ﭘﺬﻳﺮش ﺳﻴﺴﺘﻢ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﻋﻤﻠﻴﺎت در دادهﻫﺎ‬

‫•‬

‫ﻧﻮع ﺗﺮاﻛﻨﺶﻫﺎ )ﭼﻨﺪ ﭘﺮﺳﺸﻲ ﻳﺎ ﺑﺮﻧﺎﻣﻪ‪ ،‬ﺗﻌﺪاد آﻧﻬﺎ( و ﻃﺮز ﻣﺪﻳﺮﻳﺖ آﻧﻬﺎ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﭘﺮدازش ﭘﺮﺳﺶﻫﺎ‪ ،‬ﺑﻬﻴﻨﻪ ﺳﺎزي آﻧﻬﺎ و زﻣﺎن ﺑﻬﻴﻨﻪ ﺳﺎزي‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪77‬‬

‫•‬

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

‫•‬

‫وﺿﻌﻴﺖ ﺳﻄﺢ داﺧﻠﻲ‪ -‬ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ از ﻧﻈﺮ ﺳﺎﺧﺘﺎر ﻓﺎﻳﻠﻬﺎ‪ ،‬ﺷﻴﻮهﻫﺎي‬ ‫دﺳﺘﻴﺎﺑﻲ )ﺑﻮﻳﮋه ﺷﺎﺧﺺ ﺑﻨﺪي( و ﺟﻨﺒﻪﻫﺎي دﻳﮕﺮ‪.‬‬

‫•‬

‫ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻗﺎﺑﻞاﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ‬

‫•‬

‫ﻣﺤﻴﻂ ﺳﺨﺖاﻓﺰاري و ﺣﺪاﻗﻞ اﻣﻜﺎﻧﺎت ﻻزم‬

‫•‬

‫ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﻻزم‬

‫•‬

‫ﺗﻜﻨﻴﻜﻬﺎي ﻛﻨﺘﺮل ﻫﻤﺰﻣﺎﻧﻲ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎ‪ :‬ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ‪ ،‬ﺗﺮﻣﻴﻢ‪ ،‬اﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ‪.‬‬

‫•‬

‫ﺗﺴﻬﻴﻼت ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ )ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ و ﻃﺮاﺣﻲ ﻓﻴﺰﻳﻜﻲ(‪.‬‬

‫•‬

‫ﻣﻜﺎﻧﻴﺴﻢ ادﻏﺎم زﺑﺎن دادهاي ﻓﺮﻋﻲ در زﺑﺎن ﻣﻴﺰﺑﺎن )وﺟﻮد ﭘﻴﺶ ﻛﺎﻣﭙﺎﻳﻠﺮ ﻳﺎ‬ ‫ﻓﺮاﺧﻮاﻧﻲ ﺗﻮاﺑﻊ(‪.‬‬

‫•‬

‫ﺗﻨﻮع دﻳﺪﻫﺎﻳﻲ ﻛﻪ ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را ﻣﻲﭘﺬﻳﺮﻧﺪ‪.‬‬

‫•‬

‫ﻣﻜﺎﻧﻴﺴﻢ ﻣﺠﺎزﺷﻤﺎري ﻛﺎرﺑﺮان )ﻧﺎﻣﺘﻤﺮﻛﺰ‪ ،‬ﻣﺘﻤﺮﻛﺰ ﻳﺎ ﻧﻴﻤﻪ ﻣﺘﻤﺮﻛﺰ(‪.‬‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﻣﻮرد ﻧﻴﺎز ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﻧﻬﺎن ﻧﮕﺎري دادهﻫﺎ‪.‬‬

‫•‬

‫ﻃﺮز اﻧﺠﺎم ﻋﻤﻞ ﺑﻬﻨﮕﺎم ﺳﺎزي )درﺟﺎ ﻳﺎ ﺑﺮون از ﺟﺎ(‪.‬‬

‫•‬

‫اﻟﮕﻮرﻳﺘﻢ اﺟﺮاي ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ و ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي‪.‬‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺗﻌﺎﻣﻞ ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎي دﻳﮕﺮ )ﻧﻮع ﻣﻴﺎن اﻓﺰار و‪(...‬‬

‫•‬

‫ﻃﺮز ﻧﻤﺎﻳﺶ ﻧﺘﺎﻳﺞ ﻋﻤﻠﻴﺎت )ﮔﺮاﻓﻴﻚ و ﮔﺰارش(‪.‬‬

‫•‬

‫ﭘﺬﻳﺮش ﻳﺎ ﻋﺪم ﭘﺬﻳﺮش زﺑﺎﻧﻬﺎي ﻧﺴﻞ ﭼﻬﺎرم و ﭘﻨﺠﻢ‪.‬‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺗﻮﻟﻴﺪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي‪.‬‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﭘﺸﺘﻴﺒﺎﻧﻲ ﺗﺼﻤﻴﻢ‪.‬‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﻻزم ﺑﺮاي ﺗﻮﻟﻴﺪ واﺳﻄﻬﺎي ﻛﺎرﺑﺮي‪.‬‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﻋﻤﻠﻴﺎﺗﻲ در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ " ﺗﻮزﻳﻊ ﺷﺪه "‪.‬‬

‫•‬

‫ﺗﺴﻬﻴﻼت ﻧﺮماﻓﺰاري دﻳﮕﺮ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪78‬‬

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

‫‪ -7‬روش ﻣﻄﺎﻟﻌﻪ ﺳﻴﺴﺘﻢ‬ ‫در ﻣﻄﺎﻟﻌﻪ اﻳﻦ ﻧﺮم اﻓﺰار‪ ،‬ﺑﻪ ﻣﻨﻈﻮر‬

‫ﻛﺴﺐ آﺷﻨﺎﻳﻲ ﻣﻘﺪﻣﺎﺗﻲ ﺑﺎ آن )وﻧﻪ ﭼﻨﺪان‬

‫ﺗﺨﺼﺼﻲ(‪ ،‬ﺑﺎﻳﺪ ﻣﻮارد زﻳﺮ ﺑﺮرﺳﻲ ﺷﻮد‪:‬‬ ‫•‬

‫ﺑﺮرﺳﻲ ﺷﺮﻛﺖ ﺳﺎزﻧﺪه‪ ،‬ﺧﺎﻧﻮاده ﻧﺮماﻓﺰارﻫﺎي ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺎﺑﻪ و ﺗﺎرﻳﺨﭽﻪ‬ ‫ﺳﻴﺴﺘﻢ‬

‫•‬

‫ﺣﺪاﻗﻞ ﭘﻴﻜﺮه ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﻻزم‬

‫•‬

‫ﺑﺮرﺳﻲ وﺟﻮد اﺟﺰاء ﻣﻌﻤﺎري ‪ ANSI‬ﺑﺮاي ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫•‬

‫اﻣﻜﺎﻧﺎت زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺳﻴﺴﺘﻢ‬

‫•‬

‫اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ازﻧﻈﺮ زﺑﺎن ﻣﻴﺰﺑﺎن‬

‫•‬

‫ﺑﺮرﺳﻲ ﻣﻮﻟﻔﻪﻫﺎي ﻣﺪل دادهاي و ﻣﻴﺰان راﺑﻄﻪاي ﺑﻮدن ﺳﻴﺴﺘﻢ‬

‫•‬

‫اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﺳﻴﺴﺘﻢ‬

‫•‬

‫روﻧﺪ ﻛﻠﻲ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺗﻮﺳﻂ ﺳﻴﺴﺘﻢ‬

‫•‬

‫ﻧﺤﻮه ﻛﺎر ﺑﺎ ﺳﻴﺴﺘﻢ‪ ،‬ﺑﺮﭘﺎﺳﺎزي‪ ،‬راهاﻧﺪازي و آﻣﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ‪ ،‬ورود ﺑﻪ‬ ‫ﺳﻴﺴﺘﻢ و ﻛﺎرﻫﺎي ﻻزم ﺑﺮاياﻳﺠﺎد ﭘﺎﻳﮕﺎه و اﻧﺠﺎم ﻋﻤﻠﻴﺎت در آن‬

‫•‬

‫ﺗﺴﻬﻴﻼت ﺟﺎﻧﺒﻲ ﺳﻴﺴﺘﻢ از ﺟﻤﻠﻪ واﺳﻂﻫﺎي ﻛﺎرﺑﺮي و‪....‬‬

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

‫ﺑﺮﭘﺎﺳﺎزي ﺳﻴﺴﺘﻢ‬

‫•‬

‫ﻃﺮز ارﺗﺒﺎط ﺑﺎ ﺳﻴﺴﺘﻢ‬

‫•‬

‫ﻃﺮز اﺳﺘﻔﺎده از ﺳﻴﺴﺘﻢ‬

‫•‬

‫ﻃﺮز اﺳﺘﻔﺎده از ﺗﺴﻬﻴﻼت و اﻣﻜﺎﻧﺎت آن‬

‫•‬

‫ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎﻳﻲ از ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪79‬‬

‫ﻃﺮز ﺗﺸﺨﻴﺺ ﻋﻴﺒﻬﺎي ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري و ﭼﮕﻮﻧﮕﻲ رﻓﻊ آﻧﻬﺎ و ﺗﺮﻣﻴﻢ‬ ‫ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫•‬

‫ﺗﻐﻴﻴﺮ ﺳﺎﺧﺘﺎر ﭘﺎﻳﮕﺎهدادهﻫﺎ )ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد(‬

‫•‬

‫ﺗﻨﻈﻴﻢ ﺳﻴﺴﺘﻢ‬

‫•‬

‫ﺑﻬﺒﻮد ﺑﺨﺸﻴﺪن ﻛﺎراﻳﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫•‬

‫ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن‬

‫‪ -9‬ﻫﺰﻳﻨﻪﻫﺎ‬ ‫اﺳﺘﻔﺎده از ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎه دادهﻫﺎ ﻫﺰﻳﻨﻪ ﻫﺎﻳﻲ دارد‪ .‬ﺑﺮﺧﻲ از اﻗﻼم ﻣﻬﻤﺘﺮ ﻫﺰﻳﻨﻪ‬ ‫ﻋﺒﺎرﺗﻨﺪاز‪:‬‬ ‫•‬

‫ﻫﺰﻳﻨﻪ ﺧﺮﻳﺪ ﻧﺮماﻓﺰار اﺻﻠﻲ)‪(DBMS‬‬

‫•‬

‫ﻫﺰﻳﻨﻪ آﻣﻮزش ﻧﺮماﻓﺰار اﺻﻠﻲ‬

‫•‬

‫ﻫﺰﻳﻨﻪ ﻧﮕﻬﺪاري و ﺑﻬﺮه ﺑﺮداري از آن‬

‫•‬

‫ﻫﺰﻳﻨﻪ ﺗﺒﺪﻳﻞ ﺳﻴﺴﺘﻢ ﻧﺎﭘﺎﻳﮕﺎﻫﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ‬

‫•‬

‫ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ اﺑﺰارﻫﺎي ﻧﺮماﻓﺰاري دﻳﮕﺮ‬

‫•‬

‫ﻫﺰﻳﻨﻪ آﻣﻮزش اﻣﻜﺎﻧﺎت ﻧﺮماﻓﺰاري‬

‫•‬

‫ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﺑﺴﺘﻪﻫﺎي ﻛﺎرﺑﺮدي‬

‫•‬

‫ﻫﺰﻳﻨﻪ آﻣﻮزش ﺑﺴﺘﻪﻫﺎي ﻛﺎرﺑﺮدي‬

‫•‬

‫ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﻣﺴﺘﻨﺪات ﺧﻮد ﺳﻴﺴﺘﻢ‬

‫•‬

‫ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﻣﺴﺘﻨﺪات اﻣﻜﺎﻧﺎت ﻧﺮماﻓﺰاري و ﺑﺴﺘﻪﻫﺎي ﻛﺎرﺑﺮدي‬

‫•‬

‫ﻫﺰﻳﻨﻪ ﺗﻨﻈﻴﻢ ﻣﺴﺘﻨﺪات ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫•‬

‫ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ )ﻛﺎﻣﭙﻴﻮﺗﺮ از ردهﻫﺎي ﻣﺨﺘﻠﻒ(‬

‫•‬

‫ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي‬

‫•‬

‫ﻫﺰﻳﻨﻪ ﺗﺎﻣﻴﻦ ﺷﺒﻜﻪﻫﺎي ﻻزم )در ﺻﻮرت ﻟﺰوم(‬

‫•‬

‫ﻫﺰﻳﻨﻪ ﻧﮕﻬﺪاري و ﺑﻬﺮه ﺑﺮداري از ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي‬

‫•‬

‫ﻫﺰﻳﻨﻪ ﺑﻬﻴﻨﻪ ﺳﺎزي و ﮔﺴﺘﺮش ﺳﻴﺴﺘﻢ‬

‫•‬

‫ﺣﻘﻮق و ﻣﺰاﻳﺎي اﻓﺮاد ﺗﻴﻢ ﻣﺪﻳﺮﻳﺖ و ﺗﻴﻢﻫﺎي اﺟﺮاﻳﻲ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪80‬‬

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

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

‫)‪(DBA‬‬

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

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

‫‪DBA‬‬

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

‫ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫•‬

‫ﻣﺪﻳﺮ دادهﻫﺎ‬

‫•‬

‫ﻣﺪﻳﺮ اﻣﻮر ﭘﮋوﻫﺸﻲ‪ -‬ﺗﻮﺳﻌﻪ‬

‫•‬

‫ﻣﺪﻳﺮ ﺳﻴﺴﺘﻢ )ﻫﺎي( ﻛﺎرﺑﺮدي‬

‫•‬

‫ﻣﺴﺌﻮل ﺗﻴﻤﻬﺎي ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬

‫•‬

‫ﻣﺴﺌﻮل ﻛﻨﺘﺮل ﻛﺎراﻳﻲ‬

‫•‬

‫ﻣﺴﺌﻮل ﻛﻨﺘﺮل ﻛﺎراﻳﻲ ﺧﻮد ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ‬

‫•‬

‫ﻣﺴﺌﻮل ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻴﺎت روي ﭘﺎﻳﮕﺎهدادهﻫﺎ و اﻧﺠﺎم ﻓﻌﺎﻟﻴﺖﻫﺎي آﻣﺎري‬

‫‪DBMS‬‬

‫ﻣﺮﺑﻮﻃﻪ‬ ‫•‬

‫ﻣﺴﺌﻮل ﺗﻤﺎس ﺑﺎ ﻛﺎرﺑﺮان زﻳﺮ ﻣﺤﻴﻂﻫﺎي ﺳﺎزﻣﺎن‬

‫•‬

‫ﻣﺴﺌﻮل ﺗﻨﻈﻴﻢ ﻣﺴﺘﻨﺪات‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫ﺗﻴﻢ‬

‫‪DBA‬‬

‫در ﻣﻌﻨﺎي ﻣﺤﺪود‪ :‬ﺑﺎ اﻳﻦ ﻣﻌﻨﺎ‪ ،‬ﺗﻴﻢ‬

‫‪DBA‬‬

‫‪81‬‬

‫ﺗﻴﻤﻲاﺳﺖ ﻛﻪ‬

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

‫ﺗﻴﻢ‬

‫‪DBA‬‬

‫در ﻣﻌﻨﺎي ﮔﺴﺘﺮده‪ :‬ﺑﺎ اﻳﻦ ﻣﻌﻨﺎ‪ ،‬ﺗﻴﻢ ‪ ،DBA‬ﺧﻮد ﻫﻤﻪ ﻣﺮاﺣﻞ ﻻزم‬

‫ﺑﺮاياﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺳﺎزﻣﺎن را اﻧﺠﺎم ﻣﻲدﻫﺪ و ﺳﭙﺲ ﻧﮕﻬﺪاري‪ ،‬ﺑﻬﺮه‬ ‫ﺑﺮداري و ﺑﻬﻴﻨﻪ ﺳﺎزي و ﮔﺴﺘﺮش آن را ﺑﺮﻋﻬﺪه ﻣﻲﮔﻴﺮد‪.‬‬

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

‫ﻣﺪﻳﺮﻳﺖ"‬

‫ﻣﺮاﺟﻌﻪ ﺷﻮد‪.‬‬

‫‪ 3-10‬وﻇﺎﻳﻒ‬ ‫ﺗﻴﻢ‬

‫‪DBA‬‬

‫در ﻣﻌﻨﺎي ﮔﺴﺘﺮده وﻇﺎﻳﻔﻲ دارد ﻛﻪ اﻫﻢ آﻧﻬﺎ را ذﻛﺮ ﻣﻲﻛﻨﻴﻢ‪ .‬ﺗﻮﺟﻪ دارﻳﻢ‬

‫ﻛﻪ ﺗﺮﺗﻴﺐ اﻧﺠﺎم اﻳﻦ وﻇﺎﻳﻒ ﻟﺰوﻣﺎ ﻫﻤﺎن ﻧﻴﺴﺖ ﻛﻪ در زﻳﺮ آﻣﺪه اﺳﺖ )روﺷﻦ اﺳﺖ‬ ‫ﻛﻪ در اﺟﺮاي ﻫﺮ ﭘﺮوژه‪ ،‬ﻧﻴﺎز ﺑﻪ ﻳﻚ ﻃﺮح زﻣﺎن ﺑﻨﺪي ﻓﻌﺎﻟﻴﺘﻬﺎﺳﺖ ﻛﻪ ﺑﺎﻳﺪ آﻣﺎده‬ ‫ﺷﻮد(‪ .‬ﻫﻤﭽﻨﻴﻦ ﺑﺮﺧﻲ از اﻳﻦ وﻇﺎﻳﻒ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺑﻄﻮر ﻫﻤﺰﻣﺎن اﻧﺠﺎم ﺷﻮﻧﺪ‪.‬‬ ‫•‬

‫ﻣﺸﺎرﻛﺖ در ﺗﻔﻬﻴﻢ اﻫﻤﻴﺖ و ﻧﻘﺶ داده ﺑﻪ ﻣﺪﻳﺮﻳﺖ ﺳﺎزﻣﺎن‬

‫•‬

‫ﻣﺸﺎرﻛﺖ در ﺗﻔﻬﻴﻢ اﻫﻤﻴﺖ و ﻣﺰاﻳﺎي ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬

‫•‬

‫ﻣﺸﺎرﻛﺖ در ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد اﺳﺘﻔﺎده ﻳﺎ ﻋﺪم اﺳﺘﻔﺎده از اﻳﻦ ﺗﻜﻨﻮﻟﻮژي‪.‬‬

‫•‬

‫ﻣﺸﺎرﻛﺖ در ﺗﻮﺟﻴﻪ ﻋﻠﻤﻲ‪-‬ﻓﻨﻲ ﺗﺼﻤﻴﻢ اﺳﺘﻔﺎده از اﻳﻦ ﺗﻜﻨﻮﻟﻮژي‪.‬‬

‫•‬

‫ﻣﻄﺎﻟﻌﻪ دﻗﻴﻖ و ﻫﻤﻪ ﺟﺎﻧﺒﻪ ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ و ﺑﺮآورد ﺧﻮاﺳﺘﻪﻫﺎ و ﺑﺮ آورد‬ ‫ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان )اﻧﺠﺎم اﺻﻮﻟﻲ ﻣﻬﻨﺪﺳﻲ ﻧﻴﺎزﻫﺎ(‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪82‬‬

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

‫ﺑﺮرﺳﻲ روﻧﺪ دادهﻫﺎ و روﻧﺪ روﻳﺪادﻫﺎ در ﻣﺤﻴﻂ و رﺳﻢ ﻧﻤﻮدار روﻧﺪ دادهﻫﺎ و‬ ‫روﻧﺪ روﻳﺪادﻫﺎ )ﻳﻚ ﻳﺎ ﻫﺮ دو ﺑﺴﺘﻪ ﺑﻪ ﺷﻴﻮه ﻣﺪﻟﺴﺎزي ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ( و ﺗﻬﻴﻪ‬ ‫و ﺗﻨﻈﻴﻢ ﻣﺴﺘﻨﺪات ﻻزم‪.‬‬

‫•‬

‫ﻣﺪﻟﺴﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ )ﺑﺎ ﻣﺮاﺣﻠﻲ ﻛﻪ دﻳﺪه ﺷﺪ از ﺟﻤﻠﻪ رﺳﻢ ﻧﻤﻮدار ‪.(EER‬‬

‫•‬

‫ﺗﺨﻤﻴﻦ ﺣﺠﻢ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ در ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬

‫•‬

‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي دو ﻣﻮرد ﺗﻌﻴﻴﻦ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﺗﻌﻴﻴﻦ ﻣﺸﺨﺼﺎت‬ ‫ﺳﻴﺴﺘﻢ )ﻫﺎي( ﻛﺎرﺑﺮدي ﻣﻮرد ﻧﻴﺎز‪.‬‬

‫•‬

‫ﻣﺸﺎرﻛﺖ در اﻧﺘﺨﺎب ‪) DBMS‬ﻫﺎ( و ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﻻزم‬ ‫در ﺻﻮرت ﻟﺰوم )اﮔﺮ اﻧﺘﺨﺎب ﻧﺸﺪه ﺑﺎﺷﺪ(‪.‬‬

‫•‬

‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در اﻧﺘﺨﺎب و اﻧﺘﺴﺎب اﻋﻀﺎء ﺗﻴﻤﻬﺎي اﺟﺮاﻳﻲ‪.‬‬

‫•‬

‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در اﻧﺘﺨﺎب اﺑﺰارﻫﺎي ﻧﺮماﻓﺰاري دﻳﮕﺮ ﺑﺮاي ﺗﻮﻟﻴﺪ و ﮔﺴﺘﺮش‬ ‫ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ‪.‬‬

‫•‬

‫ﺗﺼﻤﻴﻢﮔﻴﺮي درﻣﻮرد زﺑﺎن)ﻫﺎي( ﺑﺮﻧﺎﻣﻪﺳﺎزي ﻣﻮرد ﻧﻴﺎز و ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﻫﺮ ﻛﺎرﺑﺮد‪.‬‬

‫•‬

‫ﻃﺮاﺣﻲ ﺳﻄﺢ ادراﻛﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ )ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ(‪.‬‬

‫•‬

‫ﻧﻮﺷﺘﻦ ﺷﻤﺎي ادراﻛﻲ و ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاياﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬

‫•‬

‫ﺗﻌﻴﻴﻦ ﻣﺠﻤﻮﻋﻪ ﻗﻮاﻋﺪ )ﻣﺤﺪودﻳﺘﻬﺎي( ﺟﺎﻣﻌﻴﺖ ﻧﺎﻇﺮ ﺑﻪ ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬

‫•‬

‫ﻧﻈﺎرت ﺑﺮ ﺗﻌﻴﻴﻦ دﻳﺪﻫﺎي ﺧﺎرﺟﻲ و ﻧﻮﺷﺘﻦ ﺷﻤﺎﻫﺎي ﺧﺎرﺟﻲ‪.‬‬

‫•‬

‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﻣﺸﺨﺼﺎت ﺳﺎﺧﺘﺎر ﺳﻄﺢ داﺧﻠﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﺗﻌﻴﻴﻦ‬ ‫ﺳﺎﺧﺘﺎر ﻓﺎﻳﻞﻫﺎي ﻣﻨﺎﺳﺐ‪ ،‬اﺳﺘﺮاﺗﮋيﻫﺎي دﺳﺘﻴﺎﺑﻲ ﻛﺎرا و ﻧﻮﺷﺘﻦ ﺷﻤﺎي داﺧﻠﻲ‪.‬‬

‫•‬

‫اﻧﺠﺎم ﻃﺮاﺣﻲ ﺗﻮزﻳﻊ )در ﺻﻮرت ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه(‪.‬‬

‫•‬

‫ﻃﺮاﺣﻲ "ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي"‪ ،‬ﺗﺮاﻛﻨﺶﻫﺎي ﻻزم و روﻳﻪﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ ﻻزم‪.‬‬ ‫)ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ ﻫﺮ ﺑﺮﻧﺎﻣﻪاي‪ ،‬ﻧﻴﺎز ﺑﻪ ﻃﺮاﺣﻲ دارد و ﺗﻨﻬﺎ ﭘﺲ از ﻃﺮاﺣﻲ‬ ‫اﺻﻮﻟﻲ ﺑﺮﻧﺎﻣﻪ‪ ،‬ﻣﻲﺗﻮان ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻛﺮد(‪ ،‬واﻳﺠﺎد ارﺗﺒﺎط داﺋﻢ ﺑﺎ ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪﮔﺎن‬ ‫" ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي"‪.‬‬

‫•‬

‫ﻃﺮاﺣﻲ واﺳﻄﻪﻫﺎي ﻛﺎرﺑﺮدي‪.‬‬

‫•‬

‫اﻳﺠﺎد ﻧﻤﻮﻧﻪ ﻧﺨﺴﺖ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ و ﺑﺎرﮔﺬاري ﭘﺎﻳﮕﺎه ﺑﺎ دادهﻫﺎي ﺗﺴﺘﻲ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪83‬‬

‫ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاي ﻛﻨﺘﺮل ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﻮﻳﮋه اﻋﻤﺎل ﻣﺤﺪودﻳﺘﻬﺎي‬ ‫ﺟﺎﻣﻌﻴﺘﻲ‪.‬‬

‫•‬

‫ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاي ﺑﻬﺮه ﺑﺮداري از ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬

‫•‬

‫اﻳﺠﺎد ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ واﻗﻌﻲ )و ﻣﻨﻄﺒﻖ ﺑﺎ ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان(‪.‬‬

‫•‬

‫ﻧﻈﺎرت ﺑﺮ وارد ﻛﺮدن دادهﻫﺎ )در ﺣﺠﻢ ﻣﺤﺪود(‪.‬‬

‫•‬

‫اﻧﺘﺨﺎب اﺳﺘﺮاﺗﮋيﻫﺎي ﺗﺴﺖ ﻣﻨﺎﺳﺐ و ﺗﺴﺖ ﻛﺮدن " ﺳﻴﺴﺘﻢ" ﺑﺎ دادهﻫﺎي ﺗﺴﺘﻲ‬ ‫و ﻧﻴﺰ ﺑﺎ دادهﻫﺎي واﻗﻌﻲ در ﺣﺠﻢ ﻣﺤﺪود )اﻧﺠﺎم دو ﻣﺮﺣﻠﻪ ﺗﺴﺖ(‪.‬‬

‫•‬

‫ﻧﻈﺎرت ﺑﺮ وارد ﻛﺮدن دادهﻫﺎي واﻗﻌﻲ ﺳﺎزﻣﺎن‪.‬‬

‫•‬

‫ﺗﺴﺖ ﻛﺮدن " ﺳﻴﺴﺘﻢ" ﺑﺎ دادهﻫﺎي واﻗﻌﻲ و در ﺣﺠﻢ واﻗﻌﻲ‬

‫•‬

‫ﺗﻨﻈﻴﻢ دﻗﻴﻖ ﻗﺴﻤﺘﻬﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ و ﻛﻞ ﺳﻴﺴﺘﻢ ﻳﻜﭙﺎرﭼﻪ‪.‬‬

‫•‬

‫ﺗﻌﻴﻴﻦ ﺿﻮاﺑﻂ دﺳﺘﻴﺎﺑﻲ ﻛﺎرﺑﺮان ﺑﻪ دادهﻫﺎ‪.‬‬

‫•‬

‫ﻧﻈﺎرت در ﺗﻬﻴﻪ ﻣﺴﺘﻨﺪات ﻻزم در ﻫﻤﻪ ﻣﺮاﺣﻞ ﻛﺎر‪.‬‬

‫•‬

‫وﺿﻊ اﺳﺘﺎﻧﺪاردﻫﺎي ﻻزم در ﻫﻤﻪ ﻣﺮاﺣﻞ ﻛﺎر و ﻧﻈﺎرت ﺑﺮ اﻋﻤﺎل آﻧﻬﺎ‪.‬‬

‫•‬

‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﭼﮕﻮﻧﮕﻲ ﺗﺮﻣﻴﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ و در ﺻﻮرت ﻟﺰوم ﺗﻬﻴﻪ ﻳﺎ‬ ‫ﺗﻮﺳﻌﻪ اﺑﺰارﻫﺎي اﻳﻦ ﻛﺎر و اﻧﺠﺎم ﺗﺮﻣﻴﻢ ﭘﺎﻳﮕﺎه‪.‬‬

‫•‬

‫ﻛﻨﺘﺮل ﻣﺪاوم ﻛﺎراﻳﻲ ‪ DBMS‬و ﺗﻼش در اﻓﺰاﻳﺶ ﻛﺎراﻳﻲ‪.‬‬

‫•‬

‫ﻧﻈﺎرت و ﻛﻨﺘﺮل داﺋﻢ ﺑﺮ ﻋﻤﻠﻴﺎﺗﻲ ﻛﻪ در ﭘﺎﻳﮕﺎهدادهﻫﺎ اﻧﺠﺎم ﻣﻲﺷﻮد‪.‬‬

‫•‬

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

‫•‬

‫ﺗﻀﻤﻴﻦ ﻣﺤﺮﻣﺎﻧﮕﻲ دادهﻫﺎ‪.‬‬

‫•‬

‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﭼﻨﺪي و ﭼﮕﻮﻧﮕﻲ رﺷﺪ )ﮔﺴﺘﺮش( ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬

‫•‬

‫اﺗﺨﺎذ ﺗﺪاﺑﻴﺮ ﻻزم ﺑﺮاياﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ دادهﻫﺎ و اﻋﻤﺎل اﻳﻦ ﺗﺪاﺑﻴﺮ‪.‬‬

‫•‬

‫ﻣﺪﻳﺮﻳﺖ ﻛﺎرﺑﺮان ﭘﺎﻳﺎﻧﻲ )اﻳﺠﺎد و ﺗﻌﺮﻳﻒ ﻛﺎرﺑﺮان‪ ،‬ﮔﺬر واژهﻫﺎ‪ ،‬اﻣﺘﻴﺎزﻫﺎ و‪.(...‬‬

‫•‬

‫ﺗﻤﺎس داﺋﻢ ﺑﺎ ﻛﺎرﺑﺮان و ﺷﻨﺎﺧﺖ ﻧﻴﺎزﻫﺎي ﺟﺪﻳﺪ آﻧﻬﺎ‪.‬‬

‫•‬

‫ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن ﺑﻄﻮر ﻣﺘﻨﺎوب )ﺑﺎ ﺗﻨﺎوب ﻣﻨﺎﺳﺐ(‪.‬‬

‫•‬

‫ﺗﻌﻴﻴﻦ اﻟﮕﻮﻫﺎي اﺳﺘﻔﺎده از دادهﻫﺎ و ﺑﺴﺎﻣﺪ )ﻓﺮﻛﺎﻧﺲ( اﺳﺘﻔﺎده از دادهﻫﺎ‪.‬‬

‫•‬

‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﭼﮕﻮﻧﮕﻲ ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﭘﺎﻳﮕﺎهدادهﻫﺎ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪84‬‬

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

‫اﻧﺠﺎم ﺗﺒﺪﻳﻞ و اﻧﺘﻘﺎل دادهﻫﺎ از" ﺳﻴﺴﺘﻢﻫﺎي ﻣﻮﺟﻮد" ﺑﻪ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺟﺪﻳﺪ و‬ ‫اﻧﺠﺎم ﺗﺒﺪﻳﻞ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻣﻮﺟﻮد ﺑﻪ ﮔﻮﻧﻪاي ﻛﻪ ﻗﺎﺑﻞ اﺟﺮا در"ﺳﻴﺴﺘﻢ‬ ‫ﻛﺎرﺑﺮدي" ﺟﺪﻳﺪ ﺑﺎﺷﻨﺪ‪.‬‬

‫•‬

‫ﺗﻼش در ﺟﻬﺖ ارﺗﻘﺎء ﺳﻄﺢ داﻧﺶ و ﻓﻦ اﻋﻀﺎء ﺗﻴﻢ و ﻛﺎرﺑﺮان )ﺑﻮﻳﮋه در زﻣﻴﻨﻪ‬ ‫ﺗﻜﻨﻮﻟﻮژي اﻃﻼﻋﺎت و ﺳﻴﺴﺘﻤﻬﺎي اﻃﻼﻋﺎﺗﻲ(‪.‬‬

‫•‬

‫ﺗﻼش در ﺟﻬﺖ ﺷﻨﺎﺳﺎﻳﻲ اﻣﻜﺎﻧﺎت ﺟﺪﻳﺪ‪ ،‬ﮔﺴﺘﺮش‪ ،‬ارﺗﻘﺎء و ﻛﺎراﺗﺮ ﻛﺮدن‬ ‫ﺳﻴﺴﺘﻢ ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ اﻣﻜﺎﻧﺎت‪.‬‬

‫•‬

‫ﺗﻬﻴﻪ و ﺗﻨﻈﻴﻢ اﻧﻮاع آﻣﺎرﻫﺎ و ﮔﺰارﺷﺎت ﻛﻨﺘﺮﻟﻲ و ﻣﺪﻳﺮﻳﺘﻲ در ﻣﻮرد ﺳﻴﺴﺘﻢ‬ ‫ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﻛﺎرﺑﺮان‪.‬‬

‫•‬

‫ﺗﻀﻤﻴﻦ اﻧﺠﺎم و اﺗﻤﺎم "ﭘﺮوژه ﭘﺎﻳﮕﺎﻫﻲ" در ﻣﺪت زﻣﺎن ﭘﻴﺶ ﺑﻴﻨﻲ ﺷﺪه و ﺑﺎ‬ ‫ﺗﻮﺟﻪ ﺑﻪ ﻣﺤﺪودﻳﺖ ﺑﻮدﺟﻪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪85‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


WWW.IRANMEET.COM

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

Ramin.Samad@yahoo.com

86


‫‪WWW.IRANMEET.COM‬‬

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

‫ﻫﺪف رﻓﺘﺎري‬ ‫دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬ ‫•‬

‫ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ‬

‫•‬

‫ﺑﺨﺶ ﺳﺎﺧﺘﺎري ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ‬

‫•‬

‫ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ‬

‫•‬

‫ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ‬

‫•‬

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

‫•‬

‫ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري‬

‫•‬

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

‫•‬

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

‫•‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

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

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪90‬‬ ‫•‬

‫ﺳﺎﺧﺘﺎر دادهاي ﺗﺎﻣﻴﻦ ﻛﻨﻨﺪه ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﭼﺎر ﭼﻮب ﻃﺮاﺣﻲ‬ ‫ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه اﺳﺖ‪.‬‬

‫•‬

‫ﺳﺎﺧﺘﺎر دادهاي ﻣﺒﻨﺎ )و ﭼﺎرﭼﻮب( ﻃﺮاﺣﻲ دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ‪ ،‬دﺳﺘﻮر ي‬ ‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهدادهﻫﺎ و دﺳﺘﻮر ي ﻛﻨﺘﺮل دادهﻫﺎ اﺳﺖ‪.‬‬

‫•‬

‫ﺳﺎﺧﺘﺎر دادهاي ﻣﺒﻨﺎي ﻃﺮاﺣﻲ ‪ DBMS‬ﺳﺖ‪ ،‬ﻳﻌﻨﻲ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺳﻪ ﻧﻮع ﻣﺪل‪ ،‬ﺳﻪ‬ ‫رده‬

‫‪DBMS‬‬

‫دارﻳﻢ ﻛﻪ ﻋﺒﺎرﺗﻨﺪ‬

‫از‪HDBMS ،RDBMS:‬‬

‫و‪ ،NDBMS‬ﺑﻪ ﻧﺤﻮي ﻛﻪ‬

‫ﻫﻮﻳﺖ "ﻫﺮ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ" ﻫﻤﺎن ﻣﺪل دادهاي آن اﺳﺖ‪.‬‬ ‫•‬

‫ﺳﺎﺧﺘﺎر دادهاي ﺿﺎﺑﻄﻪاي اﺳﺖ ﺑﺮاي ﻣﻘﺎﻳﺴﻪ ‪ 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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

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

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

‫ﻧﻮع رﻛﻮرد‬

‫•‬

‫ﻧﻮع ﭘﻴﻮﻧﺪ ﭘﺪر‪-‬ﻓﺮزﻧﺪي‬

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

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪92‬‬

‫در ﺷﻜﻞ ‪ -2-5‬رﻛﻮرد ﻧﻮع‬

‫‪Y‬‬

‫ﻓﺮزﻧﺪ و رﻛﻮرد ﻧﻮع ‪ ،X‬ﭘﺪر اﺳﺖ‪ .‬ﻫﺮ ﻧﻮع رﻛﻮرد )از‬

‫ﻫﺮ ﺳﻄﺢ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ(‪ ،‬ﻣﻲ ﺗﻮاﻧﺪ از ﺻﻔﺮ ﺗﺎ ‪ n‬ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ )در ﺳﻄﺢ ﺑﻼﻓﺎﺻﻠﻪ‬ ‫ﭘﺎﺋﻴﻦ ﺗﺮ و در ﻣﺴﻴﺮ ي ﻣﺨﺘﻠﻒ ﻃﺒﻌﺎ( داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﭘﺲ ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ از ﻳﻚ‬ ‫ﺳﻄﺢ‪ ،‬ﺧﻮد ﻣﻲ ﺗﻮاﻧﺪ ﭘﺪر اﻧﻮاﻋﻲ از رﻛﻮرد در ﺳﻄﺢ ﺑﻼﻓﺎﺻﻠﻪ ﭘﺎﺋﻴﻦ ﺗﺮ و در ﭼﻨﺪ‬ ‫ﻣﺴﻴﺮ ﺑﺎﺷﺪ‪ .‬ﺑﺪﻳﻨﺴﺎن‪ ،‬ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ از اﻧﻮاع رﻛﻮردﻫﺎ در ﺳﻄﻮح و ﻣﺴﻴﺮﻫﺎي ﻣﺨﺘﻠﻒ‬ ‫ ‪ ,‬ﻣﻲ ﺷﻮد‪.‬‬ ‫•‬

‫رﻳﺸﻪ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‪ ،‬رﻛﻮرد ﻧﻮع ﭘﺪر در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ اﺳﺖ‪ .‬ﺑﻘﻴﻪ اﻧﻮاع‬ ‫رﻛﻮرد ‪ ،‬واﺑﺴﺘﮕﺎن رﻳﺸﻪ در ﺳﻄﻮح ﻣﺨﺘﻠﻒ‪ ،‬ﻫﺴﺘﻨﺪ‪.‬‬

‫•‬

‫رﻳﺸﻪ در ﺣﺎﻟﺖ ﺧﺎص ﻣﻤﻜﻦ اﺳﺖ اﺻﻼً ﻓﺮزﻧﺪ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ و در ‪ +‬ﺻﻮرت‬ ‫ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ را " ﻓﻘﻂ رﻳﺸﻪ" ﻣﻲﮔﻮﻳﻴﻢ‪.‬‬

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

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

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

‫ﻧﻤﻮﻧﻪ از ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ ﺑﻼﻓﺼﻞ‪ ،‬داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﻧﻤﻮﻧﻪﻫﺎي ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ‬

‫ذﻳﻞ ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر ﻣﺸﺨﺺ ﻫﻢ از ﻳﻜﺪﻳﮕﺮ ﻣﺘﻤﺎﻳﺰﻧﺪ‪ .‬ﻋﺎﻣﻞ ﺗﻤﺎﻳﺰ‪ ،‬ﻫﻤﺎن ﻛﻠﻴﺪ رﻛﻮرد‬ ‫ﻓﺮزﻧﺪ اﺳﺖ‪ .‬ﺑﻪ ﻋﻨﻮان اوﻟﻴﻦ ﻣﺜﺎل‪ ،‬ﻧﻤﻮدار ‪ ER‬ﺷﻜﻞ ‪ 4-5‬را در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ‪ + .‬ﻧﻤﻮدار‬ ‫ﻧﻮع ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺖ داﻧﺸﺠﻮ‪ -‬و ﮔﺮوه آﻣﻮزﺷﻲ را ﻧﺸﺎن ﻣﻲدﻫﺪ‪:‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪94‬‬

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

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

‫‪.....‬‬

‫‪DID‬‬

‫‪STUDENT‬‬ ‫‪YEAR‬‬

‫‪.....‬‬

‫‪TERM‬‬

‫‪STID‬‬

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

‫در ‪ +‬ﻃﺮح ﺳﺎده‪ ،‬رﻛﻮرد ﻧﻮع‬

‫‪DEPT‬‬

‫ﻧﻮع ‪DEST‬‬

‫رﻳﺸﻪ‪ -‬ﭘﺪر و رﻛﻮرد ﻧﻮع‬

‫‪STUD‬‬

‫واﺑﺴﺘﻪ‬

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

‫‪Ramin.Samad@yahoo.com‬‬

‫‪STUD‬‬

‫در ﺳﻠﺴﻠﻪ‬


‫‪WWW.IRANMEET.COM‬‬

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

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

‫ ‪ +‬ﺗﻜﺮار‪ ،‬در واﻗﻊ ﻫﻤﺎن ﭘﺪﻳﺪه ﻧﺎﻣﻄﻠﻮب اﻓﺰوﻧﮕﻲ اﺳﺖ‪ + .‬اﻓﺰوﻧﮕﻲ اﻟﺒﺘﻪ ﻣﺎﻫﻴﺘﺎ‬ ‫ﻣﻨﻄﻘﻲ ﻳﺎ ادراﻛﻲ اﺳﺖ‪ .‬اﻣﺎ اﮔﺮ ﻣﻨﺠﺮ ﺑﻪ ﺑﺮوز اﻓﺰوﻧﮕﻲ در ﻣﺤﻴﻂ ﻓﻴﺰﻳﻜﻲ ذﺧﻴﺮه ﺳﺎزي‬ ‫ﺷﻮد ﻣﻲﺗﻮاﻧﺪ‪:‬‬ ‫•‬

‫ﺳﺒﺐ ﺑﺮوز ﻧﺎﺳﺎزﮔﺎري دادهاي ﺷﻮد )ﺑﻪ ﻳﺎد داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ اﻓﺰوﻧﮕﻲ ﻛﻨﺘﺮل‬ ‫ﻧﺸﺪه و ﻧﺎﺳﺎزﮔﺎري دادهاي ﭘﺸﺖ و روي ﻳﻚ ﺳﻜﻪاﻧﺪ !(‪.‬‬

‫•‬

‫ﺳﺒﺐ ﺑﺮوز ﻓﺰوﻧﻜﺎري )ﺑﻴﺸﻜﺎري(در ﺳﻴﺴﺘﻢ در اﻧﺠﺎم ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫ﺷﻮد‪.‬‬

‫ﺗﻮﺟﻪ‪ :‬ﻣﻲ ﺗﻮان ارﺗﺒﺎط ﺑﺎ ﭼﻨﺪي‬ ‫ﻣﺜﻼ ﻓﻘﻂ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‬

‫‪M:N‬‬

‫را ﺑﺎ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻫﻢ ﻃﺮاﺣﻲ ﻛﺮد‪،‬‬

‫‪STCO‬‬

‫را داﺷﺖ‪ .‬اﻣﺎ ﭼﻮن ﻣﻨﻄﻖ ﻃﺒﻴﻌﻲ در ﺳﻠﺴﻠﻪ‬

‫ﻣﺮاﺗﺐ‪ ،‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﺎﻫﻴﺖ ﭘﻴﻮﻧﺪ ﭘﺪر‪ -‬ﻓﺮزﻧﺪي‪ ،‬ورود از رﻳﺸﻪ و ﻃﻲ ﻛﺮدن ﻣﺴﻴﺮ‬ ‫ﻣﻨﺎﺳﺐ ﺑﺮاي رﺳﻴﺪن ﺑﻪ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ ﻣﻮرد ﻧﻈﺮ اﺳﺖ‪ ،‬ﺑﺮاي ﭘﺎﺳﺨﮕﻮﻳﻲ ﺑﻪ ﭘﺮﺳﺸﻲ ﻛﻪ‬ ‫در آن ﻛﻠﻴﺪ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ داده ﺷﺪه ﺑﺎﺷﺪ و ﻧﻤﻮﻧﻪ )ﻫﺎي( ﭘﺪر ﻣﻮرد درﺧﻮاﺳﺖ ﺑﺎﺷﺪ‪،‬‬ ‫دﻳﮕﺮ ﻧﻤﻲ ﺗﻮان ﻣﻨﻄﻘﺎً ﺑﺮ اﺳﺎس روﻳﻪ ﻣﺒﺘﻨﻲ ﺑﺮ ﭘﻴﻮﻧﺪ ﭘﺪر‪ -‬ﻓﺮزﻧﺪي ﻋﻤﻞ ﻛﺮد‪ .‬ﺑﻌﻼوه‬ ‫ﺑﺎ داﺷﺘﻦ ﻓﻘﻂ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺑﺮاي ارﺗﺒﺎط‬

‫‪M:N‬‬

‫و )ﻋﺪم وﺟﻮد ﻧﻮع ﺳﻠﺴﻠﻪ‬

‫ﻣﺮاﺗﺐ ﻗﺮﻳﻨﻪ(‪ ،‬ﻣﺸﻜﻼﺗﻲ ﻧﺎﺷﻲ از ﻣﺎﻫﻴﺖ ﭘﻴﻮﻧﺪ ﭘﺪر‪-‬ﻓﺮزﻧﺪي در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه‬ ‫ﺳﺎزي در ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﺮوز ﻣﻲ ﻛﻨﺪ )از ﺟﻤﻠﻪ ﻋﺪم اﻣﻜﺎن درج ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ ﺑﺪون‬ ‫وﺟﻮد ﻧﻤﻮﻧﻪ ﭘﺪر و ﻳﺎ ﻟﺰوم اﻧﺠﺎم ﺑﻬﻨﮕﺎم ﺳﺎزي ﻣﻨﺘﺸﺮ ﺷﻮﻧﺪه‬

‫(‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪96‬‬

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

‫روش ‪ :2‬ﻃﺮاﺣﻲ دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺑﻪ ﻫﻢ ﺑﺴﺘﻪ‪ :‬ﺗﻜﻨﻴﻚ‬

‫‪VPCL‬‬

‫‪1‬‬

‫در ‪ +‬روش‪ ،‬از ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺠﺎزي )ﺣﺎوي ﻧﺸﺎن ﻧﻤﺎ‪ :‬اﺷﺎره ﮔﺮ و ﺻﻔﺎت‬ ‫ارﺗﺒﺎط( اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪ .‬ﺑﻪ اﻳﻦ ﻧﻮع رﻛﻮرد اﺻﻄﻼﺣﺎ "ﻓﺮزﻧﺪ ﻣﺠﺎزي" ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد‪.‬‬ ‫ﻫﺮ ﻧﻤﻮﻧﻪ از ﻓﺮزﻧﺪ ﻣﺠﺎزي ﺑﻪ ﻳﻚ ﻧﻤﻮﻧﻪ " ﭘﺪر ﻣﺠﺎزي " اﺷﺎره ﻣﻲﻛﻨﺪ‪ .‬ﭼﻨﻴﻦ ﭘﻴﻮﻧﺪي‬ ‫را ﭘﻴﻮﻧﺪ ﭘﺪر‪ -‬ﻓﺮزﻧﺪي ﻣﺠﺎزي ﻣﻲ ﻧﺎﻣﻴﻢ‪ .‬در ﺷﻜﻞ ‪ + 7-5‬روش دﻳﺪه ﻣﻲ ﺷﻮد‪.‬‬ ‫در ‪ +‬ﻃﺮح ﻧﻮع رﻛﻮرد ‪ ،COPTR‬ﻓﺮزﻧﺪ ﻣﺠﺎزي ﻧﻮع رﻛﻮرد ‪ COURSE‬و ‪ +‬ﻧﻮع‬ ‫رﻛﻮرد‪ ،‬ﭘﺪر ﻣﺠﺎزي ﻧﻮع رﻛﻮرد ‪ COPTR‬اﺳﺖ و ﻧﻮع رﻛﻮرد ‪ ،STPTR‬ﻓﺮزﻧﺪ ﻣﺠﺎزي ﻧﻮع‬ ‫رﻛﻮرد‬

‫‪STUD‬‬

‫و ‪ +‬ﻧﻮع رﻛﻮرد‪ ،‬ﭘﺪر ﻣﺠﺎزي ﻧﻮع رﻛﻮرد‬

‫‪STPTR‬‬

‫اﺳﺖ‪ .‬اﻃﻼﻋﺎﺗﻲ ﻛﻪ‬

‫ﻫﻢ ﺑﻪ ﭘﺪر و ﻫﻢ ﺑﻪ ﻓﺮزﻧﺪ ﻣﺮﺑﻮط ﻣﻲﺷﻮد )ﺻﻔﺎت ارﺗﺒﺎط(‪ ،‬در ﻧﻮع رﻛﻮرد اﺷﺎره ﮔﺮ‬ ‫ﻣﺠﺎزي ﮔﻨﺠﺎﻧﺪه ﻣﻲﺷﻮد‪ :‬در ‪ ,‬ﺻﻔﺎت ‪ YRYR ،TR‬و ‪.GRADE‬‬ ‫در ‪ +‬ﻃﺮاﺣﻲ‪ ،‬ﻧﻤﻮﻧﻪﻫﺎي دو ﻧﻮع رﻛﻮرد‬

‫‪STUD‬‬

‫و‬

‫‪COURSE‬‬

‫دﻳﮕﺮ ﺗﻜﺮار‬

‫ﻧﻤﻲﺷﻮﻧﺪ‪ + .‬ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ‪ ،‬اﻟﺒﺘﻪ ﺑﻪ ﻗﻴﻤﺖ ﭘﻴﭽﻴﺪهﺗﺮ ﺷﺪن ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي‬ ‫ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺗﻤﺎم ﻣﻲﺷﻮد )ﺑﻪ وﻳﮋه اﮔﺮ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻣﻮرد ﻧﻴﺎز‪ ،‬ﺑﺰرگ ﺑﺎﺷﺪ )در ﻋﺮض‬ ‫و ﻋﻤﻖ((‪ .‬ﺷﺎﻳﺎن ذﻛﺮ اﺳﺖ ﻛﻪ از دﻳﺪﮔﺎه ﻧﻈﺮي‪ + ،‬ﺗﻜﻨﻴﻚ رﺑﻄﻲ ﺑﻪ ﻣﺎﻫﻴﺖ ﺳﺎﺧﺘﺎر‬ ‫دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻧﺪارد‪ ،‬ﺑﻠﻜﻪ اﻣﻜﺎﻧﻲ اﺳﺖ ﺑﺮاي ﻧﻤﺎﻳﺶ ﺑﻬﻢ ﺑﺴﺘﮕﻲ دو ﻳﺎ ﺑﻴﺶ از‬ ‫دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ و از آﻧﺠﺎ‪ ،‬اﻣﻜﺎﻧﻲ اﺳﺖ ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ‪.‬‬

‫ﺷﻜﻞ ‪ 7-5‬ﭘﻴﻮﻧﺪ ﭘﺪر‪ -‬ﻓﺮزﻧﺪي ﻣﺠﺎزي‬ ‫‪1. V ir t u a l P a r e n t C h i l d Li n k‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ‬

‫‪PCL‬‬

‫و‬

‫‪VPCL‬‬

‫از ﻧﻈﺮ ﻣﻔﻬﻮﻣﻲ‪ ،‬ﻳﻜﺴﺎن ﻫﺴﺘﻨﺪ‪ ،‬ﺗﻔﺎوت در‬

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

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

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪98‬‬

‫روش اول‪:‬‬

‫روش دوم‪:‬‬

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

‫‪ 3-2‬ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬ ‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‪ ،‬ﺑﺮﺧﻲ از‬ ‫دﺳﺘﻮرات ﻻزم‪ ،‬ﺑﻄﻮر ﻛﻠﻲ ﭼﻨﻴﻦ اﻧﺪ‪:‬‬ ‫•‬

‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻧﻮع رﻳﺸﻪ‪.‬‬

‫•‬

‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ رﻳﺸﻪ ﺑﻌﺪي‪.‬‬

‫•‬

‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ از ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر )ﺑﻼﻓﺼﻞ ﻳﺎ از ﻧﻤﻮﻧﻪ ﭘﺪران ﺗﺎ‬ ‫رﻳﺸﻪ(‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

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

‫•‬

‫دﺳﺘﻮر درج ﻳﻚ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ زﻳﺮ ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر )ﻣﺸﺨﺼﺎت ﻣﺴﻴﺮ‪ ،‬در‬ ‫ﺻﻮرت ﻧﻴﺎز ﺑﺎﻳﺪ داده ﺷﻮد(‪.‬‬

‫•‬

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

‫•‬

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

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

‫ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻧﺪارد )ﺣﺪاﻗﻞ در ﺳﻴﺴﺘﻢ ﻣﻮﺟﻮد( و از ‪ +‬رو ﻣﻴﺰان اﻧﺘﺰاع آن‬ ‫ﺑﻪاﻧﺪازه اﻧﺘﺰاع ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ ﻧﻴﺴﺖ )اﻟﺒﺘﻪ ﮔﺮاف ﻳﻚ ﺳﻮﻳﻪ‪ ،‬ﺑﻲﮔﺴﺴﺖ و‬ ‫ﻧﺎﺑﺎزﮔﺸﺘﻲ ﻣﻲﺗﻮاﻧﺪ ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻣﻨﺎﺳﺒﻲ ﺑﺮاي ‪ +‬ﺳﺎﺧﺘﺎر دادهاي ﺑﺎﺷﺪ(‪.‬‬

‫•‬

‫دو ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ دارد )و ﻧﻪ ﻳﻜﻲ(‪.‬‬

‫•‬

‫ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ ﻣﻨﺎﺳﺐ اﺳﺖ )ﻣﺤﺪودﻳﺖ ﺳﺎﺧﺘﺎر(‪.‬‬

‫•‬

‫در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي ﻣﺸﻜﻼﺗﻲ دارد‪.‬‬

‫•‬

‫در ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ" دﺷﻮاري دارد و ﻧﻴﺰ در ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺳﻪ ﮔﺎﻧﻲ‬ ‫ﻳﺎ ﺑﺎ درﺟﻪ ﺑﻴﺸﺘﺮ و ﻫﻤﭽﻨﻴﻦ وﻗﺘﻲ ﻛﻪ دو ﻳﺎ ﺑﻴﺶ از دو ارﺗﺒﺎط ﺑﺎ ﭼﻨﺪي‬ ‫داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ در آﻧﻬﺎ‪ ،‬در ﻃﺮف‬

‫‪N‬‬

‫‪1 :N‬‬

‫ارﺗﺒﺎط‪ ،‬ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ واﺣﺪ وﺟﻮد‬

‫داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬ﺑﻪ ﺻﻮرت ﺷﻜﻞ زﻳﺮ‪.‬‬ ‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در ‪+‬ﺟﺎ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬

‫‪ E1‬و‪E2‬‬

‫ﻣﻤﻜﻦ اﺳﺖ ﻳﻜﺴﺎن ﻫﻢ‬

‫ﺑﺎﺷﻨﺪ‪ ،‬ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ دو ﻳﺎ ﺑﻴﺶ از دو ﻧﻮع ارﺗﺒﺎط ﺑﻴﻦ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ وﺟﻮد داﺷﺘﻪ‬ ‫ﺑﺎﺷﺪ(‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

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

‫‪ -3‬آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر دادهاي ﺷﺒﻜﻪاي‬ ‫اﻳﻦ ﺳﺎﺧﺘﺎر )ﻛﻪ ﮔﺎه ﺑﻪ آن ﺳﺎﺧﺘﺎر ﭘﻠﻜﺲ ﻫﻢ ﻣﻲ ﮔﻮﻳﻨﺪ(‪ ،‬ﻧﺨﺴﺘﻴﻦ ﺑﺎر در ﺳﺎل ‪1966‬‬ ‫ﺗﻮﺳﻂ ﻳﻚ ﮔﺮوه ﻛﺎري ﺑﻪ ﻧﺎم‬

‫‪DBTG‬‬

‫واﺑﺴﺘﻪ ﺑﻪ‬

‫‪ANSI‬‬

‫ﭘﻴﺸﻨﻬﺎد ﺷﺪه اﺳﺖ‪ .‬در ﺳﺎل‬

‫‪ 1971‬اوﻟﻴﻦ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﺷﺒﻜﻪ اي )‪ (NDBMS‬ﻣﻮرد ﺗﺎﺋﻴﺪ ‪،ANSI‬‬ ‫ﺑﻪ ﻧﺎم‬

‫‪IDMS‬‬

‫ﺗﻮﺳﻂ ﻫﻤﺎن ﮔﺮوه ﻛﺎري ﻃﺮاﺣﻲ ﺷﺪ‪ + .‬ﺳﻴﺴﺘﻢ ﮔﺎه ﺑﻪ ﺳﻴﺴﺘﻢ‬

‫ﻛﻮداﺳﻴﻞ و ﻣﺪل داده اي ﺷﺒﻜﻪ اي ﺑﻪ ﻣﺪل داده اي ﻛﻮداﺳﻴﻞ ﻧﻴﺰ ﻣﻮﺳﻮم اﺳﺖ‪.‬‬ ‫ﺳﻴﺴﺘﻢ ي ﺷﺒﻜﻪ اي دﻳﮕﺮ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬ ‫•‬

‫‪VAX- DBMS‬‬

‫•‬ ‫•‬

‫‪IMAGE‬‬

‫‪.1100-DMS‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

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

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

‫ﻧﻮع رﻛﻮرد‬

‫•‬

‫ﻧﻮع ﻣﺠﻤﻮﻋﻪ‬

‫ﻧﻮع رﻛﻮرد‪ :‬ﺑﺮاي ﻧﻤﺎﻳﺶ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻛﺎر ﻣﻲرود )ﻣﺜﻞ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ‬ ‫ﻣﺮاﺗﺒﻲ(‪ .‬در ﻳﻚ ﻧﻮع رﻛﻮرد ﻃﺒﻌﺎ ﺻﻔﺎﺗﻲ وﺟﻮد دارد ﻛﻪ ﻣﻲﺗﻮاﻧﻨﺪ ﺳﺎده ﺗﻜﺮار ﺷﻮﻧﺪه‬ ‫)ﺑﺮدار در اﺻﻄﻼح ﺷﺒﻜﻪ اي( ﻳﺎ ﻣﺮﻛﺐ ﺗﻜﺮار ﺷﻮﻧﺪه )ﮔﺮوه ﺗﻜﺮار ﺷﻮﻧﺪه در اﺻﻄﻼح‬ ‫ﺷﺒﻜﻪ اي( ﻫﻢ ﺑﺎﺷﻨﺪ‪.‬‬ ‫ﻧﻮع ﻣﺠﻤﻮﻋﻪ‪ :‬در اﺳﺎس ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ‪ 1:N‬ﺑﻴﻦ دو )ﭼﻨﺪ( ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻜﺎر‬ ‫ﻣﻲ رود‪ .‬ﻧﻮع ﻣﺠﻤﻮﻋﻪ )ﻛﻪ ﺑﻪ آن ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞ ﻫﻢ ﻣﻲ ﮔﻮﻳﻨﺪ(‪ ،‬از ﺳﻪ ﺟﺰء‬ ‫ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪:‬‬ ‫•‬

‫ﻧﺎم ﻣﺠﻤﻮﻋﻪ‬

‫•‬

‫ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ‬

‫•‬

‫ﻳﻚ ﻧﻮع رﻛﻮرد ﻋﻀﻮ‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫ﻣﺎﻟﻚ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ‪ ،‬ﻣﻲﺗﻮاﻧﺪ ﻣﺎﻟﻚ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ‪.‬‬

‫•‬

‫ﻣﺎﻟﻚ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮاﻧﺪ ﻋﻀﻮ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ‪.‬‬

‫•‬

‫ﻋﻀﻮ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮاﻧﺪ ﻣﺎﻟﻚ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ‪.‬‬

‫•‬

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

‫ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ‪ ،‬ﻣﻲ ﺗﻮاﻧﺪ ﻧﻤﻮﻧﻪ ﻫﺎﻳﻲ داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬در ﻫﺮ ﻧﻤﻮﻧﻪ ﻣﺠﻤﻮﻋﻪ‪ ،‬ﻳﻚ ﻧﻤﻮﻧﻪ‬ ‫ﻣﺸﺨﺺ و ﻣﺘﻤﺎﻳﺰ از رﻛﻮرد ﻧﻮع ﻣﺎﻟﻚ و‬

‫‪n≥ 0‬‬

‫ﻧﻤﻮﻧﻪ ﻣﺘﻤﺎﻳﺰ از رﻛﻮرد ﻧﻮع ﻋﻀﻮ‬

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

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

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

‫ﭼﻨﺪ"‬

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

‫ﺷﻜﻞ ‪ 12-5‬ﻧﻮع‬

‫ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞ‪DEST‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫در ‪ +‬ﻧﻤﻮدار ﻛﻪ ﺑﻪ آن ﻧﻤﻮدار ﺑﺎﺧﻤﻦ ﻫﻢ ﻣﻲ ﮔﻮﻳﻨﺪ‪ ،‬ﻧﻮع رﻛﻮرد ‪ ،DEPT‬ﻣﺎﻟﻚ‪ ،‬و‬ ‫ﻧﻮع رﻛﻮرد ‪ ،STUD‬ﻋﻀﻮ اﺳﺖ‪ + .‬ﻧﻤﻮدار ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞ ﺑﻪ ﻧﺎم‬

‫‪DEST‬‬

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

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

‫ﻣﺠﻤﻮﻋﻪ ‪DEST‬‬

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

‫ﺷﻜﻞ ‪ 14-5‬ﻧﻮع رﻛﻮرد ﺗﺤﺖ‬

‫ﻣﺎﻟﻜﻴﺖ " ﺳﻴﺴﺘﻢ "‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

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

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

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

‫ﭼﻨﺪ"‬

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

‫‪TYGR‬‬

‫رﻛﻮرد‬

‫ﭘﻴﻮﻧﺪ دﻫﻨﺪه اﺳﺖ‪.‬‬ ‫ﺣﺎل ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻣﻲﺧﻮاﻫﻴﻢ ﭘﺎﻳﮕﺎهداده ﺷﺒﻜﻪاي را در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ‬ ‫ﺗﻮﺻﻴﻒ ﻛﻨﻴﻢ‪ .‬ﭘﺎﻳﮕﺎهداده ﺷﺒﻜﻪاي ﻣﺠﻤﻮﻋﻪ اﻳﺴﺖ ﻣﻨﻄﻘﺎً ﻣﻨﻈﻢ از ﻧﻤﻮﻧﻪﻫﺎي ﻣﺘﻤﺎﻳﺰ ﻳﻚ ﻳﺎ‬ ‫ﭼﻨﺪ ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞ‪ .‬در ‪ ,‬ذﻛﺮ ‪ +‬ﻧﻜﺘﻪ اﻫﻤﻴﺖ دارد ﻛﻪ ﺳﺎﺧﺘﺎر ﭼﻨﺪ ﺣﻠﻘﻪاي‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

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

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

‫‪ 4-3‬ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪاي‬ ‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي‪ ،‬ﺑﺮﺧﻲ دﺳﺘﻮرات ﺑﻄﻮر ﻛﻠﻲ‬ ‫ﻋﺒﺎرﺗﻨﺪ از‪:‬‬ ‫•‬

‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ‬

‫•‬

‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ ﺑﻌﺪي از ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ‬

‫•‬

‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻳﻚ ﻧﻮع رﻛﻮرد ﻋﻀﻮ ﺑﺎ داﺷﺘﻦ ﻧﻤﻮﻧﻪ ﻣﺎﻟﻚ )ﻫﺎ(‬

‫•‬

‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ ﺑﻌﺪي از ﻳﻚ ﻧﻮع رﻛﻮرد ﻋﻀﻮ ﺑﺎ داﺷﺘﻦ ﻧﻤﻮﻧﻪ ﻣﺎﻟﻚ )ﻫﺎ(‬

‫•‬

‫دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﺎﻟﻚ از ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﺑﺎ داﺷﺘﻦ ﻳﻚ ﻧﻤﻮﻧﻪ ﻋﻀﻮ‬ ‫از آن‬

‫•‬

‫دﺳﺘﻮر درج ﻳﻚ ﻧﻤﻮﻧﻪ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ ﻳﺎ ﻧﻮع رﻛﻮرد ﻋﻀﻮ‬

‫•‬

‫دﺳﺘﻮر ﺣﺬف ﻳﻚ ﻧﻤﻮﻧﻪ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ ﻳﺎ ﻧﻮع رﻛﻮرد ﻋﻀﻮ‬

‫•‬

‫دﺳﺘﻮر ﺑﻬﻨﮕﺎم ﺳﺎزي ﻳﻚ ﻧﻤﻮﻧﻪ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ ﻳﺎ ﻧﻮع رﻛﻮرد ﻋﻀﻮ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

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

‫ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻧﺪارد )ﺣﺪاﻗﻞ در ﺳﻴﺴﺘﻢ ﻣﻮﺟﻮد(‪ ،‬از ‪ +‬رو ﻣﻴﺰان اﻧﺘﺰاع آن در‬ ‫ﺣﺪ ﺳﺎﺧﺘﺎر دادهاي راﺑﻄﻪاي )ﺟﺪوﻟﻲ( ﻧﻴﺴﺖ )اﻟﺒﺘﻪ ﮔﺮاف ﻣﻲﺗﻮاﻧﺪ ﻣﺒﻨﺎي‬ ‫رﻳﺎﺿﻲ ﻣﻨﺎﺳﺒﻲ ﺑﺮاي ‪ +‬ﺳﺎﺧﺘﺎر دادهاي ﺑﺎﺷﺪ(‪.‬‬

‫•‬ ‫•‬

‫دو ﻧﻮع ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ دارد‪.‬‬ ‫ﻣﺎﻫﻴﺘﺎ ﺧﺎص ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﺎت‬

‫"‬

‫ﻳﻚ ﺑﻪ ﭼﻨﺪ" ﻧﻴﺴﺖ‪ ،‬ﻳﻌﻨﻲ ﻣﺤﺪودﻳﺘﻲ در‬

‫ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﺎت ﺑﺎ ﭼﻨﺪي ي دﻳﮕﺮ‪ ،‬ﻧﺪارد‪.‬‬ ‫•‬

‫ﺳﺎﺧﺖ ﻣﻨﻄﻘﻲ روﻳﻪ ﺑﺎزﻳﺎﺑﻲ آن ﭘﻴﭽﻴﺪه ﺗﺮ از ﺳﺎﺧﺘﺎرﻫﺎي دﻳﮕﺮ اﺳﺖ و ﻧﺎوش‬ ‫ﻏﻴﺮ اﺗﻮﻣﺎﺗﻴﻚ اﺳﺖ‪.‬‬

‫•‬

‫ﺧﻄﺮ ﺑﺮوز ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ ﻧﺴﺒﺖ ﺑﻪ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‪ ،‬ﻛﻤﺘﺮ اﺳﺖ‪.‬‬

‫•‬

‫ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ ذاﺗﻲ دارد‪.‬‬

‫•‬

‫ﺑﻌﺾ آﻧﻮﻣﺎﻟﻲ ي ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را ﻧﺪارد‪.‬‬

‫•‬

‫ﻓﺰون ﻛﺎري اﺣﺘﻤﺎﻟﻲ ﻧﺎﺷﻲ از اﻓﺰوﻧﮕﻲ ﻛﻪ در ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﻲﺗﻮاﻧﺪ‬ ‫وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬در ‪ +‬ﺳﺎﺧﺘﺎر وﺟﻮد ﻧﺪارد اﻣﺎ ﺑﻪ ﻋﻠﺖ ﺣﺠﻢ زﻳﺎد ﻧﺸﺎن‬ ‫ﻧﻤﺎﻫﺎ )اﺷﺎره ﮔﺮﻫﺎ(‪ ،‬اﻳﺠﺎد ﻳﺎ اﺻﻼًح آﻧﻬﺎ ﻣﻲﺗﻮاﻧﺪ ﺳﺒﺐ ﺑﺮوز ﻓﺰون ﻛﺎري در‬ ‫ﺳﻴﺴﺘﻢ ﺷﻮد‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

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

‫‪Ramin.Samad@yahoo.com‬‬


WWW.IRANMEET.COM

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

Ramin.Samad@yahoo.com


‫‪WWW.IRANMEET.COM‬‬

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

‫ﻫﺪف رﻓﺘﺎري‬ ‫دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬ ‫•‬

‫ﺑﺎﻧﻚ اﻃﻼﻋﺎت راﺑﻄﻪاي‬

‫•‬

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

‫•‬

‫ﺗﻌﺮﻳﻒ راﺑﻄﻪ‬

‫•‬

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

‫•‬

‫ﺗﻌﺮﻳﻒ ﺻﻮري ﺟﺪول‬

‫•‬

‫وﻳﮋﮔﻲﻫﺎي راﺑﻄﻪ‬

‫•‬

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

‫•‬

‫اﻧﻮاع راﺑﻄﻪ‬

‫‪Relational DB‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫ﻣﻔﻬﻮم دﻳﺪ‬

‫•‬

‫ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي‬

‫•‬

‫ﻣﺘﺎ ﻗﻮاﻋﺪ‬

‫•‬

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

‫‪ -1‬ﺑﺎﻧﻚ اﻃﻼﻋﺎت راﺑﻄﻪاي‬

‫‪1‬‬

‫ﭘﺲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ و ﺷﺒﻜﻪ اي‪ ،‬ﻛﻪ ﻫﺮ ﻳﻚ داراي ﺿﻌﻒ ﻫﺎﻳﻲ‬ ‫ﺑﻮدﻧﺪ‪ ،‬ﻣﺘﺨﺼﺼﺎن در ﺟﺴﺘﺠﻮي ﻣﺪﻟﻲ ﺑﻮدﻧﺪ ﻛﻪ داراي ﺳﺎﺧﺘﺎر داده اي ﺑﺎ اﻧﺘﺰاع ﻗﻮي‬ ‫ﺑﺎﺷﺪ‪ .‬ﻣﺪل راﺑﻄﻪ اي در ﺳﺎل ‪ 1970‬ﺗﻮﺳﻂ‬

‫‪E.F.Codd‬‬

‫اﺑﺪاع ﮔﺮدﻳﺪ‪ .‬اﻳﻦ ﻣﺪل داراي‬

‫ﺳﺎﺧﺘﺎر داده اي ﺑﺎ اﻧﺘﺰاع ﻗﻮي ﺑﻮده و اﺳﺎﺳﺎً ﺳﺎﺧﺘﺎر دادهاي در آن ﺑﺮ اﺳﺎس ﻳﻚ‬ ‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫ﺳﺘﻮن‬

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

‫‪ -3‬ﺗﻌﺮﻳﻒ راﺑﻄﻪ‬ ‫‪ 1-3‬ﺗﻌﺮﻳﻒ راﺑﻄﻪ از دﻳﺪﮔﺎه ﻛﺎد‬ ‫ﺑﺎ ﻓﺮض وﺟﻮد‬

‫‪n‬‬

‫ﻣﺠﻤﻮﻋﻪ ‪ ،Sn ،... ،S2 ،S1‬راﺑﻄﻪ‬

‫ﻣﺠﻤﻮﻋﻪ‪ ،‬ﻣﺠﻤﻮﻋﻪاﻳﺴﺖ از‬

‫‪n‬‬

‫‪R‬‬

‫ﺗﻌﺮﻳﻒ ﺷﺪه روي اﻳﻦ‬

‫‪n‬‬

‫‪1‬‬

‫ﺗﺎﻳﻲ ﻫﺎ )ﻛﻪ ﺑﻪ آن ﺗﺎﭘﻞ ﻣﻲ ﮔﻮﻳﻨﺪ( ﺑﻪ ﻧﺤﻮي ﻛﻪ ﺟﺰء‬

‫اول ﻫﺮ ‪ n‬ﺗﺎﻳﻲ از ‪ ،S1‬ﺟﺰء دوم از ‪ S2‬و‪ ...‬ﻣﻘﺪار ﺑﮕﻴﺮد‪.‬‬ ‫ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ‪ R‬ﻋﺒﺎرﺗﺴﺖ از زﻳﺮﻣﺠﻤﻮﻋﻪاي از ﺿﺮب ﻛﺎرﺗﺰﻳﻦ ‪ .S1*S2*…*Sn‬و‬ ‫ﻣﻲﮔﻮﻳﻴﻢ راﺑﻄﻪ ‪ R‬از درﺟﻪ ‪ n‬اﺳﺖ‪ .‬ﻫﺮ ﻳﻚ از ﻣﺠﻤﻮﻋﻪﻫﺎي ‪ S2 ،S1‬و‪ ...‬ﻣﻴﺪان ﻳﺎ داﻣﻨﻪ‬

‫‪2‬‬

‫ﻧﺎﻣﻴﺪه ﻣﻲﺷﻮﻧﺪ‪ .‬داﻣﻨﻪ‪ ،‬ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮي اﺳﺖ ﻛﻪ ﻳﻚ ﺻﻔﺖ از راﺑﻄﻪ ﻣﺸﺨﺺ ﻣﻲﺗﻮاﻧﻨﺪ‬ ‫داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬ ‫‪D2‬‬

‫‪D1‬‬

‫‪T‬‬ ‫‪F‬‬ ‫‪V‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪V‬‬

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

‫ﺷﻜﻞ ‪ 1-6‬ﻧﻤﺎﻳﺶ‬

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

‫‪*D1 = R1‬‬

‫‪D2‬‬

‫راﺑﻄﻪ ‪R1=D1* D2‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

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

‫‪ S1‬ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺷﻤﺎره داﻧﺸﺠﻮﻳﺎن‬

‫•‬

‫‪ S2‬ﻣﺠﻤﻮﻋﻪ اﺳﺎﻣﻲداﻧﺸﺠﻮﻳﺎن‬

‫•‬

‫‪ S3‬ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺳﻄﻮح ﺗﺤﺼﻴﻠﻲ در داﻧﺸﮕﺎه‬

‫•‬

‫‪ S4‬ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ رﺷﺘﻪﻫﺎي ﺗﺤﺼﻴﻠﻲ‬

‫•‬

‫‪ S5‬ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺷﻤﺎره ﮔﺮوهﻫﺎي آﻣﻮزﺷﻲ‬

‫در اﻳﻦ ﺻﻮرت‬

‫‪STT‬‬

‫ﺑﺎ ﭘﻨﺞ ﺻﻔﺖ ﺧﺎﺻﻪ ﻣﺮﺗﺒﻂ ﺑﺎ ﭘﻨﺞ ﻣﺠﻤﻮﻋﻪ ﺑﺎﻻ‪ ،‬ﻳﻚ راﺑﻄﻪ ﺑﻮده‬

‫و ﺑﺼﻮرت زﻳﺮ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد‪:‬‬ ‫)‪STT(STID,STNAME,STDEG,STMJR,STDEID‬‬

‫ﺟﺪول ‪ 2-6‬ﻧﻤﺎﻳﺶ ﺟﺪوﻟﻲ‬

‫راﺑﻄﻪ ‪STT‬‬

‫‪STT‬‬ ‫‪STDEID‬‬ ‫‪V532‬‬ ‫‪V135‬‬ ‫…‬

‫‪STDEG‬‬ ‫‪Bs‬‬ ‫‪ms‬‬ ‫…‬

‫‪STMGR‬‬ ‫‪computer‬‬ ‫‪math‬‬ ‫…‬

‫‪STID‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫…‬

‫‪STNAME‬‬ ‫‪Reza‬‬ ‫‪Hamid‬‬ ‫…‬

‫‪ 2-3‬ﺗﻌﺮﻳﻒ راﺑﻄﻪ‬ ‫ﺑﺎ ﻓﺮض وﺟﻮد‬

‫‪n‬‬

‫ﻣﻴﺪان ‪،... ،D2 ،D1‬‬

‫‪Dn‬‬

‫)ﻧﻪ ﻟﺰوﻣﺎ ﻣﺘﻤﺎﻳﺰ(‪ ،‬راﺑﻄﻪ‬

‫‪R‬‬

‫از دو ﻗﺴﻤﺖ‬

‫ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪:‬‬ ‫‪ -1‬ﻣﺠﻤﻮﻋﻪ ﻋﻨﻮان‪ :‬ﻣﺠﻤﻮﻋﻪاي ﻧﺎﻣﺪار اﺳﺖ از ‪ n‬ﺻﻔﺖ ﺑﻪ ﺻﻮرت ‪ Ai: Di‬ﻛﻪ در آن‬ ‫ﻫﺮ‬

‫‪Ai‬‬

‫ﻧﺎم ﻳﻚ ﺻﻔﺖ اﺳﺖ و ﻫﺮ‬

‫‪Di‬‬

‫ﻧﺎم ﻣﻴﺪان ﺻﻔﺖ اﺳﺖ‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ‬ ‫‪1‬‬

‫‪ Ai‬ﻫﺎ از ﻳﻜﺪﻳﮕﺮ ﻣﺘﻤﺎﻳﺰ ﻫﺴﺘﻨﺪ‪ .‬ﺑﻪ اﻳﻦ ﻣﺠﻤﻮﻋﻪ ﺷﻤﺎي راﺑﻄﻪ ﻧﻴﺰ ﻣﻲ ﮔﻮﻳﻨﺪ ﻛﻪ ﺑﻪ‬ ‫ﺻﻮرت ﺷﻤﺎﺗﻴﻚ ﭼﻨﻴﻦ اﺳﺖ‪:‬‬ ‫‪1. R el a t i o n Sc h e ma‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي ‪113‬‬ ‫}> ‪{<A :D >,<A :D >,…,<A :D‬‬ ‫‪1 1‬‬ ‫‪2 2‬‬ ‫‪n n‬‬

‫‪ -2‬ﻣﺠﻤﻮﻋﻪ ﺑﺪﻧﻪ‪ :‬ﻣﺠﻤﻮﻋﻪ اﻳﺴﺖ از‬

‫‪m‬‬

‫ﺗﺎﭘﻞ ‪ t‬ﺑﻨﺤﻮي ﻛﻪ ‪ t‬ﺧﻮد ﻣﺠﻤﻮﻋﻪاﻳﺴﺖ از‬

‫‪n‬‬

‫ﻋﻨﺼﺮ ﺑﺼﻮرت ‪ 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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

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

‫‪ 4-3‬ﺗﻌﺮﻳﻒ ﺻﻮري ﺟﺪول‬ ‫ﻓﺮض ﻣﻲ ﻛﻨﻴﻢ‬ ‫ﻫﺮ‪AЄU‬‬

‫‪U‬‬

‫ﻣﺠﻤﻮﻋﻪ اي از ﻧﻤﺎدﻫﺎ ﻣﻮﺳﻮم ﺑﻪ ﺻﻔﺎت راﺑﻄﻪ اي ﺑﺎﺷﺪ و ﺑﺮاي‬

‫ﻣﺠﻤﻮﻋﻪ اي از ﻣﻘﺎدﻳﺮ ﺑﻪ ﻧﺎم‬

‫)‪Domain(A‬‬

‫وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﻧﻤﺎد ﻧﻤﺎﻳﺸﮕﺮ‬

‫ﺳﺘﻮن ﺟﺪول اﺳﺖ و )‪ 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‬‬

‫ﺿﺮب ﻛﺎرﺗﺰﻳﻦ‬

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

‫را ﺑﺎ‬

‫)‪tupl(H‬‬

‫ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﻴﻢ‪،‬‬

‫ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ‪:‬‬ ‫} ‪Domain (A),t(A) Є Domain (A) , for AЄ H‬‬

‫‪AЄH‬‬

‫‪Tupl(H) = {t | t: H→ U‬‬

‫ﻋﻨﺎﺻﺮ )‪ Tupl(H‬را ﺗﺎﭘﻠﻬﺎي روي ‪ H‬ﻣﻲ ﻧﺎﻣﻴﻢ‪.‬‬ ‫راﺑﻄﻪ ‪ R‬روي ﻣﻴﺪاﻧﻬﺎي ) ‪Domain (A ), … , Domain (A‬‬ ‫‪1‬‬ ‫‪n‬‬ ‫)‪ .Tupl(H‬ﻣﺠﻤﻮﻋﻪ ﻫﻤﻪ اﻳﻦ ﮔﻮﻧﻪ راﺑﻄﻪ ﻫﺎ را ﺑﺎ )‪rel(H‬‬

‫زﻳﺮ ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از‬

‫ﻣﻲ ﮔﻮﻳﻴﻢ ﺟﺪول ﻋﺒﺎرﺗﺴﺖ از ﺳﻪ ﺗﺎﻳﻲ‪:‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﻴﻢ‪ .‬ﺣﺎل‬


‫‪WWW.IRANMEET.COM‬‬

‫ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي ‪115‬‬ ‫ד) ‪= ( T , H , ρ‬‬

‫ﻛﻪ در آن‪:‬‬

‫‪T‬‬

‫ﻧﻤﺎدي اﺳﺖ ﺑﻪ ﻋﻨﻮان ﺟﺪول‬

‫اﺳﺖ از ﺻﻔﺎت راﺑﻄﻪ اي ﻛﻪ ﺑﻪ آن ﺳﺮآﻳﻨﺪ ד‬

‫ﻣﺠﻤﻮﻋﻪ اي‬

‫و } ‪H = { A ,A , … A‬‬ ‫‪1 2‬‬ ‫‪n‬‬ ‫ﮔﻮﻳﻴﻢ و ‪ ρ‬ﻳﻚ راﺑﻄﻪ اﺳﺖ‪ρ Є rel (H) ،‬‬

‫و ﺑﻪ آن ﮔﺴﺘﺮده ד ﻣﻲ ﮔﻮﻳﻴﻢ‪.‬‬

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

‫راﺑﻄﻪ ﺗﺎﭘﻞ ﺗﻜﺮاري ﻧﺪارد‪.‬‬

‫• زﻳﺮا ﺑﺪﻧﻪ راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ اﺳﺖ و ﻣﺠﻤﻮﻋﻪ ﻧﻤﻲﺗﻮاﻧﺪ ﻋﻨﺼﺮ ﺗﻜﺮاري داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬ ‫•‬

‫ﺗﺎﭘﻞﻫﺎ ﻧﻈﻢ ﻧﺪارﻧﺪ‪.‬‬

‫• زﻳﺮا ﺑﺪﻧﻪ راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ اﺳﺖ و ﻣﺠﻤﻮﻋﻪ در ﺣﺎﻟﺖ ﻛﻠﻲ ﻓﺎﻗﺪ ﻧﻈﻢ اﺳﺖ‪.‬‬ ‫•‬

‫ﺻﻔﺎت راﺑﻄﻪ ﻧﻈﻢ ﻣﻜﺎﻧﻲ )از ﭼﭗ ﺑﻪ راﺳﺖ( ﻧﺪارﻧﺪ‪.‬‬

‫• زﻳﺮا ﺳﺮآﻳﻨﺪ راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ اﺳﺖ و ﻣﺠﻤﻮﻋﻪ در ﺣﺎﻟﺖ ﻛﻠﻲ ﻓﺎﻗﺪ ﻧﻈﻢ اﺳﺖ‪.‬‬ ‫•‬

‫ﺗﻤﺎم ﺻﻔﺎت ﺗﻚ ﻣﻘﺪاري )ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ( ﻫﺴﺘﻨﺪ‪.‬‬

‫• زﻳﺮا در ﻧﻤﺎﻳﺶ ﺟﺪوﻟﻲ راﺑﻄﻪ‪ ،‬در ﺗﻘﺎﻃﻊ ﻫﺮ ﺳﻄﺮ و ﺳﺘﻮن‪ ،‬ﺑﺎﻳﺪ ﻳﻚ ﻣﻘﺪار‬ ‫وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ در ﻫﺮ ﺗﺎﭘﻞ‪ ،‬دﻗﻴﻘﺎ ﻳﻚ ﻣﻘﺪار ﺑﺮاي ﻫﺮ ﺻﻔﺖ‬ ‫وﺟﻮد دارد‪.‬‬ ‫در اداﻣﻪ ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻣﺜﺎﻟﻲ اراﺋﻪ ﺷﺪه اﺳﺖ‪ .‬در اﻳﻦ ﻣﺜﺎل راﺑﻄﻪ اي ﺑﻨﺎم‬ ‫ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪.‬‬ ‫ﻣﺜﺎل ‪ :1‬راﺑﻄﻪ ‪ S‬را ﻛﻪ ﺑﻪ ﺻﻮرت ﺟﺪول ‪ 4-6‬اﺳﺖ در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪.‬‬ ‫ﺟﺪول ‪ 4- 6‬ﻧﻤﺎﻳﺶ ﺟﺪوﻟﻲ‬

‫راﺑﻄﻪ ‪S‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫‪S‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪ 116‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪CITY‬‬ ‫‪CONDON‬‬ ‫‪PARIS‬‬ ‫‪PARIS‬‬ ‫‪LONDON‬‬ ‫‪ATHENS‬‬

‫‪STATUS‬‬ ‫‪20‬‬ ‫‪10‬‬ ‫‪30‬‬ ‫‪20‬‬ ‫‪30‬‬

‫‪S NAME‬‬ ‫‪S‬‬ ‫‪J‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪A‬‬

‫‪S#‬‬ ‫‪S1‬‬ ‫‪S2‬‬ ‫‪S3‬‬ ‫‪S4‬‬ ‫‪S5‬‬

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

‫‪S#‬‬

‫ﻧﺸﺎن دﻫﻨﺪه ﻛﻠﻴﺪ اﺻﻠﻲ اﺳﺖ‪) .‬در ﻣﻮرد ﻣﺒﺤﺚ ﻛﻠﻴﺪ در اداﻣﻪ ﺗﻮﺿﻴﺢ‬

‫ﺧﻮاﻫﻴﻢ داد(‪.‬‬ ‫•‬

‫)‪, SNAME , STATUS , CITY‬‬

‫‪ (S#‬اﻳﻦ ‪ 4‬ﻣﺸﺨﺼﻪ ﻧﺸﺎن دﻫﻨﺪه‬

‫‪attribute‬‬

‫ﻫﺴﺘﻨﺪ‪.‬‬ ‫• داﻣﻨﻪ‬

‫‪CITY‬‬

‫ﺷﺎﻣﻞ )‪ (ATHENS ،PARIS ،LONDON‬اﺳﺖ‪.‬‬

‫• )‪ (ATHENS ،LONDON ،PARIS ،PARIS ،LONDON‬ﻧﻴﺰ ﻧﺸﺎن دﻫﻨﺪه ﺗﻌﺪاد‬ ‫ﺳﻄﺮﻫﺎي ﻣﻮﺟﻮد ﻳﺎ ‪ Cardinality‬ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬ ‫•‬

‫)‪(S5 , A , 30 , ATHENS‬ﻧﺸﺎن دﻫﻨﺪه ﺗﻌﺪاد ﺻﻔﺎت درﺟﻪ ‪ Degree‬اﺳﺖ‪.‬‬

‫‪ -5‬اﻧﻮاع ﻛﻠﻴﺪ در ﻣﺪل راﺑﻄﻪاي‬ ‫در ﻣﺪل راﺑﻄﻪ اي ﭼﻨﺪ ﻣﻔﻬﻮم اﺳﺎﺳﻲ در ﺑﺤﺚ ﻛﻠﻴﺪ وﺟﻮد دارد ﻛﻪ در اداﻣﻪ ﺑﺮرﺳﻲ‬ ‫ﻣﻲ ﺷﻮﻧﺪ‪:‬‬

‫‪ 1-5‬اﺑﺮ ﻛﻠﻴﺪ‬

‫‪1‬‬

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

‫‪ 2-5‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬

‫‪2‬‬

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

‫‪K‬‬

‫از‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫راﺑﻄﻪ ‪ ،R‬ﻳﻚ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻣﻲﺑﺎﺷﺪ )ﻣﺎﻧﻨﺪ‪ S#‬و‪(SNAME‬اﮔﺮ داراي ﺧﻮاص زﻳﺮ ﺑﺎﺷﻨﺪ‪:‬‬ ‫•‬

‫ﺧﺎﺻﻴﺖ ﻣﻨﺤﺼﺮ ﺑﻔﺮد ﺑﻮدن )ﻳﻜﺘﺎﻳﻲ ﻣﻘﺪار(‪:‬‬ ‫ﻫﻴﭻ دو ‪ tuple‬ﻣﺠﺰاﺋﻲ از راﺑﻄﻪ ‪ R‬داراي ﻣﻘﺪار ﻳﻜﺴﺎﻧﻲ ﺑﺮاي ‪ K‬ﻧﺒﺎﺷﻨﺪ‪).‬ﺑﻪ ﻃﻮر‬ ‫ﻣﺜﺎل ﻫﻴﭻ دو ﺳﻄﺮ‬

‫‪S#‬‬

‫ﻳﻜﻲ ﻧﻴﺴﺖ‬

‫وﻟﻲ‪CITY‬‬

‫ﺗﻜﺮار دارد‪،‬‬

‫‪city ،status‬‬

‫ﻫﻢ‬

‫ﻧﻤﻲﺗﻮاﻧﻨﺪ ﺑﺎ ﻫﻢ ﺑﺎ ﺷﻨﺪ زﻳﺮا دو ﻓﺮوﺷﻨﺪه‪ ،‬در ﻟﻨﺪن ‪ 20‬ﻫﺴﺘﻨﺪ(‪.‬‬ ‫•‬

‫ﺧﺎﺻﻴﺖ ﻏﻴﺮ ﻛﺎﻫﺸﻲ)‪:(minimal‬‬ ‫ﻫﻴﭻ زﻳﺮ ﻣﺠﻤﻮﻋﻪ ﻣﻨﺎﺳﺒﻲ از‬

‫‪K‬‬

‫وﺟﻮد ﻧﺪارد ﻛﻪ داراي ﺧﺎﺻﻴﺖ ﻣﻨﺤﺼﺮ ﺑﻔﺮد‬

‫ﺑﺎﺷﺪ‪.‬‬ ‫ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﻫﺮ زﻳﺮ ﻣﺠﻤﻮﻋﻪ از ﻣﺠﻤﻮﻋﻪ ﻋﻨﻮان راﺑﻄﻪ ﻛﻪ دو ﺧﺎﺻﻴﺖ ﺑﺎﻻ را داﺷﺘﻪ‬ ‫ﺑﺎﺷﺪ‪ ،‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ اﺳﺖ‪.‬‬ ‫در ﻣﺜﺎل ﻓﻮق ‪ s#‬و‬

‫‪sname‬‬

‫ﻛﻠﻴﺪ اﻧﺤﺼﺎري ﻫﺴﺘﻨﺪ‪ .‬ﺧﺎﺻﻴﺖ دوم را ﻧﺪارﻧﺪ زﻳﺮا‬

‫ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻣﻨﺤﺼﺮ ﺑﻔﺮد اﺳﺖ و ﻣﻲﺗﻮان اﻳﻨﻬﺎ رو ﺷﻜﺴﺖ ﻣﺜﻼ‬

‫‪s#‬‬

‫‪s#‬‬

‫ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻫﻢ ﻣﻲﺗﻮاﻧﺪ‬

‫ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺸﻮد‪).‬ﻫﺮ ﭼﻴﺰي را ﻧﻤﻲﺗﻮان ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﻪ ﺣﺴﺎب آورﻳﻢ زﻳﺮا ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬ ‫ﻧﺒﺎﻳﺪ ﺑﺸﻜﻨﺪ(‪.‬‬ ‫ﺗﻮﺟﻪ‪:‬ﻫﺮ راﺑﻄﻪ ﺣﺪاﻗﻞ داراي ﻳﻚ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻣﻲ ﺑﺎﺷﺪ )ﻣﻤﻜﻦ اﺳﺖ ﺗﻜﻲ ﺑﺎﺷﺪ ﻳﺎ‬ ‫دو ﺻﻔﺖ و ﻳﺎ‪.(...‬‬

‫‪ 3-5‬ﻛﻠﻴﺪ اﺻﻠﻲ‬

‫‪1‬‬

‫ﻳﻜﻲ از ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ ﻛﻪ ﺷﺮاﻳﻂ ذﻳﻞ را داﺷﺘﻪ ﺑﺎﺷﺪ‪:‬‬ ‫•‬

‫ﺷﻨﺎﺳﺎﻳﻲ ﻛﻨﻨﺪه ﻧﻮع ﻣﻮﺟﻮدﻳﺖ )ﺗﻚ ﺗﺎﭘﻞ( در راﺑﻄﻪ ﺑﺎﺷﺪ‪ .‬ﻣﺎﻧﻨﺪ ﺷﻤﺎره‬ ‫داﻧﺸﺠﻮﻳﻲ ﺑﺮاي ﻫﺮ داﻧﺸﺠﻮ‪.‬‬

‫•‬

‫از ﻧﻈﺮ ﺳﺎﻳﺰ داراي ﻃﻮل ﻛﻮﺗﺎه ﺗﺮ ﺑﺎﺷﺪ‪ .‬ﺑﺪﻳﻦ ﻣﻌﻨﻲ ﻛﻪ ﻣﺜﻼ ﺑﻴﻦ دو ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬ ‫ﻛﻪ ﻳﻜﻲ از ﻧﻮع رﺷﺘﻪ ‪ 20‬ﺗﺎﻳﻲ و دﻳﮕﺮي ﻳﻚ ﻋﺪد ‪ 4‬ﺑﺎﻳﺘﻲ اﺳﺖ‪ ،‬ﻛﻠﻴﺪي ﻛﻪ‬ ‫داراي ﻧﻮع ﻋﺪد ‪ 4‬ﺑﺎﻳﺘﻲ اﺳﺖ‪ ،‬ﺑﺮاي ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﻮدن ﺑﻬﺘﺮ اﺳﺖ‪.‬‬

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

‫‪1‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

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

‫‪ 5-5‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ‬ ‫دو راﺑﻄﻪ‬

‫‪R1‬‬

‫و‬

‫‪R2‬‬

‫‪2‬‬

‫را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ .‬ﻫﺮ زﻳﺮ ﻣﺠﻤﻮﻋﻪ از ﺻﻔﺎت راﺑﻄﻪ‬

‫ﻣﻘﺪار ﻣﻌﻠﻮﻣﺶ ﺑﺎ ﻳﻚ ﻣﻘﺪار از ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬

‫‪R1‬‬

‫‪R2‬‬

‫ﻛﻪ ﻫﺮ‬

‫ﺑﺮاﺑﺮ ﺑﺎﺷﺪ‪ ،‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ در راﺑﻄﻪ‬

‫‪ R2‬اﺳﺖ‪.‬‬ ‫ﻧﻘﺶ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﺎت ﺑﻴﻦ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ )و در ﻧﺘﻴﺠﻪ ﺑﻴﻦ‬ ‫ﻧﻤﻮﻧﻪ ﻫﺎي آﻧﻬﺎ( ﺑﻜﺎر ﻣﻲرود‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮﻋﺎت ﻛﻠﻴﺪ ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ‬ ‫ﻓﺮﻣﺎﻳﻴﺪ‪:‬‬ ‫ﻣﺜﺎل ‪ :2‬ﻛﻠﻴﺪي ﻛﻪ ارﺗﺒﺎط ﺟﺪول ﻣﺨﺘﻠﻒ را ﻣﺸﺨﺺ و ﺑﺮﻗﺮار ﻣﻲﻧﻤﺎﻳﺪ‪.‬‬ ‫ﺟﺪول ‪ 5-6‬ﺟﺪول ﻣﺜﺎل ‪2‬‬ ‫‪NO….‬‬ ‫‪5‬‬ ‫‪10‬‬ ‫‪7‬‬

‫‪C#‬‬

‫و‬

‫‪status‬‬

‫‪CNAME‬‬ ‫‪Pen‬‬ ‫‪Pen‬‬ ‫‪Pen‬‬ ‫‪Ruler‬‬

‫‪STATUS‬‬ ‫‪Q‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪Q‬‬

‫‪C#‬‬ ‫‪10‬‬ ‫‪10‬‬ ‫‪10‬‬ ‫‪10‬‬

‫ﻣﻲ ﺗﻮاﻧﻨﺪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﻨﺪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪي ﻛﻪ ﻣﻲ ﺗﻮاﻧﺪ ﻛﻠﻴﺪ اﺻﻠﻲ‬

‫ﺑﺸﻮد وﻟﻲ ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻧﻤﻲ ﺗﻮاﻧﻨﺪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﻨﺪ‪.‬‬ ‫ﺟﺪول ﻓﺮوﺷﻨﺪه ﻫﺎ )ﺳﺎزﻧﺪه ﻛﺎﻻ(‬ ‫ﺟﺪول ‪ 6-6‬ﺟﺪول ﻓﺮوﺷﻨﺪهﻫﺎ‬ ‫‪Tell#‬‬

‫‪C#‬‬ ‫‪10‬‬

‫‪SNAME‬‬ ‫‪a‬‬

‫‪S#‬‬ ‫‪100‬‬

‫‪11‬‬

‫‪b‬‬

‫‪105‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫ﺗﻮﺟﻪ‪ :‬در ﺟﺪول ﻓﻮق ‪ s#‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬ ‫ﺟﺪول ﻛﺎﻻ‬ ‫ﺟﺪول ‪ 7-6‬ﺟﺪول ﻛﺎﻻ‬ ‫…‪NO‬‬ ‫‪5‬‬ ‫‪7‬‬ ‫‪10‬‬

‫‪CNAME‬‬ ‫‪Pen‬‬ ‫‪Pen‬‬ ‫‪Pen‬‬ ‫‪ruler‬‬

‫‪STATUS‬‬ ‫‪Q‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪Q‬‬

‫‪C#‬‬ ‫‪10‬‬ ‫‪10‬‬ ‫‪10‬‬ ‫‪11‬‬

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

‫ﻧﻜﺎﺗﻲ در ﻣﻮرد ﻛﻠﻴﺪ ﺧﺎرﺟﻲ‬ ‫ﻓﺮض ﻛﻨﻴﺪ ﻛﻪ راﺑﻄﻪ‬

‫‪R2‬‬

‫ﻳﻚ راﺑﻄﻪ ﻣﺒﻨﺎ ﺑﺎﺷﺪ آﻧﮕﺎه ﻳﻚ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ در راﺑﻄﻪ‬

‫زﻳﺮ ﻣﺠﻤﻌﻪ اي از ﻣﺠﻤﻮﻋﻪ ﺻﻔﺎت ‪ R2‬ﻣﺎﻧﻨﺪ‬

‫‪FR‬‬

‫‪R2‬‬

‫ﻣﻲ ﺑﺎﺷﺪ ﺑﻪ ﻧﺤﻮي ﻛﻪ‪:‬‬

‫•‬

‫راﺑﻄﻪ ﻣﺒﻨﺎﻳﻲ ﺑﻪ ﻧﺎم ‪ R1‬ﺑﺎ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ‪CK‬وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬

‫•‬

‫ﺑﺮاي ﺗﻤﺎﻣﻲﻣﻮاﻗﻊ ﻫﺮ ﻣﻘﺪار از ‪ FK‬در ﻣﻘﺪار ﻓﻌﻠﻲ ‪ R2‬ﺑﺎ ﻣﻘﺪار ‪ CK‬در ﺑﻌﻀﻲ از‬ ‫‪Tuple‬ﻫﺎ در ﻣﻘﺪار ﻗﺒﻠﻲ ﻳﻜﺴﺎن ﺑﺎﺷﻨﺪ‪.‬‬

‫ﻧﻜﺘﻪ‪ :‬اﮔﺮ ﺻﻔﺘﻲ ﺑﺘﻮاﻧﺪ ﻣﻘﺪار ﺗﻬﻲ )‪ (null‬ﺑﮕﻴﺮد‪ ،‬ﻧﻤﻲ ﺗﻮاﻧﺪ ﻛﻠﻴﺪ ﺑﺎﺷﺪ )ﻣﺎﻧﻨﺪ‬

‫‪tell#‬‬

‫)ﺷﻤﺎره ﺗﻠﻔﻦ((‪.‬‬ ‫از وﻳﮋﮔﻲ ﻫﺎي ‪ RDBMS‬در ﭘﺎﻳﮕﺎه داده راﺑﻄﻪ اي در ﻣﻮرد ﺟﺪاول اﻳﻦ اﺳﺖ ﻛﻪ‪:‬‬ ‫•‬

‫دادهﻫﺎ ﺗﻮﺳﻂ ﻛﺎرﺑﺮ و ﺑﻪ ﺻﻮرت ﺟﺪاول درﻳﺎﻓﺖ ﻣﻲﺷﻮﻧﺪ‪.‬‬

‫•‬

‫ﻋﻤﻠﻜﺮدﻫﺎﻳﻲ ﻛﻪ ﻛﺎرﺑﺮ ﻣﻲﺗﻮاﻧﺪ از آﻧﻬﺎ اﺳﺘﻔﺎده ﻧﻤﺎﻳﺪ ﻛﻪ آﻧﻬﺎ ﺑﻪ ﻛﺎرﺑﺮ اﻳﻦ اﺟﺎزه‬ ‫را ﻣﻲدﻫﻨﺪ ﺗﺎ ﺑﺘﻮاﻧﻨﺪ ﺟﺪاول ﺟﺪﻳﺪي را اﻳﺠﺎد ﻧﻤﺎﻳﻨﺪ‪.‬‬

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

‫‪EMP‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪ 120‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫ﺟﺪول ‪8-6‬‬ ‫‪SALARY‬‬ ‫‪40‬‬ ‫‪42‬‬ ‫‪30‬‬ ‫‪35‬‬

‫ﺑﺨﺶ ﻫﺎ‬

‫ﺟﺪول ‪Employee‬‬

‫‪DEPT#‬‬ ‫‪D1‬‬ ‫‪D1‬‬ ‫‪D2‬‬ ‫‪D2‬‬

‫‪EMP#‬‬ ‫‪E1‬‬ ‫‪E2‬‬ ‫‪E3‬‬ ‫‪E4‬‬

‫‪SNAME‬‬ ‫‪LOP‬‬ ‫‪CHEN‬‬ ‫‪FIN‬‬ ‫‪SAI‬‬

‫‪DEPT‬‬

‫ﺟﺪول ‪9-6‬‬

‫ﺑﻮدﺟﻪ‬ ‫‪40‬‬ ‫‪12‬‬ ‫‪5‬‬

‫ﺟﺪول ‪Department‬‬

‫‪DNAME‬‬

‫‪DEPT#‬‬

‫ﻧﺎم ﺳﺎزﻣﺎن‬

‫‪#‬ﺳﺎزﻣﺎن‬

‫‪MARKETING‬‬ ‫‪DEVELOPMENT‬‬ ‫‪RESEARCH‬‬

‫‪D1‬‬ ‫‪D2‬‬ ‫‪D3‬‬

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

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

‫ﺑﻮدﺟﻪ‬ ‫‪10‬‬ ‫‪12‬‬

‫ﻧﺎم ﺳﺎزﻣﺎن‬ ‫‪MARKETING‬‬ ‫‪DEVELOPMENT‬‬

‫‪#‬ﺳﺎزﻣﺎن‬ ‫‪D1‬‬ ‫‪D2‬‬

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

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫آن ﺗﺎﭘﻞ در راﺑﻄﻪ اﺳﺖ و ﻋﺎﻣﻞ ﺗﻤﻴﻴﺰ ﻧﻤﻮﻧﻪ ﻫﺎي ﻣﻮﺟﻮدﻳﺖ )ﺗﺎﭘﻞ ﻫﺎ( در راﺑﻄﻪ اﺳﺖ‬ ‫و ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻋﺎﻣﻞ ﺗﻤﻴﻴﺰ ﺧﻮد ﻧﻤﻲ ﺗﻮاﻧﺪ ﻣﻘﺪار ﻫﻴﭻ ﻳﺎ ﻧﺎﺷﻨﺎﺧﺘﻪ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫‪ 2-2-1-7‬ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ‬ ‫اﻳﻦ ﻗﺎﻋﺪه ﻧﺎﻇﺮ ﺑﺮ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﻮده و ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬ ‫•‬

‫اﮔﺮ ﺻﻔﺖ ﺧﺎﺻﻪ ‪) Ai‬ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ( در راﺑﻄﻪ ‪ R2‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺎﺷﺪ در اﻳﻦ‬ ‫ﺻﻮرت ‪ Ai‬در ‪ R2‬ﻣﻲﺗﻮاﻧﺪ ﻣﻘﺪار ﻫﻴﭻ داﺷﺘﻪ ﺑﺎﺷﺪ )ﺑﻪ ﺷﺮﻃﻲ ﻛﻪ ﺟﺰﺋﻲ از ﻛﻠﻴﺪ‬ ‫‪R2‬‬

‫ﻧﺒﺎﺷﺪ(‪ ،‬در ﻏﻴﺮ اﻳﻨﺼﻮرت ﺑﺎﻳﺪ ﺣﺘﻤﺎ ﻣﻘﺪاري ﺑﺎﺷﺪ ﻛﻪ در راﺑﻄﻪ ﻣﺮﺟﻊ‬

‫‪R1‬‬

‫وﺟﻮد دارد‪ .‬ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﻣﻘﺪار ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻧﻤﻲﺗﻮاﻧﺪ در راﺑﻄﻪ ﻣﺮﺟﻊ‬ ‫وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬ ‫دﻟﻴﻞ ﺗﻮﺟﻴﻪ اﻳﻦ ﻗﺎﻋﺪه اﻳﻦ اﺳﺖ ﻛﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻋﺎﻣﻞ ارﺟﺎع از ﻳﻚ ﻧﻤﻮﻧﻪ‬ ‫ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ دﻳﮕﺮ اﺳﺖ و ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻧﻤﻲ ﺗﻮان ﺑﻪ ﻧﻤﻮﻧﻪ‬ ‫ﻣﻮﺟﻮدﻳﺖ ﻧﺎﻣﻮﺟﻮد ارﺟﺎع داد‪.‬‬

‫ﺗﻤﺮﻳﻨﺎت‬ ‫‪ .1‬ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ؟‬ ‫‪ .2‬راﺑﻄﻪ را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ؟‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ .3‬راﺑﻄﻪ را از دﻳﺪﮔﺎه ﻛﺎد ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ؟‬ ‫‪ .4‬وﻳﮋﮔﻲ ﻫﺎي راﺑﻄﻪ را ﻧﺎم ﺑﺒﺮﻳﺪ؟‬ ‫‪ .5‬اﻧﻮاع ﻛﻠﻴﺪ را در ﻣﺪل راﺑﻄﻪ اي ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟‬ ‫‪ .6‬ﻣﻔﻬﻮم ﻛﻠﻴﺪ ﺧﺎرﺟﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟‬ ‫‪ .7‬اﻧﻮاع راﺑﻄﻪ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬ ‫‪ .8‬ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ﻣﻮﺟﻮدﻳﺘﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟‬ ‫‪ .9‬ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪2‬‬ ‫‪! 01 3 4%5‬‬ ‫ﻫﺪف ﻛﻠﻲ‬ ‫در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﻌﺮﻳﻔﻲ از ﭘﺎﻳﮕﺎه داده راﺑﻄﻪ اي ﺑﻴﺎن ﺷﺪه و ﺳﭙﺲ ﻣﺒﺤﺚ ﺟﺒﺮ‬ ‫راﺑﻄﻪ اي ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ‪ .‬در اﻳﻦ راﺳﺘﺎ در اﺑﺘﺪا ﻋﻤﻠﮕﺮﻫﺎي‬ ‫ﺟﺒﺮ راﺑﻄﻪ اي ﻣﻌﺮﻓﻲ ﺷﺪه و ﺗﻮاﻧﺎﻳﻲ اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ در اﻟﺤﺎق و ﺟﺪاﺳﺎزي اﻃﻼﻋﺎت و‬ ‫ﻧﻤﺎﻳﺶ آﻧﻬﺎ ﺷﺮح داده ﺧﻮاﻫﺪ ﺷﺪ‪ .‬ﺳﭙﺲ ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮ روي دادهﻫﺎ ﻣﻄﺮح ﺷﺪه‬ ‫و اﻧﻮاع اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ‪ .‬در ﺧﺎﺗﻤﻪ ﻧﻴﺰ ﻣﺮوري‬ ‫ﻣﺨﺘﺼﺮ ﺑﺮ روي ﻣﺒﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﻋﺒﺎرات ﺟﺴﺘﺠﻮ در ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺧﻮاﻫﻴﻢ داﺷﺖ‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬ ‫در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬ ‫•‬

‫ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده راﺑﻄﻪاي‬

‫•‬

‫ﺟﺒﺮ راﺑﻄﻪاي‬

‫•‬

‫ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي‬

‫•‬

‫ﻋﻤﻠﮕﺮ ﮔﺰﻳﻨﺶ‬

‫•‬

‫ﻋﻤﻠﮕﺮ ﭘﺮﺗﻮ‬

‫•‬

‫ﻋﻤﻠﮕﺮ ﺗﻐﻴﻴﺮ ﻧﺎم‬

‫•‬

‫ﻋﻤﻠﮕﺮ ﺟﺎﻳﮕﺰﻳﻨﻲ‬

‫•‬

‫ﻋﻤﻠﮕﺮﻫﺎي ﻣﺠﻤﻮﻋﻪ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪129‬‬

‫‪ -2‬ﺟﺒﺮ راﺑﻄﻪاي )‪ (RA‬و ﻋﻤﻠﮕﺮﻫﺎي آن‬ ‫ﺟﺒﺮ راﺑﻄﻪ اي اراﺋﻪ ﺷﺪه ﺗﻮﺳﻂ ﻛﺎد )‪ (codd‬ﺷﺎﻣﻞ ﻫﺸﺖ ﻋﻤﻠﮕﺮ در دو ﮔﺮوه ﭼﻬﺎر‬ ‫ﺗﺎﻳﻲ ﻣﻲ ﺑﺎﺷﺪ‪ .‬در ﺑﻌﻀﻲ ﻛﺘﺐ ﺗﻌﺪادي ﻋﻤﻠﮕﺮ دﻳﮕﺮ ﻧﻴﺰ ﺑﻪ اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ اﺿﺎﻓﻪ‬ ‫ﺷﺪه اﻧﺪ‪ .‬ﻛﻠﻴﻪ اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺑﺮاي ﻛﺎر ﺑﺮ روي ﻣﻔﻬﻮم راﺑﻄﻪ ﻫﺎ ﺗﻌﺮﻳﻒ و ﻃﺮاﺣﻲ‬ ‫ﺷﺪه اﻧﺪ‪ .‬در ﺟﺒﺮ راﺑﻄﻪ اي داده ﻫﺎ ﻫﻤﺎن راﺑﻄﻪ ﻫﺎ ﻣﻲ ﺑﺎﺷﻨﺪ‪ .‬ﻣﺠﻤﻮﻋﻪ ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ‬ ‫راﺑﻄﻪ اي در ﻋﺒﺎرت زﻳﺮ ﻣﺸﺨﺺ ﺷﺪه اﺳﺖ‪ ،‬ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻛﻪ‪:‬‬ ‫}} ‪, X , U ,-, ∩ , ÷ , ∞ , X༰ , ༰༾‬‬

‫‪RA = {{Relations}, { Б ,∏ , ℓ ,‬‬

‫در ﺑﻌﻀﻲ از ﻛﺘﺐ ﺗﻌﺪادي از اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺗﺤﺖ ﻋﻨﻮان ﻋﻤﻠﮕﺮ‬

‫‪set‬‬

‫و ﺗﻌﺪادي‬

‫دﻳﮕﺮ ﺗﺤﺖ ﻋﻨﻮان ﻋﻤﻠﮕﺮ ‪ join‬ﻣﻌﺮﻓﻲ ﺷﺪهاﻧﺪ ﻛﻪ اﻳﻦ دو ﮔﺮوه ﻧﻴﺰ ﺗﻮﺿﻴﺢ داده ﺧﻮاﻫﻨﺪ‬ ‫ﺷﺪ‪ .‬ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي در راﺑﻄﻪ ﺑﺎﻻ ﺑﻪ ﺗﺮﺗﻴﺐ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬ ‫ﻋﻤﻠﮕﺮ ﮔﺰﻳﻨﺶ‬

‫•‬

‫‪=Б‬‬

‫•‬

‫∏= ﻋﻤﻠﮕﺮ ﭘﺮﺗﻮ‬

‫•‬

‫‪= ℓ‬‬

‫‪2‬‬

‫ﻋﻤﻠﮕﺮ ﺗﻐﻴﻴﺮ ﻧﺎم‬

‫•‬ ‫•‬

‫‪1‬‬

‫=‬ ‫‪= Set‬‬

‫‪3‬‬

‫ﻋﻤﻠﮕﺮ ﺟﺎﻳﮕﺰﻳﻨﻲ‬

‫ﻋﻤﻠﮕﺮ ﻣﺠﻤﻮﻋﻪ‪ ،‬اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺑﺮ روي ﻣﺠﻤﻮﻋﻪاي از راﺑﻄﻪﻫﺎ ﻋﻤﻞ‬

‫ﻣﻲﻛﻨﻨﺪ و ﺷﺎﻣﻞ ﻋﻤﻠﮕﺮﻫﺎي‬ ‫•‬ ‫•‬ ‫•‬

‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪131‬‬ ‫‪R2‬‬

‫∞ ‪R1‬‬

‫‪R2‬‬

‫‪R1‬‬

‫‪c1‬‬

‫‪b1‬‬

‫‪a1‬‬

‫‪b1‬‬

‫‪a1‬‬

‫‪c2‬‬

‫‪b2‬‬

‫‪a2‬‬

‫‪b2‬‬

‫‪a2‬‬

‫‪c3‬‬

‫‪b3‬‬

‫‪a3‬‬

‫‪b3‬‬

‫‪a3‬‬

‫ﺗﻤﺮﻳﻦ‪:‬‬ ‫ﺑﺎ اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ )÷( ﻧﺘﻴﺠﻪ‬

‫)‪R1 ÷ R2 = ? (R3‬‬

‫‪R3‬‬

‫را ﺑﺪﺳﺖ آورﻳﺪ‪:‬‬

‫‪R2‬‬

‫?‬

‫‪R1‬‬ ‫‪X‬‬

‫‪a‬‬

‫‪x‬‬

‫‪y‬‬

‫‪a‬‬

‫‪y‬‬

‫‪z‬‬

‫‪a‬‬

‫‪X‬‬

‫‪b‬‬

‫‪y‬‬

‫‪c‬‬

‫ﻧﻜﺘﻪ‪ :‬ﻳﻜﻲ از ﻣﻬﻤﺘﺮﻳﻦ ﺧﻮاص‪ ،‬ﺧﺎﺻﻴﺖ ﺑﺴﺘﻪ ﺑﻮدن )ﺑﺴﺘﺎر ﻳﺎ‬

‫‪closure‬‬

‫( ﻣﻲ ﺑﺎﺷﺪ‪.‬‬

‫ﺑﺪﻳﻦ ﻣﻌﻨﺎ ﻛﻪ ﺧﺮوﺟﻲ ﻫﺮ ﻋﻤﻠﮕﺮ راﺑﻄﻪ اي ﺧﻮد ﻳﻚ راﺑﻄﻪ اﺳﺖ‪ .‬ﺑﻄﻮر ﻣﺜﺎل ﻣﻲ ﺗﻮان‬ ‫ﮔﻔﺖ ﻛﻪ اﺟﺘﻤﺎع دو راﺑﻄﻪ )دو ﺟﺪول( ﻳﻚ راﺑﻄﻪ )ﻳﻚ ﺟﺪول( ﻣﻲ ﮔﺮدد‪.‬‬

‫ﻋﻤﻠﮕﺮﺗﻐﻴﻴﺮ ﻧﺎم )‪(༸‬‬ ‫اﻳﻦ ﻋﻤﻠﮕﺮ ﻳﻚ راﺑﻄﻪ را ﮔﺮﻓﺘﻪ و ﻧﺴﺨﻪ دﻳﮕﺮي از آن را ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﺑﻪ ﺑﻌﻀﻲ از‬ ‫ﺻﻔﺎت اﺳﺎﻣﻲ دﻳﮕﺮي داده ﺷﺪه ﺑﺎﺷﺪ را ﻣﻲ دﻫﺪ‪:‬‬ ‫ﺗﻐﻴﻴﺮ ﻧﺎم ﺻﻔﺖ ‪ city‬ﺑﻪ‬

‫‪Scity‬‬

‫در راﺑﻄﻪ‬

‫‪S RENAME city AS Scity‬‬ ‫‪S‬‬

‫اﮔﺮ ﺑﻴﺸﺘﺮ از ﻳﻚ ﺗﻐﻴﻴﺮ اﻧﺠﺎم ﮔﻴﺮد در ﭘﺮاﻧﺘﺰ ﻗﺮار ﻣﻲ دﻫﻴﻢ‪ .‬ﺑﻄﻮر ﻣﺜﺎل‪:‬‬ ‫)‪AS Scity , S# AS SNUM‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫‪( city‬‬

‫‪S RENAME‬‬


WWW.IRANMEET.COM

‫ ﭘﺎﻳﮕﺎه دادهﻫﺎ‬132 S#

SNAME

STATUS

City

S1

Smith

20

London

S2 S3 S4 S5

Jones Black Clark Adams

10 30 20 30

Paris Paris London Athens

.‫ ﺟﺪول ﻓﻮق ﺑﻪ ﺟﺪول ذﻳﻞ ﺗﺒﺪﻳﻞ ﻣﻲ ﮔﺮدد‬RENAME ‫ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮر‬ SNUM

SNAME

STATUS

Scity

S1

Smith

20

London

S2 S3 S4 S5

Jones Black Clark Adoms

10 30 20 30

Paris Paris London Athens

:‫ﻣﺜﺎل‬ A

S#

SNAME

STATUS

City

S1

Smith

20

London

S4

Clark

20

London

B

S#

SNAME

STATUS

City

S1 S2

Smith Jones

20 10

London Paris

:‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ دو ﺟﺪول ﻓﻮق دارﻳﻢ‬ AՍ B

Ramin.Samad@yahoo.com


WWW.IRANMEET.COM

133 ‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي‬ S#

SNAME

STATUS

city

S1 S4 S2

Smith Clark Jones

20 20 10

London London Paris

AВB

S#

SNAME

STATUS

City

S1

Smith

20

London

B-A

S# S4

SNAME

STATUS

Clark

20

City 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

‫ﺷﺮط ﻳﺎ ﺷﺮﻃﻬﺎ‬ :‫ﻣﺜﺎل‬

Ramin.Samad@yahoo.com


WWW.IRANMEET.COM

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

Б (S)

‫ﻳﺎ‬

S where city = London

city = London S# S1 S4

SNAME smith clark

STATUS 20 20

CITY London london

:‫ﻣﺜﺎل‬ Б (S) CITY =

" London"

AND SNAME = S# S1

SNAME smith

" smith"

STATUS 20

CITY London

(∏) ‫دﺳﺘﻮر‬ ‫( ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ در واﻗﻊ ﺳﺘﻮن ﻫﺎﻳﻲ از راﺑﻄﻪ را‬Project) ‫اﻳﻦ دﺳﺘﻮر ﻫﻤﺎن ﻋﻤﻠﮕﺮ ﭘﺮﺗﻮ‬ :‫ ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﻳﻜﻲ از دو ﺻﻮرت ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‬.‫در ﺑﺮ ﻣﻲ ﮔﻴﺮد‬ ∏ (‫)ﻧﺎم راﺑﻄﻪ‬

-1

‫ﻧﺎم ﺻﻔﺖ‬ ‫] ﻧﺎم ﺻﻔﺘﻬﺎ [ ﻧﺎم راﺑﻄﻪ‬

-2

:‫ﻣﺜﺎل‬ ∏ (s )

‫ﻳﺎ‬

s [city]

City City London Paris Athens

∏ (S ) S#

‫و‬

‫ﻳﺎ‬

S [ S# , SNAME ]

SNAME

Ramin.Samad@yahoo.com

:‫ﻣﺜﺎل‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪135‬‬

‫‪SNAME‬‬

‫‪S#‬‬

‫‪Smith‬‬ ‫‪Jones‬‬ ‫‪Black‬‬ ‫‪Clark‬‬ ‫‪Adams‬‬

‫‪S1‬‬ ‫‪S2‬‬ ‫‪S3‬‬ ‫‪S4‬‬ ‫‪S5‬‬

‫ﺗﻤﺮﻳﻦ‪ :‬ﻧﺎم اﻓﺮادﻳﻜﻪ ﺷﻬﺮﺷﺎن ﻟﻨﺪن )‪ (london‬اﺳﺖ ؟‬ ‫"‪" London‬‬

‫=‬

‫)‪Б (s‬‬ ‫‪∏ city‬‬ ‫‪Name‬‬

‫ﺗﻤﺮﻳﻦ‪:‬‬

‫‪S#‬‬

‫اﻓﺮادﻳﻜﻪ وﺿﻌﻴﺘﺸﺎن ﺑﺮاﺑﺮ ‪ 30‬اﺳﺖ‪.‬‬ ‫)‪Б (s‬‬ ‫∏‬

‫‪STATUS = 30‬‬

‫‪S#‬‬ ‫‪S#‬‬

‫)"‪" London‬‬

‫= ‪WHERE CITY‬‬

‫‪(S‬‬

‫‪Name‬‬

‫ﻋﻤﻠﮕﺮﻫﺎي ﭘﻴﻮﻧﺪ‬ ‫ﺿﺮب دﻛﺎرﺗﻲ‬

‫)‪(join‬‬

‫‪1‬‬

‫راﺑﻄﻪ اي اﺳﺖ ﻛﻪ ﺳﺘﻮﻧﻬﺎﻳﺶ ﻣﺠﻤﻮع ﺳﺘﻮﻧﻬﺎي دو راﺑﻄﻪ و ﺳﻄﺮﻫﺎﻳﺶ ﺑﺮاﺑﺮ ﺑﺎ‬ ‫ﺣﺎﺻﻠﻀﺮب )ﺗﻤﺎﻣﻲ ﺗﺮﻛﻴﺒﻬﺎي ﻣﻤﻜﻦ( ﺳﻄﺮﻫﺎي آن دو راﺑﻄﻪ )ﺗﻜﺮاري ﻧﻴﺰ ﺧﻮاﻫﻴﻢ‬ ‫داﺷﺖ( اﺳﺖ‪.‬‬

‫ﺧﻮاص ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ‬ ‫•‬

‫اﻃﻼﻋﺎت ﻛﺎﻣﻞ‬ ‫‪1 . C a r t e si a n P r o d uc t‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪ 136‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫•‬

‫ﺣﺠﻢ ﻳﺎ ﻓﻀﺎي زﻳﺎدي اﺷﻐﺎل ﻣﻲﻛﻨﺪ )ﺣﺘﻲ اﻻﻣﻜﺎن اﻧﺠﺎم ﻧﻤﻲدﻫﻴﻢ(‪.‬‬

‫•‬

‫‪*b=b*a‬‬

‫‪a‬‬

‫ﻛﺎرﺑﺮدﻫﺎي ﺿﺮب دﻛﺎرﺗﻲ)‪(X‬‬ ‫ﻳﻜﻲ از ﻛﺎرﺑﺮدﻫﺎي ﺿﺮب دﻛﺎرﺗﻲ ﻣﻮاﻗﻌﻲ اﺳﺖ ﻛﻪ ﺑﻴﻦ ﺟﺪاول ﻋﺎﻣﻞ ارﺗﺒﺎط‬ ‫)ﺻﻔﺘﻬﺎي ﻣﺸﺨﺺ( ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻴﻢ )راه ﺣﻞ ﺧﻮﺑﻲ ﻧﻴﺴﺖ زﻳﺮا ﻓﻀﺎي زﻳﺎدي اﺷﻐﺎل‬ ‫ﻣﻲ ﻛﻨﺪ(‪.‬‬ ‫‪y‬‬

‫*‬

‫‪x‬‬

‫‪c‬‬

‫‪d‬‬

‫ﺑﺨﺎﻃﺮ ﭘﺮ ﻫﺰﻳﻨﻪ ﺑﻮدن ﺿﺮب‪ join ،‬ﻫﺎي دﻳﮕﺮ اراﺋﻪ ﮔﺮدﻳﺪﻧﺪ )اﺻﻞ‬

‫‪a‬‬

‫‪b‬‬

‫‪join‬‬

‫ﺑﺎ ﺿﺮب‬

‫ﺷﺮوع ﻣﻲ ﺷﻮد(‪.‬‬

‫اﻟﺤﺎق ﻃﺒﻴﻌﻲ‬

‫‪Natural join‬‬

‫)∞(‬

‫ﻧﺘﻴﺠﻪ ﺣﺎﺻﻞ از اﻳﻦ ﻋﻤﻠﻴﺎت ﺷﺎﻣﻞ ﺟﺪوﻟﻲ اﺳﺖ ﻛﻪ ﺳﺘﻮﻧﻬﺎﻳﺶ‪ ،‬ﺳﺘﻮﻧﻬﺎي دو‬ ‫ﺟﺪوﻟﻲ )ﺑﺪون ﺗﻜﺮار( و ﺳﻄﺮﻫﺎﻳﺶ‪ ،‬ﺳﻄﺮﻫﺎﻳﻲ از ﺟﺪول اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮ ﻫﻤﻪ‬ ‫ﺳﺘﻮﻧﻬﺎي ﻫﻢ ﻧﺎﻣﺶ ﻣﺴﺎوي ﻫﺴﺘﻨﺪ‪.‬‬ ‫‪B‬‬ ‫‪C‬‬

‫‪b‬‬

‫‪a‬‬

‫‪4‬‬

‫‪2‬‬

‫‪1‬‬

‫‪1‬‬

‫‪2‬‬

‫‪1‬‬

‫‪3‬‬

‫‪4‬‬

‫‪2‬‬

‫‪∞A‬‬

‫‪B‬‬ ‫=‬ ‫=‬

‫‪A join B‬‬

‫‪c‬‬

‫‪b‬‬

‫‪4‬‬ ‫‪10‬‬ ‫‪8‬‬ ‫‪3‬‬ ‫‪1‬‬

‫‪2‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪4‬‬ ‫‪2‬‬

‫در ﻣﺒﺎﺣﺚ ﭘﻴﻮﻧﺪ راﺑﻄﻪﻫﺎ ﻧﻜﺎت زﻳﺮ ﺑﺎﻳﺪ ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﮔﻴﺮد‪:‬‬ ‫)‪( A ∞B) ∞ C = A ∞ (B ∞ C‬‬ ‫‪A∞B= B∞A‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫‪A‬‬ ‫‪b‬‬

‫‪a‬‬

‫‪2‬‬ ‫‪4‬‬

‫‪1‬‬ ‫‪2‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪137‬‬

‫اﮔﺮ دو ﺟﺪول ‪ A‬و ‪ B‬داراي ﺻﻔﺎت ﻣﺸﺘﺮﻛﻲ ﻧﺒﺎﺷﻨﺪ ∞ ﺗﺒﺪﻳﻞ ﺑﻪ ‪ X‬ﻣﻲ ﺷﻮد‪.‬‬ ‫)‪join‬‬

‫‪(X ༰ (༰- join) teta‬‬

‫و اﻳﻦ ﻋﺒﺎرت ﻣﻌﺎدل ﺿﺮب دﻛﺎرﺗﻲ اﺳﺖ ﻛﻪ ﺷﺮﻃﻲ ﻧﻴﺰ ﺑﻪ آن اﻓﺰوده ﺷﺪه اﺳﺖ‪.‬‬ ‫ﺷﺮط‬

‫ﻳﺎ‬

‫‪(R1 * R2) WHERE‬‬

‫‪R1 * R2‬‬

‫ﺷﺮط‬ ‫ﻛﺎرﺑﺮد‪ :‬ﻣﻮاﻗﻌﻲ ﻛﻪ ﻧﻴﺎز ﺑﻪ‬

‫دو راﺑﻄﻪ ﺑﺮ اﺳﺎس ﺷﺮط ﺧﺎﺻﻲ ﺑﻪ ﻏﻴﺮ از ﺑﺮاﺑﺮي‬

‫‪join‬‬

‫آﻧﻬﺎ ﺑﺎﺷﺪ‪.‬‬ ‫ﻣﺜﺎل‪:‬‬ ‫‪B‬‬

‫‪A*B‬‬

‫‪semi join‬‬

‫‪A‬‬

‫‪A.b > B.c‬‬ ‫‪b‬‬ ‫‪c‬‬

‫‪a‬‬

‫‪d‬‬

‫‪c‬‬

‫‪b‬‬

‫‪a‬‬

‫‪K‬‬

‫‪10‬‬

‫‪15‬‬

‫‪x‬‬

‫‪K‬‬

‫‪10‬‬

‫‪20‬‬

‫‪y‬‬

‫‪K‬‬ ‫‪l‬‬

‫‪10‬‬ ‫‪25‬‬

‫‪15‬‬ ‫‪20‬‬

‫‪x‬‬ ‫‪y‬‬

‫‪d‬‬

‫=‪༾‬‬

‫ﻫﻤﺎن ‪ X ༰‬اﺳﺖ ﻛﻪ ﻓﻘﻂ ﺷﺎﻣﻞ ﺳﺘﻮﻧﻬﺎي ﺟﺪول اول ﻣﻲ ﺑﺎﺷﺪ )ﺑﺪون ﺳﺘﻮﻧﻬﺎي‬ ‫ﺗﻜﺮاري(‪.‬‬ ‫‪༾ R2‬‬ ‫ﺷﺮط‬

‫‪R1‬‬

‫ﻛﺎرﺑﺮد‪ :‬در ﭘﺎﻳﮕﺎهﻫﺎي داده ﺗﻮزﻳﻊ ﻳﺎﻓﺘﻪ‬

‫)‪DB‬‬

‫‪ (Distributed‬ﺑﻜﺎر ﻣﻲ رود ﺗﺎ از اﻧﺘﻘﺎل‬

‫اﻃﻼﻋﺎت زﻳﺎدي ﺟﻠﻮﮔﻴﺮي ﻛﻨﺪ‪.‬‬ ‫ﻣﺜﺎل‪:‬‬ ‫‪B‬‬

‫‪A‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫‪B༾A‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫ﻋﻤﻠﮕﺮ ﺗﻘﺴﻴﻢ‬

‫‪15‬‬

‫‪x‬‬

‫‪20‬‬

‫‪y‬‬

‫‪c.B < b.A‬‬

‫‪1‬‬

‫ﻓﺮض ﻛﻨﻴﺪ‬ ‫)‪ Yn‬و‪ ...‬و ‪ Y2‬و ‪ Y1‬و ‪ Xn‬و‪ ...‬و ‪ X2‬و‬

‫‪1‬‬

‫‪A (X‬‬

‫و‬ ‫)‪ Yn‬و‪ ...‬و ‪ Y2‬و‬

‫‪1‬‬

‫‪B (Y‬‬

‫در ﺗﻘﺴﻴﻢ دو راﺑﻄﻪ‪ ،‬ﺳﺘﻮﻧﻬﺎي ﺑﺎﻗﻲ ﻣﺎﻧﺪه و ﺳﻄﺮﻫﺎ‪ ،‬ﺳﻄﺮﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﺷﺮط در ﻫﻤﻪ‬ ‫آﻧﻬﺎ ﺻﺎدق اﺳﺖ‪.‬‬ ‫)‪ Xn‬و‪ ...‬و ‪ X2‬و ‪(X1‬‬ ‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ اﮔﺮ‬ ‫ﻧﺪاﺷﺘﻪ‬

‫ﺑﺎﺷﻴﻢ‪Xn‬‬

‫‪Y2‬‬

‫=‬

‫را ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻴﻢ‬

‫‪¹B‬‬

‫‪X2‬‬

‫‪= A‬‬

‫‪A DIVIDE By B‬‬

‫را ﺑﻪ ﻣﺎ ﻧﻤﻲ دﻫﺪ‪ ،‬اﮔﺮ‬

‫‪Yn‬‬

‫را‬

‫را ﺑﻪ ﻣﺎ ﻧﻤﻲ دﻫﺪ‪.‬‬

‫ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﻧﻜﺘﻪ ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ اﺳﺎﺳﺎً اﻳﻦ ﻋﻤﻠﮕﺮ ﭼﻪ ﻛﺎرﺑﺮدﻫﺎﻳﻲ ﻣﻲﺗﻮاﻧﺪ‬ ‫داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬در ﭘﺎﺳﺦ ﺑﻪ اﻳﻦ ﭘﺮﺳﺶ ﺑﺎﻳﺪ ﮔﻔﺖ ﻛﻪ ﻳﻜﻲ از ﺳﺎده ﺗﺮﻳﻦ ﻣﻮارد اﺳﺘﻔﺎده از‬ ‫اﻳﻦ ﻋﻤﻠﮕﺮ ﭘﺮس و ﺟﻮﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از آﻧﻬﺎ دﻧﺒﺎل ﻣﻘﺎدﻳﺮي ﺑﮕﺮدﻳﻢ ﻛﻪ ﺣﺎوي‬ ‫ﻳﻚ ﻛﻠﻤﻪ ﺧﺎص ﺑﺎﺷﺪ‪) .‬ﻣﺜﻼ ﺗﻤﺎم ‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪139‬‬

‫ﻗﻄﻌﺎت؟‬ ‫‪( ∏ (SP) ¹ ∏ (P)) ∞ S‬‬ ‫‪P#‬‬

‫∏‬

‫‪s# , P#‬‬ ‫‪SNAME‬‬

‫ﺷﻤﺎر ﺗﻤﺎم ﻗﻄﻌﺎت‬

‫ﺟﻮاب‪:‬‬

‫‪S#‬‬

‫ﺷﻤﺎر ﺳﺎزﻧﺪه و ﻗﻄﻌﺎﺗﻲ ﻛﻪ ﺗﻮﻟﻴﺪ ﻣﻲﻛﻨﻨﺪ را دارد‬ ‫)ﺗﻜﺮاري ﻫﻢ دارد(‬

‫ﻛﻪ ﻫﻤﻪ ﻗﻄﻌﺎت را ﺗﻮﻟﻴﺪ ﻛﻨﺪ‪.‬‬

‫از آﻧﺠﺎﺋﻴﻜﻪ در ﺟﺴﺘﺠﻮس ﻧﺎم ﻗﻄﻌﻪ ﻫﺴﺘﻴﻢ‪ ،‬ﭘﺲ ﺟﻮاب را ﺑﺎ ﺟﺪول‬

‫‪join ،S‬‬

‫ﻣﻲ ﻛﻨﻴﻢ‬

‫ﻛﻪ در آﺧﺮ ﻧﺎم آن ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪﮔﺎن را ﺑﺪﺳﺖ آورﻳﻢ‪.‬‬ ‫ﺳﻮال‪:‬‬ ‫ﺷﻤﺎره ﻓﺮوﺷﻨﺪﮔﺎﻧﻲ ﻛﻪ ﺣﺪاﻗﻞ ﺗﻤﺎم ﻗﻄﻌﺎت ﻋﺮﺿﻪ ﺷﺪه ﺗﻮﺳﻂ ‪ S2‬را ﻋﺮﺿﻪ ﻣﻲ ﻛﻨﻨﺪ؟‬ ‫)‪∏ (s) ¹ Б (sp‬‬ ‫‪S#=СS2ɨТ‬‬

‫‪S#‬‬

‫ﺳﻮال‪:‬‬ ‫ﺟﺪاول زﻳﺮ را در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺑﻪ ﭘﺮﺳﺶ ﻫﺎ ﭘﺎﺳﺦ دﻫﻴﺪ‪.‬‬ ‫)‪ clg #‬و ‪ avg‬و ‪ city‬و ‪ SNAME‬و‬ ‫)‪clg#‬‬

‫و ‪ degree‬و ‪ esp‬و ‪ affice‬و‬ ‫)‪ clg#‬و ‪ unit‬و‬

‫)‪ score‬و ‪ pname‬و‪ term‬و‬

‫‪Stud (S#‬‬

‫‪prof (pname‬‬

‫‪ cname‬و‪crs (c#‬‬

‫‪ s#‬و‪ c#‬و‪sec (sec#‬‬

‫)‪ pnam‬و ‪ city‬و ‪ clgname‬و‬

‫‪clg (clg#‬‬

‫اﻟﻒ( ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ‪ ،‬ﻧﺎم‪ ،‬ﻛﺪ داﻧﺸﻜﺪه و ﻣﻌﺪل داﻧﺸﺠﻮﻳﻲ ﻛﻪ ﻣﻴﺎﻧﮕﻴﻦ ﻧﻤﺮات آﻧﻬﺎ‬ ‫ﺑﺎﻻي ‪ 15‬ﻣﻲ ﺑﺎﺷﺪ‪.‬‬ ‫ب( ﻟﻴﺴﺖ ﻧﺎم اﺳﺎﺗﻴﺪي ﻛﻪ رﺋﻴﺲ داﻧﺸﻜﺪه ﻧﻴﺴﺘﻨﺪ‪.‬‬ ‫ج( ﻣﺸﺨﺼﺎت ﻛﺎﻣﻞ روﺳﺎي داﻧﺸﻜﺪهﻫﺎ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫د( داﻧﺸﺠﻮﻳﺎﻧﻲ ﻛﻪ ﻫﻤﻪ درﺳﻬﺎي اﺳﺘﺎد ‪ x‬را ﮔﺮﻓﺘﻪ اﻧﺪ‪.‬‬ ‫ه( درﺳﻬﺎﻳﻲ ﻛﻪ ﺗﻮﺳﻂ ﻫﻤﻪ داﻧﺸﻜﺪهﻫﺎ اراﺋﻪ ﻣﻲ ﺷﻮد‪.‬‬ ‫و( ﻣﺸﺨﺼﺎت دروس ‪ 4‬واﺣﺪي ﻛﻪ در ﻧﻴﻤﺴﺎل اول ‪ 78‬اراﺋﻪ ﺷﺪه اﻧﺪ‪.‬‬

‫‪ -3‬ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮروي دادهﻫﺎ‬ ‫ﻫﺮ ﻛﺎرﺑﺮ در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده ﺑﺮاي اﻧﺠﺎم ﻋﻤﻠﻴﺎت ﻧﻴﺎزﻣﻨﺪ‪ ،‬ﻋﻤﻠﮕﺮ ﻫﺎي زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬ ‫‪1‬‬

‫•‬

‫ﻋﻤﻠﮕﺮ درج‬

‫•‬

‫ﻋﻤﻠﮕﺮ ﺑﻬﻨﮕﺎم ﺳﺎزي‬

‫•‬

‫ﻋﻤﻠﮕﺮ ﺣﺬف‬

‫‪2‬‬

‫‪3‬‬

‫اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ در واﻗﻊ اﻣﻜﺎﻧﺎت ﺣﺬف‪ ،‬اﺿﺎﻓﻪ و اﺻﻼًح اﻃﻼﻋﺎت را ﺑﺮاي ﻛﺎرﺑﺮ ﻓﺮاﻫﻢ‬ ‫ﻣﻲ آورﻧﺪ‪ .‬در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮﻳﻚ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ‪.‬‬

‫‪ 1-3‬ﻋﻤﻠﮕﺮ درج‬ ‫اﻳﻦ ﻋﻤﻠﮕﺮ اﻣﻜﺎن اﺿﺎﻓﻪ ﻛﺮدن اﻃﻼﻋﺎت ﺑﻪ ﺟﺪاول اﻃﻼﻋﺎﺗﻲ )راﺑﻄﻪ ﻫﺎ( را ﻓﺮاﻫﻢ‬ ‫ﻣﻲ آورد‪ .‬اﻳﻦ ﻋﻤﻠﮕﺮ در ﺣﺎﻟﺖ ﻛﻠﻲ اﻣﻜﺎن اﻓﺰودن داده ﻫﺎ ﺑﻪ دوﺻﻮرت زﻳﺮ را دارد‪.‬‬ ‫•‬

‫اﻓﺰودن ﻣﻘﺎدﻳﺮ ﻣﺸﺨﺺ ﺑﻌﻨﻮان ﻳﻚ ﺳﻄﺮ اﻃﻼﻋﺎﺗﻲ ﺑﻪ ﺟﺪول‬

‫•‬

‫اﻓﺰودن ﺗﻌﺪادي ﺳﻄﺮ اﻃﻼﻋﺎﺗﻲ از ﺟﺪوﻟﻲ ﺑﻪ ﺟﺪول دﻳﮕﺮ‬

‫ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬ ‫‪Target‬‬

‫‪INTO‬‬

‫‪source‬‬

‫‪INSERT‬‬

‫ﺟﺪول ﻣﻘﺼﺪ‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﮔﺮدد ﻋﺒﺎرت‬

‫‪Source‬‬

‫ﻣﻲ ﺗﻮاﻧﺪ ﺑﺼﻮرت ﻣﺠﻤﻮﻋﻪ اي ﻣﺸﺨﺺ‬

‫از ﻣﻘﺎدﻳﺮ ﻛﻪ ﻣﻨﻄﺒﻖ ﺑﺎ ﺟﺪول ﻣﻘﺼﺪ ﻫﺴﺘﻨﺪ‪ ،‬ﺑﺎﺷﺪ و ﻳﺎ اﻳﻨﻜﻪ ﺧﺮوﺟﻪ ﺣﺎﺻﻞ از ﻳﻚ‬

‫‪1. In s e r t‬‬ ‫‪2. U p da t e‬‬ ‫‪3. D el e t e‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪141‬‬

‫ﺟﺪول و ﻳﺎ ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از اﻋﻤﺎل ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪ اي ﺑﺮ روي ﻳﻚ ﻳﺎ ﭼﻨﺪ‬ ‫ﺟﺪول ﺑﺎﺷﺪ‪.‬‬ ‫ﻣﺜﺎل‪:‬‬ ‫‪INTO TEMP‬‬

‫آن ﺳﻄﺮﻫﺎﻳﻲ ﻛﻪ ‪= СLondonТ‬‬

‫‪city‬‬

‫)‪= СlondonТ‬‬

‫‪INSERT (S WHERE city‬‬

‫اﺳﺖ را در راﺑﻄﻪ ‪ ،S‬را ﺑﻪ ﺟﺪول‬

‫‪temp‬‬

‫اﺿﺎﻓﻪ‬

‫ﻣﻲ ﻛﻨﺪ‪.‬‬

‫‪ 2-3‬ﻋﻤﻠﮕﺮ ﺑﻬﻨﮕﺎم ﺳﺎزي‬ ‫اﻳﻦ ﻋﻤﻠﮕﺮ اﻣﻜﺎن اﺻﻼًح اﻃﻼﻋﺎت ذﺧﻴﺮه ﺷﺪه در ﻳﻚ ﺟﺪول را ﺑﺮاي ﻛﺎرﺑﺮ ﻓﺮاﻫﻢ‬ ‫ﻣﻲ آورد‪ .‬ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬ ‫‪Comma list-assignment‬‬

‫ﻳﻚ اﻧﺘﺴﺎب‬

‫‪UPDATE target‬‬

‫ﻣﺜﺎل‪:‬‬ ‫’‪UPDATE P city = ‘Paris’ WHERE color = ‘Red‬‬

‫ﻋﺒﺎرت ﺑﺎﻻ ﺑﺪﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ از راﺑﻄﻪ ‪ P‬اﻧﺪﺳﺘﻪ از ﺳﻄﺮﻫﺎﻳﻲ را ﻛﻪ ﻣﻘﺪار ﺻﻔﺖ‬ ‫ﺧﺎﺻﻪ رﻧﮓ در آﻧﻬﺎ ﻗﺮﻣﺰ اﺳﺖ‪ ،‬ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ ﺷﻬﺮ را ﺑﺮاﺑﺮ ﺑﺎ ﭘﺎرﻳﺲ ﻛﻨﻴﻢ‪ .‬اﻳﻦ‬ ‫ﻋﻤﻠﮕﺮ را ﺑﺼﻮرت ﻧﻤﺎدﻳﻦ )ﻧﻤﺎﻳﺶ( ﻣﻲ ﺗﻮان ﺑﻪ ﺻﻮرت زﻳﺮ ﻧﺸﺎن داد‪.‬‬ ‫)‪(P‬‬ ‫’‪WHERE color = ‘Red‬‬ ‫’‪City = ‘Paris‬‬

‫ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ ﻋﺒﺎرت ﺑﺎﻻ در ﺑﻌﻀﻲ از ﻛﺘﺐ ﺑﺼﻮرت ﻛﺎﻣﻞ ﺗﺮ ﺑﻴﺎن ﻣﻲ ﺷﻮد ﻛﻪ‬ ‫در ﺑﺤﺚ ﻓﻌﻠﻲ ﻣﺪﻧﻈﺮ ﻧﻴﺴﺖ‪.‬‬

‫‪ 3-3‬ﻋﻤﻠﮕﺮ ﺣﺬف‬ ‫اﻳﻦ ﻋﻤﻠﮕﺮ ﺟﻬﺖ ﺣﺬف ﺳﻄﺮﻫﺎﻳﻲ از اﻃﻼﻋﺎت درون ﺟﺪاول ﺑﻜﺎر ﻣﻲرود‪ .‬ﺷﻜﻞ‬ ‫ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬ ‫‪R -E‬‬

‫‪R‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫‪target‬‬

‫‪DELETE‬‬

‫ ‬


‫‪WWW.IRANMEET.COM‬‬

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

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

‫‪STATUS‬‬

‫‪DELETE S WHERE‬‬

‫ﻣﻌﻨﻲ دﺳﺘﻮر ﻣﺬﻛﻮر ﺑﺪﻳﻦ ﺻﻮرت اﺳﺖ‪ :‬ﺣﺬف ﻛﻦ از راﺑﻄﻪ‬ ‫‪STATUS‬‬

‫‪S‬‬

‫آﻧﻬﺎﻳﻲ را ﻛﻪ‬

‫آن ﻛﻤﺘﺮ از ‪ 20‬اﺳﺖ )ﭘﺲ ﻳﻚ ﺳﻄﺮ ﺣﺬف ﻣﻲ ﮔﺮدد(‪.‬‬

‫ﺗﻮﺟﻪ‪ :‬راﺑﻄﻪ‬

‫‪R‬‬

‫و‬

‫‪E‬‬

‫ﺑﺎﻳﺪ داراي ﺷﺮط‬

‫‪Same arity‬‬

‫ﺑﺎﺷﺪ )ﺗﻌﺪاد و ﻧﻮع ﺳﺘﻮن ﻫﺎﻳﺸﺎن‬

‫ﻳﻜﺴﺎن اﺳﺖ(‪.‬‬

‫‪ -4‬ﻛﺎﻣﻞ ﺑﻮدن ﺟﺒﺮ راﺑﻄﻪاي‬ ‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﺪ ﻣﻲ ﺗﻮان ﻋﺒﺎرات ﺟﺒﺮ راﺑﻄﻪ اي را ﺑﺎ اﺳﺘﻔﺎده از ﺗﺮﻛﻴﺐ ﻋﻤﻠﮕﺮﻫﺎ‬ ‫ﻧﻮﺷﺖ و ﺣﺎﺻﻞ ﻫﺮ ﻋﺒﺎرت ﻣﻌﺘﺒﺮ ﺟﺒﺮ راﺑﻄﻪ اي ﺑﺎز ﻫﻢ ﻳﻚ راﺑﻄﻪ اﺳﺖ‪ .‬ﻟﺬا ﻣﻲ ﺗﻮان‬ ‫ﭼﻨﻴﻦ ارزﻳﺎﺑﻲ ﻛﺮد ﻛﻪ ﻫﺮ راﺑﻄﻪ ﻣﻌﺘﺒﺮ از ﻣﺠﻤﻮﻋﻪ راﺑﻄﻪ ﻫﺎ را ﻣﻲ ﺗﻮان ﺑﻪ ﻛﻤﻚ ﻳﻚ‬ ‫ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪ اي ﻧﻮﺷﺖ‪ .‬ﺑﺎ اﻳﻦ وﺻﻒ ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ ﺟﺒﺮ راﺑﻄﻪ اي از ﻧﻈﺮ‬ ‫راﺑﻄﻪ اي ﻛﺎﻣﻞ اﺳﺖ ﻳﺎ ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﺟﺒﺮ راﺑﻄﻪ اي ﻛﻤﺎل راﺑﻄﻪ اي را دارد‪ .‬ﺑﺪﻳﻦ ﻋﻠﺖ‬ ‫ﻣﻲ ﺗﻮان ﺟﺒﺮ راﺑﻄﻪ اي را ﻣﻌﻴﺎر ﺗﺸﺨﻴﺺ ﻛﻤﺎل راﺑﻄﻪ اي ﺑﺮاي زﺑﺎنﻫﺎي راﺑﻄﻪ اي‬ ‫داﻧﺴﺖ‪ .‬ﻳﻌﻨﻲ ﻣﻲ ﺗﻮان ﮔﻔﺖ زﺑﺎﻧﻲ داراي ﻛﻤﺎل راﺑﻄﻪ اي اﺳﺖ ﻛﻪ ﺣﺪاﻗﻞ ﻫﺮ راﺑﻄﻪاي‬ ‫ﻛﻪ ﺑﺎ ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪ اي ﻗﺎﺑﻞ ﺗﻌﺮﻳﻒ ﺑﺎﺷﺪ‪ ،‬ﺗﻮﺳﻂ آن زﺑﺎن ﻫﻢ ﺗﻌﺮﻳﻒ ﺷﺪﻧﻲ‬ ‫ﺑﺎﺷﺪ‪.‬‬

‫‪ -5‬ﺣﺴﺎب راﺑﻄﻪاي‬ ‫ﻧﻮع دﻳﮕﺮي از اﻣﻜﺎﻧﺎت اﻧﺠﺎم ﻋﻤﻠﻴﺎت در راﺑﻄﻪ ﻫﺎ‪ ،‬ﺣﺴﺎب راﺑﻄﻪ اي اﺳﺘﻜﻪ ﻣﻨﻄﻘﺎً‬ ‫ﻣﻌﺎدل ﺟﺒﺮ راﺑﻄﻪ اي ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻳﻌﻨﻲ ﺑﺮاي ﻫﺮ ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪ اي‪ ،‬ﻳﻚ ﻋﺒﺎرت ﻣﻌﺎدل‬ ‫در ﺣﺴﺎب راﺑﻄﻪ اي وﺟﻮد دارد و ﺑﺎﻟﻌﻜﺲ‪ .‬دراﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ ﺷﻮد‬ ‫ﻛﻪ ﺟﺒﺮ راﺑﻄﻪ اي‪ ،‬دﺳﺘﻮري ﺑﻮده و ﺷﺒﻴﻪ ﺑﻪ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ اﺳﺖ و ﺣﺴﺎب‬ ‫راﺑﻄﻪ اي ﺑﺼﻮرت ﺗﻮﺻﻴﻔﻲ ﺑﻮده و ﺑﻪ زﺑﺎن ﻃﺒﻴﻌﻲ ﻧﺰدﻳﻚﺗﺮ اﺳﺖ‪ .‬ﺣﺴﺎب راﺑﻄﻪ اي‬ ‫ﺧﻮد داراي دو ﺷﺎﺧﻪ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ 2-1-5‬ﺳﻮر وﺟﻮدي و ﺳﻮر ﻫﻤﮕﺎﻧﻲ‬ ‫در ﺣﺴﺎب راﺑﻄﻪ ﺗﺎﭘﻠﻲ دو ﺳﻮر وﺟﻮد دارد‪:‬‬ ‫•‬ ‫•‬

‫ﺳﻮر وﺟﻮدي‬ ‫ﺳﻮر ﻫﻤﮕﺎﻧﻲ‬

‫‪1‬‬

‫‪2‬‬

‫ﺳﻮر وﺟﻮدي‬ ‫ﺳﻮر وﺟﻮدي را ﺑﺎ ∃ ﻧﻤﺎﻳﺶ داده و ﻋﺒﺎرت آﻧﺮا ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﻧﻮﻳﺴﻴﻢ‬ ‫)‪∃ T (f‬‬

‫ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﺪﻳﻦ ﻣﻌﻨﺎ اﺳﺖ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﻣﻘﺪار ﺑﺮاي ﻣﺘﻐﻴﺮ‬

‫‪T‬‬

‫وﺟﻮد دارد ﺑﻪ‬

‫ﻧﺤﻮي ﻛﻪ ‪ f‬ﺑﻪ ﻣﻔﻬﻮم "درﺳﺖ" ارزﻳﺎﺑﻲ ﺷﻮد‪.‬‬

‫ﺳﻮر ﻫﻤﮕﺎﻧﻲ‬ ‫ﺳﻮر ﻫﻤﮕﺎﻧﻲ را ﺑﺎ ∀ ﻧﻤﺎﻳﺶ داده و ﻋﺒﺎرت آﻧﺮا ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﻧﻮﻳﺴﻴﻢ‬ ‫)‪∀ T (f‬‬

‫ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﺪﻳﻦ ﻣﻌﻨﺎ اﺳﺖ ﻛﻪ ﺑﻪ ازاء ﺗﻤﺎم ﻣﻘﺎدﻳﺮ ﻣﺘﻐﻴﺮ‬

‫‪T‬‬

‫‪،‬‬

‫‪F‬‬

‫ﺑﻪ ﻣﻔﻬﻮم‬

‫"درﺳﺖ" ارزﻳﺎﺑﻲ ﻣﻲ ﺷﻮد‪.‬‬ ‫اﻳﻦ دو ﺳﻮر ﺑﻪ روش ﻫﺎي زﻳﺮ ﻗﺎﺑﻞ ﺗﺒﺪﻳﻞ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻣﻲ ﺑﺎﺷﻨﺪ‪:‬‬ ‫)‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪145‬‬

‫راﺑﻄﻪ اي اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ‪ ،‬ﺑﺎﻳﺪ اﻃﻤﻴﻨﺎن ﺣﺎﺻﻞ ﻛﻨﻴﻢ ﻛﻪ ﻋﺒﺎرت ﺣﺴﺎﺑﻲ ﻧﻮﺷﺘﻪ ﺷﺪه‬ ‫‪1‬‬

‫داراي ﻣﻌﻨﺎ ﺑﺎﺷﺪ‪ .‬ﻳﻚ ﻋﺒﺎرت ﺣﺴﺎﺑﻲ را ﻋﺒﺎرت ﻣﻄﻤﺌﻦ ﮔﻮﻳﻴﻢ ﻫﺮﮔﺎه ﻧﺘﻴﺠﻪ ارزﻳﺎﺑﻲ‬ ‫آن‪ ،‬ﺗﻌﺪاد ﻣﺤﺪودي از ﺗﺎﭘﻠﻬﺎ ﺑﺎﺷﺪ‪ .‬در ﻏﻴﺮ اﻳﻨﺼﻮرت آن ﻋﺒﺎرت را ﻋﺒﺎرت ﻧﺎﻣﻄﻤﺌﻦ‬

‫‪2‬‬

‫ﻣﻲ ﮔﻮﻳﻴﻢ‪.‬‬

‫‪ 2-5‬ﺣﺴﺎب راﺑﻄﻪ ﻣﻴﺪاﻧﻲ‬ ‫‪3‬‬

‫در اﻳﻦ ﻧﻮع ﺣﺴﺎب‪ ،‬ﺑﺠﺎي ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ‪ ،‬ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ دارﻳﻢ‪ .‬ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ ﻣﺘﻐﻴﺮي‬ ‫اﺳﺖ ﻛﻪ از ﻳﻚ ﻣﻴﺪان ﻣﻘﺪار ﻣﻲ ﮔﻴﺮد‪ .‬ﺗﻔﺎوت اﺻﻠﻲ ﺣﺴﺎب ﻣﻴﺪاﻧﻲ ﺑﺎ ﺣﺴﺎب ﺗﺎﭘﻠﻲ‬ ‫‪4‬‬

‫دراﻳﻦ اﺳﺖ ﻛﻪ در ﺣﺴﺎب ﻣﻴﺪاﻧﻲ‪ ،‬ﻳﻚ ﺷﺮط اﺿﺎﻓﻲ ﺑﻪ ﻧﺎم ﺷﺮط ﻋﻀﻮﻳﺖ وﺟﻮد‬ ‫دارد‪ .‬ﺷﺮط ﻋﻀﻮﻳﺖ ﺑﺼﻮرت زﻳﺮ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد‪:‬‬ ‫)‪R (A1:v1 , A2:v2, … , An:vn‬‬

‫ﻛﻪ در آن‬

‫‪R‬‬

‫ﻧﺎم راﺑﻄﻪ ‪،‬‬

‫‪Ai‬‬

‫ﻧﺎم ﺻﻔﺖ و‬

‫‪vi‬‬

‫ﻳﻚ ﻣﻘﺪار از ﻣﻴﺪان و ﻳﺎ ﻳﻚ ﻟﻴﺘﺮال اﺳﺖ‪.‬‬

‫اﻳﻦ ﺷﺮط ﺑﻪ ﻣﻔﻬﻮم "درﺳﺖ" ارزﻳﺎﺑﻲ ﻣﻲ ﺷﻮد اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ ﺗﺎﭘﻠﻲ در‬

‫‪R‬‬

‫وﺟﻮد‬

‫داﺷﺘﻪ ﺑﺎﺷﺪ ﻛﻪ ﻣﻘﺎدﻳﺮ داده ﺷﺪه ﺑﺮاي ﺻﻔﺎت را داﺷﺘﻪ ﺑﺎﺷﺪ )ﺗﺎﭘﻞ ﻋﻀﻮي از ﻣﺠﻤﻮﻋﻪ‬ ‫ﺑﺪﻧﻪ راﺑﻄﻪ ﺑﺎﺷﺪ(‪ .‬ﺑﺮاي ﻣﺜﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬ ‫)’‪STT (STID: ‘345’,stdeg:’xwe‬‬

‫در ﻋﺒﺎرت ﻓﻮق اﻳﻦ ﺷﺮط ﺑﻪ ﻣﻔﻬﻮم "درﺳﺖ" ارزﻳﺎﺑﻲ ﻣﻲﺷﻮد اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﺗﺎﭘﻠﻲ‬ ‫در ‪ STT‬ﺑﺎ ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ ’‪ ‘345‬و رﺷﺘﻪ ﻛﺎرﺷﻨﺎﺳﻲ ’‪ ‘xwe‬وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫‪ -6‬ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ‬

‫‪5‬‬

‫ﻳﻜﻲ از ﻣﺒﺎﺣﺜﻲ ﻛﻪ در ﭘﺎﻳﮕﺎهﻫﺎي داده ﻣﻄﺮح اﺳﺖ ﺑﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﻋﺒﺎرت ﭘﺮس و‬

‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫ﺟﻮ ﻣﻲ ﺑﺎﺷﺪ‪ .‬از آﻧﺠﺎﺋﻴﻜﻪ ﻣﺒﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮ ﻣﺮﺑﻮط ﺑﻪ دوره ﻛﺎرﺷﻨﺎﺳﻲ‬ ‫ﻧﻴﺴﺖ‪ ،‬ﻟﺬا در اﻳﻨﺠﺎ ﺻﺮﻓﺎ ﺗﻮﺿﻴﺤﺎت ﻣﺨﺘﺼﺮي در اﻳﻨﺒﺎره اراﺋﻪ ﺧﻮاﻫﻴﻢ ﻛﺮد‪.‬‬ ‫ﺗﻤﺎﻣﻲ ﺗﻼش ﻃﺮاﺣﺎن ﭘﺎﻳﮕﺎه داده ﻫﺎ در ﻛﻮﺗﺎه ﻛﺮدن ﻣﺪت زﻣﺎن ارﺳﺎل ﭘﺎﺳﺦ ﺑﻪ ﻣﺘﻘﺎﺿﻲ‬ ‫اﺳﺖ‪ .‬در ﻋﻴﻦ ﺣﺎل ﺧﺮوﺟﻲ ﻳﻜﺴﺎن در ﻫﻤﻪ ﺣﺎل ﻣﺪ ﻧﻈﺮ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﻌﻨﻮان ﻣﺜﺎل دو‬ ‫ﻋﺒﺎرت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪:‬‬ ‫)‪(R‬‬

‫)‪(R‬‬

‫‪ -1‬اﺑﺘﺪا از راﺑﻄﻪ‬

‫‪R‬‬

‫آن ﻫﺎﻳﻲ ﻛﻪ‬

‫‪A=B‬‬

‫‪Б‬‬

‫∏‬

‫‪A=B‬‬

‫‪A,B‬‬

‫∏‬ ‫‪A,B‬‬

‫‪Б‬‬ ‫‪A=B‬‬

‫‪١‬‬‫‪٢-‬‬

‫اﺳﺖ را ﺟﺪا ﻣﻲ ﻛﻨﺪ )ﺳﻄﺮي(‪ ،‬ﺑﻌﺪ از ﻛﻞ‬

‫آﻧﻬﺎ ﺳﺘﻮن ﻫﺎ را ﺑﻴﺮون ﻣﻲ ﻛﺸﺪ‪.‬‬ ‫‪ -2‬اﺑﺘﺪا از راﺑﻄﻪ‬

‫‪R‬‬

‫دو ﺳﺘﻮن‬

‫‪ B‬و‪A‬‬

‫را ﺟﺪا ﻣﻲ ﻛﻨﺪ‪ ،‬ﺑﻌﺪ آﻧﻬﺎﻳﻲ را ﻛﻪ‬

‫‪A= B‬‬

‫اﺳﺖ را ﺟﺪا ﻣﻲﻛﻨﺪ )ﺳﻄﺮﻫﺎﻳﻲ ﻛﻪ ‪.( A = B‬‬ ‫در اﻳﻨﺠﺎ ﻣﻤﻜﻦ اﺳﺖ ﺳﺌﻮاﻻﺗﻲ ﺑﺮاي ﻛﺎرﺑﺮ ﻣﻄﺮح ﮔﺮدد‪ .‬ﻣﺎﻧﻨﺪ‪:‬‬ ‫•‬

‫آﻳﺎ ﻫﻤﻪ ﭘﺎﺳﺦﻫﺎ ﻣﻌﺎدل اﻧﺪ ؟ ﺑﻠﻲ‬

‫•‬

‫آﻳﺎ ﻫﻤﻪ ﭘﺎﺳﺦﻫﺎ ﻫﻢ ﺳﺮﻋﺖاﻧﺪ ؟ ﺧﻴﺮ‬

‫ﺑﻨﺎﺑﺮﻳﻦ ﺟﻬﺖ اﻓﺰاﻳﺶ ﺳﺮﻋﺖ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﺳﻌﻲ ﺑﺮ آن اﺳﺖ ﺑﻬﺘﺮﻳﻦ روش ﺑﻜﺎر‬ ‫ﮔﺮﻓﺘﻪ ﺷﻮد و ﻳﺎ ﺑﻪ ﻋﺒﺎرت ﺑﻬﺘﺮ ﺳﻌﻲ ﻣﻲ ﻛﻨﻴﻢ ﺗﺎ آﻧﺠﺎ ﻛﻪ ﻣﻲ ﺗﻮاﻧﻴﻢ ﻫﺮ ﭼﻪ ﺳﺮﻳﻌﺘﺮ‬ ‫ﺟﺪاول را ﻛﻮﭼﻚ ﻛﺮده و روي آﻧﻬﺎ ﻛﺎر ﻛﻨﻴﻢ‪.‬‬ ‫ﻳﻜﻲ از ﺳﺌﻮاﻻﺗﻲ ﻛﻪ ﻣﻄﺮح ﻣﻲﮔﺮدد اﻳﻦ اﺳﺖ ﻛﻪ ﺳﺮﻋﺖ ‪Quary‬ﻫﺎي ﻣﺘﻔﺎوت‬ ‫ﭼﻘﺪر ﺗﻔﺎوت دارد ؟ در ﭘﺎﺳﺦ ﺑﺎﻳﺪ ﮔﻔﺖ ﻛﻪ‪ :‬ﺑﺴﻴﺎر زﻳﺎد‪ ،‬زﻳﺮا دادهﻫﺎ و ﺟﺪاول در ﺣﺎﻓﻈﻪ‬ ‫ﺟﺎﻧﺒﻲ ﻗﺮار دارﻧﺪ‪ .‬در اﻳﻦ راﺳﺘﺎ ﻣﻤﻜﻦ اﺳﺖ ﺑﮕﻮﻳﻴﻢ ﻛﻪ ﻛﺎرﺑﺮ ﺑﺎﻳﺪ آﻧﻘﺪر ﺗﺒﻬﺮ داﺷﺘﻪ ﺑﺎﺷﺪ‬ ‫ﺗﺎ ﺑﺘﻮاﻧﺪ ﻋﺒﺎرت ﭘﺮﺳﻮ ﺟﻮي ﺧﻮد را ﺑﻬﻴﻨﻪ ﻧﻤﺎﻳﺪ‪ .‬وﻟﻲ آﻳﺎ واﻗﻌﺎ ﭼﻨﻴﻦ ﻛﺎري ﻣﻤﻜﻦ اﺳﺖ؟‬ ‫در ﭘﺎﺳﺦ ﺑﺎﻳﺪ ﮔﻔﺖ‪ :‬ﺧﻴﺮ‪ .‬زﻳﺮا‪:‬‬ ‫•‬

‫ﻛﺎرﺑﺮ ﻣﺘﺨﺼﺺ ﻧﻴﺴﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪147‬‬ ‫•‬

‫از ﺳﺎﻳﺮ ﺟﺪاول و ﭼﮕﻮﻧﮕﻲ آﻧﻬﺎ ﻣﻄﻠﻊ ﻧﻤﻲﺑﺎﺷﺪ‪.‬‬

‫•‬

‫اﻛﺜﺮﻳﺖ ﻛﺎرﺑﺮان از ﺳﺎﺧﺘﺎر و ﻣﻜﺎﻧﻴﺰم دروﻧﻲ ﭘﺎﻳﮕﺎهداده ﺑﻲ اﻃﻼع ﻫﺴﺘﻨﺪ‪.‬‬

‫ﭘﺲ ﺑﻬﺘﺮﻳﻦ راه ﺣﻞ اﻳﻦ اﺳﺖ ﻛﻪ ﺑﮕﻮﻳﻴﻢ‬

‫‪DBMS‬‬

‫ﺑﺎﻳﺪ‬

‫‪Quary‬‬

‫را ﺑﻬﻴﻨﻪ ﺳﺎزي ﻧﻤﺎﻳﺪ‪.‬‬

‫ﻃﺒﻴﻌﻲ اﺳﺖ ﻛﻪ ﺑﺎﻳﺪ ﻣﻜﺎﻧﻴﺰم ﻣﺸﺨﺼﻲ ﺑﺮاي اﻳﻨﻜﺎر وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬ﻫﺮﭼﻨﺪ ﻛﻪ‬ ‫ﺑﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮﺳﻮ ﺟﻮ در اﻳﻦ ﻛﺘﺎب ﻧﻤﻲ ﮔﻨﺠﺪ‪ ،‬وﻟﻲ ﺑﺮاي اراﺋﻪ ﻳﻚ ﺷﻤﺎي‬ ‫ﺳﺎده از اﻳﻦ ﻋﻤﻞ اﻟﮕﻮرﻳﺘﻢ ذﻳﻞ را )ﻛﻪ ﺑﺴﻴﺎر ﺳﺎده و ﻣﺨﺘﺼﺮ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه‬ ‫اﺳﺖ( اراﺋﻪ ﻣﻲﻧﻤﺎﻳﻴﻢ‪.‬‬

‫‪ 1-6‬ﺗﺒﺪﻳﻞ‬

‫‪Q‬‬

‫ﺑﻪ‬

‫‪o.Q‬‬

‫ﺑﺮاي ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ ﻻزم اﺳﺖ ﺗﺎ روﻳﻪ ﻣﺸﺨﺼﻲ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد‪ .‬در‬ ‫اداﻣﻪ ﻗﻮاﻋﺪ ﻣﺮﺑﻮط ﺑﻪ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ ﻣﻄﺮح ﺷﺪه اﺳﺖ‪:‬‬ ‫ﻗﺎﻋﺪه اول‪ Б :‬را ﻫﺮ ﭼﻪ ﺳﺮﻳﻌﺘﺮ )زودﺗﺮ( اﻧﺠﺎم دﻫﻴﻢ‪.‬‬ ‫ﻗﺎﻋﺪه دوم‪ :‬ﺷﺮﻃﻬﺎي ﺗﺮﻛﻴﺒﻲ را ﺑﻪ ﺷﺮﻃﻬﺎي ﺳﻮاﻟﻲ ﺗﺒﺪﻳﻞ ﻧﻤﺎﻳﻴﺪ )ﺷﺮﻃﻬﺎي داراي‬ ‫‪ OR ،AND‬و‪ ...‬را ﺗﺎ ﺣﺪ اﻣﻜﺎن ﺑﺸﻜﻨﻴﺪ(‪.‬‬ ‫)‪(R‬‬

‫‪Б‬‬

‫‪p2‬‬

‫‪Б‬‬ ‫‪p1‬‬

‫) ‪(R‬‬ ‫‪p2‬‬

‫‪Б‬‬ ‫∩‬

‫‪p1‬‬

‫ﻗﺎﻋﺪه ﺳﻮم‪ ∏ :‬را زودﺗﺮ اﻧﺠﺎم دﻫﻴﻢ )ﭘﺲ از ‪.(Б‬‬

‫‪ 2-6‬ﺳﺎﻳﺮ ﻗﻮاﻋﺪ و ﻋﻤﻠﮕﺮﻫﺎي ﺑﻬﻴﻨﻪ ﺳﺎزي‬ ‫ﻗﺎﻋﺪه اول‪:‬‬ ‫‪∞a‬‬

‫‪b‬‬

‫= ‪∞b‬‬

‫‪a‬‬

‫ﻗﺎﻋﺪه دوم‪:‬‬ ‫)‪∞ ( b ∞ c‬‬

‫‪a‬‬

‫= ‪(a ∞b) ∞ c‬‬

‫ﺗﻮﺟﻪ‪ :‬ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ ﻋﺒﺎرات اﻳﻦ دو ﻋﺒﺎرات ﻗﺎﻋﺪه از ﻟﺤﺎظ زﻣﺎن ﺑﺎ ﻫﻢ ﺑﺮاﺑﺮ‬ ‫ﻧﻴﺴﺘﻨﺪ‪.‬‬ ‫ﻣﺜﺎل‪ :‬ﻣﺸﺨﺼﺎت ﻛﺎﻣﻞ دروس و ﮔﺮوه ﻫﺎي درﺳﻲ آﻧﻬﺎ را ﺑﺪﺳﺖ آورﻳﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫در اﻳﻨﺠﺎ اﻳﻦ ﺳﺌﻮال ﻣﻄﺮح ﻣﻲ ﺷﻮد ﻛﻪ ﻛﺪام ﻳﻚ از دو ﻋﺒﺎرت زﻳﺮ ﺳﺮﻳﻌﺘﺮ ﭘﺎﺳﺦ‬ ‫ﻣﻲ دﻫﻨﺪ؟‬ ‫ﻳﺎ‬

‫‪sec‬‬

‫∞‬

‫‪crs‬‬

‫‪crs‬‬

‫∞‬

‫‪sec‬‬

‫اﻳﻦ دو دﺳﺘﻮر از ﻧﻈﺮ ﺳﺮﻋﺖ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺑﺴﻴﺎر ﻣﺘﻔﺎوﺗﻨﺪ‪ .‬زﻳﺮا ﺳﺎﻳﺰ دو ﺟﺪول‬ ‫ﻛﺎﻣﻼ ﻣﺘﻔﺎوت ﻣﻲﺑﺎﺷﺪ ﺟﺪول‬ ‫اﺳﺖ و ﺟﺪول‬

‫‪sec‬‬

‫‪crs‬‬

‫)ﻓﻘﻂ ﻣﺸﺨﺼﺎت درسﻫﺎ ﻣﻲﺑﺎﺷﺪ( ﻣﻌﻤﻮﻻً ﻛﻮﭼﻚ‬

‫ﺑﺴﻴﺎر ﺑﺰرﮔﺘﺮ از آن‪ ،‬زﻳﺮا ﻫﻢ ﮔﺮوﻫﻬﺎي ﻣﺨﺘﻠﻒ دروس را ﺷﺎﻣﻞ‬

‫ﻣﻲﺷﻮد و ﻫﻢ داﻧﺸﺠﻮﻳﺎن آﻧﻬﺎ را‪ .‬ﻓﺮض ﻛﻨﻴﺪ ﺟﺪول ‪ crs‬در ﺣﺎﻓﻈﻪ‬

‫‪cash‬‬

‫ﺟﺎ ﺑﮕﻴﺮد‪ ،‬در‬

‫اﻳﻦ ﺻﻮرت اﻟﮕﻮرﻳﺘﻢﻫﺎي دو راه ﺣﻞ ﺑﺎﻻ را ﺑﺮرﺳﻲ ﻣﻲﻛﻨﻴﻢ‪:‬‬ ‫‪crs ∞ sec‬‬

‫اﻟﮕﻮرﻳﺘﻢ )‪ :(1‬ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول‬

‫`‬

‫‪crs‬‬

‫ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول ‪` sec‬‬ ‫ﻣﻘﺎﻳﺴﻪ ﻛﻦ^‬ ‫اﻧﺘﺨﺎب ﻛﻦ ^‬ ‫در اﻟﮕﻮرﻳﺘﻢ ﻳﻚ ﺑﺎﻳﺪ ﺳﻄﺮﻫﺎي ﺑﺴﻴﺎر زﻳﺎد ﺟﺪول‬

‫‪sec‬‬

‫را ﺑﻪ دﻓﻌﺎت وارد ﺣﺎﻓﻈﻪ‬

‫اﺻﻠﻲ ﻛﻨﻴﻢ و ﻣﻘﺎﻳﺴﻪ و اﻧﺘﺨﺎب را اﻧﺠﺎم دﻫﻴﻢ ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﺗﻌﺪاد دﺳﺘﻴﺎﺑﻲ ﺑﻪ دﻳﺴﻚ‬ ‫)ﻣﻨﻈﻮر ﺣﺎﻓﻈﻪ ﺟﺎﻧﺒﻲ( ﺑﻪاﻧﺪازه ﺣﺎﺻﻠﻀﺮب ﺳﺎﻳﺰ دو ﺟﺪول اﺳﺖ‪.‬‬ ‫‪sec ∞ crs‬‬

‫اﻟﮕﻮرﻳﺘﻢ )‪ :(2‬ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول ‪` sec‬‬ ‫ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول ‪` crs‬‬ ‫ﻣﻘﺎﻳﺴﻪ ﻛﻦ ^‬ ‫اﻧﺘﺨﺎب ﻛﻦ ^‬ ‫در اﻟﮕﻮرﻳﺘﻢ دو‪ ،‬ﻫﺮ ﺳﻄﺮ ‪ sec‬را ﻓﻘﻂ ﻳﻜﺒﺎر ﺑﻪ ﺣﺎﻓﻈﻪ اﺻﻠﻲ ﻣﻲآورﻳﻢ زﻳﺮا ﺟﺪول‬ ‫‪ crs‬ﺑﻪ ﻃﻮر ﻛﺎﻣﻞ در ﺣﺎﻓﻈﻪ ‪ cash‬ﻗﺮار دارد و ﻫﻤﻪ ﻣﻘﺎﻳﺴﻪﻫﺎ ﻳﻜﺒﺎر اﻧﺠﺎم ﻣﻲﮔﻴﺮد و ﺗﻌﺪاد‬ ‫دﺳﺘﻴﺎﺑﻲ ﺑﻪ دﻳﺴﻚ ﺑﻪاﻧﺪازه ﺳﺎﻳﺰ ﺟﺪول‬

‫‪sec‬‬

‫اﺳﺖ‪ .‬ﺑﻄﻮر ﻣﺜﺎل اﮔﺮ ﺳﺎﻳﺰ ﺟﺪول‬

‫‪Ramin.Samad@yahoo.com‬‬

‫‪crs‬‬

‫را‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي ‪149‬‬

‫‪ 100‬و ﺟﺪول‬

‫‪sec‬‬

‫را ‪ 1001‬ﻓﺮض ﻛﻨﻴﻢ اﻟﮕﻮرﻳﺘﻢ اول ‪ 1000000‬ﺑﺎر ﺑﻴﺸﺘﺮ ﺑﻪ دﻳﺴﻚ‬

‫دﺳﺘﻴﺎﺑﻲ ﭘﻴﺪا ﻣﻲﻛﻨﺪ‪.‬‬

‫ﺗﻤﺮﻳﻨﺎت‬ ‫‪ .1‬ﭼﻪ اﻣﻜﺎﻧﺎﺗﻲ ﺑﺮاي اﻧﺠﺎم ﻋﻤﻠﻴﺎت در ﻣﺪل راﺑﻄﻪ اي وﺟﻮد دارﻧﺪ ؟‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ .2‬ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪ اي را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬ ‫‪ .3‬ﻋﻤﻠﮕﺮﻫﺎي ‪ Select‬و ‪ Project‬ﭼﻪ ﺗﻔﺎوﺗﻲ ﺑﺎ ﻳﻜﺪﻳﮕﺮ دارﻧﺪ ؟‬ ‫‪ .4‬ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ را ﺗﻮﺿﻴﺢ داده و ﺧﻮاص آﻧﺮا ﻧﺎم ﺑﺒﺮﻳﺪ؟‬ ‫‪ .5‬ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮ روي داده ﻫﺎ را ﻧﺎم ﺑﺒﺮﻳﺪ؟‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ ‪6‬‬ ‫‪! 01 7 1" 1 89‬‬

‫‪SQL‬‬

‫ﻫﺪف ﻛﻠﻲ‬ ‫در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﺎرﻳﺨﭽﻪ اي از زﺑﺎن‬

‫‪SQL‬‬

‫و دﻻﺋﻞ ﮔﺴﺘﺮدﮔﻲ آن اراﺋﻪ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬

‫ﺳﭙﺲ دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ ﻣﺎﻧﻨﺪ ﺗﻌﺮﻳﻒ ﺷﻤﺎ و ﺟﺪول و‪ ...‬ﻣﻄﺮح ﺷﺪه و در‬ ‫اداﻣﻪ دﺳﺘﻮرات ﻣﺮﺑﻮط ﺑﻪ ﭘﺮس وﺟﻮي دادهﻫﺎ ﺑﻴﺎن ﺧﻮاﻫﺪ ﺷﺪ‪ .‬ﭘﺲ از ﺗﻮﺿﻴﺢ اﻳﻦ‬ ‫ﮔﺮوه از دﺳﺘﻮرات‪ ،‬دﺳﺘﻮرات ﻛﺎر ﺑﺎ داده ﻫﺎ ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ‪.‬ﭘﺲ از آن‬ ‫ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺗﺮ ﻣﻄﺮح و در اﻳﻦ راﺳﺘﺎ ﻋﻤﻠﮕﺮﻫﺎي ﭘﻴﻮﻧﺪ و ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎي‬ ‫ﻣﺮﺗﺒﻂ ﺑﺎ ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺑﻴﺎن ﺧﻮاﻫﻨﺪ ﺷﺪ‪ .‬در ﭘﺎﻳﺎن ﻧﻴﺰ درﺑﺎزه دﺳﺘﻮرات ﻛﻨﺘﺮل‬ ‫ﻣﺠﻮزﻫﺎي دﺳﺘﺮﺳﻲ ﺻﺤﺒﺖ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬ ‫دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬ ‫•‬

‫ﻣﻘﺪﻣﻪ اي ﺑﺮ‬

‫•‬

‫دﻻﺋﻞ ﮔﺴﺘﺮدﮔﻲ‬

‫•‬

‫دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ‬

‫•‬

‫ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده‬

‫•‬

‫ﺗﻌﺮﻳﻒ ﺷﻤﺎ‬

‫•‬

‫ﺗﻌﺮﻳﻒ ﺟﺪول‬

‫•‬

‫دﺳﺘﻮرات ﭘﺮس و ﺟﻮ )ﻣﺸﺎﻫﺪه( دادهﻫﺎ‬

‫‪SQL‬‬ ‫‪SQL‬‬ ‫‪DDL‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪152‬‬

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

‫دﺳﺘﻮرات ﻛﺎر ﺑﺮ روي دادهﻫﺎ‬

‫•‬

‫ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺑﺎ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ‬

‫•‬

‫ﻋﻤﻠﮕﺮ ﮔﺮوه ﺑﻨﺪي‬

‫•‬

‫ﻋﻤﻠﮕﺮ ﻣﺮﺗﺐ ﺳﺎزي‬

‫•‬

‫ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ‬

‫•‬

‫اﺳﺘﻔﺎده از ﭘﺮس و ﺟﻮﻫﺎي ﺗﻮدرﺗﻮ‬

‫•‬

‫اﺳﺘﻔﺎده از زﻳﺮﭘﺮﺳﺶﻫﺎ )ﭘﺮﺳﺶﻫﺎي ﻓﺮﻋﻲ(‬

‫•‬

‫دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮز دﺳﺘﺮﺳﻲ‬

‫‪ - 1‬ﻣﻘﺪﻣﻪاي ﺑﺮ‬

‫‪SQL‬‬

‫ﻳﻚ زﺑﺎن راﺑﻄﻪ اي ﻗﺒﻞ از ﻫﺮ ﭼﻴﺰ ﺑﺎﻳﺪ ﺑﺘﻮاﻧﺪ در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ راﺑﻄﻪ ﻋﻤﻞ ﻧﻤﺎﻳﺪ و‬ ‫ﻃﺒﻴﻌﺘﺎ ﺑﺎﻳﺪ ﺑﺮ اﺳﺎس رﻳﺎﺿﻴﺎت راﺑﻄﻪ اي ﻣﺎﻧﻨﺪ ﺟﺒﺮ راﺑﻄﻪاي اﺳﺘﻮار ﺑﺎﺷﺪ‪ .‬در اﻳﻦ‬ ‫ﻓﺼﻞ زﺑﺎن‬

‫‪SQL‬‬

‫‪1‬‬

‫‪2‬‬

‫ﺑﻌﻨﻮان ﻳﻚ زﺑﺎن راﺑﻄﻪ اي اﺳﺘﺎﻧﺪارد ﺷﺪه و ﺷﺎﻳﺪ ﺑﻌﻨﻮان ﺑﻬﺘﺮﻳﻦ‬

‫زﺑﺎن راﺑﻄﻪ اي ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد‪.‬‬ ‫اوﻟﻴﻦ ﻧﺴﺨﻪ اﻳﻦ زﺑﺎن ﺑﻌﻨﻮان ﻗﺴﻤﺘﻲ از ﺳﻴﺴﺘﻢ‬ ‫ﺷﺮﻛﺖ‬

‫‪IBM‬‬

‫‪R‬‬

‫‪3‬‬

‫در اواﺧﺮ دﻫﻪ ‪ 1980‬ﺗﻮﺳﻂ‬

‫ﻃﺮاﺣﻲ ﺷﺪ‪ .‬از آﻧﺠﺎﺋﻴﻜﻪ ﭘﺲ از ﻣﺪﺗﻲ ﺷﺮﻛﺖﻫﺎ و اﺷﺨﺎص ﻣﺨﺘﻠﻒ ﻫﺮ‬

‫ﻛﺪام اﻗﺪام ﺑﻪاﻳﺠﺎد ﻳﻚ ﻧﺴﺨﻪ از زﺑﺎن‬

‫‪SQL‬‬

‫ﺑﺎ اﺳﺎﻣﻲﻣﺨﺘﻠﻒ ﻛﺮدﻧﺪ‪ ،‬ﻟﺬا در ﺳﺎل ‪1984‬‬

‫ﻣﻮﺳﺴﻪ اﺳﺘﺎﻧﺪاردﻫﺎي ﻣﻠﻲ آﻣﺮﻳﻜﺎ )‪ (ANSI‬و ﺳﺎزﻣﺎن اﺳﺘﺎﻧﺪاردﻫﺎي ﺑﻴﻦ اﻟﻤﻠﻠﻲ )‪(ISO‬‬ ‫ﻧﺴﺨﻪ اﺳﺘﺎﻧﺪارد زﺑﺎن‬

‫‪SQL‬‬

‫را اراﺋﻪ ﻛﺮدﻧﺪ و در ﺳﺎل ‪ 1987‬اوﻟﻴﻦ ﻧﺴﺨﻪ اﺳﺘﺎﻧﺪارد اﻳﻦ‬

‫زﺑﺎن ﺑﻨﺎم ‪ ANSI/ISO SQL-89‬را ﻛﻪ اﺻﻄﻼﺣﺎ ﺑﻪ آن ‪ SQL1‬ﻣﻲﮔﻔﺘﻨﺪ‪ ،‬اراﺋﻪ ﻛﺮدﻧﺪ‪ .‬ﭘﺲ از‬ ‫ﮔﺬﺷﺖ ﭼﻨﺪ ﺳﺎل و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻮﺳﻌﻪ ﺗﻮاﻧﺎﻳﻲﻫﺎ و اﻧﺘﻈﺎرات از اﻳﻦ زﺑﺎن‪ ،‬ﻧﺴﺨﻪ‬ ‫ﺑﻪ ﻧﺎم‬

‫‪SQL2‬‬

‫‪SQL-92‬‬

‫ﺗﻮﺳﻂ اﻳﻦ ﻣﻮﺳﺴﻪﻫﺎ اراﺋﻪ ﮔﺮدﻳﺪ‪ .‬ﺑﺎ ورود ﻣﻔﺎﻫﻴﻢ ﺷﻲء ﮔﺮاﻳﻲ ﺑﻪ ﻣﺤﻴﻂ‬

‫ﭘﺎﻳﮕﺎهﻫﺎي داده راﺑﻄﻪاي‪ ،‬زﺑﺎن‬

‫‪SQL-99‬‬

‫ﻛﻪ ﺑﻪ‬

‫‪SQL3‬‬

‫ﻣﻌﺮوف اﺳﺖ‪ ،‬ﺗﻮﺳﻂ ﻣﻮﺳﺴﻪﻫﺎي‬

‫ﻣﺬﻛﻮر اراﺋﻪ ﮔﺮدﻳﺪ‪ .‬اﻣﺮوزه ﻧﺴﺨﻪ ﺟﺪﻳﺪي از زﺑﺎن اﺳﺘﺎﻧﺪارد‬

‫‪SQL‬‬

‫ﺑﻨﺎم‬

‫‪SQL-2003‬‬

‫ﻧﻴﺰ‬

‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪153 SQL‬‬

‫اراﺋﻪ ﺷﺪه اﺳﺖ ﻛﻪ ﻫﻨﻮز در ﭘﺎﻳﮕﺎهﻫﺎي داده راﺑﻄﻪاي ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻧﮕﺮﻓﺘﻪ اﺳﺖ‪.‬‬ ‫ﻣﻔﺎﻫﻴﻢ اﺻﻠﻲ زﺑﺎن ‪ SQL‬در ﻛﻠﻴﻪ زﺑﺎنﻫﺎي ﻣﺬﻛﻮر ﻳﻜﺴﺎن ﻫﺴﺘﻨﺪ‪.‬‬

‫‪ - 2‬دﻻﻳﻞ ﮔﺴﺘﺮدﮔﻲ‬

‫‪SQL‬‬

‫ﺷﺮﻛﺖ ﻫﺎي ﻓﻌﺎل در زﻣﻴﻨﻪ ﭘﺎﻳﮕﺎهﻫﺎي داده راﺑﻄﻪ اي ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﻴﺎز ﺧﻮد اﻗﺪام ﺑﻪ‬ ‫ﻃﺮاﺣﻲ زﺑﺎﻧﻬﺎي راﺑﻄﻪ اي ﻛﺮده اﻧﺪ ﻛﻪ اﺻﻮﻻ ﻫﻤﮕﻲ از اﺳﺘﺎﻧﺪارد ﻫﺎي‬ ‫ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻲ ﻛﻨﻨﺪ‪ .‬اﻳﻦ زﺑﺎن ﻫﺎ ﻣﻔﺎﻫﻴﻢ زﺑﺎن‬

‫‪SQL‬‬

‫‪ANSI/ISO‬‬

‫را ﺑﺼﻮرت ﻛﺎﻣﻞ ﭘﺸﺘﻴﺒﺎﻧﻲ ﻛﺮده و‬

‫ﻋﻼوه ﺑﺮ آن دﺳﺘﻮرات دﻳﮕﺮي ﻧﻴﺰ ﺑﺮاي ﺳﺎﺧﺘﺎر ﺧﻮد دارﻧﺪ‪ .‬اﻣﺮوزه اﻛﺜﺮﻳﺖ‬ ‫ﭘﺎﻳﮕﺎه ﻫﺎي داده راﺑﻄﻪ اي زﺑﺎن‬

‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪154‬‬

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

‫دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮز دﺳﺘﺮﺳﻲ‬

‫•‬

‫دﺳﺘﻮرات ﻧﻮﺷﺘﻦ روﻳﻪﻫﺎ و ﺗﻮاﺑﻊ‬

‫•‬

‫دﺳﺘﻮرات ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ‬

‫•‬

‫دﺳﺘﻮرات ﻛﻨﺘﺮل ﺗﺮاﻛﻨﺶﻫﺎ‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﭼﻬﺎر دﺳﺘﻪ اول دﺳﺘﻮرات ذﻛﺮ ﺷﺪه ﺗﻘﺮﻳﺒﺎ در ﻫﻤﻪ ﭘﺎﻳﮕﺎه ﻫﺎي داده‬ ‫ﻣﻮﺟﻮد ﻣﻲ ﺑﺎﺷﺪ ﻟﺬا در اداﻣﻪ ﭼﻬﺎر ﺳﺮي دﺳﺘﻮرات اول را ﺑﻪ ﺗﻔﺼﻴﻞ ﻣﻮرد ﺑﺤﺚ و‬ ‫ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد‪ .‬ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده و ﻳﺎ زﺑﺎن ﻫﺎي ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ )ﻛﻪ‬ ‫زﺑﺎن‬

‫‪SQL‬‬

‫را درون ﺧﻮد دارﻧﺪ(‪ ،‬ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮرات ﻧﻮﺷﺘﻦ روﻳﻪﻫﺎ و ﺗﻮاﺑﻊ‪ ،‬ﻛﻨﺘﺮل‬

‫ﺟﺎﻣﻌﻴﺖ و ﻛﻨﺘﺮل ﺗﺮاﻛﻨﺶ ﻫﺎ را ﻳﺎ ﻧﺪارﻧﺪ و ﻳﺎ در اﺧﺘﻴﺎر ﻛﺎرﺑﺮ ﻗﺮار ﻧﻤﻲ دﻫﻨﺪ‪ .‬ﻟﺬا اﻳﻦ‬ ‫ﻧﻮع دﺳﺘﻮرات در اﻳﻦ ﻛﺘﺎب ﺗﻮﺿﻴﺢ داده ﻧﻤﻲ ﺷﻮﻧﺪ‪.‬‬

‫‪ - 3‬دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ‬

‫‪DDL‬‬

‫‪1‬‬ ‫‪2‬‬

‫اﻳﻦ دﺳﺘﻮرات در ﺣﺎﻟﺖ ﻛﻠﻲ ﺷﺎﻣﻞ ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده‪ ،‬ﺗﻌﺮﻳﻒ ﺷﻤﺎ ‪ ،‬ﺗﻌﺮﻳﻒ‬ ‫‪3‬‬

‫‪4‬‬

‫ﻛﺎرﺑﺮ و ﺗﻌﺮﻳﻒ ﺟﺪاول اﻃﻼﻋﺎﺗﻲ و دﻳﺪهﻫﺎ ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬

‫‪ 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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


WWW.IRANMEET.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))

Ramin.Samad@yahoo.com


‫‪WWW.IRANMEET.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‬اﺻﻼح ﺳﺎﺧﺘﺎر ﺟﺪول‬ ‫ﻳﻜﻲ از ﻣﻠﺰوﻣﺎت اﺳﺎﺳﻲ در ﻣﻮرد ﺟﺪاول‪ ،‬اﻣﻜﺎن اﺻﻼًح ﺳﺎﺧﺘﺎر ﺟﺪاول و ﺣﺬف و‬ ‫اﺿﺎﻓﻪ ﻛﺮدن ﺳﺘﻮﻧﻬﺎي ﻣﺮﺑﻮط ﺑﻪ آن ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ در ﻣﻮاﻗﻌﻲ ﻻزم ﻣﻲ ﺷﻮد‬ ‫ﺗﺎ ﺳﺘﻮﻧﻬﺎي ﺟﺪﻳﺪي )ﺻﻔﺎت ﺧﺎﺻﻪ( ﺑﻪ ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ ﻛﻪ از ﻗﺒﻞ ﻃﺮاﺣﻲ ﻛﺮده اﻳﻢ‬ ‫اﺿﺎﻓﻪ ﮔﺮدد ﻳﺎ ﺳﺘﻮن ﻫﺎﻳﻲ از ﺟﺪول ﻣﺬﻛﻮر ﺣﺬف ﮔﺮدد‪ .‬ﻫﻤﭽﻨﻴﻦ اﻳﻦ اﻣﻜﺎن ﻧﻴﺰ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد ﻟﻴﺴﺖ ﺗﻐﻴﻴﺮات ﻗﺎﺑﻞ اﻋﻤﺎل ﺑﺮ روي ﻳﻚ ﺟﺪول‬ ‫ﻋﺒﺎرﺗﻨﺪ از‪:‬‬ ‫•‬

‫اﻓﺰودن ﻳﻚ ﺳﺘﻮن ﺑﻪ ﺟﺪول‬

‫•‬

‫ﺣﺬف ﻳﻚ ﺳﺘﻮن از ﺟﺪول‬

‫•‬

‫اﻓﺰودن ﻳﻚ ﻣﺤﺪودﻳﺖ ﺑﻪ ﺟﺪول‬

‫•‬

‫ﺣﺬف ﻳﻚ ﻣﺤﺪودﻳﺖ از ﺟﺪول‬

‫•‬

‫اﻓﺰودن ﻣﻘﺪار اوﻟﻴﻪ ﺑﻪ ﻳﻚ ﺳﺘﻮن‬

‫•‬

‫ﺣﺬف ﻣﻘﺪار اوﻟﻴﻪ ﻳﻚ ﺳﺘﻮن‬

‫ﻣﻤﻜﻦ اﺳﺖ در اﻳﻨﺠﺎ اﻳﻦ ﺳﺌﻮال ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ ﭼﮕﻮﻧﻪ ﻣﻲ ﺗﻮان ﻧﻮع داده اي ﻳﻚ‬ ‫ﺳﺘﻮن را ﺗﻐﻴﻴﺮ داد‪ .‬در اﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ اﺷﺎره ﺷﻮد ﻛﻪ ﺗﻐﻴﻴﺮ ﻧﻮع داده اي‬ ‫ﻳﻚ ﺳﺘﻮن اﺳﺎﺳﺎً در ﺑﺴﻴﺎري از ﭘﺎﻳﮕﺎه ﻫﺎي داده در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻧﺸﺪه اﺳﺖ و اﻳﻦ ﻣﻬﻢ‬ ‫ﺑﻮاﺳﻄﻪ ﻧﻮع ﻗﺮار ﮔﺮﻓﺘﻦ ﻣﻘﺎدﻳﺮ ﻣﺮﺑﻮط ﺑﻪ ﺳﺘﻮن ﻫﺎ در ﻓﻀﺎي ﻓﻴﺰﻳﻜﻲ ﺣﺎﻓﻈﻪ ﻣﻲ ﺑﺎﺷﺪ‬ ‫ﺑﮕﻮﻧﻪ اﻳﻜﻪ ﺣﺘﻲ در ﺑﻌﻀﻲ ﭘﺎﻳﮕﺎه ﻫﺎي داده اﻣﻜﺎن ﺗﻐﻴﻴﺮ ﺗﺮﺗﻴﺐ ﺳﺘﻮنﻫﺎ در ﻳﻚ ﺟﺪول‬ ‫وﺟﻮد ﻧﺪارد‪ .‬اﻣﻜﺎن ﺗﻐﻴﻴﺮ ﻧﻮع داده ﻣﺮﺑﻮط ﺑﻪ ﻳﻚ ﺳﺘﻮن ﻓﻘﻂ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي‬ ‫داده و ﺑﺼﻮرت ﻣﻨﻄﻘﻲ ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ‪ .‬ﺣﺎل در اداﻣﻪ ﺑﻪ ﻣﻨﻈﻮر آﺷﻨﺎﻳﻲ ﺑﻬﺘﺮ ﺑﺎ اﻳﻦ‬ ‫ﻧﻮع دﺳﺘﻮر ﭼﻨﺪ ﻣﺜﺎل ﻣﺨﺘﻠﻒ را ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﻴﻢ‪ .‬ﻓﺮض ﻛﻨﻴﺪ ﻣﻲ ﺧﻮاﻫﻴﻢ ﺳﺘﻮﻧﻲ ﺑﻪ‬ ‫ﻧﺎم‬

‫‪fname‬‬

‫و از ﻧﻮع رﺷﺘﻪ اي را ﺑﻪ ﺟﺪوﻟﻲ ﺑﻪ ﻧﺎم‬

‫‪SalesPeople‬‬

‫‪ SQL‬ﻣﺮﺑﻮﻃﻪ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫اﺿﺎﻓﻪ ﻧﻤﺎﻳﻴﻢ‪ .‬ﻋﺒﺎرت‬


‫‪WWW.IRANMEET.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‬ﺣﺬف ﻳﻚ ﺟﺪول‬ ‫در ﻣﻮاردي ﻣﻤﻜﻦ اﺳﺖ ﻻزم ﺑﺎﺷﺪ ﻳﻚ ﺟﺪول از ﭘﺎﻳﮕﺎه داده ﺣﺬف ﮔﺮدد‪ .‬ﺑﺮاي اﻧﺠﺎم‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪159 SQL‬‬

‫اﻳﻨﻜﺎر دﺳﺘﻮر زﻳﺮ ﻣﻮﺟﻮد ﻣﻲﺑﺎﺷﺪ‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در ﻫﻨﮕﺎم ﺣﺬف ﻳﻚ ﺟﺪول‬ ‫ﺑﺎﻳﺪ ﺑﺮرﺳﻲ ﮔﺮدد ﻛﻪ ﭼﻨﺎﻧﭽﻪ ﺟﺪاول دﻳﮕﺮي ﺑﻪ اﻳﻦ ﺟﺪول ﻣﺮﺗﺒﻂ ﺑﺎﺷﻨﺪ‪ ،‬ﭼﻪ ﻋﻤﻠﻲ‬ ‫ﺑﺎﻳﺪ ﺑﺮروي ﺟﺪاول ﻣﺮﺗﺒﻂ اﻧﺠﺎم ﮔﻴﺮد و آﻳﺎ اﺳﺎﺳﺎً اﻣﻜﺎن ﺣﺬف ﺟﺪول وﺟﻮد دارد ﻳﺎ‬ ‫ﺧﻴﺮ‪ .‬ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬ ‫;] ‪DROP TABLE tablename [ RESTRICT | CASCADE‬‬

‫‪ -4‬دﺳﺘﻮرات ﭘﺮس و ﺟﻮ )ﻣﺸﺎﻫﺪه( دادهﻫﺎ‬ ‫ﻳﻜﻲ از ﻣﻬﻤﺘﺮﻳﻦ ﺧﻮاﺳﺘﻪ ﻫﺎي ﻛﺎرﺑﺮان ﻫﺮ ﭘﺎﻳﮕﺎهداده‪ ،‬اﻣﻜﺎن ﺑﺎزﻳﺎﺑﻲ داده ﻫﺎي ﺛﺒﺖ‬ ‫ﺷﺪه در ﺟﺪاول ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﻪ اﻳﻦ ﻣﻨﻈﻮر دﺳﺘﻮراﺗﻲ اراﺋﻪ ﺷﺪه اﻧﺪ ﻛﻪ اﻣﻜﺎن ﺑﺎزﻳﺎﺑﻲ‬ ‫ﺳﻄﺮﻫﺎ ﻳﺎ ﺳﺘﻮن ﻫﺎﻳﻲ از ﻳﻚ ﺟﺪول و ﻳﺎ ﭼﻨﺪ ﺟﺪول اﻃﻼﻋﺎﺗﻲ را ﻓﺮاﻫﻢ ﻣﻲآورﻧﺪ ﻛﻪ‬ ‫‪1‬‬

‫ﺑﻪ آﻧﻬﺎ اﺻﻄﻼﺣﺎ زﺑﺎن ﭘﺮس و ﺟﻮي داده ﻫﺎ ﻣﻲ ﮔﻮﻳﻨﺪ‪ .‬ﻣﻬﻤﺘﺮﻳﻦ دﺳﺘﻮر از اﻳﻦ ﻧﻮع‬ ‫دﺳﺘﻮرات دﺳﺘﻮر‬ ‫زﺑﺎن‬

‫‪SQL‬‬

‫‪SELECT‬‬

‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬اﻳﻦ دﺳﺘﻮر ﻳﻜﻲ از ﭘﻴﭽﻴﺪه ﺗﺮﻳﻦ دﺳﺘﻮرات در‬

‫ﻣﻲ ﺑﺎﺷﺪ و ﺧﻮد ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﺷﺎﻣﻞ دﺳﺘﻮرات ﻣﺘﻨﻮﻋﻲ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺷﻜﻞ ﻛﻠﻲ‬

‫دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬ ‫]‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪160‬‬

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

‫راﺣﺘﻲ ﺑﻴﺸﺘﺮ ﺧﻮاﻧﻨﺪﮔﺎن‪ ،‬ﺳﻌﻲ ﻣﻲﻛﻨﻴﻢ در اﺑﺘﺪا ﻣﺜﺎﻟﻬﺎي ﺳﺎده ﺗﺮ در ﻣﻮرد اﻳﻦ دﺳﺘﻮر را‬ ‫ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار دﻫﻴﻢ و در اداﻣﻪ ﻫﻤﻴﻦ ﻓﺼﻞ در ﺧﺼﻮص ﺣﺎﻻت ﭘﻴﭽﻴﺪه ﺗﺮ اﻳﻦ‬ ‫دﺳﺘﻮر و ﻃﺮﻳﻘﻪ ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎ از ﭼﻨﺪﻳﻦ ﺟﺪول اﻃﻼﻋﺎﺗﻲ را ﺷﺮح ﺧﻮاﻫﻴﻢ داد‪ .‬ﺣﺎﻟﺖ‬ ‫ﺳﺎده ﺷﺪه دﺳﺘﻮر ﻣﺬﻛﻮر ﺑﺼﻮرت زﻳﺮ ﻗﺎﺑﻞ ﻧﻤﺎﻳﺶ اﺳﺖ ﻛﻪ ﺑﻪ آن اﺻﻄﻼﺣﺎ‬

‫‪SFW‬‬

‫ﻧﻴﺰ‬

‫ﻣﻲﮔﻮﻳﻨﺪ ﻛﻪ ﺣﺮوف اول ﻫﺮ ﻗﺴﻤﺖ ﻣﻲﺑﺎﺷﺪ‪.‬‬ ‫… ‪SELECT column name ,‬‬ ‫‪FROM table name‬‬ ‫‪WHERE criteria‬‬

‫ﻛﻪ در آن‬

‫‪column name‬‬

‫ﻧﺎم ﺳﺘﻮن ﻫﺎ‪،‬‬

‫‪table name‬‬

‫ﻧﺎم ﺟﺪول و‬

‫‪criteria‬‬

‫ﺷﺮط ﻣﻮرد‬

‫ﻧﻈﺮ ﺑﺮاي اﻧﺘﺨﺎب و ﺑﺎزﻳﺎﺑﻲ رﻛﻮردﻫﺎ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬ ‫در ﺣﺎﻟﺖ ﺑﺴﻴﺎر ﺳﺎده ﻣﻲﺗﻮان ﻓﺮض ﻛﺮد ﻛﻪ ﻣﻲﺧﻮاﻫﻴﻢ رﻛﻮردﻫﺎي ﻳﻚ ﺟﺪول‬ ‫)ﻣﺜﻼ ﺟﺪول اﻃﻼﻋﺎت ﭘﺮﺳﻨﻠﻲ ‪ (EMP‬را ﺑﺎزﻳﺎﺑﻲ ﻧﻤﺎﻳﻴﻢ‪ .‬ﻓﺮض ﻛﻨﻴﻢ ﺟﺪول ‪ EMP‬داراي‬ ‫ﺳﺎﺧﺘﺎر زﻳﺮ ﺑﺎﺷﺪ و ﺑﻐﻴﺮ از ﺻﻔﺖ ﺧﺎﺻﻪ‬

‫‪EMPNO‬‬

‫ﻛﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ﻣﻲﺑﺎﺷﺪ ﺳﺎﻳﺮ ﻣﻘﺎدﻳﺮ‬

‫ﻣﻲﺗﻮاﻧﻨﺪ ﻣﻘﺪار ‪ NULL‬را ﺑﭙﺬﻳﺮﻧﺪ‪:‬‬ ‫ﻧﺎم ﺻﻔﺖ ﺧﺎﺻﻪ‬

‫‪Name‬‬

‫ﺷﻤﺎره ﭘﺮﺳﻨﻠﻲ‬

‫‪EMPNO‬‬

‫ﻧﺎم ﭘﺮﺳﻨﻞ‬

‫‪ENAME‬‬

‫ﺷﻐﻞ‬

‫‪JOB‬‬

‫ﺷﻤﺎره ﻣﺪﻳﺮ‬ ‫ﺗﺎرﻳﺦ اﺳﺘﺨﺪام‬

‫‪MGR‬‬ ‫‪HIREDATE‬‬

‫در ﻋﺒﺎرت ذﻳﻞ ﻣﻲﺧﻮاﻫﻴﻢ ﻛﻠﻴﻪ رﻛﻮردﻫﺎي ﺟﺪول را ﺑﺎزﻳﺎﺑﻲ ﻧﻤﺎﻳﻴﻢ‪ .‬ﻋﺒﺎرت ﻣﻮرد‬ ‫ﻧﻈﺮ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ‪:‬‬ ‫* ‪Select‬‬ ‫;‪From EMP‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﻋﺒﺎرت ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد ﻋﻼﻣﺖ‬

‫*‬

‫ﺑﻪ ﻣﻌﻨﺎي اﻧﺘﺨﺎﺑﻲ‬

‫ﺗﻤﺎﻣﻲ ﺳﺘﻮن ﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺳﻄﺮﻫﺎ ﻣﻲ ﺑﺎﺷﺪ‪ .‬اﻳﻦ دﺳﺘﻮر ﻣﻲ ﺗﻮاﻧﺪ ﺑﻪ ﺷﺮح ذﻳﻞ ﻧﻴﺰ‬ ‫ﺑﺎﺷﺪ‪:‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪161 SQL‬‬ ‫*‪Select EMP.‬‬ ‫; ‪From EMP‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﮔﺮدد در اﻳﻦ دﺳﺘﻮر ﻗﺒﻞ از اﺳﺘﻔﺎده از ﻋﻼﻣﺖ *‪ ،‬ﻧﺎم‬ ‫ﺟﺪول ﻧﻴﺰ ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ ﻛﻪ در اﻳﻦ ﻣﻮرد ﺑﻌﺪا ﺗﻮﺿﻴﺢ ﺧﻮاﻫﻴﻢ داد‪ .‬ﺣﺎل در اداﻣﻪ‬ ‫ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ ﻓﻘﻂ ﺳﺘﻮنﻫﺎي ﺷﻤﺎره ﭘﺮﺳﻨﻠﻲ و ﻧﺎم ﭘﺮﺳﻨﻞ را ﺑﺮاي ﺗﻤﺎﻣﻲﭘﺮﺳﻨﻞ‬ ‫ﺑﺎزﻳﺎﺑﻲ ﻧﻤﺎﻳﻴﻢ‪ .‬ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ‪:‬‬ ‫‪Select empno , ename‬‬ ‫; ‪From EMP‬‬

‫ﻣﻲﺗﻮاﻧﺴﺘﻴﻢ ﻗﺒﻞ از اﺳﺎﻣﻲﺳﺘﻮﻧﻬﺎ‪ ،‬ﻧﺎم ﺟﺪول را ﻧﻴﺰ ﺑﻜﺎر ﺑﺒﺮﻳﻢ ﻛﻪ از اﻳﻦ ﻛﺎر‬ ‫اﺟﺘﻨﺎب ﻛﺮدﻳﻢ‪ .‬ﺣﺎل ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ ﺑﺪاﻧﻴﻢ ﻛﻪ اﮔﺮ ﺣﻘﻮق ﻫﺮ ﻳﻚ از ﭘﺮﺳﻨﻞ را‬ ‫‪ %10‬اﻓﺰاﻳﺶ دﻫﻴﻢ ﭼﻪ ﻣﻴﺰاﻧﻲ ﺣﻘﻮق ﺑﺮاي ﻫﺮ ﻳﻚ از ﭘﺮﺳﻨﻞ ﺧﻮاﻫﻴﻢ داﺷﺖ‪ .‬ﻋﺒﺎرت‬ ‫ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬ ‫‪Select empno,ename,sall * 0.1‬‬ ‫;‪From emp‬‬

‫ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﻋﺒﺎرت را واﺿﺢ ﺗﺮ ﺑﻴﺎن ﻛﻨﻴﻢ ﻻزم اﺳﺖ ﻛﻪ ﺑﺮاي ﻋﺒﺎرت‬ ‫‪0.1‬‬

‫ﻳﻚ ﻧﺎم ﻣﺴﺘﻌﺎر ﻣﺎﻧﻨﺪ‬

‫‪NEWSALL‬‬

‫* ‪sall‬‬

‫در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ ﻛﻪ ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ‬

‫ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬ ‫‪Select empno,ename,sall * 0.1 as newsall‬‬ ‫;‪From emp‬‬

‫ﺣﺎل ﺑﺮاي ﻣﺸﺨﺺ ﺷﺪن ﻋﺒﺎرت‬

‫‪WHERE‬‬

‫)ﺑﻴﺎن ﻛﻨﻨﺪه ﺷﺮط( ﻣﺜﺎل دﻳﮕﺮي را‬

‫ﻣﻄﺮح ﻣﻲﻛﻨﻴﻢ‪ .‬ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ اﻃﻼﻋﺎت ﻛﺴﺎﻧﻲ را ﻣﺸﺎﻫﺪه ﻛﻨﻴﻢ ﻛﻪ ﻣﻴﺰان ﺣﻘﻮق‬ ‫آﻧﻬﺎ از ‪ 10000‬ﺗﻮﻣﺎن ﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ‪ .‬ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪.‬‬ ‫* ‪SELECT‬‬ ‫‪FROM emp‬‬ ‫; ‪WHERE sall > 10000‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪162‬‬

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

‫در اﻳﻦ ﻋﺒﺎرت ﺟﻠﻮي ﻛﻠﻤﻪ‬

‫‪WHERE‬‬

‫ﻋﺒﺎرت ﺷﺮط ﻣﻄﺮح ﺷﺪه اﺳﺖ‪ .‬ﭼﻨﺎﻧﭽﻪ‬

‫ﺻﺮﻓﺎ ﺑﻌﻀﻲ از ﺻﻔﺎت ﺧﺎﺻﻪ ﻣﻄﺮح ﺑﺎﺷﻨﺪ ﻣﻲﺗﻮان ﺑﺠﺎي اﺳﺘﻔﺎده از ﻋﻼﻣﺖ *‪،‬‬ ‫اﺳﺎﻣﻲﺳﺘﻮﻧﻬﺎ )ﺻﻔﺎت ﺧﺎﺻﻪ( را ﻧﻮﺷﺖ‪.‬‬ ‫ﻳﻜﻲ از ﻧﻜﺎت ﺑﺴﺎﻳﺮ ﻣﻬﻢ اﻳﻦ اﺳﺖ ﻛﻪ ﻻزم اﺳﺖ ﺗﺮﺗﻴﺐ ﺳﻪ ﻛﻠﻤﻪ‬ ‫‪FROM‬‬

‫و‬

‫‪WHERE‬‬

‫‪SELECT‬‬

‫و‬

‫رﻋﺎﻳﺖ ﺷﻮد‪ .‬ﭼﻨﺎﻧﭽﻪ ﺗﺮﺗﻴﺐ ﻣﺬﻛﻮر رﻋﺎﺑﺖ ﻧﮕﺮدد ﺳﻴﺴﺘﻢ ﺑﺎ ﭘﻴﻐﺎم‬

‫ﺧﻄﺎ ﻣﻮاﺟﻬﻪ ﻣﻲﮔﺮدد‪ .‬ﻫﻤﭽﻨﻴﻦ ﻣﻲﺗﻮان در ﻋﺒﺎرات‪ ،‬ﻛﻠﻤﻪ ‪ 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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪163 SQL‬‬

‫ﻫﺮ ﻳﻚ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ‪.‬‬

‫‪ 1-5‬دﺳﺘﻮر‬

‫‪INSERT‬‬

‫اﻳﻦ دﺳﺘﻮر ﺑﻪ ﻣﻨﻈﻮر وارد ﻛﺮدن )اﻓﺰودن( رﻛﻮرد ﻳﺎ رﻛﻮردﻫﺎﻳﻲ ﺑﻪ ﻳﻚ ﺟﺪول‬ ‫ﺗﻌﺮﻳﻒ ﺷﺪه اﺳﺖ‪ .‬ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬ ‫‪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‬را داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪ ،‬ﻻزم اﺳﺖ ﻣﻘﺪاري در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد‪ ،‬در‬ ‫ﻏﻴﺮ اﻳﻨﺼﻮرت اﻣﻜﺎن اﻓﺰودن رﻛﻮرد ﺟﺪﻳﺪ وﺟﻮد ﻧﺪارد‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪164‬‬

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

‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺗﺮﺗﻴﺐ وارد ﻛﺮدن ﻣﻘﺎدﻳﺮ ﺑﻪ ﺗﺮﺗﻴﺐ ﺗﻌﺮﻳﻒ ﺳﺘﻮﻧﻬﺎ ﻓﺮض‬ ‫ﺷﺪه اﺳﺖ‪ .‬ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﺗﺮﺗﻴﺐ ورود ﻣﻘﺎدﻳﺮ ﺑﺮاي ﺳﺘﻮﻧﻬﺎ را ﺗﻐﻴﻴﺮ دﻫﻴﻢ و ﻳﺎ اﻳﻨﻜﻪ‬ ‫ﺻﺮﻓﺎ ﺑﺨﻮاﻫﻴﻢ ﺑﺠﺎي ﻗﺮار دادن ﻣﻘﺪار ‪ NULL‬ﺑﺮاي ﻳﻚ ﺳﺘﻮن‪ ،‬اﺻﻼً ﻧﺎم آن ﺳﺘﻮن را ﺑﻜﺎر‬ ‫ﻧﺒﺮﻳﻢ‪ ،‬ﻻزم اﺳﺖ ﻧﺎم ﺳﺘﻮﻧﻬﺎ ﺑﻪ ﺗﺮﺗﻴﺐ ﻣﻮرد ﻧﻈﺮ در ﺟﻠﻮي ﻧﺎم ﺟﺪول وارد ﺷﺪه و ﺳﭙﺲ‬ ‫ﺑﻪ ﻫﻤﺎن ﺗﺮﺗﻴﺐ‪ ،‬ﻣﻘﺎدﻳﺮ ﻣﺮﺗﺒﻂ وارد ﺷﻮﻧﺪ‪ .‬ﺑﺮاي ﺗﻮﺿﻴﺢ ﺑﻴﺸﺘﺮ ﻓﺮض ﻛﻨﻴﻢ ﺟﺪوﻟﻲ ﺑﻨﺎم‬ ‫‪Customers‬‬

‫دارﻳﻢ ﻛﻪ ﻓﻘﻂ ﻣﻲﺧﻮاﻫﻴﻢ در ﺳﺘﻮنﻫﺎي‬

‫‪city‬‬

‫و‬

‫‪cname‬‬

‫و‬

‫‪cnum‬‬

‫آن ﺟﺪول‬

‫ﻣﻘﺎدﻳﺮي را وارد ﻧﻤﺎﻳﻴﻢ‪ .‬ﺑﻪ ﻋﺒﺎرت ذﻳﻞ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬ ‫)‪INSERT INTO Customers (city, cname, cnum‬‬ ‫;)‪VALUES ('London','Hoffman', 2001‬‬

‫ﺗﺎ اﻳﻦ ﻣﺮﺣﻠﻪ ﺻﺮﻓﺎ ﻳﻚ رﻛﻮرد ﺑﻪ ﺟﺪول وارد ﺷﺪه اﺳﺖ‪ .‬ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ‬ ‫ﺗﻌﺪادي رﻛﻮرد را از ﺟﺪول دﻳﮕﺮي اﻧﺘﺨﺎب و ﺑﻪ ﺟﺪول ﻣﺬﻛﻮر وارد ﻧﻤﺎﻳﻴﻢ‪ ،‬ﺑﺠﺎي‬ ‫اﺳﺘﻔﺎده از ﻛﻠﻤﻪ ‪ ،Values‬ﻻزم اﺳﺖ ﺗﺎ ﻳﻚ ﻋﺒﺎرت‬

‫‪Select‬‬

‫را وارد ﻧﻤﺎﻳﻴﻢ‪ .‬ﺑﺮاي روﺷﻦ‬

‫ﺷﺪن اﻳﻦ ﻣﻄﻠﺐ ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬ ‫‪INSERT INTO LondonStaff‬‬ ‫* ‪SELECT‬‬ ‫‪FROM salespeople‬‬ ‫;'‪Where city = 'London‬‬

‫ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺻﺮﻓﺎ دو ﺳﺘﻮن ﺑﻨﺎمﻫﺎي‬

‫‪FDate‬‬

‫و‬

‫‪Total‬‬

‫از ﺟﺪوﻟﻲ‬

‫ﺑﻨﺎم ‪ DayTotals‬را ﺑﺎ ﻣﻘﺎدﻳﺮ اﻧﺘﺨﺎب ﺷﺪه از ﺟﺪول دﻳﮕﺮي ﭘﺮ ﻛﻨﻴﻢ‪ .‬ﻣﺜﺎل زﻳﺮ ﺑﻴﺎﻧﮕﺮ اﻳﻦ‬ ‫ﻣﻄﻠﺐ ﻣﻲﺑﺎﺷﺪ‪:‬‬ ‫)‪Insert Into daytotals (fdate,total‬‬ ‫‪Select odate,income‬‬ ‫; ‪From orders‬‬

‫ﻧﻜﺘﻪ ﺑﺴﻴﺎر ﻣﻬﻢ در ﻧﻮﺷﺘﻦ اﻳﻦ ﻋﺒﺎرت اﻳﻦ اﺳﺖ ﻛﻪ ﺗﻌﺪاد ﺳﺘﻮﻧﻬﺎي اﻧﺘﺨﺎب ﺷﺪه در‬ ‫ﻋﺒﺎرت ‪ Select‬ﺑﺎﻳﺪ ﺑﺮاﺑﺮ ﺑﺎ ﺗﻌﺪاد ﺳﺘﻮن ﻫﺎي ﺟﺪول اﺻﻠﻲ ﺑﺎﺷﺪ‪.‬‬

‫‪ 2-5‬دﺳﺘﻮر‬

‫‪UPDATE‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﻫﺮ ﻳﻚ از ﺻﻔﺎت ﺧﺎﺻﻪ ﺑﺎ ﻳﻚ ﻛﺎﻣﺎ از دﻳﮕﺮي ﺟﺪا‬ ‫ﺷﺪه اﺳﺖ‪ .‬ﺗﺎ اﻳﻦ ﻗﺴﻤﺖ از ﻛﺎر ﻣﻌﻤﻮﻻً ﻣﻘﺪار ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ را ﺗﻐﻴﻴﺮ دادهاﻳﻢ‪ .‬وﻟﻲ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪166‬‬

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

‫اﻳﻦ اﻣﻜﺎن ﻧﻴﺰ وﺟﻮد دارد ﻛﻪ ﻣﻘﺪار ﺟﺪﻳﺪ‪ ،‬ﻋﺒﺎرﺗﻲ ﺷﺎﻣﻞ ﺻﻔﺎت ﺧﺎﺻﻪ ﻧﻴﺰ ﺑﺎﺷﺪ‪ .‬ﺑﺮاي‬ ‫ﻣﺜﺎل ﻣﻤﻜﻦ اﺳﺖ ﺑﺨﻮاﻫﻴﻢ ﻣﻘﺪار ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ را دو ﺑﺮاﺑﺮ ﻛﻨﻴﻢ‪.‬‬ ‫‪Update salespeople‬‬ ‫;‪SET comm = comm * 2‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﺷﻮد ﻣﻘﺪار ﺟﺪﻳﺪ در واﻗﻊ از ﭘﺮدازش ﺑﺮ روي ﻣﻘﺪار ﻗﺒﻠﻲ‬ ‫ﻫﻤﺎن ﺻﻔﺖ ﺧﺎﺻﻪ ﺑﺪﺳﺖ آﻣﺪه اﺳﺖ‪ .‬اﻳﻦ اﻣﻜﺎن وﺟﻮد دارد ﻛﻪ از ﻣﻘﺎدﻳﺮ ﺳﺎﻳﺮ ﺻﻔﺎت‬ ‫ﺧﺎﺻﻪ ﻧﻴﺰ اﺳﺘﻔﺎده ﺷﻮد‪ .‬ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﻣﻘﺪار ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ را ﺗﺒﺪﻳﻞ‬ ‫ﺑﻪ ‪) NULL‬ﻣﻘﺪار ﻫﻴﭻ( ﻧﻤﺎﻳﻴﻢ‪ .‬ﻋﺒﺎرت زﻳﺮ ﻃﺮﻳﻘﻪ اﻧﺠﺎم اﻳﻦ ﻛﺎر را ﻧﺸﺎن ﻣﻲدﻫﺪ‪.‬‬ ‫‪UPDATE customers‬‬ ‫‪SET rating = NULL‬‬ ‫;'‪WHERE city = 'London‬‬

‫ﻋﻤﻞ ﺗﺒﺪﻳﻞ ﻳﻚ ﻣﻘﺪار ﺑﻪ‬

‫‪NULL‬‬

‫در واﻗﻊ ﺣﺬف ﻣﻘﺪار ﻳﻚ ﺳﺘﻮن از رﻛﻮرد‬

‫ﻣﻲﺑﺎﺷﺪ ﻛﻪ در اﻳﻨﺠﺎ ﺑﻪ آن ﺑﺮوز رﺳﺎﻧﻲ ﻣﻲﮔﻮﻳﻴﻢ‪ .‬ﻣﻔﻬﻮم ﺣﺬف ﻳﻚ ﻣﻘﺪار از ﻳﻚ ﺳﺘﻮن‬ ‫ﺑﺎ ﻣﻔﻬﻮم ﺣﺬف ﻳﻚ رﻛﻮرد )ﺳﻄﺮ( ﻣﺘﻔﺎوت ﻣﻲﺑﺎﺷﺪ‪ .‬در اداﻣﻪ دﺳﺘﻮر ‪ DELETE‬را ﺟﻬﺖ‬ ‫ﺣﺬف رﻛﻮردﻫﺎ ﺗﻮﺿﻴﺢ ﺧﻮاﻫﻴﻢ داد‪.‬‬

‫‪ 3-5‬دﺳﺘﻮر‬

‫‪DELETE‬‬

‫ﻣﻤﻜﻦ اﺳﺖ در ﻣﻮاﻗﻌﻲ ﻛﺎرﺑﺮان ﺑﺨﻮاﻫﻨﺪ رﻛﻮرد )ﻫﺎﻳﻲ( را از ﺟﺪول اﻃﻼﻋﺎﺗﻲ ﺣﺬف‬ ‫ﻧﻤﺎﻳﻨﺪ‪ .‬در واﻗﻊ ﻛﻞ اﻃﻼﻋﺎت ﻳﻚ رﻛﻮرد )و ﻧﻪ ﻓﻘﻂ ﺑﻌﻀﻲ ﺳﺘﻮن ﻫﺎ( ﺣﺬف ﺧﻮاﻫﺪ‬ ‫ﺷﺪ‪ .‬ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر دﺳﺘﻮر‬

‫‪DELETE‬‬

‫ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ‪ .‬ﺷﻤﺎي ﻛﻠﻲ اﻳﻦ دﺳﺘﻮر در‬

‫زﻳﺮ آﻣﺪه اﺳﺖ‪:‬‬ ‫‪DELETE FROM table name‬‬ ‫; } ‪{ WHERE predicate‬‬

‫ﺑﺮاي درك ﺑﻬﺘﺮ دﺳﺘﻮر‪ ،‬ﻣﺜﺎﻟﻬﺎﻳﻲ در ذﻳﻞ آﻣﺪه اﺳﺖ‪ .‬در اﺑﺘﺪا ﻻزم ﺑﺬﻛﺮ اﺳﺖ‬ ‫ﭼﻨﺎﻧﭽﻪ در ﻫﻨﮕﺎم اﺳﺘﻔﺎده از دﺳﺘﻮر ‪ ،DELETE‬ﺷﺮﻃﻲ آورده ﻧﺸﻮد ﺑﺪﻳﻦ ﻣﻌﻨﺎ اﺳﺖ ﻛﻪ‬ ‫ﻛﻠﻴﻪ اﻃﻼﻋﺎت ﻣﻮﺟﻮد در آن ﺟﺪول ﺣﺬف ﺷﻮد‪ .‬ﺑﺮاي ﻣﺜﺎل دﺳﺘﻮر ذﻳﻞ ﺑﻴﺎﻧﮕﺮ ﺣﺬف‬ ‫ﻛﻠﻴﻪ رﻛﻮردﻫﺎي ﻣﻮﺟﻮد در ﺟﺪول ‪ Customers‬ﻣﻲﺑﺎﺷﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪167 SQL‬‬

‫;‪DELETE FROM customers‬‬

‫ﺣﺎل در ﻣﺜﺎﻟﻲ دﻳﮕﺮ ﻳﻚ ﻋﺒﺎرت ﺷﺮﻃﻲ ﺟﻬﺖ ﺗﻌﻴﻴﻦ رﻛﻮردﻫﺎي ﻣﻮرد ﻧﻈﺮ ﺟﻬﺖ‬ ‫ﺣﺬف ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪.‬‬ ‫‪DELETE FROM salespeople‬‬ ‫;‪WHERE snum = 1003‬‬

‫ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﻋﺒﺎرت ﺷﺮط ﻣﻲﺗﻮاﻧﺪ ﻳﻚ ﻳﺎ ﺗﻌﺪادي از رﻛﻮردﻫﺎ را در‬ ‫ﺑﺮﮔﻴﺮد‪ .‬ﺑﺎ اﻳﻦ وﺻﻒ دﺳﺘﻮر‬

‫ﺗﻮاﻧﺎﻳﻲ ﺣﺬف ﻳﻚ ﻳﺎ ﭼﻨﺪ رﻛﻮرد ﻳﺎ‬

‫‪DELETE‬‬

‫ﺗﻤﺎﻣﻲرﻛﻮردﻫﺎي ﻳﻚ ﺟﺪول را دارد‪.‬‬

‫‪ -6‬ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺑﺎ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ‬

‫‪1‬‬

‫ﺗﺎ ﺑﺤﺎل ﻛﻠﻴﻪ ﻣﺜﺎل ﻫﺎي اراﺋﻪ ﺷﺪه در اﻳﻦ ﻓﺼﻞ ﺑﺮ اﺳﺎس ﻳﻚ ﺟﺪول ﻃﺮاﺣﻲ ﺷﺪه‬ ‫ﺑﻮدﻧﺪ‪ .‬ﻳﻜﻲ از اﻧﺘﻈﺎرات ﺑﺴﻴﺎر ﻣﻬﻢ ﻛﺎرﺑﺮان ﻳﻚ ﭘﺎﻳﮕﺎهداده‪ ،‬اﻣﻜﺎن ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت‬ ‫از ﺟﺪاول ﻣﺮﺗﺒﻂ ﺑﺎ ﻫﻢ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﻪ اﻳﻦ ﻣﻨﻈﻮر ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺑﻴﻦ ﺟﺪاول در زﺑﺎن‬ ‫‪SQL‬‬

‫در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ‪ .‬اﻳﻦ ﻋﻤﻠﮕﺮ در واﻗﻊ ﺟﺰﺋﻲ از دﺳﺘﻮر‬

‫‪SELECT‬‬

‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬در واﻗﻊ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺑﺎﻋﺚ اﻳﺠﺎد ارﺗﺒﺎط ﺑﻴﻦ ﺟﺪاول ﺑﺮ اﺳﺎس ﻛﻠﻴﺪ اﺻﻠﻲ‬ ‫و ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﻴﻦ آﻧﻬﺎ ﻣﻲﺑﺎﺷﺪ‪ .‬اﻟﺒﺘﻪ در ﻣﻮاردي ﻧﻴﺰ ﻣﻤﻜﻦ اﺳﺖ ﻛﻪ ارﺗﺒﺎط ﺑﻴﻦ‬ ‫ﺟﺪاول ﺑﺮ اﺳﺎس ﻳﻚ ﻋﺒﺎرت ﺧﺎص ﻳﺎ ﻳﻚ ﺗﺮﻛﻴﺐ ﺷﺮﻃﻲ ﺑﺎﺷﺪ‪ .‬در ﺣﺎﻟﺖ ﻛﻠﻲ‬ ‫ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺑﻪ دو ﺻﻮرت ﻣﻲ ﺗﻮاﻧﺪ ﺑﺎﺷﺪ‪:‬‬ ‫‪2‬‬

‫•‬

‫ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ داﺧﻠﻲ‬

‫•‬

‫ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ‬

‫‪3‬‬

‫اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﻫﺮﻳﻚ داراي اﻧﻮاع ﻣﺨﺘﻠﻔﻲ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮ ﻳﻚ‬ ‫ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ‪:‬‬

‫‪1. J oi n‬‬ ‫‪2. In n e r Jo i n‬‬ ‫‪3. O u te r Jo i n‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪168‬‬

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

‫‪ 1-6‬ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ داﺧﻠﻲ‬ ‫اﻳﻦ ﻋﻤﻠﮕﺮ در واﻗﻊ ﻣﺘﺪاول ﺗﺮﻳﻦ ﻧﻮع ﭘﻴﻮﻧﺪ ﺑﻴﻦ دو ﺟﺪول ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺑﺮ اﺳﺎس آن‬ ‫ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎﻳﻲ از دو ﺟﺪول ﻛﻪ در ﺷﺮط ﺗﻌﺮﻳﻒ ﺷﺪه در ﭘﻴﻮﻧﺪ ﺻﺪق ﻣﻲﻛﻨﻨﺪ‪،‬‬ ‫ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ اﮔﺮ ﺟﺪول )راﺑﻄﻪ( ﺳﻤﺖ ﭼﭗ در ﭘﻴﻮﻧﺪ‬ ‫را‬

‫‪R1‬‬

‫و ﺟﺪول ﺳﻤﺖ راﺳﺖ در ﭘﻴﻮﻧﺪ را‬

‫‪R2‬‬

‫ﺑﻨﺎﻣﻴﻢ‪ ،‬ﺻﺮﻓﺎ ﺗﻤﺎﻣﻲ رﻛﻮرد ﻫﺎﻳﻲ از دو‬

‫ﺟﺪول ﻛﻪ ﺷﺮط ﺗﻌﺮﻳﻒ ﺷﺪه در ﭘﻴﻮﻧﺪ در ﻣﻮرد آﻧﻬﺎ ﺻﺎدق ﺑﺎﺷﺪ‪ ،‬ﻣﻮرد ﺑﺎزﻳﺎﺑﻲ ﻗﺮار‬ ‫ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ‪.‬‬ ‫‪R1 JOIN R2 ON criteria‬‬ ‫‪OR‬‬ ‫‪R1 INNER JOIN R2 ON criteria‬‬

‫اﺳﺘﻔﺎده از ﻋﺒﺎرت‬

‫‪Inner Join‬‬

‫ﺑﻪ اﻳﻦ ﻋﻠﺖ اﺳﺖ ﻛﻪ در ﺑﻌﻀﻲ از زﺑﺎنﻫﺎ اﻳﻦ ﻧﻮع‬

‫ﭘﻴﻮﻧﺪ را ﭘﻴﻮﻧﺪ داﺧﻠﻲ ﻣﻲﻧﺎﻣﻨﺪ‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ دو ﺟﺪول اﻃﻼﻋﺎت ﭘﺮﺳﻨﻞ‬

‫)‪(EMP‬‬

‫ﺳﺎﺧﺘﺎر ﺳﺎزﻣﺎﻧﻲ )‪ (DEPT‬را ﺑﻪ ﺻﻮرت آﻧﭽﻪ ﻛﻪ در زﻳﺮ آﻣﺪه اﺳﺖ در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ‪:‬‬ ‫ﺟﺪول ‪ 1- 8‬ﺟﺪول اﻃﻼﻋﺎت ﭘﺮﺳﻨﻞ‬

‫‪EMP‬‬

‫‪EMP‬‬ ‫‪DEPTNO‬‬

‫‪SAL‬‬

‫‪ENAME‬‬

‫‪EMPNO‬‬

‫‪20‬‬

‫‪800‬‬

‫‪SMITH‬‬

‫‪7369‬‬

‫‪30‬‬

‫‪1600‬‬

‫‪ALLEN‬‬

‫‪7499‬‬

‫‪30‬‬

‫‪1250‬‬

‫‪WARD‬‬

‫‪7521‬‬

‫‪20‬‬

‫‪2975‬‬

‫‪JONES‬‬

‫‪7566‬‬

‫‪30‬‬

‫‪1250‬‬

‫‪MARTIN‬‬

‫‪7654‬‬

‫‪30‬‬

‫‪2850‬‬

‫‪BLAKE‬‬

‫‪7698‬‬

‫‪10‬‬

‫‪2450‬‬

‫‪CLARK‬‬

‫‪7782‬‬

‫‪20‬‬

‫‪3000‬‬

‫‪SCOTT‬‬

‫‪7788‬‬

‫‪10‬‬

‫‪5000‬‬

‫‪KING‬‬

‫‪7839‬‬

‫‪30‬‬

‫‪1500‬‬

‫‪TURNER‬‬

‫‪7844‬‬

‫‪20‬‬

‫‪1100‬‬

‫‪ADAMS‬‬

‫‪7876‬‬

‫‪30‬‬

‫‪950‬‬

‫‪JAMES‬‬

‫‪7900‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫و‬


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪169 SQL‬‬

‫‪20‬‬

‫‪3000‬‬

‫‪FORD‬‬

‫‪7902‬‬

‫‪10‬‬

‫‪1300‬‬

‫‪MILLER‬‬

‫‪7934‬‬

‫ﺟﺪول ‪ 2- 8‬ﺟﺪول اﻃﻼﻋﺎت ﺳﺎﺧﺘﺎر ﺳﺎزﻣﺎﻧﻲ‬

‫‪DEPT‬‬

‫‪DEPT‬‬ ‫‪LOC‬‬

‫‪DNAME‬‬

‫‪DEPTNO‬‬

‫‪NEW YORK‬‬

‫‪ACCOUNTING‬‬

‫‪10‬‬

‫‪DALLAS‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪CHICAGO‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪BOSTON‬‬

‫‪OPERATIONS‬‬

‫‪40‬‬

‫ﺣﺎل ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ دو ﺟﺪول ﻣﺬﻛﻮر را ﺑﺮ اﺳﺎس ﺻﻔﺖ ﺧﺎﺻﻪ‬

‫‪Deptno‬‬

‫ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﭘﻴﻮﻧﺪ داده و ﺑﺒﻴﻨﻴﻢ ﻫﺮ ﻳﻚ از ﭘﺮﺳﻨﻞ در ﻛﺪام واﺣﺪ ﻣﺸﻐﻮل ﺑﻜﺎر ﻫﺴﺘﻨﺪ‪.‬‬ ‫ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ‪:‬‬ ‫‪Select Emp.ename, Emp.deptno, Dept.dname‬‬ ‫‪From Emp Join Dept‬‬ ‫‪On emp.deptno = dept.deptno‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻼﺣﻈﻪ ﻣﻲﮔﺮدد دو ﺟﺪول‬ ‫‪Deptno‬‬

‫ﻛﻪ در ﺟﺪول‬

‫‪Dept‬‬

‫‪Emp‬‬

‫و‬

‫‪Dept‬‬

‫ﺑﻌﻨﻮان ﻛﻠﻴﺪ اﺻﻠﻲ و در ﺟﺪول‬

‫ﺑﺮ اﺳﺎس ﺻﻔﺖ ﺧﺎﺻﻪ‬

‫‪Emp‬‬

‫ﺑﻌﻨﻮان ﻛﻠﻴﺪ ﺧﺎرﺟﻲ‬

‫ﻣﻲﺑﺎﺷﺪ‪ ،‬ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﭘﻴﻮﻧﺪ داده ﺷﺪهاﻧﺪ‪ .‬ﺑﺎ اﻳﻦ وﺻﻒ ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر‬ ‫ﺑﻪ ﺻﻮرت زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬

‫ﺟﺪول ‪ 3- 8‬ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از‬ ‫‪DNAME‬‬ ‫‪RESEARCH‬‬

‫ﻋﺒﺎرت ‪SQL‬‬

‫‪DEPTNO‬‬ ‫‪20‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫‪ENAME‬‬ ‫‪SMITH‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪170‬‬

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

‫‪30‬‬

‫‪ALLEN‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪WARD‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪JONES‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪MARTIN‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪BLAKE‬‬

‫‪ACCOUNTING‬‬

‫‪10‬‬

‫‪CLARK‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪SCOTT‬‬

‫‪ACCOUNTING‬‬

‫‪10‬‬

‫‪KING‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪TURNER‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪ADAMS‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪JAMES‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪FORD‬‬

‫‪ACCOUNTING‬‬

‫‪10‬‬

‫‪MILLER‬‬

‫ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ ﻣﻲﺗﻮان ﻋﺒﺎرت ﺑﺎﻻ را ﺑﺪون اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﻧﻴﺰ‬ ‫ﻧﻮﺷﺖ‪ .‬ﻧﺤﻮه ﻧﻮﺷﺘﻦ ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﺪون ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ‪:‬‬ ‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪ 3- 6‬ﻋﻤﻠﮕﺮﻫﺎي ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ‬

‫‪2‬‬

‫در ﺑﺴﻴﺎري از ﻣﻮارد ﻣﻤﻜﻦ اﺳﺖ ﺑﻌﻀﻲ ﻣﻘﺎدﻳﺮ ﺳﺘﻮﻧﻬﺎﻳﻲ ﻛﻪ ﻣﻲ ﺧﻮاﻫﻴﻢ ﺑﻪ ﻳﻜﺪﻳﮕﺮ‬ ‫ﭘﻴﻮﻧﺪ ﺑﺰﻧﻴﻢ‪ ،‬داراي ﻣﻘﺪار‬

‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪172‬‬

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

‫ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﻛﺎﻣﻞ‬

‫‪2‬‬

‫در اداﻣﻪ ﻫﺮ ﻳﻚ از ﭘﻴﻮﻧﺪﻫﺎي ﻣﺬﻛﻮر ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ‪.‬‬

‫‪ 1- 3- 6‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﭼﭗ‬ ‫ﻫﺮ ﮔﺎه ﺑﺨﻮاﻫﻴﻢ در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول‪ ،‬ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎي ﻣﻮرد‬ ‫ﻧﻈﺮ از ﺟﺪول ﺳﻤﺖ ﭼﭗ )ﺟﺪول اول( را اﻧﺘﺨﺎب ﻛﺮده و از ﺟﺪول ﺳﻤﺖ راﺳﺖ‬ ‫ﺻﺮﻓﺎ اﻧﺪﺳﺘﻪ از رﻛﻮردﻫﺎﻳﻲ ﻛﻪ ﺷﺮط ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول را دارﻧﺪ ﻧﻤﺎﻳﺶ ﺑﺪﻫﻴﻢ‪ ،‬از‬ ‫ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﭼﭗ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻴﻢ‪ .‬ﺑﺪﻳﻬﻲ اﺳﺖ در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﺮاي ﺑﻌﻀﻲ از‬ ‫رﻛﻮردﻫﺎي ﺟﺪول ﺳﻤﺖ ﭼﭗ‪ ،‬ﻫﻴﭻ ﻣﻘﺪاري از ﺟﺪول ﺳﻤﺖ راﺳﺖ ﻧﻤﻲ ﺗﻮان ﻳﺎﻓﺖ‪.‬‬ ‫ﺑﺎ اﻳﻦ اوﺻﺎف ﺑﺮاي اﻧﺪﺳﺘﻪ از ﺳﺘﻮﻧﻬﺎي اﻧﺘﺨﺎب ﺷﺪه از ﺟﺪول ﺳﻤﺖ راﺳﺖ ﻛﻪ‬ ‫ﻣﻘﺪاري ﻧﺪارﻧﺪ‪ ،‬ﻣﻘﺪار ‪ NULL‬در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬ ‫ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻫﻤﺎن دو ﺟﺪول‬

‫‪EMP‬‬

‫و‬

‫‪DEPT‬‬

‫ﻛﻪ ﻛﻤﻲﻗﺒﻞ ﺗﺮ ﻣﻌﺮﻓﻲ‬

‫ﺷﺪﻧﺪ را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲدﻫﻴﻢ‪ .‬ﺑﺪﻳﻦ ﻣﻨﻈﻮر ﺑﺎ اﺳﺘﻔﺎده از ﻋﺒﺎرت زﻳﺮ ﻣﻘﺪار‬

‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪173 SQL‬‬

‫دو ﻋﺒﺎرت ﻣﺬﻛﻮر از ﻟﺤﺎظ ﻣﻌﻨﺎﻳﻲ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺑﺮاﺑﺮ ﻫﺴﺘﻨﺪ و ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از‬ ‫ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح ﺟﺪول ‪ 4-8‬ﺧﻮاﻫﺪ ﺑﻮد‪ .‬ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ‬ ‫اﻳﻨﻜﻪ ﻣﻘﺪار ‪ deptno‬از ﺟﺪول ‪ EMP‬ﺑﺮاﺑﺮ ﺑﺎ ‪ NULL‬ﺷﺪه اﺳﺖ‪ ،‬ﻟﺬا ﻫﻴﭻ رﻛﻮرد ﻣﺘﻨﺎﻇﺮي‬ ‫ﺑﺎ ﺟﺪول ‪ DEPT‬وﺟﻮد ﻧﺪاﺷﺘﻪ و ﻣﻘﺪار ﺟﺎﻳﮕﺰﻳﻦ ﺑﺮاي ﺳﺘﻮﻧﻬﺎي ﻣﺮﺑﻮﻃﻪ ﺑﺮاﺑﺮ ﺑﺎ‬

‫‪NULL‬‬

‫ﻣﻲﺑﺎﺷﺪ‪.‬‬ ‫ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﺳﺌﻮال ﻣﻄﺮح ﮔﺮدد ﻛﻪ ﭼﺮا ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ دو ﺷﻜﻞ ﻣﺨﺘﻠﻒ‬ ‫ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ‪ .‬در ﭘﺎﺳﺦ ﺑﻪ اﻳﻦ ﺳﺌﻮال ﺑﺎﻳﺪ ﮔﻔﺖ ﻛﻪ در زﺑﺎن ‪ SQL‬اراﺋﻪ ﺷﺪه از ﺳﻮي‬ ‫‪ ANSI‬از ﻛﻠﻤﻪ ‪ Left Outer Join‬اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ‪ .‬وﻟﻲ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي داده اﻳﻦ‬ ‫ﻋﺒﺎرت ﺑﻪ ﺻﻮرت‬

‫‪Left Join‬‬

‫ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ‪ .‬ﺣﺘﻲ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي داده از‬

‫ﻋﻼﻣﺖ " ‪ " +‬ﺑﺠﺎي اﻳﻦ ﻋﺒﺎرت اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ‪.‬‬ ‫ﺟﺪول ‪ 4- 8‬ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ‪ SQL‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﭼﭗ‬ ‫‪DEPTNO‬‬

‫‪DNAME‬‬

‫‪ENAME‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪SMITH‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪ALLEN‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪WARD‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪JONES‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪MARTIN‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪BLAKE‬‬

‫‪ACCOUNTING‬‬

‫‪10‬‬

‫‪CLARK‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪SCOTT‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪TURNER‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪ADAMS‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪JAMES‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪FORD‬‬

‫‪ACCOUNTING‬‬

‫‪10‬‬

‫‪MILLER‬‬

‫‪KING‬‬

‫‪ 2- 3- 6‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪174‬‬

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

‫ﻫﺮ ﮔﺎه ﺑﺨﻮاﻫﻴﻢ در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول‪ ،‬ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎي ﻣﻮرد‬ ‫ﻧﻈﺮ از ﺟﺪول ﺳﻤﺖ راﺳﺖ )ﺟﺪول دوم( را اﻧﺘﺨﺎب ﻛﺮده و از ﺟﺪول ﺳﻤﺖ ﭼﭗ‬ ‫ﺻﺮﻓﺎ اﻧﺪﺳﺘﻪ از رﻛﻮردﻫﺎﻳﻲ ﻛﻪ ﺷﺮط ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول را دارﻧﺪ ﻧﻤﺎﻳﺶ ﺑﺪﻫﻴﻢ‪ ،‬از‬ ‫ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻴﻢ‪ .‬ﺑﺪﻳﻬﻲ اﺳﺖ در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﺮاي ﺑﻌﻀﻲ از‬ ‫رﻛﻮردﻫﺎي ﺟﺪول ﺳﻤﺖ راﺳﺖ ﭘﻴﻮﻧﺪ‪ ،‬ﻫﻴﭻ ﻣﻘﺪاري از ﺟﺪول ﺳﻤﺖ ﭼﭗ ﻧﻤﻲ ﺗﻮان‬ ‫ﻳﺎﻓﺖ‪ .‬ﺑﺎ اﻳﻦ اوﺻﺎف ﺑﺮاي اﻧﺪﺳﺘﻪ از ﺳﺘﻮﻧﻬﺎي اﻧﺘﺨﺎب ﺷﺪه از ﺟﺪول ﺳﻤﺖ ﭼﭗ‬ ‫ﭘﻴﻮﻧﺪ ﻛﻪ ﻣﻘﺪاري ﻧﺪارﻧﺪ‪ ،‬ﻣﻘﺪار ‪ NULL‬در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬ ‫ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻫﻤﺎن دو ﺟﺪول‬

‫‪EMP‬‬

‫و‬

‫‪DEPT‬‬

‫ﻛﻪ ﻛﻤﻲﻗﺒﻞ ﺗﺮ ﻣﻌﺮﻓﻲ‬

‫ﺷﺪﻧﺪ را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲدﻫﻴﻢ‪ .‬ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲداﻧﻴﺪ در ﺟﺪول ‪ DEPT‬ﻳﻚ رﻛﻮرد‬ ‫ﺑﺎ‬

‫‪deptno = 40‬‬

‫ﺻﻔﺖ ﺧﺎﺻﻪ‬ ‫‪DEPT‬‬

‫وﺟﻮد دارد‪ .‬وﻟﻲ ﻫﻴﭻ رﻛﻮردي در ﺟﺪول‬

‫‪deptno‬‬

‫‪EMP‬‬

‫وﺟﻮد ﻧﺪارد ﻛﻪ دﻣﻘﺪار‬

‫در آن ﺑﺮاﺑﺮ ﺑﺎ ‪ 40‬ﺑﺎﺷﺪ‪ .‬ﺣﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ در آن ﺟﺪول‬

‫ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ ﭼﭗ ﭘﻴﻮﻧﺪ و ﺟﺪول‬

‫‪EMP‬‬

‫ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ راﺳﺖ‬

‫ﭘﻴﻮﻧﺪ ﻣﻲﺑﺎﺷﻨﺪ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬ ‫‪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‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ‬ ‫‪DNAME‬‬

‫‪DEPTNO‬‬

‫‪ENAME‬‬

‫‪ACCOUNTING‬‬

‫‪10‬‬

‫‪CLARK‬‬

‫‪ACCOUNTING‬‬

‫‪10‬‬

‫‪MILLER‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪SMITH‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪SCOTT‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪ADAMS‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪FORD‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪175 SQL‬‬

‫‪RESEARCH‬‬

‫‪20‬‬

‫‪JONES‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪ALLEN‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪JAMES‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪TURNER‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪BLAKE‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪MARTIN‬‬

‫‪SALES‬‬

‫‪30‬‬

‫‪WARD‬‬

‫‪OPERATIONS‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﻣﻘﺪار ‪ deptno‬از ﺟﺪول ‪ EMP‬ﺑﺮاﺑﺮ‬ ‫ﺑﺎ‬

‫‪NULL‬‬

‫ﺷﺪه اﺳﺖ‪ ،‬ﻟﺬا ﻫﻴﭻ رﻛﻮرد ﻣﺘﻨﺎﻇﺮي ﺑﺎ ﺟﺪول‬

‫‪DEPT‬‬

‫وﺟﻮد ﻧﺪاﺷﺘﻪ و ﻣﻘﺪار‬

‫ﺟﺎﻳﮕﺰﻳﻦ ﺑﺮاي ﺳﺘﻮﻧﻬﺎي ﻣﺮﺑﻮﻃﻪ ﺑﺮاﺑﺮ ﺑﺎ ‪ NULL‬ﻣﻲﺑﺎﺷﺪ‪.‬‬

‫‪ 3- 3- 6‬ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﻛﺎﻣﻞ‬ ‫ﻗﺒﻞ از ﺗﻮﺿﻴﺢ اﻳﻦ ﻧﻮع از ﭘﻴﻮﻧﺪ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﻣﻬﻢ ﺗﻮﺟﻪ ﺷﻮد ﻛﻪ اﻳﻦ ﻧﻮع‬ ‫ﭘﻴﻮﻧﺪ ﻓﻘﻂ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ و در ﺑﺴﻴﺎري از‬ ‫ﭘﺎﻳﮕﺎه ﻫﺎي داده اﺻﻼً ﭼﻨﻴﻦ ﭘﻴﻮﻧﺪ وﺟﻮد ﻧﺪارد‪.‬‬ ‫ﻫﺮ ﮔﺎه ﺑﺨﻮاﻫﻴﻢ در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول‪ ،‬ﺗﻤﺎﻣﻲرﻛﻮردﻫﺎي‬ ‫ﻣﻮرد ﻧﻈﺮ از ﻫﺮ دو ﺟﺪول ﭼﻪ آﻧﻬﺎﻳﻴﻜﻪ در ﺷﺮط ﭘﻴﻮﻧﺪ ﻫﺴﺘﻨﺪ و ﭼﻪ آﻧﻬﺎﻳﻴﻜﻪ در ﺷﺮط‬ ‫ﭘﻴﻮﻧﺪ ﺻﺎدق ﻧﻴﺴﺘﻨﺪ‪ ،‬در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ ﺑﻴﺎﻳﻨﺪ‪ ،‬از اﻳﻦ ﻧﻮع ﭘﻴﻮﻧﺪ اﺳﺘﻔﺎده ﻣﻲﮔﺮدد‪ .‬ﺑﺪﻳﻬﻲ‬ ‫اﺳﺖ ﻛﻪ ﻫﺮ ﻳﻚ از ﻣﻘﺎدﻳﺮ ﺳﺘﻮﻧﻬﺎﻳﻲ ﻛﻪ در ﺷﺮط ﭘﻴﻮﻧﺪ ﺻﺎدق ﻧﺒﺎﺷﻨﺪ‪ ،‬ﺑﺎ ﻣﻘﺪار‬ ‫ﺟﺎﻳﮕﺰﻳﻦ ﺧﻮاﻫﻨﺪ ﺷﺪ‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻫﻤﺎن دو ﺟﺪول‬

‫‪EMP‬‬

‫و‬

‫‪NULL‬‬

‫‪DEPT‬‬

‫ﻛﻪ‬

‫ﻛﻤﻲﻗﺒﻞ ﺗﺮ ﻣﻌﺮﻓﻲ ﺷﺪﻧﺪ را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲدﻫﻴﻢ‪ .‬ﺑﺪﻳﻦ ﻣﻨﻈﻮر ﺑﺎ اﺳﺘﻔﺎده از ﻋﺒﺎرت‬ ‫زﻳﺮ ﻣﻘﺪار ‪ Deptno‬ﻳﻜﻲ از رﻛﻮردﻫﺎي ﺟﺪول ‪ EMP‬را ﺑﺮاﺑﺮ ﺑﺎ ‪ NULL‬ﻗﺮار ﻣﻲدﻫﻴﻢ‪.‬‬ ‫‪Update emp‬‬ ‫‪set deptno = NULL‬‬ ‫;’‪where ename = ‘KING‬‬

‫ﺣﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ در آن ﺟﺪول‬

‫‪DEPT‬‬

‫ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ راﺳﺖ ﭘﻴﻮﻧﺪ و‬

‫ﺟﺪول ‪ EMP‬ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ ﭼﭗ ﭘﻴﻮﻧﺪ ﻣﻲﺑﺎﺷﻨﺪ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬

‫‪Ramin.Samad@yahoo.com‬‬


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪177 SQL‬‬

‫ﻓﺮض ﻛﻨﻴﺪ ﻣﻲ ﺧﻮاﻫﻴﻢ رﻛﻮردﻫﺎي )ﺳﻄﺮﻫﺎ( ﻳﻚ ﺟﺪول را ﺑﺮ اﺳﺎس ﻣﻘﺎدﻳﺮ ﻳﻚ ﻳﺎ‬ ‫ﭼﻨﺪ ﺳﺘﻮن آن ﺟﺪول ﮔﺮوه ﺑﻨﺪي ﻧﻤﺎﻳﻴﻢ ﺑﮕﻮﻧﻪ اﻳﻜﻪ رﻛﻮردﻫﺎي ﻣﻮﺟﻮد در ﻫﺮ ﮔﺮوه‬ ‫داراي ﻳﻚ ﻣﻘﺪار ﻣﺸﺘﺮك از ﺳﺘﻮﻧﻬﺎي ﻣﻮرد ﻧﻈﺮ در ﮔﺮوه ﺑﻨﺪي ﺑﺎﺷﻨﺪ‪ .‬ﺑﺮاي اﻧﺠﺎم اﻳﻦ‬ ‫اﻣﺮ از ﻋﻤﻠﮕﺮ‬

‫‪GroupBy‬‬

‫رﻛﻮردﻫﺎي ﺟﺪول‬

‫‪EMP‬‬

‫اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪ .‬ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲ ﺧﻮاﻫﻴﻢ‬

‫را ﺑﺮ اﺳﺎس ﻣﻘﺎدﻳﺮ ﺻﻔﺖ ﺧﺎﺻﻪ )ﺳﺘﻮن(‬

‫‪deptno‬‬

‫ﮔﺮوه‬

‫ﺑﻨﺪي ﻧﻤﺎﻳﻴﻢ‪ .‬ﻋﺒﺎرت ﻣﻮرد ﻧﻈﺮ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬ ‫* ‪Select‬‬ ‫‪From EMP‬‬ ‫‪Group By deptno‬‬

‫‪ 2- 7‬ﻋﻤﻠﮕﺮ ﻣﺮﺗﺐ ﺳﺎزي‬ ‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﮔﺮدد ﻋﻤﻠﮕﺮ‬

‫‪Group By‬‬

‫اﻗﺪام ﺑﻪ دﺳﺘﻪ ﺑﻨﺪي رﻛﻮردﻫﺎ ﺑﺮ‬

‫اﺳﺎس ﻣﻘﺎدﻳﺮ ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﺳﺘﻮن ﻣﻲ ﻧﻤﺎﻳﺪ‪ .‬وﻟﻲ اﻳﻦ ﻋﻤﻠﮕﺮ ﻣﻨﻄﻘﺎً اﻟﺰام ﺑﻪ ﻣﺮﺗﺐ‬ ‫ﺳﺎزي ﻣﻘﺎدﻳﺮ ﺑﺼﻮرت ﺻﻌﻮدي ﻳﺎ ﻧﺰوﻟﻲ ﻧﻤﻲ ﻛﻨﺪ و ﺻﺮﻓﺎ ﮔﺮوه ﺑﻨﺪي را اﻧﺠﺎم‬ ‫ﻣﻲ دﻫﺪ‪ .‬ﺣﺎل اﮔﺮ ﻻزم ﺑﺎﺷﺪ ﺑﮕﻮﻧﻪ اي اﻗﺪام ﺑﻪ ﻣﺮﺗﺐ ﺳﺎزي ﺧﺮوﺟﻲ ﺑﻨﻤﺎﻳﻴﻢ ﻻزم‬ ‫اﺳﺖ از ﻋﻤﻠﮕﺮ ‪ ORDERBY‬اﺳﺘﻔﺎده ﮔﺮدد‪ .‬اﻳﻦ ﻋﻤﻠﮕﺮ ﺗﻮاﻧﺎﻳﻲ ﻣﺮﺗﺐ ﺳﺎزي رﻛﻮردﻫﺎ‬ ‫ﺑﻪ ﺻﻮرت ﺻﻌﻮدي و ﻧﺰوﻟﻲ دارد‪ .‬ﺑﺮاي اﻧﺘﺨﺎب ﻧﻮع ﻣﺮﺗﺐ ﺳﺎزي ﻳﻜﻲ از دو ﻋﻤﻠﮕﺮ‬ ‫زﻳﺮ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬ ‫‪ASC‬‬

‫‪ :‬رﻛﻮردﻫﺎ را ﺑﺼﻮرت ﺻﻌﻮدي ﻣﺮﺗﺐ ﺳﺎزي ﻣﻲﻛﻨﺪ‬

‫‪DESC‬‬

‫‪ :‬رﻛﻮردﻫﺎ را ﺑﺼﻮرت ﻧﺰوﻟﻲ ﻣﺮﺗﺐ ﺳﺎزي ﻣﻲﻛﻨﺪ‬

‫ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ رﻛﻮردﻫﺎي ﺟﺪول‬

‫‪EMP‬‬

‫را ﺑﺮ اﺳﺎس ﺻﻔﺖ ﺧﺎﺻﻪ‬

‫‪ename‬‬

‫و‬

‫ﺑﺼﻮرت ﺻﻌﻮدي ﻣﺮﺗﺐ ﻣﻲﻛﻨﺪ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬ ‫* ‪Select‬‬ ‫‪From EMP‬‬ ‫‪ORDER BY ename ASC‬‬

‫ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ رﻛﻮردﻫﺎي ﺟﺪول ﻣﺬﻛﻮر را ﺑﺮ اﺳﺎس دو ﺻﻔﺖ‬ ‫ﺧﺎﺻﻪ ﻣﺮﺗﺐ ﺳﺎزي ﻧﻤﺎﻳﻴﻢ‪ .‬ﻋﺒﺎرت زﻳﺮ ﺑﻴﺎﻧﮕﺮ ﻧﺤﻮه اﻧﺠﺎم اﻳﻦ ﻣﻮﺿﻮع ﻣﻲﺑﺎﺷﺪ‪:‬‬ ‫* ‪Select‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪178‬‬

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫‪From EMP‬‬ ‫‪ORDER BY deptno DESC , ename ASC‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻧﻤﺎﻳﻴﺪ در ﻋﺒﺎرت ﻓﻮق اﺑﺘﺪا رﻛﻮردﻫﺎ ﺑﺮ اﺳﺎس ﻣﻘﺪار‬ ‫ﺻﻔﺖ ﺧﺎﺻﻪ ‪ deptno‬ﺑﺼﻮرت ﻧﺰوﻟﻲ ﻣﺮﺗﺐ ﺷﺪه و ﺳﭙﺲ ﺑﺮ اﺳﺎس ﺻﻔﺖ ﺧﺎﺻﻪ‬

‫‪ename‬‬

‫ﺑﺼﻮرت ﺻﻌﻮدي ﻣﺮﺗﺐ ﻣﻲﮔﺮدﻧﺪ‪.‬‬

‫‪ 3- 7‬ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ‬ ‫ﻳﻜﻲ از ﻧﻴﺎزﻫﺎي ﻣﻌﻤﻮل ﻛﺎرﺑﺮان اﻧﺠﺎم ﻣﺤﺎﺳﺒﺎﺗﻲ ﺑﺮ روي ﺑﻌﻀﻲ ﺳﺘﻮﻧﻬﺎ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬ ‫ﺑﻌﻨﻮان ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﺪ ﻣﻴﺎﻧﮕﻴﻦ ﻧﻤﺮه داﻧﺶ آﻣﻮزان در ﻳﻚ ﻛﻼس ﺑﺮاي‬ ‫ﻳﻚ درس را ﺑﺪﺳﺖ آورﻳﺪ‪ .‬ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ اﻳﻦ ﻋﻤﻞ ﺑﺼﻮرت ﺳﺘﻮﻧﻲ اﻧﺠﺎم ﻣﻲ ﮔﻴﺮد‬ ‫و ﺑﺎ ﺳﺎﻳﺮ دﺳﺘﻮراﺗﻲ ﻛﻪ ﺗﺎ ﺑﺤﺎل ﮔﻔﺘﻪ اﻳﻢ ﻣﺘﻔﺎوت ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺗﻮاﺑﻌﻲ ﻛﻪ ﺑﺮ روي ﻣﻘﺎدﻳﺮ‬ ‫ﺳﺘﻮﻧﻬﺎ ﻋﻤﻞ ﻣﻲﻛﻨﻨﺪ را ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ ﻣﻲ ﻧﺎﻣﻴﻢ‪ .‬ﻟﻴﺴﺘﻲ از ﻣﻌﺮوﻓﺘﺮﻳﻦ اﻳﻦ ﺗﻮاﺑﻊ ﺑﻪ‬ ‫ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﻨﺪ‪:‬‬ ‫‪COUNT‬‬

‫‪ :‬ﺗﻌﺪاد ﻣﻘﺎدﻳﺮ در ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ‪.‬‬

‫‪SUM‬‬

‫‪ :‬ﺣﺎﺻﻞ ﺟﻤﻊ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ‪.‬‬

‫‪AVG‬‬

‫‪ :‬ﻣﻴﺎﻧﮕﻴﻦ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ‪.‬‬

‫‪MAX‬‬

‫‪ :‬ﺑﺎﻻﺗﺮﻳﻦ ﻣﻘﺪار در ﺑﻴﻦ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ‪.‬‬

‫‪MIN‬‬

‫‪ :‬ﭘﺎﻳﻴﻦ ﺗﺮﻳﻦ ﻣﻘﺪار در ﺑﻴﻦ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ‪.‬‬

‫ﻧﻜﺘﻪاي ﻛﻪ ﺑﺎﻳﺪ ﺑﺪان ﺗﻮﺟﻪ ﻛﺮد اﻳﻦ اﺳﺖ ﻛﻪ ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﺗﻮاﺑﻊ ﻣﺬﻛﻮر‬ ‫ﺑﺼﻮرت ﻳﻚ ﻣﻘﺪار ﻣﻲﺑﺎﺷﻨﺪ‪ .‬ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﻫﺮ ﭘﺎﻳﮕﺎهدادهاي ﻋﻼوه ﺑﺮ ﺗﻮاﺑﻊ‬ ‫ﻣﺬﻛﻮر‪ ،‬ﺗﻌﺪادي ﺗﺎﺑﻊ دﻳﮕﺮ ﻧﻴﺰ ﻃﺮاﺣﻲ ﻛﺮده اﺳﺖ‪ .‬ﺑﺮاي ﻣﺜﺎل در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي داده‬ ‫ﺗﻮاﺑﻌﻲ ﺟﻬﺖ ﻣﺤﺎﺳﺒﻪ وارﻳﺎﻧﺲ و ﻳﺎ اﻧﺤﺮاف ﻣﻌﻴﺎر ﻃﺮاﺣﻲ ﺷﺪهاﻧﺪ‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ‬ ‫ﻣﻮﺿﻮع‪ ،‬ﺟﺪول ‪ EMP‬را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ .‬ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺗﻌﺪاد ﭘﺮﺳﻨﻠﻲ ﻛﻪ ﻣﻘﺪار‬ ‫ﺻﻔﺖ ﺧﺎﺻﻪ ‪ deptno‬در آﻧﻬﺎ ﺑﺮاﺑﺮ ﺑﺎ ‪ 10‬ﺑﺎﺷﺪ را‪ ،‬ﺑﺪﺳﺖ آورﻳﻢ‪ .‬ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح‬ ‫ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬ ‫‪SELECT Count (*) as Tedad‬‬ ‫‪FROM EMP‬‬ ‫; ‪WHERE deptno = 10‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪179 SQL‬‬

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬ ‫‪TEDAD‬‬ ‫‪3‬‬

‫ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺑﺎﻻﺗﺮﻳﻦ و ﭘﺎﻳﻴﻦ ﺗﺮﻳﻦ ﻣﻴﺰان ﺣﻘﻮق ﭘﺮﺳﻨﻠﻲ ﻛﻪ ﻣﻘﺪار‬ ‫ﺻﻔﺖ ﺧﺎﺻﻪ ‪ deptno‬در آﻧﻬﺎ ﺑﺮاﺑﺮ ﺑﺎ ‪ 10‬ﺑﺎﺷﺪ را‪ ،‬ﺑﺪﺳﺖ آورﻳﻢ‪ .‬ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح‬ ‫ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬ ‫‪SELECT Max(sal) as maxval , Min(sal) as minval‬‬ ‫‪From EMP‬‬ ‫; ‪Where deptno =10‬‬

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬ ‫‪MINVAL‬‬

‫‪MAXVAL‬‬

‫‪1300‬‬

‫‪5000‬‬

‫ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺣﺪاﻗﻞ ﻣﻴﺎﻧﮕﻴﻦ ﺣﻘﻮق را ﺑﺮاي ﭘﺮﺳﻨﻞ ﺗﻌﺮﻳﻒ ﺷﺪه‬ ‫در ﺟﺪول ‪ EMP‬ﺑﺮ ﺣﺴﺐ ﺻﻔﺖ ﺧﺎﺻﻪ ‪ deptno‬ﺑﺪﺳﺖ آورﻳﻢ‪ .‬در اﻳﻦ ﺷﺮاﻳﻂ ﻻزم اﺳﺖ‬ ‫ﻋﻼوه ﺑﺮ اﺳﺘﻔﺎده از ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ از‬

‫‪Group By‬‬

‫ﻧﻴﺰ اﺳﺘﻔﺎده ﻧﻤﻮد‪ .‬ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ‬

‫ﺑﻴﺎﻧﮕﺮ اﻳﻦ درﺧﻮاﺳﺖ ﻣﻲﺑﺎﺷﺪ ﺗﻮﺟﻪ ﻛﻨﻴﺪ‪:‬‬ ‫‪Select deptno , Min(sal) as MinVal‬‬ ‫‪From emp‬‬ ‫‪Group by deptno‬‬

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬

‫‪ 4- 7‬ﻋﻤﻠﮕﺮ‬

‫‪MINVAL‬‬

‫‪DEPTNO‬‬

‫‪1300‬‬

‫‪10‬‬

‫‪800‬‬

‫‪20‬‬

‫‪950‬‬

‫‪30‬‬

‫‪HAVING‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪180‬‬

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

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﺪ ﺗﺎﺑﺤﺎل از ﻋﻤﻠﮕﺮ‬ ‫ﻣﻲ ﻛﺮدﻳﻢ‪ .‬وﻟﻲ ﻋﻤﻠﮕﺮ‬

‫‪Where‬‬

‫‪WHERE‬‬

‫ﺑﺮاي ﺗﻌﻴﻴﻦ ﺷﺮاﻳﻂ اﺳﺘﻔﺎده‬

‫ﻓﻘﻂ ﻗﺎدر ﺑﻮد ﺑﺮ روي ﺳﺘﻮﻧﻬﺎ ﻋﻤﻞ ﻧﻤﺎﻳﺪ‪ ،‬ﺣﺎل آﻧﻜﻪ‬

‫ﮔﺎﻫﻲ ﻻزم اﺳﺖ ﻋﻤﻠﮕﺮ ﺗﻌﻴﻴﻦ ﺷﺮاﻳﻂ ﺑﺮروي ﺳﻄﺮﻫﺎ ﻋﻤﻞ ﻧﻤﺎﻳﺪ‪ .‬اﻳﻦ وﺿﻌﻴﺖ ﺑﻴﺸﺘﺮ‬ ‫زﻣﺎﻧﻲ رخ ﻣﻲدﻫﺪ ﻛﻪ ﺑﺨﻮاﻫﻴﻢ از‬

‫‪Group By‬‬

‫اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﻢ و ﻳﺎ اﻳﻨﻜﻪ ﺑﺨﻮاﻫﻴﻢ از‬

‫ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ ﻛﻪ اﺳﺎﺳﺎً ﺑﺮ روي ﺳﻄﺮﻫﺎ ﻋﻤﻞ ﻣﻲ ﻛﻨﻨﺪ‪ ،‬اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﻢ‪ .‬در ﭼﻨﻴﻦ‬ ‫ﺷﺮاﻳﻄﻲ ﺑﺠﺎي اﺳﺘﻔﺎده از ﻛﻠﻤﻪ‬

‫‪Where‬‬

‫از ﻛﻠﻤﻪ‬

‫‪Having‬‬

‫اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ‪ .‬ﺑﺮاي درك‬

‫ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪:‬‬ ‫‪Select deptno‬‬ ‫‪From emp‬‬ ‫‪Group By deptno‬‬ ‫‪Having COUNT (*) > 4‬‬

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬ ‫‪DEPTNO‬‬ ‫‪20‬‬ ‫‪30‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻧﻤﺎﻳﻴﺪ از آﻧﺠﺎﺋﻴﻜﻪ ﺗﻌﺪاد رﻛﻮردﻫﺎﻳﻲ ﻛﻪ در آﻧﻬﺎ ﻣﻘﺪار‬ ‫‪deptno‬‬

‫ﺑﺮاﺑﺮ ‪ 10‬ﺑﺎﺷﺪ‪ ،‬ﻛﻤﺘﺮ از ‪ 4‬ﺗﺎ ﻫﺴﺘﻨﺪ‪ ،‬ﻟﺬا رﻛﻮردي ﻛﻪ ﺑﻴﺎﻧﮕﺮ ﻣﻘﺪار ‪ 10‬در ﺳﺘﻮن‬

‫‪ deptno‬ﺑﺎﺷﺪ در ﺧﺮوﺟﻲ ﻣﺸﺎﻫﺪه ﻧﻤﻲﮔﺮدد‪ .‬ﻳﻜﻲ از ﻧﻜﺎت ﻣﻬﻢ در زﺑﺎن ‪ SQL‬اﻳﻦ اﺳﺖ‬ ‫ﻛﻪ ﻋﻤﻠﮕﺮﻫﺎي‬

‫‪Having‬‬

‫و‬

‫‪Where‬‬

‫ﻣﻲﺗﻮاﻧﻨﺪ ﺑﺼﻮرت ﺗﺮﻛﻴﺒﻲ در ﻳﻚ ﻋﺒﺎرت‬

‫‪SQL‬‬

‫ﻣﻮرد‬

‫اﺳﺘﻔﺎده ﻗﺮار ﮔﻴﺮﻧﺪ‪.‬‬

‫‪ 5- 7‬ﻋﻤﻠﮕﺮ‬

‫‪BETWEEN‬‬

‫ﻳﻜﻲ از وﻳﮋﮔﻲ ﻫﺎي ﻣﻮرد ﻧﻴﺎز ﻛﺎرﺑﺮان‪ ،‬اﻣﻜﺎن اﻧﺘﺨﺎب رﻛﻮردﻫﺎ ﺑﺮ اﺳﺎس ﻣﻘﺎدﻳﺮي‬ ‫اﺳﺖ ﻛﻪ در ﻳﻚ ﺑﺎزه ﻗﺮار داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪ .‬ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻟﻴﺴﺖ ﭘﺮﺳﻨﻠﻲ را‬ ‫ﺑﺨﻮاﻫﻴﻢ ﻛﻪ ﺣﻘﻮق آﻧﻬﺎ ﺑﻴﻦ ‪ 1000‬و‬

‫‪2000‬‬

‫ﺑﺎﺷﺪ‪ .‬ﻋﺒﺎرت زﻳﺮ ﻧﺤﻮه اﺳﺘﻔﺎده از دﺳﺘﻮر‬

‫‪ Between‬را ﻧﺸﺎن ﻣﻲ دﻫﺪ‪:‬‬ ‫‪Select ename ,Sal‬‬ ‫‪From EMP‬‬ ‫; ‪Where sal Between 1000 and 2000‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪181 SQL‬‬

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬

‫‪ 6- 7‬ﻋﻤﻠﮕﺮ‬

‫‪SAL‬‬

‫‪ENAME‬‬

‫‪1600‬‬

‫‪ALLEN‬‬

‫‪1250‬‬

‫‪WARD‬‬

‫‪1250‬‬

‫‪MARTIN‬‬

‫‪1500‬‬

‫‪TURNER‬‬

‫‪1100‬‬

‫‪ADAMS‬‬

‫‪1300‬‬

‫‪MILLER‬‬

‫‪LIKE‬‬

‫در ﺑﻌﻀﻲ ﻣﻮارد ﻛﺎرﺑﺮان ﻧﻴﺎز دارﻧﺪ ﺗﺎ ﻋﺒﺎرﺗﻲ را در ﺑﻴﻦ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ‬ ‫ﺟﺴﺘﺠﻮ ﻧﻤﺎﻳﻨﺪ‪ .‬اﻳﻦ وﺿﻌﻴﺖ ﺑﻴﺸﺘﺮ زﻣﺎﻧﻲ رخ ﻣﻲ دﻫﺪ ﻛﻪ ﻛﺎرﺑﺮان در ﺣﺎل ﻛﺎر ﺑﺎ‬ ‫ﻣﻘﺎدﻳﺮ رﺷﺘﻪ اي ﺑﺎﺷﻨﺪ‪ .‬در اﻳﻦ ﺷﺮاﻳﻂ از ﻋﻤﻠﮕﺮ ‪ Like‬اﺳﺘﻔﺎده ﻣﻲﻧﻤﺎﻳﻴﻢ‪.‬‬ ‫ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ در ﺟﺪول‬ ‫ﺻﻔﺖ ﺧﺎﺻﻪ‬

‫‪ename‬‬

‫‪EMP‬‬

‫ﺑﻪ دﻧﺒﺎل اﻓﺮادي ﺑﮕﺮدﻳﻢ ﻛﻪ در‬

‫آﻧﻬﺎ ﻛﻠﻤﻪ ’‪ ‘AM‬ﺑﺎﺷﺪ‪ .‬ﻋﺒﺎرت زﻳﺮ ﻧﺤﻮه ﻧﻮﺷﺘﻦ ﭼﻨﻴﻦ درﺧﻮاﺳﺘﻲ‬

‫را ﻧﺸﺎن ﻣﻲدﻫﺪ‪:‬‬ ‫‪Select ename ,deptno, sal‬‬ ‫‪From emp‬‬ ‫' ‪' ; % AM % Where ename LIKE‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﻋﻼﻣﺖ " ‪ " %‬ﻧﺸﺎن ﻣﻲدﻫﺪ ﻛﻪ ﻛﻠﻤﻪ‬

‫“ ‪“ AM‬‬

‫ﻣﻲﺗﻮاﻧﺪ در ﺑﻴﻦ ﻣﻘﺎدﻳﺮ ﻣﻮﺟﻮد ﺑﺎﺷﺪ و ﻻزم ﻧﻴﺴﺖ ﺣﺘﻤﺎ در اﺑﺘﺪا ﻳﺎ اﻧﺘﻬﺎي آن ﻣﻘﺎدﻳﺮ‬ ‫ﺑﺎﺷﺪ‪ .‬ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬ ‫‪SAL‬‬

‫‪DEPTNO‬‬

‫‪ENAME‬‬

‫‪1100‬‬

‫‪20‬‬

‫‪ADAMS‬‬

‫‪950‬‬

‫‪30‬‬

‫‪JAMES‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪182‬‬

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

‫‪ - 8‬اﺳﺘﻔﺎده از ﭘﺮس و ﺟﻮﻫﺎي ﺗﻮدرﺗﻮ‬

‫‪1‬‬

‫در ﺑﺴﻴﺎري از ﻣﻮارد ﻣﻘﺎدﻳﺮ ﻣﻮرد ﻧﻈﺮ در ﻋﺒﺎرت ‪ 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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪183 SQL‬‬

‫‪ 2- 8‬ﻋﻤﻠﮕﺮ‬

‫‪SAL‬‬

‫‪DEPTNO‬‬

‫‪ENAME‬‬

‫‪2975‬‬

‫‪20‬‬

‫‪JONES‬‬

‫‪2850‬‬

‫‪30‬‬

‫‪BLAKE‬‬

‫‪2450‬‬

‫‪10‬‬

‫‪CLARK‬‬

‫‪3000‬‬

‫‪20‬‬

‫‪SCOTT‬‬

‫‪5000‬‬

‫‪10‬‬

‫‪KING‬‬

‫‪3000‬‬

‫‪20‬‬

‫‪FORD‬‬

‫‪IN‬‬

‫ﻣﻌﻤﻮﻻً در زﻳﺮ ﭘﺮﺳﺶ ﻫﺎ ﺷﺮاﻳﻂ ﺑﮕﻮﻧﻪ اﻳﺴﺖ ﻛﻪ ﻛﺎرﺑﺮ ﻣﻲ ﺧﻮاﻫﺪ ﻣﻘﺪاري را از ﺑﻴﻦ‬ ‫ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺑﺪﺳﺖ آورد‪ .‬ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر از ﻋﻤﻠﮕﺮ‬ ‫اﻳﻦ ﻋﻤﻠﮕﺮ ﺗﻘﺮﻳﺒﺎ ﺷﺒﻴﻪ ﺑﻪ ﻋﻤﻠﮕﺮ‬

‫‪Between‬‬

‫‪IN‬‬

‫اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد‪.‬‬

‫ﻣﻲ ﺑﺎﺷﺪ ﺑﺎ اﻳﻦ ﺗﻔﺎوت ﻛﻪ ﻣﻘﺪاري را‬

‫درون ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﻣﻮرد ﺟﺴﺘﺠﻮ ﻗﺮار ﻣﻲ دﻫﺪ‪ .‬ﻣﺜﺎل زﻳﺮ ﻧﻤﻮﻧﻪ اﻳﺴﺖ از‬ ‫ﻋﺒﺎراﺗﻲ ﻛﻪ ﺑﺪﻳﻦ ﺻﻮرت ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮﻧﺪ‪:‬‬ ‫‪Select ename,sal‬‬ ‫‪From emp‬‬ ‫‪Where empno IN‬‬ ‫‪(Select empno‬‬ ‫‪From emp‬‬ ‫)‪Where sal >2000‬‬

‫ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺻﻮرت ﺟﺪول زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬ ‫‪SAL‬‬

‫‪ENAME‬‬

‫‪2975‬‬

‫‪JONES‬‬

‫‪2850‬‬

‫‪BLAKE‬‬

‫‪2450‬‬

‫‪CLARK‬‬

‫‪3000‬‬

‫‪SCOTT‬‬

‫‪5000‬‬

‫‪KING‬‬

‫‪3000‬‬

‫‪FORD‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪184‬‬

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

‫ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﺳﺌﻮال ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ ﻋﺒﺎرت ﻣﺬﻛﻮر را ﻣﻲﺗﻮان ﺑﺼﻮرﺗﻲ‬ ‫ﺳﺎدهﺗﺮ ﻧﻴﺰ ﻧﻮﺷﺖ ﻛﻪ در آن ﻧﻴﺎزي ﺑﻪ اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ‬

‫‪IN‬‬

‫ﻧﺒﺎﺷﺪ‪ .‬در اﻳﻨﺠﺎ ﻻزم اﺳﺖ‬

‫ﮔﻔﺘﻪ ﺷﻮد ﻛﻪ ﻋﺒﺎرت ﻣﺬﻛﻮر ﻓﻘﻂ ﺟﻬﺖ ﻧﺸﺎن دادن ﻧﺤﻮه اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ ‪ IN‬ﻣﻲﺑﺎﺷﺪ‪.‬‬ ‫ﻳﻜﻲ از ﻧﻜﺎت ﻛﻠﻴﺪي در اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ ﻣﺬﻛﻮر اﻳﻦ اﺳﺖ ﻛﻪ ﺑﺎﻳﺪ زﻳﺮﭘﺮﺳﺶ‬ ‫ﺟﻠﻮي ﻋﻤﻠﮕﺮ ‪ IN‬ﺣﺘﻤﺎ داراي ﻳﻚ ﺳﺘﻮن ﻫﻤﻨﻮع ﺑﺎ ﺳﺘﻮن ﻣﻮرد ﭘﺮﺳﺶ ﺑﺎﺷﺪ و ﻧﻤﻲﺗﻮان‬ ‫در زﻳﺮﭘﺮﺳﺶ از ﻫﺮ ﺳﺘﻮﻧﻲ ﺑﻌﻨﻮان ﺧﺮوﺟﻲ اﺳﺘﻔﺎده ﻛﺮد‪.‬‬

‫‪ 3- 8‬ﻋﻤﻠﮕﺮ‬

‫‪EXISTS‬‬

‫ﻳﻜﻲ دﻳﮕﺮ از ﻋﺒﺎرات ﻣﻮرد اﺳﺘﻔﺎده در ﭘﺮس و ﺟﻮﻫﺎي ﺗﻮدرﺗﻮ‪ ،‬اﺳﺘﻔﺎده از ﻛﻠﻤﻪ‬ ‫ﻛﻠﻴﺪي‬

‫‪EXISTS‬‬

‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬اﻳﻦ دﺳﺘﻮر ﻧﻴﺰ ﺗﺎ ﺣﺪودي ﺷﺒﻴﻪ ﺑﻪ ﻛﻠﻤﻪ ﻛﻠﻴﺪي‬

‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻣﻌﻤﻮﻻً از ﻋﻤﻠﮕﺮ‬

‫‪EXISTS‬‬

‫اﻳﻦ ﻋﻤﻠﮕﺮ ﻣﻲ ﺗﻮان در ﻗﺴﻤﺖ‬ ‫اﺳﺘﻔﺎده ﻛﺮد‪ .‬ﻋﻤﻠﮕﺮ‬

‫‪EXISTS‬‬

‫‪IN‬‬

‫ﺑﻪ ﻧﺪرت اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪ .‬در ﻫﻨﮕﺎم اﺳﺘﻔﺎده از‬

‫‪Where‬‬

‫ﻋﺒﺎرت دروﻧﻲ از ﻣﻘﺎدﻳﺮ ﻋﺒﺎرت ﺑﻴﺮوﻧﻲ‬

‫ﺗﺎ ﺣﺪودي ﺑﺎ ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻋﺒﺎرات ﭘﺮس‬

‫و ﺟﻮي ﺗﻮدرﺗﻮ ﻣﺘﻔﺎوت ﻣﻲ ﺑﺎﺷﺪ‪ .‬زﻳﺮا ﺗﺮﻛﻴﺒﻲ از ﻣﻘﺎدﻳﺮ ﻣﺮﺑﻮط ﺑﻪ ﻋﺒﺎرات ﺑﻴﺮوﻧﻲ و‬ ‫دروﻧﻲ درون ﺷﺮط ﻋﺒﺎرات دروﻧﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد‪ .‬ﺑﺮاي ﻣﺜﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﺗﻮﺟﻪ‬ ‫ﻛﻨﻴﺪ‪ .‬ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﺪ ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ‬

‫‪STID‬‬

‫از راﺑﻄﻪ ﺑﻴﺮوﻧﻲ در‬

‫ﻗﺴﻤﺖ ‪ WHERE‬ﻋﺒﺎرت دروﻧﻲ ﻣﻮرد ﻣﻘﺎﻳﺴﻪ ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ‪.‬‬ ‫‪SELECT STNAME‬‬ ‫‪FROM STT‬‬ ‫* ‪WHERE EXISTS (SELECT‬‬ ‫‪FROM STCOT‬‬ ‫‪WHERE STCOT.STID = STT.STID‬‬ ‫)'‪AND COID = '1234‬‬

‫‪ - 9‬دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮز دﺳﺘﺮﺳﻲ‬ ‫دﺳﺘﻮرات ﻛﻨﺘﺮل ﻛﻨﻨﺪه ﻣﺠﻮز دﺳﺘﺮﺳﻲ در ﭘﺎﻳﮕﺎه ﻫﺎي داده ﺑﻪ دو ﺻﻮرت ﻛﻠﻲ زﻳﺮ‬ ‫ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮد‪:‬‬ ‫•‬

‫دﺳﺘﺮﺳﻲ ﺑﻪ دادهﻫﺎ‬

‫•‬

‫دﺳﺘﺮﺳﻲ ﺑﻪ اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺘﻲ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪185 SQL‬‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﺑﺤﺚ دﺳﺘﺮﺳﻲ ﺑﻪ اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺘﻲ در اﻳﻦ ﻗﺴﻤﺖ از ﻛﺘﺎب ﻣﻄﺮح‬ ‫ﻧﻴﺴﺖ‪ ،‬ﻟﺬا ﺻﺮﻓﺎ ﻛﻨﺘﺮل دﺳﺘﺮﺳﻲ ﺑﻪ داده ﻫﺎ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد‪ .‬دﺳﺘﻮرات‬ ‫ﻛﻨﺘﺮل ﻛﻨﻨﺪه دﺳﺘﺮﺳﻲ ﺑﻪ دادهﻫﺎ ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬ ‫•‬ ‫•‬

‫‪1‬‬

‫دﺳﺘﻮر اﻋﻄﺎ اﺧﺘﻴﺎرات‬ ‫‪2‬‬

‫دﺳﺘﻮر ﻟﻐﻮ اﺧﺘﻴﺎرات‬

‫‪ 1- 9‬دﺳﺘﻮر اﻋﻄﺎ اﺧﺘﻴﺎرات‬ ‫ﺑﺮاي اﻋﻄﺎ اﻣﺘﻴﺎز از دﺳﺘﻮر‬

‫‪GRANT‬‬

‫اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪ .‬ﺷﻜﻞ ﻛﻠﻲ اﻳﻦ دﺳﺘﻮر ﺑﻪ ﺷﺮح‬

‫زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬ ‫‪GRANT Privileges | ALL Privileges‬‬ ‫‪ON Object‬‬ ‫;]‪TO Users [WITH GRANT OPTION‬‬

‫در ﻗﺴﻤﺖ ‪ Privileges‬از ﻳﻜﻲ ﻳﺎ ﺗﺮﻛﻴﺒﻲ از ﻛﻠﻤﺎت زﻳﺮ اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد‪:‬‬ ‫‪INSERT‬‬ ‫‪DELETE‬‬ ‫‪UPDATE‬‬ ‫‪SELECT‬‬

‫در ﻗﺴﻤﺖ‬

‫‪Object‬‬

‫ﻳﻜﻲ از اﺷﻴﺎء ﻣﻮﺟﻮد در‬

‫‪Schema‬‬

‫ﻳﻚ ﻛﺎرﺑﺮ اﻧﺘﺨﺎب ﺷﺪه و در‬

‫ﻗﺴﻤﺖ ‪ 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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪186‬‬

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

‫‪ 2- 9‬دﺳﺘﻮر ﻟﻐﻮ اﺧﺘﻴﺎرات‬ ‫ﺑﺮاي ﻟﻐﻮ اﻣﺘﻴﺎز از دﺳﺘﻮر‬

‫‪REVOKE‬‬

‫اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪ .‬ﺷﻜﻞ ﻛﻠﻲ اﻳﻦ دﺳﺘﻮر ﺑﻪ ﺷﺮح‬

‫زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬ ‫‪REVOKE Privileges | ALL Privileges‬‬ ‫‪ON Object‬‬ ‫‪FROM Users‬‬

‫در ﻗﺴﻤﺖ ‪ Privileges‬از ﻳﻜﻲ ﻳﺎ ﺗﺮﻛﻴﺒﻲ از ﻛﻠﻤﺎت زﻳﺮ اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد‪:‬‬

‫‪INSERT‬‬ ‫‪DELETE‬‬ ‫‪UPDATE‬‬ ‫‪SELECT‬‬

‫در ﻗﺴﻤﺖ‬ ‫ﻗﺴﻤﺖ‬

‫ﻳﻜﻲ از اﺷﻴﺎء ﻣﻮﺟﻮد در‬

‫‪Object‬‬

‫‪Users‬‬

‫‪Schema‬‬

‫ﻳﻚ ﻛﺎرﺑﺮ اﻧﺘﺨﺎب ﺷﺪه و در‬

‫ﻧﺎم ﻳﻜﻲ از ﻛﺎرﺑﺮان ﭘﺎﻳﮕﺎه داده اﻧﺘﺨﺎب ﻣﻲ ﮔﺮدد‪ .‬ﺑﺮاي درك ﺑﻬﺘﺮ‬

‫ﻣﻮﺿﻮع ﺑﻪ ﻋﺒﺎرات زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ‪:‬‬ ‫‪Revoke select‬‬ ‫‪On DEPT‬‬ ‫;‪FROM ALI‬‬

‫‪ -10‬اﻣﻜﺎﻧﺎت و وﻳﮋﮔﻲﻫﺎي ‪ SQL2‬و‬

‫‪SQL3‬‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻮﺿﻴﺤﺎت اراﺋﻪ ﺷﺪه در ﺧﺼﻮص زﺑﺎن ‪ ،SQL‬در اداﻣﻪ درﺧﺼﻮص‬ ‫اﻣﻜﺎﻧﺎت و وﻳﮋﮔﻲ ﻫﺎي دو زﺑﺎن اﺳﺘﺎﻧﺪارد‬

‫‪SQL2‬‬

‫و‬

‫‪SQL3‬‬

‫ﺑﻪ اﺧﺘﺼﺎر ﻣﻄﺎﻟﺒﻲ ﺑﻴﺎن‬

‫ﺷﺪه اﺳﺖ‪.‬‬

‫‪ 1- 10‬اﻣﻜﺎﻧﺎت‬ ‫اﻳﻦ ﻧﺴﺨﻪ از‬

‫‪SQL2‬‬

‫‪SQL‬‬

‫در ﺳﺎل ‪ 1992‬ﻣﻴﻼدي ﺑﻪ ﻋﻨﻮان‬

‫‪SQL‬‬

‫اﻳﻦ ﻧﺴﺨﻪ در واﻗﻊ ﻧﺴﺨﻪ ﺗﺼﺤﻴﺢ ﺷﺪه و ﻛﺎﻣﻠﺘﺮ ﻧﺴﺨﻪ‬ ‫اﻣﻜﺎﻧﺎﺗﻲ ﺑﻪ ﻧﺴﺨﻪ‬

‫‪SQL1‬‬

‫اﺳﺘﺎﻧﺪارد ﻣﻌﺮﻓﻲ ﮔﺮدﻳﺪ‪.‬‬

‫‪SQL1‬‬

‫اﻓﺰوده ﺷﺪه و ﻳﺎ ﺑﻌﻀﻲ از دﺳﺘﻮرات‬

‫در اداﻣﻪ ﺗﻐﻴﻴﺮات اﻋﻤﺎل ﺷﺪه ﺑﻪ اﺧﺘﺼﺎر آﻣﺪه اﺳﺖ‪:‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫ﺑﻮد‪ .‬در اﻳﻦ دﺳﺘﻮر‬

‫‪SQL1‬‬

‫ﻛﺎﻣﻞ ﺗﺮ ﺷﺪﻧﺪ‪.‬‬


‫‪WWW.IRANMEET.COM‬‬

‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي ‪187 SQL‬‬ ‫•‬

‫اﻓﺰودن دﺳﺘﻮرات ﻣﺮﺑﻮط ﺑﻪ اﻳﺠﺎد‪ ،‬اﺻﻼًح و ﺣﺬف‬

‫•‬

‫ﺗﻜﻤﻴﻞ دﺳﺘﻮرات ﻣﺮﺑﻮط ﺑﻪ اﻳﺠﺎد و ﺣﺬف ﺟﺪول‬

‫•‬

‫اﻓﺰودن دﺳﺘﻮر اﺻﻼًح ﺟﺪول‬

‫•‬

‫اﻓﺰودن دﺳﺘﻮر ﺗﻌﺮﻳﻒ ﺟﺪول ﻣﻮﻗﺖ‬

‫•‬

‫اﻣﻜﺎن ﻧﻮﺷﺘﻦ ‪.Select‬از ﻳﻚ ‪ Select‬دﻳﮕﺮ‬

‫•‬

‫اﻣﻜﺎن ﻧﻮﺷﺘﻦ ‪ Select‬ﺑﻌﺪ از‬

‫•‬

‫ﺗﻜﻤﻴﻞ دﺳﺘﻮر‬

‫•‬

‫اﺻﻼًح و ﺗﻜﻤﻴﻞ ﻋﻤﻠﮕﺮﻫﺎي ﺧﺎص ﻣﺎﻧﻨﺪ ﻓﺮااﺟﺘﻤﺎع‪ ،‬اﺳﻜﺎﻟﺮ و‪...‬‬

‫•‬

‫اﻓﺰودن اﻣﻜﺎﻧﺎت ﺟﺎﻣﻌﻴﺘﻲ و اﻳﻤﻨﻲ و‪...‬‬

‫‪ 2-10‬اﻣﻜﺎﻧﺎت‬ ‫اﻳﻦ ﻧﺴﺨﻪ از‬

‫‪Domain‬‬

‫‪WHERE‬‬

‫‪JOIN‬‬

‫‪SQL3‬‬ ‫‪SQL‬‬

‫ﺑﺮاي ﻣﺤﻴﻂ ﻫﺎي‬

‫‪ORDBMS‬‬

‫ﭘﮋوﻫﺸﮕﺮان ﺑﻪ اﻳﻦ ﻧﺘﻴﺠﻪ رﺳﻴﺪﻧﺪ ﻛﻪ ﺗﻜﻨﻮﻟﻮژي ﻫﺎي‬

‫‪1‬‬

‫ﺗﻮﻟﻴﺪ ﺷﺪه اﺳﺖ‪ .‬در واﻗﻊ‬

‫‪RDBMS‬‬

‫و‬

‫‪OODBMS‬‬

‫ﻫﻴﭽﻴﻚ‬

‫ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻛﺎﻣﻞ ﻧﺒﻮده و ﺻﺮﻓﺎ ﺗﺮﻛﻴﺐ اﻳﻦ دو ﺗﻜﻨﻮﻟﻮژي ﭘﺎﺳﺨﮕﻮي ﻧﻴﺎزﻫﺎي آﺗﻲ‬ ‫ﺧﻮاﻫﺪ ﺑﻮد‪ .‬ﻟﺬا ﺗﺼﻤﻴﻢ ﮔﺮﻓﺘﻪ ﺷﺪ ﻧﺴﺨﻪ اي از‬

‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


WWW.IRANMEET.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

J P B G B RU R J

Hestory Acount Math Hestory Acount Math Acount Hestory

G S G S S J F S

21 19 50 50 41 20 18 24

100 150 200 250 300 350 400 450

Enrollment Student Num 100 150 200 250 300

Class Name

Polition Num

BD445 BA200 BD445 CS250 CS150

Ramin.Samad@yahoo.com

1 1 2 1 1


WWW.IRANMEET.COM

189 SQL ‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي‬ 350 400 450

BA200 BF410 CS250

2 1 2

Class Name

Time

Room

BA200 BD445 BF410 CS150 CS250

F9 F3 F8 F3 F12

110 213 213 314 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

Ramin.Samad@yahoo.com


WWW.IRANMEET.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 ‫اﺳﺎﻣﻲ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ ﻛﻪ ﻗﻄﻌﻪ‬

Ramin.Samad@yahoo.com


WWW.IRANMEET.COM

191 SQL ‫آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي‬

Ramin.Samad@yahoo.com


WWW.IRANMEET.COM

Ramin.Samad@yahoo.com


‫‪WWW.IRANMEET.COM‬‬

‫ ‪:‬‬ ‫;( ‪!" #‬‬ ‫ﻫﺪف ﻛﻠﻲ‬ ‫در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﻌﺮﻳﻔﻲ از راﺑﻄﻪ ﻧﺮﻣﺎل را اراﺋﻪ ﻛﺮده و ﻣﻌﺎﻳﺐ و ﻣﺰاﻳﺎي راﺑﻄﻪ ﻫﺎي‬ ‫ﻧﺮﻣﺎل و ﻏﻴﺮﻧﺮﻣﺎل را ﺑﻴﺎن ﺧﻮاﻫﻴﻢ ﻛﺮد‪ .‬ﺳﭙﺲ ﺑﺎ ﻣﻔﻬﻮم ﺗﺌﻮري واﺑﺴﺘﮕﻲ و در اداﻣﻪ‬ ‫ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‪ ،‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ و ﺣﺎﻟﺘﻬﺎي واﺑﺴﺘﮕﻲ آﺷﻨﺎ ﺧﻮاﻫﻴﻢ‬ ‫ﺷﺪ‪ .‬در اداﻣﻪ ﻣﻔﻬﻮم ﻧﺮﻣﺎل ﺳﺎزي و اﻧﻮاع ﺻﻮرت ﻫﺎي ﻧﺮﻣﺎل راﺑﻄﻪ ﻫﺎ را ﺑﻪ ﺗﻔﺼﻴﻞ‬ ‫ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬ ‫دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬ ‫•‬

‫ﺗﻌﺮﻳﻒ راﺑﻄﻪ ﻧﺮﻣﺎل‬

‫•‬

‫ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪﻫﺎي ﻧﺮﻣﺎل‬

‫•‬

‫ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪﻫﺎي ﻏﻴﺮ ﻧﺮﻣﺎل‬

‫•‬

‫ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ و اﻧﻮاع واﺑﺴﺘﮕﻲﻫﺎ‬

‫•‬

‫ﺣﺎﻟﺘﻬﺎي واﺑﺴﺘﮕﻲ‬

‫•‬

‫ﻧﻤﻮدار واﺑﺴﺘﮕﻲﻫﺎي ﺗﺎﺑﻌﻲ‬

‫•‬

‫ﺻﻮرتﻫﺎي ﻧﺮﻣﺎل‬

‫•‬

‫ﻓﺮاﻳﻨﺪ ﻧﺮﻣﺎل ﺳﺎزي‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪194‬‬

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

‫‪ -1‬ﺗﻌﺮﻳﻒ راﺑﻄﻪ ﻧﺮﻣﺎل‬ ‫ﻳﻜﻲ از ﻣﻬﻢ ﺗﺮﻳﻦ ﻣﺒﺎﺣﺚ در ﭘﺎﻳﮕﺎه ﻫﺎي داده راﺑﻄﻪ اي‪ ،‬ﺑﺤﺚ ﻧﺮﻣﺎل ﺳﺎزي راﺑﻄﻪ ﻫﺎ‬ ‫اﺳﺖ‪ .‬ﺣﺎل اﻳﻦ ﺳﺌﻮال ﺑﻪ ذﻫﻦ ﻣﻲ رﺳﺪ ﻛﻪ اﺻﻮﻻ راﺑﻄﻪ ﻧﺮﻣﺎل ﭼﻴﺴﺖ‪ .‬در اداﻣﻪ‬ ‫ﺗﻌﺎرﻳﻔﻲ از راﺑﻄﻪ ﻧﺮﻣﺎل را اراﺋﻪ ﻣﻲ ﻛﻨﻴﻢ‪.‬‬ ‫•‬

‫ﺗﻌﺮﻳﻒ اول‪ :‬راﺑﻄﻪ ﻧﺮﻣﺎل راﺑﻄﻪاي اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮ ﺗﻤﺎم ﺻﻔﺎﺗﺶ ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ‬ ‫ﺑﺎﺷﻨﺪ‪.‬‬

‫•‬

‫ﺗﻌﺮﻳﻒ دوم‪ :‬راﺑﻄﻪ ﻧﺮﻣﺎل راﺑﻄﻪاي اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮ ﻫﻴﭽﻴﻚ از ﻣﻴﺪاﻧﻬﺎﻳﺶ‪ ،‬ﻳﻚ‬ ‫ﻣﻘﺪار راﺑﻄﻪاي ﺑﺎ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ ﺑﺰرﮔﺘﺮ از ﻳﻚ ﻧﺒﺎﺷﺪ‪.‬‬

‫در ﺗﻮﺻﻴﻒ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻳﻚ ﻣﻘﺪار ﺳﺎده ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ را ﻣﻲ ﺗﻮان ﻳﻚ‬ ‫ﻣﻘﺪار راﺑﻄﻪ اي از درﺟﻪ ﻳﻚ و ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ ﻳﻚ داﻧﺴﺖ‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ در ﺑﺪﻧﻪ راﺑﻄﻪ‬ ‫ﻧﺮﻣﺎل‪ ،‬ﺻﻔﺖ ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ ﭼﻨﺪ ﻣﻘﺪاري وﺟﻮد ﻧﺪارد و اﺻﻄﻼﺣﺎ ﻣﻲ ﮔﻮﻳﻴﻢ راﺑﻄﻪ‬ ‫ﻣﺴﻄﺢ اﺳﺖ‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل را ﻣﻲ ﺗﻮان ﺑﺼﻮرت زﻳﺮ‬ ‫ﺗﻮﺻﻴﻒ ﻛﺮد‪:‬‬ ‫راﺑﻄﻪ اي ﻛﻪ در آن ﻣﻘﺎدﻳﺮ ﺣﺪاﻗﻞ ﻳﻚ ﺻﻔﺖ‪ ،‬ﺧﻮد ﻣﻘﺎدﻳﺮ راﺑﻄﻪ اي ﺑﺎﺷﻨﺪ را‬ ‫راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل ﮔﻮﻳﻴﻢ‪ .‬ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﺻﻔﺖ ﺳﺎده‬ ‫ﻳﺎ ﻣﺮﻛﺐ ﭼﻨﺪ ﻣﻘﺪاري داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل اﺳﺖ‪.‬‬

‫‪ 1-1‬دﻻﻳﻞ ﻟﺰوم ﻧﺮﻣﺎل ﺑﻮدن راﺑﻄﻪ‬ ‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﺪ ﻧﺮﻣﺎل ﺑﻮدن راﺑﻄﻪ دﻟﻴﻞ رﻳﺎﺿﻲ ﻧﺪارد و ﻣﻲ ﺗﻮان ﮔﻔﺖ ﺻﺮﻓﺎ‬ ‫ﺟﻨﺒﻪ ﺳﺎدﮔﻲ آن ﻣﻄﺮح اﺳﺖ‪ .‬ﺳﺎدﮔﻲ ﻋﻨﺼﺮ اﺳﺎﺳﻲ ﺳﺎﺧﺘﺎر راﺑﻄﻪ اي ﺧﻮد‬ ‫ﺳﺎدﮔﻲﻫﺎي زﻳﺮ را در ﺑﺮ دارد‪:‬‬ ‫•‬

‫ﺳﺎدﮔﻲ در ﻧﻤﺎﻳﺶ ﻇﺎﻫﺮي راﺑﻄﻪ‬

‫•‬

‫ﺳﺎدﮔﻲ دﺳﺘﻮرات زﺑﺎن‬

‫•‬

‫ﺳﺎدﮔﻲ اﺟﺮاي ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهداده‬

‫‪ 2-1‬ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻧﺮﻣﺎل‬ ‫راﺑﻄﻪ ﻧﺮﻣﺎل ﻣﻌﺎﻳﺒﻲ دارد ﻛﻪ ﺑﻪ ﺷﺮح ذﻳﻞ آﻣﺪه اﺳﺖ‪:‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪195‬‬ ‫•‬

‫ﺑﺮوز ﭘﺪﻳﺪه اﻓﺰوﻧﮕﻲ ﻛﻪ ﻣﻲﺗﻮاﻧﺪ ﻓﻴﺰﻳﻜﻲ ﻫﻢ ﺑﺎﺷﺪ‪.‬‬

‫•‬

‫ﻃﻮﻻﻧﻲ ﺗﺮ ﺷﺪن ﻛﻠﻴﺪ راﺑﻄﻪ‬

‫•‬

‫ﻋﺪم اﻣﻜﺎن ﻧﻤﺎﻳﺶ دادهﻫﺎي ﭘﻴﭽﻴﺪه‬

‫•‬

‫دﺷﻮاري در ﻧﻤﺎﻳﺶ ﻃﺒﻴﻌﻲ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‬

‫•‬

‫دﺷﻮاري در ﻧﻤﺎﻳﺶ ﻣﻔﻬﻮم وراﺛﺖ‬

‫‪ 3-1‬ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل‬ ‫راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل ﻧﻴﺰ داراي ﻣﺰاﻳﺎﻳﻲ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‬ ‫•‬

‫ﻛﺎﻫﺶ ﻣﻴﺰان اﻓﺰوﻧﮕﻲ‬

‫•‬

‫ﻛﻮﺗﺎه ﺷﺪن ﻛﻠﻴﺪ‬

‫•‬

‫اﻣﻜﺎن ﻧﻤﺎﻳﺶ دادهﻫﺎي ﭘﻴﭽﻴﺪه‬

‫•‬

‫دﺷﻮاري ﻛﻤﺘﺮ در ﻧﻤﺎﻳﺶ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ‬

‫•‬

‫دﺷﻮاري ﻛﻤﺘﺮ در ﻧﻤﺎﻳﺶ ﻣﻔﻬﻮم وراﺛﺖ‬

‫•‬

‫اﻓﺰاﻳﺶ ﺳﺮﻋﺖ ﻋﻤﻠﻴﺎت )در ﺑﻌﻀﻲ ﻣﻮارد( در ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎ‬

‫ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ در ﻛﻨﺎر اﻳﻦ ﻣﺰاﻳﺎ‪ ،‬راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل ﺧﻮد ﻧﻴﺰ داراي ﻣﻌﺎﻳﺒﻲ ﻣﻲ ﺑﺎﺷﺪ‬ ‫ﻛﻪ اﻳﻦ ﻣﻌﺎﻳﺐ در ذﻳﻞ آﻣﺪه اﺳﺖ‪:‬‬ ‫•‬

‫ﭘﻴﭽﻴﺪﮔﻲ در ﻧﻤﺎﻳﺶ دادهﻫﺎ‬

‫•‬

‫ﭘﻴﭽﻴﺪﮔﻲ در ﻧﮕﺎرش دﺳﺘﻮرات‬

‫•‬

‫ﭘﻴﭽﻴﺪﮔﻲ در اﺟﺮاي دﺳﺘﻮرات‬

‫‪ -2‬ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ‬

‫‪1‬‬

‫در ﺑﺤﺚ ﻧﺮﻣﺎل ﺳﺎزي راﺑﻄﻪﻫﺎ‪ ،‬ﺑﻪ ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ ﻧﻴﺎز دارﻳﻢ‪ .‬در اﻳﻦ ﻗﺴﻤﺖ‬ ‫ﺑﺎ ﺑﺮﺧﻲ ﻣﻔﺎﻫﻴﻢ واﺑﺴﺘﮕﻲ آﺷﻨﺎ ﻣﻲ ﺷﻮﻳﻢ‪.‬‬

‫‪1. D e pe n d e n c y‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪196‬‬

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

‫‪ 1-2‬اﻧﻮاع واﺑﺴﺘﮕﻲﻫﺎ‬ ‫واﺑﺴﺘﮕﻲ داراي ﺣﺎﻻت ﻣﺨﺘﻠﻔﻲ اﺳﺖ ﻛﻪ در ذﻳﻞ آﻣﺪه اﺳﺖ‪:‬‬ ‫‪1‬‬

‫•‬

‫واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬

‫•‬

‫واﺑﺴﺘﮕﻲ ﭘﻴﻮﻧﺪي‬

‫•‬

‫واﺑﺴﺘﮕﻲ ﭼﻨﺪ ﻣﻘﺪاري‬

‫‪2‬‬ ‫‪3‬‬

‫‪ 1-1-2‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬ ‫ﻣﻬﻤﺘﺮﻳﻦ ﻧﻮع واﺑﺴﺘﮕﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ اﺳﺖ‪ .‬در ﺣﺎﻟﺖ ﻛﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ را‬ ‫ﻣﻲ ﺗﻮان اﻳﻨﮕﻮﻧﻪ ﺗﻮﺻﻴﻒ ﻛﺮد‪:‬‬ ‫اﮔﺮ‬

‫‪A‬‬

‫و‬

‫‪B‬‬

‫دو ﺻﻔﺖ در ﺷﻤﺎي‬

‫‪R‬‬

‫ﺑﺎﺷﻨﺪ ‪ ،‬آﻧﮕﺎه واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬

‫ﺑﺮﻗﺮار اﺳﺖ ﺑﻪ ﺷﺮﻃﻲ ﻛﻪ ﺑﺮاي ﺗﻤﺎﻣﻲ راﺑﻄﻪ ﻫﺎ در‬

‫‪R‬‬

‫‪A 㩳 B‬‬

‫ﺑﻪ ازاي ﻫﺮ ﻣﻘﺪار‬

‫‪A‬‬

‫ﻓﻘﻂ ﻳﻚ ﻣﻘﺪار ‪ B‬وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬ ‫واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ را ﻣﻲ ﺗﻮان ﺑﺪﻳﻦ ﺻﻮرت ﻧﻴﺰ ﺗﻮﺻﻴﻒ ﻛﺮد‪:‬‬ ‫ﻓﺮض ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ ‪ R‬ﻳﻚ ﻣﺘﻐﻴﺮ راﺑﻄﻪ اي و ‪ A‬و ‪ B‬دو زﻳﺮ ﻣﺠﻤﻮﻋﻪ دﻟﺨﻮاه از‬ ‫ﻣﺠﻤﻮﻋﻪ ﻋﻨﻮان‬

‫‪R‬‬

‫ﻳﻌﻨﻲ‬

‫ﭼﻨﻴﻦ ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﻴﻢ‪:‬‬ ‫راﺑﻄﻪ اي‬

‫‪R‬‬

‫‪H‬‬

‫ﺑﺎﺷﻨﺪ‪ .‬ﻣﻲ ﮔﻮﻳﻴﻢ‬

‫‪A→ B‬‬

‫‪ ،‬ﺑﻪ ﻫﺮ ﻣﻘﺪار‬

‫‪A‬‬

‫‪B‬‬

‫ﺑﺎ‬

‫‪A‬‬

‫واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ دارد و‬

‫اﮔﺮ و ﻓﻘﻂ اﮔﺮ در ﻫﺮ ﻣﻘﺪار ﻣﻤﻜﻦ از ﻣﺘﻐﻴﺮ‬

‫ﻓﻘﻂ ﻳﻚ ﻣﻘﺪار‬

‫‪B‬‬

‫ﻣﺘﻨﺎﻇﺮ ﺑﺎﺷﺪ‪ .‬ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ‬

‫اﮔﺮ ‪ t1‬و ‪ t2‬دو ﺗﺎﭘﻞ ﻣﺘﻤﺎﻳﺰ از ‪ R‬ﺑﺎﺷﻨﺪ‪ ،‬در اﻳﻨﺼﻮرت‬ ‫‪If t1.A = t2.A then t1.B = t2.B‬‬

‫‪ 2-1-2‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ‬ ‫‪A᪸B‬‬

‫را واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ‬

‫‪4‬‬

‫ﮔﻮﻳﻨﺪ اﮔﺮ‬

‫‪B‬‬

‫ﺑﻪ ﻫﻴﭻ زﻳﺮﻣﺠﻤﻮﻋﻪ از‬

‫‪A‬‬

‫واﺑﺴﺘﻪ‬

‫ﻧﺒﺎﺷﺪ‪ .‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ از وﻳﮋﮔﻲﻫﺎي ﻣﻌﻨﺎﻳﻲ ﺻﻔﺎت اﺳﺖ و ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ ﻫﺮ‬

‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪197‬‬

‫واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺑﻴﻦ دو ﺻﻔﺖ‪ ،‬ﻧﻤﺎﻳﺸﮕﺮ ﻳﻚ ﻗﺎﻋﺪه ﺳﻤﻨﺘﻴﻚ در ﺟﻬﺎن واﻗﻌﻲ اﺳﺖ‪.‬‬ ‫ﻣﺜﻼ وﻗﺘﻲ ﻣﻲ ﮔﻮﻳﻴﻢ‪:‬‬ ‫‪STID→STMJR‬‬

‫ﻣﻌﻨﺎﻳﺶ اﻳﻦ اﺳﺖ ﻛﻪ ﻳﻚ داﻧﺸﺠﻮ ﻓﻘﻂ درﻳﻚ رﺷﺘﻪ ﺗﺤﺼﻴﻞ ﻣﻲ ﻛﻨﺪ‪.‬‬

‫‪ 2-2‬ﺣﺎﻟﺘﻬﺎي واﺑﺴﺘﮕﻲ‬ ‫واﺑﺴﺘﮕﻲ داراي ﺣﺎﻻت ﻣﺨﺘﻠﻔﻲ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ در ذﻳﻞ ﻧﺎم ﺑﺮده ﺷﺪه اﻧﺪ‪:‬‬ ‫•‬

‫واﺑﺴﺘﮕﻲ ﺑﻪ ﻛﻠﻴﺪ‬

‫•‬

‫واﺑﺴﺘﮕﻲ ﺑﻪ ﺑﺨﺸﻲ از ﻛﻠﻴﺪ‬

‫•‬

‫واﺑﺴﺘﮕﻲ ﻏﻴﺮﻛﻠﻴﺪ ﺑﻪ ﻏﻴﺮﻛﻠﻴﺪ‬

‫•‬

‫واﺑﺴﺘﮕﻲ ﻣﻌﻜﻮس‬

‫•‬

‫ﻛﻠﻴﺪ ﻳﺎ ﺑﺨﺸﻲ از آن ﺑﻪ ﺻﻔﺖ ﻳﺎ ﺻﻔﺘﻬﺎي دﻳﮕﺮ واﺑﺴﺘﻪ ﺑﺎﺷﺪ‬

‫‪ 3-2‬ﺗﻌﺮﻳﻒ ‪᥉‬‬ ‫اﮔﺮ‬

‫‪F‬‬

‫‪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‬‬

‫ﭼﻮن اﻋﻤﺎل اﻳﻦ ﻗﻮاﻋﺪ ﻣﺸﻜﻞ ﻣﻲ ﺑﺎﺷﺪ ‪ ،‬آﻧﻬﺎ را ﺑﻪ ﺻﻮرت ﺳﺎده ﺗﺮ ﺑﻴﺎن ﻣﻲﻛﻨﻴﻢ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


‫‪WWW.IRANMEET.COM‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪199‬‬

‫روش اول‬ ‫‪STT‬‬

‫‪STNAME‬‬

‫‪STDEG‬‬ ‫‪STID‬‬ ‫‪STMJR‬‬

‫‪STDEID‬‬

‫روش دوم‬

‫‪STMJR,‬‬

‫)‪STDEID‬‬

‫‪STDEG,‬‬

‫‪STNAME,‬‬

‫‪(STID,‬‬

‫‪STT‬‬

‫‪ -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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪200‬‬

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

‫ﺻﻮرت ﭘﻨﭽﻢ ﻧﺮﻣﺎل‬

‫‪1‬‬

‫اﻣﺮوزه دو ﻧﻮع دﻳﮕﺮ از ﺻﻮرت ﻫﺎي ﻧﺮﻣﺎل ﺗﻌﺮﻳﻒ ﺷﺪه اﻧﺪ ﻛﻪ اﻟﺒﺘﻪ در ﺷﺮاﻳﻂ ﺑﺴﻴﺎر‬ ‫ﺧﺎص رخ ﻣﻲ دﻫﻨﺪ‪ .‬اﻳﻦ دو ﺻﺮت ﻧﺮﻣﺎل ﻋﺒﺎرﺗﻨﺪ از‪:‬‬ ‫•‬

‫ﺻﻮرت ﻧﺮﻣﺎل ﻣﻴﺪان‪ -‬ﻛﻠﻴﺪي‬

‫•‬

‫ﺻﻮرت ﻧﺮﻣﺎل ﺗﺤﺪﻳﺪ‪ -‬اﺟﺘﻤﺎع‬

‫در اﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ ﻧﻜﺎت زﻳﺮ ﺗﻮﺟﻪ ﺷﻮد‪:‬‬ ‫•‬

‫ﭼﻨﺎﻧﭽﻪ راﺑﻄﻪاي در ﻫﺮ ﻳﻚ از ﺣﺎﻻت ﻧﺮﻣﺎل‪ ،‬ﺑﺼﻮرت ﻏﻴﺮﻧﺮﻣﺎل ﺑﺎﺷﺪ‪،‬‬ ‫ﻣﻲﮔﻮﻳﻴﻢ راﺑﻄﻪ در آن ﺳﻄﺢ داراي آﻧﻮﻣﺎﻟﻲ اﺳﺖ‪.‬‬

‫•‬

‫در واﻗﻊ ﻫﺸﺖ ﺻﻮرت ﻧﺮﻣﺎل ﻣﺬﻛﻮر ﻫﺮ ﻳﻚ از ﺳﻄﺢ ﻗﺒﻠﻲ ﺧﻮد ﻧﺮﻣﺎل ﺗﺮ‬ ‫ﻫﺴﺘﻨﺪ )ﺑﻐﻴﺮ از ‪ BCNF‬ﻛﻪ ﺷﺮاﻳﻂ ﺧﺎﺻﻲ دارد(‪.‬‬

‫•‬

‫ﻫﻤﭽﻨﻴﻦ ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺻﻮرتﻫﺎي ‪ BCNF‬و ‪ 4NF‬و ‪ 5NF‬داراي ﺷﺮاﻳﻂ‬ ‫ﺧﺎﺻﻲ ﺑﻮده و ﺗﻘﺮﻳﺒﺎ ﭼﻨﺎﻧﭽﻪ راﺑﻄﻪ در ﻳﻜﻲ از اﻳﻦ ﺳﻪ ﺳﻄﻮح ﻧﺮﻣﺎل ﺑﺎﺷﺪ‪ ،‬در‬ ‫دو ﻣﻮرد دﻳﮕﺮ ﻧﻴﺰ ﻧﺮﻣﺎل ﺧﻮاﻫﺪ ﺑﻮد) اﻳﻦ ﻣﻮﺿﻮع ﻫﻤﻴﺸﮕﻲ ﻧﻴﺴﺖ(‪.‬‬

‫•‬

‫ﺣﺎﻻت ﺑﺎﻻﺗﺮ از‬

‫‪3NF‬‬

‫ﺷﺮاﻳﻂ ﺧﺎﺻﻲ ﻫﺴﺘﻨﺪ ﻛﻪ در ﺧﻴﻠﻲ از ﻣﻮاﻗﻊ اﺻﻼً رخ‬

‫ﻧﻤﻲدﻫﻨﺪ‪ .‬ﻟﺬا ﭼﻨﺎﻧﭽﻪ راﺑﻄﻪاي را ﺗﺎ ﺳﻄﺢ‬

‫‪3NF‬‬

‫ﻧﺮﻣﺎل ﻛﻨﻴﻢ‪ ،‬ﺑﻄﻮر ﻣﻌﻤﻮل‬

‫ﻣﻲﮔﻮﻳﻴﻢ ﻧﺮﻣﺎل ﺳﺎزي را اﻧﺠﺎم دادهاﻳﻢ‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ ﻣﻲﺗﻮان ﺳﻄﻮح‬ ‫ﻧﺮﻣﺎل ﺳﺎزي را ﺑﺼﻮرت ذﻳﻞ ﻧﺸﺎن داد‪:‬‬ ‫‪DKNF ු 5NF ු 4NF ු BCNF ු 3NF ු 2NF ු 1NF‬‬

‫‪ -4‬ﻓﺮاﻳﻨﺪ ﻧﺮﻣﺎل ﺳﺎزي‬

‫‪2‬‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ داده ﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ و ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ‪ ،‬ﻻزم اﺳﺖ ﺗﺎ ﻗﺒﻞ از ﭘﻴﺎده‬ ‫ﺳﺎزي ﺟﺪاول ﻃﺮاﺣﻲ ﺷﺪه‪ ،‬آﻧﻬﺎ را ﻧﺮﻣﺎل ﺳﺎزي ﻧﻤﺎﻳﻴﻢ‪ .‬ﻣﺮاﺣﻞ ﻧﺮﻣﺎل ﺳﺎزي راﺑﻄﻪﻫﺎ‬ ‫ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﻨﺪ‪:‬‬

‫‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪201‬‬ ‫•‬

‫ﻣﺮاﺣﻞ ﻧﺮﻣﺎل ﺳﺎزي‬

‫•‬

‫ﻣﺸﺨﺺ ﻛﺮدن ﺟﺪاول‬

‫•‬

‫ﺷﻨﺎﺳﺎﺋﻲ دادهﻫﺎ و ارﺗﺒﺎﻃﺸﺎن‬

‫•‬

‫رﺳﻢ ﻧﻤﻮدار واﺑﺴﺘﮕﻲ‬

‫•‬

‫ﻃﺮاﺣﻲ ﺟﺪاول اوﻟﻴﻪ‬

‫•‬

‫در ﻧﻈﺮ ﮔﺮﻓﺘﻦ واﺑﺴﺘﮕﻲﻫﺎ‬

‫•‬

‫اﻋﻤﺎل ﻓﺮﻣﻬﺎي ﻧﺮﻣﺎل‬

‫در اداﻣﻪ راﺑﻄﻪ ﻫﺎي ﻧﺮﻣﺎل را ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد‪:‬‬

‫‪ 1-4‬راﺑﻄﻪ‬

‫‪1NF‬‬

‫راﺑﻄﻪ اي ‪1NF‬‬

‫اﺳﺖ ﻛﻪ‪:‬‬

‫•‬

‫ﻫﻤﻪ ﻛﻠﻴﺪﻫﺎي آن ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﺪ‬

‫•‬

‫ﻫﻤﻪ ﺻﻔﺖﻫﺎي آن ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﻪ ﺑﺎﺷﻨﺪ‬

‫•‬

‫ﺻﻔﺖﻫﺎي ﺗﺮﻛﻴﺒﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻴﻢ‬

‫ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي‬

‫‪1NF‬‬

‫اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﻫﺮ ﺻﻔﺖ آن در ﻫﺮ ﺗﺎﭘﻞ‪ ،‬ﺗﻚ‬

‫ﻣﻘﺪاري ﺑﺎﺷﺪ )ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ(‪.‬‬ ‫ﻣﺜﺎل ‪ :1‬راﺑﻄﻪ‬

‫‪STCOR‬‬

‫را ﻛﻪ در آن‬

‫‪STID‬‬

‫و‬

‫‪COID‬‬

‫ﺗﻮاﻣﺎ ﻛﻠﻴﺪ اﺻﻠﻲ ﻫﺴﺘﻨﺪ را در‬

‫ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪:‬‬ ‫)‪STCOR (STID, COID, STNAME, GRADE, STMJR, STDEID‬‬ ‫‪STNAME‬‬ ‫‪STID‬‬ ‫‪STMJR‬‬

‫‪GRADE‬‬ ‫‪COID‬‬

‫‪STDEID‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪202‬‬

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

‫ﻣﺜﺎل ‪:2‬‬

‫} ‪CITY , QTY‬‬

‫‪ 2-4‬راﺑﻄﻪ‬

‫‪R = { S# , P# , STATUS ,‬‬

‫‪2NF‬‬

‫راﺑﻄﻪ اي ‪2NF‬‬

‫اﺳﺖ ﻛﻪ‬

‫•‬

‫‪ 1NF‬ﺑﺎﺷﺪ‬

‫•‬

‫ﺻﻔﺖﻫﺎي آن ﺑﻪ زﻳﺮ ﻣﺠﻤﻮﻋﻪﻫﺎي ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﻪ ﻧﺒﺎﺷﺪ‬

‫ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي‬

‫‪2NF‬‬

‫اﺳﺖ ﻛﻪ اوﻻ‬

‫‪1NF‬‬

‫ﺑﺎﺷﺪ و ﺛﺎﻧﻴﺎ ﺗﻤﺎم ﺻﻔﺎت ﻏﻴﺮ ﻛﻠﻴﺪ ﺑﺎ‬

‫ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬ ‫ﻣﺜﺎل ‪:1‬‬ ‫‪STID‬‬ ‫‪GRADE‬‬ ‫‪COID‬‬

‫‪STNAME‬‬

‫‪STMJR‬‬

‫‪STID‬‬

‫‪STDEID‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪203‬‬

‫ﻣﺜﺎل ‪:2‬‬ ‫)‪mintopas , grade , time‬‬

‫‪R = (Std# , cr# , st.name , g/u , place ,‬‬

‫‪ 1NF‬ﻣﻲ ﺑﺎﺷﺪ ﺑﺮاي ‪ 2NF‬ﺑﻮدن‪:‬‬ ‫)‪R1=( Std# , cr# , grade‬‬ ‫)‪R2=( Std# , st.name , g/u‬‬ ‫)‪R3= (cr# , place , mintopas , time‬‬

‫ﺑﻌﺪ از اﻳﻨﻜﻪ ﺟﺪاول ﺷﻜﺴﺘﻪ ﺷﺪ ‪ ،‬ﺑﺎﻳﺪ‬

‫‪1NF‬‬

‫و‬

‫‪2NF‬‬

‫ﺑﻮدن ﻫﺮﻛﺪام از ﺟﺪاول‬

‫ﺑﺪﺳﺖ آﻣﺪه را ﺑﺮرﺳﻲ ﻛﻨﻴﺪ )ﻫﺮ ﺳﻪ ﺟﺪول ﺑﺪﺳﺖ آﻣﺪه ﻓﻮق ﻫﻢ‬

‫‪1NF‬‬

‫وﻫﻢ‬

‫‪2NF‬‬

‫ﻣﻲﺑﺎﺷﺪ(‪.‬‬

‫‪ 3-4‬راﺑﻄﻪ‬ ‫ﺟﺪوﻟﻲ‬

‫‪3NF‬‬

‫‪3NF‬‬

‫اﺳﺖ ﻛﻪ‬

‫•‬

‫در ‪ 2NF‬ﺑﺎﺷﺪ‬

‫•‬

‫واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ )واﺑﺴﺘﮕﻲ ﻏﻴﺮ ﻛﻠﻴﺪ ﺑﻪ ﻏﻴﺮ ﻛﻠﻴﺪ (‬

‫ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي‬

‫‪3NF‬‬

‫اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ‬

‫‪2NF‬‬

‫ﺑﺎﺷﺪ و ﻫﺮ ﺻﻔﺖ ﻏﻴﺮﻛﻠﻴﺪ ﺑﺎ‬

‫ﻛﻠﻴﺪ اﺻﻠﻲ‪ ،‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺑﻲ واﺳﻄﻪ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬ ‫ﻣﺜﺎل ‪:1‬‬ ‫‪STID‬‬ ‫‪GRADE‬‬ ‫‪COID‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪204‬‬

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

‫‪STMJR‬‬

‫‪STMJR‬‬ ‫‪STID‬‬ ‫‪STNAME‬‬

‫‪ 4-4‬راﺑﻄﻪ‬ ‫راﺑﻄﻪ‬

‫‪BCNF‬‬

‫‪BCNF‬‬

‫ﺣﺎﻟﺖ ﺧﺎﺻﻲ از راﺑﻄﻪ ﻧﺮﻣﺎل اﺳﺖ و داراي ﺗﻌﺎرﻳﻒ ﻣﺘﻌﺪدي ﻣﻲ ﺑﺎﺷﺪ‬

‫ﻛﻪ در ذﻳﻞ آﻣﺪه اﺳﺖ‪:‬‬ ‫ﺗﻌﺮﻳﻒ اول‪:‬ﺟﺪوﻟﻲ ‪ BCNF‬اﺳﺖ ﻛﻪ‬ ‫•‬

‫در ‪ 3NF‬ﺑﺎﺷﺪ‬

‫•‬

‫واﺑﺴﺘﮕﻲ ﻣﻌﻜﻮس ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ )واﺑﺴﺘﮕﻲ ﻛﻠﻴﺪ ﺑﻪ ﻏﻴﺮ ﻛﻠﻴﺪ (‬

‫ﺗﻌﺮﻳﻒ دوم‪ :‬راﺑﻄﻪ اي‬

‫‪BCNF‬‬

‫اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ در آن ﻫﺮ دﺗﺮﻣﻴﻨﺎن‪ ،‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬

‫ﺑﺎﺷﺪ‪.‬‬ ‫ﺗﻌﺮﻳﻒ ﺳﻮم‪ :‬راﺑﻄﻪ )‪ ،R(H‬ﺑﺎ ﻣﺠﻤﻮﻋﻪ واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﺎﺑﻌﻲ ‪ ،F‬در‬ ‫ﺑﺮاي ﻫﺮ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬

‫‪F+‬‬

‫ﺑﻪ ﺻﻮرت‬

‫‪A→B‬‬

‫ﻛﻪ در آن‬

‫‪BCNF‬‬

‫)‪A ු R(H‬‬

‫و‬

‫اﺳﺖ اﮔﺮ‬

‫)‪B ු R(H‬‬

‫اﺳﺖ‪ ،‬ﺣﺪاﻗﻞ ﻳﻜﻲ از دو ﺣﺎﻟﺖ زﻳﺮ ﺑﺮﻗﺮار ﺑﺎﺷﺪ‪:‬‬ ‫•‬

‫‪ A → B‬ﻳﻚ واﺑﺴﺘﮕﻲ ﻏﻴﺮ ﻣﻬﻢ ﺑﺎﺷﺪ ﻳﻌﻨﻲ ‪ B ු $‬‬

‫•‬

‫‪ $‬ﺳﻮﭘﺮ ﻛﻠﻴﺪ راﺑﻄﻪ ‪ 5‬ﺑﺎﺷﺪ‬

‫ﺗﻌﺮﻳﻒ ﭼﻬﺎرم‪ :‬راﺑﻄﻪ اي ‪ BCNF‬اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﺳﻤﺖ ﭼﭗ ﻫﺮ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬ ‫ﻣﻬﻢ و ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ‪ ،‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ ﺑﺎﺷﺪ‪.‬‬

‫‪ 5-4‬راﺑﻄﻪ‬

‫‪4NF‬‬

‫راﺑﻄﻪ اي ‪ 4NF‬اﺳﺖ اﮔﺮ‬ ‫•‬

‫‪ BCNF‬ﺑﺎﺷﺪ‬

‫•‬

‫در آن واﺑﺴﺘﮕﻲ ﭼﻨﺪ ﻣﻘﺪاري ﻣﻬﻢ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪205‬‬

‫ﻣﺸﻜﻞ آﻧﻮﻣﺎﻟﻲ در ﺳﻄﺢ‬

‫‪4NF‬‬

‫ﺑﺪﻳﻦ ﺻﻮرت اﺳﺖ ﻛﻪ ﮔﺎﻫﻲ دو راﺑﻄﻪاي ﻛﻪ از‬

‫ﻳﻜﺪﻳﮕﺮ ﻣﺠﺰا ﻫﺴﺘﻨﺪ را ﺑﻪ اﺷﺘﺒﺎه و ﺻﺮﻓﺎ ﺑﻮاﺳﻄﻪ اﻳﻨﻜﻪ ﻓﺮض ﻛﺮدهاﻳﻢ ﻣﻲﺗﻮاﻧﻴﻢ ﺗﺤﺖ‬ ‫ﻳﻚ راﺑﻄﻪ ﻗﺮار دﻫﻴﻢ‪ ،‬ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺗﺮﻛﻴﺐ ﻣﻲﻛﻨﻴﻢ و ﺗﺤﺖ ﻋﻨﻮان ﻳﻚ راﺑﻄﻪ در ﭘﺎﻳﮕﺎهداده‬ ‫ﻗﺮار ﻣﻲدﻫﻴﻢ‪ .‬ﭘﺲ از ورود اﻃﻼﻋﺎت در راﺑﻄﻪ ﺟﺪﻳﺪ‪ ،‬اﻳﻦ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ ﻗﺒﻠﻲ‬ ‫ﺗﺠﺰﻳﻪ ﻣﻲﻛﻨﻴﻢ و ﻃﺒﻴﻌﺘﺎ ﻣﻘﺎدﻳﺮ راﺑﻄﻪ ﻛﻠﻲ در د راﺑﻄﻪ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ‪ .‬ﺣﺎل ﭼﻨﺎﻧﭽﻪ‬ ‫ﺑﺨﻮاﻫﻴﻢ دو راﺑﻄﻪ را ﺑﺎ ﻫﻢ ﺗﺮﻛﻴﺐ ﻛﻨﻴﻢ‪ ،‬ﺑﺎ ﺣﺬف ﺑﻌﻀﻲ از ﺗﺎﭘﻞﻫﺎ ﻣﻮاﺟﻪ ﻣﻲﺷﻮﻳﻢ‪ .‬اﻟﺒﺘﻪ‬ ‫اﻳﻦ ﺷﺮاﻳﻂ ﺑﺴﻴﺎر ﺧﺎص ﺑﻮده و اﻣﻜﺎن رﺧﺪاد آن ﻧﻴﺰ ﺑﺴﻴﺎر ﻛﻢ اﺳﺖ‪ .‬ﺑﺮاي ﻣﺜﺎل راﺑﻄﻪ‬ ‫زﻳﺮ را ﻛﻪ اﺷﺘﺒﺎﻫﺎ ﻧﺮﻣﺎل ﺷﺪه اﺳﺖ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪:‬‬ ‫)‪PSR(PRID,STID,RNUM‬‬ ‫‪RNUM‬‬

‫‪STID‬‬

‫‪PRID‬‬

‫‪R1‬‬ ‫‪R1‬‬ ‫‪R1‬‬ ‫‪R2‬‬ ‫‪R2‬‬ ‫‪R2‬‬ ‫‪R1‬‬ ‫‪R1‬‬

‫‪S2‬‬ ‫‪S1‬‬ ‫‪S3‬‬ ‫‪S2‬‬ ‫‪S1‬‬ ‫‪S3‬‬ ‫‪S2‬‬ ‫‪S6‬‬

‫‪Pr22‬‬ ‫‪Pr22‬‬ ‫‪Pr22‬‬ ‫‪Pr22‬‬ ‫‪Pr22‬‬ ‫‪Pr22‬‬ ‫‪Pr33‬‬ ‫‪Pr33‬‬

‫درج ﺗﺎﭘﻠﻲ ﻣﺎﻧﻨﺪ )‪ (Pr22,S8‬ﻋﻤﻼ ﺑﻪ ﻣﻔﻬﻮم درج دو ﺗﺎﭘﻞ در ﺟﺪول ‪ PSR‬ﺑﺼﻮرت‬ ‫زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬ ‫)‪(Pr22,S8,R1‬‬ ‫)‪(Pr22,S8,R2‬‬

‫ﺣﺎل ﭼﻨﺎﻧﭽﻪ راﺑﻄﻪ ‪ PSR‬را ﻋﻤﻼ از اﺑﺘﺪا ﺑﺼﻮرت دو راﺑﻄﻪ ‪ PS‬و ‪ PR‬ﻣﺎﻧﻨﺪ زﻳﺮ در‬ ‫ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ دﻳﮕﺮ دﭼﺎر ﭼﻨﻴﻦ ﻣﺸﻜﻼﺗﻲ ﻧﺨﻮاﻫﻴﻢ ﺷﺪ‪.‬‬ ‫)‪PS(PRID,STID‬‬ ‫)‪PR(PRID,RNUM‬‬

‫‪ 6-4‬راﺑﻄﻪ‬

‫‪5NF‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪206‬‬

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

‫در ﻓﺮاﻳﻨﺪﻫﺎي ﻧﺮﻣﺎل ﺳﺎزي ﺗﺎ ﺳﻄﺢ ‪ ،4NF‬اﻟﮕﻮرﻳﺘﻢ ﻋﻤﻮﻣﻲ درﻫﺮ ﻣﺮﺣﻠﻪ ﻋﺒﺎرت ﺑﻮد‬ ‫از ﺗﺠﺰﻳﻪ راﺑﻄﻪ ﺑﻪ دو راﺑﻄﻪ ﻧﺮﻣﺎﻟﺘﺮ ﺑﻪ ﮔﻮﻧﻪ اﻳﻜﻪ ﺑﺎ ﭘﻴﻮﻧﺪ دو راﺑﻄﻪ‪ ،‬ﻫﻤﺎن راﺑﻄﻪ اﺻﻠﻲ‬ ‫ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪ .‬اﻣﺎﻣﻤﻜﻦ اﺳﺖ در وﺿﻊ ﺧﺎﺻﻲ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ ﺗﺠﺰﻳﻪ ﻛﻨﻴﻢ وﻟﻲ‬ ‫ﺑﺎ ﭘﻴﻮﻧﺪ دو راﺑﻄﻪ‪ ،‬راﺑﻄﻪ اوﻟﻴﻪ ﺑﺪﺳﺖ ﻧﻴﺎﻳﺪ‪ .‬ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ‪:‬‬ ‫)‪PRCODE (PRID, COID, DEID‬‬ ‫‪DEID‬‬

‫‪COID‬‬

‫‪PRID‬‬

‫‪D4‬‬ ‫‪D1‬‬ ‫‪D1‬‬ ‫‪D1‬‬

‫‪C1‬‬ ‫‪C3‬‬ ‫‪C1‬‬ ‫‪C1‬‬

‫‪Pr11‬‬ ‫‪Pr11‬‬ ‫‪Pr22‬‬ ‫‪Pr11‬‬

‫ﺣﺎل اﻳﻦ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ زﻳﺮ ﺗﺠﺰﻳﻪ ﻣﻲﻛﻨﻴﻢ‪ .‬ﭘﺲ راﺑﻄﻪﻫﺎي زﻳﺮ از ﺗﺠﺰﻳﻪ‬ ‫راﺑﻄﻪ ‪ PRCODE‬ﺑﺪﺳﺖ ﻣﻲآﻳﻨﺪ‪:‬‬ ‫)‪PRCO (PRID, COID‬‬ ‫)‪CODE (COID, DEID‬‬ ‫‪CODE‬‬ ‫‪DEID‬‬ ‫‪D4‬‬ ‫‪D1‬‬ ‫‪D1‬‬

‫‪PRCO‬‬ ‫‪COID‬‬ ‫‪C1‬‬ ‫‪C3‬‬ ‫‪C1‬‬

‫‪COID‬‬ ‫‪C1‬‬ ‫‪C3‬‬ ‫‪C1‬‬

‫‪PRID‬‬ ‫‪Pr11‬‬ ‫‪Pr11‬‬ ‫‪Pr22‬‬

‫ﺣﺎل ﭼﻨﺎﻧﭽﻪ دو راﺑﻄﻪ را ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺗﺮﻛﻴﺐ ﻛﻨﻴﻢ در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ ﻳﻚ رﻛﻮرد‬ ‫اﺿﺎﻓﻲ ﻣﺸﺎﻫﺪه ﻣﻲﮔﺮدد‪.‬‬ ‫‪Proc JOIN Code = XPRCODE‬‬ ‫‪DEID‬‬ ‫‪D4‬‬ ‫‪D1‬‬ ‫‪D1‬‬ ‫‪D4‬‬ ‫‪D1‬‬

‫‪COID‬‬ ‫‪C1‬‬ ‫‪C1‬‬ ‫‪C3‬‬ ‫‪C1‬‬ ‫‪C1‬‬

‫ﺑﻪ اﻳﻦ ﺷﺮاﻳﻂ آﻧﻮﻣﺎﻟﻲ در ﺳﻄﺢ‬

‫‪PRID‬‬ ‫‪Pr11‬‬ ‫‪Pr11‬‬ ‫‪Pr11‬‬ ‫‪Pr22‬‬ ‫‪Pr22‬‬ ‫‪5NF‬‬

‫→ رﻛﻮرد اﺿﺎﻓﻪ‬

‫ﻣﻲﮔﻮﻳﻨﺪ‪ .‬رﻓﻊ اﻳﻦ ﻣﻜﻞ ﺻﺮﻓﺎ ﺗﺎ ﻗﺒﻞ از‬

‫ورود دادهﻫﺎ ﻣﻤﻜﻦ ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬ ‫ﺑﺎ اﻳﻦ وﺻﻒ‪ ،‬ﺗﻌﺮﻳﻒ راﺑﻄﻪ ‪ 5NF‬ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻧﺮﻣﺎل ﺳﺎزي ‪207‬‬

‫راﺑﻄﻪاي‬

‫‪5NF‬‬

‫اﺳﺖ اﮔﺮ ﺗﻤﺎم واﺑﺴﺘﮕﻲﻫﺎي ﭘﻴﻮﻧﺪي آن ﻧﺎﺷﻲ از ﻛﻠﻴﺪﻫﺎي‬

‫ﻛﺎﻧﺪﻳﺪ آن ﺑﺎﺷﺪ‪ .‬ﺑﺎ اﻳﻦ وﺻﻒ اﮔﺮ ﺑﺘﻮاﻧﻴﻢ ﻳﻚ واﺑﺴﺘﮕﻲ ﭘﻴﻮﻧﺪي در راﺑﻄﻪ‬ ‫ﭘﻴﺪا ﻛﻨﻴﻢ ﻛﻪ در ﭘﺮﺗﻮﻫﺎﻳﺶ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬

‫‪R‬‬

‫وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬راﺑﻄﻪ‬

‫‪R‬‬

‫‪5Nf‬‬

‫ﻧﻴﺴﺖ‪.‬‬ ‫ﺗﻮﺟﻪ‪ :‬آﻧﻮﻣﺎﻟﻲ در ﺳﻄﻮح‬

‫‪4NF‬‬

‫و‬

‫‪5NF‬‬

‫ﺻﺮﻓﺎ در ﺷﺮاﻳﻂ ﺧﺎص و ﺑﺮاي ﻣﺤﻴﻄﻬﺎي‬

‫ﺧﺎص رخ ﻣﻲ دﻫﺪ و در ﺣﺎﻟﺖ ﻋﺎدي اﻳﻦ ﻧﻮع آﻧﻮﻣﺎﻟﻲ ﻫﺎ در ﻃﺮاﺣﻲ ﺳﺎﺧﺘﺎر اﻃﻼﻋﺎﺗﻲ‬ ‫ﺳﻴﺴﺘﻢ ﻫﺎ رخ ﻧﻤﻲ دﻫﺪ‪ .‬ﻟﺬا ﺑﻄﻮر ﻣﻌﻤﻮل اﮔﺮ ﺑﺘﻮاﻧﻴﻢ ﺳﺎﺧﺘﺎر اﻃﻼﻋﺎﺗﻲ ﺳﻴﺴﺘﻢ ﻣﻮرد‬ ‫ﻧﻈﺮ را ﺣﺪاﻛﺜﺮ ﺗﺎ ﺳﻄﺢ‬

‫‪3NF‬‬

‫و ﻳﺎ‬

‫‪BCNF‬‬

‫ﻧﺮﻣﺎل ﻛﻨﻴﻢ‪ ،‬اﺻﻄﻼﺣﺎ ﻣﻲ ﮔﻮﻳﻴﻢ ﻧﺮﻣﺎل‬

‫ﺳﺎزي ﻛﺎﻣﻞ اﻧﺠﺎم ﺷﺪه اﺳﺖ‪.‬‬

‫ﺗﻤﺮﻳﻨﺎت‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪208‬‬

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

‫‪ .1‬راﺑﻄﻪ ﻧﺮﻣﺎل را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ‪.‬‬ ‫‪ .2‬ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻧﺮﻣﺎل را ﻧﺎم ﺑﺒﺮﻳﺪ‬ ‫‪ .3‬راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل داراي ﭼﻪ ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺒﻲ ﺧﻮاﻫﺪ ﺑﻮد‬ ‫‪ .4‬اﻧﻮاع واﺑﺴﺘﮕﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ‬ ‫‪ .5‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ‬ ‫‪ .6‬ﺣﺎﻟﺖ ﻫﺎي واﺑﺴﺘﮕﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ‬ ‫‪ .7‬ﺻﻮرت ﻫﺎي ﻧﺮﻣﺎل را ﻧﺎم ﺑﺒﺮﻳﺪ‬ ‫‪ .8‬ﺻﻮرت ﻧﺮﻣﺎل اول را ﺗﻮﺿﻴﺢ دﻫﻴﺪ‬ ‫‪ .9‬ﺻﻮرت ﻧﺮﻣﺎل ﺳﻮم ﺑﻪ ﭼﻪ ﺻﻮرت اﺳﺖ‬ ‫‪ .10‬ﺻﻮرت ﻧﺮﻣﺎل ‪ BCNF‬راﺷﺮح دﻫﻴﺪ‬ ‫‪ .11‬ﺻﻮرت ﻧﺮﻣﺎل ‪ 5NF‬ﭼﮕﻮﻧﻪ اﺳﺖ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ < ‬ ‫ ‪ =4 > ! ! %‬‬ ‫ﻫﺪف ﻛﻠﻲ‬ ‫در اﻳﻦ ﻓﺼﻞ ﺑﻪ ﻣﻮﺿﻮع ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﭘﺮدازﻳﻢ‪ .‬اﺑﺘﺪا ﻣﻌﻤﺎري ﻫﺎي‬ ‫ﻣﺘﻤﺮﻛﺰ ﭘﺎﻳﮕﺎه داده ﻫﺎ را ﺷﺮح داده و ﺳﭙﺲ وارد ﺑﺤﺚ ﻣﻌﻤﺎري ﻫﺎي ﻏﻴﺮ ﻣﺘﻤﺮﻛﺰ‬ ‫ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﺷﻮﻳﻢ‪ .‬در ﺑﺤﺚ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻧﺎﻣﺘﻤﺮﻛﺰ‪ ،‬ﻣﻌﻤﺎري ﻫﺎﻳﻲ‬ ‫ﻣﺎﻧﻨﺪ ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‪ ،‬ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه‪ ،‬ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي‪،‬‬ ‫ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ و ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه را ﺑﺎ ذﻛﺮ ﺗﻮﺿﻴﺤﺎت در ﻣﻮرد ﻫﺮ‬ ‫ﻳﻚ از اﻧﻮاع ﻣﻌﻤﺎري ﻫﺎي ﻣﺬﻛﻮر ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد‪.‬‬

‫ﻫﺪف رﻓﺘﺎري‬ ‫دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪:‬‬ ‫•‬

‫ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ‬

‫•‬

‫ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ‬

‫•‬

‫ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‬

‫•‬

‫ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه‬

‫•‬

‫ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي‬

‫•‬

‫ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك‬

‫•‬

‫ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك‬

‫•‬

‫ﻣﻌﻤﺎري ﺑﻲ اﺟﺰا ﻣﺸﺘﺮك‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪ 210‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫•‬

‫ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬

‫•‬

‫ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‬

‫•‬

‫ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه‬

‫‪ -1‬ﻣﻘﺪﻣﻪ‬ ‫ﻳﻜﻲ از ﻣﺒﺎﺣﺚ ﻣﻬﻢ و ﻛﻠﻴﺪي در ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده‪ ،‬اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه و ﭘﻴﻜﺮ‬ ‫ﺑﻨﺪي ﻳﺎ ﻃﺮز ﺗﺮﻛﻴﺐ اﺟﺰاء ﺳﻴﺴﺘﻢ و ﭼﮕﻮﻧﮕﻲ ﺗﻌﺎﻣﻞ اﺟﺰاء ﺑﺎ ﻳﻜﺪﻳﮕﺮ اﺳﺖ‪ .‬در‬ ‫ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺣﺪاﻗﻞ ﻳﻚ ﭘﺎﻳﮕﺎه داده ﻫﺎ‪ ،‬ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ‪،‬‬ ‫ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‪ ،‬ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺎ دﺳﺘﮕﺎهﻫﺎي ﺟﺎﻧﺒﻲ و ﺗﻌﺪادي ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي و‬ ‫ﻛﺎرﺑﺮ وﺟﻮد دارﻧﺪ‪.‬‬ ‫ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺴﺘﮕﻲ ﺑﻪ دو ﻋﻨﺼﺮ اﺻﻠﻲ ﺳﻴﺴﺘﻢ ﻳﻌﻨﻲ ﺳﺨﺖاﻓﺰار و‬ ‫ﻧﺮماﻓﺰار ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ دارد‪ .‬اﻟﺒﺘﻪ ﻋﻮاﻣﻞ دﻳﮕﺮي ﻫﻢ در ﻃﺮاﺣﻲ اﻳﻦ ﻣﻌﻤﺎري‬ ‫دﺧﺎﻟﺖ دارﻧﺪ ﻛﻪ اﻫﻢ اﻳﻦ ﻋﻮاﻣﻞ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬ ‫•‬

‫ﻣﻮﻗﻌﻴﺖ ﺟﻐﺮاﻓﻴﺎﻳﻲ ﻛﺎرﺑﺮان‬

‫•‬

‫ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان‬

‫•‬

‫ﻣﺎﻫﻴﺖ ﭘﺮدازشﻫﺎ و ﺗﺮاﻛﻨﺶﻫﺎ‬

‫•‬

‫ﺗﻌﺪاد ﺗﺮاﻛﻨﺶﻫﺎ‬

‫•‬

‫ﺣﺠﻢ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ‬

‫•‬

‫ﻣﻮﻗﻌﻴﺖ ﻣﻜﺎﻧﻲ دادهﻫﺎ و ارﺗﺒﺎﻃﺎت ﺑﻴﻦ آﻧﻬﺎ‬

‫•‬

‫ﻣﺎﻫﻴﺖ ﻛﺎرﺑﺮدﻫﺎي ﻣﻮرد ﻧﻈﺮ‬

‫‪ -2‬اﻧﻮاع ﻣﻌﻤﺎري‬ ‫در اﺳﺎس دو ﻧﻮع ﻣﻌﻤﺎري ﺑﺮاي ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ وﺟﻮد دارد ﻛﻪ اﻳﻦ دو ﻣﻌﻤﺎري‬ ‫ﻋﺒﺎرﺗﻨﺪ از‪:‬‬ ‫•‬

‫ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ‬

‫•‬

‫ﻣﻌﻤﺎري ﻧﺎ ﻣﺘﻤﺮﻛﺰ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪211‬‬

‫در اداﻣﻪ ﻫﺮ ﻳﻚ از اﻧﻮاع ﻣﻌﻤﺎري ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ‪.‬‬

‫‪ 1-2‬ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ‬ ‫در اﻳﻦ ﻣﻌﻤﺎري ﻳﻚ ﭘﺎﻳﮕﺎه دادهﻫﺎ روي ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي و ﺑﺪون ارﺗﺒﺎط ﺑﺎ‬ ‫ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي دﻳﮕﺮ‪ ،‬اﻳﺠﺎد ﻣﻲ ﺷﻮد‪ .‬ﺳﺨﺖ اﻓﺰار اﻳﻦ ﺳﻴﺴﺘﻢ ﻣﻲ ﺗﻮاﻧﺪ ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺷﺨﺼﻲ ﻣﺘﻮﺳﻂ و ﻳﺎ ﺑﺰرگ ﺑﺎﺷﺪ و ﻃﺒﻌﺎ ﻗﺪرت‪ ،‬ﺗﻮاﻧﺶ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ ﻧﻴﺰ‬ ‫ﻣﺘﻔﺎوت اﺳﺖ‪.‬‬

‫ﺷﻜﻞ ‪ 1-10‬ﻧﻤﺎﻳﺸﻲ از ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ‬

‫ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ ﻛﻪ روي ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ اﻳﺠﺎد ﻣﻲﺷﻮد‪ ،‬ﺗﻚ‬ ‫ﻛﺎرﺑﺮي‪ ،‬ﺑﺮاي ﻛﺎرﺑﺮدﻫﺎي ﻛﻮﭼﻚ و ﺑﺎ اﻣﻜﺎﻧﺎت ﻣﺤﺪود اﺳﺖ و ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﻧﻴﺰ‬ ‫ﺗﻮاﻧﺶ ﭼﻨﺪاﻧﻲ ﻧﺪارد‪ .‬اﻣﺎ ﺳﻴﺴﺘﻢ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺘﻮﺳﻂ و ﺑﻪ وﻳﮋه‬ ‫ﺑﺰرگ ﻣﺘﺼﻞ ﺑﻪ ﺗﻌﺪاد زﻳﺎدي ﭘﺎﻳﺎﻧﻪ‪ ،‬ﻣﻲﺗﻮاﻧﺪ ﺳﻴﺴﺘﻢ ﻛﺎراﻳﻲ ﺑﺎﺷﺪ‪ .‬ﺷﻜﻞ ‪ 1-10‬ﻃﺮﺣﻲ‬ ‫از ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ اراﺋﻪ ﺷﺪه اﺳﺖ‪.‬‬

‫‪ 2-2‬ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ‬ ‫ﻣﻌﻤﺎري ﻧﺎ ﻣﺘﻤﺮﻛﺰ‪ ،‬ﺧﻮد داراي اﻧﻮاع ﻣﺨﺘﻠﻔﻲ اﺳﺖ از ﺟﻤﻠﻪ‪:‬‬ ‫•‬

‫ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‬

‫•‬

‫ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪ 212‬ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ ‫•‬

‫ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‬

‫•‬

‫ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي‬

‫•‬

‫ﻣﻌﻤﺎري ﻣﻮﺑﺎﻳﻞ‬

‫در اداﻣﻪ ﻫﺮ ﻳﻚ از اﻧﻮاع ﻣﻌﻤﺎري ﻫﺎي ﻏﻴﺮ ﻣﺘﻤﺮﻛﺰ را ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار‬ ‫ﺧﻮاﻫﻴﻢ داد‪.‬‬

‫‪ 1-2-2‬ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‬ ‫‪ 1-1-2-2‬ﺗﻌﺮﻳﻒ‬ ‫ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار ﺗﻌﺮﻳﻒ واﺣﺪ و ﻣﻮرد ﭘﺬﻳﺮش ﻫﻤﮕﺎن ﻧﺪارد‪ .‬در ﻣﻌﻨﺎي‬ ‫ﻋﺎم ﻣﻲ ﺗﻮان اﻳﻦ ﻣﻌﻤﺎري را ﭼﻨﻴﻦ ﺗﻌﺮﻳﻒ ﻛﺮد‪:‬‬ ‫ﻫﺮ ﻣﻌﻤﺎري ﻛﻪ در آن ﻗﺴﻤﺘﻲ از ﭘﺮدازش را ﻳﻚ ﺑﺮﻧﺎﻣﻪ‪ ،‬ﺳﻴﺴﺘﻢ ﻳﺎ ﻣﺎﺷﻴﻦ‬ ‫اﻧﺠﺎم دﻫﺪ و اﻧﺠﺎم ﻗﺴﻤﺖ دﻳﮕﺮ از ﭘﺮدازش را از ﺑﺮﻧﺎﻣﻪ‪ ،‬ﺳﻴﺴﺘﻢ ﻳﺎ ﻣﺎﺷﻴﻦ‬ ‫دﻳﮕﺮ ﺑﺨﻮاﻫﺪ‪ ،‬ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار ﻧﺎﻣﻴﺪه‬

‫ﻣﻲ ﺷﻮد‪.‬‬

‫در واﻗﻊ وﻇﺎﻳﻔﻲ ﻛﻪ ﺑﺎﻳﺪ " ﺳﻴﺴﺘﻢ" اﻧﺠﺎم دﻫﺪ ﺑﻪ دو دﺳﺘﻪ ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮﻧﺪ‪:‬‬ ‫•‬

‫دﺳﺘﻪاي ﻛﻪ اﻧﺠﺎم آن ﺑﺮ ﻋﻬﺪه ﺧﺪﻣﺘﮕﺰار اﺳﺖ‬

‫•‬

‫دﺳﺘﻪاي ﻛﻪ ﺗﻮﺳﻂ ﻣﺸﺘﺮي اﻧﺠﺎم ﻣﻲﺷﻮد‪.‬‬

‫ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻳﻚ ﻣﻌﻤﺎري دو ﺳﻄﺤﻲ دارﻳﻢ ﻛﻪ ﺑﺮﺧﻮرد ﺑﺎ ﭘﻴﭽﻴﺪﮔﻲ ﺳﻴﺴﺘﻢ ﻫﺎي‬ ‫)‪ (DBMS‬ﺟﺪﻳﺪ و ﻧﻴﺰ ﻣﺸﻜﻞ ﺗﻮزﻳﻊ را ﺗﺴﻬﻴﻞ ﻣﻲ ﻛﻨﺪ‪ .‬ﻣﺎﺷﻴﻦ در اﻳﻦ ﺗﻌﺮﻳﻒ در‬ ‫ﻣﻌﻨﺎي ﻋﺎم آن آﻣﺪه اﺳﺖ )ﻓﻴﺰﻳﻜﻲ ﻳﺎ ﻣﻨﻄﻘﻲ(‪ .‬ﺑﺎ اﻳﻦ ﺗﻌﺮﻳﻒ‪ ،‬در اﻳﻦ ﻣﻌﻤﺎري ﻳﻚ‬ ‫ﻣﺎﺷﻴﻦ )ﻳﺎ ﺳﻴﺴﺘﻢ ﻳﺎ ﺑﺮﻧﺎﻣﻪ( ﺧﺪﻣﺘﻲ را ﺑﻪ ﻣﺎﺷﻴﻦ )ﻳﺎ ﺳﻴﺴﺘﻢ ﻳﺎ ﺑﺮﻧﺎﻣﻪ( دﻳﮕﺮ اراﺋﻪ‬ ‫ﻣﻲ ﻛﻨﺪ‪ ،‬از اﻳﻦ رو ﺑﻪ اﻳﻦ ﻣﺎﺷﻴﻦ )ﻳﺎ ﺳﻴﺴﺘﻢ ﻳﺎ ﺑﺮﻧﺎﻣﻪ(‪ ،‬ﺧﺪﻣﺘﮕﺰار ﻣﻲ ﮔﻮﻳﻨﺪ‪.‬‬ ‫ﺑﻨﺎﺑﺮاﻳﻦ‪ ،‬ﻣﻨﻈﻮر از ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪-‬ﺧﺪﻣﺘﮕﺰار آن ﻧﻮع از ﻣﻌﻤﺎري اﺳﺖ ﻛﻪ در آن‬ ‫ﻣﺴﺌﻮﻟﻴﺖ ﻫﺎ ﺑﻪ ﻃﻮر ﻣﻨﻄﻘﻲ ﺗﻘﺴﻴﻢ ﺷﺪه اﺳﺖ‪.‬‬ ‫ﺗﻮﺟﻪ‪ :‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻦ ﺗﻘﺴﻴﻢ ﻛﺎر‪ ،‬ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﻣﻮﺿﻮع ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ ﺣﺘﻤﺎ‬ ‫ﺣﺪاﻗﻞ دو ﻛﺎﻣﭙﻴﻮﺗﺮ در اﻳﻦ ﻣﻌﻤﺎري وﺟﻮد دارد‪ .‬ﺣﺎل آﻧﻜﻪ ﻟﺰوﻣﺎ ﭼﻨﻴﻦ ﻧﻴﺴﺖ‪ ،‬دو‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪213‬‬

‫ﺑﺮﻧﺎﻣﻪ‪ ،‬دو زﻳﺮ ﺳﻴﺴﺘﻢ از ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي و‪ ...‬ﻣﻲ ﺗﻮاﻧﻨﺪ ﺑﺎ ﻫﻢ ﺗﻘﺴﻴﻢ ﻛﺎر‬ ‫داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪ ....‬اﻣﺎ در ﻣﺤﻴﻂ ﻫﺎي ﺟﺪﻳﺪ‪ ،‬ﻣﻌﻤﻮﻻً ﺑﺎ ﺗﻌﺪادي ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ‪،‬‬ ‫اﻳﺴﺘﮕﺎه ﻛﺎر‪ ،‬ﭼﺎﭘﮕﺮ‪ ،‬ﺧﺪﻣﺘﮕﺰار ﻓﺎﻳﻞ و ﺗﺠﻬﻴﺰات دﻳﮕﺮ‪ ،‬اﻳﺠﺎد ﻣﻲ ﺷﻮد‪.‬‬

‫‪ 2-1-2-2‬ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي‪-‬ﺧﺪﻣﺘﮕﺰار‬ ‫در اﻳﻦ ﻣﻌﻤﺎري ﻣﻌﻤﻮﻻً دو ﮔﺮوه ﻛﺎﻣﭙﻴﻮﺗﺮ دارﻳﻢ‪ :‬ﮔﺮوه ﻣﺸﺘﺮي و ﮔﺮوه ﺧﺪﻣﺘﮕﺰار‪.‬‬ ‫ﺗﻤﺎم دادهﻫﺎ در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺧﺪﻣﺘﮕﺰار ذﺧﻴﺮه ﻣﻲ ﺷﻮﻧﺪ و ﺗﻤﺎم ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﺎرﺑﺮدي‬ ‫در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺸﺘﺮي اﺟﺮا ﻣﻲ ﺷﻮﻧﺪ‪ .‬در ﺷﻜﻞ ‪ 2-10‬ﻣﺜﺎﻟﻲ از ﻃﺮح ﺳﺎده ﺷﺪه‬ ‫اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﻳﻚ ﻣﺸﺘﺮي و ﻳﻚ ﺧﺪﻣﺘﮕﺰار دﻳﺪه ﻣﻲﺷﻮد )ﮔﺎه ﻣﻮﺳﻮم ﺑﻪ ﻣﻌﻤﺎري‬ ‫دو ردﻳﻔﻲ‪ .‬اﻟﺒﺘﻪ ﻣﻌﻤﺎري ﺳﻪ ردﻳﻔﻲ )و از ﻧﻈﺮ ﺗﺌﻮرﻳﻚ‪،‬‬

‫‪n‬‬

‫ردﻳﻔﻲ‪ (n≥2 ،‬ﻫﻢ وﺟﻮد‬

‫دارد(‪.‬‬

‫ﺷﻜﻞ ‪ 2-10‬ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‬

‫ﻛﺎرﺑﺮ در ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ﻣﻲﺗﻮاﻧﺪ از ﻃﺮﻳﻖ واﺳﻂ زﻣﺎﻧﻲ )ﻣﺜﻼ زﺑﺎن دادهاي ﻓﺮﻋﻲ(‬ ‫ﻳﺎ واﺳﻂﻫﺎي دﻳﮕﺮ ﻣﺜﻞ واﺳﻂ ﮔﺮاﻓﻴﻜﻲ‪ ،‬واﺳﻂ ﻓﺮﻣﻲو‪ ...‬ﻋﻤﻞ ﻛﻨﺪ‪ .‬در ﺷﻜﻞ ‪،3-10‬‬ ‫ﻋﻨﺎﺻﺮ ﻣﺤﻴﻂ ﻧﺮماﻓﺰاري اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﻓﺮض وﺟﻮد ﻳﻚ‬ ‫اﻳﻦ ﺷﻜﻞ‪ ،‬واﺣﺪﻫﺎﻳﻲ از‬

‫‪RDBMS‬‬

‫‪RDBMS‬‬

‫دﻳﺪه ﻣﻲﺷﻮد‪ .‬در‬

‫در ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي و ﺑﻘﻴﻪ واﺣﺪﻫﺎي آن در ﻣﺎﺷﻴﻦ‬

‫ﺧﺪﻣﺘﮕﺰار ﻗﺮار دارﻧﺪ‪.‬‬ ‫ﺑﺮاي ﺗﺴﻬﻴﻞ ﺗﻤﺎس ﺑﻴﻦ ﻣﺸﺘﺮي و ﺧﺪﻣﺘﮕﺰار‪ ،‬اﺑﺰارﻫﺎﻳﻲ ﻣﺜﻞ‬

‫‪ODBC‬‬

‫و‬

‫‪JDBC‬‬

‫و‪ ...‬ﺗﻮﻟﻴﺪ ﺷﺪهاﻧﺪ‪ .‬اﻳﻦ اﺑﺰارﻫﺎ در اﺳﺎس واﺳﻂ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﻪ ﻣﺸﺘﺮيﻫﺎ‬ ‫اﻣﻜﺎن ﻣﻲدﻫﻨﺪ ﺗﺎ ﭘﺮﺳﺶﻫﺎ ﺑﻪ ﺻﻮرت اﺣﻜﺎم‬

‫‪SQL‬‬

‫ﺗﻮﻟﻴﺪ ﺷﺪه و ﺑﻪ ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار‬

‫ﻓﺮﺳﺘﺎده ﺷﻮﻧﺪ‪ .‬ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ واﺳﻂ اﺳﺘﺎﻧﺪه‪ ،‬ﻫﺮ ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ﻣﻲﺗﻮاﻧﺪ ﺑﺎ ﻫﺮ ﻣﺎﺷﻴﻦ‬ ‫ﺧﺪﻣﺘﮕﺰار ﻣﺘﺼﻞ ﺑﺎﺷﺪ و ﻧﻴﺎز ﻧﻴﺴﺖ ﻛﻪ ﻣﺤﻴﻂ ﺳﻴﺴﺘﻤﻲدو ﻣﺎﺷﻴﻦ‪ ،‬ﻫﻤﮕﻦ ﺑﺎﺷﺪ‪ .‬در‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫ﺑﻌﻀﻲ از ﻛﺎرﺑﺮدﻫﺎ‪ ،‬ﻣﻤﻜﻦ اﺳﺖ واﺳﻄﻬﺎي ﺧﺎص در ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‬ ‫و ﺣﺘﻲ ﺧﻮد ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ﻫﻢ ﻣﻲﺗﻮاﻧﺪ ﻣﺎﺷﻴﻦ ﺧﺎﺻﻲ ﺑﺎﺷﺪ‪.‬‬

‫ﺷﻜﻞ ‪ 3-10‬ﻳﻚ ﻃﺮح ﻣﻤﻜﻦ از اﺟﺰاء ﻧﺮماﻓﺰاري ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪-‬ﺧﺪﻣﺘﮕﺰار‬

‫در ﺑﻌﻀﻲ از ﺳﻴﺴﺘﻢﻫﺎ‪ ،‬ﺗﻤﺎس ﻣﺸﺘﺮي ﺑﺎ ﺧﺪﻣﺘﮕﺰار از ﻃﺮﻳﻖ ﻓﺮاﺧﻮان دور اﻧﺠﺎم‬ ‫ﻣﻲﺷﻮد‪ .‬ﺗﻤﺎم ﻓﺮاﺧﻮانﻫﺎي دور از ﺳﻮي ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي‪ ،‬در ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﺗﺮﻛﻨﺶ در‬ ‫ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار ﺟﺎي داده ﻣﻲﺷﻮﻧﺪ ﺗﺎ در اﻳﻦ ﻣﺎﺷﻴﻦ اﺟﺮا ﺷﻮﻧﺪ‪ ،‬ﺑﻪ ﮔﻮﻧﻪاي ﻛﻪ اﮔﺮ‬ ‫ﺗﺮاﻛﻨﺶ ﺑﻪ ﻫﺮ دﻟﻴﻠﻲ‪ ،‬ﻃﺮد ﺷﻮد‪ ،‬ﺧﺪﻣﺘﮕﺰار ﻣﻲﺗﻮاﻧﺪ ﺗﺎﺛﻴﺮات اﺟﺮاي ﻫﺮ ﻳﻚ از‬ ‫ﻓﺮاﺧﻮانﻫﺎي دور را از ﺑﻴﻦ ﺑﺮده‪ ،‬ﭘﺎﻳﮕﺎهدادهﻫﺎ را ﺑﻪ وﺿﻊ ﺻﺤﻴﺢ ﻗﺒﻞ از اﺟﺮاي‬ ‫ﺗﺮاﻛﻨﺶ ﺑﺮﮔﺮداﻧﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪215‬‬

‫‪ 3-1-2-2‬ﻃﺮﺣﻬﺎي ﻣﻌﻤﺎري‬ ‫‪ 1- 3-1-2-2‬از ﻧﻈﺮ ﺗﻌﺪاد ﻣﺸﺘﺮي و ﺧﺪﻣﺘﮕﺰار‬ ‫از ﻧﻈﺮ ﺗﻌﺪاد ﻣﺸﺘﺮي و ﺧﺪﻣﺖ ﮔﺬار ﻃﺮﺣﻬﺎي زﻳﺮ وﺟﻮد دارﻧﺪ‪:‬‬ ‫•‬

‫ﻳﻚ ﻣﺸﺘﺮي‪ -‬ﻳﻚ ﺧﺪﻣﺘﮕﺰار‬

‫•‬

‫ﭼﻨﺪ ﻣﺸﺘﺮي‪ -‬ﻳﻚ ﺧﺪﻣﺘﮕﺰار‬

‫•‬

‫ﻳﻚ ﻣﺸﺘﺮي‪ -‬ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار‬

‫•‬

‫ﭼﻨﺪ ﻣﺸﺘﺮي‪ -‬ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار‬

‫‪ 2- 3-1-2-2‬از ﻧﻈﺮ ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري‬ ‫از ﻧﻈﺮ ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖ اﻓﺰاري ‪ ،‬دو ﻧﻮع ﻣﻌﻤﺎري ﺑﻪ ﺷﺮح زﻳﺮ وﺟﻮد دارد‪:‬‬ ‫•‬

‫ﻣﻌﻤﺎري ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ‬

‫•‬

‫ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ‬

‫ﻣﻌﻤﺎري ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ‬ ‫در اﻳﻦ ﻃﺮح‪ ،‬ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ اﺳﺖ و ﭘﺎﻳﮕﺎه داده ﻫﺎ روي ﻫﻤﻴﻦ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ ﻣﻲﺷﻮد و ﺗﻌﺪادي ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ‪ ،‬از ﺧﺪﻣﺎت ﭘﺎﻳﮕﺎﻫﻲ‬ ‫اﻳﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻨﺪ‪ .‬ﻣﺜﺎﻟﻲ از ﻃﺮح اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ ‪4-10‬‬ ‫ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪.‬‬

‫ﺷﻜﻞ ‪ 4-10‬ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ‬ ‫در اﻳﻦ ﻃﺮح‪ ،‬ﺗﻌﺪادي ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ ﺑﻪ ﻋﻨﻮان ﺧﺪﻣﺘﮕﺰار و ﺗﻌﺪادي دﻳﮕﺮ ﺑﻪ‬ ‫ﻋﻨﻮان ﻣﺸﺘﺮي‪ ،‬از ﻃﺮﻳﻖ ﺷﺒﻜﻪ ﺑﻬﻢ ﻣﺮﺗﺒﻂ اﻧﺪ‪ .‬ﻳﻚ )ﻳﺎ ﺑﻴﺶ از ﻳﻚ( ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺷﺨﺼﻲ‪ ،‬ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎه داده ﻫﺎﺳﺖ و ﺧﺪﻣﺘﮕﺰاران دﻳﮕﺮي ﻫﻢ ﻣﻲ ﺗﻮاﻧﻨﺪ وﺟﻮد‬ ‫داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪ .‬ﻣﺜﺎﻟﻲ از ﻃﺮح اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ ‪ 5-10‬دﻳﺪه ﻣﻲ ﺷﻮد‪.‬‬

‫‪ 4-1-2-2‬ﻣﺰاﻳﺎي ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‬ ‫در ﻣﻘﺎﻳﺴﻪ ﺑﺎ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ‪ ،‬اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري ﻣﺰاﻳﺎي زﻳﺮ را دارد‪:‬‬ ‫•‬

‫ﺗﻘﺴﻴﻢ ﭘﺮدازش‬

‫•‬

‫ﻛﺎﻫﺶ ﺗﺮاﻓﻴﻚ ﺷﺒﻜﻪ )در ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ(‬

‫•‬

‫اﺳﺘﻘﻼل اﻳﺴﺘﮕﺎﻫﻬﺎي ﻛﺎر‬

‫•‬

‫اﺷﺘﺮاك دادهﻫﺎ‬

‫ﺷﻜﻞ ‪ 5-10‬ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار ﺣﻮل ﺷﺒﻜﻪ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪217‬‬

‫‪ 2-2-2‬ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه‬ ‫‪ 1-2-2-2‬ﺗﻌﺮﻳﻒ‬ ‫ﻣﺠﻤﻮﻋﻪ اي از داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه‪ ،‬ﻛﻪ ﻣﻨﻄﻘﺎً ﺑﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﺗﻌﻠﻖ دارﻧﺪ‪ ،‬وﻟﻲ در‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺨﺘﻠﻒ ﻛﻪ در ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﺷﺒﻜﻪ ﺗﻮزﻳﻊ ﺷﺪه اﻧﺪ‪ ،‬ﻗﺮار ﮔﺮﻓﺘﻪ اﻧﺪ‪.‬‬ ‫ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ در اﻳﻦ ﻣﻌﻤﺎري ﺗﻌﺪادي ﭘﺎﻳﮕﺎه دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه روي‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ ﻫﺎي ﻣﺨﺘﻠﻒ دارﻳﻢ ﻛﻪ از ﻧﻈﺮ ﻛﺎرﺑﺮان‪ ،‬ﭘﺎﻳﮕﺎه واﺣﺪي ﻫﺴﺘﻨﺪ‪ .‬ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ‪،‬‬ ‫اﻳﻦ ﻣﻌﻤﺎري ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از ﭼﻨﺪ ﭘﺎﻳﮕﺎه داده ﻣﻨﻄﻘﺎً ﻳﻜﭙﺎرﭼﻪ )ﻣﺠﺘﻤﻊ(‪ ،‬وﻟﻲ ﺑﻪ‬ ‫ﻃﻮر ﻓﻴﺰﻳﻜﻲ ﺗﻮزﻳﻊ ﺷﺪه روي ﻳﻚ ﺷﺒﻜﻪ ﻛﺎﻣﭙﻴﻮﺗﺮي‪ .‬ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ در اﻳﻦ‬ ‫ﻣﻌﻤﺎري‪ ،‬در ﺳﻄﺢ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه‪ ،‬در آﻏﺎز ﻳﻚ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻳﻜﭙﺎرﭼﻪ‬ ‫دارﻳﻢ ﻛﻪ ﻃﺮاح ﺑﺮ اﺳﺎس ﻳﻚ اﺳﺘﺮاﺗﮋي ﺗﻮزﻳﻊ و ﻳﻚ ﻃﺮح ﺗﺨﺼﻴﺺ ﻣﺸﺨﺺ‪،‬‬ ‫داده ﻫﺎﻳﺶ را در ﭼﻨﺪ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺗﻮزﻳﻊ ﻣﻲﻛﻨﺪ‪ .‬ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﭼﻨﺎن ﻫﻤﻜﺎري‬ ‫دارﻧﺪ ﻛﻪ ﻫﺮ ﻛﺎرﺑﺮ ﻣﻲ ﺗﻮاﻧﺪ ﺑﻪ داده ﻫﺎي ﻣﻮرد ﻧﻴﺎزش در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ دﺳﺘﻴﺎﺑﻲ داﺷﺘﻪ‬ ‫ﺑﺎﺷﺪ ﺑﻪ ﮔﻮﻧﻪ اي ﻛﻪ اﻧﮕﺎر دادهﻫﺎ در ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﻮدش ذﺧﻴﺮه ﺷﺪه ﺑﺎﺷﻨﺪ‪.‬‬ ‫در اﻳﻦ ﻣﻌﻤﺎري ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﻮد ﻳﻚ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎﺳﺖ ﻳﻌﻨﻲ‪:‬‬ ‫ﭘﺎﻳﮕﺎهدادهﻫﺎ‪ ،‬ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﻣﺪﻳﺮ اﻧﺘﻘﺎل دادهﻫﺎ دارد‪ .‬اﺻﻄﻼﺣﺎ‬ ‫ﻣﻲﮔﻮﻳﻴﻢ ﺗﻌﺪادي‬

‫‪DBMS‬‬

‫ﻣﺤﻠﻲ دارﻳﻢ و ﺑﺮاي اﻳﺠﺎد ﻫﻤﺎﻫﻨﮕﻲ ﺑﻴﻦ اﻳﻦ ﺳﻴﺴﺘﻢﻫﺎي‬

‫ﻣﺤﻠﻲ‪ ،‬ﻋﻨﺼﺮ ﻧﺮماﻓﺰاري ﺧﺎﺻﻲ ﻛﻪ ﻧﻮﻋﻲ ﮔﺴﺘﺮش‬ ‫در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬ﻳﻚ‬

‫‪DDBMS‬‬

‫دارﻳﻢ‪ ،‬ﻳﻌﻨﻲ ﻳﻚ‬

‫‪DBMS‬‬

‫‪DBMS‬‬

‫اﺳﺖ‪ ،‬ﻻزم اﺳﺖ‪ .‬در واﻗﻊ‬

‫ﺑﺎ ﺗﻮاﻧﺶ اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ‬

‫ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺗﻮزﻳﻊ ﺷﺪه‪ .‬ﺑﻨﺎﺑﺮﻳﻦ ﻧﻤﺎي ﻛﻠﻲ ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﻪ ﺻﻮرﺗﻲ اﺳﺖ ﻛﻪ در ﺷﻜﻞ‬ ‫‪ 6-10‬دﻳﺪه ﻣﻲﺷﻮد‪.‬‬

‫ﺷﻜﻞ ‪ 6-10‬ﻧﻤﺎي ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ در ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ از ﻃﺮﻳﻖ اﻣﻜﺎﻧﺎت ﺷﺒﻜﻪاي )ﻣﺤﻠﻲ‪ ،‬ﮔﺴﺘﺮده و ﻳﺎ ﻣﺘﺤﺮك( ﺑﻪ ﻫﻢ‬ ‫ﻣﺮﺗﺒﻂاﻧﺪ و ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ اﺟﺰا و ﻋﻨﺎﺻﺮ ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﺧﻮد را دارد‪ .‬اﻳﻦ‬ ‫اﺟﺰا و ﻋﻨﺎﺻﺮ ﻣﻲﺗﻮاﻧﻨﺪ ﻫﻤﮕﻦ ﻳﺎ ﻧﺎﻫﻤﮕﻦ ﺑﺎﺷﻨﺪ‪ .‬ﻣﺜﺎﻟﻲ از ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري‬ ‫درﺷﻜﻞ‪ 7-10‬دﻳﺪه ﻣﻲﺷﻮد‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺮﻳﻒ اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري و ﻃﺮح ﻛﻠﻲ آن‪،‬‬ ‫وﻳﮋﮔﻴﻬﺎي اﻳﻦ ﺳﻴﺴﺘﻢ را ﻣﻲﺗﻮان ﭼﻨﻴﻦ ﺑﺮﺷﻤﺮد‪:‬‬ ‫•‬

‫ﻣﺠﻤﻮﻋﻪاي اﺳﺖ از دادهﻫﺎي ﻣﻨﻄﻘﺎً ﻣﺮﺗﺒﻂ و اﺷﺘﺮاﻛﻲ‬

‫•‬

‫ﺑﻌﺾ ﺑﺨﺸﻬﺎ ﻣﻤﻜﻦ اﺳﺖ ﺑﻄﻮر ﺗﻜﺮاري )در ﭼﻨﺪ ﻧﺴﺨﻪ( در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ذﺧﻴﺮه‬ ‫ﺷﺪه ﺑﺎﺷﻨﺪ‪.‬‬

‫•‬

‫ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ از ﻃﺮﻳﻖ ﻳﻚ ﺷﺒﻜﻪ ﺑﻬﻢ ﻣﺮﺗﺒﻂاﻧﺪ‪.‬‬

‫•‬

‫دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺗﺤﺖ ﻛﻨﺘﺮل ﻳﻚ ‪ DBMS‬اﺳﺖ‪.‬‬

‫•‬

‫‪DBMS‬‬

‫در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬ﻣﻲﺗﻮاﻧﺪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻣﺤﻠﻲ‪ ،‬را ﺑﻄﻮر‬

‫اﺗﻮﻣﺎﺗﻴﻚ اﺟﺮا ﻛﻨﺪ‪.‬‬ ‫•‬

‫ﻫﺮ ‪ DBMS‬ﺣﺪاﻗﻞ در اﺟﺮاي ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي ﺳﺮﺗﺎﺳﺮي ﻣﺸﺎرﻛﺖ دارد‪.‬‬

‫ﺷﻜﻞ ‪ 7-10‬ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه ﺑﺎ ﺳﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪219‬‬

‫‪ 2-2-2-2‬ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖاﻓﺰاري‬ ‫ﮔﻔﺘﻴﻢ ﻛﻪ اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه اﻳﻦ ﻣﻌﻤﺎري ﻣﻲ ﺗﻮاﻧﻨﺪ ﻫﻤﮕﻦ ﻳﺎ ﻧﺎ ﻫﻤﮕﻦ ﺑﺎﺷﻨﺪ‪ ،‬ﺑﻪ‬ ‫وﻳﮋه از ﻧﻈﺮ ﺳﺨﺖ اﻓﺰاري‪ ،‬ﭘﻴﻜﺮﺑﻨﺪي ﻫﺎي ﮔﻮﻧﺎﮔﻮﻧﻲ ﭘﻨﺪاﺷﺘﻨﻲ اﺳﺖ‪ .‬در ﻣﺜﺎل ﺷﻜﻞ‬ ‫‪ 8-10‬دو ﭘﻴﻜﺮﺑﻨﺪي دﻳﺪه ﻣﻲﺷﻮد‪ .‬در اﻳﻦ ﻣﻌﻤﺎري اﺟﺰاء زﻳﺮ ﻣﻲ ﺗﻮاﻧﻨﺪ ﻫﻤﮕﻦ ﻳﺎ ﻧﺎ‬ ‫ﻫﻤﮕﻦ ﺑﺎﺷﻨﺪ‪:‬‬ ‫•‬

‫ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ‬

‫•‬

‫ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬

‫•‬

‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده )ﺑﻮﻳﮋه از ﻧﻈﺮ ﻣﺪل دادهاي و زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ(‬

‫•‬

‫ﭘﺮوﺗﻮﻛﻠﻬﺎي ﺷﺒﻜﻪ‬

‫•‬

‫ﺳﺨﺖاﻓﺰار ارﺗﺒﺎط‬

‫•‬

‫ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي‬

‫•‬

‫ﺗﺴﻬﻴﻼت و اﺑﺰارﻫﺎي )ﻧﺮماﻓﺰاري( ﺟﺎﻧﺒﻲ‬

‫ﺷﻜﻞ ‪ 8-10‬دو ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖاﻓﺰاري در ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ 3-2-2- 2‬ﻗﻮاﻋﺪ‬ ‫اﺻﻞ ﻣﻬﻢ در ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه اﻳﻦ اﺳﺖ ﻛﻪ "ﺳﻴﺴﺘﻢ" ﺑﺎﻳﺪ ﺟﻨﺎن‬ ‫ﻋﻤﻞ ﻛﻨﺪ ﻛﻪ ﻛﺎرﺑﺮان دﻗﻴﻘﺎ ﻣﺜﻞ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻣﺘﻤﺮﻛﺰ ﻣﻌﻤﻮﻟﻲ از آن اﺳﺘﻔﺎده‬ ‫ﻛﻨﻨﺪ )و اﻳﻦ وﻳﮋﮔﻲ‪ ،‬ﻳﻜﻲ از ﺗﻔﺎوت ﻫﺎي اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﻣﻌﻤﺎري ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺘﮕﺰار‬ ‫اﺳﺖ(‪ .‬ﺑﺮاي رﻋﺎﻳﺖ اﻳﻦ اﺻﻞ ﻣﻬﻢ‪ ،‬در ﻫﺮ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه ﻗﻮاﻋﺪي ﺑﺎﻳﺪ‬ ‫رﻋﺎﻳﺖ ﺷﻮﻧﺪ ﻛﻪ در واﻗﻊ اﻫﺪاف اﻳﻦ ﺳﻴﺴﺘﻢ ﻫﻢ ﻫﺴﺘﻨﺪ‪ .‬ﺑﺮﺧﻲ از اﻳﻦ ﻋﻮاﻣﻞ‬ ‫ﻋﺒﺎرﺗﻨﺪ از‪:‬‬ ‫•‬

‫ﺧﻮد ﻣﺨﺘﺎري ﻣﺤﻠﻲ )داﺧﻠﻲ(‬

‫•‬

‫ﺗﺪاوم ﻋﻤﻠﻴﺎت‬

‫•‬

‫ﻧﺎواﺑﺴﺘﮕﻲ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺑﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ اﺻﻠﻲ‬

‫•‬

‫ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﻣﻜﺎن ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ‬

‫•‬

‫ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﻃﺮز ﺟﺎﻳﺪﻫﻲ دادهﻫﺎ در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ‪.‬‬

‫•‬

‫ﭘﺮدازش ﭘﺮﺳﺸﻬﺎ ﺑﻪ ﮔﻮﻧﻪاي ﺗﻮزﻳﻊ ﺷﺪه‬

‫•‬

‫ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺳﺨﺖاﻓﺰار‬

‫•‬

‫ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ‬

‫•‬

‫ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ‬

‫•‬

‫ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺷﺒﻜﻪ‬

‫‪ 4-2-2-2‬ﻣﺰاﻳﺎ‬ ‫ﺑﺮﺧﻲ از ﻣﺰاﻳﺎي اﻳﻦ ﻣﻌﻤﺎري ﻋﺒﺎرﺗﺴﺖ از‪:‬‬ ‫•‬

‫ﺳﺎزﮔﺎري و ﻫﻤﺎﻫﻨﮕﻲ ﺑﺎ ﻣﺎﻫﻴﺖ ﺳﺎزﻣﺎنﻫﺎي ﻧﻮﻳﻦ‬

‫•‬

‫ﻛﺎراﻳﻲ ﺑﻴﺸﺘﺮ در ﭘﺮدازش دادهﻫﺎ ﺑﻪ وﻳﮋه در ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺑﺰرگ‬

‫•‬

‫دﺳﺘﻴﺎﺑﻲ ﺑﻬﺘﺮ ﺑﻪ دادهﻫﺎ‬

‫•‬

‫اﺷﺘﺮاك دادهﻫﺎ‬

‫•‬

‫اﻓﺰاﻳﺶ ﭘﺮدازش ﻣﻮازي‬

‫•‬

‫ﻛﺎﻫﺶ ﻫﺰﻳﻨﻪ ارﺗﺒﺎﻃﺎت‬

‫•‬

‫ﺗﺴﻬﻴﻞ ﮔﺴﺘﺮش ﺳﻴﺴﺘﻢ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪221‬‬ ‫•‬

‫اﺳﺘﻔﺎده از ﭘﺎﻳﮕﺎهدادهﻫﺎي از ﻗﺒﻞ ﻣﻮﺟﻮد‬

‫‪ 5-2-2-2‬ﻣﻌﺎﻳﺐ‬ ‫اﻳﻦ ﻣﻌﻤﺎري ﻣﻌﺎﻳﺒﻲ ﻫﻢ دارد از ﺟﻤﻠﻪ‪:‬‬ ‫•‬

‫ﭘﻴﭽﻴﺪﮔﻲ ﻃﺮاﺣﻲ ﺳﻴﺴﺘﻢ‬

‫•‬

‫ﭘﻴﭽﻴﺪﮔﻲ ﭘﻴﺎده ﺳﺎزي‬

‫•‬

‫ﻛﺎﻫﺶ ﻛﺎراﻳﻲ در ﺑﺮﺧﻲ ﻣﻮارد‬

‫•‬

‫ﻫﺰﻳﻨﻪ ﺑﻴﺸﺘﺮ‬

‫•‬

‫ﻣﺼﺮف ﺣﺎﻓﻈﻪ ﺑﻴﺸﺘﺮ‬

‫‪ 3-2-2‬ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي‬ ‫اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﺳﺎﺧﺖ و ﮔﺴﺘﺮش ﻣﺎﺷﻴﻦ ﻫﺎي ﻣﻮازي‪ ،‬ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎه داده ﻫﺎي‬ ‫ﺧﻴﻠﻲ ﺑﺰرگ و ﻧﻴﺰ در ﺳﻴﺴﺘﻢ ﻫﺎﻳﻲ ﻛﻪ ﭼﻨﺪ ﻫﺰار ﺗﺮاﻛﻨﺶ در ﺛﺎﻧﻴﻪ را ﭘﺮدازش‬ ‫ﻣﻲ ﻛﻨﻨﺪ ‪ ،‬ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﮔﺮﻓﺖ‪ .‬ﮔﻮﻧﻪ ﮔﺴﺘﺮش ﻳﺎﻓﺘﻪ ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه اﺳﺖ و‬ ‫ﺑﺮاي ﺗﺎﻣﻴﻦ ﻛﺎراﻳﻲ ﺑﻴﺸﺘﺮ‪ ،‬دﺳﺘﻴﺎﺑﻲ ﭘﺬﻳﺮي ﺑﺎﻻ و ﮔﺴﺘﺮش ﭘﺬﻳﺮي ﺳﺮﻳﻊ ﻃﺮاﺣﻲ‬ ‫ﻣﻲ ﺷﻮد‪ .‬در اﻳﻨﮕﻮﻧﻪ ﺳﻴﺴﺘﻢﻫﺎ ﻣﻌﻤﻮﻻً ﺗﻌﺪاد زﻳﺎدي ﺗﺮاﻛﻨﺶ در ﺛﺎﻧﻴﻪ )ﺣﺪود ﭼﻨﺪ‬ ‫ﻫﺰار( و ﺑﻄﻮر ﻣﻮازي اﺟﺮا ﻣﻲ ﺷﻮﻧﺪ‪ .‬ﻣﻄﺎﻟﻌﻪ ﻣﺎﺷﻴﻦ ﻫﺎي ﻣﻮازي از ﺣﺪود اﻳﻦ درس‬ ‫ﺧﺎرج اﺳﺖ‪ ،‬ﺗﻨﻬﺎ اﺷﺎره ﻣﻲﺷﻮد ﻛﻪ ﻣﺎﺷﻴﻦ ﻣﻮازي ﺑﺮ اﺳﺎس ﻳﻜﻲ از دو ﻃﺮح ﻛﻠﻲ‬ ‫زﻳﺮ ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﻣﻲ ﺷﻮد‪:‬‬ ‫•‬

‫ﭼﻨﺪ ﭘﺮدازﻧﺪه ﻗﻮي )دو ﻳﺎ ﭼﻬﺎر در ﺣﺎل ﺣﺎﺿﺮ و ﮔﺎه ﺑﻴﺸﺘﺮ(‬

‫•‬

‫ﺗﻌﺪادي ﭘﺮدازﻧﺪه ﻛﻮﭼﻚ )ﮔﺎه ﭼﻨﺪ ﺳﻄﺮ ﻳﺎ ﺣﺘﻲ ﺑﻴﺸﺘﺮ(‬

‫در ﻣﺎﺷﻴﻦ ﺑﺎ ﭘﺮدازش ﻣﻮازي دو ﻫﺪف اﺳﺎﺳﻲ وﺟﻮد دارد‪:‬‬ ‫•‬

‫اﻓﺰاﻳﺶ ﺳﺮﻋﺖ )ﻛﺎراﻳﻲ(‪ ،‬ﻳﻌﻨﻲ اﻧﺠﺎم ﻳﻚ ﻛﺎر در زﻣﺎن ﻛﻤﺘﺮ‬

‫•‬

‫اﻓﺰاﻳﺶ ﻣﻘﻴﺎس ﻛﺎر )ﮔﺴﺘﺮش ﻛﺎر( ﻳﻌﻨﻲ اﻧﺠﺎم ﻛﺎرﻫﺎي ﺑﺰرگ ﺗﺮ در زﻣﺎن‬ ‫ﻛﻤﺘﺮ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ 1-3-2-2‬ﻃﺮح ﻛﻠﻲ ﻣﻌﻤﺎري‬ ‫اﻳﻦ ﻣﻌﻤﺎري ﺑﻪ ﺻﻮرت ﻛﻠﻲ در ﺷﻜﻞ ‪ 9-10‬دﻳﺪه ﻣﻲ ﺷﻮد‪ .‬ﻣﻲ ﺑﻴﻨﻴﻢ ﻛﻪ در ﭼﻨﻴﻦ‬ ‫ﺳﻴﺴﺘﻤﻲ ‪ ،‬در اﺳﺎس ﺳﻪ واﺣﺪ اﺻﻠﻲ وﺟﻮد دارد‪:‬‬ ‫•‬

‫ﻣﺪﻳﺮ ﺗﻤﺎسﻫﺎي اﺟﺮاﻳﻲ ﻛﺎرﺑﺮان‬

‫•‬

‫ﻣﺪﻳﺮ درﺧﻮاﺳﺖﻫﺎ‬

‫•‬

‫ﻣﺪﻳﺮ دادهﻫﺎ‬

‫ﺷﻜﻞ ‪ 9-10‬ﻃﺮح ﻛﻠﻲ ﻣﻌﻤﺎري ﻣﻮازي‬

‫‪ 2-3-2-2‬ﻃﺮحﻫﺎ‬ ‫ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺑﺎ ﻣﻌﻤﺎري ﭘﺮدازش ﻣﻮازي‪ ،‬ﺑﻪ ﻃﻮر ﻛﻠﻲ‪ ،‬ﭼﻬﺎر ﻣﺪل ﻳﺎ‬ ‫ﻃﺮح وﺟﻮد دارد‪:‬‬ ‫•‬

‫ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك‬

‫•‬

‫ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚ ﻣﺸﺘﺮك‬

‫•‬

‫ﻣﻌﻤﺎري ﺑﻲ اﺟﺰاء ﻣﺸﺘﺮك‬

‫•‬

‫ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪223‬‬

‫ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي ﻣﻮازي‪ ،‬ﻋﻼوه ﺑﺮ اﺳﺘﻔﺎده از ﻳﻜﻲ از اﻳﻦ ﻣﻌﻤﺎريﻫﺎ‪،‬‬ ‫روشﻫﺎﻳﻲ ﻧﻴﺰ ﺑﺮاي ﺟﺎﻳﺪﻫﻲ دادهﻫﺎ روي دﻳﺴﻚﻫﺎ و ﻳﺎ در ﺣﺎﻓﻈﻪﻫﺎي ﻧﻬﺎن و ﻧﻴﺰ ﺑﻬﻴﻨﻪ‬ ‫ﺳﺎزش ﭘﺮﺳﺶﻫﺎي ﻛﺎرﺑﺮان ﺑﻪ ﻛﺎر ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮﻧﺪ‪ ،‬ﺑﻨﺎﺑﺮﻳﻦ ﺻﺮف وﺟﻮد ﻣﻌﻤﺎري‬ ‫ﻣﻮازي ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي ﻣﻮازي ﻛﺎﻓﻲ ﻧﻴﺴﺖ‪.‬‬

‫‪ 1-2-3-2-2‬ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك‬ ‫در اﻳﻦ ﻃﺮح‪ ،‬ﭘﺮدازﻧﺪهﻫﺎ ﺑﻪ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك دﺳﺘﻴﺎﺑﻲ دارﻧﺪ‪ .‬ﻣﺰﻳﺖ اﻳﻦ ﻃﺮح اﻳﻦ‬ ‫اﺳﺖ ﻛﻪ ارﺗﺒﺎط ﺑﻴﻦ ﭘﺮدازﻧﺪه ﻫﺎ ﺑﻄﻮر ﻛﺎرا اﻧﺠﺎم ﻣﻲﺷﻮد‪ .‬زﻳﺮا ﭘﻴﺎم ﻫﺎي ﺑﻴﻦ‬ ‫ﭘﺮدازﻧﺪه ﻫﺎ ﺑﺎ ﻧﻮﺷﺘﻦ در ﺣﺎﻓﻈﻪ ﻣﺒﺎدﻟﻪ ﻣﻲ ﺷﻮد ﻛﻪ زﻣﺎن آن ﻛﻤﺘﺮ از ﻣﻴﻜﺮوﺛﺎﻧﻴﻪ اﺳﺖ‪.‬‬ ‫داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﺣﺎﻓﻈﻪ در اﺧﺘﻴﺎر ﻫﻤﻪ ﭘﺮدازﻧﺪهﻫﺎ ﻗﺮار دارﻧﺪ‪.‬‬

‫ﺷﻜﻞ ‪ 10-10‬ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك‬

‫ﻋﻴﺐ اﻳﻦ ﻣﻌﻤﺎري در اﻳﻦ اﺳﺖ ﻛﻪ ﻧﻤﻲﺗﻮان ﺑﻴﺶ از ‪ 32‬ﻳﺎ ‪ 64‬ﭘﺮدازﻧﺪه داﺷﺖ‪،‬‬ ‫زﻳﺮا اﺣﺘﻤﺎل ﺑﺮوز ﺗﻨﮕﻨﺎ در ﺑﺎزﺳﺎي ﺣﺎﻓﻈﻪاي ﻳﺎ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ اﻓﺰاﻳﺶ ﻣﻲﻳﺎﺑﺪ‪ .‬اﻟﺒﺘﻪ اﮔﺮ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫در ﻫﺮ ﭘﺮدازﻧﺪه ﺣﺎﻓﻈﻪ ﻧﻬﺎن ﺑﺎاﻧﺪازه ﺑﺰرگ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬دﻓﻌﺎت ﻣﺮاﺟﻌﻪ ﺑﻪ ﺣﺎﻓﻈﻪ‬ ‫اﺻﻠﻲ ﻛﺎﻫﺶ ﻣﻲﻳﺎﺑﺪ‪ ،‬ﻫﺮ ﭼﻨﺪ ﻧﻤﻲﺗﻮان ﻫﻤﻪ دادهﻫﺎ را در اﻳﻦ ﺑﺎﻓﺮﻫﺎ ﺟﺎي داد‪ .‬ﻃﺮح‬ ‫ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ ‪ 10-10‬ﻧﺸﺎن داده ﺷﺪه اﺳﺖ )در اﻳﻦ ﻃﺮح و ﻃﺮحﻫﺎي‬ ‫ﺑﻌﺪي ﻣﻌﻤﺎري ﻣﻮازي‪ P ،‬ﺑﻪ ﺟﺎي ﭘﺮدازﻧﺪه و ‪ M‬ﺑﻪ ﺟﺎي ﺣﺎﻓﻈﻪ اﺳﺖ(‪.‬‬

‫‪ 2-2-3-2-2‬ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك‬ ‫در اﻳﻦ ﻃﺮح‪ ،‬ﺗﻤﺎم ﭘﺮدازﻧﺪهﻫﺎ ﺑﻪ ﺗﻤﺎم دﻳﺴﻚ ﻫﺎ از ﻃﺮﻳﻖ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ دﺳﺘﻴﺎﺑﻲ‬ ‫دارﻧﺪ‪ .‬ﻫﺮ ﭘﺮدازﻧﺪه‪ ،‬ﺣﺎﻓﻈﻪ اﺧﺘﺼﺎﺻﻲ ﺧﻮد را دارد‪ .‬ﻣﺰاﻳﺎي اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري ﺑﻪ‬ ‫ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ‪:‬‬ ‫•‬

‫ﻋﺪم ﺑﺮوز ﺗﻨﮕﻨﺎ در ﺑﺎسﻫﺎي ﺣﺎﻓﻈﻪ‬

‫•‬

‫ﺗﺴﻬﻴﻞ ﺗﺤﻤﻞ ﺧﺮاﺑﻲ‪ ،‬زﻳﺮا در ﺻﻮرت ﺧﺮاب ﺷﺪن ﻳﻚ ﭘﺮدازﻧﺪه ﻳﺎ ﺣﺎﻓﻈﻪ‪،‬‬ ‫ﭘﺮدازﻧﺪه دﻳﮕﺮ ﻣﻲﺗﻮاﻧﺪ ﻛﺎر را اداﻣﻪ دﻫﺪ‪ .‬ﻣﻲﺗﻮان از ﺳﻴﺴﺘﻢ ‪ RAID‬ﻫﻢ اﺳﺘﻔﺎده‬ ‫ﻛﺮد‪.‬‬

‫ﺷﻜﻞ ‪ 11-10‬ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪225‬‬

‫اﻳﻦ ﻣﻌﻤﺎري داراي ﻋﻴﻮﺑﻲ ﻧﻴﺰ اﺳﺖ ﻛﻪ ﻣﻬﻤﺘﺮﻳﻦ ﻋﻴﺐ آن دﺷﻮاري در ﮔﺴﺘﺮش‬ ‫ﺳﻴﺴﺘﻢ اﺳﺖ‪ ،‬زﻳﺮا ﺑﺎ اﻓﺰاﻳﺶ دﻳﺴﻚﻫﺎ و ﭘﺮدازﻧﺪهﻫﺎ‪ ،‬در ارﺗﺒﺎط ﺑﻴﻦ اﺟﺰا‪ ،‬ﺗﻨﮕﻨﺎ اﻳﺠﺎد‬ ‫ﻣﻲﺷﻮد و ﺳﺮﻋﺖ ارﺗﻘﺎ ﺑﻴﻦ آﻧﻬﺎ ﻛﺎﻫﺶ ﻣﻲﻳﺎﺑﺪ‪ .‬ﻃﺮح ﻛﻠﻲ اﻳﻦ ﺳﻴﺴﺘﻢ در ﺷﻜﻞ ‪11-10‬‬ ‫ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪.‬‬

‫‪ 3-2-3-2-2‬ﻣﻌﻤﺎري ﺑﻲ اﺟﺰا ﻣﺸﺘﺮك‬ ‫در اﻳﻦ ﻃﺮح‪ ،‬ﻫﺮ ﻣﺎﺷﻴﻦ‪ ،‬ﭘﺮدازﻧﺪه‪ ،‬ﺣﺎﻓﻈﻪ و دﻳﺴﻚ )ﻫﺎي( ﺧﻮد را دارد‪ .‬ﻳﻚ ﺷﺒﻜﻪ‬ ‫ارﺗﺒﺎﻃﻲ ﺑﺎ ﺳﺮﻋﺖ ﺑﺎﻻ اﻳﻦ ﻣﺎﺷﻴﻦ ﻫﺎ را ﺑﻪ ﻫﻢ ﻣﺮﺗﺒﻂ ﻣﻲ ﻛﻨﺪ‪ .‬ﻫﺮ ﻣﺎﺷﻴﻦ ﻧﻮﻋﻲ‬ ‫ﺧﺪﻣﺖ ﮔﺰار ﭘﺎﻳﮕﺎﻫﻲ اﺳﺖ‪ .‬در ﺷﻜﻞ ‪ ،12-10‬ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري دﻳﺪه ﻣﻲ ﺷﻮد‪.‬‬ ‫ﻣﺰﻳﺖ اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري در ﺗﺴﻬﻴﻞ ﮔﺴﺘﺮش اﺳﺖ‪ .‬وﻟﻲ ﻋﻴﺐ اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري در‬ ‫اﻳﻦ اﺳﺖ ﻛﻪ ﻫﺰﻳﻨﻪ ارﺗﺒﺎط و دﺳﺘﻴﺎﺑﻲ ﻫﺎي ﻏﻴﺮ ﻣﺤﻠﻲ زﻳﺎد اﺳﺖ‪.‬‬

‫ﺷﻜﻞ ‪ 12-10‬ﻣﻌﻤﺎري ﺑﻲ اﺟﺰاء ﻣﺸﺘﺮك‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ 4-2-3-2-2‬ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬ ‫در اﻳﻦ ﻃﺮح‪ ،‬وﻳﮋﮔﻲ ﻫﺎي ﺳﻪ ﻃﺮح ﭘﻴﺶ ﺑﺎ ﻫﻢ وﺟﻮد دارد‪ .‬در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ‬ ‫ﺳﻴﺴﺘﻢ‪ ،‬ﺗﻌﺪادي ﮔﺮه ﺑﺎ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ ﺑﻪ ﻫﻢ ﻣﺮﺗﺒﻂ اﻧﺪ و اﺟﺰا ﻣﺸﺘﺮك ﻧﺪارﻧﺪ‪ .‬ﭘﺲ‬ ‫در اﻳﻦ ﺳﻄﺢ‪ ،‬ﻣﻌﻤﺎري ﺑﻲ اﺷﺘﺮاك دارﻳﻢ‪ .‬ﻫﺮ ﮔﺮه ﺧﻮد ﻣﻲﺗﻮاﻧﺪ ﺗﻌﺪاد ﻛﻤﻲ ﭘﺮدازﻧﺪه‬ ‫ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك داﺷﺘﻪ ﺑﺎﺷﺪ ﻳﺎ ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك ﺑﺎﺷﺪ‪ .‬ﺑﻨﺎﺑﺮﻳﻦ‬ ‫ﻳﻚ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ از ﻣﻌﻤﺎريﻫﺎي ﭘﻴﺶ ﮔﻔﺘﻪ اﻳﺠﺎد ﻣﻲ ﺷﻮد‪ .‬ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري‬ ‫در ﺷﻜﻞ ‪ 13-10‬دﻳﺪه ﻣﻲ ﺷﻮد‪.‬‬

‫ﺷﻜﻞ ‪ 13-10‬ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬

‫‪ 4-2-2‬ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‬ ‫اﻳﻦ ﻣﻌﻤﺎري ﻧﻮﻋﻲ ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ اﺳﺖ ﻛﻪ در آن‪ ،‬ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺧﻮد ﻣﺨﺘﺎري‬ ‫ﻛﺎﻣﻞ دارﻧﺪ‪ .‬در ﺳﺎﻟﻬﺎي اﺧﻴﺮ ﮔﺮاﻳﺶ زﻳﺎدي ﺑﻪ اﻳﻦ ﻣﻌﻤﺎري اﻳﺠﺎد ﺷﺪه اﺳﺖ‪ .‬در‬ ‫اﻳﻦ ﻣﻌﻤﺎري‪ ،‬ﻣﻌﻤﻮﻻً ﭼﻨﺪ ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه و ﻳﺎ ﭼﻨﺪ ﺳﻴﺴﺘﻢ ﺑﺎ‬ ‫ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ از ﻗﺒﻞ وﺟﻮد دارد و ﻫﺮ ﺳﻴﺴﺘﻢ‪ ،‬روي ﻋﻤﻠﻴﺎت ﻣﺤﻠﻲ ﺧﻮد ﻛﻨﺘﺮل‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪227‬‬

‫ﻛﺎﻣﻞ دارد‪ .‬اﻣﺎ ﺑﺮاي آﻧﻜﻪ ﻛﺎرﺑﺮان ﺑﺘﻮاﻧﻨﺪ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ ﺧﻮد را ﺗﺎﻣﻴﻦ ﻛﻨﻨﺪ‬ ‫ﺑﻲ آﻧﻜﻪ ﻣﺴﺘﻘﻴﻤﺎ ﺑﺎ اﺟﺰاء ﻣﻌﻤﺎري ﻣﺮﺗﺒﻂ ﺑﺎﺷﻨﺪ و در واﻗﻊ ﺑﺘﻮاﻧﻨﺪ از ﻳﻚ ﺳﻴﺴﺘﻢ‬ ‫ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ ﺑﻬﺮه ﺑﺮداري ﻛﻨﻨﺪ‪ ،‬ﺑﻪ ﻳﻚ ﻻﻳﻪ ﻧﺮم اﻓﺰاري ﺧﺎﺻﻲ ﻧﻴﺎز اﺳﺖ‪ .‬اﻳﻦ ﻻﻳﻪ‬ ‫ﻧﺮم اﻓﺰاري اﻣﻜﺎن ﻣﻲ دﻫﺪ ﺗﺎ در ﻫﺮ ﺳﻴﺴﺘﻢ‪ ،‬ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه دادهﻫﺎ روي داده ﻫﺎي ﭘﺎﻳﮕﺎه‬ ‫ﺧﻮد ﻛﻨﺘﺮل ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﺪ و ﻧﻴﺎزي ﺑﻪ ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ ﻧﺒﺎﺷﺪ و در ﻋﻴﻦ ﺣﺎل‬ ‫ﺧﺪﻣﺎت ﻻزم ﺑﻪ ﻛﺎرﺑﺮان داده ﺷﻮد‪.‬‬ ‫اﻳﻦ ﻻﻳﻪ ﻧﺮماﻓﺰاري در ﺳﻄﺢ ﺑﺎﻻﺗﺮ از ‪DBMS‬ﻫﺎ و اﺣﻴﺎﻧﺎ ﺳﻴﺴﺘﻢﻫﺎي ﻓﺎﻳﻠﻴﻨﮓ‬ ‫ﻣﻮﺟﻮد در ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﻴﺴﺘﻢ ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‪ ،‬ﻗﺮار دارد‪ .‬اﻳﻦ ﻻﻳﻪ ﭼﻨﺎن ﻋﻤﻞ ﻣﻲﻛﻨﺪ ﻛﻪ‬ ‫ﻛﺎرﺑﺮان ﺳﻴﺴﺘﻢﻫﺎي ﻣﺨﺘﻠﻒ‪ ،‬ﻣﺠﻤﻮﻋﻪ ﭘﺎﻳﮕﺎهﻫﺎ را ﺑﻪ ﺻﻮرت ﻳﻚ ﭘﺎﻳﮕﺎه واﺣﺪ ﻣﻲﺑﻴﻨﻨﺪ‪.‬‬ ‫واﺿﺢ اﺳﺖ ﻛﻪ در ﺳﻴﺴﺘﻢ ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‪ ،‬ﻳﻚ ﺷﻤﺎي ادراﻛﻲ ﺟﺎﻣﻊ )ﺳﺮاﺳﺮي( و در ﻫﺮ‬ ‫ﻳﻚ از ‪DBMS‬ﻫﺎ‪ ،‬ﻳﻚ ﺷﻤﺎي ادراﻛﻲ ﻣﺤﻠﻲ وﺟﻮد دارد )و ﻧﻴﺰ ﺷﻤﺎﻫﺎي دﻳﮕﺮ‪ ،‬ﻃﺒﻖ‬ ‫آﻧﭽﻪ ﻛﻪ در ﻣﻌﻤﺎري‬

‫‪ANSI‬‬

‫دﻳﺪﻳﻢ‪ .‬در ﭼﻨﻴﻦ ﺳﻴﺴﺘﻤﻲﻃﺒﻌﺎ ﺑﻪ ﻳﻚ ﻛﺎﺗﺎﻟﻮگ ﺟﺎﻣﻊ ﻧﻴﺎز‬

‫اﺳﺖ‪ .‬اﻳﻦ ﻣﻌﻤﺎري ﻋﻼوه ﺑﺮ ﻣﺸﻜﻼت ﺗﻜﻨﻴﻜﻲ ﻣﻮﺟﻮد در ﻳﻚ ﺳﻴﺴﺘﻢ ﺗﻮزﻳﻊ ﺷﺪه‪،‬‬ ‫ﻣﺸﻜﻼت ﺧﺎص ﺧﻮد را ﻧﻴﺰ دارد ﻛﻪ در اﻳﻨﺠﺎ از ذﻛﺮ آﻧﻬﺎ ﺧﻮدداري ﻣﻲ ﺷﻮد‪.‬‬

‫‪ 5-2-2‬ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه‬ ‫‪ 1-5-2-2‬ﺗﻌﺮﻳﻒ‬ ‫ﺑﺎ رﺷﺪ ﺳﺮﻳﻊ ﺗﻜﻨﻮﻟﻮژي ارﺗﺒﺎﻃﺎت‪ ،‬اﻳﻨﻚ دﻳﮕﺮ اﻧﺴﺎن ﻣﻲ ﺗﻮاﻧﺪ از ﻫﺮ ﺟﺎ‪ ،‬ﺑﻪ ﻫﺮ داده‬ ‫ذﺧﻴﺮه ﺷﺪه در ﻫﺮ ﺟﺎي دﻳﮕﺮ دﺳﺘﻴﺎﺑﻲ داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬ﻫﺮ ﭼﻨﺪ ﻫﻨﻮز ﻣﺤﺪودﻳﺖ ﻫﺎﻳﻲ‬ ‫در اﻳﻦ ''داده ﻓﺮﺳﺘﻲ‪ -‬داده ﮔﻴﺮي'' وﺟﻮد دارد‪ .‬اﻣﺎ ﺗﺎ آﻧﺠﺎ ﻛﻪ ﺑﻪ ﺣﻴﻄﻪ داﻧﺶ و‬ ‫ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﺮﺑﻮط ﻣﻲ ﺷﻮد‪ ،‬ﻧﻮع ﻧﻮﻳﻨﻲ از ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه دادهﻫﺎ ﭘﺪﻳﺪ‬ ‫آﻣﺪه و در ﺣﺎل ﮔﺴﺘﺮش ﻳﺎﻓﺘﻦ اﺳﺖ‪ :‬ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻫﻤﺮاه )ﺟﺎﺑﺠﺎ ﺷﻮﻧﺪه(‪.‬‬ ‫ﻣﺎ در ﻗﺴﻤﺘﻬﺎي ﻗﺒﻞ اﻧﻮاع ﻣﻌﻤﺎري ﻫﺎي ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ را دﻳﺪﻳﻢ‪ ،‬از ﺟﻤﻠﻪ ﻣﻌﻤﺎري‬ ‫ﻣﺸﺘﺮي‪-‬ﺧﺪﻣﺘﮕﺰار‪ .‬اﻣﺎ اﻳﻦ ﻣﻌﻤﺎري و ﺣﺘﻲ ﮔﻮﻧﻪ ﮔﺴﺘﺮده ﺗﺮ آن‪ ،‬ﻳﻌﻨﻲ ﻣﻌﻤﺎري‬ ‫ﭘﺎﻳﮕﺎه ﺗﻮزﻳﻊ ﺷﺪه‪ ،‬ﻫﻨﻮز ﻣﺸﻜﻼﺗﻲ از ﺟﻤﻠﻪ "ﻋﻤﻠﻲ ﻧﺒﻮدن در ﻫﻤﻪ ﺟﺎ"‪ ،‬اﻳﻤﻨﻲ‬ ‫ﺳﻴﺴﺘﻢ و داده ﻫﺎ‪ ،‬ﻫﺰﻳﻨﻪ و‪ ...‬دارﻧﺪ‪ .‬ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهﻫﺎي ﻫﻤﺮاه راه ﺣﻠﻲ اﺳﺖ ﺑﺮاي‬ ‫ﺑﺮﺧﻲ از اﻳﻦ دﺷﻮاري ﻫﺎ‪ ،‬ﺑﻪ وﻳﮋه در ﻛﺎرﺑﺮدﻫﺎي ﺷﺨﺼﻲ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ 2-5-2-2‬ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه‬ ‫در اﻳﻦ ﻣﻌﻤﺎري‪ ،‬ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺘﻮﺳﻂ ﻳﺎ ﺑﺰرگ‪ ،‬ﻧﻘﺶ ﺧﺪﻣﺘﮕﺰار‬ ‫ﭘﺎﻳﮕﺎﻫﻲ را اﻳﻔﺎ ﻣﻲ ﻛﻨﺪ‪ .‬اﻳﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ را ﺧﺪﻣﺘﮕﺰار ﻣﻴﺰﺑﺎن ﻣﻲ ﻧﺎﻣﻨﺪ‪ .‬ﻫﺮ ﻛﺎرﺑﺮ‪،‬‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ ﻛﻮﭼﻚ ﻫﻤﺮاه ﺧﻮد را دارد )ﺑﺎ ﺧﻮد ﺣﻤﻞ ﻣﻲ ﻛﻨﺪ‪ :‬ﻧﻮﻋﻲ دﻓﺘﺮﻛﺎر ﻫﻤﺮاه(‪.‬‬ ‫در اﻳﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ داده ﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ و ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻣﻮرد ﻧﻴﺎزش ذﺧﻴﺮه‬ ‫ﺷﺪه اﻧﺪ‪ .‬ﭘﺎﻳﮕﺎه داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﺪﻣﺘﮕﺰار ﻣﻴﺰﺑﺎن‪ ،‬ﺣﺎوي داده ﻫﺎي‬ ‫ﭘﻮﻳﺎ اﺳﺖ‪ .‬ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻛﺎرﺑﺮ ﻣﻲ ﺗﻮاﻧﺪ از ﻫﺮ ﺟﺎ‪ ،‬ﺑﺎ زﻳﺮ ﺳﻴﺴﺘﻢ ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎﻫﻲ‬ ‫ﻣﺮﺗﺒﻂ ﺷﺪه و ﭘﺮدازش ﻫﺎي ﻣﻮرد ﻧﻈﺮش را اﻧﺠﺎم دﻫﺪ‪ .‬در اﻳﻦ ﺳﻴﺴﺘﻢ ﻟﺰوﻣﻲ ﻧﺪارد‬ ‫ﻛﻪ ﭘﺎﻳﮕﺎه ﻫﺎي ﻫﻤﺮاه و ﭘﺎﻳﮕﺎه ﻣﻴﺰﺑﺎن در ﻳﻚ ﺷﺒﻜﻪ ﺑﺎﺷﻨﺪ‪ .‬ارﺗﺒﺎط ﺑﻴﻦ "ﻫﻤﺮاه'' و‬ ‫ﻣﻴﺰﺑﺎن در ﺑﺎزهﻫﺎي زﻣﺎﻧﻲ ﻧﺎﻣﻨﻈﻢ و ﻣﻌﻤﻮﻻً ﻛﻮﺗﺎه ﺑﺮﭘﺎ ﻣﻲ ﮔﺮدد‪ .‬ﺑﻴﻦ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي‬ ‫ﻫﻤﺮاه‪ ،‬ﻣﮕﺮ در ﺷﺮاﻳﻂ ﺧﺎص‪ ،‬ﭼﻨﺪان ارﺗﺒﺎط ﺑﺮﻗﺮار ﻧﻤﻲ ﮔﺮدد‪.‬‬ ‫دو ﺟﻨﺒﻪ اﺳﺎﺳﻲ اﻳﻦ ﺳﻴﺴﺘﻢ ﻛﻪ ﺑﺎﻳﺪ در ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺑﻪ آن ﺗﻮﺟﻪ ﺷﻮد‬ ‫ﻋﺒﺎرﺗﻨﺪ از‪ :‬ﻣﺪﻳﺮﻳﺖ ﻛﺎراي ﭘﺎﻳﮕﺎﻫﻬﺎي ﻫﻤﺮاه و اﻳﺠﺎد ارﺗﺒﺎط ﭘﻮﻳﺎ و ﺳﺮﻳﻊ ﺑﻴﻦ‬ ‫ﭘﺎﻳﮕﺎﻫﻬﺎي ﻫﻤﺮاه و ﭘﺎﻳﮕﺎه ﻣﻴﺰﺑﺎن‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ‪229‬‬

‫ﺗﻤﺮﻳﻨﺎت‬ ‫‪ .1‬دو ﻧﻮع اﺻﻠﻲ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه دادهﻫﺎ را ﻧﺎم ﺑﺒﺮﻳﺪ؟‬ ‫‪ .2‬ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ را ﺷﺮح دﻫﻴﺪ ؟‬ ‫‪ .3‬اﻧﻮاع ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬ ‫‪ .4‬ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي‪ -‬ﺧﺪﻣﺖ ﮔﺬار را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬ ‫‪ .5‬ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬ ‫‪ .6‬ﻣﺰاﻳﺎي ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬ ‫‪ .7‬ﭼﻬﺎر ﻣﺪل ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي را ﻧﺎم ﺑﺒﺮﻳﺪ ؟‬ ‫‪ .8‬ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﻤﺮاه را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟‬

‫‪Ramin.Samad@yahoo.com‬‬


WWW.IRANMEET.COM

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

Ramin.Samad@yahoo.com


‫‪WWW.IRANMEET.COM‬‬

‫?‪ % %‬‬ ‫ ‪3@ AB 5A%‬‬ ‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪1‬‬ ‫‪ -1‬ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺑﻴﺎﻧﮕﺮ اﺧﺘﻼف ﺑﻴﻦ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت‬ ‫)‪ (Knowledge Base‬ﻣﻲﺑﺎﺷﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ‪ -‬آزاد‪(72‬‬ ‫‪ .1‬ﻫﺮ دو ﭘﺎﻳﮕﺎه از ﻳﻚ ﻧﻮع ﺑﻮده و ﻓﺮﻗﻲ ﺑﺎ ﻫﻢ ﻧﺪارﻧﺪ‪.‬‬ ‫‪ .2‬ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت دﻳﻨﺎﻣﻴﻚ وﻟﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎاﻳﺴﺘﺎ )‪ ( static‬ﻣﻲﺑﺎﺷﺪ‪.‬‬ ‫‪ .3‬ﭘﺎﻳﮕﺎهدادهﻫﺎ اﻏﻠﺐ ﺑﺎ زﺑﺎن ‪ SQL‬و ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت اﻏﻠﺐ ﺑﺎ زﺑﺎن ‪ QUEL‬ﻛﺪ‬ ‫ﻣﻲﺷﻮد‪.‬‬ ‫‪.4‬‬

‫ﻫﻴﭽﻜﺪام‬

‫‪ -2‬اﻃﻼﻋﺎت )‪ ( Information‬ﺑﻪ ﭼﻪ ﻣﻌﻨﻲ ﻣﻲﺑﺎﺷﺪ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(‬ ‫‪ .1‬دادهﻫﺎﻳﻲ ﻛﻪ روي آﻧﻬﺎ ﻋﻤﻞ ﻣﻘﺎﻳﺴﻪاي ﺻﻮرت ﮔﻴﺮد‪.‬‬ ‫‪ .2‬دادهﻫﺎﻳﻲ ﻛﻪ روي آﻧﻬﺎ ﻋﻤﻞ ﻣﺤﺎﺳﺒﺎت ﺻﻮرت ﮔﻴﺮد‪.‬‬ ‫‪ .3‬دادهﻫﺎﻳﻲ ﻛﻪ ﺑﻪ ﻧﻤﺎﻳﺶ در آﻣﺪه ﺑﺎﺷﻨﺪ‪.‬‬ ‫‪.4‬‬

‫دادهﻫﺎﻳﻲ ﻛﻪ روي آﻧﻬﺎ ﻋﻤﻞ ﭘﺮدازش ﺻﻮرت ﮔﻴﺮد‪.‬‬

‫‪ -3‬داده ‪ +‬وﻳﮋﮔﻲ ‪+‬ﻣﻮﺟﻮدﻳﺖ =‪)....‬ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ ‪(80-‬‬ ‫‪ .1‬اﻃﻼع‬ ‫‪.2‬‬

‫ﭘﺮدازش‬

‫‪ .3‬ﭘﺮوﻧﺪه‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪.4‬‬

‫داﻧﺶ‬

‫‪ -4‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻧﺴﻞ دوم ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت ﻧﺎدرﺳﺖ اﺳﺖ ؟‬ ‫‪ .1‬اﻳﻦ ﻧﺴﻞ ﺑﻪ ﻧﺴﻞ ﺷﻴﻮهﻫﺎي دﺳﺘﻴﺎﺑﻲ ﻣﻌﺮوف اﺳﺖ‪.‬‬ ‫‪ .2‬ﺗﻜﺮار ذﺧﻴﺮه ﺳﺎزي دراﻳﻦ ﻧﺴﻞ ﺑﺴﻴﺎر ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ‪.‬‬ ‫‪ .3‬ﺗﻐﻴﻴﺮ در رﺳﺎﻧﻪﻫﺎي ذﺧﻴﺮه ﺳﺎزي ﺑﺮ روي ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﺗﺎﺛﻴﺮ ﭼﻨﺪاﻧﻲ‬ ‫ﻧﺪارد‪.‬‬ ‫‪ .4‬دراﻳﻦ ﻧﺴﻞ از رﺳﺎﻧﻪﻫﺎي ﺑﺎ دﺳﺘﻴﺎﺑﻲ ﻣﺴﺘﻘﻴﻢ ﻣﺜﻞ دﻳﺴﻚ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ‪.‬‬ ‫‪ -5‬ﻛﺪام ﺗﻌﺮﻳﻒ در راﺑﻄﻪ ﺑﺎ ))داده(( درﺳﺖ اﺳﺖ ؟‬ ‫‪ .1‬ﻧﻤﺎﻳﺶ واﻗﻌﻴﺎت‪ ،‬ﭘﺪﻳﺪهﻫﺎ‪ ،‬ﻣﻔﺎﻫﻴﻢ ﻳﺎ ﻣﻌﻠﻮﻣﺎت ﺑﻪ ﺻﻮرﺗﻲ ﺻﻮري و ﻣﻨﺎﺳﺐ‬ ‫ﺑﺮاي ﺑﺮﻗﺮاري ارﺗﺒﺎط‪ ،‬ﺗﻔﺴﻴﺮ ﻳﺎ ﭘﺮدازش ﺗﻮﺳﻂ اﻧﺴﺎن ﻳﺎ اﻣﻜﺎﻧﺎت ﺧﻮدﻛﺎر‬ ‫‪ .2‬از ﻧﻈﺮ ﺳﺎﺧﺘﺎري و از دﻳﺪﮔﺎه ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‪ ،‬داده ﻋﺒﺎرت اﺳﺖ از ﻣﻘﺎدﻳﺮ‬ ‫ﺻﻔﺎت ﺧﺎﺻﻪ اﻧﻮاع ﻣﻮﺟﻮدﻳﺘﻬﺎ‬ ‫‪.3‬‬

‫ﻫﺮ دو ﮔﺰﻳﻨﻪ ‪ 1‬و ‪2‬‬

‫‪.4‬‬

‫اﻃﻼﻋﺎت ﻛﺎراﻛﺘﺮي ﻛﻪ وارد ﺳﻴﺴﺘﻢ دﺳﺘﻲ ﺷﺪه و ﺑﻪ آن ﻣﻌﻨﺎﻳﻲ ﻣﻨﺘﺴﺐ‬ ‫ﻣﻲﺷﻮد‪.‬‬

‫‪ -6‬ﻛﺪام ﻋﺒﺎرت درﺳﺖ اﺳﺖ ؟‬ ‫‪ .1‬داده ﻫﻤﺎن اﻃﻼﻋﺎت اﺳﺖ‪.‬‬ ‫‪ .2‬داده اﻃﻼﻋﺎت ﭘﺮدازش ﺷﺪه اﺳﺖ‪.‬‬ ‫‪ .3‬اﻃﻼﻋﺎت‪ ،‬داده ﭘﺮدازش ﺷﺪه اﺳﺖ‪.‬‬ ‫‪ .4‬اﻃﻼﻋﺎت ﻣﻘﺎدﻳﺮ ﺧﺎم اﺳﺖ‪.‬‬ ‫‪ Attribute -7‬ﻋﺒﺎرت اﺳﺖ از‪.....‬‬ ‫‪ .1‬ﻫﻤﺎن ﻣﻮﺟﻮدﻳﺖ اﺳﺖ‪.‬‬ ‫‪ .2‬ﺻﻔﺎت ﺧﺎﺻﻪ ﺗﻮﺿﻴﺤﻲ ﺑﺮاي ﻫﺮ ﻣﻮﺟﻮدﻳﺖ اﺳﺖ‪.‬‬ ‫‪ .3‬ﻫﻤﺎن رﻛﻮرد اﺳﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﻣﺤﻠﻲ ﻣﻮﻗﺖ ﺑﺮاي ﻳﻚ ﻣﻘﺪار اﻃﻼﻋﺎت اﺳﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪235‬‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪2‬‬ ‫‪ -1‬ﺷﻜﻞ زﻳﺮ در ﻧﻤﻮدار ‪ ER‬ﭼﻪ ﻣﻔﻬﻮﻣﻲرا ﻣﻲرﺳﺎﻧﺪ ؟‬ ‫‪ .1‬ﻫﺮ اﺳﺘﺎد ﻓﻘﻂ و ﻓﻘﻂ ﻳﻚ درس )ﻧﻪ ﻛﻤﺘﺮ و ﻧﻪ ﺑﻴﺸﺘﺮ( و ﻫﺮ درس ﺗﻮﺳﻂ ﻳﻚ‬ ‫اﺳﺘﺎد اراﺋﻪ ﻣﻲﺷﻮد‪.‬‬ ‫‪ .2‬ﻫﺮ اﺳﺘﺎد ﻳﻚ درس و ﻫﺮ درس ﺗﻮﺳﻂ ﻳﻚ اﺳﺘﺎد اراﺋﻪ ﻣﻲﺷﻮد‪ .‬ﻣﻤﻜﻦ اﺳﺖ‬ ‫اﺳﺘﺎدي درﺳﻲ اراﺋﻪ ﻧﻜﻨﺪ‪.‬‬ ‫‪ .3‬ﻫﺮ اﺳﺘﺎد ﻳﻚ درس و ﻫﺮ درس ﺗﻮﺳﻂ ﻳﻚ اﺳﺘﺎد اراﺋﻪ ﻣﻲﺷﻮد‪.‬‬ ‫‪ .4‬ﻳﻚ اﺳﺘﺎد ﻳﻚ درس و ﻳﻚ درس ﺗﻮﺳﻂ ﻳﻚ اﺳﺘﺎد اراﺋﻪ ﻣﻲﺷﻮد‪ .‬وﻟﻲ ﻣﻤﻜﻦ‬ ‫اﺳﺖ اﺳﺘﺎد آن درس ﺗﻐﻴﻴﺮ ﻛﻨﺪ‪.‬‬ ‫‪ -2‬در ﻧﻤﻮدار ‪ EER‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬ ‫‪ .1‬ﺻﻔﺖ ﻣﺸﺘﻖ را ﺑﺎ زﻳﺮ ﺧﻂ‪ ،‬ﺻﻔﺖ ﻛﻠﻴﺪي را ﺑﺎ ‪ 2‬ﺧﻂ و ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري را‬ ‫ﺑﺎ ﺧﻂ ﭼﻴﻦ ﻧﺸﺎن ﻣﻲدﻫﻴﻢ‪.‬‬ ‫‪ .2‬ﺻﻔﺖ ﻣﺸﺘﻖ را ﺑﺎ ﺧﻂ ﭼﻴﻦ‪ ،‬ﺻﻔﺖ ﻣﺮﻛﺐ را ﺑﺎ زﻳﺮ ﺧﻂ و ﺻﻔﺖ واﺑﺴﺘﻪ را ﺑﺎ‬ ‫‪ 2‬ﺧﻂ ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻴﻢ‪.‬‬ ‫‪ .3‬ﺻﻔﺖ ﻣﺸﺘﻖ را ﺑﺎ زﻳﺮ ﺧﻂ‪ ،‬ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري را ﺑﺎ ‪ 2‬ﺧﻂ و ﺻﻔﺖ ﻛﻠﻴﺪي را‬ ‫ﺑﺎ ﺧﻂ ﭼﻴﻦ ﻧﺸﺎن ﻣﻲدﻫﻴﻢ‪.‬‬ ‫‪ .4‬ﺻﻔﺖ ﻣﺸﺘﻖ را ﺑﺎ ﺧﻂ ﭼﻴﻦ‪ ،‬ﺻﻔﺖ ﻛﻠﻴﺪي را ﺑﺎ زﻳﺮ ﺧﻂ و ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري‬ ‫را ﺑﺎ ‪ 2‬ﺧﻂ ﻧﺸﺎن ﻣﻲدﻫﻴﻢ‪.‬‬ ‫‪ -3‬ﺑﻪ ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ‪ ....‬ﮔﻮﻳﻨﺪ‪.‬‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪Entity‬‬ ‫‪Attribute‬‬ ‫‪Tuple‬‬ ‫‪ER‬‬

‫‪-4‬در ﻣﺪل راﺑﻄﻪاي ﻛﺪام ﻧﻮع ﺻﻔﺖ را ﻧﺪارﻳﻢ ؟‬ ‫‪ .1‬ﺻﻔﺖ ﻛﻠﻴﺪ‬ ‫‪ .2‬ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ .3‬ﺻﻔﺖ ﻣﺸﺘﻖ‬ ‫‪ .4‬ﻫﺮ ﺳﻪ را دارﻳﻢ‬ ‫‪ -5‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻧﻤﻮدار ‪ EER‬زﻳﺮ ﺻﺎدق اﺳﺖ ؟‬ ‫‪ .1‬ﺑﻪ ﻣﺤﺾ ﺣﺬف داﻧﺸﺠﻮ از ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‪ ،‬واﺑﺴﺘﮕﺎن او ﻧﻴﺰ ﺣﺬف ﺧﻮاﻫﻨﺪ‬ ‫ﺷﺪ‪.‬‬ ‫‪ .2‬واﺑﺴﺘﮕﺎن ﻳﻚ ﻣﻮﺟﻮدﻳﺖ ﻗﻮي ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬ ‫‪ .3‬ﻣﻮﺟﻮدﻳﺖ داﻧﺸﺠﻮ‪ ،‬ﻛﻠﻴﺪ اﺻﻠﻲ ﻣﻮﺟﻮدﻳﺖ واﺑﺴﺘﮕﺎن را ﺑﻪ ارث ﻣﻲﺑﺮد‪.‬‬ ‫‪ 2 .4‬و ‪1‬‬ ‫‪ -6‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬ ‫‪ .1‬در ﻧﻤﻮدار ‪ ER‬ﻫﺮ ارﺗﺒﺎﻃﻲ ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ داراي ﺳﻤﺎﻧﺘﻴﻚ ﺧﺎﺻﻲ اﺳﺖ‪.‬‬ ‫‪ .2‬ﺻﻔﺖ ﻣﺸﺘﻖ ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﺑﻪ ﻛﻤﻚ ﺻﻔﺘﻬﺎي دﻳﮕﺮ ﻣﻲﺗﻮان آن را ﻣﺤﺎﺳﺒﻪ‬ ‫ﻛﺮد‪.‬‬ ‫‪ .3‬ﻣﻌﻨﺎي ﻧﻤﻮدار ‪ ER‬زﻳﺮ آن اﺳﺖ ﻛﻪ ارﺗﺒﺎط اﺳﺘﺎد اﺧﺘﻴﺎري اﺳﺖ‪.‬‬ ‫‪ .4‬ﻫﻴﭽﻜﺪام‬ ‫‪ -7‬ﺷﻜﻞ زﻳﺮ ﻧﻤﺎﻳﺎﻧﮕﺮ ﭼﻪ ﻧﻮع ارﺗﺒﺎﻃﻲ اﺳﺖ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪existence dependency‬‬ ‫‪is-a‬‬ ‫‪cardinality‬‬ ‫‪connectivity‬‬

‫‪ -8‬ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ ﻛﺪام اﺳﺖ ؟‬ ‫‪Attribute .1‬‬ ‫‪record .2‬‬ ‫‪ER .3‬‬ ‫‪entity .4‬‬ ‫‪ -9‬ﻣﻨﻈﻮر از ‪ Connection trap‬ﭼﻴﺴﺖ ؟‬

‫‪ .1‬اﺳﺘﻨﺘﺎج ﻧﺎدرﺳﺖ از ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ‬ ‫‪ .2‬ارﺗﺒﺎﻃﺎت دو ﻃﺮﻓﻪ ﻧﺎدرﺳﺖ‬ ‫‪ .3‬ارﺗﺒﺎط ﻧﺎدرﺳﺖ ﻣﻴﺎن ﺳﻪ ‪entity‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .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‬ﻣﻲﺑﺎﺷﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫‪237‬‬


‫‪WWW.IRANMEET.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‬‬

‫در ﺑﻌﻀﻲ ﻛﺘﺎﺑﻬﺎ ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲرا ﺑﺎ دو ﺧﻂ ﻣﻮازي ﻛﻪ ﻣﻮﺟﻮدﻳﺖ را ﺑﻪ ارﺗﺒﺎط‬ ‫ﻣﺘﺼﻞ ﻣﻲﻛﻨﺪ ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ‪ .‬ﭘﺲ ﻣﺸﺎرﻛﺖ اﺳﺘﺎد در ﺗﺪرﻳﺲ اﻟﺰاﻣﻲاﺳﺖ‬ ‫ﻳﻌﻨﻲ ﻫﺮ اﺳﺘﺎد ﺣﺘﻤﺎ ﺣﺪاﻗﻞ ﺑﺎﻳﺪ ﻳﻚ درس را ﺗﺪرﻳﺲ ﻛﻨﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪239‬‬

‫‪ (2) -7‬ارﺗﺒﺎﻃﺎﺗﻲ ﻛﻪ از ﻧﻤﺎد ﻣﺜﻠﺚ )ﻣﻔﻬﻮم ارث ﺑﺮي( اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ‪ .‬ارﺗﺒﺎﻃﺎت‬ ‫))ﻫﺴﺖ(( ﻳﺎ ))‪ ((is-a‬ﻧﺎﻣﻴﺪه ﻣﻲﺷﻮﻧﺪ‪.‬‬ ‫‪(3) -8‬‬ ‫‪(1) -9‬‬ ‫‪ (3) -10‬ﺑﺎ ﺣﺬف اﺳﺘﺎد اﻃﻼﻋﺎت ﺧﺎﻧﻮاده او ﻧﻴﺰ ﺣﺬف ﻣﻲﮔﺮدد‪.‬‬ ‫‪(4) -11‬‬ ‫‪ (2) -12‬ﻣﻮﺟﻮدﻳﺖ ﺗﻚ ﺻﻔﺘﻲ ﻣﻲﺗﻮاﻧﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﻣﺜﻼ ﺟﺪوﻟﻲ ﻛﻪ ﻓﻘﻂ‬ ‫ﻳﻚ ﺳﺘﻮن دارد‪.‬‬ ‫‪ (3) -13‬ﻓﻴﻠﺪ ﻛﻠﻴﺪ ﻧﻤﻲﺗﻮاﻧﺪ ﻣﻘﺪار ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ﻳﻌﻨﻲ ﻧﻤﻲﺗﻮاﻧﺪ ‪ NULL‬ﺑﺎﺷﺪ‪.‬‬ ‫‪ (1) -14‬ﻳﻚ ﺑﺎزﻳﻜﻦ ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪ ﮔﻞ ﺑﺰﻧﺪ وﻟﻲ ﻫﺮ ﮔﻞ ﺗﻮﺳﻂ ﻳﻚ ﺑﺎزﻳﻜﻦ زده‬ ‫ﻣﻲﺷﻮد‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﻃﺮاﺣﻲ ادراﻛﻲ ﻣﻜﻤﻞ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ اﺳﺖ و ﭘﺲ از آن اﻧﺠﺎم ﻣﻲﮔﻴﺮد‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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-‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﮔﺰارش از ﻛﺎرﻛﻨﺎن ﻳﻚ ﺑﺨﺶ ﺳﺎزﻣﺎن‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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 -‬و ﺳﺨﺖاﻓﺰار‬ ‫‪integrity-19‬‬

‫ﺑﻪ ﻋﻨﻮان ﻳﻜﻲ از اﻣﺘﻴﺎزات ‪ database‬ﺑﻪ ﭼﻪ ﻣﻌﻨﺎﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت‬

‫آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(79-‬‬ ‫‪ -1‬ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ دادهﻫﺎ و ﭘﺎﻳﮕﺎهدادهﻫﺎ‬ ‫‪ -2‬ﺻﺤﺖ دادهﻫﺎ و ﭘﺮدازش ﻫﺎ و ﭘﻴﺮوي از ﻗﻮاﻋﺪ ﺳﻴﺴﺘﻢ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﭼﻬﺎر ﻛﻨﺘﺮﻟﻲ ﻛﻪ ﺑﺎﻳﺪ روي ﺗﻤﺎﻣﻲﺗﺮاﻛﻨﺶ ﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﻋﻤﺎل ﮔﺮدد ﺗﺎ‬ ‫ﺻﺤﺖ و ﺟﺎﻣﻌﻴﺖ آن ﺗﻀﻤﻴﻦ ﺷﻮد‪ ،‬ﻛﺪاﻣﻨﺪ ؟‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﺗﺮاﻛﻨﺶ ﻫﺎ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬راﺑﻂ ﺑﻴﻦ دﻳﺘﺎﺑﻴﺲ و ﻛﺎرﺑﺮ اﺳﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬ ‫‪-3‬‬

‫‪249‬‬

‫‪Internal‬‬

‫‪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‬اﺷﺘﺮاك دادهﻫﺎ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬راﺑﻄﻪ ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ را ﺑﻴﺎن ﻣﻲﻛﻨﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﺷﻤﺎي ﻣﺮﺑﻮط ﺑﻪ ﻓﺎﻳﻠﻬﺎ‪ ،‬ﺳﻜﺘﻮرﻫﺎ و ﺷﻴﺎرﻫﺎ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ از ﻣﺤﻞ ﻓﻴﺰﻳﻜﻲ رﻛﻮردﻫﺎ ﺑﺮ روي رﺳﺎﻧﻪ‬ ‫ذﺧﻴﺮه ﺳﺎزي ﺧﺒﺮ دارد‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬رﺳﻴﺪهاﻧﺪ ﺣﺘﻲ در ﺻﻮرت زﻟﺰﻟﻪ ﻳﺎ آﺗﺶ‬ ‫ﺳﻮزي ﻧﺒﺎﻳﺴﺘﻲ از ﺑﻴﻦ ﺑﺮوﻧﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﻧﺒﺎﺷﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﺗﺮﺳﻴﻢ ﻣﻲﺷﻮد‪ .‬اﻣﺎ ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﺴﺘﮕﻲ ﺑﻪ‬ ‫ﻣﺪل ﻣﻮرد اﺳﺘﻔﺎده دارد‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﻣﺠﺘﻤﻊ ﺑﻮدن ﻳﻌﻨﻲ وﺣﺪت ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﻣﺠﺰا ﺑﺎ ﻫﺮ ﮔﺮوه‬ ‫ﺗﻜﺮاري‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪261‬‬

‫‪(4) -69‬‬ ‫‪(4) -70‬‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪4‬‬ ‫‪ -1‬در ﻛﺪام ﻣﺪل ﭘﺎﻳﮕﺎهدادهﻫﺎ‪ ،‬ﻣﺠﻤﻮﻋﻪاي ﻣﺮﺗﺐ از درﺧﺘﻬﺎ دارﻳﻢ ﻛﻪ در آن ﻓﺮزﻧﺪي‬ ‫ﺑﺪون ﭘﺪر وﺟﻮد ﻧﺪارد ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪(80-‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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-‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﻣﻄﺮح اﺳﺖ‪ ،‬ﻻزم اﺳﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﺑﺎﻧﻜﻲ اﺳﺖ ﻛﻪ در ﻣﻘﺎدﻳﺮش ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪاﻧﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪265‬‬

‫‪ -3‬ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ ﻛﻪ ﺑﻪ ﻋﻨﻮان ﻣﺠﻤﻮﻋﻪاي از رواﺑﻂ و ﺟﺪاول در ﻧﻈﺮ‬ ‫ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد‪.‬‬ ‫‪ -4‬ﻫﻴﭽﻜﺪام‪.‬‬ ‫‪ -13‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬ ‫‪ -1‬ﺳﻴﺴﺘﻢ راﺑﻄﻪاي داراي ﺳﺎﺧﺘﺎر ﻓﻴﺰﻳﻜﻲ اﺳﺖ‪.‬‬ ‫‪ -2‬ﺳﻴﺴﺘﻢ راﺑﻄﻪاي داراي ﺳﺎﺧﺘﺎر ﻣﻨﻄﻘﻲ اﺳﺖ‪.‬‬ ‫‪ -3‬ﺳﻴﺴﺘﻢ راﺑﻄﻪاي داراي ﺳﺎﺧﺘﺎر ﻣﻨﻄﻘﻲ و ﻓﻴﺰﻳﻜﻲ اﺳﺖ‪.‬‬ ‫‪ -4‬ﻫﻴﭽﻜﺪام‪.‬‬ ‫‪ -14‬ﻛﺪام ﮔﺰﻳﻨﻪ ﺟﺰو ﻣﺪﻟﻬﺎي دادهاي اﺳﺖ ؟‬ ‫‪-1‬‬ ‫‪-2‬‬ ‫‪-3‬‬ ‫‪-4‬‬

‫‪Entity Relation Ship‬‬ ‫‪Record- based data Model‬‬ ‫‪Networking Model‬‬ ‫‪Semantic Model‬‬

‫‪ -15‬ﻛﺪام ﻋﺒﺎرت ﻧﺎدرﺳﺖ اﺳﺖ ؟‬ ‫‪ -1‬ﺑﺮاي ﻣﺪﻟﻴﻨﮓ ارﺗﺒﺎﻃﺎت ﻳﻚ ﺑﻪ ﭼﻨﺪ ﻳﻜﺴﻮﻳﻪ ﺑﻴﻦ اﻧﻮاع ﻣﻮﺟﻮدﻳﺘﻬﺎ ﺳﺎﺧﺘﺎر‬ ‫ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﻨﺎﺳﺒﺘﺮ اﺳﺖ‪.‬‬ ‫‪ -2‬در ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‪ ،‬آﻧﻮﻣﺎﻟﻲ در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي وﺟﻮد دارد‪.‬‬ ‫‪ -3‬زﻣﺎن ﭘﺎﺳﺨﮕﻮﻳﻲ ﺑﻪ ﭘﺮس و ﺟﻮﻫﺎ در ﻣﺪل راﺑﻄﻪاي ﺑﺴﻴﺎر ﻛﻢ اﺳﺖ‪.‬‬ ‫‪ -4‬ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ داراي ﻳﻚ روﻳﻪ ﭘﺎﺳﺨﮕﻮﻳﻲ واﺣﺪ ﺑﺮاي ﭘﺮس و ﺟﻮﻫﺎي‬ ‫ﻗﺮﻳﻨﻪ ﻧﻤﻲﺑﺎﺷﺪ‪.‬‬ ‫‪ -16‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬ ‫‪ -1‬اﺻﻞ وﺣﺪت ﻋﻤﻠﮕﺮ‪ ،‬در ﻳﻚ ﻋﻤﻞ واﺣﺪ )ﻣﺜﻼ درج( در ﻣﺪل ﺷﺒﻜﻪاي رﻋﺎﻳﺖ‬ ‫ﻣﻲﺷﻮد‪.‬‬ ‫‪ -2‬در ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﺴﻴﺮ ﻣﻨﻄﻘﻲ ﻫﻤﻴﺸﻪ از رﻳﺸﻪ و از ﺑﺎﻻ ﺑﻪ ﭘﺎﻳﻴﻦ اﺳﺖ‪.‬‬ ‫‪ -3‬در ﻣﺪل راﺑﻄﻪاي ﺑﺎﻧﻚ دادهﻫﺎ از دﻳﺪ ﻛﺎرﺑﺮ از ﺗﻌﺪادي ﺟﺪول ﺗﺸﻜﻴﻞ ﺷﺪه‬ ‫اﺳﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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 -‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﺗﻌﺪاد ﺻﻔﺎت ﺧﺎﺻﻪ ﻣﻮﺟﻮدﻳﺖ اﺳﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﺻﻔﺘﻲ اﺳﺖ در ﻳﻚ راﺑﻄﻪ ﻛﻪ در راﺑﻄﻪ دﻳﮕﺮ ﻛﻠﻴﺪ اﺻﻠﻲ ﻳﺎ‬ ‫ﻓﺮﻋﻲ اﺳﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﺗﺸﻜﻴﻞ ﻳﺎﻓﺘﻪ اﺳﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ -14‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﭼﻴﺴﺖ ؟‬ ‫‪ .1‬اﻣﻜﺎن ﭘﻴﻮﻧﺪ دادن راﺑﻄﻪﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ را ﻣﻲدﻫﺪ‪.‬‬ ‫‪ .2‬اﻣﻜﺎن رﺟﻮع از راﺑﻄﻪاي ﺑﻪ راﺑﻄﻪ دﻳﮕﺮ را ﻣﻲدﻫﺪ‪.‬‬ ‫‪ .3‬اﻣﻜﺎن ﺧﺎرج ﺷﺪن از راﺑﻄﻪاي را ﻣﻲدﻫﺪ‪.‬‬ ‫‪2 .4‬و‪1‬‬ ‫‪ -15‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟‬ ‫‪ .1‬ﺳﻴﺴﺘﻢ راﺑﻄﻪاي داراي ﺳﺎﺧﺘﺎر ﻣﻨﻄﻘﻲ اﺳﺖ‪.‬‬ ‫‪ .2‬ﺟﺪول ﻣﺸﺘﻖ )‪ (drived table‬راﺑﻄﻪاي اﺳﺖ ﻛﻪ از ﺟﺪول دﻳﮕﺮ اﺧﺬ ﮔﺮدﻳﺪه‬ ‫اﺳﺖ‪.‬‬ ‫‪ .3‬در راﺑﻄﻪ ﻫﻤﻪ ﻣﻘﺎدﻳﺮ ﺻﻔﺎت ﺧﺎﺻﻪ ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪ ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬ ‫‪ .4‬ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ راﺑﻄﻪاي ﺑﻪ ﻋﻨﻮان ﻣﺠﻤﻮﻋﻪاي از رواﺑﻂ و ﺟﺪوﻟﻬﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ‬ ‫ﻣﻲﺷﻮد‪.‬‬ ‫‪ -16‬ﭼﻪ راﺑﻄﻪاي ﺑﻴﻦ ﻛﻠﻴﺪ ﻫﺎي اﺻﻠﻲ و ﺧﺎرﺟﻲ در ﻳﻚ ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ ﺑﺎﻳﺪ وﺟﻮد‬ ‫داﺷﺘﻪ ﺑﺎﺷﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ‪ -‬آزاد ‪(80‬‬ ‫‪ .1‬در زﻣﺎﻧﻲ ﻛﻪ راﺑﻄﻪاي ﺑﻴﻦ دو ﺟﺪول ﺑﻪ وﺟﻮد ﻣﻲآﻳﺪ‪ ،‬ﺟﺪول ﭘﺪر دراﻳﻦ ارﺗﺒﺎط‬ ‫ﺑﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺴﺘﮕﻲ دارد و ﺟﺪول ﻓﺮزﻧﺪ ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﺴﺘﮕﻲ ﺧﻮاﻫﺪ‬ ‫داﺷﺖ‪.‬‬ ‫‪ .2‬در زﻣﺎﻧﻲ ﻛﻪ راﺑﻄﻪاي ﺑﻴﻦ دو ﺟﺪول ﺑﻪ وﺟﻮد ﻣﻲآﻳﺪ‪ ،‬ﺟﺪول ﭘﺪر دراﻳﻦ ارﺗﺒﺎط‬ ‫ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﺴﺘﮕﻲ دارد و ﺟﺪول ﻓﺮزﻧﺪ ﺑﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺴﺘﮕﻲ ﺧﻮاﻫﺪ‬ ‫داﺷﺖ‪.‬‬ ‫‪ .3‬ﺳﺘﻮن دادهﻫﺎي ﻛﻠﻴﺪ اﺻﻠﻲ در ﺟﺪول ﺷﺎﻣﻞ ﺳﺘﻮن ﻛﻠﻴﺪﻫﺎي ﺧﺎرﺟﻲ ﻣﻲﺑﺎﺷﺪ‪.‬‬ ‫‪ .4‬ﻫﻴﭻ راﺑﻄﻪاي ﺑﻴﻦ ﻛﻠﻴﺪ اﺻﻠﻲ و ﺧﺎرﺟﻲ وﺟﻮد ﻧﺪارد‪.‬‬ ‫‪ -17‬ﻛﺪاﻣﻴﻚ از اﻗﻼم زﻳﺮ ﺑﻬﺘﺮﻳﻦ ﺗﻌﺮﻳﻒ ﺑﻪ ﻋﻨﻮان ﻳﻚ ﺷﺨﺺ‪ ،‬ﻣﻜﺎن ﭼﻴﺰ ﻳﺎ ﻣﻔﻬﻮم از‬ ‫دادهﻫﺎي ﺟﻤﻊ آوري ﺷﺪهاﻧﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ‪ -‬آزاد ‪(80‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﺣﺪاﻗﻞ ﻳﻚ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ وﺟﻮد دارد‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .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‬ﺗﺸﻜﻴﻞ ﻳﺎﻓﺘﻪ اﺳﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫‪275‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪279‬‬

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪6‬‬ ‫‪ -1‬ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ دو ﺟﺪول زﻳﺮ ﭼﻨﺪ ﺳﻄﺮ و ﭼﻨﺪ ﺳﺘﻮن دارد ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي‬ ‫ﻓﻨﻲ‪( 79 -‬‬ ‫‪s‬‬

‫‪sp‬‬ ‫ﺗﻌﺪاد ‪Qty‬‬

‫‪P#‬‬

‫‪S#‬‬

‫‪city‬‬

‫‪sname‬‬

‫‪S#‬‬

‫‪300‬‬

‫‪P1‬‬

‫‪S1‬‬

‫ﺗﻬﺮان‬

‫ﻓﻦ آوران‬

‫‪S1‬‬

‫‪200‬‬

‫‪P2‬‬

‫‪S1‬‬

‫ﺗﺒﺮﻳﺰ‬

‫اﻳﺮان ﻗﻄﻌﻪ‬

‫‪S2‬‬

‫‪400‬‬

‫‪P3‬‬

‫‪S1‬‬

‫ﺗﺒﺮﻳﺰ‬

‫ﭘﻮﻻدﻳﻦ‬

‫‪S3‬‬

‫‪300‬‬

‫‪P1‬‬

‫‪S2‬‬

‫‪400‬‬

‫‪P2‬‬

‫‪S2‬‬

‫‪200‬‬

‫‪P2‬‬

‫‪S3‬‬

‫‪ 18 .1‬ﺳﻄﺮ و ‪ 6‬ﺳﺘﻮن‬ ‫‪ 18 .2‬ﺳﻄﺮ و ‪ 9‬ﺳﺘﻮن‬ ‫‪ 9 .3‬ﺳﻄﺮ و ‪ 6‬ﺳﺘﻮن‬ ‫‪ 6 .4‬ﺳﻄﺮ و ‪ 5‬ﺳﺘﻮن‬ ‫‪ -2‬ﻋﺒﺎرت ‪ A JOIN B‬را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ .‬اﮔﺮ ﺗﻤﺎم ﺻﻔﺎت ﺧﺎﺻﻪ ‪ A‬و ‪ B‬ﻳﻜﺴﺎن ﺑﺎﺷﻨﺪ‬ ‫ﻋﺒﺎرت ﻓﻮق ﻣﻌﺎدل ﻛﺪام ﻋﺒﺎرت زﻳﺮ اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ‪( 79 -‬‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪A UNION B‬‬ ‫‪A MINUS B‬‬ ‫‪A INTERSECT B‬‬ ‫‪A TIMES B‬‬

‫‪ -3‬دو ﺟﺪول زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ﺳﭙﺲ ﺑﮕﻮﺋﻴﺪ در ﻧﺘﻴﺠﻪ اﻟﺤﺎق آﻧﻬﺎ ﺗﻮﺳﻂ دﺳﺘﻮر‬ ‫داده ﺷﺪه‪ ،‬ﻛﻠﻴﺪ اﺻﻠﻲ ﭼﻪ ﻣﻲﺷﻮد ؟‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪ 280‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬ ‫‪DEPT‬‬

‫‪EMP‬‬ ‫‪SALARY‬‬

‫‪DEPT#‬‬

‫‪ENAME‬‬

‫‪EMP#‬‬

‫‪BUDGET‬‬

‫‪DNAME‬‬

‫‪DEPT‬‬ ‫‪#‬‬

‫‪40K‬‬

‫‪D1‬‬

‫‪Lopez‬‬

‫‪E1‬‬

‫‪10M‬‬

‫‪Marketing‬‬

‫‪D1‬‬

‫‪42K‬‬

‫‪D1‬‬

‫‪Cheng‬‬

‫‪E2‬‬

‫‪12M‬‬

‫‪30K‬‬

‫‪D2‬‬

‫‪Finzi‬‬

‫‪E3‬‬

‫‪5M‬‬

‫‪Developme‬‬ ‫‪nt‬‬ ‫‪Research‬‬

‫‪D2‬‬

‫‪35K‬‬

‫‪D2‬‬

‫‪Saito‬‬

‫‪E4‬‬

‫‪D3‬‬

‫‪Join:‬‬ ‫‪DEPT and EMP over DEPT#‬‬ ‫‪DEPT# .1‬‬ ‫‪EMP# .2‬‬ ‫‪BUDGET .3‬‬ ‫‪EMP# , DEPT# .4‬‬ ‫‪ -4‬در ﺟﺪول ‪ EMP‬در ﺗﺴﺖ ﻗﺒﻠﻲ‪ ،‬ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻛﺪام اﺳﺖ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬

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

‫‪ .4‬ﻫﻴﭽﻜﺪام‪ .‬ﭼﻮن ‪ D1‬و ‪ D2‬ﺗﻜﺮار ﺷﺪهاﻧﺪ‪ DEPT# ،‬ﻧﻤﻲﺗﻮاﻧﺪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ‬ ‫ﺑﺎﺷﺪ‪.‬‬ ‫‪ -5‬ﺗﻘﺎﺿﺎي زﻳﺮ در ﻣﻮرد ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﭼﻪ ﻛﺎري اﻧﺠﺎم‬ ‫ﻣﻲدﻫﺪ؟‬ ‫;}‪Result: = (( S join SP) where P# ' p2' ) { S# , city‬‬

‫‪ .1‬ﺷﻬﺮ ﻋﺮﺿﻪ ﻛﻨﻨﺪهاي را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﻪ ‪ p2‬را ﺳﺎﺧﺘﻪ اﺳﺖ‪.‬‬ ‫‪ .2‬ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪه و ﺷﻬﺮ ﻋﺮﺿﻪ ﻛﻨﻨﺪهاي را ﻛﻪ ﻗﻄﻌﻪ ‪ p2‬را ﺗﻮﻟﻴﺪ ﻣﻲﻛﻨﺪ‪،‬‬ ‫ﺑﺎزﻳﺎﺑﻲ ﻣﻲﻛﻨﺪ‪.‬‬ ‫‪ .3‬ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪهاي را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﻪ ‪ p2‬در ﻫﻤﺎن ﺷﻬﺮ آن ﺗﻮﻟﻴﺪ ﺷﺪه‬ ‫اﺳﺖ‪.‬‬ ‫‪ .4‬ﻫﻴﭽﻜﺪام‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫ﺗﺬﻛﺮ‪ :‬ﺳﻪ ﺟﺪول ﺗﻬﻴﻪ ﻛﻨﻨﺪه‬

‫)‪S (S# , Sname , City‬‬

‫‪281‬‬

‫و ﻗﻄﻌﻪ‬

‫)‪ P (P# , Pname , Color , City‬و ﻣﺤﻤﻮﻟﻪ )‪ SP ( S# , P# , Qty‬را در ﻧﻈﺮ ﮔﺮﻓﺘﻪ و‬ ‫ﺑﻪ ‪ 4‬ﺳﻮال زﻳﺮ ﭘﺎﺳﺦ دﻫﻴﺪ‪.‬‬ ‫‪ -6‬ﻛﺪام ﮔﺰﻳﻨﻪ ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﺗﻮﻟﻴﺪي آﻧﻬﺎ را ﭼﺎپ ﻣﻲﻛﻨﺪ ﺑﻪ ﺷﺮط آﻧﻜﻪ‬ ‫ﻗﻄﻌﻪ ﺗﻮﻟﻴﺪي آﻧﻬﺎ ﺑﻴﺸﺘﺮ از ‪ 200‬ﻋﺪد ﺑﺎﺷﺪ ؟‬ ‫‪.1‬‬

‫))‪Π s#, p# ( σ Qty >200 (SP‬‬

‫‪.2‬‬

‫))‪Π s#, p# ( σ Qty >200 (S∞ P‬‬

‫‪.3‬‬

‫))‪σ Qty >200 (Π s#, p# (SP‬‬

‫‪1,3 .4‬‬ ‫‪ -7‬در راﺑﻄﻪ ﺑﺎ دو دﺳﺘﻮر زﻳﺮ ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬ ‫))‪) Π s# , p# ( σ Qty >200 ( SP‬ب‬

‫و )‪ ) σ p# = p1 (S∞ SP‬اﻟﻒ‬

‫‪ .1‬اﻳﻦ دو دﺳﺘﻮر دﻗﻴﻘﺎ ﻣﻌﺎدل ﻳﻜﺪﻳﮕﺮﻧﺪ و ﻫﻴﭻ ارﺟﺤﻴﺘﻲ ﻧﺴﺒﺖ ﺑﻪ ﻫﻢ ﻧﺪارﻧﺪ‪.‬‬ ‫‪ .2‬اﻳﻦ دو دﺳﺘﻮر ﻣﻌﺎدل ﻧﻴﺴﺘﻨﺪ‪.‬‬ ‫‪ .3‬اﻳﻦ دو دﺳﺘﻮر ﻣﻌﺎدﻟﻨﺪ وﻟﻲ ب ﻛﺎراﺗﺮ و ﺑﻬﻴﻨﻪ ﺗﺮ از اﻟﻒ اﺳﺖ‪.‬‬ ‫‪ .4‬اﻳﻦ دو دﺳﺘﻮر ﻣﻌﺎدﻟﻨﺪ وﻟﻲ اﻟﻒ ﻛﺎراﺗﺮ و ﺑﻬﻴﻨﻪ ﺗﺮ از ب اﺳﺖ‪.‬‬ ‫‪ -8‬ﻛﺪام ﮔﺰﻳﻨﻪ اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن ﻗﻄﻌﻪ ‪ p2‬را ﻣﻲدﻫﺪ ؟‬ ‫‪.1‬‬

‫))‪Π sname ( σp# = p2 (S∞ P‬‬

‫‪.2‬‬

‫))‪Π sname ( σp# = p2 (S∞ SP‬‬

‫‪.3‬‬

‫))‪σp# = p2 (Π sname (P∞ SP‬‬

‫‪.4‬‬

‫))‪σp# = p2 (Π sname (P∞ S‬‬

‫‪ -9‬دﺳﺘﻮر زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬ ‫)‪Π sname ( Π s# ((Π p# ( σ color = ' red' ( P )) ∞ SP ) ∞ S‬‬

‫‪ .1‬ﺷﻤﺎره اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﺎت ﻗﺮﻣﺰ رﻧﮓ را ﺗﻮﻟﻴﺪ ﻛﺮدهاﻧﺪ‪.‬‬ ‫‪ .2‬ﺷﻤﺎره و اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺷﻤﺎره ﻗﻄﻌﻪ آﻧﻬﺎ ﻣﻮﺟﻮد ﺑﻮده و‬ ‫رﻧﮓ آﻧﻬﺎ ﻗﺮﻣﺰ ﻣﻲﺑﺎﺷﺪ‪.‬‬ ‫‪ .3‬اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻳﻚ ﻗﻄﻌﻪ ﻗﺮﻣﺰ رﻧﮓ ﺗﻬﻴﻪ ﻣﻲﻛﻨﻨﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ .4‬اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲﻳﺎﺑﺪ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﻗﻄﻌﻪ ﻗﺮﻣﺰ رﻧﮓ ﺗﻬﻴﻪ ﻣﻲﻛﻨﻨﺪ‪.‬‬ ‫‪ -10‬ﻛﺪام ﻋﻤﻠﮕﺮ ﻫﺎ را ﻣﻲﺗﻮان ﺑﻮﺳﻴﻠﻪ ﻋﻤﻠﮕﺮ ﻫﺎي دﻳﮕﺮ در ﺟﺒﺮ راﺑﻄﻪاي ﺷﺒﻴﻪ ﺳﺎزي‬ ‫ﻛﺮد؟‬ ‫‪ .1‬ﺗﻘﺴﻴﻢ‪ -‬اﺟﺘﻤﺎع‪ -‬ﭘﻴﻮﻧﺪ‬ ‫‪ .2‬اﺷﺘﺮاك‪ -‬ﺿﺮب دﻛﺎرﺗﻲ‪ -‬ﺟﺎﻳﮕﺰﻳﻨﻲ‬ ‫‪ .3‬اﺷﺘﺮاك‪ -‬ﺗﻘﺴﻴﻢ‪ -‬ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ‬ ‫‪ .4‬ﺿﺮب دﻛﺎرﺗﻲ‪ -‬ﺗﻘﺴﻴﻢ‪ -‬اﺟﺘﻤﺎع‬ ‫‪ -11‬ﻛﺪام ﻓﺮﻣﻮل در ﺟﺒﺮ راﺑﻄﻪاي ﻧﺎدرﺳﺖ اﺳﺖ ؟ )‪ σ‬ﻧﻤﺎد ﻋﻤﻠﮕﺮ ﮔﺰﻳﻨﺶ ﻳﺎ ‪select‬‬

‫ﻣﻲﺑﺎﺷﺪ(‬ ‫‪.1‬‬ ‫‪.2‬‬

‫‪A×B = B ×A‬‬ ‫)‪σ p( A ∩ B ) = σ p (A) ∩ σ p (B‬‬

‫‪.3‬‬

‫)‪A ∩ B = B -( B-A‬‬

‫‪.4‬‬

‫)‪σ p( B-A ) = σ p (b) -σ p (a‬‬

‫‪ -12‬اﮔﺮ ‪ A‬و ‪ B‬دو راﺑﻄﻪ ﺑﺎﺷﻨﺪ‪ ،‬ﻛﻠﻴﺪ اﺻﻠﻲ ‪ A MINUS B‬ﭼﻪ ﻣﻲﺷﻮد ؟‬ ‫‪ .1‬ﻛﻠﻴﺪ اﺻﻠﻲ ‪A‬‬ ‫‪ .2‬ﻛﻠﻴﺪ اﺻﻠﻲ ‪B‬‬ ‫‪ .3‬ﻛﻠﻴﺪ اﺻﻠﻲ‪A ∩ B‬‬ ‫‪.4‬‬

‫ﻛﻠﻴﺪ اﺻﻠﻲ ‪A U B‬‬

‫‪ -13‬اﮔﺮ ‪ Divide by‬را ﺑﻪ ﺻﻮرت ﺳﻪ ﻋﻤﻠﻮﻧﺪي در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ‪ ،‬ﻛﺪام ﻓﺮﻣﻮل در ﺟﺒﺮ‬ ‫راﺑﻄﻪاي ﺻﺤﻴﺢ اﺳﺖ ؟‬ ‫‪.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‬‬

‫‪( A Divide by B ) TIMES B = A‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬ ‫‪Budjet‬‬

‫‪D name‬‬

‫‪D#‬‬

‫‪10‬‬

‫‪M‬‬

‫‪D1‬‬

‫‪20‬‬

‫‪D‬‬

‫‪D2‬‬

‫‪5‬‬

‫‪R‬‬

‫‪D3‬‬

‫ﻧﺘﻴﺠﻪ دﺳﺘﻮر زﻳﺮ ﭼﻴﺴﺖ ؟‬ ‫‪Project:‬‬ ‫‪DEPT over D# , Budjet‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ 2 .1‬ﺻﻔﺖ ﺧﺎﺻﻪ و ﻫﻴﭻ ﺗﺎﭘﻞ‬ ‫‪ .2‬ﻫﻴﭻ ﺗﺎﭘﻞ و ‪ 2‬ﺻﻔﺖ ﺧﺎﺻﻪ‬ ‫‪ 2 .3‬ﺻﻔﺖ ﺧﺎﺻﻪ و ‪ 3‬ﺗﺎﭘﻞ‬ ‫‪ 2 .4‬ﺗﺎﭘﻞ و ‪ 3‬ﺻﻔﺖ ﺧﺎﺻﻪ‬ ‫‪ -17‬ﻛﺪام ﻋﻤﻠﮕﺮ در ﺟﺒﺮ راﺑﻄﻪاي وﺟﻮد دارد‪ ،‬وﻟﻲ ﻣﻤﻜﻦ اﺳﺖ در ﺑﻌﻀﻲ از ﺑﺎﻧﻜﻬﺎي‬ ‫اﻃﻼﻋﺎﺗﻲ ﭘﻴﺎده ﺳﺎزي ﻧﺸﺪه ﺑﺎﺷﺪ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬

‫‪Join‬‬ ‫‪Subtract‬‬ ‫‪Add‬‬

‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬ ‫‪ -18‬ﻓﺮض ﻛﻨﻴﺪ ﺟﺪول داﻧﺸﻜﺪه ﺑﻪ ﺻﻮرت زﻳﺮ ﺷﺎﻣﻞ )) ﺷﻤﺎره‪ ،‬ﻧﺎم داﻧﺸﻜﺪه و ﺷﻬﺮ ((‬ ‫ﺑﺎﺷﺪ‪:‬‬ ‫) ‪Clg ( clg# , clgname , city‬‬

‫و ﺟﺪول درس ﺷﺎﻣﻞ ))ﺷﻤﺎره درس‪ ،‬ﻧﺎم درس‪ ،‬ﺗﻌﺪاد واﺣﺪ و ﺷﻤﺎره داﻧﺸﻜﺪه اراﺋﻪ‬ ‫دﻫﻨﺪ (( ﺑﺎﺷﺪ‪:‬‬ ‫)‪Crs ( c# , c name , unit , clg#‬‬

‫ﺣﺎل ﺑﻪ ﻛﻤﻚ دﺳﺘﻮرات ﺟﺒﺮ راﺑﻄﻪاي‪ ،‬درﺳﻬﺎﻳﻲ ﻛﻪ ﺗﻮﺳﻂ ﻫﻤﻪ داﻧﺸﻜﺪهﻫﺎ اراﺋﻪ‬ ‫ﻣﻲﺷﻮﻧﺪ را ﺑﺪﻫﻴﺪ‪.‬‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪Clg Join Crs giving temp ; select temp where cname ALL‬‬ ‫‪Project clg [ clg#]Giving temp ; Crs Divideby temp‬‬ ‫‪Clg join crs giving temp ; select cname‬‬ ‫‪Project clg [ clg#] Giving temp ; clg join crs join temp divideby‬‬ ‫‪cname‬‬

‫‪ -19‬ﺣﺎﺻﻞ ﻋﺒﺎرت زﻳﺮ ﻛﺪام اﺳﺖ ؟‬ ‫)‪R2 (C‬‬

‫‪DIV‬‬

‫)‪R1(A , B , C‬‬

‫‪C1‬‬

‫‪c1‬‬

‫‪b1‬‬

‫‪a1‬‬

‫‪C3‬‬

‫‪c3‬‬

‫‪b1‬‬

‫‪a1‬‬

‫‪c2‬‬

‫‪b2‬‬

‫‪a2‬‬

‫‪c1‬‬

‫‪b1‬‬

‫‪a3‬‬

‫‪c3‬‬

‫‪b1‬‬

‫‪a3‬‬

‫‪Ramin.Samad@yahoo.com‬‬


WWW.IRANMEET.COM

285

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

.1 R3(A , B) a1

b1

a3

b1

.2 R3(A , B) a2

b2

.3 R3(A , B , C) a1 a3 a1 a3

b1 b1 b1 b1

c1 c1 c3 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 a2

b1 b2

c1 c2

.2 R3 ( A) a2

.3 R3(A) a1

.4

Ramin.Samad@yahoo.com


‫‪WWW.IRANMEET.COM‬‬

‫‪ 286‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬ ‫)‪R3(A , B‬‬ ‫‪b1‬‬ ‫‪b2‬‬

‫‪c1‬‬ ‫‪c2‬‬

‫‪ -21‬ﺷﻤﺎره ﻗﻄﻌﺎﺗﻲ را ﺑﺪﻫﻴﺪ ﻛﻪ ﺗﻮﺳﻂ ﻫﻤﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن ﺗﻬﻴﻪ ﺷﺪهاﻧﺪ‪.‬‬ ‫‪.1‬‬

‫‪Temp ←Π s#‬‬ ‫‪sp ÷ Temp‬‬

‫‪.2‬‬

‫)‪Temp ←Π s#(S‬‬ ‫)‪Π 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‬‬

‫ﭼﻪ ﻣﻲﺷﻮد؟‬ ‫‪ .1‬آﻫﻦ‬

‫ﻗﺮﻣﺰ‬

‫‪300‬‬

‫‪P1‬‬

‫ﻣﺲ‬

‫ﺳﺒﺰ‬

‫‪400‬‬

‫‪ P2‬ﺗﺒﺮﻳﺰ اﻳﺮان ﻗﻄﻌﻪ‬ ‫ﻓﻦ آوران‬

‫ﺗﻬﺮان‬

‫ﻓﻦ آوران‬

‫‪ .2‬آﻫﻦ‬

‫ﻗﺮﻣﺰ‬

‫‪300‬‬

‫‪P1‬‬

‫ﺗﻬﺮان‬

‫آﻫﻦ‬

‫ﻗﺮﻣﺰ‬

‫‪300‬‬

‫‪P1‬‬

‫ﺗﺒﺮﻳﺰ اﻳﺮان ﻗﻄﻌﻪ‬

‫آﻫﻦ‬

‫ﻗﺮﻣﺰ‬

‫‪300‬‬

‫‪P1‬‬

‫ﻓﻦ آوران‬

‫ﺗﻬﺮان‬

‫‪S1‬‬ ‫‪S2‬‬ ‫‪S1‬‬ ‫‪S2‬‬ ‫‪S1‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪ .3‬ﻣﺲ‬

‫ﺳﺒﺰ‬

‫‪200‬‬

‫‪ P2‬ﺗﺒﺮﻳﺰ‬

‫ﭘﻮﻻدﻳﻦ‬

‫‪287‬‬

‫‪S3‬‬

‫‪ .4‬ﻫﻴﭽﻜﺪام‬ ‫‪ -24‬اﮔﺮ راﺑﻄﻪ ‪ A‬از درﺟﻪ ‪ n‬ﺑﺎﺷﺪ‪ ،‬ﭼﻨﺪ ﺗﺼﻮﻳﺮ ﻣﺨﺘﻠﻒ از ‪ A‬وﺟﻮد دارد ؟‬ ‫‪.1‬‬

‫! )‪(n-1‬‬

‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫!‪n‬‬ ‫‪2ⁿ‬‬ ‫‪2n‬‬

‫‪ -25‬ﺧﺎﺻﻴﺖ ﺑﺴﺘﻪ ﺑﻮدن )‪ ( closure‬ﺑﻪ ﭼﻪ ﻣﻌﻨﺎﺳﺖ ؟‬ ‫‪ .1‬ﺧﺮوﺟﻲ ﻫﺮ ﻋﻤﻠﮕﺮ راﺑﻄﻪاي‪ ،‬ﻳﻚ راﺑﻄﻪ اﺳﺖ‪.‬‬ ‫‪ .2‬اﻟﺤﺎق دو راﺑﻄﻪ راﺑﻄﻪاي ﺟﺎﻣﻌﺘﺮ از ﻫﺮ دو ﻣﻲﺑﺎﺷﺪ‪.‬‬ ‫‪ .3‬ﺿﺮب دﻛﺎرﺗﻲ دو راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ ﻣﺎدر ﻫﺮ دو ﻣﻲﺑﺎﺷﺪ‪.‬‬ ‫‪ .4‬اﺟﺘﻤﺎع دو راﺑﻄﻪ در ﻫﺮ ﺣﺎل اﻣﻜﺎن ﭘﺬﻳﺮ اﺳﺖ‪.‬‬ ‫‪ -26‬ﻛﺪام ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي ﺑﻪ ﻋﻤﻠﻮﻧﺪﻫﺎي ﺳﺎزﮔﺎر ﻧﻴﺎز دارﻧﺪ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬

‫‪U‬‬ ‫‪−‬‬ ‫∞‬

‫‪1 .4‬و‪2‬‬ ‫‪ -27‬ﺟﺒﺮ راﺑﻄﻪاي‪....‬‬ ‫‪ .1‬ﻳﻚ زﺑﺎن اﺟﺮاﻳﻲ ﺑﺮاي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ راﺑﻄﻪاي اﺳﺖ‪.‬‬ ‫‪ .2‬ﻫﻤﺎن ‪ SQL‬اﺳﺖ‪.‬‬ ‫‪ .3‬زﺑﺎﻧﻲ از ﻧﺴﻞ ﭼﻬﺎرم )‪ ( 4GL‬ﻣﻲﺑﺎﺷﺪ‪.‬‬ ‫‪ .4‬ﺑﻪ ‪ DBMS‬ﻣﻲﮔﻮﻳﺪ ﭼﮕﻮﻧﻪ ﻳﻚ راﺑﻄﻪ ﺟﺪﻳﺪ از ﻳﻚ ﻳﺎ ﭼﻨﺪ راﺑﻄﻪ ﺳﺎﺧﺘﻪ ﺷﻮد‪.‬‬ ‫‪ -28‬زﺑﺎﻧﻲ داراي اﻛﻤﺎل راﺑﻄﻪاي اﺳﺖ ﻛﻪ‪....‬‬ ‫‪ .1‬ﺣﺪاﻗﻞ ﻫﻤﺘﻮان ﺑﺎ ﺟﺒﺮ راﺑﻄﻪاي ﺑﺎﺷﺪ‪.‬‬ ‫‪ .2‬ﺣﺪاﻛﺜﺮ ﻫﻤﺘﻮان ﺑﺎ ﺟﺒﺮ راﺑﻄﻪاي ﺑﺎﺷﺪ‪.‬‬ ‫‪ .3‬ﻫﺮ راﺑﻄﻪاي ﻛﻪ ﺑﺎ ﻋﺒﺎرات ﺟﺒﺮ راﺑﻄﻪاي ﻗﺎﺑﻞ ﺗﻌﺮﻳﻒ اﺳﺖ‪ ،‬ﺗﻮﺳﻂ آم زﺑﺎن ﻧﻴﺰ‬ ‫ﺗﻌﺮﻳﻒ ﺷﺪﻧﻲ ﺑﺎﺷﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪1 .4‬و‪3‬‬ ‫‪ -29‬ﻛﺪام ﻓﺮﻣﻮل ﻧﺎدرﺳﺖ اﺳﺖ ؟‬ ‫‪.1‬‬

‫)‪A∩ B = A− ( A− B‬‬

‫‪.2‬‬ ‫‪.3‬‬

‫‪A ∞ B ≠ B∞ A‬‬ ‫‪A∞ B = σ ( A∩ b)× A‬‬

‫‪A ∞B = B∞ A .4‬‬ ‫‪ X U Y -30‬دو ﺟﺪول زﻳﺮ ﭼﻨﺪ ﺳﻄﺮ و ﭼﻨﺪ ﺳﺘﻮن دارد ؟‬ ‫‪Y‬‬

‫ﺷﻬﺮ ﺗﻮﻟﺪ‬

‫ﻣﻌﺪل‬

‫ﺷﻤﺎره‬

‫ﻧﺎم‬

‫ﺗﻬﺮان‬

‫‪17‬‬

‫‪123‬‬

‫ﻋﻠﻲ‬

‫ﺗﺒﺮﻳﺰ‬

‫‪15‬‬

‫‪574‬‬

‫ﺟﻮاد‬

‫ﺷﻬﺮ ﺗﻮﻟﺪ‬

‫ﻣﻌﺪل‬

‫ﺷﻤﺎره‬

‫ﻧﺎم‬

‫ﺗﻬﺮان‬

‫‪17‬‬

‫‪123‬‬

‫ﻋﻠﻲ‬

‫ﺗﻬﺮان‬

‫‪17‬‬

‫‪934‬‬

‫ﻣﺠﻴﺪ‬

‫‪X‬‬

‫‪ 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‬اﺗﻔﺎﻗﻲ اﺳﺖ و ﻧﻤﻲﺗﻮان ﮔﻔﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪289‬‬

‫‪ -32‬اﮔﺮ ‪ A‬راﺑﻄﻪاي ﺑﺎ ﺻﻔﺎت ‪ B , Y , X‬راﺑﻄﻪاي دﻳﮕﺮ ﺑﺎ ﺻﻔﺖ ﺧﺎﺻﻪ ‪ X‬ﺑﺎﺷﺪ‪ ،‬ﻛﺪام‬ ‫ﮔﺰﻳﻨﻪ ﻣﻌﺎدل ﻋﺒﺎرت ‪ A÷ B‬ﻣﻲﺑﺎﺷﺪ ؟‬ ‫‪.1‬‬

‫) ] ‪A [ Y ]− ( A− [ X‬‬

‫‪.2‬‬

‫] ‪A [ Y ]−(( A [ Y ]× B)− A ) [ Y‬‬

‫‪.3‬‬

‫] ‪A [ X ]−(( A [ X ]× B)− A ) [ X‬‬

‫‪.4‬‬

‫) ] ‪A [ X ]− ( A− B [ X‬‬

‫‪ -33‬ﺑﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت‪ ،‬ﻛﺪام دﺳﺘﻮر ﻣﺸﺨﺼﺎت‬ ‫ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم ﻗﻄﻌﺎت را ﻋﺮﺿﻪ ﻛﺮدهاﻧﺪ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪SP ( S# , P# ) divided by P (P#) Join S‬‬ ‫‪(SP Join S) Minus P‬‬ ‫‪SP ( S# , P# ) divided by P (P#) Union S‬‬ ‫‪(SP Join P) Minus S‬‬

‫‪ -34‬ﺑﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت‪ ،‬ﻛﺪام دﺳﺘﻮر ﻣﺸﺨﺼﺎت‬ ‫ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﻪ ‪ P3‬را ﺗﻬﻴﻪ ﻧﻤﻲﻛﻨﻨﺪ ؟‬ ‫‪.1‬‬

‫]])‪[Π S# ( S ∞ SP)U [ σp#< >'p3'(SP‬‬

‫‪.2‬‬

‫‪[Π S#( S) − σp#< >'p3'(SP ) ] ∞ S‬‬

‫‪.3‬‬

‫‪[Π S#( S) − ( Π S#( σp#= 'p3'(SP ))) ] ∞ S‬‬

‫‪ .4‬ﻫﻴﭽﻜﺪام‬ ‫‪ -35‬دو راﺑﻄﻪ ‪ x‬و ‪ y‬زﻳﺮ را در ﻧﻈﺮ ﮔﺮﻓﺘﻪ و ﺑﮕﻮﺋﻴﺪ ‪ x times y‬ﭼﻨﺪ ﺳﻄﺮ ﺧﻮاﻫﺪ‬ ‫داﺷﺖ ؟‬

‫‪y‬‬

‫‪x‬‬

‫‪e‬‬

‫‪a‬‬

‫‪a‬‬ ‫‪f‬‬ ‫‪g‬‬

‫‪b‬‬ ‫‪c‬‬ ‫‪d‬‬ ‫‪m‬‬

‫‪20 .1‬ﺳﻄﺮ‬ ‫‪ 15 .2‬ﺳﻄﺮ‬ ‫‪ 9 .3‬ﺳﻄﺮ‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ 25 .4‬ﺳﻄﺮ‬ ‫‪ -36‬ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ دو ﺟﺪول زﻳﺮ ﭼﻨﺪ ﺳﻄﺮ و ﺳﺘﻮن ﺧﻮاﻫﺪ داﺷﺖ ؟‬ ‫‪Q‬‬

‫‪M‬‬

‫‪P‬‬

‫‪N‬‬

‫‪M‬‬

‫‪x‬‬

‫‪a‬‬

‫‪P1‬‬

‫‪m‬‬

‫‪a‬‬

‫‪y‬‬

‫‪b‬‬

‫‪P2‬‬

‫‪n‬‬

‫‪b‬‬

‫‪z‬‬

‫‪c‬‬

‫‪P3‬‬

‫‪k‬‬

‫‪c‬‬

‫‪u‬‬

‫‪d‬‬

‫‪P4‬‬

‫‪4 , 4 .1‬‬ ‫‪5 , 4 .2‬‬ ‫‪3 , 3 .3‬‬ ‫‪4 , 3 .4‬‬ ‫‪ -37‬ﻛﺪاﻣﻴﻚ از ﻋﻤﻠﮕﺮﻫﺎي زﻳﺮ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﺮ روي ﺟﺪاول ﻛﺎر ﻣﻲﻛﻨﻨﺪ‬ ‫؟)ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ‪ -‬آزاد ‪(80‬‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬

‫‪Join‬‬ ‫‪Add‬‬ ‫‪Subtract‬‬

‫‪ .4‬ﻫﻴﭽﻜﺪام‬ ‫‪ -38‬ﺟﺪول ﺳﻤﺖ ﭼﭙﻲ ﺑﺎ ﭼﻪ دﺳﺘﻮري ﺗﺒﺪﻳﻞ ﺑﻪ ﺟﺪول ﺳﻤﺖ راﺳﺘﻲ ﻣﻲﺷﻮد ؟‬ ‫‪GRM‬‬

‫‪Weight‬‬

‫‪P#‬‬

‫‪Weight‬‬

‫‪P‬‬ ‫‪P#‬‬

‫‪15000‬‬

‫‪15‬‬

‫‪P1‬‬

‫‪15‬‬

‫‪P1‬‬

‫‪13000‬‬

‫‪13‬‬

‫‪P2‬‬

‫‪13‬‬

‫‪P2‬‬

‫‪18000‬‬

‫‪18‬‬

‫‪P3‬‬

‫‪18‬‬

‫‪P3‬‬

‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬

‫‪extend P Add ( weight * 1000) AS GRM‬‬ ‫‪Add P ( weight * 1000) AS GRM‬‬ ‫‪P Union weight * 1000 AS GRM‬‬

‫‪ .4‬ﻫﻴﭽﻜﺪام‬ ‫‪ -39‬در ﺷﻜﻞ زﻳﺮ ‪ DEND‬ﻣﻘﺴﻮم‪ MED ،‬ﻣﻴﺎﻧﺠﻲ و ‪ DOR‬ﻣﻘﺴﻮم ﻋﻠﻴﻪ اﺳﺖ‪ .‬ﺣﺎﺻﻞ‬ ‫دﺳﺘﻮر ‪ DEND DIVIDEBY DOR PER MED‬ﻛﺪام ﮔﺰﻳﻨﻪ اﺳﺖ ؟‬ ‫‪DOR:‬‬

‫‪MED:‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫‪DEND:‬‬


WWW.IRANMEET.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# S1 S2

P# P1 P3

.2 P# P1 P3

.3 S# S1 S2

.4 S# S1 S4

‫ﺟﺪول ﺑﺎﺷﺪ ﺧﺮوﺟﻲ ﭼﻪ ﻣﻲﺷﻮد ؟‬

P# DOR P1

Ramin.Samad@yahoo.com

‫ در ﺗﺴﺖ ﻗﺒﻠﻲ اﮔﺮ‬-40


‫‪WWW.IRANMEET.COM‬‬

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

‫‪.1‬‬ ‫‪S#‬‬ ‫‪S1‬‬ ‫‪S4‬‬

‫‪.2‬‬ ‫‪S#‬‬ ‫‪S1‬‬ ‫‪S2‬‬

‫‪.3‬‬ ‫‪P#‬‬ ‫‪P1‬‬ ‫‪P3‬‬

‫‪.4‬‬ ‫‪S#‬‬ ‫‪S1‬‬ ‫‪S2‬‬ ‫‪S3‬‬ ‫‪S4‬‬

‫‪ -41‬در ﺟﺒﺮ راﺑﻄﻪاي )‪ A−(A− B‬ﻣﻌﺎدل ﻛﺪام اﺳﺖ ؟‬ ‫‪.1‬‬

‫)‪A−(B− A‬‬

‫‪.2‬‬ ‫‪.3‬‬

‫‪A∩B‬‬ ‫)‪B−(B− A‬‬

‫‪3,2 .4‬‬ ‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪6‬‬ ‫‪ (4) -1‬ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲاﻳﻦ دو ﺟﺪول ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻲﺷﻮد‪:‬‬ ‫‪city‬‬

‫‪Sname‬‬

‫ﺗﻌﺪاد‬

‫‪P#‬‬

‫‪S#‬‬

‫ﺗﻬﺮان‬

‫ﻓﻦ آوران‬

‫‪300‬‬

‫‪P1‬‬

‫‪S1‬‬

‫ﺗﻬﺮان‬

‫ﻓﻦ آوران‬

‫‪200‬‬

‫‪P2‬‬

‫‪S1‬‬

‫ﺗﻬﺮان‬

‫ﻓﻦ آوران‬

‫‪400‬‬

‫‪P3‬‬

‫‪S1‬‬

‫ﺗﺒﺮﻳﺰ‬

‫اﻳﺮان ﻗﻄﻌﻪ‬

‫‪300‬‬

‫‪P1‬‬

‫‪S2‬‬

‫ﺗﺒﺮﻳﺰ‬

‫اﻳﺮان ﻗﻄﻌﻪ‬

‫‪400‬‬

‫‪P2‬‬

‫‪S2‬‬

‫ﺗﺒﺮﻳﺰ‬

‫ﭘﻮﻻدﻳﻦ‬

‫‪200‬‬

‫‪P2‬‬

‫‪S3‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪293‬‬

‫‪ (3) -2‬ﻣﻨﻈﻮر از ‪ INTERSECT‬ﻫﻤﺎن اﺷﺘﺮاك ∩ و ﻣﻨﻈﻮر از ‪ TIMES‬ﻫﻤﺎن ﺿﺮب‬ ‫دﻛﺎرﺗﻲ × ﻣﻲﺑﺎﺷﺪ‪.‬‬ ‫‪ (2) -3‬ﻧﺘﻴﺠﻪ اﻟﺤﺎق دو ﺟﺪول داده ﺷﺪه ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ‪:‬‬ ‫‪SALARY‬‬ ‫‪40K‬‬ ‫‪42K‬‬ ‫‪30K‬‬ ‫‪35K‬‬

‫‪ENAME‬‬ ‫‪Lopez‬‬ ‫‪Cheng‬‬ ‫‪Finzi‬‬ ‫‪Saito‬‬

‫‪EMP#‬‬ ‫‪E1‬‬ ‫‪E2‬‬ ‫‪E3‬‬ ‫‪E4‬‬

‫‪BUDGET‬‬ ‫‪10M‬‬ ‫‪10M‬‬ ‫‪12M‬‬ ‫‪12M‬‬

‫‪DNAME‬‬ ‫‪Marketing‬‬ ‫‪Marketing‬‬ ‫‪Development‬‬ ‫‪Development‬‬

‫‪DEPT#‬‬ ‫‪D1‬‬ ‫‪D1‬‬ ‫‪D2‬‬ ‫‪D2‬‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺟﺪول ﻓﻮق روﺷﻦ اﺳﺖ ﻛﻪ ﺳﺘﻮن ‪ 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‬از داﺧﻠﻲ ﺗﺮﻳﻦ ﭘﺮاﻧﺘﺰ دﺳﺘﻮرات را اﺟﺮاء ﻛﻨﻴﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﺧﺮوﺟﻲ ﺑﻪ ﺷﻜﻞ زﻳﺮ اﺳﺖ‪:‬‬ ‫‪Budjet‬‬

‫‪D#‬‬

‫‪10‬‬ ‫‪20‬‬ ‫‪5‬‬

‫‪D1‬‬ ‫‪D2‬‬ ‫‪D3‬‬

‫‪(2) -17‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪(4) -28‬‬ ‫‪(3) -29‬‬ ‫‪(1) -30‬‬ ‫‪ X ∩ Y‬ﻳﻚ ﺳﻄﺮ و ‪ 4‬ﺳﺘﻮن ﺧﻮاﻫﺪ داﺷﺖ‪.‬‬ ‫‪ X-Y‬ﻧﻴﺰ ﻳﻚ ﺳﻄﺮ و ‪ 4‬ﺳﺘﻮن ﺧﻮاﻫﺪ داﺷﺖ‪.‬‬ ‫‪XUY‬‬ ‫ﺷﻬﺮ ﺗﻮﻟﺪ‬

‫ﻣﻌﺪل‬

‫ﺷﻤﺎره‬

‫ﻧﺎم‬

‫ﺗﻬﺮان‬

‫‪17‬‬

‫‪123‬‬

‫ﻋﻠﻲ‬

‫ﺗﻬﺮان‬

‫‪17‬‬

‫‪934‬‬

‫ﻣﺠﻴﺪ‬

‫ﺗﺒﺮﻳﺰ‬

‫‪15‬‬

‫‪574‬‬

‫ﺟﻮاد‬

‫ﺗﻬﺮان‪ ،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‬ﻧﺘﻴﺠﻪ ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ ﺑﻪ ﺷﻜﻞ زﻳﺮ اﺳﺖ‪:‬‬ ‫‪Q‬‬ ‫‪x‬‬ ‫‪y‬‬ ‫‪z‬‬

‫‪P‬‬ ‫‪P1‬‬ ‫‪P2‬‬ ‫‪P3‬‬

‫‪N‬‬ ‫‪m‬‬ ‫‪n‬‬ ‫‪k‬‬

‫‪Ramin.Samad@yahoo.com‬‬

‫‪M‬‬ ‫‪a‬‬ ‫‪b‬‬ ‫‪c‬‬


‫‪WWW.IRANMEET.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(ST.STID=STCO.STID AND‬‬ ‫;)’‪STCO.COID=‘COM111‬‬

‫‪(ST.STID,ST.STDEG)WHERE EXISTS‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬اﻧﺘﺨﺎب ﻛﺮده اﺳﺖ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬

‫‪COTITLE WHERE EXISTS STCO (STCO.COID=CO.COID AND‬‬ ‫;)'‪STCO.STID='1234‬‬ ‫;'‪COTITLE WHERE STCO.STID='1234‬‬ ‫‪COTITLE WHERE STCO.COID=CO.COID AND STCO‬‬ ‫;'‪.STID='1234‬‬

‫‪ .4‬ﻫﻴﭽﻜﺪام‬ ‫‪ -5‬ﻛﺪام ﻋﺒﺎرت در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﺷﻤﺎره و ﻧﺎم درﺳﻬﺎي دو واﺣﺪي را ﻣﻲدﻫﺪ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫;'‪CO.COID,CO.COTITLE WHERE EXISTS CO.CREDIT='2‬‬ ‫;'‪CO.COID,CO.COTITLE WHERE CO.CREDIT='2‬‬ ‫;‪CO.CREDIT='2' FORALL WHERE CO. COID,CO.COTITLE‬‬ ‫;'‪CO.COID,CO.COTITLE FORALLWHERE CO.CREDIT='2‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪299‬‬

‫‪ -6‬ﻋﺒﺎرت زﻳﺮ در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﻧﺎم داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ‬ ‫درس ﻋﻤﻠﻲ را اﻧﺘﺨﺎب ﻛﺮده ﺑﺎﺷﻨﺪ‪ .‬ﻛﺪام ﮔﺰﻳﻨﻪ ﻓﺮم ﻣﻌﺎدل ﭘﻴﺸﻮﻧﺪي )‪ (Prenex‬آن‬ ‫اﺳﺖ؟‬ ‫‪ST.STNAME WHERE EXISTS STCO (ST.STID=STCO.STID AND‬‬ ‫;))'‪EXISTS CO (CO.COID = STCO.COID AND CO.COTYPE='P‬‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬

‫‪ST.STNAME EXISTS WHERE (ST.STID=STID AND CO.COID‬‬ ‫;)'‪=STCO.COID AND CO.COTYPE='P‬‬ ‫‪ST.STNAME‬‬ ‫‪WHERE‬‬ ‫‪NOT‬‬ ‫‪FORALL‬‬ ‫‪STCO(ST.STID=STCO.STID AND CO(CO.COID=STCO.COID‬‬ ‫;))'‪AND CO.COTYPE='P‬‬ ‫=‪ST.STNAME WHERE EXISTS STCO (EXISTS CO (ST.STID‬‬ ‫‪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‬ﻋﻨﻮان درﺳﻬﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم داﻧﺸﺠﻮﻳﺎن دوره ﻛﺎرﺷﻨﺎﺳﻲ ﻛﻪ ﺷﻤﺎرهﻫﺎي‬ ‫ﻳﻜﺴﺎن دارﻧﺪ آﻧﻬﺎ را اﻧﺘﺨﺎب ﻛﺮده ﺑﺎﺷﻨﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬را اﻧﺘﺨﺎب ﻧﻜﺮدهاﻧﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﻧﻤﻲﺗﻮاﻧﺪ ﺑﺎﻋﺚ ﺑﻪ وﺟﻮد آﻣﺪن ﻧﺎﺳﺎزﮔﺎري در دادهﻫﺎ ﺷﻮد ؟‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪303‬‬

‫‪INSERT‬‬ ‫‪DELETE‬‬ ‫‪UPDATE‬‬ ‫‪SELECT‬‬

‫‪ -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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﻛﺪام دﺳﺘﻮر ﺑﺎﻋﺚ ﻧﻤﺎﻳﺶ ﺧﺮوﺟﻲ زﻳﺮ ﻣﻲﺷﻮد ؟‬ ‫ﺧﺮوﺟﻲ‬

‫‪:‬‬

‫‪Name‬‬

‫‪T: Name‬‬

‫‪S:Name‬‬

‫‪Able‬‬

‫‪Able‬‬

‫‪Able‬‬

‫‪Charlie‬‬

‫‪Baker‬‬

‫‪Bravo‬‬

‫‪Exitor‬‬

‫‪Charlie‬‬

‫‪Charlie‬‬

‫‪Goober‬‬

‫‪Exitor‬‬

‫‪Decon‬‬

‫‪Falconer‬‬

‫‪Exitor‬‬

‫‪Fuber‬‬

‫‪Goober‬‬

‫‪Goobar‬‬

‫‪.1‬‬ ‫‪.2‬‬

‫; ‪Select * From S union select * From T‬‬ ‫; ‪Select * From S Minus select * From T‬‬

‫‪Ramin.Samad@yahoo.com‬‬


WWW.IRANMEET.COM

305

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬ Select * From S,T where S.Name = T.name ; Select * From S Intersect select * From T ;

.3 .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 Select * From T Minus select Select * From S Minus select Select * From T Union select

* From S ; * From S ; * From T ; * From S ;

.1 .2 .3 .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

Ramin.Samad@yahoo.com


‫‪WWW.IRANMEET.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‬اﻓﺰاﻳﺶ داد ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬

‫…‪Alter table … Modify‬‬ ‫… ‪Alter table … Add‬‬ ‫…‪Alter table … Replace‬‬

‫‪ .4‬اﻳﻨﻜﺎر ﺑﺎاﻳﻦ دﺳﺘﻮر اﻣﻜﺎن ﭘﺬﻳﺮ ﻧﻤﻲﺑﺎﺷﺪ‪.‬‬ ‫‪ -14‬اﮔﺮ ‪ teacher‬ﻧﺎم ﺟﺪول ﻣﺸﺨﺼﺎت اﺳﺎﺗﻴﺪ و ‪ Sec‬ﺟﺪول ﮔﺮوه درس ) ﺷﺎﻣﻞ‬ ‫ﻓﻴﻠﺪﻫﺎي ﺷﻤﺎره درس‪ ،‬ﺷﻤﺎره داﻧﺸﺠﻮ‪ ،‬ﻧﺎم اﺳﺘﺎد و ﻧﻤﺮه ( و ﻧﻴﺰ ‪ tname‬ﻧﺎم اﺳﺘﺎد ﺑﺎﺷﺪ‪،‬‬ ‫آﻧﮕﺎه دﺳﺘﻮر ‪ SQL‬زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﺟﺒﺮ راﺑﻄﻪاي ﺧﺎﺻﻴﺖ ))ﺑﺴﺘﻪ ﺑﻮدن(( دارد‪ .‬ﻳﻌﻨﻲ ﻋﻤﻠﻮﻧﺪ ﻫﺎ راﺑﻄﻪ اﺳﺖ و‬ ‫ﻧﺘﻴﺠﻪ ﻧﻴﺰ راﺑﻄﻪ ﻣﻲﺑﺎﺷﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ .3‬ﺑﻪ ﺧﺎﻃﺮ ﺑﺴﺘﻪ ﺑﻮدن ‪ SQL‬و ﺟﺒﺮ راﺑﻄﻪاي ﻣﻲﺗﻮان ﻣﺤﺎﺳﺒﺎت ﺗﻮدرﺗﻮ در ﻫﺮ دو‬ ‫داﺷﺖ‪.‬‬ ‫‪ SQL .4‬ﻳﻚ زﺑﺎن ‪ procedural‬ﻣﻲﺑﺎﺷﺪ‪.‬‬ ‫‪ -17‬ﻛﺪاﻣﻴﻚ از زﺑﺎن ﻫﺎي ﻧﺴﻞ زﻳﺮ‪ ،‬در ﺟﻬﺖ ﺗﻘﻠﻴﺪ زﺑﺎن ﻃﺒﻴﻌﻲ اﺳﺖ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪3GL‬‬ ‫‪4GL‬‬ ‫‪Access‬‬ ‫‪SGL‬‬

‫‪ -18‬ﺑﺮاي اﻳﺠﺎد ﺟﺪول ﭘﺎﻳﻪ از ﭼﻪ دﺳﺘﻮري در ‪ SQL‬اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪create table‬‬ ‫‪create dbms‬‬ ‫‪struct table‬‬ ‫‪struct dbms‬‬

‫‪ -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‬وﺿﻌﻴﺖ ﺗﻮﻟﻴﺪﻛﻨﻨﺪﮔﺎن ﺳﺎﻛﻦ ﺷﻬﺮ ﺗﻬﺮان را ﺳﻪ ﺑﺮاﺑﺮ ﻣﻲﻛﻨﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪309‬‬

‫‪ .3‬وﺿﻌﻴﺖ ﺗﻮﻟﻴﺪﻛﻨﻨﺪﮔﺎن ﺳﺎﻛﻦ ﺷﻬﺮ ﺗﻬﺮان را ﺑﺮاﺑﺮ ﻋﺪد ‪ 3‬ﻣﻲﻛﻨﺪ‪.‬‬ ‫‪ .4‬ﺷﻬﺮﻫﺎﻳﻲ ﻛﻪ وﺿﻌﻴﺖ ﺳﻪ ﺑﺮاﺑﺮ ﺗﻬﺮان دارﻧﺪ را ﺑﻪ روز در ﻣﻲآورد‪.‬‬ ‫‪ -21‬اﮔﺮ ‪ S‬ﻳﻚ دﻳﺪ ﺑﺮ روي ﺟﺪول ﭘﺎﻳﻪاي ‪ A‬ﺑﺎﺷﺪ‪ ،‬ﺑﺮاي آﻧﻜﻪ ﻫﺮ ﮔﻮﻧﻪ اﺻﻼًﺣﻲ روي‬ ‫دﻳﺪ ‪ S‬ﻣﺠﺎز ﺑﺎﺷﺪ ﻛﺪام ﻣﺤﺪودﻳﺖ ﺑﺎﻳﺪ رﻋﺎﻳﺖ ﺷﻮد ؟‬ ‫‪ .1‬دﻳﺪ‪ S‬ﺑﺎﻳﺪ ﺗﻤﺎم ﻓﻴﻠﺪﻫﺎي ‪ NULL‬ﺟﺪول ‪ A‬را داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬ ‫‪ .2‬دﻳﺪ ‪ S‬ﺑﺎﻳﺪ ﺷﺎﻣﻞ ﻛﻠﻴﺪ اﺻﻠﻲ ﺟﺪول ‪ A‬ﺑﺎﺷﺪ‪.‬‬ ‫‪ .3‬دﻳﺪ ‪ S‬ﺑﺎﻳﺪ ﺷﺎﻣﻞ ﻛﻠﻴﺪ ﻓﺮﻋﻲ ﺟﺪول ‪ A‬ﺑﺎﺷﺪ‪.‬‬ ‫‪ .4‬ﻫﻴﭻ ﺷﺮط ﺧﺎﺻﻲ ﺑﺮاياﻳﻦ ﻣﻮﺿﻮع ﻻزم ﻧﻤﻲﺑﺎﺷﺪ‪.‬‬ ‫‪ -22‬اﮔﺮ ﻋﺒﺎرﺗﻲ را ﺑﺨﻮاﻫﻴﻢ‪ ،‬ﻛﻪ ﺑﺎ ‪ ABC‬ﺷﺮوع ﻣﻲﺷﻮﻧﺪ از ﻛﺪام ﮔﺰﻳﻨﻪ اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪ -23‬دو‬

‫‪starting ABC‬‬ ‫‪like ABC%‬‬ ‫‪like ABC$‬‬ ‫*‪like ABC‬‬ ‫ﺟﺪول )‪ S (x , y , z , w‬و )'‪ S'(x , y , z' , w‬را در ﻧﻈﺮ ﮔﺮﻓﺘﻪ و ﺑﮕﻮﺋﻴﺪ ﭘﺲ از‬

‫اﺟﺮاي دﺳﺘﻮر زﻳﺮ‪ ،‬دﻳﺪ ‪ V‬ﭼﻪ ﺳﺘﻮﻧﻬﺎﻳﻲ ﺧﻮاﻫﺪ داﺷﺖ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪Create View V AS‬‬ ‫)'‪(Select x,y from S) union (select x,y from S‬‬ ‫) '‪V (x , y , z , w , z' , w‬‬ ‫) ‪V (z' , w‬‬ ‫) '‪V (z , w , z' , w‬‬ ‫) ‪V (x , y‬‬

‫‪ -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‬ﻣﻲﺑﺎﺷﺪ‪ .‬ﻛﺪام دﺳﺘﻮر ﺷﻤﺎره ﻛﺎﻻﺋﻲ ﻛﻪ‬

‫ﺑﺎﻻﺗﺮﻳﻦ ﻗﻴﻤﺖ را دارد‪ ،‬ﭼﺎپ ﻣﻲﻛﻨﺪ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬

‫)‪select code from y where price = (select max(price)from y‬‬ ‫)‪select code from y where price = max(price‬‬ ‫‪2,1‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪ 310‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬ ‫‪.4‬‬

‫)‪select code from y first , y second where price = max(price‬‬

‫‪ -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‬اﻳﻦ دﺳﺘﻮر ﻏﻠﻂ اﺳﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪.4‬‬

‫‪311‬‬

‫ﻧﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﻗﻄﻌﻪ را ﺗﻬﻴﻪ ﻛﺮدهاﻧﺪ‪.‬‬

‫‪ -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‬ﻣﻌﺎدل ﻛﺪام ﻋﻤﻠﮕﺮ اﺳﺖ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪=ANY‬‬ ‫‪<ANY‬‬ ‫‪ALL‬‬ ‫‪= ALL‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﺑﺮاي ﺗﻐﻴﻴﺮ اﺳﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﻣﻲﺑﺎﺷﻨﺪ‪.‬‬ ‫‪ (1) -13‬ﻣﺜﻼ‬

‫))‪ALTER table student Modify (Lname char (40‬‬

‫‪(3) -14‬‬ ‫‪(4) -15‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪315‬‬

‫‪(4) -29‬‬ ‫‪ (2) -30‬ﺑﺎﻳﺪ ﺗﻮﺟﻪ داﺷﺖ ﻛﻪ ﮔﺰﻳﻨﻪ ‪ 1‬ﻧﺎدرﺳﺖ اﺳﺖ و ﺟﻮاب ﻏﻠﻄﻲ ﻣﻲدﻫﺪ‪ .‬ﭼﺮا ﻛﻪ‬ ‫ﺗﺎ ﻫﺮ ﺟﺎي ﺟﺪول ﻛﻪ ﭘﻴﺶ ﻣﻲرود‪ ،‬ﻣﻘﺪار ﺗﺪرﻳﺠﻲ )‪ AVG(m‬ﻋﺪدي ﻏﻠﻂ را ﻧﺸﺎن‬ ‫ﻣﻲدﻫﺪ در ﺻﻮرﺗﻲ ﻛﻪ اﮔﺮ ﻣﺜﻼ داﻧﺸﺠﻮي ﺳﻄﺮ دﻫﻢ ﻣﻌﺪﻟﺶ ازاﻳﻦ ﻋﺪد ﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ‪ ،‬در‬ ‫ﺧﺮوﺟﻲ ﻇﺎﻫﺮ ﻣﻲﺷﻮد‪ .‬در ﮔﺰﻳﻨﻪ ‪ 2‬اﺑﺘﺪا ‪ select‬داﺧﻠﻲ اﺟﺮاء ﺷﺪه و ﻧﺘﻴﺠﻪ آن ﻛﻪ ﻳﻚ‬ ‫ﻋﺪد اﺳﺖ اﺳﺘﺨﺮاج ﻣﻲﮔﺮدد‪.‬‬ ‫‪ (3) -31‬ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ دو ﻋﺒﺎرت زﻳﺮ ﻣﻌﺎدل ﻳﻜﺪﻳﮕﺮﻧﺪ‪:‬‬ ‫) ‪ > is NULL‬ﻧﺎم ﺳﺘﻮن < ( ‪NOT‬‬

‫‪ > is not NULL‬ﻧﺎم ﺳﺘﻮن <‬

‫‪(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‬‬

‫ﻣﺘﻨﺎﻇﺮ ﺑﺎﺷﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫ﻛﺪام واﺑﺴﺘﮕﻲ از آن ﻗﺎﺑﻞ اﺳﺘﻨﺘﺎج اﺳﺖ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬

‫‪ACF→DG‬‬ ‫‪AC→DE‬‬ ‫‪EF→G‬‬

‫‪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‬ﻫﻢ ارزﻧﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬را ﺑﺎ ﺻﻔﺎت زﻳﺮ در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪:‬‬ ‫دوره زﻣﺎﻧﻲ در روز )‪ 1‬ﺗﺎ ‪P =( 8‬‬ ‫ﺷﻤﺎره درس = ‪L‬‬

‫ﻧﺎم ﻣﻌﻠﻢ =‪T‬‬

‫و‬

‫ﺷﻤﺎره روز ﻫﻔﺘﻪ = ‪D‬‬ ‫ﺷﻤﺎره ﻛﻼس = ‪C‬‬

‫ﻓﺮض ﻛﻨﻴﺪ ﻫﺮ درس در دوره ﺧﺎﺻﻲ )‪ (D,P‬اراﺋﻪ ﻣﻲﺷﻮد و ﺷﻤﺎره دروس ﻣﻨﺤﺼﺮ ﺑﻪ‬ ‫ﻓﺮد ﻣﻲﺑﺎﺷﻨﺪ‪ .‬ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪاﻳﻦ راﺑﻄﻪ ﻛﺪام اﺳﺖ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬

‫‪L‬‬ ‫‪DPC‬‬ ‫‪DPT‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ .4‬ﻫﺮﺳﻪ ﮔﺰﻳﻨﻪ‬ ‫‪ -10‬ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ ﻣﺠﻤﻮﻋﻪ واﺑﺴﺘﮕﻲ زﻳﺮ ﻛﺪام اﺳﺖ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫}‪F={A→D , A→C , CD→B , AD→C‬‬ ‫}‪{CD→B , AD→C‬‬ ‫}‪{A→D , A→C , AD→C‬‬ ‫}‪{A→D , CD→B , AD→C‬‬ ‫} ‪{A→D , A→C , CD→B‬‬

‫‪ -11‬از ﻣﺠﻤﻮﻋﻪ ‪ FD‬زﻳﺮ ﻛﺪام راﺑﻄﻪ را ﻧﻤﻲﺗﻮان اﺳﺘﻨﺘﺎج ﻛﺮد ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫}‪F= {A→D, CD→B , AD→C‬‬ ‫‪C→B‬‬ ‫‪A→B‬‬ ‫‪A→C‬‬ ‫‪A→CD‬‬

‫‪ -12‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬ ‫‪ .1‬ﺑﻪ ﻣﺠﻤﻮﻋﻪ ﺗﻤﺎم واﺑﺴﺘﮕﻲ ﻫﺎي اﺳﺘﻨﺘﺎج ﺷﺪه‪ ،‬ﻣﺠﻤﻮﻋﻪ ﭘﻮﺷﺸﻲ ﻣﻲﮔﻮﺋﻴﻢ‪.‬‬ ‫‪ .2‬اﮔﺮ ﻣﺠﻤﻮﻋﻪ ﭘﻮﺷﺸﻲ دو ﻣﺠﻤﻮﻋﻪ ‪ FD‬ﺑﺎ ﻫﻢ ﺑﺮاﺑﺮ ﺑﺎﺷﻨﺪ آﻧﮕﺎه دو ﻣﺠﻤﻮﻋﻪ‬ ‫واﺑﺴﺘﮕﻲ ﺑﺎ ﻫﻢ ﻣﻌﺎدﻟﻨﺪ‪.‬‬ ‫‪ .3‬ﻗﻮاﻧﻴﻦ ‪ 3‬ﮔﺎﻧﻪ آرﻣﺴﺘﺮاﻧﮓ ﺑﺮاي ﺑﺪﺳﺖ آوردن ﻣﺠﻤﻮﻋﻪ ﭘﻮﺷﺸﻲ ﻛﺎﻓﻲ اﺳﺖ‪.‬‬ ‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬ ‫‪ -13‬ﻧﻤﻮدار واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‪:‬‬ ‫‪ .1‬ﻧﻤﻮداري اﺳﺖ ﻛﻪ ﺟﺪاول را ﺗﺠﺰﻳﻪ ﻣﻲﻛﻨﺪ‪.‬‬ ‫‪ .2‬ﻧﻤﻮداري اﺳﺖ ﻛﻪ ﺷﺮوع ﻛﺎر آن ﺑﺎ ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ اﺳﺖ‪.‬‬ ‫‪ .3‬ﻧﻤﻮداري اﺳﺖ ﻛﻪ ﺷﺮوع ﻛﺎر آن ﺑﺎ ﻛﻠﻴﺪﻫﺎي ﺧﺎرﺟﻲ اﺳﺖ‪.‬‬ ‫‪ .4‬ﻧﻤﻮداري اﺳﺖ ﻛﻪ واﺑﺴﺘﮕﻲ ﺑﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ را ﻧﻤﺎﻳﺶ ﻣﻲدﻫﺪ‪.‬‬ ‫‪ -14‬واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺑﺪﻳﻬﻲ ﻛﺪام اﺳﺖ ؟‬ ‫‪ .1‬اﮔﺮ ﺳﻤﺖ ﭼﭗ آن‪ ،‬زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از ﺳﻤﺖ راﺳﺖ ﺑﺎﺷﺪ‪.‬‬ ‫‪ .2‬اﮔﺮ ﺳﻤﺖ ﭼﭗ آن ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪ ﺷﺪن ﻧﺒﺎﺷﺪ‪.‬‬ ‫‪ .3‬اﮔﺮ ﺳﻤﺖ راﺳﺖ آن ﻓﻘﻂ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ ﺑﺎﺷﺪ‪.‬‬ ‫‪ .4‬اﮔﺮ ﺳﻤﺖ راﺳﺖ آن‪ ،‬زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از ﺳﻤﺖ ﭼﭗ ﺑﺎﺷﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪319‬‬

‫‪ -15‬در راﺑﻄﻪ }‪ R = {A,B,C,D,E,F,G‬ﺑﺎ ‪ FD‬ﻫﺎي زﻳﺮ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻛﺪام اﺳﺖ ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫}‪F= {D→A , E→B , A→B , AB→EFC‬‬ ‫)‪(A,B,D‬‬ ‫)‪(D‬‬ ‫)‪(D,G‬‬ ‫)‪(B,D,E‬‬

‫‪ -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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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→B D→AB‬‬ ‫‪D→AB , AB→EFC D→E , D→F , D→C‬‬

‫‪ (1) -16‬در راﺑﻄﻪ ﺗﻤﺎم ﻛﻠﻴﺪ‪ ،‬ﺑﻴﻦ اﺟﺰاي ﻛﻠﻴﺪ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ وﺟﻮد ﻧﺪارد‪.‬‬ ‫‪(2) -17‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪10‬‬ ‫‪ -1‬ﻓﺮض ﻛﻨﻴﺪ ﻟﻴﺴﺘﻲ از درس ﻫﺎي داﻧﺸﺠﻮﻳﺎن در اﺧﺘﻴﺎر دارﻳﻢ ﻛﻪ از ﺳﺘﻮﻧﻬﺎي زﻳﺮ‬ ‫ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ‪:‬‬ ‫ﺗﻌﺪاد واﺣﺪ‬

‫ﻧﺎم درس‬

‫ﻛﺪ درس‬

‫ﻧﺎم داﻧﺸﺠﻮ‬

‫ﻛﺪ داﻧﺸﺠﻮ‬

‫ﻫﺮ داﻧﺸﺠﻮ ﻣﻤﻜﻦ اﺳﺖ ﭼﻨﺪﻳﻦ درس داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬اﮔﺮ ﺑﺨﻮاﻫﻴﻢ اﻳﻦ اﻃﻼﻋﺎت را در ﻳﻚ‬ ‫ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﻪ ﮔﻮﻧﻪ اي ذﺧﻴﺮه ﻛﻨﻴﻢ ﻛﻪ ﺣﺪاﻗﻞ ﺗﻜﺮار اﻃﻼﻋﺎت را داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﺣﺪاﻗﻞ‬ ‫ﺑﻪ ﭼﻨﺪ ﺟﺪول )‪ (table‬ﻧﻴﺎز دارﻳﻢ ؟‬ ‫‪1 .1‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﻓﻘﻂ در درج ﻣﻤﻜﻦ اﺳﺖ آﻧﻮﻣﺎﻟﻲ داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬وﻗﺘﻲ راﺑﻄﻪ داراي ﭼﻨﺪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﺪ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪325‬‬

‫‪ .2‬وﻗﺘﻲ ﻛﻪ ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ ﻣﺮﻛﺐ ﺑﺎﺷﻨﺪ‪.‬‬ ‫‪ .3‬وﻗﺘﻲ ﻛﻪ ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺑﺎ ﻳﻜﺪﻳﮕﺮ اﺷﺘﺮاك ﺻﻔﺖ ﺧﺎﺻﻪ داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬ ‫‪ .4‬ﻫﺮ ﺳﻪ ﻣﻮرد‪.‬‬ ‫‪ -9‬در ﻛﺪام ﺣﺎﻟﺖ ﺟﺪول ‪ 3NF‬ﻣﻤﻜﻦ اﺳﺖ ﻣﺸﻜﻞ داﺷﺘﻪ ﺑﺎﺷﺪ ؟‬ ‫‪ .1‬ﺟﺪول داراي ﺣﺪاﻗﻞ دو ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﺪ‪.‬‬ ‫‪ .2‬ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺗﺮﻛﻴﺒﻲ ﺑﺎﺷﻨﺪ‪.‬‬ ‫‪ .3‬ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺗﺮﻛﻴﺒﻲ ‪ ،‬ﺻﻔﺘﻬﺎي ﻣﺸﺘﺮﻛﻲ داﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬ ‫‪ .4‬وﻗﺘﻲ ﻛﻪ ﻫﺮ ﺳﻪ ﺷﺮط ﻓﻮق ﺑﺮﻗﺮار ﺑﺎﺷﺪ‪.‬‬ ‫‪ -10‬ﻛﺪام ﮔﺰﻳﻨﻪ اﻫﺪاف ﻛﻠﻲ ﻧﺮﻣﺎل ﺳﺎزي را ﺑﻴﺎن ﻧﻤﻲ ﻛﻨﺪ ؟‬ ‫‪ .1‬رﻋﺎﻳﺖ ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ‬ ‫‪ .2‬ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ‬ ‫‪ .3‬ﻛﺎﻫﺶ ﺳﺮﺑﺎر ﺳﻴﺴﺘﻢ و ﺳﺎده ﻛﺮدن دﻳﺪ ﻛﺎرﺑﺮ‬ ‫‪ .4‬ﻛﺎﻫﺶ ﺑﻌﻀﻲ از آﻧﻮﻣﺎﻟﻲ ﻫﺎ‬ ‫‪ -11‬ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟‬ ‫‪.1‬‬

‫راﺑﻄﻪ ‪ R‬در ﺳﻄﺢ ‪ 3NF‬اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ‪ 2NF‬ﺑﺎﺷﺪ و ﻫﺮ ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪ‬ ‫ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫‪ .2‬راﺑﻄﻪ‪ R‬در ﺳﻄﺢ ‪ 3NF‬اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ‪ 2NF‬ﺑﺎﺷﺪ و ﺻﻔﺎت ﻏﻴﺮ ﻛﻠﻴﺪ آن‬ ‫ﻣﺘﻘﺎﺑﻼ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻧﺎواﺑﺴﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬ ‫‪ .3‬راﺑﻄﻪ‪ R‬در ﺳﻄﺢ ‪ 3NF‬اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ‪ 2NF‬ﺑﺎﺷﺪ و واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ‬ ‫)‪ (transitive‬ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬ ‫‪2 .4‬و‪3‬‬ ‫‪ -12‬ﺻﻔﺖ ﻋﻤﺪه ‪ Prime Attribute‬ﻛﺪام اﺳﺖ ؟‬ ‫‪ .1‬ﺻﻔﺘﻲ ﻛﻪ ﺟﺰء ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﻛﻠﻴﺪ ﺑﺎﺷﺪ‪.‬‬ ‫‪ .2‬ﻫﻤﺎن ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪ اﺳﺖ‪.‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬را‬ ‫در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ .‬ﻗﻮاﻋﺪ ﺳﻤﺎﻧﺘﻴﻚ زﻳﺮ در اﻳﻦ راﺑﻄﻪ وﺟﻮد دارد‪ :‬اﻟﻒ ( ﻳﻚ داﻧﺸﺠﻮ ‪ ،‬ﻳﻚ‬ ‫درس را ﺑﺎ ﻳﻚ اﺳﺘﺎد اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﺪ‪ .‬ب( ﻳﻚ اﺳﺘﺎد ﻳﻚ درس را ﺗﺪرﻳﺲ ﻣﻲ ﻛﻨﺪ‪ .‬ج(‬ ‫ﻳﻚ درس ﺗﻮﺳﻂ ﭼﻨﺪ اﺳﺘﺎد ﺗﺪرﻳﺲ ﻣﻲ ﺷﻮد‪ .‬اﻳﻦ راﺑﻄﻪ در ﭼﻪ ﺳﻄﺢ ﻧﺮﻣﺎل ﺑﻮدن ﻗﺮار‬ ‫دارد ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪2NF‬‬ ‫‪3NF‬‬ ‫‪BCNF‬‬ ‫‪4NF‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫ﺳﻄﺢ ﻧﺮﻣﺎل ﺑﻮدن اﻳﻦ راﺑﻄﻪ و ﺗﺠﺰﻳﻪ ﻣﻄﻠﻮب آن ﻛﺪام اﺳﺖ ؟‬ ‫‪.1‬‬

‫‪R1(D,B) ، R2(A,D,C} ، 3NF‬‬

‫‪.2‬‬

‫‪R1(A,D) ، R2(A,B,C} ، BCNF‬‬

‫‪.3‬‬

‫‪R1(A,C,D) ، R2(A,D} ، 3NF‬‬

‫‪.4‬‬

‫‪R1(D,B) ، R2(A,C,D} ، 2NF‬‬

‫‪ -18‬ﺑﺎ ﺣﺬف ﻛﻠﻴﺪ واﺑﺴﺘﻪ ‪ ،‬ﭼﻪ ﺻﻮرﺗﻲ از ﻓﺮم ﻧﺮﻣﺎل اﻳﺠﺎد ﻣﻲ ﺷﻮد ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪1NF‬‬ ‫‪2NF‬‬ ‫‪3NF‬‬ ‫‪4NF‬‬

‫‪ -19‬ﺑﺎ ﺣﺬف اﺑﺮ ﻛﻠﻴﺪ ‪ ،‬ﭼﻪ ﺻﻮرﺗﻲ از ﻓﺮم ﻧﺮﻣﺎل اﻳﺠﺎد ﻣﻲ ﺷﻮد ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪1NF‬‬ ‫‪2NF‬‬ ‫‪3NF‬‬ ‫‪4NF‬‬

‫‪ -20‬ﺟﺎﻣﻊ ﺗﺮﻳﻦ ﻧﺮﻣﺎل ﺳﺎزي ﺑﺮ ﻣﺒﻨﺎي واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺗﻮﺳﻂ ﻛﺪام ﺻﻮرت ﻧﺮﻣﺎل اراﺋﻪ‬ ‫ﻣﻲ ﺷﻮد ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪1NF‬‬ ‫‪2NF‬‬ ‫‪3NF‬‬ ‫‪BCNF‬‬

‫‪ -21‬ﺑﺎ ﺣﺬف واﺑﺴﺘﮕﻲ ﻫﺎي ﭼﻨﺪ ﻣﻘﺪاري )‪ (MVD‬ﭼﻪ ﺻﻮرﺗﻲ از ﻓﺮم ﻧﺮﻣﺎل اﻳﺠﺎد ﻣﻲ‬ ‫ﺷﻮد ؟‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫‪ 328‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪2NF‬‬ ‫‪3NF‬‬ ‫‪4NF‬‬ ‫‪BCNF‬‬

‫‪ -22‬در ﺗﺒﺪﻳﻞ‪ ............‬ﺑﻪ‪ .............‬آن را ﭼﻨﺎن ﺑﻪ ﭘﺮﺗﻮﻫﺎﻳﻲ ﺗﺠﺰﻳﻪ ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ ﺗﻤﺎم‬ ‫واﺑﺴﺘﮕﻲ ﻫﺎي ﭘﻴﻮﻧﺪي ﻛﻪ از ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﻧﺎﺷﻲ ﻧﻤﻲ ﺷﻮد ﺣﺬف ﮔﺮدد‪.‬‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪3NF-2NF‬‬ ‫‪4NF-3NF‬‬ ‫‪BCNF-3NF‬‬ ‫‪5NF-4NF‬‬

‫‪ -23‬ﺑﺮاي اﻳﻨﻜﻪ ﻳﻚ ﭘﺎﻳﮕﺎهداده اي راﺑﻄﻪاي ﺑﺘﻮاﻧﺪ ﺑﻪ درﺳﺘﻲ در ﻧﺮماﻓﺰار ﻣﺘﺪاول ﻃﺮاﺣﻲ‬ ‫ﺷﻮد ‪ ،‬آن ﭘﺎﻳﮕﺎهداده ﻫﺎ ﺑﺎﻳﺪ ﺣﺪاﻗﻞ ﺑﺮ اﺳﺎس ﭼﻪ ﻓﺮم ﻧﺮﻣﺎل )‪ (Normal Form‬ﻗﺮار‬ ‫ﮔﺮﻓﺘﻪ ﺑﺎﺷﺪ ؟‬ ‫‪ .1‬اول‬ ‫‪ .2‬دوم‬ ‫‪ .3‬ﺳﻮم‬ ‫‪ .4‬ﭼﻬﺎرم‬ ‫‪ -24‬اﮔﺮ ﺟﺪوﻟﻲ ﻳﻚ ﻓﻴﻠﺪ داﺷﺘﻪ ﺑﺎﺷﺪ ﻛﻪ ﺑﺴﺘﮕﻲ ﺑﻪ ﻗﺴﻤﺘﻲ از ﻛﻠﻴﺪ اﺻﻠﻲ داﺷﺘﻪ ‪ ،‬اﻳﻦ‬ ‫ﻧﻜﺘﻪ ﻧﻘﺾ ﻛﺪاﻣﻴﻚ از ﻗﻮاﻧﻴﻦ ﻓﺮم ﻧﺮﻣﺎل اﺳﺖ ؟‬ ‫‪ .1‬ﻓﺮم اول ﻧﺮﻣﺎل‬ ‫‪ .2‬ﻓﺮم دوم ﻧﺮﻣﺎل‬ ‫‪ .3‬ﻓﺮم ﺳﻮم ﻧﺮﻣﺎل‬ ‫‪ .4‬ﻓﺮم ﭼﻬﺎرم ﻧﺮﻣﺎل‬ ‫‪ -25‬اﮔﺮ ‪ 2‬ﻓﻴﻠﺪ ﻏﻴﺮ ﻛﻠﻴﺪي ﺑﺮ ﻳﻜﺪﻳﮕﺮ ﺑﺴﺘﮕﻲ داﺷﺘﻪ ﺑﺎﺷﻨﺪ ‪ ،‬اﻳﻦ ﻧﻘﺾ ﻛﺪاﻣﻴﻚ از‬ ‫ﻗﻮاﻧﻴﻦ ﻓﺮم ﻫﺎي ﻧﺮﻣﺎل اﺳﺖ ؟‬ ‫‪ .1‬اوﻟﻴﻦ ﻓﺮم ﻧﺮﻣﺎل‬ ‫‪ .2‬دوﻣﻴﻦ ﻓﺮم ﻧﺮﻣﺎل‬ ‫‪ .3‬ﺳﻮﻣﻴﻦ ﻓﺮم ﻧﺮﻣﺎل‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬

‫‪329‬‬

‫‪ .4‬ﭼﻬﺎرﻣﻴﻦ ﻓﺮم ﻧﺮﻣﺎل‬ ‫‪ -26‬ﺑﻪ ﻃﻮر ﻛﻠﻲ ﭼﮕﻮﻧﻪ ﺗﺎﺛﻴﺮي از ﻋﻤﻠﻴﺎت ﻧﺮﻣﺎﻟﻴﺰه ﻛﺮدن ﺑﺮ روي ﻛﺎرﻛﺮد ﺑﺎﻧﻚ‬ ‫اﻃﻼﻋﺎﺗﻲ ﺑﻪ وﺟﻮد ﻣﻲ آﻳﺪ ؟‬ ‫‪ .1‬اﻧﻌﻄﺎف ﻛﻤﺘﺮي در ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ دارد‪.‬‬ ‫‪ .2‬اﻧﻌﻄﺎف ﺑﻴﺸﺘﺮي در ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ دارد‪.‬‬ ‫‪ .3‬اﻧﻌﻄﺎﻓﻲ در ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ ﻧﺪارد‪.‬‬ ‫‪ .4‬ﻫﻴﭽﻜﺪام‬ ‫‪-27‬وﻗﺘﻲ در ﻳﻚ ﺟﺪول ﺗﻌﺪادي ﺳﺘﻮن ﺑﺮاي ذﺧﻴﺮه ﺳﺎزي ﻣﻮردﻫﺎي ﻣﺨﺘﻠﻒ از ﻳﻚ داده‬ ‫وﺟﻮد دارد ﻣﺎﻧﻨﺪ …‪ phonenumber1 , phonenumber 2 ,‬اﻳﻦ ﻧﻜﺘﻪ ﻛﺪام ﻳﻚ از ﻣﻮارد‬ ‫ﻓﺮﻣﻬﺎي ﻧﺮﻣﺎل را ﻧﻘﺾ ﻣﻲ ﻛﻨﺪ ؟‬ ‫‪ .1‬ﻓﺮم اول ﻧﺮﻣﺎل‬ ‫‪ .2‬ﻓﺮم دوم ﻧﺮﻣﺎل‬ ‫‪ .3‬ﻓﺮم ﺳﻮم ﻧﺮﻣﺎل‬ ‫‪ .4‬ﻓﺮم ﭼﻬﺎرم ﻧﺮﻣﺎل‬ ‫‪ -28‬ﭼﻪ دﻟﻴﻠﻲ دارد ﻛﻪ اﻃﻼﻋﺎت ﻳﻚ ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ را ﺑﻴﻦ ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ ﺗﻮزﻳﻊ ﻧﻤﺎﺋﻴﻢ؟‬ ‫‪ .1‬ﺑﺮاي ﺟﻠﻮﮔﻴﺮي از ﺧﺮاﺑﻲ داده ﻫﺎ‬ ‫‪ .2‬ﺑﺮاي اﻳﻨﻜﻪ در ﺑﺎﻧﻜﻬﺎي ﺑﺰرگ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ دﭼﺎر ﻣﺸﻜﻞ ﻧﺸﻮد‪.‬‬ ‫‪ .3‬ﺑﺮاي ﻣﺪﻳﺮﻳﺖ ﺑﻬﺘﺮ داده ﻫﺎ‬ ‫‪ .4‬ﺑﺮاي ﺑﻬﺒﻮد ﺳﺮﻋﺖ دﺳﺘﻴﺎﺑﻲ ﺑﻪ داده ﻫﺎ‬ ‫‪ -29‬ﺟﺪول در‪ ....‬اﺳﺖ ﻛﻪ اﻟﻒ( ﻫﻤﻪ ﻛﻠﻴﺪﻫﺎي آن ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﻨﺪ ب( ﺗﻤﺎم‬ ‫ﺻﻔﺘﻬﺎي آن ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ داﺷﺘﻪ ﺑﺎﺷﻨﺪ ج( ﺻﻔﺘﻬﺎي آن از داﻣﻨﻪ ﺗﻮدرﺗﻮ‬ ‫)‪ (nested domain‬ﻧﺒﺎﺷﻨﺪ‪.‬‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪1NF‬‬ ‫‪2NF‬‬ ‫‪3NF‬‬ ‫‪4NF‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

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

‫‪ -30‬در ﻛﺪام ﻓﺮم ﻧﺮﻣﺎل واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ )‪ (transitive‬وﺟﻮد ﻧﺪارد ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪2NF‬‬ ‫‪3NF,2NF‬‬ ‫‪4NF,3NF‬‬ ‫‪2NF‬‬

‫‪ -31‬ﺟﺪول داﻧﺸﺠﻮ )‪ (Stud‬در ﻳﻚ ﻣﻮﺳﺴﻪ آﻣﻮزﺷﻲ ﻛﻮﭼﻚ ﻛﻪ داﻧﺸﺠﻮي ﻫﻤﻨﺎم ﻧﺪارد‬ ‫را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪:‬‬ ‫)‪Stud (S# , Sname , address , avg‬‬ ‫‪S#‬ﺷﻤﺎره داﻧﺸﺠﻮ ‪ Sname ،‬ﻧﺎم داﻧﺸﺠﻮ ‪ Address ،‬آدرس داﻧﺸﺠﻮ و ‪ avg‬ﻣﻌﺪل اﺳﺖ‪.‬‬

‫اﻳﻦ ﺟﺪول ﺣﺪاﻛﺜﺮ در ﭼﻪ ﺳﻄﺢ ﻧﺮﻣﺎل ﻗﺮار دارد ؟‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫‪2NF‬‬ ‫‪3NF‬‬ ‫‪1NF‬‬ ‫‪BCNF‬‬

‫‪ -32‬ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻧﺮﻣﺎل ﺳﺎزي درﺳﺖ اﺳﺖ ؟‬ ‫‪ .1‬اﮔﺮ ﻃﺮاح ﺗﺸﺨﻴﺺ دﻫﺪ ﻛﻪ ﺗﺠﺰﻳﻪ ﻳﻚ ﺟﺪول ﻫﺮ ﭼﻨﺪ اﻓﺰوﻧﮕﻲ ﻫﻢ داﺷﺘﻪ‬ ‫ﺑﺎﺷﺪ ‪ ،‬ﺑﺎﻋﺚ ﭘﺎﺋﻴﻦ آﻣﺪن ﺳﺮﻋﺖ اﻛﺜﺮ ﭘﺮس و ﺟﻮﻫﺎ ﻣﻲ ﺷﻮد ‪ ،‬ﻣﺠﺎز اﺳﺖ از‬ ‫ﻧﺮﻣﺎﻟﺘﺮ ﺳﺎزي آن ﺻﺮف ﻧﻈﺮ ﻛﻨﺪ‪.‬‬ ‫‪ .2‬رواﺑﻂ ‪ 3NF‬ي ﻛﻪ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺗﺒﺪﻳﻞ ﺑﻪ ‪ BCNF‬ﺷﻮﻧﺪ را ﺣﺘﻤﺎ ﺑﺎﻳﺪ ‪ BCNF‬ﻛﺮد‬ ‫‪ .3‬در ﺗﺠﺰﻳﻪ راﺑﻄﻪ ‪ 3NF‬ﺑﻪ رواﺑﻂ ‪ BCNF‬ﻫﻴﭽﮕﺎه اﻃﻼﻋﺎت و ﻳﺎ واﺑﺴﺘﮕﻲﻫﺎﻳﻲ‬ ‫ﮔﻢ ﻧﻤﻲ ﺷﻮد‪.‬‬ ‫‪ .4‬ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ‬ ‫‪ -33‬ﺟﺪول زﻳﺮ ﺣﺪاﻛﺜﺮ در ﭼﻪ ﺳﻄﺢ ﻧﺮﻣﺎﻟﻲ ﻗﺮار دارد ؟‬ ‫ﻧﺎن ﻛﺘﺎب‬

‫ﻧﺎم درس‬

‫ﺷﻬﺮ داﻧﺸﻜﺪه‬

‫ﻧﺎم داﻧﺸﻜﺪه‬

‫ﻧﺎم اﺳﺘﺎد‬

‫ﻫﺮﺑﺮت ﺷﻴﻠﺪ‬

‫ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬

‫ﺗﻬﺮان‬

‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬

‫اﻣﻴﺮي‬

‫ﻫﺮﺑﺮت ﺷﻴﻠﺪ‬

‫ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬

‫اراك‬

‫ﺑﺮق‬

‫اﻣﻴﺮي‬

‫ﻟﻴﭗ ﺷﻮﺗﺰ‬

‫ﺳﺎﺧﺘﻤﺎن داده‬

‫ﺗﻬﺮان‬

‫ﻛﺎﻣﭙﻮﺗﺮ‬

‫اﻣﻴﺮي‬

‫ﻟﻴﭗ ﺷﻮﺗﺰ‬

‫ﺳﺎﺧﺘﻤﺎن داده‬

‫اراك‬

‫ﺑﺮق‬

‫اﻣﻴﺮي‬

‫دﻳﺖ‬

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

‫ﺗﻬﺮان‬

‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬

‫اﻣﻴﺮي‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.COM‬‬

‫ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت‬ ‫ﭘﺎﻳﮕﺎهداده‬

‫دﻳﺖ‬ ‫‪.1‬‬ ‫‪.2‬‬ ‫‪.3‬‬ ‫‪.4‬‬

‫اراك‬

‫ﺑﺮق‬

‫‪331‬‬

‫اﻣﻴﺮي‬

‫‪2NF‬‬ ‫‪3NF‬‬ ‫‪BCNF‬‬ ‫‪4NF‬‬

‫ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي ‪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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬‬

‫‪Ramin.Samad@yahoo.com‬‬


‫‪WWW.IRANMEET.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‬ﻣﻲ ﺗﻮان آن را ﺑﻪ دو ﺟﺪول زﻳﺮ‬ ‫ﺗﺠﺰﻳﻪ ﻛﺮد‪:‬‬ ‫ﻧﺎم ﻛﺘﺎب‬

‫ﻧﺎم درس‬

‫ﻧﺎم اﺳﺘﺎد‬

‫ﺷﻬﺮ داﻧﺸﻜﺪه‬

‫ﻧﺎم داﻧﺸﻜﺪه‬

‫ﻧﺎم اﺳﺘﺎد‬

‫ﻫﺮﺑﺮت ﺷﻴﻠﺪ‬

‫ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬

‫اﻣﻴﺮي‬

‫ﺗﻬﺮان‬

‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬

‫اﻣﻴﺮي‬

‫ﻟﻴﭗ ﺷﻮﺗﺰ‬

‫ﺳﺎﺧﺘﻤﺎن داده‬

‫اﻣﻴﺮي‬

‫اراك‬

‫ﺑﺮق‬

‫اﻣﻴﺮي‬

‫دﻳﺖ‬

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

‫اﻣﻴﺮي‬

‫‪Ramin.Samad@yahoo.com‬‬


WWW.IRANMEET.COM

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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.

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>::= <

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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> }... ]

Ramin.Samad@yahoo.com


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


WWW.IRANMEET.COM

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ --/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>

Ramin.Samad@yahoo.com

346


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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 ]

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>::=||

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.COM

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ <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>

Ramin.Samad@yahoo.com

358


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


WWW.IRANMEET.COM

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

362

<reference type specification>::= <user-defined representation> | <derived representation> | <systemgenerated 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>...

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>::=

Ramin.Samad@yahoo.com


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


WWW.IRANMEET.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

Ramin.Samad@yahoo.com

| |

|

|

|

|

|

|

| | | | | | |

|

|


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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> }... ]

Ramin.Samad@yahoo.com


WWW.IRANMEET.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.)

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>::=

Ramin.Samad@yahoo.com


WWW.IRANMEET.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> ]

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>::=

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>::=

Ramin.Samad@yahoo.com

]

]

]

]


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


WWW.IRANMEET.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>::=

Ramin.Samad@yahoo.com


WWW.IRANMEET.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> ]

Ramin.Samad@yahoo.com


WWW.IRANMEET.COM

‫ﭘﺎﻳﮕﺎه دادهﻫﺎ‬ | <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>

Ramin.Samad@yahoo.com

388


WWW.IRANMEET.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>

Ramin.Samad@yahoo.com


WWW.IRANMEET.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

Ramin.Samad@yahoo.com


WWW.IRANMEET.COM

; C 1 4 ; A Abort Abstract machine Abstract Data Type (ADT) Abstract Data Type (ADT) Abstractive Abstractive construct Access rules Access Method (AM) Access right Access strategy Accessability Accuracy Action Active rule Active Data Objects (ADO) Active Database Management System (ADBMS) Active dictionary Active DBMS (ADBMS) Activity diagram Actor Ad hoc (Unplanned) Aggregate function Aggregation

â€ŤÂŒ د‏ Ž‍ ”“’ ا ‘ا‏ ‍ Řš داد اي‏ Ž‍ا ‘ا‏ ‍ Řš داد — د‏ Ž‍ا ‘ا‏ Ž‍™ ˜ ا ‘ا‏ “ ™‍š اÂŽ د‏ “ ™‍”“ د‏ “ ™‍Â?Âœ Ů‚ د‏ ‍ا™ اÂ&#x;žي‏ “ ™‍د‏ “ ™‍د‏ Â˜Âšâ€ŤŘŻâ€Ź  ÂŽ ‍ ل‏¢ ÂŽ š ‍ ه ŮŠ داد‏¤“” ‍ ل‏¢ ‍اي‏ ‍ ل‏¢ ÂĽ “™ ˜

‍ ÂŚ داد‏ ‍ ل‏¢ ‍د Š¨§ ي‏ ‍ ل‏¢ ÂĽ “™ Â˜Â“ÂŞ ¢ ‍ داع‏Â

Œ¨§â€ŤŘ˘â€Ź ‍ عدي‏ ¢  Â&#x; ‍­ ŮˆŮ‡â€Ź  —Â&#x;

ALL-Key Alternate Key(A K) Analogue Anomaly Antisemijoin Application perspective Application Programming Interface (API) Application developer Application Program (AP ) Application Program conversion Application system Arity Assertion Asset Association Asymmetry Atomic Atomicity Attribute Attribute features Attribute inheritance Attribute preserving Attribute constraint Attributes set Augmentation

Ramin.Samad@yahoo.com

“ ‍ Ů… آ‏ Â&#x; ÂŚ ‍آ “ د‏ ™ “š ÂŞ ÂŻ “ ¼“ ° ‍د ­ آ Řą دي‏ Âą ²Â™â€ŤŮˆا‏ ‍™ زŮŠ آ Řą د‏ ) ‍آ Řą ŘŻ ™ ز‏ ( ‍ داع‏ ‍ آ Řą دي‏¹ ( ‍) آ Řą داع‏ Âą ´Â&#x; ‍ه ŮŠ آ Řą دي‏ ‍ آ Řą دي‏¼ “™ ‍¯ع‏ ‍ ع‏¾‍ا‏ Âą ™ ÂŚ ‍Ž Ů… Â&#x;Âœ عن‏ ¨ Âą ‘—Â&#x; ‍ ¡ ي‏¹ ‘—Â&#x; ˜ ¸ ˜ ¸ ‍ ه ي‏¹´§ ˜ ¸ ˜šâ€ŤŮˆعا‏ ‍ ¸ ت‏¹ Â? ˜ ‍ Âź ŮˆŘŻâ€Ź ¸ ‍ ¸ ت‏¹Ž  Â—

½ ‍ا ‘ا‏


WWW.IRANMEET.COM

â€Ťď­˜ďşŽďťłďŽ•ďşŽŮ‡ دادهﺎ‏ Authorization Authorization Identifier ( AuthID) Automatic Design Tool ( ADT ) Automatic navigation Axiom B Bachman diagram Back office server Back-end Backend Dbserver Backup Bags Base relation Base attribute Base Table (BT) Basic data type Batch Batch mode Behavioural Benchmarking Bi- structure Bi-directional association Body Bound Box data structure BOYCE Boyce-Codd Normal Form Bridge Browsing Business rule Business rules Buttleneck C C.J.DATE Cache memory

‍ عي‏ ” ‍ — ز‏ ‍ — ز‏¹™ §Â” ‍ عي‏ ” ( ‍ا ‘اع ) ا Š ن‏ â€ŤÂŒ اÂ? دآ ع‏ ‍ ŮˆŘ´ دآ ع‏ ) ‍اعز ÂŻÂż ز‏ ¹Ž ° ¸â€ŤŘ§â€Ź Â’ Ă€ ‍ داع‏Â

˜¨ ‍ا ‘اع­ ن‏ ¹§Ÿ¸ ’“”

‍ Œ‘اع‏ ‍ ÂŚ ه‏ ‍ ¨ “´ ن‏ ‍Â&#x; د‏ §´ ¹à ‍عا‏ §´

(Âą ) §´ ‍ ŮˆŮ„â€Ź ‍ Řš داد اي‏ §´

—Š —Š ‍ا™ ب‏ ‍ع عي‏ ‍ زâ€ŹĂƒÂź

â€ŤŘŻŮˆ ™ ع‏ Âą ™ ‍ ÂŚ ŘŻŮˆâ€Ź ( Âą ) ŠÂ“ Âą ‍™ Řą داد اي‏ ‍ اي‏¹´¢ Ă„ ‍¸ عت ل‏ ‍آ د‏-Ă„ â€ŤÂ­Â¨Â˜ ز‏ ‍š اÂŽ Â&#x;— عي‏ һ ¢ Ž‍š ا‏ §Œ§Â&#x; ˜ ‍د‏ ‍ ن‏¹ Â?

CAD/CAM Calculated attribute Call Level Interface (CLI) Candidate domain Candidate Key (CK) Canonical cover Cardinality Cardinality ratio Cascade Catalog manager Catalogue Categorization Category Centralized Centralized control Centralized database Certification Chasm trap Check constraints Checkpointing CHEMBERLIN CHEN CHEN notation Class Class diagram Classification Clause Clean design Client / MultiServer ( C / MS) Client machine Client / Server (C/S) Client / Server Database (C/S DB) Closed World Closed World

Ramin.Samad@yahoo.com

392

Ăƒ â€Ť آ‏¹ Â?â€ŤÂŒ ا‏ Âą һ Â&#x;- Â&#x; Ă… ‍آ‏ Â&#x; “Å ‍ آâ€ŹĂƒ â€ŤŘ˘â€Ź ¹´Â™ Âź ˜ ¸ ” Æà ™ ‍ ŘŻŘąâ€ŹÂ˛Â™â€ŤŮˆا‏ CLI) ‍ ا ان‏ ‍ “ ان آ‏ ‍آ “ آ‏ ĂƒÂ“ ‍ Ř´ آ‏ һ § ‍آ عد‏ ˜´

һ § ‍آ عد‏ Â&#x; ‍ گ‏ª Â&#x; ‍ آ‏ ‍ گ‏ª Â&#x; ‍آ‏ ‍ § ي‏¹ ™‍د‏ Âą ™‍د‏ ‘‍ آ‏Â

‘‍ آ‏ ‍آ§ ل‏ ‘‍ آ‏ Œ “ Â&#x; ĂƒÂ“§ŠÂ&#x; (Ăˆ ÉÂ&#x;) ‍دام ”Š ٠‏ Âľ ˜ ‍ Âź ŮˆŘŻâ€Ź ‍ ™ ن‏¹ ™‍ Ůˆاعâ€ŹÂąĂ Âœ

’“ª ´ Ă€ Â’Ă€ Â’Ă€ ‍ داع‏Â

‍عد‏ ‍ داع عد‏Â

‍عد § ي‏ (‍ز‏Ë‍ اآ ŘŻ )آ‏ â€ŤÂŒ اÂ? Ůˆâ€Ź Æ°â€ŤŮˆا‏ §Ă€-‍ ¨ ŮŠâ€ŹĂƒ ‍ Œ‘اع‏ Â&#x; “Å ‍آ‏ ‍ ¨ ي‏ /‍ ¨ ي‏ ‍ Œ‘اع‏ ‍ ÂŚ داد‏ -‍ ¨ ي‏ ‍ Œ‘اع‏ Âą ‍ ن‏ ‍Â&#x; “ ن‏


WWW.IRANMEET.COM

393

â€ŤŮˆاÚ˜Ů‡ ﺎ اďŽ•ďť ďť´ďş´ďť˛ ďş‘ ﺎعﺳ‏

interpretation Closure Clustering CODASYL data model CODD Collection Command driven Command Language Interface ( CLI) Commit Communative Communication Comparand Complete relational system Complex Complex Data Type ( CDT) Complex query Component Composite Composition Computational completeness Conceptual schema Conceptual design Conceptual level Conceptual redundancy Conceptual view Conceptual / Internal mapping Concurrent Concurrent schedule Conference On Data System Langeage (CODASYL) Configuration Connection traps Connector

Âą ‍ ع‏ ‍ Ůˆاعي‏¹” ‍ Ů„ داد اي‏ “™‍آ دا‏ ‍آ د‏ Âą ‍­ دا‏ ” ˜ ‍ه ا‏ ‍ ن‏ ‍ ز Ů†â€ŹÂ˛Â™â€ŤŮˆا‏ ‍ ن‏ ˜“´ĂŒÂ&#x; ­ §â€ŤŘ§ Âœ Ů„ ده‏ ) ½ ™  â€ŤŮ‡â€Ź ( ‍اعÂ&#x;´ ء‏ ™ “š ‍اي‏¹à ‍ عا‏¼ “™ ‍آ‏ (² Ă? ) “Γ ‍ Řš داد اي‏ “Γ “Γ ½Â™ ‍™ ز‏ Ă?‍ آ‏ Ă?“‍Â&#x; آ‏ Â&#x; ´Â™ Âź ‍ ل‏ ‍آ‏ ‍ ŮŠ ادعاآ‏ ” â€ŤÂŒ اÂ? ادعاآ‏ ‍ ادعاآ‏Æà ™ ( ) ‍ا Â‘Ůˆ ÂŚ ادعاآ‏ ‍د ادعاآ‏ / ‍ ÂŚ ”˜ ادعاآ‏ ‍دا‏ ‍‘ ن‏ ‍ه‏ â€ŤÂŒ Ř­ ا اي‏ ‍ Ůˆâ€ŹÂ â€ŤŮ‡â€Ź

“™‍ آ دا‏¼ “™ ‍ “Š § ي‏ ‍دا ŮŠ “ ي‏ §â€Ť “ ده‏

Consistency Constraint Constraint specification language Constructor CONTAINS Containtement Continuous operation Conventional Conventional system Correcthness Cost-benefit analysis Cover CREATE view Cross join Current AuthID Cursor D Dangling Data Sub Language ( DSL) Data compression Data Structure(DS) Data accessibility Data Administrator (DA) Data bank Data communication manager Data Control ( DC ) Data Control Language (DCL) Data conversion and data transfer Data Definition Data Definition Language (DDL) Data encryption Data entry Data export

Ramin.Samad@yahoo.com

‍™ ز­ عي‏ ˜ ‍ Âź ŮˆŘŻâ€Ź ғ¸ Â&#x; ‍ز ن‏ ˜ ‍ Âź ŮˆŘŻâ€Ź ÂŚ ™ Â˜Â™â€ŤÂ” ا‏ ‍ ل‏ ” ‍ “ ت‏ Ž ‍Â&#x; اŮˆŮ…â€Ź §Â™ ‍ ع٠‏¢ ÂĽ “™ ˜Ÿ¸ ‍Â&#x;Âź “ ÂŻŮˆعد‏ ‍ ‘ا‏/ ¹§ ‘‍ه‏ ‍ ش‏ ‍ا — ŘŻ د‏ ‍ ب‏° “ ‍ عي‏¹™ §Â”  â€Ť Š ن‏ Ăˆ ¢

‍ز ن داد اي‏ ÂŽ ‍ ¨ ŘŻ ™ زي‏ ‍داد ه‏ ‍™ Řą داد اي‏ ( ) ™ ™‍د‏ ‍ داد ه‏¹ ‍ داد‏ ‍ داد Ů‡â€ŹĂƒ

‍ ا Âœ Ů„ داد‏ ‍آ§ Ů„ داد‏ ‍د™ عات آ§ ل‏ ‍داد ه‏ ‍Â&#x;´ Ůˆ ا Âœ ل‏ ‍داد ه‏ ‍ داد‏Ò ¢Â&#x; ‍د™ عات‏ ‍ داد ه‏Ò ¢Â&#x; ‍ ن ÂŚ عي داد‏ â€ŤŮˆاعد آ دن داد‏ ‍¸ ŮˆŘą داد ه‏


WWW.IRANMEET.COM

â€Ťď­˜ďşŽďťłďŽ•ďşŽŮ‡ دادهﺎ‏ Data extraction Data Flow Diagram (DFD) Data import Data inconsistency Data independence Data Management System (DMS) Data Manager Data Manipulation Data Manipulation Language (DML) Data marts Data materialization Data migration Data mining and knowledge discovery system Data Model Data naming Data placement Data sharing Data source Data type Data type extensibility Data usage pattern Data Warehousing Data Communication Data keeping- data processing Database Database growth Database Language (DBL) Database space Database state Database tuning Database administration

‍ ا؏ داد ه‏Ă? ™‍ا‏ ‍ داع ŘąŮˆâ€ŹÂ

‍داد‏ â€ŤŮˆŘąŮˆŘŻŮŠ داد ه‏ ‍ ™ ز­ عي داد‏ ‍ل داد اŮŠâ€ŹĂ‹Âœ ™‍ا‏ ˜ ÂĽ “™ ‍داد ه‏ ‍ داد ه‏ ‍ “ ت‏ Ž ‍د™ ع‏ ‍دع داد ه‏ ‍د™ عات‏ ‍ “ ŘŞ ŘąŮˆŮŠâ€ŹÂ ÂŽ ‍داد ه‏ ‍ زاع داد ه‏ ‍™ Â’ داد‏ ‍ ن داد‏À ‍آ‏ ‍ داد‏¼ “™ Ă’¨â€ŤŘ˘ ŮˆŮŠ Ůˆ آ‏ ˜ §Â” ‍ Ů„ داد اي‏ ‍ Œ¡اعŮŠ داد‏ ‍ه‏ ‍ ه داد‏ ‍ا” اŮƒ داد ه‏ ‍ §´ داد اي‏ ‍ Řš داد اي‏ ‍­ Ř´ ¡ ي‏ ‍ Řš داد اي‏ ‍Œ ŮŠ ا™ د‏ª‍ا‏ ‍از داد ه‏ ‍ ا ´ عش‏¼ “™ ‍داد ه‏ ™‍داد ع‏ ‍ داد‏-‍داد داعي‏ ‍ دازي‏ ‍ ÂŚ داد‏ ‍ع” ÂŚ داد‏ ‍ز ن ÂŚ ه‏ ‍ ŮŠ ÂŚ داد‏Õ ˜“¢°â€ŤŮˆâ€Ź ‍ ÂŚ داد‏ ‍ ÂŚ داد‏¼“§Â&#x; ‍ه‏ ‍ا Š ن‏ ‍ اي‏

support Database Administrator(DBA Database approach Database constraint Database environment management Database Machine ( DBM) Database Management System (DBMS) Database Protection Database quality Database server Datalogical Datalogical Data-object DBMS vendors DBMS-web integration DC manager Deadlock Decentralized architecture Decision making Decision support Decision Support System (DSS) Declarative Decomposition Deduction Deductive database Default length Default value Deferred checking Deffered update Defining attribute Degree

Ramin.Samad@yahoo.com

394

ÂŚ ‍ ÂŚ داد‏ ‍ه‏ ‍ ¨ ÂŚ ه‏ ˜ ‍ Âź ŮˆŘŻâ€Ź ‍ ÂŚ ه‏ ²Â“Âź ˜

‍ ÂŚ داد ه‏ ‍ ”“’ ÂŚ داد‏ ‍ه‏ ˜ ÂĽ “™ ‍ ÂŚ داد ه‏ Â˜Âľ Â? ‍§ Ůˆâ€ŹÂ â€ŤŘ§â€Ź ‍ ÂŚ داد ه‏ ‍آ“ “˜ ÂŚ داد‏ ‍ه‏ ‍ Œ‘اع‏ ‍ ÂŚ داد ه‏ Âą ™ §Â” ‍داد‏ ‍ گ‏ª ‍د‏ ‍داد‏-¤Â“” ‍ ŮˆÂ”§ ­ ن‏  Â“™ ‍اد¿ Ů… ŘŻŘą Ůˆب‏ ‍ ا Âœ Ů„ داد‏ ‍ه‏ ˜ Â’ ‍ عي‏ ¢

‘‍ آ‏Â

‍ ­Â“ ي‏¼“ Ă‰Â&#x; ¼“ Ă‰Â&#x; ´Â“ ¨ ‍ ¨ “´ ن‏¼ “™ ¼“ Ă‰Â&#x; ˎ‍ا‏ Âą ‘—Â&#x; ‍ا™ § ؏‏ ‍ ÂŚ داد‏ § ™‍ا‏ â€ŤÂŒ Ů„ “½ د‏ ‍ Âœ اع “½ د‏ “ Â&#x; Â™â€ŤŮˆاع‏ ‍ §Œ Ů… ™ زي‏ “ Â&#x; ‍ ٠‏¢ ˜ ¸ Âą ‍دع‏


WWW.IRANMEET.COM

395

â€ŤŮˆاÚ˜Ů‡ ﺎ اďŽ•ďť ďť´ďş´ďť˛ ďş‘ ﺎعﺳ‏

Denormalization Dependency theory Derived Derived relation Descriptive Descriptive attribute Design by analysis Design tool Destructor Detabase perspctive Determinant Developement Device configuration Diadic Direct materialization Discriminator Disjoint Diskless machine Distributed Distributed Database (DDB) Divide Document server Documentation Documented procedure Domain Domain - Key Normal Form Domain oriented Domain constraint Domain variable Downsizing Driver manager DROP view Dummy record Dumping Durability

) Âą ‍آ ه½ دع‏ һ ( Æà ™ ÂŚ ‍ عي Ůˆا‏ÖÂ&#x; Ăˆ ¨

Ăˆ ¨ ¹à ‍عا‏ “¸ Â&#x; “¸ Â&#x; ˜ ¸ “ ÂźÂ&#x; Â?â€ŤÂŒ ا‏ Â?‍ا ‘اع ÂŒ ا‏ ÂŚ â€ŤŮˆ ا‏ ‍د ­ ÂŚ ه‏ ‍دÂ&#x; “§ ن‏ ‍ا — د‏ Âą ™‍ “Š § ŮŠ ع‏ ‍ ي‏ Ž â€ŤŘŻŮˆâ€Ź ÂĽÂ“Âœ Â’ ™ ‘“Â

‍ —‘ا‏ ‍ ”“’ ŮˆŮ†â€Ź Ăƒ ‍د‏ ” ÂŤ ‍Â&#x; ز‏ ÂŤ ‍ ÂŚ داد Â&#x; ز‏ ( §â€ŤÂ” ) اآ‏ ¼“ ÂœÂ&#x; ‍ Œ‘اع‏ ‍ اعŮƒ Ůˆ ا™§ د‏ ‍ § ™ زي‏ § Âą â€ŤŘąŮˆâ€Ź ‍ “ ان‏ ‍¸ عت ل‏ ‍آ “ ي‏-‍ “ ان‏ ‍Â? ب “ ا‏ ˜ ‍ Âź ŮˆŘŻâ€Ź ‍ “ ا‏ ‍“ “ اâ€ŹĂ˜

‍آ ه½ا از‏ ‍ دعا ع‏ ‍Â?¡٠د‏ ÂŚ ™ ‍عآ عد‏ ‍ داعي‏¹Ă?

( ‍ ) ŘŻŮˆام‏

Dynamic data Dynamic SQL

‍داد‏ SQL E

Elementary type E-mail server Embedded Embedded Multi Valued Dependency ( EMVD) End user Engine Enhanced (Extended) ER Entity Identifier (EID) Entity integrity rule Entity relationship Entity type Entity types set Equational Dependency (ED) Equi-Join ER diagram Essential Event journaling Event- conditionaction rules Event Flow Diagram (EFD) Evolutionary Prototyping Execution plan Executive Information System Existance dapendency Existential Exploitation Expression relation Extended cartesian product Extended data type

Ramin.Samad@yahoo.com

‍ Řš ا ا‏ ˜ ‍ Œ‘اع‏ ŠÂ“ ‍Š Ůˆâ€ŹÂŞâ€ŤŘ§â€Ź ” ‍اد¿ م‏ §Ă€ ÂŚ â€ŤŮˆا‏ ‍ Âœ اعŮŠ اد¿ م‏ ” ‍آ ع‏ ‍ Â&#x; ع‏ EER â€ŤŘąŮˆŘ´â€Ź ˜ ‍ د‏¹™ §Â” ˜“¢ ÂŽ š ‍ د‏ -˜ ‍ د‏ (ER) ‍اعÂ&#x;´ ء‏ ˜ ‍ Řš د‏ ‍ ا اؚ‏¹Ž  Â—

‍ د‏ ÂŚ â€ŤŮˆا‏ ‍ ا ي‏ ‍ ” ء‏¹ “ ‍Â&#x; ŮˆŮŠâ€Ź ER ‍ داع‏Â

™ ™‍ا‏ â€ŤŘąŮˆ اد ÂŚ عي‏ -‍š اÂŽ ŘąŮˆ اد‏ ‍اš ام‏-‍” ء‏ ‍ داع ŘąŮˆâ€ŹÂ

â€ŤŘąŮˆ اد‏ ‍ ™ زي‏¹ Â

” ­ â€ŤÂŒ Ř­ ا ا‏ ‍Ž ŘŞâ€ŹĂ‹ÂŒâ€Ť ا‏¼ “™ ‍ا ا‏ â€ŤŮˆا ÂŚ Ůˆ د‏ ‍™ Řą Ůˆ دي‏ ‍ داعي‏ Â&#x;‍ ÂŽ´ ع‏¹à ‍عا‏ Â’ ‘Â&#x; ‍ ب آ‏° Âą ‍­ ش‏ ‍ Řš داد اي‏ Âą ‍­ ش‏


WWW.IRANMEET.COM

â€Ťď­˜ďşŽďťłďŽ•ďşŽŮ‡ دادهﺎ‏ Extension External level External/Conceptual mapping (E / C ) External / External External schema External view F Facts FAGIN Fail ( Failure) Fan trap Fault tolerance

FD ' s diagram FD' s preserving decomposition Federated Fifth Normal Form File server Filing System (FS) First Normal Form Five- minute rule Flat Flat Linear record Foreign Key ( FK ) Form generator Form driven Formal Four(4)GL Fourth Normal Form Free Front-end Full outer join Fully Functional Dependency (F FD ) Fully relational system Functional Dependency ( FD )

‍­ د‏ ‍ ع‏Æà ™ ‍ ÂŚ ”˜ ع‏ ‍ ادعاآ‏/ / ‍ ع‏ ‍ ع‏ ‍ ŮŠ ع‏ ” ‍د ع‏ ‍“ ŘŞâ€ŹÂ˘Âšâ€ŤŮˆا‏ ’“­ (Ă™Âœ ) Ă?“Ž ‍§ ي‏À-Ăƒ ‍دام‏ ‍ ا‏ ŸÂ&#x; ‍ داع‏Â

â€ŤŮˆا Œ“ ي‏ ¢ Â&#x; Ăš Â? Âą ‘—Â&#x; “Œ â€ŤŮˆا‏ ‍ عال‏ ¼—§ ‍¸ عت‏ ‍ ل‏ ‍ Œ‘اع‏ Ă›§Â“ ÂĽ “™ ˜ Ă? ‍¸ عت‏ ‍ ل‏ ÂąÂœÂ“Âšâ€Ť ŘŻâ€ŹĂœ§ ÂŽ š ÆĂ

à ‍عآ عد‏ ÆĂ

‍آ “ ع‏ ‍ م‏ª

” ˜ ‍ه ا‏ ‍ م‏ ‍¸ عي‏ ‍ عم‏À ‍ز ن‏ ‍ عم‏À ‍¸ عت‏ ‍ ل‏ ‍¯زاد‏ ¨Â“ ‍ ا “ آ‏ ¢ Â&#x; ÂŚ â€ŤŮˆا‏ ( ‍Â&#x; Ů… )آ‏ ‍اي‏¹à ‍ عا‏¼ “™ ‍Â&#x; م‏ ¢ Â&#x; ÂŚ â€ŤŮˆا‏

Functional analysis Functionalality Fuzzy data mining and knowledge discovery system G Gantt chart Gateway General purpose General unification Generalization Global application Global conceptual schema Global System Catalog ( G S C ) GRANT Graphic driven Greater then Join Greater then or Equal Grow and shrink H Harmonic mean Heading HEATH theorem Help Heterogenous Heterogenous parrallel systems control database Hidden data Hierarchycal Data Structure (HDS) Hierarchycal Database (HDB) Homogenous Horizontal decomposition Horizontal fragmentation Host Language

Ramin.Samad@yahoo.com

396

‍ Š دي‏ Ž “ ÂźÂ&#x; Â&#x; “  ÂŽ ‍ي‏Ă?‍ Ú˜Ůˆâ€ŹÂĽ “™ ‍داد آ ŮˆŮŠ Ůˆâ€Ź ½ ‍ دا‏Ò¨â€ŤŘ˘â€Ź ˜ ­ ‍ عت‏À ‍­ اع‏ ‍ § ع‏¹ ‍ه‏  ÂŽ ‍ Š ن‏ ¼“ ¢Â&#x; ‍آ Řą دي‏ ‍™ Â&#x; ™ ي‏ ‍ ŮŠ ادعاآ‏ ” ÂŤ ÂŤ ‍ گ‏ª Â&#x; ‍آ‏ ‍ إ‏à Ž‍ا‏ ŠÂ“ ‍آ Řą ­ ا‏ ‍ ” ء‏¹ “ ­â€Ť ‘ع‏ ‍ ” ء‏¹ “ ‍ ŮˆŮŠâ€Ź ­â€Ť ‘ع‏ ½â€ŤŘąÂ” Ůˆ آ ه‏ ²Â™

ĂƒÂ“ ‍ه ع‏ § ÂŻ ™ à “‍ ه‏¹“Õš ‍آ Řą ع‏ ’Œ ‍ ه‏ ‍ ÂŚ داد ه ي‏ ÂĽ “™ ‍آ§ ل‏ ’Œ ‍ه ŮŠ ه‏ ‍ ازي‏ ‍داد ن‏ ‍™ Řą داد اي‏ ´Â&#x;‍ ا‏¹ ™ Âą ™ ‍ ÂŚ داد‏ ´Â&#x;‍ ا‏ ’Œ ‍ه‏ Âœ ‍ ا‏¹ ‘—Â&#x; ‍ ع™ زي‏ Âœ ‍“ ( اâ€ŹĂ ÂœÂ&#x;) ‍ز ن “‘ ن‏


WWW.IRANMEET.COM

397

â€ŤŮˆاÚ˜Ů‡ ﺎ اďŽ•ďť ďť´ďş´ďť˛ ďş‘ ﺎعﺳ‏

Host database Host server Hybrid fragmentation Hyper graph Database Structure I Identifying Identifying entity Identifying relationship Identity projection Immediate checking Immediate update Implementation Implementation diagram Import / Export interface Inapplicable Inclusion Dependency Normal Form Inclusion Dependency ( ID) Independent (Stand alone ) Index rebuilding Indirect materialization Induction Inference rules Informal Information space Information Storage and Retrieval (ISR) Information System Information Technology (IT) Informative Inner query Inplace updating Instance

‍ ÂŚ داد‏ ‍ “‘ ن‏ ‍ Œ‘اع‏ ‍ “‘ ن‏ ‍ ع™ زي‏ ´Â“‍Â&#x; آ‏ ‍™ Řą داد اي‏ ‍ ­ ا‏Å ‍ه‏ ‍”§ ™ ي‏ ™ §Â” ˜ ‍ د‏ ™ §Â” ‍اعÂ&#x;´ ء‏  â€Ť Â&#x; ه‏ Â™â€ŤŮˆاع‏ Âą ¸ Ă‹ ‍ §Œ Ů… ™ زي‏ Âą ¸ Ă‹ ‍ “ ŘŻ ™ زي‏ ‍ داع “ د‏Â

‍™ زي‏ / ‍ ŮˆŘąŮˆŘŻâ€ŹÂ˛Â™â€ŤŮˆا‏ ‍¸ ŮˆŘąâ€Ź ‍ ل‏ Ž‍¿“ š ا‏ ‍¸ عت ل‏ ‍ ل‏ ” ÂŚ â€ŤŮˆا‏ ‍ ل‏ ” ÂŚ â€ŤŮˆا‏ ( ‍ Âœ ) دآ‏ ‍ ز™ زي‏ Ă™ ” “¿ Â’ ™ ÂĽÂ“Âœ

‍ا™ Âœ اإ‏ ‍š اÂŽ ا™ § ؏‏ ‍¿“ ¸ عي‏ Â&#x; ÂŽĂ‹ÂŒâ€Ť ŮŠ ا‏Õ ‍ذ “ Ůˆ ز‏ ‍Ž ŘŞâ€ŹĂ‹ÂŒâ€ŤŘ§â€Ź Â&#x; ÂŽĂ‹ÂŒâ€Ť ا‏¼ “™ ‍ Ú˜ŮŠâ€ŹÂŞ §ŠÂ&#x; ‍Ž ŘŞâ€ŹĂ‹ÂŒâ€ŤŘ§â€Ź ­ §â€ŤŘ§ŘąÂ&#x;´ ء ده‏ ‍ ™½ ŘŻŘąŮˆâ€Ź ‍ §Œ Ů… ™ زي‏ ‍دع‏ Âą Â

Instances set Integrated Integrated system Integrity Integrity rule ( constraint ) Integrity constraint Intelligent system Intension Inter related Interaction Interactive Interactive mode Intermediate relation Internal level Internal view Internal schema Interoperability Interpretation Intrinsic Intuitive Inverted list data structure Irreducible Irreduciblity IS-A IS-A PART-OF Islands of information Isolation J Java-script Job Join Join attribute Join Dependency Join selectivity factor

Âą  ¹ÂŽ  Â—

¹À‍ ع‏ÅŠ - —

¹¢ ÂĽ “™ (¹À‍ ع‏ÅŠ ) ˜“¢ ˜ ‍ Âź ŮˆŘŻâ€Ź- ÂŽ š ˜“¢ ˜ ‍ Âź ŮˆŘŻâ€Ź “¢ § Â” ‍ ه‏¼ “™ ¹à ‍عا‏ ²´Â&#x; ÂĽ ½§â€ŤŘ§ عآ‏ ( ¢Â&#x;) ¨§â€ŤŘ§ عآ‏ ¢Â&#x; ‍ا™ ب‏ §Â“ §Â“ ¹à ‍عا‏ ‍ دا‏Æà ™ ‍د دا‏ ‍ ŮŠ دا‏ ” ¢Â&#x; “ Â&#x; Â&#x;‍ذا‏ ‍” دي‏ ‍™ Řą داد اي‏ ‍“ ŮŠ ŮˆاعŮˆŮ†â€ŹÂŞ ¡ ½â€ŤŘ˘ ه‏ ‍آ ه½ ¡ ي‏ ...Ăƒ ˜ ‍ه‏ ...‍ ‘ ا™˜ از‏ Â&#x; ÂŽĂ‹ÂŒâ€Ť ‘ا ا‏ (‍ ا )ا اد‏ Â˜Ă… ŠÂ™â€Ť Ůˆا ا‏ ‍آ ع‏ “ “ ˜ ¸ â€ŤŮˆا ÂŚ “ ي‏ Ă? ° ‍ Š د‏ Ž ½§ ‘­ “

K Key-based inclusion

Ramin.Samad@yahoo.com

‍ ل‏ ” ÂŚ â€ŤŮˆا‏ “ ‍ ´ § آ‏


WWW.IRANMEET.COM

â€Ťď­˜ďşŽďťłďŽ•ďşŽŮ‡ دادهﺎ‏ dependency Key preserving Key-Complete Normal Form Knowledge Base Management System (KBMS) Knowledge-based system L Large Database Layer Left augmentation Left outer join Less than Join Less than or Equal Join Library function Link Load Local Local application Local conceptual schema Local database Location anatomy Lock granularity Lock granular Locking Locking technique Locking / Logging Logic programming Language logical Data Independence Logical construct Logical design Logical design refinement

“ ‍داعاي آ‏ ‍¸ عت ل‏ “ ‍ آ‏Ë ‍آ‏ ˜ ÂĽ “™ ˜ §Â” ÂŚ §Â” ÂĽ “™ ‍ ÂŚ داد‏ ‍ ‘عگ‏ Âą Ă? âĂ€ ½ ‍ا ‘ا‏ âĂ€ “ ‍ ا‏ ‍ ” ء‏¹ “ ŠĂ€ ‍آ‏ ‍ ” ء‏¹ “ ‍ ŮˆŮŠâ€Ź ŠĂ€ ‍آ‏ ‍ اي‏¹ Ă? ‍Â&#x; ÂŤ آ‏ “ ‍ ع­¡اعي‏ Âź

Âź ‍آ Řą دي‏ ‍ ŮŠ ادعاآ‏ ” Âź

Âź ‍ ÂŚ داد‏ ‍ عي‏Ă? ‍ د‏ Âź

š Â?‍ا از Ůˆا‏ ¡ ” š Â?â€ŤŮˆا‏ ( ¡ š ) ‍š ­¡اعي‏ š ĂƒÂ“§ŠÂ&#x; ‍­¡اعي‏ һ Â&#x;-‍š ­¡اعي‏ ˜´š ‍ ي‏ Âą ‍ز ن‏ Ăˆà § ‍™ زي‏ ‍ل داد اŮŠâ€ŹĂ‹Âœ ™‍ا‏ Âœà §

Âœà § ˜ ™ Âœà § Â?â€ŤÂŒ ا‏ Â?‍ ´ ŘŻ ÂŒ ا‏ Âœà §

Logical sequence Logical unit of work Lookup table Loop trap Loosely coupled Lost decomposition M Main computer Main frame centric Main Memory Database (MMDB) Manipulative Many to many Map driven Mapping Materialized view Meaning Mediator Member Membership condition Menu driven Menu generator Message server Meta byte Meta-constraint Meta data Meta rules Micro real world Middleware Mini computer Minimal Minimal relational system Missing data Missing information Mixed design method Mobile office Mobile database

Ramin.Samad@yahoo.com

398

Âœà § ª‍Â&#x; ا‏ â€ŤÂœ آ ع‏à § Â?â€ŤŮˆا‏ — ‍ ŮˆŮ„â€Ź ‍ اŮŠâ€ŹÂąÂœ Â? ‍دام‏ ˜ ™ “ ‍ Â?¡٠‏¹ ‘—Â&#x; ‍“ Â&#x; ‘عگ‏Å ‍آ‏ ‍ عي Â? ل‏ ¢

‍“ Â&#x; ‘عگ‏Å ‍آ‏ ‍ ÂŚ داد ه ي‏ ¸â€Ť ا‏¹ Â? Â&#x; “  ÂŽ §Ă€ Âą §Ă€ ” ˜ ‍ه ا‏ ¹¨Âœ

˜” ÂŚ

‍ Ž“§Â“˜ دع‏¹ ‍د‏ ÂŻ §¢

— “

Ă•ÂŽ ˜ Ă•ÂŽ ‍” ء‏ ” ˜ ‍ه ا‏ §

§ ª

‍ Œ‘اع “ م‏ ˜

˜ ‍ Âź ŮˆŘŻâ€Ź ‍ داد‏ Ž‍ š ا‏ š‍ ŘŻ ن Ůˆا‏ ‍ “ ن ا ‘اع‏ ²Â™ Â&#x; “Å ‍آ‏ ¹§Â“ ‍آ‏ ‍اي‏¹à ‍ عا‏¼ “™ š‍Â? ا‏ ˜ ‍داد‏ ˜ â€ŤŘšâ€ŹĂ‹ÂŒâ€ŤŘ§â€Ź ´Â“â€ŤŘąŮˆŘ´ Â&#x; آ‏ ‍ ا‏ ‍د آ Řą ه‏ ‍ ت‏


WWW.IRANMEET.COM

399

â€ŤŮˆاÚ˜Ů‡ ﺎ اďŽ•ďť ďť´ďş´ďť˛ ďş‘ ﺎعﺳ‏

server Mobile database system Mobile database system Mobile DB Mobility and personal database Module Module AuthID Monadic Monitoring Mono- server Multi database management system Multi Database System (MDBS) Multi ring Multi- Client / Server (MC /S) Multi- Client / Multi- Server(MC / MS) Multi- media Multi database Multi-Dimensional OLAR (MDOLAP) Multimedia-data mining Multimember set Multiple inheritance Multiple-user access Multiplicity Multi query Multi-server Multi set Multi-user Multi valued Multi valued Dependency (MVD) Multi version concurrency Multi versioning

‍ ÂŚ داد ه ي‏

‍ ÂŚ داد‏¼ “™ ‍ عي‏ ¢ ‍اي‏ ÂĽ “™ ‍ ا‏ ‍ ÂŚ ه ŮŠ ه‏ ‍ ÂŚ داد‏ ‍ ÂŚ داد ه ي‏ ‍ ا‏ ‍ Ůˆ ه‏ÉĂ?” Â?â€ŤŮˆا‏ ‍ اي‏¹™ §Â” ‍ ل‏Ò ¢Â&#x; ‍ ي‏ Ž ĂƒÂ&#x; ‍ Âť عت‏ ‍ Œ‘اعâ€ŹĂƒÂ&#x; ˜ ÂĽ “™ ‍§ ÂŚ ه‏À §Ă€ ‍ عي‏ ¢

‍ ÂŚ ه‏ ‍ اŮŠâ€ŹÂąÂœ Â? §Ă€ Ăƒ -‍§ ¨ ي‏À ‍ Œ‘اع‏ -‍§ ¨ ي‏À ‍§ Œ‘اع‏À ‍ اي‏¹ ™‍§ ع‏À ‍§ ÂŚ ه‏À ‍ دازش‏¼ “™ ² “ ÂźÂ&#x; ‍ داد آ ŮˆŮŠâ€ŹÂĽ “™ ‍ اي‏¹ ™‍§ ع‏À §Ă€ ¹Ž  Â—

‍ ي‏Վ â€ŤÂ˜ )Â&#x; اع؍â€ŹÂšâ€ŤŮˆعا‏ Âą ­ §Ă€ ( §Ă€ “ ™‍د‏ ‍آ Řą دي‏ ‍§ ي‏À ¨Â™ §Ă€ ‍§ Œ‘اع‏À ¹Ž  Â— §Ă€ ‍§ آ Řą ي‏À ‍§ Âœ اعي‏À §Ă€ ÂŚ â€ŤŮˆا‏ ‍ Âœ اعي‏ §Ă€ ‍ Ůˆ ي‏ ‍ه‏ ‍ اي‏¹Ă?

ÂąĂ? §Ă€ ĂƒÂ“§ŠÂ&#x;

‍™ زي‏ N Named data items Named relation Natural Join (NJ) Natural language driven Natural language like Nature Navigation Nested Relational Query Language (NRQL) Nested statement Nested query Nested relation Network Network Data Structure (NDS) Network Database Language (NDL) Network centric Network topology News server No action Non database approach Non orthogonal design Non procedural No additive Non-loss (Lossless) Nontrivial Normal relation Not Normal relation (NNR: Not-Equi-Join Nullifying Null value

‍ Âœ داد اع‏ ‍ اع‏¹à ‍عا‏ ¢Â“´ÂŒ “ ‍آ Řą ز ن‏ ¢Â“´ÂŒ ¢Â“´ÂŒ ‍ ز ن‏¹´” Â˜Â“â€Ť ه‏ ( ¸â€Ť ŮˆŘ´ )Âż ا‏ ½Â™ ‍ز ن‏ “¿ ¹à ‍عا‏ ‍ ل‏ ) Ă?‍اÂ?Š Ů… آ‏ ( Â&#x; ‍Â&#x; دع‏ Â&#x; ‍ ™½ Â&#x; دع‏ Â&#x; ‍ Â&#x; دع‏¹à ‍عا‏ ¹Š´Â” ‍™ Řą داد اي‏ ‍ اي‏¹Š´” ÂĽ “™ ‍ز ن‏ ‍ اي‏¹Š´” (NDL) ‍ عي Â? ل‏ ¢

¹Š´Â” ¹Š´Â” ‍ Ú˜ŮŠâ€ŹÂŞ Â&#x; ‍ Œ‘اع ا ´ ع‏ ‍Ž Ů… اš ام‏ ‍ ¨ ÂŚ ه‏ Â?â€ŤÂŒ ا‏ ¢

‍ اي‏¹ ‍ ŘąŮˆâ€Ź ( § Â”‍) ŘąŮˆâ€Ź ¨Â? ­ ¨ ­ (‍ ح‏à ) ÂĽ

‍ ل‏¹à ‍عا‏ “¿ ¹à ‍عا‏ ‍ ل‏ ‍ ” ء‏¹ “ ‍Ž Ů… Â&#x; ŮˆŮŠâ€Ź â€ŤÂœ اع ­¡اعي‏ Î“‍ه‏ â€ŤÂœ اع‏ Î“‍ه‏

O Object

Ramin.Samad@yahoo.com

¤Â“”


WWW.IRANMEET.COM

â€Ťď­˜ďşŽďťłďŽ•ďşŽŮ‡ دادهﺎ‏ Object Oriented Database Language Object Query Language ( OQL) Object Oriented Language(OOL) Object behavior Object Data Model Object modeling Object Modeling Technique (OMT) Object Oriented Database Management System (OODBMS) Object Type Object -Relational Database Management System (ORDBMS) Object-Relational Data Model (ORDM) Occurrence On-line On Line Analytic Processing (OLAP) One to many One to one One fact - one relation One level query One- minute rule Online Analytical Processing (OLAP) Online controller Online mode Operand Operational environment Operational mode Option Order-entry

environment ‍ز ن ÂŚ ه‏ ‍ ­ ا‏¤“” ½Â™ ‍ز ن‏ ‍ ­ ا‏¤“” ‍ ­ ا‏¤“” ‍ز ن‏ ¤Â“” ‍ع ع‏ ‍ Ů„ داد اي‏ ‍ ­ ا‏¤“” ֓” ‍ زي‏ª

‍ زي‏ª ĂƒÂ“§ŠÂ&#x; ¤Â“”

˜ ÂĽ “™ ‍ ÂŚ داد ه ي‏ ‍ ­ ا‏¤“” ¤Â“” ‍ ؚ‏ ˜ ÂĽ “™ ‍ ÂŚ داد ه ي‏ ‍اي‏¹à ‍عا‏- ¤Â“” ‍اي‏¹à ‍ Ů„ عا‏ ‍ ­ ا‏¤“” ‍ د‏Â

(Âą ™ “ ) ² ‍ داز” ي‏ ² “ ÂźÂ&#x; §Ă€ Âą Ăƒ Ăƒ Âą Ăƒ ) ‍ ŘŻâ€ŹĂƒ Ăƒ :( ˜“¢Âšâ€ŤŮˆا‏ ¹à ‍عا‏ ĂƒÂ&#x; ½Â™ Ÿà ™ ÂąÂœÂ“Âšâ€Ť ŘŻâ€ŹĂƒ ÂŽ š ‍ا Š ن دازش‏ ² “ ÂźÂ&#x; ² ª‍آ§ Ůˆâ€Ź ) Âą ™ “ ‍ا™ ب‏ ( ²  ÂŽ Â&#x; “  ÂŽ ²Â“Âź

Â&#x; “  ÂŽ ‍ا™ ب‏ ( ¹§ ‘­) ‍­‘ اع‏ ‍ ŮˆŘąŮˆŘŻâ€ŹÂ˛Â“Âź

Ordering Oriented graph Orthogonal design Outer query Outer union Outplace updating Overhead Overlapping Owner P Page Panel interface Parallel processing Parameter driven Parent-Child Link type (PCL) Partial Partial Key

Partial participation Participant Passive dictionary Peak performance peak time Peer-to-peer Performance Permanent ( planned) Persistent Persistent ( Permanent) table Persistent Stored Modules ( PSM ) Physical redundancy Physical Data Independence (PDI ) Physical design Piece Plex Pointer

Ramin.Samad@yahoo.com

400 ‍™ عش‏

‍¯عا™ ع‏-¼

‍­ ا٠˜ داع‏ ¢ Â?â€ŤÂŒ ا‏ ‍ ™½ “ Ůˆâ€Ź ‍ ؚ‏ ‍ ا ا‏ ‍ §Œ Ů… ™ زي‏ ‍ ŮˆŮ† از‏ ‍ Â‘Ůˆ Š عي‏ (‍) “¨Š عي‏ ” Ă… â€ŤŮ‡â€Ź ĂƒÂŞ

¹Ÿ ¸ ²Â™â€ŤŮˆا‏ ‍ دازش ازي‏ ” ˜ ‍ه ا‏ ‍ عا‏ -‍ Řš “ ع‏ ‍ ز ي‏ ‘ ‘ “ ‍آ‏ Â˜â€Ť ¨ عآ‏ ‍‘ا‏ª‍¿“ ا‏ ( ‍) آ‏ §§â€ŤÂ” آ˜ آ‏ “¿ ‍د Š¨§ ي‏ ‍ ل‏¢ ‍ “¨ Â’ آ عا‏ ‍ز ن اŮˆŘŹâ€Ź ‍ از‏à  â€ŤŮ‡â€Ź ‍آ عا‏ ά“ â€ŤŮ‡â€Ź ‍ ŮˆŮ„ ­ ع‏ “ ‍ ŮŠ ذ‏ª

‍” ­ ع‏ ÂŚ ‍ا Â‘Ůˆâ€Ź Š ‘“ ‍ل داد اŮŠâ€ŹĂ‹Âœ ™‍ا‏ Š ‘“ Š ‘“ Â?â€ŤÂŒ ا‏ ¹ŠÂ&#x; Ă„Š -  â€Ť ¨ ن‏


WWW.IRANMEET.COM

401

â€ŤŮˆاÚ˜Ů‡ ﺎ اďŽ•ďť ďť´ďş´ďť˛ ďş‘ ﺎعﺳ‏ ­ ‍ا” ع‏

Portability Positional ordering Post relational Precompiled Predicate Predicate calculus Prenex form Pre-relational Prescriptive Presentation Price per TPS Price / performance ratio Primary Key ( PK ) Primary domain Prime attribute Printer server Privacy Privilege Problem context Procedural Procedure Production rules Program-data independence Programming Language (PL) Programming completeness Project Propagating update Proposition Protection Prototype Pseudo transitivity Q Qualified association Qualifier Quantifier Queries

‍ — ¡ ي‏ Š ÂĽÂť

‍اي‏¹à ‍ عا‏ Ă… ‍ “½ آ‏ §

‍ § ات‏ ‍¸ عت‏ ‍ “¨ ي‏ ‍اي‏¹à ‍ “½ عا‏ ‍د™ عي‏ ½ Â

‍ ازاإ‏¹ ¹§ ‘‍ه‏ TPS / ¹§ ‘‍ ´Â˜ ه‏ ‍آ عا‏ ¸â€ŤŘ˘ “ ا‏ ¸â€Ť “ ان ا‏  ÂŽ ˜ ¸ ‍ ٞ‏À ‍ Œ‘اع‏ ÂŚ Âź

‍ا “ ز‏ Âą Ă– Â’

‍ اي‏¹ â€ŤŘąŮˆâ€Ź Âą â€ŤŘąŮˆâ€Ź һ Â&#x; Ž‍š ا‏ Âą â€ŤŮ„â€ŹĂ‹Âœ ™‍ا‏ ‍از داد‏ Âą ‍ز ن‏ ‍™ زي‏ Âą ‍ ل‏ ‍آ‏ ‍™ زي‏ Â&#x; ‍ §Œ Ů… ™ زي‏ ” ¨ §

‍­‘اع‏ Â˜Âľ Â? -˜ Ă? Âą Â

‍ ™ زي‏¹ Â

‍ ي‏¢Â&#x; ¹´Â”

“œ Š “š  â€ŤÂ§ ي‏À ‍ §Œ Ů… ™ زي‏

optimization Queries set Query Language (QL) Query By Example (QBE) Query modification Query optimizer Query processor Query server Query By Form (QBF) Query optimization R Range variable Range query Real Real world Real time application Real-time DBMS Real-world object Real-time database management system Record type Recovery Recursive relationship Redundancy Redundant Array of Inexpensive Disks (RAID) Redundency Free Normal Form Reengineering Reference Reference diagram Reference cycle Reference graph Reference path Referenced

Ramin.Samad@yahoo.com

¨Â™ ½Â™ ¹Ž  Â—

½Â™ ‍ز ن‏ Ăƒ â€Ť آ‏¹ ½Â™ ‍ Ů„â€ŹĂŒ

½Â™ Â“Â“Ă˜Â&#x; ‍ ™ ز‏¹§“ ½Â™ Œ”‍ داز‏ ½Â™ ‍ Œ‘اع‏ ½Â™ Ăƒ â€Ť آ‏¹ ½Â™ ‍ م‏ ‍ ™ زي‏¹§“ ½Â™ “Œ Â“Ă˜

“Œ ½Â™ ¢Âšâ€ŤŮˆا‏ š‍ ن Ůˆا‏ ‍آ Řą د‏ Ă› ‍دع‏Ë ‍ ÂŚ داد‏ Ă› ‍دع‏ š‍ا”“ ŘĄ ن Ůˆا‏ ˜ ÂĽ “™ ‍ ÂŚ داد ه ي‏ Ă› ‍ دع‏ ‍ Řš عآ عد‏ ¼“ Â&#x; ¨­â€ŤŘ§ŘąÂ&#x;´ ء ز‏ ÂŚ ‍ا Â‘Ůˆâ€Ź ‍ ŘŻ Š ي‏¹ ‍¯عا‏ Âą ‍اعزان ا Â‘Ůˆâ€Ź ‍¸ عت ل‏ ÂŚ ‍ ا Â‘Ůˆâ€Ź ‍ § ™ ŘŻŮˆ ع‏ ‍اع ؚ‏ ‍ داع اع ؚ‏Â

‍ اع Řšâ€ŹÂąÂœ Â? ‍­ ا٠اع ؚ‏ ‍ “ ­ ا٠‏ ÂŤ


WWW.IRANMEET.COM

â€Ťď­˜ďşŽďťłďŽ•ďşŽŮ‡ دادهﺎ‏ Referencing Referential integrity rule Reflexive association Reflexivity Relationally completeness Relation assignment Relation constraint Relation predicate Relation schema Relation state Relation type generator Relation value (Relval ) Relation variable ( Relvar ) Relational expression Relational synthesis Relational algebra Relational assignment Relational calculus Relational Data Structure (RDS) Relational Database Management System (RDBMS) Relationship type Reload Remote call Remote data access Remote data access Remote Data Access System (RDAS) Renaming Replica Replication Report generator Repreting group

§§â€ŤŘą Řš آ‏ “¢ ÂŽ š ÂŽ ‍اع‏ ™ Š¢ ‍ ÂŚ ا‏ ‍Š س‏¢ ‍ا‏ ‍اي‏¹à ‍ Ů„ عا‏ ‍آ‏ ¹à ‍ا ب عا‏ ˜ ‍ Âź ŮˆŘŻâ€Ź ‍اي‏¹à ‍عا‏ ‍™§ اعÂ&#x;´ ء‏ ¹à ‍ ŮŠ عا‏ ” ¹à â€ŤÂ˜ عا‏ª Â? ¹à ‍ Řš عا‏ª

‍اي‏¹à ‍ Âœ اع عا‏ ‍اي‏¹à ‍“ عاâ€ŹĂ˜

´ ‍Ž´ عت‏ ‍اي‏¹à ‍عا‏ ‘ §Â™ â€ŤŘąŮˆŘ´â€Ź ‍اي‏¹à ‍عا‏ ‍اي‏¹à ‍ ´ عا‏ ‍اي‏¹à ‍ا ب عا‏ ‍اي‏¹à ‍Â? ب عا‏ ‍™ Řą داد اي‏ ÂŒ ´Â&#x;‍اع‏ ˜ ÂĽ “™ ‍ ÂŚ داد ه ي‏ ‍اي‏¹à ‍عا‏ ‍ Řš اعÂ&#x;´ ء‏ ‍ ز ع­¡اعي‏ ‍ ا ان از ŘŻŮˆŘąâ€Ź ‍د™ “ از ŘŻŮˆŘąâ€Ź ‍ داد ه‏¹ ‍ داد‏¹ “ ™‍د‏ Â˜Â™â€ŤŮ‡ ŮŠ ŘŻŮˆعد‏ ‍ ا Š ن‏¼ “™ ‍ داد‏¹ “ ™‍د‏ ‍ه از ŘŻŮˆŘąâ€Ź ­â€ŤŘŻâ€Ź ÂąĂ?

‍ ™ زي‏¹Ă?

‍ ­Â‘اعش‏ª

‍­ Ůˆ Â&#x;Š اع‏

402 ”

Request manager Request modification Requirements Engineering (RE) Requirements Prototyping ResearchDevelopment (RD) Response time Responsing procedure Restrict Restricted Restriction - Union Normal Form Restriction predicate Result relation REVOKE Right outer join Rightsizing Rissanen Role Root only R-system Rule based optimizer Rules Run time manager Run time supervisor S Safe expression Scalability

Scaleup Schema Schema Schema Schema Schema

AuthID definition evolution generator

Ramin.Samad@yahoo.com

™‍ ŘŻŘą ا‏ Â˜Â™â€ŤÂ“Â“ ŘŻŘą اâ€ŹĂ˜Â&#x; ‍ § ™ “ زه‏ ‍ ™ زي‏¹ Â

‍ “ زي‏ ¹¢Â™ Â&#x;-½â€Ť ÂžŮˆŮ‡â€Ź ‍ ه‏Ă?™ ‍ز ن‏ ÂŚĂ?™ Âą â€ŤŘąŮˆâ€Ź ½§ ‘­- ÂźÂ&#x; Âœ ¢Â&#x; (‍) ¨ Ůˆء‏ ‍¸ عت ل‏ ‍ ؚ‏ ‍ ا‏- ÂźÂ&#x; ½§ ‘­ §

¹—“ ¹à ‍عا‏ Ă˜ÂŞ Â˜Â™â€Ť ا “ عا‏ Ă?™ §

‍™ زŮŠا ام‏ Â’ ‍ع‏ ½Âœ

¹¨ ‍ Řąâ€ŹÂ˛Âœ R ÂĽ “™ § ´ ‍ ™ ز‏¹§“ ÂŽ š Ž‍š ا‏ ‍ ز ن ا ا‏ ‍ ز ن ا ا‏¾

Â’Ă– à ‍Ž´ عت‏ ‍­ Ř´ ¡ ي‏ ‍ا ‘ا ½ œ“ س‏ ‍آ Řą ) ­ ش‏ ( ‍ ¡ ي‏  Â” Ă’ ¢Â&#x; ¹™ §Â”  Â”  Â” Ă’ ¢Â&#x;  Â” Â“Â“Ă˜Â&#x;  Â” һ Â&#x; Â?â€ŤŮˆا‏


WWW.IRANMEET.COM

403

â€ŤŮˆاÚ˜Ů‡ ﺎ اďŽ•ďť ďť´ďş´ďť˛ ďş‘ ﺎعﺳ‏

Search argument Second Normal Form Security Selective setup Self dependency Self-relationship Self referencing Semantic Semantic unit of data Semantic concept Semantic constraint Semantic Data Modeling (SDM) Semantic integrity constraint Semantic optimizer Semantic rule Semi-join Semi structured Serial schedule Serializable Session manager Set type Set-oriented query Setup Shared Shared entity Side effect Single Single user (Personal) Single-valued Site Smart sizing Snapshot Software facilities (tools) Spatial and geographic

— ¨

‍¸ عت ŘŻŮˆŮ…â€Ź ‍ ل‏ § â€ŤŘ§â€Ź ¨§ ‘­ ÂŚ ‍ ŘŻ Ůˆا‏ ‍اعÂ&#x;´ ء د‏ ‍ ŘŻ Řą ؚ‏¹ §§â€ŤŘ˘â€Ź §¢

§¢ Â?â€ŤŮˆا‏ ‍داد‏ §¢ ‍ م‏ ˜ ‍ Âź ŮˆŘŻâ€Ź §¢

§¢ ‍ زي‏ª

‍داد‏ ˜ ‍ Âź ŮˆŘŻâ€Ź §¢ ˜“¢ ‍ ™ ز‏¹§“ §¢

ĂƒÂ“  Â™ Ž‍š ا‏ “ ¼“

§ Â™ ¼“

â€ŤÂŒ Ř­ ا اي‏ ª‍ ا‏ ¡ ª‍Â&#x; ا‏ ‍ ™ ي‏ Â&#x;

‍ا ا آ Řą ان‏ ¹Ž  Â— ‍ ؚ‏ ¹Ž  Â— ½Â™ ‍ا” اآ‏ ‍ز Řš ¨ Ůƒâ€Ź ´ ¹°â€ŤÂŽ ع‏ ‍™ د‏ ‍ آ Řą ŮŠâ€ŹĂƒÂ&#x; ‍ Âœ اعŮŠâ€ŹĂƒÂ&#x; ( ˜ ™ ) Âą

¼“§Â&#x; ‍ا از‏ ” ‍ اي‏¹Ÿª ‍ت‏˓ Â&#x; ‍ Ů…ا ‘اعي‏ ‍ ه ي‏¹à “Â? ‍ Ůˆâ€ŹĂ•

database system

“ ‍ اâ€ŹĂ˜

Special purpose Specialization

‍ § Řąâ€ŹĂƒÂ&#x; ٓÉĂ?Â&#x; ˜Ž ™ ½ ‍ا ‘ا‏ ( ‍) آ عا‏ ‍­ گ‏ ¢ â€ŤŘšâ€ŹĂ‹ÂŒâ€ŤŘ§â€Ź ‍ آ ع‏¹™ §Â” SQL ˜ ‍ Âź ŮˆŘŻâ€Ź “¢°â€ŤŮˆâ€Ź Ă’ ¢Â&#x; ‍ز ن‏ ‍ذ “ ™ زي‏ ” “ ‍ ذ‏¹ â€ŤŘąŮˆâ€Ź ” “ ‍داد ذ‏ ” “ ‍ذ‏ “ ‍ ذ‏¹à ‍عا‏ ” ‍š ي‏ ‍™ عي‏

Speedup Spread sheet Spurious SQL-Session AuthID State constraint Storage Definition Language (SDL) Stored procedure Stored data Stored data Stored relation Strong Structural Structural completeness Structural constraint Structural domain Structured Structured record Structured Query Language (SQL) Sub entity type Sub query Sub table Subtype Subtype Summarize Super computer Super Key (S. K ) Superentity type Supertable Supertype Surrogate System defined System developer

Ramin.Samad@yahoo.com

‍ Ů„ ™ عي‏ ‍آ‏ ˜ ‍ Âź ŮˆŘŻâ€Ź ‍™ عي‏ § Â™ ‍ “ ان‏ § Â™ § Â™ ‍عآ عد‏ SQL ‍ز ن‏ ‍ز ؚ‏ ˜ ‍ د‏ ÂŽ ½Â™ ‍ز ŮˆŮ„â€Ź ‍ز عد‏ ‍ز ؚ‏ ‍­ Ůˆ § ي‏ “ Â&#x; “Å ‍آ‏ “ ‍ا آ‏ ‍ز ؚ‏ ‍ز ŮˆŮ„â€Ź ‍ز عد‏ Â’ ‘Œ “ ‍آ‏ ‍ ن‏ ‍ ” دع‏Ò ¢Â&#x; ÂĽ “™ - ‍ ™ ز‏¼ “™ ‍ “ ŘŻ ™ ز‏


WWW.IRANMEET.COM

â€Ťď­˜ďşŽďťłďŽ•ďşŽŮ‡ دادهﺎ‏ System specification System variable

‍ ت‏ÉĂ?¨

ÂĽ “™  “™ Â“Ă˜

T

Tabular Data Structure (TDS) Tabular system Tabular Database Task Temporal Temporal Dependency

Temporal ERD Temporal data Temporal database Temporary table Temporary view Test data Test strategy Third Normal Form Three level architecture Three-schema architecture Three-tier Three-Valued Logic (3VL) Throughput Tightly coupled Time stamping Tool developer Top-down design method Total participation Tow-Valued Logic (2VL) Trace facility Transactions Log Files (T. L. F) Transaction Transaction

‍™ Řą داد اي‏ ª‍ Ůˆâ€Ź ª‍ Ůˆâ€ŹÂĽ “™ ‍ ÂŚ داد‏ ª‍ Ůˆâ€Ź Âą Â“Âľâ€ŤŮˆâ€Ź § â€ŤŘ˛â€Ź â€ŤŮˆا ÂŚ ز‏ ‍ داع‏Â

-˜ ‍ د‏ § â€ŤŘ§ŘąÂ&#x;´ ء ز‏ § â€ŤŘŻŘ§ŘŻ ز‏ ‍ ÂŚ داد‏ § â€ŤŘ˛â€Ź ˜š ‍ ŮˆŮ„â€Ź ˜š ‍د‏ Â&#x; ‍داد‏ ˜ Â&#x; ‍ا™ اÂ&#x;žي‏ ‍¸ عت ™ م‏ ‍ ل‏ ¹™ ‍ عي‏ ¢

Ÿà ™ ¹™ ‍ عي‏ ¢

 Â” ‍ عد‏¹™ ¹™ Ăˆà §

”‍اعز‏ Â&#x; “  ÂŽ ‍Â&#x; ان‏ ‍ “ š ي‏  â€Ť زâ€ŹĂƒÂ“§ŠÂ&#x; ‍ا ‘اع ™ ز‏ Âą Ă? â€ŤŘąŮˆŘ´â€Ź ’“ ‍‘ا‏ª‍ ¨ عآ˜ ا‏ ( ‍)آ‏ ‍ ŘŻŮˆâ€ŹĂˆà §

”‍اعز‏ ‍Â&#x; “ اي‏ ‍عد­“ ي‏ ˜´š ‍ ي‏ ¨§â€ŤÂ&#x; اآ‏ ½§â€ŤÂ&#x; اآ‏ ½§â€ŤÂ“˜ Â&#x; اآ‏¢

integrity Transaction Processing Performance Council (TPC) Transaction server Transactions concurrency management Transition constraint Transitive Transitivity Transparency rules Trigger Trivial True proposition Tuple oriented Tuple variable Two Phase Locking (2PL) Two-tier Type compatible Type constraint

404

TPC ‍™ ز ن‏ ‍ Œ‘اع‏ ¨§â€ŤÂ&#x; اآ‏ ˜

‍ Ůˆ ي‏ ‍ه‏ ½§â€ŤÂ&#x; اآ‏ ˜ ‍ Âź ŮˆŘŻâ€Ź ‍­¡اعي‏ ‍Â&#x; ا­¡اعي‏ ‍ ي‏¢Â&#x; ĂŚ Ž‍š ا‏ ‍ دن‏ (‍عه )عا ا از‏ ( ) ÂĽ

Â˜Â™â€ŤÂ­Â‘اع دع‏ Â&#x; ‍Â? ب‏ Â&#x; Â“Ă˜

š ĂƒÂ“§ŠÂ&#x; ‍­¡اعي ŘŻŮˆâ€Ź ‍ اي‏¹ Â?

â€ŤŘŻŮˆ عد‏ ‍™ ز­ Řą ؚ‏ ‍ Âź ŮˆŘŻ ˜ ؚ‏

U Undefined Unfederated Unidirectional association Union type Uniqueness Universal Universal concept Universal Database Management System (UDBMS) Universal Modeling Language (UML) Universal relation Universe of Discourse Universe of relations Unknown

Ramin.Samad@yahoo.com

¨ Ă’ ¢Â&#x; ‍ عال‏ Âą ™ Ăƒ ÂŚ ‍ ؚ‏ ‍ Řš ا‏ Š Œ ‍™ Řą ه‏ (  ÂŽ) Œ ‍ Ů… ه‏ ˜ ÂĽ “™ ‍ ÂŚ داد ه ي‏ Œ ‍ه‏  ÂŽ ‍ز ن‏ ‍ Ů„ ™ زي‏  ÂŽ ¹à ‍عا‏ Âť ‍ ن عد‏ ¹à ‍ عا‏¹Ž  Â—

Â’Š â€ŤŮ‡ ي‏ Âą §Â”


WWW.IRANMEET.COM

405

â€ŤŮˆاÚ˜Ů‡ ﺎ اďŽ•ďť ďť´ďş´ďť˛ ďş‘ ﺎعﺳ‏

Unload Unsafe expression Unstructured Upgradeability Upsizing Use case diagram User Friendly Interface (U F I ) User groups User defined rule User usage monitoring User defined User Interface (UI) Users' Ers integration

‍ آ دن‏ª Â’Ă– à ‍Ž´ عت‏ § Â™

‍اعÂ&#x;Âœ إ‏ ‍ا ‘ا ½ا از‏ ‍ داع عد‏Â

‍آ Řą د‏ ‍ آ Řąâ€ŹÂ˛Â™â€ŤŮˆا‏ § ‍ آ Řą ŮŠâ€ŹÂ˛Â™â€ŤŮˆا‏ ‍š اÂŽ آ Řą ي‏ ‍ا Š ن Âť عت‏ ‍ “ ŘŞ آ Řą ان‏ Ž ” Ă’ ¢Â&#x; ‍ آ ع‏²™ Â&#x; ‍ آ Řąâ€ŹÂ˛Â™â€ŤŮˆا‏ ‍ ™ زي‏¹À‍ ع‏ÅŠ ER ‍ داعه ي‏Â

‍آ Řą ان‏

V Value -based security constraint Vector Version Vertical decomposition Vertical fragmentation Very Large Database (VLDB) Very large information integrated system Very large distributed information system View updatability

Ž‍ Ů„ š ا‏ Ž‍ا‏ § ´ § â€ŤŘ§â€Ź ‍ Âœ د‏ ‍ داع‏ ‍ ÂŚ عش‏ ‍ دي‏ Ž Âą ‘—Â&#x; ‍ ع™ زي‏ ‍ دي‏ Ž “ ‍ ÂŚ داد‏ ‍ ‘عگ‏ Â&#x; ÂŽĂ‹ÂŒâ€Ť ا‏¼ “™ ‍ “ Řą ‘عگ‏ ‍Ž ŘŞâ€ŹĂ‹ÂŒâ€Ť ا‏¼ “™ ‍Â&#x; ز ÂŤ ” “ ع‏ ‍š “˜ §Œ م‏ ‍™ زش د‏

View Definition Language (VDL) View definition condition (s) View derivation View on view Virtual Child Virtual record type Virtual relation Virtual table Virtual attribute Virtual entity Virtual Parent Child Link (VPCL) Virtual Parent (V P ) Visual-basic -script Voice driven W Weak Web DB Well designed relation Well Formed Formula ( WFF) Work station Work station Working table Workload World Wide Web (W W W ) World Wide Web Database system (WWW-DB)

Ramin.Samad@yahoo.com

‍ د‏Ò ¢Â&#x; ‍ز ن‏ Ă’ ¢Â&#x; ‍” ء‏ ‍داد‏ ‍ا” Âœ Ů‚ د‏ ‍د ŘąŮˆŮŠ د‏ ‍ ز — زي‏ ‍ Řš عآ عد‏ ‍ — زي‏ ‍ — زي‏¹à ‍زا‏ ‍ ŮˆŮ„ — زي‏ ‍¸ ˜ — زي‏ ˜ ‍ د‏ ‍ — زي‏ VPCL ĂƒÂ“§ŠÂ&#x; ‍ Řą — زي‏ ⠊™‍ا‏- -â€ŤŮˆŮŠâ€Ź Â&#x; ¸ ‍آ ع‏ ғ¢° ‍ ÂŚ داد Ůˆب‏ ‍ ش‏¹à ‍عا‏ â€ŤÂŒ ح‏ ‍ Ů„ ش‏ ˜ ™ ‍ا ÂŚ آ ع‏ ‍ا ÂŚ آ عي‏ ‍ ŮˆŮ„ آ عي‏ ‍ عآ عي‏ ¹Š´Â” ™‍ؚ Řąâ€ŹĂ‹ÂŒâ€ŤŘ§â€Ź ‍ ÂŚ داد‏¼ “™ ¹Š´Â” ‍دع‏ ™‍ؚ Řąâ€ŹĂ‹ÂŒâ€ŤŘ§â€Ź


WWW.IRANMEET.COM

Ramin.Samad@yahoo.com


WWW.IRANMEET.COM

‫واژه ﻧﺎﻣﻪ‬

‫ﻓﺎرﺳﻲ ﺑﻪ اﻧﮕﻠﻴﺴﻲ‬

Essential Data extraction Test strategy Access strategy Induction Program-data independence Data independence Physical Data Independence logical Data Independence Deduction Online mode Interactive mode Operational mode

‫اﺳﺎﺳﻲ‬ ‫اﺳﺘﺨﺮاج داده ﻫﺎ‬ ‫اﺳﺘﺮاﺗﮋي ﺗﺴﺖ‬ ‫اﺳﺘﺮاﺗﮋي دﺳﺘﻴﺎﺑﻲ‬ ‫اﺳﺘﻘﺮاء‬ ‫اﺳﺘﻘﻼل ﺑﺮﻧﺎﻣﻪ از داده‬ ‫اﺳﺘﻘﻼل داده اي‬ ‫اﺳﺘﻘﻼل داده اي ﻓﻴﺰﻳﻜﻲ‬ ‫اﺳﺘﻘﻼل داده اي ﻣﻨﻄﻘﻲ‬ ‫اﺳﺘﻨﺘﺎج‬ ( ‫اﺳﻠﻮب ﭘﻴﻮﺳﺘﻪ ) ﺑﺮ ﺧﻂ‬ ‫اﺳﻠﻮب ﺗﻌﺎﻣﻠﻲ‬ ‫اﺳﻠﻮب ﻋﻤﻠﻴﺎﺗﻲ‬

Batch mode

‫اﺳﻠﻮب ﻳﻜﺠﺎ‬

Data sharing

‫اﺷﺘﺮاك داده ﻫﺎ‬

Shared View derivation Real-world object Spurious Missing

‫اﺷﺘﺮاﻛﻲ‬ ‫اﺷﺘﻘﺎق دﻳﺪ‬ ‫اﺷﻴﺎء ﺟﻬﺎن واﻗﻊ‬ ( ‫اﻃﻼع ﺟﻌﻠﻲ ) اﺿﺎﻓﻲ‬ ‫اﻃﻼع ﻧﻬﺴﺖ‬

¯ Redundant Array of Inexpensive Disks (RAID)

‫ارزان‬

‫دﻳﺴﻜﻬﺎي‬

‫آراﻳﻪ‬ ‫اﻓﺰوﻧﻪ‬

Arity

‫آرﻳﺘﻲ‬

Free

‫آزاد‬

Anomaly Super Key (SK ) Automatic Design Tool Tool developer Design tool Nested statement DBMS-web integration Embedded Self-relationship Recursive relationship Informative Identifing relationship

‫آﻧﻮﻣﺎﻟﻲ‬ ‫اﺑﺮﻛﻠﻴﺪ‬ ‫اﺑﺰار ﻃﺮاﺣﻲ ﺧﻮدﻛﺎر‬ ‫اﺑﺰار ﺳﺎز‬ ‫اﺑﺰار ﻃﺮاﺣﻲ‬ ( ‫اﺣﻜﺎم ﻣﺮﻛﺐ ) ﺗﻮ در ﺗﻮ‬ ‫ادﻏﺎم در وب‬ ‫ادﻏﺎم ﺷﺪه‬ ‫ارﺗﺒﺎط ﺑﺎ ﺧﻮد‬ ‫ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ‬ ‫ارﺗﺒﺎط دﻫﻨﺪﮔﻲ‬ ‫ارﺗﺒﺎط ﺷﻨﺎﺳﺎ‬

Upgradibility

‫ارﺗﻘﺎء‬

Reference

‫ارﺟﺎع‬

Axiom

Ramin.Samad@yahoo.com

‫اﺻﻞ ﻣﻮﺿﻮﻋﻪ‬


WWW.IRANMEET.COM

‫اﻳﺠﺎد‬

Development

408

information

‫اﻳﺠﺎد دﻳﺪ‬

Assertion

‫اﻇﻬﺎر‬

Work station

‫اﻳﺴﺘﮕﺎه ﻛﺎر‬

GRANT

‫اﻋﻄﺎء‬

Work station

‫اﻳﺴﺘﮕﺎه ﻛﺎري‬

CREATE view

‫اﻳﻤﻨﻲ‬

Security Database Protection

‫ﺣﻔﺎﻇﺖ ﭘﺎﻳﮕﺎهداده ﻫﺎ‬ ‫ب‬

Workload Load

‫ﺑﺎرﻛﺎري‬ ‫ﺑﺎرﮔﺬاري‬

Reload

‫ﺑﺎز ﺑﺎرﮔﺬاري‬

Data marts

‫ﺑﺎزار داده ﻫﺎ‬

Index rebuilding Data bank Setup Selective setup On-line Vector Application Program (AP ) Closure Qualified association Association Reflexive association Bi-directional association Unidirectional association Bound Deadlock BOYCE Self referencing Logical design refinement Exploitation Inter related In place updating Differed update

‫ﺑﺎزﺳﺎزي ﺷﺎﺧﺺ‬ ‫ﺑﺎﻧﻚ داده ﻫﺎ‬ ‫ﺑﺮﭘﺎﻳﻲ‬ ‫ﺑﺮﭘﺎﻳﻲ ﮔﺰﻳﻨﺸﻲ‬ ( ‫ﺑﺮﺧﻂ ) ﭘﻴﻮﺳﺘﻪ‬ ‫ﺑﺮدار‬ ‫ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي_ ﻛﺎرﺑﺮدار‬ ‫ﺑﺴﺘﺎر‬ ‫ﺑﺴﺘﻜﻲ ﻣﻘﻴﺪ‬ ‫ﺑﺴﺘﮕﻲ‬ ‫ﺑﺴﺘﮕﻲ اﻧﻌﻜﺎﺳﻲ‬ ‫ﺑﺴﺘﮕﻲ دو ﺳﻮﻳﻪ‬ ‫ﺑﺴﺘﮕﻲ ﻳﻚ ﺳﻮﻳﻪ‬ ‫ﺑﺴﺘﻪ‬ ‫ﺑﻦ ﺑﺴﺖ‬ ‫ﺑﻮﻳﺲ‬ ‫ﺑﻪ ﺧﻮد رﺟﻮع ﻛﻨﻨﺪه‬

Declarative Value -based security constraint Back office server Augmentation Upsizing Left augmentation Speedup

‫ﺑﻬﺮه ﺑﺮداري‬ ‫ﺑﻬﻢ ﻣﺮﺗﺒﻂ‬

‫اﻋﻤﺎل ﻗﻮاﻋﺪ اﻳﻤﻨﻲ ﻣﺒﺘﻨﻲ‬ ‫ﺑﺮ ﻣﻘﺎدﻳﺮ‬ ‫اﻓﺰارﮔﺎن ﭘﺸﺖ ﺻﺤﻨﻪ‬ ‫اﻓﺰاﻳﺶ‬ ‫اﻓﺰاﻳﺶاﻧﺪازه‬ ‫اﻓﺰاﻳﺶ ﭼﭗ‬ ( ‫اﻓﺰاﻳﺶ ﺳﺮﻋﺖ ) ﻛﺎراﻳﻲ‬ - ‫اﻓﺰاﻳﺶ ﻣﻘﻴﺎس ﻛﺎر‬

Scale up Redundancy Physical redundancy Conceptual redundancy Data usage pattern Privilege Online Analytical Processing Database administration support User usage monitoring Abstractive Relation assignment Relational assignment Commutative

‫ﺑﻬﺒﻮد ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ‬

‫اﻋﻼﻧﻲ‬

Smart sizing Lock granularity

‫ﮔﺴﺘﺮش ﭘﺬﻳﺮي‬ ‫اﻓﺰوﻧﮕﻲ‬ ‫اﻓﺰوﻧﮕﻲ ﻓﻴﺰﻳﻜﻲ‬ ‫اﻓﺰوﻧﮕﻲ ادراﻛﻲ‬ ‫اﻟﮕﻮي اﺳﺘﻔﺎده از داده ﻫﺎ‬ ‫اﻣﺘﻴﺎز‬ ‫اﻣﻜﺎن ﭘﺮدازش ﺗﺤﻠﻴﻠﻲ ﺑﺮ‬ ‫ﺧﻂ‬ ‫اﻣﻜﺎن ﻣﺪﻳﺮﻳﺘﻲ ﺑﺮاي ﻣﺪﻳﺮ‬ ‫ﭘﺎﻳﮕﺎه‬ ‫اﻣﻜﺎن ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻴﺎت‬ ‫ﻛﺎرﺑﺮان‬ ‫اﻧﺘﺰاﻋﻲ‬ ‫اﻧﺘﺴﺎب راﺑﻄﻪ‬ ‫اﻧﺘﺴﺎب راﺑﻄﻪاي‬ ‫اﻧﺘﻘﺎل دﻫﻨﺪﮔﻲ‬ ‫اﻧﺪازه ﺗﻨﻈﻴﻢ ﺷﻮﻧﺪه‬ ‫اﻧﺪازه واﺣﺪ ﻗﻔﻞ ﭘﺬﻳﺮ‬

Interaction

( ‫اﻧﺪرﻛﻨﺶ )ﺗﻌﺎﻣﻞ‬

‫ﺑﻬﻨﮕﺎم ﺳﺎزي در ﺟﺎ‬

Interactive

‫اﻧﺪرﻛﻨﺸﻲ‬

‫ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﺎ ﺗﺎﺧﻴﺮ‬

Reflexivity

‫اﻧﻌﻜﺎس‬

Ramin.Samad@yahoo.com


WWW.IRANMEET.COM

409 4 ; 1 ; C ‫ﺧﺪﻣﺘﮕﺰار‬

(C/S DB) Mobile DB

‫ﭘﺎﻳﮕﺎهداده ﻣﻮﺑﺎﻳﻞ‬

Host database

‫ﭘﺎﻳﮕﺎهداده ﻣﻴﺰﺑﺎن‬ ‫ﭘﺎﻳﮕﺎهداده وب‬

Web DB Main Memory Database Mobility and personal database

‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺣﺎﻓﻈﻪ‬ ‫اﺻﻠﻲ‬ ‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺷﺨﺼﻲ‬ ‫و ﻫﻤﺮاه‬ ‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﻛﻨﺘﺮل‬

Heterogeneous parallel systems control database Centralized database

‫ﻧﺎﻫﻤﮕﻦ‬

‫ﻫﺎي‬

‫ﻣﻮازي‬ ‫ﭘﺎﻳﮕﺎه ﻣﺘﻤﺮﻛﺰ‬ ‫ﭘﺪر ﻣﺠﺎزي‬

Virtual Parent Project Identity projection Parallel processing Query processor On Line Analytic Processing Query By Form Query By Example (QBE)

‫ﺳﻴﺴﺘﻢ‬

‫ﭘﺮﺗﻮ‬ ‫ﭘﺮﺗﻮ ﻫﻤﺎﻧﻲ‬ ‫ﭘﺮدازش ﻣﻮازي‬ ‫ﭘﺮدازﺷﮕﺮ ﭘﺮﺳﺶ‬ ‫ﺗﺤﻠﻴﻠﻲ ﺑﺮ‬

‫ﭘﺮدازﺷﻬﺎي‬ ‫ﺧﻂ‬

‫ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻓﺮم‬ ‫ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻣﺜﺎل‬

Outplace updating Immediate update Queries optimization Propagating update

Horizontal fragmentation Hybrid fragmentation Vertical fragmentation

‫ﭘﺮﺳﺶ ﺗﻚ ﺳﻄﺤﻲ‬

Subquery Set-oriented query ResearchDevelopment (RD) Back-end Post relational Backup

‫ﭘﺮﺳﺶ ﻣﺠﻤﻮﻋﻪ اي‬ ‫ﺗﻮﺳﻌﻪ‬-‫ﭘﮋوﻫﺶ‬ ‫ﭘﺴﺎ‬ ‫ﭘﺴﺎ راﺑﻄﻪاي‬ ‫ﭘﺸﺘﻴﺒﺎن‬

‫ﺑﻬﻴﻨﻪ ﺳﺎز ﻣﺒﺘﻨﻲ ﺑﺮ ﻗﺎﻋﺪه‬ ‫ﺑﻬﻴﻨﻪ ﺳﺎز ﻣﻌﻨﺎﻳﻲ‬ ‫ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮﺳﺶ‬ ‫ﺑﻲ ﺣﺸﻮ‬ ‫ﺑﻲ ﮔﻤﺸﺪﮔﻲ‬ ‫ﺑﻴﺸﺘﺮﻳﻦ ﻛﺎراﻳﻲ‬

‫ﭘﺎرﺳﺎزي )ﺗﻘﻄﻴﻊ ( اﻓﻘﻲ‬ ‫ﭘﺎرﺳﺎزي ﺗﺮﻛﻴﺒﻲ‬ ‫ﭘﺎرﺳﺎزي ﻋﻤﻮدي‬

Database

One level query

‫ﭘﺮﺳﺶ ﻓﺮﻋﻲ‬

‫ﺑﻬﻴﻨﻪ ﺳﺎز ﭘﺮﺳﺶ‬

‫ﭘﺎﻳﺎ‬

Local database Deductive database Real-time DBMS

Range query

‫ﺷﻮﻧﺪه‬

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

‫ﭘﺮﺳﺶ ﭘﻴﭽﻴﺪه‬

‫ﭘﺮﺳﺶ ﻃﻴﻔﻲ‬

‫ﺑﻬﻨﮕﺎم‬

Persistent

Complex query

Inner query

‫ﺳﺎزي‬

‫پ‬

Large Database

‫ﭘﺮﺳﺶ دروﻧﻲ‬

‫ﺑﻬﻨﮕﺎم ﺳﺎزي ﭘﺮﺳﺸﻬﺎ‬ ‫ﻣﻨﺘﺸﺮ‬

No additive Non-loss (Lossless) Peak performance

‫ﭘﺮﺳﺶ ﺑﻴﺮوﻧﻲ‬

‫ﭘﺮﺳﺶ ﺗﻮ در ﺗﻮ‬

‫ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﻼﻓﺎﺻﻠﻪ‬

Query optimizer Rule based optimizer Semantic optimizer Query optimization

Outer query

Nested query

‫ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﺮون از ﺟﺎ‬

Distributed Database (DDB) Tabular Database Very Large Database Temporal database Hierarchical Database (HDB) Client / Server Database

Ramin.Samad@yahoo.com

‫ﭘﺎﻳﮕﺎهداده ﺑﺰرگ‬ ‫ﭘﺎﻳﮕﺎهداده ﻣﺤﻠﻲ‬ ‫ﭘﺎﻳﮕﺎهداده اﺳﺘﻨﺘﺎﺟﻲ‬ ‫ﭘﺎﻳﮕﺎهداده ﺑﻲ درﻧﮓ‬ ‫ﭘﺎﻳﮕﺎهداده ﺗﻮزﻳﻊ ﺷﺪه‬ ( ‫)ﭘﺮاﻛﻨﺪه‬ ‫ﭘﺎﻳﮕﺎهداده ﺟﺪوﻟﻲ‬ ‫ﭘﺎﻳﮕﺎهداده ﺧﻴﻠﻲ ﺑﺰرگ‬ ‫ﭘﺎﻳﮕﺎهداده زﻣﺎﻧﻤﻨﺪ‬ ‫ﭘﺎﻳﮕﺎهداده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ‬ -‫ﻣﺸﺘﺮي‬

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


WWW.IRANMEET.COM

Application Program conversion Data conversion and data transfer

‫ﻫﺎي‬

‫ﺑﺮﻧﺎﻣﻪ‬

‫ﻛﺎرﺑﺮدي‬ ‫ﺗﺒﺪﻳﻞ و اﻧﺘﻘﺎل داده ﻫﺎ‬ ‫ﺗﺜﺒﻴﺖ‬

Commit Decomposition Horizontal decomposition Lost decomposition FD' s preserving decomposition Vertical decomposition

‫ﺗﺠﺰﻳﻪ‬ ‫ﺗﺠﺰﻳﻪ اﻓﻘﻲ‬ ‫ﺗﺠﺰﻳﻪ ﺑﺎ ﺣﺬف‬ ‫ﺗﺠﺰﻳﻪ ﺣﺎﻓﻆ واﺑﺴﺘﮕﻴﻬﺎ‬

Atomicity

/ ‫ﺗﺤﻠﻴﻞ ﺑﺮآورد ﻫﺰﻳﻨﻪ‬ ‫ﻣﺰاﻳﺎ‬ ‫ﺗﺤﻠﻴﻞ ﻋﻤﻠﻜﺮدي‬ ‫ﺗﺤﻤﻞ ﺧﺮاﺑﻲ‬ ‫ﺗﺨﺼﻴﺺ‬

Specialization Continuous operation

‫ﺗﺪاوم ﻋﻤﻠﻴﺎت‬ ‫ﺗﺮاﻛﻨﺶ‬

Transaction

‫ﺗﺮاﮔﺬاري‬

Transitive

‫ﺗﺮﻛﻴﺐ‬

Composition

‫ﺗﺮﻣﻴﻢ‬

Recovery

‫ﺗﺴﻠﺴﻠﻲ‬

Cascade Trace facility

‫ﺗﺴﻬﻴﻞ ﺑﺮاي ردﮔﻴﺮي‬ ‫ﺗﺴﻬﻴﻼت‬

Software facilities (tools) Decision making

(‫ﻧﺮماﻓﺰاري)اﺑﺰارﻫﺎ‬

‫ﭘﻮش‬

Canonical cover

‫ﭘﻮش ﻛﺎﻧﻮﻧﻴﻚ‬

Dynamic SQL

SQL‫ﭘﻮﻳﺎ‬

Implementation

‫ﭘﻴﺎده ﺳﺎزي‬

‫ﺗﻌﺎﻣﻞ‬

Transitivity

‫ﺗﻌﺪي‬ ‫ﺗﻌﺮﻳﻒ داده‬

Data Definition ‫ﺗﻮﺳﻂ‬

‫ﺷﺪه‬

‫ﺗﻌﺮﻳﻒ‬

(‫ﭘﻴﭽﻴﺪه ) ﻣﺨﺘﻠﻂ‬

Complex Pre-relational

‫ﭘﻴﺶ راﺑﻄﻪاي‬

Precompiled

‫ﭘﻴﺶ ﻛﺎﻣﭙﺎﻳﻠﺮ‬ ‫ﭘﻴﺸﺎ‬

Front-end

( ‫ﭘﻴﻜﺮ ) ﺑﺪﻧﻪ‬ ‫ﭘﻴﻜﺮﺑﻨﺪي‬ ‫ﭘﻴﻜﺮﺑﻨﺪي رﺳﺎﻧﻪ‬ ‫ﭘﻴﻮﻧﺪ‬

Join

‫ﭘﻴﻮﻧﺪ‬

Link Greater then Join

‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﺑﺰرﮔﺘﺮ‬

Equi-Join

‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﺗﺴﺎوي‬ ‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﻋﺪم‬ ‫ﺗﺴﺎوي‬

Not-Equi-Join

‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﻛﻮﭼﻜﺘﺮ‬

Less than Join Greater then or Equal Less than or Equal Join

‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﻣﺴﺎوي ﻳﺎ‬ ‫ﺑﺰرﮔﺘﺮ‬ ‫ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﻣﺴﺎوي ﻳﺎ‬ ‫ﻛﻮﭼﻜﺘﺮ‬

Connector

‫ﭘﻴﻮﻧﺪ دﻫﻨﺪه‬

Loosly coupled

‫ﭘﻴﻮﻧﺪ ﺳﺴﺖ‬ ‫ﭘﻴﻮﻧﺪ ﺿﺮب‬

Cross join Natural Join (NJ)

‫ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ‬ ‫ﭘﻴﻮﻧﺪ ﻗﻮي‬

Tightly coupled ‫ت‬

‫ﺗﺼﻤﻴﻢ ﮔﻴﺮي‬

Interoperability

User defined

Cover

Configuration Device configuration

‫ﮔﺰﻳﻨﺶ‬-‫ﺗﺤﺪﻳﺪ‬

Fault tolerance

‫ﭘﻞ‬

‫ﺗﺠﺰﻳﻪ ﻧﺎﭘﺬﻳﺮي‬

Aggregation

‫ﭘﺸﺘﻴﺒﺎﻧﻲ ﺗﺼﻤﻴﻢ‬

Bridge

Body

‫ﺗﺠﻤﻊ‬

Restrict

Decision support

‫ﺗﺠﺰﻳﻪ ﻋﻤﻮدي‬ ‫ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ‬

Atomic

Cost-benefit analysis Functional analysis

‫ﺗﺒﺪﻳﻞ‬

410

Dependency theory Aggregate function Libraey function

Ramin.Samad@yahoo.com

‫ﺗﺌﻮري واﺑﺴﺘﮕﻲ‬ ‫ﺗﺎﺑﻊ ﺟﻤﻌﻲ ﻳﺎ ﮔﺮوﻫﻲ‬ ‫ﺗﺎﺑﻊ ﻛﺘﺎﺑﺨﺎﻧﻪ اي‬


WWW.IRANMEET.COM

411 4 ; 1 ; C Logical sequence

‫ﻛﺎرﺑﺮ‬

‫ﺗﻮاﻟﻲ ﻣﻨﻄﻘﻲ‬ ‫ﺗﻮان ﻋﻤﻠﻴﺎﺗﻲ‬

Throughput Network topology

‫ﺗﻮﭘﻮﻟﻮژي ﺷﺒﻜﻪ‬ ‫ﺗﻮده‬

Bags Distributed

‫ﺗﻮزﻳﻊ ﺷﺪه‬

Descriptive

‫ﺗﻮﺻﻴﻔﻲ‬ ‫ج‬ ‫ﺟﺎﺑﺠﺎﻳﻲ ﭘﺬﻳﺮي‬

Portability

‫ﺟﺎﻣﻌﻴﺖ‬

Integrity Transaction integrity

‫ﺟﺎﻣﻌﻴﺖ ﺗﺮاﻛﻨﺶ‬

Java-script

‫ﺟﺎوا اﺳﻜﺮﻳﭙﺖ‬ ‫ﺟﺎﻳﺪﻫﻲ داده‬

Data placement Relational algebra

‫ﺟﺒﺮ راﺑﻄﻪاي‬

System defined Schema definition Undefined Generalization Restricted Query modification Request modification Schema evolution Interpretation Closed World interpretation Divide

(‫ﺟﺪاﻳﻲ )اﻧﻔﺮاد‬

Mono- server

Isolation Lookup table

‫ﺟﺪول ﺟﺴﺘﺠﻮ‬

Monadic Single user (Personal)

‫ﺟﺪول ﻛﺎري‬

Working table Persistent (Permanent) table

Single-valued ‫ﺟﺪول ﻣﺎﻧﺪﮔﺎر‬ (‫ﺟﺪول ﻣﺒﻨﺎ)ﭘﺎﻳﻪ‬

Base Table

‫ﺟﺪول ﻣﺠﺎزي‬

Virtual table Temporary table Islands of information

‫ﺟﺪول ﻣﻮﻗﺖ‬ ‫ﺟﺰاﻳﺮ اﻃﻼﻋﺎﺗﻲ‬ ‫ﺟﺰﻳﻲ‬

Partial

...‫ﺟﺰﻳﻲ اﺳﺖ از‬

IS-A PART-OF Attribute features

‫ﺟﻨﺒﻪ ﻫﺎي ﺻﻔﺖ‬ ‫ﺟﻬﺎن ﺑﺴﺘﻪ‬

Closed World World Wide Web (W W W ) Universe of Discourse

‫ﺟﻬﺎن ﺗﺎزه )ﺷﺒﻜﻪ ﺟﻬﺎﻧﻲ‬ (‫اﻃﻼع رﺳﺎﻧﻲ‬ ‫ﺟﻬﺎن ﻣﻮرد ﻧﻈﺮ‬ ‫ﺟﻬﺎن واﻗﻊ‬

Real world ‫چ‬ Gantt chart CHEMBERLIN

‫ﭼﺎرت ﮔﺎﻧﺖ‬ ‫ﭼﻤﺒﺮﻟﻴﻦ‬

Special purpose Information Technology (IT) Virtual Parent Child Link Certification Multiversioning Timestamping Locking technique Two Phase Locking (2PL) Object Modeling Technique Piece ALL-Key Database tuning Buttleneck Serializable

Ramin.Samad@yahoo.com

‫ﺗﻌﺮﻳﻒ ﺷﺪه در ﺳﻴﺴﺘﻢ‬ ‫ﺗﻌﺮﻳﻒ ﺷﻤﺎ‬ ‫ﺗﻌﺮﻳﻒ ﻧﺸﺪه‬ ‫ﺗﻌﻤﻴﻢ‬ (‫ﺗﻌﻮﻳﻘﻲ )ﻣﺸﺮوط‬ ‫ﺗﻐﻴﻴﺮ ﭘﺮﺳﺶ‬ ‫ﺗﻐﻴﻴﺮ درﺧﻮاﺳﺖ‬ ‫ﺗﻐﻴﻴﺮ ﺷﻤﺎ‬ ‫ﺗﻔﺴﻴﺮ‬ ‫ﺗﻔﺴﻴﺮ ﺟﻬﺎن ﺑﺴﺘﻪ‬ ‫ﺗﻘﺴﻴﻢ‬ ‫ﺗﻚ ﺧﺪﻣﺘﮕﺰار‬ ‫ﺗﻚ ﻋﻤﻠﻮﻧﺪي‬ ‫ﺗﻚ ﻛﺎرﺑﺮي‬ ‫ﺗﻚ ﻣﻘﺪاري‬ ‫ﺗﻚ ﻣﻨﻈﻮره‬ ‫ﺗﻜﻨﻮﻟﻮژي اﻃﻼﻋﺎت‬ VPCL ‫ﺗﻜﻨﻴﻚ‬ (‫ﺗﻜﻨﻴﻚ ﺗﺎﻳﻴﺪ )ﺗﺼﺪﻳﻖ‬ ‫ﺗﻜﻨﻴﻚ ﭼﻨﺪ ﻧﺴﺨﻪ ﺳﺎزي‬ ‫ﺗﻜﻨﻴﻚ زﻣﺎﻧﻤﻬﺮ‬ ‫ﺗﻜﻨﻴﻚ ﻗﻔﻞ ﮔﺬاري‬ ‫ﺗﻜﻨﻴﻚ ﻗﻔﻞ ﮔﺬاري دو‬ ‫ﻣﺮﺣﻠﻪ اي‬ ‫ﺗﻜﻨﻴﻚ ﻣﺪﻟﺴﺎزي ﺷﻴﺊ‬ ‫ﺗﻜﻪ‬ ‫ﺗﻤﺎم ﻛﻠﻴﺪ‬ ‫ﺗﻨﻈﻴﻢ ﭘﺎﻳﮕﺎهداده ﻫﺎ‬ ‫ﺗﻨﮕﻨﺎ‬ ‫ﺗﻮاﻟﻲ ﭘﺬﻳﺮ‬


WWW.IRANMEET.COM

‫ﻣﻮﺑﺎﻳﻞ‬ ‫ﺧﺪﻣﺘﮕﺰار ﻣﻴﺰﺑﺎن‬

Host server

‫ﺧﺪﻣﺘﮕﺰار اﺧﺒﺎر‬

News server

‫ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎهداده ﻫﺎ‬

Database server

‫ﺧﺪﻣﺘﮕﺰار ﭘﺮﺳﺶ‬

Query server Message server Transaction server Printer server File server Document server Micro real world Location anatomy

Test data Data keepingdata processing Stored data Data Communication

‫ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ‬

Multi database

‫ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‬

Multi query

‫ﭼﻨﺪ ﭘﺮﺳﺸﻲ‬

Multi ring

‫ﭼﻨﺪ ﺣﻠﻘﻪ اي‬ ‫ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار‬

‫ﺧﺪﻣﺘﮕﺰار ﺗﺮاﻛﻨﺸﻬﺎ‬

Multi- media

‫ﭼﻨﺪ رﺳﺎﻧﻪ اي‬

‫ﺧﺪﻣﺘﮕﺰار ﭼﺎپ‬

Multi user

‫ﺧﺪﻣﺘﮕﺰار ﻓﺎﻳﻞ‬

Multi set Multi- Client / MultiServer(MC / MS)

‫ﺧﻮد ﻣﺨﺘﺎري ﻣﺤﻠﻲ‬ ‫ﺧﻮد واﺑﺴﺘﮕﻲ‬ ‫ﺧﻮﺷﻪ واري‬ ‫د‬

Dynamic data

Many to many

Multi-server

‫ﺧﺮد ﺟﻬﺎن واﻗﻊ‬

Clustering

‫داده ﭘﻮﻳﺎ‬ ‫داده ﺗﺴﺘﻲ‬ ‫ داده ﭘﺮدازي‬-‫داده داري‬ ‫داده ذﺧﻴﺮه ﺷﺪه‬ ‫داده رﺳﺎﻧﻲ‬

Multi- Client / Server(MC /S)

Protection

‫دﺳﺘﺮﺳﻲ)ﺑﻬﺘﺮ ( ﺑﻪ داده‬

Data

‫دﺳﺘﻮر ﻋﻤﻠﻴﺎت در داده‬

‫ﭼﻨﺪي‬ ‫ﭼﻨﺪي ﻧﻤﺎ‬

‫ﺣﺎﻓﻈﻪ ﺻﻔﺎت‬

‫ﺣﺬف دﻳﺪ‬

‫داراي ﻛﻠﻴﺪ‬

Degree Data accessibility

‫ﭼﻨﺪ ﻣﻘﺪاري‬

DROP view

Key preserving

‫درﺟﻪ‬

‫ﺧﺪﻣﺘﮕﺰار‬

‫ﺣﺎﻟﺖ راﺑﻄﻪ‬

‫داده ﻧﻬﺴﺖ‬

‫دﺗﺮﻣﻴﻨﺎن‬

‫ﭼﻨﺪ‬

Relation state

Missing data

Determinant

-‫ﻣﺸﺘﺮي‬

‫ﺣﺎﻓﻈﻪ ﻧﻬﺎن‬

Hidden data

‫داﻣﻬﺎي ﭘﻴﻮﻧﺪي‬

‫ﻳﻚ‬

Cache memory

‫داده ﻧﻬﺎن‬

‫ﭼﻨﺪي‬-‫دام ﻳﻚ‬

‫ﭼﻨﺪ‬

‫ﺧﺪﻣﺘﮕﺰار‬

Attribute preserving

‫داده ﺷﻨﺎﺳﺎﻧﻪ‬

Fan trap Connection traps

-‫ﻣﺸﺘﺮي‬

‫ح‬

Data logical

‫دام ﺷﻜﺎف‬

‫ﭼﻨﺪ‬

Quantifier

Tuple oriented Relational calculus Domain oriented

Chasm trap

‫ﭼﻨﺪ ﻣﺠﻤﻮﻋﻪ‬

Multiplicity

‫داده زﻣﺎﻧﻤﻨﺪ‬

‫دام ﺣﻠﻘﻪ اي‬

‫ﭼﻨﺪ ﻛﺎرﺑﺮي‬

Multi valued

Temporal data

Loop trap

‫ﭼﻦ‬

CHEN

‫ﺧﺪﻣﺘﮕﺰار ﭘﻴﺎم‬

‫ﺧﺪﻣﺘﮕﺰار ﻣﺪارك و اﺳﻨﺎد‬

Self dependency

412

‫ﺣﺴﺎب ﺗﺎﭘﻠﻲ‬ ‫ﺣﺴﺎب راﺑﻄﻪاي‬ ‫ﺣﺴﺎب ﻣﻴﺪاﻧﻲ‬ ‫ﺣﻔﺎﻇﺖ‬ ‫ﺣﻘﻮق دﺳﺘﻴﺎﺑﻲ‬

Access right Reference cycle Spatial and geographic database system

‫ﺣﻠﻘﻪ ارﺟﺎع‬ ‫ﺣﻴﻄﻪ ﻫﺎي ﻓﻀﺎﻳﻲ و‬ ‫ﺟﻐﺮاﻓﻴﺎﻳﻲ‬ ‫خ‬

External / External Unload Mobile database server

Ramin.Samad@yahoo.com

‫ ﺧﺎرﺟﻲ‬/ ‫ﺧﺎرﺟﻲ‬ ‫ﺧﺎﻟﻲ ﻛﺮدن‬ ‫ﺧﺪﻣﺎت ﭘﺎﻳﮕﺎهداده ﻫﺎي‬


WWW.IRANMEET.COM

413 4 ; 1 ; C Active dictionary

‫دﻳﻜﺸﻨﺮي ﻓﻌﺎل‬ ‫ذ‬ ‫ذاﺗﻲ‬

Intrinsic

‫ذﺧﻴﺮه ﺷﺪه‬

Stored data Information Storage and Retrieval (ISR)

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

Intension Intermediate relation Nested relation Well designed relation Stored relation Expression relation Universal relation Not Normal relation (NNR: N2R)

Manipulation Language Data Definition Language Data Manipulation Language Data Control Language Prescriptive

‫راﺑﻄﻪ‬ ‫راﺑﻄﻪ ﺑﻴﻨﺎﺑﻴﻨﻲ‬ ‫راﺑﻄﻪ ﺗﻮدر ﺗﻮ‬ ‫راﺑﻄﻪ ﺧﻮش ﻃﺮح‬ ‫راﺑﻄﻪ ذﺧﻴﺮه ﺷﺪه‬

Category Categorization Remote data access Remote data access

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

Accessibility Multiple-user access

‫راﺑﻄﻪ ﻋﻤﻮﻣﻲ‬

Mobile office Accuracy

‫راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل‬ ‫راﺑﻄﻪ ﻣﺒﻨﺎ‬

Renaming 2Decomposable

Base relation Derived relation

‫راﺑﻄﻪ ﻣﺸﺘﻖ‬

Two-tier

Named relation

‫راﺑﻄﻪ ﻧﺎﻣﺪار‬

Bi- structure

Result relation Normal relation

‫راﺑﻄﻪ ﻧﺘﻴﺠﻪ‬

Dyadic

‫راﺑﻄﻪ ﻧﺮﻣﺎل‬

C.J.DATE

Referencing

‫رﺟﻮع ﻛﻨﻨﺪه‬

Data logical Conceptual view

Class Classification Database growth Grow and shrink Object behavior Behavioral Flat Linear record Dummy record Structured record

‫رده‬ ‫رده ﺑﻨﺪي‬ ‫رﺷﺪ ﭘﺎﻳﮕﺎهداده‬ ‫رﺷﺪ و ﻛﺎﻫﺶ‬ ‫رﻓﺘﺎر ﺷﻴﺊ‬ ‫رﻓﺘﺎري‬ ‫رﻛﻮرد ﺧﻄﻲ ﻣﺴﻄﺢ‬ ‫رﻛﻮرد ﺳﺎﺧﺘﮕﻲ‬ ‫رﻛﻮرد ﺳﺎﺧﺘﻤﻨﺪ‬

Materialized view

‫دﺳﺘﻮرات ﺗﻌﺮﻳﻒ داده ﻫﺎ‬ ‫دﺳﺘﻮرات ﻋﻤﻠﻴﺎت روي‬ ‫داده ﻫﺎ‬ ‫دﺳﺘﻮرات ﻛﻨﺘﺮل داده ﻫﺎ‬ ‫دﺳﺘﻮري‬ ‫دﺳﺘﻪ‬ ‫دﺳﺘﻪ ﺑﻨﺪي‬ ‫دﺳﺘﻴﺎﺑﻲ از دور ﺑﻪ داده ﻫﺎ‬ ‫دﺳﺘﻴﺎﺑﻲ ﺑﻪ داده ﻫﺎي‬ ‫دوردﺳﺖ‬ ‫دﺳﺘﻴﺎﺑﻲ ﺑﻬﺘﺮ‬ ‫دﺳﺘﻴﺎﺑﻲ ﭼﻨﺪ ﻛﺎرﺑﺮدي‬ ‫دﻓﺘﺮ ﻛﺎر ﻫﻤﺮاه‬ ‫دﻗﺖ‬ ‫دﮔﺮﻧﺎﻣﻲ‬ ‫دو راﺑﻄﻪ‬ ‫دو ردﻳﻔﻲ‬ ‫دو ﺳﺎﺧﺘﺎره‬ ‫دو ﻋﻤﻠﻮﻧﺪي‬ ‫دﻳﺖ‬ ‫دﻳﺘﺎﻟﻮگ‬ ‫دﻳﺪ ادراﻛﻲ‬ ‫دﻳﺪ ﺑﻪ ﻋﻴﻨﻴﺖ در آﻣﺪه‬ (‫)ﺳﺎﺧﺘﻪ ﺷﺪه‬

External view

‫دﻳﺪ ﺧﺎرﺟﻲ‬

Internal view

‫دﻳﺪ داﺧﻠﻲ‬

View on view Temporary view Database perspective Application perspective Passive dictionary

Ramin.Samad@yahoo.com

‫دﻳﺪ روي دﻳﺪ‬ ‫دﻳﺪ ﻣﻮﻗﺖ‬ ‫دﻳﺪﮔﺎه ﭘﺎﻳﮕﺎﻫﻲ‬ ‫دﻳﺪﮔﺎه ﻛﺎرﺑﺮدي‬ ‫دﻳﻜﺸﻨﺮي ﻏﻴﺮ ﻓﻌﺎل‬


WWW.IRANMEET.COM

Constraint specification language Data Sub Language Network Database Language Object Oriented Language(OOL) Universal Modeling Language (UML) Host Language 4GL Super table Super type Super entity type peak time Response time

‫زﺑﺎن ﺗﻮﺻﻴﻒ ﻣﺤﺪودﻳﺖ‬ ‫زﺑﺎن داده اي ﻓﺮﻋﻲ‬ ‫زﺑﺎن ﺳﻴﺴﺘﻢ ﺷﺒﻜﻪ اي‬ ‫زﺑﺎن ﺷﻴﺊ ﮔﺮا‬

‫زﺑﺎن ﻋﻤﻮﻣﻲ ﻣﺪل ﺳﺎزي‬ ‫زﺑﺎن ﻣﻴﺰﺑﺎن‬ ‫زﺑﺎن ﻧﺴﻞ ﭼﻬﺎرم‬ ‫زﺑﺮ ﺟﺪول‬ ‫زﺑﺮ رده‬ ‫زﺑﺮ ﻧﻮع‬ ‫زﻣﺎن اوج‬ ‫زﻣﺎن ﭘﺎﺳﺨﺪﻫﻲ‬

Temporal

‫زﻣﺎﻧﻤﻨﺪ‬

Sub table

‫زﻳﺮ ﺟﺪول‬

Subtype

‫زﻳﺮ رده‬

Subtype

‫زﻳﺮ ﻧﻮع‬

Shared entity Sub entity type ‫س‬ Abstractive construct Logical construct Data Structure Tabular Data Structure (TDS) Relational Data Structure Box data structure Hierarchical Data Structure Network Data Structure (NDS)

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

‫ﺳﺎﺧﺖ اﻧﺘﺰاﻋﻲ‬ ‫ﺳﺎﺧﺖ ﻣﻨﻄﻘﻲ‬ ‫ﺳﺎﺧﺘﺎر داده اي‬ ‫ﺳﺎﺧﺘﺎر داده اي ﺟﺪوﻟﻲ‬ ‫ﺳﺎﺧﺘﺎر داده اي ارﺗﺒﺎﻃﻲ‬ ‫ﺳﺎﺧﺘﺎر داده اي ﺟﻌﺒﻪ اي‬ ‫ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ‬ ‫ﻣﺮاﺗﺒﻲ‬ ‫ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي‬

Enhanced (Extended) ER Top-down design method Mixed design method Relational synthesis Event journaling

EER ‫روش‬ ‫روش ﺑﺎﻻ ﺑﻪ ﭘﺎﻳﻴﻦ‬ ‫روش ﺗﺮﻛﻴﺒﻲ‬ ‫روش ﺳﻨﺘﺰ راﺑﻄﻪاي‬ ‫روﻳﺪاد ﻧﮕﺎري‬ ‫روﻳﻪ‬

Procedure

‫روﻳﻪ اي‬

Procedural Responding procedure Stored procedure Documented procedure

‫روﻳﻪ ﭘﺎﺳﺨﮕﻮ‬ ‫روﻳﻪ ذﺧﻴﺮه ﺷﺪه‬ ‫روﻳﻪ ﻣﺴﺘﻨﺪ‬ (‫رﻫﺎﻧﺎ )راهاﻧﺪاز‬

Trigger ‫ز‬

‫زاﺑﻄﻪ ﻣﺠﺎزي‬

Virtual relation ZANIOLO Programming Language (PL) Structured Query Language (SQL) Logic programming Language Database Language Object Oriented Database Language Query Language Nested relational Query language Object Query Language(OQL) View Definition Language Storage Definition Language

Ramin.Samad@yahoo.com

414

‫زاﻧﻴﻮﻟﻮ‬ ‫زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬ SQL ‫زﺑﺎن‬ ‫زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻣﻨﻄﻖ‬ ‫زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ‬

‫زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ ﺷﻴﺊ ﮔﺮا‬ ‫زﺑﺎن ﭘﺮﺳﺶ‬ ‫زﺑﺎن ﭘﺮﺳﺶ ﺑﺎ راﺑﻄﻪ ﻏﻴﺮ‬ ‫ﻧﺮﻣﺎل‬ ‫زﺑﺎن ﭘﺮﺳﺶ ﺷﻴﺊ ﮔﺮا‬ (‫زﺑﺎن ﺗﻌﺮﻳﻒ دﻳﺪ‬ ‫ذﺧﻴﺮه‬

‫ﺗﻌﺮﻳﻒ‬

‫زﺑﺎن‬ ‫ﺳﺎزي‬


WWW.IRANMEET.COM

415 4 ; 1 ; C Executive Information System (EIS) Very large distributed information system Information System (IS) Very large information integrated system Data Warehousing Remote Data Access System Mobile database system World Wide Web Database system (WWWDB) Mobile database system MultiDimensional OLAR Decision Support System Integrated system Tabular system Multimedia-data mining Fully relational system Minimal relational system Complete relational system Fuzzy data mining and knowledge discovery system

‫ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎت اﺟﺮاﻳﻲ‬ ‫ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎت ﺗﻮزﻳﻊ‬ ‫ﺷﺪه ﺑﺴﻴﺎر‬ ‫ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎﺗﻲ‬ ‫ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎﺗﻲ ﺑﺴﻴﺎر‬ ‫ﺑﺰرگ‬ ‫ﺳﻴﺴﺘﻢ اﻧﺒﺎرش داده ﻫﺎ‬ ‫ﺳﻴﺴﺘﻢ ﺑﺎ اﻣﻜﺎن دﺳﺘﻴﺎﺑﻲ‬ ‫ﺑﻪ داده ﻫﺎ از دور‬ ‫ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهداده اي ﺑﺎ‬ ‫ﻣﻌﻤﺎري‬ ‫در‬ ‫اﻃﻼع‬

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

‫ﺳﻴﺴﺘﻢ‬

‫ﺟﻬﺎﻧﻲ‬

‫ﺷﺒﻜﻪ‬ ‫رﺳﺎﻧﻲ‬

‫ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻬﺎي ﻫﻤﺮاه‬ ‫ﺳﻴﺴﺘﻢ ﭘﺮدازش ﺗﺤﻠﻴﻠﻲ‬ ‫ﺑﺮﺧﻂ‬ ‫ﺳﻴﺴﺘﻢ ﭘﺸﺘﻴﺒﺎن ﺗﺼﻤﻴﻢ‬ (‫ﺳﻴﺴﺘﻢ ﺟﺎﻣﻌﻪ )ﻳﻜﭙﺎرﭼﻪ‬ ‫ﺳﻴﺴﺘﻢ ﺟﺪوﻟﻲ‬ ‫ﺳﻴﺴﺘﻢ داده ﻛﺎوي ﭼﻨﺪ‬ ‫رﺳﺎﻧﻪ اي‬ ‫ﺳﻴﺴﺘﻢ راﺑﻄﻪاي ﺗﺎم‬ ‫ﺳﻴﺴﺘﻢ راﺑﻄﻪاي ﺣﺪاﻗﻞ‬ ‫ﺳﻴﺴﺘﻢ راﺑﻄﻪاي ﻛﺎﻣﻞ‬

‫ﺳﻴﺴﺘﻢ ژوﻻي داده ﻛﺎوي‬ ‫و ﻛﺸﻒ داﻧﺶ‬

Inverted list data structure Hyper graph Database Structure

‫ﺳﺎﺧﺘﺎر داده اي ﻟﻴﺴﺘﻬﺎي‬ ‫وارون‬ ‫اي‬

‫داده‬

‫ﺳﺎﺧﺘﺎر‬ ‫ﻫﺎﻳﭙﺮﮔﺮاﻓﻲ‬ ‫ﺳﺎﺧﺘﺎري‬

Structural

‫ﺳﺎﺧﺘﮕﺮ‬

Constructor Structured Data materialization Indirect materialization Direct materialization Single Type compatible Consistency Transaction Processing Performance Council (TPC)

‫ﺳﺎﺧﺘﻤﻨﺪ‬ ‫ﺳﺎﺧﺘﻦ داده‬ ‫ﺳﺎﺧﺘﻦ ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ‬ ‫ﺳﺎﺧﺘﻦ ﻣﺴﺘﻘﻴﻢ‬ ‫ﺳﺎده‬ ‫ﺳﺎزﮔﺎر ﻧﻮع‬ ‫ﺳﺎزﮔﺎري‬

TPC ‫ﺳﺎزﻣﺎن‬ ‫ﺳﺎزﻧﺪ‬

Component

‫ﺳﺮ آﻳﻨﺪ‬

Heading Asset Conceptual level

‫ﺳﺮﻣﺎﻳﻪ‬ ( ‫ﺳﻄﺢ ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ‬

External level

‫ﺳﻄﺢ ﺧﺎرﺟﻲ‬

Internal level

‫ﺳﻄﺢ داﺧﻠﻲ‬

Conventional Relation predicate Existential Universal Three-tier Data mining and knowledge discovery system Conference On Data System Language (CODASYL) R-system

Ramin.Samad@yahoo.com

‫ﺳﻨﺘﻲ‬ ‫ﺳﻨﺪ ارﺗﺒﺎط‬ ‫ﺳﻮر وﺟﻮدي‬ (‫ﺳﻮر ﻫﻤﮕﺎﻧﻲ )ﻋﻤﻮﻣﻲ‬ ‫ﺳﻪ ردﻳﻔﻲ‬ ‫داده ﻛﺎوي و‬

‫ﺳﻴﺴﺘﻢ‬

‫ﻛﺸﻒ ﺷﻨﺎﺧﺖ‬

‫ﺳﻴﺴﺘﻢ ﻛﻮداﺳﻴﻞ‬ R ‫ﺳﻴﺴﺘﻢ‬


WWW.IRANMEET.COM

‫ﺷﺎﻣﻞ اﺳﺖ‬

CONTAINS

‫ﺷﺒﻜﻪ‬

Network Pseudo transitivity Natural language like View definition condition (s) Membership condition

‫ﺷﺒﻪ ﺗﻌﺪي‬ ‫ﺷﺒﻪ زﺑﺎن ﻃﺒﻴﻌﻲ‬ ‫ﺷﺮط ﺗﻌﺮﻳﻒ داده‬ ‫ﺷﺮط ﻋﻀﻮﻳﺖ‬ ‫ﺷﺮﻛﺖ ﻛﻨﻨﺪه‬ ‫ﺷﻤﺎ‬ ‫ﺷﻤﺎي ادراﻛﻲ‬ ‫ﺷﻤﺎي ادراﻛﻲ ﺟﺎﻣﻊ‬ ‫ﺷﻤﺎي ادراﻛﻲ ﻣﺤﻠﻲ‬

External schema

‫ﺷﻤﺎي ﺧﺎرﺟﻲ‬

Internal schema

‫ﺷﻤﺎي داﺧﻠﻲ‬

Relation schema

‫ﺷﻤﺎي راﺑﻄﻪ‬ ‫ﺷﻤﻮل‬

Containment

‫ﺷﻨﺎﺳﺎي‬

Identifying ‫ﺗﻌﺮﻳﻒ‬ Module AuthID Schema AuthID Current AuthID SQL-Session AuthID Authorization Identifier Entity Identifier (EID) Intuitive Object Data-object Active Data Objects (ADO) Access Method ‫ص‬

(‫ﺳﻴﺴﺘﻢ ﺳﺎز ) ﭘﻴﺎده ﺳﺎز‬ ‫ﺳﻴﺴﺘﻢ ﺷﻨﺎﺧﺘﻲ‬ ‫ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ‬

Filing System

Participant Schema Conceptual schema Global conceptual schema Local conceptual schema

System developer Knowledgebased system

‫ﺑﺮاي‬

‫ﺷﻨﺎﺳﻪ‬ ‫ﻣﺎﺟﻮل‬

‫ﺷﻨﺎﺳﻪ ﺗﻌﺮﻳﻒ ﺷﻤﺎ‬ ‫ﺷﻨﺎﺳﻪ ﺟﺎري‬ SQL ‫ﺷﻨﺎﺳﻪ ﻛﺎر ﺑﺎ‬ ‫ﺷﻨﺎﺳﻪ ﻣﺠﺎز ﺷﻤﺎري‬ ‫ﺷﻨﺎﺳﻪ ﻣﻮﺟﻮدﻳﺖ‬ ‫ﺷﻬﻮدي‬ ‫ﺷﻴﺊ‬ ‫داده‬-‫ﺷﻴﺊ‬ ‫ﺷﻴﺊ ﻫﺎي داده اي ﻓﻌﺎل‬ ‫ﺷﻴﻮه دﺳﺘﻴﺎﺑﻲ‬

Active DBMS Active Database Management System Application system Conventional system Database Management System (DBMS) Real-time database management system Relational Database Management System Object Relational Database Management System Object Oriented Database Management System Universal Database Management System Knowledge Base Management System (KBMS) Multi database management system Data Management System (DMS) Intelligent system ‫ش‬

Ramin.Samad@yahoo.com

416

‫ﺳﻴﺴﺘﻢ ﻓﻌﺎل‬ ‫ﺳﻴﺴﺘﻢ ﻓﻌﺎل ﻣﺪﻳﺮﻳﺖ‬ ‫ﭘﺎﻳﮕﺎهداده‬ ‫ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي‬ ‫ﺳﻴﺴﺘﻢ ﻣﺘﻌﺎرف‬ ‫ﻣﺪﻳﺮﻳﺖ‬

‫ﺳﻴﺴﺘﻢ‬ ‫ﭘﺎﻳﮕﺎهداده ﻫﺎ‬

‫ﻣﺪﻳﺮﻳﺖ‬

‫ﺳﻴﺴﺘﻢ‬

‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺑﻲ درﻧﮓ‬ ‫ﻣﺪﻳﺮﻳﺖ‬

‫ﺳﻴﺴﺘﻢ‬

‫ﭘﺎﻳﮕﺎهداده ﻫﺎي راﺑﻄﻪاي‬ ‫ﻣﺪﻳﺮﻳﺖ‬

‫ﺳﻴﺴﺘﻢ‬

- ‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺷﻴﺊ‬ ‫راﺑﻄﻪاي‬ ‫ﻣﺪﻳﺮﻳﺖ‬

‫ﺳﻴﺴﺘﻢ‬

‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺷﻴﺊ ﮔﺮا‬ ‫ﻣﺪﻳﺮﻳﺖ‬

‫ﺳﻴﺴﺘﻢ‬

) ‫ﭘﺎﻳﮕﺎهداده ﻫﺎي ﻫﻤﮕﺎﻧﻲ‬ (‫ﻋﻤﻮﻣﻲ‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه‬ ‫ﺷﻨﺎﺧﺖ‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭼﻨﺪ‬ ‫ﭘﺎﻳﮕﺎﻫﻲ‬ ‫ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ داده ﻫﺎ‬ ‫ﺳﻴﺴﺘﻢ ﻫﻮﺷﻤﻨﺪ‬


WWW.IRANMEET.COM

417 4 ; 1 ; C product Join selectivity factor Weak ‫ط‬ Conceptual design Design by analysis

‫ﮔﺰﻳﻨﺶ‬

‫ﻳﺎﻓﺘﻪ‬

Correcthness

‫ﺻﺤﺖ‬

‫ﺿﺮﻳﺴﺐ‬

Data export

‫ﺻﺪور داده ﻫﺎ‬

‫ﻋﻤﻠﻜﺮد ﭘﻴﻮﻧﺪ‬ ‫ﺿﻌﻴﻒ‬

Clean design Physical design Orthogonal design

‫ﻃﺮاﺣﻲ ادراﻛﻲ‬ ‫ﻃﺮاﺣﻲ ﺑﺎ ﺗﺤﻠﻴﻞ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﻃﺮاﺣﻲ ﺑﻬﺘﺮ و واﺿﺢ‬ ‫ﻃﺮاﺣﻲ ﻓﻴﺰﻳﻜﻲ‬

‫ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ‬ ‫ﻃﺮاﺣﻲ ﻧﺎ ﻣﺘﻌﺎﻣﺪ‬

Execution plan

‫ﻃﺮح اﺟﺮا‬

Abort Default length ‫ع‬ Side effect Relational expression Safe expression Unsafe expression

‫ﻃﺮح اﺟﺮاي ﻣﺘﻮاﻟﻲ‬ ‫ﻃﺮح اﺟﺮاي ﻫﻤﺮوﻧﺪ‬ ‫ﻃﺮد‬ ‫ﻃﻮل ﭘﻴﺶ ﻧﻬﺎده‬ ‫ﻋﺎرﺿﻪ ﺟﺎﻧﺒﻲ‬ ‫ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪاي‬ ‫ﻋﺒﺎرت ﻣﻄﻤﺌﻦ‬ ‫ﻋﺒﺎرت ﻧﺎﻣﻄﻤﺌﻦ‬

No action

‫ﻋﺪم اﻗﺪام‬

Asymmetry

‫ﻋﺪم ﺗﻘﺎرن‬

Member

‫ﻋﻀﻮ‬

Operand

‫ﻋﻤﻠﻮﻧﺪ‬

Action Functionally Manipulative Fail ( Failure) ‫غ‬

‫ﺻﻔﺖ ﻋﻤﺪه‬ ‫ﺻﻔﺖ ﻣﺠﺎزي‬

Virtual attribute Calculated attribute

‫ﺻﻔﺖ ﻣﺤﺎﺳﺒﻪ ﺷﺪه‬ ‫ﺻﻔﺖ ﭘﻴﻮﻧﺪ‬

Join attribute Defining attribute

‫ﺻﻔﺖ ﻣﻌﺮف‬ ‫ﺻﻔﺤﻪ‬

Page

‫ﺻﻮرت ﭘﻴﺸﻮﻧﺪي‬

Prenex form ‫ﻃﺮاﺣﻲ ﻣﺘﻌﺎﻣﺪ‬

Logical design Non orthogonal design Serial schedule Concurrent schedule

‫ﺻﻔﺖ ﺗﻮﺻﻴﻔﻲ‬

Prime attribute

‫ﺗﻮﻟﻴﺪ ﺑﻪ ﻛﻤﻚ‬/‫ﻃﺮاﺣﻲ‬ CAD/CAM

‫ﺻﻔﺖ‬

Attribute Descriptive attribute

‫ﻋﻤﻠﻲ‬ ‫ﻋﻤﻠﻴﺎﺗﻲ‬ ‫ﻋﻤﻠﻴﺎﺗﻲ‬ (‫ﻋﻴﺐ )ﻧﻘﺺ‬

Boyce-Codd Normal Form Redundency Free Normal Form Restriction Union Normal Form (RUNF) Key-Complete Normal Form Domain - Key Normal Form Inclusion Dependency Normal Form Fifth Normal Form Fourth Normal Form Second Normal Form Third Normal Form First Normal Form Formal ‫ض‬ Anti semi join Extended Cartesian

Ramin.Samad@yahoo.com

-‫ﺻﻮرت ﻧﺮﻣﺎل ﺑﺎﻳﺲ‬ ‫ﻛﺎد‬ ‫ﺑﻲ‬

‫ﻧﺮﻣﺎل‬

‫ﺻﻮرت‬ ‫اﻓﺰوﻧﮕﻲ‬

-‫ﺻﻮرت ﻧﺮﻣﺎل ﺗﺤﺪﻳﺪ‬ ‫اﺟﺘﻤﺎع‬ ‫ﻛﺎﻣﻼ‬

‫ﻧﺮﻣﺎل‬

‫ﺻﻮرت‬ ‫ﻛﻠﻴﺪ‬

-‫ﺻﻮرت ﻧﺮﻣﺎل ﻣﻴﺪان‬ ‫ﻛﻠﻴﺪي‬ ‫ﺻﻮرت ﻧﺮﻣﺎل واﺑﺴﺘﮕﻲ‬ ‫ﺷﻤﻮل‬ ‫ﺻﻮرت ﭘﻨﺠﻢ ﻧﺮﻣﺎل‬ ‫ﺻﻮرت ﭼﻬﺎرم ﻧﺮﻣﺎل‬ ‫ﺻﻮرت دوم ﻧﺮﻣﺎل‬ ‫ﺻﻮرت ﺳﻮم ﻧﺮﻣﺎل‬ ‫ﺻﻮرت ﻧﺨﺴﺖ ﻧﺮﻣﺎل‬ ‫ﺻﻮري‬ ‫ﺿﺪ ﻧﻴﻢ ﭘﻴﻮﻧﺪ‬ ‫ﺿﺮب ﻛﺎﺗﺰﻳﻦ ﮔﺴﺘﺮش‬


WWW.IRANMEET.COM

theorem ‫ﻗﻔﻞ ﮔﺬاري‬

Locking ‫و ﺗﻮﻟﻴﺪ‬ Locking/logging

‫ﻗﻔﻞ ﮔﺬاري‬ ‫ﻓﺎﻳﻠﻬﺎي ﺛﺒﺖ‬

Inference rules Business rule Production rules

‫ﻗﻮاﻋﺪ ﺗﺠﺎري‬

Federated

Access rules Event- condition -action rules Semantic rule Business rules User defined rule Transparency rules Strong Analogue Qualifier ‫ك‬ Catalogue Global System Catalog (GSC )

‫ﻗﻮاﻋﺪ ﺗﻮﻟﻴﺪ‬ ‫ﻗﻮاﻋﺪ دﺳﺘﻴﺎﺑﻲ‬ -‫ﺷﺮط‬-‫روﻳﺪاد‬

‫ﻗﻮاﻋﺪ‬

‫ﻗﻮاﻋﺪ ﺳﻤﺎﻧﺘﻴﻚ‬

‫ﻓﺎﻳﻠﻬﺎي ﺛﺒﺖ ﺗﺮاﻛﻨﺸﻬﺎ‬ ‫ﻓﺪرال‬ ‫ﻓﺮا اﺟﺘﻤﺎع‬

Outer union

‫ﻓﺮا ﭘﻴﻮﻧﺪ ﭼﭗ‬

Left outer join

‫ﻓﺮا ﭘﻴﻮﻧﺪ راﺳﺖ‬

Right outer join Full outer join

‫ﻓﺮا ﭘﻴﻮﻧﺪ ﻛﺎﻣﻞ‬ ‫ﻓﺮاﺧﻮان از دور‬

Remote call

(‫ﻓﺮاﻛﺮد )ﻛﻼز‬

‫ﻗﻮاﻋﺪ ﻓﻌﺎﻟﻴﺘﻬﺎ‬

Clause

‫ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي‬

Virtual Child Well Formed Formula ( WFF)

‫ﻓﺮﻣﻮل ﺧﻮش ﺳﺎﺧﺖ‬

DBMS vendors

‫ﻓﺮوﺷﻨﺪﮔﺎن ﺳﻴﺴﺘﻤﻬﺎ‬

‫ﻗﻮاﻋﺪ ﻧﺎﻣﺮﺋﻲ ﺑﻮدن‬ ‫ﻗﻮي‬ ‫ﻗﻴﺎﺳﻲ‬ ‫ﻗﻴﺪ‬ ‫ﻛﺎﺗﺎﻟﻮگ‬ ‫ﻛﺎﺗﺎﻟﻮگ ﺟﺎﻣﻊ‬ ‫ﻛﺎد‬

Job

‫ﻛﺎر‬ ‫ﻛﺎراﻳﻲ‬ ‫ﻛﺎرﺑﺮ ﺑﺎ زﺑﺎن ﻃﺒﻴﻌﻲ‬

End user

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

Voice driven

‫ﻛﺎرﺑﺮ ﺻﻮﺗﻲ‬

Graphic driven Real time application Application developer Global application Local application

‫ﻓﺎﮔﻴﻦ‬

‫اﻗﺪام‬

CODD Performance Natural language driven

‫ﻏﻴﺮ ﻗﺎﺑﻞ اﻋﻤﺎل‬

Inapplicable ‫ف‬

‫ﻗﻮاﻋﺪ اﺳﺘﻨﺘﺎج‬

Rules

‫ﻏﻴﺮ ﺻﻮري‬

Informal

FAGIN Transactions Log Files

‫ﻗﻮاﻋﺪ‬

418

‫ﻛﺎرﺑﺮ ﮔﺮاﻓﻴﻜﻲ‬ ‫ﻛﺎرﺑﺮد ﺑﻼدرﻧﮓ‬ ( ‫ﻛﺎرﺑﺮد ﺳﺎز ) ﺑﻬﺮه ﺑﺮدار‬ ‫ﻛﺎرﺑﺮدي ﺳﺮﺗﺎﺳﺮي‬ ‫ﻛﺎرﺑﺮدي ﻣﺤﻠﻲ‬

Overhead Data compression Information space

‫ﻓﺮزﻧﺪ ﻣﺠﺎزي‬

(‫ﻓﺰوﻧﻜﺎري )ﺑﻴﺸﻜﺎري‬ ‫ﻓﺸﺮده ﺳﺎزي داده ﻫﺎ‬ ‫ﻓﻀﺎي اﻃﻼﻋﺎﺗﻲ‬ ‫ﻓﻀﺎي ﭘﺎﻳﮕﺎهداده‬

Database space Named data items

‫ﻓﻘﺮه داده ﻧﺎﻣﺪار‬ ‫ﻓﻘﻂ رﻳﺸﻪ‬

Root only ‫ق‬ View updatability Entity integrity rule Referential integrity rule Integrity rule ( constraint ) Five- minute rule Active rule One- minute rule HEATH

Ramin.Samad@yahoo.com

‫ﻗﺎﺑﻠﻴﺖ ﺑﻬﻨﮕﺎم ﺳﺎزش دﻳﺪ‬ ‫ﺟﺎﻣﻌﻴﺖ‬

‫ﻗﺎﻋﺪه‬ ‫ﻣﻮﺟﻮدﻳﺘﻲ‬

‫ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺘﻲ ارﺟﺎﻋﻲ‬ ( ‫ﻗﺎﻋﺪه ) ﻣﺤﺪودﻳﺖ‬ ‫ﺟﺎﻣﻌﻴﺖ‬ ‫ﻗﺎﻋﺪه ﭘﻨﺞ دﻗﻴﻘﻪ‬ ‫ﻗﺎﻋﺪه ﻓﻌﺎل‬ ‫ﻗﺎﻋﺪه ﻳﻚ دﻗﻴﻘﻪ‬ ‫ﻗﻀﻴﻪ ﻫﻴﺚ‬


WWW.IRANMEET.COM

419 4 ; 1 ; C Summarize Repeating group Proposition True proposition Option Spread sheet

‫ﮔﺮوه ﺑﻨﺪي‬ ‫ﮔﺮوه ﺗﻜﺮار ﺷﻮﻧﺪه‬

Client machine

‫ﮔﺰاره درﺳﺖ‬

Main computer

‫ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ‬

( ‫ﮔﺰﻳﺪار )ﮔﺰﻳﻨﻪ‬

Super computer

‫ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﻴﻠﻲ ﺑﺰرگ‬

‫ﮔﺴﺘﺮﺑﺮگ‬

Scalability

‫ﮔﺴﺘﺮش ﭘﺬﻳﺮي‬

Layer Snapshot REVOKE ‫م‬ Persistent Stored Modules ( PSM ) Abstract machine Diskless machine Database Machine Backend DB server Owner

‫ﮔﺴﺘﺮش ﭘﺬﻳﺮي ﻧﻮع داده‬ ‫اي‬ ( ‫ﮔﺸﺖ زﻧﻲ ) ﮔﺬار ﮔﺮي‬ ‫ﻻﻳﻪ‬ ‫ﻟﺤﻈﻪ اي‬ ‫ﻟﻐﻮ‬ ‫ﻣﺎﺟﻮﻟﻬﺎي ذﺧﻴﺮه ﺷﺪه‬ ‫ﻣﺎﻧﺪﮔﺎر‬ ‫ﻣﺎﺷﻴﻦ اﻧﺘﺰاﻋﻲ‬ ‫ﻣﺎﺷﻴﻦ ﺑﺪون دﻳﺴﻚ‬ ‫ﻣﺎﺷﻴﻦ ﭘﺎﻳﮕﺎهداده ﻫﺎ‬ ‫ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار‬ ‫ﭘﺎﻳﮕﺎﻫﻲ ﭘﺴﺎ‬ ‫ﻣﺎﻟﻚ‬

Site

( ‫ﻣﺎﻧﻪ ) ﺳﺎﻳﺖ‬ ‫ﻣﺎﻫﻴﺖ‬ ‫ﻣﺒﻨﺎ‬

Meta byte

‫ﻣﺘﺎ ﺑﺎﻳﺖ‬

Meta data

‫ﻣﺘﺎ داده‬

Meta rules

‫ﻣﺘﺎ ﻗﻮاﻋﺪ‬

Meta-constraint Tuple variable Relation variable(Relvar)

Downsizing De normalization Irreducible Irreduciblity Surrogate

‫ﻣﺘﺎ ﻣﺤﺪودﻳﺖ‬ ‫ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ‬ ‫ﻣﺘﻐﻴﺮ راﺑﻄﻪاي‬

‫ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺘﻮﺳﻂ‬ ‫ﻛﺎﻫﺶاﻧﺪازه‬ ( ‫ﻛﺎﻫﺶ درﺟﻪ ) ﺳﻄﺢ‬ ‫ﻧﺮﻣﺎﻟﻴﺘﻲ‬ ‫ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ‬ ‫ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮي‬ ‫ﻛﻠﻴﺪ اﺻﻠﻲ‬ ‫ﻛﻠﻴﺪ ﺟﺎﻳﮕﺰﻳﻦ ﻧﻬﺎن‬

Partial Key

‫ﻛﻠﻴﺪ ﺟﺰﻳﻲ‬

Foreign Key

‫ﻛﻠﻴﺪ ﺧﺎرﺟﻲ‬

Alternate Key

( ‫ﻣﺎﻧﺎﻳﻲ ) دوام‬

Base attribute

Mini computer

Primary Key

Durability Nature

‫ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺸﺘﺮي‬

Extension

Browsing ‫ل‬

Cardinality

‫ﻛﺎرﺑﺮﻳﺎر‬

‫ﮔﺰاره‬

‫ﮔﺴﺘﺮده‬

Data type extensibility

Help

Candidate Key Programming completeness Relationally completeness Structural completeness Computational completeness Data Control Centralized control Online controller Actor Data migration Minimal Database quality ‫گ‬ Gateway Reference graph Oriented graph Collection

Ramin.Samad@yahoo.com

‫ﻛﻠﻴﺪ دﻳﮕﺮ‬ ‫ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ‬ ‫ﻛﻤﺎل ﺑﺮﻧﺎﻣﻪ ﺳﺎزي‬ ‫ﻛﻤﺎل راﺑﻄﻪاي‬ ‫ﻛﻤﺎل ﺳﺎﺧﺘﺎري‬ ‫ﻛﻤﺎل ﻣﺤﺎﺳﺒﺎﺗﻲ‬ ‫ﻛﻨﺘﺮل داده‬ ‫ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ‬ ‫ﻛﻨﺘﺮوﻟﺮ ﺑﺮ ﺧﻂ‬ ‫ﻛﻨﺸﮕﺮ‬ ‫ﻛﻮﭼﺎﻧﺪن داده‬ ‫ﻛﻬﻴﻨﻪ‬ ‫ﻛﻴﻔﻴﺖ ﭘﺎﻳﮕﺎهداده ﻫﺎ‬ ‫ﮔﺪار‬ ‫ﮔﺮاف ارﺟﺎع‬ ‫ﮔﺮاف ﺟﻬﺖ دار‬ ‫ﮔﺮداﻳﻪ‬


WWW.IRANMEET.COM

‫ﻣﺤﻚ زﻧﻲ‬

Benchmarking Local Operational envirnoment Order-entry environment Data Model (DM) Object Data Model (ODM) CODASYL data model ObjectRelational Data Model Object modeling Semantic Data Modeling Data communication manager

‫ﻣﺤﻠﻲ‬ ‫ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ‬ ‫ﻣﺤﻴﻂ ورود ﺳﻔﺎرش‬ ‫ﻣﺪل داده اي‬ ‫ﻣﺪل داده اي ﺷﻴﺊ ﮔﺮا‬ ‫ﻣﺪل داده اي ﻛﻮداﺳﻴﻞ‬ ‫ﻣﺪل راﺑﻄﻪاي ﺷﻴﺊ ﮔﺮا‬ ‫ﻣﺪﻟﺴﺎزي ﺷﻴﺌﻲ‬ ‫ﻣﺪﻟﺴﺎزي ﻣﻌﻨﺎﻳﻲ داده‬

Session manager Data Administrator

Referenced Composite Independent (Stand alone ) Documentation

‫ﻣﺘﻐﻴﺮ ﻃﻴﻔﻲ‬

Range variable

‫ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ‬

Domain variable

‫ﻣﺘﻤﺮﻛﺰ‬

Centralized Problem context

‫ﻣﺘﻦ ﻣﺴﺌﻠﻪ‬

Harmonic mean

‫ﻣﺘﻮﺳﻂ ﻫﺎرﻣﻮﻧﻴﻚ‬ ‫ﻣﺠﺎز ﺷﻤﺎري‬

Authorization

( ‫ﻣﺠﺘﻤﻊ ) ﻳﻜﭙﺎرﭼﻪ‬

Integrated

‫ﻣﺠﺰا‬

Disjoint Entity types set Queries set Multimember set

‫ﻣﺠﻤﻮﻋﻪ اﻧﻮاع ﻣﻮﺟﻮدﻳﺘﻬﺎ‬ ‫ﻣﺠﻤﻮﻋﻪ ﭘﺮﺳﺶ‬ ‫ﻣﺠﻤﻮﻋﻪ ﭼﻨﺪ ﻋﻀﻮي‬ ‫ﻫﺎي‬

‫راﺑﻄﻪ‬

‫ﻣﺠﻤﻮﻋﻪ‬ ‫ﻣﻤﻜﻦ‬

‫ﻣﺪﻳﺮ اﻧﺘﻘﺎل داده ﻫﺎ‬

Attributes set

‫ﻣﺠﻤﻮﻋﻪ ﺻﻔﺎت‬

‫ﻣﺪﻳﺮ اﻧﺘﻘﺎل داده ﻫﺎ‬

Instances set

‫ﻣﺠﻤﻮﻋﻪ ﻧﻤﻮﻧﻪ‬

‫ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده ﻫﺎ‬ ‫ﻣﺪﻳﺮ ﺗﻤﺎﺳﻬﺎي اﺟﺮاﻳﻲ‬ ‫ﻛﺎرﺑﺮان‬ ‫ﻣﺪﻳﺮ داده‬ ‫ﻣﺪﻳﺮ داده ﻫﺎ‬

Data Manager Driver manager Request manager Run time manager Catalog manager Database environment management Transactions concurrency management

‫ﻣﺘﻐﻴﺮ ﺳﻴﺴﺘﻤﻲ‬

System variable

Universe of relations

DC manager Database Administrator

420

‫ﻣﺪﻳﺮ دراﻳﻮر‬ ‫ﻣﺪﻳﺮ درﺧﻮاﺳﺘﻬﺎ‬ ‫ﻣﺪﻳﺮ زﻣﺎن اﺟﺮا‬ ‫ﻣﺪﻳﺮ ﻛﺎﺗﺎﻟﻮگ‬ ‫ﻣﺤﻴﻂ‬

‫ﻣﺪﻳﺮﻳﺖ‬ ‫ﭘﺎﻳﮕﺎهداده ﻫﺎ‬

‫ﻫﻤﺮوﻧﺪي‬

‫ﻣﺪﻳﺮﻳﺖ‬ ‫ﺗﺮاﻛﻨﺶ‬ ‫ﻣﺮﺟﻊ‬ ‫ﻣﺮﻛﺐ‬

(‫ﻣﺴﺘﻘﻞ )ﺧﻮدﻛﻔﺎ‬ ‫ﻣﺴﺘﻨﺪ ﺳﺎزي‬

Constraint Semantic integrity constraint Integrity constraint Relation constraint Structural constraint Attribute constraint Transition constraint Semantic constraint Domain constraint Check constraints

‫ﻣﺤﺪودﻳﺖ‬ ‫ﺟﺎﻣﻌﻴﺖ‬

‫ﻣﺤﺪودﻳﺖ‬ ‫ﻣﻌﻨﺎﻳﻲ‬

‫ﻣﺤﺪودﻳﺖ ﺟﺎﻣﻌﻴﺘﻲ‬ ‫ﻣﺤﺪودﻳﺖ راﺑﻄﻪاي‬ ‫ﻣﺤﺪودﻳﺖ ﺳﺎﺧﺘﺎري‬ ‫ﻣﺤﺪودﻳﺖ ﺻﻔﺘﻲ‬ ‫ﻣﺤﺪودﻳﺖ ﮔﺬاري‬ ‫ﻣﺤﺪودﻳﺖ ﻣﻌﻨﺎﻳﻲ‬ ‫ﻣﺤﺪودﻳﺖ ﻣﻴﺪاﻧﻲ‬ ‫ﻣﺤﺪودﻳﺖ ﻧﺎﻇﺮ ﺑﻪ ﺳﺘﻮن‬

Type constraint

‫ﻣﺤﺪودﻳﺖ ﻧﻮع‬

State constraint

‫ﻣﺤﺪودﻳﺖ وﺿﻌﻴﺘﻲ‬

3D- constraint Database constraint Privacy

Ramin.Samad@yahoo.com

D3 ‫ﻣﺤﺪودﻳﺖ‬ ‫ﻣﺤﺪودﻳﺖ ﭘﺎﻳﮕﺎﻫﻲ‬ ‫ﻣﺤﺮﻣﺎﻧﮕﻲ‬


WWW.IRANMEET.COM

421 4 ; 1 ; C Tow-Valued Logic (2VL) Three-Valued Logic (3VL) Engine Entity relationship Identifing entity Virtual entity Ad hoc (Unplanned) Form generator Report generator Menu generator Relation type generator Nontrivial Reengineering Requirements Engineering

‫ﻣﻨﻄﻖ دو ارزﺷﻲ‬ ‫ﻣﻨﻄﻖ ﺳﻪ ارزﺷﻲ‬ ‫ﻣﻮﺗﻮر‬ (ER) ‫ارﺗﺒﺎط‬-‫ﻣﻮﺟﻮدﻳﺖ‬ ‫ﻣﻮﺟﻮدﻳﺖ ﺷﻨﺎﺳﺎ‬ ‫ﻣﻮﺟﻮدﻳﺖ ﻣﺠﺎزي‬ ‫ﻣﻮردي‬ ‫ﻣﻮﻟﺪ ﻓﺮم‬ ‫ﻣﻮﻟﺪ ﮔﺰارش‬ ‫ﻣﻮﻟﺪ ﻣﻨﻮ‬ ‫ﻣﻮﻟﺪ ﻧﻮع راﺑﻄﻪ‬ (‫ﻣﻬﻢ )ﻣﻄﺮح‬ ‫ﻣﻬﻨﺪﺳﻲ دوﺑﺎره‬ ‫ﻣﻬﻨﺪﺳﻲ ﻧﻴﺎزﻫﺎ‬

‫ﻣﺴﻄﺢ‬

Flat

‫ﻣﺴﻨﺪ‬

Predicate Restriction predicate Predicate calculus Reference path Total participation Partial participation Client/Server Derived System specification Database approach Non database approach

‫ﻣﺴﻨﺪ ﮔﺰﻳﻨﺶ‬ ‫ﻣﺴﻨﺪات‬ ‫ﻣﺴﻴﺮﮔﺮاف‬ (‫ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲ )ﻛﺎﻣﻞ‬ ‫ﻏﻴﺮاﻟﺰاﻣﻲ‬

‫ﻣﺸﺎرﻛﺖ‬ (‫)ﻧﺎﻛﺎﻣﻞ‬

‫ ﺧﺪﻣﺘﮕﺰار‬/‫ﻣﺸﺘﺮي‬ ‫ﻣﺸﺘﻖ‬ ‫ﻣﺸﺨﺼﺎت ﺳﻴﺴﺘﻢ‬ ‫ﻣﺸﻲ ﭘﺎﻳﮕﺎﻫﻲ‬ ‫ﻣﺸﻲ ﻧﺎﭘﺎﻳﮕﺎﻫﻲ‬ ‫ﻣﻌﻠﻖ‬

‫ﻣﻴﺎن اﻓﺰار‬

Dangling Multi Database System (MDBS)

‫ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ‬

Mediator

‫ﻣﻴﺎﻧﺠﻲ‬

Network centric

‫ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ‬

Domain

‫ﻣﻴﺪان‬

Middleware

Primary domain Structural domain Candidate domain ‫ن‬ Non procedural Unstructured Unfederated Trivial Data inconsistency Unknown Run time supervisor Data naming Navigation Automatic navigation

‫ﻣﻴﺪان اﺻﻠﻲ‬ ‫ﻣﻴﺪان ﺳﺎﺧﺘﻤﻨﺪ‬ ‫ﻣﻴﺪان ﻛﺎﻧﺪﻳﺪ‬ (‫ﻧﺎ روﻳﻪ اي )ﻧﺎروﺷﻤﻨﺪ‬ ‫ﻧﺎ ﺳﺎﺧﺘﻤﻨﺪ‬ ‫ﻧﺎ ﻓﺪرال‬ ( ‫ﻧﺎ ﻣﻬﻢ )ﺑﺪﻳﻬﻲ‬ ‫ﻧﺎﺳﺎزﮔﺎري داده‬ ‫ﻧﺎﺷﻨﺎﺧﺘﻪ‬ ‫ﻧﺎﻇﺮ زﻣﺎن اﺟﺮا‬ ‫ﻧﺎﻣﮕﺬاري داده ﻫﺎ‬ (‫ﻧﺎوش )ﻏﻮاﺻﻲ‬ ‫ﻧﺎوش ﺧﻮدﻛﺎر‬

Main frame centric Three level architecture Three-schema architecture Decentralized architecture Meaning Semantic Semantic concept Universal concept Default value Relation value (Relval ) Cursor Discriminator Rightsizing Data source

Ramin.Samad@yahoo.com

‫ﻣﻌﻤﺎري ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ‬ ‫ﺑﺰرگ‬ ‫ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ‬ ‫ﻣﻌﻤﺎري ﺳﻪ ﺷﻤﺎﻳﻲ‬ ‫ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ‬ ‫ﻣﻌﻨﺎ‬ ‫ﻣﻌﻨﺎﻳﻲ‬ ‫ﻣﻔﻬﻮم ﻣﻌﻨﺎﻳﻲ‬ ‫ﻣﻔﻬﻮم ﻫﻤﮕﺎﻧﻲ‬ ‫ﻣﻘﺪار ﭘﻴﺶ ﻧﻬﺎده‬ ‫ﻣﻘﺪار راﺑﻄﻪاي‬ ‫ﻣﻜﺎن ﻧﻤﺎ‬ ‫ﻣﻤﻴﺰه‬ ‫ﻣﻨﺎﺳﺐ ﺳﺎزياﻧﺪام‬ ‫ﻣﻨﺒﻊ داده اي‬


WWW.IRANMEET.COM

‫زﻣﺎﻧﻤﻨﺪ‬ Use case diagram FD ' s diagram Instance Evolutionary Prototyping Requirements Prototyping Prototype Elementary type Union type Relationship type Parent-Child Link type (PCL) Data type Abstract Data Type ( ADT) Complex Data Type ( CDT) Extended data type Basic data type Abstract Data Type ( ADT) Record type Virtual record type Object Type Set type Entity type Data encryption Semi-join Semi structured ‫و‬ Equational Dependency Join Dependency Functional Dependency

‫ﻧﻤﻮدار ﻣﻮرد ﻛﺎرﺑﺮد‬ ‫ﻧﻤﻮدار واﺑﺴﺘﮕﻴﻬﺎي ﺗﺎﺑﻌﻲ‬ ‫ﻧﻤﻮﻧﻪ‬ ‫ﻧﻤﻮﻧﻪ ﺳﺎزي ﮔﺴﺘﺮﺷﻲ‬ ‫ﻧﻤﻮﻧﻪ ﺳﺎزي ﻧﻴﺎزي‬ ‫ﻧﻤﻮﻧﻪﺳﺎزي‬-‫ﻧﻤﻮﻧﻪﻧﺨﺴﺖ‬ ‫ﻧﻮع اﺑﺘﺪاﻳﻲ‬ ‫ﻧﻮع اﺟﺘﻤﺎع‬ ‫ﻧﻮع ارﺗﺒﺎط‬ ‫ﻓﺮزﻧﺪي‬-‫ﻧﻮع ﭘﻴﻮﻧﺪ ﭘﺪر‬ ‫ﻧﻮع داده اي‬ ‫ﻧﻮع داده اي اﻧﺘﺰاﻋﻲ‬ ‫ﻧﻮع داده اي ﭘﻴﭽﻴﺪه‬

Heterogenous Cardinality ratio Price / performance ratio Replica Dumping Replication Pointer Search argument Monitoring Ordering Positional ordering Role Checkpointing Version

422 ‫ﻧﺎﻫﻤﮕﻦ‬

‫ﻧﺴﺒﺖ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ‬ ‫ ﻛﺎراﻳﻲ‬/ ‫ﻧﺴﺒﺖ ﻫﺰﻳﻨﻪ‬ ‫ﻧﺴﺨﻪ‬ ‫ﻧﺴﺨﻪ ﺑﺮداري‬ ‫ﻧﺴﺨﻪ ﺳﺎزي‬ ( ‫ﻧﺸﺎن ﻧﻤﺎ )اﺷﺎره ﮔﺮ‬ ‫ﻧﺸﺎﻧﻮﻧﺪ ﺟﺴﺘﺠﻮ‬ ‫ﻧﻈﺎرت‬ ‫آراﺳﺘﺎر‬-‫ﻧﻈﻢ‬ ‫ﻧﻈﻢ ﻣﻜﺎﻧﻲ‬ ‫ﻧﻘﺶ‬ ‫ﻧﻘﻄﻪ وارﺳﻲ‬ ‫ﻧﮕﺎرش‬ ‫ﻧﮕﺎﺷﺖ‬

‫ﻧﻮع داده ﻣﺠﺮد‬

Mapping Conceptual / Internal mapping External / Conceptual mapping

‫ ادراﻛﻲ‬/ ‫ﻧﮕﺎﺷﺖ ﺧﺎرﺟﻲ‬

‫ﻧﻮع رﻛﻮرد‬

Presentation

‫ﻧﻤﺎﻳﺶ‬

‫ﻧﻮع داده اي ﮔﺴﺘﺮش‬ ‫ﻳﺎﻓﺘﻪ‬ ‫ﻧﻮع داده اي ﻣﺒﻨﺎﻳﻲ‬

‫ﻧﻮع رﻛﻮرد ﻣﺠﺎزي‬ ‫ﻧﻮع ﺷﻴﺊ‬ ‫ﻧﻮع ﻣﺠﻤﻮﻋﻪ‬ ‫ﻧﻮع ﻣﻮﺟﻮدﻳﺖ‬ ‫ﻧﻬﺎن ﻧﮕﺎري داده‬ ‫ﻧﻴﻢ ﭘﻴﻮﻧﺪ‬ ‫ﻧﻴﻢ ﺳﺎﺧﺘﻤﻨﺪ‬

‫واﺑﺴﺘﮕﻲ ﺑﺮاﺑﺮي‬ ‫واﺑﺴﺘﮕﻲ ﭘﻴﻮﻧﺪي‬ ‫واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ‬

Occurrence

‫ داﺧﻠﻲ‬/ ‫ﻧﮕﺎﺷﺖ ادراﻛﻲ‬

‫ﻧﻤﻮد‬ ER ‫ﻧﻤﻮدار‬

ER diagram Reference diagram Bachman diagram Implementation diagram

‫ﻧﻤﻮدار ﭘﻴﺎده ﺳﺎزي‬

CHEN notation

‫ﻧﻤﻮدار ﭼﻦ‬

Class diagram Data Flow Diagram (DFD) Event Flow Diagram (EFD) Activity diagram Temporal ERD

Ramin.Samad@yahoo.com

‫ﻧﻤﻮدار ارﺟﺎع‬ ‫ﻧﻤﻮدار ﺑﺎ ﭼﻤﻦ‬

‫ﻧﻤﻮدار رده‬ ‫ﻧﻤﻮدار روﻧﺪ داده‬ ‫ﻧﻤﻮدار روﻧﺪ روﻳﺪاد‬ ‫ﻧﻤﻮدار ﻓﻌﺎﻟﻴﺖ‬ ‫ارﺗﺒﺎط‬-‫ﻧﻤﻮدار ﻣﻮﺟﻮدﻳﺖ‬


WWW.IRANMEET.COM

423 4 ; 1 ; C inheritance

‫ﮔﺎﻧﻪ‬

Attribute inheritance

‫وراﺛﺖ ﺻﻔﺖ‬

Data import

‫ورودي داده ﻫﺎ‬

Database state Task Visual-basicscript Destructor ‫ه‬ Parameter driven Form driven Command driven Menu driven

‫وﺿﻌﻴﺖ ﭘﺎﻳﮕﺎهداده‬ ‫وﻇﻴﻔﻪ‬ ‫اﺳﻜﺮﻳﭗ‬-‫ﺑﻲ‬-‫وي‬ ‫وﻳﺮاﻧﮕﺮ‬

‫ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﭘﺎراﻣﺘﺮ‬ ‫ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﻓﺮم‬ ‫ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﻓﺮﻣﺎن‬ ‫ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﻣﻨﻮ‬

Map driven

‫ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﻧﻘﺸﻪ‬

Price per TPS

TPS ‫ﻫﺰﻳﻨﻪ ﺑﻪ ازاء‬

IS-A Overlapping Communicatio n Multiversion concurrency

...‫ﻫﺴﺖ ﻳﻚ‬ ‫ﻫﻤﭙﻮﺷﺎ‬ ( ‫ﻫﻤﺮﺳﺎﻧﺶ ) ارﺗﺒﺎط‬ ‫ﻫﻤﺮوﻧﺪي ﭼﻨﺪ ﻧﺴﺨﻪ اي‬

Concurrent

‫ﻫﻤﺰﻣﺎن‬

Peer-to-peer

‫ﻫﻤﻄﺮاز‬

Homogenous General purpose Permanent (planned) Nullvalue Nullifing ‫ي‬ One fact-one relation One to many One to one Client / MultiServer (C/MS) Users' Ers integration

‫ﻫﻤﮕﻦ‬ ‫ﻫﻤﻪ ﻣﻨﻈﻮره‬

Fully Functional Dependency Multivalued Dependency Embedded Multi Valued Dependency Temporal Dependency Inclusion Dependency Key-based inclusion dependency Existance dapendency Module Schema generator Lock granular Semantic unit of data Logical unit of work Data entry Deferred checking Immediate checking Application Programming Interface (API)

‫ﻫﻴﭽﻤﻘﺪار ﮔﺬاري‬

Panel interface Call Level Interface Command Language Interface

‫ﻳﻚ راﺑﻄﻪ‬-‫ﻳﻚ واﻗﻌﻴﺖ‬

User Interface User Friendly Interface

‫ﻫﻤﻴﺸﮕﻲ‬ ‫ﻫﻴﭽﻤﻘﺪار‬

‫ﻳﻚ ﺑﻪ ﭼﻨﺪ‬ ‫ﻳﻚ ﺑﻪ ﻳﻚ‬ ‫ﭼﻨﺪﺧﺪﻣﺘﮕﺰار‬-‫ﻳﻚ ﻣﺸﺘﺮي‬ ‫ﻳﻜﭙﺎرﭼﻪ ﺳﺎزي ﻧﻤﻮدارﻫﺎي‬ ‫ ﻛﺎرﺑﺮان‬ER

User groups Import / Export interface

‫ﺗﺎم‬

‫ﺗﺎﺑﻌﻲ‬

‫واﺑﺴﺘﮕﻲ‬ (‫)ﻛﺎﻣﻞ‬

‫واﺑﺴﺘﮕﻲ ﭼﻨﺪ ﻣﻘﺪاري‬ ‫واﺑﺴﺘﮕﻲ ﭼﻨﺪ ﻣﻘﺪاري‬ ‫ادﻏﺎم ﺷﺪه‬ ‫واﺑﺴﺘﮕﻲ زﻣﺎﻧﻲ‬ ‫واﺑﺴﺘﮕﻲ ﺷﻤﻮل‬ ‫واﺑﺴﺘﮕﻲ ﺷﻤﻮل ﻣﺒﺘﻨﻲ ﺑﺮ‬ ‫ﻛﻠﻴﺪ‬ ‫واﺑﺴﺘﮕﻲ وﺟﻮد‬ ‫واﺣﺪ‬ ‫واﺣﺪ ﺗﻮﻟﻴﺪ ﺷﻤﺎ‬ ‫واﺣﺪ ﻗﻔﻞ ﺷﺪﻧﻲ‬ ‫واﺣﺪ ﻣﻌﻨﺎﻳﻲ داده‬ ‫واﺣﺪ ﻣﻨﻄﻘﻲ ﻛﺎر‬ ‫وارد ﻛﺮدن داده‬ ‫وارﺳﻲ ﺑﺎ ﺗﺎﺧﻴﺮ‬ ‫وارﺳﻲ ﺑﻼﻓﺎﺻﻠﻪ‬ ‫واﺳﻂ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻛﺎرﺑﺮد‬ ‫واﺳﻂ ﭘﺎﻧﻞ‬ ‫واﺳﻂ در ﺳﻄﺢ ﻓﺮاﺧﻮان‬ ‫واﺳﻂ زﺑﺎن ﻓﺮﻣﺎن‬ ‫واﺳﻂ ﻛﺎرﺑﺮ‬ ‫واﺳﻂ ﻛﺎرﺑﺮ ﭘﺴﻨﺪ‬ ‫واﺳﻂ ﻛﺎرﺑﺮي‬ ‫ ﺻﺪور‬/ ‫واﺳﻂ ورود‬

Real

‫واﻗﻌﻲ‬

Facts

‫واﻗﻌﻴﺎت‬

Multiple

Ramin.Samad@yahoo.com

‫وراﺛﺖ )ﺗﻮارث ( ﭼﻨﺪ‬


WWW.IRANMEET.COM

Uniqueness Batch General unification

Ramin.Samad@yahoo.com

424 ‫ﻳﻜﺘﺎﻳﻲ‬ ‫ﻳﻜﺠﺎ‬

‫ﻳﻜﺴﺎن ﻋﻤﻮﻣﻲ‬


WWW.IRANMEET.COM

Ramin.Samad@yahoo.com


WWW.IRANMEET.COM

D* E1 1

The Relational Model for Database Management , 2nd Edition CODD.E.F

Addison-Wesley 1990

2

Mastering SQL , 1st Edition Gruber, Martin

Sybex 2000

3

A Guide to the SQL Standard , 4th Edition DATE, C.J

Addison-Wesley 1997

4

ORACLE PL/SQL , 1st Edition JOSEPH , C.Trezzo

Osborne 1999

5

Guide to Client/Server Databases , 2nd Edition SALEMI , joe

Ziff-David Press 1996

6

Inside SQL server 2000, 1st Edition Delaney , Kalen

Microsoft Press 2001

7

Database System Concepts , 4th Edition SILBERSCHATZ , Henry

MC Graw-Hill 2002

8

‫ وﻳﺮاﺳﺖ ﺟﺪﻳﺪ‬, ‫ﻣﻔﺎﻫﻴﻢ ﺑﻨﻴﺎدي ﭘﺎﻳﮕﺎهداده ﻫﺎ‬

‫ﺟﻠﻮه‬

‫ ﺳﻴﺪ ﻣﺤﻤﺪ ﺗﻘﻲ‬، ‫روﺣﺎﻧﻲ راﻧﻜﻮﻫﻲ‬

1383

‫ ﭼﺎپ ﺷﺸﻢ‬, ‫ﭘﺎﻳﮕﺎهداده ﻫﺎ‬

‫ﮔﺴﺘﺮش ﻋﻠﻮم ﭘﺎﻳﻪ‬

‫ ﺣﻤﻴﺪرﺿﺎ‬، ‫ﻣﻘﺴﻤﻲ‬

1383

‫ ﭼﺎپ ﻧﻬﻢ‬, ‫ ﻣﻘﺪﻣﻪ اي ﺑﺮ ﺳﻴﺴﺘﻢ و ﺳﺎﺧﺘﺎر ﻓﺎﻳﻠﻬﺎ‬:‫ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت‬

‫ﺟﻠﻮه‬

‫ ﺳﻴﺪ ﻣﺤﻤﺪ ﺗﻘﻲ‬، ‫روﺣﺎﻧﻲ راﻧﻜﻮﻫﻲ‬

1379

9

10

Ramin.Samad@yahoo.com


WWW.IRANMEET.COM

Ramin.Samad@yahoo.com


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.