【php精品源码栏目提醒】:以下是网学会员为您推荐的php精品源码-第11章化工物性数据库网络 - 其它资料,希望本篇文章对您学习有所帮助。
第11章 化工物性数据库网络查询系统设计 化学工程是信息量特别大的一门学科,到11.1 物性数据简介 2000年4月底,在CAS录的化学物质就已经超 过了2400万种,他们的各种性质加上多元体学 的性质,可以说是一个无边无际的数据海洋。
面11.2 架设网站开发 对如此之多的数据,平常化工生产、科学研究等平台 需要花费三分之一的时间去查找、筛选和估算所 需要的物性数据。
随着计算机在化学工程学科中 的应用日益广泛,利用计算机进行化工设计、化11.3 构建物性数据 工模拟、化工过程控制变得越来越重要,工程师库 可以从更深层次的理论角度建立过程模拟,采用 数学方法对过程进行较为详尽的描写,并将由此11.4数据库浏览及 建立的过程模拟开发计算机应用软件。
本系统设计中从化工物性数据的角度进行分查询 析,把物性数据分为数据型数据和数值型数据两 大类,并按设计要求输入数据库中,然后建立针 对数据库的查询系统,方便物性数据的查询和计 算。
目录 11.1 11.2 11.3 11.4 目录 11.1 物性数据简介—1 物性数据可以说是工程设计和科学研究中不可缺少的基础数据。
物性估算法,就是利用热力学、统计力学、分子结构和分子物理性质的理论知识进行关联,以便在一定的范围内、在少量可靠的实验数据的基础上推算出具有一定精度(工程上允许的误差范围)的各种物质的物性数据。
物性估算法的意义在于:1减少(免)繁重的实验工作量;2扩大实验结果的应用范围和使用价值。
现代科学技术的发展正越来越迫切地要求人们从实验科学走向理论科学,要求人们在更高的水平上把宏观与微观、定性和定量结合起来,对大量的实验材料进行整理和概括,以便最大限度地扩大实验结果的应用范围和使用价值;3为选择新材料提供依据。
当人们寻求在某种条件下具有某种性质的材料时,人们可以借助物性估算法算出多种物质的某种特性参数,从中预选出最优者;4目前,流程模拟软件已经广泛地应用在化工系统,在整个模拟计算中,物性数据的计算占举足轻重的地位。
11.1 11.2 11.3 11.4 目录 11.1 物性数据简介—2 当要估算某物质在一定条件下的某一物性数值,首先要寻找物质这一性质与表征物质所在条件的参数间的函数。
目前,寻找这种函数关系的途径主要有两种: 1、完全经验法,即将实验所得的实验数据整理成方程式,应用时按方程式计算便可。
完全经验法所得到的方程式的适用范围受原来实验数据的限制,也就是说方程式的使用范围不能超出用于拟合该方程的实验数据范围之外,而且要求用来整理方程的原始数据具有足够的数量和可靠性; 2、半经验半理论法,此法是用理论推导出方程式,然后实验求出方程式中的常数。
由于有理论依据,故所得到的方程式更合理和具有一定的普遍性,加上有实验数据加以充实,得到的方程式更加符合实际。
目前,半经验半理论法被广泛使用。
半经验半理论法采用的方式大体上有三种:1)对理想体系加以校正;2)对比状态原理相关,其原理是:对于均相纯物质,尽管物质所在的温度、压力可以不同,但只要它们处于相同的对比状态,则所有物质都表现出相同的对比性质;3)基团贡献法,也即所有的结构单元加和法,其根据的来源是:物质的某一性质是组成该物质分子的基团性质之和。
11.1 11.2 11.3 11.4 目录 11.1 物性数据简介—3 不论哪一种估算法,通常都要求其至少能在一定范围内同时适用于多种物质,即要求有一定的通用性,将这种方法用于某一待估物性时,只要按要求输入体现该物质特性的参数,便能计算出物性值。
作为物质的特性参数,通常有两种:一是以分子结构为基础的基团结构参数;另一种是其值普遍易得的某种特定状态下的性质,如临界参数、临界压缩因子、偏心因子、正常沸点、势能参数等。
作为物性估算的输入参数,其值最好是由实验得到,当没有现成的数据时,可以用估算法计算。
事实上由于每种物质的各种物理性质之间存在着内在的联系,它们之间可以互相推算,用于推算的输入参数和被推算的参数本质上并非固定不变的,例如偏心因子可以由饱和蒸气压数据求得,但它也可以用来求算饱和蒸气压。
通常都是由易得的去求难得的。
11.1 11.2 11.3 11.4 目录11.2 架设网站开发平台 11.2.1 平台的组成 11.2.2 平台的构建 11.1 11.2 11.3 11.4 目录 11.2.1 平台的组成—1 用于架设网站的平台(这里说的平台主要是指网页脚本解析平台和数据库支持平台)可以有很多选择,比如脚本语言有ASP、
PHP、JSP等,数据库方面有Oracle、SQLServer、MySQL等。
这些流行的网页脚本语言和数据库的技术都发展的相当成熟,对于选择合乎自己开发所需要的平台,还是必须从自身的开发要求考虑。
结合以上情况,在化工数据库的网站设计里,我们选用了PHPMySQL的这个组合作为开发平台,选择了美国Microsoft公司的Windows 2000 Server中文版作为操作系统,而编写网页所使用的软件是Macromedia公司的Dreamweaver 4.0。
当前,服务器端脚本已经是开发动态网页的常用方式,虽然CGI仍然具备灵活的优势,但在一般情况下,使用服务器端脚本更容易、方便。
然而,与CGI不同的是,服务器端脚本没有一个统一的标准,不同的服务器端脚本使用自己的语法。
当前比较常用的有:Active Server Pages(ASP),ColdFusion,Java Servlets,Personal Home Page(
PHP)等。
这些技术中,既包括有大公司支持的软件,如ASP,也包括通过Internet进行合作开发的开放源代码软件,如
PHP。
PHP正是这样一种服务器端脚本语言,它最开始是由Rasums Lerdorf编写的,只是一个简单的用Perl语言编写的CGI程序,用于记录访问他自己的网页的访问者。
以后它又被用C语言重新写过,范围扩大到访问数据库。
在这期间,有许多人向Rasums Lerdorf要此程序的拷贝,以便自己使用,Rasums Lerdorf为此写了一些介绍此程序的文档,并发布了
PHP v1.0。
以后,越来越多的人使用
PHP,并强烈要求增加一些其他的特性,如循环语句和数组变量等,这时其他的一些程序员也开始参与
PHP源码的编写。
PHP进行了重新编写,
PHP v3.0就出现了。
当前,使用
PHP的网站已经超过80万,并且还在不断的增加。
11.1 11.2 11.3 11.4 目录 11.2.1 平台的组成—2 除了向浏览器发送动态网页之外,
PHP还能发送不同HTTP头标识,使得能 提 供 网 页 重 定 位 、 与 Web 服 务 器 的 安 全 认 证 结 合 的 能 力 、 以 及 设 置Cookie。
PHP 能 提 供 与 多 种 数 据 库 直 接 互 联 的 能 力 , 包 括 MySQL、Sybase、Informix、Oracle、MsSQL等,也能支持ODBC。
并通过额外的库能够支持会话管理和XML处理(这些库都是基本的库,因此也是
PHP用户的基本配置)。
从这里我们可以看出,
PHP已经不再是简单的服务器端脚本了,按照《
PHP3浏览器应用编程》的作者David Medinets的话,
PHP是一种应用服务器。
因为它不仅仅包括一个完整的编程语言,而且它还包括完整的访问数据库的能力、支持Internet协议(如电子邮件和HTTP)的能力,这一整套技术使得
PHP能与ASP、ColdFusion、WebSphere互较短长。
要运行
PHP,通常使用Linux或FreeBSD作为操作系统,使用Apache作为Web服务器。
当然使用其他操作系统也同样可行,这是因为
PHP是一种跨平台的软件,这当然得益于它是开放源代码的软件。
但是如果不使用Apache服务器,那么
PHP就只能以CGI的方式运行,这样就不能利用将
PHP编译进Apache带来的性能优势。
当从www.
php.net中下载了最新版本的
PHP并安装配置完毕之后,就可以使用编辑器或网页制作软件来编写
PHP代码了。
如果你能使用C或Perl进行编程,就会发现
PHP编程并不复杂,作为程序语言的
PHP比C简单,比Perl易懂。
下面是一个最简单的嵌入
PHP程序的页面。
11.1 11.2 11.3 11.4 目录 11.2.1 平台的组成—3ltHTMLgtltHEADgtltTITLEgtTestlt/TITLEgtlt/HEADgtltBODYgtltPHP string world gtltH1gtHelloltphp echo string gtlt/H1gtlt/BODYgtlt/HTMLgt在HTML网页中嵌入的
PHP代码,需要以ltphp标记开始,以便让
PHP知道程序代码开始,以gt标记结束。
上面这个页面将显示Helloworld的结果。
这里可以看出,
PHP程序语法与C或Perl非常类似。
事实上,
PHP来源于C和Perl,支持C和Perl大部分语法和操作符,因此使用
PHP对C和Perl程序员都是非常简单的事情。
PHP已经证明是非常实用的软件,性能、可靠性、稳定性非常高,
PHP具备各种数据类型并支持复杂的文本处理,它甚至支持面向对象,能配置为处理XML等等,更为重要的是
PHP的这些功能都是非常实用的,要知道
PHP的开发者都是根据自己的需要自愿进行的开发,它具备的功能有着实际用途的。
虽不能说
PHP比同类产品强,但其实力不容忽视。
PHP是跨平台的产品,它能运行在多种Unix,以及Windows NT上,并能访问多种不同的数据库,对很多人来讲,这一点非常重要。
商业产品通常要求非常苛刻,只能和特定的操作系统和数据库相互协作。
而人们喜欢使用自己已经熟悉的操作系统、Web服务器和数据库,如Linux、Apache和MySQL。
11.1 11.2 11.3 11.4 目录 11.2.1 平台的组成—4
PHP是开放源代码的软件,很多人对此不以为然,然而他们忽视了占Web服务器市场58的Apache服务器,忽视了Linux、FreeBSD等开放源代码的操作系统,这些开放源代码的软件结合在一起,就形成了一个非常有效的解决方案。
即便不考虑源代码的因素,
PHP不需要任何费用的特点也是商业软件无法相比的,虽然ASP也是免费的,然而很多人忽视了运行Windows NT及MS SQL的费用,而
PHP 和 Linux/FreeBSD、Apache、MySQL 相 互 合 作 , 几 乎 不 需 要 任 何 软 件 费用,当前如果不考虑盗版,究竟有多少人还会坚持ASP呢?
PHP有良好的技术支持,可以通过电子邮件、论坛、网页、IRC等方式获得技术支持。
这听起来有些好笑,难道这比商业软件的技术支持更有效吗?事实上依我个人使用商业软件和开放源代码软件的经验,这种技术支持形式相当不错,设想一下,你能够得到来自ASP开发组的技术服务吗?我想更常见的结果是在一通800电话之后,得到的只是一堆无用的建议,最后你终于厌倦了转来转去的电话。
即便是现场服务,也许是某个工程师在一遍又一遍的重装系统,直到系统偶然的运行正常为止,这样也好,系统管理员至少可以装作什么都不懂的样子休息一下。
而开放源代码使你能提出更接近故障本质的现象,不但遇到过同样现象的使用者会提供帮助,
PHP的开发者也能提供帮助。
有什么技术支持比几十万个使用者,其中大多数都是使用
PHP的老手,提供的帮助更有效呢。
11.1 11.2 11.3 11.4 目录 11.2.1 平台的组成—5 无论如何,商业支持并不是一个软件流行的必要条件,反过来倒是可能的,最近的例子Linux不就是由于流行而得到了商业支持的吗?例如最新版本的网页制作工具DreamWaver 4.0,也开始支持
PHP的标记,允许进行
PHP的编写了,这不正是一个好的开端吗?越来越多的国 内 Web 开 发 者 也 开 始 将 目 光 投 向
PHP, 其 中 大 多 数 选 择 了 UnixLinuxFreeBSD Solaris AIX HP-UX等等作为Web站点的操作系统。
国内的出版界也会陆续出版一些
PHP的著作,但对于所有的
PHP使用者,我想
PHP的老家www.
php.net都是一个必须经常浏览的地方,从这里查看
PHP的最新信息和下载它的最新版本。
我们选用了Microsoft的Windows 2000 Server作为开发平台的操作系统,并在此基础上安装PHPMySQL,在进行安装之前我们假设所需要的Windows 2000 Server已经按照默认安装过程安装完毕。
11.1 11.2 11.3 11.4 目录 11.2.2 平台的构建 —1 我们选用了Microsoft的Windows 2000 Server作为开发平台的操作系统,并在此基础上安装PHPMySQL,在进行安装之前我们假设所需要的Windows 2000 Server已经按照默认安装过程安装完毕。
下面我们开始构建PHPMySQL平台:安装需要的软件 网页服务器平台IIS,在Windows 2000 Server的安装光盘里有。
Php脚本解析程序,在www.
php.net免费取得,最新版本是4.20。
数据库平台MySQL安装过程,可以在www.mysql.com免费获得,最新版本是3.23.49。
安装IIS 在Windows 2000 Server里,打开控制面板,运行添加删除程序,会出现一个安装的对话框,选择“添加/删除Windows组件”,在里面选择“Internet信息服务器”,然后下一步,开始安装。
根据提示放入光盘,系统提示安装成功就可以了。
11.1 11.2 11.3 11.4 目录 11.2.2 平台的构建—2安装
PHP和MySQL 现在最新版本的
PHP和MySQL对Windows的支持已经很好了,按默 认 安 装 都 可 以 实 现 我 们 需 要 的 功 能 了 。
双 击 下 载 的
php-4.2.0-installer.exe安装程序开始安装,除了选择服务器支持的时候,选择IIS5.0或者以上版本之外,其他的选项完全可以按照安装程序的默认值进行安装,安装路径的默认值是c:
php,安装程序会自动做好
PHP和IIS的整合工作。
再 安 装 MySQL, 下 载 到 的 是 一 个 zip 文 件 mysql-3.23.49-win.zip,用winzip解压缩之后,运行setup来开始安装。
我们也不需要更改安装过程中的选项,安装完毕之后,我们需要启动MySQL,单击开始菜单,选择“运行”,输入“cmd”并确认,会出现命令行,我们在里面找到MySQL的安装路径,默认是在C:Mysql,输入以下指令cdc:mysqlbin,mysqld-nt --install,这个指令会安装MySQL 为系统服务。
打开控制面板-gt管理工具-gt服务,在里面找到MySQL这项,启动它,这样每次系统启动,MySQL就会随之一起运行了。
11.1 11.2 11.3 11.4 目录 11.2.2 平台的构建—3配置和调试开发平台 打开控制面板-gt管理工具-gt Internet 信息服务,这里是IIS的控制中心,我们在左 边的树型菜单里新建一个网站,然后打开网站的属性。
在网站标识那里填上网站的ip,如 果没有确定这个ip,可以填127.0.0.1。
在主目录选项卡里填写主目录,这个目录就是我 们存放网页文件的目录,在这页里单击“应用程序设置”的配置按钮,在出现的对话框里, 映射选项卡的列表里面应该会有
PHP、
PHP3、PHTML这几项,这个就表示
PHP已经和IIS 完全整合起来了。
在文档选项卡里,启用默认文档,并添加index.
php为默认文档。
新建一个文本文件,在里面写以下这段内容:lthtmlgtltheadgtlttitlegtHello,the worldlt/titlegtlt/headgtltbodygtltphp echo “Hello,the worldn”gtlt/bodygtlt/htmlgt 把这个文本文件保存为index.
php,并放在IIS的网页主目录里,打开浏览器,在地址里输 入127.0.0.1/index.
php,看看有什么效果。
如果出现Hello,the world这个信息,就 证明平台工作正常。
如果有出错信息,请检查上述安装过程。
11.1 11.2 11.3 11.4 目录 11.2.2 平台的构建—4 我们再来测试一下MySQL服务器,先运行c:Mysqlbinmysql.exe,这是一个数据库的客户端软件,通过这个我们可以来管理MySQL。
在mysqlgt的提示符下输入show databases注意不 Database能少了后面的分号,然后回车,如果出现右边的信息证明MySQL已经正常工作 Mysql了。
如果没有出现上面的信息,请再次安装MySQL并确认MySQL服务有没有 test运行。
至此我们的开发平台已经完全建立好了。
11.1 11.2 11.3 11.4 目录 11.3 构建物性数据库 11.3.1化工数据结构简介11.3.2 数据型物性数据的处理 11.3.3辅助表格的建立 11.1 11.2 11.3 11.4 目录 11.3.1化工数据结构简介 化工生产过程中共性本质规律是通过一些共性的基本量(物性数据)以及这些基本量的互相关系来体现的。
物性数据是化工计算过程中不可缺少的。
化工数据可以分为两类:一类与状态(温度或压力)无关,称作数据型,如临界温度、临界压力、标准态热力学性质等;另一类与状态(温度或压力)有关,称作数值型,如非标准态热力学性质、传递性质等。
前一类数据,只要知道物质的种类就可以查到其对应的物性数据;而后一类则需要物体的状态(温度压力或组成)才能通过数值计算得到相应的物性数据。
我们下面就把数据分成这两种类型来分别处理。
11.1 11.2 11.3 11.4 目录 11.3.2 数据型物性数据的处理 —1 这类数据通常比较简单,只需要知道物质的名称就可以查找到所需要的数据。
例如,要知道乙醇临界温度的数据,因为乙醇的临界温度跟乙醇这个物质本身是唯一对应的。
可先检索乙醇在数据库中的编号(num),再查找出临界温度的那列,就可以得到临界温度的数值了。
这样可以看出,每个物质的数据型物性参数都可以与物质的编号联系在一起。
我们使用上面所说的客户端工具mysql在数据库里建立我们所需要的数据库结构。
首先,我们把数据库命名为cedata,并建立这样一个数据库。
为此,在mysql里运行以下的指令:CREATE DATABASE cedata 注意mysql指令里的“”是不能少的。
其实mysql本身是不辨别大小写的,也就是说CEDATA和cedata这两个数据库在mysql看来,是同一回事。
本文约定,所有的指令关键字都采用大写,用户的变量名都采用小写,而且一般情况下不给出指令的具体语法,只直接给出指令内容。
运行上面的指令,在数据库里我们会得到一个名为cedata的数据库,用SHOW DATABASES命令可以察看整个mysql里保存了多少个数据库。
我们下面的操作都将在cedata这个数据库里进行,为此,我们运行以下的指令:USE cedata 把工作数据库指定为cedata。
根据上面的分析,数据型的物性参数虽然有很多,但全部都与物质的名称唯一对应,而且数值不会改变,因此,我们建立一个名为wuzhi的表存放这些数据型的物性参数。
11.1 11.2 11.3 11.4 目录 11.3.2 数据型物性数据的处理—2 在cedata里运行以下指令: CREATE TABLE wuzhi 建立名为wuzhi的表 num INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY 编号 fenzishi VARCHAR20 分子式 ename VARCHAR40 英文名 name VARCHAR40 NOT NULL 中文名 fenziliang FLOAT8 分子量………… w FLOAT8 偏心因子 debyes FLOAT8 偶极矩 说明,mysql里支持注释,上面命令中的就是表示注释,在mysql里是不需要输 入。
这样我们就得到了一张名为wuzhi的表,里面包含了物质的编号、名称和一些常用的 数据型物性数据。
查询数据的时候可以先查找物质的中文名或英文名,然后得到指定物质 在数据库里的位置,再查看物质所在行的指定属性数值便可以了。
这是我们后面用
PHP程 序查找数据的原理所在。
另外,如需要添加新的一项物性数据,只需要在这个表里增加新 的一列就可以了。
11.1 11.2 11.3 11.4 目录 11.3.2 数据型物性数据的处理—3 建立好表格之后,我们需要把收集到的数据添加到表格里去。
首先,按照表格里定义 的顺序,把数据先存放在EXCEL里。
如下表: 物质编号 分子式 英文名 中文名 …… 1 H2 O Water 水 …… 2 C H2 O 2 F o r m ic Ac id 甲酸 …… …… …… …… …… …… 这里的物质顺序只作解释说明用,跟实际存入数据库的顺序不同。
把所有数据都填好之 后 ,将 数 据部 分 (除 了 第一 行 作说 明用的中文文字)复制出来,粘贴到一个名为wuzhi.txt的文本文件里。
这时我们运行下面的指令就可以把数据批量地添加到数据库了。
LOAD DATA LOCAL INFILE quotc:/mysql/wuzhi.txtquot INTO TABLE wuzhi LINES TERMINATED BY n 这里需要向数据库指出正确的文本文.
上一篇:
WordPress与PHP环境搭建
下一篇:
国际市场营销分析的留学论文