已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全班会课件四年级
- 朝阳事业单位工作人员招聘考试真题2024
- 小学四年级公共安全课件
- 车间现场施工应急预案(3篇)
- 草原防扑火应急预案(3篇)
- 检验质量管理岗位竞聘
- 劳动争议解决2025年试题及答案
- 2025年刑诉法考试题库及答案
- 2025年连接器:100+主流云端应用系统数据即取即用报告-帆软
- 2025未来三年国有企业人力资源管理战略规划(定稿)
- 四川成都空港兴城投资集团有限公司招聘笔试题库2025
- 企业市场部岗位职责与绩效考核方案
- 2025年四川省公务员申论真题预测卷
- 2025秋南水北调生态环保工程有限公司招聘(15人)笔试考试参考试题及答案解析
- 2025高级生命支持(ACLS)理论考核试题库及答案
- 物流新员工流程培训
- 画展展示活动策划方案
- 全国大学生职业规划大赛《财务管理》专业生涯发展展示【曾获省级一等奖】
- 2023年湘西土家族苗族自治州辅警协警招聘考试真题及一套答案详解
- 全册教案-2025-2026学年度二年级上册音乐人音版
- 主播签电子合同范本
评论
0/150
提交评论