欢迎来到天天文库
浏览记录
ID:35342192
大小:75.21 KB
页数:6页
时间:2019-03-23
《实验6数据库安全性、完整性的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、XX实验报告普目-系别专业班级姓名课程名称课程类型学时数验称实名数据库安全性、完整性的实现实验目的:了解关系数据库三类完整性约束的基本概念,学习SQL语言屮实现这些完整性控制功能的方法。实验内容:5.1实体完整性5.2参照完整性5.3用户定义的完整性5.4完整性约束命名字句实验步骤:1、实体完整性定义•关系模型的实体完整性CREATETABLE中用PRIMARYKEY定义•单屈性构成的码有两种说明方法定义为列级约束条件定义为表级约束条件•对多个属性构成的码只有一种说明方法定义为表级约束条件例:将Student表中的Sno
2、属性定义为码代码如下:/SQLQueryzuoye5.sq...ministrator(55))*SQLQueryl.sql•(I…Ad□CREATETABLEStudent(Snochar(9)primarykeyfSnamechar(20)notnull,Ssexchar(2)zSagesmallintA-Sdeptchar(20));空消息命令已成功完成。SQLQuery7.sq
3、—(lo...dministrator(58))*[SQLQuery5.sql・(I...Adr□CREATETA3*ESC(Snoch
4、ar(9)notnull^Cnochar(4)notnull^GradeSMAL匸INT,PRIMARYKEY(SnorCno)
5、L-畐消息命令已成功完成。2、实体完整性检查和违约处理(1)插入或对主码列进行更新操作时,RDBMS按照实体完整性规则自动进行检查。(2)检查记录中主码值是否唯一的一种方法是进行全表扫描(3)索引3、参照完整性定义•在CREATETABLE'p用FOREIGNKEY短语定义哪些列为外码•用REFERENCES短语指明这些外码参照哪些表的主码例:定义SC表中的参照完整性。代码如下:SQLQue
6、ry7.sql-(lo^dministrator(58))*SQLQuery5.sql・(I...Administi□CREATETABLESC(Snochar(9)notnullfCnochar(4)nornullFGradeSl7、策略(2)级联(CASCADE)操作(3)设置为空值(SET-NULL)对于参照完整性,除了应该定义外码还应定义外码列是否允许空值使用规则如下:SQLQuery7.sql・((...Administrator(51))SQLQueryzuoye6.sql...dministrator(57))□CREATETABLESC(Snochar(9)9Cnochar(4)rGradeSMALLINT,PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCESStudent(Sno)ONDELETE8、CASCADE/*当删除学生宸中的元组时,级联删除选课表中相应的元组*/ONUPDATECASCADE/*当更新学生表中的元组时,级联更新选课表中相应的元组*/,FOREIGNKEY(Cno)REFERENCESCourse(Cno)ONDELETENOACTION八当删除课程表中的元组造成与选课不一致,拒绝删除"ONUPDATECASCADE/*当更新课程表中的CN。时,级联更新选课表中相应的元组"L);9、..ministrator(55)广?SQLQueryl.sql-(lo...dmini£t日createtableSC(Snochar(9)notnullfCnochar(4)nornullfGradesmallintnotnull,primarykey(SnorCno)费消息命令已成功完成。(2)列值唯-(3)CHECK语句SQLQuery2.sql・0o_dministrator(51))*SQLQueryzuoye5.sq...ministt日createtableDFPT(Deptnonumeric(2)zDn10、amechar(9)uniquenotnull,Locationchar(10)rprimarykey(Deptno)・);由消息命令已成功完成。ISQLQuery3.sql-(I...Administrator(56))SQLQuery2.sql・(lo...dn□CREATETABLEStudent(Snocha
7、策略(2)级联(CASCADE)操作(3)设置为空值(SET-NULL)对于参照完整性,除了应该定义外码还应定义外码列是否允许空值使用规则如下:SQLQuery7.sql・((...Administrator(51))SQLQueryzuoye6.sql...dministrator(57))□CREATETABLESC(Snochar(9)9Cnochar(4)rGradeSMALLINT,PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCESStudent(Sno)ONDELETE
8、CASCADE/*当删除学生宸中的元组时,级联删除选课表中相应的元组*/ONUPDATECASCADE/*当更新学生表中的元组时,级联更新选课表中相应的元组*/,FOREIGNKEY(Cno)REFERENCESCourse(Cno)ONDELETENOACTION八当删除课程表中的元组造成与选课不一致,拒绝删除"ONUPDATECASCADE/*当更新课程表中的CN。时,级联更新选课表中相应的元组"L);9、..ministrator(55)广?SQLQueryl.sql-(lo...dmini£t日createtableSC(Snochar(9)notnullfCnochar(4)nornullfGradesmallintnotnull,primarykey(SnorCno)费消息命令已成功完成。(2)列值唯-(3)CHECK语句SQLQuery2.sql・0o_dministrator(51))*SQLQueryzuoye5.sq...ministt日createtableDFPT(Deptnonumeric(2)zDn10、amechar(9)uniquenotnull,Locationchar(10)rprimarykey(Deptno)・);由消息命令已成功完成。ISQLQuery3.sql-(I...Administrator(56))SQLQuery2.sql・(lo...dn□CREATETABLEStudent(Snocha
9、..ministrator(55)广?SQLQueryl.sql-(lo...dmini£t日createtableSC(Snochar(9)notnullfCnochar(4)nornullfGradesmallintnotnull,primarykey(SnorCno)费消息命令已成功完成。(2)列值唯-(3)CHECK语句SQLQuery2.sql・0o_dministrator(51))*SQLQueryzuoye5.sq...ministt日createtableDFPT(Deptnonumeric(2)zDn
10、amechar(9)uniquenotnull,Locationchar(10)rprimarykey(Deptno)・);由消息命令已成功完成。ISQLQuery3.sql-(I...Administrator(56))SQLQuery2.sql・(lo...dn□CREATETABLEStudent(Snocha
此文档下载收益归作者所有