图书借阅系统数据库设计与触发器应用

需积分: 29 7 下载量 141 浏览量 更新于2024-09-08 1 收藏 219KB DOC 举报
在本次数据库实习中,我们针对图书借阅系统的需求进行了详细的设计与实现。首先,为了管理读者和图书的相关信息,我们构建了两个核心表:读者信息表和图书信息表。这两个表负责存储读者的个人信息(如学号、姓名、性别、类别编号等)和图书的信息(如图书条码、类别编号、书名、作者、出版社等),并支持增删改查操作。 为了进一步细化管理和便于分类,我们还创建了读者分类表和图书分类表,用于划分不同类型的读者和图书,便于图书馆管理员进行分类管理。在实际借阅过程中,我们需要跟踪每本书的借阅和归还状态,为此,我们设计了借阅表和归还表,记录每次借阅和归还事件。 重点部分是我们在读者图书借阅表和读者图书归还表上设置了触发器。当读者借书时,触发器会自动更新对应图书的库存量,使其减少1;相反,当读者还书时,库存量会相应增加1。这种实时的库存管理确保了图书信息的准确性,同时也减轻了人工记账的工作负担。 需求分析阶段,我们明确了系统的几个关键功能: 1. 图书借阅管理:系统应支持图书馆管理员按图书分类和库存位置查找书籍,方便管理。读者则可以通过查询功能获取图书基本信息,以便选择和预约。 2. 数据信息管理:包括读者基本信息的录入、查询和修改,读者类别的设置和管理,以及图书库存的详细信息记录,包括图书类别、数量和位置等。 通过这次实习,我们不仅加深了对数据库设计的理解,也锻炼了我们在实际场景中应用数据库技术的能力,为图书馆的信息化管理提供了有力支持。
2018-07-13 上传
该代码文件用于本科生计算机科学与技术专业数据库课程设计,图书借阅管理子系统,数据库用户名sa,密码gsw,数据库名名称BookManageSystem,这些都可以在DButil.java文件中修改。功能有学生账号注册登录借书还书,罚款计算,同时设有管理员,账号固定在login.Java代码中为administrator,密码password,可自行在代码中修改,管理员可查询图书情况,学生账户情况,修改图书信息等等功能,内容十分简单,十分适合大二大三本科生参考 设计本系统模拟学生在图书馆借阅图书的管理内容,包括查询图书、借书、借阅后的查询、统计、超期罚款等的处理情况,简化的系统需要管理的情况如下: 1、可随时查询出可借阅图书的详细情况,如图书编号(BNO)、图书名称(BNA)、出版日期(BDA)、图书出版社(BPU)、图书存放位置(BPL)、图书总数量(BNU)等,这样便于学生选借。 2、学生查询图书情况后即可借阅所需图书,可借阅多种图书,每种图书一般只借一本,若已有图书超期请交清罚金后,才能开始本次借阅; 3、为了唯一标识每一学生,图书室办借书证需如下信息:学生姓名(SNA)、学生系别(SDE)、学生所学专业(SSP)、借书上限数(SUP)及唯一的借书证号(SNO)。 4、每学生一次可借多本书,但不能超出该生允许借阅上限数,每个学生可多次借阅,允许重复借阅同一本书。规定借书期限为二个月,超期每天罚二分。 5、学生可以进行借阅、续借、归还和查询书籍。借阅时要登记相应的借书日期;归还时要记录还书日期;续借相当于归还书后重新借阅。 根据以上信息完成如下要求: 1、请认真作系统需求分析,设计出反映本系统的E-R图(需求分析、概念设计)。 2、写出已设计E-R图相应的关系模式,根据设计需要还可增加辅助关系模式,并找出各关系模式的关键字(逻辑设计)。 3、在已设计的关系模式基础上开发设计功能子系统,要求子系统能完成如下功能要求(物理设计、设施与试运行): 1)在某数据库管理系统中建立各关系模式对应的库表,并设计所需的视图、索引等。 2)能对各库表进行输入、修改、删除、添加、查询、打印等基本操作。 3)能根据学生要求借阅图书库中有的书,并完成一次借阅任务后汇总已借书本总数,报告还可借书量,已超期的需付清罚款金额后才可借书。 4)能明细查询某学生的借书情况及图书的借出情况。 5)能统计出某图书的总借出数量与库存量及某学生借书总数,当天为止总罚金。 6)其他你认为子系统应有的查询、统计功能。