gpt4 book ai didi

sql - 数据库 |如何在调查中存储用户答案?

转载 作者:行者123 更新时间:2023-11-29 12:50:38 28 4
gpt4 key购买 nike

我的任务是创建只能通过邀请某些人才能进行的调查。一个人可以参加一次调查。该调查仅适用于特定时间段。我正在尝试为这个 future 的应用程序创建数据库结构。作为数据库,我使用 PostgreSQL。

据我了解,一项调查可能有很多问题。同时,一个问题可以在许多调查中重复使用。这是多对多的关系。

这就是我创建表格来解决第一项任务的方式。如果我遗漏或做错了什么,请纠正我。

问题表:

CREATE TABLE QUESTIONS(
ID SERIAL PRIMARY KEY,
TEXT TEXT NOT NULL
);

调查表:

CREATE TABLE SURVEYS(
ID UUID PRIMARY KEY NOT NULL DEFAULT uuid_generate_v4(),
NAME VARCHAR NOT NULL,
DESCRIPTION TEXT,
START_PERIOD TIMESTAMP,
END_PERIOD TIMESTAMP
);

SURVEYS_QUESTIONS 表:

CREATE TABLE SURVEYS_QUESTIONS(
ID SERIAL,
SURVEY_ID UUID NOT NULL,
QUESTION_ID INT NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (SURVEY_ID) REFERENCES SURVEYS (ID) ON DELETE CASCADE,
FOREIGN KEY (QUESTION_ID) REFERENCES QUESTIONS (ID) ON DELETE CASCADE
);

现在我不明白如何正确地将用户与调查联系起来以及如何正确存储用户答案。

最佳答案

创建一个 TAKEN_SURVEYS 表,其中一个外键指向 SURVEYS 表,一个外键指向 USERS 表。如果您想确保每个用户只能有一个已接受的调查记录,请在 TAKEN_SURVEYS 表上创建一个唯一索引。

关于sql - 数据库 |如何在调查中存储用户答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54772272/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com