借阅时间 Datetime not null, 应还时间 Datetime not null,
foreign key(书籍编号) references books_table(书籍编号), foreign key(借书证号) references readers_table(借书证号) )
6.1.6 创建return_record_table表 Create table return_record_table (
姓名 varchar(10) not null 书籍编号 varchar(20) not null, 书籍名称 varchar(30) not null 借书证号 int not null, 借阅时间 Datetime not null,
foreign key(书籍编号) references books_table(书籍编号), foreign key(借书证号) references readers_table(借书证号) )
6.1.7 创建reader_fee_table表 Create table reader_fee_table (
书籍编号 varchar(20) not null, 借书证号 int not null, 姓名 varchar(10) not null, 书籍名称 varchar(30) not null, 超期时间 int not null, 罚款金额 Money not null,
foreign key(书籍编号) references books_table(书籍编号), foreign key(借书证号) references readers_table(借书证号) )
6.2 创建视图
6.2.1 用于查询图书基本信息的视图定义如下:
create view Bookview (借阅证号, 书籍编号, 作者, 出版社, 借阅情况) as
Select 借阅证号, 书籍编号, 作者, 出版社, 借阅情况 from books_table
6.2.2 用于读者基本信息查询的视图定义如下: create view Readerview (姓名,j借书证号,注册日期) as
select 姓名,借书证号,注册日期 from readers_table
6.2.3 用于显示当前借阅基本信息的视图定义如下:
create view Borrowview (借书证号,书籍名称,作者,借阅日期,应还日期) as
select borrow_record_table.借书证号, borrow_record_table.书籍名称,作者,借阅日期,应还日期
from borrow_record_table,books_table
where borrow.record_table.书籍编号=books_table. 书籍编号
6.2.4用于借阅历史信息查询的视图定义如下:
create view Historyview (借书证号,书籍名称,借阅日期,归还日期) as
select 借书证号,书籍名称,借阅日期,归还日期 from return_record_table
6.2.5用于查询罚款信息的视图定义如下:
create view Fineview (姓名,书籍名称,超期时间,罚款金额) as
select 姓名,书籍名称,超期时间,罚款金额 from reader_fee_table
6.3 创建索引
create unique index readersindex on readers_table(借书证号) create unique index booksindex on books_table(书籍编号)
create unique index index1 on borrow_record_table(借书证号,书籍编号) create unique index index2 on return_record_table(借书证号,书籍编号)
6.4 创建触发器
6.4.1 当删除readers_table表中某一读者基本信息时,触发borrow_record_table表,删除相应的记录
create trigger Reader_delete on readers_table for delete as
declare @zhao int; select @zhao=借书证号 from deleted
delete borrow_record_table where 借书证号=@zhao
6.4.2当在borrow_record_table表中增加一条借阅记录时,使该图书的状态由“可借”变为“不可借”
create trigger Borrow_insert1 on borrow_record_table for insert as
declare @BookID char(20); select @BookID=书籍编号 from inserted update books_table set 借阅情况='不可借' where 书籍编号=@BookID
6.5 数据表的初始化
6.5.1 books_stytle_table表的初始化
Insert into books_stytle_table values(1,'人文艺术类') Insert into books_stytle_table values(2,'自然科学类') Insert into books_stytle_table values(3,'工程技术类') insert into books_stytle_table values(4,'文学类') insert into books_stytle_table values(5,'政治经济类') insert into books_stytle_table values(6,'社会科学类') insert into books_stytle_table values(7,'语言技能类')
6.5.2 books_table表的初始化
Insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('A1001','中国大历史','人文艺术类','黄仁宇','人民文学出版社','2007-02-01','32','可借') insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('A1002','中国近现代史纲要','人文艺术类','','高等教育出版社','2006-04-01','32','可借' insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('B1001','计算机操作系统','自然科学类','汤小丹,梁红兵等','西安电子大学出版社','2001-04-12','32','不可借')
insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('B1002','计算机网络','自然科学类','谢希仁','电子工业出版社','2003-04-01','32','可借') insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('B1003','计算机网络','自然科学类','谢希仁','电子工业出版社','2003-04-01','32','不可借')
insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('C1001','线性代数','工程技术类','','高等教育出版社','2004-07-01','12.00','可借')
insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('C1002','计算方法','工程技术类','李信真,车刚明等','西北工业大学出版社','2001-09-01','12.00','可借')
insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('D1001','百年孤独','文学类','马尔克斯著,闫瑞译','北京燕山出版社','2013-02-14','49.00','可借')
insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('D1002','分成两半的伯爵','文学类','卡尔维诺著,吴正仪译','译林出版社','2002-06-14','20.00','不可借')
insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('E1001','当代世界经济与政治','政治经济类','李景治','中国人民大学出版社','2002-06-16','16.00','可借')
insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('E1002','经济学原理','政治经济类','高鸿业','中国人民大学出版社','2002-06-01','16.00','可借')
insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('F1001','马克思主义基本原理概论','社会科学类','','高等教育出版社','2001-06-01','17.00','可借')
insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('F1002','思想道德修养与法律基础','社会科学类','','高等教育出版社','2002-09-01','15.50','可借')
insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('G1001','大学英语','语言技能类','郑树棠','外语教学与研究出版社','2003-04-01','15.50','可借')
insert into books_table(书籍编号,书籍名称,书籍种类,作者,出版社,出版日期,单价,借阅情况)
values('G1002','大学英语','语言技能类','郑树棠','外语教学与研究出版社','2003-04-01','15.50','可借')
6.5.3 readers_table表的初始化
insert into readers_table(借书证号,姓名,性别,读者类别,注册日期) values('31100','王鑫','男','学生','2007-01-01')
insert into readers_table(借书证号,姓名,性别,读者类别,注册日期) values('31102','王永胜','男','学生','2008-01-01')
insert into readers_table(借书证号,姓名,性别,读者类别,注册日期) values('31101','张倩','女','学生','2009-06-01')
相关推荐: