结合基础知识,实际操作,巩固提升,加深记忆
实验报告
实验
- 阅读数据表 1-表 4,考虑各字段添加约束是否合理
- 编写 T-SQL 语句,创建表以及约束
- 查看创建表的信息
- 通过向表中插入数据验证数据完整性,并回答相应问题

实验任务 1
利用 T-SQL 完成书籍信息表(tb_BookInfo)的设计与创建
实验任务 2
按要求完成数据表完整性的设计,要求利用 T-SQL 在书籍信息表(tb_BookInfo)中添加以下约束:
- 在书籍编号字段上添加主键约束
- 在登记日期字段上添加当前日期
- 在是否借出字段上默认值为 0



实验任务 3
利用 T-SQL 完成数据表 2、数据表 3 、数据表 4 的设计与创建
实验任务 4
利用 T-SQL 语句,在借书信息表(tb_LentInfo)表中加入一列 colBZ(备注),数据类型 varchar,长度 100
实验任务 5
利用 T-SQL 语句删除 colBZ(备注)列
实验任务 6
利用 T-SQL 语句删除借书信息表(tb_LentInfo)中应还书日期字段上的检查约束
Query.sql
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 
 | create database db_book
 on
 (
 name=db_book,
 filename='D:\Data\db_book.mdf'
 )
 
 
 create table db_book.dbo.tb_BookInfo
 (
 SJBH char(10) not null,
 SJMC varchar(20) not null,
 LBBH char(2),
 CBS varchar(30),
 ZZ varchar(20),
 DJRQ datetime,
 SFJC bit
 )
 
 
 alter table db_book.dbo.tb_BookInfo
 ADD
 primary key(SJBH),
 default getdate() for DJRQ,
 constraint SFJC_default default 0 for SFJC
 
 
 
 
 create table db_book.dbo.tb_ReaderInfo(
 DZBH char(10) primary key,
 DZMC varchar(20) not null,
 BZSJ Datetime default getdate(),
 LXDH varchar(30) not null
 )
 
 
 create table db_book.dbo.tb_BookType(
 LBBH char(2) not null primary key,
 LBMC char(30) not null
 )
 
 
 create table db_book.dbo.tb_LentInfo(
 DZBH char(10) not null foreign key (DZBH) references db_book.dbo.tb_ReaderInfo(DZBH),
 SJBH char(10) not null foreign key (SJBH) references db_book.dbo.tb_BookInfo(SJBH),
 JSRQ Datetime not null,
 YHSRQ Datetime  not null,
 HSRQ Datetime null,
 check (YHSRQ>JSRQ)
 )
 
 
 use db_book
 alter table tb_LentInfo
 ADD
 colBZ varchar(100)
 
 
 alter table tb_LentInfo
 DROP
 column colBZ
 
 
 alter table tb_LentInfo
 DROP
 constraint CK__tb_LentInfo__2E1BDC42
 
 | 
其中,由于 tb_LentInfo 借书信息表中日期字段的检查(CHECK)约束,我们并未指定约束名称,所以在删除约束时可以通过下述方法查看系统默认约束名称
1.打开对象资源管理器

2.依次找到对应列约束

3.查看约束名称

拓展提升
根据以下提供的数据库、表结构、表中记录等信息完成相应的 Transact-SQL 语句。产品销售数据库,数据库名为 db_CPXS。数据库 db_CPXS 包含下列 3 个表:
- 产品表:表名为 tb_CP,描述产品信息;
- 销售商表:表名为 tb_XSS,描述销售商信息;
- 产品销售表:表名为 tb_XSCP,描述产品的销售信息;
各表的结构分别如表 1-表 3 所示,表中约束自行设计:


请设计数据表 1-表 3 的约束,并写出创建数据表的 T-SQL 语句
Query.sql
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 
 | 
 
 create database db_CPXS
 on(
 name=db_CPXS,
 filename='D:\Data\db_CPXS.mdf'
 )
 
 
 use db_CPXS
 create table tb_CP(
 CPBH char(6) primary key,
 CPMC char(30) not null,
 JG float(8) null check (JG>0),
 KCL int null check(KCL>=0)
 )
 
 
 use db_CPXS
 create table tb_XSS(
 XSBH char(6) primary key,
 XSMC char(30) not null,
 DQ char(10),
 FZR char(8),
 DH char(12),
 BZ text
 )
 
 
 use db_CPXS
 create table tb_XSCP(
 CPBH char(6) not null foreign key(CPBH) references tb_CP(CPBH),
 XSBH char(6) not null foreign key(XSBH) references tb_XSS(XSBH),
 XSSJ datetime default getdate(),
 SL int check(SL>=0),
 JE float check(JE>0),
 primary key(CPBH,XSBH)
 )
 
 |