- 1、本文档共55页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
——第5章数据库完整性NO:*5.3.3元组上的约束条件定义在CREATETABLE语句中,用CHECK子句定义元组上约束条件。[例9]:当学生的性别是男时,姓名前不能以Ms.开头。CREATETABLEStudent(SnoChar(5),SnameChar(10)NOTNULL,Sageint,SsexCHAR(2),CHECK(Ssex=‘女’ORSnameNOTLike‘Ms.%’));性别是女性的元组都能通过该项检查,因为Ssex=‘女’成立;当性别是男性时,要通过检查则名字一定不能以Ms.打头第37页,共55页,星期六,2024年,5月——第5章数据库完整性NO:*5.3.1属性上约束条件定义(续)[例]:建立学生表Student,要求学号在90000至99999之间且唯一,年龄29,性别只能是‘男’或‘女’,姓名非空且必须以汉字开头.CREATETABLEStudent3(SnoChar(5)UNIQUECHECK(Sno90000ANDSno99999),SnameCHAR(8)NOTNULLCHECK(ASC(Sname)175),SageINTCHECK(Sage29),SsexCHAR(2)CHECK(Ssex=男orSsex=女));第38页,共55页,星期六,2024年,5月——第5章数据库完整性NO:*5.3用户定义的完整性5.3.1属性上的约束条件的定义5.3.2属性上的约束条件检查和违约处理5.3.3元组上的约束条件定义5.3.4元组上的约束条件检查和违约处理第39页,共55页,星期六,2024年,5月——第5章数据库完整性NO:*5.3.4元组上约束条件检查和违约处理当插入或修改属性的值时,RDBMS就检查元组上的约束条件是否被满足,如果不满足就拒绝执行。第40页,共55页,星期六,2024年,5月——第5章数据库完整性NO:*5.4完整性约束命名子句1.在CREATETABLE语句中,还用CONSTRAINT子句对完整性约束条件命名。便于增、删完整性约束条件。格式:CONSTRAINT完整性约束条件名[PRIMARYKEY短语][FOREIGNKEY短语][CHECK短语]第41页,共55页,星期六,2024年,5月——第5章数据库完整性NO:*5.4完整性约束命名子句例10建立学生登记表Student,要求学号在90000至99999之间,年龄30,性别只能是‘男’或‘女’,姓名非空CREATETABLEStudent(SnoNUMBERIC(5)CONSTRAINTC1CHECK(SnoBETWEEN90000AND99999),SnameVARCHAR(10)CONSTRAINTC2NOTNULL,SageNUMBERIC(3)CONSTRAINTC3CHECK(Sage30),SsexCHAR(2)CONSTRAINTC4CHECK(SsexIN(男,女));(约束)(约束名)第42页,共55页,星期六,2024年,5月——第5章数据库完整性NO:*5.4完整性约束命名子句例11建立职工表TEACHER,要求每个职工的应发工资不得低于3000元。应发工资实际上就是实发工资与扣款项之和。CREATETABLETEACHER(职工号Char(5)NotNullUNIQUE,职工姓名Char(8)NotNull,职称Char(8),实发工资NUMBERIC(7,2),扣款NUMBERIC(7,2),应发工资NUMBERIC(7,2),CONSTRAINTC1FOREIGNKEY(职工号)REFERENCES部门(职工号),CONSTRAINTC2CHECK(实发工资
文档评论(0)