表设计
Access建表规范总结(三)——主子表拆分
2016-01-29 11:20:35

我们建表还会出现一种常见的情况,一条记录会重复出现,只有几个字段内容不同。这种情况在Excel表现的比较明显。很多人直接用合并单元格的方式显示。但到了Access,他们就茫然了,不知道怎么弄。因为Access并没有他们熟悉的合并单元格这种方式。       这个合并单元格的方式虽然直观,但数据处理上各种问题。连Excel我都是不推荐使用合并单元格的。       Access作为数据库,要想怎么把数据用较好的方式存储。展示是另外一方面,存储和展示分离。       看例子吧,好理解一些。       有个超市,他想记录一下每个客户的购物单。       不好的建表情况:               这样,客户信息和购物信息放在一起。有很多数据都是重复出现的。这种建表会造成很多冗余的数据,保存了很多多余的信息,而且不利于查看。       应该把这些重复的信息拆分出来,作为主表。而那些购物信息,则作为明细表,也就是子表。这样也比较严谨,也十分清晰。主表和子表之间再用一个字段联系即可。知道哪些明细是哪个主表记录的。       比较好的建表结构:               或许你会说,这样查看不方便。你可以弄一下关系。就可以查看到他们的对应关系。               建立关系后,可以看到主表有一个加号,点开就可以看到相关子表的信息。这样比Excel合并单元格还要直观。               主子表拆分的主要思路是,把重复的信息拆分出来作为主表,剩下的部分作为子表。子表要加入一个主表的主键作为对应关系。这样就可以轻松做到主子表结构。