创建数据库表与约束.ppt
《创建数据库表与约束.ppt》由会员分享,可在线阅读,更多相关《创建数据库表与约束.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 创建数据库表与约束创建数据库表与约束内容提要2.1 表相关的几个基本概念2.2 建立数据库表2.3 建立表间关系2.4 建立检查约束2.5 导入和导出数据2.6 删除表2.1 表相关的几个基本概念一、数据完整性一、数据完整性 数据完整性是要求数据库中的数据具有准确性。准确性是通过数据库表的设计和约束来实现的。SQL Server提供了以下4种类型的约束(Constraint):1、实体完整性约束 实体完整性约束要求表中的每一行数据都反映不同的实体,不能在表中存在完全相同的数据不能在表中存在完全相同的数据行行。实现方法:索引、唯一约束、主键约束主键约束或标标识列识列属性。2、域完整
2、性约束 域完整性约束是给定列的输入有效性。实现方法:限制数据类型数据类型、检查约束检查约束、输入格式、外键外键约束、默认值默认值、非空非空约束。例如例如:学生的成绩若定义为整数类型则不能输入带小数的分数;学生选修的课程必须是课程表中实际存在的课程。3、引用完整性 在输入或删除数据行时,引用完整性约束来保持表之间已经定义的关系。在强制引用完整性时,SQL Server禁止用户进行下列操作:(1)当主表中没有关联的记录时,将记录添加到相关表中。(2)更改主表中的值导致相关表中的记录孤立。(3)从主表中删除记录,但仍存在与该记录匹配的相关记录。实现方法:通过主键和外键之间的引用关系来实现。学号学号姓
3、名姓名性别性别年龄年龄200901李爽女19200902吴小兰女18200903张丽娟女19200904赵华男20学生表:(主表)学号学号课程号课程号成绩成绩200901180200901575200902190200903260成绩表:(子表)4、自定义完整性约束 用户根据具体应用来定义特定的规则。如定义学生年龄必须在10到30之间。实现方法:定义规则、存储过程或触发器。二、主键二、主键(Primary Key)和外键和外键(Foreign Key)1、主键 表中有一列或几列组合的值能用来唯一地标识表中的每一行,这样的一列或者多列的组合叫做表的主键。如:学号可以作为学生表的主键,课程号可以作
4、为课程表的主键,(学号,课程号)作为成绩表的主键(组合键)说明:(1)一个表只能有一个主键,主键约束确保了表中的行是唯一的。(2)表中可以没有主键,但是通常情况下应当为表设置一个主键。思考:思考:在主键列输入的数值,允许为空吗在主键列输入的数值,允许为空吗?一个表可以有多个主键吗一个表可以有多个主键吗?在一个学校数据库中,如果一个学校内在一个学校数据库中,如果一个学校内允许重名的学员,但是一个班级内不允允许重名的学员,但是一个班级内不允许学员重名,可以组合班级和姓名两个许学员重名,可以组合班级和姓名两个字段一起来作为主键吗?字段一起来作为主键吗?2、外键 简单地说,就是“子表”中对应于“主表”
5、的列,在子表中称为外键或者引用键。它的值要求与主表的主键或者唯一键相对应,外键用来强制引用完整性。例如在成绩表中,学号为外键。一个表可以有多个外键。2.2 建立数据库表一、创建数据库表 在SQL Server Management Studio中,展开“studentdb”数据库节点,然后在“表”上右击选择“新建表”,在出现的表设计器中可以输入表中各列的信息,如列名、数据类型、是否允许空,如下图所示:图2-1 在SQL Server Management Studio中创建students表 输完各列信息以后,单击保存按钮,输入表名称:students。在对象资源管理器中展开“表”节点即可看到
6、students已经存在。这只是建立了表的框架,还需要输入记录数据。方法:在students上右击选择“打开表”,依次输入各条记录。在students表中,我们用到了nchar和datetime两种数据类型,在SQL Server 中提供了丰富的数据类型供我们选择。下面介绍一下常用的数据类型。二、二、SQL Server 中常用的数据类型中常用的数据类型1、数字数据类型数据类型说明bigint从-263263-1 的整型数据,存储大小为8个字节int从-231231-1 的整型数据,存储大小为4个字节Smallint从-215215-1 的整型数据,存储大小为2个字节tinyint从0255
7、的整型数据,存储大小为1个字节bit只能包括0、1或NULL,可以用bit数据类型代表TRUE或FALSE、YES或NO。数据类型说明decimal(p,s)带定点精度和小数位数的数值数据类型。p表示精度,指定小数点左边和右边可以存储的十进制数字的最大个数。精度必须是1到38之间的整数。s表示小数位数,指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从0到p之间的整数,默认小数位数为0。numeric(p,s)同decimal(p,s)float(n)从-1.79E+3081.79E+308之间的浮点数字数据。n为用于存储科学计数法float数尾数的位数,同时指示其精度和存储大小。
8、n必须为153之间的值。real从-3.40E+3083.40E+308之间的浮点数字数据。存储大小为4字节。2、文本数据类型 可以存储由任意字母、符号或数字字符组成的数据。根据字符长度可以分为固定长度、可变长度两种,根据字符定义方法又分为非Unicode数据类型和Unicode数据类型两种。Unicode(统一码)数据类型用两个字节表示一个字符。它几乎可以表示世界上所有的字符集。具体说明如下:数据类型说明char(n)固定长度的非Unicode字符数据,n必须是一个18000之间的整数。varchar(n)可变长度的非Unicode字符数据,n必须是一个18000之间的整数。text可变长度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 创建 数据库 约束
限制150内