-
图书管理系统数据库
2016-06-30 20:58:14图书管理系统数据库 -
《图书管理系统数据库设计-MYSQL实现》_图书管理系统数据库设计代码
2020-01-17 13:10:09PAGE 1 图书管理系统数据库设计 一系统概述 1系统简介 图书管理是每个图书馆都需要进行的工作一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利 2需求分析 图书管理系统的需求定义为 1.学生可以直接... -
图书管理系统数据库设计
2018-05-26 23:44:35图书管理系统数据库设计 博主在github上找的这个项目链接,大家想参考的可以看看! JAVA GUI 图书馆管理系统:https://github.com/uboger/LibraryManager 图书馆流通管理系统:...图书管理系统数据库设计
博主在github上找的这个项目链接,大家想参考的可以看看!
-
JAVA GUI 图书馆管理系统:https://github.com/uboger/LibraryManager
-
图书馆流通管理系统:https://github.com/lxz612/Libsystem
-
C#编写的图书馆管理系统,数据库使用SQL Server:https://github.com/raojun/BookManage
1、摘要:
一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。
2、需求分析
针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面所示的数据项:
Ø 读者信息
属性:读者学号,读者姓名,读者性别,联系电话,所在系,生效日期,失效日期,违章状况,累计借书,备注
主键:读者学号
Ø 书籍信息
属性:ISBN,书名,作者,出版社,出版日期,简介,备注
主键:ISBN
Ø 管理员信息
属性:工作号,姓名,性别,电话,家庭住址,备注
主键:工作号
2.1 数据流程
通过对系统的调查和可行性分析,画出系统的数据流程图:
2.1.1 读者
学生对图书管理系统的要求有:
Ø 能按各种方式(比如书名、编号、作者)查询图书馆的藏书情况。
Ø 能够方便地借阅图书、续借图书、归还图书
Ø 能够查询自己的基本资料、图书情况
Ø 能够熟悉图书管理系统的使用。
读者进入系统工作的流程图为:
注册
查询
修改信息
借阅续借
图书
归还
注销
2.1.2 图书管理员
他们对图书管理系统的要求有:
1. 能方便的对图书进行录入登记,注销陈旧的书籍。
2. 能够方便地对新生进行登记,或注销已经毕业的学生信息(基本信息,借阅信息)。
3. 能够随时发布一些诸如各学院学生借阅图书超期情况、馆内藏书情况、借情况等信息,以便各学院能够随时获知本院学生的一些借书信息。
图书管理员工作的流程图为:
注册
录入图书
录入新生
注销图书
注销学生
注销
修改个人信息
超期处理
3、概念模型设计
数据库需要表述的信息有以下几种:
(1)读者信息
(2)书籍信息
(3)管理员信息
(4)读者与书籍之间的关系(借阅关系E-R图)
(5)管理员与书籍之间的关系(管理员_书籍E-R图)
(6)管理员与学生之间的关系(管理员_学生 E-R图)
3.1管理员与读者之间的关系
3.3管理员与书刊之间的关系
3.3读者与书籍之间的关系(借阅三元关系)
4、逻辑设计
从理论‘E/R模型’到理论‘关系模型’的整理转换,通过E/R模型到关系模型的转化,可以得到如下关系模式:
借阅关系
属性:工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注。
主键:工作号,读者学号,ISBN
管理员_书籍关系
属性:工作号,ISBN,添加时间,是否在馆
主键:工作号,ISBN
管理员_学生关系
属性:工作号,读者学号,确认借还
主键:工作号,读者学号
5、数据库逻辑结构
5.1图书信息表
字段名称
数据类型
是否可为空
ISBN(key)
varchar(20)
否
书名
varchar(50)
否
作者
varchar(12)
否
出版社
varchar(50)
是
出版日期
datetime
是
简介
varchar(200)
是
备注
varchar(200)
是
5.2 读者信息表
字段名称
数据类型
是否可为空
读者学号(key)
varchar(12)
否
读者姓名
varchar(10)
否
读者性别
varchar(2)
否
联系电话
varchar(10)
是
所在系
varchar(12)
否
生效时间
datatime
是
失效时间
datatime
是
违章状况
varchar(2)
是
累计借书
int
是
备注
varchar(100)
是
5.3 管理员信息表
字段名称
数据类型
是否可为空
工作号(key)
varchar(12)
否
姓名
varchar(12)
否
性别
varchar(2)
否
电话
varchar(12)
是
住址
varchar(12)
是
备注
varchar(100)
是
5.4 借阅表
字段名称
数据类型
是否可为空
工作号
char(10)
否
ISBN
char(10)
否
读者学号
char(10)
否
借书日期
datetime
否
还书日期
datetime
否
是否续借
char(4)
否
备注
varchar(100)
是
5.5 管理员_书籍
字段名称
数据类型
是否可为空
工作号
char(10)
否
ISBN
char(10)
否
添加时间
data time
是
是否在馆
char(14)
是
5.6 管理员_学生
字段名称
数据类型
是否可为空
工作号
char(10)
否
读者学号
char(10)
否
借还确认
char(4)
否
6、物理设计
从理论‘关系模型’到实现/实施‘数据库建立’,物理文件的安排和建立索引
6.1 建立索引
为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是各表中建立索引的表项:
(1) 读者信息(读者学号)
(2) 书籍信息(ISBN)
(3)管理员信息(工作号)
(4)借阅(工作号,读者学号,ISBN)
(5)管理员_书籍(工作号,ISBN)
(6)管理员_学生(工作号,读者学号)
6.2 用SQL实现设计
实现该设计的环境为Windows 2000 Perfessinal+MSSQLServer 2000.0
6.2.1建立图书信息表
create table 图书
(ISBN varchar(20) not null primary key,
书名 varchar(50) not null,
作者 varchar(12) not null,
出版社 varchar(50),
出版日期 datetime,
简介 varchar(200),
备注 varchar(200),)
6.2.2建立读者信息表
create table 读者
(读者学号 varchar(12) not null primary key,
读者姓名 varchar(10) not null,
读者性别 varchar(2) not null,
联系电话 varchar(12),
所在系 varchar(20) not null,
生效日期 datetime,
失效日期 datetime,
违章状态 char(2),
累计借书 int,
备注 varchar(100),)
6.2.3建立管理员信息表
create table 管理员
(工作号 varchar(12) not null primary key,
姓名 varchar(12) not null,
性别 varchar(2) not null,
电话 varchar(12),
家庭住址 varchar(50),
备注 varchar(100))
6.2.4建立借阅表
create table 借阅
(工作号 char(10) not null,
ISBN char(10) not null,
读者学号 char(10) not null,
借书日期 datetime not null,
还书日期 datetime not null,
是否续借 char(4) not null,
备注 varchar(100) )
6.2.5建立管理员_书籍表
create table 管理员_书籍
(工作号 char(10) not null,
ISBN char(10) not null,
添加时间 datetime,
是否在馆 char(4))
6.2.6建立管理员_学生表
create table 管理员_学生
(工作号 char(10) not null,
读者学号 char(10) not null,
ISBN char(10) not null,
借还确认 char(4) not null)
6.2.7建立索引
CREATE UNIQUE INDEX 图书索引 ON 图书(ISBN)
CREATE UNIQUE INDEX 读者索引 ON 读者(读者学号)
CREATE UNIQUE INDEX 管理员索引 ON 读者(工作号)
CREATE UNIQUE INDEX借阅索引 ON 借阅(工作号,读者学号,ISBN)
CREATE UNIQUE INDEX管理员_书籍索引 ON 管理员_书籍 (工作号,ISBN读者学号)
CREATE UNIQUE INDEX管理员_学生ON管理员_学生 (工作号,读者学号)
6.2.8定义视图
(1)读者表视图
CREATE VIEW 读者视图
AS
SELECT *
FROM 读者
(2)图书表视图
CREATE VIEW 图书视图
AS
SELECT *
FROM 图书
(3)管理员表视图
CREATE VIEW 管理员视图
AS
SELECT *
FROM 管理员者
6.2.9管理员操作
(1)注册(register)
INSERT INTO 管理员 (工作号,姓名,性别,电话,家庭住址,备注)
VALUES(#工作号,#姓名,#性别,#电话,#家庭住址,#备注)
说明:在登记操作后,管理员得到一个唯一的工作号,可以根据这个工作号采查询和修改数据。
(2)注销(unregister)
DELETE
FROM Provider
WHERE(工作号=#工作号);
(3)修改个人信息(update)
UPdate 管理员
Set (工作号=#工作号,姓名=#姓名,性别=#性别,电话=#电话,家庭住址=#家庭住址,备注=#备注)
WHERE(工作号=#工作号)
(4)增加书籍(addbooks)
INSERT INTO 图书 (ISBN,书名,作者,出版社,出版日期,简介,备注)
VALUES(#ISBN,#书名,#作者,#出版社,#出版日期,#简介,#备注) INSERT INTO 管理员_书籍表(工作号,ISBN,添加时间,是否在馆)
VALUES(#工作号,#ISBN,#添加时间,#是否在馆)
(5)删除书籍(deletebooks)
DELETE 图书
WHERE(ISBN =# ISBN)
(6)修改书籍(updatebooks)
UPDATE 图书(书名=#书名, 作者=#作者, 出版社=#出版社, 出版日期=
#出版日期, 简介=#简介, 备注=#备注)
WHERE(ISBN =# ISBN)
6.2.10读者操作
(1)注册(register)
INSERT INTO 读者(读者学号,读者姓名,读者性别,联系电话,所在系,
生效日期,失效日期,违章状况,累计借书,备注)
VALUES(#读者学号,#读者姓名,#读者性别,#联系电话,#所在系,
#生效日期,#失效日期,#违章状况,#累计借书,#备注)
说明:在登记操作后,读者得到一个唯一的ID,可以根据这个ID来查询和修改自己的信息。
(2)注销(unregister)
DELETE 读者
WHERE(读者学号=#读者学号)
(3)修改个人信息(update)
UPDATE 读者 Set(读者姓名=#读者姓名,联系电话=#联系电话,
所在系=#所在系,生效日期=#生效日期,失效日期=#失效日期,
违章状况=#违章状况,累计借书=#累计借书,备注=#备注)
WHERE(读者学号=#读者学号)
(4)查询(select)
SELECT ISBN,书名,作者,出版社
FROM图书
WHERE ISBN=#ISBN OR书名=#书名
6.2.11管理员对借阅关系的操作
(1) 插入读者的信息(insert)
INSERT INTO 借阅(工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注)
VALUES(#工作号,#读者学号,#ISBN,#是否续借,#借书日期,
#还书日期,#备注)
(2) 更新信息(update)
①更新借出信息
UPDATE借阅
SET(借书日期=#借书日期,还书日期=借书日期+30,是否续借=0)
WHERE(工作号=#工作号 AND 读者学号=#读者学号 AND ISBN =#ISBN)
UPDATE管理员_图书
SET(是否在馆=0)
WHERE(ISBN=#ISBN)
UPDATA 学生
SET (累积借书=累积借书+1)
WHERE(读者学号=#读者学号)
INSERT INTO管理员_学生(工作号,读者学号,确认借还,ISBN)
VALUES(#工作号,#读者学号,”0”, #ISBN))
②更新续借信息
UPDATE 借阅
SET(是否续借=#是否续借)
WHERE(工作号=#工作号 AND 读者学号=#读者学号 AND ISBN =#ISBN)
③更新还书信息
UPDATE管理员_图书
SET(是否在馆=1)
WHERE(ISBN=#ISBN)
UPDATE管理员_学生
SET(确认借还=”1”)
WHERE(工作号=#工作号 AND 读者学号=#读者学号 AND ISBN=#ISBN)
6.2.12触发器的建立
(1)时间触发器:
Create Trigger 时间
On 借阅
For update,insert,delete
As
while (select datename(weekday,getdate()))='星期天'
begin
print '时间错误'
end
(2)update触发器:
Create Trigger 续借
On 借阅
for Update
As
If Update(是否续借)
begin
Update 借阅
Set 还书日期=还书日期+30
Where 工作号=#工作号
end
7、实验数据示例:测试阶段(代码调试)
7.1 输入数据设计
(1)插入管理员
INSERT INTO 管理员(工作号,姓名,性别,电话,家庭住址,备注)
VALUES(1001,'张三','男',02885965555,'成都市','呵呵')
(2)插入读者
INSERT INTO 读者(读者学号,读者姓名,读者性别,联系电话,所在系,
生效日期,失效日期,违章状态,累计借书,备注)
VALUES(20050222,'李瑞','男',02888994456,'环境','2007-05-06','2010-05-06','1',10,'哈')
(3)插入图书
INSERT INTO 图书 (ISBN,书名,作者,出版社,出版日期,简介,备注)
VALUES('730203009x','数据库原理教程','王珊','清华大学出版社','2006-05-05','数据库教程','哈')
INSERT INTO 图书 (ISBN,书名,作者,出版社,出版日期,简介,备注)
VALUES('7302030091','数据库教程','王书','清华大学出版社','2006-05-05','数据库教程','哈')
(4)插入管理员_书籍表
INSERT INTO 管理员_书籍 (工作号,ISBN,添加时间,是否在馆)
VALUES(1001,'730203009x','2007-7-7','0')
INSERT INTO 管理员_书籍 (工作号,ISBN,添加时间,是否在馆)
VALUES(1001,'7302030091','2007-7-8','1')
(5) 插入借阅信息
INSERT INTO 借阅(工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注)
VALUES(1001,20050222,'730203009x','0','2007-7-6','2007-8-6','哈')
INSERT INTO 管理员_学生(工作号,读者学号,借还确认,ISBN)
VALUES(1001,'20050222','0', '730203009x')
7.2 完成借阅、续借、归还的操作设计
假设读者想借书籍名为《数据库教程》且不知道ISBN
(1)借阅操作如下:
if((select 书名 from 图书 where ISBN='7302030091')= '数据库教程')
begin
INSERT INTO 借阅(工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注)
VALUES(1001,20050222,'7302030091','0','2007-7-7','2007-8-7','哈')
UPDATE 管理员_书籍
SET 是否在馆='0'
WHERE ISBN='7302030091'
UPDATE 读者
SET 累计借书=累计借书+1
WHERE 读者学号=20050222
INSERT INTO 管理员_学生(工作号,读者学号,借还确认,ISBN)
VALUES(1001,20050222,'0','7302030091')
print '借阅成功!'
end
else
print '借阅失败!'
(2)续借操作如下:
if((SELECT 是否续借
FROM 借阅
WHERE 工作号=1001 AND 读者学号=20050222 AND ISBN ='7302030091')='0')
begin
UPDATE 借阅
SET 是否续借='1'
WHERE 工作号=1001 AND 读者学号=20050222 AND ISBN ='7302030091'
print '续借成功!'
end
else
print '续借失败!'
(3)还书操作如下:
If((SELECT 借还确认
FROM 管理员_学生
WHERE 工作号=1001 AND 读者学号=20050222 AND ISBN='7302030091')='0')
BEGIN
UPDATE 管理员_书籍
SET 是否在馆='1'
WHERE ISBN='7302030091'
print '还书成功!'
end
else
print '还书失败!'
后台数据库应安装在指定服务器上,用户只能通过登录软件访问数据库表中的数据。
除上述方法外,不应提供用户其他访问数据库数据的直接或间接途径。
9、数据库管理与维护说明
对于本数据的管理与维护,例如数据库的备份与恢复,可以使用T-SQL的BACKUP DATABASE命令和RESTORE DATABASE命令[具体实用说明请参照SQL Server 2000联机丛书]或使用企业管理器中的“所有任务”→“备份数据库(B)”菜单项和或“还原数据库(R)”菜单项操作。
-
-
图书管理系统数据库设计-mysql实现.docx
2020-11-17 21:48:53图书管理系统数据库设计 一系统概述 1系统简介 图书管理是每个图书馆都需要进行的工作 一个设计良好的图书管理系统数据库能够给图书 管理带来很大的便利 2需求分析 图书管理系统的需求定义为 1.学生可以直接通过借阅... -
图书管理系统数据库设计-MYSQL实现;.doc
2020-11-23 09:37:58PAGE 1 图书管理系统数据库设计 一系统概述 1系统简介 图书管理是每个图书馆都需要进行的工作一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利 2需求分析 图书管理系统的需求定义为 1.学生可以直接... -
图书管理系统数据库课程设计全套
2009-12-28 09:24:23图书管理系统数据库课程设计图书管理系统数据库课程设计图书管理系统数据库课程设计 -
共享图书管理系统数据库实现
2021-02-25 22:35:47共享图书管理系统共享图书管理系统数据库实现一、数据库设计1.用户2.书籍3.评论4.借阅/共享信息表二、E-R图三、表设计(mysql)1.bs_info2.user3.publisher4.books_info5.borrowed_info6.shared_info7.comment_info8...共享图书管理系统
共享图书管理系统数据库实现
## 系统目标:
通过系统分析对基本功能进行定型,在调研和收集现有投入使用的图书管理系统的基础上,增加符合本系统需求所要的功能。其中基础功能包括:图书信息的录入和编目,图书的借阅、续借和归还,图书定期盘点、损坏处理和借阅超期功能,读者和图书管理员的权限管理。根据以上功能设计实现系统,进行测试和改进或添加现有功能,实现借阅-归还-共享为一体的图书系统。
一、数据库设计
对于一个共享图书管理系统,对所要处理的数据和信息主要有以下几个。
1.用户
使用系统的用户首先要注册,必须填写用户名,密码,手机号,通过自增生成的id来唯一区分用户。用户首先是借阅者,拥有借阅书籍的权限,其次是潜在的分享者,可以把自己的书籍共享进入平台。
2.书籍
书籍必须拥有书籍id,书籍名称,出版社,出版日期等等信息,关联一张主题表,以分类书籍其特有的图书主题,其次也关联借阅、共享、评论表,以此展示书籍被用户所关心的数据和信息。
3.评论
读者可以针对图书进行评论,如下图所示,包括评论内容,评论时间,评论者,评分等信息。注意评论针对的是一部图书,而并非某一本书(因为有多本)。
4.借阅/共享信息表
用户还需要关联一张查看自己借阅和共享书籍的信息表,以查看自己正在借阅和借阅过的书籍,正在共享和共享过的书籍。
二、E-R图
三、表设计(mysql)
1.bs_info
借阅等级、可借阅最长时间和数量
CREATE TABLE `bsinfo`( `b_grade` INT PRIMARY KEY, `longest_time` INT, `maximum_count` INT )ENGINE=INNODB DEFAULT CHARSET=utf8;
2.user
用户信息管理表
CREATE TABLE `user`( `username` VARCHAR(15) NOT NULL, `password` VARCHAR(20) NOT NULL, `phone_num` INT(13) NOT NULL, `email` VARCHAR(20), `address` VARCHAR(30), `authority` INT(1) DEFAULT 0, `user_id` INT PRIMARY KEY AUTO_INCREMENT, `b_grade` INT DEFAULT 0, `totally_borrowed` INT DEFAULT 0, FOREIGN KEY(`b_grade`) REFERENCES bs_info(`b_grade`) )ENGINE=INNODB DEFAULT CHARSET=utf8;
3.publisher
出版社信息
CREATE TABLE `publisher`( `press_name` VARCHAR(20) PRIMARY KEY, `press_address` VARCHAR(25), `press_phone` VARCHAR(11) )ENGINE=INNODB DEFAULT CHARSET=utf8;
4.books_info
图书信息管理表
CREATE TABLE `books_info`( `book_id` CHAR(15) PRIMARY KEY, `book_author` VARCHAR(15), `book_name` VARCHAR(15), `press_name` VARCHAR(20), `press_date` DATE, `book_status` VARCHAR(6) CHECK(`book_status` IN(`可借`,`借出`,`不可借`)), `book_counts` INT DEFAULT 0, `book_borrowed_amount` INT DEFAULT 0, FOREIGN KEY(`press_name`) REFERENCES publisher(`press_name`) )ENGINE=INNODB DEFAULT CHARSET=utf8;
5.borrowed_info
借出标识信息表
CREATE TABLE `books_info`( `book_id` CHAR(15) PRIMARY KEY, `book_author` VARCHAR(15), `book_name` VARCHAR(15), `press_name` VARCHAR(20), `press_date` DATE, `book_status` VARCHAR(6) CHECK(`book_status` IN(`可借`,`借出`,`不可借`)), `book_counts` INT DEFAULT 0, `book_borrowed_amount` INT DEFAULT 0, FOREIGN KEY(`press_name`) REFERENCES publisher(`press_name`) )ENGINE=INNODB DEFAULT CHARSET=utf8;
6.shared_info
共享表示信息表
CREATE TABLE `shared_info`( `shared_id` CHAR(6) PRIMARY KEY, `shared_time` DATE, `shared_back` DATE, `book_id` CHAR(15), `user_id` INT, FOREIGN KEY(`book_id`) REFERENCES books_info(`book_id`), FOREIGN KEY(`user_id`) REFERENCES users(`user_id`) )ENGINE=INNODB DEFAULT CHARSET=utf8;
7.comment_info
评论管理表
CREATE TABLE `comment_info`( `c_id` INT AUTO_INCREMENT PRIMARY KEY, `c_content` VARCHAR(200), `c_time` DATE, `user_id` INT, `book_id` CHAR(15), FOREIGN KEY(`user_id`) REFERENCES users(`user_id`), FOREIGN KEY(`book_id`) REFERENCES books_info(`book_id`) )ENGINE=INNODB DEFAULT CHARSET=utf8;
8.theme_info
图书主题管理表
CREATE TABLE `comment_info`( `c_id` INT AUTO_INCREMENT PRIMARY KEY, `c_content` VARCHAR(200), `c_time` DATE, `user_id` INT, `book_id` CHAR(15), FOREIGN KEY(`user_id`) REFERENCES users(`user_id`), FOREIGN KEY(`book_id`) REFERENCES books_info(`book_id`) )ENGINE=INNODB DEFAULT CHARSET=utf8;
参考
https://blog.csdn.net/lingchen336/article/details/104109265
https://www.cnblogs.com/lesroad/p/9072915.html -
图书管理系统数据库设计MYSQL实现.pptx
2020-07-11 12:27:53图书管理系统数据库设计 一系统概述 1系统简介;数据流图;二系统功能设计;精细化的局部 E-R 图 学生借阅-归还 E-R 图;1;student_id;Records: 0 Duplicates: 0 Warnings: 0 mysql> create index index_brecord on book... -
oracle图书管理系统数据库设计与实现.doc
2020-01-23 18:19:13滨江学院 题 目 图书管理系统数据库设计与实现 院 系 年级班级 学生姓名 学 号 学 期 任课教师 2014年12月5日 下载可编辑 .专业.整理. 目 录 TOC \o "1-3" \h \z \u 1 系统分析 2 1.1 需求分析 2 1.2 设计目标 2 ... -
Oracle数据库设计图书管理系统_图书管理系统数据库设计代码
2020-06-11 20:22:266/11/2020 天津职业技术师范大学 天津职业技术师范大学 数据库原理及应用课程设计报告 数据库原理及应用课程设计报告 -
基于oracle的图书管理系统数据库分析与设计
2011-07-01 17:48:02基于oracle的图书管理系统数据库分析与设计基于oracle的图书管理系统数据库分析与设计基于oracle的图书管理系统数据库分析与设计基于oracle的图书管理系统数据库分析与设计 -
图书管理系统数据库设计报告
2011-01-02 15:36:47非常棒的图书管理系统数据库设计报告,用于学习 -
oracle数据库设计-图书管理系统_图书管理系统数据库设计代码
2020-08-01 00:35:00天津职业技术师范大学 数据库原理及应用课程设计报告 课程名称 数据库原理及应用 姓 名: 学 号 专 业: 网络工程 班 级: 目?录 O \ "1-3" h \z \u YPERLNK 1背景分析? PEREF _Tc440662738 1 HERLINK 4关系模式? ... -
java图书管理系统数据库
2018-03-16 09:58:48(新的项目使用mysql编写的如果有需要要请移步www.vist.top下查看下载地址(GitHub地址))Java小项目-图书管理系统(使用数据库 Windows server 2008),,里面有源码 注释 详细的界面设计数据库设计需求分析的文档及... -
图书管理系统数据库系统设计
2019-04-10 16:56:37图书管理------对所有图书的资料进行添加,修改和删除等操作。 读者管理------对所有读者的资料进行添加,修改和删除等操作。 查询------所有图书、不在馆图书,今天借出图书、今日归还图书、今日新进图书和有条件... -
大数据库图书管理系统(含代码)_图书管理系统数据库下载
2020-08-13 08:34:19目录 一需求描述和系统边界 2 二需求分析 2 1. 业务需求 . 2 2. 功能需求及数据需求分析 . 2 3. 业务规则分析 . 3 三实体集及属性 4 四联系集及 E-R 图 5 五逻辑数据库设计 6 六数据库编程 7 1. 创建表 . 7 -
图书管理系统数据库综合应用
2017-07-27 15:58:02图书管理系统数据库综合练习用到下面三个关系表: CARD 借书卡。 CNO 卡号,NAME 姓名,CLASS 班级 BOOKS 图书。 BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数 BORROW 借书记录。 CNO 借书卡号...图书管理系统数据库综合练习用到下面三个关系表:
CARD 借书卡。 CNO 卡号,NAME 姓名,CLASS 班级
BOOKS 图书。 BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数
BORROW 借书记录。 CNO 借书卡号,BNO 书号,RDATE 还书日期
备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。
要求实现如下15个处理:
1. 写出建立BORROW表的SQL语句,要求定义主码完整性约束和引用完整性约束。
--实现代码:
CREATE TABLE BORROW(
CNO int FOREIGN KEY REFERENCES CARD(CNO),
BNO int FOREIGN KEY REFERENCES BOOKS(BNO),
RDATE datetime,
PRIMARY KEY(CNO,BNO))
2. 找出借书超过5本的读者,输出借书卡号及所借图书册数。
--实现代码:
SELECT CNO,借图书册数=COUNT(*)
FROM BORROW
GROUP BY CNO
HAVING COUNT(*)>5
3. 查询借阅了"水浒"一书的读者,输出姓名及班级。
--实现代码:
SELECT * FROM CARD c
WHERE EXISTS(
SELECT * FROM BORROW a,BOOKS b
WHERE a.BNO=b.BNO
AND b.BNAME=N'水浒'
AND a.CNO=c.CNO)
4. 查询过期未还图书,输出借阅者(卡号)、书号及还书日期。
--实现代码:
SELECT * FROM BORROW
WHERE RDATE<GETDATE()
5. 查询书名包括"网络"关键词的图书,输出书号、书名、作者。
--实现代码:
SELECT BNO,BNAME,AUTHOR FROM BOOKS
WHERE BNAME LIKE N'%网络%'
6. 查询现有图书中价格最高的图书,输出书名及作者。
--实现代码:
SELECT BNO,BNAME,AUTHOR FROM BOOKS
WHERE PRICE=(
SELECT MAX(PRICE) FROM BOOKS)
7. 查询当前借了"计算方法"但没有借"计算方法习题集"的读者,输出其借书卡号,并按卡号降序排序输出。
--实现代码:
SELECT a.CNO
FROM BORROW a,BOOKS b
WHERE a.BNO=b.BNO AND b.BNAME=N'计算方法'
AND NOT EXISTS(
SELECT * FROM BORROW aa,BOOKS bb
WHERE aa.BNO=bb.BNO
AND bb.BNAME=N'计算方法习题集'
AND aa.CNO=a.CNO)
ORDER BY a.CNO DESC
8. 将"C01"班同学所借图书的还期都延长一周。
--实现代码:
UPDATE b SET RDATE=DATEADD(Day,7,b.RDATE)
FROM CARD a,BORROW b
WHERE a.CNO=b.CNO
AND a.CLASS=N'C01'
9. 从BOOKS表中删除当前无人借阅的图书记录。
--实现代码:
DELETE A FROM BOOKS a
WHERE NOT EXISTS(
SELECT * FROM BORROW
WHERE BNO=a.BNO)
10.如果经常按书名查询图书信息,请建立合适的索引。
--实现代码:
CREATE CLUSTERED INDEX IDX_BOOKS_BNAME ON BOOKS(BNAME)
11. 在BORROW表上建立一个触发器,完成如下功能:如果读者借阅的书名是"数据库技术及应用",就将该读者的借阅记录保存在BORROW_SAVE表中(注ORROW_SAVE表结构同BORROW表)
--实现代码:
CREATE TRIGGER TR_SAVE ON BORROW
FOR INSERT,UPDATE
AS
IF @@ROWCOUNT>0
INSERT BORROW_SAVE SELECT i.*
FROM INSERTED i,BOOKS b
WHERE i.BNO=b.BNO
AND b.BNAME=N'数据库技术及应用'
12. 建立一个视图,显示"力01"班学生的借书信息(只要求显示姓名和书名)
--实现代码:
CREATE VIEW V_VIEW
AS
SELECT a.NAME,b.BNAME
FROM BORROW ab,CARD a,BOOKS b
WHERE ab.CNO=a.CNO
AND ab.BNO=b.BNO
AND a.CLASS=N'力01'
13. 查询当前同时借有"计算方法"和"组合数学"两本书的读者,输出其借书卡号,并按卡号升序排序输出
--实现代码:
SELECT a.CNO
FROM BORROW a,BOOKS b
WHERE a.BNO=b.BNO
AND b.BNAME IN(N'计算方法',N'组合数学')
GROUP BY a.CNO
HAVING COUNT(*)=2
ORDER BY a.CNO DESC
14. 假定在建BOOKS表时没有定义主码,写出为BOOKS表追加定义主码的语句
--实现代码:
ALTER TABLE BOOKS ADD PRIMARY KEY(BNO)
15.1 将NAME最大列宽增加到10个字符(假定原为6个字符)
--实现代码:
ALTER TABLE CARD ALTER COLUMN NAME varchar(10)
15.2 为该表增加1列NAME(系名),可变长,最大20个字符
--实现代码:
ALTER TABLE CARD ADD 系名 varchar(20)
-
Java图书管理系统课程设计_java课设图书管理系统数据库
2020-01-17 01:15:032012年6月 目录 TOC \o "1-3" \h \z \u 课题说明 3 程序设计思路 4 程序状态转换图 4 数据库设计 5 程序部分源代码 6 Login.java登录类 6 QueryBook.java查找修改书籍类 10 BookIn.java图书入库类 17 RemoveBook.... -
图书管理系统数据库需求分析.docx
2020-02-29 11:02:04一 图书管理数据库系统 需求分析 1. 功能设计 首先从需求出发构造数据库表再由数据库表结合需求划分系统功能模块 这里把系统的层次划分为四个部分图书维护人员管理图书借阅管理 信息查询能实现以下功能 进行新书入库... -
图书管理系统数据库的创建,插入数据
2018-05-12 23:06:53--图书管理系统数据库的创建,插入数据--创建数据库CREATE DATABASE BOOKSDBUSE BOOKSDB--创建表CREATE TABLE ReaderType( rdType INT PRIMARY KEY, rdTypeName VARCHAR(20), canLendQty INT, canLendDay INT )...--图书管理系统数据库的创建,插入数据
--创建数据库
CREATE DATABASE BOOKSDB
USE BOOKSDB
--创建表
CREATE TABLE ReaderType
(
rdType INT PRIMARY KEY,
rdTypeName VARCHAR(20),
canLendQty INT,
canLendDay INT
)
CREATE TABLE Reader
(
rdID CHAR(9) PRIMARY KEY,
rdType INT REFERENCES ReaderType(rdType),
rdName VARCHAR(20),
rdDept VARCHAR(40),
rdQQ VARCHAR(13),
rdBorrowQty INT DEFAULT 0 CHECK(rdBorrowQty BETWEEN 0 AND 10)
)
CREATE TABLE Book
(
bkID CHAR(9) PRIMARY KEY,
bkName VARCHAR(50),
bkAuthor VARCHAR(50),
bkPress VARCHAR(50),
bkPrice DECIMAL(5,2),
bkStatus INT DEFAULT 1
)
CREATE TABLE Borrow
(
rdID CHAR(9) REFERENCES Reader(rdID),
bkID CHAR(9) REFERENCES Book(bkID),
DateBorrow DateTime,
DateLendPlan DateTime,
DateLendAct DateTime,
PRIMARY KEY(rdID, bkID)
)
--插入数据
INSERT INTO READERTYPE VALUES(1,'教师',10,60)
INSERT INTO READERTYPE VALUES(2,'本科生',5,30)
INSERT INTO READERTYPE VALUES(3,'硕士研究生',6,40)INSERT INTO READERTYPE VALUES(4,'博士研究生',8,50)
INSERT INTO READER VALUES('rd2017001',1,'王桃群','计算机科学学院','3635751',0)
INSERT INTO READER VALUES('rd2017002',2,'孙小美','英语学院','11223344',0)
INSERT INTO READER VALUES('rd2017003',3,'连晓燕','管理学院','55996633',0)
INSERT INTO READER VALUES('rd2017004',4,'许苗','物理学院','88552277',0)
INSERT INTO BOOK VALUES('bk2017001','数据库原理及应用','王丽艳','机械工业出版社',33.00,1)
INSERT INTO BOOK VALUES('bk2017002','高等数学','同济大学数学系','高等教育出版社',32.00,1)
INSERT INTO BOOK VALUES('bk2017003','当代教育心理学','陈琦','北京师范大学出版社',37.20,1)
INSERT INTO BOOK VALUES('bk2017004','古代汉语','王力','中华书局',20.40,1)
INSERT INTO BORROW VALUES('rd2017001','bk2017001','2017-01-01','2017-02-01','2017-02-02')
INSERT INTO BORROW VALUES('rd2017002','bk2017003','2017-02-11','2017-03-21','2017-02-22')
INSERT INTO BORROW VALUES('rd2017002','bk2017001','2017-04-01','2017-05-01','2017-04-02')
INSERT INTO BORROW VALUES('rd2017003','bk2017003','2017-06-01','2017-07-01','2017-07-02') -
基于mysql设计的图书管理系统数据库
2020-10-02 11:48:16此数据库系统是基于mysql数据库设计的,包含了一对一和一对多的关系,存储过程和存储函数均可以正常调用,可供初学者参考和学习 -
图书管理系统数据库设计实验报告
2018-01-16 09:28:00图书管理系统设计实验报告 PB15051157 茹思淞 一、实验题目及其要求 编写一个图书管理系统,要求具有以下内容: 1)存储图书信息、采购和淘汰情况、租借情况 2)实现图书采购、淘汰... -
图书管理系统数据库详细设计
2018-06-12 14:03:04挺好的资源,大家可以分享一下,不要在意细节. -
图书管理系统数据库实验报告
2009-10-24 13:25:30(1)图书管理系统:查询、添加、删除、修改图书资料,可选择是否显示图书。 (2)图书分类管理系统:图书分类添加、修改、删除管理。 3. 教务管理 (1)学生班级管理系统:学生班级添加、修改、删除管理。 (2... -
图书管理系统数据库版
2017-09-29 14:14:591、系统进行一个分析 ... 图书管理, 添加图书 、修改图书、删除图书、查看图书 读者管理, 读者添加,读者删除,读者基本信息的修改,读者查看列表, 借书,还书 系统管理 -
基于SSM框架的图书借阅预定管理系统 ssm图书管理系统 spring+springmvc+mybatis图书管理系统 数据库mysql ...
2019-12-26 21:45:41图书管理员:登录:以图书管理员的身份登录 图书查询:根据书名、作者、图书类型等关键字搜索图书 借书、还书、续借:管理员可以为读者办理借阅图书,归还图书,对图书续借。 查看借阅记录:可以根据读者学号以及... -
图书管理系统数据库设计详细报告
2009-12-29 10:31:10这次课程设计我们将使用Visual Basic开发SQL Server数据库应用程序 --- 图书管理系统。通过这次课程设计 我们将了解应用程序的实际开发过程,学会运用所学习的知识开发应用程序,为日后的提高打下良好的基础 。 图书...
-
高中地理湘教版必修二人口迁移.docx
-
分享一个自己做的简易敏捷开发管理工具——AgileLite
-
朱老师C++课程第3部分-3.6智能指针与STL查漏补缺
-
基于Flink+Hudi构建企业亿级云上实时数据湖教程(PC、移动、小
-
敏捷软件开发和极限编程介绍
-
常用选择器
-
MySQL 性能优化(思路拓展及实操)
-
答题活动小程序抽奖概率实现方案分享
-
Python什么时候火起来的?(When)
-
Mycat 实现 MySQL的分库分表、读写分离、主从切换
-
鸿蒙系统Harmonyos源码架构分析-第1期第2课
-
Python启蒙到架构师的核心技术精讲课程
-
Study on digital holography with single phase-shifting operation
-
java.lang.IllegalArgumentException: URI scheme is not “file“ 报错解决
-
在 Linux 上构建企业级 DNS 域名解析服务
-
NFS 网络文件系统
-
EL表达式${}中不显示值
-
wide_to_long同时stack多列
-
Frame,Panel,Button
-
Java NIO之通道FileChannel详解