图书售卖系统设计与实现

需积分: 0 0 下载量 187 浏览量 更新于2024-08-05 收藏 940KB PDF 举报
"该资源是中山大学数据与计算机科学学院谷正阳的一份关于图书售卖系统的设计和实现的报告,日期为2021年1月15日。报告主要涵盖了系统的功能简介、数据库模式设计、触发器以及可能出现的数据不一致问题。" 1 功能简介 图书售卖系统是一个综合性的应用,主要目标是提供图书销售服务。系统包含以下关键功能: 1. 管理员管理:允许创建管理员用户,这些用户具有管理数据库的权限,能够进行数据的增删改查等操作。 2. 用户注册:支持创建普通用户账户,供用户进行图书购买和其他操作。 3. 购书功能:如果库存充足,用户可以购买图书。 4. 评价功能:已购书的用户可以对所购图书进行评价,提供反馈。 5. 书单推荐:系统允许创建书单,包含书单标题和描述,供所有用户参考,用户可以根据书单推荐购买书籍。 2 具体实现 在实现过程中,涉及了数据库模式设计和触发器的使用: 2.1 模式设计 2.1.1 ER图(实体关系图):ER图是系统设计初期用来表示实体间关系的图形工具,可能包括用户(BSUSER)、作者(AUTHOR)和书籍(BOOK)等实体,以及它们之间的联系。 2.1.2 模式转化:根据ER图,将实体转化为具体的数据库表格。例如,BSUSER表用于存储用户信息,包括用户名、密码、地址和是否为管理员的标识;AUTHOR表存储作者信息,包含作者ID和姓名;BOOK表则记录书籍的基本信息,如ISBN、书名、作者ID和库存量,并且库存量有大于等于0的约束,同时定义了外键关联到AUTHOR表。 2.2 触发器 2.2.1 评论触发器:可能用于在用户评价图书时自动更新相关数据,例如,记录评价时间、评价内容,或者更新书籍的平均评分等。 2.2.2 交易触发器:可能涉及到交易完成后,如更新书籍库存数量,记录交易详情,以及发送通知等操作。 2.3 可能出现的不一致问题 系统设计中需要考虑数据一致性,防止因并发操作或异常情况导致的数据错误。例如,当多个用户同时尝试购买同一本库存不足的书籍时,可能会出现超卖现象。通过事务管理和并发控制机制,如锁和乐观锁,可以减少这类问题的发生。 这个图书售卖系统设计涵盖了用户管理、商品管理、交易处理和数据一致性等多个方面,通过合理的数据库设计和触发器的应用,旨在提供稳定、安全的图书销售服务。