为了账号安全,请及时绑定邮箱和手机立即绑定

数据库设计问题,新闻 评论 --评论的评论 只有这三层,不要递归的

数据库设计问题,新闻 评论 --评论的评论 只有这三层,不要递归的

素胚勾勒不出你 2018-07-23 08:09:29
Product或News或其他        \______Comment            \______Comment 'sComment          \______Comment 'sComment          \______Comment 'sComment        \______Comment            \______Comment 'sComment          \______Comment 'sComment          \______Comment 'sComment        \______Comment            \______Comment 'sComment
查看完整描述

3 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

CREATE TABLE Product(PID int primary key,PName varchar(50))

CREATE TABLE Comment(CID int primary key ,CContent nvarchar(4000))

 

CREATE TABLE PCRelation(PID int,CID int,flag bit)--0表示商品 1表示评论的评论


查看完整回答
反对 回复 2018-07-25
?
jeck猫

TA贡献1909条经验 获得超7个赞

我觉得三个表多了,两个表可以实现

表一:new

表二:评论

评论结构

 ID, NEWID, PID 

ID表示KEY,NEWID表示新闻,PID,表示上级评论,你说不要递归,其实只有2层,你本来就不应该用递归啊


查看完整回答
反对 回复 2018-07-25
?
月关宝盒

TA贡献1772条经验 获得超5个赞

部分抄袭机器人的实现:

CREATE TABLE Product(PId int primary key, PName varchar(50))

CREATE TABLE Comment(CId int primary key , CContent nvarchar(4000), PId int nullable)

CREATE TABLE CommentRelation(CId int, ParentCId int nullable)

 

评论与产品(或其它)的关系为 多 对 1。

评论与评论的关系为 多 对 多(这难道是楼主强调的”递归“)。

 

如果摒弃我理解楼主的那种”递归“,修正为

CREATE TABLE Product(PId int primary key, PName varchar(50))

CREATE TABLE Comment(CId int primary key , CContent nvarchar(4000), PId int nullable, ParentCId int nullable)

看上去跟前个方案有些像,自己都迷惑了:(


查看完整回答
反对 回复 2018-07-25
  • 3 回答
  • 0 关注
  • 1141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信