Files
LM/SQL/library_management.sql
2026-03-23 08:59:33 +08:00

215 lines
12 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
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;