




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章 实现数据完整性,7.1 数据完整性的概念 7.2 实现数据完整性 7.3 查看约束信息 7.4 删除约束,7.1 数据完整性的概念,1. 完整性约束条件的作用对象 2. 实现数据完整性的方法,1. 完整性约束条件的作用对象,完整性约束条件的作用对象可以是表、元组和列。 列约束主要是列的类型、取值范围、精度等; 如: 年龄0150,性别男,女 元组约束是元组中各个字段间的联系的约束。 如:开始日期小于结束日期,完整性类型,实体完整性 实体完整性将行定义为特定表的唯一实体。 一般用主码约束实现 域完整性 域完整性是指给定列的输入有效性。 年龄0150,一般用check等实现 引用完整性 引用完整性保持表之间已定义的关系。 一般用外码实现,2. 实现数据完整性的方法,声明完整性 在表定义时声明 使用约束(CONSTRAINT)、缺省值(DEFAULT)等 由SQL Server自动加以保证 过程完整性 在客户端或服务器端用编程语言或工具实现 在Server端用触发器(trigger)来实现,7.2 实现约束,1. PRIMARY KEY 约束 2. Unique 约束 3. FOREIGN KEY 约束 4. Default 约束 5. CHECK 约束,PRIMARY KEY 约束,保证实体完整性 每个表有且只有一个PRIMARY KEY 约束 格式: CONSTAINT 约束名 PRIMARY KEY ( 列名 , n ),PRIMARY KEY 约束示例,为employees表和jobs表添加PRIMARY KEY 约束 ALTER TABLE employees ADD CONSTRAINT PK_employees_emp_id PRIMARY KEY (emp_id) ALTER TABLE jobs ADD CONSTRAINT PK_jobs_job_id PRIMARY KEY (job_id),Unique约束,确保在非主键列中不输入重复值。 应用在客观具有唯一性质的列上,如身份证号、社会保险号等。 格式: CONSTAINT 约束名 UNIQUE ( 列名 , n ),Unique 约束示例,限制employees的sid都是唯一的 Alter table employees Add Constraint u_employees_sid Unique (sid),FOREIGN KEY 约束,用于建立和加强两个表数据之间的连接的一列或多列 格式: CONSTAINT 约束名 FOREIGN KEY (本表列名 ) REFERENCES 引用表名 ( 引用列名 ),FK约束示例,在employees表的job_id添加外键约束,保证雇员从事的工作一定是在jobs表中已有的工作。 ALTER TABLE employees ADD CONSTRAINT FK_employees_job_id FOREIGN KEY (job_id) REFERENCES jobs(job_id),Default (默认)约束,当向表中插入数据时,如果没有为定义了 DEFAULT 的列提供值,则是隐式要求为此列使用默认值。 一个Default只能约束一列 格式: CONSTAINT 约束名 DEFAULT 约束表达式 for 列名,Default约束示例,当未给employees表的受雇日期插入值时,取当前值插入 Alter table employees Add constraint df_emp_date default getdate() for emp_date 也可以在定义表的同时定义约束: Create Table employees ( emp_date datetime constraint df_emp_date default getdate(), ),CHECK约束,通过限制输入到列中的值来强制域的完整性。 可定义同表多列之间的约束关系 格式 CONSTAINT 约束名 CHECK 逻辑表达式,Check 约束示例1,限制employees表的salary必须大于0 Alter table employees Add Constraint ck_employees_salary Check (salary 0),Check 约束示例2,限制employees表的Phone必须是8位长,且每一位必须是0 9的数字 Alter table employees Add Constraint ck_employees_phone Check (phone Like 1-9 0-9 0-9 0-9 0-9 0-9 0-9 0-9 ),Check 约束示例3,限制jobs表的low_salary必须小于high_salary Alter table Jobs Add Constraint ck_jobs_salary Check (low_salaryhigh_salary),
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字艺术市场数字化交易平台在艺术品市场中的用户体验提升报告
- 爱好养花面试题及答案
- 施工现场事故案例学习考核题目细解试题及答案
- 废旧塑料回收再利用技术革命2025年产业发展策略分析报告
- 盐业执法考试试题及答案
- 建筑施工安全新技术试题及答案
- 潮玩市场2025年研究报告:收藏价值与文化传播的双重视角解读
- 江苏省句容市崇明片2024-2025学年初三毕业班阶段性测试(七)英语试题含答案
- 智能仓储物流系统智能化改造对人力资源优化影响报告
- 沈阳城市学院《德汉口译》2023-2024学年第二学期期末试卷
- 妊娠期高血压疾病诊治指南2020完整版
- 铜及铜合金物理冶金基础-塑性加工原理
- 2023年自考外国新闻事业史历年考题及部分答案
- 安徽汇宇能源发展有限公司25万吨年石脑油芳构化项目环境影响报告书
- 新《行政处罚法》亮点ppt解读
- LY/T 1970-2011绿化用有机基质
- 部编人教版五年级语文下册第18课《威尼斯的小艇》精美课件
- 消防(电动车)火灾安全知识课件
- VSM(价值流图中文)课件
- 上海交通大学医学院附属仁济医院-日间手术管理信息化实践与发展
- 核电站入厂安全培训课件
评论
0/150
提交评论