第22讲__规则和默认值对象_第1页
第22讲__规则和默认值对象_第2页
第22讲__规则和默认值对象_第3页
第22讲__规则和默认值对象_第4页
第22讲__规则和默认值对象_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

规则和默认值 第9讲 复习 索引的作用索引的类型创建索引的方法系统自动创建索引用户创建索引删除索引的方法dropindex索引名altertable表名dropconstraint约束名 提高检索数据的速度 聚集和非聚集索引惟一和非惟一索引单和复合索引 添加主键约束时添加惟一性约束时 createindex索引名on表名 列名 引 请思考 在创建数据表时 是如何实现数据完整性的 实例1 教材P160例6 18 这些约束是如何存储的 主键 PRIMARYKEY 约束惟一 UNIQUE 约束外键 FOREIGNKEY 约束检查 CHECK 约束默认值 DEFAULT 约束空值 NULL 约束 实现参照完整性 通过创建表约束来实现的 那么 有哪些约束呢 与表定义存储在一起 若删除表 则约束也被删除 再思考 能否使约束 如检查约束 默认值约束 不随表的删除而删除 能否将相同的约束应用于多个表的多列上 规则和默认值教学内容 基础知识 规则对象默认值对象实现数据完整性的主要方法 规则和默认值学习目标 认知目标 了解规则对象 默认值对象的定义了解规则对象和CHECK约束的区别了解默认值对象和默认值约束的区别能力目标 重点 难点 掌握创建和绑定规则对象的方法掌握创建和绑定默认值对象的方法 一 规则对象1 规则的概述 规则的含义规则是绑定到列上的数据库对象 用来指定列可以接受哪些数据值 规则是实现域完整性的方法之一 规则与check约束的区别check约束是用createtable语句在建表时指定的 而规则是要用createrule语句创建 且可作为单独的数据库对象来使用 在1列上只能使用1个规则 但可以使用多个check约束1个规则可以应用于多个列 而check约束只能应用于它所定义的列 一 规则对象2 创建规则 语法格式 createrule规则名as条件表达式书写条件表达式的注意事项 不能引用列名或其它数据库对象名 条件表达式中包含一个以 开头的局部变量 该变量代表在修改该列的记录时用户输入的数值 用于指定列值的格式或取值范围 一 规则对象2 创建规则 实例2 在xscj库中定义1个规则 限制联系电话的格式为 区号 电话号码 其中区号为4位 电话号码至少为6位 usexscjgocreaterulero 电话格式as 联系电话like 一 规则对象2 创建规则 课堂练习1 在xscj库中 定义1个名为 ro 正数 的规则 限制使用了该规则的列的值必须大于0 usexscjgocreaterulero 正数as zhensh 0goexecsp helptextro 正数execsp helpro 正数 查看规则的定义 查看规则的基本信息 一 规则对象3 绑定规则 规则创建好后 必须绑定到列上才能生效 用系统存储过程实现绑定 exec sp bindrule规则名 表名 列名 说明 如果列上已经绑定了规则 当再次向它们绑定规则时 旧规则将被新规则覆盖 绑定规则后 当有不符合规则的数据输入时 系统会给出错误信息 拒绝接受该值 一 规则对象3 绑定规则 实例3 将名为 ro 电话格式 的规则绑定到xsqk表的 联系电话 列上 实例4 将名为 ro 正数 的规则分别绑定到 xsqk表的 总学分 列 xs kc表的 成绩 和 学分 列 kc表的 开课学期 和 学分 列上 execsp bindrulero 正数 xsqk 总学分 execsp bindrulero 正数 xs kc 成绩 execsp bindrulero 正数 xs kc 学分 execsp bindrulero 正数 kc 开课学期 execsp bindrulero 正数 kc 学分 execsp bindrulero 电话格式 xsqk 联系电话 一 规则对象3 绑定规则 课堂练习2 在xscj库中 创建一个名为 ro 学时 的规则 以限制学时数至少在20以上 并将该规则绑定到kc表的 学时 列上 usexscjgocreaterulero 学时as xueshi 20gosp bindrulero 学时 kc 学时 一 规则对象4 解除绑定的规则 用系统存储过程解除绑定 exec sp unbindrule 表名 列名 实例5 解除绑定在xsqk xs kc kc表列上的规则 execsp unbindrule xsqk 联系电话 execsp unbindrule xsqk 总学分 execsp unbindrule xs kc 成绩 execsp unbindrule xs kc 学分 execsp unbindrule kc 开课学期 execsp unbindrule kc 学分 execsp unbindrule kc 学时 一 规则对象5 删除规则 语法格式 droprule规则名 n 说明 删除一个规则前 必须先将规则从它所绑定的列上解除 否则 会显示错误信息 实例6 删除xscj库中的规则 droprulero 电话格式 ro 正数 ro 学时 二 默认值对象1 概述 定义默认值就是当用户向表中添加数据时 没有明确地给出 而由SQLServer自动指派的值 默认值可以定义为数据库对象 使用时需将其绑定到特定的列上 默认值约束与默认值对象的区别默认值约束是用createtable语句创建表时 使用default子句为表中的列提供默认值 默认值对象是用createdefault语句来创建的 使用时须将它绑定到列上 二 默认值对象2 创建默认值对象 语法格式 createdefault默认值对象名as常量表达式说明 字符和日期型数据 必须用单引号 括起来二进制数据 必须以0 x作前导符货币型数据 以美元符号 开头整数和浮点数 不需要任何定界符实例7 教材P156例6 14 可以是常量 内置函数或表达式 二 默认值对象2 创建默认值对象 课堂练习 在xscj库中定义1个名为 dfo 备注 的默认值对象 限制使用了该默认值对象的列的值为 统招生 usexscjcreatedefaultdfo 备注as 统招生 二 默认值对象3 绑定和解除默认值对象 绑定默认值对象 exec sp bindefault默认值名 表名 列名 解除绑定 exec sp unbindefault 表名 列名 实例8 将默认值对象 dfo 备注 绑定到xsqk表的 备注 列上 sp bindefaultdfo 备注 xsqk 备注 二 默认值对象4 删除默认值对象 格式 dropdefault默认值名 n 说明 删除一个默认值之前 应先将默认值从它所绑定的列上解除 否则 会显示错误信息 实例9 自学教材P159例6 17 三 实现数据完整性的主要方法 约束主键约束 primarykey 惟一约束 unique 检查约束 check 默认值约束 default 非空值约束 notnull 外键约束 foreignke

温馨提示

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

最新文档

评论

0/150

提交评论