我正在创建一个包含五个部分的在线应用程序。每个部分都有自己的表格。我们将这些部分称为 SECTION1、SECTION2 等。将有一个名为 APPLICATIONS 的主表。该表中的第一列将是 ApplicationID。
在超快的服务器上只有几千条记录,所以我想把注意力集中在表和关系的可读性上,而不是在我生病之前去规范化时我可以节省多少处理能力.
以下是我认为我应该如何命名和构建表格。你能确认这是最易读的方法吗?过去,我有效地做到了这一点。但是,我想看看是否有一些简单的改进或想法可以整合。从一到十,这种表/列命名方法的可靠性如何?
APPLICATIONS - TABLE
ApplicationID - pk
SECTION1 - TABLE
RecordID- int - pk
ApplicationID - fk
Answer1 - text
Answer2 - text
SECTION2 - TABLE
RecordID- int - pk
ApplicationID - fk
Answer1 - text
Answer2 - text
最佳答案
我总是将我的 id 列命名为 id,前缀的表名足以知道我正在谈论的是 id。
在另一个主题中,您的 SECTION 表似乎具有完全相同的结构,为什么不只使用一个包含 number
列或类似内容的表?
回应评论:
SECTION
id - pk
ApplicationID - fk
name
QUESTION
id - pk
text
SECTION_QUESTION
id - pk
SectionID - fk
QuestionID - fk
ANSWER
id - pk
SectionQuestionID - fk
text
通过这种方式,您可以创建各种问题,甚至可以在各个部分之间共享一些问题。 SECTION_QUESTION
关联表映射问题和部分之间的关系。然后将答案存储到 ANSWER
中,它与 SECTION_QUESTION
而不是 QUESTION
相关联,这样您就可以确切地知道答案是在哪个部分做出的。
我希望我的提议很清楚。
关于database - 我应该使用 "RecordID"作为列名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5248816/