跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 关于 web 开发 数据库实体的问题
未分類
5 10 月 2020

关于 web 开发 数据库实体的问题

关于 web 开发 数据库实体的问题

資深大佬 : zxCoder 2

举个例子,比如博客文章,一篇文章对应多个 tag,那么文章的实体里面要有一个字段 list<string>吗,因为这种一对多的关系数据库应该用另一个表存,这种情况感觉挺常见的,不知道标准的做法应该是怎么做的。

还是说要两个实体类?一个和数据库映射的,一个是处理之后和上层 service 交互的?

最简单的方法应该是怎么做呢?

大佬有話說 (7)

  • 資深大佬 : CoCoMcRee

    常规处理的话就
    一张 tag 表, 存各种 tag.
    一张 文章 id 和 tag 的多对多表, 存文章 id 和 tag 的对应关系.

    以上是我写个人博客练习时候的做法.

  • 資深大佬 : 340244120w

    tag 最关键的概念是反向索引,你文章就用一个 string 来存 tags,就做不到反向索引了

  • 主 資深大佬 : zxCoder

    @CoCoMcRee 存我知道,查呢?

  • 主 資深大佬 : zxCoder

    @340244120w 我没有用一个 string 来存 tags 啊

  • 資深大佬 : 340244120w

    @zxCoder #4
    一篇文章对应多个 tag,那么文章的实体里面要有一个字段 list<string>吗
    ————————————————————————————
    这句话的意思不就是咩。。。
    而且文章和 tag 是多对多,不是一对多

  • 資深大佬 : passerbytiny

    文章对标签是多对多,不是一对多。

    只有实体之间才存在关联关系,所以不存在 List < String >类型的关联字段(非关联关系的基本字段,可以有这种类型)。关联字段的类型,若是 List,则必定是 List < Entity >。

    建议主先从零开始学习一下 ORM 。

  • 資深大佬 : cmdOptionKana

    推荐一个网站 https://pgexercises.com/ 这个教程学 sql 循序渐进,由浅入深,覆盖的场景也很多,都是通过具体例子来教学。

    看这里 https://pgexercises.com/questions/joins/simplejoin.html 看它的三个表,特别注意看中间那个表。
    多对多关系通常采用三个表,其中一个表起到桥梁的作用将 tag 表与 article 表连接起来。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具