34
回答
发一个今天的面试题 设计一个新闻评论系统 的数据结构
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
如题 设计一个新闻评论系统 的数据结构  要求一天只能发布一条评论
各位前辈有何高见呢
PHP
举报
walden
发帖于6年前 34回/4K+阅
共有34个答案 最后回答: 1年前

引用来自“华定平”的答案

引用来自“中山野鬼”的答案

不过我现在搞不清楚你是一个用户,一天只能对一个内容进行评论。还是针对特定内容,一天只能有一个评论。如果前者不谈,比较简单。后者的话,我谈一下。

已知具体一个新闻,已知具体一个用户,判断用户是否有权限对当前新闻你进行评论。

这个描述和 已知具体一个新闻,已知具体一个用户,判断用户是否对该某个新闻评论过了是不一样的。

后者会追加同性质问题,该用户总共发表了多少评论。而前者追加的同性质问题是,该新闻目前有多少用户发表了评论。

因此是新闻下面挂已评论的用户,而不是反过来。


应该是一天只能发一条 而不是针对某个内容
那这事不EASY吗?用户增加个言论发表的计数器。每次发表修正当前发表计数器的值。发表计数器每天累加1.任何小于当前的发表计数器的用户则有权限,反之没有。用户几天不活动,他的计数器值不变,不影响判断。不需要每天刷新所有用户的信息。只有用户发言时才判断操作。

不过我现在搞不清楚你是一个用户,一天只能对一个内容进行评论。还是针对特定内容,一天只能有一个评论。如果前者不谈,比较简单。后者的话,我谈一下。

已知具体一个新闻,已知具体一个用户,判断用户是否有权限对当前新闻你进行评论。

这个描述和 已知具体一个新闻,已知具体一个用户,判断用户是否对该某个新闻评论过了是不一样的。

后者会追加同性质问题,该用户总共发表了多少评论。而前者追加的同性质问题是,该新闻目前有多少用户发表了评论。

因此是新闻下面挂已评论的用户,而不是反过来。


引用来自“中山野鬼”的答案

不过我现在搞不清楚你是一个用户,一天只能对一个内容进行评论。还是针对特定内容,一天只能有一个评论。如果前者不谈,比较简单。后者的话,我谈一下。

已知具体一个新闻,已知具体一个用户,判断用户是否有权限对当前新闻你进行评论。

这个描述和 已知具体一个新闻,已知具体一个用户,判断用户是否对该某个新闻评论过了是不一样的。

后者会追加同性质问题,该用户总共发表了多少评论。而前者追加的同性质问题是,该新闻目前有多少用户发表了评论。

因此是新闻下面挂已评论的用户,而不是反过来。


应该是一天只能发一条 而不是针对某个内容

引用来自“中山野鬼”的答案

引用来自“华定平”的答案

引用来自“中山野鬼”的答案

不过我现在搞不清楚你是一个用户,一天只能对一个内容进行评论。还是针对特定内容,一天只能有一个评论。如果前者不谈,比较简单。后者的话,我谈一下。

已知具体一个新闻,已知具体一个用户,判断用户是否有权限对当前新闻你进行评论。

这个描述和 已知具体一个新闻,已知具体一个用户,判断用户是否对该某个新闻评论过了是不一样的。

后者会追加同性质问题,该用户总共发表了多少评论。而前者追加的同性质问题是,该新闻目前有多少用户发表了评论。

因此是新闻下面挂已评论的用户,而不是反过来。


应该是一天只能发一条 而不是针对某个内容
那这事不EASY吗?用户增加个言论发表的计数器。每次发表修正当前发表计数器的值。发表计数器每天累加1.任何小于当前的发表计数器的用户则有权限,反之没有。用户几天不活动,他的计数器值不变,不影响判断。不需要每天刷新所有用户的信息。只有用户发言时才判断操作。
这算数据库设计原理的内容么?
--- 共有 6 条评论 ---
长沙大东家回复 @walden : test 1年前 回复
彭哥用户表中设个字段为最后发表时间,和当天日期对比,若相同则不可发表,若不同即可以发表 6年前 回复
walden回复 @中山野鬼 : 好的 6年前 回复
中山野鬼回复 @华定平 : 内功大法和明天上台的杂耍没什么联系。重要的是60%你看的懂,20%自己琢磨也懂,20%你问了人后可以半懂不懂,那书就适合你。 6年前 回复
walden回复 @中山野鬼 : 求推荐一本书 我刚在淘宝上找到了一本 数据库系统概念、设计及应用 不知可否 6年前 回复

