我对Access表有以下要求,而且我无法找出设计表的最佳方法。在这种情况下,我不确定我拥有的是最佳做法。
表字段是名称,状态,日期 每个名称至少有三个状态,它们每个月都会更改,然后在“打开”时停止。必须在数据库中捕获每个状态更改的日期。
示例:
Name | Status | Date
--------+-----------+------------------
name1 | N/A | April
name2 | N/A | April
name1 | Open | May
name2 | N/A | May
name1 | closed | June
name1 | open | July
答案 0 :(得分:1)
从标准化的角度来看,你需要总共4张桌子 第一个表格主表
Name | Status | Date (month ?)
--------+-----------+--------
1 | 1 | 4
2 | 3 | 5
第二个表名称表
ID | Names
--------+-----------
1 | name1
2 | name2
第3张表状态表
ID | Status
--------+-----------
1 | N/A
2 | Open
3 | closed
第4个表月
ID | Month
--------+-----------
1 | January
2 | February
........|............
12 | December
答案 1 :(得分:0)
老实说,我自己多次考虑过这个特殊的设置。我继承了一个使用您发布的格式的数据库。
虽然我认为设置不好,但我的另一个想法是创建属于每个状态的3个复选框字段以显示进度。然后会有3个日期字段,每个字段都与选中复选框时有关。
这会将记录数减少2 / 3rds,但又会减少。我认为这更多的是一个意见问题。