课堂实训
【实训目的】
1.了解表的结构特点。
2.了解SQL Server的基本数据类型。
3.了解空值概念。
4.学会在SSMS中创建及管理数据表。
5.学会使用Transact -SQL命令创建及管理数据表。
6.学会使用Transact -SQL语句更新数据。
7.掌握数据表数据输入和修改的操作。
【实训内容】
一、在SSMS中完成以下内容:
(一)在项目3创建的library库中创建如下数据表:
1、在SSMS环境中创建如下的图书管理数据表中书籍表的创建。
表4-14 书籍表:用来存储书籍的基本信息
字段名称 |
数据类型 |
长度 |
是否为空 |
说明 |
序号 |
Int |
|
非空 |
初始值和增量均为1 |
图书编号 |
char |
15 |
非空 |
主键 |
索书号 |
varchar |
50 |
非空 |
|
书名 |
varchar |
100 |
非空 |
|
作者 |
varchar |
100 |
非空 |
|
价格 |
Money |
|
非空 |
|
种类 |
char |
20 |
非空 |
|
ISBN |
char |
13 |
非空 |
|
出版社 |
varchar |
50 |
非空 |
|
出版日期 |
smalldatetime |
|
非空 |
|
馆藏地点 |
Varchar |
50 |
空 |
|
总数量 |
Int |
|
非空 |
|
库存量 |
Int |
|
非空 |
|
步骤:
(1)启动SSMS,右键点击“library”数据库中的表选项,在弹出的快捷菜单中,选择“新建表”菜单项,然后在表设计器中输入如下结构:
(2)选中“序号”所在的行,在其列属性中点击“标识规范”,选择“是标识”,将“标识增量”和“标识种子”都设置为“1”;
(3)将表保存,并命名为“书籍表”。
2.在SSMS环境中创建如下“读者表”。
表4-15 读者表:用来存储读者的基本信息
字段名称 |
数据类型 |
长度 |
是否为空 |
约束 |
借书证号 |
char |
30 |
非空 |
主键 |
姓名 |
Varchar |
50 |
非空 |
|
性别 |
char |
2 |
非空 |
默认为“男” |
单位 |
varchar |
100 |
非空 |
|
类别 |
char |
6 |
非空 |
|
电话 |
char |
15 |
空 |
|
电子邮件 |
varchar |
50 |
空 |
|
步骤:
(1)启动SSMS,右键点击“library”数据库中的表选项,在弹出的快捷菜单中,选择“新建表”菜单项,然后在表设计器中输入如下结构:
(2)选中“性别”所在的行,在其列属性中点击“默认值或绑定”,输入“男”。
(3)将表保存,并命名为“读者表”。
3.在SSMS环境中创建如下“借阅表”
表4-16 读者借阅表:存储读者借阅的信息
字段名称 |
数据类型 |
长度 |
是否为空 |
约束 |
编号 |
int |
|
非空 |
主键,初始值和增量均为1 |
图书编号 |
varchar |
50 |
非空 |
外键,参照书籍表 |
借书证号 |
char |
30 |
非空 |
外键,参照读者表 |
借书日期 |
int |
|
非空 |
|
还书日期 |
datetime |
|
空 |
|
归还否 |
char |
2 |
否 |
默认为否 |
(1)启动SSMS,右键点击“library”数据库中的表选项,在弹出的快捷菜单中,选择“新建表”菜单项,然后在表设计器中输入如下结构:
(2)选中“编号”所在的行,在其列属性“标识规范”选择“是”,并将初始值和增量均设为1。
(3)选中“归还否”所在的行,在其列属性中点击“默认值或绑定”,输入“否”。
(4)将表保存,并命名为“借阅表”。
4.在SSMS环境中创建如下“管理员表”
表4-17管理员表:用来存储管理员的基本信息
字段名称 |
数据类型 |
长度 |
是否为空 |
约束 |
序号 |
Int |
|
|
初始值和增量均为1 |
员工号 |
char |
15 |
非空 |
主键 |
姓名 |
char |
8 |
非空 |
|
密码 |
char |
8 |
非空 |
|
步骤:
(1)启动SSMS,右键点击“library”数据库中的表选项,在弹出的快捷菜单中,选择“新建表”菜单项,然后在表设计器中输入如下结构:
(2)右击“图书编号”,在快捷菜单中选择“关系”,在弹出的“外键窗口”中单击“添加”按钮,在“表和列规范”行中选择“ ”,在“表和列”窗口中选择如下的值,再单击“确定”按钮。
(3)同理设置员工号的外键_____________________________________________。
(4)单击“保存”按钮,在弹出的“选择名称”对话框中输入“书籍管理表”,单击“确定”按扭,然后在“保存”窗口中单击“确定”,即可。
5.在SSMS环境中创建如下读者管理表。
表4-18读者管理表:用来存储管理员对读者进行管理的信息
字段名称 |
数据类型 |
长度 |
是否为空 |
约束 |
员工号 |
char |
15 |
非空 |
外键,参照管理员表 |
借书证号 |
char |
30 |
非空 |
外键,参照读者表 |
办证日期 |
datetime |
|
非空 |
|
使用期限 |
int |
|
非空 |
|
注销日期 |
datetime |
|
空 |
|
步骤:
(1)启动SSMS,右键点击“library”数据库中的表选项,在弹出的快捷菜单中,选择“新建表”菜单项,然后在表设计器中输入要求的表结构:
(2) 设置员工号及借书证号的外键___________________________________________。
(3) 保存表_______________________________________________________________。
(二)在SSMS中修改数据表
1.将书籍表中的书名字段改为:书名 varchar 80 非空
步骤:
(1)选中书籍表,单击右键,在弹出的快捷菜单中选择“设计”。
(2)在弹出的表设计器中选中“书名”,将其数据类型的宽度改为varchar(80),如下图所示。
2.将书籍表中的价格设定为大于等于0。
步骤:
(1)选中书籍表,单击右键,在弹出的快捷菜单中选择“设计”。
(2)在弹出的表设计器中选中“价格”,按右键,在弹出的快捷菜单中选择“CHECK约束”。
(3)在弹出的“CHECK约束”对话框中,点击“添加”按钮,然后在“表达式”中输入:价格>0后,点击“关闭”按钮。
(4)点击“保存”按钮,可以在表的约束中发现刚刚建立的检查约束,如下图所示。
(5)将总书量设置为>=0的步骤为:
______________________________________________________________________
(三)在SSMS中删除所建数据表(将前面所建的表全部删除)
步骤:
(1)选中要删除的数据表。
(2)按右键,在弹出的快捷菜单中选择“删除”,在弹出的“删除对象”中点击“确定”即可。
二、用Transact -SQL语句完成以下内容
(一)用Transact -SQL语句创建数据表
1.用TRANSACT-SQL语句创建表4-14书籍表
在查询编辑器中输入如下代码(空格处请填空)
Use library
go
Create table 书籍表
(
序号 Int not null Identity(1,1),
图书编号 char(15) not null primary key,
索书号 varchar(50) not null,
书名 varchar(100) __________,
作者 varchar(100)___________,
价格 Money______________,
种类 char(20)_______________,
ISBN char(13)_____________,
出版社 varchar(50)___________,
出版日期 smalldatetime______________,
馆藏地点 Varchar(50)________________,
总数量 ________________________________,
库存量 int ______________________)
思考:本题中主键若给出约束名,则如何进行,请自己动手试一下
2.用TRANSACT-SQL语句创建表4-15中的读者表。
在查询编辑器中输入如下代码(空格处请填空)
Use library
go
Create table 读者表
(借书证号 char(30) not null Constraint PK_1 primary key,
姓名 ______________________________,
性别 char(2) not null Constraint DE_1 default '男',
单位 ________________________,
类别 ________________________,
电话 _________________________,
电子邮件 ___________________________
)
思考:本题中主键还能怎样设置,请试一下。
3.用Transact -SQL语句创建表4-16中的借阅表。
在查询编辑器中输入如下代码(空格处请填空)
Use library
go
Create table _______
(编号 _______________________________,
图书编号 varchar(50) not null Constraint FK_1 foreign key references书籍表(图书编号),
借书证号 ______________________________,
借书日期 smalldatetime not null ,
还书日期 _______________________________,
归还否 _____________________________________)
思考:外键还可以如何设置,请试之。
4.用Transact -SQL语句创建表4-17的管理员表。
在查询编辑器中输入如下代码(空格处请填空)
Use library
go
Create table _______
(序号 int Idenitity(1,1),
员工号 _________________________________,
姓名 ___________________________________ ,
姓名____________________________________,
密码 ___________________________________
)
5.用Transact -SQL语句创建表4-18的读者管理表。
读者管理表:用来存储管理员对读者进行管理的信息
字段名称 |
数据类型 |
长度 |
是否为空 |
约束 |
员工号 |
char |
15 |
非空 |
外键,参照管理员表 |
借书证号 |
char |
30 |
非空 |
外键,参照读者表 |
办证日期 |
datetime |
|
非空 |
|
使用期限 |
int |
|
非空 |
|
注销日期 |
datetime |
|
空 |
|
在查询编辑器中输入如下代码(空格处请填空)
Use library
go
Create table _______
(员工号 ___________________________________,
借书证号 ______________________________,
办证日期 _______________________________,
注销日期 ________________________________
)
6.用Transact -SQL语句创建如下书籍管理表。
书籍管理表:用来存储管理员对书籍进行管理的信息
字段名称 |
数据类型 |
长度 |
是否为空 |
约束 |
图书编号 |
char |
15 |
非空 |
外键,参照书籍表 |
员工号 |
char |
15 |
非空 |
外键,参照管理员表 |
变更日期 |
smalldatetime |
|
|
|
变更情况 |
text |
|
|
|
在查询编辑器中输入如下代码(空格处请填空)
Use library
go
Create table _______
(图书编号 _______________________________,
员工号 ___________________________________,
变更日期 ______________________________,
变更情况 text
)
(二)用Transact-SQL语句修改数据表
1.将“读者表”中的“姓名”改为“读者姓名”
Alter table 读者表
Sp_rename ‘读者表.姓名’,’读者姓名’
2.将“管理员表”中的“姓名”改为“员工姓名”
___________________ 管理员表
3.在“读者表”中添加一个列:家庭地址 varchar(100) null
____________________________________________________________
4.将上题中添加的列:家庭地址 varchar(100) null,删除
5.将书籍表中的总书量字段约束为>=0,约束名为zsl_check
_________________________________________________________________
6.将约束名为zsl_check的约束删除
_____________________________________________________________
7.为书籍表中的总书量字段添加一个默认约束,约束名为zsl_def
_____________________________________________________________
8.将读者表中主键PK_1删除
____________________________________________
9.创建读者表中借书证号的主键,主键名为pk_1
________________________________________________
10.将借阅表中约束名为FK_1的外键删除。
____________________________________________________
11.为借阅表中图书编号建立外建,外键名为fk_1(参照书籍表)
___________________________________________________________________
(三)用Transact-SQL语句进行数据表数据的操作
1.图书管理书籍表插入3条记录(插入3条,数据任意)
(1)
Use library
Go
Insert Into 书籍表(序号,图书编号,索书号,书名,作者,价格,种类,ISBN,出版社,出版日期,馆藏地点,总数量, 库存量) values(__________________________________)
(2)Insert Into 书籍表(___________________________________________________) values(___________________________________)
(3)Insert Into 书籍表(__________________________________________________) values(________________________________________)
2.修改书籍表中的书名为‘数据库技术’记录的价格(可以自定)
Update 书籍表___________________________________________ where ___________
3.将书籍表中的价格都加1元
Update 书籍表 _____________________________________________。
4.删除书籍表中的书名为‘大学英语’的记录
________________________________________________________________________
5.删除书籍表中的所有记录
______________________________________________________________
课外训练
一、在SSMS中完成以下内容
(一)在SSMS中数据表的建立
1.新建数据库Bedroom库。
2.在SSMS创建如下的Bedroom库中学生表的创建。
学生表:用来存储学生的基本信息
字段名称 |
数据类型 |
长度 |
说明 |
学号 |
char |
9 |
主键 |
姓名 |
char |
8 |
不可为空 |
性别 |
bit |
|
0代表男生,1代表女生 |
专业 |
varchar |
50 |
不可为空 |
班级 |
char |
30 |
不可为空 |
出生年月 |
datatime |
|
|
家庭地址 |
varchar |
100 |
|
联系方式 |
char |
12 |
|
3.在SSMS创建如下的Bedroom库中班主任表的创建。
班主任表:用来存储班主任的基本信息
字段名称 |
数据类型 |
长度 |
说明 |
教师号 |
char |
8 |
主键 |
姓名 |
varchar |
50 |
不可为空 |
密码 |
varchar |
50 |
不可为空 |
联系方式 |
char |
12 |
|
4.在SSMS创建如下的Bedroom库中宿舍表的创建。
宿舍表:用来存储宿舍的基本信息
字段名称 |
数据类型 |
长度 |
说明 |
宿舍编号 |
int |
|
主键,标识列 |
楼号 |
int |
|
不可为空 |
房号 |
int |
|
不可为空 |
床位数 |
int |
|
不可为空 |
5.在SSMS中创建如下的bedroom库中住宿表的创建
住宿表:用来存储学生住宿的信息
字段名称 |
数据类型 |
长度 |
说明 |
住宿编号 |
int |
|
主键,标识列 |
学号 |
int |
|
不可为空 |
宿舍编号 |
int |
|
不可为空 |
教师号 |
int |
|
不可为空 |
入住时间 |
datetime |
|
|
期限 |
int |
|
|
(二)在SSMS中数据表的修改
1.删除“住宿表”中“期限”字段。
2.将“住宿表”中的入住时间的字段类型改为:Smalldatetime。
3.在“住宿表”中添加一个字段:备注 Text Null。
4. 将“住宿表”中的入住时间默认为系统当前日期。
5.为“学生表”中姓名添加一个唯一约束,约束名为xm_un。
6.将“学生表”中的约束名xm_un删除。
7.为“住宿表”的学号添加一个外键外束fk_stu(参照学生表)。
(三)在SSMS中数据表数据的输入、删除及修改
1.在“学生表”中任意插入3条记录。
2.将第二条插入的记录删除。
3.将第一条记录的姓名进行修改。
4.将上述几个数据表全部删除。
二、用Transact-SQL命令完成以下内容
(一)用Transact-SQL命令创建立数据表
1.新建数据库Bedroom库。
2.用TRANSACT-SQL命令创建如下的宿舍管理数据库中学生表的创建。
3.用TRANSACT-SQL命令创建如下的宿舍管理数据库中班主任表的创建。
4.用TRANSACT-SQL命令创建如下的宿舍管理数据库中宿舍表的创建。
5.用TRANSACT-SQL语句创建如下的宿舍管理数据库中住宿表的创建。
(二)用Transact-SQL命令修改数据表
1.删除“住宿表”中“期限”字段。
2.将“住宿表”中的入住时间的字段类型改为:Smalldatetime。
3.在“住宿表”中添加一个字段:备注 Text Null。
4. 将“住宿表”中的入住时间默认为系统当前日期。
5.为“学生表”中姓名添加一个唯一约束,约束名为xm_un。
6.将“学生表”中的约束名xm_un删除。
7.为“住宿表”的学号添加一个外键外束fk_stu(参照学生表)。
(三)用Transact-SQL命令进行表数据的插入、修改、删除
1.在学生表中插入3条记录(数据任意)。
2.删除第二条记录。
3.修改第一条记录的姓名。