38 lines
1.7 KiB
SQL
38 lines
1.7 KiB
SQL
-- 初始化数据库
|
|
CREATE DATABASE IF NOT EXISTS memora DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
USE memora;
|
|
|
|
-- 标准单词表
|
|
CREATE TABLE IF NOT EXISTS words (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
word VARCHAR(100) NOT NULL UNIQUE COMMENT '单词',
|
|
phonetic_uk VARCHAR(255) COMMENT '英式音标',
|
|
phonetic_us VARCHAR(255) COMMENT '美式音标',
|
|
audio_uk VARCHAR(500) COMMENT '英式音频文件路径',
|
|
audio_us VARCHAR(500) COMMENT '美式音频文件路径',
|
|
part_of_speech VARCHAR(50) COMMENT '词性',
|
|
definition TEXT COMMENT '标准释义',
|
|
example_sentence TEXT COMMENT '例句',
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
INDEX idx_word (word)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 记忆记录表
|
|
CREATE TABLE IF NOT EXISTS memory_records (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
word_id BIGINT NOT NULL COMMENT '关联words表',
|
|
user_id BIGINT DEFAULT 1 COMMENT '用户ID',
|
|
correct_count INT DEFAULT 0 COMMENT '正确次数',
|
|
total_count INT DEFAULT 0 COMMENT '总复习次数',
|
|
mastery_level INT DEFAULT 0 COMMENT '掌握程度 0-5',
|
|
last_reviewed_at TIMESTAMP NULL COMMENT '上次复习时间',
|
|
next_review_at TIMESTAMP NULL COMMENT '下次复习时间',
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
INDEX idx_word_id (word_id),
|
|
INDEX idx_user_id (user_id),
|
|
INDEX idx_next_review (next_review_at),
|
|
FOREIGN KEY (word_id) REFERENCES words(id) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|