2024年3月20日发(作者:)

图书管理系统数据库设计

一、系统概述

1、系统简介

图书管理是每个图书馆都需要进行的工作。一个设计良好的图书管理系统数据库能够给图

书管理带来很大的便利。

2、需求分析

图书管理系统的需求定义为:

1.学生可以直接通过借阅终端来查阅书籍信息,同时也可以查阅自己的借阅信息。

2.当学生需要借阅书籍时,通过账号密码登陆借阅系统,借阅系统处理学生的借阅,同时修改

图书馆保存的图书信息,修改被借阅的书籍是否还有剩余,同时更新学生个人的借阅信息。

3.学生借阅图书之前需要将自己的个人信息注册,登陆时对照学生信息。

4.学生直接归还图书,根据图书编码修改借阅信息

5.管理员登陆管理系统后,可以修改图书信息,增加或者删除图书信息

6.管理员可以注销学生信息。

通过需求定义,画出图书管理系统的数据流图:

数据流图

二、系统功能设计

画出系统功能模块图并用文字对各功能模块进行详细介绍。

系统功能模块图:

三、数据库设计方案图表

1、系统E-R模型

总体E-R图:

精细化的局部E-R图:

学生借阅-归还E-R图:

管理员E-R图:

2、设计表

给出设计的表名、结构以及表上设计的完整性约束。

student:

列名

stu_id

stu_name

stu_sex

stu_age

stu_pro

stu_grade

stu_integrity

book:

列名

book_id

book_name

book_author

数据类型

int

varchar

varchar

是否为空/性质

not null / PK

not null

not null

说明

唯一书籍序号

书籍名称

书籍作者

数据类型

int

varchar

varchar

int

varchar

varchar

int

是否为空/性质

not null /PK

not null

not null

not null

not null

not null

not

null/default=1

说明

标明学生唯一学号

学生姓名

学生性别

学生年龄

学生专业

学生年级

学生诚信级

book_pub

book_num

book_sort

book_record

book_sort:

列名

sort_id

sort_name

列名

student_id

book_id

borrow_date

varchar

int

varchar

datatime

数据类型

varchar

varchar

数据类型

varchar

varchar

datatime

not null

not null

not null

null

是否为空/性质

not null / PK

not null

是否为空/性质

not null / PK

not null / PK

null

null

是否为空/性质

not null / PK

not null / PK

null

null

是否为空/性质

not null / PK

not null / PK

null

null

是否为空/性质

not null / PK

not null

not null

not null

书籍出版社

书籍是否在架上

书籍分类

书籍登记日期

说明

类型编号

类型名称

说明

学生编号

书籍编号

借书时间

预期归还时间

说明

学生编号

书籍编号

借书时间

实际还书时间

说明

学生编号

书籍编号

超期天数

处罚金额

说明

管理员编号

管理员姓名

管理员年龄

管理员电话

borrow:存储学生的借书信息

expect_return_date datetime

return_table:存储学生的归还信息

列名

student_id

book_id

borrow_date

return_date

列名

student_id

book_id

over_date

ticket_fee

manager:

列名

manager_id

manager_name

manager_age

manager_phone

数据类型

varchar

varchar

varchar

varchar

数据类型

varchar

varchar

datetime

datatime

数据类型

varchar

varchar

int

float

ticket:存储学生的罚单信息

3、设计索引

给出在各表上建立的索引以及使用的语句。

student:

1.为stu_id创建索引,升序排序

sql:create index index_id on student stu_id asc ;

2.为stu_name创建索引,并且降序排序

sql:alter table student add index index_name stu_name, desc ;

插入索引操作和结果如下所示:

mysql> create index index_id on student stu_id asc ;

Query OK, 0 rows affected

Records: 0 Duplicates: 0 Warnings: 0