ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻣﻮﻟﻔﻴﻦ ﻣﻬﻨﺪس ﺳﻴﺪ ﻧﺎﺻﺮ آﻳﺖ دﻛﺘﺮ اﺣﻤﺪ ﻓﺮاﻫﻲ
ﻓﻬﺮﺳﺖ ﻓﺼﻞ - 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 .............................. ................................
ﺗﻤﺮﻳﻨﺎت 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 ............... ................................
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 ...... ................................ ................................
زﺑﺎن ادﻏﺎم ﺷﺪﻧﻲ 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 ........................
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 ................. ................................
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 ............. ................................
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 ...................... ................................
-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 ................ ................................
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 . ................................ ................................
ﻫﺪف ﻛﻠﻲ 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 .......................... ................................
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 ...................... ................................
ﺗﺴﺖ ﻫﺎي ﺳﺮي 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 ......... ................................ ................................
ﭘﻴﺸﮕﻔﺘﺎﺭ اﻳﻦ ﻛﺘﺎب ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺳﺮ ﻓﺼﻞ ﺗﻌﻴﻴﻦ ﺷﺪه ﺑﺮاي داﻧﺸﺠﻮﻳﺎن داﻧﺸﮕﺎه ﭘﻴﺎمﻧﻮر در رﺷﺘﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺗﻬﻴﻪ و ﺗﻨﻈﻴﻢ ﺷﺪه اﺳﺖ .در ﺗﻬﻴﻪ اﻳﻦ ﻛﺘﺎب ﺳﻌﻲ ﺑﺮ آن ﺷﺪه اﺳﺖ ﺗﺎ ﻣﺒﺎﺣﺜﻲ ﻛﻪ ﺑﺮاي ﺗﺪرﻳﺲ درس ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻻزم ﺑﻪ ﺗﺪرﻳﺲ اﺳﺖ ،ﻣﻄﺮح ﮔﺮدﻧﺪ. اﻳﻦ ﻛﺘﺎب ﻣﺸﺘﻤﻞ ﺑﺮ ده ﻓﺼﻞ ﻣﻲ ﺑﺎﺷﺪ. در اﺑﺘﺪاي ﻛﺘﺎب ﻟﻴﺴﺖ ﺳﺮ ﻓﺼﻞ ﻣﻄﺎﻟﺐ ﻗﻴﺪ ﺷﺪه اﺳﺖ .در اﻧﺘﻬﺎي ﻛﺘﺎب ﻣﺠﻤﻮﻋﻪاي از ﺳﺆاﻻت ﺗﺴﺘﻲ ﺑﻪ ﻫﻤﺮاه ﭘﺎﺳﺦ ﻧﺎﻣﻪ اراﺋﻪ ﺷﺪه اﺳﺖ .ﻫﻤﭽﻨﻴﻦ ﺑﻪ ﻣﻨﻈﻮر آﺷﻨﺎﻳﻲ ﺑﻴﺸﺘﺮ ﻋﻼﻗﻤﻨﺪان ﺑﻪ ﺳﺎﺧﺘﺎر ﭘﺎﻳﻪاي زﺑﺎن
SQL
،در ﺿﻤﻴﻤﻪ 2ﻛﺘﺎب ﻣﺘﻦ ﻛﺎﻣﻞ
SQL BNFاراﺋﻪ ﺷﺪه اﺳﺖ. ﻧﻈﺮ ﺑﻪ ﻟﺰوم ﺟﺎﮔﺬاري ﻣﻌﺎدل ﻓﺎرﺳﻲ ﻛﻠﻤﺎت ﺗﺨﺼﺼﻲ ﺑﺮاي راﺣﺘﻲ ﻓﻬﻢ داﻧﺸﺠﻮﻳﺎن دو واژهﻧﺎﻣﻪ ﺑﻪﺻﻮرت اﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻓﺎرﺳﻲ و ﻓﺎرﺳﻲ ﺑﻪ اﻧﮕﻠﻴﺴﻲ در اﻧﺘﻬﺎي ﻛﺘﺎب آﻣﺪه اﺳﺖ .در ﺻﻔﺤﻪ ﭘﺎﻳﺎﻧﻲ ﻛﺘﺎب ﻟﻴﺴﺖ ﻣﻨﺎﺑﻊ و ﻣﺎﺧﺬ ﻧﻴﺰ ﺑﺮاي آﮔﺎﻫﻲ داﻧﺸﺠﻮﻳﺎن اراﺋﻪ ﺷﺪه اﺳﺖ. اﻳﻦ اﺛﺮ ﺑﺎ دﻗﺖ ﻧﻈﺮ ﻓﺮاوان ﻛﺎرﺷﻨﺎﺳﺎن ﻣﺪﻳﺮﻳﺖ ﺗﻮﻟﻴﺪ ﻣﻮاد و ﺗﺠﻬﻴﺰات آﻣﻮزﺷﻲ ﻣﻮرد ارزﻳﺎﺑﻲ ﻗﺮار ﮔﺮﻓﺖ ﻛﻪ ﺑﺪﻳﻨﻮﺳﻴﻠﻪ از ﺟﻨﺎب آﻗﺎي اﻛﺒﺮي ﺑﻪ ﻧﻤﺎﻳﻨﺪﮔﻲ از آن ﻋﺰﻳﺰان ﻗﺪرداﻧﻲ ﻣﻲﻧﻤﺎﻳﻴﻢ. ﻛﺘﺎب ﺣﺎﺿﺮ ﺑﻌﻨﻮان ﻣﻨﺒﻊ درﺳﻲ در داﻧﺸﮕﺎه ﭘﻴﺎمﻧﻮر اﻋﻼم ﺷﺪه ﻛﻪ ﺑﻌﻠﺖ ﻛﻮﺗﺎه ﺑﻮدن زﻣﺎن اﻣﻜﺎن رﻓﻊ ﻛﻠﻴﻪ اﻳﺮادات ﺗﺎﻳﭙﻲ و ﻧﮕﺎرﺷﻲ ﻣﻴﺴﺮ ﻧﺸﺪ .ﻟﺬا از ﻛﻠﻴﻪ ﺻﺎﺣﺐﻧﻈﺮان ،اﺳﺎﺗﻴﺪ و داﻧﺸﺠﻮﻳﺎن ﻣﺤﺘﺮم ﺗﻘﺎﺿﺎ دارد ﻧﻈﺮات ﭘﻴﺸﻨﻬﺎدي ﺧﻮد را در ﺟﻬﺖ اﺻﻼح اﻳﺮادات اﻳﻦ اﺛﺮ ،ﺑﻪ آدرس ﭘﺴﺖ اﻟﻜﺘﺮوﻧﻴﻜﻲ ﻣﻮﻟﻔﻴﻦ ارﺳﺎل ﻓﺮﻣﺎﻳﻨﺪ. در ﭘﺎﻳﺎن از آﻗﺎي ﻣﻬﻨﺪس ﻛﺎﻣﻴﺎر آﻫﻨﻜﻮب ﻛﻪ در ﺗﻨﻈﻴﻢ و ﺗﺪوﻳﻦ ﻛﺘﺎب ﻫﻤﻜﺎري ﺷﺎﻳﺎﻧﻲ داﺷﺘﻪاﻧﺪ ﺳﭙﺎﺳﮕﺰاري ﻣﻲﻛﻨﻴﻢ. ﻧﺎﺻﺮ آﻳﺖ
اﺣﻤﺪ ﻓﺮاﻫﻲ
[email protected]
[email protected]
ﺗﺎﺑﺴﺘﺎن 1386
ﻓﺼﻞ ۱ ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩﺩﺍﺩﻩ ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﺎرﻳﺨﭽﻪ اي در راﺑﻄﻪ ﺑﺎ ﺑﺤﺚ ﭘﺎﻳﮕﺎه دادهﻫﺎ و ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ ﻣﻄﺮح و ﺳﭙﺲ اﻧﻮاع ﺳﻴﺴﺘﻢﻫﺎي ﭘﺎﻳﮕﺎه داده ﻧﺎم ﺑﺮده ﻣﻲﺷﻮﻧﺪ .در اداﻣﻪ ﺑﻌﻀﻲ از ﻣﻔﺎﻫﻴﻢ ﻛﻠﻴﺪي در ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ .ﺳﭙﺲ ﻣﻔﻬﻮم ﭘﺎﻳﮕﺎه داده ﺑﺼﻮرﺗﻲ دﻗﻴﻖ ﺗﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ .ﺑﺎ ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ،ﻣﺮاﺣﻞ ﻛﺎر در ﻣﺸﻲ ﻓﺎﻳﻠﻴﻨﮓ و ﭘﺎﻳﮕﺎه داده ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ و در ﭘﺎﻳﺎن اﺟﺰاء ﭘﺎﻳﮕﺎه داده ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﮔﺮﻓﺘﻪ و ﺟﺎﻳﮕﺎه ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده ﺑﺮرﺳﻲ ﺧﻮاﻫﺪ ﺷﺪ.
ﻫﺪف رﻓﺘﺎري در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
اﻧﻮاع ﺳﻴﺴﺘﻢﻫﺎي ﭘﺎﻳﮕﺎهداده 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
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
ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
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
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
ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
•
5
ﻫﺮ ﻧﻤﺎﻳﺸﻲ ﻛﻪ ﺗﻮﺳﻂ اﻧﺴﺎن ﻳﺎ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﻜﺎﻧﻴﻜﻲ ﺧﻮدﻛﺎر ﻣﻌﻨﺎﻳﻲ ﺑﻪ آن ﻗﺎﺑﻞ اﻧﺘﺴﺎب ﺑﺎﺷﺪ.
•
ﻧﻤﺎﻳﺶ واﻗﻌﻴﺎت ،ﭘﺪﻳﺪهﻫﺎ ،ﻣﻔﺎﻫﻴﻢ ﻳﺎ ﺷﻨﺎﺧﺘﻪﻫﺎ ﺑﻪ ﻃﺮزي ﺻﻮري و ﻣﻨﺎﺳﺐ ﺑﺮاي ﺑﺮﻗﺮاري ارﺗﺒﺎط ،ﺗﻔﺴﻴﺮ ﻳﺎ ﭘﺮدازش ﺗﻮﺳﻂ اﻧﺴﺎن ﻳﺎ ﻫﺮ دﺳﺘﮕﺎه ﺧﻮدﻛﺎر.
•
ﺑﻪ ﻃﻮر ﻛﻠﻲ ﻣﻲﺗﻮان ﮔﻔﺖ ﻛﻪ داده ارزﺷﻬﺎي واﻗﻌﻲ ﻫﺴﺘﻨﺪ ﻛﻪ از ﻃﺮﻳﻖ ﻣﺸﺎﻫﺪه و ﺗﺤﻘﻴﻖ ﺑﺪﺳﺖ ﻣﻲ آﻳﻨﺪ.
4-1اﻃﻼع ﻫﺮ ﻧﻮع داده ﭘﺮدازش ﺷﺪه )ﺳﺎﺧﺖ ﻳﺎﻓﺘﻪ( را اﻃﻼع ﻣﻲ ﻧﺎﻣﻨﺪ .اﻳﻦ ﺗﻌﺮﻳﻒ ﻳﻚ ﺗﻌﺮﻳﻒ ﺑﺴﻴﺎر ﺳﺎده اﺳﺖ ﻛﻪ ﺑﻴﺎﻧﮕﺮ ﺗﻔﺎوت ﺑﻴﻦ دو اﺻﻄﻼح داده و اﻃﻼع اﺳﺖ .وﻟﻲ ﺑﻄﻮر ﻛﻠﻲ ﻣﻲ ﺗﻮان ﮔﻔﺖ اﻃﻼع ﻣﺠﻤﻮﻋﻪ داده ﻫﺎﻳﻲ اﺳﺖ ﻛﻪ در ﺗﺼﻤﻴﻢ ﮔﻴﺮي ﺑﻜﺎر ﻣﻲروﻧﺪ و اﺳﺎﺳﺎً ﻛﻤﻴﺘﻲ اﺳﺖ ﻧﺴﺒﻲ و واﺑﺴﺘﻪ ﺑﻪ وﺿﻌﻴﺖ ﻣﺸﺨﺺ ،زﻣﺎن ﻣﺸﺨﺺ و ﻧﻴﺰ ﺧﻮد ﺷﺨﺺ )ﻳﺎ ﺳﻴﺴﺘﻢ( ﺗﺼﻤﻴﻢ ﮔﻴﺮﻧﺪه .در واﻗﻊ ،ﺷﺨﺺ ﺗﺼﻤﻴﻢ ﮔﻴﺮﻧﺪه ﺑﺎ ﺗﻔﺴﻴﺮ داده ﻫﺎ در ﻳﻚ وﺿﻌﻴﺖ ﻣﺸﺨﺺ اﻃﻼﻋﺎت ﻻزم ﺑﺮاي ﺗﺼﻤﻴﻢ ﮔﻴﺮي را ﺑﻪ دﺳﺖ ﻣﻲ آورد.
5-1ﺗﻌﺮﻳﻒ اﻃﻼع از دﻳﺪﮔﺎه
ANSI
اﺳﺘﺎﻧﺪارد ANSIﺑﺮاي اﺻﻄﻼح اﻃﻼع ﺗﻌﺮﻳﻒ زﻳﺮ را اراﺋﻪ ﻛﺮده اﺳﺖ: ﻣﻌﻨﺎﻳﻲ ﻛﻪ اﻧﺴﺎن از ﻃﺮﻳﻖ ﺗﻮاﻓﻘﺎت و ﻗﺮاردادﻫﺎي ﺷﻨﺎﺧﺘﻪ ﺷﺪه اي ﺑﻪ داده ﻣﻨﺘﺴﺐ ﻣﻲ ﻛﻨﺪ.
6-1داﻧﺶ اﺻﻄﻼح داﻧﺶ ﻋﺒﺎرت اﺳﺖ از ﻧﻤﺎﻳﺶ ﻧﻤﺎدﻳﻦ ﺑﺨﺶ ﻫﺎﻳﻲ از دﻧﻴﺎي واﻗﻌﻲ .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ،داﻧﺶ ﻧﻮﻋﻲ ﺷﻨﺎﺧﺖ اﺳﺖ ﻛﻪ از ﻳﻚ ﻣﺠﻤﻮﻋﻪ از اﻃﻼﻋﺎت ،ﺑﺮاﺳﺎس ﻳﻚ ﻣﺠﻤﻮﻋﻪ از ﻗﻮاﻋﺪ ﻣﺸﺨﺺ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ. ﻧﻜﺘﻪ :1ﺑﻌﻀﻲ از ﺗﺌﻮرﻳﺴﻴﻦ ﻫﺎ داده را ﻫﻤﺎن ﻣﻘﺪار واﻗﻌﺎ ذﺧﻴﺮه ﺷﺪه و اﻃﻼع را ﻣﻌﻨﺎي آن ﻣﻲ داﻧﻨﺪ ،ﺑﻨﺎﺑﺮاﻳﻦ اﻃﻼع و داده ﺑﺎ ﻫﻢ ﻓﺮق دارﻧﺪ ،اﻃﻼع داراي ﺧﺎﺻﻴﺖ ارﺗﺒﺎط دﻫﻨﺪﮔﻲ و اﻧﺘﻘﺎل دﻫﻨﺪﮔﻲ اﺳﺖ درﺣﺎﻟﻴﻜﻪ داده ﻣﺠﺮد اﻳﻦ ﺧﺎﺻﻴﺖ را ﻧﺪارد.
6
ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
ﻧﻜﺘﻪ :2دادهﻫﺎ ﺣﺎﻟﺖ ﻣﻨﻔﺮد و ﻣﺠﺰا دارﻧﺪ و ﻟﺰوﻣﺎ اﻃﻼﻋﻲ از آﻧﻬﺎ ﺑﺪﺳﺖ ﻧﻤﻲ آﻳﺪ ﻣﮕﺮ اﻳﻨﻜﻪ ﺑﻪ ﻧﺤﻮي ﺑﻬﻢ ﻣﺮﺗﺒﻂ ﺷﻮﻧﺪ و ﻣﻌﻨﺎﻳﻲ ﺑﻪ آﻧﻬﺎ ﻣﻨﺘﺴﺐ ﺷﻮد و ﺑﺎﻳﺪ داﻧﺶ را ﻧﻮﻋﻲ اﻃﻼع ﺳﻄﺢ ﺑﺎﻻﺗﺮ داﻧﺴﺖ در واﻗﻊ ﻫﻢ اﻃﻼع و ﻫﻢ داﻧﺶ ﺣﺎﺻﻞ ﻋﻤﻠﻴﺎﺗﻲ روي داده ﻫﺴﺘﻨﺪ ،وﻟﻲ ﻧﻮع ﻋﻤﻠﻴﺎت ﻻزم ﺑﺮاي ﺣﺼﻮل آﻧﻬﺎ ﻣﺘﻔﺎوت اﺳﺖ .ﺑﺎ اﻳﻦ اوﺻﺎف راﺑﻄﻪ ﺑﻴﻦ ﺳﻪ ﻣﻔﻬﻮم داده ،اﻃﻼع و داﻧﺶ ﺑﺼﻮرت زﻳﺮ ﻗﺎﺑﻞ ﻧﻤﺎﻳﺶ ﻣﻲ ﺑﺎﺷﺪ: داﻧﺶ
ﭘﺮدازش
اﻃﻼع
ﭘﺮدازش
داده
ﺷﻜﻞ 1-1راﺑﻄﻪ ﻧﻤﺎدﻳﻦ ﺑﻴﻦ داده ،اﻃﻼع و داﻧﺶ
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻮﺿﻴﺤﺎﺗﻲ ﻛﻪ در ﺑﺎﻻ اراﺋﻪ ﺷﺪ ،اﻛﻨﻮن ﺗﻮﺿﻴﺤﻲ دﻗﻴﻘﺘﺮ از ﻣﻔﻬﻮم ﭘﺎﻳﮕﺎه داده را اراﺋﻪ ﻣﻲ دﻫﻴﻢ.
-2ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﺎ ﺗﻮﺻﻴﻔﻲ ﺟﺎﻣﻊ ﺗﺮ ،ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از داده ﻫﺎ ﻛﻪ ﺑﺼﻮرت ﻣﺠﺘﻤﻊ و ﺗﺎ ﺣﺪ ﻣﻤﻜﻦ ﺑﺼﻮرت ﻣﺮﺗﺒﻂ ﺑﻬﻢ و ﺑﺎ ﻛﻤﺘﺮﻳﻦ اﻓﺰوﻧﮕﻲ ذﺧﻴﺮه ﺷﺪه اﻧﺪ ﻛﻪ اﻳﻦ ﻣﺠﻤﻮﻋﻪ ﺗﺤﺖ ﻣﺪﻳﺮﻳﺖ ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ ﺑﺮاي اﺳﺘﻔﺎده ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻛﺎرﺑﺮ ﻗﺮار ﮔﺮﻓﺘﻪ اﻧﺪ. ﺷﺎﻳﺪ در ﻧﮕﺎه اول ﺗﻌﺮﻳﻒ اراﺋﻪ ﺷﺪه در ﻣﻮرد ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻛﻤﻲﻣﺒﻬﻢ ﺑﻪ ﻧﻈﺮ ﺑﺮﺳﺪ. در ﺗﺸﺮﻳﺢ ﻛﻠﻲ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻣﻲﺗﻮان ﮔﻔﺖ ﻛﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهداده ﻣﺠﻤﻮﻋﻪاي از دادهﻫﺎي ﺑﻬﻢ واﺑﺴﺘﻪ اﺳﺖ ﻛﻪ از اﻓﺰوﻧﮕﻲ ﺑﻲﺣﺎﺻﻞ و ﻣﻀﺮ ﻣﺒﺮا اﺳﺖ و ﺑﺮاي ﻛﺎرﺑﺮدﻫﺎي ﮔﻮﻧﺎﮔﻮن اﺳﺘﻔﺎده ﻣﻲﺷﻮد .دادهﻫﺎ ﺑﻪ ﮔﻮﻧﻪاي ذﺧﻴﺮه ﺷﺪهاﻧﺪ ﻛﻪ از ﺑﺮﻧﺎﻣﻪﻫﺎﻳﻲ ﻛﻪ آﻧﻬﺎ را ﺑﻪ ﻓﺮﻣﺖ ﻣﻲﮔﻴﺮﻧﺪ ﻣﺴﺘﻘﻞ ﻫﺴﺘﻨﺪ و راه ﻳﺎﻓﺖ ﻣﺸﺘﺮك ﻛﻨﺘﺮل ﺷﺪه ﺑﺮاي درج، ﺣﺬف ،ﺗﻐﻴﻴﺮ و ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎي ﻣﻮﺟﻮد اﺳﺘﻔﺎده ﻣﻲﺷﻮد و دادهﻫﺎ ﺑﻪﮔﻮﻧﻪاي ﺳﺎﺧﺖ ﻳﺎﻓﺘﻪ اﺳﺖ ﻛﻪ ﭘﺎﻳﻪاي ﺑﺮاي ﺗﻮﺳﻌﻪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي آﻳﻨﺪه ﻓﺮاﻫﻢ ﻣﻲﺳﺎزد .اﻳﻦ دادهﻫﺎ ﺗﻮﺳﻂ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻣﺪﻳﺮﻳﺖ ﻣﻲﺷﻮد .ﺑﺎ اﻳﻦ وﺻﻒ ﻣﻲﺗﻮان درﻳﺎﻓﺖ ﻛﻪ ﻫﺮ
ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
7
ﻣﺠﻤﻮﻋﻪاي از ﻓﺎﻳﻠﻬﺎ ﻳﺎ ﻫﺮ ﻣﺠﻤﻮﻋﻪاي از اﻃﻼﻋﺎت ذﺧﻴﺮه ﺷﺪه ﻟﺰوﻣﺎ ﻳﻚ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻧﻴﺴﺖ. ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻄﺎﻟﺐ ﻓﻮق ﻣﻲﺗﻮان ﭼﻨﻴﻦ ﻧﺘﻴﺠﻪ ﮔﺮﻓﺖ ﻛﻪ ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎ وﺟﻮد ﺣﺪاﻗﻞ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﻪ ﻋﻨﻮان ﺳﻴﺴﺘﻢ واﺳﻄﻪ اﻟﺰاﻣﻲ اﺳﺖ. ﺑﺎرزﺗﺮﻳﻦ ﺑﺮﺗﺮي ﻳﻚ ﭘﺎﻳﮕﺎهداده ﻧﺴﺒﺖ ﺑﻪ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚﻫﺎي داده ﻗﺒﻠﻲ )ﺳﻴﺴﺘﻢﻫﺎي ﻓﺎﻳﻠﻴﻨﮓ( ،ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده ﻣﻲﺑﺎﺷﺪ .ﺑﺎ اﻳﻦ وﺻﻒ ﻻزم اﺳﺖ ﺑﻴﻦ اﺻﻄﻼﺣﺎﺗﻲ ﻣﺎﻧﻨﺪ ﺑﺎﻧﻚ داده ،ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ،ﭘﺎﻳﮕﺎهداده و ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ ﺗﻔﺎوت ﻗﺎﺋﻞ ﺷﻮﻳﻢ. در ﺑﺮرﺳﻲ ﻣﺤﻴﻂ ﻳﻚ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ ﺷﻮد ﻛﻪ ﻣﺤﻴﻂ واﺣﺪ ،ﻣﺠﺘﻤﻊ و ﻣﺸﺘﺮك ذﺧﻴﺮه ﺳﺎزي ﻟﺰوﻣﺎ ﺑﻪ اﻳﻦ ﻣﻌﻨﺎ ﻧﻴﺴﺖ ﻛﻪ ﭼﻨﻴﻦ ﻣﺤﻴﻄﻲ از ﻧﻈﺮ ﻓﻴﺰﻳﻜﻲ و ﻣﺤﻞ ﺟﻐﺮاﻓﻴﺎﻳﻲ واﺣﺪ و ﻳﻜﭙﺎرﭼﻪ اﺳﺖ .ﺑﻠﻜﻪ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎ از ﻟﺤﺎظ ﻣﻨﻄﻘﻲ ،ﻳﻜﭙﺎرﭼﮕﻲ دارد .وﺿﻊ ﭘﺎﻳﮕﺎهدادهﻫﺎ در ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ﺑﺴﺘﮕﻲ ﺑﻪ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ دارد ،ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻣﻲﺗﻮاﻧﺪ در ﻋﻴﻦ واﺣﺪ ﻣﺠﺘﻤﻊ و ﻣﺸﺘﺮك ﺑﻮدن در ﺳﻄﺢ ﻣﻨﻄﻘﻲ ،از ﻧﻈﺮ ﻓﻴﺰﻳﻜﻲ ﻧﺎﻣﺘﻤﺮﻛﺰ و ﺗﻮزﻳﻊ ﺷﺪه ﺑﺎﺷﺪ.
1-2ﺗﻔﺎوتﻫﺎي ﺑﻴﻦ روش ﻓﺎﻳﻠﻴﻨﮓ و روش ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﺳﺌﻮال ﭘﻴﺶ ﺑﻴﺎﻳﺪ ﻛﻪ اﺳﺎﺳﺎً اﺳﺘﻔﺎده از روش ﻓﺎﻳﻠﻴﻨﮓ در ﻃﺮاﺣﻲ ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺑﻪ ﭼﻪ ﺻﻮرت ﺑﻮده و ﭼﻪ ﺗﻔﺎوﺗﻲ ﺑﺎ روش ﭘﺎﻳﮕﺎﻫﻲ دارد .ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع اﺑﺘﺪا روش ﻓﺎﻳﻠﻴﻨﮓ ﺑﺮاي ﻃﺮاﺣﻲ ﺑﺮﻧﺎﻣﻪ ﻫﺎ را ﺑﺼﻮرت ﻛﻠﻲ ﺑﻴﺎن ﻣﻲ ﻛﻨﻴﻢ.
1-1-2ﻣﺮاﺣﻞ ﻛﺎر در روش ﻓﺎﻳﻠﻴﻨﮓ ﺳﻴﺴﺘﻢ ﻣﻮرد درﺧﻮاﺳﺖ ﺑﺮاي ﻣﻜﺎﻧﻴﺰه ﻛﺮدن اﻧﺘﺨﺎب و ﻣﻮرد ﺑﺮرﺳﻲ و ﭘﺮدازش ﻗﺮار ﻣﻲ ﮔﻴﺮد ﺗﺎ ﻣﺸﺨﺼﺎت ﻧﻴﺎزﻫﺎ ﺗﻌﻴﻴﻦ ﮔﺮدد . •
ﻣﺮاﺣﻞ اوﻟﻴﻪ ﻻزم ﺑﺮاي ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ اﻧﺠﺎم ﻣﻲﮔﻴﺮد.
•
ﻣﺸﺨﺼﺎت ﺳﻴﺴﺘﻢ و زﻳﺮ ﺳﻴﺴﺘﻢﻫﺎي اﺣﺘﻤﺎﻟﻲ و وﻇﺎﻳﻒ ﻫﺮ ﻛﺪام از آﻧﻬﺎ ﺗﻌﻴﻴﻦ ﻣﻲﮔﺮدد.
8
ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
•
ﺗﻌﺪادي ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﺑﺮاي ذﺧﻴﺮه ﺳﺎزي ﻓﺎﻳﻠﻬﺎ ﻃﺮاﺣﻲ ﻣﻲﮔﺮدد .اﻳﻦ ﻓﺎﻳﻠﻬﺎ ﻣﻌﻤﻮﻻً ﺑﻪ ﺻﻮرت ﻣﻨﻔﺮد در ﺳﻄﺢ ﺳﻴﺴﺘﻢ ﻃﺮاﺣﻲ ﻣﻲﮔﺮدﻧﺪ.
•
ﺑﺮﻧﺎﻣﻪ ﻣﻮرد درﺧﻮاﺳﺖ ﺑﺎ اﺳﺘﻔﺎده از ﻳﻚ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺗﻬﻴﻪ ﻣﻲﮔﺮدد. ﺑﺮﻧﺎﻣﻪ ﻣﻮرد ﻧﻈﺮ ﺑﻪ ﻫﻤﺮاه ﺑﺮﻧﺎﻣﻪﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ ﻓﺎﻳﻞﻫﺎ اﻃﻼﻋﺎﺗﻲ ،ﻣﺠﻤﻮﻋﻪ ﻧﺮماﻓﺰاري ﺳﻴﺴﺘﻢ را ﭘﻮﺷﺶ ﻣﻲدﻫﻨﺪ.
•
ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻛﺎﻣﻞ ﺷﺎﻣﻞ ﻧﺮماﻓﺰار و ﺳﺨﺖاﻓﺰار و اﺣﺘﻤﺎﻻ ﻣﻜﺎﻧﻴﺰﻣﻲﺟﻬﺖ ﺑﺮﻗﺮاري ارﺗﺒﺎط ﺑﻴﻦ ﭼﻨﺪ ﺳﺨﺖاﻓﺰار ﻓﺮاﻫﻢ ﻣﻲﮔﺮدد.
•
ﻣﺠﻤﻮﻋﻪاي از ﺗﺴﺖﻫﺎ ﺟﻬﺖ ﺑﺮرﺳﻲ ﻫﺮ زﻳﺮ ﺳﻴﺴﺘﻢ و در ﻧﻬﺎﻳﺖ ﺑﺮرﺳﻲ ﻛﻞ ﺳﻴﺴﺘﻢ اﻋﻤﺎل ﻣﻲﮔﺮدد.
ﺑﺎ اﻳﻦ وﺻﻒ ﺑﻪ راﺣﺘﻲ ﻣﻲ ﺗﻮان درﻳﺎﻓﺖ ﻛﻪ در روش ﻓﺎﻳﻠﻴﻨﮓ ،داده ﻫﺎ در واﻗﻊ ﭼﻨﺪ ﻣﺠﻤﻮﻋﻪ ﻣﺠﺰا و ﻧﺎﻣﺠﺘﻤﻊ )از ﻟﺤﺎظ ﻣﻨﻄﻘﻲ و ﻓﻴﺰﻳﻜﻲ( و ﺗﺎ ﺣﺪود زﻳﺎدي ﻧﺎﻣﺮﺗﺒﻂ ﺑﺎ ﻫﻢ و ﺑﺪون ﻣﺪﻳﺮﻳﺖ ﻣﺘﻤﺮﻛﺰ ﺧﻮاﻫﻨﺪ ﺑﻮد .ﻧﻤﺎﻳﻲ از روش ﻓﺎﻳﻠﻴﻨﮓ در ﺷﻜﻞ 2 -1 آﻣﺪه اﺳﺖ.
2-1-2ﻣﺮاﺣﻞ ﻛﺎر در روش ﭘﺎﻳﮕﺎﻫﻲ ﺑﺎ ﻋﻨﺎﻳﺖ ﺑﻪ روش ﻛﺎر در ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ ،در اداﻣﻪ ﻣﺮاﺣﻞ ﻛﺎر در روش ﭘﺎﻳﮕﺎﻫﻲ ﻣﻌﺮﻓﻲ ﻣﻲ ﮔﺮدد. •
ﻛﻠﻴﻪ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ و ﭘﺮدازﺷﻲ ﻣﺠﻤﻮﻋﻪ ﻣﻮرد ﻧﻈﺮ ﺑﺼﻮرت ﻳﻜﭙﺎرﭼﻪ ﻣﻮرد ﻣﻄﺎﻟﻌﻪ و ﺗﺤﻠﻴﻞ ﻗﺮار ﻣﻲﮔﻴﺮد .دادهﻫﺎي ﻣﻮرد ﻧﻈﺮ ،ﻣﺪل ﺳﺎزي ﻣﻲﮔﺮدﻧﺪ و ﻣﺸﺨﺼﺎت ﺳﻴﺴﺘﻢ و وﻇﺎﻳﻒ آن ﺑﺼﻮرت ﺟﺎﻣﻊ ﺗﻌﻴﻴﻦ ﻣﻲﮔﺮدﻧﺪ.
•
ﻳﻚ ﻳﺎ ﭼﻨﺪ ﭘﺎﻳﮕﺎهداده ﺑﻌﻨﻮان ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﻣﺘﻤﺮﻛﺰ اﻧﺘﺨﺎب ﻣﻲﮔﺮدد. ﻃﺮاﺣﻲﻫﺎي ﻻزم در ﺳﻄﻮح ﻣﺨﺘﻠﻒ ﭘﺎﻳﮕﺎهداده ﺗﻌﺮﻳﻒ و ﻃﺮاﺣﻲ ﻣﻲﮔﺮدﻧﺪ.
•
واﺳﻂﻫﺎي ﻣﻮرد ﻧﻈﺮ ﺑﺮاي ﻛﺎرﺑﺮان واﺣﺪﻫﺎي ﻣﺨﺘﻠﻒ )و ﺑﻌﻀﺎ ﻣﺪﻳﺮان ﺳﻴﺴﺘﻢ( ﻃﺮاﺣﻲ ﻣﻲﮔﺮدﻧﺪ.
•
ﺗﺴﺖﻫﺎي ﻻزم ﺑﺮ روي ﻗﺴﻤﺖﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ اﻋﻤﺎل ﻣﻲﮔﺮدﻧﺪ.
ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
9
ﺷﻜﻞ 2-1ﻧﻤﺎي ﻛﻠﻲ از روش ﻓﺎﻳﻠﻴﻨﮓ
ﺑﺎ اﻳﻦ وﺻﻒ ﻣﻲ ﺗﻮان ﻣﺸﺎﻫﺪه ﻛﺮد ﻛﻪ اﺳﺎس روش ﻓﺎﻳﻠﻴﻨﮓ ﺑﺮ ﻣﺒﻨﺎي ﺳﺎﺧﺘﺎر اﻃﻼﻋﺎﺗﻲ ﻳﻜﭙﺎرﭼﻪ ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ و ﻣﺒﻨﺎي ﻛﺎر ﻣﺪﻳﺮﻳﺖ ﻳﻚ ﭘﺎرﭼﻪ و ﻣﺘﻤﺮﻛﺰ داده ﻫﺎ ﻣﻲ ﺑﺎﺷﺪ .ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﺷﻤﺎﻳﻲ از روش ﭘﺎﻳﮕﺎﻫﻲ در ﺷﻜﻞ 3-1 آﻣﺪه اﺳﺖ.
10
ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
ﺷﻜﻞ 3-1ﺷﻤﺎﻳﻲ از روش ﭘﺎﻳﮕﺎﻫﻲ
2-2اﺟﺰاء ﭘﺎﻳﮕﺎهداده ﻫﻤﺎﻧﮕﻮﻧﻪ ﻛﻪ در ﺷﻜﻞ زﻳﺮ ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد ﻫﺮ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده از ﭼﻬﺎر ﺟﺰء اﺳﺎﺳﻲ ﺗﺸﻜﻴﻞ ﻣﻲ ﺷﻮد: •
دادهﻫﺎ
•
ﺳﺨﺖاﻓﺰار
ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ 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
12
ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
اﺳﺘﻔﺎده ﻛﻨﻨﺪﮔﺎن ﻣﺨﺘﻠﻒ ﺑﻪ اﺷﺘﺮاك ﮔﺬاﺷﺘﻪ ﻣﻲ ﺷﻮد .دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﻳﻚ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻋﺒﺎرﺗﻨﺪ
از:
•
دادهﻫﺎي ﻛﺎرﺑﺮان
•
دادهﻫﺎي ﺳﻴﺴﺘﻤﻲ
2-2-2ﺳﺨﺖاﻓﺰار ﻳﻚ ﭘﺎﻳﮕﺎه داده ﺟﻬﺖ اﺳﺘﻘﺮار ﺑﻪ ﻣﺠﻤﻮﻋﻪ ﻣﻨﺎﺳﺒﻲ از ﺗﺠﻬﻴﺰات ﺳﺨﺖ اﻓﺰاري ﻧﻴﺎز دارد .ﺳﺨﺖ اﻓﺰار ﻫﺎ ﺑﻪ ﺳﻪ دﺳﺘﻪ ﺗﻘﺴﻴﻢ ﻣﻲ ﮔﺮدﻧﺪ: •
ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ
•
ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ
•
ﺳﺨﺖاﻓﺰار ﺑﺮﻗﺮار ﻛﻨﻨﺪه ارﺗﺒﺎط
در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮ ﻳﻚ از اﻧﻮاع ﺳﺨﺖ اﻓﺰارﻫﺎ در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ:
-1ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ ﻣﻨﻈﻮر ﻫﻤﺎن رﺳﺎﻧﻪ ﻫﺎي ذﺧﻴﺮه ﺳﺎزي ﺧﺎرﺟﻲ اﺳﺖ وﻟﻲ ﺑﺎﻳﺪ داﻧﺴﺖ ﻛﻪ رﺳﺎﻧﻪ اﺻﻠﻲ ذﺧﻴﺮه ﺳﺎزي دﻳﺴﻚ اﺳﺖ ،ﺳﺎﻳﺮ رﺳﺎﻧﻪ ﻫﺎي ذﺧﻴﺮه ﺳﺎزي ﻣﺎﻧﻨﺪ ﻧﻮار ﻣﻐﻨﺎﻃﻴﺴﻲ در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه دادهﻫﺎ ﻛﺎرﺑﺮد دارد وﻟﻲ ﻧﻪ ﺑﻪ ﻋﻨﻮان رﺳﺎﻧﻪ اﺻﻠﻲ ،ﺑﻠﻜﻪ ﺑﻪ ﺻﻮرت رﺳﺎﻧﻪ ﻛﻤﻜﻲ ﺑﺮاي ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن و ﻓﺎﻳﻠﻬﺎي ﺛﺒﺖ ﺗﺮاﻛﻨﺶ ﻫﺎ ﻳﺎ ﻓﺎﻳﻠﻬﺎ روﻳﺪادﻧﮕﺎري.
-2ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ ﻣﻨﻈﻮر ﺧﻮد ﻛﺎﻣﭙﻴﻮﺗﺮ اﺳﺖ .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺑﺮاي ﭘﺎﻳﮕﺎهﻫﺎي داده ﺑﺎ ﻣﻌﻤﺎري ﺧﺎص و ﻳﺎ ﺑﺴﻴﺎر ﺣﺠﻴﻢ ،از اﻧﻮاع ﺧﺎﺻﻲ از ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺑﺎ ﺳﺨﺖ اﻓﺰارﻫﺎي ﺧﺎص و ﻧﻮع ﭘﺮدازش ﺧﺎص اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد.
-3ﺳﺨﺖاﻓﺰار ﺑﺮﻗﺮار ﻛﻨﻨﺪه ارﺗﺒﺎط
ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ 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
14
ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
ﻣﻲ ﺷﻮﻧﺪ: ﻧﺮماﻓﺰار ﻛﺎرﺑﺮدي
•
• ﻧﺮماﻓﺰار ﺳﻴﺴﺘﻤﻲ در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮ ﻳﻚ از اﻧﻮاع ﻧﺮم اﻓﺰارﻫﺎ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ:
-1ﻧﺮماﻓﺰار ﻛﺎرﺑﺮدي ﻧﺮم اﻓﺰاري اﺳﺖ ﻛﻪ ﻛﺎرﺑﺮ ﺑﺎﻳﺪ ﺑﺮاي ﺗﻤﺎس ﺑﺎ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ آﻣﺎده ﻛﻨﺪ .اﻳﻦ 1
ﻧﺮم اﻓﺰار ﺑﻪ ﻛﻤﻚ ﻳﻚ زﺑﺎن ﺳﻄﺢ ﺑﺎﻻ و ﻳﻚ زﺑﺎن دادهﻳﻲ و ﺑﺮﺧﻲ ﺗﺴﻬﻴﻼت ﻧﺮم اﻓﺰاري ﺑﺮاي ﺗﻤﺎس ﺑﺎ ﺑﺎﻧﻚ ﺳﺎﺧﺘﻪ ﻣﻲ ﺷﻮد .
-2ﻧﺮماﻓﺰار ﺳﻴﺴﺘﻤﻲ اﻳﻦ ﻧﻮع ﻧﺮم اﻓﺰار از دو ﻗﺴﻤﺖ ﻧﺮم اﻓﺰار ﺳﻴﺴﺘﻤﻲ ﺧﺎص ﺑﺎﻧﻚ ﻛﻪ در اﻳﻨﺠﺎ ﺑﻪ آن DBMS
ﻣﻲ ﮔﻮﻳﻴﻢ و ﻧﺮم اﻓﺰار ﺳﻴﺴﺘﻤﻲﻋﻤﻮﻣﻲ )ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ( ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ.
) (DBMSدر ﻳﻚ ﺗﻌﺮﻳﻒ ﺳﺎده ،ﺳﻴﺴﺘﻤﻲ اﺳﺖ ﻛﻪ ﺑﻪ ﻛﺎرﺑﺮان اﻣﻜﺎن ﻣﻲ دﻫﺪ ﻋﻤﻠﻴﺎت ﻣﻮرد ﻧﻈﺮﺷﺎن را )ﻣﺎﻧﻨﺪ ﺗﻌﺮﻳﻒ دادهﻫﺎ ،ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎ ،ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ( اﻧﺠﺎم دﻫﻨﺪ.
DBMS
ﻛﻪ ﻧﺮم اﻓﺰاري ﭘﻴﭽﻴﺪه اﺳﺖ ﻣﻴﻬﻤﺎن ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ اﺳﺖ و از
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ در اﻧﺠﺎم وﻇﺎﻳﻔﺶ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﺪ .
4-2-2ﻛﺎرﺑﺮ ﻫﺮ اﺳﺘﻔﺎده ﻛﻨﻨﺪه از ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎ را ﻛﺎرﺑﺮ ﻣﻲ ﮔﻮﻳﻨﺪ .ﻛﺎرﺑﺮان ﭘﺎﻳﮕﺎه داده را ﻣﻲ ﺗﻮان ﺑﻪ ﺳﻪ ﮔﺮوه اﺳﺎﺳﻲ و ﻣﺘﻔﺎوت ﺗﻘﺴﻴﻢ ﻧﻤﻮد: •
ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﺎن ﻛﺎرﺑﺮدي
•
ﻛﺎرﺑﺮان واﻗﻌﻲ ﻳﺎ ﻧﻬﺎﻳﻲ
•
ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ
1. D at a La n gu a ge
ﻣﻔﺎﻫﻴﻢ ﺍﻭﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ 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
16
ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
ﺗﻤﺮﻳﻨﺎت .1ﻣﻔﺎﻫﻴﻢ داده ،اﻃﻼع و داﻧﺶ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .2ﭘﺎﻳﮕﺎهداده را ﺗﻌﺮﻳﻒ ﻧﻤﺎﻳﻴﺪ ؟ .3ﻋﻨﺎﺻﺮ اﺳﺎﺳﻲ ﻳﻚ ﭘﺎﻳﮕﺎهداده را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .4اﻧﻮاع ﺗﺠﻬﻴﺰات ﺳﺨﺖاﻓﺰاري ﻣﻮرد ﻧﻴﺎز ﺑﺮاي ﻳﻚ ﭘﺎﻳﮕﺎهداده را در ﺣﺎﻟﺖ ﻛﻠﻲ ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .5اﻧﻮاع ﻛﺎرﺑﺮان اﺳﺘﻔﺎده ﻛﻨﻨﺪه از ﻳﻚ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهداده را در ﺣﺎﻟﺖ ﻛﻠﻲ ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟
ﻓﺼﻞ ۲ ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ ﺑﺎ ﻣﻔﻬﻮم ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ آﺷﻨﺎ ﺧﻮاﻫﻴﻢ ﺷﺪ و دو روش ﻣﺪل ﺳﺎزي ﻣﻮﺟﻮدﻳﺖ -ارﺗﺒﺎط
)(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
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
ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ •
روش ﻣﻮﺟﻮدﻳﺖ -ارﺗﺒﺎط
•
روش ﻣﻮﺟﻮدﻳﺖ -ارﺗﺒﺎط ﺗﻮﺳﻌﻪ ﻳﺎﻓﺘﻪ
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
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
ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ
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
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
ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ
23
ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﺑﻴﺶ از ﻳﻚ ﻣﻘﺪار از ﻣﻴﺪان ﻣﻘﺎدﻳﺮ را ﺑﺮاي ﺣﺪاﻗﻞ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻧﻮع ﻣﻮﺟﻮدﻳﺖ در ﺑﺮ ﻣﻲ ﮔﻴﺮد .ﻣﺎﻧﻨﺪ ﺻﻔﺖ ﻣﺪرك ﺗﺤﺼﻴﻠﻲ ﺑﺮاي ﻳﻚ ﺷﺨﺺ ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﭼﻨﺪ ﻣﻘﺪاري ﺑﺎﺷﺪ ،ﻟﻴﺴﺎﻧﺲ ،ﻓﻮق ﻟﻴﺴﺎﻧﺲ و.... ﺻﻔﺖ
ﻣﺮﻛﺐ
ﺳﺎده
ﺗﻚ ﻣﻘﺪاري
ﭼﻨﺪ ﻣﻘﺪاري
ﺷﻜﻞ 1-2ﻧﻤﻮدار ارﺗﺒﺎط دﻫﻨﺪه ردهﻫﺎي ﻣﺨﺘﻠﻒ ﺻﻔﺎت
3-2-2ﺷﻨﺎﺳﻪ ﺻﻔﺖ ﺷﻨﺎﺳﻪ ﻣﻮﺟﻮدﻳﺖ ،ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﺑﺎﻳﺪ ﻳﻜﺘﺎﻳﻲ ﻣﻘﺪار داﺷﺘﻪ ﺑﺎﺷﺪ و ﺣﺘﻲ اﻻﻣﻜﺎن ﻃﻮل ﻣﻘﺎدﻳﺮش ﻛﻮﺗﺎه ﺑﺎﺷﺪ.
ﻣﻔﻬﻮم ﻣﻘﺪار ﻫﻴﭻ )ﻫﻴﭻ ﻣﻘﺪار( اﻳﻦ ﻣﻔﻬﻮم از ﻣﻔﺎﻫﻴﻢ ﻣﺪل راﺑﻄﻪ اي اﺳﺖ ،ﻣﻘﺪار ﻫﻴﭻ ﻳﻌﻨﻲ ﻣﻘﺪار ﻧﺎﺷﻨﺎﺧﺘﻪ ،ﻣﻘﺪار ﺗﻌﺮﻳﻒ ﻧﺸﺪه .ﻣﻤﻜﻦ اﺳﺖ ﻣﻘﺪار ﻳﻚ ﺻﻔﺖ ﺑﺮاي ﺑﺮﺧﻲ از ﻧﻤﻮﻧﻪ ﻫﺎي ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ،ﻧﺎﺷﻨﺎﺧﺘﻪ ﺑﺎﺷﺪ .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺻﻔﺖ ﺷﻨﺎﺳﻪ ﻣﻮﺟﻮدﻳﺖ ﻧﻤﻲ ﺗﻮاﻧﺪ ﻫﻴﭻ ﻣﻘﺪار ﭘﺬﻳﺮ ﺑﺎﺷﺪ.
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
ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ
-3ﻧﻤﻮدار ﻧﻤﻮدار
25
ER
در واﻗﻊ ﻧﻤﻮداري اﺳﺖ ﻛﻪ در آن ﺳﻪ ﻣﻔﻬﻮم اﺳﺎﺳﻲ ﻣﺪل
ER
ﻳﻌﻨﻲ
ﻣﻮﺟﻮدﻳﺖ ،ﺻﻔﺖ و ﻧﻮع ارﺗﺒﺎط ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮﻧﺪ .در واﻗﻊ ﻧﻤﻮدار
ER
اوﻟﻴﻦ
ER
ﻃﺮح ﭘﺎﻳﮕﺎه داده ﻫﺎ و ﻣﺪل ﻛﻠﻲ آن در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ اﻧﺘﺰاع ﻣﻲ ﺑﺎﺷﺪ. ﻣﻔﻬﻮم ﻧﻤﺎد در ﻣﺪل
ER
ﻧﻮع ﻣﻮﺟﻮدﻳﺖ :ﭘﺪﻳﺪهﻫﺎي ﻣﻮﺟﻮد ﻛﻪ وﺟﻮد ﺧﺎرﺟﻲ دارﻧﺪ ) (Entityرا ﺑﺎ ﻣﺴﺘﻄﻴﻞ ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ. ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ )واﺑﺴﺘﻪ(
ﻧﻮع ارﺗﺒﺎط ) :(Relationshipﻋﺎﻣﻞ ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖﻫﺎ را ﺑﺎ ﻟﻮزي ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ. ﻧﻮع ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﺑﺎ ﻗﻮي
ﻣﺸﺎرﻛﺖ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ در ﻧﻮع ارﺗﺒﺎط
ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲ
ﺻﻔﺖ :ﺻﻔﺖﻫﺎي ﻫﺮ ﻣﻮﺟﻮدﻳﺖ را ﺗﻮﺳﻂ اﺷﻜﺎل ﺑﻴﻀﻲ ﺑﻪ آن ﻣﺘﺼﻞ ﻣﻲﻧﻤﺎﻳﻴﻢ.
ﻧﻤﺎد در ﻣﺪل
ER
26
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺻﻔﺖ ﺷﻨﺎﺳﻪ اول
ﺻﻔﺖ ﺷﻨﺎﺳﻪ دوم )در ﺻﻮرت وﺟﻮد( ﺻﻔﺖ ﺷﻨﺎﺳﻪ ﻣﺮﻛﺐ )ﻣﺜﻼ درﺧﺘﻲ(
ﺻﻔﺖ ﺟﻨﺪ ﻣﻘﺪاري ﺻﻔﺖ ﻣﺮﻛﺐ
ﺻﻔﺖ ﻣﺸﺘﻖ )ﻣﺠﺎزي ﻳﺎ ﻣﺤﺎﺳﺒﻪ ﺷﺪﻧﻲ( ﭼﻨﺪي ارﺗﺒﺎط
E2
N 1 M
ﺷﻜﻞ 2-2ﻧﻤﺎدﻫﺎي رﺳﻢ
ﻫﺮ ﻧﻤﻮدار
ER
R
1 1 E1 N
ﻧﻤﻮدار ER
ﭘﺎﺳﺨﮕﻮي ﻣﺠﻤﻮﻋﻪ ﻣﺸﺨﺼﻲ از ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان اﺳﺖ و ﺑﺪﻳﻬﻲ
اﺳﺖ ﻛﻪ اﻳﻦ ﻧﻤﻮدار ﺑﺎ ﺗﻐﻴﻴﺮ و رﺷﺪ ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان ﺗﻐﻴﻴﺮ ﻳﺎﻓﺘﻪ و ﺗﻮﺳﻌﻪ داده ﻣﻲﺷﻮد. ﺑﺮاي رﺳﻢ اﻳﻦ ﻧﻮع ﻧﻤﻮدار ﻧﻴﺎز ﺑﻪ ﻧﻤﺎدﻫﺎﻳﻲ اﺳﺖ ﻛﻪ اﻳﻦ ﻧﻤﺎدﻫﺎ در ﺟﺪول ذﻳﻞ آﻣﺪه اﺳﺖ .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺗﻤﺎﻣﻲﻧﻤﺎدﻫﺎي ﻣﻮرد اﺳﺘﻔﺎده ﺑﺮاي رﺳﻢ ﻧﻤﻮدار ERدر رﺳﻢ ﻧﻤﻮدار EERﻧﻴﺰ ﻣﻌﺘﺒﺮ ﺑﻮده و ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ .ﺑﺮاي درك ﺑﻬﺘﺮ ﻧﺤﻮه اﺳﺘﻔﺎده از ﻧﻤﺎدﻫﺎ در رﺳﻢ ﻧﻤﻮدار ،ERﺑﻪ ﻧﻤﻮدار زﻳﺮ ﻛﻪ ﺑﻴﺎﻧﮕﺮ وﺿﻌﻴﺖ ﻳﻚ ﺳﻴﺴﺘﻢ داﻧﺸﺠﻮﻳﻲ اﺳﺖ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ:
ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ
ﻧﺎم
27
درﺟﻪ داﻧﺸﮕﺎﻫﻲ
داﻧﺸﺠﻮ
درس
ﻧﺎم
اﺳﺘﺎد
رﺷﺘﻪ ﺗﺤﺼﻴﻠﻲ ﺷﻜﻞ 3-2ﻳﻚ ﻧﻤﻮﻧﻪ از ﻧﻤﻮدار ERﺑﺮاي ﻧﻤﺎﻳﺶ ﺳﻴﺴﺘﻢ داﻧﺸﺠﻮﻳﻲ
ﻳﻜﻲ از ﻧﻜﺎت ﻣﻬﻢ در رﺳﻢ ﻧﻤﻮدار ،ERﻣﻌﻨﺎي ارﺗﺒﺎط ﺑﻴﻦ ﻋﻨﺎﺻﺮ اﺳﺖ .ﺑﺪﻳﻦ ﺻﻮرت ﻛﻪ ﻣﻌﻨﺎي ارﺗﺒﺎط ))اﻧﺘﺨﺎب(( ﺑﺎ ﻣﻌﻨﺎي ارﺗﺒﺎط ))ﺣﺬف(( ﻓﺮق دارد .در اداﻣﻪ ﻧﻤﻮﻧﻪ ا ي از ﻣﻌﻨﺎي ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺖ ﻫﺎ ﺗﺮﺳﻴﻢ ﺷﺪه اﺳﺖ. ﺗﺮم
ﺳﺎل آﻣﻮزﺷﻲ
اﻧﺘﺨﺎب
درس
ﺗﺮم
ﺣﺬف
ﺳﺎل آﻣﻮزﺷﻲ ﺷﻜﻞ 4-2ﻧﻤﻮﻧﻪاي از ﻣﻌﻨﺎي ارﺗﺒﺎط ﺑﻴﻦ ﻋﻨﺎﺻﺮ
ﻧﻤﺮه
داﻧﺸﺠﻮ
ﻧﻮع
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
ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ
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
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
ﺣﺪ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ ،ﺣﺪاﻗﻞ و ﺣﺪاﻛﺜﺮ ارﺗﺒﺎط ﺑﻴﻦ دو ﻣﻮﺟﻮدﻳﺖ را ﻣﻲ رﺳﺎﻧﺪ .ﺑﺮاي درك ﺑﻬﺘﺮ اﻳﻦ ﻣﻔﻬﻮم ﻣﺜﺎل زﻳﺮ اراﺋﻪ ﻣﻲ ﮔﺮدد:
داﻧﺸﺠﻮ
1
M
اﺳﺘﺎد
راﻫﻨﻤﺎﻳﻲ )(0 , 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
ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ
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
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ﺑﺎ ﻣﺸﺎرﻛﺖ
ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ
ﻏﻴﺮ اﻟﺰاﻣﻲ داﺷﺘﻪ ﺑﺎﺷﺪ .در اﻳﻦ ﺷﺮاﻳﻂ ﻧﻤﻲ ﺗﻮان ﺗﻤﺎم اﻃﻼعﻫﺎي دو ﻣﻮﺟﻮدﻳﺘﻲ ﺑﻴﻦ
33 E
و Gرا ﺑﺪﺳﺖ آورد .اﮔﺮ ﭼﻨﻴﻦ ﻓﺮﺿﻲ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد ،دﭼﺎر دام ﮔﺴﻞ ﺷﺪه اﻳﻢ.
-5ﻣﺪل ﺳﺎزي ﺑﺎ روش
EER
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﻢ روش
ER
داراي ﻧﻘﺎط ﺿﻌﻔﻲ ﺑﻮد .اﻳﻦ ﻧﻘﺎط ﺿﻌﻒ ﺑﻴﺸﺘﺮ زﻣﺎﻧﻲ
ﻧﻤﺎﻳﺎن ﻣﻲ ﺷﺪ ﻛﻪ ﻣﻲ ﺧﻮاﺳﺘﻴﻢ ﻳﻚ ﺳﻴﺴﺘﻢ ﺷﻲء ﮔﺮا را ﻣﺪل ﺳﺎزي ﻧﻤﺎﻳﻴﻢ .ﺑﻄﻮر ﻛﻠﻲ ﻧﻘﺎط ﺿﻌﻒ روش ERﻛﻪ در روش EERرﻓﻊ ﺷﺪه اﻧﺪ ﺑﻪ ﺷﺮح ذﻳﻞ ﺑﻮدﻧﺪ. اﺳﺘﺎد N
1 ﺗﺪرﻳﺲ
ﻋﻀﻮﻳﺖ 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
34
ﭘﺎﻳﮕﺎه دادهﻫﺎ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻛﻞ
ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺟﺰء ﺷﻜﻞ 10-2ﻧﻤﺎد ارﺗﺒﺎط " ﺟﺰﺋﻲ اﺳﺖ از" ...
در روش
ERR
ارﺗﺒﺎط ﺑﻴﻦ ﺷﻲء ﻛﻞ و اﺷﻴﺎء ﺟﺰء را ارﺗﺒﺎط " ﺟﺰﺋﻲ اﺳﺖ از" ...
ﮔﻮﻳﻨﺪ .ﻧﻤﺎد ﻣﻮرد اﺳﺘﻔﺎده ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻛﻞ و ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺟﺰء ﺑﻪ ﺷﻜﻞ زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ:
ﺷﻜﻞ 11-2ﻧﻤﻮﻧﻪاي از ﺗﺠﺰﻳﻪ و ﺗﺮﻛﻴﺐ ﻣﻮﺟﻮدﻳﺖﻫﺎ
ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ
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
36
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺷﻜﻞ) 13-2اﻟﻒ( ﻧﻤﻮﻧﻪاي از ﺣﺎﻟﺖ ﺗﻌﻤﻴﻢ در ﺳﻴﺴﺘﻢﻫﺎي داﻧﺸﺠﻮﻳﻲ
ﺷﻜﻞ) 13-2ب( ﻧﻤﻮﻧﻪاي از ﺣﺎﻟﺖ ﺗﻌﻤﻴﻢ در ﺳﻴﺴﺘﻢﻫﺎي داﻧﺸﺠﻮﻳﻲ
3-5زﻳﺮ ﻧﻮعﻫﺎي ﻫﻤﭙﻮﺷﺎ 1و ﻣﺠﺰا
2
ﻧﻤﻮﻧﻪ ﻫﺎي ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ ﺑﺮ اﺳﺎس ﺻﻔﺎت ﺧﺎﺻﻪ ﻣﺸﺘﺮك و ﻣﺠﺰا در دﺳﺘﻪ ﻫﺎي ﺧﺎص ﺧﻮد دﺳﺘﻪ ﺑﻨﺪي ﻣﻲ ﺷﻮﻧﺪ .ﺣﺎل ﻣﻤﻜﻦ اﺳﺖ ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ در دو دﺳﺘﻪ ﻗﺎﺑﻞ دﺳﺘﻪ ﺑﻨﺪي ﺑﺎﺷﺪ در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﻪ اﻳﻦ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ، ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﻫﻤﭙﻮﺷﺎ )ﻣﺸﺘﺮك( ﮔﻮﻳﻨﺪ. 1. O ve r l a p 2. D i sj o i n t
ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ
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
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
ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ
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
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
ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ
ﻣﻔﻬﻮم در
ﻣﻔﻬﻮم در
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
42
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺗﺠﻤﻴﻊ :ﺗﺠﻤﻴﻊ ﺑﺼﻮرت زﻳﺮ ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮد ﺷﻲء ﻛﻞ
ﺷﻲء ﺟﺰء
ﭼﻨﺪي ارﺗﺒﺎط :ﭼﻨﺪي ارﺗﺒﺎط ﺑﺼﻮرت min …maxﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري :ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري ﺑﻪ ﺻﻮرت ﻳﻚ ﻛﻼس ﺟﺪاﮔﺎﻧﻪ ﻧﺸﺎن داده ﻣﻲ ﺷﻮد ،وﻟﻲ ﻗﺴﻤﺖ ﭘﺮدازش را ﻫﻤﺮاه ﻧﺪارد. ﻣﻴﺪان :ﻧﺎم ﻣﻴﺪان ﻣﻌﻤﻮﻻً ﺑﻌﺪ از ﻧﺎم ﺻﻔﺖ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد و ﺑﻴﻦ اﻳﻦ دو ﻧﺎم از ﻋﻼﻣﺖ: اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد ﺑﺼﻮرت زﻳﺮ ﻧﺎم ﻣﻴﺪان :ﻧﺎم ﺻﻔﺖ ﺻﻔﺖ ﭘﻴﻮﻧﺪ :ﺻﻔﺖ ﭘﻴﻮﻧﺪ در ﻳﻚ ﻣﺮﺑﻊ ﻳﺎ ﻣﺴﺘﻄﻴﻞ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد و ﺑﺎ ﺧﻂ ﭼﻴﻦ ﺑﻪ ﺧﻂ ﻧﺸﺎن دﻫﻨﺪه ﺑﺴﺘﮕﻲ ﻣﺘﺼﻞ ﻣﻲ ﺷﻮد .ﻧﺎم ﭘﻴﻮﻧﺪ و ﻧﺎم ﺻﻔﺎت ﭘﻴﻮﻧﺪ در دو ﻗﺴﻤﺖ اﻳﻦ ﻣﺮﺑﻊ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮﻧﺪ .ﺷﻜﻞ زﻳﺮ ﻧﺤﻮه ﻧﻤﺎﻳﺶ ﺻﻔﺖ ﭘﻴﻮﻧﺪ را ﻧﺸﺎن ﻣﻲ دﻫﺪ ﻧﺎم ﻛﻼس ﻧﺎم ﺻﻔﺎت
ﻧﺎم ﻛﻼس Min.. maxﻧﺎم ﺑﺴﺘﮕﻲ min.. max
ﭘﺮدازﺷﻬﺎ
ﻧﺎم ﺻﻔﺎت ﭘﺮدازﺷﻬﺎ
ﻧﺎم ﺑﺴﺘﮕﻲ ﻧﺎم ﺻﻔﺎت
٣-6ﺧﺼﻮﺻﻴﺎت ﻛﻠﻲ روش ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ ﻫﺮ روش ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ ﺑﺎﻳﺪ ﺣﺪاﻗﻞ داراي ﺧﺼﻮﺻﻴﺎت زﻳﺮ ﺑﺎﺷﺪ •
ﮔﻮﻳﺎﻳﻲ
•
ﺳﺎدﮔﻲ ﻣﻔﺎﻫﻴﻢ
ﻣﺪﻝ ﺳﺎﺯﻱ ﻣﻌﻨﺎﻳﻲ ﺩﺍﺩﻩﻫﺎ •
اﻳﺠﺎز
•
ﮔﺴﺘﺮش ﭘﺬﻳﺮي
•
ﺻﻮري ﺑﻮدن
•
ﻗﺎﺑﻠﻴﺖ ﻧﻤﺎﻳﺶ ﻧﻤﻮداري
•
ﺟﺎﻣﻊ ﺑﻮدن ﻣﻔﺎﻫﻴﻢ
•
ﻗﺎﺑﻠﻴﺖ ﻧﻤﺎﻳﺶ ﺳﺎﺧﺘﺎر ﺣﺎﻟﺖ و رﻓﺘﺎر ﻧﻮع ﻣﻮﺟﻮدﻳﺖ
43
ﺑﺎﻳﺪ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ داﺷﺖ ﻛﻪ ﺑﻌﻀﻲ از ﺧﺼﻮﺻﻴﺎت ذﻛﺮ ﺷﺪه ﻣﺎﻧﻨﺪ ﺗﺠﻤﻴﻊ و اﻳﺠﺎز ﻣﻤﻜﻦ اﺳﺖ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﻣﻐﺎﻳﺮت داﺷﺘﻪ ﺑﺎﺷﻨﺪ .در اﻳﻦ ﺻﻮرت وﺟﻮد ﻳﻜﻲ از اﻳﻦ ﺧﺼﻮﺻﻴﺎت ﻛﺎﻓﻲ اﺳﺖ.
44
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺗﻤﺮﻳﻨﺎت .1ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ داده را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .2اﻧﻮاع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ را ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .3ﺻﻔﺖ را ﺗﻌﺮﻳﻒ ﻛﺮده و ردهﻫﺎي ﻣﺨﺘﻠﻒ آن را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .4ﺣﺎﻻت ﻣﺨﺘﻠﻒ ارﺗﺒﺎط ﺑﻴﻦ دو ﻣﻮﺟﻮدﻳﺖ را ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .5ﻣﺸﻜﻞ دام ﺣﻠﻘﻪ اي در روش ERرا ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .6ﻣﺸﻜﻞ دام ﭼﻨﺪ ﺷﺎﺧﻪ اي را در روش ERﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .7ﻣﺸﻜﻞ دام ﮔﺴﻞ را در روش ERﺷﺮح دﻫﻴﺪ ؟ .8ﻣﻔﺎﻫﻴﻢ ﺗﺠﺰﻳﻪ و ﺗﺮﻛﻴﺐ در روش EERرا ﺷﺮح دﻫﻴﺪ ؟ .9ﻣﻔﺎﻫﻴﻢ ﺗﺨﺼﻴﺺ و ﺗﺮﻣﻴﻢ در روش EERرا ﺷﺮح دﻫﻴﺪ ؟ .10ﻣﻔﺎﻫﻴﻢ وراﺛﺖ و دﺳﺘﻪ ﺑﻨﺪي در روش EERرا ﺷﺮح دﻫﻴﺪ ؟ .11ﻣﻔﻬﻮم ﺗﺠﻤﻊ در روش EERرا ﺷﺮح دﻫﻴﺪ ؟
ﻓﺼﻞ ۳ ﻣﻌﻤﺎﺭﻱ ﭘﺎﻳﮕﺎﻩﺩﺍﺩﻩ ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎهداده ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ .در اﻳﻦ راﺳﺘﺎ ﺳﻄﻮح ﺧﺎرﺟﻲ ،ادراﻛﻲ و داﺧﻠﻲ ﺑﺼﻮرﺗﻲ دﻗﻴﻖ ﺗﺮ ﻣﻮرد ارزﻳﺎﺑﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ .در اداﻣﻪ ﺑﺎ ﺳﺎﻳﺮ اﺟﺰاء ﭘﺎﻳﮕﺎه داده آﺷﻨﺎ ﺧﻮاﻫﻴﻢ ﺷﺪ و زﺑﺎن ﻫﺎي ﻣﺨﺘﻠﻒ ﻣﻮرد اﺳﺘﻔﺎده درون ﭘﺎﻳﮕﺎه داده ﻧﻴﺰ ﺑﺮرﺳﻲ ﺧﻮاﻫﻨﺪ ﺷﺪ.
ﻫﺪف رﻓﺘﺎري در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎهداده
•
دﻳﺪ )ﻧﻤﺎي( ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ(
•
دﻳﺪ )ﻧﻤﺎي( ﺧﺎرﺟﻲ
•
دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ
•
ﻛﺎرﺑﺮ
•
زﺑﺎن ﻣﻴﺰﺑﺎن
•
زﺑﺎن دادهاي ﻓﺮﻋﻲ
•
اﻧﻮاع زﺑﺎن دادهاي
46
ﭘﺎﻳﮕﺎه دادهﻫﺎ
-1ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎهداده از آﻧﺠﺎ ﻛﻪ در ﭼﮕﻮﻧﮕﻲ ﻣﻌﻤﺎري "ﭘﺎﻳﮕﺎه داده ﻫﺎ" ﺣﺪاﻗﻞ در ﺳﺎﻟﻬﺎي آﻏﺎزﻳﻦ اﻳﺠﺎد اﻳﻦ ﺗﻜﻨﻮﻟﻮژي ،ﺑﻴﻦ ﻛﺎرﺷﻨﺎﺳﺎن اﺗﻔﺎق ﻧﻈﺮ ﻧﺒﻮد ،ﻟﺬا
ANSI/SPARC
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ
اﻫﻤﻴﺖ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ،ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ را )ﺑﻪ ﻋﻨﻮان ﻳﻚ ﻣﻌﻤﺎري اﺳﺘﺎﻧﺪارد( ﭘﻴﺸﻨﻬﺎد ﻛﺮد .اﻳﻦ ﻣﻌﻤﺎري ﺑﻪ ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﻣﻮﺳﻮم اﺳﺖ. ﺑﺎﻳﺪ ﺗﻮﺟﻪ داﺷﺖ ﻛﻪ اﻳﻦ ﺳﻪ ﺳﻄﺢ ،اﺳﺎﺳﺎً ﺳﻪ ﺳﻄﺢ "ﺗﻌﺮﻳﻒ دادهﻫﺎ" ﻫﺴﺘﻨﺪ :دو ﺳﻄﺢ ﺧﺎرﺟﻲ و ادراﻛﻲ در ﻣﺤﻴﻄﻲ اﻧﺘﺰاﻋﻲ ﻫﺴﺘﻨﺪ و ﺳﻄﺢ ﺳﻮم ﻛﻪ ﻫﻤﺎن ﺳﻄﺢ داﺧﻠﻲ اﺳﺖ در ﻣﺤﻴﻂ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ .ﺷﻜﻞ 1-3ﻧﻤﺎي ﺳﺎدهاي از ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ را ﻧﻤﺎﻳﺶ ﻣﻲدﻫﺪ.
ﺳﻄﺢ ﺧﺎرﺟﻲ
….
ﺳﻄﻮح اﻧﺘﺰاﻋﻲ
ﺳﻄﺢ ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ( -----------------------ﺳﻄﺢ داﺧﻠﻲ ﺷﻜﻞ 1-3ﻧﻤﺎي ﺳﺎده ﺷﺪه ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ
واﺿﺢ اﺳﺖ ﻛﻪ ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ﻳﻚ ﻻﻳﻪ ﭘﺎﻳﻴﻦ ﺗﺮ از ﺳﻄﺢ داﺧﻠﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد .در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده ،ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ﻧﻴﺰ ﺟﺰﺋﻲ از ﻣﻌﻤﺎري ﻣﺤﺴﻮب ﻣﻲ ﮔﺮدد. ﻧﻤﺎي ﻛﺎﻣﻠﺘﺮ ﻣﻌﻤﺎري ﭘﻴﺸﻨﻬﺎدي ﻣﻲ ﺷﻮد.
ANSI
ﺑﺮاي ﭘﺎﻳﮕﺎه داده در ﺷﻜﻞ 2-3ﻧﺸﺎن داده
47
ﻣﻌﻤﺎﺭﻱ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
آر٢ /
آرi /
D B M S
OS
د #ر"! j
د #ر"! ٢
آر١ /
د #ر"! ١
ﺳﻄﺢ ﺧﺎرﺟﻲ
ﺳﻄﻮح D B A
اﻧﺘﺰاﻋﻲ د #ادراآ! ))(!(
ﺳﻄﺢ ادراﻛﻲ
ﺳﻄﺢ داﺧﻠﻲ
د #دا!,
ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ
-#.k
......
٢-#.
١-#.
ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ﻓﺎﻳﻠﻴﻨﮓ ﻓﻴﺰﻳﻜﻲ
دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه ﺷﻜﻞ 2-3ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ
در اﻳﻦ ﻣﻌﻤﺎري ﻋﻼوه ﺑﺮ ﺳﻪ ﺳﻄﺢ ،اﺟﺰاي دﻳﮕﺮي ﻫﻢ دﻳﺪه ﻣﻲ ﺷﻮد ﻛﻪ در واﻗﻊ ﺟﺰء "ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎ" ﻫﺴﺘﻨﺪ .در اﻳﻨﺠﺎ ﺳﻪ ﺳﻄﺢ و ﻧﻴﺰ اﺟﺰاء دﻳﮕﺮ را ﻧﺎم ﻣﻲ ﺑﺮﻳﻢ: •
ﻛﺎرﺑﺮ
•
زﺑﺎن ﻣﻴﺰﺑﺎن
48
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
زﺑﺎن دادهاي ﻓﺮﻋﻲ
•
دﻳﺪ ﺧﺎرﺟﻲ
•
دﻳﺪ ادراﻛﻲ
•
دﻳﺪ داﺧﻠﻲ
•
ﻓﺎﻳﻠﻬﺎي ﻓﻴﺰﻳﻜﻲ
•
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ
در اداﻣﻪ ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ،ﺳﻄﻮح ﺳﻪ ﮔﺎﻧﻪ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ:
-2ﺷﺮح ﺳﻄﻮح ﺳﻪ ﮔﺎﻧﻪ ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺳﻤﺖ ﭼﭗ ﺗﺼﻮﻳﺮ ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﺪ ﺳﻪ ﺳﻄﺢ )دﻳﺪ( ﻣﺨﺘﻠﻒ در ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه دادﻫﻬﺎ اراﺋﻪ ﺷﺪه اﺳﺖ .اﻳﻦ ﺳﻄﻮح ﻋﺒﺎرﺗﻨﺪ از: •
دﻳﺪ )ﻧﻤﺎي( ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ(
•
دﻳﺪ )ﻧﻤﺎي( ﺧﺎرﺟﻲ
•
دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ
1-2دﻳﺪ )ﻧﻤﺎي( ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ( •
دﻳﺪ ﻳﺎ ﻧﻤﺎي ادراﻛﻲ در واﻗﻊ ﻫﻤﺎن دﻳﺪ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻧﺴﺒﺖ ﺑﻪ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ در ﭘﺎﻳﮕﺎهداده اﺳﺖ.
•
اﻳﻦ دﻳﺪ ﻳﻚ دﻳﺪ ﺟﺎﻣﻊ )ﺳﺮﺗﺎﺳﺮي( ﺑﻮده و ﺗﻤﺎم ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان در ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ را در ﺑﺮ ﻣﻲﮔﻴﺮد.
•
اﻳﻦ دﻳﺪ در ﻳﻚ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﻣﻄﺮح اﺳﺖ :ﺑﻨﺎﺑﺮﻳﻦ ﻣﺒﺘﻨﻲ اﺳﺖ ﺑﺮ ﻳﻚ ﺳﺎﺧﺘﺎر دادهاي ﻣﺸﺨﺺ )از ﻳﻚ ﻣﺪل دادهاي ﻛﻪ اﻧﺘﺰاع ﻻزم را ﺗﺎﻣﻴﻦ ﻣﻲﻛﻨﺪ(.
•
اﻳﻦ دﻳﺪ ،ﺑﺎ ﺳﺎﺗﻔﺎده از ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ ﻫﻤﺎن ﺳﺎﺧﺘﺎر دادهاي ،ﻃﺮاﺣﻲ ﻣﻲﺷﻮد.
ﻣﻌﻤﺎﺭﻱ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ •
49
اﻳﻦ دﻳﺪ ﺑﺎﻳﺪ )ﭘﺲ از ﻃﺮاﺣﻲ ﻃﺒﻌﺎ( ﺗﻮﺻﻴﻒ ﺷﻮد .ﺑﻪ وﺻﻒ ﻳﺎ ﺷﺮح دﻳﺪ ادراﻛﻲ ،ﺷﻤﺎي ادراﻛﻲ ﻣﻲﮔﻮﻳﻴﻢ .ﺷﻤﺎي ادراﻛﻲ ﻧﻮﻋﻲ "ﺑﺮﻧﺎﻣﻪ" اﺳﺖ ﺣﺎوي دﺳﺘﻮرات "ﺗﻌﺮﻳﻒ دادهﻫﺎ" و "ﻛﻨﺘﺮل دادهﻫﺎ" )و ﻧﻪ دﺳﺘﻮرات ﻋﻤﻠﻴﺎت در دادهﻫﺎ( .ﺳﻄﺢ ادراﻛﻲ در واﻗﻊ ﻫﻤﻴﻦ ﺷﻤﺎي ادراﻛﻲ اﺳﺖ.
•
ﺷﻤﺎي ادراﻛﻲ ﺑﻪ ﺳﻴﺴﺘﻢ داده ﻣﻲﺷﻮد و در ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﻧﮕﻬﺪاري ﻣﻲﺷﻮد.
ﺑﻪ ﺑﻴﺎﻧﻲ ﺳﺎده ،دﻳﺪ ادراﻛﻲ ﻫﻤﺎن ﺗﻌﺮﻳﻒ ﺟﺪول ﻣﻲ ﺑﺎﺷﺪ .ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲ ﺧﻮاﻫﻴﺪ ﻳﻚ ﻣﻮﺟﻮدﻳﺖ ﻣﺜﻞ داﻧﺸﺠﻮ را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ .ﺗﻌﺮﻳﻒ ﺟﺪول ﻣﺮﺑﻮﻃﻪ ﺑﻪ ﻫﻤﺮاه ﻓﻴﻠﺪﻫﺎ )ﺻﻔﺎت ﺧﺎﺻﻪ( آن ﻣﻮﺟﻮدﻳﺖ در ﻳﻚ ﭘﺎﻳﮕﺎه داده ،در ﺑﺤﺚ دﻳﺪ ادراﻛﻲ دﺳﺘﻪ ﺑﻨﺪي ﻣﻲ ﺷﻮد.
2-2دﻳﺪ )ﻧﻤﺎي( ﺧﺎرﺟﻲ دﻳﺪ ﻳﺎ ﻧﻤﺎي ﺧﺎرﺟﻲ در ﻛﺘﺐ ﻣﺨﺘﻠﻒ ﺑﺎ ﻋﺒﺎرات ﻣﺨﺘﻠﻔﻲ ﺗﻮﺿﻴﺢ داده ﺷﺪه اﺳﺖ .در اداﻣﻪ ﭼﻨﺪ ﺗﻌﺮﻳﻒ از دﻳﺪ ﺧﺎرﺟﻲ ﻣﻄﺮح ﺷﺪه اﺳﺖ: •
ﻣﻔﻬﻮم دﻳﺪ ﻳﺎ ﻧﻤﺎي ﺧﺎرﺟﻲ در واﻗﻊ ﻫﻤﺎن ﻣﻔﻬﻮﻣﻲاﺳﺖ ﻛﻪ در ﺗﺤﻠﻴﻞ و ﻃﺮاﺣﻲ ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﻜﺎر ﺑﺮده ﻣﻲﺷﻮد .در اداﻣﻪ ﺗﻌﺎرﻳﻒ و ﻧﻜﺎﺗﻲ در ﻣﻮرد دﻳﺪ ﺧﺎرﺟﻲ آﻣﺪه اﺳﺖ:
•
دﻳﺪ ﻛﺎرﺑﺮ ﺧﺎص اﺳﺖ ﻧﺴﺒﺖ ﺑﻪ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
اﻳﻦ دﻳﺪ ﺟﺰﻳﻲ اﺳﺖ و ﻧﻪ ﺟﺎﻣﻊ :ﻧﺸﺎن دﻫﻨﺪه "ﻣﺤﺪودهاي " از ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻛﻪ ﺑﻪ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ ﻳﻚ ﻛﺎرﺑﺮ ﺧﺎص ﭘﺎﺳﺦ ﻣﻲدﻫﺪ.
•
اﻳﻦ دﻳﺪ ﻫﻢ در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ ﻣﻄﺮح اﺳﺖ :ﺑﻨﺎﺑﺮﻳﻦ ﻣﺒﺘﻨﻲ اﺳﺖ ﺑﺮ ﻳﻚ ﺳﺎﺧﺘﺎر دادهاي ﻣﺸﺨﺺ و ﻣﻌﻤﻮﻻً ﻫﻤﺎن ﺳﺎﺧﺘﺎر دادهاي ﻛﻪ دﻳﺪ ادراﻛﻲ ﺑﺮ اﺳﺎس آن ﻃﺮاﺣﻲ و ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد.
•
اﻳﻦ دﻳﺪ روي دﻳﺪ ادراﻛﻲ ﻃﺮاﺣﻲ و ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد )ﺑﻪ ﻫﻤﻴﻦ دﻟﻴﻞ ﺑﻪ ﺟﺪوﻟﻬﺎي ﺳﻄﺢ ادراﻛﻲ ،ﺟﺪوﻟﻬﺎي ﻣﺒﻨﺎ ﻳﺎ ﭘﺎﻳﻪ ﻣﻲﮔﻮﻳﻨﺪ(.
•
ﺑﻪ وﺻﻒ ﻳﺎ ﺗﻌﺮﻳﻒ دﻳﺪ ﺧﺎرﺟﻲ ،ﺷﻤﺎي ﺧﺎرﺟﻲ ﻣﻲﮔﻮﻳﻴﻢ :ﻧﻮﻋﻲ "ﺑﺮﻧﺎﻣﻪ " ﻛﻪ ﻛﺎرﺑﺮ ﺳﻄﺢ ﺧﺎرﺟﻲ ﻣﻲﻧﻮﻳﺴﺪ ﺣﺎوي دﺳﺘﻮرات "ﺗﻌﺮﻳﻒ دادهﻫﺎ " و ﮔﺎه
50
ﭘﺎﻳﮕﺎه دادهﻫﺎ
"ﻛﻨﺘﺮل دادهﻫﺎ" در ﻫﻤﺎن ﺳﻄﺢ ﺧﺎرﺟﻲ .ﺷﻤﺎي ﺧﺎرﺟﻲ ﻫﻢ ﺑﻪ ﺳﻴﺴﺘﻢ داده ﻣﻲﺷﻮد و در ﻛﺎﺗﺎﻟﻮگ آن ﻧﮕﻬﺪاري ﻣﻲﺷﻮد. •
ﺑﻪ ﺗﻌﺮﻳﻒ ﻣﺠﻤﻮﻋﻪ دﻳﺪﻫﺎي ﺧﺎرﺟﻲ ﻛﺎرﺑﺮ ،ﺳﻄﺢ ﺧﺎرﺟﻲ ﮔﻔﺘﻪ ﻣﻲﺷﻮد.
ﺷﻜﻞ 3-3ﺷﻤﺎﻳﻲ از ﻧﺎﻳﻜﺴﺎﻧﻲ ﺳﺎﺧﺘﺎر دادﻫﺎي در ﺳﻄﻮح ادراﻛﻲ و ﺧﺎرﺟﻲ
ﻧﻜﺘﻪ :ﺣﺪاﻗﻞ از ﻟﺤﺎظ ﻧﻈﺮي ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ ﺳﺎﺧﺘﺎر )ﻣﺪل( داده اي در دو ﺳﻄﺢ اﻧﺘﺰاﻋﻲ ﻳﻌﻨﻲ ﺳﻄﺢ ﺧﺎرﺟﻲ و ﺳﻄﺢ ادراﻛﻲ ﻣﻲ ﺗﻮاﻧﺪ ﻳﻜﺴﺎن ﻧﺒﺎﺷﺪ .ﺑﺎ اﻳﻦ وﺻﻒ، ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻳﻚ ﻧﺮم اﻓﺰار واﺳﻂ ﺑﺮاي ﺗﺒﺪﻳﻞ دو ﺳﺎﺧﺘﺎر ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻻزم اﺳﺖ. ﺷﻜﻞ زﻳﺮ ﺗﻔﺎوت ﺑﻴﻦ ﺳﺎﺧﺘﺎرﻫﺎي داده اي دو دﻳﺪ را ﻣﺸﺨﺺ ﻣﻲ ﻛﻨﺪ .ﻋﻨﺎوﻳﻦ ذﻛﺮ ﺷﺪه در ﺳﻄﺢ ادراﻛﻲ ،در ﻣﻮرد ﺳﺎﺧﺘﺎرﻫﺎي داده اي اﺳﺖ ﻛﻪ در ﻓﺼﻞ ﺑﻌﺪ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ.
3-2دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ ﺳﻄﺢ داﺧﻠﻲ ،ﻫﻤﺎن ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه داده ﻫﺎﺳﺖ .ﻣﻌﻨﺎﻳﺶ اﻳﻦ اﺳﺖ ﻛﻪ DBMS
ﺑﻪ ﺟﻨﺒﻪﻫﺎي ﻓﺎﻳﻠﻴﻨﮓ ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻧﻤﻲ ﭘﺮدازد .اﻳﻦ ﻛﺎر ﺑﺮ ﻋﻬﺪه
"ﺳﻴﺴﺘﻢ ﻓﺎﻳﻞ ﻓﻴﺰﻳﻜﻲ" در ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ اﺳﺖ .در واﻗﻊ،
DBMS
در ﻣﺤﻴﻂ ﻓﺎﻳﻠﻴﻨﮓ
ﻣﻌﻤﺎﺭﻱ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
51
ﻣﻨﻄﻘﻲ ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ ،ﻛﻢ و ﺑﻴﺶ ﺷﺒﻴﻪ ﺑﺮﻧﺎﻣﻪ ﻓﺎﻳﻞ ﭘﺮداز ﻛﻪ در ﺳﻄﺢ ﻣﻨﻄﻘﻲ و ﻧﻪ ﻓﻴﺰﻳﻜﻲ ،ﻛﺎر ﻣﻲ ﻛﻨﺪ.
ﺷﻜﻞ 4-3ﻃﺮح ﺷﻤﺎﺗﻴﻚ از ذﺧﻴﺮه ﺳﺎزي ﻓﺎﻳﻠﻬﺎ در ﻣﺤﻴﻂ
DBMS
در اداﻣﻪ ﺗﻮﺿﻴﺤﺎﺗﻲ در ﺧﺼﻮص دﻳﺪ داﺧﻠﻲ اراﺋﻪ ﺷﺪه اﺳﺖ: •
دﻳﺪ
DBMS
)و ﻧﻴﺰ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ( اﺳﺖ در ﺳﻄﺢ ﭘﺎﻳﻴﻦ ﺗﺮ از ﺳﻄﺢ
ادراﻛﻲ ،ﻧﺴﺒﺖ ﺑﻪ ﻛﻞ دادﻫﻬﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ در ﭘﺎﻳﮕﺎهدادهﻫﺎ. •
اﻳﻦ دﻳﺪ در ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ )و ﮔﺎه ﻣﺠﺎزي( ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻣﻄﺮح اﺳﺖ.
52
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
اﻳﻦ دﻳﺪ ﻣﺒﺘﻨﻲ اﺳﺖ ﺑﺮﻳﻚ )و ﮔﺎه ﺑﻴﺶ از ﻳﻚ( ﺳﺎﺧﺘﺎر ﻓﺎﻳﻞ ﻛﻪ ﻣﻌﻤﻮﻻً ﺑﺎ ﻧﻈﺮ و دﺧﺎﻟﺖ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻃﺮاﺣﻲ ﻣﻲﺷﻮد .اﻳﻦ ﻃﺮاﺣﻲ ،اﺻﻄﻼﺣﺎ ﺑﻪ ﻃﺮاﺣﻲ ﻓﻴﺰﻳﻜﻲ ﻣﻮﺳﻮم اﺳﺖ.
•
ﺳﻄﺢ داﺧﻠﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ ،در واﻗﻊ ﺳﻄﺤﻲ اﺳﺖ ﻛﻪ در آن ﻓﺎﻳﻠﻬﺎي ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد.
•
ﺑﻪ ﺷﺮح ﻳﺎ ﺗﻌﺮﻳﻒ دﻳﺪ داﺧﻠﻲ ،ﺷﻤﺎي داﺧﻠﻲ ﮔﻔﺘﻪ ﻣﻲﺷﻮد :ﻧﻮﻋﻲ "ﺑﺮﻧﺎﻣﻪ" ﻛﻪ ﺗﻮﺳﻂ ﺧﻮد ) DBMSو ﺗﺎ ﺣﺪي ﺑﺎ دﺧﺎﻟﺖ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ( ﺗﻮﻟﻴﺪ ﻣﻲﺷﻮد و ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﮔﻔﺘﻴﻢ ﺷﺮح ﻳﺎ ﺗﻮﺻﻴﻒ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه اﺳﺖ ﻛﻪ در واﻗﻊ ﻫﻤﺎن ﺳﻄﺢ داﺧﻠﻲ اﺳﺖ.
ﺷﻜﻞ 5-3ﺷﻤﺎﻳﻲ از ﺗﻔﺎوت ﺳﻄﻮح ﻣﻌﻤﺎري ﺑﻴﻦ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎﻫﻲ و ﻧﺎﭘﺎﻳﮕﺎﻫﻲ
ﻣﻌﻤﺎﺭﻱ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
ﻧﻜﺘﻪ :در ﺑﻌﻀﻲ از ﺳﻴﺴﺘﻢﻫﺎي ﭘﺎﻳﮕﺎﻫﻲ،
DBMS
53
ﻛﻞ ﻓﻀﺎي ﭘﺎﻳﮕﺎه دادهﻫﺎ را ﺑﻪ
ﺻﻮرت ﻣﺠﻤﻮﻋﻪ اي از ﻣﺠﻤﻮﻋﻪ ﺻﻔﺤﺎت ﻣﻲ ﺑﻴﻨﺪ ،ﻳﻌﻨﻲ ﻧﻮﻋﻲ ﻧﻤﺎي ﻣﺠﺎزي از داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎه دارد .اﻳﻦ ﻧﻤﺎي ﻣﺠﺎزي ﺑﺎﻻﺗﺮ از ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد .در واﻗﻊ ﺑﻴﻦ ﺳﻄﺢ ﻧﻤﺎي ﻣﺠﺎزي و ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻓﻴﺰﻳﻜﻲ ،ﻳﻚ ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ واﺳﻂ اﺳﺖ .اﻳﻦ ﺳﻪ ﺳﻄﺢ در ﺷﻜﻞ 4-3ﻧﻤﺎﻳﺶ داده ﺷﺪه اﺳﺖ. ﻧﻜﺘﻪ :ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ دﻳﺪﻫﺎي ﺳﻪ ﮔﺎﻧﻪ اراﺋﻪ ﺷﺪه در ﭘﺎﻳﮕﺎه داده ،اﻛﻨﻮن ﺗﻔﺎوت ﺳﻄﻮح ﻣﻌﻤﺎري ﺑﻴﻦ ﻣﺤﺒﻂ ﭘﺎﻳﮕﺎﻫﻲ و ﻧﺎﭘﺎﻳﮕﺎﻫﻲ ﺑﻬﺘﺮ ﻧﻤﺎﻳﺎن ﻣﻲ ﮔﺮدد .ﺷﻜﻞ زﻳﺮ اﻳﻦ ﺗﻔﺎوت را ﻧﻤﺎﻳﺎن ﻣﻲ ﻛﻨﺪ.
-3ﺳﺎﻳﺮ اﺟﺰاء ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﻐﻴﺮ از ﺳﻪ دﻳﺪ اﺻﻠﻲ اراﺋﻪ ﺷﺪه در ﺑﺎﻻ ،اﺟﺰاء دﻳﮕﺮي ﻧﻴﺰ در ﭘﺎﻳﮕﺎه داده وﺟﻮد دارﻧﺪ ﻛﻪ ﻋﺒﺎرﺗﻨﺪ از: •
ﻛﺎرﺑﺮ
•
زﺑﺎن ﻣﻴﺰﺑﺎن
•
زﺑﺎن دادهاي ﻓﺮﻋﻲ
1-3ﻛﺎرﺑﺮ در ﻣﻌﻨﺎي ﻋﺎم ،ﻫﺮ اﺳﺘﻔﺎده ﻛﻨﻨﺪه از ﭘﺎﻳﮕﺎه داده ﻫﺎ را ﻛﺎرﺑﺮ ﮔﻮﻳﻴﻢ .ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ در ﺑﻌﻀﻲ از ﻛﺘﺐ ﻛﺎرﺑﺮان ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﺮ ﺣﺴﺐ ﻧﻮع ﻛﺎر دﺳﺘﻪ ﺑﻨﺪي ﻣﻲ ﮔﺮدﻧﺪ ،در اﻳﻨﺠﺎ ﻛﻠﻤﻪ ﻛﺎرﺑﺮ ﺑﺼﻮرت ﻋﺎم اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ و از ذﻛﺮ اﻧﻮاع ﻛﺎرﺑﺮ ﺧﻮدداري ﺷﺪه اﺳﺖ.
2-3زﺑﺎن ﻣﻴﺰﺑﺎن ﻳﻜﻲ از زﺑﺎﻧﻬﺎي ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﻗﺎدر ﺑﻪ ﺑﺮﻗﺮاري ارﺗﺒﺎط و اﻧﺘﻘﺎل دﺳﺘﻮرات ﺑﻴﻦ ﺧﻮد و ﭘﺎﻳﮕﺎه داده ﺑﺎﺷﺪ .واﺿﺢ اﺳﺖ ﻛﻪ ﻫﺮﭼﻪ ﺗﻌﺪاد زﺑﺎﻧﻬﺎي ﻣﻴﺰﺑﺎن ﻣﻮرد ﭘﺬﻳﺮش DBMSﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ ،ﻣﻮارد ذﻳﻞ ﺗﺎﻣﻴﻦ ﻣﻲ ﮔﺮدد:
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
ﻣﻌﻤﺎﺭﻱ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩﻫﺎ
55
زﺑﺎن ﻣﻴﺰﺑﺎن ﻳﺎ ﻋﺪم ﻧﻴﺎز ﺑﻪ آن ،ﺑﻪ دو رده ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮد: •
ﻣﺴﺘﻘﻞ ﻳﺎ ﺧﻮد ﻛﻔﺎ
•
ادﻏﺎم ﺷﺪﻧﻲ )ادﻏﺎم ﺷﺪه(
DDL
ﺳﻄﺢ ﺧﺎرﺣﻲ
DML
ﺳﻄﺢ ادراﻛﻲ
DCL
ﺳﻄﺢ داﺧﻠﻲ
ﻣﻌﻤﺎري ANSI
ﺷﻜﻞ 7-3ارﺗﺒﺎط ﺑﻴﻦ ﮔﺮوهﻫﺎي دﺳﺘﻮري ﻣﺨﺘﻠﻒ و ﺳﻄﻮح ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهداده
زﺑﺎن ﻣﺴﺘﻘﻞ زﺑﺎﻧﻲ اﺳﺖ ﻛﻪ ﻧﻴﺎز ﺑﻪ زﺑﺎن ﻣﻴﺰﺑﺎن ﻧﺪارد و ﺧﻮد ﺑﻪ ﺻﻮرت ﺗﻌﺎﻣﻠﻲ )اﻧﺪر ﻛﻨﺸﻲ( اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد و آن را
I.DSL
ﮔﻮﻳﻴﻢ.
زﺑﺎن ادﻏﺎم ﺷﺪﻧﻲ زﺑﺎﻧﻲ اﺳﺖ ﻛﻪ دﺳﺘﻮرﻫﺎﻳﺶ )ﺑﻪ ﻧﺤﻮي( در ﻣﺘﻦ ﺑﺮﻧﺎﻣﻪاي ﺑﻪ زﺑﺎن ﻣﻴﺰﺑﺎن ﺑﻜﺎر ﻣﻲ روﻧﺪ و ﻣﺴﺘﻘﻼ ﻗﺎﺑﻞ اﺳﺘﻔﺎده ﻧﻴﺴﺘﻨﺪ و آن را E.DSLﮔﻮﻳﻴﻢ. ﻧﻜﺘﻪ :زﺑﺎن داده اي ﻓﺮﻋﻲ ﻣﻤﻜﻦ اﺳﺖ ﻫﻢ ﻣﺴﺘﻘﻞ و ﻫﻢ ادﻏﺎم ﺷﺪﻧﻲ ﺑﺎﺷﺪ).(I/E.DSL
56
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺗﻤﺮﻳﻨﺎت .1دﻳﺪﻫﺎي ﺳﻪ ﮔﺎﻧﻪ اراﺋﻪ ﺷﺪه در ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .2دﻳﺪ )ﻧﻤﺎي( ادارﻛﻲ را ﺷﺮح دﻫﻴﺪ ؟ .3دﻳﺪ )ﻧﻤﺎي( ﺧﺎرﺟﻲ را ﺷﺮح دﻫﻴﺪ ؟ .4دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ را ﺷﺮح دﻫﻴﺪ ؟ .5اﻧﻮاع دﺳﺘﻮرات زﺑﺎن داده اي ﻓﺮﻋﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .6زﺑﺎن ﻣﺴﺘﻘﻞ ﺑﻪ ﭼﻪ ﻣﻌﻨﻲ اﺳﺖ ؟ .7زﺑﺎن ادﻏﺎم ﺷﺪﻧﻲ را ﺷﺮح دﻫﻴﺪ ؟
ﻓﺼﻞ ۴ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎﻩﺩﺍﺩﻩ ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺗﻌﺮﻳﻒ و ﺳﻪ ﺑﺨﺶ اﺻﻠﻲ آن ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ .ﺳﭙﺲ ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ از ﺟﻬﺎت ﻣﺨﺘﻠﻒ ﻣﻮرد دﺳﺘﻪ ﺑﻨﺪي ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ .در اداﻣﻪ اﺟﺰاء ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻣﻌﺮﻓﻲ ﺷﺪه و ﻛﺎﺗﺎﻟﻮگ ﻳﺎ دﻳﻜﺸﻨﺮي ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺗﻮﺿﻴﺢ داده ﺧﻮاﻫﺪ ﺷﺪ. ﺳﭙﺲ ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺨﺘﻠﻒ ﻣﻮرد ﻧﻴﺎز ﺟﻬﺖ ﺷﻨﺎﺧﺖ اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ
DBMS
DBMS
ﻣﻄﺮح ﺷﺪه و ﻣﺤﻮر ﻫﺎي
ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ .در ﭘﺎﻳﺎن ﻧﻴﺰ ﺟﺎﻳﮕﺎه ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده
ﺗﺸﺮﻳﺢ ﺷﺪه و ﺗﻴﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﺷﺮح داده ﺧﻮاﻫﺪ ﺷﺪ.
ﻫﺪف رﻓﺘﺎري در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﺑﺨﺶ ﺳﺎﺧﺘﺎري
•
ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ
•
ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ
•
رده ﺑﻨﺪي ﺳﻴﺴﺘﻢﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
اﺟﺰاء ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻧﻤﺎي ﺑﻴﺮوﻧﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ
58
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻧﻤﺎي دروﻧﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻻﻳﻪ ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهداده
•
ﻻﻳﻪ ﻫﺴﺘﻪ ﭘﺎﻳﮕﺎهداده
•
ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ و دﻳﻜﺸﻨﺮي دادهﻫﺎ :ﻣﺘﺎ دادهﻫﺎ
•
ﭘﺎراﻣﺘﺮﻫﺎي ﺷﻨﺎﺧﺖ
•
ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﺳﻄﺢ داﺧﻠﻲ -ﻓﻴﺰﻳﻜﻲ
•
ﺳﻄﺢ ادراﻛﻲ
•
ﺳﻄﺢ ﺧﺎرﺟﻲ
•
ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن دادهاي ﻓﺮﻋﻲ
•
ﻣﺤﻮرﻫﺎي اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ DBMSﻫﺎ
•
ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده
•
ﺗﻴﻢ ،DBAوﻇﺎﻳﻒ و ﻣﺴﺌﻮﻟﻴﺖﻫﺎ ي آن
DBMS
)(DBA
-1ﺗﻌﺮﻳﻒ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻳﻜﻲ از اﻧﻮاع ﻧﺮم اﻓﺰارﻫﺎي واﺳﻄﻪ ﺑﻴﻦ ﻣﺤﻴﻂ ﻓﻴﺰﻳﻜﻲ ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت و ﻣﺤﻴﻂ ﻣﻨﻄﻘﻲ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي اﺳﺖ اﻳﻦ ﻧﺮم اﻓﺰار ﺑﻪ ﻛﺎرﺑﺮ ﺑﺮﻧﺎﻣﻪ ﺳﺎز اﻣﻜﺎن ﻣﻲ دﻫﺪ ﺗﺎ: •
ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺧﻮد را ﺗﻌﺮﻳﻒ واﻳﺠﺎد ﻛﻨﺪ.
•
در ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺧﻮد ﻋﻤﻠﻴﺎت اﻧﺠﺎم دﻫﺪ.
•
روي ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺧﻮد ﺗﺎ ﺣﺪي ﻛﻨﺘﺮل داﺷﺘﻪ ﺑﺎﺷﺪ.
ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ در ﻣﺤﻴﻂ ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ .ﺷﻤﺎي ﺳﺎده اي از ﺟﺎﻳﮕﺎه اﻳﻦ ﻧﺮم اﻓﺰار در ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻮﺗﺮي در ﺷﻜﻞ زﻳﺮ ﻧﺸﺎن داده ﺷﺪه اﺳﺖ:
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
59
ﺷﻜﻞ 1-4ﺟﺎﻳﮕﺎه DBMSدر ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي
ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده واﻗﻌﻲ ﺑﺎﻳﺪ اﻣﻜﺎن اﻧﺠﺎم اﻳﻦ ﺳﻪ ﻓﻌﺎﻟﻴﺖ اﺳﺎﺳﻲ را ﻗﺒﻞ از ﻫﺮ ﭼﻴﺰ در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﺑﻪ ﻛﺎرﺑﺮ ﺑﺪﻫﺪ .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ ﭘﺎﻳﮕﺎه داده از ﺳﻪ ﺑﺨﺶ اﺻﻠﻲ ﺑﻪ ﺷﺮح ذﻳﻞ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ: •
ﺑﺨﺶ ﺳﺎﺧﺘﺎري
•
ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ
•
ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ
ﺑﺨﺶ ﺳﺎﺧﺘﺎري ﺷﺎﻣﻞ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﻣﺪل اﺳﺖ ﻛﻪ ﻫﻤﺎن ﺳﺎﺧﺘﺎر داده اي اﺻﻠﻲ و ﻣﻔﺎﻫﻴﻢ ﻣﺮﺗﺒﻂ ﺑﺎ آن اﺳﺖ.
ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ ﻣﺠﻤﻮﻋﻪ اﻣﻜﺎﻧﺎﺗﻲ اﺳﺖ ﻛﻪ ﺑﻪ وﺳﻴﻠﻪ آﻧﻬﺎ ﻋﻤﻠﻴﺎت ﻣﻮرد ﻧﻈﺮ ﻛﺎرﺑﺮ ،از ﺟﻤﻠﻪ ﺑﺎزﻳﺎﺑﻲ و ذﺧﻴﺮه ﺳﺎزي ،در ﻛﺎدر ﺳﺎﺧﺘﺎر داده اي و ﻣﺒﺘﻨﻲ ﺑﺮ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎر اﺳﺎﺳﻲ آن اﻧﺠﺎم ﻣﻲ ﺷﻮد.
ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ از ﻣﺠﻤﻮﻋﻪ اي از ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از آن ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻣﻲ ﺗﻮاﻧﺪ ﺻﺤﺖ ،دﻗﺖ و ﺳﺎزﮔﺎري دادهﻫﺎ را در ﻫﺮ ﻟﺤﻈﻪ از ﺣﻴﺎت ﭘﺎﻳﮕﺎه داده ﻫﺎ ،ﻛﻨﺘﺮل و ﺗﻈﻤﻴﻦ ﻛﻨﺪ.
60
ﭘﺎﻳﮕﺎه دادهﻫﺎ
-2رده ﺑﻨﺪي ﺳﻴﺴﺘﻢﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده را ﻣﻲ ﺗﻮان ﺑﻪ ﭼﻨﺪﻳﻦ ﺻﻮرت دﺳﺘﻪ ﺑﻨﺪي ﻧﻤﻮد .اﻳﻦ دﺳﺘﻪ ﺑﻨﺪي ﻫﺎ در ذﻳﻞ آﻣﺪه اﻧﺪ:
از ﻧﻈﺮ ﻣﺪل دادهاي •
ﺳﻴﺴﺘﻢ راﺑﻄﻪاي
•
ﺳﻴﺴﺘﻢ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
•
ﺳﻴﺴﺘﻢ ﺷﺒﻜﻪاي
از ﻧﻈﺮ ﻣﺤﻴﻂ ﺳﺨﺖاﻓﺰاري •
ﻗﺎﺑﻠﻴﺖ اﺟﺮا ﺑﺮ روي ﻳﻚ ﺳﺨﺖاﻓﺰار ﺧﺎص
•
ﻗﺎﺑﻠﻴﺖ اﺟﺮا ﺑﺮ روي ﺳﺨﺖاﻓﺰارﻫﺎي ﻣﺘﻨﻮع
از ﻧﻈﺮ رده ﺑﻨﺪي ﻛﺎﻣﭙﻴﻮﺗﺮ 1
•
ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺑﺰرگ و ﺧﻴﻠﻲ ﺑﺰرگ
•
ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺘﻮﺳﻂ
•
ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺷﺨﺼﻲ
•
ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي اﻧﻮاع ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ
2
از ﻧﻈﺮ ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ •
واﺑﺴﺘﻪ ﺑﻪ ﻳﻚ ﻧﻮع ﺧﺎص از ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
•
ﻋﺪم واﺑﺴﺘﮕﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ و ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﭼﻨﺪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
از ﻧﻈﺮ ﻧﻮع ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ •
داراي ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهداده ﻣﺘﻤﺮﻛﺰ
•
داراي ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهداده ﻧﺎ ﻣﺘﻤﺮﻛﺰ
1. M a in f r a me 2. Su p e r C o mp u t e r
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
از ﻧﻈﺮ ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار
61
1
•
ﺗﻮاﻧﺎﻳﻲ در اراﺋﻪ ﻣﻌﻤﺎري ﻳﻚ ﺧﺪﻣﺘﮕﺰار -ﭼﻨﺪ ﻣﺸﺘﺮي
•
ﺗﻮاﻧﺎﻳﻲ در اراﺋﻪ ﻣﻌﻤﺎري ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار -ﭼﻨﺪ ﻣﺸﺘﺮي
از ﻧﻈﺮ ﺳﻴﺴﺘﻢ ﻓﺎﻳﻞ •
ﻣﺴﺘﻘﻞ از ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﺮﺑﻮط ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
•
واﺑﺴﺘﻪ ﺑﻪ ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
از ﻧﻈﺮ ﻣﺘﺪوﻟﻮژي زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ •
ﺑﺪون ﻣﺘﺪوﻟﻮژي ﺷﻴﺊ ﮔﺮاﻳﻲ
•
داراي ﻣﺘﺪوﻟﻮژي ﺷﻴﺊ ﮔﺮاﻳﻲ
از ﻧﻈﺮ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ و درﺧﻮاﺳﺖﻫﺎي ﻛﺎرﺑﺮ •
داراي ﺑﻬﻴﻨﻪ ﺳﺎز ﻣﺘﻌﺎرف
•
داراي ﺑﻬﻴﻨﻪ ﺳﺎز ﻣﺒﺘﻨﻲ ﺑﺮ ﻗﺎﻋﺪه ،ﻣﻌﻨﺎﻳﻲ و...
از ﻧﻈﺮ ﻧﻮع ﺗﺮاﻛﻨﺶ •
ﭘﺬﻳﺮﻧﺪه ﺗﺮاﻛﻨﺸﻬﺎي ﺳﺎده و ﺗﻚ ﺳﻄﺤﻲ
•
ﭘﺬﻳﺮﻧﺪه ﺗﺮاﻛﻨﺸﻬﺎي ﺑﺎ ﻣﺪل ﭘﻴﺸﺮﻓﺘﻪ )ﻣﺜﻼ ﺗﻮدرﺗﻮ ،زﻧﺠﻴﺮهاي و(...
از ﻧﻈﺮ ﻧﻮع ﭘﺮدازش •
ﺑﺎ ﻗﺎﺑﻠﻴﺖ ﭘﺮدازش ﺑﻲ درﻧﮓ
•
ﻓﺎﻗﺪ اﻳﻦ ﻗﺎﺑﻠﻴﺖ
-3اﺟﺰاء ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ اﻳﻦ ﻧﺮم اﻓﺰار ،ﻣﺜﻞ ﻫﺮ ﻧﺮم اﻓﺰار ﻧﻴﻤﻪ ﺑﻨﻴﺎدي دﻳﮕﺮ از واﺣﺪﻫﺎﻳﻲ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ. ﺗﻌﺪاد واﺣﺪﻫﺎ و ﺣﺠﻢ ﻫﺮ واﺣﺪ ﻧﺮم اﻓﺰاري ﺑﺴﺘﮕﻲ ﺑﻪ ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در اﻧﺠﺎم ﻛﺎرﻫﺎ 1. C li e n t - Se r ve r Ar c h i t e c t u r e
62
ﭘﺎﻳﮕﺎه دادهﻫﺎ
و اراﺋﻪ ﺧﺪﻣﺎت ﺑﻪ ﻛﺎرﺑﺮان دارد .در اداﻣﻪ واﺣﺪﻫﺎي اﺻﻠﻲ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻌﺮﻓﻲ ﺧﻮاﻫﻴﻢ ﻛﺮد.
1-3ﻧﻤﺎي ﺑﻴﺮوﻧﻲ ﻧﻤﺎي ﺑﻴﺮوﻧﻲ ،از واﺣﺪﻫﺎي اﺻﻠﻲ زﻳﺮ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ: •
واﺣﺪ ﭘﺮدازﺷﮕﺮ "ﭘﺮﺳﺶﻫﺎ"
•
واﺣﺪ ﭘﺮدازﺷﮕﺮ "ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي"
•
واﺣﺪاﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه.
ﺷﻜﻞ 2-4ﻧﻤﺎي ﺑﻴﺮوﻧﻲ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
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
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
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده •
65
دادهﻫﺎي ﺣﺎوي اﻃﻼﻋﺎت در ﻣﻮرد دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎهداده ،ﺑﻪ ﻣﺘﺎ دادهﻫﺎ ﻣﻮﺳﻮﻣﻨﺪ.
•
در ﺑﻌﻀﻲ از ﻛﺘﺎبﻫﺎ ﺑﻪ ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﮔﺎه دﻳﻜﺸﻨﺮي دادهﻫﺎ ﻫﻢ ﮔﻔﺘﻪ ﻣﻲﺷﻮد، اﻣﺎ در واﻗﻊ دﻳﻜﺸﻨﺮي دادهﻫﺎ ﺣﺎوي اﻃﻼﻋﺎت ﺑﻴﺸﺘﺮي اﺳﺖ.
•
ﻣﺘﺎ دادهﻫﺎ ﻣﻌﻤﻮﻻً از دﻳﺪ ﻛﺎرﺑﺮ ﺳﻄﺢ ﺧﺎرﺟﻲ ﻧﻬﺎناﻧﺪ ،اﻣﺎ ﻣﺪﻳﺮ ﺳﻴﺴﺘﻢ و ﻳﺎ ﻛﺎرﺑﺮ ﻣﺠﺎز ،ﻣﻲﺗﻮاﻧﺪ ﺗﺎ ﺣﺪي از ﻣﺤﺘﻮاي ﻛﺎﺗﺎﻟﻮگ آﮔﺎه ﺷﻮد.
•
ﺳﺎﺧﺘﺎر و ﻣﺤﺘﻮاي ﻛﺎﺗﺎﻟﻮگ و دﻳﮕﺸﻨﺮي دادهﻫﺎ در ﺳﻴﺴﺘﻢﻫﺎي ﻣﺨﺘﻠﻒ ﻳﻜﺴﺎن ﻧﻴﺴﺖ .اﻣﺎ ﺑﻪ ﻃﻮر ﻛﻠﻲ ،اﻃﻼﻋﺎت زﻳﺮ در آﻧﻬﺎ ذﺧﻴﺮه ﻣﻲﺷﻮد:
دﻳﻜﺸﻨﺮي داده ﻫﺎ ﻣﻌﻤﻮﻻً ﺟﺰﻳﻲ از ﺧﻮد ﺳﻴﺴﺘﻢ اﺳﺖ و اﻃﻼﻋﺎت زﻳﺮ در آﻧﻬﺎ ﻧﮕﻬﺪاري ﻣﻲ ﺷﻮد: •
ﺷﻤﺎﻫﺎي ﺧﺎرﺟﻲ
•
ﺷﻤﺎي ادراﻛﻲ
•
ﺷﻤﺎي داﺧﻠﻲ
•
روﻳﻪﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺗﺒﺪﻳﻼت ﺑﻴﻦ ﺳﻪ ﺳﻄﺢ ﻣﻌﻤﺎري
•
ﺷﺮح ﺳﺎﺧﺘﺎر ﻓﻴﺰﻳﻜﻲ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه
•
ﻣﺸﺨﺼﺎت ﻛﺎرﺑﺮان و ﺣﻘﻮق دﺳﺘﻴﺎﺑﻲ آﻧﻬﺎ ﺑﻪ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه
•
ﻣﺸﺨﺼﺎت ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﺗﻮﻟﻴﺪ ﺷﺪه و ارﺗﺒﺎط آﻧﻬﺎ ﺑﺎ درﺧﻮاﺳﺖ ﻛﺎرﺑﺮان
•
ﻣﺸﺨﺼﺎت ﭘﺎﻳﺎﻧﻪﻫﺎي ﻣﺘﺼﻞ ﺑﻪ ﺳﻴﺴﺘﻢ و ﻳﺎ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺸﺘﺮي و اﻳﺴﺘﮕﺎﻫﻬﺎي ﻛﺎري
•
ارﺗﺒﺎط ﺑﻴﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي و دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه
•
ﻗﻮاﻋﺪ ﻣﺮﺑﻮط ﺑﻪ ﻛﻨﺘﺮل ﺻﺤﺖ و دﻗﺖ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﺿﻮاﺑﻂ ﻛﻨﺘﺮلاﻳﻤﻨﻲ دادهﻫﺎ
•
ﻣﺸﺨﺼﺎت ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري ﺳﻴﺴﺘﻢ و رﺳﺎﻧﻪﻫﺎي ذﺧﻴﺮه ﺳﺎزي
•
اﻃﻼﻋﺎت ﻣﺘﻨﻮع آﻣﺎري در ﻣﻮرد ﭘﺎﻳﮕﺎهدادهﻫﺎ ،ﻋﻤﻠﻴﺎت ﻛﺎرﺑﺮان ،ﻓﺮﻛﺎﻧﺲ اﺟﺮاي ﺗﺮاﻛﻨﺸﻬﺎ و ﺗﻌﺪاد دﺳﺘﻴﺎﺑﻲ ﺑﻪ اﺷﻴﺎء ذﺧﻴﺮه ﺷﺪه
•
ﺗﻮاﺑﻊ ﺗﻌﺮﻳﻒ ﺷﺪه ﺗﻮﺳﻂ ﻛﺎرﺑﺮان
66
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺷﻜﻞ 3-4ﺷﻤﺎي ﻛﻠﻲ ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ
-5ﭘﺎراﻣﺘﺮﻫﺎي ﺷﻨﺎﺧﺖ
DBMS
اﻣﺮوز ﻣﺮﺗﺒﺎ ﺷﺎﻫﺪ ﻋﺮﺿﻪ ﺳﻴﺴﺘﻢ ﻫﺎي ﺑﺎ ﻧﺎﻣﻬﺎي ﮔﻮﻧﺎﮔﻮن ﺗﺤﺖ ﻋﻨﻮان
DBMS
ﺑﻪ ﺑﺎزار
ﻣﺼﺮف ﻫﺴﺘﻴﻢ .ﻋﺪم اﻃﻼع ﻛﺎﻓﻲ ﺧﺮﻳﺪاران و اﺳﺘﻔﺎده ﻛﻨﻨﺪﮔﺎن ﭼﻨﻴﻦ ﺳﻴﺴﺘﻤﻲ از ﭘﺎراﻣﺘﺮ ﻫﺎي اﻧﺘﺨﺎب ﺳﺒﺐ ﻣﻲﺷﻮد ﺗﺎ اوﻻ اﻧﺘﺨﺎب ﺳﻴﺴﺘﻢ ﻣﻨﺎﺳﺐ ﺑﺮاي ﻳﻚ ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ )ﺳﺎزﻣﺎن( ﻣﺨﺼﻮﺻﺎ ﻣﺤﻴﻂ ﺑﺰرگ ،ﮔﺎه ﺑﺮ اﺳﺎس ﻣﻼﺣﻈﺎت ﻏﻴﺮ ﻋﻠﻤﻲ-ﻓﻨﻲ ﺻﻮرت ﭘﺬﻳﺮد و ﮔﺎه اﺳﺎﺳﺎً ﻧﻮﻋﻲ ﺳﺮدرﮔﻤﻲ در اﻧﺘﺨﺎب ﺑﺮوز ﻛﻨﺪ )اﻟﺒﺘﻪ در اﻧﺘﺨﺎب و ﺧﺮﻳﺪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﻼﺣﻈﺎﺗﻲ ﺟﺰ ﻣﻼﺣﻈﺎت ﻣﺴﺘﻘﻴﻤﺎ ﻣﺮﺑﻮط ﺑﻪ ﺧﻮد ﺳﻴﺴﺘﻢ و ﭘﺎﻳﮕﺎﻫﻲ ﻛﻪ ﻗﺮار اﺳﺖ ﺑﻪ ﻛﻤﻚ آن اﻳﺠﺎد ﺷﻮد ،ﻧﻴﺰ ﻣﻲ ﺗﻮاﻧﺪ ﻣﻄﺮح ﺑﺎﺷﺪ( .ﺛﺎﻧﻴﺎ ﻧﺮم اﻓﺰار ﺧﺮﻳﺪاري ﺷﺪه ﻣﻨﻄﺒﻖ ﺑﺎ ﻧﻴﺎزﻫﺎي ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ و ﭘﺎﺳﺨﮕﻮي اﺣﺘﻴﺎﺟﺎت اﻃﻼﻋﺎﺗﻲ ﻣﺤﻴﻂ ﻧﺒﺎﺷﺪ .ﺛﺎﻟﺜﺎ از ﻧﺮم اﻓﺰار ﺑﻪ ﻫﺮ ﺣﺎل اﻧﺘﺨﺎب ﺷﺪه ﺑﻄﻮر ﺑﻬﻴﻨﻪ ﺑﻬﺮه ﺑﺮداري ﻧﺸﻮد و ﮔﺎه ﭘﻴﺎﻣﺪﻫﺎي ﻧﺎﻣﻄﻠﻮﺑﻲ ﺑﺮوز ﻛﻨﺪ. ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد اﻧﺘﺨﺎب ﺳﻴﺴﺘﻢ ﻣﻨﺎﺳﺐ ،ﻣﺴﺌﻠﻪ اﺳﺎﺳﻲ ﻫﺮ ﺳﺎزﻣﺎن اﺳﺖ. اﻳﻦ ﻣﺴﺌﻠﻪ ﻣﺨﺼﻮﺻﺎ در ﺷﺮاﻳﻄﻲ ﻛﻪ ﺗﺤﻮﻻت ﺗﻜﻨﻮﻟﻮژﻳﻚ در ﻧﺮماﻓﺰار و ﺳﺨﺖاﻓﺰار ﭼﻨﺎن ﺷﺘﺎﺑﻨﺪه اﺳﺖ ﻛﻪ ﻫﺮ روز ﺗﻮﻟﻴﺪات ﻧﺮماﻓﺰاري و ﺳﺨﺖاﻓﺰاري ﺟﺪﻳﺪي ﺑﻪ ﺑﺎزار
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
67
ﻣﺼﺮف ﻋﺮﺿﻪ ﻣﻲﺷﻮﻧﺪ ،ﺑﺎﻻﺧﺺ ﺑﺮاي ﻣﺤﻴﻂﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ ﺑﺰرگ ،ﺑﺴﻴﺎر اﺳﺘﺮاﺗﮋﻳﻚ ﻣﻲﻧﻤﺎﻳﺪ .ﺳﺎزﻣﺎﻧﻬﺎﻳﻲ ﻛﻪ ﺑﺎ ﻣﺸﻜﻞ ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﻣﻴﺎن ﻣﺪت و دراز ﻣﺪت ﻣﻮاﺟﻪاﻧﺪ ،اﮔﺮ در ﺗﺼﻤﻴﻢ ﮔﻴﺮي ﺑﺮاي اﻧﺘﺨﺎب اﻳﻦ ﺗﻜﻨﻮﻟﻮژي ﺑﺎ ﺗﺨﺼﺺ واﻓﻲ و ﻣﻄﺎﻟﻌﻪ ﻫﻤﻪ ﺟﺎﻧﺒﻪ و ﻧﻬﺎﻳﺘﺎ ﺑﺎ ﺷﻨﺎﺧﺖ ﻛﺎﻓﻲ اﻗﺪام ﻧﻜﻨﻨﺪ ،ﻧﻪ ﺗﻨﻬﺎ ﺑﻪ اﻫﺪاف ﺗﻌﺮﻳﻒ ﺷﺪه در ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﻧﺎﻳﻞ ﻧﺨﻮاﻫﺪ ﺷﺪ ﺑﻠﻜﻪ ﭼﻪ ﺑﺴﺎ راه ﺑﻪ ﺑﻴﺮاﻫﻪ ﺧﻮاﻫﺪ ﺑﺮد و ﺑﺎ ﻣﺸﻜﻼت ﻋﺪﻳﺪهاي ﻣﻮاﺟﻪ ﺧﻮاﻫﻨﺪ ﺷﺪ ﻛﻪ رﻓﻊ آﻧﻬﺎ ﺑﻪ آﺳﺎﻧﻲ اﻣﻜﺎن ﭘﺬﻳﺮ ﻧﺨﻮاﻫﺪ ﺷﺪ. ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺣﻞ ﺑﺴﻴﺎري از ﻣﺸﻜﻼت ﺗﻜﻨﻴﻜﻲ در اﻳﺠﺎد ﺳﻴﺴﺘﻢﻫﺎي ﺗﻮزﻳﻊ ﺷﺪه ﻧﺎﻫﻤﮕﻦ ،اﻳﻨﻚ دﻳﮕﺮ ﻣﺴﺌﻠﻪ اﻧﺘﺨﺎب ﻓﻘﻂ ﻳﻚ
DBMS
و ﻳﺎ ﻓﻘﻂ ﻳﻚ ﭘﻴﻜﺮ ﺑﻨﺪي
ﻧﺮماﻓﺰاري-ﺳﺨﺖاﻓﺰاري ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪان ﻣﻄﺮح ﻧﺒﺎﺷﺪ .ﺑﺎ اﻳﻦﻫﻤﻪ اﻧﺘﺨﺎب اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﭘﻴﻜﺮ ﺑﻨﺪي ﻳﻚ ﺳﻴﺴﺘﻢ ﻧﺎﻫﻤﮕﻦ ﺑﻪ ﻫﺮ ﺣﺎل ﻣﻄﺮح اﺳﺖ ﺗﺎ ﻳﻚ ﭘﻴﻜﺮ ﺑﻨﺪي ﺑﺎ ﺑﻴﺸﺘﺮﻳﻦ ﻛﺎراﺋﻲ ،ﻃﺮاﺣﻲ و ﺗﺎﻣﻴﻦ ﺷﻮد. ﺑﻪ ﻣﻨﻈﻮر ﻛﺴﺐ ﺷﻨﺎﺧﺖ ﺗﺨﺼﺼﻲ ﺑﺎﻳﺪ ﭘﺎراﻣﺘﺮﻫﺎي زﻳﺎدي را در ﻧﻈﺮ ﮔﺮﻓﺖ ﻛﻪ اﻳﻦ ﭘﺎراﻣﺘﺮﻫﺎ را ﺑﺼﻮرت ﻛﻠﻲ در ﭘﻨﺞ رده ﺑﻪ ﺷﺮح زﻳﺮ دﺳﺘﻪ ﺑﻨﺪي ﻣﻲﻛﻨﻴﻢ: •
ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺗﻮاﻧﺎﻳﻲﻫﺎ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ
•
ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪﻫﺎي دﻳﮕﺮ
•
ﻣﺸﺨﺼﺎت ﻛﻠﻲ ﺳﻴﺴﺘﻢ
•
ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن دادهاي ﻓﺮﻋﻲ )واﺳﻂ ﻛﺎر ﺑﺮﻧﺎﻣﻪ ﺳﺎز(.
در اداﻣﻪ ﻫﺮ ﻳﻚ از دﺳﺘﻪ ﻫﺎي اﺻﻠﻲ را ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد:
1-5ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺗﻮاﻧﺎﻳﻲﻫﺎ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ •
ﺗﻮان ﺳﻴﺴﺘﻢ در اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺮ اﺳﺎس ﻣﻌﻤﺎري ﭘﻴﺸﻨﻬﺎدي ANSIﻳﻌﻨﻲ ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ.
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻛﺎرﺑﺮان ﻫﻤﺰﻣﺎن.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﺮﻣﻴﻢ دادهﻫﺎ و ﻣﻜﺎﻧﻴﺴﻢﻫﺎي اﻧﺠﺎم اﻳﻦ ﻛﺎر.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﺎﻣﻴﻦ ﻫﻤﺰﻣﺎﻧﻲ ،ﻣﻜﺎﻧﻴﺴﻢ ﻗﻔﻞ ﮔﺬاري ،اﻧﺪازه واﺣﺪ ﻗﻔﻞ ﭘﺬﻳﺮ و وﺟﻮد اﺳﺘﺮاﺗﮋي ﻛﺎرا در ﺣﻞ ﻣﺸﻜﻞ ﺑﻦ ﺑﺴﺖ.
68
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﺎﻣﻴﻦاﻳﻤﻨﻲ دادهﻫﺎ
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺣﻔﺎﻇﺖ دادهﻫﺎ وﺗﻀﻤﻴﻦ ﻣﺤﺮﻣﺎﻧﮕﻲ آﻧﻬﺎ
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ درﺗﺎﻣﻴﻦ رﺷﺪ ﭘﺎﻳﮕﺎهدادهﻫﺎ ودرﺟﻪ ﺳﻬﻮﻟﺖ اﻧﺠﺎم اﻳﻦ ﻛﺎر.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﻀﻤﻴﻦ ﺟﺎﻣﻌﻴﺖ ﭘﺎﻳﮕﺎه
•
ﺗﻌﺪاد زﺑﺎﻧﻬﺎي ﻣﻴﺰﺑﺎن ﻣﻮرد ﭘﺬﻳﺮش ﺳﻴﺴﺘﻢ.
•
ﻣﻜﺎﻧﻴﺴﻢ ﻫﻤﺎﻫﻨﮕﻲ ﻋﻤﻠﻜﺮد ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﺧﺎص ﭘﺎﻳﮕﺎه.
•
ﺷﺮاﻳﻂ ﺑﺮوز ﺗﻨﮕﻨﺎﻫﺎ در ﻋﻤﻠﻴﺎت ورودي /ﺧﺮوﺟﻲ و در ﻓﻌﺎﻟﻴﺖ واﺣﺪ ﭘﺮدازش ﻣﺮﻛﺰي و ﻣﻜﺎﻧﻴﺴﻢ رﻓﻊ آن.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در اﺷﺘﺮاﻛﻲ ﻛﺮدن دادهﻫﺎ
•
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ در ﻣﺠﺎز ﺷﻤﺎري و ﺳﻄﺢ ﻳﺎﺳﻄﻮح اﺳﺘﻔﺎده از اﻳﻦ اﻣﻜﺎﻧﺎت )ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻌﻤﺎري ﭼﻨﺪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎه(.
•
آﺳﺘﺎﻧﻪ ﭘﺎﻳﺪاري ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ )از ﻧﻈﺮ ﺗﻌﺪاد ﺗﺮاﻛﻨﺶﻫﺎي اﺟﺮا ﺷﻮﻧﺪه ﻣﺜﻼ در ﺛﺎﻧﻴﻪ و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺣﺠﻢ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎه(.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ درﭘﺮدازش ﭘﺮﺳﺸﻬﺎي ﻣﻮازي.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﭘﺬﻳﺮش اﻧﻮاع ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي و ﭘﺮﺳﺸﻬﺎ.
•
ﻧﺤﻮه ﭘﺮدازش زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺗﻮﺳﻂ ﺳﻴﺴﺘﻢ )ﻛﺎﻣﭙﺎﻳﻠﺮي ،ﻣﻔﺴﺮي(.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮﺳﺸﻬﺎ و ﻧﻮع ﺑﻬﻴﻨﻪ ﺳﺎزي )اﻋﻤﺎل اﻟﮕﻮرﻳﺘﻢﻫﺎي ﺑﻬﻴﻨﻪ در اﺟﺮاي ﭘﺮﺳﺸﻬﺎ( و زﻣﺎن اﻧﺠﺎم ﺑﻬﻴﻨﻪ ﺳﺎزي اﺳﺘﺮاﺗﮋي دﺳﺘﻴﺎﺑﻲ )در زﻣﺎن ﻛﺎﻣﭙﺎﻳﻞ ،در اوﻟﻴﻦ ﺑﺎر اﺟﺮاي ﭘﺮﺳﺶ ،در ﻫﺮ ﺑﺎر ﻛﻪ ﭘﺮﺳﺶ اﺟﺮا ﻣﻲﺷﻮد(.
•
ﻣﺪﻟﻬﺎي ﺗﺮاﻛﻨﺶ ﻛﻪ ﻣﻲﭘﺬﻳﺮد )ﺑﻮﻳﮋه ﻣﺪﻟﻬﺎي ﭘﻴﺸﺮﻓﺘﻪ(.
•
ﻗﺎﺑﻠﻴﺖ ﮔﺴﺘﺮش ﭘﺬﻳﺮي و ارﺗﻘﺎء ﺳﻴﺴﺘﻢ.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﻣﺤﻴﻂ ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎه و درﺟﻪ ﭘﻮﻳﺎﻳﻲ و ﺧﻮدﻛﺎر ﺑﻮدن اﻳﻦ ﻛﺎر.
•
اﻳﺠﺎد ﺳﻴﺴﺘﻢ در ﺧﺪﻣﺖ رﺳﺎﻧﻲ در ﻣﺤﻴﻂ ﺷﺒﻜﻪاي.
•
ﻧﻮع ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻛﻪ ﺳﻴﺴﺘﻢ ﻣﻲﺗﻮاﻧﺪ آن را ﺗﺎﻣﻴﻦ ﻛﻨﺪ.
•
ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎي ﻣﺘﻌﺎرف دﻳﮕﺮ )ﺑﺎ ﻣﺪل دادهاي و زﺑﺎن دادهاي ﻳﻜﺴﺎن ﻳﺎ ﻣﺘﻔﺎوت( و ﻣﻜﺎﻧﻴﺴﻢ ارﺗﺒﺎط ﺑﺎ آﻧﻬﺎ.
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده •
69
ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﮔﻮﻧﻪﻫﺎي ﻏﻴﺮ ﻣﺘﻌﺎرف ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﻣﻜﺎﻧﻴﺴﻢ و ﻣﻠﺰوﻣﺎت ﻫﻤﺎﻳﻨﺪي ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎ.
•
ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داﻧﺶ و ﻣﻜﺎﻧﻴﺴﻢ ﻫﻤﺎﻳﻨﺪي.
•
ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺷﻴﺊﮔﺮا و ﻣﻜﺎﻧﻴﺴﻢ ﻫﻤﺎﻳﻨﺪي.
•
ﻣﻴﺰان ﺗﻐﻴﻴﺮ ﻛﺎرآﻳﻲ ﺳﻴﺴﺘﻢ از ﻣﺎﺷﻴﻦ ﻛﻼﺳﻴﻚ ﺗﺎ ﻣﺎﺷﻴﻦ ﺧﺎص ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي زﻣﺎﻧﺒﻨﺪ.
•
زﺑﺎﻧﻲ ﻛﻪ ﺳﻴﺴﺘﻢ ﺑﺎ آن ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ.
•
ﻣﻴﺰان رﻋﺎﻳﺖ اﺻﻮل ﻧﻮﻳﻦ ﻣﻬﻨﺪﺳﻲ ﻧﺮماﻓﺰار در ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﺳﻴﺴﺘﻢ.
•
ﻣﻴﺰان رﻋﺎﻳﺖ اﺻﻮل ﺷﻴﺊ ﮔﺮاﻳﻲ در ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهﻫﺎي ﺑﺰرگ و ﺧﻴﻠﻲ ﺑﺰرگ )از ﻧﻈﺮ ﺣﺠﻢ دادهﻫﺎ و ﺗﻌﺪاد ﺗﺮاﻛﻨﺸﻬﺎ(.
•
ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻧﻬﺎن ﻧﮕﺎري دادهﻫﺎ
•
ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﭘﺸﺘﻴﺒﺎﻧﻲ اﻧﻮاع ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻛﻨﺘﺮل اﺷﺘﺒﺎﻫﺎت ﺑﺮﻧﺎﻣﻪ ﺳﺎزي.
•
ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻋﻤﻠﻴﺎت در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎي وب و ﻳﺎ ادﻏﺎم در
•
ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻋﻤﻠﻴﺎت در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﻣﻮﺑﺎﻳﻞ
•
ﻗﺎﺑﻠﻴﺖ ﺟﺎﺑﺠﺎﻳﻲ ﭘﺬﻳﺮي ﺳﻴﺴﺘﻢ
•
ﻣﺘﻮﺳﻂ زﻣﺎن ﺑﻴﻦ دو ﺧﺮاﺑﻲ ﭘﻲ در ﭘﻲ ﺳﻴﺴﺘﻢ
•
ﻣﻴﺰان ﻛﺎر ﻻزم ﺑﺮاي ﭘﻴﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ
•
اﺳﺘﺎﻧﺪاردﻫﺎي ﺑﻜﺎر رﻓﺘﻪ در ﺳﻴﺴﺘﻢ
•
ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﻣﻮرد ﻧﻴﺎز
•
ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﭘﺮدازش ﭘﻴﺎمﻫﺎ.
•
ﺗﺠﻬﻴﺰات ﻻزم ﺑﺮاي ﺳﻴﺴﺘﻢ از ﺟﻤﻠﻪ:
•
ﻧﻮع ﺳﺨﺖاﻓﺰار
•
ﺣﺪاﻗﻞ ﺣﺎﻓﻈﻪ ﻻزم
•
ﺣﺪاﻗﻞ ﻓﻀﺎي دﻳﺴﻚ
" وب"
70
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻧﻮع و ﺗﻌﺪاد ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
•
ﺗﻌﺪد و ﺗﻨﻮع رﺳﺎﻧﻪﻫﺎي ﺟﺎﻧﺒﻲ
2-5ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪﻫﺎي دﻳﮕﺮ اﻳﻦ ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪ ﻫﺎ ﻣﻲﺗﻮاﻧﻨﺪ ﻫﻤﺮاه ﺧﻮد ﺳﻴﺴﺘﻢ و ﻳﺎ ﺑﻪ ﻧﺤﻮي ﻗﺎﺑﻞ ﺗﺎﻣﻴﻦ و اﺳﺘﻔﺎده در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﺑﺎﺷﻨﺪ )ﺑﻪ ﺻﻮرت ﻧﺮم اﻓﺰار ﺟﺪاﮔﺎﻧﻪ ﺑﻪ ﻛﺎرﺑﺮان ﺳﻴﺴﺘﻢ ﻋﺮﺿﻪ ﺷﻮﻧﺪ( .ﻫﺮ ﭼﻪ ﺳﻴﺴﺘﻢ از ﻧﻈﺮ ﭘﺬﻳﺮش اﻧﻮاع ﺗﺴﻬﻴﻼت و ﺳﺎزﮔﺎري و ﻫﻤﺎﻳﻨﺪي ﺑﺎ آﻧﻬﺎ ﻏﻨﻲ ﺗﺮ ﺑﺎﺷﺪ ،ﻣﻄﻠﻮﺑﺘﺮ اﺳﺖ و ﺑﻬﺮه ﺑﺮداري ﺑﻬﺘﺮي از ﺳﻴﺴﺘﻢ اﻣﻜﺎن ﭘﺬﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد .ﺑﺮﺧﻲ از اﻳﻦ ﺗﺴﻬﻴﻼت )اﺑﺰارﻫﺎ( ﻋﺒﺎرﺗﻨﺪ از: •
اﻣﻜﺎﻧﺎت ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن
•
اﻣﻜﺎﻧﺎت ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻣﺜﺎل و ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻓﺮم
•
اﻣﻜﺎﻧﺎت ﺑﺮرﺳﻲﻫﺎ و ﺗﺤﻠﻴﻞﻫﺎي آﻣﺎري
•
اﻣﻜﺎﻧﺎت ﮔﺮاﻓﻴﻜﻲ
•
اﻣﻜﺎﻧﺎت ﻧﮕﻬﺪاري ﺳﻴﺴﺘﻢ
•
اﻣﻜﺎﻧﺎت ﺑﻬﻴﻨﻪ ﺳﺎزي ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي
•
اﻣﻜﺎﻧﺎت ﻳﺎدﮔﻴﺮي ﻃﺮز ﻛﺎر ﺑﺎ ﺳﻴﺴﺘﻢ و ﺑﻬﺮه ﺑﺮداري آن
•
اﻣﻜﺎﻧﺎت ﻛﺎر در ﻣﺤﻴﻂ وب
•
اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺖ ﭘﻮﻳﺎي ﭘﺮﺳﺸﻬﺎ
•
اﻣﻜﺎﻧﺎت ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻴﺎت ﻛﺎرﺑﺮان در ﭘﺎﻳﮕﺎه
•
اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺘﻲ ﺑﺮاي ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
اﻣﻜﺎﻧﺎت ﭘﺸﺘﻴﺒﺎﻧﻲ از
•
اﻣﻜﺎﻧﺎت ﭘﺮدازش ﺗﺤﻠﻴﻠﻲ ﺑﺮ ﺧﻂ
•
ﻣﻮﻟﺪ ﮔﺰارش
•
اﻧﻮاع وﻳﺮاﻳﺸﮕﺮﻫﺎ
•
اﺑﺰارﻫﺎياﻳﺠﺎد ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي و واﺳﻄﻪﻫﺎي ﻛﺎرﺑﺮدي
•
اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ ﮔﺮوﻫﻬﺎي ﻛﺎرﺑﺮدي و ﺗﻌﻴﻴﻦ اﻣﺘﻴﺎزات ﻫﺮ ﮔﺮوه )در اﻧﺠﺎم
XML
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهدادهﻫﺎ(
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
71
•
اﻣﻜﺎﻧﺎت دﺳﺘﻴﺎﺑﻲ ﺑﻪ دادهﻫﺎي دوردﺳﺖ
•
اﻣﻜﺎﻧﺎت ﺗﻮﻟﻴﺪ ﺧﺮوﺟﻲﻫﺎي ﻛﺎرﺑﺮﭘﺴﻨﺪ
•
اﻣﻜﺎﻧﺎت ﺗﻨﻈﻴﻢ ﻛﺮدن ﭘﺎﻳﮕﺎه
•
اﻣﻜﺎﻧﺎت ﺗﻨﻈﻴﻢ ﻛﺮدن ﺧﻮد ﺳﻴﺴﺘﻢ
•
اﻣﻜﺎﻧﺎت ﺑﺎرﮔﺬاري )ﮔﺎه ﻣﻮﺳﻮم ﺑﻪ ﻋﻤﻞ ورود دادهﻫﺎ( ،ﺑﺎزﺑﺎرﮔﺬاري ،ﺧﺎﻟﻲ ﻛﺮدن )ﮔﺎه ﻣﻮﺳﻮم ﺑﻪ ﻋﻤﻞ ﺻﺪور دادهﻫﺎ( ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
اﻣﻜﺎﻧﺎت ﺗﺒﺪﻳﻞ ﻳﻚ ﺳﺎﺧﺘﺎر داده از ﺳﻄﺢ ﺧﺎرﺟﻲ ﻣﻌﻤﺎري
ANSI
ﺑﻪ ﺳﺎﺧﺘﺎر
داده دﻳﮕﺮ از ﺳﻄﺢ ادراﻛﻲ ﻫﻤﺎن ﻣﻌﻤﺎري •
اﻣﻜﺎﻧﺎت ﻓﻌﺎل و ﻏﻴﺮﻓﻌﺎل ﻛﺮدن ﭘﺎﻳﮕﺎه
•
اﻣﻜﺎﻧﺎت ﺗﻬﻴﻪ آﻣﺎرﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي )درج ،ﺣﺬف ،ﺑﻬﻨﮕﺎم ﺳﺎزي(
•
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﺑﺮاي ﻣﺪﻟﺴﺎزي دادهﻫﺎ و ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ و ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎه
•
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﺑﺮاي ﮔﺸﺖ زﻧﻲ )ﮔﺬارﮔﺮي( در ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
اﻣﻜﺎﻧﺎت اﺳﺘﻔﺎده از زﺑﺎﻧﻬﺎي ﺳﻄﺢ ﺑﺎﻻ )ﻧﻪ ﺑﻪ ﻋﻨﻮان زﺑﺎن ﻣﻴﺰﺑﺎن( و ﻣﻜﺎﻧﻴﺴﻢ ﭘﻴﻮﻧﺪ ﺑﻪ ﺳﻴﺴﺘﻢ از ﻃﺮﻳﻖ آﻧﻬﺎ
•
اﻣﻜﺎناﻳﺠﺎد ﻣﺪوﻟﻬﺎي اﺟﺮاﻳﻲ ﺑﺮاي ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﺑﻪ ﻧﺤﻮي ﻛﻪ ﺧﺎرج از ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﻗﺎﺑﻞ اﺟﺮا ﺑﺎﺷﻨﺪ
•
اﻣﻜﺎن اﺳﺘﻔﺎده از ﻳﻚ ﺳﻴﺴﺘﻢ ﺧﺒﺮه در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ
•
ﻣﻮﻟﺪ ﻓﺮم
•
ﻣﻮﻟﺪ ﻣﻨﻮ
•
اﻣﻜﺎﻧﺎت ﺷﺒﻜﻪاي
•
واﺳﻂ
•
اﺑﺰارﻫﺎي ﺗﻮﻟﻴﺪ ﻣﺴﺘﻨﺪات )در ﻣﺮاﺣﻞ ﻣﺨﺘﻠﻒ ﺗﻮﻟﻴﺪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي(
4GL
آﻧﭽﻪ ﺑﺮ ﺷﻤﺮده ﺷﺪ ،ﻓﻬﺮﺳﺘﻲ اﺳﺖ از ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪ ﻫﺎ ،و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﭘﻴﺸﺮﻓﺖ ﻣﻬﻨﺪﺳﻲ ﻧﺮم اﻓﺰار ،اﻣﻜﺎﻧﺎت دﻳﮕﺮي ﻧﻴﺰ ﻣﻲ ﺗﻮاﻧﻨﺪ ﻣﻄﺮح ﺑﺎﺷﻨﺪ .ﺑﻪ وﻳﮋه ﻛﻪ ﻫﺮ روز اﻧﻮاع ﮔﻮﻧﺎﮔﻮﻧﻲ از اﻳﻦ ﻗﺒﻴﻞ اﺑﺰارﻫﺎ و ﺗﺴﻬﻴﻼت ﺗﻮﻟﻴﺪ و ﺑﻪ ﺑﺎزار ﻣﺼﺮف ﻋﺮﺿﻪ ﻣﻲ ﺷﻮﻧﺪ .ﺳﻴﺴﺘﻢ ﻧﻪ ﺗﻨﻬﺎ ﺑﺎﻳﺪ ﺑﺘﻮاﻧﺪ ﺑﺎ اﻳﻦ اﻣﻜﺎﻧﺎت ﺗﻤﺎس ﺑﺮﻗﺮار ﻛﻨﺪ ﺑﻠﻜﻪ ﺑﺎﻳﺪ ﺑﻪ
72
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺳﻬﻮﻟﺖ ﺑﺎ آﻧﻬﺎ ﻫﻤﺎﻳﻨﺪي داﺷﺘﻪ ﺑﺎﺷﺪ.
3-5ﻣﺸﺨﺼﺎت ﻛﻠﻲ ﺳﻴﺴﺘﻢ •
ﻧﺎم ﻧﺮماﻓﺰار
•
ﻋﻨﻮان ﺷﺮﻛﺖ ﺳﺎزﻧﺪه و ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه
•
ﺷﻤﺎره وﻳﺮاﺳﺖ )ﻧﮕﺎرش( ﻣﻮرد ﺑﺮرﺳﻲ-ﺷﻤﺎره آﺧﺮﻳﻦ وﻳﺮاﺳﺖ
•
ﺗﺎرﻳﺦ ﻋﺮﺿﻪ )اوﻟﻴﻦ ﻧﮕﺎرش و آﺧﺮﻳﻦ ﻧﮕﺎرش(
•
ﻗﻴﻤﺖ
•
ﻧﺎم ﻛﺸﻮر ﺳﺎزﻧﺪه و ﻓﺮوﺷﻨﺪه
•
ﺷﺮاﻳﻂ ﻛﻠﻲ ﺗﺤﻮﻳﻞ
•
ﺧﺪﻣﺎت ﺑﻌﺪ از ﺗﺤﻮﻳﻞ
•
ﻛﻤﻴﺖ و ﻛﻴﻔﻴﺖ آﻣﻮزش
•
ﻣﺴﺘﻨﺪات
•
ﺗﻌﺪاد ﻣﺸﺘﺮيﻫﺎ و ﻣﺎﻫﻴﺖ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ و ﭘﺮدازﺷﻲ آﻧﺎن
•
ﺿﻤﺎﻧﺖ )ﻫﺎي(ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه
•
اﻣﻜﺎﻧﺎت ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه در ﮔﺴﺘﺮش ﻳﺎ ارﺗﻘﺎء ﺳﻴﺴﺘﻢ
•
در دﺳﺘﺮس ﺑﻮدن ﻓﺮوﺷﻨﺪه )ﻫﺮﮔﺎه ﻛﻪ ﻻزم ﺑﺎﺷﺪ(
•
وﺟﻮد ﺗﻴﻢ ﻓﻨﻲ ﭘﺸﺘﻴﺒﺎﻧﻲ ﺳﻴﺴﺘﻢ ،در ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه
4-5ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ از آﻧﺠﺎﺋﻴﻜﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه دادهﻫﺎ در ﺳﻪ ﺳﻄﺢ داﺧﻠﻲ ،ادراﻛﻲ و ﺧﺎرﺟﻲ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد ،ﻟﺬا ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري را ﻧﻴﺰ در اﻳﻦ ﺳﻪ ﺳﻄﺢ ﺑﺮرﺳﻲ ﻣﻲ ﻛﻨﻴﻢ:
1-4-5ﺳﻄﺢ داﺧﻠﻲ -ﻓﻴﺰﻳﻜﻲ •
ﻧﻮع داده
•
ﻧﺎم ﻓﻴﻠﺪ
•
ﻃﻮل داده )ﺣﺪاﻛﺜﺮ ﻃﻮل ﭘﻴﺶ ﻧﻬﺎده(
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
73
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد رﻛﻮرد
•
ﺣﺪاﻛﺜﺮ ﻃﻮل ﻫﺮ رﻛﻮرد
•
ﺛﺎﺑﺖ ﻳﺎ ﻣﺘﻐﻴﺮ ﺑﻮدن ﻃﻮل رﻛﻮرد
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻓﻴﻠﺪ در ﻫﺮ ﻧﻮع
•
ﺣﺪاﻛﺜﺮ ﻃﻮل ﻫﺮ ﻓﻴﻠﺪ
•
ﺛﺎﺑﺖ ﻳﺎ ﻣﺘﻐﻴﺮ ﺑﻮدن ﻃﻮل ﻓﻴﻠﺪ
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻓﺎﻳﻞﻫﺎي ﺑﺎز در ﻳﻚ زﻣﺎن
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﺗﺮاﻛﻨﺶﻫﺎي ﻋﻤﻞ ﻛﻨﻨﺪه در ﻣﺤﻴﻂ داﺧﻠﻲ-ﻓﻴﺰﻳﻜﻲ
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﺷﺎﺧﺺﻫﺎ و ﺳﺎﺧﺘﺎر دروﻧﻲ ﻫﺮ ﺷﺎﺧﺺ و درﺟﻪ ﭘﻮﻳﺎﻳﻲ آن
•
اﻧﺪازه ﺷﺎﺧﺺ
•
ﻫﺰﻳﻨﻪاﻳﺠﺎد ﺷﺎﺧﺺ
•
ﺳﺎﺧﺘﺎر ﻓﺎﻳﻠﻬﺎي ﻣﻮﺟﻮد
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻛﻠﻴﺪﻫﺎ
•
ﺣﺪاﻛﺜﺮ ﻃﻮل ﻛﻠﻴﺪ
•
ﻧﻮع ﻛﻠﻴﺪ
•
ﻧﺤﻮه اﻧﺠﺎم ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي در ﻣﺤﻴﻂ داﺧﻠﻲ-ﻓﻴﺰﻳﻜﻲ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ در ﻫﺮ ﻋﻤﻞ
•
ﻧﺤﻮه ﺟﺎﻳﮕﻴﺮي ﻓﺎﻳﻠﻬﺎ روي رﺳﺎﻧﻪ ﺧﺎرﺟﻲ
•
ﻧﺤﻮه ﭘﻴﺎده ﺳﺎزي " ﻫﻴﭽﻤﻘﺪار " در اﻳﻦ ﺳﻄﺢ و ﻣﻴﺰان ﺣﺎﻓﻈﻪ ﻣﺼﺮﻓﻲ ﺑﺮاي آن
•
ﭼﮕﻮﻧﮕﻲ ﺗﻨﺎﻇﺮ )ﻧﮕﺎﺷﺖ( ﺑﻴﻦ ﻓﺎﻳﻠﻬﺎ و ﺳﺎﺧﺖﻫﺎي ﺳﻄﺢ ادراﻛﻲ
•
ﭼﮕﻮﻧﮕﻲ ﺧﻮﺷﻪ واري و ﻣﻮﺿﻌﻲ ﺑﻮدن ﻓﺎﻳﻠﻬﺎ و رﻛﻮردﻫﺎ
•
ﭼﮕﻮﻧﮕﻲ ﻓﺸﺮده ﺳﺎزي دادهﻫﺎ و ﻧﺴﺒﺖ ﻓﺸﺮده ﺳﺎزي
•
ﻓﺸﺮده ﺳﺎزي ﺷﺎﺧﺺﻫﺎ و ﻧﺴﺒﺖ ﻓﺸﺮده ﺳﺎزي
•
اﻧﺪازه و ﺗﻌﺪاد ﺑﺎﻓﺮ ﻣﻮرد ﻧﻴﺎز
•
اﻧﺪازه ﺑﻼك
•
اﻧﺪازه ﺻﻔﺤﻪ)ﺛﺎﺑﺖ ﻳﺎ ﻣﺘﻐﻴﺮ(
•
وﺟﻮد زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺑﺮاي ﺳﻄﺢ داﺧﻠﻲ و اﻣﻜﺎﻧﺎت آن
74
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻣﻴﺰان دﺧﺎﻟﺖ ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ دراﻳﺠﺎد ﺳﻄﺢ داﺧﻠﻲ-ﻓﻴﺰﻳﻜﻲ و ﻛﻨﺘﺮل آن
2-4-5ﺳﻄﺢ ادراﻛﻲ •
وﺟﻮد ﺳﻄﺢ ادراﻛﻲ
•
درﺟﻪ اﻧﺘﺰاع ﺳﻄﺢ ادراﻛﻲ )ﻛﻪ ﻣﺴﺘﻘﻴﻤﺎ ﺑﻪ ﻣﺪل دادهاي ﺑﺴﺘﮕﻲ دارد(
•
وﺟﻮد زﺑﺎن دادهاي ﻓﺮﻋﻲ در ﺳﻄﺢ ادراﻛﻲ و اﻣﻜﺎﻧﺎت آن
•
اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ ﻗﻮاﻋﺪ )ﻣﺤﺪودﻳﺘﻬﺎي( ﺟﺎﻣﻌﻴﺖ )ﺑﻪ ﻋﻨﻮان ﺑﺨﺸﻲ از ﻣﺪل دادهاي(در ﺑﻴﺮون از ﺑﺮﻧﺎﻣﻪﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ )ﺑﺎ اﺣﻜﺎم ﺗﻌﺮﻳﻒ دادهﻫﺎ(
•
اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ اﻧﻮاع ﻛﻠﻴﺪ )ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ،ﻛﻠﻴﺪ اﺻﻠﻲ ،ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ،ﻛﻠﻴﺪ دﻳﮕﺮو(...
•
ﻣﻴﺰان ﺗﺎﻣﻴﻦ اﺳﺘﻘﻼل دادهاي ﻓﻴﺰﻳﻜﻲ
•
ﻣﻴﺰان دﻳﻨﺎﻣﻴﺴﻢ رﺷﺪ ﭘﺎﻳﮕﺎه در ﺳﻄﺢ ادراﻛﻲ
•
اﻣﻜﺎﻧﺎت ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﭘﺎﻳﮕﺎه در ﺳﻄﺢ ادراﻛﻲ )ﺗﻐﻴﻴﺮ در ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ و در ﭘﻲ آن ﺗﻐﻴﻴﺮ ﺷﻤﺎ(
•
ﭼﮕﻮﻧﮕﻲ ﻣﻜﺎﻧﻴﺴﻢ ﻧﮕﺎﺷﺖ ﺳﻄﺢ ادراﻛﻲ ﺑﻪ داﺧﻠﻲ و ﺟﻨﺒﻪﻫﺎي ﻧﮕﺎﺷﺖ )ﻧﺎم داده ،ﻧﻮع داده ،ﻃﻮل داده ،ﻛﺪ ﻧﻤﺎﻳﺶ داده ،واﺣﺪ داده و(...
•
ﭘﻴﺎﻣﺪﻫﺎي ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﺳﻄﺢ ادراﻛﻲ در ﺳﻄﺢ داﺧﻠﻲ-ﻓﻴﺰﻳﻜﻲ
•
ﻣﻴﺰان اﻓﺰوﻧﮕﻲ در ﺳﻄﺢ ادراﻛﻲ و ﻣﻜﺎﻧﻴﺴﻢ ﻛﻨﺘﺮل آن و ﻣﻴﺰان اﻧﻌﻜﺎس آن در ﺳﻄﺢ داﺧﻠﻲ -ﻓﻴﺰﻳﻜﻲ
•
وﺟﻮد ﻣﻔﻬﻮم ﻣﻴﺪان و اﻣﻜﺎﻧﺎت ﻻزم ﺑﺮاي آن در ﺳﻄﺢ ادراﻛﻲ
•
ﻧﺤﻮه ﺑﺮﺧﻮرد ﺑﺎ " ﻫﻴﭽﻤﻘﺪار " در ﺳﻄﺢ ادراﻛﻲ
•
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ در ﻣﺠﺎزﺷﻤﺎري ﺑﻪ وﻳﮋه در اﻳﻦ ﺳﻄﺢ
3-4-5ﺳﻄﺢ ﺧﺎرﺟﻲ •
وﺟﻮد ﻣﻔﻬﻮم ﻫﻤﮕﺎﻧﻲ دﻳﺪ ﺧﺎرﺟﻲ
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد دﻳﺪﻫﺎي ﻫﺮ ﻛﺎرﺑﺮ و در ﻣﺠﻤﻮع ،ﺗﻨﻮع دﻳﺪﻫﺎ از ﻧﻈﺮ ﻣﻜﺎﻧﻴﺴﻢ ﺗﻌﺮﻳﻒ آﻧﻬﺎ
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده •
75
وﺟﻮد زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺧﺎرﺟﻲ و اﻣﻜﺎﻧﺎت آن )ﺑﺮاي ﺑﺎزﻳﺎﺑﻲ ،ذﺧﻴﺮه ﺳﺎزﻳﻲ و ﻛﻨﺘﺮل(
•
درﺟﻪ اﻧﺘﺰاع ﺗﺎﻣﻴﻦ ﺷﺪه در اﻳﻦ ﺳﻄﺢ و ارﺗﻔﺎع اﻳﻦ اﻧﺘﺰاع
•
ﻣﻴﺰان ﺗﺎﻣﻴﻦ اﺳﺘﻘﻼل دادهاي ﻣﻨﻄﻘﻲ
•
ﭼﮕﻮﻧﮕﻲ ﻧﮕﺎﺷﺖ ﺳﻄﺢ ﺧﺎرﺟﻲ ﺑﻪ ادراﻛﻲ و ﻣﺤﻮرﻫﺎي اﻳﻦ ﻧﮕﺎﺷﺖ )ﺣﺪود آزادي ﻋﻤﻞ ﻛﺎرﺑﺮان در ﺗﻌﻴﻴﻦ ﺟﻨﺒﻪﻫﺎي داده(
•
ﻗﺪرت ﺳﻴﺴﺘﻢ در اﻧﺠﺎم ﻋﻤﻠﻴﺎت ﺑﻬﻨﮕﺎم ﺳﺎزي دﻳﺪﻫﺎ )ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﻪ ﻣﻌﻨﺎي ﻋﺎم ﻳﻌﻨﻲ درج ،ﺣﺬف و ﺗﻐﻴﻴﺮ( و ﺗﻨﻮع دﻳﺪﻫﺎي ﭘﺬﻳﺮاي اﻳﻦ ﻋﻤﻠﻴﺎت
•
وﺟﻮد ﻛﻠﻴﺪ اﺻﻠﻲ در اﻳﻦ ﺳﻄﺢ )ﺑﺮاي ﺑﻌﺾ دﻳﺪﻫﺎ ﺑﻪ ﺗﺸﺨﻴﺺ ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ(
5-5ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن دادهاي ﻓﺮﻋﻲ •
ﻣﻴﺰان ﭘﺎﻳﺒﻨﺪي اﺣﻜﺎم زﺑﺎن ﺑﻪ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﻣﺪل دادهاي در ﺟﻬﺖ ﺗﺎﻣﻴﻦ اﻧﺘﺰاع ﻫﺮﭼﻪ ﺑﻴﺸﺘﺮ
•
وﺟﻮد دﺳﺘﻮرات DCL ،DML ،DDLﺑﺮاي ﻫﺮ ﺳﻪ ﺳﻄﺢ ﻣﻌﻤﺎري
•
داﺷﺘﻦ ﻫﺮ دو ﺟﻨﺒﻪ ﺧﻮدﻛﻔﺎ )ﻣﺴﺘﻘﻞ( ﺑﻮدن و ﻗﺎﺑﻞ ادﻏﺎم ﺑﻮدن
•
اﻧﻮاع دادهاي ﻣﻮﺟﻮد
•
ﮔﺴﺘﺮش ﭘﺬﻳﺮي ﻧﻮع دادهاي و وﺟﻮد ﻧﻮع دادهاي ﺗﻌﺮﻳﻒ ﺷﺪه ﺗﻮﺳﻂ ﻛﺎرﺑﺮ
•
ﭘﺬﻳﺮش BLOBو دادهﻫﺎي از ﻧﻮع ﺗﺼﻮﻳﺮ ،وﻳﺪﺋﻮ و ﻣﺘﻦ
•
اﻣﻜﺎن ﻧﻮﺷﺘﻦ روﻳﻪ ذﺧﻴﺮه ﺷﺪه و رﻫﺎﻧﺎ
•
ﺟﻬﺖ ﺟﺎﺑﺠﺎﻳﻲ ﻣﻜﺎن ﻧﻤﺎ )ﺟﻠﻮ ،ﻋﻘﺐ و ﻫﺮ دو ﺳﻮ(
•
واﺳﻂﻫﺎي ﻣﺤﻴﻂ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي )ﻣﺜﻞ ODBCو(...
•
درﺟﻪ ﻛﻤﺎل از ﻧﻈﺮ ﺳﺎﺧﺘﺎر دادهاي
•
درﺟﻪ ﻛﻤﺎل ﺑﺮﻧﺎﻣﻪ ﺳﺎزي
•
ﺳﺎزﮔﺎري ﺑﺎ
•
روﻳﻪاي ﻳﺎ ﻧﺎ روﻳﻪاي ﺑﻮدن
•
ﻣﻔﺴﺮي ﻳﺎ ﻛﺎﻣﭙﺎﻳﻠﺮي ﺑﻮدن
4GL
ANSI
76
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
رﻋﺎﻳﺖ اﺻﻞ وﺣﺪت اﺣﻜﺎم ﺑﺮاي ﻋﻤﻞ واﺣﺪ در دو ﺳﻄﺢ اﻧﺘﺰاﻋﻲ و ﻧﻴﺰ در ﻳﻚ ﺳﻄﺢ ﻣﺸﺨﺺ
•
وﺟﻮد اﻣﻜﺎن ﻛﻨﺘﺮل رﻛﻮردﻫﺎي ﺗﻜﺮاري ﺑﺮاي ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻗﺪرت در ﺑﺮﻧﺎﻣﻪ ﺳﺎزي اﻟﮕﻮرﻳﺘﻢﻫﺎي ﺑﻬﻴﻨﻪ ﺑﺮاي اﻧﺠﺎم ﭼﻬﺎر ﻋﻤﻞ اﺻﻠﻲ )ﺑﺎزﻳﺎﺑﻲ ،ﺣﺬف ،درج و ﺑﻬﻨﮕﺎم ﺳﺎزي(
•
ﺳﻬﻮﻟﺖ ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاي اﻧﺠﺎم ﭼﻬﺎر ﻋﻤﻞ اﺻﻠﻲ )ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻔﺎﻫﻴﻢ ﺳﺎﺧﺘﺎر دادهاي(
•
ﺳﻬﻮﻟﺖ ﻳﺎدﮔﻴﺮي و ﻧﺰدﻳﻜﻲ ﺑﻪ زﺑﺎن ﻃﺒﻴﻌﻲ
•
وﺟﻮد اﻣﻜﺎن ﻣﻌﺮﻓﻲ ﻣﻴﺪان و ﻋﻤﻠﻴﺎت روي ﻣﻴﺪانﻫﺎ
•
وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاي اﻋﻤﺎل ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ
•
وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاياﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ دادهﻫﺎ
•
وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاي اﻋﻤﺎل ﺿﻮاﺑﻂ ﻣﺠﺎزﺷﻤﺎري
•
وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاي ﺗﻌﻴﻴﻦ ﺣﺪود ﺗﺮاﻛﻨﺶﻫﺎ و ﻛﻨﺘﺮل ﻫﻤﺰﻣﺎﻧﻲ آﻧﻬﺎ
•
وﺟﻮد اﻣﻜﺎن ﻧﻮﺷﺘﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻣﻮازي ﭘﺮﺳﺶ
•
ﻣﻴﺰان ﺷﻴﺊ ﮔﺮا ﺑﻮدن
•
اﻣﻜﺎﻧﺎت ﻻزم ﺑﺮاي دادهﻫﺎي زﻣﺎﻧﺒﻨﺪ
-6ﻣﺤﻮرﻫﺎي اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ DBMSﻫﺎ در ﻣﻘﺎﻳﺴﻪ اﻳﻦ ﺳﻴﺴﺘﻢﻫﺎ ،ﺑﺎﻳﺪ ﺗﻤﺎم ﭘﺎراﻣﺘﺮﻫﺎي ﮔﻔﺘﻪ ﺷﺪه در ﻗﺴﻤﺖ 9اﻳﻦ ﮔﻔﺘﺎر را در ﻧﻈﺮ داﺷﺖ .اﻣﺎ ﺑﺎ ﺑﺮرﺳﻲ اﻳﻦ ﭘﺎراﻣﺘﺮﻫﺎ ﻣﻲ ﺗﻮان ﻣﺤﻮرﻫﺎي اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ را ﺑﺪﺳﺖ آورد .در زﻳﺮ ﻣﺤﻮرﻫﺎي ﻣﻬﻤﺘﺮ را ﺑﺮ ﻣﻲﺷﻤﺮﻳﻢ )ﻓﺮض ﺑﺮ اﻳﻦ اﺳﺖ ﻛﻪ ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﻘﺎﻳﺴﻪ ﺷﻮﻧﺪه ﻣﻌﻤﺎري ANSIرا ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻲﻛﻨﻨﺪ(: •
اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ دادهﻫﺎ
•
اﻧﻮاع دادهاي ﻣﻮرد ﭘﺬﻳﺮش ﺳﻴﺴﺘﻢ
•
اﻣﻜﺎﻧﺎت ﻋﻤﻠﻴﺎت در دادهﻫﺎ
•
ﻧﻮع ﺗﺮاﻛﻨﺶﻫﺎ )ﭼﻨﺪ ﭘﺮﺳﺸﻲ ﻳﺎ ﺑﺮﻧﺎﻣﻪ ،ﺗﻌﺪاد آﻧﻬﺎ( و ﻃﺮز ﻣﺪﻳﺮﻳﺖ آﻧﻬﺎ
•
اﻣﻜﺎﻧﺎت ﭘﺮدازش ﭘﺮﺳﺶﻫﺎ ،ﺑﻬﻴﻨﻪ ﺳﺎزي آﻧﻬﺎ و زﻣﺎن ﺑﻬﻴﻨﻪ ﺳﺎزي
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
77
•
اﻣﻜﺎﻧﺎتاﻳﺠﺎد دﻳﻜﺸﻨﺮي دادهﻫﺎ
•
وﺿﻌﻴﺖ ﺳﻄﺢ داﺧﻠﻲ -ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ از ﻧﻈﺮ ﺳﺎﺧﺘﺎر ﻓﺎﻳﻠﻬﺎ ،ﺷﻴﻮهﻫﺎي دﺳﺘﻴﺎﺑﻲ )ﺑﻮﻳﮋه ﺷﺎﺧﺺ ﺑﻨﺪي( و ﺟﻨﺒﻪﻫﺎي دﻳﮕﺮ.
•
ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻗﺎﺑﻞاﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ
•
ﻣﺤﻴﻂ ﺳﺨﺖاﻓﺰاري و ﺣﺪاﻗﻞ اﻣﻜﺎﻧﺎت ﻻزم
•
ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﻻزم
•
ﺗﻜﻨﻴﻜﻬﺎي ﻛﻨﺘﺮل ﻫﻤﺰﻣﺎﻧﻲ
•
اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎ :ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ ،ﺗﺮﻣﻴﻢ ،اﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ.
•
ﺗﺴﻬﻴﻼت ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ )ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ و ﻃﺮاﺣﻲ ﻓﻴﺰﻳﻜﻲ(.
•
ﻣﻜﺎﻧﻴﺴﻢ ادﻏﺎم زﺑﺎن دادهاي ﻓﺮﻋﻲ در زﺑﺎن ﻣﻴﺰﺑﺎن )وﺟﻮد ﭘﻴﺶ ﻛﺎﻣﭙﺎﻳﻠﺮ ﻳﺎ ﻓﺮاﺧﻮاﻧﻲ ﺗﻮاﺑﻊ(.
•
ﺗﻨﻮع دﻳﺪﻫﺎﻳﻲ ﻛﻪ ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را ﻣﻲﭘﺬﻳﺮﻧﺪ.
•
ﻣﻜﺎﻧﻴﺴﻢ ﻣﺠﺎزﺷﻤﺎري ﻛﺎرﺑﺮان )ﻧﺎﻣﺘﻤﺮﻛﺰ ،ﻣﺘﻤﺮﻛﺰ ﻳﺎ ﻧﻴﻤﻪ ﻣﺘﻤﺮﻛﺰ(.
•
اﻣﻜﺎﻧﺎت ﻣﻮرد ﻧﻴﺎز ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
اﻣﻜﺎﻧﺎت ﻧﻬﺎن ﻧﮕﺎري دادهﻫﺎ.
•
ﻃﺮز اﻧﺠﺎم ﻋﻤﻞ ﺑﻬﻨﮕﺎم ﺳﺎزي )درﺟﺎ ﻳﺎ ﺑﺮون از ﺟﺎ(.
•
اﻟﮕﻮرﻳﺘﻢ اﺟﺮاي ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ و ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي.
•
اﻣﻜﺎﻧﺎت ﺗﻌﺎﻣﻞ ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎي دﻳﮕﺮ )ﻧﻮع ﻣﻴﺎن اﻓﺰار و(...
•
ﻃﺮز ﻧﻤﺎﻳﺶ ﻧﺘﺎﻳﺞ ﻋﻤﻠﻴﺎت )ﮔﺮاﻓﻴﻚ و ﮔﺰارش(.
•
ﭘﺬﻳﺮش ﻳﺎ ﻋﺪم ﭘﺬﻳﺮش زﺑﺎﻧﻬﺎي ﻧﺴﻞ ﭼﻬﺎرم و ﭘﻨﺠﻢ.
•
اﻣﻜﺎﻧﺎت ﺗﻮﻟﻴﺪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي.
•
اﻣﻜﺎﻧﺎت ﭘﺸﺘﻴﺒﺎﻧﻲ ﺗﺼﻤﻴﻢ.
•
اﻣﻜﺎﻧﺎت ﻻزم ﺑﺮاي ﺗﻮﻟﻴﺪ واﺳﻄﻬﺎي ﻛﺎرﺑﺮي.
•
اﻣﻜﺎﻧﺎت ﻋﻤﻠﻴﺎﺗﻲ در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ " ﺗﻮزﻳﻊ ﺷﺪه ".
•
ﺗﺴﻬﻴﻼت ﻧﺮماﻓﺰاري دﻳﮕﺮ.
78
ﭘﺎﻳﮕﺎه دادهﻫﺎ
-7روش ﻣﻄﺎﻟﻌﻪ ﺳﻴﺴﺘﻢ در ﻣﻄﺎﻟﻌﻪ اﻳﻦ ﻧﺮم اﻓﺰار ،ﺑﻪ ﻣﻨﻈﻮر
ﻛﺴﺐ آﺷﻨﺎﻳﻲ ﻣﻘﺪﻣﺎﺗﻲ ﺑﺎ آن )وﻧﻪ ﭼﻨﺪان
ﺗﺨﺼﺼﻲ( ،ﺑﺎﻳﺪ ﻣﻮارد زﻳﺮ ﺑﺮرﺳﻲ ﺷﻮد: •
ﺑﺮرﺳﻲ ﺷﺮﻛﺖ ﺳﺎزﻧﺪه ،ﺧﺎﻧﻮاده ﻧﺮماﻓﺰارﻫﺎي ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺎﺑﻪ و ﺗﺎرﻳﺨﭽﻪ ﺳﻴﺴﺘﻢ
•
ﺣﺪاﻗﻞ ﭘﻴﻜﺮه ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﻻزم
•
ﺑﺮرﺳﻲ وﺟﻮد اﺟﺰاء ﻣﻌﻤﺎري ANSIﺑﺮاي ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
اﻣﻜﺎﻧﺎت زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺳﻴﺴﺘﻢ
•
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ازﻧﻈﺮ زﺑﺎن ﻣﻴﺰﺑﺎن
•
ﺑﺮرﺳﻲ ﻣﻮﻟﻔﻪﻫﺎي ﻣﺪل دادهاي و ﻣﻴﺰان راﺑﻄﻪاي ﺑﻮدن ﺳﻴﺴﺘﻢ
•
اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﺳﻴﺴﺘﻢ
•
روﻧﺪ ﻛﻠﻲ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺗﻮﺳﻂ ﺳﻴﺴﺘﻢ
•
ﻧﺤﻮه ﻛﺎر ﺑﺎ ﺳﻴﺴﺘﻢ ،ﺑﺮﭘﺎﺳﺎزي ،راهاﻧﺪازي و آﻣﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ ،ورود ﺑﻪ ﺳﻴﺴﺘﻢ و ﻛﺎرﻫﺎي ﻻزم ﺑﺮاياﻳﺠﺎد ﭘﺎﻳﮕﺎه و اﻧﺠﺎم ﻋﻤﻠﻴﺎت در آن
•
ﺗﺴﻬﻴﻼت ﺟﺎﻧﺒﻲ ﺳﻴﺴﺘﻢ از ﺟﻤﻠﻪ واﺳﻂﻫﺎي ﻛﺎرﺑﺮي و....
-8روﻳﻪﻫﺎي ﻣﺴﺘﻨﺪ ﺑﺮاي ﻛﺎرﺑﺮان ﺑﺮاي اﻳﻨﻜﻪ ﻛﺎرﺑﺮان و اﻋﻀﺎء ﺗﻴﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﺘﻮاﻧﻨﺪ از ﺳﻴﺴﺘﻢ اﺳﺘﻔﺎده ﻛﻨﻨﺪ ،ﻣﻌﻤﻮﻻً ﻣﺠﻤﻮﻋﻪ اي از دﺳﺘﻮرﻫﺎ و ﻗﻮاﻋﺪ ،ﻣﻮﺳﻮم ﺑﻪ روﻳﻪ ﻫﺎي ﻣﺴﺘﻨﺪ ﺗﻮﺳﻂ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﺳﻴﺴﺘﻢ در اﺧﺘﻴﺎر ﺧﺮﻳﺪاران ﻗﺮار داده ﻣﻲ ﺷﻮد .در اﻳﻦ روﻳﻪﻫﺎي ﻣﺴﺘﻨﺪ ﭼﮕﻮﻧﮕﻲ اﻧﺠﺎم ﻓﻌﺎﻟﻴﺘﻬﺎي زﻳﺮ ﻣﺸﺨﺺ ﺷﺪه اﺳﺖ: •
ﺑﺮﭘﺎﺳﺎزي ﺳﻴﺴﺘﻢ
•
ﻃﺮز ارﺗﺒﺎط ﺑﺎ ﺳﻴﺴﺘﻢ
•
ﻃﺮز اﺳﺘﻔﺎده از ﺳﻴﺴﺘﻢ
•
ﻃﺮز اﺳﺘﻔﺎده از ﺗﺴﻬﻴﻼت و اﻣﻜﺎﻧﺎت آن
•
ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎﻳﻲ از ﭘﺎﻳﮕﺎهدادهﻫﺎ
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده •
79
ﻃﺮز ﺗﺸﺨﻴﺺ ﻋﻴﺒﻬﺎي ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري و ﭼﮕﻮﻧﮕﻲ رﻓﻊ آﻧﻬﺎ و ﺗﺮﻣﻴﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﺗﻐﻴﻴﺮ ﺳﺎﺧﺘﺎر ﭘﺎﻳﮕﺎهدادهﻫﺎ )ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد(
•
ﺗﻨﻈﻴﻢ ﺳﻴﺴﺘﻢ
•
ﺑﻬﺒﻮد ﺑﺨﺸﻴﺪن ﻛﺎراﻳﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن
-9ﻫﺰﻳﻨﻪﻫﺎ اﺳﺘﻔﺎده از ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎه دادهﻫﺎ ﻫﺰﻳﻨﻪ ﻫﺎﻳﻲ دارد .ﺑﺮﺧﻲ از اﻗﻼم ﻣﻬﻤﺘﺮ ﻫﺰﻳﻨﻪ ﻋﺒﺎرﺗﻨﺪاز: •
ﻫﺰﻳﻨﻪ ﺧﺮﻳﺪ ﻧﺮماﻓﺰار اﺻﻠﻲ)(DBMS
•
ﻫﺰﻳﻨﻪ آﻣﻮزش ﻧﺮماﻓﺰار اﺻﻠﻲ
•
ﻫﺰﻳﻨﻪ ﻧﮕﻬﺪاري و ﺑﻬﺮه ﺑﺮداري از آن
•
ﻫﺰﻳﻨﻪ ﺗﺒﺪﻳﻞ ﺳﻴﺴﺘﻢ ﻧﺎﭘﺎﻳﮕﺎﻫﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ
•
ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ اﺑﺰارﻫﺎي ﻧﺮماﻓﺰاري دﻳﮕﺮ
•
ﻫﺰﻳﻨﻪ آﻣﻮزش اﻣﻜﺎﻧﺎت ﻧﺮماﻓﺰاري
•
ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﺑﺴﺘﻪﻫﺎي ﻛﺎرﺑﺮدي
•
ﻫﺰﻳﻨﻪ آﻣﻮزش ﺑﺴﺘﻪﻫﺎي ﻛﺎرﺑﺮدي
•
ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﻣﺴﺘﻨﺪات ﺧﻮد ﺳﻴﺴﺘﻢ
•
ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﻣﺴﺘﻨﺪات اﻣﻜﺎﻧﺎت ﻧﺮماﻓﺰاري و ﺑﺴﺘﻪﻫﺎي ﻛﺎرﺑﺮدي
•
ﻫﺰﻳﻨﻪ ﺗﻨﻈﻴﻢ ﻣﺴﺘﻨﺪات ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ )ﻛﺎﻣﭙﻴﻮﺗﺮ از ردهﻫﺎي ﻣﺨﺘﻠﻒ(
•
ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي
•
ﻫﺰﻳﻨﻪ ﺗﺎﻣﻴﻦ ﺷﺒﻜﻪﻫﺎي ﻻزم )در ﺻﻮرت ﻟﺰوم(
•
ﻫﺰﻳﻨﻪ ﻧﮕﻬﺪاري و ﺑﻬﺮه ﺑﺮداري از ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي
•
ﻫﺰﻳﻨﻪ ﺑﻬﻴﻨﻪ ﺳﺎزي و ﮔﺴﺘﺮش ﺳﻴﺴﺘﻢ
•
ﺣﻘﻮق و ﻣﺰاﻳﺎي اﻓﺮاد ﺗﻴﻢ ﻣﺪﻳﺮﻳﺖ و ﺗﻴﻢﻫﺎي اﺟﺮاﻳﻲ
80
ﭘﺎﻳﮕﺎه دادهﻫﺎ
-10ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده
)(DBA
ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻓﺮدي اﺳﺖ ﻣﺘﺨﺼﺺ در ﭘﺎﻳﮕﺎه دادهﻫﺎ و ﺑﺎ ﻣﺴﺌﻮﻟﻴﺖ ﻋﻠﻤﻲ-ﻓﻨﻲ و ﻧﻴﺰ اداري در ﻣﺤﺪوده وﻇﺎﻳﻔﻲ ﻛﻪ ﻋﻬﺪه دار اﺳﺖ .اﻳﻦ ﻣﺪﻳﺮ ﻣﻌﻤﻮﻻً ﻫﻤﺮاه ﺑﺎ ﻳﻚ ﺗﻴﻢ ﺗﺨﺼﺼﻲ ﻛﺎر ﻣﻲ ﻛﻨﺪ ﻛﻪ ﺑﻪ آن ﺗﻴﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﮔﻮﻳﻨﺪ .ﻫﺮ ﻳﻚ از اﻋﻀﺎ اﻳﻦ ﺗﻴﻢ ﻣﺴﺌﻮﻟﻴﺖ ﺧﺎﺻﻲ دارد و در ﺣﻴﻄﻪ اﺧﺘﻴﺎرات و وﻇﺎﻳﻔﺶ ﻣﻲ ﺗﻮاﻧﺪ ﺳﺮﭘﺮﺳﺖ ﻳﻚ ﺗﻴﻢ اﺟﺮاﻳﻲ ﺑﺎﺷﺪ.
1-10اﺻﻄﻼح ﺗﻴﻢ
DBA
در ﻳﻚ ﻣﺤﻴﻂ ﻛﺎري ﺑﺮﺧﻮردار از ﺳﻄﺢ ﻣﻄﻠﻮب داﻧﺶ و ﺗﻜﻨﻮﻟﻮژي و ﻋﻤﻞ ﻛﻨﻨﺪه ﺑﺮ اﺳﺎس دﻳﺴﻴﭙﻠﻴﻦ ﻫﺎ و اﺳﺘﺎﻧﺪارد ﻫﺎي ﻋﻠﻤﻲ و ﻣﻬﻨﺪﺳﻲ و داراي ﻣﺪﻳﺮﻳﺖ ﭘﻮﻳﺎ ،وﺟﻮد اﻳﻦ ﺗﻴﻢ ﺗﺨﺼﺼﻲ اﺟﺘﻨﺎب ﻧﺎﭘﺬﻳﺮ اﺳﺖ .ﺑﻌﻼوه اﻳﻦ ﺗﻴﻢ ﺑﺎﻳﺪ از ﻣﺸﺎوراﻧﻲ در زﻣﻴﻨﻪ ﻫﺎي دﻳﮕﺮ ﻣﻬﻨﺪﺳﻲ ﻧﺮم اﻓﺰار و ﻣﻬﻨﺪﺳﻲ ﺳﺨﺖ اﻓﺰار اﺳﺘﻔﺎده ﻛﻨﺪ و ﺣﺘﻲ ﻣﻄﻠﻮب اﻳﻦ اﺳﺖ ﻛﻪ ﺑﻌﻀﻲ از ﻣﺸﺎوران ﺑﻪ ﻧﺤﻮي ﻋﻀﻮ ﺧﻮد ﺗﻴﻢ ﺑﺎﺷﻨﺪ .ﺑﺮﺧﻲ از ﻣﺴﺌﻮﻟﻴﺖ ﻫﺎي اﺻﻠﻲ در اﻳﻦ ﺗﻴﻢ ﺗﺨﺼﺼﻲ ﻋﺒﺎرﺗﻨﺪ از: •
ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻣﺪﻳﺮ دادهﻫﺎ
•
ﻣﺪﻳﺮ اﻣﻮر ﭘﮋوﻫﺸﻲ -ﺗﻮﺳﻌﻪ
•
ﻣﺪﻳﺮ ﺳﻴﺴﺘﻢ )ﻫﺎي( ﻛﺎرﺑﺮدي
•
ﻣﺴﺌﻮل ﺗﻴﻤﻬﺎي ﺑﺮﻧﺎﻣﻪ ﺳﺎزي
•
ﻣﺴﺌﻮل ﻛﻨﺘﺮل ﻛﺎراﻳﻲ
•
ﻣﺴﺌﻮل ﻛﻨﺘﺮل ﻛﺎراﻳﻲ ﺧﻮد ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ
•
ﻣﺴﺌﻮل ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻴﺎت روي ﭘﺎﻳﮕﺎهدادهﻫﺎ و اﻧﺠﺎم ﻓﻌﺎﻟﻴﺖﻫﺎي آﻣﺎري
DBMS
ﻣﺮﺑﻮﻃﻪ •
ﻣﺴﺌﻮل ﺗﻤﺎس ﺑﺎ ﻛﺎرﺑﺮان زﻳﺮ ﻣﺤﻴﻂﻫﺎي ﺳﺎزﻣﺎن
•
ﻣﺴﺌﻮل ﺗﻨﻈﻴﻢ ﻣﺴﺘﻨﺪات
اﺻﻄﻼح ﺗﻴﻢ DBAﺑﻪ دو ﻣﻌﻨﺎ )در ﻣﺤﻴﻂﻫﺎي ﻛﺎري( ﻣﻄﺮح اﺳﺖ:
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده •
ﺗﻴﻢ
DBA
در ﻣﻌﻨﺎي ﻣﺤﺪود :ﺑﺎ اﻳﻦ ﻣﻌﻨﺎ ،ﺗﻴﻢ
DBA
81
ﺗﻴﻤﻲاﺳﺖ ﻛﻪ
ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺳﺎزﻣﺎن را ،ﭘﺲ ازاﻳﺠﺎد ﺗﻮﺳﻂ ﮔﺮوه دﻳﮕﺮي از ﻣﺘﺨﺼﺼﻴﻦ، ﺗﺤﻮﻳﻞ ﻣﻲﮔﻴﺮد و ﭘﺲ از ﺗﺤﻮﻳﻞ ،وﻇﻴﻔﻪ ﻧﮕﻬﺪاري ،ﺑﻬﺮه ﺑﺮداري و ﮔﺎه ﺑﻬﻴﻨﻪ ﺳﺎزي و اﺣﺘﻤﺎﻻ ﮔﺴﺘﺮش "ﺳﻴﺴﺘﻢ" را ﺑﺮ ﻋﻬﺪه دارد. •
ﺗﻴﻢ
DBA
در ﻣﻌﻨﺎي ﮔﺴﺘﺮده :ﺑﺎ اﻳﻦ ﻣﻌﻨﺎ ،ﺗﻴﻢ ،DBAﺧﻮد ﻫﻤﻪ ﻣﺮاﺣﻞ ﻻزم
ﺑﺮاياﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺳﺎزﻣﺎن را اﻧﺠﺎم ﻣﻲدﻫﺪ و ﺳﭙﺲ ﻧﮕﻬﺪاري ،ﺑﻬﺮه ﺑﺮداري و ﺑﻬﻴﻨﻪ ﺳﺎزي و ﮔﺴﺘﺮش آن را ﺑﺮﻋﻬﺪه ﻣﻲﮔﻴﺮد.
2-10ﻣﺴﺌﻮﻟﻴﺖﻫﺎ ﻣﺪﻳﺮ دادهﻫﺎ ﻓﺮدي اﺳﺖ ﺑﺎ داﻧﺶ و ﺗﺠﺮﺑﻪ در ﻣﺪﻳﺮﻳﺖ و آﺷﻨﺎ ﺑﺎ داﻧﺶ و ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎه داده ﻫﺎ .ﺑﺮاي اﻃﻼع از وﻇﺎﻳﻒ ﻣﺪﻳﺮ داده ﻫﺎ ﺑﻪ ﻣﻨﺎﺑﻊ درس ﻫﺎي ''ﻣﻬﻨﺪﺳﻲ ﻧﺮم اﻓﺰار"" ،ﺗﺤﻠﻴﻞ و ﻃﺮاﺣﻲ ﺳﻴﺴﺘﻢﻫﺎ" و ﻧﻴﺰ درس "ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎت
ﻣﺪﻳﺮﻳﺖ"
ﻣﺮاﺟﻌﻪ ﺷﻮد.
3-10وﻇﺎﻳﻒ ﺗﻴﻢ
DBA
در ﻣﻌﻨﺎي ﮔﺴﺘﺮده وﻇﺎﻳﻔﻲ دارد ﻛﻪ اﻫﻢ آﻧﻬﺎ را ذﻛﺮ ﻣﻲﻛﻨﻴﻢ .ﺗﻮﺟﻪ دارﻳﻢ
ﻛﻪ ﺗﺮﺗﻴﺐ اﻧﺠﺎم اﻳﻦ وﻇﺎﻳﻒ ﻟﺰوﻣﺎ ﻫﻤﺎن ﻧﻴﺴﺖ ﻛﻪ در زﻳﺮ آﻣﺪه اﺳﺖ )روﺷﻦ اﺳﺖ ﻛﻪ در اﺟﺮاي ﻫﺮ ﭘﺮوژه ،ﻧﻴﺎز ﺑﻪ ﻳﻚ ﻃﺮح زﻣﺎن ﺑﻨﺪي ﻓﻌﺎﻟﻴﺘﻬﺎﺳﺖ ﻛﻪ ﺑﺎﻳﺪ آﻣﺎده ﺷﻮد( .ﻫﻤﭽﻨﻴﻦ ﺑﺮﺧﻲ از اﻳﻦ وﻇﺎﻳﻒ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺑﻄﻮر ﻫﻤﺰﻣﺎن اﻧﺠﺎم ﺷﻮﻧﺪ. •
ﻣﺸﺎرﻛﺖ در ﺗﻔﻬﻴﻢ اﻫﻤﻴﺖ و ﻧﻘﺶ داده ﺑﻪ ﻣﺪﻳﺮﻳﺖ ﺳﺎزﻣﺎن
•
ﻣﺸﺎرﻛﺖ در ﺗﻔﻬﻴﻢ اﻫﻤﻴﺖ و ﻣﺰاﻳﺎي ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
ﻣﺸﺎرﻛﺖ در ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد اﺳﺘﻔﺎده ﻳﺎ ﻋﺪم اﺳﺘﻔﺎده از اﻳﻦ ﺗﻜﻨﻮﻟﻮژي.
•
ﻣﺸﺎرﻛﺖ در ﺗﻮﺟﻴﻪ ﻋﻠﻤﻲ-ﻓﻨﻲ ﺗﺼﻤﻴﻢ اﺳﺘﻔﺎده از اﻳﻦ ﺗﻜﻨﻮﻟﻮژي.
•
ﻣﻄﺎﻟﻌﻪ دﻗﻴﻖ و ﻫﻤﻪ ﺟﺎﻧﺒﻪ ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ و ﺑﺮآورد ﺧﻮاﺳﺘﻪﻫﺎ و ﺑﺮ آورد ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان )اﻧﺠﺎم اﺻﻮﻟﻲ ﻣﻬﻨﺪﺳﻲ ﻧﻴﺎزﻫﺎ(.
82
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﺑﺮرﺳﻲ روﻧﺪ دادهﻫﺎ و روﻧﺪ روﻳﺪادﻫﺎ در ﻣﺤﻴﻂ و رﺳﻢ ﻧﻤﻮدار روﻧﺪ دادهﻫﺎ و روﻧﺪ روﻳﺪادﻫﺎ )ﻳﻚ ﻳﺎ ﻫﺮ دو ﺑﺴﺘﻪ ﺑﻪ ﺷﻴﻮه ﻣﺪﻟﺴﺎزي ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ( و ﺗﻬﻴﻪ و ﺗﻨﻈﻴﻢ ﻣﺴﺘﻨﺪات ﻻزم.
•
ﻣﺪﻟﺴﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ )ﺑﺎ ﻣﺮاﺣﻠﻲ ﻛﻪ دﻳﺪه ﺷﺪ از ﺟﻤﻠﻪ رﺳﻢ ﻧﻤﻮدار .(EER
•
ﺗﺨﻤﻴﻦ ﺣﺠﻢ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ در ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي دو ﻣﻮرد ﺗﻌﻴﻴﻦ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﺗﻌﻴﻴﻦ ﻣﺸﺨﺼﺎت ﺳﻴﺴﺘﻢ )ﻫﺎي( ﻛﺎرﺑﺮدي ﻣﻮرد ﻧﻴﺎز.
•
ﻣﺸﺎرﻛﺖ در اﻧﺘﺨﺎب ) DBMSﻫﺎ( و ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﻻزم در ﺻﻮرت ﻟﺰوم )اﮔﺮ اﻧﺘﺨﺎب ﻧﺸﺪه ﺑﺎﺷﺪ(.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در اﻧﺘﺨﺎب و اﻧﺘﺴﺎب اﻋﻀﺎء ﺗﻴﻤﻬﺎي اﺟﺮاﻳﻲ.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در اﻧﺘﺨﺎب اﺑﺰارﻫﺎي ﻧﺮماﻓﺰاري دﻳﮕﺮ ﺑﺮاي ﺗﻮﻟﻴﺪ و ﮔﺴﺘﺮش ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ.
•
ﺗﺼﻤﻴﻢﮔﻴﺮي درﻣﻮرد زﺑﺎن)ﻫﺎي( ﺑﺮﻧﺎﻣﻪﺳﺎزي ﻣﻮرد ﻧﻴﺎز و ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﻫﺮ ﻛﺎرﺑﺮد.
•
ﻃﺮاﺣﻲ ﺳﻄﺢ ادراﻛﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ )ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ(.
•
ﻧﻮﺷﺘﻦ ﺷﻤﺎي ادراﻛﻲ و ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاياﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
ﺗﻌﻴﻴﻦ ﻣﺠﻤﻮﻋﻪ ﻗﻮاﻋﺪ )ﻣﺤﺪودﻳﺘﻬﺎي( ﺟﺎﻣﻌﻴﺖ ﻧﺎﻇﺮ ﺑﻪ ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
ﻧﻈﺎرت ﺑﺮ ﺗﻌﻴﻴﻦ دﻳﺪﻫﺎي ﺧﺎرﺟﻲ و ﻧﻮﺷﺘﻦ ﺷﻤﺎﻫﺎي ﺧﺎرﺟﻲ.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﻣﺸﺨﺼﺎت ﺳﺎﺧﺘﺎر ﺳﻄﺢ داﺧﻠﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﺗﻌﻴﻴﻦ ﺳﺎﺧﺘﺎر ﻓﺎﻳﻞﻫﺎي ﻣﻨﺎﺳﺐ ،اﺳﺘﺮاﺗﮋيﻫﺎي دﺳﺘﻴﺎﺑﻲ ﻛﺎرا و ﻧﻮﺷﺘﻦ ﺷﻤﺎي داﺧﻠﻲ.
•
اﻧﺠﺎم ﻃﺮاﺣﻲ ﺗﻮزﻳﻊ )در ﺻﻮرت ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه(.
•
ﻃﺮاﺣﻲ "ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي" ،ﺗﺮاﻛﻨﺶﻫﺎي ﻻزم و روﻳﻪﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ ﻻزم. )ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ ﻫﺮ ﺑﺮﻧﺎﻣﻪاي ،ﻧﻴﺎز ﺑﻪ ﻃﺮاﺣﻲ دارد و ﺗﻨﻬﺎ ﭘﺲ از ﻃﺮاﺣﻲ اﺻﻮﻟﻲ ﺑﺮﻧﺎﻣﻪ ،ﻣﻲﺗﻮان ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻛﺮد( ،واﻳﺠﺎد ارﺗﺒﺎط داﺋﻢ ﺑﺎ ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪﮔﺎن " ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي".
•
ﻃﺮاﺣﻲ واﺳﻄﻪﻫﺎي ﻛﺎرﺑﺮدي.
•
اﻳﺠﺎد ﻧﻤﻮﻧﻪ ﻧﺨﺴﺖ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ و ﺑﺎرﮔﺬاري ﭘﺎﻳﮕﺎه ﺑﺎ دادهﻫﺎي ﺗﺴﺘﻲ.
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده •
83
ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاي ﻛﻨﺘﺮل ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﻮﻳﮋه اﻋﻤﺎل ﻣﺤﺪودﻳﺘﻬﺎي ﺟﺎﻣﻌﻴﺘﻲ.
•
ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاي ﺑﻬﺮه ﺑﺮداري از ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
اﻳﺠﺎد ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ واﻗﻌﻲ )و ﻣﻨﻄﺒﻖ ﺑﺎ ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان(.
•
ﻧﻈﺎرت ﺑﺮ وارد ﻛﺮدن دادهﻫﺎ )در ﺣﺠﻢ ﻣﺤﺪود(.
•
اﻧﺘﺨﺎب اﺳﺘﺮاﺗﮋيﻫﺎي ﺗﺴﺖ ﻣﻨﺎﺳﺐ و ﺗﺴﺖ ﻛﺮدن " ﺳﻴﺴﺘﻢ" ﺑﺎ دادهﻫﺎي ﺗﺴﺘﻲ و ﻧﻴﺰ ﺑﺎ دادهﻫﺎي واﻗﻌﻲ در ﺣﺠﻢ ﻣﺤﺪود )اﻧﺠﺎم دو ﻣﺮﺣﻠﻪ ﺗﺴﺖ(.
•
ﻧﻈﺎرت ﺑﺮ وارد ﻛﺮدن دادهﻫﺎي واﻗﻌﻲ ﺳﺎزﻣﺎن.
•
ﺗﺴﺖ ﻛﺮدن " ﺳﻴﺴﺘﻢ" ﺑﺎ دادهﻫﺎي واﻗﻌﻲ و در ﺣﺠﻢ واﻗﻌﻲ
•
ﺗﻨﻈﻴﻢ دﻗﻴﻖ ﻗﺴﻤﺘﻬﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ و ﻛﻞ ﺳﻴﺴﺘﻢ ﻳﻜﭙﺎرﭼﻪ.
•
ﺗﻌﻴﻴﻦ ﺿﻮاﺑﻂ دﺳﺘﻴﺎﺑﻲ ﻛﺎرﺑﺮان ﺑﻪ دادهﻫﺎ.
•
ﻧﻈﺎرت در ﺗﻬﻴﻪ ﻣﺴﺘﻨﺪات ﻻزم در ﻫﻤﻪ ﻣﺮاﺣﻞ ﻛﺎر.
•
وﺿﻊ اﺳﺘﺎﻧﺪاردﻫﺎي ﻻزم در ﻫﻤﻪ ﻣﺮاﺣﻞ ﻛﺎر و ﻧﻈﺎرت ﺑﺮ اﻋﻤﺎل آﻧﻬﺎ.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﭼﮕﻮﻧﮕﻲ ﺗﺮﻣﻴﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ و در ﺻﻮرت ﻟﺰوم ﺗﻬﻴﻪ ﻳﺎ ﺗﻮﺳﻌﻪ اﺑﺰارﻫﺎي اﻳﻦ ﻛﺎر و اﻧﺠﺎم ﺗﺮﻣﻴﻢ ﭘﺎﻳﮕﺎه.
•
ﻛﻨﺘﺮل ﻣﺪاوم ﻛﺎراﻳﻲ DBMSو ﺗﻼش در اﻓﺰاﻳﺶ ﻛﺎراﻳﻲ.
•
ﻧﻈﺎرت و ﻛﻨﺘﺮل داﺋﻢ ﺑﺮ ﻋﻤﻠﻴﺎﺗﻲ ﻛﻪ در ﭘﺎﻳﮕﺎهدادهﻫﺎ اﻧﺠﺎم ﻣﻲﺷﻮد.
•
ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
ﺗﻀﻤﻴﻦ ﻣﺤﺮﻣﺎﻧﮕﻲ دادهﻫﺎ.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﭼﻨﺪي و ﭼﮕﻮﻧﮕﻲ رﺷﺪ )ﮔﺴﺘﺮش( ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
اﺗﺨﺎذ ﺗﺪاﺑﻴﺮ ﻻزم ﺑﺮاياﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ دادهﻫﺎ و اﻋﻤﺎل اﻳﻦ ﺗﺪاﺑﻴﺮ.
•
ﻣﺪﻳﺮﻳﺖ ﻛﺎرﺑﺮان ﭘﺎﻳﺎﻧﻲ )اﻳﺠﺎد و ﺗﻌﺮﻳﻒ ﻛﺎرﺑﺮان ،ﮔﺬر واژهﻫﺎ ،اﻣﺘﻴﺎزﻫﺎ و.(...
•
ﺗﻤﺎس داﺋﻢ ﺑﺎ ﻛﺎرﺑﺮان و ﺷﻨﺎﺧﺖ ﻧﻴﺎزﻫﺎي ﺟﺪﻳﺪ آﻧﻬﺎ.
•
ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن ﺑﻄﻮر ﻣﺘﻨﺎوب )ﺑﺎ ﺗﻨﺎوب ﻣﻨﺎﺳﺐ(.
•
ﺗﻌﻴﻴﻦ اﻟﮕﻮﻫﺎي اﺳﺘﻔﺎده از دادهﻫﺎ و ﺑﺴﺎﻣﺪ )ﻓﺮﻛﺎﻧﺲ( اﺳﺘﻔﺎده از دادهﻫﺎ.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﭼﮕﻮﻧﮕﻲ ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﭘﺎﻳﮕﺎهدادهﻫﺎ.
84
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
اﻧﺠﺎم ﺗﺒﺪﻳﻞ و اﻧﺘﻘﺎل دادهﻫﺎ از" ﺳﻴﺴﺘﻢﻫﺎي ﻣﻮﺟﻮد" ﺑﻪ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺟﺪﻳﺪ و اﻧﺠﺎم ﺗﺒﺪﻳﻞ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻣﻮﺟﻮد ﺑﻪ ﮔﻮﻧﻪاي ﻛﻪ ﻗﺎﺑﻞ اﺟﺮا در"ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي" ﺟﺪﻳﺪ ﺑﺎﺷﻨﺪ.
•
ﺗﻼش در ﺟﻬﺖ ارﺗﻘﺎء ﺳﻄﺢ داﻧﺶ و ﻓﻦ اﻋﻀﺎء ﺗﻴﻢ و ﻛﺎرﺑﺮان )ﺑﻮﻳﮋه در زﻣﻴﻨﻪ ﺗﻜﻨﻮﻟﻮژي اﻃﻼﻋﺎت و ﺳﻴﺴﺘﻤﻬﺎي اﻃﻼﻋﺎﺗﻲ(.
•
ﺗﻼش در ﺟﻬﺖ ﺷﻨﺎﺳﺎﻳﻲ اﻣﻜﺎﻧﺎت ﺟﺪﻳﺪ ،ﮔﺴﺘﺮش ،ارﺗﻘﺎء و ﻛﺎراﺗﺮ ﻛﺮدن ﺳﻴﺴﺘﻢ ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ اﻣﻜﺎﻧﺎت.
•
ﺗﻬﻴﻪ و ﺗﻨﻈﻴﻢ اﻧﻮاع آﻣﺎرﻫﺎ و ﮔﺰارﺷﺎت ﻛﻨﺘﺮﻟﻲ و ﻣﺪﻳﺮﻳﺘﻲ در ﻣﻮرد ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﻛﺎرﺑﺮان.
•
ﺗﻀﻤﻴﻦ اﻧﺠﺎم و اﺗﻤﺎم "ﭘﺮوژه ﭘﺎﻳﮕﺎﻫﻲ" در ﻣﺪت زﻣﺎن ﭘﻴﺶ ﺑﻴﻨﻲ ﺷﺪه و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﺤﺪودﻳﺖ ﺑﻮدﺟﻪ.
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
85
ﺗﻤﺮﻳﻨﺎت .1ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻄﺎﻟﻌﻪ ﮔﻔﺘﺎر ،وﻇﺎﻳﻒ اﺳﺎﺳﻲ ﻳﻚ DBMSرا ﻓﻬﺮﺳﺖ ﻛﻨﻴﺪ. .2ﺑﺮاي ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﻳﻚ ،RDBMSﺣﺪاﻗﻞ ﭼﻪ اﺟﺰاﻳﻲ ﻻزم اﺳﺖ ؟ .3ﻳﻚ RDBMSرا اﻧﺘﺨﺎب و ﻛﺎرﻫﺎي ﻻزم ﺑﺮاي ﺑﺮﭘﺎﺳﺎزي آن را اﻧﺠﺎم دﻫﻴﺪ. .4در اﻧﺘﺨﺎب و اﺳﺘﻔﺎده از ﻳﻚ ،DBMSﭼﻪ ﻫﺰﻳﻨﻪ ﻫﺎي دﻳﮕﺮي را ﺑﺎﻳﺪ در ﻧﻈﺮ داﺷﺖ )ﻏﻴﺮ از ﻫﺰﻳﻨﻪ ﻫﺎي ﺑﺮﺷﻤﺮده در ﮔﻔﺘﺎر( ؟ .5ﭼﻪ ﺗﻔﺎوت )ﻫﺎﻳﻲ( ﺑﻴﻦ ﻣﺘﺎ داده ﻫﺎ و دﻳﻜﺸﻨﺮي داده ﻫﺎ وﺟﻮد دارد ؟ .6ﭘﺎراﻣﺘﺮﻫﺎي اﺻﻠﻲ ﺷﻨﺎﺧﺖ ﻳﻚ DBMSرا ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .7ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ ؟ .8ﺗﻴﻢ DBAﺑﻪ ﭼﻪ ﻣﻌﻨﺎ اﺳﺖ ؟ .9ﻛﺪاﻣﻴﻚ از وﻇﺎﻳﻒ ،DBAﻣﺴﺘﻘﻞ از ،DBMSﻗﺎﺑﻞ اﻧﺠﺎم اﺳﺖ ؟ .10ﻛﺪاﻣﻴﻚ از ﻣﻮارد ﺑﺮ ﺷﻤﺮده در ﻓﻬﺮﺳﺖ وﻇﺎﻳﻒ ﺗﻴﻢ ،DBAﻣﺴﺘﻘﻴﻤﺎ ﺑﻪ ﻣﺮﺣﻠﻪ ﭘﻴﺎده ﺳﺎزي ﭘﺎﻳﮕﺎه دادهﻫﺎ ﻣﺮﺑﻮط ﻣﻲ ﺷﻮد ؟
86
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻓﺼﻞ ۵ ﻣﺪﻝﻫﺎ ﻭ ﺳﺎﺧﺘﺎﺭﻫﺎﻱ ﺩﺍﺩﻩﺍﻱ ﭘﺎﻳﮕﺎﻩﺩﺍﺩﻩﻫﺎ ﻫﺪف ﻛﻠﻲ دراﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺑﺎ ﻣﻔﻬﻮم ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﻳﻚ ﭘﺎﻳﮕﺎه داده و ﺑﺨﺶ ﻫﺎي ﻣﺨﺘﻠﻒ آن آﺷﻨﺎ ﺧﻮاﻫﻴﻢ ﺷﺪ .در اداﻣﻪ ﺳﻪ ﺳﺎﺧﺘﺎر داده اي اﺻﻠﻲ ﭘﺎﻳﮕﺎهﻫﺎي داده ﻛﻪ ﺷﺎﻣﻞ ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،ﺷﺒﻜﻪ اي و راﺑﻄﻪ اي ﻣﻲ ﺑﺎﺷﻨﺪ را ﻣﻌﺮﻓﻲ ﻛﺮده و ﻋﻨﺎﺻﺮ اﺻﻠﻲ ،ﻋﻤﻠﻴﺎت اﺻﻠﻲ و ﻧﺤﻮه ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖﻫﺎ و وﻳﮋﮔﻲ ﻫﺎي ﻫﺮ ﻳﻚ از ﺳﺎﺧﺘﺎرﻫﺎي داده اي ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ.
ﻫﺪف رﻓﺘﺎري دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ
•
ﺑﺨﺶ ﺳﺎﺧﺘﺎري ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ
•
ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ
•
ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ
•
آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
•
ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري
•
ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
•
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
•
ﺑﺮﺧﻲ وﻳﮋﮔﻲﻫﺎي ﺳﺎﺧﺘﺎر )و ﻣﺪل( دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
ﭘﺎﻳﮕﺎه دادهﻫﺎ
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
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 89
ﺑﺨﺶ ﺳﺎﺧﺘﺎري ،ﺷﺎﻣﻞ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﻣﺪل اﺳﺖ ﻛﻪ ﻫﻤﺎن ﺳﺎﺧﺘﺎر داده اي اﺻﻠﻲ و ﻣﻔﺎﻫﻴﻢ ﻣﺮﺑﻮط ﺑﻪ آن اﺳﺖ. ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ ،ﻣﺠﻤﻮﻋﻪ اﻣﻜﺎﻧﺎﺗﻲ اﺳﺖ ﻛﻪ ﺑﻪ وﺳﻴﻠﻪ آﻧﻬﺎ ﻋﻤﻠﻴﺎت ﻣﻮرد ﻧﻈﺮ ﻛﺎرﺑﺮ در ﻣﺠﺪوده ﺳﺎﺧﺘﺎر داده اي و ﻣﺒﺘﻨﻲ ﺑﺮ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ آن اﻧﺠﺎم ﻣﻲ ﺷﻮد. ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ ،از ﻣﺠﻤﻮﻋﻪاي از ﻗﻮاﻋﺪ )ﻣﺤﺪودﻳﺖﻫﺎي( ﺟﺎﻣﻌﻴﺘﻲ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از آﻧﻬﺎ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﺗﻮاﻧﺪ ﺻﺤﺖ ،دﻗﺖ و ﺳﺎزﮔﺎري داده ﻫﺎ را در ﻫﺮ ﻟﺤﻈﻪ از ﺣﻴﺎت ﭘﺎﻳﮕﺎه داده ،ﻛﻨﺘﺮل و ﺗﻀﻤﻴﻦ ﻛﻨﺪ.
ﺷﻜﻞ 1-5ﺳﻄﻮح ﻣﺨﺘﻠﻒ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ
ﺑﺎ ﺍﻳﻦ ﺗﻮﺻﻴﻒ ﻫﺮ ﺳﺎﺧﺘﺎر دادهاي ﻧﻴﺰ ﻓﻘﻂ ﺑﺨﻀﻲ از ﻳﻚ ﻣﺪل دادهاي اﺳﺖ و ﺣﺪاﻗﻞ ﻳﻚ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎر اﺳﺎﺳﻲ دارد ﻛﻪ ﺑﻪ ﻛﻤﻚ آن ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻳﺎ ﻧﻮع ارﺗﺒﺎط و ﻳﺎ ﻫﺮ دو ﻧﻤﺎﻳﺶ داده ﻣﻲﺷﻮﻧﺪ .در اداﻣﻪ دﻻﻳﻠﻲ ﻛﻪ اﺳﺘﻔﺎده از ﺳﺎﺧﺘﺎر دادهاي را ﺑﻴﺎن ﻣﻲﻛﻨﺪ اراﺋﻪ ﺷﺪه اﺳﺖ:
ﭘﺎﻳﮕﺎه دادهﻫﺎ
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
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 91
-2آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ اﻳﻦ ﺳﺎﺧﺘﺎر ﻗﺪﻳﻤﻲ ﺗﺮﻳﻦ ﺳﺎﺧﺘﺎر داده اي ﺑﺮاي ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه داده ﻫﺎ )در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ( اﺳﺖ .اﻧﺴﺎن از دﻳﺮﺑﺎز ﺑﺎ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ آﺷﻨﺎ ﺑﻮد و آن را ﺑﺮاي رده ﺑﻨﺪي ﭘﺪﻳﺪهﻫﺎ )در ﻣﻌﻨﺎي ﻋﺎم( در ﺟﻬﺎن واﻗﻊ ،اﺳﺘﻔﺎده ﻣﻲﻛﺮد .در اواﺳﻂ دﻫﻪ 1960 ﻣﻴﻼدي ،وﻗﺘﻲ ﻛﻪ ﻃﺮاﺣﺎن ﺳﻴﺴﺘﻢ ﻫﺎي ﻧﮕﻬﺪاري داده -داده ﭘﺮدازي در اﻧﺪﻳﺸﻪ ﻳﺎﻓﺘﻦ ﻧﻮﻋﻲ "رﻛﻮرد ﺳﺎﺧﺘﻤﻨﺪ" ﺑﻮدﻧﺪ )ﺑﻪ ﺟﺎي "رﻛﻮرد ﺧﻄﻲ ﻣﺴﻄﺢ"( ﻫﻤﻴﻦ ﻣﻔﻬﻮم آﺷﻨﺎي "ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ" را ﺑﺮاي ﻧﻤﺎﻳﺶ داده ﻫﺎي ﻣﻮرد ﻧﻈﺮﺷﺎن ،ﻣﻨﺎﺳﺐ ﻳﺎﻓﺘﻨﺪ.
1-2ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ در اﺳﺎس ﻧﻮﻋﻲ درﺧﺖ اﺳﺖ ﻛﻪ ﻣﻔﻬﻮم آﺷﻨﺎﻳﻲ اﺳﺖ .در ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،دو ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ وﺟﻮد دارد: •
ﻧﻮع رﻛﻮرد
•
ﻧﻮع ﭘﻴﻮﻧﺪ ﭘﺪر-ﻓﺮزﻧﺪي
ﺑﻄﻮرﻳﻜﻪ ﺧﻮاﻫﻴﻢ دﻳﺪ ،ﻧﻮع رﻛﻮرد ﺑﺮاي ﻧﻤﺎﻳﺶ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻛﺎر ﻣﻲرود .ﺑﻴﻦ ﻫﺮ دو ﻧﻮع رﻛﻮرد ﺑﻼﻓﺼﻞ از ﻳﻚ ﻣﺴﻴﺮ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ،ﭘﻴﻮﻧﺪ ﭘﺪر-ﻓﺮزﻧﺪي وﺟﻮد دارد و ﺑﺎ ﺍﻳﻦ ﭘﻴﻮﻧﺪ ارﺗﺒﺎط ﺑﻴﻦ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮد .ﺍﻳﻦ ﻧﻮع ﭘﻴﻮﻧﺪ ،ﻃﺒﻖ ﻣﺎﻫﻴﺖ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ،ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ را ﻣﻲ ﺗﻮاﻧﺪ ﻧﻤﺎﻳﺶ دﻫﺪ. در ﺳﻮي "ﻳﻚ" ارﺗﺒﺎط ) ،(1ﻧﻮع رﻛﻮرد ﭘﺪر و در ﺳﻮي "ﭼﻨﺪ" ) (Nآن ،ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ ﻗﺮار دارد. X
..... 1: N Y
..... ﺷﻜﻞ 2-5ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ
ﭘﺎﻳﮕﺎه دادهﻫﺎ
92
در ﺷﻜﻞ ،2-5رﻛﻮرد ﻧﻮع
Y
ﻓﺮزﻧﺪ و رﻛﻮرد ﻧﻮع ،Xﭘﺪر اﺳﺖ .ﻫﺮ ﻧﻮع رﻛﻮرد )از
ﻫﺮ ﺳﻄﺢ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ( ،ﻣﻲ ﺗﻮاﻧﺪ از ﺻﻔﺮ ﺗﺎ nﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ )در ﺳﻄﺢ ﺑﻼﻓﺎﺻﻠﻪ ﭘﺎﺋﻴﻦ ﺗﺮ و در ﻣﺴﻴﺮ ﻫﺎي ﻣﺨﺘﻠﻒ ﻃﺒﻌﺎ( داﺷﺘﻪ ﺑﺎﺷﺪ .ﭘﺲ ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ از ﻳﻚ ﺳﻄﺢ ،ﺧﻮد ﻣﻲ ﺗﻮاﻧﺪ ﭘﺪر اﻧﻮاﻋﻲ از رﻛﻮرد ﻫﺎ در ﺳﻄﺢ ﺑﻼﻓﺎﺻﻠﻪ ﭘﺎﺋﻴﻦ ﺗﺮ و در ﭼﻨﺪ ﻣﺴﻴﺮ ﺑﺎﺷﺪ .ﺑﺪﻳﻨﺴﺎن ،ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ از اﻧﻮاع رﻛﻮردﻫﺎ در ﺳﻄﻮح و ﻣﺴﻴﺮﻫﺎي ﻣﺨﺘﻠﻒ ﺍﻳﺠﺎﺩ ﻣﻲ ﺷﻮد. •
رﻳﺸﻪ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ،رﻛﻮرد ﻧﻮع ﭘﺪر در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ اﺳﺖ .ﺑﻘﻴﻪ اﻧﻮاع رﻛﻮردﻫﺎ ،واﺑﺴﺘﮕﺎن رﻳﺸﻪ در ﺳﻄﻮح ﻣﺨﺘﻠﻒ ،ﻫﺴﺘﻨﺪ.
•
رﻳﺸﻪ در ﺣﺎﻟﺖ ﺧﺎص ﻣﻤﻜﻦ اﺳﺖ اﺻﻼً ﻓﺮزﻧﺪ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ و درﺍﻳﻦ ﺻﻮرت ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ را " ﻓﻘﻂ رﻳﺸﻪ" ﻣﻲﮔﻮﻳﻴﻢ.
ﺑﺮاي ﻣﺜﺎل ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺑﺎ ﺗﻌﺪاد 9ﻧﻮع رﻛﻮرد در ﺷﻜﻞ 3-5ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.
ﺷﻜﻞ 3-5ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﻲ ﻧﻪ ﻧﻮع رﻛﻮرد در ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 93
ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺗﺮﺗﻴﺐ ﭘﺮ ﺷﺪن زﻳﺮ ﻣﺠﻤﻮﻋﻪﻫﺎ ﺑﺮ اﺳﺎس ﻧﻴﺎز اﻃﻼﻋﺎﺗﻲ ﺑﻮده و ﻫﻴﭻ ﻧﻮع ﻧﻈﻢ ﺧﺎﺻﻲ را ﻧﺪارد .ﻫﻤﭽﻨﻴﻦ ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ ،ﺗﻨﻬﺎ ﻳﻚ ﻧﻮع رﻛﻮرد ﭘﺪر دارد. ﺗﻮﺟﻪ :ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ،از ﻟﺤﺎظ ﻧﻈﺮي ﻣﻲ ﺗﻮاﻧﺪ ﻫﺮ ﺗﻌﺪاد ﻣﺴﻴﺮ داﺷﺘﻪ ﺑﺎﺷﺪ )ﻋﺮض( و ﻋﻤﻖ ﻫﺮ ﻣﺴﻴﺮ ﻫﻢ ﻣﺤﺪودﻳﺘﻲ ﻧﺪارد .اﻣﺎ در ﺳﻴﺴﺘﻢ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻋﺮض و ﻋﻤﻖ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻣﻌﻤﻮﻻً ﻳﻚ ﺳﻘﻒ ﺣﺪاﻛﺜﺮ )ﻣﺜﻼ 16ﺳﻄﺢ( دارد.
2-2ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ )از دﻳﺪ ﻛﺎرﺑﺮ( ﭘﺎﻳﮕﺎه داده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ ﻣﻨﻄﻘﺎً "ﻣﻨﻈﻢ" از ﻧﻤﻮﻧﻪ ﻫﺎي ﻣﺘﻤﺎﻳﺰ ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ) .روﺷﻦ اﺳﺖ ﻛﻪ در ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ،ﻧﻬﺎﻳﺘﺎ ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از ﻓﺎﻳﻠﻬﺎي ذﺧﻴﺮه ﺷﺪه ﺑﻬﻢ ﻣﺮﺗﺒﻂ ﺑﺮ اﺳﺎس ﻫﻤﺎن ﭘﻴﻮﻧﺪﻫﺎي ﻣﻨﻄﻘﻲ و ﺑﺎ ﺳﺎﺧﺘﺎر ﻣﺸﺨﺺ(. ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در ﻫﺮ ﻧﻤﻮﻧﻪ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ،ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﺘﻤﺎﻳﺰ از رﻳﺸﻪ دارﻳﻢ )ﻋﺎﻣﻞ ﺗﻤﺎﻳﺰ ،ﻛﻠﻴﺪ رﻳﺸﻪ اﺳﺖ( .ﻫﺮ ﻧﻤﻮﻧﻪ از ﻳﻚ رﻛﻮرد از ﻳﻚ ﺳﻄﺢ ﻣﻲﺗﻮاﻧﺪ از ﺻﻔﺮ ﺗﺎ n
ﻧﻤﻮﻧﻪ از ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ ﺑﻼﻓﺼﻞ ،داﺷﺘﻪ ﺑﺎﺷﺪ .ﻧﻤﻮﻧﻪﻫﺎي ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ
ذﻳﻞ ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر ﻣﺸﺨﺺ ﻫﻢ از ﻳﻜﺪﻳﮕﺮ ﻣﺘﻤﺎﻳﺰﻧﺪ .ﻋﺎﻣﻞ ﺗﻤﺎﻳﺰ ،ﻫﻤﺎن ﻛﻠﻴﺪ رﻛﻮرد ﻓﺮزﻧﺪ اﺳﺖ .ﺑﻪ ﻋﻨﻮان اوﻟﻴﻦ ﻣﺜﺎل ،ﻧﻤﻮدار ERﺷﻜﻞ 4-5را در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ.ﺍﻳﻦ ﻧﻤﻮدار ﻧﻮع ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺖﻫﺎ داﻧﺸﺠﻮ ،و ﮔﺮوه آﻣﻮزﺷﻲ را ﻧﺸﺎن ﻣﻲدﻫﺪ:
ﺷﻜﻞ 4-5ﻧﻤﻮدار ERﻣﺜﺎل 1
94
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻓﺮض ﻣﻲﻛﻨﻴﻢ ﻛﻪ ﻳﻚ داﻧﺸﺠﻮ ﻓﻘﻂ در ﻳﻚ ﮔﺮوه آﻣﻮزﺷﻲ ﺗﺤﺼﻴﻞ ﻣﻲﻛﻨﺪ )واﺑﺴﺘﻪ ﺑﻪ ﻳﻚ ﮔﺮوه آﻣﻮزﺷﻲ اﺳﺖ( .ﭼﻨﺪي ارﺗﺒﺎط "ﺗﺤﺼﻴﻞ ﻛﺮدن " درﺍﻳﻦ ﻣﺜﺎل ،ﻳﻚ ﺑﻪ ﭼﻨﺪ اﺳﺖ ،ﺑﻨﺎﺑﺮاﻳﻦ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺑﻪ ﺻﻮرت ﺷﻜﻞ 5-5ﻃﺮاﺣﻲ ﻣﻲﻛﻨﻴﻢ: DEPT DID
.....
STUDENT YEAR
TERM
STID
.....
ﺷﻜﻞ 5-5ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ
در ﺍﻳﻦ ﻃﺮح ﺳﺎده ،رﻛﻮرد ﻧﻮع
DEPT
ﻧﻮع DEST
رﻳﺸﻪ -ﭘﺪر و رﻛﻮرد ﻧﻮع
STUD
واﺑﺴﺘﻪ
ﺑﻼﻓﺼﻞ )ﻓﺮزﻧﺪ( اﺳﺖ .ﻓﻘﻂ ﻓﻴﻠﺪ ﺻﻔﺖ ﺷﻨﺎﺳﻪ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ راﻧﺸﺎن دادهاﻳﻢ .ﺻﻔﺖ ارﺗﺒﺎط ،ﻓﻴﻠﺪي از ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ ﻣﻲﺷﻮد .ﭘﺲ ﭘﺎﻳﮕﺎهداده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﺠﻤﻮﻋﻪاي اﺳﺖ ﻣﻨﻄﻘﺎً ﻣﻨﻈﻢ از ﻧﻤﻮﻧﻪﻫﺎي ﻣﺘﻤﺎﻳﺰ ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ. ﻣﺜﺎل :2در ﻣﺜﺎل ﻗﺒﻞ ،ﭼﻨﺪي ارﺗﺒﺎط "ﻳﻚ ﺑﻪ ﭼﻨﺪ" اﺳﺖ .درﺍﻳﻦ ﻣﺜﺎل ،ﻳﻚ ارﺗﺒﺎط ﺑﺎ ﭼﻨﺪي "ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ" را ﻣﻄﺮح ﻣﻲﻛﻨﻴﻢ. ﻧﻤﻮدار "داﻧﺸﺠﻮ -درس" را در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ .ﻣﻲداﻧﻴﻢ ﻛﻪ ﭼﻨﺪي ارﺗﺒﺎط "اﻧﺘﺨﺎب" ،ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ اﺳﺖ .اﮔﺮ ارﺗﺒﺎط ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ را ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ دو ﺳﻮﻳﻪ ﺑﺪاﻧﻴﻢ ﺑﺮاي ﻧﻤﺎﻳﺶﺍﻳﻦ ارﺗﺒﺎط ﺑﺎ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎر دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،ﻣﻨﻄﻘﺎً ﺑﻪ دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻧﻴﺎز دارﻳﻢ .دو روش ﺑﺮاي ﻃﺮاﺣﻲ وﺟﻮد دارد: روش :1ﻃﺮاﺣﻲ دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺟﺪاﮔﺎﻧﻪ در ﺍﻳﻦ ﻃﺮاﺣﻲ ،ﻳﻚ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻓﺮزﻧﺪ ،ﻣﻲ ﺗﻮاﻧﺪ ﺗﻜﺮار ﺷﻮد :ﻣﺜﻼ در ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻧﻮع ،STCOﻳﻚ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻧﻮع درس ذﻳﻞ ﻫﺮ ﻧﻤﻮﻧﻪ رﻛﻮرد داﻧﺸﺠﻮ ﻛﻪ آن درس اﻧﺘﺨﺎب ﻛﺮده ﺑﺎﺷﺪ ،ﻣﻲ آﻳﺪ .ﭼﻨﻴﻦ اﺳﺖ ﺑﺮاي رﻛﻮرد ﻧﻮع ﻣﺮاﺗﺐ ﻧﻮع .COST
STUD
در ﺳﻠﺴﻠﻪ
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 95
ﺷﻜﻞ 6-5ﻧﻤﺎﻳﺶ دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺟﺪاﮔﺎﻧﻪ ﺑﺮاي ارﺗﺒﺎط ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ
ﺍﻳﻦ ﺗﻜﺮار ،در واﻗﻊ ﻫﻤﺎن ﭘﺪﻳﺪه ﻧﺎﻣﻄﻠﻮب اﻓﺰوﻧﮕﻲ اﺳﺖ.ﺍﻳﻦ اﻓﺰوﻧﮕﻲ اﻟﺒﺘﻪ ﻣﺎﻫﻴﺘﺎ ﻣﻨﻄﻘﻲ ﻳﺎ ادراﻛﻲ اﺳﺖ .اﻣﺎ اﮔﺮ ﻣﻨﺠﺮ ﺑﻪ ﺑﺮوز اﻓﺰوﻧﮕﻲ در ﻣﺤﻴﻂ ﻓﻴﺰﻳﻜﻲ ذﺧﻴﺮه ﺳﺎزي ﺷﻮد ﻣﻲﺗﻮاﻧﺪ: •
ﺳﺒﺐ ﺑﺮوز ﻧﺎﺳﺎزﮔﺎري دادهاي ﺷﻮد )ﺑﻪ ﻳﺎد داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ اﻓﺰوﻧﮕﻲ ﻛﻨﺘﺮل ﻧﺸﺪه و ﻧﺎﺳﺎزﮔﺎري دادهاي ﭘﺸﺖ و روي ﻳﻚ ﺳﻜﻪاﻧﺪ !(.
•
ﺳﺒﺐ ﺑﺮوز ﻓﺰوﻧﻜﺎري )ﺑﻴﺸﻜﺎري(در ﺳﻴﺴﺘﻢ در اﻧﺠﺎم ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺷﻮد.
ﺗﻮﺟﻪ :ﻣﻲ ﺗﻮان ارﺗﺒﺎط ﺑﺎ ﭼﻨﺪي ﻣﺜﻼ ﻓﻘﻂ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ
M:N
را ﺑﺎ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻫﻢ ﻃﺮاﺣﻲ ﻛﺮد،
STCO
را داﺷﺖ .اﻣﺎ ﭼﻮن ﻣﻨﻄﻖ ﻃﺒﻴﻌﻲ در ﺳﻠﺴﻠﻪ
ﻣﺮاﺗﺐ ،ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﺎﻫﻴﺖ ﭘﻴﻮﻧﺪ ﭘﺪر -ﻓﺮزﻧﺪي ،ورود از رﻳﺸﻪ و ﻃﻲ ﻛﺮدن ﻣﺴﻴﺮ ﻣﻨﺎﺳﺐ ﺑﺮاي رﺳﻴﺪن ﺑﻪ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ ﻣﻮرد ﻧﻈﺮ اﺳﺖ ،ﺑﺮاي ﭘﺎﺳﺨﮕﻮﻳﻲ ﺑﻪ ﭘﺮﺳﺸﻲ ﻛﻪ در آن ﻛﻠﻴﺪ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ داده ﺷﺪه ﺑﺎﺷﺪ و ﻧﻤﻮﻧﻪ )ﻫﺎي( ﭘﺪر ﻣﻮرد درﺧﻮاﺳﺖ ﺑﺎﺷﺪ، دﻳﮕﺮ ﻧﻤﻲ ﺗﻮان ﻣﻨﻄﻘﺎً ﺑﺮ اﺳﺎس روﻳﻪ ﻣﺒﺘﻨﻲ ﺑﺮ ﭘﻴﻮﻧﺪ ﭘﺪر -ﻓﺮزﻧﺪي ﻋﻤﻞ ﻛﺮد .ﺑﻌﻼوه ﺑﺎ داﺷﺘﻦ ﻓﻘﻂ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺑﺮاي ارﺗﺒﺎط
M:N
و )ﻋﺪم وﺟﻮد ﻧﻮع ﺳﻠﺴﻠﻪ
ﻣﺮاﺗﺐ ﻗﺮﻳﻨﻪ( ،ﻣﺸﻜﻼﺗﻲ ﻧﺎﺷﻲ از ﻣﺎﻫﻴﺖ ﭘﻴﻮﻧﺪ ﭘﺪر-ﻓﺮزﻧﺪي در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي در ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﺮوز ﻣﻲ ﻛﻨﺪ )از ﺟﻤﻠﻪ ﻋﺪم اﻣﻜﺎن درج ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ ﺑﺪون وﺟﻮد ﻧﻤﻮﻧﻪ ﭘﺪر و ﻳﺎ ﻟﺰوم اﻧﺠﺎم ﺑﻬﻨﮕﺎم ﺳﺎزي ﻣﻨﺘﺸﺮ ﺷﻮﻧﺪه
(
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
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 97
ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ
PCL
و
VPCL
از ﻧﻈﺮ ﻣﻔﻬﻮﻣﻲ ،ﻳﻜﺴﺎن ﻫﺴﺘﻨﺪ ،ﺗﻔﺎوت در
ﻃﺮز ﭘﻴﺎده ﺳﺎزي آﻧﻬﺎ اﺳﺖ PCL :ﺑﺎ اﺳﺘﻔﺎده از ﺗﻮاﻟﻲ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﭘﻴﺎده ﺳﺎزي ﻣﻲﺷﻮد و VPCLﺑﺎ اﺳﺘﻔﺎده از ﻧﺸﺎﻧﻪ رو ﻓﻴﺰﻳﻜﻲ ﺣﺎوي آدرس و ﻳﺎ ﻧﺸﺎﻧﻪ رو ﻣﻨﻄﻘﻲ ﺣﺎوي ﻛﻠﻴﺪ ،از رﻛﻮرد ﻓﺮزﻧﺪ ﻣﺠﺎزي ﺑﻪ رﻛﻮرد ﭘﺪر ﻣﺠﺎزي.ﺍﻳﻦ ﺗﻜﻨﻴﻚ ﺳﺒﺐ اﻓﺰاﻳﺶ ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ در ﭘﺎﺳﺦ ﮔﻮﻳﻲ ﺑﻪ ﺑﻌﺾ ﭘﺮﺳﺸﻬﺎ ﻣﻲﺷﻮد. ﻣﺜﺎل :3درﺍﻳﻦ ﻣﺜﺎل ،ﻳﻚ ارﺗﺒﺎط ﺳﻪ ﻣﻮﺟﻮدﻳﺘﻲ را در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢ :ارﺗﺒﺎط ﺑﻴﻦ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖ ﻫﺎي داﻧﺸﺠﻮ ،درس و اﺳﺘﺎد ﻛﻪ در ﺑﺤﺚ ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ داده ﻫﺎ دﻳﺪﻳﻢ. ﻧﻤﻮدار ERﻣﺮﺑﻮﻃﻪ در ﺷﻜﻞ 8-5ﻧﺸﺎن داده ﺷﺪه اﺳﺖ:
ﺷﻜﻞ 8-5ﻧﻤﻮدار ERارﺗﺒﺎط ﺑﻴﻦ ﺳﻪ ﻣﻮﺟﻮدﻳﺖ
ﺑﺮاي ﺗﺒﺪﻳﻞ ﺍﻳﻦ ﻧﻤﻮدار ﺑﻪ ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،دو روش ﻣﻤﻜﻦ ﺑﻪ ﺻﻮرت زﻳﺮ ﺧﻮاﻫﻨﺪ ﺑﻮد:
ﭘﺎﻳﮕﺎه دادهﻫﺎ
98
روش اول:
روش دوم:
ﺷﻜﻞ 9-5روشﻫﺎي ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺳﻪ ﻣﻮﺟﻮدﻳﺘﻲ ﺑﺎ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
3-2ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،ﺑﺮﺧﻲ از دﺳﺘﻮرات ﻻزم ،ﺑﻄﻮر ﻛﻠﻲ ﭼﻨﻴﻦ اﻧﺪ: •
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻧﻮع رﻳﺸﻪ.
•
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ رﻳﺸﻪ ﺑﻌﺪي.
•
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ از ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر )ﺑﻼﻓﺼﻞ ﻳﺎ از ﻧﻤﻮﻧﻪ ﭘﺪران ﺗﺎ رﻳﺸﻪ(.
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 99 •
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ ﺑﻌﺪي از ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر.
•
دﺳﺘﻮر درج ﻳﻚ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ زﻳﺮ ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر )ﻣﺸﺨﺼﺎت ﻣﺴﻴﺮ ،در ﺻﻮرت ﻧﻴﺎز ﺑﺎﻳﺪ داده ﺷﻮد(.
•
دﺳﺘﻮر ﺣﺬف ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ از ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر)ﻣﺸﺨﺼﺎت ﻣﺴﻴﺮ ،در ﺻﻮرت ﻧﻴﺎز ﺑﺎﻳﺪ داده ﺷﻮد(.
•
دﺳﺘﻮر ﺑﻬﻨﮕﺎم ﺳﺎزي ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ از ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر )ﻣﺸﺨﺼﺎت ﻣﺴﻴﺮ ،در ﺻﻮرت ﻧﻴﺎز ﺑﺎﻳﺪ داده ﺷﻮد(.
4-2ﺑﺮﺧﻲ وﻳﮋﮔﻲﻫﺎي ﺳﺎﺧﺘﺎر )و ﻣﺪل( دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ در اداﻣﻪ ﺑﺮﺧﻲ وﻳﮋﮔﻲ ﻫﺎي ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﺑﻪ اﺧﺘﺼﺎر ﺑﻴﺎن ﺷﺪه اﺳﺖ: •
ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻧﺪارد )ﺣﺪاﻗﻞ در ﺳﻴﺴﺘﻢ ﻣﻮﺟﻮد( و ازﺍﻳﻦ رو ﻣﻴﺰان اﻧﺘﺰاع آن ﺑﻪاﻧﺪازه اﻧﺘﺰاع ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ ﻧﻴﺴﺖ )اﻟﺒﺘﻪ ﮔﺮاف ﻳﻚ ﺳﻮﻳﻪ ،ﺑﻲﮔﺴﺴﺖ و ﻧﺎﺑﺎزﮔﺸﺘﻲ ﻣﻲﺗﻮاﻧﺪ ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻣﻨﺎﺳﺒﻲ ﺑﺮاي ﺍﻳﻦ ﺳﺎﺧﺘﺎر دادهاي ﺑﺎﺷﺪ(.
•
دو ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ دارد )و ﻧﻪ ﻳﻜﻲ(.
•
ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ ﻣﻨﺎﺳﺐ اﺳﺖ )ﻣﺤﺪودﻳﺖ ﺳﺎﺧﺘﺎر(.
•
در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي ﻣﺸﻜﻼﺗﻲ دارد.
•
در ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ" دﺷﻮاري دارد و ﻧﻴﺰ در ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺳﻪ ﮔﺎﻧﻲ ﻳﺎ ﺑﺎ درﺟﻪ ﺑﻴﺸﺘﺮ و ﻫﻤﭽﻨﻴﻦ وﻗﺘﻲ ﻛﻪ دو ﻳﺎ ﺑﻴﺶ از دو ارﺗﺒﺎط ﺑﺎ ﭼﻨﺪي داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ در آﻧﻬﺎ ،در ﻃﺮف
N
1 :N
ارﺗﺒﺎط ،ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ واﺣﺪ وﺟﻮد
داﺷﺘﻪ ﺑﺎﺷﺪ ،ﺑﻪ ﺻﻮرت ﺷﻜﻞ زﻳﺮ. ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ درﺍﻳﻦﺟﺎ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ
E1وE2
ﻣﻤﻜﻦ اﺳﺖ ﻳﻜﺴﺎن ﻫﻢ
ﺑﺎﺷﻨﺪ ،ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ دو ﻳﺎ ﺑﻴﺶ از دو ﻧﻮع ارﺗﺒﺎط ﺑﻴﻦ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ(.
100ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺷﻜﻞ 10-5ﻧﻤﻮدار ﺗﻮع ارﺗﺒﺎط 1ﺑﻪ ﭼﻨﺪ
-3آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر دادهاي ﺷﺒﻜﻪاي اﻳﻦ ﺳﺎﺧﺘﺎر )ﻛﻪ ﮔﺎه ﺑﻪ آن ﺳﺎﺧﺘﺎر ﭘﻠﻜﺲ ﻫﻢ ﻣﻲ ﮔﻮﻳﻨﺪ( ،ﻧﺨﺴﺘﻴﻦ ﺑﺎر در ﺳﺎل 1966 ﺗﻮﺳﻂ ﻳﻚ ﮔﺮوه ﻛﺎري ﺑﻪ ﻧﺎم
DBTG
واﺑﺴﺘﻪ ﺑﻪ
ANSI
ﭘﻴﺸﻨﻬﺎد ﺷﺪه اﺳﺖ .در ﺳﺎل
1971اوﻟﻴﻦ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﺷﺒﻜﻪ اي ) (NDBMSﻣﻮرد ﺗﺎﺋﻴﺪ ،ANSI ﺑﻪ ﻧﺎم
IDMS
ﺗﻮﺳﻂ ﻫﻤﺎن ﮔﺮوه ﻛﺎري ﻃﺮاﺣﻲ ﺷﺪ.ﺍﻳﻦ ﺳﻴﺴﺘﻢ ﮔﺎه ﺑﻪ ﺳﻴﺴﺘﻢ
ﻛﻮداﺳﻴﻞ و ﻣﺪل داده اي ﺷﺒﻜﻪ اي ﺑﻪ ﻣﺪل داده اي ﻛﻮداﺳﻴﻞ ﻧﻴﺰ ﻣﻮﺳﻮم اﺳﺖ. ﺳﻴﺴﺘﻢ ﻫﺎي ﺷﺒﻜﻪ اي دﻳﮕﺮ ﻋﺒﺎرﺗﻨﺪ از: •
VAX- DBMS
• •
IMAGE .1100-DMS
1-3ﺗﻌﺮﻳﻒ ﺳﺎﺧﺘﺎر ﺷﺒﻜﻪ ﺷﺒﻜﻪ ﻧﻮﻋﻲ ﮔﺮاف ﺟﻬﺖ دار اﺳﺖ ﻛﻪ در آن ﮔﺮه ﻫﺎ ﺑﻪ ﻛﻤﻚ ﻳﺎل ﻫﺎﻳﻲ ﺑﻬﻢ ﺑﺴﺘﻪ اﻧﺪ. در ﺷﻜﻞ 10-5ﻳﻚ ﺷﺒﻜﻪ ﺑﺎ ﻫﺸﺖ ﮔﺮه دﻳﺪه ﻣﻲ ﺷﻮد.ﺍﻳﻦ ﺳﺎﺧﺘﺎر را ﻣﻲ ﺗﻮان ﮔﺴﺘﺮش ﻳﺎﻓﺘﻪ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ داﻧﺴﺖ ﺑﻬﺎﻳﻦ ﻣﻌﻨﺎ ﻛﻪ در آن ﻫﺮ ﻧﻮع ﮔﺮه ﻓﺮزﻧﺪ ﻣﻲ ﺗﻮاﻧﺪ ﺑﻴﺶ از ﻳﻚ ﻧﻮع ﮔﺮه ﭘﺪر داﺷﺘﻪ ﺑﺎﺷﺪ و ﺑﻨﺎﺑﺮﻳﻦ ازﺍﻳﻦ ﻧﻈﺮ ،ﻣﺤﺪودﻳﺖ ﻋﺪم ﺗﻘﺎرن ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ را ﻧﺪارد.
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 101
ﺷﻜﻞ 11-5ﻧﻤﺎﻳﺶ ﻛﻠﻲ ﺳﺎﺧﺘﺎر ﺷﺒﻜﻪ
2-3ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري در ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي دو ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ وﺟﻮد دارد: •
ﻧﻮع رﻛﻮرد
•
ﻧﻮع ﻣﺠﻤﻮﻋﻪ
ﻧﻮع رﻛﻮرد :ﺑﺮاي ﻧﻤﺎﻳﺶ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻛﺎر ﻣﻲرود )ﻣﺜﻞ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ( .در ﻳﻚ ﻧﻮع رﻛﻮرد ﻃﺒﻌﺎ ﺻﻔﺎﺗﻲ وﺟﻮد دارد ﻛﻪ ﻣﻲﺗﻮاﻧﻨﺪ ﺳﺎده ﺗﻜﺮار ﺷﻮﻧﺪه )ﺑﺮدار در اﺻﻄﻼح ﺷﺒﻜﻪ اي( ﻳﺎ ﻣﺮﻛﺐ ﺗﻜﺮار ﺷﻮﻧﺪه )ﮔﺮوه ﺗﻜﺮار ﺷﻮﻧﺪه در اﺻﻄﻼح ﺷﺒﻜﻪ اي( ﻫﻢ ﺑﺎﺷﻨﺪ. ﻧﻮع ﻣﺠﻤﻮﻋﻪ :در اﺳﺎس ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط 1:Nﺑﻴﻦ دو )ﭼﻨﺪ( ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻜﺎر ﻣﻲ رود .ﻧﻮع ﻣﺠﻤﻮﻋﻪ )ﻛﻪ ﺑﻪ آن ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞ ﻫﻢ ﻣﻲ ﮔﻮﻳﻨﺪ( ،از ﺳﻪ ﺟﺰء ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ: •
ﻧﺎم ﻣﺠﻤﻮﻋﻪ
•
ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ
•
ﻳﻚ ﻧﻮع رﻛﻮرد ﻋﻀﻮ
ﻫﺮ ﭼﻨﺪ ﺍﻳﻦ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري در اﺳﺎس ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﻳﻚ ﺑﻪ ﭼﻨﺪ" ﺑﻴﻦ دو ﻳﺎ ﺑﻴﺶ از دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻜﺎر ﻣﻲ رود ،اﻣﺎ ﻣﻲ ﺗﻮان ارﺗﺒﺎط "ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ" را ﻫﻢ ﺑﺎ آن ﻧﻤﺎﻳﺶ داد .در ﺍﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ ﻧﻜﺎت زﻳﺮ ﺗﻮﺟﻪ ﮔﺮدد:
102ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻣﺎﻟﻚ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ،ﻣﻲﺗﻮاﻧﺪ ﻣﺎﻟﻚ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ.
•
ﻣﺎﻟﻚ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮاﻧﺪ ﻋﻀﻮ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ.
•
ﻋﻀﻮ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮاﻧﺪ ﻣﺎﻟﻚ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ.
•
ﻋﻀﻮ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮاﻧﺪ ﻋﻀﻮ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ .ﺑﻪ اﻳﻦ ﻋﻀﻮ ،ﻋﻀﻮ ﻣﺸﺘﺮك ﻳﺎ ﭘﻴﻮﻧﺪ دﻫﻨﺪه ﻣﻲﮔﻮﺋﻴﻢ و در ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺑﺎ ﭼﻨﺪي N:Mﺑﻜﺎر ﻣﻲآﻳﺪ.
ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ،ﻣﻲ ﺗﻮاﻧﺪ ﻧﻤﻮﻧﻪ ﻫﺎﻳﻲ داﺷﺘﻪ ﺑﺎﺷﺪ .در ﻫﺮ ﻧﻤﻮﻧﻪ ﻣﺠﻤﻮﻋﻪ ،ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﺸﺨﺺ و ﻣﺘﻤﺎﻳﺰ از رﻛﻮرد ﻧﻮع ﻣﺎﻟﻚ و
n≥ 0
ﻧﻤﻮﻧﻪ ﻣﺘﻤﺎﻳﺰ از رﻛﻮرد ﻧﻮع ﻋﻀﻮ
وﺟﻮد دارد .ﭘﺎﻳﮕﺎه داده ﻫﺎي ﺷﺒﻜﻪ اي در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ )از دﻳﺪ ﻛﺎرﺑﺮ( ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ ﻣﻨﻄﻘﺎً "ﻣﻨﻈﻢ" از ﻧﻤﻮﻧﻪ ﻫﺎي ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﻧﻮع ﻣﺠﻤﻮﻋﻪ.
3-3ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪاي ﭘﺎﻳﮕﺎه داده ﺷﺒﻜﻪ اي روش ﺧﺎص ﺧﻮد ﺟﻬﺖ ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺖ ﻫﺎ را دارا اﺳﺖ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻫﻤﻴﺖ ارﺗﺒﺎط ﻫﺎي از ﻧﻮع ﻳﻚ ﺑﻪ ﭼﻨﺪ و ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ ،ﻧﺤﻮه ﻧﻤﺎﻳﺶ و ﭘﻴﺎده ﺳﺎزي ﺍﻳﻦ دو ﻧﻮع ارﺗﺒﺎط در زﻳﺮ ﺗﻮﺿﻴﺢ داده ﺷﺪه اﻧﺪ.
1-3-3ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط " ﻳﻚ ﺑﻪ
ﭼﻨﺪ"
در ﺍﻳﻦ ﻧﻮع ﺣﺎﻟﺖ ﻧﻮع رﻛﻮرد ﺳﻮي " ﻳﻚ " را ﻣﺎﻟﻚ و ﻧﻮع رﻛﻮرد ﺳﻮي " ﭼﻨﺪ " را ﻋﻀﻮ در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢ.
ﺷﻜﻞ 12-5ﻧﻮع
ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞDEST
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 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
104ﭘﺎﻳﮕﺎه دادهﻫﺎ
ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻤﻜﻦ اﺳﺖ ﺑﺎزﮔﺸﺘﻲ ﺑﺎﺷﺪ .درﺍﻳﻦ ﮔﻮﻧﻪ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ،ﻳﻚ ﻧﻮع رﻛﻮرد ﻫﻢ ﻣﺎﻟﻚ اﺳﺖ و ﻫﻢ ﻋﻀﻮ )اﻳﻦ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻏﺎﻟﺒﺎ در ﺳﻴﺴﺘﻤﻬﺎي ﺷﺒﻜﻪ اي ﻣﺠﺎز ﻧﻴﺴﺖ( .ﺷﻜﻞ 15-5ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖ Eﺑﺎ ﺧﻮدش را ﻧﺸﺎن ﻣﻲ دﻫﺪ:
ﺷﻜﻞ 15-5ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖ ﺑﺎ ﺧﻮدش
2-3-3ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﭼﻨﺪ ﺑﻪ
ﭼﻨﺪ"
ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎز ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ ،از ﻳﻚ ﻧﻮع رﻛﻮرد ﭘﻴﻮﻧﺪ دﻫﻨﺪه اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ ﻛﻪ ﻋﻀﻮ ﻣﺸﺘﺮك ﺑﻴﻦ دو ﻳﺎ ﺑﻴﺶ از دو ﻧﻮع ﻣﺠﻤﻮﻋﻪ اﺳﺖ )ﺗﻌﺪاد ﻧﻮع ﻣﺠﻤﻮﻋﻪﻫﺎ ﻫﻤﺎن ﺗﻌﺪاد ﻧﻮع ﻣﻮﺟﻮدﻳﺘﻬﺎي ﺷﺮﻛﺖ ﻛﻨﻨﺪه در ارﺗﺒﺎط اﺳﺖ .ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ ﺑﻪ ﺗﻌﺪاد درﺟﻪ ارﺗﺒﺎط ،ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﺑﺎ ﻋﻀﻮ ﻣﺸﺘﺮك دارﻳﻢ(.ﺍﻳﻦ ﻧﻮع رﻛﻮرد )ﻛﻪ ﻣﻲ ﺗﻮاﻧﺪ ﺑﺪون ﻳﺎ داراي ﻓﻴﻠﺪ )ﻫﺎي( داده اي ﺑﺎﺷﺪ( را ﮔﺎه رﻛﻮرد ﺳﺎﺧﺘﮕﻲ ﻣﻲ ﻧﺎﻣﻴﻢ .ﻓﻴﻠﺪ)ﻫﺎي( ﺍﻳﻦ رﻛﻮرد )در ﺳﻄﺢ ﻃﺮاﺣﻲ( ،ﻫﻤﺎن ﺻﻔﺖ )ﺻﻔﺎت( ارﺗﺒﺎط N:Mاﺳﺖ .ﺑﺮاي ﻧﻤﻮﻧﻪ در ﺷﻜﻞ 16-5ارﺗﺒﺎط " اﻧﺘﺨﺎب " ﺑﻴﻦ داﻧﺸﺠﻮ و درس ﻧﺸﺎن داده ﺷﺪه اﺳﺖ .ﺍﻳﻦ ارﺗﺒﺎط ﺑﻪ ﻛﻤﻚ دو ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻧﻤﺎﻳﺶ داده ﺷﺪه اﺳﺖ ﻛﻪ در آﻧﻬﺎ رﻛﻮرد
TYGR
رﻛﻮرد
ﭘﻴﻮﻧﺪ دﻫﻨﺪه اﺳﺖ. ﺣﺎل ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻣﻲﺧﻮاﻫﻴﻢ ﭘﺎﻳﮕﺎهداده ﺷﺒﻜﻪاي را در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ ﺗﻮﺻﻴﻒ ﻛﻨﻴﻢ .ﭘﺎﻳﮕﺎهداده ﺷﺒﻜﻪاي ﻣﺠﻤﻮﻋﻪ اﻳﺴﺖ ﻣﻨﻄﻘﺎً ﻣﻨﻈﻢ از ﻧﻤﻮﻧﻪﻫﺎي ﻣﺘﻤﺎﻳﺰ ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞ .در ﺍﻳﻨﺠﺎ ذﻛﺮ ﺍﻳﻦ ﻧﻜﺘﻪ اﻫﻤﻴﺖ دارد ﻛﻪ ﺳﺎﺧﺘﺎر ﭼﻨﺪ ﺣﻠﻘﻪاي
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 105
ﺑﻮﻳﮋه ﮔﻮﻧﻪﻫﺎي ﻛﺎﻣﻠﺘﺮش ﻣﻲﺗﻮاﻧﺪ ﺳﺎﺧﺘﺎر ﻣﻨﺎﺳﺒﻲ ﺑﺎﺷﺪ و ﻣﻲﺗﻮان ﺍﻳﻦ ﺳﺎﺧﺘﺎر را ﺑﺎ ﺳﺎﺧﺘﺎر ﺷﺎﺧﺺ و ﻳﺎ ﺳﺎﺧﺘﺎر ﻣﺴﺘﻘﻴﻢ از ﻃﺮﻳﻖ درﻫﻤﺴﺎزي ،ﺗﺮﻛﻴﺐ ﻛﺮد.
ﺷﻜﻞ 16-5ﻧﻤﺎﻳﺶ ارﺗﺒﺎط " ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ " ﺑﻴﻦ داﻧﺸﺠﻮ و درس
4-3ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪاي ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي ،ﺑﺮﺧﻲ دﺳﺘﻮرات ﺑﻄﻮر ﻛﻠﻲ ﻋﺒﺎرﺗﻨﺪ از: •
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ
•
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ ﺑﻌﺪي از ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ
•
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻳﻚ ﻧﻮع رﻛﻮرد ﻋﻀﻮ ﺑﺎ داﺷﺘﻦ ﻧﻤﻮﻧﻪ ﻣﺎﻟﻚ )ﻫﺎ(
•
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ ﺑﻌﺪي از ﻳﻚ ﻧﻮع رﻛﻮرد ﻋﻀﻮ ﺑﺎ داﺷﺘﻦ ﻧﻤﻮﻧﻪ ﻣﺎﻟﻚ )ﻫﺎ(
•
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﺎﻟﻚ از ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﺑﺎ داﺷﺘﻦ ﻳﻚ ﻧﻤﻮﻧﻪ ﻋﻀﻮ از آن
•
دﺳﺘﻮر درج ﻳﻚ ﻧﻤﻮﻧﻪ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ ﻳﺎ ﻧﻮع رﻛﻮرد ﻋﻀﻮ
•
دﺳﺘﻮر ﺣﺬف ﻳﻚ ﻧﻤﻮﻧﻪ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ ﻳﺎ ﻧﻮع رﻛﻮرد ﻋﻀﻮ
•
دﺳﺘﻮر ﺑﻬﻨﮕﺎم ﺳﺎزي ﻳﻚ ﻧﻤﻮﻧﻪ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ ﻳﺎ ﻧﻮع رﻛﻮرد ﻋﻀﻮ
106ﭘﺎﻳﮕﺎه دادهﻫﺎ
5-3ﺑﺮﺧﻲ وﻳﮋﮔﻲﻫﺎي ﺳﺎﺧﺘﺎر )و ﻣﺪل( دادهاي ﺷﺒﻜﻪاي در اداﻣﻪ ﺑﺮﺧﻲ وﻳﮋﮔﻲ ﻫﺎ و ﻣﺤﺪودﻳﺖﻫﺎي ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ را ﺷﺮح ﺧﻮاﻫﻴﻢ داد: •
ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻧﺪارد )ﺣﺪاﻗﻞ در ﺳﻴﺴﺘﻢ ﻣﻮﺟﻮد( ،ازﺍﻳﻦ رو ﻣﻴﺰان اﻧﺘﺰاع آن در ﺣﺪ ﺳﺎﺧﺘﺎر دادهاي راﺑﻄﻪاي )ﺟﺪوﻟﻲ( ﻧﻴﺴﺖ )اﻟﺒﺘﻪ ﮔﺮاف ﻣﻲﺗﻮاﻧﺪ ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻣﻨﺎﺳﺒﻲ ﺑﺮاي ﺍﻳﻦ ﺳﺎﺧﺘﺎر دادهاي ﺑﺎﺷﺪ(.
• •
دو ﻧﻮع ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ دارد. ﻣﺎﻫﻴﺘﺎ ﺧﺎص ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﺎت
"
ﻳﻚ ﺑﻪ ﭼﻨﺪ" ﻧﻴﺴﺖ ،ﻳﻌﻨﻲ ﻣﺤﺪودﻳﺘﻲ در
ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﺎت ﺑﺎ ﭼﻨﺪيﻫﺎي دﻳﮕﺮ ،ﻧﺪارد. •
ﺳﺎﺧﺖ ﻣﻨﻄﻘﻲ روﻳﻪ ﺑﺎزﻳﺎﺑﻲ آن ﭘﻴﭽﻴﺪه ﺗﺮ از ﺳﺎﺧﺘﺎرﻫﺎي دﻳﮕﺮ اﺳﺖ و ﻧﺎوش ﻏﻴﺮ اﺗﻮﻣﺎﺗﻴﻚ اﺳﺖ.
•
ﺧﻄﺮ ﺑﺮوز ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ ﻧﺴﺒﺖ ﺑﻪ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،ﻛﻤﺘﺮ اﺳﺖ.
•
ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ ذاﺗﻲ دارد.
•
ﺑﻌﺾ آﻧﻮﻣﺎﻟﻲﻫﺎي ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را ﻧﺪارد.
•
ﻓﺰون ﻛﺎري اﺣﺘﻤﺎﻟﻲ ﻧﺎﺷﻲ از اﻓﺰوﻧﮕﻲ ﻛﻪ در ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﻲﺗﻮاﻧﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ،درﺍﻳﻦ ﺳﺎﺧﺘﺎر وﺟﻮد ﻧﺪارد اﻣﺎ ﺑﻪ ﻋﻠﺖ ﺣﺠﻢ زﻳﺎد ﻧﺸﺎن ﻧﻤﺎﻫﺎ )اﺷﺎره ﮔﺮﻫﺎ( ،اﻳﺠﺎد ﻳﺎ اﺻﻼًح آﻧﻬﺎ ﻣﻲﺗﻮاﻧﺪ ﺳﺒﺐ ﺑﺮوز ﻓﺰون ﻛﺎري در ﺳﻴﺴﺘﻢ ﺷﻮد.
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 107
ﺗﻤﺮﻳﻨﺎت .1دﻻﻳﻞ اﺳﺘﻔﺎده از ﺳﺎﺧﺘﺎر دادهاي را ﺷﺮح دﻫﻴﺪ ؟ .2ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺳﺎﺧﺘﺎر داده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ را ﺷﺮح دﻫﻴﺪ ؟ .3وﻳﮋﮔﻲ ﻫﺎ و ﻣﺤﺪودﻳﺖ ﻫﺎي ﺳﺎﺧﺘﺎر داده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ را ﺷﺮح دﻫﻴﺪ ؟ .4ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺳﺎﺧﺘﺎر داده ﺷﺒﻜﻪ اي را ﺷﺮح دﻫﻴﺪ ؟ .5وﻳﮋﮔﻲ ﻫﺎ و ﻣﺤﺪودﻳﺖ ﻫﺎي ﺳﺎﺧﺘﺎر داده ﺷﺒﻜﻪ اي را ﺷﺮح دﻫﻴﺪ ؟ .6ﻧﺤﻮه ﭘﻴﺎده ﺳﺎزي ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ را در ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟
108ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻓﺼﻞ ۶ ﭘﺎﻳﮕﺎﻩﺩﺍﺩﻩ ﺭﺍﺑﻄﻪﺍﻱ ﻫﺪف ﻛﻠﻲ دراﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﺎرﻳﺨﭽﻪ اي در ﻣﻮرد ﺑﺎﻧﻚ اﻃﻼﻋﺎت راﺑﻄﻪ اي ﺑﻴﺎن ﺷﺪه و ﺳﺎﺧﺘﺎر داده اي راﺑﻄﻪ اي ﺑﻪ ﺗﻔﺼﻴﻞ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ .در اﻳﻦ راﺳﺘﺎ ﻣﻔﻬﻮم راﺑﻄﻪ ﺷﺮح داده ﺷﺪه و ﺗﻨﺎﻇﺮي ﺑﻴﻦ ﻣﻔﻬﻮم راﺑﻄﻪ و ﺟﺪول ﺑﻴﺎن ﺧﻮاﻫﺪ ﺷﺪ. ﺳﭙﺲ وﻳﮋﮔﻲﻫﺎي راﺑﻄﻪ ﺷﺮح داده ﺷﺪه و در ﻣﻮرد ﻣﻔﺎﻫﻴﻤﻲ ﻣﺎﻧﻨﺪ ﻛﻠﻴﺪﻫﺎ ،ﻧﻮع راﺑﻄﻪ و ﻣﻔﻬﻮم دﻳﺪ ﺻﺤﺒﺖ ﺧﻮاﻫﺪ ﺷﺪ .در اداﻣﻪ ﻣﻔﻬﻮم ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ ﻣﻄﺮح ﺷﺪه و اﻧﻮاع ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ ﺗﻮﺿﻴﺢ داده ﺧﻮاﻫﻨﺪ ﺷﺪ.
ﻫﺪف رﻓﺘﺎري دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﺑﺎﻧﻚ اﻃﻼﻋﺎت راﺑﻄﻪاي
•
ﺳﺎﺧﺘﺎر دادهاي راﺑﻄﻪاي
•
ﺗﻌﺮﻳﻒ راﺑﻄﻪ
•
ﺗﻨﺎﻇﺮ ﺑﻴﻦ ﻣﻔﺎﻫﻴﻢ راﺑﻄﻪاي و ﻣﻔﺎﻫﻴﻢ ﺟﺪوﻟﻲ
•
ﺗﻌﺮﻳﻒ ﺻﻮري ﺟﺪول
•
وﻳﮋﮔﻲﻫﺎي راﺑﻄﻪ
•
اﻧﻮاع ﻛﻠﻴﺪ در ﻣﺪل راﺑﻄﻪاي
•
اﻧﻮاع راﺑﻄﻪ
Relational DB
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
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 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
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
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 113 }> {
,,…,
-2ﻣﺠﻤﻮﻋﻪ ﺑﺪﻧﻪ :ﻣﺠﻤﻮﻋﻪ اﻳﺴﺖ از
m
ﺗﺎﭘﻞ tﺑﻨﺤﻮي ﻛﻪ tﺧﻮد ﻣﺠﻤﻮﻋﻪاﻳﺴﺖ از
n
ﻋﻨﺼﺮ ﺑﺼﻮرت Ai: viﻛﻪ در آن viﻣﻘﺪاري اﺳﺖ از ﻧﻮع )ﻣﻴﺪان( .Di }> {,,…,
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
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
ﻣﻲ ﮔﻮﻳﻴﻢ ﺟﺪول ﻋﺒﺎرﺗﺴﺖ از ﺳﻪ ﺗﺎﻳﻲ:
زﻳﺮ ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﻴﻢ .ﺣﺎل
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 115 ד) = ( T , H , ρ
ﻛﻪ در آن:
T
ﻧﻤﺎدي اﺳﺖ ﺑﻪ ﻋﻨﻮان ﺟﺪول
اﺳﺖ از ﺻﻔﺎت راﺑﻄﻪ اي ﻛﻪ ﺑﻪ آن ﺳﺮآﻳﻨﺪ ד
ﻣﺠﻤﻮﻋﻪ اي
و } H = { A ,A , … A 1 2 n ﮔﻮﻳﻴﻢ و ρﻳﻚ راﺑﻄﻪ اﺳﺖρ Є rel (H) ،
و ﺑﻪ آن ﮔﺴﺘﺮده ד ﻣﻲ ﮔﻮﻳﻴﻢ.
-4وﻳﮋﮔﻲﻫﺎي راﺑﻄﻪ راﺑﻄﻪ ﺑﻪ ﻋﻨﻮان ﺗﻨﻬﺎ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺻﻠﻲ در ﻣﺪل راﺑﻄﻪ اي ﺑﺮاي ﻧﻤﺎﻳﺶ اﻧﻮاع ﻣﻮﺟﻮدﻳﺘﻬﺎ و اﻧﻮاع ارﺗﺒﺎﻃﺎت ﺑﻜﺎر ﻣﻲرود .در واﻗﻊ در ﻣﺪل راﺑﻄﻪ اي ﻫﻢ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ و ﻫﻢ ﻧﻮع ارﺗﺒﺎط ﺑﺎ ﻣﻔﻬﻮم راﺑﻄﻪ ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮﻧﺪ و در ﻧﺘﻴﺠﻪ ﻫﻢ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ و ﻫﻢ ﻧﻤﻮﻧﻪ ارﺗﺒﺎط ﺑﺎ ﻣﻔﻬﻮم ﺗﺎﭘﻞ ﻧﺸﺎن داده ﻣﻲ ﺷﻮﻧﺪ .راﺑﻄﻪ داراي ﭼﻬﺎر وﻳﮋﮔﻲ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ: •
راﺑﻄﻪ ﺗﺎﭘﻞ ﺗﻜﺮاري ﻧﺪارد.
• زﻳﺮا ﺑﺪﻧﻪ راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ اﺳﺖ و ﻣﺠﻤﻮﻋﻪ ﻧﻤﻲﺗﻮاﻧﺪ ﻋﻨﺼﺮ ﺗﻜﺮاري داﺷﺘﻪ ﺑﺎﺷﺪ. •
ﺗﺎﭘﻞﻫﺎ ﻧﻈﻢ ﻧﺪارﻧﺪ.
• زﻳﺮا ﺑﺪﻧﻪ راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ اﺳﺖ و ﻣﺠﻤﻮﻋﻪ در ﺣﺎﻟﺖ ﻛﻠﻲ ﻓﺎﻗﺪ ﻧﻈﻢ اﺳﺖ. •
ﺻﻔﺎت راﺑﻄﻪ ﻧﻈﻢ ﻣﻜﺎﻧﻲ )از ﭼﭗ ﺑﻪ راﺳﺖ( ﻧﺪارﻧﺪ.
• زﻳﺮا ﺳﺮآﻳﻨﺪ راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ اﺳﺖ و ﻣﺠﻤﻮﻋﻪ در ﺣﺎﻟﺖ ﻛﻠﻲ ﻓﺎﻗﺪ ﻧﻈﻢ اﺳﺖ. •
ﺗﻤﺎم ﺻﻔﺎت ﺗﻚ ﻣﻘﺪاري )ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ( ﻫﺴﺘﻨﺪ.
• زﻳﺮا در ﻧﻤﺎﻳﺶ ﺟﺪوﻟﻲ راﺑﻄﻪ ،در ﺗﻘﺎﻃﻊ ﻫﺮ ﺳﻄﺮ و ﺳﺘﻮن ،ﺑﺎﻳﺪ ﻳﻚ ﻣﻘﺪار وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ در ﻫﺮ ﺗﺎﭘﻞ ،دﻗﻴﻘﺎ ﻳﻚ ﻣﻘﺪار ﺑﺮاي ﻫﺮ ﺻﻔﺖ وﺟﻮد دارد. در اداﻣﻪ ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻣﺜﺎﻟﻲ اراﺋﻪ ﺷﺪه اﺳﺖ .در اﻳﻦ ﻣﺜﺎل راﺑﻄﻪ اي ﺑﻨﺎم ﻧﺸﺎن داده ﺷﺪه اﺳﺖ. ﻣﺜﺎل :1راﺑﻄﻪ Sرا ﻛﻪ ﺑﻪ ﺻﻮرت ﺟﺪول 4-6اﺳﺖ در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ. ﺟﺪول 4- 6ﻧﻤﺎﻳﺶ ﺟﺪوﻟﻲ
راﺑﻄﻪ S
S
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
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 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
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
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 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
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
ﻧﻜﺘﻪ :ﺧﺮوﺟﻲﻫﺎ از ﻫﻤﺎن ﻧﻮع ورودي ﻫﺎ ﻣﻲ ﺑﺎﺷﻨﺪ. ﻧﻜﺘﻪ :ﺧﺮوﺟﻲ ﻫﺮ ﻋﻤﻠﮕﺮ ﻣﻲﺗﻮاﻧﺪ ﺑﻪ ﻋﻨﻮان ورودي ﻋﻤﻠﮕﺮ دﻳﮕﺮ ﺑﻜﺎر رود .اﻳﻦ ﻧﻮع
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 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
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
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 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
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
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 125
آن ﺗﺎﭘﻞ در راﺑﻄﻪ اﺳﺖ و ﻋﺎﻣﻞ ﺗﻤﻴﻴﺰ ﻧﻤﻮﻧﻪ ﻫﺎي ﻣﻮﺟﻮدﻳﺖ )ﺗﺎﭘﻞ ﻫﺎ( در راﺑﻄﻪ اﺳﺖ و ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻋﺎﻣﻞ ﺗﻤﻴﻴﺰ ﺧﻮد ﻧﻤﻲ ﺗﻮاﻧﺪ ﻣﻘﺪار ﻫﻴﭻ ﻳﺎ ﻧﺎﺷﻨﺎﺧﺘﻪ داﺷﺘﻪ ﺑﺎﺷﺪ.
2-2-1-7ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ اﻳﻦ ﻗﺎﻋﺪه ﻧﺎﻇﺮ ﺑﺮ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﻮده و ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ: •
اﮔﺮ ﺻﻔﺖ ﺧﺎﺻﻪ ) Aiﺳﺎده ﻳﺎ ﻣﺮﻛﺐ( در راﺑﻄﻪ R2ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺎﺷﺪ در اﻳﻦ ﺻﻮرت Aiدر R2ﻣﻲﺗﻮاﻧﺪ ﻣﻘﺪار ﻫﻴﭻ داﺷﺘﻪ ﺑﺎﺷﺪ )ﺑﻪ ﺷﺮﻃﻲ ﻛﻪ ﺟﺰﺋﻲ از ﻛﻠﻴﺪ R2
ﻧﺒﺎﺷﺪ( ،در ﻏﻴﺮ اﻳﻨﺼﻮرت ﺑﺎﻳﺪ ﺣﺘﻤﺎ ﻣﻘﺪاري ﺑﺎﺷﺪ ﻛﻪ در راﺑﻄﻪ ﻣﺮﺟﻊ
R1
وﺟﻮد دارد .ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﻣﻘﺪار ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻧﻤﻲﺗﻮاﻧﺪ در راﺑﻄﻪ ﻣﺮﺟﻊ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ. دﻟﻴﻞ ﺗﻮﺟﻴﻪ اﻳﻦ ﻗﺎﻋﺪه اﻳﻦ اﺳﺖ ﻛﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻋﺎﻣﻞ ارﺟﺎع از ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ دﻳﮕﺮ اﺳﺖ و ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻧﻤﻲ ﺗﻮان ﺑﻪ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ ﻧﺎﻣﻮﺟﻮد ارﺟﺎع داد.
ﺗﻤﺮﻳﻨﺎت .1ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ؟ .2راﺑﻄﻪ را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ؟
126ﭘﺎﻳﮕﺎه دادهﻫﺎ
.3راﺑﻄﻪ را از دﻳﺪﮔﺎه ﻛﺎد ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ؟ .4وﻳﮋﮔﻲ ﻫﺎي راﺑﻄﻪ را ﻧﺎم ﺑﺒﺮﻳﺪ؟ .5اﻧﻮاع ﻛﻠﻴﺪ را در ﻣﺪل راﺑﻄﻪ اي ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟ .6ﻣﻔﻬﻮم ﻛﻠﻴﺪ ﺧﺎرﺟﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟ .7اﻧﻮاع راﺑﻄﻪ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .8ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ﻣﻮﺟﻮدﻳﺘﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟ .9ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟
ﻓﺼﻞ ۷ ﻋﻤﻠﻴﺎﺕ ﺩﺭ ﭘﺎﻳﮕﺎﻩ ﺭﺍﺑﻄﻪﺍﻱ ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﻌﺮﻳﻔﻲ از ﭘﺎﻳﮕﺎه داده راﺑﻄﻪ اي ﺑﻴﺎن ﺷﺪه و ﺳﭙﺲ ﻣﺒﺤﺚ ﺟﺒﺮ راﺑﻄﻪ اي ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ .در اﻳﻦ راﺳﺘﺎ در اﺑﺘﺪا ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪ اي ﻣﻌﺮﻓﻲ ﺷﺪه و ﺗﻮاﻧﺎﻳﻲ اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ در اﻟﺤﺎق و ﺟﺪاﺳﺎزي اﻃﻼﻋﺎت و ﻧﻤﺎﻳﺶ آﻧﻬﺎ ﺷﺮح داده ﺧﻮاﻫﺪ ﺷﺪ .ﺳﭙﺲ ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮ روي دادهﻫﺎ ﻣﻄﺮح ﺷﺪه و اﻧﻮاع اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ .در ﺧﺎﺗﻤﻪ ﻧﻴﺰ ﻣﺮوري ﻣﺨﺘﺼﺮ ﺑﺮ روي ﻣﺒﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﻋﺒﺎرات ﺟﺴﺘﺠﻮ در ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺧﻮاﻫﻴﻢ داﺷﺖ.
ﻫﺪف رﻓﺘﺎري در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده راﺑﻄﻪاي
•
ﺟﺒﺮ راﺑﻄﻪاي
•
ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي
•
ﻋﻤﻠﮕﺮ ﮔﺰﻳﻨﺶ
•
ﻋﻤﻠﮕﺮ ﭘﺮﺗﻮ
•
ﻋﻤﻠﮕﺮ ﺗﻐﻴﻴﺮ ﻧﺎم
•
ﻋﻤﻠﮕﺮ ﺟﺎﻳﮕﺰﻳﻨﻲ
•
ﻋﻤﻠﮕﺮﻫﺎي ﻣﺠﻤﻮﻋﻪ
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
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 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
130ﭘﺎﻳﮕﺎه دادهﻫﺎ •
= Joinﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ )اﻟﺤﺎﻗﻲ( ﺷﺎﻣﻞ ﻋﻤﻠﮕﺮﻫﺎي 1
•
ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ )∞(
•
ﻧﻴﻢ ﭘﻴﻮﻧﺪ )(⍬⍺
•
ﭘﻴﻮﻧﺪ ﺷﺮﻃﻲ )(X⍬
2
در اداﻣﻪ ﺑﺎ ذﻛﺮ ﻣﺜﺎل ﻫﺎﻳﻲ ﺑﻪ ﺷﺮح ﻫﺮ ﻳﻚ از اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺧﻮاﻫﻴﻢ
ﭘﺮداﺧﺖ.
ﻋﻤﻠﮕﺮﻫﺎي اﺻﻠﻲ (Б) Select اﻧﺘﺨﺎب ﺳﻄﺮﻫﺎﻳﻲ از ﻳﻚ راﺑﻄﻪ ﺑﺮ اﺳﺎس ﺷﺮط ﻣﺸﺨﺺ )ﻣﺸﺨﺼﺎت ﻣﺜﻼ ﻳﻚ ﻓﺮد در ﻳﻚ ﺳﻄﺮ )اﻓﺮادي ﻛﻪ ﻣﻌﺪﻟﺸﺎن ﻣﺴﺎوي xاﺳﺖ((.
ﻋﻤﻠﮕﺮ اﺻﻠﻲ (∏) Project اﻧﺘﺨﺎب دﻳﮕﺮ ﺳﺘﻮﻧﻬﺎي ﻣﺸﺨﺺ از ﻳﻚ راﺑﻄﻪ و ﺣﺬف دﻳﮕﺮ ﺳﺘﻮﻧﻬﺎ ﺗﻠﻔﻦ
ﻧﺎم
اﻟﺤﺎق )(Join داراي اﻧﻮاع ﻣﺨﺘﻠﻒ ﺑﻮده و راﺑﻄﻪ اي را ﺑﺮ ﻣﻲ ﮔﺮداﻧﺪ ﻛﻪ ﺷﺎﻣﻞ ﺗﻤﺎم Tupleﻫﺎي ﺗﺮﻛﻴﺐ ﺷﺪه از دو ﺟﺪول ﻣﻲ ﺑﺎﺷﺪ .ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع در اداﻣﻪ ﻣﺜﺎﻟﻲ از ﻋﻤﻠﮕﺮﻫﺎي اﻟﺤﺎﻗﻲ اراﺋﻪ ﺷﺪه اﺳﺖ.
1. N at u r a l J o i n 2. Se mi J o i n
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 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
( ﻣﻲ ﺑﺎﺷﺪ.
ﺑﺪﻳﻦ ﻣﻌﻨﺎ ﻛﻪ ﺧﺮوﺟﻲ ﻫﺮ ﻋﻤﻠﮕﺮ راﺑﻄﻪ اي ﺧﻮد ﻳﻚ راﺑﻄﻪ اﺳﺖ .ﺑﻄﻮر ﻣﺜﺎل ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ اﺟﺘﻤﺎع دو راﺑﻄﻪ )دو ﺟﺪول( ﻳﻚ راﺑﻄﻪ )ﻳﻚ ﺟﺪول( ﻣﻲ ﮔﺮدد.
ﻋﻤﻠﮕﺮﺗﻐﻴﻴﺮ ﻧﺎم )(⍴ اﻳﻦ ﻋﻤﻠﮕﺮ ﻳﻚ راﺑﻄﻪ را ﮔﺮﻓﺘﻪ و ﻧﺴﺨﻪ دﻳﮕﺮي از آن را ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﺑﻪ ﺑﻌﻀﻲ از ﺻﻔﺎت اﺳﺎﻣﻲ دﻳﮕﺮي داده ﺷﺪه ﺑﺎﺷﺪ را ﻣﻲ دﻫﺪ: S RENAME city AS Scity
ﺗﻐﻴﻴﺮ ﻧﺎم ﺻﻔﺖ cityﺑﻪ
Scity
در راﺑﻄﻪ
S
اﮔﺮ ﺑﻴﺸﺘﺮ از ﻳﻚ ﺗﻐﻴﻴﺮ اﻧﺠﺎم ﮔﻴﺮد در ﭘﺮاﻧﺘﺰ ﻗﺮار ﻣﻲ دﻫﻴﻢ .ﺑﻄﻮر ﻣﺜﺎل: )AS Scity , S# AS SNUM
( city
S RENAME
ﭘﺎﻳﮕﺎه دادهﻫﺎ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
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 133 city
STATUS
SNAME
S#
London London Paris
20 20 10
Smith Clark Jones
S1 S4 S2
AՈB
City
STATUS
SNAME
S#
London
20
Smith
S1
B-A
City
STATUS 20
London
SNAME Clark
S# S4
A-B
city
STATUS
SNAME
S#
Paris
10
Jones
S2
ﺗﻮﺟﻪ: (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
اﺳﺖ و در واﻗﻊ ﺗﻌﺪادي از ﺳﻄﺮﻫﺎ را
اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ .ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﻳﻜﻲ از دو ﺻﻮرت ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ: )ﻧﺎم راﺑﻄﻪ( ) Бدر ﻛﺎﻣﭙﻴﻮﺗﺮ اﺟﺮا ﻧﻤﻲﺷﻮد(. ﺷﺮط ﻳﺎ ﺷﺮﻃﻬﺎ ﺷﺮط ﻳﺎ ﺷﺮﻃﻬﺎ ﻣﺜﺎل:
where
ﻧﺎم راﺑﻄﻪ )در ﻛﺎﻣﭙﻴﻮﺗﺮ اﺟﺮا ﻧﻤﻲ ﺷﻮد ).((SQL
ﭘﺎﻳﮕﺎه دادهﻫﺎ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#
و
ﻳﺎ SNAME
S [ S# , SNAME ]
:ﻣﺜﺎل
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 135
SNAME
S#
Smith Jones Black Clark Adams
S1 S2 S3 S4 S5
ﺗﻤﺮﻳﻦ :ﻧﺎم اﻓﺮادﻳﻜﻪ ﺷﻬﺮﺷﺎن ﻟﻨﺪن ) (londonاﺳﺖ ؟ "" London ﺗﻤﺮﻳﻦ:
S#
=
)Б (s ∏ city Name
اﻓﺮادﻳﻜﻪ وﺿﻌﻴﺘﺸﺎن ﺑﺮاﺑﺮ 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
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
A b
a
2 4
1 2
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 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
B⍺A
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
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 139
ﻗﻄﻌﺎت؟ ( ∏ (SP) ÷ ∏ (P)) ∞ S P#
∏
s# , P# SNAME
ﺷﻤﺎر ﺗﻤﺎم ﻗﻄﻌﺎت
ﺟﻮاب:
S#
ﺷﻤﺎر ﺳﺎزﻧﺪه و ﻗﻄﻌﺎﺗﻲ ﻛﻪ ﺗﻮﻟﻴﺪ ﻣﻲﻛﻨﻨﺪ را دارد )ﺗﻜﺮاري ﻫﻢ دارد(
ﻛﻪ ﻫﻤﻪ ﻗﻄﻌﺎت را ﺗﻮﻟﻴﺪ ﻛﻨﺪ.
از آﻧﺠﺎﺋﻴﻜﻪ در ﺟﺴﺘﺠﻮس ﻧﺎم ﻗﻄﻌﻪ ﻫﺴﺘﻴﻢ ،ﭘﺲ ﺟﻮاب را ﺑﺎ ﺟﺪول
join ،S
ﻣﻲ ﻛﻨﻴﻢ
ﻛﻪ در آﺧﺮ ﻧﺎم آن ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪﮔﺎن را ﺑﺪﺳﺖ آورﻳﻢ. ﺳﻮال: ﺷﻤﺎره ﻓﺮوﺷﻨﺪﮔﺎﻧﻲ ﻛﻪ ﺣﺪاﻗﻞ ﺗﻤﺎم ﻗﻄﻌﺎت ﻋﺮﺿﻪ ﺷﺪه ﺗﻮﺳﻂ S2را ﻋﺮﺿﻪ ﻣﻲ ﻛﻨﻨﺪ؟ )Б (sp
÷ )∏ (s
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ﻣﻲ ﺑﺎﺷﺪ. ب( ﻟﻴﺴﺖ ﻧﺎم اﺳﺎﺗﻴﺪي ﻛﻪ رﺋﻴﺲ داﻧﺸﻜﺪه ﻧﻴﺴﺘﻨﺪ. ج( ﻣﺸﺨﺼﺎت ﻛﺎﻣﻞ روﺳﺎي داﻧﺸﻜﺪهﻫﺎ.
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
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 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
target
DELETE
142ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻣﺜﺎل: < 20
STATUS
DELETE S WHERE
ﻣﻌﻨﻲ دﺳﺘﻮر ﻣﺬﻛﻮر ﺑﺪﻳﻦ ﺻﻮرت اﺳﺖ :ﺣﺬف ﻛﻦ از راﺑﻄﻪ STATUS
S
آﻧﻬﺎﻳﻲ را ﻛﻪ
آن ﻛﻤﺘﺮ از 20اﺳﺖ )ﭘﺲ ﻳﻚ ﺳﻄﺮ ﺣﺬف ﻣﻲ ﮔﺮدد(.
ﺗﻮﺟﻪ :راﺑﻄﻪ
R
و
E
ﺑﺎﻳﺪ داراي ﺷﺮط
Same arity
ﺑﺎﺷﺪ )ﺗﻌﺪاد و ﻧﻮع ﺳﺘﻮن ﻫﺎﻳﺸﺎن
ﻳﻜﺴﺎن اﺳﺖ(.
-4ﻛﺎﻣﻞ ﺑﻮدن ﺟﺒﺮ راﺑﻄﻪاي ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﺪ ﻣﻲ ﺗﻮان ﻋﺒﺎرات ﺟﺒﺮ راﺑﻄﻪ اي را ﺑﺎ اﺳﺘﻔﺎده از ﺗﺮﻛﻴﺐ ﻋﻤﻠﮕﺮﻫﺎ ﻧﻮﺷﺖ و ﺣﺎﺻﻞ ﻫﺮ ﻋﺒﺎرت ﻣﻌﺘﺒﺮ ﺟﺒﺮ راﺑﻄﻪ اي ﺑﺎز ﻫﻢ ﻳﻚ راﺑﻄﻪ اﺳﺖ .ﻟﺬا ﻣﻲ ﺗﻮان ﭼﻨﻴﻦ ارزﻳﺎﺑﻲ ﻛﺮد ﻛﻪ ﻫﺮ راﺑﻄﻪ ﻣﻌﺘﺒﺮ از ﻣﺠﻤﻮﻋﻪ راﺑﻄﻪ ﻫﺎ را ﻣﻲ ﺗﻮان ﺑﻪ ﻛﻤﻚ ﻳﻚ ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪ اي ﻧﻮﺷﺖ .ﺑﺎ اﻳﻦ وﺻﻒ ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ ﺟﺒﺮ راﺑﻄﻪ اي از ﻧﻈﺮ راﺑﻄﻪ اي ﻛﺎﻣﻞ اﺳﺖ ﻳﺎ ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﺟﺒﺮ راﺑﻄﻪ اي ﻛﻤﺎل راﺑﻄﻪ اي را دارد .ﺑﺪﻳﻦ ﻋﻠﺖ ﻣﻲ ﺗﻮان ﺟﺒﺮ راﺑﻄﻪ اي را ﻣﻌﻴﺎر ﺗﺸﺨﻴﺺ ﻛﻤﺎل راﺑﻄﻪ اي ﺑﺮاي زﺑﺎنﻫﺎي راﺑﻄﻪ اي داﻧﺴﺖ .ﻳﻌﻨﻲ ﻣﻲ ﺗﻮان ﮔﻔﺖ زﺑﺎﻧﻲ داراي ﻛﻤﺎل راﺑﻄﻪ اي اﺳﺖ ﻛﻪ ﺣﺪاﻗﻞ ﻫﺮ راﺑﻄﻪاي ﻛﻪ ﺑﺎ ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪ اي ﻗﺎﺑﻞ ﺗﻌﺮﻳﻒ ﺑﺎﺷﺪ ،ﺗﻮﺳﻂ آن زﺑﺎن ﻫﻢ ﺗﻌﺮﻳﻒ ﺷﺪﻧﻲ ﺑﺎﺷﺪ.
-5ﺣﺴﺎب راﺑﻄﻪاي ﻧﻮع دﻳﮕﺮي از اﻣﻜﺎﻧﺎت اﻧﺠﺎم ﻋﻤﻠﻴﺎت در راﺑﻄﻪ ﻫﺎ ،ﺣﺴﺎب راﺑﻄﻪ اي اﺳﺘﻜﻪ ﻣﻨﻄﻘﺎً ﻣﻌﺎدل ﺟﺒﺮ راﺑﻄﻪ اي ﻣﻲ ﺑﺎﺷﺪ .ﻳﻌﻨﻲ ﺑﺮاي ﻫﺮ ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪ اي ،ﻳﻚ ﻋﺒﺎرت ﻣﻌﺎدل در ﺣﺴﺎب راﺑﻄﻪ اي وﺟﻮد دارد و ﺑﺎﻟﻌﻜﺲ .دراﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ ﺷﻮد ﻛﻪ ﺟﺒﺮ راﺑﻄﻪ اي ،دﺳﺘﻮري ﺑﻮده و ﺷﺒﻴﻪ ﺑﻪ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ اﺳﺖ و ﺣﺴﺎب راﺑﻄﻪ اي ﺑﺼﻮرت ﺗﻮﺻﻴﻔﻲ ﺑﻮده و ﺑﻪ زﺑﺎن ﻃﺒﻴﻌﻲ ﻧﺰدﻳﻚﺗﺮ اﺳﺖ .ﺣﺴﺎب راﺑﻄﻪ اي ﺧﻮد داراي دو ﺷﺎﺧﻪ ﻣﻲ ﺑﺎﺷﺪ:
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 143 1
•
ﺣﺴﺎب ﺗﺎﭘﻠﻲ
•
ﺣﺴﺎب ﻣﻴﺪاﻧﻲ
2
در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮﻳﻚ از اﻳﻦ دو ﻧﻮع ﺣﺴﺎب ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ:
1-5ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ در ﺣﺴﺎب راﺑﻄﻪ اي ﺗﺎﭘﻠﻲ ،ﻳﻚ ﻣﻔﻬﻮم ﻣﻬﻢ ﺑﻪ ﻧﺎم ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ وﺟﻮد دارد .ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ ﻣﺘﻐﻴﺮي اﺳﺖ ﻛﻪ ﺗﻨﻬﺎ ﻣﻘﺎدﻳﺮ ﻣﺠﺎزش ،ﺗﺎﭘﻞ ﻫﺎي راﺑﻄﻪ ﻫﺴﺘﻨﺪ .اﻳﻦ ﻣﺘﻐﻴﺮ در ﺷﻜﻞ ﻛﻠﻲ ﺑﻪ ﺻﻮرت زﻳﺮ ﺗﻌﺮﻳﻒ ﻣﻲ ﺷﻮد :: RANGEVAR RANGEOVER >
ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﺑﻪ ﻋﺒﺎرات زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ: ;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
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
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 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
146ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺟﻮ ﻣﻲ ﺑﺎﺷﺪ .از آﻧﺠﺎﺋﻴﻜﻪ ﻣﺒﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮ ﻣﺮﺑﻮط ﺑﻪ دوره ﻛﺎرﺷﻨﺎﺳﻲ ﻧﻴﺴﺖ ،ﻟﺬا در اﻳﻨﺠﺎ ﺻﺮﻓﺎ ﺗﻮﺿﻴﺤﺎت ﻣﺨﺘﺼﺮي در اﻳﻨﺒﺎره اراﺋﻪ ﺧﻮاﻫﻴﻢ ﻛﺮد. ﺗﻤﺎﻣﻲ ﺗﻼش ﻃﺮاﺣﺎن ﭘﺎﻳﮕﺎه داده ﻫﺎ در ﻛﻮﺗﺎه ﻛﺮدن ﻣﺪت زﻣﺎن ارﺳﺎل ﭘﺎﺳﺦ ﺑﻪ ﻣﺘﻘﺎﺿﻲ اﺳﺖ .در ﻋﻴﻦ ﺣﺎل ﺧﺮوﺟﻲ ﻳﻜﺴﺎن در ﻫﻤﻪ ﺣﺎل ﻣﺪ ﻧﻈﺮ ﻣﻲ ﺑﺎﺷﺪ .ﺑﻌﻨﻮان ﻣﺜﺎل دو ﻋﺒﺎرت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ: )(R )(R
-1اﺑﺘﺪا از راﺑﻄﻪ
R
آن ﻫﺎﻳﻲ ﻛﻪ
A=B
Б
∏
A=B
A,B
∏ A,B
Б A=B
١٢-
اﺳﺖ را ﺟﺪا ﻣﻲ ﻛﻨﺪ )ﺳﻄﺮي( ،ﺑﻌﺪ از ﻛﻞ
آﻧﻬﺎ ﺳﺘﻮن ﻫﺎ را ﺑﻴﺮون ﻣﻲ ﻛﺸﺪ. -2اﺑﺘﺪا از راﺑﻄﻪ
R
دو ﺳﺘﻮن
BوA
را ﺟﺪا ﻣﻲ ﻛﻨﺪ ،ﺑﻌﺪ آﻧﻬﺎﻳﻲ را ﻛﻪ
A= B
اﺳﺖ را ﺟﺪا ﻣﻲﻛﻨﺪ )ﺳﻄﺮﻫﺎﻳﻲ ﻛﻪ .( A = B در اﻳﻨﺠﺎ ﻣﻤﻜﻦ اﺳﺖ ﺳﺌﻮاﻻﺗﻲ ﺑﺮاي ﻛﺎرﺑﺮ ﻣﻄﺮح ﮔﺮدد .ﻣﺎﻧﻨﺪ: •
آﻳﺎ ﻫﻤﻪ ﭘﺎﺳﺦﻫﺎ ﻣﻌﺎدل اﻧﺪ ؟ ﺑﻠﻲ
•
آﻳﺎ ﻫﻤﻪ ﭘﺎﺳﺦﻫﺎ ﻫﻢ ﺳﺮﻋﺖاﻧﺪ ؟ ﺧﻴﺮ
ﺑﻨﺎﺑﺮﻳﻦ ﺟﻬﺖ اﻓﺰاﻳﺶ ﺳﺮﻋﺖ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﺳﻌﻲ ﺑﺮ آن اﺳﺖ ﺑﻬﺘﺮﻳﻦ روش ﺑﻜﺎر ﮔﺮﻓﺘﻪ ﺷﻮد و ﻳﺎ ﺑﻪ ﻋﺒﺎرت ﺑﻬﺘﺮ ﺳﻌﻲ ﻣﻲ ﻛﻨﻴﻢ ﺗﺎ آﻧﺠﺎ ﻛﻪ ﻣﻲ ﺗﻮاﻧﻴﻢ ﻫﺮ ﭼﻪ ﺳﺮﻳﻌﺘﺮ ﺟﺪاول را ﻛﻮﭼﻚ ﻛﺮده و روي آﻧﻬﺎ ﻛﺎر ﻛﻨﻴﻢ. ﻳﻜﻲ از ﺳﺌﻮاﻻﺗﻲ ﻛﻪ ﻣﻄﺮح ﻣﻲﮔﺮدد اﻳﻦ اﺳﺖ ﻛﻪ ﺳﺮﻋﺖ Quaryﻫﺎي ﻣﺘﻔﺎوت ﭼﻘﺪر ﺗﻔﺎوت دارد ؟ در ﭘﺎﺳﺦ ﺑﺎﻳﺪ ﮔﻔﺖ ﻛﻪ :ﺑﺴﻴﺎر زﻳﺎد ،زﻳﺮا دادهﻫﺎ و ﺟﺪاول در ﺣﺎﻓﻈﻪ ﺟﺎﻧﺒﻲ ﻗﺮار دارﻧﺪ .در اﻳﻦ راﺳﺘﺎ ﻣﻤﻜﻦ اﺳﺖ ﺑﮕﻮﻳﻴﻢ ﻛﻪ ﻛﺎرﺑﺮ ﺑﺎﻳﺪ آﻧﻘﺪر ﺗﺒﻬﺮ داﺷﺘﻪ ﺑﺎﺷﺪ ﺗﺎ ﺑﺘﻮاﻧﺪ ﻋﺒﺎرت ﭘﺮﺳﻮ ﺟﻮي ﺧﻮد را ﺑﻬﻴﻨﻪ ﻧﻤﺎﻳﺪ .وﻟﻲ آﻳﺎ واﻗﻌﺎ ﭼﻨﻴﻦ ﻛﺎري ﻣﻤﻜﻦ اﺳﺖ؟ در ﭘﺎﺳﺦ ﺑﺎﻳﺪ ﮔﻔﺖ :ﺧﻴﺮ .زﻳﺮا: •
ﻛﺎرﺑﺮ ﻣﺘﺨﺼﺺ ﻧﻴﺴﺖ.
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 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
ﺗﻮﺟﻪ :ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ ﻋﺒﺎرات اﻳﻦ دو ﻋﺒﺎرات ﻗﺎﻋﺪه از ﻟﺤﺎظ زﻣﺎن ﺑﺎ ﻫﻢ ﺑﺮاﺑﺮ ﻧﻴﺴﺘﻨﺪ. ﻣﺜﺎل :ﻣﺸﺨﺼﺎت ﻛﺎﻣﻞ دروس و ﮔﺮوه ﻫﺎي درﺳﻲ آﻧﻬﺎ را ﺑﺪﺳﺖ آورﻳﺪ.
148ﭘﺎﻳﮕﺎه دادهﻫﺎ
در اﻳﻨﺠﺎ اﻳﻦ ﺳﺌﻮال ﻣﻄﺮح ﻣﻲ ﺷﻮد ﻛﻪ ﻛﺪام ﻳﻚ از دو ﻋﺒﺎرت زﻳﺮ ﺳﺮﻳﻌﺘﺮ ﭘﺎﺳﺦ ﻣﻲ دﻫﻨﺪ؟ sec
∞
crs
ﻳﺎ ∞
crs
sec
اﻳﻦ دو دﺳﺘﻮر از ﻧﻈﺮ ﺳﺮﻋﺖ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺑﺴﻴﺎر ﻣﺘﻔﺎوﺗﻨﺪ .زﻳﺮا ﺳﺎﻳﺰ دو ﺟﺪول ﻛﺎﻣﻼ ﻣﺘﻔﺎوت ﻣﻲﺑﺎﺷﺪ ﺟﺪول اﺳﺖ و ﺟﺪول
sec
crs
)ﻓﻘﻂ ﻣﺸﺨﺼﺎت درسﻫﺎ ﻣﻲﺑﺎﺷﺪ( ﻣﻌﻤﻮﻻً ﻛﻮﭼﻚ
ﺑﺴﻴﺎر ﺑﺰرﮔﺘﺮ از آن ،زﻳﺮا ﻫﻢ ﮔﺮوﻫﻬﺎي ﻣﺨﺘﻠﻒ دروس را ﺷﺎﻣﻞ
ﻣﻲﺷﻮد و ﻫﻢ داﻧﺸﺠﻮﻳﺎن آﻧﻬﺎ را .ﻓﺮض ﻛﻨﻴﺪ ﺟﺪول crsدر ﺣﺎﻓﻈﻪ
cash
ﺟﺎ ﺑﮕﻴﺮد ،در
اﻳﻦ ﺻﻮرت اﻟﮕﻮرﻳﺘﻢﻫﺎي دو راه ﺣﻞ ﺑﺎﻻ را ﺑﺮرﺳﻲ ﻣﻲﻛﻨﻴﻢ: crs ∞ sec
اﻟﮕﻮرﻳﺘﻢ ) :(1ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول
}
crs
ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول } sec ﻣﻘﺎﻳﺴﻪ ﻛﻦ{ اﻧﺘﺨﺎب ﻛﻦ { در اﻟﮕﻮرﻳﺘﻢ ﻳﻚ ﺑﺎﻳﺪ ﺳﻄﺮﻫﺎي ﺑﺴﻴﺎر زﻳﺎد ﺟﺪول
sec
را ﺑﻪ دﻓﻌﺎت وارد ﺣﺎﻓﻈﻪ
اﺻﻠﻲ ﻛﻨﻴﻢ و ﻣﻘﺎﻳﺴﻪ و اﻧﺘﺨﺎب را اﻧﺠﺎم دﻫﻴﻢ ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﺗﻌﺪاد دﺳﺘﻴﺎﺑﻲ ﺑﻪ دﻳﺴﻚ )ﻣﻨﻈﻮر ﺣﺎﻓﻈﻪ ﺟﺎﻧﺒﻲ( ﺑﻪاﻧﺪازه ﺣﺎﺻﻠﻀﺮب ﺳﺎﻳﺰ دو ﺟﺪول اﺳﺖ. sec ∞ crs
اﻟﮕﻮرﻳﺘﻢ ) :(2ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول } sec ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول } crs ﻣﻘﺎﻳﺴﻪ ﻛﻦ { اﻧﺘﺨﺎب ﻛﻦ { در اﻟﮕﻮرﻳﺘﻢ دو ،ﻫﺮ ﺳﻄﺮ secرا ﻓﻘﻂ ﻳﻜﺒﺎر ﺑﻪ ﺣﺎﻓﻈﻪ اﺻﻠﻲ ﻣﻲآورﻳﻢ زﻳﺮا ﺟﺪول crsﺑﻪ ﻃﻮر ﻛﺎﻣﻞ در ﺣﺎﻓﻈﻪ cashﻗﺮار دارد و ﻫﻤﻪ ﻣﻘﺎﻳﺴﻪﻫﺎ ﻳﻜﺒﺎر اﻧﺠﺎم ﻣﻲﮔﻴﺮد و ﺗﻌﺪاد دﺳﺘﻴﺎﺑﻲ ﺑﻪ دﻳﺴﻚ ﺑﻪاﻧﺪازه ﺳﺎﻳﺰ ﺟﺪول
sec
اﺳﺖ .ﺑﻄﻮر ﻣﺜﺎل اﮔﺮ ﺳﺎﻳﺰ ﺟﺪول
crs
را
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 149
100و ﺟﺪول
sec
را 1001ﻓﺮض ﻛﻨﻴﻢ اﻟﮕﻮرﻳﺘﻢ اول 1000000ﺑﺎر ﺑﻴﺸﺘﺮ ﺑﻪ دﻳﺴﻚ
دﺳﺘﻴﺎﺑﻲ ﭘﻴﺪا ﻣﻲﻛﻨﺪ.
ﺗﻤﺮﻳﻨﺎت .1ﭼﻪ اﻣﻜﺎﻧﺎﺗﻲ ﺑﺮاي اﻧﺠﺎم ﻋﻤﻠﻴﺎت در ﻣﺪل راﺑﻄﻪ اي وﺟﻮد دارﻧﺪ ؟
150ﭘﺎﻳﮕﺎه دادهﻫﺎ
.2ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪ اي را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .3ﻋﻤﻠﮕﺮﻫﺎي Selectو Projectﭼﻪ ﺗﻔﺎوﺗﻲ ﺑﺎ ﻳﻜﺪﻳﮕﺮ دارﻧﺪ ؟ .4ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ را ﺗﻮﺿﻴﺢ داده و ﺧﻮاص آﻧﺮا ﻧﺎم ﺑﺒﺮﻳﺪ؟ .5ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮ روي داده ﻫﺎ را ﻧﺎم ﺑﺒﺮﻳﺪ؟
ﻓﺼﻞ ۸ ﺁﺷﻨﺎﻳﻲ ﺑﺎ ﺯﺑﺎﻥ ﺭﺍﺑﻄﻪﺍﻱ
SQL
ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﺎرﻳﺨﭽﻪ اي از زﺑﺎن
SQL
و دﻻﺋﻞ ﮔﺴﺘﺮدﮔﻲ آن اراﺋﻪ ﺧﻮاﻫﺪ ﺷﺪ.
ﺳﭙﺲ دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ ﻣﺎﻧﻨﺪ ﺗﻌﺮﻳﻒ ﺷﻤﺎ و ﺟﺪول و ...ﻣﻄﺮح ﺷﺪه و در اداﻣﻪ دﺳﺘﻮرات ﻣﺮﺑﻮط ﺑﻪ ﭘﺮس وﺟﻮي دادهﻫﺎ ﺑﻴﺎن ﺧﻮاﻫﺪ ﺷﺪ .ﭘﺲ از ﺗﻮﺿﻴﺢ اﻳﻦ ﮔﺮوه از دﺳﺘﻮرات ،دﺳﺘﻮرات ﻛﺎر ﺑﺎ داده ﻫﺎ ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ.ﭘﺲ از آن ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺗﺮ ﻣﻄﺮح و در اﻳﻦ راﺳﺘﺎ ﻋﻤﻠﮕﺮﻫﺎي ﭘﻴﻮﻧﺪ و ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺑﻴﺎن ﺧﻮاﻫﻨﺪ ﺷﺪ .در ﭘﺎﻳﺎن ﻧﻴﺰ درﺑﺎزه دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮزﻫﺎي دﺳﺘﺮﺳﻲ ﺻﺤﺒﺖ ﺧﻮاﻫﺪ ﺷﺪ.
ﻫﺪف رﻓﺘﺎري دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﻣﻘﺪﻣﻪ اي ﺑﺮ
•
دﻻﺋﻞ ﮔﺴﺘﺮدﮔﻲ
•
دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ
•
ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده
•
ﺗﻌﺮﻳﻒ ﺷﻤﺎ
•
ﺗﻌﺮﻳﻒ ﺟﺪول
•
دﺳﺘﻮرات ﭘﺮس و ﺟﻮ )ﻣﺸﺎﻫﺪه( دادهﻫﺎ
SQL SQL DDL
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
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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
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
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 155 SQL
2- 3ﺗﻌﺮﻳﻒ ﺷﻤﺎ اﻳﻦ ﺗﻌﺮﻳﻒ در ﺣﺎﻟﺖ ﻛﻠﻲ ﺷﺎﻣﻞ ﺗﻌﺮﻳﻒ ﻛﺎرﺑﺮ ،ﺗﻌﺮﻳﻒ ﺟﺪاول و ﺗﻌﺮﻳﻒ دﻳﺪ ﻫﺎ و ﺑﺴﻴﺎري ﻣﻔﺎﻫﻴﻢ دﻳﮕﺮ ﻣﻲ ﺑﺎﺷﺪ و ﺳﺎﺧﺘﺎر آن ﺑﺴﺘﻪ ﺑﻪ ﭘﺎﻳﮕﺎه داده اﻧﺘﺨﺎب ﺷﺪه ﻣﺘﻔﺎوت ﻣﻲ ﺑﺎﺷﺪ .ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر )ﻛﻪ در آن ﺻﺮﻓﺎ ﺗﻌﺎرﻳﻒ
Table
و
View
آﻣﺪه اﺳﺖ( ﺑﻪ
ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ. 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
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اﺻﻼح ﺳﺎﺧﺘﺎر ﺟﺪول ﻳﻜﻲ از ﻣﻠﺰوﻣﺎت اﺳﺎﺳﻲ در ﻣﻮرد ﺟﺪاول ،اﻣﻜﺎن اﺻﻼًح ﺳﺎﺧﺘﺎر ﺟﺪاول و ﺣﺬف و اﺿﺎﻓﻪ ﻛﺮدن ﺳﺘﻮﻧﻬﺎي ﻣﺮﺑﻮط ﺑﻪ آن ﻣﻲ ﺑﺎﺷﺪ .ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ در ﻣﻮاﻗﻌﻲ ﻻزم ﻣﻲ ﺷﻮد ﺗﺎ ﺳﺘﻮﻧﻬﺎي ﺟﺪﻳﺪي )ﺻﻔﺎت ﺧﺎﺻﻪ( ﺑﻪ ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ ﻛﻪ از ﻗﺒﻞ ﻃﺮاﺣﻲ ﻛﺮده اﻳﻢ اﺿﺎﻓﻪ ﮔﺮدد ﻳﺎ ﺳﺘﻮن ﻫﺎﻳﻲ از ﺟﺪول ﻣﺬﻛﻮر ﺣﺬف ﮔﺮدد .ﻫﻤﭽﻨﻴﻦ اﻳﻦ اﻣﻜﺎن ﻧﻴﺰ
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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
و از ﻧﻮع رﺷﺘﻪ اي را ﺑﻪ ﺟﺪوﻟﻲ ﺑﻪ ﻧﺎم
SQLﻣﺮﺑﻮﻃﻪ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد:
SalesPeople
اﺿﺎﻓﻪ ﻧﻤﺎﻳﻴﻢ .ﻋﺒﺎرت
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ﺣﺬف ﻳﻚ ﺟﺪول در ﻣﻮاردي ﻣﻤﻜﻦ اﺳﺖ ﻻزم ﺑﺎﺷﺪ ﻳﻚ ﺟﺪول از ﭘﺎﻳﮕﺎه داده ﺣﺬف ﮔﺮدد .ﺑﺮاي اﻧﺠﺎم
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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
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
ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﻋﺒﺎرت ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد ﻋﻼﻣﺖ
*
ﺑﻪ ﻣﻌﻨﺎي اﻧﺘﺨﺎﺑﻲ
ﺗﻤﺎﻣﻲ ﺳﺘﻮن ﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺳﻄﺮﻫﺎ ﻣﻲ ﺑﺎﺷﺪ .اﻳﻦ دﺳﺘﻮر ﻣﻲ ﺗﻮاﻧﺪ ﺑﻪ ﺷﺮح ذﻳﻞ ﻧﻴﺰ ﺑﺎﺷﺪ:
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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
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
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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را داﺷﺘﻪ ﺑﺎﺷﻨﺪ ،ﻻزم اﺳﺖ ﻣﻘﺪاري در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد ،در ﻏﻴﺮ اﻳﻨﺼﻮرت اﻣﻜﺎن اﻓﺰودن رﻛﻮرد ﺟﺪﻳﺪ وﺟﻮد ﻧﺪارد.
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
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﻫﺮ ﻳﻚ از ﺻﻔﺎت ﺧﺎﺻﻪ ﺑﺎ ﻳﻚ ﻛﺎﻣﺎ از دﻳﮕﺮي ﺟﺪا ﺷﺪه اﺳﺖ .ﺗﺎ اﻳﻦ ﻗﺴﻤﺖ از ﻛﺎر ﻣﻌﻤﻮﻻً ﻣﻘﺪار ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ را ﺗﻐﻴﻴﺮ دادهاﻳﻢ .وﻟﻲ
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ﻣﻲﺑﺎﺷﺪ.
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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
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
و
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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
ENAME SMITH
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
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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
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
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ
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
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ ﭼﭗ ﭘﻴﻮﻧﺪ ﻣﻲﺑﺎﺷﻨﺪ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ:
ﭘﺎﻳﮕﺎه دادهﻫﺎ
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. G ro u p B y
ﻋﻤﻠﮕﺮ ﮔﺮوه ﺑﻨﺪي1- 7
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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
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
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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ﻋﻤﻠﮕﺮ
HAVING
MINVAL
DEPTNO
1300
10
800
20
950
30
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
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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
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
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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 empno From emp )Where sal >2000
Select ename,sal From emp Where empno IN
ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺻﻮرت ﺟﺪول زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ: SAL
ENAME
2975
JONES
2850
BLAKE
2450
CLARK
3000
SCOTT
5000
KING
3000
FORD
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دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮز دﺳﺘﺮﺳﻲ دﺳﺘﻮرات ﻛﻨﺘﺮل ﻛﻨﻨﺪه ﻣﺠﻮز دﺳﺘﺮﺳﻲ در ﭘﺎﻳﮕﺎه ﻫﺎي داده ﺑﻪ دو ﺻﻮرت ﻛﻠﻲ زﻳﺮ ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮد: •
دﺳﺘﺮﺳﻲ ﺑﻪ دادهﻫﺎ
•
دﺳﺘﺮﺳﻲ ﺑﻪ اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺘﻲ
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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
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
اﻓﺰوده ﺷﺪه و ﻳﺎ ﺑﻌﻀﻲ از دﺳﺘﻮرات
در اداﻣﻪ ﺗﻐﻴﻴﺮات اﻋﻤﺎل ﺷﺪه ﺑﻪ اﺧﺘﺼﺎر آﻣﺪه اﺳﺖ:
ﺑﻮد .در اﻳﻦ دﺳﺘﻮر
SQL1
ﻛﺎﻣﻞ ﺗﺮ ﺷﺪﻧﺪ.
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 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
ﭘﺎﻳﮕﺎه دادهﻫﺎ
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 100 150 200 250 300 350 400 450
Name
J P B G B RU R J
Enrollment Student Num 100 150 200 250 300
Major
Hestory Acount Math Hestory Acount Math Acount Hestory
Class Name
BD445 BA200 BD445 CS250 CS150
Gradelevel G S G S S J F S
Polition Num 1 1 2 1 1
Age 21 19 50 50 41 20 18 24
189 SQL آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 350 400 450
BA200 BF410 CS250
2 1 2
Class Name
BA200 BD445 BF410 CS150 CS250
Time F9 F3 F8 F3 F12
Room 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
ﭘﺎﻳﮕﺎه دادهﻫﺎ
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 اﺳﺎﻣﻲ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ ﻛﻪ ﻗﻄﻌﻪ
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 191 SQL
ﻓﺼﻞ ۹ ﻧﺮﻣﺎﻝ ﺳﺎﺯﻱ ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﻌﺮﻳﻔﻲ از راﺑﻄﻪ ﻧﺮﻣﺎل را اراﺋﻪ ﻛﺮده و ﻣﻌﺎﻳﺐ و ﻣﺰاﻳﺎي راﺑﻄﻪ ﻫﺎي ﻧﺮﻣﺎل و ﻏﻴﺮﻧﺮﻣﺎل را ﺑﻴﺎن ﺧﻮاﻫﻴﻢ ﻛﺮد .ﺳﭙﺲ ﺑﺎ ﻣﻔﻬﻮم ﺗﺌﻮري واﺑﺴﺘﮕﻲ و در اداﻣﻪ ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ،واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ و ﺣﺎﻟﺘﻬﺎي واﺑﺴﺘﮕﻲ آﺷﻨﺎ ﺧﻮاﻫﻴﻢ ﺷﺪ .در اداﻣﻪ ﻣﻔﻬﻮم ﻧﺮﻣﺎل ﺳﺎزي و اﻧﻮاع ﺻﻮرت ﻫﺎي ﻧﺮﻣﺎل راﺑﻄﻪ ﻫﺎ را ﺑﻪ ﺗﻔﺼﻴﻞ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد.
ﻫﺪف رﻓﺘﺎري دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﺗﻌﺮﻳﻒ راﺑﻄﻪ ﻧﺮﻣﺎل
•
ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪﻫﺎي ﻧﺮﻣﺎل
•
ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪﻫﺎي ﻏﻴﺮ ﻧﺮﻣﺎل
•
ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ و اﻧﻮاع واﺑﺴﺘﮕﻲﻫﺎ
•
ﺣﺎﻟﺘﻬﺎي واﺑﺴﺘﮕﻲ
•
ﻧﻤﻮدار واﺑﺴﺘﮕﻲﻫﺎي ﺗﺎﺑﻌﻲ
•
ﺻﻮرتﻫﺎي ﻧﺮﻣﺎل
•
ﻓﺮاﻳﻨﺪ ﻧﺮﻣﺎل ﺳﺎزي
194
ﭘﺎﻳﮕﺎه دادهﻫﺎ
-1ﺗﻌﺮﻳﻒ راﺑﻄﻪ ﻧﺮﻣﺎل ﻳﻜﻲ از ﻣﻬﻢ ﺗﺮﻳﻦ ﻣﺒﺎﺣﺚ در ﭘﺎﻳﮕﺎه ﻫﺎي داده راﺑﻄﻪ اي ،ﺑﺤﺚ ﻧﺮﻣﺎل ﺳﺎزي راﺑﻄﻪ ﻫﺎ اﺳﺖ .ﺣﺎل اﻳﻦ ﺳﺌﻮال ﺑﻪ ذﻫﻦ ﻣﻲ رﺳﺪ ﻛﻪ اﺻﻮﻻ راﺑﻄﻪ ﻧﺮﻣﺎل ﭼﻴﺴﺖ .در اداﻣﻪ ﺗﻌﺎرﻳﻔﻲ از راﺑﻄﻪ ﻧﺮﻣﺎل را اراﺋﻪ ﻣﻲ ﻛﻨﻴﻢ. •
ﺗﻌﺮﻳﻒ اول :راﺑﻄﻪ ﻧﺮﻣﺎل راﺑﻄﻪاي اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮ ﺗﻤﺎم ﺻﻔﺎﺗﺶ ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ ﺑﺎﺷﻨﺪ.
•
ﺗﻌﺮﻳﻒ دوم :راﺑﻄﻪ ﻧﺮﻣﺎل راﺑﻄﻪاي اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮ ﻫﻴﭽﻴﻚ از ﻣﻴﺪاﻧﻬﺎﻳﺶ ،ﻳﻚ ﻣﻘﺪار راﺑﻄﻪاي ﺑﺎ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ ﺑﺰرﮔﺘﺮ از ﻳﻚ ﻧﺒﺎﺷﺪ.
در ﺗﻮﺻﻴﻒ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻳﻚ ﻣﻘﺪار ﺳﺎده ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ را ﻣﻲ ﺗﻮان ﻳﻚ ﻣﻘﺪار راﺑﻄﻪ اي از درﺟﻪ ﻳﻚ و ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ ﻳﻚ داﻧﺴﺖ .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ در ﺑﺪﻧﻪ راﺑﻄﻪ ﻧﺮﻣﺎل ،ﺻﻔﺖ ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ ﭼﻨﺪ ﻣﻘﺪاري وﺟﻮد ﻧﺪارد و اﺻﻄﻼﺣﺎ ﻣﻲ ﮔﻮﻳﻴﻢ راﺑﻄﻪ ﻣﺴﻄﺢ اﺳﺖ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل را ﻣﻲ ﺗﻮان ﺑﺼﻮرت زﻳﺮ ﺗﻮﺻﻴﻒ ﻛﺮد: راﺑﻄﻪ اي ﻛﻪ در آن ﻣﻘﺎدﻳﺮ ﺣﺪاﻗﻞ ﻳﻚ ﺻﻔﺖ ،ﺧﻮد ﻣﻘﺎدﻳﺮ راﺑﻄﻪ اي ﺑﺎﺷﻨﺪ را راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل ﮔﻮﻳﻴﻢ .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﺻﻔﺖ ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ ﭼﻨﺪ ﻣﻘﺪاري داﺷﺘﻪ ﺑﺎﺷﺪ ،راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل اﺳﺖ.
1-1دﻻﻳﻞ ﻟﺰوم ﻧﺮﻣﺎل ﺑﻮدن راﺑﻄﻪ ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﺪ ﻧﺮﻣﺎل ﺑﻮدن راﺑﻄﻪ دﻟﻴﻞ رﻳﺎﺿﻲ ﻧﺪارد و ﻣﻲ ﺗﻮان ﮔﻔﺖ ﺻﺮﻓﺎ ﺟﻨﺒﻪ ﺳﺎدﮔﻲ آن ﻣﻄﺮح اﺳﺖ .ﺳﺎدﮔﻲ ﻋﻨﺼﺮ اﺳﺎﺳﻲ ﺳﺎﺧﺘﺎر راﺑﻄﻪ اي ﺧﻮد ﺳﺎدﮔﻲﻫﺎي زﻳﺮ را در ﺑﺮ دارد: •
ﺳﺎدﮔﻲ در ﻧﻤﺎﻳﺶ ﻇﺎﻫﺮي راﺑﻄﻪ
•
ﺳﺎدﮔﻲ دﺳﺘﻮرات زﺑﺎن
•
ﺳﺎدﮔﻲ اﺟﺮاي ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهداده
2-1ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻧﺮﻣﺎل راﺑﻄﻪ ﻧﺮﻣﺎل ﻣﻌﺎﻳﺒﻲ دارد ﻛﻪ ﺑﻪ ﺷﺮح ذﻳﻞ آﻣﺪه اﺳﺖ:
ﻧﺮﻣﺎل ﺳﺎزي 195 •
ﺑﺮوز ﭘﺪﻳﺪه اﻓﺰوﻧﮕﻲ ﻛﻪ ﻣﻲﺗﻮاﻧﺪ ﻓﻴﺰﻳﻜﻲ ﻫﻢ ﺑﺎﺷﺪ.
•
ﻃﻮﻻﻧﻲ ﺗﺮ ﺷﺪن ﻛﻠﻴﺪ راﺑﻄﻪ
•
ﻋﺪم اﻣﻜﺎن ﻧﻤﺎﻳﺶ دادهﻫﺎي ﭘﻴﭽﻴﺪه
•
دﺷﻮاري در ﻧﻤﺎﻳﺶ ﻃﺒﻴﻌﻲ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ
•
دﺷﻮاري در ﻧﻤﺎﻳﺶ ﻣﻔﻬﻮم وراﺛﺖ
3-1ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل ﻧﻴﺰ داراي ﻣﺰاﻳﺎﻳﻲ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ •
ﻛﺎﻫﺶ ﻣﻴﺰان اﻓﺰوﻧﮕﻲ
•
ﻛﻮﺗﺎه ﺷﺪن ﻛﻠﻴﺪ
•
اﻣﻜﺎن ﻧﻤﺎﻳﺶ دادهﻫﺎي ﭘﻴﭽﻴﺪه
•
دﺷﻮاري ﻛﻤﺘﺮ در ﻧﻤﺎﻳﺶ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ
•
دﺷﻮاري ﻛﻤﺘﺮ در ﻧﻤﺎﻳﺶ ﻣﻔﻬﻮم وراﺛﺖ
•
اﻓﺰاﻳﺶ ﺳﺮﻋﺖ ﻋﻤﻠﻴﺎت )در ﺑﻌﻀﻲ ﻣﻮارد( در ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎ
ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ در ﻛﻨﺎر اﻳﻦ ﻣﺰاﻳﺎ ،راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل ﺧﻮد ﻧﻴﺰ داراي ﻣﻌﺎﻳﺒﻲ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ اﻳﻦ ﻣﻌﺎﻳﺐ در ذﻳﻞ آﻣﺪه اﺳﺖ: •
ﭘﻴﭽﻴﺪﮔﻲ در ﻧﻤﺎﻳﺶ دادهﻫﺎ
•
ﭘﻴﭽﻴﺪﮔﻲ در ﻧﮕﺎرش دﺳﺘﻮرات
•
ﭘﻴﭽﻴﺪﮔﻲ در اﺟﺮاي دﺳﺘﻮرات
-2ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ
1
در ﺑﺤﺚ ﻧﺮﻣﺎل ﺳﺎزي راﺑﻄﻪﻫﺎ ،ﺑﻪ ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ ﻧﻴﺎز دارﻳﻢ .در اﻳﻦ ﻗﺴﻤﺖ ﺑﺎ ﺑﺮﺧﻲ ﻣﻔﺎﻫﻴﻢ واﺑﺴﺘﮕﻲ آﺷﻨﺎ ﻣﻲ ﺷﻮﻳﻢ.
1. D e pe n d e n c y
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
ﻧﺮﻣﺎل ﺳﺎزي 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
ﭼﻮن اﻋﻤﺎل اﻳﻦ ﻗﻮاﻋﺪ ﻣﺸﻜﻞ ﻣﻲ ﺑﺎﺷﺪ ،آﻧﻬﺎ را ﺑﻪ ﺻﻮرت ﺳﺎده ﺗﺮ ﺑﻴﺎن ﻣﻲﻛﻨﻴﻢ.
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
4-2ﻧﻤﻮدار واﺑﺴﺘﮕﻲﻫﺎي ﺗﺎﺑﻌﻲ
1
ﺟﻬﺖ درك ﺑﻬﺘﺮ از واﺑﺴﺘﮕﻲﻫﺎ ،ﻧﻤﻮدار واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﺎﺑﻌﻲ را رﺳﻢ ﻣﻲﻛﻨﻴﻢ .ﻧﺤﻮه ﻧﻤﺎﻳﺶ ﻧﻤﻮدار واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺑﺮاي راﺑﻄﻪ
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
ﻧﺮﻣﺎل ﺳﺎزي 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
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
ﻧﺮﻣﺎل ﺳﺎزي 201 •
ﻣﺮاﺣﻞ ﻧﺮﻣﺎل ﺳﺎزي
•
ﻣﺸﺨﺺ ﻛﺮدن ﺟﺪاول
•
ﺷﻨﺎﺳﺎﺋﻲ دادهﻫﺎ و ارﺗﺒﺎﻃﺸﺎن
•
رﺳﻢ ﻧﻤﻮدار واﺑﺴﺘﮕﻲ
•
ﻃﺮاﺣﻲ ﺟﺪاول اوﻟﻴﻪ
•
در ﻧﻈﺮ ﮔﺮﻓﺘﻦ واﺑﺴﺘﮕﻲﻫﺎ
•
اﻋﻤﺎل ﻓﺮﻣﻬﺎي ﻧﺮﻣﺎل
در اداﻣﻪ راﺑﻄﻪ ﻫﺎي ﻧﺮﻣﺎل را ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد:
1-4راﺑﻄﻪ
1NF
راﺑﻄﻪ اي 1NF
اﺳﺖ ﻛﻪ:
•
ﻫﻤﻪ ﻛﻠﻴﺪﻫﺎي آن ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﺪ
•
ﻫﻤﻪ ﺻﻔﺖﻫﺎي آن ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﻪ ﺑﺎﺷﻨﺪ
•
ﺻﻔﺖﻫﺎي ﺗﺮﻛﻴﺒﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻴﻢ
ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي
1NF
اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﻫﺮ ﺻﻔﺖ آن در ﻫﺮ ﺗﺎﭘﻞ ،ﺗﻚ
ﻣﻘﺪاري ﺑﺎﺷﺪ )ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ(. ﻣﺜﺎل :1راﺑﻄﻪ
STCOR
را ﻛﻪ در آن
STID
و
COID
ﺗﻮاﻣﺎ ﻛﻠﻴﺪ اﺻﻠﻲ ﻫﺴﺘﻨﺪ را در
ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ: )STCOR (STID, COID, STNAME, GRADE, STMJR, STDEID STNAME STID STMJR
GRADE COID
STDEID
202
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻣﺜﺎل :2
} CITY , QTY
2-4راﺑﻄﻪ
R = { S# , P# , STATUS ,
2NF
راﺑﻄﻪ اي 2NF
اﺳﺖ ﻛﻪ
•
1NFﺑﺎﺷﺪ
•
ﺻﻔﺖﻫﺎي آن ﺑﻪ زﻳﺮ ﻣﺠﻤﻮﻋﻪﻫﺎي ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﻪ ﻧﺒﺎﺷﺪ
ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي
2NF
اﺳﺖ ﻛﻪ اوﻻ
1NF
ﺑﺎﺷﺪ و ﺛﺎﻧﻴﺎ ﺗﻤﺎم ﺻﻔﺎت ﻏﻴﺮ ﻛﻠﻴﺪ ﺑﺎ
ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﻨﺪ. ﻣﺜﺎل :1 STID GRADE COID
STNAME
STMJR
STDEID
STID
ﻧﺮﻣﺎل ﺳﺎزي 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
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ﻳﻚ واﺑﺴﺘﮕﻲ ﻏﻴﺮ ﻣﻬﻢ ﺑﺎﺷﺪ ﻳﻌﻨﻲ
•
Aﺳﻮﭘﺮ ﻛﻠﻴﺪ راﺑﻄﻪ Rﺑﺎﺷﺪ
B∁A
ﺗﻌﺮﻳﻒ ﭼﻬﺎرم :راﺑﻄﻪ اي BCNFاﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﺳﻤﺖ ﭼﭗ ﻫﺮ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻣﻬﻢ و ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ ،ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ ﺑﺎﺷﺪ.
5-4راﺑﻄﻪ
4NF
راﺑﻄﻪ اي 4NFاﺳﺖ اﮔﺮ •
BCNFﺑﺎﺷﺪ
•
در آن واﺑﺴﺘﮕﻲ ﭼﻨﺪ ﻣﻘﺪاري ﻣﻬﻢ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ.
ﻧﺮﻣﺎل ﺳﺎزي 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
206
ﭘﺎﻳﮕﺎه دادهﻫﺎ
در ﻓﺮاﻳﻨﺪﻫﺎي ﻧﺮﻣﺎل ﺳﺎزي ﺗﺎ ﺳﻄﺢ ،4NFاﻟﮕﻮرﻳﺘﻢ ﻋﻤﻮﻣﻲ درﻫﺮ ﻣﺮﺣﻠﻪ ﻋﺒﺎرت ﺑﻮد از ﺗﺠﺰﻳﻪ راﺑﻄﻪ ﺑﻪ دو راﺑﻄﻪ ﻧﺮﻣﺎﻟﺘﺮ ﺑﻪ ﮔﻮﻧﻪ اﻳﻜﻪ ﺑﺎ ﭘﻴﻮﻧﺪ دو راﺑﻄﻪ ،ﻫﻤﺎن راﺑﻄﻪ اﺻﻠﻲ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ .اﻣﺎﻣﻤﻜﻦ اﺳﺖ در وﺿﻊ ﺧﺎﺻﻲ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ ﺗﺠﺰﻳﻪ ﻛﻨﻴﻢ وﻟﻲ ﺑﺎ ﭘﻴﻮﻧﺪ دو راﺑﻄﻪ ،راﺑﻄﻪ اوﻟﻴﻪ ﺑﺪﺳﺖ ﻧﻴﺎﻳﺪ .ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ: )PRCODE (PRID, COID, DEID DEID
COID
D4 D1 D1 D1
PRID Pr11 Pr11 Pr22 Pr11
C1 C3 C1 C1
ﺣﺎل اﻳﻦ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ زﻳﺮ ﺗﺠﺰﻳﻪ ﻣﻲﻛﻨﻴﻢ .ﭘﺲ راﺑﻄﻪﻫﺎي زﻳﺮ از ﺗﺠﺰﻳﻪ راﺑﻄﻪ 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ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد:
ﻧﺮﻣﺎل ﺳﺎزي 207
راﺑﻄﻪاي
5NF
اﺳﺖ اﮔﺮ ﺗﻤﺎم واﺑﺴﺘﮕﻲﻫﺎي ﭘﻴﻮﻧﺪي آن ﻧﺎﺷﻲ از ﻛﻠﻴﺪﻫﺎي
ﻛﺎﻧﺪﻳﺪ آن ﺑﺎﺷﺪ .ﺑﺎ اﻳﻦ وﺻﻒ اﮔﺮ ﺑﺘﻮاﻧﻴﻢ ﻳﻚ واﺑﺴﺘﮕﻲ ﭘﻴﻮﻧﺪي در راﺑﻄﻪ ﭘﻴﺪا ﻛﻨﻴﻢ ﻛﻪ در ﭘﺮﺗﻮﻫﺎﻳﺶ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ
R
وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ،راﺑﻄﻪ
R
5Nf
ﻧﻴﺴﺖ. ﺗﻮﺟﻪ :آﻧﻮﻣﺎﻟﻲ در ﺳﻄﻮح
4NF
و
5NF
ﺻﺮﻓﺎ در ﺷﺮاﻳﻂ ﺧﺎص و ﺑﺮاي ﻣﺤﻴﻄﻬﺎي
ﺧﺎص رخ ﻣﻲ دﻫﺪ و در ﺣﺎﻟﺖ ﻋﺎدي اﻳﻦ ﻧﻮع آﻧﻮﻣﺎﻟﻲ ﻫﺎ در ﻃﺮاﺣﻲ ﺳﺎﺧﺘﺎر اﻃﻼﻋﺎﺗﻲ ﺳﻴﺴﺘﻢ ﻫﺎ رخ ﻧﻤﻲ دﻫﺪ .ﻟﺬا ﺑﻄﻮر ﻣﻌﻤﻮل اﮔﺮ ﺑﺘﻮاﻧﻴﻢ ﺳﺎﺧﺘﺎر اﻃﻼﻋﺎﺗﻲ ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ را ﺣﺪاﻛﺜﺮ ﺗﺎ ﺳﻄﺢ
3NF
و ﻳﺎ
BCNF
ﻧﺮﻣﺎل ﻛﻨﻴﻢ ،اﺻﻄﻼﺣﺎ ﻣﻲ ﮔﻮﻳﻴﻢ ﻧﺮﻣﺎل
ﺳﺎزي ﻛﺎﻣﻞ اﻧﺠﺎم ﺷﺪه اﺳﺖ.
ﺗﻤﺮﻳﻨﺎت
208
ﭘﺎﻳﮕﺎه دادهﻫﺎ
.1راﺑﻄﻪ ﻧﺮﻣﺎل را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ. .2ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻧﺮﻣﺎل را ﻧﺎم ﺑﺒﺮﻳﺪ .3راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل داراي ﭼﻪ ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺒﻲ ﺧﻮاﻫﺪ ﺑﻮد .4اﻧﻮاع واﺑﺴﺘﮕﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ .5واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ .6ﺣﺎﻟﺖ ﻫﺎي واﺑﺴﺘﮕﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ .7ﺻﻮرت ﻫﺎي ﻧﺮﻣﺎل را ﻧﺎم ﺑﺒﺮﻳﺪ .8ﺻﻮرت ﻧﺮﻣﺎل اول را ﺗﻮﺿﻴﺢ دﻫﻴﺪ .9ﺻﻮرت ﻧﺮﻣﺎل ﺳﻮم ﺑﻪ ﭼﻪ ﺻﻮرت اﺳﺖ .10ﺻﻮرت ﻧﺮﻣﺎل BCNFراﺷﺮح دﻫﻴﺪ .11ﺻﻮرت ﻧﺮﻣﺎل 5NFﭼﮕﻮﻧﻪ اﺳﺖ
ﻓﺼﻞ ۱۰ ﻣﻌﻤﺎﺭﻱﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻩﺩﺍﺩﻩ ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ ﺑﻪ ﻣﻮﺿﻮع ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﭘﺮدازﻳﻢ .اﺑﺘﺪا ﻣﻌﻤﺎري ﻫﺎي ﻣﺘﻤﺮﻛﺰ ﭘﺎﻳﮕﺎه داده ﻫﺎ را ﺷﺮح داده و ﺳﭙﺲ وارد ﺑﺤﺚ ﻣﻌﻤﺎري ﻫﺎي ﻏﻴﺮ ﻣﺘﻤﺮﻛﺰ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﺷﻮﻳﻢ .در ﺑﺤﺚ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻧﺎﻣﺘﻤﺮﻛﺰ ،ﻣﻌﻤﺎري ﻫﺎﻳﻲ ﻣﺎﻧﻨﺪ ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار ،ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه ،ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي، ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ و ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه را ﺑﺎ ذﻛﺮ ﺗﻮﺿﻴﺤﺎت در ﻣﻮرد ﻫﺮ ﻳﻚ از اﻧﻮاع ﻣﻌﻤﺎري ﻫﺎي ﻣﺬﻛﻮر ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد.
ﻫﺪف رﻓﺘﺎري دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ
•
ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ
•
ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار
•
ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه
•
ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي
•
ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك
•
ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك
•
ﻣﻌﻤﺎري ﺑﻲ اﺟﺰا ﻣﺸﺘﺮك
210ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
•
ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ
•
ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه
-1ﻣﻘﺪﻣﻪ ﻳﻜﻲ از ﻣﺒﺎﺣﺚ ﻣﻬﻢ و ﻛﻠﻴﺪي در ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ،اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه و ﭘﻴﻜﺮ ﺑﻨﺪي ﻳﺎ ﻃﺮز ﺗﺮﻛﻴﺐ اﺟﺰاء ﺳﻴﺴﺘﻢ و ﭼﮕﻮﻧﮕﻲ ﺗﻌﺎﻣﻞ اﺟﺰاء ﺑﺎ ﻳﻜﺪﻳﮕﺮ اﺳﺖ .در ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺣﺪاﻗﻞ ﻳﻚ ﭘﺎﻳﮕﺎه داده ﻫﺎ ،ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ، ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ،ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺎ دﺳﺘﮕﺎهﻫﺎي ﺟﺎﻧﺒﻲ و ﺗﻌﺪادي ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي و ﻛﺎرﺑﺮ وﺟﻮد دارﻧﺪ. ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺴﺘﮕﻲ ﺑﻪ دو ﻋﻨﺼﺮ اﺻﻠﻲ ﺳﻴﺴﺘﻢ ﻳﻌﻨﻲ ﺳﺨﺖاﻓﺰار و ﻧﺮماﻓﺰار ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ دارد .اﻟﺒﺘﻪ ﻋﻮاﻣﻞ دﻳﮕﺮي ﻫﻢ در ﻃﺮاﺣﻲ اﻳﻦ ﻣﻌﻤﺎري دﺧﺎﻟﺖ دارﻧﺪ ﻛﻪ اﻫﻢ اﻳﻦ ﻋﻮاﻣﻞ ﻋﺒﺎرﺗﻨﺪ از: •
ﻣﻮﻗﻌﻴﺖ ﺟﻐﺮاﻓﻴﺎﻳﻲ ﻛﺎرﺑﺮان
•
ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان
•
ﻣﺎﻫﻴﺖ ﭘﺮدازشﻫﺎ و ﺗﺮاﻛﻨﺶﻫﺎ
•
ﺗﻌﺪاد ﺗﺮاﻛﻨﺶﻫﺎ
•
ﺣﺠﻢ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ
•
ﻣﻮﻗﻌﻴﺖ ﻣﻜﺎﻧﻲ دادهﻫﺎ و ارﺗﺒﺎﻃﺎت ﺑﻴﻦ آﻧﻬﺎ
•
ﻣﺎﻫﻴﺖ ﻛﺎرﺑﺮدﻫﺎي ﻣﻮرد ﻧﻈﺮ
-2اﻧﻮاع ﻣﻌﻤﺎري در اﺳﺎس دو ﻧﻮع ﻣﻌﻤﺎري ﺑﺮاي ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ وﺟﻮد دارد ﻛﻪ اﻳﻦ دو ﻣﻌﻤﺎري ﻋﺒﺎرﺗﻨﺪ از: •
ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ
•
ﻣﻌﻤﺎري ﻧﺎ ﻣﺘﻤﺮﻛﺰ
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 211
در اداﻣﻪ ﻫﺮ ﻳﻚ از اﻧﻮاع ﻣﻌﻤﺎري ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ.
1-2ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ در اﻳﻦ ﻣﻌﻤﺎري ﻳﻚ ﭘﺎﻳﮕﺎه دادهﻫﺎ روي ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي و ﺑﺪون ارﺗﺒﺎط ﺑﺎ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي دﻳﮕﺮ ،اﻳﺠﺎد ﻣﻲ ﺷﻮد .ﺳﺨﺖ اﻓﺰار اﻳﻦ ﺳﻴﺴﺘﻢ ﻣﻲ ﺗﻮاﻧﺪ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ ﻣﺘﻮﺳﻂ و ﻳﺎ ﺑﺰرگ ﺑﺎﺷﺪ و ﻃﺒﻌﺎ ﻗﺪرت ،ﺗﻮاﻧﺶ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ ﻧﻴﺰ ﻣﺘﻔﺎوت اﺳﺖ.
ﺷﻜﻞ 1-10ﻧﻤﺎﻳﺸﻲ از ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ
ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ ﻛﻪ روي ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ اﻳﺠﺎد ﻣﻲﺷﻮد ،ﺗﻚ ﻛﺎرﺑﺮي ،ﺑﺮاي ﻛﺎرﺑﺮدﻫﺎي ﻛﻮﭼﻚ و ﺑﺎ اﻣﻜﺎﻧﺎت ﻣﺤﺪود اﺳﺖ و ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﻧﻴﺰ ﺗﻮاﻧﺶ ﭼﻨﺪاﻧﻲ ﻧﺪارد .اﻣﺎ ﺳﻴﺴﺘﻢ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺘﻮﺳﻂ و ﺑﻪ وﻳﮋه ﺑﺰرگ ﻣﺘﺼﻞ ﺑﻪ ﺗﻌﺪاد زﻳﺎدي ﭘﺎﻳﺎﻧﻪ ،ﻣﻲﺗﻮاﻧﺪ ﺳﻴﺴﺘﻢ ﻛﺎراﻳﻲ ﺑﺎﺷﺪ .ﺷﻜﻞ 1-10ﻃﺮﺣﻲ از ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ اراﺋﻪ ﺷﺪه اﺳﺖ.
2-2ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ ﻣﻌﻤﺎري ﻧﺎ ﻣﺘﻤﺮﻛﺰ ،ﺧﻮد داراي اﻧﻮاع ﻣﺨﺘﻠﻔﻲ اﺳﺖ از ﺟﻤﻠﻪ: •
ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار
•
ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه
212ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ
•
ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي
•
ﻣﻌﻤﺎري ﻣﻮﺑﺎﻳﻞ
در اداﻣﻪ ﻫﺮ ﻳﻚ از اﻧﻮاع ﻣﻌﻤﺎري ﻫﺎي ﻏﻴﺮ ﻣﺘﻤﺮﻛﺰ را ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد.
1-2-2ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار 1-1-2-2ﺗﻌﺮﻳﻒ ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار ﺗﻌﺮﻳﻒ واﺣﺪ و ﻣﻮرد ﭘﺬﻳﺮش ﻫﻤﮕﺎن ﻧﺪارد .در ﻣﻌﻨﺎي ﻋﺎم ﻣﻲ ﺗﻮان اﻳﻦ ﻣﻌﻤﺎري را ﭼﻨﻴﻦ ﺗﻌﺮﻳﻒ ﻛﺮد: ﻫﺮ ﻣﻌﻤﺎري ﻛﻪ در آن ﻗﺴﻤﺘﻲ از ﭘﺮدازش را ﻳﻚ ﺑﺮﻧﺎﻣﻪ ،ﺳﻴﺴﺘﻢ ﻳﺎ ﻣﺎﺷﻴﻦ اﻧﺠﺎم دﻫﺪ و اﻧﺠﺎم ﻗﺴﻤﺖ دﻳﮕﺮ از ﭘﺮدازش را از ﺑﺮﻧﺎﻣﻪ ،ﺳﻴﺴﺘﻢ ﻳﺎ ﻣﺎﺷﻴﻦ دﻳﮕﺮ ﺑﺨﻮاﻫﺪ ،ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار ﻧﺎﻣﻴﺪه
ﻣﻲ ﺷﻮد.
در واﻗﻊ وﻇﺎﻳﻔﻲ ﻛﻪ ﺑﺎﻳﺪ " ﺳﻴﺴﺘﻢ" اﻧﺠﺎم دﻫﺪ ﺑﻪ دو دﺳﺘﻪ ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮﻧﺪ: •
دﺳﺘﻪاي ﻛﻪ اﻧﺠﺎم آن ﺑﺮ ﻋﻬﺪه ﺧﺪﻣﺘﮕﺰار اﺳﺖ
•
دﺳﺘﻪاي ﻛﻪ ﺗﻮﺳﻂ ﻣﺸﺘﺮي اﻧﺠﺎم ﻣﻲﺷﻮد.
ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻳﻚ ﻣﻌﻤﺎري دو ﺳﻄﺤﻲ دارﻳﻢ ﻛﻪ ﺑﺮﺧﻮرد ﺑﺎ ﭘﻴﭽﻴﺪﮔﻲ ﺳﻴﺴﺘﻢ ﻫﺎي ) (DBMSﺟﺪﻳﺪ و ﻧﻴﺰ ﻣﺸﻜﻞ ﺗﻮزﻳﻊ را ﺗﺴﻬﻴﻞ ﻣﻲ ﻛﻨﺪ .ﻣﺎﺷﻴﻦ در اﻳﻦ ﺗﻌﺮﻳﻒ در ﻣﻌﻨﺎي ﻋﺎم آن آﻣﺪه اﺳﺖ )ﻓﻴﺰﻳﻜﻲ ﻳﺎ ﻣﻨﻄﻘﻲ( .ﺑﺎ اﻳﻦ ﺗﻌﺮﻳﻒ ،در اﻳﻦ ﻣﻌﻤﺎري ﻳﻚ ﻣﺎﺷﻴﻦ )ﻳﺎ ﺳﻴﺴﺘﻢ ﻳﺎ ﺑﺮﻧﺎﻣﻪ( ﺧﺪﻣﺘﻲ را ﺑﻪ ﻣﺎﺷﻴﻦ )ﻳﺎ ﺳﻴﺴﺘﻢ ﻳﺎ ﺑﺮﻧﺎﻣﻪ( دﻳﮕﺮ اراﺋﻪ ﻣﻲ ﻛﻨﺪ ،از اﻳﻦ رو ﺑﻪ اﻳﻦ ﻣﺎﺷﻴﻦ )ﻳﺎ ﺳﻴﺴﺘﻢ ﻳﺎ ﺑﺮﻧﺎﻣﻪ( ،ﺧﺪﻣﺘﮕﺰار ﻣﻲ ﮔﻮﻳﻨﺪ. ﺑﻨﺎﺑﺮاﻳﻦ ،ﻣﻨﻈﻮر از ﻣﻌﻤﺎري ﻣﺸﺘﺮي-ﺧﺪﻣﺘﮕﺰار آن ﻧﻮع از ﻣﻌﻤﺎري اﺳﺖ ﻛﻪ در آن ﻣﺴﺌﻮﻟﻴﺖ ﻫﺎ ﺑﻪ ﻃﻮر ﻣﻨﻄﻘﻲ ﺗﻘﺴﻴﻢ ﺷﺪه اﺳﺖ. ﺗﻮﺟﻪ :ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻦ ﺗﻘﺴﻴﻢ ﻛﺎر ،ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﻣﻮﺿﻮع ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ ﺣﺘﻤﺎ ﺣﺪاﻗﻞ دو ﻛﺎﻣﭙﻴﻮﺗﺮ در اﻳﻦ ﻣﻌﻤﺎري وﺟﻮد دارد .ﺣﺎل آﻧﻜﻪ ﻟﺰوﻣﺎ ﭼﻨﻴﻦ ﻧﻴﺴﺖ ،دو
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 213
ﺑﺮﻧﺎﻣﻪ ،دو زﻳﺮ ﺳﻴﺴﺘﻢ از ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي و ...ﻣﻲ ﺗﻮاﻧﻨﺪ ﺑﺎ ﻫﻢ ﺗﻘﺴﻴﻢ ﻛﺎر داﺷﺘﻪ ﺑﺎﺷﻨﺪ ....اﻣﺎ در ﻣﺤﻴﻂ ﻫﺎي ﺟﺪﻳﺪ ،ﻣﻌﻤﻮﻻً ﺑﺎ ﺗﻌﺪادي ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ، اﻳﺴﺘﮕﺎه ﻛﺎر ،ﭼﺎﭘﮕﺮ ،ﺧﺪﻣﺘﮕﺰار ﻓﺎﻳﻞ و ﺗﺠﻬﻴﺰات دﻳﮕﺮ ،اﻳﺠﺎد ﻣﻲ ﺷﻮد.
2-1-2-2ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي-ﺧﺪﻣﺘﮕﺰار در اﻳﻦ ﻣﻌﻤﺎري ﻣﻌﻤﻮﻻً دو ﮔﺮوه ﻛﺎﻣﭙﻴﻮﺗﺮ دارﻳﻢ :ﮔﺮوه ﻣﺸﺘﺮي و ﮔﺮوه ﺧﺪﻣﺘﮕﺰار. ﺗﻤﺎم دادهﻫﺎ در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺧﺪﻣﺘﮕﺰار ذﺧﻴﺮه ﻣﻲ ﺷﻮﻧﺪ و ﺗﻤﺎم ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﺎرﺑﺮدي در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺸﺘﺮي اﺟﺮا ﻣﻲ ﺷﻮﻧﺪ .در ﺷﻜﻞ 2-10ﻣﺜﺎﻟﻲ از ﻃﺮح ﺳﺎده ﺷﺪه اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﻳﻚ ﻣﺸﺘﺮي و ﻳﻚ ﺧﺪﻣﺘﮕﺰار دﻳﺪه ﻣﻲﺷﻮد )ﮔﺎه ﻣﻮﺳﻮم ﺑﻪ ﻣﻌﻤﺎري دو ردﻳﻔﻲ .اﻟﺒﺘﻪ ﻣﻌﻤﺎري ﺳﻪ ردﻳﻔﻲ )و از ﻧﻈﺮ ﺗﺌﻮرﻳﻚ،
n
ردﻳﻔﻲ (n≥2 ،ﻫﻢ وﺟﻮد
دارد(.
ﺷﻜﻞ 2-10ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار
ﻛﺎرﺑﺮ در ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ﻣﻲﺗﻮاﻧﺪ از ﻃﺮﻳﻖ واﺳﻂ زﻣﺎﻧﻲ )ﻣﺜﻼ زﺑﺎن دادهاي ﻓﺮﻋﻲ( ﻳﺎ واﺳﻂﻫﺎي دﻳﮕﺮ ﻣﺜﻞ واﺳﻂ ﮔﺮاﻓﻴﻜﻲ ،واﺳﻂ ﻓﺮﻣﻲو ...ﻋﻤﻞ ﻛﻨﺪ .در ﺷﻜﻞ ،3-10 ﻋﻨﺎﺻﺮ ﻣﺤﻴﻂ ﻧﺮماﻓﺰاري اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﻓﺮض وﺟﻮد ﻳﻚ اﻳﻦ ﺷﻜﻞ ،واﺣﺪﻫﺎﻳﻲ از
RDBMS
RDBMS
دﻳﺪه ﻣﻲﺷﻮد .در
در ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي و ﺑﻘﻴﻪ واﺣﺪﻫﺎي آن در ﻣﺎﺷﻴﻦ
ﺧﺪﻣﺘﮕﺰار ﻗﺮار دارﻧﺪ. ﺑﺮاي ﺗﺴﻬﻴﻞ ﺗﻤﺎس ﺑﻴﻦ ﻣﺸﺘﺮي و ﺧﺪﻣﺘﮕﺰار ،اﺑﺰارﻫﺎﻳﻲ ﻣﺜﻞ
ODBC
و
JDBC
و ...ﺗﻮﻟﻴﺪ ﺷﺪهاﻧﺪ .اﻳﻦ اﺑﺰارﻫﺎ در اﺳﺎس واﺳﻂ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﻪ ﻣﺸﺘﺮيﻫﺎ اﻣﻜﺎن ﻣﻲدﻫﻨﺪ ﺗﺎ ﭘﺮﺳﺶﻫﺎ ﺑﻪ ﺻﻮرت اﺣﻜﺎم
SQL
ﺗﻮﻟﻴﺪ ﺷﺪه و ﺑﻪ ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار
ﻓﺮﺳﺘﺎده ﺷﻮﻧﺪ .ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ واﺳﻂ اﺳﺘﺎﻧﺪه ،ﻫﺮ ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ﻣﻲﺗﻮاﻧﺪ ﺑﺎ ﻫﺮ ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار ﻣﺘﺼﻞ ﺑﺎﺷﺪ و ﻧﻴﺎز ﻧﻴﺴﺖ ﻛﻪ ﻣﺤﻴﻂ ﺳﻴﺴﺘﻤﻲدو ﻣﺎﺷﻴﻦ ،ﻫﻤﮕﻦ ﺑﺎﺷﺪ .در
214ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺑﻌﻀﻲ از ﻛﺎرﺑﺮدﻫﺎ ،ﻣﻤﻜﻦ اﺳﺖ واﺳﻄﻬﺎي ﺧﺎص در ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ و ﺣﺘﻲ ﺧﻮد ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ﻫﻢ ﻣﻲﺗﻮاﻧﺪ ﻣﺎﺷﻴﻦ ﺧﺎﺻﻲ ﺑﺎﺷﺪ.
ﺷﻜﻞ 3-10ﻳﻚ ﻃﺮح ﻣﻤﻜﻦ از اﺟﺰاء ﻧﺮماﻓﺰاري ﻣﻌﻤﺎري ﻣﺸﺘﺮي-ﺧﺪﻣﺘﮕﺰار
در ﺑﻌﻀﻲ از ﺳﻴﺴﺘﻢﻫﺎ ،ﺗﻤﺎس ﻣﺸﺘﺮي ﺑﺎ ﺧﺪﻣﺘﮕﺰار از ﻃﺮﻳﻖ ﻓﺮاﺧﻮان دور اﻧﺠﺎم ﻣﻲﺷﻮد .ﺗﻤﺎم ﻓﺮاﺧﻮانﻫﺎي دور از ﺳﻮي ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ،در ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﺗﺮﻛﻨﺶ در ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار ﺟﺎي داده ﻣﻲﺷﻮﻧﺪ ﺗﺎ در اﻳﻦ ﻣﺎﺷﻴﻦ اﺟﺮا ﺷﻮﻧﺪ ،ﺑﻪ ﮔﻮﻧﻪاي ﻛﻪ اﮔﺮ ﺗﺮاﻛﻨﺶ ﺑﻪ ﻫﺮ دﻟﻴﻠﻲ ،ﻃﺮد ﺷﻮد ،ﺧﺪﻣﺘﮕﺰار ﻣﻲﺗﻮاﻧﺪ ﺗﺎﺛﻴﺮات اﺟﺮاي ﻫﺮ ﻳﻚ از ﻓﺮاﺧﻮانﻫﺎي دور را از ﺑﻴﻦ ﺑﺮده ،ﭘﺎﻳﮕﺎهدادهﻫﺎ را ﺑﻪ وﺿﻊ ﺻﺤﻴﺢ ﻗﺒﻞ از اﺟﺮاي ﺗﺮاﻛﻨﺶ ﺑﺮﮔﺮداﻧﺪ.
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 215
3-1-2-2ﻃﺮﺣﻬﺎي ﻣﻌﻤﺎري 1- 3-1-2-2از ﻧﻈﺮ ﺗﻌﺪاد ﻣﺸﺘﺮي و ﺧﺪﻣﺘﮕﺰار از ﻧﻈﺮ ﺗﻌﺪاد ﻣﺸﺘﺮي و ﺧﺪﻣﺖ ﮔﺬار ﻃﺮﺣﻬﺎي زﻳﺮ وﺟﻮد دارﻧﺪ: •
ﻳﻚ ﻣﺸﺘﺮي -ﻳﻚ ﺧﺪﻣﺘﮕﺰار
•
ﭼﻨﺪ ﻣﺸﺘﺮي -ﻳﻚ ﺧﺪﻣﺘﮕﺰار
•
ﻳﻚ ﻣﺸﺘﺮي -ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار
•
ﭼﻨﺪ ﻣﺸﺘﺮي -ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار
2- 3-1-2-2از ﻧﻈﺮ ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري از ﻧﻈﺮ ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖ اﻓﺰاري ،دو ﻧﻮع ﻣﻌﻤﺎري ﺑﻪ ﺷﺮح زﻳﺮ وﺟﻮد دارد: •
ﻣﻌﻤﺎري ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ
•
ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ
ﻣﻌﻤﺎري ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ در اﻳﻦ ﻃﺮح ،ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ اﺳﺖ و ﭘﺎﻳﮕﺎه داده ﻫﺎ روي ﻫﻤﻴﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ ﻣﻲﺷﻮد و ﺗﻌﺪادي ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ ،از ﺧﺪﻣﺎت ﭘﺎﻳﮕﺎﻫﻲ اﻳﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻨﺪ .ﻣﺜﺎﻟﻲ از ﻃﺮح اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ 4-10 ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.
ﺷﻜﻞ 4-10ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ
216ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ در اﻳﻦ ﻃﺮح ،ﺗﻌﺪادي ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ ﺑﻪ ﻋﻨﻮان ﺧﺪﻣﺘﮕﺰار و ﺗﻌﺪادي دﻳﮕﺮ ﺑﻪ ﻋﻨﻮان ﻣﺸﺘﺮي ،از ﻃﺮﻳﻖ ﺷﺒﻜﻪ ﺑﻬﻢ ﻣﺮﺗﺒﻂ اﻧﺪ .ﻳﻚ )ﻳﺎ ﺑﻴﺶ از ﻳﻚ( ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ ،ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎه داده ﻫﺎﺳﺖ و ﺧﺪﻣﺘﮕﺰاران دﻳﮕﺮي ﻫﻢ ﻣﻲ ﺗﻮاﻧﻨﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ .ﻣﺜﺎﻟﻲ از ﻃﺮح اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ 5-10دﻳﺪه ﻣﻲ ﺷﻮد.
4-1-2-2ﻣﺰاﻳﺎي ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار در ﻣﻘﺎﻳﺴﻪ ﺑﺎ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ ،اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري ﻣﺰاﻳﺎي زﻳﺮ را دارد: •
ﺗﻘﺴﻴﻢ ﭘﺮدازش
•
ﻛﺎﻫﺶ ﺗﺮاﻓﻴﻚ ﺷﺒﻜﻪ )در ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ(
•
اﺳﺘﻘﻼل اﻳﺴﺘﮕﺎﻫﻬﺎي ﻛﺎر
•
اﺷﺘﺮاك دادهﻫﺎ
ﺷﻜﻞ 5-10ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار ﺣﻮل ﺷﺒﻜﻪ
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 217
2-2-2ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه 1-2-2-2ﺗﻌﺮﻳﻒ ﻣﺠﻤﻮﻋﻪ اي از داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه ،ﻛﻪ ﻣﻨﻄﻘﺎً ﺑﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﺗﻌﻠﻖ دارﻧﺪ ،وﻟﻲ در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺨﺘﻠﻒ ﻛﻪ در ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﺷﺒﻜﻪ ﺗﻮزﻳﻊ ﺷﺪه اﻧﺪ ،ﻗﺮار ﮔﺮﻓﺘﻪ اﻧﺪ. ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ در اﻳﻦ ﻣﻌﻤﺎري ﺗﻌﺪادي ﭘﺎﻳﮕﺎه دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه روي ﻛﺎﻣﭙﻴﻮﺗﺮ ﻫﺎي ﻣﺨﺘﻠﻒ دارﻳﻢ ﻛﻪ از ﻧﻈﺮ ﻛﺎرﺑﺮان ،ﭘﺎﻳﮕﺎه واﺣﺪي ﻫﺴﺘﻨﺪ .ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ، اﻳﻦ ﻣﻌﻤﺎري ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از ﭼﻨﺪ ﭘﺎﻳﮕﺎه داده ﻣﻨﻄﻘﺎً ﻳﻜﭙﺎرﭼﻪ )ﻣﺠﺘﻤﻊ( ،وﻟﻲ ﺑﻪ ﻃﻮر ﻓﻴﺰﻳﻜﻲ ﺗﻮزﻳﻊ ﺷﺪه روي ﻳﻚ ﺷﺒﻜﻪ ﻛﺎﻣﭙﻴﻮﺗﺮي .ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ در اﻳﻦ ﻣﻌﻤﺎري ،در ﺳﻄﺢ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه ،در آﻏﺎز ﻳﻚ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻳﻜﭙﺎرﭼﻪ دارﻳﻢ ﻛﻪ ﻃﺮاح ﺑﺮ اﺳﺎس ﻳﻚ اﺳﺘﺮاﺗﮋي ﺗﻮزﻳﻊ و ﻳﻚ ﻃﺮح ﺗﺨﺼﻴﺺ ﻣﺸﺨﺺ، داده ﻫﺎﻳﺶ را در ﭼﻨﺪ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺗﻮزﻳﻊ ﻣﻲﻛﻨﺪ .ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﭼﻨﺎن ﻫﻤﻜﺎري دارﻧﺪ ﻛﻪ ﻫﺮ ﻛﺎرﺑﺮ ﻣﻲ ﺗﻮاﻧﺪ ﺑﻪ داده ﻫﺎي ﻣﻮرد ﻧﻴﺎزش در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ دﺳﺘﻴﺎﺑﻲ داﺷﺘﻪ ﺑﺎﺷﺪ ﺑﻪ ﮔﻮﻧﻪ اي ﻛﻪ اﻧﮕﺎر دادهﻫﺎ در ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﻮدش ذﺧﻴﺮه ﺷﺪه ﺑﺎﺷﻨﺪ. در اﻳﻦ ﻣﻌﻤﺎري ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﻮد ﻳﻚ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎﺳﺖ ﻳﻌﻨﻲ: ﭘﺎﻳﮕﺎهدادهﻫﺎ ،ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﻣﺪﻳﺮ اﻧﺘﻘﺎل دادهﻫﺎ دارد .اﺻﻄﻼﺣﺎ ﻣﻲﮔﻮﻳﻴﻢ ﺗﻌﺪادي
DBMS
ﻣﺤﻠﻲ دارﻳﻢ و ﺑﺮاي اﻳﺠﺎد ﻫﻤﺎﻫﻨﮕﻲ ﺑﻴﻦ اﻳﻦ ﺳﻴﺴﺘﻢﻫﺎي
ﻣﺤﻠﻲ ،ﻋﻨﺼﺮ ﻧﺮماﻓﺰاري ﺧﺎﺻﻲ ﻛﻪ ﻧﻮﻋﻲ ﮔﺴﺘﺮش در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ،ﻳﻚ
DDBMS
دارﻳﻢ ،ﻳﻌﻨﻲ ﻳﻚ
DBMS
DBMS
اﺳﺖ ،ﻻزم اﺳﺖ .در واﻗﻊ
ﺑﺎ ﺗﻮاﻧﺶ اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ
ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺗﻮزﻳﻊ ﺷﺪه .ﺑﻨﺎﺑﺮﻳﻦ ﻧﻤﺎي ﻛﻠﻲ ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﻪ ﺻﻮرﺗﻲ اﺳﺖ ﻛﻪ در ﺷﻜﻞ 6-10دﻳﺪه ﻣﻲﺷﻮد.
ﺷﻜﻞ 6-10ﻧﻤﺎي ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ در ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه
218ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ از ﻃﺮﻳﻖ اﻣﻜﺎﻧﺎت ﺷﺒﻜﻪاي )ﻣﺤﻠﻲ ،ﮔﺴﺘﺮده و ﻳﺎ ﻣﺘﺤﺮك( ﺑﻪ ﻫﻢ ﻣﺮﺗﺒﻂاﻧﺪ و ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ اﺟﺰا و ﻋﻨﺎﺻﺮ ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﺧﻮد را دارد .اﻳﻦ اﺟﺰا و ﻋﻨﺎﺻﺮ ﻣﻲﺗﻮاﻧﻨﺪ ﻫﻤﮕﻦ ﻳﺎ ﻧﺎﻫﻤﮕﻦ ﺑﺎﺷﻨﺪ .ﻣﺜﺎﻟﻲ از ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري درﺷﻜﻞ 7-10دﻳﺪه ﻣﻲﺷﻮد .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺮﻳﻒ اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري و ﻃﺮح ﻛﻠﻲ آن، وﻳﮋﮔﻴﻬﺎي اﻳﻦ ﺳﻴﺴﺘﻢ را ﻣﻲﺗﻮان ﭼﻨﻴﻦ ﺑﺮﺷﻤﺮد: •
ﻣﺠﻤﻮﻋﻪاي اﺳﺖ از دادهﻫﺎي ﻣﻨﻄﻘﺎً ﻣﺮﺗﺒﻂ و اﺷﺘﺮاﻛﻲ
•
ﺑﻌﺾ ﺑﺨﺸﻬﺎ ﻣﻤﻜﻦ اﺳﺖ ﺑﻄﻮر ﺗﻜﺮاري )در ﭼﻨﺪ ﻧﺴﺨﻪ( در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ذﺧﻴﺮه ﺷﺪه ﺑﺎﺷﻨﺪ.
•
ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ از ﻃﺮﻳﻖ ﻳﻚ ﺷﺒﻜﻪ ﺑﻬﻢ ﻣﺮﺗﺒﻂاﻧﺪ.
•
دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺗﺤﺖ ﻛﻨﺘﺮل ﻳﻚ DBMSاﺳﺖ.
•
DBMS
در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ،ﻣﻲﺗﻮاﻧﺪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻣﺤﻠﻲ ،را ﺑﻄﻮر
اﺗﻮﻣﺎﺗﻴﻚ اﺟﺮا ﻛﻨﺪ. •
ﻫﺮ DBMSﺣﺪاﻗﻞ در اﺟﺮاي ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي ﺳﺮﺗﺎﺳﺮي ﻣﺸﺎرﻛﺖ دارد.
ﺷﻜﻞ 7-10ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه ﺑﺎ ﺳﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 219
2-2-2-2ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖاﻓﺰاري ﮔﻔﺘﻴﻢ ﻛﻪ اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه اﻳﻦ ﻣﻌﻤﺎري ﻣﻲ ﺗﻮاﻧﻨﺪ ﻫﻤﮕﻦ ﻳﺎ ﻧﺎ ﻫﻤﮕﻦ ﺑﺎﺷﻨﺪ ،ﺑﻪ وﻳﮋه از ﻧﻈﺮ ﺳﺨﺖ اﻓﺰاري ،ﭘﻴﻜﺮﺑﻨﺪي ﻫﺎي ﮔﻮﻧﺎﮔﻮﻧﻲ ﭘﻨﺪاﺷﺘﻨﻲ اﺳﺖ .در ﻣﺜﺎل ﺷﻜﻞ 8-10دو ﭘﻴﻜﺮﺑﻨﺪي دﻳﺪه ﻣﻲﺷﻮد .در اﻳﻦ ﻣﻌﻤﺎري اﺟﺰاء زﻳﺮ ﻣﻲ ﺗﻮاﻧﻨﺪ ﻫﻤﮕﻦ ﻳﺎ ﻧﺎ ﻫﻤﮕﻦ ﺑﺎﺷﻨﺪ: •
ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ
•
ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
•
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده )ﺑﻮﻳﮋه از ﻧﻈﺮ ﻣﺪل دادهاي و زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ(
•
ﭘﺮوﺗﻮﻛﻠﻬﺎي ﺷﺒﻜﻪ
•
ﺳﺨﺖاﻓﺰار ارﺗﺒﺎط
•
ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي
•
ﺗﺴﻬﻴﻼت و اﺑﺰارﻫﺎي )ﻧﺮماﻓﺰاري( ﺟﺎﻧﺒﻲ
ﺷﻜﻞ 8-10دو ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖاﻓﺰاري در ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه
220ﭘﺎﻳﮕﺎه دادهﻫﺎ
3-2-2- 2ﻗﻮاﻋﺪ اﺻﻞ ﻣﻬﻢ در ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه اﻳﻦ اﺳﺖ ﻛﻪ "ﺳﻴﺴﺘﻢ" ﺑﺎﻳﺪ ﺟﻨﺎن ﻋﻤﻞ ﻛﻨﺪ ﻛﻪ ﻛﺎرﺑﺮان دﻗﻴﻘﺎ ﻣﺜﻞ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻣﺘﻤﺮﻛﺰ ﻣﻌﻤﻮﻟﻲ از آن اﺳﺘﻔﺎده ﻛﻨﻨﺪ )و اﻳﻦ وﻳﮋﮔﻲ ،ﻳﻜﻲ از ﺗﻔﺎوت ﻫﺎي اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار اﺳﺖ( .ﺑﺮاي رﻋﺎﻳﺖ اﻳﻦ اﺻﻞ ﻣﻬﻢ ،در ﻫﺮ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه ﻗﻮاﻋﺪي ﺑﺎﻳﺪ رﻋﺎﻳﺖ ﺷﻮﻧﺪ ﻛﻪ در واﻗﻊ اﻫﺪاف اﻳﻦ ﺳﻴﺴﺘﻢ ﻫﻢ ﻫﺴﺘﻨﺪ .ﺑﺮﺧﻲ از اﻳﻦ ﻋﻮاﻣﻞ ﻋﺒﺎرﺗﻨﺪ از: •
ﺧﻮد ﻣﺨﺘﺎري ﻣﺤﻠﻲ )داﺧﻠﻲ(
•
ﺗﺪاوم ﻋﻤﻠﻴﺎت
•
ﻧﺎواﺑﺴﺘﮕﻲ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺑﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ اﺻﻠﻲ
•
ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﻣﻜﺎن ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ
•
ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﻃﺮز ﺟﺎﻳﺪﻫﻲ دادهﻫﺎ در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ.
•
ﭘﺮدازش ﭘﺮﺳﺸﻬﺎ ﺑﻪ ﮔﻮﻧﻪاي ﺗﻮزﻳﻊ ﺷﺪه
•
ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺳﺨﺖاﻓﺰار
•
ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
•
ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺷﺒﻜﻪ
4-2-2-2ﻣﺰاﻳﺎ ﺑﺮﺧﻲ از ﻣﺰاﻳﺎي اﻳﻦ ﻣﻌﻤﺎري ﻋﺒﺎرﺗﺴﺖ از: •
ﺳﺎزﮔﺎري و ﻫﻤﺎﻫﻨﮕﻲ ﺑﺎ ﻣﺎﻫﻴﺖ ﺳﺎزﻣﺎنﻫﺎي ﻧﻮﻳﻦ
•
ﻛﺎراﻳﻲ ﺑﻴﺸﺘﺮ در ﭘﺮدازش دادهﻫﺎ ﺑﻪ وﻳﮋه در ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺑﺰرگ
•
دﺳﺘﻴﺎﺑﻲ ﺑﻬﺘﺮ ﺑﻪ دادهﻫﺎ
•
اﺷﺘﺮاك دادهﻫﺎ
•
اﻓﺰاﻳﺶ ﭘﺮدازش ﻣﻮازي
•
ﻛﺎﻫﺶ ﻫﺰﻳﻨﻪ ارﺗﺒﺎﻃﺎت
•
ﺗﺴﻬﻴﻞ ﮔﺴﺘﺮش ﺳﻴﺴﺘﻢ
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 221 •
اﺳﺘﻔﺎده از ﭘﺎﻳﮕﺎهدادهﻫﺎي از ﻗﺒﻞ ﻣﻮﺟﻮد
5-2-2-2ﻣﻌﺎﻳﺐ اﻳﻦ ﻣﻌﻤﺎري ﻣﻌﺎﻳﺒﻲ ﻫﻢ دارد از ﺟﻤﻠﻪ: •
ﭘﻴﭽﻴﺪﮔﻲ ﻃﺮاﺣﻲ ﺳﻴﺴﺘﻢ
•
ﭘﻴﭽﻴﺪﮔﻲ ﭘﻴﺎده ﺳﺎزي
•
ﻛﺎﻫﺶ ﻛﺎراﻳﻲ در ﺑﺮﺧﻲ ﻣﻮارد
•
ﻫﺰﻳﻨﻪ ﺑﻴﺸﺘﺮ
•
ﻣﺼﺮف ﺣﺎﻓﻈﻪ ﺑﻴﺸﺘﺮ
3-2-2ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﺳﺎﺧﺖ و ﮔﺴﺘﺮش ﻣﺎﺷﻴﻦ ﻫﺎي ﻣﻮازي ،ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎه داده ﻫﺎي ﺧﻴﻠﻲ ﺑﺰرگ و ﻧﻴﺰ در ﺳﻴﺴﺘﻢ ﻫﺎﻳﻲ ﻛﻪ ﭼﻨﺪ ﻫﺰار ﺗﺮاﻛﻨﺶ در ﺛﺎﻧﻴﻪ را ﭘﺮدازش ﻣﻲ ﻛﻨﻨﺪ ،ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﮔﺮﻓﺖ .ﮔﻮﻧﻪ ﮔﺴﺘﺮش ﻳﺎﻓﺘﻪ ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه اﺳﺖ و ﺑﺮاي ﺗﺎﻣﻴﻦ ﻛﺎراﻳﻲ ﺑﻴﺸﺘﺮ ،دﺳﺘﻴﺎﺑﻲ ﭘﺬﻳﺮي ﺑﺎﻻ و ﮔﺴﺘﺮش ﭘﺬﻳﺮي ﺳﺮﻳﻊ ﻃﺮاﺣﻲ ﻣﻲ ﺷﻮد .در اﻳﻨﮕﻮﻧﻪ ﺳﻴﺴﺘﻢﻫﺎ ﻣﻌﻤﻮﻻً ﺗﻌﺪاد زﻳﺎدي ﺗﺮاﻛﻨﺶ در ﺛﺎﻧﻴﻪ )ﺣﺪود ﭼﻨﺪ ﻫﺰار( و ﺑﻄﻮر ﻣﻮازي اﺟﺮا ﻣﻲ ﺷﻮﻧﺪ .ﻣﻄﺎﻟﻌﻪ ﻣﺎﺷﻴﻦ ﻫﺎي ﻣﻮازي از ﺣﺪود اﻳﻦ درس ﺧﺎرج اﺳﺖ ،ﺗﻨﻬﺎ اﺷﺎره ﻣﻲﺷﻮد ﻛﻪ ﻣﺎﺷﻴﻦ ﻣﻮازي ﺑﺮ اﺳﺎس ﻳﻜﻲ از دو ﻃﺮح ﻛﻠﻲ زﻳﺮ ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﻣﻲ ﺷﻮد: •
ﭼﻨﺪ ﭘﺮدازﻧﺪه ﻗﻮي )دو ﻳﺎ ﭼﻬﺎر در ﺣﺎل ﺣﺎﺿﺮ و ﮔﺎه ﺑﻴﺸﺘﺮ(
•
ﺗﻌﺪادي ﭘﺮدازﻧﺪه ﻛﻮﭼﻚ )ﮔﺎه ﭼﻨﺪ ﺳﻄﺮ ﻳﺎ ﺣﺘﻲ ﺑﻴﺸﺘﺮ(
در ﻣﺎﺷﻴﻦ ﺑﺎ ﭘﺮدازش ﻣﻮازي دو ﻫﺪف اﺳﺎﺳﻲ وﺟﻮد دارد: •
اﻓﺰاﻳﺶ ﺳﺮﻋﺖ )ﻛﺎراﻳﻲ( ،ﻳﻌﻨﻲ اﻧﺠﺎم ﻳﻚ ﻛﺎر در زﻣﺎن ﻛﻤﺘﺮ
•
اﻓﺰاﻳﺶ ﻣﻘﻴﺎس ﻛﺎر )ﮔﺴﺘﺮش ﻛﺎر( ﻳﻌﻨﻲ اﻧﺠﺎم ﻛﺎرﻫﺎي ﺑﺰرگ ﺗﺮ در زﻣﺎن ﻛﻤﺘﺮ.
222ﭘﺎﻳﮕﺎه دادهﻫﺎ
1-3-2-2ﻃﺮح ﻛﻠﻲ ﻣﻌﻤﺎري اﻳﻦ ﻣﻌﻤﺎري ﺑﻪ ﺻﻮرت ﻛﻠﻲ در ﺷﻜﻞ 9-10دﻳﺪه ﻣﻲ ﺷﻮد .ﻣﻲ ﺑﻴﻨﻴﻢ ﻛﻪ در ﭼﻨﻴﻦ ﺳﻴﺴﺘﻤﻲ ،در اﺳﺎس ﺳﻪ واﺣﺪ اﺻﻠﻲ وﺟﻮد دارد: •
ﻣﺪﻳﺮ ﺗﻤﺎسﻫﺎي اﺟﺮاﻳﻲ ﻛﺎرﺑﺮان
•
ﻣﺪﻳﺮ درﺧﻮاﺳﺖﻫﺎ
•
ﻣﺪﻳﺮ دادهﻫﺎ
ﺷﻜﻞ 9-10ﻃﺮح ﻛﻠﻲ ﻣﻌﻤﺎري ﻣﻮازي
2-3-2-2ﻃﺮحﻫﺎ ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺑﺎ ﻣﻌﻤﺎري ﭘﺮدازش ﻣﻮازي ،ﺑﻪ ﻃﻮر ﻛﻠﻲ ،ﭼﻬﺎر ﻣﺪل ﻳﺎ ﻃﺮح وﺟﻮد دارد: •
ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك
•
ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚ ﻣﺸﺘﺮك
•
ﻣﻌﻤﺎري ﺑﻲ اﺟﺰاء ﻣﺸﺘﺮك
•
ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 223
ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي ﻣﻮازي ،ﻋﻼوه ﺑﺮ اﺳﺘﻔﺎده از ﻳﻜﻲ از اﻳﻦ ﻣﻌﻤﺎريﻫﺎ، روشﻫﺎﻳﻲ ﻧﻴﺰ ﺑﺮاي ﺟﺎﻳﺪﻫﻲ دادهﻫﺎ روي دﻳﺴﻚﻫﺎ و ﻳﺎ در ﺣﺎﻓﻈﻪﻫﺎي ﻧﻬﺎن و ﻧﻴﺰ ﺑﻬﻴﻨﻪ ﺳﺎزش ﭘﺮﺳﺶﻫﺎي ﻛﺎرﺑﺮان ﺑﻪ ﻛﺎر ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮﻧﺪ ،ﺑﻨﺎﺑﺮﻳﻦ ﺻﺮف وﺟﻮد ﻣﻌﻤﺎري ﻣﻮازي ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي ﻣﻮازي ﻛﺎﻓﻲ ﻧﻴﺴﺖ.
1-2-3-2-2ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك در اﻳﻦ ﻃﺮح ،ﭘﺮدازﻧﺪهﻫﺎ ﺑﻪ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك دﺳﺘﻴﺎﺑﻲ دارﻧﺪ .ﻣﺰﻳﺖ اﻳﻦ ﻃﺮح اﻳﻦ اﺳﺖ ﻛﻪ ارﺗﺒﺎط ﺑﻴﻦ ﭘﺮدازﻧﺪه ﻫﺎ ﺑﻄﻮر ﻛﺎرا اﻧﺠﺎم ﻣﻲﺷﻮد .زﻳﺮا ﭘﻴﺎم ﻫﺎي ﺑﻴﻦ ﭘﺮدازﻧﺪه ﻫﺎ ﺑﺎ ﻧﻮﺷﺘﻦ در ﺣﺎﻓﻈﻪ ﻣﺒﺎدﻟﻪ ﻣﻲ ﺷﻮد ﻛﻪ زﻣﺎن آن ﻛﻤﺘﺮ از ﻣﻴﻜﺮوﺛﺎﻧﻴﻪ اﺳﺖ. داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﺣﺎﻓﻈﻪ در اﺧﺘﻴﺎر ﻫﻤﻪ ﭘﺮدازﻧﺪهﻫﺎ ﻗﺮار دارﻧﺪ.
ﺷﻜﻞ 10-10ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك
ﻋﻴﺐ اﻳﻦ ﻣﻌﻤﺎري در اﻳﻦ اﺳﺖ ﻛﻪ ﻧﻤﻲﺗﻮان ﺑﻴﺶ از 32ﻳﺎ 64ﭘﺮدازﻧﺪه داﺷﺖ، زﻳﺮا اﺣﺘﻤﺎل ﺑﺮوز ﺗﻨﮕﻨﺎ در ﺑﺎزﺳﺎي ﺣﺎﻓﻈﻪاي ﻳﺎ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ اﻓﺰاﻳﺶ ﻣﻲﻳﺎﺑﺪ .اﻟﺒﺘﻪ اﮔﺮ
224ﭘﺎﻳﮕﺎه دادهﻫﺎ
در ﻫﺮ ﭘﺮدازﻧﺪه ﺣﺎﻓﻈﻪ ﻧﻬﺎن ﺑﺎاﻧﺪازه ﺑﺰرگ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ،دﻓﻌﺎت ﻣﺮاﺟﻌﻪ ﺑﻪ ﺣﺎﻓﻈﻪ اﺻﻠﻲ ﻛﺎﻫﺶ ﻣﻲﻳﺎﺑﺪ ،ﻫﺮ ﭼﻨﺪ ﻧﻤﻲﺗﻮان ﻫﻤﻪ دادهﻫﺎ را در اﻳﻦ ﺑﺎﻓﺮﻫﺎ ﺟﺎي داد .ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ 10-10ﻧﺸﺎن داده ﺷﺪه اﺳﺖ )در اﻳﻦ ﻃﺮح و ﻃﺮحﻫﺎي ﺑﻌﺪي ﻣﻌﻤﺎري ﻣﻮازي P ،ﺑﻪ ﺟﺎي ﭘﺮدازﻧﺪه و Mﺑﻪ ﺟﺎي ﺣﺎﻓﻈﻪ اﺳﺖ(.
2-2-3-2-2ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك در اﻳﻦ ﻃﺮح ،ﺗﻤﺎم ﭘﺮدازﻧﺪهﻫﺎ ﺑﻪ ﺗﻤﺎم دﻳﺴﻚ ﻫﺎ از ﻃﺮﻳﻖ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ دﺳﺘﻴﺎﺑﻲ دارﻧﺪ .ﻫﺮ ﭘﺮدازﻧﺪه ،ﺣﺎﻓﻈﻪ اﺧﺘﺼﺎﺻﻲ ﺧﻮد را دارد .ﻣﺰاﻳﺎي اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ: •
ﻋﺪم ﺑﺮوز ﺗﻨﮕﻨﺎ در ﺑﺎسﻫﺎي ﺣﺎﻓﻈﻪ
•
ﺗﺴﻬﻴﻞ ﺗﺤﻤﻞ ﺧﺮاﺑﻲ ،زﻳﺮا در ﺻﻮرت ﺧﺮاب ﺷﺪن ﻳﻚ ﭘﺮدازﻧﺪه ﻳﺎ ﺣﺎﻓﻈﻪ، ﭘﺮدازﻧﺪه دﻳﮕﺮ ﻣﻲﺗﻮاﻧﺪ ﻛﺎر را اداﻣﻪ دﻫﺪ .ﻣﻲﺗﻮان از ﺳﻴﺴﺘﻢ RAIDﻫﻢ اﺳﺘﻔﺎده ﻛﺮد.
ﺷﻜﻞ 11-10ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 225
اﻳﻦ ﻣﻌﻤﺎري داراي ﻋﻴﻮﺑﻲ ﻧﻴﺰ اﺳﺖ ﻛﻪ ﻣﻬﻤﺘﺮﻳﻦ ﻋﻴﺐ آن دﺷﻮاري در ﮔﺴﺘﺮش ﺳﻴﺴﺘﻢ اﺳﺖ ،زﻳﺮا ﺑﺎ اﻓﺰاﻳﺶ دﻳﺴﻚﻫﺎ و ﭘﺮدازﻧﺪهﻫﺎ ،در ارﺗﺒﺎط ﺑﻴﻦ اﺟﺰا ،ﺗﻨﮕﻨﺎ اﻳﺠﺎد ﻣﻲﺷﻮد و ﺳﺮﻋﺖ ارﺗﻘﺎ ﺑﻴﻦ آﻧﻬﺎ ﻛﺎﻫﺶ ﻣﻲﻳﺎﺑﺪ .ﻃﺮح ﻛﻠﻲ اﻳﻦ ﺳﻴﺴﺘﻢ در ﺷﻜﻞ 11-10 ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.
3-2-3-2-2ﻣﻌﻤﺎري ﺑﻲ اﺟﺰا ﻣﺸﺘﺮك در اﻳﻦ ﻃﺮح ،ﻫﺮ ﻣﺎﺷﻴﻦ ،ﭘﺮدازﻧﺪه ،ﺣﺎﻓﻈﻪ و دﻳﺴﻚ )ﻫﺎي( ﺧﻮد را دارد .ﻳﻚ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ ﺑﺎ ﺳﺮﻋﺖ ﺑﺎﻻ اﻳﻦ ﻣﺎﺷﻴﻦ ﻫﺎ را ﺑﻪ ﻫﻢ ﻣﺮﺗﺒﻂ ﻣﻲ ﻛﻨﺪ .ﻫﺮ ﻣﺎﺷﻴﻦ ﻧﻮﻋﻲ ﺧﺪﻣﺖ ﮔﺰار ﭘﺎﻳﮕﺎﻫﻲ اﺳﺖ .در ﺷﻜﻞ ،12-10ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري دﻳﺪه ﻣﻲ ﺷﻮد. ﻣﺰﻳﺖ اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري در ﺗﺴﻬﻴﻞ ﮔﺴﺘﺮش اﺳﺖ .وﻟﻲ ﻋﻴﺐ اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري در اﻳﻦ اﺳﺖ ﻛﻪ ﻫﺰﻳﻨﻪ ارﺗﺒﺎط و دﺳﺘﻴﺎﺑﻲ ﻫﺎي ﻏﻴﺮ ﻣﺤﻠﻲ زﻳﺎد اﺳﺖ.
ﺷﻜﻞ 12-10ﻣﻌﻤﺎري ﺑﻲ اﺟﺰاء ﻣﺸﺘﺮك
226ﭘﺎﻳﮕﺎه دادهﻫﺎ
4-2-3-2-2ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ در اﻳﻦ ﻃﺮح ،وﻳﮋﮔﻲ ﻫﺎي ﺳﻪ ﻃﺮح ﭘﻴﺶ ﺑﺎ ﻫﻢ وﺟﻮد دارد .در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ ﺳﻴﺴﺘﻢ ،ﺗﻌﺪادي ﮔﺮه ﺑﺎ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ ﺑﻪ ﻫﻢ ﻣﺮﺗﺒﻂ اﻧﺪ و اﺟﺰا ﻣﺸﺘﺮك ﻧﺪارﻧﺪ .ﭘﺲ در اﻳﻦ ﺳﻄﺢ ،ﻣﻌﻤﺎري ﺑﻲ اﺷﺘﺮاك دارﻳﻢ .ﻫﺮ ﮔﺮه ﺧﻮد ﻣﻲﺗﻮاﻧﺪ ﺗﻌﺪاد ﻛﻤﻲ ﭘﺮدازﻧﺪه ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك داﺷﺘﻪ ﺑﺎﺷﺪ ﻳﺎ ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك ﺑﺎﺷﺪ .ﺑﻨﺎﺑﺮﻳﻦ ﻳﻚ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ از ﻣﻌﻤﺎريﻫﺎي ﭘﻴﺶ ﮔﻔﺘﻪ اﻳﺠﺎد ﻣﻲ ﺷﻮد .ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ 13-10دﻳﺪه ﻣﻲ ﺷﻮد.
ﺷﻜﻞ 13-10ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
4-2-2ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ اﻳﻦ ﻣﻌﻤﺎري ﻧﻮﻋﻲ ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ اﺳﺖ ﻛﻪ در آن ،ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺧﻮد ﻣﺨﺘﺎري ﻛﺎﻣﻞ دارﻧﺪ .در ﺳﺎﻟﻬﺎي اﺧﻴﺮ ﮔﺮاﻳﺶ زﻳﺎدي ﺑﻪ اﻳﻦ ﻣﻌﻤﺎري اﻳﺠﺎد ﺷﺪه اﺳﺖ .در اﻳﻦ ﻣﻌﻤﺎري ،ﻣﻌﻤﻮﻻً ﭼﻨﺪ ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه و ﻳﺎ ﭼﻨﺪ ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ از ﻗﺒﻞ وﺟﻮد دارد و ﻫﺮ ﺳﻴﺴﺘﻢ ،روي ﻋﻤﻠﻴﺎت ﻣﺤﻠﻲ ﺧﻮد ﻛﻨﺘﺮل
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 227
ﻛﺎﻣﻞ دارد .اﻣﺎ ﺑﺮاي آﻧﻜﻪ ﻛﺎرﺑﺮان ﺑﺘﻮاﻧﻨﺪ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ ﺧﻮد را ﺗﺎﻣﻴﻦ ﻛﻨﻨﺪ ﺑﻲ آﻧﻜﻪ ﻣﺴﺘﻘﻴﻤﺎ ﺑﺎ اﺟﺰاء ﻣﻌﻤﺎري ﻣﺮﺗﺒﻂ ﺑﺎﺷﻨﺪ و در واﻗﻊ ﺑﺘﻮاﻧﻨﺪ از ﻳﻚ ﺳﻴﺴﺘﻢ ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ ﺑﻬﺮه ﺑﺮداري ﻛﻨﻨﺪ ،ﺑﻪ ﻳﻚ ﻻﻳﻪ ﻧﺮم اﻓﺰاري ﺧﺎﺻﻲ ﻧﻴﺎز اﺳﺖ .اﻳﻦ ﻻﻳﻪ ﻧﺮم اﻓﺰاري اﻣﻜﺎن ﻣﻲ دﻫﺪ ﺗﺎ در ﻫﺮ ﺳﻴﺴﺘﻢ ،ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه دادهﻫﺎ روي داده ﻫﺎي ﭘﺎﻳﮕﺎه ﺧﻮد ﻛﻨﺘﺮل ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﺪ و ﻧﻴﺎزي ﺑﻪ ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ ﻧﺒﺎﺷﺪ و در ﻋﻴﻦ ﺣﺎل ﺧﺪﻣﺎت ﻻزم ﺑﻪ ﻛﺎرﺑﺮان داده ﺷﻮد. اﻳﻦ ﻻﻳﻪ ﻧﺮماﻓﺰاري در ﺳﻄﺢ ﺑﺎﻻﺗﺮ از DBMSﻫﺎ و اﺣﻴﺎﻧﺎ ﺳﻴﺴﺘﻢﻫﺎي ﻓﺎﻳﻠﻴﻨﮓ ﻣﻮﺟﻮد در ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﻴﺴﺘﻢ ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ ،ﻗﺮار دارد .اﻳﻦ ﻻﻳﻪ ﭼﻨﺎن ﻋﻤﻞ ﻣﻲﻛﻨﺪ ﻛﻪ ﻛﺎرﺑﺮان ﺳﻴﺴﺘﻢﻫﺎي ﻣﺨﺘﻠﻒ ،ﻣﺠﻤﻮﻋﻪ ﭘﺎﻳﮕﺎهﻫﺎ را ﺑﻪ ﺻﻮرت ﻳﻚ ﭘﺎﻳﮕﺎه واﺣﺪ ﻣﻲﺑﻴﻨﻨﺪ. واﺿﺢ اﺳﺖ ﻛﻪ در ﺳﻴﺴﺘﻢ ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ ،ﻳﻚ ﺷﻤﺎي ادراﻛﻲ ﺟﺎﻣﻊ )ﺳﺮاﺳﺮي( و در ﻫﺮ ﻳﻚ از DBMSﻫﺎ ،ﻳﻚ ﺷﻤﺎي ادراﻛﻲ ﻣﺤﻠﻲ وﺟﻮد دارد )و ﻧﻴﺰ ﺷﻤﺎﻫﺎي دﻳﮕﺮ ،ﻃﺒﻖ آﻧﭽﻪ ﻛﻪ در ﻣﻌﻤﺎري
ANSI
دﻳﺪﻳﻢ .در ﭼﻨﻴﻦ ﺳﻴﺴﺘﻤﻲﻃﺒﻌﺎ ﺑﻪ ﻳﻚ ﻛﺎﺗﺎﻟﻮگ ﺟﺎﻣﻊ ﻧﻴﺎز
اﺳﺖ .اﻳﻦ ﻣﻌﻤﺎري ﻋﻼوه ﺑﺮ ﻣﺸﻜﻼت ﺗﻜﻨﻴﻜﻲ ﻣﻮﺟﻮد در ﻳﻚ ﺳﻴﺴﺘﻢ ﺗﻮزﻳﻊ ﺷﺪه، ﻣﺸﻜﻼت ﺧﺎص ﺧﻮد را ﻧﻴﺰ دارد ﻛﻪ در اﻳﻨﺠﺎ از ذﻛﺮ آﻧﻬﺎ ﺧﻮدداري ﻣﻲ ﺷﻮد.
5-2-2ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه 1-5-2-2ﺗﻌﺮﻳﻒ ﺑﺎ رﺷﺪ ﺳﺮﻳﻊ ﺗﻜﻨﻮﻟﻮژي ارﺗﺒﺎﻃﺎت ،اﻳﻨﻚ دﻳﮕﺮ اﻧﺴﺎن ﻣﻲ ﺗﻮاﻧﺪ از ﻫﺮ ﺟﺎ ،ﺑﻪ ﻫﺮ داده ذﺧﻴﺮه ﺷﺪه در ﻫﺮ ﺟﺎي دﻳﮕﺮ دﺳﺘﻴﺎﺑﻲ داﺷﺘﻪ ﺑﺎﺷﺪ ،ﻫﺮ ﭼﻨﺪ ﻫﻨﻮز ﻣﺤﺪودﻳﺖ ﻫﺎﻳﻲ در اﻳﻦ ''داده ﻓﺮﺳﺘﻲ -داده ﮔﻴﺮي'' وﺟﻮد دارد .اﻣﺎ ﺗﺎ آﻧﺠﺎ ﻛﻪ ﺑﻪ ﺣﻴﻄﻪ داﻧﺶ و ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﺮﺑﻮط ﻣﻲ ﺷﻮد ،ﻧﻮع ﻧﻮﻳﻨﻲ از ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه دادهﻫﺎ ﭘﺪﻳﺪ آﻣﺪه و در ﺣﺎل ﮔﺴﺘﺮش ﻳﺎﻓﺘﻦ اﺳﺖ :ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻫﻤﺮاه )ﺟﺎﺑﺠﺎ ﺷﻮﻧﺪه(. ﻣﺎ در ﻗﺴﻤﺘﻬﺎي ﻗﺒﻞ اﻧﻮاع ﻣﻌﻤﺎري ﻫﺎي ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ را دﻳﺪﻳﻢ ،از ﺟﻤﻠﻪ ﻣﻌﻤﺎري ﻣﺸﺘﺮي-ﺧﺪﻣﺘﮕﺰار .اﻣﺎ اﻳﻦ ﻣﻌﻤﺎري و ﺣﺘﻲ ﮔﻮﻧﻪ ﮔﺴﺘﺮده ﺗﺮ آن ،ﻳﻌﻨﻲ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه ﺗﻮزﻳﻊ ﺷﺪه ،ﻫﻨﻮز ﻣﺸﻜﻼﺗﻲ از ﺟﻤﻠﻪ "ﻋﻤﻠﻲ ﻧﺒﻮدن در ﻫﻤﻪ ﺟﺎ" ،اﻳﻤﻨﻲ ﺳﻴﺴﺘﻢ و داده ﻫﺎ ،ﻫﺰﻳﻨﻪ و ...دارﻧﺪ .ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهﻫﺎي ﻫﻤﺮاه راه ﺣﻠﻲ اﺳﺖ ﺑﺮاي ﺑﺮﺧﻲ از اﻳﻦ دﺷﻮاري ﻫﺎ ،ﺑﻪ وﻳﮋه در ﻛﺎرﺑﺮدﻫﺎي ﺷﺨﺼﻲ.
228ﭘﺎﻳﮕﺎه دادهﻫﺎ
2-5-2-2ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه در اﻳﻦ ﻣﻌﻤﺎري ،ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺘﻮﺳﻂ ﻳﺎ ﺑﺰرگ ،ﻧﻘﺶ ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎﻫﻲ را اﻳﻔﺎ ﻣﻲ ﻛﻨﺪ .اﻳﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ را ﺧﺪﻣﺘﮕﺰار ﻣﻴﺰﺑﺎن ﻣﻲ ﻧﺎﻣﻨﺪ .ﻫﺮ ﻛﺎرﺑﺮ، ﻛﺎﻣﭙﻴﻮﺗﺮ ﻛﻮﭼﻚ ﻫﻤﺮاه ﺧﻮد را دارد )ﺑﺎ ﺧﻮد ﺣﻤﻞ ﻣﻲ ﻛﻨﺪ :ﻧﻮﻋﻲ دﻓﺘﺮﻛﺎر ﻫﻤﺮاه(. در اﻳﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ داده ﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ و ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻣﻮرد ﻧﻴﺎزش ذﺧﻴﺮه ﺷﺪه اﻧﺪ .ﭘﺎﻳﮕﺎه داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﺪﻣﺘﮕﺰار ﻣﻴﺰﺑﺎن ،ﺣﺎوي داده ﻫﺎي ﭘﻮﻳﺎ اﺳﺖ .ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻛﺎرﺑﺮ ﻣﻲ ﺗﻮاﻧﺪ از ﻫﺮ ﺟﺎ ،ﺑﺎ زﻳﺮ ﺳﻴﺴﺘﻢ ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎﻫﻲ ﻣﺮﺗﺒﻂ ﺷﺪه و ﭘﺮدازش ﻫﺎي ﻣﻮرد ﻧﻈﺮش را اﻧﺠﺎم دﻫﺪ .در اﻳﻦ ﺳﻴﺴﺘﻢ ﻟﺰوﻣﻲ ﻧﺪارد ﻛﻪ ﭘﺎﻳﮕﺎه ﻫﺎي ﻫﻤﺮاه و ﭘﺎﻳﮕﺎه ﻣﻴﺰﺑﺎن در ﻳﻚ ﺷﺒﻜﻪ ﺑﺎﺷﻨﺪ .ارﺗﺒﺎط ﺑﻴﻦ "ﻫﻤﺮاه'' و ﻣﻴﺰﺑﺎن در ﺑﺎزهﻫﺎي زﻣﺎﻧﻲ ﻧﺎﻣﻨﻈﻢ و ﻣﻌﻤﻮﻻً ﻛﻮﺗﺎه ﺑﺮﭘﺎ ﻣﻲ ﮔﺮدد .ﺑﻴﻦ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻫﻤﺮاه ،ﻣﮕﺮ در ﺷﺮاﻳﻂ ﺧﺎص ،ﭼﻨﺪان ارﺗﺒﺎط ﺑﺮﻗﺮار ﻧﻤﻲ ﮔﺮدد. دو ﺟﻨﺒﻪ اﺳﺎﺳﻲ اﻳﻦ ﺳﻴﺴﺘﻢ ﻛﻪ ﺑﺎﻳﺪ در ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺑﻪ آن ﺗﻮﺟﻪ ﺷﻮد ﻋﺒﺎرﺗﻨﺪ از :ﻣﺪﻳﺮﻳﺖ ﻛﺎراي ﭘﺎﻳﮕﺎﻫﻬﺎي ﻫﻤﺮاه و اﻳﺠﺎد ارﺗﺒﺎط ﭘﻮﻳﺎ و ﺳﺮﻳﻊ ﺑﻴﻦ ﭘﺎﻳﮕﺎﻫﻬﺎي ﻫﻤﺮاه و ﭘﺎﻳﮕﺎه ﻣﻴﺰﺑﺎن.
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 229
ﺗﻤﺮﻳﻨﺎت .1دو ﻧﻮع اﺻﻠﻲ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه دادهﻫﺎ را ﻧﺎم ﺑﺒﺮﻳﺪ؟ .2ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ را ﺷﺮح دﻫﻴﺪ ؟ .3اﻧﻮاع ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .4ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي -ﺧﺪﻣﺖ ﮔﺬار را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .5ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .6ﻣﺰاﻳﺎي ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .7ﭼﻬﺎر ﻣﺪل ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .8ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﻤﺮاه را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟
230ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺿﻤﻴﻤﻪ ۱ ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮﺍﻻﺕ ﺗﺴﺖ ﻫﺎي ﺳﺮي 1 -1ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺑﻴﺎﻧﮕﺮ اﺧﺘﻼف ﺑﻴﻦ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت ) (Knowledge Baseﻣﻲﺑﺎﺷﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ -آزاد(72 .1ﻫﺮ دو ﭘﺎﻳﮕﺎه از ﻳﻚ ﻧﻮع ﺑﻮده و ﻓﺮﻗﻲ ﺑﺎ ﻫﻢ ﻧﺪارﻧﺪ. .2ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت دﻳﻨﺎﻣﻴﻚ وﻟﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎاﻳﺴﺘﺎ ) ( staticﻣﻲﺑﺎﺷﺪ. .3ﭘﺎﻳﮕﺎهدادهﻫﺎ اﻏﻠﺐ ﺑﺎ زﺑﺎن SQLو ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت اﻏﻠﺐ ﺑﺎ زﺑﺎن QUELﻛﺪ ﻣﻲﺷﻮد. .4
ﻫﻴﭽﻜﺪام
-2اﻃﻼﻋﺎت ) ( Informationﺑﻪ ﭼﻪ ﻣﻌﻨﻲ ﻣﻲﺑﺎﺷﺪ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ( .1دادهﻫﺎﻳﻲ ﻛﻪ روي آﻧﻬﺎ ﻋﻤﻞ ﻣﻘﺎﻳﺴﻪاي ﺻﻮرت ﮔﻴﺮد. .2دادهﻫﺎﻳﻲ ﻛﻪ روي آﻧﻬﺎ ﻋﻤﻞ ﻣﺤﺎﺳﺒﺎت ﺻﻮرت ﮔﻴﺮد. .3دادهﻫﺎﻳﻲ ﻛﻪ ﺑﻪ ﻧﻤﺎﻳﺶ در آﻣﺪه ﺑﺎﺷﻨﺪ. .4
دادهﻫﺎﻳﻲ ﻛﻪ روي آﻧﻬﺎ ﻋﻤﻞ ﭘﺮدازش ﺻﻮرت ﮔﻴﺮد.
-3داده +وﻳﮋﮔﻲ +ﻣﻮﺟﻮدﻳﺖ =)....ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ (80- .1اﻃﻼع .2
ﭘﺮدازش
.3ﭘﺮوﻧﺪه
232ﭘﺎﻳﮕﺎه داده ﻫﺎ
.4
داﻧﺶ
-4ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻧﺴﻞ دوم ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1اﻳﻦ ﻧﺴﻞ ﺑﻪ ﻧﺴﻞ ﺷﻴﻮهﻫﺎي دﺳﺘﻴﺎﺑﻲ ﻣﻌﺮوف اﺳﺖ. .2ﺗﻜﺮار ذﺧﻴﺮه ﺳﺎزي دراﻳﻦ ﻧﺴﻞ ﺑﺴﻴﺎر ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ. .3ﺗﻐﻴﻴﺮ در رﺳﺎﻧﻪﻫﺎي ذﺧﻴﺮه ﺳﺎزي ﺑﺮ روي ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﺗﺎﺛﻴﺮ ﭼﻨﺪاﻧﻲ ﻧﺪارد. .4دراﻳﻦ ﻧﺴﻞ از رﺳﺎﻧﻪﻫﺎي ﺑﺎ دﺳﺘﻴﺎﺑﻲ ﻣﺴﺘﻘﻴﻢ ﻣﺜﻞ دﻳﺴﻚ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ. -5ﻛﺪام ﺗﻌﺮﻳﻒ در راﺑﻄﻪ ﺑﺎ ))داده(( درﺳﺖ اﺳﺖ ؟ .1ﻧﻤﺎﻳﺶ واﻗﻌﻴﺎت ،ﭘﺪﻳﺪهﻫﺎ ،ﻣﻔﺎﻫﻴﻢ ﻳﺎ ﻣﻌﻠﻮﻣﺎت ﺑﻪ ﺻﻮرﺗﻲ ﺻﻮري و ﻣﻨﺎﺳﺐ ﺑﺮاي ﺑﺮﻗﺮاري ارﺗﺒﺎط ،ﺗﻔﺴﻴﺮ ﻳﺎ ﭘﺮدازش ﺗﻮﺳﻂ اﻧﺴﺎن ﻳﺎ اﻣﻜﺎﻧﺎت ﺧﻮدﻛﺎر .2از ﻧﻈﺮ ﺳﺎﺧﺘﺎري و از دﻳﺪﮔﺎه ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ،داده ﻋﺒﺎرت اﺳﺖ از ﻣﻘﺎدﻳﺮ ﺻﻔﺎت ﺧﺎﺻﻪ اﻧﻮاع ﻣﻮﺟﻮدﻳﺘﻬﺎ .3
ﻫﺮ دو ﮔﺰﻳﻨﻪ 1و 2
.4
اﻃﻼﻋﺎت ﻛﺎراﻛﺘﺮي ﻛﻪ وارد ﺳﻴﺴﺘﻢ دﺳﺘﻲ ﺷﺪه و ﺑﻪ آن ﻣﻌﻨﺎﻳﻲ ﻣﻨﺘﺴﺐ ﻣﻲﺷﻮد.
-6ﻛﺪام ﻋﺒﺎرت درﺳﺖ اﺳﺖ ؟ .1داده ﻫﻤﺎن اﻃﻼﻋﺎت اﺳﺖ. .2داده اﻃﻼﻋﺎت ﭘﺮدازش ﺷﺪه اﺳﺖ. .3اﻃﻼﻋﺎت ،داده ﭘﺮدازش ﺷﺪه اﺳﺖ. .4اﻃﻼﻋﺎت ﻣﻘﺎدﻳﺮ ﺧﺎم اﺳﺖ. Attribute -7ﻋﺒﺎرت اﺳﺖ از..... .1ﻫﻤﺎن ﻣﻮﺟﻮدﻳﺖ اﺳﺖ. .2ﺻﻔﺎت ﺧﺎﺻﻪ ﺗﻮﺿﻴﺤﻲ ﺑﺮاي ﻫﺮ ﻣﻮﺟﻮدﻳﺖ اﺳﺖ. .3ﻫﻤﺎن رﻛﻮرد اﺳﺖ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﻣﺤﻠﻲ ﻣﻮﻗﺖ ﺑﺮاي ﻳﻚ ﻣﻘﺪار اﻃﻼﻋﺎت اﺳﺖ.
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
.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ﻣﻲﺑﺎﺷﺪ.
237
238ﭘﺎﻳﮕﺎه داده ﻫﺎ
.3ارﺗﺒﺎط ﺑﺎزﻳﻜﻦ ﺑﺎ ﮔﻞ ﺑﻪ ﺻﻮرت 1 :1ﻣﻲﺑﺎﺷﺪ. .4ﻧﺎﻣﺸﺨﺺ اﺳﺖ.
ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 2 (1) -1اﮔﺮ ﻋﻼﻣﺖ ﻧﻘﻄﻪ داﺧﻞ ﻣﺴﺘﻄﻴﻞ ﻣﻮﺟﻮدﻳﺖ ﺑﺎﺷﺪ ﻳﻌﻨﻲ ﺷﺮﻛﺖ در ارﺗﺒﺎط اﺟﺒﺎري اﺳﺖ.ﻳﻌﻨﻲ اﺳﺘﺎد ﻫﺎ ﻧﻤﻲﺗﻮاﻧﻨﺪ درس ﻧﺪﻫﻨﺪ. (4) -2 (4) -3 (2) -4ﻣﺜﻼ ﺻﻔﺖ ﻣﺪرك ﺑﺮاي اﺳﺘﺎد ﭼﻨﺪ ﻣﻘﺪاري اﺳﺖ ﭼﺮا ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﻳﻚ اﺳﺘﺎد ﭼﻨﺪ ﻣﺪرك داﺷﺘﻪ ﺑﺎﺷﺪ. (1) -5ﻣﻤﻜﻦ اﺳﺖ وﺟﻮد ﻳﻚ ﭘﺪﻳﺪه واﺑﺴﺘﻪ ﺑﻪ وﺟﻮد ﭘﺪﻳﺪه دﻳﮕﺮي ﺑﺎﺷﺪ ،ﻳﻌﻨﻲ در ﺻﻮرت ﺣﺬف ﻋﻀﻮي از آن ﭘﺪﻳﺪه ،ﻋﻀﻮﻫﺎي واﺑﺴﺘﻪ ﻫﻢ ﻻزم ﺑﺎﺷﺪ ﺑﻪ ﻃﻮر ﺧﻮدﻛﺎر ﺣﺬف ﺷﻮﻧﺪ.اﻳﻦ ﻧﻮع واﺑﺴﺘﮕﻲ را واﺑﺴﺘﮕﻲ وﺟﻮدي و ﭘﺪﻳﺪه واﺑﺴﺘﻪ را ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ weak entityﻣﻲﻧﺎﻣﻨﺪ .ﭘﺪﻳﺪه واﺑﺴﺘﻪ ﺑﺎﻳﺪ ﻛﻠﻴﺪ ﭘﺪﻳﺪه اﺻﻠﻲ را ﻛﻪ ﺑﻪ آن واﺑﺴﺘﻪ اﺳﺖ ﺑﻪ ارث ﺑﺒﺮد .ﭘﺪﻳﺪه واﺑﺴﺘﻪ را ﺑﺎ دو ﻣﺴﺘﻄﻴﻞ ﺗﻮدرﺗﻮ ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻴﻢ. (3) -6ﻣﺸﺎرﻛﺖ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ در ﻳﻚ ﻧﻮع ارﺗﺒﺎط را اﻟﺰاﻣﻲ)ﻳﺎ ﻛﺎﻣﻞ( ﻣﻲﮔﻮﺋﻴﻢ اﮔﺮ ﺗﻤﺎم ﻧﻤﻮﻧﻪﻫﺎي آن ﻧﻮع ﻣﻮﺟﻮدﻳﺖ در آن ﻧﻮع ارﺗﺒﺎط ﺷﺮﻛﺖ ﻛﻨﻨﺪ. در ﻏﻴﺮاﻳﻨﺼﻮرت ﻣﺸﺎرﻛﺖ ﻏﻴﺮ اﻟﺰاﻣﻲ)اﺧﺘﻴﺎري ﻳﺎ ﻧﺎﻛﺎﻣﻞ( اﺳﺖ. اﺟﺒﺎري_ اﻟﺰاﻣﻲ_ ﻛﺎﻣﻞ
=
اﺧﺘﻴﺎري _ ﻏﻴﺮ اﻟﺰاﻣﻲ_ﻧﺎﻛﺎﻣﻞ
Total participation
=
Partial participation
در ﺑﻌﻀﻲ ﻛﺘﺎﺑﻬﺎ ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲرا ﺑﺎ دو ﺧﻂ ﻣﻮازي ﻛﻪ ﻣﻮﺟﻮدﻳﺖ را ﺑﻪ ارﺗﺒﺎط ﻣﺘﺼﻞ ﻣﻲﻛﻨﺪ ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ .ﭘﺲ ﻣﺸﺎرﻛﺖ اﺳﺘﺎد در ﺗﺪرﻳﺲ اﻟﺰاﻣﻲاﺳﺖ ﻳﻌﻨﻲ ﻫﺮ اﺳﺘﺎد ﺣﺘﻤﺎ ﺣﺪاﻗﻞ ﺑﺎﻳﺪ ﻳﻚ درس را ﺗﺪرﻳﺲ ﻛﻨﺪ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
239
(2) -7ارﺗﺒﺎﻃﺎﺗﻲ ﻛﻪ از ﻧﻤﺎد ﻣﺜﻠﺚ )ﻣﻔﻬﻮم ارث ﺑﺮي( اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ .ارﺗﺒﺎﻃﺎت ))ﻫﺴﺖ(( ﻳﺎ )) ((is-aﻧﺎﻣﻴﺪه ﻣﻲﺷﻮﻧﺪ. (3) -8 (1) -9 (3) -10ﺑﺎ ﺣﺬف اﺳﺘﺎد اﻃﻼﻋﺎت ﺧﺎﻧﻮاده او ﻧﻴﺰ ﺣﺬف ﻣﻲﮔﺮدد. (4) -11 (2) -12ﻣﻮﺟﻮدﻳﺖ ﺗﻚ ﺻﻔﺘﻲ ﻣﻲﺗﻮاﻧﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﻣﺜﻼ ﺟﺪوﻟﻲ ﻛﻪ ﻓﻘﻂ ﻳﻚ ﺳﺘﻮن دارد. (3) -13ﻓﻴﻠﺪ ﻛﻠﻴﺪ ﻧﻤﻲﺗﻮاﻧﺪ ﻣﻘﺪار ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ﻳﻌﻨﻲ ﻧﻤﻲﺗﻮاﻧﺪ NULLﺑﺎﺷﺪ. (1) -14ﻳﻚ ﺑﺎزﻳﻜﻦ ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪ ﮔﻞ ﺑﺰﻧﺪ وﻟﻲ ﻫﺮ ﮔﻞ ﺗﻮﺳﻂ ﻳﻚ ﺑﺎزﻳﻜﻦ زده ﻣﻲﺷﻮد.
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ﻃﺮاﺣﻲ ادراﻛﻲ ﻣﻜﻤﻞ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ اﺳﺖ و ﭘﺲ از آن اﻧﺠﺎم ﻣﻲﮔﻴﺮد.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
241
.3ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﺻﻮرت ﻛﻠﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﻣﻲﻧﮕﺮد و ﺑﺎ روﺷﻬﺎﻳﻲ ﻣﺎﻧﻨﺪ ER
اﻧﺠﺎم ﻣﻲﮔﻴﺮد. .4ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﻣﺮﺑﻮط ﻣﻲﺷﻮد و ﭘﺲ از اﻧﺘﺨﺎب ﻣﺪل ﺻﻮرت ﻣﻲﮔﻴﺮد وﻟﻲ ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﺑﺴﺘﮕﻲ ﻧﺪارد. -5ﻓﺮق زﺑﺎﻧﻬﺎي ﭘﺮس و ﺟﻮي ) (Queryروﻳﻪاي ) (Proceduralو ﻧﺎروﻳﻪاي )Non-
(proceduralاﻳﻦ اﺳﺖ ﻛﻪ: .1در زﺑﺎﻧﻬﺎي ﻧﺎروﻳﻪاي ﻛﺎرﺑﺮ ) (userﭼﮕﻮﻧﮕﻲ ﺑﻪ ﻋﻴﻨﻴﺖ ) (materalizeدر آوردن دﻳﺪش را ﺗﺼﺮﻳﺢ ﻣﻲﻛﻨﺪ و ﺑﻪ ﻃﻮر ﺿﻤﻨﻲ آﻧﭽﻪ را ﻛﻪ ﻣﻲﺧﻮاﻫﺪ ،ﺑﻴﺎن ﻣﻲﻛﻨﺪ وﻟﻲ در زﺑﺎن ﻫﺎي روﻳﻪاي ﺑﺮ ﻋﻜﺲ اﺳﺖ. .2در زﺑﺎن ﻫﺎي ﻧﺎروﻳﻪاي ﻛﺎرﺑﺮ ﻓﻘﻂ آﻧﭽﻪ را ﻛﻪ ﻣﻲﺧﻮاﻫﺪ ﺗﺼﺮﻳﺢ ﻣﻲﻛﻨﺪ ،در ﺣﺎﻟﻲ ﻛﻪ در زﺑﺎن ﻫﺎي روﻳﻪاي ﺑﻪ ﻋﻼوه ﺑﺎﻳﺪ ﭼﮕﻮﻧﮕﻲ ﺑﻪ ﻋﻴﻨﻴﺖ در آوردن دﻳﺪش را ﻧﻴﺰ ﺑﻴﺎن ﻧﻤﺎﻳﺪ. .3اﺳﺎﺳﺎً ﺑﺎ ﻫﻢ ﻓﺮﻗﻲ ﻧﺪارﻧﺪ. .4در زﺑﺎﻧﻬﺎي روﻳﻪاي ﻛﺎرﺑﺮ ﻓﻘﻂ آﻧﭽﻪ را ﻛﻪ ﻣﻲﺧﻮاﻫﺪ ،ﺗﺼﺮﻳﺢ ﻣﻲﻛﻨﺪ در ﺣﺎﻟﻴﻜﻪ در زﺑﺎﻧﻬﺎي ﻧﺎروﻳﻪاي ﺑﻪ ﻋﻼوه ﺑﺎﻳﺪ ﭼﮕﻮﻧﮕﻲ ﺑﻪ ﻋﻴﻨﻴﺖ در آوردن دﻳﺪش را ﻧﻴﺰ ﺑﻴﺎن ﻧﻤﺎﻳﺪ. -6ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ از ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(76- .1اﺷﺘﺮاك ﻣﻨﺎﺑﻊ .2اﻣﻨﻴﺖ دادهﻫﺎ .3ﭘﺮوژهﻫﺎ .4ﺳﺨﺖاﻓﺰار DBMS -7ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(76-
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ﮔﺰارش از ﻛﺎرﻛﻨﺎن ﻳﻚ ﺑﺨﺶ ﺳﺎزﻣﺎن
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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
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ﺻﺤﺖ دادهﻫﺎ و ﭘﺮدازش ﻫﺎ و ﭘﻴﺮوي از ﻗﻮاﻋﺪ ﺳﻴﺴﺘﻢ
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﭼﻬﺎر ﻛﻨﺘﺮﻟﻲ ﻛﻪ ﺑﺎﻳﺪ روي ﺗﻤﺎﻣﻲﺗﺮاﻛﻨﺶ ﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﻋﻤﺎل ﮔﺮدد ﺗﺎ ﺻﺤﺖ و ﺟﺎﻣﻌﻴﺖ آن ﺗﻀﻤﻴﻦ ﺷﻮد ،ﻛﺪاﻣﻨﺪ ؟
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ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﺗﺮاﻛﻨﺶ ﻫﺎ ﻧﺎدرﺳﺖ اﺳﺖ ؟
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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راﺑﻂ ﺑﻴﻦ دﻳﺘﺎﺑﻴﺲ و ﻛﺎرﺑﺮ اﺳﺖ.
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت -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اﺷﺘﺮاك دادهﻫﺎ
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راﺑﻄﻪ ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ را ﺑﻴﺎن ﻣﻲﻛﻨﺪ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﺷﻤﺎي ﻣﺮﺑﻮط ﺑﻪ ﻓﺎﻳﻠﻬﺎ ،ﺳﻜﺘﻮرﻫﺎ و ﺷﻴﺎرﻫﺎ
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ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ از ﻣﺤﻞ ﻓﻴﺰﻳﻜﻲ رﻛﻮردﻫﺎ ﺑﺮ روي رﺳﺎﻧﻪ ذﺧﻴﺮه ﺳﺎزي ﺧﺒﺮ دارد.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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
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رﺳﻴﺪهاﻧﺪ ﺣﺘﻲ در ﺻﻮرت زﻟﺰﻟﻪ ﻳﺎ آﺗﺶ ﺳﻮزي ﻧﺒﺎﻳﺴﺘﻲ از ﺑﻴﻦ ﺑﺮوﻧﺪ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﻧﺒﺎﺷﺪ.
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ﺗﺮﺳﻴﻢ ﻣﻲﺷﻮد .اﻣﺎ ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﺴﺘﮕﻲ ﺑﻪ ﻣﺪل ﻣﻮرد اﺳﺘﻔﺎده دارد.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﻣﺠﺘﻤﻊ ﺑﻮدن ﻳﻌﻨﻲ وﺣﺪت ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﻣﺠﺰا ﺑﺎ ﻫﺮ ﮔﺮوه ﺗﻜﺮاري
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
261
(4) -69 (4) -70
ﺗﺴﺖ ﻫﺎي ﺳﺮي 4 -1در ﻛﺪام ﻣﺪل ﭘﺎﻳﮕﺎهدادهﻫﺎ ،ﻣﺠﻤﻮﻋﻪاي ﻣﺮﺗﺐ از درﺧﺘﻬﺎ دارﻳﻢ ﻛﻪ در آن ﻓﺮزﻧﺪي ﺑﺪون ﭘﺪر وﺟﻮد ﻧﺪارد ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(80-
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-
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﻣﻄﺮح اﺳﺖ ،ﻻزم اﺳﺖ.
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ﺑﺎﻧﻜﻲ اﺳﺖ ﻛﻪ در ﻣﻘﺎدﻳﺮش ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪاﻧﺪ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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در ﻣﺪل راﺑﻄﻪاي ﺑﺎﻧﻚ دادهﻫﺎ از دﻳﺪ ﻛﺎرﺑﺮ از ﺗﻌﺪادي ﺟﺪول ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ.
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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
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 -
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﺗﻌﺪاد ﺻﻔﺎت ﺧﺎﺻﻪ ﻣﻮﺟﻮدﻳﺖ اﺳﺖ.
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ﺻﻔﺘﻲ اﺳﺖ در ﻳﻚ راﺑﻄﻪ ﻛﻪ در راﺑﻄﻪ دﻳﮕﺮ ﻛﻠﻴﺪ اﺻﻠﻲ ﻳﺎ ﻓﺮﻋﻲ اﺳﺖ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﺗﺸﻜﻴﻞ ﻳﺎﻓﺘﻪ اﺳﺖ.
272ﭘﺎﻳﮕﺎه داده ﻫﺎ
-14ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﭼﻴﺴﺖ ؟ .1اﻣﻜﺎن ﭘﻴﻮﻧﺪ دادن راﺑﻄﻪﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ را ﻣﻲدﻫﺪ. .2اﻣﻜﺎن رﺟﻮع از راﺑﻄﻪاي ﺑﻪ راﺑﻄﻪ دﻳﮕﺮ را ﻣﻲدﻫﺪ. .3اﻣﻜﺎن ﺧﺎرج ﺷﺪن از راﺑﻄﻪاي را ﻣﻲدﻫﺪ. 2 .4و1 -15ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1ﺳﻴﺴﺘﻢ راﺑﻄﻪاي داراي ﺳﺎﺧﺘﺎر ﻣﻨﻄﻘﻲ اﺳﺖ. .2ﺟﺪول ﻣﺸﺘﻖ ) (drived tableراﺑﻄﻪاي اﺳﺖ ﻛﻪ از ﺟﺪول دﻳﮕﺮ اﺧﺬ ﮔﺮدﻳﺪه اﺳﺖ. .3در راﺑﻄﻪ ﻫﻤﻪ ﻣﻘﺎدﻳﺮ ﺻﻔﺎت ﺧﺎﺻﻪ ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪ ﻣﻲﺑﺎﺷﻨﺪ. .4ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ راﺑﻄﻪاي ﺑﻪ ﻋﻨﻮان ﻣﺠﻤﻮﻋﻪاي از رواﺑﻂ و ﺟﺪوﻟﻬﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد. -16ﭼﻪ راﺑﻄﻪاي ﺑﻴﻦ ﻛﻠﻴﺪ ﻫﺎي اﺻﻠﻲ و ﺧﺎرﺟﻲ در ﻳﻚ ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ ﺑﺎﻳﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ -آزاد (80 .1در زﻣﺎﻧﻲ ﻛﻪ راﺑﻄﻪاي ﺑﻴﻦ دو ﺟﺪول ﺑﻪ وﺟﻮد ﻣﻲآﻳﺪ ،ﺟﺪول ﭘﺪر دراﻳﻦ ارﺗﺒﺎط ﺑﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺴﺘﮕﻲ دارد و ﺟﺪول ﻓﺮزﻧﺪ ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﺴﺘﮕﻲ ﺧﻮاﻫﺪ داﺷﺖ. .2در زﻣﺎﻧﻲ ﻛﻪ راﺑﻄﻪاي ﺑﻴﻦ دو ﺟﺪول ﺑﻪ وﺟﻮد ﻣﻲآﻳﺪ ،ﺟﺪول ﭘﺪر دراﻳﻦ ارﺗﺒﺎط ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﺴﺘﮕﻲ دارد و ﺟﺪول ﻓﺮزﻧﺪ ﺑﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺴﺘﮕﻲ ﺧﻮاﻫﺪ داﺷﺖ. .3ﺳﺘﻮن دادهﻫﺎي ﻛﻠﻴﺪ اﺻﻠﻲ در ﺟﺪول ﺷﺎﻣﻞ ﺳﺘﻮن ﻛﻠﻴﺪﻫﺎي ﺧﺎرﺟﻲ ﻣﻲﺑﺎﺷﺪ. .4ﻫﻴﭻ راﺑﻄﻪاي ﺑﻴﻦ ﻛﻠﻴﺪ اﺻﻠﻲ و ﺧﺎرﺟﻲ وﺟﻮد ﻧﺪارد. -17ﻛﺪاﻣﻴﻚ از اﻗﻼم زﻳﺮ ﺑﻬﺘﺮﻳﻦ ﺗﻌﺮﻳﻒ ﺑﻪ ﻋﻨﻮان ﻳﻚ ﺷﺨﺺ ،ﻣﻜﺎن ﭼﻴﺰ ﻳﺎ ﻣﻔﻬﻮم از دادهﻫﺎي ﺟﻤﻊ آوري ﺷﺪهاﻧﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ -آزاد (80
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ
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ﺣﺪاﻗﻞ ﻳﻚ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ وﺟﻮد دارد.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
.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ﺗﺸﻜﻴﻞ ﻳﺎﻓﺘﻪ اﺳﺖ.
275
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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دو ﺟﺪول زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ﺳﭙﺲ ﺑﮕﻮﺋﻴﺪ در ﻧﺘﻴﺠﻪ اﻟﺤﺎق آﻧﻬﺎ ﺗﻮﺳﻂ دﺳﺘﻮر داده ﺷﺪه ،ﻛﻠﻴﺪ اﺻﻠﻲ ﭼﻪ ﻣﻲﺷﻮد ؟
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ﻫﻴﭽﻜﺪام
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
ﺗﺬﻛﺮ :ﺳﻪ ﺟﺪول ﺗﻬﻴﻪ ﻛﻨﻨﺪه
)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اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻳﻚ ﻗﻄﻌﻪ ﻗﺮﻣﺰ رﻧﮓ ﺗﻬﻴﻪ ﻣﻲﻛﻨﻨﺪ.
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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
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
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
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
.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ﻫﺮ راﺑﻄﻪاي ﻛﻪ ﺑﺎ ﻋﺒﺎرات ﺟﺒﺮ راﺑﻄﻪاي ﻗﺎﺑﻞ ﺗﻌﺮﻳﻒ اﺳﺖ ،ﺗﻮﺳﻂ آم زﺑﺎن ﻧﻴﺰ ﺗﻌﺮﻳﻒ ﺷﺪﻧﻲ ﺑﺎﺷﺪ.
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اﺗﻔﺎﻗﻲ اﺳﺖ و ﻧﻤﻲﺗﻮان ﮔﻔﺖ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﭼﻨﺪ ﺳﻄﺮ ﺧﻮاﻫﺪ داﺷﺖ ؟
20 .1ﺳﻄﺮ 15 .2ﺳﻄﺮ 9 .3ﺳﻄﺮ
y
x
e
a
a f g
b c d m
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:
DEND:
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
S# S1 S2
.1
P# P1 P3
.2 P# P1 P3
.3 S# S1 S2
.4 S# S1 S4
ﺟﺪول ﺑﺎﺷﺪ ﺧﺮوﺟﻲ ﭼﻪ ﻣﻲﺷﻮد ؟
P# P1
DOR
در ﺗﺴﺖ ﻗﺒﻠﻲ اﮔﺮ-40
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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از داﺧﻠﻲ ﺗﺮﻳﻦ ﭘﺮاﻧﺘﺰ دﺳﺘﻮرات را اﺟﺮاء ﻛﻨﻴﺪ.
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ﺧﺮوﺟﻲ ﺑﻪ ﺷﻜﻞ زﻳﺮ اﺳﺖ:
(2) -17
Budjet
D#
10 20 5
D1 D2 D3
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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
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
M a b c
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﻋﻨﻮان درﺳﻬﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم داﻧﺸﺠﻮﻳﺎن دوره ﻛﺎرﺷﻨﺎﺳﻲ ﻛﻪ ﺷﻤﺎرهﻫﺎي ﻳﻜﺴﺎن دارﻧﺪ آﻧﻬﺎ را اﻧﺘﺨﺎب ﻛﺮده ﺑﺎﺷﻨﺪ.
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را اﻧﺘﺨﺎب ﻧﻜﺮدهاﻧﺪ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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
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ﻧﻤﻲﺗﻮاﻧﺪ ﺑﺎﻋﺚ ﺑﻪ وﺟﻮد آﻣﺪن ﻧﺎﺳﺎزﮔﺎري در دادهﻫﺎ ﺷﻮد ؟
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت .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
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت .3 .4
305
; Select * From S,T where S.Name = T.name ; Select * From S Intersect select * From T
-8ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ دو ﺟﺪول Sو Tﻛﺪام دﺳﺘﻮر ﺧﺮوﺟﻲ زﻳﺮ را ﻣﻲدﻫﺪ ؟ ﺧﺮوﺟﻲ
:
Name
T: Name
S:Name
Bravo
Able
Able
Decon
Baker
Bravo
Charlie
Charlie
Dean
Decon
Exitor
Exitor
Falconer
Goober
Fuber Goobar
.1 .2 .3 .4
; * From S ; * From S ; * From T ; * From S
Select * From T Intersect select Select * From T Minus select Select * From S Minus select Select * From T Union select
-9در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﻧﺘﻴﺠﻪ ﻧﻬﺎﻳﻲ دﺳﺘﻮر ﺷﺒﻪ SQLزﻳﺮ ﭼﻴﺴﺖ؟ CREATE VIEW V AS ; }((S JOIN SP) where P# = 'P2') {S# , city ; }Result: = ( V where city = 'london') {s#
.1ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪه را ﺑﺮاي ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﻟﻨﺪن ﻛﻪ ﻗﻄﻌﻪ P2را ﺗﻮﻟﻴﺪ ﻣﻲﻛﻨﻨﺪ ،ﻣﻲدﻫﺪ. .2ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪه را ﺑﺮاي ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﺳﺎﻛﻦ ﺷﻬﺮ ﻟﻨﺪن ،ﻣﻲدﻫﺪ. .3ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪه را ﺑﺮاي ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪه ﻗﻄﻌﻪ ،P2ﻣﻲدﻫﺪ. .4ﺷﻬﺮ و ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﻪ اﻧﺒﺎر ﺷﺪه در ﺷﻬﺮ ﻟﻨﺪن را ﺗﻮﻟﻴﺪ ﻛﺮدهاﻧﺪ. -10دﺳﺘﻮر روﺑﺮو در SQLﭼﻪ ﻣﻲﻛﻨﺪ ؟ * Select From SP
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زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﺟﺒﺮ راﺑﻄﻪاي ﺧﺎﺻﻴﺖ ))ﺑﺴﺘﻪ ﺑﻮدن(( دارد .ﻳﻌﻨﻲ ﻋﻤﻠﻮﻧﺪ ﻫﺎ راﺑﻄﻪ اﺳﺖ و ﻧﺘﻴﺠﻪ ﻧﻴﺰ راﺑﻄﻪ ﻣﻲﺑﺎﺷﺪ.
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وﺿﻌﻴﺖ ﺗﻮﻟﻴﺪﻛﻨﻨﺪﮔﺎن ﺳﺎﻛﻦ ﺷﻬﺮ ﺗﻬﺮان را ﺳﻪ ﺑﺮاﺑﺮ ﻣﻲﻛﻨﺪ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﭼﻪ ﺳﺘﻮﻧﻬﺎﻳﻲ ﺧﻮاﻫﺪ داﺷﺖ ؟ Create View V AS )'(Select x,y from S) union (select x,y from S .1 .2 .3 .4
) '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
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اﻳﻦ دﺳﺘﻮر ﻏﻠﻂ اﺳﺖ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
.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
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ﺑﺮاي ﺗﻐﻴﻴﺮ اﺳﺖ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﻣﺜﻼ (3) -14 (4) -15
))ALTER table student Modify (Lname char (40
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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
ﻣﺘﻨﺎﻇﺮ ﺑﺎﺷﺪ.
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ﻫﻢ ارزﻧﺪ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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
318ﭘﺎﻳﮕﺎه داده ﻫﺎ
.4ﻫﺮﺳﻪ ﮔﺰﻳﻨﻪ -10ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ ﻣﺠﻤﻮﻋﻪ واﺑﺴﺘﮕﻲ زﻳﺮ ﻛﺪام اﺳﺖ ؟ }F={A→D , A→C , CD→B , AD→C .1 .2 .3 .4
}{CD→B , AD→C }{A→D , A→C , AD→C }{A→D , CD→B , AD→C } {A→D , A→C , CD→B
-11از ﻣﺠﻤﻮﻋﻪ FDزﻳﺮ ﻛﺪام راﺑﻄﻪ را ﻧﻤﻲﺗﻮان اﺳﺘﻨﺘﺎج ﻛﺮد ؟ }F= {A→D, CD→B , AD→C .1 .2 .3 .4
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اﮔﺮ ﺳﻤﺖ راﺳﺖ آن ،زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از ﺳﻤﺖ ﭼﭗ ﺑﺎﺷﺪ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
319
-15در راﺑﻄﻪ } R = {A,B,C,D,E,F,Gﺑﺎ FDﻫﺎي زﻳﺮ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻛﺪام اﺳﺖ ؟ }F= {D→A , E→B , A→B , AB→EFC .1 .2 .3 .4
)(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
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﭘﺬﻳﺮ اﺳﺖ ﭼﺮا ﻛﻪ
321
C → J , CJ→I C→I
} {A,B,C,D,G,Jﻳﻚ ﻓﻮق ﻛﻠﻴﺪ اﺳﺖ )ﻣﺠﻤﻮﻋﻪاي از ﺗﻤﺎم ﺻﻔﺎﺗﻲ ﻛﻪ در ﺳﻤﺖ ﭼﭗ FDﻫﺎ وﺟﻮد دارد ( .ﺑﻪ دﻟﻴﻞ وﺟﻮد C →Jﻣﻲﺗﻮاﻧﻴﻢ Jرا از ﻣﺠﻤﻮﻋﻪ ﻓﻮق ﺣﺬف ﻛﻨﻴﻢ. ﺑﻪ دﻟﻴﻞ وﺟﻮد AB→Gﻣﻲﺗﻮاﻧﻴﻢ Gرا از ﻣﺠﻤﻮﻋﻪ ﺣﺬف ﻛﻨﻴﻢ.ﭼﻮن Aو Bو CوD
ﻫﻴﭽﻜﺪام در ﺳﻤﺖ راﺳﺖ FDﻫﺎ ﻇﺎﻫﺮ ﻧﺸﺪهاﻧﺪ ﭘﺲ } {A,B,C,Dﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ. (4) -9 L→T , L→C , L→D , L→P
اﮔﺮ ﻣﺜﻼ ﺑﮕﻮﺋﻴﻢ اﺳﺘﺎد اﻛﺒﺮي ﺳﻪ ﺷﻨﺒﻪ 8ﺗﺎ 10ﺻﺒﺢ ،آﻧﮕﺎه ﺷﻤﺎره درس و ﺷﻤﺎره ﻛﻼس او ﻣﺸﺨﺺ ﻣﻲﮔﺮدد ﭘﺲ .DPT→CLﻫﻤﭽﻨﻴﻦ اﮔﺮ ﻣﺜﻼ ﺑﮕﻮﺋﻴﻢ ﺳﻪ ﺷﻨﺒﻪ 8ﺗﺎ 10ﺻﺒﺢ ﻛﻼس ﺷﻤﺎره ،215آﻧﮕﺎه ﻧﺎم اﺳﺘﺎد و ﺷﻤﺎره درس ﺗﻌﻴﻴﻦ ﻣﻲﮔﺮدد ،ﭘﺲ DPC→TL
(4) -10 A→D , AD→C A→C } Fmin = { A→D , A→C , CD→B
(1) -11 A→D , AD→C A→C A→D , A→C A→CD A→CD , CD→B A→B
(4) -12 (2) -13 (4) -14ﻣﺜﻼ AB→Aﮔﺰﻳﻨﻪﻫﺎي 2و 3وﻳﮋﮔﻲ ﻫﺎي واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﻤﻴﻨﻪ را ﺑﻴﺎن ﻣﻲﻛﻨﻨﺪ. (3) -15 D→A , A→B D→B , D→A , D→BD→AB D→AB , AB→EFC D→E , D→F , D→C
(1) -16در راﺑﻄﻪ ﺗﻤﺎم ﻛﻠﻴﺪ ،ﺑﻴﻦ اﺟﺰاي ﻛﻠﻴﺪ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ وﺟﻮد ﻧﺪارد. (2) -17
322ﭘﺎﻳﮕﺎه داده ﻫﺎ
ﺗﺴﺖ ﻫﺎي ﺳﺮي 10 -1ﻓﺮض ﻛﻨﻴﺪ ﻟﻴﺴﺘﻲ از درس ﻫﺎي داﻧﺸﺠﻮﻳﺎن در اﺧﺘﻴﺎر دارﻳﻢ ﻛﻪ از ﺳﺘﻮﻧﻬﺎي زﻳﺮ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ: ﺗﻌﺪاد واﺣﺪ
ﻧﺎم درس
ﻛﺪ درس
ﻧﺎم داﻧﺸﺠﻮ
ﻛﺪ داﻧﺸﺠﻮ
ﻫﺮ داﻧﺸﺠﻮ ﻣﻤﻜﻦ اﺳﺖ ﭼﻨﺪﻳﻦ درس داﺷﺘﻪ ﺑﺎﺷﺪ .اﮔﺮ ﺑﺨﻮاﻫﻴﻢ اﻳﻦ اﻃﻼﻋﺎت را در ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﻪ ﮔﻮﻧﻪ اي ذﺧﻴﺮه ﻛﻨﻴﻢ ﻛﻪ ﺣﺪاﻗﻞ ﺗﻜﺮار اﻃﻼﻋﺎت را داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﺣﺪاﻗﻞ ﺑﻪ ﭼﻨﺪ ﺟﺪول ) (tableﻧﻴﺎز دارﻳﻢ ؟ 1 .1
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﻓﻘﻂ در درج ﻣﻤﻜﻦ اﺳﺖ آﻧﻮﻣﺎﻟﻲ داﺷﺘﻪ ﺑﺎﺷﻴﻢ.
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وﻗﺘﻲ راﺑﻄﻪ داراي ﭼﻨﺪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﺪ.
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﻫﻤﺎن ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪ اﺳﺖ.
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﭼﻪ ﺻﻮرﺗﻲ از ﻓﺮم ﻧﺮﻣﺎل اﻳﺠﺎد ﻣﻲ ﺷﻮد ؟
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ﺳﻮﻣﻴﻦ ﻓﺮم ﻧﺮﻣﺎل
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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
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ﺟﺪول زﻳﺮ ﺣﺪاﻛﺜﺮ در ﭼﻪ ﺳﻄﺢ ﻧﺮﻣﺎﻟﻲ ﻗﺮار دارد ؟ ﻧﺎن ﻛﺘﺎب
ﻧﺎم درس
ﺷﻬﺮ داﻧﺸﻜﺪه
ﻧﺎم داﻧﺸﻜﺪه
ﻧﺎم اﺳﺘﺎد
ﻫﺮﺑﺮت ﺷﻴﻠﺪ
ﺑﺮﻧﺎﻣﻪ ﺳﺎزي
ﺗﻬﺮان
ﻛﺎﻣﭙﻴﻮﺗﺮ
اﻣﻴﺮي
ﻫﺮﺑﺮت ﺷﻴﻠﺪ
ﺑﺮﻧﺎﻣﻪ ﺳﺎزي
اراك
ﺑﺮق
اﻣﻴﺮي
ﻟﻴﭗ ﺷﻮﺗﺰ
ﺳﺎﺧﺘﻤﺎن داده
ﺗﻬﺮان
ﻛﺎﻣﭙﻮﺗﺮ
اﻣﻴﺮي
ﻟﻴﭗ ﺷﻮﺗﺰ
ﺳﺎﺧﺘﻤﺎن داده
اراك
ﺑﺮق
اﻣﻴﺮي
دﻳﺖ
ﭘﺎﻳﮕﺎهداده
ﺗﻬﺮان
ﻛﺎﻣﭙﻴﻮﺗﺮ
اﻣﻴﺮي
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت ﭘﺎﻳﮕﺎهداده
دﻳﺖ .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
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
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
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ﻣﻲ ﺗﻮان آن را ﺑﻪ دو ﺟﺪول زﻳﺮ ﺗﺠﺰﻳﻪ ﻛﺮد: ﻧﺎم ﻛﺘﺎب
ﻧﺎم درس
ﻧﺎم اﺳﺘﺎد
ﺷﻬﺮ داﻧﺸﻜﺪه
ﻧﺎم داﻧﺸﻜﺪه
ﻧﺎم اﺳﺘﺎد
ﻫﺮﺑﺮت ﺷﻴﻠﺪ
ﺑﺮﻧﺎﻣﻪ ﺳﺎزي
اﻣﻴﺮي
ﺗﻬﺮان
ﻛﺎﻣﭙﻴﻮﺗﺮ
اﻣﻴﺮي
ﻟﻴﭗ ﺷﻮﺗﺰ
ﺳﺎﺧﺘﻤﺎن داده
اﻣﻴﺮي
اراك
ﺑﺮق
اﻣﻴﺮي
دﻳﺖ
ﭘﺎﻳﮕﺎهداده
اﻣﻴﺮي
۲ ﺿﻤﻴﻤﻪ 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 --## sql-99.bnf . --/p --hr --h2 Key SQL Statements and Fragments --/h2 --bl --li ALTER DOMAIN --li ALTER TABLE --li CLOSE cursor --li Column definition --li COMMIT WORK --li CONNECT --li CREATE ASSERTION --li CREATE CHARACTER SET --li CREATE COLLATION --li CREATE DOMAIN --li CREATE FUNCTION --li CREATE PROCEDURE --li CREATE SCHEMA --li CREATE TABLE --li CREATE TRANSLATION --li CREATE TRIGGER --li CREATE VIEW --li Data type --li DEALLOCATE PREPARE --li DECLARE cursor --li DECLARE LOCAL TEMPORARY TABLE --li DELETE --li DESCRIBE --li DESCRIPTOR statements --li DISCONNECT
ﭘﺎﻳﮕﺎه دادهﻫﺎ
336
--li EXECUTE --li EXECUTE IMMEDIATE --li FETCH cursor --li FROM clause --li GET DIAGNOSTICS --li GRANT --li GROUP BY clause --li HAVING clause --li INSERT --li Literals --li OPEN cursor --li ORDER BY clause --li PREPARE --li REVOKE --li ROLLBACK WORK --li SAVEPOINT --li Search condition --li SELECT --li SET CATALOG --li SET CONNECTION --li SET CONSTRAINTS --li SET NAMES --li SET SCHEMA --li SET SESSION AUTHORIZATION --li SET TIME ZONE --li SET TRANSACTION --li SQL Client MODULE --li UPDATE --li Value expression --li WHERE clause --/bl --hr --h2 Identifying the version of SQL in use --/h2 --p This material (starting with ) 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 ::= ::= ::=iso | 1 | iso 1 ::=standard | 0 | standard 0 ::=9075 ::= ::= <1987> | <1989> | <1992> | <1999> <1987>::=0 | edition1987 0 <1989>::= <1989 base> <1989 package> <1989 base>::=1 | edition1989 1 <1989 package>::= | ::=0 | IntegrityNo 0 ::=1 | IntegrityYes 1 <1992>::=2 | edition1992 2 <1999>::=3 | edition1999 3 ::=
337 SQL 99 _ BNF ::= | | ::=0 | Low 0 ::=1 | Intermediate 1 ::=2 | High 2 ::= --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 ::= ... ::= | ::=0 | Part-(n)No 0 ::=!! (as specified in ISO/IEC 9075-(n)) ::= | ::= ::=3 | sqlcli1999 3 ::= ::=4 | sqlpsm1999 4 ::= | ::=1 | moduleyes 1 ::=0 | moduleno 0 ::= --p --small --i The original used sqlbindings199x, but the x should clearly be a 9. --/i --/small --/p ::=5 | sqlbindings1999 5 ::= | ::=1 | directyes 1 ::=0 | directno 0 ::= | ... ::=0 | embeddedno 0 ::= | | | | | | ::=1 | embeddedAda 1 ::=2 | embeddedC 2 ::=3 | embeddedCOBOL 3 ::=4 | embeddedFortran 4 ::=5 | embeddedMUMPS 5 ::=6 | embeddedPascal 6 ::=7 | embeddedPLI 7 --hr --h2 Basic Definitions of Characters Used, Tokens, Symbols, Etc.
ﭘﺎﻳﮕﺎه دادهﻫﺎ
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 ::= ::= | | ::= | ::= 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 ::= 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 ::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ::= | | | | | | | | | | | | | | | | | | | | | | | |