2020-07-03:简单的图书管理系统(Python、SQL Server)


一、课题设计的基本内容

经过对图书管理系统的分析,因图书数量、规模大,管理信息量大,建立图书管理系统是为了解决人工手动管理图书信息在实践的问题。这里把系统的层次划分为了四个部分:图书维护,人员信息管理,图书借阅管理,信息查询。通过需求分析所得的信息如下:

  1. 处理对象:
    读者信息:读者编号,姓名,性别,学号,学院,专业,年级,类型,类别编号,办证日期
    管理员信息:管理员编号,姓名,性别,电话
    馆藏图书信息:图书编号,图书名称,作者,出版社,单价,摘要,关键字,副本数,分类,出版日期,状态
    借阅信息:图书编号,读者编号,借阅日期,应还日期,罚金
    借阅历史信息:图书编号,读者编号,借阅日期,应还日期, 归还日期,罚金
    罚款信息:读者编号,图书编号,借阅日期,应还日期,归还日期,罚款金额,处理状态,管理员编号

  2. 处理功能及要求
    用户对图书管理系统的功能及要求如下:
    1)能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:

     a) 进行新书入库、现有图书信息修改以及删除;
     b)能够实现对读者基本信息的查询和编辑管理;
     c)能够进行超期罚款功能;
     d)能够进行借阅信息的查询功能;
    

    2)能够对一定数量的读者、管理员进行相应的信息存储与管理,这其中包括:

     a)读者信息的登记、删除及修改。
     b)管理员信息的增加、删除及修改。
     c)读者资料的统计与查询。
    

    3)能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。
    4)对查询、统计的结果能够列表显示。

二、设计工具及系统运行环境

	Win10:操作系统
	Power designer:建立R-R模型
	SQL Server:建立数据库,编辑基本数据类
	Python:操作界面

三、数据库设计E-R模型

  1. 各E-R图各实体的属性如下所示:
    图书:Book(BookID,BookName,BookWriter,BookPublish,BookPrice,BookDate,BookClass,BookMain,BookPrim,BookCopy,BookState,BookRNo) 
    读者:Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType,ReaDep,ReaGrade,ReaPref,ReaDate) 
    管理员:Maneger (MID,MName,MSex,MTeleph) 
    读者类别:ReaderTpye(LBID,LBName,LBnum,LBbqx,LBqx) 
    馆室: Room(RoomNo,RoomMID,RoomNum,RoomAddre) 
    借阅信息:Borrow(BookID,ReaderID,Outdate,Indate,YHdate,Fine,CLStaer,MID) 
    罚款信息:Fine(BookID,ReaderID,Outdate,Indate,Fine)

在这里插入图片描述

四、软件主要功能设计(附上成品截图)

  1. 登录窗口:用户名为管理员id,密码为123456
在这里插入图片描述 在这里插入图片描述
  1. 登录成功,进入操作界面
    在这里插入图片描述
    在这里插入图片描述

  2. 部分操作结果:
    1)增
    在这里插入图片描述
    在这里插入图片描述

    2)删
    在这里插入图片描述
    在这里插入图片描述

    3)查多

在这里插入图片描述
在这里插入图片描述

五、代码

  1. SQL Sever代码:

--数据库
create database BOOK;    --建立数据库


--表
use BOOK;

create table ReaderType     --读者类别
( 	LBID     char(5)  primarykey,--读者类别编号
	LBName  char(20)notnull,--读者类别名
	LBnum   char(5)  default(3),--允许借阅最大图书数
	LBbqx    char(4)  default(30),--持有图书最长期限
	LBqx     char(3)  notnull			--借阅证期限
)

create table Maneger   --管理员
( 
	MID   char(10)  primarykey,		--管理员编号
	MName char(10)  notnull,--姓名
	MSex  char(2) default('男'),--性别
	MTeleph char(15),					--电话
	check(MSex ='男'or MSex ='女'),
	check(len(MTeleph)=11 or len(MTeleph)=8 or len(MTeleph)=0)
)

