图书管理系统数据库设计-MYSQL实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图书管理系统数据库设计
、系统概述
1、系统简介
图书管理是每个图书馆都需要进行的工作。一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。
2、需求分析
图书管理系统的需求定义为:
1. 学生可以直接通过借阅终端来查阅书籍信息,同时也可以查阅自己的借阅信息。
2. 当学生需要借阅书籍时,通过账号密码登陆借阅系统,借阅系统处理学生的借阅,同时修改图书馆保存的图书信息,修改被借阅的书籍是否还有剩余,同时更新学生个人的借阅信息。
3. 学生借阅图书之前需要将自己的个人信息注册,登陆时对照学生信息。
4. 学生直接归还图书,根据图书编码修改借阅信息
5. 管理员登陆管理系统后,可以修改图书信息,增加或者删除图书信息
6. 管理员可以注销学生信息。通过需求定义,画出图书管理系统的数据流图:
数据流图
学生信息
1、系统功能设计
画出系统功能模块图并用文字对各功能模块进行详细介绍。系统功能模块图:
三、数据库设计方案图表
1、系统E-R模型
精细化的局部E-R 图: 学
生借阅-归还E-R 图:
学生ID 年级
诚信级
学生
专业
学生ID
归还时间H
图书归还表
归还
图书借阅表
图书ID 处罚表
图书ID
学生ID
图书
作者
图书ID
书名
数量
分类
出版社
年龄
C 性别
处罚金额
超期 登记日期
2、设计表
给出设计的表名、结构以及表上设计的完整性约束。
3、设计索引
给出在各表上建立的索引以及使用的语句。
student :
1•为stu」d创建索引,升序排序
sql:create in dex in dex_id on stude nt(stu_id asc);
2•为stu_name仓U建索弓I,并且降序排序
sql:alter table stude nt add in dex in dex_ name(stu_ name, desc);
插入索引操作和结果如下所示:
mysql> create in dex in dex_id on stude nt(stu_id asc);
Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnin gs: 0
mysql> alter table stude nt add in dex in dex_ name(stu_ name desc);
Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnin gs: 0
book:
1•为book_id创建索引,升序排列
sql:create in dex in dex_bid on book(book_id);
2•为book_record创建索引,以便方便查询图书的登记日期信息,升序: sql:create in dex in dex_brecord on book(book_record);
插入索引的操作和结果如下所示:
mysql> create in dex in dex_bid on book(book_id);
Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnin gs: 0
mysql> create in dex in dex_brecord on book(book_record);
Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnin gs: 0
borrow:
1.为stu」d和book_id创建多列索引:
sql:create in dex in dex_sid_bid on borrow(stu_id asc, book_id asc); 插入索引的操作和结果如下所示:mysql> create in dex in dex_sid_bid on borrow(stu_id asc, book_id asc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnin gs: 0
return_table:
1.为stu」d和book_id创建多列索引:
sql:create in dex in dex_sid_bid on retur n_table(stu_id asc, book_id asc); 插入索引的操作和结果如下所示:
mysql> create in dex in dex_sid_bid_r on retur n_table(stu_id asc, book_id asc); Query OK, 0 rows affected
ticket:
1.为stu」d和book_id创建多列索引:
sql:create in dex in dex_sid_bid on ticket(stu_id asc, book_id asc);
插入索引的操作和结果如下所示:
mysql> create in dex in dex_sid_bid on ticket(stu_id asc, book_id asc);
Query OK, 0 rows affected
Records: 0 Duplicates: 0 Warnin gs: 0
man ager:
1.为manager_id 创建索引:
sql:create in dex in dex_mid on man ager(ma nager_id);
插入索引的操作和结果如下所示: