- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
完整性约束条件的作用对象 完整性检查是围绕完整性约束条件进行的,因此,完整性约束条件是完整性控制机制的核心。完整性约束条件的作用对象可以是表、元组和列。 列级约束 元组约束 关系约束 列级约束 列级约束主要是对列的类型、取值范围、精度等的约束,具体包括: 对数据类型的约束:包括数据类型、长度、精度等。 对数据格式的约束:如规定学号的前两位表示学生的入学年份,第三位表示系的编号,第四位表示专业编号,第五位代表班的编号等等。 对取值范围的约束:如学生的成绩取值范围为0~100。 对空值的约束。 元组约束 元组的约束是元组中各个字段之间的联系的约束, 如: 开始日期小于结束日期, 职工的最低工资不能低于规定的最低保障金。 关系约束 指若干元组之间、关系之间的联系的约束。 比如: 学号的取值不能重复也不能取空值, 学生修课表中的学号的取值受学生表中的学号取值的约束 实现数据完整性 声明完整性 在表定义时声明 使用约束、缺省值(DEFAULT)等 由SQL Server自动加以保证 过程完整性 在客户端或服务器端用编程语言或工具实现 在Server端用触发器(trigger)来实现 实现约束 1. PRIMARY KEY 约束 2. UNIQUE 约束 3. FOREIGN KEY 约束 4. DEFAULT 约束 5. CHECK 约束 PRIMARY KEY 约束 保证实体完整性 每个表有且只有一个PRIMARY KEY 约束 格式: ALTER TABLE 表名 ADD [ CONSTAINT 约束名 ] PRIMARY KEY ( 列名 [, … n ] ) 示例 例:对雇员表和工作表分别添加主码约束。 ALTER TABLE 雇员表 ADD CONSTRAINT PK_EMP PRIMARY KEY (雇员编号) ALTER TABLE 工作表 ADD CONSTRAINT PK_JOB PRIMARY KEY (工作编号) UNIQUE 约束 确保在非主键列中不输入重复值。 应用在客观具有唯一性质的列上,如身份证号、社会保险号等。 格式: ALTER TABLE 表名 ADD [ CONSTRAINT 约束名 ] UNIQUE(列名 [, … n] ) 示例 例.为雇员表的“电话号码”列添加UNIQUE约束。 ALTER TABLE 雇员表 ADD CONSTRAINT UK_SID UNIQUE (电话号码) FOREIGN KEY约束 用于建立和加强两个表数据之间的连接的一列或多列 格式: ALTER TABLE 表名 ADD [ CONSTRAINT 约束名 ] FOREIGN KEY (列名) REFERENCES 引用表名 (列名) 示例 例.为雇员表的工作编号添加外码引用约束,此列引用工作表的工作编号列。 ALTER TABLE 雇员 ADD CONSTRAINT FK_job_id FOREIGN KEY (工作编号) REFERENCES 工作表 (工作编号) DEFAULT约束 当向表中插入数据时,如果没有为定义了 DEFAULT 的列提供值,则是隐式要求为此列使用默认值。 一个Default只能约束一列。 格式: ALTER TABLE 表名 ADD [ CONSTRAINT 约束名 ] DEFAULT 默认值 FOR 列名 示例 例.定义雇员表的工资的默认值为1000。 ALTER TABLE 雇员 ADD CONSTRAINT DF_SALARY DEFAULT 1000 FOR 工资 CHECK约束 通过限制输入到列中的值来强制域的完整性。 可定义同表多列之间的约束关系 格式: ALTER TABLE 表名 ADD [ CONSTRAINT 约束名 ] CHECK (逻辑表达式) 示例1 例1.在雇员表中,添加限制雇员的工资必须大于等于500的约束。 ALTER TABLE 雇员 ADD CONSTRAINT CHK_Salary CHECK ( 工资 = 500 ) 示例2 例2.添加限制工资表的最低工资小于等于最高工资的约束。 ALTER TABLE 工作 ADD CONSTRAINT CHK_Job_Salary CHECK ( 最低工资 = 最高工资 ) 综合起来 CREATE TABLE 工作( 工作编号 char(8) PRIMARY KEY, 最低工资 int , 最高工资 int, CHECK ( 最低工资 = 最高工资 ) ) CREATE TABLE 雇员 (
您可能关注的文档
最近下载
- 2025年人教版八年级下册语文期末试卷含答案.pdf VIP
- 【新教材】花城版一年级音乐上册(艺术唱游)全册核心素养教案+教学计划(全35页)(2024年).doc VIP
- 二 比较文学的对象、体系与方法.ppt VIP
- 电商直播人才培养模式研究.pptx VIP
- 2020年版中国药典药物检测相关知识考试试卷.docx
- 2025割草机器人市场规模技术路线及竞争格局分析报告.docx
- 体育心理学(第三版) 季浏PPT课件.pptx
- 四年级上册“快乐读书吧” 测试题及答案 .pdf VIP
- 家用空调主板整机可靠性测试标准.docx VIP
- 2025秋教科版(2024)小学科学三年级上册教学计划及进度表(2025-2026学年第一学期).docx VIP
文档评论(0)