论坛首页 综合技术论坛

讨论 数据库建表中存在数据的互相包含情况,这样合理吗?

浏览 1244 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2009-12-08  
    做酒店信息系统管理的,之前的程序员在设计客人信息表和会员信息表的时候,采用的是这样的方法:客人信息表主键:GuestNo,表中有一个字段CardNo用来表示会员卡号;会员信息表主键CardNo,而表中又有一个字段GuestNo用来表示这个会员卡号表示的客人编号。我从一开始接触到这个的时候就觉得这个不合理了,但是她们一直都认为这个必须要这样做。我认为只需要在一张表中包含另外的一个表的主键信息就够了,没有必要这样互相包含,也没有意义。比如,直接在会员卡信息表里面包含客人编号就行了,那么客人信息表就只记录客人的基本信息(如地址、姓名等等之类);或者在客人信息表里面包含会员卡号就行了,那么会员信息表就只包含会员卡的基本信息(比如会员卡积分、开卡酒店等等)。我的想法是这样,我实在是想不通之前的那种表的设计方法到底为什么要这么做,有什么必要?
   发表时间:2009-12-08  
出于性能等方面的考虑,适当的冗余是合适的。
实际项目中会有很多看似不满足某某规范的地方,一般总是出于其他方面的考虑,不必太教条化,合适就行。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics