一个简单的场景:
业务需要两个对象:学生和教师,两者均含姓名、性别、生日等大量重复属性,但是学生有个“学号”属性,教师有个“科目”属性,如果将这两者同时设计成一张 user 表,那么非这两个属性的拥有者的该字段将为 null 值,而且需要设立一个 role 字段以区分两者身份。
但是如果如果分开设计,那么大多数属性都是重复的,这样似乎较为浪费空间,而且业务层多了 “判断用户角色” 的逻辑代码
怎样设计表才是最佳实践呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.