我想设计一个人员数据库,有几个项(工号,公司,部门,小组),小组是在部门里面划分的,部门是在公司里面划分的。小组可以再次进行划分为子小组,子小组也可以再次划分为子小组1,子小组1还可以继续划分...次数无穷。

    每个工号并不是都有小组的,但是公司和部门是必有的。
    例如:
    工号     公司     部门   小组  子小组  ...  子小组N
    001      gs_A     bm_A   xz_A  zxz_A
    002      gs_A     bm_B   xz_B
    003      gs_B     bm_C   

    怎么样的设计才能最方便合适,也符合范式一到三和BCNF?