




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实现数据完整性第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 实战模拟CPMM试题及答案
- 2024年国际物流师政策法规试题及答案
- 教育科研基地管理办法(试行)
- 植物的遗传特征及表现试题及答案
- 国际物流师的备考障碍及应对策略与试题及答案
- 2025届安徽省安庆二中高考适应性考试化学试卷含解析
- 2025山东商业职业技术学院辅导员考试题库
- 2025河南司法警官职业学院辅导员考试题库
- 黑龙江城区亮化施工方案
- 贵州一体化化粪池施工方案
- 第11课《上课能专心》课件
- 《皮疹护理》课件
- 氢能产业园规划方案设计说明
- 餐厅饭店顾客意见反馈表格模板(可修改)
- 脑梗死后遗症 护理查房课件
- 小学生主题班会通用版中国少年先锋队入队前教育六知、六会、一做 课件
- 成立龙舟协会管理制度
- 如何制定护理教学计划课件
- 生物化学-脂类和生物膜
- 武汉东湖学院学术汇报毕业答辩PPT模板
- 地下管道漏水抢修施工方案范本
评论
0/150
提交评论