图书管理系统设计
设计要求:
设计图书管理数据库,基础数据包括图书信息、读者信息、读者借阅图书联系。
画出E-R图,并使用sql实现数据的定义,注意关系的完整性约束条件。
- 需求分析
- 学生可以查看自己借阅的书籍、可以查阅书籍信息。
- 管理可以查看所有学生借阅的书籍。
- 学生归还图书之后,系统自动修改书籍的借阅信息。
- 管理员可以增加、修改、删除图书。
- 管理员可以注销学生信息。
- 具体设计
- E-R图设计
学生实体具有学号、专业、姓名、年龄、性别属性。
图书实体具有图书编号、书名、图书分类、数量、出版日期、登记日期属性。
- R图如下图(1)所示。
- 表结构设计
Book表
Student表
- 系统展示
- 学生表
- 图书表
3.代码展示
/*
Navicat MySQL Data Transfer
Source Server : localhost_3306
Source Server Version : 80012
Source Host : 127.0.0.1:3306
Source Database : class
Target Server Type : MYSQL
Target Server Version : 80012
File Encoding : 65001
Date: 2019-03-27 22:31:27
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for book
-- ----------------------------
DROP TABLE IF EXISTS `book`;
CREATE TABLE `book` (
`id` char(10) NOT NULL,
`name` char(20) NOT NULL,
`subject` char(20) DEFAULT NULL,
`number` int(4) DEFAULT NULL,
`publish_date` date DEFAULT NULL,
`read_date` date DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of book
-- ----------------------------
INSERT INTO `book` VALUES ('a-20', '尼采自转', '哲学', '10', '2017-05-08', '2019-03-10');
INSERT INTO `book` VALUES ('c-20', 'python', '计算机', '10', '2017-05-08', '2019-03-10');
INSERT INTO `book` VALUES ('c-21', 'c', '计算机', '10', '2017-05-08', '2019-03-09');
INSERT INTO `book` VALUES ('c-22', 'java', '计算机', '10', '2017-05-08', '2019-03-04');
/*
Navicat MySQL Data Transfer
Source Server : localhost_3306
Source Server Version : 80012
Source Host : 127.0.0.1:3306
Source Database : class
Target Server Type : MYSQL
Target Server Version : 80012
File Encoding : 65001
Date: 2019-03-27 22:31:34
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int(5) NOT NULL,
`name` char(10) NOT NULL,
`subject` char(10) DEFAULT NULL,
`age` int(2) DEFAULT NULL,
`sex` char(2) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('1', '张三', '计科', '20', '男');
INSERT INTO `student` VALUES ('2', '李四', '计科', '20', '男');
INSERT INTO `student` VALUES ('3', '王五', '计科', '20', '女');