关系数据库与SQL Server 2005 教学课件 ppt 作者 龚小勇 第7讲 创建数据表和表约束

上传人:E**** 文档编号:89469358 上传时间:2019-05-25 格式:PPT 页数:28 大小:278KB
返回 下载 相关 举报
关系数据库与SQL Server 2005 教学课件 ppt 作者 龚小勇 第7讲  创建数据表和表约束_第1页
第1页 / 共28页
关系数据库与SQL Server 2005 教学课件 ppt 作者 龚小勇 第7讲  创建数据表和表约束_第2页
第2页 / 共28页
关系数据库与SQL Server 2005 教学课件 ppt 作者 龚小勇 第7讲  创建数据表和表约束_第3页
第3页 / 共28页
关系数据库与SQL Server 2005 教学课件 ppt 作者 龚小勇 第7讲  创建数据表和表约束_第4页
第4页 / 共28页
关系数据库与SQL Server 2005 教学课件 ppt 作者 龚小勇 第7讲  创建数据表和表约束_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《关系数据库与SQL Server 2005 教学课件 ppt 作者 龚小勇 第7讲 创建数据表和表约束》由会员分享,可在线阅读,更多相关《关系数据库与SQL Server 2005 教学课件 ppt 作者 龚小勇 第7讲 创建数据表和表约束(28页珍藏版)》请在金锄头文库上搜索。

1、第4章 数据表的创建和管理 创建数据表和表约束,主讲人:段利文,第7讲,复习,请说出下列命令的功能? create database Drop database Sp_helpdb Alter database add file | add filegroup | add log file modify file | modify filegroup modify name= 新库名 remove file | remove filegroup,创建数据库,修改数据库,删除数据库,显示数据库信息,增加数据文件 增加文件组 增加日志文件,修改数据文件 修改文件组,修改数据库名,删除数据文件 删除

2、文件组,第4章 数据表的创建和管理 创建数据表和表约束 教学内容,基础知识: 设计表 创建数据表 创建约束 删除约束,第4章 数据表的创建和管理 创建数据表和表约束 学习目标,认知目标: 了解SQL Server 2005的数据类型 了解表约束的含义 能力目标: 掌握用命令方式创建数据表的方法(重点) 掌握表约束的创建、修改和删除(重点、难点),一、设计表 1. 数据表的类型,系统表 用于存储服务器的配置信息、数据表的定义信息的一组特殊表,称为系统表。 用户表 已分区表 已分区表是将超大表按照某种业务规则分别存储在不同的文件组中,以提高性能和方便管理。 临时表 临时表是一种因为暂时需要所产生的

3、数据表,它存放在Tempdb数据库中,当使用完临时表且关闭连接后,系统会自动删除临时表。,一、设计表 2. 创建数据表前应考虑的问题,表中要存储的数据类型(用来确定数据的取值范围) 表中需要的列数、每列的类型 列是否可以为空 是否需要在列上使用约束、默认值和规则 需要使用什么样的索引 哪些列作为主键、哪些列作为外键 哪些用户拥有访问该数据库或表的权限,表 约 束,一、设计表 3. 数据类型,字符型:1个字符占1个字节。 Unicode型:1个字符占2个字节,一、设计表 3. 数据类型,二、创建数据表 1.创建简单的数据表,命令格式 create table 表名 (字段名 类型(长度) ,n)

4、 实例1:在xscj库中,创建一个简单的表xsqk。 create table xscj.dbo. xsqk (学号 char (6), 姓名 char (8), 性别 bit , 电话 char(11) ),数据库名,可省略,所有者名,可省略,表名,方法2: use xscj create table xsqk ,二、创建数据表 2. 列属性,类型 空值属性 默认时,列的值为null,表示允许该列为空。如果值为not null,表示不允许该列为空。 默认值属性 标识属性 为标识属性的列,其值由系统自动填充。,二、创建数据表 3. 表约束,含义 约束定义了关于允许什么数据进入数据库的原则。 目

5、的 为了防止列出现非法数据,以保证数据中数据的一致性和完整性。,二、创建数据表 3. 表约束,类型 主键(PRIMARY KEY)约束 惟一(UNIQUE)约束 外键(FOREIGN KEY)约束 检查(CHECK)约束 说明:非空和默认值也可看成是约束。 创建表约束的方法 新建表时, 在单列后创建约束 在所有列之后,再创建约束 表已存在,只能通过修改表,添加约束,实现参照完整性,实现域完整性,二、创建数据表 4.创建表约束(1)非空值约束,空值(NULL) 就是尚不知道或不确定的数据值,它不同于或空格。 用户常常将不确定的列值定义为空值。 实例2:在xscj库中,创建“学号”非空约束的表xs

