云盘数据库设计
用户表 (users)
字段名 | 数据类型 | 约束 | 描述 |
user_id | INT | PRIMARY KEY | 用户ID(自增) |
username | VARCHAR(50) | NOT NULL, UNIQUE | 用户名 |
password | VARCHAR(255) | NOT NULL | 密码(加密存储) |
email | VARCHAR(255) | NOT NULL, UNIQUE | 邮箱地址 |
created_at | TIMESTAMP | CURRENT_TIMESTAMP | 创建时间 |
文件表 (files)
字段名 | 数据类型 | 约束 | 描述 |
file_id | INT | PRIMARY KEY | 文件ID(自增) |
user_id | INT | NOT NULL, FOREIGN KEY | 用户ID(外键) |
parent_id | INT | NULL, FOREIGN KEY | 父文件夹ID(外键) |
name | VARCHAR(255) | NOT NULL | 文件名 |
type | ENUM('file', 'folder') | NOT NULL | 文件类型 |
size | BIGINT | NOT NULL | 文件大小(字节) |
uploaded_at | TIMESTAMP | CURRENT_TIMESTAMP | 上传时间 |
文件夹表 (folders)
字段名 | 数据类型 | 约束 | 描述 |
folder_id | INT | PRIMARY KEY | 文件夹ID(自增) |
user_id | INT | NOT NULL, FOREIGN KEY | 用户ID(外键) |
parent_id | INT | NULL, FOREIGN KEY | 父文件夹ID(外键) |
name | VARCHAR(255) | NOT NULL | 文件夹名称 |
created_at | TIMESTAMP | CURRENT_TIMESTAMP | 创建时间 |
共享表 (shares)
字段名 | 数据类型 | 约束 | 描述 |
share_id | INT | PRIMARY KEY | 共享ID(自增) |
file_id | INT | NOT NULL, FOREIGN KEY | 文件ID(外键) |
user_id | INT | NOT NULL, FOREIGN KEY | 用户ID(外键) |
permission | ENUM('view', 'edit', 'delete') | NOT NULL | 权限级别 |
shared_at | TIMESTAMP | CURRENT_TIMESTAMP | 共享时间 |
5. 文件历史记录表 (file_history)
字段名 | 数据类型 | 约束 | 描述 |
history_id | INT | PRIMARY KEY | 历史记录ID(自增) |
file_id | INT | NOT NULL, FOREIGN KEY | 文件ID(外键) |
user_id | INT | NOT NULL, FOREIGN KEY | 用户ID(外键) |
action | ENUM('upload', 'download', 'edit', 'delete') | NOT NULL | 操作类型 |
action_time | TIMESTAMP | CURRENT_TIMESTAMP | 操作时间 |
回收站表 (trash)
字段名 | 数据类型 | 约束 | 描述 |
trash_id | INT | PRIMARY KEY | 回收站ID(自增) |
file_id | INT | NOT NULL, FOREIGN KEY | 文件ID(外键) |
user_id | INT | NOT NULL, FOREIGN KEY | 用户ID(外键) |
deleted_at | TIMESTAMP | CURRENT_TIMESTAMP | 删除时间 |
是一个简单的云盘数据库设计方案,涵盖了用户管理、文件管理、文件夹管理、共享功能以及文件历史记录和回收站功能,根据具体需求,可以进一步优化和扩展。
小伙伴们,上文介绍php云盘数据库设计_云盘的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/84170.html