数据库课程设计:利用pythonMySQLpyqt5设计一个带UI界面的书店管理系统

python3.8、MySQL8.0、pycharm2020.1、datagrip2020.1、pymysql、pyqt5。

书店管理系统需要满足以下需求:对于一般店员来说:①书店店员通过系统管理书籍的购入和卖出,以及查看书籍的存货量②店员可以通过该系统对需要借书和还书的人员进行借书还书操作③新增和删除新的借阅人员信息。对于店长(也就是管理员),除了以上的三种需求之外,还有①增加和删除雇员,②增加和删除系统操作人员账号,③修改雇员的信息。

根据2.1中的需求信息,我们可以设计出以下的基本功能:1.借阅人员信息的输入、查询,包括借阅证ID、姓名、年龄、性别、手机号2.书籍信息的输入和删除包括ISBN、书籍名称、作者、定价3.馆藏书籍信息包括ISBN、收藏量4.书籍的卖出和购入包括书籍的ISBN、卖出量、购入量5.雇员信息的增删查改,包括雇员姓名、性别、年龄、工资

图2.3系统流程图

1)对于book表属性有(ISBN,BookName,Author,Price),其中ISBN为主键,无非主属性对候选键的传递依赖且候选键只有一个,符合BCNF

(2)对于employee表,属性有(employeeid,employname,employsex,employage,employtel,salary),其中employeeid为主键,无非主属性对候选键的传递依赖且候选键只有一个,符合BCNF

(3)对于reader表,属性有(readerid,readername,sex,age,tel)其中readerid为主键,无非主属性对候选键的传递依赖且候选键只有一个,符合BCNF

(4)对于collection表,属性有(isbn,totalnum),其中ISBN不仅为主键也为外键,参考book表中的ISBN。无非主属性对候选键的传递依赖且候选键只有一个,符合BCNF

(5)对于borrow表,属性有(borrowID,date,ISBN,readerID),borrowid为主键,决定了哪个人借了那本书,ISBN和readerid参考了collectionofbook中的isbn以及reader中的readerid,无非主属性对候选键的传递依赖且候选键只有一个,符合BCNF

(6)对于return表,属性有(returnID,ISBN,readerID,date),returnid为主键,决定了哪个人借了那本书,ISBN和readerid参考了collectionofbook中的isbn,以及reader中的readerid,无非主属性对候选键的传递依赖且候选键只有一个,符合BCNF

(7)对于sell表和purchase表,属性有(sellid,ISBN,alreadysold,price)和(purchaseid,ISBN,num,price),无非主属性对候选键的传递依赖且候选键只有一个,符合BCNF

更新于2020/12/14,修改了一些bug,对程序运行可能出现的一些错误进行了说明和修改,具体内容可见GitHub上readme

