版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实现数据完整性第1页,共18页,2023年,2月20日,星期六3.1数据完整性的概念3.1.1完整性约束条件的作用对象3.1.2完整性类型3.1.3如何保证数据完整性第2页,共18页,2023年,2月20日,星期六3.1.1完整性约束条件的作用对象
完整性约束条件的作用对象可以是表、元组和列。列约束主要是列的类型、取值范围、精度、排序约束等;如:年龄0~150,性别{男,女}
元组约束是元组中各个字段间的联系的约束。如:开始日期小于结束日期第3页,共18页,2023年,2月20日,星期六3.1.2完整性类型实体完整性
实体完整性将行定义为特定表的唯一实体。一般用主码约束实现
域完整性
域完整性是指给定列的输入有效性。年龄0~150,一般用check等实现引用完整性
引用完整性保持表之间已定义的关系。一般用外码实现
第4页,共18页,2023年,2月20日,星期六3.1.3如何保证数据完整性声明完整性
在表定义时声明使用约束(CONSTRAINT)、缺省值(DEFAULT)和规则由SQLServer自动加以保证过程完整性
在客户端或服务器端用编程语言或工具实现在Server端使用存储过程(storedprocedure)和触发器(trigger)来实现第5页,共18页,2023年,2月20日,星期六3.2使用约束3.2.1完整性与使用的约束3.2.2DefaultConstraint3.2.3CHECKConstraint3.2.4UniqueConstraint3.2.5PRIMARYKEY约束3.2.6FOREIGNKEY约束第6页,共18页,2023年,2月20日,星期六Default(默认)约束当将某行装载到为行定义了DEFAULT的表中时,若没有指定列值,则是隐性要求将默认值装载到该列中。一个Default只能约束一列格式:
[CONSTAINT约束名]
DEFAULT约束表达式for列名
第7页,共18页,2023年,2月20日,星期六Default约束示例
当未给employees表的受雇日期插入值时,取当前值插入AltertableemployeesAddconstraintdf_emp_datedefaultgetdate()foremp_date也可以在定义表的同时定义约束:CreateTableemployees(......emp_datedatetimeconstraintdf_emp_datedefaultgetdate(),......)
第8页,共18页,2023年,2月20日,星期六CHECK约束通过限制输入到列中的值来强制域的完整性。可定义同表多列之间的约束关系格式
[CONSTAINT约束名]CHECK逻辑表达式
第9页,共18页,2023年,2月20日,星期六Check约束示例1
限制employees表的salary必须大于0 Altertableemployees AddConstraintck_employees_salary
Check(salary>0)
第10页,共18页,2023年,2月20日,星期六Check约束示例2限制employees表的Phone必须是8位长,且每一位必须是0~9的数字
Altertableemployees AddConstraintck_employees_phone
Check(phoneLike‘[1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’)
第11页,共18页,2023年,2月20日,星期六Check约束示例3限制jobs表的low_salary必须小于high_salary AltertableJobs AddConstraintck_jobs_salary Check(low_salary<high_salary)
第12页,共18页,2023年,2月20日,星期六Unique约束确保在非主键列中不输入重复值。应用在客观具有唯一性质的列上,如身份证号、社会保险号等。格式:
[CONSTAINT约束名]
UNIQUE(列名[,…n])
第13页,共18页,2023年,2月20日,星期六Unique约束示例限制employess的sid都是唯一的
AltertableemployeesAddConstraintu_employees_sid
Unique(sid)
第14页,共18页,2023年,2月20日,星期六PRIMARYKEY约束保证实体完整性每个表有且只有一个PRIMARYKEY约束格式:
[CONSTAINT约束名]
PRIMARYKEY(列名[,…n])
第15页,共18页,2023年,2月20日,星期六PRIMARYKEY约束示例
为employees表和jobs表添加PRIMARYKEY约束
ALTERTABLEemploueesADDCONSTRAINTPK_emplouees_emp_id
PRIMARYKEY(emp_id)
ALTERTABLEjobsADDCONSTRAINTPK_jobs_job_id
PRIMARYKEY(job_id)
第16页,共18页,2023年,2月20日,星期六
FOREIGNKEY约束用于建立和加强两个表数据之间的链接的一列或多列格式:
[CONSTAINT约束名]
FOREIGNKEY(本表列名)REFERENCES
引用表名(引用列名)第17页,共18页,2023年,2月20日,星期六FK约束示例
在employees表的job_id添加外键约束,保证雇员从事的工作一定是在jobs表中已有的工作。
ALTER
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版著作权许可使用合同详细条款和标的3篇
- 2025版个人车辆维修保养借款合同2篇
- 2025年度建筑材料租赁与交货期限合同3篇
- 2025版合同能源管理技术通则实施与监督管理合同3篇
- 2025版钣金喷涂维修行业市场分析与服务承包合同
- 2025版建筑垃圾资源化利用施工合同补充协议范本3篇
- 快艇买卖合同范本2025年
- 二零二五年大型商业综合体供能合同3篇
- 二零二五年互联网+教育培训机构承包合同3篇
- 2025版绿色金融出借信息与可持续发展服务合同3篇
- 胃脘痛中医护理方案-课件
- 《大学生职业发展与就业指导》第二章自我认知
- 气压治疗仪的使用方法课件
- 最新营销中心物业服务可视化操作指引说明详解新实用手册
- 食材配送投标服务方案
- 医疗医学医生护士工作PPT模板
- 排污许可证守法承诺书(2篇)
- 矩形顶管施工方案28
- 液压转向器厂总平面布置课程设计
- 说明性语段的压缩(课堂PPT)
- 装配式钢板筒仓安装技术经验规程
评论
0/150
提交评论