我正在做一个项目。它主要用于学习目的,我发现实际上尝试一个复杂的项目是掌握基础知识后学习语言的最佳方式。数据库设计不是一个强项,我开始阅读它,但它是早期的,我还在学习。
这是我的 alpha 模式,我真的只是想记下我能想到的一切,看看是否有任何问题跳出来。 http://diagrams.seaquail.net/Diagram.aspx?ID=10094#
我想就以下问题提供反馈:
请注意区域等核心属性,例如,为简单起见,这些区域是厨房、卧室、花园、浴室和客厅。对于可能是主页、联系页面、about_us、启动屏幕的另一个客户。可以是2个区域,也可以是100个,没有必要限制。
我为默认值创建了单独的表,每个表都链接到一个错误。后来我遇到了自定义字段的问题,例如,如果有人想标记错误适用于哪个主题,我们没有,可能还有 100 其他东西所以我想坚持一组核心属性和自定义字段给人们灵活性。
但是,当我到达自定义字段时,我知道我遇到了问题,我不能为每个自定义字段创建一个表,所以我改为使用 2 个表。自定义字段和 custom_field_values。这个想法是每个字段(包括默认值)都将存储在此表中,并且每个字段都将链接到值表,该表将具有类似这样的内容
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
这看起来像是一种处理此类动态字段的有效方法,还是有其他替代方法?
默认值将被硬编码,因此您可以使用它们或替换为您自己的,或者我可以创建另一个表以允许用户编辑将链接到他们的项目的默认值的名称。欢迎任何反馈,如果该计划中存在非常明显的问题,请随时批评。