工程数据库关键技术一.工程数据的一致性控制一致性控制又称并发性控制,它是多用户的数据库系统必须解决的一个重要问题,它将保证多个用户同时运行一个数据库时的正确性
一般在数据库系统中用户都是以事务的方式来运行数据库的,而事务是由若干数据库语句组成的序列,它们顺序地被执行,逐步将数据库的一个状态变换到另一个状态,保持数据库的一致性
但是,在多个用户同时运行各自的事务时,为了提高运行效率,并非简单地由数据库管理系统统一来排列一个事务的运行次序,等一个事务完全执行完毕之后,再启动另一个事务的执行,而是让各事务中的语句交错地执行
因为是多个事务同时执行,那么这些事务就可能有多种执行顺序
任何一种顺序在逻辑上都是行得通的,但是否符合设计者的意图就必须确定一种判断各事务的语句的交错执行是否正确的“一致性控制要求准则”
如果各事务中的语句交错执行的效果,能与将事务一个接一个地串行执行的效果一样,则称这种交错执行是一种可串行化的事务执行
并发控制的目的是获得一种可串行化的事务执行
2.长事务处理工程数据库与传统的商用数据库有着本质的不同
工程数据库处理事务不可能在几秒钟内能完成,它经常进行的是长事务
例如在发动机设计时,发动机各部件的设计过程可能持续时间很长——几分钟、几小时、甚至几天才能完成
因此要求工程数据库管理系统提供长事务的功能.妥善解决与长事务有关的并发、共享和完整性约束等问题
3.版本管理工程设计过程具有以下特点:①一个设计过程是一个反复试探的过程,往往对于工程实体的设计采用多种设计方案进行设计比较优化;②一个工程实体是分阶段进行设计的,各个阶段性结果都是有价值的;③对于大部分新产品的设计,往往只是对原产品的某些部分进行改进,特别是对某一型号的产品的模型设计更是如此
因此,各产品之间相同部分的属性是主要的,不同部分的属性是次要的
综上所述,一个产品在设计过程中,由于性能描述方法的不同,设计方案的差异,以及性能要求的差别,在设计的各个不同阶段会形成不同设计版本
版本管理的技术就是要解决新版本的生成;统一协调地管理各个版本;有效地记录各个版本的演变历史等问题
4.安全性控制对于工程数据库管理系统来说,安全性的控制是十分重要的
可以根据各子系统的不同安全级要求,实现不同程度的安全控制
主要包括以下几个方面:(1)设置用户名和口令以检查用户的身份是保证数据库安全的第一道屏障
以此决定是否允许该用户登录和以什么身份登录
(2)设置表操作权限,不同用户对同一表可有不同授权,如读、写、删除
(3)设置表记录操作权限,总体用来指挥和协调各子系统的文件如任务书、协调卡、性能结构参数等,这些文件对不同的子系统只授予与各自相关记录的操作权限
(4)设置表字段的写权限,总体用来协调各子系统的文件,要求不同的子系统对这些文件只授予与各自相关的字段的写入权,如任务书、协调卡需要签字的字段
除此之外,还应考虑由于各种设备的故障或操作失误而遭受的破坏、优化查询等
5.工程数据字典的维护工程数据库在运行过程中,数据库的状态和结构是在动态变化的
工程设计应用程序在使用工程数据库期间,经常会对数据库概念模式进行动态修改和扩展
在工程设计中,工程数据库中的设计数据也是逐步完成的,因而在使用过程中,数据库模式也在相应地改变,直至设计完成,一个“完整的”数据库才建造起来
所以,对工程数据的数据字典也必须经常进行维护,以便完成模式演变的情况
它主要完成整个工程数据库系统中数据库的定义及分布情况,如全局表对应的局部表名和局部表存储信息
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。