世界地震工程

广西地震工程分析信息系统平台属性数据库的设

 

0 引言

人们在长期的地震工程实践中积累了大量的数据资料,涉及的数据类型复杂,数据量庞大,而且数据具有空间分布特征[1]。如何利用计算机的数据处理技术有效地组织、管理并应用这些数据以及对这些数据进行数字化、定量化以及智能化的要求日益提高。地震工程的全过程,可以说是一项不断获取数据、分析数据和处理数据的过程。相对于其他工程而言,地震工程具有工程的隐蔽性、地质条件的复杂多变性和岩土体质把握的不准确性,在工程的勘察、设计和施工中始终需要获取各种各样的信息和数据,更需要对这些数量大、种类多的信息和数据进行快速处理,及时反馈,优化设计,指导施工。目前,美国、日本等世界上地震多发的国家的有关政府机构和研究部门都十分重视强震及工程震害资料的收集和整理,并建立了相应的数据库[2]。经过几十年的发展,中国地震工程理论研究和实践应用也得到了较大的发展[3]。地震工程软件是先进、成熟的地震工程理论和方法在科研和工程应用中最强有力的工具,是提高地震工程工作效率的必需手段,同时也是实现地震工程智能化、集成化、信息化和可视化的保证[4]。为此,本文介绍了广西地震工程分析信息系统平台属性数据库的设计与构建。

1 地震工程数据库

地震工程属性数据库包括:地震安评数据库[5]、地震目录[6]数据库、地震动参数数据库[7]、砂土液化数据库、钻孔土层数据库、活动构造数据库、工程震害数据库[8]、图件信息数据库8个数据库,共涉及到42张表,如表1所示。库与库间及表与表间都存在一定关系,这里以地震安评数据库、砂土液化数据库及钻孔土层数据库所涉及到的14张表为例,说明表中关系的建立。地震安评数据库包括:合同数据库(Safe_EQContractTab)、项目数据库(Safe_EQProjTab)2个表;砂土液化数据库包括SPT的属性数据库(SPT_AttTab)、CPT的属性数据库(CPT_AttTab)、室内动三轴试验数据库(Dynamic_TriaxialTab)、取样分析数据库(Sample_AnaTab)、砂土液化可能性评价专题数据库(SoilLique_EvalTab)、砂土液化防治处理专题数据库(SoilLique_PrevenTab)6个表;钻孔土层数据库包括工程基本数据(BORE_ProjBasicData)、钻孔数据(BORE_BoreData)、综合分层数据(BORE_GeneLayerData)、土工试验数据(BORE_SoilExpData)、水试样数据(BORE_WaterExpData)5个表。表间的关系,如图1所示。

表1 属性数据库表Tab.1 Attribute database table编号数据库名所含数据表1地震安评数据库合同数据表、项目数据表2地震目录数据库Con_DAT、Con_EQ3、Con_EQ2、Con_EGT、Con_WKF、Con_SHK3地震动参数数据库设计地震动参数数据库、最不利设计地震动数据库4砂土液化数据库SPT的属性数据库、CPT的属性数据库、室内动三轴试验数据库、取样分析数据库、砂土液化可能性评价专题数据库、砂土液化防治处理专题数据库5钻孔土层数据库工程基本数据表、钻孔数据表、综合分层数据表、土工试验数据表、水试样数据表、原位测试表6活动构造数据库活动断裂的属性数据库结构7工程震害数据库建筑物震害子库、构筑物震害子库、生命线震害子库之排水给水系统、生命线震害子库之电力系统、生命线震害子库之通信系统、生命线震害子库之供气输油系统、生命线震害子库之交通系统、生命线震害子库之桥梁系统、生命线震害子库之港口系统、生命线震害子库之坝及水利系统、场地震害子库之滑坡、场地震害子库之场地液化、场地震害子库之地基震陷、场地震害子库之地面变形、次生灾害数据库、灾害损失数据库8图件信息数据库图件信息数据库

图1 数据库表间关系图Fig.1 Relationship of database table

2 ADO连接数据库

采用ADO技术完成数据库的连接,将8个数据库封装成一个独立的ADOConn类,每次连接都将这个类的.h和.cpp文件添加进来。为了确保数据库连接的安全,通过一个对话框类DBLink来录入连接数据库所需的数据库名、用户名、密码信息,然后将其以二进制的方式写入磁盘。ADOConn类完成对相应二进制文件的内容读取,实现数据库的连接。具体方法是:首先,建立一个结构体Linker,包括Provider、Server、DataBase、User 及PassWord五个char型的数组成员,每个数组定长,都设为相同的长度;然后,将其用fwrite的方式一次性写入(不能用fprint方式,因为fprint方式不能以定长字节的方式写入),当要连接数据库时,一次性读入,用户不用关心其中实现的机制。

为了使写入磁盘的数据立刻显示或立刻有效,以便ADOConn类能够立刻读取,需要在fwrite代码的下面添加一段代码:fflush(fp)或fclose(fp)。这段代码的主要作用是刷新数据流,使写入缓冲区的内容立刻写入磁盘。当然为了实现连接每个数据库之后,在关闭连接的数据库时,清除写入磁盘文件的连接数据库的信息,需要在数据库关闭之前,将磁盘内的文件内容清空,以便下次登录时不再自动连接数据库,以保证数据库的安全。

上一篇:高烈度区高层隔震结构研究新进展与应用
下一篇:没有了