Sql 设计反馈数据库表

Sql 设计反馈数据库表,sql,database-design,Sql,Database Design,反馈表中应该包含哪些属性 首先,我不需要任何登录的反馈。所以我在我的表中放了以下列: 比如说 主题=关于反馈的目的 消息=主题的描述 联系电话 电子邮件=联系用户或重播主题的答案 Name=用于呼叫用户的目的 反馈\u日期=更新时的时间戳 我的表中需要主键吗?如果是,为什么我需要主键?有什么建议吗 Primary用于标识表中的特定行 假设你从同一个客户那里得到多个反馈,你无法从你提到的字段中识别他们。您可以根据客户的姓名或电子邮件将其列出。如果有ID(主键),您可以告诉我们这是我们从特定客户或类

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

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

比如说

  • 主题=关于反馈的目的
  • 消息=主题的描述
  • 联系电话
  • 电子邮件=联系用户或重播主题的答案
  • Name=用于呼叫用户的目的
  • 反馈\u日期=更新时的时间戳

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

  • 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 
       )
    

    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、浏览器信息等)

    如果需要,是否需要主键?为什么需要?为什么需要主键

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

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

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

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

    如果需要,是否需要主键?为什么需要?为什么需要主键


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

    是!我强烈建议使用主键。执行简单键的最简单方法是这样创建列

    feedbackID int IDENTITY(1,1) NOT NULL
    
    在上面的示例中,第一个1是起始种子,第二个1是增量。您可能希望给用户一个case#(他的反馈ID),在这种情况下,您可能希望从一个随机数或10000开始。不要说你的案例是1,你可以指定它为10001,或者我通常从10123开始,这样它就不会显示为一个新的网站、新的应用程序等。这是个人偏好,在功能上不需要


    注意:重要的是添加一个日期字段,以便知道何时收到反馈

    是的!我强烈建议使用主键。执行简单键的最简单方法是这样创建列

    feedbackID int IDENTITY(1,1) NOT NULL
    
    在上面的示例中,第一个1是起始种子,第二个1是增量。您可能希望给用户一个case#(他的反馈ID),在这种情况下,您可能希望从一个随机数或10000开始。不要说你的案例是1,你可以指定它为10001,或者我通常从10123开始,这样它就不会显示为一个新的网站、新的应用程序等。这是个人偏好,在功能上不需要


    注意:重要的是添加一个日期字段,以便知道何时收到反馈

    好的,那么我应该制作什么样的时间戳变量。。在我的情况下,我需要任何主键。谢谢好的,我得到了这个更改表
    反馈
    更改
    反馈日期
    反馈日期
    更新时的时间戳当前时间戳为空默认为空;好的,那么我应该制作什么样的时间戳变量。。在我的情况下,我需要任何主键。谢谢好的,我得到了这个更改表
    反馈
    更改
    反馈日期
    反馈日期
    更新时的时间戳当前时间戳为空默认为空;好的,那么你的意思是我应该用自动增量创建任意id列吗????感谢反馈日期变量,我将它作为反馈表的一列确定我制作了一个属性feedback_date(更新时的时间戳)。我使用的数据类型正确吗?您可以将datetime指定为数据类型,并将默认值设置为getdate()。这将为反馈表中的每个条目生成反馈日期。.确定每当生成新反馈时,get date将自动工作???或者我必须用php编写它的后端代码?因为我们将getdate()设置为该列的默认值,它将为每次插入自动生成..好的,那么你的意思是我应该用自动增量生成任意id列吗????感谢反馈日期变量,我将它作为反馈表的一列确定我制作了一个属性feedback_date(更新时的时间戳)。我使用的数据类型正确吗?您可以将datetime指定为数据类型,并将默认值设置为getdate()。这将为反馈表中的每个条目生成反馈日期。.确定每当生成新反馈时,get date将自动工作???或者我必须用php编写后端代码?因为我们将getdate()设置为该列的默认值,它将生成自动调用