1

我有一个通知系统,其中有各种类型的“评论”、“产品添加”等,而且用户也很多。

基于用户的朋友将看到用户或他/她的朋友执行的操作的通知。问题是我必须记录哪个朋友已阅读通知,我已经有一个表,其中存储了:

notification_id,    
type_id ,   
item_id ,   
user_id ,   
owner_user_id , 
is_seen,
time_stamp, 
title_html, 
title_text, 
body_html,
body_text,  
href,
icon_url

我应该使用一个数组来存储所有看到通知的朋友 ID,is_seen还是应该创建一个名为的新表notification_seen,在其中维护每个看到该通知的朋友的记录?

所有通知将持续长达 30 天,并且还必须记住,如果用户有超过 200 个朋友,则将 200 个 id 存储在一个数组中,然后检索它并破坏数组然后显示它们(根据我的简短过程)。

那么,任何人都可以建议哪一种是更好的方法,或者我不知道的更好的方法吗?

4

1 回答 1

5

使用单独的表格。关系数据库中的数组总是一个坏主意,因为如果没有用户定义的函数或查询中的复杂表达式,您无法将数据库操作和查询应用于单个数组元素。而且它也不遵循规范化范式。

于 2012-08-13T09:20:31.143 回答