第五章数据完整性.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大型数据库设计 上节课内容回顾 问题提出 第五章 数据完整性 1 列级约束和表级约束的定义 2 命名约束和隐式约束的定义 二 约束类型和使用 二 约束类型和使用 三 约束类型和使用 本节课总结: 作 业 * * 大型数据库设计 本节主要学习内容 ----数据完整性 二、数据库表的创建与修改操作 一、SQL Server支持的数据类型 1 企业管理器表设计操作 2 查询分析器命令方式创建和修改表 主要内容包括数据库中包含哪些表、每个表有那些字段, 每个字段分别是什么数据类型、数据的长度(精度)等。 院系表:dept 字段长度:12 联系电话 Varchar deptPhone 字段长度:30 院系名称 Nvarchar deptName 字段长度:4,主键 院系编号 Char deptID 字段属性 字段说明 数据类型 字段名称 学生表:stu 简历 Ntext stuResume 唯一,男:末位为单,女:末位为双 身份证 Char stuPcard 参照院系表院系编号取值 所属院系 Char stuDept 出生日期 Datetime stuBirth 1个中文字符,只能输入:男、女 性别 Nchar stuSex 字段长度:10,不许为空 姓名 Nvarchar stuName 字段长度:12,主键 学号 Char stuID 字段属性 字段说明 数据类型 字段名称 课程表:course 默认值:0 已选人数 Tinyint stuPreSelect 默认值:250 限选人数 Tinyint stuLimited 字段长度:30 上课时间 Nvarchar courseTime 其值不能大于5 学分 Tinyint credit 参照课程编号取值 先行课程 Char preCourseID 字段长度:30,不许为空 课程名称 Nvarchar courseName 字段长度:6,主键 课程编号 Char courseID 字段属性 字段说明 数据类型 字段名称 成绩表:grade 成绩必须介于0和100之间 成绩 Decimal(5,2) grade 参照课程表课程编号字段取值 课程编号 Char courseID 参照学生表学号字段取值 学号 Char stuID 字段属性 字段说明 数据类型 字段名称 联合 主键 测试数据的输入: ? 在学生表中输入两条记录 ① 200801010001、张晓俊、南、1985-04-13、党员(其他属性略) ② 200801010001、王林林、女、1986-03-13、团员(其他属性略) ? 在学生表中输入一条记录 ① 200801010003、赵俊、男、1601(院系编号)(其他属性略) 能不能控制性别字段只输入男和女呢? 前提:院系表中不存在这个院系编号 三 约束的类型与使用 一 两个重要概念 ? Primary Key 约束 ? Foreign Key 约束 ? Check 约束 创建方式: ① 企业管理器创建 ② 修改表命令中添加 约束的定义 ? 列级约束和表级约束 ? 命名约束和隐式约束 检查约束:通过约束条件设定列值应该满足的条件 Check(**) 外键约束:外码取空值或相应主码值 Foreign key (***) 主键约束:值唯一且不能为空 Primary key (***) 将该列常用值定义为默认值,减少数据输入 Default(*) 防止重复值进入该列,但空值除外 Unique(**) 防止空值进入该列 [not] null(*) 功能描述 约束类型 注:* 表示列级约束 ** 表示列级或表级约束,取决于它应用于一个或者多列 *** 表示当定义单一属性码为列约束,组合码为表约束 一 两个重要的概念 一 两个重要的概念 ? 在实际应用系统中,开发者为了保证系统的完整性,一般要定义大量的约束。然而,如果命名不规范,如采用系统自动生成的名称,则在以后的系统运行维护中会造成很大的麻烦。 ? 不建议大家一次将一个很长的命令表达完毕,因为这样一条命令很复杂,很难理解。 ? 在需求分析阶段就必须制定完整性约束的命名规范,尽量使用有意义的英文单词、缩写词、表名、列名及下划线等组合,使其易于识别和记忆。 我们以后课程学习中使用的规则: 1 尽量使用表级约束和命名约束 2 尽量不要使一条语句的命令太长 ALTER TABLE table_name ALTER COLUMN column_name 新的数据类型[

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档