数据库设计:触发器与表间交互
需积分: 0 123 浏览量
更新于2024-08-04
收藏 40KB DOCX 举报
本资源主要介绍了数据库设计中的一些关键概念和操作,涉及到多个表的设计,包括书籍信息、库存状态、封面、入库记录、报损报告、员工信息、入职离职记录、读者信息、凭证信息、积分等级、借阅记录等,并提到了触发器的使用来维护数据的一致性和完整性。
在数据库设计中,"Books" 表存储了书籍的基本信息,如编号、书名、作者、出版时间、出版社、库存数量、主题类别、价格以及状态。为了保护数据的完整性,添加了四个触发器:
1. "del_trigger" 触发器防止直接删除Books表中的元组,避免数据丢失。
2. "alt_trigger" 触发器确保当Books表中的书籍数量更新后,相应地更新"Books_state"表中的可借书数量。
3. "sta_trigger" 触发器在书籍状态变为“下架”时,将"Books_state"中的剩余数量设为0。
4. "insert_trigger" 触发器在Books表中插入新元组后,自动在"Books_state"表中创建对应记录。
"Books_state" 表记录了书籍的馆藏位置、条形码和剩余数量。"zero_trigger" 触发器在借书前检查剩余数量,若为0则阻止借阅。
"Books_cover" 表用于存储书籍的封面图像信息,而"Entry_info" 记录了书籍的入库信息,包括单号、书籍编号、入库时间、入库数量和经手员工号。
"Report_book" 表用于记录报损书籍的信息,包括单号、书籍编号、经手员工号、报损时间和处理时间,以及报损原因和状态。"Staff" 表存储员工的个人信息,包括工号、身份证号、姓名、性别和电话号码。
"Induction_info" 和"Resume_info" 分别记录员工的入职信息和简历,"Quit_info" 记录员工的离职情况。
"Readers" 表存储读者的个人信息,"Credentials" 包含读者的证件信息,如证件号、办理日期、失效日期、密码、信誉积分和累计借书数量。"score_trigger" 触发器在信誉积分变动时,根据规则更新读者状态并记录在"Handle_reader"表中,以便管理员处理。
"Rank_info" 表定义了积分等级及其对应的可借阅数量。"Record" 表记录读者的借阅历史,包括证件号、书籍编号、借阅时间、状态、预期还书时间和实际还书时间。"alterscore" 触发器根据还书状态调整读者的信誉积分。
这些触发器和表设计共同构建了一个完整的图书管理系统,确保了数据的准确性和系统的高效运行。
小崔个人精进录
- 粉丝: 39
最新资源
- 系统开发与运行基础:软件工程与需求分析
- Lua编程艺术:简洁与扩展
- Ant入门指南:Java项目构建与Eclipse集成
- ASP.NET数据验证控件电子书籍详解
- 分片连续算法实现高清晰图像缩放
- 构建基于AJAX的无刷新电子邮件系统
- 入门游戏设计:从 Saving Sera 到编程实践
- C++指针详解:数组、指针数组与多维指针
- WebSphere Portal 6.0与DB2 8.2.5安装与配置指南
- 深入解析J2EE的13大核心技术
- HP SIM 5.2安装与配置指南:Windows版详细教程
- ASP入门教程:动态网站设计揭秘
- C/C++面试笔试深度解析:从基础到高级
- JSP2.0技术入门指南:Java Servlet与JSF基础
- 数据库中的利器:存储过程详解与优势
- ATM与ADSL技术详解:电信网络基础