THE END
1.设计一个图书管理系统数据库数据库缓存:我们可以使用缓存技术,将常用的数据缓存到内存中,以提高查询速度。 五、总结 设计一个图书管理系统数据库需要进行需求分析、数据库设计、数据库实现和数据库优化等步骤。通过合理的数据库设计和优化,可以提高图书管理系统的性能,提高图书馆的服务质量。https://www.dugusoft.com/zixun/zixun1351.html
1.银行储蓄系统mysql设计mob649e815e6170的技术博客在开发一个银行储蓄系统时,MySQL 数据库的设计是至关重要的一步。良好的数据库设计能够确保数据的完整性与高效性。接下来,我将引导你完成这个过程,并分享如何进行数据库设计的步骤和相应的代码示例。 项目流程概述 为了实现这个银行储蓄系统,我们可以将整个过程分为几个关键步骤。以下是一个初步的项目流程,保证你清晰...https://blog.51cto.com/u_16175475/12530838
2.创建单一数据库本快速入门使用无服务器数据库,因此将“服务层”设置为“常规用途(最具预算优势的无服务器计算)”,将“计算层”设置为“无服务器”。 选择“应用”。 在“备份存储冗余”下,为将保存备份的存储帐户选择一个冗余选项。 有关详细信息,请参阅备份存储冗余。 https://azure.microsoft.com/documentation/articles/sql-database-get-started/
3.MySQL数据库实验实现简单数据库应用系统设计Mysql这篇文章主要介绍了MySQL数据库实验实现简单数据库应用系统设计,文章通过理解并能运用数据库设计的常见步骤来设计满足给定需求的概念模和关系数据模型展开详情,需要的朋友可以参考一下+ 目录 GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用!【 如果你想靠AI翻身,你先需要一个靠谱的工具!】 观前提示:本篇内容为...https://www.jb51.net/article/252268.htm
4.收藏100道Linux面试题附答案腾讯云开发者社区一、Linux 概述 什么是Linux Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 https://cloud.tencent.com/developer/article/2142555
5.PowerDesigner中实现CDM(概念模型)设计并转化为PDM(物理模型...关系数据库从应用以来,一直是数据关系系统数据存储方式的不二选择,本博文是在一个关系数据库学习过程中对一个简单的关系数据库进行系统分析和模型设计的基础上,应用数据建模工具PowerDesigner工具来描叙概念数据模式CDM图,并转化成特定数据库中的物理数据模式的过程PDM,其中包括对Powerdesigner工具的使用方法的简单讲解,及从...https://download.csdn.net/download/trudream/4863607
6.全国计算机二级考试哪个最简单全国计算机二级考试是全国计算机等级考试简称NCRE,是四个等级中的一个等级。包含语言程序设计,包括C、C++、Java、Visual Basic、WEB程序设计;数据库程序设计(包括VisualFoxPro、Access、MySql);MS office高级应用包括Word、EXCEL、PPT办公软件高级应用。计算机二级考试哪个最简单?下面百分网小编带大家一起来看看详细内容,希望...https://www.oh100.com/kaoshi/ncre2/tiku/482381.html
7.软件工程导论作业基本原理: 1.用分阶段的生命周期计划严格管理 2.坚持进行阶段评审 3.实行严格的产品控制 4.采用现代程序设计的技术 5.结果应能清楚地审查 6.开发小组的人员应该少而精 7.承认不断改进软件工程实践的必要性。 1.3 什么是软件?它有什么特点? 答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据结...https://www.unjs.com/zuixinxiaoxi/ziliao/20170805000008_1416273.html
8.案例数据库设计9篇(全文)校企合作的此类实训项目中,进行数据库设计与实现所用知识、技术,基础来自于校内所学,但又远高于校内简单的数据库理论知识,是学生按软件工程流程做项目开发最重要的一个环节,数据库设计的好坏,直接影响后期软件开发和维护。 摘要:该文介绍了如何使用UML进行数据库设计。首先建立静态模型,然后根据映射策略将模型映射为数据...https://www.99xueshu.com/w/ikey3pf3ms57.html
9.2010年7月电子商务全国自主考试(互联网数据库)真题自考4.在分布式数据库系统中,数据的共享有两个层次:___和全局共享。 5.按复杂程度可将多媒体数据模型分为三种:简单型、复杂型和___。 6.VBScript变量中,包含一系列值的变量称为___变量。 7.SQL语言中,___语句的主要作用是提交事务。 8.在数据字典中,反映数据之间组合关系的是___。 https://www.educity.cn/zikao/28669.html
10.保障性理论基础与保障性分析目标相对应,保障性分析应用于两个方面:一是提出有关保障性的设计因素;二是确保建立优化的保障系统与保障体制。前者是根据装备的任务需求,确定战备完好性与保障性目标,进而提出与确定可靠性、维修性、测试性、运输性等有关保障性的设计要求,以影响装备的设计,这是将保障性考虑有效地纳入装备设计,使研制的...https://mp.ofweek.com/im/a645693221836
11.NavicatDataModeler优越的数据库模型和设计工具使用模型转换功能,你可以将一个概念业务级别的模型转换为逻辑关联数据库模型,然后转换为物理数据库。从草拟你的系统设计大纲,到查看关系和设置链接的实体、表和视图的属性和字段。你可以轻松地配置精确的改变到数据库结构,并创建有组织和更有效的数据库系统。https://www.navicat.com.cn/products/navicat-data-modeler