gpt4 book ai didi

mysql - 同一个表中的 bool 值和字符串值

转载 作者:行者123 更新时间:2023-11-29 08:58:27 25 4
gpt4 key购买 nike

我正在设计我的第一个大型项目,我想确保我走在正确的道路上,所以我想我会由社区来运行它。

我有向公司提交产品的供应商。供应商选择他们想要提交给哪家公司,然后会出现该公司选择的问题页面。到目前为止,我有一个公司表、一个供应商表和一个产品表。每个都有自己的主键,很简单。我的问题是我的名为“提交”的表开始将每个新提交的所有内容联系在一起。我试图摆脱拥有一千列的提交表,因为公司都想提出不同的问题。如果我有

Table Submissions
submission_id
date
product_id FK
vendor_id FK
company_id FK

and

Table Questions
question_id
question

and to bridge the many to many

Table Questions_Submissions
questions_submissions_id
submission_id FK
question_id FK
answer

这是否是标准化的推荐路径?如果是,让列答案包含 bool 值和字符串结果是否有任何危害,或者我应该以某种方式将 bool 值问题分解到另一个表中?我预计 future 几年会出现数百万行数据,并希望确保我从一开始就没有设计错误。如果您在此设计中发现明显的错误或危险信号,感谢您提供任何反馈。

最佳答案

So far I have a Table of companies, a table of vendors, and table of products. Each with their own primary key, easy enough.

每一行都有自己的 ID 号。这与关系正常化所得到的结果并不完全相同。在关系数据库中,重要的不是识别一行,而是识别该行代表什么。

例如,这张表

Table Questions
question_id
question

很容易得到如下所示的数据。

question_id  question
--
1 What is your name?
2 What is your name?
3 What is your name?
4 What is your name?
5 What is your name?

每一行都是唯一标识的,但每个问题(重要的事情)不是。您需要对 {question} 有一个唯一的约束。

I have vendors that submit products to companies.

Table Submissions
submission_id
date
product_id FK
vendor_id FK
company_id FK

您需要对 {product_id,vendor_id,company_id} 或 {date,product_id,vendor_id,company_id} 进行唯一约束。

您还需要一个供应商产品表。您的表格允许供应商向公司提交任何产品(包括他们不销售的每种产品)。

The vendors choose which company they want to submit to and that brings up a page of questions chosen by the company. (Emphasis added)

您的架构中没有任何内容存储公司选择的问题。

is there any harm having the column answer contain boolean and string results

您可以将任何常见数据类型表示为字符串。但使用这种结构,您不能将 bool 值限制为只有两个值。如果您添加数字结果的可能性,您也无法将它们限制为合理的值。

关于mysql - 同一个表中的 bool 值和字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9287452/

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