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