DBSec-Homework-2-v2.pdf

‫ﺑﺴﻤﻪ ﺗﻌﺎﻟﯽ‬
‫ﺗﻤﺮﯾﻦ ﺳﺮي دوم )‪(90/3/3‬‬
‫ﻣﻮﻋﺪ ﺗﺤﻮﯾﻞ‪90/4/2 :‬‬
‫ﻧﺎم درس‪ :‬اﻣﻨﯿﺖ ﭘﺎﯾﮕﺎه داده‬
‫ﻧﯿﻢﺳﺎل دوم ‪89 -90‬‬
‫ﻣﺪرس‪ :‬دﮐﺘﺮ رﺳﻮل ﺟﻠﯿﻠﯽ‬
‫ﺻﻔﺤﻪ ‪1‬‬
‫ﻟﻄﻔﺎً ﺑﻪ ﻧﮑﺎت زﯾﺮ ﺗﻮﺟﻪ ﻓﺮﻣﺎﯾﯿﺪ‪:‬‬
‫‪ o‬ﭘﺎﺳﺦﻫﺎي ﺧﻮد را ﺣﺪاﮐﺜﺮ ﺗﺎ ‪ 90/4/2‬ﺑﻪ آدرس ‪ [email protected]‬ﺑﺎ ﻋﻨﻮان ]‪[DBSec:Assignment#2‬‬
‫ارﺳﺎل ﻧﻤﺎﯾﯿﺪ‪ .‬ﺗﺄﺧﯿﺮ در ارﺳﺎل ﭘﺎﺳﺦ ﻣﺸﻤﻮل ﮐﺴﺮ ﻧﻤﺮه ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫‪ o‬ﺣﻞ ﺗﻤﺮﯾﻦﻫﺎي درس ﺑﺎﯾﺪ ﺑﻪﺻﻮرت ﻓﺮدي ﺻﻮرت ﭘﺬﯾﺮد‪ .‬ﭘﺎﺳﺦﻫﺎي ﮔﺮوﻫﯽ ﻣﺸﻤﻮل ﮐﺴﺮ ﻧﻤﺮه ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫‪ o‬در ﺻﻮرت اﺳﺘﻔﺎده از ﻣﺮﺟﻌﯽ ﺧﺎص در ﭘﺎﺳﺦ ﺑﻪ ﺳﺆاﻻت‪ ،‬ﻻزم اﺳﺖ ﻟﯿﺴﺖ ﻣﺮاﺟﻊ در اﻧﺘﻬﺎي ﻫﺮ ﭘﺎﺳﺦ ذﮐﺮ ﺷﻮد‪.‬‬
‫‪ .1‬در راﺑﻄﻪ ﺑﺎ ﮐﻨﺘﺮل دﺳﺘﺮﺳﯽ ﻧﻘﺶﻣﺒﻨﺎ ﺑﻪ ﺳﻮاﻻت زﯾﺮ ﭘﺎﺳﺦ دﻫﯿﺪ‬
‫‪ .a‬در ﺷﮑﻞ زﯾﺮ ‪ei‬ﻫﺎ ﻧﺸﺎندﻫﻨﺪهي ﮐﺎرﺑﺮان و ‪pi‬ﻫﺎ ﻧﺸﺎندﻫﻨﺪهي ﻣﺠﻮزﻫﺎ ﻫﺴﺘﻨﺪ‪ .‬اﻧﺘﺴﺎب ﺑﻪ ﻧﻘﺶﻫﺎ ﺑﺎ ﺧﻂﭼﯿﻦ‬
‫ﻧﻤﺎﯾﺶ داده ﺷﺪه اﺳﺖ‪ .‬ﺑﺮاي ﻫﺮ ﻧﻘﺶ ﺑﯿﺎن ﮐﻨﯿﺪ ﮐﻪ ﭼﻪ ﮐﺎرﺑﺮاﻧﯽ ﻣﯽﺗﻮاﻧﻨﺪ آن ﻧﻘﺶ را اﯾﻔﺎ ﮐﻨﻨﺪ و ﭼﻪ‬
‫ﻣﺠﻮزﻫﺎﯾﯽ ﺑﺮاي آن ﻧﻘﺶ ﻣﺠﺎز اﺳﺖ‪.‬‬
‫‪ .b‬اﮔﺮ ‪ ({r1, r2, r3, r4}, 3) ∈ SSD‬ﺑﺎ دﻟﯿﻞ ﺑﯿﺎن ﮐﻨﯿﺪ ﮐﻪ ﮐﺪام ﻣﺠﻤﻮﻋﻪ اﻧﺘﺴﺎﺑﺎت ﻣﻌﺘﺒﺮ اﺳﺖ‪.‬‬
‫ﻧﺎم درس‪ :‬اﻣﻨﯿﺖ ﭘﺎﯾﮕﺎه داده‬
‫ﻧﯿﻢﺳﺎل دوم ‪89 -90‬‬
‫ﻣﺪرس‪ :‬دﮐﺘﺮ رﺳﻮل ﺟﻠﯿﻠﯽ‬
‫ﺻﻔﺤﻪ ‪2‬‬
‫ﺑﺴﻤﻪ ﺗﻌﺎﻟﯽ‬
‫ﺗﻤﺮﯾﻦ ﺳﺮي دوم )‪(90/3/3‬‬
‫ﻣﻮﻋﺪ ﺗﺤﻮﯾﻞ‪90/4/2 :‬‬
‫})‪UA1 = {(u1, r1), (u2, r1), (u3, r1), (u1, r2), (u4, r2), (u5, r2), (u1, r3), (u2, r3), (u3, r3), (u4, r4‬‬
‫})‪UA2 = {(u1, r1), (u3, r1), (u5, r1), (u1, r2), (u2, r2), (u3, r2), (u5, r2), (u2, r3), (u4, r3), (u4, r4‬‬
‫‪ .c‬ﺗﻔﺎوت ﺑﯿﻦ ‪ SSoD‬و ‪ DSoD‬را ﺑﯿﺎن ﮐﻨﯿﺪ‪ .‬ﻓﺮض ﮐﻨﯿﺪ ‪ ({r1, r2, r3, r4}, 3) ∈ SSoD‬و‬
‫‪ . ({r1, r2, r3, r4}, 3) ∈ DSoD‬آﻧﮕﺎه ﭼﻪ اﻟﺰاﻣﺎﺗﯽ ﺑﺎﯾﺪ در ﺳﯿﺴﺘﻢ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﺗﺎ اﯾﻦ ﻗﯿﻮد ﺗﻔﮑﯿﮏ‬
‫وﻇﺎﯾﻒ را ﺑﻪ ﻃﻮر ﻫﻤﺰﻣﺎن در ﺳﯿﺴﺘﻢ داﺷﺘﻪ ﺑﺎﺷﯿﻢ؟‬
‫‪ .2‬ﻣﯽﺧﻮاﻫﯿﻢ دادهﻫﺎﯾﯽ را روي ﮐﺎرﭘﺬﯾﺮي ﮐﻪ از ﻧﻈﺮ ﻣﺤﺮﻣﺎﻧﮕﯽ ﻏﯿﺮﻗﺎﺑﻞ اﻋﺘﻤﺎد اﺳﺖ ﺑﺮونﺳﭙﺎري ﮐﻨﯿﻢ‪ .‬ﺑﺮاي اﻧﺠﺎم اﻋﻤﺎﻟﯽ ﻣﺎﻧﻨﺪ‬
‫ﻣﻌﺪلﮔﯿﺮي و ﺟﻤﻊ روي دادهﻫﺎي رﻣﺰ ﺷﺪه در ﺳﻤﺖ ﮐﺎرﭘﺬﯾﺮ )ﺑﺪون رﻣﺰﮔﺸﺎﯾﯽ آنﻫﺎ( از ﺗﻮاﺑﻊ رﻣﺰﻧﮕﺎري ﻫﻤﺮﯾﺨﺖ اﺧﺘﻔﺎﯾﯽ‬
‫)‪ (privacy homomorphism‬اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ‪ .‬ﺑﺪﯾﻦ ﻣﻨﻈﻮر ﮐﻠﯿﺪ رﻣﺰﻧﮕﺎري دادهﻫﺎﯾﯽ ﮐﻪ ﻣﯽﺧﻮاﻫﯿﻢ روي آنﻫﺎ ﺗﻮاﺑﻊ‬
‫ﺗﺠﻤﻌﯽ)‪ (aggregation‬ا‪‬ﻋﻤﺎل ﮐﻨﯿﻢ را ﺑﻪﺻﻮرت )‪ k = (p, q‬اﻧﺘﺨﺎب ﻣﯽﮐﻨﯿﻢ ﮐﻪ ‪ p‬و ‪ q‬اﻋﺪاد اول ﻫﺴﺘﻨﺪ‪ .‬ﺑﺮاي ﻫﺮ ‪،m‬‬
‫رﻣﺰﺷﺪهي آن از راﺑﻄﻪي )‪ Ek(m) = (m + r1p , m+ r2q‬ﺣﺎﺻﻞ ﻣﯽﺷﻮد ﮐﻪ ‪ r1‬و ‪ r2‬اﻋﺪاد ﺗﺼﺎدﻓﯽ ﻫﺴﺘﻨﺪ‪.‬‬
‫‪ .a‬رﻣﺰﮔﺸﺎﯾﯽ ﯾﮏ ﭘﯿﻐﺎم ﭼﮕﻮﻧﻪ اﻧﺠﺎم ﻣﯽﺷﻮد؟ )ﯾﻌﻨﯽ ﺑﺎ داﺷﺘﻦ )‪ (m + r1p , m+ r2q‬ﻣﻘﺪار ‪ m‬ﭼﮕﻮﻧﻪ ﺑﺪﺳﺖ‬
‫ﻣﯽآﯾﺪ(‬
‫‪ .b‬ﺟﻤﻊ و ﺿﺮب دو ﻋﺪد رﻣﺰ ﺷﺪه ﭼﮕﻮﻧﻪ ﻣﺤﺎﺳﺒﻪ ﻣﯽﺷﻮد؟‬
‫‪ .3‬ﭼﻨﺪﻧﻤﻮﻧﻪﺳﺎزي ﭼﯿﺴﺖ و ﭼﺮا ﺑﮑﺎر ﻣﯽرود‪ .‬ﺳﻄﻮح ﻣﺨﺘﻠﻒ ﭼﻨﺪﻧﻤﻮﻧﻪﺳﺎزي را ﺑﯿﺎن ﮐﻨﯿﺪ‪ .‬اﮔﺮ راﺑﻄﻪي زﯾﺮ ﻣﻮﺟﻮد ﺑﺎﺷﺪ‪ ،‬ﺑﺮ اﺳﺎس‬
‫ﻣﻔﻬﻮم ﭼﻨﺪﻧﻤﻮﻧﻪﺳﺎزي‪ ،‬رواﺑﻂ ﺣﺎﺻﻞ ﺷﺪه در ﻫﺮﻣﺮﺣﻠﻪ را )روي راﺑﻄﻪي ‪ (Employee‬ﻣﺸﺨﺺ ﮐﻨﯿﺪ‪.‬‬
‫‪TC‬‬
‫‪Csalary‬‬
‫‪Salary‬‬
‫‪Cdept‬‬
‫‪Dept‬‬
‫‪Cuser‬‬
‫‪User‬‬
‫‪S‬‬
‫‪S‬‬
‫‪10K‬‬
‫‪S‬‬
‫‪Math‬‬
‫‪S‬‬
‫‪Bob‬‬
‫‪TS‬‬
‫‪TS‬‬
‫‪30K‬‬
‫‪S‬‬
‫‪CIS‬‬
‫‪S‬‬
‫‪Ann‬‬
‫‪TS‬‬
‫‪TS‬‬
‫‪30K‬‬
‫‪TS‬‬
‫‪CIS‬‬
‫‪TS‬‬
‫‪Sam‬‬
‫‪ .a‬ﮐﺎرﺑﺮي ﺑﺎ ﺳﻄﺢ ‪ ،S‬دﺳﺘﻮر زﯾﺮ را روي ﺟﺪول ﻓﻮق اﺟﺮا ﮐﻨﺪ‪:‬‬
‫’‪‘Sam’, ‘Math’, ‘10K‬‬
‫‪EMPLOYEE VALUES‬‬
‫‪INTO‬‬
‫‪INSERT‬‬
‫‪ .b‬ﮐﺎرﺑﺮي ﺑﺎ ﺳﻄﺢ ‪ ،S‬دﺳﺘﻮر زﯾﺮ را روي ﺟﺪول ﻣﻄﺮح ﺷﺪه در ﺳﻮال اﺟﺮا ﮐﻨﺪ‪.‬‬
‫’‪Name = ‘Ann‬‬
‫‪WHERE‬‬
‫’‪Salary = ‘20K‬‬
‫‪SET‬‬
‫‪EMPLOYEE‬‬
‫‪UPDATE‬‬
‫‪ .c‬ﮐﺎرﺑﺮي ﺑﺎ ﺳﻄﺢ ‪ TS‬دﺳﺘﻮر زﯾﺮ را روي ﻧﺘﯿﺠﻪي ﺣﺎﺻﻞ از ‪ b‬اﺟﺮا ﮐﻨﺪ‪.‬‬
‫’‪Name = ‘Ann‬‬
‫‪WHERE‬‬
‫’‪Dept = ‘Math‬‬
‫‪SET‬‬
‫‪EMPLOYEE‬‬
‫‪UPDATE‬‬
‫ﻧﺎم درس‪ :‬اﻣﻨﯿﺖ ﭘﺎﯾﮕﺎه داده‬
‫ﻧﯿﻢﺳﺎل دوم ‪89 -90‬‬
‫ﻣﺪرس‪ :‬دﮐﺘﺮ رﺳﻮل ﺟﻠﯿﻠﯽ‬
‫ﺻﻔﺤﻪ ‪3‬‬
‫ﺑﺴﻤﻪ ﺗﻌﺎﻟﯽ‬
‫ﺗﻤﺮﯾﻦ ﺳﺮي دوم )‪(90/3/3‬‬
‫ﻣﻮﻋﺪ ﺗﺤﻮﯾﻞ‪90/4/2 :‬‬
‫‪ .d‬ﮐﺎرﺑﺮي ﺑﺎ ﺳﻄﺢ ‪ TS‬دﺳﺘﻮر زﯾﺮ را روي ﻧﺘﯿﺠﻪي ﺣﺎﺻﻞ از ‪ b‬اﺟﺮا ﮐﻨﺪ‪.‬‬
‫’‪Name = ‘Bob‬‬
‫’‪Dept = ‘CIS’, Salary=‘20K‬‬
‫‪WHERE‬‬
‫‪SET‬‬
‫‪EMPLOYEE‬‬
‫‪UPDATE‬‬
‫‪ .4‬راﺑﻄﻪي زﯾﺮ را در ﻧﻈﺮ ﺑﮕﯿﺮﯾﺪ‪ .‬ﺑﺎ درﻧﻈﺮ داﺷﺘﻦ ﻣﺪل ﭼﻨﺪ ﺳﻄﺤﯽ ‪ Jajodia-Sandhu‬ﺑﻪ ﺳﻮاﻻت زﯾﺮ ﭘﺎﺳﺦ دﻫﯿﺪ‪.‬‬
‫‪.a‬‬
‫‪TC‬‬
‫‪Csalary‬‬
‫‪Salary‬‬
‫‪Cdept‬‬
‫‪Dept‬‬
‫‪Cuser‬‬
‫‪User‬‬
‫‪S‬‬
‫‪S‬‬
‫‪10K‬‬
‫‪S‬‬
‫‪Math‬‬
‫‪S‬‬
‫‪Bob‬‬
‫‪TS‬‬
‫‪TS‬‬
‫‪20K‬‬
‫‪S‬‬
‫‪CIS‬‬
‫‪S‬‬
‫‪Ann‬‬
‫‪TS‬‬
‫‪TS‬‬
‫‪30K‬‬
‫‪TS‬‬
‫‪CIS‬‬
‫‪TS‬‬
‫‪Sam‬‬
‫ﻧﻬﺎدي ﺑﺎ ﺳﻄﺢ ‪ S‬دﺳﺘﻮر ”‪ INSERT INTO EMPLOYEE VALUES “John, CIS, 20K‬را روي راﺑﻄﻪي ﻓﻮق اﻋﻤﺎل‬
‫ﻣﯽ ﮐﻨﺪ‪ .‬دﯾﺪ ﻧﻬﺎدﻫﺎي در ﺳﻄﺢ ‪ S‬و در ﺳﻄﺢ ‪ TS‬از راﺑﻄﻪ را ﭘﺲ از اﺟﺮاي دﺳﺘﻮر ﻣﺬﮐﻮر ﻣﺸﺨﺺ ﮐﻨﯿﺪ‪.‬‬
‫‪.b‬‬
‫ﻧﻬﺎدي در ﺳﻄﺢ ‪ TS‬دﺳﺘﻮر ”‪INSERT INTO EMPLOYEE VALUES “Bob, CIS, 20K‬‬
‫را روي راﺑﻄﻪي ﺣﺎﺻﻞ‬
‫از ‪ a‬اﺟﺮا ﻣﯽﮐﻨﺪ‪ .‬دﯾﺪﻫﺎي در ﺳﻄﺢ ‪ S‬و ‪ TS‬از راﺑﻄﻪي ﻧﺘﯿﺠﻪ ﺷﺪه ﭘﺲ از اﺟﺮاي دﺳﺘﻮر را ﻣﺸﺨﺺ ﮐﻨﯿﺪ‪.‬‬
‫‪ .c‬ﻧﻬﺎدي در ﺳﻄﺢ ‪ S‬دﺳﺘﻮر ”‪ INSERT INTO EMPLOYEE VALUES “Sam, CIS, 20K‬را روي راﺑﻄﻪي‬
‫ﺣﺎﺻﻞ از ‪ b‬اﻋﻤﺎل ﻣﯽﮐﻨﺪ‪ .‬دﯾﺪﻫﺎي در ﺳﻄﺢ ‪ S‬و ‪ TS‬از راﺑﻄﻪي ﻧﺘﯿﺠﻪ ﺷﺪه ﭘﺲ از اﺟﺮاي دﺳﺘﻮر را ﻣﺸﺨﺺ ﮐﻨﯿﺪ‪.‬‬