第五章 SQLserver2005 数据完整性_第1页
第五章 SQLserver2005 数据完整性_第2页
第五章 SQLserver2005 数据完整性_第3页
第五章 SQLserver2005 数据完整性_第4页
第五章 SQLserver2005 数据完整性_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQLServer2005数据完整性 第四章介绍了数据库的基本操作 对于数据的添加 删除 修改操作都可能对数据库中的数据造成破坏或出现相关数据不一致的现象 要保证数据的正确无误和相关数据的一致性 除了认真地进行操作外 更重要的时数据库系统本身需要提供维护机制 一 概念 数据完整性是指数据的精确性 和可靠性 它是防止数据库中存在不符合语义规定的数据 学生 表中有 学号 姓名 性别 班级代码 等等 在这张表中都应该有唯一的学号 不能有两个或多个学生的学号相同 在 性别 字段里数据只能为 男 或 女 不可能有其它数据 完整的数据类型分四类 实体完整性 域完整性 参照完整性 用户定义的完整性 更多更新视教程 请到 SQLServer2005数据完整性 1 实体完整性实体完整性 规定表中的每一行在表中是唯一的实体 也可以这样说 在表中不可能存在完全相同的记录 主键的存在保证了任何记录都不重复的 2 域完整性域完整性是指数据表中的字段必须满足某种特定的数据类型或约束 其中约束又包括取值范围 精度等规定 更多更新视教程 请到 SQLServer2005数据完整性 3 参照完整性参照完整性是指两个表的主键和外键的数据应对应一致 它确保存了主键的表中对应其它表的外键的存在 即保证了表之间数据的一致性 防止了数据丢失或无意义的数据 禁止在从表中插入包含主表中不存在的关键字的数据行 4 用户定义的完整性不同关系数据库系统根据其应用环境的不同 往往还需要一些特殊的约束条件 用户定义的完整性针对某个特定关系数据库的约束条件 它反映了某一具体应用所涉及的数据必须满足的语义要求 更多更新视教程 请到 SQLServer2005数据完整性 二 约束的类型约束就是一种强制性的规定 在SQLSERVER2005中提供的约整是通过定义字段的取值规则来维护数据完整性的 在SQLSERVER中支持6类约束 NOTNULL 非空 约束 CHECK 检查约束 UNIQUE 唯一束 PRIMARYKEY 主键约束 FOREIGNKEY 外键约束 和DEFAULT 默认约束 更多更新视教程 请到 SQLServer2005数据完整性 三 约束的创建约束可以在创建表的同时创建 也可以在已有的表上创建 通常 约束可可以在对象资源管理器中创建 也可以在查询分析中中使用SQL命令创建 1 创建主键约束2 创建外键约束3 创建唯一约束在一张数据表中 有时候除主键需要具有唯一性 还有某他字段也需要具有唯一性 例如 在 系部 表中 主键为 系部代码 但是另外一个字段 系部名称 虽然不是主键 但也需要保证它的唯一性 这时就需要创建表中的唯一约束 2 1使用对象资源管理器创建唯一约束 更多更新视教程 请到 SQLServer2005数据完整性 3 1使用对象资源管理器创建唯一约束 1 在 对像资源管理器 窗口中 右击需要设置唯一约束的表 在弹出的菜单选 修改 命令 打开 表设计器 2 在 表设置器 窗口中 右击需要设置为唯一约束的字段在弹出的菜单中选择 索引 键 命令 然后添加唯一约束 3 2使用SQL语句创建唯一约束为已经存在的表创建唯一约束语法格式如下 ALTERTABLE表名ADDCONSTRAINT唯一约束的名称UNIQUENONCLUSTERED 字段名称 更多更新视教程 请到 SQLServer2005数据完整性 4 创建检查约束检查约束对输入的数据的值做检查 可以限定数据输入 从而维护数据的域完整性 4 1 使用对象资源管理器创建检查约束 1 在 对象资源管理器 窗口中 右击需要设置唯一约束的表 在弹出的菜单中选 修改 命令 2 在 表设计器 窗口中右击需要创建检查约束的字段 选择 CHECK约束 命令 然后添加栓查约束 更多更新视教程 请到 SQLServer2005数据完整性 4 2 使用SQL语句创建检查约束ALTERTABLEtable nameADDCONSTRAINTck nameCHECK 条件 更多更新视教程 请到 SQLServer2005数据完整性 5 创建默认约束在用户输入某些数据时 希望一些数据在没输入的情况下被自动输入 这个时候需要对数据表创建默认约束 5 1 使用对象资源管理器创建检查约束 1 在 对象资源管理器 窗口中 右击需要设置默认约束的表 在弹出的菜单中选 修改 命令 2 选择需要创建默认约束的字段 在 列属性 选项卡中的 默认值或绑定 文本框中输入默认值 更多更新视教程 请到 SQLServer2005数据完整性 5 2使用SQL语句创建默认约束ALTERTABLEtable nameADDCONSTRAINTconstraint nameDEFAULT 默认值 FORcolumn name删除约束ALTERTABLEtable nameDROPCONSTRAINTck name 更多更新视教程 请到 SQLServer2005数据完整性 6 查看约束的定义对于创建好的约束 根据实际需要可以查看其定义信息 SQLServer2005提供了多种查看约束信息的方法 经常使用的有利用对象资源管理器和系统储过程 利用存储过程查看约束信息存储过程sp helptext是用来查看约束的一个系统提供的存储过程 可以通过查询分析器来查看约束的名称 创建者 类型和创建时间 其语法格式为 EXECsp help约束名称如果该约束有具体的定义和文本 那么可以用sp helptext来查看其语法格式为 EXECsp helptext约束名称 更多更新视教程 请到 SQLServer2005数据完整性 三 使用规则规则类似于CHECK约束 是用来限制数据字段的输入值的范围 实现强制数据的域完整性 但是规则不同于CHECK约束 在前面用到的CHECK约束可以针对一个列应用多个CHECK约束 但一个列不能应用多个规则 规则需要被单独创建 只需要创建一次 以后可以多次使用 可以应用于多个表 1 创建规则规则作为一种数据库对像 在使用前必须被创建 创建规则的语法格式如下 CREATERULE规则名as条件表达式 更多更新视教程 请到 SQLServer2005数据完整性 2 绑定规则要使创建好的规则作用到指定的列或表等 还必须将规则绑定到列或用户定义的数据类型上 EXECUTEsp bindrule 规则名 表名 字段名 3 解绑规则如果说字段已经不再需要规则输入了 那么必须把已绑定了的规则去掉 这就是解绑规则 在查询分析器中 同样用存储过程来完成解绑定操作 语法如下 EXECUTEsp unbindrule 表名 字段名 4 删除规则如果规则已经没有用了 那么可以将其删除 在删除前应该先对规则进行解绑 当规则不再作用于任何表或字段时 可以删除规则 DROPRULE规则名称 更多更新视教程 请到 SQLServer2005数据完整性 5 使用默认默认 也称默认值 是一种数据对象 它与DEFAULT 默认 约束的作用相同 也是当向表中插入数据时 没有为列输入值时 系统自动给列赋一个 默认值 与DEFAULT不同的是它类似规则 通过一次定义 可以多次使用 1 创建默认 在查询分析器中 创建默认对象的语法格式如下 CREATEDEFAULTdefault nameas常量表达式 可以包含常量 内置函数或数学表达式 更多更新视教程 请到 SQLServer2005数据完整性 2 绑定默认默认值创建之后 必须将其绑定到表的字段才能产生作用 在查询分析器中使用系统存储过程来完成绑定 其语法格式如下 EXECUTEsp bindefault 默认名称 表名 字段名 3 解绑默认值类似规则 对于不需要再利用默认的列 可以利用系统存储过程对其解绑 其语法格式如下 EXECUTEsp bindefault 表名 字段名 4 删除默认值当默认值不再有存在的必要时 可以将其删除 在删除前 必须先对默认值解绑 在查询分析器中使用DROP语句删除默认值 其语法格式如下 DROPDEFAULT默认名称 更多更新视教程 请到 SQLServer2005数据完整性 第四章介绍了数据库的基本操作 对于数据的添加 删除 修改操作都可能对数据库中的数据造成破坏或出现相关数据不一致的现象 要保证数据的正确无误和相关数据的一致性 除了认真地进行操作外 更重要的时数据库系统本身需要提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论