gpt4 book ai didi

database - 我在这个数据库设计上是否走在正确的轨道上?

转载 作者:搜寻专家 更新时间:2023-10-30 22:15:31 25 4
gpt4 key购买 nike

我有一个已经设置好的设计,我真的可以使用一些帮助来查看我是否在正确的轨道上。如果这不是 Stackoverflow 的合适问题,我深表歉意,我会删除它。我是一个相当新的用户,并不是 100% 确定。

我正在构建一个内容管理器,所有内容都是动态来自数据库的。我有一个包含部分的页面,这些部分有字段,数据被输入到这些字段中。这些字段可以是文本框、组合框或列表框。这里的重点是能够创建页面,这些页面根据部分类型获得带有字段的适当部分,我只是想存储这些值,以便以后可以读取或编辑页面。

第1页

第一节

field1 [Texbox1]
field2 [Texbox2]
field3 [组合框1]

第二节

field1 [Texbox1]
字段 2 [列表框 1]
field3 [组合框1]

这些部分可以在不同的页面上重复使用,并且每个部分的字段始终相同。

我的数据库是这样的:

页面
* 页面标识符
* 页面名称

页面_部分
* 页面标识符
* 节

部分
* SectionId
* SectionTypeId
* 段名

部门类型
* SectionTypeId
* SectionTypeName

领域
* FieldId
* SectionId
* 字段名

字段值
* FieldValueId
* FieldId
* 字段值值
* 当前值(这有点因为组合框可以有多个值,但我想显示选择了哪个。类似地,列表框可​​以选择多个值)
* 页面编号

因此,根据部分类型创建带有部分的页面。每个部分都有 x 个字段,然后显然每个页面字段都可以有不同的值,这就是 FieldValue 有 pageId 的原因,但是将 pageId 放在 FieldValue 中感觉很奇怪,但我没有其他办法。我走在正确的轨道上吗?

最佳答案

我认为您的总体思路是正确的。

我担心的一个方面是每个页面上的部分排序 — 我认为您的 Page_Section 表需要一个额外的列 SeqNo SMALLINT NOT NULL 以递增顺序获取值(它们不必须是连续的),这样当您按 SeqNo 排序时,您的部分将以正确的顺序显示在页面上。

您可能需要为一个部分中的字段使用类似的排序列。

您的字段表可能需要一些字段类型信息。

也许您的 FieldValue 表应该重命名为 PageFieldValue;它旨在将值与特定页面上的字段相关联。只要给定的字段不能在页面上出现多次,重命名的表就是准确命名的;它包含指定页面上的一个字段的值。目前尚不清楚是否可以有某种默认系统,以便如果页面没有为字段指定特定值,那么默认值就会生效。这可能值得考虑。

关于database - 我在这个数据库设计上是否走在正确的轨道上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13591809/

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