IB类型,即InseR的实现触发器:当向子表插入一条新的元组时,检查在父表中是否 已经存在和子表新插入的主键的上层实体分段中相同的主键编码是否已经存在,如果不存在的话.该插入操作将被认为是非法操作而禁止。 它的代码举例如下: TRIGGER BEFOREINSERTCREATE JXZY.TIB,IPEONJXZYPIPEFOREACHROWdeclare integrity_errorexception; errno integer; errmsg char 200 ; dummy integer; found boolean; ofInsertChildParentExistconstraintfor 一Declaration the PATH” parent”PIPE cursor number is cpkl_pipe-path var_project_id selectl 44 fromPIPE—PATH where oath_num PIPE—PATH_NUM var_pipe and isnot null; var_pipejaath_numbegin existwhen achildin”PIPE” inseming —Parent”PIPE_PATH”must isnotnullthen if:new.PIPE—PATH—NUM opencpklnipe_path :new.PIPE_PATH—NuM ; fetch into cpkl...pipejaathdummy; found: cpkl_pipe_pam%FOUND; close cpkl_pipe_path; ifnotfoundthen errno: -20012: errmsg: ’管路表中无此管路信息.禁止插入.’; raise error; integrity endif; endif;-··Errors handlingexception when then integrity_error raise_application_error errno,errmsg ;end;· 没有决定关系 止在这种关系模式中,上下层的主键编码没有决定关系。
只是通过在子表 F层实体表 中将上层的主键编码作为一般外键的方式得到实现;或者是通过建立另外的一张从属关系表米得到实现。第二种方式实际上在性质上和后面将介绍的连接关系模式的维护是一致的,所以这里重点讲述第一种方式的维护。 Delete类触发器: DA类利,即Delete的事后触发器:当删除上层实体中的元组 实际上删除主键值 I付,相戍删除子表中的外键值 这里一般将子表中的相应的外键值设为空即可 。 DB类型,即Delete的实现触发器:当要删除上层实体中的元组 实际上是删除主键值 时,如表中存在与该主键值相同的外键值,则该删除操作被认为是非法的,被禁Ir。 上述两种触发器实际上也是相排斥的,选取哪一种要视具体的实际情况而定。以上两种类刑的触发器代码实现和决定关系的类似 逻辑上 ,这里就不再详述了。 Update类触发器: UA类型,即Update的事后触发器:当父表中的主键进行更新时 一般情况下这种操作被认为是不正常的 ,子表中的相应的外键也进行更新。 UB类型,即Update的事先触发器:当更新父表中的主键进行更新时。如表中还存在相应的外键值,那么这种更新操作会被认为是非法的。
lnsert类触发器: IA类型,即Insert的事后触发器:与上述决定类的分段式编码中的情况相似。 IB类型,即lnsem的事先触发器:当向子表插入一条新的记录时,查看在父表中是否已经存在与子表外键相同的主键值。如果没有,就应该将外键值设为空。2.标识关系的维护规则 标识关系实际上是反映了层次关系中的反作用的关系,上层实体是由下层实体所组成的.且这种纲成芙系是一种有序的组合关系。那么上层实体就可以由F层的实体中的某一个仃限的绢合来进行标识。这种标识一般不将它看作是候选关键字.而是只将它看成是对上r层实体问有序组成的~种描述。例如在井和管道等的实体关系中,管道实体中就i52了起始井和终Ir井来与下层实体井建立标识关系。因为上层实体是由下层实体有序地组成,所以为了更好地将上层实体的标识属性和下层实体对应,而关系中元组的存储本身可以是无序的。所以在下层实体表中有必要建立元组的序列号列。 实际上ORACLE支持序列号的使用,它可以为某张表设置一个唯一数。事实上通过这个唯一的序列号就可以唯一确定元组。 使H 序列号实践上为每一张表定义了一个可以唯一标识元组的主键属性,它本身可以作为士键存在,那么实体本身原有的主键值可以通过设置唯一索引的办法来查询。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-37192-27.html
此时此刻特别怀念毛主席
岀名后说话更应慎重才是