环境:Windows 10操作系统,SQL Server 2019开发平台。
1、按要求创建数据库
数据库名为db_HX;
数据库中包含一个主数据文件,逻辑文件名为HX_DATA,物理文件名为HX_DATA.MDF,文件的初始容量为5MB,最大容量为15MB,文件容量递增值为2MB;
数据库中包含一个辅数据文件,逻辑文件名为HX_DATA1,物理文件名为HX_DATA1.NDF,文件的初始容量为1MB,文件大小不受限制,文件增长量为20%;
事务日志文件的逻辑文件名为HX_LOG,物理文件名为HX_LOG.LDF,初始容量为3MB,最大容量为10MB,文件容量递增值为1MB;
create database db_HX
on
(name=HX_DATA,filename=‘E:\Fore term\HX_DATA.MDF’,size=5MB,maxsize=15MB,filegrowth=2MB),
(name=HX_DATA1,filename=‘E:\Fore term\HX_DATA1.NDF’,size=1MB,maxsize=unlimited,filegrowth=20%)
log on
(name=HX_LOG,filename=‘E:\Fore term\HX_LOG.LDF’,size3MB,maxsize=10MB,filegrowth=1MB)
2、按要求对数据库进行修改
在数据库db_HX中添加一个数据文件,逻辑文件名为HX_DATA2,文件的初始容量为3MB,最大容量为15MB,文件容量递增值为2MB;
将事务日志文件的最大容量改为20MB,文件容量递增值为2MB;
ALTER DATABASE db_HX
ADD FILE
(NAME='HX_DATA',FILENAME='D:\Fore term\HX_DATA2.ndf',SIZE=3MB,MAXSIZE=15MB,FILEGROWTH=1MB)
3、按要求对数据库文件进行删除
将数据库db_HX中刚添加的HX_DATA1数据库文件删除
DBCC SHRINKFILE(HX_DATA2,EMPTYFILE)
ALTER DATABASE db_HX REMOVE FILE HX_DATA2
4.删除数据库db_HX
DROP DATABASE db_HX
8.将数据库db_HX进行分离和附加操作。
SP_DETACH_db[db_HX] --分离
SP_ATTACH_DB db_HX,'D:\Fore term\db_HX.mdf' --附加
9.创建一个包含多个数据文件和日志文件的数据库db_MNS,该数据库包含两个初始大小为15MB的数据文件和两个5MB的日志文件。
数据表1:书籍信息表(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 |
(1)利用T-SQL完成书籍信息表(tb_BookInfo)的创建
CREATE TABLE tb_BookInfo
(
SJBH char(10) NOT NULL,
SJMC char(10) NOT NULL,
LBBH char(2),
CBS varchar(30),
DJRQ Datetime,
SFJC bit
)
(2)利用T-SQL在书籍信息表(tb_BookInfo)中添加以下约束:
1)在书籍编号字段上添加主键约束
2)在类别编号字段上添加外键约束
3)在登记日期字段上添加当前日期
4)在是否借出字段上默认值为0
*写出“应还书日期>借书日期约束语句 constraint ck_tb_LentInfo_YHSRQ check(YHSRQ > JSRQ)
ALTER TABLE tb_BookInfo
ADD CONSTRAINT pk_tb_BookInfo_SJBH PRIMARY KEY(SJBH)
ALTER TABLE tb_BookInfo
ADD CONSTRAINT fk_tb_BookInfo_LBBH FOREIGN KEY(LBBH) REFERENCES tb_BooktYPE(LBBH)
ALTER TABLE tb_BookInfo
ADD CONSTRAINT def_tb_BookInfo_DJRQ DEFAULT('getdate()') FOR DJRQ
ALTER TABLE tb_BookInfo
ADD CONSTRAINT def_tb_BookInfo_SFJC DEFAULT('0') FOR SFJC
数据表2:读者信息表(tb_ReaderInfo)
存储内容 |
存储读者基本信息情况 |
|||
字段名称 |
中文意义 |
数据类型 |
数据长度 |
其它 |
DZBH |
编号 |
char |
10 |
主键 |
DZMC |
姓名 |
varchar |
20 |
NOT NULL |
BZSJ |
办证日期 |
Datetime |
默认getdate() |
|
LXDH |
联系电话 |
varchar |
30 |
NOT NULL |
数据表3:书籍类别表(tb_BookType)
存储内容 |
存储书籍类别信息 |
|||
字段名称 |
中文意义 |
数据类型 |
数据长度 |
其它 |
LBBH |
类别编号 |
char |
2 |
主键 |
LBMC |
类别名称 |
char |
30 |
NOT NULL |
数据表4:借书信息表(tb_LentInfo)
存储内容 |
存储书籍借阅信息情况 |
|||
字段名称 |
中文意义 |
数据类型 |
数据长度 |
其它 |
DZBH |
读者编号 |
char |
10(外键) |
复合主键 |
SJBH |
书籍编号 |
char |
10(外键) |
|
JSRQ |
借书日期 |
Datetime |
NOT NULL |
|
YHSRQ |
应还书日期 |
Datetime |
约束 应还>借书日 |
NOT NULL |
HSRQ |
实还书日期 |
Datetime |
CREATE TABLE tb_ReaderInfo --表一
(
DZBH char(10) primary key,
DBZC varchar(20) NOT NULL,
BZSJ datetime default getdate(),
LXDH varchar(30) NOT NULL
)
CREATE TABLE tb_BookType --表二
(
LBBH char(10) primary key,
LBMC char(30) NOT NULL
)
CREATE TABLE tb_LentInfo
(
DZBH char(10) foreign key references tb_ReaderInfo(DZBH),
SJBH char(10) foreign key references tb_BookInfo(SJBH),
JSRQ datetime not null,
YHSRQ datetime,
constraint pk_tb_LentInfo primary key(DZBH,SJBH),
constraint ck_tb_LentInfo_YHSRQ check(YHSRQ>JSRQ)
)
(4)在借书信息表(tb_LentInfo)表中加入一列colBZ(备注), 数据类型varchar,长度100
ALTER TABLE tb_LentInfo
ADD colBZ varchar(10)
(5)删除colBZ(备注)列
ALTER TABLE tb_LentInfo
DROP column colBZ
(6)删除借书信息表(tb_LentInfo)中应还书日期字段上的检查约束
ALTER TABLE tb_LentInfo
DROP ck_tb_LentInfo_YHSRQ
任务拓展(课外)
根据以下提供的数据库、表结构、表中记录等信息完成相应的Transact-SQL语句。
产品销售数据库,数据库名为db_CPXS。数据库db_CPXS包含下列3个表:
各表的结构分别如表1-表3所示,表中约束自行设计:
表1 产品表(tb_CP)表结构
列名 |
数 据 类 型 |
长度 |
是否允许为空值 |
说 明 |
CPBH |
字符型(char) |
6 |
产品编号 |
|
CPMC |
字符型(char) |
30 |
产品名称 |
|
JG |
浮点型(float) |
8 |
√ |
价格 |
KCL |
整型(int) |
4 |
√ |
库存量 |
表2 销售商(tb_XSS)表结构
列名 |
数据类型 |
长度 |
是否允许为空值 |
说 明 |
XSBH |
字符型(char) |
6 |
销售商编号 |
|
XSMC |
字符型(char) |
30 |
销售商名称 |
|
DQ |
字符型(char) |
10 |
√ |
地区 |
FZR |
字符型(char) |
8 |
√ |
负责人 |
DH |
字符型(char) |
12 |
√ |
电话 |
BZ |
文本(text) |
16 |
√ |
备注 |
表3 产品销售(tb_XSCP)表结构
列名 |
数据类型 |
长度 |
是否允许为空值 |
说 明 |
CPBH |
字符型(char) |
6 |
产品编号 |
|
XSBH |
字符型(char) |
6 |
销售商编号 |
|
XSSJ |
Datetime |
8 |
销售时间 |
|
SL |
整型(int) |
4 |
数量 |
|
JE |
浮点型(float) |
8 |
金额 |
请设计数据表1-表3的约束,并写出创建数据表的T-SQL语句。