簡體   English   中英

在MySQL的其他表中存儲對行的可搜索引用的最佳方法

[英]Best Way to Store Searchable References to Rows in Other Table in MySQL

我非常感謝有關MySQL數據庫設計的建議。 我正在建立一個2表數據庫,其中COLLECTIONS表具有特定系列中的書名。 每本書都有一個“推薦讀物”列表,該列表指向不在COLLECTIONS表中的書。 第二個表READING在“推薦閱讀”列表中為每本書都有一行。

我想在COLLECTIONS表中有一列,在其中可以有READING表中的行ID的列表(數組?)。 我想在READING表中有一列,其中有一個列表(數組?),其中保存着提到該書的COLLECTIONS表中每一行的ID。

我的想法是,當查詢從COLLECTIONS抓取一行時,它可以快速搜索存儲的列表,並從那里的READING抓取每一行。 同樣,當查詢從READING抓取一行時,它可以快速搜索存儲的ID號列表,並從COLLECTIONS抓取每一行。

因此,每個表都有一列用於存儲另一個表的ID號。 這些列應為TEXT並具有:

3, 16, 56

還是有更好的方法來存儲它? 我對此表示贊賞。

不要使用數組創建關系表並保留3NF

   Collections (collection_id, ... )
   Reading (reading_id, .... )
   Collection_Reading (collection_id, reading_id)

這樣,您只需在發生某些更改時更新一個表Collection_Reading ,而不是更新2個數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM