资源描述:
《创建约束实例(10)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、创建约束主讲人:夏岩1数据完整性目标:1.理解数据完整性2.掌握数据库约束23数据完整性数据完整性指数据库中存储数据的一致性数据完整性类型:实体完整性域完整性引用完整性用户自定义DB3实体完整性主要实现方法:主键约束primarykeyIDENTITY属性和Unique约束3.1实体完整性学号姓名性别班级出生日期980010101张涛男310780-03-24980010102李明男310883-01-01实体完整性是将行定义为特定表的唯一实体。43.1.1主键主键是表中一列或多列的组合,能够唯一确定表中一行记录。学号姓名980010101张涛98
2、0010102李明CreatetableStudent(StuNovarchar(9)primarykey,StuNamevarchar(10))53.1.2Unique约束UNIQUE约束在列集内强制执行值的唯一性Createtablestudent(StuNovarchar(9)primarykey,StuNamevarchar(10),StuCardIDvarchar(18)unique)63.1.3使用IDENTITY属性语法:IDENTITY[(seed,increment)]初值增量例如:CREATETABLEScore(fIDintI
3、DENTITY(101,1),fcodevarchar(13)NOTNULL,fsubjectvarchar(20)NOTNULL,fscorefloatNOTNULL)73.2域完整性域完整性是指给定列的输入有效性。强制域有效性的方法有:限制类型(指定列的数据类型)格式控制(如Check约束控制输入格式)可能值范围(如Notnull约束,default定义,check约束)83.2.1Check约束的使用作用:控制用户输入数据的格式语法:CreateTABLEStudent(fCodevarchar(9)NOTNULL,fNamevarchar(
4、10)NOTNULL,fSexchar(2)Check(fsexin(‘男’,‘女’)),fClassvarchar(4)NOTNULL,fBirthdaydatetime)9作用:提供给用户一个特定值CREATETABLEStudent(fCodevarchar(9)NOTNULL,fNamevarchar(10)NOTNULL,fSexchar(2)NOTNULL,fClassvarchar(4)NOTNULL,fBirthdaydatetimedefault‘1980-1-1’)3.2.2Default默认值定义103.3引用完整性引用完整性
5、确保键值在所有表中一致Score表980010102103980010102102980010101101学号自动编号82英语72数学68英语成绩考试科目学号姓名性别班级出生日期980010101张涛男310780-03-24980010102李明男310883-01-01Student表外键113.3.1FOREIGNKEY(外键约束)FOREIGNKEY约束定义列值与另一个表的PRIMARYKEY相匹配的列REFERENCES子句与ALTERTABLE语句一起使用以创建FOREIGNKEY12--创建外键CREATETABLEscore(fID
6、intIDENTITY(101,1),fcodevarchar(9)NOTNULL,fsubjectvarchar(20)NOTNULL,fscorefloatNOTNULL,PRIMARYKEY(fID),FOREIGNKEY(fcode)REFERENCESStudent(fcode))13以修改表的方式添加约束--1、添加主键约束altertablestudentaddconstraintPK_fCodeprimarykey(fCode)--2、添加默认值定义altertablestudentaddconstraintDF_fNamedefa
7、ult‘缺省’forfName143、添加检查约束altertablestudentaddconstraintCK_fSexcheck(fSexin('男','女'))约束名153.4删除约束语法ALTERTABLEstudentDROPCONSTRAINTDF_birthday16数据完整性和约束实体完整性:PRIMARYKEY约束UNIQUE约束Identity属性域完整性:CHECK约束DEFAULT定义NOTNULL约束引用完整性:FOREIGNKEY约束本课总结17作业:1.按要求创建表Employee,Salary2.要求:Emp包括
8、如下字段:eId(主键),eName(默认值:缺省),eSex(检查:男,女),eGrade(Check约束),eBirt