数据库&数据表的创建练习

环境: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张图片

创建数据表:

数据表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. 产品表:表名为tb_CP,描述产品信息;
  2. 销售商表:表名为tb_XSS,描述销售商信息;
  3. 产品销售表:表名为tb_XSCP,描述产品的销售信息。

各表的结构分别如表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语句。

数据库&数据表的创建练习_第2张图片

你可能感兴趣的:(数据库,数据库)