數據庫實驗3報告_第1頁
數據庫實驗3報告_第2頁
數據庫實驗3報告_第3頁
數據庫實驗3報告_第4頁
數據庫實驗3報告_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

試驗三數據更新、視圖、權限管理試驗3.1數據更新1試驗內容(1)使用INSERTINTO語句插入數據,包含插入一個元組或將子查詢結果插入到數據庫中兩種方式。(2)使用SELECTINTO語句,產生一個新表并插入數據。(3)使用UPDATE語句能夠修改制訂表中滿足WHERE子句條件元組,有三種修改方式:修改某個元組值;修改多個元組值;帶子查詢修改語句。(4)使用DELETE語句刪除數據:刪除某一個元組值;刪除多個元組值;帶子查詢刪除語句。2試驗步驟在數據庫School上按以下要求進行數據更新可在SQL代碼前加下面兩句SQL語句,用于確保當前使用是School數據庫UseSchoolgo使用SQL語句向STUDENTS表中插入元組(編號:12345678名字:LiMingEMAIL:年級:)。InsertintoSTUDENTSvalues('12345678','LiMing','','')對每個課程,求學生選課人數和學生最高成績,并把結果存入數據庫。使用SELECTINTO和INSERTINTO兩種方法實現。Insertinto:createtableCourses_maxScore(cidchar(20),Count_coursesint,maxScoreint)insertintoCourses_maxScore(cid,Count_courses,maxScore)selectcid,count(*)asCount_courses,max(score)asmaxScorefromCHOICESgroupbycidselect*fromCourses_maxScoreSelectinto:selectcid,Count_courses,maxScoreintocnCourses_maxScorefromCourses_maxScoreselect*fromcnCourses_maxScore在STUDENTS表中使用SQL語句將姓名為LiMing.學生EMAIL改為。updateSTUDENTSsetemail=''wheresname='LiMing'在TEACHERS表中使用SQL語句將全部教師工資翻倍。updateTEACHERSsetsalary=salary*2將姓名為waqcj學生課程C++成績加10分。updateCHOICESsetscore=score+10wherecid=(selectcidfromCOURSESwherecname='c++')andsid=(selectsidfromSTUDENTSwheresname='waqcj')selectscorefromCHOICES,COURSES,STUDENTSwhereCHOICES.cid=COURSES.cidandCHOICES.sid=STUDENTS.sidandcname='c++'andsname='waqcj'(6)在STUDENTS表中使用SQL語句刪除姓名為LiMing學生信息。deletefromSTUDENTSwheresname='LIMING'刪除全部選修課程C選課統(tǒng)計。deletefromCHOICESwherecid=(selectcidfromCOURSESwherecname='c')deletefromCHOICESwherenoin(selectnofromCHOICES,COURSESwhereCHOICES.cid=COURSES.cidandcname='c')(6011行受影響)select*fromCHOICES,COURSESwhereCHOICES.cid=COURSES.cidandcname='c'對COURSES表做刪去時間>80元組操作,討論該刪除操作所受到約束。deletefromCOURSESwherehour>80select*fromCOURSESwherehour>80試驗3.2視圖操作1試驗內容使用CREATEVIEW命令建立視圖。對視圖進行查詢更新視圖使用DROPVIEW命令刪除視圖。2試驗步驟在數據庫School上按以下要求進行視圖關于操作可在SQL代碼前加下面兩句SQL語句,用于確保當前使用是School數據庫UseSchoolgo建立薪水大于3000教師視圖t_view,并要求進行修改和插入操作時仍需確保該視圖只有薪水大于3000教師信息。createviewt_view(salary_new)asselectsalaryfromTEACHERSwheresalary>3000withcheckoptionselect*fromt_view在視圖t_view中查詢郵件地址為教師相關信息。select*fromt_viewwhereemail=''向視圖t_view中插入一個新教師統(tǒng)計,其中教師編號為,姓名為abc,郵件地址為,薪水為5000。insertintot_viewvalues('','abc','',5000)在視圖t_view中將編號為10493教師薪水改為6000。updatet_viewsetsalary=6000wheretid='10493'刪除視圖t_view。dropviewt_viewselect*fromt_view3.3用戶標識與判別1試驗內容由系統(tǒng)提供一定方式讓用戶標識自己名字和身份。2試驗步驟在SSMS中,設置SQLServer安全認證模式。在SSMS中建立一個名為“張三”登陸用戶、School數據庫用戶。execsp_addlogin'張三','123456','School'execsp_adduser'張三'在SSMS中取消“張三”這個用戶。execsp_dropuser'張三'execsp_droplogin'張三'學習【參考命令】中幾個命令,了解利用命令實現上述步驟。3.4自主存取控制1試驗內容定義用戶權限,將用戶權限登記到數據字典中,并對用戶進行正當權限檢驗。2試驗步驟在SSMS中建立一個名為“張三”登陸用戶、School數據庫用戶。參見試驗3.3試驗步驟(2)使用查詢驗證“張三”這個用戶名是否具備對學生表SELECT權限。selectSYSTEM_USERexecuteasuser='張三'selectsystem_userselect*fromSTUDENTS將School數據庫操作權限賦予數據庫用戶張三。revertselectsystem_usergrantallprivilegesonstudentsto張三grantallprivilegesonchoicesto張三grantallprivilegesoncoursesto張三grantallprivilegesonteachersto張三executeasuser='張三'selectsystem_user3.5視圖機制在自主存取控制上應用1試驗內容在視圖機制上定義用戶權限,將用戶權限登記到數據字典中,并對用戶進行正當權限檢驗。2試驗步驟在數據庫School上創(chuàng)建用戶“張三”,詳細操作參見試驗3.3中試驗步驟(2)。新建查詢,用管理員身份登陸數據庫。在choices表上創(chuàng)建視圖ch_view,并顯示其內容(選課課程號為10005)。selectsystem_usercreateviewch_viewas(select*fromchoiceswherecid='10005')在視圖ch_view上給用戶張三賦予INSERT權限。selectsystem_usergrantinsertonch_viewto張三將視圖ch_view上score列權限賦予用戶張三。grantupdate(score),select(score)onch_viewto張三以用戶張三登陸查詢分析器,對ch_view進行查詢操作。executeasuser='張三'selectsystem_userselect*fromch_view以用戶張三登陸查詢分析器,對no為學生成績進行修改,改為90分。grantselect(no)onch_viewto張三executeasuser='張三'selectsystem_userupdatech_viewsetscore=90whereno=''收回對用戶張三對視圖ch_view查詢權限授權revokeselectonch_viewfrom張三總結:經過此次試驗,我對數據更新、視圖、權限管理我了跟深入了解,試驗過程碰到很多問題,源于對知識掌握不牢靠;在碰到問題進行baidu查詢關于資料學習并處理問題。參考命令:UseSchoolGosp_addlogin[@loginame=]'login'[,[@passwd=]'password'][,[@defdb=]'database'][,[@deflanguage=]'language'][,[@sid=]sid][,[@encryptopt=]'encryption_option'][;]sp_adduser[@loginame=]'login'[,[@name_in_db=]'user'][,[@grpname=]'role'][;]sp_dropuser[@name_in_db=]'user'[;]sp_droplogin[@loginame=]'login'[;]GRANT{ALL[PRIVILEGES]}|permission[(column[,...n])][,...n][ON[class::]securable]TOprincipal[,...n][WITHGRANTOPTION][ASprincipal][;]DENY{ALL[PRIVILEGES]}|permission[(column[,...n])][,...n][ON[class::]securable]TOprincipal[,...n][CASCADE][ASprincipal][;]REVOKE[GRANTOPTIONFOR]{[ALL[PRIVILEGES]]|permission[(column[,...n])][,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論