繁体   English   中英

设计反馈数据库表

[英]Designing Feedback database table

反馈表中应该包含哪些属性?

首先,我不需要任何登录反馈。 所以我把以下列放在我的表中:

例如

  1. 主题=关于反馈的目的是什么。
  2. 消息 = 主题描述。
  3. 联系电话
  4. 电子邮件 = 联系用户或重播主题的答案
  5. 名称 = 用于调用用户目的
  6. FeedBack_Date= TIMESTAMP ON UPDATE

    我的表中需要任何主键吗? 如果是这样,为什么我需要主键? 有什么建议吗?

Primary 用于标识表中的特定行。

假设您从同一客户那里收到多个反馈,您无法从您提到的字段中识别它们。 您可以根据客户的姓名或电子邮件将其列出。 如果有一个 ID(主键),您可以判断这是我们从特定客户或类似的东西收到的第一个反馈。 同样,最好在表格中添加一个“反馈日期”作为字段,以便您可以跟踪反馈。

这是示例架构。

CREATE TABLE dbo.Feedback
  ([ID] INT IDENTITY(1,1) PRIMARY KEY, --Primary key of your table
   [Subject] VARCHAR(500),
   [Message] VARCHAR(MAX),-- limit the datatype as per your allowed characters
   [Name]  VARCHAR(150),
   [Contactnumber] VARCHAR(20),
   [Email] VARCHAR(150),
   [ReceivedDate] DATETIME Default(GETDATE()) --the date you received the feedback 
   )

反馈表中应该包含哪些属性?

这取决于您的业务逻辑。 在极端情况下,您可以将所有内容存储在一个字段中,并且仍然可以读取它。 但我希望这不是你想要的。

在您建议的列列表中,我缺少一些时间戳(用于存储消息发送的时间)和任何系统信息(IP、浏览器信息等)

如果需要,我是否需要任何主键,而不是为什么需要,为什么我需要主键

主键唯一标识单个行,因此数据操作和排序变得更加容易。

是的! 我强烈推荐一个主键。 做一个简单的键的最简单方法是以这种方式创建列

feedbackID int IDENTITY(1,1) NOT NULL

在上面的例子中,第一个 1 是起始种子,第二个 1 是增量。 您可能希望给用户一个 case #(他的反馈 ID),在这种情况下,您可能希望从一个随机数或 10,000 开始。 与其说你的 case # 是 1,你可以给它分配 10001 或者我通常从 10123 开始,这样它就不会出现它的新站点、新应用程序等。这是个人偏好,在功能上没有要求。

注意:添加日期字段很重要,以便您知道反馈何时出现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM