国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

mysql - 一個表和多個表是多對多的關系,該怎么設計

瀏覽:127日期:2022-06-11 16:40:29

問題描述

最近遇到了一個表和多個表關聯的問題,

例如 : 現在有一個應用表 app_table,有很多個素材表 material_table1、material_table2... ,對每個素材表來說,一個素材可能有多個應用使用,一個應用也可以使用多個素材。每個素材表和應用表都是這種關系,而且每個素材表之間沒有任何關聯。

顯然是多對多,但問題就是如果按照多對多建立表的話,每個素材表都要建立一個中間表。

我現在有個想法,就是在應用表中添加字段,每個素材都添加一個字段,字段中保存著這個 app 所擁有的素材的 id,按照逗號隔開。但是問題就是這樣的話要查詢兩次,先通過應用表的字段進行篩選,然后再按照條件對查詢出來的數據進行篩選。

不知道大家有沒有更好的方案和想法,謝謝大家啦

描述的有點不清楚,是每個類別的素材(一個素材表)都做一個接口,只不過素材返回的時候是要根據應用來篩選的,而且存在一個應用使用多個素材(一個素材表中的多個素材),一個素材可能有多個應用使用。現在的狀態是每個素材表都添加了一個應用字段來區分,但是這樣要添加很多條目進去。所有我考慮要不要做一個應用表,然后每個素材做一個關聯表。這樣請求的時候可以先根據請求參數的應用名來查到應用表的數據,再根據關聯去查到相關素材表中符合條件的數據。不知道有沒有更好的方法。

問題解答

回答1:

首先你這個表結構設計的有點問題。多個素材,為什么要簡歷多個素材表?可以使用素材類型來區分吧。我不知道你為什么要給素材分表,如果安我猜的是因為素材類型不同,我覺得建表應該是這樣的

app 應用表material 素材表material_type 素材類型app_material 素材應用關系表

回答2:

感覺只需要一個關聯表:

關聯表應用ID 素材表ID 素材ID01 07 08

就可以確定某個應用使用了哪些素材

回答3:

吐槽一句:哪里來的多對多啊.每個素材表的字段都不一樣.應用表對某類型的素材表(素材表的元素)是多對多關系,但是應用表跟所有的素材表直接不是多對多關系,是包含跟不包含的關系好不.

回答4:

首先,按照你的思路 你數據表將來很龐大難以維護,建議可以把素材的屬性轉成json或者序列化進行存儲.

回答5:

一對多的關聯關系我們一般會使用中間表,一對一的才會增加一列來表示關系

回答6:

A A_ID A_OTHER B B_ID B_OTHER C C_ID C_OTHER REF REF_ID(序列) A B C D E …

12345

mysql - 一個表和多個表是多對多的關系,該怎么設計

回答7:

app_id | material_table_name | material_table_id

關鍵字,多態關聯

相關文章:
主站蜘蛛池模板: 久久精品国产精品亚洲毛片 | 欧美成人第一页 | 午夜成人免费影院 | 黑人边吃奶边扎下面激情视频 | 色日韩 | 99免费在线| 天天躁天天碰天天看 | 日本三级欧美三级 | 一区视频在线 | 手机在线亚洲 | 欧美日韩一区二区三在线 | 成人午夜在线观看国产 | 国产在线毛片 | 国产亚洲午夜精品a一区二区 | 欧美视频xxxxx | 国产亚洲精品日韩已满十八 | 岛国在线永久免费视频 | 收集最新中文国产中文字幕 | 国产一级毛片视频 | 久久久久国产成人精品 | 欧美性精品hd在线观看 | 久久亚洲一级α片 | 高清欧美日本视频免费观看 | 久久99亚洲精品久久久久网站 | 中文字幕在线观看国产 | 欧美一级专区免费大片俄罗斯 | 亚州一级毛片 | 午夜影院黄 | 成人精品一区久久久久 | 国产成人亚洲合集青青草原精品 | 国产成人黄网址在线视频 | 日本波多野结衣视频 | 欧美一区精品二区三区 | 欧美三级中文字幕 | av亚洲男人天堂 | 亚洲一区免费观看 | 天天夜天干天天爽 | 美女免费在线视频 | 狠狠色噜噜狠狠狠米奇9999 | 亚洲韩国欧美一区二区三区 | 免费观看欧美成人禁片 |