在我们开发的数据库系统软件中会用到一些基础数据,如:产品资料、人员信息
当别的数据库表中要用到这些数据时,为了防止数据冗余,一般只调用这些资料对应的编号,查询时用SELECT语句来JOIN,但是当这些资料被删除或修改时,关联的表与之JOIN时就会出现问题。问题1:那么当要删除对应的资料时,可能就JOIN不到对应的资料,该怎么办?
问题2:当我们修改某些资料时,某个跟它关联的表用的可能是修改前的资料,这
       时应该怎么办?望高手不吝指教!很快结帖!

解决方案 »

  1.   

    to: kinlee() ( ) 信誉:100 
    谢谢你的关注
    “主关键字不能修改”如果修改了别的内容,如:规格、型号,而某个表用的是修改前的规格、型号该怎么办?
      

  2.   

    我有一个想法:记录不要真的删除,做个标志,假删,然后select的时候凡是假删的不起作用,这样不会破坏表之间的关系
      

  3.   

    to: Means_pan(酷鱼) ( ) 信誉:100 
    我也这样想过,但是如果某个记录删除时只做标志,那么下面再新增记录时,记录的编号就不能连贯,如删除的记录的编号是5,那么下面的记录的编号就不能是5,而必须是从六开始,那又该怎么办?
      

  4.   

    to: Bes96261(秋水孤鶩) ( ) 信誉:100 
    那样好象并不能解决我提出的问题,如果修改了除主关键字以外的内容的内容,如:规格、型号,而某个表用的是修改前的规格、型号该怎么办?
      

  5.   

    回复:记录的编号一定要连贯吗? 那你Update这个假删记录的ID(如果可以修改),然后把它的ID放进一个变量,下一条记录的ID:=变量的ID+1
      

  6.   

    to: simonzone(多态) ( ) 信誉:105 
    谢谢关注!
     本人很菜,请问:
    “级联更新相关字段”
    “级联删除相关字段”
     分别是什么意思?