6、qk。 create table xsqk (学号 char (6) not null , 姓名 char (8), 性别 bit , 电话 char(11) ),若xscj不是当前库,应先输入:use xscj,默认情况下为空值。,二、创建数据表 4.创建约束(1)非空值约束,课堂练习1:在xscj库中,创建“课程号”非空的课程表kc(P88)。,use xscj create table kc ( 课程号 char (3) not null , 课程名 char (20), 授课教师 char (8) , 开课学期 tinyint ),二、创建数据表 4.创建约束(2)主键约束,主键(PR

7、IMARY KEY)约束的作用: 不允许输入重复的值 不能取空值 当主键是由多个属性组成时:某一属性上的数据可以重复,但其组合必须是惟一的;每个属性的值都不能为空。 一个表上只能有一个主键。,二、创建数据表 4.创建约束(2)主键约束,实例3:在学生情况表xsqk中,添加“学号”的主键约束,主键约束命名为pk_xsqk_xh。 create table xsqk ( 学号 char (6), 姓名 char (8), 性别 bit , 电话 char(11) constraint pk_xsqk_xh primary key (学号) ),主键约束名,主键:保证了学号不能为空,且不重复。,方法

8、2:表xsqk已存在。 alter table xsqk add constraint pk_xsqk_xh primary key (学号),二、创建数据表 4.创建约束(2)主键约束,课堂练习2:在课程表kc中,添加“课程号”的主键约束,主键约束命名为pk_kc_kh。,use xscj alter table kc add constraint pk_kc_kh primary key (课程号),二、创建数据表 4.创建约束(3)惟一性约束,惟一性(UNIQUE)约束的作用: 保证列中不会出现重复的数据。 主键约束与惟一性约束的区别: 一个表中只能定义一个主键约束,但可以定义多个惟一约

9、束。 定义了惟一约束的列数据可以为空值,而定义了主键约束的列数据不能为空值。,二、创建数据表 4.创建约束(3)惟一性约束,实例4:在xsqk表中,创建“电话”字段的惟一性约束,并且将约束命名为uq_xsqk_dh。 alter table xsqk add constraint uq_xsqk_dh unique (电话),惟一性约束名,惟一性:保证了“电话”列的取值不能相同。,二、创建数据表 4.创建约束(4)外键约束,外键(FOREIGN KEY)约束的作用: 用于建立和强制两个表间的关联,限制外键的取值必须是主表的主键值。 实例5:在xscj库中,按P91表4-4创建 xs_kc表。,

10、二、创建数据表 4.创建约束(4)外键约束,use xscj create table xs_kc ( 学号 char ( 6 ) not null references xsqk ( 学号 ), 课程号 char ( 3 ), 成绩 tinyint primary key (学号,课程号), foreign key ( 课程号 ) references kc ( 课程号 ) ),已设置主键约束,已设置主键约束,二、创建数据表 4.创建约束(5)检查约束,检查(CHECK)约束的作用: 用来限制列上可以接受的数据值。 使用逻辑表达式来判断数据合法性。 实例6:在xsqk表中,设置名为ck_xs

11、qk_xb的检查约束,该约束限制“性别”为0或1。 alter table xsqk add constraint ck_xsqk _xb check (性别=1 or 性别=0 ),二、创建数据表 4.创建约束(5)检查约束,课堂练习3:在学生与课程表xs_kc中,添加名ck_xs_kc_cj的检查约束,该约束限制“成绩”在0到100之间。,use xscj alter table xs_kc add constraint ck_xs_kc _cj check (成绩=0 and 成绩=100),二、创建数据表 4.创建约束(6)默认约束,默认(DEFAULT)约束的作用: 当列值未确定且该

12、列又不能为空时,可由系统自动为该列添加一个值。 实例7:在xsqk表中,设置名为df_xsqk_xb的默认约束,该约束使“性别”的默认值为1。 alter table xsqk add constraint df_xsqk_xb default 1 for 性别,二、创建数据表 4.创建约束,说明:所有约束可一次创建完成。 use xscj -从默认的master数据库切换到xsqk库 create table xsqk (学号 char (6) not null , 姓名 char (8) not null , 性别 bit , 电话 char(11) ) alter table xsqk

13、add constraint pk_xsqk_xh primary key (学号), constraint df_xsqk_xb default 1 for 性别, constraint ck_xsqk_xb check (性别=1 or 性别=0 ), constraint uq_xsqk_dh unique (电话),二、创建数据表 4.创建约束,说明:所有约束可直接创建在列定义之后。 use xscj create table xsqk ( 学号 char (6) primary key (学号) check (学号 like 0-9 0-9 0-9 0-9 0-9 0-9 ), 姓名

14、 char (8) not null , 性别 bit default 1 check (性别=0 or 性别=1) , 电话 char(11) unique (电话) ),该方式创建的约束由系统自动命名。,二、创建数据表 5.删除约束,命令格式: alter table 表名 drop constraint 约束名 实例8:删除xsqk中的所有约束。 use xscj alter table xsqk drop constraint pk_xsqk_xh alter table xsqk drop constraint uq_xsqk_dh alter table xsqk drop con

15、straint ck_xsqk _xb alter table xsqk drop constraint ck_xsqk _xh alter table xsqk drop constraint df_xsqk_xb,本课小结,数据类型 创建表 创建表约束的方法 在新建表时,创建约束(2种) 表已存在,添加约束 约束类型 空值约束、主键约束、惟一性约束、 外键约束、检查约束、默认值约束 删除约束,Create table 表名(字段名 类型(长度),n ),Alter table 表名 add constraint 约束名 约束类型,Alter table 表名 drop constraint 约束名,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号