首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库模式设计需要帮助

数据库模式设计需要帮助
EN

Database Administration用户
提问于 2017-02-19 02:04:19
回答 1查看 105关注 0票数 1

我是一个完整的堆栈开发人员,但从来没有真正花时间在数据库设计上。我编写了从DB中检索数据的代码,但从未从头创建过模式。因此,我想做一些附带的项目来了解数据库设计是如何涉及的。

我已经决定创建一个简历生成器应用程序。以下是我曾经考虑过的一些特性:

  • 用户可以注册创建自己的简历。
  • 用户可以有多个简历。(仅适用于付费用户,免费用户仅适用一份简历)
  • 可以从UI (从可用组件)构建简历,并且用户可以将其保存为草稿。
  • 简历可以通过网址发布。
  • 需要计算已发布的简历、统计数据(如访问者数量)。
  • 用户可以删除简历。
  • 用户可以上传他/她的照片。
  • 用户可以添加关于自己的描述。

考虑到所有这些,我想出了一个模式:

https://ibin.co/3CoJEfeQTuAp.png

以下是我要问的问题:

  1. 我对关系数据库管理系统有一定的了解,所以我的模式以数据库为目标,如甲骨文、MySql等,但我们能针对这个问题选择NoSql吗?如果是的话,为什么?
  2. 我的模式正确吗?它能轻松地处理大型数据吗?
  3. 我想以JSON格式保存简历布局(每个简历的布局由用户通过UI决定)。使用JSON数据类型是一个很好的实践吗?
  4. ResumeData表用于存储每个简历的用户数据。为同一张桌子单独摆一张桌子好吗?
  5. 如果第一个问题的答案是RDBMS,那么您更喜欢哪个数据库?我决定使用PostgreSql。

非常感谢你花时间回答这些问题。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2017-02-19 04:21:53

  1. 我建议不要将图像存储在数据库中。
  2. 不要将未加密的密码存储在数据库中。提示:使用pgcrypto
  3. 在PostgreSQL中,不要使用varchar,否则文本就会工作,因为它的实现方式是相同的,只是它没有检查。

除非有充分的理由,否则不要使用JSON数据类型。使用jsonb,您可以对其进行操作和索引。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/164810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档