引用来自“中山野鬼”的答案

不过我现在搞不清楚你是一个用户,一天只能对一个内容进行评论。还是针对特定内容,一天只能有一个评论。如果前者不谈,比较简单。后者的话,我谈一下。

已知具体一个新闻,已知具体一个用户,判断用户是否有权限对当前新闻你进行评论。

这个描述和 已知具体一个新闻,已知具体一个用户,判断用户是否对该某个新闻评论过了是不一样的。

后者会追加同性质问题,该用户总共发表了多少评论。而前者追加的同性质问题是,该新闻目前有多少用户发表了评论。

因此是新闻下面挂已评论的用户,而不是反过来。


如果是后者是不是可以设置一个字段判断是否被评论过,是则不许再评论,或者设置一个字段储存评论者id来限制只许该用户评论

引用来自“中山野鬼”的答案

不过我现在搞不清楚你是一个用户,一天只能对一个内容进行评论。还是针对特定内容,一天只能有一个评论。如果前者不谈,比较简单。后者的话,我谈一下。

已知具体一个新闻,已知具体一个用户,判断用户是否有权限对当前新闻你进行评论。

这个描述和 已知具体一个新闻,已知具体一个用户,判断用户是否对该某个新闻评论过了是不一样的。

后者会追加同性质问题,该用户总共发表了多少评论。而前者追加的同性质问题是,该新闻目前有多少用户发表了评论。

因此是新闻下面挂已评论的用户,而不是反过来。


如果是后者是不是可以设置一个字段判断是否被评论过,是则不许再评论,或者设置一个字段储存评论者id来限制只许该用户评论
--- 共有 1 条评论 ---
长沙大东家test 1年前 回复

评论表加个字段保存日期
点击发表后,先查数据库有没有当前用户and当天日期的记录,没有才加进去

--- 共有 1 条评论 ---
RickyFeng这样select超慢 6年前 回复

引用来自“中山野鬼”的答案

引用来自“华定平”的答案

引用来自“中山野鬼”的答案

不过我现在搞不清楚你是一个用户,一天只能对一个内容进行评论。还是针对特定内容,一天只能有一个评论。如果前者不谈,比较简单。后者的话,我谈一下。

已知具体一个新闻,已知具体一个用户,判断用户是否有权限对当前新闻你进行评论。

这个描述和 已知具体一个新闻,已知具体一个用户,判断用户是否对该某个新闻评论过了是不一样的。

后者会追加同性质问题,该用户总共发表了多少评论。而前者追加的同性质问题是,该新闻目前有多少用户发表了评论。

因此是新闻下面挂已评论的用户,而不是反过来。


应该是一天只能发一条 而不是针对某个内容
那这事不EASY吗?用户增加个言论发表的计数器。每次发表修正当前发表计数器的值。发表计数器每天累加1.任何小于当前的发表计数器的用户则有权限,反之没有。用户几天不活动,他的计数器值不变,不影响判断。不需要每天刷新所有用户的信息。只有用户发言时才判断操作。
在更新计数器的时候用户不能发表评论了(用户量大的时候,更新需要一定时间)

引用来自“中山野鬼”的答案

引用来自“华定平”的答案

引用来自“中山野鬼”的答案

不过我现在搞不清楚你是一个用户,一天只能对一个内容进行评论。还是针对特定内容,一天只能有一个评论。如果前者不谈,比较简单。后者的话,我谈一下。

已知具体一个新闻,已知具体一个用户,判断用户是否有权限对当前新闻你进行评论。

这个描述和 已知具体一个新闻,已知具体一个用户,判断用户是否对该某个新闻评论过了是不一样的。

后者会追加同性质问题,该用户总共发表了多少评论。而前者追加的同性质问题是,该新闻目前有多少用户发表了评论。

因此是新闻下面挂已评论的用户,而不是反过来。


应该是一天只能发一条 而不是针对某个内容
那这事不EASY吗?用户增加个言论发表的计数器。每次发表修正当前发表计数器的值。发表计数器每天累加1.任何小于当前的发表计数器的用户则有权限,反之没有。用户几天不活动,他的计数器值不变,不影响判断。不需要每天刷新所有用户的信息。只有用户发言时才判断操作。

”用户几天不活动,他的计数器值不变,不影响判断。不需要每天刷新所有用户的信息。只有用户发言时才判断操作。“ 

这个不是很懂,是说每次发表评论后都将当前用户计数器值修改为当前的全局发表计数器值?

顶部