Files
LM/SQL/library_management.sql

215 lines
12 KiB
MySQL
Raw Normal View History

2026-03-23 08:59:33 +08:00
/*
Navicat Premium Dump SQL
Source Server : home
Source Server Type : MySQL
Source Server Version : 90500 (9.5.0)
Source Host : localhost:3306
Source Schema : library_management
Target Server Type : MySQL
Target Server Version : 90500 (9.5.0)
File Encoding : 65001
Date: 21/03/2026 11:35:12
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for library_management_activity
-- ----------------------------
DROP TABLE IF EXISTS `library_management_activity`;
CREATE TABLE `library_management_activity` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '活动名称',
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '活动描述',
`start_time` datetime NOT NULL COMMENT '开始时间',
`end_time` datetime NOT NULL COMMENT '结束时间',
`location` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '活动地点',
`target_reader_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '面向群体,如“老年,儿童”',
`manager_id` bigint NOT NULL COMMENT '负责人ID',
`max_participants` int NOT NULL DEFAULT 0 COMMENT '最大参与人数',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_manager_id`(`manager_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '活动信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of library_management_activity
-- ----------------------------
-- ----------------------------
-- Table structure for library_management_activity_registration
-- ----------------------------
DROP TABLE IF EXISTS `library_management_activity_registration`;
CREATE TABLE `library_management_activity_registration` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`activity_id` bigint NOT NULL COMMENT '活动ID',
`reader_id` bigint NOT NULL COMMENT '读者ID',
`register_time` datetime NOT NULL COMMENT '报名时间',
`check_in` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否签到0-未签到1-已签到',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_activity_reader`(`activity_id` ASC, `reader_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '活动报名表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of library_management_activity_registration
-- ----------------------------
-- ----------------------------
-- Table structure for library_management_assistance_log
-- ----------------------------
DROP TABLE IF EXISTS `library_management_assistance_log`;
CREATE TABLE `library_management_assistance_log` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`reader_id` bigint NOT NULL COMMENT '读者ID',
`worker_id` bigint NOT NULL COMMENT '工作人员ID',
`assist_time` datetime NOT NULL COMMENT '咨询时间',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '咨询内容',
`notes` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_reader_id`(`reader_id` ASC) USING BTREE,
INDEX `idx_worker_id`(`worker_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '读者咨询记录表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of library_management_assistance_log
-- ----------------------------
-- ----------------------------
-- Table structure for library_management_book
-- ----------------------------
DROP TABLE IF EXISTS `library_management_book`;
CREATE TABLE `library_management_book` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`isbn` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '国际标准书号',
`title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '书名',
`author` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '作者',
`publisher` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '出版社',
`publish_year` int NULL DEFAULT NULL COMMENT '出版年份',
`total_stock` int NOT NULL DEFAULT 0 COMMENT '总副本数',
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '图书简介',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_isbn`(`isbn` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '图书基本信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of library_management_book
-- ----------------------------
-- ----------------------------
-- Table structure for library_management_book_copy
-- ----------------------------
DROP TABLE IF EXISTS `library_management_book_copy`;
CREATE TABLE `library_management_book_copy` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`book_id` bigint NOT NULL COMMENT '所属图书ID',
`barcode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '条形码',
`location` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '存放位置',
`status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '可借' COMMENT '状态:可借/借出/损坏',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_barcode`(`barcode` ASC) USING BTREE,
INDEX `idx_book_id`(`book_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '图书副本表(每本实体书)' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of library_management_book_copy
-- ----------------------------
-- ----------------------------
-- Table structure for library_management_borrow_record
-- ----------------------------
DROP TABLE IF EXISTS `library_management_borrow_record`;
CREATE TABLE `library_management_borrow_record` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`reader_id` bigint NOT NULL COMMENT '读者ID',
`copy_id` bigint NOT NULL COMMENT '副本ID',
`borrow_date` date NOT NULL COMMENT '借出日期',
`due_date` date NOT NULL COMMENT '应还日期',
`return_date` date NULL DEFAULT NULL COMMENT '实际归还日期',
`renew_count` int NOT NULL DEFAULT 0 COMMENT '续借次数',
`operator_id` bigint NOT NULL COMMENT '办理员工ID',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_reader_id`(`reader_id` ASC) USING BTREE,
INDEX `idx_copy_id`(`copy_id` ASC) USING BTREE,
INDEX `idx_operator_id`(`operator_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '借阅记录表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of library_management_borrow_record
-- ----------------------------
-- ----------------------------
-- Table structure for library_management_employee
-- ----------------------------
DROP TABLE IF EXISTS `library_management_employee`;
CREATE TABLE `library_management_employee` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`employee_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '员工工号',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '员工姓名',
`position` tinyint NOT NULL DEFAULT 1 COMMENT '职位1-馆员2-工作人员3-经理',
`contact` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '联系方式',
`hire_date` date NULL DEFAULT NULL COMMENT '入职日期',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_employee_code`(`employee_code` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '员工信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of library_management_employee
-- ----------------------------
-- ----------------------------
-- Table structure for library_management_reader
-- ----------------------------
DROP TABLE IF EXISTS `library_management_reader`;
CREATE TABLE `library_management_reader` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`card_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '读者证号',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '读者姓名',
`age` int NULL DEFAULT NULL COMMENT '年龄',
`reader_type` tinyint NOT NULL DEFAULT 3 COMMENT '读者类型1-老年2-成人3-儿童',
`contact` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '联系方式',
`reg_date` date NULL DEFAULT NULL COMMENT '注册日期',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_card_number`(`card_number` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '读者信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of library_management_reader
-- ----------------------------
SET FOREIGN_KEY_CHECKS = 1;