软件技术基础数据库技术.ppt

软件技术基础数据库技术.ppt

ID:52139552

大小:247.50 KB

页数:30页

时间:2020-04-01

软件技术基础数据库技术.ppt_第1页
软件技术基础数据库技术.ppt_第2页
软件技术基础数据库技术.ppt_第3页
软件技术基础数据库技术.ppt_第4页
软件技术基础数据库技术.ppt_第5页
资源描述:

《软件技术基础数据库技术.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、关系数据库语言SQL(续2)概述SQL的数据定义SQL的数据操纵SQL的视图定义SQL的数据控制3.5SQL的数据控制(1of8)SQL的数据控制也叫数据保护。包括数据的安全性、完整性、并发控制和恢复功能。数据库的安全性是指保护数据库,防止不合法的使用所造成的数据泄露和破坏。SQL语言为定义和回收存取控制权利提供了手段。具体办法:进行存取控制,即规定不同用户对于不同数据对象所允许执行的操作,并控制各用户只能存取他有权存取的数据。授权机制(2of8)授权机制:大的DBMS中有一个超级用户DBA,其他用户能否存在、对某类数据具有

2、何种操作权力是由DBA决定的,系统提供授权机制。执行过程:(1)用数据控制语言把授权决定告知系统;(2)系统把授权的结果存入数据字典;(3)当用户提出操作请求时,系统根据授权情况进行检查,以决定是否执行。例如:SYBASE系统中,有四类用户:三级管理:系统管理员SA数据库对象属主一般用户授权某用户建库可再授权某用户建立数据库对象可再授权某用户对数据库对象的访问(根据权限对数据库对象进行操作)授权机制(3of8)数据库属主授权机制(4of8)又如:SQLServer通过角色将用户分为不同的类:固定服务器角色固定数据库角色权力的

3、授予与收回(5of8)授予:GRANT权力[,权力]…[ON对象类型对象名]TO用户名[,用户名]…[WITHGRANTOPTION];若干权力操作对象获得权力的用户有此项,被授权用户可再授权给其他用户收回:REVOKE权力[,权力]…[ON对象类型对象名]FROM用户名[,用户名]…;谁定义?DBA和表的建立者(即表的属主)SQL中的用户权限(6of8)Example(7of8)例1:把查询学生表的权限授予给用户U1例2:把对Student和Course表的全部权限授予给用户U2和U3.GRANTALLPRIVILEGES

4、ONTABLEStudent,CourseTOU2,U3例3:把查询Student表和修改学生学号的权限授予给用户U4.GRANTUPDATE(Sno),SELECTTABLEONStudentTOU4例4:把对SC表的INSERT权限授予给用户U5,并允许他再将此权限授予给其他用户。GRANTINSERTONTABLESCTOU5WITHGRANTOPTION例5:把U4对Student表修改学生学号的权限收回.REVOKEUPDATE(Sno)ONTABLEStudentFROMU4GRANTSELECTONTABLES

5、tudentTOU1SQL的安全性控制(8of8)数据库的属主DBA、表的属主以及其他数据库对象的属主在他创建的对象上具有一切可能的权力,其他用户得不到主人的授权就不能在该对象上操作;SQL的授权机制十分灵活,各种系统又作了适当的补充,使用十分方便;SQL的安全性控制除了上述授权机制外,还可设置口令进一步保密。SQL应用举例应用:数据库中有三个关系(基本表):S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)试用SQL语句表达下列查询和更新语句。思考中…1、检索学习课程

6、为C2的学生学号与成绩SELECTS#,GRADEFROMSCWHEREC#=´C2´SQL应用S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)2、检索学习课程为C2的学生学号与姓名方法一:联接查询SELECTS#,SNAMEFROMS,SCWHERES.S#=SC.S#ANDC#=´C2´SQL应用S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)2、检索学习课程为C2的学生学号与姓名方法二:嵌套查询SELEC

7、TS#,SNAMEFROMSWHERES#IN(SELECTS#FROMSCWHEREC#=´C2´)SQL应用S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)2、检索学习课程为C2的学生学号与姓名方法三:嵌套查询SELECTS#,SNAMEFROMSWHERE´C2´IN(SELECTC#FROMSCWHERES#=S.S#)“相关子查询”子查询中查询条件依赖于外层查询中的某个值SQL应用S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,

8、CNAME,TEACHER)2、检索学习课程为C2的学生学号与姓名方法四:存在量词SELECTS#,SNAMEFROMSWHEREEXISTS(SELECT*FROMSCWHERESC.S#=S.S#ANDC#=´C2´)SQL应用S(S#,SNAME,AGE,SEX)SC(S#,C#,G

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。