我正在进行一个项目,主要是为了学习目的。在掌握基础知识后,我发现实际尝试一个复杂的项目是学习语言的最佳方式。数据库设计不是我的强项,我开始研究它,但现在还处在初级阶段,我还在学习中。
这是我的Alpha架构,我真的只是想尽可能地记录我能想到的一切,并查看是否有任何问题跳出来。 http://diagrams.seaquail.net/Diagram.aspx?ID=10094#
我关心的一些问题,我想得到反馈:
请注意核心属性(例如区域),比如说,简单起见,区域可以是厨房、卧室、花园、浴室和客厅。但是对于另一个客户,可能是主页、联系页面、关于我们、闪屏等。它可以是2个区域,也可以是100个,没有必要限制它。
我为默认值创建了单独的表,并将每个表格都链接到了一个错误。后来,我遇到了自定义字段的问题,如果有人想标记Bug适用的主题,我们就没有这个选项,可能还有其他100个选项,所以我想坚持核心属性集,并且自定义字段使人们具有灵活性。
但是当我到达自定义字段时,我知道我有一个问题,我不能为每个自定义字段创建一个表,所以我使用了2个表。自定义字段和自定义字段值。这个想法是将包括默认值在内的每个字段都存储在此表格中,并将每个字段链接到只有这样的值的值表:
custom_fields table
id project_id name
01 1 area(default)
12 2 rooms(custom)
13 4 website(custom)
custom_field_values table
id area project_id sort_number
667 area1 1 1
668 area2 1 2
669 area3 1 3
670 area4 1 4
671 bedroom 2 1
672 bathroom 2 2
673 garden 2 3
674 livingroom 2 4
675 homepage 4 1
676 about_us 4 2
677 contact 4 3
678 splash page 4 4
这种处理动态字段的方式是否高效,还是有其他选择?
默认值将被硬编码,因此您可以使用它们或替换为自己的值,或者我可以创建另一个表格,允许用户编辑默认值的名称,该表格将与他们的项目关联。欢迎任何反馈,如果计划中存在明显的问题,请随时批评指正。