1.1 本题目的表结构
本题用到下面三个关系表:
CARDS 借书卡。 CNO 卡号,NAME 姓名,CLASS 班级
BOOKS 图书。 BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数
BORROW 借书记录。 CNO 借书卡号,BNO 书号,RDATE 还书日期
备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。
1.2 基本建表语句
1 create table CARDS 2 ( 3 CNO int identity(1,1), 4 NAME nvarchar(50) not null, 5 CLASS nvarchar(100) not null, 6 constraint pk_cards primary key (CNO) 7 ) 8 9 create table BOOKS 10 ( 11 BNO int identity(1,1), 12 BNAME nvarchar(255) not null, 13 AUTHOR nvarchar(50) not null, 14 PRICE decimal(8,1) not null, 15 QUANTITY int default 0, 16 constraint pk_books primary key (BNO) 17 ) 18 19 create table BORROW 20 ( 21 CNO int not null, 22 BNO int not null, 23 RDATE datetime default GETDATE() not null, 24 constraint pk_borrow primary key (CNO,BNO), 25 constraint fk_borrow_cards foreign key (CNO) references CARDS(CNO), 26 constraint fk_borrow_books foreign key (BNO) references BOOKS(BNO) 27 )
1.3 插入测试数据
1 insert into CARDS(NAME,CLASS) values('张三','计科一班') 2 insert into CARDS(NAME,CLASS) values('李四','计科一班') 3 insert into CARDS(NAME,CLASS) values('王五','计科二班') 4 insert into CARDS(NAME,CLASS) values('六四','计科二班') 5 insert into CARDS(NAME,CLASS) values('七七','软工一班') 6 insert into CARDS(NAME,CLASS) values('粑粑','软工二班') 7 8 insert into BOOKS(BNAME,AUTHOR,PRICE,QUANTITY) values ('水浒','施耐庵',188,3) 9 insert into BOOKS(BNAME,AUTHOR,PRICE,QUANTITY) values ('计算机网络','谢希仁',49,3) 10 insert into BOOKS(BNAME,AUTHOR,PRICE,QUANTITY) values ('计算方法','严蔚敏',58,3) 11 insert into BOOKS(BNAME,AUTHOR,PRICE,QUANTITY) values ('计算方法习题集','殷人昆',188,3) 12 insert into BOOKS(BNAME,AUTHOR,PRICE,QUANTITY) values ('数据库技术及应用','王珊',38,3) 13 insert into BOOKS(BNAME,AUTHOR,PRICE,QUANTITY) values ('组合数学','周伟',28,3) 14 insert into BOOKS(BNAME,AUTHOR,PRICE,QUANTITY) values ('Redis初探','周旭龙',25,3) 15 16 insert into BORROW(CNO,BNO) values(1,1) 17 insert into BORROW(CNO,BNO) values(2,1) 18 insert into BORROW(CNO,BNO) values(3,1) 19 20 insert into BORROW(CNO,BNO) values(4,3) 21 insert into BORROW(CNO,BNO) values(4,6) 22 insert into BORROW(CNO,BNO) values(5,6) 23 insert into BORROW(CNO,BNO) values(7,7)