




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章数据完整性和数据的导入导出 9 1约束9 2默认值9 3规则9 4数据的导入9 5数据的导出 第9章数据完整性和数据的导入导出 教学重点 1 约束 2 默认值 3 规则 4 数据的导入 5 数据的导出 9 1约束 SQLServer提供了响应的组件以实现数据库的完整性 比如实体完整性通过索引 UNIQUE约束 PRIMARYKEY约束和IDENTITY属性等实现 域完整性通过FOREIGNKEY约束 CHECK约束 DEFAULT定义 NONULL定义和规则等实现 参照完整性通过CHECK约束和触发器等实现 用户定义完整性通过CREATETABLE中的列级和表级约束 存储过程和触发器等实现 9 1约束 1 PRIMARYKEY约束主键用来强制一个字段或者多个字段组合的惟一性 并且不允许该字段值为空值 主键约束分为字段约束和表级约束 当然在允许空值的字段上不能定义该约束 9 1约束 一个PRIMARY约束可以 1 作为表定义的一部分在创建表时创建 2 添加到无PRIMARYKEY约束的表中 3 对已有的PRIMARYKEY约束 可对其进行修改和删除 但是要注意的是定义了PRIMARYKEY约束的列的列宽不能更改 9 1约束 2 FOREIGNKEY约束FOREIGNKEY约束标识表之间的关系 用于强制表中一列或者多列参照完整性 一个表可有多个FOREIGNKEY约束 该约束可用在下面情况中 1 作为表定义在创建表时创建 2 若FOREIGNKEY约束与另一个表或者同一个表已有的PRIMARYKEY约束或者UNIQUE约束相关联 则可向现有表添加该约束 3 可对已有的FOREIGNKEY约束进行修改和删除 9 1约束 3 UNIQUE约束UNIQUE约束在表的列集内强制执行字段的惟一性 对于UNIQUE约束中的列 不允许有两行具有相同的非空值 每个表中可有多个UNIQUE约束 创建了UNIQUE约束后 SQLServer将自动创建UNIQUE索引来强制该约束的惟一性要求 若试图在有UNIQUE约束列中插入重复行 SQLServer将不添加该行并返回错误信息 说明该插入操作违反了UNIQUE约束 9 1约束 4 CHECK约束CHECK约束通过限制用户输入的值来加强域完整性 一个检查约束由一个关键字CHECK后面跟着一个放在圆括弧里的表达式组成 它指定应用于列中输入的所有值的布尔搜索条件 拒绝所有不取值为TRUE的值 9 2默认值 9 2 1创建表时指定默认值9 2 2使用默认对象 9 2默认值 在创建视图前需要考虑的原则有 在SQLServer2005中有两种使用默认值的方法 1 在创建表时指定默认值 这是比较简便的方法 2 使用CREATEDEFAULT语句创建默认值 然后使用存储过程将该默认对象绑定到指定的列上 这是向前兼容的方法 9 2 1创建表时指定默认值 1 使用SQLServerManagementStudio指定默认值打开SQLServerManagementStudio 选择服务器 右击 表 选择 新建表 命令 弹出创建表窗口 在这里可以输入列名 选择数据类型以及定义主键等操作 9 2 1创建表时指定默认值 9 2 1创建表时指定默认值 2 使用DEFAULT指定默认值 例1 在basetest数据库中创建一个表table2 字段为 numberint daytimedatetime 其中daytime指定默认值为当前日期 在查询窗口中输入以下命令 USEbasetestGOCREATETABLEtable2 numberint daytimedatetimeDEAFAULT getdate 9 2 2使用默认对象 1 创建默认对象CREATEDEFAULT创建默认对象的语法格式如下 CREATEDEFAULTdefault nameASconstant expression其中参数说明如下 1 default name 默认值的名称 2 constant expression 包含常量值的表达式 9 2 2使用默认对象 2 绑定默认对象默认对象创建后必须将其绑定到某列或用户自定义的数据类型上才能使用 绑定可用存储过程sp bindefault 其语法格式如下 sp bindefault defname default objname object name futureonly futureonly flag 9 2 2使用默认对象 3 解除绑定若要解除某列或用户自定义数据类型上绑定的默认对象 可使用sp unbindefault存储过程 其语法格式如下 sp unbindefault objname object name futureonly futureonly flag 9 2 2使用默认对象 若不再需要默认对象时 可使用DROPDEFAULT语句删除该默认对象 但是要注意的是删除默认对象之前 要确保该默认对象已经解除绑定 DROPDEFAULT语法格式如下 DROPDEFAULT default n 其中default是现有的默认对象的名称 9 3规则 9 3 1创建规则9 3 2绑定规则9 3 3解除绑定9 3 4删除规则 9 3规则 规则可以限制存储在表中或用户自定义数据类型的值 规则可使用多种方式完成对数据值的检验 可以使用函数返回验证信息 也可以使用BETWEEN LIKE以及IN等关键字完成对输入数据的检查 和默认对象类似 规则也只有在绑定到列或用户自定义数据类型上才能发挥作用 当绑定成功后 规则将指定可以插入到列中的可接受的值 表中每列或每个自定义数据类型只能和一个规则绑定 9 3规则 规则是一个向后兼容的功能 与CHECK约束的功能相似 CHECK约束比规则更简明 也是用来限制列值的首选方法 因为一个列只能应用一个规则 却可以使用多个CHECK约束 但规则的优点是规则作为一个独立的数据库对象存在 可以单独地创建对象 然后再按需求绑定到列或数据类型上 9 3 1创建规则 使用CREATERULE语句创建规则 其语法格式如下 CREATERULErule nameAScondition expression其中参数说明如下 1 rule name 新规则的名称 2 condition expression 定义规则的条件 9 3 2绑定规则 要使用规则 要先将其与列或用户自定义数据类型绑定 规则必须与列的数据类型兼容 且不能绑定到text image和timestamp列 如果将一个新的规则绑定到已有规则的列或用户定义数据类型时 旧的规则将自动解除 只有最近一次的绑定有效 另外 如果列中包含CHECK约束 则CHECK约束优先 9 3 2绑定规则 可以使用存储过程sp bindrule绑定规则 其语法格式如下 sp bindrule rulename rule name objname object name futureonly futureonly flag 其中参数与绑定默认对象类似 其中rule name为要创建的规则的名称 9 3 3解除绑定 解除规则的绑定可使用sp unbindrule存储过程 其语法格式如下 sp unbindrule objname object name futureonly futureonly flag 其中参数说明与解除默认值的存储过程类似 9 3 4删除规则 对于不再使用的规则 可以使用DROPRULE语句删除 与删除默认对象类似 要删除规则首先要解除规则的绑定 DROPRULE语法格式如下 DROPRULE rule n 9 4数据的导入 先新建一个数据库名为MyDB 以往这个新建数据库中导入表数据为例说明数据导入的步骤 1 启动SQLServerManagementStudio 选择服务器 右击 MyDB 选择 任务 导入数据 命令 出现向导窗口 2 按照向导提示 一步步执行下去 将出现执行成功窗口 9 4数据的导入 9 5数据的导出 1 启动SQLServerManagementStudio 选择服务器 右击 MyDB 选择 任务 导出数据 命令 出现向导窗口 2 按照向导提示 一步步执行下去 将出现执行成功窗口 9 5数据的导出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初二生物会考试题及答案
- 2025年新闻评论写作试题及答案
- 安康市中石油2025秋招笔试行测50题速记
- 国家能源锦州市2025秋招采矿工程类面试追问及参考回答
- 临汾市中石化2025秋招笔试模拟题含答案法律与合规岗
- 合肥市中石油2025秋招笔试提升练习题含答案
- 嘉兴市中石化2025秋招面试半结构化模拟题及答案电气仪控技术岗
- 衡水市中石化2025秋招面试半结构化模拟题及答案安全环保与HSE岗
- 金华市中石化2025秋招面试半结构化模拟题及答案安全环保与HSE岗
- 中国广电钦州市2025秋招行业解决方案岗位专业追问清单及参考回答
- 医学检验技术专业《有机化学》课程标准
- JT-T-1094-2016营运客车安全技术条件
- MOOC 理性思维实训-华南师范大学 中国大学慕课答案
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- (高清版)TDT 1001-2012 地籍调查规程
- 内部审计管理系统建设需求
- 燃气输配课程设计说明书
- 如何进行模拟堂教学
- 监控扩容施工方案
- 轴的计算与校核、传动轴计算(无密码可修改)
- 《复旦大学介绍》
评论
0/150
提交评论