版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实现数据完整性第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学主题班会课件:责任在心担当于行
- 网络安全我保护小学主题班会课件
- 2026年福建省龙岩市高三下学期命题趋势预测(二)英语(图片版含答案)
- 小学主题班会课件:细心观察求真知,耐心思考明事理
- 市场调研系统化分析手册
- 影视制作导演创作质量绩效衡量表
- 关于2026年客户服务热线升级安排通知函(3篇)
- 协调场地使用与布置事宜通知(6篇)
- 爱护环境从小事:争当环保小卫士小学主题班会课件
- 关于2026年度市场预测信息共享的请求联系信(8篇)
- 2026年4月自考00538中国古代文学史(一)试题及答案含评分参考
- 【《历史地图在高中历史教学中的应用研究》17000字(论文)】
- 2026年《医用X射线诊断与介入放射学》考试复习题库(共350题)
- 2026年湖北省黄冈市八年级地理生物会考真题试卷(+答案)
- 循环流化床锅炉(CFB炉)设计计算大纲
- 【新教材】人教版三年级音乐下册6.1《彼得与狼》(教学课件)
- 江西省金合控股集团有限公司招聘笔试题库2026
- 2026年ESG数字化与AI赋能项目商业计划书
- d二聚体课件教学课件
- 病理科设备SOP标准化与诊断准确性
- 【语文】北京市中关村第二小学小学二年级下册期末试卷
评论
0/150
提交评论