# 数据库模式设计(无约束版本) 以下是简化后的数据库模式设计,移除了所有外键约束,仅保留表结构和字段定义: ## 1. users 表(用户表) | 字段名 | 类型 | 描述 | |--------|------|------| | id | VARCHAR(36) | 用户唯一标识 | | username | VARCHAR(50) | 用户名 | | email | VARCHAR(100) | 电子邮箱 | | email_verified | BOOLEAN | 邮箱验证状态 | | password_hash | VARCHAR(255) | 密码哈希值 | | auth_data | JSON | 第三方认证数据 | | nickname | VARCHAR(50) | 用户昵称 | | avatar_url | VARCHAR(255) | 头像URL | | bio | TEXT | 个人简介 | | last_active_at | TIMESTAMP | 最后活跃时间 | | privacy_settings | JSON | 隐私设置 | | created_at | TIMESTAMP | 创建时间 | | updated_at | TIMESTAMP | 更新时间 | ## 2. diaries 表(日记表) | 字段名 | 类型 | 描述 | |--------|------|------| | id | VARCHAR(36) | 日记唯一标识 | | user_id | VARCHAR(36) | 作者ID | | title | VARCHAR(100) | 日记标题 | | content | TEXT | 日记内容 | | mood | VARCHAR(20) | 心情状态 | | tags | JSON | 标签数组 | | is_public | BOOLEAN | 是否公开 | | location | POINT | 地理位置 | | weather | JSON | 天气数据 | | ai_analysis | JSON | AI分析结果 | | created_at | TIMESTAMP | 创建时间 | | updated_at | TIMESTAMP | 更新时间 | ## 3. chat_messages 表(聊天消息表) | 字段名 | 类型 | 描述 | |--------|------|------| | id | VARCHAR(36) | 消息唯一标识 | | sender_id | VARCHAR(36) | 发送者ID | | receiver_id | VARCHAR(36) | 接收者ID | | diary_id | VARCHAR(36) | 关联日记ID | | content | TEXT | 消息内容 | | is_read | BOOLEAN | 是否已读 | | message_type | VARCHAR(20) | 消息类型 | | attachments | JSON | 附件列表 | | created_at | TIMESTAMP | 创建时间 | | updated_at | TIMESTAMP | 更新时间 | ## 4. dynamics 表(动态表) | 字段名 | 类型 | 描述 | |--------|------|------| | id | VARCHAR(36) | 动态唯一标识 | | user_id | VARCHAR(36) | 创建者ID | | diary_id | VARCHAR(36) | 引用日记ID | | content | TEXT | 动态内容 | | images | JSON | 图片列表 | | location | POINT | 地理位置 | | tags | JSON | 标签数组 | | interaction_count | INTEGER | 互动计数 | | created_at | TIMESTAMP | 创建时间 | | updated_at | TIMESTAMP | 更新时间 | ## 5. interactions 表(互动表) | 字段名 | 类型 | 描述 | |--------|------|------| | id | VARCHAR(36) | 互动唯一标识 | | user_id | VARCHAR(36) | 发起用户ID | | target_user_id | VARCHAR(36) | 目标用户ID | | target_type | VARCHAR(20) | 目标类型 | | target_id | VARCHAR(36) | 目标ID | | type | VARCHAR(20) | 互动类型 | | content | TEXT | 互动内容 | | status | VARCHAR(20) | 状态 | | created_at | TIMESTAMP | 创建时间 | | updated_at | TIMESTAMP | 更新时间 | ## 6. thanks_types 表(感恩清单表) | 字段名 | 类型 | 描述 | |--------|------|------| | id | VARCHAR(36) | 清单唯一标识 | | user_id | VARCHAR(36) | 创建者ID | | title | VARCHAR(100) | 清单标题 | | items | JSON | 清单项数组 | | theme_color | VARCHAR(20) | 主题颜色 | | is_shared | BOOLEAN | 是否共享 | | weekly_goal | INTEGER | 每周目标 | | created_at | TIMESTAMP | 创建时间 | | updated_at | TIMESTAMP | 更新时间 | 注:此设计移除了所有外键约束,但仍保留了关联字段(如user_id等),实际应用中需要通过应用程序逻辑来维护数据完整性。