全球通知的数据库设计

Sak*_*rma 1 php mysql

我有一个通知系统,其中有各种类型的"评论","product_added"等,也有很多用户.

基于用户的朋友将在用户或他/她的朋友执行的动作时看到通知.问题是我必须保留一个朋友已阅读通知的记录,我已经有一个表格,我已经存储了:

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
Run Code Online (Sandbox Code Playgroud)

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

所有通知都会持续30天,还要记住,如果用户有超过200个朋友,然后将200个ID存储在一个数组中,然后检索它并打破阵列然后显示它们(根据我的说法,重要的是一个长程序).

那么任何人都可以建议哪一个更好的方式或更好的方式我不知道?

Ale*_*thy 5

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