数据库设计—图书管理数据库系统设计

1、项目简介

图书馆数据库,该项目同时提供pythonweb可视化展示界面,也可提供相关报告数据,可以用来作为数据库系统设计的期末作业

主要设计到如下几个功能:

1.1管理员方面

    增、删、改、挂失图书信息和读者信息; 查看用户信息和图书信息。 登录管理员界面 为读者办理借书还书

1.2读者方面

    登录读者界面 查询借书记录和个人信息

2、项目展示

如下是部分数据流图:

2.1:读者注册

2.2图书上架

2.3图书搜索

2.4图书借阅

2.5借书记录搜索

3、项目数据字典

数据项名 别名 数据类型 说明 读者编号 reader_id varchar(5) PK 读者证的编号按顺序系统分配 姓名 reader_name varchar(20) 读者姓名 性别 sex char(2) 读者性别 出生日期 birthday date 读者出生日期 电话 phone varchar(20) 读者电话 手机 mobile varchar(20) 读者手机 证件名称 card_name varchar(8) 读者的证件可以是身份证学生证等 证件编号 card_id varchar(18) 读者的证件号 会员级别 level varchar(6) 有三个级别,普通银卡金卡 办证日期 day date 即注册日期 读者登录密码 Password(Readers表) varchar(45) 读者登录系统中时使用的密码 图书编号 book_id varchar(5) 图书的编号系统分配 书名 book_name varchar(50) 书的名字 author varchar(20) 出版社 publishing varchar(20) 书的出版社 类别编号 category_id varchar(5) 书的类别编号 单价 price double 书的价格 入库日期 date_in datetime 入库的时间即图书上架时间 库存数量 quantity_in int 上架的书的数量 借出数量 quantity_out int 书借出去的数量 遗失数量 quantity_loss int 书的丢失的数量 出借日期 date_borrow date 书借出去的日期在借阅中生成 应还日期 date_return date 根据会员的级别确定的日期 遗失 loss char(2) 有“否”“是”区分书是否丢失了 类别名称 category varchar(20) 类别的名字如“计算机” 最长出借天数 days smallint 根据会员级别相应天数 最多借书册书 numbers smallint 根据会员级别能借最多的书 会费 fee smallint 会员级别所要的费用(单位:元) 管理员ID User_ID Varchar(20) 管理员登录用ID 管理员密码 Password(admin表) Varchar(20) 管理员登录用密码

4、系统ER图

5、部分数据表设计

CREATE TABLE `admin` (
  `userID` varchar(20) NOT NULL,
  `password` varchar(20) NOT NULL,
  PRIMARY KEY (`userID`,`password`),
  UNIQUE KEY `userID_UNIQUE` (`userID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `book_category` (
  `category_id` varchar(5) NOT NULL DEFAULT ,
  `category` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `books` (
  `book_id` varchar(5) NOT NULL,
  `book_name` varchar(50) NOT NULL,
  `author` varchar(20) DEFAULT NULL,
  `publishing` varchar(20) DEFAULT NULL,
  `category_id` varchar(5) DEFAULT NULL,
  `price` double DEFAULT NULL,
  `date_in` date DEFAULT NULL,
  `quantity_in` int(11) NOT NULL,
  `quantity_out` int(11) NOT NULL,
  `quantity_loss` int(11) NOT NULL,
  PRIMARY KEY (`book_id`),
  KEY `category_id` (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
经验分享 程序员 微信小程序 职场和发展