欢迎来到天天文库
浏览记录
ID:45031657
大小:665.50 KB
页数:50页
时间:2019-11-08
《Access数据库第五章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、上节回顾第四章数据库安全性4.2数据库安全性控制授权与回收数据库角色强制存取控制方法4.4审计4.5数据加密4.6统计数据库安全性1AnIntroductiontoDatabaseSystems数据库系统概论AnIntroductiontoDatabaseSystem第五章数据库完整性东莞理工学院城市学院计算机与信息科学系2AnIntroductiontoDatabaseSystems第五章数据库完整性定义指数据的正确性和相容性目的为了防止不合语义的数据进入数据库。现实世界的实例:学生的性别只能是男或女;本科生的年龄必须是整数,取值范围为14-50;学生的学号一定是唯
2、一的;学生所在的系必须是学校开设的系;3AnIntroductiontoDatabaseSystems第五章数据库完整性完整性和安全性的区别目的不同完整性是防止数据库中存在不正确的数据;安全性是防止数据库被恶意破坏或非法存取。防范对象不同完整性是防范不合语义、不正确的数据;安全性是防范非法用户和非法操作。4AnIntroductiontoDatabaseSystems数据库完整性完整性控制机制包括:完整性约束条件定义机制DBMS应提供定义数据库完整性约束条件,并把它们作为模式的一部分存入数据库中完整性检查的方法检查用户发出的操作请求是否违背了完整性约束条件,一般在:IN
3、SERT、UPDATE、DELETE语句执行后以及事务提交时检查。5AnIntroductiontoDatabaseSystems数据库完整性违约处理如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性,包括:拒绝(NOACTION)执行该操作,或级联(CASCADE)执行其他操作。6AnIntroductiontoDatabaseSystems第五章数据库完整性5.1实体完整性5.2参照完整性5.3用户定义的完整性5.4完整性约束命名子句5.6触发器5.7小结7AnIntroductiontoDatabaseSystems5.1.1实体
4、完整性定义在CREATETABLE中用PRIMARYKEY定义,可以是列级约束条件也可以是表级约束条件,但有些时候只能定义表级约束条件。8AnIntroductiontoDatabaseSystems5.1.1实体完整性定义【例1】将Student表中的Sno属性定义为码CREATETABLEStudent/*列级定义主码*/(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20)NOTNULL,SsexCHAR(2),SageSMALLINT,SdeptCHAR(15));9AnIntroductiontoDatabaseSystems5.1.1实体完整
5、性定义CREATETABLEStudent/*表级定义主码*/(SnoCHAR(9),SnameCHAR(20)NOTNULL,SsexCHAR(2),SageSMALLINT,SdeptCHAR(15),PRIMARYKEY(Sno));10AnIntroductiontoDatabaseSystems5.1.1实体完整性定义【例2】将SC表中的Sno,Cno属性组定义为码CREATETABLESC/*只能在表级定义主码*/(SnoCHAR(9)NOTNULL,CnoCHAR(4)NOTNULL,GradeSMALLINT,PRIMARYKEY(Sno,Cno));1
6、1AnIntroductiontoDatabaseSystems5.1.2实体完整性检查和违约处理检查当用户程序对基本表插入一条记录或对主码进行更新操作时进行检查。包括:检查主码的值是否唯一,不唯一则拒绝操作;检查主码的各个属性是否为空,只要有一个为空就拒绝操作。12AnIntroductiontoDatabaseSystems第五章数据库完整性5.1实体完整性5.2参照完整性5.3用户定义的完整性5.4完整性约束命名子句5.6触发器5.7小结13AnIntroductiontoDatabaseSystems第五章数据库完整性附:创建Course表的SQL语句CREAT
7、ETABLECourse(CnoCHAR(4)PRIMARYKEY,CnameCHAR(40),CpnoCHAR(4),CcreditSMALLINT,FOREIGNKEY(Cpno)REFERENCESCourse(Cno));14AnIntroductiontoDatabaseSystems5.2.1参照完整性定义在CREATETABLE中用FOREIGNKEY定义哪些列为外码,用REFERENCES短语指明这些外码参照哪些表的主码。15AnIntroductiontoDatabaseSystems5.2.1参照完整性定义【例3】定义
此文档下载收益归作者所有