WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻣﻮﻟﻔﻴﻦ ﻣﻬﻨﺪس ﺳﻴﺪ ﻧﺎﺻﺮ آﻳﺖ دﻛﺘﺮ اﺣﻤﺪ ﻓﺮاﻫﻲ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻓﺼﻞ - 1ﻣﻔﺎﻫﻴﻢ اوﻟﻴﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 1 .............. ................................ ﻫﺪف ﻛﻠﻲ 1 ............ ................................ ................................ ﻫﺪف رﻓﺘﺎري 1 ......... ................................ ................................ -1ﺗﺎرﻳﺨﭽﻪ 2 ........... ................................ ................................ 1 -1ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت 4 .................. ................................ 2 -1داده 4 .......... ................................ ................................ 3 -1ﺗﻌﺮﻳﻒ داده از دﻳﺪﮔﺎه 4 .............. ................................ ANSI 4 -1اﻃﻼع 5 ........ ................................ ................................ 5 -1ﺗﻌﺮﻳﻒ اﻃﻼع از دﻳﺪﮔﺎه 5 ............ ................................ ANSI 6 -1داﻧﺶ 5 ......... ................................ ................................ -2ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎه داده 6 . ................................ ................................ 1 -2ﺗﻔﺎوت ﻫﺎي ﺑﻴﻦ روش ﻓﺎﻳﻠﻴﻨﮓ و روش ﭘﺎﻳﮕﺎه داده ﻫﺎ 7 ..................... 1 -1 -2ﻣﺮاﺣﻞ ﻛﺎر در روش ﻓﺎﻳﻠﻴﻨﮓ 7 ........... ................................ 2 -1 -2ﻣﺮاﺣﻞ ﻛﺎر در روش ﭘﺎﻳﮕﺎﻫﻲ 8 ........... ................................ 2 -2اﺟﺰاء ﭘﺎﻳﮕﺎه داده 10 ........................... ................................ 1 -2 -2داده ﻫﺎ 11 .... ................................ ................................ 2 -2 -2ﺳﺨﺖ اﻓﺰار 12 .............................. ................................ -1ﺳﺨﺖ اﻓﺰار ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ 12 ............. ................................ -2ﺳﺨﺖ اﻓﺰار ﭘﺮدازﺷﮕﺮ 12 ........................ ................................ -3ﺳﺨﺖ اﻓﺰار ﺑﺮﻗﺮار ﻛﻨﻨﺪه ارﺗﺒﺎط 12 ............. ................................ 3 -2 -2ﻧﺮم اﻓﺰار 13 . ................................ ................................ -1ﻧﺮم اﻓﺰار ﻛﺎرﺑﺮدي 14 ............................. ................................ -2ﻧﺮم اﻓﺰار ﺳﻴﺴﺘﻤﻲ 14 ............................. ................................ 4 -2 -2ﻛﺎرﺑﺮ 14 ..... ................................ ................................ -1ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﺎن ﻛﺎرﺑﺮدي 15 ..................... ................................ -2ﻛﺎرﺑﺮان واﻗﻌﻲ ﻳﺎ ﻧﻬﺎﻳﻲ 15 ..................... ................................ -3ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده 15 .............................. ................................
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺗﻤﺮﻳﻨﺎت 16 ............. ................................ ................................ ﻓﺼﻞ - 2ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ داده ﻫﺎ 17 .................... ................................ ﻫﺪف ﻛﻠﻲ 17 ........... ................................ ................................ ﻫﺪف رﻓﺘﺎري 17 ........ ................................ ................................ -1ﻣﺪﻟﺴﺎزي ﻣﻌﻨﺎﻳﻲ داده ﻫﺎ 18 ......................... ................................ -2ﻣﺪﻟﺴﺎزي ﺑﻪ روش 19 .......................... ................................ ER 1 -2ﻧﻮع ﻣﻮﺟﻮدﻳﺖ 19 ............................. ................................ 1 -1 -2ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ 20 ....................... ................................ 2 -1 -2ﺣﺎﻻت ﻳﻚ ﻣﻮﺟﻮدﻳﺖ 20 .................. ................................ ﻣﻮﺟﻮدﻳﺖ ﻗﻮي ﻳﺎ ﻣﺴﺘﻘﻞ 21 ...................... ................................ ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﻳﺎ واﺑﺴﺘﻪ 21 .................... ................................ 2 -2ﺻﻔﺖ 21 ....... ................................ ................................ رده ﺑﻨﺪي ﺻﻔﺖ 21 . ................................ ................................ 1 -2 -2ﺻﻔﺖ ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ 22 ................... ................................ ﺻﻔﺖ ﺳﺎده 22 ...... ................................ ................................ ﺻﻔﺖ ﻣﺮﻛﺐ 22 .... ................................ ................................ 2 -2 -2ﺻﻔﺖ ﺗﻚ ﻣﻘﺪاري ﻳﺎ ﭼﻨﺪ ﻣﻘﺪاري 22 .... ................................ ﺻﻔﺖ ﺗﻚ ﻣﻘﺪاري 22 ............................... ................................ ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري 23 .............................. ................................ 3 -2 -2ﺷﻨﺎﺳﻪ 23 .... ................................ ................................ ﻣﻔﻬﻮم ﻣﻘﺪار ﻫﻴﭻ ) ﻫﻴﭻ ﻣﻘﺪار ( 23 ................. ................................ 4 -2 -2ﺻﻔﺖ واﻗﻌﻲ ﻳﺎ ﻣﺸﺘﻖ 23 ................... ................................ ﺻﻔﺖ واﻗﻌﻲ ) ذﺧﻴﺮه ﺷﺪه ( 24 ...................... ................................ ﺻﻔﺖ ﻣﺸﺘﻖ 24 ..... ................................ ................................ 3 -2ارﺗﺒﺎط 24 ...... ................................ ................................ ﻧﻮع ارﺗﺒﺎط 24 ....... ................................ ................................ -3ﻧﻤﻮدار 25 ....... ................................ ................................ ER 1 -3درﺟﻪ ﻧﻮع ارﺗﺒﺎط 28 .......................... ................................ 2 -3ﻣﺎﻫﻴﺖ ﻧﻮع ارﺗﺒﺎط ) اﺗﺼﺎل ( 29 ............... ................................
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
3 -3ﺣﺪ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ 30 ............................. ................................ -4ﻣﺸﻜﻼت روش 31 .............................. ................................ ER 1 -4دام ﺣﻠﻘﻪ اي 31 . ................................ ................................ 2 -4دام ﭼﻨﺪ ﺷﺎﺧﻪ اي 32 .......................... ................................ 3 -4دام ﮔﺴﻞ 32 .... ................................ ................................ -5ﻣﺪل ﺳﺎزي ﺑﺎ روش 33 ....................... ................................ EER 1 -5ﺗﺠﺰﻳﻪ و ﺗﺮﻛﻴﺐ 33 ............................ ................................ 2 -5ﺗﺨﺼﻴﺺ و ﺗﻌﻤﻴﻢ 35 .......................... ................................ 3 -5زﻳﺮ ﻧﻮع ﻫﺎي ﻫﻤﭙﻮﺷﺎ و ﻣﺠﺰا 36 .............. ................................ 4 -5دﺳﺘﻪ ﺑﻨﺪي و وراﺛﺖ 37 ...................... ................................ 5 -5ﺗﺠﻤﻊ 38 ....... ................................ ................................ -6روش ﻣﺪل ﺳﺎزي ﺷﻲء 39 .................. ................................ UML 1 -6ﻣﻔﺎﻫﻴﻢ اﺻﻠﻲ 39 ............................... ................................ 2 -6ﻧﺤﻮه ﻧﻤﺎﻳﺶ ﻣﻔﺎﻫﻴﻢ 41 ........................ ................................ 3 -6ﺧﺼﻮﺻﻴﺎت ﻛﻠﻲ روش ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ داده ﻫﺎ 42 ....................... ﺗﻤﺮﻳﻨﺎت 44 ............. ................................ ................................ ﻓﺼﻞ - 3ﻣﻌ ﻤﺎري ﭘﺎﻳﮕﺎه داده 45 ............................ ................................ ﻫﺪف ﻛﻠﻲ 45 ........... ................................ ................................ ﻫﺪف رﻓﺘﺎري 45 ........ ................................ ................................ -1ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﭘﺎ ﻳﮕﺎه داده 46 .................. ................................ -2ﺷﺮح ﺳﻄﻮح ﺳﻪ ﮔﺎﻧﻪ 48 ........................... ................................ : ) 1 -2ﻧﻤﺎي ( ادراﻛﻲ ) ﻣﻔﻬﻮﻣﻲ ( 48 .................. ................................ 2 -2دﻳﺪ ) ﻧﻤﺎي ( ﺧﺎرﺟﻲ 49 ........................ ................................ 3 -2دﻳﺪ ) ﻧﻤﺎي ( داﺧﻠﻲ 50 ......................... ................................ -3ﺳﺎﻳﺮ اﺟﺰاء ﭘﺎﻳﮕﺎه داده ﻫﺎ 53 ........................ ................................ 1 -3ﻛﺎرﺑﺮ 53 ........ ................................ ................................ 2 -3زﺑﺎن ﻣﻴﺰﺑﺎن 53 . ................................ ................................ 3 -3زﺑﺎن داده اي ﻓﺮﻋﻲ 54 ......................... ................................ زﺑﺎن ﻣﺴﺘﻘﻞ 55 ...... ................................ ................................
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
زﺑﺎن ادﻏﺎم ﺷﺪﻧﻲ 55 ................................ ................................ ﺗﻤﺮﻳﻨﺎت 56 ............. ................................ ................................ ﻓﺼﻞ - 4ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده 57 ................. ................................ ﻫﺪف ﻛﻠﻲ 57 ........... ................................ ................................ ﻫﺪف رﻓﺘﺎري 57 ........ ................................ ................................ -1ﺗﻌﺮﻳﻒ 58 ............ ................................ ................................ ﺑﺨﺶ ﺳﺎﺧﺘﺎري 59 .. ................................ ................................ ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ 59 .... ................................ ................................ ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ 59 ... ................................ ................................ -2رده ﺑﻨﺪي ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ 60 ... ................................ از ﻧﻈﺮ ﻣﺪل داده اي 60 .............................. ................................ از ﻧﻈﺮ ﻣﺤﻴﻂ ﺳﺨﺖ اﻓﺰاري 60 ...................... ................................ از ﻧﻈﺮ رده ﺑﻨﺪي ﻛﺎﻣﭙﻴﻮﺗﺮ 60 ....................... ................................ از ﻧﻈﺮ ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ 60 ...................... ................................ از ﻧﻈﺮ ﻧﻮع ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎ 60 ....... ................................ از ﻧﻈﺮ ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار 61 ............. ................................ از ﻧﻈﺮ ﺳﻴﺴﺘﻢ ﻓﺎﻳﻞ 61 .............................. ................................ از ﻧﻈﺮ ﻣﺘﺪوﻟﻮژي زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ 61 ................ ................................ از ﻧﻈﺮ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ و درﺧﻮاﺳﺖ ﻫﺎي ﻛﺎرﺑﺮ 61 .................... از ﻧﻈﺮ ﻧﻮع ﺗ ﺮاﻛﻨﺶ 61 .............................. ................................ از ﻧﻈﺮ ﻧﻮع ﭘﺮدازش 61 .............................. ................................ -3اﺟﺰاء ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ 61 ............ ................................ 1 -3ﻧﻤﺎي ﺑﻴﺮوﻧﻲ 62 ................................ ................................ 2 -3ﻧﻤﺎي دروﻧﻲ 63 ................................ ................................ 1 -2 -3ﻻﻳﻪ ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده 63 ......... ................................ 2 -2 -3ﻻﻳﻪ ﻫﺴﺘﻪ ﭘﺎﻳﮕﺎه داده 64 ................... ................................ -4ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ و دﻳﻜﺸﻨﺮي داده ﻫﺎ ) ﻣﺘﺎ داده ﻫﺎ ( 64 .............................. -5ﭘﺎراﻣﺘﺮﻫﺎي ﺷﻨﺎﺧﺖ 66 .................... ................................ DBMS 1 -5ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺗﻮاﻧﺎﻳﻲ ﻫﺎ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ 67 ........................
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
2 -5ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪ ﻫﺎي دﻳﮕﺮ 70 ................ ................................ : 3 -5ﻣﺸﺨﺼﺎت ﻛﻠﻲ ﺳﻴﺴﺘﻢ 72 .................... ................................ : 4 -5ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ 72 .............................. 1 -4 -5ﺳﻄﺢ داﺧﻠﻲ -ﻓﻴﺰﻳﻜﻲ 72 ................... ................................ 2 -4 -5ﺳﻄﺢ ادراﻛﻲ 74 ............................ ................................ 3 -4 -5ﺳﻄﺢ ﺧﺎرﺟﻲ 74 ............................ ................................ 5 -5ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن داده اي ﻓﺮﻋﻲ 75 . ................................ -6ﻣﺤﻮرﻫﺎي اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ DBMSﻫﺎ 76 ............ ................................ -7روش ﻣﻄﺎﻟﻌﻪ ﺳﻴﺴﺘﻢ 78 ............................. ................................ -8روﻳﻪ ﻫﺎي ﻣﺴﺘﻨﺪ ﺑﺮاي ﻛﺎرﺑﺮان 78 .................. ................................ -9ﻫﺰﻳﻨﻪ ﻫﺎ 79 ........... ................................ ................................ -10ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده )80 ...................... ................................ (DBA 1 -10اﺻﻄﻼح ﺗﻴﻢ 80 ....................... ................................ DBA 2 -10ﻣﺴﺌﻮﻟﻴﺖ ﻫﺎ 81 ............................... ................................ 3 -10وﻇﺎﻳﻒ 81 .... ................................ ................................ ﺗﻤﺮﻳﻨﺎت 85 ............. ................................ ................................ ﻓﺼﻞ - 5ﻣﺪل ﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي داده اي ﭘﺎﻳﮕﺎه داده ﻫﺎ 87 ................................ ﻫﺪف ﻛﻠﻲ 87 ........... ................................ ................................ ﻫﺪف رﻓﺘﺎري 87 ........ ................................ ................................ -1ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ 88 .... ................................ ................................ -2آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ 91 ....... ................................ 1 -2ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري 91 ........................... ................................ 2 -2ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ 93 .............. ................................ 3 -2ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ 98 ......... ................................ 4 -2ﺑﺮﺧﻲ وﻳﮋﮔﻲ ﻫﺎي ﺳﺎﺧﺘﺎر ) و ﻣﺪل ( داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ 99 .............. -3آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي 100 ............ ................................ 1 -3ﺗﻌﺮﻳﻒ ﺳﺎﺧﺘﺎر ﺷﺒﻜﻪ 100 .................... ................................ 2 -3ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري 101 ......................... ................................ 3 -3ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪ اي 102 ................. ................................
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
1 -3 -3ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط " ﻳﻚ ﺑﻪ ﭼﻨﺪ " 102 .. ................................ ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ 104 ................................ ................................ 2 -3 -3ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط " ﭼﻨﺪ ﺑﻪ ﭼ ﻨﺪ " 104 .. ................................ 4 -3ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪ اي 105 .............. ................................ 5 -3ﺑﺮﺧﻲ وﻳﮋﮔﻲ ﻫﺎي ﺳﺎﺧﺘﺎر ) و ﻣﺪل ( داده اي ﺷﺒﻜﻪ اي 106 ................. ﺗﻤﺮﻳﻨﺎت 107 ........... ................................ ................................ ﻓﺼﻞ - 6ﭘﺎﻳﮕﺎه داده راﺑﻄﻪ اي 109 ......................... ................................ ﻫﺪف ﻛﻠﻲ 109 ......... ................................ ................................ ﻫﺪف رﻓﺘﺎري 109 ...... ................................ ................................ -1ﺑﺎﻧﻚ اﻃﻼﻋﺎت راﺑﻄﻪ اي 110 ... ................................ Relational DB -2ﺳﺎﺧﺘﺎر داده اي راﺑﻄﻪ اي 110 ....................... ................................ -3ﺗﻌﺮﻳﻒ راﺑﻄﻪ 111 ... ................................ ................................ 111 ................ ................................ ................................ 3 2 -3ﺗﻌﺮﻳﻒ راﺑﻄﻪ 112 ............................. ................................ 3 -3ﺗﻨﺎﻇﺮ ﺑﻴﻦ ﻣﻔﺎﻫﻴﻢ راﺑﻄﻪ اي و ﻣﻔﺎﻫﻴﻢ ﺟﺪوﻟﻲ 113 ........................... 4 -3ﺗﻌﺮﻳﻒ ﺻﻮري ﺟﺪول 113 .................... ................................ -4وﻳﮋﮔﻲ ﻫﺎي راﺑﻄﻪ 115 .............................. ................................ -5اﻧﻮاع ﻛﻠﻴﺪ در ﻣﺪل راﺑﻄﻪ اي 116 ................... ................................ 1 -5اﺑﺮ ﻛﻠﻴﺪ 116 ... ................................ ................................ 2 -5ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ 116 .............................. ................................ 3 -5ﻛﻠﻴﺪ اﺻﻠﻲ 117 ................................ ................................ 4 -5ﻛﻠﻴﺪ ﺑﺪﻳﻞ 117 ................................ ................................ 5 -5ﻛﻠﻴﺪ ﺧﺎرﺟﻲ 118 ............................. ................................ ﻧﻜﺎﺗﻲ در ﻣﻮرد ﻛﻠﻴﺪ ﺧﺎرﺟﻲ 119 .................. ................................ -6اﻧﻮاع راﺑﻄﻪ 121 ..... ................................ ................................ راﺑﻄﻪ ﻣﺒﻨﺎ 121 ...... ................................ ................................ راﺑﻄﻪ ﻣﺸﺘﻖ 121 .... ................................ ................................ ﻣﻔﻬﻮم دﻳﺪ 121 ...... ................................ ................................ -7ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ در ﻣﺪل راﺑﻄﻪ اي 122 ............. ................................
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
1 -7اﻧﻮاع ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ 123 ..................... ................................ 1 -1 -7ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي 123 ......................... ................................ 2 -1 -7ﻣﺘﺎ ﻗﻮاﻋﺪ 124 .............................. ................................ 1 -2 -1 -7ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ﻣﻮﺟﻮدﻳﺘﻲ 124 ......... ................................ 2 -2 -1 -7ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ 125 ........... ................................ ﺗ ﻤﺮﻳﻨﺎت 125 ........... ................................ ................................ ﻓﺼﻞ - 7ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪ اي 127 ................ ................................ ﻫﺪف ﻛﻠﻲ 127 ......... ................................ ................................ ﻫﺪف رﻓﺘﺎري 127 ...... ................................ ................................ -1ﺗﻌﺮﻳﻒ 128 .......... ................................ ................................ -2ﺟﺒﺮ راﺑﻄﻪ اي ) ( RAو ﻋﻤﻠﮕﺮﻫﺎي آن 129 ........ ................................ ﻋﻤ ﻠﮕﺮﻫﺎي اﺻﻠﻲ 130 ............... ................................ : ( Б ) Select ﻋﻤﻠﮕﺮ اﺻﻠﻲ 130 .................. ................................ : ( ∏ ) Project اﻟﺤﺎق ) 130 . ................................ ................................ : ( Join ﻋﻤﻠﮕﺮﺗﻐﻴﻴﺮ ﻧﺎم ) 131 .......................... ................................ : ( ༸ دﺳﺘﻮر ) 133 .... ................................ ................................ : ( Б دﺳﺘﻮر ) ∏ ( 134 ... ................................ ................................ : ﻋﻤﻠﮕﺮ ﻫﺎي ﭘﻴﻮﻧﺪ )135 ...................... ................................ (join )X
ﺿﺮب دﻛﺎرﺗﻲ 135 ......................... ( Cartesian product :
ﺧﻮاص ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ 135 ........................... ................................ ﻛﺎرﺑﺮدﻫﺎي ﺿﺮب دﻛﺎرﺗﻲ ) 136 ................. ................................ ( X اﻟﺤﺎق ﻃﺒﻴﻌﻲ 136 .......... ................................ : ( ∞ ) Natural join 137 ............................. ................................ ༾ = semi join ﻋﻤﻠﮕﺮ ﺗﻘﺴﻴﻢ Divideﻳﺎ 138 ...... ................................ Division: -3ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮروي داده ﻫﺎ 140 ................ ................................ 1 -3ﻋﻤ ﻠﮕﺮ درج ) 140 .................... ................................ ( Insert 2 -3ﻋﻤﻠﮕﺮ ﺑﻬﻨﮕﺎم ﺳﺎزي ) 141 ..... ................................ ( UPDATE 3 -3ﻋﻤﻠﮕﺮ ﺣﺬف ) 141 .............. ................................ ( DELETE -4ﻛﺎﻣﻞ ﺑﻮدن ﺟﺒﺮ راﺑﻄﻪ اي 142 ...................... ................................
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
-5ﺣﺴﺎب راﺑﻄﻪ اي 142 ................................ ................................ 1 -5ﺣﺴﺎب راﺑﻄﻪ اي ﺗﺎﭘﻠﻲ 143 ................... ................................ 1 -1 -5ﺷﻜﻞ ﻛﻠﻲ ﻋﺒﺎرت ﺣﺴﺎب ﺗﺎﭘﻠﻲ 143 ...... ................................ 2 -1 -5ﺳﻮر وﺟﻮدي و ﺳﻮر ﻫﻤﮕﺎﻧﻲ 144 ........ ................................ ﺳﻮر وﺟﻮدي 144 ... ................................ ................................ ﺳﻮر ﻫﻤﮕﺎﻧﻲ 144 ... ................................ ................................ 3 -1 -5ﻋﺒﺎرت ﻣﻄﻤﺌﻦ 144 ......................... ................................ 2 -5ﺣﺴﺎب راﺑﻄﻪ ﻣﻴﺪاﻧﻲ 145 ..................... ................................ -6ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮ ﻫﺎ 145 .................... ................................ 1 -6ﺗﺒﺪﻳﻞ Qﺑﻪ 147 ..................... ................................ o.Q: 2 -6ﺳﺎﻳﺮ ﻗﻮاﻋﺪ و ﻋﻤﻠﮕﺮ ﻫﺎي ﺑﻬﻴﻨﻪ ﺳﺎزي 147 .. ................................ 148 ..... ................................ ................................ crs ∞ sec 148 ..... ................................ ................................ sec ∞ crs ﺗﻤﺮﻳﻨﺎت 149 ........... ................................ ................................ ﻓﺼﻞ - 8آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪ اي 151 ............ ................................ SQL ﻫﺪف ﻛﻠﻲ 151 ......... ................................ ................................ ﻫﺪف رﻓﺘﺎري 151 ...... ................................ ................................ - 1ﻣﻘﺪﻣﻪ اي ﺑﺮ 152 ............................ ................................ SQL - 2دﻻﻳﻞ ﮔﺴﺘﺮدﮔﻲ 153 ........................ ................................ SQL - 3دﺳﺘﻮرات ﺗﻌﺮﻳﻒ د اده ﻫﺎ 154 .............. ................................ DDL 1 - 3ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎه داده 154 ....................... ................................ 2 - 3ﺗﻌﺮﻳﻒ ﺷﻤﺎ 155 .............................. ................................ 3 - 3ﺟﺪول 155 .... ................................ ................................ 1 - 3 - 3ﺗﻌﺮﻳﻒ ﺟﺪول 155 ....................... ................................ 2 - 3 - 3اﺻ ﻼ ً ح ﺳﺎﺧﺘﺎر ﺟﺪول 156 .............. ................................ 3 - 3 - 3ﺗﻐﻴﻴﺮ ﻧﻮع داده ﻫﺎي ﻳﻚ ﺳﺘﻮن ﺟﺪول 158 .............................. 4 - 3 - 3ﺣﺬف ﻳﻚ ﺟﺪول 158 ................... ................................ -4دﺳﺘﻮرات ﭘﺮس و ﺟﻮ ) ﻣﺸﺎﻫﺪه ( داده ﻫﺎ 159 ...... ................................ - 5دﺳﺘﻮرات ﻛﺎر ﺑﺮ روي داده ﻫﺎ 162 ................ ................................
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
1 - 5دﺳﺘﻮر 163 ....................... ................................ INSERT 2 - 5دﺳﺘﻮر 164 ...................... ................................ UPDATE 3 - 5دﺳﺘﻮر 166 ....................... ................................ DELETE -6ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺑﺎ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ 167 ......... ................................ 1 - 6ﻋﻤﻠﮕ ﺮ ﭘﻴﻮﻧﺪ داﺧﻠﻲ 168 ..................... ................................ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ 171 ........................... ................................ 3 - 6ﻋﻤﻠﮕﺮ ﻫﺎي ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ 171 .............. ................................ 1 - 3 - 6ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﭼﭗ 172 .................. ................................ 2 - 3 - 6ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ 173 ................ ................................ 3 - 3 - 6ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﻛﺎﻣﻞ 175 ................. ................................ - 7ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎ در ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ 176 ..... ................................ 1 - 7ﻋﻤﻠﮕﺮ ﮔﺮوه ﺑﻨﺪي 176 ..................... ................................ 2 - 7ﻋﻤﻠﮕﺮ ﻣﺮﺗﺐ ﺳﺎزي 177 ..................... ................................ 3 - 7ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ 178 ............................ ................................ 4 - 7ﻋﻤﻠﮕﺮ 179 ...................... ................................ HAVING 5 - 7ﻋﻤﻠﮕﺮ 180 ................... ................................ BETWEEN 6 - 7ﻋﻤﻠﮕﺮ 181 ........................... ................................ LIKE - 8اﺳﺘﻔﺎده از ﭘﺮس و ﺟﻮﻫﺎي ﺗﻮدرﺗﻮ 182 ........... ................................ 1 - 8اﺳﺘﻔﺎده ا ز زﻳﺮﭘﺮﺳﺶ ﻫﺎ ) ﭘﺮﺳﺶ ﻫﺎي ﻓﺮﻋﻲ ( 182 .......................... 2 - 8ﻋﻤﻠﮕﺮ 183 ............................... ................................ IN 3 - 8ﻋﻤﻠﮕﺮ 184 ....................... ................................ EXISTS - 9دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮز دﺳﺘﺮﺳﻲ 184 ............. ................................ 1 - 9دﺳﺘﻮر اﻋﻄﺎ اﺧﺘﻴﺎرات 185 ................... ................................ 2 - 9دﺳﺘﻮر ﻟﻐﻮ اﺧﺘﻴﺎرات 186 .................... ................................ -10اﻣﻜﺎﻧﺎت و وﻳﮋﮔﻲ ﻫﺎي SQL2و 186 ... ................................ SQL3 1 - 10اﻣﻜﺎﻧﺎت 186 ....................... ................................ SQL2 2 -10اﻣﻜﺎﻧﺎت 187 ........................ ................................ SQL3 ﺗﻤﺮﻳﻨﺎت 188 ........... ................................ ................................ ﻓﺼﻞ - 9ﻧﺮﻣﺎل ﺳﺎزي 193 . ................................ ................................
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻫﺪف ﻛﻠﻲ 193 ......... ................................ ................................ ﻫﺪف رﻓﺘﺎري 193 ...... ................................ ................................ -1ﺗﻌﺮﻳﻒ راﺑﻄﻪ ﻧﺮﻣﺎل 194 ............................ ................................ 1 -1دﻻﻳﻞ ﻟﺰوم ﻧﺮﻣﺎل ﺑﻮدن راﺑﻄﻪ 194 ........... ................................ 2 -1ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻧﺮﻣﺎل 194 ...................... ................................ 3 -1ﻣﺰاﻳﺎ و ﻣﻌﺎﻳ ﺐ راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل 195 ......... ................................ -2ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ 195 ....................... ................................ 1 -2اﻧﻮاع واﺑﺴﺘﮕﻲ ﻫﺎ 196 ......................... ................................ 1 -1 -2واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ 196 ........................ ................................ 2 -1 -2واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ 196 ................. ................................ 2 -2ﺣﺎﻟﺘﻬﺎي واﺑﺴﺘﮕﻲ 197 ........................ ................................ 3 -2ﺗﻌﺮﻳﻒ 197 ............................ ................................ F δ روش ﻳﺎﻓﺘﻦ 197 ............................. ................................ F δ 4 -2ﻧﻤﻮدار واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﺎﺑﻌﻲ 198 ............. ................................ -3ﺻﻮرت ﻫﺎي ﻧﺮﻣﺎل 199 .............................. ................................ -4ﻓﺮاﻳﻨﺪ ﻧﺮﻣﺎل ﺳﺎزي 200 ........................... ................................ 1 -4راﺑﻄﻪ 201 ............................... ................................ 1NF 2 -4راﺑﻄﻪ 202 ............................... ................................ 2NF 3 -4راﺑﻄﻪ 203 ............................... ................................ 3NF 4 -4راﺑﻄﻪ 204 ............................ ................................ BCNF 5 -4راﺑﻄﻪ 204 ............................... ................................ 4NF 6 -4راﺑﻄﻪ 205 ............................... ................................ 5NF ﺗﻤﺮﻳﻨﺎت 207 ........... ................................ ................................ ﻓﺼﻞ - 10ﻣﻌﻤﺎري ﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 209 . ................................ ﻫﺪف ﻛﻠﻲ 209 ......... ................................ ................................ ﻫﺪف رﻓﺘﺎري 209 ...... ................................ ................................ -1ﻣﻘﺪﻣﻪ 210 ........... ................................ ................................ -2اﻧﻮاع ﻣﻌﻤﺎري 210 .. ................................ ................................ 1 -2ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ 211 .......................... ................................
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
2 -2ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ 211 ........................ ................................ 1 -2 -2ﻣ ﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار 212 ........................ 1 -1 -2 -2ﺗﻌﺮﻳﻒ 212 .............................. ................................ 2 -1 -2 -2ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار 213 ............................. 3 -1 -2 -2ﻃﺮﺣﻬﺎي ﻣﻌﻤﺎري 215 .................. ................................ 1 - 3 -1 -2 -2از ﻧﻈﺮ ﺗﻌﺪاد ﻣﺸﺘﺮي و ﺧﺪﻣﺘﮕﺰار 215 ............................ 2 - 3 -1 -2 -2از ﻧﻈﺮ ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖ اﻓﺰاري 215 .............................. ﻣﻌﻤﺎري ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ 215 ................. ................................ ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ 216 ............................ ................................ 4 -1 -2 -2ﻣﺰاﻳﺎي ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار 216 .............................. 2 -2 -2ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه 217 ............................... 1 -2 -2 -2ﺗﻌﺮﻳﻒ 217 .............................. ................................ : 2 -2 -2 -2ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖ اﻓﺰاري 219 ........... ................................ 3 -2 -2 - 2ﻗﻮاﻋﺪ 220 ............................. ................................ 4 -2 -2 -2ﻣﺰاﻳﺎ 220 ................................ ................................ 5 -2 -2 -2ﻣﻌﺎﻳﺐ 221 .............................. ................................ 3 -2 -2ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي 221 ........... ................................ 1 -3 -2 -2ﻃﺮح ﻛﻠﻲ ﻣﻌﻤﺎري 222 ................. ................................ 2 -3 -2 -2ﻃﺮح ﻫﺎ 222 .............................. ................................ 1 - 2 -3 -2 -2ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك 223 ..... ................................ 2 -2 -3 -2 -2ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚ ﻫﺎي ﻣﺸﺘﺮك 224 . ................................ 3 -2 -3 -2 -2ﻣﻌﻤﺎري ﺑﻲ اﺟﺰا ﻣﺸﺘﺮك 225 ....... ................................ 4 -2 -3 -2 -2ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ 226 ......... ................................ 4 -2 -2ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ 226 ................ ................................ 5 -2 -2ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه 227 ................ ................................ 1 -5 -2 -2ﺗﻌﺮﻳﻒ 227 .............................. ................................ : 2 -5 -2 -2ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه 228 .. ................................ ﺗﻤﺮﻳﻨﺎت 229 ........... ................................ ................................ ﺿﻤﻴﻤﻪ 1ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت 231 ...................... ................................
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺗﺴﺖ ﻫﺎي ﺳﺮي 231 ................................ ................................ 1 ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 234 ......................... ................................ 1 ﺗﺴﺖ ﻫﺎي ﺳﺮي 235 ................................ ................................ 2 ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 238 ......................... ................................ 2 ﺗﺴﺖ ﻫﺎي ﺳﺮي 240 ................................ ................................ 3 ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 256 ......................... ................................ 3 ﺗﺴﺖ ﻫﺎي ﺳﺮي 261 ................................ ................................ 4 ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 267 ......................... ................................ 4 ﺗﺴﺖ ﻫﺎي ﺳﺮي 268 ................................ ................................ 5 ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 276 ......................... ................................ 5 ﺗﺴﺖ ﻫﺎي ﺳﺮي 279 ................................ ................................ 6 ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 292 ......................... ................................ 6 ﺗﺴﺖ ﻫﺎي ﺳﺮي 297 ................................ ................................ 7 ﭘﺎﺳﺦ ﺗﺴﺘﻬﺎي ﺳﺮي 301 ............................ ................................ 7 ﺗﺴﺖ ﻫﺎي ﺳﺮي 302 ................................ ................................ 8 ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 312 ......................... ................................ 8 ﺗﺴﺖ ﻫﺎي ﺳﺮي 315 ................................ ................................ 9 ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 319 ......................... ................................ 9 ﺗﺴﺖ ﻫﺎي ﺳﺮي 322 ............................... ................................ 10 ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 331 ........................ ................................ 10 ﺿﻤﻴﻤﻪ 335 ......................... ................................ _ BNF 99 SQL - 2 واژه ﻧﺎﻣﻪ اﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻓﺎرﺳﻲ 391 ........................ ................................ واژه ﻧﺎﻣﻪ ﻓﺎرﺳﻲ ﺑﻪ اﻧﮕﻠﻴﺴﻲ 407 ........................... ................................ ﻣﻨﺎﺑﻊ و ﻣﺎﺧﺬ 425 ......... ................................ ................................
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
اﻳﻦ ﻛﺘﺎب ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺳﺮ ﻓﺼﻞ ﺗﻌﻴﻴﻦ ﺷﺪه ﺑﺮاي داﻧﺸﺠﻮﻳﺎن داﻧﺸﮕﺎه ﭘﻴﺎمﻧﻮر در رﺷﺘﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺗﻬﻴﻪ و ﺗﻨﻈﻴﻢ ﺷﺪه اﺳﺖ .در ﺗﻬﻴﻪ اﻳﻦ ﻛﺘﺎب ﺳﻌﻲ ﺑﺮ آن ﺷﺪه اﺳﺖ ﺗﺎ ﻣﺒﺎﺣﺜﻲ ﻛﻪ ﺑﺮاي ﺗﺪرﻳﺲ درس ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻻزم ﺑﻪ ﺗﺪرﻳﺲ اﺳﺖ ،ﻣﻄﺮح ﮔﺮدﻧﺪ. اﻳﻦ ﻛﺘﺎب ﻣﺸﺘﻤﻞ ﺑﺮ ده ﻓﺼﻞ ﻣﻲ ﺑﺎﺷﺪ. در اﺑﺘﺪاي ﻛﺘﺎب ﻟﻴﺴﺖ ﺳﺮ ﻓﺼﻞ ﻣﻄﺎﻟﺐ ﻗﻴﺪ ﺷﺪه اﺳﺖ .در اﻧﺘﻬﺎي ﻛﺘﺎب ﻣﺠﻤﻮﻋﻪاي از ﺳﺆاﻻت ﺗﺴﺘﻲ ﺑﻪ ﻫﻤﺮاه ﭘﺎﺳﺦ ﻧﺎﻣﻪ اراﺋﻪ ﺷﺪه اﺳﺖ .ﻫﻤﭽﻨﻴﻦ ﺑﻪ ﻣﻨﻈﻮر آﺷﻨﺎﻳﻲ ﺑﻴﺸﺘﺮ ﻋﻼﻗﻤﻨﺪان ﺑﻪ ﺳﺎﺧﺘﺎر ﭘﺎﻳﻪاي زﺑﺎن
SQL
،در ﺿﻤﻴﻤﻪ 2ﻛﺘﺎب ﻣﺘﻦ ﻛﺎﻣﻞ
SQL BNFاراﺋﻪ ﺷﺪه اﺳﺖ. ﻧﻈﺮ ﺑﻪ ﻟﺰوم ﺟﺎﮔﺬاري ﻣﻌﺎدل ﻓﺎرﺳﻲ ﻛﻠﻤﺎت ﺗﺨﺼﺼﻲ ﺑﺮاي راﺣﺘﻲ ﻓﻬﻢ داﻧﺸﺠﻮﻳﺎن دو واژهﻧﺎﻣﻪ ﺑﻪﺻﻮرت اﻧﮕﻠﻴﺴﻲ ﺑﻪ ﻓﺎرﺳﻲ و ﻓﺎرﺳﻲ ﺑﻪ اﻧﮕﻠﻴﺴﻲ در اﻧﺘﻬﺎي ﻛﺘﺎب آﻣﺪه اﺳﺖ .در ﺻﻔﺤﻪ ﭘﺎﻳﺎﻧﻲ ﻛﺘﺎب ﻟﻴﺴﺖ ﻣﻨﺎﺑﻊ و ﻣﺎﺧﺬ ﻧﻴﺰ ﺑﺮاي آﮔﺎﻫﻲ داﻧﺸﺠﻮﻳﺎن اراﺋﻪ ﺷﺪه اﺳﺖ. اﻳﻦ اﺛﺮ ﺑﺎ دﻗﺖ ﻧﻈﺮ ﻓﺮاوان ﻛﺎرﺷﻨﺎﺳﺎن ﻣﺪﻳﺮﻳﺖ ﺗﻮﻟﻴﺪ ﻣﻮاد و ﺗﺠﻬﻴﺰات آﻣﻮزﺷﻲ ﻣﻮرد ارزﻳﺎﺑﻲ ﻗﺮار ﮔﺮﻓﺖ ﻛﻪ ﺑﺪﻳﻨﻮﺳﻴﻠﻪ از ﺟﻨﺎب آﻗﺎي اﻛﺒﺮي ﺑﻪ ﻧﻤﺎﻳﻨﺪﮔﻲ از آن ﻋﺰﻳﺰان ﻗﺪرداﻧﻲ ﻣﻲﻧﻤﺎﻳﻴﻢ. ﻛﺘﺎب ﺣﺎﺿﺮ ﺑﻌﻨﻮان ﻣﻨﺒﻊ درﺳﻲ در داﻧﺸﮕﺎه ﭘﻴﺎمﻧﻮر اﻋﻼم ﺷﺪه ﻛﻪ ﺑﻌﻠﺖ ﻛﻮﺗﺎه ﺑﻮدن زﻣﺎن اﻣﻜﺎن رﻓﻊ ﻛﻠﻴﻪ اﻳﺮادات ﺗﺎﻳﭙﻲ و ﻧﮕﺎرﺷﻲ ﻣﻴﺴﺮ ﻧﺸﺪ .ﻟﺬا از ﻛﻠﻴﻪ ﺻﺎﺣﺐﻧﻈﺮان ،اﺳﺎﺗﻴﺪ و داﻧﺸﺠﻮﻳﺎن ﻣﺤﺘﺮم ﺗﻘﺎﺿﺎ دارد ﻧﻈﺮات ﭘﻴﺸﻨﻬﺎدي ﺧﻮد را در ﺟﻬﺖ اﺻﻼح اﻳﺮادات اﻳﻦ اﺛﺮ ،ﺑﻪ آدرس ﭘﺴﺖ اﻟﻜﺘﺮوﻧﻴﻜﻲ ﻣﻮﻟﻔﻴﻦ ارﺳﺎل ﻓﺮﻣﺎﻳﻨﺪ. در ﭘﺎﻳﺎن از آﻗﺎي ﻣﻬﻨﺪس ﻛﺎﻣﻴﺎر آﻫﻨﻜﻮب ﻛﻪ در ﺗﻨﻈﻴﻢ و ﺗﺪوﻳﻦ ﻛﺘﺎب ﻫﻤﻜﺎري ﺷﺎﻳﺎﻧﻲ داﺷﺘﻪاﻧﺪ ﺳﭙﺎﺳﮕﺰاري ﻣﻲﻛﻨﻴﻢ. ﻧﺎﺻﺮ آﻳﺖ
اﺣﻤﺪ ﻓﺮاﻫﻲ
ayat@pnu.ac.ir
afaraahi@pnu.ac.ir
ﺗﺎﺑﺴﺘﺎن 1386
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﺎرﻳﺨﭽﻪ اي در راﺑﻄﻪ ﺑﺎ ﺑﺤﺚ ﭘﺎﻳﮕﺎه دادهﻫﺎ و ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ ﻣﻄﺮح و ﺳﭙﺲ اﻧﻮاع ﺳﻴﺴﺘﻢﻫﺎي ﭘﺎﻳﮕﺎه داده ﻧﺎم ﺑﺮده ﻣﻲﺷﻮﻧﺪ .در اداﻣﻪ ﺑﻌﻀﻲ از ﻣﻔﺎﻫﻴﻢ ﻛﻠﻴﺪي در ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ .ﺳﭙﺲ ﻣﻔﻬﻮم ﭘﺎﻳﮕﺎهداده ﺑﺼﻮرﺗﻲ دﻗﻴﻖ ﺗﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ .ﺑﺎ ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ،ﻣﺮاﺣﻞ ﻛﺎر در ﻣﺸﻲ ﻓﺎﻳﻠﻴﻨﮓ و ﭘﺎﻳﮕﺎه داده ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ و در ﭘﺎﻳﺎن اﺟﺰاء ﭘﺎﻳﮕﺎه داده ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﮔﺮﻓﺘﻪ و ﺟﺎﻳﮕﺎه ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده ﺑﺮرﺳﻲ ﺧﻮاﻫﺪ ﺷﺪ.
ﻫﺪف رﻓﺘﺎري در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
اﻧﻮاع ﺳﻴﺴﺘﻢﻫﺎي ﭘﺎﻳﮕﺎهداده 1
•
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده
•
اﺻﻄﻼح ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت )ﺷﺎﻣﻞ داده ،اﻃﻼع ،داﻧﺶ و(...
•
ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده
•
ﻣﺮاﺣﻞ ﻛﺎر در روش ﻓﺎﻳﻠﻴﻨﮓ
•
ﻣﺮاﺣﻞ ﻛﺎر در روش ﭘﺎﻳﮕﺎﻫﻲ )1. D at a b a s e M a n a ge me n t Sy s t e m ( D B M S
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
2
•
اﺟﺰاء ﭘﺎﻳﮕﺎهداده
•
ﻣﻔﻬﻮم داده ،ﺳﺨﺖاﻓﺰار و ﻧﺮماﻓﺰار در ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
اﻧﻮاع ﻛﺎرﺑﺮان در ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﺗﻌﺮﻳﻒ ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده و وﻇﺎﻳﻒ آن
-1ﺗﺎرﻳﺨﭽﻪ ﻳﻜﻲ از ﻣﺘﺪاول ﺗﺮﻳﻦ و اﺻﻠﻲ ﺗﺮﻳﻦ اﺻﻄﻼﺣﺎت در ﻣﻘﻮﻟﻪ اﻧﻔﻮرﻣﺎﺗﻴﻚ اﺻﻄﻼح ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﺑﺎﺷﺪ .اﺻﻄﻼح ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ در ﻣﻌﻨﺎي ﻋﺎم ،ﻳﻜﻲ از ﺳﻴﺴﺘﻢ ﻫﺎي ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت اﺳﺖ .ﭘﺲ از ﻃﺮاﺣﻲ ﻧﺴﻞ اوﻟﻴﻪ ﺳﻴﺴﺘﻢ ﻫﺎي ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت ،ﺑﺮاي ﺗﻘﻮﻳﺖ ﻣﻜﺎﻧﻴﺰم ﻫﺎ و اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ ذﺧﻴﺮه، ﺑﺎزﻳﺎﺑﻲ و ﭘﺮدازش داده ﻫﺎ و ﻫﻤﭽﻨﻴﻦ ﺑﻪ ﻣﻨﻈﻮر ﺗﺴﻬﻴﻞ در اﻧﺠﺎم اﻣﻮر ﻓﻮق، ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺷﻜﻞ ﮔﺮﻓﺘﻨﺪ. ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎهدادهﻫﺎ از اواﺳﻂ دﻫﻪ ﺷﺼﺖ ﻣﻴﻼدي و ﺑﻪ ﻣﻨﻈﻮر ﺗﻮﺳﻌﻪ ﺳﻴﺴﺘﻢﻫﺎي ﻓﺎﻳﻠﻴﻨﮓاﻳﺠﺎد ﺷﺪﻧﺪ .ﻃﻮل دﻫﻪ ﻫﻔﺘﺎد ﻣﺪﻟﻬﺎي ﭘﺎﻳﮕﺎهﻫﺎي داده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ و ﺷﺒﻜﻪاي ﺗﻮﺳﻌﻪ ﻳﺎﻓﺘﻪ و ﻣﻮرد اﺳﺘﻔﺎده زﻳﺎدي ﻗﺮار ﮔﺮﻓﺘﻨﺪ .در اواﻳﻞ دﻫﻪ ﻫﺸﺘﺎد ،ﺷﺎﺧﻪاي از آن ﺗﻜﻨﻮﻟﻮژي ﺑﻪ ﻧﺎم ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎي راﺑﻄﻪاي ﻣﻮرد ﺗﻮﺟﻪ ﺑﻴﺸﺘﺮي ﻗﺮار ﮔﺮﻓﺖ و ﺑﻪ ﻋﻨﻮان ﺗﻜﻨﻮﻟﻮژي ﺑﺮﺗﺮ ﺷﻨﺎﺧﺘﻪ ﺷﺪ و ﻫﻢ اﻛﻨﻮن ﻫﻢ ﺑﺴﻴﺎر ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮد .ﻣﻬﻤﺘﺮﻳﺖ ﺧﺼﻴﺼﻪ ﺳﻴﺴﺘﻢﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ،ﻣﺴﺘﻘﻞ ﺷﺪن ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي از ﺟﻨﺒﻪﻫﺎ و ﺧﺼﻮﺻﻴﺎت ﻣﺤﻴﻂ ﻓﻴﺰﻳﻜﻲ ذﺧﻴﺮه ﺳﺎزي اﺳﺖ. از اواﺳﻂ دﻫﻪ ﻫﺸﺘﺎد ﺗﺎﻛﻨﻮن ،ﺳﻴﺴﺘﻢ ﻫﺎي دﻳﮕﺮي ﻫﻢ اﻳﺠﺎد و ﻋﺮﺿﻪ ﺷﺪ از ﺟﻤﻠﻪ: •
ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻌﻤﻮﻟﻲ دادهﻫﺎ
•
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ دادهﻫﺎ و ﺟﺴﺘﺠﻮﻫﺎ
•
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ
1
ﺑﻪ ﻣﺮور زﻣﺎن ﺑﻮاﺳﻄﻪ اﻓﺰاﻳﺶ ﺣﺠﻢ و ﻧﻮع اﻃﻼﻋﺎت ﻧﻴﺎزﻫﺎي ﺟﺪﻳﺪﺗﺮي ﻣﻄﺮح و )1. R el a t i o n a l D a t a ba s e M an a ge me n t S y s t e m ( R D B M S
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
3
ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻣﺘﻨﺎﺳﺐ ﺑﺎ آﻧﻬﺎ ﻧﻴﺰ اراﺋﻪ ﮔﺮدﻳﺪ ﻛﻪ ﻧﻤﻮﻧﻪﻫﺎي آن در ذﻳﻞ آﻣﺪه اﺳﺖ: • •
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داﻧﺶ
1
2
ﺳﻴﺴﺘﻢ ﻣﻌﻨﺎﻳﻲ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ 3
•
ﺳﻴﺴﺘﻢ ﻫﻮﺷﻤﻨﺪ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺷﻴﻲ ﮔﺮا
• •
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎي زﻣﺎﻧﻤﻨﺪ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده ﺑﻼدرﻧﮓ
4
5
6
7
•
ﺳﻴﺴﺘﻢ داده ﻛﺎوي
•
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ
8
اﻣﺎ ﺑﺎﻳﺪ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ اﺷﺎره ﻛﺮد ﻛﻪ ﺑﻴﺸﺘﺮ اﻳﻦ ﺳﻴﺴﺘﻢﻫﺎ در ﻛﺎرﺑﺮدﻫﺎي ﺧﺎﺻﻲ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮﻧﺪ .اﻣﺮوزه ﻧﻮع ﺟﺪﻳﺪي از ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﻨﺎم ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده اﺳﺘﻨﺘﺎﺟﻲ ﺑﺼﻮرت آﻛﺎدﻣﻴﻚ در ﺣﺎل ﻃﺮاﺣﻲ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ اﻟﺒﺘﻪ ﻫﻨﻮز در ﻣﺤﻴﻂ ﻫﺎي ﺗﺠﺎري و ﺻﻨﻌﺘﻲ ﻧﻤﻮدي ﭘﻴﺪا ﻧﻜﺮده اﺳﺖ . ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ آﻧﭽﻪ ﮔﻔﺘﻪ ﺷﺪ ﺷﺎﻳﺪ ﺑﺘﻮان ﺳﻴﺴﺘﻢﻫﺎي ﭘﺎﻳﮕﺎﻫﻲ را ﺑﻪ ﺳﻪ ﻧﺴﻞ زﻳﺮ ﺗﻘﺴﻴﻢ ﻛﺮد: •
ﺳﻴﺴﺘﻢﻫﺎي ﭘﻴﺶ راﺑﻄﻪاي
9
10
•
ﺳﻴﺴﺘﻢﻫﺎي راﺑﻄﻪاي
•
ﺳﻴﺴﺘﻢﻫﺎي ﭘﺲ راﺑﻄﻪاي
11
)1. K n ow l e d ge B a s e M a n a ge me n t Sy s t e m ( K B M S 2. Se ma n t i c Sy s t e m 3. In t e l l i ge n t Sy s t e m 4. O b je c t O r i e n t e d D a t a ba s e M an a ge m e n t Sy s t e m 5. T e mp o r a l D a t a b a s e M a n a ge me n t Sy s t e m 6. R ea l - T i me D a t a b a se M a na ge me n t S y s t e m 7. D at a M i ni n g Sy s t e m 8. M u lt i D at a b a s e M a n a ge me n t Sy s t e m 9. P re R e la t i o n a l Sy s t e ms 10. R el a t i o n a l Sy s t e ms 11. P o st R e la t i o n a l Sy s t e ms
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
4
ﺷﺎﻳﺪ ﺑﺘﻮان ﮔﻔﺖ ﻋﻠﺖ اﺻﻠﻲ ﺗﻔﺎوت ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺎ ﺑﻘﻴﻪ ﺳﻴﺴﺘﻤﻬﺎ در وﺟﻮد ﺳﻴﺴﺘﻢ ﺣﺼﺎري ﻧﻔﻮذ ﻧﺎﭘﺬﻳﺮي ﺑﻪ ﻧﺎم ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده اﺳﺖ ﻛﻪ ﻫﺮ ﮔﻮﻧﻪ دﺳﺘﻴﺎﺑﻲ ﺑﻪ دادهﻫﺎ ﺑﺎﻳﺪ از ﻃﺮﻳﻖ اﻳﻦ ﺳﻴﺴﺘﻢ اﻧﺠﺎم ﺷﻮد .ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده در واﻗﻊ اﻧﻘﻼﺑﻲ در ﺑﺎﻧﻜﻬﺎي اﻃﻼﻋﺎﺗﻲ ﺑﻪ ﺷﻤﺎر ﻣﻲآﻳﺪ .در ﻫﻤﻴﻦ اواﺧﺮ دو ﺗﺤﻮل دﻳﮕﺮ ﻫﻢ در ﺗﻜﻨﻮﻟﻮژي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﭘﺪﻳﺪ
آﻣﺪ: 1
•
ﻃﺮاﺣﻲ واﻳﺠﺎد ﭘﺎﻳﮕﺎهﻫﺎي داده ﺗﻮزﻳﻊ ﺷﺪه ﺗﺤﺖ ﺷﺒﻜﻪﻫﺎي ﻣﺨﺘﻠﻒ
•
ﻃﺮاﺣﻲ واﻳﺠﺎد ﺳﻴﺴﺘﻢﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده ﺑﺮاي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺷﺨﺼﻲ
ﺑﺮاي آﺷﻨﺎ ﺷﺪن ذﻫﻦ ﺧﻮاﻧﻨﺪه ﺗﻌﺮﻳﻒ ﭼﻨﺪ اﺻﻄﻼح ﭘﺎﻳﻪ اي در ﺳﻴﺴﺘﻢ ﻫﺎي ﭘﺎﻳﮕﺎه داده در ذﻳﻞ اراﺋﻪ ﻣﻲ ﮔﺮدد .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺗﻌﺎرﻳﻒ ﻣﺮﺑﻮط ﺑﻪ اﺻﻄﻼﺣﺎت ذﻛﺮ ﺷﺪه، ﺑﻌﻀﺎ در ﻛﺘﺎبﻫﺎي ﻣﺨﺘﻠﻒ ﺑﺎ ﻛﻤﻲ ﺗﻐﻴﻴﺮ ﻧﻮﺷﺘﻪ ﺷﺪه اﻧﺪ .وﻟﻲ ﻣﻔﻬﻮم اﺻﻠﻲ آﻧﻬﺎ ﺑﺴﻴﺎر ﻧﺰدﻳﻚ ﺑﻬﻢ ﻫﺴﺘﻨﺪ .
1-1ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت اﺻﻄﻼح ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت در واﻗﻊ ﺑﻪ ﻣﺠﻤﻮﻋﻪاي از اﻟﮕﻮرﻳﺘﻢ ﻫﺎ و ﺗﻜﻨﻴﻜﻬﺎ اﻃﻼق ﻣﻲ ﮔﺮدد ﻛﻪ در ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﻜﺎر ﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮد و ﺑﻪ ﻛﺎرﺑﺮ اﻣﻜﺎن ﻣﻲ دﻫﺪ ﺗﺎ اﻃﻼﻋﺎت )اﺳﻨﺎد ،ﻣﺪارك ،ﻣﺘﻮن ،اﺻﻮات و ﺗﺼﺎوﻳﺮ و (. . .ﺧﻮد را ذﺧﻴﺮه ﺳﺎزي ،ﺑﺎزﻳﺎﺑﻲ و ﭘﺮدازش ﻛﻨﺪ .اﻳﻦ ﮔﻮﻧﻪ داده ﻫﺎ ﻣﻤﻜﻦ اﺳﺖ ﺳﺎﺧﺘﻤﻨﺪ ،ﻧﻴﻢ ﺳﺎﺧﺘﻤﻨﺪ و ﻳﺎ ﺣﺘﻲ ﻧﺎﺳﺎﺧﺘﻪ ﺑﺎﺷﻨﺪ .
2-1داده اﺻﻄﻼح داده در ﻣﻔﻬﻮم ﻛﻠﻲ ﻋﺒﺎرت اﺳﺖ از ﻧﻤﺎﻳﺶ ذﺧﻴﺮه ﺷﺪه ﻛﻠﻴﻪ ﻣﻮﺟﻮدﻳﺘﻬﺎ، واﻗﻌﻴﺎت و رﺧﺪادﻫﺎ ﻛﻪ در ﺗﺼﻤﻴﻢ ﮔﻴﺮي ﺑﻜﺎر ﻣﻲ آﻳﻨﺪ.
3-1ﺗﻌﺮﻳﻒ داده از دﻳﺪﮔﺎه
ANSI
اﺳﺘﺎﻧﺪارد ANSIﺑﺮاي اﺻﻄﻼح داده ﺗﻌﺎرﻳﻒ زﻳﺮ را اراﺋﻪ ﻛﺮده اﺳﺖ: 1. D i st r i b u t e d D a t a B a s e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
•
5
ﻫﺮ ﻧﻤﺎﻳﺸﻲ ﻛﻪ ﺗﻮﺳﻂ اﻧﺴﺎن ﻳﺎ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﻜﺎﻧﻴﻜﻲ ﺧﻮدﻛﺎر ﻣﻌﻨﺎﻳﻲ ﺑﻪ آن ﻗﺎﺑﻞ اﻧﺘﺴﺎب ﺑﺎﺷﺪ.
•
ﻧﻤﺎﻳﺶ واﻗﻌﻴﺎت ،ﭘﺪﻳﺪهﻫﺎ ،ﻣﻔﺎﻫﻴﻢ ﻳﺎ ﺷﻨﺎﺧﺘﻪﻫﺎ ﺑﻪ ﻃﺮزي ﺻﻮري و ﻣﻨﺎﺳﺐ ﺑﺮاي ﺑﺮﻗﺮاري ارﺗﺒﺎط ،ﺗﻔﺴﻴﺮ ﻳﺎ ﭘﺮدازش ﺗﻮﺳﻂ اﻧﺴﺎن ﻳﺎ ﻫﺮ دﺳﺘﮕﺎه ﺧﻮدﻛﺎر.
•
ﺑﻪ ﻃﻮر ﻛﻠﻲ ﻣﻲﺗﻮان ﮔﻔﺖ ﻛﻪ داده ارزﺷﻬﺎي واﻗﻌﻲ ﻫﺴﺘﻨﺪ ﻛﻪ از ﻃﺮﻳﻖ ﻣﺸﺎﻫﺪه و ﺗﺤﻘﻴﻖ ﺑﺪﺳﺖ ﻣﻲ آﻳﻨﺪ.
4-1اﻃﻼع ﻫﺮ ﻧﻮع داده ﭘﺮدازش ﺷﺪه )ﺳﺎﺧﺖ ﻳﺎﻓﺘﻪ( را اﻃﻼع ﻣﻲ ﻧﺎﻣﻨﺪ .اﻳﻦ ﺗﻌﺮﻳﻒ ﻳﻚ ﺗﻌﺮﻳﻒ ﺑﺴﻴﺎر ﺳﺎده اﺳﺖ ﻛﻪ ﺑﻴﺎﻧﮕﺮ ﺗﻔﺎوت ﺑﻴﻦ دو اﺻﻄﻼح داده و اﻃﻼع اﺳﺖ .وﻟﻲ ﺑﻄﻮر ﻛﻠﻲ ﻣﻲ ﺗﻮان ﮔﻔﺖ اﻃﻼع ﻣﺠﻤﻮﻋﻪ داده ﻫﺎﻳﻲ اﺳﺖ ﻛﻪ در ﺗﺼﻤﻴﻢ ﮔﻴﺮي ﺑﻜﺎر ﻣﻲروﻧﺪ و اﺳﺎﺳﺎً ﻛﻤﻴﺘﻲ اﺳﺖ ﻧﺴﺒﻲ و واﺑﺴﺘﻪ ﺑﻪ وﺿﻌﻴﺖ ﻣﺸﺨﺺ ،زﻣﺎن ﻣﺸﺨﺺ و ﻧﻴﺰ ﺧﻮد ﺷﺨﺺ )ﻳﺎ ﺳﻴﺴﺘﻢ( ﺗﺼﻤﻴﻢ ﮔﻴﺮﻧﺪه .در واﻗﻊ ،ﺷﺨﺺ ﺗﺼﻤﻴﻢ ﮔﻴﺮﻧﺪه ﺑﺎ ﺗﻔﺴﻴﺮ داده ﻫﺎ در ﻳﻚ وﺿﻌﻴﺖ ﻣﺸﺨﺺ اﻃﻼﻋﺎت ﻻزم ﺑﺮاي ﺗﺼﻤﻴﻢ ﮔﻴﺮي را ﺑﻪ دﺳﺖ ﻣﻲ آورد.
5-1ﺗﻌﺮﻳﻒ اﻃﻼع از دﻳﺪﮔﺎه
ANSI
اﺳﺘﺎﻧﺪارد ANSIﺑﺮاي اﺻﻄﻼح اﻃﻼع ﺗﻌﺮﻳﻒ زﻳﺮ را اراﺋﻪ ﻛﺮده اﺳﺖ: ﻣﻌﻨﺎﻳﻲ ﻛﻪ اﻧﺴﺎن از ﻃﺮﻳﻖ ﺗﻮاﻓﻘﺎت و ﻗﺮاردادﻫﺎي ﺷﻨﺎﺧﺘﻪ ﺷﺪه اي ﺑﻪ داده ﻣﻨﺘﺴﺐ ﻣﻲ ﻛﻨﺪ.
6-1داﻧﺶ اﺻﻄﻼح داﻧﺶ ﻋﺒﺎرت اﺳﺖ از ﻧﻤﺎﻳﺶ ﻧﻤﺎدﻳﻦ ﺑﺨﺶ ﻫﺎﻳﻲ از دﻧﻴﺎي واﻗﻌﻲ .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ،داﻧﺶ ﻧﻮﻋﻲ ﺷﻨﺎﺧﺖ اﺳﺖ ﻛﻪ از ﻳﻚ ﻣﺠﻤﻮﻋﻪ از اﻃﻼﻋﺎت ،ﺑﺮاﺳﺎس ﻳﻚ ﻣﺠﻤﻮﻋﻪ از ﻗﻮاﻋﺪ ﻣﺸﺨﺺ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ. ﻧﻜﺘﻪ :1ﺑﻌﻀﻲ از ﺗﺌﻮرﻳﺴﻴﻦ ﻫﺎ داده را ﻫﻤﺎن ﻣﻘﺪار واﻗﻌﺎ ذﺧﻴﺮه ﺷﺪه و اﻃﻼع را ﻣﻌﻨﺎي آن ﻣﻲ داﻧﻨﺪ ،ﺑﻨﺎﺑﺮاﻳﻦ اﻃﻼع و داده ﺑﺎ ﻫﻢ ﻓﺮق دارﻧﺪ ،اﻃﻼع داراي ﺧﺎﺻﻴﺖ ارﺗﺒﺎط دﻫﻨﺪﮔﻲ و اﻧﺘﻘﺎل دﻫﻨﺪﮔﻲ اﺳﺖ درﺣﺎﻟﻴﻜﻪ داده ﻣﺠﺮد اﻳﻦ ﺧﺎﺻﻴﺖ را ﻧﺪارد.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
6
ﻧﻜﺘﻪ :2دادهﻫﺎ ﺣﺎﻟﺖ ﻣﻨﻔﺮد و ﻣﺠﺰا دارﻧﺪ و ﻟﺰوﻣﺎ اﻃﻼﻋﻲ از آﻧﻬﺎ ﺑﺪﺳﺖ ﻧﻤﻲ آﻳﺪ ﻣﮕﺮ اﻳﻨﻜﻪ ﺑﻪ ﻧﺤﻮي ﺑﻬﻢ ﻣﺮﺗﺒﻂ ﺷﻮﻧﺪ و ﻣﻌﻨﺎﻳﻲ ﺑﻪ آﻧﻬﺎ ﻣﻨﺘﺴﺐ ﺷﻮد و ﺑﺎﻳﺪ داﻧﺶ را ﻧﻮﻋﻲ اﻃﻼع ﺳﻄﺢ ﺑﺎﻻﺗﺮ داﻧﺴﺖ در واﻗﻊ ﻫﻢ اﻃﻼع و ﻫﻢ داﻧﺶ ﺣﺎﺻﻞ ﻋﻤﻠﻴﺎﺗﻲ روي داده ﻫﺴﺘﻨﺪ ،وﻟﻲ ﻧﻮع ﻋﻤﻠﻴﺎت ﻻزم ﺑﺮاي ﺣﺼﻮل آﻧﻬﺎ ﻣﺘﻔﺎوت اﺳﺖ .ﺑﺎ اﻳﻦ اوﺻﺎف راﺑﻄﻪ ﺑﻴﻦ ﺳﻪ ﻣﻔﻬﻮم داده ،اﻃﻼع و داﻧﺶ ﺑﺼﻮرت زﻳﺮ ﻗﺎﺑﻞ ﻧﻤﺎﻳﺶ ﻣﻲ ﺑﺎﺷﺪ: داﻧﺶ
ﭘﺮدازش
اﻃﻼع
ﭘﺮدازش
داده
ﺷﻜﻞ 1-1راﺑﻄﻪ ﻧﻤﺎدﻳﻦ ﺑﻴﻦ داده ،اﻃﻼع و داﻧﺶ
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻮﺿﻴﺤﺎﺗﻲ ﻛﻪ در ﺑﺎﻻ اراﺋﻪ ﺷﺪ ،اﻛﻨﻮن ﺗﻮﺿﻴﺤﻲ دﻗﻴﻘﺘﺮ از ﻣﻔﻬﻮم ﭘﺎﻳﮕﺎه داده را اراﺋﻪ ﻣﻲ دﻫﻴﻢ.
-2ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﺎ ﺗﻮﺻﻴﻔﻲ ﺟﺎﻣﻊ ﺗﺮ ،ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از داده ﻫﺎ ﻛﻪ ﺑﺼﻮرت ﻣﺠﺘﻤﻊ و ﺗﺎ ﺣﺪ ﻣﻤﻜﻦ ﺑﺼﻮرت ﻣﺮﺗﺒﻂ ﺑﻬﻢ و ﺑﺎ ﻛﻤﺘﺮﻳﻦ اﻓﺰوﻧﮕﻲ ذﺧﻴﺮه ﺷﺪه اﻧﺪ ﻛﻪ اﻳﻦ ﻣﺠﻤﻮﻋﻪ ﺗﺤﺖ ﻣﺪﻳﺮﻳﺖ ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ ﺑﺮاي اﺳﺘﻔﺎده ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻛﺎرﺑﺮ ﻗﺮار ﮔﺮﻓﺘﻪ اﻧﺪ. ﺷﺎﻳﺪ در ﻧﮕﺎه اول ﺗﻌﺮﻳﻒ اراﺋﻪ ﺷﺪه در ﻣﻮرد ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻛﻤﻲﻣﺒﻬﻢ ﺑﻪ ﻧﻈﺮ ﺑﺮﺳﺪ. در ﺗﺸﺮﻳﺢ ﻛﻠﻲ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻣﻲﺗﻮان ﮔﻔﺖ ﻛﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهداده ﻣﺠﻤﻮﻋﻪاي از دادهﻫﺎي ﺑﻬﻢ واﺑﺴﺘﻪ اﺳﺖ ﻛﻪ از اﻓﺰوﻧﮕﻲ ﺑﻲﺣﺎﺻﻞ و ﻣﻀﺮ ﻣﺒﺮا اﺳﺖ و ﺑﺮاي ﻛﺎرﺑﺮدﻫﺎي ﮔﻮﻧﺎﮔﻮن اﺳﺘﻔﺎده ﻣﻲﺷﻮد .دادهﻫﺎ ﺑﻪ ﮔﻮﻧﻪاي ذﺧﻴﺮه ﺷﺪهاﻧﺪ ﻛﻪ از ﺑﺮﻧﺎﻣﻪﻫﺎﻳﻲ ﻛﻪ آﻧﻬﺎ را ﺑﻪ ﻓﺮﻣﺖ ﻣﻲﮔﻴﺮﻧﺪ ﻣﺴﺘﻘﻞ ﻫﺴﺘﻨﺪ و راه ﻳﺎﻓﺖ ﻣﺸﺘﺮك ﻛﻨﺘﺮل ﺷﺪه ﺑﺮاي درج، ﺣﺬف ،ﺗﻐﻴﻴﺮ و ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎي ﻣﻮﺟﻮد اﺳﺘﻔﺎده ﻣﻲﺷﻮد و دادهﻫﺎ ﺑﻪﮔﻮﻧﻪاي ﺳﺎﺧﺖ ﻳﺎﻓﺘﻪ اﺳﺖ ﻛﻪ ﭘﺎﻳﻪاي ﺑﺮاي ﺗﻮﺳﻌﻪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي آﻳﻨﺪه ﻓﺮاﻫﻢ ﻣﻲﺳﺎزد .اﻳﻦ دادهﻫﺎ ﺗﻮﺳﻂ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻣﺪﻳﺮﻳﺖ ﻣﻲﺷﻮد .ﺑﺎ اﻳﻦ وﺻﻒ ﻣﻲﺗﻮان درﻳﺎﻓﺖ ﻛﻪ ﻫﺮ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
7
ﻣﺠﻤﻮﻋﻪاي از ﻓﺎﻳﻠﻬﺎ ﻳﺎ ﻫﺮ ﻣﺠﻤﻮﻋﻪاي از اﻃﻼﻋﺎت ذﺧﻴﺮه ﺷﺪه ﻟﺰوﻣﺎ ﻳﻚ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻧﻴﺴﺖ. ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻄﺎﻟﺐ ﻓﻮق ﻣﻲﺗﻮان ﭼﻨﻴﻦ ﻧﺘﻴﺠﻪ ﮔﺮﻓﺖ ﻛﻪ ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎ وﺟﻮد ﺣﺪاﻗﻞ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﻪ ﻋﻨﻮان ﺳﻴﺴﺘﻢ واﺳﻄﻪ اﻟﺰاﻣﻲ اﺳﺖ. ﺑﺎرزﺗﺮﻳﻦ ﺑﺮﺗﺮي ﻳﻚ ﭘﺎﻳﮕﺎهداده ﻧﺴﺒﺖ ﺑﻪ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚﻫﺎي داده ﻗﺒﻠﻲ )ﺳﻴﺴﺘﻢﻫﺎي ﻓﺎﻳﻠﻴﻨﮓ( ،ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده ﻣﻲﺑﺎﺷﺪ .ﺑﺎ اﻳﻦ وﺻﻒ ﻻزم اﺳﺖ ﺑﻴﻦ اﺻﻄﻼﺣﺎﺗﻲ ﻣﺎﻧﻨﺪ ﺑﺎﻧﻚ داده ،ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ،ﭘﺎﻳﮕﺎهداده و ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ ﺗﻔﺎوت ﻗﺎﺋﻞ ﺷﻮﻳﻢ. در ﺑﺮرﺳﻲ ﻣﺤﻴﻂ ﻳﻚ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ ﺷﻮد ﻛﻪ ﻣﺤﻴﻂ واﺣﺪ ،ﻣﺠﺘﻤﻊ و ﻣﺸﺘﺮك ذﺧﻴﺮه ﺳﺎزي ﻟﺰوﻣﺎ ﺑﻪ اﻳﻦ ﻣﻌﻨﺎ ﻧﻴﺴﺖ ﻛﻪ ﭼﻨﻴﻦ ﻣﺤﻴﻄﻲ از ﻧﻈﺮ ﻓﻴﺰﻳﻜﻲ و ﻣﺤﻞ ﺟﻐﺮاﻓﻴﺎﻳﻲ واﺣﺪ و ﻳﻜﭙﺎرﭼﻪ اﺳﺖ .ﺑﻠﻜﻪ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎ از ﻟﺤﺎظ ﻣﻨﻄﻘﻲ ،ﻳﻜﭙﺎرﭼﮕﻲ دارد .وﺿﻊ ﭘﺎﻳﮕﺎهدادهﻫﺎ در ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ﺑﺴﺘﮕﻲ ﺑﻪ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ دارد ،ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻣﻲﺗﻮاﻧﺪ در ﻋﻴﻦ واﺣﺪ ﻣﺠﺘﻤﻊ و ﻣﺸﺘﺮك ﺑﻮدن در ﺳﻄﺢ ﻣﻨﻄﻘﻲ ،از ﻧﻈﺮ ﻓﻴﺰﻳﻜﻲ ﻧﺎﻣﺘﻤﺮﻛﺰ و ﺗﻮزﻳﻊ ﺷﺪه ﺑﺎﺷﺪ.
1-2ﺗﻔﺎوتﻫﺎي ﺑﻴﻦ روش ﻓﺎﻳﻠﻴﻨﮓ و روش ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﺳﺌﻮال ﭘﻴﺶ ﺑﻴﺎﻳﺪ ﻛﻪ اﺳﺎﺳﺎً اﺳﺘﻔﺎده از روش ﻓﺎﻳﻠﻴﻨﮓ در ﻃﺮاﺣﻲ ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺑﻪ ﭼﻪ ﺻﻮرت ﺑﻮده و ﭼﻪ ﺗﻔﺎوﺗﻲ ﺑﺎ روش ﭘﺎﻳﮕﺎﻫﻲ دارد .ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع اﺑﺘﺪا روش ﻓﺎﻳﻠﻴﻨﮓ ﺑﺮاي ﻃﺮاﺣﻲ ﺑﺮﻧﺎﻣﻪ ﻫﺎ را ﺑﺼﻮرت ﻛﻠﻲ ﺑﻴﺎن ﻣﻲ ﻛﻨﻴﻢ.
1-1-2ﻣﺮاﺣﻞ ﻛﺎر در روش ﻓﺎﻳﻠﻴﻨﮓ ﺳﻴﺴﺘﻢ ﻣﻮرد درﺧﻮاﺳﺖ ﺑﺮاي ﻣﻜﺎﻧﻴﺰه ﻛﺮدن اﻧﺘﺨﺎب و ﻣﻮرد ﺑﺮرﺳﻲ و ﭘﺮدازش ﻗﺮار ﻣﻲ ﮔﻴﺮد ﺗﺎ ﻣﺸﺨﺼﺎت ﻧﻴﺎزﻫﺎ ﺗﻌﻴﻴﻦ ﮔﺮدد . •
ﻣﺮاﺣﻞ اوﻟﻴﻪ ﻻزم ﺑﺮاي ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ اﻧﺠﺎم ﻣﻲﮔﻴﺮد.
•
ﻣﺸﺨﺼﺎت ﺳﻴﺴﺘﻢ و زﻳﺮ ﺳﻴﺴﺘﻢﻫﺎي اﺣﺘﻤﺎﻟﻲ و وﻇﺎﻳﻒ ﻫﺮ ﻛﺪام از آﻧﻬﺎ ﺗﻌﻴﻴﻦ ﻣﻲﮔﺮدد.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
8
•
ﺗﻌﺪادي ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﺑﺮاي ذﺧﻴﺮه ﺳﺎزي ﻓﺎﻳﻠﻬﺎ ﻃﺮاﺣﻲ ﻣﻲﮔﺮدد .اﻳﻦ ﻓﺎﻳﻠﻬﺎ ﻣﻌﻤﻮﻻً ﺑﻪ ﺻﻮرت ﻣﻨﻔﺮد در ﺳﻄﺢ ﺳﻴﺴﺘﻢ ﻃﺮاﺣﻲ ﻣﻲﮔﺮدﻧﺪ.
•
ﺑﺮﻧﺎﻣﻪ ﻣﻮرد درﺧﻮاﺳﺖ ﺑﺎ اﺳﺘﻔﺎده از ﻳﻚ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺗﻬﻴﻪ ﻣﻲﮔﺮدد. ﺑﺮﻧﺎﻣﻪ ﻣﻮرد ﻧﻈﺮ ﺑﻪ ﻫﻤﺮاه ﺑﺮﻧﺎﻣﻪﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ ﻓﺎﻳﻞﻫﺎ اﻃﻼﻋﺎﺗﻲ ،ﻣﺠﻤﻮﻋﻪ ﻧﺮماﻓﺰاري ﺳﻴﺴﺘﻢ را ﭘﻮﺷﺶ ﻣﻲدﻫﻨﺪ.
•
ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻛﺎﻣﻞ ﺷﺎﻣﻞ ﻧﺮماﻓﺰار و ﺳﺨﺖاﻓﺰار و اﺣﺘﻤﺎﻻ ﻣﻜﺎﻧﻴﺰﻣﻲﺟﻬﺖ ﺑﺮﻗﺮاري ارﺗﺒﺎط ﺑﻴﻦ ﭼﻨﺪ ﺳﺨﺖاﻓﺰار ﻓﺮاﻫﻢ ﻣﻲﮔﺮدد.
•
ﻣﺠﻤﻮﻋﻪاي از ﺗﺴﺖﻫﺎ ﺟﻬﺖ ﺑﺮرﺳﻲ ﻫﺮ زﻳﺮ ﺳﻴﺴﺘﻢ و در ﻧﻬﺎﻳﺖ ﺑﺮرﺳﻲ ﻛﻞ ﺳﻴﺴﺘﻢ اﻋﻤﺎل ﻣﻲﮔﺮدد.
ﺑﺎ اﻳﻦ وﺻﻒ ﺑﻪ راﺣﺘﻲ ﻣﻲ ﺗﻮان درﻳﺎﻓﺖ ﻛﻪ در روش ﻓﺎﻳﻠﻴﻨﮓ ،داده ﻫﺎ در واﻗﻊ ﭼﻨﺪ ﻣﺠﻤﻮﻋﻪ ﻣﺠﺰا و ﻧﺎﻣﺠﺘﻤﻊ )از ﻟﺤﺎظ ﻣﻨﻄﻘﻲ و ﻓﻴﺰﻳﻜﻲ( و ﺗﺎ ﺣﺪود زﻳﺎدي ﻧﺎﻣﺮﺗﺒﻂ ﺑﺎ ﻫﻢ و ﺑﺪون ﻣﺪﻳﺮﻳﺖ ﻣﺘﻤﺮﻛﺰ ﺧﻮاﻫﻨﺪ ﺑﻮد .ﻧﻤﺎﻳﻲ از روش ﻓﺎﻳﻠﻴﻨﮓ در ﺷﻜﻞ 2 -1 آﻣﺪه اﺳﺖ.
2-1-2ﻣﺮاﺣﻞ ﻛﺎر در روش ﭘﺎﻳﮕﺎﻫﻲ ﺑﺎ ﻋﻨﺎﻳﺖ ﺑﻪ روش ﻛﺎر در ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ ،در اداﻣﻪ ﻣﺮاﺣﻞ ﻛﺎر در روش ﭘﺎﻳﮕﺎﻫﻲ ﻣﻌﺮﻓﻲ ﻣﻲ ﮔﺮدد. •
ﻛﻠﻴﻪ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ و ﭘﺮدازﺷﻲ ﻣﺠﻤﻮﻋﻪ ﻣﻮرد ﻧﻈﺮ ﺑﺼﻮرت ﻳﻜﭙﺎرﭼﻪ ﻣﻮرد ﻣﻄﺎﻟﻌﻪ و ﺗﺤﻠﻴﻞ ﻗﺮار ﻣﻲﮔﻴﺮد .دادهﻫﺎي ﻣﻮرد ﻧﻈﺮ ،ﻣﺪل ﺳﺎزي ﻣﻲﮔﺮدﻧﺪ و ﻣﺸﺨﺼﺎت ﺳﻴﺴﺘﻢ و وﻇﺎﻳﻒ آن ﺑﺼﻮرت ﺟﺎﻣﻊ ﺗﻌﻴﻴﻦ ﻣﻲﮔﺮدﻧﺪ.
•
ﻳﻚ ﻳﺎ ﭼﻨﺪ ﭘﺎﻳﮕﺎهداده ﺑﻌﻨﻮان ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﻣﺘﻤﺮﻛﺰ اﻧﺘﺨﺎب ﻣﻲﮔﺮدد. ﻃﺮاﺣﻲﻫﺎي ﻻزم در ﺳﻄﻮح ﻣﺨﺘﻠﻒ ﭘﺎﻳﮕﺎهداده ﺗﻌﺮﻳﻒ و ﻃﺮاﺣﻲ ﻣﻲﮔﺮدﻧﺪ.
•
واﺳﻂﻫﺎي ﻣﻮرد ﻧﻈﺮ ﺑﺮاي ﻛﺎرﺑﺮان واﺣﺪﻫﺎي ﻣﺨﺘﻠﻒ )و ﺑﻌﻀﺎ ﻣﺪﻳﺮان ﺳﻴﺴﺘﻢ( ﻃﺮاﺣﻲ ﻣﻲﮔﺮدﻧﺪ.
•
ﺗﺴﺖﻫﺎي ﻻزم ﺑﺮ روي ﻗﺴﻤﺖﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ اﻋﻤﺎل ﻣﻲﮔﺮدﻧﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
9
ﺷﻜﻞ 2-1ﻧﻤﺎي ﻛﻠﻲ از روش ﻓﺎﻳﻠﻴﻨﮓ
ﺑﺎ اﻳﻦ وﺻﻒ ﻣﻲ ﺗﻮان ﻣﺸﺎﻫﺪه ﻛﺮد ﻛﻪ اﺳﺎس روش ﻓﺎﻳﻠﻴﻨﮓ ﺑﺮ ﻣﺒﻨﺎي ﺳﺎﺧﺘﺎر اﻃﻼﻋﺎﺗﻲ ﻳﻜﭙﺎرﭼﻪ ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ و ﻣﺒﻨﺎي ﻛﺎر ﻣﺪﻳﺮﻳﺖ ﻳﻚ ﭘﺎرﭼﻪ و ﻣﺘﻤﺮﻛﺰ داده ﻫﺎ ﻣﻲ ﺑﺎﺷﺪ .ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﺷﻤﺎﻳﻲ از روش ﭘﺎﻳﮕﺎﻫﻲ در ﺷﻜﻞ 3-1 آﻣﺪه اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
10
ﺷﻜﻞ 3-1ﺷﻤﺎﻳﻲ از روش ﭘﺎﻳﮕﺎﻫﻲ
2-2اﺟﺰاء ﭘﺎﻳﮕﺎهداده ﻫﻤﺎﻧﮕﻮﻧﻪ ﻛﻪ در ﺷﻜﻞ زﻳﺮ ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد ﻫﺮ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده از ﭼﻬﺎر ﺟﺰء اﺳﺎﺳﻲ ﺗﺸﻜﻴﻞ ﻣﻲ ﺷﻮد: •
دادهﻫﺎ
•
ﺳﺨﺖاﻓﺰار
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
11
•
ﻧﺮماﻓﺰار
•
ﻛﺎرﺑﺮ ﺳﺨﺖ اﻓﺰار ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ D B M S
دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در
ﻛﺎرﺑﺮ 1
ﻛﺎرﺑﺮ 2
ﺳﺨﺖ اﻓﺰار .
ﺳﺨﺖ اﻓﺰار ذﺧﻴﺮه ﺳﺎزي و ﭘﺮدازش
ﻛﺎرﺑﺮn
ﺷﻜﻞ 4-1ﺷﻤﺎي ﺗﺼﻮﻳﺮي ارﺗﺒﺎط ﺑﻴﻦ اﺟﺰاء ﭘﺎﻳﮕﺎهداده
ﺷﻜﻞ 4-1ﻳﻚ ﻧﻤﺎي ﻛﻠﻲ از اﺟﺰاء ﻣﻌﺮﻓﻲ ﺷﺪه ﺑﻪ ﻫﻤﺮاه ﻧﺤﻮه ارﺗﺒﺎط ﺑﻴﻦ آﻧﻬﺎ را ﻧﺸﺎن ﻣﻲ دﻫﺪ .در اداﻣﻪ ﻫﺮ ﻳﻚ از اﺟﺰاء ﻣﺬﻛﻮر ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ.
1-2-2دادهﻫﺎ 1
ﻳﻚ ﭘﺎﻳﮕﺎه داده ﮔﻨﺠﻴﻨﻪ اي از داده ﻫﺎ اﺳﺖ ﻛﻪ در ﻛﻞ ﻣﺠﺘﻤﻊ ﺷﺪه و ﺑﻪ اﺷﺘﺮاك ﮔﺬاﺷﺘﻪ ﺷﺪه
2
اﺳﺖ .ﻣﻨﻈﻮر از ﻣﺠﺘﻤﻊ ﺷﺪﮔﻲ ،اﺗﺤﺎد ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ داده ﺑﻪ ﺻﻮرت
ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ ﻛﻪ آن را ﺑﻪ ﻧﺎم ﭘﺎﻳﮕﺎه داده ﻣﻲ ﺷﻨﺎﺳﻴﻢ و ﺑﻪ ﻫﻤﻴﻦ ﻋﻠﺖ اﺳﺖ ﻛﻪ ﺗﻤﺎم آن اﻓﺰوﻧﮕﻲ ﻫﺎ ﻛﻪ در ﺳﻴﺴﺘﻢ ﭘﺮدازش ﻓﺎﻳﻠﻬﺎ وﺟﻮد داﺷﺖ از ﻣﻴﺎن ﻣﻲرود .ﻣﻨﻈﻮر از ﻣﺸﺘﺮك ﺑﻮدن ﭘﺎﻳﮕﺎه دادهﻫﺎ اﻳﻦ اﺳﺖ ﻛﻪ اﻃﻼﻋﺎت ﻣﻮﺟﻮد در ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﻴﻦ 1. In t e gr a t e d 2. Sh a r e d
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
12
اﺳﺘﻔﺎده ﻛﻨﻨﺪﮔﺎن ﻣﺨﺘﻠﻒ ﺑﻪ اﺷﺘﺮاك ﮔﺬاﺷﺘﻪ ﻣﻲ ﺷﻮد .دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﻳﻚ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻋﺒﺎرﺗﻨﺪ
از:
•
دادهﻫﺎي ﻛﺎرﺑﺮان
•
دادهﻫﺎي ﺳﻴﺴﺘﻤﻲ
2-2-2ﺳﺨﺖاﻓﺰار ﻳﻚ ﭘﺎﻳﮕﺎه داده ﺟﻬﺖ اﺳﺘﻘﺮار ﺑﻪ ﻣﺠﻤﻮﻋﻪ ﻣﻨﺎﺳﺒﻲ از ﺗﺠﻬﻴﺰات ﺳﺨﺖ اﻓﺰاري ﻧﻴﺎز دارد .ﺳﺨﺖ اﻓﺰار ﻫﺎ ﺑﻪ ﺳﻪ دﺳﺘﻪ ﺗﻘﺴﻴﻢ ﻣﻲ ﮔﺮدﻧﺪ: •
ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ
•
ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ
•
ﺳﺨﺖاﻓﺰار ﺑﺮﻗﺮار ﻛﻨﻨﺪه ارﺗﺒﺎط
در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮ ﻳﻚ از اﻧﻮاع ﺳﺨﺖ اﻓﺰارﻫﺎ در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ:
-1ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ ﻣﻨﻈﻮر ﻫﻤﺎن رﺳﺎﻧﻪ ﻫﺎي ذﺧﻴﺮه ﺳﺎزي ﺧﺎرﺟﻲ اﺳﺖ وﻟﻲ ﺑﺎﻳﺪ داﻧﺴﺖ ﻛﻪ رﺳﺎﻧﻪ اﺻﻠﻲ ذﺧﻴﺮه ﺳﺎزي دﻳﺴﻚ اﺳﺖ ،ﺳﺎﻳﺮ رﺳﺎﻧﻪ ﻫﺎي ذﺧﻴﺮه ﺳﺎزي ﻣﺎﻧﻨﺪ ﻧﻮار ﻣﻐﻨﺎﻃﻴﺴﻲ در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه دادهﻫﺎ ﻛﺎرﺑﺮد دارد وﻟﻲ ﻧﻪ ﺑﻪ ﻋﻨﻮان رﺳﺎﻧﻪ اﺻﻠﻲ ،ﺑﻠﻜﻪ ﺑﻪ ﺻﻮرت رﺳﺎﻧﻪ ﻛﻤﻜﻲ ﺑﺮاي ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن و ﻓﺎﻳﻠﻬﺎي ﺛﺒﺖ ﺗﺮاﻛﻨﺶ ﻫﺎ ﻳﺎ ﻓﺎﻳﻠﻬﺎ روﻳﺪادﻧﮕﺎري.
-2ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ ﻣﻨﻈﻮر ﺧﻮد ﻛﺎﻣﭙﻴﻮﺗﺮ اﺳﺖ .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺑﺮاي ﭘﺎﻳﮕﺎهﻫﺎي داده ﺑﺎ ﻣﻌﻤﺎري ﺧﺎص و ﻳﺎ ﺑﺴﻴﺎر ﺣﺠﻴﻢ ،از اﻧﻮاع ﺧﺎﺻﻲ از ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺑﺎ ﺳﺨﺖ اﻓﺰارﻫﺎي ﺧﺎص و ﻧﻮع ﭘﺮدازش ﺧﺎص اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد.
-3ﺳﺨﺖاﻓﺰار ﺑﺮﻗﺮار ﻛﻨﻨﺪه ارﺗﺒﺎط
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
13
ﻣﻨﻈﻮر از ﺳﺨﺖ اﻓﺰار ﺑﺮﻗﺮار ﻛﻨﻨﺪه ارﺗﺒﺎط ،ﺳﺨﺖ اﻓﺰار ارﺗﺒﺎﻃﻲ ﺑﻴﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ و دﺳﺘﮕﺎه ﻫﺎي ﺟﻨﺒﻲ و ﻧﻴﺰ ﺑﻴﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻫﺎﺳﺖ .اﻳﻦ اﻣﻜﺎﻧﺎت ﺑﻪ دو دﺳﺘﻪ ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮﻧﺪ: •
اﻣﻜﺎﻧﺎت ﻣﺤﻠﻲ :ﺑﺮاي اﻳﺠﺎد ارﺗﺒﺎط ﺑﻴﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ و دﺳﺘﮕﺎهﻫﺎي ﺟﻨﺒﻲ آن در ﻳﻚ ﺳﺎﻳﺖ ﺑﻪ ﻛﺎر ﻣﻲرود.
•
اﻣﻜﺎﻧﺎت ﺷﺒﻜﻪاي :دراﻳﺠﺎد ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺑﺎ ﻣﻌﻤﺎري ﻧﺎ ﻣﺘﻤﺮﻛﺰ ﺑﻪ ﻛﺎر ﻣﻲرود.
ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﭘﺎﻳﮕﺎه ﻫﺎي داده را ﺑﺮ اﺳﺎس ﻧﮕﺎه ارﺗﺒﺎﻃﻲ دﺳﺘﻪ ﺑﻨﺪي ﻛﻨﻴﻢ ،اﻧﻮاع ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد: •
ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺖ ﮔﺰار 2
•
ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ
•
ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه
•
ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي
• •
3
ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ ﻣﻌﻤﺎري ﻣﻮﺑﺎﻳﻞ
1
4
5
6
3-2-2ﻧﺮماﻓﺰار ﺑﻴﻦ دادهﻫﺎﻳﻲ ﻛﻪ ﺑﻪ ﺻﻮرت ﻓﻴﺰﻳﻜﻲ روي دﺳﺘﮕﺎه ﻫﺎي ذﺧﻴﺮه ﺳﺎزي ﻣﻨﺎﺳﺐ اﺳﺘﻘﺮار ﻣﻲ ﻳﺎﺑﺪ و ﭘﺎﻳﮕﺎه دادهﻫﺎ را ﺑﻪ وﺟﻮد ﻣﻲ آورﻧﺪ و اﺳﺘﻔﺎده ﻛﻨﻨﺪﮔﺎن ﻳﻚ ﻻﻳﻪ ﻧﺮم اﻓﺰاري ﻗﺮار ﻣﻲ ﮔﻴﺮد ﻛﻪ آن را ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ) (DBMSﻣﻲ ﻧﺎﻣﻨﺪ .ﺗﻤﺎم ﺗﻘﺎﺿﺎ ﺑﺮاي اﺳﺘﻔﺎده از اﻃﻼﻋﺎت ﭘﺎﻳﮕﺎه داده از ﻃﺮﻳﻖ اﻳﻦ ﺳﻴﺴﺘﻢ ﺳﻴﺮ ﻣﻲ ﺷﻮد و ﺑﺎزﻳﺎﺑﻲ داده ﻫﺎ روي ﺳﺨﺖ اﻓﺰارﻫﺎﻳﻲ ﺻﻮرت ﻣﻲ ﮔﻴﺮد .ﻧﺮم اﻓﺰارﻫﺎ ﺧﻮد ﺑﻪ دو دﺳﺘﻪ ﺗﻘﺴﻴﻢ 1. C li e n t - Se r ve r Ar c h i t e c t u r e 2. C e nt r a l i z e d Ar c h i t e c t u r e 3. D i st r i b u t e d Ar c h i t e c t u r e 4. P ar a l l e l P r o c e s si n g Ar c h i t e c t u r e 5. M u lt i D at a b a s e Ar c h i t e c t u r e 6. M o bi l e Ar c h i t e c t ur e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
14
ﻣﻲ ﺷﻮﻧﺪ: ﻧﺮماﻓﺰار ﻛﺎرﺑﺮدي
•
• ﻧﺮماﻓﺰار ﺳﻴﺴﺘﻤﻲ در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮ ﻳﻚ از اﻧﻮاع ﻧﺮم اﻓﺰارﻫﺎ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ:
-1ﻧﺮماﻓﺰار ﻛﺎرﺑﺮدي ﻧﺮم اﻓﺰاري اﺳﺖ ﻛﻪ ﻛﺎرﺑﺮ ﺑﺎﻳﺪ ﺑﺮاي ﺗﻤﺎس ﺑﺎ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ آﻣﺎده ﻛﻨﺪ .اﻳﻦ 1
ﻧﺮم اﻓﺰار ﺑﻪ ﻛﻤﻚ ﻳﻚ زﺑﺎن ﺳﻄﺢ ﺑﺎﻻ و ﻳﻚ زﺑﺎن دادهﻳﻲ و ﺑﺮﺧﻲ ﺗﺴﻬﻴﻼت ﻧﺮم اﻓﺰاري ﺑﺮاي ﺗﻤﺎس ﺑﺎ ﺑﺎﻧﻚ ﺳﺎﺧﺘﻪ ﻣﻲ ﺷﻮد .
-2ﻧﺮماﻓﺰار ﺳﻴﺴﺘﻤﻲ اﻳﻦ ﻧﻮع ﻧﺮم اﻓﺰار از دو ﻗﺴﻤﺖ ﻧﺮم اﻓﺰار ﺳﻴﺴﺘﻤﻲ ﺧﺎص ﺑﺎﻧﻚ ﻛﻪ در اﻳﻨﺠﺎ ﺑﻪ آن DBMS
ﻣﻲ ﮔﻮﻳﻴﻢ و ﻧﺮم اﻓﺰار ﺳﻴﺴﺘﻤﻲﻋﻤﻮﻣﻲ )ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ( ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ.
) (DBMSدر ﻳﻚ ﺗﻌﺮﻳﻒ ﺳﺎده ،ﺳﻴﺴﺘﻤﻲ اﺳﺖ ﻛﻪ ﺑﻪ ﻛﺎرﺑﺮان اﻣﻜﺎن ﻣﻲ دﻫﺪ ﻋﻤﻠﻴﺎت ﻣﻮرد ﻧﻈﺮﺷﺎن را )ﻣﺎﻧﻨﺪ ﺗﻌﺮﻳﻒ دادهﻫﺎ ،ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎ ،ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ( اﻧﺠﺎم دﻫﻨﺪ.
DBMS
ﻛﻪ ﻧﺮم اﻓﺰاري ﭘﻴﭽﻴﺪه اﺳﺖ ﻣﻴﻬﻤﺎن ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ اﺳﺖ و از
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ در اﻧﺠﺎم وﻇﺎﻳﻔﺶ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﺪ .
4-2-2ﻛﺎرﺑﺮ ﻫﺮ اﺳﺘﻔﺎده ﻛﻨﻨﺪه از ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎ را ﻛﺎرﺑﺮ ﻣﻲ ﮔﻮﻳﻨﺪ .ﻛﺎرﺑﺮان ﭘﺎﻳﮕﺎه داده را ﻣﻲ ﺗﻮان ﺑﻪ ﺳﻪ ﮔﺮوه اﺳﺎﺳﻲ و ﻣﺘﻔﺎوت ﺗﻘﺴﻴﻢ ﻧﻤﻮد: •
ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﺎن ﻛﺎرﺑﺮدي
•
ﻛﺎرﺑﺮان واﻗﻌﻲ ﻳﺎ ﻧﻬﺎﻳﻲ
•
ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ
1. D at a La n gu a ge
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
15
-1ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﺎن ﻛﺎرﺑﺮدي
1
اﻓﺮادي ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺎ اﻃﻼﻋﺎﺗﻲ ﻛﻪ در ﻣﻮرد ﭘﺎﻳﮕﺎهداده ﭘﻴﺪا ﻣﻲ ﻛﻨﻨﺪ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻣﻨﺎﺳﺒﻲ ﺟﻬﺖ ﺑﺮوز ﻛﺮدن اﻃﻼﻋﺎت و ﻳﺎ اﺳﺘﻔﺎده از اﻃﻼﻋﺎت ﻣﻮﺟﻮد در ﭘﺎﻳﮕﺎه داده ﺗﻬﻴﻪ ﻧﻤﺎﻳﻨﺪ .
-2ﻛﺎرﺑﺮان واﻗﻌﻲ ﻳﺎ ﻧﻬﺎﻳﻲ
2
اﻓﺮادي ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از اﻣﻜﺎﻧﺎﺗﻲ ﻛﻪ ﭘﺎﻳﮕﺎه داده در اﺧﺘﻴﺎر آﻧﻬﺎ ﻗﺮار ﻣﻲ دﻫﺪ ﻣﻲ ﺗﻮاﻧﻨﺪ اﻣﻮر ﻣﺮﺑﻮط ﺑﻪ ﺧﻮد و ﻣﻮﺳﺴﻪ و ﺳﺎزﻣﺎن را اﻧﺠﺎم دﻫﻨﺪ .
-3ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده
3
ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده ﻣﺴﺌﻮﻟﻴﺖ ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ ﺳﺎزﻣﺎن ﺑﺮ داده ﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ را ﺑﺮ ﻋﻬﺪه دارد .اﮔﺮ ﺑﺨﻮاﻫﻴﻢ وﻇﺎﻳﻒ DBAرا ﺑﻪ ﻃﻮر ﺟﺰﺋﻲ ﻃﺮاﺣﻲ ﻛﻨﻴﻢ ﻋﺒﺎرﺗﻨﺪ از: •
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد دادهﻫﺎﻳﻲ ﻛﻪ در ﭘﺎﻳﮕﺎهداده ﻧﮕﻬﺪاري ﻣﻲﺷﻮﻧﺪ.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ذﺧﻴﺮه ﺳﺎزي و روش دﺳﺘﻴﺎﺑﻲ اﺳﺖ.
•
ارﺗﺒﺎط ﺑﺎ ﻛﺎرﺑﺮان ﺑﺮاي ﺣﺼﻮل اﻃﻤﻴﻨﺎن از ﺑﺮآورده ﺷﺪن ﻧﻴﺎزﻫﺎي آﻧﺎن.
•
5
4
ﺗﻌﺮﻳﻒ ﺑﺮرﺳﻲﻫﺎي ﻣﺮﺑﻮط ﺑﻪ اﻣﻨﻴﺖ وﺟﺎﻣﻌﻴﺖ )ﺻﺤﺖ ﻋﻤﻠﻴﺎت دادهﻫﺎ(. 6
•
ﺗﻌﺮﻳﻒ اﺳﺘﺮاﺗﮋي اﺧﺬ ﻧﺴﺨﻪ ﭘﺸﺘﻴﺒﺎﻧﻲ و ﺗﺮﻣﻴﻢ .
•
ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻜﺮد ﺳﻴﺴﺘﻢ و ﭘﺎﺳﺨﮕﻮﻳﻲ ﺑﻪ ﻧﻴﺎزﻫﺎي در ﺣﺎل ﺗﻐﻴﻴﺮ.
ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ اﻣﺮوزه ﺑﺎ ﭘﻴﭽﻴﺪه ﺗﺮ ﺷﺪن ﭘﺎﻳﮕﺎه ﻫﺎي داده و ﺣﺠﻴﻢ ﺗﺮ ﺷﺪن داده ﻫﺎ ،ﻣﻌﻤﻮﻻً ﭼﻨﺪ ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده ﭘﺎﻳﮕﺎه داده ﻫﺎ
)(Senior DBA
)(Junior DBA
ﺗﺤﺖ ﻧﻈﺮ ﻳﻚ ﻣﺪﻳﺮ اﺻﻠﻲ
ﻗﺮار ﮔﺮﻓﺘﻪ و ﻫﺮ ﻳﻚ ﻣﺴﺌﻮﻟﻴﺖ ﻳﻚ ﻗﺴﻤﺖ را ﺑﺮ ﻋﻬﺪه
دارﻧﺪ. 1. Ap p l i c a t i o n P r o gr a mme r ) 2. E n d U s e r ( R ea l U se r 3. D at a b a s e Ad mi n i s t r a t o r 4 . Se c u r i t y 5 . In t e gr i t y 6 . R e c o ve r y
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
16
ﺗﻤﺮﻳﻨﺎت .1ﻣﻔﺎﻫﻴﻢ داده ،اﻃﻼع و داﻧﺶ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .2ﭘﺎﻳﮕﺎهداده را ﺗﻌﺮﻳﻒ ﻧﻤﺎﻳﻴﺪ ؟ .3ﻋﻨﺎﺻﺮ اﺳﺎﺳﻲ ﻳﻚ ﭘﺎﻳﮕﺎهداده را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .4اﻧﻮاع ﺗﺠﻬﻴﺰات ﺳﺨﺖاﻓﺰاري ﻣﻮرد ﻧﻴﺎز ﺑﺮاي ﻳﻚ ﭘﺎﻳﮕﺎهداده را در ﺣﺎﻟﺖ ﻛﻠﻲ ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .5اﻧﻮاع ﻛﺎرﺑﺮان اﺳﺘﻔﺎده ﻛﻨﻨﺪه از ﻳﻚ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهداده را در ﺣﺎﻟﺖ ﻛﻠﻲ ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" # ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ ﺑﺎ ﻣﻔﻬﻮم ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ آﺷﻨﺎ ﺧﻮاﻫﻴﻢ ﺷﺪ و دو روش ﻣﺪل ﺳﺎزي ﻣﻮﺟﻮدﻳﺖ -ارﺗﺒﺎط
)(ER
1
و ﻣﻮﺟﻮدﻳﺖ -ارﺗﺒﺎط ﺗﻮﺳﻌﻪ ﻳﺎﻓﺘﻪ
)(ERR
2
را ﻣﻮرد
ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد .در ﺑﺤﺚ ﻣﺪل ﺳﺎزي ﺑﻪ روش ،ERﺑﺎ ﻣﻔﺎﻫﻴﻢ ﻣﻮﺟﻮدﻳﺖ ،ﺻﻔﺎت و ارﺗﺒﺎط آﺷﻨﺎ ﺷﺪه و ﺳﭙﺲ ﻧﺤﻮه رﺳﻢ ﻧﻤﻮدار را در اﻳﻦ روش ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد و ﭘﺲ از آن ﻣﺸﻜﻼت روش در اداﻣﻪ ﻣﺪل ﺳﺎزي ﺑﻪ روش
ERR
ER
را ﺷﺮح ﺧﻮاﻫﻴﻢ داد.
را ﺗﻮﺿﻴﺢ داده و ﻣﻄﺎﻟﺒﻲ در ﺧﺼﻮص ﻧﺤﻮه
ﭘﻮﺷﺶ ﻣﺒﺎﺣﺚ ﺷﻲ ﮔﺮاﻳﻲ در اﻳﻦ روش را ﺑﺮﺧﻮاﻫﻴﻢ ﺷﻤﺮد.
ﻫﺪف رﻓﺘﺎري در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ
•
ﻣﺪل ﺳﺎزي ﺑﻪ روش
•
ﻧﻮع ﻣﻮﺟﻮدﻳﺖ
•
ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ
•
ﺣﺎﻻت ﻳﻚ ﻣﻮﺟﻮدﻳﺖ
ER
)1. E nt i t y Re l a t i o n s hi p ( E R )2. E xt e n d e d ( E n h a n c ed ) E nt i t y R e l a t i on s h i p ( E E R
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
18
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﺻﻔﺎت ﻳﻚ ﻣﻮﺟﻮدﻳﺖ
•
ارﺗﺒﺎط
•
ﻧﻮع ارﺗﺒﺎط
•
ﻧﻤﻮدار
•
درﺟﻪ و ﻣﺎﻫﻴﺖ ﻧﻮع ارﺗﺒﺎط
•
ﺣﺪ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ
•
ﻣﺸﻜﻼت روش
•
ﻣﺪل ﺳﺎزي ﺑﺎ روش
•
ﺗﺠﺰﻳﻪ و ﺗﺮﻛﻴﺐ
•
ﺗﺨﺼﻴﺺ و ﺗﻌﻤﻴﻢ
•
زﻳﺮ ﻧﻮعﻫﺎي ﻫﻤﭙﻮﺷﺎ و ﻣﺠﺰا
•
دﺳﺘﻪ ﺑﻨﺪي و وراﺛﺖ
•
ﺗﺠﻤﻊ
ER
ER EER
-1ﻣﺪﻟﺴﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ
1
ﻛﺎرﺑﺮان ﭘﺎﻳﮕﺎه داده ﺑﻪ ﻃﻮر ﻣﻌﻤﻮل ﺑﺎ داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎه داده ﺳﺮ و ﻛﺎر دارﻧﺪ ﻛﻪ اﺻﻄﻼﺣﺎ ﺑﻪ آﻧﻬﺎ داده ﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ ﻣﻲ ﮔﻮﻳﻨﺪ .ﻳﻜﻲ از ﻧﻜﺎت ﻣﻬﻢ در ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ آﻧﻬﺎ ﻣﻲ ﺑﺎﺷﺪ .ﻳﻌﻨﻲ داده ﻫﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ در ﭘﺎﻳﮕﺎه داده ﻫﺎ اﺑﺘﺪا ﺑﺎﻳﺪ در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ اﻧﺘﺰاع ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ ﺷﻮﻧﺪ .ﺣﺎل ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﺳﺌﻮال ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ ﺑﻪ ﭼﻪ ﻣﻌﻨﻲ اﺳﺖ. ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ ﻋﺒﺎرت اﺳﺖ از اراﺋﻪ ﻣﺪﻟﻲ از ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ 2ﺑﻪ ﻛﻤﻚ ﻣﻔﺎﻫﻴﻤﻲﻣﺴﺘﻘﻞ از ﻣﻮﺿﻮﻋﺎت ﻣﺮﺑﻮط ﺑﻪ ﻧﻤﺎﻳﺶ ﻣﻨﻄﻘﻲ و ﻓﻴﺰﻳﻜﻲ دادهﻫﺎ .ﻣﺪل ﺳﺎزي 3
ﻣﻌﻨﺎﻳﻲ را در ﺑﻌﻀﻲ از ﻛﺘﺐ ﻃﺮاﺣﻲ ادراﻛﻲ ﻧﻴﺰ ﻣﻲﻧﺎﻣﻨﺪ .ﺑﺮاي ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ روشﻫﺎي ﻣﺨﺘﻠﻒ وﺟﻮد دارد .روشﻫﺎي ﻛﻼﺳﻴﻚ راﻳﺞ ﻋﺒﺎرﺗﻨﺪ از: 1. Se ma n t i c D a t a M o d e l i n g 2 . O pe r a t i o n a l E n vi r o n me n t 3. C o nc e p t u a l D e s i gn
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" # •
روش ﻣﻮﺟﻮدﻳﺖ -ارﺗﺒﺎط
•
روش ﻣﻮﺟﻮدﻳﺖ -ارﺗﺒﺎط ﺗﻮﺳﻌﻪ ﻳﺎﻓﺘﻪ
19
در اﻳﻦ ﺑﻴﻦ روش ﻣﻮﺟﻮدﻳﺖ -ارﺗﺒﺎط ) (ERﻛﻪ از اﺑﺘﺪا ﺑﻪ ﻋﻨﻮان روش ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ در ﭘﺎﻳﮕﺎه ﻫﺎي داده راﺑﻄﻪ اي ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ ﺑﻴﺸﺘﺮ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ.
-2ﻣﺪﻟﺴﺎزي ﺑﻪ روش ﻣﺪل ﺳﺎزي ﺑﻪ روش
ER
ER
ﻳﻜﻲ از اﺑﺰارﻫﺎي ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ در ﭘﺎﻳﮕﺎه داده اﺳﺖ ﻛﻪ
در ﺳﺎل 1976ﺗﻮﺳﻂ آﻗﺎي ﭘﻴﺸﺮﻓﺖ ﻛﺮد .ﺗﻌﺮﻳﻒ
Chen
Chen 2
در
MIT
اراﺋﻪ ﮔﺮدﻳﺪ و ﺑﻪ ﻣﺮور زﻣﺎن اﻳﻦ اﺑﺰار
از ﺑﺎﻧﻚ اﻃﻼﻋﺎت ﻋﺒﺎرت ﺑﻮد از ﺗﻌﺪادي ﭘﺪﻳﺪه
1
3
)ﻣﻮﺟﻮدﻳﺖ( داراي ﺻﻔﺎت ﻣﺸﺨﺺ و ارﺗﺒﺎط ﺑﻴﻦ ﭘﺪﻳﺪهﻫﺎ .در اﻳﻦ روش ،ﺳﻪ 4
ﻣﻔﻬﻮم ﻣﻌﻨﺎﻳﻲ زﻳﺮ وﺟﻮد دارد: •
ﻧﻮع ﻣﻮﺟﻮدﻳﺖ
5
6
•
ﺻﻔﺖ
•
ﻧﻮع ارﺗﺒﺎط
7
در اداﻣﻪ ﻫﺮ ﻳﻚ از ﻣﻔﺎﻫﻴﻢ ﻣﺬﻛﻮر را ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد.
1-2ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻋﺒﺎرت اﺳﺖ از ﻣﻔﻬﻮم ﻛﻠﻲ ﻫﺮ آﻧﭽﻪ ﻛﻪ ﻣﻲ ﺧﻮاﻫﻴﻢ در ﻣﻮرد آن اﻃﻼﻋﻲ ﺟﻤﻊ آوري ﻛﻨﻴﻢ و داﻧﺶ ﺧﻮد را در ﻣﻮردش اﻓﺰاﻳﺶ دﻫﻴﻢ .ﮔﺎه ﺑﻪ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ،ﻧﻮع ﺷﻴﻲ ﻫﻢ ﻣﻲﮔﻮﻳﻴﻢ .ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ ﺗﺸﺨﻴﺺ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ 1. E nt i t y 2. At t r i b u t e 3. R el a t i o n 4. Se ma n t i c C o n c e p t 5. E nt i t y T y p e 6. At t r i b u t e 7. R el a t i o n s h i p T y p e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
20
ﭘﺎﻳﮕﺎه دادهﻫﺎ
در ﻳﻚ ﻣﺤﻴﻂ ﻛﺎري دﺷﻮار ﻣﻲ ﺑﺎﺷﺪ .ﺑﻪ ﻃﻮر ﻛﻠﻲ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ داراي ﺧﺼﻮﺻﻴﺎت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ ﻳﺎ ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﻻزم اﺳﺖ اﻃﻼﻋﺎت زﻳﺮ در ﻣﻮرد ﻫﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺘﻲ ﺑﺪﺳﺖ آﻳﺪ: •
ﻧﺎم ﻣﻮﺟﻮدﻳﺖ )ﻳﺎ ﭘﺪﻳﺪه(
•
ﻣﻌﻨﺎي ﻣﺸﺨﺺ
•
ﻣﺠﻤﻮﻋﻪاي از ﺻﻔﺎت
•
ﻣﺠﻤﻮﻋﻪاي از ﻧﻤﻮﻧﻪﻫﺎ
•
ﺣﺎﻟﺖ ﻛﻨﺶ ﮔﺮي ﻳﺎ ﻛﻨﺶ ﭘﺬﻳﺮي
•
ﻋﺪم واﺑﺴﺘﮕﻲ و ﻳﺎ واﺑﺴﺘﮕﻲ ﺑﻪ ﻳﻚ ﻧﻮع دﻳﮕﺮ
ﺑﺮاي ﻣﺜﺎل در ﻳﻚ ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎت اﺗﻮﻣﺒﻴﻞ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖﻫﺎ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺷﺎﻣﻞ ﻣﻮﺟﻮدﻳﺖ اﺗﻮﻣﺒﻴﻞ ،ﻛﺸﻮر ﺳﺎزﻧﺪه )ﻳﺎ ﻣﺼﺮف ﻛﻨﻨﺪه( و ...ﺑﺎﺷﻨﺪ .در ﻳﻚ ﺳﻴﺴﺘﻢ آﻣﻮزﺷﻲ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺷﺎﻣﻞ ﻣﻮﺟﻮدﻳﺖ ﻫﺎي درس ،داﻧﺸﺠﻮ ،اﺳﺘﺎد، ﻛﻼس و ...ﺑﺎﺷﻨﺪ.
1-1-2ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ
1
ﺗﻤﺎم ﻧﻤﻮﻧﻪﻫﺎي ﻣﺸﺨﺺ )در ﻣﻮاردي ﻣﺘﻤﺎﻳﺰ( ﻫﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ از ﻳﻚ ﻣﺤﻴﻂ 2
ﻣﺸﺨﺺ ،ﻣﺠﻤﻮﻋﻪ اي ﺑﻪ ﻧﺎم ﻣﺠﻤﻮﻋﻪ ﻧﻤﻮﻧﻪ ﻫﺎي آن ﻣﻮﺟﻮدﻳﺖ را ﺗﺸﻜﻴﻞ ﻣﻲ دﻫﻨﺪ ﻫﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺧﻮد ﻣﻲﺗﻮاﻧﺪ داراي ﻧﻤﻮﻧﻪ ﻫﺎي ﻣﺨﺘﻠﻔﻲ ﺑﺎﺷﺪ ﻛﻪ اﻳﻦ ﻧﻤﻮﻧﻪ ﻫﺎ از ﻣﺸﺨﺼﺎت ﻧﻮع ﺧﻮد ﺗﺒﻌﻴﺖ ﻣﻲ ﻛﻨﻨﺪ .ﺑﺮاي ﻣﺜﺎل ﻣﻮﺟﻮدﻳﺖ اﺗﻮﻣﺒﻴﻞ ﻣﻲ ﺗﻮاﻧﺪ داراي ﻧﻤﻮﻧﻪ ﻫﺎﻳﻲ ﻣﺎﻧﻨﺪ ﭘﻴﻜﺎن ،ﭘﮋو ،ﺳﻤﻨﺪ ،ﺑﻨﺰ و ...ﺑﺎﺷﺪ ﻛﻪ ﻫﺮ ﻛﺪام از اﻳﻨﻬﺎ در واﻗﻊ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻣﻮﺟﻮدﻳﺖ اﺗﻮﻣﺒﻴﻞ ﻫﺴﺘﻨﺪ.
2-1-2ﺣﺎﻻت ﻳﻚ ﻣﻮﺟﻮدﻳﺖ ﻳﻜﻲ از ﻧﻜﺎت ﺑﺴﻴﺎر ﻣﻬﻢ در ﺗﻌﻴﻴﻦ ﻣﻮﺟﻮدﻳﺖﻫﺎ ﺗﻌﻴﻴﻦ ﻣﺴﺘﻘﻞ ﻳﺎ واﺑﺴﺘﻪ ﺑﻮدن ﻣﻮﺟﻮدﻳﺖ ﻫﺎ ﻣﻲ ﺑﺎﺷﺪ .ﻳﻚ ﻣﻮﺟﻮدﻳﺖ ﻣﻤﻜﻦ اﺳﺖ ﺑﻪ دو ﺻﻮرت ﻗﻮي )ﻣﺴﺘﻘﻞ( ﻳﺎ 1. E nt i t y In s t a n c e 2. In s t a n c e s Se t
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" #
21
ﺿﻌﻴﻒ )واﺑﺴﺘﻪ( ﺑﺎﺷﺪ .در اداﻣﻪ ﺑﻪ ﺷﺮح ﺣﺎﻻت ﻣﺬﻛﻮر ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ:
ﻣﻮﺟﻮدﻳﺖ ﻗﻮي ﻳﺎ ﻣﺴﺘﻘﻞ
1
ﻣﻮﺟﻮدﻳﺘﻲ اﺳﺖ ﻛﻪ ﻣﺴﺘﻘﻞ از ﻫﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ دﻳﮕﺮ و ﺑﻪ ﺧﻮدي ﺧﻮد در ﻳﻚ ﻣﺤﻴﻂ ﻣﺸﺨﺺ ﻣﻄﺮح ﺑﺎﺷﺪ .اﻳﻦ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ واﺑﺴﺘﮕﻲ ﺧﺎﺻﻲ ﺑﻪ ﺳﺎﻳﺮ ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ ﻧﺪارد.
ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﻳﺎ واﺑﺴﺘﻪ
2
ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﻣﻮﺟﻮدﻳﺘﻲ اﺳﺖ ﻛﻪ وﺟﻮدش واﺑﺴﺘﻪ ﺑﻪ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ دﻳﮕﺮ )ﻣﻮﺟﻮدﻳﺖ ﻗﻮي( اﺳﺖ .ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ اﮔﺮ ﻣﻮﺟﻮدﻳﺖ ﻗﻮي از ﻣﺪل ﻣﻌﻨﺎﻳﻲ ﺣﺬف ﮔﺮدد ،وﺟﻮد ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﺑﻲ ﻣﻌﻨﺎ ﺑﻮده و ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﻧﻴﺰ ﺣﺬف ﻣﻲ ﮔﺮدد. ﻧﻜﺘﻪ :ﻣﺴﺘﻘﻞ ﺑﻮدن ﻳﺎ واﺑﺴﺘﻪ ﺑﻮدن ﻣﻮﺟﻮدﻳﺖﻫﺎ در ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ ﻛﻪ ﻣﻲ ﺧﻮاﻫﻴﻢ ﺑﺮاي آن ﭘﺎﻳﮕﺎه داده اي ﻃﺮاﺣﻲ ﻛﻨﻴﻢ ،ﺗﻌﻴﻴﻦ ﻣﻲ ﮔﺮدد و اﻳﻦ ﻣﻮﺿﻮع ارﺗﺒﺎﻃﻲ ﺑﻪ واﺑﺴﺘﮕﻲ و ﻳﺎ اﺳﺘﻘﻼل ﻣﻮﺟﻮدﻳﺖ در دﻧﻴﺎي واﻗﻌﻲ ﻧﺪارد.
2-2ﺻﻔﺖ ﻫﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺷﺎﻣﻞ ﻣﺠﻤﻮﻋﻪ اي از ﺻﻔﺎت )ﻣﺸﺨﺼﺎت( ﻣﺮﺑﻮط ﺑﻪ آن ﻣﻮﺟﻮدﻳﺖ اﺳﺖ ﻛﻪ ﺣﺎﻟﺖ ﻳﺎ وﺿﻊ آن ﻣﻮﺟﻮدﻳﺖ را ﺗﻮﺻﻴﻒ ﻣﻲ ﻛﻨﺪ .اﻳﻦ ﺻﻔﺎت ﺧﻮد داراي رده ﺑﻨﺪي ﻫﺎي ﻣﺨﺘﻠﻔﻲ ﻫﺴﺘﻨﺪ ﻛﻪ در ذﻳﻞ آﻣﺪه اﺳﺖ:
رده ﺑﻨﺪي ﺻﻔﺖ ﺻﻔﺎت ﻳﻚ ﻣﻮﺟﻮدﻳﺖ ﺑﺮ ﺣﺴﺐ ﻣﻔﻬﻮم آﻧﻬﺎ ﺑﻪ دﺳﺘﻪﻫﺎي زﻳﺮ ﺗﻘﺴﻴﻢ ﻣﻲ ﮔﺮدﻧﺪ: • •
3
ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ 1
4
ﺗﻚ ﻣﻘﺪاري ﻳﺎ ﭼﻨﺪ ﻣﻘﺪاري
2
1. St r o n g 2. W ea k 3. Si n gl e 4. C o mp o s i t e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
22
ﭘﺎﻳﮕﺎه دادهﻫﺎ • • •
ﺷﻨﺎﺳﻪ ﻳﺎ ﻧﺎﺷﻨﺎﺳﻪ 3
ﻫﻴﭻ ﻣﻘﺪار ﭘﺬﻳﺮ ﻳﺎ ﻫﻴﭻ ﻣﻘﺪار ﻧﺎﭘﺬﻳﺮ 4
ذﺧﻴﺮه ﺷﺪه )واﻗﻌﻲ ﻳﺎ ﻣﺒﻨﺎ( ﻳﺎ ﻣﺸﺘﻖ
5
در اداﻣﻪ ﻫﺮ ﻳﻚ از رده ﺑﻨﺪي ﺻﻔﺎت )ﺑﺮ اﺳﺎس آﻧﭽﻪ ﻛﻪ در ﺑﺎﻻ آﻣﺪه اﺳﺖ( ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ.
1-2-2ﺻﻔﺖ ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ ﺻﻔﺖ ﺳﺎده ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﻣﻘﺪار آن ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ ﻣﻲ ﺑﺎﺷﺪ ،ﺑﻪ اﻳﻦ ﻣﻌﻨﺎ ﻛﻪ اﮔﺮ ﻣﻘﺪار آﻧﺮا ﺑﻪ اﺟﺰاﺋﻲ ﺗﺠﺰﻳﻪ ﻛﻨﻴﻢ ،ﻣﻘﺎدﻳﺮ ﻫﺮ ﺟﺰء ﻓﺎﻗﺪ ﻣﻌﻨﺎ ﻣﻲ ﺑﺎﺷﺪ .ﻣﺎﻧﻨﺪ اﺳﻢ درﺧﺖ.
ﺻﻔﺖ ﻣﺮﻛﺐ ﺻﻔﺘﻲ ﻛﻪ از ﭼﻨﺪ ﺻﻔﺖ ﺳﺎده ﺗﺸﻜﻴﻞ ﺷﺪه و ﺗﺠﺰﻳﻪ ﺷﺪﻧﻲ ﻣﻲ ﺑﺎﺷﺪ .ﻣﺎﻧﻨﺪ ﺻﻔﺖ آدرس ﻛﻪ ﻣﻲ ﺗﻮاﻧﺪ ﺷﺎﻣﻞ ﻧﺎم ﻛﺸﻮر ،اﺳﺘﺎن ،ﺷﻬﺮ ،ﻣﻨﻄﻘﻪ و ...ﺑﺎﺷﺪ .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﻣﻲ ﺗﻮان ﺑﺮ ﺣﺴﺐ ﻧﻮع ﻧﻴﺎز ﺑﺠﺎي اﺳﺘﻔﺎده از ﻳﻚ ﺻﻔﺖ ﻣﺮﻛﺐ ،ﺻﻔﺖ ﻣﺬﻛﻮر را ﺑﻪ ﭼﻨﺪﻳﻦ ﺻﻔﺖ ﺳﺎده ﺷﻜﺴﺖ.
2-2-2ﺻﻔﺖ ﺗﻚ ﻣﻘﺪاري ﻳﺎ ﭼﻨﺪ ﻣﻘﺪاري ﺻﻔﺖ ﺗﻚ ﻣﻘﺪاري ﺻﻔﺖ ﺗﻚ ﻣﻘﺪاري ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﺣﺪاﻛﺜﺮ ﻳﻚ ﻣﻘﺪار از ﻣﻴﺪان ﻣﻘﺎدﻳﺮ را ﺑﺮاي ﻳﻚ ﻧﻤﻮﻧﻪ از ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻣﻲ ﮔﻴﺮد .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﻣﻘﺪار آن ﺻﻔﺖ ﺑﺮاي ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻣﻮرد ﻧﻈﺮ ،ﻳﻚ ﻣﻘﺪار ﻣﺸﺨﺺ از ﻣﻴﺪان ﻣﻘﺎدﻳﺮ ﻣﺮﺑﻮط ﺑﻪ آن ﺻﻔﺖ ﻣﻲ ﺑﺎﺷﺪ .ﻣﺜﻼ ﺑﺮاي ﻫﺮ ﺷﺨﺺ ﻳﻚ ﻛﺪ ﻣﻠﻲ وﺟﻮد دارد. 1. Si n gl e V a l u e d 2. M u lt i V al u e d 3. N u ll V al u e 4. R ea l 5. D er i ve d
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" #
23
ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﺑﻴﺶ از ﻳﻚ ﻣﻘﺪار از ﻣﻴﺪان ﻣﻘﺎدﻳﺮ را ﺑﺮاي ﺣﺪاﻗﻞ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻧﻮع ﻣﻮﺟﻮدﻳﺖ در ﺑﺮ ﻣﻲ ﮔﻴﺮد .ﻣﺎﻧﻨﺪ ﺻﻔﺖ ﻣﺪرك ﺗﺤﺼﻴﻠﻲ ﺑﺮاي ﻳﻚ ﺷﺨﺺ ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﭼﻨﺪ ﻣﻘﺪاري ﺑﺎﺷﺪ ،ﻟﻴﺴﺎﻧﺲ ،ﻓﻮق ﻟﻴﺴﺎﻧﺲ و.... ﺻﻔﺖ
ﻣﺮﻛﺐ
ﺳﺎده
ﺗﻚ ﻣﻘﺪاري
ﭼﻨﺪ ﻣﻘﺪاري
ﺷﻜﻞ 1-2ﻧﻤﻮدار ارﺗﺒﺎط دﻫﻨﺪه ردهﻫﺎي ﻣﺨﺘﻠﻒ ﺻﻔﺎت
3-2-2ﺷﻨﺎﺳﻪ ﺻﻔﺖ ﺷﻨﺎﺳﻪ ﻣﻮﺟﻮدﻳﺖ ،ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﺑﺎﻳﺪ ﻳﻜﺘﺎﻳﻲ ﻣﻘﺪار داﺷﺘﻪ ﺑﺎﺷﺪ و ﺣﺘﻲ اﻻﻣﻜﺎن ﻃﻮل ﻣﻘﺎدﻳﺮش ﻛﻮﺗﺎه ﺑﺎﺷﺪ.
ﻣﻔﻬﻮم ﻣﻘﺪار ﻫﻴﭻ )ﻫﻴﭻ ﻣﻘﺪار( اﻳﻦ ﻣﻔﻬﻮم از ﻣﻔﺎﻫﻴﻢ ﻣﺪل راﺑﻄﻪ اي اﺳﺖ ،ﻣﻘﺪار ﻫﻴﭻ ﻳﻌﻨﻲ ﻣﻘﺪار ﻧﺎﺷﻨﺎﺧﺘﻪ ،ﻣﻘﺪار ﺗﻌﺮﻳﻒ ﻧﺸﺪه .ﻣﻤﻜﻦ اﺳﺖ ﻣﻘﺪار ﻳﻚ ﺻﻔﺖ ﺑﺮاي ﺑﺮﺧﻲ از ﻧﻤﻮﻧﻪ ﻫﺎي ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ،ﻧﺎﺷﻨﺎﺧﺘﻪ ﺑﺎﺷﺪ .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺻﻔﺖ ﺷﻨﺎﺳﻪ ﻣﻮﺟﻮدﻳﺖ ﻧﻤﻲ ﺗﻮاﻧﺪ ﻫﻴﭻ ﻣﻘﺪار ﭘﺬﻳﺮ ﺑﺎﺷﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
24
ﭘﺎﻳﮕﺎه دادهﻫﺎ
4-2-2ﺻﻔﺖ واﻗﻌﻲ ﻳﺎ ﻣﺸﺘﻖ ﺻﻔﺖ واﻗﻌﻲ )ذﺧﻴﺮه ﺷﺪه( ﺻﻔﺖ واﻗﻌﻲ آن ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮش در ﭘﺎﻳﮕﺎه دادهﻫﺎ ذﺧﻴﺮه ﺷﺪه ﺑﺎﺷﺪ .ﺑﺎﻳﺪ ﺗﻮﺟﻪ داﺷﺖ ﻛﻪ ﺟﻨﺎﻧﭽﻪ ﺻﻔﺖ ﺑﻌﻨﻮان ﺷﻨﺎﺳﻪ ﻧﺒﺎﺷﺪ ،ﻣﻲ ﺗﻮاﻧﺪ ﻣﻘﺪار ﻫﻴﭻ را ﻧﻴﺰ داﺷﺘﻪ ﺑﺎﺷﺪ.
ﺻﻔﺖ ﻣﺸﺘﻖ ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮش در ﭘﺎﻳﮕﺎه دادهﻫﺎ ذﺧﻴﺮه ﺷﺪه ﻧﺒﺎﺷﺪ .اﻳﻦ ﺻﻔﺖ وﺟﻮد ﺧﺎرﺟﻲ ﻧﺪارد .وﻟﻲ از روي دﻳﮕﺮ ﺻﻔﺎت ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ اﺳﺖ .ﻣﺎﻧﻨﺪ ﺳﻦ اﻓﺮاد ﻛﻪ از روي ﺗﺎرﻳﺦ ﺗﻮﻟﺪ ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ اﺳﺖ .ﻫﺮ ﺻﻔﺖ ﺟﻨﺒﻪ ﻫﺎي زﻳﺮ را دارد: •
ﻧﺎم
•
ﻣﻌﻨﺎ
•
ﻣﻴﺪان )داﻣﻨﻪ( ﻣﻘﺎدﻳﺮ
•
ﻧﻮع ﻣﻘﺪار
•
ﻃﻮل ﻣﻘﺪار )ﺻﺮﻳﺢ ﻳﺎ ﺻﻔﺘﻲ(
•
ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻣﺤﺪودﻳﺖ ﻧﺎﻇﺮ ﺑﻪ ﺻﻔﺖ
3-2ارﺗﺒﺎط
1
ﻳﻜﻲ از ﻣﻔﺎﻫﻴﻢ ﺑﺴﻴﺎر ﻣﻬﻢ در ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ داده ﻫﺎ ﻣﻔﻬﻮم ارﺗﺒﺎط ﻳﺎ ﺑﺴﺘﮕﻲ اﺳﺖ ،ﺑﻪ ﻫﻤﻴﻦ ﻣﻨﻈﻮر ﺑﻪ ﺗﻌﺮﻳﻒ ﻧﻮع ارﺗﺒﺎط ﻣﻲ ﭘﺮدازﻳﻢ:
ﻧﻮع ارﺗﺒﺎط ﺋﻮع ارﺗﺒﺎط ﻋﺒﺎرت اﺳﺖ از ﺗﻌﺎﻣﻞ 2ﺑﻴﻦ
n
ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ) (n≥1و ﻣﺎﻫﻴﺘﺎ ﻧﻮﻋﻲ
ﺑﺴﺘﮕﻲ ﺑﻴﻦ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖﻫﺎﺳﺖ .ﺑﻪ ﺗﻌﺒﻴﺮي دﻳﮕﺮ ﻋﻤﻠﻲ اﺳﺖ ﻛﻪ ﺑﻴﻦ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ ﺟﺎري ﺑﻮده ،ﻫﺴﺖ ﻳﺎ ﺧﻮاﻫﺪ ﺑﻮد .ﻫﺮ ﻧﻮع ارﺗﺒﺎط ﻳﻚ ﻣﻌﻨﺎي ﻣﺸﺨﺺ داﺷﺘﻪ و ﺑﺎ ﻳﻚ ﻧﺎم ﺑﻴﺎن ﻣﻲ ﺷﻮد. 1. As s o c i a t i o n 2. In t e r a c t i o n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" #
-3ﻧﻤﻮدار ﻧﻤﻮدار
25
ER
در واﻗﻊ ﻧﻤﻮداري اﺳﺖ ﻛﻪ در آن ﺳﻪ ﻣﻔﻬﻮم اﺳﺎﺳﻲ ﻣﺪل
ER
ﻳﻌﻨﻲ
ﻣﻮﺟﻮدﻳﺖ ،ﺻﻔﺖ و ﻧﻮع ارﺗﺒﺎط ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮﻧﺪ .در واﻗﻊ ﻧﻤﻮدار
ER
اوﻟﻴﻦ
ER
ﻃﺮح ﭘﺎﻳﮕﺎه داده ﻫﺎ و ﻣﺪل ﻛﻠﻲ آن در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ اﻧﺘﺰاع ﻣﻲ ﺑﺎﺷﺪ. ﻣﻔﻬﻮم ﻧﻤﺎد در ﻣﺪل
ER
ﻧﻤﺎد در ﻣﺪل
ﻧﻮع ﻣﻮﺟﻮدﻳﺖ :ﭘﺪﻳﺪهﻫﺎي ﻣﻮﺟﻮد ﻛﻪ وﺟﻮد ﺧﺎرﺟﻲ دارﻧﺪ ) (Entityرا ﺑﺎ ﻣﺴﺘﻄﻴﻞ ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ. ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ )واﺑﺴﺘﻪ(
ﻧﻮع ارﺗﺒﺎط ) :(Relationshipﻋﺎﻣﻞ ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖﻫﺎ را ﺑﺎ ﻟﻮزي ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ. ﻧﻮع ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ﺑﺎ ﻗﻮي
ﻣﺸﺎرﻛﺖ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ در ﻧﻮع ارﺗﺒﺎط
ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲ
ﺻﻔﺖ :ﺻﻔﺖﻫﺎي ﻫﺮ ﻣﻮﺟﻮدﻳﺖ را ﺗﻮﺳﻂ اﺷﻜﺎل ﺑﻴﻀﻲ ﺑﻪ آن ﻣﺘﺼﻞ ﻣﻲﻧﻤﺎﻳﻴﻢ.
Ramin.Samad@yahoo.com
ER
WWW.IRANMEET.COM
26
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺻﻔﺖ ﺷﻨﺎﺳﻪ اول
ﺻﻔﺖ ﺷﻨﺎﺳﻪ دوم )در ﺻﻮرت وﺟﻮد( ﺻﻔﺖ ﺷﻨﺎﺳﻪ ﻣﺮﻛﺐ )ﻣﺜﻼ درﺧﺘﻲ(
ﺻﻔﺖ ﺟﻨﺪ ﻣﻘﺪاري ﺻﻔﺖ ﻣﺮﻛﺐ
ﺻﻔﺖ ﻣﺸﺘﻖ )ﻣﺠﺎزي ﻳﺎ ﻣﺤﺎﺳﺒﻪ ﺷﺪﻧﻲ( N 1
ﭼﻨﺪي ارﺗﺒﺎط
R
E2 M
ﺷﻜﻞ 2-2ﻧﻤﺎدﻫﺎي رﺳﻢ
ﻫﺮ ﻧﻤﻮدار
1 1
ER
E1 N
ﻧﻤﻮدار ER
ﭘﺎﺳﺨﮕﻮي ﻣﺠﻤﻮﻋﻪ ﻣﺸﺨﺼﻲ از ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان اﺳﺖ و ﺑﺪﻳﻬﻲ
اﺳﺖ ﻛﻪ اﻳﻦ ﻧﻤﻮدار ﺑﺎ ﺗﻐﻴﻴﺮ و رﺷﺪ ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان ﺗﻐﻴﻴﺮ ﻳﺎﻓﺘﻪ و ﺗﻮﺳﻌﻪ داده ﻣﻲﺷﻮد. ﺑﺮاي رﺳﻢ اﻳﻦ ﻧﻮع ﻧﻤﻮدار ﻧﻴﺎز ﺑﻪ ﻧﻤﺎدﻫﺎﻳﻲ اﺳﺖ ﻛﻪ اﻳﻦ ﻧﻤﺎدﻫﺎ در ﺟﺪول ذﻳﻞ آﻣﺪه اﺳﺖ .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺗﻤﺎﻣﻲﻧﻤﺎدﻫﺎي ﻣﻮرد اﺳﺘﻔﺎده ﺑﺮاي رﺳﻢ ﻧﻤﻮدار ERدر رﺳﻢ ﻧﻤﻮدار EERﻧﻴﺰ ﻣﻌﺘﺒﺮ ﺑﻮده و ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮﻧﺪ .ﺑﺮاي درك ﺑﻬﺘﺮ ﻧﺤﻮه اﺳﺘﻔﺎده از ﻧﻤﺎدﻫﺎ در رﺳﻢ ﻧﻤﻮدار ،ERﺑﻪ ﻧﻤﻮدار زﻳﺮ ﻛﻪ ﺑﻴﺎﻧﮕﺮ وﺿﻌﻴﺖ ﻳﻚ ﺳﻴﺴﺘﻢ داﻧﺸﺠﻮﻳﻲ اﺳﺖ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ:
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" # ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ
ﻧﺎم
27
درﺟﻪ داﻧﺸﮕﺎﻫﻲ
داﻧﺸﺠﻮ
درس
ﻧﺎم
اﺳﺘﺎد
رﺷﺘﻪ ﺗﺤﺼﻴﻠﻲ ﺷﻜﻞ 3-2ﻳﻚ ﻧﻤﻮﻧﻪ از ﻧﻤﻮدار ERﺑﺮاي ﻧﻤﺎﻳﺶ ﺳﻴﺴﺘﻢ داﻧﺸﺠﻮﻳﻲ
ﻳﻜﻲ از ﻧﻜﺎت ﻣﻬﻢ در رﺳﻢ ﻧﻤﻮدار ،ERﻣﻌﻨﺎي ارﺗﺒﺎط ﺑﻴﻦ ﻋﻨﺎﺻﺮ اﺳﺖ .ﺑﺪﻳﻦ ﺻﻮرت ﻛﻪ ﻣﻌﻨﺎي ارﺗﺒﺎط ))اﻧﺘﺨﺎب(( ﺑﺎ ﻣﻌﻨﺎي ارﺗﺒﺎط ))ﺣﺬف(( ﻓﺮق دارد .در اداﻣﻪ ﻧﻤﻮﻧﻪ ا ي از ﻣﻌﻨﺎي ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺖ ﻫﺎ ﺗﺮﺳﻴﻢ ﺷﺪه اﺳﺖ. ﺗﺮم
ﺳﺎل آﻣﻮزﺷﻲ
اﻧﺘﺨﺎب
درس
ﺗﺮم
ﺣﺬف
ﺳﺎل آﻣﻮزﺷﻲ ﺷﻜﻞ 4-2ﻧﻤﻮﻧﻪاي از ﻣﻌﻨﺎي ارﺗﺒﺎط ﺑﻴﻦ ﻋﻨﺎﺻﺮ
Ramin.Samad@yahoo.com
ﻧﻤﺮه
داﻧﺸﺠﻮ
ﻧﻮع
WWW.IRANMEET.COM
28
ﭘﺎﻳﮕﺎه دادهﻫﺎ
1-3درﺟﻪ ﻧﻮع ارﺗﺒﺎط درﺟﻪ ارﺗﺒﺎط ﺑﺴﺘﮕﻲ ﺑﻪ ﺗﻌﺪاد ﻣﻮﺟﻮدﻳﺘﻬﺎ ﻣﺮﺗﺒﻂ ﺑﻪ ﻫﻢ دارد .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﺗﻌﺪاد ﺷﺮﻛﺖ ﻛﻨﻨﺪﮔﺎن در ﻳﻚ ﻧﻮع ارﺗﺒﺎط را درﺟﻪ آن ارﺗﺒﺎط ﻣﻲﮔﻮﻳﻨﺪ. درﺟﻪ
ﺗﻌﺪاد ﻣﻮﺟﻮدﻳﺖﻫﺎي ﺷﺮﻛﺖ ﻛﻨﻨﺪه در ارﺗﺒﺎط
ﻻﺗﻴﻦ
ﻓﺎرﺳﻲ
1
Unary
ﻳﮕﺎﻧﻲ
2
Binary
دوﮔﺎﻧﻲ
3
Ternary
ﺳﻪ ﮔﺎﻧﻲ
… N
… n-ary
… ﭼﻨﺪ ﮔﺎﻧﻲ
در اداﻣﻪ ﻫﺮ ﻳﻚ از درﺟﺎت ﻧﻮع ارﺗﺒﺎط ﺑﺼﻮرت ﺷﻤﺎﺗﻴﻚ رﺳﻢ ﺷﺪه و ﺗﻮﺿﻴﺢ داده ﻣﻲ ﺷﻮﻧﺪ: :1
ﻳﮕﺎﻧﻲ زﻣﺎﻧﻲ ﻛﻪ ﻳﻚ ﻧﻮع ارﺗﺒﺎط ﺑﻴﻦ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ و ﺧﻮدش ﺑﺮﻗﺮار ﺑﺎﺷﺪ. درس
ه ز
:2
دوﮔﺎﻧﻲ ارﺗﺒﺎط ﺑﻴﻦ دو ﻣﻮﺟﻮدﻳﺖ درس
ا ب
دا
1. U n ar y 2. B i na r y
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" #
29
ﺳﻪ ﮔﺎﻧﻲ :1ارﺗﺒﺎط ﺑﻴﻦ ﺳﻪ ﻣﻮﺟﻮدﻳﺖ دا
ا ب
ا د
درس
ﭼﻨﺪ ﮔﺎﻧﻲ :ارﺗﺒﺎط ﺑﻴﻦ ﭼﻨﺪ ﻣﻮﺟﻮدﻳﺖ د
در
ر اد
ﺗﻮﺟﻪ :ﭼﻮن ﻣﻌﻤﻮﻻً ﻣﺎدر و ﭘﺪر و ﺧﻮاﻫﺮ و ﺑﺮادر ﻳﻚ ﻋﻀﻮ ﻣﺤﺴﻮب ﻣﻲ ﺷﻮﻧﺪ ،اﻳﻦ ﻧﻮع ارﺗﺒﺎط ﻣﻨﻄﻘﺎً درﺳﺖ ﻧﻴﺴﺖ .ﺷﻜﻞ ﻣﺬﻛﻮر ﻓﻘﻂ ﺑﻌﻨﻮان ﻧﻤﻮﻧﻪ اﺳﺖ.
2-3ﻣﺎﻫﻴﺖ ﻧﻮع ارﺗﺒﺎط )اﺗﺼﺎل( اﮔﺮ دو ﻣﻮﺟﻮدﻳﺖ
A
و Bرا در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ اﻳﻦ دو ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻳﻜﻲ از ﺳﻪ ﺣﺎﻟﺖ
زﻳﺮ ﺑﺎ ﻫﻢ ارﺗﺒﺎط دارﻧﺪ. •
2
ﻳﻚ ﺑﻪ ﻳﻚ :ﻳﻚ ﻧﻤﻮﻧﻪ از ﻣﻮﺟﻮدﻳﺖ Aﺣﺪاﻛﺜﺮ ﺑﺎ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻣﻮﺟﻮدﻳﺖ
B
ارﺗﺒﺎط دارد و ﺑﺮ ﻋﻜﺲ .ﺑﻪ اﺧﺘﺼﺎر 1:1ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ. 1. T er n a r y 2. O n e T o O n e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
30
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻳﻚ ﺑﻪ ﭼﻨﺪ :1ﻳﻚ ﻧﻤﻮﻧﻪ از Aﺑﺎ nﻧﻤﻮﻧﻪ از Bارﺗﺒﺎط دارد وﻟﻲ ﻳﻚ ﻧﻤﻮﻧﻪ از
B
ﺣﺪاﻛﺜﺮ ﺑﺎ ﻳﻚ ﻧﻤﻮﻧﻪ از Aارﺗﺒﺎط دارد ) .(n>1ﺑﻪ اﺧﺘﺼﺎر 1: Nﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ. •
ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ:2ﻳﻚ ﻧﻤﻮﻧﻪ از Aﺑﺎ nﻧﻤﻮﻧﻪ از Bارﺗﺒﺎط دارد و ﺑﺮ ﻋﻜﺲ ) .(n>1ﺑﻪ اﺧﺘﺼﺎر M: Nﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ. 1
N
ﻋﻀﻮﻳﺖ
1
1 ﮔﺮوه آﻣﻮزﺷﻲ
اﺳﺘﺎد
ﻣﺪﻳﺮﻳﺖ N
M ﺗﺪرﻳﺲ
ﺷﻜﻞ 5-2ﻧﻤﺎﻳﺶ ﭼﻨﺪي ارﺗﺒﺎط
3-3ﺣﺪ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ
3
ﺣﺪ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ ،ﺣﺪاﻗﻞ و ﺣﺪاﻛﺜﺮ ارﺗﺒﺎط ﺑﻴﻦ دو ﻣﻮﺟﻮدﻳﺖ را ﻣﻲ رﺳﺎﻧﺪ .ﺑﺮاي درك ﺑﻬﺘﺮ اﻳﻦ ﻣﻔﻬﻮم ﻣﺜﺎل زﻳﺮ اراﺋﻪ ﻣﻲ ﮔﺮدد:
داﻧﺸﺠﻮ
M )(0 , 1
راﻫﻨﻤﺎﻳﻲ
1
اﺳﺘﺎد
)(0 , 10
ﺷﻜﻞ 6-2ﻧﻤﻮﻧﻪاي از ﻧﻤﺎﻳﺶ ﺣﺪ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ 1. O n e T o M a n y 2. M a ny T o M a n y 3. C ar d i n a l i t y
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" #
31
ﻋﺒﺎرات ذﻛﺮ ﺷﺪه در ﺑﺎﻻ و ﭘﺎﻳﻴﻦ ارﺗﺒﺎط ﺑﻴﻦ ﻋﻨﺎﺻﺮ ،ﻫﺮ ﻳﻚ داراي ﻣﻔﺎﻫﻴﻤﻲ ﻫﺴﺘﻨﺪ. در اداﻣﻪ دو ﻋﺒﺎرت ) (0 , 10و ) (0 , 1ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﮔﺮﻓﺘﻪ اﻧﺪ: •
)10و (0ﺑﺪﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ ﻳﻚ اﺳﺘﺎد ﻣﻤﻜﻦ اﺳﺖ ﺣﺪاﻛﺜﺮ 10داﻧﺸﺠﻮ را راﻫﻨﻤﺎﻳﻲ ﻛﻨﺪ و ﻳﺎ ﻫﻴﭻ داﻧﺸﺠﻮﻳﻲ ﺑﺮاي راﻫﻨﻤﺎﻳﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ )اﻳﻦ اﺳﺘﺎد ﭘﺮوژه اراﺋﻪ ﻧﻜﺮده اﺳﺖ(.
•
)1و (0ﺑﺪﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ ﻳﻚ داﻧﺸﺠﻮ ﺣﺪاﻛﺜﺮ ﻣﻲﺗﻮاﻧﺪ ﻳﻚ اﺳﺘﺎد راﻫﻨﻤﺎ داﺷﺘﻪ ﺑﺎﺷﺪ و اﮔﺮ ﭘﺮوژه اﺧﺬ ﻧﻜﺮده ﺑﺎﺷﺪ ﻫﻴﭻ اﺳﺘﺎد راﻫﻨﻤﺎﻳﻲ ﻧﺪارد.
-4ﻣﺸﻜﻼت روش
ER
در ﻧﺘﻴﺠﻪ درك ﻧﺎدرﺳﺖ و ﺗﻔﺴﻴﺮ ﻧﺎﺻﺤﻴﺢ از ﻣﻌﻨﺎي ﺑﻌﻀﻲ ارﺗﺒﺎﻃﺎت در ﻣﺪل ﺳﺎزي داده ﻫﺎ ﻣﺸﻜﻼﺗﻲ ﻣﻮﺳﻮم ﺑﻪ داﻣﻬﺎي ﭘﻴﻮﻧﺪي 1ﻧﻤﺎﻳﺎن ﻣﻲ ﮔﺮدد .اﻳﻦ داﻣﻬﺎي ﭘﻴﻮﻧﺪي ﻋﺒﺎرﺗﻨﺪ از: 2
•
دام ﺣﻠﻘﻪاي
•
دام ﭼﻨﺪ ﺷﺎﺧﻪ )ﭼﺘﺮي(
•
دام ﮔﺴﻞ )ﺷﻜﺎف(
3
4
در اداﻣﻪ ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻔﻬﻮم دام ﻫﺎ ،ﻫﺮ ﻳﻚ از اﻧﻮاع دام ﻫﺎ در روش ERﺑﺎ ذﻛﺮ ﻣﺜﺎل ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ.
1-4دام ﺣﻠﻘﻪاي اﻳﻦ دام وﻗﺘﻲ اﻳﺠﺎد ﻣﻲ ﺷﻮد ﻛﻪ ﺑﺎ داﺷﺘﻦ ﻣﺜﻼ ﺳﻪ ارﺗﺒﺎط دو ﻣﻮﺟﻮدﻳﺘﻲ ،وﺟﻮد ﻳﻚ ارﺗﺒﺎط ﺳﻪ ﻣﻮﺟﻮدﻳﺘﻲ را ﻧﺘﻴﺠﻪ ﮔﻴﺮي ﻛﻨﻴﻢ ،وﻟﻲ اﻳﻦ اﺳﺘﻨﺘﺎج درﺳﺖ ﻧﺒﺎﺷﺪ.
1. C o nn e c t i o n T r a p s 2. Lo o p T ra p 3. F a n T r ap 4. C h as m T r a p
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
32
ﭘﺎﻳﮕﺎه دادهﻫﺎ
M
درس
اﻧﺘﺨﺎب
N
داﻧﺸﺠﻮ
N
اراﺋﻪ
M
ﺗﻌﻠﻴﻢ
اﺳﺘﺎد
M
N
ﺷﻜﻞ 7-2ﻧﻤﻮﻧﻪاي از دام ﺣﻠﻘﻪاي
2-4دام ﭼﻨﺪ ﺷﺎﺧﻪاي اﻳﻦ ﻧﻮع دام وﻗﺘﻲاﻳﺠﺎد ﻣﻲ ﺷﻮد ﻛﻪ ﺑﻴﻦ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ G
ارﺗﺒﺎط
1: N
E
و ﻣﻮﺟﻮدﻳﺖﻫﺎي
ﺑﺎ ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ،وﻟﻲ ارﺗﺒﺎط ﺑﻴﻦ
F
و
G
F
و
دﻳﺪه
ﻧﺸﺪه ﺑﺎﺷﺪ .در اﻳﻦ ﺻﻮرت ﻧﻤﻲ ﺗﻮان وﺟﻮد ارﺗﺒﺎط ﺑﻴﻦ Fو Gرا ﺑﺪﺳﺖ آورد.
1 دارد
داﻧﺸﻜﺪه
1 دارد N
N
ﮔﺮوه آﻣﻮزﺷﻲ
اﺳﺘﺎد ﺷﻜﻞ 8-2ﻧﻤﻮﻧﻪاي از دام ﺷﺎﺧﻪاي
3-4دام ﮔﺴﻞ اﻳﻦ ﻧﻮع دام وﻗﺘﻲ اﻳﺠﺎد ﻣﻲ ﺷﻮد ﻛﻪ ﺑﻴﻦ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ
E
و
F
ﻳﻚ ارﺗﺒﺎط
1: N
و
ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ،وﻟﻲ Fﺑﺎ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ Gارﺗﺒﺎط 1:Nﺑﺎ ﻣﺸﺎرﻛﺖ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" #
ﻏﻴﺮ اﻟﺰاﻣﻲ داﺷﺘﻪ ﺑﺎﺷﺪ .در اﻳﻦ ﺷﺮاﻳﻂ ﻧﻤﻲ ﺗﻮان ﺗﻤﺎم اﻃﻼعﻫﺎي دو ﻣﻮﺟﻮدﻳﺘﻲ ﺑﻴﻦ
33 E
و Gرا ﺑﺪﺳﺖ آورد .اﮔﺮ ﭼﻨﻴﻦ ﻓﺮﺿﻲ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد ،دﭼﺎر دام ﮔﺴﻞ ﺷﺪه اﻳﻢ.
-5ﻣﺪل ﺳﺎزي ﺑﺎ روش
EER
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﻢ روش
ER
داراي ﻧﻘﺎط ﺿﻌﻔﻲ ﺑﻮد .اﻳﻦ ﻧﻘﺎط ﺿﻌﻒ ﺑﻴﺸﺘﺮ زﻣﺎﻧﻲ
ﻧﻤﺎﻳﺎن ﻣﻲ ﺷﺪ ﻛﻪ ﻣﻲ ﺧﻮاﺳﺘﻴﻢ ﻳﻚ ﺳﻴﺴﺘﻢ ﺷﻲء ﮔﺮا را ﻣﺪل ﺳﺎزي ﻧﻤﺎﻳﻴﻢ .ﺑﻄﻮر ﻛﻠﻲ ﻧﻘﺎط ﺿﻌﻒ روش ERﻛﻪ در روش EERرﻓﻊ ﺷﺪه اﻧﺪ ﺑﻪ ﺷﺮح ذﻳﻞ ﺑﻮدﻧﺪ. اﺳﺘﺎد 1 ﺗﺪرﻳﺲ
N
ﻋﻀﻮﻳﺖ 1
N
ﮔﺮوه آﻣﻮزﺷﻲ
درس ﺷﻜﻞ 9-2ﻧﻤﻮﻧﻪاي از دام ﮔﺴﻞ
1-5ﺗﺠﺰﻳﻪ 1و ﺗﺮﻛﻴﺐ
2
ﻓﺮاﻳﻨﺪ ﺗﻘﺴﻴﻢ ﻳﻚ ﺷﻲء ﻛﻞ ﺑﻪ اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه آن را ﺗﺠﺰﻳﻪ ﮔﻮﻳﻨﺪ .ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ در ﻓﺮاﻳﻨﺪ ﺗﺠﺰﻳﻪ ،ﺷﻲء ﻛﻞ و اﺟﺰاء آن ﻫﺮ ﻳﻚ داراي ﺻﻔﺎت ،ﺳﺎﺧﺘﺎر و رﻓﺘﺎر ﺧﺎص ﺧﻮد ﻣﻲ ﺑﺎﺷﻨﺪ. ﺗﺮﻛﻴﺐ ،ﻋﻜﺲ ﻋﻤﻞ ﺗﺠﺰﻳﻪ اﺳﺖ ﻛﻪ در آن ﺑﺎ داﺷﺘﻦ ﺗﻌﺪادي ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ،ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺟﺪﻳﺪ را اﻳﺠﺎد ﻣﻲ ﻛﻨﻴﻢ.
1. D ec o mp o s i t i o n 2. C o mp o s i t i o n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
34
ﭘﺎﻳﮕﺎه دادهﻫﺎ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻛﻞ
ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺟﺰء ﺷﻜﻞ 10-2ﻧﻤﺎد ارﺗﺒﺎط " ﺟﺰﺋﻲ اﺳﺖ از" ...
در روش
ERR
ارﺗﺒﺎط ﺑﻴﻦ ﺷﻲء ﻛﻞ و اﺷﻴﺎء ﺟﺰء را ارﺗﺒﺎط " ﺟﺰﺋﻲ اﺳﺖ از" ...
ﮔﻮﻳﻨﺪ .ﻧﻤﺎد ﻣﻮرد اﺳﺘﻔﺎده ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻛﻞ و ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺟﺰء ﺑﻪ ﺷﻜﻞ زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ:
ﺷﻜﻞ 11-2ﻧﻤﻮﻧﻪاي از ﺗﺠﺰﻳﻪ و ﺗﺮﻛﻴﺐ ﻣﻮﺟﻮدﻳﺖﻫﺎ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" #
2-5ﺗﺨﺼﻴﺺ 1و ﺗﻌﻤﻴﻢ
35
2
ﺗﺨﺼﻴﺺ ﻓﺮاﻳﻨﺪي اﺳﺖ ﻛﻪ ﻃﻲ آن ﻧﻤﻮﻧﻪﻫﺎي ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ ) 3زﺑﺮ ﻧﻮع( را ﺑﺮ اﺳﺎس ﻳﻚ ﻳﺎ ﭼﻨﺪ ﺻﻔﺖ ﺧﺎﺻﻪ آن ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ ﺗﺸﺨﻴﺺ ﻣﻲ دﻫﻴﻢ .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻣﻲ ﺗﻮاﻧﺪ داراي ﻳﻚ ﻳﺎ ﭼﻨﺪ زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ
4
ﻧﻴﺰ ﺑﺎﺷﺪ .ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ و زﻳﺮ ﻧﻮع ﻫﺎي آن را ارﺗﺒﺎط " ﮔﻮﻧﻪ اي اﺳﺖ از " ...ﻣﻲ ﻧﺎﻣﻴﻢ .ﻧﻤﺎد ﻣﻮرد اﺳﺘﻔﺎده ﺑﺮاي ﻧﻤﺎﻳﺶ اﻳﻦ ﻧﻮع ارﺗﺒﺎط در ﺷﻜﻞ زﻳﺮ آﻣﺪه اﺳﺖ.
ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ
زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ
زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ
زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ
ﺷﻜﻞ 12-2ﻧﻤﺎد ارﺗﺒﺎط " ﮔﻮﻧﻪاي اﺳﺖ از) " ...ﺗﺨﺼﻴﺺ(
ﺗﻌﻤﻴﻢ ﻋﻜﺲ ﻋﻤﻞ ﺗﺨﺼﻴﺺ اﺳﺖ ﻛﻪ در آن ﺑﺎ داﺷﺘﻦ زﻳﺮ ﻧﻮع ﻫﺎي ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ و ﺗﻌﻴﻴﻦ ﺻﻔﺎت ﻣﺸﺘﺮك ﺑﻴﻦ آﻧﻬﺎ ،ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺻﻔﺎت را ﺑﺮاي ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢ.
1. Sp e c i a l i z a ti o n 2. G e ne r a l i z a ti o n 3. Su p e r E nt i t y T y p e 4. Su b E n t it y T yp e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
36
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺷﻜﻞ) 13-2اﻟﻒ( ﻧﻤﻮﻧﻪاي از ﺣﺎﻟﺖ ﺗﻌﻤﻴﻢ در ﺳﻴﺴﺘﻢﻫﺎي داﻧﺸﺠﻮﻳﻲ
ﺷﻜﻞ) 13-2ب( ﻧﻤﻮﻧﻪاي از ﺣﺎﻟﺖ ﺗﻌﻤﻴﻢ در ﺳﻴﺴﺘﻢﻫﺎي داﻧﺸﺠﻮﻳﻲ
3-5زﻳﺮ ﻧﻮعﻫﺎي ﻫﻤﭙﻮﺷﺎ 1و ﻣﺠﺰا
2
ﻧﻤﻮﻧﻪ ﻫﺎي ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ ﺑﺮ اﺳﺎس ﺻﻔﺎت ﺧﺎﺻﻪ ﻣﺸﺘﺮك و ﻣﺠﺰا در دﺳﺘﻪ ﻫﺎي ﺧﺎص ﺧﻮد دﺳﺘﻪ ﺑﻨﺪي ﻣﻲ ﺷﻮﻧﺪ .ﺣﺎل ﻣﻤﻜﻦ اﺳﺖ ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ در دو دﺳﺘﻪ ﻗﺎﺑﻞ دﺳﺘﻪ ﺑﻨﺪي ﺑﺎﺷﺪ در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﻪ اﻳﻦ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ، ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﻫﻤﭙﻮﺷﺎ )ﻣﺸﺘﺮك( ﮔﻮﻳﻨﺪ. 1. O ve r l a p 2. D i sj o i n t
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" #
37
ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ
ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ ﻧﺮم اﻓﺰار ﺳﻴﺘﻤﻲ
ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ ﻧﺮم اﻓﺰار ﻛﺎرﺑﺮدي
ﺷﻜﻞ 14-2ﻧﻤﻮﻧﻪاي از زﻳﺮ ﻧﻮعﻫﺎي ﻫﻤﭙﻮﺷﺎ
در ﻋﻴﻦ ﺣﺎل ﻣﻤﻜﻦ اﺳﺖ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻓﻘﻂ در ﻳﻚ دﺳﺘﻪ ﺑﻨﺪي از زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ ﻗﺎﺑﻞ دﺳﺘﻪ ﺑﻨﺪي ﺑﺎﺷﺪ .ﺑﻪ اﻳﻦ زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ ،ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﻣﺠﺰا ﻣﻲ ﮔﻮﻳﻨﺪ. ﭘﺮﺳﻨﻞ ﺷﺮﻛﺖ
U
ﭘﺮﺳﻨﻞ زن
ﭘﺮﺳﻨﻞ ﻣﺮد
ﺷﻜﻞ 15-2ﻧﻤﻮﻧﻪاي از زﻳﺮ ﻧﻮعﻫﺎي ﻣﺠﺰا
4-5دﺳﺘﻪ ﺑﻨﺪي 1و وراﺛﺖ
2
ﻳﻚ زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻣﻲ ﺗﻮاﻧﺪ زﻳﺮ ﻧﻮع ﺑﻴﺶ از ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ ﺑﺎﺷﺪ .ﻛﻪ در اﻳﻦ ﺷﺮاﻳﻂ ﺑﻌﻀﻲ از ﺧﻮاص ﺧﻮد را از ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ و ﺑﻌﻀﻲ دﻳﮕﺮ
1. C at e go r i z a t i o n 2. In h e r i t a n c e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
38
ﭘﺎﻳﮕﺎه دادهﻫﺎ
از ﺻﻔﺎت ﺧﺎﺻﻪ ﺧﻮد را از ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﺮﺗﺮ دﻳﮕﺮ ﺑﻪ ارث ﻣﻲ ﺑﺮد .اﻳﻦ ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﺑﺮﺗﺮ ﻣﻲ ﺗﻮاﻧﻨﺪ از ﻳﻚ ﻧﻮع ﺑﺎﺷﻨﺪ ﻛﻪ در اﻳﻦ ﺷﺮاﻳﻂ داراي ﺷﻨﺎﺳﻪ ﻫﺎي ﻳﻜﺴﺎن ﻫﺴﺘﻨﺪ .وﻟﻲ در ﺷﺮاﻳﻄﻲ ﻛﻪ ﻣﻮﺟﻮدﻳﺖ ﻫﺎي ﺑﺮﺗﺮ از ﻳﻚ ﻧﻮع ﻧﺒﺎﺷﻨﺪ ،در واﻗﻊ وراﺛﺖ ﭼﻨﺪﮔﺎﻧﻪ
1
رخ داده اﺳﺖ .ﺑﻪ اﻳﻦ زﻳﺮ ﻧﻮعﻫﺎ در اﺻﻄﻼح دﺳﺘﻪ) 2ﻃﺒﻘﻪ(
ﻣﻲ ﮔﻮﻳﻨﺪ و در ﺑﻌﻀﻲ از ﻛﺘﺎب ﻫﺎ ﺑﻪ اﻳﻦ زﻳﺮ ﻧﻮع اﺻﻄﻼﺣﺎ ﻧﻮع اﺟﺘﻤﺎع 3ﻣﻲ ﮔﻮﻳﻨﺪ. ﺷﻜﻞ زﻳﺮ ﻧﺤﻮه ﻧﻤﺎﻳﺶ وراﺛﺖ ﭼﻨﺪ ﮔﺎﻧﻪ را ﻧﺸﺎن ﻣﻲ دﻫﺪ: E2ﻣﻮﺟﻮدﻳﺖ
E3ﻣﻮﺟﻮدﻳﺖ
U
E1ﻣﻮﺟﻮدﻳﺖ ﺷﻜﻞ 16-2ﺷﻤﺎي ﻧﻤﺎﻳﺶ وراﺛﺖ ﭼﻨﺪ ﮔﺎﻧﻪ و دﺳﺘﻪ ﺑﻨﺪي
5-5ﺗﺠﻤﻊ
4
ﺗﺠﻤﻊ ﺑﺪﻳﻦ ﻣﻌﻨﺎ اﺳﺖ ﻛﻪ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺟﺪﻳﺪ را ﺑﺮ اﺳﺎس دو ﻳﺎ ﭼﻨﺪ ﻣﻮﺟﻮدﻳﺖ ﻣﺮﺗﺒﻂ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ،ﺑﻪ ﺻﻮرت ﻳﻜﭙﺎرﭼﻪ در ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ واﺣﺪ اراﺋﻪ ﻧﻤﺎﻳﻴﻢ .ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ اﻳﻦ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ واﺣﺪ ﺧﻮد ﻣﻲ ﺗﻮاﻧﺪ ﺑﺎ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻫﺎي دﻳﮕﺮ ﻧﻴﺰ در ارﺗﺒﺎط ﺑﺎﺷﺪ .ﺷﻜﻞ زﻳﺮ ﻧﺤﻮه ﻧﻤﺎﻳﺶ ﺗﺠﻤﻊ را ﻧﺸﺎن ﻣﻲ دﻫﺪ:
1. M u lt i p l e In h e r i t a n c e 2. C at e go r y 3. U n io n T yp e 4. Ag gr e ga t i o n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" #
E1ﻣﻮﺟﻮدﻳﺖ
39
E2ﻣﻮﺟﻮدﻳﺖ
R1
R2
E3ﻣﻮﺟﻮدﻳﺖ ﺷﻜﻞ 17-2ﻧﻤﺎﻳﺶ ﺗﺠﻤﻊ
-6روش ﻣﺪل ﺳﺎزي ﺷﻲء
UML
1
ﺑﺎ ﻣﻄﺮح ﺷﺪن اﻟﮕﻮﻫﺎي ﺷﻲء ﮔﺮاﻳﻲ ﻛﻪ ﻫﺮ ﻣﻮﺟﻮدﻳﺖ در ﺟﻬﺎن واﻗﻊ را ﺷﺎﻣﻞ داده ﻫﺎي آن ﻣﻮﺟﻮدﻳﺖ و ﻋﻤﻠﻜﺮدﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ آن ﺗﻮﺻﻴﻒ ﻣﻲ ﻛﺮد ،ﻃﺮاﺣﺎن ﺳﻴﺴﺘﻢ روش ﻫﺎي
ER
و
EER
را ﻧﺎﻛﺎرآﻣﺪ ﺗﺸﺨﻴﺺ داده و در ﺟﺴﺘﺠﻮي ﺗﻌﺮﻳﻒ ﻳﻚ
ﻣﺘﻮدوﻟﻮژي ﺟﺪﻳﺪ ﺑﻮدﻧﺪ ﺗﺎ ﺑﺘﻮاﻧﻨﺪ ﻋﻤﻠﻜﺮد ﻫﺮ ﻣﻮﺟﻮدﻳﺖ را ﻧﻴﺰ ﺑﻪ ﻧﻤﺎﻳﺶ در آورﻧﺪ. از اﻳﻨﺮو ﮔﺮوه
OMG
2
روﺷﻲ اﺳﺘﺎﻧﺪارد ﺑﻨﺎم
UML
را ﺑﺮاي اﻳﺠﺎد ﺳﻴﺴﺘﻢ ﻫﺎي ﻛﺎرﺑﺮدي
ﻣﻌﺮﻓﻲ ﻛﺮدﻧﺪ و اﻳﻦ روش را در اﻳﺠﺎد ﺳﻴﺴﺘﻢ ﻫﺎي ﻛﺎرﺑﺮدي ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار دادﻧﺪ. ﻣﻬﻤﺘﺮﻳﻦ ﺧﺼﻮﺻﻴﺖ اﻳﻦ روش ،اﻳﺠﺎد اﻣﻜﺎﻧﻲ ﺑﺮاي اﻳﺠﺎد و ﻧﻤﺎﻳﺶ اﺷﻴﺎء ﺟﻬﺎن واﻗﻊ ﺑﺼﻮرت ﺗﺼﻮﻳﺮي اﺳﺖ .ﻳﻜﻲ از ﻧﻜﺎت ﺑﺴﻴﺎر ﻣﻬﻢ در اﺳﺘﻔﺎده ﻣﻮﺛﺮ از روش ،UML وﺟﻮد داﻧﺶ ﻛﺎﻓﻲ در ﻣﻔﺎﻫﻴﻢ ﺷﻲء ﮔﺮاﻳﻲ اﺳﺖ .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﺑﺪون داﻧﺴﺘﻦ ﻣﻔﺎﻫﻴﻢ ﺷﻲء ﮔﺮاﻳﻲ ،اﻣﻜﺎن اﺳﺘﻔﺎده ﻣﻮﺛﺮ و ﺑﺠﺎ از روش UMLﻣﻴﺴﺮ ﻧﺨﻮاﻫﺪ ﺷﺪ.
1-6ﻣﻔﺎﻫﻴﻢ اﺻﻠﻲ اﺳﺎس روش
UML
ﺑﺮ ﻣﺒﻨﺎي ﻧﻤﻮدار )دﻳﺎﮔﺮام( ﻣﻲ ﺑﺎﺷﺪ .اﻳﻦ روش از ﻧﻤﻮدارﻫﺎي 1. O b je c t Mo d e l i n g 2. O b je c t Ma n a ge me n t G r o u p
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
40
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺑﺮاي ﻧﻤﺎﻳﺶ ﻣﺪل ﺳﺎزي و ﻃﺮاﺣﻲ ﻧﺮم اﻓﺰار اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﺪ .ﭼﻨﺪ ﻧﻤﻮﻧﻪ از ﻣﻬﻤﺘﺮﻳﻦ ﻧﻤﻮدارﻫﺎ در اﻳﻦ روش ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲ ﺑﺎﺷﻨﺪ: 1
•
ﻧﻤﻮدار ﻛﻼس
•
ﻧﻤﻮدار ﭼﺮﺧﻪ ﺣﻴﺎت ﻣﻮﺟﻮدﻳﺖ
•
ﻧﻤﻮدار ﻣﻮرد اﺳﺘﻔﺎده
2
3
4
•
ﻧﻤﻮدار ﻓﻌﺎﻟﻴﺖ
•
ﻧﻤﻮدار ﭘﻴﺎده ﺳﺎزي
5
ﻣﻬﻤﺘﺮﻳﻦ ﻧﻤﻮدار در اﻳﻦ روش ﻧﻤﻮدار ﻛﻼس ﻣﻲ ﺑﺎﺷﺪ .اﻳﻦ ﻧﻤﻮدار ﻣﺠﻤﻮﻋﻪ اي از ﻣﻮﺟﻮدﻳﺖ ﻫﺎ و ﻋﻤﻠﻴﺎت )ﭘﺮدازش( ﻣﺮﺗﺒﻂ ﺑﺎ ﻣﻮﺟﻮدﻳﺖ ﻫﺎ را ﻣﺪل ﺳﺎزي ﻣﻲ ﻛﻨﺪ. ﻋﻤﻠﻴﺎت در واﻗﻊ رﻓﺘﺎر ﺷﻲء 6را ﻧﺸﺎن ﻣﻲ دﻫﺪ و ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ روﻳﺪاد7ﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ ﺷﻲء را ﺑﻪ ﻧﻤﺎﻳﺶ در ﻣﻲآورد .ﻣﻔﺎﻫﻴﻢ اﺻﻠﻲ در ﻣﺪﻟﺴﺎزي ﺑﺎ اﻳﻦ روش ﻋﺒﺎرﺗﻨﺪ از: •
ﻛﻼس
•
ﺻﻔﺖ
•
ﺑﺴﺘﮕﻲ
8
درروش UMLدوﮔﻮﻧﻪ ارﺗﺒﺎط ﺑﻴﻦ رده ﻫﺎ وﺟﻮد دارد ﻛﻪ اﻳﻦ دوﻧﻮع ارﺗﺒﺎط ﻋﺒﺎرﺗﻨﺪ از •
ﺑﺴﺘﮕﻲ
•
ﺗﺠﻤﻴﻊ
ﻛﻪ در اﻳﻦ ﺑﻴﻦ ﻣﻔﻬﻮم ﺑﺴﺘﮕﻲ ﻫﻤﺎن ارﺗﺒﺎط ﺑﻴﻦ ﻛﻼس ﻫﺎ اﺳﺖ .ﺗﺠﻤﻴﻊ ﻧﻴﺰ ﻋﺒﺎرت اﺳﺖ از ارﺗﺒﺎط ﺑﻴﻦ ﻳﻚ ﺷﻲء ﻛﻞ و ﺷﻲءﻫﺎي ﺟﺰء ﺗﺸﻜﻴﻞ دﻫﻨﺪه آن .در اداﻣﻪ ﺑﺮاي درك ﺑﻬﺘﺮ ﺗﻨﺎﻇﺮ ﺑﻴﻦ ﻣﻔﺎﻫﻴﻢ در دو روش UMLو EERﺟﺪول زﻳﺮ ازاﺋﻪ ﻣﻲ ﮔﺮدد: 1. C la s s D ia gr a m 2. E nt i t y Li f e C y c l e D i a gr a m 3. U se C a s e D i a gr a m 4. Ac t i vi t y D i a gr a m 5. Imp l e me n t a t i o n D i a gr a m 6. O b je c t B e h a vi o r 7. E ve n t 8. As s o c i a t i o n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" #
ﻣﻔﻬﻮم در
ﻣﻔﻬﻮم در
UML
ﻛﻼس
ﻧﻮع ﻣﻮﺟﻮدﻳﺖ
ﺷﻲء
ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ
ﺻﻔﺖ
ﺻﻔﺖ
ﺑﺴﺘﮕﻲ
ارﺗﺒﺎط
ﭘﻴﻮﻧﺪ
1
41
EER
ﻧﻤﻮﻧﻪ ارﺗﺒﺎط
ﺑﺴﺘﮕﻲ اﻧﻌﻜﺎﺳﻲ ﺑﺴﺘﮕﻲ ﻣﻘﻴﺪ
2
ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ
3
ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ
ﻣﻴﺪان ﺳﺎﺧﺘﻤﻨﺪ
4
ﺻﻔﺖ ﻣﺮﻛﺐ
ﺻﻔﺖ ﭘﻴﻮﻧﺪ ﭼﻨﺪي ﺑﺴﺘﮕﻲ
ﺻﻔﺖ ارﺗﺒﺎط 5
درﺟﻪ ارﺗﺒﺎط
2-6ﻧﺤﻮه ﻧﻤﺎﻳﺶ ﻣﻔﺎﻫﻴﻢ ﻛﻼس :ﺑﺮاي ﻧﻤﺎﻳﺶ ﻳﻚ ﻛﻼس از ﻣﺮﺑﻊ ﻳﺎ ﻣﺴﺘﻄﻴﻞ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد .در اﻳﻦ ﺣﺎﻟﺖ ﻣﺮﺑﻊ ﺑﻪ ﺳﻪ ﻗﺴﻤﺖ ﻣﺠﺰا ﺗﻘﺴﻴﻢ ﺷﺪه و در اﻳﻦ ﻗﺴﻤﺖ ﻫﺎ ﻣﻮارد زﻳﺮ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮﻧﺪ •
ﻧﺎم ﻛﻼس
•
ﻧﺎم ﺻﻔﺎت ﻛﻼس
•
ﻧﺎم ﭘﺮدازﺷﻬﺎي ﻛﻼس ﻧﺎم ﻛﻼس ﻧﺎم ﺻﻔﺎت ﻛﻼس ﻧﺎم ﭘﺮدازﺷﻬﺎي ﻛﻼس
ﺑﺴﺘﮕﻲ :ﺑﺴﺘﮕﻲ ﺑﻴﻦ دو ﻛﻼس ﺑﺼﻮرت ﻳﻚ ﺧﻂ ﻣﺘﺼﻞ ﻛﻨﻨﺪه دو ﻛﻼس ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮدو ﻧﺎم ارﺗﺒﺎط روي ﺧﻂ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد. 1. Li n k 2. R ef l e x i ve As s o c i a t i o n 3. Q u al i f i e d As s o c i a t i o n 4. St r u c t u r a l D o ma i n 5. M u lt i As s o c i a t i o n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
42
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺗﺠﻤﻴﻊ :ﺗﺠﻤﻴﻊ ﺑﺼﻮرت زﻳﺮ ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮد ﺷﻲء ﻛﻞ
ﺷﻲء ﺟﺰء
ﭼﻨﺪي ارﺗﺒﺎط :ﭼﻨﺪي ارﺗﺒﺎط ﺑﺼﻮرت min …maxﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري :ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري ﺑﻪ ﺻﻮرت ﻳﻚ ﻛﻼس ﺟﺪاﮔﺎﻧﻪ ﻧﺸﺎن داده ﻣﻲ ﺷﻮد ،وﻟﻲ ﻗﺴﻤﺖ ﭘﺮدازش را ﻫﻤﺮاه ﻧﺪارد. ﻣﻴﺪان :ﻧﺎم ﻣﻴﺪان ﻣﻌﻤﻮﻻً ﺑﻌﺪ از ﻧﺎم ﺻﻔﺖ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد و ﺑﻴﻦ اﻳﻦ دو ﻧﺎم از ﻋﻼﻣﺖ: اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد ﺑﺼﻮرت زﻳﺮ ﻧﺎم ﻣﻴﺪان :ﻧﺎم ﺻﻔﺖ ﺻﻔﺖ ﭘﻴﻮﻧﺪ :ﺻﻔﺖ ﭘﻴﻮﻧﺪ در ﻳﻚ ﻣﺮﺑﻊ ﻳﺎ ﻣﺴﺘﻄﻴﻞ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد و ﺑﺎ ﺧﻂ ﭼﻴﻦ ﺑﻪ ﺧﻂ ﻧﺸﺎن دﻫﻨﺪه ﺑﺴﺘﮕﻲ ﻣﺘﺼﻞ ﻣﻲ ﺷﻮد .ﻧﺎم ﭘﻴﻮﻧﺪ و ﻧﺎم ﺻﻔﺎت ﭘﻴﻮﻧﺪ در دو ﻗﺴﻤﺖ اﻳﻦ ﻣﺮﺑﻊ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮﻧﺪ .ﺷﻜﻞ زﻳﺮ ﻧﺤﻮه ﻧﻤﺎﻳﺶ ﺻﻔﺖ ﭘﻴﻮﻧﺪ را ﻧﺸﺎن ﻣﻲ دﻫﺪ ﻧﺎم ﻛﻼس ﻧﺎم ﺻﻔﺎت
ﻧﺎم ﻛﻼس Min.. maxﻧﺎم ﺑﺴﺘﮕﻲ min.. max
ﭘﺮدازﺷﻬﺎ
ﻧﺎم ﺻﻔﺎت ﭘﺮدازﺷﻬﺎ
ﻧﺎم ﺑﺴﺘﮕﻲ ﻧﺎم ﺻﻔﺎت
٣-6ﺧﺼﻮﺻﻴﺎت ﻛﻠﻲ روش ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ ﻫﺮ روش ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ ﺑﺎﻳﺪ ﺣﺪاﻗﻞ داراي ﺧﺼﻮﺻﻴﺎت زﻳﺮ ﺑﺎﺷﺪ •
ﮔﻮﻳﺎﻳﻲ
•
ﺳﺎدﮔﻲ ﻣﻔﺎﻫﻴﻢ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
!" # •
اﻳﺠﺎز
•
ﮔﺴﺘﺮش ﭘﺬﻳﺮي
•
ﺻﻮري ﺑﻮدن
•
ﻗﺎﺑﻠﻴﺖ ﻧﻤﺎﻳﺶ ﻧﻤﻮداري
•
ﺟﺎﻣﻊ ﺑﻮدن ﻣﻔﺎﻫﻴﻢ
•
ﻗﺎﺑﻠﻴﺖ ﻧﻤﺎﻳﺶ ﺳﺎﺧﺘﺎر ﺣﺎﻟﺖ و رﻓﺘﺎر ﻧﻮع ﻣﻮﺟﻮدﻳﺖ
43
ﺑﺎﻳﺪ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ داﺷﺖ ﻛﻪ ﺑﻌﻀﻲ از ﺧﺼﻮﺻﻴﺎت ذﻛﺮ ﺷﺪه ﻣﺎﻧﻨﺪ ﺗﺠﻤﻴﻊ و اﻳﺠﺎز ﻣﻤﻜﻦ اﺳﺖ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﻣﻐﺎﻳﺮت داﺷﺘﻪ ﺑﺎﺷﻨﺪ .در اﻳﻦ ﺻﻮرت وﺟﻮد ﻳﻜﻲ از اﻳﻦ ﺧﺼﻮﺻﻴﺎت ﻛﺎﻓﻲ اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
44
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺗﻤﺮﻳﻨﺎت .1ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ داده را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .2اﻧﻮاع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ را ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .3ﺻﻔﺖ را ﺗﻌﺮﻳﻒ ﻛﺮده و ردهﻫﺎي ﻣﺨﺘﻠﻒ آن را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .4ﺣﺎﻻت ﻣﺨﺘﻠﻒ ارﺗﺒﺎط ﺑﻴﻦ دو ﻣﻮﺟﻮدﻳﺖ را ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .5ﻣﺸﻜﻞ دام ﺣﻠﻘﻪ اي در روش ERرا ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .6ﻣﺸﻜﻞ دام ﭼﻨﺪ ﺷﺎﺧﻪ اي را در روش ERﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .7ﻣﺸﻜﻞ دام ﮔﺴﻞ را در روش ERﺷﺮح دﻫﻴﺪ ؟ .8ﻣﻔﺎﻫﻴﻢ ﺗﺠﺰﻳﻪ و ﺗﺮﻛﻴﺐ در روش EERرا ﺷﺮح دﻫﻴﺪ ؟ .9ﻣﻔﺎﻫﻴﻢ ﺗﺨﺼﻴﺺ و ﺗﺮﻣﻴﻢ در روش EERرا ﺷﺮح دﻫﻴﺪ ؟ .10ﻣﻔﺎﻫﻴﻢ وراﺛﺖ و دﺳﺘﻪ ﺑﻨﺪي در روش EERرا ﺷﺮح دﻫﻴﺪ ؟ .11ﻣﻔﻬﻮم ﺗﺠﻤﻊ در روش EERرا ﺷﺮح دﻫﻴﺪ ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
$ ! % ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎهداده ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ .در اﻳﻦ راﺳﺘﺎ ﺳﻄﻮح ﺧﺎرﺟﻲ ،ادراﻛﻲ و داﺧﻠﻲ ﺑﺼﻮرﺗﻲ دﻗﻴﻖ ﺗﺮ ﻣﻮرد ارزﻳﺎﺑﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ .در اداﻣﻪ ﺑﺎ ﺳﺎﻳﺮ اﺟﺰاء ﭘﺎﻳﮕﺎه داده آﺷﻨﺎ ﺧﻮاﻫﻴﻢ ﺷﺪ و زﺑﺎن ﻫﺎي ﻣﺨﺘﻠﻒ ﻣﻮرد اﺳﺘﻔﺎده درون ﭘﺎﻳﮕﺎه داده ﻧﻴﺰ ﺑﺮرﺳﻲ ﺧﻮاﻫﻨﺪ ﺷﺪ.
ﻫﺪف رﻓﺘﺎري در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎهداده
•
دﻳﺪ )ﻧﻤﺎي( ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ(
•
دﻳﺪ )ﻧﻤﺎي( ﺧﺎرﺟﻲ
•
دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ
•
ﻛﺎرﺑﺮ
•
زﺑﺎن ﻣﻴﺰﺑﺎن
•
زﺑﺎن دادهاي ﻓﺮﻋﻲ
•
اﻧﻮاع زﺑﺎن دادهاي
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
46
ﭘﺎﻳﮕﺎه دادهﻫﺎ
-1ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎهداده از آﻧﺠﺎ ﻛﻪ در ﭼﮕﻮﻧﮕﻲ ﻣﻌﻤﺎري "ﭘﺎﻳﮕﺎه داده ﻫﺎ" ﺣﺪاﻗﻞ در ﺳﺎﻟﻬﺎي آﻏﺎزﻳﻦ اﻳﺠﺎد اﻳﻦ ﺗﻜﻨﻮﻟﻮژي ،ﺑﻴﻦ ﻛﺎرﺷﻨﺎﺳﺎن اﺗﻔﺎق ﻧﻈﺮ ﻧﺒﻮد ،ﻟﺬا
ANSI/SPARC
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ
اﻫﻤﻴﺖ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ،ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ را )ﺑﻪ ﻋﻨﻮان ﻳﻚ ﻣﻌﻤﺎري اﺳﺘﺎﻧﺪارد( ﭘﻴﺸﻨﻬﺎد ﻛﺮد .اﻳﻦ ﻣﻌﻤﺎري ﺑﻪ ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﻣﻮﺳﻮم اﺳﺖ. ﺑﺎﻳﺪ ﺗﻮﺟﻪ داﺷﺖ ﻛﻪ اﻳﻦ ﺳﻪ ﺳﻄﺢ ،اﺳﺎﺳﺎً ﺳﻪ ﺳﻄﺢ "ﺗﻌﺮﻳﻒ دادهﻫﺎ" ﻫﺴﺘﻨﺪ :دو ﺳﻄﺢ ﺧﺎرﺟﻲ و ادراﻛﻲ در ﻣﺤﻴﻄﻲ اﻧﺘﺰاﻋﻲ ﻫﺴﺘﻨﺪ و ﺳﻄﺢ ﺳﻮم ﻛﻪ ﻫﻤﺎن ﺳﻄﺢ داﺧﻠﻲ اﺳﺖ در ﻣﺤﻴﻂ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ .ﺷﻜﻞ 1-3ﻧﻤﺎي ﺳﺎدهاي از ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ را ﻧﻤﺎﻳﺶ ﻣﻲدﻫﺪ.
ﺳﻄﺢ ﺧﺎرﺟﻲ
….
ﺳﻄﻮح اﻧﺘﺰاﻋﻲ
ﺳﻄﺢ ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ( -----------------------ﺳﻄﺢ داﺧﻠﻲ ﺷﻜﻞ 1-3ﻧﻤﺎي ﺳﺎده ﺷﺪه ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ
واﺿﺢ اﺳﺖ ﻛﻪ ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ﻳﻚ ﻻﻳﻪ ﭘﺎﻳﻴﻦ ﺗﺮ از ﺳﻄﺢ داﺧﻠﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد .در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده ،ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ﻧﻴﺰ ﺟﺰﺋﻲ از ﻣﻌﻤﺎري ﻣﺤﺴﻮب ﻣﻲ ﮔﺮدد. ﻧﻤﺎي ﻛﺎﻣﻠﺘﺮ ﻣﻌﻤﺎري ﭘﻴﺸﻨﻬﺎدي
ANSI
ﺑﺮاي ﭘﺎﻳﮕﺎه داده در ﺷﻜﻞ 2-3ﻧﺸﺎن داده
ﻣﻲ ﺷﻮد.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
47
! %
آ ر! i
D B M S
OS
آ ر! ٢
د ر j
آ ر! ١
ﺳﻄﺢ ﺧﺎرﺟﻲ د ر ٢
د ر ١
ﺳﻄﻮح D B A
اﻧﺘﺰاﻋﻲ د ادراآ ) (
ﺳﻄﺢ ادراﻛﻲ
د دا
ﺳﻄﺢ داﺧﻠﻲ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ
k
......
ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ٢
١
ﻓﺎﻳﻠﻴﻨﮓ ﻓﻴﺰﻳﻜﻲ
دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه ﺷﻜﻞ 2-3ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ
در اﻳﻦ ﻣﻌﻤﺎري ﻋﻼوه ﺑﺮ ﺳﻪ ﺳﻄﺢ ،اﺟﺰاي دﻳﮕﺮي ﻫﻢ دﻳﺪه ﻣﻲ ﺷﻮد ﻛﻪ در واﻗﻊ ﺟﺰء "ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎ" ﻫﺴﺘﻨﺪ .در اﻳﻨﺠﺎ ﺳﻪ ﺳﻄﺢ و ﻧﻴﺰ اﺟﺰاء دﻳﮕﺮ را ﻧﺎم ﻣﻲ ﺑﺮﻳﻢ: •
ﻛﺎرﺑﺮ
•
زﺑﺎن ﻣﻴﺰﺑﺎن
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
48
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
زﺑﺎن دادهاي ﻓﺮﻋﻲ
•
دﻳﺪ ﺧﺎرﺟﻲ
•
دﻳﺪ ادراﻛﻲ
•
دﻳﺪ داﺧﻠﻲ
•
ﻓﺎﻳﻠﻬﺎي ﻓﻴﺰﻳﻜﻲ
•
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ
در اداﻣﻪ ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ،ﺳﻄﻮح ﺳﻪ ﮔﺎﻧﻪ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ:
-2ﺷﺮح ﺳﻄﻮح ﺳﻪ ﮔﺎﻧﻪ ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺳﻤﺖ ﭼﭗ ﺗﺼﻮﻳﺮ ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﺪ ﺳﻪ ﺳﻄﺢ )دﻳﺪ( ﻣﺨﺘﻠﻒ در ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه دادﻫﻬﺎ اراﺋﻪ ﺷﺪه اﺳﺖ .اﻳﻦ ﺳﻄﻮح ﻋﺒﺎرﺗﻨﺪ از: •
دﻳﺪ )ﻧﻤﺎي( ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ(
•
دﻳﺪ )ﻧﻤﺎي( ﺧﺎرﺟﻲ
•
دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ
1-2دﻳﺪ )ﻧﻤﺎي( ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ( •
دﻳﺪ ﻳﺎ ﻧﻤﺎي ادراﻛﻲ در واﻗﻊ ﻫﻤﺎن دﻳﺪ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻧﺴﺒﺖ ﺑﻪ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ در ﭘﺎﻳﮕﺎهداده اﺳﺖ.
•
اﻳﻦ دﻳﺪ ﻳﻚ دﻳﺪ ﺟﺎﻣﻊ )ﺳﺮﺗﺎﺳﺮي( ﺑﻮده و ﺗﻤﺎم ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان در ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ را در ﺑﺮ ﻣﻲﮔﻴﺮد.
•
اﻳﻦ دﻳﺪ در ﻳﻚ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﻣﻄﺮح اﺳﺖ :ﺑﻨﺎﺑﺮﻳﻦ ﻣﺒﺘﻨﻲ اﺳﺖ ﺑﺮ ﻳﻚ ﺳﺎﺧﺘﺎر دادهاي ﻣﺸﺨﺺ )از ﻳﻚ ﻣﺪل دادهاي ﻛﻪ اﻧﺘﺰاع ﻻزم را ﺗﺎﻣﻴﻦ ﻣﻲﻛﻨﺪ(.
•
اﻳﻦ دﻳﺪ ،ﺑﺎ ﺳﺎﺗﻔﺎده از ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ ﻫﻤﺎن ﺳﺎﺧﺘﺎر دادهاي ،ﻃﺮاﺣﻲ ﻣﻲﺷﻮد.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
! % •
49
اﻳﻦ دﻳﺪ ﺑﺎﻳﺪ )ﭘﺲ از ﻃﺮاﺣﻲ ﻃﺒﻌﺎ( ﺗﻮﺻﻴﻒ ﺷﻮد .ﺑﻪ وﺻﻒ ﻳﺎ ﺷﺮح دﻳﺪ ادراﻛﻲ ،ﺷﻤﺎي ادراﻛﻲ ﻣﻲﮔﻮﻳﻴﻢ .ﺷﻤﺎي ادراﻛﻲ ﻧﻮﻋﻲ "ﺑﺮﻧﺎﻣﻪ" اﺳﺖ ﺣﺎوي دﺳﺘﻮرات "ﺗﻌﺮﻳﻒ دادهﻫﺎ" و "ﻛﻨﺘﺮل دادهﻫﺎ" )و ﻧﻪ دﺳﺘﻮرات ﻋﻤﻠﻴﺎت در دادهﻫﺎ( .ﺳﻄﺢ ادراﻛﻲ در واﻗﻊ ﻫﻤﻴﻦ ﺷﻤﺎي ادراﻛﻲ اﺳﺖ.
•
ﺷﻤﺎي ادراﻛﻲ ﺑﻪ ﺳﻴﺴﺘﻢ داده ﻣﻲﺷﻮد و در ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﻧﮕﻬﺪاري ﻣﻲﺷﻮد.
ﺑﻪ ﺑﻴﺎﻧﻲ ﺳﺎده ،دﻳﺪ ادراﻛﻲ ﻫﻤﺎن ﺗﻌﺮﻳﻒ ﺟﺪول ﻣﻲ ﺑﺎﺷﺪ .ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲ ﺧﻮاﻫﻴﺪ ﻳﻚ ﻣﻮﺟﻮدﻳﺖ ﻣﺜﻞ داﻧﺸﺠﻮ را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ .ﺗﻌﺮﻳﻒ ﺟﺪول ﻣﺮﺑﻮﻃﻪ ﺑﻪ ﻫﻤﺮاه ﻓﻴﻠﺪﻫﺎ )ﺻﻔﺎت ﺧﺎﺻﻪ( آن ﻣﻮﺟﻮدﻳﺖ در ﻳﻚ ﭘﺎﻳﮕﺎه داده ،در ﺑﺤﺚ دﻳﺪ ادراﻛﻲ دﺳﺘﻪ ﺑﻨﺪي ﻣﻲ ﺷﻮد.
2-2دﻳﺪ )ﻧﻤﺎي( ﺧﺎرﺟﻲ دﻳﺪ ﻳﺎ ﻧﻤﺎي ﺧﺎرﺟﻲ در ﻛﺘﺐ ﻣﺨﺘﻠﻒ ﺑﺎ ﻋﺒﺎرات ﻣﺨﺘﻠﻔﻲ ﺗﻮﺿﻴﺢ داده ﺷﺪه اﺳﺖ .در اداﻣﻪ ﭼﻨﺪ ﺗﻌﺮﻳﻒ از دﻳﺪ ﺧﺎرﺟﻲ ﻣﻄﺮح ﺷﺪه اﺳﺖ: •
ﻣﻔﻬﻮم دﻳﺪ ﻳﺎ ﻧﻤﺎي ﺧﺎرﺟﻲ در واﻗﻊ ﻫﻤﺎن ﻣﻔﻬﻮﻣﻲاﺳﺖ ﻛﻪ در ﺗﺤﻠﻴﻞ و ﻃﺮاﺣﻲ ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﻜﺎر ﺑﺮده ﻣﻲﺷﻮد .در اداﻣﻪ ﺗﻌﺎرﻳﻒ و ﻧﻜﺎﺗﻲ در ﻣﻮرد دﻳﺪ ﺧﺎرﺟﻲ آﻣﺪه اﺳﺖ:
•
دﻳﺪ ﻛﺎرﺑﺮ ﺧﺎص اﺳﺖ ﻧﺴﺒﺖ ﺑﻪ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
اﻳﻦ دﻳﺪ ﺟﺰﻳﻲ اﺳﺖ و ﻧﻪ ﺟﺎﻣﻊ :ﻧﺸﺎن دﻫﻨﺪه "ﻣﺤﺪودهاي " از ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻛﻪ ﺑﻪ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ ﻳﻚ ﻛﺎرﺑﺮ ﺧﺎص ﭘﺎﺳﺦ ﻣﻲدﻫﺪ.
•
اﻳﻦ دﻳﺪ ﻫﻢ در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ ﻣﻄﺮح اﺳﺖ :ﺑﻨﺎﺑﺮﻳﻦ ﻣﺒﺘﻨﻲ اﺳﺖ ﺑﺮ ﻳﻚ ﺳﺎﺧﺘﺎر دادهاي ﻣﺸﺨﺺ و ﻣﻌﻤﻮﻻً ﻫﻤﺎن ﺳﺎﺧﺘﺎر دادهاي ﻛﻪ دﻳﺪ ادراﻛﻲ ﺑﺮ اﺳﺎس آن ﻃﺮاﺣﻲ و ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد.
•
اﻳﻦ دﻳﺪ روي دﻳﺪ ادراﻛﻲ ﻃﺮاﺣﻲ و ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد )ﺑﻪ ﻫﻤﻴﻦ دﻟﻴﻞ ﺑﻪ ﺟﺪوﻟﻬﺎي ﺳﻄﺢ ادراﻛﻲ ،ﺟﺪوﻟﻬﺎي ﻣﺒﻨﺎ ﻳﺎ ﭘﺎﻳﻪ ﻣﻲﮔﻮﻳﻨﺪ(.
•
ﺑﻪ وﺻﻒ ﻳﺎ ﺗﻌﺮﻳﻒ دﻳﺪ ﺧﺎرﺟﻲ ،ﺷﻤﺎي ﺧﺎرﺟﻲ ﻣﻲﮔﻮﻳﻴﻢ :ﻧﻮﻋﻲ "ﺑﺮﻧﺎﻣﻪ " ﻛﻪ ﻛﺎرﺑﺮ ﺳﻄﺢ ﺧﺎرﺟﻲ ﻣﻲﻧﻮﻳﺴﺪ ﺣﺎوي دﺳﺘﻮرات "ﺗﻌﺮﻳﻒ دادهﻫﺎ " و ﮔﺎه
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
50
ﭘﺎﻳﮕﺎه دادهﻫﺎ
"ﻛﻨﺘﺮل دادهﻫﺎ" در ﻫﻤﺎن ﺳﻄﺢ ﺧﺎرﺟﻲ .ﺷﻤﺎي ﺧﺎرﺟﻲ ﻫﻢ ﺑﻪ ﺳﻴﺴﺘﻢ داده ﻣﻲﺷﻮد و در ﻛﺎﺗﺎﻟﻮگ آن ﻧﮕﻬﺪاري ﻣﻲﺷﻮد. •
ﺑﻪ ﺗﻌﺮﻳﻒ ﻣﺠﻤﻮﻋﻪ دﻳﺪﻫﺎي ﺧﺎرﺟﻲ ﻛﺎرﺑﺮ ،ﺳﻄﺢ ﺧﺎرﺟﻲ ﮔﻔﺘﻪ ﻣﻲﺷﻮد.
ﺷﻜﻞ 3-3ﺷﻤﺎﻳﻲ از ﻧﺎﻳﻜﺴﺎﻧﻲ ﺳﺎﺧﺘﺎر دادﻫﺎي در ﺳﻄﻮح ادراﻛﻲ و ﺧﺎرﺟﻲ
ﻧﻜﺘﻪ :ﺣﺪاﻗﻞ از ﻟﺤﺎظ ﻧﻈﺮي ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ ﺳﺎﺧﺘﺎر )ﻣﺪل( داده اي در دو ﺳﻄﺢ اﻧﺘﺰاﻋﻲ ﻳﻌﻨﻲ ﺳﻄﺢ ﺧﺎرﺟﻲ و ﺳﻄﺢ ادراﻛﻲ ﻣﻲ ﺗﻮاﻧﺪ ﻳﻜﺴﺎن ﻧﺒﺎﺷﺪ .ﺑﺎ اﻳﻦ وﺻﻒ، ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻳﻚ ﻧﺮم اﻓﺰار واﺳﻂ ﺑﺮاي ﺗﺒﺪﻳﻞ دو ﺳﺎﺧﺘﺎر ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻻزم اﺳﺖ. ﺷﻜﻞ زﻳﺮ ﺗﻔﺎوت ﺑﻴﻦ ﺳﺎﺧﺘﺎرﻫﺎي داده اي دو دﻳﺪ را ﻣﺸﺨﺺ ﻣﻲ ﻛﻨﺪ .ﻋﻨﺎوﻳﻦ ذﻛﺮ ﺷﺪه در ﺳﻄﺢ ادراﻛﻲ ،در ﻣﻮرد ﺳﺎﺧﺘﺎرﻫﺎي داده اي اﺳﺖ ﻛﻪ در ﻓﺼﻞ ﺑﻌﺪ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ.
3-2دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ ﺳﻄﺢ داﺧﻠﻲ ،ﻫﻤﺎن ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه داده ﻫﺎﺳﺖ .ﻣﻌﻨﺎﻳﺶ اﻳﻦ اﺳﺖ ﻛﻪ DBMS
ﺑﻪ ﺟﻨﺒﻪﻫﺎي ﻓﺎﻳﻠﻴﻨﮓ ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻧﻤﻲ ﭘﺮدازد .اﻳﻦ ﻛﺎر ﺑﺮ ﻋﻬﺪه
"ﺳﻴﺴﺘﻢ ﻓﺎﻳﻞ ﻓﻴﺰﻳﻜﻲ" در ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ اﺳﺖ .در واﻗﻊ،
DBMS
Ramin.Samad@yahoo.com
در ﻣﺤﻴﻂ ﻓﺎﻳﻠﻴﻨﮓ
WWW.IRANMEET.COM
! %
51
ﻣﻨﻄﻘﻲ ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ ،ﻛﻢ و ﺑﻴﺶ ﺷﺒﻴﻪ ﺑﺮﻧﺎﻣﻪ ﻓﺎﻳﻞ ﭘﺮداز ﻛﻪ در ﺳﻄﺢ ﻣﻨﻄﻘﻲ و ﻧﻪ ﻓﻴﺰﻳﻜﻲ ،ﻛﺎر ﻣﻲ ﻛﻨﺪ.
ﺷﻜﻞ 4-3ﻃﺮح ﺷﻤﺎﺗﻴﻚ از ذﺧﻴﺮه ﺳﺎزي ﻓﺎﻳﻠﻬﺎ در ﻣﺤﻴﻂ
DBMS
در اداﻣﻪ ﺗﻮﺿﻴﺤﺎﺗﻲ در ﺧﺼﻮص دﻳﺪ داﺧﻠﻲ اراﺋﻪ ﺷﺪه اﺳﺖ: •
دﻳﺪ
DBMS
)و ﻧﻴﺰ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ( اﺳﺖ در ﺳﻄﺢ ﭘﺎﻳﻴﻦ ﺗﺮ از ﺳﻄﺢ
ادراﻛﻲ ،ﻧﺴﺒﺖ ﺑﻪ ﻛﻞ دادﻫﻬﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ در ﭘﺎﻳﮕﺎهدادهﻫﺎ. •
اﻳﻦ دﻳﺪ در ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ )و ﮔﺎه ﻣﺠﺎزي( ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻣﻄﺮح اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
52
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
اﻳﻦ دﻳﺪ ﻣﺒﺘﻨﻲ اﺳﺖ ﺑﺮﻳﻚ )و ﮔﺎه ﺑﻴﺶ از ﻳﻚ( ﺳﺎﺧﺘﺎر ﻓﺎﻳﻞ ﻛﻪ ﻣﻌﻤﻮﻻً ﺑﺎ ﻧﻈﺮ و دﺧﺎﻟﺖ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻃﺮاﺣﻲ ﻣﻲﺷﻮد .اﻳﻦ ﻃﺮاﺣﻲ ،اﺻﻄﻼﺣﺎ ﺑﻪ ﻃﺮاﺣﻲ ﻓﻴﺰﻳﻜﻲ ﻣﻮﺳﻮم اﺳﺖ.
•
ﺳﻄﺢ داﺧﻠﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ ،در واﻗﻊ ﺳﻄﺤﻲ اﺳﺖ ﻛﻪ در آن ﻓﺎﻳﻠﻬﺎي ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد.
•
ﺑﻪ ﺷﺮح ﻳﺎ ﺗﻌﺮﻳﻒ دﻳﺪ داﺧﻠﻲ ،ﺷﻤﺎي داﺧﻠﻲ ﮔﻔﺘﻪ ﻣﻲﺷﻮد :ﻧﻮﻋﻲ "ﺑﺮﻧﺎﻣﻪ" ﻛﻪ ﺗﻮﺳﻂ ﺧﻮد ) DBMSو ﺗﺎ ﺣﺪي ﺑﺎ دﺧﺎﻟﺖ ﻃﺮاح ﭘﺎﻳﮕﺎهدادهﻫﺎ( ﺗﻮﻟﻴﺪ ﻣﻲﺷﻮد و ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﮔﻔﺘﻴﻢ ﺷﺮح ﻳﺎ ﺗﻮﺻﻴﻒ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه اﺳﺖ ﻛﻪ در واﻗﻊ ﻫﻤﺎن ﺳﻄﺢ داﺧﻠﻲ اﺳﺖ.
ﺷﻜﻞ 5-3ﺷﻤﺎﻳﻲ از ﺗﻔﺎوت ﺳﻄﻮح ﻣﻌﻤﺎري ﺑﻴﻦ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎﻫﻲ و ﻧﺎﭘﺎﻳﮕﺎﻫﻲ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
! %
ﻧﻜﺘﻪ :در ﺑﻌﻀﻲ از ﺳﻴﺴﺘﻢﻫﺎي ﭘﺎﻳﮕﺎﻫﻲ،
DBMS
53
ﻛﻞ ﻓﻀﺎي ﭘﺎﻳﮕﺎه دادهﻫﺎ را ﺑﻪ
ﺻﻮرت ﻣﺠﻤﻮﻋﻪ اي از ﻣﺠﻤﻮﻋﻪ ﺻﻔﺤﺎت ﻣﻲ ﺑﻴﻨﺪ ،ﻳﻌﻨﻲ ﻧﻮﻋﻲ ﻧﻤﺎي ﻣﺠﺎزي از داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎه دارد .اﻳﻦ ﻧﻤﺎي ﻣﺠﺎزي ﺑﺎﻻﺗﺮ از ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد .در واﻗﻊ ﺑﻴﻦ ﺳﻄﺢ ﻧﻤﺎي ﻣﺠﺎزي و ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻓﻴﺰﻳﻜﻲ ،ﻳﻚ ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ واﺳﻂ اﺳﺖ .اﻳﻦ ﺳﻪ ﺳﻄﺢ در ﺷﻜﻞ 4-3ﻧﻤﺎﻳﺶ داده ﺷﺪه اﺳﺖ. ﻧﻜﺘﻪ :ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ دﻳﺪﻫﺎي ﺳﻪ ﮔﺎﻧﻪ اراﺋﻪ ﺷﺪه در ﭘﺎﻳﮕﺎه داده ،اﻛﻨﻮن ﺗﻔﺎوت ﺳﻄﻮح ﻣﻌﻤﺎري ﺑﻴﻦ ﻣﺤﺒﻂ ﭘﺎﻳﮕﺎﻫﻲ و ﻧﺎﭘﺎﻳﮕﺎﻫﻲ ﺑﻬﺘﺮ ﻧﻤﺎﻳﺎن ﻣﻲ ﮔﺮدد .ﺷﻜﻞ زﻳﺮ اﻳﻦ ﺗﻔﺎوت را ﻧﻤﺎﻳﺎن ﻣﻲ ﻛﻨﺪ.
-3ﺳﺎﻳﺮ اﺟﺰاء ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﻐﻴﺮ از ﺳﻪ دﻳﺪ اﺻﻠﻲ اراﺋﻪ ﺷﺪه در ﺑﺎﻻ ،اﺟﺰاء دﻳﮕﺮي ﻧﻴﺰ در ﭘﺎﻳﮕﺎه داده وﺟﻮد دارﻧﺪ ﻛﻪ ﻋﺒﺎرﺗﻨﺪ از: •
ﻛﺎرﺑﺮ
•
زﺑﺎن ﻣﻴﺰﺑﺎن
•
زﺑﺎن دادهاي ﻓﺮﻋﻲ
1-3ﻛﺎرﺑﺮ در ﻣﻌﻨﺎي ﻋﺎم ،ﻫﺮ اﺳﺘﻔﺎده ﻛﻨﻨﺪه از ﭘﺎﻳﮕﺎه داده ﻫﺎ را ﻛﺎرﺑﺮ ﮔﻮﻳﻴﻢ .ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ در ﺑﻌﻀﻲ از ﻛﺘﺐ ﻛﺎرﺑﺮان ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﺮ ﺣﺴﺐ ﻧﻮع ﻛﺎر دﺳﺘﻪ ﺑﻨﺪي ﻣﻲ ﮔﺮدﻧﺪ ،در اﻳﻨﺠﺎ ﻛﻠﻤﻪ ﻛﺎرﺑﺮ ﺑﺼﻮرت ﻋﺎم اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ و از ذﻛﺮ اﻧﻮاع ﻛﺎرﺑﺮ ﺧﻮدداري ﺷﺪه اﺳﺖ.
2-3زﺑﺎن ﻣﻴﺰﺑﺎن ﻳﻜﻲ از زﺑﺎﻧﻬﺎي ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﻗﺎدر ﺑﻪ ﺑﺮﻗﺮاري ارﺗﺒﺎط و اﻧﺘﻘﺎل دﺳﺘﻮرات ﺑﻴﻦ ﺧﻮد و ﭘﺎﻳﮕﺎه داده ﺑﺎﺷﺪ .واﺿﺢ اﺳﺖ ﻛﻪ ﻫﺮﭼﻪ ﺗﻌﺪاد زﺑﺎﻧﻬﺎي ﻣﻴﺰﺑﺎن ﻣﻮرد ﭘﺬﻳﺮش DBMSﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ ،ﻣﻮارد ذﻳﻞ ﺗﺎﻣﻴﻦ ﻣﻲ ﮔﺮدد:
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
54
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﺗﻨﻮع ﻛﺎرﺑﺮدﻫﺎ اﻣﻜﺎن ﭘﺬﻳﺮ ﻣﻲﺑﺎﺷﺪ
•
ﺗﻨﻮع ﻛﺎرﺑﺮان ﺗﺎﻣﻴﻦ ﻣﻲﮔﺮدد
•
اﻧﻌﻄﺎف ﭘﺬﻳﺮي ﺳﻴﺴﺘﻢ ﺑﻴﺸﺘﺮ ﻣﻲﮔﺮدد. ﻛﺎرﺑﺮ
ﻏﻴﺮ ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺲ
ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ
ﻛﺎرﺑﺮ ﻣﻮردي
ﻛﺎرﺑﺮ ﻫﻤﻴﺸﮕﻲ
ﻛﺎرﺑﺮ ﻧﻬﺎﻳﻲ ﺷﻜﻞ 6-3ﺷﻤﺎﻳﻲ از اﻧﻮاع ﻛﺎرﺑﺮان و ارﺗﺒﺎط ﺑﻴﻦ آﻧﻬﺎ
3-3زﺑﺎن دادهاي ﻓﺮﻋﻲ اﻳﻦ زﺑﺎن از ﺳﻪ دﺳﺘﻪ دﺳﺘﻮر ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ: 1
•
دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ
•
دﺳﺘﻮرات ﻋﻤﻠﻴﺎت روي دادهﻫﺎ
•
دﺳﺘﻮرات ﻛﻨﺘﺮل دادهﻫﺎ
2
3
اﻳﻦ ﻧﻮع دﺳﺘﻮرﻫﺎ ﺑﺎﻳﺪ ﺑﺮاي ﻫﺮ ﻳﻚ از ﺳﻄﻮح ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ. اﻳﻦ ﻣﻮﺿﻮع در ﺷﻜﻞ 7-3ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.زﺑﺎن داده اي ﻓﺮﻋﻲ از ﻧﻈﺮ ﻧﻴﺎز ﺑﻪ )1. D at a D ef i n i t i o n La n gu a ge ( D D L ) 2. D at a M a ni p u l a t i o n La n gu a ge ( D M L )3. D at a C o nt r o l La n gu a ge ( D C L
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
! %
55
زﺑﺎن ﻣﻴﺰﺑﺎن ﻳﺎ ﻋﺪم ﻧﻴﺎز ﺑﻪ آن ،ﺑﻪ دو رده ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮد: •
ﻣﺴﺘﻘﻞ ﻳﺎ ﺧﻮد ﻛﻔﺎ
•
ادﻏﺎم ﺷﺪﻧﻲ )ادﻏﺎم ﺷﺪه(
DDL
ﺳﻄﺢ ﺧﺎرﺣﻲ
DML
ﺳﻄﺢ ادراﻛﻲ
DCL
ﺳﻄﺢ داﺧﻠﻲ
ﻣﻌﻤﺎري ANSI
ﺷﻜﻞ 7-3ارﺗﺒﺎط ﺑﻴﻦ ﮔﺮوهﻫﺎي دﺳﺘﻮري ﻣﺨﺘﻠﻒ و ﺳﻄﻮح ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهداده
زﺑﺎن ﻣﺴﺘﻘﻞ زﺑﺎﻧﻲ اﺳﺖ ﻛﻪ ﻧﻴﺎز ﺑﻪ زﺑﺎن ﻣﻴﺰﺑﺎن ﻧﺪارد و ﺧﻮد ﺑﻪ ﺻﻮرت ﺗﻌﺎﻣﻠﻲ )اﻧﺪر ﻛﻨﺸﻲ( اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد و آن را
I.DSL
ﮔﻮﻳﻴﻢ.
زﺑﺎن ادﻏﺎم ﺷﺪﻧﻲ زﺑﺎﻧﻲ اﺳﺖ ﻛﻪ دﺳﺘﻮرﻫﺎﻳﺶ )ﺑﻪ ﻧﺤﻮي( در ﻣﺘﻦ ﺑﺮﻧﺎﻣﻪاي ﺑﻪ زﺑﺎن ﻣﻴﺰﺑﺎن ﺑﻜﺎر ﻣﻲ روﻧﺪ و ﻣﺴﺘﻘﻼ ﻗﺎﺑﻞ اﺳﺘﻔﺎده ﻧﻴﺴﺘﻨﺪ و آن را E.DSLﮔﻮﻳﻴﻢ. ﻧﻜﺘﻪ :زﺑﺎن داده اي ﻓﺮﻋﻲ ﻣﻤﻜﻦ اﺳﺖ ﻫﻢ ﻣﺴﺘﻘﻞ و ﻫﻢ ادﻏﺎم ﺷﺪﻧﻲ ﺑﺎﺷﺪ).(I/E.DSL
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
56
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺗﻤﺮﻳﻨﺎت .1دﻳﺪﻫﺎي ﺳﻪ ﮔﺎﻧﻪ اراﺋﻪ ﺷﺪه در ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .2دﻳﺪ )ﻧﻤﺎي( ادارﻛﻲ را ﺷﺮح دﻫﻴﺪ ؟ .3دﻳﺪ )ﻧﻤﺎي( ﺧﺎرﺟﻲ را ﺷﺮح دﻫﻴﺪ ؟ .4دﻳﺪ )ﻧﻤﺎي( داﺧﻠﻲ را ﺷﺮح دﻫﻴﺪ ؟ .5اﻧﻮاع دﺳﺘﻮرات زﺑﺎن داده اي ﻓﺮﻋﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .6زﺑﺎن ﻣﺴﺘﻘﻞ ﺑﻪ ﭼﻪ ﻣﻌﻨﻲ اﺳﺖ ؟ .7زﺑﺎن ادﻏﺎم ﺷﺪﻧﻲ را ﺷﺮح دﻫﻴﺪ ؟
Ramin.Samad@yahoo.com
тАлтАкWWW.IRANMEET.COMтАмтАм
тАл &тАм тАл ( ' тАм тАля╗ля║к┘Б я╗Ыя╗ая╗▓тАм тАл╪п╪▒ ╪зя╗│я╗ж я╗Уя║╝я╗Ю ╪зя║Ся║Шя║к╪з я║│я╗┤я║┤я║Шя╗в я╗гя║кя╗│я║оя╗│я║Ц янШя║Оя╗│яоХя║О┘З ╪п╪з╪п┘З я╗ля║О я║Чя╗Мя║оя╗│я╗Т ┘И я║│я╗к я║Ся║ия║╢ ╪зя║╗я╗ая╗▓ ╪в┘Ж я╗гя╗о╪▒╪птАм тАля║Ся║о╪▒я║│я╗▓ я╗Чя║о╪з╪▒ я║зя╗о╪зя╗ля╗ия║к яоФя║оя╗Уя║ЦтАк .тАмя║│янЩя║▓ я║│я╗┤я║┤я║Шя╗в я╗ля║О┘К я╗гя║кя╗│я║оя╗│я║Ц янШя║Оя╗│яоХя║О┘З ╪п╪з╪п┘З я╗ля║О ╪з╪▓ я║Яя╗мя║О╪ктАм тАля╗гя║ия║Шя╗ая╗Т я╗гя╗о╪▒╪п ╪пя║│я║Шя╗к я║Ся╗ия║к┘К я╗Чя║о╪з╪▒ я║зя╗о╪зя╗ля╗ия║к яоФя║оя╗Уя║ЦтАк .тАм╪п╪▒ ╪з╪п╪зя╗гя╗к ╪зя║Яя║░╪з╪б я║│я╗┤я║┤я║Шя╗в я╗гя║кя╗│я║оя╗│я║ЦтАм тАлянШя║Оя╗│яоХя║О┘З ╪п╪з╪п┘З я╗гя╗Мя║оя╗Уя╗▓ я║╖я║к┘З ┘И я╗Ыя║Оя║Чя║Оя╗Яя╗о┌п я╗│я║О ╪пя╗│я╗Ья║╕я╗ия║о┘К янШя║Оя╗│яоХя║О┘З ╪п╪з╪п┘З я╗ля║О я║Чя╗оя║┐я╗┤я║в ╪п╪з╪п┘З я║зя╗о╪зя╗ля║к я║╖я║ктАк.тАмтАм тАля║│янЩя║▓ янШя║О╪▒╪зя╗гя║Шя║оя╗ля║О┘К я╗гя║ия║Шя╗ая╗Т я╗гя╗о╪▒╪п я╗зя╗┤я║О╪▓ я║Яя╗мя║Ц я║╖я╗ия║Оя║зя║ЦтАм тАл╪зя║╗я╗ая╗▓ я╗гя╗Шя║Оя╗│я║┤я╗ктАм
тАлтАкDBMSтАмтАм
тАлтАкDBMSтАмтАм
тАля╗гя╗Дя║о╪н я║╖я║к┘З ┘И я╗гя║дя╗о╪▒ я╗ля║О┘КтАм
тАля║╖я║о╪н ╪п╪з╪п┘З я║зя╗о╪зя╗ля╗ия║к я║╖я║ктАк .тАм╪п╪▒ янШя║Оя╗│я║О┘Ж я╗зя╗┤я║░ я║Яя║Оя╗│яоХя║О┘З я╗гя║кя╗│я║о янШя║Оя╗│яоХя║О┘З ╪п╪з╪п┘ЗтАм
тАля║Чя║╕я║оя╗│я║в я║╖я║к┘З ┘И я║Чя╗┤я╗в я╗гя║кя╗│я║оя╗│я║Ц янШя║Оя╗│яоХя║О┘З ╪п╪з╪п┘З я║╖я║о╪н ╪п╪з╪п┘З я║зя╗о╪зя╗ля║к я║╖я║ктАк.тАмтАм
тАля╗ля║к┘Б ╪▒я╗Уя║Шя║О╪▒┘КтАм тАл╪п╪▒ ╪зя╗│я╗ж я╗Уя║╝я╗Ю я╗Ля╗ия║О┘Ия╗│я╗ж ╪▓я╗│я║о я╗гя╗о╪▒╪п я║Ся║дя║Ъ ┘И я║Ся║о╪▒я║│я╗▓ я╗Чя║о╪з╪▒ я╗гя╗▓ яоФя╗┤я║оя╗зя║ктАк:тАмтАм тАлтАвтАм
тАля║│я╗┤я║┤я║Шя╗в я╗гя║кя╗│я║оя╗│я║Ц янШя║Оя╗│яоХя║О┘З╪п╪з╪п┘Зя╗ля║ОтАм
тАлтАвтАм
тАля║Ся║ия║╢ я║│я║Оя║зя║Шя║О╪▒┘КтАм
тАлтАвтАм
тАля║Ся║ия║╢ я╗Ля╗дя╗ая╗┤я║Оя║Чя╗▓тАм
тАлтАвтАм
тАля║Ся║ия║╢ я║Яя║Оя╗гя╗Мя╗┤я║Шя╗▓тАм
тАлтАвтАм
тАл╪▒╪п┘З я║Ся╗ия║к┘К я║│я╗┤я║┤я║Шя╗вя╗ля║О┘К я╗гя║кя╗│я║оя╗│я║Ц янШя║Оя╗│яоХя║О┘З╪п╪з╪п┘Зя╗ля║ОтАм
тАлтАвтАм
тАл╪зя║Яя║░╪з╪б я║│я╗┤я║┤я║Шя╗в я╗гя║кя╗│я║оя╗│я║Ц янШя║Оя╗│яоХя║О┘З╪п╪з╪п┘Зя╗ля║ОтАм
тАлтАвтАм
тАля╗зя╗дя║О┘К я║Ся╗┤я║о┘Ия╗зя╗▓ янШя║Оя╗│яоХя║О┘З╪п╪з╪п┘Зя╗ля║ОтАм
тАлтАкRamin.Samad@yahoo.comтАмтАм
WWW.IRANMEET.COM
58
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻧﻤﺎي دروﻧﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻻﻳﻪ ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهداده
•
ﻻﻳﻪ ﻫﺴﺘﻪ ﭘﺎﻳﮕﺎهداده
•
ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ و دﻳﻜﺸﻨﺮي دادهﻫﺎ :ﻣﺘﺎ دادهﻫﺎ
•
ﭘﺎراﻣﺘﺮﻫﺎي ﺷﻨﺎﺧﺖ
•
ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﺳﻄﺢ داﺧﻠﻲ -ﻓﻴﺰﻳﻜﻲ
•
ﺳﻄﺢ ادراﻛﻲ
•
ﺳﻄﺢ ﺧﺎرﺟﻲ
•
ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن دادهاي ﻓﺮﻋﻲ
•
ﻣﺤﻮرﻫﺎي اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ DBMSﻫﺎ
•
ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده
•
ﺗﻴﻢ ،DBAوﻇﺎﻳﻒ و ﻣﺴﺌﻮﻟﻴﺖﻫﺎ ي آن
DBMS
)(DBA
-1ﺗﻌﺮﻳﻒ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻳﻜﻲ از اﻧﻮاع ﻧﺮم اﻓﺰارﻫﺎي واﺳﻄﻪ ﺑﻴﻦ ﻣﺤﻴﻂ ﻓﻴﺰﻳﻜﻲ ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت و ﻣﺤﻴﻂ ﻣﻨﻄﻘﻲ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي اﺳﺖ اﻳﻦ ﻧﺮم اﻓﺰار ﺑﻪ ﻛﺎرﺑﺮ ﺑﺮﻧﺎﻣﻪ ﺳﺎز اﻣﻜﺎن ﻣﻲ دﻫﺪ ﺗﺎ: •
ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺧﻮد را ﺗﻌﺮﻳﻒ واﻳﺠﺎد ﻛﻨﺪ.
•
در ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺧﻮد ﻋﻤﻠﻴﺎت اﻧﺠﺎم دﻫﺪ.
•
روي ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺧﻮد ﺗﺎ ﺣﺪي ﻛﻨﺘﺮل داﺷﺘﻪ ﺑﺎﺷﺪ.
ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ در ﻣﺤﻴﻂ ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ .ﺷﻤﺎي ﺳﺎده اي از ﺟﺎﻳﮕﺎه اﻳﻦ ﻧﺮم اﻓﺰار در ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻮﺗﺮي در ﺷﻜﻞ زﻳﺮ ﻧﺸﺎن داده ﺷﺪه اﺳﺖ:
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
59
ﺷﻜﻞ 1-4ﺟﺎﻳﮕﺎه DBMSدر ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي
ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده واﻗﻌﻲ ﺑﺎﻳﺪ اﻣﻜﺎن اﻧﺠﺎم اﻳﻦ ﺳﻪ ﻓﻌﺎﻟﻴﺖ اﺳﺎﺳﻲ را ﻗﺒﻞ از ﻫﺮ ﭼﻴﺰ در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﺑﻪ ﻛﺎرﺑﺮ ﺑﺪﻫﺪ .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ ﭘﺎﻳﮕﺎه داده از ﺳﻪ ﺑﺨﺶ اﺻﻠﻲ ﺑﻪ ﺷﺮح ذﻳﻞ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ: •
ﺑﺨﺶ ﺳﺎﺧﺘﺎري
•
ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ
•
ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ
ﺑﺨﺶ ﺳﺎﺧﺘﺎري ﺷﺎﻣﻞ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﻣﺪل اﺳﺖ ﻛﻪ ﻫﻤﺎن ﺳﺎﺧﺘﺎر داده اي اﺻﻠﻲ و ﻣﻔﺎﻫﻴﻢ ﻣﺮﺗﺒﻂ ﺑﺎ آن اﺳﺖ.
ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ ﻣﺠﻤﻮﻋﻪ اﻣﻜﺎﻧﺎﺗﻲ اﺳﺖ ﻛﻪ ﺑﻪ وﺳﻴﻠﻪ آﻧﻬﺎ ﻋﻤﻠﻴﺎت ﻣﻮرد ﻧﻈﺮ ﻛﺎرﺑﺮ ،از ﺟﻤﻠﻪ ﺑﺎزﻳﺎﺑﻲ و ذﺧﻴﺮه ﺳﺎزي ،در ﻛﺎدر ﺳﺎﺧﺘﺎر داده اي و ﻣﺒﺘﻨﻲ ﺑﺮ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎر اﺳﺎﺳﻲ آن اﻧﺠﺎم ﻣﻲ ﺷﻮد.
ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ از ﻣﺠﻤﻮﻋﻪ اي از ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از آن ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻣﻲ ﺗﻮاﻧﺪ ﺻﺤﺖ ،دﻗﺖ و ﺳﺎزﮔﺎري دادهﻫﺎ را در ﻫﺮ ﻟﺤﻈﻪ از ﺣﻴﺎت ﭘﺎﻳﮕﺎه داده ﻫﺎ ،ﻛﻨﺘﺮل و ﺗﻈﻤﻴﻦ ﻛﻨﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
60
ﭘﺎﻳﮕﺎه دادهﻫﺎ
-2رده ﺑﻨﺪي ﺳﻴﺴﺘﻢﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده را ﻣﻲ ﺗﻮان ﺑﻪ ﭼﻨﺪﻳﻦ ﺻﻮرت دﺳﺘﻪ ﺑﻨﺪي ﻧﻤﻮد .اﻳﻦ دﺳﺘﻪ ﺑﻨﺪي ﻫﺎ در ذﻳﻞ آﻣﺪه اﻧﺪ:
از ﻧﻈﺮ ﻣﺪل دادهاي •
ﺳﻴﺴﺘﻢ راﺑﻄﻪاي
•
ﺳﻴﺴﺘﻢ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
•
ﺳﻴﺴﺘﻢ ﺷﺒﻜﻪاي
از ﻧﻈﺮ ﻣﺤﻴﻂ ﺳﺨﺖاﻓﺰاري •
ﻗﺎﺑﻠﻴﺖ اﺟﺮا ﺑﺮ روي ﻳﻚ ﺳﺨﺖاﻓﺰار ﺧﺎص
•
ﻗﺎﺑﻠﻴﺖ اﺟﺮا ﺑﺮ روي ﺳﺨﺖاﻓﺰارﻫﺎي ﻣﺘﻨﻮع
از ﻧﻈﺮ رده ﺑﻨﺪي ﻛﺎﻣﭙﻴﻮﺗﺮ 1
•
ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺑﺰرگ و ﺧﻴﻠﻲ ﺑﺰرگ
•
ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺘﻮﺳﻂ
•
ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺷﺨﺼﻲ
•
ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي اﻧﻮاع ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ
2
از ﻧﻈﺮ ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ •
واﺑﺴﺘﻪ ﺑﻪ ﻳﻚ ﻧﻮع ﺧﺎص از ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
•
ﻋﺪم واﺑﺴﺘﮕﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ و ﻗﺎﺑﻞ اﺟﺮا ﺑﺮ روي ﭼﻨﺪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
از ﻧﻈﺮ ﻧﻮع ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ •
داراي ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهداده ﻣﺘﻤﺮﻛﺰ
•
داراي ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهداده ﻧﺎ ﻣﺘﻤﺮﻛﺰ
1. M a in f r a me 2. Su p e r C o mp u t e r
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
از ﻧﻈﺮ ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار
61
1
•
ﺗﻮاﻧﺎﻳﻲ در اراﺋﻪ ﻣﻌﻤﺎري ﻳﻚ ﺧﺪﻣﺘﮕﺰار -ﭼﻨﺪ ﻣﺸﺘﺮي
•
ﺗﻮاﻧﺎﻳﻲ در اراﺋﻪ ﻣﻌﻤﺎري ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار -ﭼﻨﺪ ﻣﺸﺘﺮي
از ﻧﻈﺮ ﺳﻴﺴﺘﻢ ﻓﺎﻳﻞ •
ﻣﺴﺘﻘﻞ از ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﺮﺑﻮط ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
•
واﺑﺴﺘﻪ ﺑﻪ ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
از ﻧﻈﺮ ﻣﺘﺪوﻟﻮژي زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ •
ﺑﺪون ﻣﺘﺪوﻟﻮژي ﺷﻴﺊ ﮔﺮاﻳﻲ
•
داراي ﻣﺘﺪوﻟﻮژي ﺷﻴﺊ ﮔﺮاﻳﻲ
از ﻧﻈﺮ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ و درﺧﻮاﺳﺖﻫﺎي ﻛﺎرﺑﺮ •
داراي ﺑﻬﻴﻨﻪ ﺳﺎز ﻣﺘﻌﺎرف
•
داراي ﺑﻬﻴﻨﻪ ﺳﺎز ﻣﺒﺘﻨﻲ ﺑﺮ ﻗﺎﻋﺪه ،ﻣﻌﻨﺎﻳﻲ و...
از ﻧﻈﺮ ﻧﻮع ﺗﺮاﻛﻨﺶ •
ﭘﺬﻳﺮﻧﺪه ﺗﺮاﻛﻨﺸﻬﺎي ﺳﺎده و ﺗﻚ ﺳﻄﺤﻲ
•
ﭘﺬﻳﺮﻧﺪه ﺗﺮاﻛﻨﺸﻬﺎي ﺑﺎ ﻣﺪل ﭘﻴﺸﺮﻓﺘﻪ )ﻣﺜﻼ ﺗﻮدرﺗﻮ ،زﻧﺠﻴﺮهاي و(...
از ﻧﻈﺮ ﻧﻮع ﭘﺮدازش •
ﺑﺎ ﻗﺎﺑﻠﻴﺖ ﭘﺮدازش ﺑﻲ درﻧﮓ
•
ﻓﺎﻗﺪ اﻳﻦ ﻗﺎﺑﻠﻴﺖ
-3اﺟﺰاء ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ اﻳﻦ ﻧﺮم اﻓﺰار ،ﻣﺜﻞ ﻫﺮ ﻧﺮم اﻓﺰار ﻧﻴﻤﻪ ﺑﻨﻴﺎدي دﻳﮕﺮ از واﺣﺪﻫﺎﻳﻲ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ. ﺗﻌﺪاد واﺣﺪﻫﺎ و ﺣﺠﻢ ﻫﺮ واﺣﺪ ﻧﺮم اﻓﺰاري ﺑﺴﺘﮕﻲ ﺑﻪ ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در اﻧﺠﺎم ﻛﺎرﻫﺎ 1. C li e n t - Se r ve r Ar c h i t e c t u r e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
62
ﭘﺎﻳﮕﺎه دادهﻫﺎ
و اراﺋﻪ ﺧﺪﻣﺎت ﺑﻪ ﻛﺎرﺑﺮان دارد .در اداﻣﻪ واﺣﺪﻫﺎي اﺻﻠﻲ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻌﺮﻓﻲ ﺧﻮاﻫﻴﻢ ﻛﺮد.
1-3ﻧﻤﺎي ﺑﻴﺮوﻧﻲ ﻧﻤﺎي ﺑﻴﺮوﻧﻲ ،از واﺣﺪﻫﺎي اﺻﻠﻲ زﻳﺮ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ: •
واﺣﺪ ﭘﺮدازﺷﮕﺮ "ﭘﺮﺳﺶﻫﺎ"
•
واﺣﺪ ﭘﺮدازﺷﮕﺮ "ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي"
•
واﺣﺪاﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه.
ﺷﻜﻞ 2-4ﻧﻤﺎي ﺑﻴﺮوﻧﻲ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
63
در اﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ ﺷﻮد ﻛﻪ ﭘﺮﺳﺸﻬﺎ ﻧﻴﺰ در واﻗﻊ ﻧﻮﻋﻲ از ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي و ﻳﺎ در ﻣﻮاردي ﻗﺴﻤﺘﻲ از ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي ﻫﺴﺘﻨﺪ .ﺗﻔﺎوت ﺑﻴﻦ اﻳﻦ دو در اﻳﻦ ﻧﻜﺘﻪ اﺳﺖ ﻛﻪ ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﺎرﺑﺮدي ﺑﺎ ﻳﻚ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺗﻬﻴﻪ ﻣﻲ ﺷﻮﻧﺪ ﻛﻪ ﺑﻪ ﻃﺮﻳﻘﻲ ﺑﺎ ﭘﺎﻳﮕﺎه داده ارﺗﺒﺎط ﺑﺮﻗﺮار ﻣﻲ ﻛﻨﺪ و دﺳﺘﻮرات ﻣﻮرد ﻧﻴﺎز ﺑﺮاي ﻛﺎر ﺑﺎ ﭘﺎﻳﮕﺎه داده درون زﺑﺎن اﻧﺘﺨﺎب ﺷﺪه ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺗﻮﺳﻂ ﻛﺎﻣﭙﺎﻳﻠﺮ زﺑﺎن ﺑﺮاي ﭘﺎﻳﮕﺎه داده ﻗﺎﺑﻞ ﻓﻬﻢ ﻣﻲ ﺷﻮد .وﻟﻲ ﭘﺮﺳﺸﻬﺎ ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮراﺗﻲ ﻛﻪ ﺑﺮاي ﭘﺎﻳﮕﺎه داده ﻗﺎﺑﻞ ﻓﻬﻢ ﻣﻲ ﺑﺎﺷﺪ ،ﺗﻬﻴﻪ ﻣﻲ ﺷﻮﻧﺪ و در واﻗﻊ ﺑﻪ ﻧﻮﻋﻲ واﺑﺴﺘﮕﻲ ﻛﺎﻣﻞ ﺑﻪ ﭘﺎﻳﮕﺎه داده ﻣﻮرد اﺳﺘﻔﺎده دارد .ﺷﻜﻞ 2-4ﻧﻤﺎي ﺑﻴﺮوﻧﻲ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده را ﺑﺼﻮرﺗﻲ ﺳﺎده ﺑﻴﺎن ﻣﻲ ﻛﻨﺪ.
2-3ﻧﻤﺎي دروﻧﻲ اﻳﻦ ﻧﺮم اﻓﺰار )ﻧﻤﺎي دروﻧﻲ( از ﺳﻪ ﻻﻳﻪ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ ﻛﻪ ﻫﺮ ﻻﻳﻪ وﻇﺎﻳﻒ ﺧﺎص ﺧﻮد را ﺑﺮ ﻋﻬﺪه دارد .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در ﻛﺘﺎﺑﻬﺎي ﻣﺨﺘﻠﻒ ﻣﻤﻜﻦ اﺳﺖ وﻇﺎﻳﻒ ﻫﺮ ﻳﻚ از اﻳﻦ ﻻﻳﻪ ﻫﺎ ﻣﺘﻔﺎوت ﺑﺎﺷﺪ .در اداﻣﻪ ﻻﻳﻪ ﻫﺎي اﻳﻦ ﻗﺴﻤﺖ ﺑﻪ ﻫﻤﺮاه وﻇﺎﻳﻒ ﻫﺮ ﻳﻚ ﺷﺮح داده ﺷﺪه اﺳﺖ: •
ﻻﻳﻪ ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻻﻳﻪ ﻫﺴﺘﻪ ) 2ﺳﻴﺴﺘﻢ ﻛﻨﺘﺮل ﻳﺎ ﻣﻮﺗﻮر ﭘﺎﻳﮕﺎهدادهﻫﺎ(
•
ﻻﻳﻪ ﺗﺴﻬﻴﻼت ﻧﺮماﻓﺰاري) 3اﺑﺰارﻫﺎ(
1
ﻻﻳﻪ ﻣﺮﺑﻮط ﺑﻪ ﺗﺴﻬﻴﻼت ﻧﺮماﻓﺰاري ﻣﻌﻤﻮﻻً در ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﺘﻔﺎوت ﻣﻲ ﺑﺎﺷﺪ و ﺗﻮاﻧﺎﻳﻲ ﻫﺎ و ﺧﺪﻣﺎت ﻗﺎﺑﻞ اراﺋﻪ در اﻳﻦ ﻻﻳﻪ ﺑﻌﻀﺎ ﺑﺴﻴﺎر ﻣﺘﻨﻮع و ﻳﺎ ﺑﺴﻴﺎر ﺳﺎده اﺳﺖ .ﻟﺬا از ﺑﺤﺚ ﭘﻴﺮاﻣﻮن اﻳﻦ ﻻﻳﻪ اﺟﺘﻨﺎب ﻣﻲﮔﺮدد.
1-2-3ﻻﻳﻪ ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهداده ﻻﻳﻪ ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده وﻇﺎﺑﻒ زﻳﺮ را ﺑﺮ ﻋﻬﺪه دارد:
1. D at a b a s e E n vi r o n me n t M a n a ge me n t La y e r 2. E n gi n e La y e r 3. So f t w a r e F a c i l i ti e s
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
64
ﭘﺎﻳﮕﺎه دادهﻫﺎ • • •
ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ 1ﭘﺎﻳﮕﺎهداده 2
ﻛﻨﺘﺮل ﺗﺮﻣﻴﻢ )ﺑﺎزﺳﺎزي( ﭘﺎﻳﮕﺎهداده اﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ ﭘﺎﻳﮕﺎهداده
3
4
•
ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن
•
ﺗﻮﻟﻴﺪ ﻓﺎﻳﻠﻬﺎي ﺛﺒﺖ ﺗﺮاﻛﻨﺶ5ﻫﺎ
2-2-3ﻻﻳﻪ ﻫﺴﺘﻪ ﭘﺎﻳﮕﺎهداده ﻻﻳﻪ ﻫﺴﺘﻪ در واﻗﻊ ﻻﻳﻪ اﺻﻠﻲ درﻳﺎﻓﺖ ﻛﻨﻨﺪه درﺧﻮاﺳﺖ ﻫﺎ و اﻧﺠﺎم ﻋﻤﻠﻴﺎت ﻣﺮﺗﺒﻂ ﺑﺎ آن را ﺑﺮ ﻋﻬﺪه دارد .ﻣﻬﻤﺘﺮﻳﻦ وﻇﺎﻳﻒ اﻳﻦ واﺣﺪ ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ: •
درﻳﺎﻓﺖ درﺧﻮاﺳﺖﻫﺎ و ﭘﻴﺶ ﻛﺎﻣﭙﺎﻳﻞ
•
ﻛﺎﻣﭙﺎﻳﻞ درﺧﻮاﺳﺖﻫﺎ و ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮ
•
ﻣﺪﻳﺮﻳﺖ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ و ﻓﻀﺎي دﻳﺴﻚ
•
ﻣﺪﻳﺮﻳﺖ ﺑﺎﻓﺮ )ﺣﺎﻓﻈﻪ ﻧﻬﺎن(
•
ﻣﺪﻳﺮﻳﺖ و ﻧﻈﺎرت ﺑﺮ زﻣﺎن اﺟﺮا دﺳﺘﻮرات
•
ﻣﺪﻳﺮﻳﺖ ﻫﻤﺰﻣﺎﻧﻲ ﺗﺮاﻛﻨﺶﻫﺎ
•
ﻣﺪﻳﺮﻳﺖ اﻧﺘﻘﺎل دادهﻫﺎ
•
ﻣﺪﻳﺮﻳﺖ ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ
-4ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ و دﻳﻜﺸﻨﺮي دادهﻫﺎ )ﻣﺘﺎ دادهﻫﺎ( ﻳﻜﻲ از وﻳﮋﮔﻲ ﻫﺎي ﻣﺸﻲ ﭘﺎﻳﮕﺎﻫﻲ اﻳﻦ اﺳﺖ ﻛﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻧﻪ ﺗﻨﻬﺎ ﺣﺎوي ﭘﺎﻳﮕﺎه داده ﻫﺎ اﺳﺖ ،ﺑﻠﻜﻪ ﺗﻌﺮﻳﻒ ﻛﺎﻣﻞ ﻳﺎ ﺗﻮﺻﻴﻒ ﭘﺎﻳﮕﺎه داده ﻫﺎ و ﻗﻮاﻋﺪ ﻧﺎﻇﺮ ﺑﻪ آﻧﺮا ﻧﻴﺰ در ﺧﻮد دارد .ﻛﺎﺗﺎﻟﻮگ ﺣﺎوي داده ﻫﺎﻳﻲ اﺳﺖ در ﻣﻮرد داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻛﺎرﺑﺮ .در اداﻣﻪ ﻧﻜﺎﺗﻲ ﭼﻨﺪ در ﻣﻮرد ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ اراﺋﻪ ﻣﻲ ﮔﺮدد: 1. In t e gr a t i o n C o n t ro l 2. R e pa i r C o n t r o l 3. D at a b a s e P r o t e c ti o n 4. B ac ku p G e n e r a t i o n 5. T ra n s a c t i o n R e c o rd
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده •
65
دادهﻫﺎي ﺣﺎوي اﻃﻼﻋﺎت در ﻣﻮرد دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎهداده ،ﺑﻪ ﻣﺘﺎ دادهﻫﺎ ﻣﻮﺳﻮﻣﻨﺪ.
•
در ﺑﻌﻀﻲ از ﻛﺘﺎبﻫﺎ ﺑﻪ ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﮔﺎه دﻳﻜﺸﻨﺮي دادهﻫﺎ ﻫﻢ ﮔﻔﺘﻪ ﻣﻲﺷﻮد، اﻣﺎ در واﻗﻊ دﻳﻜﺸﻨﺮي دادهﻫﺎ ﺣﺎوي اﻃﻼﻋﺎت ﺑﻴﺸﺘﺮي اﺳﺖ.
•
ﻣﺘﺎ دادهﻫﺎ ﻣﻌﻤﻮﻻً از دﻳﺪ ﻛﺎرﺑﺮ ﺳﻄﺢ ﺧﺎرﺟﻲ ﻧﻬﺎناﻧﺪ ،اﻣﺎ ﻣﺪﻳﺮ ﺳﻴﺴﺘﻢ و ﻳﺎ ﻛﺎرﺑﺮ ﻣﺠﺎز ،ﻣﻲﺗﻮاﻧﺪ ﺗﺎ ﺣﺪي از ﻣﺤﺘﻮاي ﻛﺎﺗﺎﻟﻮگ آﮔﺎه ﺷﻮد.
•
ﺳﺎﺧﺘﺎر و ﻣﺤﺘﻮاي ﻛﺎﺗﺎﻟﻮگ و دﻳﮕﺸﻨﺮي دادهﻫﺎ در ﺳﻴﺴﺘﻢﻫﺎي ﻣﺨﺘﻠﻒ ﻳﻜﺴﺎن ﻧﻴﺴﺖ .اﻣﺎ ﺑﻪ ﻃﻮر ﻛﻠﻲ ،اﻃﻼﻋﺎت زﻳﺮ در آﻧﻬﺎ ذﺧﻴﺮه ﻣﻲﺷﻮد:
دﻳﻜﺸﻨﺮي داده ﻫﺎ ﻣﻌﻤﻮﻻً ﺟﺰﻳﻲ از ﺧﻮد ﺳﻴﺴﺘﻢ اﺳﺖ و اﻃﻼﻋﺎت زﻳﺮ در آﻧﻬﺎ ﻧﮕﻬﺪاري ﻣﻲ ﺷﻮد: •
ﺷﻤﺎﻫﺎي ﺧﺎرﺟﻲ
•
ﺷﻤﺎي ادراﻛﻲ
•
ﺷﻤﺎي داﺧﻠﻲ
•
روﻳﻪﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺗﺒﺪﻳﻼت ﺑﻴﻦ ﺳﻪ ﺳﻄﺢ ﻣﻌﻤﺎري
•
ﺷﺮح ﺳﺎﺧﺘﺎر ﻓﻴﺰﻳﻜﻲ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه
•
ﻣﺸﺨﺼﺎت ﻛﺎرﺑﺮان و ﺣﻘﻮق دﺳﺘﻴﺎﺑﻲ آﻧﻬﺎ ﺑﻪ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه
•
ﻣﺸﺨﺼﺎت ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﺗﻮﻟﻴﺪ ﺷﺪه و ارﺗﺒﺎط آﻧﻬﺎ ﺑﺎ درﺧﻮاﺳﺖ ﻛﺎرﺑﺮان
•
ﻣﺸﺨﺼﺎت ﭘﺎﻳﺎﻧﻪﻫﺎي ﻣﺘﺼﻞ ﺑﻪ ﺳﻴﺴﺘﻢ و ﻳﺎ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺸﺘﺮي و اﻳﺴﺘﮕﺎﻫﻬﺎي ﻛﺎري
•
ارﺗﺒﺎط ﺑﻴﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي و دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه
•
ﻗﻮاﻋﺪ ﻣﺮﺑﻮط ﺑﻪ ﻛﻨﺘﺮل ﺻﺤﺖ و دﻗﺖ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﺿﻮاﺑﻂ ﻛﻨﺘﺮلاﻳﻤﻨﻲ دادهﻫﺎ
•
ﻣﺸﺨﺼﺎت ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري ﺳﻴﺴﺘﻢ و رﺳﺎﻧﻪﻫﺎي ذﺧﻴﺮه ﺳﺎزي
•
اﻃﻼﻋﺎت ﻣﺘﻨﻮع آﻣﺎري در ﻣﻮرد ﭘﺎﻳﮕﺎهدادهﻫﺎ ،ﻋﻤﻠﻴﺎت ﻛﺎرﺑﺮان ،ﻓﺮﻛﺎﻧﺲ اﺟﺮاي ﺗﺮاﻛﻨﺸﻬﺎ و ﺗﻌﺪاد دﺳﺘﻴﺎﺑﻲ ﺑﻪ اﺷﻴﺎء ذﺧﻴﺮه ﺷﺪه
•
ﺗﻮاﺑﻊ ﺗﻌﺮﻳﻒ ﺷﺪه ﺗﻮﺳﻂ ﻛﺎرﺑﺮان
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
66
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺷﻜﻞ 3-4ﺷﻤﺎي ﻛﻠﻲ ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ
-5ﭘﺎراﻣﺘﺮﻫﺎي ﺷﻨﺎﺧﺖ
DBMS
اﻣﺮوز ﻣﺮﺗﺒﺎ ﺷﺎﻫﺪ ﻋﺮﺿﻪ ﺳﻴﺴﺘﻢ ﻫﺎي ﺑﺎ ﻧﺎﻣﻬﺎي ﮔﻮﻧﺎﮔﻮن ﺗﺤﺖ ﻋﻨﻮان
DBMS
ﺑﻪ ﺑﺎزار
ﻣﺼﺮف ﻫﺴﺘﻴﻢ .ﻋﺪم اﻃﻼع ﻛﺎﻓﻲ ﺧﺮﻳﺪاران و اﺳﺘﻔﺎده ﻛﻨﻨﺪﮔﺎن ﭼﻨﻴﻦ ﺳﻴﺴﺘﻤﻲ از ﭘﺎراﻣﺘﺮ ﻫﺎي اﻧﺘﺨﺎب ﺳﺒﺐ ﻣﻲﺷﻮد ﺗﺎ اوﻻ اﻧﺘﺨﺎب ﺳﻴﺴﺘﻢ ﻣﻨﺎﺳﺐ ﺑﺮاي ﻳﻚ ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ )ﺳﺎزﻣﺎن( ﻣﺨﺼﻮﺻﺎ ﻣﺤﻴﻂ ﺑﺰرگ ،ﮔﺎه ﺑﺮ اﺳﺎس ﻣﻼﺣﻈﺎت ﻏﻴﺮ ﻋﻠﻤﻲ-ﻓﻨﻲ ﺻﻮرت ﭘﺬﻳﺮد و ﮔﺎه اﺳﺎﺳﺎً ﻧﻮﻋﻲ ﺳﺮدرﮔﻤﻲ در اﻧﺘﺨﺎب ﺑﺮوز ﻛﻨﺪ )اﻟﺒﺘﻪ در اﻧﺘﺨﺎب و ﺧﺮﻳﺪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﻼﺣﻈﺎﺗﻲ ﺟﺰ ﻣﻼﺣﻈﺎت ﻣﺴﺘﻘﻴﻤﺎ ﻣﺮﺑﻮط ﺑﻪ ﺧﻮد ﺳﻴﺴﺘﻢ و ﭘﺎﻳﮕﺎﻫﻲ ﻛﻪ ﻗﺮار اﺳﺖ ﺑﻪ ﻛﻤﻚ آن اﻳﺠﺎد ﺷﻮد ،ﻧﻴﺰ ﻣﻲ ﺗﻮاﻧﺪ ﻣﻄﺮح ﺑﺎﺷﺪ( .ﺛﺎﻧﻴﺎ ﻧﺮم اﻓﺰار ﺧﺮﻳﺪاري ﺷﺪه ﻣﻨﻄﺒﻖ ﺑﺎ ﻧﻴﺎزﻫﺎي ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ و ﭘﺎﺳﺨﮕﻮي اﺣﺘﻴﺎﺟﺎت اﻃﻼﻋﺎﺗﻲ ﻣﺤﻴﻂ ﻧﺒﺎﺷﺪ .ﺛﺎﻟﺜﺎ از ﻧﺮم اﻓﺰار ﺑﻪ ﻫﺮ ﺣﺎل اﻧﺘﺨﺎب ﺷﺪه ﺑﻄﻮر ﺑﻬﻴﻨﻪ ﺑﻬﺮه ﺑﺮداري ﻧﺸﻮد و ﮔﺎه ﭘﻴﺎﻣﺪﻫﺎي ﻧﺎﻣﻄﻠﻮﺑﻲ ﺑﺮوز ﻛﻨﺪ. ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد اﻧﺘﺨﺎب ﺳﻴﺴﺘﻢ ﻣﻨﺎﺳﺐ ،ﻣﺴﺌﻠﻪ اﺳﺎﺳﻲ ﻫﺮ ﺳﺎزﻣﺎن اﺳﺖ. اﻳﻦ ﻣﺴﺌﻠﻪ ﻣﺨﺼﻮﺻﺎ در ﺷﺮاﻳﻄﻲ ﻛﻪ ﺗﺤﻮﻻت ﺗﻜﻨﻮﻟﻮژﻳﻚ در ﻧﺮماﻓﺰار و ﺳﺨﺖاﻓﺰار ﭼﻨﺎن ﺷﺘﺎﺑﻨﺪه اﺳﺖ ﻛﻪ ﻫﺮ روز ﺗﻮﻟﻴﺪات ﻧﺮماﻓﺰاري و ﺳﺨﺖاﻓﺰاري ﺟﺪﻳﺪي ﺑﻪ ﺑﺎزار
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
67
ﻣﺼﺮف ﻋﺮﺿﻪ ﻣﻲﺷﻮﻧﺪ ،ﺑﺎﻻﺧﺺ ﺑﺮاي ﻣﺤﻴﻂﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ ﺑﺰرگ ،ﺑﺴﻴﺎر اﺳﺘﺮاﺗﮋﻳﻚ ﻣﻲﻧﻤﺎﻳﺪ .ﺳﺎزﻣﺎﻧﻬﺎﻳﻲ ﻛﻪ ﺑﺎ ﻣﺸﻜﻞ ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﻣﻴﺎن ﻣﺪت و دراز ﻣﺪت ﻣﻮاﺟﻪاﻧﺪ ،اﮔﺮ در ﺗﺼﻤﻴﻢ ﮔﻴﺮي ﺑﺮاي اﻧﺘﺨﺎب اﻳﻦ ﺗﻜﻨﻮﻟﻮژي ﺑﺎ ﺗﺨﺼﺺ واﻓﻲ و ﻣﻄﺎﻟﻌﻪ ﻫﻤﻪ ﺟﺎﻧﺒﻪ و ﻧﻬﺎﻳﺘﺎ ﺑﺎ ﺷﻨﺎﺧﺖ ﻛﺎﻓﻲ اﻗﺪام ﻧﻜﻨﻨﺪ ،ﻧﻪ ﺗﻨﻬﺎ ﺑﻪ اﻫﺪاف ﺗﻌﺮﻳﻒ ﺷﺪه در ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﻧﺎﻳﻞ ﻧﺨﻮاﻫﺪ ﺷﺪ ﺑﻠﻜﻪ ﭼﻪ ﺑﺴﺎ راه ﺑﻪ ﺑﻴﺮاﻫﻪ ﺧﻮاﻫﺪ ﺑﺮد و ﺑﺎ ﻣﺸﻜﻼت ﻋﺪﻳﺪهاي ﻣﻮاﺟﻪ ﺧﻮاﻫﻨﺪ ﺷﺪ ﻛﻪ رﻓﻊ آﻧﻬﺎ ﺑﻪ آﺳﺎﻧﻲ اﻣﻜﺎن ﭘﺬﻳﺮ ﻧﺨﻮاﻫﺪ ﺷﺪ. ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺣﻞ ﺑﺴﻴﺎري از ﻣﺸﻜﻼت ﺗﻜﻨﻴﻜﻲ در اﻳﺠﺎد ﺳﻴﺴﺘﻢﻫﺎي ﺗﻮزﻳﻊ ﺷﺪه ﻧﺎﻫﻤﮕﻦ ،اﻳﻨﻚ دﻳﮕﺮ ﻣﺴﺌﻠﻪ اﻧﺘﺨﺎب ﻓﻘﻂ ﻳﻚ
DBMS
و ﻳﺎ ﻓﻘﻂ ﻳﻚ ﭘﻴﻜﺮ ﺑﻨﺪي
ﻧﺮماﻓﺰاري-ﺳﺨﺖاﻓﺰاري ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪان ﻣﻄﺮح ﻧﺒﺎﺷﺪ .ﺑﺎ اﻳﻦﻫﻤﻪ اﻧﺘﺨﺎب اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﭘﻴﻜﺮ ﺑﻨﺪي ﻳﻚ ﺳﻴﺴﺘﻢ ﻧﺎﻫﻤﮕﻦ ﺑﻪ ﻫﺮ ﺣﺎل ﻣﻄﺮح اﺳﺖ ﺗﺎ ﻳﻚ ﭘﻴﻜﺮ ﺑﻨﺪي ﺑﺎ ﺑﻴﺸﺘﺮﻳﻦ ﻛﺎراﺋﻲ ،ﻃﺮاﺣﻲ و ﺗﺎﻣﻴﻦ ﺷﻮد. ﺑﻪ ﻣﻨﻈﻮر ﻛﺴﺐ ﺷﻨﺎﺧﺖ ﺗﺨﺼﺼﻲ ﺑﺎﻳﺪ ﭘﺎراﻣﺘﺮﻫﺎي زﻳﺎدي را در ﻧﻈﺮ ﮔﺮﻓﺖ ﻛﻪ اﻳﻦ ﭘﺎراﻣﺘﺮﻫﺎ را ﺑﺼﻮرت ﻛﻠﻲ در ﭘﻨﺞ رده ﺑﻪ ﺷﺮح زﻳﺮ دﺳﺘﻪ ﺑﻨﺪي ﻣﻲﻛﻨﻴﻢ: •
ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺗﻮاﻧﺎﻳﻲﻫﺎ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ
•
ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪﻫﺎي دﻳﮕﺮ
•
ﻣﺸﺨﺼﺎت ﻛﻠﻲ ﺳﻴﺴﺘﻢ
•
ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن دادهاي ﻓﺮﻋﻲ )واﺳﻂ ﻛﺎر ﺑﺮﻧﺎﻣﻪ ﺳﺎز(.
در اداﻣﻪ ﻫﺮ ﻳﻚ از دﺳﺘﻪ ﻫﺎي اﺻﻠﻲ را ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد:
1-5ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺗﻮاﻧﺎﻳﻲﻫﺎ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ •
ﺗﻮان ﺳﻴﺴﺘﻢ در اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺮ اﺳﺎس ﻣﻌﻤﺎري ﭘﻴﺸﻨﻬﺎدي ANSIﻳﻌﻨﻲ ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ.
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻛﺎرﺑﺮان ﻫﻤﺰﻣﺎن.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﺮﻣﻴﻢ دادهﻫﺎ و ﻣﻜﺎﻧﻴﺴﻢﻫﺎي اﻧﺠﺎم اﻳﻦ ﻛﺎر.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﺎﻣﻴﻦ ﻫﻤﺰﻣﺎﻧﻲ ،ﻣﻜﺎﻧﻴﺴﻢ ﻗﻔﻞ ﮔﺬاري ،اﻧﺪازه واﺣﺪ ﻗﻔﻞ ﭘﺬﻳﺮ و وﺟﻮد اﺳﺘﺮاﺗﮋي ﻛﺎرا در ﺣﻞ ﻣﺸﻜﻞ ﺑﻦ ﺑﺴﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
68
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﺎﻣﻴﻦاﻳﻤﻨﻲ دادهﻫﺎ
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺣﻔﺎﻇﺖ دادهﻫﺎ وﺗﻀﻤﻴﻦ ﻣﺤﺮﻣﺎﻧﮕﻲ آﻧﻬﺎ
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ درﺗﺎﻣﻴﻦ رﺷﺪ ﭘﺎﻳﮕﺎهدادهﻫﺎ ودرﺟﻪ ﺳﻬﻮﻟﺖ اﻧﺠﺎم اﻳﻦ ﻛﺎر.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺗﻀﻤﻴﻦ ﺟﺎﻣﻌﻴﺖ ﭘﺎﻳﮕﺎه
•
ﺗﻌﺪاد زﺑﺎﻧﻬﺎي ﻣﻴﺰﺑﺎن ﻣﻮرد ﭘﺬﻳﺮش ﺳﻴﺴﺘﻢ.
•
ﻣﻜﺎﻧﻴﺴﻢ ﻫﻤﺎﻫﻨﮕﻲ ﻋﻤﻠﻜﺮد ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﺧﺎص ﭘﺎﻳﮕﺎه.
•
ﺷﺮاﻳﻂ ﺑﺮوز ﺗﻨﮕﻨﺎﻫﺎ در ﻋﻤﻠﻴﺎت ورودي /ﺧﺮوﺟﻲ و در ﻓﻌﺎﻟﻴﺖ واﺣﺪ ﭘﺮدازش ﻣﺮﻛﺰي و ﻣﻜﺎﻧﻴﺴﻢ رﻓﻊ آن.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در اﺷﺘﺮاﻛﻲ ﻛﺮدن دادهﻫﺎ
•
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ در ﻣﺠﺎز ﺷﻤﺎري و ﺳﻄﺢ ﻳﺎﺳﻄﻮح اﺳﺘﻔﺎده از اﻳﻦ اﻣﻜﺎﻧﺎت )ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻌﻤﺎري ﭼﻨﺪ ﺳﻄﺤﻲ ﭘﺎﻳﮕﺎه(.
•
آﺳﺘﺎﻧﻪ ﭘﺎﻳﺪاري ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ )از ﻧﻈﺮ ﺗﻌﺪاد ﺗﺮاﻛﻨﺶﻫﺎي اﺟﺮا ﺷﻮﻧﺪه ﻣﺜﻼ در ﺛﺎﻧﻴﻪ و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺣﺠﻢ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎه(.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ درﭘﺮدازش ﭘﺮﺳﺸﻬﺎي ﻣﻮازي.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﭘﺬﻳﺮش اﻧﻮاع ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي و ﭘﺮﺳﺸﻬﺎ.
•
ﻧﺤﻮه ﭘﺮدازش زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺗﻮﺳﻂ ﺳﻴﺴﺘﻢ )ﻛﺎﻣﭙﺎﻳﻠﺮي ،ﻣﻔﺴﺮي(.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮﺳﺸﻬﺎ و ﻧﻮع ﺑﻬﻴﻨﻪ ﺳﺎزي )اﻋﻤﺎل اﻟﮕﻮرﻳﺘﻢﻫﺎي ﺑﻬﻴﻨﻪ در اﺟﺮاي ﭘﺮﺳﺸﻬﺎ( و زﻣﺎن اﻧﺠﺎم ﺑﻬﻴﻨﻪ ﺳﺎزي اﺳﺘﺮاﺗﮋي دﺳﺘﻴﺎﺑﻲ )در زﻣﺎن ﻛﺎﻣﭙﺎﻳﻞ ،در اوﻟﻴﻦ ﺑﺎر اﺟﺮاي ﭘﺮﺳﺶ ،در ﻫﺮ ﺑﺎر ﻛﻪ ﭘﺮﺳﺶ اﺟﺮا ﻣﻲﺷﻮد(.
•
ﻣﺪﻟﻬﺎي ﺗﺮاﻛﻨﺶ ﻛﻪ ﻣﻲﭘﺬﻳﺮد )ﺑﻮﻳﮋه ﻣﺪﻟﻬﺎي ﭘﻴﺸﺮﻓﺘﻪ(.
•
ﻗﺎﺑﻠﻴﺖ ﮔﺴﺘﺮش ﭘﺬﻳﺮي و ارﺗﻘﺎء ﺳﻴﺴﺘﻢ.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﻣﺤﻴﻂ ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎه و درﺟﻪ ﭘﻮﻳﺎﻳﻲ و ﺧﻮدﻛﺎر ﺑﻮدن اﻳﻦ ﻛﺎر.
•
اﻳﺠﺎد ﺳﻴﺴﺘﻢ در ﺧﺪﻣﺖ رﺳﺎﻧﻲ در ﻣﺤﻴﻂ ﺷﺒﻜﻪاي.
•
ﻧﻮع ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻛﻪ ﺳﻴﺴﺘﻢ ﻣﻲﺗﻮاﻧﺪ آن را ﺗﺎﻣﻴﻦ ﻛﻨﺪ.
•
ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎي ﻣﺘﻌﺎرف دﻳﮕﺮ )ﺑﺎ ﻣﺪل دادهاي و زﺑﺎن دادهاي ﻳﻜﺴﺎن ﻳﺎ ﻣﺘﻔﺎوت( و ﻣﻜﺎﻧﻴﺴﻢ ارﺗﺒﺎط ﺑﺎ آﻧﻬﺎ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده •
69
ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﮔﻮﻧﻪﻫﺎي ﻏﻴﺮ ﻣﺘﻌﺎرف ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﻣﻜﺎﻧﻴﺴﻢ و ﻣﻠﺰوﻣﺎت ﻫﻤﺎﻳﻨﺪي ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎ.
•
ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داﻧﺶ و ﻣﻜﺎﻧﻴﺴﻢ ﻫﻤﺎﻳﻨﺪي.
•
ﻗﺎﺑﻠﻴﺖ ﺗﻌﺎﻣﻞ ﺳﻴﺴﺘﻢ ﺑﺎ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺷﻴﺊﮔﺮا و ﻣﻜﺎﻧﻴﺴﻢ ﻫﻤﺎﻳﻨﺪي.
•
ﻣﻴﺰان ﺗﻐﻴﻴﺮ ﻛﺎرآﻳﻲ ﺳﻴﺴﺘﻢ از ﻣﺎﺷﻴﻦ ﻛﻼﺳﻴﻚ ﺗﺎ ﻣﺎﺷﻴﻦ ﺧﺎص ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي زﻣﺎﻧﺒﻨﺪ.
•
زﺑﺎﻧﻲ ﻛﻪ ﺳﻴﺴﺘﻢ ﺑﺎ آن ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ.
•
ﻣﻴﺰان رﻋﺎﻳﺖ اﺻﻮل ﻧﻮﻳﻦ ﻣﻬﻨﺪﺳﻲ ﻧﺮماﻓﺰار در ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﺳﻴﺴﺘﻢ.
•
ﻣﻴﺰان رﻋﺎﻳﺖ اﺻﻮل ﺷﻴﺊ ﮔﺮاﻳﻲ در ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ.
•
ﺗﻮاﻧﺎﻳﻲ ﺳﻴﺴﺘﻢ در اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهﻫﺎي ﺑﺰرگ و ﺧﻴﻠﻲ ﺑﺰرگ )از ﻧﻈﺮ ﺣﺠﻢ دادهﻫﺎ و ﺗﻌﺪاد ﺗﺮاﻛﻨﺸﻬﺎ(.
•
ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻧﻬﺎن ﻧﮕﺎري دادهﻫﺎ
•
ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﭘﺸﺘﻴﺒﺎﻧﻲ اﻧﻮاع ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻛﻨﺘﺮل اﺷﺘﺒﺎﻫﺎت ﺑﺮﻧﺎﻣﻪ ﺳﺎزي.
•
ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻋﻤﻠﻴﺎت در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎي وب و ﻳﺎ ادﻏﺎم در
•
ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﻋﻤﻠﻴﺎت در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﻣﻮﺑﺎﻳﻞ
•
ﻗﺎﺑﻠﻴﺖ ﺟﺎﺑﺠﺎﻳﻲ ﭘﺬﻳﺮي ﺳﻴﺴﺘﻢ
•
ﻣﺘﻮﺳﻂ زﻣﺎن ﺑﻴﻦ دو ﺧﺮاﺑﻲ ﭘﻲ در ﭘﻲ ﺳﻴﺴﺘﻢ
•
ﻣﻴﺰان ﻛﺎر ﻻزم ﺑﺮاي ﭘﻴﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ
•
اﺳﺘﺎﻧﺪاردﻫﺎي ﺑﻜﺎر رﻓﺘﻪ در ﺳﻴﺴﺘﻢ
•
ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﻣﻮرد ﻧﻴﺎز
•
ﻗﺎﺑﻠﻴﺖ ﺳﻴﺴﺘﻢ در ﭘﺮدازش ﭘﻴﺎمﻫﺎ.
•
ﺗﺠﻬﻴﺰات ﻻزم ﺑﺮاي ﺳﻴﺴﺘﻢ از ﺟﻤﻠﻪ:
•
ﻧﻮع ﺳﺨﺖاﻓﺰار
•
ﺣﺪاﻗﻞ ﺣﺎﻓﻈﻪ ﻻزم
•
ﺣﺪاﻗﻞ ﻓﻀﺎي دﻳﺴﻚ
Ramin.Samad@yahoo.com
" وب"
WWW.IRANMEET.COM
70
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻧﻮع و ﺗﻌﺪاد ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
•
ﺗﻌﺪد و ﺗﻨﻮع رﺳﺎﻧﻪﻫﺎي ﺟﺎﻧﺒﻲ
2-5ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪﻫﺎي دﻳﮕﺮ اﻳﻦ ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪ ﻫﺎ ﻣﻲﺗﻮاﻧﻨﺪ ﻫﻤﺮاه ﺧﻮد ﺳﻴﺴﺘﻢ و ﻳﺎ ﺑﻪ ﻧﺤﻮي ﻗﺎﺑﻞ ﺗﺎﻣﻴﻦ و اﺳﺘﻔﺎده در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﺑﺎﺷﻨﺪ )ﺑﻪ ﺻﻮرت ﻧﺮم اﻓﺰار ﺟﺪاﮔﺎﻧﻪ ﺑﻪ ﻛﺎرﺑﺮان ﺳﻴﺴﺘﻢ ﻋﺮﺿﻪ ﺷﻮﻧﺪ( .ﻫﺮ ﭼﻪ ﺳﻴﺴﺘﻢ از ﻧﻈﺮ ﭘﺬﻳﺮش اﻧﻮاع ﺗﺴﻬﻴﻼت و ﺳﺎزﮔﺎري و ﻫﻤﺎﻳﻨﺪي ﺑﺎ آﻧﻬﺎ ﻏﻨﻲ ﺗﺮ ﺑﺎﺷﺪ ،ﻣﻄﻠﻮﺑﺘﺮ اﺳﺖ و ﺑﻬﺮه ﺑﺮداري ﺑﻬﺘﺮي از ﺳﻴﺴﺘﻢ اﻣﻜﺎن ﭘﺬﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد .ﺑﺮﺧﻲ از اﻳﻦ ﺗﺴﻬﻴﻼت )اﺑﺰارﻫﺎ( ﻋﺒﺎرﺗﻨﺪ از: •
اﻣﻜﺎﻧﺎت ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن
•
اﻣﻜﺎﻧﺎت ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻣﺜﺎل و ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻓﺮم
•
اﻣﻜﺎﻧﺎت ﺑﺮرﺳﻲﻫﺎ و ﺗﺤﻠﻴﻞﻫﺎي آﻣﺎري
•
اﻣﻜﺎﻧﺎت ﮔﺮاﻓﻴﻜﻲ
•
اﻣﻜﺎﻧﺎت ﻧﮕﻬﺪاري ﺳﻴﺴﺘﻢ
•
اﻣﻜﺎﻧﺎت ﺑﻬﻴﻨﻪ ﺳﺎزي ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي
•
اﻣﻜﺎﻧﺎت ﻳﺎدﮔﻴﺮي ﻃﺮز ﻛﺎر ﺑﺎ ﺳﻴﺴﺘﻢ و ﺑﻬﺮه ﺑﺮداري آن
•
اﻣﻜﺎﻧﺎت ﻛﺎر در ﻣﺤﻴﻂ وب
•
اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺖ ﭘﻮﻳﺎي ﭘﺮﺳﺸﻬﺎ
•
اﻣﻜﺎﻧﺎت ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻴﺎت ﻛﺎرﺑﺮان در ﭘﺎﻳﮕﺎه
•
اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺘﻲ ﺑﺮاي ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
اﻣﻜﺎﻧﺎت ﭘﺸﺘﻴﺒﺎﻧﻲ از
•
اﻣﻜﺎﻧﺎت ﭘﺮدازش ﺗﺤﻠﻴﻠﻲ ﺑﺮ ﺧﻂ
•
ﻣﻮﻟﺪ ﮔﺰارش
•
اﻧﻮاع وﻳﺮاﻳﺸﮕﺮﻫﺎ
•
اﺑﺰارﻫﺎياﻳﺠﺎد ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي و واﺳﻄﻪﻫﺎي ﻛﺎرﺑﺮدي
•
اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ ﮔﺮوﻫﻬﺎي ﻛﺎرﺑﺮدي و ﺗﻌﻴﻴﻦ اﻣﺘﻴﺎزات ﻫﺮ ﮔﺮوه )در اﻧﺠﺎم
XML
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهدادهﻫﺎ(
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
71
•
اﻣﻜﺎﻧﺎت دﺳﺘﻴﺎﺑﻲ ﺑﻪ دادهﻫﺎي دوردﺳﺖ
•
اﻣﻜﺎﻧﺎت ﺗﻮﻟﻴﺪ ﺧﺮوﺟﻲﻫﺎي ﻛﺎرﺑﺮﭘﺴﻨﺪ
•
اﻣﻜﺎﻧﺎت ﺗﻨﻈﻴﻢ ﻛﺮدن ﭘﺎﻳﮕﺎه
•
اﻣﻜﺎﻧﺎت ﺗﻨﻈﻴﻢ ﻛﺮدن ﺧﻮد ﺳﻴﺴﺘﻢ
•
اﻣﻜﺎﻧﺎت ﺑﺎرﮔﺬاري )ﮔﺎه ﻣﻮﺳﻮم ﺑﻪ ﻋﻤﻞ ورود دادهﻫﺎ( ،ﺑﺎزﺑﺎرﮔﺬاري ،ﺧﺎﻟﻲ ﻛﺮدن )ﮔﺎه ﻣﻮﺳﻮم ﺑﻪ ﻋﻤﻞ ﺻﺪور دادهﻫﺎ( ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
اﻣﻜﺎﻧﺎت ﺗﺒﺪﻳﻞ ﻳﻚ ﺳﺎﺧﺘﺎر داده از ﺳﻄﺢ ﺧﺎرﺟﻲ ﻣﻌﻤﺎري
ANSI
ﺑﻪ ﺳﺎﺧﺘﺎر
داده دﻳﮕﺮ از ﺳﻄﺢ ادراﻛﻲ ﻫﻤﺎن ﻣﻌﻤﺎري •
اﻣﻜﺎﻧﺎت ﻓﻌﺎل و ﻏﻴﺮﻓﻌﺎل ﻛﺮدن ﭘﺎﻳﮕﺎه
•
اﻣﻜﺎﻧﺎت ﺗﻬﻴﻪ آﻣﺎرﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي )درج ،ﺣﺬف ،ﺑﻬﻨﮕﺎم ﺳﺎزي(
•
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﺑﺮاي ﻣﺪﻟﺴﺎزي دادهﻫﺎ و ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ و ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎه
•
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ﺑﺮاي ﮔﺸﺖ زﻧﻲ )ﮔﺬارﮔﺮي( در ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
اﻣﻜﺎﻧﺎت اﺳﺘﻔﺎده از زﺑﺎﻧﻬﺎي ﺳﻄﺢ ﺑﺎﻻ )ﻧﻪ ﺑﻪ ﻋﻨﻮان زﺑﺎن ﻣﻴﺰﺑﺎن( و ﻣﻜﺎﻧﻴﺴﻢ ﭘﻴﻮﻧﺪ ﺑﻪ ﺳﻴﺴﺘﻢ از ﻃﺮﻳﻖ آﻧﻬﺎ
•
اﻣﻜﺎناﻳﺠﺎد ﻣﺪوﻟﻬﺎي اﺟﺮاﻳﻲ ﺑﺮاي ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﺑﻪ ﻧﺤﻮي ﻛﻪ ﺧﺎرج از ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﻗﺎﺑﻞ اﺟﺮا ﺑﺎﺷﻨﺪ
•
اﻣﻜﺎن اﺳﺘﻔﺎده از ﻳﻚ ﺳﻴﺴﺘﻢ ﺧﺒﺮه در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ
•
ﻣﻮﻟﺪ ﻓﺮم
•
ﻣﻮﻟﺪ ﻣﻨﻮ
•
اﻣﻜﺎﻧﺎت ﺷﺒﻜﻪاي
•
واﺳﻂ
•
اﺑﺰارﻫﺎي ﺗﻮﻟﻴﺪ ﻣﺴﺘﻨﺪات )در ﻣﺮاﺣﻞ ﻣﺨﺘﻠﻒ ﺗﻮﻟﻴﺪ ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي(
4GL
آﻧﭽﻪ ﺑﺮ ﺷﻤﺮده ﺷﺪ ،ﻓﻬﺮﺳﺘﻲ اﺳﺖ از ﺗﺴﻬﻴﻼت و ﺟﻨﺒﻪ ﻫﺎ ،و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﭘﻴﺸﺮﻓﺖ ﻣﻬﻨﺪﺳﻲ ﻧﺮم اﻓﺰار ،اﻣﻜﺎﻧﺎت دﻳﮕﺮي ﻧﻴﺰ ﻣﻲ ﺗﻮاﻧﻨﺪ ﻣﻄﺮح ﺑﺎﺷﻨﺪ .ﺑﻪ وﻳﮋه ﻛﻪ ﻫﺮ روز اﻧﻮاع ﮔﻮﻧﺎﮔﻮﻧﻲ از اﻳﻦ ﻗﺒﻴﻞ اﺑﺰارﻫﺎ و ﺗﺴﻬﻴﻼت ﺗﻮﻟﻴﺪ و ﺑﻪ ﺑﺎزار ﻣﺼﺮف ﻋﺮﺿﻪ ﻣﻲ ﺷﻮﻧﺪ .ﺳﻴﺴﺘﻢ ﻧﻪ ﺗﻨﻬﺎ ﺑﺎﻳﺪ ﺑﺘﻮاﻧﺪ ﺑﺎ اﻳﻦ اﻣﻜﺎﻧﺎت ﺗﻤﺎس ﺑﺮﻗﺮار ﻛﻨﺪ ﺑﻠﻜﻪ ﺑﺎﻳﺪ ﺑﻪ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
72
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺳﻬﻮﻟﺖ ﺑﺎ آﻧﻬﺎ ﻫﻤﺎﻳﻨﺪي داﺷﺘﻪ ﺑﺎﺷﺪ.
3-5ﻣﺸﺨﺼﺎت ﻛﻠﻲ ﺳﻴﺴﺘﻢ •
ﻧﺎم ﻧﺮماﻓﺰار
•
ﻋﻨﻮان ﺷﺮﻛﺖ ﺳﺎزﻧﺪه و ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه
•
ﺷﻤﺎره وﻳﺮاﺳﺖ )ﻧﮕﺎرش( ﻣﻮرد ﺑﺮرﺳﻲ-ﺷﻤﺎره آﺧﺮﻳﻦ وﻳﺮاﺳﺖ
•
ﺗﺎرﻳﺦ ﻋﺮﺿﻪ )اوﻟﻴﻦ ﻧﮕﺎرش و آﺧﺮﻳﻦ ﻧﮕﺎرش(
•
ﻗﻴﻤﺖ
•
ﻧﺎم ﻛﺸﻮر ﺳﺎزﻧﺪه و ﻓﺮوﺷﻨﺪه
•
ﺷﺮاﻳﻂ ﻛﻠﻲ ﺗﺤﻮﻳﻞ
•
ﺧﺪﻣﺎت ﺑﻌﺪ از ﺗﺤﻮﻳﻞ
•
ﻛﻤﻴﺖ و ﻛﻴﻔﻴﺖ آﻣﻮزش
•
ﻣﺴﺘﻨﺪات
•
ﺗﻌﺪاد ﻣﺸﺘﺮيﻫﺎ و ﻣﺎﻫﻴﺖ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ و ﭘﺮدازﺷﻲ آﻧﺎن
•
ﺿﻤﺎﻧﺖ )ﻫﺎي(ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه
•
اﻣﻜﺎﻧﺎت ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه در ﮔﺴﺘﺮش ﻳﺎ ارﺗﻘﺎء ﺳﻴﺴﺘﻢ
•
در دﺳﺘﺮس ﺑﻮدن ﻓﺮوﺷﻨﺪه )ﻫﺮﮔﺎه ﻛﻪ ﻻزم ﺑﺎﺷﺪ(
•
وﺟﻮد ﺗﻴﻢ ﻓﻨﻲ ﭘﺸﺘﻴﺒﺎﻧﻲ ﺳﻴﺴﺘﻢ ،در ﺷﺮﻛﺖ ﻓﺮوﺷﻨﺪه
4-5ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ از آﻧﺠﺎﺋﻴﻜﻪ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه دادهﻫﺎ در ﺳﻪ ﺳﻄﺢ داﺧﻠﻲ ،ادراﻛﻲ و ﺧﺎرﺟﻲ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد ،ﻟﺬا ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻣﻌﻤﺎري را ﻧﻴﺰ در اﻳﻦ ﺳﻪ ﺳﻄﺢ ﺑﺮرﺳﻲ ﻣﻲ ﻛﻨﻴﻢ:
1-4-5ﺳﻄﺢ داﺧﻠﻲ -ﻓﻴﺰﻳﻜﻲ •
ﻧﻮع داده
•
ﻧﺎم ﻓﻴﻠﺪ
•
ﻃﻮل داده )ﺣﺪاﻛﺜﺮ ﻃﻮل ﭘﻴﺶ ﻧﻬﺎده(
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
73
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد رﻛﻮرد
•
ﺣﺪاﻛﺜﺮ ﻃﻮل ﻫﺮ رﻛﻮرد
•
ﺛﺎﺑﺖ ﻳﺎ ﻣﺘﻐﻴﺮ ﺑﻮدن ﻃﻮل رﻛﻮرد
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻓﻴﻠﺪ در ﻫﺮ ﻧﻮع
•
ﺣﺪاﻛﺜﺮ ﻃﻮل ﻫﺮ ﻓﻴﻠﺪ
•
ﺛﺎﺑﺖ ﻳﺎ ﻣﺘﻐﻴﺮ ﺑﻮدن ﻃﻮل ﻓﻴﻠﺪ
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻓﺎﻳﻞﻫﺎي ﺑﺎز در ﻳﻚ زﻣﺎن
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﺗﺮاﻛﻨﺶﻫﺎي ﻋﻤﻞ ﻛﻨﻨﺪه در ﻣﺤﻴﻂ داﺧﻠﻲ-ﻓﻴﺰﻳﻜﻲ
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﺷﺎﺧﺺﻫﺎ و ﺳﺎﺧﺘﺎر دروﻧﻲ ﻫﺮ ﺷﺎﺧﺺ و درﺟﻪ ﭘﻮﻳﺎﻳﻲ آن
•
اﻧﺪازه ﺷﺎﺧﺺ
•
ﻫﺰﻳﻨﻪاﻳﺠﺎد ﺷﺎﺧﺺ
•
ﺳﺎﺧﺘﺎر ﻓﺎﻳﻠﻬﺎي ﻣﻮﺟﻮد
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد ﻛﻠﻴﺪﻫﺎ
•
ﺣﺪاﻛﺜﺮ ﻃﻮل ﻛﻠﻴﺪ
•
ﻧﻮع ﻛﻠﻴﺪ
•
ﻧﺤﻮه اﻧﺠﺎم ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي در ﻣﺤﻴﻂ داﺧﻠﻲ-ﻓﻴﺰﻳﻜﻲ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ در ﻫﺮ ﻋﻤﻞ
•
ﻧﺤﻮه ﺟﺎﻳﮕﻴﺮي ﻓﺎﻳﻠﻬﺎ روي رﺳﺎﻧﻪ ﺧﺎرﺟﻲ
•
ﻧﺤﻮه ﭘﻴﺎده ﺳﺎزي " ﻫﻴﭽﻤﻘﺪار " در اﻳﻦ ﺳﻄﺢ و ﻣﻴﺰان ﺣﺎﻓﻈﻪ ﻣﺼﺮﻓﻲ ﺑﺮاي آن
•
ﭼﮕﻮﻧﮕﻲ ﺗﻨﺎﻇﺮ )ﻧﮕﺎﺷﺖ( ﺑﻴﻦ ﻓﺎﻳﻠﻬﺎ و ﺳﺎﺧﺖﻫﺎي ﺳﻄﺢ ادراﻛﻲ
•
ﭼﮕﻮﻧﮕﻲ ﺧﻮﺷﻪ واري و ﻣﻮﺿﻌﻲ ﺑﻮدن ﻓﺎﻳﻠﻬﺎ و رﻛﻮردﻫﺎ
•
ﭼﮕﻮﻧﮕﻲ ﻓﺸﺮده ﺳﺎزي دادهﻫﺎ و ﻧﺴﺒﺖ ﻓﺸﺮده ﺳﺎزي
•
ﻓﺸﺮده ﺳﺎزي ﺷﺎﺧﺺﻫﺎ و ﻧﺴﺒﺖ ﻓﺸﺮده ﺳﺎزي
•
اﻧﺪازه و ﺗﻌﺪاد ﺑﺎﻓﺮ ﻣﻮرد ﻧﻴﺎز
•
اﻧﺪازه ﺑﻼك
•
اﻧﺪازه ﺻﻔﺤﻪ)ﺛﺎﺑﺖ ﻳﺎ ﻣﺘﻐﻴﺮ(
•
وﺟﻮد زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺑﺮاي ﺳﻄﺢ داﺧﻠﻲ و اﻣﻜﺎﻧﺎت آن
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
74
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻣﻴﺰان دﺧﺎﻟﺖ ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ دراﻳﺠﺎد ﺳﻄﺢ داﺧﻠﻲ-ﻓﻴﺰﻳﻜﻲ و ﻛﻨﺘﺮل آن
2-4-5ﺳﻄﺢ ادراﻛﻲ •
وﺟﻮد ﺳﻄﺢ ادراﻛﻲ
•
درﺟﻪ اﻧﺘﺰاع ﺳﻄﺢ ادراﻛﻲ )ﻛﻪ ﻣﺴﺘﻘﻴﻤﺎ ﺑﻪ ﻣﺪل دادهاي ﺑﺴﺘﮕﻲ دارد(
•
وﺟﻮد زﺑﺎن دادهاي ﻓﺮﻋﻲ در ﺳﻄﺢ ادراﻛﻲ و اﻣﻜﺎﻧﺎت آن
•
اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ ﻗﻮاﻋﺪ )ﻣﺤﺪودﻳﺘﻬﺎي( ﺟﺎﻣﻌﻴﺖ )ﺑﻪ ﻋﻨﻮان ﺑﺨﺸﻲ از ﻣﺪل دادهاي(در ﺑﻴﺮون از ﺑﺮﻧﺎﻣﻪﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ )ﺑﺎ اﺣﻜﺎم ﺗﻌﺮﻳﻒ دادهﻫﺎ(
•
اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ اﻧﻮاع ﻛﻠﻴﺪ )ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ،ﻛﻠﻴﺪ اﺻﻠﻲ ،ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ،ﻛﻠﻴﺪ دﻳﮕﺮو(...
•
ﻣﻴﺰان ﺗﺎﻣﻴﻦ اﺳﺘﻘﻼل دادهاي ﻓﻴﺰﻳﻜﻲ
•
ﻣﻴﺰان دﻳﻨﺎﻣﻴﺴﻢ رﺷﺪ ﭘﺎﻳﮕﺎه در ﺳﻄﺢ ادراﻛﻲ
•
اﻣﻜﺎﻧﺎت ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﭘﺎﻳﮕﺎه در ﺳﻄﺢ ادراﻛﻲ )ﺗﻐﻴﻴﺮ در ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ و در ﭘﻲ آن ﺗﻐﻴﻴﺮ ﺷﻤﺎ(
•
ﭼﮕﻮﻧﮕﻲ ﻣﻜﺎﻧﻴﺴﻢ ﻧﮕﺎﺷﺖ ﺳﻄﺢ ادراﻛﻲ ﺑﻪ داﺧﻠﻲ و ﺟﻨﺒﻪﻫﺎي ﻧﮕﺎﺷﺖ )ﻧﺎم داده ،ﻧﻮع داده ،ﻃﻮل داده ،ﻛﺪ ﻧﻤﺎﻳﺶ داده ،واﺣﺪ داده و(...
•
ﭘﻴﺎﻣﺪﻫﺎي ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﺳﻄﺢ ادراﻛﻲ در ﺳﻄﺢ داﺧﻠﻲ-ﻓﻴﺰﻳﻜﻲ
•
ﻣﻴﺰان اﻓﺰوﻧﮕﻲ در ﺳﻄﺢ ادراﻛﻲ و ﻣﻜﺎﻧﻴﺴﻢ ﻛﻨﺘﺮل آن و ﻣﻴﺰان اﻧﻌﻜﺎس آن در ﺳﻄﺢ داﺧﻠﻲ -ﻓﻴﺰﻳﻜﻲ
•
وﺟﻮد ﻣﻔﻬﻮم ﻣﻴﺪان و اﻣﻜﺎﻧﺎت ﻻزم ﺑﺮاي آن در ﺳﻄﺢ ادراﻛﻲ
•
ﻧﺤﻮه ﺑﺮﺧﻮرد ﺑﺎ " ﻫﻴﭽﻤﻘﺪار " در ﺳﻄﺢ ادراﻛﻲ
•
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ در ﻣﺠﺎزﺷﻤﺎري ﺑﻪ وﻳﮋه در اﻳﻦ ﺳﻄﺢ
3-4-5ﺳﻄﺢ ﺧﺎرﺟﻲ •
وﺟﻮد ﻣﻔﻬﻮم ﻫﻤﮕﺎﻧﻲ دﻳﺪ ﺧﺎرﺟﻲ
•
ﺣﺪاﻛﺜﺮ ﺗﻌﺪاد دﻳﺪﻫﺎي ﻫﺮ ﻛﺎرﺑﺮ و در ﻣﺠﻤﻮع ،ﺗﻨﻮع دﻳﺪﻫﺎ از ﻧﻈﺮ ﻣﻜﺎﻧﻴﺴﻢ ﺗﻌﺮﻳﻒ آﻧﻬﺎ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده •
75
وﺟﻮد زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺧﺎرﺟﻲ و اﻣﻜﺎﻧﺎت آن )ﺑﺮاي ﺑﺎزﻳﺎﺑﻲ ،ذﺧﻴﺮه ﺳﺎزﻳﻲ و ﻛﻨﺘﺮل(
•
درﺟﻪ اﻧﺘﺰاع ﺗﺎﻣﻴﻦ ﺷﺪه در اﻳﻦ ﺳﻄﺢ و ارﺗﻔﺎع اﻳﻦ اﻧﺘﺰاع
•
ﻣﻴﺰان ﺗﺎﻣﻴﻦ اﺳﺘﻘﻼل دادهاي ﻣﻨﻄﻘﻲ
•
ﭼﮕﻮﻧﮕﻲ ﻧﮕﺎﺷﺖ ﺳﻄﺢ ﺧﺎرﺟﻲ ﺑﻪ ادراﻛﻲ و ﻣﺤﻮرﻫﺎي اﻳﻦ ﻧﮕﺎﺷﺖ )ﺣﺪود آزادي ﻋﻤﻞ ﻛﺎرﺑﺮان در ﺗﻌﻴﻴﻦ ﺟﻨﺒﻪﻫﺎي داده(
•
ﻗﺪرت ﺳﻴﺴﺘﻢ در اﻧﺠﺎم ﻋﻤﻠﻴﺎت ﺑﻬﻨﮕﺎم ﺳﺎزي دﻳﺪﻫﺎ )ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﻪ ﻣﻌﻨﺎي ﻋﺎم ﻳﻌﻨﻲ درج ،ﺣﺬف و ﺗﻐﻴﻴﺮ( و ﺗﻨﻮع دﻳﺪﻫﺎي ﭘﺬﻳﺮاي اﻳﻦ ﻋﻤﻠﻴﺎت
•
وﺟﻮد ﻛﻠﻴﺪ اﺻﻠﻲ در اﻳﻦ ﺳﻄﺢ )ﺑﺮاي ﺑﻌﺾ دﻳﺪﻫﺎ ﺑﻪ ﺗﺸﺨﻴﺺ ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ(
5-5ﭘﺎراﻣﺘﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن دادهاي ﻓﺮﻋﻲ •
ﻣﻴﺰان ﭘﺎﻳﺒﻨﺪي اﺣﻜﺎم زﺑﺎن ﺑﻪ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﻣﺪل دادهاي در ﺟﻬﺖ ﺗﺎﻣﻴﻦ اﻧﺘﺰاع ﻫﺮﭼﻪ ﺑﻴﺸﺘﺮ
•
وﺟﻮد دﺳﺘﻮرات DCL ،DML ،DDLﺑﺮاي ﻫﺮ ﺳﻪ ﺳﻄﺢ ﻣﻌﻤﺎري
•
داﺷﺘﻦ ﻫﺮ دو ﺟﻨﺒﻪ ﺧﻮدﻛﻔﺎ )ﻣﺴﺘﻘﻞ( ﺑﻮدن و ﻗﺎﺑﻞ ادﻏﺎم ﺑﻮدن
•
اﻧﻮاع دادهاي ﻣﻮﺟﻮد
•
ﮔﺴﺘﺮش ﭘﺬﻳﺮي ﻧﻮع دادهاي و وﺟﻮد ﻧﻮع دادهاي ﺗﻌﺮﻳﻒ ﺷﺪه ﺗﻮﺳﻂ ﻛﺎرﺑﺮ
•
ﭘﺬﻳﺮش BLOBو دادهﻫﺎي از ﻧﻮع ﺗﺼﻮﻳﺮ ،وﻳﺪﺋﻮ و ﻣﺘﻦ
•
اﻣﻜﺎن ﻧﻮﺷﺘﻦ روﻳﻪ ذﺧﻴﺮه ﺷﺪه و رﻫﺎﻧﺎ
•
ﺟﻬﺖ ﺟﺎﺑﺠﺎﻳﻲ ﻣﻜﺎن ﻧﻤﺎ )ﺟﻠﻮ ،ﻋﻘﺐ و ﻫﺮ دو ﺳﻮ(
•
واﺳﻂﻫﺎي ﻣﺤﻴﻂ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي )ﻣﺜﻞ ODBCو(...
•
درﺟﻪ ﻛﻤﺎل از ﻧﻈﺮ ﺳﺎﺧﺘﺎر دادهاي
•
درﺟﻪ ﻛﻤﺎل ﺑﺮﻧﺎﻣﻪ ﺳﺎزي
•
ﺳﺎزﮔﺎري ﺑﺎ
•
روﻳﻪاي ﻳﺎ ﻧﺎ روﻳﻪاي ﺑﻮدن
•
ﻣﻔﺴﺮي ﻳﺎ ﻛﺎﻣﭙﺎﻳﻠﺮي ﺑﻮدن
4GL
Ramin.Samad@yahoo.com
ANSI
WWW.IRANMEET.COM
76
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
رﻋﺎﻳﺖ اﺻﻞ وﺣﺪت اﺣﻜﺎم ﺑﺮاي ﻋﻤﻞ واﺣﺪ در دو ﺳﻄﺢ اﻧﺘﺰاﻋﻲ و ﻧﻴﺰ در ﻳﻚ ﺳﻄﺢ ﻣﺸﺨﺺ
•
وﺟﻮد اﻣﻜﺎن ﻛﻨﺘﺮل رﻛﻮردﻫﺎي ﺗﻜﺮاري ﺑﺮاي ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻗﺪرت در ﺑﺮﻧﺎﻣﻪ ﺳﺎزي اﻟﮕﻮرﻳﺘﻢﻫﺎي ﺑﻬﻴﻨﻪ ﺑﺮاي اﻧﺠﺎم ﭼﻬﺎر ﻋﻤﻞ اﺻﻠﻲ )ﺑﺎزﻳﺎﺑﻲ ،ﺣﺬف ،درج و ﺑﻬﻨﮕﺎم ﺳﺎزي(
•
ﺳﻬﻮﻟﺖ ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاي اﻧﺠﺎم ﭼﻬﺎر ﻋﻤﻞ اﺻﻠﻲ )ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻔﺎﻫﻴﻢ ﺳﺎﺧﺘﺎر دادهاي(
•
ﺳﻬﻮﻟﺖ ﻳﺎدﮔﻴﺮي و ﻧﺰدﻳﻜﻲ ﺑﻪ زﺑﺎن ﻃﺒﻴﻌﻲ
•
وﺟﻮد اﻣﻜﺎن ﻣﻌﺮﻓﻲ ﻣﻴﺪان و ﻋﻤﻠﻴﺎت روي ﻣﻴﺪانﻫﺎ
•
وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاي اﻋﻤﺎل ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ
•
وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاياﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ دادهﻫﺎ
•
وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاي اﻋﻤﺎل ﺿﻮاﺑﻂ ﻣﺠﺎزﺷﻤﺎري
•
وﺟﻮد اﺣﻜﺎم ﻻزم ﺑﺮاي ﺗﻌﻴﻴﻦ ﺣﺪود ﺗﺮاﻛﻨﺶﻫﺎ و ﻛﻨﺘﺮل ﻫﻤﺰﻣﺎﻧﻲ آﻧﻬﺎ
•
وﺟﻮد اﻣﻜﺎن ﻧﻮﺷﺘﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻣﻮازي ﭘﺮﺳﺶ
•
ﻣﻴﺰان ﺷﻴﺊ ﮔﺮا ﺑﻮدن
•
اﻣﻜﺎﻧﺎت ﻻزم ﺑﺮاي دادهﻫﺎي زﻣﺎﻧﺒﻨﺪ
-6ﻣﺤﻮرﻫﺎي اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ DBMSﻫﺎ در ﻣﻘﺎﻳﺴﻪ اﻳﻦ ﺳﻴﺴﺘﻢﻫﺎ ،ﺑﺎﻳﺪ ﺗﻤﺎم ﭘﺎراﻣﺘﺮﻫﺎي ﮔﻔﺘﻪ ﺷﺪه در ﻗﺴﻤﺖ 9اﻳﻦ ﮔﻔﺘﺎر را در ﻧﻈﺮ داﺷﺖ .اﻣﺎ ﺑﺎ ﺑﺮرﺳﻲ اﻳﻦ ﭘﺎراﻣﺘﺮﻫﺎ ﻣﻲ ﺗﻮان ﻣﺤﻮرﻫﺎي اﺻﻠﻲ ﻣﻘﺎﻳﺴﻪ را ﺑﺪﺳﺖ آورد .در زﻳﺮ ﻣﺤﻮرﻫﺎي ﻣﻬﻤﺘﺮ را ﺑﺮ ﻣﻲﺷﻤﺮﻳﻢ )ﻓﺮض ﺑﺮ اﻳﻦ اﺳﺖ ﻛﻪ ﺳﻴﺴﺘﻢ ﻫﺎي ﻣﻘﺎﻳﺴﻪ ﺷﻮﻧﺪه ﻣﻌﻤﺎري ANSIرا ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻲﻛﻨﻨﺪ(: •
اﻣﻜﺎﻧﺎت ﺗﻌﺮﻳﻒ دادهﻫﺎ
•
اﻧﻮاع دادهاي ﻣﻮرد ﭘﺬﻳﺮش ﺳﻴﺴﺘﻢ
•
اﻣﻜﺎﻧﺎت ﻋﻤﻠﻴﺎت در دادهﻫﺎ
•
ﻧﻮع ﺗﺮاﻛﻨﺶﻫﺎ )ﭼﻨﺪ ﭘﺮﺳﺸﻲ ﻳﺎ ﺑﺮﻧﺎﻣﻪ ،ﺗﻌﺪاد آﻧﻬﺎ( و ﻃﺮز ﻣﺪﻳﺮﻳﺖ آﻧﻬﺎ
•
اﻣﻜﺎﻧﺎت ﭘﺮدازش ﭘﺮﺳﺶﻫﺎ ،ﺑﻬﻴﻨﻪ ﺳﺎزي آﻧﻬﺎ و زﻣﺎن ﺑﻬﻴﻨﻪ ﺳﺎزي
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
77
•
اﻣﻜﺎﻧﺎتاﻳﺠﺎد دﻳﻜﺸﻨﺮي دادهﻫﺎ
•
وﺿﻌﻴﺖ ﺳﻄﺢ داﺧﻠﻲ -ﻓﻴﺰﻳﻜﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ از ﻧﻈﺮ ﺳﺎﺧﺘﺎر ﻓﺎﻳﻠﻬﺎ ،ﺷﻴﻮهﻫﺎي دﺳﺘﻴﺎﺑﻲ )ﺑﻮﻳﮋه ﺷﺎﺧﺺ ﺑﻨﺪي( و ﺟﻨﺒﻪﻫﺎي دﻳﮕﺮ.
•
ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻗﺎﺑﻞاﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ
•
ﻣﺤﻴﻂ ﺳﺨﺖاﻓﺰاري و ﺣﺪاﻗﻞ اﻣﻜﺎﻧﺎت ﻻزم
•
ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﻻزم
•
ﺗﻜﻨﻴﻜﻬﺎي ﻛﻨﺘﺮل ﻫﻤﺰﻣﺎﻧﻲ
•
اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺖ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهدادهﻫﺎ :ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ ،ﺗﺮﻣﻴﻢ ،اﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ.
•
ﺗﺴﻬﻴﻼت ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ )ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ و ﻃﺮاﺣﻲ ﻓﻴﺰﻳﻜﻲ(.
•
ﻣﻜﺎﻧﻴﺴﻢ ادﻏﺎم زﺑﺎن دادهاي ﻓﺮﻋﻲ در زﺑﺎن ﻣﻴﺰﺑﺎن )وﺟﻮد ﭘﻴﺶ ﻛﺎﻣﭙﺎﻳﻠﺮ ﻳﺎ ﻓﺮاﺧﻮاﻧﻲ ﺗﻮاﺑﻊ(.
•
ﺗﻨﻮع دﻳﺪﻫﺎﻳﻲ ﻛﻪ ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را ﻣﻲﭘﺬﻳﺮﻧﺪ.
•
ﻣﻜﺎﻧﻴﺴﻢ ﻣﺠﺎزﺷﻤﺎري ﻛﺎرﺑﺮان )ﻧﺎﻣﺘﻤﺮﻛﺰ ،ﻣﺘﻤﺮﻛﺰ ﻳﺎ ﻧﻴﻤﻪ ﻣﺘﻤﺮﻛﺰ(.
•
اﻣﻜﺎﻧﺎت ﻣﻮرد ﻧﻴﺎز ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
اﻣﻜﺎﻧﺎت ﻧﻬﺎن ﻧﮕﺎري دادهﻫﺎ.
•
ﻃﺮز اﻧﺠﺎم ﻋﻤﻞ ﺑﻬﻨﮕﺎم ﺳﺎزي )درﺟﺎ ﻳﺎ ﺑﺮون از ﺟﺎ(.
•
اﻟﮕﻮرﻳﺘﻢ اﺟﺮاي ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ و ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي.
•
اﻣﻜﺎﻧﺎت ﺗﻌﺎﻣﻞ ﺑﺎ ﺳﻴﺴﺘﻢﻫﺎي دﻳﮕﺮ )ﻧﻮع ﻣﻴﺎن اﻓﺰار و(...
•
ﻃﺮز ﻧﻤﺎﻳﺶ ﻧﺘﺎﻳﺞ ﻋﻤﻠﻴﺎت )ﮔﺮاﻓﻴﻚ و ﮔﺰارش(.
•
ﭘﺬﻳﺮش ﻳﺎ ﻋﺪم ﭘﺬﻳﺮش زﺑﺎﻧﻬﺎي ﻧﺴﻞ ﭼﻬﺎرم و ﭘﻨﺠﻢ.
•
اﻣﻜﺎﻧﺎت ﺗﻮﻟﻴﺪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي.
•
اﻣﻜﺎﻧﺎت ﭘﺸﺘﻴﺒﺎﻧﻲ ﺗﺼﻤﻴﻢ.
•
اﻣﻜﺎﻧﺎت ﻻزم ﺑﺮاي ﺗﻮﻟﻴﺪ واﺳﻄﻬﺎي ﻛﺎرﺑﺮي.
•
اﻣﻜﺎﻧﺎت ﻋﻤﻠﻴﺎﺗﻲ در ﻣﺤﻴﻂ ﺳﻴﺴﺘﻢ " ﺗﻮزﻳﻊ ﺷﺪه ".
•
ﺗﺴﻬﻴﻼت ﻧﺮماﻓﺰاري دﻳﮕﺮ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
78
ﭘﺎﻳﮕﺎه دادهﻫﺎ
-7روش ﻣﻄﺎﻟﻌﻪ ﺳﻴﺴﺘﻢ در ﻣﻄﺎﻟﻌﻪ اﻳﻦ ﻧﺮم اﻓﺰار ،ﺑﻪ ﻣﻨﻈﻮر
ﻛﺴﺐ آﺷﻨﺎﻳﻲ ﻣﻘﺪﻣﺎﺗﻲ ﺑﺎ آن )وﻧﻪ ﭼﻨﺪان
ﺗﺨﺼﺼﻲ( ،ﺑﺎﻳﺪ ﻣﻮارد زﻳﺮ ﺑﺮرﺳﻲ ﺷﻮد: •
ﺑﺮرﺳﻲ ﺷﺮﻛﺖ ﺳﺎزﻧﺪه ،ﺧﺎﻧﻮاده ﻧﺮماﻓﺰارﻫﺎي ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺎﺑﻪ و ﺗﺎرﻳﺨﭽﻪ ﺳﻴﺴﺘﻢ
•
ﺣﺪاﻗﻞ ﭘﻴﻜﺮه ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﻻزم
•
ﺑﺮرﺳﻲ وﺟﻮد اﺟﺰاء ﻣﻌﻤﺎري ANSIﺑﺮاي ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
اﻣﻜﺎﻧﺎت زﺑﺎن دادهاي ﻓﺮﻋﻲ ﺳﻴﺴﺘﻢ
•
اﻣﻜﺎﻧﺎت ﺳﻴﺴﺘﻢ ازﻧﻈﺮ زﺑﺎن ﻣﻴﺰﺑﺎن
•
ﺑﺮرﺳﻲ ﻣﻮﻟﻔﻪﻫﺎي ﻣﺪل دادهاي و ﻣﻴﺰان راﺑﻄﻪاي ﺑﻮدن ﺳﻴﺴﺘﻢ
•
اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﺳﻴﺴﺘﻢ
•
روﻧﺪ ﻛﻠﻲ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺗﻮﺳﻂ ﺳﻴﺴﺘﻢ
•
ﻧﺤﻮه ﻛﺎر ﺑﺎ ﺳﻴﺴﺘﻢ ،ﺑﺮﭘﺎﺳﺎزي ،راهاﻧﺪازي و آﻣﺎده ﺳﺎزي ﺳﻴﺴﺘﻢ ،ورود ﺑﻪ ﺳﻴﺴﺘﻢ و ﻛﺎرﻫﺎي ﻻزم ﺑﺮاياﻳﺠﺎد ﭘﺎﻳﮕﺎه و اﻧﺠﺎم ﻋﻤﻠﻴﺎت در آن
•
ﺗﺴﻬﻴﻼت ﺟﺎﻧﺒﻲ ﺳﻴﺴﺘﻢ از ﺟﻤﻠﻪ واﺳﻂﻫﺎي ﻛﺎرﺑﺮي و....
-8روﻳﻪﻫﺎي ﻣﺴﺘﻨﺪ ﺑﺮاي ﻛﺎرﺑﺮان ﺑﺮاي اﻳﻨﻜﻪ ﻛﺎرﺑﺮان و اﻋﻀﺎء ﺗﻴﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﺘﻮاﻧﻨﺪ از ﺳﻴﺴﺘﻢ اﺳﺘﻔﺎده ﻛﻨﻨﺪ ،ﻣﻌﻤﻮﻻً ﻣﺠﻤﻮﻋﻪ اي از دﺳﺘﻮرﻫﺎ و ﻗﻮاﻋﺪ ،ﻣﻮﺳﻮم ﺑﻪ روﻳﻪ ﻫﺎي ﻣﺴﺘﻨﺪ ﺗﻮﺳﻂ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﺳﻴﺴﺘﻢ در اﺧﺘﻴﺎر ﺧﺮﻳﺪاران ﻗﺮار داده ﻣﻲ ﺷﻮد .در اﻳﻦ روﻳﻪﻫﺎي ﻣﺴﺘﻨﺪ ﭼﮕﻮﻧﮕﻲ اﻧﺠﺎم ﻓﻌﺎﻟﻴﺘﻬﺎي زﻳﺮ ﻣﺸﺨﺺ ﺷﺪه اﺳﺖ: •
ﺑﺮﭘﺎﺳﺎزي ﺳﻴﺴﺘﻢ
•
ﻃﺮز ارﺗﺒﺎط ﺑﺎ ﺳﻴﺴﺘﻢ
•
ﻃﺮز اﺳﺘﻔﺎده از ﺳﻴﺴﺘﻢ
•
ﻃﺮز اﺳﺘﻔﺎده از ﺗﺴﻬﻴﻼت و اﻣﻜﺎﻧﺎت آن
•
ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎﻳﻲ از ﭘﺎﻳﮕﺎهدادهﻫﺎ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده •
79
ﻃﺮز ﺗﺸﺨﻴﺺ ﻋﻴﺒﻬﺎي ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري و ﭼﮕﻮﻧﮕﻲ رﻓﻊ آﻧﻬﺎ و ﺗﺮﻣﻴﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﺗﻐﻴﻴﺮ ﺳﺎﺧﺘﺎر ﭘﺎﻳﮕﺎهدادهﻫﺎ )ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد(
•
ﺗﻨﻈﻴﻢ ﺳﻴﺴﺘﻢ
•
ﺑﻬﺒﻮد ﺑﺨﺸﻴﺪن ﻛﺎراﻳﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن
-9ﻫﺰﻳﻨﻪﻫﺎ اﺳﺘﻔﺎده از ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎه دادهﻫﺎ ﻫﺰﻳﻨﻪ ﻫﺎﻳﻲ دارد .ﺑﺮﺧﻲ از اﻗﻼم ﻣﻬﻤﺘﺮ ﻫﺰﻳﻨﻪ ﻋﺒﺎرﺗﻨﺪاز: •
ﻫﺰﻳﻨﻪ ﺧﺮﻳﺪ ﻧﺮماﻓﺰار اﺻﻠﻲ)(DBMS
•
ﻫﺰﻳﻨﻪ آﻣﻮزش ﻧﺮماﻓﺰار اﺻﻠﻲ
•
ﻫﺰﻳﻨﻪ ﻧﮕﻬﺪاري و ﺑﻬﺮه ﺑﺮداري از آن
•
ﻫﺰﻳﻨﻪ ﺗﺒﺪﻳﻞ ﺳﻴﺴﺘﻢ ﻧﺎﭘﺎﻳﮕﺎﻫﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ
•
ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ اﺑﺰارﻫﺎي ﻧﺮماﻓﺰاري دﻳﮕﺮ
•
ﻫﺰﻳﻨﻪ آﻣﻮزش اﻣﻜﺎﻧﺎت ﻧﺮماﻓﺰاري
•
ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﺑﺴﺘﻪﻫﺎي ﻛﺎرﺑﺮدي
•
ﻫﺰﻳﻨﻪ آﻣﻮزش ﺑﺴﺘﻪﻫﺎي ﻛﺎرﺑﺮدي
•
ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﻣﺴﺘﻨﺪات ﺧﻮد ﺳﻴﺴﺘﻢ
•
ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﻣﺴﺘﻨﺪات اﻣﻜﺎﻧﺎت ﻧﺮماﻓﺰاري و ﺑﺴﺘﻪﻫﺎي ﻛﺎرﺑﺮدي
•
ﻫﺰﻳﻨﻪ ﺗﻨﻈﻴﻢ ﻣﺴﺘﻨﺪات ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ )ﻛﺎﻣﭙﻴﻮﺗﺮ از ردهﻫﺎي ﻣﺨﺘﻠﻒ(
•
ﻫﺰﻳﻨﻪ ﺗﻬﻴﻪ ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي
•
ﻫﺰﻳﻨﻪ ﺗﺎﻣﻴﻦ ﺷﺒﻜﻪﻫﺎي ﻻزم )در ﺻﻮرت ﻟﺰوم(
•
ﻫﺰﻳﻨﻪ ﻧﮕﻬﺪاري و ﺑﻬﺮه ﺑﺮداري از ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي
•
ﻫﺰﻳﻨﻪ ﺑﻬﻴﻨﻪ ﺳﺎزي و ﮔﺴﺘﺮش ﺳﻴﺴﺘﻢ
•
ﺣﻘﻮق و ﻣﺰاﻳﺎي اﻓﺮاد ﺗﻴﻢ ﻣﺪﻳﺮﻳﺖ و ﺗﻴﻢﻫﺎي اﺟﺮاﻳﻲ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
80
ﭘﺎﻳﮕﺎه دادهﻫﺎ
-10ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده
)(DBA
ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻓﺮدي اﺳﺖ ﻣﺘﺨﺼﺺ در ﭘﺎﻳﮕﺎه دادهﻫﺎ و ﺑﺎ ﻣﺴﺌﻮﻟﻴﺖ ﻋﻠﻤﻲ-ﻓﻨﻲ و ﻧﻴﺰ اداري در ﻣﺤﺪوده وﻇﺎﻳﻔﻲ ﻛﻪ ﻋﻬﺪه دار اﺳﺖ .اﻳﻦ ﻣﺪﻳﺮ ﻣﻌﻤﻮﻻً ﻫﻤﺮاه ﺑﺎ ﻳﻚ ﺗﻴﻢ ﺗﺨﺼﺼﻲ ﻛﺎر ﻣﻲ ﻛﻨﺪ ﻛﻪ ﺑﻪ آن ﺗﻴﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﮔﻮﻳﻨﺪ .ﻫﺮ ﻳﻚ از اﻋﻀﺎ اﻳﻦ ﺗﻴﻢ ﻣﺴﺌﻮﻟﻴﺖ ﺧﺎﺻﻲ دارد و در ﺣﻴﻄﻪ اﺧﺘﻴﺎرات و وﻇﺎﻳﻔﺶ ﻣﻲ ﺗﻮاﻧﺪ ﺳﺮﭘﺮﺳﺖ ﻳﻚ ﺗﻴﻢ اﺟﺮاﻳﻲ ﺑﺎﺷﺪ.
1-10اﺻﻄﻼح ﺗﻴﻢ
DBA
در ﻳﻚ ﻣﺤﻴﻂ ﻛﺎري ﺑﺮﺧﻮردار از ﺳﻄﺢ ﻣﻄﻠﻮب داﻧﺶ و ﺗﻜﻨﻮﻟﻮژي و ﻋﻤﻞ ﻛﻨﻨﺪه ﺑﺮ اﺳﺎس دﻳﺴﻴﭙﻠﻴﻦ ﻫﺎ و اﺳﺘﺎﻧﺪارد ﻫﺎي ﻋﻠﻤﻲ و ﻣﻬﻨﺪﺳﻲ و داراي ﻣﺪﻳﺮﻳﺖ ﭘﻮﻳﺎ ،وﺟﻮد اﻳﻦ ﺗﻴﻢ ﺗﺨﺼﺼﻲ اﺟﺘﻨﺎب ﻧﺎﭘﺬﻳﺮ اﺳﺖ .ﺑﻌﻼوه اﻳﻦ ﺗﻴﻢ ﺑﺎﻳﺪ از ﻣﺸﺎوراﻧﻲ در زﻣﻴﻨﻪ ﻫﺎي دﻳﮕﺮ ﻣﻬﻨﺪﺳﻲ ﻧﺮم اﻓﺰار و ﻣﻬﻨﺪﺳﻲ ﺳﺨﺖ اﻓﺰار اﺳﺘﻔﺎده ﻛﻨﺪ و ﺣﺘﻲ ﻣﻄﻠﻮب اﻳﻦ اﺳﺖ ﻛﻪ ﺑﻌﻀﻲ از ﻣﺸﺎوران ﺑﻪ ﻧﺤﻮي ﻋﻀﻮ ﺧﻮد ﺗﻴﻢ ﺑﺎﺷﻨﺪ .ﺑﺮﺧﻲ از ﻣﺴﺌﻮﻟﻴﺖ ﻫﺎي اﺻﻠﻲ در اﻳﻦ ﺗﻴﻢ ﺗﺨﺼﺼﻲ ﻋﺒﺎرﺗﻨﺪ از: •
ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻣﺪﻳﺮ دادهﻫﺎ
•
ﻣﺪﻳﺮ اﻣﻮر ﭘﮋوﻫﺸﻲ -ﺗﻮﺳﻌﻪ
•
ﻣﺪﻳﺮ ﺳﻴﺴﺘﻢ )ﻫﺎي( ﻛﺎرﺑﺮدي
•
ﻣﺴﺌﻮل ﺗﻴﻤﻬﺎي ﺑﺮﻧﺎﻣﻪ ﺳﺎزي
•
ﻣﺴﺌﻮل ﻛﻨﺘﺮل ﻛﺎراﻳﻲ
•
ﻣﺴﺌﻮل ﻛﻨﺘﺮل ﻛﺎراﻳﻲ ﺧﻮد ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ
•
ﻣﺴﺌﻮل ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻴﺎت روي ﭘﺎﻳﮕﺎهدادهﻫﺎ و اﻧﺠﺎم ﻓﻌﺎﻟﻴﺖﻫﺎي آﻣﺎري
DBMS
ﻣﺮﺑﻮﻃﻪ •
ﻣﺴﺌﻮل ﺗﻤﺎس ﺑﺎ ﻛﺎرﺑﺮان زﻳﺮ ﻣﺤﻴﻂﻫﺎي ﺳﺎزﻣﺎن
•
ﻣﺴﺌﻮل ﺗﻨﻈﻴﻢ ﻣﺴﺘﻨﺪات
اﺻﻄﻼح ﺗﻴﻢ DBAﺑﻪ دو ﻣﻌﻨﺎ )در ﻣﺤﻴﻂﻫﺎي ﻛﺎري( ﻣﻄﺮح اﺳﺖ:
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده •
ﺗﻴﻢ
DBA
در ﻣﻌﻨﺎي ﻣﺤﺪود :ﺑﺎ اﻳﻦ ﻣﻌﻨﺎ ،ﺗﻴﻢ
DBA
81
ﺗﻴﻤﻲاﺳﺖ ﻛﻪ
ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺳﺎزﻣﺎن را ،ﭘﺲ ازاﻳﺠﺎد ﺗﻮﺳﻂ ﮔﺮوه دﻳﮕﺮي از ﻣﺘﺨﺼﺼﻴﻦ، ﺗﺤﻮﻳﻞ ﻣﻲﮔﻴﺮد و ﭘﺲ از ﺗﺤﻮﻳﻞ ،وﻇﻴﻔﻪ ﻧﮕﻬﺪاري ،ﺑﻬﺮه ﺑﺮداري و ﮔﺎه ﺑﻬﻴﻨﻪ ﺳﺎزي و اﺣﺘﻤﺎﻻ ﮔﺴﺘﺮش "ﺳﻴﺴﺘﻢ" را ﺑﺮ ﻋﻬﺪه دارد. •
ﺗﻴﻢ
DBA
در ﻣﻌﻨﺎي ﮔﺴﺘﺮده :ﺑﺎ اﻳﻦ ﻣﻌﻨﺎ ،ﺗﻴﻢ ،DBAﺧﻮد ﻫﻤﻪ ﻣﺮاﺣﻞ ﻻزم
ﺑﺮاياﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺳﺎزﻣﺎن را اﻧﺠﺎم ﻣﻲدﻫﺪ و ﺳﭙﺲ ﻧﮕﻬﺪاري ،ﺑﻬﺮه ﺑﺮداري و ﺑﻬﻴﻨﻪ ﺳﺎزي و ﮔﺴﺘﺮش آن را ﺑﺮﻋﻬﺪه ﻣﻲﮔﻴﺮد.
2-10ﻣﺴﺌﻮﻟﻴﺖﻫﺎ ﻣﺪﻳﺮ دادهﻫﺎ ﻓﺮدي اﺳﺖ ﺑﺎ داﻧﺶ و ﺗﺠﺮﺑﻪ در ﻣﺪﻳﺮﻳﺖ و آﺷﻨﺎ ﺑﺎ داﻧﺶ و ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎه داده ﻫﺎ .ﺑﺮاي اﻃﻼع از وﻇﺎﻳﻒ ﻣﺪﻳﺮ داده ﻫﺎ ﺑﻪ ﻣﻨﺎﺑﻊ درس ﻫﺎي ''ﻣﻬﻨﺪﺳﻲ ﻧﺮم اﻓﺰار"" ،ﺗﺤﻠﻴﻞ و ﻃﺮاﺣﻲ ﺳﻴﺴﺘﻢﻫﺎ" و ﻧﻴﺰ درس "ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎت
ﻣﺪﻳﺮﻳﺖ"
ﻣﺮاﺟﻌﻪ ﺷﻮد.
3-10وﻇﺎﻳﻒ ﺗﻴﻢ
DBA
در ﻣﻌﻨﺎي ﮔﺴﺘﺮده وﻇﺎﻳﻔﻲ دارد ﻛﻪ اﻫﻢ آﻧﻬﺎ را ذﻛﺮ ﻣﻲﻛﻨﻴﻢ .ﺗﻮﺟﻪ دارﻳﻢ
ﻛﻪ ﺗﺮﺗﻴﺐ اﻧﺠﺎم اﻳﻦ وﻇﺎﻳﻒ ﻟﺰوﻣﺎ ﻫﻤﺎن ﻧﻴﺴﺖ ﻛﻪ در زﻳﺮ آﻣﺪه اﺳﺖ )روﺷﻦ اﺳﺖ ﻛﻪ در اﺟﺮاي ﻫﺮ ﭘﺮوژه ،ﻧﻴﺎز ﺑﻪ ﻳﻚ ﻃﺮح زﻣﺎن ﺑﻨﺪي ﻓﻌﺎﻟﻴﺘﻬﺎﺳﺖ ﻛﻪ ﺑﺎﻳﺪ آﻣﺎده ﺷﻮد( .ﻫﻤﭽﻨﻴﻦ ﺑﺮﺧﻲ از اﻳﻦ وﻇﺎﻳﻒ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺑﻄﻮر ﻫﻤﺰﻣﺎن اﻧﺠﺎم ﺷﻮﻧﺪ. •
ﻣﺸﺎرﻛﺖ در ﺗﻔﻬﻴﻢ اﻫﻤﻴﺖ و ﻧﻘﺶ داده ﺑﻪ ﻣﺪﻳﺮﻳﺖ ﺳﺎزﻣﺎن
•
ﻣﺸﺎرﻛﺖ در ﺗﻔﻬﻴﻢ اﻫﻤﻴﺖ و ﻣﺰاﻳﺎي ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
ﻣﺸﺎرﻛﺖ در ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد اﺳﺘﻔﺎده ﻳﺎ ﻋﺪم اﺳﺘﻔﺎده از اﻳﻦ ﺗﻜﻨﻮﻟﻮژي.
•
ﻣﺸﺎرﻛﺖ در ﺗﻮﺟﻴﻪ ﻋﻠﻤﻲ-ﻓﻨﻲ ﺗﺼﻤﻴﻢ اﺳﺘﻔﺎده از اﻳﻦ ﺗﻜﻨﻮﻟﻮژي.
•
ﻣﻄﺎﻟﻌﻪ دﻗﻴﻖ و ﻫﻤﻪ ﺟﺎﻧﺒﻪ ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ و ﺑﺮآورد ﺧﻮاﺳﺘﻪﻫﺎ و ﺑﺮ آورد ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان )اﻧﺠﺎم اﺻﻮﻟﻲ ﻣﻬﻨﺪﺳﻲ ﻧﻴﺎزﻫﺎ(.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
82
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﺑﺮرﺳﻲ روﻧﺪ دادهﻫﺎ و روﻧﺪ روﻳﺪادﻫﺎ در ﻣﺤﻴﻂ و رﺳﻢ ﻧﻤﻮدار روﻧﺪ دادهﻫﺎ و روﻧﺪ روﻳﺪادﻫﺎ )ﻳﻚ ﻳﺎ ﻫﺮ دو ﺑﺴﺘﻪ ﺑﻪ ﺷﻴﻮه ﻣﺪﻟﺴﺎزي ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ( و ﺗﻬﻴﻪ و ﺗﻨﻈﻴﻢ ﻣﺴﺘﻨﺪات ﻻزم.
•
ﻣﺪﻟﺴﺎزي ﻣﻌﻨﺎﻳﻲ دادهﻫﺎ )ﺑﺎ ﻣﺮاﺣﻠﻲ ﻛﻪ دﻳﺪه ﺷﺪ از ﺟﻤﻠﻪ رﺳﻢ ﻧﻤﻮدار .(EER
•
ﺗﺨﻤﻴﻦ ﺣﺠﻢ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ در ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي دو ﻣﻮرد ﺗﻌﻴﻴﻦ ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﺗﻌﻴﻴﻦ ﻣﺸﺨﺼﺎت ﺳﻴﺴﺘﻢ )ﻫﺎي( ﻛﺎرﺑﺮدي ﻣﻮرد ﻧﻴﺎز.
•
ﻣﺸﺎرﻛﺖ در اﻧﺘﺨﺎب ) DBMSﻫﺎ( و ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﻻزم در ﺻﻮرت ﻟﺰوم )اﮔﺮ اﻧﺘﺨﺎب ﻧﺸﺪه ﺑﺎﺷﺪ(.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در اﻧﺘﺨﺎب و اﻧﺘﺴﺎب اﻋﻀﺎء ﺗﻴﻤﻬﺎي اﺟﺮاﻳﻲ.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در اﻧﺘﺨﺎب اﺑﺰارﻫﺎي ﻧﺮماﻓﺰاري دﻳﮕﺮ ﺑﺮاي ﺗﻮﻟﻴﺪ و ﮔﺴﺘﺮش ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ.
•
ﺗﺼﻤﻴﻢﮔﻴﺮي درﻣﻮرد زﺑﺎن)ﻫﺎي( ﺑﺮﻧﺎﻣﻪﺳﺎزي ﻣﻮرد ﻧﻴﺎز و ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﻫﺮ ﻛﺎرﺑﺮد.
•
ﻃﺮاﺣﻲ ﺳﻄﺢ ادراﻛﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ )ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ(.
•
ﻧﻮﺷﺘﻦ ﺷﻤﺎي ادراﻛﻲ و ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاياﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
ﺗﻌﻴﻴﻦ ﻣﺠﻤﻮﻋﻪ ﻗﻮاﻋﺪ )ﻣﺤﺪودﻳﺘﻬﺎي( ﺟﺎﻣﻌﻴﺖ ﻧﺎﻇﺮ ﺑﻪ ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
ﻧﻈﺎرت ﺑﺮ ﺗﻌﻴﻴﻦ دﻳﺪﻫﺎي ﺧﺎرﺟﻲ و ﻧﻮﺷﺘﻦ ﺷﻤﺎﻫﺎي ﺧﺎرﺟﻲ.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﻣﺸﺨﺼﺎت ﺳﺎﺧﺘﺎر ﺳﻄﺢ داﺧﻠﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﺗﻌﻴﻴﻦ ﺳﺎﺧﺘﺎر ﻓﺎﻳﻞﻫﺎي ﻣﻨﺎﺳﺐ ،اﺳﺘﺮاﺗﮋيﻫﺎي دﺳﺘﻴﺎﺑﻲ ﻛﺎرا و ﻧﻮﺷﺘﻦ ﺷﻤﺎي داﺧﻠﻲ.
•
اﻧﺠﺎم ﻃﺮاﺣﻲ ﺗﻮزﻳﻊ )در ﺻﻮرت ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه(.
•
ﻃﺮاﺣﻲ "ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي" ،ﺗﺮاﻛﻨﺶﻫﺎي ﻻزم و روﻳﻪﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ ﻻزم. )ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ ﻫﺮ ﺑﺮﻧﺎﻣﻪاي ،ﻧﻴﺎز ﺑﻪ ﻃﺮاﺣﻲ دارد و ﺗﻨﻬﺎ ﭘﺲ از ﻃﺮاﺣﻲ اﺻﻮﻟﻲ ﺑﺮﻧﺎﻣﻪ ،ﻣﻲﺗﻮان ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻛﺮد( ،واﻳﺠﺎد ارﺗﺒﺎط داﺋﻢ ﺑﺎ ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪﮔﺎن " ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي".
•
ﻃﺮاﺣﻲ واﺳﻄﻪﻫﺎي ﻛﺎرﺑﺮدي.
•
اﻳﺠﺎد ﻧﻤﻮﻧﻪ ﻧﺨﺴﺖ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ و ﺑﺎرﮔﺬاري ﭘﺎﻳﮕﺎه ﺑﺎ دادهﻫﺎي ﺗﺴﺘﻲ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده •
83
ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاي ﻛﻨﺘﺮل ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﻮﻳﮋه اﻋﻤﺎل ﻣﺤﺪودﻳﺘﻬﺎي ﺟﺎﻣﻌﻴﺘﻲ.
•
ﻧﻮﺷﺘﻦ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻻزم ﺑﺮاي ﺑﻬﺮه ﺑﺮداري از ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
اﻳﺠﺎد ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ واﻗﻌﻲ )و ﻣﻨﻄﺒﻖ ﺑﺎ ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان(.
•
ﻧﻈﺎرت ﺑﺮ وارد ﻛﺮدن دادهﻫﺎ )در ﺣﺠﻢ ﻣﺤﺪود(.
•
اﻧﺘﺨﺎب اﺳﺘﺮاﺗﮋيﻫﺎي ﺗﺴﺖ ﻣﻨﺎﺳﺐ و ﺗﺴﺖ ﻛﺮدن " ﺳﻴﺴﺘﻢ" ﺑﺎ دادهﻫﺎي ﺗﺴﺘﻲ و ﻧﻴﺰ ﺑﺎ دادهﻫﺎي واﻗﻌﻲ در ﺣﺠﻢ ﻣﺤﺪود )اﻧﺠﺎم دو ﻣﺮﺣﻠﻪ ﺗﺴﺖ(.
•
ﻧﻈﺎرت ﺑﺮ وارد ﻛﺮدن دادهﻫﺎي واﻗﻌﻲ ﺳﺎزﻣﺎن.
•
ﺗﺴﺖ ﻛﺮدن " ﺳﻴﺴﺘﻢ" ﺑﺎ دادهﻫﺎي واﻗﻌﻲ و در ﺣﺠﻢ واﻗﻌﻲ
•
ﺗﻨﻈﻴﻢ دﻗﻴﻖ ﻗﺴﻤﺘﻬﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ و ﻛﻞ ﺳﻴﺴﺘﻢ ﻳﻜﭙﺎرﭼﻪ.
•
ﺗﻌﻴﻴﻦ ﺿﻮاﺑﻂ دﺳﺘﻴﺎﺑﻲ ﻛﺎرﺑﺮان ﺑﻪ دادهﻫﺎ.
•
ﻧﻈﺎرت در ﺗﻬﻴﻪ ﻣﺴﺘﻨﺪات ﻻزم در ﻫﻤﻪ ﻣﺮاﺣﻞ ﻛﺎر.
•
وﺿﻊ اﺳﺘﺎﻧﺪاردﻫﺎي ﻻزم در ﻫﻤﻪ ﻣﺮاﺣﻞ ﻛﺎر و ﻧﻈﺎرت ﺑﺮ اﻋﻤﺎل آﻧﻬﺎ.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﭼﮕﻮﻧﮕﻲ ﺗﺮﻣﻴﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ و در ﺻﻮرت ﻟﺰوم ﺗﻬﻴﻪ ﻳﺎ ﺗﻮﺳﻌﻪ اﺑﺰارﻫﺎي اﻳﻦ ﻛﺎر و اﻧﺠﺎم ﺗﺮﻣﻴﻢ ﭘﺎﻳﮕﺎه.
•
ﻛﻨﺘﺮل ﻣﺪاوم ﻛﺎراﻳﻲ DBMSو ﺗﻼش در اﻓﺰاﻳﺶ ﻛﺎراﻳﻲ.
•
ﻧﻈﺎرت و ﻛﻨﺘﺮل داﺋﻢ ﺑﺮ ﻋﻤﻠﻴﺎﺗﻲ ﻛﻪ در ﭘﺎﻳﮕﺎهدادهﻫﺎ اﻧﺠﺎم ﻣﻲﺷﻮد.
•
ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
ﺗﻀﻤﻴﻦ ﻣﺤﺮﻣﺎﻧﮕﻲ دادهﻫﺎ.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﭼﻨﺪي و ﭼﮕﻮﻧﮕﻲ رﺷﺪ )ﮔﺴﺘﺮش( ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
اﺗﺨﺎذ ﺗﺪاﺑﻴﺮ ﻻزم ﺑﺮاياﻳﻤﻨﻲ و ﺣﻔﺎﻇﺖ دادهﻫﺎ و اﻋﻤﺎل اﻳﻦ ﺗﺪاﺑﻴﺮ.
•
ﻣﺪﻳﺮﻳﺖ ﻛﺎرﺑﺮان ﭘﺎﻳﺎﻧﻲ )اﻳﺠﺎد و ﺗﻌﺮﻳﻒ ﻛﺎرﺑﺮان ،ﮔﺬر واژهﻫﺎ ،اﻣﺘﻴﺎزﻫﺎ و.(...
•
ﺗﻤﺎس داﺋﻢ ﺑﺎ ﻛﺎرﺑﺮان و ﺷﻨﺎﺧﺖ ﻧﻴﺎزﻫﺎي ﺟﺪﻳﺪ آﻧﻬﺎ.
•
ﺗﻮﻟﻴﺪ ﻧﺴﺨﻪﻫﺎي ﭘﺸﺘﻴﺒﺎن ﺑﻄﻮر ﻣﺘﻨﺎوب )ﺑﺎ ﺗﻨﺎوب ﻣﻨﺎﺳﺐ(.
•
ﺗﻌﻴﻴﻦ اﻟﮕﻮﻫﺎي اﺳﺘﻔﺎده از دادهﻫﺎ و ﺑﺴﺎﻣﺪ )ﻓﺮﻛﺎﻧﺲ( اﺳﺘﻔﺎده از دادهﻫﺎ.
•
ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد ﭼﮕﻮﻧﮕﻲ ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻣﺠﺪد ﭘﺎﻳﮕﺎهدادهﻫﺎ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
84
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
اﻧﺠﺎم ﺗﺒﺪﻳﻞ و اﻧﺘﻘﺎل دادهﻫﺎ از" ﺳﻴﺴﺘﻢﻫﺎي ﻣﻮﺟﻮد" ﺑﻪ ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺟﺪﻳﺪ و اﻧﺠﺎم ﺗﺒﺪﻳﻞ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻣﻮﺟﻮد ﺑﻪ ﮔﻮﻧﻪاي ﻛﻪ ﻗﺎﺑﻞ اﺟﺮا در"ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي" ﺟﺪﻳﺪ ﺑﺎﺷﻨﺪ.
•
ﺗﻼش در ﺟﻬﺖ ارﺗﻘﺎء ﺳﻄﺢ داﻧﺶ و ﻓﻦ اﻋﻀﺎء ﺗﻴﻢ و ﻛﺎرﺑﺮان )ﺑﻮﻳﮋه در زﻣﻴﻨﻪ ﺗﻜﻨﻮﻟﻮژي اﻃﻼﻋﺎت و ﺳﻴﺴﺘﻤﻬﺎي اﻃﻼﻋﺎﺗﻲ(.
•
ﺗﻼش در ﺟﻬﺖ ﺷﻨﺎﺳﺎﻳﻲ اﻣﻜﺎﻧﺎت ﺟﺪﻳﺪ ،ﮔﺴﺘﺮش ،ارﺗﻘﺎء و ﻛﺎراﺗﺮ ﻛﺮدن ﺳﻴﺴﺘﻢ ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ اﻣﻜﺎﻧﺎت.
•
ﺗﻬﻴﻪ و ﺗﻨﻈﻴﻢ اﻧﻮاع آﻣﺎرﻫﺎ و ﮔﺰارﺷﺎت ﻛﻨﺘﺮﻟﻲ و ﻣﺪﻳﺮﻳﺘﻲ در ﻣﻮرد ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﻛﺎرﺑﺮان.
•
ﺗﻀﻤﻴﻦ اﻧﺠﺎم و اﺗﻤﺎم "ﭘﺮوژه ﭘﺎﻳﮕﺎﻫﻲ" در ﻣﺪت زﻣﺎن ﭘﻴﺶ ﺑﻴﻨﻲ ﺷﺪه و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﺤﺪودﻳﺖ ﺑﻮدﺟﻪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده
85
ﺗﻤﺮﻳﻨﺎت .1ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻄﺎﻟﻌﻪ ﮔﻔﺘﺎر ،وﻇﺎﻳﻒ اﺳﺎﺳﻲ ﻳﻚ DBMSرا ﻓﻬﺮﺳﺖ ﻛﻨﻴﺪ. .2ﺑﺮاي ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﻳﻚ ،RDBMSﺣﺪاﻗﻞ ﭼﻪ اﺟﺰاﻳﻲ ﻻزم اﺳﺖ ؟ .3ﻳﻚ RDBMSرا اﻧﺘﺨﺎب و ﻛﺎرﻫﺎي ﻻزم ﺑﺮاي ﺑﺮﭘﺎﺳﺎزي آن را اﻧﺠﺎم دﻫﻴﺪ. .4در اﻧﺘﺨﺎب و اﺳﺘﻔﺎده از ﻳﻚ ،DBMSﭼﻪ ﻫﺰﻳﻨﻪ ﻫﺎي دﻳﮕﺮي را ﺑﺎﻳﺪ در ﻧﻈﺮ داﺷﺖ )ﻏﻴﺮ از ﻫﺰﻳﻨﻪ ﻫﺎي ﺑﺮﺷﻤﺮده در ﮔﻔﺘﺎر( ؟ .5ﭼﻪ ﺗﻔﺎوت )ﻫﺎﻳﻲ( ﺑﻴﻦ ﻣﺘﺎ داده ﻫﺎ و دﻳﻜﺸﻨﺮي داده ﻫﺎ وﺟﻮد دارد ؟ .6ﭘﺎراﻣﺘﺮﻫﺎي اﺻﻠﻲ ﺷﻨﺎﺧﺖ ﻳﻚ DBMSرا ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .7ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه داده را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ ؟ .8ﺗﻴﻢ DBAﺑﻪ ﭼﻪ ﻣﻌﻨﺎ اﺳﺖ ؟ .9ﻛﺪاﻣﻴﻚ از وﻇﺎﻳﻒ ،DBAﻣﺴﺘﻘﻞ از ،DBMSﻗﺎﺑﻞ اﻧﺠﺎم اﺳﺖ ؟ .10ﻛﺪاﻣﻴﻚ از ﻣﻮارد ﺑﺮ ﺷﻤﺮده در ﻓﻬﺮﺳﺖ وﻇﺎﻳﻒ ﺗﻴﻢ ،DBAﻣﺴﺘﻘﻴﻤﺎ ﺑﻪ ﻣﺮﺣﻠﻪ ﭘﻴﺎده ﺳﺎزي ﭘﺎﻳﮕﺎه دادهﻫﺎ ﻣﺮﺑﻮط ﻣﻲ ﺷﻮد ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
Ramin.Samad@yahoo.com
86
WWW.IRANMEET.COM
) ! ! * # ﻫﺪف ﻛﻠﻲ دراﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺑﺎ ﻣﻔﻬﻮم ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﻳﻚ ﭘﺎﻳﮕﺎه داده و ﺑﺨﺶ ﻫﺎي ﻣﺨﺘﻠﻒ آن آﺷﻨﺎ ﺧﻮاﻫﻴﻢ ﺷﺪ .در اداﻣﻪ ﺳﻪ ﺳﺎﺧﺘﺎر داده اي اﺻﻠﻲ ﭘﺎﻳﮕﺎهﻫﺎي داده ﻛﻪ ﺷﺎﻣﻞ ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،ﺷﺒﻜﻪ اي و راﺑﻄﻪ اي ﻣﻲ ﺑﺎﺷﻨﺪ را ﻣﻌﺮﻓﻲ ﻛﺮده و ﻋﻨﺎﺻﺮ اﺻﻠﻲ ،ﻋﻤﻠﻴﺎت اﺻﻠﻲ و ﻧﺤﻮه ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖﻫﺎ و وﻳﮋﮔﻲ ﻫﺎي ﻫﺮ ﻳﻚ از ﺳﺎﺧﺘﺎرﻫﺎي داده اي ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ.
ﻫﺪف رﻓﺘﺎري دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ
•
ﺑﺨﺶ ﺳﺎﺧﺘﺎري ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ
•
ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ
•
ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ
•
آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
•
ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري
•
ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
•
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
•
ﺑﺮﺧﻲ وﻳﮋﮔﻲﻫﺎي ﺳﺎﺧﺘﺎر )و ﻣﺪل( دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
88 •
آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر دادهاي ﺷﺒﻜﻪاي
•
ﺗﻌﺮﻳﻒ ﺳﺎﺧﺘﺎر ﺷﺒﻜﻪ
•
ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري
•
ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪاي
•
ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﻳﻚ ﺑﻪ
•
ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ
•
ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﭼﻨﺪ ﺑﻪ
•
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪاي
•
ﺑﺮﺧﻲ وﻳﮋﮔﻲﻫﺎي ﺳﺎﺧﺘﺎر )و ﻣﺪل( دادهاي ﺷﺒﻜﻪاي
-1ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ
ﭼﻨﺪ" ﭼﻨﺪ"
1
در ﻣﻔﺎﻫﻴﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻨﻈﻮر از ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ،ﻣﺤﻴﻄﻲ اﺳﺖ ﻛﻪ ﻣﺎﺑﻴﻦ ﺳﻄﺢ داﺧﻠﻲ )ﻣﺤﻴﻂ ﻓﺎﻳﻠﻴﻨﮓ ﻓﻴﺰﻳﻜﻲ و ﻓﺎﻳﻠﻴﻨﮓ ﻣﻨﻄﻘﻲ( و ﺳﻄﺢ ادراﻛﻲ اﺳﺖ .ﻃﺒﻴﻌﺘﺎ +ﻣﺤﻴﻂ ﺑﺎﻳﺪ از ﺳﻄﺢ ﻓﺎﻳﻠﻴﻨﮓ ﻣﺴﺘﻘﻞ ﻋﻤﻞ ﻛﻨﺪ + .ﻣﺤﻴﻂ ﻣﻨﻄﻘﺎً ﺧﻮد ﻣﻲ ﺗﻮاﻧﺪ داراي ﭼﻨﺪ ﺳﻄﺢ ﺑﺎﺷﺪ .ﺷﻜﻞ 1-5ﻧﻤﺎي ﻛﻠﻲ از ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ را ﻧﺸﺎن دﻫﺪ. ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﻣﺪل ﺳﺎزي دادهﻫﺎ ﻧﻴﺎز ﺑﻪ اﻣﻜﺎﻧﻲ ﺑﺮاي ﻧﻤﺎﻳﺶ واﻗﻌﻴﺎت دارﻳﻢ، ﺑﺮاي ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻧﻴﺰ ﻧﻴﺎز ﺑﻪ ﻳﻚ ﻣﺪل دادهاي ﺷﺎﻣﻞ ﻳﻚ ﺳﺎﺧﺘﺎر دادهاي دارﻳﻢ .ﻣﺪل دادهاي اﻣﻜﺎﻧﻲ اﺳﺖ ﺑﺮاي ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ ،ﺗﻌﺮﻳﻒ و ﻛﻨﺘﺮل آن و اﻧﺠﺎم ﻋﻤﻠﻴﺎت در آن .ﻛﺎرﺑﺮ ﺑﺎ اﺳﺘﻔﺎده از ﻣﺪل دادهاي ﺗﻮاﻧﺪ ﻫﺮ ﺳﻪ ﻋﻤﻞ ﻣﺬﻛﻮر را در ﻳﻚ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ اﻧﺠﺎم دﻫﺪ .ﺑﻨﺎﺑﺮاﻳﻦ ﻣﻲﺗﻮان ﮔﻔﺖ ﻛﻪ ﻣﺪل دادهاي ﺗﺎﻣﻴﻦ ﻛﻨﻨﺪه ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ اﺳﺖ و از ﺳﻪ ﺑﺨﺶ اﺳﺎﺳﻲ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ: •
ﺑﺨﺶ ﺳﺎﺧﺘﺎري
2
3
•
ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ
•
ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ
4
1. Ab s t r a c t E n vi r o n me n t 2. St r u c t u r a l 3. M a ni p u l a t i ve 4. In t e gr i t y
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 89
ﺑﺨﺶ ﺳﺎﺧﺘﺎري ،ﺷﺎﻣﻞ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﻣﺪل اﺳﺖ ﻛﻪ ﻫﻤﺎن ﺳﺎﺧﺘﺎر داده اي اﺻﻠﻲ و ﻣﻔﺎﻫﻴﻢ ﻣﺮﺑﻮط ﺑﻪ آن اﺳﺖ. ﺑﺨﺶ ﻋﻤﻠﻴﺎﺗﻲ ،ﻣﺠﻤﻮﻋﻪ اﻣﻜﺎﻧﺎﺗﻲ اﺳﺖ ﻛﻪ ﺑﻪ وﺳﻴﻠﻪ آﻧﻬﺎ ﻋﻤﻠﻴﺎت ﻣﻮرد ﻧﻈﺮ ﻛﺎرﺑﺮ در ﻣﺠﺪوده ﺳﺎﺧﺘﺎر داده اي و ﻣﺒﺘﻨﻲ ﺑﺮ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ آن اﻧﺠﺎم ﻣﻲ ﺷﻮد. ﺑﺨﺶ ﺟﺎﻣﻌﻴﺘﻲ ،از ﻣﺠﻤﻮﻋﻪاي از ﻗﻮاﻋﺪ )ﻣﺤﺪودﻳﺖ ي( ﺟﺎﻣﻌﻴﺘﻲ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از آﻧﻬﺎ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﺗﻮاﻧﺪ ﺻﺤﺖ ،دﻗﺖ و ﺳﺎزﮔﺎري داده ﻫﺎ را در ﻫﺮ ﻟﺤﻈﻪ از ﺣﻴﺎت ﭘﺎﻳﮕﺎه داده ،ﻛﻨﺘﺮل و ﺗﻀﻤﻴﻦ ﻛﻨﺪ.
ﺷﻜﻞ 1-5ﺳﻄﻮح ﻣﺨﺘﻠﻒ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ
ﺑﺎ +ﺗﻮﺻﻴﻒ ﻫﺮ ﺳﺎﺧﺘﺎر دادهاي ﻧﻴﺰ ﻓﻘﻂ ﺑﺨﻀﻲ از ﻳﻚ ﻣﺪل دادهاي اﺳﺖ و ﺣﺪاﻗﻞ ﻳﻚ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎر اﺳﺎﺳﻲ دارد ﻛﻪ ﺑﻪ ﻛﻤﻚ آن ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻳﺎ ﻧﻮع ارﺗﺒﺎط و ﻳﺎ ﻫﺮ دو ﻧﻤﺎﻳﺶ داده ﻣﻲﺷﻮﻧﺪ .در اداﻣﻪ دﻻﻳﻠﻲ ﻛﻪ اﺳﺘﻔﺎده از ﺳﺎﺧﺘﺎر دادهاي را ﺑﻴﺎن ﻣﻲﻛﻨﺪ اراﺋﻪ ﺷﺪه اﺳﺖ:
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
90 •
ﺳﺎﺧﺘﺎر دادهاي ﺗﺎﻣﻴﻦ ﻛﻨﻨﺪه ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﭼﺎر ﭼﻮب ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه اﺳﺖ.
•
ﺳﺎﺧﺘﺎر دادهاي ﻣﺒﻨﺎ )و ﭼﺎرﭼﻮب( ﻃﺮاﺣﻲ دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ ،دﺳﺘﻮر ي ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهدادهﻫﺎ و دﺳﺘﻮر ي ﻛﻨﺘﺮل دادهﻫﺎ اﺳﺖ.
•
ﺳﺎﺧﺘﺎر دادهاي ﻣﺒﻨﺎي ﻃﺮاﺣﻲ DBMSﺳﺖ ،ﻳﻌﻨﻲ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺳﻪ ﻧﻮع ﻣﺪل ،ﺳﻪ رده
DBMS
دارﻳﻢ ﻛﻪ ﻋﺒﺎرﺗﻨﺪ
ازHDBMS ،RDBMS:
و ،NDBMSﺑﻪ ﻧﺤﻮي ﻛﻪ
ﻫﻮﻳﺖ "ﻫﺮ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ" ﻫﻤﺎن ﻣﺪل دادهاي آن اﺳﺖ. •
ﺳﺎﺧﺘﺎر دادهاي ﺿﺎﺑﻄﻪاي اﺳﺖ ﺑﺮاي ﻣﻘﺎﻳﺴﻪ DBMSو ﻧﻴﺰ ارزﻳﺎﺑﻲ آﻧﻬﺎ.
•
ﺳﺎﺧﺘﺎر دادهاي ﻣﺒﻨﺎﻳﻲ اﺳﺖ ﺑﺮاي ,و ﮔﺴﺘﺮش ﺗﻜﻨﻴﻜﻬﺎي ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎ.
•
ﺳﺎﺧﺘﺎر دادهاي ،ﻣﺒﻨﺎي ﭘﮋوﻫﺶ در داﻧﺶ و ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎهدادهﻫﺎ اﺳﺖ.
ﭘﺎﻳﮕﺎه داده ﻫﺎ در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ -ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از ﻧﻤﻮﻧﻪﻫﺎي ﻣﺘﻤﺎﻳﺰ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﻳﻚ ﺳﺎﺧﺘﺎر دادهاي .در ﻣﻔﺎﻫﻴﻢ ﭘﺎﻳﮕﺎه داده ،ﻧﻤﻮﻧﻪ ﻫﺎي ﻛﻼﺳﻴﻚ ﺳﺎﺧﺘﺎر داده اي ﻋﺒﺎرﺗﻨﺪ از: •
ﺳﺎﺧﺘﺎر دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
1
2
•
ﺳﺎﺧﺘﺎر دادهاي ﺷﺒﻜﻪ
•
ﺳﺎﺧﺘﺎر دادهاي راﺑﻄﻪاي
3
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﺳﺎﺧﺘﺎرﻫﺎي داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ و ﺷﺒﻜﻪاي از رده ﺧﺎرج ﺷﺪه اﻧﺪ، ﻟﺬا +دو ﺳﺎﺧﺘﺎر ﺟﻬﺖ آﺷﻨﺎﻳﻲ ﺧﻮاﻧﻨﺪﮔﺎن ﻣﺤﺘﺮم ﺑﺼﻮرت ﻛﻠﻲ ﺗﻮﺿﻴﺢ داده ﺧﻮاﻫﺪ ﺷﺪ .ﺳﺎﺧﺘﺎر داده اي راﺑﻄﻪ اي در ﻓﺼﻞ ي ﺑﻌﺪي ﺑﺼﻮرت ﻛﺎﻣﻞ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ.
1. H ie r a r c h i c al D at a St r u c t u r e 2. N et w o r k D a t a St r u c t u r e 3. R el a t i o n a l D a t a St r u c t u r e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 91
-2آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ اﻳﻦ ﺳﺎﺧﺘﺎر ﻗﺪﻳﻤﻲ ﺗﺮﻳﻦ ﺳﺎﺧﺘﺎر داده اي ﺑﺮاي ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه داده ﻫﺎ )در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ( اﺳﺖ .اﻧﺴﺎن از دﻳﺮﺑﺎز ﺑﺎ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ آﺷﻨﺎ ﺑﻮد و آن را ﺑﺮاي رده ﺑﻨﺪي ﭘﺪﻳﺪهﻫﺎ )در ﻣﻌﻨﺎي ﻋﺎم( در ﺟﻬﺎن واﻗﻊ ،اﺳﺘﻔﺎده ﻣﻲﻛﺮد .در اواﺳﻂ دﻫﻪ 1960 ﻣﻴﻼدي ،وﻗﺘﻲ ﻛﻪ ﻃﺮاﺣﺎن ﺳﻴﺴﺘﻢ ي ﻧﮕﻬﺪاري داده -داده ﭘﺮدازي در اﻧﺪﻳﺸﻪ ﻳﺎﻓﺘﻦ ﻧﻮﻋﻲ "رﻛﻮرد ﺳﺎﺧﺘﻤﻨﺪ" ﺑﻮدﻧﺪ )ﺑﻪ ﺟﺎي "رﻛﻮرد ﺧﻄﻲ ﻣﺴﻄﺢ"( ﻫﻤﻴﻦ ﻣﻔﻬﻮم آﺷﻨﺎي "ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ" را ﺑﺮاي ﻧﻤﺎﻳﺶ داده ﻫﺎي ﻣﻮرد ﻧﻈﺮﺷﺎن ،ﻣﻨﺎﺳﺐ ﻳﺎﻓﺘﻨﺪ.
1-2ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ در اﺳﺎس ﻧﻮﻋﻲ درﺧﺖ اﺳﺖ ﻛﻪ ﻣﻔﻬﻮم آﺷﻨﺎﻳﻲ اﺳﺖ .در ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،دو ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ وﺟﻮد دارد: •
ﻧﻮع رﻛﻮرد
•
ﻧﻮع ﭘﻴﻮﻧﺪ ﭘﺪر-ﻓﺮزﻧﺪي
ﺑﻄﻮرﻳﻜﻪ ﺧﻮاﻫﻴﻢ دﻳﺪ ،ﻧﻮع رﻛﻮرد ﺑﺮاي ﻧﻤﺎﻳﺶ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻛﺎر ﻣﻲرود .ﺑﻴﻦ ﻫﺮ دو ﻧﻮع رﻛﻮرد ﺑﻼﻓﺼﻞ از ﻳﻚ ﻣﺴﻴﺮ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ،ﭘﻴﻮﻧﺪ ﭘﺪر-ﻓﺮزﻧﺪي وﺟﻮد دارد و ﺑﺎ +ﭘﻴﻮﻧﺪ ارﺗﺒﺎط ﺑﻴﻦ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮد + .ﻧﻮع ﭘﻴﻮﻧﺪ ،ﻃﺒﻖ ﻣﺎﻫﻴﺖ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ،ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ را ﻣﻲ ﺗﻮاﻧﺪ ﻧﻤﺎﻳﺶ دﻫﺪ. در ﺳﻮي "ﻳﻚ" ارﺗﺒﺎط ) ،(1ﻧﻮع رﻛﻮرد ﭘﺪر و در ﺳﻮي "ﭼﻨﺪ" ) (Nآن ،ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ ﻗﺮار دارد. X
..... 1: N Y
..... ﺷﻜﻞ 2-5ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
92
در ﺷﻜﻞ -2-5رﻛﻮرد ﻧﻮع
Y
ﻓﺮزﻧﺪ و رﻛﻮرد ﻧﻮع ،Xﭘﺪر اﺳﺖ .ﻫﺮ ﻧﻮع رﻛﻮرد )از
ﻫﺮ ﺳﻄﺢ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ( ،ﻣﻲ ﺗﻮاﻧﺪ از ﺻﻔﺮ ﺗﺎ nﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ )در ﺳﻄﺢ ﺑﻼﻓﺎﺻﻠﻪ ﭘﺎﺋﻴﻦ ﺗﺮ و در ﻣﺴﻴﺮ ي ﻣﺨﺘﻠﻒ ﻃﺒﻌﺎ( داﺷﺘﻪ ﺑﺎﺷﺪ .ﭘﺲ ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ از ﻳﻚ ﺳﻄﺢ ،ﺧﻮد ﻣﻲ ﺗﻮاﻧﺪ ﭘﺪر اﻧﻮاﻋﻲ از رﻛﻮرد در ﺳﻄﺢ ﺑﻼﻓﺎﺻﻠﻪ ﭘﺎﺋﻴﻦ ﺗﺮ و در ﭼﻨﺪ ﻣﺴﻴﺮ ﺑﺎﺷﺪ .ﺑﺪﻳﻨﺴﺎن ،ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ از اﻧﻮاع رﻛﻮردﻫﺎ در ﺳﻄﻮح و ﻣﺴﻴﺮﻫﺎي ﻣﺨﺘﻠﻒ ,ﻣﻲ ﺷﻮد. •
رﻳﺸﻪ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ،رﻛﻮرد ﻧﻮع ﭘﺪر در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ اﺳﺖ .ﺑﻘﻴﻪ اﻧﻮاع رﻛﻮرد ،واﺑﺴﺘﮕﺎن رﻳﺸﻪ در ﺳﻄﻮح ﻣﺨﺘﻠﻒ ،ﻫﺴﺘﻨﺪ.
•
رﻳﺸﻪ در ﺣﺎﻟﺖ ﺧﺎص ﻣﻤﻜﻦ اﺳﺖ اﺻﻼً ﻓﺮزﻧﺪ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ و در +ﺻﻮرت ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ را " ﻓﻘﻂ رﻳﺸﻪ" ﻣﻲﮔﻮﻳﻴﻢ.
ﺑﺮاي ﻣﺜﺎل ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺑﺎ ﺗﻌﺪاد 9ﻧﻮع رﻛﻮرد در ﺷﻜﻞ 3-5ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.
ﺷﻜﻞ 3-5ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﻲ ﻧﻪ ﻧﻮع رﻛﻮرد در ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 93
ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺗﺮﺗﻴﺐ ﭘﺮ ﺷﺪن زﻳﺮ ﻣﺠﻤﻮﻋﻪﻫﺎ ﺑﺮ اﺳﺎس ﻧﻴﺎز اﻃﻼﻋﺎﺗﻲ ﺑﻮده و ﻫﻴﭻ ﻧﻮع ﻧﻈﻢ ﺧﺎﺻﻲ را ﻧﺪارد .ﻫﻤﭽﻨﻴﻦ ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ ،ﺗﻨﻬﺎ ﻳﻚ ﻧﻮع رﻛﻮرد ﭘﺪر دارد. ﺗﻮﺟﻪ :ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ،از ﻟﺤﺎظ ﻧﻈﺮي ﻣﻲ ﺗﻮاﻧﺪ ﻫﺮ ﺗﻌﺪاد ﻣﺴﻴﺮ داﺷﺘﻪ ﺑﺎﺷﺪ )ﻋﺮض( و ﻋﻤﻖ ﻫﺮ ﻣﺴﻴﺮ ﻫﻢ ﻣﺤﺪودﻳﺘﻲ ﻧﺪارد .اﻣﺎ در ﺳﻴﺴﺘﻢ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻋﺮض و ﻋﻤﻖ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻣﻌﻤﻮﻻً ﻳﻚ ﺳﻘﻒ ﺣﺪاﻛﺜﺮ )ﻣﺜﻼ 16ﺳﻄﺢ( دارد.
2-2ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ )از دﻳﺪ ﻛﺎرﺑﺮ( ﭘﺎﻳﮕﺎه داده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ -ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ ﻣﻨﻄﻘﺎً "ﻣﻨﻈﻢ" از ﻧﻤﻮﻧﻪ ﻫﺎي ﻣﺘﻤﺎﻳﺰ ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ) .روﺷﻦ اﺳﺖ ﻛﻪ در ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ،ﻧﻬﺎﻳﺘﺎ ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از ﻓﺎﻳﻠﻬﺎي ذﺧﻴﺮه ﺷﺪه ﺑﻬﻢ ﻣﺮﺗﺒﻂ ﺑﺮ اﺳﺎس ﻫﻤﺎن ﭘﻴﻮﻧﺪﻫﺎي ﻣﻨﻄﻘﻲ و ﺑﺎ ﺳﺎﺧﺘﺎر ﻣﺸﺨﺺ(. ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در ﻫﺮ ﻧﻤﻮﻧﻪ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ،ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﺘﻤﺎﻳﺰ از رﻳﺸﻪ دارﻳﻢ )ﻋﺎﻣﻞ ﺗﻤﺎﻳﺰ ،ﻛﻠﻴﺪ رﻳﺸﻪ اﺳﺖ( .ﻫﺮ ﻧﻤﻮﻧﻪ از ﻳﻚ رﻛﻮرد از ﻳﻚ ﺳﻄﺢ ﻣﻲﺗﻮاﻧﺪ از ﺻﻔﺮ ﺗﺎ n
ﻧﻤﻮﻧﻪ از ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ ﺑﻼﻓﺼﻞ ،داﺷﺘﻪ ﺑﺎﺷﺪ .ﻧﻤﻮﻧﻪﻫﺎي ﻫﺮ ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ
ذﻳﻞ ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر ﻣﺸﺨﺺ ﻫﻢ از ﻳﻜﺪﻳﮕﺮ ﻣﺘﻤﺎﻳﺰﻧﺪ .ﻋﺎﻣﻞ ﺗﻤﺎﻳﺰ ،ﻫﻤﺎن ﻛﻠﻴﺪ رﻛﻮرد ﻓﺮزﻧﺪ اﺳﺖ .ﺑﻪ ﻋﻨﻮان اوﻟﻴﻦ ﻣﺜﺎل ،ﻧﻤﻮدار ERﺷﻜﻞ 4-5را در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ + .ﻧﻤﻮدار ﻧﻮع ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺖ داﻧﺸﺠﻮ -و ﮔﺮوه آﻣﻮزﺷﻲ را ﻧﺸﺎن ﻣﻲدﻫﺪ:
ﺷﻜﻞ 4-5ﻧﻤﻮدار ERﻣﺜﺎل 1
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
94
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻓﺮض ﻣﻲﻛﻨﻴﻢ ﻛﻪ ﻳﻚ داﻧﺸﺠﻮ ﻓﻘﻂ در ﻳﻚ ﮔﺮوه آﻣﻮزﺷﻲ ﺗﺤﺼﻴﻞ ﻣﻲﻛﻨﺪ )واﺑﺴﺘﻪ ﺑﻪ ﻳﻚ ﮔﺮوه آﻣﻮزﺷﻲ اﺳﺖ( .ﭼﻨﺪي ارﺗﺒﺎط "ﺗﺤﺼﻴﻞ ﻛﺮدن " در +ﻣﺜﺎل ،ﻳﻚ ﺑﻪ ﭼﻨﺪ اﺳﺖ ،ﺑﻨﺎﺑﺮاﻳﻦ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺑﻪ ﺻﻮرت ﺷﻜﻞ 5-5ﻃﺮاﺣﻲ ﻣﻲﻛﻨﻴﻢ: DEPT
.....
DID
STUDENT YEAR
.....
TERM
STID
ﺷﻜﻞ 5-5ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ
در +ﻃﺮح ﺳﺎده ،رﻛﻮرد ﻧﻮع
DEPT
ﻧﻮع DEST
رﻳﺸﻪ -ﭘﺪر و رﻛﻮرد ﻧﻮع
STUD
واﺑﺴﺘﻪ
ﺑﻼﻓﺼﻞ )ﻓﺮزﻧﺪ( اﺳﺖ .ﻓﻘﻂ ﻓﻴﻠﺪ ﺻﻔﺖ ﺷﻨﺎﺳﻪ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ راﻧﺸﺎن دادهاﻳﻢ .ﺻﻔﺖ ارﺗﺒﺎط ،ﻓﻴﻠﺪي از ﻧﻮع رﻛﻮرد ﻓﺮزﻧﺪ ﻣﻲﺷﻮد .ﭘﺲ ﭘﺎﻳﮕﺎهداده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﺠﻤﻮﻋﻪاي اﺳﺖ ﻣﻨﻄﻘﺎً ﻣﻨﻈﻢ از ﻧﻤﻮﻧﻪﻫﺎي ﻣﺘﻤﺎﻳﺰ ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ. ﻣﺜﺎل :2در ﻣﺜﺎل ﻗﺒﻞ ،ﭼﻨﺪي ارﺗﺒﺎط "ﻳﻚ ﺑﻪ ﭼﻨﺪ" اﺳﺖ .در +ﻣﺜﺎل ،ﻳﻚ ارﺗﺒﺎط ﺑﺎ ﭼﻨﺪي "ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ" را ﻣﻄﺮح ﻣﻲﻛﻨﻴﻢ. ﻧﻤﻮدار "داﻧﺸﺠﻮ -درس" را در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ .ﻣﻲداﻧﻴﻢ ﻛﻪ ﭼﻨﺪي ارﺗﺒﺎط "اﻧﺘﺨﺎب" ،ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ اﺳﺖ .اﮔﺮ ارﺗﺒﺎط ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ را ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ دو ﺳﻮﻳﻪ ﺑﺪاﻧﻴﻢ ﺑﺮاي ﻧﻤﺎﻳﺶ +ارﺗﺒﺎط ﺑﺎ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎر دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،ﻣﻨﻄﻘﺎً ﺑﻪ دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻧﻴﺎز دارﻳﻢ .دو روش ﺑﺮاي ﻃﺮاﺣﻲ وﺟﻮد دارد: روش :1ﻃﺮاﺣﻲ دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺟﺪاﮔﺎﻧﻪ در +ﻃﺮاﺣﻲ ،ﻳﻚ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻓﺮزﻧﺪ ،ﻣﻲ ﺗﻮاﻧﺪ ﺗﻜﺮار ﺷﻮد :ﻣﺜﻼ در ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻧﻮع ،STCOﻳﻚ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻧﻮع درس ذﻳﻞ ﻫﺮ ﻧﻤﻮﻧﻪ رﻛﻮرد داﻧﺸﺠﻮ ﻛﻪ آن درس اﻧﺘﺨﺎب ﻛﺮده ﺑﺎﺷﺪ ،ﻣﻲ آﻳﺪ .ﭼﻨﻴﻦ اﺳﺖ ﺑﺮاي رﻛﻮرد ﻧﻮع ﻣﺮاﺗﺐ ﻧﻮع .COST
Ramin.Samad@yahoo.com
STUD
در ﺳﻠﺴﻠﻪ
WWW.IRANMEET.COM
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 95
ﺷﻜﻞ 6-5ﻧﻤﺎﻳﺶ دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺟﺪاﮔﺎﻧﻪ ﺑﺮاي ارﺗﺒﺎط ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ
+ﺗﻜﺮار ،در واﻗﻊ ﻫﻤﺎن ﭘﺪﻳﺪه ﻧﺎﻣﻄﻠﻮب اﻓﺰوﻧﮕﻲ اﺳﺖ + .اﻓﺰوﻧﮕﻲ اﻟﺒﺘﻪ ﻣﺎﻫﻴﺘﺎ ﻣﻨﻄﻘﻲ ﻳﺎ ادراﻛﻲ اﺳﺖ .اﻣﺎ اﮔﺮ ﻣﻨﺠﺮ ﺑﻪ ﺑﺮوز اﻓﺰوﻧﮕﻲ در ﻣﺤﻴﻂ ﻓﻴﺰﻳﻜﻲ ذﺧﻴﺮه ﺳﺎزي ﺷﻮد ﻣﻲﺗﻮاﻧﺪ: •
ﺳﺒﺐ ﺑﺮوز ﻧﺎﺳﺎزﮔﺎري دادهاي ﺷﻮد )ﺑﻪ ﻳﺎد داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ اﻓﺰوﻧﮕﻲ ﻛﻨﺘﺮل ﻧﺸﺪه و ﻧﺎﺳﺎزﮔﺎري دادهاي ﭘﺸﺖ و روي ﻳﻚ ﺳﻜﻪاﻧﺪ !(.
•
ﺳﺒﺐ ﺑﺮوز ﻓﺰوﻧﻜﺎري )ﺑﻴﺸﻜﺎري(در ﺳﻴﺴﺘﻢ در اﻧﺠﺎم ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺷﻮد.
ﺗﻮﺟﻪ :ﻣﻲ ﺗﻮان ارﺗﺒﺎط ﺑﺎ ﭼﻨﺪي ﻣﺜﻼ ﻓﻘﻂ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ
M:N
را ﺑﺎ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻫﻢ ﻃﺮاﺣﻲ ﻛﺮد،
STCO
را داﺷﺖ .اﻣﺎ ﭼﻮن ﻣﻨﻄﻖ ﻃﺒﻴﻌﻲ در ﺳﻠﺴﻠﻪ
ﻣﺮاﺗﺐ ،ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﺎﻫﻴﺖ ﭘﻴﻮﻧﺪ ﭘﺪر -ﻓﺮزﻧﺪي ،ورود از رﻳﺸﻪ و ﻃﻲ ﻛﺮدن ﻣﺴﻴﺮ ﻣﻨﺎﺳﺐ ﺑﺮاي رﺳﻴﺪن ﺑﻪ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ ﻣﻮرد ﻧﻈﺮ اﺳﺖ ،ﺑﺮاي ﭘﺎﺳﺨﮕﻮﻳﻲ ﺑﻪ ﭘﺮﺳﺸﻲ ﻛﻪ در آن ﻛﻠﻴﺪ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ داده ﺷﺪه ﺑﺎﺷﺪ و ﻧﻤﻮﻧﻪ )ﻫﺎي( ﭘﺪر ﻣﻮرد درﺧﻮاﺳﺖ ﺑﺎﺷﺪ، دﻳﮕﺮ ﻧﻤﻲ ﺗﻮان ﻣﻨﻄﻘﺎً ﺑﺮ اﺳﺎس روﻳﻪ ﻣﺒﺘﻨﻲ ﺑﺮ ﭘﻴﻮﻧﺪ ﭘﺪر -ﻓﺮزﻧﺪي ﻋﻤﻞ ﻛﺮد .ﺑﻌﻼوه ﺑﺎ داﺷﺘﻦ ﻓﻘﻂ ﻳﻚ ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺑﺮاي ارﺗﺒﺎط
M:N
و )ﻋﺪم وﺟﻮد ﻧﻮع ﺳﻠﺴﻠﻪ
ﻣﺮاﺗﺐ ﻗﺮﻳﻨﻪ( ،ﻣﺸﻜﻼﺗﻲ ﻧﺎﺷﻲ از ﻣﺎﻫﻴﺖ ﭘﻴﻮﻧﺪ ﭘﺪر-ﻓﺮزﻧﺪي در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي در ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺑﺮوز ﻣﻲ ﻛﻨﺪ )از ﺟﻤﻠﻪ ﻋﺪم اﻣﻜﺎن درج ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ ﺑﺪون وﺟﻮد ﻧﻤﻮﻧﻪ ﭘﺪر و ﻳﺎ ﻟﺰوم اﻧﺠﺎم ﺑﻬﻨﮕﺎم ﺳﺎزي ﻣﻨﺘﺸﺮ ﺷﻮﻧﺪه
(
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
96
ﭘﺎﻳﮕﺎه دادهﻫﺎ
روش :2ﻃﺮاﺣﻲ دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﺑﻪ ﻫﻢ ﺑﺴﺘﻪ :ﺗﻜﻨﻴﻚ
VPCL
1
در +روش ،از ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺠﺎزي )ﺣﺎوي ﻧﺸﺎن ﻧﻤﺎ :اﺷﺎره ﮔﺮ و ﺻﻔﺎت ارﺗﺒﺎط( اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد .ﺑﻪ اﻳﻦ ﻧﻮع رﻛﻮرد اﺻﻄﻼﺣﺎ "ﻓﺮزﻧﺪ ﻣﺠﺎزي" ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد. ﻫﺮ ﻧﻤﻮﻧﻪ از ﻓﺮزﻧﺪ ﻣﺠﺎزي ﺑﻪ ﻳﻚ ﻧﻤﻮﻧﻪ " ﭘﺪر ﻣﺠﺎزي " اﺷﺎره ﻣﻲﻛﻨﺪ .ﭼﻨﻴﻦ ﭘﻴﻮﻧﺪي را ﭘﻴﻮﻧﺪ ﭘﺪر -ﻓﺮزﻧﺪي ﻣﺠﺎزي ﻣﻲ ﻧﺎﻣﻴﻢ .در ﺷﻜﻞ + 7-5روش دﻳﺪه ﻣﻲ ﺷﻮد. در +ﻃﺮح ﻧﻮع رﻛﻮرد ،COPTRﻓﺮزﻧﺪ ﻣﺠﺎزي ﻧﻮع رﻛﻮرد COURSEو +ﻧﻮع رﻛﻮرد ،ﭘﺪر ﻣﺠﺎزي ﻧﻮع رﻛﻮرد COPTRاﺳﺖ و ﻧﻮع رﻛﻮرد ،STPTRﻓﺮزﻧﺪ ﻣﺠﺎزي ﻧﻮع رﻛﻮرد
STUD
و +ﻧﻮع رﻛﻮرد ،ﭘﺪر ﻣﺠﺎزي ﻧﻮع رﻛﻮرد
STPTR
اﺳﺖ .اﻃﻼﻋﺎﺗﻲ ﻛﻪ
ﻫﻢ ﺑﻪ ﭘﺪر و ﻫﻢ ﺑﻪ ﻓﺮزﻧﺪ ﻣﺮﺑﻮط ﻣﻲﺷﻮد )ﺻﻔﺎت ارﺗﺒﺎط( ،در ﻧﻮع رﻛﻮرد اﺷﺎره ﮔﺮ ﻣﺠﺎزي ﮔﻨﺠﺎﻧﺪه ﻣﻲﺷﻮد :در ,ﺻﻔﺎت YRYR ،TRو .GRADE در +ﻃﺮاﺣﻲ ،ﻧﻤﻮﻧﻪﻫﺎي دو ﻧﻮع رﻛﻮرد
STUD
و
COURSE
دﻳﮕﺮ ﺗﻜﺮار
ﻧﻤﻲﺷﻮﻧﺪ + .ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ ،اﻟﺒﺘﻪ ﺑﻪ ﻗﻴﻤﺖ ﭘﻴﭽﻴﺪهﺗﺮ ﺷﺪن ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺗﻤﺎم ﻣﻲﺷﻮد )ﺑﻪ وﻳﮋه اﮔﺮ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻣﻮرد ﻧﻴﺎز ،ﺑﺰرگ ﺑﺎﺷﺪ )در ﻋﺮض و ﻋﻤﻖ(( .ﺷﺎﻳﺎن ذﻛﺮ اﺳﺖ ﻛﻪ از دﻳﺪﮔﺎه ﻧﻈﺮي + ،ﺗﻜﻨﻴﻚ رﺑﻄﻲ ﺑﻪ ﻣﺎﻫﻴﺖ ﺳﺎﺧﺘﺎر دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻧﺪارد ،ﺑﻠﻜﻪ اﻣﻜﺎﻧﻲ اﺳﺖ ﺑﺮاي ﻧﻤﺎﻳﺶ ﺑﻬﻢ ﺑﺴﺘﮕﻲ دو ﻳﺎ ﺑﻴﺶ از دو ﻧﻮع ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ و از آﻧﺠﺎ ،اﻣﻜﺎﻧﻲ اﺳﺖ ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ.
ﺷﻜﻞ 7-5ﭘﻴﻮﻧﺪ ﭘﺪر -ﻓﺮزﻧﺪي ﻣﺠﺎزي 1. V ir t u a l P a r e n t C h i l d Li n k
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 97
ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ
PCL
و
VPCL
از ﻧﻈﺮ ﻣﻔﻬﻮﻣﻲ ،ﻳﻜﺴﺎن ﻫﺴﺘﻨﺪ ،ﺗﻔﺎوت در
ﻃﺮز ﭘﻴﺎده ﺳﺎزي آﻧﻬﺎ اﺳﺖ PCL :ﺑﺎ اﺳﺘﻔﺎده از ﺗﻮاﻟﻲ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﭘﻴﺎده ﺳﺎزي ﻣﻲﺷﻮد و VPCLﺑﺎ اﺳﺘﻔﺎده از ﻧﺸﺎﻧﻪ رو ﻓﻴﺰﻳﻜﻲ ﺣﺎوي آدرس و ﻳﺎ ﻧﺸﺎﻧﻪ رو ﻣﻨﻄﻘﻲ ﺣﺎوي ﻛﻠﻴﺪ ،از رﻛﻮرد ﻓﺮزﻧﺪ ﻣﺠﺎزي ﺑﻪ رﻛﻮرد ﭘﺪر ﻣﺠﺎزي + .ﺗﻜﻨﻴﻚ ﺳﺒﺐ اﻓﺰاﻳﺶ ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ در ﭘﺎﺳﺦ ﮔﻮﻳﻲ ﺑﻪ ﺑﻌﺾ ﭘﺮﺳﺸﻬﺎ ﻣﻲﺷﻮد. ﻣﺜﺎل :3در +ﻣﺜﺎل ،ﻳﻚ ارﺗﺒﺎط ﺳﻪ ﻣﻮﺟﻮدﻳﺘﻲ را در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢ :ارﺗﺒﺎط ﺑﻴﻦ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖ ي داﻧﺸﺠﻮ ،درس و اﺳﺘﺎد ﻛﻪ در ﺑﺤﺚ ﻣﺪل ﺳﺎزي ﻣﻌﻨﺎﻳﻲ داده ﻫﺎ دﻳﺪﻳﻢ. ﻧﻤﻮدار ERﻣﺮﺑﻮﻃﻪ در ﺷﻜﻞ 8-5ﻧﺸﺎن داده ﺷﺪه اﺳﺖ:
ﺷﻜﻞ 8-5ﻧﻤﻮدار ERارﺗﺒﺎط ﺑﻴﻦ ﺳﻪ ﻣﻮﺟﻮدﻳﺖ
ﺑﺮاي ﺗﺒﺪﻳﻞ +ﻧﻤﻮدار ﺑﻪ ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،دو روش ﻣﻤﻜﻦ ﺑﻪ ﺻﻮرت زﻳﺮ ﺧﻮاﻫﻨﺪ ﺑﻮد:
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
98
روش اول:
روش دوم:
ﺷﻜﻞ 9-5روشﻫﺎي ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺳﻪ ﻣﻮﺟﻮدﻳﺘﻲ ﺑﺎ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
3-2ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،ﺑﺮﺧﻲ از دﺳﺘﻮرات ﻻزم ،ﺑﻄﻮر ﻛﻠﻲ ﭼﻨﻴﻦ اﻧﺪ: •
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻧﻮع رﻳﺸﻪ.
•
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ رﻳﺸﻪ ﺑﻌﺪي.
•
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ از ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر )ﺑﻼﻓﺼﻞ ﻳﺎ از ﻧﻤﻮﻧﻪ ﭘﺪران ﺗﺎ رﻳﺸﻪ(.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 99 •
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ ﺑﻌﺪي از ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر.
•
دﺳﺘﻮر درج ﻳﻚ ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ زﻳﺮ ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر )ﻣﺸﺨﺼﺎت ﻣﺴﻴﺮ ،در ﺻﻮرت ﻧﻴﺎز ﺑﺎﻳﺪ داده ﺷﻮد(.
•
دﺳﺘﻮر ﺣﺬف ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ از ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر)ﻣﺸﺨﺼﺎت ﻣﺴﻴﺮ ،در ﺻﻮرت ﻧﻴﺎز ﺑﺎﻳﺪ داده ﺷﻮد(.
•
دﺳﺘﻮر ﺑﻬﻨﮕﺎم ﺳﺎزي ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﻧﻤﻮﻧﻪ ﻓﺮزﻧﺪ از ﻳﻚ ﻧﻤﻮﻧﻪ ﭘﺪر )ﻣﺸﺨﺼﺎت ﻣﺴﻴﺮ ،در ﺻﻮرت ﻧﻴﺎز ﺑﺎﻳﺪ داده ﺷﻮد(.
4-2ﺑﺮﺧﻲ وﻳﮋﮔﻲﻫﺎي ﺳﺎﺧﺘﺎر )و ﻣﺪل( دادهاي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ در اداﻣﻪ ﺑﺮﺧﻲ وﻳﮋﮔﻲ ﻫﺎي ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﺑﻪ اﺧﺘﺼﺎر ﺑﻴﺎن ﺷﺪه اﺳﺖ: •
ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻧﺪارد )ﺣﺪاﻗﻞ در ﺳﻴﺴﺘﻢ ﻣﻮﺟﻮد( و از +رو ﻣﻴﺰان اﻧﺘﺰاع آن ﺑﻪاﻧﺪازه اﻧﺘﺰاع ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ ﻧﻴﺴﺖ )اﻟﺒﺘﻪ ﮔﺮاف ﻳﻚ ﺳﻮﻳﻪ ،ﺑﻲﮔﺴﺴﺖ و ﻧﺎﺑﺎزﮔﺸﺘﻲ ﻣﻲﺗﻮاﻧﺪ ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻣﻨﺎﺳﺒﻲ ﺑﺮاي +ﺳﺎﺧﺘﺎر دادهاي ﺑﺎﺷﺪ(.
•
دو ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ دارد )و ﻧﻪ ﻳﻜﻲ(.
•
ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ ﻣﻨﺎﺳﺐ اﺳﺖ )ﻣﺤﺪودﻳﺖ ﺳﺎﺧﺘﺎر(.
•
در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي ﻣﺸﻜﻼﺗﻲ دارد.
•
در ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ" دﺷﻮاري دارد و ﻧﻴﺰ در ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺳﻪ ﮔﺎﻧﻲ ﻳﺎ ﺑﺎ درﺟﻪ ﺑﻴﺸﺘﺮ و ﻫﻤﭽﻨﻴﻦ وﻗﺘﻲ ﻛﻪ دو ﻳﺎ ﺑﻴﺶ از دو ارﺗﺒﺎط ﺑﺎ ﭼﻨﺪي داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ در آﻧﻬﺎ ،در ﻃﺮف
N
1 :N
ارﺗﺒﺎط ،ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ واﺣﺪ وﺟﻮد
داﺷﺘﻪ ﺑﺎﺷﺪ ،ﺑﻪ ﺻﻮرت ﺷﻜﻞ زﻳﺮ. ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در +ﺟﺎ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ
E1وE2
ﻣﻤﻜﻦ اﺳﺖ ﻳﻜﺴﺎن ﻫﻢ
ﺑﺎﺷﻨﺪ ،ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ دو ﻳﺎ ﺑﻴﺶ از دو ﻧﻮع ارﺗﺒﺎط ﺑﻴﻦ دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ(.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
100ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺷﻜﻞ 10-5ﻧﻤﻮدار ﺗﻮع ارﺗﺒﺎط 1ﺑﻪ ﭼﻨﺪ
-3آﺷﻨﺎﻳﻲ ﺑﺎ ﺳﺎﺧﺘﺎر دادهاي ﺷﺒﻜﻪاي اﻳﻦ ﺳﺎﺧﺘﺎر )ﻛﻪ ﮔﺎه ﺑﻪ آن ﺳﺎﺧﺘﺎر ﭘﻠﻜﺲ ﻫﻢ ﻣﻲ ﮔﻮﻳﻨﺪ( ،ﻧﺨﺴﺘﻴﻦ ﺑﺎر در ﺳﺎل 1966 ﺗﻮﺳﻂ ﻳﻚ ﮔﺮوه ﻛﺎري ﺑﻪ ﻧﺎم
DBTG
واﺑﺴﺘﻪ ﺑﻪ
ANSI
ﭘﻴﺸﻨﻬﺎد ﺷﺪه اﺳﺖ .در ﺳﺎل
1971اوﻟﻴﻦ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﺷﺒﻜﻪ اي ) (NDBMSﻣﻮرد ﺗﺎﺋﻴﺪ ،ANSI ﺑﻪ ﻧﺎم
IDMS
ﺗﻮﺳﻂ ﻫﻤﺎن ﮔﺮوه ﻛﺎري ﻃﺮاﺣﻲ ﺷﺪ + .ﺳﻴﺴﺘﻢ ﮔﺎه ﺑﻪ ﺳﻴﺴﺘﻢ
ﻛﻮداﺳﻴﻞ و ﻣﺪل داده اي ﺷﺒﻜﻪ اي ﺑﻪ ﻣﺪل داده اي ﻛﻮداﺳﻴﻞ ﻧﻴﺰ ﻣﻮﺳﻮم اﺳﺖ. ﺳﻴﺴﺘﻢ ي ﺷﺒﻜﻪ اي دﻳﮕﺮ ﻋﺒﺎرﺗﻨﺪ از: •
VAX- DBMS
• •
IMAGE
.1100-DMS
1-3ﺗﻌﺮﻳﻒ ﺳﺎﺧﺘﺎر ﺷﺒﻜﻪ ﺷﺒﻜﻪ ﻧﻮﻋﻲ ﮔﺮاف ﺟﻬﺖ دار اﺳﺖ ﻛﻪ در آن ﮔﺮه ﻫﺎ ﺑﻪ ﻛﻤﻚ ﻳﺎل ﻳﻲ ﺑﻬﻢ ﺑﺴﺘﻪ اﻧﺪ. در ﺷﻜﻞ 10-5ﻳﻚ ﺷﺒﻜﻪ ﺑﺎ ﻫﺸﺖ ﮔﺮه دﻳﺪه ﻣﻲ ﺷﻮد + .ﺳﺎﺧﺘﺎر را ﻣﻲ ﺗﻮان ﮔﺴﺘﺮش ﻳﺎﻓﺘﻪ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ داﻧﺴﺖ ﺑﻬﺎﻳﻦ ﻣﻌﻨﺎ ﻛﻪ در آن ﻫﺮ ﻧﻮع ﮔﺮه ﻓﺮزﻧﺪ ﻣﻲ ﺗﻮاﻧﺪ ﺑﻴﺶ از ﻳﻚ ﻧﻮع ﮔﺮه ﭘﺪر داﺷﺘﻪ ﺑﺎﺷﺪ و ﺑﻨﺎﺑﺮﻳﻦ از +ﻧﻈﺮ ،ﻣﺤﺪودﻳﺖ ﻋﺪم ﺗﻘﺎرن ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ را ﻧﺪارد.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 101
ﺷﻜﻞ 11-5ﻧﻤﺎﻳﺶ ﻛﻠﻲ ﺳﺎﺧﺘﺎر ﺷﺒﻜﻪ
2-3ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري در ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي دو ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ وﺟﻮد دارد: •
ﻧﻮع رﻛﻮرد
•
ﻧﻮع ﻣﺠﻤﻮﻋﻪ
ﻧﻮع رﻛﻮرد :ﺑﺮاي ﻧﻤﺎﻳﺶ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻛﺎر ﻣﻲرود )ﻣﺜﻞ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ( .در ﻳﻚ ﻧﻮع رﻛﻮرد ﻃﺒﻌﺎ ﺻﻔﺎﺗﻲ وﺟﻮد دارد ﻛﻪ ﻣﻲﺗﻮاﻧﻨﺪ ﺳﺎده ﺗﻜﺮار ﺷﻮﻧﺪه )ﺑﺮدار در اﺻﻄﻼح ﺷﺒﻜﻪ اي( ﻳﺎ ﻣﺮﻛﺐ ﺗﻜﺮار ﺷﻮﻧﺪه )ﮔﺮوه ﺗﻜﺮار ﺷﻮﻧﺪه در اﺻﻄﻼح ﺷﺒﻜﻪ اي( ﻫﻢ ﺑﺎﺷﻨﺪ. ﻧﻮع ﻣﺠﻤﻮﻋﻪ :در اﺳﺎس ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط 1:Nﺑﻴﻦ دو )ﭼﻨﺪ( ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻜﺎر ﻣﻲ رود .ﻧﻮع ﻣﺠﻤﻮﻋﻪ )ﻛﻪ ﺑﻪ آن ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞ ﻫﻢ ﻣﻲ ﮔﻮﻳﻨﺪ( ،از ﺳﻪ ﺟﺰء ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ: •
ﻧﺎم ﻣﺠﻤﻮﻋﻪ
•
ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ
•
ﻳﻚ ﻧﻮع رﻛﻮرد ﻋﻀﻮ
ﻫﺮ ﭼﻨﺪ +ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري در اﺳﺎس ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﻳﻚ ﺑﻪ ﭼﻨﺪ" ﺑﻴﻦ دو ﻳﺎ ﺑﻴﺶ از دو ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﺑﻜﺎر ﻣﻲ رود ،اﻣﺎ ﻣﻲ ﺗﻮان ارﺗﺒﺎط "ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ" را ﻫﻢ ﺑﺎ آن ﻧﻤﺎﻳﺶ داد .در ,ﻻزم اﺳﺖ ﺑﻪ ﻧﻜﺎت زﻳﺮ ﺗﻮﺟﻪ ﮔﺮدد:
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
102ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻣﺎﻟﻚ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ،ﻣﻲﺗﻮاﻧﺪ ﻣﺎﻟﻚ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ.
•
ﻣﺎﻟﻚ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮاﻧﺪ ﻋﻀﻮ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ.
•
ﻋﻀﻮ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮاﻧﺪ ﻣﺎﻟﻚ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ.
•
ﻋﻀﻮ ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮاﻧﺪ ﻋﻀﻮ در ﻧﻮع ﻣﺠﻤﻮﻋﻪ دﻳﮕﺮ ﺑﺎﺷﺪ .ﺑﻪ اﻳﻦ ﻋﻀﻮ ،ﻋﻀﻮ ﻣﺸﺘﺮك ﻳﺎ ﭘﻴﻮﻧﺪ دﻫﻨﺪه ﻣﻲﮔﻮﺋﻴﻢ و در ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺑﺎ ﭼﻨﺪي N:Mﺑﻜﺎر ﻣﻲآﻳﺪ.
ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ،ﻣﻲ ﺗﻮاﻧﺪ ﻧﻤﻮﻧﻪ ﻫﺎﻳﻲ داﺷﺘﻪ ﺑﺎﺷﺪ .در ﻫﺮ ﻧﻤﻮﻧﻪ ﻣﺠﻤﻮﻋﻪ ،ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﺸﺨﺺ و ﻣﺘﻤﺎﻳﺰ از رﻛﻮرد ﻧﻮع ﻣﺎﻟﻚ و
n≥ 0
ﻧﻤﻮﻧﻪ ﻣﺘﻤﺎﻳﺰ از رﻛﻮرد ﻧﻮع ﻋﻀﻮ
وﺟﻮد دارد .ﭘﺎﻳﮕﺎه داده ﻫﺎي ﺷﺒﻜﻪ اي در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ )از دﻳﺪ ﻛﺎرﺑﺮ( ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ ﻣﻨﻄﻘﺎً "ﻣﻨﻈﻢ" از ﻧﻤﻮﻧﻪ ﻫﺎي ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﻧﻮع ﻣﺠﻤﻮﻋﻪ.
3-3ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪاي ﭘﺎﻳﮕﺎه داده ﺷﺒﻜﻪ اي روش ﺧﺎص ﺧﻮد ﺟﻬﺖ ﻧﻤﺎﻳﺶ ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺖ را دارا اﺳﺖ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻫﻤﻴﺖ ارﺗﺒﺎط ي از ﻧﻮع ﻳﻚ ﺑﻪ ﭼﻨﺪ و ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ -ﻧﺤﻮه ﻧﻤﺎﻳﺶ و ﭘﻴﺎده ﺳﺎزي +دو ﻧﻮع ارﺗﺒﺎط در زﻳﺮ ﺗﻮﺿﻴﺢ داده ﺷﺪه اﻧﺪ.
1-3-3ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط " ﻳﻚ ﺑﻪ
ﭼﻨﺪ"
در +ﻧﻮع ﺣﺎﻟﺖ ﻧﻮع رﻛﻮرد ﺳﻮي " ﻳﻚ " را ﻣﺎﻟﻚ و ﻧﻮع رﻛﻮرد ﺳﻮي " ﭼﻨﺪ " را ﻋﻀﻮ در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢ.
ﺷﻜﻞ 12-5ﻧﻮع
ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞDEST
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 103 1
در +ﻧﻤﻮدار ﻛﻪ ﺑﻪ آن ﻧﻤﻮدار ﺑﺎﺧﻤﻦ ﻫﻢ ﻣﻲ ﮔﻮﻳﻨﺪ ،ﻧﻮع رﻛﻮرد ،DEPTﻣﺎﻟﻚ ،و ﻧﻮع رﻛﻮرد ،STUDﻋﻀﻮ اﺳﺖ + .ﻧﻤﻮدار ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞ ﺑﻪ ﻧﺎم
DEST
را ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﺪ .ﻣﻲ ﺑﻴﻨﻴﻢ ﻛﻪ در ﺣﺎﻟﺖ ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ ،ﺻﻔﺖ )ﺻﻔﺎت( ارﺗﺒﺎط، ﻓﻴﻠﺪ)ﻫﺎﻳﻲ( از ﻧﻮع رﻛﻮرد ﻋﻀﻮ ﻫﺴﺘﻨﺪ .در ﺷﻜﻞ 13-5ﻧﻤﻮﻧﻪ اي از ﻧﻮع ﻣﺠﻤﻮﻋﻪ DESTدﻳﺪه ﻣﻲ ﺷﻮد.
ﺷﻜﻞ 13-5دو ﻧﻤﻮﻧﻪ از ﻧﻮع
ﻣﺠﻤﻮﻋﻪ DEST
ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ،ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪ ﻧﻮع رﻛﻮرد ﻋﻀﻮ داﺷﺘﻪ ﺑﺎﺷﺪ ﻛﻪ اﻟﺒﺘﻪ ﻳﻚ ﺣﺎﻟﺖ ﺧﺎص اﺳﺖ و در ﺳﻴﺴﺘﻢ ي ﺷﺒﻜﻪاي ﻣﻮﺟﻮد ﭘﺬﻳﺮﻓﺘﻪ ﻧﻴﺴﺖ .رﻛﻮرد ﻧﻮع ﻣﺎﻟﻚ در ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻲﺗﻮاﻧﺪ ﻣﺎﻟﻚ در ﭼﻨﺪ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﺑﺎﺷﺪ .ﮔﻮﻧﻪ ﺧﺎﺻﻲ از ﻧﻮع ﻣﺠﻤﻮﻋﻪ وﺟﻮد دارد ﻛﻪ رﻛﻮرد ﻧﻮع ﻣﺎﻟﻚ ﻧﺪارد و در واﻗﻊ " ﺳﻴﺴﺘﻢ " ﺧﻮد ﻣﺎﻟﻚ آن اﺳﺖ .ﺷﻜﻞ 14-5ﻧﻤﻮﻧﻪاي از رﻛﻮرد ﺗﺤﺖ ﻣﺎﻟﻜﻴﺖ ﺳﻴﺴﺘﻢ را ﻧﺸﺎن ﻣﻲدﻫﺪ.
ﺷﻜﻞ 14-5ﻧﻮع رﻛﻮرد ﺗﺤﺖ
ﻣﺎﻟﻜﻴﺖ " ﺳﻴﺴﺘﻢ "
1. B ac h ma n D i a gr a m
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
104ﭘﺎﻳﮕﺎه دادهﻫﺎ
ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻣﻤﻜﻦ اﺳﺖ ﺑﺎزﮔﺸﺘﻲ ﺑﺎﺷﺪ .در +ﮔﻮﻧﻪ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ،ﻳﻚ ﻧﻮع رﻛﻮرد ﻫﻢ ﻣﺎﻟﻚ اﺳﺖ و ﻫﻢ ﻋﻀﻮ )اﻳﻦ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻏﺎﻟﺒﺎ در ﺳﻴﺴﺘﻤﻬﺎي ﺷﺒﻜﻪ اي ﻣﺠﺎز ﻧﻴﺴﺖ( .ﺷﻜﻞ 15-5ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖ Eﺑﺎ ﺧﻮدش را ﻧﺸﺎن ﻣﻲ دﻫﺪ:
ﺷﻜﻞ 15-5ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺖ ﺑﺎ ﺧﻮدش
2-3-3ﻃﺮز ﻧﻤﺎﻳﺶ ارﺗﺒﺎط "ﭼﻨﺪ ﺑﻪ
ﭼﻨﺪ"
ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎز ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ ،از ﻳﻚ ﻧﻮع رﻛﻮرد ﭘﻴﻮﻧﺪ دﻫﻨﺪه اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ ﻛﻪ ﻋﻀﻮ ﻣﺸﺘﺮك ﺑﻴﻦ دو ﻳﺎ ﺑﻴﺶ از دو ﻧﻮع ﻣﺠﻤﻮﻋﻪ اﺳﺖ )ﺗﻌﺪاد ﻧﻮع ﻣﺠﻤﻮﻋﻪﻫﺎ ﻫﻤﺎن ﺗﻌﺪاد ﻧﻮع ﻣﻮﺟﻮدﻳﺘﻬﺎي ﺷﺮﻛﺖ ﻛﻨﻨﺪه در ارﺗﺒﺎط اﺳﺖ .ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ ﺑﻪ ﺗﻌﺪاد درﺟﻪ ارﺗﺒﺎط ،ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﺑﺎ ﻋﻀﻮ ﻣﺸﺘﺮك دارﻳﻢ( + .ﻧﻮع رﻛﻮرد )ﻛﻪ ﻣﻲ ﺗﻮاﻧﺪ ﺑﺪون ﻳﺎ داراي ﻓﻴﻠﺪ )ﻫﺎي( داده اي ﺑﺎﺷﺪ( را ﮔﺎه رﻛﻮرد ﺳﺎﺧﺘﮕﻲ ﻣﻲ ﻧﺎﻣﻴﻢ .ﻓﻴﻠﺪ)ﻫﺎي( + رﻛﻮرد )در ﺳﻄﺢ ﻃﺮاﺣﻲ( ،ﻫﻤﺎن ﺻﻔﺖ )ﺻﻔﺎت( ارﺗﺒﺎط N:Mاﺳﺖ .ﺑﺮاي ﻧﻤﻮﻧﻪ در ﺷﻜﻞ 16-5ارﺗﺒﺎط " اﻧﺘﺨﺎب " ﺑﻴﻦ داﻧﺸﺠﻮ و درس ﻧﺸﺎن داده ﺷﺪه اﺳﺖ + .ارﺗﺒﺎط ﺑﻪ ﻛﻤﻚ دو ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻧﻤﺎﻳﺶ داده ﺷﺪه اﺳﺖ ﻛﻪ در آﻧﻬﺎ رﻛﻮرد
TYGR
رﻛﻮرد
ﭘﻴﻮﻧﺪ دﻫﻨﺪه اﺳﺖ. ﺣﺎل ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻣﻲﺧﻮاﻫﻴﻢ ﭘﺎﻳﮕﺎهداده ﺷﺒﻜﻪاي را در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ ﺗﻮﺻﻴﻒ ﻛﻨﻴﻢ .ﭘﺎﻳﮕﺎهداده ﺷﺒﻜﻪاي ﻣﺠﻤﻮﻋﻪ اﻳﺴﺖ ﻣﻨﻄﻘﺎً ﻣﻨﻈﻢ از ﻧﻤﻮﻧﻪﻫﺎي ﻣﺘﻤﺎﻳﺰ ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻣﺠﻤﻮﻋﻪ ﻛﻮداﺳﻴﻞ .در ,ذﻛﺮ +ﻧﻜﺘﻪ اﻫﻤﻴﺖ دارد ﻛﻪ ﺳﺎﺧﺘﺎر ﭼﻨﺪ ﺣﻠﻘﻪاي
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 105
ﺑﻮﻳﮋه ﮔﻮﻧﻪﻫﺎي ﻛﺎﻣﻠﺘﺮش ﻣﻲﺗﻮاﻧﺪ ﺳﺎﺧﺘﺎر ﻣﻨﺎﺳﺒﻲ ﺑﺎﺷﺪ و ﻣﻲﺗﻮان +ﺳﺎﺧﺘﺎر را ﺑﺎ ﺳﺎﺧﺘﺎر ﺷﺎﺧﺺ و ﻳﺎ ﺳﺎﺧﺘﺎر ﻣﺴﺘﻘﻴﻢ از ﻃﺮﻳﻖ درﻫﻤﺴﺎزي ،ﺗﺮﻛﻴﺐ ﻛﺮد.
ﺷﻜﻞ 16-5ﻧﻤﺎﻳﺶ ارﺗﺒﺎط " ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ " ﺑﻴﻦ داﻧﺸﺠﻮ و درس
4-3ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه ﺷﺒﻜﻪاي ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻋﻨﺎﺻﺮ ﺳﺎﺧﺘﺎري ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي ،ﺑﺮﺧﻲ دﺳﺘﻮرات ﺑﻄﻮر ﻛﻠﻲ ﻋﺒﺎرﺗﻨﺪ از: •
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ
•
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ ﺑﻌﺪي از ﻳﻚ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ
•
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻳﻚ ﻧﻮع رﻛﻮرد ﻋﻀﻮ ﺑﺎ داﺷﺘﻦ ﻧﻤﻮﻧﻪ ﻣﺎﻟﻚ )ﻫﺎ(
•
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻧﻤﻮﻧﻪ ﺑﻌﺪي از ﻳﻚ ﻧﻮع رﻛﻮرد ﻋﻀﻮ ﺑﺎ داﺷﺘﻦ ﻧﻤﻮﻧﻪ ﻣﺎﻟﻚ )ﻫﺎ(
•
دﺳﺘﻮر ﺑﺎزﻳﺎﺑﻲ ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﺎﻟﻚ از ﻳﻚ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﺑﺎ داﺷﺘﻦ ﻳﻚ ﻧﻤﻮﻧﻪ ﻋﻀﻮ از آن
•
دﺳﺘﻮر درج ﻳﻚ ﻧﻤﻮﻧﻪ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ ﻳﺎ ﻧﻮع رﻛﻮرد ﻋﻀﻮ
•
دﺳﺘﻮر ﺣﺬف ﻳﻚ ﻧﻤﻮﻧﻪ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ ﻳﺎ ﻧﻮع رﻛﻮرد ﻋﻀﻮ
•
دﺳﺘﻮر ﺑﻬﻨﮕﺎم ﺳﺎزي ﻳﻚ ﻧﻤﻮﻧﻪ ﻧﻮع رﻛﻮرد ﻣﺎﻟﻚ ﻳﺎ ﻧﻮع رﻛﻮرد ﻋﻀﻮ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
106ﭘﺎﻳﮕﺎه دادهﻫﺎ
5-3ﺑﺮﺧﻲ وﻳﮋﮔﻲ ي ﺳﺎﺧﺘﺎر )و ﻣﺪل( دادهاي ﺷﺒﻜﻪاي در اداﻣﻪ ﺑﺮﺧﻲ وﻳﮋﮔﻲ و ﻣﺤﺪودﻳﺖ ي ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ را ﺷﺮح ﺧﻮاﻫﻴﻢ داد: •
ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻧﺪارد )ﺣﺪاﻗﻞ در ﺳﻴﺴﺘﻢ ﻣﻮﺟﻮد( ،از +رو ﻣﻴﺰان اﻧﺘﺰاع آن در ﺣﺪ ﺳﺎﺧﺘﺎر دادهاي راﺑﻄﻪاي )ﺟﺪوﻟﻲ( ﻧﻴﺴﺖ )اﻟﺒﺘﻪ ﮔﺮاف ﻣﻲﺗﻮاﻧﺪ ﻣﺒﻨﺎي رﻳﺎﺿﻲ ﻣﻨﺎﺳﺒﻲ ﺑﺮاي +ﺳﺎﺧﺘﺎر دادهاي ﺑﺎﺷﺪ(.
• •
دو ﻧﻮع ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ دارد. ﻣﺎﻫﻴﺘﺎ ﺧﺎص ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﺎت
"
ﻳﻚ ﺑﻪ ﭼﻨﺪ" ﻧﻴﺴﺖ ،ﻳﻌﻨﻲ ﻣﺤﺪودﻳﺘﻲ در
ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﺎت ﺑﺎ ﭼﻨﺪي ي دﻳﮕﺮ ،ﻧﺪارد. •
ﺳﺎﺧﺖ ﻣﻨﻄﻘﻲ روﻳﻪ ﺑﺎزﻳﺎﺑﻲ آن ﭘﻴﭽﻴﺪه ﺗﺮ از ﺳﺎﺧﺘﺎرﻫﺎي دﻳﮕﺮ اﺳﺖ و ﻧﺎوش ﻏﻴﺮ اﺗﻮﻣﺎﺗﻴﻚ اﺳﺖ.
•
ﺧﻄﺮ ﺑﺮوز ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ ﻧﺴﺒﺖ ﺑﻪ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،ﻛﻤﺘﺮ اﺳﺖ.
•
ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ ذاﺗﻲ دارد.
•
ﺑﻌﺾ آﻧﻮﻣﺎﻟﻲ ي ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را ﻧﺪارد.
•
ﻓﺰون ﻛﺎري اﺣﺘﻤﺎﻟﻲ ﻧﺎﺷﻲ از اﻓﺰوﻧﮕﻲ ﻛﻪ در ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﻲﺗﻮاﻧﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ،در +ﺳﺎﺧﺘﺎر وﺟﻮد ﻧﺪارد اﻣﺎ ﺑﻪ ﻋﻠﺖ ﺣﺠﻢ زﻳﺎد ﻧﺸﺎن ﻧﻤﺎﻫﺎ )اﺷﺎره ﮔﺮﻫﺎ( ،اﻳﺠﺎد ﻳﺎ اﺻﻼًح آﻧﻬﺎ ﻣﻲﺗﻮاﻧﺪ ﺳﺒﺐ ﺑﺮوز ﻓﺰون ﻛﺎري در ﺳﻴﺴﺘﻢ ﺷﻮد.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺪلﻫﺎ و ﺳﺎﺧﺘﺎرﻫﺎي دادهاي ﭘﺎﻳﮕﺎه دادهﻫﺎ 107
ﺗﻤﺮﻳﻨﺎت .1دﻻﻳﻞ اﺳﺘﻔﺎده از ﺳﺎﺧﺘﺎر دادهاي را ﺷﺮح دﻫﻴﺪ ؟ .2ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺳﺎﺧﺘﺎر داده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ را ﺷﺮح دﻫﻴﺪ ؟ .3وﻳﮋﮔﻲ ﻫﺎ و ﻣﺤﺪودﻳﺖ ﻫﺎي ﺳﺎﺧﺘﺎر داده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ را ﺷﺮح دﻫﻴﺪ ؟ .4ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺳﺎﺧﺘﺎر داده ﺷﺒﻜﻪ اي را ﺷﺮح دﻫﻴﺪ ؟ .5وﻳﮋﮔﻲ ﻫﺎ و ﻣﺤﺪودﻳﺖ ﻫﺎي ﺳﺎﺧﺘﺎر داده ﺷﺒﻜﻪ اي را ﺷﺮح دﻫﻴﺪ ؟ .6ﻧﺤﻮه ﭘﻴﺎده ﺳﺎزي ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ را در ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ108
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
/ ! 01 ﻫﺪف ﻛﻠﻲ دراﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﺎرﻳﺨﭽﻪ اي در ﻣﻮرد ﺑﺎﻧﻚ اﻃﻼﻋﺎت راﺑﻄﻪ اي ﺑﻴﺎن ﺷﺪه و ﺳﺎﺧﺘﺎر داده اي راﺑﻄﻪ اي ﺑﻪ ﺗﻔﺼﻴﻞ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ .در اﻳﻦ راﺳﺘﺎ ﻣﻔﻬﻮم راﺑﻄﻪ ﺷﺮح داده ﺷﺪه و ﺗﻨﺎﻇﺮي ﺑﻴﻦ ﻣﻔﻬﻮم راﺑﻄﻪ و ﺟﺪول ﺑﻴﺎن ﺧﻮاﻫﺪ ﺷﺪ. ﺳﭙﺲ وﻳﮋﮔﻲﻫﺎي راﺑﻄﻪ ﺷﺮح داده ﺷﺪه و در ﻣﻮرد ﻣﻔﺎﻫﻴﻤﻲ ﻣﺎﻧﻨﺪ ﻛﻠﻴﺪﻫﺎ ،ﻧﻮع راﺑﻄﻪ و ﻣﻔﻬﻮم دﻳﺪ ﺻﺤﺒﺖ ﺧﻮاﻫﺪ ﺷﺪ .در اداﻣﻪ ﻣﻔﻬﻮم ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ ﻣﻄﺮح ﺷﺪه و اﻧﻮاع ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ ﺗﻮﺿﻴﺢ داده ﺧﻮاﻫﻨﺪ ﺷﺪ.
ﻫﺪف رﻓﺘﺎري دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﺑﺎﻧﻚ اﻃﻼﻋﺎت راﺑﻄﻪاي
•
ﺳﺎﺧﺘﺎر دادهاي راﺑﻄﻪاي
•
ﺗﻌﺮﻳﻒ راﺑﻄﻪ
•
ﺗﻨﺎﻇﺮ ﺑﻴﻦ ﻣﻔﺎﻫﻴﻢ راﺑﻄﻪاي و ﻣﻔﺎﻫﻴﻢ ﺟﺪوﻟﻲ
•
ﺗﻌﺮﻳﻒ ﺻﻮري ﺟﺪول
•
وﻳﮋﮔﻲﻫﺎي راﺑﻄﻪ
•
اﻧﻮاع ﻛﻠﻴﺪ در ﻣﺪل راﺑﻄﻪاي
•
اﻧﻮاع راﺑﻄﻪ
Relational DB
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
110ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻣﻔﻬﻮم دﻳﺪ
•
ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي
•
ﻣﺘﺎ ﻗﻮاﻋﺪ
•
ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ در ﻣﺪل راﺑﻄﻪاي
-1ﺑﺎﻧﻚ اﻃﻼﻋﺎت راﺑﻄﻪاي
1
ﭘﺲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ و ﺷﺒﻜﻪ اي ،ﻛﻪ ﻫﺮ ﻳﻚ داراي ﺿﻌﻒ ﻫﺎﻳﻲ ﺑﻮدﻧﺪ ،ﻣﺘﺨﺼﺼﺎن در ﺟﺴﺘﺠﻮي ﻣﺪﻟﻲ ﺑﻮدﻧﺪ ﻛﻪ داراي ﺳﺎﺧﺘﺎر داده اي ﺑﺎ اﻧﺘﺰاع ﻗﻮي ﺑﺎﺷﺪ .ﻣﺪل راﺑﻄﻪ اي در ﺳﺎل 1970ﺗﻮﺳﻂ
E.F.Codd
اﺑﺪاع ﮔﺮدﻳﺪ .اﻳﻦ ﻣﺪل داراي
ﺳﺎﺧﺘﺎر داده اي ﺑﺎ اﻧﺘﺰاع ﻗﻮي ﺑﻮده و اﺳﺎﺳﺎً ﺳﺎﺧﺘﺎر دادهاي در آن ﺑﺮ اﺳﺎس ﻳﻚ 2
ﻣﻔﻬﻮم رﻳﺎﺿﻲ ﺑﻨﺎم راﺑﻄﻪ اﺳﺘﻮار اﺳﺖ .در اﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ ﺷﻮد ﻛﻪ ﻣﻔﻬﻮم راﺑﻄﻪ از دﻳﺪﮔﺎه ﻛﺎد ﺑﺎ ﻣﻔﻬﻮم رﻳﺎﺿﻲ آن ﺗﺎﺣﺪودي ﻣﺘﻔﺎوت اﺳﺖ .در اﻳﻨﺠﺎ ﺑﺮاي اراﺋﻪ ﺳﺎده ﺗﺮ ﻣﻮﺿﻮﻋﺎت ،در ﻣﺒﺎﺣﺚ اﻳﻦ ﻛﺘﺎب ﻣﻔﻬﻮم راﺑﻄﻪ را ﺑﺎ ﻣﻔﻬﻮم رﻳﺎﺿﻲ آن ﻣﺴﺎوي در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢ.
-2ﺳﺎﺧﺘﺎر دادهاي راﺑﻄﻪاي ﺑﺮاي ﻃﺮاﺣﻲ ﭘﺎﻳﮕﺎه داده ﻫﺎ در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ ﭘﺎﻳﻴﻦ ﺗﺮ از ﺳﻄﺢ ﻣﺪل ﺳﺎزي ،ﺑﻪ ﻳﻚ ﺳﺎﺧﺘﺎر داده اي از ﻳﻚ ﻣﺪل داده اي ﻧﻴﺎز اﺳﺖ و اﺳﺎﺳﺎً ﻫﻤﻴﻦ ﻣﺪل داده اي ﺗﺎﻣﻴﻦ ﻛﻨﻨﺪه ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ اﺳﺖ. در ﭘﺎﻳﮕﺎهداده راﺑﻄﻪاي ﺑﺎﻻﺧﺺ در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﻣﻮرد اﺳﺘﻔﺎده ﻛﺎرﺑﺮ ،راﺑﻄﻪ ﻧﻤﺎﻳﺸﻲ ﺟﺪوﻟﻲ دارد و اﺳﺎﺳﺎً ﭘﺎﻳﮕﺎهداده راﺑﻄﻪاي ﻣﺠﻤﻮﻋﻪاي اﺳﺖ از ﺗﻌﺪادي ﻧﻮع ﺟﺪول .ﻣﻔﺎﻫﻴﻢ ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ ﻋﺒﺎرﺗﻨﺪ از: •
ﺟﺪول
•
ﺳﻄﺮ )1. R el a t i o n a l D a t a ba s e (D a t a B a n k 2. R el a t i o n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 111 •
ﺳﺘﻮن
ﻫﺮ ﺟﺪول از ﻧﻈﺮ ﻣﺤﺘﻮاي داده اي ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از ﻧﻤﻮﻧﻪﻫﺎي ﻣﺘﻤﺎﻳﺰ از اﻧﻮاع ﺳﻄﺮﻫﺎ و ﻫﺮ ﺳﻄﺮ ﻧﻴﺰ ﻣﺠﻤﻮﻋﻪ اي از ﻣﻘﺎدﻳﺮ اﺳﺖ ﻛﻪ ﻫﺮ ﻛﺪام از ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺑﺮﮔﺮﻓﺘﻪ ﺷﺪه اﻧﺪ .ﺑﻪ ﻫﺮ ﻳﻚ از ﻋﻨﺎﺻﺮ ﺳﻄﺮ ﻳﻚ ﺳﺘﻮن ﮔﻮﻳﻨﺪ .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ ،ﺗﻨﻬﺎ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺳﺎﺳﻲ ﻫﻤﻴﻦ ﻣﻔﻬﻮم ﻧﻮع ﺟﺪول اﺳﺖ.
-3ﺗﻌﺮﻳﻒ راﺑﻄﻪ 1-3ﺗﻌﺮﻳﻒ راﺑﻄﻪ از دﻳﺪﮔﺎه ﻛﺎد ﺑﺎ ﻓﺮض وﺟﻮد
n
ﻣﺠﻤﻮﻋﻪ ،Sn ،... ،S2 ،S1راﺑﻄﻪ
ﻣﺠﻤﻮﻋﻪ ،ﻣﺠﻤﻮﻋﻪاﻳﺴﺖ از
n
R
ﺗﻌﺮﻳﻒ ﺷﺪه روي اﻳﻦ
n
1
ﺗﺎﻳﻲ ﻫﺎ )ﻛﻪ ﺑﻪ آن ﺗﺎﭘﻞ ﻣﻲ ﮔﻮﻳﻨﺪ( ﺑﻪ ﻧﺤﻮي ﻛﻪ ﺟﺰء
اول ﻫﺮ nﺗﺎﻳﻲ از ،S1ﺟﺰء دوم از S2و ...ﻣﻘﺪار ﺑﮕﻴﺮد. ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ Rﻋﺒﺎرﺗﺴﺖ از زﻳﺮﻣﺠﻤﻮﻋﻪاي از ﺿﺮب ﻛﺎرﺗﺰﻳﻦ .S1*S2*…*Snو ﻣﻲﮔﻮﻳﻴﻢ راﺑﻄﻪ Rاز درﺟﻪ nاﺳﺖ .ﻫﺮ ﻳﻚ از ﻣﺠﻤﻮﻋﻪﻫﺎي S2 ،S1و ...ﻣﻴﺪان ﻳﺎ داﻣﻨﻪ
2
ﻧﺎﻣﻴﺪه ﻣﻲﺷﻮﻧﺪ .داﻣﻨﻪ ،ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮي اﺳﺖ ﻛﻪ ﻳﻚ ﺻﻔﺖ از راﺑﻄﻪ ﻣﺸﺨﺺ ﻣﻲﺗﻮاﻧﻨﺪ داﺷﺘﻪ ﺑﺎﺷﻨﺪ. D2
D1
T F V T F V
1 1 1 2 2 2
ﺷﻜﻞ 1-6ﻧﻤﺎﻳﺶ
}D1={1,2 }D2={T,F,V
*D1 = R1
D2
راﺑﻄﻪ R1=D1* D2
1. T u pl e 2. D o ma i n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
112ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻣﺜﺎل ﺑﺎﻻ ﻛﻪ ﻧﺸﺎن دﻫﻨﺪه دو ﻣﺠﻤﻮﻋﻪ و ﺣﺎﺻﻞ ﺿﺮب ﺑﻴﻦ آن دو اﺳﺖ ،ﺗﻮﺟﻪ ﻛﻨﻴﺪ .ﺷﺎﻳﺪ اﻳﻦ ﻣﺜﺎل ﺗﺎ ﺣﺪودي ﺷﻔﺎﻓﻴﺖ ﻻزم را ﺑﺮاي ﺧﻮاﻧﻨﺪه ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ .اﻛﻨﻮن ﻣﺜﺎل دﻳﮕﺮي را ﺑﺎ ﺟﺰﺋﻴﺎت ﺑﻴﺸﺘﺮ ﺑﻴﺎن ﻣﻲﻛﻨﻴﻢ .ﻓﺮض ﻛﻨﻴﺪ ﻣﺠﻤﻮﻋﻪﻫﺎي زﻳﺮ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ: •
S1ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺷﻤﺎره داﻧﺸﺠﻮﻳﺎن
•
S2ﻣﺠﻤﻮﻋﻪ اﺳﺎﻣﻲداﻧﺸﺠﻮﻳﺎن
•
S3ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺳﻄﻮح ﺗﺤﺼﻴﻠﻲ در داﻧﺸﮕﺎه
•
S4ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ رﺷﺘﻪﻫﺎي ﺗﺤﺼﻴﻠﻲ
•
S5ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺷﻤﺎره ﮔﺮوهﻫﺎي آﻣﻮزﺷﻲ
در اﻳﻦ ﺻﻮرت
STT
ﺑﺎ ﭘﻨﺞ ﺻﻔﺖ ﺧﺎﺻﻪ ﻣﺮﺗﺒﻂ ﺑﺎ ﭘﻨﺞ ﻣﺠﻤﻮﻋﻪ ﺑﺎﻻ ،ﻳﻚ راﺑﻄﻪ ﺑﻮده
و ﺑﺼﻮرت زﻳﺮ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد: )STT(STID,STNAME,STDEG,STMJR,STDEID
ﺟﺪول 2-6ﻧﻤﺎﻳﺶ ﺟﺪوﻟﻲ
راﺑﻄﻪ STT
STT STDEID V532 V135 …
STDEG Bs ms …
STMGR computer math …
STID 1 2 …
STNAME Reza Hamid …
2-3ﺗﻌﺮﻳﻒ راﺑﻄﻪ ﺑﺎ ﻓﺮض وﺟﻮد
n
ﻣﻴﺪان ،... ،D2 ،D1
Dn
)ﻧﻪ ﻟﺰوﻣﺎ ﻣﺘﻤﺎﻳﺰ( ،راﺑﻄﻪ
R
از دو ﻗﺴﻤﺖ
ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ: -1ﻣﺠﻤﻮﻋﻪ ﻋﻨﻮان :ﻣﺠﻤﻮﻋﻪاي ﻧﺎﻣﺪار اﺳﺖ از nﺻﻔﺖ ﺑﻪ ﺻﻮرت Ai: Diﻛﻪ در آن ﻫﺮ
Ai
ﻧﺎم ﻳﻚ ﺻﻔﺖ اﺳﺖ و ﻫﺮ
Di
ﻧﺎم ﻣﻴﺪان ﺻﻔﺖ اﺳﺖ .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ 1
Aiﻫﺎ از ﻳﻜﺪﻳﮕﺮ ﻣﺘﻤﺎﻳﺰ ﻫﺴﺘﻨﺪ .ﺑﻪ اﻳﻦ ﻣﺠﻤﻮﻋﻪ ﺷﻤﺎي راﺑﻄﻪ ﻧﻴﺰ ﻣﻲ ﮔﻮﻳﻨﺪ ﻛﻪ ﺑﻪ ﺻﻮرت ﺷﻤﺎﺗﻴﻚ ﭼﻨﻴﻦ اﺳﺖ: 1. R el a t i o n Sc h e ma
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 113 }> {<A :D >,<A :D >,…,<A :D 1 1 2 2 n n
-2ﻣﺠﻤﻮﻋﻪ ﺑﺪﻧﻪ :ﻣﺠﻤﻮﻋﻪ اﻳﺴﺖ از
m
ﺗﺎﭘﻞ tﺑﻨﺤﻮي ﻛﻪ tﺧﻮد ﻣﺠﻤﻮﻋﻪاﻳﺴﺖ از
n
ﻋﻨﺼﺮ ﺑﺼﻮرت Ai: viﻛﻪ در آن viﻣﻘﺪاري اﺳﺖ از ﻧﻮع )ﻣﻴﺪان( .Di }> {<A :v >,<A :v >,…,<A :v 1 i1 2 i2 n in )(i = 1 , 2 , 3 , … , m • • •
2
1
ﭘﻴﻜﺮ راﺑﻄﻪ را ﮔﺎﻫﺎ ﺑﺴﻂ راﺑﻄﻪ ﻳﺎ ﺣﺎﻟﺖ راﺑﻄﻪ ﻫﻢ ﻣﻲﮔﻮﻳﻨﺪ. 4
3
ﻣﻘﺪار nرا درﺟﻪ راﺑﻄﻪ ﻳﺎ آرﻳﺘﻲ ﻣﻲﮔﻮﻳﻨﺪ. 5
ﻣﻘﺪار mرا ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ راﺑﻄﻪ ﻣﻲﮔﻮﻳﻨﺪ.
3-3ﺗﻨﺎﻇﺮ ﺑﻴﻦ ﻣﻔﺎﻫﻴﻢ راﺑﻄﻪاي و ﻣﻔﺎﻫﻴﻢ ﺟﺪوﻟﻲ ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﺪ ﺑﺮاي ﭘﻴﺎده ﺳﺎزي ﻣﺪل راﺑﻄﻪ اي در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ از راﺑﻄﻪ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد .ﺑﺮاي ﭘﻴﺎده ﺳﺎزي ﻣﺪل راﺑﻄﻪ اي در ﺳﺎﺧﺘﺎر ﭘﺎﻳﮕﺎه داده از ﻣﻔﻬﻮم ﺟﺪول اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد. ﺟﺪول 3-6ﺗﻨﺎﻇﺮ ﺑﻴﻦ اﺟﺰاء دو ﻣﻔﻬﻮم راﺑﻄﻪ و ﺟﺪول
اﺟﺰاء ﻣﻔﻬﻮم راﺑﻄﻪ
اﺟﺰاء ﻣﻔﻬﻮم ﺟﺪوﻟﻲ
راﺑﻄﻪ
ﺟﺪول
ﺗﺎﭘﻞ
ﺳﻄﺮ
ﺻﻔﺖ
ﺳﺘﻮن
ﻣﻴﺪان
ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺳﺘﻮن
درﺟﻪ
ﺗﻌﺪاد ﺳﺘﻮنﻫﺎ
ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ
ﺗﻌﺪاد ﺳﻄﺮﻫﺎ
ﻣﻔﺎﻫﻴﻢ ﺟﺪول و راﺑﻄﻪ ﺗﺎ ﺣﺪود زﻳﺎدي ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻧﺰدﻳﻚ ﺑﻮده و در ﻣﻮاردي ﺑﻪ 1. E xt e n s i o n 2. R el a t i o n St a t e 3. D e gr e e 4. Ar i t y 5. C ar d i n a l i t y
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
114ﭘﺎﻳﮕﺎه دادهﻫﺎ
اﺷﺘﺒﺎه ﺑﺠﺎي ﻳﻜﺪﻳﮕﺮ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ .در ﺟﺪول 3-6ﺗﻨﺎﻇﺮ ﺑﻴﻦ دو ﻣﻔﻬﻮم راﺑﻄﻪ و ﺟﺪول ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.
4-3ﺗﻌﺮﻳﻒ ﺻﻮري ﺟﺪول ﻓﺮض ﻣﻲ ﻛﻨﻴﻢ ﻫﺮAЄU
U
ﻣﺠﻤﻮﻋﻪ اي از ﻧﻤﺎدﻫﺎ ﻣﻮﺳﻮم ﺑﻪ ﺻﻔﺎت راﺑﻄﻪ اي ﺑﺎﺷﺪ و ﺑﺮاي
ﻣﺠﻤﻮﻋﻪ اي از ﻣﻘﺎدﻳﺮ ﺑﻪ ﻧﺎم
)Domain(A
وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ .ﻧﻤﺎد ﻧﻤﺎﻳﺸﮕﺮ
ﺳﺘﻮن ﺟﺪول اﺳﺖ و ) Domain(Aﻣﻘﺎدﻳﺮي ﻫﺴﺘﻨﺪ ﻛﻪ در ﺳﺘﻮن Aﻇﺎﻫﺮ ﻣﻲ ﺷﻮﻧﺪ. ﻓﺮض ﻣﻲ ﻛﻨﻴﻢ
} H = { A ,A ,…,A 1 2 n
ﻣﺠﻤﻮﻋﻪ اي ﻣﺘﻨﺎﻫﻲ از ﺻﻔﺎت راﺑﻄﻪ اي ﺑﺎﺷﺪ.
ﻣﻲ داﻧﻴﻢ ﻛﻪ ﺿﺮب ﻛﺎرﺗﺰﻳﻦ ) Domain (A ) * … * Domain (A 1 n
از ﺗﺎﭘﻠﻬﺎﻳﻲ ﺑﻪ ﺻﻮرت ) t = (a1,a2,…,anﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ ﻛﻪ در آن: ) 1<= i <= n , a Є Domain (A i i
ﺗﺎﭘﻞ Tرا ﻣﻲ ﺗﻮان ﺑﻪ ﮔﻮﻧﻪ دﻳﮕﺮي ﻫﻢ ﺗﻌﺮﻳﻒ ﻛﺮد: ﺑﻪ ﻧﺤﻮي ﻛﻪ
}t = {A ,A ,…,A } → U {Domain (A ), 1 <= i <= n 1 2 n i ) T(A ) Є Domain (A i i
ﺿﺮب ﻛﺎرﺗﺰﻳﻦ
) Domain (A ) * … * Domain (A 1 n
را ﺑﺎ
)tupl(H
ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﻴﻢ،
ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ: } Domain (A),t(A) Є Domain (A) , for AЄ H
AЄH
Tupl(H) = {t | t: H→ U
ﻋﻨﺎﺻﺮ ) Tupl(Hرا ﺗﺎﭘﻠﻬﺎي روي Hﻣﻲ ﻧﺎﻣﻴﻢ. راﺑﻄﻪ Rروي ﻣﻴﺪاﻧﻬﺎي ) Domain (A ), … , Domain (A 1 n ) .Tupl(Hﻣﺠﻤﻮﻋﻪ ﻫﻤﻪ اﻳﻦ ﮔﻮﻧﻪ راﺑﻄﻪ ﻫﺎ را ﺑﺎ )rel(H
زﻳﺮ ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از
ﻣﻲ ﮔﻮﻳﻴﻢ ﺟﺪول ﻋﺒﺎرﺗﺴﺖ از ﺳﻪ ﺗﺎﻳﻲ:
Ramin.Samad@yahoo.com
ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﻴﻢ .ﺣﺎل
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 115 ד) = ( T , H , ρ
ﻛﻪ در آن:
T
ﻧﻤﺎدي اﺳﺖ ﺑﻪ ﻋﻨﻮان ﺟﺪول
اﺳﺖ از ﺻﻔﺎت راﺑﻄﻪ اي ﻛﻪ ﺑﻪ آن ﺳﺮآﻳﻨﺪ ד
ﻣﺠﻤﻮﻋﻪ اي
و } H = { A ,A , … A 1 2 n ﮔﻮﻳﻴﻢ و ρﻳﻚ راﺑﻄﻪ اﺳﺖρ Є rel (H) ،
و ﺑﻪ آن ﮔﺴﺘﺮده ד ﻣﻲ ﮔﻮﻳﻴﻢ.
-4وﻳﮋﮔﻲﻫﺎي راﺑﻄﻪ راﺑﻄﻪ ﺑﻪ ﻋﻨﻮان ﺗﻨﻬﺎ ﻋﻨﺼﺮ ﺳﺎﺧﺘﺎري اﺻﻠﻲ در ﻣﺪل راﺑﻄﻪ اي ﺑﺮاي ﻧﻤﺎﻳﺶ اﻧﻮاع ﻣﻮﺟﻮدﻳﺘﻬﺎ و اﻧﻮاع ارﺗﺒﺎﻃﺎت ﺑﻜﺎر ﻣﻲرود .در واﻗﻊ در ﻣﺪل راﺑﻄﻪ اي ﻫﻢ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ و ﻫﻢ ﻧﻮع ارﺗﺒﺎط ﺑﺎ ﻣﻔﻬﻮم راﺑﻄﻪ ﻧﻤﺎﻳﺶ داده ﻣﻲ ﺷﻮﻧﺪ و در ﻧﺘﻴﺠﻪ ﻫﻢ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ و ﻫﻢ ﻧﻤﻮﻧﻪ ارﺗﺒﺎط ﺑﺎ ﻣﻔﻬﻮم ﺗﺎﭘﻞ ﻧﺸﺎن داده ﻣﻲ ﺷﻮﻧﺪ .راﺑﻄﻪ داراي ﭼﻬﺎر وﻳﮋﮔﻲ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ: •
راﺑﻄﻪ ﺗﺎﭘﻞ ﺗﻜﺮاري ﻧﺪارد.
• زﻳﺮا ﺑﺪﻧﻪ راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ اﺳﺖ و ﻣﺠﻤﻮﻋﻪ ﻧﻤﻲﺗﻮاﻧﺪ ﻋﻨﺼﺮ ﺗﻜﺮاري داﺷﺘﻪ ﺑﺎﺷﺪ. •
ﺗﺎﭘﻞﻫﺎ ﻧﻈﻢ ﻧﺪارﻧﺪ.
• زﻳﺮا ﺑﺪﻧﻪ راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ اﺳﺖ و ﻣﺠﻤﻮﻋﻪ در ﺣﺎﻟﺖ ﻛﻠﻲ ﻓﺎﻗﺪ ﻧﻈﻢ اﺳﺖ. •
ﺻﻔﺎت راﺑﻄﻪ ﻧﻈﻢ ﻣﻜﺎﻧﻲ )از ﭼﭗ ﺑﻪ راﺳﺖ( ﻧﺪارﻧﺪ.
• زﻳﺮا ﺳﺮآﻳﻨﺪ راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ اﺳﺖ و ﻣﺠﻤﻮﻋﻪ در ﺣﺎﻟﺖ ﻛﻠﻲ ﻓﺎﻗﺪ ﻧﻈﻢ اﺳﺖ. •
ﺗﻤﺎم ﺻﻔﺎت ﺗﻚ ﻣﻘﺪاري )ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ( ﻫﺴﺘﻨﺪ.
• زﻳﺮا در ﻧﻤﺎﻳﺶ ﺟﺪوﻟﻲ راﺑﻄﻪ ،در ﺗﻘﺎﻃﻊ ﻫﺮ ﺳﻄﺮ و ﺳﺘﻮن ،ﺑﺎﻳﺪ ﻳﻚ ﻣﻘﺪار وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ در ﻫﺮ ﺗﺎﭘﻞ ،دﻗﻴﻘﺎ ﻳﻚ ﻣﻘﺪار ﺑﺮاي ﻫﺮ ﺻﻔﺖ وﺟﻮد دارد. در اداﻣﻪ ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻣﺜﺎﻟﻲ اراﺋﻪ ﺷﺪه اﺳﺖ .در اﻳﻦ ﻣﺜﺎل راﺑﻄﻪ اي ﺑﻨﺎم ﻧﺸﺎن داده ﺷﺪه اﺳﺖ. ﻣﺜﺎل :1راﺑﻄﻪ Sرا ﻛﻪ ﺑﻪ ﺻﻮرت ﺟﺪول 4-6اﺳﺖ در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ. ﺟﺪول 4- 6ﻧﻤﺎﻳﺶ ﺟﺪوﻟﻲ
راﺑﻄﻪ S
Ramin.Samad@yahoo.com
S
WWW.IRANMEET.COM
116ﭘﺎﻳﮕﺎه دادهﻫﺎ CITY CONDON PARIS PARIS LONDON ATHENS
STATUS 20 10 30 20 30
S NAME S J B C A
S# S1 S2 S3 S4 S5
ﻫﻤﺎﻧﮕﻮﻧﻪ ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﺒﺪ در ﺟﺪول ﺑﺎﻻ: •
S#
ﻧﺸﺎن دﻫﻨﺪه ﻛﻠﻴﺪ اﺻﻠﻲ اﺳﺖ) .در ﻣﻮرد ﻣﺒﺤﺚ ﻛﻠﻴﺪ در اداﻣﻪ ﺗﻮﺿﻴﺢ
ﺧﻮاﻫﻴﻢ داد(. •
), SNAME , STATUS , CITY
(S#اﻳﻦ 4ﻣﺸﺨﺼﻪ ﻧﺸﺎن دﻫﻨﺪه
attribute
ﻫﺴﺘﻨﺪ. • داﻣﻨﻪ
CITY
ﺷﺎﻣﻞ ) (ATHENS ،PARIS ،LONDONاﺳﺖ.
• ) (ATHENS ،LONDON ،PARIS ،PARIS ،LONDONﻧﻴﺰ ﻧﺸﺎن دﻫﻨﺪه ﺗﻌﺪاد ﺳﻄﺮﻫﺎي ﻣﻮﺟﻮد ﻳﺎ Cardinalityﻣﻲﺑﺎﺷﻨﺪ. •
)(S5 , A , 30 , ATHENSﻧﺸﺎن دﻫﻨﺪه ﺗﻌﺪاد ﺻﻔﺎت درﺟﻪ Degreeاﺳﺖ.
-5اﻧﻮاع ﻛﻠﻴﺪ در ﻣﺪل راﺑﻄﻪاي در ﻣﺪل راﺑﻄﻪ اي ﭼﻨﺪ ﻣﻔﻬﻮم اﺳﺎﺳﻲ در ﺑﺤﺚ ﻛﻠﻴﺪ وﺟﻮد دارد ﻛﻪ در اداﻣﻪ ﺑﺮرﺳﻲ ﻣﻲ ﺷﻮﻧﺪ:
1-5اﺑﺮ ﻛﻠﻴﺪ
1
ﻫﺮ ﺗﺮﻛﻴﺒﻲ از ﺻﻔﺎت ﺟﺪول را ﻛﻪ ﻳﻜﺘﺎﻳﻲ ﻣﻘﺪار را داﺷﺘﻪ ﺑﺎﺷﺪ ،اﺑﺮ ﻛﻠﻴﺪ ﮔﻮﻳﻨﺪ )ﺑﻪ ﺻﻮرت دﻟﺨﻮاه( .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﻫﺮ زﻳﺮ ﻣﺠﻤﻮﻋﻪ ﻋﻨﻮان راﺑﻄﻪ ﻛﻪ ﻳﻜﺘﺎﻳﻲ ﻣﻘﺪار در ﮔﺴﺘﺮده )ﺑﺪﻧﻪ( راﺑﻄﻪ داﺷﺘﻪ ﺑﺎﺷﺪ .ﺗﻌﺮﻳﻒ دﻳﮕﺮ اﺑﺮ ﻛﻠﻴﺪ ﻋﺒﺎرت اﺳﺖ از ﻫﺮ ﺗﺮﻛﻴﺒﻲ از اﺳﺎﻣﻲ ﺻﻔﺎت راﺑﻄﻪ ﻛﻪ در ﻫﻴﭻ دو ﺗﺎﭘﻞ ﻣﻘﺪار ﻳﻜﺴﺎن ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ.
2-5ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ
2
ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﻣﻜﺎﻧﻲ اﺳﺖ ﺑﺮاي ارﺟﺎع ﺑﻪ "ﺗﻚ ﺗﺎﭘﻞ" در راﺑﻄﻪ .ﻣﺠﻤﻌﻪ ﺻﻔﺎت
K
از
1. Su p e r ke y 2. C a nd i d a t e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 117
راﺑﻄﻪ ،Rﻳﻚ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻣﻲﺑﺎﺷﺪ )ﻣﺎﻧﻨﺪ S#و(SNAMEاﮔﺮ داراي ﺧﻮاص زﻳﺮ ﺑﺎﺷﻨﺪ: •
ﺧﺎﺻﻴﺖ ﻣﻨﺤﺼﺮ ﺑﻔﺮد ﺑﻮدن )ﻳﻜﺘﺎﻳﻲ ﻣﻘﺪار(: ﻫﻴﭻ دو tupleﻣﺠﺰاﺋﻲ از راﺑﻄﻪ Rداراي ﻣﻘﺪار ﻳﻜﺴﺎﻧﻲ ﺑﺮاي Kﻧﺒﺎﺷﻨﺪ).ﺑﻪ ﻃﻮر ﻣﺜﺎل ﻫﻴﭻ دو ﺳﻄﺮ
S#
ﻳﻜﻲ ﻧﻴﺴﺖ
وﻟﻲCITY
ﺗﻜﺮار دارد،
city ،status
ﻫﻢ
ﻧﻤﻲﺗﻮاﻧﻨﺪ ﺑﺎ ﻫﻢ ﺑﺎ ﺷﻨﺪ زﻳﺮا دو ﻓﺮوﺷﻨﺪه ،در ﻟﻨﺪن 20ﻫﺴﺘﻨﺪ(. •
ﺧﺎﺻﻴﺖ ﻏﻴﺮ ﻛﺎﻫﺸﻲ):(minimal ﻫﻴﭻ زﻳﺮ ﻣﺠﻤﻮﻋﻪ ﻣﻨﺎﺳﺒﻲ از
K
وﺟﻮد ﻧﺪارد ﻛﻪ داراي ﺧﺎﺻﻴﺖ ﻣﻨﺤﺼﺮ ﺑﻔﺮد
ﺑﺎﺷﺪ. ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﻫﺮ زﻳﺮ ﻣﺠﻤﻮﻋﻪ از ﻣﺠﻤﻮﻋﻪ ﻋﻨﻮان راﺑﻄﻪ ﻛﻪ دو ﺧﺎﺻﻴﺖ ﺑﺎﻻ را داﺷﺘﻪ ﺑﺎﺷﺪ ،ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ اﺳﺖ. در ﻣﺜﺎل ﻓﻮق s#و
sname
ﻛﻠﻴﺪ اﻧﺤﺼﺎري ﻫﺴﺘﻨﺪ .ﺧﺎﺻﻴﺖ دوم را ﻧﺪارﻧﺪ زﻳﺮا
ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻣﻨﺤﺼﺮ ﺑﻔﺮد اﺳﺖ و ﻣﻲﺗﻮان اﻳﻨﻬﺎ رو ﺷﻜﺴﺖ ﻣﺜﻼ
s#
s#
ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻫﻢ ﻣﻲﺗﻮاﻧﺪ
ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺸﻮد).ﻫﺮ ﭼﻴﺰي را ﻧﻤﻲﺗﻮان ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﻪ ﺣﺴﺎب آورﻳﻢ زﻳﺮا ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻧﺒﺎﻳﺪ ﺑﺸﻜﻨﺪ(. ﺗﻮﺟﻪ:ﻫﺮ راﺑﻄﻪ ﺣﺪاﻗﻞ داراي ﻳﻚ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻣﻲ ﺑﺎﺷﺪ )ﻣﻤﻜﻦ اﺳﺖ ﺗﻜﻲ ﺑﺎﺷﺪ ﻳﺎ دو ﺻﻔﺖ و ﻳﺎ.(...
3-5ﻛﻠﻴﺪ اﺻﻠﻲ
1
ﻳﻜﻲ از ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ ﻛﻪ ﺷﺮاﻳﻂ ذﻳﻞ را داﺷﺘﻪ ﺑﺎﺷﺪ: •
ﺷﻨﺎﺳﺎﻳﻲ ﻛﻨﻨﺪه ﻧﻮع ﻣﻮﺟﻮدﻳﺖ )ﺗﻚ ﺗﺎﭘﻞ( در راﺑﻄﻪ ﺑﺎﺷﺪ .ﻣﺎﻧﻨﺪ ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ ﺑﺮاي ﻫﺮ داﻧﺸﺠﻮ.
•
از ﻧﻈﺮ ﺳﺎﻳﺰ داراي ﻃﻮل ﻛﻮﺗﺎه ﺗﺮ ﺑﺎﺷﺪ .ﺑﺪﻳﻦ ﻣﻌﻨﻲ ﻛﻪ ﻣﺜﻼ ﺑﻴﻦ دو ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻛﻪ ﻳﻜﻲ از ﻧﻮع رﺷﺘﻪ 20ﺗﺎﻳﻲ و دﻳﮕﺮي ﻳﻚ ﻋﺪد 4ﺑﺎﻳﺘﻲ اﺳﺖ ،ﻛﻠﻴﺪي ﻛﻪ داراي ﻧﻮع ﻋﺪد 4ﺑﺎﻳﺘﻲ اﺳﺖ ،ﺑﺮاي ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﻮدن ﺑﻬﺘﺮ اﺳﺖ.
4-5ﻛﻠﻴﺪ ﺑﺪﻳﻞ
1
1. P ri ma r y K e y
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
118ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻫﺮ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﻐﻴﺮ از ﻛﻠﻴﺪ اﺻﻠﻲ را ﻛﻠﻴﺪ ﺑﺪﻳﻞ ﮔﻮﻳﻨﺪ.
5-5ﻛﻠﻴﺪ ﺧﺎرﺟﻲ دو راﺑﻄﻪ
R1
و
R2
2
را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ .ﻫﺮ زﻳﺮ ﻣﺠﻤﻮﻋﻪ از ﺻﻔﺎت راﺑﻄﻪ
ﻣﻘﺪار ﻣﻌﻠﻮﻣﺶ ﺑﺎ ﻳﻚ ﻣﻘﺪار از ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ
R1
R2
ﻛﻪ ﻫﺮ
ﺑﺮاﺑﺮ ﺑﺎﺷﺪ ،ﻛﻠﻴﺪ ﺧﺎرﺟﻲ در راﺑﻄﻪ
R2اﺳﺖ. ﻧﻘﺶ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﺎت ﺑﻴﻦ اﻧﻮاع ﻣﻮﺟﻮدﻳﺖ ﻫﺎ )و در ﻧﺘﻴﺠﻪ ﺑﻴﻦ ﻧﻤﻮﻧﻪ ﻫﺎي آﻧﻬﺎ( ﺑﻜﺎر ﻣﻲرود .ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮﻋﺎت ﻛﻠﻴﺪ ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ ﻓﺮﻣﺎﻳﻴﺪ: ﻣﺜﺎل :2ﻛﻠﻴﺪي ﻛﻪ ارﺗﺒﺎط ﺟﺪول ﻣﺨﺘﻠﻒ را ﻣﺸﺨﺺ و ﺑﺮﻗﺮار ﻣﻲﻧﻤﺎﻳﺪ. ﺟﺪول 5-6ﺟﺪول ﻣﺜﺎل 2 NO…. 5 10 7
C#
و
status
CNAME Pen Pen Pen Ruler
STATUS Q 1 2 Q
C# 10 10 10 10
ﻣﻲ ﺗﻮاﻧﻨﺪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﻨﺪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪي ﻛﻪ ﻣﻲ ﺗﻮاﻧﺪ ﻛﻠﻴﺪ اﺻﻠﻲ
ﺑﺸﻮد وﻟﻲ ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻧﻤﻲ ﺗﻮاﻧﻨﺪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﻨﺪ. ﺟﺪول ﻓﺮوﺷﻨﺪه ﻫﺎ )ﺳﺎزﻧﺪه ﻛﺎﻻ( ﺟﺪول 6-6ﺟﺪول ﻓﺮوﺷﻨﺪهﻫﺎ Tell#
C# 10
SNAME a
S# 100
11
b
105
1. Al t e r n a t e K e y 2. F o re i gn ke y
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 119
ﺗﻮﺟﻪ :در ﺟﺪول ﻓﻮق s#ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻣﻲ ﺑﺎﺷﺪ. ﺟﺪول ﻛﺎﻻ ﺟﺪول 7-6ﺟﺪول ﻛﺎﻻ …NO 5 7 10
CNAME Pen Pen Pen ruler
STATUS Q 1 2 Q
C# 10 10 10 11
ﻧﻜﺘﻪ ،C# :ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺮاي ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول ﻛﺎﻻ و ﻓﺮوﺷﻨﺪه ﻣﻲ ﺑﺎﺷﺪ. ﻧﻜﺘﻪ ،C# :در ﺟﺪول ﻓﺮوﺷﻨﺪه ﻛﻠﻴﺪ ﺧﺎرﺟﻲ و در ﺟﺪول ﻛﺎﻻ ﻛﻠﻴﺪ اﺻﻠﻲ ﻣﻲﺑﺎﺷﺪ.
ﻧﻜﺎﺗﻲ در ﻣﻮرد ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻓﺮض ﻛﻨﻴﺪ ﻛﻪ راﺑﻄﻪ
R2
ﻳﻚ راﺑﻄﻪ ﻣﺒﻨﺎ ﺑﺎﺷﺪ آﻧﮕﺎه ﻳﻚ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ در راﺑﻄﻪ
زﻳﺮ ﻣﺠﻤﻌﻪ اي از ﻣﺠﻤﻮﻋﻪ ﺻﻔﺎت R2ﻣﺎﻧﻨﺪ
FR
R2
ﻣﻲ ﺑﺎﺷﺪ ﺑﻪ ﻧﺤﻮي ﻛﻪ:
•
راﺑﻄﻪ ﻣﺒﻨﺎﻳﻲ ﺑﻪ ﻧﺎم R1ﺑﺎ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ CKوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ.
•
ﺑﺮاي ﺗﻤﺎﻣﻲﻣﻮاﻗﻊ ﻫﺮ ﻣﻘﺪار از FKدر ﻣﻘﺪار ﻓﻌﻠﻲ R2ﺑﺎ ﻣﻘﺪار CKدر ﺑﻌﻀﻲ از Tupleﻫﺎ در ﻣﻘﺪار ﻗﺒﻠﻲ ﻳﻜﺴﺎن ﺑﺎﺷﻨﺪ.
ﻧﻜﺘﻪ :اﮔﺮ ﺻﻔﺘﻲ ﺑﺘﻮاﻧﺪ ﻣﻘﺪار ﺗﻬﻲ ) (nullﺑﮕﻴﺮد ،ﻧﻤﻲ ﺗﻮاﻧﺪ ﻛﻠﻴﺪ ﺑﺎﺷﺪ )ﻣﺎﻧﻨﺪ
tell#
)ﺷﻤﺎره ﺗﻠﻔﻦ((. از وﻳﮋﮔﻲ ﻫﺎي RDBMSدر ﭘﺎﻳﮕﺎه داده راﺑﻄﻪ اي در ﻣﻮرد ﺟﺪاول اﻳﻦ اﺳﺖ ﻛﻪ: •
دادهﻫﺎ ﺗﻮﺳﻂ ﻛﺎرﺑﺮ و ﺑﻪ ﺻﻮرت ﺟﺪاول درﻳﺎﻓﺖ ﻣﻲﺷﻮﻧﺪ.
•
ﻋﻤﻠﻜﺮدﻫﺎﻳﻲ ﻛﻪ ﻛﺎرﺑﺮ ﻣﻲﺗﻮاﻧﺪ از آﻧﻬﺎ اﺳﺘﻔﺎده ﻧﻤﺎﻳﺪ ﻛﻪ آﻧﻬﺎ ﺑﻪ ﻛﺎرﺑﺮ اﻳﻦ اﺟﺎزه را ﻣﻲدﻫﻨﺪ ﺗﺎ ﺑﺘﻮاﻧﻨﺪ ﺟﺪاول ﺟﺪﻳﺪي را اﻳﺠﺎد ﻧﻤﺎﻳﻨﺪ.
ﻣﺜﺎل :ﺑﺨﺸﻲ از ﺟﺪاول ﻳﻚ ﺳﻴﺴﺘﻢ اداري ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ: ﻛﺎرﻣﻨﺪ
EMP
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
120ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺟﺪول 8-6 SALARY 40 42 30 35
ﺑﺨﺶ ﻫﺎ
ﺟﺪول Employee
DEPT# D1 D1 D2 D2
EMP# E1 E2 E3 E4
SNAME LOP CHEN FIN SAI
DEPT
ﺟﺪول 9-6
ﺑﻮدﺟﻪ 40 12 5
ﺟﺪول Department
DNAME
DEPT#
ﻧﺎم ﺳﺎزﻣﺎن
#ﺳﺎزﻣﺎن
MARKETING DEVELOPMENT RESEARCH
D1 D2 D3
) > 8ﺑﻮدﺟﻪ( SELECT * FROM DEPT WHERE
ﻧﻜﺘﻪ :در ﻋﺒﺎرت ﺑﺎﻻ ﻋﻼﻣﺖ * ﻧﻤﺎﻳﺎﻧﮕﺮ ﻫﻤﻪ ﺻﻔﺖ ﻫﺎ اﺳﺖ. در ﻧﺘﻴﺠﻪ ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺻﻮرت ﺟﺪول زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد. ﻫﻤﺎﻧﮕﻮﻧﻪ ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﺷﻮد دادهﻫﺎ ﺑﻪ ﺻﻮرت ﺟﺪول وارد ﺳﻴﺴﺘﻢ ﺷﺪهاﻧﺪ و ﮔﺰارش ﺧﻮاﺳﺘﻪ ﺷﺪه ﻧﻴﺰ ﺑﺮ اﺳﺎس ﻳﻚ ﺳﺮي از ﻋﻤﻠﮕﺮﻫﺎي اﺳﺘﺎﻧﺪارد اراﺋﻪ ﺷﺪه و ﻧﺘﻴﺠﻪ ﺑﻪ ﺻﻮرت ﺟﺪول )ﺑﺮ اﺳﺎس ﻧﻮع ﻋﻤﻠﮕﺮ( ﮔﺰارش ﻣﻲﮔﺮدد. ﺟﺪول 10-6ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ذﻛﺮ ﺷﺪه
ﺑﻮدﺟﻪ 10 12
ﻧﺎم ﺳﺎزﻣﺎن MARKETING DEVELOPMENT
#ﺳﺎزﻣﺎن D1 D2
ﻧﻜﺘﻪ :ﺧﺮوﺟﻲﻫﺎ از ﻫﻤﺎن ﻧﻮع ورودي ﻫﺎ ﻣﻲ ﺑﺎﺷﻨﺪ. ﻧﻜﺘﻪ :ﺧﺮوﺟﻲ ﻫﺮ ﻋﻤﻠﮕﺮ ﻣﻲﺗﻮاﻧﺪ ﺑﻪ ﻋﻨﻮان ورودي ﻋﻤﻠﮕﺮ دﻳﮕﺮ ﺑﻜﺎر رود .اﻳﻦ ﻧﻮع
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 121
ﻋﺒﺎرت را ﻋﺒﺎرت ﺗﻮ در ﺗﻮ 1ﻣﻲ ﻧﺎﻣﻨﺪ.
-6اﻧﻮاع راﺑﻄﻪ اﻧﻮاع راﺑﻄﻪ ﻋﺒﺎرﺗﻨﺪ از
راﺑﻄﻪ ﻧﺎﻣﺪار
2
راﺑﻄﻪ اﻳﺴﺖ ﻛﻪ ﺑﺎ ﻳﻚ ﻧﺎم ﺑﻪ ﺳﻴﺴﺘﻢ ﻣﻌﺮﻓﻲ ﺷﺪه ﺑﺎﺷﺪ.
راﺑﻄﻪ ﻣﺒﻨﺎ
3
ﻧﻮﻋﻲ راﺑﻄﻪ ﻧﺎﻣﺪار اﺳﺖ ﻛﻪ اﺳﺘﻘﻼل وﺟﻮدي دارد و ﻣﺸﺘﻖ از راﺑﻄﻪﻫﺎي دﻳﮕﺮ ﻧﻴﺴﺖ و داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه ﻣﺘﻨﺎﻇﺮ دارد.
راﺑﻄﻪ ﻣﺸﺘﻖ
4
راﺑﻄﻪ اﻳﺴﺖ ﻛﻪ ﺑﻪ ﻛﻤﻚ ﻳﻚ ﻋﺒﺎرت راﺑﻄﻪ اي ﺑﺮ ﺣﺴﺐ راﺑﻄﻪ ﻫﺎي ﻧﺎﻣﺪار دﻳﮕﺮ و ﻧﻬﺎﻳﺘﺎ ﺑﺮﺣﺴﺐ راﺑﻄﻪ ﻫﺎي ﻣﺒﻨﺎ ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد.
ﻣﻔﻬﻮم دﻳﺪ ﻧﻮﻋﻲ راﺑﻄﻪ ﻧﺎﻣﺪار ﻛﻪ ﻣﺸﺘﻖ از راﺑﻄﻪﻫﺎي دﻳﮕﺮ اﺳﺖ و ﻣﺎﻫﻴﺘﺎ راﺑﻄﻪ اي ﻣﺠﺎزي
5
اﺳﺖ ،ﻳﻌﻨﻲ داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه ﺧﺎص ﺧﻮد را ﻧﺪارد. اﻧﻮاع دﻳﮕﺮي از راﺑﻄﻪﻫﺎ در ﻛﺘﺎﺑﻬﺎي دﻳﮕﺮ ﻧﺎﻣﺒﺮده ﺷﺪهاﻧﺪ ﻛﻪ در ذﻳﻞ ﺑﻪ آﻧﻬﺎ اﺷﺎره ﻣﻲﮔﺮدد .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ رواﺑﻂ ﻣﺬﻛﻮر ﺣﺎﻟﺘﻬﺎﻳﻲ از رواﺑﻂ ذﻛﺮ ﺷﺪه در ﺑﺎﻻ ﻫﺴﺘﻨﺪ: •
راﺑﻄﻪ ﻟﺤﻈﻪاي
6
7
•
راﺑﻄﻪ ﻋﺒﺎرﺗﻲ
•
راﺑﻄﻪ ﻧﺘﻴﺠﻪ ﭘﺮﺳﺶ
8
1. N e s t e d E x p r e s s i o n 2. N a me d R el a t i o n 3. B a se R el a t i o n 4. D er i ve d R e l a t i o n 5. V ir t u a l R e l a t i o n 6. Sn a p s h o t 7. E x pr e s s i o n R e l a t io n 8. Q u er y R es u l t R e l a t i o n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
122ﭘﺎﻳﮕﺎه دادهﻫﺎ 1
•
راﺑﻄﻪ ﺑﻴﻨﺎﺑﻴﻨﻲ
•
راﺑﻄﻪ ذﺧﻴﺮه ﺷﺪه
2
ﺷﻜﻞ زﻳﺮ ارﺗﺒﺎط و دﺳﺘﻪ ﺑﻨﺪي اﻧﻮاع راﺑﻄﻪ را ﻧﺸﺎن ﻣﻲ دﻫﺪ: راﺑﻄﻪ
ذﺧﻴﺮه ﺷﺪه و ﻧﺎﻣﺪار
ﻣﺸﺘﻖ
ﻣﺴﺘﻘﻞ
ﻟﺤﻈﻪ اي
ﻣﺒﻨﺎ
ﻣﺠﺎزي ﻣﺸﺘﻖ
ﻧﺎﻣﺪار
دﻳﺪ
ﺑﻲ ﻧﺎم
ﻧﺘﻴﺠﻪ ﭘﺮﺳﺶ
ﺑﻴﻨﺎﺑﻴﻨﻲ
راﺑﻄﻪ ﻋﺒﺎرﺗﻲ ﺷﻜﻞ 11-6ﻧﻤﺎﻳﺶ ﻧﺤﻮه ارﺗﺒﺎط ﺑﻴﻦ راﺑﻄﻪﻫﺎ
-7ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ 3در ﻣﺪل راﺑﻄﻪاي 4
در ﻫﺮ ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ ﻫﻤﻴﺸﻪ ﻣﺠﻤﻮﻋﻪ اي از ﻗﻮاﻋﺪ ﻣﻌﻨﺎﻳﻲ ﻳﺎ ﻣﺤﺪودﻳﺖ ﻫﺎي 5
ﺟﺎﻣﻌﻴﺘﻲ وﺟﻮد دارﻧﺪ .اﮔﺮ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎه داده ﻫﻤﻮاره اﻳﻦ
1. In t e r me d i a t e R e la t i o n 2. St o r e d Re l a t i o n 3. In t e gr i t y R u l e s 4. Se ma n t i c R u l e s 5. In t e gr i t y C o n s t r ai n t s
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 123
ﻣﺤﺪودﻳﺖ ﻫﺎ را رﻋﺎﻳﺖ ﻛﻨﻨﺪ ،ﺟﺎﻣﻌﻴﺖ ﭘﺎﻳﮕﺎه داده ﺗﺎﻣﻴﻦ ﻣﻲ ﺑﺎﺷﺪ. ﺟﺎﻣﻌﻴﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﻤﻌﻨﻲ ﺻﺤﺖ ،دﻗﺖ و ﺳﺎزﮔﺎري دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﭘﺎﻳﮕﺎهدادهﻫﺎ در ﺗﻤﺎم ﻟﺤﻈﺎت اﺳﺖ .ﻫﺮ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهداده ﺑﺎﻳﺪ ﺑﺘﻮاﻧﺪ ﺟﺎﻣﻌﻴﺖ ﭘﺎﻳﮕﺎهداده را ﻛﻨﺘﺮل و ﺗﻀﻤﻴﻦ ﻛﻨﺪ .زﻳﺮا ﻣﻤﻜﻦ اﺳﺖ ﻋﻮاﻣﻠﻲ ﻣﺎﻧﻨﺪ آﻧﭽﻪ ﻛﻪ در ذﻳﻞ ﻧﺎم ﺑﺮده ﺷﺪهاﻧﺪ، ﺑﺎﻋﺚ ﻧﻘﺾ ﺟﺎﻣﻌﻴﺖ ﺷﻮﻧﺪ: •
اﺷﺘﺒﺎه در ﺑﺮﻧﺎﻣﻪﻫﺎ
•
اﺷﺘﺒﺎه در ورود اﻃﻼﻋﺎت از ﺳﻮي ﻛﺎرﺑﺮان
•
ﻣﺸﻜﻼت ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﻣﺮﺗﺒﻂ ﺑﺎ دادهﻫﺎ
•
ﻋﺪم اﻧﺠﺎم ﻛﺎﻣﻞ ﻓﺮاﻳﻨﺪﻫﺎ ﺑﺮ روي دادهﻫﺎ
•
وﺟﻮد اﻓﺰوﻧﮕﻲ و ﺗﻌﺪد در دادهﻫﺎي ﺗﻜﺮاري
ﺑﺮاي ﻛﻨﺘﺮل و ﺗﻀﻤﻴﻦ ﺟﺎﻣﻌﻴﺖ ،ﻗﻮاﻋﺪي ﻻزم اﺳﺖ ﺗﺎ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﺑﺘﻮاﻧﺪ ﺑﺮ اﺳﺎس آﻧﻬﺎ ﻋﻤﻞ ﻛﺮده و ﺑﺎﻋﺚ اﻧﻄﺒﺎق ﻣﺤﺘﻮاي ﭘﺎﻳﮕﺎه داده ﺑﺎ واﻗﻌﻴﺎت ﺑﺎﺷﺪ .اﻳﻦ ﻗﻮاﻋﺪرا ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ و ﻳﺎ ﻣﺤﺪودﻳﺖ ﻫﺎي ﺟﺎﻣﻌﻴﺘﻲ ﮔﻮﻳﻨﺪ.
1-7اﻧﻮاع ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺖ در ﻣﺪل راﺑﻄﻪاي ﺑﻪ دو رده ﻛﻠﻲ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ ﻛﻪ ﺑﻪ ﺷﺮح ﻫﺮﻳﻚ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ: • •
ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي ﻣﺘﺎ ﻗﻮاﻋﺪ
1
2
1-1-7ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي ﻛﻪ ﮔﺎه ﺑﻪ آﻧﻬﺎ ﻗﻮاﻋﺪ ﻣﺤﻴﻄﻲ ﻳﺎ ﻗﻮاﻋﺪ واﺑﺴﺘﻪ ﺑﻪ داده ﻧﻴﺰ ﻣﻲ ﮔﻮﻳﻨﺪ، ﻗﻮاﻋﺪي ﻫﺴﺘﻨﺪ ﻛﻪ ﺗﻮﺳﻂ ﻛﺎرﺑﺮ ﻣﺠﺎز و ﺑﺮاي ﻳﻚ ﭘﺎﻳﮕﺎهداده ﺧﺎص ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮﻧﺪ. اﻳﻦ ﻗﻮاﻋﺪ واﺑﺴﺘﻪ ﺑﻪ واﻗﻌﻴﺎت ﻣﺤﻴﻂ ﻫﺴﺘﻨﺪ و در ﺑﻌﻀﻲ ﻛﺘﺐ ﺑﻪ آﻧﻬﺎ ﻣﺤﺪودﻳﺖﻫﺎي
1. U se r D ef i n e d R u l e s 2. M e ta R u le s
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
124ﭘﺎﻳﮕﺎه دادهﻫﺎ 1
ﺟﺎﻣﻌﻴﺘﻲ ﻣﻌﻨﺎﻳﻲ ﻧﻴﺰ ﻣﻲ ﮔﻮﻳﻨﺪ .ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي در ﻣﺪل راﺑﻄﻪ اي ﺑﻪ ﭼﻬﺎر دﺳﺘﻪ ﺑﻪ ﺷﺮح زﻳﺮ ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮﻧﺪ: •
2
ﻣﺤﺪودﻳﺖ ﻣﻴﺪاﻧﻲ :ﻣﺤﺪودﻳﺘﻲ اﺳﺖ ﻧﺎﻇﺮ ﺑﺮ ﻣﻴﺪان ﻫﺮ ﺻﻔﺖ ﺧﺎﺻﻪ و ﻣﻘﺎدﻳﺮ ﻣﺠﺎز آﻧﺮا ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ.
•
3
ﻣﺤﺪودﻳﺖ ﺻﻔﺘﻲ :ﻣﺤﺪودﻳﺘﻲ اﺳﺖ ﻧﺎﻇﺮ ﺑﺮ ﻳﻚ ﺻﻔﺖ و ﻧﻮع آن را ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ.
•
4
ﻣﺤﺪودﻳﺖ راﺑﻄﻪاي :ﻣﺤﺪودﻳﺘﻲ اﺳﺖ ﻧﺎﻇﺮ ﺑﺮ ﻳﻚ راﺑﻄﻪ و ﻣﻘﺎدﻳﺮ ﻣﺠﺎز ﻳﻚ ﻣﺘﻐﻴﺮ راﺑﻄﻪاي را ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ.
•
5
ﻣﺤﺪودﻳﺖ ﭘﺎﻳﮕﺎﻫﻲ :ﻣﺤﺪودﻳﺘﻲ اﺳﺖ ﻧﺎﻇﺮ ﺑﺮ دو ﻳﺎ ﭼﻨﺪ ﻣﺘﻐﻴﺮ راﺑﻄﻪاي ﺑﻪ ﻧﺤﻮي ﻛﻪ آﻧﻬﺎ را ﺑﻬﻢ ﻣﺮﺗﺒﻂ ﻣﻲﻛﻨﺪ.
2-1-7ﻣﺘﺎ ﻗﻮاﻋﺪ ﻣﺘﺎ ﻗﻮاﻋﺪ ﻗﻮاﻋﺪي ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺎﻳﺪ ﺗﻮﺳﻂ ﻫﺮ ﺳﻴﺴﺘﻢ راﺑﻄﻪ در ﻫﺮ ﭘﺎﻳﮕﺎه داده راﺑﻄﻪ اي اﻋﻤﺎل ﮔﺮدﻧﺪ .ﻟﺬا در ﺑﻌﻀﻲ ﻛﺘﺐ ﺑﺪاﻧﻬﺎ ﻗﻮاﻋﺪ ﻋﺎم ﻧﻴﺰ ﻣﻲ ﮔﻮﻳﻨﺪ .اﻳﻦ ﻗﻮاﻋﺪ ﺑﻪ دو ﮔﺮوه ﻛﻠﻲ ﺑﻪ ﺷﺮح ذﻳﻞ ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮﻧﺪ: • •
ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ﻣﻮﺟﻮدﻳﺘﻲ ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ
6
7
1-2-1-7ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ﻣﻮﺟﻮدﻳﺘﻲ اﻳﻦ ﻗﺎﻋﺪه ﻧﺎﻇﺮ ﺑﺮ ﻛﻠﻴﺪ اﺻﻠﻲ اﺳﺖ و ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ: •
ﻫﻴﭻ ﺟﺰء ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﻛﻠﻴﺪ اﺻﻠﻲ راﺑﻄﻪ ﻧﻤﻲﺗﻮاﻧﺪ "ﻣﻘﺪار ﻫﻴﭻ" داﺷﺘﻪ ﺑﺎﺷﺪ.
دﻟﻴﻞ ﺗﻮﺟﻴﻪ ﻛﻨﻨﺪه اﻳﻦ ﻗﺎﻋﺪه اﻳﻦ اﺳﺖ ﻛﻪ ﻫﺮ ﻣﻘﺪار ﻳﻚ ﻛﻠﻴﺪ اﺻﻠﻲ ،در واﻗﻊ ﺷﻨﺎﺳﻪ 1. Se ma n t i c In t e gr i t y C o n s t r a i n t 2. D o ma i n C on s t r a i n t 3. At t r i b u t e C o n s t r ai n t 4. R el a t i o n C o n s t r a in t 5. D at a b a s e C o n s t r a in t 6. E nt i t y In t e gr i t y R u l e 7. R ef e r e n t i a l In t e gr i t y R u l e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه داده راﺑﻄﻪاي 125
آن ﺗﺎﭘﻞ در راﺑﻄﻪ اﺳﺖ و ﻋﺎﻣﻞ ﺗﻤﻴﻴﺰ ﻧﻤﻮﻧﻪ ﻫﺎي ﻣﻮﺟﻮدﻳﺖ )ﺗﺎﭘﻞ ﻫﺎ( در راﺑﻄﻪ اﺳﺖ و ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻋﺎﻣﻞ ﺗﻤﻴﻴﺰ ﺧﻮد ﻧﻤﻲ ﺗﻮاﻧﺪ ﻣﻘﺪار ﻫﻴﭻ ﻳﺎ ﻧﺎﺷﻨﺎﺧﺘﻪ داﺷﺘﻪ ﺑﺎﺷﺪ.
2-2-1-7ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ اﻳﻦ ﻗﺎﻋﺪه ﻧﺎﻇﺮ ﺑﺮ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﻮده و ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ: •
اﮔﺮ ﺻﻔﺖ ﺧﺎﺻﻪ ) Aiﺳﺎده ﻳﺎ ﻣﺮﻛﺐ( در راﺑﻄﻪ R2ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺎﺷﺪ در اﻳﻦ ﺻﻮرت Aiدر R2ﻣﻲﺗﻮاﻧﺪ ﻣﻘﺪار ﻫﻴﭻ داﺷﺘﻪ ﺑﺎﺷﺪ )ﺑﻪ ﺷﺮﻃﻲ ﻛﻪ ﺟﺰﺋﻲ از ﻛﻠﻴﺪ R2
ﻧﺒﺎﺷﺪ( ،در ﻏﻴﺮ اﻳﻨﺼﻮرت ﺑﺎﻳﺪ ﺣﺘﻤﺎ ﻣﻘﺪاري ﺑﺎﺷﺪ ﻛﻪ در راﺑﻄﻪ ﻣﺮﺟﻊ
R1
وﺟﻮد دارد .ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﻣﻘﺪار ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻧﻤﻲﺗﻮاﻧﺪ در راﺑﻄﻪ ﻣﺮﺟﻊ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ. دﻟﻴﻞ ﺗﻮﺟﻴﻪ اﻳﻦ ﻗﺎﻋﺪه اﻳﻦ اﺳﺖ ﻛﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻋﺎﻣﻞ ارﺟﺎع از ﻳﻚ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ دﻳﮕﺮ اﺳﺖ و ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻧﻤﻲ ﺗﻮان ﺑﻪ ﻧﻤﻮﻧﻪ ﻣﻮﺟﻮدﻳﺖ ﻧﺎﻣﻮﺟﻮد ارﺟﺎع داد.
ﺗﻤﺮﻳﻨﺎت .1ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ؟ .2راﺑﻄﻪ را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
126ﭘﺎﻳﮕﺎه دادهﻫﺎ
.3راﺑﻄﻪ را از دﻳﺪﮔﺎه ﻛﺎد ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ؟ .4وﻳﮋﮔﻲ ﻫﺎي راﺑﻄﻪ را ﻧﺎم ﺑﺒﺮﻳﺪ؟ .5اﻧﻮاع ﻛﻠﻴﺪ را در ﻣﺪل راﺑﻄﻪ اي ﻧﺎم ﺑﺮده و ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟ .6ﻣﻔﻬﻮم ﻛﻠﻴﺪ ﺧﺎرﺟﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟ .7اﻧﻮاع راﺑﻄﻪ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .8ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ﻣﻮﺟﻮدﻳﺘﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟ .9ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
2 ! 01 3 4%5 ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﻌﺮﻳﻔﻲ از ﭘﺎﻳﮕﺎه داده راﺑﻄﻪ اي ﺑﻴﺎن ﺷﺪه و ﺳﭙﺲ ﻣﺒﺤﺚ ﺟﺒﺮ راﺑﻄﻪ اي ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ .در اﻳﻦ راﺳﺘﺎ در اﺑﺘﺪا ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪ اي ﻣﻌﺮﻓﻲ ﺷﺪه و ﺗﻮاﻧﺎﻳﻲ اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ در اﻟﺤﺎق و ﺟﺪاﺳﺎزي اﻃﻼﻋﺎت و ﻧﻤﺎﻳﺶ آﻧﻬﺎ ﺷﺮح داده ﺧﻮاﻫﺪ ﺷﺪ .ﺳﭙﺲ ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮ روي دادهﻫﺎ ﻣﻄﺮح ﺷﺪه و اﻧﻮاع اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ .در ﺧﺎﺗﻤﻪ ﻧﻴﺰ ﻣﺮوري ﻣﺨﺘﺼﺮ ﺑﺮ روي ﻣﺒﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﻋﺒﺎرات ﺟﺴﺘﺠﻮ در ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺧﻮاﻫﻴﻢ داﺷﺖ.
ﻫﺪف رﻓﺘﺎري در اﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده راﺑﻄﻪاي
•
ﺟﺒﺮ راﺑﻄﻪاي
•
ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي
•
ﻋﻤﻠﮕﺮ ﮔﺰﻳﻨﺶ
•
ﻋﻤﻠﮕﺮ ﭘﺮﺗﻮ
•
ﻋﻤﻠﮕﺮ ﺗﻐﻴﻴﺮ ﻧﺎم
•
ﻋﻤﻠﮕﺮ ﺟﺎﻳﮕﺰﻳﻨﻲ
•
ﻋﻤﻠﮕﺮﻫﺎي ﻣﺠﻤﻮﻋﻪ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
128ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻋﻤﻠﮕﺮ ﺿﺮب دﻛﺎرﺗﻲ
•
ﻋﻤﻠﮕﺮ اﺟﺘﻤﺎع
•
ﻋﻤﻠﮕﺮ اﺷﺘﺮاك
•
ﻋﻤﻠﮕﺮ ﺗﻔﺎﺿﻞ
•
ﻋﻤﻠﮕﺮ ﺗﻘﺴﻴﻢ
•
ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ
•
ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮروي دادهﻫﺎ
•
ﻋﻤﻠﮕﺮﻫﺎي درج ،ﺑﻬﻨﮕﺎم ﺳﺎزي ،ﺣﺬف
•
ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ
-1ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎه داده راﺑﻄﻪ اي از دﻳﺪ ﻛﺎرﺑﺮ در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﻣﺠﻤﻮﻋﻪ اي از راﺑﻄﻪ ﻫﺎي ﻧﺮﻣﺎل اﺳﺖ .ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﺟﻬﺖ اﻧﺠﺎم ﻋﻤﻠﻴﺎت در اﻳﻦ ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ ﻧﻴﺎز ﺑﻪ ﻳﻚ ﻣﺪل رﻳﺎﺿﻲ اﺳﺖ .ﭘﺲ ﻛﺎرﺑﺮ ﺗﻌﺮﻳﻒ ﺷﺪه در ﭘﺎﻳﮕﺎه داده ﻧﻴﺎز ﺑﻪ ﻳﻚ ﻣﺪل رﻳﺎﺿﻲ ،ﻛﻪ ﻣﻲ ﺗﻮاﻧﺪ ﻣﺠﻤﻮﻋﻪ اي از ﻋﻤﻠﮕﺮﻫﺎي ﺻﻮري ﺑﺎﺷﺪ ،دارد .اﻳﻦ اﻣﻜﺎﻧﺎت در واﻗﻊ ﺑﺨﺸﻲ از ﻣﺪل راﺑﻄﻪ اي ﺑﻮده و ﻃﺒﻌﺎ ﺑﺪون وﺟﻮد آﻧﻬﺎ ،ﻣﺪل راﺑﻄﻪ اي ﻛﺎﻣﻞ ﻧﺨﻮاﻫﺪ ﺑﻮد .ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر اﻣﻜﺎﻧﺎت زﻳﺮ وﺟﻮد دارد: 1
•
ﺟﺒﺮ راﺑﻄﻪاي
•
ﺣﺴﺎب راﺑﻄﻪاي
•
ﻣﺤﺎﺳﺒﺎت راﺑﻄﻪاي داﻣﻨﻪ
•
ﻣﺤﺎﺳﺒﺎت راﺑﻄﻪاي ﺳﻄﺮي
2 3
ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در ﺗﺌﻮري راﺑﻄﻪ ﻫﺎ ،ﻫﺮ ﺳﻪ ﺗﺌﻮري ﻓﻮق ارزش ﻳﻜﺴﺎﻧﻲ دارﻧﺪ. در اداﻣﻪ ﺟﺒﺮ راﺑﻄﻪ اي ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد.
1. R el a t i o n a l a l ge b r a 2. C al c u l a t e R e l a t i o n a l D o ma i n 3. C al c u l a t e R e l a t i o n a l T u p l e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 129
-2ﺟﺒﺮ راﺑﻄﻪاي ) (RAو ﻋﻤﻠﮕﺮﻫﺎي آن ﺟﺒﺮ راﺑﻄﻪ اي اراﺋﻪ ﺷﺪه ﺗﻮﺳﻂ ﻛﺎد ) (coddﺷﺎﻣﻞ ﻫﺸﺖ ﻋﻤﻠﮕﺮ در دو ﮔﺮوه ﭼﻬﺎر ﺗﺎﻳﻲ ﻣﻲ ﺑﺎﺷﺪ .در ﺑﻌﻀﻲ ﻛﺘﺐ ﺗﻌﺪادي ﻋﻤﻠﮕﺮ دﻳﮕﺮ ﻧﻴﺰ ﺑﻪ اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ اﺿﺎﻓﻪ ﺷﺪه اﻧﺪ .ﻛﻠﻴﻪ اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺑﺮاي ﻛﺎر ﺑﺮ روي ﻣﻔﻬﻮم راﺑﻄﻪ ﻫﺎ ﺗﻌﺮﻳﻒ و ﻃﺮاﺣﻲ ﺷﺪه اﻧﺪ .در ﺟﺒﺮ راﺑﻄﻪ اي داده ﻫﺎ ﻫﻤﺎن راﺑﻄﻪ ﻫﺎ ﻣﻲ ﺑﺎﺷﻨﺪ .ﻣﺠﻤﻮﻋﻪ ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪ اي در ﻋﺒﺎرت زﻳﺮ ﻣﺸﺨﺺ ﺷﺪه اﺳﺖ ،ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻛﻪ: }} , X , U ,-, ∩ , ÷ , ∞ , X༰ , ༰༾
RA = {{Relations}, { Б ,∏ , ℓ ,
در ﺑﻌﻀﻲ از ﻛﺘﺐ ﺗﻌﺪادي از اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺗﺤﺖ ﻋﻨﻮان ﻋﻤﻠﮕﺮ
set
و ﺗﻌﺪادي
دﻳﮕﺮ ﺗﺤﺖ ﻋﻨﻮان ﻋﻤﻠﮕﺮ joinﻣﻌﺮﻓﻲ ﺷﺪهاﻧﺪ ﻛﻪ اﻳﻦ دو ﮔﺮوه ﻧﻴﺰ ﺗﻮﺿﻴﺢ داده ﺧﻮاﻫﻨﺪ ﺷﺪ .ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي در راﺑﻄﻪ ﺑﺎﻻ ﺑﻪ ﺗﺮﺗﻴﺐ ﻋﺒﺎرﺗﻨﺪ از: ﻋﻤﻠﮕﺮ ﮔﺰﻳﻨﺶ
•
=Б
•
∏= ﻋﻤﻠﮕﺮ ﭘﺮﺗﻮ
•
= ℓ
2
ﻋﻤﻠﮕﺮ ﺗﻐﻴﻴﺮ ﻧﺎم
• •
1
= = Set
3
ﻋﻤﻠﮕﺮ ﺟﺎﻳﮕﺰﻳﻨﻲ
ﻋﻤﻠﮕﺮ ﻣﺠﻤﻮﻋﻪ ،اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺑﺮ روي ﻣﺠﻤﻮﻋﻪاي از راﺑﻄﻪﻫﺎ ﻋﻤﻞ
ﻣﻲﻛﻨﻨﺪ و ﺷﺎﻣﻞ ﻋﻤﻠﮕﺮﻫﺎي • • •
4
ﺿﺮب دﻛﺎرﺗﻲ ) ( X 5
اﺟﺘﻤﺎع )( U 6
اﺷﺘﺮاك ) ∩ ( 7
•
ﺗﻔﺎﺿﻞ )(-
•
ﺗﻘﺴﻴﻢ ) ÷ ( 1. s e l e c t 2. p ro j e c t 3. r en a me 4. C ar t e s i a n p r o d u c t 5. u ni o n 6. i nt e r s e c t 7. d if f e r e n c e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
130ﭘﺎﻳﮕﺎه دادهﻫﺎ • •
= Joinﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ )اﻟﺤﺎﻗﻲ( ﺷﺎﻣﻞ ﻋﻤﻠﮕﺮﻫﺎي 1
ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ )∞( 2
•
ﻧﻴﻢ ﭘﻴﻮﻧﺪ )(༰༾
•
ﭘﻴﻮﻧﺪ ﺷﺮﻃﻲ )(X༰
در اداﻣﻪ ﺑﺎ ذﻛﺮ ﻣﺜﺎل ﻫﺎﻳﻲ ﺑﻪ ﺷﺮح ﻫﺮ ﻳﻚ از اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﺧﻮاﻫﻴﻢ
ﭘﺮداﺧﺖ.
ﻋﻤﻠﮕﺮﻫﺎي اﺻﻠﻲ (Б) Select اﻧﺘﺨﺎب ﺳﻄﺮﻫﺎﻳﻲ از ﻳﻚ راﺑﻄﻪ ﺑﺮ اﺳﺎس ﺷﺮط ﻣﺸﺨﺺ )ﻣﺸﺨﺼﺎت ﻣﺜﻼ ﻳﻚ ﻓﺮد در ﻳﻚ ﺳﻄﺮ )اﻓﺮادي ﻛﻪ ﻣﻌﺪﻟﺸﺎن ﻣﺴﺎوي xاﺳﺖ((.
ﻋﻤﻠﮕﺮ اﺻﻠﻲ (∏) Project اﻧﺘﺨﺎب دﻳﮕﺮ ﺳﺘﻮﻧﻬﺎي ﻣﺸﺨﺺ از ﻳﻚ راﺑﻄﻪ و ﺣﺬف دﻳﮕﺮ ﺳﺘﻮﻧﻬﺎ ﺗﻠﻔﻦ
ﻧﺎم
اﻟﺤﺎق )(Join داراي اﻧﻮاع ﻣﺨﺘﻠﻒ ﺑﻮده و راﺑﻄﻪ اي را ﺑﺮ ﻣﻲ ﮔﺮداﻧﺪ ﻛﻪ ﺷﺎﻣﻞ ﺗﻤﺎم Tupleﻫﺎي ﺗﺮﻛﻴﺐ ﺷﺪه از دو ﺟﺪول ﻣﻲ ﺑﺎﺷﺪ .ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع در اداﻣﻪ ﻣﺜﺎﻟﻲ از ﻋﻤﻠﮕﺮﻫﺎي اﻟﺤﺎﻗﻲ اراﺋﻪ ﺷﺪه اﺳﺖ.
1. N at u r a l J o i n 2. Se mi J o i n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 131 R2
∞ R1
R2
R1
c1
b1
a1
b1
a1
c2
b2
a2
b2
a2
c3
b3
a3
b3
a3
ﺗﻤﺮﻳﻦ: ﺑﺎ اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ )÷( ﻧﺘﻴﺠﻪ
)R1 ÷ R2 = ? (R3
R3
را ﺑﺪﺳﺖ آورﻳﺪ:
R2
?
R1 X
a
x
y
a
y
z
a
X
b
y
c
ﻧﻜﺘﻪ :ﻳﻜﻲ از ﻣﻬﻤﺘﺮﻳﻦ ﺧﻮاص ،ﺧﺎﺻﻴﺖ ﺑﺴﺘﻪ ﺑﻮدن )ﺑﺴﺘﺎر ﻳﺎ
closure
( ﻣﻲ ﺑﺎﺷﺪ.
ﺑﺪﻳﻦ ﻣﻌﻨﺎ ﻛﻪ ﺧﺮوﺟﻲ ﻫﺮ ﻋﻤﻠﮕﺮ راﺑﻄﻪ اي ﺧﻮد ﻳﻚ راﺑﻄﻪ اﺳﺖ .ﺑﻄﻮر ﻣﺜﺎل ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ اﺟﺘﻤﺎع دو راﺑﻄﻪ )دو ﺟﺪول( ﻳﻚ راﺑﻄﻪ )ﻳﻚ ﺟﺪول( ﻣﻲ ﮔﺮدد.
ﻋﻤﻠﮕﺮﺗﻐﻴﻴﺮ ﻧﺎم )(༸ اﻳﻦ ﻋﻤﻠﮕﺮ ﻳﻚ راﺑﻄﻪ را ﮔﺮﻓﺘﻪ و ﻧﺴﺨﻪ دﻳﮕﺮي از آن را ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﺑﻪ ﺑﻌﻀﻲ از ﺻﻔﺎت اﺳﺎﻣﻲ دﻳﮕﺮي داده ﺷﺪه ﺑﺎﺷﺪ را ﻣﻲ دﻫﺪ: ﺗﻐﻴﻴﺮ ﻧﺎم ﺻﻔﺖ cityﺑﻪ
Scity
در راﺑﻄﻪ
S RENAME city AS Scity S
اﮔﺮ ﺑﻴﺸﺘﺮ از ﻳﻚ ﺗﻐﻴﻴﺮ اﻧﺠﺎم ﮔﻴﺮد در ﭘﺮاﻧﺘﺰ ﻗﺮار ﻣﻲ دﻫﻴﻢ .ﺑﻄﻮر ﻣﺜﺎل: )AS Scity , S# AS SNUM
Ramin.Samad@yahoo.com
( city
S RENAME
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ132 S#
SNAME
STATUS
City
S1
Smith
20
London
S2 S3 S4 S5
Jones Black Clark Adams
10 30 20 30
Paris Paris London Athens
. ﺟﺪول ﻓﻮق ﺑﻪ ﺟﺪول ذﻳﻞ ﺗﺒﺪﻳﻞ ﻣﻲ ﮔﺮددRENAME ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮر SNUM
SNAME
STATUS
Scity
S1
Smith
20
London
S2 S3 S4 S5
Jones Black Clark Adoms
10 30 20 30
Paris Paris London Athens
:ﻣﺜﺎل A
S#
SNAME
STATUS
City
S1
Smith
20
London
S4
Clark
20
London
B
S#
SNAME
STATUS
City
S1 S2
Smith Jones
20 10
London Paris
:ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ دو ﺟﺪول ﻓﻮق دارﻳﻢ AՍ B
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
133 ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي S#
SNAME
STATUS
city
S1 S4 S2
Smith Clark Jones
20 20 10
London London Paris
AВB
S#
SNAME
STATUS
City
S1
Smith
20
London
B-A
S# S4
SNAME
STATUS
Clark
20
City London
A-B
S#
SNAME
STATUS
city
S2
Jones
10
Paris
:ﺗﻮﺟﻪ (A Ս B) Ս C ≡ A Ս (B Ս C) = A Ս B Ս C (A В B) В C ≡ A В (B В C) = A В B В C (A × B) × C ≡ A × (B × C) = A × B × C
(Б) دﺳﺘﻮر اﺳﺖ و در واﻗﻊ ﺗﻌﺪادي از ﺳﻄﺮﻫﺎ را
(Select)
اﻳﻦ دﺳﺘﻮر ﻫﻤﺎن ﻋﻤﻠﮕﺮ ﮔﺰﻳﻨﺶ
: ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﻳﻜﻲ از دو ﺻﻮرت ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ.اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﻴﻢ .( )در ﻛﺎﻣﭙﻴﻮﺗﺮ اﺟﺮا ﻧﻤﻲﺷﻮدБ ()ﻧﺎم راﺑﻄﻪ ﺷﺮط ﻳﺎ ﺷﺮﻃﻬﺎ .((SQL) ﻧﺎم راﺑﻄﻪ )در ﻛﺎﻣﭙﻴﻮﺗﺮ اﺟﺮا ﻧﻤﻲ ﺷﻮد
where
ﺷﺮط ﻳﺎ ﺷﺮﻃﻬﺎ :ﻣﺜﺎل
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ134
Б (S)
ﻳﺎ
S where city = London
city = London S# S1 S4
SNAME smith clark
STATUS 20 20
CITY London london
:ﻣﺜﺎل Б (S) CITY =
" London"
AND SNAME = S# S1
SNAME smith
" smith"
STATUS 20
CITY London
(∏) دﺳﺘﻮر ( ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ در واﻗﻊ ﺳﺘﻮن ﻫﺎﻳﻲ از راﺑﻄﻪ راProject) اﻳﻦ دﺳﺘﻮر ﻫﻤﺎن ﻋﻤﻠﮕﺮ ﭘﺮﺗﻮ : ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﻳﻜﻲ از دو ﺻﻮرت ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ.در ﺑﺮ ﻣﻲ ﮔﻴﺮد ∏ ()ﻧﺎم راﺑﻄﻪ
-1
ﻧﺎم ﺻﻔﺖ ] ﻧﺎم ﺻﻔﺘﻬﺎ [ ﻧﺎم راﺑﻄﻪ
-2
:ﻣﺜﺎل ∏ (s )
ﻳﺎ
s [city]
City City London Paris Athens
∏ (S ) S#
و
ﻳﺎ
S [ S# , SNAME ]
SNAME
Ramin.Samad@yahoo.com
:ﻣﺜﺎل
WWW.IRANMEET.COM
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 135
SNAME
S#
Smith Jones Black Clark Adams
S1 S2 S3 S4 S5
ﺗﻤﺮﻳﻦ :ﻧﺎم اﻓﺮادﻳﻜﻪ ﺷﻬﺮﺷﺎن ﻟﻨﺪن ) (londonاﺳﺖ ؟ "" London
=
)Б (s ∏ city Name
ﺗﻤﺮﻳﻦ:
S#
اﻓﺮادﻳﻜﻪ وﺿﻌﻴﺘﺸﺎن ﺑﺮاﺑﺮ 30اﺳﺖ. )Б (s ∏
STATUS = 30
S# S#
)"" London
= WHERE CITY
(S
Name
ﻋﻤﻠﮕﺮﻫﺎي ﭘﻴﻮﻧﺪ ﺿﺮب دﻛﺎرﺗﻲ
)(join
1
راﺑﻄﻪ اي اﺳﺖ ﻛﻪ ﺳﺘﻮﻧﻬﺎﻳﺶ ﻣﺠﻤﻮع ﺳﺘﻮﻧﻬﺎي دو راﺑﻄﻪ و ﺳﻄﺮﻫﺎﻳﺶ ﺑﺮاﺑﺮ ﺑﺎ ﺣﺎﺻﻠﻀﺮب )ﺗﻤﺎﻣﻲ ﺗﺮﻛﻴﺒﻬﺎي ﻣﻤﻜﻦ( ﺳﻄﺮﻫﺎي آن دو راﺑﻄﻪ )ﺗﻜﺮاري ﻧﻴﺰ ﺧﻮاﻫﻴﻢ داﺷﺖ( اﺳﺖ.
ﺧﻮاص ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ •
اﻃﻼﻋﺎت ﻛﺎﻣﻞ 1 . C a r t e si a n P r o d uc t
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
136ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﺣﺠﻢ ﻳﺎ ﻓﻀﺎي زﻳﺎدي اﺷﻐﺎل ﻣﻲﻛﻨﺪ )ﺣﺘﻲ اﻻﻣﻜﺎن اﻧﺠﺎم ﻧﻤﻲدﻫﻴﻢ(.
•
*b=b*a
a
ﻛﺎرﺑﺮدﻫﺎي ﺿﺮب دﻛﺎرﺗﻲ)(X ﻳﻜﻲ از ﻛﺎرﺑﺮدﻫﺎي ﺿﺮب دﻛﺎرﺗﻲ ﻣﻮاﻗﻌﻲ اﺳﺖ ﻛﻪ ﺑﻴﻦ ﺟﺪاول ﻋﺎﻣﻞ ارﺗﺒﺎط )ﺻﻔﺘﻬﺎي ﻣﺸﺨﺺ( ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻴﻢ )راه ﺣﻞ ﺧﻮﺑﻲ ﻧﻴﺴﺖ زﻳﺮا ﻓﻀﺎي زﻳﺎدي اﺷﻐﺎل ﻣﻲ ﻛﻨﺪ(. y
*
x
c
d
ﺑﺨﺎﻃﺮ ﭘﺮ ﻫﺰﻳﻨﻪ ﺑﻮدن ﺿﺮب join ،ﻫﺎي دﻳﮕﺮ اراﺋﻪ ﮔﺮدﻳﺪﻧﺪ )اﺻﻞ
a
b
join
ﺑﺎ ﺿﺮب
ﺷﺮوع ﻣﻲ ﺷﻮد(.
اﻟﺤﺎق ﻃﺒﻴﻌﻲ
Natural join
)∞(
ﻧﺘﻴﺠﻪ ﺣﺎﺻﻞ از اﻳﻦ ﻋﻤﻠﻴﺎت ﺷﺎﻣﻞ ﺟﺪوﻟﻲ اﺳﺖ ﻛﻪ ﺳﺘﻮﻧﻬﺎﻳﺶ ،ﺳﺘﻮﻧﻬﺎي دو ﺟﺪوﻟﻲ )ﺑﺪون ﺗﻜﺮار( و ﺳﻄﺮﻫﺎﻳﺶ ،ﺳﻄﺮﻫﺎﻳﻲ از ﺟﺪول اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮ ﻫﻤﻪ ﺳﺘﻮﻧﻬﺎي ﻫﻢ ﻧﺎﻣﺶ ﻣﺴﺎوي ﻫﺴﺘﻨﺪ. B C
b
a
4
2
1
1
2
1
3
4
2
∞A
B = =
A join B
c
b
4 10 8 3 1
2 5 6 4 2
در ﻣﺒﺎﺣﺚ ﭘﻴﻮﻧﺪ راﺑﻄﻪﻫﺎ ﻧﻜﺎت زﻳﺮ ﺑﺎﻳﺪ ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﮔﻴﺮد: )( A ∞B) ∞ C = A ∞ (B ∞ C A∞B= B∞A
Ramin.Samad@yahoo.com
A b
a
2 4
1 2
WWW.IRANMEET.COM
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 137
اﮔﺮ دو ﺟﺪول Aو Bداراي ﺻﻔﺎت ﻣﺸﺘﺮﻛﻲ ﻧﺒﺎﺷﻨﺪ ∞ ﺗﺒﺪﻳﻞ ﺑﻪ Xﻣﻲ ﺷﻮد. )join
(X ༰ (༰- join) teta
و اﻳﻦ ﻋﺒﺎرت ﻣﻌﺎدل ﺿﺮب دﻛﺎرﺗﻲ اﺳﺖ ﻛﻪ ﺷﺮﻃﻲ ﻧﻴﺰ ﺑﻪ آن اﻓﺰوده ﺷﺪه اﺳﺖ. ﺷﺮط
ﻳﺎ
(R1 * R2) WHERE
R1 * R2
ﺷﺮط ﻛﺎرﺑﺮد :ﻣﻮاﻗﻌﻲ ﻛﻪ ﻧﻴﺎز ﺑﻪ
دو راﺑﻄﻪ ﺑﺮ اﺳﺎس ﺷﺮط ﺧﺎﺻﻲ ﺑﻪ ﻏﻴﺮ از ﺑﺮاﺑﺮي
join
آﻧﻬﺎ ﺑﺎﺷﺪ. ﻣﺜﺎل: B
A*B
semi join
A
A.b > B.c b c
a
d
c
b
a
K
10
15
x
K
10
20
y
K l
10 25
15 20
x y
d
=༾
ﻫﻤﺎن X ༰اﺳﺖ ﻛﻪ ﻓﻘﻂ ﺷﺎﻣﻞ ﺳﺘﻮﻧﻬﺎي ﺟﺪول اول ﻣﻲ ﺑﺎﺷﺪ )ﺑﺪون ﺳﺘﻮﻧﻬﺎي ﺗﻜﺮاري(. ༾ R2 ﺷﺮط
R1
ﻛﺎرﺑﺮد :در ﭘﺎﻳﮕﺎهﻫﺎي داده ﺗﻮزﻳﻊ ﻳﺎﻓﺘﻪ
)DB
(Distributedﺑﻜﺎر ﻣﻲ رود ﺗﺎ از اﻧﺘﻘﺎل
اﻃﻼﻋﺎت زﻳﺎدي ﺟﻠﻮﮔﻴﺮي ﻛﻨﺪ. ﻣﺜﺎل: B
A
Ramin.Samad@yahoo.com
B༾A
WWW.IRANMEET.COM
138ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻋﻤﻠﮕﺮ ﺗﻘﺴﻴﻢ
15
x
20
y
c.B < b.A
1
ﻓﺮض ﻛﻨﻴﺪ ) Ynو ...و Y2و Y1و Xnو ...و X2و
1
A (X
و ) Ynو ...و Y2و
1
B (Y
در ﺗﻘﺴﻴﻢ دو راﺑﻄﻪ ،ﺳﺘﻮﻧﻬﺎي ﺑﺎﻗﻲ ﻣﺎﻧﺪه و ﺳﻄﺮﻫﺎ ،ﺳﻄﺮﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﺷﺮط در ﻫﻤﻪ آﻧﻬﺎ ﺻﺎدق اﺳﺖ. ) Xnو ...و X2و (X1 ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ اﮔﺮ ﻧﺪاﺷﺘﻪ
ﺑﺎﺷﻴﻢXn
Y2
=
را ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻴﻢ
¹B
X2
= A
A DIVIDE By B
را ﺑﻪ ﻣﺎ ﻧﻤﻲ دﻫﺪ ،اﮔﺮ
Yn
را
را ﺑﻪ ﻣﺎ ﻧﻤﻲ دﻫﺪ.
ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﻧﻜﺘﻪ ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ اﺳﺎﺳﺎً اﻳﻦ ﻋﻤﻠﮕﺮ ﭼﻪ ﻛﺎرﺑﺮدﻫﺎﻳﻲ ﻣﻲﺗﻮاﻧﺪ داﺷﺘﻪ ﺑﺎﺷﺪ .در ﭘﺎﺳﺦ ﺑﻪ اﻳﻦ ﭘﺮﺳﺶ ﺑﺎﻳﺪ ﮔﻔﺖ ﻛﻪ ﻳﻜﻲ از ﺳﺎده ﺗﺮﻳﻦ ﻣﻮارد اﺳﺘﻔﺎده از اﻳﻦ ﻋﻤﻠﮕﺮ ﭘﺮس و ﺟﻮﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از آﻧﻬﺎ دﻧﺒﺎل ﻣﻘﺎدﻳﺮي ﺑﮕﺮدﻳﻢ ﻛﻪ ﺣﺎوي ﻳﻚ ﻛﻠﻤﻪ ﺧﺎص ﺑﺎﺷﺪ) .ﻣﺜﻼ ﺗﻤﺎم Xﻫﺎﻳﻲ را ﺑﺪه ﻛﻪ Yﻫﺎﻳﺸﺎن ﺑﺮاﺑﺮ ഋاﺳﺖ(. ﻣﺜﺎل: ﺳﺎزﻧﺪه ﻫﺎ ) CITYو STATUSو SNAMEوS ( S# ﻣﺤﺼﻮﻻت ) CITYو WEIGHTو PNAMEو P (P# ﺗﺮﻛﻴﺒﻲ از ﻣﺤﺼﻮﻻت و ﺳﺎزﻧﺪه ) Qtyو P#و SP (S# ﺗﻌﺪاد
ﺳﻮال: ﻓﺮوﺷﻨﺪﮔﺎﻧﻲ ﻛﻪ ﻫﻤﻪ )ﺗﻤﺎم( ﻗﻄﻌﺎت را ﺗﻮﻟﻴﺪ ﻣﻲ ﻛﻨﻨﺪ ﻳﺎ ﻧﺎم ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪﮔﺎن ﻫﻤﻪ 1. D i vi d e - D i vi s i o n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 139
ﻗﻄﻌﺎت؟ ( ∏ (SP) ¹ ∏ (P)) ∞ S P#
∏
s# , P# SNAME
ﺷﻤﺎر ﺗﻤﺎم ﻗﻄﻌﺎت
ﺟﻮاب:
S#
ﺷﻤﺎر ﺳﺎزﻧﺪه و ﻗﻄﻌﺎﺗﻲ ﻛﻪ ﺗﻮﻟﻴﺪ ﻣﻲﻛﻨﻨﺪ را دارد )ﺗﻜﺮاري ﻫﻢ دارد(
ﻛﻪ ﻫﻤﻪ ﻗﻄﻌﺎت را ﺗﻮﻟﻴﺪ ﻛﻨﺪ.
از آﻧﺠﺎﺋﻴﻜﻪ در ﺟﺴﺘﺠﻮس ﻧﺎم ﻗﻄﻌﻪ ﻫﺴﺘﻴﻢ ،ﭘﺲ ﺟﻮاب را ﺑﺎ ﺟﺪول
join ،S
ﻣﻲ ﻛﻨﻴﻢ
ﻛﻪ در آﺧﺮ ﻧﺎم آن ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪﮔﺎن را ﺑﺪﺳﺖ آورﻳﻢ. ﺳﻮال: ﺷﻤﺎره ﻓﺮوﺷﻨﺪﮔﺎﻧﻲ ﻛﻪ ﺣﺪاﻗﻞ ﺗﻤﺎم ﻗﻄﻌﺎت ﻋﺮﺿﻪ ﺷﺪه ﺗﻮﺳﻂ S2را ﻋﺮﺿﻪ ﻣﻲ ﻛﻨﻨﺪ؟ )∏ (s) ¹ Б (sp S#=СS2ɨТ
S#
ﺳﻮال: ﺟﺪاول زﻳﺮ را در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺑﻪ ﭘﺮﺳﺶ ﻫﺎ ﭘﺎﺳﺦ دﻫﻴﺪ. ) clg #و avgو cityو SNAMEو )clg#
و degreeو espو afficeو ) clg#و unitو
) scoreو pnameو termو
Stud (S#
prof (pname
cnameوcrs (c#
s#و c#وsec (sec#
) pnamو cityو clgnameو
clg (clg#
اﻟﻒ( ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ ،ﻧﺎم ،ﻛﺪ داﻧﺸﻜﺪه و ﻣﻌﺪل داﻧﺸﺠﻮﻳﻲ ﻛﻪ ﻣﻴﺎﻧﮕﻴﻦ ﻧﻤﺮات آﻧﻬﺎ ﺑﺎﻻي 15ﻣﻲ ﺑﺎﺷﺪ. ب( ﻟﻴﺴﺖ ﻧﺎم اﺳﺎﺗﻴﺪي ﻛﻪ رﺋﻴﺲ داﻧﺸﻜﺪه ﻧﻴﺴﺘﻨﺪ. ج( ﻣﺸﺨﺼﺎت ﻛﺎﻣﻞ روﺳﺎي داﻧﺸﻜﺪهﻫﺎ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
140ﭘﺎﻳﮕﺎه دادهﻫﺎ
د( داﻧﺸﺠﻮﻳﺎﻧﻲ ﻛﻪ ﻫﻤﻪ درﺳﻬﺎي اﺳﺘﺎد xرا ﮔﺮﻓﺘﻪ اﻧﺪ. ه( درﺳﻬﺎﻳﻲ ﻛﻪ ﺗﻮﺳﻂ ﻫﻤﻪ داﻧﺸﻜﺪهﻫﺎ اراﺋﻪ ﻣﻲ ﺷﻮد. و( ﻣﺸﺨﺼﺎت دروس 4واﺣﺪي ﻛﻪ در ﻧﻴﻤﺴﺎل اول 78اراﺋﻪ ﺷﺪه اﻧﺪ.
-3ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮروي دادهﻫﺎ ﻫﺮ ﻛﺎرﺑﺮ در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده ﺑﺮاي اﻧﺠﺎم ﻋﻤﻠﻴﺎت ﻧﻴﺎزﻣﻨﺪ ،ﻋﻤﻠﮕﺮ ﻫﺎي زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ: 1
•
ﻋﻤﻠﮕﺮ درج
•
ﻋﻤﻠﮕﺮ ﺑﻬﻨﮕﺎم ﺳﺎزي
•
ﻋﻤﻠﮕﺮ ﺣﺬف
2
3
اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ در واﻗﻊ اﻣﻜﺎﻧﺎت ﺣﺬف ،اﺿﺎﻓﻪ و اﺻﻼًح اﻃﻼﻋﺎت را ﺑﺮاي ﻛﺎرﺑﺮ ﻓﺮاﻫﻢ ﻣﻲ آورﻧﺪ .در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮﻳﻚ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ.
1-3ﻋﻤﻠﮕﺮ درج اﻳﻦ ﻋﻤﻠﮕﺮ اﻣﻜﺎن اﺿﺎﻓﻪ ﻛﺮدن اﻃﻼﻋﺎت ﺑﻪ ﺟﺪاول اﻃﻼﻋﺎﺗﻲ )راﺑﻄﻪ ﻫﺎ( را ﻓﺮاﻫﻢ ﻣﻲ آورد .اﻳﻦ ﻋﻤﻠﮕﺮ در ﺣﺎﻟﺖ ﻛﻠﻲ اﻣﻜﺎن اﻓﺰودن داده ﻫﺎ ﺑﻪ دوﺻﻮرت زﻳﺮ را دارد. •
اﻓﺰودن ﻣﻘﺎدﻳﺮ ﻣﺸﺨﺺ ﺑﻌﻨﻮان ﻳﻚ ﺳﻄﺮ اﻃﻼﻋﺎﺗﻲ ﺑﻪ ﺟﺪول
•
اﻓﺰودن ﺗﻌﺪادي ﺳﻄﺮ اﻃﻼﻋﺎﺗﻲ از ﺟﺪوﻟﻲ ﺑﻪ ﺟﺪول دﻳﮕﺮ
ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ: Target
INTO
source
INSERT
ﺟﺪول ﻣﻘﺼﺪ
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﮔﺮدد ﻋﺒﺎرت
Source
ﻣﻲ ﺗﻮاﻧﺪ ﺑﺼﻮرت ﻣﺠﻤﻮﻋﻪ اي ﻣﺸﺨﺺ
از ﻣﻘﺎدﻳﺮ ﻛﻪ ﻣﻨﻄﺒﻖ ﺑﺎ ﺟﺪول ﻣﻘﺼﺪ ﻫﺴﺘﻨﺪ ،ﺑﺎﺷﺪ و ﻳﺎ اﻳﻨﻜﻪ ﺧﺮوﺟﻪ ﺣﺎﺻﻞ از ﻳﻚ
1. In s e r t 2. U p da t e 3. D el e t e
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 141
ﺟﺪول و ﻳﺎ ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از اﻋﻤﺎل ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪ اي ﺑﺮ روي ﻳﻚ ﻳﺎ ﭼﻨﺪ ﺟﺪول ﺑﺎﺷﺪ. ﻣﺜﺎل: INTO TEMP
آن ﺳﻄﺮﻫﺎﻳﻲ ﻛﻪ = СLondonТ
city
)= СlondonТ
INSERT (S WHERE city
اﺳﺖ را در راﺑﻄﻪ ،Sرا ﺑﻪ ﺟﺪول
temp
اﺿﺎﻓﻪ
ﻣﻲ ﻛﻨﺪ.
2-3ﻋﻤﻠﮕﺮ ﺑﻬﻨﮕﺎم ﺳﺎزي اﻳﻦ ﻋﻤﻠﮕﺮ اﻣﻜﺎن اﺻﻼًح اﻃﻼﻋﺎت ذﺧﻴﺮه ﺷﺪه در ﻳﻚ ﺟﺪول را ﺑﺮاي ﻛﺎرﺑﺮ ﻓﺮاﻫﻢ ﻣﻲ آورد .ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ: Comma list-assignment
ﻳﻚ اﻧﺘﺴﺎب
UPDATE target
ﻣﺜﺎل: ’UPDATE P city = ‘Paris’ WHERE color = ‘Red
ﻋﺒﺎرت ﺑﺎﻻ ﺑﺪﻳﻦ ﻣﻌﻨﻲ اﺳﺖ ﻛﻪ از راﺑﻄﻪ Pاﻧﺪﺳﺘﻪ از ﺳﻄﺮﻫﺎﻳﻲ را ﻛﻪ ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ رﻧﮓ در آﻧﻬﺎ ﻗﺮﻣﺰ اﺳﺖ ،ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ ﺷﻬﺮ را ﺑﺮاﺑﺮ ﺑﺎ ﭘﺎرﻳﺲ ﻛﻨﻴﻢ .اﻳﻦ ﻋﻤﻠﮕﺮ را ﺑﺼﻮرت ﻧﻤﺎدﻳﻦ )ﻧﻤﺎﻳﺶ( ﻣﻲ ﺗﻮان ﺑﻪ ﺻﻮرت زﻳﺮ ﻧﺸﺎن داد. )(P ’WHERE color = ‘Red ’City = ‘Paris
ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ ﻋﺒﺎرت ﺑﺎﻻ در ﺑﻌﻀﻲ از ﻛﺘﺐ ﺑﺼﻮرت ﻛﺎﻣﻞ ﺗﺮ ﺑﻴﺎن ﻣﻲ ﺷﻮد ﻛﻪ در ﺑﺤﺚ ﻓﻌﻠﻲ ﻣﺪﻧﻈﺮ ﻧﻴﺴﺖ.
3-3ﻋﻤﻠﮕﺮ ﺣﺬف اﻳﻦ ﻋﻤﻠﮕﺮ ﺟﻬﺖ ﺣﺬف ﺳﻄﺮﻫﺎﻳﻲ از اﻃﻼﻋﺎت درون ﺟﺪاول ﺑﻜﺎر ﻣﻲرود .ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ: R -E
R
Ramin.Samad@yahoo.com
target
DELETE
WWW.IRANMEET.COM
142ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻣﺜﺎل: 20
STATUS
DELETE S WHERE
ﻣﻌﻨﻲ دﺳﺘﻮر ﻣﺬﻛﻮر ﺑﺪﻳﻦ ﺻﻮرت اﺳﺖ :ﺣﺬف ﻛﻦ از راﺑﻄﻪ STATUS
S
آﻧﻬﺎﻳﻲ را ﻛﻪ
آن ﻛﻤﺘﺮ از 20اﺳﺖ )ﭘﺲ ﻳﻚ ﺳﻄﺮ ﺣﺬف ﻣﻲ ﮔﺮدد(.
ﺗﻮﺟﻪ :راﺑﻄﻪ
R
و
E
ﺑﺎﻳﺪ داراي ﺷﺮط
Same arity
ﺑﺎﺷﺪ )ﺗﻌﺪاد و ﻧﻮع ﺳﺘﻮن ﻫﺎﻳﺸﺎن
ﻳﻜﺴﺎن اﺳﺖ(.
-4ﻛﺎﻣﻞ ﺑﻮدن ﺟﺒﺮ راﺑﻄﻪاي ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﺪ ﻣﻲ ﺗﻮان ﻋﺒﺎرات ﺟﺒﺮ راﺑﻄﻪ اي را ﺑﺎ اﺳﺘﻔﺎده از ﺗﺮﻛﻴﺐ ﻋﻤﻠﮕﺮﻫﺎ ﻧﻮﺷﺖ و ﺣﺎﺻﻞ ﻫﺮ ﻋﺒﺎرت ﻣﻌﺘﺒﺮ ﺟﺒﺮ راﺑﻄﻪ اي ﺑﺎز ﻫﻢ ﻳﻚ راﺑﻄﻪ اﺳﺖ .ﻟﺬا ﻣﻲ ﺗﻮان ﭼﻨﻴﻦ ارزﻳﺎﺑﻲ ﻛﺮد ﻛﻪ ﻫﺮ راﺑﻄﻪ ﻣﻌﺘﺒﺮ از ﻣﺠﻤﻮﻋﻪ راﺑﻄﻪ ﻫﺎ را ﻣﻲ ﺗﻮان ﺑﻪ ﻛﻤﻚ ﻳﻚ ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪ اي ﻧﻮﺷﺖ .ﺑﺎ اﻳﻦ وﺻﻒ ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ ﺟﺒﺮ راﺑﻄﻪ اي از ﻧﻈﺮ راﺑﻄﻪ اي ﻛﺎﻣﻞ اﺳﺖ ﻳﺎ ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﺟﺒﺮ راﺑﻄﻪ اي ﻛﻤﺎل راﺑﻄﻪ اي را دارد .ﺑﺪﻳﻦ ﻋﻠﺖ ﻣﻲ ﺗﻮان ﺟﺒﺮ راﺑﻄﻪ اي را ﻣﻌﻴﺎر ﺗﺸﺨﻴﺺ ﻛﻤﺎل راﺑﻄﻪ اي ﺑﺮاي زﺑﺎنﻫﺎي راﺑﻄﻪ اي داﻧﺴﺖ .ﻳﻌﻨﻲ ﻣﻲ ﺗﻮان ﮔﻔﺖ زﺑﺎﻧﻲ داراي ﻛﻤﺎل راﺑﻄﻪ اي اﺳﺖ ﻛﻪ ﺣﺪاﻗﻞ ﻫﺮ راﺑﻄﻪاي ﻛﻪ ﺑﺎ ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪ اي ﻗﺎﺑﻞ ﺗﻌﺮﻳﻒ ﺑﺎﺷﺪ ،ﺗﻮﺳﻂ آن زﺑﺎن ﻫﻢ ﺗﻌﺮﻳﻒ ﺷﺪﻧﻲ ﺑﺎﺷﺪ.
-5ﺣﺴﺎب راﺑﻄﻪاي ﻧﻮع دﻳﮕﺮي از اﻣﻜﺎﻧﺎت اﻧﺠﺎم ﻋﻤﻠﻴﺎت در راﺑﻄﻪ ﻫﺎ ،ﺣﺴﺎب راﺑﻄﻪ اي اﺳﺘﻜﻪ ﻣﻨﻄﻘﺎً ﻣﻌﺎدل ﺟﺒﺮ راﺑﻄﻪ اي ﻣﻲ ﺑﺎﺷﺪ .ﻳﻌﻨﻲ ﺑﺮاي ﻫﺮ ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪ اي ،ﻳﻚ ﻋﺒﺎرت ﻣﻌﺎدل در ﺣﺴﺎب راﺑﻄﻪ اي وﺟﻮد دارد و ﺑﺎﻟﻌﻜﺲ .دراﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﺗﻮﺟﻪ ﺷﻮد ﻛﻪ ﺟﺒﺮ راﺑﻄﻪ اي ،دﺳﺘﻮري ﺑﻮده و ﺷﺒﻴﻪ ﺑﻪ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ اﺳﺖ و ﺣﺴﺎب راﺑﻄﻪ اي ﺑﺼﻮرت ﺗﻮﺻﻴﻔﻲ ﺑﻮده و ﺑﻪ زﺑﺎن ﻃﺒﻴﻌﻲ ﻧﺰدﻳﻚﺗﺮ اﺳﺖ .ﺣﺴﺎب راﺑﻄﻪ اي ﺧﻮد داراي دو ﺷﺎﺧﻪ ﻣﻲ ﺑﺎﺷﺪ:
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 143 1
•
ﺣﺴﺎب ﺗﺎﭘﻠﻲ
•
ﺣﺴﺎب ﻣﻴﺪاﻧﻲ
2
در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮﻳﻚ از اﻳﻦ دو ﻧﻮع ﺣﺴﺎب ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ:
1-5ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ در ﺣﺴﺎب راﺑﻄﻪ اي ﺗﺎﭘﻠﻲ ،ﻳﻚ ﻣﻔﻬﻮم ﻣﻬﻢ ﺑﻪ ﻧﺎم ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ وﺟﻮد دارد .ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ ﻣﺘﻐﻴﺮي اﺳﺖ ﻛﻪ ﺗﻨﻬﺎ ﻣﻘﺎدﻳﺮ ﻣﺠﺎزش ،ﺗﺎﭘﻞ ﻫﺎي راﺑﻄﻪ ﻫﺴﺘﻨﺪ .اﻳﻦ ﻣﺘﻐﻴﺮ در ﺷﻜﻞ ﻛﻠﻲ ﺑﻪ ﺻﻮرت زﻳﺮ ﺗﻌﺮﻳﻒ ﻣﻲ ﺷﻮد <range var definition>:: RANGEVAR <range var name> RANGEOVER ><Relational expression commalist
ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﺑﻪ ﻋﺒﺎرات زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ: ;1-RANGEVAR STUD RANGE OVER STT 2-RANGEVAR STUD RANGEOVER )(STUD WHERE STUD.STMJR = ‘’comp.eng
1-1-5ﺷﻜﻞ ﻛﻠﻲ ﻋﺒﺎرت ﺣﺴﺎب ﺗﺎﭘﻠﻲ اﮔﺮ tﻳﻚ ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ روي راﺑﻄﻪ ) R(A1,A2, … , ANﺑﺎﺷﺪ ،در اﻳﻨﺼﻮرت ﺷﻜﻞ ﻛﻠﻲ ﻋﺒﺎرت ﺣﺴﺎب ﺗﺎﭘﻠﻲ ﺑﺼﻮرت زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد: ](target-items(s)) [WHERE f
ﻛﻪ در آن )) (target-items(sﺑﻪ ﻣﻔﻬﻮم ﻓﻬﺮﺳﺘﻲ از ﺻﻔﺎت ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ Tاﺳﺖ: T. A1 , T. A2 , … , T. AN
ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﺑﻪ ﻣﺜﺎل ﻫﺎي زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ: ST.STID ST.STID, ST.STDEID AS W ’ST.STID WHERE ST.STDEID = ‘123 1. T u pl e Or i e n t e d 2. D o ma i n Or i e n t e d
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
144ﭘﺎﻳﮕﺎه دادهﻫﺎ
2-1-5ﺳﻮر وﺟﻮدي و ﺳﻮر ﻫﻤﮕﺎﻧﻲ در ﺣﺴﺎب راﺑﻄﻪ ﺗﺎﭘﻠﻲ دو ﺳﻮر وﺟﻮد دارد: • •
ﺳﻮر وﺟﻮدي ﺳﻮر ﻫﻤﮕﺎﻧﻲ
1
2
ﺳﻮر وﺟﻮدي ﺳﻮر وﺟﻮدي را ﺑﺎ ∃ ﻧﻤﺎﻳﺶ داده و ﻋﺒﺎرت آﻧﺮا ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﻧﻮﻳﺴﻴﻢ )∃ T (f
ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﺪﻳﻦ ﻣﻌﻨﺎ اﺳﺖ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﻣﻘﺪار ﺑﺮاي ﻣﺘﻐﻴﺮ
T
وﺟﻮد دارد ﺑﻪ
ﻧﺤﻮي ﻛﻪ fﺑﻪ ﻣﻔﻬﻮم "درﺳﺖ" ارزﻳﺎﺑﻲ ﺷﻮد.
ﺳﻮر ﻫﻤﮕﺎﻧﻲ ﺳﻮر ﻫﻤﮕﺎﻧﻲ را ﺑﺎ ∀ ﻧﻤﺎﻳﺶ داده و ﻋﺒﺎرت آﻧﺮا ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﻧﻮﻳﺴﻴﻢ )∀ T (f
ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﺪﻳﻦ ﻣﻌﻨﺎ اﺳﺖ ﻛﻪ ﺑﻪ ازاء ﺗﻤﺎم ﻣﻘﺎدﻳﺮ ﻣﺘﻐﻴﺮ
T
،
F
ﺑﻪ ﻣﻔﻬﻮم
"درﺳﺖ" ارزﻳﺎﺑﻲ ﻣﻲ ﺷﻮد. اﻳﻦ دو ﺳﻮر ﺑﻪ روش ﻫﺎي زﻳﺮ ﻗﺎﺑﻞ ﺗﺒﺪﻳﻞ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻣﻲ ﺑﺎﺷﻨﺪ: )FORAll T(f) ≡ NOT EXISTS T(NOT f ))EXISTS T(f) ≡ NOT (FORALL T(NOT f ))FORALL T((f) AND (g)) ≡ NOT EXISTS T(NOT (f) OR NOT (g ))FORALL T((f) OR (g)) ≡ NOT EXISTS T(NOT (f) AND NOT (g ))EXISTS T((F) OR (g)) ≡ NOT FORALL T(NOT (f) AND NOT (g ))EXISTS T((f) AND (g)) ≡ NOT FORALL T(NOT (f) OR NOT (g )FORALL T(f) ⇒ EXISTS T(f )NOT EXISTS T(f) ⇒ NOT FORALL T(f
3-1-5ﻋﺒﺎرت ﻣﻄﻤﺌﻦ وﻗﺘﻲ از ﺳﻮر وﺟﻮدي ،ﺳﻮر ﻫﻤﮕﺎﻧﻲ و ﺳﻮر ﻧﻔﻲ در ﻧﻮﺷﺘﻦ ﻳﻚ ﻋﺒﺎرت ﺣﺴﺎب 1. E xi s t e n t i a l 2. U n i ve r s a l
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 145
راﺑﻄﻪ اي اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ ،ﺑﺎﻳﺪ اﻃﻤﻴﻨﺎن ﺣﺎﺻﻞ ﻛﻨﻴﻢ ﻛﻪ ﻋﺒﺎرت ﺣﺴﺎﺑﻲ ﻧﻮﺷﺘﻪ ﺷﺪه 1
داراي ﻣﻌﻨﺎ ﺑﺎﺷﺪ .ﻳﻚ ﻋﺒﺎرت ﺣﺴﺎﺑﻲ را ﻋﺒﺎرت ﻣﻄﻤﺌﻦ ﮔﻮﻳﻴﻢ ﻫﺮﮔﺎه ﻧﺘﻴﺠﻪ ارزﻳﺎﺑﻲ آن ،ﺗﻌﺪاد ﻣﺤﺪودي از ﺗﺎﭘﻠﻬﺎ ﺑﺎﺷﺪ .در ﻏﻴﺮ اﻳﻨﺼﻮرت آن ﻋﺒﺎرت را ﻋﺒﺎرت ﻧﺎﻣﻄﻤﺌﻦ
2
ﻣﻲ ﮔﻮﻳﻴﻢ.
2-5ﺣﺴﺎب راﺑﻄﻪ ﻣﻴﺪاﻧﻲ 3
در اﻳﻦ ﻧﻮع ﺣﺴﺎب ،ﺑﺠﺎي ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ ،ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ دارﻳﻢ .ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ ﻣﺘﻐﻴﺮي اﺳﺖ ﻛﻪ از ﻳﻚ ﻣﻴﺪان ﻣﻘﺪار ﻣﻲ ﮔﻴﺮد .ﺗﻔﺎوت اﺻﻠﻲ ﺣﺴﺎب ﻣﻴﺪاﻧﻲ ﺑﺎ ﺣﺴﺎب ﺗﺎﭘﻠﻲ 4
دراﻳﻦ اﺳﺖ ﻛﻪ در ﺣﺴﺎب ﻣﻴﺪاﻧﻲ ،ﻳﻚ ﺷﺮط اﺿﺎﻓﻲ ﺑﻪ ﻧﺎم ﺷﺮط ﻋﻀﻮﻳﺖ وﺟﻮد دارد .ﺷﺮط ﻋﻀﻮﻳﺖ ﺑﺼﻮرت زﻳﺮ ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮد: )R (A1:v1 , A2:v2, … , An:vn
ﻛﻪ در آن
R
ﻧﺎم راﺑﻄﻪ ،
Ai
ﻧﺎم ﺻﻔﺖ و
vi
ﻳﻚ ﻣﻘﺪار از ﻣﻴﺪان و ﻳﺎ ﻳﻚ ﻟﻴﺘﺮال اﺳﺖ.
اﻳﻦ ﺷﺮط ﺑﻪ ﻣﻔﻬﻮم "درﺳﺖ" ارزﻳﺎﺑﻲ ﻣﻲ ﺷﻮد اﮔﺮ و ﺗﻨﻬﺎ اﮔﺮ ﺗﺎﭘﻠﻲ در
R
وﺟﻮد
داﺷﺘﻪ ﺑﺎﺷﺪ ﻛﻪ ﻣﻘﺎدﻳﺮ داده ﺷﺪه ﺑﺮاي ﺻﻔﺎت را داﺷﺘﻪ ﺑﺎﺷﺪ )ﺗﺎﭘﻞ ﻋﻀﻮي از ﻣﺠﻤﻮﻋﻪ ﺑﺪﻧﻪ راﺑﻄﻪ ﺑﺎﺷﺪ( .ﺑﺮاي ﻣﺜﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ: )’STT (STID: ‘345’,stdeg:’xwe
در ﻋﺒﺎرت ﻓﻮق اﻳﻦ ﺷﺮط ﺑﻪ ﻣﻔﻬﻮم "درﺳﺖ" ارزﻳﺎﺑﻲ ﻣﻲﺷﻮد اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﺗﺎﭘﻠﻲ در STTﺑﺎ ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ ’ ‘345و رﺷﺘﻪ ﻛﺎرﺷﻨﺎﺳﻲ ’ ‘xweوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ.
-6ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ
5
ﻳﻜﻲ از ﻣﺒﺎﺣﺜﻲ ﻛﻪ در ﭘﺎﻳﮕﺎهﻫﺎي داده ﻣﻄﺮح اﺳﺖ ﺑﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﻋﺒﺎرت ﭘﺮس و
1. Sa f e e xp r e s s i o n 2. U n sa f e e x p r e s s i o n 3. D o ma i n va r i a b l e 4. M e mb e r s h i p c o n d i t io n 5. O p ti mi z a t i o n Q u e r y
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
146ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺟﻮ ﻣﻲ ﺑﺎﺷﺪ .از آﻧﺠﺎﺋﻴﻜﻪ ﻣﺒﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮ ﻣﺮﺑﻮط ﺑﻪ دوره ﻛﺎرﺷﻨﺎﺳﻲ ﻧﻴﺴﺖ ،ﻟﺬا در اﻳﻨﺠﺎ ﺻﺮﻓﺎ ﺗﻮﺿﻴﺤﺎت ﻣﺨﺘﺼﺮي در اﻳﻨﺒﺎره اراﺋﻪ ﺧﻮاﻫﻴﻢ ﻛﺮد. ﺗﻤﺎﻣﻲ ﺗﻼش ﻃﺮاﺣﺎن ﭘﺎﻳﮕﺎه داده ﻫﺎ در ﻛﻮﺗﺎه ﻛﺮدن ﻣﺪت زﻣﺎن ارﺳﺎل ﭘﺎﺳﺦ ﺑﻪ ﻣﺘﻘﺎﺿﻲ اﺳﺖ .در ﻋﻴﻦ ﺣﺎل ﺧﺮوﺟﻲ ﻳﻜﺴﺎن در ﻫﻤﻪ ﺣﺎل ﻣﺪ ﻧﻈﺮ ﻣﻲ ﺑﺎﺷﺪ .ﺑﻌﻨﻮان ﻣﺜﺎل دو ﻋﺒﺎرت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ: )(R
)(R
-1اﺑﺘﺪا از راﺑﻄﻪ
R
آن ﻫﺎﻳﻲ ﻛﻪ
A=B
Б
∏
A=B
A,B
∏ A,B
Б A=B
١٢-
اﺳﺖ را ﺟﺪا ﻣﻲ ﻛﻨﺪ )ﺳﻄﺮي( ،ﺑﻌﺪ از ﻛﻞ
آﻧﻬﺎ ﺳﺘﻮن ﻫﺎ را ﺑﻴﺮون ﻣﻲ ﻛﺸﺪ. -2اﺑﺘﺪا از راﺑﻄﻪ
R
دو ﺳﺘﻮن
BوA
را ﺟﺪا ﻣﻲ ﻛﻨﺪ ،ﺑﻌﺪ آﻧﻬﺎﻳﻲ را ﻛﻪ
A= B
اﺳﺖ را ﺟﺪا ﻣﻲﻛﻨﺪ )ﺳﻄﺮﻫﺎﻳﻲ ﻛﻪ .( A = B در اﻳﻨﺠﺎ ﻣﻤﻜﻦ اﺳﺖ ﺳﺌﻮاﻻﺗﻲ ﺑﺮاي ﻛﺎرﺑﺮ ﻣﻄﺮح ﮔﺮدد .ﻣﺎﻧﻨﺪ: •
آﻳﺎ ﻫﻤﻪ ﭘﺎﺳﺦﻫﺎ ﻣﻌﺎدل اﻧﺪ ؟ ﺑﻠﻲ
•
آﻳﺎ ﻫﻤﻪ ﭘﺎﺳﺦﻫﺎ ﻫﻢ ﺳﺮﻋﺖاﻧﺪ ؟ ﺧﻴﺮ
ﺑﻨﺎﺑﺮﻳﻦ ﺟﻬﺖ اﻓﺰاﻳﺶ ﺳﺮﻋﺖ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﺳﻌﻲ ﺑﺮ آن اﺳﺖ ﺑﻬﺘﺮﻳﻦ روش ﺑﻜﺎر ﮔﺮﻓﺘﻪ ﺷﻮد و ﻳﺎ ﺑﻪ ﻋﺒﺎرت ﺑﻬﺘﺮ ﺳﻌﻲ ﻣﻲ ﻛﻨﻴﻢ ﺗﺎ آﻧﺠﺎ ﻛﻪ ﻣﻲ ﺗﻮاﻧﻴﻢ ﻫﺮ ﭼﻪ ﺳﺮﻳﻌﺘﺮ ﺟﺪاول را ﻛﻮﭼﻚ ﻛﺮده و روي آﻧﻬﺎ ﻛﺎر ﻛﻨﻴﻢ. ﻳﻜﻲ از ﺳﺌﻮاﻻﺗﻲ ﻛﻪ ﻣﻄﺮح ﻣﻲﮔﺮدد اﻳﻦ اﺳﺖ ﻛﻪ ﺳﺮﻋﺖ Quaryﻫﺎي ﻣﺘﻔﺎوت ﭼﻘﺪر ﺗﻔﺎوت دارد ؟ در ﭘﺎﺳﺦ ﺑﺎﻳﺪ ﮔﻔﺖ ﻛﻪ :ﺑﺴﻴﺎر زﻳﺎد ،زﻳﺮا دادهﻫﺎ و ﺟﺪاول در ﺣﺎﻓﻈﻪ ﺟﺎﻧﺒﻲ ﻗﺮار دارﻧﺪ .در اﻳﻦ راﺳﺘﺎ ﻣﻤﻜﻦ اﺳﺖ ﺑﮕﻮﻳﻴﻢ ﻛﻪ ﻛﺎرﺑﺮ ﺑﺎﻳﺪ آﻧﻘﺪر ﺗﺒﻬﺮ داﺷﺘﻪ ﺑﺎﺷﺪ ﺗﺎ ﺑﺘﻮاﻧﺪ ﻋﺒﺎرت ﭘﺮﺳﻮ ﺟﻮي ﺧﻮد را ﺑﻬﻴﻨﻪ ﻧﻤﺎﻳﺪ .وﻟﻲ آﻳﺎ واﻗﻌﺎ ﭼﻨﻴﻦ ﻛﺎري ﻣﻤﻜﻦ اﺳﺖ؟ در ﭘﺎﺳﺦ ﺑﺎﻳﺪ ﮔﻔﺖ :ﺧﻴﺮ .زﻳﺮا: •
ﻛﺎرﺑﺮ ﻣﺘﺨﺼﺺ ﻧﻴﺴﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 147 •
از ﺳﺎﻳﺮ ﺟﺪاول و ﭼﮕﻮﻧﮕﻲ آﻧﻬﺎ ﻣﻄﻠﻊ ﻧﻤﻲﺑﺎﺷﺪ.
•
اﻛﺜﺮﻳﺖ ﻛﺎرﺑﺮان از ﺳﺎﺧﺘﺎر و ﻣﻜﺎﻧﻴﺰم دروﻧﻲ ﭘﺎﻳﮕﺎهداده ﺑﻲ اﻃﻼع ﻫﺴﺘﻨﺪ.
ﭘﺲ ﺑﻬﺘﺮﻳﻦ راه ﺣﻞ اﻳﻦ اﺳﺖ ﻛﻪ ﺑﮕﻮﻳﻴﻢ
DBMS
ﺑﺎﻳﺪ
Quary
را ﺑﻬﻴﻨﻪ ﺳﺎزي ﻧﻤﺎﻳﺪ.
ﻃﺒﻴﻌﻲ اﺳﺖ ﻛﻪ ﺑﺎﻳﺪ ﻣﻜﺎﻧﻴﺰم ﻣﺸﺨﺼﻲ ﺑﺮاي اﻳﻨﻜﺎر وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ .ﻫﺮﭼﻨﺪ ﻛﻪ ﺑﺤﺚ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮﺳﻮ ﺟﻮ در اﻳﻦ ﻛﺘﺎب ﻧﻤﻲ ﮔﻨﺠﺪ ،وﻟﻲ ﺑﺮاي اراﺋﻪ ﻳﻚ ﺷﻤﺎي ﺳﺎده از اﻳﻦ ﻋﻤﻞ اﻟﮕﻮرﻳﺘﻢ ذﻳﻞ را )ﻛﻪ ﺑﺴﻴﺎر ﺳﺎده و ﻣﺨﺘﺼﺮ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ( اراﺋﻪ ﻣﻲﻧﻤﺎﻳﻴﻢ.
1-6ﺗﺒﺪﻳﻞ
Q
ﺑﻪ
o.Q
ﺑﺮاي ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ ﻻزم اﺳﺖ ﺗﺎ روﻳﻪ ﻣﺸﺨﺼﻲ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد .در اداﻣﻪ ﻗﻮاﻋﺪ ﻣﺮﺑﻮط ﺑﻪ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮس و ﺟﻮﻫﺎ ﻣﻄﺮح ﺷﺪه اﺳﺖ: ﻗﺎﻋﺪه اول Б :را ﻫﺮ ﭼﻪ ﺳﺮﻳﻌﺘﺮ )زودﺗﺮ( اﻧﺠﺎم دﻫﻴﻢ. ﻗﺎﻋﺪه دوم :ﺷﺮﻃﻬﺎي ﺗﺮﻛﻴﺒﻲ را ﺑﻪ ﺷﺮﻃﻬﺎي ﺳﻮاﻟﻲ ﺗﺒﺪﻳﻞ ﻧﻤﺎﻳﻴﺪ )ﺷﺮﻃﻬﺎي داراي OR ،ANDو ...را ﺗﺎ ﺣﺪ اﻣﻜﺎن ﺑﺸﻜﻨﻴﺪ(. )(R
Б
p2
Б p1
) (R p2
Б ∩
p1
ﻗﺎﻋﺪه ﺳﻮم ∏ :را زودﺗﺮ اﻧﺠﺎم دﻫﻴﻢ )ﭘﺲ از .(Б
2-6ﺳﺎﻳﺮ ﻗﻮاﻋﺪ و ﻋﻤﻠﮕﺮﻫﺎي ﺑﻬﻴﻨﻪ ﺳﺎزي ﻗﺎﻋﺪه اول: ∞a
b
= ∞b
a
ﻗﺎﻋﺪه دوم: )∞ ( b ∞ c
a
= (a ∞b) ∞ c
ﺗﻮﺟﻪ :ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﻛﻪ ﻋﺒﺎرات اﻳﻦ دو ﻋﺒﺎرات ﻗﺎﻋﺪه از ﻟﺤﺎظ زﻣﺎن ﺑﺎ ﻫﻢ ﺑﺮاﺑﺮ ﻧﻴﺴﺘﻨﺪ. ﻣﺜﺎل :ﻣﺸﺨﺼﺎت ﻛﺎﻣﻞ دروس و ﮔﺮوه ﻫﺎي درﺳﻲ آﻧﻬﺎ را ﺑﺪﺳﺖ آورﻳﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
148ﭘﺎﻳﮕﺎه دادهﻫﺎ
در اﻳﻨﺠﺎ اﻳﻦ ﺳﺌﻮال ﻣﻄﺮح ﻣﻲ ﺷﻮد ﻛﻪ ﻛﺪام ﻳﻚ از دو ﻋﺒﺎرت زﻳﺮ ﺳﺮﻳﻌﺘﺮ ﭘﺎﺳﺦ ﻣﻲ دﻫﻨﺪ؟ ﻳﺎ
sec
∞
crs
crs
∞
sec
اﻳﻦ دو دﺳﺘﻮر از ﻧﻈﺮ ﺳﺮﻋﺖ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺑﺴﻴﺎر ﻣﺘﻔﺎوﺗﻨﺪ .زﻳﺮا ﺳﺎﻳﺰ دو ﺟﺪول ﻛﺎﻣﻼ ﻣﺘﻔﺎوت ﻣﻲﺑﺎﺷﺪ ﺟﺪول اﺳﺖ و ﺟﺪول
sec
crs
)ﻓﻘﻂ ﻣﺸﺨﺼﺎت درسﻫﺎ ﻣﻲﺑﺎﺷﺪ( ﻣﻌﻤﻮﻻً ﻛﻮﭼﻚ
ﺑﺴﻴﺎر ﺑﺰرﮔﺘﺮ از آن ،زﻳﺮا ﻫﻢ ﮔﺮوﻫﻬﺎي ﻣﺨﺘﻠﻒ دروس را ﺷﺎﻣﻞ
ﻣﻲﺷﻮد و ﻫﻢ داﻧﺸﺠﻮﻳﺎن آﻧﻬﺎ را .ﻓﺮض ﻛﻨﻴﺪ ﺟﺪول crsدر ﺣﺎﻓﻈﻪ
cash
ﺟﺎ ﺑﮕﻴﺮد ،در
اﻳﻦ ﺻﻮرت اﻟﮕﻮرﻳﺘﻢﻫﺎي دو راه ﺣﻞ ﺑﺎﻻ را ﺑﺮرﺳﻲ ﻣﻲﻛﻨﻴﻢ: crs ∞ sec
اﻟﮕﻮرﻳﺘﻢ ) :(1ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول
`
crs
ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول ` sec ﻣﻘﺎﻳﺴﻪ ﻛﻦ^ اﻧﺘﺨﺎب ﻛﻦ ^ در اﻟﮕﻮرﻳﺘﻢ ﻳﻚ ﺑﺎﻳﺪ ﺳﻄﺮﻫﺎي ﺑﺴﻴﺎر زﻳﺎد ﺟﺪول
sec
را ﺑﻪ دﻓﻌﺎت وارد ﺣﺎﻓﻈﻪ
اﺻﻠﻲ ﻛﻨﻴﻢ و ﻣﻘﺎﻳﺴﻪ و اﻧﺘﺨﺎب را اﻧﺠﺎم دﻫﻴﻢ ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﺗﻌﺪاد دﺳﺘﻴﺎﺑﻲ ﺑﻪ دﻳﺴﻚ )ﻣﻨﻈﻮر ﺣﺎﻓﻈﻪ ﺟﺎﻧﺒﻲ( ﺑﻪاﻧﺪازه ﺣﺎﺻﻠﻀﺮب ﺳﺎﻳﺰ دو ﺟﺪول اﺳﺖ. sec ∞ crs
اﻟﮕﻮرﻳﺘﻢ ) :(2ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول ` sec ﺑﺮاي ﻫﺮ ﺳﻄﺮ ﺟﺪول ` crs ﻣﻘﺎﻳﺴﻪ ﻛﻦ ^ اﻧﺘﺨﺎب ﻛﻦ ^ در اﻟﮕﻮرﻳﺘﻢ دو ،ﻫﺮ ﺳﻄﺮ secرا ﻓﻘﻂ ﻳﻜﺒﺎر ﺑﻪ ﺣﺎﻓﻈﻪ اﺻﻠﻲ ﻣﻲآورﻳﻢ زﻳﺮا ﺟﺪول crsﺑﻪ ﻃﻮر ﻛﺎﻣﻞ در ﺣﺎﻓﻈﻪ cashﻗﺮار دارد و ﻫﻤﻪ ﻣﻘﺎﻳﺴﻪﻫﺎ ﻳﻜﺒﺎر اﻧﺠﺎم ﻣﻲﮔﻴﺮد و ﺗﻌﺪاد دﺳﺘﻴﺎﺑﻲ ﺑﻪ دﻳﺴﻚ ﺑﻪاﻧﺪازه ﺳﺎﻳﺰ ﺟﺪول
sec
اﺳﺖ .ﺑﻄﻮر ﻣﺜﺎل اﮔﺮ ﺳﺎﻳﺰ ﺟﺪول
Ramin.Samad@yahoo.com
crs
را
WWW.IRANMEET.COM
ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎه راﺑﻄﻪاي 149
100و ﺟﺪول
sec
را 1001ﻓﺮض ﻛﻨﻴﻢ اﻟﮕﻮرﻳﺘﻢ اول 1000000ﺑﺎر ﺑﻴﺸﺘﺮ ﺑﻪ دﻳﺴﻚ
دﺳﺘﻴﺎﺑﻲ ﭘﻴﺪا ﻣﻲﻛﻨﺪ.
ﺗﻤﺮﻳﻨﺎت .1ﭼﻪ اﻣﻜﺎﻧﺎﺗﻲ ﺑﺮاي اﻧﺠﺎم ﻋﻤﻠﻴﺎت در ﻣﺪل راﺑﻄﻪ اي وﺟﻮد دارﻧﺪ ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
150ﭘﺎﻳﮕﺎه دادهﻫﺎ
.2ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪ اي را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .3ﻋﻤﻠﮕﺮﻫﺎي Selectو Projectﭼﻪ ﺗﻔﺎوﺗﻲ ﺑﺎ ﻳﻜﺪﻳﮕﺮ دارﻧﺪ ؟ .4ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ را ﺗﻮﺿﻴﺢ داده و ﺧﻮاص آﻧﺮا ﻧﺎم ﺑﺒﺮﻳﺪ؟ .5ﻋﻤﻠﮕﺮﻫﺎي ﻛﺎر ﺑﺮ روي داده ﻫﺎ را ﻧﺎم ﺑﺒﺮﻳﺪ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
6 ! 01 7 1" 1 89
SQL
ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﺎرﻳﺨﭽﻪ اي از زﺑﺎن
SQL
و دﻻﺋﻞ ﮔﺴﺘﺮدﮔﻲ آن اراﺋﻪ ﺧﻮاﻫﺪ ﺷﺪ.
ﺳﭙﺲ دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ ﻣﺎﻧﻨﺪ ﺗﻌﺮﻳﻒ ﺷﻤﺎ و ﺟﺪول و ...ﻣﻄﺮح ﺷﺪه و در اداﻣﻪ دﺳﺘﻮرات ﻣﺮﺑﻮط ﺑﻪ ﭘﺮس وﺟﻮي دادهﻫﺎ ﺑﻴﺎن ﺧﻮاﻫﺪ ﺷﺪ .ﭘﺲ از ﺗﻮﺿﻴﺢ اﻳﻦ ﮔﺮوه از دﺳﺘﻮرات ،دﺳﺘﻮرات ﻛﺎر ﺑﺎ داده ﻫﺎ ﺷﺮح داده ﺧﻮاﻫﻨﺪ ﺷﺪ.ﭘﺲ از آن ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺗﺮ ﻣﻄﺮح و در اﻳﻦ راﺳﺘﺎ ﻋﻤﻠﮕﺮﻫﺎي ﭘﻴﻮﻧﺪ و ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺎ ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺑﻴﺎن ﺧﻮاﻫﻨﺪ ﺷﺪ .در ﭘﺎﻳﺎن ﻧﻴﺰ درﺑﺎزه دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮزﻫﺎي دﺳﺘﺮﺳﻲ ﺻﺤﺒﺖ ﺧﻮاﻫﺪ ﺷﺪ.
ﻫﺪف رﻓﺘﺎري دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﻣﻘﺪﻣﻪ اي ﺑﺮ
•
دﻻﺋﻞ ﮔﺴﺘﺮدﮔﻲ
•
دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ
•
ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده
•
ﺗﻌﺮﻳﻒ ﺷﻤﺎ
•
ﺗﻌﺮﻳﻒ ﺟﺪول
•
دﺳﺘﻮرات ﭘﺮس و ﺟﻮ )ﻣﺸﺎﻫﺪه( دادهﻫﺎ
SQL SQL DDL
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
152
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
دﺳﺘﻮرات ﻛﺎر ﺑﺮ روي دادهﻫﺎ
•
ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺑﺎ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ
•
ﻋﻤﻠﮕﺮ ﮔﺮوه ﺑﻨﺪي
•
ﻋﻤﻠﮕﺮ ﻣﺮﺗﺐ ﺳﺎزي
•
ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ
•
اﺳﺘﻔﺎده از ﭘﺮس و ﺟﻮﻫﺎي ﺗﻮدرﺗﻮ
•
اﺳﺘﻔﺎده از زﻳﺮﭘﺮﺳﺶﻫﺎ )ﭘﺮﺳﺶﻫﺎي ﻓﺮﻋﻲ(
•
دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮز دﺳﺘﺮﺳﻲ
- 1ﻣﻘﺪﻣﻪاي ﺑﺮ
SQL
ﻳﻚ زﺑﺎن راﺑﻄﻪ اي ﻗﺒﻞ از ﻫﺮ ﭼﻴﺰ ﺑﺎﻳﺪ ﺑﺘﻮاﻧﺪ در ﻣﺤﻴﻂ اﻧﺘﺰاﻋﻲ راﺑﻄﻪ ﻋﻤﻞ ﻧﻤﺎﻳﺪ و ﻃﺒﻴﻌﺘﺎ ﺑﺎﻳﺪ ﺑﺮ اﺳﺎس رﻳﺎﺿﻴﺎت راﺑﻄﻪ اي ﻣﺎﻧﻨﺪ ﺟﺒﺮ راﺑﻄﻪاي اﺳﺘﻮار ﺑﺎﺷﺪ .در اﻳﻦ ﻓﺼﻞ زﺑﺎن
SQL
1
2
ﺑﻌﻨﻮان ﻳﻚ زﺑﺎن راﺑﻄﻪ اي اﺳﺘﺎﻧﺪارد ﺷﺪه و ﺷﺎﻳﺪ ﺑﻌﻨﻮان ﺑﻬﺘﺮﻳﻦ
زﺑﺎن راﺑﻄﻪ اي ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد. اوﻟﻴﻦ ﻧﺴﺨﻪ اﻳﻦ زﺑﺎن ﺑﻌﻨﻮان ﻗﺴﻤﺘﻲ از ﺳﻴﺴﺘﻢ ﺷﺮﻛﺖ
IBM
R
3
در اواﺧﺮ دﻫﻪ 1980ﺗﻮﺳﻂ
ﻃﺮاﺣﻲ ﺷﺪ .از آﻧﺠﺎﺋﻴﻜﻪ ﭘﺲ از ﻣﺪﺗﻲ ﺷﺮﻛﺖﻫﺎ و اﺷﺨﺎص ﻣﺨﺘﻠﻒ ﻫﺮ
ﻛﺪام اﻗﺪام ﺑﻪاﻳﺠﺎد ﻳﻚ ﻧﺴﺨﻪ از زﺑﺎن
SQL
ﺑﺎ اﺳﺎﻣﻲﻣﺨﺘﻠﻒ ﻛﺮدﻧﺪ ،ﻟﺬا در ﺳﺎل 1984
ﻣﻮﺳﺴﻪ اﺳﺘﺎﻧﺪاردﻫﺎي ﻣﻠﻲ آﻣﺮﻳﻜﺎ ) (ANSIو ﺳﺎزﻣﺎن اﺳﺘﺎﻧﺪاردﻫﺎي ﺑﻴﻦ اﻟﻤﻠﻠﻲ )(ISO ﻧﺴﺨﻪ اﺳﺘﺎﻧﺪارد زﺑﺎن
SQL
را اراﺋﻪ ﻛﺮدﻧﺪ و در ﺳﺎل 1987اوﻟﻴﻦ ﻧﺴﺨﻪ اﺳﺘﺎﻧﺪارد اﻳﻦ
زﺑﺎن ﺑﻨﺎم ANSI/ISO SQL-89را ﻛﻪ اﺻﻄﻼﺣﺎ ﺑﻪ آن SQL1ﻣﻲﮔﻔﺘﻨﺪ ،اراﺋﻪ ﻛﺮدﻧﺪ .ﭘﺲ از ﮔﺬﺷﺖ ﭼﻨﺪ ﺳﺎل و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻮﺳﻌﻪ ﺗﻮاﻧﺎﻳﻲﻫﺎ و اﻧﺘﻈﺎرات از اﻳﻦ زﺑﺎن ،ﻧﺴﺨﻪ ﺑﻪ ﻧﺎم
SQL2
SQL-92
ﺗﻮﺳﻂ اﻳﻦ ﻣﻮﺳﺴﻪﻫﺎ اراﺋﻪ ﮔﺮدﻳﺪ .ﺑﺎ ورود ﻣﻔﺎﻫﻴﻢ ﺷﻲء ﮔﺮاﻳﻲ ﺑﻪ ﻣﺤﻴﻂ
ﭘﺎﻳﮕﺎهﻫﺎي داده راﺑﻄﻪاي ،زﺑﺎن
SQL-99
ﻛﻪ ﺑﻪ
SQL3
ﻣﻌﺮوف اﺳﺖ ،ﺗﻮﺳﻂ ﻣﻮﺳﺴﻪﻫﺎي
ﻣﺬﻛﻮر اراﺋﻪ ﮔﺮدﻳﺪ .اﻣﺮوزه ﻧﺴﺨﻪ ﺟﺪﻳﺪي از زﺑﺎن اﺳﺘﺎﻧﺪارد
SQL
ﺑﻨﺎم
SQL-2003
ﻧﻴﺰ
1. St a n d a r d Q u e r y La n gu a ge 2. St a n d a r d R e l a t i o na l La n gu a ge 3. R Sy s t e m
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 153 SQL
اراﺋﻪ ﺷﺪه اﺳﺖ ﻛﻪ ﻫﻨﻮز در ﭘﺎﻳﮕﺎهﻫﺎي داده راﺑﻄﻪاي ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻧﮕﺮﻓﺘﻪ اﺳﺖ. ﻣﻔﺎﻫﻴﻢ اﺻﻠﻲ زﺑﺎن SQLدر ﻛﻠﻴﻪ زﺑﺎنﻫﺎي ﻣﺬﻛﻮر ﻳﻜﺴﺎن ﻫﺴﺘﻨﺪ.
- 2دﻻﻳﻞ ﮔﺴﺘﺮدﮔﻲ
SQL
ﺷﺮﻛﺖ ﻫﺎي ﻓﻌﺎل در زﻣﻴﻨﻪ ﭘﺎﻳﮕﺎهﻫﺎي داده راﺑﻄﻪ اي ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﻴﺎز ﺧﻮد اﻗﺪام ﺑﻪ ﻃﺮاﺣﻲ زﺑﺎﻧﻬﺎي راﺑﻄﻪ اي ﻛﺮده اﻧﺪ ﻛﻪ اﺻﻮﻻ ﻫﻤﮕﻲ از اﺳﺘﺎﻧﺪارد ﻫﺎي ﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻲ ﻛﻨﻨﺪ .اﻳﻦ زﺑﺎن ﻫﺎ ﻣﻔﺎﻫﻴﻢ زﺑﺎن
SQL
ANSI/ISO
را ﺑﺼﻮرت ﻛﺎﻣﻞ ﭘﺸﺘﻴﺒﺎﻧﻲ ﻛﺮده و
ﻋﻼوه ﺑﺮ آن دﺳﺘﻮرات دﻳﮕﺮي ﻧﻴﺰ ﺑﺮاي ﺳﺎﺧﺘﺎر ﺧﻮد دارﻧﺪ .اﻣﺮوزه اﻛﺜﺮﻳﺖ ﭘﺎﻳﮕﺎه ﻫﺎي داده راﺑﻄﻪ اي زﺑﺎن
SQL2
را ﺑﻌﻨﻮان اﺳﺘﺎﻧﺪارد زﺑﺎن ﭘﺎﻳﮕﺎه داده ﺧﻮد اﻧﺘﺨﺎب
ﻛﺮده اﻧﺪ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﭘﻴﺎده ﺳﺎزي زﺑﺎن SQL3ﺑﻌﻨﻮان ﻳﻚ زﺑﺎن راﺑﻄﻪ اي ﺷﻲء ﮔﺮا داراي ﭘﻴﭽﻴﺪﮔﻲ ﻫﺎي ﺧﺎص ﺧﻮد ﻣﻲ ﺑﺎﺷﺪ ،ﻟﺬا اﻣﺮوزه از ﺑﻴﻦ ﭘﺎﻳﮕﺎهﻫﺎي داده راﺑﻄﻪ اي 1
ﺗﻨﻬﺎ ﭘﺎﻳﮕﺎه داده اراﻛﻞ ﻣﺤﺼﻮل ﺷﺮﻛﺖ اراﻛﻞ ،ﻗﺎدر ﺑﻪ ﭘﺸﺘﻴﺒﺎﻧﻲ از زﺑﺎن
SQL3
ﻣﻲ ﺑﺎﺷﺪ .ﺑﺼﻮرت ﻛﻠﻲ ﻣﻲ ﺗﻮان اﻫﻢ دﻻﻳﻞ ﮔﺴﺘﺮدﮔﻲ اﺳﺘﻔﺎده از زﺑﺎن SQLرا ﺑﻪ ﺷﺮح زﻳﺮ ﻋﻨﻮان ﻛﺮد: •
ﻣﻮرد ﻗﺒﻮل ﻫﻤﻪ اﺳﺖ )ﻫﻤﻪ ﻣﺘﺨﺼﺼﻴﻦ از آن اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ و آﻧﺮا ﻗﺒﻮل ﻣﻲﻛﻨﻨﺪ(.
• •
ﺷﺒﻪ روﻳﻪاي اﺳﺖ )زﺑﺎن ﭘﺮس و ﺟﻮﺋﻲ اﺳﺖ(. 2
ﺑﻪ ﺻﻮرت ﺗﻌﺒﻴﻪ ﺷﺪه )ﺗﻮﻛﺎر ( در دﻳﮕﺮ ﻣﺤﻴﻂﻫﺎي ﺑﺮﻧﺎﻣﻪ ﺳﺎزي اﺳﺖ .ﻣﺎﻧﻨﺪ ﻣﺤﻴﻂ
Oracle ،Delphi ،Access
ﺑﺮﺧﻲ اﻣﻜﺎﻧﺎت ﻣﻬﻤﺘﺮ زﺑﺎن
SQL
و....
ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﻨﺪ ﻛﻪ ﺑﻌﻀﻲ از آﻧﻬﺎ در زﺑﺎن
SQL1وﺟﻮد ﻧﺪاﺷﺘﻪ و ﺑﻪ ﻣﺮور ﺑﻪ زﺑﺎنﻫﺎي SQL2و SQL3اﻓﺰوده ﺷﺪه اﻧﺪ: •
دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ
•
دﺳﺘﻮرات ﭘﺮس و ﺟﻮ )ﻣﺸﺎﻫﺪه( دادهﻫﺎ
•
دﺳﺘﻮرات ﻛﺎر ﺑﺮ روي دادهﻫﺎ 1. O R AC LE 2. E mb e d d e d
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
154
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮز دﺳﺘﺮﺳﻲ
•
دﺳﺘﻮرات ﻧﻮﺷﺘﻦ روﻳﻪﻫﺎ و ﺗﻮاﺑﻊ
•
دﺳﺘﻮرات ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ
•
دﺳﺘﻮرات ﻛﻨﺘﺮل ﺗﺮاﻛﻨﺶﻫﺎ
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﭼﻬﺎر دﺳﺘﻪ اول دﺳﺘﻮرات ذﻛﺮ ﺷﺪه ﺗﻘﺮﻳﺒﺎ در ﻫﻤﻪ ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻣﻮﺟﻮد ﻣﻲ ﺑﺎﺷﺪ ﻟﺬا در اداﻣﻪ ﭼﻬﺎر ﺳﺮي دﺳﺘﻮرات اول را ﺑﻪ ﺗﻔﺼﻴﻞ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد .ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده و ﻳﺎ زﺑﺎن ﻫﺎي ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ )ﻛﻪ زﺑﺎن
SQL
را درون ﺧﻮد دارﻧﺪ( ،ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮرات ﻧﻮﺷﺘﻦ روﻳﻪﻫﺎ و ﺗﻮاﺑﻊ ،ﻛﻨﺘﺮل
ﺟﺎﻣﻌﻴﺖ و ﻛﻨﺘﺮل ﺗﺮاﻛﻨﺶ ﻫﺎ را ﻳﺎ ﻧﺪارﻧﺪ و ﻳﺎ در اﺧﺘﻴﺎر ﻛﺎرﺑﺮ ﻗﺮار ﻧﻤﻲ دﻫﻨﺪ .ﻟﺬا اﻳﻦ ﻧﻮع دﺳﺘﻮرات در اﻳﻦ ﻛﺘﺎب ﺗﻮﺿﻴﺢ داده ﻧﻤﻲ ﺷﻮﻧﺪ.
- 3دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ
DDL
1 2
اﻳﻦ دﺳﺘﻮرات در ﺣﺎﻟﺖ ﻛﻠﻲ ﺷﺎﻣﻞ ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده ،ﺗﻌﺮﻳﻒ ﺷﻤﺎ ،ﺗﻌﺮﻳﻒ 3
4
ﻛﺎرﺑﺮ و ﺗﻌﺮﻳﻒ ﺟﺪاول اﻃﻼﻋﺎﺗﻲ و دﻳﺪهﻫﺎ ﻣﻲﺑﺎﺷﻨﺪ.
1- 3ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎهداده ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ: CREATE DATABASE database -name
ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ دﺳﺘﻮر ﭘﺎﻳﮕﺎه داده ﻣﻮرد ﻧﻈﺮ را اﻳﺠﺎد ﻣﻲﻧﻤﺎﺋﻴﻢ ﻛﻪ ﺧﻮد ﭘﺎﻳﮕﺎه داده ﻣﻲ ﺗﻮاﻧﺪ ﺷﺎﻣﻞ ﺟﺪاول ﻣﺘﻌﺪدي ﺑﺎﺷﺪ .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺗﻌﺮﻳﻒ ﭘﺎﻳﮕﺎه داده اﺳﺎﺳﺎً داراي ﭘﺎراﻣﺘﺮﻫﺎي ﺑﺴﻴﺎري اﺳﺖ ﻛﻪ ﻣﻮﺿﻮع اﻳﻦ ﻛﺘﺎب ﻧﻴﺴﺖ.
1. D at a D ef i n i t i o n La n gu a ge 2. Sc h e ma 3. U se r D ef i n i t i o n 4. T ab l e De f i n i t i o n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
155 SQL آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي
ﺗﻌﺮﻳﻒ ﺷﻤﺎ2- 3 ﺗﻌﺮﻳﻒ ﺟﺪاول و ﺗﻌﺮﻳﻒ دﻳﺪ ﻫﺎ و،اﻳﻦ ﺗﻌﺮﻳﻒ در ﺣﺎﻟﺖ ﻛﻠﻲ ﺷﺎﻣﻞ ﺗﻌﺮﻳﻒ ﻛﺎرﺑﺮ ﺑﺴﻴﺎري ﻣﻔﺎﻫﻴﻢ دﻳﮕﺮ ﻣﻲ ﺑﺎﺷﺪ و ﺳﺎﺧﺘﺎر آن ﺑﺴﺘﻪ ﺑﻪ ﭘﺎﻳﮕﺎه داده اﻧﺘﺨﺎب ﺷﺪه ﻣﺘﻔﺎوت آﻣﺪه اﺳﺖ( ﺑﻪ
View
و
Table
ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر )ﻛﻪ در آن ﺻﺮﻓﺎ ﺗﻌﺎرﻳﻒ.ﻣﻲ ﺑﺎﺷﺪ .ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ
Schema::= CREATE SCHEMA AUTORIZATION User { Schema -element -list } Schema -element::= base -table definition | View definition | grant -operation
:ﺟﻬﺖ ﺣﺬف ﻳﻚ ﺷﻤﺎ از ﻋﺒﺎرت زﻳﺮ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد DROP SCHEMA Name [ Restrict | Cascade ]
ﺟﺪول3- 3 ﺗﻌﺮﻳﻒ ﺟﺪول1- 3- 3 ﺷﻜﻞ ﻛﻠﻲ.ﺑﺎ اﻳﻦ دﺳﺘﻮر اﻣﻜﺎن ﺗﻌﺮﻳﻒ ﺟﺪاول اﻃﻼﻋﺎﺗﻲ ﺑﺮاي ﻛﺎرﺑﺮ ﻓﺮاﻫﻢ ﻣﻲ ﺷﻮد :دﺳﺘﻮر ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ Base -table definition::= CREATE TABLE base -table (base -table -element commalist) Base -table -element::= column -definition | Unique constraint -definition Column -definition::= column data -type [ NOT NULL [ UNIQUE ] ] Unique Constraint -definition::= UNIQUE (Column -Cammalist)
ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲ ﺧﻮاﻫﻴﻢ ﻳﻚ ﺟﺪول ﺷﺎﻣﻞ ﺷﻤﺎره و ﻧﺎم ﻗﺎره ﻫﺎي ﻣﺨﺘﻠﻒ : ﻋﺒﺎرت اﻳﺠﺎد ﻛﻨﻨﺪه ﺟﺪول ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ.ﺟﻬﺎن درﺳﺖ ﻛﻨﻴﻢ CREATE TABLE Continent (CntId int , CntName char(30))
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
156
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺣﺎل ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﻋﺒﺎرت ﻣﺬﻛﻮر را ﻛﺎﻣﻞ ﺗﺮ ﻛﻨﻴﻢ ﻻزم اﺳﺖ ﻣﺤﺪودﻳﺖ ﻫﺎﻳﻲ را ﺑﻪ آن اﺿﺎﻓﻪ ﻧﻤﺎﻳﻴﻢ. CREATE TABLE Continent (CntId int Unique, )CntName char (30) NOT NULL
ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در
SQL -2
ﻛﻠﻤﺎت ﻛﻠﻴﺪي دﻳﮕﺮي ﺑﻪ ﻋﺒﺎرت اﻳﺠﺎد ﺟﺪول
اﻓﺰوده ﺷﺪهاﻧﺪ ﺑﮕﻮﻧﻪاﻳﻜﻪ اﻣﻜﺎن اﻓﺰودن ﻣﻘﺪار اوﻟﻴﻪ ﺑﻪ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ و ﻳﺎ اﻣﻜﺎن اﻓﺰودن ﻣﺤﺪودﻳﺖﻫﺎ ﺑﻪ ﺟﺪول در ﻫﻨﮕﺎم اﻳﺠﺎد ﺟﺪول ﻓﺮاﻫﻢ ﺷﺪه اﺳﺖ .ﺑﺮاي ﻣﺜﺎل ﺑﺎ اﺳﺘﻔﺎده از ﻛﻠﻤﻪ ﻛﻠﻴﺪي Defaultدر ﺟﻠﻮي ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ ﻣﻲﺗﻮان ﻣﻘﺪار ﭘﻴﺶ ﻓﺮض را ﺑﺮاي آن ﺳﺘﻮن ﺗﻌﻴﻴﻦ ﻧﻤﻮد .در ﻋﺒﺎرت زﻳﺮ ﻣﻘﺪار ﭘﻴﺶ ﻓﺮض ﺳﺘﻮن ﺳﺎل ﺑﺮاﺑﺮ ﺑﺎ 1384 در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ: CREATE TABLE Info (InfoId int unique, InfoYear int default 1384, )InfoName char (50) NOT NULL
ﺗﻤﺮﻳﻦ: ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده داﻧﺸﮕﺎه را ﺑﻪ ﺻﻮرت زﻳﺮ در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ،ﻃﺮاﺣﻲ ﺑﻪ زﺑﺎن
SQL
آﻧﺮا ﻛﺎﻣﻞ ﻧﻤﺎﺋﻴﺪ: )Stud (S#, Sname, S -add, S -tel )Prof (P#, Pname, P -add, P -off )Crs (C#, Cname, unit )Enroll(S#, C#, Sec#, term, score )Sec (C#, Sec#, term, time, place, P#
2- 3- 3اﺻﻼح ﺳﺎﺧﺘﺎر ﺟﺪول ﻳﻜﻲ از ﻣﻠﺰوﻣﺎت اﺳﺎﺳﻲ در ﻣﻮرد ﺟﺪاول ،اﻣﻜﺎن اﺻﻼًح ﺳﺎﺧﺘﺎر ﺟﺪاول و ﺣﺬف و اﺿﺎﻓﻪ ﻛﺮدن ﺳﺘﻮﻧﻬﺎي ﻣﺮﺑﻮط ﺑﻪ آن ﻣﻲ ﺑﺎﺷﺪ .ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ در ﻣﻮاﻗﻌﻲ ﻻزم ﻣﻲ ﺷﻮد ﺗﺎ ﺳﺘﻮﻧﻬﺎي ﺟﺪﻳﺪي )ﺻﻔﺎت ﺧﺎﺻﻪ( ﺑﻪ ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ ﻛﻪ از ﻗﺒﻞ ﻃﺮاﺣﻲ ﻛﺮده اﻳﻢ اﺿﺎﻓﻪ ﮔﺮدد ﻳﺎ ﺳﺘﻮن ﻫﺎﻳﻲ از ﺟﺪول ﻣﺬﻛﻮر ﺣﺬف ﮔﺮدد .ﻫﻤﭽﻨﻴﻦ اﻳﻦ اﻣﻜﺎن ﻧﻴﺰ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 157 SQL
وﺟﻮد دارد ﻛﻪ در ﻣﻮاردي ﺗﺸﺨﻴﺺ دﻫﻴﻢ ﻛﻪ ﻧﻮع داده ﻣﺮﺑﻮط ﺑﻪ ﻳﻚ ﺳﺘﻮن ﺑﺎﻳﺪ ﺗﻐﻴﻴﺮ ﻳﺎﺑﺪ .ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر از دﺳﺘﻮر
ALTER TABLE
اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد ﻛﻪ ﺳﺎﺧﺘﺎر
ﻛﻠﻲ اﻳﻦ دﺳﺘﻮر در ذﻳﻞ آﻣﺪه اﺳﺖ: ALTER TABLE tablename } { ADD [COLUMN] column definition | { ALTER [COLUMN] column name }} { SET DEFAULT default option } | { DROP DEFAULT } | { DROP [COLUMN] column name } | { ADD table constraint definition ;} | { DROP CONSTRAINT constraint name
ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد ﻟﻴﺴﺖ ﺗﻐﻴﻴﺮات ﻗﺎﺑﻞ اﻋﻤﺎل ﺑﺮ روي ﻳﻚ ﺟﺪول ﻋﺒﺎرﺗﻨﺪ از: •
اﻓﺰودن ﻳﻚ ﺳﺘﻮن ﺑﻪ ﺟﺪول
•
ﺣﺬف ﻳﻚ ﺳﺘﻮن از ﺟﺪول
•
اﻓﺰودن ﻳﻚ ﻣﺤﺪودﻳﺖ ﺑﻪ ﺟﺪول
•
ﺣﺬف ﻳﻚ ﻣﺤﺪودﻳﺖ از ﺟﺪول
•
اﻓﺰودن ﻣﻘﺪار اوﻟﻴﻪ ﺑﻪ ﻳﻚ ﺳﺘﻮن
•
ﺣﺬف ﻣﻘﺪار اوﻟﻴﻪ ﻳﻚ ﺳﺘﻮن
ﻣﻤﻜﻦ اﺳﺖ در اﻳﻨﺠﺎ اﻳﻦ ﺳﺌﻮال ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ ﭼﮕﻮﻧﻪ ﻣﻲ ﺗﻮان ﻧﻮع داده اي ﻳﻚ ﺳﺘﻮن را ﺗﻐﻴﻴﺮ داد .در اﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ اﺷﺎره ﺷﻮد ﻛﻪ ﺗﻐﻴﻴﺮ ﻧﻮع داده اي ﻳﻚ ﺳﺘﻮن اﺳﺎﺳﺎً در ﺑﺴﻴﺎري از ﭘﺎﻳﮕﺎه ﻫﺎي داده در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻧﺸﺪه اﺳﺖ و اﻳﻦ ﻣﻬﻢ ﺑﻮاﺳﻄﻪ ﻧﻮع ﻗﺮار ﮔﺮﻓﺘﻦ ﻣﻘﺎدﻳﺮ ﻣﺮﺑﻮط ﺑﻪ ﺳﺘﻮن ﻫﺎ در ﻓﻀﺎي ﻓﻴﺰﻳﻜﻲ ﺣﺎﻓﻈﻪ ﻣﻲ ﺑﺎﺷﺪ ﺑﮕﻮﻧﻪ اﻳﻜﻪ ﺣﺘﻲ در ﺑﻌﻀﻲ ﭘﺎﻳﮕﺎه ﻫﺎي داده اﻣﻜﺎن ﺗﻐﻴﻴﺮ ﺗﺮﺗﻴﺐ ﺳﺘﻮنﻫﺎ در ﻳﻚ ﺟﺪول وﺟﻮد ﻧﺪارد .اﻣﻜﺎن ﺗﻐﻴﻴﺮ ﻧﻮع داده ﻣﺮﺑﻮط ﺑﻪ ﻳﻚ ﺳﺘﻮن ﻓﻘﻂ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده و ﺑﺼﻮرت ﻣﻨﻄﻘﻲ ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ .ﺣﺎل در اداﻣﻪ ﺑﻪ ﻣﻨﻈﻮر آﺷﻨﺎﻳﻲ ﺑﻬﺘﺮ ﺑﺎ اﻳﻦ ﻧﻮع دﺳﺘﻮر ﭼﻨﺪ ﻣﺜﺎل ﻣﺨﺘﻠﻒ را ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﻴﻢ .ﻓﺮض ﻛﻨﻴﺪ ﻣﻲ ﺧﻮاﻫﻴﻢ ﺳﺘﻮﻧﻲ ﺑﻪ ﻧﺎم
fname
و از ﻧﻮع رﺷﺘﻪ اي را ﺑﻪ ﺟﺪوﻟﻲ ﺑﻪ ﻧﺎم
SalesPeople
SQLﻣﺮﺑﻮﻃﻪ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد:
Ramin.Samad@yahoo.com
اﺿﺎﻓﻪ ﻧﻤﺎﻳﻴﻢ .ﻋﺒﺎرت
WWW.IRANMEET.COM
158
ﭘﺎﻳﮕﺎه دادهﻫﺎ
;)ALTER TABLE SalesPeople ADD fname char(10
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻧﻤﺎﻳﻴﺪ ﻛﻠﻤﻪ ﻛﻠﻴﺪي COLUMNﺑﻌﺪ از ﻛﻠﻤﻪ ADDﻧﻮﺷﺘﻪ ﻧﺸﺪه اﺳﺖ .در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي داده اﺳﺘﻔﺎده از ﻛﻠﻤﻪ ﻛﻠﻴﺪي
COLUMN
در اﻳﻦ
ﺷﺮاﻳﻂ اﺟﺒﺎري ﻧﻤﻲﺑﺎﺷﺪ ،ﺣﺎل آﻧﻜﻪ در ﺑﻌﻀﻲ دﻳﮕﺮ اﺟﺒﺎري اﺳﺖ .ﺣﺎل ﺑﻪ ﻣﺜﺎل دﻳﮕﺮي ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ ﻛﻪ در آن ﻣﻘﺪار ﭘﻴﺶ ﻓﺮض ﺑﺮاي ﻳﻚ ﺳﺘﻮن ﭘﺎﻳﮕﺎهداده ﺗﻌﺮﻳﻒ ﻣﻲﺷﻮد. ALTER TABLE Salespeople ALTER COLUMN city ;'ADD DEFAULT 'London
3- 3- 3ﺗﻐﻴﻴﺮ ﻧﻮع دادهﻫﺎي ﻳﻚ ﺳﺘﻮن ﺟﺪول ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺑﺎﻻ اﺷﺎره ﺷﺪ ﺗﻐﻴﻴﺮ ﻧﻮع داده ﻳﻚ ﺳﺘﻮن از ﺟﺪول در ﻫﺮ ﭘﺎﻳﮕﺎه داده اي اﻣﻜﺎن ﭘﺬﻳﺮ ﻧﻴﺴﺖ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ اﻳﻦ دﺳﺘﻮر در ﺑﻌﻀﻲ ﭘﺎﻳﮕﺎهﻫﺎي داده ﻓﺮاﻫﻢ ﺷﺪه اﺳﺖ ﻟﺬا ﺷﻜﻞ دﺳﺘﻮر ﻣﺬﻛﻮر در ذﻳﻞ آﻣﺪه اﺳﺖ. ALTER TABLE tablename )> MODIFY (< col -name > < new type
ﻣﺜﺎل :اﻳﻦ دﺳﺘﻮر ﺗﻌﺪاد ﻛﺎراﻛﺘﺮﻫﺎي ﺻﻔﺖ درس را ﺑﻪ 40ﺗﻐﻴﻴﺮ ﻣﻲ دﻫﺪ. ALTER TABLE crs ;))MODIFY (Cname char(40
ﺗﻮﺟﻪ :ﺗﻐﻴﻴﺮ ﻧﻮع داده در اﻛﺜﺮ SQLﻫﺎ ﻏﻴﺮ ﻣﺠﺎز اﺳﺖ و در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي داده ﻗﺒﻞ از ﺗﺎﻳﻴﺪ ﻋﻤﻞ ﻣﺬﻛﻮر اﻗﺪام ﺑﻪ ﺑﺮرﺳﻲ ﻣﺤﺘﻮاي دادهﻫﺎي ﺳﺘﻮن ﻣﻮرد ﻧﻈﺮ ﻣﻲ ﮔﺮدد و در ﺻﻮرت ﻗﺎﺑﻞ ﻗﺒﻮل ﺑﻮدن ﻋﻤﻞ ﺗﺒﺪﻳﻞ ﻧﻮع اﻳﻦ درﺧﻮاﺳﺖ ﺗﺎﺋﻴﺪ ﻣﻲ ﮔﺮدد .ﺑﻌﻨﻮان ﻣﺜﺎل ﺗﻐﻴﻴﺮ ﻧﻮع داده اي از ﻛﺎراﻛﺘﺮ ﺑﻪ ﻋﺪد ﻓﻘﻂ درﺻﻮرﺗﻴﻜﻪ ﺗﻤﺎﻣﻲ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن از ﻧﻮع ﻋﺪد ﺑﺎﺷﻨﺪ اﻣﻜﺎن ﭘﺬﻳﺮ اﺳﺖ و ﭼﻨﺎﻧﭽﻪ ﺣﺘﻲ ﻳﻚ ﻣﻘﺪار ﺷﺎﻣﻞ ﺣﺮوف ﺑﺎﺷﺪ، اﻧﺠﺎم اﻳﻦ ﻛﺎر ﻏﻴﺮ ﻣﻤﻜﻦ اﺳﺖ.
4- 3- 3ﺣﺬف ﻳﻚ ﺟﺪول در ﻣﻮاردي ﻣﻤﻜﻦ اﺳﺖ ﻻزم ﺑﺎﺷﺪ ﻳﻚ ﺟﺪول از ﭘﺎﻳﮕﺎه داده ﺣﺬف ﮔﺮدد .ﺑﺮاي اﻧﺠﺎم
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 159 SQL
اﻳﻨﻜﺎر دﺳﺘﻮر زﻳﺮ ﻣﻮﺟﻮد ﻣﻲﺑﺎﺷﺪ .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ در ﻫﻨﮕﺎم ﺣﺬف ﻳﻚ ﺟﺪول ﺑﺎﻳﺪ ﺑﺮرﺳﻲ ﮔﺮدد ﻛﻪ ﭼﻨﺎﻧﭽﻪ ﺟﺪاول دﻳﮕﺮي ﺑﻪ اﻳﻦ ﺟﺪول ﻣﺮﺗﺒﻂ ﺑﺎﺷﻨﺪ ،ﭼﻪ ﻋﻤﻠﻲ ﺑﺎﻳﺪ ﺑﺮروي ﺟﺪاول ﻣﺮﺗﺒﻂ اﻧﺠﺎم ﮔﻴﺮد و آﻳﺎ اﺳﺎﺳﺎً اﻣﻜﺎن ﺣﺬف ﺟﺪول وﺟﻮد دارد ﻳﺎ ﺧﻴﺮ .ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ: ;] DROP TABLE tablename [ RESTRICT | CASCADE
-4دﺳﺘﻮرات ﭘﺮس و ﺟﻮ )ﻣﺸﺎﻫﺪه( دادهﻫﺎ ﻳﻜﻲ از ﻣﻬﻤﺘﺮﻳﻦ ﺧﻮاﺳﺘﻪ ﻫﺎي ﻛﺎرﺑﺮان ﻫﺮ ﭘﺎﻳﮕﺎهداده ،اﻣﻜﺎن ﺑﺎزﻳﺎﺑﻲ داده ﻫﺎي ﺛﺒﺖ ﺷﺪه در ﺟﺪاول ﻣﻲ ﺑﺎﺷﺪ .ﺑﻪ اﻳﻦ ﻣﻨﻈﻮر دﺳﺘﻮراﺗﻲ اراﺋﻪ ﺷﺪه اﻧﺪ ﻛﻪ اﻣﻜﺎن ﺑﺎزﻳﺎﺑﻲ ﺳﻄﺮﻫﺎ ﻳﺎ ﺳﺘﻮن ﻫﺎﻳﻲ از ﻳﻚ ﺟﺪول و ﻳﺎ ﭼﻨﺪ ﺟﺪول اﻃﻼﻋﺎﺗﻲ را ﻓﺮاﻫﻢ ﻣﻲآورﻧﺪ ﻛﻪ 1
ﺑﻪ آﻧﻬﺎ اﺻﻄﻼﺣﺎ زﺑﺎن ﭘﺮس و ﺟﻮي داده ﻫﺎ ﻣﻲ ﮔﻮﻳﻨﺪ .ﻣﻬﻤﺘﺮﻳﻦ دﺳﺘﻮر از اﻳﻦ ﻧﻮع دﺳﺘﻮرات دﺳﺘﻮر زﺑﺎن
SQL
SELECT
ﻣﻲ ﺑﺎﺷﺪ .اﻳﻦ دﺳﺘﻮر ﻳﻜﻲ از ﭘﻴﭽﻴﺪه ﺗﺮﻳﻦ دﺳﺘﻮرات در
ﻣﻲ ﺑﺎﺷﺪ و ﺧﻮد ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﺷﺎﻣﻞ دﺳﺘﻮرات ﻣﺘﻨﻮﻋﻲ ﻣﻲ ﺑﺎﺷﺪ .ﺷﻜﻞ ﻛﻠﻲ
دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ: ]SELECT [DISTINCT { value expression } … [ AS column name ] } , }*| { qualifier. *| … FROM { { table name [ AS ] [ correlation name ] } , ] [ WHERE predicate [ GROUP BY [ table name | correlation name ].column name ] ] [ COLLATE collation name ] [ HAVING predicate ] [ { UNION | INTERSECT | EXCEPT } [ ALL }Select statement | { TABLE table name ] | table value constructor ; ] } … [ ORDER BY { { out put column | positive integer } [ ASC | DESC] ,
ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﻋﺒﺎرت ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲﮔﺮدد اﻳﻦ دﺳﺘﻮر ﺑﺴﻴﺎر ﭘﻴﭽﻴﺪه و ﻛﻠﻲ
ﻣﻲﺑﺎﺷﺪ و اﺳﺎﺳﺎً داراي زﻳﺮ دﺳﺘﻮراﺗﻲ ﻣﻲﺑﺎﺷﺪ ﻛﻪ در ﺑﺤﺚ اﻳﻦ ﻛﺘﺎب ﻧﻤﻲﮔﻨﺠﺪ .ﺑﺮاي )1. D at a Q ue r y La n gu a ge ( D Q L
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
160
ﭘﺎﻳﮕﺎه دادهﻫﺎ
راﺣﺘﻲ ﺑﻴﺸﺘﺮ ﺧﻮاﻧﻨﺪﮔﺎن ،ﺳﻌﻲ ﻣﻲﻛﻨﻴﻢ در اﺑﺘﺪا ﻣﺜﺎﻟﻬﺎي ﺳﺎده ﺗﺮ در ﻣﻮرد اﻳﻦ دﺳﺘﻮر را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار دﻫﻴﻢ و در اداﻣﻪ ﻫﻤﻴﻦ ﻓﺼﻞ در ﺧﺼﻮص ﺣﺎﻻت ﭘﻴﭽﻴﺪه ﺗﺮ اﻳﻦ دﺳﺘﻮر و ﻃﺮﻳﻘﻪ ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎ از ﭼﻨﺪﻳﻦ ﺟﺪول اﻃﻼﻋﺎﺗﻲ را ﺷﺮح ﺧﻮاﻫﻴﻢ داد .ﺣﺎﻟﺖ ﺳﺎده ﺷﺪه دﺳﺘﻮر ﻣﺬﻛﻮر ﺑﺼﻮرت زﻳﺮ ﻗﺎﺑﻞ ﻧﻤﺎﻳﺶ اﺳﺖ ﻛﻪ ﺑﻪ آن اﺻﻄﻼﺣﺎ
SFW
ﻧﻴﺰ
ﻣﻲﮔﻮﻳﻨﺪ ﻛﻪ ﺣﺮوف اول ﻫﺮ ﻗﺴﻤﺖ ﻣﻲﺑﺎﺷﺪ. … SELECT column name , FROM table name WHERE criteria
ﻛﻪ در آن
column name
ﻧﺎم ﺳﺘﻮن ﻫﺎ،
table name
ﻧﺎم ﺟﺪول و
criteria
ﺷﺮط ﻣﻮرد
ﻧﻈﺮ ﺑﺮاي اﻧﺘﺨﺎب و ﺑﺎزﻳﺎﺑﻲ رﻛﻮردﻫﺎ ﻣﻲ ﺑﺎﺷﺪ. در ﺣﺎﻟﺖ ﺑﺴﻴﺎر ﺳﺎده ﻣﻲﺗﻮان ﻓﺮض ﻛﺮد ﻛﻪ ﻣﻲﺧﻮاﻫﻴﻢ رﻛﻮردﻫﺎي ﻳﻚ ﺟﺪول )ﻣﺜﻼ ﺟﺪول اﻃﻼﻋﺎت ﭘﺮﺳﻨﻠﻲ (EMPرا ﺑﺎزﻳﺎﺑﻲ ﻧﻤﺎﻳﻴﻢ .ﻓﺮض ﻛﻨﻴﻢ ﺟﺪول EMPداراي ﺳﺎﺧﺘﺎر زﻳﺮ ﺑﺎﺷﺪ و ﺑﻐﻴﺮ از ﺻﻔﺖ ﺧﺎﺻﻪ
EMPNO
ﻛﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ﻣﻲﺑﺎﺷﺪ ﺳﺎﻳﺮ ﻣﻘﺎدﻳﺮ
ﻣﻲﺗﻮاﻧﻨﺪ ﻣﻘﺪار NULLرا ﺑﭙﺬﻳﺮﻧﺪ: ﻧﺎم ﺻﻔﺖ ﺧﺎﺻﻪ
Name
ﺷﻤﺎره ﭘﺮﺳﻨﻠﻲ
EMPNO
ﻧﺎم ﭘﺮﺳﻨﻞ
ENAME
ﺷﻐﻞ
JOB
ﺷﻤﺎره ﻣﺪﻳﺮ ﺗﺎرﻳﺦ اﺳﺘﺨﺪام
MGR HIREDATE
در ﻋﺒﺎرت ذﻳﻞ ﻣﻲﺧﻮاﻫﻴﻢ ﻛﻠﻴﻪ رﻛﻮردﻫﺎي ﺟﺪول را ﺑﺎزﻳﺎﺑﻲ ﻧﻤﺎﻳﻴﻢ .ﻋﺒﺎرت ﻣﻮرد ﻧﻈﺮ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ: * Select ;From EMP
ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﻋﺒﺎرت ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد ﻋﻼﻣﺖ
*
ﺑﻪ ﻣﻌﻨﺎي اﻧﺘﺨﺎﺑﻲ
ﺗﻤﺎﻣﻲ ﺳﺘﻮن ﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﺳﻄﺮﻫﺎ ﻣﻲ ﺑﺎﺷﺪ .اﻳﻦ دﺳﺘﻮر ﻣﻲ ﺗﻮاﻧﺪ ﺑﻪ ﺷﺮح ذﻳﻞ ﻧﻴﺰ ﺑﺎﺷﺪ:
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 161 SQL *Select EMP. ; From EMP
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﮔﺮدد در اﻳﻦ دﺳﺘﻮر ﻗﺒﻞ از اﺳﺘﻔﺎده از ﻋﻼﻣﺖ * ،ﻧﺎم ﺟﺪول ﻧﻴﺰ ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ ﻛﻪ در اﻳﻦ ﻣﻮرد ﺑﻌﺪا ﺗﻮﺿﻴﺢ ﺧﻮاﻫﻴﻢ داد .ﺣﺎل در اداﻣﻪ ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ ﻓﻘﻂ ﺳﺘﻮنﻫﺎي ﺷﻤﺎره ﭘﺮﺳﻨﻠﻲ و ﻧﺎم ﭘﺮﺳﻨﻞ را ﺑﺮاي ﺗﻤﺎﻣﻲﭘﺮﺳﻨﻞ ﺑﺎزﻳﺎﺑﻲ ﻧﻤﺎﻳﻴﻢ .ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ: Select empno , ename ; From EMP
ﻣﻲﺗﻮاﻧﺴﺘﻴﻢ ﻗﺒﻞ از اﺳﺎﻣﻲﺳﺘﻮﻧﻬﺎ ،ﻧﺎم ﺟﺪول را ﻧﻴﺰ ﺑﻜﺎر ﺑﺒﺮﻳﻢ ﻛﻪ از اﻳﻦ ﻛﺎر اﺟﺘﻨﺎب ﻛﺮدﻳﻢ .ﺣﺎل ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ ﺑﺪاﻧﻴﻢ ﻛﻪ اﮔﺮ ﺣﻘﻮق ﻫﺮ ﻳﻚ از ﭘﺮﺳﻨﻞ را %10اﻓﺰاﻳﺶ دﻫﻴﻢ ﭼﻪ ﻣﻴﺰاﻧﻲ ﺣﻘﻮق ﺑﺮاي ﻫﺮ ﻳﻚ از ﭘﺮﺳﻨﻞ ﺧﻮاﻫﻴﻢ داﺷﺖ .ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد: Select empno,ename,sall * 0.1 ;From emp
ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﻋﺒﺎرت را واﺿﺢ ﺗﺮ ﺑﻴﺎن ﻛﻨﻴﻢ ﻻزم اﺳﺖ ﻛﻪ ﺑﺮاي ﻋﺒﺎرت 0.1
ﻳﻚ ﻧﺎم ﻣﺴﺘﻌﺎر ﻣﺎﻧﻨﺪ
NEWSALL
* sall
در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ ﻛﻪ ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ
ﺧﻮاﻫﺪ ﺑﻮد. Select empno,ename,sall * 0.1 as newsall ;From emp
ﺣﺎل ﺑﺮاي ﻣﺸﺨﺺ ﺷﺪن ﻋﺒﺎرت
WHERE
)ﺑﻴﺎن ﻛﻨﻨﺪه ﺷﺮط( ﻣﺜﺎل دﻳﮕﺮي را
ﻣﻄﺮح ﻣﻲﻛﻨﻴﻢ .ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ اﻃﻼﻋﺎت ﻛﺴﺎﻧﻲ را ﻣﺸﺎﻫﺪه ﻛﻨﻴﻢ ﻛﻪ ﻣﻴﺰان ﺣﻘﻮق آﻧﻬﺎ از 10000ﺗﻮﻣﺎن ﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ .ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ. * SELECT FROM emp ; WHERE sall > 10000
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
162
ﭘﺎﻳﮕﺎه دادهﻫﺎ
در اﻳﻦ ﻋﺒﺎرت ﺟﻠﻮي ﻛﻠﻤﻪ
WHERE
ﻋﺒﺎرت ﺷﺮط ﻣﻄﺮح ﺷﺪه اﺳﺖ .ﭼﻨﺎﻧﭽﻪ
ﺻﺮﻓﺎ ﺑﻌﻀﻲ از ﺻﻔﺎت ﺧﺎﺻﻪ ﻣﻄﺮح ﺑﺎﺷﻨﺪ ﻣﻲﺗﻮان ﺑﺠﺎي اﺳﺘﻔﺎده از ﻋﻼﻣﺖ *، اﺳﺎﻣﻲﺳﺘﻮﻧﻬﺎ )ﺻﻔﺎت ﺧﺎﺻﻪ( را ﻧﻮﺷﺖ. ﻳﻜﻲ از ﻧﻜﺎت ﺑﺴﺎﻳﺮ ﻣﻬﻢ اﻳﻦ اﺳﺖ ﻛﻪ ﻻزم اﺳﺖ ﺗﺮﺗﻴﺐ ﺳﻪ ﻛﻠﻤﻪ FROM
و
WHERE
SELECT
و
رﻋﺎﻳﺖ ﺷﻮد .ﭼﻨﺎﻧﭽﻪ ﺗﺮﺗﻴﺐ ﻣﺬﻛﻮر رﻋﺎﺑﺖ ﻧﮕﺮدد ﺳﻴﺴﺘﻢ ﺑﺎ ﭘﻴﻐﺎم
ﺧﻄﺎ ﻣﻮاﺟﻬﻪ ﻣﻲﮔﺮدد .ﻫﻤﭽﻨﻴﻦ ﻣﻲﺗﻮان در ﻋﺒﺎرات ،ﻛﻠﻤﻪ WHEREرا در ﺻﻮرت ﻧﺒﻮدن ﺷﺮط ﺑﻜﺎر ﻧﺒﺮد ،وﻟﻲ ﺣﺘﻤﺎ ﺑﺎﻳﺪ ﻛﻠﻤﺎت ﻛﻠﻴﺪي SELECTو FROMدر ﻋﺒﺎرت ﺑﺎﺷﻨﺪ. ﺗﺬﻛﺮ :در ﺑﻌﻀﻲ ﺷﺮاﻳﻂ اﻣﻜﺎن دارد ﻛﻪ ﻛﻪ ﻛﺎرﺑﺮ ﺑﺨﻮاﻫﺪ ﻣﻘﺪاري را در ﺳﻴﺴﺘﻢ ﻣﺤﺎﺳﺒﻪ ﻧﻤﺎﻳﺪ ﻛﻪ اﺻﻼً ارﺗﺒﺎﻃﻲ ﺑﺎ ﻫﻴﭻ ﺟﺪوﻟﻲ ﻧﺪارد .از آﻧﺠﺎﻳﻴﻜﻪ ﻻزم اﺳﺖ ﺣﺘﻤﺎ ﺑﻌﺪ از ﻛﻠﻤﻪ
FROM
ﻧﺎم ﺟﺪول ذﻛﺮ ﮔﺮدد ،ﻟﺬا در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻳﻚ
ﺟﺪول ﻓﺮﺿﻲ ﺗﻌﺮﻳﻒ ﺷﺪه اﺳﺖ .ﻣﺜﻼ در ﭘﺎﻳﮕﺎه داده
ORACLE
ﻧﺎم ﺟﺪول ﻓﺮﺿﻲ
DUALﻣﻲ ﺑﺎﺷﺪ .ﺑﻪ ﻋﺒﺎرت ذﻳﻞ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ: SELECT 50 * 147 ; FROM DUAL
ﺗﺎ اﻳﻦ ﻣﺮﺣﻠﻪ از دﺳﺘﻮر
SELECT
ﺑﺼﻮرت ﺑﺴﻴﺎر ﺳﺎده ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﮔﺮﻓﺖ.
ﻗﺴﻤﺖﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺗﺮ اﻳﻦ دﺳﺘﻮر در اداﻣﻪ ﻫﻤﻴﻦ ﻓﺼﻞ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﺪ ﮔﺮﻓﺖ. در اداﻣﻪ دﺳﺘﻮرات ﻛﺎر ﺑﺮ روي دادهﻫﺎ را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد.
- 5دﺳﺘﻮرات ﻛﺎر ﺑﺮ روي دادهﻫﺎ ﻳﻜﻲ از ﺑﺪﻳﻬﻲ ﺗﺮﻳﻦ ﻧﻴﺎزﻫﺎ ﺑﺮاي ﻛﺎرﺑﺮان ،وﺟﻮد اﻣﻜﺎن ﻛﺎر ﺑﺮ روي داده ﻫﺎ ﻣﻲ ﺑﺎﺷﺪ 1
ﻛﻪ ﻣﺘﻨﺎﺳﺐ ﺑﺎ اﻳﻦ ﻧﻴﺎز دﺳﺘﻮراﺗﻲ ﺗﺤﺖ ﻋﻨﻮان زﺑﺎن ﻛﺎر ﺑﺎ داده ﻫﺎ ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ. اﻳﻦ ﻋﻤﻠﻴﺎت ﻣﻲ ﺗﻮاﻧﺪ ﺷﺎﻣﻞ ﻣﻮارد زﻳﺮ ﺑﺎﺷﺪ: •
- INSERTاﻓﺰودن رﻛﻮرد )ﻫﺎﻳﻲ( ﺑﻪ ﻳﻚ ﺟﺪول
•
- UPDATEاﺻﻼًح اﻃﻼﻋﺎت ﻣﻮﺟﻮد در ﻳﻚ ﺟﺪول
•
- DELETEﺣﺬف رﻛﻮرد )ﻫﺎﻳﻲ( از ﺟﺪول
ﻫﺮ ﻳﻚ از اﻳﻦ ﻋﻤﻠﻴﺎت داراي دﺳﺘﻮرات ﺧﺎص ﺧﻮد ﻣﻲ ﺑﺎﺷﻨﺪ ﻛﻪ در اداﻣﻪ ﺑﻪ ﺷﺮح ) 1. D at a M a ni p u l a t i o n La n gu a ge ( D M L
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 163 SQL
ﻫﺮ ﻳﻚ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ.
1-5دﺳﺘﻮر
INSERT
اﻳﻦ دﺳﺘﻮر ﺑﻪ ﻣﻨﻈﻮر وارد ﻛﺮدن )اﻓﺰودن( رﻛﻮرد ﻳﺎ رﻛﻮردﻫﺎﻳﻲ ﺑﻪ ﻳﻚ ﺟﺪول ﺗﻌﺮﻳﻒ ﺷﺪه اﺳﺖ .ﺷﻜﻞ ﻛﻠﻲ دﺳﺘﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ: INSERT INTO table name ] )… [ (column name , } )… { VALUES (value , ; | sub query
ﻫﻤﺎﻧﻄﻮر ﻛﻪ در دﺳﺘﻮر ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲﮔﺮدد ،در اﻧﺘﻬﺎي دﺳﺘﻮر از ﻋﺒﺎرت
sub
queryاﺳﺘﻔﺎده ﺷﺪه اﺳﺖ ﻛﻪ اﻳﻦ دﺳﺘﻮر ﺑﻪ ﻣﻨﻈﻮر اﻧﺘﺨﺎب ﭼﻨﺪﻳﻦ رﻛﻮرد از ﻳﻚ ﺟﺌﻮل و اﻓﺰودن ﻳﻜﺒﺎره آﻧﻬﺎ ﺑﻪ ﺟﺪول ﻣﺬﻛﻮر ﻣﻲﺑﺎﺷﺪ .در اﺑﺘﺪا ﺑﺮاي آﺷﻨﺎﻳﻲ ﺧﻮاﻧﻨﺪﮔﺎن ﺑﺎ اﻳﻦ دﺳﺘﻮر ،اﻓﺰودن ﻳﻚ رﻛﻮرد ﺑﻪ ﺟﺪول را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲدﻫﻴﻢ .در دﺳﺘﻮر ﺑﺎﻻ در اﺑﺘﺪا ﻧﺎم ﺟﺪول را ﻛﻪ ﻣﻲﺧﻮاﻫﻴﻢ ﻣﻘﺎدﻳﺮي را ﺑﻪ آن ﺑﻴﺎﻓﺰاﻳﻴﻢ وارد ﻣﻲﻛﻨﻴﻢ و ﺳﭙﺲ اﺳﺎﻣﻲﺳﺘﻮﻧﻬﺎﻳﻲ از رﻛﻮرد را ﻛﻪ ﻣﻲﺧﻮاﻫﻴﻢ ﻣﻘﺎدﻳﺮي را در آﻧﻬﺎ وارد ﻧﻤﺎﻳﻴﻢ را ﻧﻮﺷﺘﻪ و ﺳﭙﺲ ﻣﻘﺎدﻳﺮ ﻣﺮﺗﺒﻂ ﺑﺎ ﻫﺮ ﺳﺘﻮن را وارد ﻣﻲﻧﻤﺎﻳﻴﻢ .ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ در ﺟﺪوﻟﻲ ﺑﻨﺎم SalesPeopleﻛﻪ داراي ﭼﻬﺎر ﺳﺘﻮن ﻣﻲﺑﺎﺷﺪ ،ﻳﻚ رﻛﻮرد ﺑﺎ ﻣﻘﺎدﻳﺮ ﻣﺸﺨﺼﻲ ذﻳﻞ وارد ﻧﻤﺎﻳﻴﻢ .ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ اﻳﻦ ﺷﺮح ﻣﻲﺑﺎﺷﺪ: INSERT INTO Salespeople ;)VALUES (1001,'Peel','London', 12
ﺣﺎل ﻓﺮض ﻛﻨﻴﻢ ﻣﺜﻼ ﻧﻤﻲداﻧﻴﻢ ﻛﻪ ﺷﺨﺺ ﻣﺬﻛﻮر در ﺷﻬﺮ ﻟﻨﺪن اﻗﺎﻣﺖ دارد و ﻣﻲﺧﻮاﻫﻴﻢ رﻛﻮرد ﻣﺬﻛﻮر را وارد ﻧﻤﺎﻳﻴﻢ ﺑﺪون آﻧﻜﻪ ﻛﻘﺪاري ﺑﺮاي ﺻﻔﺖ ﺧﺎﺻﻪ ﺷﻬﺮ در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ .ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲﺑﺎﺷﺪ: Insert Into salespeople ;)Values (1001,'Peel', NULL, 12
ﺗﻮﺟﻪ :ﺑﺮاي آﻧﺪﺳﺘﻪ از ﺳﺘﻮﻧﻬﺎﻳﻲ ﻛﻪ ﺑﻌﻨﻮان ﻛﻠﻴﺪ اﺻﻠﻲ ﻫﺴﺘﻨﺪ و ﻳﺎ اﻳﻨﻜﻪ ﺣﺘﻤﺎ ﺑﺎﻳﺪ ﻣﻘﺪاري )ﻏﻴﺮ از (NULLرا داﺷﺘﻪ ﺑﺎﺷﻨﺪ ،ﻻزم اﺳﺖ ﻣﻘﺪاري در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد ،در ﻏﻴﺮ اﻳﻨﺼﻮرت اﻣﻜﺎن اﻓﺰودن رﻛﻮرد ﺟﺪﻳﺪ وﺟﻮد ﻧﺪارد.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
164
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺗﺮﺗﻴﺐ وارد ﻛﺮدن ﻣﻘﺎدﻳﺮ ﺑﻪ ﺗﺮﺗﻴﺐ ﺗﻌﺮﻳﻒ ﺳﺘﻮﻧﻬﺎ ﻓﺮض ﺷﺪه اﺳﺖ .ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﺗﺮﺗﻴﺐ ورود ﻣﻘﺎدﻳﺮ ﺑﺮاي ﺳﺘﻮﻧﻬﺎ را ﺗﻐﻴﻴﺮ دﻫﻴﻢ و ﻳﺎ اﻳﻨﻜﻪ ﺻﺮﻓﺎ ﺑﺨﻮاﻫﻴﻢ ﺑﺠﺎي ﻗﺮار دادن ﻣﻘﺪار NULLﺑﺮاي ﻳﻚ ﺳﺘﻮن ،اﺻﻼً ﻧﺎم آن ﺳﺘﻮن را ﺑﻜﺎر ﻧﺒﺮﻳﻢ ،ﻻزم اﺳﺖ ﻧﺎم ﺳﺘﻮﻧﻬﺎ ﺑﻪ ﺗﺮﺗﻴﺐ ﻣﻮرد ﻧﻈﺮ در ﺟﻠﻮي ﻧﺎم ﺟﺪول وارد ﺷﺪه و ﺳﭙﺲ ﺑﻪ ﻫﻤﺎن ﺗﺮﺗﻴﺐ ،ﻣﻘﺎدﻳﺮ ﻣﺮﺗﺒﻂ وارد ﺷﻮﻧﺪ .ﺑﺮاي ﺗﻮﺿﻴﺢ ﺑﻴﺸﺘﺮ ﻓﺮض ﻛﻨﻴﻢ ﺟﺪوﻟﻲ ﺑﻨﺎم Customers
دارﻳﻢ ﻛﻪ ﻓﻘﻂ ﻣﻲﺧﻮاﻫﻴﻢ در ﺳﺘﻮنﻫﺎي
city
و
cname
و
cnum
آن ﺟﺪول
ﻣﻘﺎدﻳﺮي را وارد ﻧﻤﺎﻳﻴﻢ .ﺑﻪ ﻋﺒﺎرت ذﻳﻞ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ: )INSERT INTO Customers (city, cname, cnum ;)VALUES ('London','Hoffman', 2001
ﺗﺎ اﻳﻦ ﻣﺮﺣﻠﻪ ﺻﺮﻓﺎ ﻳﻚ رﻛﻮرد ﺑﻪ ﺟﺪول وارد ﺷﺪه اﺳﺖ .ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﺗﻌﺪادي رﻛﻮرد را از ﺟﺪول دﻳﮕﺮي اﻧﺘﺨﺎب و ﺑﻪ ﺟﺪول ﻣﺬﻛﻮر وارد ﻧﻤﺎﻳﻴﻢ ،ﺑﺠﺎي اﺳﺘﻔﺎده از ﻛﻠﻤﻪ ،Valuesﻻزم اﺳﺖ ﺗﺎ ﻳﻚ ﻋﺒﺎرت
Select
را وارد ﻧﻤﺎﻳﻴﻢ .ﺑﺮاي روﺷﻦ
ﺷﺪن اﻳﻦ ﻣﻄﻠﺐ ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ: INSERT INTO LondonStaff * SELECT FROM salespeople ;'Where city = 'London
ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺻﺮﻓﺎ دو ﺳﺘﻮن ﺑﻨﺎمﻫﺎي
FDate
و
Total
از ﺟﺪوﻟﻲ
ﺑﻨﺎم DayTotalsرا ﺑﺎ ﻣﻘﺎدﻳﺮ اﻧﺘﺨﺎب ﺷﺪه از ﺟﺪول دﻳﮕﺮي ﭘﺮ ﻛﻨﻴﻢ .ﻣﺜﺎل زﻳﺮ ﺑﻴﺎﻧﮕﺮ اﻳﻦ ﻣﻄﻠﺐ ﻣﻲﺑﺎﺷﺪ: )Insert Into daytotals (fdate,total Select odate,income ; From orders
ﻧﻜﺘﻪ ﺑﺴﻴﺎر ﻣﻬﻢ در ﻧﻮﺷﺘﻦ اﻳﻦ ﻋﺒﺎرت اﻳﻦ اﺳﺖ ﻛﻪ ﺗﻌﺪاد ﺳﺘﻮﻧﻬﺎي اﻧﺘﺨﺎب ﺷﺪه در ﻋﺒﺎرت Selectﺑﺎﻳﺪ ﺑﺮاﺑﺮ ﺑﺎ ﺗﻌﺪاد ﺳﺘﻮن ﻫﺎي ﺟﺪول اﺻﻠﻲ ﺑﺎﺷﺪ.
2-5دﺳﺘﻮر
UPDATE
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 165 SQL
ﻳﻜﻲ از ﻣﻬﻤﺘﺮﻳﻦ ﻧﻴﺎز ﻫﺎي ﻛﺎرﺑﺮان ،ﺗﻮاﻧﺎﻳﻲ اﻋﻤﺎل ﺗﻐﻴﻴﺮات در داده ﻫﺎﻳﻲ اﺳﺖ ﻛﻪ ﻗﺒﻼ در ﺳﻴﺴﺘﻢ وارد ﻛﺮده اﻧﺪ .اﻳﻦ ﻧﻴﺎز ﻧﺎﺷﻲ از ﺗﻐﻴﻴﺮ داده ﻫﺎ و ﻳﺎ وادر ﻛﺮدن ﻣﻘﺪار ﺑﺮاي ﺳﺘﻮﻧﻬﺎﻳﻲ اﺳﺖ ﻛﻪ ﻗﺒﻼ ﻫﻴﭻ ﻣﻘﺪاري ﺑﺮاي آن در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻧﺸﺪه ﺑﻮد .دﺳﺘﻮر UPDATE
ﺑﻪ ﻣﻨﻈﻮر اﻋﻤﺎل ﺗﻐﻴﻴﺮات در ﻣﻘﺎدﻳﺮ رﻛﻮردﻫﺎي ﺛﺒﺖ ﺷﺪه در ﺟﺪاول
ﻃﺮاﺣﻲ ﺷﺪه و ﺷﻜﻞ ﻛﻠﻲ آن ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ: UPDATE table name SET { column name = { value expression | NULL … | DEFAULT } } , ; ] } [ { WHERE predicate
در اداﻣﻪ ﺑﺮاي ﺗﺸﺮﻳﺢ ﺑﻬﺘﺮ دﺳﺘﻮر ﻣﺬﻛﻮر ﻣﺜﺎﻟﻬﺎﻳﻲ آورده ﺷﺪه اﺳﺖ ﻛﻪ ﺣﺎﻻت ﻣﺨﺘﻠﻒ اﺳﺘﻔﺎده از دﺳﺘﻮر را ﻧﺸﺎن ﻣﻲدﻫﺪ .در ﺳﺎده ﺗﺮﻳﻦ ﺣﺎﻟﺖ ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ ratingاز ﺟﺪول Customersرا ﺑﺮاﺑﺮ ﺑﺎ 200ﻛﻨﻴﻢ. UPDATE customers ;SET rating = 200
ﻫﻤﺎﻧﻄﻮر ﻛﻪ در ﺑﺎﻻ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﺪ ﻫﻴﭻ ﻧﻮع ﺷﺮﻃﻲ ﺑﺮاي اﻧﺘﺨﺎب رﻛﻮردﻫﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻧﺸﺪه اﺳﺖ .ﻟﺬا ﺑﺎ اﺟﺮا دﺳﺘﻮر ﺑﺎﻻ ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ
rating
ﺑﺮاي
ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎ ﺑﺮاﺑﺮ ﺑﺎ 200ﻣﻲ ﺷﻮد .در ﻣﺜﺎل زﻳﺮ ﻳﻚ ﺷﺮط را ﺟﻬﺖ ﺑﺮوز رﺳﺎﻧﻲ ﺟﺪول اﺿﺎﻓﻪ ﻣﻲ ﻛﻨﻴﻢ: UPDATE customers SET rating = 200 ;WHERE snum = 1001
ﺗﺎ اﻳﻦ ﻣﺮﺣﻠﻪ ﺻﺮﻓﺎ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ از ﺟﺪول را ﺑﺮوز رﺳﺎﻧﻲ ﻛﺮدهاﻳﻢ .در اداﻣﻪ ﻃﺮﻳﻘﻪ ﺑﺮوز رﺳﺎﻧﻲ ﭼﻨﺪ ﺻﻔﺖ ﺧﺎﺻﻪ ﺑﺼﻮرت ﻫﻤﺰﻣﺎن را ﻣﺸﺎﻫﺪه ﺧﻮاﻫﻴﻢ ﻛﺮد. UPDATE Salespeople SET sname = 'Gibson', city = 'Boston', comm. = 0.1 ;WHERE snum = 1004
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﻫﺮ ﻳﻚ از ﺻﻔﺎت ﺧﺎﺻﻪ ﺑﺎ ﻳﻚ ﻛﺎﻣﺎ از دﻳﮕﺮي ﺟﺪا ﺷﺪه اﺳﺖ .ﺗﺎ اﻳﻦ ﻗﺴﻤﺖ از ﻛﺎر ﻣﻌﻤﻮﻻً ﻣﻘﺪار ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ را ﺗﻐﻴﻴﺮ دادهاﻳﻢ .وﻟﻲ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
166
ﭘﺎﻳﮕﺎه دادهﻫﺎ
اﻳﻦ اﻣﻜﺎن ﻧﻴﺰ وﺟﻮد دارد ﻛﻪ ﻣﻘﺪار ﺟﺪﻳﺪ ،ﻋﺒﺎرﺗﻲ ﺷﺎﻣﻞ ﺻﻔﺎت ﺧﺎﺻﻪ ﻧﻴﺰ ﺑﺎﺷﺪ .ﺑﺮاي ﻣﺜﺎل ﻣﻤﻜﻦ اﺳﺖ ﺑﺨﻮاﻫﻴﻢ ﻣﻘﺪار ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ را دو ﺑﺮاﺑﺮ ﻛﻨﻴﻢ. Update salespeople ;SET comm = comm * 2
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﺷﻮد ﻣﻘﺪار ﺟﺪﻳﺪ در واﻗﻊ از ﭘﺮدازش ﺑﺮ روي ﻣﻘﺪار ﻗﺒﻠﻲ ﻫﻤﺎن ﺻﻔﺖ ﺧﺎﺻﻪ ﺑﺪﺳﺖ آﻣﺪه اﺳﺖ .اﻳﻦ اﻣﻜﺎن وﺟﻮد دارد ﻛﻪ از ﻣﻘﺎدﻳﺮ ﺳﺎﻳﺮ ﺻﻔﺎت ﺧﺎﺻﻪ ﻧﻴﺰ اﺳﺘﻔﺎده ﺷﻮد .ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﻣﻘﺪار ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ را ﺗﺒﺪﻳﻞ ﺑﻪ ) NULLﻣﻘﺪار ﻫﻴﭻ( ﻧﻤﺎﻳﻴﻢ .ﻋﺒﺎرت زﻳﺮ ﻃﺮﻳﻘﻪ اﻧﺠﺎم اﻳﻦ ﻛﺎر را ﻧﺸﺎن ﻣﻲدﻫﺪ. UPDATE customers SET rating = NULL ;'WHERE city = 'London
ﻋﻤﻞ ﺗﺒﺪﻳﻞ ﻳﻚ ﻣﻘﺪار ﺑﻪ
NULL
در واﻗﻊ ﺣﺬف ﻣﻘﺪار ﻳﻚ ﺳﺘﻮن از رﻛﻮرد
ﻣﻲﺑﺎﺷﺪ ﻛﻪ در اﻳﻨﺠﺎ ﺑﻪ آن ﺑﺮوز رﺳﺎﻧﻲ ﻣﻲﮔﻮﻳﻴﻢ .ﻣﻔﻬﻮم ﺣﺬف ﻳﻚ ﻣﻘﺪار از ﻳﻚ ﺳﺘﻮن ﺑﺎ ﻣﻔﻬﻮم ﺣﺬف ﻳﻚ رﻛﻮرد )ﺳﻄﺮ( ﻣﺘﻔﺎوت ﻣﻲﺑﺎﺷﺪ .در اداﻣﻪ دﺳﺘﻮر DELETEرا ﺟﻬﺖ ﺣﺬف رﻛﻮردﻫﺎ ﺗﻮﺿﻴﺢ ﺧﻮاﻫﻴﻢ داد.
3-5دﺳﺘﻮر
DELETE
ﻣﻤﻜﻦ اﺳﺖ در ﻣﻮاﻗﻌﻲ ﻛﺎرﺑﺮان ﺑﺨﻮاﻫﻨﺪ رﻛﻮرد )ﻫﺎﻳﻲ( را از ﺟﺪول اﻃﻼﻋﺎﺗﻲ ﺣﺬف ﻧﻤﺎﻳﻨﺪ .در واﻗﻊ ﻛﻞ اﻃﻼﻋﺎت ﻳﻚ رﻛﻮرد )و ﻧﻪ ﻓﻘﻂ ﺑﻌﻀﻲ ﺳﺘﻮن ﻫﺎ( ﺣﺬف ﺧﻮاﻫﺪ ﺷﺪ .ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر دﺳﺘﻮر
DELETE
ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ .ﺷﻤﺎي ﻛﻠﻲ اﻳﻦ دﺳﺘﻮر در
زﻳﺮ آﻣﺪه اﺳﺖ: DELETE FROM table name ; } { WHERE predicate
ﺑﺮاي درك ﺑﻬﺘﺮ دﺳﺘﻮر ،ﻣﺜﺎﻟﻬﺎﻳﻲ در ذﻳﻞ آﻣﺪه اﺳﺖ .در اﺑﺘﺪا ﻻزم ﺑﺬﻛﺮ اﺳﺖ ﭼﻨﺎﻧﭽﻪ در ﻫﻨﮕﺎم اﺳﺘﻔﺎده از دﺳﺘﻮر ،DELETEﺷﺮﻃﻲ آورده ﻧﺸﻮد ﺑﺪﻳﻦ ﻣﻌﻨﺎ اﺳﺖ ﻛﻪ ﻛﻠﻴﻪ اﻃﻼﻋﺎت ﻣﻮﺟﻮد در آن ﺟﺪول ﺣﺬف ﺷﻮد .ﺑﺮاي ﻣﺜﺎل دﺳﺘﻮر ذﻳﻞ ﺑﻴﺎﻧﮕﺮ ﺣﺬف ﻛﻠﻴﻪ رﻛﻮردﻫﺎي ﻣﻮﺟﻮد در ﺟﺪول Customersﻣﻲﺑﺎﺷﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 167 SQL
;DELETE FROM customers
ﺣﺎل در ﻣﺜﺎﻟﻲ دﻳﮕﺮ ﻳﻚ ﻋﺒﺎرت ﺷﺮﻃﻲ ﺟﻬﺖ ﺗﻌﻴﻴﻦ رﻛﻮردﻫﺎي ﻣﻮرد ﻧﻈﺮ ﺟﻬﺖ ﺣﺬف ﻧﺸﺎن داده ﺷﺪه اﺳﺖ. DELETE FROM salespeople ;WHERE snum = 1003
ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﻋﺒﺎرت ﺷﺮط ﻣﻲﺗﻮاﻧﺪ ﻳﻚ ﻳﺎ ﺗﻌﺪادي از رﻛﻮردﻫﺎ را در ﺑﺮﮔﻴﺮد .ﺑﺎ اﻳﻦ وﺻﻒ دﺳﺘﻮر
ﺗﻮاﻧﺎﻳﻲ ﺣﺬف ﻳﻚ ﻳﺎ ﭼﻨﺪ رﻛﻮرد ﻳﺎ
DELETE
ﺗﻤﺎﻣﻲرﻛﻮردﻫﺎي ﻳﻚ ﺟﺪول را دارد.
-6ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ ﺑﺎ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ
1
ﺗﺎ ﺑﺤﺎل ﻛﻠﻴﻪ ﻣﺜﺎل ﻫﺎي اراﺋﻪ ﺷﺪه در اﻳﻦ ﻓﺼﻞ ﺑﺮ اﺳﺎس ﻳﻚ ﺟﺪول ﻃﺮاﺣﻲ ﺷﺪه ﺑﻮدﻧﺪ .ﻳﻜﻲ از اﻧﺘﻈﺎرات ﺑﺴﻴﺎر ﻣﻬﻢ ﻛﺎرﺑﺮان ﻳﻚ ﭘﺎﻳﮕﺎهداده ،اﻣﻜﺎن ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت از ﺟﺪاول ﻣﺮﺗﺒﻂ ﺑﺎ ﻫﻢ ﻣﻲ ﺑﺎﺷﺪ .ﺑﻪ اﻳﻦ ﻣﻨﻈﻮر ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺑﻴﻦ ﺟﺪاول در زﺑﺎن SQL
در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ .اﻳﻦ ﻋﻤﻠﮕﺮ در واﻗﻊ ﺟﺰﺋﻲ از دﺳﺘﻮر
SELECT
ﻣﻲ ﺑﺎﺷﺪ .در واﻗﻊ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺑﺎﻋﺚ اﻳﺠﺎد ارﺗﺒﺎط ﺑﻴﻦ ﺟﺪاول ﺑﺮ اﺳﺎس ﻛﻠﻴﺪ اﺻﻠﻲ و ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﻴﻦ آﻧﻬﺎ ﻣﻲﺑﺎﺷﺪ .اﻟﺒﺘﻪ در ﻣﻮاردي ﻧﻴﺰ ﻣﻤﻜﻦ اﺳﺖ ﻛﻪ ارﺗﺒﺎط ﺑﻴﻦ ﺟﺪاول ﺑﺮ اﺳﺎس ﻳﻚ ﻋﺒﺎرت ﺧﺎص ﻳﺎ ﻳﻚ ﺗﺮﻛﻴﺐ ﺷﺮﻃﻲ ﺑﺎﺷﺪ .در ﺣﺎﻟﺖ ﻛﻠﻲ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺑﻪ دو ﺻﻮرت ﻣﻲ ﺗﻮاﻧﺪ ﺑﺎﺷﺪ: 2
•
ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ داﺧﻠﻲ
•
ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ
3
اﻳﻦ ﻋﻤﻠﮕﺮﻫﺎ ﻫﺮﻳﻚ داراي اﻧﻮاع ﻣﺨﺘﻠﻔﻲ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ در اداﻣﻪ ﺑﻪ ﺷﺮح ﻫﺮ ﻳﻚ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ:
1. J oi n 2. In n e r Jo i n 3. O u te r Jo i n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
168
ﭘﺎﻳﮕﺎه دادهﻫﺎ
1-6ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ داﺧﻠﻲ اﻳﻦ ﻋﻤﻠﮕﺮ در واﻗﻊ ﻣﺘﺪاول ﺗﺮﻳﻦ ﻧﻮع ﭘﻴﻮﻧﺪ ﺑﻴﻦ دو ﺟﺪول ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ ﺑﺮ اﺳﺎس آن ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎﻳﻲ از دو ﺟﺪول ﻛﻪ در ﺷﺮط ﺗﻌﺮﻳﻒ ﺷﺪه در ﭘﻴﻮﻧﺪ ﺻﺪق ﻣﻲﻛﻨﻨﺪ، ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ اﮔﺮ ﺟﺪول )راﺑﻄﻪ( ﺳﻤﺖ ﭼﭗ در ﭘﻴﻮﻧﺪ را
R1
و ﺟﺪول ﺳﻤﺖ راﺳﺖ در ﭘﻴﻮﻧﺪ را
R2
ﺑﻨﺎﻣﻴﻢ ،ﺻﺮﻓﺎ ﺗﻤﺎﻣﻲ رﻛﻮرد ﻫﺎﻳﻲ از دو
ﺟﺪول ﻛﻪ ﺷﺮط ﺗﻌﺮﻳﻒ ﺷﺪه در ﭘﻴﻮﻧﺪ در ﻣﻮرد آﻧﻬﺎ ﺻﺎدق ﺑﺎﺷﺪ ،ﻣﻮرد ﺑﺎزﻳﺎﺑﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ. R1 JOIN R2 ON criteria OR R1 INNER JOIN R2 ON criteria
اﺳﺘﻔﺎده از ﻋﺒﺎرت
Inner Join
ﺑﻪ اﻳﻦ ﻋﻠﺖ اﺳﺖ ﻛﻪ در ﺑﻌﻀﻲ از زﺑﺎنﻫﺎ اﻳﻦ ﻧﻮع
ﭘﻴﻮﻧﺪ را ﭘﻴﻮﻧﺪ داﺧﻠﻲ ﻣﻲﻧﺎﻣﻨﺪ .ﺑﺮاي درك ﺑﻬﺘﺮ دو ﺟﺪول اﻃﻼﻋﺎت ﭘﺮﺳﻨﻞ
)(EMP
ﺳﺎﺧﺘﺎر ﺳﺎزﻣﺎﻧﻲ ) (DEPTرا ﺑﻪ ﺻﻮرت آﻧﭽﻪ ﻛﻪ در زﻳﺮ آﻣﺪه اﺳﺖ در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ: ﺟﺪول 1- 8ﺟﺪول اﻃﻼﻋﺎت ﭘﺮﺳﻨﻞ
EMP
EMP DEPTNO
SAL
ENAME
EMPNO
20
800
SMITH
7369
30
1600
ALLEN
7499
30
1250
WARD
7521
20
2975
JONES
7566
30
1250
MARTIN
7654
30
2850
BLAKE
7698
10
2450
CLARK
7782
20
3000
SCOTT
7788
10
5000
KING
7839
30
1500
TURNER
7844
20
1100
ADAMS
7876
30
950
JAMES
7900
Ramin.Samad@yahoo.com
و
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 169 SQL
20
3000
FORD
7902
10
1300
MILLER
7934
ﺟﺪول 2- 8ﺟﺪول اﻃﻼﻋﺎت ﺳﺎﺧﺘﺎر ﺳﺎزﻣﺎﻧﻲ
DEPT
DEPT LOC
DNAME
DEPTNO
NEW YORK
ACCOUNTING
10
DALLAS
RESEARCH
20
CHICAGO
SALES
30
BOSTON
OPERATIONS
40
ﺣﺎل ﻓﺮض ﻛﻨﻴﻢ ﻣﻲﺧﻮاﻫﻴﻢ دو ﺟﺪول ﻣﺬﻛﻮر را ﺑﺮ اﺳﺎس ﺻﻔﺖ ﺧﺎﺻﻪ
Deptno
ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﭘﻴﻮﻧﺪ داده و ﺑﺒﻴﻨﻴﻢ ﻫﺮ ﻳﻚ از ﭘﺮﺳﻨﻞ در ﻛﺪام واﺣﺪ ﻣﺸﻐﻮل ﺑﻜﺎر ﻫﺴﺘﻨﺪ. ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ: Select Emp.ename, Emp.deptno, Dept.dname From Emp Join Dept On emp.deptno = dept.deptno
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻼﺣﻈﻪ ﻣﻲﮔﺮدد دو ﺟﺪول Deptno
ﻛﻪ در ﺟﺪول
Dept
Emp
و
Dept
ﺑﻌﻨﻮان ﻛﻠﻴﺪ اﺻﻠﻲ و در ﺟﺪول
ﺑﺮ اﺳﺎس ﺻﻔﺖ ﺧﺎﺻﻪ
Emp
ﺑﻌﻨﻮان ﻛﻠﻴﺪ ﺧﺎرﺟﻲ
ﻣﻲﺑﺎﺷﺪ ،ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﭘﻴﻮﻧﺪ داده ﺷﺪهاﻧﺪ .ﺑﺎ اﻳﻦ وﺻﻒ ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺻﻮرت زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد:
ﺟﺪول 3- 8ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از DNAME RESEARCH
ﻋﺒﺎرت SQL
DEPTNO 20
Ramin.Samad@yahoo.com
ENAME SMITH
WWW.IRANMEET.COM
170
ﭘﺎﻳﮕﺎه دادهﻫﺎ SALES
30
ALLEN
SALES
30
WARD
RESEARCH
20
JONES
SALES
30
MARTIN
SALES
30
BLAKE
ACCOUNTING
10
CLARK
RESEARCH
20
SCOTT
ACCOUNTING
10
KING
SALES
30
TURNER
RESEARCH
20
ADAMS
SALES
30
JAMES
RESEARCH
20
FORD
ACCOUNTING
10
MILLER
ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ ﻣﻲﺗﻮان ﻋﺒﺎرت ﺑﺎﻻ را ﺑﺪون اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﻧﻴﺰ ﻧﻮﺷﺖ .ﻧﺤﻮه ﻧﻮﺷﺘﻦ ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﺪون ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲﺑﺎﺷﺪ: Select Emp.ename, Emp.deptno, Dept.dname From Emp , Dept Where emp.deptno = dept.deptno
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﻣﻲﺗﻮان اﺳﺎﻣﻲﺟﺪاول ﻣﻮرد ﻧﻈﺮ را در ﺟﻠﻮي ﻛﻠﻤﻪ FROM
ﺑﻜﺎر ﺑﺮد .ﺑﺎ اﻳﻦ وﺻﻒ ﻣﻲﺗﻮان ﺑﺪون ﻧﻴﺎز ﺑﻪ اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ اﻗﺪام ﺑﻪ
ﺑﺮﻗﺮاري ارﺗﺒﺎط ﺑﻴﻦ دو ﻳﺎ ﭼﻨﺪ ﺟﺪول ﻧﻤﻮد .وﻟﻲ ﺑﻬﺘﺮ اﺳﺖ از ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ اﺳﺘﻔﺎده ﮔﺮدد .در ﻫﺮ ﺣﺎل ﻫﻨﮕﺎﻣﻴﻜﻪ ﻣﻲﺧﻮاﻫﻴﻢ از ﺑﻴﺶ از ﻳﻚ ﺟﺪول اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﻢ ،ﻻزم اﺳﺖ ﻧﺎم ﺟﺪاول را ﻗﺒﻞ از ﻧﺎم ﺳﺘﻮنﻫﺎ )ﺻﻔﺎت ﺧﺎﺻﻪ( ﻣﻮرد ﻧﻈﺮ ﺑﻜﺎر ﺑﺒﺮﻳﻢ .اﻳﻦ وﺿﻌﻴﺖ ﺑﻴﺸﺘﺮ زﻣﺎﻧﻲ اﻫﻤﻴﺖ ﭘﻴﺪا ﻣﻲﻛﻨﺪ ﻛﻪ ﺻﻔﺎت ﺧﺎﺻﻪ ﻫﻤﻨﺎم در ﺟﺪاول ﻣﻮرد ﭘﻴﻮﻧﺪ داﺷﺘﻪ ﺑﺎﺷﻴﻢ. ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺑﺠﺎي اﺳﺎﻣﻲﺟﺪاول از ﻧﺎمﻫﺎي ﻣﺴﺘﻌﺎر اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﻢ. ﻣﺜﺎل زﻳﺮ ﺑﻴﺎﻧﮕﺮ ﻧﺤﻮه ﭘﻴﺎده ﺳﺎزي اﻳﻦ وﺿﻌﻴﺖ ﻣﻲﺑﺎﺷﺪ. Select E.ename, E.deptno, D.dname From Emp E Join Dept D
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 171 SQL On E.deptno = D.deptno
اﻳﻦ وﺿﻌﻴﺖ ﺑﻴﺸﺘﺮ زﻣﺎﻧﻲ ﻧﻤﻮد ﭘﻴﺪا ﻣﻲﻛﻨﺪ ﻛﻪ ﺑﺨﻮاﻫﻴﻢ ﭼﻨﺪ ﺟﺪول ﺑﺎ اﺳﺎﻣﻲﻣﺨﺘﻠﻒ و ﻳﺎ ﻧﺴﺒﺘﺎ ﻃﻮﻻﻧﻲ را ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﭘﻴﻮﻧﺪ ﺑﺰﻧﻴﻢ و ﻳﺎ اﻳﻨﻜﻪ در ﻣﻮاردي ﺑﺨﻮاﻫﻴﻢ ﻳﻚ ﺟﺪول را ﺑﺎ ﺧﻮدش ﭘﻴﻮﻧﺪ ﺑﺰﻧﻴﻢ.
ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ
1
ﺣﺎل ﻣﻲ ﺧﻮاﻫﻴﻢ ﻋﺒﺎرت ﻣﺬﻛﻮر را ﺑﺮ اﺳﺎس ﻋﻤﻠﮕﺮ ذﻛﺮ اﺳﺖ ﻛﻪ ﻧﻮع ﭘﻴﻮﻧﺪ
Natural Join
Natural join
ﺑﻨﻮﻳﺴﻴﻢ .ﻻزم ﺑﻪ
در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻃﺮاﺣﻲ ﺷﺪه
اﺳﺖ و ﻣﻤﻜﻦ اﺳﺖ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده اﻳﻦ ﻧﻮع ﭘﻴﻮﻧﺪ ﭘﺸﺘﻴﺒﺎﻧﻲ ﻧﺸﻮد .ﻧﻮع Natural Join
ﺑﺮ اﻳﻦ اﺳﺎس ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ ﻛﻪ ﻛﻠﻴﺪ ارﺗﺒﺎﻃﻲ را ﺑﺼﻮرت اﺗﻮﻣﺎﺗﻴﻚ از
دﻳﻜﺸﻨﺮي ﭘﺎﻳﮕﺎه داده ﻣﻲ ﺧﻮاﻧﺪ .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ در اﻳﻦ ﻧﻮع از ﭘﻴﻮﻧﺪ ﻧﻴﺎزي ﺑﻪ ﺗﻌﺮﻳﻒ ﺷﺮط ﭘﻴﻮﻧﺪ ﻧﻴﺴﺖ .ﻣﺜﺎل زﻳﺮ ﺑﻴﺎﻧﮕﺮ اﻳﻦ وﺿﻌﻴﺖ ﻣﻲ ﺑﺎﺷﺪ: Select Emp.ename, Emp.deptno, Dept.dname From Emp Natural Join Dept
3- 6ﻋﻤﻠﮕﺮﻫﺎي ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ
2
در ﺑﺴﻴﺎري از ﻣﻮارد ﻣﻤﻜﻦ اﺳﺖ ﺑﻌﻀﻲ ﻣﻘﺎدﻳﺮ ﺳﺘﻮﻧﻬﺎﻳﻲ ﻛﻪ ﻣﻲ ﺧﻮاﻫﻴﻢ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﭘﻴﻮﻧﺪ ﺑﺰﻧﻴﻢ ،داراي ﻣﻘﺪار
NULL
ﺑﺎﺷﻨﺪ .در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﭼﻨﺎﻧﭽﻪ از ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ
ﺑﺼﻮرت ﻋﺎدي اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﻢ ،ﺗﻌﺪادي از رﻛﻮردﻫﺎ را ﻧﻤﻲ ﺗﻮاﻧﻴﻢ ﺑﺎزﻳﺎﺑﻲ ﻧﻤﺎﻳﻴﻢ .ﺣﺎل ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ ﺑﮕﻮﻳﻴﻢ ﻛﻪ در ﭘﻴﻮﻧﺪ ﻣﺬﻛﻮر ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎي اﻃﻼﻋﺎﺗﻲ ﻣﻮرد ﻧﻈﺮ از ﻳﻚ ﺟﺪول ﻧﻤﺎﻳﺶ داده ﺷﻮد و از ﺟﺪول دوم اﻧﺪﺳﺘﻪ از رﻛﻮردﻫﺎﻳﻲ ﻛﻪ در ﺷﺮط ﺑﻴﻦ دو ﺟﺪول ﺻﺪق ﻣﻲ ﻛﻨﻨﺪ ﻧﻤﺎﻳﺶ داده ﺷﻮﻧﺪ ،ﻻزم اﺳﺖ ﺗﺎ از ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ اﺳﺘﻔﺎده ﮔﺮدد .ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﺑﻪ ﺻﻮرت ﻫﺎي زﻳﺮ ﻗﺎﺑﻞ ﭘﻴﺎده ﺳﺎزي ﻣﻲ ﺑﺎﺷﺪ: 3
•
ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﭼﭗ
•
ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ
1
1. N at u r a l J o i n 2. O u te r Jo i n 3. Le f t O ut e r J o i n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
172
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﻛﺎﻣﻞ
2
در اداﻣﻪ ﻫﺮ ﻳﻚ از ﭘﻴﻮﻧﺪﻫﺎي ﻣﺬﻛﻮر ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ.
1- 3- 6ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﭼﭗ ﻫﺮ ﮔﺎه ﺑﺨﻮاﻫﻴﻢ در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول ،ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎي ﻣﻮرد ﻧﻈﺮ از ﺟﺪول ﺳﻤﺖ ﭼﭗ )ﺟﺪول اول( را اﻧﺘﺨﺎب ﻛﺮده و از ﺟﺪول ﺳﻤﺖ راﺳﺖ ﺻﺮﻓﺎ اﻧﺪﺳﺘﻪ از رﻛﻮردﻫﺎﻳﻲ ﻛﻪ ﺷﺮط ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول را دارﻧﺪ ﻧﻤﺎﻳﺶ ﺑﺪﻫﻴﻢ ،از ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﭼﭗ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻴﻢ .ﺑﺪﻳﻬﻲ اﺳﺖ در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﺮاي ﺑﻌﻀﻲ از رﻛﻮردﻫﺎي ﺟﺪول ﺳﻤﺖ ﭼﭗ ،ﻫﻴﭻ ﻣﻘﺪاري از ﺟﺪول ﺳﻤﺖ راﺳﺖ ﻧﻤﻲ ﺗﻮان ﻳﺎﻓﺖ. ﺑﺎ اﻳﻦ اوﺻﺎف ﺑﺮاي اﻧﺪﺳﺘﻪ از ﺳﺘﻮﻧﻬﺎي اﻧﺘﺨﺎب ﺷﺪه از ﺟﺪول ﺳﻤﺖ راﺳﺖ ﻛﻪ ﻣﻘﺪاري ﻧﺪارﻧﺪ ،ﻣﻘﺪار NULLدر ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ. ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻫﻤﺎن دو ﺟﺪول
EMP
و
DEPT
ﻛﻪ ﻛﻤﻲﻗﺒﻞ ﺗﺮ ﻣﻌﺮﻓﻲ
ﺷﺪﻧﺪ را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲدﻫﻴﻢ .ﺑﺪﻳﻦ ﻣﻨﻈﻮر ﺑﺎ اﺳﺘﻔﺎده از ﻋﺒﺎرت زﻳﺮ ﻣﻘﺪار
Deptno
ﻳﻜﻲ از رﻛﻮردﻫﺎي ﺟﺪول EMPرا ﺑﺮاﺑﺮ ﺑﺎ NULLﻗﺮار ﻣﻲدﻫﻴﻢ. Update emp set deptno = NULL ;’where ename = ‘KING
ﺣﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ در آن ﺟﺪول
DEPT
ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ راﺳﺖ ﭘﻴﻮﻧﺪ و
ﺟﺪول EMPﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ ﭼﭗ ﭘﻴﻮﻧﺪ ﻣﻲ ﺑﺎﺷﻨﺪ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ:
و ﻳﺎ
Select e.ename , e.deptno , d.dname LEFT JOIN DEPT d From EMP e ON e.deptno = d.deptno Select e.ename , e.deptno , d.dname EMP e LEFTOUTER JOIN DEPT d From ON e.deptno = d.deptno
1. R i gh t O ut e r J o i n 2. F u ll O u te r Jo i n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 173 SQL
دو ﻋﺒﺎرت ﻣﺬﻛﻮر از ﻟﺤﺎظ ﻣﻌﻨﺎﻳﻲ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺑﺮاﺑﺮ ﻫﺴﺘﻨﺪ و ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح ﺟﺪول 4-8ﺧﻮاﻫﺪ ﺑﻮد .ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﻣﻘﺪار deptnoاز ﺟﺪول EMPﺑﺮاﺑﺮ ﺑﺎ NULLﺷﺪه اﺳﺖ ،ﻟﺬا ﻫﻴﭻ رﻛﻮرد ﻣﺘﻨﺎﻇﺮي ﺑﺎ ﺟﺪول DEPTوﺟﻮد ﻧﺪاﺷﺘﻪ و ﻣﻘﺪار ﺟﺎﻳﮕﺰﻳﻦ ﺑﺮاي ﺳﺘﻮﻧﻬﺎي ﻣﺮﺑﻮﻃﻪ ﺑﺮاﺑﺮ ﺑﺎ
NULL
ﻣﻲﺑﺎﺷﺪ. ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﺳﺌﻮال ﻣﻄﺮح ﮔﺮدد ﻛﻪ ﭼﺮا ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ دو ﺷﻜﻞ ﻣﺨﺘﻠﻒ ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ .در ﭘﺎﺳﺦ ﺑﻪ اﻳﻦ ﺳﺌﻮال ﺑﺎﻳﺪ ﮔﻔﺖ ﻛﻪ در زﺑﺎن SQLاراﺋﻪ ﺷﺪه از ﺳﻮي ANSIاز ﻛﻠﻤﻪ Left Outer Joinاﺳﺘﻔﺎده ﺷﺪه اﺳﺖ .وﻟﻲ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي داده اﻳﻦ ﻋﺒﺎرت ﺑﻪ ﺻﻮرت
Left Join
ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ .ﺣﺘﻲ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي داده از
ﻋﻼﻣﺖ " " +ﺑﺠﺎي اﻳﻦ ﻋﺒﺎرت اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ. ﺟﺪول 4- 8ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت SQLﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﭼﭗ DEPTNO
DNAME
ENAME
RESEARCH
20
SMITH
SALES
30
ALLEN
SALES
30
WARD
RESEARCH
20
JONES
SALES
30
MARTIN
SALES
30
BLAKE
ACCOUNTING
10
CLARK
RESEARCH
20
SCOTT
SALES
30
TURNER
RESEARCH
20
ADAMS
SALES
30
JAMES
RESEARCH
20
FORD
ACCOUNTING
10
MILLER
KING
2- 3- 6ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
174
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻫﺮ ﮔﺎه ﺑﺨﻮاﻫﻴﻢ در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول ،ﺗﻤﺎﻣﻲ رﻛﻮردﻫﺎي ﻣﻮرد ﻧﻈﺮ از ﺟﺪول ﺳﻤﺖ راﺳﺖ )ﺟﺪول دوم( را اﻧﺘﺨﺎب ﻛﺮده و از ﺟﺪول ﺳﻤﺖ ﭼﭗ ﺻﺮﻓﺎ اﻧﺪﺳﺘﻪ از رﻛﻮردﻫﺎﻳﻲ ﻛﻪ ﺷﺮط ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول را دارﻧﺪ ﻧﻤﺎﻳﺶ ﺑﺪﻫﻴﻢ ،از ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻴﻢ .ﺑﺪﻳﻬﻲ اﺳﺖ در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﺮاي ﺑﻌﻀﻲ از رﻛﻮردﻫﺎي ﺟﺪول ﺳﻤﺖ راﺳﺖ ﭘﻴﻮﻧﺪ ،ﻫﻴﭻ ﻣﻘﺪاري از ﺟﺪول ﺳﻤﺖ ﭼﭗ ﻧﻤﻲ ﺗﻮان ﻳﺎﻓﺖ .ﺑﺎ اﻳﻦ اوﺻﺎف ﺑﺮاي اﻧﺪﺳﺘﻪ از ﺳﺘﻮﻧﻬﺎي اﻧﺘﺨﺎب ﺷﺪه از ﺟﺪول ﺳﻤﺖ ﭼﭗ ﭘﻴﻮﻧﺪ ﻛﻪ ﻣﻘﺪاري ﻧﺪارﻧﺪ ،ﻣﻘﺪار NULLدر ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ. ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻫﻤﺎن دو ﺟﺪول
EMP
و
DEPT
ﻛﻪ ﻛﻤﻲﻗﺒﻞ ﺗﺮ ﻣﻌﺮﻓﻲ
ﺷﺪﻧﺪ را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲدﻫﻴﻢ .ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲداﻧﻴﺪ در ﺟﺪول DEPTﻳﻚ رﻛﻮرد ﺑﺎ
deptno = 40
ﺻﻔﺖ ﺧﺎﺻﻪ DEPT
وﺟﻮد دارد .وﻟﻲ ﻫﻴﭻ رﻛﻮردي در ﺟﺪول
deptno
EMP
وﺟﻮد ﻧﺪارد ﻛﻪ دﻣﻘﺪار
در آن ﺑﺮاﺑﺮ ﺑﺎ 40ﺑﺎﺷﺪ .ﺣﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ در آن ﺟﺪول
ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ ﭼﭗ ﭘﻴﻮﻧﺪ و ﺟﺪول
EMP
ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ راﺳﺖ
ﭘﻴﻮﻧﺪ ﻣﻲﺑﺎﺷﻨﺪ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ: Select e.ename , e.deptno , d.dname RIGHT JOIN DEPT d From EMP e ON e.deptno = d.deptno
و ﻳﺎ
Select e.ename , e.deptno , d.dname EMP e RIGHT OUTER JOIN DEPT d From ON e.deptno = d.deptno
ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد:
ﺟﺪول 5- 8ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت SQLﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ راﺳﺖ DNAME
DEPTNO
ENAME
ACCOUNTING
10
CLARK
ACCOUNTING
10
MILLER
RESEARCH
20
SMITH
RESEARCH
20
SCOTT
RESEARCH
20
ADAMS
RESEARCH
20
FORD
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 175 SQL
RESEARCH
20
JONES
SALES
30
ALLEN
SALES
30
JAMES
SALES
30
TURNER
SALES
30
BLAKE
SALES
30
MARTIN
SALES
30
WARD
OPERATIONS
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﻣﻘﺪار deptnoاز ﺟﺪول EMPﺑﺮاﺑﺮ ﺑﺎ
NULL
ﺷﺪه اﺳﺖ ،ﻟﺬا ﻫﻴﭻ رﻛﻮرد ﻣﺘﻨﺎﻇﺮي ﺑﺎ ﺟﺪول
DEPT
وﺟﻮد ﻧﺪاﺷﺘﻪ و ﻣﻘﺪار
ﺟﺎﻳﮕﺰﻳﻦ ﺑﺮاي ﺳﺘﻮﻧﻬﺎي ﻣﺮﺑﻮﻃﻪ ﺑﺮاﺑﺮ ﺑﺎ NULLﻣﻲﺑﺎﺷﺪ.
3- 3- 6ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﻛﺎﻣﻞ ﻗﺒﻞ از ﺗﻮﺿﻴﺢ اﻳﻦ ﻧﻮع از ﭘﻴﻮﻧﺪ ﻻزم اﺳﺖ ﺑﻪ اﻳﻦ ﻧﻜﺘﻪ ﻣﻬﻢ ﺗﻮﺟﻪ ﺷﻮد ﻛﻪ اﻳﻦ ﻧﻮع ﭘﻴﻮﻧﺪ ﻓﻘﻂ در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻃﺮاﺣﻲ ﺷﺪه اﺳﺖ و در ﺑﺴﻴﺎري از ﭘﺎﻳﮕﺎه ﻫﺎي داده اﺻﻼً ﭼﻨﻴﻦ ﭘﻴﻮﻧﺪ وﺟﻮد ﻧﺪارد. ﻫﺮ ﮔﺎه ﺑﺨﻮاﻫﻴﻢ در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ارﺗﺒﺎط ﺑﻴﻦ دو ﺟﺪول ،ﺗﻤﺎﻣﻲرﻛﻮردﻫﺎي ﻣﻮرد ﻧﻈﺮ از ﻫﺮ دو ﺟﺪول ﭼﻪ آﻧﻬﺎﻳﻴﻜﻪ در ﺷﺮط ﭘﻴﻮﻧﺪ ﻫﺴﺘﻨﺪ و ﭼﻪ آﻧﻬﺎﻳﻴﻜﻪ در ﺷﺮط ﭘﻴﻮﻧﺪ ﺻﺎدق ﻧﻴﺴﺘﻨﺪ ،در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ ﺑﻴﺎﻳﻨﺪ ،از اﻳﻦ ﻧﻮع ﭘﻴﻮﻧﺪ اﺳﺘﻔﺎده ﻣﻲﮔﺮدد .ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻫﺮ ﻳﻚ از ﻣﻘﺎدﻳﺮ ﺳﺘﻮﻧﻬﺎﻳﻲ ﻛﻪ در ﺷﺮط ﭘﻴﻮﻧﺪ ﺻﺎدق ﻧﺒﺎﺷﻨﺪ ،ﺑﺎ ﻣﻘﺪار ﺟﺎﻳﮕﺰﻳﻦ ﺧﻮاﻫﻨﺪ ﺷﺪ .ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﻫﻤﺎن دو ﺟﺪول
EMP
و
NULL
DEPT
ﻛﻪ
ﻛﻤﻲﻗﺒﻞ ﺗﺮ ﻣﻌﺮﻓﻲ ﺷﺪﻧﺪ را ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲدﻫﻴﻢ .ﺑﺪﻳﻦ ﻣﻨﻈﻮر ﺑﺎ اﺳﺘﻔﺎده از ﻋﺒﺎرت زﻳﺮ ﻣﻘﺪار Deptnoﻳﻜﻲ از رﻛﻮردﻫﺎي ﺟﺪول EMPرا ﺑﺮاﺑﺮ ﺑﺎ NULLﻗﺮار ﻣﻲدﻫﻴﻢ. Update emp set deptno = NULL ;’where ename = ‘KING
ﺣﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ در آن ﺟﺪول
DEPT
ﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ راﺳﺖ ﭘﻴﻮﻧﺪ و
ﺟﺪول EMPﺑﻌﻨﻮان ﺟﺪول ﺳﻤﺖ ﭼﭗ ﭘﻴﻮﻧﺪ ﻣﻲﺑﺎﺷﻨﺪ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ:
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
176
Select e.ename , e.deptno , d.dname EMP e FULL OUTER JOIN DEPT d From ON e.deptno = d.deptno
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه.ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد ﻟﺬا دو، ﺷﺪه اﺳﺖNULL ﺑﺮاﺑﺮ ﺑﺎEMP از ﺟﺪولdeptno ﻣﻲﻛﻨﻴﺪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﻣﻘﺪار . ﻣﻲﺑﺎﺷﻨﺪNULL رﻛﻮرد در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ داراي ﻣﻘﺎدﻳﺮ ﭘﻴﻮﻧﺪ ﺧﺎرﺟﻲ ﻛﺎﻣﻞSQL ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت6- 8 ﺟﺪول ENAME
DEPTNO
DNAME
SMITH
20
RESEARCH
ALLEN
30
SALES
WARD
30
SALES
JONES
20
RESEARCH
MARTIN
30
SALES
BLAKE
30
SALES
CLARK
10
ACCOUNTING
SCOTT
20
RESEARCH
TURNER
30
SALES
ADAMS
20
RESEARCH
JAMES
30
SALES
FORD
20
RESEARCH
MILLER
10
ACCOUNTING OPERATIONS
KING
ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎ در ﺟﺴﺘﺠﻮﻫﺎي ﭘﻴﺸﺮﻓﺘﻪ- 7 1
ﻋﻤﻠﮕﺮ ﮔﺮوه ﺑﻨﺪي1- 7
1. G ro u p B y
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 177 SQL
ﻓﺮض ﻛﻨﻴﺪ ﻣﻲ ﺧﻮاﻫﻴﻢ رﻛﻮردﻫﺎي )ﺳﻄﺮﻫﺎ( ﻳﻚ ﺟﺪول را ﺑﺮ اﺳﺎس ﻣﻘﺎدﻳﺮ ﻳﻚ ﻳﺎ ﭼﻨﺪ ﺳﺘﻮن آن ﺟﺪول ﮔﺮوه ﺑﻨﺪي ﻧﻤﺎﻳﻴﻢ ﺑﮕﻮﻧﻪ اﻳﻜﻪ رﻛﻮردﻫﺎي ﻣﻮﺟﻮد در ﻫﺮ ﮔﺮوه داراي ﻳﻚ ﻣﻘﺪار ﻣﺸﺘﺮك از ﺳﺘﻮﻧﻬﺎي ﻣﻮرد ﻧﻈﺮ در ﮔﺮوه ﺑﻨﺪي ﺑﺎﺷﻨﺪ .ﺑﺮاي اﻧﺠﺎم اﻳﻦ اﻣﺮ از ﻋﻤﻠﮕﺮ
GroupBy
رﻛﻮردﻫﺎي ﺟﺪول
EMP
اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد .ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲ ﺧﻮاﻫﻴﻢ
را ﺑﺮ اﺳﺎس ﻣﻘﺎدﻳﺮ ﺻﻔﺖ ﺧﺎﺻﻪ )ﺳﺘﻮن(
deptno
ﮔﺮوه
ﺑﻨﺪي ﻧﻤﺎﻳﻴﻢ .ﻋﺒﺎرت ﻣﻮرد ﻧﻈﺮ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد: * Select From EMP Group By deptno
2- 7ﻋﻤﻠﮕﺮ ﻣﺮﺗﺐ ﺳﺎزي ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﮔﺮدد ﻋﻤﻠﮕﺮ
Group By
اﻗﺪام ﺑﻪ دﺳﺘﻪ ﺑﻨﺪي رﻛﻮردﻫﺎ ﺑﺮ
اﺳﺎس ﻣﻘﺎدﻳﺮ ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﺳﺘﻮن ﻣﻲ ﻧﻤﺎﻳﺪ .وﻟﻲ اﻳﻦ ﻋﻤﻠﮕﺮ ﻣﻨﻄﻘﺎً اﻟﺰام ﺑﻪ ﻣﺮﺗﺐ ﺳﺎزي ﻣﻘﺎدﻳﺮ ﺑﺼﻮرت ﺻﻌﻮدي ﻳﺎ ﻧﺰوﻟﻲ ﻧﻤﻲ ﻛﻨﺪ و ﺻﺮﻓﺎ ﮔﺮوه ﺑﻨﺪي را اﻧﺠﺎم ﻣﻲ دﻫﺪ .ﺣﺎل اﮔﺮ ﻻزم ﺑﺎﺷﺪ ﺑﮕﻮﻧﻪ اي اﻗﺪام ﺑﻪ ﻣﺮﺗﺐ ﺳﺎزي ﺧﺮوﺟﻲ ﺑﻨﻤﺎﻳﻴﻢ ﻻزم اﺳﺖ از ﻋﻤﻠﮕﺮ ORDERBYاﺳﺘﻔﺎده ﮔﺮدد .اﻳﻦ ﻋﻤﻠﮕﺮ ﺗﻮاﻧﺎﻳﻲ ﻣﺮﺗﺐ ﺳﺎزي رﻛﻮردﻫﺎ ﺑﻪ ﺻﻮرت ﺻﻌﻮدي و ﻧﺰوﻟﻲ دارد .ﺑﺮاي اﻧﺘﺨﺎب ﻧﻮع ﻣﺮﺗﺐ ﺳﺎزي ﻳﻜﻲ از دو ﻋﻤﻠﮕﺮ زﻳﺮ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: ASC
:رﻛﻮردﻫﺎ را ﺑﺼﻮرت ﺻﻌﻮدي ﻣﺮﺗﺐ ﺳﺎزي ﻣﻲﻛﻨﺪ
DESC
:رﻛﻮردﻫﺎ را ﺑﺼﻮرت ﻧﺰوﻟﻲ ﻣﺮﺗﺐ ﺳﺎزي ﻣﻲﻛﻨﺪ
ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ رﻛﻮردﻫﺎي ﺟﺪول
EMP
را ﺑﺮ اﺳﺎس ﺻﻔﺖ ﺧﺎﺻﻪ
ename
و
ﺑﺼﻮرت ﺻﻌﻮدي ﻣﺮﺗﺐ ﻣﻲﻛﻨﺪ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ: * Select From EMP ORDER BY ename ASC
ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ رﻛﻮردﻫﺎي ﺟﺪول ﻣﺬﻛﻮر را ﺑﺮ اﺳﺎس دو ﺻﻔﺖ ﺧﺎﺻﻪ ﻣﺮﺗﺐ ﺳﺎزي ﻧﻤﺎﻳﻴﻢ .ﻋﺒﺎرت زﻳﺮ ﺑﻴﺎﻧﮕﺮ ﻧﺤﻮه اﻧﺠﺎم اﻳﻦ ﻣﻮﺿﻮع ﻣﻲﺑﺎﺷﺪ: * Select
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
178
ﭘﺎﻳﮕﺎه دادهﻫﺎ From EMP ORDER BY deptno DESC , ename ASC
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻧﻤﺎﻳﻴﺪ در ﻋﺒﺎرت ﻓﻮق اﺑﺘﺪا رﻛﻮردﻫﺎ ﺑﺮ اﺳﺎس ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ deptnoﺑﺼﻮرت ﻧﺰوﻟﻲ ﻣﺮﺗﺐ ﺷﺪه و ﺳﭙﺲ ﺑﺮ اﺳﺎس ﺻﻔﺖ ﺧﺎﺻﻪ
ename
ﺑﺼﻮرت ﺻﻌﻮدي ﻣﺮﺗﺐ ﻣﻲﮔﺮدﻧﺪ.
3- 7ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ ﻳﻜﻲ از ﻧﻴﺎزﻫﺎي ﻣﻌﻤﻮل ﻛﺎرﺑﺮان اﻧﺠﺎم ﻣﺤﺎﺳﺒﺎﺗﻲ ﺑﺮ روي ﺑﻌﻀﻲ ﺳﺘﻮﻧﻬﺎ ﻣﻲ ﺑﺎﺷﺪ. ﺑﻌﻨﻮان ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﺪ ﻣﻴﺎﻧﮕﻴﻦ ﻧﻤﺮه داﻧﺶ آﻣﻮزان در ﻳﻚ ﻛﻼس ﺑﺮاي ﻳﻚ درس را ﺑﺪﺳﺖ آورﻳﺪ .ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ اﻳﻦ ﻋﻤﻞ ﺑﺼﻮرت ﺳﺘﻮﻧﻲ اﻧﺠﺎم ﻣﻲ ﮔﻴﺮد و ﺑﺎ ﺳﺎﻳﺮ دﺳﺘﻮراﺗﻲ ﻛﻪ ﺗﺎ ﺑﺤﺎل ﮔﻔﺘﻪ اﻳﻢ ﻣﺘﻔﺎوت ﻣﻲ ﺑﺎﺷﺪ .ﺗﻮاﺑﻌﻲ ﻛﻪ ﺑﺮ روي ﻣﻘﺎدﻳﺮ ﺳﺘﻮﻧﻬﺎ ﻋﻤﻞ ﻣﻲﻛﻨﻨﺪ را ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ ﻣﻲ ﻧﺎﻣﻴﻢ .ﻟﻴﺴﺘﻲ از ﻣﻌﺮوﻓﺘﺮﻳﻦ اﻳﻦ ﺗﻮاﺑﻊ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﻨﺪ: COUNT
:ﺗﻌﺪاد ﻣﻘﺎدﻳﺮ در ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ.
SUM
:ﺣﺎﺻﻞ ﺟﻤﻊ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ.
AVG
:ﻣﻴﺎﻧﮕﻴﻦ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ.
MAX
:ﺑﺎﻻﺗﺮﻳﻦ ﻣﻘﺪار در ﺑﻴﻦ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ.
MIN
:ﭘﺎﻳﻴﻦ ﺗﺮﻳﻦ ﻣﻘﺪار در ﺑﻴﻦ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺳﺘﻮن را اراﺋﻪ ﻣﻲدﻫﺪ.
ﻧﻜﺘﻪاي ﻛﻪ ﺑﺎﻳﺪ ﺑﺪان ﺗﻮﺟﻪ ﻛﺮد اﻳﻦ اﺳﺖ ﻛﻪ ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﺗﻮاﺑﻊ ﻣﺬﻛﻮر ﺑﺼﻮرت ﻳﻚ ﻣﻘﺪار ﻣﻲﺑﺎﺷﻨﺪ .ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﻫﺮ ﭘﺎﻳﮕﺎهدادهاي ﻋﻼوه ﺑﺮ ﺗﻮاﺑﻊ ﻣﺬﻛﻮر ،ﺗﻌﺪادي ﺗﺎﺑﻊ دﻳﮕﺮ ﻧﻴﺰ ﻃﺮاﺣﻲ ﻛﺮده اﺳﺖ .ﺑﺮاي ﻣﺜﺎل در ﺑﻌﻀﻲ از ﭘﺎﻳﮕﺎهﻫﺎي داده ﺗﻮاﺑﻌﻲ ﺟﻬﺖ ﻣﺤﺎﺳﺒﻪ وارﻳﺎﻧﺲ و ﻳﺎ اﻧﺤﺮاف ﻣﻌﻴﺎر ﻃﺮاﺣﻲ ﺷﺪهاﻧﺪ .ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ،ﺟﺪول EMPرا در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ .ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺗﻌﺪاد ﭘﺮﺳﻨﻠﻲ ﻛﻪ ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ deptnoدر آﻧﻬﺎ ﺑﺮاﺑﺮ ﺑﺎ 10ﺑﺎﺷﺪ را ،ﺑﺪﺳﺖ آورﻳﻢ .ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد: SELECT Count (*) as Tedad FROM EMP ; WHERE deptno = 10
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 179 SQL
ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد: TEDAD 3
ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺑﺎﻻﺗﺮﻳﻦ و ﭘﺎﻳﻴﻦ ﺗﺮﻳﻦ ﻣﻴﺰان ﺣﻘﻮق ﭘﺮﺳﻨﻠﻲ ﻛﻪ ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ deptnoدر آﻧﻬﺎ ﺑﺮاﺑﺮ ﺑﺎ 10ﺑﺎﺷﺪ را ،ﺑﺪﺳﺖ آورﻳﻢ .ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد: SELECT Max(sal) as maxval , Min(sal) as minval From EMP ; Where deptno =10
ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد: MINVAL
MAXVAL
1300
5000
ﺣﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ ﺣﺪاﻗﻞ ﻣﻴﺎﻧﮕﻴﻦ ﺣﻘﻮق را ﺑﺮاي ﭘﺮﺳﻨﻞ ﺗﻌﺮﻳﻒ ﺷﺪه در ﺟﺪول EMPﺑﺮ ﺣﺴﺐ ﺻﻔﺖ ﺧﺎﺻﻪ deptnoﺑﺪﺳﺖ آورﻳﻢ .در اﻳﻦ ﺷﺮاﻳﻂ ﻻزم اﺳﺖ ﻋﻼوه ﺑﺮ اﺳﺘﻔﺎده از ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ از
Group By
ﻧﻴﺰ اﺳﺘﻔﺎده ﻧﻤﻮد .ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﻛﻪ
ﺑﻴﺎﻧﮕﺮ اﻳﻦ درﺧﻮاﺳﺖ ﻣﻲﺑﺎﺷﺪ ﺗﻮﺟﻪ ﻛﻨﻴﺪ: Select deptno , Min(sal) as MinVal From emp Group by deptno
ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد:
4- 7ﻋﻤﻠﮕﺮ
MINVAL
DEPTNO
1300
10
800
20
950
30
HAVING
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
180
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﺪ ﺗﺎﺑﺤﺎل از ﻋﻤﻠﮕﺮ ﻣﻲ ﻛﺮدﻳﻢ .وﻟﻲ ﻋﻤﻠﮕﺮ
Where
WHERE
ﺑﺮاي ﺗﻌﻴﻴﻦ ﺷﺮاﻳﻂ اﺳﺘﻔﺎده
ﻓﻘﻂ ﻗﺎدر ﺑﻮد ﺑﺮ روي ﺳﺘﻮﻧﻬﺎ ﻋﻤﻞ ﻧﻤﺎﻳﺪ ،ﺣﺎل آﻧﻜﻪ
ﮔﺎﻫﻲ ﻻزم اﺳﺖ ﻋﻤﻠﮕﺮ ﺗﻌﻴﻴﻦ ﺷﺮاﻳﻂ ﺑﺮروي ﺳﻄﺮﻫﺎ ﻋﻤﻞ ﻧﻤﺎﻳﺪ .اﻳﻦ وﺿﻌﻴﺖ ﺑﻴﺸﺘﺮ زﻣﺎﻧﻲ رخ ﻣﻲدﻫﺪ ﻛﻪ ﺑﺨﻮاﻫﻴﻢ از
Group By
اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﻢ و ﻳﺎ اﻳﻨﻜﻪ ﺑﺨﻮاﻫﻴﻢ از
ﺗﻮاﺑﻊ ﺗﺠﻤﻌﻲ ﻛﻪ اﺳﺎﺳﺎً ﺑﺮ روي ﺳﻄﺮﻫﺎ ﻋﻤﻞ ﻣﻲ ﻛﻨﻨﺪ ،اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﻢ .در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﺠﺎي اﺳﺘﻔﺎده از ﻛﻠﻤﻪ
Where
از ﻛﻠﻤﻪ
Having
اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ .ﺑﺮاي درك
ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ: Select deptno From emp Group By deptno Having COUNT (*) > 4
ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح ذﻳﻞ ﺧﻮاﻫﺪ ﺑﻮد: DEPTNO 20 30
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻧﻤﺎﻳﻴﺪ از آﻧﺠﺎﺋﻴﻜﻪ ﺗﻌﺪاد رﻛﻮردﻫﺎﻳﻲ ﻛﻪ در آﻧﻬﺎ ﻣﻘﺪار deptno
ﺑﺮاﺑﺮ 10ﺑﺎﺷﺪ ،ﻛﻤﺘﺮ از 4ﺗﺎ ﻫﺴﺘﻨﺪ ،ﻟﺬا رﻛﻮردي ﻛﻪ ﺑﻴﺎﻧﮕﺮ ﻣﻘﺪار 10در ﺳﺘﻮن
deptnoﺑﺎﺷﺪ در ﺧﺮوﺟﻲ ﻣﺸﺎﻫﺪه ﻧﻤﻲﮔﺮدد .ﻳﻜﻲ از ﻧﻜﺎت ﻣﻬﻢ در زﺑﺎن SQLاﻳﻦ اﺳﺖ ﻛﻪ ﻋﻤﻠﮕﺮﻫﺎي
Having
و
Where
ﻣﻲﺗﻮاﻧﻨﺪ ﺑﺼﻮرت ﺗﺮﻛﻴﺒﻲ در ﻳﻚ ﻋﺒﺎرت
SQL
ﻣﻮرد
اﺳﺘﻔﺎده ﻗﺮار ﮔﻴﺮﻧﺪ.
5- 7ﻋﻤﻠﮕﺮ
BETWEEN
ﻳﻜﻲ از وﻳﮋﮔﻲ ﻫﺎي ﻣﻮرد ﻧﻴﺎز ﻛﺎرﺑﺮان ،اﻣﻜﺎن اﻧﺘﺨﺎب رﻛﻮردﻫﺎ ﺑﺮ اﺳﺎس ﻣﻘﺎدﻳﺮي اﺳﺖ ﻛﻪ در ﻳﻚ ﺑﺎزه ﻗﺮار داﺷﺘﻪ ﺑﺎﺷﻨﺪ .ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻟﻴﺴﺖ ﭘﺮﺳﻨﻠﻲ را ﺑﺨﻮاﻫﻴﻢ ﻛﻪ ﺣﻘﻮق آﻧﻬﺎ ﺑﻴﻦ 1000و
2000
ﺑﺎﺷﺪ .ﻋﺒﺎرت زﻳﺮ ﻧﺤﻮه اﺳﺘﻔﺎده از دﺳﺘﻮر
Betweenرا ﻧﺸﺎن ﻣﻲ دﻫﺪ: Select ename ,Sal From EMP ; Where sal Between 1000 and 2000
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 181 SQL
ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﻣﺬﻛﻮر ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد:
6- 7ﻋﻤﻠﮕﺮ
SAL
ENAME
1600
ALLEN
1250
WARD
1250
MARTIN
1500
TURNER
1100
ADAMS
1300
MILLER
LIKE
در ﺑﻌﻀﻲ ﻣﻮارد ﻛﺎرﺑﺮان ﻧﻴﺎز دارﻧﺪ ﺗﺎ ﻋﺒﺎرﺗﻲ را در ﺑﻴﻦ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ ﺟﺴﺘﺠﻮ ﻧﻤﺎﻳﻨﺪ .اﻳﻦ وﺿﻌﻴﺖ ﺑﻴﺸﺘﺮ زﻣﺎﻧﻲ رخ ﻣﻲ دﻫﺪ ﻛﻪ ﻛﺎرﺑﺮان در ﺣﺎل ﻛﺎر ﺑﺎ ﻣﻘﺎدﻳﺮ رﺷﺘﻪ اي ﺑﺎﺷﻨﺪ .در اﻳﻦ ﺷﺮاﻳﻂ از ﻋﻤﻠﮕﺮ Likeاﺳﺘﻔﺎده ﻣﻲﻧﻤﺎﻳﻴﻢ. ﺑﺮاي ﻣﺜﺎل ﻓﺮض ﻛﻨﻴﺪ ﻣﻲﺧﻮاﻫﻴﻢ در ﺟﺪول ﺻﻔﺖ ﺧﺎﺻﻪ
ename
EMP
ﺑﻪ دﻧﺒﺎل اﻓﺮادي ﺑﮕﺮدﻳﻢ ﻛﻪ در
آﻧﻬﺎ ﻛﻠﻤﻪ ’ ‘AMﺑﺎﺷﺪ .ﻋﺒﺎرت زﻳﺮ ﻧﺤﻮه ﻧﻮﺷﺘﻦ ﭼﻨﻴﻦ درﺧﻮاﺳﺘﻲ
را ﻧﺸﺎن ﻣﻲدﻫﺪ: Select ename ,deptno, sal From emp ' ' ; % AM % Where ename LIKE
ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲﻛﻨﻴﺪ ﻋﻼﻣﺖ " " %ﻧﺸﺎن ﻣﻲدﻫﺪ ﻛﻪ ﻛﻠﻤﻪ
“ “ AM
ﻣﻲﺗﻮاﻧﺪ در ﺑﻴﻦ ﻣﻘﺎدﻳﺮ ﻣﻮﺟﻮد ﺑﺎﺷﺪ و ﻻزم ﻧﻴﺴﺖ ﺣﺘﻤﺎ در اﺑﺘﺪا ﻳﺎ اﻧﺘﻬﺎي آن ﻣﻘﺎدﻳﺮ ﺑﺎﺷﺪ .ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد. SAL
DEPTNO
ENAME
1100
20
ADAMS
950
30
JAMES
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
182
ﭘﺎﻳﮕﺎه دادهﻫﺎ
- 8اﺳﺘﻔﺎده از ﭘﺮس و ﺟﻮﻫﺎي ﺗﻮدرﺗﻮ
1
در ﺑﺴﻴﺎري از ﻣﻮارد ﻣﻘﺎدﻳﺮ ﻣﻮرد ﻧﻈﺮ در ﻋﺒﺎرت whereﺧﻮد ﺑﺼﻮرت ﻣﺸﺨﺺ ﻧﺒﻮده و ﺑﺮ اﺳﺎس ﻳﻚ ﻋﺒﺎرت ﭘﺮس و ﺟﻮس دﻳﮕﺮ ﺑﺪﺳﺖ ﻣﻲ اﻳﻨﺪ .در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﻻزم اﺳﺖ ﺗﺎ ﺑﺠﺎي اﺳﺘﻔﺎده از ﻋﺒﺎرات ﺟﺪاﮔﺎﻧﻪ ،از ﻋﺒﺎرات ﺗﻮدرﺗﻮ اﺳﺘﻔﺎده ﻛﺮد ﺗﺎ ﺧﺮوﺟﻲ ﻫﺮ ﻳﻚ از ﻋﺒﺎرات دروﻧﻲ ﺑﻌﻨﻮان ﻣﻘﺎدﻳﺮ ﻣﻮرد اﺳﺘﻔﺎده در ﻋﺒﺎرت ﺑﻴﺮوﻧﻲ ﺗﺮ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﻮد .در اداﻣﻪ اﻧﻮاﻋﻲ از ﻋﺒﺎرات ﺗﻮدرﺗﻮ را ﻧﺸﺎن ﺧﻮاﻫﻴﻢ داد.
1- 8اﺳﺘﻔﺎده از زﻳﺮﭘﺮﺳﺶﻫﺎ ) 2ﭘﺮﺳﺶﻫﺎي ﻓﺮﻋﻲ( ﻳﻜﻲ از ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان اﻣﻜﺎن ﻃﺮح ﭘﺮﺳﺸﻲ درون ﭘﺮﺳﺶ دﻳﮕﺮ ﻣﻲ ﺑﺎﺷﺪ .ﻫﺮ ﮔﺎه ﺑﺨﻮاﻫﻴﻢ ﭘﺮﺳﺸﻲ را درون ﭘﺮﺳﺸﻲ دﻳﮕﺮ ﻣﻄﺮح ﻧﻤﺎﻳﻴﻢ ،ﺑﻪ آن زﻳﺮ ﭘﺮﺳﺶ ﻣﻲ ﮔﻮﻳﻨﺪ. ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻫﺮ ﭘﺮﺳﺸﻲ ﭼﻪ ﺑﺼﻮرت ﭘﺮﺳﺶ ﺑﻴﺮوﻧﻲ ﺑﺎﺷﺪ و ﻳﺎ ﺑﺼﻮرت ﭘﺮﺳﺶ دروﻧﻲ ،ﻻزم اﺳﺖ ﻛﻪ ﺑﺎ ﻋﺒﺎرت
Select
آﻏﺎز ﮔﺮدد .زﻳﺮ ﭘﺮﺳﺶ ﻫﺎ ﻣﻌﻤﻮﻻً ﺑﻌﻨﻮان
ﻗﺴﻤﺘﻲ از ﻋﺒﺎرت Whereﺑﻜﺎر ﻣﻲروﻧﺪ. 3
ﻋﺒﺎراﺗﻲ ﻛﻪ ﺑﺼﻮرت زﻳﺮﭘﺮﺳﺶ ﺑﺎﺷﻨﺪ ﻣﻌﻤﻮﻻً ﻣﻲﺗﻮاﻧﻨﺪ ﺑﺼﻮرت ﺗﻮدرﺗﻮ ﻧﻮﺷﺘﻪ ﺷﻮﻧﺪ .در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﺮاي اﺟﺮاي ﻫﺮ ﻋﺒﺎرت ﺑﻴﺮوﻧﻲ ﻻزم اﺳﺖ اﺑﺘﺪا ﻋﺒﺎرت ﺟﺴﺘﺠﻮي دروﻧﻲ ﻣﺤﺎﺳﺒﻪ ﺷﺪه و ﺳﭙﺲ ﻋﺒﺎرت ﺑﻴﺮوﻧﻲ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﮔﻴﺮد .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ ﻣﺴﻴﺮ ﺣﻞ در ﻋﺒﺎرات ﺗﻮدرﺗﻮ از دروﻧﻲ ﺗﺮﻳﻦ ﻋﺒﺎرت ﺑﻪ ﺳﻤﺖ ﺑﻴﺮوﻧﻲ ﺗﺮﻳﻦ ﻋﺒﺎرت ﺧﻮاﻫﺪ ﺑﻮد .ﻋﺒﺎرت زﻳﺮ ﺑﻌﻨﻮان ﻧﻤﻮﻧﻪاي از اﻳﻦ ﻧﻮع ﭘﺮﺳﺶﻫﺎ ﻣﻲﺑﺎﺷﺪ: Select ename,deptno,sal From EMP Where Sal > (Select AVG (sal) as Xval )From EMP
ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ:
1. n es t e d Q u e r i e s 2. Su b q u e ry 3. N es t e d
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 183 SQL
2- 8ﻋﻤﻠﮕﺮ
SAL
DEPTNO
ENAME
2975
20
JONES
2850
30
BLAKE
2450
10
CLARK
3000
20
SCOTT
5000
10
KING
3000
20
FORD
IN
ﻣﻌﻤﻮﻻً در زﻳﺮ ﭘﺮﺳﺶ ﻫﺎ ﺷﺮاﻳﻂ ﺑﮕﻮﻧﻪ اﻳﺴﺖ ﻛﻪ ﻛﺎرﺑﺮ ﻣﻲ ﺧﻮاﻫﺪ ﻣﻘﺪاري را از ﺑﻴﻦ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﺑﺪﺳﺖ آورد .ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر از ﻋﻤﻠﮕﺮ اﻳﻦ ﻋﻤﻠﮕﺮ ﺗﻘﺮﻳﺒﺎ ﺷﺒﻴﻪ ﺑﻪ ﻋﻤﻠﮕﺮ
Between
IN
اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد.
ﻣﻲ ﺑﺎﺷﺪ ﺑﺎ اﻳﻦ ﺗﻔﺎوت ﻛﻪ ﻣﻘﺪاري را
درون ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﻣﻮرد ﺟﺴﺘﺠﻮ ﻗﺮار ﻣﻲ دﻫﺪ .ﻣﺜﺎل زﻳﺮ ﻧﻤﻮﻧﻪ اﻳﺴﺖ از ﻋﺒﺎراﺗﻲ ﻛﻪ ﺑﺪﻳﻦ ﺻﻮرت ﻧﻮﺷﺘﻪ ﻣﻲ ﺷﻮﻧﺪ: Select ename,sal From emp Where empno IN (Select empno From emp )Where sal >2000
ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرت ﺑﺎﻻ ﺑﻪ ﺻﻮرت ﺟﺪول زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ: SAL
ENAME
2975
JONES
2850
BLAKE
2450
CLARK
3000
SCOTT
5000
KING
3000
FORD
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
184
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﺳﺌﻮال ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ ﻋﺒﺎرت ﻣﺬﻛﻮر را ﻣﻲﺗﻮان ﺑﺼﻮرﺗﻲ ﺳﺎدهﺗﺮ ﻧﻴﺰ ﻧﻮﺷﺖ ﻛﻪ در آن ﻧﻴﺎزي ﺑﻪ اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ
IN
ﻧﺒﺎﺷﺪ .در اﻳﻨﺠﺎ ﻻزم اﺳﺖ
ﮔﻔﺘﻪ ﺷﻮد ﻛﻪ ﻋﺒﺎرت ﻣﺬﻛﻮر ﻓﻘﻂ ﺟﻬﺖ ﻧﺸﺎن دادن ﻧﺤﻮه اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ INﻣﻲﺑﺎﺷﺪ. ﻳﻜﻲ از ﻧﻜﺎت ﻛﻠﻴﺪي در اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ ﻣﺬﻛﻮر اﻳﻦ اﺳﺖ ﻛﻪ ﺑﺎﻳﺪ زﻳﺮﭘﺮﺳﺶ ﺟﻠﻮي ﻋﻤﻠﮕﺮ INﺣﺘﻤﺎ داراي ﻳﻚ ﺳﺘﻮن ﻫﻤﻨﻮع ﺑﺎ ﺳﺘﻮن ﻣﻮرد ﭘﺮﺳﺶ ﺑﺎﺷﺪ و ﻧﻤﻲﺗﻮان در زﻳﺮﭘﺮﺳﺶ از ﻫﺮ ﺳﺘﻮﻧﻲ ﺑﻌﻨﻮان ﺧﺮوﺟﻲ اﺳﺘﻔﺎده ﻛﺮد.
3- 8ﻋﻤﻠﮕﺮ
EXISTS
ﻳﻜﻲ دﻳﮕﺮ از ﻋﺒﺎرات ﻣﻮرد اﺳﺘﻔﺎده در ﭘﺮس و ﺟﻮﻫﺎي ﺗﻮدرﺗﻮ ،اﺳﺘﻔﺎده از ﻛﻠﻤﻪ ﻛﻠﻴﺪي
EXISTS
ﻣﻲ ﺑﺎﺷﺪ .اﻳﻦ دﺳﺘﻮر ﻧﻴﺰ ﺗﺎ ﺣﺪودي ﺷﺒﻴﻪ ﺑﻪ ﻛﻠﻤﻪ ﻛﻠﻴﺪي
ﻣﻲ ﺑﺎﺷﺪ .ﻣﻌﻤﻮﻻً از ﻋﻤﻠﮕﺮ
EXISTS
اﻳﻦ ﻋﻤﻠﮕﺮ ﻣﻲ ﺗﻮان در ﻗﺴﻤﺖ اﺳﺘﻔﺎده ﻛﺮد .ﻋﻤﻠﮕﺮ
EXISTS
IN
ﺑﻪ ﻧﺪرت اﺳﺘﻔﺎده ﻣﻲﺷﻮد .در ﻫﻨﮕﺎم اﺳﺘﻔﺎده از
Where
ﻋﺒﺎرت دروﻧﻲ از ﻣﻘﺎدﻳﺮ ﻋﺒﺎرت ﺑﻴﺮوﻧﻲ
ﺗﺎ ﺣﺪودي ﺑﺎ ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻋﺒﺎرات ﭘﺮس
و ﺟﻮي ﺗﻮدرﺗﻮ ﻣﺘﻔﺎوت ﻣﻲ ﺑﺎﺷﺪ .زﻳﺮا ﺗﺮﻛﻴﺒﻲ از ﻣﻘﺎدﻳﺮ ﻣﺮﺑﻮط ﺑﻪ ﻋﺒﺎرات ﺑﻴﺮوﻧﻲ و دروﻧﻲ درون ﺷﺮط ﻋﺒﺎرات دروﻧﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد .ﺑﺮاي ﻣﺜﺎل ﺑﻪ ﻋﺒﺎرت زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ .ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﻛﻨﻴﺪ ﻣﻘﺪار ﺻﻔﺖ ﺧﺎﺻﻪ
STID
از راﺑﻄﻪ ﺑﻴﺮوﻧﻲ در
ﻗﺴﻤﺖ WHEREﻋﺒﺎرت دروﻧﻲ ﻣﻮرد ﻣﻘﺎﻳﺴﻪ ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ. SELECT STNAME FROM STT * WHERE EXISTS (SELECT FROM STCOT WHERE STCOT.STID = STT.STID )'AND COID = '1234
- 9دﺳﺘﻮرات ﻛﻨﺘﺮل ﻣﺠﻮز دﺳﺘﺮﺳﻲ دﺳﺘﻮرات ﻛﻨﺘﺮل ﻛﻨﻨﺪه ﻣﺠﻮز دﺳﺘﺮﺳﻲ در ﭘﺎﻳﮕﺎه ﻫﺎي داده ﺑﻪ دو ﺻﻮرت ﻛﻠﻲ زﻳﺮ ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮد: •
دﺳﺘﺮﺳﻲ ﺑﻪ دادهﻫﺎ
•
دﺳﺘﺮﺳﻲ ﺑﻪ اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺘﻲ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 185 SQL
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﺑﺤﺚ دﺳﺘﺮﺳﻲ ﺑﻪ اﻣﻜﺎﻧﺎت ﻣﺪﻳﺮﻳﺘﻲ در اﻳﻦ ﻗﺴﻤﺖ از ﻛﺘﺎب ﻣﻄﺮح ﻧﻴﺴﺖ ،ﻟﺬا ﺻﺮﻓﺎ ﻛﻨﺘﺮل دﺳﺘﺮﺳﻲ ﺑﻪ داده ﻫﺎ ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮد .دﺳﺘﻮرات ﻛﻨﺘﺮل ﻛﻨﻨﺪه دﺳﺘﺮﺳﻲ ﺑﻪ دادهﻫﺎ ﺑﻪ ﺷﺮح زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ: • •
1
دﺳﺘﻮر اﻋﻄﺎ اﺧﺘﻴﺎرات 2
دﺳﺘﻮر ﻟﻐﻮ اﺧﺘﻴﺎرات
1- 9دﺳﺘﻮر اﻋﻄﺎ اﺧﺘﻴﺎرات ﺑﺮاي اﻋﻄﺎ اﻣﺘﻴﺎز از دﺳﺘﻮر
GRANT
اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد .ﺷﻜﻞ ﻛﻠﻲ اﻳﻦ دﺳﺘﻮر ﺑﻪ ﺷﺮح
زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ: GRANT Privileges | ALL Privileges ON Object ;]TO Users [WITH GRANT OPTION
در ﻗﺴﻤﺖ Privilegesاز ﻳﻜﻲ ﻳﺎ ﺗﺮﻛﻴﺒﻲ از ﻛﻠﻤﺎت زﻳﺮ اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد: INSERT DELETE UPDATE SELECT
در ﻗﺴﻤﺖ
Object
ﻳﻜﻲ از اﺷﻴﺎء ﻣﻮﺟﻮد در
Schema
ﻳﻚ ﻛﺎرﺑﺮ اﻧﺘﺨﺎب ﺷﺪه و در
ﻗﺴﻤﺖ Usersﻧﺎم ﻳﻜﻲ از ﻛﺎرﺑﺮان ﭘﺎﻳﮕﺎه داده اﻧﺘﺨﺎب ﻣﻲ ﮔﺮدد. ﻋﺒﺎرت
WITH GRANT OPTION
در ﻣﻮاردي ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮد ﻛﻪ
ﺑﺨﻮاﻫﻴﻢ ﺟﺪا از اﻋﻄﺎ اﺧﺘﻴﺎرات ﻣﺬﻛﻮر ﺑﻪ ﻳﻚ ﻛﺎرﺑﺮ ،ﺑﻪ او اﺟﺎزه دادن ﻫﻤﺎن اﺧﺘﻴﺎرات ﺑﻪ ﻛﺎرﺑﺮ دﻳﮕﺮي را ﻧﻴﺰ ﺑﺪﻫﻴﻢ .ﺑﺮاي درك ﺑﻬﺘﺮ ﻣﻮﺿﻮع ﺑﻪ ﻋﺒﺎرات زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ: Grant delete,update,insert ON EMP ;TO ALI Grant select On dept ;]TO PERSON[With Grant Option 1. G ra n t 2. R e vo ke
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
186
ﭘﺎﻳﮕﺎه دادهﻫﺎ
2- 9دﺳﺘﻮر ﻟﻐﻮ اﺧﺘﻴﺎرات ﺑﺮاي ﻟﻐﻮ اﻣﺘﻴﺎز از دﺳﺘﻮر
REVOKE
اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد .ﺷﻜﻞ ﻛﻠﻲ اﻳﻦ دﺳﺘﻮر ﺑﻪ ﺷﺮح
زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ: REVOKE Privileges | ALL Privileges ON Object FROM Users
در ﻗﺴﻤﺖ Privilegesاز ﻳﻜﻲ ﻳﺎ ﺗﺮﻛﻴﺒﻲ از ﻛﻠﻤﺎت زﻳﺮ اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد:
INSERT DELETE UPDATE SELECT
در ﻗﺴﻤﺖ ﻗﺴﻤﺖ
ﻳﻜﻲ از اﺷﻴﺎء ﻣﻮﺟﻮد در
Object
Users
Schema
ﻳﻚ ﻛﺎرﺑﺮ اﻧﺘﺨﺎب ﺷﺪه و در
ﻧﺎم ﻳﻜﻲ از ﻛﺎرﺑﺮان ﭘﺎﻳﮕﺎه داده اﻧﺘﺨﺎب ﻣﻲ ﮔﺮدد .ﺑﺮاي درك ﺑﻬﺘﺮ
ﻣﻮﺿﻮع ﺑﻪ ﻋﺒﺎرات زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ: Revoke select On DEPT ;FROM ALI
-10اﻣﻜﺎﻧﺎت و وﻳﮋﮔﻲﻫﺎي SQL2و
SQL3
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻮﺿﻴﺤﺎت اراﺋﻪ ﺷﺪه در ﺧﺼﻮص زﺑﺎن ،SQLدر اداﻣﻪ درﺧﺼﻮص اﻣﻜﺎﻧﺎت و وﻳﮋﮔﻲ ﻫﺎي دو زﺑﺎن اﺳﺘﺎﻧﺪارد
SQL2
و
SQL3
ﺑﻪ اﺧﺘﺼﺎر ﻣﻄﺎﻟﺒﻲ ﺑﻴﺎن
ﺷﺪه اﺳﺖ.
1- 10اﻣﻜﺎﻧﺎت اﻳﻦ ﻧﺴﺨﻪ از
SQL2
SQL
در ﺳﺎل 1992ﻣﻴﻼدي ﺑﻪ ﻋﻨﻮان
SQL
اﻳﻦ ﻧﺴﺨﻪ در واﻗﻊ ﻧﺴﺨﻪ ﺗﺼﺤﻴﺢ ﺷﺪه و ﻛﺎﻣﻠﺘﺮ ﻧﺴﺨﻪ اﻣﻜﺎﻧﺎﺗﻲ ﺑﻪ ﻧﺴﺨﻪ
SQL1
اﺳﺘﺎﻧﺪارد ﻣﻌﺮﻓﻲ ﮔﺮدﻳﺪ.
SQL1
اﻓﺰوده ﺷﺪه و ﻳﺎ ﺑﻌﻀﻲ از دﺳﺘﻮرات
در اداﻣﻪ ﺗﻐﻴﻴﺮات اﻋﻤﺎل ﺷﺪه ﺑﻪ اﺧﺘﺼﺎر آﻣﺪه اﺳﺖ:
Ramin.Samad@yahoo.com
ﺑﻮد .در اﻳﻦ دﺳﺘﻮر
SQL1
ﻛﺎﻣﻞ ﺗﺮ ﺷﺪﻧﺪ.
WWW.IRANMEET.COM
آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 187 SQL •
اﻓﺰودن دﺳﺘﻮرات ﻣﺮﺑﻮط ﺑﻪ اﻳﺠﺎد ،اﺻﻼًح و ﺣﺬف
•
ﺗﻜﻤﻴﻞ دﺳﺘﻮرات ﻣﺮﺑﻮط ﺑﻪ اﻳﺠﺎد و ﺣﺬف ﺟﺪول
•
اﻓﺰودن دﺳﺘﻮر اﺻﻼًح ﺟﺪول
•
اﻓﺰودن دﺳﺘﻮر ﺗﻌﺮﻳﻒ ﺟﺪول ﻣﻮﻗﺖ
•
اﻣﻜﺎن ﻧﻮﺷﺘﻦ .Selectاز ﻳﻚ Selectدﻳﮕﺮ
•
اﻣﻜﺎن ﻧﻮﺷﺘﻦ Selectﺑﻌﺪ از
•
ﺗﻜﻤﻴﻞ دﺳﺘﻮر
•
اﺻﻼًح و ﺗﻜﻤﻴﻞ ﻋﻤﻠﮕﺮﻫﺎي ﺧﺎص ﻣﺎﻧﻨﺪ ﻓﺮااﺟﺘﻤﺎع ،اﺳﻜﺎﻟﺮ و...
•
اﻓﺰودن اﻣﻜﺎﻧﺎت ﺟﺎﻣﻌﻴﺘﻲ و اﻳﻤﻨﻲ و...
2-10اﻣﻜﺎﻧﺎت اﻳﻦ ﻧﺴﺨﻪ از
Domain
WHERE
JOIN
SQL3 SQL
ﺑﺮاي ﻣﺤﻴﻂ ﻫﺎي
ORDBMS
ﭘﮋوﻫﺸﮕﺮان ﺑﻪ اﻳﻦ ﻧﺘﻴﺠﻪ رﺳﻴﺪﻧﺪ ﻛﻪ ﺗﻜﻨﻮﻟﻮژي ﻫﺎي
1
ﺗﻮﻟﻴﺪ ﺷﺪه اﺳﺖ .در واﻗﻊ
RDBMS
و
OODBMS
ﻫﻴﭽﻴﻚ
ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﻛﺎﻣﻞ ﻧﺒﻮده و ﺻﺮﻓﺎ ﺗﺮﻛﻴﺐ اﻳﻦ دو ﺗﻜﻨﻮﻟﻮژي ﭘﺎﺳﺨﮕﻮي ﻧﻴﺎزﻫﺎي آﺗﻲ ﺧﻮاﻫﺪ ﺑﻮد .ﻟﺬا ﺗﺼﻤﻴﻢ ﮔﺮﻓﺘﻪ ﺷﺪ ﻧﺴﺨﻪ اي از
SQL
اراﺋﻪ ﮔﺮدد ﺗﺎ ﭘﺎﺳﺨﮕﻮي
ﻧﻴﺎزﻫﺎي آﺗﻲ ﺑﺎﺷﺪ .دراﻳﻦ ﻧﺴﺨﻪ اﻣﻜﺎﻧﺎت زﻳﺮ اﻓﺰوده ﺷﺪه اﻧﺪ. •
اﻳﺠﺎد اﻣﻜﺎن ﺗﻌﺮﻳﻒ اﻧﻮاع دادهﻫﺎي ﺟﺪﻳﺪ .ﻣﺪل داده اي ﻗﻮي ﺗﺮ ﺑﺮاي ﻧﻤﺎﻳﺶ دادهﻫﺎﻳﻲ ﻛﻪ اﻣﻜﺎن ﻧﻤﺎﻳﺶ آﻧﻬﺎ ﺑﺎ ﺳﺎﺧﺘﺎر ﺟﺪوﻟﻲ وﺟﻮد ﻧﺪارد.
•
روﻳﻪ اي ﺷﺪن زﺑﺎن .ﺑﻪ ﻧﺤﻮي ﻛﻪ
SQL
را از ﻧﻈﺮ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي و ﻣﺤﺎﺳﺒﺎﺗﻲ
ﻛﺎﻣﻞ و اﻧﺮا ﺑﻪ ﻳﻚ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﺗﺒﺪﻳﻞ ﻣﻲﻛﻨﺪ. •
2
اﻳﺠﺎد اﻣﻜﺎن راهاﻧﺪاز .راهاﻧﺪاز ﻗﺎﻋﺪه )ﻣﺤﺪودﻳﺖ( و ﻳﺎ ﻗﻮاﻋﺪي اﺳﺖ ﻛﻪ ﻗﺒﻞ ﻳﺎ ﺑﻌﺪ از ﺑﺮوز ﻳﻚ روﻳﺪاد در ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﻳﺎ ﺑﺠﺎي ﻳﻚ روﻳﺪاد ﺑﺎﻳﺪ اﻋﻤﺎل ﮔﺮدد .اﻳﻦ ﻗﺎﻋﺪه ﻳﺎ ﻣﺤﺪودﻳﺖ در ﺳﻄﺢ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ،ﺑﺼﻮرت روﻳﻪ اي از ﭘﻴﺶ ﺗﻌﺮﻳﻒ ﺷﺪه اﺳﺖ ﻛﻪ ﺑﺼﻮرت ﺷﺮﻃﻲ ﻳﺎ ﻏﻴﺮ ﺷﺮﻃﻲ ،ﻗﺒﻞ ﻳﺎ ﺑﻌﺪ از اﻧﺠﺎم ﻳﻚ ﻋﻤﻞ در ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺼﻮرت اﺗﻮﻣﺎﺗﻴﻚ اﺟﺮا ﻣﻲﺷﻮد 1. O b j e c t R e l a t i o n al D a ta b a s e M a n a ge me n t Sy s t e m 2. T ri gge r
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
188
ﺗﻤﺮﻳﻨﺎت راﺑﻄﻪ ﻫﺎي زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ:1 ﺗﻤﺮﻳﻦ Student (SID, Name, Major, Gradelevel, Age) Class (Name, Time, Room) Enrollment (Student Number, Class Name, Polition Number) Junior (Snum, Name, Major) Honor-Student (Number, Name, Interset) Facuity (FID, Name, Department) STUDENT SID
Name
Major
Gradelevel
Age
J P B G B RU R J
Hestory Acount Math Hestory Acount Math Acount Hestory
G S G S S J F S
21 19 50 50 41 20 18 24
100 150 200 250 300 350 400 450
Enrollment Student Num 100 150 200 250 300
Class Name
Polition Num
BD445 BA200 BD445 CS250 CS150
Ramin.Samad@yahoo.com
1 1 2 1 1
WWW.IRANMEET.COM
189 SQL آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي 350 400 450
BA200 BF410 CS250
2 1 2
Class Name
Time
Room
BA200 BD445 BF410 CS150 CS250
F9 F3 F8 F3 F12
110 213 213 314 210
ﺧﺮوﺟﻲ ﺣﺎﺻﻞ از ﻋﺒﺎرات زﻳﺮ را ﺑﺪت آورﻳﺪ؟ SELECT Name,Major,Age FROM Student WHERE Major = ' Acount' ORDER by Name SELECT Name,Major,Age FROM Student WHERE Gradelevel IN ['F', 'S'] SELECT Count (*) FROM Student SELECT Count (DISTINCT Major) FROM Student SELECT Major, Count(*) FROM Student Order By Major SELECT Major, Count(*) FROM Student GROUP By Major HAVING Count (*) > 2 SELECT Major, AVG(Age) FROM Student WHERE Gradelevel = 'S' GROUP By Major HAVING COUNT (*) > 1
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
190
SELECT Name FROM Student WHERE SID IN (SELECT Student Number FROM Enrollment WHERE Class Name = '445' )
:2 ﺗﻤﺮﻳﻦ ﺑﺮ، ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﻗﻄﻌﺎت و ﭘﺮوژهﻫﺎ ﺑﻪ ﺷﺮح زﻳﺮ ﺗﻨﻈﻴﻢ ﺷﺪه اﺳﺖ اﺳﺎس آﻧﻬﺎ ﺑﻪ ﺳﻮاﻻت ﻣﻄﺮح ﺷﺪه ﭘﺎﺳﺦ دﻫﻴﺪ ؟ S { S# , SNAME , STATUS , CITY } PRIMARY KEY { S# } P { P# , PNAME , COLOR , WEIGHT , CITY } PRIMARY KEY { P# } J { J# , JNAME , CITY } PRIMARY KEY { J# } SPJ { S# , P# , J# , QTY } PRIMARY KEY { S# , P# , J# } FOREIGN KEY { S# } REFRENCES S FOREIGN KEY { P# } REFRENCES P FOREIGN KEY { J# } REFRENCES J
ﺷﻤﺎره ﻗﻄﻌﺎﺗﻲ را ﻣﺸﺨﺺ ﻛﻨﻴﺪ ﻛﻪ ﺑﻴﺶ از ﻳﻚ ﻋﺮﺿﻪ ﻛﻨﻨﺪه آﻧﻬﺎ را ﻋﺮﺿﻪ ﻣﻲ ﻛﻨﻨﺪ؟ را ﻋﺮﺿﻪ ﻧﻤﻲ ﻛﻨﻨﺪ ؟P2 اﺳﺎﻣﻲ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ ﻛﻪ ﻗﻄﻌﻪ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
191 SQL آﺷﻨﺎﻳﻲ ﺑﺎ زﺑﺎن راﺑﻄﻪاي
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
: ;( !" # ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ اﺑﺘﺪا ﺗﻌﺮﻳﻔﻲ از راﺑﻄﻪ ﻧﺮﻣﺎل را اراﺋﻪ ﻛﺮده و ﻣﻌﺎﻳﺐ و ﻣﺰاﻳﺎي راﺑﻄﻪ ﻫﺎي ﻧﺮﻣﺎل و ﻏﻴﺮﻧﺮﻣﺎل را ﺑﻴﺎن ﺧﻮاﻫﻴﻢ ﻛﺮد .ﺳﭙﺲ ﺑﺎ ﻣﻔﻬﻮم ﺗﺌﻮري واﺑﺴﺘﮕﻲ و در اداﻣﻪ ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ،واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ و ﺣﺎﻟﺘﻬﺎي واﺑﺴﺘﮕﻲ آﺷﻨﺎ ﺧﻮاﻫﻴﻢ ﺷﺪ .در اداﻣﻪ ﻣﻔﻬﻮم ﻧﺮﻣﺎل ﺳﺎزي و اﻧﻮاع ﺻﻮرت ﻫﺎي ﻧﺮﻣﺎل راﺑﻄﻪ ﻫﺎ را ﺑﻪ ﺗﻔﺼﻴﻞ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد.
ﻫﺪف رﻓﺘﺎري دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﺗﻌﺮﻳﻒ راﺑﻄﻪ ﻧﺮﻣﺎل
•
ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪﻫﺎي ﻧﺮﻣﺎل
•
ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪﻫﺎي ﻏﻴﺮ ﻧﺮﻣﺎل
•
ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ و اﻧﻮاع واﺑﺴﺘﮕﻲﻫﺎ
•
ﺣﺎﻟﺘﻬﺎي واﺑﺴﺘﮕﻲ
•
ﻧﻤﻮدار واﺑﺴﺘﮕﻲﻫﺎي ﺗﺎﺑﻌﻲ
•
ﺻﻮرتﻫﺎي ﻧﺮﻣﺎل
•
ﻓﺮاﻳﻨﺪ ﻧﺮﻣﺎل ﺳﺎزي
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
194
ﭘﺎﻳﮕﺎه دادهﻫﺎ
-1ﺗﻌﺮﻳﻒ راﺑﻄﻪ ﻧﺮﻣﺎل ﻳﻜﻲ از ﻣﻬﻢ ﺗﺮﻳﻦ ﻣﺒﺎﺣﺚ در ﭘﺎﻳﮕﺎه ﻫﺎي داده راﺑﻄﻪ اي ،ﺑﺤﺚ ﻧﺮﻣﺎل ﺳﺎزي راﺑﻄﻪ ﻫﺎ اﺳﺖ .ﺣﺎل اﻳﻦ ﺳﺌﻮال ﺑﻪ ذﻫﻦ ﻣﻲ رﺳﺪ ﻛﻪ اﺻﻮﻻ راﺑﻄﻪ ﻧﺮﻣﺎل ﭼﻴﺴﺖ .در اداﻣﻪ ﺗﻌﺎرﻳﻔﻲ از راﺑﻄﻪ ﻧﺮﻣﺎل را اراﺋﻪ ﻣﻲ ﻛﻨﻴﻢ. •
ﺗﻌﺮﻳﻒ اول :راﺑﻄﻪ ﻧﺮﻣﺎل راﺑﻄﻪاي اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮ ﺗﻤﺎم ﺻﻔﺎﺗﺶ ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ ﺑﺎﺷﻨﺪ.
•
ﺗﻌﺮﻳﻒ دوم :راﺑﻄﻪ ﻧﺮﻣﺎل راﺑﻄﻪاي اﺳﺖ ﻛﻪ ﻣﻘﺎدﻳﺮ ﻫﻴﭽﻴﻚ از ﻣﻴﺪاﻧﻬﺎﻳﺶ ،ﻳﻚ ﻣﻘﺪار راﺑﻄﻪاي ﺑﺎ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ ﺑﺰرﮔﺘﺮ از ﻳﻚ ﻧﺒﺎﺷﺪ.
در ﺗﻮﺻﻴﻒ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻳﻚ ﻣﻘﺪار ﺳﺎده ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ را ﻣﻲ ﺗﻮان ﻳﻚ ﻣﻘﺪار راﺑﻄﻪ اي از درﺟﻪ ﻳﻚ و ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ ﻳﻚ داﻧﺴﺖ .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ در ﺑﺪﻧﻪ راﺑﻄﻪ ﻧﺮﻣﺎل ،ﺻﻔﺖ ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ ﭼﻨﺪ ﻣﻘﺪاري وﺟﻮد ﻧﺪارد و اﺻﻄﻼﺣﺎ ﻣﻲ ﮔﻮﻳﻴﻢ راﺑﻄﻪ ﻣﺴﻄﺢ اﺳﺖ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل را ﻣﻲ ﺗﻮان ﺑﺼﻮرت زﻳﺮ ﺗﻮﺻﻴﻒ ﻛﺮد: راﺑﻄﻪ اي ﻛﻪ در آن ﻣﻘﺎدﻳﺮ ﺣﺪاﻗﻞ ﻳﻚ ﺻﻔﺖ ،ﺧﻮد ﻣﻘﺎدﻳﺮ راﺑﻄﻪ اي ﺑﺎﺷﻨﺪ را راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل ﮔﻮﻳﻴﻢ .ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﺻﻔﺖ ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ ﭼﻨﺪ ﻣﻘﺪاري داﺷﺘﻪ ﺑﺎﺷﺪ ،راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل اﺳﺖ.
1-1دﻻﻳﻞ ﻟﺰوم ﻧﺮﻣﺎل ﺑﻮدن راﺑﻄﻪ ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﻲ داﻧﻴﺪ ﻧﺮﻣﺎل ﺑﻮدن راﺑﻄﻪ دﻟﻴﻞ رﻳﺎﺿﻲ ﻧﺪارد و ﻣﻲ ﺗﻮان ﮔﻔﺖ ﺻﺮﻓﺎ ﺟﻨﺒﻪ ﺳﺎدﮔﻲ آن ﻣﻄﺮح اﺳﺖ .ﺳﺎدﮔﻲ ﻋﻨﺼﺮ اﺳﺎﺳﻲ ﺳﺎﺧﺘﺎر راﺑﻄﻪ اي ﺧﻮد ﺳﺎدﮔﻲﻫﺎي زﻳﺮ را در ﺑﺮ دارد: •
ﺳﺎدﮔﻲ در ﻧﻤﺎﻳﺶ ﻇﺎﻫﺮي راﺑﻄﻪ
•
ﺳﺎدﮔﻲ دﺳﺘﻮرات زﺑﺎن
•
ﺳﺎدﮔﻲ اﺟﺮاي ﻋﻤﻠﻴﺎت در ﭘﺎﻳﮕﺎهداده
2-1ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻧﺮﻣﺎل راﺑﻄﻪ ﻧﺮﻣﺎل ﻣﻌﺎﻳﺒﻲ دارد ﻛﻪ ﺑﻪ ﺷﺮح ذﻳﻞ آﻣﺪه اﺳﺖ:
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻧﺮﻣﺎل ﺳﺎزي 195 •
ﺑﺮوز ﭘﺪﻳﺪه اﻓﺰوﻧﮕﻲ ﻛﻪ ﻣﻲﺗﻮاﻧﺪ ﻓﻴﺰﻳﻜﻲ ﻫﻢ ﺑﺎﺷﺪ.
•
ﻃﻮﻻﻧﻲ ﺗﺮ ﺷﺪن ﻛﻠﻴﺪ راﺑﻄﻪ
•
ﻋﺪم اﻣﻜﺎن ﻧﻤﺎﻳﺶ دادهﻫﺎي ﭘﻴﭽﻴﺪه
•
دﺷﻮاري در ﻧﻤﺎﻳﺶ ﻃﺒﻴﻌﻲ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ
•
دﺷﻮاري در ﻧﻤﺎﻳﺶ ﻣﻔﻬﻮم وراﺛﺖ
3-1ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل ﻧﻴﺰ داراي ﻣﺰاﻳﺎﻳﻲ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ •
ﻛﺎﻫﺶ ﻣﻴﺰان اﻓﺰوﻧﮕﻲ
•
ﻛﻮﺗﺎه ﺷﺪن ﻛﻠﻴﺪ
•
اﻣﻜﺎن ﻧﻤﺎﻳﺶ دادهﻫﺎي ﭘﻴﭽﻴﺪه
•
دﺷﻮاري ﻛﻤﺘﺮ در ﻧﻤﺎﻳﺶ ﻣﻔﻬﻮم ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ
•
دﺷﻮاري ﻛﻤﺘﺮ در ﻧﻤﺎﻳﺶ ﻣﻔﻬﻮم وراﺛﺖ
•
اﻓﺰاﻳﺶ ﺳﺮﻋﺖ ﻋﻤﻠﻴﺎت )در ﺑﻌﻀﻲ ﻣﻮارد( در ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎ
ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ در ﻛﻨﺎر اﻳﻦ ﻣﺰاﻳﺎ ،راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل ﺧﻮد ﻧﻴﺰ داراي ﻣﻌﺎﻳﺒﻲ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ اﻳﻦ ﻣﻌﺎﻳﺐ در ذﻳﻞ آﻣﺪه اﺳﺖ: •
ﭘﻴﭽﻴﺪﮔﻲ در ﻧﻤﺎﻳﺶ دادهﻫﺎ
•
ﭘﻴﭽﻴﺪﮔﻲ در ﻧﮕﺎرش دﺳﺘﻮرات
•
ﭘﻴﭽﻴﺪﮔﻲ در اﺟﺮاي دﺳﺘﻮرات
-2ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ
1
در ﺑﺤﺚ ﻧﺮﻣﺎل ﺳﺎزي راﺑﻄﻪﻫﺎ ،ﺑﻪ ﻣﻔﺎﻫﻴﻢ ﺗﺌﻮري واﺑﺴﺘﮕﻲ ﻧﻴﺎز دارﻳﻢ .در اﻳﻦ ﻗﺴﻤﺖ ﺑﺎ ﺑﺮﺧﻲ ﻣﻔﺎﻫﻴﻢ واﺑﺴﺘﮕﻲ آﺷﻨﺎ ﻣﻲ ﺷﻮﻳﻢ.
1. D e pe n d e n c y
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
196
ﭘﺎﻳﮕﺎه دادهﻫﺎ
1-2اﻧﻮاع واﺑﺴﺘﮕﻲﻫﺎ واﺑﺴﺘﮕﻲ داراي ﺣﺎﻻت ﻣﺨﺘﻠﻔﻲ اﺳﺖ ﻛﻪ در ذﻳﻞ آﻣﺪه اﺳﺖ: 1
•
واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ
•
واﺑﺴﺘﮕﻲ ﭘﻴﻮﻧﺪي
•
واﺑﺴﺘﮕﻲ ﭼﻨﺪ ﻣﻘﺪاري
2 3
1-1-2واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻣﻬﻤﺘﺮﻳﻦ ﻧﻮع واﺑﺴﺘﮕﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ اﺳﺖ .در ﺣﺎﻟﺖ ﻛﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ را ﻣﻲ ﺗﻮان اﻳﻨﮕﻮﻧﻪ ﺗﻮﺻﻴﻒ ﻛﺮد: اﮔﺮ
A
و
B
دو ﺻﻔﺖ در ﺷﻤﺎي
R
ﺑﺎﺷﻨﺪ ،آﻧﮕﺎه واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ
ﺑﺮﻗﺮار اﺳﺖ ﺑﻪ ﺷﺮﻃﻲ ﻛﻪ ﺑﺮاي ﺗﻤﺎﻣﻲ راﺑﻄﻪ ﻫﺎ در
R
A 㩳 B
ﺑﻪ ازاي ﻫﺮ ﻣﻘﺪار
A
ﻓﻘﻂ ﻳﻚ ﻣﻘﺪار Bوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ. واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ را ﻣﻲ ﺗﻮان ﺑﺪﻳﻦ ﺻﻮرت ﻧﻴﺰ ﺗﻮﺻﻴﻒ ﻛﺮد: ﻓﺮض ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ Rﻳﻚ ﻣﺘﻐﻴﺮ راﺑﻄﻪ اي و Aو Bدو زﻳﺮ ﻣﺠﻤﻮﻋﻪ دﻟﺨﻮاه از ﻣﺠﻤﻮﻋﻪ ﻋﻨﻮان
R
ﻳﻌﻨﻲ
ﭼﻨﻴﻦ ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﻴﻢ: راﺑﻄﻪ اي
R
H
ﺑﺎﺷﻨﺪ .ﻣﻲ ﮔﻮﻳﻴﻢ
A→ B
،ﺑﻪ ﻫﺮ ﻣﻘﺪار
A
B
ﺑﺎ
A
واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ دارد و
اﮔﺮ و ﻓﻘﻂ اﮔﺮ در ﻫﺮ ﻣﻘﺪار ﻣﻤﻜﻦ از ﻣﺘﻐﻴﺮ
ﻓﻘﻂ ﻳﻚ ﻣﻘﺪار
B
ﻣﺘﻨﺎﻇﺮ ﺑﺎﺷﺪ .ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ
اﮔﺮ t1و t2دو ﺗﺎﭘﻞ ﻣﺘﻤﺎﻳﺰ از Rﺑﺎﺷﻨﺪ ،در اﻳﻨﺼﻮرت If t1.A = t2.A then t1.B = t2.B
2-1-2واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ A᪸B
را واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ
4
ﮔﻮﻳﻨﺪ اﮔﺮ
B
ﺑﻪ ﻫﻴﭻ زﻳﺮﻣﺠﻤﻮﻋﻪ از
A
واﺑﺴﺘﻪ
ﻧﺒﺎﺷﺪ .واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ از وﻳﮋﮔﻲﻫﺎي ﻣﻌﻨﺎﻳﻲ ﺻﻔﺎت اﺳﺖ و ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ ﻫﺮ
1. f un c t i o n a l D e p e n de n c y 2. J oi n D e pe n d e n c y 3. M u lt i V al u e De p e n d e n c y 4. F u ll F u nc t i o n a l D e p e n d en c y
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻧﺮﻣﺎل ﺳﺎزي 197
واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺑﻴﻦ دو ﺻﻔﺖ ،ﻧﻤﺎﻳﺸﮕﺮ ﻳﻚ ﻗﺎﻋﺪه ﺳﻤﻨﺘﻴﻚ در ﺟﻬﺎن واﻗﻌﻲ اﺳﺖ. ﻣﺜﻼ وﻗﺘﻲ ﻣﻲ ﮔﻮﻳﻴﻢ: STID→STMJR
ﻣﻌﻨﺎﻳﺶ اﻳﻦ اﺳﺖ ﻛﻪ ﻳﻚ داﻧﺸﺠﻮ ﻓﻘﻂ درﻳﻚ رﺷﺘﻪ ﺗﺤﺼﻴﻞ ﻣﻲ ﻛﻨﺪ.
2-2ﺣﺎﻟﺘﻬﺎي واﺑﺴﺘﮕﻲ واﺑﺴﺘﮕﻲ داراي ﺣﺎﻻت ﻣﺨﺘﻠﻔﻲ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ در ذﻳﻞ ﻧﺎم ﺑﺮده ﺷﺪه اﻧﺪ: •
واﺑﺴﺘﮕﻲ ﺑﻪ ﻛﻠﻴﺪ
•
واﺑﺴﺘﮕﻲ ﺑﻪ ﺑﺨﺸﻲ از ﻛﻠﻴﺪ
•
واﺑﺴﺘﮕﻲ ﻏﻴﺮﻛﻠﻴﺪ ﺑﻪ ﻏﻴﺮﻛﻠﻴﺪ
•
واﺑﺴﺘﮕﻲ ﻣﻌﻜﻮس
•
ﻛﻠﻴﺪ ﻳﺎ ﺑﺨﺸﻲ از آن ﺑﻪ ﺻﻔﺖ ﻳﺎ ﺻﻔﺘﻬﺎي دﻳﮕﺮ واﺑﺴﺘﻪ ﺑﺎﺷﺪ
3-2ﺗﻌﺮﻳﻒ ᥉ اﮔﺮ
F
F
ﻳﻚ ﻣﺠﻤﻮﻋﻪ از واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﺎﺑﻌﻲ ﺑﺎﺷﺪ ،آﻧﮕﺎه ﻣﺠﻤﻮﻋﻪ ﺗﻤﺎم واﺑﺴﺘﮕﻲ ﻫﺎي
ﺗﺎﺑﻌﻲ ﻗﺎﺑﻞ اﺳﺘﺨﺮاج از آﻧﺮا ﻣﺠﻤﻮﻋﻪ ﭘﻮﺷﺸﻲ Fﻣﻲ ﻧﺎﻣﻨﺪ و ﺑﺎ F᥉ﻧﺸﺎن ﻣﻲ دﻫﻨﺪ.
روش ﻳﺎﻓﺘﻦ:F ᥉ ﺑﺮاي ﻳﺎﻓﺘﻦ F+ﻋﻤﻠﻴﺎت زﻳﺮ را ﺑﻪ ﺗﺮﺗﻴﺐ اﻧﺠﺎم ﻣﻲ دﻫﻴﻢ: •
ﺑﺎزﺗﺎب
•
اﻓﺰاﻳﺸﻲ
•
اﻧﺘﻘﺎل
IF B ⊆ A THEN A ᪸ B IF A ᪸ B , C THEN AC ᪸ BC )) ﺗﻮﺟﻪ C :ﺻﻔﺖ ﻣﻲﺑﺎﺷﺪ (( IF A ᪸ B , B ᪸ C THEN A ᪸ C
ﭼﻮن اﻋﻤﺎل اﻳﻦ ﻗﻮاﻋﺪ ﻣﺸﻜﻞ ﻣﻲ ﺑﺎﺷﺪ ،آﻧﻬﺎ را ﺑﻪ ﺻﻮرت ﺳﺎده ﺗﺮ ﺑﻴﺎن ﻣﻲﻛﻨﻴﻢ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
198
тАлянШя║Оя╗│яоХя║О┘З ╪п╪з╪п┘Зя╗ля║ОтАм
тАл╪зя║Яя║Шя╗дя║О╪╣тАм
тАв
тАля║Чя║ая║░я╗│я╗ктАм
тАв
тАля║Чя║оя╗Ыя╗┤я║РтАм
тАв
IF A ск╕ B AND A ск╕ C THEN A ск╕ BC IF A ск╕ BC THEN A ск╕ B AND A ск╕ C IF A ск╕ B , C ск╕ D THEN AC ск╕ BD
тАля║Ся║О ╪зя╗Ля╗дя║О┘Д ╪зя╗│я╗ж я╗Чя╗о╪зя╗Ля║к я║│я╗Мя╗▓ я╗гя╗▓ я╗Ыя╗ия╗┤я╗в ┘И╪зя║Ся║┤я║ШяоХя╗▓ я╗ля║О┘К я║Чя╗Ья║о╪з╪▒┘К ╪▒╪з я║гя║м┘Б я╗зя╗дя╗о╪п┘З ┘И я║Ся╗ктАм .тАля╗гя║ая╗дя╗оя╗Ля╗к ┘И╪зя║Ся║┤я║ШяоХя╗▓ я╗Ыя╗дя╗┤я╗ия╗к я╗│я║О я║Ся╗мя╗┤я╗ия╗к я║Ся║оя║│я╗┤я╗втАм :тАля╗гя║Ья║О┘ДтАм F сеЙ { A ск╕ B , A ск╕ C , B ск╕ C , AB ск╕ C , AC ск╕ D } min (F сеЙ) = { A ск╕ B , B ск╕ C , A ск╕ D }
:тАля╗гя║Ья║О┘ДтАм R=(U ,V,W,X,Y,Z) F={ U ск╕ XY , X ск╕ Y , XY ск╕ ZV } F сеЙ ^ U ск╕ XY X ск╕ Y , XY ск╕ ZV , U ск╕ ZV ` F сеЙ ^ U ск╕ X U ск╕ Y , X ск╕ Y, XY ск╕ ZV , U ск╕ ZV ` F сеЙ ^ U ск╕ X U ск╕ Y , X ск╕ Y, X ск╕ ZV , U ск╕ ZV ` F сеЙ ^ U ск╕ X U ск╕ Y , X ск╕ Y, U ск╕ Z , U ск╕ V, X ск╕ Z, X ск╕ V `
:тАля║Чя╗дя║оя╗│я╗жтАм R = (U ,V,W,X,Y,Z,O,P,Q) F={ U ск╕ VXQ , UVP ск╕ O , OQ ск╕ YZ, UP ск╕ XY } 1
тАл я╗зя╗дя╗о╪п╪з╪▒ ┘И╪зя║Ся║┤я║ШяоХя╗▓я╗ля║О┘К я║Чя║Оя║Ся╗Мя╗▓тАм4-2
тАл я╗зя║дя╗о┘ЗтАм.тАл я╗зя╗дя╗о╪п╪з╪▒ ┘И╪зя║Ся║┤я║ШяоХя╗▓ я╗ля║О┘К я║Чя║Оя║Ся╗Мя╗▓ ╪▒╪з ╪▒я║│я╗в я╗гя╗▓я╗Ыя╗ия╗┤я╗втАм╪М тАля║Яя╗мя║Ц ╪п╪▒┘Г я║Ся╗мя║Шя║о ╪з╪▓ ┘И╪зя║Ся║┤я║ШяоХя╗▓я╗ля║ОтАм тАля║Ся╗к я╗│я╗Ья╗▓ ╪з╪▓ ╪п┘И я║╖я╗Ья╗Ю ╪▓я╗│я║о я╗Чя║Оя║Ся╗Ю я║Чя║оя║│я╗┤я╗втАм
STT
тАля╗зя╗дя║Оя╗│я║╢ я╗зя╗дя╗о╪п╪з╪▒ ┘И╪зя║Ся║┤я║ШяоХя╗▓ я║Чя║Оя║Ся╗Мя╗▓ я║Ся║о╪з┘К ╪▒╪зя║Ся╗Дя╗ктАм .тАл╪зя║│я║ЦтАм
1. F u nc t i o n a l D e p e n d en c y Di a gr a m
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻧﺮﻣﺎل ﺳﺎزي 199
روش اول STT
STNAME
STDEG STID STMJR
STDEID
روش دوم
STMJR,
)STDEID
STDEG,
STNAME,
(STID,
STT
-3ﺻﻮرتﻫﺎي ﻧﺮﻣﺎل ﻛﺎد واﺿﻊ ﻣﺪل راﺑﻄﻪ اي ،در آﻏﺎز ﺳﻪ ﺳﻄﺢ ﻧﺮﻣﺎل را ﺗﻌﺮﻳﻒ ﻛﺮد .اﻳﻦ ﺳﻪ ﺳﻄﺢ ﻋﺒﺎرت ﻫﺴﺘﻨﺪ از: •
ﺻﻮرت ﻧﺨﺴﺖ ﻧﺮﻣﺎل
1
2
•
ﺻﻮرت دوم ﻧﺮﻣﺎل
•
ﺻﻮرت ﺳﻮم ﻧﺮﻣﺎل
3
ﭘﮋوﻫﺸﮕﺮان و ﻣﺘﺨﺼﺼﻴﻦ ﺑﻌﺪا ﺳﻪ ﻧﻮع دﻳﮕﺮ از ﺻﻮر ﻧﺮﻣﺎل را ﺑﻪ ﺷﺮح زﻳﺮ ﺗﻌﺮﻳﻒ ﻛﺮدﻧﺪ: • •
ﺻﻮرت ﻧﺮﻣﺎل ﺑﻮﻳﺲ -ﻛﺎد ﺻﻮرت ﭼﻬﺎرم ﻧﺮﻣﺎل
4
5
1. F ir s t N or ma l F o r m 2. Se c o n d No r ma l F o r m 3. T hi r d N or ma l F o r m 4. B o yc e - C o d d N o r ma l F o r m 5. F o rt h N or ma l F o r m
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
200
ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﺻﻮرت ﭘﻨﭽﻢ ﻧﺮﻣﺎل
1
اﻣﺮوزه دو ﻧﻮع دﻳﮕﺮ از ﺻﻮرت ﻫﺎي ﻧﺮﻣﺎل ﺗﻌﺮﻳﻒ ﺷﺪه اﻧﺪ ﻛﻪ اﻟﺒﺘﻪ در ﺷﺮاﻳﻂ ﺑﺴﻴﺎر ﺧﺎص رخ ﻣﻲ دﻫﻨﺪ .اﻳﻦ دو ﺻﺮت ﻧﺮﻣﺎل ﻋﺒﺎرﺗﻨﺪ از: •
ﺻﻮرت ﻧﺮﻣﺎل ﻣﻴﺪان -ﻛﻠﻴﺪي
•
ﺻﻮرت ﻧﺮﻣﺎل ﺗﺤﺪﻳﺪ -اﺟﺘﻤﺎع
در اﻳﻨﺠﺎ ﻻزم اﺳﺖ ﺑﻪ ﻧﻜﺎت زﻳﺮ ﺗﻮﺟﻪ ﺷﻮد: •
ﭼﻨﺎﻧﭽﻪ راﺑﻄﻪاي در ﻫﺮ ﻳﻚ از ﺣﺎﻻت ﻧﺮﻣﺎل ،ﺑﺼﻮرت ﻏﻴﺮﻧﺮﻣﺎل ﺑﺎﺷﺪ، ﻣﻲﮔﻮﻳﻴﻢ راﺑﻄﻪ در آن ﺳﻄﺢ داراي آﻧﻮﻣﺎﻟﻲ اﺳﺖ.
•
در واﻗﻊ ﻫﺸﺖ ﺻﻮرت ﻧﺮﻣﺎل ﻣﺬﻛﻮر ﻫﺮ ﻳﻚ از ﺳﻄﺢ ﻗﺒﻠﻲ ﺧﻮد ﻧﺮﻣﺎل ﺗﺮ ﻫﺴﺘﻨﺪ )ﺑﻐﻴﺮ از BCNFﻛﻪ ﺷﺮاﻳﻂ ﺧﺎﺻﻲ دارد(.
•
ﻫﻤﭽﻨﻴﻦ ﻻزم ﺑﻪ ذﻛﺮ اﺳﺖ ﻛﻪ ﺻﻮرتﻫﺎي BCNFو 4NFو 5NFداراي ﺷﺮاﻳﻂ ﺧﺎﺻﻲ ﺑﻮده و ﺗﻘﺮﻳﺒﺎ ﭼﻨﺎﻧﭽﻪ راﺑﻄﻪ در ﻳﻜﻲ از اﻳﻦ ﺳﻪ ﺳﻄﻮح ﻧﺮﻣﺎل ﺑﺎﺷﺪ ،در دو ﻣﻮرد دﻳﮕﺮ ﻧﻴﺰ ﻧﺮﻣﺎل ﺧﻮاﻫﺪ ﺑﻮد) اﻳﻦ ﻣﻮﺿﻮع ﻫﻤﻴﺸﮕﻲ ﻧﻴﺴﺖ(.
•
ﺣﺎﻻت ﺑﺎﻻﺗﺮ از
3NF
ﺷﺮاﻳﻂ ﺧﺎﺻﻲ ﻫﺴﺘﻨﺪ ﻛﻪ در ﺧﻴﻠﻲ از ﻣﻮاﻗﻊ اﺻﻼً رخ
ﻧﻤﻲدﻫﻨﺪ .ﻟﺬا ﭼﻨﺎﻧﭽﻪ راﺑﻄﻪاي را ﺗﺎ ﺳﻄﺢ
3NF
ﻧﺮﻣﺎل ﻛﻨﻴﻢ ،ﺑﻄﻮر ﻣﻌﻤﻮل
ﻣﻲﮔﻮﻳﻴﻢ ﻧﺮﻣﺎل ﺳﺎزي را اﻧﺠﺎم دادهاﻳﻢ .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺎرﻳﻒ ﺑﺎﻻ ﻣﻲﺗﻮان ﺳﻄﻮح ﻧﺮﻣﺎل ﺳﺎزي را ﺑﺼﻮرت ذﻳﻞ ﻧﺸﺎن داد: DKNF ු 5NF ු 4NF ු BCNF ු 3NF ු 2NF ු 1NF
-4ﻓﺮاﻳﻨﺪ ﻧﺮﻣﺎل ﺳﺎزي
2
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ داده ﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ و ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ ،ﻻزم اﺳﺖ ﺗﺎ ﻗﺒﻞ از ﭘﻴﺎده ﺳﺎزي ﺟﺪاول ﻃﺮاﺣﻲ ﺷﺪه ،آﻧﻬﺎ را ﻧﺮﻣﺎل ﺳﺎزي ﻧﻤﺎﻳﻴﻢ .ﻣﺮاﺣﻞ ﻧﺮﻣﺎل ﺳﺎزي راﺑﻄﻪﻫﺎ ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﻨﺪ:
1 F i f t h No r ma l F o r m
.
2. N or ma l i z a t i o n
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻧﺮﻣﺎل ﺳﺎزي 201 •
ﻣﺮاﺣﻞ ﻧﺮﻣﺎل ﺳﺎزي
•
ﻣﺸﺨﺺ ﻛﺮدن ﺟﺪاول
•
ﺷﻨﺎﺳﺎﺋﻲ دادهﻫﺎ و ارﺗﺒﺎﻃﺸﺎن
•
رﺳﻢ ﻧﻤﻮدار واﺑﺴﺘﮕﻲ
•
ﻃﺮاﺣﻲ ﺟﺪاول اوﻟﻴﻪ
•
در ﻧﻈﺮ ﮔﺮﻓﺘﻦ واﺑﺴﺘﮕﻲﻫﺎ
•
اﻋﻤﺎل ﻓﺮﻣﻬﺎي ﻧﺮﻣﺎل
در اداﻣﻪ راﺑﻄﻪ ﻫﺎي ﻧﺮﻣﺎل را ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد:
1-4راﺑﻄﻪ
1NF
راﺑﻄﻪ اي 1NF
اﺳﺖ ﻛﻪ:
•
ﻫﻤﻪ ﻛﻠﻴﺪﻫﺎي آن ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﺪ
•
ﻫﻤﻪ ﺻﻔﺖﻫﺎي آن ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﻪ ﺑﺎﺷﻨﺪ
•
ﺻﻔﺖﻫﺎي ﺗﺮﻛﻴﺒﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻴﻢ
ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي
1NF
اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﻫﺮ ﺻﻔﺖ آن در ﻫﺮ ﺗﺎﭘﻞ ،ﺗﻚ
ﻣﻘﺪاري ﺑﺎﺷﺪ )ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ(. ﻣﺜﺎل :1راﺑﻄﻪ
STCOR
را ﻛﻪ در آن
STID
و
COID
ﺗﻮاﻣﺎ ﻛﻠﻴﺪ اﺻﻠﻲ ﻫﺴﺘﻨﺪ را در
ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ: )STCOR (STID, COID, STNAME, GRADE, STMJR, STDEID STNAME STID STMJR
GRADE COID
STDEID
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
202
ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻣﺜﺎل :2
} CITY , QTY
2-4راﺑﻄﻪ
R = { S# , P# , STATUS ,
2NF
راﺑﻄﻪ اي 2NF
اﺳﺖ ﻛﻪ
•
1NFﺑﺎﺷﺪ
•
ﺻﻔﺖﻫﺎي آن ﺑﻪ زﻳﺮ ﻣﺠﻤﻮﻋﻪﻫﺎي ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﻪ ﻧﺒﺎﺷﺪ
ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي
2NF
اﺳﺖ ﻛﻪ اوﻻ
1NF
ﺑﺎﺷﺪ و ﺛﺎﻧﻴﺎ ﺗﻤﺎم ﺻﻔﺎت ﻏﻴﺮ ﻛﻠﻴﺪ ﺑﺎ
ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﻨﺪ. ﻣﺜﺎل :1 STID GRADE COID
STNAME
STMJR
STID
STDEID
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻧﺮﻣﺎل ﺳﺎزي 203
ﻣﺜﺎل :2 )mintopas , grade , time
R = (Std# , cr# , st.name , g/u , place ,
1NFﻣﻲ ﺑﺎﺷﺪ ﺑﺮاي 2NFﺑﻮدن: )R1=( Std# , cr# , grade )R2=( Std# , st.name , g/u )R3= (cr# , place , mintopas , time
ﺑﻌﺪ از اﻳﻨﻜﻪ ﺟﺪاول ﺷﻜﺴﺘﻪ ﺷﺪ ،ﺑﺎﻳﺪ
1NF
و
2NF
ﺑﻮدن ﻫﺮﻛﺪام از ﺟﺪاول
ﺑﺪﺳﺖ آﻣﺪه را ﺑﺮرﺳﻲ ﻛﻨﻴﺪ )ﻫﺮ ﺳﻪ ﺟﺪول ﺑﺪﺳﺖ آﻣﺪه ﻓﻮق ﻫﻢ
1NF
وﻫﻢ
2NF
ﻣﻲﺑﺎﺷﺪ(.
3-4راﺑﻄﻪ ﺟﺪوﻟﻲ
3NF
3NF
اﺳﺖ ﻛﻪ
•
در 2NFﺑﺎﺷﺪ
•
واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ )واﺑﺴﺘﮕﻲ ﻏﻴﺮ ﻛﻠﻴﺪ ﺑﻪ ﻏﻴﺮ ﻛﻠﻴﺪ (
ﺑﻪ ﺑﻴﺎﻧﻲ دﻳﮕﺮ راﺑﻄﻪ اي
3NF
اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ
2NF
ﺑﺎﺷﺪ و ﻫﺮ ﺻﻔﺖ ﻏﻴﺮﻛﻠﻴﺪ ﺑﺎ
ﻛﻠﻴﺪ اﺻﻠﻲ ،واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺑﻲ واﺳﻄﻪ داﺷﺘﻪ ﺑﺎﺷﺪ. ﻣﺜﺎل :1 STID GRADE COID
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
204
ﭘﺎﻳﮕﺎه دادهﻫﺎ STDEID
STMJR
STMJR STID STNAME
4-4راﺑﻄﻪ راﺑﻄﻪ
BCNF
BCNF
ﺣﺎﻟﺖ ﺧﺎﺻﻲ از راﺑﻄﻪ ﻧﺮﻣﺎل اﺳﺖ و داراي ﺗﻌﺎرﻳﻒ ﻣﺘﻌﺪدي ﻣﻲ ﺑﺎﺷﺪ
ﻛﻪ در ذﻳﻞ آﻣﺪه اﺳﺖ: ﺗﻌﺮﻳﻒ اول:ﺟﺪوﻟﻲ BCNFاﺳﺖ ﻛﻪ •
در 3NFﺑﺎﺷﺪ
•
واﺑﺴﺘﮕﻲ ﻣﻌﻜﻮس ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ )واﺑﺴﺘﮕﻲ ﻛﻠﻴﺪ ﺑﻪ ﻏﻴﺮ ﻛﻠﻴﺪ (
ﺗﻌﺮﻳﻒ دوم :راﺑﻄﻪ اي
BCNF
اﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ در آن ﻫﺮ دﺗﺮﻣﻴﻨﺎن ،ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ
ﺑﺎﺷﺪ. ﺗﻌﺮﻳﻒ ﺳﻮم :راﺑﻄﻪ ) ،R(Hﺑﺎ ﻣﺠﻤﻮﻋﻪ واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﺎﺑﻌﻲ ،Fدر ﺑﺮاي ﻫﺮ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ
F+
ﺑﻪ ﺻﻮرت
A→B
ﻛﻪ در آن
BCNF
)A ු R(H
و
اﺳﺖ اﮔﺮ
)B ු R(H
اﺳﺖ ،ﺣﺪاﻗﻞ ﻳﻜﻲ از دو ﺣﺎﻟﺖ زﻳﺮ ﺑﺮﻗﺮار ﺑﺎﺷﺪ: •
A → Bﻳﻚ واﺑﺴﺘﮕﻲ ﻏﻴﺮ ﻣﻬﻢ ﺑﺎﺷﺪ ﻳﻌﻨﻲ B ු $
•
$ﺳﻮﭘﺮ ﻛﻠﻴﺪ راﺑﻄﻪ 5ﺑﺎﺷﺪ
ﺗﻌﺮﻳﻒ ﭼﻬﺎرم :راﺑﻄﻪ اي BCNFاﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﺳﻤﺖ ﭼﭗ ﻫﺮ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻣﻬﻢ و ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ ،ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ ﺑﺎﺷﺪ.
5-4راﺑﻄﻪ
4NF
راﺑﻄﻪ اي 4NFاﺳﺖ اﮔﺮ •
BCNFﺑﺎﺷﺪ
•
در آن واﺑﺴﺘﮕﻲ ﭼﻨﺪ ﻣﻘﺪاري ﻣﻬﻢ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻧﺮﻣﺎل ﺳﺎزي 205
ﻣﺸﻜﻞ آﻧﻮﻣﺎﻟﻲ در ﺳﻄﺢ
4NF
ﺑﺪﻳﻦ ﺻﻮرت اﺳﺖ ﻛﻪ ﮔﺎﻫﻲ دو راﺑﻄﻪاي ﻛﻪ از
ﻳﻜﺪﻳﮕﺮ ﻣﺠﺰا ﻫﺴﺘﻨﺪ را ﺑﻪ اﺷﺘﺒﺎه و ﺻﺮﻓﺎ ﺑﻮاﺳﻄﻪ اﻳﻨﻜﻪ ﻓﺮض ﻛﺮدهاﻳﻢ ﻣﻲﺗﻮاﻧﻴﻢ ﺗﺤﺖ ﻳﻚ راﺑﻄﻪ ﻗﺮار دﻫﻴﻢ ،ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺗﺮﻛﻴﺐ ﻣﻲﻛﻨﻴﻢ و ﺗﺤﺖ ﻋﻨﻮان ﻳﻚ راﺑﻄﻪ در ﭘﺎﻳﮕﺎهداده ﻗﺮار ﻣﻲدﻫﻴﻢ .ﭘﺲ از ورود اﻃﻼﻋﺎت در راﺑﻄﻪ ﺟﺪﻳﺪ ،اﻳﻦ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ ﻗﺒﻠﻲ ﺗﺠﺰﻳﻪ ﻣﻲﻛﻨﻴﻢ و ﻃﺒﻴﻌﺘﺎ ﻣﻘﺎدﻳﺮ راﺑﻄﻪ ﻛﻠﻲ در د راﺑﻄﻪ ﺗﻘﺴﻴﻢ ﻣﻲﺷﻮﻧﺪ .ﺣﺎل ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮاﻫﻴﻢ دو راﺑﻄﻪ را ﺑﺎ ﻫﻢ ﺗﺮﻛﻴﺐ ﻛﻨﻴﻢ ،ﺑﺎ ﺣﺬف ﺑﻌﻀﻲ از ﺗﺎﭘﻞﻫﺎ ﻣﻮاﺟﻪ ﻣﻲﺷﻮﻳﻢ .اﻟﺒﺘﻪ اﻳﻦ ﺷﺮاﻳﻂ ﺑﺴﻴﺎر ﺧﺎص ﺑﻮده و اﻣﻜﺎن رﺧﺪاد آن ﻧﻴﺰ ﺑﺴﻴﺎر ﻛﻢ اﺳﺖ .ﺑﺮاي ﻣﺜﺎل راﺑﻄﻪ زﻳﺮ را ﻛﻪ اﺷﺘﺒﺎﻫﺎ ﻧﺮﻣﺎل ﺷﺪه اﺳﺖ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ: )PSR(PRID,STID,RNUM RNUM
STID
PRID
R1 R1 R1 R2 R2 R2 R1 R1
S2 S1 S3 S2 S1 S3 S2 S6
Pr22 Pr22 Pr22 Pr22 Pr22 Pr22 Pr33 Pr33
درج ﺗﺎﭘﻠﻲ ﻣﺎﻧﻨﺪ ) (Pr22,S8ﻋﻤﻼ ﺑﻪ ﻣﻔﻬﻮم درج دو ﺗﺎﭘﻞ در ﺟﺪول PSRﺑﺼﻮرت زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد: )(Pr22,S8,R1 )(Pr22,S8,R2
ﺣﺎل ﭼﻨﺎﻧﭽﻪ راﺑﻄﻪ PSRرا ﻋﻤﻼ از اﺑﺘﺪا ﺑﺼﻮرت دو راﺑﻄﻪ PSو PRﻣﺎﻧﻨﺪ زﻳﺮ در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ دﻳﮕﺮ دﭼﺎر ﭼﻨﻴﻦ ﻣﺸﻜﻼﺗﻲ ﻧﺨﻮاﻫﻴﻢ ﺷﺪ. )PS(PRID,STID )PR(PRID,RNUM
6-4راﺑﻄﻪ
5NF
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
206
ﭘﺎﻳﮕﺎه دادهﻫﺎ
در ﻓﺮاﻳﻨﺪﻫﺎي ﻧﺮﻣﺎل ﺳﺎزي ﺗﺎ ﺳﻄﺢ ،4NFاﻟﮕﻮرﻳﺘﻢ ﻋﻤﻮﻣﻲ درﻫﺮ ﻣﺮﺣﻠﻪ ﻋﺒﺎرت ﺑﻮد از ﺗﺠﺰﻳﻪ راﺑﻄﻪ ﺑﻪ دو راﺑﻄﻪ ﻧﺮﻣﺎﻟﺘﺮ ﺑﻪ ﮔﻮﻧﻪ اﻳﻜﻪ ﺑﺎ ﭘﻴﻮﻧﺪ دو راﺑﻄﻪ ،ﻫﻤﺎن راﺑﻄﻪ اﺻﻠﻲ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ .اﻣﺎﻣﻤﻜﻦ اﺳﺖ در وﺿﻊ ﺧﺎﺻﻲ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ ﺗﺠﺰﻳﻪ ﻛﻨﻴﻢ وﻟﻲ ﺑﺎ ﭘﻴﻮﻧﺪ دو راﺑﻄﻪ ،راﺑﻄﻪ اوﻟﻴﻪ ﺑﺪﺳﺖ ﻧﻴﺎﻳﺪ .ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ: )PRCODE (PRID, COID, DEID DEID
COID
PRID
D4 D1 D1 D1
C1 C3 C1 C1
Pr11 Pr11 Pr22 Pr11
ﺣﺎل اﻳﻦ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ زﻳﺮ ﺗﺠﺰﻳﻪ ﻣﻲﻛﻨﻴﻢ .ﭘﺲ راﺑﻄﻪﻫﺎي زﻳﺮ از ﺗﺠﺰﻳﻪ راﺑﻄﻪ PRCODEﺑﺪﺳﺖ ﻣﻲآﻳﻨﺪ: )PRCO (PRID, COID )CODE (COID, DEID CODE DEID D4 D1 D1
PRCO COID C1 C3 C1
COID C1 C3 C1
PRID Pr11 Pr11 Pr22
ﺣﺎل ﭼﻨﺎﻧﭽﻪ دو راﺑﻄﻪ را ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺗﺮﻛﻴﺐ ﻛﻨﻴﻢ در ﺧﺮوﺟﻲ ﺣﺎﺻﻞ ﻳﻚ رﻛﻮرد اﺿﺎﻓﻲ ﻣﺸﺎﻫﺪه ﻣﻲﮔﺮدد. Proc JOIN Code = XPRCODE DEID D4 D1 D1 D4 D1
COID C1 C1 C3 C1 C1
ﺑﻪ اﻳﻦ ﺷﺮاﻳﻂ آﻧﻮﻣﺎﻟﻲ در ﺳﻄﺢ
PRID Pr11 Pr11 Pr11 Pr22 Pr22 5NF
→ رﻛﻮرد اﺿﺎﻓﻪ
ﻣﻲﮔﻮﻳﻨﺪ .رﻓﻊ اﻳﻦ ﻣﻜﻞ ﺻﺮﻓﺎ ﺗﺎ ﻗﺒﻞ از
ورود دادهﻫﺎ ﻣﻤﻜﻦ ﺧﻮاﻫﺪ ﺑﻮد. ﺑﺎ اﻳﻦ وﺻﻒ ،ﺗﻌﺮﻳﻒ راﺑﻄﻪ 5NFﺑﻪ ﺷﺮح زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد:
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻧﺮﻣﺎل ﺳﺎزي 207
راﺑﻄﻪاي
5NF
اﺳﺖ اﮔﺮ ﺗﻤﺎم واﺑﺴﺘﮕﻲﻫﺎي ﭘﻴﻮﻧﺪي آن ﻧﺎﺷﻲ از ﻛﻠﻴﺪﻫﺎي
ﻛﺎﻧﺪﻳﺪ آن ﺑﺎﺷﺪ .ﺑﺎ اﻳﻦ وﺻﻒ اﮔﺮ ﺑﺘﻮاﻧﻴﻢ ﻳﻚ واﺑﺴﺘﮕﻲ ﭘﻴﻮﻧﺪي در راﺑﻄﻪ ﭘﻴﺪا ﻛﻨﻴﻢ ﻛﻪ در ﭘﺮﺗﻮﻫﺎﻳﺶ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ
R
وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ،راﺑﻄﻪ
R
5Nf
ﻧﻴﺴﺖ. ﺗﻮﺟﻪ :آﻧﻮﻣﺎﻟﻲ در ﺳﻄﻮح
4NF
و
5NF
ﺻﺮﻓﺎ در ﺷﺮاﻳﻂ ﺧﺎص و ﺑﺮاي ﻣﺤﻴﻄﻬﺎي
ﺧﺎص رخ ﻣﻲ دﻫﺪ و در ﺣﺎﻟﺖ ﻋﺎدي اﻳﻦ ﻧﻮع آﻧﻮﻣﺎﻟﻲ ﻫﺎ در ﻃﺮاﺣﻲ ﺳﺎﺧﺘﺎر اﻃﻼﻋﺎﺗﻲ ﺳﻴﺴﺘﻢ ﻫﺎ رخ ﻧﻤﻲ دﻫﺪ .ﻟﺬا ﺑﻄﻮر ﻣﻌﻤﻮل اﮔﺮ ﺑﺘﻮاﻧﻴﻢ ﺳﺎﺧﺘﺎر اﻃﻼﻋﺎﺗﻲ ﺳﻴﺴﺘﻢ ﻣﻮرد ﻧﻈﺮ را ﺣﺪاﻛﺜﺮ ﺗﺎ ﺳﻄﺢ
3NF
و ﻳﺎ
BCNF
ﻧﺮﻣﺎل ﻛﻨﻴﻢ ،اﺻﻄﻼﺣﺎ ﻣﻲ ﮔﻮﻳﻴﻢ ﻧﺮﻣﺎل
ﺳﺎزي ﻛﺎﻣﻞ اﻧﺠﺎم ﺷﺪه اﺳﺖ.
ﺗﻤﺮﻳﻨﺎت
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
208
ﭘﺎﻳﮕﺎه دادهﻫﺎ
.1راﺑﻄﻪ ﻧﺮﻣﺎل را ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ. .2ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ راﺑﻄﻪ ﻧﺮﻣﺎل را ﻧﺎم ﺑﺒﺮﻳﺪ .3راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل داراي ﭼﻪ ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺒﻲ ﺧﻮاﻫﺪ ﺑﻮد .4اﻧﻮاع واﺑﺴﺘﮕﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ .5واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ را ﺗﻮﺿﻴﺢ دﻫﻴﺪ .6ﺣﺎﻟﺖ ﻫﺎي واﺑﺴﺘﮕﻲ را ﻧﺎم ﺑﺒﺮﻳﺪ .7ﺻﻮرت ﻫﺎي ﻧﺮﻣﺎل را ﻧﺎم ﺑﺒﺮﻳﺪ .8ﺻﻮرت ﻧﺮﻣﺎل اول را ﺗﻮﺿﻴﺢ دﻫﻴﺪ .9ﺻﻮرت ﻧﺮﻣﺎل ﺳﻮم ﺑﻪ ﭼﻪ ﺻﻮرت اﺳﺖ .10ﺻﻮرت ﻧﺮﻣﺎل BCNFراﺷﺮح دﻫﻴﺪ .11ﺻﻮرت ﻧﺮﻣﺎل 5NFﭼﮕﻮﻧﻪ اﺳﺖ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
< =4 > ! ! % ﻫﺪف ﻛﻠﻲ در اﻳﻦ ﻓﺼﻞ ﺑﻪ ﻣﻮﺿﻮع ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﭘﺮدازﻳﻢ .اﺑﺘﺪا ﻣﻌﻤﺎري ﻫﺎي ﻣﺘﻤﺮﻛﺰ ﭘﺎﻳﮕﺎه داده ﻫﺎ را ﺷﺮح داده و ﺳﭙﺲ وارد ﺑﺤﺚ ﻣﻌﻤﺎري ﻫﺎي ﻏﻴﺮ ﻣﺘﻤﺮﻛﺰ ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﻲ ﺷﻮﻳﻢ .در ﺑﺤﺚ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه ﻫﺎي داده ﻧﺎﻣﺘﻤﺮﻛﺰ ،ﻣﻌﻤﺎري ﻫﺎﻳﻲ ﻣﺎﻧﻨﺪ ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار ،ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه ،ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي، ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ و ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه را ﺑﺎ ذﻛﺮ ﺗﻮﺿﻴﺤﺎت در ﻣﻮرد ﻫﺮ ﻳﻚ از اﻧﻮاع ﻣﻌﻤﺎري ﻫﺎي ﻣﺬﻛﻮر ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد.
ﻫﺪف رﻓﺘﺎري دراﻳﻦ ﻓﺼﻞ ﻋﻨﺎوﻳﻦ زﻳﺮ ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ: •
ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ
•
ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ
•
ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار
•
ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه
•
ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي
•
ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك
•
ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك
•
ﻣﻌﻤﺎري ﺑﻲ اﺟﺰا ﻣﺸﺘﺮك
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
210ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
•
ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ
•
ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه
-1ﻣﻘﺪﻣﻪ ﻳﻜﻲ از ﻣﺒﺎﺣﺚ ﻣﻬﻢ و ﻛﻠﻴﺪي در ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ،اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه و ﭘﻴﻜﺮ ﺑﻨﺪي ﻳﺎ ﻃﺮز ﺗﺮﻛﻴﺐ اﺟﺰاء ﺳﻴﺴﺘﻢ و ﭼﮕﻮﻧﮕﻲ ﺗﻌﺎﻣﻞ اﺟﺰاء ﺑﺎ ﻳﻜﺪﻳﮕﺮ اﺳﺖ .در ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﺎ ﺣﺪاﻗﻞ ﻳﻚ ﭘﺎﻳﮕﺎه داده ﻫﺎ ،ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه داده ﻫﺎ، ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ،ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺎ دﺳﺘﮕﺎهﻫﺎي ﺟﺎﻧﺒﻲ و ﺗﻌﺪادي ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي و ﻛﺎرﺑﺮ وﺟﻮد دارﻧﺪ. ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺴﺘﮕﻲ ﺑﻪ دو ﻋﻨﺼﺮ اﺻﻠﻲ ﺳﻴﺴﺘﻢ ﻳﻌﻨﻲ ﺳﺨﺖاﻓﺰار و ﻧﺮماﻓﺰار ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ دارد .اﻟﺒﺘﻪ ﻋﻮاﻣﻞ دﻳﮕﺮي ﻫﻢ در ﻃﺮاﺣﻲ اﻳﻦ ﻣﻌﻤﺎري دﺧﺎﻟﺖ دارﻧﺪ ﻛﻪ اﻫﻢ اﻳﻦ ﻋﻮاﻣﻞ ﻋﺒﺎرﺗﻨﺪ از: •
ﻣﻮﻗﻌﻴﺖ ﺟﻐﺮاﻓﻴﺎﻳﻲ ﻛﺎرﺑﺮان
•
ﻧﻴﺎزﻫﺎي ﻛﺎرﺑﺮان
•
ﻣﺎﻫﻴﺖ ﭘﺮدازشﻫﺎ و ﺗﺮاﻛﻨﺶﻫﺎ
•
ﺗﻌﺪاد ﺗﺮاﻛﻨﺶﻫﺎ
•
ﺣﺠﻢ دادهﻫﺎي ذﺧﻴﺮه ﺷﺪﻧﻲ
•
ﻣﻮﻗﻌﻴﺖ ﻣﻜﺎﻧﻲ دادهﻫﺎ و ارﺗﺒﺎﻃﺎت ﺑﻴﻦ آﻧﻬﺎ
•
ﻣﺎﻫﻴﺖ ﻛﺎرﺑﺮدﻫﺎي ﻣﻮرد ﻧﻈﺮ
-2اﻧﻮاع ﻣﻌﻤﺎري در اﺳﺎس دو ﻧﻮع ﻣﻌﻤﺎري ﺑﺮاي ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ وﺟﻮد دارد ﻛﻪ اﻳﻦ دو ﻣﻌﻤﺎري ﻋﺒﺎرﺗﻨﺪ از: •
ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ
•
ﻣﻌﻤﺎري ﻧﺎ ﻣﺘﻤﺮﻛﺰ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 211
در اداﻣﻪ ﻫﺮ ﻳﻚ از اﻧﻮاع ﻣﻌﻤﺎري ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻨﺪ ﮔﺮﻓﺖ.
1-2ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ در اﻳﻦ ﻣﻌﻤﺎري ﻳﻚ ﭘﺎﻳﮕﺎه دادهﻫﺎ روي ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي و ﺑﺪون ارﺗﺒﺎط ﺑﺎ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي دﻳﮕﺮ ،اﻳﺠﺎد ﻣﻲ ﺷﻮد .ﺳﺨﺖ اﻓﺰار اﻳﻦ ﺳﻴﺴﺘﻢ ﻣﻲ ﺗﻮاﻧﺪ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ ﻣﺘﻮﺳﻂ و ﻳﺎ ﺑﺰرگ ﺑﺎﺷﺪ و ﻃﺒﻌﺎ ﻗﺪرت ،ﺗﻮاﻧﺶ و ﻛﺎراﻳﻲ ﺳﻴﺴﺘﻢ ﻧﻴﺰ ﻣﺘﻔﺎوت اﺳﺖ.
ﺷﻜﻞ 1-10ﻧﻤﺎﻳﺸﻲ از ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ
ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ ﻛﻪ روي ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ اﻳﺠﺎد ﻣﻲﺷﻮد ،ﺗﻚ ﻛﺎرﺑﺮي ،ﺑﺮاي ﻛﺎرﺑﺮدﻫﺎي ﻛﻮﭼﻚ و ﺑﺎ اﻣﻜﺎﻧﺎت ﻣﺤﺪود اﺳﺖ و ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﻧﻴﺰ ﺗﻮاﻧﺶ ﭼﻨﺪاﻧﻲ ﻧﺪارد .اﻣﺎ ﺳﻴﺴﺘﻢ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ روي ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺘﻮﺳﻂ و ﺑﻪ وﻳﮋه ﺑﺰرگ ﻣﺘﺼﻞ ﺑﻪ ﺗﻌﺪاد زﻳﺎدي ﭘﺎﻳﺎﻧﻪ ،ﻣﻲﺗﻮاﻧﺪ ﺳﻴﺴﺘﻢ ﻛﺎراﻳﻲ ﺑﺎﺷﺪ .ﺷﻜﻞ 1-10ﻃﺮﺣﻲ از ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ اراﺋﻪ ﺷﺪه اﺳﺖ.
2-2ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ ﻣﻌﻤﺎري ﻧﺎ ﻣﺘﻤﺮﻛﺰ ،ﺧﻮد داراي اﻧﻮاع ﻣﺨﺘﻠﻔﻲ اﺳﺖ از ﺟﻤﻠﻪ: •
ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار
•
ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
212ﭘﺎﻳﮕﺎه دادهﻫﺎ •
ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ
•
ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي
•
ﻣﻌﻤﺎري ﻣﻮﺑﺎﻳﻞ
در اداﻣﻪ ﻫﺮ ﻳﻚ از اﻧﻮاع ﻣﻌﻤﺎري ﻫﺎي ﻏﻴﺮ ﻣﺘﻤﺮﻛﺰ را ﻣﻮرد ﺑﺤﺚ و ﺑﺮرﺳﻲ ﻗﺮار ﺧﻮاﻫﻴﻢ داد.
1-2-2ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار 1-1-2-2ﺗﻌﺮﻳﻒ ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار ﺗﻌﺮﻳﻒ واﺣﺪ و ﻣﻮرد ﭘﺬﻳﺮش ﻫﻤﮕﺎن ﻧﺪارد .در ﻣﻌﻨﺎي ﻋﺎم ﻣﻲ ﺗﻮان اﻳﻦ ﻣﻌﻤﺎري را ﭼﻨﻴﻦ ﺗﻌﺮﻳﻒ ﻛﺮد: ﻫﺮ ﻣﻌﻤﺎري ﻛﻪ در آن ﻗﺴﻤﺘﻲ از ﭘﺮدازش را ﻳﻚ ﺑﺮﻧﺎﻣﻪ ،ﺳﻴﺴﺘﻢ ﻳﺎ ﻣﺎﺷﻴﻦ اﻧﺠﺎم دﻫﺪ و اﻧﺠﺎم ﻗﺴﻤﺖ دﻳﮕﺮ از ﭘﺮدازش را از ﺑﺮﻧﺎﻣﻪ ،ﺳﻴﺴﺘﻢ ﻳﺎ ﻣﺎﺷﻴﻦ دﻳﮕﺮ ﺑﺨﻮاﻫﺪ ،ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار ﻧﺎﻣﻴﺪه
ﻣﻲ ﺷﻮد.
در واﻗﻊ وﻇﺎﻳﻔﻲ ﻛﻪ ﺑﺎﻳﺪ " ﺳﻴﺴﺘﻢ" اﻧﺠﺎم دﻫﺪ ﺑﻪ دو دﺳﺘﻪ ﺗﻘﺴﻴﻢ ﻣﻲ ﺷﻮﻧﺪ: •
دﺳﺘﻪاي ﻛﻪ اﻧﺠﺎم آن ﺑﺮ ﻋﻬﺪه ﺧﺪﻣﺘﮕﺰار اﺳﺖ
•
دﺳﺘﻪاي ﻛﻪ ﺗﻮﺳﻂ ﻣﺸﺘﺮي اﻧﺠﺎم ﻣﻲﺷﻮد.
ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻳﻚ ﻣﻌﻤﺎري دو ﺳﻄﺤﻲ دارﻳﻢ ﻛﻪ ﺑﺮﺧﻮرد ﺑﺎ ﭘﻴﭽﻴﺪﮔﻲ ﺳﻴﺴﺘﻢ ﻫﺎي ) (DBMSﺟﺪﻳﺪ و ﻧﻴﺰ ﻣﺸﻜﻞ ﺗﻮزﻳﻊ را ﺗﺴﻬﻴﻞ ﻣﻲ ﻛﻨﺪ .ﻣﺎﺷﻴﻦ در اﻳﻦ ﺗﻌﺮﻳﻒ در ﻣﻌﻨﺎي ﻋﺎم آن آﻣﺪه اﺳﺖ )ﻓﻴﺰﻳﻜﻲ ﻳﺎ ﻣﻨﻄﻘﻲ( .ﺑﺎ اﻳﻦ ﺗﻌﺮﻳﻒ ،در اﻳﻦ ﻣﻌﻤﺎري ﻳﻚ ﻣﺎﺷﻴﻦ )ﻳﺎ ﺳﻴﺴﺘﻢ ﻳﺎ ﺑﺮﻧﺎﻣﻪ( ﺧﺪﻣﺘﻲ را ﺑﻪ ﻣﺎﺷﻴﻦ )ﻳﺎ ﺳﻴﺴﺘﻢ ﻳﺎ ﺑﺮﻧﺎﻣﻪ( دﻳﮕﺮ اراﺋﻪ ﻣﻲ ﻛﻨﺪ ،از اﻳﻦ رو ﺑﻪ اﻳﻦ ﻣﺎﺷﻴﻦ )ﻳﺎ ﺳﻴﺴﺘﻢ ﻳﺎ ﺑﺮﻧﺎﻣﻪ( ،ﺧﺪﻣﺘﮕﺰار ﻣﻲ ﮔﻮﻳﻨﺪ. ﺑﻨﺎﺑﺮاﻳﻦ ،ﻣﻨﻈﻮر از ﻣﻌﻤﺎري ﻣﺸﺘﺮي-ﺧﺪﻣﺘﮕﺰار آن ﻧﻮع از ﻣﻌﻤﺎري اﺳﺖ ﻛﻪ در آن ﻣﺴﺌﻮﻟﻴﺖ ﻫﺎ ﺑﻪ ﻃﻮر ﻣﻨﻄﻘﻲ ﺗﻘﺴﻴﻢ ﺷﺪه اﺳﺖ. ﺗﻮﺟﻪ :ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻦ ﺗﻘﺴﻴﻢ ﻛﺎر ،ﻣﻤﻜﻦ اﺳﺖ اﻳﻦ ﻣﻮﺿﻮع ﺑﻪ ذﻫﻦ ﺑﺮﺳﺪ ﻛﻪ ﺣﺘﻤﺎ ﺣﺪاﻗﻞ دو ﻛﺎﻣﭙﻴﻮﺗﺮ در اﻳﻦ ﻣﻌﻤﺎري وﺟﻮد دارد .ﺣﺎل آﻧﻜﻪ ﻟﺰوﻣﺎ ﭼﻨﻴﻦ ﻧﻴﺴﺖ ،دو
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 213
ﺑﺮﻧﺎﻣﻪ ،دو زﻳﺮ ﺳﻴﺴﺘﻢ از ﻳﻚ ﺳﻴﺴﺘﻢ ﻛﺎﻣﭙﻴﻮﺗﺮي و ...ﻣﻲ ﺗﻮاﻧﻨﺪ ﺑﺎ ﻫﻢ ﺗﻘﺴﻴﻢ ﻛﺎر داﺷﺘﻪ ﺑﺎﺷﻨﺪ ....اﻣﺎ در ﻣﺤﻴﻂ ﻫﺎي ﺟﺪﻳﺪ ،ﻣﻌﻤﻮﻻً ﺑﺎ ﺗﻌﺪادي ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ، اﻳﺴﺘﮕﺎه ﻛﺎر ،ﭼﺎﭘﮕﺮ ،ﺧﺪﻣﺘﮕﺰار ﻓﺎﻳﻞ و ﺗﺠﻬﻴﺰات دﻳﮕﺮ ،اﻳﺠﺎد ﻣﻲ ﺷﻮد.
2-1-2-2ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي-ﺧﺪﻣﺘﮕﺰار در اﻳﻦ ﻣﻌﻤﺎري ﻣﻌﻤﻮﻻً دو ﮔﺮوه ﻛﺎﻣﭙﻴﻮﺗﺮ دارﻳﻢ :ﮔﺮوه ﻣﺸﺘﺮي و ﮔﺮوه ﺧﺪﻣﺘﮕﺰار. ﺗﻤﺎم دادهﻫﺎ در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﺧﺪﻣﺘﮕﺰار ذﺧﻴﺮه ﻣﻲ ﺷﻮﻧﺪ و ﺗﻤﺎم ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﺎرﺑﺮدي در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺸﺘﺮي اﺟﺮا ﻣﻲ ﺷﻮﻧﺪ .در ﺷﻜﻞ 2-10ﻣﺜﺎﻟﻲ از ﻃﺮح ﺳﺎده ﺷﺪه اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﻳﻚ ﻣﺸﺘﺮي و ﻳﻚ ﺧﺪﻣﺘﮕﺰار دﻳﺪه ﻣﻲﺷﻮد )ﮔﺎه ﻣﻮﺳﻮم ﺑﻪ ﻣﻌﻤﺎري دو ردﻳﻔﻲ .اﻟﺒﺘﻪ ﻣﻌﻤﺎري ﺳﻪ ردﻳﻔﻲ )و از ﻧﻈﺮ ﺗﺌﻮرﻳﻚ،
n
ردﻳﻔﻲ (n≥2 ،ﻫﻢ وﺟﻮد
دارد(.
ﺷﻜﻞ 2-10ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار
ﻛﺎرﺑﺮ در ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ﻣﻲﺗﻮاﻧﺪ از ﻃﺮﻳﻖ واﺳﻂ زﻣﺎﻧﻲ )ﻣﺜﻼ زﺑﺎن دادهاي ﻓﺮﻋﻲ( ﻳﺎ واﺳﻂﻫﺎي دﻳﮕﺮ ﻣﺜﻞ واﺳﻂ ﮔﺮاﻓﻴﻜﻲ ،واﺳﻂ ﻓﺮﻣﻲو ...ﻋﻤﻞ ﻛﻨﺪ .در ﺷﻜﻞ ،3-10 ﻋﻨﺎﺻﺮ ﻣﺤﻴﻂ ﻧﺮماﻓﺰاري اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﻓﺮض وﺟﻮد ﻳﻚ اﻳﻦ ﺷﻜﻞ ،واﺣﺪﻫﺎﻳﻲ از
RDBMS
RDBMS
دﻳﺪه ﻣﻲﺷﻮد .در
در ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي و ﺑﻘﻴﻪ واﺣﺪﻫﺎي آن در ﻣﺎﺷﻴﻦ
ﺧﺪﻣﺘﮕﺰار ﻗﺮار دارﻧﺪ. ﺑﺮاي ﺗﺴﻬﻴﻞ ﺗﻤﺎس ﺑﻴﻦ ﻣﺸﺘﺮي و ﺧﺪﻣﺘﮕﺰار ،اﺑﺰارﻫﺎﻳﻲ ﻣﺜﻞ
ODBC
و
JDBC
و ...ﺗﻮﻟﻴﺪ ﺷﺪهاﻧﺪ .اﻳﻦ اﺑﺰارﻫﺎ در اﺳﺎس واﺳﻂ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﻪ ﻣﺸﺘﺮيﻫﺎ اﻣﻜﺎن ﻣﻲدﻫﻨﺪ ﺗﺎ ﭘﺮﺳﺶﻫﺎ ﺑﻪ ﺻﻮرت اﺣﻜﺎم
SQL
ﺗﻮﻟﻴﺪ ﺷﺪه و ﺑﻪ ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار
ﻓﺮﺳﺘﺎده ﺷﻮﻧﺪ .ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ واﺳﻂ اﺳﺘﺎﻧﺪه ،ﻫﺮ ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ﻣﻲﺗﻮاﻧﺪ ﺑﺎ ﻫﺮ ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار ﻣﺘﺼﻞ ﺑﺎﺷﺪ و ﻧﻴﺎز ﻧﻴﺴﺖ ﻛﻪ ﻣﺤﻴﻂ ﺳﻴﺴﺘﻤﻲدو ﻣﺎﺷﻴﻦ ،ﻫﻤﮕﻦ ﺑﺎﺷﺪ .در
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
214ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﺑﻌﻀﻲ از ﻛﺎرﺑﺮدﻫﺎ ،ﻣﻤﻜﻦ اﺳﺖ واﺳﻄﻬﺎي ﺧﺎص در ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ و ﺣﺘﻲ ﺧﻮد ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ﻫﻢ ﻣﻲﺗﻮاﻧﺪ ﻣﺎﺷﻴﻦ ﺧﺎﺻﻲ ﺑﺎﺷﺪ.
ﺷﻜﻞ 3-10ﻳﻚ ﻃﺮح ﻣﻤﻜﻦ از اﺟﺰاء ﻧﺮماﻓﺰاري ﻣﻌﻤﺎري ﻣﺸﺘﺮي-ﺧﺪﻣﺘﮕﺰار
در ﺑﻌﻀﻲ از ﺳﻴﺴﺘﻢﻫﺎ ،ﺗﻤﺎس ﻣﺸﺘﺮي ﺑﺎ ﺧﺪﻣﺘﮕﺰار از ﻃﺮﻳﻖ ﻓﺮاﺧﻮان دور اﻧﺠﺎم ﻣﻲﺷﻮد .ﺗﻤﺎم ﻓﺮاﺧﻮانﻫﺎي دور از ﺳﻮي ﻣﺎﺷﻴﻦ ﻣﺸﺘﺮي ،در ﻳﻚ )ﻳﺎ ﭼﻨﺪ( ﺗﺮﻛﻨﺶ در ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار ﺟﺎي داده ﻣﻲﺷﻮﻧﺪ ﺗﺎ در اﻳﻦ ﻣﺎﺷﻴﻦ اﺟﺮا ﺷﻮﻧﺪ ،ﺑﻪ ﮔﻮﻧﻪاي ﻛﻪ اﮔﺮ ﺗﺮاﻛﻨﺶ ﺑﻪ ﻫﺮ دﻟﻴﻠﻲ ،ﻃﺮد ﺷﻮد ،ﺧﺪﻣﺘﮕﺰار ﻣﻲﺗﻮاﻧﺪ ﺗﺎﺛﻴﺮات اﺟﺮاي ﻫﺮ ﻳﻚ از ﻓﺮاﺧﻮانﻫﺎي دور را از ﺑﻴﻦ ﺑﺮده ،ﭘﺎﻳﮕﺎهدادهﻫﺎ را ﺑﻪ وﺿﻊ ﺻﺤﻴﺢ ﻗﺒﻞ از اﺟﺮاي ﺗﺮاﻛﻨﺶ ﺑﺮﮔﺮداﻧﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 215
3-1-2-2ﻃﺮﺣﻬﺎي ﻣﻌﻤﺎري 1- 3-1-2-2از ﻧﻈﺮ ﺗﻌﺪاد ﻣﺸﺘﺮي و ﺧﺪﻣﺘﮕﺰار از ﻧﻈﺮ ﺗﻌﺪاد ﻣﺸﺘﺮي و ﺧﺪﻣﺖ ﮔﺬار ﻃﺮﺣﻬﺎي زﻳﺮ وﺟﻮد دارﻧﺪ: •
ﻳﻚ ﻣﺸﺘﺮي -ﻳﻚ ﺧﺪﻣﺘﮕﺰار
•
ﭼﻨﺪ ﻣﺸﺘﺮي -ﻳﻚ ﺧﺪﻣﺘﮕﺰار
•
ﻳﻚ ﻣﺸﺘﺮي -ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار
•
ﭼﻨﺪ ﻣﺸﺘﺮي -ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار
2- 3-1-2-2از ﻧﻈﺮ ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﺨﺖاﻓﺰاري از ﻧﻈﺮ ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖ اﻓﺰاري ،دو ﻧﻮع ﻣﻌﻤﺎري ﺑﻪ ﺷﺮح زﻳﺮ وﺟﻮد دارد: •
ﻣﻌﻤﺎري ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ
•
ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ
ﻣﻌﻤﺎري ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ در اﻳﻦ ﻃﺮح ،ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ اﺳﺖ و ﭘﺎﻳﮕﺎه داده ﻫﺎ روي ﻫﻤﻴﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ ﻣﻲﺷﻮد و ﺗﻌﺪادي ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ ،از ﺧﺪﻣﺎت ﭘﺎﻳﮕﺎﻫﻲ اﻳﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻨﺪ .ﻣﺜﺎﻟﻲ از ﻃﺮح اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ 4-10 ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.
ﺷﻜﻞ 4-10ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
216ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ در اﻳﻦ ﻃﺮح ،ﺗﻌﺪادي ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ ﺑﻪ ﻋﻨﻮان ﺧﺪﻣﺘﮕﺰار و ﺗﻌﺪادي دﻳﮕﺮ ﺑﻪ ﻋﻨﻮان ﻣﺸﺘﺮي ،از ﻃﺮﻳﻖ ﺷﺒﻜﻪ ﺑﻬﻢ ﻣﺮﺗﺒﻂ اﻧﺪ .ﻳﻚ )ﻳﺎ ﺑﻴﺶ از ﻳﻚ( ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺨﺼﻲ ،ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎه داده ﻫﺎﺳﺖ و ﺧﺪﻣﺘﮕﺰاران دﻳﮕﺮي ﻫﻢ ﻣﻲ ﺗﻮاﻧﻨﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ .ﻣﺜﺎﻟﻲ از ﻃﺮح اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ 5-10دﻳﺪه ﻣﻲ ﺷﻮد.
4-1-2-2ﻣﺰاﻳﺎي ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار در ﻣﻘﺎﻳﺴﻪ ﺑﺎ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ ،اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري ﻣﺰاﻳﺎي زﻳﺮ را دارد: •
ﺗﻘﺴﻴﻢ ﭘﺮدازش
•
ﻛﺎﻫﺶ ﺗﺮاﻓﻴﻚ ﺷﺒﻜﻪ )در ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ(
•
اﺳﺘﻘﻼل اﻳﺴﺘﮕﺎﻫﻬﺎي ﻛﺎر
•
اﺷﺘﺮاك دادهﻫﺎ
ﺷﻜﻞ 5-10ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار ﺣﻮل ﺷﺒﻜﻪ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 217
2-2-2ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه 1-2-2-2ﺗﻌﺮﻳﻒ ﻣﺠﻤﻮﻋﻪ اي از داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه ،ﻛﻪ ﻣﻨﻄﻘﺎً ﺑﻪ ﻳﻚ ﺳﻴﺴﺘﻢ ﺗﻌﻠﻖ دارﻧﺪ ،وﻟﻲ در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻣﺨﺘﻠﻒ ﻛﻪ در ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﺷﺒﻜﻪ ﺗﻮزﻳﻊ ﺷﺪه اﻧﺪ ،ﻗﺮار ﮔﺮﻓﺘﻪ اﻧﺪ. ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ در اﻳﻦ ﻣﻌﻤﺎري ﺗﻌﺪادي ﭘﺎﻳﮕﺎه دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه روي ﻛﺎﻣﭙﻴﻮﺗﺮ ﻫﺎي ﻣﺨﺘﻠﻒ دارﻳﻢ ﻛﻪ از ﻧﻈﺮ ﻛﺎرﺑﺮان ،ﭘﺎﻳﮕﺎه واﺣﺪي ﻫﺴﺘﻨﺪ .ﺑﻪ ﺑﻴﺎن دﻳﮕﺮ، اﻳﻦ ﻣﻌﻤﺎري ﻣﺠﻤﻮﻋﻪ اي اﺳﺖ از ﭼﻨﺪ ﭘﺎﻳﮕﺎه داده ﻣﻨﻄﻘﺎً ﻳﻜﭙﺎرﭼﻪ )ﻣﺠﺘﻤﻊ( ،وﻟﻲ ﺑﻪ ﻃﻮر ﻓﻴﺰﻳﻜﻲ ﺗﻮزﻳﻊ ﺷﺪه روي ﻳﻚ ﺷﺒﻜﻪ ﻛﺎﻣﭙﻴﻮﺗﺮي .ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ در اﻳﻦ ﻣﻌﻤﺎري ،در ﺳﻄﺢ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﭘﺎﻳﮕﺎه ،در آﻏﺎز ﻳﻚ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻳﻜﭙﺎرﭼﻪ دارﻳﻢ ﻛﻪ ﻃﺮاح ﺑﺮ اﺳﺎس ﻳﻚ اﺳﺘﺮاﺗﮋي ﺗﻮزﻳﻊ و ﻳﻚ ﻃﺮح ﺗﺨﺼﻴﺺ ﻣﺸﺨﺺ، داده ﻫﺎﻳﺶ را در ﭼﻨﺪ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺗﻮزﻳﻊ ﻣﻲﻛﻨﺪ .ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﭼﻨﺎن ﻫﻤﻜﺎري دارﻧﺪ ﻛﻪ ﻫﺮ ﻛﺎرﺑﺮ ﻣﻲ ﺗﻮاﻧﺪ ﺑﻪ داده ﻫﺎي ﻣﻮرد ﻧﻴﺎزش در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ دﺳﺘﻴﺎﺑﻲ داﺷﺘﻪ ﺑﺎﺷﺪ ﺑﻪ ﮔﻮﻧﻪ اي ﻛﻪ اﻧﮕﺎر دادهﻫﺎ در ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﻮدش ذﺧﻴﺮه ﺷﺪه ﺑﺎﺷﻨﺪ. در اﻳﻦ ﻣﻌﻤﺎري ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﻮد ﻳﻚ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهدادهﻫﺎﺳﺖ ﻳﻌﻨﻲ: ﭘﺎﻳﮕﺎهدادهﻫﺎ ،ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﻣﺪﻳﺮ اﻧﺘﻘﺎل دادهﻫﺎ دارد .اﺻﻄﻼﺣﺎ ﻣﻲﮔﻮﻳﻴﻢ ﺗﻌﺪادي
DBMS
ﻣﺤﻠﻲ دارﻳﻢ و ﺑﺮاي اﻳﺠﺎد ﻫﻤﺎﻫﻨﮕﻲ ﺑﻴﻦ اﻳﻦ ﺳﻴﺴﺘﻢﻫﺎي
ﻣﺤﻠﻲ ،ﻋﻨﺼﺮ ﻧﺮماﻓﺰاري ﺧﺎﺻﻲ ﻛﻪ ﻧﻮﻋﻲ ﮔﺴﺘﺮش در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ،ﻳﻚ
DDBMS
دارﻳﻢ ،ﻳﻌﻨﻲ ﻳﻚ
DBMS
DBMS
اﺳﺖ ،ﻻزم اﺳﺖ .در واﻗﻊ
ﺑﺎ ﺗﻮاﻧﺶ اﻳﺠﺎد و ﻣﺪﻳﺮﻳﺖ
ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺗﻮزﻳﻊ ﺷﺪه .ﺑﻨﺎﺑﺮﻳﻦ ﻧﻤﺎي ﻛﻠﻲ ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﻪ ﺻﻮرﺗﻲ اﺳﺖ ﻛﻪ در ﺷﻜﻞ 6-10دﻳﺪه ﻣﻲﺷﻮد.
ﺷﻜﻞ 6-10ﻧﻤﺎي ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ در ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
218ﭘﺎﻳﮕﺎه دادهﻫﺎ
ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ از ﻃﺮﻳﻖ اﻣﻜﺎﻧﺎت ﺷﺒﻜﻪاي )ﻣﺤﻠﻲ ،ﮔﺴﺘﺮده و ﻳﺎ ﻣﺘﺤﺮك( ﺑﻪ ﻫﻢ ﻣﺮﺗﺒﻂاﻧﺪ و ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ اﺟﺰا و ﻋﻨﺎﺻﺮ ﺳﺨﺖاﻓﺰاري و ﻧﺮماﻓﺰاري ﺧﻮد را دارد .اﻳﻦ اﺟﺰا و ﻋﻨﺎﺻﺮ ﻣﻲﺗﻮاﻧﻨﺪ ﻫﻤﮕﻦ ﻳﺎ ﻧﺎﻫﻤﮕﻦ ﺑﺎﺷﻨﺪ .ﻣﺜﺎﻟﻲ از ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري درﺷﻜﻞ 7-10دﻳﺪه ﻣﻲﺷﻮد .ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺮﻳﻒ اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري و ﻃﺮح ﻛﻠﻲ آن، وﻳﮋﮔﻴﻬﺎي اﻳﻦ ﺳﻴﺴﺘﻢ را ﻣﻲﺗﻮان ﭼﻨﻴﻦ ﺑﺮﺷﻤﺮد: •
ﻣﺠﻤﻮﻋﻪاي اﺳﺖ از دادهﻫﺎي ﻣﻨﻄﻘﺎً ﻣﺮﺗﺒﻂ و اﺷﺘﺮاﻛﻲ
•
ﺑﻌﺾ ﺑﺨﺸﻬﺎ ﻣﻤﻜﻦ اﺳﺖ ﺑﻄﻮر ﺗﻜﺮاري )در ﭼﻨﺪ ﻧﺴﺨﻪ( در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ذﺧﻴﺮه ﺷﺪه ﺑﺎﺷﻨﺪ.
•
ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ از ﻃﺮﻳﻖ ﻳﻚ ﺷﺒﻜﻪ ﺑﻬﻢ ﻣﺮﺗﺒﻂاﻧﺪ.
•
دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺗﺤﺖ ﻛﻨﺘﺮل ﻳﻚ DBMSاﺳﺖ.
•
DBMS
در ﻫﺮ ﻛﺎﻣﭙﻴﻮﺗﺮ ،ﻣﻲﺗﻮاﻧﺪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻣﺤﻠﻲ ،را ﺑﻄﻮر
اﺗﻮﻣﺎﺗﻴﻚ اﺟﺮا ﻛﻨﺪ. •
ﻫﺮ DBMSﺣﺪاﻗﻞ در اﺟﺮاي ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي ﺳﺮﺗﺎﺳﺮي ﻣﺸﺎرﻛﺖ دارد.
ﺷﻜﻞ 7-10ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه ﺑﺎ ﺳﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 219
2-2-2-2ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖاﻓﺰاري ﮔﻔﺘﻴﻢ ﻛﻪ اﺟﺰاء ﺗﺸﻜﻴﻞ دﻫﻨﺪه اﻳﻦ ﻣﻌﻤﺎري ﻣﻲ ﺗﻮاﻧﻨﺪ ﻫﻤﮕﻦ ﻳﺎ ﻧﺎ ﻫﻤﮕﻦ ﺑﺎﺷﻨﺪ ،ﺑﻪ وﻳﮋه از ﻧﻈﺮ ﺳﺨﺖ اﻓﺰاري ،ﭘﻴﻜﺮﺑﻨﺪي ﻫﺎي ﮔﻮﻧﺎﮔﻮﻧﻲ ﭘﻨﺪاﺷﺘﻨﻲ اﺳﺖ .در ﻣﺜﺎل ﺷﻜﻞ 8-10دو ﭘﻴﻜﺮﺑﻨﺪي دﻳﺪه ﻣﻲﺷﻮد .در اﻳﻦ ﻣﻌﻤﺎري اﺟﺰاء زﻳﺮ ﻣﻲ ﺗﻮاﻧﻨﺪ ﻫﻤﮕﻦ ﻳﺎ ﻧﺎ ﻫﻤﮕﻦ ﺑﺎﺷﻨﺪ: •
ﺳﺨﺖاﻓﺰار ﭘﺮدازﺷﮕﺮ
•
ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
•
ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده )ﺑﻮﻳﮋه از ﻧﻈﺮ ﻣﺪل دادهاي و زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ(
•
ﭘﺮوﺗﻮﻛﻠﻬﺎي ﺷﺒﻜﻪ
•
ﺳﺨﺖاﻓﺰار ارﺗﺒﺎط
•
ﺳﺨﺖاﻓﺰار ذﺧﻴﺮه ﺳﺎزي
•
ﺗﺴﻬﻴﻼت و اﺑﺰارﻫﺎي )ﻧﺮماﻓﺰاري( ﺟﺎﻧﺒﻲ
ﺷﻜﻞ 8-10دو ﭘﻴﻜﺮﺑﻨﺪي ﺳﺨﺖاﻓﺰاري در ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
220ﭘﺎﻳﮕﺎه دادهﻫﺎ
3-2-2- 2ﻗﻮاﻋﺪ اﺻﻞ ﻣﻬﻢ در ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه اﻳﻦ اﺳﺖ ﻛﻪ "ﺳﻴﺴﺘﻢ" ﺑﺎﻳﺪ ﺟﻨﺎن ﻋﻤﻞ ﻛﻨﺪ ﻛﻪ ﻛﺎرﺑﺮان دﻗﻴﻘﺎ ﻣﺜﻞ ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻣﺘﻤﺮﻛﺰ ﻣﻌﻤﻮﻟﻲ از آن اﺳﺘﻔﺎده ﻛﻨﻨﺪ )و اﻳﻦ وﻳﮋﮔﻲ ،ﻳﻜﻲ از ﺗﻔﺎوت ﻫﺎي اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﻣﻌﻤﺎري ﻣﺸﺘﺮي -ﺧﺪﻣﺘﮕﺰار اﺳﺖ( .ﺑﺮاي رﻋﺎﻳﺖ اﻳﻦ اﺻﻞ ﻣﻬﻢ ،در ﻫﺮ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه ﻗﻮاﻋﺪي ﺑﺎﻳﺪ رﻋﺎﻳﺖ ﺷﻮﻧﺪ ﻛﻪ در واﻗﻊ اﻫﺪاف اﻳﻦ ﺳﻴﺴﺘﻢ ﻫﻢ ﻫﺴﺘﻨﺪ .ﺑﺮﺧﻲ از اﻳﻦ ﻋﻮاﻣﻞ ﻋﺒﺎرﺗﻨﺪ از: •
ﺧﻮد ﻣﺨﺘﺎري ﻣﺤﻠﻲ )داﺧﻠﻲ(
•
ﺗﺪاوم ﻋﻤﻠﻴﺎت
•
ﻧﺎواﺑﺴﺘﮕﻲ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺑﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ اﺻﻠﻲ
•
ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﻣﻜﺎن ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ
•
ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﻃﺮز ﺟﺎﻳﺪﻫﻲ دادهﻫﺎ در ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ.
•
ﭘﺮدازش ﭘﺮﺳﺸﻬﺎ ﺑﻪ ﮔﻮﻧﻪاي ﺗﻮزﻳﻊ ﺷﺪه
•
ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺳﺨﺖاﻓﺰار
•
ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ
•
ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ
•
ﻧﺎواﺑﺴﺘﮕﻲ ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﻪ ﺷﺒﻜﻪ
4-2-2-2ﻣﺰاﻳﺎ ﺑﺮﺧﻲ از ﻣﺰاﻳﺎي اﻳﻦ ﻣﻌﻤﺎري ﻋﺒﺎرﺗﺴﺖ از: •
ﺳﺎزﮔﺎري و ﻫﻤﺎﻫﻨﮕﻲ ﺑﺎ ﻣﺎﻫﻴﺖ ﺳﺎزﻣﺎنﻫﺎي ﻧﻮﻳﻦ
•
ﻛﺎراﻳﻲ ﺑﻴﺸﺘﺮ در ﭘﺮدازش دادهﻫﺎ ﺑﻪ وﻳﮋه در ﭘﺎﻳﮕﺎهدادهﻫﺎي ﺑﺰرگ
•
دﺳﺘﻴﺎﺑﻲ ﺑﻬﺘﺮ ﺑﻪ دادهﻫﺎ
•
اﺷﺘﺮاك دادهﻫﺎ
•
اﻓﺰاﻳﺶ ﭘﺮدازش ﻣﻮازي
•
ﻛﺎﻫﺶ ﻫﺰﻳﻨﻪ ارﺗﺒﺎﻃﺎت
•
ﺗﺴﻬﻴﻞ ﮔﺴﺘﺮش ﺳﻴﺴﺘﻢ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 221 •
اﺳﺘﻔﺎده از ﭘﺎﻳﮕﺎهدادهﻫﺎي از ﻗﺒﻞ ﻣﻮﺟﻮد
5-2-2-2ﻣﻌﺎﻳﺐ اﻳﻦ ﻣﻌﻤﺎري ﻣﻌﺎﻳﺒﻲ ﻫﻢ دارد از ﺟﻤﻠﻪ: •
ﭘﻴﭽﻴﺪﮔﻲ ﻃﺮاﺣﻲ ﺳﻴﺴﺘﻢ
•
ﭘﻴﭽﻴﺪﮔﻲ ﭘﻴﺎده ﺳﺎزي
•
ﻛﺎﻫﺶ ﻛﺎراﻳﻲ در ﺑﺮﺧﻲ ﻣﻮارد
•
ﻫﺰﻳﻨﻪ ﺑﻴﺸﺘﺮ
•
ﻣﺼﺮف ﺣﺎﻓﻈﻪ ﺑﻴﺸﺘﺮ
3-2-2ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي اﻳﻦ ﻣﻌﻤﺎري ﺑﺎ ﺳﺎﺧﺖ و ﮔﺴﺘﺮش ﻣﺎﺷﻴﻦ ﻫﺎي ﻣﻮازي ،ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎه داده ﻫﺎي ﺧﻴﻠﻲ ﺑﺰرگ و ﻧﻴﺰ در ﺳﻴﺴﺘﻢ ﻫﺎﻳﻲ ﻛﻪ ﭼﻨﺪ ﻫﺰار ﺗﺮاﻛﻨﺶ در ﺛﺎﻧﻴﻪ را ﭘﺮدازش ﻣﻲ ﻛﻨﻨﺪ ،ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﮔﺮﻓﺖ .ﮔﻮﻧﻪ ﮔﺴﺘﺮش ﻳﺎﻓﺘﻪ ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه اﺳﺖ و ﺑﺮاي ﺗﺎﻣﻴﻦ ﻛﺎراﻳﻲ ﺑﻴﺸﺘﺮ ،دﺳﺘﻴﺎﺑﻲ ﭘﺬﻳﺮي ﺑﺎﻻ و ﮔﺴﺘﺮش ﭘﺬﻳﺮي ﺳﺮﻳﻊ ﻃﺮاﺣﻲ ﻣﻲ ﺷﻮد .در اﻳﻨﮕﻮﻧﻪ ﺳﻴﺴﺘﻢﻫﺎ ﻣﻌﻤﻮﻻً ﺗﻌﺪاد زﻳﺎدي ﺗﺮاﻛﻨﺶ در ﺛﺎﻧﻴﻪ )ﺣﺪود ﭼﻨﺪ ﻫﺰار( و ﺑﻄﻮر ﻣﻮازي اﺟﺮا ﻣﻲ ﺷﻮﻧﺪ .ﻣﻄﺎﻟﻌﻪ ﻣﺎﺷﻴﻦ ﻫﺎي ﻣﻮازي از ﺣﺪود اﻳﻦ درس ﺧﺎرج اﺳﺖ ،ﺗﻨﻬﺎ اﺷﺎره ﻣﻲﺷﻮد ﻛﻪ ﻣﺎﺷﻴﻦ ﻣﻮازي ﺑﺮ اﺳﺎس ﻳﻜﻲ از دو ﻃﺮح ﻛﻠﻲ زﻳﺮ ﻃﺮاﺣﻲ و ﺗﻮﻟﻴﺪ ﻣﻲ ﺷﻮد: •
ﭼﻨﺪ ﭘﺮدازﻧﺪه ﻗﻮي )دو ﻳﺎ ﭼﻬﺎر در ﺣﺎل ﺣﺎﺿﺮ و ﮔﺎه ﺑﻴﺸﺘﺮ(
•
ﺗﻌﺪادي ﭘﺮدازﻧﺪه ﻛﻮﭼﻚ )ﮔﺎه ﭼﻨﺪ ﺳﻄﺮ ﻳﺎ ﺣﺘﻲ ﺑﻴﺸﺘﺮ(
در ﻣﺎﺷﻴﻦ ﺑﺎ ﭘﺮدازش ﻣﻮازي دو ﻫﺪف اﺳﺎﺳﻲ وﺟﻮد دارد: •
اﻓﺰاﻳﺶ ﺳﺮﻋﺖ )ﻛﺎراﻳﻲ( ،ﻳﻌﻨﻲ اﻧﺠﺎم ﻳﻚ ﻛﺎر در زﻣﺎن ﻛﻤﺘﺮ
•
اﻓﺰاﻳﺶ ﻣﻘﻴﺎس ﻛﺎر )ﮔﺴﺘﺮش ﻛﺎر( ﻳﻌﻨﻲ اﻧﺠﺎم ﻛﺎرﻫﺎي ﺑﺰرگ ﺗﺮ در زﻣﺎن ﻛﻤﺘﺮ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
222ﭘﺎﻳﮕﺎه دادهﻫﺎ
1-3-2-2ﻃﺮح ﻛﻠﻲ ﻣﻌﻤﺎري اﻳﻦ ﻣﻌﻤﺎري ﺑﻪ ﺻﻮرت ﻛﻠﻲ در ﺷﻜﻞ 9-10دﻳﺪه ﻣﻲ ﺷﻮد .ﻣﻲ ﺑﻴﻨﻴﻢ ﻛﻪ در ﭼﻨﻴﻦ ﺳﻴﺴﺘﻤﻲ ،در اﺳﺎس ﺳﻪ واﺣﺪ اﺻﻠﻲ وﺟﻮد دارد: •
ﻣﺪﻳﺮ ﺗﻤﺎسﻫﺎي اﺟﺮاﻳﻲ ﻛﺎرﺑﺮان
•
ﻣﺪﻳﺮ درﺧﻮاﺳﺖﻫﺎ
•
ﻣﺪﻳﺮ دادهﻫﺎ
ﺷﻜﻞ 9-10ﻃﺮح ﻛﻠﻲ ﻣﻌﻤﺎري ﻣﻮازي
2-3-2-2ﻃﺮحﻫﺎ ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎه دادهﻫﺎ ﺑﺎ ﻣﻌﻤﺎري ﭘﺮدازش ﻣﻮازي ،ﺑﻪ ﻃﻮر ﻛﻠﻲ ،ﭼﻬﺎر ﻣﺪل ﻳﺎ ﻃﺮح وﺟﻮد دارد: •
ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك
•
ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚ ﻣﺸﺘﺮك
•
ﻣﻌﻤﺎري ﺑﻲ اﺟﺰاء ﻣﺸﺘﺮك
•
ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 223
ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي ﻣﻮازي ،ﻋﻼوه ﺑﺮ اﺳﺘﻔﺎده از ﻳﻜﻲ از اﻳﻦ ﻣﻌﻤﺎريﻫﺎ، روشﻫﺎﻳﻲ ﻧﻴﺰ ﺑﺮاي ﺟﺎﻳﺪﻫﻲ دادهﻫﺎ روي دﻳﺴﻚﻫﺎ و ﻳﺎ در ﺣﺎﻓﻈﻪﻫﺎي ﻧﻬﺎن و ﻧﻴﺰ ﺑﻬﻴﻨﻪ ﺳﺎزش ﭘﺮﺳﺶﻫﺎي ﻛﺎرﺑﺮان ﺑﻪ ﻛﺎر ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮﻧﺪ ،ﺑﻨﺎﺑﺮﻳﻦ ﺻﺮف وﺟﻮد ﻣﻌﻤﺎري ﻣﻮازي ﺑﺮاي اﻳﺠﺎد ﭘﺎﻳﮕﺎهدادهﻫﺎي ﻣﻮازي ﻛﺎﻓﻲ ﻧﻴﺴﺖ.
1-2-3-2-2ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك در اﻳﻦ ﻃﺮح ،ﭘﺮدازﻧﺪهﻫﺎ ﺑﻪ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك دﺳﺘﻴﺎﺑﻲ دارﻧﺪ .ﻣﺰﻳﺖ اﻳﻦ ﻃﺮح اﻳﻦ اﺳﺖ ﻛﻪ ارﺗﺒﺎط ﺑﻴﻦ ﭘﺮدازﻧﺪه ﻫﺎ ﺑﻄﻮر ﻛﺎرا اﻧﺠﺎم ﻣﻲﺷﻮد .زﻳﺮا ﭘﻴﺎم ﻫﺎي ﺑﻴﻦ ﭘﺮدازﻧﺪه ﻫﺎ ﺑﺎ ﻧﻮﺷﺘﻦ در ﺣﺎﻓﻈﻪ ﻣﺒﺎدﻟﻪ ﻣﻲ ﺷﻮد ﻛﻪ زﻣﺎن آن ﻛﻤﺘﺮ از ﻣﻴﻜﺮوﺛﺎﻧﻴﻪ اﺳﺖ. داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﺣﺎﻓﻈﻪ در اﺧﺘﻴﺎر ﻫﻤﻪ ﭘﺮدازﻧﺪهﻫﺎ ﻗﺮار دارﻧﺪ.
ﺷﻜﻞ 10-10ﻣﻌﻤﺎري ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك
ﻋﻴﺐ اﻳﻦ ﻣﻌﻤﺎري در اﻳﻦ اﺳﺖ ﻛﻪ ﻧﻤﻲﺗﻮان ﺑﻴﺶ از 32ﻳﺎ 64ﭘﺮدازﻧﺪه داﺷﺖ، زﻳﺮا اﺣﺘﻤﺎل ﺑﺮوز ﺗﻨﮕﻨﺎ در ﺑﺎزﺳﺎي ﺣﺎﻓﻈﻪاي ﻳﺎ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ اﻓﺰاﻳﺶ ﻣﻲﻳﺎﺑﺪ .اﻟﺒﺘﻪ اﮔﺮ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
224ﭘﺎﻳﮕﺎه دادهﻫﺎ
در ﻫﺮ ﭘﺮدازﻧﺪه ﺣﺎﻓﻈﻪ ﻧﻬﺎن ﺑﺎاﻧﺪازه ﺑﺰرگ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ،دﻓﻌﺎت ﻣﺮاﺟﻌﻪ ﺑﻪ ﺣﺎﻓﻈﻪ اﺻﻠﻲ ﻛﺎﻫﺶ ﻣﻲﻳﺎﺑﺪ ،ﻫﺮ ﭼﻨﺪ ﻧﻤﻲﺗﻮان ﻫﻤﻪ دادهﻫﺎ را در اﻳﻦ ﺑﺎﻓﺮﻫﺎ ﺟﺎي داد .ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ 10-10ﻧﺸﺎن داده ﺷﺪه اﺳﺖ )در اﻳﻦ ﻃﺮح و ﻃﺮحﻫﺎي ﺑﻌﺪي ﻣﻌﻤﺎري ﻣﻮازي P ،ﺑﻪ ﺟﺎي ﭘﺮدازﻧﺪه و Mﺑﻪ ﺟﺎي ﺣﺎﻓﻈﻪ اﺳﺖ(.
2-2-3-2-2ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك در اﻳﻦ ﻃﺮح ،ﺗﻤﺎم ﭘﺮدازﻧﺪهﻫﺎ ﺑﻪ ﺗﻤﺎم دﻳﺴﻚ ﻫﺎ از ﻃﺮﻳﻖ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ دﺳﺘﻴﺎﺑﻲ دارﻧﺪ .ﻫﺮ ﭘﺮدازﻧﺪه ،ﺣﺎﻓﻈﻪ اﺧﺘﺼﺎﺻﻲ ﺧﻮد را دارد .ﻣﺰاﻳﺎي اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري ﺑﻪ ﺷﺮح ذﻳﻞ ﻣﻲ ﺑﺎﺷﺪ: •
ﻋﺪم ﺑﺮوز ﺗﻨﮕﻨﺎ در ﺑﺎسﻫﺎي ﺣﺎﻓﻈﻪ
•
ﺗﺴﻬﻴﻞ ﺗﺤﻤﻞ ﺧﺮاﺑﻲ ،زﻳﺮا در ﺻﻮرت ﺧﺮاب ﺷﺪن ﻳﻚ ﭘﺮدازﻧﺪه ﻳﺎ ﺣﺎﻓﻈﻪ، ﭘﺮدازﻧﺪه دﻳﮕﺮ ﻣﻲﺗﻮاﻧﺪ ﻛﺎر را اداﻣﻪ دﻫﺪ .ﻣﻲﺗﻮان از ﺳﻴﺴﺘﻢ RAIDﻫﻢ اﺳﺘﻔﺎده ﻛﺮد.
ﺷﻜﻞ 11-10ﻣﻌﻤﺎري ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 225
اﻳﻦ ﻣﻌﻤﺎري داراي ﻋﻴﻮﺑﻲ ﻧﻴﺰ اﺳﺖ ﻛﻪ ﻣﻬﻤﺘﺮﻳﻦ ﻋﻴﺐ آن دﺷﻮاري در ﮔﺴﺘﺮش ﺳﻴﺴﺘﻢ اﺳﺖ ،زﻳﺮا ﺑﺎ اﻓﺰاﻳﺶ دﻳﺴﻚﻫﺎ و ﭘﺮدازﻧﺪهﻫﺎ ،در ارﺗﺒﺎط ﺑﻴﻦ اﺟﺰا ،ﺗﻨﮕﻨﺎ اﻳﺠﺎد ﻣﻲﺷﻮد و ﺳﺮﻋﺖ ارﺗﻘﺎ ﺑﻴﻦ آﻧﻬﺎ ﻛﺎﻫﺶ ﻣﻲﻳﺎﺑﺪ .ﻃﺮح ﻛﻠﻲ اﻳﻦ ﺳﻴﺴﺘﻢ در ﺷﻜﻞ 11-10 ﻧﺸﺎن داده ﺷﺪه اﺳﺖ.
3-2-3-2-2ﻣﻌﻤﺎري ﺑﻲ اﺟﺰا ﻣﺸﺘﺮك در اﻳﻦ ﻃﺮح ،ﻫﺮ ﻣﺎﺷﻴﻦ ،ﭘﺮدازﻧﺪه ،ﺣﺎﻓﻈﻪ و دﻳﺴﻚ )ﻫﺎي( ﺧﻮد را دارد .ﻳﻚ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ ﺑﺎ ﺳﺮﻋﺖ ﺑﺎﻻ اﻳﻦ ﻣﺎﺷﻴﻦ ﻫﺎ را ﺑﻪ ﻫﻢ ﻣﺮﺗﺒﻂ ﻣﻲ ﻛﻨﺪ .ﻫﺮ ﻣﺎﺷﻴﻦ ﻧﻮﻋﻲ ﺧﺪﻣﺖ ﮔﺰار ﭘﺎﻳﮕﺎﻫﻲ اﺳﺖ .در ﺷﻜﻞ ،12-10ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري دﻳﺪه ﻣﻲ ﺷﻮد. ﻣﺰﻳﺖ اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري در ﺗﺴﻬﻴﻞ ﮔﺴﺘﺮش اﺳﺖ .وﻟﻲ ﻋﻴﺐ اﻳﻦ ﻧﻮع ﻣﻌﻤﺎري در اﻳﻦ اﺳﺖ ﻛﻪ ﻫﺰﻳﻨﻪ ارﺗﺒﺎط و دﺳﺘﻴﺎﺑﻲ ﻫﺎي ﻏﻴﺮ ﻣﺤﻠﻲ زﻳﺎد اﺳﺖ.
ﺷﻜﻞ 12-10ﻣﻌﻤﺎري ﺑﻲ اﺟﺰاء ﻣﺸﺘﺮك
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
226ﭘﺎﻳﮕﺎه دادهﻫﺎ
4-2-3-2-2ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ در اﻳﻦ ﻃﺮح ،وﻳﮋﮔﻲ ﻫﺎي ﺳﻪ ﻃﺮح ﭘﻴﺶ ﺑﺎ ﻫﻢ وﺟﻮد دارد .در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ ﺳﻴﺴﺘﻢ ،ﺗﻌﺪادي ﮔﺮه ﺑﺎ ﺷﺒﻜﻪ ارﺗﺒﺎﻃﻲ ﺑﻪ ﻫﻢ ﻣﺮﺗﺒﻂ اﻧﺪ و اﺟﺰا ﻣﺸﺘﺮك ﻧﺪارﻧﺪ .ﭘﺲ در اﻳﻦ ﺳﻄﺢ ،ﻣﻌﻤﺎري ﺑﻲ اﺷﺘﺮاك دارﻳﻢ .ﻫﺮ ﮔﺮه ﺧﻮد ﻣﻲﺗﻮاﻧﺪ ﺗﻌﺪاد ﻛﻤﻲ ﭘﺮدازﻧﺪه ﺑﺎ ﺣﺎﻓﻈﻪ ﻣﺸﺘﺮك داﺷﺘﻪ ﺑﺎﺷﺪ ﻳﺎ ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺎ دﻳﺴﻚﻫﺎي ﻣﺸﺘﺮك ﺑﺎﺷﺪ .ﺑﻨﺎﺑﺮﻳﻦ ﻳﻚ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ از ﻣﻌﻤﺎريﻫﺎي ﭘﻴﺶ ﮔﻔﺘﻪ اﻳﺠﺎد ﻣﻲ ﺷﻮد .ﻃﺮح ﻛﻠﻲ اﻳﻦ ﻣﻌﻤﺎري در ﺷﻜﻞ 13-10دﻳﺪه ﻣﻲ ﺷﻮد.
ﺷﻜﻞ 13-10ﻣﻌﻤﺎري ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ
4-2-2ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ اﻳﻦ ﻣﻌﻤﺎري ﻧﻮﻋﻲ ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ اﺳﺖ ﻛﻪ در آن ،ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎ ﺧﻮد ﻣﺨﺘﺎري ﻛﺎﻣﻞ دارﻧﺪ .در ﺳﺎﻟﻬﺎي اﺧﻴﺮ ﮔﺮاﻳﺶ زﻳﺎدي ﺑﻪ اﻳﻦ ﻣﻌﻤﺎري اﻳﺠﺎد ﺷﺪه اﺳﺖ .در اﻳﻦ ﻣﻌﻤﺎري ،ﻣﻌﻤﻮﻻً ﭼﻨﺪ ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﺗﻮزﻳﻊ ﺷﺪه و ﻳﺎ ﭼﻨﺪ ﺳﻴﺴﺘﻢ ﺑﺎ ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ از ﻗﺒﻞ وﺟﻮد دارد و ﻫﺮ ﺳﻴﺴﺘﻢ ،روي ﻋﻤﻠﻴﺎت ﻣﺤﻠﻲ ﺧﻮد ﻛﻨﺘﺮل
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 227
ﻛﺎﻣﻞ دارد .اﻣﺎ ﺑﺮاي آﻧﻜﻪ ﻛﺎرﺑﺮان ﺑﺘﻮاﻧﻨﺪ ﻧﻴﺎزﻫﺎي اﻃﻼﻋﺎﺗﻲ ﺧﻮد را ﺗﺎﻣﻴﻦ ﻛﻨﻨﺪ ﺑﻲ آﻧﻜﻪ ﻣﺴﺘﻘﻴﻤﺎ ﺑﺎ اﺟﺰاء ﻣﻌﻤﺎري ﻣﺮﺗﺒﻂ ﺑﺎﺷﻨﺪ و در واﻗﻊ ﺑﺘﻮاﻧﻨﺪ از ﻳﻚ ﺳﻴﺴﺘﻢ ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ ﺑﻬﺮه ﺑﺮداري ﻛﻨﻨﺪ ،ﺑﻪ ﻳﻚ ﻻﻳﻪ ﻧﺮم اﻓﺰاري ﺧﺎﺻﻲ ﻧﻴﺎز اﺳﺖ .اﻳﻦ ﻻﻳﻪ ﻧﺮم اﻓﺰاري اﻣﻜﺎن ﻣﻲ دﻫﺪ ﺗﺎ در ﻫﺮ ﺳﻴﺴﺘﻢ ،ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه دادهﻫﺎ روي داده ﻫﺎي ﭘﺎﻳﮕﺎه ﺧﻮد ﻛﻨﺘﺮل ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﺪ و ﻧﻴﺎزي ﺑﻪ ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ ﻧﺒﺎﺷﺪ و در ﻋﻴﻦ ﺣﺎل ﺧﺪﻣﺎت ﻻزم ﺑﻪ ﻛﺎرﺑﺮان داده ﺷﻮد. اﻳﻦ ﻻﻳﻪ ﻧﺮماﻓﺰاري در ﺳﻄﺢ ﺑﺎﻻﺗﺮ از DBMSﻫﺎ و اﺣﻴﺎﻧﺎ ﺳﻴﺴﺘﻢﻫﺎي ﻓﺎﻳﻠﻴﻨﮓ ﻣﻮﺟﻮد در ﭘﻴﻜﺮ ﺑﻨﺪي ﺳﻴﺴﺘﻢ ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ ،ﻗﺮار دارد .اﻳﻦ ﻻﻳﻪ ﭼﻨﺎن ﻋﻤﻞ ﻣﻲﻛﻨﺪ ﻛﻪ ﻛﺎرﺑﺮان ﺳﻴﺴﺘﻢﻫﺎي ﻣﺨﺘﻠﻒ ،ﻣﺠﻤﻮﻋﻪ ﭘﺎﻳﮕﺎهﻫﺎ را ﺑﻪ ﺻﻮرت ﻳﻚ ﭘﺎﻳﮕﺎه واﺣﺪ ﻣﻲﺑﻴﻨﻨﺪ. واﺿﺢ اﺳﺖ ﻛﻪ در ﺳﻴﺴﺘﻢ ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ ،ﻳﻚ ﺷﻤﺎي ادراﻛﻲ ﺟﺎﻣﻊ )ﺳﺮاﺳﺮي( و در ﻫﺮ ﻳﻚ از DBMSﻫﺎ ،ﻳﻚ ﺷﻤﺎي ادراﻛﻲ ﻣﺤﻠﻲ وﺟﻮد دارد )و ﻧﻴﺰ ﺷﻤﺎﻫﺎي دﻳﮕﺮ ،ﻃﺒﻖ آﻧﭽﻪ ﻛﻪ در ﻣﻌﻤﺎري
ANSI
دﻳﺪﻳﻢ .در ﭼﻨﻴﻦ ﺳﻴﺴﺘﻤﻲﻃﺒﻌﺎ ﺑﻪ ﻳﻚ ﻛﺎﺗﺎﻟﻮگ ﺟﺎﻣﻊ ﻧﻴﺎز
اﺳﺖ .اﻳﻦ ﻣﻌﻤﺎري ﻋﻼوه ﺑﺮ ﻣﺸﻜﻼت ﺗﻜﻨﻴﻜﻲ ﻣﻮﺟﻮد در ﻳﻚ ﺳﻴﺴﺘﻢ ﺗﻮزﻳﻊ ﺷﺪه، ﻣﺸﻜﻼت ﺧﺎص ﺧﻮد را ﻧﻴﺰ دارد ﻛﻪ در اﻳﻨﺠﺎ از ذﻛﺮ آﻧﻬﺎ ﺧﻮدداري ﻣﻲ ﺷﻮد.
5-2-2ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه 1-5-2-2ﺗﻌﺮﻳﻒ ﺑﺎ رﺷﺪ ﺳﺮﻳﻊ ﺗﻜﻨﻮﻟﻮژي ارﺗﺒﺎﻃﺎت ،اﻳﻨﻚ دﻳﮕﺮ اﻧﺴﺎن ﻣﻲ ﺗﻮاﻧﺪ از ﻫﺮ ﺟﺎ ،ﺑﻪ ﻫﺮ داده ذﺧﻴﺮه ﺷﺪه در ﻫﺮ ﺟﺎي دﻳﮕﺮ دﺳﺘﻴﺎﺑﻲ داﺷﺘﻪ ﺑﺎﺷﺪ ،ﻫﺮ ﭼﻨﺪ ﻫﻨﻮز ﻣﺤﺪودﻳﺖ ﻫﺎﻳﻲ در اﻳﻦ ''داده ﻓﺮﺳﺘﻲ -داده ﮔﻴﺮي'' وﺟﻮد دارد .اﻣﺎ ﺗﺎ آﻧﺠﺎ ﻛﻪ ﺑﻪ ﺣﻴﻄﻪ داﻧﺶ و ﺗﻜﻨﻮﻟﻮژي ﭘﺎﻳﮕﺎه داده ﻫﺎ ﻣﺮﺑﻮط ﻣﻲ ﺷﻮد ،ﻧﻮع ﻧﻮﻳﻨﻲ از ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه دادهﻫﺎ ﭘﺪﻳﺪ آﻣﺪه و در ﺣﺎل ﮔﺴﺘﺮش ﻳﺎﻓﺘﻦ اﺳﺖ :ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده ﻫﺎي ﻫﻤﺮاه )ﺟﺎﺑﺠﺎ ﺷﻮﻧﺪه(. ﻣﺎ در ﻗﺴﻤﺘﻬﺎي ﻗﺒﻞ اﻧﻮاع ﻣﻌﻤﺎري ﻫﺎي ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ را دﻳﺪﻳﻢ ،از ﺟﻤﻠﻪ ﻣﻌﻤﺎري ﻣﺸﺘﺮي-ﺧﺪﻣﺘﮕﺰار .اﻣﺎ اﻳﻦ ﻣﻌﻤﺎري و ﺣﺘﻲ ﮔﻮﻧﻪ ﮔﺴﺘﺮده ﺗﺮ آن ،ﻳﻌﻨﻲ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه ﺗﻮزﻳﻊ ﺷﺪه ،ﻫﻨﻮز ﻣﺸﻜﻼﺗﻲ از ﺟﻤﻠﻪ "ﻋﻤﻠﻲ ﻧﺒﻮدن در ﻫﻤﻪ ﺟﺎ" ،اﻳﻤﻨﻲ ﺳﻴﺴﺘﻢ و داده ﻫﺎ ،ﻫﺰﻳﻨﻪ و ...دارﻧﺪ .ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهﻫﺎي ﻫﻤﺮاه راه ﺣﻠﻲ اﺳﺖ ﺑﺮاي ﺑﺮﺧﻲ از اﻳﻦ دﺷﻮاري ﻫﺎ ،ﺑﻪ وﻳﮋه در ﻛﺎرﺑﺮدﻫﺎي ﺷﺨﺼﻲ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
228ﭘﺎﻳﮕﺎه دادهﻫﺎ
2-5-2-2ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻫﻤﺮاه در اﻳﻦ ﻣﻌﻤﺎري ،ﻳﻚ ﻳﺎ ﺑﻴﺶ از ﻳﻚ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺘﻮﺳﻂ ﻳﺎ ﺑﺰرگ ،ﻧﻘﺶ ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎﻫﻲ را اﻳﻔﺎ ﻣﻲ ﻛﻨﺪ .اﻳﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ را ﺧﺪﻣﺘﮕﺰار ﻣﻴﺰﺑﺎن ﻣﻲ ﻧﺎﻣﻨﺪ .ﻫﺮ ﻛﺎرﺑﺮ، ﻛﺎﻣﭙﻴﻮﺗﺮ ﻛﻮﭼﻚ ﻫﻤﺮاه ﺧﻮد را دارد )ﺑﺎ ﺧﻮد ﺣﻤﻞ ﻣﻲ ﻛﻨﺪ :ﻧﻮﻋﻲ دﻓﺘﺮﻛﺎر ﻫﻤﺮاه(. در اﻳﻦ ﻛﺎﻣﭙﻴﻮﺗﺮ داده ﻫﺎي ﻋﻤﻠﻴﺎﺗﻲ و ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻣﻮرد ﻧﻴﺎزش ذﺧﻴﺮه ﺷﺪه اﻧﺪ .ﭘﺎﻳﮕﺎه داده ﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﺪﻣﺘﮕﺰار ﻣﻴﺰﺑﺎن ،ﺣﺎوي داده ﻫﺎي ﭘﻮﻳﺎ اﺳﺖ .ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻛﺎرﺑﺮ ﻣﻲ ﺗﻮاﻧﺪ از ﻫﺮ ﺟﺎ ،ﺑﺎ زﻳﺮ ﺳﻴﺴﺘﻢ ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎﻫﻲ ﻣﺮﺗﺒﻂ ﺷﺪه و ﭘﺮدازش ﻫﺎي ﻣﻮرد ﻧﻈﺮش را اﻧﺠﺎم دﻫﺪ .در اﻳﻦ ﺳﻴﺴﺘﻢ ﻟﺰوﻣﻲ ﻧﺪارد ﻛﻪ ﭘﺎﻳﮕﺎه ﻫﺎي ﻫﻤﺮاه و ﭘﺎﻳﮕﺎه ﻣﻴﺰﺑﺎن در ﻳﻚ ﺷﺒﻜﻪ ﺑﺎﺷﻨﺪ .ارﺗﺒﺎط ﺑﻴﻦ "ﻫﻤﺮاه'' و ﻣﻴﺰﺑﺎن در ﺑﺎزهﻫﺎي زﻣﺎﻧﻲ ﻧﺎﻣﻨﻈﻢ و ﻣﻌﻤﻮﻻً ﻛﻮﺗﺎه ﺑﺮﭘﺎ ﻣﻲ ﮔﺮدد .ﺑﻴﻦ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎي ﻫﻤﺮاه ،ﻣﮕﺮ در ﺷﺮاﻳﻂ ﺧﺎص ،ﭼﻨﺪان ارﺗﺒﺎط ﺑﺮﻗﺮار ﻧﻤﻲ ﮔﺮدد. دو ﺟﻨﺒﻪ اﺳﺎﺳﻲ اﻳﻦ ﺳﻴﺴﺘﻢ ﻛﻪ ﺑﺎﻳﺪ در ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺑﻪ آن ﺗﻮﺟﻪ ﺷﻮد ﻋﺒﺎرﺗﻨﺪ از :ﻣﺪﻳﺮﻳﺖ ﻛﺎراي ﭘﺎﻳﮕﺎﻫﻬﺎي ﻫﻤﺮاه و اﻳﺠﺎد ارﺗﺒﺎط ﭘﻮﻳﺎ و ﺳﺮﻳﻊ ﺑﻴﻦ ﭘﺎﻳﮕﺎﻫﻬﺎي ﻫﻤﺮاه و ﭘﺎﻳﮕﺎه ﻣﻴﺰﺑﺎن.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﻌﻤﺎريﻫﺎي ﻣﺨﺘﻠﻒ ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎه داده 229
ﺗﻤﺮﻳﻨﺎت .1دو ﻧﻮع اﺻﻠﻲ ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه دادهﻫﺎ را ﻧﺎم ﺑﺒﺮﻳﺪ؟ .2ﻣﻌﻤﺎري ﻣﺘﻤﺮﻛﺰ را ﺷﺮح دﻫﻴﺪ ؟ .3اﻧﻮاع ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .4ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﺘﺮي -ﺧﺪﻣﺖ ﮔﺬار را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .5ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟ .6ﻣﺰاﻳﺎي ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻲ ﺗﻮزﻳﻊ ﺷﺪه را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .7ﭼﻬﺎر ﻣﺪل ﻣﻌﻤﺎري ﺑﺎ ﭘﺮدازش ﻣﻮازي را ﻧﺎم ﺑﺒﺮﻳﺪ ؟ .8ﻣﻌﻤﺎري ﭘﺎﻳﮕﺎه داده ﻫﻤﺮاه را ﺗﻮﺿﻴﺢ دﻫﻴﺪ ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ230
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
? % % 3@ AB 5A% ﺗﺴﺖ ﻫﺎي ﺳﺮي 1 -1ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺑﻴﺎﻧﮕﺮ اﺧﺘﻼف ﺑﻴﻦ ﭘﺎﻳﮕﺎهدادهﻫﺎ و ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت ) (Knowledge Baseﻣﻲﺑﺎﺷﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ -آزاد(72 .1ﻫﺮ دو ﭘﺎﻳﮕﺎه از ﻳﻚ ﻧﻮع ﺑﻮده و ﻓﺮﻗﻲ ﺑﺎ ﻫﻢ ﻧﺪارﻧﺪ. .2ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت دﻳﻨﺎﻣﻴﻚ وﻟﻲ ﭘﺎﻳﮕﺎهدادهﻫﺎاﻳﺴﺘﺎ ) ( staticﻣﻲﺑﺎﺷﺪ. .3ﭘﺎﻳﮕﺎهدادهﻫﺎ اﻏﻠﺐ ﺑﺎ زﺑﺎن SQLو ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت اﻏﻠﺐ ﺑﺎ زﺑﺎن QUELﻛﺪ ﻣﻲﺷﻮد. .4
ﻫﻴﭽﻜﺪام
-2اﻃﻼﻋﺎت ) ( Informationﺑﻪ ﭼﻪ ﻣﻌﻨﻲ ﻣﻲﺑﺎﺷﺪ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ( .1دادهﻫﺎﻳﻲ ﻛﻪ روي آﻧﻬﺎ ﻋﻤﻞ ﻣﻘﺎﻳﺴﻪاي ﺻﻮرت ﮔﻴﺮد. .2دادهﻫﺎﻳﻲ ﻛﻪ روي آﻧﻬﺎ ﻋﻤﻞ ﻣﺤﺎﺳﺒﺎت ﺻﻮرت ﮔﻴﺮد. .3دادهﻫﺎﻳﻲ ﻛﻪ ﺑﻪ ﻧﻤﺎﻳﺶ در آﻣﺪه ﺑﺎﺷﻨﺪ. .4
دادهﻫﺎﻳﻲ ﻛﻪ روي آﻧﻬﺎ ﻋﻤﻞ ﭘﺮدازش ﺻﻮرت ﮔﻴﺮد.
-3داده +وﻳﮋﮔﻲ +ﻣﻮﺟﻮدﻳﺖ =)....ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ (80- .1اﻃﻼع .2
ﭘﺮدازش
.3ﭘﺮوﻧﺪه
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
232ﭘﺎﻳﮕﺎه داده ﻫﺎ
.4
داﻧﺶ
-4ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻧﺴﻞ دوم ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1اﻳﻦ ﻧﺴﻞ ﺑﻪ ﻧﺴﻞ ﺷﻴﻮهﻫﺎي دﺳﺘﻴﺎﺑﻲ ﻣﻌﺮوف اﺳﺖ. .2ﺗﻜﺮار ذﺧﻴﺮه ﺳﺎزي دراﻳﻦ ﻧﺴﻞ ﺑﺴﻴﺎر ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ. .3ﺗﻐﻴﻴﺮ در رﺳﺎﻧﻪﻫﺎي ذﺧﻴﺮه ﺳﺎزي ﺑﺮ روي ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﺗﺎﺛﻴﺮ ﭼﻨﺪاﻧﻲ ﻧﺪارد. .4دراﻳﻦ ﻧﺴﻞ از رﺳﺎﻧﻪﻫﺎي ﺑﺎ دﺳﺘﻴﺎﺑﻲ ﻣﺴﺘﻘﻴﻢ ﻣﺜﻞ دﻳﺴﻚ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ. -5ﻛﺪام ﺗﻌﺮﻳﻒ در راﺑﻄﻪ ﺑﺎ ))داده(( درﺳﺖ اﺳﺖ ؟ .1ﻧﻤﺎﻳﺶ واﻗﻌﻴﺎت ،ﭘﺪﻳﺪهﻫﺎ ،ﻣﻔﺎﻫﻴﻢ ﻳﺎ ﻣﻌﻠﻮﻣﺎت ﺑﻪ ﺻﻮرﺗﻲ ﺻﻮري و ﻣﻨﺎﺳﺐ ﺑﺮاي ﺑﺮﻗﺮاري ارﺗﺒﺎط ،ﺗﻔﺴﻴﺮ ﻳﺎ ﭘﺮدازش ﺗﻮﺳﻂ اﻧﺴﺎن ﻳﺎ اﻣﻜﺎﻧﺎت ﺧﻮدﻛﺎر .2از ﻧﻈﺮ ﺳﺎﺧﺘﺎري و از دﻳﺪﮔﺎه ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ،داده ﻋﺒﺎرت اﺳﺖ از ﻣﻘﺎدﻳﺮ ﺻﻔﺎت ﺧﺎﺻﻪ اﻧﻮاع ﻣﻮﺟﻮدﻳﺘﻬﺎ .3
ﻫﺮ دو ﮔﺰﻳﻨﻪ 1و 2
.4
اﻃﻼﻋﺎت ﻛﺎراﻛﺘﺮي ﻛﻪ وارد ﺳﻴﺴﺘﻢ دﺳﺘﻲ ﺷﺪه و ﺑﻪ آن ﻣﻌﻨﺎﻳﻲ ﻣﻨﺘﺴﺐ ﻣﻲﺷﻮد.
-6ﻛﺪام ﻋﺒﺎرت درﺳﺖ اﺳﺖ ؟ .1داده ﻫﻤﺎن اﻃﻼﻋﺎت اﺳﺖ. .2داده اﻃﻼﻋﺎت ﭘﺮدازش ﺷﺪه اﺳﺖ. .3اﻃﻼﻋﺎت ،داده ﭘﺮدازش ﺷﺪه اﺳﺖ. .4اﻃﻼﻋﺎت ﻣﻘﺎدﻳﺮ ﺧﺎم اﺳﺖ. Attribute -7ﻋﺒﺎرت اﺳﺖ از..... .1ﻫﻤﺎن ﻣﻮﺟﻮدﻳﺖ اﺳﺖ. .2ﺻﻔﺎت ﺧﺎﺻﻪ ﺗﻮﺿﻴﺤﻲ ﺑﺮاي ﻫﺮ ﻣﻮﺟﻮدﻳﺖ اﺳﺖ. .3ﻫﻤﺎن رﻛﻮرد اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
233
.4ﺳﻄﺮﻫﺎي ﻳﻚ ﺟﺪول اﺳﺖ. File System -8ﭼﻴﺴﺖ ؟ .1ﻫﻤﺎن DBMSاﺳﺖ. .2ﺑﻪ ﺳﺎﺧﺘﺎر ﻛﻠﻲ ﻧﺎﻣﮕﺬاري ،ذﺧﻴﺮه ﺳﺎزي و ﺳﺎزﻣﺎﻧﺪﻫﻲ ﻓﺎﻳﻠﻬﺎ در ﻳﻚ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﮔﻔﺘﻪ ﻣﻲﺷﻮد. .3اﻧﺒﺎرهاي ﺑﺮاي ﻳﻚ ﻣﺠﻤﻮﻋﻪ از ﻓﺎﻳﻠﻬﺎي دادهاي اﺳﺖ. .4
ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ.
-9ﻛﺪام ﮔﺰﻳﻨﻪ از وﻳﮋﮔﻲ ﻫﺎي ﻧﺴﻞ اول ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت ﻧﻴﺴﺖ ؟ .1ﻧﺴﺨﻪﻫﺎي ﻣﺘﻌﺪدي از ﻳﻚ ﻓﺎﻳﻞ ﻧﮕﻬﺪاري ﻣﻲﺷﻮد. .2ﺳﺎﺧﺘﺎر ﻓﺎﻳﻞ ﻫﺎ ﺗﺮﺗﻴﺒﻲ اﺳﺖ. .3ﭘﺮدازش در ﻣﺤﻴﻂ ﻫﺎي ﺑﻼدرﻧﮓ و Onlineﻣﻲﺗﻮاﻧﺪ اﻧﺠﺎم ﺷﻮد. .4ﻃﺮاﺣﻲ ﺳﺎﺧﺘﺎر ﻓﻴﺰﻳﻜﻲ ﻓﺎﻳﻠﻬﺎ ﻫﻢ ،ﺑﺮ ﻋﻬﺪه ﻛﺎرﺑﺮ اﺳﺖ. -10ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﺑﺎﻧﻚ ﻫﺎي اﻃﻼﻋﺎﺗﻲ و ﺑﺎﻧﻜﻬﺎي ﻣﻌﺮﻓﺖ ﺻﺤﻴﺢ اﺳﺖ ؟ .1ﺑﺎﻧﻚ ﻣﻌﺮﻓﺖ ﺣﺎوي ﺗﻌﺪاد زﻳﺎدي واﻗﻌﻴﺖ ﺳﺎده اﺳﺖ ﻛﻪ ﺑﻪ ﻃﻮر ﺻﺮﻳﺢ ﺑﻴﺎن ﺷﺪهاﻧﺪ ،ﻫﻤﺮاه ﺑﺎ ﺗﻌﺪاد ﻛﻤﻲﻗﻮاﻋﺪ ﻋﺎم ﻛﻪ ﺑﻪ ﻃﻮر ﺿﻤﻨﻲ ﺑﻴﺎن ﻣﻲﺷﻮﻧﺪ. .2ﺑﺎﻧﻚ ﻣﻌﺮﻓﺖ ﺣﺎوي ﻣﺠﻤﻮﻋﻪاي از واﻗﻌﻴﺖ ﻫﺎي ﺳﺎده و ﻗﻮاﻋﺪ ﻋﺎم ﻛﻪ ﺑﻪ ﻃﻮر ﺻﺮﻳﺢ ﺑﻴﺎن ﺷﺪهاﻧﺪ. .3ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻣﺠﻤﻮﻋﻪاي اﺳﺖ از ﺗﻌﺪاد زﻳﺎدي واﻗﻌﻴﺖ ﺳﺎده ﻛﻪ ﺑﻪ ﻃﻮر ﺻﺮﻳﺢ ﺑﻴﺎن ﺷﺪهاﻧﺪ.ﻫﻤﺮاه ﺑﺎ ﺗﻌﺪاد ﻛﻤﻲﻗﻮاﻋﺪ ﻋﺎم ﻛﻪ ﺑﻪ ﻃﻮر ﺿﻤﻨﻲ ﺑﻴﺎن ﻣﻲﺷﻮﻧﺪ. 3 .4و2 -11ﺟﺰء دادهﻫﺎ ) (Data Elementﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(76- .1ﻗﺴﻤﺘﻲ از اﻃﻼﻋﺎت اﺳﺖ. .2ﻣﺤﻠﻲ ﻣﻮﻗﺖ ﺑﺮاي ﻳﻚ ﻣﻘﺪار اﻃﻼﻋﺎت اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
234ﭘﺎﻳﮕﺎه داده ﻫﺎ
.3ﻣﻘﺪاري اﺳﺖ ﻛﻪ در ﻓﻴﻠﺪ ذﺧﻴﺮه ﻣﻲﺷﻮد. .4ﻫﺮ ﻣﻘﺪاري ﻣﻲﺗﻮاﻧﺪ ﺑﺎﺷﺪ.
ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 1 (2) -1ﭘﺎﻳﮕﺎه ﺑﺼﻴﺮت ﺑﻪ ﺗﺪرﻳﺞ ﺑﺮ ﺑﺼﻴﺮﺗﻬﺎﻳﺶ ) (Knowledge Baseﻣﻲاﻓﺰاﻳﺪ. (4) -2داده ورودي ﺳﻴﺴﺘﻢ اﺳﺖ ﻛﻪ ﭘﺲ از ﭘﺮدازش ﺗﺒﺪﻳﻞ ﺑﻪ اﻃﻼﻋﺎت ﺷﺪه و از ﺳﻴﺴﺘﻢ ﺧﺎرج ﻣﻲﺷﻮد. (1) -3 (2) -4در ﻧﺴﻞ دوم ﺗﻜﺮار ذﺧﻴﺮه ﺳﺎزي ﻫﻨﻮز در ﺣﺪ ﻧﺴﺒﺘﺎ ﺑﺎﻻﻳﻲ وﺟﻮد دارد. (3) -5ﮔﺰﻳﻨﻪ 4ﻛﺎﻣﻞ ﻧﻴﺴﺖ .داده ﻫﺮ ﻧﻤﺎﻳﺸﻲ اﻋﻢ از ﻛﺎراﻛﺘﺮي ﻳﺎ ﻛﻤﻴﺘﻬﺎي آﻧﺎﻟﻮگ و ﻳﺎ ﻏﻴﺮه اﺳﺖ.ﻳﻌﻨﻲ ﻓﻘﻂ ﺑﻪ اﻃﻼﻋﺎت ﻛﺎراﻛﺘﺮي داده ﮔﻔﺘﻪ ﻧﻤﻲﺷﻮد و داده ﻣﻲﺗﻮاﻧﺪ وارد ﻫﺮ ﺳﻴﺴﺘﻤﻲﺷﻮد و ﻧﻪ ﻓﻘﻂ ﺳﻴﺴﺘﻢ دﺳﺘﻲ. (3) -6 (2) -7 (2) -8 (3) -9ﮔﺰﻳﻨﻪ 3از وﻳﮋﮔﻲ ﻫﺎي ﻧﺴﻞ دوم اﺳﺖ. (4) -10 (2) -11
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
235
ﺗﺴﺖ ﻫﺎي ﺳﺮي 2 -1ﺷﻜﻞ زﻳﺮ در ﻧﻤﻮدار ERﭼﻪ ﻣﻔﻬﻮﻣﻲرا ﻣﻲرﺳﺎﻧﺪ ؟ .1ﻫﺮ اﺳﺘﺎد ﻓﻘﻂ و ﻓﻘﻂ ﻳﻚ درس )ﻧﻪ ﻛﻤﺘﺮ و ﻧﻪ ﺑﻴﺸﺘﺮ( و ﻫﺮ درس ﺗﻮﺳﻂ ﻳﻚ اﺳﺘﺎد اراﺋﻪ ﻣﻲﺷﻮد. .2ﻫﺮ اﺳﺘﺎد ﻳﻚ درس و ﻫﺮ درس ﺗﻮﺳﻂ ﻳﻚ اﺳﺘﺎد اراﺋﻪ ﻣﻲﺷﻮد .ﻣﻤﻜﻦ اﺳﺖ اﺳﺘﺎدي درﺳﻲ اراﺋﻪ ﻧﻜﻨﺪ. .3ﻫﺮ اﺳﺘﺎد ﻳﻚ درس و ﻫﺮ درس ﺗﻮﺳﻂ ﻳﻚ اﺳﺘﺎد اراﺋﻪ ﻣﻲﺷﻮد. .4ﻳﻚ اﺳﺘﺎد ﻳﻚ درس و ﻳﻚ درس ﺗﻮﺳﻂ ﻳﻚ اﺳﺘﺎد اراﺋﻪ ﻣﻲﺷﻮد .وﻟﻲ ﻣﻤﻜﻦ اﺳﺖ اﺳﺘﺎد آن درس ﺗﻐﻴﻴﺮ ﻛﻨﺪ. -2در ﻧﻤﻮدار EERﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟ .1ﺻﻔﺖ ﻣﺸﺘﻖ را ﺑﺎ زﻳﺮ ﺧﻂ ،ﺻﻔﺖ ﻛﻠﻴﺪي را ﺑﺎ 2ﺧﻂ و ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري را ﺑﺎ ﺧﻂ ﭼﻴﻦ ﻧﺸﺎن ﻣﻲدﻫﻴﻢ. .2ﺻﻔﺖ ﻣﺸﺘﻖ را ﺑﺎ ﺧﻂ ﭼﻴﻦ ،ﺻﻔﺖ ﻣﺮﻛﺐ را ﺑﺎ زﻳﺮ ﺧﻂ و ﺻﻔﺖ واﺑﺴﺘﻪ را ﺑﺎ 2ﺧﻂ ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻴﻢ. .3ﺻﻔﺖ ﻣﺸﺘﻖ را ﺑﺎ زﻳﺮ ﺧﻂ ،ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري را ﺑﺎ 2ﺧﻂ و ﺻﻔﺖ ﻛﻠﻴﺪي را ﺑﺎ ﺧﻂ ﭼﻴﻦ ﻧﺸﺎن ﻣﻲدﻫﻴﻢ. .4ﺻﻔﺖ ﻣﺸﺘﻖ را ﺑﺎ ﺧﻂ ﭼﻴﻦ ،ﺻﻔﺖ ﻛﻠﻴﺪي را ﺑﺎ زﻳﺮ ﺧﻂ و ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري را ﺑﺎ 2ﺧﻂ ﻧﺸﺎن ﻣﻲدﻫﻴﻢ. -3ﺑﻪ ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ ....ﮔﻮﻳﻨﺪ. .1 .2 .3 .4
Entity Attribute Tuple ER
-4در ﻣﺪل راﺑﻄﻪاي ﻛﺪام ﻧﻮع ﺻﻔﺖ را ﻧﺪارﻳﻢ ؟ .1ﺻﻔﺖ ﻛﻠﻴﺪ .2ﺻﻔﺖ ﭼﻨﺪ ﻣﻘﺪاري
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
236ﭘﺎﻳﮕﺎه داده ﻫﺎ
.3ﺻﻔﺖ ﻣﺸﺘﻖ .4ﻫﺮ ﺳﻪ را دارﻳﻢ -5ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻧﻤﻮدار EERزﻳﺮ ﺻﺎدق اﺳﺖ ؟ .1ﺑﻪ ﻣﺤﺾ ﺣﺬف داﻧﺸﺠﻮ از ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ،واﺑﺴﺘﮕﺎن او ﻧﻴﺰ ﺣﺬف ﺧﻮاﻫﻨﺪ ﺷﺪ. .2واﺑﺴﺘﮕﺎن ﻳﻚ ﻣﻮﺟﻮدﻳﺖ ﻗﻮي ﻣﻲﺑﺎﺷﻨﺪ. .3ﻣﻮﺟﻮدﻳﺖ داﻧﺸﺠﻮ ،ﻛﻠﻴﺪ اﺻﻠﻲ ﻣﻮﺟﻮدﻳﺖ واﺑﺴﺘﮕﺎن را ﺑﻪ ارث ﻣﻲﺑﺮد. 2 .4و 1 -6ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1در ﻧﻤﻮدار ERﻫﺮ ارﺗﺒﺎﻃﻲ ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ داراي ﺳﻤﺎﻧﺘﻴﻚ ﺧﺎﺻﻲ اﺳﺖ. .2ﺻﻔﺖ ﻣﺸﺘﻖ ﺻﻔﺘﻲ اﺳﺖ ﻛﻪ ﺑﻪ ﻛﻤﻚ ﺻﻔﺘﻬﺎي دﻳﮕﺮ ﻣﻲﺗﻮان آن را ﻣﺤﺎﺳﺒﻪ ﻛﺮد. .3ﻣﻌﻨﺎي ﻧﻤﻮدار ERزﻳﺮ آن اﺳﺖ ﻛﻪ ارﺗﺒﺎط اﺳﺘﺎد اﺧﺘﻴﺎري اﺳﺖ. .4ﻫﻴﭽﻜﺪام -7ﺷﻜﻞ زﻳﺮ ﻧﻤﺎﻳﺎﻧﮕﺮ ﭼﻪ ﻧﻮع ارﺗﺒﺎﻃﻲ اﺳﺖ ؟ .1 .2 .3 .4
existence dependency is-a cardinality connectivity
-8ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ ﻛﺪام اﺳﺖ ؟ Attribute .1 record .2 ER .3 entity .4 -9ﻣﻨﻈﻮر از Connection trapﭼﻴﺴﺖ ؟
.1اﺳﺘﻨﺘﺎج ﻧﺎدرﺳﺖ از ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ .2ارﺗﺒﺎﻃﺎت دو ﻃﺮﻓﻪ ﻧﺎدرﺳﺖ .3ارﺗﺒﺎط ﻧﺎدرﺳﺖ ﻣﻴﺎن ﺳﻪ entity
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
.4ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ -10ﻛﺪام ﻣﻮﺟﻮدﻳﺖ از ﻧﻮع weakﻣﻲﺑﺎﺷﺪ ؟ .1اﺳﺘﺎد .2درس .3ﺧﺎﻧﻮاده اﺳﺘﺎد .4داﻧﺸﺠﻮ -11ﻛﺪام ﻣﻮرد ﺟﺰء اﻧﻮاع ﺻﻔﺎت ﺧﺎﺻﻪ ﻧﻤﻲﺑﺎﺷﺪ ؟ .1ذﺧﻴﺮه ﺷﺪه ﻳﺎ ﻣﺸﺘﻖ .2ﺗﻚ ﻣﻘﺪاري ﻳﺎ ﭼﻨﺪ ﻣﻘﺪاري .3ﺳﺎده ﻳﺎ ﻣﺮﻛﺐ .4ﻣﻌﺮﻓﻪ ﻳﺎ ﻧﻜﺮه -12ﻛﺪام ﮔﺰﻳﻨﻪ وﻳﮋﮔﻲ ﻣﻮﺟﻮدﻳﺖ ﻧﻤﻲﺑﺎﺷﺪ ؟ .1ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻣﻌﻤﻮﻻً ﺑﻴﺶ از ﻳﻚ ﺻﻔﺖ دارد. .2ﻣﻮﺟﻮدﻳﺖ ﺗﻚ ﺻﻔﺘﻲ وﺟﻮد ﻧﺪارد. .3ﻣﻮﺟﻮدﻳﺖ ﺗﻚ ﻧﻤﻮﻧﻪاي وﺟﻮد دارد. .4ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻣﻌﻤﻮﻻً ﻧﻤﻮﻧﻪﻫﺎي ﻣﺘﻤﺎﻳﺰ از ﻳﻜﺪﻳﮕﺮﻧﺪ. -13ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻛﻠﻴﺪ )ﺻﻔﺖ ﺷﻨﺎﺳﻪ( درﺳﺖ ﻣﻲﺑﺎﺷﺪ ؟ .1ﻣﻲﺗﻮاﻧﺪ ﻳﻜﺘﺎ ﻧﺒﺎﺷﺪ. .2ﻣﻲﺗﻮاﻧﺪ ﻫﻴﭻ ﻣﻘﺪار ) (NULLﺑﺎﺷﺪ. .3ﻣﻲﺗﻮاﻧﺪ ﻣﺮﻛﺐ ﺑﺎﺷﺪ. .4ﻣﻲﺗﻮاﻧﺪ ﻣﺸﺘﻖ ﺑﺎﺷﺪ. -14در ﻣﺴﺎﺑﻘﻪ ﺑﺴﻜﺘﺒﺎل ارﺗﺒﺎط ﻣﻮﺟﻮدﻳﺘﻬﺎي ﮔﻞ و ﺑﺎزﻳﻜﻦ ﭼﮕﻮﻧﻪ اﺳﺖ ؟ .1ارﺗﺒﺎط ﺑﺎزﻳﻜﻦ ﺑﺎ ﮔﻞ ﺑﻪ ﺻﻮرت 1 :nﻣﻲﺑﺎﺷﺪ. .2ارﺗﺒﺎط ﺑﺎزﻳﻜﻦ ﺑﺎ ﮔﻞ ﺑﻪ ﺻﻮرت n :nﻣﻲﺑﺎﺷﺪ.
Ramin.Samad@yahoo.com
237
WWW.IRANMEET.COM
238ﭘﺎﻳﮕﺎه داده ﻫﺎ
.3ارﺗﺒﺎط ﺑﺎزﻳﻜﻦ ﺑﺎ ﮔﻞ ﺑﻪ ﺻﻮرت 1 :1ﻣﻲﺑﺎﺷﺪ. .4ﻧﺎﻣﺸﺨﺺ اﺳﺖ.
ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 2 (1) -1اﮔﺮ ﻋﻼﻣﺖ ﻧﻘﻄﻪ داﺧﻞ ﻣﺴﺘﻄﻴﻞ ﻣﻮﺟﻮدﻳﺖ ﺑﺎﺷﺪ ﻳﻌﻨﻲ ﺷﺮﻛﺖ در ارﺗﺒﺎط اﺟﺒﺎري اﺳﺖ.ﻳﻌﻨﻲ اﺳﺘﺎد ﻫﺎ ﻧﻤﻲﺗﻮاﻧﻨﺪ درس ﻧﺪﻫﻨﺪ. (4) -2 (4) -3 (2) -4ﻣﺜﻼ ﺻﻔﺖ ﻣﺪرك ﺑﺮاي اﺳﺘﺎد ﭼﻨﺪ ﻣﻘﺪاري اﺳﺖ ﭼﺮا ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﻳﻚ اﺳﺘﺎد ﭼﻨﺪ ﻣﺪرك داﺷﺘﻪ ﺑﺎﺷﺪ. (1) -5ﻣﻤﻜﻦ اﺳﺖ وﺟﻮد ﻳﻚ ﭘﺪﻳﺪه واﺑﺴﺘﻪ ﺑﻪ وﺟﻮد ﭘﺪﻳﺪه دﻳﮕﺮي ﺑﺎﺷﺪ ،ﻳﻌﻨﻲ در ﺻﻮرت ﺣﺬف ﻋﻀﻮي از آن ﭘﺪﻳﺪه ،ﻋﻀﻮﻫﺎي واﺑﺴﺘﻪ ﻫﻢ ﻻزم ﺑﺎﺷﺪ ﺑﻪ ﻃﻮر ﺧﻮدﻛﺎر ﺣﺬف ﺷﻮﻧﺪ.اﻳﻦ ﻧﻮع واﺑﺴﺘﮕﻲ را واﺑﺴﺘﮕﻲ وﺟﻮدي و ﭘﺪﻳﺪه واﺑﺴﺘﻪ را ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ weak entityﻣﻲﻧﺎﻣﻨﺪ .ﭘﺪﻳﺪه واﺑﺴﺘﻪ ﺑﺎﻳﺪ ﻛﻠﻴﺪ ﭘﺪﻳﺪه اﺻﻠﻲ را ﻛﻪ ﺑﻪ آن واﺑﺴﺘﻪ اﺳﺖ ﺑﻪ ارث ﺑﺒﺮد .ﭘﺪﻳﺪه واﺑﺴﺘﻪ را ﺑﺎ دو ﻣﺴﺘﻄﻴﻞ ﺗﻮدرﺗﻮ ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻴﻢ. (3) -6ﻣﺸﺎرﻛﺖ ﻳﻚ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ در ﻳﻚ ﻧﻮع ارﺗﺒﺎط را اﻟﺰاﻣﻲ)ﻳﺎ ﻛﺎﻣﻞ( ﻣﻲﮔﻮﺋﻴﻢ اﮔﺮ ﺗﻤﺎم ﻧﻤﻮﻧﻪﻫﺎي آن ﻧﻮع ﻣﻮﺟﻮدﻳﺖ در آن ﻧﻮع ارﺗﺒﺎط ﺷﺮﻛﺖ ﻛﻨﻨﺪ. در ﻏﻴﺮاﻳﻨﺼﻮرت ﻣﺸﺎرﻛﺖ ﻏﻴﺮ اﻟﺰاﻣﻲ)اﺧﺘﻴﺎري ﻳﺎ ﻧﺎﻛﺎﻣﻞ( اﺳﺖ. اﺟﺒﺎري_ اﻟﺰاﻣﻲ_ ﻛﺎﻣﻞ
=
اﺧﺘﻴﺎري _ ﻏﻴﺮ اﻟﺰاﻣﻲ_ﻧﺎﻛﺎﻣﻞ
Total participation
=
Partial participation
در ﺑﻌﻀﻲ ﻛﺘﺎﺑﻬﺎ ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲرا ﺑﺎ دو ﺧﻂ ﻣﻮازي ﻛﻪ ﻣﻮﺟﻮدﻳﺖ را ﺑﻪ ارﺗﺒﺎط ﻣﺘﺼﻞ ﻣﻲﻛﻨﺪ ﻧﻤﺎﻳﺶ ﻣﻲدﻫﻨﺪ .ﭘﺲ ﻣﺸﺎرﻛﺖ اﺳﺘﺎد در ﺗﺪرﻳﺲ اﻟﺰاﻣﻲاﺳﺖ ﻳﻌﻨﻲ ﻫﺮ اﺳﺘﺎد ﺣﺘﻤﺎ ﺣﺪاﻗﻞ ﺑﺎﻳﺪ ﻳﻚ درس را ﺗﺪرﻳﺲ ﻛﻨﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
239
(2) -7ارﺗﺒﺎﻃﺎﺗﻲ ﻛﻪ از ﻧﻤﺎد ﻣﺜﻠﺚ )ﻣﻔﻬﻮم ارث ﺑﺮي( اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ .ارﺗﺒﺎﻃﺎت ))ﻫﺴﺖ(( ﻳﺎ )) ((is-aﻧﺎﻣﻴﺪه ﻣﻲﺷﻮﻧﺪ. (3) -8 (1) -9 (3) -10ﺑﺎ ﺣﺬف اﺳﺘﺎد اﻃﻼﻋﺎت ﺧﺎﻧﻮاده او ﻧﻴﺰ ﺣﺬف ﻣﻲﮔﺮدد. (4) -11 (2) -12ﻣﻮﺟﻮدﻳﺖ ﺗﻚ ﺻﻔﺘﻲ ﻣﻲﺗﻮاﻧﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﻣﺜﻼ ﺟﺪوﻟﻲ ﻛﻪ ﻓﻘﻂ ﻳﻚ ﺳﺘﻮن دارد. (3) -13ﻓﻴﻠﺪ ﻛﻠﻴﺪ ﻧﻤﻲﺗﻮاﻧﺪ ﻣﻘﺪار ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ﻳﻌﻨﻲ ﻧﻤﻲﺗﻮاﻧﺪ NULLﺑﺎﺷﺪ. (1) -14ﻳﻚ ﺑﺎزﻳﻜﻦ ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪ ﮔﻞ ﺑﺰﻧﺪ وﻟﻲ ﻫﺮ ﮔﻞ ﺗﻮﺳﻂ ﻳﻚ ﺑﺎزﻳﻜﻦ زده ﻣﻲﺷﻮد.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
240ﭘﺎﻳﮕﺎه داده ﻫﺎ
ﺗﺴﺖ ﻫﺎي ﺳﺮي 3 -1ﻣﺰاﻳﺎي ﻳﻚ ﭘﺎﻳﮕﺎهدادهﻫﺎ ) (Data Baseﻧﺴﺒﺖ ﺑﻪ ﻓﺎﻳﻠﻬﺎي ﻣﺘﻌﺎرف ﭼﻴﺴﺖ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ -آزاد (72 2 .1و4 .2ﻛﻨﺘﺮل ﺣﺴﺎب ﺷﺪه ﻣﻘﺪار اﻓﺰوﻧﮕﻲ در ﭘﺎﻳﮕﺎهدادهﻫﺎ .3اﻃﻤﻴﻨﺎن از ﺻﺤﺖ دادهﻫﺎ ) (Data Validationﻛﻤﺘﺮ ﻣﻮرد ﻧﻴﺎز ﺧﻮاﻫﺪ ﺑﻮد. .4دﺳﺘﻴﺎﺑﻲ ﻣﺸﺘﺮك ﺑﻪ دادهﻫﺎ -2ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺟﺰء وﻇﺎﻳﻒ DBAﻧﻤﻲﺑﺎﺷﺪ ؟) ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ-آزاد(72 .1ﻧﻮﺷﺘﻦ Data Dictionaryﺑﺮاي ﭘﺎﻳﮕﺎهدادهﻫﺎ .2ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻜﺮد ﭘﺎﻳﮕﺎهدادهﻫﺎ )( Performance Monitoring .3ﺗﻬﻴﻪ روﻳﻪﻫﺎ و اﺳﺘﺮاﺗﮋي ﺗﻬﻴﻪ Backupو ﻧﺤﻮه اﺣﻴﺎي ﭘﺎﻳﮕﺎهدادهﻫﺎ .4ﺗﻬﻴﻪ schemaﺑﺮاي ﭘﺎﻳﮕﺎهدادهﻫﺎ -3در ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهدادهﻫﺎ ) ( DBMSﻛﺪاﻣﻴﻚ از اﻣﻜﺎﻧﺎت زﻳﺮ ﺟﺰء ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺗﺸﻜﻴﻞ دﻫﻨﺪه DBMSﻣﺤﺴﻮب ﻧﻤﻲﺷﻮﻧﺪ) :ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ-دوﻟﺘﻲ(72 .1اﻣﻜﺎن ﭘﺮدازش زﺑﺎن ﻃﺒﻴﻌﻲ ﺑﺮاي ﻛﺎر ﺑﺎ ﭘﺎﻳﮕﺎه .2اﻣﻜﺎن ﻛﺎر ﺑﺎ دادهﻫﺎ ﺑﻪ ﻛﻤﻚ ﻳﻚ (Data Sublanguage) DSL
.3اﻣﻜﺎن ﺗﺎﻣﻴﻦ ﺟﻤﻌﻴﺖ و ﺑﻲ ﻧﻘﺼﻲ ) (integrityﭘﺎﻳﮕﺎه .4اﻣﻜﺎن ﺗﺎﻣﻴﻦاﻳﻤﻨﻲ ﭘﺎﻳﮕﺎه -4دو ﻣﺮﺣﻠﻪ از ﻣﺮاﺣﻞ ﻃﺮاﺣﻲ ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺒﺎرﺗﻨﺪ از ﻃﺮاﺣﻲ ادراﻛﻲ ) ( Conceptual Designو ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ) (Logical Designاﻳﻦ دو ﭼﻪ ﺗﻔﺎوت اﺳﺎﺳﻲ ﺑﺎ ﻫﻢ دارﻧﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ-دوﻟﺘﻲ (75 .1ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﻣﺮﺑﻮط ﻣﻲﺷﻮد و ﭘﺲ از اﻧﺘﺨﺎب ﻣﺪل ﺻﻮرت ﻣﻲﮔﻴﺮد وﻟﻲ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﺑﺴﺘﮕﻲ ﻧﺪارد. .2ﻃﺮاﺣﻲ ادراﻛﻲ ﻣﻜﻤﻞ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ اﺳﺖ و ﭘﺲ از آن اﻧﺠﺎم ﻣﻲﮔﻴﺮد.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
241
.3ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﺻﻮرت ﻛﻠﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﻣﻲﻧﮕﺮد و ﺑﺎ روﺷﻬﺎﻳﻲ ﻣﺎﻧﻨﺪ ER
اﻧﺠﺎم ﻣﻲﮔﻴﺮد. .4ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﻣﺮﺑﻮط ﻣﻲﺷﻮد و ﭘﺲ از اﻧﺘﺨﺎب ﻣﺪل ﺻﻮرت ﻣﻲﮔﻴﺮد وﻟﻲ ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﺑﺴﺘﮕﻲ ﻧﺪارد. -5ﻓﺮق زﺑﺎﻧﻬﺎي ﭘﺮس و ﺟﻮي ) (Queryروﻳﻪاي ) (Proceduralو ﻧﺎروﻳﻪاي )Non-
(proceduralاﻳﻦ اﺳﺖ ﻛﻪ: .1در زﺑﺎﻧﻬﺎي ﻧﺎروﻳﻪاي ﻛﺎرﺑﺮ ) (userﭼﮕﻮﻧﮕﻲ ﺑﻪ ﻋﻴﻨﻴﺖ ) (materalizeدر آوردن دﻳﺪش را ﺗﺼﺮﻳﺢ ﻣﻲﻛﻨﺪ و ﺑﻪ ﻃﻮر ﺿﻤﻨﻲ آﻧﭽﻪ را ﻛﻪ ﻣﻲﺧﻮاﻫﺪ ،ﺑﻴﺎن ﻣﻲﻛﻨﺪ وﻟﻲ در زﺑﺎن ﻫﺎي روﻳﻪاي ﺑﺮ ﻋﻜﺲ اﺳﺖ. .2در زﺑﺎن ﻫﺎي ﻧﺎروﻳﻪاي ﻛﺎرﺑﺮ ﻓﻘﻂ آﻧﭽﻪ را ﻛﻪ ﻣﻲﺧﻮاﻫﺪ ﺗﺼﺮﻳﺢ ﻣﻲﻛﻨﺪ ،در ﺣﺎﻟﻲ ﻛﻪ در زﺑﺎن ﻫﺎي روﻳﻪاي ﺑﻪ ﻋﻼوه ﺑﺎﻳﺪ ﭼﮕﻮﻧﮕﻲ ﺑﻪ ﻋﻴﻨﻴﺖ در آوردن دﻳﺪش را ﻧﻴﺰ ﺑﻴﺎن ﻧﻤﺎﻳﺪ. .3اﺳﺎﺳﺎً ﺑﺎ ﻫﻢ ﻓﺮﻗﻲ ﻧﺪارﻧﺪ. .4در زﺑﺎﻧﻬﺎي روﻳﻪاي ﻛﺎرﺑﺮ ﻓﻘﻂ آﻧﭽﻪ را ﻛﻪ ﻣﻲﺧﻮاﻫﺪ ،ﺗﺼﺮﻳﺢ ﻣﻲﻛﻨﺪ در ﺣﺎﻟﻴﻜﻪ در زﺑﺎﻧﻬﺎي ﻧﺎروﻳﻪاي ﺑﻪ ﻋﻼوه ﺑﺎﻳﺪ ﭼﮕﻮﻧﮕﻲ ﺑﻪ ﻋﻴﻨﻴﺖ در آوردن دﻳﺪش را ﻧﻴﺰ ﺑﻴﺎن ﻧﻤﺎﻳﺪ. -6ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ از ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(76- .1اﺷﺘﺮاك ﻣﻨﺎﺑﻊ .2اﻣﻨﻴﺖ دادهﻫﺎ .3ﭘﺮوژهﻫﺎ .4ﺳﺨﺖاﻓﺰار DBMS -7ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(76-
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
242ﭘﺎﻳﮕﺎه داده ﻫﺎ
.1راﺑﻄﻲ اﺳﺖ ﺑﻴﻦ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ و ﻛﺎرﺑﺮ و ﻧﻴﺰ زﺑﺎﻧﻲ اﺳﺖ ﺑﺮاي ﺗﻌﺮﻳﻒ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ .2ﻧﺮماﻓﺰار ﻣﺪﻳﺮﻳﺖ و ﺗﻮﺻﻴﻒ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ و ﺣﻔﺎﻇﺖ و ﺑﺎزﻳﺎﺑﻲ دادهﻫﺎﺳﺖ. .3ﻫﻤﺎن ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ. .4ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي اﺳﺖ ﻛﻪ در زﺑﺎن اﻃﻼﻋﺎﺗﻲ دادهﻫﺎ را ﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﺪ. -8ﻋﻨﺎﺻﺮ ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﻣﺤﻴﻂ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻛﺪام اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(77- .1ﻣﻮﺟﻮدﻳﺖ -ﺻﻔﺖ ﺧﺎﺻﻪ -داده -ﻓﺎﻳﻞ .2ﺳﺨﺖاﻓﺰار -ﻧﺮماﻓﺰار -ﻓﺎﻳﻞ -داده .3ﻧﺮماﻓﺰار-ﻛﺎرﺑﺮ -داده-ﻓﺎﻳﻞ .4ﺳﺨﺖاﻓﺰار -ﻧﺮماﻓﺰار -ﻛﺎرﺑﺮ -داده -9ﻛﺪام ﻳﻚ از وﻳﮋﮔﻴﻬﺎي ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻧﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ( -1ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ -2ﻛﺎﻫﺶ ﻣﻴﺰان اﻓﺰوﻧﮕﻲ -3ﭘﺪﻳﺪه ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ -4اﺳﺘﻔﺎده اﺷﺘﺮاﻛﻲ و ﻫﻤﺰﻣﺎن دادهﻫﺎ DML-10ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(77- -1ﻳﻚ ﻧﻮع ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺧﺎص اﺳﺖ -2وﻇﻴﻔﻪ ﺗﻌﺮﻳﻒ ﻓﻴﻠﺪ ﻫﺎ را در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ دارد -3دﺳﺘﻮرﻫﺎﻳﻲ اﺳﺖ ﺑﺮاي ﺗﻌﺮﻳﻒ دادهﻫﺎ -4ﻋﻬﺪه دار اﻋﻤﺎل ﻫﺮ ﮔﻮﻧﻪ ﺗﻐﻴﻴﺮ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ -11ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ در ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺟﺰو اﻟﺰاﻣﺎت ﻛﺎرآﻳﻲ اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ (77- -1ﮔﺰارش از ﻛﺎرﻛﻨﺎن ﻳﻚ ﺑﺨﺶ ﺳﺎزﻣﺎن
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
243
-2ﺛﺒﺖ ﻧﺎم ﺑﺨﺶ ﻫﺎي ﻳﻚ ﺳﺎزﻣﺎن -3ﻣﺤﺪودﻳﺖ ﺗﻌﺪاد ﻛﺎرﻣﻨﺪان ﻳﻚ ﺑﺨﺶ -4ﺛﺒﺖ و ﮔﺰارش ﻣﻘﺪار ﺳﺎﻋﺎت اﺿﺎﻓﻪ ﻛﺎري ﻫﺮ ﻛﺎرﻣﻨﺪ -12ﻛﺪام ﺗﻌﺮﻳﻒ ﺑﺮاي DBMSﻛﺎﻣﻠﺘﺮ اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ 77و(80 -1ﻧﺮماﻓﺰار ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺟﻬﺖ ﻛﺎر و اﻧﺠﺎم ﻋﻤﻠﻴﺎت روي دادهﻫﺎ -2ﻧﺮماﻓﺰاري ﺑﺮاي ارﺗﺒﺎط ﺑﻴﻦ ﻛﺎرﺑﺮان و ﻓﺎﻳﻠﻬﺎ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ -3ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ ﻣﺨﺼﻮص ﺑﺎﻧﻜﻬﺎي اﻃﻼﻋﺎﺗﻲ -4ﻧﺮماﻓﺰاري ﺑﺮاي ﻣﺪﻳﺮﻳﺖ دادهﻫﺎ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ -13ﻛﺪاﻣﻴﻚ ﺗﻌﺮﻳﻒ دﻳﻜﺸﻨﺮي دادهﻫﺎ )(catalog
در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻣﻲﺑﺎﺷﺪ ؟
)ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ 77-و(80 -1ﻳﻚ ﺑﺎﻧﻚ ﺷﺎﻣﻞ ﻣﺸﺨﺼﺎت ﻛﺎرﺑﺮان ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ -2ﻳﻚ ﺑﺎﻧﻚ ﻛﻪ ﻣﺸﺨﺼﺎت ﺳﺎﻳﺮ ﺑﺎﻧﻜﻬﺎي اﻃﻼﻋﺎﺗﻲ در آن وﺟﻮد دارد -3ﻳﻚ ﺑﺎﻧﻚ ﺷﺎﻣﻞ ﻣﺸﺨﺼﺎت دادهﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ -4ﻳﻚ ﺑﺎﻧﻚ ﺷﺎﻣﻞ ﻣﺸﺨﺼﺎت ﺻﻔﺎت ﺧﺎﺻﻪ در ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ DDL -14ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ (77 -1زﺑﺎﻧﻲ اﺳﺖ ﺑﺮاي ﻧﻮﺷﺘﻦ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ -2زﺑﺎﻧﻲ اﺳﺖ ﺑﺮاي ﺗﻌﺮﻳﻒ دادهﻫﺎ -3زﺑﺎﻧﻲ اﺳﺖ ﺑﺮاي ﻛﺎر در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ -4زﺑﺎﻧﻲ اﺳﺖ ﺑﺮاي دﺳﺘﻜﺎري دادهﻫﺎ -15ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ از اﺟﺰاي ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اراﺋﻪ ﺷﺪه ﺗﻮﺳﻂ ANSIﻧﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ( 78- -1ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﺑﺎﻧﻚ اﻃﻼﻋﺎت )(DBMS -2زﺑﺎن ﻓﺮﻋﻲ دادهاي )(DSL
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
244ﭘﺎﻳﮕﺎه داده ﻫﺎ -3ﭘﻴﺶ ﻛﺎﻣﭙﺎﻳﻠﺮ )(Precompiler -4زﺑﺎن ﻣﻴﺰﺑﺎن )(HL
-16در ﭘﺎﻳﮕﺎهدادهﻫﺎ ،ﺑﺎ ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ دادهﻫﺎ ﻧﺘﻴﺠﻪ ﺣﺎﺻﻞ ﻛﺪام اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ (78- -1اﺳﺘﻘﻼل دادهﻫﺎ -2اﻣﻨﻴﺖ دادهﻫﺎ )(security -3ﻛﺎﻫﺶ ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ )(Inconsistency
-4اﺷﺘﺮاك دادهﻫﺎ -17ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺟﺰء وﻇﺎﻳﻒ DBMSﻣﺤﺴﻮب ﻧﻤﻲﺷﻮد ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(78- -1ﺗﺒﺪﻳﻞ اﺣﻜﺎم /ﺷﻤﺎي ادراﻛﻲ ﺑﻪ ﺳﻄﺢ داﺧﻠﻲ و ﺑﺎﻟﻌﻜﺲ -2ﺗﻌﻴﻴﻦ و ﻣﺤﺎﺳﺒﻪ ﻃﻮل ﺑﻼك ،آدرس ﻓﻴﺰﻳﻜﻲ رﻛﻮردﻫﺎ واﻧﺪازه ﺑﺎﻓﺮ -3ﺷﻨﺎﺳﺎﻳﻲ ﻛﺎرﺑﺮ و ﺗﺸﺨﻴﺺ اﺟﺎزه دﺳﺘﺮﺳﻲ آن ﺑﻪ ﭘﺎﻳﮕﺎهداده )(DB
-4ﺑﺮرﺳﻲ درﺧﻮاﺳﺖ ﻛﺎرﺑﺮ از ﻧﻈﺮ ﺻﺤﺖ ﮔﺮاﻣﺮي ) (Syntaxآن -18ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺷﺎﻣﻞ ﭼﻪ ﻣﻮاردي ﻣﻲﺑﺎﺷﺪ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ (78- -1دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه -ﻛﺎرﺑﺮان DBMS -و ﺳﺨﺖاﻓﺰار -2دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه DBMS -و DBA -3دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه -ﻛﺎرﺑﺮانAM -
-4دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه -ﻛﺎرﺑﺮان AM -و ﺳﺨﺖاﻓﺰار integrity-19
ﺑﻪ ﻋﻨﻮان ﻳﻜﻲ از اﻣﺘﻴﺎزات databaseﺑﻪ ﭼﻪ ﻣﻌﻨﺎﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت
آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(79- -1ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ دادهﻫﺎ و ﭘﺎﻳﮕﺎهدادهﻫﺎ -2ﺻﺤﺖ دادهﻫﺎ و ﭘﺮدازش ﻫﺎ و ﭘﻴﺮوي از ﻗﻮاﻋﺪ ﺳﻴﺴﺘﻢ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
245
-3ﻣﺤﺎﻓﻈﺖ دادهﻫﺎ در ﺑﺮاﺑﺮ ﺧﻄﺮات -4ﭘﺮﻫﻴﺰ از ﻧﺎﻫﻤﺨﻮاﻧﻲ دادهﻫﺎ در ﭘﺎﻳﮕﺎهدادهﻫﺎ -20ﻃﺮاح ﺑﺎﻧﻚ ،از دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه در ﺑﺎﻧﻚ ﭼﮕﻮﻧﻪ دﻳﺪي در ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ اﻧﺘﺰاﻋﻲ دارد ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ (80- -1ادراﻛﻲ -2ﺧﺎرﺟﻲ -3داﺧﻠﻲ -4ﻓﻴﺰﻳﻜﻲ -21ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺟﺰء وﻳﮋﮔﻲ ﻫﺎي ﺑﺎﻧﻚ اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ (80- -1اﻣﻜﺎن اﺳﺘﻔﺎده از ﺑﺎزﻳﺎﺑﻲ اﺳﺘﻨﺘﺎﺟﻲ -2اﻣﻜﺎن ﭘﺮدازش دﺳﺘﻮرات ﻛﺎرﺑﺮ ﺑﻪ زﺑﺎن ﻃﺒﻴﻌﻲ -3اﺳﺘﻔﺎده ﻫﻤﺰﻣﺎن و اﺷﺘﺮاﻛﻲ از دادهﻫﺎ -4ﭘﺪﻳﺪه ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ -22ﻛﺪام ﮔﺰﻳﻨﻪ از اﺟﺰاء ﻣﻌﻤﺎري ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ در ANSIﻧﻤﻲﺑﺎﺷﺪ ؟ Mapping -1 MSD -2 HL -3 DSL -4 -23ﻣﻨﻈﻮر از CASEدر ﭘﺎﻳﮕﺎهدادهﻫﺎ ﭼﻴﺴﺖ ؟
-1اﺑﺰار ﻛﻤﻜﻲ در ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ -2ﺣﺎﻻت ﻣﺨﺘﻠﻒ ﭘﻴﺎده ﺳﺎزي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ -3ﻳﻜﻲ از ﺳﺎﺧﺘﺎرﻫﺎي راﺑﻄﻪاي ،ﺷﺒﻜﻪاي ﻳﺎ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ -4ﺣﺎﻟﺖ ﺧﺎﺻﻲ ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﺑﺎﻧﻚ ﺑﻪ ﺣﺎﻟﺖ آﻧﻮﻣﺎﻟﻲ ﺑﺮﺳﺪ -24ﭼﻬﺎر ﻛﻨﺘﺮﻟﻲ ﻛﻪ ﺑﺎﻳﺪ روي ﺗﻤﺎﻣﻲﺗﺮاﻛﻨﺶ ﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﻋﻤﺎل ﮔﺮدد ﺗﺎ ﺻﺤﺖ و ﺟﺎﻣﻌﻴﺖ آن ﺗﻀﻤﻴﻦ ﺷﻮد ،ﻛﺪاﻣﻨﺪ ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
246ﭘﺎﻳﮕﺎه داده ﻫﺎ data dictionary -isolation-security atomicity- -1 isolation -anomaly-integrity durability- -2 atomicity -isolation-consistency durability- -3 consistency -data dictionary-security anomaly- -4
-25در ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﻛﺪام ﮔﺰﻳﻨﻪ وﺟﻮد دارد ؟ -1ﻧﺎم ﻣﻮﺟﻮدﻳﺘﻬﺎ و ارﺗﺒﺎﻃﺎت ﺑﻴﻦ آﻧﻬﺎ -2ﺷﻤﺎي ادراﻛﻲ -3ﺷﻤﺎﻫﺎي ﺧﺎرﺟﻲ ﻛﺎرﺑﺮان-ﺳﺎﺧﺘﺎر ﻓﻴﺰﻳﻜﻲ ﺑﺎﻧﻚ -4ﻫﺮ ﺳﻪ -26ﻣﻨﻈﻮر از DMLﭼﻴﺴﺖ ؟ -1اﺣﻜﺎم ﻛﺎر ﺑﺎ )ﭘﺮدازش( دادهﻫﺎ -2اﺣﻜﺎم ﻛﻨﺘﺮﻟﻲ -3اﺣﻜﺎم ﺗﻌﺮﻳﻒ دادهﻫﺎ -4ﻫﻴﭽﻜﺪام -27ﺗﺼﻮﻳﺮ ادراﻛﻲ ﻳﻌﻨﻲ: -1دﻳﺪ DBAاز ﻛﻞ ﺑﺎﻧﻚ -2دﻳﺪ ﻛﺎرﺑﺮ از ﻛﻞ ﺑﺎﻧﻚ -3دﻳﺪ DBAاز ﺑﺨﺸﻲ از ﺑﺎﻧﻚ -4دﻳﺪ ﻛﺎرﺑﺮ از ﺑﺨﺸﻲ از ﺑﺎﻧﻚ -28ﻛﺪام ﮔﺰﻳﻨﻪ از ﻣﻌﺎﻳﺐ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻧﻴﺴﺖ ؟ )آزﻣﺎﻳﺸﻲ -ﻛﺎوﺷﻜﺮان(80 - -1در ﺻﻮرت ﻋﺪم ﻛﻨﺘﺮل ﻣﻨﺎﺳﺐ ﻣﻤﻜﻦ اﺳﺖ ﺟﺎﻣﻌﻴﺖ دادهﻫﺎ ﺑﻪ ﺧﻄﺮ اﻓﺘﺪ. -2ﺳﺮﺑﺎرﻫﺎي ﻛﺎراﻳﻲ ﻣﻤﻜﻦ اﺳﺖ زﻳﺎد ﺑﺎﺷﺪ. -3ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﭘﻴﭽﻴﺪه ﻣﻲﺑﺎﺷﺪ. -4در ﺻﻮرت ﻋﺪم ﻛﻨﺘﺮل ﻣﻨﺎﺳﺐ ﻣﻤﻜﻦ اﺳﺖ اﻣﻨﻴﺖ ﺑﻪ ﺧﻄﺮ ﺑﻴﻔﺘﺪ. -29ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﺗﺮاﻛﻨﺶ ﻫﺎ ﻧﺎدرﺳﺖ اﺳﺖ ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
247
-1ﺗﺮاﻛﻨﺶ ﻫﺎ اﺗﻤﻲﻫﺴﺘﻨﺪ ﻳﻌﻨﻲاﻳﻨﻜﻪ ﻳﺎ ﺑﻪ ﻃﻮر ﻛﺎﻣﻞ اﺟﺮاء ﻣﻲﺷﻮﻧﺪ ﻳﺎ اﺻﻼً اﺟﺮاء ﻧﻤﻲﺷﻮﻧﺪ ﺣﺘﻲ اﮔﺮ ﺳﻴﺴﺘﻢ در وﺳﻂ ﻛﺎر ﺧﺮاب ﺷﻮد. -2ﺗﺮاﻛﻨﺶ ﻳﻚ واﺣﺪ ﻣﻨﻄﻘﻲ از ﻛﺎر اﺳﺖ و ﻣﻌﻤﻮﻻً ﺷﺎﻣﻞ ﭼﻨﺪﻳﻦ ﻋﻤﻞ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ. -3ﻋﻤﻞ COMMITﭘﻴﺎم ﻣﻮﻓﻘﻴﺖ اﻧﺠﺎم ﺗﺮاﻛﻨﺶ را ارﺳﺎل ﻣﻲﻛﻨﺪ. -4ﻋﻤﻞ ROLLBACKﺑﺎﻋﺚ ﻣﻲﺷﻮد ﻋﻤﻠﻴﺎت از اول دوﺑﺎره ﺗﻜﺮار ﺷﻮد. -30ﻛﺪام ﮔﺰﻳﻨﻪ از وﻇﺎﻳﻒ DDLاﺳﺖ ؟ -1ﺳﺎﺧﺘﺎر دادهﻫﺎ -2ﺗﻌﺮﻳﻒ ﻓﻴﻠﺪ ﻫﺎ -3ﻣﺤﻞ ﻓﺎﻳﻠﻬﺎ -4ﻫﻤﻪ ﮔﺰﻳﻨﻪﻫﺎ -31ﻣﺪﻳﺮان داده )( DAوﻇﻴﻔﻪ ﺷﺎن ﭼﻴﺴﺖ ؟ -1ﻛﻨﺘﺮل database
-2ﻛﻨﺘﺮل DBMSو دادهﻫﺎ -3اﺟﺮاي database -4اﺳﺘﻔﺎده از database
-32ﻛﺪام ﮔﺰﻳﻨﻪ ﺑﺮاي ﺗﻮﺿﻴﺢ دﻳﺘﺎﺑﻴﺲ ﻛﺎﻣﻠﺘﺮ اﺳﺖ ؟ -1ﺑﻴﺎن ﻛﻨﻨﺪه ﻓﺎﻳﻠﻬﺎي دادهاي اﺳﺖ -2ﺑﻴﺎن ﻛﻨﻨﺪه ﺟﺪاول و ﺻﻔﺎت ﺧﺎﺻﻪ اﺳﺖ -3ﻳﻚ ﻧﻮع زﺑﺎن ﭘﺮدازﺷﻲ ﺟﻬﺖ ﻣﺪﻳﺮﻳﺖ دادهاي اﺳﺖ -4ﺑﻴﺎن ﻛﻨﻨﺪه ﻣﻮﺟﻮدﻳﺘﻬﺎ ،ﺻﻔﺎت ﺧﺎﺻﻪ و ارﺗﺒﺎط ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ اﺳﺖ -33ﻛﺪام ﮔﺰﻳﻨﻪ ﺗﻌﺮﻳﻒ ﻛﺎﻣﻠﺘﺮي از DBMSرا اراﺋﻪ ﻣﻲﻛﻨﺪ ؟ -1ﻫﻤﺎن دﻳﺘﺎﺑﻴﺲ اﺳﺖ. -2راﺑﻂ ﺑﻴﻦ دﻳﺘﺎﺑﻴﺲ و ﻛﺎرﺑﺮ اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
248ﭘﺎﻳﮕﺎه داده ﻫﺎ
-3ﺟﻬﺖ ﺗﻌﺮﻳﻒ و ﻛﺎر ﺑﺎ دﻳﺘﺎﺑﻴﺲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد. 2 -4و3 -34ﻣﻨﻈﻮر از DBMS Environmentﻛﺪام اﺳﺖ ؟ Procedure-People -Data -Software -Hardware -1 User -Software -Hardware -2 Database -Software - Hardware -3 Hardware-Software -People -Data -4
DML -35ﭼﻴﺴﺖ ؟ -1زﺑﺎﻧﻲ ﺟﻬﺖ ﭘﺮس و ﺟﻮي دادهﻫﺎ -2زﺑﺎﻧﻲ ﺟﻬﺖ ﮔﺰارش ﮔﻴﺮي 2 - 3و1 -4زﺑﺎﻧﻲ ﺟﻬﺖ ﺗﻌﺮﻳﻒ دادهﻫﺎ DDL -36ﭼﻴﺴﺖ ؟ -1ﺑﺮاي اﻧﺠﺎم اﻋﻤﺎل ﻣﺤﺎﺳﺒﺎﺗﻲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد. -2ﺑﺮاي درج دادهﻫﺎ و ﺑﻪ روز رﺳﺎﻧﻲ آﻧﻬﺎ اﺳﺘﻔﺎده ﻣﻲﮔﺮدد. -3ﺻﻔﺎت ﻣﺸﺨﺼﻪ و ﺧﺼﻮﺻﻴﺎت دﻳﺘﺎﺑﻴﺲ را ﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﺪ. -4ﻫﻤﺎن DMLﻣﻲﺑﺎﺷﺪ. -37ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ -1ﻳﻜﻲ از ﻣﺰاﻳﺎي DBMSاﻳﺠﺎد ﻣﺤﺪودﻳﺘﻬﺎي اﻣﻨﻴﺘﻲ اﺳﺖ. Database -2ﻣﺠﻤﻮﻋﻪاي از ﭼﻨﺪ رﻛﻮرد اﺳﺖ. External view -3دﻳﺪ ﻃﺮاح ﺑﺎﻧﻚ اﺳﺖ. End user -4اﻓﺮادي ﻫﺴﺘﻨﺪ ﻛﻪ از دﻳﺘﺎﺑﻴﺲ اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ. -38در ﻣﺪل ANSI / SPARCﻛﺪام دﻳﺪ ﻣﺮﺑﻮط ﺑﻪ دادهﻫﺎ و ﻧﮕﺮﺷﻲ ﺑﺮ ﻣﺤﺪودﻳﺘﻬﺎي ﺳﻴﺴﺘﻢ اﺳﺖ ؟ External Level -1 Conceptual level -2
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت -3
249
Internal
1,3 -4 -39ﻛﺪام ﮔﺰﻳﻨﻪ ﺗﻮﺳﻂ ﺳﻄﺢ ادراﻛﻲ اراﺋﻪ ﻣﻲﮔﺮدد ؟ -1ﻣﺸﺨﺺ ﺳﺎﺧﺘﻦ دادهﻫﺎ -2ﺗﻌﺮﻳﻒ دﻳﺘﺎﺑﻴﺲ -3ﺗﻌﺮﻳﻒ ﺳﻄﺮﻫﺎي ﺟﺪاول -4ﻣﺸﺨﺺ ﺳﺎﺧﺘﻦ رﺳﺎﻧﻪ ذﺧﻴﺮه ﺳﺎزي DBA -40ﻛﻴﺴﺖ ؟ -1ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ دﻳﺘﺎﺑﻴﺲ -2ﭘﻴﺎده ﺳﺎزي ﺗﺼﻤﻴﻤﺎت اداره ﻛﻨﻨﺪه دادهﻫﺎ )(DA -3اﺟﺮاء ﻛﻨﻨﺪه دﻳﺘﺎﺑﻴﺲ -4ﻃﺮاح دﻳﺘﺎﺑﻴﺲ -41ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ -1در اﺳﺘﻘﻼل ﻓﻴﺰﻳﻜﻲ دادهﻫﺎ اﮔﺮ ﺗﻐﻴﻴﺮي در ذﺧﻴﺮه ﺳﺎزي دادهﻫﺎ اﻧﺠﺎم ﮔﻴﺮد، ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي ﻫﻴﭻ ﺗﻐﻴﻴﺮي ﻧﻤﻲﻛﻨﻨﺪ. -2در اﺳﺘﻘﻼل ﻣﻨﻄﻘﻲ دادهﻫﺎ ﺗﻐﻴﻴﺮ ﺗﺼﻮﻳﺮ ادراﻛﻲ ﺑﺎﻧﻚ از دﻳﺪ ﻛﺎرﺑﺮان و ﺑﺮﻧﺎﻣﻪﻫﺎي آﻧﻬﺎ ﻣﺨﻔﻲ ﻣﻲﻣﺎﻧﺪ. CASE -3ﻳﻚ اﺑﺰار ﻛﻤﻜﻲ اﺳﺖ ﻛﻪ در ﻃﺮاﺣﻲ و ﭘﻴﺎده ﺳﺎزي ﺑﺎﻧﻚ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﻲﮔﻴﺮد. -4ﻧﺎﺳﺎزﮔﺎري و ﻧﺎاﻳﻤﻦ ﺑﻮدن دادهﻫﺎ ،ﺟﺎﻣﻌﻴﺖ ﺑﺎﻧﻚ را ﺧﺪﺷﻪ دار ﻣﻲﻛﻨﺪ وﻟﻲ ﮔﺴﺴﺖ ﭘﻴﻮﻧﺪﻫﺎي ﺳﻤﺎﻧﺘﻴﻚ ﺑﺮاي ﺟﺎﻣﻌﻴﺖ ﻣﺸﻜﻠﻲاﻳﺠﺎد ﻧﻤﻲﻛﻨﺪ. -42در ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺎ ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ ،ﻧﺘﻴﺠﻪ ﺣﺎﺻﻞ ﻛﺪام اﺳﺖ ؟ -1اﺳﺘﻘﻼل دادهﻫﺎ security -2 -3ﻛﺎﻫﺶ Inconsistency
-4اﺷﺘﺮاك دادهﻫﺎ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
250ﭘﺎﻳﮕﺎه داده ﻫﺎ
-43ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ -1ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺷﺎﻣﻞ ﻣﻮارد روﺑﺮو اﺳﺖ :دادهﻫﺎي ذﺧﻴﺮه ﺷﺪه، ﻛﺎرﺑﺮان ،DBMS ،ﺳﺨﺖاﻓﺰار DBMS -2زﺑﺎﻧﻲ اﺳﺖ ﺑﺮاي ﺗﻌﺮﻳﻒ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ DBMS -3ﻧﺮماﻓﺰار ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺟﻬﺖ ﻛﺎر و اﻧﺠﺎم ﻋﻤﻠﻴﺎت روي دادهﻫﺎ ﻣﻲﺑﺎﺷﺪ. DBMS -4ﻣﻴﻬﻤﺎن ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ اﺳﺖ. -44در ﻛﺪاﻣﻴﻚ از اﻧﻮاع ارﺗﺒﺎط ﺑﻴﻦ DBMSﺑﺎ ﺳﺎﻳﺮ ﻋﻨﺎﺻﺮ ﻧﺮماﻓﺰاري ﻣﺤﻴﻂ ،اﻣﻜﺎن اﺷﺘﺮاﻛﻲ ﺷﺪن دادهﻫﺎ ﺑﺮاي ﺑﺮﻧﺎﻣﻪﻫﺎ وﺟﻮد ﻧﺪارد ؟ -1ﻳﻚ DBMSﺑﺮاي ﻫﺮ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ. -2ﻳﻚ DBMSﺗﺤﺖ ﻛﻨﺘﺮل ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ. -3ﺑﺮﻧﺎﻣﻪﻫﺎ ﺗﺤﺖ ﻛﻨﺘﺮل DBMSاﺟﺮاء ﺷﻮﻧﺪ. -4ﻫﻴﭽﻜﺪام. -45ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ از وﻇﻠﻴﻒ DBMSﻧﻤﻲﺑﺎﺷﺪ ؟ -1ﺑﺮﻗﺮاري اﻣﻨﻴﺖ -2ﺗﺎﻣﻴﻦ اﻣﻜﺎن ﺗﻌﺮﻳﻒ واﻳﺠﺎد ﺑﺎﻧﻚ -3ﺑﺎزﻳﺎﺑﻲ و ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﺎﻧﻚ -4ﺗﺎﻣﻴﻦ اﻣﻜﺎن ﻛﻨﺘﺮل ﺟﺎﻣﻌﻴﺖ ﺑﺎﻧﻚ DSL -46ﭼﻪ ﻧﻮع زﺑﺎﻧﻲ اﺳﺖ ؟ Procedural -1 Declarative -2 OOP -3 Non-structured -4 -47اﻟﮕﻮي ANSI / SPARCﭼﻴﺴﺖ ؟
-1راﺑﻄﻪ ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ را ﺑﻴﺎن ﻣﻲﻛﻨﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
251
-2اﺟﺘﻤﺎﻋﻲ از دﻳﺪﮔﺎﻫﻬﺎي ﻣﺠﺰاي ﻛﺎرﺑﺮان اﺳﺖ. -3اﺟﺘﻤﺎﻋﻲ از دﻳﺪﮔﺎﻫﻬﺎي اﻧﺒﺎرﺷﻲ و اﺟﺘﻤﺎع دﻳﺪﮔﺎه ﻛﺎرﺑﺮان و دﻳﺪﮔﺎﻫﻬﺎي ﻣﺠﺰاي ﻛﺎرﺑﺮان اﺳﺖ. -4اﺟﺘﻤﺎﻋﻲ از دﻳﺪﮔﺎﻫﻬﺎي اﻧﺒﺎرﺷﻲ و ﻣﺠﺰاي ﻛﺎرﺑﺮان اﺳﺖ. -48ﻣﺠﺘﻤﻊ ﺑﻮدن ﻋﺒﺎرت اﺳﺖ از: -1ﺟﻤﻊ ﭘﺬﻳﺮي ﻧﺮماﻓﺰارﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ -2وﺣﺪت ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﻣﺠﺰا ﺑﺎ اﻣﻜﺎن ﺗﻜﺮار ﺗﻜﻨﻴﻜﻲ اﻃﻼﻋﺎت -3وﺣﺪت ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﻣﺠﺰا ﺑﻮدن ﻫﺮﮔﻮﻧﻪ ﺗﻜﺮاري -4وﺣﺪت ﭼﻨﺪﻳﻦ رﻛﻮرد ﺣﺬف ﺷﺪه schema -49ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺒﺎرت اﺳﺖ از: -1ﺗﺸﺮﻳﺢ DBMS -2ﺗﺸﺮﻳﺢ دﻳﺘﺎﺑﻴﺲ ﺑﺮاي DBMS
-3ﺗﺸﺮﻳﺢ دادهﻫﺎ -4ﻣﻌﺮﻓﻲ ﻛﺎرﺑﺮان -50ﻣﻨﻈﻮر از Viewدر ﻣﺪل ANSIﭼﻴﺴﺖ ؟ -1دادهﻫﺎي دﻳﺪه ﺷﺪه در ﺑﺎﻧﻜﻬﺎي اﻃﻼﻋﺎﺗﻲ -2ﻧﻤﺎﺋﻲ از اﻃﻼﻋﺎت ﻣﻮرد ﻧﻴﺎز ﻃﺮاح -3ﻣﺸﺎﻫﺪه دادهﻫﺎ ﺑﻪ ﻫﻤﺎن ﺷﻜﻞ ﻛﻪ در ﻫﺮ ﺳﻄﺢ ﻣﺸﺎﻫﺪه ﻣﻲﺷﻮد. -4ﻧﻤﺎﺋﻲ از دادهﻫﺎي ﻣﻮرد ﻧﻴﺎز در DBMS
-51دﻳﺪ داﺧﻠﻲ ﻋﺒﺎرت اﺳﺖ از: -1ﺷﻤﺎي ﻣﺮﺑﻮط ﺑﻪ اﺳﺘﻔﺎده از ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ -2ﺷﻤﺎي ﻧﺤﻮه ذﺧﻴﺮه دادهﻫﺎ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ -3ﺷﻤﺎي ﻣﺮﺑﻮط ﺑﻪ ﻛﺎرﺑﺮان -4ﺷﻤﺎي ﻣﺮﺑﻮط ﺑﻪ ﻓﺎﻳﻠﻬﺎ ،ﺳﻜﺘﻮرﻫﺎ و ﺷﻴﺎرﻫﺎ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
252ﭘﺎﻳﮕﺎه داده ﻫﺎ
-52ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻓﺮﻫﻨﮓ دادهﻫﺎ درﺳﺖ اﺳﺖ ؟ DBMS -1اﻣﻜﺎﻧﺎت ﻓﺮﻫﻨﮓ دادهﻫﺎ را ﻓﺮاﻫﻢ ﻣﻲﺳﺎزد و ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﺮاي ﺳﻴﺴﺘﻢ اﺳﺖ. DBMS -2اﻣﻜﺎﻧﺎت ﻓﺮﻫﻨﮓ دادهﻫﺎ را ﻓﺮاﻫﻢ ﻣﻲﺳﺎزد و ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﺮاي ﻛﺎرﺑﺮان اﺳﺖ. -3ﻓﺮﻫﻨﮓ دادهﻫﺎ ﺗﻮﺿﻴﺤﺎﺗﻲ در ﻣﻮرد ﺟﺪاول ﺑﻪ ﻛﺎرﺑﺮ ﻣﻲدﻫﺪ. -4ﻓﺮﻫﻨﮓ دادهﻫﺎ ﻳﻜﻲ از اﻣﻜﺎﻧﺎﺗﻲ اﺳﺖ ﻛﻪ DBAدر اﺧﺘﻴﺎر دﻳﺘﺎﺑﻴﺲ ﻗﺮار ﻣﻲدﻫﺪ. -53ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ -1در اﻛﺜﺮ ﻧﺮماﻓﺰارﻫﺎي ﭘﺎﻳﮕﺎهدادهﻫﺎ ﺑﺮاي ذﺧﻴﺮه ﺳﺎزي اﻃﻼﻋﺎت ﻳﻚ entityاز ﺟﺪول اﺳﺘﻔﺎده ﻣﻲﺷﻮد. END USER -2ﻧﮕﻬﺪارﻧﺪﮔﺎن ﻣﺤﻴﻂ DBMSﻣﻲﺑﺎﺷﻨﺪ. DBMS -3اﻣﻜﺎﻧﺎت ﻓﺮﻫﻨﮓ دادهﻫﺎ را ﻓﺮاﻫﻢ ﺳﺎﺧﺘﻪ و ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﺮاي ﺳﻴﺴﺘﻢ ﻣﻲﺑﺎﺷﺪ. -4از ﻣﺰاﻳﺎي ﭘﺎﻳﮕﺎهداده ﻧﺴﺒﺖ ﺑﻪ ﻓﺎﻳﻠﻬﺎي ﻣﻌﻤﻮﻟﻲ ﻣﻲﺗﻮان ﻛﻨﺘﺮل ﺣﺴﺎب ﺷﺪه ﻣﻘﺪار اﻓﺰوﻧﮕﻲ واﺷﺘﺮاك دادهﻫﺎ را ﻧﺎم ﺑﺮد. -54ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟ -1ﻣﺠﺘﻤﻊ ﺑﻮدن ﻳﻌﻨﻲ وﺣﺪت ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﻣﺠﺰا ﺑﻮدن ﻫﺮ ﮔﻮﻧﻪ ﺗﻜﺮاري -2ﻛﻮﭼﻜﺘﺮﻳﻦ واﺣﺪ دادهﻫﺎي ﻣﻔﻬﻮﻣﻲرا ))دادهﻫﺎي ﺗﺠﺰﻳﻪ ﭘﺬﻳﺮ (( ﮔﻮﻳﻨﺪ. -3دﻳﺘﺎﺑﻴﺲ ﻣﺠﻤﻮﻋﻪاي از رﻛﻮردﻫﺎي ﺗﻜﺮاري اﺳﺖ. -4ﻣﺤﺪودﻳﺘﻬﺎي ﺟﺎﻣﻌﻴﺘﻲ ،ﺷﻤﺎي ﻫﺮ راﺑﻄﻪ و اﻃﻼﻋﺎت اﻣﻨﻴﺘﻲ ﺗﻮﺳﻂ DDLﺗﻌﻴﻴﻦ ﻣﻲﮔﺮدد. -55ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟ -1ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ از ﻣﺤﻞ ﻓﻴﺰﻳﻜﻲ رﻛﻮردﻫﺎ ﺑﺮ روي رﺳﺎﻧﻪ ذﺧﻴﺮه ﺳﺎزي ﺧﺒﺮ دارد.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
253
Pre-compiler -2در ﺑﺎﻧﻜﻬﺎي اﻃﻼﻋﺎﺗﻲ دﺳﺘﻮرﻫﺎي ﺑﺎﻧﻜﻲ را ﺑﻪ دﺳﺘﻮرﻫﺎي زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺗﺒﺪﻳﻞ ﻣﻲﻛﻨﺪ. -3ﻛﻠﻴﻪ اﻃﻼﻋﺎت ﺳﻴﺴﺘﻤﻲاز دﻳﺪ ﺧﺎرﺟﻲ ،ادراﻛﻲ و داﺧﻠﻲ درون DBMSﻗﺮار دارد. -4ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﻓﻘﻂ ﺑﺎ دﺳﺘﻮرات DMLﻗﺎﺑﻞ ﺗﻐﻴﻴﺮ اﺳﺖ. -56ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ External view .1ﺳﻄﺢ ﻣﺸﺎﻫﺪات ﻣﺠﺰاي ﻛﺎرﺑﺮان را ﺑﻴﺎن ﻣﻲﻛﻨﺪ. host language .2ﻳﻚ زﺑﺎن ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ. .3ﻧﮕﺎﺷﺖ ﺧﺎرﺟﻲ /ﻣﻔﻬﻮﻣﻲﻛﻠﻴﺪ اﺳﺘﻘﻼل ﻣﻨﻄﻘﻲ دادهﻫﺎﺳﺖ. .4در اﺳﺘﻘﻼل ﻓﻴﺰﻳﻜﻲ ﻃﺮاح در ﺗﻐﻴﻴﺮات ﺳﻄﺢ داﺧﻠﻲ /ادراﻛﻲ آزاد اﺳﺖ. -57اﺳﺘﻘﻼل ﻣﻨﻄﻘﻲ ﺷﺎﻣﻞ ﻛﺪام ﻣﻮرد ﻧﻤﻲﺑﺎﺷﺪ ؟ .1ﺗﻌﺮﻳﻒ ﻳﻚ راﺑﻄﻪ ﺟﺪﻳﺪ در ﺷﻤﺎ .2ﺗﺒﺪﻳﻞ ﻳﻚ راﺑﻄﻪ ﺑﻪ دو راﺑﻄﻪ ﻛﻮﭼﻜﺘﺮ .3ﺟﺎﻳﮕﺰﻳﻨﻲ ﻳﻚ راﺑﻄﻪ از ﺷﻤﺎ 1 .4و2 -58ﺧﺎﺻﻴﺖ isolationدر ﺗﺮاﻛﻨﺶ ﻫﺎ ﺑﻪ ﭼﻨﺪ ﻣﻔﻬﻮم ﻣﻲﺑﺎﺷﺪ ؟ .1ﻫﺮ ﺗﺮاﻛﻨﺶ اﮔﺮ ﺑﻪ ﺗﻨﻬﺎﻳﻲ اﺟﺮاء ﺷﻮد ﺑﺎﻧﻚ را از ﺣﺎﻟﺘﻲ ﺻﺤﻴﺢ ﺑﻪ ﺣﺎﻟﺖ ﺻﺤﻴﺢ دﻳﮕﺮي ﻣﻨﺘﻘﻞ ﻣﻲﺳﺎزد. .2اﺛﺮ ﺗﺮاﻛﻨﺶ ﻫﺎي ﻫﻢ روﻧﺪ روي ﻳﻜﺪﻳﮕﺮ ﭼﻨﺎن اﺳﺖ ﻛﻪ اﻧﮕﺎر ﻫﺮ ﻛﺪام در اﻧﺰوا اﻧﺠﺎم ﻣﻲﺷﻮد. .3ﻛﻨﺘﺮل isolationﺗﻮﺳﻂ واﺣﺪ recovery managementﺻﻮرت ﻣﻲﮔﻴﺮد. .4ﺗﺮاﻛﻨﺶ ﻫﺎ ﻣﻤﻜﻦ اﺳﺖ اﺛﺮ ﻣﺨﺮب ﺑﺮ روي ﻫﻢ داﺷﺘﻪ ﺑﺎﺷﻨﺪ. -59دو ﻧﻮع ﭘﺎﻳﺎن ﺑﺮاي ﺗﺮاﻛﻨﺶ ﻫﺎ ﻋﺒﺎرﺗﻨﺪ از: Abort , Commit .1 Run , ready .2 Abort , Retry .3
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
254ﭘﺎﻳﮕﺎه داده ﻫﺎ Commit , Success .4 -60ﻫﻤﺨﻮاﻧﻲ ﻳﺎ ﺳﺎزﮔﺎري ) (Consistencyﺑﺮاي ﺗﺮاﻛﻨﺶ ﻫﺎ ﺑﻪ ﭼﻪ ﻣﻌﻨﺎﺳﺖ ؟
.1ﻫﺮ ﺗﺮاﻛﻨﺶ اﮔﺮ ﺑﻪ ﺗﻨﻬﺎﻳﻲ اﺟﺮاء ﺷﻮد ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ را از ﺣﺎﻟﺘﻲ ﺻﺤﻴﺢ ﺑﻪ ﺣﺎﻟﺖ ﺻﺤﻴﺢ دﻳﮕﺮ ﻣﻨﺘﻘﻞ ﻣﻲﻛﻨﺪ. .2در ﺗﺮاﻛﻨﺶ ﺑﺎﻳﺪ ﺗﻤﺎﻣﻲﻗﻮاﻧﻴﻦ ﺟﺎﻣﻌﻴﺖ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ را رﻋﺎﻳﺖ ﻛﻨﺪ. 1 .3و2 .4ﻫﻴﭽﻜﺪام -61ﺧﺎﺻﻴﺖ اﺗﻤﻲﺑﻮدن ﺑﺮاي ﺗﺮاﻛﻨﺶ ﻫﺎ ﺑﻪ ﭼﻪ ﻣﻔﻬﻮم ﻣﻲﺑﺎﺷﺪ ؟ .1ﺗﻤﺎم دﺳﺘﻮرات ﻳﻚ ﺗﺮاﻛﻨﺶ ﻳﺎ ﺑﺎﻳﺪ اﺟﺮاء ﺷﻮد و ﻳﺎ ﻫﻴﭽﻜﺪام از آﻧﻬﺎ ﻧﺒﺎﻳﺪ اﺟﺮاء ﺷﻮد. .2ﺗﺮاﻛﻨﺶ ﻣﻲﺗﻮاﻧﺪ وﺳﻂ ﻛﺎر ﻟﻐﻮ ﮔﺮدد و ﻧﻴﺎزي ﺑﻪ ﺗﺮﻣﻴﻢ دادهﻫﺎ دراﻳﻨﺤﺎﻟﺖ ﻧﻴﺴﺖ. .3ﺗﺮاﻛﻨﺶ ﺑﺎﻳﺪ ﻛﺎﻣﻞ اﺟﺮاء ﺷﻮد و ﻫﻴﭽﮕﺎه ﻧﻤﻲﺗﻮاﻧﺪ وﺳﻂ ﻛﺎر ﻟﻐﻮ ﮔﺮدد. .4ﺗﺮاﻛﻨﺶ در ﻛﻞ ﺑﺎﻧﻚ ﺑﺎﻳﺪ ﺻﻮرت ﮔﺮﻓﺘﻪ و ﻧﻴﺎزي ﺑﻪ ﻟﻐﻮ ﻛﺮدن آن ﻧﻴﺴﺖ. -62ﻛﺪام اﻋﻤﺎل ﺗﻮﺳﻂ واﺣﺪ Recovery managementﺻﻮرت ﻣﻲﮔﻴﺮد ؟ .1ﻳﻜﭙﺎرﭼﮕﻲ .2ﭘﺎﻳﺎﺋﻲ .3ﻫﻤﺨﻮاﻧﻲ 1 .4و2 -63ﺧﺎﺻﻴﺖ ﭘﺎﻳﺎﺋﻲ ) (durabilityدر ﺗﺮاﻛﻨﺸﻬﺎ ﺑﻪ ﭼﻪ ﻣﻌﻨﺎﺳﺖ ؟ .1ﺗﺮاﻛﻨﺸﻬﺎﺋﻲ ﻛﻪ ﺑﻪ ﻣﺮﺣﻠﻪ Commitرﺳﻴﺪهاﻧﺪ ﺑﻪ ﺻﻮرت اﺗﻔﺎﻗﻲ ﺣﺬف ﻧﻤﻲﺷﻮﻧﺪ. .2ﺗﺮاﻛﻨﺸﻬﺎﺋﻲ ﻛﻪ ﺑﻪ ﻣﺮﺣﻠﻪ Commitرﺳﻴﺪهاﻧﺪ اﺛﺮﺷﺎن ﻣﺎﻧﺪﻧﻲ ﻣﻲﺑﺎﺷﺪ. .3ﺗﺮاﻛﻨﺸﻬﺎﺋﻲ ﻛﻪ ﺑﻪ ﻣﺮﺣﻠﻪ Commitرﺳﻴﺪهاﻧﺪ ﺣﺘﻲ در ﺻﻮرت زﻟﺰﻟﻪ ﻳﺎ آﺗﺶ ﺳﻮزي ﻧﺒﺎﻳﺴﺘﻲ از ﺑﻴﻦ ﺑﺮوﻧﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
255
.4ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ. -64ﻣﺸﺨﺼﺎت اﺻﻠﻲ ﻳﻚ ﺗﺮاﻛﻨﺶ ﻧﺴﺒﺖ ﺑﻪ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻣﻌﻤﻮﻟﻲ )در ﻣﺤﻴﻂ ﻏﻴﺮ ﺑﺎﻧﻜﻲ( ﻛﺪام اﺳﺖ ؟ .1ﺗﺮاﻛﻨﺶ ﻧﻤﻲﺗﻮاﻧﺪ ﺑﻪ ﺗﻌﻮﻳﻖ ﺑﻴﺎﻓﺘﺪ. .2ﺗﺮاﻛﻨﺶ ﺑﻪ DBMSواﺑﺴﺘﻪ ﻧﻴﺴﺖ. .3ﻫﺪف از ﻛﻨﺘﺮل ﺗﺮاﻛﻨﺶ ﻫﺎ ﺑﺎﻻﺑﺮدن ﺳﺮﻋﺖ اﺳﺖ. .4ﺗﺮاﻛﻨﺶ ﺗﻮﺳﻂ DBMSﻛﻨﺘﺮل ﻣﻲﺷﻮد. -65در ﻣﺤﻴﻂ ﭘﺎﻳﮕﺎهداده ﻛﺪام ﻧﺮماﻓﺰار وﺟﻮد ﻧﺪارد ؟ .1ﻧﺮماﻓﺰار DBMS
.2روﻳﻪﻫﺎي ذﺧﻴﺮه ﺷﺪه .3ﻧﺮماﻓﺰار ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ .4ﻧﺮماﻓﺰار ﺑﺮﻧﺎﻣﻪﻫﺎي ﻛﺎرﺑﺮدي -66درون ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﭼﻪ اﻃﻼﻋﺎﺗﻲ ذﺧﻴﺮه ﻧﻤﻲﮔﺮدد ؟ .1ﻟﻐﺖ ﻧﺎﻣﻪ دادهﻫﺎ .2ﻣﻘﺎدﻳﺮ دادهﻫﺎي درون ﺟﺪاول .3ﺗﻌﺪاد ﻧﺴﺨﻪﻫﺎي ﻫﺮ ﻓﺎﻳﻞ و ﺗﺮﺗﻴﺐ زﻣﺎﻧﻲ آﻧﻬﺎ .4ﺣﻖ دﺳﺘﻴﺎﺑﻲ اﻓﺮاد ﺑﻪ دادهﻫﺎي ﻣﺨﺘﻠﻒ -67در راﺑﻄﻪ ﺑﺎ دﻳﺪ داﺧﻠﻲ ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ ﻣﻲﺑﺎﺷﺪ ؟ .1اﻳﻦ دﻳﺪ ﻣﺒﺘﻨﻲ ﺑﺮ ﻳﻚ ﻳﺎ ﺑﻴﺶ ﻟﺰ ﻳﻚ ﺳﺎﺧﺘﺎر ﻓﺎﻳﻞ اﺳﺖ. .2اﻳﻦ دﻳﺪ در ﺳﻄﺢ ﻓﻴﺰﻳﻜﻲ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻄﺮح ﻣﻲﮔﺮدد. .3اﻳﻦ دﻳﺪ ﺑﻪ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﻣﻌﺮوف اﺳﺖ. .4ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ -68ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟ .1زﺑﺎن DSLﻣﻲﺗﻮاﻧﺪ ﻣﺴﺘﻘﻞ از HLﻧﺒﺎﺷﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
256ﭘﺎﻳﮕﺎه داده ﻫﺎ
.2زﺑﺎن DSLﻣﻲﺗﻮاﻧﺪ ﻣﺴﺘﻘﻞ از HLﺑﺎﺷﺪ. .3زﺑﺎن HLﻳﻜﻲ از زﺑﺎﻧﻬﺎي ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﻣﺘﻌﺎرف اﺳﺖ. .4ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ -69ﮔﺰﻳﻨﻪ ﺻﺤﻴﺢ ﻛﺪام اﺳﺖ ؟ .1ﻳﻚ ﻛﺎرﺑﺮ ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪ دﻳﺪ داﺷﺘﻪ ﺑﺎﺷﺪ. .2ﭼﻨﺪ ﻛﺎرﺑﺮ ﻣﻲﺗﻮاﻧﻨﺪ ﻳﻚ دﻳﺪ ﻣﺸﺘﺮك داﺷﺘﻪ ﺑﺎﺷﻨﺪ. .3ﻣﺠﻤﻮﻋﻪ دﻳﺪﻫﺎي ﻛﺎرﺑﺮان را ﺳﻄﺢ ﺧﺎرﺟﻲ ﻣﻲﻧﺎﻣﻨﺪ. .4ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ -70ﭼﻪ ﻧﻮع ﺳﺨﺖاﻓﺰاري در ﭘﺎﻳﮕﺎهدادهﻫﺎ وﺟﻮد دارد ؟ .1ذﺧﻴﺮه ﺳﺎزي .2ارﺗﺒﺎﻃﻲ .3ﭘﺮدازﺷﻲ .4ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ
ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 3 (1) -1در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﻃﻤﻴﻨﺎن از ﺻﺤﺖ دادهﻫﺎ ﺑﺴﻴﺎر ﻣﻬﻢ اﺳﺖ .ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ و دﺳﺘﻴﺎﺑﻲ ﻣﺸﺘﺮك از ﻣﺰاﻳﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ. Data Dictionary (1) -2ﺗﻮﺳﻂ ﺧﻮد DBMSﺳﺎﺧﺘﻪ و ﺑﻪ روز در ﻣﻲآﻳﺪ) .ﺑﻪ ﺻﻮرت ﺧﻮدﻛﺎر( (1) -3 (1) -4در ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﻣﺪل ﻣﻮرد اﺳﺘﻔﺎده )راﺑﻄﻪاي -ﺷﺒﻜﻪاي -ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ( ﻣﻬﻢ ﻧﻴﺴﺖ و ﺷﻤﺎي ﻛﻠﻲ ﻣﺜﻼ ﺑﺎ ﻧﻤﻮدار ERﺗﺮﺳﻴﻢ ﻣﻲﺷﻮد .اﻣﺎ ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﺴﺘﮕﻲ ﺑﻪ ﻣﺪل ﻣﻮرد اﺳﺘﻔﺎده دارد.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
257
(2) -5در زﺑﺎﻧﻬﺎي ﻏﻴﺮ روﻳﻪاي ﻛﺎرﺑﺮ ﻓﻘﻂ ﻣﻲﮔﻮﻳﺪ ﭼﻪ ﻣﻲﺧﻮاﻫﺪ وﻟﻲ ﺷﻴﻮه و اﻟﮕﻮرﻳﺘﻢ اﻧﺠﺎم آن ﻛﺎر را ﺑﻴﺎن ﻧﻤﻲﻛﻨﺪ .در زﺑﺎﻧﻬﺎي روﻳﻪاي ﻛﺎرﺑﺮ ﺑﺎﻳﺪ اﻟﮕﻮرﻳﺘﻢ اﻧﺠﺎم ﻛﺎرش را ﻧﻴﺰ ﺑﻴﺎن ﻛﻨﺪ. (4) -6اﺷﺘﺮاك ﻣﻨﺎﺑﻊ و اﻣﻨﻴﺖ دادهﻫﺎ از ﻣﺰاﻳﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻫﺴﺘﻨﺪ .ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺒﺎرﺗﻨﺪ از :ﻧﺮماﻓﺰار -ﺳﺨﺖاﻓﺰار -دادهﻫﺎ و ﻛﺎرﺑﺮ (2) -7 (4) -8 (3) -9ﺑﺮﻋﻜﺲ در ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ ﻧﺒﺎﻳﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ. DML(4) -10ﺑﺨﺸﻲ از زﺑﺎن DSLاﺳﺖ و ﺑﻪ دﺳﺘﻮرات ﻛﺎر ﺑﺎ دادهﻫﺎ ) (Data Manipulation Language = DMLﮔﻔﺘﻪ ﻣﻲﺷﻮد. (3) -11ﺑﺮاي آﻧﻜﻪ ﻛﺎراﻳﻲ را ﺛﺎﺑﺖ ﻧﮕﻪ دارﻳﻢ ﺑﺎﻳﺪ ﺗﻌﺪاد ﻛﺎرﻣﻨﺪان را ﻣﺤﺪود ﻛﻨﻴﻢ. (1) -12 (3) -13ﺑﻪ ﻛﺎﺗﺎﻟﻮگ ﻓﺮاداده ) (Meta dataﻳﺎ دادهﻫﺎﻳﻲ در ﻣﻮرد دادهﻫﺎ ) Data about
(dataﻧﻴﺰ ﮔﻔﺘﻪ ﻣﻲﺷﻮد. DDL (2) -14ﺑﺨﺸﻲ از زﺑﺎن DSLاﺳﺖ و ﺑﻪ دﺳﺘﻮرات ﺗﻌﺮﻳﻒ دادهﻫﺎ ) ( Data Definition Language = DDLﮔﻔﺘﻪ ﻣﻲﺷﻮد. (3) -15اﺟﺰاء ﻣﻌﻤﺎري ANSIﻋﺒﺎرت اﺳﺖ از :دﻳﺪ داﺧﻠﻲ -دﻳﺪ ﺧﺎرﺟﻲ -دﻳﺪ ادراﻛﻲ-ﺗﺒﺪﻳﻼت ﺑﻴﻦ ﺳﻄﻮح -زﺑﺎن ﻓﺮﻋﻲ دادهاي ) -(DSLزﺑﺎن ﻣﻴﺰﺑﺎن ) (HLو ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ )(DBMS (3) -16ﺑﺎ ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ دادهﻫﺎ ،داده ﻣﺸﺎﺑﻪ ﻛﻤﺘﺮي وﺟﻮد دارد و ﻟﺬا اﺣﺘﻤﺎل ﻧﺎﺳﺎزﮔﺎرياﻳﻦ دادهﻫﺎ ﻛﺎﻫﺶ ﻣﻲﻳﺎﺑﺪ .ﻣﺜﻼ اﮔﺮ آدرس ﻓﺮدي ﺗﻐﻴﻴﺮ ﻛﻨﺪ ﺑﺎﻳﺪ ﺗﻤﺎﻣﻲﺟﺪاوﻟﻲ ﻛﻪ آدرس آن ﺷﺨﺺ را دارﻧﺪ ﺗﻐﻴﻴﺮ ﻛﻨﺪ .ﺑﺪﻳﻬﻲ اﺳﺖ ﻫﺮ ﭼﻘﺪر ﺗﻌﺪاداﻳﻦ ﺟﺪاول ﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ ﺗﻐﻴﻴﺮ ﺳﺨﺖ ﺗﺮ اﻧﺠﺎم ﻣﻲﮔﻴﺮد و اﺣﺘﻤﺎلاﻳﺠﺎد ﻧﺎﺳﺎزﮔﺎري ﺑﻴﺸﺘﺮ ﻣﻲﺷﻮد. (2) -17
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
258ﭘﺎﻳﮕﺎه داده ﻫﺎ
(1) -18ﻋﻨﺎﺻﺮ اﺻﻠﻲ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺒﺎرت اﺳﺖ از :ﺳﺨﺖاﻓﺰار -ﻧﺮماﻓﺰار- دادهﻫﺎ و ﻛﺎرﺑﺮان (2) -19 (1) -20 (3) -21 (2) -22 CASE (1) -23ﺑﻪ ﻣﻌﻨﺎي Computer Aided Software Engineeringﻣﻲﺑﺎﺷﺪ. (3) -24 (4) -25 (1) -26 (1) -27 (3) -28در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺳﺎده ﺗﺮ اﺳﺖ. (4) -29ﻋﻤﻞ ROLLBACKﻋﺪم ﻣﻮﻓﻘﻴﺖ اﺟﺮاي ﺗﺮاﻛﻨﺶ را ﮔﺰارش ﻣﻲﻛﻨﺪ و ﺑﻪ ﻣﺪﻳﺮ ﺗﺮاﻛﻨﺶ ﻣﻲﮔﻮﻳﺪ ﻛﻪ اﺷﻜﺎﻟﻲ ﭘﻴﺶ آﻣﺪه اﺳﺖ .ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻣﻤﻜﻦ اﺳﺖ در ﺣﺎﻟﺖ ﻧﺎﺳﺎزﮔﺎر ﺑﺎﺷﺪ و ﺗﻤﺎم ﺑﻬﻨﮕﺎم ﺳﺎزي ﻫﺎ ﻛﻪ ﺗﻮﺳﻂ آن واﺣﺪ ﻛﺎري اﻧﺠﺎم ﺷﺪه اﺳﺖ ﺑﺎﻳﺪ ﻟﻐﻮ ﻳﺎ رد ﺷﻮد. (4) -30 (2) -31 (4) -32 (4) -33 (1) -34 (3) -35 (3) -36
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
259
(3) -37دﻳﺪ ﻃﺮاح ﺑﺎﻧﻚ Conceptual viewﻣﻲﺑﺎﺷﺪ .دﻳﺪ ﺧﺎرﺟﻲ ﺳﻄﺢ ﻣﺸﺎﻫﺪات ﻣﺠﺰاي اﺳﺘﻔﺎده ﻛﻨﻨﺪﮔﺎن را ﺑﻴﺎن ﻣﻲﻛﻨﺪ. (2)-38 (1) -39 (2) -40 (4) -41ﻋﺪم وﺟﻮد ارﺗﺒﺎﻃﺎت ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎ )ﮔﺴﺴﺖ ﭘﻴﻮﻧﺪﻫﺎي ﺳﻤﺎﻧﺘﻴﻚ( ﻧﻴﺰ ﺑﺎﻋﺚ ﺧﺪﺷﻪ دار ﺷﺪن ﺟﺎﻣﻌﻴﺖ ﺑﺎﻧﻚ ﻣﻲﺷﻮد. ) (3) -42ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ = (Inconsistencyﺑﺎ ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ دادهﻫﺎ ،داده ي ﻣﺸﺎﺑﻪ ﻛﻤﺘﺮي وﺟﻮد دارد و ﻟﺬا اﺣﺘﻤﺎل ﻧﺎﺳﺎزﮔﺎرياﻳﻦ دادهﻫﺎ ﻛﺎﻫﺶ ﻣﻲﻳﺎﺑﺪ. (2) -43 (1) -44 (1) -45ﺑﺮﻗﺮاري اﻣﻨﻴﺖ ﺑﺮ ﻋﻬﺪه DBAﻣﻲﺑﺎﺷﺪ. (2) -46در ﻳﻚ زﺑﺎن ﺑﻴﺎﻧﻲ ) declarativeﻳﺎ ( Non-proceduralﻛﺎرﺑﺮ ﻣﻲﮔﻮﻳﺪ ﭼﻪ ﻣﻲﺧﻮاﻫﺪ وﻟﻲ روﻳﻪ اﻧﺠﺎم ﻛﺎر را ﺑﻴﺎن ﻧﻤﻲﻛﻨﺪ .وﻟﻲ ﻣﺜﻼ در Cو ﭘﺎﺳﻜﺎل ﻛﻪ روﻳﻪاي ) (proceduralﻫﺴﺘﻨﺪ ﻛﺎرﺑﺮ ﺑﺎﻳﺪ روﻳﻪ و اﻟﮕﻮرﻳﺘﻢ ﻛﺎر را ﻧﻴﺰ ﺑﻴﺎن ﻛﻨﺪ. (3) -47 (2) -48 (2) -49 (3) -50 (2) -51 (1) -52 END USER (2) -53اﻓﺮادي ﻫﺴﺘﻨﺪ ﻛﻪ از دﻳﺘﺎﺑﻴﺲ اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ. (4) -54ﮔﺰﻳﻨﻪ :1ﻣﺠﺘﻤﻊ ﺑﻮدن ﻳﻌﻨﻲ وﺣﺪت ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ اﻃﻼﻋﺎﺗﻲ ﻣﺠﺰا ﺑﺎ ﻫﺮ ﮔﺮوه ﺗﻜﺮاري
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
260ﭘﺎﻳﮕﺎه داده ﻫﺎ
ﮔﺰﻳﻨﻪ :2ﻛﻮﭼﻜﺘﺮﻳﻦ واﺣﺪ دادهﻫﺎي ﻣﻔﻬﻮﻣﻲرا ﻣﻘﺎدﻳﺮ ﻏﻴﺮ ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪ ﮔﻮﻳﻨﺪ. ﮔﺰﻳﻨﻪ :3دﻳﺘﺎﺑﻴﺲ ﻣﺠﻤﻮﻋﻪاي از ﭼﻨﺪ رﻛﻮرد اﺳﺖ. (3) -55ﮔﺰﻳﻨﻪ DBMS :1از ﻧﻮع ﻓﻴﻠﺪﻫﺎ و ﺳﺎﺧﺘﺎر ﻓﺎﻳﻠﻬﺎ ﺧﺒﺮ دارد وﻟﻲ از ﻣﺤﻞ ﻓﻴﺰﻳﻜﻲ رﻛﻮردﻫﺎ ﺑﺮ روي ﻫﺎرد دﻳﺴﻚ ﺧﺒﺮ ﻧﺪارد. ﮔﺰﻳﻨﻪ Pre-compiler :2دﺳﺘﻮرﻫﺎي زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ را ﺑﻪ دﺳﺘﻮرات ﺑﺎﻧﻜﻲ ﺗﺒﺪﻳﻞ ﻣﻲﻛﻨﺪ. ﮔﺰﻳﻨﻪ :4ﻛﺎﺗﺎﻟﻮگ ﺳﻴﺴﺘﻢ ﺑﺎ ﺑﺮﺧﻲ اﺣﻜﺎم DMLو ﺑﺮﺧﻲ اﺣﻜﺎم DDLﻗﺎﺑﻞ ﺗﻐﻴﻴﺮ اﺳﺖ. host language (2) -56ﻳﻚ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ اﺳﺖ ﻛﻪ اﻣﻜﺎن اﺳﺘﻔﺎده و ارﺗﺒﺎط ﺑﺎ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ را ﻓﺮاﻫﻢ ﻣﻲﺳﺎزد. (3) -57 (2) -58ﮔﺰﻳﻨﻪ 1ﺧﺎﺻﻴﺖ consistencyاﺳﺖ .ﻛﻨﺘﺮل isolationﺗﻮﺳﻂ واﺣﺪ concurrency controlاﻧﺠﺎم ﻣﻲﮔﻴﺮد .ﺑﺮ ﻃﺒﻖ ﺧﺎﺻﻴﺖ اﻧﺰوا ﻫﻤﺮوﻧﺪي ﺗﺮاﻛﻨﺶ ﻫﺎ ﺑﺎﻳﺪ ﻛﻨﺘﺮل ﺷﻮد ﺗﺎ اﺛﺮ ﻣﺨﺮب ﺑﺮ روي ﻫﻢ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻨﺪ. (1) -59 (3) -60 (1) -61 (4) -62 (4) -63 (4) -64 (3) -65 (2) -66 (1) -67اﻳﻦ دﻳﺪ در ﺳﻄﺢ ﻣﻨﻄﻘﻲ ﻓﺎﻳﻠﻴﻨﮓ ﻣﻄﺮح ﺷﺪه و ﺑﻪ ﻃﺮاﺣﻲ ﻓﻴﺰﻳﻜﻲ ﻣﻌﺮوف اﺳﺖ. (4) -68
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
261
(4) -69 (4) -70
ﺗﺴﺖ ﻫﺎي ﺳﺮي 4 -1در ﻛﺪام ﻣﺪل ﭘﺎﻳﮕﺎهدادهﻫﺎ ،ﻣﺠﻤﻮﻋﻪاي ﻣﺮﺗﺐ از درﺧﺘﻬﺎ دارﻳﻢ ﻛﻪ در آن ﻓﺮزﻧﺪي ﺑﺪون ﭘﺪر وﺟﻮد ﻧﺪارد ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(80-
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
262ﭘﺎﻳﮕﺎه داده ﻫﺎ
.1راﺑﻄﻪاي .2ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ .3ﺷﺒﻜﻪاي .4ﻟﻴﺴﺖ ﻣﻌﻜﻮس -2ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ،ﺟﺰو وﻳﮋﮔﻴﻬﺎي ﺳﺎﺧﺘﺎر دادهاي ﻣﺪل ﺷﺒﻜﻪاي اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(79- .1اﺻﻞ وﺣﺪت ﻋﻤﻠﮕﺮ ،در ﻳﻚ ﻋﻤﻞ واﺣﺪ رﻋﺎﻳﺖ ﻣﻲﺷﻮد. .2از دﻳﺪ ﻛﺎرﺑﺮ داراي وﺿﻮح اﺳﺖ. .3ﺑﺮاي ﻣﺤﻴﻂ ﻫﺎي داراي ارﺗﺒﺎﻃﺎت ﻳﻚ ﺑﻪ ﭼﻨﺪ دوﺳﻮﻳﻪ ،ﻣﺪل ﻣﻨﺎﺳﺒﻲ ﻧﻤﻲﺑﺎﺷﺪ. .4در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي آﻧﻮﻣﺎﻟﻲ ﻧﺪارد. -3ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺟﺰء ﻣﺪﻟﻬﺎي ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ ﻧﻴﺴﺘﻨﺪ ؟)ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ و ﺣﺮﻓﻪاي(78 - .1ﻣﺪل راﺑﻄﻪاي .2ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ .3ﻣﺪل اﻃﻼﻋﺎﺗﻲ .4ﻣﺪل ﺷﺒﻜﻪاي -4ﺷﻜﻞ زﻳﺮ از ﻛﺪام ﻣﺪل ﺑﺮﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ و ﺣﺮﻓﻪاي( 77 - -1راﺑﻄﻪاي -2ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ -3ﺷﺒﻜﻪاي -4ﺑﺎﻧﻜﻲ -5ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(77-
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
263
-1در ﻣﺪل راﺑﻄﻪاي ﺑﺎﻧﻚ دادهﻫﺎ از دﻳﺪ ﻛﺎرﺑﺮ از ﺗﻌﺪادي ﺟﺪول ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ. -2در ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﺴﻴﺮ ﻣﻨﻄﻘﻲ ﻫﻤﻴﺸﻪ از رﻳﺸﻪ و از ﺑﺎﻻ ﺑﻪ ﭘﺎﻳﻴﻦ اﺳﺖ. -3در ﻣﺪل ﺷﺒﻜﻪاي ﻫﺮ ﮔﺮه ﻓﺮزﻧﺪ ﻣﻲﺗﻮاﻧﺪ داراي ﺑﻴﺶ از ﻳﻚ ﭘﺪر ﺑﺎﺷﺪ. -4در ﻣﺪل ﺷﺒﻜﻪاي از ﻣﻔﺎﻫﻴﻢ رﻳﺎﺿﻲ ﻣﺠﻤﻮﻋﻪﻫﺎ ﺑﺮاي ﻧﻤﺎﻳﺶ دادهﻫﺎ و ارﺗﺒﺎط آﻧﻬﺎ اﺳﺘﻔﺎده ﻣﻲﺷﻮد. -6ﻛﺪاﻣﻴﻚ از ﻣﻮﺳﺴﺎت زﻳﺮ روي اﺳﺘﺎﻧﺪاردﺳﺎزي زﺑﺎﻧﻬﺎي ﭘﺎﻳﮕﺎهدادهﻫﺎ ﻛﺎر ﻧﻜﺮدهاﻧﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ -آزاد (72 CODASYL DBTG -1 ISO -2 ANSI/SPARC -3
2,3 -4 -7ﻛﺪاﻣﻴﻚ از ﻣﻮارد زﻳﺮ ﺑﻴﺎﻧﮕﺮ ﻓﺮق ﺑﻴﻦ ﻳﻚ ﻣﺪل ﺷﺒﻜﻪاي داده ) (Networkو ﻳﻚ ﻣﺪل Entity
) Relationship(ERﻣﻲﺑﺎﺷﺪ ؟ ) ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ -آزاد (72 -1در ﻣﺪل ﺷﺒﻜﻪاي ﻫﺮ Entityﻓﻘﻂ ﻳﻚ ﻣﻮﻟﺪ ) (parentدارد در ﻣﺪل ERﻫﺮ Entityﻣﻲﺗﻮاﻧﺪ ﺑﻴﺸﺘﺮ از ﻳﻚ ﻣﻮﻟﺪ داﺷﺘﻪ ﺑﺎﺷﺪ. -2در ﻣﺪل ERرواﺑﻂ M:Mﭘﺸﺘﻴﺒﺎﻧﻲ ﻣﻲﺷﻮد در ﻣﺪل ﺷﺒﻜﻪاي ﺧﻴﺮ. -3در ﻣﺪل ERﻳﻚ Entityﻣﻲﺗﻮاﻧﺪ از ﻧﻮع ﺿﻌﻴﻒ )(weakﺑﺎﺷﺪ در راﺑﻄﻪ ﺷﺒﻜﻪ ﻛﻠﻴﺪ Entityاز ﻧﻮع ﻗﻮي ) (strongﻣﻲﺑﺎﺷﺪ. 3 -4و2 -8ﻣﻲﺧﻮاﻫﻴﻢ ﺑﺮاي ﻳﻚ داﻧﺸﻜﺪه ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ آﻣﻮزﺷﻲ ﻃﺮاﺣﻲ ﻛﻨﻴﻢ .از ﺑﻴﻦ ﻣﻮﺟﻮدﻳﺘﻬﺎي اﺳﺎﺳﻲ ،ﻣﻮﺟﻮدﻳﺖ درس را در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ و ارﺗﺒﺎط زﻳﺮ را: در ﻣﺪل ﺷﺒﻜﻪاي ﺑﺮاي ﻧﺸﺎن دادن ارﺗﺒﺎط ﻓﻮق در ﺳﻄﺢ ادراﻛﻲ: -1ﺣﺪاﻗﻞ دو ﻣﺠﻤﻮﻋﻪ ﺑﻪ ﻣﻌﻨﺎﻳﻲ ﻛﻪ در CODASYLﻣﻄﺮح اﺳﺖ ،ﻻزم اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
264ﭘﺎﻳﮕﺎه داده ﻫﺎ
-2در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺑﻪ ﻣﻌﻨﺎﻳﻲ ﻛﻪ در CODASYLﻣﻄﺮح اﺳﺖ ،ﻛﺎﻓﻲ اﺳﺖ. -3ﺑﻴﺶ از دو ﻣﺠﻤﻮﻋﻪ ﺑﻪ ﻣﻌﻨﺎﻳﻲ ﻛﻪ در CODASYLﻣﻄﺮح اﺳﺖ ﻻزم ﻧﻴﺴﺖ. -4در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺑﻪ ﻣﻌﻨﺎﻳﻲ ﻛﻪ در CODASYLﻣﻄﺮح اﺳﺖ ﻛﺎﻓﻲ اﺳﺖ وﻟﻲ ﺑﻬﺘﺮ اﺳﺖ ﻃﺮاﺣﻲ را ﺑﺎ دو ﻣﺠﻤﻮﻋﻪ اﻧﺠﺎم داد. -9ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ درﺳﺖ ﻧﻤﻲﺑﺎﺷﺪ ؟ -1ﻫﺮ ﮔﺮه ﭘﺪر ﻣﻲﺗﻮاﻧﺪ ﭼﻨﺪﻳﻦ ﻓﺮزﻧﺪ داﺷﺘﻪ ﺑﺎﺷﺪ وﻟﻲ ﻫﺮ ﻓﺮزﻧﺪ ﻓﻘﻂ ﻳﻚ ﭘﺪر دارد. -2اﻳﻦ ﻣﺪل در ﻋﻤﻠﻴﺎت ﺣﺬف و ﺑﻬﻨﮕﺎم ﺳﺎزي آﻧﻮﻣﺎﻟﻲ دارد. -3اﮔﺮ ﭘﺮس و ﺟﻮﺋﻲ را ﻗﺮﻳﻨﻪ ﻛﻨﻴﻢ ﻫﻤﻮاره روﻳﻪ ﭘﺎﺳﺨﮕﻮﻳﻲ ﻧﻴﺰ ﺑﻪ ﻫﻤﺎن ﺻﻮرت ﻗﺮﻳﻨﻪ ﻣﻲﺷﻮد. -4اﻳﻦ ﻣﺪل در ﻋﻤﻠﻴﺎت درج داراي آﻧﻮﻣﺎﻟﻲ اﺳﺖ. -10ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻣﺪل ﺷﺒﻜﻪاي درﺳﺖ ﻧﻤﻲﺑﺎﺷﺪ ؟ -1دراﻳﻦ ﺳﺎﺧﺘﺎر ﻳﻚ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻋﻀﻮ ﻣﻲﺗﻮاﻧﺪ ﻋﻀﻮ دو ﻣﺎﻟﻚ ﻣﺘﻤﺎﻳﺰ ﺑﺎﺷﺪ. -2ﻋﻤﻞ ﺑﺎزﻳﺎﺑﻲ ﺳﺎده ﺗﺮ از ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ اﺳﺖ. -3اﻳﻦ ﻣﺪل در ﻋﻤﻠﻴﺎت درج و ﺣﺬف آﻧﻮﻣﺎﻟﻲ ﻧﺪارد. -4اﻳﻦ ﻣﺪل در ﻋﻤﻠﻴﺎت ﺑﻬﻨﮕﺎم ﺳﺎزي آﻧﻮﻣﺎﻟﻲ ﻧﺪارد. -11ﻛﺪام ﮔﺰﻳﻨﻪ ﺑﻴﺎﻧﮕﺮ ﺗﺼﻮﻳﺮ ادراﻛﻲ ﻋﺎم اﺳﺖ ؟ NIAM , EER -1
-2ﺷﺒﻜﻪاي -ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ -ﺟﺪوﻟﻲ -3راﺑﻄﻪ -ﺟﺪول -4ﻣﻌﻤﺎري ANSI
-12ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ راﺑﻄﻪاي ﻋﺒﺎرت اﺳﺖ از: -1ﺑﺎﻧﻜﻲ اﺳﺖ ﻛﻪ در آن ﻫﺮ ﮔﻮﻧﻪ ﺗﻜﺮار ﻫﻤﺮاه ﺑﺎ ﺟﺪاول دﻳﺪه ﻣﻲﺷﻮد. -2ﺑﺎﻧﻜﻲ اﺳﺖ ﻛﻪ در ﻣﻘﺎدﻳﺮش ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪاﻧﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
265
-3ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ ﻛﻪ ﺑﻪ ﻋﻨﻮان ﻣﺠﻤﻮﻋﻪاي از رواﺑﻂ و ﺟﺪاول در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد. -4ﻫﻴﭽﻜﺪام. -13ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟ -1ﺳﻴﺴﺘﻢ راﺑﻄﻪاي داراي ﺳﺎﺧﺘﺎر ﻓﻴﺰﻳﻜﻲ اﺳﺖ. -2ﺳﻴﺴﺘﻢ راﺑﻄﻪاي داراي ﺳﺎﺧﺘﺎر ﻣﻨﻄﻘﻲ اﺳﺖ. -3ﺳﻴﺴﺘﻢ راﺑﻄﻪاي داراي ﺳﺎﺧﺘﺎر ﻣﻨﻄﻘﻲ و ﻓﻴﺰﻳﻜﻲ اﺳﺖ. -4ﻫﻴﭽﻜﺪام. -14ﻛﺪام ﮔﺰﻳﻨﻪ ﺟﺰو ﻣﺪﻟﻬﺎي دادهاي اﺳﺖ ؟ -1 -2 -3 -4
Entity Relation Ship Record- based data Model Networking Model Semantic Model
-15ﻛﺪام ﻋﺒﺎرت ﻧﺎدرﺳﺖ اﺳﺖ ؟ -1ﺑﺮاي ﻣﺪﻟﻴﻨﮓ ارﺗﺒﺎﻃﺎت ﻳﻚ ﺑﻪ ﭼﻨﺪ ﻳﻜﺴﻮﻳﻪ ﺑﻴﻦ اﻧﻮاع ﻣﻮﺟﻮدﻳﺘﻬﺎ ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﻨﺎﺳﺒﺘﺮ اﺳﺖ. -2در ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ،آﻧﻮﻣﺎﻟﻲ در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي وﺟﻮد دارد. -3زﻣﺎن ﭘﺎﺳﺨﮕﻮﻳﻲ ﺑﻪ ﭘﺮس و ﺟﻮﻫﺎ در ﻣﺪل راﺑﻄﻪاي ﺑﺴﻴﺎر ﻛﻢ اﺳﺖ. -4ﺳﺎﺧﺘﺎر ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ داراي ﻳﻚ روﻳﻪ ﭘﺎﺳﺨﮕﻮﻳﻲ واﺣﺪ ﺑﺮاي ﭘﺮس و ﺟﻮﻫﺎي ﻗﺮﻳﻨﻪ ﻧﻤﻲﺑﺎﺷﺪ. -16ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ -1اﺻﻞ وﺣﺪت ﻋﻤﻠﮕﺮ ،در ﻳﻚ ﻋﻤﻞ واﺣﺪ )ﻣﺜﻼ درج( در ﻣﺪل ﺷﺒﻜﻪاي رﻋﺎﻳﺖ ﻣﻲﺷﻮد. -2در ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﺴﻴﺮ ﻣﻨﻄﻘﻲ ﻫﻤﻴﺸﻪ از رﻳﺸﻪ و از ﺑﺎﻻ ﺑﻪ ﭘﺎﻳﻴﻦ اﺳﺖ. -3در ﻣﺪل راﺑﻄﻪاي ﺑﺎﻧﻚ دادهﻫﺎ از دﻳﺪ ﻛﺎرﺑﺮ از ﺗﻌﺪادي ﺟﺪول ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
266ﭘﺎﻳﮕﺎه داده ﻫﺎ
-4در ﻣﺪل ﺷﺒﻜﻪاي ﻫﺮ ﻓﺮزﻧﺪ ﻣﻲﺗﻮاﻧﺪ داراي ﺑﻴﺶ از ﻳﻚ ﭘﺪر ﺑﺎﺷﺪ. -17ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﺧﺼﻮﺻﻴﺎت ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻧﺎدرﺳﺖ اﺳﺖ ؟ -1ﺧﺎص ﻣﺤﻴﻂ ﻫﺎﻳﻲ اﺳﺖ ﻛﻪ در آﻧﻬﺎ ارﺗﺒﺎط ﻫﺎي ﻳﻚ ﺑﻪ ﭼﻨﺪ ﻳﻚ ﺳﻮﻳﻪ وﺟﻮد دارد. -2ﻗﺪﻳﻤﻲﺗﺮﻳﻦ ﺳﺎﺧﺘﺎر داده ﻳﻲ در ﺳﻄﺢ اﻧﺘﺰاﻋﻲ ﺑﺮاي ﻃﺮاﺣﻲ ﺑﺎﻧﻚ اﺳﺖ. -3در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي آﻧﻮﻣﺎﻟﻲ دارد. -4ﺑﺮاي ﭘﺎﺳﺨﮕﻮﺋﻲ ﺑﻪ ﭘﺮس و ﺟﻮﻫﺎي ﻗﺮﻳﻨﻪ روﻳﻪﻫﺎي ﭘﺎﺳﺨﮕﻮﻳﻲ ﻗﺮﻳﻨﻪ دارد. -18ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﺧﺼﻮﺻﻴﺎت ﻣﺪل ﺷﺒﻜﻪاي ﻧﺎدرﺳﺖ اﺳﺖ ؟ -1ﻋﻤﻠﮕﺮ ﺑﺎزﻳﺎﺑﻲ ﺧﺎﺻﻴﺖ ﺗﻘﺎرن دارد. -2در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي آﻧﻮﻣﺎﻟﻲ دارد. -3از ﻣﻔﻬﻮم رﻳﺎﺿﻲ ﻣﺠﻤﻮﻋﻪ ي ﻛﻮداﺳﻴﻠﻲ اﺳﺘﻔﺎده ﻣﻴﻜﻨﺪ. -4ﺑﺮاي ﻣﺤﻴﻂ ﻫﺎي داراي ارﺗﺒﺎط ﻳﻚ ﺑﻪ ﭼﻨﺪ دوﺳﻮﻳﻪ ﻣﺪل ﻣﻨﺎﺳﺒﻲ اﺳﺖ. -19دو ﻣﺮﺣﻠﻪ از ﻣﺮاﺣﻞ ﻃﺮاﺣﻲ ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺒﺎرﺗﻨﺪ از ﻃﺮاﺣﻲ ادراﻛﻲ Conceptual Designو ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲLogical Designاﻳﻦ دو ﭼﻪ ﺗﻔﺎوت اﺳﺎﺳﻲ ﺑﺎ ﻫﻢ دارﻧﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ -دوﻟﺘﻲ (75 -1ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﻣﺮﺑﻮط ﻣﻲﺷﻮد و ﭘﺲ از اﻧﺘﺨﺎب ﻣﺪل ﺻﻮرت ﻣﻲﮔﻴﺮد وﻟﻲ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﺑﺴﺘﮕﻲ ﻧﺪارد. -2ﻃﺮاﺣﻲ ادراﻛﻲ ﻣﻜﻤﻞ ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ اﺳﺖ و ﭘﺲ از آن اﻧﺠﺎم ﻣﻲﮔﻴﺮد. -3ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﺻﻮرت ﻛﻠﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﻣﻲﻧﮕﺮد و ﺑﺎ روﺷﻬﺎﻳﻲ ﻣﺎﻧﻨﺪ ER
اﻧﺠﺎم ﻣﻲﮔﻴﺮد. -4ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﻣﺮﺑﻮط ﻣﻲﺷﻮد و ﭘﺲ از اﻧﺘﺨﺎب ﻣﺪل ﺻﻮرت ﻣﻲﮔﻴﺮد وﻟﻲ ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﻪ ﻣﺪل ﺧﺎﺻﻲ ﺑﺴﺘﮕﻲ ﻧﺪارد. -20ﺟﻬﺖ ﭘﻴﺎده ﺳﺎزي ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻛﺪام ﻓﻌﺎﻟﻴﺖ در اوﻟﻮﻳﺖ ﻗﺮار دارد ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ -آزاد (80
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
267
-1ﻃﺮاﺣﻲ ﻣﺪل دادهﻫﺎ ﺑﻪ ﺻﻮرت ﻣﻨﻄﻘﻲ -2ﻃﺮاﺣﻲ ﻣﺪل دادهﻫﺎ ﺑﻪ ﺻﻮرت ﻓﻴﺰﻳﻜﻲ -3ﻃﺮاﺣﻲ ﻣﺪل دادهﻫﺎ ﺑﻪ ﺻﻮرت ﻓﻴﺰﻳﻜﻲ و ﻣﻨﻄﻘﻲ -4ﻫﻴﭽﻜﺪام -21ﭼﺮا ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ آﻧﻮﻣﺎﻟﻲ دارد ؟ -1ﭼﻮن در ﻫﻨﮕﺎم اﺻﻼًح ﻋﻤﻞ ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﺎﻳﺪ ﻣﻨﺘﺸﺮ ﺷﻮﻧﺪه ﺑﺎﺷﺪ. -2ﭼﻮن ﻫﻨﮕﺎم درج ﺑﺎﻳﺪ رﻛﻮرد ﭘﺪر را داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﺗﺎ ﺑﺘﻮاﻧﻴﻢ ﻓﺮزﻧﺪ را درج ﻛﻨﻴﻢ. -3ﭼﻮن در ﻋﻤﻞ ﺣﺬف ،ﻣﻤﻜﻦ اﺳﺖ اﻃﻼﻋﺎت ﻧﺎﺧﻮاﺳﺘﻪ دﻳﮕﺮي ﻧﻴﺰ ﺣﺬف ﮔﺮدد. -4ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ
ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 4 (2) -1 (4) -2ﻣﺪل ﺷﺒﻜﻪاي در ﻋﻤﻠﻴﺎت درج ،ﺣﺬف و ﺑﻬﻨﮕﺎم ﺳﺎزي آﻧﻮﻣﺎﻟﻴﻬﺎي ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ را ﻧﺪارد.اﻳﻦ ﻣﺪل از دﻳﺪ ﻛﺎرﺑﺮ واﺿﺢ ﻧﻴﺴﺖ .ﻣﺪل ﺷﺒﻜﻪاي ﺑﺮاي ﻧﻤﺎﻳﺶ ارﺗﺒﺎﻃﺎت دوﺳﻮﻳﻪ ﻣﻨﺎﺳﺐ ﻣﻲﺑﺎﺷﺪ. (3) -3 (2) -4ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﺸﺎﺑﻪ ﺷﻜﻞ ﻳﻚ درﺧﺖ ﻣﻲﺑﺎﺷﺪ. (4) -5ﻣﻔﺎﻫﻴﻢ ﻣﺠﻤﻮﻋﻪ در ﻣﺪل راﺑﻄﻪاي اﺳﺘﻔﺎده ﻣﻲﮔﺮدد. (2) -6 (4) -7ﻣﻤﻜﻦ اﺳﺖ وﺟﻮد ﻳﻚ ﭘﺪﻳﺪه واﺑﺴﺘﻪ ﺑﻪ وﺟﻮد ﭘﺪﻳﺪهاي دﻳﮕﺮ ﺑﺎﺷﺪ .ﻣﺜﻼ ﺑﻪ ﻣﺤﺾ ﺣﺬف داﻧﺸﺠﻮ از ﺑﺎﻧﻚ داﻧﺸﮕﺎه )ﺑﺮ اﺛﺮ ﻓﺎرغ اﻟﺘﺤﺼﻴﻠﻲ ﻳﺎ اﺧﺮاج ﺷﺪن( واﺑﺴﺘﮕﺎن اوﻧﻴﺰ )ﻣﺜﻞ ﻫﻤﺴﺮ و ﻓﺮزﻧﺪ(از ﺳﻴﺴﺘﻢ ﻛﻤﻚ ﻫﺰﻳﻨﻪ ﺑﺎﻳﺪ ﺣﺬف ﺷﻮﻧﺪ .دراﻳﻦ ﺣﺎل ﭘﺪﻳﺪه واﺑﺴﺘﻪ را ﻣﻮﺟﻮدﻳﺖ ﺿﻌﻴﻒ ) (weak entityﻣﻲﻧﺎﻣﻨﺪ. (2) -8
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
268ﭘﺎﻳﮕﺎه داده ﻫﺎ
(3) -9ﻣﻨﻈﻮر از آﻧﻮﻣﺎﻟﻲ ) (anomalyﻳﻌﻨﻲ وﺟﻮد دﺷﻮاري در اﻧﺠﺎم ﻳﻚ ﻋﻤﻞ ﺧﺎص و ﻳﺎ ﻋﺪم اﻣﻜﺎن اﻧﺠﺎم ﻋﻤﻞ و ﻳﺎ ﺑﺮوز ﻋﻮارض ﻧﺎﻣﻄﻠﻮب در ﭘﻲ اﻧﺠﺎم ﻋﻤﻞ. (2) -10ﻋﻤﻞ ﺑﺎزﻳﺎﺑﻲ در ﻣﺪل ﺷﺒﻜﻪاي ﭘﻴﭽﻴﺪه ﺗﺮ از ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﻣﻲﺑﺎﺷﺪ. (1) -11 (3) -12 (2) -13 (2) -14 (3) -15 (1) -16اﺻﻞ وﺣﺪت ﻋﻤﻠﮕﺮ در ﻣﺪل ﺷﺒﻜﻪاي رﻋﺎﻳﺖ ﻧﻤﻲﺷﻮد .ﻣﺜﻼ ﺑﺮاي درج از دو ﻋﻤﻠﮕﺮ connectو storeﻣﻲﺗﻮان اﺳﺘﻔﺎده ﻛﺮد store .ﺑﺮاي درج ﻧﻤﻮﻧﻪ رﻛﻮرد و connect
ﺑﺮاي ﺑﺮﻗﺮاري ﭘﻴﻮﻧﺪ ﺑﻴﻦ ﻧﻤﻮﻧﻪ رﻛﻮرد ﻣﻲﺑﺎﺷﺪ. (4) -17ﻣﺪل ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﺑﺮاي ﭘﺎﺳﺨﮕﻮﺋﻲ ﺑﻪ ﭘﺮس و ﺟﻮﻫﺎي ﻗﺮﻳﻨﻪ ،روﻳﻪﻫﺎي ﭘﺎﺳﺨﮕﻮﻳﻲ ﻗﺮﻳﻨﻪ ﻧﺪارد. (2) -18ﻣﺪل ﺷﺒﻜﻪاي در ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي آﻧﻮﻣﺎﻟﻲ ﻧﺪارد. (1) -19در ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﻣﺪل ﻣﻮرد اﺳﺘﻔﺎده )راﺑﻄﻪاي -ﺷﺒﻜﻪاي -ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ( ﻣﻬﻢ ﻧﻴﺴﺖ و ﺷﻤﺎي ﻛﻠﻲ ﻣﺜﻼ ﺑﺎ ﻧﻤﻮدار ERﺗﺮﺳﻴﻢ ﻣﻲﺷﻮد .اﻣﺎ ﻃﺮاﺣﻲ ادراﻛﻲ ﺑﺴﺘﮕﻲ ﺑﻪ ﻣﺪل ﻣﻮرد اﺳﺘﻔﺎده دارد. (1) -20 (4) -21
ﺗﺴﺖ ﻫﺎي ﺳﺮي 5 -1ﻛﻠﻴﺪ اﺻﻠﻲ ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ( 76 -
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
269
.1ﺑﺮاي ﻣﺮﺗﺐ ﺳﺎزي اﻃﻼﻋﺎت ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺘﻔﺎده ﻣﻲﺷﻮد. .2ﺗﺮﻛﻴﺒﻲ از اﺟﺰاي دادهاي اﺳﺖ ﻛﻪ ﻣﻬﻢ و ﻛﻠﻴﺪي ﻣﻲﺑﺎﺷﺪ. .3ﺟﺰء دادهاي اﺳﺖ ﻛﻪ ﻣﺤﻞ دﻗﻴﻖ رﻛﻮرد را ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ. .4ﻛﺎرﺑﺮان ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﻮﺳﻴﻠﻪ آن ﺑﺎ ﺑﺎﻧﻚ ارﺗﺒﺎط ﺑﺮﻗﺮار ﻣﻲﻛﻨﻨﺪ. -2ﻛﻠﻴﺪ اﺻﻠﻲ ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ( 77 - .1ﺟﺰء دادهاي اﺳﺖ ﻛﻪ ﻣﺤﻞ رﻛﻮرد ﻣﻮرد ﻧﻈﺮ ﻣﺎ را ﻣﺸﺨﺺ ﻣﻲﻛﻨﺪ. .2ﺗﺮﻛﻴﺒﻲ از ﭼﻨﺪ ﺟﺰء داده اﺳﺖ. .3ﺑﺎ آن ﻣﻲﺗﻮان اﻃﻼﻋﺎت را ﻣﺮﺗﺐ ﺳﺎزي و sortﻧﻤﻮد. .4راﺑﻄﻪاي اﺳﺖ ﺑﻴﻦ ﻛﺎرﺑﺮ و ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ. -3ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻔﺎﻫﻴﻢ ﻛﻠﻴﺪ در ﺳﻴﺴﺘﻢ ﻫﺎي راﺑﻄﻪاي ﻛﺪام ﮔﺰﻳﻨﻪ ﻣﺼﺪاق ﻧﺪارد ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(78 - .1ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻳﻜﻲ از ﻛﻠﻴﺪﻫﺎي اﺻﻠﻲ اﺳﺖ ﻛﻪ ﻃﺮاح آن را ﺑﻪ ﻋﻨﻮان ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺮ ﻣﻲﮔﺰﻳﻨﺪ. .2ﻛﻠﻴﺪ اﺻﻠﻲ ﻳﻜﻲ از ﻛﻠﻴﺪ ﻫﺎي ﻛﺎﻧﺪﻳﺪ اﺳﺖ ﻛﻪ ﻃﺮاح آن را ﺑﻪ ﻋﻨﻮان ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﺮ ﻣﻲﮔﺰﻳﻨﺪ. .3ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻫﺮ زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از ﻋﻨﺎﺻﺮ راﺑﻄﻪ اﺳﺖ ﻛﻪ ﻳﻜﺘﺎ ﺑﻮده و ﻛﻬﻴﻨﮕﻲ ﻳﺎاﻳﺠﺎز ) ( minimalityداﺷﺘﻪ ﺑﺎﺷﺪ. .4ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻛﻠﻴﺪي اﺳﺖ ﻛﻪ در راﺑﻄﻪ دﻳﮕﺮ ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﺎﺷﺪ. -4درﺟﻪ راﺑﻄﻪ در ﺑﺎﻧﻚ ﻣﺪل راﺑﻄﻪاي ﭼﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(78 - .1ﺑﻪ ﻣﻘﺎدﻳﺮ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ ﮔﻔﺘﻪ ﻣﻲﺷﻮد. .2ﺑﻪ ﻣﻴﺪان ﻣﻘﺎدﻳﺮ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ ﮔﻔﺘﻪ ﻣﻲﺷﻮد. .3ﺗﻌﺪاد ﺗﺎﭘﻠﻬﺎي راﺑﻄﻪ اﺳﺖ. .4ﺗﻌﺪاد ﺻﻔﺎت ﺧﺎﺻﻪ ﻣﻮﺟﻮدﻳﺖ اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
270ﭘﺎﻳﮕﺎه داده ﻫﺎ
-5ﻛﺪام ﮔﺰﻳﻨﻪ در ﺑﺎﻧﻚ راﺑﻄﻪاي ﺻﺤﻴﺢ ﻧﻴﺴﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ 79 -و ﻣﺸﺎﺑﻪ ﻣﺴﺎﺑﻘﺎت (80 .1ﺗﺎﭘﻠﻬﺎ ﻧﻈﻢ دارﻧﺪ. .2ﺗﺎﭘﻞ ﺗﻜﺮاري در راﺑﻄﻪ وﺟﻮد ﻧﺪارد. .3ﺻﻔﺎت ﺧﺎﺻﻪ ﻧﻈﻢ ﻧﺪارﻧﺪ. .4ﻫﻤﻪ ﺻﻔﺎت ﺧﺎﺻﻪ ﺗﺠﺰﻳﻪ ﻧﺎﭘﺬﻳﺮﻧﺪ. -6ﻛﺪام ﮔﺰﻳﻨﻪ ﺑﻪ ﻣﻔﻬﻮم )) ﻣﺠﻤﻮﻋﻪ ﻣﻘﺎدﻳﺮ ﻣﺠﺎز ﻳﻚ ﺻﻔﺖ (( ﻣﻲﺑﺎﺷﺪ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ(79 - Integrity .1 Persistent .2 Tuple .3 Domain .4 -7در راﺑﻄﻪ ﺑﺎ ﺟﺎﻣﻌﻴﺖ در ﻣﺪل راﺑﻄﻪاي ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1ﺟﺎﻣﻌﻴﺖ داﻣﻨﻪاي ﻳﻌﻨﻲ ﺗﻤﺎم ﺻﻔﺎت در ﺗﻤﺎﻣﻲراﺑﻄﻪﻫﺎ از ﻧﻮع داﻣﻨﻪ ﺧﻮد ﺑﺎﺷﻨﺪ. .2ﺟﺎﻣﻌﻴﺖ درون راﺑﻄﻪاي ﻳﻌﻨﻲ ﻫﺮ راﺑﻄﻪاي ارﺗﺒﺎﻃﺶ ﺑﺎ راﺑﻄﻪ دﻳﮕﺮ ﺻﺤﻴﺢ ﺑﺎﺷﺪ. .3ﺟﺎﻣﻌﻴﺖ داﻣﻨﻪاي ﻳﻌﻨﻲ ﻛﻠﻴﺪﻫﺎي داراي ﻣﻘﺪار ﺗﻬﻲ ) (NULLﻳﺎ ﺗﻜﺮاري ﻧﺒﺎﺷﻨﺪ. .4ﺟﺎﻣﻌﻴﺖ ارﺟﺎع ﻳﻌﻨﻲ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ درﺳﺖ ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﺪ. -8ﻛﺪام ﺗﻌﺮﻳﻒ در راﺑﻄﻪ ﺑﺎ ﻛﻠﻴﺪﻫﺎ ﻧﺎدرﺳﺖ اﺳﺖ ؟ Super key .1ﻳﻌﻨﻲ ﻫﺮ ﺗﺮﻛﻴﺒﻲ از ﺻﻔﺖ ﻫﺎ ﻛﻪ ﺧﺎﺻﻴﺖ ﻛﻠﻴﺪ داﺷﺘﻪ ﺑﺎﺷﻨﺪ وﻟﻲاﻳﻦ ﺗﺮﻛﻴﺐ ﺑﺎﻳﺪ ﻛﻤﻴﻨﻪ ) (minimalﺑﺎﺷﺪ. Primary key .2ﻳﻜﻲ از ﻛﻠﻴﺪ ﻫﺎي ﻛﺎﻧﺪﻳﺪ اﺳﺖ ﻛﻪ ﺗﻮﺳﻂ ﻣﺪﻳﺮ ﺑﺎﻧﻚ اﻧﺘﺨﺎب ﻣﻲﺷﻮد. Alternative key .3ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺑﻪ ﻏﻴﺮ از ﻛﻠﻴﺪ اﺻﻠﻲ ﻣﻲﺑﺎﺷﻨﺪ. Foreign key .4ﺻﻔﺘﻲ اﺳﺖ در ﻳﻚ راﺑﻄﻪ ﻛﻪ در راﺑﻄﻪ دﻳﮕﺮ ﻛﻠﻴﺪ اﺻﻠﻲ ﻳﺎ ﻓﺮﻋﻲ اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
271
-9اﻳﻦ ﺟﻤﻠﻪ ﺗﻌﺮﻳﻒ ﭼﻴﺴﺖ ؟ ))زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از ﺿﺮب دﻛﺎرﺗﻲ ﭼﻨﺪ داﻣﻨﻪ (( Domain .1 Relation .2 Tuple .3 Join .4 -10ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ در راﺑﻄﻪ ﺑﺎ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ اﺳﺖ. .2ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ﻣﻮﺟﻮدﻳﺘﻲ در راﺑﻄﻪ ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ اﺳﺖ. Super key .3ﻛﻠﻴﺪ اﺻﻠﻲ اﺳﺖ ﻛﻪ ﻳﻜﺘﺎﻳﻲ و minimalityدارد. .4ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻏﻴﺮ از ﻛﻠﻴﺪ اﺻﻠﻲ را Alternativeﻣﻲﮔﻮﻳﻨﺪ. -11راﺑﻄﻪ ﻋﺒﺎرت اﺳﺖ از: .1ﭘﻞ ارﺗﺒﺎﻃﻲ ﺑﺮاي ﻓﻴﻠﺪﻫﺎ .2ﻣﻔﻬﻮم رﻳﺎﺿﻲ ﻳﻚ ﺟﺪول .3ﺟﻤﻊ ﺷﺪن ﭼﻨﺪﻳﻦ ﺟﺪول در ﻳﻚ ﻗﺎﻟﺐ ﺑﺰرﮔﺘﺮ .4ﻫﻴﭽﻜﺪام -12ﻛﺪاﻣﻴﻚ از روﺷﻬﺎي زﻳﺮ ﺑﻬﺘﺮﻳﻦ راه ﺑﺮاي ﺣﺼﻮل اﻃﻤﻴﻨﺎن از آن اﺳﺖ ﻛﻪ ﻛﻠﻴﺪﻫﺎي اﺻﻠﻲ و ﺧﺎرﺟﻲ از ﻫﻤﺎﻫﻨﮕﻲ ﺑﺮﺧﻮردارﻧﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ -آزاد (80 .1از ﻃﺮﻳﻖ اﻋﻤﺎل ﭘﻴﺶ ﻓﺮﺿﻬﺎي )(default values .2از ﻃﺮﻳﻖ Referential Integrity .3از ﻃﺮﻳﻖ Entity .4ﻫﻴﭽﻜﺪام -13ﻛﺪام ﮔﺰﻳﻨﻪ درﺑﺎره راﺑﻄﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ راﺑﻄﻪ ﺗﻌﺪاد ﺻﻔﺎت ﺧﺎﺻﻪ راﺑﻄﻪ در ﻳﻚ ﻟﺤﻈﻪ از ﺣﻴﺎت آن اﺳﺖ. .2در راﺑﻄﻪ ﺗﺎﭘﻠﻬﺎ ﻧﻈﻢ ﻧﺪارﻧﺪ. .3ﻫﻤﻪ ﻣﻘﺎدﻳﺮ ﺻﻔﺎت ﺧﺎﺻﻪ در راﺑﻄﻪ ﺗﺠﺰﻳﻪ ﻧﺎﭘﺬﻳﺮ ) ( atomicﻣﻲﺑﺎﺷﻨﺪ. .4راﺑﻄﻪ از دو ﻣﺠﻤﻮﻋﻪ Headingو bodyﺗﺸﻜﻴﻞ ﻳﺎﻓﺘﻪ اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
272ﭘﺎﻳﮕﺎه داده ﻫﺎ
-14ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﭼﻴﺴﺖ ؟ .1اﻣﻜﺎن ﭘﻴﻮﻧﺪ دادن راﺑﻄﻪﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ را ﻣﻲدﻫﺪ. .2اﻣﻜﺎن رﺟﻮع از راﺑﻄﻪاي ﺑﻪ راﺑﻄﻪ دﻳﮕﺮ را ﻣﻲدﻫﺪ. .3اﻣﻜﺎن ﺧﺎرج ﺷﺪن از راﺑﻄﻪاي را ﻣﻲدﻫﺪ. 2 .4و1 -15ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1ﺳﻴﺴﺘﻢ راﺑﻄﻪاي داراي ﺳﺎﺧﺘﺎر ﻣﻨﻄﻘﻲ اﺳﺖ. .2ﺟﺪول ﻣﺸﺘﻖ ) (drived tableراﺑﻄﻪاي اﺳﺖ ﻛﻪ از ﺟﺪول دﻳﮕﺮ اﺧﺬ ﮔﺮدﻳﺪه اﺳﺖ. .3در راﺑﻄﻪ ﻫﻤﻪ ﻣﻘﺎدﻳﺮ ﺻﻔﺎت ﺧﺎﺻﻪ ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪ ﻣﻲﺑﺎﺷﻨﺪ. .4ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ راﺑﻄﻪاي ﺑﻪ ﻋﻨﻮان ﻣﺠﻤﻮﻋﻪاي از رواﺑﻂ و ﺟﺪوﻟﻬﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد. -16ﭼﻪ راﺑﻄﻪاي ﺑﻴﻦ ﻛﻠﻴﺪ ﻫﺎي اﺻﻠﻲ و ﺧﺎرﺟﻲ در ﻳﻚ ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ ﺑﺎﻳﺪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ -آزاد (80 .1در زﻣﺎﻧﻲ ﻛﻪ راﺑﻄﻪاي ﺑﻴﻦ دو ﺟﺪول ﺑﻪ وﺟﻮد ﻣﻲآﻳﺪ ،ﺟﺪول ﭘﺪر دراﻳﻦ ارﺗﺒﺎط ﺑﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺴﺘﮕﻲ دارد و ﺟﺪول ﻓﺮزﻧﺪ ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﺴﺘﮕﻲ ﺧﻮاﻫﺪ داﺷﺖ. .2در زﻣﺎﻧﻲ ﻛﻪ راﺑﻄﻪاي ﺑﻴﻦ دو ﺟﺪول ﺑﻪ وﺟﻮد ﻣﻲآﻳﺪ ،ﺟﺪول ﭘﺪر دراﻳﻦ ارﺗﺒﺎط ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﺴﺘﮕﻲ دارد و ﺟﺪول ﻓﺮزﻧﺪ ﺑﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺴﺘﮕﻲ ﺧﻮاﻫﺪ داﺷﺖ. .3ﺳﺘﻮن دادهﻫﺎي ﻛﻠﻴﺪ اﺻﻠﻲ در ﺟﺪول ﺷﺎﻣﻞ ﺳﺘﻮن ﻛﻠﻴﺪﻫﺎي ﺧﺎرﺟﻲ ﻣﻲﺑﺎﺷﺪ. .4ﻫﻴﭻ راﺑﻄﻪاي ﺑﻴﻦ ﻛﻠﻴﺪ اﺻﻠﻲ و ﺧﺎرﺟﻲ وﺟﻮد ﻧﺪارد. -17ﻛﺪاﻣﻴﻚ از اﻗﻼم زﻳﺮ ﺑﻬﺘﺮﻳﻦ ﺗﻌﺮﻳﻒ ﺑﻪ ﻋﻨﻮان ﻳﻚ ﺷﺨﺺ ،ﻣﻜﺎن ﭼﻴﺰ ﻳﺎ ﻣﻔﻬﻮم از دادهﻫﺎي ﺟﻤﻊ آوري ﺷﺪهاﻧﺪ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ -آزاد (80
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
273
.1ﻳﻚ راﺑﻄﻪ .2ﻳﻚ ﻛﻠﻴﺪ اﺻﻠﻲ .3ﻳﻚ ﺟﺪول .4ﻳﻚ ﻓﻴﻠﺪ -18ﺟﻬﺖ ﭘﻴﺎده ﺳﺎزي ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻛﺪام ﻓﻌﺎﻟﻴﺖ در اوﻟﻮﻳﺖ ﻗﺮار دارد ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ -آزاد (80 .1ﻃﺮاﺣﻲ ﻣﺪل دادهﻫﺎ ﻣﻨﻄﻘﻲ .2ﻃﺮاﺣﻲ ﻣﺪل دادهﻫﺎ ﻓﻴﺰﻳﻜﻲ .3ﻃﺮاﺣﻲ ﻣﺪل دادهﻫﺎ ﺑﻪ ﺻﻮرت ﻓﻴﺰﻳﻜﻲ و ﻣﻨﻄﻘﻲ .4ﻫﻴﭽﻜﺪام -19ﻛﺪاﻣﻴﻚ از ﺟﻤﻼت زﻳﺮ ﻣﺰﻳﺖ و ﺑﺮﺗﺮي ﻳﻚ ﺳﺘﻮن ﻏﻴﺮ ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪ در ﻳﻚ ﻃﺮاﺣﻲ ﻧﻴﺴﺖ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ -آزاد (80 .1ﺑﻬﺘﺮ ﻣﻲﺗﻮان راﺑﻄﻪ ﻛﻠﻴﺪﻫﺎي اﺻﻠﻲ و ﺧﺎرﺟﻲ را در آﻧﻬﺎ ﻧﮕﻬﺪاري ﻧﻤﻮد. .2ﺑﻬﺘﺮ ﻣﻲﺗﻮان از ﻳﻚ ﺳﺘﻮن Queryﻳﺎ ﺳﻮال ﻧﻤﻮد. .3ﺑﻬﺘﺮ ﻣﻲﺗﻮان ﺻﺤﺖ اﻃﻼﻋﺎت ) ( integrityرا ﺑﺪﺳﺖ آورد. .4ﺑﻬﺘﺮ ﻣﻲﺗﻮان ﺳﺘﻮن ﻫﺎ را ﺑﻪ روز آورد. -20در اﻏﻠﺐ ﻧﺮماﻓﺰارﻫﺎي ﭘﺎﻳﮕﺎهدادهﻫﺎ ﭼﻪ ﭼﻴﺰي ﺑﺮاي ذﺧﻴﺮه ﺳﺎزي اﻃﻼﻋﺎت ﻳﻚ Entityﻳﺎ ﻣﻮﺟﻮدﻳﺖ ﺑﻪ ﻛﺎر ﻣﻲرود ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ -آزاد ( 80 .1ﻛﻠﻴﺪ اﺻﻠﻲ .2ﻓﻴﻠﺪ .3ﺟﺪول .4ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
274ﭘﺎﻳﮕﺎه داده ﻫﺎ
-21زﻣﺎﻧﻲ ﻛﻪ در ﺣﺎل ﻣﻄﺎﻟﻌﻪ ﻣﺠﻤﻮﻋﻪاي از ﻧﻴﺎزﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ در ﺣﺎل ﻃﺮاﺣﻲ ﻫﺴﺘﻴﻢ ﺑﻬﺘﺮﻳﻦ روش ﺑﺮاي ﻣﺸﺨﺺ ﻧﻤﻮدن ﻣﻮﺟﻮدﻳﺖ ) ( Entityﻫﺎ ﻛﺪام اﺳﺖ ؟ )ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ -آزاد ( 80 .1ﺑﻪ دﻧﺒﺎل اﻓﻌﺎل ﺟﻤﻼت ﺑﺎﺷﻴﻢ و از آﻧﻬﺎ ﺑﺮاي ﺗﻌﺮﻳﻒ Entityاﺳﺘﻔﺎده ﻛﻨﻴﻢ. .2ﺑﻪ دﻧﺒﺎل اﺳﺎﻣﻲو ﻧﺎﻣﻬﺎي ﻣﺨﺘﻠﻒ ﺑﺎﺷﻴﻢ و از آﻧﻬﺎ ﺑﺮاي ﺗﻌﺮﻳﻒ Entityﻫﺎ اﺳﺘﻔﺎده ﻛﻨﻴﻢ. .3ﺑﻪ دﻧﺒﺎل ﺻﻔﺖ ﻫﺎ در ﺟﻤﻼت ﺑﺎﺷﻴﻢ و از آﻧﻬﺎ ﺑﺮاي ﺗﻌﺮﻳﻒ Entityﻫﺎ اﺳﺘﻔﺎده ﻛﻨﻴﻢ. .4ﻫﻤﻪ اﻗﻼم ﻓﻮق درﺳﺖ اﺳﺖ. -22ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1ﻳﻚ DBMSﻛﺎﻣﻼ راﺑﻄﻪاي )( Fully relationalاﺳﺖ اﮔﺮ ﺳﺎﺧﺘﺎر آن ﺟﺪوﻟﻲ ) (tabolarﺑﻮده و ﻣﺤﺪودﻳﺘﻬﺎي ﺟﺎﻣﻌﻴﺘﻲ را رﻋﺎﻳﺖ ﻛﻨﺪ. .2در ﻳﻚ راﺑﻄﻪ ﻳﻚ ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪ ،ﻫﻴﭻ ارﺗﺒﺎﻃﻲ ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ ﻧﺪارد. .3ﻣﻨﺤﺼﺮ ﺑﻪ ﻓﺮد ﺑﻮدن و ﻏﻴﺮ ﻗﺎﺑﻞ ﻛﺎﻫﺸﻲ از وﻳﮋﮔﻴﻬﺎي ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ. .4اﺧﺘﺼﺎص ﻳﻚ ﻛﻠﻴﺪ ﻧﺸﺎﻧﮕﺮ ﻳﻚ ﻋﺎﻣﻞ ﻣﺤﺪود ﻛﻨﻨﺪه در ﺟﻬﺎن واﻗﻌﻲ ﭘﺎﻳﮕﺎهداده اﺳﺖ. -23ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1راﺑﻄﻪ داراي ﻳﻚ ﻋﻨﻮان و ﻳﻚ ﺑﺪﻧﻪ اﺳﺖ. .2راﺑﻄﻪ داراي ﻣﺠﻤﻮﻋﻪاي از ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ اﺳﺖ. .3در ﻣﻮرد ﻣﺘﻐﻴﺮﻫﺎي راﺑﻄﻪاي ﭘﺎﻳﻪ )( Base Relationalدﻗﻴﻘﺎ ﻳﻜﻲ از ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺑﺎﻳﺪ ﺑﻪ ﻋﻨﻮان ﻛﻠﻴﺪ اﺻﻠﻲ اﻧﺘﺨﺎب ﺷﻮد. .4راﺑﻄﻪ ﭘﺎﻳﻪاي ﺑﺮ ﺣﺴﺐ رواﺑﻂ ﭘﺎﻳﻪاي دﻳﮕﺮ ﻣﺤﺎﺳﺒﻪ ﻣﻲﺷﻮد. -24ﻫﻨﮕﺎم ﺗﻌﺮﻳﻒ ﻳﻚ راﺑﻄﻪ ﭘﺎﻳﻪ ) ( Base relationﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟ .1ﺣﺪاﻗﻞ ﻳﻚ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ وﺟﻮد دارد.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
.2ﻣﻲﺗﻮاﻧﺪ ﻛﻠﻴﺪ اﺻﻠﻲ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ. .3ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ وﺟﻮد ﻧﺪارد. .4ﺑﺎﻳﺪ ﺣﺘﻤﺎ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ. -25دو راﺑﻄﻪ ﺑﻪ ﺷﺮﻃﻲ ﺳﺎزﮔﺎرﻧﺪ ﻛﻪ.... .1داراي ﻣﺠﻤﻮﻋﻪاي از اﺳﺎﻣﻲو ﺻﻔﺎت ﻳﻜﺴﺎن ﺑﺎﺷﻨﺪ. .2ﺻﻔﺎت ﺧﺎﺻﻪ ﻣﺘﻨﺎﻇﺮﺷﺎن ﺑﺮ روي داﻣﻨﻪ ﻳﻜﺴﺎﻧﻲ ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﻨﺪ. .3ﺗﻌﺪاد ﺳﻄﺮ و ﺳﺘﻮﻧﻬﺎي ﻳﻜﺴﺎﻧﻲ داﺷﺘﻪ ﺑﺎﺷﻨﺪ. 2 .4و1 -26ﻛﻠﻴﺪ ﺧﺎرﺟﻲ.... .1در ﻳﻚ راﺑﻄﻪ ﻓﻴﻠﺪ ﻣﻌﻤﻮﻟﻲ و در راﺑﻄﻪ دﻳﮕﺮ ﻛﻠﻴﺪ اﺻﻠﻲ اﺳﺖ. .2ﻓﻴﻠﺪي ﻣﺸﺘﺮك ﺑﻴﻦ دو ﻳﺎ ﭼﻨﺪ راﺑﻄﻪ ﻛﻪ در ﭘﻴﻮﻧﺪ راﺑﻄﻪ اﺳﺘﻔﺎده ﻣﻲﮔﺮدد. 2 .3و1 .4ﻫﻤﺎن ﻛﻠﻴﺪ ﻓﺮﻋﻲ اﺳﺖ. -27ﻛﻠﻴﺪ ﺟﺪول زﻳﺮ ﻛﺪام اﺳﺖ ؟ (A,C) .1 (B) .2 ( A) . 3 (B,C) .4 -28ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1راﺑﻄﻪ زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از ﺿﺮب ﻛﺎرﺗﺰﻳﻦ ﭼﻨﺪ داﻣﻨﻪ اﺳﺖ. .2داﻣﻨﻪﻫﺎي راﺑﻄﻪ ﻟﺰوﻣﺎ ﻣﺘﻤﺎﻳﺰ ﻧﻤﻲﺑﺎﺷﻨﺪ. .3در ﻃﻮل ﺣﻴﺎت ﺟﺪول Extention ،ﺛﺎﺑﺖ و Interntionﻣﺘﻐﻴﺮ اﺳﺖ. .4راﺑﻄﻪ از Headingو Bodyﺗﺸﻜﻴﻞ ﻳﺎﻓﺘﻪ اﺳﺖ.
Ramin.Samad@yahoo.com
275
WWW.IRANMEET.COM
276ﭘﺎﻳﮕﺎه داده ﻫﺎ
)) -29ﺗﻤﺎم اﻃﻼﻋﺎت ﻣﻮﺟﻮد در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻓﻘﻂ ﺑﻪ ﻳﻚ روش ﻧﻤﺎﻳﺶ داده ﻣﻲﺷﻮﻧﺪ ،ﻳﻌﻨﻲ ﺑﻪ ﺻﻮرت ﻣﻘﺎدﻳﺮي در ﻣﻮﻗﻌﻴﺘﻬﺎي ﺳﺘﻮﻧﻲ از ﺳﻄﺮﻫﺎي ﺟﺪول ((.اﻳﻦ ﺟﻤﻠﻪ ﻛﺪام ﻗﺎﻋﺪه اﺳﺖ ؟ .1ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ .2ﻗﺎﻋﺪه اﻃﻼﻋﺎت .3ﻗﺎﻋﺪه درون راﺑﻄﻪاي .4ﻗﺎﻋﺪه ﺑﺮون راﺑﻄﻪاي ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 5 (3) -1 (1) -2 (1) -3ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻠﻴﺪ اﺻﻠﻲ ﻳﻜﻲ از ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ اﺳﺖ ﻧﻪاﻳﻨﻜﻪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻳﻜﻲ از ﻛﻠﻴﺪﻫﺎي اﺻﻠﻲ ﺑﺎﺷﺪ. (4) -4 (1) -5ﺗﺮﺗﻴﺐ ﺗﺎﭘﻠﻬﺎ )رﻛﻮردﻫﺎ( در ﺟﺪول ﻣﻬﻢ ﻧﻴﺴﺖ. (4) -6 (2) -7ﺟﺎﻣﻌﻴﺖ درون راﺑﻄﻪاي ﻳﻌﻨﻲ ﻫﺮ راﺑﻄﻪاي ﺑﻪ ﺗﻨﻬﺎﻳﻲ ﺻﺤﻴﺢ ﻣﻲﺑﺎﺷﺪ .ﻣﺜﻼ ﻋﻀﻮ ﺗﻜﺮاري ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ و ﻛﻠﻴﺪﻫﺎﻳﺶ درﺳﺖ ﺑﺎﺷﻨﺪ .ﺟﺎﻣﻌﻴﺖ داﻣﻨﻪاي ﻫﺮ دو ﮔﺰﻳﻨﻪ 1و 3را در ﺑﺮ ﻣﻲﮔﻴﺮد. Super key (1) -8ﻫﺮ ﺗﺮﻛﻴﺒﻲ از ﺻﻔﺘﻬﺎﺳﺖ ﻛﻪ ﺧﺎﺻﻴﺖ ﻛﻠﻴﺪ داﺷﺘﻪ ﺑﺎﺷﺪ.اﻳﻦ ﺗﻨﻬﺎ ﻧﻮع ﻛﻠﻴﺪ اﺳﺖ ﻛﻪ ﻛﻤﻴﻨﻪ ﻧﻴﺴﺖ ﻳﻌﻨﻲ زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از آن ﻫﻢ ﻣﻤﻜﻦ اﺳﺖ ﻛﻠﻴﺪ ﺑﺎﺷﺪ. (2) -9
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
277
(3) -10اﺑﺮ ﻛﻠﻴﺪ ﻳﺎ Super keyﺑﻪ ﻫﺮ ﻛﻠﻴﺪي ﮔﻔﺘﻪ ﻣﻲﺷﻮد ﻛﻪ ﺗﻨﻬﺎ وﻳﮋﮔﻲ ﻳﻜﺘﺎﻳﻲ را داﺷﺘﻪ ﺑﺎﺷﺪ .ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺣﺎﻟﺖ ﺧﺎﺻﻲ از اﺑﺮ ﻛﻠﻴﺪ و ﻫﻤﭽﻨﻴﻦ ﻛﻠﻴﺪ اﺻﻠﻲ ﺣﺎﻟﺖ ﺧﺎﺻﻲ از ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ. (2) -11 ) (2) -12ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺖ ارﺟﺎﻋﻲ = ( Referential Integrity rule (1) -13ﺗﻌﺪاد ﺗﺎﭘﻠﻬﺎي راﺑﻄﻪ در ﻳﻚ ﻟﺤﻈﻪ از ﺣﻴﺎت آن ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ راﺑﻄﻪ ﻧﺎم دارد. (4) -14 (3) -15در راﺑﻄﻪ ﺻﻔﺎت ﺧﺎﺻﻪ ﻏﻴﺮ ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪ ﻫﺴﺘﻨﺪ. (2) -16 (4) -17ﺻﻮرت ﺗﺴﺖ در واﻗﻊ ﺗﻌﺮﻳﻒ ﻣﻮﺟﻮدﻳﺖ اﺳﺖ و ﻫﺮ ﻣﻮﺟﻮدﻳﺖ را ﻣﻲﺗﻮان ﺑﺎ ﻳﻚ ﺟﺪول )ﻛﻪ ﻫﻤﺎن راﺑﻄﻪ اﺳﺖ (ﻧﺸﺎن داده وﻟﻲ ﭼﻮن راﺑﻄﻪ ﻫﻤﺎن ﺟﺪول اﺳﺖ ﭘﺲ اﺣﺘﻤﺎﻻ ﻣﻨﻈﻮر ﻃﺮاح ﮔﺰﻳﻨﻪ 4ﺑﻮده اﺳﺖ. (1) -18 (1) -19ﺑﺪﻳﻬﻲ اﺳﺖ ﻫﻨﮕﺎﻣﻲﻛﻪ ﺳﺘﻮن ﻣﺮﻛﺒﻲ داﺷﺘﻪ ﺑﺎﺷﻴﻢ .ﻣﺜﻞ ﺳﺘﻮن آدرس ﻛﻪ از ﺳﺘﻮن ﻫﺎي ﺷﻬﺮ -ﺧﻴﺎﺑﺎن -ﻛﻮﭼﻪ و ﭘﻼك ﺗﺸﻜﻴﻞ ﺷﺪه ﺑﺎﺷﺪ ﺑﻪ روز در آوردن ﺳﺘﻮﻧﻬﺎي آن ﻣﺸﻜﻠﺘﺮ از وﻗﺘﻲ اﺳﺖ ﻛﻪ ﺳﺘﻮﻧﻬﺎ ﺳﺎده و ﻏﻴﺮ ﻣﺮﻛﺐ ﺑﺎﺷﻨﺪ. (3) -20ﻣﻮﺟﻮدﻳﺖ ﻓﺮد ﻳﺎ ﺷﻴﺊ ﻳﺎ ﭼﻴﺰي اﺳﺖ ﻛﻪ در ﻣﻮرد آن ﻣﻲﺧﻮاﻫﻴﻢ اﻃﻼﻋﺎﺗﻲ داﺷﺘﻪ ﺑﺎﺷﻴﻢ ،اﻃﻼﻋﺎت ﻫﺮ ﻣﻮﺟﻮدﻳﺖ را ﻣﻲﺗﻮان در ﻳﻚ ﺟﺪول ﺧﺎﺻﻲ ذﺧﻴﺮه ﻛﺮد. (2) -21ﻣﺜﻼ در ﺟﻤﻠﻪ )) داﻧﺸﺠﻮي ﻣﺸﺮوﻃﻲ داراي ﻣﻌﺪل ﻛﻤﺘﺮ از 12ﻣﻲﺑﺎﺷﺪ (( داﻧﺸﺠﻮ ﻣﻮﺟﻮدﻳﺖ اﺳﺖ و ﺑﺮاي آن ﺑﺎﻳﺪ ﻳﻚ ﺟﺪول داﺷﺘﻪ ﺑﺎﺳﻴﻢ ﻛﻪ ﻣﻌﺪل ﻳﻜﻲ از ﻓﻴﻠﺪﻫﺎي آن ﺑﺎﺷﺪ .ﻣﺸﺮوط ﺑﻮدن داﻧﺸﺠﻮ ﻧﻴﺰ ﻳﻚ ﻓﻴﻠﺪ آن ﺟﺪول اﺳﺖ. (2) -22ﻳﻚ ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪي ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ ارﺗﺒﺎط دارد. (4) -23راﺑﻄﻪ ﭘﺎﻳﻪاي ﺑﺮ ﺣﺴﺐ رواﺑﻂ ﭘﺎﻳﻪاي دﻳﮕﺮ ﻣﺤﺎﺳﺒﻪ ﻧﻤﻲﺷﻮد. (1) -24
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
278ﭘﺎﻳﮕﺎه داده ﻫﺎ
(4) -25 (3) -26 (1) -27ﻛﻠﻴﺪ ﺑﺎﻳﺪ ﻳﻜﺘﺎ ﺑﺎﺷﺪ .زﻳﺮ ﺳﺘﻮن Bدو ﺗﺎ Kوﺟﻮد دارد .زﻳﺮ ﺳﺘﻮن Aدو ﺗﺎ t وﺟﻮد دارد .زﻳﺮ ﺟﻔﺖ ﺳﺘﻮن )( B,Cدو ﺗﺎ ) (K,Sوﺟﻮد دارد. (3) -28ﺑﻪ ﺑﺴﻂ ﻳﻚ ﺟﺪول در ﻫﺮ ﻟﺤﻈﻪ Extentionو ﺑﻪ ﻧﺎم و ﻣﺠﻤﻮﻋﻪ ﺻﻔﺎت راﺑﻄﻪ ﭼﻜﻴﺪه راﺑﻄﻪ ﻳﺎ Intentionﮔﻔﺘﻪ ﻣﻲﺷﻮد ﻳﻌﻨﻲ اﺳﻢ ﺟﺪول ﺑﻪ ﻫﻤﺮاه heading ﺑﺮاﺑﺮ intentionاﺳﺖ .در ﻃﻮل ﺣﻴﺎت ﻳﻚ ﺟﺪول Extextionﻣﺘﻐﻴﺮ وﻟﻲ Intentionﺛﺎﺑﺖ اﺳﺖ. (2) -29
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
279
ﺗﺴﺖ ﻫﺎي ﺳﺮي 6 -1ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ دو ﺟﺪول زﻳﺮ ﭼﻨﺪ ﺳﻄﺮ و ﭼﻨﺪ ﺳﺘﻮن دارد ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ( 79 - s
sp ﺗﻌﺪاد Qty
P#
S#
city
sname
S#
300
P1
S1
ﺗﻬﺮان
ﻓﻦ آوران
S1
200
P2
S1
ﺗﺒﺮﻳﺰ
اﻳﺮان ﻗﻄﻌﻪ
S2
400
P3
S1
ﺗﺒﺮﻳﺰ
ﭘﻮﻻدﻳﻦ
S3
300
P1
S2
400
P2
S2
200
P2
S3
18 .1ﺳﻄﺮ و 6ﺳﺘﻮن 18 .2ﺳﻄﺮ و 9ﺳﺘﻮن 9 .3ﺳﻄﺮ و 6ﺳﺘﻮن 6 .4ﺳﻄﺮ و 5ﺳﺘﻮن -2ﻋﺒﺎرت A JOIN Bرا در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ .اﮔﺮ ﺗﻤﺎم ﺻﻔﺎت ﺧﺎﺻﻪ Aو Bﻳﻜﺴﺎن ﺑﺎﺷﻨﺪ ﻋﺒﺎرت ﻓﻮق ﻣﻌﺎدل ﻛﺪام ﻋﺒﺎرت زﻳﺮ اﺳﺖ ؟ )ﻣﺴﺎﺑﻘﺎت آﻣﻮزﺷﻜﺪهﻫﺎي ﻓﻨﻲ( 79 - .1 .2 .3 .4
A UNION B A MINUS B A INTERSECT B A TIMES B
-3دو ﺟﺪول زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ﺳﭙﺲ ﺑﮕﻮﺋﻴﺪ در ﻧﺘﻴﺠﻪ اﻟﺤﺎق آﻧﻬﺎ ﺗﻮﺳﻂ دﺳﺘﻮر داده ﺷﺪه ،ﻛﻠﻴﺪ اﺻﻠﻲ ﭼﻪ ﻣﻲﺷﻮد ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
280ﭘﺎﻳﮕﺎه داده ﻫﺎ DEPT
EMP SALARY
DEPT#
ENAME
EMP#
BUDGET
DNAME
DEPT #
40K
D1
Lopez
E1
10M
Marketing
D1
42K
D1
Cheng
E2
12M
30K
D2
Finzi
E3
5M
Developme nt Research
D2
35K
D2
Saito
E4
D3
Join: DEPT and EMP over DEPT# DEPT# .1 EMP# .2 BUDGET .3 EMP# , DEPT# .4 -4در ﺟﺪول EMPدر ﺗﺴﺖ ﻗﺒﻠﻲ ،ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻛﺪام اﺳﺖ ؟ .1 .2 .3
EMP# SALARY DEPT#
.4ﻫﻴﭽﻜﺪام .ﭼﻮن D1و D2ﺗﻜﺮار ﺷﺪهاﻧﺪ DEPT# ،ﻧﻤﻲﺗﻮاﻧﺪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﺑﺎﺷﺪ. -5ﺗﻘﺎﺿﺎي زﻳﺮ در ﻣﻮرد ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﭼﻪ ﻛﺎري اﻧﺠﺎم ﻣﻲدﻫﺪ؟ ;}Result: = (( S join SP) where P# ' p2' ) { S# , city
.1ﺷﻬﺮ ﻋﺮﺿﻪ ﻛﻨﻨﺪهاي را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﻪ p2را ﺳﺎﺧﺘﻪ اﺳﺖ. .2ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪه و ﺷﻬﺮ ﻋﺮﺿﻪ ﻛﻨﻨﺪهاي را ﻛﻪ ﻗﻄﻌﻪ p2را ﺗﻮﻟﻴﺪ ﻣﻲﻛﻨﺪ، ﺑﺎزﻳﺎﺑﻲ ﻣﻲﻛﻨﺪ. .3ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪهاي را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﻪ p2در ﻫﻤﺎن ﺷﻬﺮ آن ﺗﻮﻟﻴﺪ ﺷﺪه اﺳﺖ. .4ﻫﻴﭽﻜﺪام
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
ﺗﺬﻛﺮ :ﺳﻪ ﺟﺪول ﺗﻬﻴﻪ ﻛﻨﻨﺪه
)S (S# , Sname , City
281
و ﻗﻄﻌﻪ
) P (P# , Pname , Color , Cityو ﻣﺤﻤﻮﻟﻪ ) SP ( S# , P# , Qtyرا در ﻧﻈﺮ ﮔﺮﻓﺘﻪ و ﺑﻪ 4ﺳﻮال زﻳﺮ ﭘﺎﺳﺦ دﻫﻴﺪ. -6ﻛﺪام ﮔﺰﻳﻨﻪ ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﺗﻮﻟﻴﺪي آﻧﻬﺎ را ﭼﺎپ ﻣﻲﻛﻨﺪ ﺑﻪ ﺷﺮط آﻧﻜﻪ ﻗﻄﻌﻪ ﺗﻮﻟﻴﺪي آﻧﻬﺎ ﺑﻴﺸﺘﺮ از 200ﻋﺪد ﺑﺎﺷﺪ ؟ .1
))Π s#, p# ( σ Qty >200 (SP
.2
))Π s#, p# ( σ Qty >200 (S∞ P
.3
))σ Qty >200 (Π s#, p# (SP
1,3 .4 -7در راﺑﻄﻪ ﺑﺎ دو دﺳﺘﻮر زﻳﺮ ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟ ))) Π s# , p# ( σ Qty >200 ( SPب
و ) ) σ p# = p1 (S∞ SPاﻟﻒ
.1اﻳﻦ دو دﺳﺘﻮر دﻗﻴﻘﺎ ﻣﻌﺎدل ﻳﻜﺪﻳﮕﺮﻧﺪ و ﻫﻴﭻ ارﺟﺤﻴﺘﻲ ﻧﺴﺒﺖ ﺑﻪ ﻫﻢ ﻧﺪارﻧﺪ. .2اﻳﻦ دو دﺳﺘﻮر ﻣﻌﺎدل ﻧﻴﺴﺘﻨﺪ. .3اﻳﻦ دو دﺳﺘﻮر ﻣﻌﺎدﻟﻨﺪ وﻟﻲ ب ﻛﺎراﺗﺮ و ﺑﻬﻴﻨﻪ ﺗﺮ از اﻟﻒ اﺳﺖ. .4اﻳﻦ دو دﺳﺘﻮر ﻣﻌﺎدﻟﻨﺪ وﻟﻲ اﻟﻒ ﻛﺎراﺗﺮ و ﺑﻬﻴﻨﻪ ﺗﺮ از ب اﺳﺖ. -8ﻛﺪام ﮔﺰﻳﻨﻪ اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن ﻗﻄﻌﻪ p2را ﻣﻲدﻫﺪ ؟ .1
))Π sname ( σp# = p2 (S∞ P
.2
))Π sname ( σp# = p2 (S∞ SP
.3
))σp# = p2 (Π sname (P∞ SP
.4
))σp# = p2 (Π sname (P∞ S
-9دﺳﺘﻮر زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟ )Π sname ( Π s# ((Π p# ( σ color = ' red' ( P )) ∞ SP ) ∞ S
.1ﺷﻤﺎره اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﺎت ﻗﺮﻣﺰ رﻧﮓ را ﺗﻮﻟﻴﺪ ﻛﺮدهاﻧﺪ. .2ﺷﻤﺎره و اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺷﻤﺎره ﻗﻄﻌﻪ آﻧﻬﺎ ﻣﻮﺟﻮد ﺑﻮده و رﻧﮓ آﻧﻬﺎ ﻗﺮﻣﺰ ﻣﻲﺑﺎﺷﺪ. .3اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻳﻚ ﻗﻄﻌﻪ ﻗﺮﻣﺰ رﻧﮓ ﺗﻬﻴﻪ ﻣﻲﻛﻨﻨﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
282ﭘﺎﻳﮕﺎه داده ﻫﺎ
.4اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲﻳﺎﺑﺪ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﻗﻄﻌﻪ ﻗﺮﻣﺰ رﻧﮓ ﺗﻬﻴﻪ ﻣﻲﻛﻨﻨﺪ. -10ﻛﺪام ﻋﻤﻠﮕﺮ ﻫﺎ را ﻣﻲﺗﻮان ﺑﻮﺳﻴﻠﻪ ﻋﻤﻠﮕﺮ ﻫﺎي دﻳﮕﺮ در ﺟﺒﺮ راﺑﻄﻪاي ﺷﺒﻴﻪ ﺳﺎزي ﻛﺮد؟ .1ﺗﻘﺴﻴﻢ -اﺟﺘﻤﺎع -ﭘﻴﻮﻧﺪ .2اﺷﺘﺮاك -ﺿﺮب دﻛﺎرﺗﻲ -ﺟﺎﻳﮕﺰﻳﻨﻲ .3اﺷﺘﺮاك -ﺗﻘﺴﻴﻢ -ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ .4ﺿﺮب دﻛﺎرﺗﻲ -ﺗﻘﺴﻴﻢ -اﺟﺘﻤﺎع -11ﻛﺪام ﻓﺮﻣﻮل در ﺟﺒﺮ راﺑﻄﻪاي ﻧﺎدرﺳﺖ اﺳﺖ ؟ ) σﻧﻤﺎد ﻋﻤﻠﮕﺮ ﮔﺰﻳﻨﺶ ﻳﺎ select
ﻣﻲﺑﺎﺷﺪ( .1 .2
A×B = B ×A )σ p( A ∩ B ) = σ p (A) ∩ σ p (B
.3
)A ∩ B = B -( B-A
.4
)σ p( B-A ) = σ p (b) -σ p (a
-12اﮔﺮ Aو Bدو راﺑﻄﻪ ﺑﺎﺷﻨﺪ ،ﻛﻠﻴﺪ اﺻﻠﻲ A MINUS Bﭼﻪ ﻣﻲﺷﻮد ؟ .1ﻛﻠﻴﺪ اﺻﻠﻲ A .2ﻛﻠﻴﺪ اﺻﻠﻲ B .3ﻛﻠﻴﺪ اﺻﻠﻲA ∩ B .4
ﻛﻠﻴﺪ اﺻﻠﻲ A U B
-13اﮔﺮ Divide byرا ﺑﻪ ﺻﻮرت ﺳﻪ ﻋﻤﻠﻮﻧﺪي در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ ،ﻛﺪام ﻓﺮﻣﻮل در ﺟﺒﺮ راﺑﻄﻪاي ﺻﺤﻴﺢ اﺳﺖ ؟ .1
( A Divide by B ) TIMES B ≥ A
.2
( A Divide by B ) TIMES B ≠ A
.3
( A Divide by B ) TIMES B ≤ A
.4
( A Divide by B ) TIMES B = A
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
283
-14راﺑﻄﻪ داراي ﻣﺠﻤﻮﻋﻪاي از ﺻﻔﺎت )ﻋﻨﻮان( و ﻣﺠﻤﻮﻋﻪاي از ﭼﻨﺪ ﺗﺎﻳﻲ ﻫﺎ )ﭘﻴﻜﺮ( اﺳﺖ .راﺑﻄﻪ DEEﻣﺠﻤﻮﻋﻪاي ﺧﺎﻟﻲ از ﭼﻨﺪ ﺗﺎﻳﻲ ﻫﺎﺳﺖ .راﺑﻄﻪ DUMﻧﻴﺰ ﻣﺠﻤﻮﻋﻪاي ﺧﺎﻟﻲ از ﺻﻔﺎت ﻣﻲﺑﺎﺷﺪ .ﺣﺎل ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟ .1ﻋﻀﻮ ﺧﻨﺜﻲ در ﺣﺴﺎب ﻣﻌﻤﻮﻟﻲ ﻋﺪد ﻳﻚ اﺳﺖ ) .(n * 1 = 1 * n = nدر ﺟﺒﺮ راﺑﻄﻪاي ﻣﻌﺎدل ﻋﺪد 1راﺑﻄﻪ DEEاﺳﺖ و دارﻳﻢ R TIMES DEE=DEE TIMES R=R
.2ﻋﻀﻮ ﺻﻔﺮ در ﺣﺴﺎب داراي ﺧﺎﺻﻴﺖ n*0=0*n=0اﺳﺖ در ﺟﺒﺮ راﺑﻄﻪاي ﻣﻌﺎدل ﻋﺪد ﺻﻔﺮ راﺑﻄﻪ DUMﻣﻲﺑﺎﺷﺪ. .3ﻫﺮ دو ﮔﺰﻳﻨﻪ .4ﻫﻴﭽﻜﺪام -15ﻛﺪام ﻋﻤﻠﮕﺮ در ﺟﺒﺮ راﺑﻄﻪاي ﭘﺎﻳﻪاي ﻧﻤﻲﺑﺎﺷﺪ و ﺑﻪ ﻛﻤﻚ ﺳﺎﻳﺮ ﻋﻤﻠﮕﺮ ﻫﺎ ﻣﻲﺗﻮان آن را ﺷﺒﻴﻪ ﺳﺎزي ﻛﺮد ؟ .1ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ ) Joinﻳﺎ∞ ( .2ﺿﺮب دﻛﺎرﺗﻲ )× ﻳﺎ (TIMES .3ﺗﻔﺎﺿﻞ ) MINUSﻳﺎ (-
1 .4و3 -16در ﺟﺪول زﻳﺮ DEPT Budjet
D name
D#
10
M
D1
20
D
D2
5
R
D3
ﻧﺘﻴﺠﻪ دﺳﺘﻮر زﻳﺮ ﭼﻴﺴﺖ ؟ Project: DEPT over D# , Budjet
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
284ﭘﺎﻳﮕﺎه داده ﻫﺎ
2 .1ﺻﻔﺖ ﺧﺎﺻﻪ و ﻫﻴﭻ ﺗﺎﭘﻞ .2ﻫﻴﭻ ﺗﺎﭘﻞ و 2ﺻﻔﺖ ﺧﺎﺻﻪ 2 .3ﺻﻔﺖ ﺧﺎﺻﻪ و 3ﺗﺎﭘﻞ 2 .4ﺗﺎﭘﻞ و 3ﺻﻔﺖ ﺧﺎﺻﻪ -17ﻛﺪام ﻋﻤﻠﮕﺮ در ﺟﺒﺮ راﺑﻄﻪاي وﺟﻮد دارد ،وﻟﻲ ﻣﻤﻜﻦ اﺳﺖ در ﺑﻌﻀﻲ از ﺑﺎﻧﻜﻬﺎي اﻃﻼﻋﺎﺗﻲ ﭘﻴﺎده ﺳﺎزي ﻧﺸﺪه ﺑﺎﺷﺪ ؟ .1 .2 .3
Join Subtract Add
.4ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ -18ﻓﺮض ﻛﻨﻴﺪ ﺟﺪول داﻧﺸﻜﺪه ﺑﻪ ﺻﻮرت زﻳﺮ ﺷﺎﻣﻞ )) ﺷﻤﺎره ،ﻧﺎم داﻧﺸﻜﺪه و ﺷﻬﺮ (( ﺑﺎﺷﺪ: ) Clg ( clg# , clgname , city
و ﺟﺪول درس ﺷﺎﻣﻞ ))ﺷﻤﺎره درس ،ﻧﺎم درس ،ﺗﻌﺪاد واﺣﺪ و ﺷﻤﺎره داﻧﺸﻜﺪه اراﺋﻪ دﻫﻨﺪ (( ﺑﺎﺷﺪ: )Crs ( c# , c name , unit , clg#
ﺣﺎل ﺑﻪ ﻛﻤﻚ دﺳﺘﻮرات ﺟﺒﺮ راﺑﻄﻪاي ،درﺳﻬﺎﻳﻲ ﻛﻪ ﺗﻮﺳﻂ ﻫﻤﻪ داﻧﺸﻜﺪهﻫﺎ اراﺋﻪ ﻣﻲﺷﻮﻧﺪ را ﺑﺪﻫﻴﺪ. .1 .2 .3 .4
Clg Join Crs giving temp ; select temp where cname ALL Project clg [ clg#]Giving temp ; Crs Divideby temp Clg join crs giving temp ; select cname Project clg [ clg#] Giving temp ; clg join crs join temp divideby cname
-19ﺣﺎﺻﻞ ﻋﺒﺎرت زﻳﺮ ﻛﺪام اﺳﺖ ؟ )R2 (C
DIV
)R1(A , B , C
C1
c1
b1
a1
C3
c3
b1
a1
c2
b2
a2
c1
b1
a3
c3
b1
a3
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
285
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
.1 R3(A , B) a1
b1
a3
b1
.2 R3(A , B) a2
b2
.3 R3(A , B , C) a1 a3 a1 a3
b1 b1 b1 b1
c1 c1 c3 c3
ﻫﻴﭽﻜﺪام.4 ﺣﺎﺻﻞ ﻋﺒﺎرت زﻳﺮ ﻛﺪام ﮔﺰﻳﻨﻪ اﺳﺖ ؟-20 R1(A , B , C)
DIV
R2 ( B , C)
a1
b1
c1
b1
c1
a1
b2
c2
b2
c2
a1
b2
c3
b3
c3
a2
b1
c1
a2
b2
c2
.1 R3(A , B , C) a2 a2
b1 b2
c1 c2
.2 R3 ( A) a2
.3 R3(A) a1
.4
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
286ﭘﺎﻳﮕﺎه داده ﻫﺎ )R3(A , B b1 b2
c1 c2
-21ﺷﻤﺎره ﻗﻄﻌﺎﺗﻲ را ﺑﺪﻫﻴﺪ ﻛﻪ ﺗﻮﺳﻂ ﻫﻤﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن ﺗﻬﻴﻪ ﺷﺪهاﻧﺪ. .1
Temp ←Π s# sp ÷ Temp
.2
)Temp ←Π s#(S )Π p# ( sp ÷ Temp
.3 )Π p# ( sp ∞ S
.4ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ -22اﮔﺮ DIVIDEBYﻫﻤﺎن ﻋﻤﻠﮕﺮ ﻣﻌﺮﻓﻲ ﺷﺪه ﺗﻮﺳﻂ ) Coddﻳﻌﻨﻲ دو ﻋﻤﻠﻮﻧﺪي( ﺑﺎﺷﺪ ﻛﺪام راﺑﻄﻪ ﺻﺤﻴﺢ اﺳﺖ ؟ ( A TIMES B ) DIVIDEBY B=A .١ ( A DIVIDEBY B ) TIMES B≤A .٢ ( A TIMES B ) DIVIDEBY B≠A .٣
1 .4و2 -23ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺑﺴﻂ ﺟﺪاول داده ﺷﺪه دراﻳﻦ ﻓﺼﻞ ،ﺧﺮوﺟﻲ دﺳﺘﻮر S ∞ SP ∞ P
ﭼﻪ ﻣﻲﺷﻮد؟ .1آﻫﻦ
ﻗﺮﻣﺰ
300
P1
ﻣﺲ
ﺳﺒﺰ
400
P2ﺗﺒﺮﻳﺰ اﻳﺮان ﻗﻄﻌﻪ ﻓﻦ آوران
ﺗﻬﺮان
ﻓﻦ آوران
.2آﻫﻦ
ﻗﺮﻣﺰ
300
P1
ﺗﻬﺮان
آﻫﻦ
ﻗﺮﻣﺰ
300
P1
ﺗﺒﺮﻳﺰ اﻳﺮان ﻗﻄﻌﻪ
آﻫﻦ
ﻗﺮﻣﺰ
300
P1
ﻓﻦ آوران
ﺗﻬﺮان
S1 S2 S1 S2 S1
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
.3ﻣﺲ
ﺳﺒﺰ
200
P2ﺗﺒﺮﻳﺰ
ﭘﻮﻻدﻳﻦ
287
S3
.4ﻫﻴﭽﻜﺪام -24اﮔﺮ راﺑﻄﻪ Aاز درﺟﻪ nﺑﺎﺷﺪ ،ﭼﻨﺪ ﺗﺼﻮﻳﺮ ﻣﺨﺘﻠﻒ از Aوﺟﻮد دارد ؟ .1
! )(n-1
.2 .3 .4
!n 2ⁿ 2n
-25ﺧﺎﺻﻴﺖ ﺑﺴﺘﻪ ﺑﻮدن ) ( closureﺑﻪ ﭼﻪ ﻣﻌﻨﺎﺳﺖ ؟ .1ﺧﺮوﺟﻲ ﻫﺮ ﻋﻤﻠﮕﺮ راﺑﻄﻪاي ،ﻳﻚ راﺑﻄﻪ اﺳﺖ. .2اﻟﺤﺎق دو راﺑﻄﻪ راﺑﻄﻪاي ﺟﺎﻣﻌﺘﺮ از ﻫﺮ دو ﻣﻲﺑﺎﺷﺪ. .3ﺿﺮب دﻛﺎرﺗﻲ دو راﺑﻄﻪ ﻣﺠﻤﻮﻋﻪ ﻣﺎدر ﻫﺮ دو ﻣﻲﺑﺎﺷﺪ. .4اﺟﺘﻤﺎع دو راﺑﻄﻪ در ﻫﺮ ﺣﺎل اﻣﻜﺎن ﭘﺬﻳﺮ اﺳﺖ. -26ﻛﺪام ﻋﻤﻠﮕﺮﻫﺎي ﺟﺒﺮ راﺑﻄﻪاي ﺑﻪ ﻋﻤﻠﻮﻧﺪﻫﺎي ﺳﺎزﮔﺎر ﻧﻴﺎز دارﻧﺪ ؟ .1 .2 .3
U − ∞
1 .4و2 -27ﺟﺒﺮ راﺑﻄﻪاي.... .1ﻳﻚ زﺑﺎن اﺟﺮاﻳﻲ ﺑﺮاي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ راﺑﻄﻪاي اﺳﺖ. .2ﻫﻤﺎن SQLاﺳﺖ. .3زﺑﺎﻧﻲ از ﻧﺴﻞ ﭼﻬﺎرم ) ( 4GLﻣﻲﺑﺎﺷﺪ. .4ﺑﻪ DBMSﻣﻲﮔﻮﻳﺪ ﭼﮕﻮﻧﻪ ﻳﻚ راﺑﻄﻪ ﺟﺪﻳﺪ از ﻳﻚ ﻳﺎ ﭼﻨﺪ راﺑﻄﻪ ﺳﺎﺧﺘﻪ ﺷﻮد. -28زﺑﺎﻧﻲ داراي اﻛﻤﺎل راﺑﻄﻪاي اﺳﺖ ﻛﻪ.... .1ﺣﺪاﻗﻞ ﻫﻤﺘﻮان ﺑﺎ ﺟﺒﺮ راﺑﻄﻪاي ﺑﺎﺷﺪ. .2ﺣﺪاﻛﺜﺮ ﻫﻤﺘﻮان ﺑﺎ ﺟﺒﺮ راﺑﻄﻪاي ﺑﺎﺷﺪ. .3ﻫﺮ راﺑﻄﻪاي ﻛﻪ ﺑﺎ ﻋﺒﺎرات ﺟﺒﺮ راﺑﻄﻪاي ﻗﺎﺑﻞ ﺗﻌﺮﻳﻒ اﺳﺖ ،ﺗﻮﺳﻂ آم زﺑﺎن ﻧﻴﺰ ﺗﻌﺮﻳﻒ ﺷﺪﻧﻲ ﺑﺎﺷﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
288ﭘﺎﻳﮕﺎه داده ﻫﺎ
1 .4و3 -29ﻛﺪام ﻓﺮﻣﻮل ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1
)A∩ B = A− ( A− B
.2 .3
A ∞ B ≠ B∞ A A∞ B = σ ( A∩ b)× A
A ∞B = B∞ A .4 X U Y -30دو ﺟﺪول زﻳﺮ ﭼﻨﺪ ﺳﻄﺮ و ﭼﻨﺪ ﺳﺘﻮن دارد ؟ Y
ﺷﻬﺮ ﺗﻮﻟﺪ
ﻣﻌﺪل
ﺷﻤﺎره
ﻧﺎم
ﺗﻬﺮان
17
123
ﻋﻠﻲ
ﺗﺒﺮﻳﺰ
15
574
ﺟﻮاد
ﺷﻬﺮ ﺗﻮﻟﺪ
ﻣﻌﺪل
ﺷﻤﺎره
ﻧﺎم
ﺗﻬﺮان
17
123
ﻋﻠﻲ
ﺗﻬﺮان
17
934
ﻣﺠﻴﺪ
X
4 .1ﺳﺘﻮن و 3ﺳﻄﺮ 3 .2ﺳﺘﻮن و 4ﺳﻄﺮ 4 .3ﺳﺘﻮن و 4ﺳﻄﺮ 3 .4ﺳﺘﻮن و 3ﺳﻄﺮ -31ﻛﺪاﻣﻴﻚ از دﺳﺘﻮرات زﻳﺮ ﻛﺎراﺗﺮ اﺳﺖ ؟ ] ) ( SP ∞ S ) where p# = ' p4') [ snameاﻟﻒ ] ) (( SP where p# = ' p4') ∞ S ) [ snameب .1اﻟﻒ .2ب .3ﻛﺎراﻳﻲ ﻫﺮ دو ﻳﻜﺴﺎن اﺳﺖ. .4اﺗﻔﺎﻗﻲ اﺳﺖ و ﻧﻤﻲﺗﻮان ﮔﻔﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
289
-32اﮔﺮ Aراﺑﻄﻪاي ﺑﺎ ﺻﻔﺎت B , Y , Xراﺑﻄﻪاي دﻳﮕﺮ ﺑﺎ ﺻﻔﺖ ﺧﺎﺻﻪ Xﺑﺎﺷﺪ ،ﻛﺪام ﮔﺰﻳﻨﻪ ﻣﻌﺎدل ﻋﺒﺎرت A÷ Bﻣﻲﺑﺎﺷﺪ ؟ .1
) ] A [ Y ]− ( A− [ X
.2
] A [ Y ]−(( A [ Y ]× B)− A ) [ Y
.3
] A [ X ]−(( A [ X ]× B)− A ) [ X
.4
) ] A [ X ]− ( A− B [ X
-33ﺑﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ،ﻛﺪام دﺳﺘﻮر ﻣﺸﺨﺼﺎت ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم ﻗﻄﻌﺎت را ﻋﺮﺿﻪ ﻛﺮدهاﻧﺪ ؟ .1 .2 .3 .4
SP ( S# , P# ) divided by P (P#) Join S (SP Join S) Minus P SP ( S# , P# ) divided by P (P#) Union S (SP Join P) Minus S
-34ﺑﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ،ﻛﺪام دﺳﺘﻮر ﻣﺸﺨﺼﺎت ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﻪ P3را ﺗﻬﻴﻪ ﻧﻤﻲﻛﻨﻨﺪ ؟ .1
]])[Π S# ( S ∞ SP)U [ σp#< >'p3'(SP
.2
[Π S#( S) − σp#< >'p3'(SP ) ] ∞ S
.3
[Π S#( S) − ( Π S#( σp#= 'p3'(SP ))) ] ∞ S
.4ﻫﻴﭽﻜﺪام -35دو راﺑﻄﻪ xو yزﻳﺮ را در ﻧﻈﺮ ﮔﺮﻓﺘﻪ و ﺑﮕﻮﺋﻴﺪ x times yﭼﻨﺪ ﺳﻄﺮ ﺧﻮاﻫﺪ داﺷﺖ ؟
y
x
e
a
a f g
b c d m
20 .1ﺳﻄﺮ 15 .2ﺳﻄﺮ 9 .3ﺳﻄﺮ
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
290ﭘﺎﻳﮕﺎه داده ﻫﺎ
25 .4ﺳﻄﺮ -36ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ دو ﺟﺪول زﻳﺮ ﭼﻨﺪ ﺳﻄﺮ و ﺳﺘﻮن ﺧﻮاﻫﺪ داﺷﺖ ؟ Q
M
P
N
M
x
a
P1
m
a
y
b
P2
n
b
z
c
P3
k
c
u
d
P4
4 , 4 .1 5 , 4 .2 3 , 3 .3 4 , 3 .4 -37ﻛﺪاﻣﻴﻚ از ﻋﻤﻠﮕﺮﻫﺎي زﻳﺮ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﺮ روي ﺟﺪاول ﻛﺎر ﻣﻲﻛﻨﻨﺪ ؟)ﻛﺎرﺷﻨﺎﺳﻲ ﻧﺎﭘﻴﻮﺳﺘﻪ -آزاد (80 .1 .2 .3
Join Add Subtract
.4ﻫﻴﭽﻜﺪام -38ﺟﺪول ﺳﻤﺖ ﭼﭙﻲ ﺑﺎ ﭼﻪ دﺳﺘﻮري ﺗﺒﺪﻳﻞ ﺑﻪ ﺟﺪول ﺳﻤﺖ راﺳﺘﻲ ﻣﻲﺷﻮد ؟ GRM
Weight
P#
Weight
P P#
15000
15
P1
15
P1
13000
13
P2
13
P2
18000
18
P3
18
P3
.1 .2 .3
extend P Add ( weight * 1000) AS GRM Add P ( weight * 1000) AS GRM P Union weight * 1000 AS GRM
.4ﻫﻴﭽﻜﺪام -39در ﺷﻜﻞ زﻳﺮ DENDﻣﻘﺴﻮم MED ،ﻣﻴﺎﻧﺠﻲ و DORﻣﻘﺴﻮم ﻋﻠﻴﻪ اﺳﺖ .ﺣﺎﺻﻞ دﺳﺘﻮر DEND DIVIDEBY DOR PER MEDﻛﺪام ﮔﺰﻳﻨﻪ اﺳﺖ ؟ DOR:
MED:
Ramin.Samad@yahoo.com
DEND:
WWW.IRANMEET.COM
291
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت S#
S#
P#
P#
S1
S1
P1
P2
S2
S1
P2
P4
S3
S1
P3
S4
S1
P4
S5
S1
P5
S1
P6
S2
P1
S2
P2
S3
P2
S4
P2
S4
P4
S4
P5
.1 S# S1 S2
P# P1 P3
.2 P# P1 P3
.3 S# S1 S2
.4 S# S1 S4
ﺟﺪول ﺑﺎﺷﺪ ﺧﺮوﺟﻲ ﭼﻪ ﻣﻲﺷﻮد ؟
P# DOR P1
Ramin.Samad@yahoo.com
در ﺗﺴﺖ ﻗﺒﻠﻲ اﮔﺮ-40
WWW.IRANMEET.COM
292ﭘﺎﻳﮕﺎه داده ﻫﺎ
.1 S# S1 S4
.2 S# S1 S2
.3 P# P1 P3
.4 S# S1 S2 S3 S4
-41در ﺟﺒﺮ راﺑﻄﻪاي ) A−(A− Bﻣﻌﺎدل ﻛﺪام اﺳﺖ ؟ .1
)A−(B− A
.2 .3
A∩B )B−(B− A
3,2 .4 ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 6 (4) -1ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲاﻳﻦ دو ﺟﺪول ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻲﺷﻮد: city
Sname
ﺗﻌﺪاد
P#
S#
ﺗﻬﺮان
ﻓﻦ آوران
300
P1
S1
ﺗﻬﺮان
ﻓﻦ آوران
200
P2
S1
ﺗﻬﺮان
ﻓﻦ آوران
400
P3
S1
ﺗﺒﺮﻳﺰ
اﻳﺮان ﻗﻄﻌﻪ
300
P1
S2
ﺗﺒﺮﻳﺰ
اﻳﺮان ﻗﻄﻌﻪ
400
P2
S2
ﺗﺒﺮﻳﺰ
ﭘﻮﻻدﻳﻦ
200
P2
S3
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
293
(3) -2ﻣﻨﻈﻮر از INTERSECTﻫﻤﺎن اﺷﺘﺮاك ∩ و ﻣﻨﻈﻮر از TIMESﻫﻤﺎن ﺿﺮب دﻛﺎرﺗﻲ × ﻣﻲﺑﺎﺷﺪ. (2) -3ﻧﺘﻴﺠﻪ اﻟﺤﺎق دو ﺟﺪول داده ﺷﺪه ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ: SALARY 40K 42K 30K 35K
ENAME Lopez Cheng Finzi Saito
EMP# E1 E2 E3 E4
BUDGET 10M 10M 12M 12M
DNAME Marketing Marketing Development Development
DEPT# D1 D1 D2 D2
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺟﺪول ﻓﻮق روﺷﻦ اﺳﺖ ﻛﻪ ﺳﺘﻮن EMP#ﻛﻠﻴﺪ اﺻﻠﻲ اﺳﺖ و ﭼﻮن دادهﻫﺎي DEPT#ﺗﻜﺮار ﺷﺪه ﻧﻤﻲﺗﻮان ﻛﻠﻴﺪ ﺑﺎﺷﺪ. (3) -4در ﺗﻌﺮﻳﻒ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ ﻳﻜﺘﺎﺋﻲ ﺟﺰو ﺷﺮوط آن ﻧﻴﺴﺖ .ﻓﻘﻂ ﺑﺎﻳﺪ آن ﺳﺘﻮن در ﺟﺪول دﻳﮕﺮي ﻛﻠﻴﺪ اﺻﻠﻲ ﺑﺎﺷﺪ. (2) -5ﻧﻤﺎد ﺑﻪ ﻛﺎر رﻓﺘﻪ ﻣﺮﺑﻮط ﺑﻪ زﺑﺎن Tutorial Dاﺳﺖ ﻛﻪ در ﻛﺘﺎب دﻳﺖ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ .ﺳﺘﻮﻧﻬﺎي ﺧﺮوﺟﻲ در ﻋﻼﻣﺖ آﻛﻮﻻد ﻧﻮﺷﺘﻪ ﻣﻲﺷﻮﻧﺪ. (1) -6ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﮔﺰﻳﻨﻪ 3ﻧﺎدرﺳﺖ اﺳﺖ زﻳﺮا ﻫﻨﮕﺎﻣﻲﻛﻪ ﻋﻤﻠﮕﺮ Πﺳﺘﻮﻧﻬﺎي S#و p#را اﺳﺘﺨﺮاج ﻣﻲﻛﻨﺪ دﻳﮕﺮ ﺳﺘﻮن Qtyوﺟﻮد ﻧﺪارد ﻛﻪ ﻋﻤﻠﮕﺮ σ Qty >200ﻗﺎﺑﻞ اﺟﺮا ﺑﺎﺷﺪ. (3) -7در دﺳﺘﻮر اﻟﻒ اﺑﺘﺪا دو ﺟﺪول sو spﭘﻴﻮﻧﺪ ﺧﻮرده ﺳﭙﺲ ﺳﻄﺮﻫﺎﻳﻲ از آن اﻧﺘﺨﺎب ﻣﻲﺷﻮد.در دﺳﺘﻮر ب اﺑﺘﺪا ﺳﻄﺮﻫﺎﻳﻲ از ﺟﺪول spاﻧﺘﺨﺎب ﺷﺪه ﺳﭙﺲ آن ﺳﻄﺮﻫﺎ ﺑﺎ ﺟﺪول sﭘﻴﻮﻧﺪ ﻣﻲﺧﻮرد ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﭘﻴﻮﻧﺪ دو ﺟﺪول ﻛﻮﭼﻜﺘﺮ زﻣﺎن و ﻓﻀﺎي ﻛﻤﺘﺮي ﻣﻲﺧﻮاﻫﺪ. (2) -8ﺑﺮاي اﺳﺎﻣﻲﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن ﻗﻄﻌﻪ p2از ﺟﺪاول sو spﺑﺎﻳﺪ اﺳﺘﻔﺎده ﻛﻨﻴﻢ .ﻟﺬااﻳﻦ دو ﺟﺪول ﺑﺎﻳﺪ ﺑﻪ ﻫﻤﺪﻳﮕﺮ ﭘﻴﻮﻧﺪ ﺑﺨﻮرﻧﺪ. (4) -9از داﺧﻠﻲ ﺗﺮﻳﻦ ﭘﺮاﻧﺘﺰ دﺳﺘﻮرات را اﺟﺮاء ﻛﻨﻴﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
294ﭘﺎﻳﮕﺎه داده ﻫﺎ
ﺷﻤﺎره ﻗﻄﻌﺎت ﻗﺮﻣﺰ رﻧﮓ را ﻣﻲدﻫﺪ:
)A← Π p# ( σ color =' red' ( p
ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن را ﻣﻲدﻫﺪ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﻗﻄﻌﻪ ﻗﺮﻣﺰ رﻧﮓ ﺗﻮﻟﻴﺪ ﻛﺮدهاﻧﺪ: )A← Π S# ( A∞ SP
ﻧﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﻗﻄﻌﻪ ﻗﺮﻣﺰ رﻧﮓ را ﺗﻮﻟﻴﺪ ﻛﺮدهاﻧﺪ: ) Π Sname ( B ∞ S
(3) -10 (4) -11 )σ p ( a-b) = σ p ( a ) − σ p ( b
ﺿﺮب دﻛﺎرﺗﻲ در رﻳﺎﺿﻴﺎت ﺗﻮاﺑﻊ ،ﺧﺎﺻﻴﺖ ﺟﺎﺑﻪ ﺟﺎﺋﻲ ﻧﺪارد وﻟﻲ در ﻣﻮرد ﺟﺪاول از آﻧﺠﺎ ﻛﻪ ﺟﺎﺑﻪ ﺟﺎﻳﻲ ﺳﺘﻮﻧﻬﺎ )ﻓﻴﻠﺪﻫﺎ( ﻣﺠﺎز اﺳﺖ ﻟﺬا ﺿﺮب دﻛﺎرﺗﻲ دو ﺟﺪول ﺧﺎﺻﻴﺖ ﺟﺎﺑﻪ ﺟﺎﻳﻲ دارد. A-B (1) -12ﻳﻌﻨﻲ ﺳﻄﺮﻫﺎﻳﻲ ﻛﻪ در Aﻫﺴﺖ وﻟﻲ در Bﻧﻴﺴﺖ.ﭘﺲ A-Bزﻳﺮ ﻣﺠﻤﻮﻋﻪاي از Aﻣﻲﺷﻮد و ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ﺟﺪول ،Aﻛﻠﻴﺪ اﺻﻠﻲ زﻳﺮ ﻣﺠﻤﻮﻋﻪ آن ﻧﻴﺰ ﺧﻮاﻫﺪ ﺑﻮد. (3) -13 DUM (1) -14ﻣﺜﻞ ﺻﻔﺮ ﻧﻴﺴﺖ. A TIMES DUM = DUM TIMES R = an empty relation with the same heading as R
ﭘﺲ ﮔﺰﻳﻨﻪ 2اﺷﺘﺒﺎه اﺳﺖ. (1) -15 (3) -16ﺧﺮوﺟﻲ ﺑﻪ ﺷﻜﻞ زﻳﺮ اﺳﺖ: Budjet
D#
10 20 5
D1 D2 D3
(2) -17
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
295
(2) -18ﻋﻤﻮﻣﺎ وﻗﺘﻲ در ﺳﻮال ،ﻛﻠﻤﺎت ))ﻫﻤﻪ (( ﻳﺎ ))ﺗﻤﺎم (( دﻳﺪه ﻣﻲﺷﻮد ﺑﺎﻳﺪ از ﻋﻤﻠﮕﺮ ﺗﻘﺴﻴﻢ اﺳﺘﻔﺎده ﻛﺮد. دﺳﺘﻮر project clg [ clg# ] Giving tempاﺑﺘﺪا ﺷﻤﺎره ﻫﻤﻪ داﻧﺸﻜﺪهﻫﺎ را ﻣﻲدﻫﺪ. ﺳﭙﺲ Crs divideby tempﺟﺪول Crsرا ﺑﺮ ﺷﻤﺎره داﻧﺸﻜﺪهﻫﺎ ﺗﻘﺴﻴﻢ ﻛﺮده و ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ درﺳﻬﺎﻳﻲ ﻛﻪ ﺗﻮﺳﻂ ﻫﻤﻪ داﻧﺸﻜﺪهﻫﺎ اراﺋﻪ ﻣﻲﺷﻮﻧﺪ را ﻣﻲدﻫﺪ. (1) -19 (3) -20 (2) -21 (4) -22در ﺣﺴﺎب ﻣﻌﻤﻮﻟﻲ ﺿﺮب و ﺗﻘﺴﻴﻢ ﻋﻜﺲ ﻳﻜﺪﻳﮕﺮﻧﺪ وﻟﻲ در ﺟﺒﺮ راﺑﻄﻪاي TIMESو DIVIDEBYﻋﻜﺲ ﻳﻜﺪﻳﮕﺮ ﻧﻴﺴﺘﻨﺪ ﭼﺮا ﻛﻪ اوﻻ ﺗﻘﺴﻴﻢ ﺟﺪﻳﺪ ﺳﻪ ﻋﻤﻠﻮﻧﺪي اﺳﺖ ،ﺛﺎﻧﻴﺎ ﺗﻘﺴﻴﻢ Aﺑﺮ Bو ﺳﭙﺲ ﺗﺸﻜﻴﻞ ﺿﺮب دﻛﺎرﺗﻲ از ﻧﺘﻴﺠﻪ ﺣﺎﺻﻞ و راﺑﻄﻪ B
ﻣﻨﺠﺮ ﺑﻪ راﺑﻄﻪاي ﻣﻲﺷﻮد ﻛﻪ ﻣﻤﻜﻦ اﺳﺖ ﻫﻤﺎﻧﻨﺪ Aﺑﺎﺷﺪ ،اﻣﺎ اﺣﺘﻤﺎﻻ زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از Aاﺳﺖ )ﻓﺮﻣﻮل ﮔﺰﻳﻨﻪ .(2ﺑﻨﺎﺑﺮﻳﻦ ﻋﻤﻠﮕﺮ DIVIDEBYدر ﮔﺰﻳﻨﻪ 2ﺧﻴﻠﻲ ﺷﺒﻴﻪ ﺗﻘﺴﻴﻢ ﺻﺤﻴﺢ در ﺣﺴﺎب ﻣﻌﻤﻮﻟﻲ اﺳﺖ )ﻳﻌﻨﻲ از ﺑﺎﻗﻲ ﻣﺎﻧﺪه ﺻﺮﻓﻨﻈﺮ ﻣﻲﻛﻨﺪ ( (1) -23ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﻫﻨﮕﺎم ﭘﻴﻮﻧﺪ S ∞ SPﺑﺎ Pﺑﺎﻳﺪ دو ﺳﺘﻮن cityو p#ﻫﺮ دو ﻳﻜﺴﺎن ﺑﺎﺷﻨﺪ. (3) -24اﻳﻦ ﺗﻌﺪاد 2ⁿﻣﺸﺎﺑﻪ ﺗﻌﺪاد زﻳﺮ ﻣﺠﻤﻮﻋﻪﻫﺎي ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺑﺎ nﻋﻀﻮ اﺳﺖ و ﺷﺎﻣﻞ ﺗﺼﻮﻳﺮ ﻫﻤﺎﻧﻲ )ﻛﻪ ﻧﺘﻴﺠﻪ آن ﻫﻤﺎﻧﻨﺪ راﺑﻄﻪ اﺻﻠﻲ Aاﺳﺖ ( و ﺗﺼﻮﻳﺮ ﺗﻬﻲ ﻧﻴﺰ ﻣﻲﺑﺎﺷﺪ. (1) -25 (4) -26در اﺟﺘﻤﺎع ،اﺷﺘﺮاك و ﺗﻔﺎﺿﻞ راﺑﻄﻪﻫﺎ ﺑﺎﻳﺪ ﺳﺎزﮔﺎر ﺑﺎﺷﻨﺪ ،ﻳﻌﻨﻲ از ﻧﻈﺮ ﺗﻌﺪاد ﺻﻔﺎت ﺧﺎﺻﻪ و داﻣﻨﻪ ﺑﺎﻳﺴﺘﻲ ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﺳﺎزﮔﺎر ﺑﺎﺷﻨﺪ .اﺟﺘﻤﺎع ،اﺷﺘﺮاك و ﺗﻔﺎﺿﻞ دو راﺑﻄﻪ Aو Bﺳﺎزﮔﺎر اﺳﺖ ﺑﺎ ﻋﻨﻮان Aو Bو ﺑﺪﻧﻪاي ﺷﺎﻣﻞ ﻣﺠﻤﻮﻋﻪ ﺗﺎﭘﻠﻬﺎي Aو .B (4) -27
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
296ﭘﺎﻳﮕﺎه داده ﻫﺎ
(4) -28 (3) -29 (1) -30 X ∩ Yﻳﻚ ﺳﻄﺮ و 4ﺳﺘﻮن ﺧﻮاﻫﺪ داﺷﺖ. X-Yﻧﻴﺰ ﻳﻚ ﺳﻄﺮ و 4ﺳﺘﻮن ﺧﻮاﻫﺪ داﺷﺖ. XUY ﺷﻬﺮ ﺗﻮﻟﺪ
ﻣﻌﺪل
ﺷﻤﺎره
ﻧﺎم
ﺗﻬﺮان
17
123
ﻋﻠﻲ
ﺗﻬﺮان
17
934
ﻣﺠﻴﺪ
ﺗﺒﺮﻳﺰ
15
574
ﺟﻮاد
ﺗﻬﺮان ،123 ،17 ،ﻋﻠﻲ →X ∩ Y ﺗﻬﺮان ،934 ،17 ،ﻣﺠﻴﺪ →Y-X
(2) -31ب ﻛﺎراﺗﺮ اﺳﺖ ﭼﺮا ﻛﻪ ﮔﺰﻳﻨﺶ را زودﺗﺮ از ﭘﻴﻮﻧﺪ اﻧﺠﺎم داده اﺳﺖ. (2) -32 (1) -33ﺑﺎ دﺳﺘﻮر ) p#) divided by P( P#و SP ( S#ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ ﺑﺪﺳﺖ ﻣﻲآﻳﺪ ﻛﻪ ﺗﻤﺎم ﻗﻄﻌﺎت را ﻋﺮﺿﻪ ﻣﻲﻛﻨﻨﺪ .ﺳﭙﺲ ﻫﻨﮕﺎﻣﻲﻛﻪ ﻧﺘﻴﺠﻪاﻳﻦ دﺳﺘﻮر ﺑﺎ Sاﻟﺤﺎق ﺷﻮد ﻣﺸﺨﺼﺎتاﻳﻦ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن ﺑﺪﺳﺖ ﻣﻲآﻳﺪ. (3) -34 (1) -35ﺟﺪول Xداراي 5ﺳﻄﺮ و ﺟﺪول Yداراي 4ﺳﻄﺮ اﺳﺖ ﭘﺲ X times Y
داراي 4×5 =20ﺳﻄﺮ اﺳﺖ. (4) -36ﻧﺘﻴﺠﻪ ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ ﺑﻪ ﺷﻜﻞ زﻳﺮ اﺳﺖ: Q x y z
P P1 P2 P3
N m n k
Ramin.Samad@yahoo.com
M a b c
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
297
(1) -37در ﺟﺒﺮ راﺑﻄﻪاي ﻋﻤﻠﮕﺮ Joinﻳﺎ ﭘﻴﻮﻧﺪ را دارﻳﻢ .ﻫﻤﭽﻨﻴﻦ ﻋﻤﻠﮕﺮ ﻫﺎي اﺷﺘﺮاك و اﺟﺘﻤﺎع و ﺗﻔﺎﺿﻞ ) Minusﻳﺎ (Subtractرا ﻧﻴﺰ دارﻳﻢ .وﻟﻲ ﻋﻤﻠﮕﺮ Addﻳﺎ ﺟﻤﻊ را ﻧﺪارﻳﻢ .در اﻛﺜﺮ ﻧﺮماﻓﺰارﻫﺎي ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﻤﻠﮕﺮ ﺗﻔﺎﺿﻞ ﭘﻴﺎده ﺳﺎزي ﻧﺸﺪه اﺳﺖ وﻟﻲ ﻋﻤﻠﮕﺮ ﭘﻴﻮﻧﺪ در ﺗﻤﺎﻣﻲآﻧﻬﺎ وﺟﻮد دارد. (1) -38دﺳﺘﻮر extendﺑﺮاي اﺿﺎﻓﻪ ﻛﺮدن ﺳﺘﻮن ﺑﻪ ﻳﻚ ﺟﺪول اﺳﺘﻔﺎده ﻣﻲﺷﻮد. (4) -39ﻳﻌﻨﻲ ﻛﺪام S#ﻫﺎ ﻫﻢ p2و ﻫﻢ p4را ﺗﻬﻴﻪ ﻛﺮدهاﻧﺪ. (2) -40 (4) -41
ﺗﺴﺖ ﻫﺎي ﺳﺮي 7 -1اﮔﺮ pو qﻳﻚ و ف ﺑﺎﺷﻨﺪ ﻣﻌﺎدل ﻋﺒﺎرت زﻳﺮ ﻛﺪام اﺳﺖ ؟ IF p THEN q END IF P AND (NOT q) .1 IF NOT p then NOT q .2 (NOT p) OR q .3
.4ﻣﻌﺎدل ﻧﺪارد.
-2اﮔﺮ STو COو STCOﻣﺘﻐﻴﻴﺮﻫﺎي ﺗﺎﭘﻠﻲ راﺑﻄﻪﻫﺎي STTو COTو STCOT
ﺑﺎﺷﻨﺪ آﻧﮕﺎه ﻋﺒﺎرت زﻳﺮ در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﭼﻪ ﻣﻲﻛﻨﺪ ؟ ST(ST.STID=STCO.STID AND ;)’STCO.COID=‘COM111
(ST.STID,ST.STDEG)WHERE EXISTS
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
298ﭘﺎﻳﮕﺎه داده ﻫﺎ
.1ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ و دوره ﺗﺤﺼﻴﻠﻲ آﻧﻬﺎﻳﻲ ﻛﻪ درس COM111را اﻧﺘﺨﺎب ﻛﺮدهاﻧﺪ ،ﻣﻲدﻫﺪ. .2ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ و ﺷﻤﺎره درس اﻓﺮادي را ﻣﻲدﻫﺪ ﻛﻪ درس COM111را اﻧﺘﺨﺎب ﻛﺮدهاﻧﺪ. .3ﺳﻄﺢ ﺗﺤﺼﻴﻠﻲ داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ درس COM111را اﻧﺘﺨﺎب ﻛﺮدهاﻧﺪ. .4اﻳﻦ دﺳﺘﻮر ﻏﻠﻂ اﺳﺖ. -3ﻛﺪام ﮔﺰﻳﻨﻪ در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1ﻋﺒﺎرت ST.STIDﻣﺠﻤﻮﻋﻪ ﺗﻤﺎم ﺷﻤﺎره داﻧﺸﺠﻮﻳﺎن در راﺑﻄﻪ STTرا ﻣﻲدﻫﺪ. .2ﻋﺒﺎرت STﻋﻨﻮان ﺟﺪول STرا ﻣﻲدﻫﺪ. .3ﻋﺒﺎرت ) (STCO.STID,STCO.GRADEﺷﻤﺎره داﻧﺸﺠﻮﻳﺎن و ﻧﻤﺮه آﻧﻬﺎ از راﺑﻄﻪ STCOTرا ﻣﻲدﻫﺪ. .4ﻋﺒﺎرت ;' (CO.COID AS CONUM)WHERE COTYPE='Pﺷﻤﺎره درﺳﻬﺎي ﻋﻤﻠﻲ ) ﻋﻤﻠﻲ = ' ( 'Pاز راﺑﻄﻪ COTرا ﻣﻲدﻫﺪ. -4ﻛﺪام دﺳﺘﻮر در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﻋﻨﻮان درﺳﻬﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ داﻧﺸﺠﻮ ﺑﺎ ﺷﻤﺎره 1234اﻧﺘﺨﺎب ﻛﺮده اﺳﺖ ؟ .1 .2 .3
COTITLE WHERE EXISTS STCO (STCO.COID=CO.COID AND ;)'STCO.STID='1234 ;'COTITLE WHERE STCO.STID='1234 COTITLE WHERE STCO.COID=CO.COID AND STCO ;'.STID='1234
.4ﻫﻴﭽﻜﺪام -5ﻛﺪام ﻋﺒﺎرت در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﺷﻤﺎره و ﻧﺎم درﺳﻬﺎي دو واﺣﺪي را ﻣﻲدﻫﺪ ؟ .1 .2 .3 .4
;'CO.COID,CO.COTITLE WHERE EXISTS CO.CREDIT='2 ;'CO.COID,CO.COTITLE WHERE CO.CREDIT='2 ;CO.CREDIT='2' FORALL WHERE CO. COID,CO.COTITLE ;'CO.COID,CO.COTITLE FORALLWHERE CO.CREDIT='2
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
299
-6ﻋﺒﺎرت زﻳﺮ در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﻧﺎم داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ درس ﻋﻤﻠﻲ را اﻧﺘﺨﺎب ﻛﺮده ﺑﺎﺷﻨﺪ .ﻛﺪام ﮔﺰﻳﻨﻪ ﻓﺮم ﻣﻌﺎدل ﭘﻴﺸﻮﻧﺪي ) (Prenexآن اﺳﺖ؟ ST.STNAME WHERE EXISTS STCO (ST.STID=STCO.STID AND ;))'EXISTS CO (CO.COID = STCO.COID AND CO.COTYPE='P .1 .2 .3
ST.STNAME EXISTS WHERE (ST.STID=STID AND CO.COID ;)'=STCO.COID AND CO.COTYPE='P ST.STNAME WHERE NOT FORALL STCO(ST.STID=STCO.STID AND CO(CO.COID=STCO.COID ;))'AND CO.COTYPE='P =ST.STNAME WHERE EXISTS STCO (EXISTS CO (ST.STID STCO.STID AND CO. COID=STCO.COID AND ;))'CO.COTYPE='P
.4ﻫﻴﭽﻜﺪام -7ﺧﺮوﺟﻲ ﻋﺒﺎرت زﻳﺮ در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﭼﻴﺴﺖ ؟ ST.STNAME WHERE NOT EXISTS STCO (STCO.STID=ST.STID AND )'STCO.COID='COM333 .1اﺳﺎﻣﻲداﻧﺸﺠﻮﻳﺎﻧﻲ ﻛﻪ درس ﺷﻤﺎره COM333را اﻧﺘﺨﺎب ﻧﻜﺮدهاﻧﺪ و ﺷﻤﺎره
آﻧﻬﺎ در ﺟﺪول STCOTﻧﻴﺴﺖ. .2اﺳﺎﻣﻲو ﺷﻤﺎره داﻧﺸﺠﻮﻳﺎﻧﻲ ﻛﻪ درس ﺷﻤﺎره COM333را اﻧﺘﺨﺎب ﻛﺮدهاﻧﺪ. .3اﺳﺎﻣﻲداﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ درس ﺷﻤﺎره COM333را اﻧﺘﺨﺎب ﻧﻜﺮدهاﻧﺪ. .4ﺗﻤﺎﻣﻲاﺳﺎﻣﻲداﻧﺸﺠﻮﻳﺎﻧﻲ ﻛﻪ درس ﺷﻤﺎره COM333را اﻧﺘﺨﺎب ﻛﺮدهاﻧﺪ. -8ﻋﺒﺎرت زﻳﺮ در ﺣﺴﺎب راﺑﻄﻪاي ﺗﺎﭘﻠﻲ ﭼﻪ ﻣﻲﻛﻨﺪ ؟ ) bsﻳﻌﻨﻲ دوره ﻛﺎرﺷﻨﺎﺳﻲ( CO.COTITLE WHERE FORALL ST (EXISTS STCO(STCO.STID=ST.STID AND STCO.COID=CO.COID AND ;))'ST.STDEG='bs
.1اﻳﻦ ﻋﺒﺎرت ﻧﺎدرﺳﺖ اﺳﺖ واﻳﺮاد دارد. .2ﻋﻨﻮان درﺳﻬﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم داﻧﺸﺠﻮﻳﺎن دوره ﻛﺎرﺷﻨﺎﺳﻲ ﻛﻪ ﺷﻤﺎرهﻫﺎي ﻳﻜﺴﺎن دارﻧﺪ آﻧﻬﺎ را اﻧﺘﺨﺎب ﻛﺮده ﺑﺎﺷﻨﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
300ﭘﺎﻳﮕﺎه داده ﻫﺎ
.3ﺷﻤﺎره درس و ﺷﻤﺎره داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم درﺳﻬﺎي ﻛﺎرﺷﻨﺎﺳﻲ را ﮔﺬراﻧﺪه ﺑﺎﺷﻨﺪ. .4ﻋﻨﻮان درﺳﻬﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم داﻧﺸﺠﻮﻳﺎن دوره ﻛﺎرﺷﻨﺎﺳﻲ آﻧﻬﺎ را اﻧﺘﺨﺎب ﻛﺮده ﺑﺎﺷﻨﺪ. -9اﮔﺮ ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ COﺑﺮ روي ﻓﻴﻠﺪ COIDﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﺪ ،در ﺣﺴﺎب راﺑﻄﻪاي ﻣﻴﺪاﻧﻲ دﺳﺘﻮر زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟ ;)'CO WHERE COT (COID: CO,CODEID:'D111
.1ﺷﻤﺎره درﺳﻬﺎي ﮔﺮوه آﻣﻮزﺷﻲ ' 'D111را ﻣﻲدﻫﺪ. .2ﺷﻤﺎره درﺳﻬﺎ و ﺷﻤﺎره ﮔﺮوه آﻣﻮزﺷﻲ درﺳﻬﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺷﻤﺎره آﻧﻬﺎ D111ﺑﺎﺷﺪ. .3ﮔﺮوه آﻣﻮزﺷﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺷﻤﺎره درس آن D111ﺑﺎﺷﺪ. .4ﺗﻤﺎم ﮔﺮوهﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ درس D111را اراﺋﻪ ﻛﺮدهاﻧﺪ. -10اﮔﺮ ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ COﺑﺮ روي ﻓﻴﻠﺪ COIDو ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ STﺑﺮ روي ﻓﻴﻠﺪ STID
و ﻣﺘﻐﻴﺮ CREDﺑﺮ روي ﻓﻴﻠﺪ CREDITﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﻨﺪ ﻛﺪام ﮔﺰﻳﻨﻪ در ﺣﺴﺎب راﺑﻄﻪاي ﻣﻴﺪاﻧﻲ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1ﻋﺒﺎرت COﻣﺠﻤﻮﻋﻪ ﺷﻤﺎره ﻫﻤﻪ درﺳﻬﺎ را ﻧﺸﺎن ﻣﻲدﻫﺪ. .2ﻋﺒﺎرت ) ST WHERE STT (STID: STﻣﺠﻤﻮﻋﻪ ﺷﻤﺎره داﻧﺸﺠﻮﻳﺎن ﻣﻮﺟﻮد در راﺑﻄﻪ STTرا ﻧﺸﺎن ﻣﻲدﻫﺪ. .3دﺳﺘﻮر زﻳﺮ ﺷﻤﺎره درﺳﻬﺎي ﻳﻚ واﺣﺪي از ﮔﺮوه آﻣﻮزﺷﻲ D222را ﻣﻲدﻫﺪ: CO WHERE EXISTS CRED (CRED='1' AND COT (COID: )'CO,CREDIT:CRED,CODEID='D222
.4ﻫﻴﭽﻜﺪام -11دﺳﺘﻮر زﻳﺮ در ﺣﺴﺎب راﺑﻄﻪاي ﻣﻴﺪاﻧﻲ ﭼﻪ ﻣﻲﻛﻨﺪ ؟ STNAM WHERE EXISTS ST (STT(STID:ST,STNAME:STNAM) AND ))'NOT STCOT (STID: ST,COID:'COM333 .1ﻧﺎم داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ درس COM333را اﻧﺘﺨﺎب ﻧﻜﺮدهاﻧﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
301
.2ﻧﺎم داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ از درس COM333اﻓﺘﺎدهاﻧﺪ. .3ﻣﺸﺨﺼﺎت داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺣﺪاﻗﻞ درس COM333را اﻧﺘﺨﺎب ﻛﺮدهاﻧﺪ. .4ﻧﺎم داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم درﺳﻬﺎي ﻫﻢ ﮔﺮوه ﺑﺎ COM333را اﻧﺘﺨﺎب ﻧﻜﺮدهاﻧﺪ. -12ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1ﻗﺪرت ﺟﺒﺮ راﺑﻄﻪاي ﺑﺎ ﺣﺴﺎب راﺑﻄﻪاي ﻳﻜﺴﺎن اﺳﺖ. .2ﺣﺴﺎب راﺑﻄﻪاي ﺑﺎ ﺣﺴﺎب راﺑﻄﻪ ي ﺗﺎﭘﻠﻲ از ﻗﺪرت ﻣﺤﺎﺳﺒﺎﺗﻲ ﻣﺴﺎوي ﺑﺮﺧﻮردارﻧﺪ. .3ﺣﺴﺎب راﺑﻄﻪاي ﻣﺒﺘﻨﻲ ﺑﺮ ﺷﺎﺧﻪاي از زﻳﺎﺿﻴﺎت ﺑﻪ ﻧﺎم Predicate calculus
ﻣﻲﺑﺎﺷﺪ. .4ﺟﺒﺮ راﺑﻄﻪاي ﺗﻮﺻﻴﻔﻲ اﺳﺖ در ﺣﺎﻟﻲ ﻛﻪ ﺣﺴﺎب راﺑﻄﻪاي دﺳﺘﻮري اﺳﺖ.
ﭘﺎﺳﺦ ﺗﺴﺘﻬﺎي ﺳﺮي 7 (3) -1در رﻳﺎﺿﻴﺎت ﻣﻲداﻧﻴﻢ ﻛﻪ p→ q = NOT p OR q
(1) -2 (2) -3ﻋﺒﺎرت STﺗﻤﺎم راﺑﻄﻪ STTرا ﻣﻲدﻫﺪ) .ﺗﻤﺎم ﺗﺎﭘﻠﻬﺎي آن را( (1) -4 (2) -5ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ وﻗﺘﻲ اﻃﻼﻋﺎت ﻓﻘﻂ در ﻳﻚ ﺟﺪول اﺳﺖ از ﺳﻮرﻫﺎي EXISTSﻳﺎ FORALLاﺳﺘﻔﺎده ﻧﻤﻲﺷﻮد. (3) -6
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
302ﭘﺎﻳﮕﺎه داده ﻫﺎ
(3) -7 (4) -8 (1) -9 (4) -10 (1) -11 (4) -12ﺣﺴﺎب راﺑﻄﻪاي ﺗﻮﺻﻴﻔﻲ ﻳﺎ ﻧﺎروﻳﻪاي اﺳﺖ وﻟﻲ ﺟﺒﺮ راﺑﻄﻪاي دﺳﺘﻮري ﻳﺎ روﻳﻪاي اﺳﺖ.
ﺗﺴﺖ ﻫﺎي ﺳﺮي 8 SQL -1ﭼﻴﺴﺖ ؟ .1ﻳﻚ زﺑﺎن ﻗﻮي اﺳﺖ ﺑﺮاياﻳﺠﺎد و دﺳﺘﺮﺳﻲ ﺑﻪ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ .2ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي اﺳﺖ ﻛﻪ از DBMSﻓﺮﻣﺎن ﻣﻲﮔﻴﺮد. .3ﻗﺴﻤﺘﻲ از ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ اﺳﺖ و ﻣﺨﺼﻮص دﺳﺘﻜﺎري دادهﻫﺎ ﻣﻲﺑﺎﺷﺪ. DDL .4و DMLروي ﻫﻢ SQLرا ﻣﻲﺳﺎزﻧﺪ. -2ﻛﺪام دﺳﺘﻮر SQLﻧﻤﻲﺗﻮاﻧﺪ ﺑﺎﻋﺚ ﺑﻪ وﺟﻮد آﻣﺪن ﻧﺎﺳﺎزﮔﺎري در دادهﻫﺎ ﺷﻮد ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت .1 .2 .3 .4
303
INSERT DELETE UPDATE SELECT
-3در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ))ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪه -ﻗﻄﻌﻪ -ﭘﺮوژه((دﺳﺘﻮر SQLزﻳﺮ ﭼﻪ ﺧﺮوﺟﻲ ﺗﻮﻟﻴﺪ ﻣﻲﻛﻨﺪ ؟ Select S# , P# , J# From S , P , J Where S.city=P.city AND P.city=J.city
.1ﺷﻤﺎره ﺗﻤﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن -ﺷﻤﺎره ﻗﻄﻌﻪ و ﺷﻤﺎره ﭘﺮوژهﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه ﻗﻄﻌﻪ و ﭘﺮوژه دو ﺑﻪ دو از ﻳﻚ ﺷﻬﺮ ﻧﻴﺴﺘﻨﺪ. .2ﺷﻤﺎره ﺗﻤﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن -ﺷﻤﺎره ﻗﻄﻌﻪ و ﺷﻤﺎره ﭘﺮوژهﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ از ﻳﻚ ﺷﻬﺮ ﻫﺴﺘﻨﺪ. .3ﺷﻤﺎره ﺗﻤﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن -ﺷﻤﺎره ﻗﻄﻌﻪ و ﺷﻤﺎره ﭘﺮوژهﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ از ﻳﻚ ﺷﻬﺮ ﻧﻴﺴﺘﻨﺪ. .4ﺷﻤﺎره ﺗﻤﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن -ﺷﻤﺎره ﻗﻄﻌﻪ و ﺷﻤﺎره ﭘﺮوژهﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه ﻗﻄﻌﻪ و ﭘﺮوژه دوﺑﻪ دو از ﻳﻚ ﺷﻬﺮ ﻫﺴﺘﻨﺪ. -4اﮔﺮ ﺟﺪول Pداراي ﻓﻴﻠﺪﻫﺎي ) ، (P# , Pname , Color , Weight , cityﺟﺪول S داراي ﻓﻴﻠﺪﻫﺎي ) (S# , Sname , Status , Cityو ﺟﺪول SPداراي ﻓﻴﻠﺪﻫﺎي (S# , P# ,
) Cityﺑﺎﺷﻨﺪ ﺑﺎ زﺑﺎن SQLﺑﻪ ﺳﻮال زﻳﺮ ﭘﺎﺳﺦ دﻫﻴﺪ: ))ﺗﻤﺎم ﺟﻔﺖ ﺷﻬﺮﻫﺎﻳﻲ ) (Cityرا ﺑﻴﺎﻳﻴﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه ) (Sﺳﺎﻛﻦ ﺷﻬﺮ اول ،ﻗﻄﻌﻪاي )(P اﻧﺒﺎر ﺷﺪه و ﺷﻬﺮ دوم را ﺗﻬﻴﻪ ﻛﺮده ﺑﺎﺷﺪ(( . .1 Salect city From S , P Where S.city = P.city
.2 Salect S.city , P.city From S , P Where S.city = P.city
.3
Salect distinct S. city,P.city From S,P, SP
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
304ﭘﺎﻳﮕﺎه داده ﻫﺎ Where S. S# = SP.S# AND SP.P# = P.P#
.4ﻫﻴﭽﻜﺪام -5ﻣﻨﻈﻮر از SQLﭼﻴﺴﺖ ؟ .1زﺑﺎن ﭘﺮس و ﺟﻮي ﺳﺎﺧﺖ ﻳﺎﻓﺘﻪ اﺳﺖ. .2زﺑﺎن ﻓﺮﻋﻲ دادهاي اﺳﺖ. .3زﺑﺎن دادهاي ﻣﺴﺘﻘﻞ اﺳﺖ. .4ﻫﻤﺎن زﺑﺎن ﻣﻴﺰﺑﺎن اﺳﺖ. -6دﺳﺘﻮر ﻣﻘﺎﺑﻞ ﻧﺎم ﭼﻪ اﻓﺮادي را ﭼﺎپ ﻣﻲﻛﻨﺪ ؟ Select name From T "%رﺿﺎ where name like"%
) ﻓﺮض ﻛﻨﻴﺪ Tﺟﺪوﻟﻲ اﺳﺖ ﻛﻪ ﻳﻜﻲ از ﺳﺘﻮن ﻫﺎي آن ﻧﺎم ) ( nameﻣﻲﺑﺎﺷﺪ( . .1اﻓﺮادي را ﭼﺎپ ﻣﻲﻛﻨﺪ ﻛﻪ ))رﺿﺎ(( در ﻧﺎم آﻧﻬﺎ آﻣﺪه اﺳﺖ. .2اﻓﺮادي را ﻛﻪ اﺳﻢ آﻧﻬﺎ ))رﺿﺎ(( ﺑﺎﺷﻨﺪ ﭼﺎپ ﻣﻲﻛﻨﺪ. .3اﻓﺮادي را ﻛﻪ اﺳﻢ ﻓﺎﻣﻴﻞ آﻧﻬﺎ ))رﺿﺎ(( اﺳﺖ ﻓﻘﻂ ﭼﺎپ ﻣﻲﻛﻨﺪ. .4اﻓﺮادي را ﻛﻪ اﺳﻢ ﻳﺎ اﺳﻢ ﻓﺎﻣﻴﻞ آﻧﻬﺎ ))رﺿﺎ(( اﺳﺖ ﭼﺎپ ﻣﻲﻛﻨﺪ. -7ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ دو ﺟﺪول Sو Tﻛﺪام دﺳﺘﻮر ﺑﺎﻋﺚ ﻧﻤﺎﻳﺶ ﺧﺮوﺟﻲ زﻳﺮ ﻣﻲﺷﻮد ؟ ﺧﺮوﺟﻲ
:
Name
T: Name
S:Name
Able
Able
Able
Charlie
Baker
Bravo
Exitor
Charlie
Charlie
Goober
Exitor
Decon
Falconer
Exitor
Fuber
Goober
Goobar
.1 .2
; Select * From S union select * From T ; Select * From S Minus select * From T
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
305
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت Select * From S,T where S.Name = T.name ; Select * From S Intersect select * From T ;
.3 .4
ﻛﺪام دﺳﺘﻮر ﺧﺮوﺟﻲ زﻳﺮ را ﻣﻲدﻫﺪ ؟T وS ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ دو ﺟﺪول-8 S:Name
T: Name
Name
Able
Able
Bravo
Bravo
Baker
Decon
Charlie
Charlie
Decon
Dean
Exitor
Exitor
Goober
Falconer
:
ﺧﺮوﺟﻲ
Fuber Goobar
Select * From T Intersect select Select * From T Minus select Select * From S Minus select Select * From T Union select
* From S ; * From S ; * From T ; * From S ;
.1 .2 .3 .4
زﻳﺮSQL در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﻧﺘﻴﺠﻪ ﻧﻬﺎﻳﻲ دﺳﺘﻮر ﺷﺒﻪ-9 ﭼﻴﺴﺖ؟ CREATE VIEW V AS ((S JOIN SP) where P# = 'P2') {S# , city} ; Result: = ( V where city = 'london') {s#} ;
را ﺗﻮﻟﻴﺪP2 ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪه را ﺑﺮاي ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﻟﻨﺪن ﻛﻪ ﻗﻄﻌﻪ.1 . ﻣﻲدﻫﺪ،ﻣﻲﻛﻨﻨﺪ . ﻣﻲدﻫﺪ، ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪه را ﺑﺮاي ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﺳﺎﻛﻦ ﺷﻬﺮ ﻟﻨﺪن.2 . ﻣﻲدﻫﺪ،P2 ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪه را ﺑﺮاي ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎن ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪه ﻗﻄﻌﻪ.3 ﺷﻬﺮ و ﺷﻤﺎره ﻋﺮﺿﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻗﻄﻌﻪ اﻧﺒﺎر ﺷﺪه در ﺷﻬﺮ ﻟﻨﺪن را.4 .ﺗﻮﻟﻴﺪ ﻛﺮدهاﻧﺪ ﭼﻪ ﻣﻲﻛﻨﺪ ؟SQL دﺳﺘﻮر روﺑﺮو در-10 Select * From SP
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
306ﭘﺎﻳﮕﺎه داده ﻫﺎ
.1ﺗﻤﺎم ﺟﺪول SPرا ﭼﺎپ ﻣﻲﻛﻨﺪ. .2اﻳﻦ دﺳﺘﻮر ﻏﻠﻂ اﺳﺖ ﭼﻮن ﻗﺴﻤﺖ whereﻧﺪارد. .3ﻧﺎم ﺗﻤﺎم ﻓﻴﻠﺪﻫﺎي ﺟﺪول SPرا ﭼﺎپ ﻣﻲﻛﻨﺪ. .4ﻛﻞ اﻃﻼﻋﺎت ﺳﺘﻮن ﻫﺎي اول و آﺧﺮ ﺟﺪول را ﭼﺎپ ﻣﻲﻛﻨﺪ. -11دﺳﺘﻮر زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟ Select S.*, P. * from S, P
.1ﺗﻤﺎم ﺳﻄﺮﻫﺎ و ﺳﺘﻮﻧﻬﺎي دو ﺟﺪول Sو Pرا زﻳﺮ ﻫﻢ ﭼﺎپ ﻣﻲﻛﻨﺪ. .2دو ﺟﺪول Sو Pرا ﺑﻪ ﻃﻮر ﻛﺎﻣﻞ ﻛﻨﺎر ﻫﻢ ﭼﺎپ ﻣﻲﻛﻨﺪ. .3ﺿﺮب ﻛﺎرﺗﺰﻳﻦ دو ﺟﺪول Sو Pرا ﻣﻲدﻫﺪ. .4ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ دو ﺟﺪول Sو Pرا ﻣﻲدﻫﺪ. -12دﺳﺘﻮر زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟ Select S# from S )Where city = (select city from S where S# = S1 .1ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه S1ﻗﻄﻌﺎت ﺧﻮد را در آن اﻧﺒﺎر
ﻛﺮده اﺳﺖ. .2ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ در ﻫﻤﺎن ﺷﻬﺮي ﺳﺎﻛﻦ ﺑﺎﺷﻨﺪ ﻛﻪ S1ﺳﺎﻛﻦ اﺳﺖ. .3اﻳﻦ ﻃﺮز ﻧﻮﺷﺘﻦ اﺻﻼً در SQLﻗﺎﺑﻞ ﻗﺒﻮل ﻧﻴﺴﺖ. .4ﺷﻬﺮ ﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه S1در آن ﺟﺎ ﺷﻌﺒﻪ دارد. -13ﺑﺎ ﻛﺪام دﺳﺘﻮر SQLزﻳﺮ ﻣﻲﺗﻮان ﻃﻮل ﻓﻴﻠﺪ رﺷﺘﻪاي را از 30ﺑﻪ 40اﻓﺰاﻳﺶ داد ؟ .1 .2 .3
…Alter table … Modify … Alter table … Add …Alter table … Replace
.4اﻳﻨﻜﺎر ﺑﺎاﻳﻦ دﺳﺘﻮر اﻣﻜﺎن ﭘﺬﻳﺮ ﻧﻤﻲﺑﺎﺷﺪ. -14اﮔﺮ teacherﻧﺎم ﺟﺪول ﻣﺸﺨﺼﺎت اﺳﺎﺗﻴﺪ و Secﺟﺪول ﮔﺮوه درس ) ﺷﺎﻣﻞ ﻓﻴﻠﺪﻫﺎي ﺷﻤﺎره درس ،ﺷﻤﺎره داﻧﺸﺠﻮ ،ﻧﺎم اﺳﺘﺎد و ﻧﻤﺮه ( و ﻧﻴﺰ tnameﻧﺎم اﺳﺘﺎد ﺑﺎﺷﺪ، آﻧﮕﺎه دﺳﺘﻮر SQLزﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
307
Select * from teacher where tname in ( select tname from sec where score = 10 And tname ;)) " ﺑﻬﺘﺎش "و "اﻣﻴﺮي "( not in
.1ﻣﺸﺨﺼﺎت اﺳﺎﺗﻴﺪ اﻣﻴﺮي و ﺑﻬﺘﺎش ﻛﻪ ﻧﻤﺮه 10ﻧﺪادهاﻧﺪ را ﻣﻲدﻫﺪ. .2ﻣﺸﺨﺼﺎت اﺳﺎﺗﻴﺪي را ﻣﻲدﻫﺪ ﻛﻪ داﻧﺸﺠﻮﻳﺎن آﻧﻬﺎ از ﺗﻤﺎم دروس 10ﮔﺮﻓﺘﻪاﻧﺪ ) ﺑﻪ ﺟﺰ ﺑﻬﺘﺎش و اﻣﻴﺮي ( .3ﻣﺸﺨﺼﺎت اﺳﺎﺗﻴﺪي ﺑﻪ ﺟﺰ اﻣﻴﺮي و ﺑﻬﺘﺎش ﻛﻪ ﻧﻤﺮه 10دادهاﻧﺪ را ﻧﻤﺎﻳﺶ ﻣﻲدﻫﺪ. .4ﻣﺸﺨﺼﺎت اﺳﺎﺗﻴﺪي را ﻣﻲدﻫﺪ ﻛﻪ ﺑﻪ داﻧﺸﺠﻮﻳﺎﻧﻲ درس دادهاﻧﺪ ﻛﻪ ﻧﻤﺮه 10 ﮔﺮﻓﺘﻪاﻧﺪ وﻟﻲ ﺟﺰو ﺷﺎﮔﺮدان ﺑﻬﺘﺎش و اﻣﻴﺮي ﻧﻤﻲﺑﺎﺷﻨﺪ. -15ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟ .1در SQLﺑﺮاي اﻧﺠﺎم ﻳﻚ ﻋﻤﻞ راه ﺣﻞ ﻫﺎي ﻣﺘﻌﺪدي وﺟﻮد دارد واﻳﻦ ﻳﻜﻲ از ﻣﻬﻤﺘﺮﻳﻦ ﻣﺰاﻳﺎي SQLاﺳﺖ. .2ﻫﺮﮔﺎه ﭘﺮس و ﺟﻮﺋﻲ را در SQLﻫﻢ ﺑﺘﻮان ﺑﺎ ﭘﻴﻮﻧﺪ ﺟﺪاول اﻧﺠﺎم داد و ﻫﻢ ﺑﺎ Selectﻣﺘﺪاﺧﻞ ﺑﺮاي ﺑﺎﻻﺑﺮدن ﻛﺎراﻳﻲ ﺑﻬﺘﺮ اﺳﺖ از Selectﻣﺘﺪاﺧﻞ اﺳﺘﻔﺎده ﻛﻨﻴﻢ. .3در SQLﺗﺎﺑﻊ )*( Countﺳﻄﺮﻫﺎي NULLرا ﻧﻤﻲﺷﻤﺎرد. .4در دﺳﺘﻮر selectﺑﻪ ﺟﺎي betweenﻣﻲﺗﻮان از ANDو ﺑﻪ ﺟﺎي INﻣﻲﺗﻮان از ORاﺳﺘﻔﺎده ﻛﺮد. -16ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ SQL .1ﻳﻚ زﺑﺎن ﻣﺒﺪل اﺳﺖ ﻳﻌﻨﻲ ﻳﻚ ﻳﻪ ﭼﻨﺪ راﺑﻄﻪ را ﺑﻪ ﻋﻨﻮان ورودي ﻗﺒﻮل ﻣﻲﻛﻨﺪ و ﻧﺘﻴﺠﻪ ﻋﻤﻠﻴﺎت روي آﻧﻬﺎ ﻫﻤﻮاره ﻳﻚ راﺑﻄﻪ اﺳﺖ. .2ﺟﺒﺮ راﺑﻄﻪاي ﺧﺎﺻﻴﺖ ))ﺑﺴﺘﻪ ﺑﻮدن(( دارد .ﻳﻌﻨﻲ ﻋﻤﻠﻮﻧﺪ ﻫﺎ راﺑﻄﻪ اﺳﺖ و ﻧﺘﻴﺠﻪ ﻧﻴﺰ راﺑﻄﻪ ﻣﻲﺑﺎﺷﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
308ﭘﺎﻳﮕﺎه داده ﻫﺎ
.3ﺑﻪ ﺧﺎﻃﺮ ﺑﺴﺘﻪ ﺑﻮدن SQLو ﺟﺒﺮ راﺑﻄﻪاي ﻣﻲﺗﻮان ﻣﺤﺎﺳﺒﺎت ﺗﻮدرﺗﻮ در ﻫﺮ دو داﺷﺖ. SQL .4ﻳﻚ زﺑﺎن proceduralﻣﻲﺑﺎﺷﺪ. -17ﻛﺪاﻣﻴﻚ از زﺑﺎن ﻫﺎي ﻧﺴﻞ زﻳﺮ ،در ﺟﻬﺖ ﺗﻘﻠﻴﺪ زﺑﺎن ﻃﺒﻴﻌﻲ اﺳﺖ ؟ .1 .2 .3 .4
3GL 4GL Access SGL
-18ﺑﺮاي اﻳﺠﺎد ﺟﺪول ﭘﺎﻳﻪ از ﭼﻪ دﺳﺘﻮري در SQLاﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ ؟ .1 .2 .3 .4
create table create dbms struct table struct dbms
-19دﺳﺘﻮر زﻳﺮ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﭼﻪ ﻣﻲﻛﻨﺪ ؟ Select S#, status from S "Where city = "Tabriz Order by status desc
.1ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ در ﺷﻬﺮ ﺗﺒﺮﻳﺰ داراي وﺿﻌﻴﺖ ﻧﺰوﻟﻲ ﻣﻲﺑﺎﺷﻨﺪ. .2ﺷﻤﺎره و وﺿﻌﻴﺖ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ در ﺷﻬﺮ ﺗﺒﺮﻳﺰ ﻫﺴﺘﻨﺪ ،ﻣﺮﺗﺐ ﺷﺪه ﺑﺮ اﺳﺎس وﺿﻌﻴﺖ ﺑﻪ ﺻﻮرت ﻧﺰوﻟﻲ .3ﺷﻤﺎره و وﺿﻌﻴﺖ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ در ﺷﻬﺮ ﺗﺒﺮﻳﺰ ﻫﺴﺘﻨﺪ ،ﻣﺮﺗﺐ ﺷﺪه ﺑﺮ اﺳﺎس وﺿﻌﻴﺖ ﺑﻪ ﺻﻮرت ﺻﻌﻮدي .4وﺿﻌﻴﺖ و ﺷﻬﺮ ﺷﺮﻛﺘﻬﺎﺋﻲ را ﻣﻲدﻫﺪ ﻛﻪ در ﺗﺒﺮﻳﺰ وﺿﻌﻴﺖ ﻧﺰوﻟﻲ دارﻧﺪ. -20دﺳﺘﻮر زﻳﺮ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﭼﻪ ﻣﻲﻛﻨﺪ ؟ Update S Set status=3 * status 'Where city = 'Tehran
.1ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ ﻛﻪ وﺿﻌﻴﺖ ﺳﻪ ﺑﺮاﺑﺮ ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪﮔﺎن ﺗﻬﺮان دارﻧﺪ را ﺣﺬف ﻣﻲﻛﻨﺪ. .2وﺿﻌﻴﺖ ﺗﻮﻟﻴﺪﻛﻨﻨﺪﮔﺎن ﺳﺎﻛﻦ ﺷﻬﺮ ﺗﻬﺮان را ﺳﻪ ﺑﺮاﺑﺮ ﻣﻲﻛﻨﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
309
.3وﺿﻌﻴﺖ ﺗﻮﻟﻴﺪﻛﻨﻨﺪﮔﺎن ﺳﺎﻛﻦ ﺷﻬﺮ ﺗﻬﺮان را ﺑﺮاﺑﺮ ﻋﺪد 3ﻣﻲﻛﻨﺪ. .4ﺷﻬﺮﻫﺎﻳﻲ ﻛﻪ وﺿﻌﻴﺖ ﺳﻪ ﺑﺮاﺑﺮ ﺗﻬﺮان دارﻧﺪ را ﺑﻪ روز در ﻣﻲآورد. -21اﮔﺮ Sﻳﻚ دﻳﺪ ﺑﺮ روي ﺟﺪول ﭘﺎﻳﻪاي Aﺑﺎﺷﺪ ،ﺑﺮاي آﻧﻜﻪ ﻫﺮ ﮔﻮﻧﻪ اﺻﻼًﺣﻲ روي دﻳﺪ Sﻣﺠﺎز ﺑﺎﺷﺪ ﻛﺪام ﻣﺤﺪودﻳﺖ ﺑﺎﻳﺪ رﻋﺎﻳﺖ ﺷﻮد ؟ .1دﻳﺪ Sﺑﺎﻳﺪ ﺗﻤﺎم ﻓﻴﻠﺪﻫﺎي NULLﺟﺪول Aرا داﺷﺘﻪ ﺑﺎﺷﺪ. .2دﻳﺪ Sﺑﺎﻳﺪ ﺷﺎﻣﻞ ﻛﻠﻴﺪ اﺻﻠﻲ ﺟﺪول Aﺑﺎﺷﺪ. .3دﻳﺪ Sﺑﺎﻳﺪ ﺷﺎﻣﻞ ﻛﻠﻴﺪ ﻓﺮﻋﻲ ﺟﺪول Aﺑﺎﺷﺪ. .4ﻫﻴﭻ ﺷﺮط ﺧﺎﺻﻲ ﺑﺮاياﻳﻦ ﻣﻮﺿﻮع ﻻزم ﻧﻤﻲﺑﺎﺷﺪ. -22اﮔﺮ ﻋﺒﺎرﺗﻲ را ﺑﺨﻮاﻫﻴﻢ ،ﻛﻪ ﺑﺎ ABCﺷﺮوع ﻣﻲﺷﻮﻧﺪ از ﻛﺪام ﮔﺰﻳﻨﻪ اﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ؟ .1 .2 .3 .4
-23دو
starting ABC like ABC% like ABC$ *like ABC ﺟﺪول ) S (x , y , z , wو )' S'(x , y , z' , wرا در ﻧﻈﺮ ﮔﺮﻓﺘﻪ و ﺑﮕﻮﺋﻴﺪ ﭘﺲ از
اﺟﺮاي دﺳﺘﻮر زﻳﺮ ،دﻳﺪ Vﭼﻪ ﺳﺘﻮﻧﻬﺎﻳﻲ ﺧﻮاﻫﺪ داﺷﺖ ؟ .1 .2 .3 .4
Create View V AS )'(Select x,y from S) union (select x,y from S ) 'V (x , y , z , w , z' , w ) V (z' , w ) 'V (z , w , z' , w ) V (x , y
-24در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ،ﻛﺪام دﺳﺘﻮر ﺷﻤﺎره ﻗﻄﻌﻪ ﺗﻤﺎم ﻗﻄﻌﺎﺗﻲ را ﻛﻪ ﺗﻮﺳﻂ ﺑﻴﺶ از ﻳﻚ ﺗﻮﻟﻴﺪ ﻛﻨﻨﺪه ﺗﻬﻴﻪ ﺷﺪهاﻧﺪ را ﻣﻲدﻫﺪ ؟ select P# from SP group by S# having count (*)>1 .1 select P# from P ,SP where count (*)>1 .2 select P# from SP group by P# having count (*)>1 .3 select P# from S,P,SP where count (*)>1 .4 -25ﺟﺪول yداراي ﺳﺘﻮن ﻫﺎي priceو codeﻣﻲﺑﺎﺷﺪ .ﻛﺪام دﺳﺘﻮر ﺷﻤﺎره ﻛﺎﻻﺋﻲ ﻛﻪ
ﺑﺎﻻﺗﺮﻳﻦ ﻗﻴﻤﺖ را دارد ،ﭼﺎپ ﻣﻲﻛﻨﺪ ؟ .1 .2 .3
)select code from y where price = (select max(price)from y )select code from y where price = max(price 2,1
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
310ﭘﺎﻳﮕﺎه داده ﻫﺎ .4
)select code from y first , y second where price = max(price
-26در راﺑﻄﻪ ﺑﺎ دﻳﺪ ﺗﻌﺮﻳﻒ ﺷﺪه زﻳﺮ ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ ﻣﻲﺑﺎﺷﺪ ؟ )ﺟﺪول ﭘﺎﻳﻪاي R
داراي ﺳﺘﻮﻧﻬﺎي x , y , zﻣﻲﺑﺎﺷﺪ ( ) Create view K(x , y ,w )AS select x , y , sum (z From R
.1در دﻳﺪ Kﻣﻲﺗﻮان ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را اﻧﺠﺎم داد وﻟﻲ اﺳﺘﻘﻼل دادهاي ﻧﻘﺾ ﻣﻲﺷﻮد. .2ﭼﻮن selectﻗﺴﻤﺖ whereﻧﺪارد ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي ﻋﻮﻟﺮض ﻧﺎﻣﻄﻠﻮب ﺧﻮاﻫﺪ داﺷﺖ. .3در دﻳﺪ kﻧﻤﻲﺗﻮان ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را اﻧﺠﺎم داد. .4در دﻳﺪ kﻣﻲﺗﻮان ﻋﻤﻠﻴﺎت ذﺧﻴﺮه ﺳﺎزي را اﻧﺠﺎم داد. -27دﺳﺘﻮر زﻳﺮ در ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎن و ﻗﻄﻌﺎت ﭼﻪ ﻣﻲﻛﻨﺪ ؟ Select distinct S.city ,P.city From (S Join SP using S# ) Join P using P#
.1ﺗﻤﺎم زوج ﺷﻬﺮﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه ﺷﻬﺮ اول ،ﻗﻄﻌﻪاي را ﺗﻬﻴﻪ ﻣﻲﻛﻨﺪ ﻛﻪ در ﺷﻬﺮ دوم اﻧﺒﺎر ﺷﺪه اﺳﺖ. .2ﺗﻤﺎم زوج ﺷﻬﺮﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه و ﻣﺤﻞ اﻧﺒﺎر ﻳﻜﻲ اﺳﺖ. .3ﺗﻤﺎم زوج ﺷﻬﺮﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه ﺷﻬﺮ دوم ،ﻗﻄﻌﻪاي را ﺗﻬﻴﻪ ﻣﻲﻛﻨﺪ ﻛﻪ در ﺷﻬﺮ اول اﻧﺒﺎر ﺷﺪه اﺳﺖ. .4ﺗﻤﺎم زوج ﺷﻬﺮﻫﺎﻳﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻬﻴﻪ ﻛﻨﻨﺪه و ﻣﺤﻞ اﻧﺒﺎر ﻳﻜﻲ ﻧﺒﺎﺷﻨﺪ. -28دﺳﺘﻮر زﻳﺮ ﭼﻪ ﻣﻲﻛﻨﺪ ؟ Select sname from S )Where S# not in (select S# from SP
.1ﻧﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺗﻤﺎم ﻗﻄﻌﺎت را ﺗﻬﻴﻪ ﻣﻲﻛﻨﻨﺪ. .2ﻧﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻫﻴﭻ ﻗﻄﻌﻪاي را ﺗﻬﻴﻪ ﻧﻤﻲﻛﻨﻨﺪ. .3اﻳﻦ دﺳﺘﻮر ﻏﻠﻂ اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
.4
311
ﻧﺎم ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺣﺪاﻗﻞ ﻳﻚ ﻗﻄﻌﻪ را ﺗﻬﻴﻪ ﻛﺮدهاﻧﺪ.
-29ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟ .1دﺳﺘﻮر select S# from SP Group by S# having Count (S#)>3
ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﺑﻴﺸﺘﺮ از 3ﻗﻄﻌﻪ ﺗﻬﻴﻪ ﻣﻲﻛﻨﻨﺪ. .2دﺳﺘﻮر select S# from SP Group by S# having AVG (Qty)>200
ﺷﻤﺎره ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻣﻴﺎﻧﮕﻴﻦ ﻗﻄﻌﻪ ﺗﻬﻴﻪ ﺷﺪه آﻧﻬﺎ ﺑﻴﺸﺘﺮ از 200ﺑﺎﺷﺪ. .3ﻫﻴﭽﻜﺪام .4ﻫﺮ دو -30ﺟﺪول داﻧﺸﺠﻮ ) (studﺷﺎﻣﻞ دو ﺳﺘﻮن ﻧﺎم ) ( Snameو ﻣﻌﺪل ) ( mﻣﻲﺑﺎﺷﺪ .ﻛﺪام دﺳﺘﻮر ﻧﺎم داﻧﺸﺠﻮﻳﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻣﻌﺪل آﻧﻬﺎ از ﻣﻴﺎﻧﮕﻴﻦ ﻫﻤﻪ ﻣﻌﺪل ﻫﺎ ﺑﻴﺸﺘﺮ اﺳﺖ ؟ Select Sname from stud where m> AVG (m) .1 Select Sname from stud where m> (select AVG (m) from stud) .2
.3ﻫﻴﭽﻜﺪام
.4ﻫﺮدو -31ﻛﺪام دﺳﺘﻮر ﺳﻄﺮﻫﺎﻳﻲ از ﺟﺪول Sرا ﻣﻲدﻫﺪ ﻛﻪ ﺳﺘﻮن cityآن ﻧﺎﺷﻨﺎﺧﺘﻪ ﻧﻤﻲﺑﺎﺷﺪ؟ select * from S where city is not NULL .1 select * from S where not (city is NULL) .2 2,1 .3 select * from S where city = not NULL .4 Group by -32در SQLﭘﻴﺎده ﺳﺎزي ﻛﺪام ﻋﻤﻠﮕﺮ در ﺟﺒﺮ راﺑﻄﻪاي اﺳﺖ ؟ Restrict .1 Summarize .2 extend .3 union .4 -33ﻋﻤﻠﮕﺮ INدر SQLﻣﻌﺎدل ﻛﺪام ﻋﻤﻠﮕﺮ اﺳﺖ ؟ .1 .2 .3 .4
=ANY <ANY ALL = ALL
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
312ﭘﺎﻳﮕﺎه داده ﻫﺎ
-34ﻛﺪام ﻧﻮع ﺟﺪول ﻫﻤﻮاره ﻗﺎﺑﻞ دﺳﺘﺮﺳﻲ اﺳﺖ وﻟﻲ ﻣﻤﻜﻦ اﺳﺖ ﺑﻬﻨﮕﺎم ﺳﺎزي در آن اﻣﻜﺎن ﭘﺬﻳﺮ ﻧﺒﺎﺷﺪ ؟ .1ﺟﺪول اﺻﻠﻲ .2ﺟﺪول ﻣﺠﺎزي .3ﺟﺪول ﻣﻮﻗﺘﻲ .4ﻫﺮﺳﻪ ﮔﺰﻳﻨﻪ -35ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ را ﻛﺎﻣﻼ راﺑﻄﻪاي ) ( Fully relationalﮔﻮﻳﻴﻢ اﮔﺮ: .1ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻔﺎﻫﻴﻢ و ﺳﺎﺧﺘﺎر راﺑﻄﻪاي ﺑﻮده و در DSLآن ،ﻫﻤﺎن زﺑﺎن ﺟﺒﺮ راﺑﻄﻪاي ﺑﺎﺷﺪ. .2ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻔﺎﻫﻴﻢ و ﺳﺎﺧﺘﺎر راﺑﻄﻪاي ﺑﻮده و در DSLآن ،ﻫﻤﺎن زﺑﺎن ﻣﺤﺎﺳﺒﺎت راﺑﻄﻪاي ﺑﺎﺷﺪ. .3ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻔﺎﻫﻴﻢ و ﺳﺎﺧﺘﺎر راﺑﻄﻪاي ﺑﻮده و در DSLآن ﺣﺪاﻗﻞ ﻫﻢ ﺗﻮان زﺑﺎن ﻣﺤﺎﺳﺒﺎت راﺑﻄﻪاي ﺑﺎﺷﺪ. .4ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻔﺎﻫﻴﻢ و ﺳﺎﺧﺘﺎر راﺑﻄﻪاي ﺑﻮده و در DSLآن ﺣﺪاﻗﻞ ﻫﻢ ﺗﻮان زﺑﺎن ﺟﺒﺮ راﺑﻄﻪاي ﺑﺎﺷﺪ. ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 8 SQL (1) -1زﺑﺎن ﭘﺮس و ﺟﻮي ﺳﺎﺧﺘﻴﺎﻓﺘﻪ و ﻗﻮي ﺑﺮاياﻳﺠﺎد ،ﺟﺴﺘﺠﻮ و دﺳﺘﻜﺎري دادهﻫﺎي ﻳﻚ ﺑﺎﻧﻚ ﻣﻲﺑﺎﺷﺪ. (4) -2دﺳﺘﻮر selectﻓﻘﻂ ﺑﺮاي ﺟﺴﺘﺠﻮ در ﺑﺎﻧﻚ اﺳﺖ و ﺗﻐﻴﻴﺮي را در آناﻳﺠﺎد ﻧﻤﻲﻛﻨﺪ .ﺗﻨﻬﺎ دﺳﺘﻮراﺗﻲ ﻛﻪ ﺑﺎﻋﺚ ﺗﻐﻴﻴﺮ در ﺑﺎﻧﻚ ﻣﻲﺷﻮﻧﺪ ﻣﻲﺗﻮاﻧﻨﺪ اﺣﺘﻤﺎﻻ ﺑﺎﻋﺚ ﻧﺎﺳﺎزﮔﺎري دادهﻫﺎ ﺷﻮﻧﺪ .دﺳﺘﻮر INSERTﺑﺮاي درج DELETE ،ﺑﺮاي ﺣﺬف و UPDATEﺑﺮاي ﺗﻐﻴﻴﺮ اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
313
(2) -3ﺷﺮط ﺟﻠﻮي Whereﻣﻲﮔﻮﻳﻴﺪ ﺷﻬﺮ ﻫﺮ ﺳﻪ )ﺗﻮﻟﻴﺪﻛﻨﻨﺪه-ﻗﻄﻌﻪ و ﭘﺮوژه( ﺑﺎﻳﺪ ﻳﻜﻲ ﺑﺎﺷﺪ. (3) -4 (1) -5اﻟﺒﺘﻪ ﻇﺎﻫﺮا ﮔﺰﻳﻨﻪ 2ﻧﻴﺰ درﺳﺖ ﻣﻲﺑﺎﺷﺪ. (1) -6ﺑﻪ ﺟﺎي ﻋﻼﻣﺖ %ﻫﺮ ﻛﺎراﻛﺘﺮ ﻳﺎ ﻣﺠﻤﻮﻋﻪاي از ﻛﺎراﻛﺘﺮﻫﺎ ﻣﻲﺗﻮاﻧﺪ ﻗﺮار ﮔﻴﺮد ﻣﺜﻞ * ﻣﻮﺟﻮد در DOS (4) -7اﮔﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﺧﺮوﺟﻲ اﺷﺘﺮاك ﺑﻴﻦ دو ﺳﺘﻮن Nameدر دو ﺟﺪول Sو T
ﻣﻲﺑﺎﺷﺪ ﺑﺮاي ﻳﺎﻓﺘﻦ اﺷﺘﺮاك دو ﺟﺪول از Intersectاﺳﺘﻔﺎده ﻣﻲﻛﻨﻴﻢ. (3) -8اﮔﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﺧﺮوﺟﻲ ﺗﻔﺎﺿﻞ S-Tﻣﻲﺑﺎﺷﺪ ﻳﻌﻨﻲ ﭼﻪ ﻧﺎم ﻫﺎﻳﻲ در ﺟﺪول S
ﻫﺴﺖ ﻛﻪ در ﺟﺪول Tﻧﻴﺴﺖ. (1) -9اوﻟﻴﻦ ﻗﺪم در ﭘﺮدازشاﻳﻦ ﺗﻘﺎﺿﺎاﻳﻦ اﺳﺖ ﻛﻪ ﻋﺒﺎرﺗﻲ ﻛﻪ Vرا ﺗﻌﺮﻳﻒ ﻣﻲﻛﻨﺪ ﺑﻪ ﺟﺎي Vﻗﺮار دﻫﻴﻢ: )} ((((S JION SP) where P# = 'P2') {S# , City }Where city = 'London') {S#
اﻳﻦ ﻋﺒﺎرت ﺑﻪ ﺻﻮرت زﻳﺮ ﺧﻼﺻﻪ ﻣﻲﺷﻮد: ((S Where city = 'London') Join }(SP Where P# = 'P2')) {S#
(1) -10 (3) -11 (2) -12اﺑﺘﺪا selectداﺧﻠﻲ اﺟﺮا ﺷﺪه و ﺷﻬﺮ S1را ﻣﻲدﻫﺪ و ﺳﭙﺲ selectﺑﻴﺮوﻧﻲ اﺟﺮا ﻣﻲﺷﻮد و ﺗﻬﻴﻪ ﻛﻨﻨﺪﮔﺎﻧﻲ را ﻣﻲدﻫﺪ ﻛﻪ ﻫﻤﺸﻬﺮي S1ﻣﻲﺑﺎﺷﻨﺪ. (1) -13ﻣﺜﻼ
))ALTER table student Modify (Lname char (40
(3) -14 (4) -15
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
314ﭘﺎﻳﮕﺎه داده ﻫﺎ
ﮔﺰﻳﻨﻪ :1اﻳﻨﻜﻪ در SQLﻳﻚ ﻋﻤﻞ را ﻣﻲﺗﻮان ﺑﻪ ﺻﻮرت ﻫﺎي ﻣﺨﺘﻠﻒ اﻧﺠﺎم داد ﻳﻜﻲ از ﻣﻌﺎﻳﺐ SQLﺑﻪ ﺣﺴﺎب ﻣﻲآﻳﺪ ﭼﺮا ﻛﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ را ﺑﺎاﻳﻦ ﻣﺴﺎﻟﻪ درﮔﻴﺮ ﻣﻲﻛﻨﺪ ﻛﻪ ﻛﺪام راه ﺣﻞ ﻛﺎراﺗﺮ اﺳﺖ. ﮔﺰﻳﻨﻪ :2ﭘﻴﻮﻧﺪ ﺟﺪاول ﻛﺎراﺗﺮ از selectﻣﺘﺪاﺧﻞ اﺳﺖ. ﮔﺰﻳﻨﻪ Count (*) :3ﺑﺮاي ﺷﻤﺎرش ﺳﻄﺮﻫﺎي ﺟﺪاول اﺳﺘﻔﺎده ﻣﻲﺷﻮد دراﻳﻦ ﺗﺎﺑﻊ ﻧﻤﻲﺗﻮان از Distinctاﺳﺘﻔﺎده ﻛﺮد و ﺳﻄﺮﻫﺎي NULLرا ﻫﻢ ﻣﻲﺷﻤﺎرد. SQL (4) -16ﻳﻚ زﺑﺎن ﻣﺤﺎورهاي و ﻏﻴﺮ روﻳﻪاي ) (non- proceduralاﺳﺖ ﻛﻪ در آن ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ ﺗﻨﻬﺎ ﻣﻲﮔﻮﻳﺪ ﭼﻪ ﻣﻲﺧﻮاﻫﺪ وﻟﻲ روش ﺑﺪﺳﺖ آوردن ﺟﻮاب را ﻣﻌﻴﻦ ﻧﻤﻲﺳﺎزد .در راﺑﻄﻪ ﺑﺎ ﮔﺰﻳﻨﻪ ) (1ﻣﻤﻜﻦ اﺳﺖ ﺑﮕﻮﺋﻴﺪ ﺧﺮوﺟﻲ ﻣﻲﺗﻮاﻧﺪ ﻳﻚ ﻋﺪد ﺗﻨﻬﺎ ﺑﺎﺷﺪ .وﻟﻲ ﻫﻤﻴﻦ ﻋﺪد ﺗﻨﻬﺎ ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟﻲ ﻳﻚ دﺳﺘﻮر ،SQLدر واﻗﻊ راﺑﻄﻪاي اﺳﺖ ﻛﻪ ﻳﻚ ﺳﻄﺮ و ﻳﻚ ﺳﺘﻮن دارد. (2) -17 (1) -18 (2) -19 (2) -20 (2) -21 (2) -22 (4) -23 (3) -24 (1) -25 (3) -26اﮔﺮ در دﻳﺪ Kﺗﻐﻴﻴﺮاﺗﻲ دﻫﻴﻢ ﻛﻪ ﺳﺘﻮن Wآن )ﻛﻪ ﺟﻤﻊ ﺳﺘﻮن zﺟﺪول ﭘﺎﻳﻪاي Rﻣﻲﺑﺎﺷﺪ(ﺗﻐﻴﻴﺮ ﻛﻨﺪ ،آﻧﮕﺎه DBMSﻧﻤﻲﺗﻮاﻧﺪ ﺗﻐﻴﻴﺮات Wرا ﺑﻪ Zاﻋﻤﺎل ﻛﻨﺪ. (1) -27 (2) -28
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
315
(4) -29 (2) -30ﺑﺎﻳﺪ ﺗﻮﺟﻪ داﺷﺖ ﻛﻪ ﮔﺰﻳﻨﻪ 1ﻧﺎدرﺳﺖ اﺳﺖ و ﺟﻮاب ﻏﻠﻄﻲ ﻣﻲدﻫﺪ .ﭼﺮا ﻛﻪ ﺗﺎ ﻫﺮ ﺟﺎي ﺟﺪول ﻛﻪ ﭘﻴﺶ ﻣﻲرود ،ﻣﻘﺪار ﺗﺪرﻳﺠﻲ ) AVG(mﻋﺪدي ﻏﻠﻂ را ﻧﺸﺎن ﻣﻲدﻫﺪ در ﺻﻮرﺗﻲ ﻛﻪ اﮔﺮ ﻣﺜﻼ داﻧﺸﺠﻮي ﺳﻄﺮ دﻫﻢ ﻣﻌﺪﻟﺶ ازاﻳﻦ ﻋﺪد ﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ ،در ﺧﺮوﺟﻲ ﻇﺎﻫﺮ ﻣﻲﺷﻮد .در ﮔﺰﻳﻨﻪ 2اﺑﺘﺪا selectداﺧﻠﻲ اﺟﺮاء ﺷﺪه و ﻧﺘﻴﺠﻪ آن ﻛﻪ ﻳﻚ ﻋﺪد اﺳﺖ اﺳﺘﺨﺮاج ﻣﻲﮔﺮدد. (3) -31ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ دو ﻋﺒﺎرت زﻳﺮ ﻣﻌﺎدل ﻳﻜﺪﻳﮕﺮﻧﺪ: ) > is NULLﻧﺎم ﺳﺘﻮن < ( NOT
> is not NULLﻧﺎم ﺳﺘﻮن <
(2) -32 (1) -33 (2) -34 (1) -35
ﺗﺴﺖ ﻫﺎي ﺳﺮي 9 -1ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ))واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ (( درﺳﺖ اﺳﺖ ؟ .1ﺻﻔﺖ ﺧﺎﺻﻪ Yاز راﺑﻄﻪ Rﺑﺎ ﺻﻔﺖ ﺧﺎﺻﻪ Xاز راﺑﻄﻪ Rواﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ دارد ،اﮔﺮ Yﺑﺎ Xواﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ داﺷﺘﻪ ﺑﺎﺷﺪ وﻟﻲ ﺑﺎ ﻫﻴﭻ ﻳﻚ از زﻳﺮ ﻣﺠﻤﻮﻋﻪﻫﺎي Xواﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ. .2ﺻﻔﺖ ﺧﺎﺻﻪ Yاز راﺑﻄﻪ Rﺑﺎ ﺻﻔﺖ ﺧﺎﺻﻪ Xاز راﺑﻄﻪ Rواﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ دارد اﮔﺮ و ﻓﻘﻂ اﮔﺮ در ﻃﻮل ﺣﻴﺎت راﺑﻄﻪ ﺑﻪ ﻫﺮ ﻣﻘﺪار Xﺣﺪاﻗﻞ ﻳﻚ ﻣﻘﺪار Y
ﻣﺘﻨﺎﻇﺮ ﺑﺎﺷﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
316ﭘﺎﻳﮕﺎه داده ﻫﺎ
.3ﻫﺮ دو .4ﻫﻴﭽﻜﺪام -2اﮔﺮ راﺑﻄﻪ } R= {A,B,C,D,E,F,Gداراي FDﻫﺎي زﻳﺮ ﺑﺎﺷﺪ: }F= { AF→BE , FC→DE , F→CD , D→E , C→A
ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﻳﻦ راﺑﻄﻪ ﻛﺪام اﺳﺖ ؟ (A,F,C,D) .1 (F,A) .2 (F,A,G) .3 (F,G) .4 -3ﻛﺪام ﻣﺠﻤﻮﻋﻪ FDﻫﺎ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮﻧﺪ ؟ F = { A→BC , A→D , A→E } .1 F = {AB→C , A→B , A→D , A→E } .2 F = {A→B , A→C , A→D , A→E } .3 F = {A→A , A→B , A→C , A→D , A→E } .4 -4در راﺑﻄﻪ } R = { A,B,C,Dواﺑﺴﺘﮕﻲ ﻫﺎي زﻳﺮ وﺟﻮد دارد: }F= {A→BE , B→C , A→B , AB→C , AC→D
ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ )ﻛﻤﻴﻨﻪ( از واﺑﺴﺘﮕﻲ ﻫﺎ ﻛﺪام اﺳﺖ ؟ { A→B , B→C , A→D } .1 { A→B , A→C , A→D } .2 { B→C , B→D , A→C } .3 { A→B , B→D , D→C} .4 -5راﺑﻄﻪ } R = { A,B,C,D,E,F,Gداراي واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﺎﺑﻌﻲ زﻳﺮ اﺳﺖ: } F= {A→B , BC→DE , AEF→G
ﻛﺪام واﺑﺴﺘﮕﻲ از آن ﻗﺎﺑﻞ اﺳﺘﻨﺘﺎج اﺳﺖ ؟ .1 .2 .3
ACF→DG AC→DE EF→G
1 .4و2 -6ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ دو ﻣﺠﻤﻮﻋﻪ از FDﻫﺎي زﻳﺮ ﺑﺮاي راﺑﻄﻪ }R={A,B,C,D,E
درﺳﺖ اﺳﺖ ؟ } F= {A→B , AB→C, D→AC , D→E } G= {A→BC , D→AE
G .1و Fﻫﻢ ارزﻧﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
317
G .2و Fﻫﻢ ارز ﻧﻴﺴﺘﻨﺪ. G .3ﻣﺠﻤﻮﻋﻪ ﻛﻤﻴﻨﻪ Fﻣﻲﺑﺎﺷﺪ. F .4ﻣﺠﻤﻮﻋﻪ ﺑﻬﻴﻨﻪ Gﻣﻲﺑﺎﺷﺪ. -7ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟ .1ﺑﺮاي ﻫﺮ ﻣﺠﻤﻮﻋﻪ از FDﻫﺎ ،ﺣﺪاﻛﺜﺮ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻫﻢ ارز وﺟﻮد دارد ﻛﻪ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ اﺳﺖ. .2ﺑﺮاي ﻫﺮ ﻣﺠﻤﻮﻋﻪ از FDﻫﺎ ،ﺣﺪاﻗﻞ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻫﻢ ارز وﺟﻮد دارد ﻛﻪ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ اﺳﺖ. .3ﺑﺮاي ﻫﺮ ﻣﺠﻤﻮﻋﻪ از FDﻫﺎ ،دﻗﻴﻘﺎ و ﻓﻘﻂ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻫﻢ ارز وﺟﻮد دارد ﻛﻪ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ اﺳﺖ. .4ﻫﻴﭽﻜﺪام -8اﮔﺮ ﺑﺮاي راﺑﻄﻪ } R= { A,B,C,D,E,F,G,H,I,Jواﺑﺴﺘﮕﻲ ﻫﺎي زﻳﺮ را داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ ﺧﻮاﻫﺪ ﺑﻮد ؟ }F= {ABC→E ,AB→G , B→F , C→J , CJ→I , G→H F .1ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﭘﺬﻳﺮ اﺳﺖ و } {A,B,C,Dﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ.
F .2ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ اﺳﺖ و } {A,B,C,Dﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ. F .3ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ اﺳﺖ و } {A,B,C,D,Gﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ. F .4ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﭘﺬﻳﺮ اﺳﺖ و } {A,B,Cﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ. -9راﺑﻄﻪ TIMETABLEرا ﺑﺎ ﺻﻔﺎت زﻳﺮ در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ: دوره زﻣﺎﻧﻲ در روز ) 1ﺗﺎ P =( 8 ﺷﻤﺎره درس = L
ﻧﺎم ﻣﻌﻠﻢ =T
و
ﺷﻤﺎره روز ﻫﻔﺘﻪ = D ﺷﻤﺎره ﻛﻼس = C
ﻓﺮض ﻛﻨﻴﺪ ﻫﺮ درس در دوره ﺧﺎﺻﻲ ) (D,Pاراﺋﻪ ﻣﻲﺷﻮد و ﺷﻤﺎره دروس ﻣﻨﺤﺼﺮ ﺑﻪ ﻓﺮد ﻣﻲﺑﺎﺷﻨﺪ .ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪاﻳﻦ راﺑﻄﻪ ﻛﺪام اﺳﺖ ؟ .1 .2 .3
L DPC DPT
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
318ﭘﺎﻳﮕﺎه داده ﻫﺎ
.4ﻫﺮﺳﻪ ﮔﺰﻳﻨﻪ -10ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ ﻣﺠﻤﻮﻋﻪ واﺑﺴﺘﮕﻲ زﻳﺮ ﻛﺪام اﺳﺖ ؟ .1 .2 .3 .4
}F={A→D , A→C , CD→B , AD→C }{CD→B , AD→C }{A→D , A→C , AD→C }{A→D , CD→B , AD→C } {A→D , A→C , CD→B
-11از ﻣﺠﻤﻮﻋﻪ FDزﻳﺮ ﻛﺪام راﺑﻄﻪ را ﻧﻤﻲﺗﻮان اﺳﺘﻨﺘﺎج ﻛﺮد ؟ .1 .2 .3 .4
}F= {A→D, CD→B , AD→C C→B A→B A→C A→CD
-12ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟ .1ﺑﻪ ﻣﺠﻤﻮﻋﻪ ﺗﻤﺎم واﺑﺴﺘﮕﻲ ﻫﺎي اﺳﺘﻨﺘﺎج ﺷﺪه ،ﻣﺠﻤﻮﻋﻪ ﭘﻮﺷﺸﻲ ﻣﻲﮔﻮﺋﻴﻢ. .2اﮔﺮ ﻣﺠﻤﻮﻋﻪ ﭘﻮﺷﺸﻲ دو ﻣﺠﻤﻮﻋﻪ FDﺑﺎ ﻫﻢ ﺑﺮاﺑﺮ ﺑﺎﺷﻨﺪ آﻧﮕﺎه دو ﻣﺠﻤﻮﻋﻪ واﺑﺴﺘﮕﻲ ﺑﺎ ﻫﻢ ﻣﻌﺎدﻟﻨﺪ. .3ﻗﻮاﻧﻴﻦ 3ﮔﺎﻧﻪ آرﻣﺴﺘﺮاﻧﮓ ﺑﺮاي ﺑﺪﺳﺖ آوردن ﻣﺠﻤﻮﻋﻪ ﭘﻮﺷﺸﻲ ﻛﺎﻓﻲ اﺳﺖ. .4ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ -13ﻧﻤﻮدار واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ: .1ﻧﻤﻮداري اﺳﺖ ﻛﻪ ﺟﺪاول را ﺗﺠﺰﻳﻪ ﻣﻲﻛﻨﺪ. .2ﻧﻤﻮداري اﺳﺖ ﻛﻪ ﺷﺮوع ﻛﺎر آن ﺑﺎ ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ اﺳﺖ. .3ﻧﻤﻮداري اﺳﺖ ﻛﻪ ﺷﺮوع ﻛﺎر آن ﺑﺎ ﻛﻠﻴﺪﻫﺎي ﺧﺎرﺟﻲ اﺳﺖ. .4ﻧﻤﻮداري اﺳﺖ ﻛﻪ واﺑﺴﺘﮕﻲ ﺑﻪ ﻛﻠﻴﺪ ﺧﺎرﺟﻲ را ﻧﻤﺎﻳﺶ ﻣﻲدﻫﺪ. -14واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺑﺪﻳﻬﻲ ﻛﺪام اﺳﺖ ؟ .1اﮔﺮ ﺳﻤﺖ ﭼﭗ آن ،زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از ﺳﻤﺖ راﺳﺖ ﺑﺎﺷﺪ. .2اﮔﺮ ﺳﻤﺖ ﭼﭗ آن ﻗﺎﺑﻞ ﺗﺠﺰﻳﻪ ﺷﺪن ﻧﺒﺎﺷﺪ. .3اﮔﺮ ﺳﻤﺖ راﺳﺖ آن ﻓﻘﻂ ﻳﻚ ﺻﻔﺖ ﺧﺎﺻﻪ ﺑﺎﺷﺪ. .4اﮔﺮ ﺳﻤﺖ راﺳﺖ آن ،زﻳﺮ ﻣﺠﻤﻮﻋﻪاي از ﺳﻤﺖ ﭼﭗ ﺑﺎﺷﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
319
-15در راﺑﻄﻪ } R = {A,B,C,D,E,F,Gﺑﺎ FDﻫﺎي زﻳﺮ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻛﺪام اﺳﺖ ؟ .1 .2 .3 .4
}F= {D→A , E→B , A→B , AB→EFC )(A,B,D )(D )(D,G )(B,D,E
-16ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1در راﺑﻄﻪ ﺗﻤﺎم ﻛﻠﻴﺪ ،ﺑﻴﻦ اﺟﺰاي ﻛﻠﻴﺪ ﻣﻲﺗﻮاﻧﺪ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ. .2اﮔﺮ Kﺳﻮﭘﺮ ﻛﻠﻴﺪ راﺑﻄﻪ Rﺑﺎﺷﺪ آﻧﮕﺎه ﻣﺠﻤﻮﻋﻪ ﻋﻨﻮان Rﺑﺎ Kواﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ دارد. .3از AB→Cدر ﺣﺎﻟﺖ ﻛﻠﻲ ﻧﻤﻲﺗﻮان ﻧﺘﻴﺠﻪ ﮔﺮﻓﺖ ﻛﻪ B→CوA→C
FD .4ﻫﺎ ﻣﺤﺪودﻳﺖ ﺟﺎﻣﻌﻴﺖ را ﻧﺸﺎن ﻣﻲدﻫﻨﺪ. -17راﺑﻄﻪ ) REL(X,Y,Zرا در ﻧﻈﺮ ﻣﻲﮔﻴﺮﻳﻢ .ﻛﺪام ﻳﻚ از ﮔﺰارهﻫﺎي زﻳﺮ ﻧﺎدرﺳﺖ اﺳﺖ؟ .1اﮔﺮ X→Yو Y→XدارﻳﻢX→Z:
.2راﺑﻄﻪ RELﺣﺎﺻﻞ JOINدو راﺑﻄﻪ ) REL1(X,Yو ) REL2(X,Zاﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ داﺷﺘﻪ ﺑﺎﺷﻴﻢX→Y : .3اﮔﺮ Y→Xو Z→Xدارﻳﻢ(Y,Z)→X : .4اﮔﺮ X→Yو X→ZدارﻳﻢX→(Y,Z) :
ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 9 (1) -1ﺻﻔﺖ ﺧﺎﺻﻪ Yاز راﺑﻄﻪ Rﺑﺎ ﺻﻔﺖ ﺧﺎﺻﻪ Xاز راﺑﻄﻪ Rواﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ دارد و ﻣﻲﻧﻮﻳﺴﻴﻢ R.X→R.Yاﮔﺮ و ﻓﻘﻂ اﮔﺮ در ﻃﻮل ﺣﻴﺎت راﺑﻄﻪ ﺑﻪ ﻫﺮ ﻣﻘﺪار از Xدر راﺑﻄﻪ دﻗﻴﻘﺎ ﻳﻚ ﻣﻘﺪار Yاز راﺑﻄﻪ Rﻣﺘﻨﺎﻇﺮ ﺑﺎﺷﺪ. (4) -2اﺑﺘﺪا FOPTرا ﺑﺪﺳﺖ ﻣﻲآورﻳﻢ: AF→BE AF→B , AF→E
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
320ﭘﺎﻳﮕﺎه داده ﻫﺎ FC→DE FC→D , FC→E F→CD F→C , F→D F→C , FC→DE F→DE F→D , F→E F→C , C→A F→A F→A , FA→B F→B F→A , FA→E F→E }FOPT = {F→A,F→B,F→C,F→D,F→E,D→E,C→A ﭘﺲ Fﻫﻤﻪ ﺻﻔﺘﻬﺎي دﻳﮕﺮ ﺑﻪ ﺟﺰ Gرا ﻣﻲدﻫﺪ ﭘﺲ ) (F,Gﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ.اﻳﻦ ﻛﻠﻴﺪ
ﻣﻨﺤﺼﺮ ﺑﻪ ﻓﺮد اﺳﺖ زﻳﺮا ﻫﻴﭻ ﺻﻔﺘﻲ Fو Gرا ﻧﻤﻲدﻫﺪ .ﻳﻌﻨﻲ در ﻫﺮ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ دﻳﮕﺮ وﺟﻮداﻳﻦ دو ﺻﻔﺖ ﻻزم اﺳﺖ. (3) -3در ﮔﺰﻳﻨﻪ 1در A→BCﺳﻤﺖ راﺳﺖ ﻳﻚ ﺻﻔﺖ ﺗﻨﻬﺎ ﻧﻴﺴﺖ. در ﮔﺰﻳﻨﻪ A→B , AB→C A→C :2
ﻳﻌﻨﻲ ﺳﻤﺖ ﭼﭗ ﻗﺎﺑﻞ ﻛﺎﻫﺶ اﺳﺖ.
در ﮔﺰﻳﻨﻪ A→A :4ﻗﺎﺑﻞ ﺣﺬف ﺷﺪن اﺳﺖ و ﻋﻀﻮ زاﺋﺪي اﺳﺖ. (1) -4 A→BC A→B , A→C A→B , AB→C A→C A→C , AC→D , A→D } F={A→B , A→C , B→C , A→B , A→C , A→D }F={A→B , A→C , B→C , A→D
از آﻧﺠﺎ ﻛﻪ: A→B , B→C A→C }Fmin = {A→B , B→C , A→D
ﭘﺲ (4) -5 (1) -6 :A→B , AB→C A→Cﻣﺠﻤﻮﻋﻪ F
D→AC D→A , D→C } F= {A→B , A→C , D→A , D→C , D→E } Fmin = {A→B , A→C , D→A , D→E } → Gmin= {A→B , A→C , D→A , D→Eﻣﺠﻤﻮﻋﻪ G
(2) -7 (1) -8
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
ﻣﺠﻤﻮﻋﻪ ﻛﺎﻫﺶ ﭘﺬﻳﺮ اﺳﺖ ﭼﺮا ﻛﻪ
321
C → J , CJ→I C→I
} {A,B,C,D,G,Jﻳﻚ ﻓﻮق ﻛﻠﻴﺪ اﺳﺖ )ﻣﺠﻤﻮﻋﻪاي از ﺗﻤﺎم ﺻﻔﺎﺗﻲ ﻛﻪ در ﺳﻤﺖ ﭼﭗ FDﻫﺎ وﺟﻮد دارد ( .ﺑﻪ دﻟﻴﻞ وﺟﻮد C →Jﻣﻲﺗﻮاﻧﻴﻢ Jرا از ﻣﺠﻤﻮﻋﻪ ﻓﻮق ﺣﺬف ﻛﻨﻴﻢ. ﺑﻪ دﻟﻴﻞ وﺟﻮد AB→Gﻣﻲﺗﻮاﻧﻴﻢ Gرا از ﻣﺠﻤﻮﻋﻪ ﺣﺬف ﻛﻨﻴﻢ.ﭼﻮن Aو Bو CوD
ﻫﻴﭽﻜﺪام در ﺳﻤﺖ راﺳﺖ FDﻫﺎ ﻇﺎﻫﺮ ﻧﺸﺪهاﻧﺪ ﭘﺲ } {A,B,C,Dﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ اﺳﺖ. (4) -9 L→T , L→C , L→D , L→P
اﮔﺮ ﻣﺜﻼ ﺑﮕﻮﺋﻴﻢ اﺳﺘﺎد اﻛﺒﺮي ﺳﻪ ﺷﻨﺒﻪ 8ﺗﺎ 10ﺻﺒﺢ ،آﻧﮕﺎه ﺷﻤﺎره درس و ﺷﻤﺎره ﻛﻼس او ﻣﺸﺨﺺ ﻣﻲﮔﺮدد ﭘﺲ .DPT→CLﻫﻤﭽﻨﻴﻦ اﮔﺮ ﻣﺜﻼ ﺑﮕﻮﺋﻴﻢ ﺳﻪ ﺷﻨﺒﻪ 8ﺗﺎ 10ﺻﺒﺢ ﻛﻼس ﺷﻤﺎره ،215آﻧﮕﺎه ﻧﺎم اﺳﺘﺎد و ﺷﻤﺎره درس ﺗﻌﻴﻴﻦ ﻣﻲﮔﺮدد ،ﭘﺲ DPC→TL
(4) -10 A→D , AD→C A→C } Fmin = { A→D , A→C , CD→B
(1) -11 A→D , AD→C A→C A→D , A→C A→CD A→CD , CD→B A→B
(4) -12 (2) -13
(4) -14ﻣﺜﻼ AB→Aﮔﺰﻳﻨﻪﻫﺎي 2و 3وﻳﮋﮔﻲ ﻫﺎي واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﻤﻴﻨﻪ را ﺑﻴﺎن ﻣﻲﻛﻨﻨﺪ. (3) -15 D→A , A→B D→B , D→A , D→B D→AB D→AB , AB→EFC D→E , D→F , D→C
(1) -16در راﺑﻄﻪ ﺗﻤﺎم ﻛﻠﻴﺪ ،ﺑﻴﻦ اﺟﺰاي ﻛﻠﻴﺪ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ وﺟﻮد ﻧﺪارد. (2) -17
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
322ﭘﺎﻳﮕﺎه داده ﻫﺎ
ﺗﺴﺖ ﻫﺎي ﺳﺮي 10 -1ﻓﺮض ﻛﻨﻴﺪ ﻟﻴﺴﺘﻲ از درس ﻫﺎي داﻧﺸﺠﻮﻳﺎن در اﺧﺘﻴﺎر دارﻳﻢ ﻛﻪ از ﺳﺘﻮﻧﻬﺎي زﻳﺮ ﺗﺸﻜﻴﻞ ﺷﺪه اﺳﺖ: ﺗﻌﺪاد واﺣﺪ
ﻧﺎم درس
ﻛﺪ درس
ﻧﺎم داﻧﺸﺠﻮ
ﻛﺪ داﻧﺸﺠﻮ
ﻫﺮ داﻧﺸﺠﻮ ﻣﻤﻜﻦ اﺳﺖ ﭼﻨﺪﻳﻦ درس داﺷﺘﻪ ﺑﺎﺷﺪ .اﮔﺮ ﺑﺨﻮاﻫﻴﻢ اﻳﻦ اﻃﻼﻋﺎت را در ﻳﻚ ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﻪ ﮔﻮﻧﻪ اي ذﺧﻴﺮه ﻛﻨﻴﻢ ﻛﻪ ﺣﺪاﻗﻞ ﺗﻜﺮار اﻃﻼﻋﺎت را داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﺣﺪاﻗﻞ ﺑﻪ ﭼﻨﺪ ﺟﺪول ) (tableﻧﻴﺎز دارﻳﻢ ؟ 1 .1
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
323
3 .2 2 .3 4 .4 -2ﻛﺪاﻣﻴﻚ از ﮔﺰاره ﻫﺎي زﻳﺮ در راﺑﻄﻪ ﺑﺎ ))ﻋﻤﺪهﺗﺮﻳﻦ اﻫﺪاف ﻧﺮﻣﺎل ﺗﺮﺳﺎزي راﺑﻄﻪﻫﺎ(( ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1ﻛﺎﻫﺶ ﺑﻌﻀﻲ اﻧﻮاع اﻓﺰوﻧﮕﻲ )(Redundency .2ﻛﺎﻫﺶ ﺳﺮﺑﺎر ) ( Overheadﺳﻴﺴﺘﻢ در ﭘﺎﺳﺨﮕﻮﺋﻲ در ﻋﻤﻞ ﺑﺎزﻳﺎﺑﻲ .3ﺗﺴﻬﻴﻞ در اﻋﻤﺎل ﺑﻌﻀﻲ ﻣﺤﺪودﻳﺘﻬﺎي ﺟﺎﻣﻌﻴﺘﻲ )(integrity constraints .4اﺟﺘﻨﺎب از ﺑﻌﻀﻲ از اﻧﻮاع آﻧﻮﻣﺎﻟﻲ در ﻋﻤﻠﻴﺎت روي ﭘﺎﻳﮕﺎه -3ﻛﺪام ﮔﺰﻳﻨﻪ از اﻫﺪاف ﻛﻠﻲ ﻓﺮاﻳﻨﺪ ﻧﺮﻣﺎل ﺳﺎزي ) ( normalizationﻧﻴﺴﺖ ؟ .1ﺗﺴﻬﻴﻞ اﻋﻤﺎل ﺑﻌﻀﻲ از ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ )(integrity rules .2ﺗﺴﻬﻴﻞ ﭘﻴﺎده ﺳﺎزي دﻳﺪ ﻛﺎرﺑﺮ )( user view .3ﺣﺬف ﺑﻌﻀﻲ از اﻧﻮاع ﻗﻮاﻋﺪ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ )(functional dependency .4ﻛﺎﻫﺶ ﺑﻌﻀﻲ از اﻧﻮاع اﻓﺰوﻧﮕﻲ )(redundancy
-4ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1راﺑﻄﻪ 1NFرا ﻫﻤﻮاره ﻣﻲ ﺗﻮان ﺑﻪ ﺗﻌﺪادي راﺑﻄﻪ 2NFﺗﺒﺪﻳﻞ ﻛﺮد. .2در ﺗﺒﺪﻳﻞ راﺑﻄﻪ 1NFﺑﻪ 2NFﺑﺎﻳﺪ ﭼﻨﺎن ﻋﻤﻞ ﻛﺮد ﻛﻪ واﺑﺴﺘﮕﻲ ﻫﺎي ﺗﺎﺑﻌﻲ ﻏﻴﺮ ﻛﺎﻣﻞ ﻣﻮﺟﻮد در راﺑﻄﻪ 1NFاز ﻣﻴﺎن ﺑﺮوﻧﺪ. .3ﻫﻤﻴﺸﻪ ﭘﺲ از ﺗﺠﺰﻳﻪ ﻳﻚ راﺑﻄﻪ ﺑﻪ دو راﺑﻄﻪ و ﭘﻴﻮﻧﺪ ﻣﺠﺪد رواﺑﻂ ﺣﺎﺻﻠﻪ ، ﻟﺰوﻣﺎ ﺑﻪ راﺑﻄﻪ ﻧﺨﺴﺘﻴﻦ ﻣﻲ رﺳﻴﻢ. .4ﺑﺎ اﻧﺠﺎم ﻋﻤﻞ ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ ﺑﺮ روي رواﺑﻂ 2NFﻣﻲ ﺗﻮان رواﺑﻂ 1NFرا ﺑﺪﺳﺖ آورد. -5ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ 2NFدرﺳﺖ اﺳﺖ ؟ .1ﻓﻘﻂ در درج ﻣﻤﻜﻦ اﺳﺖ آﻧﻮﻣﺎﻟﻲ داﺷﺘﻪ ﺑﺎﺷﻴﻢ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
324ﭘﺎﻳﮕﺎه داده ﻫﺎ
.2ﻓﻘﻂ در ﺣﺬف ﻣﻤﻜﻦ اﺳﺖ آﻧﻮﻣﺎﻟﻲ داﺷﺘﻪ ﺑﺎﺷﻴﻢ. .3در ﺣﺬف و ﺑﻬﻨﮕﺎم ﺳﺎزي ﻣﻤﻜﻦ اﺳﺖ آﻧﻮﻣﺎﻟﻲ داﺷﺘﻪ ﺑﺎﺷﻴﻢ. .4در درج ،ﺣﺬف و ﺑﻬﻨﮕﺎم ﺳﺎزي ﻣﻤﻜﻦ اﺳﺖ آﻧﻮﻣﺎﻟﻲ داﺷﺘﻪ ﺑﺎﺷﻴﻢ. -6ﻛﺪام ﺗﻌﺮﻳﻒ در راﺑﻄﻪ ﺑﺎ ﺻﻮرﺗﻬﺎي ﻧﺮﻣﺎل ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1راﺑﻄﻪاي ﻧﺮﻣﺎل اﺳﺖ ﻛﻪ ﺗﻤﺎم ﻣﻘﺎدﻳﺮ ﺻﻔﺎت ﺧﺎﺻﻪ اش اﺗﻮﻣﻴﻚ ﺑﺎﺷﻨﺪ. .2راﺑﻄﻪاي 3NFاﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﺻﻔﺎت ﺧﺎﺻﻪ ﻏﻴﺮ ﻛﻠﻴﺪ ﻣﺘﻘﺎﺑﻼ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻧﺎواﺑﺴﺘﻪ ﺑﺎﺷﻨﺪ و ﻫﻤﭽﻨﻴﻦ ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ راﺑﻄﻪ ،واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﻨﺪ. .3راﺑﻄﻪاي 2NFاﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ 1NFﺑﺎﺷﺪ و ﻫﻤﭽﻨﻴﻦ اﮔﺮ ﺻﻔﺎت ﺧﺎﺻﻪ ﻏﻴﺮ ﻛﻠﻴﺪ ﻣﺘﻘﺎﺑﻼ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻧﺎواﺑﺴﺘﻪ ﺑﺎﺷﻨﺪ. .4راﺑﻄﻪاي 3NFاﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ 2NFﺑﻮده و ﻫﺮ ﺻﻔﺖ ﺧﺎﺻﻪ ﻏﻴﺮ ﻛﻠﻴﺪ ﺑﻪ ﻃﻮر ﻣﺴﺘﻘﻴﻢ )ﺑﻲ واﺳﻄﻪ( ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ داﺷﺘﻪ ﺑﺎﺷﺪ. -7ﻛﺪام ﮔﺰﻳﻨﻪ ﻗﻀﻴﻪ ﻫﻴﺚ ) (Heathرا ﺑﻴﺎن ﻣﻲ ﻛﻨﺪ ؟ )راﺑﻄﻪ Rرا ﺑﺎ ﺳﻪ ﺻﻔﺖ ﺧﺎﺻﻪ Aو Bو Cدر ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ ( .1اﮔﺮ R.A→R.Bﻫﻤﻴﺸﻪ ﻣﻲ ﺗﻮان اﻳﻦ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ ) R2(A,Cو ) R1(A,Bﺗﺠﺰﻳﻪ ﻛﺮد ﺑﻪ ﻧﺤﻮي ﻛﻪ ﮔﻤﺸﺪﮔﻲ اﻃﻼﻋﺎت ﭘﻴﺶ ﻧﻴﺎﻳﺪ. .2اﮔﺮ R.A→R.Bو R.A→R.Cﻣﻲ ﺗﻮان اﻳﻦ راﺑﻄﻪ را ﺑﻪ راﺑﻄﻪ ) R2(A,Cو ) R1(A,Bﺗﺠﺰﻳﻪ ﻛﺮد. .3اﮔﺮ R.A→R.Bﻫﻤﻴﺸﻪ ﻣﻲ ﺗﻮان اﻳﻦ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ ) R2(A,Cو ) R1(A,Bﺗﺠﺰﻳﻪ ﻛﺮد وﻟﻲ ﻣﻤﻜﻦ اﺳﺖ ﮔﻤﺸﺪﮔﻲ اﻃﻼﻋﺎت ﭘﻴﺶ آﻳﺪ. R.A→R.B .4و R.A→R.Cﻣﻤﻜﻦ اﺳﺖ ﻧﺘﻮان اﻳﻦ راﺑﻄﻪ را ﺑﻪ دو راﺑﻄﻪ ) R2(A,Cو ) R1(A,Bﺗﺠﺰﻳﻪ ﻛﺮد. -8در ﻛﺪام ﻣﻮرد زﻳﺮ 3NFﻣﻄﻠﻮﺑﺘﺮﻳﻦ ﺻﻮرت ﻧﻴﺴﺖ ؟ .1وﻗﺘﻲ راﺑﻄﻪ داراي ﭼﻨﺪ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﺪ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
325
.2وﻗﺘﻲ ﻛﻪ ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ ﻣﺮﻛﺐ ﺑﺎﺷﻨﺪ. .3وﻗﺘﻲ ﻛﻪ ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺑﺎ ﻳﻜﺪﻳﮕﺮ اﺷﺘﺮاك ﺻﻔﺖ ﺧﺎﺻﻪ داﺷﺘﻪ ﺑﺎﺷﻨﺪ. .4ﻫﺮ ﺳﻪ ﻣﻮرد. -9در ﻛﺪام ﺣﺎﻟﺖ ﺟﺪول 3NFﻣﻤﻜﻦ اﺳﺖ ﻣﺸﻜﻞ داﺷﺘﻪ ﺑﺎﺷﺪ ؟ .1ﺟﺪول داراي ﺣﺪاﻗﻞ دو ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﺪ. .2ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺗﺮﻛﻴﺒﻲ ﺑﺎﺷﻨﺪ. .3ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﺗﺮﻛﻴﺒﻲ ،ﺻﻔﺘﻬﺎي ﻣﺸﺘﺮﻛﻲ داﺷﺘﻪ ﺑﺎﺷﻨﺪ. .4وﻗﺘﻲ ﻛﻪ ﻫﺮ ﺳﻪ ﺷﺮط ﻓﻮق ﺑﺮﻗﺮار ﺑﺎﺷﺪ. -10ﻛﺪام ﮔﺰﻳﻨﻪ اﻫﺪاف ﻛﻠﻲ ﻧﺮﻣﺎل ﺳﺎزي را ﺑﻴﺎن ﻧﻤﻲ ﻛﻨﺪ ؟ .1رﻋﺎﻳﺖ ﻗﻮاﻋﺪ ﺟﺎﻣﻌﻴﺘﻲ .2ﻛﺎﻫﺶ اﻓﺰوﻧﮕﻲ .3ﻛﺎﻫﺶ ﺳﺮﺑﺎر ﺳﻴﺴﺘﻢ و ﺳﺎده ﻛﺮدن دﻳﺪ ﻛﺎرﺑﺮ .4ﻛﺎﻫﺶ ﺑﻌﻀﻲ از آﻧﻮﻣﺎﻟﻲ ﻫﺎ -11ﻛﺪام ﮔﺰﻳﻨﻪ درﺳﺖ اﺳﺖ ؟ .1
راﺑﻄﻪ Rدر ﺳﻄﺢ 3NFاﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ 2NFﺑﺎﺷﺪ و ﻫﺮ ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪ ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﺪ.
.2راﺑﻄﻪ Rدر ﺳﻄﺢ 3NFاﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ 2NFﺑﺎﺷﺪ و ﺻﻔﺎت ﻏﻴﺮ ﻛﻠﻴﺪ آن ﻣﺘﻘﺎﺑﻼ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻧﺎواﺑﺴﺘﻪ ﺑﺎﺷﻨﺪ. .3راﺑﻄﻪ Rدر ﺳﻄﺢ 3NFاﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ 2NFﺑﺎﺷﺪ و واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ ) (transitiveﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ. 2 .4و3 -12ﺻﻔﺖ ﻋﻤﺪه Prime Attributeﻛﺪام اﺳﺖ ؟ .1ﺻﻔﺘﻲ ﻛﻪ ﺟﺰء ﺗﺸﻜﻴﻞ دﻫﻨﺪه ﻛﻠﻴﺪ ﺑﺎﺷﺪ. .2ﻫﻤﺎن ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪ اﺳﺖ.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
326ﭘﺎﻳﮕﺎه داده ﻫﺎ
.3ﻫﻤﺎن ﻛﻠﻴﺪ اﺳﺖ. .4ﻫﻴﭽﻜﺪام -13ﻛﺪام ﮔﺰﻳﻨﻪ ﻧﺎدرﺳﺖ اﺳﺖ ؟ .1ﻣﻤﻜﻦ اﺳﺖ در ﻣﺮﺣﻠﻪ 2NFﻛﺮدن ﻳﻚ راﺑﻄﻪ ،راﺑﻄﻪ 1NFﺑﻪ ﺑﻴﺶ از دو راﺑﻄﻪ ﺗﺠﺰﻳﻪ ﺷﻮد. .2ﻳﻚ ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪ ﻣﻤﻜﻦ اﺳﺖ ﺑﺘﻮاﻧﺪ ﺑﺎ ﻳﻚ ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪ دﻳﮕﺮ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻧﺎﺗﺎم )ﻏﻴﺮ ﻛﺎﻧﻞ (داﺷﺘﻪ ﺑﺎﺷﺪ. .3در راﺑﻄﻪ دو ﮔﺎﻧﻲ )ﺑﺎﻳﻨﺮي( BCNFاﺳﺖ. .4ﻫﻴﭽﻜﺪام -14ﺗﻌﺮﻳﻒ BCNFﻛﺪام اﺳﺖ ؟ .1راﺑﻄﻪاي BCNFاﺳﺖ اﮔﺮ در آن ﻫﺮ دﺗﺮﻣﻴﻨﺎن ،ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﺑﺎﺷﺪ. .2راﺑﻄﻪ Rدر BCNFاﺳﺖ ﻫﺮﮔﺎه ﻳﻚ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺑﻪ ﺻﻮرت ) A→Bاﻳﻦ واﺑﺴﺘﮕﻲ ﻧﺎﻣﻬﻢ ﻧﺒﺎﺷﺪ( در ﻣﺠﻤﻮﻋﻪ FDﻫﺎي Rوﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ A ،ﺳﻮﭘﺮ ﻛﻠﻴﺪ Rﺑﺎﺷﺪ. .3راﺑﻄﻪاي BCNFاﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﺳﻤﺖ ﭼﭗ ﻫﺮ FDﻣﻬﻢ و ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ ،ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ راﺑﻄﻪ ﺑﺎﺷﺪ. .4ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ -15راﺑﻄﻪ ) R(SID,CID,PIDﻳﻌﻨﻲ )ﺷﻤﺎره اﺳﺘﺎد ،ﺷﻤﺎره درس ،ﺷﻤﺎره داﻧﺸﺠﻮ ( Rرا در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ .ﻗﻮاﻋﺪ ﺳﻤﺎﻧﺘﻴﻚ زﻳﺮ در اﻳﻦ راﺑﻄﻪ وﺟﻮد دارد :اﻟﻒ ( ﻳﻚ داﻧﺸﺠﻮ ،ﻳﻚ درس را ﺑﺎ ﻳﻚ اﺳﺘﺎد اﻧﺘﺨﺎب ﻣﻲ ﻛﻨﺪ .ب( ﻳﻚ اﺳﺘﺎد ﻳﻚ درس را ﺗﺪرﻳﺲ ﻣﻲ ﻛﻨﺪ .ج( ﻳﻚ درس ﺗﻮﺳﻂ ﭼﻨﺪ اﺳﺘﺎد ﺗﺪرﻳﺲ ﻣﻲ ﺷﻮد .اﻳﻦ راﺑﻄﻪ در ﭼﻪ ﺳﻄﺢ ﻧﺮﻣﺎل ﺑﻮدن ﻗﺮار دارد ؟ .1 .2 .3 .4
2NF 3NF BCNF 4NF
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
327
-16راﺑﻄﻪاي 2NFاﺳﺖ ﻛﻪ: 1NF .1ﺑﻮده و ﺻﻔﺘﻬﺎي آن ﺑﻪ زﻳﺮ ﻣﺠﻤﻮﻋﻪ ﻫﺎي ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ. 1NF .2ﺑﻮده و واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ )ﺗﻌﺪي( ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ. 1 .3و2 .4ﻫﻴﭽﻜﺪام -17در راﺑﻄﻪ } ، R={A,B,C,Dﻣﺠﻤﻮﻋﻪ FDﻫﺎي زﻳﺮ را دارﻳﻢ: A→D , D→B , A→C
ﺳﻄﺢ ﻧﺮﻣﺎل ﺑﻮدن اﻳﻦ راﺑﻄﻪ و ﺗﺠﺰﻳﻪ ﻣﻄﻠﻮب آن ﻛﺪام اﺳﺖ ؟ .1
R1(D,B) ، R2(A,D,C} ، 3NF
.2
R1(A,D) ، R2(A,B,C} ، BCNF
.3
R1(A,C,D) ، R2(A,D} ، 3NF
.4
R1(D,B) ، R2(A,C,D} ، 2NF
-18ﺑﺎ ﺣﺬف ﻛﻠﻴﺪ واﺑﺴﺘﻪ ،ﭼﻪ ﺻﻮرﺗﻲ از ﻓﺮم ﻧﺮﻣﺎل اﻳﺠﺎد ﻣﻲ ﺷﻮد ؟ .1 .2 .3 .4
1NF 2NF 3NF 4NF
-19ﺑﺎ ﺣﺬف اﺑﺮ ﻛﻠﻴﺪ ،ﭼﻪ ﺻﻮرﺗﻲ از ﻓﺮم ﻧﺮﻣﺎل اﻳﺠﺎد ﻣﻲ ﺷﻮد ؟ .1 .2 .3 .4
1NF 2NF 3NF 4NF
-20ﺟﺎﻣﻊ ﺗﺮﻳﻦ ﻧﺮﻣﺎل ﺳﺎزي ﺑﺮ ﻣﺒﻨﺎي واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﺗﻮﺳﻂ ﻛﺪام ﺻﻮرت ﻧﺮﻣﺎل اراﺋﻪ ﻣﻲ ﺷﻮد ؟ .1 .2 .3 .4
1NF 2NF 3NF BCNF
-21ﺑﺎ ﺣﺬف واﺑﺴﺘﮕﻲ ﻫﺎي ﭼﻨﺪ ﻣﻘﺪاري ) (MVDﭼﻪ ﺻﻮرﺗﻲ از ﻓﺮم ﻧﺮﻣﺎل اﻳﺠﺎد ﻣﻲ ﺷﻮد ؟
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
328ﭘﺎﻳﮕﺎه داده ﻫﺎ .1 .2 .3 .4
2NF 3NF 4NF BCNF
-22در ﺗﺒﺪﻳﻞ ............ﺑﻪ .............آن را ﭼﻨﺎن ﺑﻪ ﭘﺮﺗﻮﻫﺎﻳﻲ ﺗﺠﺰﻳﻪ ﻣﻲ ﻛﻨﻴﻢ ﻛﻪ ﺗﻤﺎم واﺑﺴﺘﮕﻲ ﻫﺎي ﭘﻴﻮﻧﺪي ﻛﻪ از ﻛﻠﻴﺪﻫﺎي ﻛﺎﻧﺪﻳﺪ ﻧﺎﺷﻲ ﻧﻤﻲ ﺷﻮد ﺣﺬف ﮔﺮدد. .1 .2 .3 .4
3NF-2NF 4NF-3NF BCNF-3NF 5NF-4NF
-23ﺑﺮاي اﻳﻨﻜﻪ ﻳﻚ ﭘﺎﻳﮕﺎهداده اي راﺑﻄﻪاي ﺑﺘﻮاﻧﺪ ﺑﻪ درﺳﺘﻲ در ﻧﺮماﻓﺰار ﻣﺘﺪاول ﻃﺮاﺣﻲ ﺷﻮد ،آن ﭘﺎﻳﮕﺎهداده ﻫﺎ ﺑﺎﻳﺪ ﺣﺪاﻗﻞ ﺑﺮ اﺳﺎس ﭼﻪ ﻓﺮم ﻧﺮﻣﺎل ) (Normal Formﻗﺮار ﮔﺮﻓﺘﻪ ﺑﺎﺷﺪ ؟ .1اول .2دوم .3ﺳﻮم .4ﭼﻬﺎرم -24اﮔﺮ ﺟﺪوﻟﻲ ﻳﻚ ﻓﻴﻠﺪ داﺷﺘﻪ ﺑﺎﺷﺪ ﻛﻪ ﺑﺴﺘﮕﻲ ﺑﻪ ﻗﺴﻤﺘﻲ از ﻛﻠﻴﺪ اﺻﻠﻲ داﺷﺘﻪ ،اﻳﻦ ﻧﻜﺘﻪ ﻧﻘﺾ ﻛﺪاﻣﻴﻚ از ﻗﻮاﻧﻴﻦ ﻓﺮم ﻧﺮﻣﺎل اﺳﺖ ؟ .1ﻓﺮم اول ﻧﺮﻣﺎل .2ﻓﺮم دوم ﻧﺮﻣﺎل .3ﻓﺮم ﺳﻮم ﻧﺮﻣﺎل .4ﻓﺮم ﭼﻬﺎرم ﻧﺮﻣﺎل -25اﮔﺮ 2ﻓﻴﻠﺪ ﻏﻴﺮ ﻛﻠﻴﺪي ﺑﺮ ﻳﻜﺪﻳﮕﺮ ﺑﺴﺘﮕﻲ داﺷﺘﻪ ﺑﺎﺷﻨﺪ ،اﻳﻦ ﻧﻘﺾ ﻛﺪاﻣﻴﻚ از ﻗﻮاﻧﻴﻦ ﻓﺮم ﻫﺎي ﻧﺮﻣﺎل اﺳﺖ ؟ .1اوﻟﻴﻦ ﻓﺮم ﻧﺮﻣﺎل .2دوﻣﻴﻦ ﻓﺮم ﻧﺮﻣﺎل .3ﺳﻮﻣﻴﻦ ﻓﺮم ﻧﺮﻣﺎل
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
329
.4ﭼﻬﺎرﻣﻴﻦ ﻓﺮم ﻧﺮﻣﺎل -26ﺑﻪ ﻃﻮر ﻛﻠﻲ ﭼﮕﻮﻧﻪ ﺗﺎﺛﻴﺮي از ﻋﻤﻠﻴﺎت ﻧﺮﻣﺎﻟﻴﺰه ﻛﺮدن ﺑﺮ روي ﻛﺎرﻛﺮد ﺑﺎﻧﻚ اﻃﻼﻋﺎﺗﻲ ﺑﻪ وﺟﻮد ﻣﻲ آﻳﺪ ؟ .1اﻧﻌﻄﺎف ﻛﻤﺘﺮي در ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ دارد. .2اﻧﻌﻄﺎف ﺑﻴﺸﺘﺮي در ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ دارد. .3اﻧﻌﻄﺎﻓﻲ در ذﺧﻴﺮه ﺳﺎزي داده ﻫﺎ ﻧﺪارد. .4ﻫﻴﭽﻜﺪام -27وﻗﺘﻲ در ﻳﻚ ﺟﺪول ﺗﻌﺪادي ﺳﺘﻮن ﺑﺮاي ذﺧﻴﺮه ﺳﺎزي ﻣﻮردﻫﺎي ﻣﺨﺘﻠﻒ از ﻳﻚ داده وﺟﻮد دارد ﻣﺎﻧﻨﺪ … phonenumber1 , phonenumber 2 ,اﻳﻦ ﻧﻜﺘﻪ ﻛﺪام ﻳﻚ از ﻣﻮارد ﻓﺮﻣﻬﺎي ﻧﺮﻣﺎل را ﻧﻘﺾ ﻣﻲ ﻛﻨﺪ ؟ .1ﻓﺮم اول ﻧﺮﻣﺎل .2ﻓﺮم دوم ﻧﺮﻣﺎل .3ﻓﺮم ﺳﻮم ﻧﺮﻣﺎل .4ﻓﺮم ﭼﻬﺎرم ﻧﺮﻣﺎل -28ﭼﻪ دﻟﻴﻠﻲ دارد ﻛﻪ اﻃﻼﻋﺎت ﻳﻚ ﭘﺎﻳﮕﺎه اﻃﻼﻋﺎﺗﻲ را ﺑﻴﻦ ﭼﻨﺪﻳﻦ ﻓﺎﻳﻞ ﺗﻮزﻳﻊ ﻧﻤﺎﺋﻴﻢ؟ .1ﺑﺮاي ﺟﻠﻮﮔﻴﺮي از ﺧﺮاﺑﻲ داده ﻫﺎ .2ﺑﺮاي اﻳﻨﻜﻪ در ﺑﺎﻧﻜﻬﺎي ﺑﺰرگ ﺳﻴﺴﺘﻢ ﻋﺎﻣﻞ دﭼﺎر ﻣﺸﻜﻞ ﻧﺸﻮد. .3ﺑﺮاي ﻣﺪﻳﺮﻳﺖ ﺑﻬﺘﺮ داده ﻫﺎ .4ﺑﺮاي ﺑﻬﺒﻮد ﺳﺮﻋﺖ دﺳﺘﻴﺎﺑﻲ ﺑﻪ داده ﻫﺎ -29ﺟﺪول در ....اﺳﺖ ﻛﻪ اﻟﻒ( ﻫﻤﻪ ﻛﻠﻴﺪﻫﺎي آن ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﻨﺪ ب( ﺗﻤﺎم ﺻﻔﺘﻬﺎي آن ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ داﺷﺘﻪ ﺑﺎﺷﻨﺪ ج( ﺻﻔﺘﻬﺎي آن از داﻣﻨﻪ ﺗﻮدرﺗﻮ ) (nested domainﻧﺒﺎﺷﻨﺪ. .1 .2 .3 .4
1NF 2NF 3NF 4NF
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
330ﭘﺎﻳﮕﺎه داده ﻫﺎ
-30در ﻛﺪام ﻓﺮم ﻧﺮﻣﺎل واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ ) (transitiveوﺟﻮد ﻧﺪارد ؟ .1 .2 .3 .4
2NF 3NF,2NF 4NF,3NF 2NF
-31ﺟﺪول داﻧﺸﺠﻮ ) (Studدر ﻳﻚ ﻣﻮﺳﺴﻪ آﻣﻮزﺷﻲ ﻛﻮﭼﻚ ﻛﻪ داﻧﺸﺠﻮي ﻫﻤﻨﺎم ﻧﺪارد را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ: )Stud (S# , Sname , address , avg S#ﺷﻤﺎره داﻧﺸﺠﻮ Sname ،ﻧﺎم داﻧﺸﺠﻮ Address ،آدرس داﻧﺸﺠﻮ و avgﻣﻌﺪل اﺳﺖ.
اﻳﻦ ﺟﺪول ﺣﺪاﻛﺜﺮ در ﭼﻪ ﺳﻄﺢ ﻧﺮﻣﺎل ﻗﺮار دارد ؟ .1 .2 .3 .4
2NF 3NF 1NF BCNF
-32ﻛﺪام ﮔﺰﻳﻨﻪ در راﺑﻄﻪ ﺑﺎ ﻧﺮﻣﺎل ﺳﺎزي درﺳﺖ اﺳﺖ ؟ .1اﮔﺮ ﻃﺮاح ﺗﺸﺨﻴﺺ دﻫﺪ ﻛﻪ ﺗﺠﺰﻳﻪ ﻳﻚ ﺟﺪول ﻫﺮ ﭼﻨﺪ اﻓﺰوﻧﮕﻲ ﻫﻢ داﺷﺘﻪ ﺑﺎﺷﺪ ،ﺑﺎﻋﺚ ﭘﺎﺋﻴﻦ آﻣﺪن ﺳﺮﻋﺖ اﻛﺜﺮ ﭘﺮس و ﺟﻮﻫﺎ ﻣﻲ ﺷﻮد ،ﻣﺠﺎز اﺳﺖ از ﻧﺮﻣﺎﻟﺘﺮ ﺳﺎزي آن ﺻﺮف ﻧﻈﺮ ﻛﻨﺪ. .2رواﺑﻂ 3NFي ﻛﻪ ﻣﻲ ﺗﻮاﻧﻨﺪ ﺗﺒﺪﻳﻞ ﺑﻪ BCNFﺷﻮﻧﺪ را ﺣﺘﻤﺎ ﺑﺎﻳﺪ BCNFﻛﺮد .3در ﺗﺠﺰﻳﻪ راﺑﻄﻪ 3NFﺑﻪ رواﺑﻂ BCNFﻫﻴﭽﮕﺎه اﻃﻼﻋﺎت و ﻳﺎ واﺑﺴﺘﮕﻲﻫﺎﻳﻲ ﮔﻢ ﻧﻤﻲ ﺷﻮد. .4ﻫﺮ ﺳﻪ ﮔﺰﻳﻨﻪ -33ﺟﺪول زﻳﺮ ﺣﺪاﻛﺜﺮ در ﭼﻪ ﺳﻄﺢ ﻧﺮﻣﺎﻟﻲ ﻗﺮار دارد ؟ ﻧﺎن ﻛﺘﺎب
ﻧﺎم درس
ﺷﻬﺮ داﻧﺸﻜﺪه
ﻧﺎم داﻧﺸﻜﺪه
ﻧﺎم اﺳﺘﺎد
ﻫﺮﺑﺮت ﺷﻴﻠﺪ
ﺑﺮﻧﺎﻣﻪ ﺳﺎزي
ﺗﻬﺮان
ﻛﺎﻣﭙﻴﻮﺗﺮ
اﻣﻴﺮي
ﻫﺮﺑﺮت ﺷﻴﻠﺪ
ﺑﺮﻧﺎﻣﻪ ﺳﺎزي
اراك
ﺑﺮق
اﻣﻴﺮي
ﻟﻴﭗ ﺷﻮﺗﺰ
ﺳﺎﺧﺘﻤﺎن داده
ﺗﻬﺮان
ﻛﺎﻣﭙﻮﺗﺮ
اﻣﻴﺮي
ﻟﻴﭗ ﺷﻮﺗﺰ
ﺳﺎﺧﺘﻤﺎن داده
اراك
ﺑﺮق
اﻣﻴﺮي
دﻳﺖ
ﭘﺎﻳﮕﺎهداده
ﺗﻬﺮان
ﻛﺎﻣﭙﻴﻮﺗﺮ
اﻣﻴﺮي
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت ﭘﺎﻳﮕﺎهداده
دﻳﺖ .1 .2 .3 .4
اراك
ﺑﺮق
331
اﻣﻴﺮي
2NF 3NF BCNF 4NF
ﭘﺎﺳﺦ ﺗﺴﺖ ﻫﺎي ﺳﺮي 10 (2) -1اﻳﻦ ﺳﻪ ﺟﺪول ﻋﺒﺎرﺗﻨﺪ از: ﺟﺪول :1ﺟﺪول داﻧﺸﺠﻮ :ﺷﺎﻣﻞ ﻓﻴﻠﺪﻫﺎي ﻛﺪ داﻧﺸﺠﻮ و ﻧﺎم داﻧﺸﺠﻮ ﺟﺪول :2ﺟﺪول درس :ﺷﺎﻣﻞ ﻓﻴﻠﺪﻫﺎي ﻛﺪ درس ،ﻧﺎم درس و ﺗﻌﺪاد واﺣﺪ ﺟﺪول :3ﺟﺪول داﻧﺸﺠﻮ -درس :ﺷﺎﻣﻞ ﻓﻴﻠﺪﻫﺎي ﻛﺪ داﻧﺸﺠﻮ و ﻛﺪﻫﺎي درس (2) -2از آﻧﺠﺎ ﻛﻪ ﻧﺮﻣﺎل ﺗﺮ ﺳﺎزي ﺑﺎﻋﺚ ﺗﺠﺰﻳﻪ ﺟﺪاول ﻣﻲ ﺷﻮد ﮔﺎﻫﻲ اوﻗﺎت ﺑﺮاي ﺑﺎزﻳﺎﺑﻲ ﻧﻴﺎز ﺑﻪ ﭘﻴﻮﻧﺪ ﻣﺠﺪد اﻳﻦ ﺟﺪاول دارﻳﻢ ﻛﻪ ﺑﺎﻋﺚ اﻓﺰاﻳﺶ ﺳﺮﺑﺎر ﺳﻴﺴﺘﻢ ﻣﻲ ﮔﺮدد. (2) -3ﺗﺴﻬﻴﻞ ﭘﻴﺎده ﺳﺎزي دﻳﺪ ﻛﺎرﺑﺮ از اﻫﺪاف ﻛﻠﻲ ﻓﺮآﻳﻨﺪ ﻧﺮﻣﺎل ﺳﺎزي زﻳﺮا در ﺑﺮﺧﻲ ﻣﻮاﻗﻊ اﻳﻦ ﻛﺎر ﺑﺎﻋﺚ ﻣﺸﻜﻞ ﺗﺮ ﺷﺪن ﭘﻴﺎده ﺳﺎزي دﻳﺪ ﻛﺎرﺑﺮ ﻧﻴﺰ ﻣﻲ ﺷﻮد. (3) -4ﻫﻤﻴﺸﻪ ﭘﺲ از ﺗﺠﺰﻳﻪ ﻳﻚ راﺑﻄﻪ ﺑﻪ دو راﺑﻄﻪ و ﭘﻴﻮﻧﺪ ﻣﺠﺪد راﺑﻄﻪ ﻫﺎي ﺣﺎﺻﻠﻪ ﻟﺰوﻣﺎ ﺑﻪ راﺑﻄﻪ ﻧﺨﺴﺘﻴﻦ ﻧﻤﻲ رﺳﻴﻢ. (4) -5در راﺑﻄﻪ 2NFﻣﻤﻜﻦ اﺳﺖ آﻧﻮﻣﺎﻟﻴﻬﺎﻳﻲ در درج ،ﺣﺬف و ﺑﻬﻨﮕﺎم ﺳﺎزي داﺷﺘﻪ ﺑﺎﺷﻴﻢ. (3) -6ﮔﺰﻳﻨﻪ ﻫﺎي 1و 2درﺳﺖ ﻣﻲ ﺑﺎﺷﻨﺪ .راﺑﻄﻪاي 2NFاﺳﺖ اﮔﺮ و ﻓﻘﻂ اﮔﺮ 1NF
ﺑﺎﺷﺪ و ﻫﺮ ﺻﻔﺖ ﺧﺎﺻﻪ ﻏﻴﺮ ﻛﻠﻴﺪ ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ داﺷﺘﻪ ﺑﺎﺷﺪ .ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﺗﻌﺮﻳﻒ ﮔﺰﻳﻨﻪ 4ﺑﺮاي 3NFﻣﻌﺎدل ﺗﻌﺮﻳﻒ ﮔﺰﻳﻨﻪ 2ﻣﻲ ﺑﺎﺷﺪ. (1) -7 (4) -8 (4) -9
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
332ﭘﺎﻳﮕﺎه داده ﻫﺎ
(3) -10ﻧﺮﻣﺎل ﺳﺎزي از آﻧﺠﺎ ﻛﻪ ﺑﺎﻋﺚ ﺗﺠﺰﻳﻪ ﺟﺪاول ﻣﻲ ﺷﻮد دﻳﺪ ﻛﺎرﺑﺮ را ﺑﻪ ﻋﻠﺖ ﺗﻌﺪد ﺟﺪاول و ارﺗﺒﺎط ﺑﻴﻦ آﻧﻬﺎ ﻣﻤﻜﻦ اﺳﺖ ﻣﺸﻜﻞ ﺳﺎزد ﻫﻤﭽﻨﻴﻦ از آﻧﺠﺎ ﻛﻪ ﺑﺮاي ﺑﺎزﻳﺎﺑﻲ ﺑﻌﻀﻲ ﭘﺮس و ﺟﻮﻫﺎ ﻧﻴﺎز ﺑﻪ ﭘﻴﻮﻧﺪ ﺟﺪوﻟﻬﺎ ﺧﻮاﻫﺪ ﺑﻮد ﻣﻤﻜﻦ اﺳﺖ ﺑﺎر ﺳﻴﺴﺘﻢ را اﻓﺰاﻳﺶ دﻫﺪ. (4) -11در ﮔﺰﻳﻨﻪ 1وﻗﺘﻲ ﻛﻪ راﺑﻄﻪ در 2NFﺑﺎﺷﺪ ،ﺧﻮد ﺑﻪ ﺧﻮد ﻫﺮ ﺻﻔﺖ ﺧﺎﺻﻪ ﻏﻴﺮ ﻛﻠﻴﺪ ﺑﺎ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ ﻛﺎﻣﻞ ﺧﻮاﻫﺪ داﺷﺖ. (1) -12 (4) -13 (4) -14ﻛﺘﺎﺑﻬﺎي ﻣﺨﺘﻠﻒ ﻋﺒﺎرات ﻣﺘﻔﺎوﺗﻲ را ﺑﺮاي ﺗﻌﺮﻳﻒ ﺣﺎﻻت ﻧﺮﻣﺎل ﺑﻪ ﻛﺎر ﻣﻲ ﺑﺮﻧﺪ ﻛﻪ ﻫﻤﮕﻲ آﻧﻬﺎ در ﻣﻌﻨﺎي ﻧﻬﺎﻳﻲ ﻣﻌﺎدل ﻳﻜﺪﻳﮕﺮ ﻣﻲ ﺑﺎﺷﻨﺪ. (2) -15 (3) -16 (4) -17 (3) -18 (2) -19 (4) -20 (3) -21 (4) -22 (3) -23 (2) -24 (3) -25 (1) -26ﻧﺮﻣﺎل ﺳﺎزي ﺑﺎ اﻋﻤﺎل ﻣﺤﺪودﻳﺘﻬﺎﻳﻲ ﺟﻠﻮي ﻳﻜﺴﺮي اﻓﺰوﻧﮕﻲ و ﻧﻴﺰ آﻧﻮﻣﺎﻟﻴﻬﺎ را ﻣﻲ ﮔﻴﺮد. (4) -27
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﻣﺠﻤﻮﻋﻪ ﺳﺌﻮاﻻت
333
(3) -28اﻳﻦ در واﻗﻊ ﻫﻤﺎن ﺑﺤﺚ ﻧﺮﻣﺎل ﺳﺎزي اﺳﺖ ،ﻣﺎ داه ﻫﺎ را ﺑﻪ ﺟﺎي ذﺧﻴﺮه در ﻳﻚ ﺟﺪول در ﭼﻨﺪ ﺟﺪول ذﺧﻴﺮه ﻣﻲ ﺳﺎزﻳﻢ ﺗﺎ آﻧﻮﻣﺎﻟﻴﻬﺎ و ﻣﺸﻜﻼت را ﻛﺎﻫﺶ دﻫﻴﻢ .اﻳﻦ ﻋﻤﻞ ﺑﺮ ﻋﻜﺲ ﺳﺮﻋﺖ ﻋﻤﻠﻴﺎت را ﻛﺎﻫﺶ ﻣﻲ دﻫﺪ .ﭘﺲ ﮔﺰﻳﻨﻪ 4ﻏﻠﻂ اﺳﺖ. (1) -29 (3) -30ﺟﺪوﻟﻲ در 3NFاﺳﺖ ﻛﻪ اﻟﻒ ( در 2NFﺑﺎﺷﺪ ب( واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ .واﺑﺴﺘﮕﻲ اﻧﺘﻘﺎﻟﻲ ﻳﻌﻨﻲ واﺑﺴﺘﮕﻲ دو ﺻﻔﺖ ﻏﻴﺮ ﻛﻠﻴﺪي ﺑﻪ ﻫﻢ زﻳﺮا ﻫﺮ ﻳﻚ از آﻧﻬﺎ ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ واﺑﺴﺘﻪاﻧﺪ .راﺑﻄﻪاي ﻛﻪ 4NFﺑﺎﺷﺪ ﺣﺘﻤﺎ 3NFاﺳﺘﻊ و وﻳﮋﮔﻴﻬﺎي آن را دارد. S# (4) -31و Snameﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻣﻲ ﺑﺎﺷﻨﺪ و S#→Stud , Sname →Studﭘﺲ ﭼﻮن ﻫﺮ دﺗﺮﻣﻴﻨﺎن ﻓﻘﻂ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻣﻲ ﺑﺎﺷﺪ در ﺳﻄﺢ BCNFﻗﺮار دارد. (1) -32در ﺑﻌﻀﻲ ﻣﻮارد ﻧﺒﺎﻳﺪ رواﺑﻂ 3NFرا ﺑﻪ BCNFﺗﺒﺪﻳﻞ ﻛﺮد ﭘﺲ ﮔﺰﻳﻨﻪ 2 ﻧﺎدرﺳﺖ اﺳﺖ .ﻫﻤﭽﻨﻴﻦ ﻣﻮاردي اﻳﺖ ﻛﻪ ﺗﺠﺰﻳﻪ رواﺑﻂ 3NFﺑﻪ رواﺑﻂ BCNFواﺑﺴﺘﮕﻲ ﻫﺎ را از ﺑﻴﻦ ﻣﻲ ﺑﺮد ﭘﺲ ﮔﺰﻳﻨﻪ 3ﻧﻴﺰ ﻧﺎدرﺳﺖ اﺳﺖ. (3) -33ﺟﺪول ﻣﺬﻛﻮر در ﺳﻄﺢ BCNFاﺳﺖ زﻳﺮا ﻫﻴﭽﮕﻮﻧﻪ واﺑﺴﺘﮕﻲ ﺑﻪ ﺟﺰ واﺑﺴﺘﮕﻲ ﺑﻪ ﻛﻠﻴﺪ اﺻﻠﻲ ،ﻛﻪ ﺷﺎﻣﻞ ﺗﻤﺎم ﺳﺘﻮﻧﻬﺎ اﺳﺖ ،وﺟﻮد ﻧﺪارد .وﻟﻲ ﺟﺪول ﻓﻮق اﻓﺰوﻧﮕﻲ دارد ،ﭼﺮا ﻛﻪ داﻧﺸﻜﺪه ﻫﺎي اﺳﺘﺎد اﻣﻴﺮي و ﻧﻴﺰ دروﺳﻲ ﻛﻪ ﺗﺪرﻳﺲ ﻛﺮده اﺳﺖ ﺗﻜﺮار ﺷﺪه اﺳﺖ .ﺑﺮاي رﻓﻊ اﻳﻦ ﻣﺸﻜﻞ و ﺗﺒﺪﻳﻞ آن ﺑﻪ 4NFﻣﻲ ﺗﻮان آن را ﺑﻪ دو ﺟﺪول زﻳﺮ ﺗﺠﺰﻳﻪ ﻛﺮد: ﻧﺎم ﻛﺘﺎب
ﻧﺎم درس
ﻧﺎم اﺳﺘﺎد
ﺷﻬﺮ داﻧﺸﻜﺪه
ﻧﺎم داﻧﺸﻜﺪه
ﻧﺎم اﺳﺘﺎد
ﻫﺮﺑﺮت ﺷﻴﻠﺪ
ﺑﺮﻧﺎﻣﻪ ﺳﺎزي
اﻣﻴﺮي
ﺗﻬﺮان
ﻛﺎﻣﭙﻴﻮﺗﺮ
اﻣﻴﺮي
ﻟﻴﭗ ﺷﻮﺗﺰ
ﺳﺎﺧﺘﻤﺎن داده
اﻣﻴﺮي
اراك
ﺑﺮق
اﻣﻴﺮي
دﻳﺖ
ﭘﺎﻳﮕﺎهداده
اﻣﻴﺮي
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
% %? SQL 99 _ BNF BNF Grammar for ISO/IEC 9075:1999 Database Language SQL (SQL-99) ======================================================= --p Note that this version of this file includes the corrections from ISO 9075:1999/Cor.1:2000. --/p --p The plain text version of this grammar is --## <a href='sql-99.bnf'> sql-99.bnf </a>. --/p --hr --h2 Key SQL Statements and Fragments --/h2 --bl --li ALTER DOMAIN <alter domain statement> --li ALTER TABLE <alter table statement> --li CLOSE cursor <close statement> --li Column definition <column definition> --li COMMIT WORK <commit statement> --li CONNECT <connect statement> --li CREATE ASSERTION <assertion definition> --li CREATE CHARACTER SET <character set definition> --li CREATE COLLATION <collation definition> --li CREATE DOMAIN <domain definition> --li CREATE FUNCTION <schema function> --li CREATE PROCEDURE <schema procedure> --li CREATE SCHEMA <schema definition> --li CREATE TABLE <table definition> --li CREATE TRANSLATION <translation definition> --li CREATE TRIGGER <trigger definition> --li CREATE VIEW <view definition> --li Data type <data type> --li DEALLOCATE PREPARE <deallocate prepared statement> --li DECLARE cursor <declare cursor> <dynamic declare cursor> --li DECLARE LOCAL TEMPORARY TABLE <temporary table declaration> --li DELETE <delete statement: positioned> <delete statement: searched> <dynamic delete statement: positioned> --li DESCRIBE <describe statement> --li DESCRIPTOR statements <system descriptor statement> --li DISCONNECT <disconnect statement>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
336
--li EXECUTE <execute statement> --li EXECUTE IMMEDIATE <execute immediate statement> --li FETCH cursor <fetch statement> --li FROM clause <from clause> --li GET DIAGNOSTICS <get diagnostics statement> --li GRANT <grant statement> --li GROUP BY clause <group by clause> --li HAVING clause <having clause> --li INSERT <insert statement> --li Literals <literal> --li OPEN cursor <open statement> --li ORDER BY clause <order by clause> --li PREPARE <prepare statement> --li REVOKE <revoke statement> --li ROLLBACK WORK <rollback statement> --li SAVEPOINT <savepoint statement> --li Search condition <search condition> <regular expression> --li SELECT <query specification> --li SET CATALOG <set catalog statement> --li SET CONNECTION <set connection statement> --li SET CONSTRAINTS <set constraints mode statement> --li SET NAMES <set names statement> --li SET SCHEMA <set schema statement> --li SET SESSION AUTHORIZATION <set session user identifier statement> --li SET TIME ZONE <set local time zone statement> --li SET TRANSACTION <set transaction statement> --li SQL Client MODULE <SQL-client module definition> --li UPDATE <update statement: positioned> <update statement: searched> <dynamic update statement: positioned> --li Value expression <value expression> --li WHERE clause <where clause> --/bl --hr --h2 Identifying the version of SQL in use --/h2 --p This material (starting with <SQL object identifier> ) is defined in section 6.3 "Object Identifier for Database Language SQL" of ISO/IEC 9075-1:1999 (SQL Framework). It is used to express the capabilities of an implementation. The package names are identifiers such as 'PKG001', equivalent to 'Enhanced datetime facilities', as defined in the informative Annex B to SQL Framework. Each such package identifies a number of features that are provided when the SQL object identifier claims to provide the package. --/p <SQL object identifier>::= <SQL provenance> <SQL variant> <SQL provenance>::= <arc1> <arc2> <arc3> <arc1>::=iso | 1 | iso <leftparen> 1 <rightparen> <arc2>::=standard | 0 | standard <leftparen> 0 <rightparen> <arc3>::=9075 <SQL variant>::= <SQL edition> <SQL conformance> <SQL edition>::= <1987> | <1989> | <1992> | <1999> <1987>::=0 | edition1987 <leftparen> 0 <rightparen> <1989>::= <1989 base> <1989 package> <1989 base>::=1 | edition1989 <leftparen> 1 <rightparen> <1989 package>::= <integrity no> | <integrity yes> <integrity no>::=0 | IntegrityNo <leftparen> 0 <rightparen> <integrity yes>::=1 | IntegrityYes <leftparen> 1 <rightparen> <1992>::=2 | edition1992 <leftparen> 2 <rightparen> <1999>::=3 | edition1999 <leftparen> 3 <rightparen> <SQL conformance>::= <level> <parts> <packages>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
337 SQL 99 _ BNF <level>::= <low> | <intermediate> | <high> <low>::=0 | Low <leftparen> 0 <rightparen> <intermediate>::=1 | Intermediate <leftparen> 1 <rightparen> <high>::=2 | High <leftparen> 2 <rightparen> <parts>::= <Part 3> <Part 4> <Part 5> <Part 6> <Part 7> <Part 8> <Part 9> <Part 10> --p --small --i The parenthesized (i) and (n) are italic in the SQL standard. It is not clear exactly what this should look like, despite all the Information. However, it is also not important; this is not really a part of the SQL language per se. Note that the package numbers are PKG001 to PKG009, for example. We still have to devise a mechanism to persuade bnf2yacc.pl to ignore this information. --/i --/small --/p <packages>::= <Package PKG(i)>... <Part (n)>::= <Part (n) no> | <Part (n) yes> <Part (n) no>::=0 | Part-(n)No <leftparen> 0 <rightparen> <Part (n) yes>::=!! (as specified in ISO/IEC 9075-(n)) <Package PKG(i)>::= <Package PKG(i)Yes> | <Package PKG(i)No> <Part 3 yes>::= <Part 3 conformance> <Part 3 conformance>::=3 | sqlcli1999 <leftparen> 3 <rightparen> <Part 4 yes>::= <Part 4 conformance> <Part 4 module> <Part 4 conformance>::=4 | sqlpsm1999 <leftparen> 4 <rightparen> <Part 4 module>::= <Part 4 module yes> | <Part 4 module no> <Part 4 module yes>::=1 | moduleyes <leftparen> 1 <rightparen> <Part 4 module no>::=0 | moduleno <leftparen> 0 <rightparen> <Part 5 yes>::= <Part 5 conformance> <Part 5 direct> <Part 5 embedded> --p --small --i The original used sqlbindings199x, but the x should clearly be a 9. --/i --/small --/p <Part 5 conformance>::=5 | sqlbindings1999 <leftparen> 5 <rightparen> <Part 5 direct>::= <Part 5 direct yes> | <Part 5 direct no> <Part 5 direct yes>::=1 | directyes <leftparen> 1 <rightparen> <Part 5 direct no>::=0 | directno <leftparen> 0 <rightparen> <Part 5 embedded>::= <Part 5 embedded no> | <Part 5 embedded languages>... <Part 5 embedded no>::=0 | embeddedno <leftparen> 0 <rightparen> <Part 5 embedded languages>::= <Part 5 embedded Ada> | <Part 5 embedded C> | <Part 5 embedded COBOL> | <Part 5 embedded Fortran> | <Part 5 embedded MUMPS> | <Part 5 embedded Pascal> | <Part 5 embedded PL/I> <Part 5 embedded Ada>::=1 | embeddedAda <leftparen> 1 <rightparen> <Part 5 embedded C>::=2 | embeddedC <leftparen> 2 <rightparen> <Part 5 embedded COBOL>::=3 | embeddedCOBOL <leftparen> 3 <rightparen> <Part 5 embedded Fortran>::=4 | embeddedFortran <leftparen> 4 <rightparen> <Part 5 embedded MUMPS>::=5 | embeddedMUMPS <leftparen> 5 <rightparen> <Part 5 embedded Pascal>::=6 | embeddedPascal <leftparen> 6 <rightparen> <Part 5 embedded PL/I>::=7 | embeddedPLI <leftparen> 7 <rightparen> --hr --h2 Basic Definitions of Characters Used, Tokens, Symbols, Etc.
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
338
--/h2 --p Most of this section would normally be handled within the lexical analyzer rather than in the grammar proper. Further, the original document does not quote the various single characters, which makes it hard to process automatically. --/p <SQL terminal character>::= <SQL language character> <SQL language character>::= <simple Latin letter> | <digit> | <SQL special character> <simple Latin letter>::= <simple Latin upper case letter> | <simple Latin lower case letter> <simple Latin upper case letter>::= A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z <simple Latin lower case letter>::= a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z <digit>::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <SQL special character>::= <space> | <double quote> | <percent> | <ampersand> | <quote> | <leftparen> | <rightparen> | <asterisk> | <plus sign> | <comma> | <minus sign> | <period> | <solidus> | <colon> | <semicolon> | <less than operator> | <equals operator> | <greater than operator> | <question mark> | <left bracket> | <right bracket> | <circumflex> | <underscore> | <vertical bar> | <left brace> | <right brace> <space>::=!! (See the Syntax Rules) <double quote>::=" <percent>::=% <ampersand>::=& <quote>::=' <leftparen>::=( <rightparen>::=) <asterisk>::=* <plus sign>::=+ <comma>::=, <minus sign>::=<period>::=. <solidus>::=/ <colon>::=: <semicolon>::=; <less than operator>::= <
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
339 SQL 99 _ BNF <equals operator>::== <greater than operator>::=> <question mark>::=? <left bracket>::=[ <right bracket>::=] <circumflex>::=^ <underscore>::=_ <vertical bar>::=| <left brace>::={ <right brace>::=} --hr --h2 Literal Numbers, Strings, Dates and Times --/h2 --p --small --i <SQL-client module definition> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <SQL-client module definition>::= <module name clause> <language clause> <module authorization clause> [ <module path specification> ] [ <module transform group specification> ] [ <temporary table declaration>... ] <module contents>... <module name clause>::= MODULE [ <SQL-client module name> ] [ <module character set specification> ] <SQL-client module name>::= <identifier> <identifier>::= <actual identifier> <actual identifier>::= <regular identifier> | <delimited identifier> <regular identifier>::= <identifier body> --p --small --i <identifier body> modified per ISO 9075:1999/Cor.1:2000(E). --/i --/p --p --i <identifier body> also rationalized by removing curly brackets around <identifier part> because they are unnecessary and inconsistent with other places where '...' modifies a single non-terminal. --/i --/small --/small --/p <identifier body>::= <identifier start> [ <identifier part>... ] <identifier start>::= <initial alphabetic character> | <ideographic character> <initial alphabetic character>::=!! (See the Syntax Rules) <ideographic character>::=!! (See the Syntax Rules) <identifier part>::= <alphabetic character> | <ideographic character> | <decimal digit character> | <identifier combining character> | <underscore> | <alternate underscore> | <extender character> | <identifier ignorable character>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
340
| <connector character> <alphabetic character>::=!! (See the Syntax Rules) <decimal digit character>::=!! (See the Syntax Rules) <identifier combining character>::=!! (See the Syntax Rules) <alternate underscore>::=!! (See the Syntax Rules) <extender character>::=!! (See the Syntax Rules) <identifier ignorable character>::=!! (See the Syntax Rules) <connector character>::=!! (See the Syntax Rules) <delimited identifier>::= <double quote> <delimited identifier body> <double quote> <delimited identifier body>::= <delimited identifier part>... <delimited identifier part>::= <nondoublequote character> | <doublequote symbol> <nondoublequote character>::=!! (See the Syntax Rules) --p --small --i Note that the two successive double quote characters must have no other character (such as a space) between them. The lexical analyzer would normally deal with this sort of issue. --/i --/small --/p <doublequote symbol>::= <double quote> <double quote> <module character set specification>::=NAMES ARE <character set specification> <character set specification>::= <standard character set name> | <implementation-defined character set name> | <user-defined character set name> <standard character set name>::= <character set name> <character set name>::=[ <schema name> <period> ] <SQL language identifier> <schema name>::=[ <catalog name> <period> ] <unqualified schema name> <catalog name>::= <identifier> <unqualified schema name>::= <identifier> <SQL language identifier>::= <SQL language identifier start> [ { <underscore> | <SQL language identifier part> }... ] <SQL language identifier start>::= <simple Latin letter> <SQL language identifier part>::= <simple Latin letter> | <digit> <implementation-defined character set name>::= <character set name> <user-defined character set name>::= <character set name> <language clause>::=LANGUAGE <language name> <language name>::=ADA | C | COBOL | FORTRAN | MUMPS | PASCAL | PLI | SQL <module authorization clause>::= SCHEMA <schema name> | AUTHORIZATION <module authorization identifier> | SCHEMA <schema name> AUTHORIZATION <module authorization identifier> <module authorization identifier>::= <authorization identifier> <authorization identifier>::= <role name> | <user identifier> <role name>::= <identifier> <user identifier>::= <identifier> <module path specification>::= <path specification> <path specification>::=PATH <schema name list> <schema name list>::= <schema name> [ { <comma> <schema name> }... ] <module transform group specification>::= <transform group specification> <transform group specification>::= TRANSFORM GROUP { <single group specification> | <multiple group specification> } <single group specification>::= <group name> <group name>::= <identifier> <multiple group specification>::= <group specification> [ { <comma> <group specification> }... ] <group specification>::= <group name> FOR TYPE <user-defined type> <user-defined type>::= <user-defined type name>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
341 SQL 99 _ BNF <user-defined type name>::= <schema qualified type name> <schema qualified type name>::=[ <schema name> <period> ] <qualified identifier> <qualified identifier>::= <identifier> <temporary table declaration>::= DECLARE LOCAL TEMPORARY TABLE <table name> <table element list> [ ON COMMIT <table commit action> ROWS ] <table name>::= <local or schema qualified name> <local or schema qualified name>::=[ <local or schema qualifier> <period> ] <qualified identifier> <local or schema qualifier>::= <schema name> | MODULE <table element list>::= <leftparen> <table element> [ { <comma> <table element> }... ] <rightparen> <table element>::= <column definition> | <table constraint definition> | <like clause> | <self-referencing column specification> | <column options> <column definition>::= <column name> { <data type> | <domain name> } [ <reference scope check> ] [ <default clause> ] [ <column constraint definition>... ] [ <collate clause> ] <column name>::= <identifier> --hr --h2 Data Types --/h2 <data type>::= <predefined type> | <row type> | <user-defined type> | <reference type> | <collection type> <predefined type>::= <character string type> [ CHARACTER SET <character set specification> ] | <national character string type> | <binary large object string type> | <bit string type> | <numeric type> | <boolean type> | <datetime type> | <interval type> <character string type>::= CHARACTER [ <leftparen> <length> <rightparen> ] | CHAR [ <leftparen> <length> <rightparen> ] | CHARACTER VARYING <leftparen> <length> <rightparen> | CHAR VARYING <leftparen> <length> <rightparen> | VARCHAR <leftparen> <length> <rightparen> | CHARACTER LARGE OBJECT [ <leftparen> <large object length> <rightparen> ] | CHAR LARGE OBJECT [ <leftparen> <large object length> <rightparen> ] | CLOB [ <leftparen> <large object length> <rightparen> ] <length>::= <unsigned integer> <unsigned integer>::= <digit>... <large object length>::= <unsigned integer> [ <multiplier> ] | <large object length token> <multiplier>::=K | M | G <large object length token>::= <digit>... <multiplier>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
342
<national character string type>::= NATIONAL CHARACTER [ <leftparen> <length> <rightparen> ] | NATIONAL CHAR [ <leftparen> <length> <rightparen> ] | NCHAR [ <leftparen> <length> <rightparen> ] | NATIONAL CHARACTER VARYING <leftparen> <length> <rightparen> | NATIONAL CHAR VARYING <leftparen> <length> <rightparen> | NCHAR VARYING <leftparen> <length> <rightparen> | NATIONAL CHARACTER LARGE OBJECT [ <leftparen> <large object length> <rightparen> ] | NCHAR LARGE OBJECT [ <leftparen> <large object length> <rightparen> ] | NCLOB [ <leftparen> <large object length> <rightparen> ] <binary large object string type>::= BINARY LARGE OBJECT [ <leftparen> <large object length> <rightparen> ] | BLOB [ <leftparen> <large object length> <rightparen> ] <bit string type>::= BIT [ <leftparen> <length> <rightparen> ] | BIT VARYING <leftparen> <length> <rightparen> <numeric type>::= <exact numeric type> | <approximate numeric type> <exact numeric type>::= NUMERIC [ <leftparen> <precision> [ <comma> <scale> ] <rightparen> ] | DECIMAL [ <leftparen> <precision> [ <comma> <scale> ] <rightparen> ] | DEC [ <leftparen> <precision> [ <comma> <scale> ] <rightparen> ] | INTEGER | INT | SMALLINT <precision>::= <unsigned integer> <scale>::= <unsigned integer> <approximate numeric type>::= FLOAT [ <leftparen> <precision> <rightparen> ] | REAL | DOUBLE PRECISION <boolean type>::=BOOLEAN <datetime type>::= DATE | TIME [<leftparen><time precision> <rightparen>] [<with or without time zone>] | TIMESTAMP [ <leftparen> <timestamp precision> <rightparen> ] [ <with or without time zone> ] <time precision>::= <time fractional seconds precision> <time fractional seconds precision>::= <unsigned integer> <with or without time zone>::=WITH TIME ZONE | WITHOUT TIME ZONE <timestamp precision>::= <time fractional seconds precision> <interval type>::=INTERVAL <interval qualifier> <interval qualifier>::= <start field> TO <end field> | <single datetime field> <start field>::= <non-second primary datetime field> [ <leftparen> <interval leading field precision> <rightparen> ] <non-second primary datetime field>::=YEAR | MONTH | DAY | HOUR | MINUTE <interval leading field precision>::= <unsigned integer> <end field>::= <non-second primary datetime field> | SECOND [ <leftparen> <interval fractional seconds precision> <rightparen> ] <interval fractional seconds precision>::= <unsigned integer> <single datetime field>::= <non-second primary datetime field> [ <leftparen> <interval leading field precision> <rightparen> ] | SECOND [ <leftparen> <interval leading field precision> [ <comma> <interval fractional seconds precision> ] <rightparen> ] <row type>::=ROW <row type body> <row type body>::= <leftparen> <field definition> [ { <comma> <field definition> }... ] <rightparen>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
343 SQL 99 _ BNF <field definition>::= <field name> <data type> [ <reference scope check> ] [ <collate clause> ] <field name>::= <identifier> <reference scope check>::= REFERENCES ARE [ NOT ] CHECKED [ ON DELETE <reference scope check action> ] <reference scope check action>::= <referential action> <referential action>::= CASCADE | SET NULL | SET DEFAULT | RESTRICT | NO ACTION <collate clause>::=COLLATE <collation name> <collation name>::= <schema qualified name> <schema qualified name>::=[ <schema name> <period> ] <qualified identifier> <reference type>::=REF <leftparen> <referenced type> <rightparen> [ <scope clause> ] <referenced type>::= <user-defined type> <scope clause>::=SCOPE <table name> <collection type>::= <data type> <array specification> <array specification>::= <collection type constructor> <left bracket or trigraph> <unsigned integer> <right bracket or trigraph> <collection type constructor>::=ARRAY <left bracket or trigraph>::= <left bracket> | <left bracket trigraph> --p --small --i The trigraphs are strictly sequences of characters, not sequences of tokens. There may not be any spaces between the characters. Normally, the lexical analyzer would return the trigraphs as a simple symbol. --/i --/small --/p <left bracket trigraph>::= <question mark> <question mark> <leftparen> <right bracket or trigraph>::= <right bracket> | <right bracket trigraph> <right bracket trigraph>::= <question mark> <question mark> <rightparen> <domain name>::= <schema qualified name> <default clause>::=DEFAULT <default option> <default option>::= <literal> | <datetime value function> | USER | CURRENT_USER | CURRENT_ROLE | SESSION_USER | SYSTEM_USER | CURRENT_PATH | <implicitly typed value specification> --hr --h2 Literals --/h2 <literal>::= <signed numeric literal> | <general literal> <signed numeric literal>::=[ <sign> ] <unsigned numeric literal> <sign>::= <plus sign> | <minus sign> <unsigned numeric literal>::= <exact numeric literal> | <approximate numeric literal> <exact numeric literal>::= <unsigned integer> [ <period> [ <unsigned integer> ] ] | <period> <unsigned integer> <approximate numeric literal>::= <mantissa> E <exponent> <mantissa>::= <exact numeric literal>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
344
<exponent>::= <signed integer> <signed integer>::=[ <sign> ] <unsigned integer> <general literal>::= <character string literal> | <national character string literal> | <bit string literal> | <hex string literal> | <binary string literal> | <datetime literal> | <interval literal> | <boolean literal> <character string literal>::= [ <introducer> <character set specification> ] <quote> [ <character representation>... ] <quote> [ { <separator> <quote> [ <character representation>... ] <quote> }... ] <introducer>::= <underscore> <character representation>::= <nonquote character> | <quote symbol> <nonquote character>::=!! (See the Syntax Rules.) --p --small --i The <quote symbol> rule consists of two immediately adjacent <quote> marks with no spaces. As usual, this would be best handled in the lexical analyzer, not in the grammar. --/i --/small --/p <quote symbol>::= <quote> <quote> <separator>::={ <comment> | <white space> }... <comment>::= <simple comment> | <bracketed comment> <simple comment>::= <simple comment introducer> [ <comment character>... ] <newline> <simple comment introducer>::= <minus sign> <minus sign> [ <minus sign>... ] <comment character>::= <nonquote character> | <quote> <newline>::=!! (See the Syntax Rules) --p --small --i The <bracketed comment> rule included '!! (See the Syntax Rules)'. This probably says something about the <slash> <asterisk> and <asterisk> <slash> needing to be adjacent characters rather than adjacent tokens. --/i --/small --/p <bracketed comment>::= <bracketed comment introducer> <bracketed comment contents> <bracketed comment terminator> <bracketed comment introducer>::= <slash> <asterisk> <bracketed comment contents>::=[ { <comment character> | <separator> }... ] <bracketed comment terminator>::= <asterisk> <slash> <white space>::=!! (See the Syntax Rules) <national character string literal>::= N <quote> [ <character representation>... ] <quote> [ { <separator> <quote> [ <character representation>... ] <quote> }... ] <bit string literal>::= B <quote> [ <bit>... ] <quote> [ { <separator> <quote> [ <bit>... ] <quote> }... ] <bit>::=0 | 1 <hex string literal>::= X <quote> [ <hexit>... ] <quote> [ { <separator> <quote> [ <hexit>... ] <quote> }... ]
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
345 SQL 99 _ BNF <hexit>::= <digit> | A | B | C | D | E | F | a | b | c | d | e | f <binary string literal>::= X <quote> [ { <hexit> <hexit> }... ] <quote> [ { <separator> <quote> [ { <hexit> <hexit> }... ] <quote> }... ] <datetime literal>::= <date literal> | <time literal> | <timestamp literal> <date literal>::=DATE <date string> <date string>::= <quote> <unquoted date string> <quote> <unquoted date string>::= <date value> <date value>::= <years value> <minus sign> <months value> <minus sign> <days value> <years value>::= <datetime value> <datetime value>::= <unsigned integer> <months value>::= <datetime value> <days value>::= <datetime value> <time literal>::=TIME <time string> <time string>::= <quote> <unquoted time string> <quote> <unquoted time string>::= <time value> [ <time zone interval> ] <time value>::= <hours value> <colon> <minutes value> <colon> <seconds value> <hours value>::= <datetime value> <minutes value>::= <datetime value> <seconds value>::= <seconds integer value> [ <period> [ <seconds fraction> ] ] <seconds integer value>::= <unsigned integer> <seconds fraction>::= <unsigned integer> <time zone interval>::= <sign> <hours value> <colon> <minutes value> <timestamp literal>::=TIMESTAMP <timestamp string> <timestamp string>::= <quote> <unquoted timestamp string> <quote> <unquoted timestamp string>::= <unquoted date string> <space> <unquoted time string> <interval literal>::=INTERVAL [ <sign> ] <interval string> <interval qualifier> <interval string>::= <quote> <unquoted interval string> <quote> <unquoted interval string>::=[ <sign> ] { <year-month literal> | <day-time literal> } <year-month literal>::= <years value> | [ <years value> <minus sign> ] <months value> <day-time literal>::= <day-time interval> | <time interval> <day-time interval>::= <days value> [ <space> <hours value> [ <colon> <minutes value> [ <colon> <seconds value> ] ] ] <time interval>::= <hours value> [ <colon> <minutes value> [ <colon> <seconds value> ] ] | <minutes value> [ <colon> <seconds value> ] | <seconds value> <boolean literal>::=TRUE | FALSE | UNKNOWN <datetime value function>::= <current date value function> | <current time value function> | <current timestamp value function> | <current local time value function> | <current local timestamp value function> <current date value function>::=CURRENT_DATE <current time value function>::= CURRENT_TIME [ <leftparen> <time precision> <rightparen>] <current timestamp value function>::= CURRENT_TIMESTAMP [ <leftparen> <timestamp precision> <rightparen> ] <current local time value function>::= LOCALTIME [ <leftparen> <time precision> <rightparen> ] <current local timestamp value function>::= LOCALTIMESTAMP [ <leftparen> <timestamp precision> <rightparen> ] <implicitly typed value specification>::= <null specification> | <empty specification> <null specification>::=NULL <empty specification>::=ARRAY <left bracket or trigraph> <right bracket or trigraph> --hr --h2 Constraints
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ --/h2 <column constraint definition>::= [ <constraint name definition> ] <column constraint> [ <constraint characteristics> ] <constraint name definition>::=CONSTRAINT <constraint name> <constraint name>::= <schema qualified name> <column constraint>::= NOT NULL | <unique specification> | <references specification> | <check constraint definition> <unique specification>::=UNIQUE | PRIMARY KEY <references specification>::= REFERENCES <referenced table and columns> [ MATCH <match type> ] [ <referential triggered action> ] <referenced table and columns>::= <table name> [ <leftparen> <reference column list> <rightparen> ] <reference column list>::= <column name list> <column name list>::= <column name> [ { <comma> <column name> }... ] <match type>::=FULL | PARTIAL | SIMPLE <referential triggered action>::= <update rule> [ <delete rule> ] | <delete rule> [ <update rule> ] <update rule>::=ON UPDATE <referential action> <delete rule>::=ON DELETE <referential action> <check constraint definition>::=CHECK <leftparen> <search condition> <rightparen> --hr --h2 Search Condition --/h2 <search condition>::= <boolean value expression> <boolean value expression>::= <boolean term> | <boolean value expression> OR <boolean term> <boolean term>::= <boolean factor> | <boolean term> AND <boolean factor> <boolean factor>::=[ NOT ] <boolean test> <boolean test>::= <boolean primary> [ IS [ NOT ] <truth value> ] <boolean primary>::= <predicate> | <parenthesized boolean value expression> | <nonparenthesized value expression primary> <predicate>::= <comparison predicate> | <between predicate> | <in predicate> | <like predicate> | <null predicate> | <quantified comparison predicate> | <exists predicate> | <unique predicate> | <match predicate> | <overlaps predicate> | <similar predicate> | <distinct predicate> | <type predicate> <comparison predicate>::= <row value expression> <comp op> <row value expression> <row value expression>::= <row value special case> | <row value constructor> <row value special case>::= <value specification> | <value expression> <value specification>::= <literal> | <general value specification>
Ramin.Samad@yahoo.com
346
WWW.IRANMEET.COM
347 SQL 99 _ BNF <general value specification>::= <host parameter specification> | <SQL parameter reference> | <SQL variable reference> | <dynamic parameter specification> | <embedded variable specification> | CURRENT_DEFAULT_TRANSFORM_GROUP | CURRENT_PATH | CURRENT_ROLE | CURRENT_TRANSFORM_GROUP_FOR_TYPE <user-defined type> | CURRENT_USER | SESSION_USER | SYSTEM_USER | USER | VALUE <host parameter specification>::= <host parameter name> [ <indicator parameter> ] <host parameter name>::= <colon> <identifier> <indicator parameter>::=[ INDICATOR ] <host parameter name> <SQL parameter reference>::= <basic identifier chain> <basic identifier chain>::= <identifier chain> <identifier chain>::= <identifier> [ { <period> <identifier> }... ] <value expression>::= <numeric value expression> | <string value expression> | <datetime value expression> | <interval value expression> | <boolean value expression> | <user-defined type value expression> | <row value expression> | <reference value expression> | <collection value expression> <numeric value expression>::= <term> | <numeric value expression> <plus sign> <term> | <numeric value expression> <minus sign> <term> <term>::= <factor> | <term> <asterisk> <factor> | <term> <solidus> <factor> <factor>::=[ <sign> ] <numeric primary> <numeric primary>::= <value expression primary> | <numeric value function> <value expression primary>::= <parenthesized value expression> | <nonparenthesized value expression primary> <parenthesized value expression>::= <leftparen> <value expression> <rightparen> <nonparenthesized value expression primary>::= <unsigned value specification> | <column reference> | <set function specification> | <scalar subquery> | <case expression> | <cast specification> | <subtype treatment> | <attribute or method reference> | <reference resolution> | <collection value constructor> | <routine invocation>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
348
| <field reference> | <element reference> | <method invocation> | <static method invocation> | <new specification> <unsigned value specification>::= <unsigned literal> | <general value specification> <unsigned literal>::= <unsigned numeric literal> | <general literal> <column reference>::= <basic identifier chain> | MODULE <period> <qualified identifier> <period> <column name> <set function specification>::= COUNT <leftparen> <asterisk> <rightparen> | <general set function> | <grouping operation> <general set function>::= <set function type> <leftparen> [ <set quantifier> ] <value expression> <rightparen> <set function type>::= <computational operation> <computational operation>::=AVG | MAX | MIN | SUM | EVERY | ANY | SOME | COUNT <set quantifier>::=DISTINCT | ALL <grouping operation>::=GROUPING <leftparen> <column reference> <rightparen> --hr --h2 Queries --/h2 <scalar subquery>::= <subquery> <subquery>::= <leftparen> <query expression> <rightparen> <query expression>::=[ <with clause> ] <query expression body> <with clause>::=WITH [ RECURSIVE ] <with list> <with list>::= <with list element> [ { <comma> <with list element> }... ] <with list element>::= <query name> [ <leftparen> <with column list> <rightparen> ] AS <leftparen> <query expression> <rightparen> [ <search or cycle clause> ] <query name>::= <identifier> <with column list>::= <column name list> <search or cycle clause>::= <search clause> | <cycle clause> | <search clause> <cycle clause> <search clause>::= SEARCH <recursive search order> SET <sequence column> <recursive search order>::= DEPTH FIRST BY <sort specification list> | BREADTH FIRST BY <sort specification list> <sort specification list>::= <sort specification> [ { <comma> <sort specification> }... ] --p --small --i <sort specification> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <sort specification>::= <sort key> [ <ordering specification> ] <sort key>::= <value expression> <ordering specification>::=ASC | DESC <sequence column>::= <column name> <cycle clause>::= CYCLE <cycle column list> SET <cycle mark column> TO <cycle mark value>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
349 SQL 99 _ BNF DEFAULT <non-cycle mark value> USING <path column> <cycle column list>::= <cycle column> [ { <comma> <cycle column> }... ] <cycle column>::= <column name> <cycle mark column>::= <column name> <cycle mark value>::= <value expression> <non-cycle mark value>::= <value expression> <path column>::= <column name> <query expression body>::= <non-join query expression> | <joined table> <non-join query expression>::= <non-join query term> | <query expression body> UNION [ ALL | DISTINCT ] [ <corresponding spec> ] <query term> | <query expression body> EXCEPT [ ALL | DISTINCT ] [ <corresponding spec> ] <query term> <non-join query term>::= <non-join query primary> | <query term> INTERSECT [ ALL | DISTINCT ] [ <corresponding spec> ] <query primary> <non-join query primary>::= <simple table> | <leftparen> <non-join query expression> <rightparen> <simple table>::= <query specification> | <table value constructor> | <explicit table> <query specification>::=SELECT [ <set quantifier> ] <select list> <table expression> <select list>::= <asterisk> | <select sublist> [ { <comma> <select sublist> }... ] <select sublist>::= <derived column> | <qualified asterisk> <derived column>::= <value expression> [ <as clause> ] <as clause>::=[ AS ] <column name> <qualified asterisk>::= <asterisked identifier chain> <period> <asterisk> | <all fields reference> <asterisked identifier chain>::= <asterisked identifier> [ { <period> <asterisked identifier> }... ] <asterisked identifier>::= <identifier> <all fields reference>::= <value expression primary> <period> <asterisk> <table expression>::= <from clause> [ <where clause> ] [ <group by clause> ] [ <having clause> ] <from clause>::=FROM <table reference list> <table reference list>::= <table reference> [ { <comma> <table reference> }... ] <table reference>::= <table primary> | <joined table> <table primary>::= <table or query name> [ [ AS ] <correlation name> [ <leftparen> <derived column list> <rightparen> ] ] | <derived table> [ AS ] <correlation name> [ <leftparen> <derived column list> <rightparen> ] | <lateral derived table> [ AS ] <correlation name> [ <leftparen> <derived column list> <rightparen> ] | <collection derived table> [ AS ] <correlation name> [ <leftparen> <derived column list> <rightparen> ] | <only spec> [ [ AS ] <correlation name> [ <leftparen> <derived column list> <rightparen> ] ] | <leftparen> <joined table> <rightparen> <table or query name>::= <table name> | <query name> <correlation name>::= <identifier> <derived column list>::= <column name list> <derived table>::= <table subquery> <table subquery>::= <subquery> <lateral derived table>::=LATERAL <leftparen> <query expression> <rightparen> <collection derived table>::= UNNEST <leftparen> <collection value expression> <rightparen> [ WITH ORDINALITY ]
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
350
<collection value expression>::= <value expression primary> <only spec>::=ONLY <leftparen> <table or query name> <rightparen> <joined table>::= <cross join> | <qualified join> | <natural join> | <union join> <cross join>::= <table reference> CROSS JOIN <table primary> <qualified join>::= <table reference> [ <join type> ] JOIN <table reference> <join specification> <join type>::=INNER | <outer join type> [ OUTER ] <outer join type>::=LEFT | RIGHT | FULL <join specification>::= <join condition> | <named columns join> <join condition>::=ON <search condition> <named columns join>::=USING <leftparen> <join column list> <rightparen> <join column list>::= <column name list> <natural join>::= <table reference> NATURAL [ <join type> ] JOIN <table primary> <union join>::= <table reference> UNION JOIN <table primary> <where clause>::=WHERE <search condition> --p --small --i Rules from <group by clause> to <grouping set> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <group by clause>::=GROUP BY <grouping element list> <grouping element list>::= <grouping element> [ { <comma> <grouping element> }...] <grouping element>::= <ordinary grouping set> | <rollup list> | <cube list> | <grouping sets specification> | <grand total> <grouping column reference>::= <column reference> [ <collate clause> ] <rollup list>::=ROLLUP <leftparen> <grouping column reference list> <rightparen> <grouping column reference list>::= <grouping column reference> [ { <comma> <grouping column reference> }... ] <cube list>::=CUBE <leftparen> <grouping column reference list> <rightparen> <grouping sets specification>::=GROUPING SETS <leftparen> <grouping set list> <rightparen> <grouping set list>::= <grouping set> [ { <comma> <grouping set> }... ] <grouping set>::= <ordinary grouping set> | <rollup list> | <cube list> | <grouping sets specification> | <grand total> <ordinary grouping set>::= <grouping column reference> | <leftparen> <grouping column reference list> <rightparen> <grand total>::= <leftparen> <rightparen> <concatenated grouping>::= <grouping set> <comma> <grouping set list> <having clause>::=HAVING <search condition> <table value constructor>::=VALUES <row value expression list> <row value expression list>::= <row value expression> [ { <comma> <row value expression> }... ] <explicit table>::=TABLE <table name> --hr --h2 Query expression components --/h2 <query term>::= <non-join query term> | <joined table> <corresponding spec>::= CORRESPONDING [ BY <leftparen> <corresponding column list> <rightparen> ] <corresponding column list>::= <column name list> <query primary>::= <non-join query primary> | <joined table>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
351 SQL 99 _ BNF <case expression>::= <case abbreviation> | <case specification> <case abbreviation>::= NULLIF <leftparen> <value expression> <comma> <value expression> <rightparen> | COALESCE <leftparen> <value expression> { <comma> <value expression> }... <rightparen> <case specification>::= <simple case> | <searched case> <simple case>::=CASE <case operand> <simple when clause>... [ <else clause> ] END <case operand>::= <value expression> <simple when clause>::=WHEN <when operand> THEN <result> <when operand>::= <value expression> <result>::= <result expression> | NULL <result expression>::= <value expression> <else clause>::=ELSE <result> <searched case>::=CASE <searched when clause>... [ <else clause> ] END <searched when clause>::=WHEN <search condition> THEN <result> <cast specification>::=CAST <leftparen> <cast operand> AS <cast target> <rightparen> <cast operand>::= <value expression> | <implicitly typed value specification> <cast target>::= <domain name> | <data type> --p --small --i <subtype treatment> to <target subtype> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <subtype treatment>::= TREAT <leftparen> <subtype operand> AS <target subtype> <rightparen> <subtype operand>::= <value expression> <target subtype>::= <user-defined type> <attribute or method reference>::= <value expression primary> <dereference operator> <qualified identifier> [ <SQL argument list> ] <dereference operator>::= <right arrow> <right arrow>::=-> <SQL argument list>::= <leftparen>[<SQL argument>[{ <comma> <SQL argument> }... ] ] <rightparen> <SQL argument>::= <value expression> | <generalized expression> | <target specification> <generalized expression>::= <value expression> AS <user-defined type> <target specification>::= <host parameter specification> | <SQL parameter reference> | <column reference> | <SQL variable reference> | <dynamic parameter specification> | <embedded variable specification> <reference resolution>::=DEREF <leftparen> <reference value expression> <rightparen> <reference value expression>::= <value expression primary> <collection value constructor>::= <array value expression> <array value expression>::= <array value constructor> | <array concatenation> | <value expression primary> <array value constructor>::= <array value list constructor> <array value list constructor>::= ARRAY <left bracket or trigraph> <array element list> <right bracket or trigraph> <array element list>::= <array element> [ { <comma> <array element> }... ] <array element>::= <value expression> <array concatenation>::= <array value expression 1> <concatenation operator> <array value expression 2> <array value expression 1>::= <array value expression> <concatenation operator>::=||
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
352
<array value expression 2>::= <array value expression> <routine invocation>::= <routine name> <SQL argument list> <routine name>::=[ <schema name> <period> ] <qualified identifier> <field reference>::= <value expression primary> <period> <field name> <element reference>::= <array value expression> <left bracket or trigraph> <numeric value expression> <right bracket or trigraph> <method invocation>::= <direct invocation> | <generalized invocation> <direct invocation>::= <value expression primary> <period> <method name> [ <SQL argument list> ] <method name>::= <identifier> <generalized invocation>::= <leftparen> <value expression primary> AS <data type> <rightparen> <period> <method name> [ <SQL argument list> ] --p --small --i It is not remotely clear why this was needed in this grammar. --/i --i <constructor method selection> added per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <constructor method selection>::= <routine invocation> <static method invocation>::= <user-defined type> <double colon> <method name> [ <SQL argument list> ] --p --small --i Note that <double colon> must be a pair of characters with no intervening space, not a pair of colon symbols separated by arbitrary white space. Normally, the lexical analyzer would return <double colon> as a symbol. --/i --/small --/p <double colon>::= <colon> <colon> <new specification>::=NEW <routine invocation> <numeric value function>::= <position expression> | <extract expression> | <length expression> | <cardinality expression> | <absolute value expression> | <modulus expression> <position expression>::= <string position expression> | <blob position expression> <string position expression>::= POSITION <leftparen> <string value expression> IN <string value expression> <rightparen> <string value expression>::= <character value expression> | <bit value expression> | <blob value expression> <character value expression>::= <concatenation> | <character factor> <concatenation>::= <character value expression> <concatenation operator> <character factor> <character factor>::= <character primary> [ <collate clause> ] <character primary>::= <value expression primary> | <string value function> <string value function>::= <character value function> | <blob value function> | <bit value function> <character value function>::= <character substring function> | <regular expression substring function> | <fold>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
353 SQL 99 _ BNF | | | | |
<form-of-use conversion> <character translation> <trim function> <character overlay function> <specific type method> <character substring function>::= SUBSTRING <leftparen> <character value expression> FROM <start position> [ FOR <string length> ] <rightparen> <start position>::= <numeric value expression> <string length>::= <numeric value expression> --p --small --i <regular expression substring function> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <regular expression substring function>::= SUBSTRING <leftparen> <character value expression> SIMILAR <character value expression> ESCAPE <escape character> <rightparen> <escape character>::= <character value expression> <fold>::={ UPPER | LOWER } <leftparen> <character value expression> <rightparen> <form-of-use conversion>::= CONVERT <leftparen> <character value expression> USING <form-of-use conversion name> <rightparen> <form-of-use conversion name>::= <schema qualified name> <character translation>::= TRANSLATE <leftparen> <character value expression> USING <translation name> <rightparen> <translation name>::= <schema qualified name> <trim function>::=TRIM <leftparen> <trim operands> <rightparen> <trim operands>::=[ [ <trim specification> ] [ <trim character> ] FROM ] <trim source> <trim specification>::=LEADING | TRAILING | BOTH <trim character>::= <character value expression> <trim source>::= <character value expression> <character overlay function>::= OVERLAY <leftparen> <character value expression> PLACING <character value expression> FROM <start position> [ FOR <string length> ] <rightparen> <specific type method>::= <user-defined type value expression> <period> SPECIFICTYPE <user-defined type value expression>::= <value expression primary> <blob value function>::= <blob substring function> | <blob trim function> | <blob overlay function> <blob substring function>::= SUBSTRING <leftparen> <blob value expression> FROM <start position> [ FOR <string length> ] <rightparen> <blob value expression>::= <blob concatenation> | <blob factor> <blob concatenation>::= <blob value expression> <concatenation operator> <blob factor> <blob factor>::= <blob primary> <blob primary>::= <value expression primary> | <string value function> <blob trim function>::=TRIM <leftparen> <blob trim operands> <rightparen> <blob trim operands>::=[ [ <trim specification> ] [ <trim octet> ] FROM ] <blob trim source> <trim octet>::= <blob value expression> <blob trim source>::= <blob value expression> <blob overlay function>::= OVERLAY <leftparen> <blob value expression> PLACING <blob value expression> FROM <start position> [ FOR <string length> ] <rightparen> <bit value function>::= <bit substring function> <bit substring function>::= SUBSTRING <leftparen> <bit value expression> FROM <start position>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
354
[ FOR <string length> ] <rightparen> <bit value expression>::= <bit concatenation> | <bit factor> <bit concatenation>::= <bit value expression> <concatenation operator> <bit factor> <bit factor>::= <bit primary> <bit primary>::= <value expression primary> | <string value function> <blob position expression>::= POSITION <leftparen> <blob value expression> IN <blob value expression> <rightparen> <extract expression>::= EXTRACT <leftparen> <extract field> FROM <extract source> <rightparen> <extract field>::= <primary datetime field> | <time zone field> <primary datetime field>::= <non-second primary datetime field> | SECOND <time zone field>::=TIMEZONE_HOUR | TIMEZONE_MINUTE <extract source>::= <datetime value expression> | <interval value expression> <datetime value expression>::= <datetime term> | <interval value expression> <plus sign> <datetime term> | <datetime value expression> <plus sign> <interval term> | <datetime value expression> <minus sign> <interval term> <interval term>::= <interval factor> | <interval term 2> <asterisk> <factor> | <interval term 2> <solidus> <factor> | <term> <asterisk> <interval factor> <interval factor>::=[ <sign> ] <interval primary> <interval primary>::= <value expression primary> | <interval value function> <interval value function>::= <interval absolute value function> <interval absolute value function>::=ABS <leftparen> <interval value expression> <rightparen> <interval value expression>::= <interval term> | <interval value expression 1> <plus sign> <interval term 1> | <interval value expression 1> <minus sign> <interval term 1> | <leftparen> <datetime value expression> <minus sign> <datetime term> <rightparen> <interval qualifier> <interval value expression 1>::= <interval value expression> <interval term 1>::= <interval term> <datetime term>::= <datetime factor> <datetime factor>::= <datetime primary> [ <time zone> ] <datetime primary>::= <value expression primary> | <datetime value function> <time zone>::=AT <time zone specifier> <time zone specifier>::=LOCAL | TIME ZONE <interval primary> <interval term 2>::= <interval term> <length expression>::= <char length expression> | <octet length expression> | <bit length expression> <char length expression>::= { CHAR_LENGTH | CHARACTER_LENGTH } <leftparen> <string value expression> <rightparen> <octet length expression>::= OCTET_LENGTH <leftparen> <string value expression> <rightparen> <bit length expression>::= BIT_LENGTH <leftparen> <string value expression> <rightparen> <cardinality expression>::= CARDINALITY <leftparen> <collection value expression> <rightparen> <absolute value expression>::= ABS <leftparen> <numeric value expression> <rightparen> <modulus expression>::= MOD <leftparen> <numeric value expression dividend> <comma> <numeric value expression divisor> <rightparen> <numeric value expression dividend>::= <numeric value expression> <numeric value expression divisor>::= <numeric value expression>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
355 SQL 99 _ BNF <row value constructor>::= <row value constructor element> | [ ROW ] <leftparen> <row value constructor element list> <rightparen> | <row subquery> <row value constructor element>::= <value expression> <row value constructor element list>::= <row value constructor element>[{<comma><row value constructor element>}...] <row subquery>::= <subquery> <comp op>::= <equals operator> | <not equals operator> | <less than operator> | <greater than operator> | <less than or equals operator> | <greater than or equals operator> --p --small --i The <not equals> , <less than or equals operator> and <greater than or equals operator> should be handled by the lexical analyzer as token symbols, not by the grammar. As usual, spaces are not allowed between the two characters. --/i --/small --/p <not equals operator>::= <less than operator> <greater than operator> <less than or equals operator>::= <less than operator> <equals operator> <greater than or equals operator>::= <greater than operator> <equals operator> <between predicate>::= <row value expression> [ NOT ] BETWEEN [ ASYMMETRIC | SYMMETRIC ] <row value expression> AND <row value expression> <in predicate>::= <row value expression> [ NOT ] IN <in predicate value> <in predicate value>::= <table subquery> | <leftparen> <in value list> <rightparen> --p --small --i Previously, the expression in curly braces was not in square brackets. --/i --i Consequently, every <in value list> had to have at least two items in it. --/i --/small --/p <in value list>::= <row value expression> [ { <comma> <row value expression> }... ] <like predicate>::= <character like predicate> | <octet like predicate> <character like predicate>::= <character match value> [ NOT ] LIKE <character pattern> [ ESCAPE <escape character> ] <character match value>::= <character value expression> <character pattern>::= <character value expression> <octet like predicate>::= <octet match value> [ NOT ] LIKE <octet pattern> [ ESCAPE <escape octet> ] <octet match value>::= <blob value expression> <octet pattern>::= <blob value expression> <escape octet>::= <blob value expression> <null predicate>::= <row value expression> IS [ NOT ] NULL <quantified comparison predicate>::= <row value expression> <comp op> <quantifier> <table subquery> <quantifier>::= <all> | <some> <all>::=ALL
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
356
<some>::=SOME | ANY <exists predicate>::=EXISTS <table subquery> <unique predicate>::=UNIQUE <table subquery> <match predicate>::= <row value expression> MATCH [ UNIQUE ] [ SIMPLE | PARTIAL | FULL ] <table subquery> <overlaps predicate>::= <row value expression 1> OVERLAPS <row value expression 2> <row value expression 1>::= <row value expression> <row value expression 2>::= <row value expression> <similar predicate>::= <character match value> [ NOT ] SIMILAR TO <similar pattern> [ ESCAPE <escape character> ] <similar pattern>::= <character value expression> --hr --h2 Regular Expressions for SIMILAR TO --/h2 --p These regular expressions are not referenced anywhere else in the document, but define the structure that the <character value expression> used in <similar pattern> must have. Structurally, these regular expressions are similar to 'egrep' expressions, except they use underscore in place of dot, and percent is equivalent to dot star in 'egrep'. The other omission is the use of caret (aka circumflex) to mark the start of the matched text and dollar to mark the end of the matched text. --/p <regular expression>::= <regular term> | <regular expression> <vertical bar> <regular term> <regular term>::= <regular factor> | <regular term> <regular factor> <regular factor>::= <regular primary> | <regular primary> <asterisk> | <regular primary> <plus sign> <regular primary>::= <character specifier> | <percent> | <regular character set> | <leftparen> <regular expression> <rightparen> <character specifier>::= <non-escaped character> | <escaped character> <non-escaped character>::=!! (See the Syntax Rules) <escaped character>::=!! (See the Syntax Rules) <regular character set>::= <underscore> | <left bracket> <character enumeration>... <right bracket> | <left bracket> <circumflex> <character enumeration>... <right bracket> | <left bracket> <colon> <regular character set identifier> <colon> <right bracket> <character enumeration>::= <character specifier> | <character specifier> <minus sign> <character specifier> <regular character set identifier>::= <identifier> --hr <distinct predicate>::= <row value expression 3> IS DISTINCT FROM <row value expression 4> <row value expression 3>::= <row value expression> <row value expression 4>::= <row value expression> <type predicate>::= <user-defined type value expression> IS [ NOT ] OF <leftparen> <type list> <rightparen>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
357 SQL 99 _ BNF <type list>::= <user-defined type specification> [ { <comma> <user-defined type specification> }... ] <user-defined type specification>::= <inclusive user-defined type specification> | <exclusive user-defined type specification> <inclusive user-defined type specification>::= <user-defined type> <exclusive user-defined type specification>::=ONLY <user-defined type> <parenthesized boolean value expression>::= <leftparen> <boolean value expression> <rightparen> <truth value>::=TRUE | FALSE | UNKNOWN --hr --h2 More about constraints --/h2 <constraint characteristics>::= <constraint check time> [ [ NOT ] DEFERRABLE ] | [ NOT ] DEFERRABLE [ <constraint check time> ] <constraint check time>::=INITIALLY DEFERRED | INITIALLY IMMEDIATE <table constraint definition>::= [ <constraint name definition> ] <table constraint> [ <constraint characteristics> ] <table constraint>::= <unique constraint definition> | <referential constraint definition> | <check constraint definition> --p --small --i The standard documents UNIQUE ( VALUE ) but there is no explanation of why that is different from the UNIQUE <leftparen> VALUE <rightparen> used here. --/i --/small --/p <unique constraint definition>::= <unique specification> <leftparen> <unique column list> <rightparen> | UNIQUE <leftparen> VALUE <rightparen> <unique column list>::= <column name list> <referential constraint definition>::= FOREIGN KEY <leftparen> <referencing columns> <rightparen> <references specification> <referencing columns>::= <reference column list> <like clause>::=LIKE <table name> <self-referencing column specification>::= REF IS <self-referencing column name> <reference generation> <self-referencing column name>::= <column name> <reference generation>::=SYSTEM GENERATED | USER GENERATED | DERIVED <column options>::= <column name> WITH OPTIONS <column option list> <column option list>::= [ <scope clause> ] [ <default clause> ] [ <column constraint definition>... ] [ <collate clause> ] <table commit action>::=PRESERVE | DELETE --hr --h2 Module contents --/h2 <module contents>::= <declare cursor> | <externally-invoked procedure> | <dynamic declare cursor> <declare cursor>::= DECLARE <cursor name> [ <cursor sensitivity> ] [ <cursor scrollability> ] CURSOR [ <cursor holdability> ] [ <cursor returnability> ] FOR <cursor specification> <cursor name>::= <local qualified name>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ <local qualified name>::=[ <local qualifier> <period> ] <qualified identifier> <local qualifier>::=MODULE <cursor sensitivity>::=SENSITIVE | INSENSITIVE | ASENSITIVE <cursor scrollability>::=SCROLL | NO SCROLL <cursor holdability>::=WITH HOLD | WITHOUT HOLD <cursor returnability>::=WITH RETURN | WITHOUT RETURN <cursor specification>::= <query expression> [ <order by clause> ] [ <updatability clause> ] <order by clause>::=ORDER BY <sort specification list> <updatability clause>::=FOR { READ ONLY | UPDATE [ OF <column name list> ] } --hr --h2 SQL Procedures --/h2 <externally-invoked procedure>::= PROCEDURE <procedure name> <host parameter declaration setup> <semicolon> <SQL procedure statement> <semicolon> <procedure name>::= <identifier> --p --small --i <host parameter declaration setup> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <host parameter declaration setup>::= <host parameter declaration list> <host parameter declaration list>::= <leftparen> <host parameter declaration> [ { <comma> <host parameter declaration> }... ] <rightparen> <host parameter declaration>::= <host parameter name> <host parameter data type> | <status parameter> <host parameter data type>::= <data type> [ <locator indication> ] <locator indication>::=AS LOCATOR <status parameter>::=SQLSTATE <SQL procedure statement>::= <SQL executable statement> <SQL executable statement>::= <SQL schema statement> | <SQL data statement> | <SQL control statement> | <SQL transaction statement> | <SQL connection statement> | <SQL session statement> | <SQL diagnostics statement> | <SQL dynamic statement> --hr --h2 SQL Schema Definition Statements --/h2 <SQL schema statement>::= <SQL schema definition statement> | <SQL schema manipulation statement> --p --small --i <SQL schema definition statement> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <SQL schema definition statement>::= <schema definition> | <table definition> | <view definition>
Ramin.Samad@yahoo.com
358
WWW.IRANMEET.COM
359 SQL 99 _ BNF | <SQL-invoked routine> | <grant statement> | <role definition> | <domain definition> | <character set definition> | <collation definition> | <translation definition> | <assertion definition> | <trigger definition> | <user-defined type definition> | <user-defined cast definition> | <user-defined ordering definition> | <transform definition> | <SQL-server module definition> <schema definition>::= CREATE SCHEMA <schema name clause> [ <schema character set or path> ] [ <schema element>... ] <schema name clause>::= <schema name> | AUTHORIZATION <schema authorization identifier> | <schema name> AUTHORIZATION <schema authorization identifier> <schema authorization identifier>::= <authorization identifier> <schema character set or path>::= <schema character set specification> | <schema path specification> | <schema character set specification> <schema path specification> | <schema path specification> <schema character set specification> <schema character set specification>::= DEFAULT CHARACTER SET <character set specification> <schema path specification>::= <path specification> --p --small --i <schema element> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <schema element>::= <table definition> | <view definition> | <domain definition> | <character set definition> | <collation definition> | <translation definition> | <assertion definition> | <trigger definition> | <user-defined type definition> | <schema routine> | <grant statement> | <role definition> | <user-defined cast definition> | <user-defined ordering definition> | <transform definition> <table definition>::= CREATE [ <table scope> ] TABLE <table name> <table contents source> [ ON COMMIT <table commit action> ROWS ] <table scope>::= <global or local> TEMPORARY <global or local>::=GLOBAL | LOCAL <table contents source>::= <table element list>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
360
| OF <user-defined type> [ <subtable clause> ] [ <table element list> ] <subtable clause>::=UNDER <supertable clause> <supertable clause>::= <supertable name> <supertable name>::= <table name> <view definition>::= CREATE [ RECURSIVE ] VIEW <table name> <view specification> AS <query expression> [ WITH [ <levels clause> ] CHECK OPTION ] <view specification>::= <regular view specification> | <referenceable view specification> <regular view specification>::=[ <leftparen> <view column list> <rightparen> ] <view column list>::= <column name list> <referenceable view specification>::=OF <user-defined type>[<subview clause>][<view element list>] <subview clause>::=UNDER <table name> <view element list>::= <leftparen> [ <self-referencing column specification> <comma> ] <view element> [ { <comma> <view element> }... ] <rightparen> <view element>::= <view column option> <view column option>::= <column name> WITH OPTIONS <scope clause> <levels clause>::=CASCADED | LOCAL <domain definition>::= CREATE DOMAIN <domain name> [ AS ] <data type> [ <default clause> ] [ <domain constraint>... ] [ <collate clause>] <domain constraint>::= [ <constraint name definition> ] <check constraint definition> [ <constraint characteristics> ] <character set definition>::= CREATE CHARACTER SET <character set name> [ AS ] <character set source> [ <collate clause> ] <character set source>::=GET <character set specification> <collation definition>::= CREATE COLLATION <collation name> FOR <character set specification> FROM <existing collation name> [ <pad characteristic> ] <existing collation name>::= <collation name> <pad characteristic>::=NO PAD | PAD SPACE <translation definition>::= CREATE TRANSLATION <translation name> FOR <source character set specification> TO <target character set specification> FROM <translation source> <source character set specification>::= <character set specification> <target character set specification>::= <character set specification> <translation source>::= <existing translation name> | <translation routine> <existing translation name>::= <translation name> <translation routine>::= <specific routine designator> --p --small --i <specific routine designator> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <specific routine designator>::= SPECIFIC <routine type> <specific name> | <routine type> <member name> [ FOR <user-defined type name> ] --p --small --i <specific routine designator> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <routine type>::= ROUTINE | FUNCTION | PROCEDURE
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
361 SQL 99 _ BNF | [ INSTANCE | STATIC | CONSTRUCTOR ] METHOD <specific name>::= <schema qualified name> <member name>::= <schema qualified routine name> [ <data type list> ] <schema qualified routine name>::= <schema qualified name> <data type list>::= <leftparen> [ <data type> [ { <comma> <data type> }... ] ] <rightparen> <assertion definition>::= CREATE ASSERTION <constraint name> CHECK <leftparen> <search condition> <rightparen> [ <constraint characteristics> ] <trigger definition>::= CREATE TRIGGER <trigger name> <trigger action time> <trigger event> ON <table name> [ REFERENCING <old or new values alias list> ] <triggered action> <trigger name>::= <schema qualified name> <trigger action time>::=BEFORE | AFTER <trigger event>::=INSERT | DELETE | UPDATE [ OF <trigger column list> ] <trigger column list>::= <column name list> <old or new values alias list>::= <old or new values alias>... <old or new values alias>::= OLD [ ROW ] [ AS ] <old values correlation name> | NEW [ ROW ] [ AS ] <new values correlation name> | OLD TABLE [ AS ] <old values table alias> | NEW TABLE [ AS ] <new values table alias> <old values correlation name>::= <correlation name> <new values correlation name>::= <correlation name> <old values table alias>::= <identifier> <new values table alias>::= <identifier> <triggered action>::= [ FOR EACH { ROW | STATEMENT } ] [ WHEN <leftparen> <search condition> <rightparen> ] <triggered SQL statement> <triggered SQL statement>::= <SQL procedure statement> | BEGIN ATOMIC { <SQL procedure statement> <semicolon> }... END <user-defined type definition>::=CREATE TYPE <user-defined type body> --p --small --i <user-defined type body> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <user-defined type body>::= <user-defined type name> [ <subtype clause> ] [ AS <representation> ] [ <instantiable clause> ] <finality> [ <reference type specification> ] [ <ref cast option> ] [ <cast option> ] [ <method specification list> ] <subtype clause>::=UNDER <supertype name> <supertype name>::= <user-defined type> <representation>::= <predefined type> | <member list> <member list>::= <leftparen> <member> [ { <comma> <member> }... ] <rightparen> <member>::= <attribute definition> <attribute definition>::= <attribute name> <data type> [ <reference scope check> ] [ <attribute default> ] [ <collate clause> ] <attribute name>::= <identifier> <attribute default>::= <default clause> <instantiable clause>::=INSTANTIABLE | NOT INSTANTIABLE <finality>::=FINAL | NOT FINAL
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
362
<reference type specification>::= <user-defined representation> | <derived representation> | <systemgenerated representation> <user-defined representation>::=REF USING <predefined type> <ref cast option>::=[ <cast to ref> ] [ <cast to type> ] <cast to ref>::= CAST <leftparen> SOURCE AS REF <rightparen> WITH <cast to ref identifier> <cast to ref identifier>::= <identifier> <cast to type>::= CAST <leftparen> REF AS SOURCE <rightparen> WITH <cast to type identifier> <cast to type identifier>::= <identifier> <derived representation>::=REF FROM <list of attributes> <list of attributes>::= <leftparen> <attribute name> [ { <comma> <attribute name> }...] <rightparen> <system-generated representation>::=REF IS SYSTEM GENERATED <cast option>::=[ <cast to distinct> ] [ <cast to source> ] <cast to distinct>::= CAST <leftparen> SOURCE AS DISTINCT <rightparen> WITH <cast to distinct identifier> <cast to distinct identifier>::= <identifier> <cast to source>::= CAST <leftparen> DISTINCT AS SOURCE <rightparen> WITH <cast to source identifier> <cast to source identifier>::= <identifier> <method specification list>::= <method specification> [ { <comma> <method specification> }... ] <method specification>::= <original method specification> | <overriding method specification> <original method specification>::= <partial method specification> [ SELF AS RESULT ] [ SELF AS LOCATOR ] [ <method characteristics> ] --p --small --i <partial method specification> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <partial method specification>::= [ INSTANCE | STATIC | CONSTRUCTOR ] METHOD <method name> <SQL parameter declaration list> <returns clause> [ SPECIFIC <specific method name> ] <SQL parameter declaration list>::= <leftparen> [ <SQL parameter declaration> [ { <comma> <SQL parameter declaration> }... ] ] <rightparen> <SQL parameter declaration>::= [ <parameter mode> ] [ <SQL parameter name> ] <parameter type> [ RESULT ] <parameter mode>::=IN | OUT | INOUT <SQL parameter name>::= <identifier> <parameter type>::= <data type> [ <locator indication> ] <returns clause>::=RETURNS <returns data type> [ <result cast> ] <returns data type>::= <data type> [ <locator indication> ] <result cast>::=CAST FROM <result cast from type> <result cast from type>::= <data type> [ <locator indication> ] --p --small --i <specific method name> added per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <specific method name>::=[ <schema name> <period> ] <qualified identifier> <method characteristics>::= <method characteristic>...
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
363 SQL 99 _ BNF --p --small --i <method characteristic> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <method characteristic>::= <language clause> | <parameter style clause> | <deterministic characteristic> | <SQL-data access indication> | <null-call clause> <parameter style clause>::=PARAMETER STYLE <parameter style> <parameter style>::=SQL | GENERAL <deterministic characteristic>::=DETERMINISTIC | NOT DETERMINISTIC <SQL-data access indication>::= NO SQL | CONTAINS SQL | READS SQL DATA | MODIFIES SQL DATA <null-call clause>::= RETURNS NULL ON NULL INPUT | CALLED ON NULL INPUT <overriding method specification>::=OVERRIDING <partial method specification> <schema routine>::= <schema procedure> | <schema function> <schema procedure>::=CREATE <SQL-invoked procedure> <SQL-invoked procedure>::= PROCEDURE <schema qualified routine name> <SQL parameter declaration list> <routine characteristics> <routine body> <routine characteristics>::=[ <routine characteristic>... ] --p --small --i <routine characteristic> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <routine characteristic>::= <language clause> | <parameter style clause> | SPECIFIC <specific name> | <deterministic characteristic> | <SQL-data access indication> | <null-call clause> | <dynamic result sets characteristic> <dynamic result sets characteristic>::= DYNAMIC RESULT SETS <maximum dynamic result sets> <maximum dynamic result sets>::= <unsigned integer> <routine body>::= <SQL routine body> | <external body reference> <SQL routine body>::= <SQL procedure statement> --p --small --i <external body reference> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <external body reference>::= EXTERNAL [ NAME <external routine name> ] [ <parameter style clause> ] [ <transform group specification> ] [ <external security clause> ] <external routine name>::= <identifier> | <character string literal>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
364
<external security clause>::= EXTERNAL SECURITY DEFINER | EXTERNAL SECURITY INVOKER | EXTERNAL SECURITY IMPLEMENTATION DEFINED <schema function>::=CREATE <SQL-invoked function> <SQL-invoked function>::= { <function specification> | <method specification designator> } <routine body> <function specification>::= FUNCTION <schema qualified routine name> <SQL parameter declaration list> <returns clause> <routine characteristics> [ <dispatch clause> ] <dispatch clause>::=STATIC DISPATCH --p --small --i <method specification designator> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <method specification designator>::= [ INSTANCE | STATIC | CONSTRUCTOR ] METHOD <method name> <SQL parameter declaration list> [ <returns clause> ] FOR <user-defined type name> <grant statement>::= <grant privilege statement> | <grant role statement> <grant privilege statement>::= GRANT <privileges> TO <grantee> [ { <comma> <grantee> }... ] [ WITH HIERARCHY OPTION ] [ WITH GRANT OPTION ] [ GRANTED BY <grantor> ] <privileges>::= <object privileges> ON <object name> <object privileges>::=ALL PRIVILEGES | <action> [ { <comma> <action> }... ] <action>::= SELECT | SELECT <leftparen> <privilege column list> <rightparen> | SELECT <leftparen> <privilege method list> <rightparen> | DELETE | INSERT [ <leftparen> <privilege column list> <rightparen> ] | UPDATE [ <leftparen> <privilege column list> <rightparen> ] | REFERENCES [ <leftparen> <privilege column list> <rightparen> ] | USAGE | TRIGGER | UNDER | EXECUTE <privilege column list>::= <column name list> <privilege method list>::= <specific routine designator> [ { <comma> <specific routine designator> }... ] <object name>::= [ TABLE ] <table name> | DOMAIN <domain name> | COLLATION <collation name> | CHARACTER SET <character set name> | MODULE <module name> | TRANSLATION <translation name> | TYPE <user-defined type name> | <specific routine designator> <grantee>::=PUBLIC | <authorization identifier> <grantor>::=CURRENT_USER | CURRENT_ROLE <grant role statement>::= GRANT <role granted> [ { <comma> <role granted> }... ] TO <grantee> [ { <comma> <grantee> }... ] [ WITH ADMIN OPTION ] [ GRANTED BY <grantor> ] <role granted>::= <role name>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
365 SQL 99 _ BNF <role definition>::=CREATE ROLE <role name> [ WITH ADMIN <grantor> ] <SQL-invoked routine>::= <schema routine> | <module routine> <user-defined cast definition>::= CREATE CAST <leftparen> <source data type> AS <target data type> <rightparen> WITH <cast function> [ AS ASSIGNMENT ] <source data type>::= <data type> <cast function>::= <specific routine designator> --p --small --i <user-defined ordering specification> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <user-defined ordering definition>::= CREATE ORDERING FOR <user-defined type name> <ordering form> <ordering form>::= <equals ordering form> | <full ordering form> <equals ordering form>::=EQUALS ONLY BY <ordering category> <ordering category>::= <relative category> | <map category> | <state category> <relative category>::=RELATIVE WITH <relative function specification> <relative function specification>::= <specific routine designator> <map category>::=MAP WITH <map function specification> <map function specification>::= <specific routine designator> <state category>::=STATE [ <specific name> ] <full ordering form>::=ORDER FULL BY <ordering category> --p --small --i <transform definition> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <transform definition>::= CREATE { TRANSFORM | TRANSFORMS } FOR <user-defined type name> <transform group>... <transform group>::= <group name> <leftparen> <transform element list> <rightparen> <transform element list>::= <transform element> [ <comma> <transform element> ] <transform element>::= <to sql> | <from sql> <to sql>::=TO SQL WITH <to sql function> <to sql function>::= <specific routine designator> <from sql>::=FROM SQL WITH <from sql function> <from sql function>::= <specific routine designator> --hr --h2 SQL Schema Manipulation Statements --/h2 <SQL schema manipulation statement>::= <drop schema statement> | <alter table statement> | <drop table statement> | <drop view statement> | <alter routine statement> | <drop routine statement> | <drop user-defined cast statement> | <revoke statement> | <drop role statement> | <alter domain statement> | <drop domain statement> | <drop character set statement> | <drop collation statement> | <drop translation statement>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
366
| <drop assertion statement> | <drop trigger statement> | <alter type statement> | <drop data type statement> | <drop user-defined ordering statement> | <drop transform statement> | <drop module statement> <drop schema statement>::=DROP SCHEMA <schema name> <drop behavior> <drop behavior>::=CASCADE | RESTRICT <alter table statement>::=ALTER TABLE <table name> <alter table action> <alter table action>::= <add column definition> | <alter column definition> | <drop column definition> | <add table constraint definition> | <drop table constraint definition> <add column definition>::=ADD [ COLUMN ] <column definition> <alter column definition>::=ALTER [ COLUMN ] <column name> <alter column action> <alter column action>::= <set column default clause> | <drop column default clause> | <add column scope clause> | <drop column scope clause> <set column default clause>::=SET <default clause> <drop column default clause>::=DROP DEFAULT <add column scope clause>::=ADD <scope clause> <drop column scope clause>::=DROP SCOPE <drop behavior> <drop column definition>::=DROP [ COLUMN ] <column name> <drop behavior> <add table constraint definition>::=ADD <table constraint definition> <drop table constraint definition>::=DROP CONSTRAINT <constraint name> <drop behavior> <drop table statement>::=DROP TABLE <table name> <drop behavior> <drop view statement>::=DROP VIEW <table name> <drop behavior> <alter routine statement>::= ALTER <specific routine designator> <alter routine characteristics> <alter routine behaviour> <alter routine characteristics>::= <alter routine characteristic>... <alter routine characteristic>::= <language clause> | <parameter style clause> | <SQL-data access indication> | <null-call clause> | <dynamic result sets characteristic> | NAME <external routine name> <alter routine behaviour>::=RESTRICT <drop routine statement>::=DROP <specific routine designator> <drop behavior> <drop user-defined cast statement>::= DROP CAST <leftparen> <source data type> AS <target data type> <rightparen> <drop behavior> <revoke statement>::= <revoke privilege statement> | <revoke role statement> <revoke privilege statement>::= REVOKE [ <revoke option extension> ] <privileges> FROM <grantee> [ { <comma> <grantee> }... ] [ GRANTED BY <grantor> ] <drop behavior> <revoke option extension>::=GRANT OPTION FOR | HIERARCHY OPTION FOR <revoke role statement>::= REVOKE [ADMIN OPTION FOR] <role revoked> [{ <comma> <role revoked>}...] FROM <grantee> [ { <comma> <grantee> }... ] [ GRANTED BY <grantor> ] <drop behavior>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
367 SQL 99 _ BNF <role revoked>::= <role name> <drop role statement>::=DROP ROLE <role name> <alter domain statement>::=ALTER DOMAIN <domain name> <alter domain action> <alter domain action>::= <set domain default clause> | <drop domain default clause> | <add domain constraint definition> | <drop domain constraint definition> <set domain default clause>::=SET <default clause> <drop domain default clause>::=DROP DEFAULT <add domain constraint definition>::=ADD <domain constraint> <drop domain constraint definition>::=DROP CONSTRAINT <constraint name> <drop domain statement>::=DROP DOMAIN <domain name> <drop behavior> <drop character set statement>::=DROP CHARACTER SET <character set name> <drop collation statement>::=DROP COLLATION <collation name> <drop behavior> <drop translation statement>::=DROP TRANSLATION <translation name> <drop assertion statement>::=DROP ASSERTION <constraint name> <drop trigger statement>::=DROP TRIGGER <trigger name> <alter type statement>::=ALTER TYPE <user-defined type name> <alter type action> <alter type action>::= <add attribute definition> | <drop attribute definition> | <add original method specification> | <add overriding method specification> | <drop method specification> <add attribute definition>::=ADD ATTRIBUTE <attribute definition> <drop attribute definition>::=DROP ATTRIBUTE <attribute name> RESTRICT <add original method specification>::=ADD <original method specification> <add overriding method specification>::=ADD <overriding method specification> --p --small --i <drop method specification> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <drop method specification>::=DROP <specific method specification designator> RESTRICT --p --small --i <specific method specification designator> added per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <specific method specification designator>::= SPECIFIC METHOD <specific method name> | [ INSTANCE | STATIC | CONSTRUCTOR ] METHOD <method name> [ <data type list> ] <drop data type statement>::=DROP TYPE <user-defined type name> <drop behavior> --p --small --i <drop user-defined ordering statement> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <drop user-defined ordering statement>::= DROP ORDERING FOR <user-defined type name> <drop behavior> --p --small --i <drop transform statement> modified per ISO 9075:1999/Cor.1:2000(E) --/i
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
368
--/small --/p <drop transform statement>::= DROP { TRANSFORM | TRANSFORMS } <transforms to be dropped> FOR <user-defined type name> <drop behavior> <transforms to be dropped>::=ALL | <transform group element> <transform group element>::= <group name> --hr --h2 SQL Data Manipulation Statements --/h2 <SQL data statement>::= <open statement> | <fetch statement> | <close statement> | <select statement: single row> | <free locator statement> | <hold locator statement> | <SQL data change statement> <open statement>::=OPEN <cursor name> <fetch statement>::= FETCH [ [ <fetch orientation> ] FROM ] <cursor name> INTO <fetch target list> <fetch orientation>::= NEXT | PRIOR | FIRST | LAST | { ABSOLUTE | RELATIVE } <simple value specification> <simple value specification>::= <literal> | <host parameter name> | <SQL parameter reference> | <SQL variable reference> | <embedded variable name> <fetch target list>::= <target specification> [ { <comma> <target specification> }... ] <close statement>::=CLOSE <cursor name> <select statement: single row>::= SELECT [ <set quantifier> ] <select list> INTO <select target list> <table expression> <select target list>::= <target specification> [ { <comma> <target specification> }... ] <free locator statement>::= FREE LOCATOR <locator reference> [ { <comma> <locator reference> }... ] <locator reference>::= <host parameter name> | <embedded variable name> <hold locator statement>::= HOLD LOCATOR <locator reference> [ { <comma> <locator reference> }... ] <SQL data change statement>::= <delete statement: positioned> | <delete statement: searched> | <insert statement> | <update statement: positioned> | <update statement: searched> <delete statement: positioned>::= DELETE FROM <target table> WHERE CURRENT OF <cursor name> --p --small --i <target table> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <target table>::= <table name> | [ ONLY ] <leftparen> <table name> <rightparen> <delete statement: searched>::=
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
369 SQL 99 _ BNF DELETE FROM <target table> [ WHERE <search condition> ] <insert statement>::= INSERT INTO <insertion target> <insert columns and source> <insertion target>::= <table name> <insert columns and source>::= <from subquery> | <from constructor> | <from default> <from subquery>::= [ <leftparen> <insert column list> <rightparen> ] [ <override clause> ] <query expression> <insert column list>::= <column name list> <from constructor>::= [ <leftparen> <insert column list> <rightparen> ] [ <override clause> ] <contextually typed table value constructor> <override clause>::=OVERRIDING USER VALUE | OVERRIDING SYSTEM VALUE <contextually typed table value constructor>::= VALUES <contextually typed row value expression list> <contextually typed row value expression list>::= <contextually typed row value expression> [ { <comma> <contextually typed row value expression> }... ] <contextually typed row value expression>::= <row value special case> | <contextually typed row value constructor> <contextually typed row value constructor>::= <contextually typed row value constructor element> | [ ROW ] <leftparen> <contextually typed row value constructor element list> <rightparen> <contextually typed row value constructor element>::= <value expression> | <contextually typed value specification> <contextually typed value specification>::= <implicitly typed value specification> | <default specification> <default specification>::=DEFAULT <contextually typed row value constructor element list>::= <contextually typed row value constructor element> [ { <comma> <contextually typed row value constructor element> }... ] <from default>::=DEFAULT VALUES <update statement: positioned>::= UPDATE <target table> SET <set clause list> WHERE CURRENT OF <cursor name> <set clause list>::= <set clause> [ { <comma> <set clause> }... ] <set clause>::= <update target> <equals operator> <update source> | <mutated set clause> <equals operator> <update source> --p --small --i <update target> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <update target>::= <object column> | <object column> <left bracket or trigraph> <simple value specification> <right bracket or trigraph> <object column>::= <column name> <update source>::= <value expression> | <contextually typed value specification> <mutated set clause>::= <mutated target> <period> <method name> <mutated target>::= <object column> | <mutated set clause> <update statement: searched>::= UPDATE <target table> SET <set clause list> [ WHERE <search condition> ] --hr --h2 SQL Control Statements --/h2
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
370
<SQL control statement>::= <call statement> | <return statement> | <assignment statement> | <compound statement> | <case statement> | <if statement> | <iterate statement> | <leave statement> | <loop statement> | <while statement> | <repeat statement> | <for statement> <call statement>::=CALL <routine invocation> <return statement>::=RETURN <return value> <return value>::= <value expression> | NULL --hr --h2 Transaction Management --/h2 <SQL transaction statement>::= <start transaction statement> | <set transaction statement> | <set constraints mode statement> | <savepoint statement> | <release savepoint statement> | <commit statement> | <rollback statement> <start transaction statement>::= START TRANSACTION <transaction mode> [ { <comma> <transaction mode> }...] <transaction mode>::= <isolation level> | <transaction access mode> | <diagnostics size> <isolation level>::=ISOLATION LEVEL <level of isolation> <level of isolation>::= READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE <transaction access mode>::=READ ONLY | READ WRITE <diagnostics size>::=DIAGNOSTICS SIZE <number of conditions> <number of conditions>::= <simple value specification> <set transaction statement>::=SET [ LOCAL ] <transaction characteristics> <transaction characteristics>::= TRANSACTION <transaction mode> [ { <comma> <transaction mode> }... ] <set constraints mode statement>::= SET CONSTRAINTS <constraint name list> { DEFERRED | IMMEDIATE } <constraint name list>::=ALL | <constraint name> [ { <comma> <constraint name> }... ] <savepoint statement>::=SAVEPOINT <savepoint specifier> --p --small --i <savepoint specifier> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <savepoint specifier>::= <savepoint name> <savepoint name>::= <identifier> <simple target specification>::= <host parameter specification> | <SQL parameter reference> | <column reference> | <SQL variable reference>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
371 SQL 99 _ BNF | <embedded variable name> <release savepoint statement>::=RELEASE SAVEPOINT <savepoint specifier> <commit statement>::=COMMIT [ WORK ] [ AND [ NO ] CHAIN ] <rollback statement>::=ROLLBACK [ WORK ] [ AND [ NO ] CHAIN ] [ <savepoint clause> ] <savepoint clause>::=TO SAVEPOINT <savepoint specifier> --hr --h2 Connection Management --/h2 <SQL connection statement>::= <connect statement> | <set connection statement> | <disconnect statement> <connect statement>::=CONNECT TO <connection target> <connection target>::= <SQL-server name> [ AS <connection name> ] [ USER <connection user name> ] | DEFAULT <SQL-server name>::= <simple value specification> <connection name>::= <simple value specification> <connection user name>::= <simple value specification> <set connection statement>::=SET CONNECTION <connection object> <connection object>::=DEFAULT | <connection name> <disconnect statement>::=DISCONNECT <disconnect object> <disconnect object>::= <connection object> | ALL | CURRENT --hr --h2 Session Attributes --/h2 <SQL session statement>::= <set session user identifier statement> | <set role statement> | <set local time zone statement> | <set session characteristics statement> | <set catalog statement> | <set schema statement> | <set names statement> | <set path statement> | <set transform group statement> <set session user identifier statement>::= SET SESSION AUTHORIZATION <value specification> <set role statement>::=SET ROLE <role specification> <role specification>::= <value specification> | NONE <set local time zone statement>::=SET TIME ZONE <set time zone value> <set time zone value>::= <interval value expression> | LOCAL <set session characteristics statement>::= SET SESSION CHARACTERISTICS AS <session characteristic list> <session characteristic list>::= <session characteristic> [ { <comma> <session characteristic> }... ] <session characteristic>::= <transaction characteristics> <SQL diagnostics statement>::= <get diagnostics statement> | <signal statement> | <resignal statement> <get diagnostics statement>::=GET DIAGNOSTICS <SQL diagnostics information> <SQL diagnostics information>::= <statement information> | <condition information> <statement information>::= <statement information item> [ { <comma> <statement information item> }... ] <statement information item>::= <simple target specification><equals operator><statement information item name> <statement information item name>::= NUMBER | MORE | COMMAND_FUNCTION | COMMAND_FUNCTION_CODE | DYNAMIC_FUNCTION | DYNAMIC_FUNCTION_CODE
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
372
| ROW_COUNT | TRANSACTIONS_COMMITTED | TRANSACTIONS_ROLLED_BACK | TRANSACTION_ACTIVE <condition information>::= EXCEPTION <condition number> <condition information item> [ { <comma> <condition information item> }... ] <condition number>::= <simple value specification> <condition information item>::= <simple target specification> <equals operator> <condition information item name> <condition information item name>::= CATALOG_NAME | CLASS_ORIGIN | COLUMN_NAME | CONDITION_IDENTIFIER | CONDITION_NUMBER | CONNECTION_NAME | CONSTRAINT_CATALOG | CONSTRAINT_NAME | CONSTRAINT_SCHEMA | CURSOR_NAME | MESSAGE_LENGTH | MESSAGE_OCTET_LENGTH | MESSAGE_TEXT | PARAMETER_MODE | PARAMETER_NAME | PARAMETER_ORDINAL_POSITION | RETURNED_SQLSTATE | ROUTINE_CATALOG | ROUTINE_NAME | ROUTINE_SCHEMA | SCHEMA_NAME | SERVER_NAME | SPECIFIC_NAME | SUBCLASS_ORIGIN | TABLE_NAME | TRIGGER_CATALOG | TRIGGER_NAME | TRIGGER_SCHEMA <dereference operation>::= <reference value expression> <dereference operator> <attribute name> <method reference>::= <value expression primary> <dereference operator> <method name> <SQL argument list> <method selection>::= <routine invocation> --p --small --i <new invocation> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <new invocation>::= <method invocation> | <routine invocation> <static method selection>::= <routine invocation> <token>::= <nondelimiter token> | <delimiter token> <nondelimiter token>::= <regular identifier> | <key word> | <unsigned numeric literal> | <national character string literal>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
373 SQL 99 _ BNF | <bit string literal> | <hex string literal> | <large object length token> | <multiplier> <key word>::= <reserved word> | <non-reserved word> --p --small --i <reserved word> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <reserved word>::= ABSOLUTE | ACTION | ADD | AFTER | ALL | ALLOCATE | ALTER | AND | ANY | ARE | ARRAY | AS | ASC | ASSERTION | AT | AUTHORIZATION | BEFORE | BEGIN | BETWEEN | BINARY | BIT | BLOB | BOOLEAN | BOTH | BREADTH | BY | CALL | CASCADE | CASCADED | CASE | CAST | CATALOG | CHAR | CHARACTER | CHECK | CLOB | CLOSE | COLLATE | COLLATION | COLUMN | COMMIT | CONDITION | CONNECT | CONNECTION | CONSTRAINT | CONSTRAINTS | CONSTRUCTOR | CONTINUE | CORRESPONDING | CREATE | CROSS | CUBE | CURRENT|CURRENT_DATE| CURRENT_DEFAULT_TRANSFORM_GROUP | CURRENT_TRANSFORM_GROUP_FOR_TYPE | CURRENT_PATH | CURRENT_ROLE | CURRENT_TIME | CURRENT_TIMESTAMP | CURRENT_USER | CURSOR | CYCLE | DATA | DATE | DAY | DEALLOCATE | DEC | DECIMAL | DECLARE | DEFAULT | DEFERRABLE | DEFERRED | DELETE | DEPTH | DEREF | DESC | DESCRIBE | DESCRIPTOR | DETERMINISTIC | DIAGNOSTICS | DISCONNECT | DISTINCT | DO | DOMAIN | DOUBLE | DROP | DYNAMIC | EACH | ELSE | ELSEIF | END | END-EXEC | EQUALS | ESCAPE | EXCEPT | EXCEPTION | EXEC | EXECUTE | EXISTS | EXIT | EXTERNAL | FALSE | FETCH | FIRST | FLOAT | FOR | FOREIGN | FOUND | FROM | FREE | FULL | FUNCTION | GENERAL | GET | GLOBAL | GO | GOTO | GRANT | GROUP | GROUPING | HANDLE | HAVING | HOLD | HOUR | IDENTITY | IF | IMMEDIATE | IN | INDICATOR | INITIALLY | INNER | INOUT | INPUT | INSERT | INT | INTEGER | INTERSECT | INTERVAL | INTO | IS | ISOLATION | JOIN | KEY | LANGUAGE | LARGE | LAST | LATERAL | LEADING | LEAVE | LEFT | LEVEL | LIKE | LOCAL | LOCALTIME | LOCALTIMESTAMP | LOCATOR | LOOP | MAP | MATCH | METHOD | MINUTE | MODIFIES | MODULE | MONTH | NAMES | NATIONAL | NATURAL | NCHAR | NCLOB | NESTING | NEW | NEXT | NO | NONE | NOT | NULL | NUMERIC | OBJECT | OF | OLD | ON | ONLY | OPEN | OPTION | OR | ORDER | ORDINALITY | OUT | OUTER | OUTPUT | OVERLAPS | PAD | PARAMETER | PARTIAL | PATH | PRECISION | PREPARE | PRESERVE | PRIMARY | PRIOR | PRIVILEGES | PROCEDURE | PUBLIC
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
374
| READ | READS | REAL | RECURSIVE | REDO | REF | REFERENCES REFERENCING | RELATIVE | RELEASE | REPEAT | RESIGNAL | RESTRICT | RESULT RETURN | RETURNS | REVOKE | RIGHT | ROLE | ROLLBACK | ROLLUP | ROUTINE | ROW | ROWS | SAVEPOINT | SCHEMA | SCROLL | SEARCH | SECOND | SECTION SELECT | SESSION | SESSION_USER | SET | SETS | SIGNAL | SIMILAR | SIZE | SMALLINT | SOME | SPACE | SPECIFIC | SPECIFICTYPE | SQL SQLEXCEPTION | SQLSTATE | SQLWARNING | START | STATE | STATIC | SYSTEM_USER | TABLE | TEMPORARY | THEN | TIME | TIMESTAMP | TIMEZONE_HOUR | TIMEZONE_MINUTE | TO | TRAILING TRANSACTION | TRANSLATION | TREAT | TRIGGER | TRUE | UNDER | UNDO | UNION | UNIQUE | UNKNOWN | UNNEST | UNTIL UPDATE | USAGE | USER | USING | VALUE | VALUES | VARCHAR | VARYING | VIEW | WHEN | WHENEVER | WHERE | WHILE | WITH | WITHOUT | WORK WRITE | YEAR | ZONE --p --small --i <non-reserved word> modified per ISO 9075:1999/Cor.1:2000(E) --/i --/small --/p <non-reserved word>::= ABS | ADA | ADMIN | ASENSITIVE | ASSIGNMENT | ASYMMETRIC ATOMIC | ATTRIBUTE | AVG | BIT_LENGTH | C | CALLED | CARDINALITY | CATALOG_NAME | CHAIN CHAR_LENGTH | CHARACTERISTICS | CHARACTER_LENGTH CHARACTER_SET_CATALOG | CHARACTER_SET_NAME | CHARACTER_SET_SCHEMA | CHECKED CLASS_ORIGIN | COALESCE | COBOL | COLLATION_CATALOG | COLLATION_NAME COLLATION_SCHEMA | COLUMN_NAME | COMMAND_FUNCTION COMMAND_FUNCTION_CODE | COMMITTED | CONDITION_IDENTIFIER | CONDITION_NUMBER CONNECTION_NAME | CONSTRAINT_CATALOG | CONSTRAINT_NAME CONSTRAINT_SCHEMA | CONTAINS | CONVERT | COUNT | CURSOR_NAME | DATETIME_INTERVAL_CODE | DATETIME_INTERVAL_PRECISION DEFINED | DEFINER | DEGREE | DERIVED | DISPATCH | EVERY | EXTRACT | FINAL | FORTRAN | G | GENERATED | GRANTED | HIERARCHY | IMPLEMENTATION | INSENSITIVE | INSTANCE | INSTANTIABLE INVOKER
Ramin.Samad@yahoo.com
| |
|
|
|
|
|
|
| | | | | | |
|
|
WWW.IRANMEET.COM
375 SQL 99 _ BNF | K | KEY_MEMBER | KEY_TYPE | LENGTH | LOWER | M | MAX | MIN | MESSAGE_LENGTH | MESSAGE_OCTET_LENGTH | MESSAGE_TEXT | MOD | MORE | MUMPS | NAME | NULLABLE | NUMBER | NULLIF | OCTET_LENGTH | ORDERING | OPTIONS | OVERLAY | OVERRIDING | PASCAL | PARAMETER_MODE | PARAMETER_NAME | PARAMETER_ORDINAL_POSITION | PARAMETER_SPECIFIC_CATALOG | PARAMETER_SPECIFIC_NAME | PARAMETER_SPECIFIC_SCHEMA | PLI | POSITION | REPEATABLE | RETURNED_CARDINALITY | RETURNED_LENGTH | RETURNED_OCTET_LENGTH | RETURNED_SQLSTATE | ROUTINE_CATALOG | ROUTINE_NAME | ROUTINE_SCHEMA | ROW_COUNT | SCALE | SCHEMA_NAME | SCOPE | SECURITY | SELF | SENSITIVE | SERIALIZABLE | SERVER_NAME | SIMPLE | SOURCE | SPECIFIC_NAME | STATEMENT | STRUCTURE | STYLE | SUBCLASS_ORIGIN | SUBSTRING | SUM | SYMMETRIC | SYSTEM | TABLE_NAME | TOP_LEVEL_COUNT | TRANSACTIONS_COMMITTED | TRANSACTIONS_ROLLED_BACK | TRANSACTION_ACTIVE | TRANSFORM | TRANSFORMS | TRANSLATE | TRIGGER_CATALOG | TRIGGER_SCHEMA | TRIGGER_NAME | TRIM | TYPE | UNCOMMITTED | UNNAMED | UPPER <delimiter token>::= <character string literal> | <date string> | <time string> | <timestamp string> | <interval string> | <delimited identifier> | <SQL special character> | <not equals operator> | <greater than or equals operator> | <less than or equals operator> | <concatenation operator> | <right arrow> | <left bracket trigraph> | <right bracket trigraph> | <double colon> | <double period> <CLI routine>::= <CLI routine name> <CLI parameter list> [ <CLI returns clause> ] <CLI routine name>::= <CLI name prefix> <CLI generic name> <CLI name prefix>::= <CLI by-reference prefix> | <CLI by-value prefix> <CLI by-reference prefix>::=SQLR <CLI by-value prefix>::=SQL <CLI generic name>::= AllocConnect | AllocEnv | AllocHandle | AllocStmt | BindCol | BindParameter | Cancel | CloseCursor | ColAttribute | ColumnPrivileges | Columns | Connect | CopyDesc | DataSources | DescribeCol | Disconnect | EndTran | Error | ExecDirect | Execute | Fetch | FetchScroll | ForeignKeys | FreeConnect | FreeEnv | FreeHandle | FreeStmt
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
376
| GetConnectAttr | GetCursorName | GetData | GetDescField | GetDescRec | GetDiagField | GetDiagRec | GetEnvAttr | GetFeatureInfo | GetFunctions | GetInfo | GetLength | GetParamData | GetPosition | GetSessionInfo | GetStmtAttr | GetSubString | GetTypeInfo | MoreResults | NextResult | NumResultCols | ParamData | Prepare | PrimaryKeys | PutData | RowCount | SetConnectAttr | SetCursorName | SetDescField | SetDescRec | SetEnvAttr | SetStmtAttr | SpecialColumns | StartTran | TablePrivileges | Tables | <implementation-defined CLI generic name> <implementation-defined CLI generic name>::=!! (See the Syntax Rules) <CLI parameter list>::= <leftparen> <CLI parameter declaration> [ { <comma> <CLI parameter declaration> }... ] <rightparen> <CLI parameter declaration>::= <CLI parameter name> <CLI parameter mode> <CLI parameter data type> <CLI parameter name>::=!! (See the individual CLI routine definitions) <CLI parameter mode>::=IN | OUT | DEFIN | DEFOUT | DEF <CLI parameter data type>::= INTEGER | SMALLINT | ANY | CHARACTER <leftparen> <length> <rightparen> <CLI returns clause>::=RETURNS SMALLINT <assignment statement>::= SET <assignment target> <equals operator> <assignment source> <assignment target>::= <target specification> | <modified field reference> | <mutator reference> <SQL variable reference>::= <basic identifier chain> <modified field reference>::= <modified field target> <period> <field name> <modified field target>::= <target specification> | <leftparen> <target specification> <rightparen> | <modified field reference> <mutator reference>::= <mutated target specification> <period> <method name> <mutated target specification>::= <target specification> | <leftparen> <target specification> <rightparen> | <mutator reference> <assignment source>::= <value expression> | <contextually typed source> <contextually typed source>::= <implicitly typed value specification> | <contextually typed row value expression> <compound statement>::= [ <beginning label> <colon> ] BEGIN [ [ NOT ] ATOMIC ] [ <local declaration list> ] [ <local cursor declaration list> ] [ <local handler declaration list> ] [ <SQL statement list> ] END [ <ending label> ] <beginning label>::= <statement label> <statement label>::= <identifier> <local declaration list>::= <terminated local declaration>... <terminated local declaration>::= <local declaration> <semicolon> <local declaration>::= <SQL variable declaration> | <condition declaration> <SQL variable declaration>::= DECLARE <SQL variable name list> <data type> [ <default clause> ] <SQL variable name list>::= <SQL variable name> [ { <comma> <SQL variable name> }... ] <SQL variable name>::= <identifier>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
377 SQL 99 _ BNF <condition declaration>::= DECLARE <condition name> CONDITION [ FOR <sqlstate value> ] <condition name>::= <identifier> <sqlstate value>::=SQLSTATE [ VALUE ] <character string literal> <local cursor declaration list>::= <terminated local cursor declaration>... <terminated local cursor declaration>::= <declare cursor> <semicolon> <local handler declaration list>::= <terminated local handler declaration>... <terminated local handler declaration>::= <handler declaration> <semicolon> <handler declaration>::= DECLARE <handler type> HANDLER FOR <condition value list> <handler action> <handler type>::=CONTINUE | EXIT | UNDO <condition value list>::= <condition value> [ { <comma> <condition value> }... ] <condition value>::= <sqlstate value> | <condition name> | SQLEXCEPTION | SQLWARNING | NOT FOUND <handler action>::= <SQL procedure statement> <SQL statement list>::= <terminated SQL statement>... <terminated SQL statement>::= <SQL procedure statement> <semicolon> <ending label>::= <statement label> <case statement>::= <simple case statement> | <searched case statement> <simple case statement>::= CASE <simple case operand 1> <simple case statement when clause>... [ <case statement else clause> ] END CASE <simple case operand 1>::= <value expression> <simple case statement when clause>::= WHEN <simple case operand 2> THEN <SQL statement list> <simple case operand 2>::= <value expression> <case statement else clause>::=ELSE <SQL statement list> <searched case statement>::= CASE <searched case statement when clause>... [ <case statement else clause> ] END CASE <searched case statement when clause>::= WHEN <search condition> THEN <SQL statement list> <if statement>::= IF <search condition> <if statement then clause> [ <if statement elseif clause>... ] [ <if statement else clause> ] END IF <if statement then clause>::=THEN <SQL statement list> <if statement elseif clause>::=ELSEIF <search condition> THEN <SQL statement list> <if statement else clause>::=ELSE <SQL statement list> <iterate statement>::=ITERATE <statement label> <leave statement>::=LEAVE <statement label> <loop statement>::= [ <beginning label> <colon> ] LOOP <SQL statement list> END LOOP [ <ending label> ] <while statement>::= [ <beginning label> <colon> ] WHILE <search condition> DO <SQL statement list> END WHILE [ <ending label> ] <repeat statement>::= [ <beginning label> <colon> ] REPEAT <SQL statement list> UNTIL <search condition> END REPEAT [ <ending label> ] <for statement>::= [ <beginning label> <colon> ] FOR <for loop variable name> AS [ <cursor name> [ <cursor sensitivity> ] CURSOR FOR ] <cursor specification> DO <SQL statement list> END FOR [ <ending label> ] <for loop variable name>::= <identifier> <signal statement>::=SIGNAL <signal value> [ <set signal information> ] <signal value>::= <condition name> | <sqlstate value> <set signal information>::=SET <signal information item list> <signal information item list>::= <signal information item> [ { <comma> <signal information item> }... ]
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
378
<signal information item>::= <condition information item name> <equals operator> <simple value specification> <resignal statement>::=RESIGNAL [ <signal value> ] [ <set signal information> ] <SQL-server module definition>::= CREATE MODULE <SQL-server module name> [ <SQL-server module character set specification> ] [<SQL-server module schema clause>][<SQL-server module path specification>] [ <temporary table declaration> ] <SQL-server module contents>... END MODULE <SQL-server module name>::= <schema qualified name> <SQL-server module character set specification>::=NAMES ARE <character set specification> <SQL-server module schema clause>::=SCHEMA <default schema name> <default schema name>::= <schema name> <SQL-server module path specification>::= <path specification> <SQL-server module contents>::= <SQL-invoked routine> <semicolon> <module routine>::= <module procedure> | <module function> <module procedure>::=[ DECLARE ] <SQL-invoked procedure> <module function>::=[ DECLARE ] <SQL-invoked function> <drop module statement>::=DROP MODULE <SQL-server module name> <drop behavior> <triggered SQL statement>::= <SQL procedure statement> --hr --h2 Dynamic SQL --/h2 --p Much, if not all, of the following material comes from ISO/IEC 9075-5:1999, SQL/Bindings. --/p <SQL dynamic statement>::= <system descriptor statement> | <prepare statement> | <deallocate prepared statement> | <describe statement> | <execute statement> | <execute immediate statement> | <SQL dynamic data statement> <system descriptor statement>::= <allocate descriptor statement> | <deallocate descriptor statement> | <set descriptor statement> | <get descriptor statement> <allocate descriptor statement>::= ALLOCATE [ SQL ] DESCRIPTOR <descriptor name> [ WITH MAX <occurrences> ] <descriptor name>::=[ <scope option> ] <simple value specification> <scope option>::=GLOBAL | LOCAL <embedded variable name>::= <colon> <host identifier> <host identifier>::= <Ada host identifier> | <C host identifier> | <COBOL host identifier> | <Fortran host identifier> | <MUMPS host identifier> | <Pascal host identifier> | <PL/I host identifier> <Ada host identifier>::=!! (See the Syntax Rules.) <C host identifier>::=!! (See the Syntax Rules.) <COBOL host identifier>::=!! (See the Syntax Rules.) <Fortran host identifier>::=!! (See the Syntax Rules.) <MUMPS host identifier>::=!! (See the Syntax Rules.)
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
379 SQL 99 _ BNF <Pascal host identifier>::=!! (See the Syntax Rules.) <PL/I host identifier>::=!! (See the Syntax Rules.) <occurrences>::= <simple value specification> <deallocate descriptor statement>::=DEALLOCATE [ SQL ] DESCRIPTOR <descriptor name> <set descriptor statement>::=SET [ SQL ] DESCRIPTOR <descriptor name> <set descriptor information> <set descriptor information>::= <set header information> [ { <comma> <set header information> }... ] | VALUE <item number><set item information>[{<comma><set item information>...] <set header information>::= <header item name> <equals operator> <simple value specification 1> <header item name>::= COUNT | KEY_TYPE | DYNAMIC_FUNCTION | DYNAMIC_FUNCTION_CODE | TOP_LEVEL_COUNT <simple value specification 1>::= <simple value specification> <item number>::= <simple value specification> <set item information>::= <descriptor item name> <equals operator> <simple value specification 2> <descriptor item name>::= CARDINALITY | CHARACTER_SET_CATALOG | CHARACTER_SET_NAME | CHARACTER_SET_SCHEMA | COLLATION_CATALOG | COLLATION_NAME | COLLATION_SCHEMA | DATA | DATETIME_INTERVAL_CODE | DATETIME_INTERVAL_PRECISION | DEGREE | INDICATOR | KEY_MEMBER | LENGTH | LEVEL | NAME | NULLABLE | OCTET_LENGTH | PARAMETER_MODE | PARAMETER_ORDINAL_POSITION | PARAMETER_SPECIFIC_CATALOG | PARAMETER_SPECIFIC_NAME | PARAMETER_SPECIFIC_SCHEMA | PRECISION | RETURNED_CARDINALITY | RETURNED_LENGTH | RETURNED_OCTET_LENGTH | SCALE | SCOPE_CATALOG | SCOPE_NAME | SCOPE_SCHEMA | TYPE | UNNAMED | USER_DEFINED_TYPE_CATALOG | USER_DEFINED_TYPE_NAME | USER_DEFINED_TYPE_SCHEMA <simple value specification 2>::= <simple value specification> <item number>::= <simple value specification> <get descriptor statement>::= GET [ SQL ] DESCRIPTOR <descriptor name> <get descriptor information>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
380
<get descriptor information>::= <get header information> [ { <comma> <get header information> }... ] | VALUE <item number> <get item information> [ { <comma> <get item information> }... ] <get header information>::= <simple target specification 1> <equals operator> <header item name> <simple target specification 1>::= <simple target specification> <get item information>::= <simple target specification 2> <equals operator> <descriptor item name> <simple target specification 2>::= <simple target specification> <prepare statement>::= PREPARE <SQL statement name> FROM <SQL statement variable> <SQL statement name>::= <statement name> | <extended statement name> <statement name>::= <identifier> <extended statement name>::=[ <scope option> ] <simple value specification> <SQL statement variable>::= <simple value specification> <deallocate prepared statement>::=DEALLOCATE PREPARE <SQL statement name> <describe statement>::= <describe input statement> | <describe output statement> <describe input statement>::= DESCRIBE INPUT <SQL statement name> <using descriptor> [ <nesting option> ] <using descriptor>::=USING [ SQL ] DESCRIPTOR <descriptor name> <nesting option>::=WITH NESTING | WITHOUT NESTING <describe output statement>::= DESCRIBE [ OUTPUT ] <described object> <using descriptor> [ <nesting option> ] <described object>::= <SQL statement name> | CURSOR <extended cursor name> STRUCTURE <extended cursor name>::=[ <scope option> ] <simple value specification> <execute statement>::= EXECUTE <SQL statement name> [ <result using clause> ] [ <parameter using clause> ] <result using clause>::= <output using clause> <output using clause>::= <into arguments> | <into descriptor> <into arguments>::=INTO <into argument> [ { <comma> <into argument> }... ] <into argument>::= <target specification> <dynamic parameter specification>::= <question mark> <embedded variable specification>::= <embedded variable name> [ <indicator variable> ] <indicator variable>::=[ INDICATOR ] <embedded variable name> <into descriptor>::=INTO [ SQL ] DESCRIPTOR <descriptor name> <parameter using clause>::= <input using clause> <input using clause>::= <using arguments> | <using input descriptor> <using arguments>::=USING <using argument> [ { <comma> <using argument> }... ] <using argument>::= <general value specification> <using input descriptor>::= <using descriptor> <execute immediate statement>::=EXECUTE IMMEDIATE <SQL statement variable> <SQL dynamic data statement>::= <allocate cursor statement> | <dynamic open statement> | <dynamic fetch statement> | <dynamic close statement> | <dynamic delete statement: positioned> | <dynamic update statement: positioned> <allocate cursor statement>::=ALLOCATE <extended cursor name> <cursor intent> <cursor intent>::= <statement cursor> | <result set cursor> <statement cursor>::= [<cursor sensitivity>] [ SCROLL ] CURSOR [ WITH HOLD ] [ WITH RETURN ] FOR <extended statement name> <result set cursor>::=
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
381 SQL 99 _ BNF FOR PROCEDURE <specific routine designator> <dynamic open statement>::= OPEN <dynamic cursor name> [ <input using clause> ] <dynamic cursor name>::= <cursor name> | <extended cursor name> <dynamic fetch statement>::= FETCH [ [ <fetch orientation> ] FROM ] <dynamic cursor name> <output using clause> <dynamic close statement>::=CLOSE <dynamic cursor name> <dynamic delete statement: positioned>::= DELETE FROM <target table> WHERE CURRENT OF <dynamic cursor name> <dynamic update statement: positioned>::= UPDATE <target table> SET <set clause list> WHERE CURRENT OF <dynamic cursor name> --p --small --i Note that <double period> must be a pair of period characters with no intervening space, not a pair of period symbols separated by arbitrary white space. Normally, the lexical analyzer would return <double period> as a symbol. --/i --/small --/p <double period>::= <period> <period> <direct SQL statement>::= <directly executable statement> <semicolon> <directly executable statement>::= <direct SQL data statement> | <SQL schema statement> | <SQL transaction statement> | <SQL connection statement> | <SQL session statement> | <direct implementation-defined statement> <direct SQL data statement>::= <delete statement: searched> | <direct select statement: multiple rows> | <insert statement> | <update statement: searched> | <temporary table declaration> <direct select statement: multiple rows>::= <query expression> [ <order by clause> ] <set catalog statement>::=SET <catalog name characteristic> <catalog name characteristic>::=CATALOG <value specification> <set schema statement>::=SET <schema name characteristic> <schema name characteristic>::=SCHEMA <value specification> <set names statement>::=SET <character set name characteristic> <character set name characteristic>::=NAMES <value specification> <set path statement>::=SET <SQL-path characteristic> <SQL-path characteristic>::=PATH <value specification> <set transform group statement>::=SET <transform group characteristic> <transform group characteristic>::= DEFAULT TRANSFORM GROUP <value specification> | TRANSFORM GROUP FOR TYPE <user-defined type> <value specification> <direct implementation-defined statement>::=!! (See the Syntax Rules) <embedded SQL declare section>::= <embedded SQL begin declare> [ <embedded character set declaration> ] [ <host variable definition>... ] <embedded SQL end declare> | <embedded SQL MUMPS declare> <embedded SQL begin declare>::= <SQL prefix> BEGIN DECLARE SECTION [ <SQL terminator> ]
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
382
<SQL prefix>::=EXEC SQL | <ampersand> SQL <leftparen> <SQL terminator>::=END-EXEC | <semicolon> | <rightparen> <embedded character set declaration>::= SQL NAMES ARE <character set specification> <host variable definition>::= <Ada variable definition> | <C variable definition> | <COBOL variable definition> | <Fortran variable definition> | <MUMPS variable definition> | <Pascal variable definition> | <PL/I variable definition> <Ada variable definition>::= <Ada host identifier> [ { <comma> <Ada host identifier> }... ] <colon> <Ada type specification> [ <Ada initial value> ] <Ada type specification>::= <Ada qualified type specification> | <Ada unqualified type specification> | <Ada derived type specification> <Ada qualified type specification>::= Interfaces.SQL <period> CHAR [ CHARACTER SET [ IS ] <character set specification> ] <leftparen> 1 <double period> <length> <rightparen> | Interfaces.SQL <period> BIT <leftparen> 1 <double period> <length> <rightparen> | Interfaces.SQL <period> SMALLINT | Interfaces.SQL <period> INT | Interfaces.SQL <period> REAL | Interfaces.SQL <period> DOUBLE_PRECISION | Interfaces.SQL <period> BOOLEAN | Interfaces.SQL <period> SQLSTATE_TYPE | Interfaces.SQL <period> INDICATOR_TYPE <Ada unqualified type specification>::= CHAR <leftparen> 1 <double period> <length> <rightparen> | BIT <leftparen> 1 <double period> <length> <rightparen> | SMALLINT | INT | REAL | DOUBLE_PRECISION | BOOLEAN | SQLSTATE_TYPE | INDICATOR_TYPE <Ada derived type specification>::= <Ada CLOB variable> | <Ada BLOB variable> | <Ada user-defined type variable> | <Ada CLOB locator variable> | <Ada BLOB locator variable> | <Ada user-defined type locator variable> | <Ada array locator variable> | <Ada REF variable> <Ada CLOB variable>::= SQL TYPE IS CLOB <leftparen> <large object length> <rightparen> [ CHARACTER SET [ IS ] <character set specification> ] <Ada BLOB variable>::= SQL TYPE IS BLOB <leftparen> <large object length> <rightparen> <Ada user-defined type variable>::= SQL TYPE IS <user-defined type> AS <predefined type> <Ada CLOB locator variable>::=
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
383 SQL 99 _ BNF SQL TYPE IS CLOB AS LOCATOR <Ada BLOB locator variable>::= SQL TYPE IS BLOB AS LOCATOR <Ada user-defined type locator variable>::= SQL TYPE IS <user-defined type name> AS LOCATOR <Ada array locator variable>::= SQL TYPE IS <collection type> AS LOCATOR <Ada REF variable>::= SQL TYPE IS <reference type> <Ada initial value>::= <Ada assignment operator> <character representation>... <Ada assignment operator>::= <colon> <equals operator> <C variable definition>::= [<C storage class>][<C class modifier>]<C variable specification> <semicolon> <C storage class>::=auto | extern | static <C class modifier>::=const | volatile <C variable specification>::= <C numeric variable> | <C character variable> | <C derived variable> <C numeric variable>::= { long | short | float | double } <C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C initial value> ] }... ] <C initial value>::= <equals operator> <character representation>... <C character variable>::= <C character type> [ CHARACTER SET [ IS ] <character set specification> ] <C host identifier> <C array specification> [ <C initial value> ] [ { <comma> <C host identifier> <C array specification> [ <C initial value> }... ] <C character type>::=char | unsigned char | unsigned short <C array specification>::= <left bracket> <length> <right bracket> <C derived variable>::= <C VARCHAR variable> | <C NCHAR variable> | <C NCHAR VARYING variable> | <C CLOB variable> | <C NCLOB variable> | <C BLOB variable> | <C bit variable> | <C user-defined type variable> | <C CLOB locator variable> | <C BLOB locator variable> | <C array locator variable> | <C user-defined type locator variable> | <C REF variable> <C VARCHAR variable>::= VARCHAR [ CHARACTER SET [ IS ] <character set specification> ] <C host identifier> <C array specification> [ <C initial value> ] [ { <comma> <C host identifier> <C array specification> [ <C initial value> }... ] <C NCHAR variable>::= NCHAR [ CHARACTER SET [ IS ] <character set specification> ] <C host identifier> <C array specification> [ <C initial value> ] [ { <comma> <C host identifier> <C array specification> [ <C initial value> }...] <C NCHAR VARYING variable>::= NCHAR VARYING [ CHARACTER SET [ IS ] <character set specification> ] <C host identifier> <C array specification> [ <C initial value> ] [ { <comma> <C host identifier> <C array specification> [ <C initial value> }...] <C CLOB variable>::=
Ramin.Samad@yahoo.com
]
]
]
]
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
384
SQL TYPE IS CLOB <leftparen> <large object length> <rightparen> [ CHARACTER SET [ IS ] <character set specification> ] <C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C initial value> ] }... ] <C NCLOB variable>::= SQL TYPE IS NCLOB <leftparen> <large object length> <rightparen> [ CHARACTER SET [ IS ] <character set specification> ] <C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C initial value> ] }... ] <C BLOB variable>::= SQL TYPE IS BLOB <leftparen> <large object length> <rightparen> <C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C initial value> ] }... ] <C bit variable>::= BIT <C host identifier> <C array specification> [ <C initial value> ] [ { <comma> <C host identifier> <C array specification> [ <C initial value> ] }... ] <C user-defined type variable>::= SQL TYPE IS <user-defined type> AS <predefined type> <C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C initial value> ] }... ] <C CLOB locator variable>::= SQL TYPE IS CLOB AS LOCATOR <C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C initial value> ] }... ] <C BLOB locator variable>::= SQL TYPE IS BLOB AS LOCATOR <C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C initial value> ] }... ] <C array locator variable>::= SQL TYPE IS <collection type> AS LOCATOR <C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C initial value> ] }... ] <C user-defined type locator variable>::= SQL TYPE IS <user-defined type> AS LOCATOR <C host identifier> [ <C initial value> ] [ { <comma> <C host identifier> [ <C initial value> ] }... ] <C REF variable>::= SQL TYPE IS <reference type> <COBOL variable definition>::= {01|77} <COBOL host identifier> <COBOL type specification> [ <character representation>... ] <period> <COBOL type specification>::= <COBOL character type> | <COBOL national character type> | <COBOL bit type> | <COBOL numeric type> | <COBOL integer type> | <COBOL derived type specification> <COBOL character type>::= [ CHARACTER SET [ IS ] <character set specification> ] { PIC | PICTURE } [ IS ] { X [ <leftparen> <length> <rightparen> ] }... <COBOL national character type>::= [ CHARACTER SET [ IS ] <character set specification> ] { PIC | PICTURE } [ IS ] { N [ <leftparen> <length> <rightparen> ] }... <COBOL bit type>::= { PIC | PICTURE } [ IS ] { X [ <leftparen> <length> <rightparen> ] }... USAGE [ IS ] BIT
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
385 SQL 99 _ BNF <COBOL numeric type>::= { PIC | PICTURE } [ IS ] S <COBOL nines specification> [ USAGE [ IS ] ] DISPLAY SIGN LEADING SEPARATE <COBOL nines specification>::= <COBOL nines> [ V [ <COBOL nines> ] ] | V <COBOL nines> <COBOL nines>::={ 9 [ <leftparen> <length> <rightparen> ] }... <COBOL integer type>::= <COBOL binary integer> <COBOL binary integer>::= { PIC | PICTURE } [ IS ] S <COBOL nines> [ USAGE [ IS ] ] BINARY <COBOL derived type specification>::= <COBOL CLOB variable> | <COBOL NCLOB variable> | <COBOL BLOB variable> | <COBOL user-defined type variable> | <COBOL CLOB locator variable> | <COBOL BLOB locator variable> | <COBOL array locator variable> | <COBOL user-defined type locator variable> | <COBOL REF variable> <COBOL CLOB variable>::= [ USAGE [ IS ] ] SQL TYPE IS CLOB <leftparen> <large object length> <rightparen> [ CHARACTER SET [ IS ] <character set specification> ] <COBOL NCLOB variable>::= [ USAGE [ IS ] ] SQL TYPE IS NCLOB <leftparen> <large object length> <rightparen> [ CHARACTER SET [ IS ] <character set specification> ] <COBOL BLOB variable>::= [ USAGE [ IS ] ] SQL TYPE IS BLOB <leftparen> <large object length> <rightparen> <COBOL user-defined type variable>::= [ USAGE [ IS ] ] SQL TYPE IS <user-defined type> AS <predefined type> <COBOL CLOB locator variable>::= [ USAGE [ IS ] ] SQL TYPE IS CLOB AS LOCATOR <COBOL BLOB locator variable>::= [ USAGE [ IS ] ] SQL TYPE IS BLOB AS LOCATOR <COBOL array locator variable>::= [ USAGE [ IS ] ] SQL TYPE IS <collection type> AS LOCATOR <COBOL user-defined type locator variable>::= [ USAGE [ IS ] ] SQL TYPE IS <user-defined type name> AS LOCATOR <COBOL REF variable>::= [ USAGE [ IS ] ] SQL TYPE IS <reference type> <Fortran variable definition>::= <Fortran type specification> <Fortran host identifier> [ { <comma> <Fortran host identifier> }... ] --p --small --i The standard documents 'CHARACTER KIND = n' but there is no explanation of the italic 'n' that is used. Presumably, it is an integer literal, hence <unsigned integer>. --/i --/small --/p <Fortran type specification>::= CHARACTER [ <asterisk> <length> ] [ CHARACTER SET [ IS ] <character set specification> ] | CHARACTER KIND <equals operator> <unsigned integer> [ <asterisk> <length> ] [ CHARACTER SET [ IS ] <character set specification> ] | BIT [ <asterisk> <length> ] | INTEGER
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
386
| REAL | DOUBLE PRECISION | LOGICAL | <Fortran derived type specification> <Fortran derived type specification>::= <Fortran CLOB variable> | <Fortran BLOB variable> | <Fortran user-defined type variable> | <Fortran CLOB locator variable> | <Fortran BLOB locator variable> | <Fortran user-defined type locator variable> | <Fortran array locator variable> | <Fortran REF variable> <Fortran CLOB variable>::= SQL TYPE IS CLOB <leftparen> <large object length> <rightparen> [ CHARACTER SET [ IS ] <character set specification> ] <Fortran BLOB variable>::= SQL TYPE IS BLOB <leftparen> <large object length> <rightparen> <Fortran user-defined type variable>::= SQL TYPE IS <user-defined type> AS <predefined type> <Fortran CLOB locator variable>::= SQL TYPE IS CLOB AS LOCATOR <Fortran BLOB locator variable>::= SQL TYPE IS BLOB AS LOCATOR <Fortran user-defined type locator variable>::= SQL TYPE IS <user-defined type name> AS LOCATOR <Fortran array locator variable>::= SQL TYPE IS <collection type> AS LOCATOR <Fortran REF variable>::= SQL TYPE IS <reference type> <MUMPS variable definition>::= <MUMPS numeric variable> <semicolon> | <MUMPS character variable> <semicolon> | <MUMPS derived type specification> <semicolon> <MUMPS numeric variable>::= <MUMPS type specification> <MUMPS host identifier> [ { <comma> <MUMPS host identifier> }... ] <MUMPS type specification>::= INT | DEC [ <leftparen> <precision> [ <comma> <scale> ] <rightparen> ] | REAL <MUMPS character variable>::= VARCHAR <MUMPS host identifier> <MUMPS length specification> [ { <comma> <MUMPS host identifier> <MUMPS length specification> }... ] <MUMPS length specification>::= <leftparen> <length> <rightparen> <MUMPS derived type specification>::= <MUMPS CLOB variable> | <MUMPS BLOB variable> | <MUMPS user-defined type variable> | <MUMPS CLOB locator variable> | <MUMPS BLOB locator variable> | <MUMPS user-defined type locator variable> | <MUMPS array locator variable> | <MUMPS REF variable> <MUMPS CLOB variable>::= SQL TYPE IS CLOB <leftparen> <large object length> <rightparen> [ CHARACTER SET [ IS ] <character set specification> ] <MUMPS BLOB variable>::=
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
387 SQL 99 _ BNF SQL TYPE IS BLOB <leftparen> <large object length> <rightparen> <MUMPS user-defined type variable>::= SQL TYPE IS <user-defined type> AS <predefined type> <MUMPS CLOB locator variable>::=SQL TYPE IS CLOB AS LOCATOR <MUMPS BLOB locator variable>::=SQL TYPE IS BLOB AS LOCATOR <MUMPS user-defined type locator variable>::= SQL TYPE IS <user-defined type name> AS LOCATOR <MUMPS array locator variable>::= SQL TYPE IS <collection type> AS LOCATOR <MUMPS REF variable>::=SQL TYPE IS <reference type> <Pascal variable definition>::= <Pascal host identifier> [ { <comma> <Pascal host identifier> }... ] <colon> <Pascal type specification> <semicolon> <Pascal type specification>::= PACKED ARRAY <left bracket> 1 <double period> <length> <right bracket> OF CHAR [ CHARACTER SET [ IS ] <character set specification> ] | PACKED ARRAY <left bracket> 1 <double period> <length> <right bracket> OF BIT | INTEGER | REAL | CHAR [CHARACTER SET [ IS ] <character set specification> ] | BIT | BOOLEAN | <Pascal derived type specification> <Pascal derived type specification>::= <Pascal CLOB variable> | <Pascal BLOB variable> | <Pascal user-defined type variable> | <Pascal CLOB locator variable> | <Pascal BLOB locator variable> | <Pascal user-defined type locator variable> | <Pascal array locator variable> | <Pascal REF variable> <Pascal CLOB variable>::= SQL TYPE IS CLOB <leftparen> <large object length> <rightparen> [ CHARACTER SET [ IS ] <character set specification> ] <Pascal BLOB variable>::= SQL TYPE IS BLOB <leftparen> <large object length> <rightparen> <Pascal user-defined type variable>::= SQL TYPE IS <user-defined type> AS <predefined type> <Pascal CLOB locator variable>::=SQL TYPE IS CLOB AS LOCATOR <Pascal BLOB locator variable>::=SQL TYPE IS BLOB AS LOCATOR <Pascal user-defined type locator variable>::= SQL TYPE IS <user-defined type name> AS LOCATOR <Pascal array locator variable>::= SQL TYPE IS <collection type> AS LOCATOR <Pascal REF variable>::=SQL TYPE IS <reference type> <PL/I variable definition>::= {DCL | DECLARE } { <PL/I host identifier> | <leftparen> <PL/I host identifier> [ { <comma> <PL/I host identifier> }... ] <rightparen> } <PL/I type specification> [ <character representation>... ] <semicolon> <PL/I type specification>::= { CHAR | CHARACTER } [ VARYING ] <leftparen> <length> <rightparen> [ CHARACTER SET [ IS ] <character set specification> ] | BIT [ VARYING ] <leftparen> <length> <rightparen> | <PL/I type fixed decimal> <leftparen> <precision> [ <comma> <scale> ] <rightparen> | <PL/I type fixed binary> [ <leftparen> <precision> <rightparen> ]
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ | <PL/I type float binary> <leftparen> <precision> <rightparen> | <PL/I derived type specification> <PL/I type fixed decimal>::= { DEC | DECIMAL } FIXED | FIXED { DEC | DECIMAL } <PL/I type fixed binary>::= { BIN | BINARY } FIXED | FIXED { BIN | BINARY } <PL/I type float binary>::= { BIN | BINARY } FLOAT | FLOAT { BIN | BINARY } <PL/I derived type specification>::= <PL/I CLOB variable> | <PL/I BLOB variable> | <PL/I user-defined type variable> | <PL/I CLOB locator variable> | <PL/I BLOB locator variable> | <PL/I user-defined type locator variable> | <PL/I array locator variable> | <PL/I REF variable> <PL/I CLOB variable>::= SQL TYPE IS CLOB <leftparen> <large object length> <rightparen> [ CHARACTER SET [ IS ] <character set specification> ] <PL/I BLOB variable>::= SQL TYPE IS BLOB <leftparen> <large object length> <rightparen> <PL/I user-defined type variable>::= SQL TYPE IS <user-defined type> AS <predefined type> <PL/I CLOB locator variable>::=SQL TYPE IS CLOB AS LOCATOR <PL/I BLOB locator variable>::=SQL TYPE IS BLOB AS LOCATOR <PL/I user-defined type locator variable>::= SQL TYPE IS <user-defined type name> AS LOCATOR <PL/I array locator variable>::=SQL TYPE IS <collection type> AS LOCATOR <PL/I REF variable>::=SQL TYPE IS <reference type> <embedded SQL end declare>::= <SQL prefix> END DECLARE SECTION [ <SQL terminator>] <embedded SQL MUMPS declare>::= <SQL prefix> BEGIN DECLARE SECTION [ <embedded character set declaration> ] [ <host variable definition>... ] END DECLARE SECTION <SQL terminator> <embedded SQL host program>::= <embedded SQL Ada program> | <embedded SQL C program> | <embedded SQL COBOL program> | <embedded SQL Fortran program> | <embedded SQL MUMPS program> | <embedded SQL Pascal program> | <embedded SQL PL/I program> <embedded SQL Ada program>::=!! (See the Syntax Rules.) <embedded SQL C program>::=!! (See the Syntax Rules.) <embedded SQL COBOL program>::=!! (See the Syntax Rules.) <embedded SQL Fortran program>::=!! (See the Syntax Rules.) <embedded SQL MUMPS program>::=!! (See the Syntax Rules.) <embedded SQL Pascal program>::=!! (See the Syntax Rules.) <embedded SQL PL/I program>::=!! (See the Syntax Rules.) <embedded SQL statement>::= <SQL prefix> <statement or declaration> [ <SQL terminator> ] <statement or declaration>::= <declare cursor> | <dynamic declare cursor> | <temporary table declaration>
Ramin.Samad@yahoo.com
388
WWW.IRANMEET.COM
389 SQL 99 _ BNF | <embedded authorization declaration> | <embedded path specification> | <embedded transform group specification> | <embedded exception declaration> | <handler declaration> | <SQL-invoked routine> | <SQL procedure statement> <dynamic declare cursor>::= DECLARE <cursor name> [ <cursor sensitivity> ] [ <cursor scrollability> ] CURSOR [ <cursor holdability> ] [ <cursor returnability> ] FOR <statement name> <embedded authorization declaration>::=DECLARE <embedded authorization clause> <embedded authorization clause>::= SCHEMA <schema name> | AUTHORIZATION <embedded authorization identifier> [ FOR STATIC { ONLY | AND DYNAMIC } ] | SCHEMA <schema name> AUTHORIZATION <embedded authorization identifier> [ FOR STATIC { ONLY | AND DYNAMIC } ] <embedded authorization identifier>::= <module authorization identifier> <embedded path specification>::= <path specification> <embedded transform group specification>::= <transform group specification> <embedded exception declaration>::=WHENEVER <condition> <condition action> <condition>::= <SQL condition> --p --small --i The standard documents 'SQLSTATE ( <SQLSTATE class value> [ , <SQLSTATE subclass value> ] )', but it is not clear why the <leftparen> , <comma> and <rightparen> are not designated more accurately. --/i --/small --/p <SQL condition>::= <major category> | SQLSTATE <leftparen> <SQLSTATE class value> [ <comma> <SQLSTATE subclass value> ] <rightparen> | CONSTRAINT <constraint name> <major category>::=SQLEXCEPTION | SQLWARNING | NOT FOUND <SQLSTATE class value>::= <SQLSTATE char> <SQLSTATE char> !! (See the Syntax Rules.) <SQLSTATE char>::= <simple Latin upper case letter> | <digit> <SQLSTATE subclass value>::= <SQLSTATE char> <SQLSTATE char> <SQLSTATE char> !! (See the Syntax Rules.) <condition action>::=CONTINUE | <go to> <go to>::={ GOTO | GO TO } <goto target> <goto target>::= <host label identifier> | <unsigned integer> | <host PL/I label variable> <host label identifier>::=!! (See the Syntax Rules.) <host PL/I label variable>::=!! (See the Syntax Rules.) <interval primary>::= <value expression primary> [ <interval qualifier> ] | <interval value function> <module authorization clause>::= SCHEMA <schema name> | AUTHORIZATION <module authorization identifier> [ FOR STATIC { ONLY | AND DYNAMIC } ] | SCHEMA <schema name> AUTHORIZATION <module authorization identifier> [ FOR STATIC { ONLY | AND DYNAMIC } ] <preparable statement>::= <preparable SQL data statement>
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
ﭘﺎﻳﮕﺎه دادهﻫﺎ
390
| <preparable SQL schema statement> | <preparable SQL transaction statement> | <preparable SQL control statement> | <preparable SQL session statement> | <preparable implementation-defined statement> <preparable SQL data statement>::= <delete statement: searched> | <dynamic single row select statement> | <insert statement> | <dynamic select statement> | <update statement: searched> | <preparable dynamic delete statement: positioned> | <preparable dynamic update statement: positioned> <dynamic single row select statement>::= <query specification> <dynamic select statement>::= <cursor specification> <preparable dynamic delete statement: positioned>::= DELETE [ FROM <target table> ] WHERE CURRENT OF [ <scope option> ] <cursor name> <preparable dynamic update statement: positioned>::= UPDATE [ <target table> ] SET <set clause list> WHERE CURRENT OF [ <scope option> ] <cursor name> <preparable SQL schema statement>::= <SQL schema statement> <preparable SQL transaction statement>::= <SQL transaction statement> <preparable SQL control statement>::= <SQL control statement> <preparable SQL session statement>::= <SQL session statement> <preparable implementation-defined statement>::=!! (See the Syntax Rules.) --hr --h2 END OF SQL-99 GRAMMAR --/h2 --hr --h2 Notes on Automatically Converting the SQL-99 Grammar to a YACC Grammar --/h2 --p Automatic translation of this grammar is non-trivial for a number of reasons. One is that the grammar has a number of actions '!! (See the Syntax Rules.)' which cannot be translated automatically. Another is that the grammar contains rules that are usually better handled by the lexical analyzer than the grammar proper. Then there are incomplete rules such as those which reference parts 6 to 10 (they are not defined; indeed, part 7, which was going to be SQL/Temporal, is in complete abeyance), and the packages (almost completely undefined in the grammar).It is not clear whether these can be ignored, or annotated out of the way. --/p --p Another complication is automatically generating rules to deal with optional components and repetitive components in the grammar. Square brackets do not contain alternative non-terminals; all those expressions are contained within curly brackets within the square brackets. However, some square brackets do contain alternative terminals. Curly brackets contain and group mandatory elements. However, they are usually used in conjunction with the 'one or more times' repeater ellipsis '...' mark. --/p --hr
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
; C 1 4 ; A Abort Abstract machine Abstract Data Type (ADT) Abstract Data Type (ADT) Abstractive Abstractive construct Access rules Access Method (AM) Access right Access strategy Accessability Accuracy Action Active rule Active Data Objects (ADO) Active Database Management System (ADBMS) Active dictionary Active DBMS (ADBMS) Activity diagram Actor Ad hoc (Unplanned) Aggregate function Aggregation
â&#x20AC;ŤÂ&#x152; ŘŻâ&#x20AC;Ź Â&#x17D;â&#x20AC;Ť Â&#x201D;Â&#x201C;Â&#x2019; ا Â&#x2018;اâ&#x20AC;Ź â&#x20AC;Ť Řš داد اŮ&#x160;â&#x20AC;Ź Â&#x17D;â&#x20AC;ŤŘ§ Â&#x2018;اâ&#x20AC;Ź â&#x20AC;Ť Řš داد Â&#x2014; ŘŻâ&#x20AC;Ź Â&#x17D;â&#x20AC;ŤŘ§ Â&#x2018;اâ&#x20AC;Ź Â&#x17D;â&#x20AC;ŤÂ&#x2122; Â&#x2DC; ا Â&#x2018;اâ&#x20AC;Ź Â&#x201C; Â&#x2122;â&#x20AC;ŤÂ&#x161; اÂ&#x17D; ŘŻâ&#x20AC;Ź Â&#x201C; Â&#x2122;â&#x20AC;ŤÂ&#x201D;Â&#x201C; ŘŻâ&#x20AC;Ź Â&#x201C; Â&#x2122;â&#x20AC;ŤÂ?Â&#x153; Ů&#x201A; ŘŻâ&#x20AC;Ź â&#x20AC;ŤŘ§Â&#x2122; اÂ&#x;Â&#x17E;Ů&#x160;â&#x20AC;Ź Â&#x201C; Â&#x2122;â&#x20AC;ŤŘŻâ&#x20AC;Ź Â&#x201C; Â&#x2122;â&#x20AC;ŤŘŻâ&#x20AC;Ź Â&#x2DC;Â&#x161;â&#x20AC;ŤŘŻâ&#x20AC;Ź  Â&#x17D; â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂ˘ Â&#x17D; Â&#x161; â&#x20AC;Ť Ů&#x2021; Ů&#x160; دادâ&#x20AC;ŹÂ¤Â&#x201C;Â&#x201D; â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂ˘ â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂ˘ ÂĽ Â&#x201C;Â&#x2122; Â&#x2DC;
â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂ˘ â&#x20AC;ŤŘŻ Š¨§ Ů&#x160;â&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂ˘ ÂĽ Â&#x201C;Â&#x2122; Â&#x2DC;Â&#x201C;ÂŞ ¢ â&#x20AC;Ť داعâ&#x20AC;ŹÂ
Œ¨§â&#x20AC;ŤŘ˘â&#x20AC;Ź â&#x20AC;Ť عدŮ&#x160;â&#x20AC;Ź ¢  Â&#x; â&#x20AC;ŤÂ Ů&#x2C6;Ů&#x2021;â&#x20AC;Ź ÂŤÂ Â&#x2014;Â&#x;
ALL-Key Alternate Key(A K) Analogue Anomaly Antisemijoin Application perspective Application Programming Interface (API) Application developer Application Program (AP ) Application Program conversion Application system Arity Assertion Asset Association Asymmetry Atomic Atomicity Attribute Attribute features Attribute inheritance Attribute preserving Attribute constraint Attributes set Augmentation
Ramin.Samad@yahoo.com
Â&#x201C; â&#x20AC;Ť Ů&#x2026; آâ&#x20AC;ŹÂ Â&#x; ÂŚ â&#x20AC;ŤŘ˘ Â&#x201C; ŘŻâ&#x20AC;Ź Â&#x2122; Â&#x201C;Â&#x161; ÂŞ ÂŻ Â&#x201C; ÂĽÂ&#x201C; ° â&#x20AC;ŤŘŻ  آ Řą ŘŻŮ&#x160;â&#x20AC;Ź Âą ²Â&#x2122;â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; زŮ&#x160; آ Řą ŘŻâ&#x20AC;Ź ) â&#x20AC;ŤŘ˘ Řą ŘŻ Â&#x2122; زâ&#x20AC;Ź ( â&#x20AC;Ť داعâ&#x20AC;Ź â&#x20AC;Ť آ Řą ŘŻŮ&#x160;â&#x20AC;ŹÂą ( â&#x20AC;Ť) آ Řą داعâ&#x20AC;Ź Âą ´Â&#x; â&#x20AC;ŤŮ&#x2021; Ů&#x160; آ Řą ŘŻŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť آ Řą ŘŻŮ&#x160;â&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;ŤÂŻŘąâ&#x20AC;Ź â&#x20AC;Ť Řąâ&#x20AC;ŹÂľâ&#x20AC;ŤŘ§â&#x20AC;Ź Âą Â&#x2122; ÂŚ â&#x20AC;ŤÂ&#x17D; Ů&#x2026; Â&#x;Â&#x153; ŘąŮ&#x2020;â&#x20AC;Ź ¨ Âą Â&#x2018;Â&#x2014;Â&#x; â&#x20AC;Ť ¡ Ů&#x160;â&#x20AC;ŹÂą Â&#x2018;Â&#x2014;Â&#x; Â&#x2DC; ¸ Â&#x2DC; ¸ â&#x20AC;Ť Ů&#x2021; Ů&#x160;â&#x20AC;ŹÂąÂ´Â§ Â&#x2DC; ¸ Â&#x2DC;šâ&#x20AC;ŤŮ&#x2C6;عاâ&#x20AC;Ź â&#x20AC;Ť ¸ ŘŞâ&#x20AC;ŹÂąÂť Â? Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź ¸ â&#x20AC;Ť ¸ ŘŞâ&#x20AC;ŹÂąÂ&#x17D;  Â&#x2014;
½ â&#x20AC;ŤŘ§ Â&#x2018;اâ&#x20AC;Ź
WWW.IRANMEET.COM
â&#x20AC;Ťď&#x2DC;ďş&#x17D;ďťłďŽ&#x2022;ďş&#x17D;Ů&#x2021; دادŮ&#x2021;ďş&#x17D;â&#x20AC;Ź Authorization Authorization Identifier ( AuthID) Automatic Design Tool ( ADT ) Automatic navigation Axiom B Bachman diagram Back office server Back-end Backend Dbserver Backup Bags Base relation Base attribute Base Table (BT) Basic data type Batch Batch mode Behavioural Benchmarking Bi- structure Bi-directional association Body Bound Box data structure BOYCE Boyce-Codd Normal Form Bridge Browsing Business rule Business rules Buttleneck C C.J.DATE Cache memory
â&#x20AC;Ť ŘąŮ&#x160;â&#x20AC;ŹÂ Â&#x201D; â&#x20AC;Ť Â&#x2014; زâ&#x20AC;Ź â&#x20AC;Ť Â&#x2014; زâ&#x20AC;ŹÂąÂ&#x2122; §Â&#x201D; â&#x20AC;Ť ŘąŮ&#x160;â&#x20AC;ŹÂ Â&#x201D; ( â&#x20AC;ŤŘ§ Â&#x2018;اع ) ا Š Ů&#x2020;â&#x20AC;Ź â&#x20AC;ŤÂ&#x152; اÂ? دآ Řąâ&#x20AC;Ź â&#x20AC;Ť Ů&#x2C6;Ř´ دآ Řąâ&#x20AC;Ź ) â&#x20AC;ŤŘ§ŘąŘ˛ ÂŻÂż زâ&#x20AC;Ź ÂąÂ&#x17D; ° ¸â&#x20AC;ŤŘ§â&#x20AC;Ź Â&#x2019; Ă&#x20AC; â&#x20AC;Ť داعâ&#x20AC;ŹÂ
Â&#x2DC;¨ â&#x20AC;ŤŘ§ Â&#x2018;اع Ů&#x2020;â&#x20AC;Ź ¹§Ÿ¸ Â&#x2019;Â&#x201C;Â&#x201D;
â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;Ź â&#x20AC;Ť ÂŚ Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť ¨ Â&#x201C;´ Ů&#x2020;â&#x20AC;Ź â&#x20AC;ŤÂ&#x; ŘŻâ&#x20AC;Ź §´ ¹à â&#x20AC;ŤŘąŘ§â&#x20AC;Ź §´
(Âą ) §´ â&#x20AC;Ť Ů&#x2C6;Ů&#x201E;â&#x20AC;Ź â&#x20AC;Ť Řš داد اŮ&#x160;â&#x20AC;Ź §´
Â&#x2014;Š Â&#x2014;Š â&#x20AC;ŤŘ§Â&#x2122; بâ&#x20AC;Ź â&#x20AC;ŤŘą ŘąŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť زâ&#x20AC;ŹĂ&#x192;Âź
â&#x20AC;ŤŘŻŮ&#x2C6; Â&#x2122; Řąâ&#x20AC;Ź Âą Â&#x2122; â&#x20AC;Ť ÂŚ ŘŻŮ&#x2C6;â&#x20AC;Ź ( Âą ) ŠÂ&#x201C; Âą â&#x20AC;ŤÂ&#x2122; Řą داد اŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂąÂ´Â˘ Ă&#x201E; â&#x20AC;ŤÂ¸ عت Ů&#x201E;â&#x20AC;Ź â&#x20AC;ŤŘ˘ ŘŻâ&#x20AC;Ź-Ă&#x201E; â&#x20AC;ŤÂ¨Â&#x2DC; زâ&#x20AC;Ź â&#x20AC;ŤÂ&#x161; اÂ&#x17D; Â&#x;Â&#x2014; ŘąŮ&#x160;â&#x20AC;Ź Â&#x201C;ÂŞ ¢ Â&#x17D;â&#x20AC;ŤÂ&#x161; اâ&#x20AC;Ź §Œ§Â&#x; Â&#x2DC; â&#x20AC;ŤŘŻâ&#x20AC;Ź â&#x20AC;Ť Ů&#x2020;â&#x20AC;ŹÂąÂť Â?
CAD/CAM Calculated attribute Call Level Interface (CLI) Candidate domain Candidate Key (CK) Canonical cover Cardinality Cardinality ratio Cascade Catalog manager Catalogue Categorization Category Centralized Centralized control Centralized database Certification Chasm trap Check constraints Checkpointing CHEMBERLIN CHEN CHEN notation Class Class diagram Classification Clause Clean design Client / MultiServer ( C / MS) Client machine Client / Server (C/S) Client / Server Database (C/S DB) Closed World Closed World
Ramin.Samad@yahoo.com
392
Ă&#x192; â&#x20AC;Ť آâ&#x20AC;ŹÂą Â?â&#x20AC;ŤÂ&#x152; اâ&#x20AC;Ź Âą Â&#x201C;ÂŞ Â&#x;- Â&#x; Ă&#x2026; â&#x20AC;ŤŘ˘â&#x20AC;Ź Â&#x; Â&#x201C;Ă&#x2026; â&#x20AC;Ť آâ&#x20AC;ŹĂ&#x192; â&#x20AC;ŤŘ˘â&#x20AC;Ź ¹´Â&#x2122; Âź Â&#x2DC; ¸ Â&#x201D; Ă&#x2020;Ă Â&#x2122; â&#x20AC;Ť ŘŻŘąâ&#x20AC;ŹÂ˛Â&#x2122;â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź CLI) â&#x20AC;Ť ا اŮ&#x2020;â&#x20AC;Ź â&#x20AC;Ť Â&#x201C; اŮ&#x2020; آâ&#x20AC;Ź â&#x20AC;ŤŘ˘ Â&#x201C; آâ&#x20AC;Ź Ă&#x192;Â&#x201C; â&#x20AC;Ť Ř´ آâ&#x20AC;Ź Â&#x201C;ÂŞ § â&#x20AC;ŤŘ˘ عدâ&#x20AC;Ź Â&#x2DC;´
Â&#x201C;ÂŞ § â&#x20AC;ŤŘ˘ عدâ&#x20AC;Ź Â&#x; â&#x20AC;Ť ÚŻâ&#x20AC;ŹÂŞ Â&#x; â&#x20AC;Ť آâ&#x20AC;Ź â&#x20AC;Ť ÚŻâ&#x20AC;ŹÂŞ Â&#x; â&#x20AC;ŤŘ˘â&#x20AC;Ź â&#x20AC;Ť § Ů&#x160;â&#x20AC;ŹÂą Â&#x2122;â&#x20AC;ŤŘŻâ&#x20AC;Ź Âą Â&#x2122;â&#x20AC;ŤŘŻâ&#x20AC;Ź Â&#x2018;â&#x20AC;Ť آâ&#x20AC;ŹÂ
Â&#x2018;â&#x20AC;Ť آâ&#x20AC;ŹÂ â&#x20AC;ŤŘ˘Â§ Ů&#x201E;â&#x20AC;Ź Â&#x2018;â&#x20AC;Ť آâ&#x20AC;ŹÂ ÂŚ Â&#x201C; Â&#x; Ă&#x192;Â&#x201C;§ŠÂ&#x; (Ă&#x2C6; Ă&#x2030;Â&#x;) â&#x20AC;ŤŘŻŘ§Ů&#x2026; Â&#x201D;Š Ů â&#x20AC;Ź Âľ Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź â&#x20AC;Ť Â&#x2122; Ů&#x2020;â&#x20AC;ŹÂą Â&#x2122;â&#x20AC;Ť Ů&#x2C6;اعâ&#x20AC;ŹÂąĂ Â&#x153;
Â&#x2019;Â&#x201C;ÂŞ ´ Ă&#x20AC; Â&#x2019;Ă&#x20AC; Â&#x2019;Ă&#x20AC; â&#x20AC;Ť داعâ&#x20AC;ŹÂ
â&#x20AC;ŤŘąŘŻâ&#x20AC;Ź â&#x20AC;Ť داع عدâ&#x20AC;ŹÂ
â&#x20AC;ŤŘąŘŻ § Ů&#x160;â&#x20AC;Ź (â&#x20AC;ŤŘ˛â&#x20AC;ŹĂ&#x2039;â&#x20AC;Ť اآ ŘŻ )آâ&#x20AC;Ź â&#x20AC;ŤÂ&#x152; اÂ? Ů&#x2C6;â&#x20AC;Ź Ă&#x2020;°â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź §Ă&#x20AC;-â&#x20AC;Ť ¨ Ů&#x160;â&#x20AC;ŹĂ&#x192; â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;Ź Â&#x; Â&#x201C;Ă&#x2026; â&#x20AC;ŤŘ˘â&#x20AC;Ź â&#x20AC;Ť ¨ Ů&#x160;â&#x20AC;Ź /â&#x20AC;Ť ¨ Ů&#x160;â&#x20AC;Ź â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;Ź â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź -â&#x20AC;Ť ¨ Ů&#x160;â&#x20AC;Ź â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;Ź Âą â&#x20AC;Ť Ů&#x2020;â&#x20AC;Ź â&#x20AC;ŤÂ&#x; Â&#x201C; Ů&#x2020;â&#x20AC;Ź
WWW.IRANMEET.COM
393
â&#x20AC;ŤŮ&#x2C6;اÚ&#x2DC;Ů&#x2021; ďş&#x17D; اďŽ&#x2022;ďť ďť´ďş´ďť˛ ďş&#x2018; ďť&#x201C;ďş&#x17D;عﺳâ&#x20AC;Ź
interpretation Closure Clustering CODASYL data model CODD Collection Command driven Command Language Interface ( CLI) Commit Communative Communication Comparand Complete relational system Complex Complex Data Type ( CDT) Complex query Component Composite Composition Computational completeness Conceptual schema Conceptual design Conceptual level Conceptual redundancy Conceptual view Conceptual / Internal mapping Concurrent Concurrent schedule Conference On Data System Langeage (CODASYL) Configuration Connection traps Connector
Âą â&#x20AC;Ť Řąâ&#x20AC;Ź â&#x20AC;Ť Ů&#x2C6;اعŮ&#x160;â&#x20AC;ŹÂąÂ&#x201D; â&#x20AC;Ť Ů&#x201E; داد اŮ&#x160;â&#x20AC;Ź Â&#x201C;Â&#x2122;â&#x20AC;ŤŘ˘ داâ&#x20AC;Ź â&#x20AC;ŤŘ˘ ŘŻâ&#x20AC;Ź Âą â&#x20AC;ŤÂ داâ&#x20AC;Ź Â&#x201D; Â&#x2DC; â&#x20AC;ŤŮ&#x2021; اâ&#x20AC;Ź â&#x20AC;Ť Ů&#x2020;â&#x20AC;Ź â&#x20AC;Ť ز Ů&#x2020;â&#x20AC;ŹÂ˛Â&#x2122;â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź â&#x20AC;Ť Ů&#x2020;â&#x20AC;Ź Â&#x2DC;Â&#x201C;´Ă&#x152;Â&#x;  §â&#x20AC;ŤŘ§ Â&#x153; Ů&#x201E; ŘŻŮ&#x2021;â&#x20AC;Ź ) ½ Â&#x2122;  â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź ( â&#x20AC;ŤŘ§ŘąÂ&#x;´ ءâ&#x20AC;Ź Â&#x2122; Â&#x201C;Â&#x161; â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;Ť عاâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;ŤŘ˘â&#x20AC;Ź (² Ă? ) Â&#x201C;Ă&#x17D;Â&#x201C; â&#x20AC;Ť Řš داد اŮ&#x160;â&#x20AC;Ź Â&#x201C;Ă&#x17D;Â&#x201C; Â&#x201C;Ă&#x17D;Â&#x201C; ½Â&#x2122; â&#x20AC;ŤÂ&#x2122; زâ&#x20AC;Ź Ă?â&#x20AC;Ť آâ&#x20AC;Ź Ă?Â&#x201C;â&#x20AC;ŤÂ&#x; آâ&#x20AC;Ź Â&#x; ´Â&#x2122; Âź â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂ â&#x20AC;ŤŘ˘â&#x20AC;Ź â&#x20AC;Ť Ů&#x160; ادعاآâ&#x20AC;ŹÂ Â&#x201D; â&#x20AC;ŤÂ&#x152; اÂ? ادعاآâ&#x20AC;Ź â&#x20AC;Ť ادعاآâ&#x20AC;ŹĂ&#x2020;Ă Â&#x2122; ( ) â&#x20AC;ŤŘ§ Â&#x2018;Ů&#x2C6; ÂŚ ادعاآâ&#x20AC;Ź â&#x20AC;ŤŘŻ ادعاآâ&#x20AC;Ź / â&#x20AC;Ť ÂŚ Â&#x201D;Â&#x2DC; ادعاآâ&#x20AC;Ź â&#x20AC;ŤŘŻŘ§â&#x20AC;Ź â&#x20AC;ŤÂ&#x2018; Ů&#x2020;â&#x20AC;ŹÂ â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź â&#x20AC;ŤÂ&#x152; Ř Ř§ اŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť Ů&#x2C6;â&#x20AC;ŹÂ â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź
Â&#x201C;Â&#x2122;â&#x20AC;Ť آ داâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť Â&#x201C;Š § Ů&#x160;â&#x20AC;Ź â&#x20AC;ŤŘŻŘ§ Ů&#x160; Â&#x201C; Ů&#x160;â&#x20AC;Ź §â&#x20AC;Ť Â&#x201C; ŘŻŮ&#x2021;â&#x20AC;Ź
Consistency Constraint Constraint specification language Constructor CONTAINS Containtement Continuous operation Conventional Conventional system Correcthness Cost-benefit analysis Cover CREATE view Cross join Current AuthID Cursor D Dangling Data Sub Language ( DSL) Data compression Data Structure(DS) Data accessibility Data Administrator (DA) Data bank Data communication manager Data Control ( DC ) Data Control Language (DCL) Data conversion and data transfer Data Definition Data Definition Language (DDL) Data encryption Data entry Data export
Ramin.Samad@yahoo.com
â&#x20AC;ŤÂ&#x2122; ز عŮ&#x160;â&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź Ă&#x2019;Â&#x201C;¸ Â&#x; â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź ÂŚ Â&#x2122; Â&#x2DC;Â&#x2122;â&#x20AC;ŤÂ&#x201D; اâ&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂ Â&#x201D; â&#x20AC;Ť Â&#x201C; ŘŞâ&#x20AC;ŹÂ Â&#x17D; â&#x20AC;ŤÂ&#x; اŮ&#x2C6;Ů&#x2026;â&#x20AC;Ź §Â&#x2122; â&#x20AC;Ť ع٠â&#x20AC;ŹÂ˘ ÂĽ Â&#x201C;Â&#x2122; Â&#x2DC;Ÿ¸ â&#x20AC;ŤÂ&#x;Âź Â&#x201C; ÂŻŮ&#x2C6;عدâ&#x20AC;Ź â&#x20AC;Ť Â&#x2018;اâ&#x20AC;Ź/ ¹§ Â&#x2018;â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź â&#x20AC;Ť Ř´â&#x20AC;Ź â&#x20AC;ŤŘ§ Â&#x2014; ŘŻ ŘŻâ&#x20AC;Ź â&#x20AC;Ť بâ&#x20AC;ŹÂ° Â&#x201C; â&#x20AC;Ť ŘąŮ&#x160;â&#x20AC;ŹÂąÂ&#x2122; §Â&#x201D;  â&#x20AC;Ť Š Ů&#x2020;â&#x20AC;Ź Ă&#x2C6; ¢
â&#x20AC;ŤŘ˛ Ů&#x2020; داد اŮ&#x160;â&#x20AC;Ź Â&#x17D; â&#x20AC;Ť ¨ ŘŻ Â&#x2122; زŮ&#x160;â&#x20AC;Ź â&#x20AC;ŤŘŻŘ§ŘŻ Ů&#x2021;â&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; Řą داد اŮ&#x160;â&#x20AC;Ź ( ) Â&#x2122; Â&#x2122;â&#x20AC;ŤŘŻâ&#x20AC;Ź â&#x20AC;Ť داد Ů&#x2021;â&#x20AC;ŹÂą â&#x20AC;Ť دادâ&#x20AC;Ź â&#x20AC;Ť داد Ů&#x2021;â&#x20AC;ŹĂ&#x192;
â&#x20AC;Ť ا Â&#x153; Ů&#x201E; دادâ&#x20AC;Ź â&#x20AC;ŤŘ˘Â§ Ů&#x201E; دادâ&#x20AC;Ź â&#x20AC;ŤŘŻÂ&#x2122; عات آ§ Ů&#x201E;â&#x20AC;Ź â&#x20AC;ŤŘŻŘ§ŘŻ Ů&#x2021;â&#x20AC;Ź â&#x20AC;ŤÂ&#x;´ Ů&#x2C6; ا Â&#x153; Ů&#x201E;â&#x20AC;Ź â&#x20AC;ŤŘŻŘ§ŘŻ Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť دادâ&#x20AC;ŹĂ&#x2019; ¢Â&#x; â&#x20AC;ŤŘŻÂ&#x2122; عاتâ&#x20AC;Ź â&#x20AC;Ť داد Ů&#x2021;â&#x20AC;ŹĂ&#x2019; ¢Â&#x; â&#x20AC;Ť Ů&#x2020; ÂŚ ŘąŮ&#x160; دادâ&#x20AC;Ź â&#x20AC;ŤŮ&#x2C6;اعد آ ŘŻŮ&#x2020; دادâ&#x20AC;Ź â&#x20AC;ŤÂ¸ Ů&#x2C6;Řą داد Ů&#x2021;â&#x20AC;Ź
WWW.IRANMEET.COM
â&#x20AC;Ťď&#x2DC;ďş&#x17D;ďťłďŽ&#x2022;ďş&#x17D;Ů&#x2021; دادŮ&#x2021;ďş&#x17D;â&#x20AC;Ź Data extraction Data Flow Diagram (DFD) Data import Data inconsistency Data independence Data Management System (DMS) Data Manager Data Manipulation Data Manipulation Language (DML) Data marts Data materialization Data migration Data mining and knowledge discovery system Data Model Data naming Data placement Data sharing Data source Data type Data type extensibility Data usage pattern Data Warehousing Data Communication Data keeping- data processing Database Database growth Database Language (DBL) Database space Database state Database tuning Database administration
â&#x20AC;Ť ا؏ داد Ů&#x2021;â&#x20AC;ŹĂ? Â&#x2122;â&#x20AC;ŤŘ§â&#x20AC;Ź â&#x20AC;Ť داع ŘąŮ&#x2C6;â&#x20AC;ŹÂ
â&#x20AC;ŤŘŻŘ§ŘŻâ&#x20AC;Ź â&#x20AC;ŤŮ&#x2C6;ŘąŮ&#x2C6;ŘŻŮ&#x160; داد Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť Â&#x2122; ز عŮ&#x160; دادâ&#x20AC;Ź â&#x20AC;ŤŮ&#x201E; داد اŮ&#x160;â&#x20AC;ŹĂ&#x2039;Â&#x153; Â&#x2122;â&#x20AC;ŤŘ§â&#x20AC;Ź Â&#x2DC; ÂĽ Â&#x201C;Â&#x2122; â&#x20AC;ŤŘŻŘ§ŘŻ Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť داد Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť Â&#x201C; ŘŞâ&#x20AC;ŹÂ Â&#x17D; â&#x20AC;ŤŘŻÂ&#x2122; Řąâ&#x20AC;Ź â&#x20AC;ŤŘŻŘą داد Ů&#x2021;â&#x20AC;Ź â&#x20AC;ŤŘŻÂ&#x2122; عاتâ&#x20AC;Ź â&#x20AC;Ť Â&#x201C; ŘŞ ŘąŮ&#x2C6;Ů&#x160;â&#x20AC;ŹÂ Â&#x17D; â&#x20AC;ŤŘŻŘ§ŘŻ Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť زاع داد Ů&#x2021;â&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; Â&#x2019; دادâ&#x20AC;Ź â&#x20AC;Ť Ů&#x2020; دادâ&#x20AC;ŹĂ&#x20AC; â&#x20AC;ŤŘ˘â&#x20AC;Ź â&#x20AC;Ť دادâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; Ă&#x2019;¨â&#x20AC;ŤŘ˘ Ů&#x2C6;Ů&#x160; Ů&#x2C6; آâ&#x20AC;Ź Â&#x2DC; §Â&#x201D; â&#x20AC;Ť Ů&#x201E; داد اŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť Œ¡اعŮ&#x160; دادâ&#x20AC;Ź â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź â&#x20AC;Ť Ů&#x2021; دادâ&#x20AC;Ź â&#x20AC;ŤŘ§Â&#x201D; اŮ&#x192; داد Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť §´ داد اŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť Řš داد اŮ&#x160;â&#x20AC;Ź â&#x20AC;ŤÂ Ř´ ¡ Ů&#x160;â&#x20AC;Ź â&#x20AC;Ť Řš داد اŮ&#x160;â&#x20AC;Ź â&#x20AC;ŤÂŚ Ů&#x160; اÂ&#x2122; ŘŻâ&#x20AC;ŹÂŞâ&#x20AC;ŤŘ§â&#x20AC;Ź â&#x20AC;ŤŘ§Ř˛ داد Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť ا ´ عشâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;ŤŘŻŘ§ŘŻ Ů&#x2021;â&#x20AC;Ź Â&#x2122;â&#x20AC;ŤŘŻŘ§ŘŻ Řąâ&#x20AC;Ź â&#x20AC;Ť دادâ&#x20AC;Ź-â&#x20AC;ŤŘŻŘ§ŘŻ داعŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť دازŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź â&#x20AC;ŤŘąÂ&#x201D; ÂŚ دادâ&#x20AC;Ź â&#x20AC;ŤŘ˛ Ů&#x2020; ÂŚ Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť Ů&#x160; ÂŚ دادâ&#x20AC;ŹĂ&#x2022; Â&#x2DC;Â&#x201C;¢°â&#x20AC;ŤŮ&#x2C6;â&#x20AC;Ź â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź â&#x20AC;Ť ÂŚ دادâ&#x20AC;ŹÂĽÂ&#x201C;§Â&#x; â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź â&#x20AC;ŤŘ§ Š Ů&#x2020;â&#x20AC;Ź â&#x20AC;Ť اŮ&#x160;â&#x20AC;Ź
support Database Administrator(DBA Database approach Database constraint Database environment management Database Machine ( DBM) Database Management System (DBMS) Database Protection Database quality Database server Datalogical Datalogical Data-object DBMS vendors DBMS-web integration DC manager Deadlock Decentralized architecture Decision making Decision support Decision Support System (DSS) Declarative Decomposition Deduction Deductive database Default length Default value Deferred checking Deffered update Defining attribute Degree
Ramin.Samad@yahoo.com
394
ÂŚ â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź â&#x20AC;Ť ¨ ÂŚ Ů&#x2021;â&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź â&#x20AC;Ť ÂŚ Ů&#x2021;â&#x20AC;Ź ²Â&#x201C;Âź Â&#x2DC;
â&#x20AC;Ť ÂŚ داد Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť Â&#x201D;Â&#x201C;Â&#x2019; ÂŚ دادâ&#x20AC;Ź â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź Â&#x2DC; ÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť ÂŚ داد Ů&#x2021;â&#x20AC;Ź Â&#x2DC;Âľ Â? â&#x20AC;ŤÂ§ Ů&#x2C6;â&#x20AC;ŹÂ â&#x20AC;ŤŘ§â&#x20AC;Ź â&#x20AC;Ť ÂŚ داد Ů&#x2021;â&#x20AC;Ź â&#x20AC;ŤŘ˘Â&#x201C; Â&#x201C;Â&#x2DC; ÂŚ دادâ&#x20AC;Ź â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;Ź â&#x20AC;Ť ÂŚ داد Ů&#x2021;â&#x20AC;Ź Âą Â&#x2122; §Â&#x201D; â&#x20AC;ŤŘŻŘ§ŘŻâ&#x20AC;Ź â&#x20AC;Ť ÚŻâ&#x20AC;ŹÂŞ â&#x20AC;ŤŘŻâ&#x20AC;Ź â&#x20AC;ŤŘŻŘ§ŘŻâ&#x20AC;Ź-¤Â&#x201C;Â&#x201D; â&#x20AC;Ť Ů&#x2C6;Â&#x201D;§  Ů&#x2020;â&#x20AC;Ź  Â&#x201C;Â&#x2122; â&#x20AC;ŤŘ§ŘŻÂż Ů&#x2026; ŘŻŘą Ů&#x2C6;بâ&#x20AC;Ź â&#x20AC;Ť ا Â&#x153; Ů&#x201E; دادâ&#x20AC;Ź â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź Â&#x2DC; Â&#x2019; â&#x20AC;Ť ŘąŮ&#x160;â&#x20AC;ŹÂ ¢
Â&#x2018;â&#x20AC;Ť آâ&#x20AC;ŹÂ
â&#x20AC;Ť ÂÂ&#x201C; Ů&#x160;â&#x20AC;ŹÂĽÂ&#x201C; Ă&#x2030;Â&#x; ÂĽÂ&#x201C; Ă&#x2030;Â&#x; ´Â&#x201C; ¨ â&#x20AC;Ť ¨ Â&#x201C;´ Ů&#x2020;â&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; ÂĽÂ&#x201C; Ă&#x2030;Â&#x; Ă&#x2039;Â&#x17D;â&#x20AC;ŤŘ§â&#x20AC;Ź Âą Â&#x2018;Â&#x2014;Â&#x; â&#x20AC;ŤŘ§Â&#x2122; § ŘŹâ&#x20AC;Ź â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź § Â&#x2122;â&#x20AC;ŤŘ§â&#x20AC;Ź â&#x20AC;ŤÂ&#x152; Ů&#x201E; Â&#x201C;½ ŘŻâ&#x20AC;Ź â&#x20AC;Ť Â&#x153; اع Â&#x201C;½ ŘŻâ&#x20AC;Ź Â&#x201C; Â&#x; Â&#x2122;â&#x20AC;ŤŮ&#x2C6;اعâ&#x20AC;Ź â&#x20AC;Ť §Œ Ů&#x2026; Â&#x2122; زŮ&#x160;â&#x20AC;Ź Â&#x201C; Â&#x; â&#x20AC;Ť Ů â&#x20AC;ŹÂ˘ Â&#x2DC; ¸ Âą â&#x20AC;ŤŘŻŘąâ&#x20AC;Ź
WWW.IRANMEET.COM
395
â&#x20AC;ŤŮ&#x2C6;اÚ&#x2DC;Ů&#x2021; ďş&#x17D; اďŽ&#x2022;ďť ďť´ďş´ďť˛ ďş&#x2018; ďť&#x201C;ďş&#x17D;عﺳâ&#x20AC;Ź
Denormalization Dependency theory Derived Derived relation Descriptive Descriptive attribute Design by analysis Design tool Destructor Detabase perspctive Determinant Developement Device configuration Diadic Direct materialization Discriminator Disjoint Diskless machine Distributed Distributed Database (DDB) Divide Document server Documentation Documented procedure Domain Domain - Key Normal Form Domain oriented Domain constraint Domain variable Downsizing Driver manager DROP view Dummy record Dumping Durability
) Âą â&#x20AC;ŤŘ˘ Ů&#x2021;½ ŘŻŘąâ&#x20AC;Ź Â&#x201C;ÂŞ ( Ă&#x2020;Ă Â&#x2122; ÂŚ â&#x20AC;Ť ŘąŮ&#x160; Ů&#x2C6;اâ&#x20AC;ŹĂ&#x2013;Â&#x; Ă&#x2C6; ¨
Ă&#x2C6; ¨ ¹à â&#x20AC;ŤŘąŘ§â&#x20AC;Ź Â&#x201C;¸ Â&#x; Â&#x201C;¸ Â&#x; Â&#x2DC; ¸ Â&#x201C; ÂźÂ&#x; Â?â&#x20AC;ŤÂ&#x152; اâ&#x20AC;Ź Â?â&#x20AC;ŤŘ§ Â&#x2018;اع Â&#x152; اâ&#x20AC;Ź ÂŚ â&#x20AC;ŤŮ&#x2C6; اâ&#x20AC;Ź â&#x20AC;ŤŘŻ  Œ Ů&#x2021;â&#x20AC;Ź â&#x20AC;ŤŘŻÂ&#x; Â&#x201C;§ Ů&#x2020;â&#x20AC;Ź â&#x20AC;ŤŘ§ Â&#x2014; ŘŻâ&#x20AC;Ź Âą Â&#x2122;â&#x20AC;Ť Â&#x201C;Š § Ů&#x160; Řąâ&#x20AC;Ź â&#x20AC;Ť Ů&#x160;â&#x20AC;ŹÂ Â&#x17D; â&#x20AC;ŤŘŻŮ&#x2C6;â&#x20AC;Ź ÂĽÂ&#x201C;Â&#x153; Â&#x2019; Â&#x2122; Â&#x2018;Â&#x201C;Â
â&#x20AC;Ť Â&#x2014;Â&#x2018;اâ&#x20AC;Ź â&#x20AC;Ť Â&#x201D;Â&#x201C;Â&#x2019; Ů&#x2C6;Ů&#x2020;â&#x20AC;Ź Ă&#x192; â&#x20AC;ŤŘŻâ&#x20AC;Ź Â&#x201D; ÂŤ â&#x20AC;ŤÂ&#x; زâ&#x20AC;Ź ÂŤ â&#x20AC;Ť ÂŚ داد Â&#x; زâ&#x20AC;Ź ( §â&#x20AC;ŤÂ&#x201D; ) اآâ&#x20AC;Ź ÂĽÂ&#x201C; Â&#x153;Â&#x; â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;Ź â&#x20AC;Ť اعŮ&#x192; Ů&#x2C6; اÂ&#x2122;§ ŘŻâ&#x20AC;Ź â&#x20AC;Ť § Â&#x2122; زŮ&#x160;â&#x20AC;Ź § Âą â&#x20AC;ŤŘąŮ&#x2C6;â&#x20AC;Ź â&#x20AC;Ť Â&#x201C; اŮ&#x2020;â&#x20AC;Ź â&#x20AC;ŤÂ¸ عت Ů&#x201E;â&#x20AC;Ź â&#x20AC;ŤŘ˘ Â&#x201C; Ů&#x160;â&#x20AC;Ź-â&#x20AC;Ť Â&#x201C; اŮ&#x2020;â&#x20AC;Ź â&#x20AC;ŤÂ? ب Â&#x201C; اâ&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź â&#x20AC;Ť Â&#x201C; اâ&#x20AC;Ź â&#x20AC;ŤÂ&#x201C; Â&#x201C; اâ&#x20AC;ŹĂ&#x2DC;
â&#x20AC;ŤŘ˘ Ů&#x2021;½ا ازâ&#x20AC;Ź â&#x20AC;Ť دعا Řąâ&#x20AC;Ź â&#x20AC;ŤÂ?¡٠دâ&#x20AC;Ź ÂŚ Â&#x2122; â&#x20AC;ŤŘąŘ˘ عدâ&#x20AC;Ź â&#x20AC;Ť داعŮ&#x160;â&#x20AC;ŹÂąĂ?
( â&#x20AC;Ť ) ŘŻŮ&#x2C6;اŮ&#x2026;â&#x20AC;Ź
Dynamic data Dynamic SQL
â&#x20AC;ŤŘŻŘ§ŘŻâ&#x20AC;Ź SQL E
Elementary type E-mail server Embedded Embedded Multi Valued Dependency ( EMVD) End user Engine Enhanced (Extended) ER Entity Identifier (EID) Entity integrity rule Entity relationship Entity type Entity types set Equational Dependency (ED) Equi-Join ER diagram Essential Event journaling Event- conditionaction rules Event Flow Diagram (EFD) Evolutionary Prototyping Execution plan Executive Information System Existance dapendency Existential Exploitation Expression relation Extended cartesian product Extended data type
Ramin.Samad@yahoo.com
â&#x20AC;Ť Řš ا اâ&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;Ź ŠÂ&#x201C; â&#x20AC;ŤÂŠ Ů&#x2C6;â&#x20AC;ŹÂŞâ&#x20AC;ŤŘ§â&#x20AC;Ź Â&#x201D; â&#x20AC;ŤŘ§ŘŻÂż Ů&#x2026;â&#x20AC;Ź §Ă&#x20AC; ÂŚ â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź â&#x20AC;Ť Â&#x153; اعŮ&#x160; اد¿ Ů&#x2026;â&#x20AC;Ź Â&#x201D; â&#x20AC;ŤŘ˘ Řąâ&#x20AC;Ź â&#x20AC;Ť Â&#x; Řąâ&#x20AC;Ź EER â&#x20AC;ŤŘąŮ&#x2C6;Ř´â&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť ŘŻâ&#x20AC;ŹÂąÂ&#x2122; §Â&#x201D; Â&#x2DC;Â&#x201C;¢ Â&#x17D; Â&#x161; â&#x20AC;Ť ŘŻâ&#x20AC;Ź -Â&#x2DC; â&#x20AC;Ť ŘŻâ&#x20AC;Ź (ER) â&#x20AC;ŤŘ§ŘąÂ&#x;´ ءâ&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť Řš ŘŻâ&#x20AC;Ź â&#x20AC;Ť ا اؚâ&#x20AC;ŹÂąÂ&#x17D;  Â&#x2014;
â&#x20AC;Ť ŘŻâ&#x20AC;Ź ÂŚ â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź â&#x20AC;Ť ا Ů&#x160;â&#x20AC;Ź â&#x20AC;Ť Â&#x201D; ءâ&#x20AC;ŹÂą Â&#x201C; â&#x20AC;ŤÂ&#x; Ů&#x2C6;Ů&#x160;â&#x20AC;Ź ER â&#x20AC;Ť داعâ&#x20AC;ŹÂ
Â&#x2122; Â&#x2122;â&#x20AC;ŤŘ§â&#x20AC;Ź â&#x20AC;ŤŘąŮ&#x2C6; اد ÂŚ ŘąŮ&#x160;â&#x20AC;Ź -â&#x20AC;ŤÂ&#x161; اÂ&#x17D; ŘąŮ&#x2C6; ادâ&#x20AC;Ź â&#x20AC;ŤŘ§Â&#x161; اŮ&#x2026;â&#x20AC;Ź-â&#x20AC;ŤÂ&#x201D; ءâ&#x20AC;Ź â&#x20AC;Ť داع ŘąŮ&#x2C6;â&#x20AC;ŹÂ
â&#x20AC;ŤŘąŮ&#x2C6; ادâ&#x20AC;Ź â&#x20AC;Ť Â&#x2122; زŮ&#x160;â&#x20AC;ŹÂą Â
Â&#x201D;  â&#x20AC;ŤÂ&#x152; Ř Ř§ اâ&#x20AC;Ź â&#x20AC;ŤÂ&#x17D; ŘŞâ&#x20AC;ŹĂ&#x2039;Â&#x152;â&#x20AC;Ť اâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;ŤŘ§ اâ&#x20AC;Ź â&#x20AC;ŤŮ&#x2C6;ا ÂŚ Ů&#x2C6; ŘŻâ&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; Řą Ů&#x2C6; ŘŻŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť داعŮ&#x160;â&#x20AC;Ź Â&#x;â&#x20AC;Ť Â&#x17D;´ Řąâ&#x20AC;ŹÂąĂ â&#x20AC;ŤŘąŘ§â&#x20AC;Ź Â&#x2019; Â&#x2018;Â&#x; â&#x20AC;Ť ب آâ&#x20AC;ŹÂ° Âą â&#x20AC;ŤÂ Ř´â&#x20AC;Ź â&#x20AC;Ť Řš داد اŮ&#x160;â&#x20AC;Ź Âą â&#x20AC;ŤÂ Ř´â&#x20AC;Ź
WWW.IRANMEET.COM
â&#x20AC;Ťď&#x2DC;ďş&#x17D;ďťłďŽ&#x2022;ďş&#x17D;Ů&#x2021; دادŮ&#x2021;ďş&#x17D;â&#x20AC;Ź Extension External level External/Conceptual mapping (E / C ) External / External External schema External view F Facts FAGIN Fail ( Failure) Fan trap Fault tolerance
FD ' s diagram FD' s preserving decomposition Federated Fifth Normal Form File server Filing System (FS) First Normal Form Five- minute rule Flat Flat Linear record Foreign Key ( FK ) Form generator Form driven Formal Four(4)GL Fourth Normal Form Free Front-end Full outer join Fully Functional Dependency (F FD ) Fully relational system Functional Dependency ( FD )
â&#x20AC;ŤÂ ŘŻâ&#x20AC;Ź â&#x20AC;Ť Řąâ&#x20AC;ŹĂ&#x2020;Ă Â&#x2122; â&#x20AC;Ť ÂŚ Â&#x201D;Â&#x2DC; Řąâ&#x20AC;Ź â&#x20AC;Ť ادعاآâ&#x20AC;Ź/ / â&#x20AC;Ť Řąâ&#x20AC;Ź â&#x20AC;Ť Řąâ&#x20AC;Ź â&#x20AC;Ť Ů&#x160; Řąâ&#x20AC;ŹÂ Â&#x201D; â&#x20AC;ŤŘŻ Řąâ&#x20AC;Ź â&#x20AC;ŤÂ&#x201C; ŘŞâ&#x20AC;ŹÂ˘Â&#x161;â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź Â&#x2019;Â&#x201C; (Ă&#x2122;Â&#x153; ) Ă?Â&#x201C;Â&#x17D; â&#x20AC;ŤÂ§ Ů&#x160;â&#x20AC;ŹĂ&#x20AC;-Ă&#x192; â&#x20AC;ŤŘŻŘ§Ů&#x2026;â&#x20AC;Ź â&#x20AC;Ť اâ&#x20AC;ŹÂ ÂźÂ&#x; â&#x20AC;Ť داعâ&#x20AC;ŹÂ
â&#x20AC;ŤŮ&#x2C6;ا ÂŚÂ&#x201C; Ů&#x160;â&#x20AC;Ź ¢ Â&#x; Ă&#x161; Â? Âą Â&#x2018;Â&#x2014;Â&#x; Â&#x201C;ÂŚ â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź â&#x20AC;Ť عاŮ&#x201E;â&#x20AC;Ź ÂĽÂ&#x2014;§ â&#x20AC;ŤÂ¸ عتâ&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;Ź â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;Ź Ă&#x203A;§Â&#x201C; ÂĽ Â&#x201C;Â&#x2122; Â&#x2DC; Ă? â&#x20AC;ŤÂ¸ عتâ&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;Ź ÂąÂ&#x153;Â&#x201C;Â&#x161;â&#x20AC;Ť ŘŻâ&#x20AC;ŹĂ&#x153;§ Â&#x17D; Â&#x161; Ă&#x2020;Ă
Ă â&#x20AC;ŤŘąŘ˘ عدâ&#x20AC;Ź Ă&#x2020;Ă
â&#x20AC;ŤŘ˘ Â&#x201C; Řąâ&#x20AC;Ź â&#x20AC;Ť Ů&#x2026;â&#x20AC;ŹÂŞ
Â&#x201D; Â&#x2DC; â&#x20AC;ŤŮ&#x2021; اâ&#x20AC;Ź â&#x20AC;Ť Ů&#x2026;â&#x20AC;Ź â&#x20AC;ŤÂ¸ ŘąŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť ŘąŮ&#x2026;â&#x20AC;ŹĂ&#x20AC; â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź â&#x20AC;Ť ŘąŮ&#x2026;â&#x20AC;ŹĂ&#x20AC; â&#x20AC;ŤÂ¸ عتâ&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;Ź â&#x20AC;ŤÂŻŘ˛Ř§ŘŻâ&#x20AC;Ź ¨Â&#x201C; â&#x20AC;Ť ا Â&#x201C; آâ&#x20AC;Ź ¢ Â&#x; ÂŚ â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź ( â&#x20AC;ŤÂ&#x; Ů&#x2026; )آâ&#x20AC;Ź â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;Ť عاâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;ŤÂ&#x; Ů&#x2026;â&#x20AC;Ź ¢ Â&#x; ÂŚ â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź
Functional analysis Functionalality Fuzzy data mining and knowledge discovery system G Gantt chart Gateway General purpose General unification Generalization Global application Global conceptual schema Global System Catalog ( G S C ) GRANT Graphic driven Greater then Join Greater then or Equal Grow and shrink H Harmonic mean Heading HEATH theorem Help Heterogenous Heterogenous parrallel systems control database Hidden data Hierarchycal Data Structure (HDS) Hierarchycal Database (HDB) Homogenous Horizontal decomposition Horizontal fragmentation Host Language
Ramin.Samad@yahoo.com
396
â&#x20AC;Ť Š ŘŻŮ&#x160;â&#x20AC;ŹÂ Â&#x17D; Â&#x201C; ÂźÂ&#x; Â&#x; Â&#x201C;  Â&#x17D; â&#x20AC;ŤŮ&#x160;â&#x20AC;ŹĂ?â&#x20AC;Ť Ú&#x2DC;Ů&#x2C6;â&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;ŤŘŻŘ§ŘŻ آ Ů&#x2C6;Ů&#x160; Ů&#x2C6;â&#x20AC;Ź ½ â&#x20AC;Ť داâ&#x20AC;ŹĂ&#x2019;¨â&#x20AC;ŤŘ˘â&#x20AC;Ź Â&#x2DC;  â&#x20AC;Ť عتâ&#x20AC;ŹĂ&#x20AC; â&#x20AC;ŤÂ اعâ&#x20AC;Ź â&#x20AC;Ť § Řąâ&#x20AC;ŹÂąÂ â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź  Â&#x17D; â&#x20AC;Ť Š Ů&#x2020;â&#x20AC;Ź ÂĽÂ&#x201C; ¢Â&#x; â&#x20AC;ŤŘ˘ Řą ŘŻŮ&#x160;â&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; Â&#x; Â&#x2122; Ů&#x160;â&#x20AC;Ź â&#x20AC;Ť Ů&#x160; ادعاآâ&#x20AC;ŹÂ Â&#x201D; ÂŤ ÂŤ â&#x20AC;Ť ÚŻâ&#x20AC;ŹÂŞ Â&#x; â&#x20AC;ŤŘ˘â&#x20AC;Ź â&#x20AC;Ť ŘĄâ&#x20AC;ŹĂ Â&#x17D;â&#x20AC;ŤŘ§â&#x20AC;Ź ŠÂ&#x201C; â&#x20AC;ŤŘ˘ Řą  اâ&#x20AC;Ź â&#x20AC;Ť Â&#x201D; ءâ&#x20AC;ŹÂą Â&#x201C; Ââ&#x20AC;Ť Â&#x2018;Řąâ&#x20AC;Ź â&#x20AC;Ť Â&#x201D; ءâ&#x20AC;ŹÂą Â&#x201C; â&#x20AC;Ť Ů&#x2C6;Ů&#x160;â&#x20AC;Ź Ââ&#x20AC;Ť Â&#x2018;Řąâ&#x20AC;Ź ½â&#x20AC;ŤŘąÂ&#x201D; Ů&#x2C6; آ Ů&#x2021;â&#x20AC;Ź ²Â&#x2122;
Ă&#x192;Â&#x201C; â&#x20AC;ŤŮ&#x2021; Řąâ&#x20AC;Ź § ÂŻ Â&#x2122; Ă Â&#x201C;â&#x20AC;Ť Ů&#x2021;â&#x20AC;ŹÂąÂ&#x201C;Ă&#x2022;Â&#x161; â&#x20AC;ŤŘ˘ Řą Řąâ&#x20AC;Ź Â&#x2019;ÂŚÂ â&#x20AC;Ť Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť ÂŚ داد Ů&#x2021; Ů&#x160;â&#x20AC;Ź ÂĽ Â&#x201C;Â&#x2122; â&#x20AC;ŤŘ˘Â§ Ů&#x201E;â&#x20AC;Ź Â&#x2019;ÂŚÂ â&#x20AC;ŤŮ&#x2021; Ů&#x160; Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť ازŮ&#x160;â&#x20AC;Ź â&#x20AC;ŤŘŻŘ§ŘŻ Ů&#x2020;â&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; Řą داد اŮ&#x160;â&#x20AC;Ź ´Â&#x;â&#x20AC;Ť اâ&#x20AC;ŹÂą Â&#x2122; Âą Â&#x2122; â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź ´Â&#x;â&#x20AC;Ť اâ&#x20AC;Ź Â&#x2019;ÂŚÂ â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź Â&#x153; â&#x20AC;Ť اâ&#x20AC;ŹÂą Â&#x2018;Â&#x2014;Â&#x; â&#x20AC;Ť ŘąÂ&#x2122; زŮ&#x160;â&#x20AC;Ź Â&#x153; â&#x20AC;ŤÂ&#x201C;ÂŤ ( اâ&#x20AC;ŹĂ Â&#x153;Â&#x;) â&#x20AC;ŤŘ˛ Ů&#x2020; Â&#x201C;Â&#x2018; Ů&#x2020;â&#x20AC;Ź
WWW.IRANMEET.COM
397
â&#x20AC;ŤŮ&#x2C6;اÚ&#x2DC;Ů&#x2021; ďş&#x17D; اďŽ&#x2022;ďť ďť´ďş´ďť˛ ďş&#x2018; ďť&#x201C;ďş&#x17D;عﺳâ&#x20AC;Ź
Host database Host server Hybrid fragmentation Hyper graph Database Structure I Identifying Identifying entity Identifying relationship Identity projection Immediate checking Immediate update Implementation Implementation diagram Import / Export interface Inapplicable Inclusion Dependency Normal Form Inclusion Dependency ( ID) Independent (Stand alone ) Index rebuilding Indirect materialization Induction Inference rules Informal Information space Information Storage and Retrieval (ISR) Information System Information Technology (IT) Informative Inner query Inplace updating Instance
â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź â&#x20AC;Ť Â&#x201C;Â&#x2018; Ů&#x2020;â&#x20AC;Ź â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;Ź â&#x20AC;Ť Â&#x201C;Â&#x2018; Ů&#x2020;â&#x20AC;Ź â&#x20AC;Ť ŘąÂ&#x2122; زŮ&#x160;â&#x20AC;Ź ´Â&#x201C;â&#x20AC;ŤÂ&#x; آâ&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; Řą داد اŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť  اâ&#x20AC;ŹĂ&#x2026; â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź â&#x20AC;ŤÂ&#x201D;§ Â&#x2122; Ů&#x160;â&#x20AC;Ź Â&#x2122; §Â&#x201D; Â&#x2DC; â&#x20AC;Ť ŘŻâ&#x20AC;Ź Â&#x2122; §Â&#x201D; â&#x20AC;ŤŘ§ŘąÂ&#x;´ ءâ&#x20AC;Ź  â&#x20AC;Ť Â&#x; Ů&#x2021;â&#x20AC;Ź Â&#x2122;â&#x20AC;ŤŮ&#x2C6;اعâ&#x20AC;Ź Âą ¸ Ă&#x2039; â&#x20AC;Ť §Œ Ů&#x2026; Â&#x2122; زŮ&#x160;â&#x20AC;Ź Âą ¸ Ă&#x2039; â&#x20AC;Ť Â&#x201C; ŘŻ Â&#x2122; زŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť داع Â&#x201C; ŘŻâ&#x20AC;ŹÂ
â&#x20AC;ŤÂ&#x2122; زŮ&#x160;â&#x20AC;Ź / â&#x20AC;Ť Ů&#x2C6;ŘąŮ&#x2C6;ŘŻâ&#x20AC;ŹÂ˛Â&#x2122;â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź â&#x20AC;ŤÂ¸ Ů&#x2C6;Řąâ&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂ Â&#x17D;â&#x20AC;ŤÂżÂ&#x201C; Â&#x161; اâ&#x20AC;Ź â&#x20AC;ŤÂ¸ عت Ů&#x201E;â&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂ Â&#x201D; ÂŚ â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂ Â&#x201D; ÂŚ â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź ( â&#x20AC;Ť Â&#x153; ) دآâ&#x20AC;Ź â&#x20AC;Ť زÂ&#x2122; زŮ&#x160;â&#x20AC;Ź Ă&#x2122; Â&#x201D; Â&#x201C;Âż Â&#x2019; Â&#x2122; ÂĽÂ&#x201C;Â&#x153;
â&#x20AC;ŤŘ§Â&#x2122; Â&#x153; اإâ&#x20AC;Ź â&#x20AC;ŤÂ&#x161; اÂ&#x17D; اÂ&#x2122; § ŘŹâ&#x20AC;Ź â&#x20AC;ŤÂżÂ&#x201C; ¸ ŘąŮ&#x160;â&#x20AC;Ź Â&#x; Â&#x17D;Ă&#x2039;Â&#x152;â&#x20AC;Ť Ů&#x160; اâ&#x20AC;ŹĂ&#x2022; â&#x20AC;ŤŘ° Â&#x201C; Ů&#x2C6; زâ&#x20AC;Ź â&#x20AC;ŤÂ&#x17D; ŘŞâ&#x20AC;ŹĂ&#x2039;Â&#x152;â&#x20AC;ŤŘ§â&#x20AC;Ź Â&#x; Â&#x17D;Ă&#x2039;Â&#x152;â&#x20AC;Ť اâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť Ú&#x2DC;Ů&#x160;â&#x20AC;ŹÂŞ Â§ÂŠÂ&#x; â&#x20AC;ŤÂ&#x17D; ŘŞâ&#x20AC;ŹĂ&#x2039;Â&#x152;â&#x20AC;ŤŘ§â&#x20AC;Ź  §â&#x20AC;ŤŘ§ŘąÂ&#x;´ ء ŘŻŮ&#x2021;â&#x20AC;Ź â&#x20AC;Ť Â&#x2122;½ ŘŻŘąŮ&#x2C6;â&#x20AC;Ź â&#x20AC;Ť §Œ Ů&#x2026; Â&#x2122; زŮ&#x160;â&#x20AC;Ź â&#x20AC;ŤŘŻŘąâ&#x20AC;Ź Âą Â
Instances set Integrated Integrated system Integrity Integrity rule ( constraint ) Integrity constraint Intelligent system Intension Inter related Interaction Interactive Interactive mode Intermediate relation Internal level Internal view Internal schema Interoperability Interpretation Intrinsic Intuitive Inverted list data structure Irreducible Irreduciblity IS-A IS-A PART-OF Islands of information Isolation J Java-script Job Join Join attribute Join Dependency Join selectivity factor
Âą  ¹Â&#x17D;  Â&#x2014;
ÂąĂ&#x20AC;â&#x20AC;Ť Řąâ&#x20AC;ŹĂ&#x2026;Š -ÂŤÂ Â&#x2014;
¹¢ ÂĽ Â&#x201C;Â&#x2122; (ÂąĂ&#x20AC;â&#x20AC;Ť Řąâ&#x20AC;ŹĂ&#x2026;Š ) Â&#x2DC;Â&#x201C;¢ Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź- Â&#x17D; Â&#x161; Â&#x2DC;Â&#x201C;¢ Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź Â&#x201C;¢ § Â&#x201D; â&#x20AC;Ť Ů&#x2021;â&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; ¹à â&#x20AC;ŤŘąŘ§â&#x20AC;Ź ²´Â&#x; ÂĽ ½§â&#x20AC;ŤŘ§ عآâ&#x20AC;Ź ( ¢Â&#x;) ¨§â&#x20AC;ŤŘ§ عآâ&#x20AC;Ź ¢Â&#x; â&#x20AC;ŤŘ§Â&#x2122; بâ&#x20AC;Ź §Â&#x201C; §Â&#x201C; ¹à â&#x20AC;ŤŘąŘ§â&#x20AC;Ź â&#x20AC;Ť داâ&#x20AC;ŹĂ&#x2020;Ă Â&#x2122; â&#x20AC;ŤŘŻ داâ&#x20AC;Ź â&#x20AC;Ť Ů&#x160; داâ&#x20AC;ŹÂ Â&#x201D; ¢Â&#x; Â&#x201C; Â&#x; Â&#x;â&#x20AC;ŤŘ°Ř§â&#x20AC;Ź â&#x20AC;ŤÂ&#x201D; ŘŻŮ&#x160;â&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; Řą داد اŮ&#x160;â&#x20AC;Ź â&#x20AC;ŤÂ&#x201C; Ů&#x160; Ů&#x2C6;اعŮ&#x2C6;Ů&#x2020;â&#x20AC;ŹÂŞ Âˇ ½â&#x20AC;ŤŘ˘ Ů&#x2021;â&#x20AC;Ź â&#x20AC;ŤŘ˘ Ů&#x2021;½ ¡ Ů&#x160;â&#x20AC;Ź ...Ă&#x192; Â&#x2DC; â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź ...â&#x20AC;Ť Â&#x2018; اÂ&#x2122;Â&#x2DC; ازâ&#x20AC;Ź Â&#x; Â&#x17D;Ă&#x2039;Â&#x152;â&#x20AC;Ť Â&#x2018;ا اâ&#x20AC;Ź (â&#x20AC;Ť ا )ا ادâ&#x20AC;Ź Â&#x2DC;Ă&#x2026; ŠÂ&#x2122;â&#x20AC;Ť Ů&#x2C6;ا اâ&#x20AC;Ź â&#x20AC;ŤŘ˘ Řąâ&#x20AC;Ź Â&#x201C; Â&#x201C; Â&#x2DC; ¸ â&#x20AC;ŤŮ&#x2C6;ا ÂŚ Â&#x201C; Ů&#x160;â&#x20AC;Ź Ă? ° â&#x20AC;Ť Š ŘŻâ&#x20AC;ŹÂ Â&#x17D; ½§ Â&#x2018; Â&#x201C;
K Key-based inclusion
Ramin.Samad@yahoo.com
â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂ Â&#x201D; ÂŚ â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź Â&#x201C; â&#x20AC;Ť ´ § آâ&#x20AC;Ź
WWW.IRANMEET.COM
â&#x20AC;Ťď&#x2DC;ďş&#x17D;ďťłďŽ&#x2022;ďş&#x17D;Ů&#x2021; دادŮ&#x2021;ďş&#x17D;â&#x20AC;Ź dependency Key preserving Key-Complete Normal Form Knowledge Base Management System (KBMS) Knowledge-based system L Large Database Layer Left augmentation Left outer join Less than Join Less than or Equal Join Library function Link Load Local Local application Local conceptual schema Local database Location anatomy Lock granularity Lock granular Locking Locking technique Locking / Logging Logic programming Language logical Data Independence Logical construct Logical design Logical design refinement
Â&#x201C; â&#x20AC;ŤŘŻŘ§ŘąŘ§Ů&#x160; آâ&#x20AC;Ź â&#x20AC;ŤÂ¸ عت Ů&#x201E;â&#x20AC;Ź Â&#x201C; â&#x20AC;Ť آâ&#x20AC;ŹĂ&#x2039; â&#x20AC;ŤŘ˘â&#x20AC;Ź Â&#x2DC; ÂĽ Â&#x201C;Â&#x2122; Â&#x2DC; §Â&#x201D; ÂŚ §Â&#x201D; ÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź â&#x20AC;Ť Â&#x2018;ŘąÚŻâ&#x20AC;Ź Âą Ă? âĂ&#x20AC; ½ â&#x20AC;ŤŘ§ Â&#x2018;اâ&#x20AC;Ź âĂ&#x20AC; Â&#x201C; â&#x20AC;Ť اâ&#x20AC;Ź â&#x20AC;Ť Â&#x201D; ءâ&#x20AC;ŹÂą Â&#x201C; ŠĂ&#x20AC; â&#x20AC;ŤŘ˘â&#x20AC;Ź â&#x20AC;Ť Â&#x201D; ءâ&#x20AC;ŹÂą Â&#x201C; â&#x20AC;Ť Ů&#x2C6;Ů&#x160;â&#x20AC;Ź ŠĂ&#x20AC; â&#x20AC;ŤŘ˘â&#x20AC;Ź â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂą Ă? â&#x20AC;ŤÂ&#x; ÂŤ آâ&#x20AC;Ź Â&#x201C; â&#x20AC;Ť ŘąÂ¡اعŮ&#x160;â&#x20AC;Ź Âź
Âź â&#x20AC;ŤŘ˘ Řą ŘŻŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť Ů&#x160; ادعاآâ&#x20AC;ŹÂ Â&#x201D; Âź
Âź â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź â&#x20AC;Ť ŘąŮ&#x160;â&#x20AC;ŹĂ? â&#x20AC;Ť ŘŻâ&#x20AC;Ź Âź
Â&#x161; Â?â&#x20AC;ŤŘ§ از Ů&#x2C6;اâ&#x20AC;Ź ¡ Â&#x201D; Â&#x161; Â?â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź ( ¡ Â&#x161; ) â&#x20AC;ŤÂ&#x161; ¡اعŮ&#x160;â&#x20AC;Ź Â&#x161; Ă&#x192;Â&#x201C;§ŠÂ&#x; â&#x20AC;ŤÂ¡اعŮ&#x160;â&#x20AC;Ź Â&#x201C;ÂŞ Â&#x;-â&#x20AC;ŤÂ&#x161; ¡اعŮ&#x160;â&#x20AC;Ź Â&#x2DC;´š â&#x20AC;Ť Ů&#x160;â&#x20AC;Ź Âą â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź Ă&#x2C6;à § â&#x20AC;ŤÂ&#x2122; زŮ&#x160;â&#x20AC;Ź â&#x20AC;ŤŮ&#x201E; داد اŮ&#x160;â&#x20AC;ŹĂ&#x2039;Â&#x153; Â&#x2122;â&#x20AC;ŤŘ§â&#x20AC;Ź Â&#x153;à §
Â&#x153;à § Â&#x2DC; Â&#x2122; Â&#x153;à § Â?â&#x20AC;ŤÂ&#x152; اâ&#x20AC;Ź Â?â&#x20AC;Ť ´ ŘŻ Â&#x152; اâ&#x20AC;Ź Â&#x153;à §
Logical sequence Logical unit of work Lookup table Loop trap Loosely coupled Lost decomposition M Main computer Main frame centric Main Memory Database (MMDB) Manipulative Many to many Map driven Mapping Materialized view Meaning Mediator Member Membership condition Menu driven Menu generator Message server Meta byte Meta-constraint Meta data Meta rules Micro real world Middleware Mini computer Minimal Minimal relational system Missing data Missing information Mixed design method Mobile office Mobile database
Ramin.Samad@yahoo.com
398
Â&#x153;à § ÂŞâ&#x20AC;ŤÂ&#x; اâ&#x20AC;Ź â&#x20AC;ŤÂ&#x153; آ Řąâ&#x20AC;ŹĂ § Â?â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź Â&#x2014; â&#x20AC;Ť Ů&#x2C6;Ů&#x201E;â&#x20AC;Ź â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂąÂ&#x153; Â? â&#x20AC;ŤŘŻŘ§Ů&#x2026;â&#x20AC;Ź Â&#x2DC; Â&#x2122; Â&#x201C; â&#x20AC;Ť Â?¡٠â&#x20AC;ŹÂą Â&#x2018;Â&#x2014;Â&#x; â&#x20AC;ŤÂ&#x201C; Â&#x; Â&#x2018;ŘąÚŻâ&#x20AC;ŹĂ&#x2026; â&#x20AC;ŤŘ˘â&#x20AC;Ź â&#x20AC;Ť ŘąŮ&#x160; Â? Ů&#x201E;â&#x20AC;ŹÂ ¢
â&#x20AC;ŤÂ&#x201C; Â&#x; Â&#x2018;ŘąÚŻâ&#x20AC;ŹĂ&#x2026; â&#x20AC;ŤŘ˘â&#x20AC;Ź â&#x20AC;Ť ÂŚ داد Ů&#x2021; Ů&#x160;â&#x20AC;Ź ¸â&#x20AC;Ť اâ&#x20AC;ŹÂąÂť Â? Â&#x; Â&#x201C;  Â&#x17D; §Ă&#x20AC; Âą §Ă&#x20AC; Â&#x201D; Â&#x2DC; â&#x20AC;ŤŮ&#x2021; اâ&#x20AC;Ź ¹¨Â&#x153;
Â&#x2DC;Â&#x201D; ÂŚ
â&#x20AC;Ť Â&#x17D;Â&#x201C;§Â&#x201C;Â&#x2DC; ŘŻŘąâ&#x20AC;ŹÂą â&#x20AC;ŤŘŻâ&#x20AC;Ź ÂŻ §¢
Â&#x2014; Â&#x201C;
Ă&#x2022;Â&#x17D; Â&#x2DC; Ă&#x2022;Â&#x17D; â&#x20AC;ŤÂ&#x201D; ءâ&#x20AC;Ź Â&#x201D; Â&#x2DC; â&#x20AC;ŤŮ&#x2021; اâ&#x20AC;Ź §
§ ª
â&#x20AC;Ť ÂŚÂ&#x2018;اع Â&#x201C; Ů&#x2026;â&#x20AC;Ź Â&#x2DC;
Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź â&#x20AC;Ť دادâ&#x20AC;Ź Â&#x17D;â&#x20AC;Ť Â&#x161; اâ&#x20AC;Ź ÂŤÂ&#x161;â&#x20AC;Ť ŘŻ Ů&#x2020; Ů&#x2C6;اâ&#x20AC;Ź â&#x20AC;Ť Â&#x201C; Ů&#x2020; ا Â&#x2018;اعâ&#x20AC;Ź ²Â&#x2122; Â&#x; Â&#x201C;Ă&#x2026; â&#x20AC;ŤŘ˘â&#x20AC;Ź ¹§Â&#x201C; â&#x20AC;ŤŘ˘â&#x20AC;Ź â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;Ť عاâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; Â&#x161;â&#x20AC;ŤÂ? اâ&#x20AC;Ź Â&#x2DC; â&#x20AC;ŤŘŻŘ§ŘŻâ&#x20AC;Ź Â&#x2DC; â&#x20AC;ŤŘšâ&#x20AC;ŹĂ&#x2039;Â&#x152;â&#x20AC;ŤŘ§â&#x20AC;Ź ´Â&#x201C;â&#x20AC;ŤŘąŮ&#x2C6;Ř´ Â&#x; آâ&#x20AC;Ź â&#x20AC;Ť اâ&#x20AC;ŹÂ â&#x20AC;ŤŘŻ آ Řą Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť ŘŞâ&#x20AC;Ź
WWW.IRANMEET.COM
399
â&#x20AC;ŤŮ&#x2C6;اÚ&#x2DC;Ů&#x2021; ďş&#x17D; اďŽ&#x2022;ďť ďť´ďş´ďť˛ ďş&#x2018; ďť&#x201C;ďş&#x17D;عﺳâ&#x20AC;Ź
server Mobile database system Mobile database system Mobile DB Mobility and personal database Module Module AuthID Monadic Monitoring Mono- server Multi database management system Multi Database System (MDBS) Multi ring Multi- Client / Server (MC /S) Multi- Client / Multi- Server(MC / MS) Multi- media Multi database Multi-Dimensional OLAR (MDOLAP) Multimedia-data mining Multimember set Multiple inheritance Multiple-user access Multiplicity Multi query Multi-server Multi set Multi-user Multi valued Multi valued Dependency (MVD) Multi version concurrency Multi versioning
â&#x20AC;Ť ÂŚ داد Ů&#x2021; Ů&#x160;â&#x20AC;Ź
â&#x20AC;Ť ÂŚ دادâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť ŘąŮ&#x160;â&#x20AC;ŹÂ ¢ â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;Ź ÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť اâ&#x20AC;ŹÂ â&#x20AC;Ť ÂŚ Ů&#x2021; Ů&#x160; Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź â&#x20AC;Ť ÂŚ داد Ů&#x2021; Ů&#x160;â&#x20AC;Ź â&#x20AC;Ť اâ&#x20AC;ŹÂ â&#x20AC;Ť Ů&#x2C6; Ů&#x2021;â&#x20AC;ŹĂ&#x2030;Ă?Â&#x201D; Â?â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂąÂ&#x2122; §Â&#x201D; â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹĂ&#x2019; ¢Â&#x; â&#x20AC;Ť Ů&#x160;â&#x20AC;ŹÂ Â&#x17D; Ă&#x192;Â&#x; â&#x20AC;Ť Âť عتâ&#x20AC;Ź â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;ŹĂ&#x192;Â&#x; Â&#x2DC; ÂĽ Â&#x201C;Â&#x2122; â&#x20AC;ŤÂ§ ÂŚ Ů&#x2021;â&#x20AC;ŹĂ&#x20AC; §Ă&#x20AC; â&#x20AC;Ť ŘąŮ&#x160;â&#x20AC;ŹÂ ¢
â&#x20AC;Ť ÂŚ Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂąÂ&#x153; Â? §Ă&#x20AC; Ă&#x192; -â&#x20AC;ŤÂ§ ¨ Ů&#x160;â&#x20AC;ŹĂ&#x20AC; â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;Ź -â&#x20AC;ŤÂ§ ¨ Ů&#x160;â&#x20AC;ŹĂ&#x20AC; â&#x20AC;ŤÂ§ ÂŚÂ&#x2018;اعâ&#x20AC;ŹĂ&#x20AC; â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂą Â&#x2122;â&#x20AC;ŤÂ§ Řąâ&#x20AC;ŹĂ&#x20AC; â&#x20AC;ŤÂ§ ÂŚ Ů&#x2021;â&#x20AC;ŹĂ&#x20AC; â&#x20AC;Ť دازشâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; ² Â&#x201C; ÂźÂ&#x; â&#x20AC;Ť داد آ Ů&#x2C6;Ů&#x160;â&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂą Â&#x2122;â&#x20AC;ŤÂ§ Řąâ&#x20AC;ŹĂ&#x20AC; §Ă&#x20AC; ÂąÂ&#x17D;  Â&#x2014;
â&#x20AC;Ť Ů&#x160;â&#x20AC;ŹĂ&#x2022;Â&#x17D; â&#x20AC;ŤÂ&#x2DC; )Â&#x; اع؍â&#x20AC;ŹÂšâ&#x20AC;ŤŮ&#x2C6;عاâ&#x20AC;Ź Âą  §Ă&#x20AC; ( §Ă&#x20AC; Â&#x201C; Â&#x2122;â&#x20AC;ŤŘŻâ&#x20AC;Ź â&#x20AC;ŤŘ˘ Řą ŘŻŮ&#x160;â&#x20AC;Ź â&#x20AC;ŤÂ§ Ů&#x160;â&#x20AC;ŹĂ&#x20AC; ¨Â&#x2122; §Ă&#x20AC; â&#x20AC;ŤÂ§ ÂŚÂ&#x2018;اعâ&#x20AC;ŹĂ&#x20AC; ÂąÂ&#x17D;  Â&#x2014; §Ă&#x20AC; â&#x20AC;ŤÂ§ آ Řą Ů&#x160;â&#x20AC;ŹĂ&#x20AC; â&#x20AC;ŤÂ§ Â&#x153; اعŮ&#x160;â&#x20AC;ŹĂ&#x20AC; §Ă&#x20AC; ÂŚ â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź â&#x20AC;Ť Â&#x153; اعŮ&#x160;â&#x20AC;Ź §Ă&#x20AC; â&#x20AC;Ť Ů&#x2C6; Ů&#x160;â&#x20AC;ŹÂ â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂąĂ?
ÂąĂ? §Ă&#x20AC; Ă&#x192;Â&#x201C;§ŠÂ&#x;
â&#x20AC;ŤÂ&#x2122; زŮ&#x160;â&#x20AC;Ź N Named data items Named relation Natural Join (NJ) Natural language driven Natural language like Nature Navigation Nested Relational Query Language (NRQL) Nested statement Nested query Nested relation Network Network Data Structure (NDS) Network Database Language (NDL) Network centric Network topology News server No action Non database approach Non orthogonal design Non procedural No additive Non-loss (Lossless) Nontrivial Normal relation Not Normal relation (NNR: Not-Equi-Join Nullifying Null value
â&#x20AC;Ť Â&#x153; داد اعâ&#x20AC;Ź â&#x20AC;Ť اعâ&#x20AC;ŹÂąĂ â&#x20AC;ŤŘąŘ§â&#x20AC;Ź ¢Â&#x201C;´Â&#x152; Â&#x201C; â&#x20AC;ŤŘ˘ Řą ز Ů&#x2020;â&#x20AC;Ź ¢Â&#x201C;´Â&#x152; ¢Â&#x201C;´Â&#x152; â&#x20AC;Ť ز Ů&#x2020;â&#x20AC;ŹÂąÂ´Â&#x201D; Â&#x2DC;Â&#x201C;â&#x20AC;Ť Ů&#x2021;â&#x20AC;Ź ( ¸â&#x20AC;Ť Ů&#x2C6;Ř´ )Âż اâ&#x20AC;Ź ½Â&#x2122; â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź Â&#x201C;Âż ¹à â&#x20AC;ŤŘąŘ§â&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;Ź ) Ă?â&#x20AC;ŤŘ§Â?Š Ů&#x2026; آâ&#x20AC;Ź ( Â&#x; â&#x20AC;ŤÂ&#x; ŘŻŘąâ&#x20AC;Ź Â&#x; â&#x20AC;Ť Â&#x2122;½ Â&#x; ŘŻŘąâ&#x20AC;Ź Â&#x; â&#x20AC;Ť Â&#x; ŘŻŘąâ&#x20AC;ŹÂąĂ â&#x20AC;ŤŘąŘ§â&#x20AC;Ź ¹Š´Â&#x201D; â&#x20AC;ŤÂ&#x2122; Řą داد اŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂąÂŠÂ´Â&#x201D; ÂĽ Â&#x201C;Â&#x2122; â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂąÂŠÂ´Â&#x201D; (NDL) â&#x20AC;Ť ŘąŮ&#x160; Â? Ů&#x201E;â&#x20AC;ŹÂ ¢
¹Š´Â&#x201D; ¹Š´Â&#x201D; â&#x20AC;Ť Ú&#x2DC;Ů&#x160;â&#x20AC;ŹÂŞ Â&#x; â&#x20AC;Ť ÂŚÂ&#x2018;اع ا ´ Řąâ&#x20AC;Ź â&#x20AC;ŤÂ&#x17D; Ů&#x2026; اÂ&#x161; اŮ&#x2026;â&#x20AC;Ź â&#x20AC;Ť ¨ ÂŚ Ů&#x2021;â&#x20AC;Ź Â?â&#x20AC;ŤÂ&#x152; اâ&#x20AC;Ź ¢
â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂą â&#x20AC;Ť ŘąŮ&#x2C6;â&#x20AC;Ź ( § Â&#x201D;â&#x20AC;Ť) ŘąŮ&#x2C6;â&#x20AC;Ź ¨Â?  ¨  (â&#x20AC;Ť Řâ&#x20AC;ŹĂ ) ÂĽ
â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂąĂ â&#x20AC;ŤŘąŘ§â&#x20AC;Ź Â&#x201C;Âż ¹à â&#x20AC;ŤŘąŘ§â&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;Ź â&#x20AC;Ť Â&#x201D; ءâ&#x20AC;ŹÂą Â&#x201C; â&#x20AC;ŤÂ&#x17D; Ů&#x2026; Â&#x; Ů&#x2C6;Ů&#x160;â&#x20AC;Ź â&#x20AC;ŤÂ&#x153; اع ¡اعŮ&#x160;â&#x20AC;ŹÂ Ă&#x17D;Â&#x201C;â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź â&#x20AC;ŤÂ&#x153; اعâ&#x20AC;ŹÂ Ă&#x17D;Â&#x201C;â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź
O Object
Ramin.Samad@yahoo.com
¤Â&#x201C;Â&#x201D;
WWW.IRANMEET.COM
â&#x20AC;Ťď&#x2DC;ďş&#x17D;ďťłďŽ&#x2022;ďş&#x17D;Ů&#x2021; دادŮ&#x2021;ďş&#x17D;â&#x20AC;Ź Object Oriented Database Language Object Query Language ( OQL) Object Oriented Language(OOL) Object behavior Object Data Model Object modeling Object Modeling Technique (OMT) Object Oriented Database Management System (OODBMS) Object Type Object -Relational Database Management System (ORDBMS) Object-Relational Data Model (ORDM) Occurrence On-line On Line Analytic Processing (OLAP) One to many One to one One fact - one relation One level query One- minute rule Online Analytical Processing (OLAP) Online controller Online mode Operand Operational environment Operational mode Option Order-entry
environment â&#x20AC;ŤŘ˛ Ů&#x2020; ÂŚ Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť  اâ&#x20AC;ŹÂ¤Â&#x201C;Â&#x201D; ½Â&#x2122; â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź â&#x20AC;Ť  اâ&#x20AC;ŹÂ¤Â&#x201C;Â&#x201D; â&#x20AC;Ť  اâ&#x20AC;ŹÂ¤Â&#x201C;Â&#x201D; â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź ¤Â&#x201C;Â&#x201D; â&#x20AC;ŤŘą Řąâ&#x20AC;Ź â&#x20AC;Ť Ů&#x201E; داد اŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť  اâ&#x20AC;ŹÂ¤Â&#x201C;Â&#x201D; Ă&#x2013;Â&#x201C;Â&#x201D; â&#x20AC;Ť زŮ&#x160;â&#x20AC;ŹÂŞ
â&#x20AC;Ť زŮ&#x160;â&#x20AC;ŹÂŞ Ă&#x192;Â&#x201C;§ŠÂ&#x; ¤Â&#x201C;Â&#x201D;
Â&#x2DC; ÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť ÂŚ داد Ů&#x2021; Ů&#x160;â&#x20AC;Ź â&#x20AC;Ť  اâ&#x20AC;ŹÂ¤Â&#x201C;Â&#x201D; ¤Â&#x201C;Â&#x201D; â&#x20AC;Ť Řšâ&#x20AC;Ź Â&#x2DC; ÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť ÂŚ داد Ů&#x2021; Ů&#x160;â&#x20AC;Ź â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;ŤŘąŘ§â&#x20AC;Ź- ¤Â&#x201C;Â&#x201D; â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;Ť Ů&#x201E; عاâ&#x20AC;Ź â&#x20AC;Ť  اâ&#x20AC;ŹÂ¤Â&#x201C;Â&#x201D; â&#x20AC;Ť ŘŻâ&#x20AC;ŹÂ
(Âą Â&#x2122; Â&#x201C; ) ² â&#x20AC;Ť دازÂ&#x201D; Ů&#x160;â&#x20AC;Ź ² Â&#x201C; ÂźÂ&#x; §Ă&#x20AC; Âą Ă&#x192; Ă&#x192; Âą Ă&#x192; ) â&#x20AC;Ť ŘŻâ&#x20AC;ŹĂ&#x192; Ă&#x192; :( Â&#x2DC;Â&#x201C;¢Â&#x161;â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź ¹à â&#x20AC;ŤŘąŘ§â&#x20AC;Ź Ă&#x192;Â&#x; ½Â&#x2122; Ÿà Â&#x2122; ÂąÂ&#x153;Â&#x201C;Â&#x161;â&#x20AC;Ť ŘŻâ&#x20AC;ŹĂ&#x192; Â&#x17D; Â&#x161; â&#x20AC;ŤŘ§ Š Ů&#x2020; دازشâ&#x20AC;Ź ² Â&#x201C; ÂźÂ&#x; ² ÂŞâ&#x20AC;ŤŘ˘Â§ Ů&#x2C6;â&#x20AC;Ź ) Âą Â&#x2122; Â&#x201C; â&#x20AC;ŤŘ§Â&#x2122; بâ&#x20AC;Ź ( ²  Â&#x17D; Â&#x; Â&#x201C;  Â&#x17D; ²Â&#x201C;Âź
Â&#x; Â&#x201C;  Â&#x17D; â&#x20AC;ŤŘ§Â&#x2122; بâ&#x20AC;Ź ( ¹§ Â&#x2018;Â) â&#x20AC;ŤÂÂ&#x2018; اعâ&#x20AC;Ź â&#x20AC;Ť Ů&#x2C6;ŘąŮ&#x2C6;ŘŻâ&#x20AC;ŹÂ˛Â&#x201C;Âź
Ordering Oriented graph Orthogonal design Outer query Outer union Outplace updating Overhead Overlapping Owner P Page Panel interface Parallel processing Parameter driven Parent-Child Link type (PCL) Partial Partial Key
Partial participation Participant Passive dictionary Peak performance peak time Peer-to-peer Performance Permanent ( planned) Persistent Persistent ( Permanent) table Persistent Stored Modules ( PSM ) Physical redundancy Physical Data Independence (PDI ) Physical design Piece Plex Pointer
Ramin.Samad@yahoo.com
400 â&#x20AC;ŤÂ&#x2122; عشâ&#x20AC;Ź
â&#x20AC;ŤÂŻŘąŘ§Â&#x2122; Řąâ&#x20AC;Ź-ÂĽÂť
â&#x20AC;ŤÂ ا٠Â&#x2DC; داعâ&#x20AC;Ź ¢ Â?â&#x20AC;ŤÂ&#x152; اâ&#x20AC;Ź â&#x20AC;Ť Â&#x2122;½ Â&#x201C; Ů&#x2C6;â&#x20AC;Ź â&#x20AC;Ť Řšâ&#x20AC;ŹÂ â&#x20AC;Ť ا اâ&#x20AC;Ź â&#x20AC;Ť §Œ Ů&#x2026; Â&#x2122; زŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť Ů&#x2C6;Ů&#x2020; ازâ&#x20AC;Ź â&#x20AC;Ť Â&#x2018;Ů&#x2C6; Š ŘąŮ&#x160;â&#x20AC;Ź (â&#x20AC;Ť) Â&#x201C;¨Š ŘąŮ&#x160;â&#x20AC;Ź Â&#x201D; Ă&#x2026; â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź Ă&#x192;ÂŞ
¹Ÿ ¸ ²Â&#x2122;â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź â&#x20AC;Ť دازش ازŮ&#x160;â&#x20AC;Ź Â&#x201D; Â&#x2DC; â&#x20AC;ŤŮ&#x2021; اâ&#x20AC;Ź â&#x20AC;Ť عاâ&#x20AC;Ź -â&#x20AC;Ť Řš Â&#x201C; Řąâ&#x20AC;Ź â&#x20AC;Ť ز Ů&#x160;â&#x20AC;Ź Â&#x2018; Â&#x2018; Â&#x201C; â&#x20AC;ŤŘ˘â&#x20AC;Ź Â&#x2DC;â&#x20AC;Ť ¨ عآâ&#x20AC;Ź â&#x20AC;ŤÂ&#x2018;اâ&#x20AC;ŹÂŞâ&#x20AC;ŤÂżÂ&#x201C; اâ&#x20AC;Ź ( â&#x20AC;Ť) آâ&#x20AC;Ź §§â&#x20AC;ŤÂ&#x201D; آÂ&#x2DC; آâ&#x20AC;Ź Â&#x201C;Âż â&#x20AC;ŤŘŻ Š¨§ Ů&#x160;â&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂ˘ â&#x20AC;Ť Â&#x201C;¨ Â&#x2019; آ عاâ&#x20AC;Ź â&#x20AC;ŤŘ˛ Ů&#x2020; اŮ&#x2C6;ŘŹâ&#x20AC;Ź â&#x20AC;Ť ازâ&#x20AC;ŹĂ  â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź â&#x20AC;ŤŘ˘ عاâ&#x20AC;Ź άÂ&#x201C; â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź â&#x20AC;Ť Ů&#x2C6;Ů&#x201E;  عâ&#x20AC;Ź Â&#x201C; â&#x20AC;Ť Ů&#x160; Ř°â&#x20AC;ŹÂŞ
â&#x20AC;ŤÂ&#x201D;  عâ&#x20AC;Ź ÂŚ â&#x20AC;ŤŘ§ Â&#x2018;Ů&#x2C6;â&#x20AC;Ź Š Â&#x2018;Â&#x201C; â&#x20AC;ŤŮ&#x201E; داد اŮ&#x160;â&#x20AC;ŹĂ&#x2039;Â&#x153; Â&#x2122;â&#x20AC;ŤŘ§â&#x20AC;Ź Š Â&#x2018;Â&#x201C; Š Â&#x2018;Â&#x201C; Â?â&#x20AC;ŤÂ&#x152; اâ&#x20AC;Ź ¹ŠÂ&#x; Ă&#x201E;Š -  â&#x20AC;Ť ¨ Ů&#x2020;â&#x20AC;Ź
WWW.IRANMEET.COM
401
â&#x20AC;ŤŮ&#x2C6;اÚ&#x2DC;Ů&#x2021; ďş&#x17D; اďŽ&#x2022;ďť ďť´ďş´ďť˛ ďş&#x2018; ďť&#x201C;ďş&#x17D;عﺳâ&#x20AC;Ź  â&#x20AC;ŤŘ§Â&#x201D; Řąâ&#x20AC;Ź
Portability Positional ordering Post relational Precompiled Predicate Predicate calculus Prenex form Pre-relational Prescriptive Presentation Price per TPS Price / performance ratio Primary Key ( PK ) Primary domain Prime attribute Printer server Privacy Privilege Problem context Procedural Procedure Production rules Program-data independence Programming Language (PL) Programming completeness Project Propagating update Proposition Protection Prototype Pseudo transitivity Q Qualified association Qualifier Quantifier Queries
â&#x20AC;Ť Â&#x2014; ¡ Ů&#x160;â&#x20AC;Ź Š ÂĽÂť
â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;Ť عاâ&#x20AC;Ź Ă&#x2026; â&#x20AC;Ť Â&#x201C;½ آâ&#x20AC;Ź §
â&#x20AC;Ť § اتâ&#x20AC;Ź â&#x20AC;ŤÂ¸ عتâ&#x20AC;Ź â&#x20AC;Ť Â&#x201C;¨ Ů&#x160;â&#x20AC;Ź â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;Ť Â&#x201C;½ عاâ&#x20AC;Ź â&#x20AC;ŤŘŻÂ&#x2122; ŘąŮ&#x160;â&#x20AC;Ź ½ Â
â&#x20AC;Ť ازاإâ&#x20AC;ŹÂą ¹§ Â&#x2018;â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź TPS / ¹§ Â&#x2018;â&#x20AC;Ť ´Â&#x2DC; Ů&#x2021;â&#x20AC;Ź â&#x20AC;ŤŘ˘ عاâ&#x20AC;Ź ¸â&#x20AC;ŤŘ˘ Â&#x201C; اâ&#x20AC;Ź ¸â&#x20AC;Ť Â&#x201C; اŮ&#x2020; اâ&#x20AC;Ź  Â&#x17D; Â&#x2DC; ¸ â&#x20AC;Ť Ůžâ&#x20AC;ŹĂ&#x20AC; â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;Ź ÂŚ Âź
â&#x20AC;ŤŘ§ Â&#x201C; زâ&#x20AC;Ź Âą Ă&#x2013; Â&#x2019;
â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂą â&#x20AC;ŤŘąŮ&#x2C6;â&#x20AC;Ź Âą â&#x20AC;ŤŘąŮ&#x2C6;â&#x20AC;Ź Â&#x201C;ÂŞ Â&#x; Â&#x17D;â&#x20AC;ŤÂ&#x161; اâ&#x20AC;Ź Âą â&#x20AC;ŤŮ&#x201E;â&#x20AC;ŹĂ&#x2039;Â&#x153; Â&#x2122;â&#x20AC;ŤŘ§â&#x20AC;Ź â&#x20AC;ŤŘ§Ř˛ دادâ&#x20AC;Ź Âą â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; زŮ&#x160;â&#x20AC;Ź Âą â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹÂ â&#x20AC;ŤŘ˘â&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; زŮ&#x160;â&#x20AC;Ź Â&#x; â&#x20AC;Ť §Œ Ů&#x2026; Â&#x2122; زŮ&#x160;â&#x20AC;Ź Â&#x201D; ¨ §
â&#x20AC;ŤÂÂ&#x2018;اعâ&#x20AC;Ź Â&#x2DC;Âľ Â? -Â&#x2DC; Ă? Âą Â
â&#x20AC;Ť Â&#x2122; زŮ&#x160;â&#x20AC;ŹÂą Â
â&#x20AC;Ť Ů&#x160;â&#x20AC;ŹÂ˘Â&#x; ¹´Â&#x201D;
Â&#x201C;Â&#x153; Š Â&#x201C;Â&#x161;  â&#x20AC;ŤÂ§ Ů&#x160;â&#x20AC;ŹĂ&#x20AC; â&#x20AC;Ť §Œ Ů&#x2026; Â&#x2122; زŮ&#x160;â&#x20AC;Ź
optimization Queries set Query Language (QL) Query By Example (QBE) Query modification Query optimizer Query processor Query server Query By Form (QBF) Query optimization R Range variable Range query Real Real world Real time application Real-time DBMS Real-world object Real-time database management system Record type Recovery Recursive relationship Redundancy Redundant Array of Inexpensive Disks (RAID) Redundency Free Normal Form Reengineering Reference Reference diagram Reference cycle Reference graph Reference path Referenced
Ramin.Samad@yahoo.com
¨Â&#x2122; ½Â&#x2122; ÂąÂ&#x17D;  Â&#x2014;
½Â&#x2122; â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź Ă&#x192; â&#x20AC;Ť آâ&#x20AC;ŹÂą ½Â&#x2122; â&#x20AC;Ť Ů&#x201E;â&#x20AC;ŹĂ&#x152;
½Â&#x2122; Â&#x201C;Â&#x201C;Ă&#x2DC;Â&#x; â&#x20AC;Ť Â&#x2122; زâ&#x20AC;ŹÂąÂ§Â&#x201C; ½Â&#x2122; ÂŚÂ&#x201D;â&#x20AC;Ť دازâ&#x20AC;Ź ½Â&#x2122; â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;Ź ½Â&#x2122; Ă&#x192; â&#x20AC;Ť آâ&#x20AC;ŹÂą ½Â&#x2122; â&#x20AC;Ť Ů&#x2026;â&#x20AC;Ź â&#x20AC;Ť Â&#x2122; زŮ&#x160;â&#x20AC;ŹÂąÂ§Â&#x201C; ½Â&#x2122; Â&#x201C;Â&#x152; Â&#x201C;Ă&#x2DC;
Â&#x201C;Â&#x152; ½Â&#x2122; ¢Â&#x161;â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź ÂŤÂ&#x161;â&#x20AC;Ť Ů&#x2020; Ů&#x2C6;اâ&#x20AC;Ź â&#x20AC;ŤŘ˘ Řą ŘŻâ&#x20AC;Ź Ă&#x203A; â&#x20AC;ŤŘŻŘąâ&#x20AC;ŹĂ&#x2039; â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź Ă&#x203A; â&#x20AC;ŤŘŻŘąâ&#x20AC;Ź ÂŤÂ&#x161;â&#x20AC;ŤŘ§Â&#x201D;Â&#x201C; ŘĄ Ů&#x2020; Ů&#x2C6;اâ&#x20AC;Ź Â&#x2DC; ÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť ÂŚ داد Ů&#x2021; Ů&#x160;â&#x20AC;Ź Ă&#x203A; â&#x20AC;Ť ŘŻŘąâ&#x20AC;Ź â&#x20AC;Ť Řš عآ عدâ&#x20AC;Ź ÂĽÂ&#x201C; Â&#x; ¨Ââ&#x20AC;ŤŘ§ŘąÂ&#x;´ ء زâ&#x20AC;Ź ÂŚ â&#x20AC;ŤŘ§ Â&#x2018;Ů&#x2C6;â&#x20AC;Ź â&#x20AC;Ť ŘŻ Š Ů&#x160;â&#x20AC;ŹÂą â&#x20AC;ŤÂŻŘąŘ§â&#x20AC;Ź Âą â&#x20AC;ŤŘ§ŘąŘ˛Ř§Ů&#x2020; ا Â&#x2018;Ů&#x2C6;â&#x20AC;Ź â&#x20AC;ŤÂ¸ عت Ů&#x201E;â&#x20AC;Ź ÂŚ â&#x20AC;Ť ا Â&#x2018;Ů&#x2C6;â&#x20AC;Ź â&#x20AC;Ť § Â&#x2122; ŘŻŮ&#x2C6; Řąâ&#x20AC;Ź â&#x20AC;ŤŘ§Řą Řšâ&#x20AC;Ź â&#x20AC;Ť داع اع Řšâ&#x20AC;ŹÂ
â&#x20AC;Ť اع Řšâ&#x20AC;ŹÂąÂ&#x153; Â? â&#x20AC;ŤÂ ا٠اع Řšâ&#x20AC;Ź â&#x20AC;Ť Â&#x201C;  ا٠â&#x20AC;Ź ÂŤ
WWW.IRANMEET.COM
â&#x20AC;Ťď&#x2DC;ďş&#x17D;ďťłďŽ&#x2022;ďş&#x17D;Ů&#x2021; دادŮ&#x2021;ďş&#x17D;â&#x20AC;Ź Referencing Referential integrity rule Reflexive association Reflexivity Relationally completeness Relation assignment Relation constraint Relation predicate Relation schema Relation state Relation type generator Relation value (Relval ) Relation variable ( Relvar ) Relational expression Relational synthesis Relational algebra Relational assignment Relational calculus Relational Data Structure (RDS) Relational Database Management System (RDBMS) Relationship type Reload Remote call Remote data access Remote data access Remote Data Access System (RDAS) Renaming Replica Replication Report generator Repreting group
§§â&#x20AC;ŤŘą Řš آâ&#x20AC;Ź Â&#x201C;¢ Â&#x17D; Â&#x161; Â&#x17D; â&#x20AC;ŤŘ§Řąâ&#x20AC;Ź Â&#x2122; Š¢ â&#x20AC;Ť ÂŚ اâ&#x20AC;Ź â&#x20AC;ŤÂŠ Řłâ&#x20AC;ŹÂ˘ â&#x20AC;ŤŘ§â&#x20AC;Ź â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;Ť Ů&#x201E; عاâ&#x20AC;ŹÂ â&#x20AC;ŤŘ˘â&#x20AC;Ź ¹à â&#x20AC;ŤŘ§ ب عاâ&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;ŤŘąŘ§â&#x20AC;Ź â&#x20AC;ŤÂ&#x2122;§ اعÂ&#x;´ ءâ&#x20AC;Ź ¹à â&#x20AC;Ť Ů&#x160; عاâ&#x20AC;ŹÂ Â&#x201D; ¹à â&#x20AC;ŤÂ&#x2DC; عاâ&#x20AC;ŹÂŞ Â? ¹à â&#x20AC;Ť Řš عاâ&#x20AC;ŹÂŞ
â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;Ť Â&#x153; اع عاâ&#x20AC;Ź â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;ŤÂ&#x201C; عاâ&#x20AC;ŹĂ&#x2DC;
´ â&#x20AC;ŤÂ&#x17D;´ عتâ&#x20AC;Ź â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;ŤŘąŘ§â&#x20AC;Ź Â&#x2018; §Â&#x2122; â&#x20AC;ŤŘąŮ&#x2C6;Ř´â&#x20AC;Ź â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;ŤŘąŘ§â&#x20AC;Ź â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;Ť ´ عاâ&#x20AC;Ź â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;ŤŘ§ ب عاâ&#x20AC;Ź â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;ŤÂ? ب عاâ&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; Řą داد اŮ&#x160;â&#x20AC;Ź Â&#x152; ´Â&#x;â&#x20AC;ŤŘ§Řąâ&#x20AC;Ź Â&#x2DC; ÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť ÂŚ داد Ů&#x2021; Ů&#x160;â&#x20AC;Ź â&#x20AC;ŤŘ§Ů&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;ŤŘąŘ§â&#x20AC;Ź â&#x20AC;Ť Řš اعÂ&#x;´ ءâ&#x20AC;Ź â&#x20AC;Ť ز ŘąÂ¡اعŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť ا اŮ&#x2020; از ŘŻŮ&#x2C6;Řąâ&#x20AC;Ź â&#x20AC;ŤŘŻÂ&#x2122; Â&#x201C; از ŘŻŮ&#x2C6;Řąâ&#x20AC;Ź â&#x20AC;Ť داد Ů&#x2021;â&#x20AC;ŹÂą â&#x20AC;Ť دادâ&#x20AC;ŹÂą Â&#x201C; Â&#x2122;â&#x20AC;ŤŘŻâ&#x20AC;Ź Â&#x2DC;Â&#x2122;â&#x20AC;ŤŮ&#x2021; Ů&#x160; ŘŻŮ&#x2C6;عدâ&#x20AC;Ź â&#x20AC;Ť ا Š Ů&#x2020;â&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť دادâ&#x20AC;ŹÂą Â&#x201C; Â&#x2122;â&#x20AC;ŤŘŻâ&#x20AC;Ź â&#x20AC;ŤŮ&#x2021; از ŘŻŮ&#x2C6;Řąâ&#x20AC;Ź Ââ&#x20AC;ŤŘŻâ&#x20AC;Ź ÂąĂ?
â&#x20AC;Ť Â&#x2122; زŮ&#x160;â&#x20AC;ŹÂąĂ?
â&#x20AC;Ť ÂÂ&#x2018;اعشâ&#x20AC;ŹÂŞ
â&#x20AC;ŤÂ Ů&#x2C6; Â&#x;Š اعâ&#x20AC;Ź
402 Â&#x201D;
Request manager Request modification Requirements Engineering (RE) Requirements Prototyping ResearchDevelopment (RD) Response time Responsing procedure Restrict Restricted Restriction - Union Normal Form Restriction predicate Result relation REVOKE Right outer join Rightsizing Rissanen Role Root only R-system Rule based optimizer Rules Run time manager Run time supervisor S Safe expression Scalability
Scaleup Schema Schema Schema Schema Schema
AuthID definition evolution generator
Ramin.Samad@yahoo.com
Â&#x2122;â&#x20AC;Ť ŘŻŘą اâ&#x20AC;Ź Â&#x2DC;Â&#x2122;â&#x20AC;ŤÂ&#x201C;Â&#x201C; ŘŻŘą اâ&#x20AC;ŹĂ&#x2DC;Â&#x; â&#x20AC;Ť § Â&#x2122; Â&#x201C; زŮ&#x2021;â&#x20AC;Ź â&#x20AC;Ť Â&#x2122; زŮ&#x160;â&#x20AC;ŹÂą Â
â&#x20AC;Ť Â&#x201C; زŮ&#x160;â&#x20AC;Ź ¹¢Â&#x2122; Â&#x;-½â&#x20AC;Ť Â&#x17E;Ů&#x2C6;Ů&#x2021;â&#x20AC;Ź â&#x20AC;Ť Ů&#x2021;â&#x20AC;ŹĂ?Â&#x2122; â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź ÂŚĂ?Â&#x2122; Âą â&#x20AC;ŤŘąŮ&#x2C6;â&#x20AC;Ź ½§ Â&#x2018;Â- ÂźÂ&#x; Â&#x153; ¢Â&#x; (â&#x20AC;Ť) ¨ Ů&#x2C6;ءâ&#x20AC;Ź â&#x20AC;ŤÂ¸ عت Ů&#x201E;â&#x20AC;Ź â&#x20AC;Ť Řšâ&#x20AC;ŹÂ â&#x20AC;Ť اâ&#x20AC;Ź- ÂźÂ&#x; ½§ Â&#x2018; §
ÂąÂ&#x2014;Â&#x201C; ¹à â&#x20AC;ŤŘąŘ§â&#x20AC;Ź Ă&#x2DC;ÂŞ Â&#x2DC;Â&#x2122;â&#x20AC;Ť ا Â&#x201C; عاâ&#x20AC;Ź Ă?Â&#x2122; §
â&#x20AC;ŤÂ&#x2122; زŮ&#x160;ا اŮ&#x2026;â&#x20AC;Ź Â&#x2019; â&#x20AC;ŤŘąâ&#x20AC;Ź ½Â&#x153;
¹¨ â&#x20AC;Ť Řąâ&#x20AC;ŹÂ˛Â&#x153; R ÂĽ Â&#x201C;Â&#x2122; § ´ â&#x20AC;Ť Â&#x2122; زâ&#x20AC;ŹÂąÂ§Â&#x201C; Â&#x17D; Â&#x161; Â&#x17D;â&#x20AC;ŤÂ&#x161; اâ&#x20AC;Ź â&#x20AC;Ť ز Ů&#x2020; ا اâ&#x20AC;Ź â&#x20AC;Ť ز Ů&#x2020; ا اâ&#x20AC;ŹÂľ
Â&#x2019;Ă&#x2013; à â&#x20AC;ŤÂ&#x17D;´ عتâ&#x20AC;Ź â&#x20AC;ŤÂ Ř´ ¡ Ů&#x160;â&#x20AC;Ź â&#x20AC;ŤŘ§ Â&#x2018;ا ½ Â&#x153;Â&#x201C; Řłâ&#x20AC;Ź â&#x20AC;ŤŘ˘ Řą )  شâ&#x20AC;Ź ( â&#x20AC;Ť ¡ Ů&#x160;â&#x20AC;Ź  Â&#x201D; Ă&#x2019; ¢Â&#x; ÂąÂ&#x2122; §Â&#x201D;  Â&#x201D;  Â&#x201D; Ă&#x2019; ¢Â&#x;  Â&#x201D; Â&#x201C;Â&#x201C;Ă&#x2DC;Â&#x;  Â&#x201D; Â&#x201C;ÂŞ Â&#x; Â?â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź
WWW.IRANMEET.COM
403
â&#x20AC;ŤŮ&#x2C6;اÚ&#x2DC;Ů&#x2021; ďş&#x17D; اďŽ&#x2022;ďť ďť´ďş´ďť˛ ďş&#x2018; ďť&#x201C;ďş&#x17D;عﺳâ&#x20AC;Ź
Search argument Second Normal Form Security Selective setup Self dependency Self-relationship Self referencing Semantic Semantic unit of data Semantic concept Semantic constraint Semantic Data Modeling (SDM) Semantic integrity constraint Semantic optimizer Semantic rule Semi-join Semi structured Serial schedule Serializable Session manager Set type Set-oriented query Setup Shared Shared entity Side effect Single Single user (Personal) Single-valued Site Smart sizing Snapshot Software facilities (tools) Spatial and geographic
Â&#x2014; ¨
â&#x20AC;ŤÂ¸ عت ŘŻŮ&#x2C6;Ů&#x2026;â&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;Ź § â&#x20AC;ŤŘ§â&#x20AC;Ź ¨§ Â&#x2018; Œ â&#x20AC;Ť ŘŻ Ů&#x2C6;اâ&#x20AC;Ź â&#x20AC;ŤŘ§ŘąÂ&#x;´ ء ŘŻâ&#x20AC;Ź â&#x20AC;Ť ŘŻ Řą Řšâ&#x20AC;ŹÂą §§â&#x20AC;ŤŘ˘â&#x20AC;Ź §¢
§¢ Â?â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź â&#x20AC;ŤŘŻŘ§ŘŻâ&#x20AC;Ź §¢ â&#x20AC;Ť Ů&#x2026;â&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź §¢
§¢ â&#x20AC;Ť زŮ&#x160;â&#x20AC;ŹÂŞ
â&#x20AC;ŤŘŻŘ§ŘŻâ&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź §¢ Â&#x2DC;Â&#x201C;¢ â&#x20AC;Ť Â&#x2122; زâ&#x20AC;ŹÂąÂ§Â&#x201C; §¢
Ă&#x192;Â&#x201C;  Â&#x2122; Â&#x17D;â&#x20AC;ŤÂ&#x161; اâ&#x20AC;Ź Â&#x201C; ÂĽÂ&#x201C;
§ Â&#x2122; ÂĽÂ&#x201C;
â&#x20AC;ŤÂ&#x152; Ř Ř§ اŮ&#x160;â&#x20AC;Ź ÂŞâ&#x20AC;Ť اâ&#x20AC;Ź ¡ ÂŞâ&#x20AC;ŤÂ&#x; اâ&#x20AC;Ź â&#x20AC;Ť Â&#x2122; Ů&#x160;â&#x20AC;ŹÂ Â&#x;
â&#x20AC;ŤŘ§ ا آ Řą اŮ&#x2020;â&#x20AC;Ź ÂąÂ&#x17D;  Â&#x2014; â&#x20AC;Ť Řšâ&#x20AC;Ź ÂąÂ&#x17D;  Â&#x2014; ½Â&#x2122; â&#x20AC;ŤŘ§Â&#x201D; اآâ&#x20AC;Ź â&#x20AC;ŤŘ˛ Řš ¨ Ů&#x192;â&#x20AC;Ź ´ ¹°â&#x20AC;ŤÂ&#x17D; Řąâ&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; ŘŻâ&#x20AC;Ź â&#x20AC;Ť آ Řą Ů&#x160;â&#x20AC;ŹĂ&#x192;Â&#x; â&#x20AC;Ť Â&#x153; اعŮ&#x160;â&#x20AC;ŹĂ&#x192;Â&#x; ( Â&#x2DC; Â&#x2122; ) Âą
ÂĽÂ&#x201C;§Â&#x; â&#x20AC;ŤŘ§ ازâ&#x20AC;Ź Â&#x201D; â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂąÂťÂźÂŞ â&#x20AC;ŤŘŞâ&#x20AC;ŹĂ&#x2039;Â&#x201C; Â&#x; â&#x20AC;Ť Ů&#x2026;ا Â&#x2018;اعŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť Ů&#x2021; Ů&#x160;â&#x20AC;ŹÂąĂ Â&#x201C;Â? â&#x20AC;Ť Ů&#x2C6;â&#x20AC;ŹĂ&#x2022;
database system
Â&#x201C; â&#x20AC;Ť اâ&#x20AC;ŹĂ&#x2DC;
Special purpose Specialization
â&#x20AC;Ť § Řąâ&#x20AC;ŹĂ&#x192;Â&#x; Ă&#x2122;Â&#x201C;Ă&#x2030;Ă?Â&#x; Â&#x2DC;Â&#x17D; Â&#x2122; ½ â&#x20AC;ŤŘ§ Â&#x2018;اâ&#x20AC;Ź ( â&#x20AC;Ť) آ عاâ&#x20AC;Ź â&#x20AC;ŤÂ ÚŻâ&#x20AC;Ź ¢ â&#x20AC;ŤŘšâ&#x20AC;ŹĂ&#x2039;Â&#x152;â&#x20AC;ŤŘ§â&#x20AC;Ź â&#x20AC;Ť آ Řąâ&#x20AC;ŹÂąÂ&#x2122; §Â&#x201D; SQL Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź Â&#x201C;¢°â&#x20AC;ŤŮ&#x2C6;â&#x20AC;Ź Ă&#x2019; ¢Â&#x; â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź â&#x20AC;ŤŘ° Â&#x201C; Â&#x2122; زŮ&#x160;â&#x20AC;Ź Â&#x201D; Â&#x201C; â&#x20AC;Ť Ř°â&#x20AC;ŹÂą â&#x20AC;ŤŘąŮ&#x2C6;â&#x20AC;Ź Â&#x201D; Â&#x201C; â&#x20AC;ŤŘŻŘ§ŘŻ Ř°â&#x20AC;Ź Â&#x201D; Â&#x201C; â&#x20AC;ŤŘ°â&#x20AC;Ź Â&#x201C; â&#x20AC;Ť Ř°â&#x20AC;ŹÂąĂ â&#x20AC;ŤŘąŘ§â&#x20AC;Ź Â&#x201D; â&#x20AC;ŤÂ&#x161; Ů&#x160;â&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; ŘąŮ&#x160;â&#x20AC;Ź
Speedup Spread sheet Spurious SQL-Session AuthID State constraint Storage Definition Language (SDL) Stored procedure Stored data Stored data Stored relation Strong Structural Structural completeness Structural constraint Structural domain Structured Structured record Structured Query Language (SQL) Sub entity type Sub query Sub table Subtype Subtype Summarize Super computer Super Key (S. K ) Superentity type Supertable Supertype Surrogate System defined System developer
Ramin.Samad@yahoo.com
â&#x20AC;Ť Ů&#x201E; Â&#x2122; ŘąŮ&#x160;â&#x20AC;ŹÂ â&#x20AC;ŤŘ˘â&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; ŘąŮ&#x160;â&#x20AC;Ź § Â&#x2122; â&#x20AC;Ť Â&#x201C; اŮ&#x2020;â&#x20AC;Ź § Â&#x2122; § Â&#x2122; â&#x20AC;ŤŘąŘ˘ عدâ&#x20AC;Ź SQL â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź â&#x20AC;ŤŘ˛ Řšâ&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť ŘŻâ&#x20AC;Ź Â&#x17D; ½Â&#x2122; â&#x20AC;ŤŘ˛ Ů&#x2C6;Ů&#x201E;â&#x20AC;Ź â&#x20AC;ŤŘ˛ عدâ&#x20AC;Ź â&#x20AC;ŤŘ˛ Řšâ&#x20AC;Ź â&#x20AC;ŤÂ Ů&#x2C6; § Ů&#x160;â&#x20AC;Ź Â&#x201C; Â&#x; Â&#x201C;Ă&#x2026; â&#x20AC;ŤŘ˘â&#x20AC;Ź Â&#x201C; â&#x20AC;ŤŘ§ آâ&#x20AC;Ź â&#x20AC;ŤŘ˛ Řšâ&#x20AC;Ź â&#x20AC;ŤŘ˛ Ů&#x2C6;Ů&#x201E;â&#x20AC;Ź â&#x20AC;ŤŘ˛ عدâ&#x20AC;Ź Â&#x2019; Â&#x2018;ÂŚ Â&#x201C; â&#x20AC;ŤŘ˘â&#x20AC;Ź â&#x20AC;Ť Ů&#x2020;â&#x20AC;Ź â&#x20AC;Ť Â&#x201D; ŘŻŘąâ&#x20AC;ŹĂ&#x2019; ¢Â&#x; ÂĽ Â&#x201C;Â&#x2122; - â&#x20AC;Ť Â&#x2122; زâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť Â&#x201C; ŘŻ Â&#x2122; زâ&#x20AC;Ź
WWW.IRANMEET.COM
â&#x20AC;Ťď&#x2DC;ďş&#x17D;ďťłďŽ&#x2022;ďş&#x17D;Ů&#x2021; دادŮ&#x2021;ďş&#x17D;â&#x20AC;Ź System specification System variable
â&#x20AC;Ť ŘŞâ&#x20AC;ŹĂ&#x2030;Ă?¨
ÂĽ Â&#x201C;Â&#x2122; Â Â&#x201C;Â&#x2122; Â&#x201C;Ă&#x2DC;
T
Tabular Data Structure (TDS) Tabular system Tabular Database Task Temporal Temporal Dependency
Temporal ERD Temporal data Temporal database Temporary table Temporary view Test data Test strategy Third Normal Form Three level architecture Three-schema architecture Three-tier Three-Valued Logic (3VL) Throughput Tightly coupled Time stamping Tool developer Top-down design method Total participation Tow-Valued Logic (2VL) Trace facility Transactions Log Files (T. L. F) Transaction Transaction
â&#x20AC;ŤÂ&#x2122; Řą داد اŮ&#x160;â&#x20AC;Ź ÂŞâ&#x20AC;Ť Ů&#x2C6;â&#x20AC;Ź ÂŞâ&#x20AC;Ť Ů&#x2C6;â&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź ÂŞâ&#x20AC;Ť Ů&#x2C6;â&#x20AC;Ź Âą Â&#x201C;Âľâ&#x20AC;ŤŮ&#x2C6;â&#x20AC;Ź § â&#x20AC;ŤŘ˛â&#x20AC;Ź â&#x20AC;ŤŮ&#x2C6;ا ÂŚ زâ&#x20AC;Ź â&#x20AC;Ť داعâ&#x20AC;ŹÂ
-Â&#x2DC; â&#x20AC;Ť ŘŻâ&#x20AC;Ź § â&#x20AC;ŤŘ§ŘąÂ&#x;´ ء زâ&#x20AC;Ź § â&#x20AC;ŤŘŻŘ§ŘŻ زâ&#x20AC;Ź â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź § â&#x20AC;ŤŘ˛â&#x20AC;Ź Â&#x2DC;Â&#x161; â&#x20AC;Ť Ů&#x2C6;Ů&#x201E;â&#x20AC;Ź Â&#x2DC;Â&#x161; â&#x20AC;ŤŘŻâ&#x20AC;Ź Â&#x; â&#x20AC;ŤŘŻŘ§ŘŻâ&#x20AC;Ź Â&#x2DC; Â&#x; â&#x20AC;ŤŘ§Â&#x2122; اÂ&#x;Â&#x17E;Ů&#x160;â&#x20AC;Ź â&#x20AC;ŤÂ¸ عت Â&#x2122; Ů&#x2026;â&#x20AC;Ź â&#x20AC;Ť Ů&#x201E;â&#x20AC;Ź ÂąÂ&#x2122; â&#x20AC;Ť ŘąŮ&#x160;â&#x20AC;ŹÂ ¢
Ÿà Â&#x2122; ÂąÂ&#x2122; â&#x20AC;Ť ŘąŮ&#x160;â&#x20AC;ŹÂ ¢
 Â&#x201D; â&#x20AC;Ť عدâ&#x20AC;ŹÂąÂ&#x2122; ÂąÂ&#x2122; Ă&#x2C6;à §
Â&#x201D;â&#x20AC;ŤŘ§ŘąŘ˛â&#x20AC;Ź Â&#x; Â&#x201C;  Â&#x17D; â&#x20AC;ŤÂ&#x; اŮ&#x2020;â&#x20AC;Ź â&#x20AC;Ť Â&#x201C; Â&#x161; Ů&#x160;â&#x20AC;Ź  â&#x20AC;Ť زâ&#x20AC;ŹĂ&#x192;Â&#x201C;§ŠÂ&#x; â&#x20AC;ŤŘ§ Â&#x2018;اع Â&#x2122; زâ&#x20AC;Ź Âą Ă? â&#x20AC;ŤŘąŮ&#x2C6;Ř´â&#x20AC;Ź Â&#x2019;Â&#x201C; â&#x20AC;ŤÂ&#x2018;اâ&#x20AC;ŹÂŞâ&#x20AC;Ť ¨ عآÂ&#x2DC; اâ&#x20AC;Ź ( â&#x20AC;Ť)آâ&#x20AC;Ź â&#x20AC;Ť ŘŻŮ&#x2C6;â&#x20AC;ŹĂ&#x2C6;à §
Â&#x201D;â&#x20AC;ŤŘ§ŘąŘ˛â&#x20AC;Ź â&#x20AC;ŤÂ&#x; Â&#x201C; اŮ&#x160;â&#x20AC;Ź â&#x20AC;ŤŘąŘŻÂÂ&#x201C; Ů&#x160;â&#x20AC;Ź Â&#x2DC;´š â&#x20AC;Ť Ů&#x160;â&#x20AC;Ź ¨§â&#x20AC;ŤÂ&#x; اآâ&#x20AC;Ź ½§â&#x20AC;ŤÂ&#x; اآâ&#x20AC;Ź ½§â&#x20AC;ŤÂ&#x201C;Â&#x2DC; Â&#x; اآâ&#x20AC;ŹÂ˘
integrity Transaction Processing Performance Council (TPC) Transaction server Transactions concurrency management Transition constraint Transitive Transitivity Transparency rules Trigger Trivial True proposition Tuple oriented Tuple variable Two Phase Locking (2PL) Two-tier Type compatible Type constraint
404
TPC â&#x20AC;ŤÂ&#x2122; ز Ů&#x2020;â&#x20AC;Ź â&#x20AC;Ť ÂŚÂ&#x2018;اعâ&#x20AC;Ź ¨§â&#x20AC;ŤÂ&#x; اآâ&#x20AC;Ź Â&#x2DC;
â&#x20AC;Ť Ů&#x2C6; Ů&#x160;â&#x20AC;ŹÂ â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź ½§â&#x20AC;ŤÂ&#x; اآâ&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť Âź Ů&#x2C6;ŘŻâ&#x20AC;Ź â&#x20AC;ŤÂ¡اعŮ&#x160;â&#x20AC;Ź â&#x20AC;ŤÂ&#x; ا¡اعŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť Ů&#x160;â&#x20AC;ŹÂ˘Â&#x; ĂŚ Â&#x17D;â&#x20AC;ŤÂ&#x161; اâ&#x20AC;Ź â&#x20AC;Ť ŘŻŮ&#x2020;â&#x20AC;Ź (â&#x20AC;ŤŘąŮ&#x2021; )عا ا ازâ&#x20AC;Ź ( ) ÂĽ
Â&#x2DC;Â&#x2122;â&#x20AC;ŤÂÂ&#x2018;اع ŘŻŘąâ&#x20AC;Ź Â&#x; â&#x20AC;ŤÂ? بâ&#x20AC;Ź Â&#x; Â&#x201C;Ă&#x2DC;
Â&#x161; Ă&#x192;Â&#x201C;§ŠÂ&#x; â&#x20AC;ŤÂ¡اعŮ&#x160; ŘŻŮ&#x2C6;â&#x20AC;Ź â&#x20AC;Ť اŮ&#x160;â&#x20AC;ŹÂą Â?
â&#x20AC;ŤŘŻŮ&#x2C6; عدâ&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; ز ع Řšâ&#x20AC;Ź â&#x20AC;Ť Âź Ů&#x2C6;ŘŻ Â&#x2DC; Řšâ&#x20AC;Ź
U Undefined Unfederated Unidirectional association Union type Uniqueness Universal Universal concept Universal Database Management System (UDBMS) Universal Modeling Language (UML) Universal relation Universe of Discourse Universe of relations Unknown
Ramin.Samad@yahoo.com
¨ Ă&#x2019; ¢Â&#x; â&#x20AC;Ť عاŮ&#x201E;â&#x20AC;Ź Âą Â&#x2122; Ă&#x192; ÂŚ â&#x20AC;Ť Řšâ&#x20AC;ŹÂ â&#x20AC;Ť Řš اâ&#x20AC;Ź Š ÂŚÂ â&#x20AC;ŤÂ&#x2122; Řą Ů&#x2021;â&#x20AC;Ź (  Â&#x17D;) ÂŚÂ â&#x20AC;Ť Ů&#x2026; Ů&#x2021;â&#x20AC;Ź Â&#x2DC; ÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť ÂŚ داد Ů&#x2021; Ů&#x160;â&#x20AC;Ź ÂŚÂ â&#x20AC;ŤŮ&#x2021;â&#x20AC;Ź  Â&#x17D; â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź â&#x20AC;Ť Ů&#x201E; Â&#x2122; زŮ&#x160;â&#x20AC;Ź  Â&#x17D; ¹à â&#x20AC;ŤŘąŘ§â&#x20AC;Ź Âť â&#x20AC;Ť Ů&#x2020; عدâ&#x20AC;Ź ¹à â&#x20AC;Ť عاâ&#x20AC;ŹÂąÂ&#x17D;  Â&#x2014;
Â&#x2019;Š â&#x20AC;ŤŮ&#x2021; Ů&#x160;â&#x20AC;Ź Âą §Â&#x201D;
WWW.IRANMEET.COM
405
â&#x20AC;ŤŮ&#x2C6;اÚ&#x2DC;Ů&#x2021; ďş&#x17D; اďŽ&#x2022;ďť ďť´ďş´ďť˛ ďş&#x2018; ďť&#x201C;ďş&#x17D;عﺳâ&#x20AC;Ź
Unload Unsafe expression Unstructured Upgradeability Upsizing Use case diagram User Friendly Interface (U F I ) User groups User defined rule User usage monitoring User defined User Interface (UI) Users' Ers integration
â&#x20AC;Ť آ ŘŻŮ&#x2020;â&#x20AC;ŹÂŞ Â&#x2019;Ă&#x2013; à â&#x20AC;ŤÂ&#x17D;´ عتâ&#x20AC;Ź § Â&#x2122;
â&#x20AC;ŤŘ§ŘąÂ&#x;Â&#x153; ŘĄâ&#x20AC;Ź â&#x20AC;ŤŘ§ Â&#x2018;ا ½ا ازâ&#x20AC;Ź â&#x20AC;Ť داع عدâ&#x20AC;ŹÂ
â&#x20AC;ŤŘ˘ Řą ŘŻâ&#x20AC;Ź â&#x20AC;Ť آ Řąâ&#x20AC;ŹÂ˛Â&#x2122;â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź § â&#x20AC;Ť آ Řą Ů&#x160;â&#x20AC;ŹÂ˛Â&#x2122;â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź â&#x20AC;ŤÂ&#x161; اÂ&#x17D; آ Řą Ů&#x160;â&#x20AC;Ź â&#x20AC;ŤŘ§ Š Ů&#x2020; Âť عتâ&#x20AC;Ź â&#x20AC;Ť Â&#x201C; ŘŞ آ Řą اŮ&#x2020;â&#x20AC;ŹÂ Â&#x17D; Â&#x201D; Ă&#x2019; ¢Â&#x; â&#x20AC;Ť آ Řąâ&#x20AC;ŹÂ˛Â&#x2122; Â&#x; â&#x20AC;Ť آ Řąâ&#x20AC;ŹÂ˛Â&#x2122;â&#x20AC;ŤŮ&#x2C6;اâ&#x20AC;Ź â&#x20AC;Ť Â&#x2122; زŮ&#x160;â&#x20AC;ŹÂąĂ&#x20AC;â&#x20AC;Ť Řąâ&#x20AC;ŹĂ&#x2026;Š ER â&#x20AC;Ť داعŮ&#x2021; Ů&#x160;â&#x20AC;ŹÂ
â&#x20AC;ŤŘ˘ Řą اŮ&#x2020;â&#x20AC;Ź
V Value -based security constraint Vector Version Vertical decomposition Vertical fragmentation Very Large Database (VLDB) Very large information integrated system Very large distributed information system View updatability
Â&#x17D;â&#x20AC;Ť Ů&#x201E; Â&#x161; اâ&#x20AC;ŹÂ Â&#x17D;â&#x20AC;ŤŘ§â&#x20AC;Ź § ´ § â&#x20AC;ŤŘ§â&#x20AC;Ź â&#x20AC;Ť Â&#x153; ŘŻâ&#x20AC;Ź â&#x20AC;Ť داعâ&#x20AC;Ź â&#x20AC;Ť ÂŚ عشâ&#x20AC;Ź â&#x20AC;Ť ŘŻŮ&#x160;â&#x20AC;ŹÂ Â&#x17D; Âą Â&#x2018;Â&#x2014;Â&#x; â&#x20AC;Ť ŘąÂ&#x2122; زŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť ŘŻŮ&#x160;â&#x20AC;ŹÂ Â&#x17D; Â&#x201C; â&#x20AC;Ť ÂŚ دادâ&#x20AC;Ź â&#x20AC;Ť Â&#x2018;ŘąÚŻâ&#x20AC;Ź Â&#x; Â&#x17D;Ă&#x2039;Â&#x152;â&#x20AC;Ť اâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;Ť Â&#x201C; Řą Â&#x2018;ŘąÚŻâ&#x20AC;Ź â&#x20AC;ŤÂ&#x17D; ŘŞâ&#x20AC;ŹĂ&#x2039;Â&#x152;â&#x20AC;Ť اâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; â&#x20AC;ŤÂ&#x; ز ÂŤ Â&#x201D; Â&#x201C; Řąâ&#x20AC;Ź â&#x20AC;ŤÂ&#x161; Â&#x201C;Â&#x2DC; §Œ Ů&#x2026;â&#x20AC;Ź â&#x20AC;ŤÂ&#x2122; زش ŘŻâ&#x20AC;Ź
View Definition Language (VDL) View definition condition (s) View derivation View on view Virtual Child Virtual record type Virtual relation Virtual table Virtual attribute Virtual entity Virtual Parent Child Link (VPCL) Virtual Parent (V P ) Visual-basic -script Voice driven W Weak Web DB Well designed relation Well Formed Formula ( WFF) Work station Work station Working table Workload World Wide Web (W W W ) World Wide Web Database system (WWW-DB)
Ramin.Samad@yahoo.com
â&#x20AC;Ť ŘŻâ&#x20AC;ŹĂ&#x2019; ¢Â&#x; â&#x20AC;ŤŘ˛ Ů&#x2020;â&#x20AC;Ź Ă&#x2019; ¢Â&#x; â&#x20AC;ŤÂ&#x201D; ءâ&#x20AC;Ź â&#x20AC;ŤŘŻŘ§ŘŻâ&#x20AC;Ź â&#x20AC;ŤŘ§Â&#x201D; Â&#x153; Ů&#x201A; ŘŻâ&#x20AC;Ź â&#x20AC;ŤŘŻ ŘąŮ&#x2C6;Ů&#x160; ŘŻâ&#x20AC;Ź â&#x20AC;Ť ز Â&#x2014; زŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť Řš عآ عدâ&#x20AC;Ź â&#x20AC;Ť Â&#x2014; زŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť Â&#x2014; زŮ&#x160;â&#x20AC;ŹÂąĂ â&#x20AC;ŤŘ˛Ř§â&#x20AC;Ź â&#x20AC;Ť Ů&#x2C6;Ů&#x201E; Â&#x2014; زŮ&#x160;â&#x20AC;Ź â&#x20AC;ŤÂ¸ Â&#x2DC; Â&#x2014; زŮ&#x160;â&#x20AC;Ź Â&#x2DC; â&#x20AC;Ť ŘŻâ&#x20AC;Ź â&#x20AC;Ť Â&#x2014; زŮ&#x160;â&#x20AC;Ź VPCL Ă&#x192;Â&#x201C;§ŠÂ&#x; â&#x20AC;Ť Řą Â&#x2014; زŮ&#x160;â&#x20AC;Ź â ŠÂ&#x2122;â&#x20AC;ŤŘ§â&#x20AC;Ź- -â&#x20AC;ŤŮ&#x2C6;Ů&#x160;â&#x20AC;Ź Â&#x; ¸ â&#x20AC;ŤŘ˘ Řąâ&#x20AC;Ź Ă&#x2019;Â&#x201C;¢° â&#x20AC;Ť ÂŚ داد Ů&#x2C6;بâ&#x20AC;Ź â&#x20AC;Ť Ř´â&#x20AC;ŹÂąĂ â&#x20AC;ŤŘąŘ§â&#x20AC;Ź â&#x20AC;ŤÂ&#x152; Řâ&#x20AC;Ź â&#x20AC;Ť Ů&#x201E; Ř´â&#x20AC;Ź Â&#x2DC; Â&#x2122; â&#x20AC;ŤŘ§ ÂŚ آ Řąâ&#x20AC;Ź â&#x20AC;ŤŘ§ ÂŚ آ ŘąŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť Ů&#x2C6;Ů&#x201E; آ ŘąŮ&#x160;â&#x20AC;Ź â&#x20AC;Ť عآ ŘąŮ&#x160;â&#x20AC;Ź ¹Š´Â&#x201D; Â&#x2122;â&#x20AC;ŤŘš Řąâ&#x20AC;ŹĂ&#x2039;Â&#x152;â&#x20AC;ŤŘ§â&#x20AC;Ź â&#x20AC;Ť ÂŚ دادâ&#x20AC;ŹÂĽ Â&#x201C;Â&#x2122; ¹Š´Â&#x201D; â&#x20AC;ŤŘŻŘąâ&#x20AC;Ź Â&#x2122;â&#x20AC;ŤŘš Řąâ&#x20AC;ŹĂ&#x2039;Â&#x152;â&#x20AC;ŤŘ§â&#x20AC;Ź
WWW.IRANMEET.COM
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
واژه ﻧﺎﻣﻪ
ﻓﺎرﺳﻲ ﺑﻪ اﻧﮕﻠﻴﺴﻲ
Essential Data extraction Test strategy Access strategy Induction Program-data independence Data independence Physical Data Independence logical Data Independence Deduction Online mode Interactive mode Operational mode
اﺳﺎﺳﻲ اﺳﺘﺨﺮاج داده ﻫﺎ اﺳﺘﺮاﺗﮋي ﺗﺴﺖ اﺳﺘﺮاﺗﮋي دﺳﺘﻴﺎﺑﻲ اﺳﺘﻘﺮاء اﺳﺘﻘﻼل ﺑﺮﻧﺎﻣﻪ از داده اﺳﺘﻘﻼل داده اي اﺳﺘﻘﻼل داده اي ﻓﻴﺰﻳﻜﻲ اﺳﺘﻘﻼل داده اي ﻣﻨﻄﻘﻲ اﺳﺘﻨﺘﺎج ( اﺳﻠﻮب ﭘﻴﻮﺳﺘﻪ ) ﺑﺮ ﺧﻂ اﺳﻠﻮب ﺗﻌﺎﻣﻠﻲ اﺳﻠﻮب ﻋﻤﻠﻴﺎﺗﻲ
Batch mode
اﺳﻠﻮب ﻳﻜﺠﺎ
Data sharing
اﺷﺘﺮاك داده ﻫﺎ
Shared View derivation Real-world object Spurious Missing
اﺷﺘﺮاﻛﻲ اﺷﺘﻘﺎق دﻳﺪ اﺷﻴﺎء ﺟﻬﺎن واﻗﻊ ( اﻃﻼع ﺟﻌﻠﻲ ) اﺿﺎﻓﻲ اﻃﻼع ﻧﻬﺴﺖ
¯ Redundant Array of Inexpensive Disks (RAID)
ارزان
دﻳﺴﻜﻬﺎي
آراﻳﻪ اﻓﺰوﻧﻪ
Arity
آرﻳﺘﻲ
Free
آزاد
Anomaly Super Key (SK ) Automatic Design Tool Tool developer Design tool Nested statement DBMS-web integration Embedded Self-relationship Recursive relationship Informative Identifing relationship
آﻧﻮﻣﺎﻟﻲ اﺑﺮﻛﻠﻴﺪ اﺑﺰار ﻃﺮاﺣﻲ ﺧﻮدﻛﺎر اﺑﺰار ﺳﺎز اﺑﺰار ﻃﺮاﺣﻲ ( اﺣﻜﺎم ﻣﺮﻛﺐ ) ﺗﻮ در ﺗﻮ ادﻏﺎم در وب ادﻏﺎم ﺷﺪه ارﺗﺒﺎط ﺑﺎ ﺧﻮد ارﺗﺒﺎط ﺑﺎزﮔﺸﺘﻲ ارﺗﺒﺎط دﻫﻨﺪﮔﻲ ارﺗﺒﺎط ﺷﻨﺎﺳﺎ
Upgradibility
ارﺗﻘﺎء
Reference
ارﺟﺎع
Axiom
Ramin.Samad@yahoo.com
اﺻﻞ ﻣﻮﺿﻮﻋﻪ
WWW.IRANMEET.COM
اﻳﺠﺎد
Development
408
information
اﻳﺠﺎد دﻳﺪ
Assertion
اﻇﻬﺎر
Work station
اﻳﺴﺘﮕﺎه ﻛﺎر
GRANT
اﻋﻄﺎء
Work station
اﻳﺴﺘﮕﺎه ﻛﺎري
CREATE view
اﻳﻤﻨﻲ
Security Database Protection
ﺣﻔﺎﻇﺖ ﭘﺎﻳﮕﺎهداده ﻫﺎ ب
Workload Load
ﺑﺎرﻛﺎري ﺑﺎرﮔﺬاري
Reload
ﺑﺎز ﺑﺎرﮔﺬاري
Data marts
ﺑﺎزار داده ﻫﺎ
Index rebuilding Data bank Setup Selective setup On-line Vector Application Program (AP ) Closure Qualified association Association Reflexive association Bi-directional association Unidirectional association Bound Deadlock BOYCE Self referencing Logical design refinement Exploitation Inter related In place updating Differed update
ﺑﺎزﺳﺎزي ﺷﺎﺧﺺ ﺑﺎﻧﻚ داده ﻫﺎ ﺑﺮﭘﺎﻳﻲ ﺑﺮﭘﺎﻳﻲ ﮔﺰﻳﻨﺸﻲ ( ﺑﺮﺧﻂ ) ﭘﻴﻮﺳﺘﻪ ﺑﺮدار ﺑﺮﻧﺎﻣﻪ ﻛﺎرﺑﺮدي_ ﻛﺎرﺑﺮدار ﺑﺴﺘﺎر ﺑﺴﺘﻜﻲ ﻣﻘﻴﺪ ﺑﺴﺘﮕﻲ ﺑﺴﺘﮕﻲ اﻧﻌﻜﺎﺳﻲ ﺑﺴﺘﮕﻲ دو ﺳﻮﻳﻪ ﺑﺴﺘﮕﻲ ﻳﻚ ﺳﻮﻳﻪ ﺑﺴﺘﻪ ﺑﻦ ﺑﺴﺖ ﺑﻮﻳﺲ ﺑﻪ ﺧﻮد رﺟﻮع ﻛﻨﻨﺪه
Declarative Value -based security constraint Back office server Augmentation Upsizing Left augmentation Speedup
ﺑﻬﺮه ﺑﺮداري ﺑﻬﻢ ﻣﺮﺗﺒﻂ
اﻋﻤﺎل ﻗﻮاﻋﺪ اﻳﻤﻨﻲ ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻘﺎدﻳﺮ اﻓﺰارﮔﺎن ﭘﺸﺖ ﺻﺤﻨﻪ اﻓﺰاﻳﺶ اﻓﺰاﻳﺶاﻧﺪازه اﻓﺰاﻳﺶ ﭼﭗ ( اﻓﺰاﻳﺶ ﺳﺮﻋﺖ ) ﻛﺎراﻳﻲ - اﻓﺰاﻳﺶ ﻣﻘﻴﺎس ﻛﺎر
Scale up Redundancy Physical redundancy Conceptual redundancy Data usage pattern Privilege Online Analytical Processing Database administration support User usage monitoring Abstractive Relation assignment Relational assignment Commutative
ﺑﻬﺒﻮد ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ
اﻋﻼﻧﻲ
Smart sizing Lock granularity
ﮔﺴﺘﺮش ﭘﺬﻳﺮي اﻓﺰوﻧﮕﻲ اﻓﺰوﻧﮕﻲ ﻓﻴﺰﻳﻜﻲ اﻓﺰوﻧﮕﻲ ادراﻛﻲ اﻟﮕﻮي اﺳﺘﻔﺎده از داده ﻫﺎ اﻣﺘﻴﺎز اﻣﻜﺎن ﭘﺮدازش ﺗﺤﻠﻴﻠﻲ ﺑﺮ ﺧﻂ اﻣﻜﺎن ﻣﺪﻳﺮﻳﺘﻲ ﺑﺮاي ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎه اﻣﻜﺎن ﻧﻈﺎرت ﺑﺮ ﻋﻤﻠﻴﺎت ﻛﺎرﺑﺮان اﻧﺘﺰاﻋﻲ اﻧﺘﺴﺎب راﺑﻄﻪ اﻧﺘﺴﺎب راﺑﻄﻪاي اﻧﺘﻘﺎل دﻫﻨﺪﮔﻲ اﻧﺪازه ﺗﻨﻈﻴﻢ ﺷﻮﻧﺪه اﻧﺪازه واﺣﺪ ﻗﻔﻞ ﭘﺬﻳﺮ
Interaction
( اﻧﺪرﻛﻨﺶ )ﺗﻌﺎﻣﻞ
ﺑﻬﻨﮕﺎم ﺳﺎزي در ﺟﺎ
Interactive
اﻧﺪرﻛﻨﺸﻲ
ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﺎ ﺗﺎﺧﻴﺮ
Reflexivity
اﻧﻌﻜﺎس
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
409 4 ; 1 ; C ﺧﺪﻣﺘﮕﺰار
(C/S DB) Mobile DB
ﭘﺎﻳﮕﺎهداده ﻣﻮﺑﺎﻳﻞ
Host database
ﭘﺎﻳﮕﺎهداده ﻣﻴﺰﺑﺎن ﭘﺎﻳﮕﺎهداده وب
Web DB Main Memory Database Mobility and personal database
ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺣﺎﻓﻈﻪ اﺻﻠﻲ ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺷﺨﺼﻲ و ﻫﻤﺮاه ﭘﺎﻳﮕﺎهداده ﻫﺎي ﻛﻨﺘﺮل
Heterogeneous parallel systems control database Centralized database
ﻧﺎﻫﻤﮕﻦ
ﻫﺎي
ﻣﻮازي ﭘﺎﻳﮕﺎه ﻣﺘﻤﺮﻛﺰ ﭘﺪر ﻣﺠﺎزي
Virtual Parent Project Identity projection Parallel processing Query processor On Line Analytic Processing Query By Form Query By Example (QBE)
ﺳﻴﺴﺘﻢ
ﭘﺮﺗﻮ ﭘﺮﺗﻮ ﻫﻤﺎﻧﻲ ﭘﺮدازش ﻣﻮازي ﭘﺮدازﺷﮕﺮ ﭘﺮﺳﺶ ﺗﺤﻠﻴﻠﻲ ﺑﺮ
ﭘﺮدازﺷﻬﺎي ﺧﻂ
ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻓﺮم ﭘﺮﺳﺶ ﺑﻪ ﻛﻤﻚ ﻣﺜﺎل
Outplace updating Immediate update Queries optimization Propagating update
Horizontal fragmentation Hybrid fragmentation Vertical fragmentation
ﭘﺮﺳﺶ ﺗﻚ ﺳﻄﺤﻲ
Subquery Set-oriented query ResearchDevelopment (RD) Back-end Post relational Backup
ﭘﺮﺳﺶ ﻣﺠﻤﻮﻋﻪ اي ﺗﻮﺳﻌﻪ-ﭘﮋوﻫﺶ ﭘﺴﺎ ﭘﺴﺎ راﺑﻄﻪاي ﭘﺸﺘﻴﺒﺎن
ﺑﻬﻴﻨﻪ ﺳﺎز ﻣﺒﺘﻨﻲ ﺑﺮ ﻗﺎﻋﺪه ﺑﻬﻴﻨﻪ ﺳﺎز ﻣﻌﻨﺎﻳﻲ ﺑﻬﻴﻨﻪ ﺳﺎزي ﭘﺮﺳﺶ ﺑﻲ ﺣﺸﻮ ﺑﻲ ﮔﻤﺸﺪﮔﻲ ﺑﻴﺸﺘﺮﻳﻦ ﻛﺎراﻳﻲ
ﭘﺎرﺳﺎزي )ﺗﻘﻄﻴﻊ ( اﻓﻘﻲ ﭘﺎرﺳﺎزي ﺗﺮﻛﻴﺒﻲ ﭘﺎرﺳﺎزي ﻋﻤﻮدي
Database
One level query
ﭘﺮﺳﺶ ﻓﺮﻋﻲ
ﺑﻬﻴﻨﻪ ﺳﺎز ﭘﺮﺳﺶ
ﭘﺎﻳﺎ
Local database Deductive database Real-time DBMS
Range query
ﺷﻮﻧﺪه
ﭘﺎﻳﮕﺎهداده
ﭘﺮﺳﺶ ﭘﻴﭽﻴﺪه
ﭘﺮﺳﺶ ﻃﻴﻔﻲ
ﺑﻬﻨﮕﺎم
Persistent
Complex query
Inner query
ﺳﺎزي
پ
Large Database
ﭘﺮﺳﺶ دروﻧﻲ
ﺑﻬﻨﮕﺎم ﺳﺎزي ﭘﺮﺳﺸﻬﺎ ﻣﻨﺘﺸﺮ
No additive Non-loss (Lossless) Peak performance
ﭘﺮﺳﺶ ﺑﻴﺮوﻧﻲ
ﭘﺮﺳﺶ ﺗﻮ در ﺗﻮ
ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﻼﻓﺎﺻﻠﻪ
Query optimizer Rule based optimizer Semantic optimizer Query optimization
Outer query
Nested query
ﺑﻬﻨﮕﺎم ﺳﺎزي ﺑﺮون از ﺟﺎ
Distributed Database (DDB) Tabular Database Very Large Database Temporal database Hierarchical Database (HDB) Client / Server Database
Ramin.Samad@yahoo.com
ﭘﺎﻳﮕﺎهداده ﺑﺰرگ ﭘﺎﻳﮕﺎهداده ﻣﺤﻠﻲ ﭘﺎﻳﮕﺎهداده اﺳﺘﻨﺘﺎﺟﻲ ﭘﺎﻳﮕﺎهداده ﺑﻲ درﻧﮓ ﭘﺎﻳﮕﺎهداده ﺗﻮزﻳﻊ ﺷﺪه ( )ﭘﺮاﻛﻨﺪه ﭘﺎﻳﮕﺎهداده ﺟﺪوﻟﻲ ﭘﺎﻳﮕﺎهداده ﺧﻴﻠﻲ ﺑﺰرگ ﭘﺎﻳﮕﺎهداده زﻣﺎﻧﻤﻨﺪ ﭘﺎﻳﮕﺎهداده ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ -ﻣﺸﺘﺮي
ﭘﺎﻳﮕﺎهداده
WWW.IRANMEET.COM
Application Program conversion Data conversion and data transfer
ﻫﺎي
ﺑﺮﻧﺎﻣﻪ
ﻛﺎرﺑﺮدي ﺗﺒﺪﻳﻞ و اﻧﺘﻘﺎل داده ﻫﺎ ﺗﺜﺒﻴﺖ
Commit Decomposition Horizontal decomposition Lost decomposition FD' s preserving decomposition Vertical decomposition
ﺗﺠﺰﻳﻪ ﺗﺠﺰﻳﻪ اﻓﻘﻲ ﺗﺠﺰﻳﻪ ﺑﺎ ﺣﺬف ﺗﺠﺰﻳﻪ ﺣﺎﻓﻆ واﺑﺴﺘﮕﻴﻬﺎ
Atomicity
/ ﺗﺤﻠﻴﻞ ﺑﺮآورد ﻫﺰﻳﻨﻪ ﻣﺰاﻳﺎ ﺗﺤﻠﻴﻞ ﻋﻤﻠﻜﺮدي ﺗﺤﻤﻞ ﺧﺮاﺑﻲ ﺗﺨﺼﻴﺺ
Specialization Continuous operation
ﺗﺪاوم ﻋﻤﻠﻴﺎت ﺗﺮاﻛﻨﺶ
Transaction
ﺗﺮاﮔﺬاري
Transitive
ﺗﺮﻛﻴﺐ
Composition
ﺗﺮﻣﻴﻢ
Recovery
ﺗﺴﻠﺴﻠﻲ
Cascade Trace facility
ﺗﺴﻬﻴﻞ ﺑﺮاي ردﮔﻴﺮي ﺗﺴﻬﻴﻼت
Software facilities (tools) Decision making
(ﻧﺮماﻓﺰاري)اﺑﺰارﻫﺎ
ﭘﻮش
Canonical cover
ﭘﻮش ﻛﺎﻧﻮﻧﻴﻚ
Dynamic SQL
SQLﭘﻮﻳﺎ
Implementation
ﭘﻴﺎده ﺳﺎزي
ﺗﻌﺎﻣﻞ
Transitivity
ﺗﻌﺪي ﺗﻌﺮﻳﻒ داده
Data Definition ﺗﻮﺳﻂ
ﺷﺪه
ﺗﻌﺮﻳﻒ
(ﭘﻴﭽﻴﺪه ) ﻣﺨﺘﻠﻂ
Complex Pre-relational
ﭘﻴﺶ راﺑﻄﻪاي
Precompiled
ﭘﻴﺶ ﻛﺎﻣﭙﺎﻳﻠﺮ ﭘﻴﺸﺎ
Front-end
( ﭘﻴﻜﺮ ) ﺑﺪﻧﻪ ﭘﻴﻜﺮﺑﻨﺪي ﭘﻴﻜﺮﺑﻨﺪي رﺳﺎﻧﻪ ﭘﻴﻮﻧﺪ
Join
ﭘﻴﻮﻧﺪ
Link Greater then Join
ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﺑﺰرﮔﺘﺮ
Equi-Join
ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﺗﺴﺎوي ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﻋﺪم ﺗﺴﺎوي
Not-Equi-Join
ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﻛﻮﭼﻜﺘﺮ
Less than Join Greater then or Equal Less than or Equal Join
ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﻣﺴﺎوي ﻳﺎ ﺑﺰرﮔﺘﺮ ﭘﻴﻮﻧﺪ ﺑﻪ ﺷﺮط ﻣﺴﺎوي ﻳﺎ ﻛﻮﭼﻜﺘﺮ
Connector
ﭘﻴﻮﻧﺪ دﻫﻨﺪه
Loosly coupled
ﭘﻴﻮﻧﺪ ﺳﺴﺖ ﭘﻴﻮﻧﺪ ﺿﺮب
Cross join Natural Join (NJ)
ﭘﻴﻮﻧﺪ ﻃﺒﻴﻌﻲ ﭘﻴﻮﻧﺪ ﻗﻮي
Tightly coupled ت
ﺗﺼﻤﻴﻢ ﮔﻴﺮي
Interoperability
User defined
Cover
Configuration Device configuration
ﮔﺰﻳﻨﺶ-ﺗﺤﺪﻳﺪ
Fault tolerance
ﭘﻞ
ﺗﺠﺰﻳﻪ ﻧﺎﭘﺬﻳﺮي
Aggregation
ﭘﺸﺘﻴﺒﺎﻧﻲ ﺗﺼﻤﻴﻢ
Bridge
Body
ﺗﺠﻤﻊ
Restrict
Decision support
ﺗﺠﺰﻳﻪ ﻋﻤﻮدي ﺗﺠﺰﻳﻪ ﻧﺸﺪﻧﻲ
Atomic
Cost-benefit analysis Functional analysis
ﺗﺒﺪﻳﻞ
410
Dependency theory Aggregate function Libraey function
Ramin.Samad@yahoo.com
ﺗﺌﻮري واﺑﺴﺘﮕﻲ ﺗﺎﺑﻊ ﺟﻤﻌﻲ ﻳﺎ ﮔﺮوﻫﻲ ﺗﺎﺑﻊ ﻛﺘﺎﺑﺨﺎﻧﻪ اي
WWW.IRANMEET.COM
411 4 ; 1 ; C Logical sequence
ﻛﺎرﺑﺮ
ﺗﻮاﻟﻲ ﻣﻨﻄﻘﻲ ﺗﻮان ﻋﻤﻠﻴﺎﺗﻲ
Throughput Network topology
ﺗﻮﭘﻮﻟﻮژي ﺷﺒﻜﻪ ﺗﻮده
Bags Distributed
ﺗﻮزﻳﻊ ﺷﺪه
Descriptive
ﺗﻮﺻﻴﻔﻲ ج ﺟﺎﺑﺠﺎﻳﻲ ﭘﺬﻳﺮي
Portability
ﺟﺎﻣﻌﻴﺖ
Integrity Transaction integrity
ﺟﺎﻣﻌﻴﺖ ﺗﺮاﻛﻨﺶ
Java-script
ﺟﺎوا اﺳﻜﺮﻳﭙﺖ ﺟﺎﻳﺪﻫﻲ داده
Data placement Relational algebra
ﺟﺒﺮ راﺑﻄﻪاي
System defined Schema definition Undefined Generalization Restricted Query modification Request modification Schema evolution Interpretation Closed World interpretation Divide
(ﺟﺪاﻳﻲ )اﻧﻔﺮاد
Mono- server
Isolation Lookup table
ﺟﺪول ﺟﺴﺘﺠﻮ
Monadic Single user (Personal)
ﺟﺪول ﻛﺎري
Working table Persistent (Permanent) table
Single-valued ﺟﺪول ﻣﺎﻧﺪﮔﺎر (ﺟﺪول ﻣﺒﻨﺎ)ﭘﺎﻳﻪ
Base Table
ﺟﺪول ﻣﺠﺎزي
Virtual table Temporary table Islands of information
ﺟﺪول ﻣﻮﻗﺖ ﺟﺰاﻳﺮ اﻃﻼﻋﺎﺗﻲ ﺟﺰﻳﻲ
Partial
...ﺟﺰﻳﻲ اﺳﺖ از
IS-A PART-OF Attribute features
ﺟﻨﺒﻪ ﻫﺎي ﺻﻔﺖ ﺟﻬﺎن ﺑﺴﺘﻪ
Closed World World Wide Web (W W W ) Universe of Discourse
ﺟﻬﺎن ﺗﺎزه )ﺷﺒﻜﻪ ﺟﻬﺎﻧﻲ (اﻃﻼع رﺳﺎﻧﻲ ﺟﻬﺎن ﻣﻮرد ﻧﻈﺮ ﺟﻬﺎن واﻗﻊ
Real world چ Gantt chart CHEMBERLIN
ﭼﺎرت ﮔﺎﻧﺖ ﭼﻤﺒﺮﻟﻴﻦ
Special purpose Information Technology (IT) Virtual Parent Child Link Certification Multiversioning Timestamping Locking technique Two Phase Locking (2PL) Object Modeling Technique Piece ALL-Key Database tuning Buttleneck Serializable
Ramin.Samad@yahoo.com
ﺗﻌﺮﻳﻒ ﺷﺪه در ﺳﻴﺴﺘﻢ ﺗﻌﺮﻳﻒ ﺷﻤﺎ ﺗﻌﺮﻳﻒ ﻧﺸﺪه ﺗﻌﻤﻴﻢ (ﺗﻌﻮﻳﻘﻲ )ﻣﺸﺮوط ﺗﻐﻴﻴﺮ ﭘﺮﺳﺶ ﺗﻐﻴﻴﺮ درﺧﻮاﺳﺖ ﺗﻐﻴﻴﺮ ﺷﻤﺎ ﺗﻔﺴﻴﺮ ﺗﻔﺴﻴﺮ ﺟﻬﺎن ﺑﺴﺘﻪ ﺗﻘﺴﻴﻢ ﺗﻚ ﺧﺪﻣﺘﮕﺰار ﺗﻚ ﻋﻤﻠﻮﻧﺪي ﺗﻚ ﻛﺎرﺑﺮي ﺗﻚ ﻣﻘﺪاري ﺗﻚ ﻣﻨﻈﻮره ﺗﻜﻨﻮﻟﻮژي اﻃﻼﻋﺎت VPCL ﺗﻜﻨﻴﻚ (ﺗﻜﻨﻴﻚ ﺗﺎﻳﻴﺪ )ﺗﺼﺪﻳﻖ ﺗﻜﻨﻴﻚ ﭼﻨﺪ ﻧﺴﺨﻪ ﺳﺎزي ﺗﻜﻨﻴﻚ زﻣﺎﻧﻤﻬﺮ ﺗﻜﻨﻴﻚ ﻗﻔﻞ ﮔﺬاري ﺗﻜﻨﻴﻚ ﻗﻔﻞ ﮔﺬاري دو ﻣﺮﺣﻠﻪ اي ﺗﻜﻨﻴﻚ ﻣﺪﻟﺴﺎزي ﺷﻴﺊ ﺗﻜﻪ ﺗﻤﺎم ﻛﻠﻴﺪ ﺗﻨﻈﻴﻢ ﭘﺎﻳﮕﺎهداده ﻫﺎ ﺗﻨﮕﻨﺎ ﺗﻮاﻟﻲ ﭘﺬﻳﺮ
WWW.IRANMEET.COM
ﻣﻮﺑﺎﻳﻞ ﺧﺪﻣﺘﮕﺰار ﻣﻴﺰﺑﺎن
Host server
ﺧﺪﻣﺘﮕﺰار اﺧﺒﺎر
News server
ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎهداده ﻫﺎ
Database server
ﺧﺪﻣﺘﮕﺰار ﭘﺮﺳﺶ
Query server Message server Transaction server Printer server File server Document server Micro real world Location anatomy
Test data Data keepingdata processing Stored data Data Communication
ﭼﻨﺪ ﺑﻪ ﭼﻨﺪ
Multi database
ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ
Multi query
ﭼﻨﺪ ﭘﺮﺳﺸﻲ
Multi ring
ﭼﻨﺪ ﺣﻠﻘﻪ اي ﭼﻨﺪ ﺧﺪﻣﺘﮕﺰار
ﺧﺪﻣﺘﮕﺰار ﺗﺮاﻛﻨﺸﻬﺎ
Multi- media
ﭼﻨﺪ رﺳﺎﻧﻪ اي
ﺧﺪﻣﺘﮕﺰار ﭼﺎپ
Multi user
ﺧﺪﻣﺘﮕﺰار ﻓﺎﻳﻞ
Multi set Multi- Client / MultiServer(MC / MS)
ﺧﻮد ﻣﺨﺘﺎري ﻣﺤﻠﻲ ﺧﻮد واﺑﺴﺘﮕﻲ ﺧﻮﺷﻪ واري د
Dynamic data
Many to many
Multi-server
ﺧﺮد ﺟﻬﺎن واﻗﻊ
Clustering
داده ﭘﻮﻳﺎ داده ﺗﺴﺘﻲ داده ﭘﺮدازي-داده داري داده ذﺧﻴﺮه ﺷﺪه داده رﺳﺎﻧﻲ
Multi- Client / Server(MC /S)
Protection
دﺳﺘﺮﺳﻲ)ﺑﻬﺘﺮ ( ﺑﻪ داده
Data
دﺳﺘﻮر ﻋﻤﻠﻴﺎت در داده
ﭼﻨﺪي ﭼﻨﺪي ﻧﻤﺎ
ﺣﺎﻓﻈﻪ ﺻﻔﺎت
ﺣﺬف دﻳﺪ
داراي ﻛﻠﻴﺪ
Degree Data accessibility
ﭼﻨﺪ ﻣﻘﺪاري
DROP view
Key preserving
درﺟﻪ
ﺧﺪﻣﺘﮕﺰار
ﺣﺎﻟﺖ راﺑﻄﻪ
داده ﻧﻬﺴﺖ
دﺗﺮﻣﻴﻨﺎن
ﭼﻨﺪ
Relation state
Missing data
Determinant
-ﻣﺸﺘﺮي
ﺣﺎﻓﻈﻪ ﻧﻬﺎن
Hidden data
داﻣﻬﺎي ﭘﻴﻮﻧﺪي
ﻳﻚ
Cache memory
داده ﻧﻬﺎن
ﭼﻨﺪي-دام ﻳﻚ
ﭼﻨﺪ
ﺧﺪﻣﺘﮕﺰار
Attribute preserving
داده ﺷﻨﺎﺳﺎﻧﻪ
Fan trap Connection traps
-ﻣﺸﺘﺮي
ح
Data logical
دام ﺷﻜﺎف
ﭼﻨﺪ
Quantifier
Tuple oriented Relational calculus Domain oriented
Chasm trap
ﭼﻨﺪ ﻣﺠﻤﻮﻋﻪ
Multiplicity
داده زﻣﺎﻧﻤﻨﺪ
دام ﺣﻠﻘﻪ اي
ﭼﻨﺪ ﻛﺎرﺑﺮي
Multi valued
Temporal data
Loop trap
ﭼﻦ
CHEN
ﺧﺪﻣﺘﮕﺰار ﭘﻴﺎم
ﺧﺪﻣﺘﮕﺰار ﻣﺪارك و اﺳﻨﺎد
Self dependency
412
ﺣﺴﺎب ﺗﺎﭘﻠﻲ ﺣﺴﺎب راﺑﻄﻪاي ﺣﺴﺎب ﻣﻴﺪاﻧﻲ ﺣﻔﺎﻇﺖ ﺣﻘﻮق دﺳﺘﻴﺎﺑﻲ
Access right Reference cycle Spatial and geographic database system
ﺣﻠﻘﻪ ارﺟﺎع ﺣﻴﻄﻪ ﻫﺎي ﻓﻀﺎﻳﻲ و ﺟﻐﺮاﻓﻴﺎﻳﻲ خ
External / External Unload Mobile database server
Ramin.Samad@yahoo.com
ﺧﺎرﺟﻲ/ ﺧﺎرﺟﻲ ﺧﺎﻟﻲ ﻛﺮدن ﺧﺪﻣﺎت ﭘﺎﻳﮕﺎهداده ﻫﺎي
WWW.IRANMEET.COM
413 4 ; 1 ; C Active dictionary
دﻳﻜﺸﻨﺮي ﻓﻌﺎل ذ ذاﺗﻲ
Intrinsic
ذﺧﻴﺮه ﺷﺪه
Stored data Information Storage and Retrieval (ISR)
ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت ر
Intension Intermediate relation Nested relation Well designed relation Stored relation Expression relation Universal relation Not Normal relation (NNR: N2R)
Manipulation Language Data Definition Language Data Manipulation Language Data Control Language Prescriptive
راﺑﻄﻪ راﺑﻄﻪ ﺑﻴﻨﺎﺑﻴﻨﻲ راﺑﻄﻪ ﺗﻮدر ﺗﻮ راﺑﻄﻪ ﺧﻮش ﻃﺮح راﺑﻄﻪ ذﺧﻴﺮه ﺷﺪه
Category Categorization Remote data access Remote data access
راﺑﻄﻪ ﻋﺒﺎرﺗﻲ
Accessibility Multiple-user access
راﺑﻄﻪ ﻋﻤﻮﻣﻲ
Mobile office Accuracy
راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل راﺑﻄﻪ ﻣﺒﻨﺎ
Renaming 2Decomposable
Base relation Derived relation
راﺑﻄﻪ ﻣﺸﺘﻖ
Two-tier
Named relation
راﺑﻄﻪ ﻧﺎﻣﺪار
Bi- structure
Result relation Normal relation
راﺑﻄﻪ ﻧﺘﻴﺠﻪ
Dyadic
راﺑﻄﻪ ﻧﺮﻣﺎل
C.J.DATE
Referencing
رﺟﻮع ﻛﻨﻨﺪه
Data logical Conceptual view
Class Classification Database growth Grow and shrink Object behavior Behavioral Flat Linear record Dummy record Structured record
رده رده ﺑﻨﺪي رﺷﺪ ﭘﺎﻳﮕﺎهداده رﺷﺪ و ﻛﺎﻫﺶ رﻓﺘﺎر ﺷﻴﺊ رﻓﺘﺎري رﻛﻮرد ﺧﻄﻲ ﻣﺴﻄﺢ رﻛﻮرد ﺳﺎﺧﺘﮕﻲ رﻛﻮرد ﺳﺎﺧﺘﻤﻨﺪ
Materialized view
دﺳﺘﻮرات ﺗﻌﺮﻳﻒ داده ﻫﺎ دﺳﺘﻮرات ﻋﻤﻠﻴﺎت روي داده ﻫﺎ دﺳﺘﻮرات ﻛﻨﺘﺮل داده ﻫﺎ دﺳﺘﻮري دﺳﺘﻪ دﺳﺘﻪ ﺑﻨﺪي دﺳﺘﻴﺎﺑﻲ از دور ﺑﻪ داده ﻫﺎ دﺳﺘﻴﺎﺑﻲ ﺑﻪ داده ﻫﺎي دوردﺳﺖ دﺳﺘﻴﺎﺑﻲ ﺑﻬﺘﺮ دﺳﺘﻴﺎﺑﻲ ﭼﻨﺪ ﻛﺎرﺑﺮدي دﻓﺘﺮ ﻛﺎر ﻫﻤﺮاه دﻗﺖ دﮔﺮﻧﺎﻣﻲ دو راﺑﻄﻪ دو ردﻳﻔﻲ دو ﺳﺎﺧﺘﺎره دو ﻋﻤﻠﻮﻧﺪي دﻳﺖ دﻳﺘﺎﻟﻮگ دﻳﺪ ادراﻛﻲ دﻳﺪ ﺑﻪ ﻋﻴﻨﻴﺖ در آﻣﺪه ()ﺳﺎﺧﺘﻪ ﺷﺪه
External view
دﻳﺪ ﺧﺎرﺟﻲ
Internal view
دﻳﺪ داﺧﻠﻲ
View on view Temporary view Database perspective Application perspective Passive dictionary
Ramin.Samad@yahoo.com
دﻳﺪ روي دﻳﺪ دﻳﺪ ﻣﻮﻗﺖ دﻳﺪﮔﺎه ﭘﺎﻳﮕﺎﻫﻲ دﻳﺪﮔﺎه ﻛﺎرﺑﺮدي دﻳﻜﺸﻨﺮي ﻏﻴﺮ ﻓﻌﺎل
WWW.IRANMEET.COM
Constraint specification language Data Sub Language Network Database Language Object Oriented Language(OOL) Universal Modeling Language (UML) Host Language 4GL Super table Super type Super entity type peak time Response time
زﺑﺎن ﺗﻮﺻﻴﻒ ﻣﺤﺪودﻳﺖ زﺑﺎن داده اي ﻓﺮﻋﻲ زﺑﺎن ﺳﻴﺴﺘﻢ ﺷﺒﻜﻪ اي زﺑﺎن ﺷﻴﺊ ﮔﺮا
زﺑﺎن ﻋﻤﻮﻣﻲ ﻣﺪل ﺳﺎزي زﺑﺎن ﻣﻴﺰﺑﺎن زﺑﺎن ﻧﺴﻞ ﭼﻬﺎرم زﺑﺮ ﺟﺪول زﺑﺮ رده زﺑﺮ ﻧﻮع زﻣﺎن اوج زﻣﺎن ﭘﺎﺳﺨﺪﻫﻲ
Temporal
زﻣﺎﻧﻤﻨﺪ
Sub table
زﻳﺮ ﺟﺪول
Subtype
زﻳﺮ رده
Subtype
زﻳﺮ ﻧﻮع
Shared entity Sub entity type س Abstractive construct Logical construct Data Structure Tabular Data Structure (TDS) Relational Data Structure Box data structure Hierarchical Data Structure Network Data Structure (NDS)
زﻳﺮ ﻧﻮع ﻣﺸﺘﺮك زﻳﺮ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ
ﺳﺎﺧﺖ اﻧﺘﺰاﻋﻲ ﺳﺎﺧﺖ ﻣﻨﻄﻘﻲ ﺳﺎﺧﺘﺎر داده اي ﺳﺎﺧﺘﺎر داده اي ﺟﺪوﻟﻲ ﺳﺎﺧﺘﺎر داده اي ارﺗﺒﺎﻃﻲ ﺳﺎﺧﺘﺎر داده اي ﺟﻌﺒﻪ اي ﺳﺎﺧﺘﺎر داده اي ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺒﻲ ﺳﺎﺧﺘﺎر داده اي ﺷﺒﻜﻪ اي
Enhanced (Extended) ER Top-down design method Mixed design method Relational synthesis Event journaling
EER روش روش ﺑﺎﻻ ﺑﻪ ﭘﺎﻳﻴﻦ روش ﺗﺮﻛﻴﺒﻲ روش ﺳﻨﺘﺰ راﺑﻄﻪاي روﻳﺪاد ﻧﮕﺎري روﻳﻪ
Procedure
روﻳﻪ اي
Procedural Responding procedure Stored procedure Documented procedure
روﻳﻪ ﭘﺎﺳﺨﮕﻮ روﻳﻪ ذﺧﻴﺮه ﺷﺪه روﻳﻪ ﻣﺴﺘﻨﺪ (رﻫﺎﻧﺎ )راهاﻧﺪاز
Trigger ز
زاﺑﻄﻪ ﻣﺠﺎزي
Virtual relation ZANIOLO Programming Language (PL) Structured Query Language (SQL) Logic programming Language Database Language Object Oriented Database Language Query Language Nested relational Query language Object Query Language(OQL) View Definition Language Storage Definition Language
Ramin.Samad@yahoo.com
414
زاﻧﻴﻮﻟﻮ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﺳﺎزي SQL زﺑﺎن زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻣﻨﻄﻖ زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ
زﺑﺎن ﭘﺎﻳﮕﺎﻫﻲ ﺷﻴﺊ ﮔﺮا زﺑﺎن ﭘﺮﺳﺶ زﺑﺎن ﭘﺮﺳﺶ ﺑﺎ راﺑﻄﻪ ﻏﻴﺮ ﻧﺮﻣﺎل زﺑﺎن ﭘﺮﺳﺶ ﺷﻴﺊ ﮔﺮا (زﺑﺎن ﺗﻌﺮﻳﻒ دﻳﺪ ذﺧﻴﺮه
ﺗﻌﺮﻳﻒ
زﺑﺎن ﺳﺎزي
WWW.IRANMEET.COM
415 4 ; 1 ; C Executive Information System (EIS) Very large distributed information system Information System (IS) Very large information integrated system Data Warehousing Remote Data Access System Mobile database system World Wide Web Database system (WWWDB) Mobile database system MultiDimensional OLAR Decision Support System Integrated system Tabular system Multimedia-data mining Fully relational system Minimal relational system Complete relational system Fuzzy data mining and knowledge discovery system
ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎت اﺟﺮاﻳﻲ ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎت ﺗﻮزﻳﻊ ﺷﺪه ﺑﺴﻴﺎر ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎﺗﻲ ﺳﻴﺴﺘﻢ اﻃﻼﻋﺎﺗﻲ ﺑﺴﻴﺎر ﺑﺰرگ ﺳﻴﺴﺘﻢ اﻧﺒﺎرش داده ﻫﺎ ﺳﻴﺴﺘﻢ ﺑﺎ اﻣﻜﺎن دﺳﺘﻴﺎﺑﻲ ﺑﻪ داده ﻫﺎ از دور ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهداده اي ﺑﺎ ﻣﻌﻤﺎري در اﻃﻼع
ﭘﺎﻳﮕﺎهداده
ﺳﻴﺴﺘﻢ
ﺟﻬﺎﻧﻲ
ﺷﺒﻜﻪ رﺳﺎﻧﻲ
ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎﻫﻬﺎي ﻫﻤﺮاه ﺳﻴﺴﺘﻢ ﭘﺮدازش ﺗﺤﻠﻴﻠﻲ ﺑﺮﺧﻂ ﺳﻴﺴﺘﻢ ﭘﺸﺘﻴﺒﺎن ﺗﺼﻤﻴﻢ (ﺳﻴﺴﺘﻢ ﺟﺎﻣﻌﻪ )ﻳﻜﭙﺎرﭼﻪ ﺳﻴﺴﺘﻢ ﺟﺪوﻟﻲ ﺳﻴﺴﺘﻢ داده ﻛﺎوي ﭼﻨﺪ رﺳﺎﻧﻪ اي ﺳﻴﺴﺘﻢ راﺑﻄﻪاي ﺗﺎم ﺳﻴﺴﺘﻢ راﺑﻄﻪاي ﺣﺪاﻗﻞ ﺳﻴﺴﺘﻢ راﺑﻄﻪاي ﻛﺎﻣﻞ
ﺳﻴﺴﺘﻢ ژوﻻي داده ﻛﺎوي و ﻛﺸﻒ داﻧﺶ
Inverted list data structure Hyper graph Database Structure
ﺳﺎﺧﺘﺎر داده اي ﻟﻴﺴﺘﻬﺎي وارون اي
داده
ﺳﺎﺧﺘﺎر ﻫﺎﻳﭙﺮﮔﺮاﻓﻲ ﺳﺎﺧﺘﺎري
Structural
ﺳﺎﺧﺘﮕﺮ
Constructor Structured Data materialization Indirect materialization Direct materialization Single Type compatible Consistency Transaction Processing Performance Council (TPC)
ﺳﺎﺧﺘﻤﻨﺪ ﺳﺎﺧﺘﻦ داده ﺳﺎﺧﺘﻦ ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ ﺳﺎﺧﺘﻦ ﻣﺴﺘﻘﻴﻢ ﺳﺎده ﺳﺎزﮔﺎر ﻧﻮع ﺳﺎزﮔﺎري
TPC ﺳﺎزﻣﺎن ﺳﺎزﻧﺪ
Component
ﺳﺮ آﻳﻨﺪ
Heading Asset Conceptual level
ﺳﺮﻣﺎﻳﻪ ( ﺳﻄﺢ ادراﻛﻲ )ﻣﻔﻬﻮﻣﻲ
External level
ﺳﻄﺢ ﺧﺎرﺟﻲ
Internal level
ﺳﻄﺢ داﺧﻠﻲ
Conventional Relation predicate Existential Universal Three-tier Data mining and knowledge discovery system Conference On Data System Language (CODASYL) R-system
Ramin.Samad@yahoo.com
ﺳﻨﺘﻲ ﺳﻨﺪ ارﺗﺒﺎط ﺳﻮر وﺟﻮدي (ﺳﻮر ﻫﻤﮕﺎﻧﻲ )ﻋﻤﻮﻣﻲ ﺳﻪ ردﻳﻔﻲ داده ﻛﺎوي و
ﺳﻴﺴﺘﻢ
ﻛﺸﻒ ﺷﻨﺎﺧﺖ
ﺳﻴﺴﺘﻢ ﻛﻮداﺳﻴﻞ R ﺳﻴﺴﺘﻢ
WWW.IRANMEET.COM
ﺷﺎﻣﻞ اﺳﺖ
CONTAINS
ﺷﺒﻜﻪ
Network Pseudo transitivity Natural language like View definition condition (s) Membership condition
ﺷﺒﻪ ﺗﻌﺪي ﺷﺒﻪ زﺑﺎن ﻃﺒﻴﻌﻲ ﺷﺮط ﺗﻌﺮﻳﻒ داده ﺷﺮط ﻋﻀﻮﻳﺖ ﺷﺮﻛﺖ ﻛﻨﻨﺪه ﺷﻤﺎ ﺷﻤﺎي ادراﻛﻲ ﺷﻤﺎي ادراﻛﻲ ﺟﺎﻣﻊ ﺷﻤﺎي ادراﻛﻲ ﻣﺤﻠﻲ
External schema
ﺷﻤﺎي ﺧﺎرﺟﻲ
Internal schema
ﺷﻤﺎي داﺧﻠﻲ
Relation schema
ﺷﻤﺎي راﺑﻄﻪ ﺷﻤﻮل
Containment
ﺷﻨﺎﺳﺎي
Identifying ﺗﻌﺮﻳﻒ Module AuthID Schema AuthID Current AuthID SQL-Session AuthID Authorization Identifier Entity Identifier (EID) Intuitive Object Data-object Active Data Objects (ADO) Access Method ص
(ﺳﻴﺴﺘﻢ ﺳﺎز ) ﭘﻴﺎده ﺳﺎز ﺳﻴﺴﺘﻢ ﺷﻨﺎﺧﺘﻲ ﺳﻴﺴﺘﻢ ﻓﺎﻳﻠﻴﻨﮓ
Filing System
Participant Schema Conceptual schema Global conceptual schema Local conceptual schema
System developer Knowledgebased system
ﺑﺮاي
ﺷﻨﺎﺳﻪ ﻣﺎﺟﻮل
ﺷﻨﺎﺳﻪ ﺗﻌﺮﻳﻒ ﺷﻤﺎ ﺷﻨﺎﺳﻪ ﺟﺎري SQL ﺷﻨﺎﺳﻪ ﻛﺎر ﺑﺎ ﺷﻨﺎﺳﻪ ﻣﺠﺎز ﺷﻤﺎري ﺷﻨﺎﺳﻪ ﻣﻮﺟﻮدﻳﺖ ﺷﻬﻮدي ﺷﻴﺊ داده-ﺷﻴﺊ ﺷﻴﺊ ﻫﺎي داده اي ﻓﻌﺎل ﺷﻴﻮه دﺳﺘﻴﺎﺑﻲ
Active DBMS Active Database Management System Application system Conventional system Database Management System (DBMS) Real-time database management system Relational Database Management System Object Relational Database Management System Object Oriented Database Management System Universal Database Management System Knowledge Base Management System (KBMS) Multi database management system Data Management System (DMS) Intelligent system ش
Ramin.Samad@yahoo.com
416
ﺳﻴﺴﺘﻢ ﻓﻌﺎل ﺳﻴﺴﺘﻢ ﻓﻌﺎل ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده ﺳﻴﺴﺘﻢ ﻛﺎرﺑﺮدي ﺳﻴﺴﺘﻢ ﻣﺘﻌﺎرف ﻣﺪﻳﺮﻳﺖ
ﺳﻴﺴﺘﻢ ﭘﺎﻳﮕﺎهداده ﻫﺎ
ﻣﺪﻳﺮﻳﺖ
ﺳﻴﺴﺘﻢ
ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺑﻲ درﻧﮓ ﻣﺪﻳﺮﻳﺖ
ﺳﻴﺴﺘﻢ
ﭘﺎﻳﮕﺎهداده ﻫﺎي راﺑﻄﻪاي ﻣﺪﻳﺮﻳﺖ
ﺳﻴﺴﺘﻢ
- ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺷﻴﺊ راﺑﻄﻪاي ﻣﺪﻳﺮﻳﺖ
ﺳﻴﺴﺘﻢ
ﭘﺎﻳﮕﺎهداده ﻫﺎي ﺷﻴﺊ ﮔﺮا ﻣﺪﻳﺮﻳﺖ
ﺳﻴﺴﺘﻢ
) ﭘﺎﻳﮕﺎهداده ﻫﺎي ﻫﻤﮕﺎﻧﻲ (ﻋﻤﻮﻣﻲ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎه ﺷﻨﺎﺧﺖ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ داده ﻫﺎ ﺳﻴﺴﺘﻢ ﻫﻮﺷﻤﻨﺪ
WWW.IRANMEET.COM
417 4 ; 1 ; C product Join selectivity factor Weak ط Conceptual design Design by analysis
ﮔﺰﻳﻨﺶ
ﻳﺎﻓﺘﻪ
Correcthness
ﺻﺤﺖ
ﺿﺮﻳﺴﺐ
Data export
ﺻﺪور داده ﻫﺎ
ﻋﻤﻠﻜﺮد ﭘﻴﻮﻧﺪ ﺿﻌﻴﻒ
Clean design Physical design Orthogonal design
ﻃﺮاﺣﻲ ادراﻛﻲ ﻃﺮاﺣﻲ ﺑﺎ ﺗﺤﻠﻴﻞ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻃﺮاﺣﻲ ﺑﻬﺘﺮ و واﺿﺢ ﻃﺮاﺣﻲ ﻓﻴﺰﻳﻜﻲ
ﻃﺮاﺣﻲ ﻣﻨﻄﻘﻲ ﻃﺮاﺣﻲ ﻧﺎ ﻣﺘﻌﺎﻣﺪ
Execution plan
ﻃﺮح اﺟﺮا
Abort Default length ع Side effect Relational expression Safe expression Unsafe expression
ﻃﺮح اﺟﺮاي ﻣﺘﻮاﻟﻲ ﻃﺮح اﺟﺮاي ﻫﻤﺮوﻧﺪ ﻃﺮد ﻃﻮل ﭘﻴﺶ ﻧﻬﺎده ﻋﺎرﺿﻪ ﺟﺎﻧﺒﻲ ﻋﺒﺎرت ﺟﺒﺮ راﺑﻄﻪاي ﻋﺒﺎرت ﻣﻄﻤﺌﻦ ﻋﺒﺎرت ﻧﺎﻣﻄﻤﺌﻦ
No action
ﻋﺪم اﻗﺪام
Asymmetry
ﻋﺪم ﺗﻘﺎرن
Member
ﻋﻀﻮ
Operand
ﻋﻤﻠﻮﻧﺪ
Action Functionally Manipulative Fail ( Failure) غ
ﺻﻔﺖ ﻋﻤﺪه ﺻﻔﺖ ﻣﺠﺎزي
Virtual attribute Calculated attribute
ﺻﻔﺖ ﻣﺤﺎﺳﺒﻪ ﺷﺪه ﺻﻔﺖ ﭘﻴﻮﻧﺪ
Join attribute Defining attribute
ﺻﻔﺖ ﻣﻌﺮف ﺻﻔﺤﻪ
Page
ﺻﻮرت ﭘﻴﺸﻮﻧﺪي
Prenex form ﻃﺮاﺣﻲ ﻣﺘﻌﺎﻣﺪ
Logical design Non orthogonal design Serial schedule Concurrent schedule
ﺻﻔﺖ ﺗﻮﺻﻴﻔﻲ
Prime attribute
ﺗﻮﻟﻴﺪ ﺑﻪ ﻛﻤﻚ/ﻃﺮاﺣﻲ CAD/CAM
ﺻﻔﺖ
Attribute Descriptive attribute
ﻋﻤﻠﻲ ﻋﻤﻠﻴﺎﺗﻲ ﻋﻤﻠﻴﺎﺗﻲ (ﻋﻴﺐ )ﻧﻘﺺ
Boyce-Codd Normal Form Redundency Free Normal Form Restriction Union Normal Form (RUNF) Key-Complete Normal Form Domain - Key Normal Form Inclusion Dependency Normal Form Fifth Normal Form Fourth Normal Form Second Normal Form Third Normal Form First Normal Form Formal ض Anti semi join Extended Cartesian
Ramin.Samad@yahoo.com
-ﺻﻮرت ﻧﺮﻣﺎل ﺑﺎﻳﺲ ﻛﺎد ﺑﻲ
ﻧﺮﻣﺎل
ﺻﻮرت اﻓﺰوﻧﮕﻲ
-ﺻﻮرت ﻧﺮﻣﺎل ﺗﺤﺪﻳﺪ اﺟﺘﻤﺎع ﻛﺎﻣﻼ
ﻧﺮﻣﺎل
ﺻﻮرت ﻛﻠﻴﺪ
-ﺻﻮرت ﻧﺮﻣﺎل ﻣﻴﺪان ﻛﻠﻴﺪي ﺻﻮرت ﻧﺮﻣﺎل واﺑﺴﺘﮕﻲ ﺷﻤﻮل ﺻﻮرت ﭘﻨﺠﻢ ﻧﺮﻣﺎل ﺻﻮرت ﭼﻬﺎرم ﻧﺮﻣﺎل ﺻﻮرت دوم ﻧﺮﻣﺎل ﺻﻮرت ﺳﻮم ﻧﺮﻣﺎل ﺻﻮرت ﻧﺨﺴﺖ ﻧﺮﻣﺎل ﺻﻮري ﺿﺪ ﻧﻴﻢ ﭘﻴﻮﻧﺪ ﺿﺮب ﻛﺎﺗﺰﻳﻦ ﮔﺴﺘﺮش
WWW.IRANMEET.COM
theorem ﻗﻔﻞ ﮔﺬاري
Locking و ﺗﻮﻟﻴﺪ Locking/logging
ﻗﻔﻞ ﮔﺬاري ﻓﺎﻳﻠﻬﺎي ﺛﺒﺖ
Inference rules Business rule Production rules
ﻗﻮاﻋﺪ ﺗﺠﺎري
Federated
Access rules Event- condition -action rules Semantic rule Business rules User defined rule Transparency rules Strong Analogue Qualifier ك Catalogue Global System Catalog (GSC )
ﻗﻮاﻋﺪ ﺗﻮﻟﻴﺪ ﻗﻮاﻋﺪ دﺳﺘﻴﺎﺑﻲ -ﺷﺮط-روﻳﺪاد
ﻗﻮاﻋﺪ
ﻗﻮاﻋﺪ ﺳﻤﺎﻧﺘﻴﻚ
ﻓﺎﻳﻠﻬﺎي ﺛﺒﺖ ﺗﺮاﻛﻨﺸﻬﺎ ﻓﺪرال ﻓﺮا اﺟﺘﻤﺎع
Outer union
ﻓﺮا ﭘﻴﻮﻧﺪ ﭼﭗ
Left outer join
ﻓﺮا ﭘﻴﻮﻧﺪ راﺳﺖ
Right outer join Full outer join
ﻓﺮا ﭘﻴﻮﻧﺪ ﻛﺎﻣﻞ ﻓﺮاﺧﻮان از دور
Remote call
(ﻓﺮاﻛﺮد )ﻛﻼز
ﻗﻮاﻋﺪ ﻓﻌﺎﻟﻴﺘﻬﺎ
Clause
ﻗﻮاﻋﺪ ﻛﺎرﺑﺮي
Virtual Child Well Formed Formula ( WFF)
ﻓﺮﻣﻮل ﺧﻮش ﺳﺎﺧﺖ
DBMS vendors
ﻓﺮوﺷﻨﺪﮔﺎن ﺳﻴﺴﺘﻤﻬﺎ
ﻗﻮاﻋﺪ ﻧﺎﻣﺮﺋﻲ ﺑﻮدن ﻗﻮي ﻗﻴﺎﺳﻲ ﻗﻴﺪ ﻛﺎﺗﺎﻟﻮگ ﻛﺎﺗﺎﻟﻮگ ﺟﺎﻣﻊ ﻛﺎد
Job
ﻛﺎر ﻛﺎراﻳﻲ ﻛﺎرﺑﺮ ﺑﺎ زﺑﺎن ﻃﺒﻴﻌﻲ
End user
ﻛﺎرﺑﺮ ﭘﺎﻳﺎﻧﻲ
Voice driven
ﻛﺎرﺑﺮ ﺻﻮﺗﻲ
Graphic driven Real time application Application developer Global application Local application
ﻓﺎﮔﻴﻦ
اﻗﺪام
CODD Performance Natural language driven
ﻏﻴﺮ ﻗﺎﺑﻞ اﻋﻤﺎل
Inapplicable ف
ﻗﻮاﻋﺪ اﺳﺘﻨﺘﺎج
Rules
ﻏﻴﺮ ﺻﻮري
Informal
FAGIN Transactions Log Files
ﻗﻮاﻋﺪ
418
ﻛﺎرﺑﺮ ﮔﺮاﻓﻴﻜﻲ ﻛﺎرﺑﺮد ﺑﻼدرﻧﮓ ( ﻛﺎرﺑﺮد ﺳﺎز ) ﺑﻬﺮه ﺑﺮدار ﻛﺎرﺑﺮدي ﺳﺮﺗﺎﺳﺮي ﻛﺎرﺑﺮدي ﻣﺤﻠﻲ
Overhead Data compression Information space
ﻓﺮزﻧﺪ ﻣﺠﺎزي
(ﻓﺰوﻧﻜﺎري )ﺑﻴﺸﻜﺎري ﻓﺸﺮده ﺳﺎزي داده ﻫﺎ ﻓﻀﺎي اﻃﻼﻋﺎﺗﻲ ﻓﻀﺎي ﭘﺎﻳﮕﺎهداده
Database space Named data items
ﻓﻘﺮه داده ﻧﺎﻣﺪار ﻓﻘﻂ رﻳﺸﻪ
Root only ق View updatability Entity integrity rule Referential integrity rule Integrity rule ( constraint ) Five- minute rule Active rule One- minute rule HEATH
Ramin.Samad@yahoo.com
ﻗﺎﺑﻠﻴﺖ ﺑﻬﻨﮕﺎم ﺳﺎزش دﻳﺪ ﺟﺎﻣﻌﻴﺖ
ﻗﺎﻋﺪه ﻣﻮﺟﻮدﻳﺘﻲ
ﻗﺎﻋﺪه ﺟﺎﻣﻌﻴﺘﻲ ارﺟﺎﻋﻲ ( ﻗﺎﻋﺪه ) ﻣﺤﺪودﻳﺖ ﺟﺎﻣﻌﻴﺖ ﻗﺎﻋﺪه ﭘﻨﺞ دﻗﻴﻘﻪ ﻗﺎﻋﺪه ﻓﻌﺎل ﻗﺎﻋﺪه ﻳﻚ دﻗﻴﻘﻪ ﻗﻀﻴﻪ ﻫﻴﺚ
WWW.IRANMEET.COM
419 4 ; 1 ; C Summarize Repeating group Proposition True proposition Option Spread sheet
ﮔﺮوه ﺑﻨﺪي ﮔﺮوه ﺗﻜﺮار ﺷﻮﻧﺪه
Client machine
ﮔﺰاره درﺳﺖ
Main computer
ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ
( ﮔﺰﻳﺪار )ﮔﺰﻳﻨﻪ
Super computer
ﻛﺎﻣﭙﻴﻮﺗﺮ ﺧﻴﻠﻲ ﺑﺰرگ
ﮔﺴﺘﺮﺑﺮگ
Scalability
ﮔﺴﺘﺮش ﭘﺬﻳﺮي
Layer Snapshot REVOKE م Persistent Stored Modules ( PSM ) Abstract machine Diskless machine Database Machine Backend DB server Owner
ﮔﺴﺘﺮش ﭘﺬﻳﺮي ﻧﻮع داده اي ( ﮔﺸﺖ زﻧﻲ ) ﮔﺬار ﮔﺮي ﻻﻳﻪ ﻟﺤﻈﻪ اي ﻟﻐﻮ ﻣﺎﺟﻮﻟﻬﺎي ذﺧﻴﺮه ﺷﺪه ﻣﺎﻧﺪﮔﺎر ﻣﺎﺷﻴﻦ اﻧﺘﺰاﻋﻲ ﻣﺎﺷﻴﻦ ﺑﺪون دﻳﺴﻚ ﻣﺎﺷﻴﻦ ﭘﺎﻳﮕﺎهداده ﻫﺎ ﻣﺎﺷﻴﻦ ﺧﺪﻣﺘﮕﺰار ﭘﺎﻳﮕﺎﻫﻲ ﭘﺴﺎ ﻣﺎﻟﻚ
Site
( ﻣﺎﻧﻪ ) ﺳﺎﻳﺖ ﻣﺎﻫﻴﺖ ﻣﺒﻨﺎ
Meta byte
ﻣﺘﺎ ﺑﺎﻳﺖ
Meta data
ﻣﺘﺎ داده
Meta rules
ﻣﺘﺎ ﻗﻮاﻋﺪ
Meta-constraint Tuple variable Relation variable(Relvar)
Downsizing De normalization Irreducible Irreduciblity Surrogate
ﻣﺘﺎ ﻣﺤﺪودﻳﺖ ﻣﺘﻐﻴﺮ ﺗﺎﭘﻠﻲ ﻣﺘﻐﻴﺮ راﺑﻄﻪاي
ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺘﻮﺳﻂ ﻛﺎﻫﺶاﻧﺪازه ( ﻛﺎﻫﺶ درﺟﻪ ) ﺳﻄﺢ ﻧﺮﻣﺎﻟﻴﺘﻲ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮ ﻛﺎﻫﺶ ﻧﺎﭘﺬﻳﺮي ﻛﻠﻴﺪ اﺻﻠﻲ ﻛﻠﻴﺪ ﺟﺎﻳﮕﺰﻳﻦ ﻧﻬﺎن
Partial Key
ﻛﻠﻴﺪ ﺟﺰﻳﻲ
Foreign Key
ﻛﻠﻴﺪ ﺧﺎرﺟﻲ
Alternate Key
( ﻣﺎﻧﺎﻳﻲ ) دوام
Base attribute
Mini computer
Primary Key
Durability Nature
ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﺸﺘﺮي
Extension
Browsing ل
Cardinality
ﻛﺎرﺑﺮﻳﺎر
ﮔﺰاره
ﮔﺴﺘﺮده
Data type extensibility
Help
Candidate Key Programming completeness Relationally completeness Structural completeness Computational completeness Data Control Centralized control Online controller Actor Data migration Minimal Database quality گ Gateway Reference graph Oriented graph Collection
Ramin.Samad@yahoo.com
ﻛﻠﻴﺪ دﻳﮕﺮ ﻛﻠﻴﺪ ﻛﺎﻧﺪﻳﺪ ﻛﻤﺎل ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻛﻤﺎل راﺑﻄﻪاي ﻛﻤﺎل ﺳﺎﺧﺘﺎري ﻛﻤﺎل ﻣﺤﺎﺳﺒﺎﺗﻲ ﻛﻨﺘﺮل داده ﻛﻨﺘﺮل ﻣﺘﻤﺮﻛﺰ ﻛﻨﺘﺮوﻟﺮ ﺑﺮ ﺧﻂ ﻛﻨﺸﮕﺮ ﻛﻮﭼﺎﻧﺪن داده ﻛﻬﻴﻨﻪ ﻛﻴﻔﻴﺖ ﭘﺎﻳﮕﺎهداده ﻫﺎ ﮔﺪار ﮔﺮاف ارﺟﺎع ﮔﺮاف ﺟﻬﺖ دار ﮔﺮداﻳﻪ
WWW.IRANMEET.COM
ﻣﺤﻚ زﻧﻲ
Benchmarking Local Operational envirnoment Order-entry environment Data Model (DM) Object Data Model (ODM) CODASYL data model ObjectRelational Data Model Object modeling Semantic Data Modeling Data communication manager
ﻣﺤﻠﻲ ﻣﺤﻴﻂ ﻋﻤﻠﻴﺎﺗﻲ ﻣﺤﻴﻂ ورود ﺳﻔﺎرش ﻣﺪل داده اي ﻣﺪل داده اي ﺷﻴﺊ ﮔﺮا ﻣﺪل داده اي ﻛﻮداﺳﻴﻞ ﻣﺪل راﺑﻄﻪاي ﺷﻴﺊ ﮔﺮا ﻣﺪﻟﺴﺎزي ﺷﻴﺌﻲ ﻣﺪﻟﺴﺎزي ﻣﻌﻨﺎﻳﻲ داده
Session manager Data Administrator
Referenced Composite Independent (Stand alone ) Documentation
ﻣﺘﻐﻴﺮ ﻃﻴﻔﻲ
Range variable
ﻣﺘﻐﻴﺮ ﻣﻴﺪاﻧﻲ
Domain variable
ﻣﺘﻤﺮﻛﺰ
Centralized Problem context
ﻣﺘﻦ ﻣﺴﺌﻠﻪ
Harmonic mean
ﻣﺘﻮﺳﻂ ﻫﺎرﻣﻮﻧﻴﻚ ﻣﺠﺎز ﺷﻤﺎري
Authorization
( ﻣﺠﺘﻤﻊ ) ﻳﻜﭙﺎرﭼﻪ
Integrated
ﻣﺠﺰا
Disjoint Entity types set Queries set Multimember set
ﻣﺠﻤﻮﻋﻪ اﻧﻮاع ﻣﻮﺟﻮدﻳﺘﻬﺎ ﻣﺠﻤﻮﻋﻪ ﭘﺮﺳﺶ ﻣﺠﻤﻮﻋﻪ ﭼﻨﺪ ﻋﻀﻮي ﻫﺎي
راﺑﻄﻪ
ﻣﺠﻤﻮﻋﻪ ﻣﻤﻜﻦ
ﻣﺪﻳﺮ اﻧﺘﻘﺎل داده ﻫﺎ
Attributes set
ﻣﺠﻤﻮﻋﻪ ﺻﻔﺎت
ﻣﺪﻳﺮ اﻧﺘﻘﺎل داده ﻫﺎ
Instances set
ﻣﺠﻤﻮﻋﻪ ﻧﻤﻮﻧﻪ
ﻣﺪﻳﺮ ﭘﺎﻳﮕﺎهداده ﻫﺎ ﻣﺪﻳﺮ ﺗﻤﺎﺳﻬﺎي اﺟﺮاﻳﻲ ﻛﺎرﺑﺮان ﻣﺪﻳﺮ داده ﻣﺪﻳﺮ داده ﻫﺎ
Data Manager Driver manager Request manager Run time manager Catalog manager Database environment management Transactions concurrency management
ﻣﺘﻐﻴﺮ ﺳﻴﺴﺘﻤﻲ
System variable
Universe of relations
DC manager Database Administrator
420
ﻣﺪﻳﺮ دراﻳﻮر ﻣﺪﻳﺮ درﺧﻮاﺳﺘﻬﺎ ﻣﺪﻳﺮ زﻣﺎن اﺟﺮا ﻣﺪﻳﺮ ﻛﺎﺗﺎﻟﻮگ ﻣﺤﻴﻂ
ﻣﺪﻳﺮﻳﺖ ﭘﺎﻳﮕﺎهداده ﻫﺎ
ﻫﻤﺮوﻧﺪي
ﻣﺪﻳﺮﻳﺖ ﺗﺮاﻛﻨﺶ ﻣﺮﺟﻊ ﻣﺮﻛﺐ
(ﻣﺴﺘﻘﻞ )ﺧﻮدﻛﻔﺎ ﻣﺴﺘﻨﺪ ﺳﺎزي
Constraint Semantic integrity constraint Integrity constraint Relation constraint Structural constraint Attribute constraint Transition constraint Semantic constraint Domain constraint Check constraints
ﻣﺤﺪودﻳﺖ ﺟﺎﻣﻌﻴﺖ
ﻣﺤﺪودﻳﺖ ﻣﻌﻨﺎﻳﻲ
ﻣﺤﺪودﻳﺖ ﺟﺎﻣﻌﻴﺘﻲ ﻣﺤﺪودﻳﺖ راﺑﻄﻪاي ﻣﺤﺪودﻳﺖ ﺳﺎﺧﺘﺎري ﻣﺤﺪودﻳﺖ ﺻﻔﺘﻲ ﻣﺤﺪودﻳﺖ ﮔﺬاري ﻣﺤﺪودﻳﺖ ﻣﻌﻨﺎﻳﻲ ﻣﺤﺪودﻳﺖ ﻣﻴﺪاﻧﻲ ﻣﺤﺪودﻳﺖ ﻧﺎﻇﺮ ﺑﻪ ﺳﺘﻮن
Type constraint
ﻣﺤﺪودﻳﺖ ﻧﻮع
State constraint
ﻣﺤﺪودﻳﺖ وﺿﻌﻴﺘﻲ
3D- constraint Database constraint Privacy
Ramin.Samad@yahoo.com
D3 ﻣﺤﺪودﻳﺖ ﻣﺤﺪودﻳﺖ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺤﺮﻣﺎﻧﮕﻲ
WWW.IRANMEET.COM
421 4 ; 1 ; C Tow-Valued Logic (2VL) Three-Valued Logic (3VL) Engine Entity relationship Identifing entity Virtual entity Ad hoc (Unplanned) Form generator Report generator Menu generator Relation type generator Nontrivial Reengineering Requirements Engineering
ﻣﻨﻄﻖ دو ارزﺷﻲ ﻣﻨﻄﻖ ﺳﻪ ارزﺷﻲ ﻣﻮﺗﻮر (ER) ارﺗﺒﺎط-ﻣﻮﺟﻮدﻳﺖ ﻣﻮﺟﻮدﻳﺖ ﺷﻨﺎﺳﺎ ﻣﻮﺟﻮدﻳﺖ ﻣﺠﺎزي ﻣﻮردي ﻣﻮﻟﺪ ﻓﺮم ﻣﻮﻟﺪ ﮔﺰارش ﻣﻮﻟﺪ ﻣﻨﻮ ﻣﻮﻟﺪ ﻧﻮع راﺑﻄﻪ (ﻣﻬﻢ )ﻣﻄﺮح ﻣﻬﻨﺪﺳﻲ دوﺑﺎره ﻣﻬﻨﺪﺳﻲ ﻧﻴﺎزﻫﺎ
ﻣﺴﻄﺢ
Flat
ﻣﺴﻨﺪ
Predicate Restriction predicate Predicate calculus Reference path Total participation Partial participation Client/Server Derived System specification Database approach Non database approach
ﻣﺴﻨﺪ ﮔﺰﻳﻨﺶ ﻣﺴﻨﺪات ﻣﺴﻴﺮﮔﺮاف (ﻣﺸﺎرﻛﺖ اﻟﺰاﻣﻲ )ﻛﺎﻣﻞ ﻏﻴﺮاﻟﺰاﻣﻲ
ﻣﺸﺎرﻛﺖ ()ﻧﺎﻛﺎﻣﻞ
ﺧﺪﻣﺘﮕﺰار/ﻣﺸﺘﺮي ﻣﺸﺘﻖ ﻣﺸﺨﺼﺎت ﺳﻴﺴﺘﻢ ﻣﺸﻲ ﭘﺎﻳﮕﺎﻫﻲ ﻣﺸﻲ ﻧﺎﭘﺎﻳﮕﺎﻫﻲ ﻣﻌﻠﻖ
ﻣﻴﺎن اﻓﺰار
Dangling Multi Database System (MDBS)
ﻣﻌﻤﺎري ﭼﻨﺪ ﭘﺎﻳﮕﺎﻫﻲ
Mediator
ﻣﻴﺎﻧﺠﻲ
Network centric
ﻣﻌﻤﺎري ﺣﻮل ﺷﺒﻜﻪ
Domain
ﻣﻴﺪان
Middleware
Primary domain Structural domain Candidate domain ن Non procedural Unstructured Unfederated Trivial Data inconsistency Unknown Run time supervisor Data naming Navigation Automatic navigation
ﻣﻴﺪان اﺻﻠﻲ ﻣﻴﺪان ﺳﺎﺧﺘﻤﻨﺪ ﻣﻴﺪان ﻛﺎﻧﺪﻳﺪ (ﻧﺎ روﻳﻪ اي )ﻧﺎروﺷﻤﻨﺪ ﻧﺎ ﺳﺎﺧﺘﻤﻨﺪ ﻧﺎ ﻓﺪرال ( ﻧﺎ ﻣﻬﻢ )ﺑﺪﻳﻬﻲ ﻧﺎﺳﺎزﮔﺎري داده ﻧﺎﺷﻨﺎﺧﺘﻪ ﻧﺎﻇﺮ زﻣﺎن اﺟﺮا ﻧﺎﻣﮕﺬاري داده ﻫﺎ (ﻧﺎوش )ﻏﻮاﺻﻲ ﻧﺎوش ﺧﻮدﻛﺎر
Main frame centric Three level architecture Three-schema architecture Decentralized architecture Meaning Semantic Semantic concept Universal concept Default value Relation value (Relval ) Cursor Discriminator Rightsizing Data source
Ramin.Samad@yahoo.com
ﻣﻌﻤﺎري ﺣﻮل ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺰرگ ﻣﻌﻤﺎري ﺳﻪ ﺳﻄﺤﻲ ﻣﻌﻤﺎري ﺳﻪ ﺷﻤﺎﻳﻲ ﻣﻌﻤﺎري ﻧﺎﻣﺘﻤﺮﻛﺰ ﻣﻌﻨﺎ ﻣﻌﻨﺎﻳﻲ ﻣﻔﻬﻮم ﻣﻌﻨﺎﻳﻲ ﻣﻔﻬﻮم ﻫﻤﮕﺎﻧﻲ ﻣﻘﺪار ﭘﻴﺶ ﻧﻬﺎده ﻣﻘﺪار راﺑﻄﻪاي ﻣﻜﺎن ﻧﻤﺎ ﻣﻤﻴﺰه ﻣﻨﺎﺳﺐ ﺳﺎزياﻧﺪام ﻣﻨﺒﻊ داده اي
WWW.IRANMEET.COM
زﻣﺎﻧﻤﻨﺪ Use case diagram FD ' s diagram Instance Evolutionary Prototyping Requirements Prototyping Prototype Elementary type Union type Relationship type Parent-Child Link type (PCL) Data type Abstract Data Type ( ADT) Complex Data Type ( CDT) Extended data type Basic data type Abstract Data Type ( ADT) Record type Virtual record type Object Type Set type Entity type Data encryption Semi-join Semi structured و Equational Dependency Join Dependency Functional Dependency
ﻧﻤﻮدار ﻣﻮرد ﻛﺎرﺑﺮد ﻧﻤﻮدار واﺑﺴﺘﮕﻴﻬﺎي ﺗﺎﺑﻌﻲ ﻧﻤﻮﻧﻪ ﻧﻤﻮﻧﻪ ﺳﺎزي ﮔﺴﺘﺮﺷﻲ ﻧﻤﻮﻧﻪ ﺳﺎزي ﻧﻴﺎزي ﻧﻤﻮﻧﻪﺳﺎزي-ﻧﻤﻮﻧﻪﻧﺨﺴﺖ ﻧﻮع اﺑﺘﺪاﻳﻲ ﻧﻮع اﺟﺘﻤﺎع ﻧﻮع ارﺗﺒﺎط ﻓﺮزﻧﺪي-ﻧﻮع ﭘﻴﻮﻧﺪ ﭘﺪر ﻧﻮع داده اي ﻧﻮع داده اي اﻧﺘﺰاﻋﻲ ﻧﻮع داده اي ﭘﻴﭽﻴﺪه
Heterogenous Cardinality ratio Price / performance ratio Replica Dumping Replication Pointer Search argument Monitoring Ordering Positional ordering Role Checkpointing Version
422 ﻧﺎﻫﻤﮕﻦ
ﻧﺴﺒﺖ ﻛﺎردﻳﻨﺎﻟﻴﺘﻲ ﻛﺎراﻳﻲ/ ﻧﺴﺒﺖ ﻫﺰﻳﻨﻪ ﻧﺴﺨﻪ ﻧﺴﺨﻪ ﺑﺮداري ﻧﺴﺨﻪ ﺳﺎزي ( ﻧﺸﺎن ﻧﻤﺎ )اﺷﺎره ﮔﺮ ﻧﺸﺎﻧﻮﻧﺪ ﺟﺴﺘﺠﻮ ﻧﻈﺎرت آراﺳﺘﺎر-ﻧﻈﻢ ﻧﻈﻢ ﻣﻜﺎﻧﻲ ﻧﻘﺶ ﻧﻘﻄﻪ وارﺳﻲ ﻧﮕﺎرش ﻧﮕﺎﺷﺖ
ﻧﻮع داده ﻣﺠﺮد
Mapping Conceptual / Internal mapping External / Conceptual mapping
ادراﻛﻲ/ ﻧﮕﺎﺷﺖ ﺧﺎرﺟﻲ
ﻧﻮع رﻛﻮرد
Presentation
ﻧﻤﺎﻳﺶ
ﻧﻮع داده اي ﮔﺴﺘﺮش ﻳﺎﻓﺘﻪ ﻧﻮع داده اي ﻣﺒﻨﺎﻳﻲ
ﻧﻮع رﻛﻮرد ﻣﺠﺎزي ﻧﻮع ﺷﻴﺊ ﻧﻮع ﻣﺠﻤﻮﻋﻪ ﻧﻮع ﻣﻮﺟﻮدﻳﺖ ﻧﻬﺎن ﻧﮕﺎري داده ﻧﻴﻢ ﭘﻴﻮﻧﺪ ﻧﻴﻢ ﺳﺎﺧﺘﻤﻨﺪ
واﺑﺴﺘﮕﻲ ﺑﺮاﺑﺮي واﺑﺴﺘﮕﻲ ﭘﻴﻮﻧﺪي واﺑﺴﺘﮕﻲ ﺗﺎﺑﻌﻲ
Occurrence
داﺧﻠﻲ/ ﻧﮕﺎﺷﺖ ادراﻛﻲ
ﻧﻤﻮد ER ﻧﻤﻮدار
ER diagram Reference diagram Bachman diagram Implementation diagram
ﻧﻤﻮدار ﭘﻴﺎده ﺳﺎزي
CHEN notation
ﻧﻤﻮدار ﭼﻦ
Class diagram Data Flow Diagram (DFD) Event Flow Diagram (EFD) Activity diagram Temporal ERD
Ramin.Samad@yahoo.com
ﻧﻤﻮدار ارﺟﺎع ﻧﻤﻮدار ﺑﺎ ﭼﻤﻦ
ﻧﻤﻮدار رده ﻧﻤﻮدار روﻧﺪ داده ﻧﻤﻮدار روﻧﺪ روﻳﺪاد ﻧﻤﻮدار ﻓﻌﺎﻟﻴﺖ ارﺗﺒﺎط-ﻧﻤﻮدار ﻣﻮﺟﻮدﻳﺖ
WWW.IRANMEET.COM
423 4 ; 1 ; C inheritance
ﮔﺎﻧﻪ
Attribute inheritance
وراﺛﺖ ﺻﻔﺖ
Data import
ورودي داده ﻫﺎ
Database state Task Visual-basicscript Destructor ه Parameter driven Form driven Command driven Menu driven
وﺿﻌﻴﺖ ﭘﺎﻳﮕﺎهداده وﻇﻴﻔﻪ اﺳﻜﺮﻳﭗ-ﺑﻲ-وي وﻳﺮاﻧﮕﺮ
ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﭘﺎراﻣﺘﺮ ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﻓﺮم ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﻓﺮﻣﺎن ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﻣﻨﻮ
Map driven
ﻫﺪاﻳﺖ ﺷﺪه ﺑﺎ ﻧﻘﺸﻪ
Price per TPS
TPS ﻫﺰﻳﻨﻪ ﺑﻪ ازاء
IS-A Overlapping Communicatio n Multiversion concurrency
...ﻫﺴﺖ ﻳﻚ ﻫﻤﭙﻮﺷﺎ ( ﻫﻤﺮﺳﺎﻧﺶ ) ارﺗﺒﺎط ﻫﻤﺮوﻧﺪي ﭼﻨﺪ ﻧﺴﺨﻪ اي
Concurrent
ﻫﻤﺰﻣﺎن
Peer-to-peer
ﻫﻤﻄﺮاز
Homogenous General purpose Permanent (planned) Nullvalue Nullifing ي One fact-one relation One to many One to one Client / MultiServer (C/MS) Users' Ers integration
ﻫﻤﮕﻦ ﻫﻤﻪ ﻣﻨﻈﻮره
Fully Functional Dependency Multivalued Dependency Embedded Multi Valued Dependency Temporal Dependency Inclusion Dependency Key-based inclusion dependency Existance dapendency Module Schema generator Lock granular Semantic unit of data Logical unit of work Data entry Deferred checking Immediate checking Application Programming Interface (API)
ﻫﻴﭽﻤﻘﺪار ﮔﺬاري
Panel interface Call Level Interface Command Language Interface
ﻳﻚ راﺑﻄﻪ-ﻳﻚ واﻗﻌﻴﺖ
User Interface User Friendly Interface
ﻫﻤﻴﺸﮕﻲ ﻫﻴﭽﻤﻘﺪار
ﻳﻚ ﺑﻪ ﭼﻨﺪ ﻳﻚ ﺑﻪ ﻳﻚ ﭼﻨﺪﺧﺪﻣﺘﮕﺰار-ﻳﻚ ﻣﺸﺘﺮي ﻳﻜﭙﺎرﭼﻪ ﺳﺎزي ﻧﻤﻮدارﻫﺎي ﻛﺎرﺑﺮانER
User groups Import / Export interface
ﺗﺎم
ﺗﺎﺑﻌﻲ
واﺑﺴﺘﮕﻲ ()ﻛﺎﻣﻞ
واﺑﺴﺘﮕﻲ ﭼﻨﺪ ﻣﻘﺪاري واﺑﺴﺘﮕﻲ ﭼﻨﺪ ﻣﻘﺪاري ادﻏﺎم ﺷﺪه واﺑﺴﺘﮕﻲ زﻣﺎﻧﻲ واﺑﺴﺘﮕﻲ ﺷﻤﻮل واﺑﺴﺘﮕﻲ ﺷﻤﻮل ﻣﺒﺘﻨﻲ ﺑﺮ ﻛﻠﻴﺪ واﺑﺴﺘﮕﻲ وﺟﻮد واﺣﺪ واﺣﺪ ﺗﻮﻟﻴﺪ ﺷﻤﺎ واﺣﺪ ﻗﻔﻞ ﺷﺪﻧﻲ واﺣﺪ ﻣﻌﻨﺎﻳﻲ داده واﺣﺪ ﻣﻨﻄﻘﻲ ﻛﺎر وارد ﻛﺮدن داده وارﺳﻲ ﺑﺎ ﺗﺎﺧﻴﺮ وارﺳﻲ ﺑﻼﻓﺎﺻﻠﻪ واﺳﻂ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﻛﺎرﺑﺮد واﺳﻂ ﭘﺎﻧﻞ واﺳﻂ در ﺳﻄﺢ ﻓﺮاﺧﻮان واﺳﻂ زﺑﺎن ﻓﺮﻣﺎن واﺳﻂ ﻛﺎرﺑﺮ واﺳﻂ ﻛﺎرﺑﺮ ﭘﺴﻨﺪ واﺳﻂ ﻛﺎرﺑﺮي ﺻﺪور/ واﺳﻂ ورود
Real
واﻗﻌﻲ
Facts
واﻗﻌﻴﺎت
Multiple
Ramin.Samad@yahoo.com
وراﺛﺖ )ﺗﻮارث ( ﭼﻨﺪ
WWW.IRANMEET.COM
Uniqueness Batch General unification
Ramin.Samad@yahoo.com
424 ﻳﻜﺘﺎﻳﻲ ﻳﻜﺠﺎ
ﻳﻜﺴﺎن ﻋﻤﻮﻣﻲ
WWW.IRANMEET.COM
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
D* E1 1
The Relational Model for Database Management , 2nd Edition CODD.E.F
Addison-Wesley 1990
2
Mastering SQL , 1st Edition Gruber, Martin
Sybex 2000
3
A Guide to the SQL Standard , 4th Edition DATE, C.J
Addison-Wesley 1997
4
ORACLE PL/SQL , 1st Edition JOSEPH , C.Trezzo
Osborne 1999
5
Guide to Client/Server Databases , 2nd Edition SALEMI , joe
Ziff-David Press 1996
6
Inside SQL server 2000, 1st Edition Delaney , Kalen
Microsoft Press 2001
7
Database System Concepts , 4th Edition SILBERSCHATZ , Henry
MC Graw-Hill 2002
8
وﻳﺮاﺳﺖ ﺟﺪﻳﺪ, ﻣﻔﺎﻫﻴﻢ ﺑﻨﻴﺎدي ﭘﺎﻳﮕﺎهداده ﻫﺎ
ﺟﻠﻮه
ﺳﻴﺪ ﻣﺤﻤﺪ ﺗﻘﻲ، روﺣﺎﻧﻲ راﻧﻜﻮﻫﻲ
1383
ﭼﺎپ ﺷﺸﻢ, ﭘﺎﻳﮕﺎهداده ﻫﺎ
ﮔﺴﺘﺮش ﻋﻠﻮم ﭘﺎﻳﻪ
ﺣﻤﻴﺪرﺿﺎ، ﻣﻘﺴﻤﻲ
1383
ﭼﺎپ ﻧﻬﻢ, ﻣﻘﺪﻣﻪ اي ﺑﺮ ﺳﻴﺴﺘﻢ و ﺳﺎﺧﺘﺎر ﻓﺎﻳﻠﻬﺎ:ذﺧﻴﺮه و ﺑﺎزﻳﺎﺑﻲ اﻃﻼﻋﺎت
ﺟﻠﻮه
ﺳﻴﺪ ﻣﺤﻤﺪ ﺗﻘﻲ، روﺣﺎﻧﻲ راﻧﻜﻮﻫﻲ
1379
9
10
Ramin.Samad@yahoo.com
WWW.IRANMEET.COM
Ramin.Samad@yahoo.com