createtable Room     --图书馆室
( 
	RoomNo    char(5)  primarykey,--馆室号
	RoomMID   char(10)notnull,--馆室管理员编号
	Roomnum   char(5),--拥有图书数
	RoomAddre  char(20)
  • 5
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
SQL数据库项目示例,该项目包含源码和课程设计主题。DROP DATABASE IF EXISTS `BOOK_SYSTEM`; -- 创建DATABASE CREATE DATABASE BOOK_SYSTEM; -- 使用BOOK_SYSTEM USE BOOK_SYSTEM; -- 用户表 CREATE TABLE IF NOT EXISTS `T_USER` ( `ID` int AUTO_INCREMENT NOT NULL, `USER_NAME` varchar(20), `USER_PASSWORD` varchar(20), PRIMARY KEY (`ID`) ); INSERT INTO `T_USER` VALUES ('1', 'crazyit', 'crazyit'); -- 书种类 CREATE TABLE IF NOT EXISTS `T_BOOK_TYPE` ( `ID` int AUTO_INCREMENT NOT NULL, -- 主键生成策略为自动增长 `TYPE_NAME` varchar(50), -- 种类名称 `TYPE_INTRO` varchar(200), -- 种类简介 PRIMARY KEY (`ID`) ); -- 出版社 CREATE TABLE IF NOT EXISTS `T_PUBLISHER` ( `ID` int AUTO_INCREMENT NOT NULL, -- 主键生成策略为自动增长 `PUB_NAME` varchar(50), -- 出版社名称 `PUB_TEL` varchar(50), -- 联系电话 `PUB_LINK_MAN` varchar(50), -- 联系人 `PUB_INTRO` varchar(200), -- 简介 PRIMARY KEY (`ID`) -- 声明主键 ); -- 书 CREATE TABLE IF NOT EXISTS `T_BOOK` ( `ID` int AUTO_INCREMENT NOT NULL, -- ID字段,自增 `BOOK_NAME` varchar(50), -- 书名称 `BOOK_INTRO` varchar(200), -- 书简介 `BOOK_PRICE` double, -- 书的单价 `TYPE_ID_FK` int NOT NULL, -- 种类外键 `PUB_ID_FK` int NOT NULL, -- 出版社外键 `IMAGE_URL` varchar(200), -- 缩略图URL `AUTHOR` varchar(200), -- 作者 `REPERTORY_SIZE` bigint(10), -- 库存数量 FOREIGN KEY (`TYPE_ID_FK`) REFERENCES `T_BOOK_TYPE` (`ID`), -- 声明种类的外键 FOREIGN KEY (`PUB_ID_FK`) REFERENCES `T_PUBLISHER` (`ID`), -- 声明出版社外键 PRIMARY KEY (`ID`) ); -- 交易记录表, 一个交易记录包括多个书的销售记录, 一次交易可能有多本书 CREATE TABLE IF NOT EXISTS `T_SALE_RECORD` ( `ID` int AUTO_INCREMENT NOT NULL, `RECORD_DATE` datetime,-- 交易日期 PRIMARY KEY (`ID`) ); -- 书的销售记录, 一条记录对应一本书 CREATE TABLE IF NOT EXISTS `T_BOOK_SALE_RECORD` ( `ID` int AUTO_INCREMENT NOT NULL, `BOOK_ID_FK` int, -- 销售的书 `T_SALE_RECORD_ID_FK` int, -- 该书的销售记录所对应的交易记录 `TRADE_SUM` int(10), -- 销售数量 FOREIGN KEY (`BOOK_ID_FK`) REFERENCES `T_BOOK` (`ID`), FOREIGN KEY (`T_SALE_RECORD_ID_FK`) REFERENCES `T_SALE_RECORD` (`ID`), PRIMARY KEY (`ID`) ); -- 入库记录表, 一次入库会入多本书 CREATE TABLE IF NOT EXISTS `T_IN_RECORD` ( `ID` int AUTO_INCREMENT NOT NULL, `RECORD_DATE` datetime, -- 入库日期 PRIMARY KEY (`ID`) ); -- 书的入库记录 CREATE TABLE IF NOT EXISTS `T_BOOK_IN_RECORD` ( `ID` int AUTO_INCREMENT NOT NULL, -- ID自增 `BOOK_ID_FK` int, -- 入库的书 `T_IN_RECORD_ID_FK` int, -- 对应的入库记录 `IN_SUM` int(10), -- 入库数量 FOREIGN KEY (`BOOK_ID_FK`) REFERENCES `T_BOOK` (`ID`), -- 声明书的外键 FOREIGN KEY (`T_IN_RECORD_ID_FK`) REFERENCES `T_IN_RECORD` (`ID`), -- 声明入库记录外键 PRIMARY KEY (`ID`) );
### 回答1: Python是一种功能强大且易于学习和使用的编程语言,它可以被用于开发各种各样的应用程序,其中包括桌面应用程序。桌面图书管理系统就是一种典型的桌面应用程序。通过使用PythonSQL Server,我们可以轻松开发一个高效的桌面图书管理系统。 基于Python实现的桌面图书管理系统需要使用PyQt库或Tkinter库等GUI工具包来开发图形用户界面。同时需要使用SQL Server作为数据库,用于存储有关图书的信息。 图书管理系统需要实现的一些基本功能包括图书的添加、删除、修改和查询等功能。这些功能通过与SQL Server数据库的交互来实现。开发人员可以使用Python中的ODBC模块或pymssql库等数据库API来连接SQL Server,执行SQL操作实现对数据库中数据的增删改查。 在开发基于Python的桌面图书管理系统时,应尽可能简化用户界面和数据库交互过程,以提高整个系统的易用性和性能。同时,还应该实现用户权限管理、数据备份和恢复等功能,以保证系统的可用性和数据安全性。 总之,基于Python实现的桌面图书管理系统sqlserver能够快速开发高效的图书管理系统,丰富的Python库和SQL Server数据库的支持可以帮助开发人员轻松实现各种功能和优化设计方案。 ### 回答2: 基于Python,我们可以很容易地实现一个桌面图书管理系统,它能够与SQL Server数据库进行交互,实现数据的存储和管理。以下是具体的操作步骤: 1. 安装PythonSQL Server数据库:先安装Python环境和SQL Server数据库,并将Python数据库进行连接。可以使用pymssql等库。 2. 数据库设计:设计一个book表,包含书籍的编号、名称、作者、出版社、价格等信息。可以在SQL Server数据库中创建该表格。 3. Python编程:编写Python程序,实现以下功能: - 添加图书:用户输入图书的相关信息,程序将其插入到SQL Server数据库的book表中。 - 删除图书:用户输入图书的编号,程序将其从SQL Server数据库的book表中删除。 - 修改图书信息:用户输入要修改图书的编号和要修改的信息,程序将其更新到SQL Server数据库的book表中。 - 查询图书信息:用户选择查询条件,程序从SQL Server数据库的book表中筛选出符合条件的书籍信息,并输出。 4. 用户界面设计:使用tkinter等库,设计一个GUI界面,方便用户进行输入和查询。 综上所述,基于Python实现的桌面图书管理系统非常方便,可以提高图书管理的效率和准确性。同时,结合SQL Server数据库,用户可以快速地存储和管理大量的书籍数据。 ### 回答3: 基于Python实现的桌面图书管理系统需要连接到SQL Server数据库来实现数据存储和管理。首先,需要安装Python的ODBC模块,以便使用ODBC驱动程序连接到SQL Server数据库。同时,需要使用SQL Server Management Studio创建数据库,并建立包含必要表格的数据库架构。 在Python代码中,可以使用pyodbc模块来连接到SQL Server数据库。使用ODBC连接字符串指定数据库服务器和数据库名称,用户名和密码来建立连接。可以使用该连接对象执行SQL查询,并获取数据库中的图书信息。将这些信息存储在内存中,以便用户可以从桌面应用程序中检索,编辑和删除数据。 对于图书信息的管理,可以定义Python类来表示图书,并在桌面应用程序中检索和显示数据。可以使用Tkinter模块设计用户界面,并使用这些类来实现添加,编辑和删除操作。 在整个系统中,必须确保安全性和数据一致性。可以使用SQL Server的安全功能来防止未经授权的访问,并执行数据备份以确保在紧急情况下能够进行恢复操作。还可以编写Python代码来确保从桌面应用程序中对数据的操作不会破坏数据库的完整性。 综上所述,基于Python实现的桌面图书管理系统SQL Server需要先建立数据库、连接以及使用pyodbc模块来连接到SQL Server数据库。同时,设置用户界面并使用Python类来管理数据。最后,为确保数据的一致性和完整性,需要考虑安全性和备份操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

门牙磕掉了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值