[英]Designing Feedback database table
反馈表中应该包含哪些属性?
首先,我不需要任何登录反馈。 所以我把以下列放在我的表中:
例如
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.