欢迎来到天天文库
浏览记录
ID:40631460
大小:676.56 KB
页数:37页
时间:2019-08-05
《创建数据库表与约束》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章创建数据库表与约束内容提要2.1表相关的几个基本概念2.2建立数据库表2.3建立表间关系2.4建立检查约束2.5导入和导出数据2.6删除表2.1表相关的几个基本概念一、数据完整性数据完整性是要求数据库中的数据具有准确性。准确性是通过数据库表的设计和约束来实现的。SQLServer提供了以下4种类型的约束(Constraint):1、实体完整性约束实体完整性约束要求表中的每一行数据都反映不同的实体,不能在表中存在完全相同的数据行。实现方法:索引、唯一约束、主键约束或标识列属性。2、域完整性约束域
2、完整性约束是给定列的输入有效性。实现方法:限制数据类型、检查约束、输入格式、外键约束、默认值、非空约束。例如:学生的成绩若定义为整数类型则不能输入带小数的分数;学生选修的课程必须是课程表中实际存在的课程。3、引用完整性在输入或删除数据行时,引用完整性约束来保持表之间已经定义的关系。在强制引用完整性时,SQLServer禁止用户进行下列操作:(1)当主表中没有关联的记录时,将记录添加到相关表中。(2)更改主表中的值导致相关表中的记录孤立。(3)从主表中删除记录,但仍存在与该记录匹配的相关记录。实现方法
3、:通过主键和外键之间的引用关系来实现。学号姓名性别年龄……200901李爽女19200902吴小兰女18200903张丽娟女19200904赵华男20学生表:(主表)学号课程号成绩……200901180200901575200902190200903260………………成绩表:(子表)4、自定义完整性约束用户根据具体应用来定义特定的规则。如定义学生年龄必须在10到30之间。实现方法:定义规则、存储过程或触发器。二、主键(PrimaryKey)和外键(ForeignKey)1、主键表中有一列或几列组合的
4、值能用来唯一地标识表中的每一行,这样的一列或者多列的组合叫做表的主键。如:学号可以作为学生表的主键,课程号可以作为课程表的主键,(学号,课程号)作为成绩表的主键(组合键)说明:(1)一个表只能有一个主键,主键约束确保了表中的行是唯一的。(2)表中可以没有主键,但是通常情况下应当为表设置一个主键。思考:在主键列输入的数值,允许为空吗?一个表可以有多个主键吗?在一个学校数据库中,如果一个学校内允许重名的学员,但是一个班级内不允许学员重名,可以组合班级和姓名两个字段一起来作为主键吗?2、外键简单地说,就是
5、“子表”中对应于“主表”的列,在子表中称为外键或者引用键。它的值要求与主表的主键或者唯一键相对应,外键用来强制引用完整性。例如在成绩表中,学号为外键。一个表可以有多个外键。2.2建立数据库表一、创建数据库表在SQLServerManagementStudio中,展开“studentdb”数据库节点,然后在“表”上右击选择“新建表”,在出现的表设计器中可以输入表中各列的信息,如列名、数据类型、是否允许空,如下图所示:图2-1在SQLServerManagementStudio中创建students表输
6、完各列信息以后,单击保存按钮,输入表名称:students。在对象资源管理器中展开“表”节点即可看到students已经存在。这只是建立了表的框架,还需要输入记录数据。方法:在students上右击选择“打开表”,依次输入各条记录。在students表中,我们用到了nchar和datetime两种数据类型,在SQLServer中提供了丰富的数据类型供我们选择。下面介绍一下常用的数据类型。二、SQLServer中常用的数据类型1、数字数据类型数据类型说明bigint从-263~263-1的整型数据,存
7、储大小为8个字节int从-231~231-1的整型数据,存储大小为4个字节Smallint从-215~215-1的整型数据,存储大小为2个字节tinyint从0~255的整型数据,存储大小为1个字节bit只能包括0、1或NULL,可以用bit数据类型代表TRUE或FALSE、YES或NO。数据类型说明decimal[(p[,s])]带定点精度和小数位数的数值数据类型。p表示精度,指定小数点左边和右边可以存储的十进制数字的最大个数。精度必须是1到38之间的整数。s表示小数位数,指定小数点右边可以存储的
8、十进制数字的最大个数。小数位数必须是从0到p之间的整数,默认小数位数为0。numeric[(p[,s])]同decimal[(p[,s])]float[(n)]从-1.79E+308~1.79E+308之间的浮点数字数据。n为用于存储科学计数法float数尾数的位数,同时指示其精度和存储大小。n必须为1~53之间的值。real从-3.40E+308~3.40E+308之间的浮点数字数据。存储大小为4字节。2、文本数据类型可以存储由任意字母、符号或数字字符组成的数据。根
此文档下载收益归作者所有