禁止删除”: Raise irner蛳ty__e肿r; End征 ExcceOtion When then integergrity_error Raise application._error error,errmsg ; END: 从上述结果中可以看出,S rongiseD.架框的它,序程本脚器发触的行执可了成生部分还是和PDM文件中已经存在的一样。只是往里面填加了具体的操作语句。 在前面我已经介绍过SDesignor可以在触发器模板中定义触发器类型。而且规定了几种基本的触发器类型,分别是相对于插入、删除以及更新操作而言的。又有事先和事后两种。所以一共有六种基本触发器:IA,IB,UA,UB,DA,DB。这里在S Designor中定义的这六种基本的类型一般是通过主键和外键之间的关联关系来起到维护的数据的完整性的。一般的最简单的以下两种参照完整性: ● 不能删除或更新父表中正在被相应子表中外键参照的主键值。 · 不能向子表或更新在相应父表的主键列中不存在的外键值。 事实上.以上的两种参照完整性也不是绝对的,不如第一条中的情况,规则也可以改为事后的触发器,即删除或更新父表中的被相应子表参照的主键值后,也删除或更新相应子表中的外键值。
而这些基本的类型虽然不是绝对的,但是我们也可以看到它们的数量是有限的.也就是说将这些基本的必须遵守的规则可以事先模块化。 61.5 从SDesignor中得到的有益的启示 从以上的对SDesignor的大概的介绍可以看出,它提供了将规范化和自动化的一种思路。 关系的核心的概念就是关系数据模式。关键是反映数据关系的各种关系如何在模式中体现出来,那么建立合理、客观的模式是我们分析J:作的第一步。这部分工作的特点和规则我将在下一章里讲述。 ORACLE的实体是按照表的形式加以组织和反映的。每张表都可以看作是一个基本的关系的反映,这里说的关系是指的表里的各个属性之间的关联关系,因为各个属性的组合实际上就是表的一条记录 也就是表的每一行 ,那么你所确定的这种记录反映了什么实体的概念,它是若干属性的一个集合,同时也是一种关系的定义。 实际上ORACLE中,一个大的客观系统实际上可以看成是一个复杂的、完整的关系,只是我们如果将这种庞杂的复杂关系直接建成~个表的话,会产生种种问题,即关系不明确,操作上复杂而且不可靠。的数据完整性差,维护上存在极大的困难,这样就使得我们所建立的的质量是很差的。
所以我们必须引入建立的一些规则,这些规则将用于影响数据的冗余度,的一致性和丢失等问题。比如我们将的关系模式进行分析,提出模式的要求:这就是范式的概念。范式的概念的作用在于将系统的大的、庞杂的关系进行投影分解,结果是分解为各个小的关系的组合。当然这种投影分解的方式可以不是唯一的,但是必须保证在分解前和分解后具有等价性,分解后的模式应能更好地反映出客观现实中对数据处理的要求。 应用这样的规则并结合实际的实体含义,我们就可以对采取什么样的关系模式反映整个系统有了一个基本的框架。也就是可以画出系统分析的ER圈,S_Designor软件的作用就是从这里开始的。 将系统进行关系的投影分解便将整个系统分解成两个部分,也就是说反映系统数据结构有两个组成部分,一是分解完后的实体概念.也即各个实体表的概念.再有一个就是实体表和实体表之间的关联关系。这种关联关系与客观情况中的属性的具体含义是有关的,但是最终表现形式还是主键与外键之间的对应关系,这一点上还是相同的,而且这种关联关系将直接影响到实体表和实体表之间的在进行操作时的数据之间的相互的依赖关系.这对于我们对数据进行维护时,有重要的参考价值。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-37192-5.html
如果没有石油
回归了终于
上台后坚持独立外交