我有以下表格设计:
TABLE: WORK_ACTION_CLASS
WORK_ACTION_CLASS_ID VARCHAR2(24) Primary Key
NAME VARCHAR2(64) 64 Action Name
ROLE_CLASS_ID VARCHAR2(24) Role Class ID That Performs This Action
CHECKLIST_CLASS_ID VARCHAR2(24) Checklist Class PK
WORK_ACTION_TYPE_ID VARCHAR2(3)
WORK_ACTION_TYPE_ID 是一个简单的查找
1=Done Button
2=Dynamic Checklist
3=Custom Form
4=Progress Log
5=Approve/Decline Button
当动作类型是动态清单时,CHECKLIST_CLASS_ID
需要 a 以便动作知道要以编程方式使用的清单的细节。我不喜欢这种设计,因为如果此操作定义不是动态清单,CHECKLIST_CLASS_ID
则字段不适用。我不知道区分这个事实的最佳方法。
所以说我的桌子是 2NF 而不是 3NF 可能是正确的。如果是这样,我该如何或应该尝试达到 3NF?