[英]Triggers or T-SQL?
我正在嘗試為我的網站制作通知系統:
這是表結構
notification
-----------------
id (pk)
userid
notification_type (for complexity like notifications for pictures, videos, apps etc.)
notification
time
notificationsRead
--------------------
id (pk) (i dont think this field is required, anyways)
lasttime_read
userid
現在我的理解是,添加通知時,我們需要找到用戶朋友,並將所有這些行插入notification
表中,對嗎? 如果這是正確的,那么實現此目標的最佳方法是什么?
良好的關系方法是設置表,以便有一個人員表。 每個人都有一個唯一標識他們的主鍵。 然后,另一個表將Peoplekey鏈接為朋友。 有幾種解決方法,但作為一個粗略的例子:
People
---------------------------------------
PeopleKey | Name | <other profile data>
然后,您便有了一個表格,可以將人們作為朋友彼此聯系起來。
Friendships
----------------------------------------------------------------------
PeopleKey | FriendKey (fk to peoplekey) | <details about friendship>
然后,您會在通知表中看到某人已做某事。
Notification
-----------------------------------------------------------
NotificationKey | PeopleKey | Date | <notification details>
通過查詢和您的友誼關系,您可以獲取一個人的所有朋友的所有通知:
select notification.* from notification inner join
friendships on friendships.peoplekey = notification.peoplekey
where date = @importantdate
這種關系可以顯示很多,而不必存儲重復的數據。 還有1000種其他方式可以將表連接,查詢或鏈接到友誼和事件。 因此,例如,您可以說顯示所有事件,其中peoplekey是我的朋友之一。 顯示所有活動,其中Peoplekey只是我的朋友之一,等等,等等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.