创建数据库表和约束课件.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
创建数据库表和约束课件

第二章 创建数据库表与约束;内容提要;2.1 表相关的几个基本概念;;3、引用完整性 在输入或删除数据行时,引用完整性约束来保持表之间已经定义的关系。 在强制引用完整性时, SQL Server禁止用户进行下列操作: (1)当主表中没有关联的记录时,将记录添加到相关表中。 (2)更改主表中的值导致相关表中的记录孤立。 (3)从主表中删除记录,但仍存在与该记录匹配的相关记录。 实现方法:通过主键和外键之间的引用关系来实现。;学号;4、自定义完整性约束 用户根据具体应用来定义特定的规则。如定义学生年龄必须在10到30之间。 实现方法:定义规则、存储过程或触发器。;二、主键(Primary Key)和外键(Foreign Key) 1、主键 表中有一列或几列组合的值能用来唯一地标识表中的每一行,这样的一列或者多列的组合叫做表的主键。 如:学号可以作为学生表的主键,课程号可以作为课程表的主键,(学号,课程号)作为成绩表的主键(组合键) 说明:(1)一个表只能有一个主键,主键约束确保了表中的行是唯一的。 (2)表中可以没有主键,但是通常情况下应当为表设置一个主键。;思考: 在主键列输入的数值,允许为空吗? 一个表可以有多个主键吗? 在一个学校数据库中,如果一个学校内允许重名的学员,但是一个班级内不允许学员重名,可以组合班级和姓名两个字段一起来作为主键吗?;2、外键 简单地说,就是“子表”中对应于“主表”的列,在子表中称为外键或者引用键。它的值要求与主表的主键或者唯一键相对应,外键用来强制引用完整性。例如在成绩表中,学号为外键。一个表可以有多个外键。;2.2 建立数据库表;图2-1 在SQL Server Management Studio中创建students表; 输完各列信息以后,单击保存按钮,输入表名称:students。在对象资源管理器中展开“表”节点即可看到students已经存在。 这只是建立了表的框架,还需要输入记录数据。方法:在students上右击选择“打开表”,依次输入各条记录。 在students表中,我们用到了nchar和datetime两种数据类型,在SQL Server 中提供了丰富的数据类型供我们选择。??面介绍一下常用的数据类型。;二、SQL Server 中常用的数据类型 1、数字数据类型;数据类型;2、文本数据类型 可以存储由任意字母、符号或数字字符组成的数据。根据字符长度可以分为固定长度、可变长度两种,根据字符定义方法又分为非Unicode数据类型和Unicode数据类型两种。 Unicode(统一码)数据类型用两个字节表示一个字符。它几乎可以表示世界上所有的字符集。 具体说明如下:;数据类型;3、日期和时间类型 由有效的日期或时间组成。例如:“4/01/98 12:15:00:00:00 PM”、”1:28:29:15:01 AM 8/17/98”。日期和时间类型又分为两种:;4、货币数据类型;5、二进制数据类型 二进制字符串由十六进制数表示。;思考:在创建表时下列列一般定义为何种数据类型? 姓名、地址、电话号码等: 年龄: 出生日期: 照片: 薪水:;三、建立主键 建立主键的方法为:选择要建立主键的列(如果主键为组合键,可以按住ctrl键单击选中各列) ,右击选择“设置主键”。 如果在定义表时未定义主键,以后可以在表名上右击选择“修改”,进行设置。;四、设置默认值 有时候,对某项数据进行输入的时候,它总是存在一个默认值,例如女子学院中的学员性别通常应该是“女”。;五、标识列 在有些情况下,存储的信息中很难找到不重复的信息作为列的主键,SQL Server 提供了一个“标识列”,特意对列进行区分,标识列本身没有具体的意义。标识列的实现方式如下: (1)如果一列的数据属于数字类型(例如整数),则可以把该列定义为标识列。 (2)定义成标识列后,还需要分别指定“标识种子”和“标识地增量”,默认值都是1。;(3)定义了标识列以后,在每次输入数据的时候,该列随数据行的增加而自动增加数字,并且不会重复,第一次的数字就是“标识种子”值,以后每次按照“标识递增量”增加数值。 标识列通常也被定义为主键,通常说的“自动编号”就是指标识列的数字自动增加。;2.3 建立表间关系;娄宛陪窖阶骑整审场袖棠砖踪谎精择搓毯痪噶恋蚜芹挎衡渔焚狮曹音理抖创建数据库表和约束课件创建数据库表和约束课件; 可以按以下

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档