数据库:PostgreSQL
目的功能:主要用于管理用户上传文件处理
1、对于文件 hash ( SHA256 )相同的文件只保留一份,在文件系统中根据上传时间多级目录存储;
2、假如用户 A 上传了文件 A,但是如果用户 B 并没有上传过 A,则不能访问文件 A,如果用户 B 上传了文件 A(此时秒上传)就可以访问文件 A。
根据此需求设计了 2 个表(隐含 user 表,此处省略):
1、file_path (其余省略)
① id:自增唯一主键,整数
② hash: 主键非空,固定长度字符串,同时上传的文件将会被重名为该值+原文件名后缀
③ path:非空字符串,磁盘相对路径
2、file_match (简化)
① id:自增唯一主键,整数
② fid: 等效于
file_path.id ③ uid:等效于
user.id在设计查询语句时,怎么写比较好?
1、给出 uid、hash 时,得到文件路径
子查询?视图?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/561042
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.