数据库实验3报告_第1页
数据库实验3报告_第2页
数据库实验3报告_第3页
数据库实验3报告_第4页
数据库实验3报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

试验三数据更新、视图、权限管理试验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选课统计。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中插入一个新教师统计,其中教师编号为,姓名为abc,邮件地址为,薪水为5000。insertintot_viewvalues('','abc','',5000)在视图t_view中将编号为10493教师薪水改为6000。updatet_viewsetsalary=6000wheretid='10493'删除视图t_view。dropviewt_viewselect*fromt_view3.3用户标识与判别1试验内容由系统提供一定方式让用户标识自己名字和身份。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上创建用户“张三”,详细操作参见试验3.3中试验步骤(2)。新建查询,用管理员身份登陆数据库。在choices表上创建视图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. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论