首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何针对这一问题设计数据库ER-图

如何针对这一问题设计数据库ER-图
EN

Stack Overflow用户
提问于 2010-08-11 03:14:44
回答 1查看 543关注 0票数 0

我有一些具体的问题要解决,但我无法思考。

我有5-6个语句需要存储在我的数据库中。这个系统就像新闻馈送。

  1. 语句1:A安装了该网站。<代码>>H 113语句3:E 114BE 215评审E 116存储RE 217H 218H 119语句4:E 120AE 221编辑的E 122/代码>存储R
  2. Statement 5:E 126/code>AE 227/code>添加E 128//code>产品P<>代码>< product_category1
  3. Statement >E 229/>代码>在product_category1
  4. Statement 6中<>E134/B>< in >< P

>代码>检查>代码><>产品<>

  • 语句2><

  • 语句2:添加存储R H 119语句4:E 120BE 122/code>存储P

5:E 126/code>AE227>添加E 128H 218<product_category1

  • Statement>H 119语句4:E 120AE 122/code>存储P

5:E 126/code>A添加E 128产品P>P<>代码>E 229/>代码>在product_category1

  • Statement 6中<>E134/B>

>>代码><>代码>产品<>

  • 语句2:

  • 语句2:

请注意,粗体是动态数据,如A,B是一些preson的名称,存储R是存储的人添加的商店名称。

在我看来,我

  • person_table(id,名称,年龄,...)
  • store_table(sid,store_name,province_id,...)
  • product_table(pid,product_name,.)

那feed_table呢?

如何设计数据库来存储这些数据。以及如何查询这些数据来查看。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-11 03:19:32

解决这类问题的方法有两种:

  1. 您的表设计方式使您不再重复信息。基本上,您感兴趣的提要可以以一种性能良好的方式从现有表构建;或者
  2. ,您可以重复某些数据以使提要更易于实现。

就我个人而言,我可能会选择(2)并有一张新桌子:

product_category_id

  • Feed: id,person_id,store_id,action_id,province_id,

最后两个字段是可选的,基于操作(检查、编辑、添加等)。

纯粹主义者会争辩说,重复的数据是不好的(当然,正常的形式试图将其分解出来),但是在现实世界中,数据库模式一直是出于性能原因才这么做的。

这样想一想:你在应用程序中花了大部分时间做什么?

  1. 查看提要(读取);或
  2. 执行操作(写入)。

如果它是(1),我怀疑它是,那么一个提要表是合理的。您通常希望优化读,而不是写,因为写入发生的次数要少得多。

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

https://stackoverflow.com/questions/3455023

复制
相关文章

相似问题

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