我想请问各位,在设计数据库的时候,一般什么时候用到主外键关系
比如说有这样一个设计
在数据库中存取一门课程的内容
有必要这样设计吗?
先建一个存取章的数据库
字段为id(主键),name(章的名称)
再建一个表存取节,里面同时存取课程内容
字段为id(主键),zhangid(外键),name(节名称),zhang(章的名称),content(这一节的具体课程内容)
请各位指点,在此特别感谢各位

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【xtbzqw】截止到2008-07-11 08:51:00的历史汇总数据(不包括此帖):
    发帖的总数量:34                       发帖的总分数:350                      每贴平均分数:10                       
    回帖的总数量:44                       得分贴总数量:11                       回帖的得分率:25%                      
    结贴的总数量:33                       结贴的总分数:330                      
    无满意结贴数:18                       无满意结贴分:460                      
    未结的帖子数:1                        未结的总分数:20                       
    结贴的百分比:97.06 %               结分的百分比:94.29 %                  
    无满意结贴率:54.55 %               无满意结分率:139.39%                  
    值得尊敬
      

  2.   

    外键这种东西,就看你的需要了,如果你的需求是节的表中的zhangid必须是章的表里有的数据的话,就一定要
    有外键了,外键可以保持数据的一致性。如果你用了外键,并且节的表中有章里的数据,那么这时是不能删除章
    里的数据的,必须先删除节里的数据,再删除章里的数据。说白了,还是为了保持数据的一致性。
      

  3.   

    肯定要这样设计,外键必需要有,这是为了你在加入节内容的一定要在章里面.但在节里面的章的名字就不要了,因为你已经有了zhangID