数据库英文字段的中文显示研究第24计算机应用与软件。24No。4Apr。2007数据库英文字段的中文显示研究马丽艳郭子平程慧芬'(河北工程大学信电学院河北邯郸)(邯郸市水利水电勘测设计研究院信息部河北邯郸)摘要在开发数据库应用的项目中,常涉及到对企业数据库中数据表的各种数据的查询浏览等信息的获取。虽然大型关系数据库均支持中文字段名称的定义,但是数据库表中的字段名称通常仍由英文字符定义。一个大型数据库往往包括数百个数据表,由成千上万个字段组成,而数据的字段名称又必须以中文名称来显示,如果在每个Sql语法中通过鹊进行中英文的转换,不仅使工作量增大,且一旦程序变化,就需修改每个语法命令,大大降低程序的灵活性。通过建立中英文数据字典维护表,从而建立通用的数据获取函数的方法,解决数据库开发中的上述问题。关键词表结构蕾”~(ring,,,Hebei,China)(ion,~,,Hebei,China),,。
‘,。。。,’g’as’。d,~,uture,。’。,ons,。
引言数据库在各个行业中都是必不可少的,小至人员薪资,大至决策支持系统等,都与数据库的应用相关]。关系数据库支持对表结构字段的中文名称定义,出于编写代码的便捷性和性能的要求及约定俗成的习惯,一般对表字段的定义都采用英文字符的表示方法,信息获取时数据的字段名称又必须以中文名称来显示,如果在每个语法中通过as进行中英文的转换,对于不大的数据库还可行,对于多达数千个字段的大型数据库来说,此工作是非常繁琐的。也缺乏足够的灵活性来适应开发要求的调整。建立数据字典表,用来存储字段的英文名称与要显示的中文名称的对应记录,编写数据获取函数自动转换数据字典中的对照记录和表中实际记录联系,来正确地显示数据,这样可有效地解决编写代码的工作量,并且通过对数据字典表的维护,做到不用修改程序代码,即可解决库表结构变化带来的数据查询显示问题。。数据库设计方法2000作为后台数据库,采用Asp。Net开发的的B/S架构的Web应用程序。以存储各种基础信息数据,提供各种职能管理服务为目的。数据库共包含189个表,其中存储工程数据的表有132个,字段数量约计1800个,表中字段名均以英文字母组合表示,数据工作表按工程类别划分,每个类别包含若干个表,共计**类。
以第16类墒情监测站的一个一字段标识符字段类型说明’CHAR(。12)主键,工程代码主键()建立中英文数据字典维护表,结构如表2。字段标识符字段类型说明IDint主键;标识收稿日期:2006—07—03。”九五”行业联合科技攻关项目。(编以某机关大型基础数据库应用为例,数据库使用号:HG-)。马丽艳,讲师,主要从事计算机教学。期马丽艳等:数据库英文字段的中文显示研究(50)显示的中文名称(50)原表的英文字段标识符啪(50)对应的表名标识符存储记录如表3。墒情监测站代码一资料截止日期~情况介绍一建立工程类别与其所属表的字典对照表,表结构如表4。字段标识符字段类型说明(50)主键(50)表名标识符,外键(50)表名中文名称存储记录如表5。
~墒情一般信息『一墒情基础信息一是数据库中存储工程数据的众多表的一个,字段存放工程代码,记录入库的资料截止日期,二者为组合主键,唯一表示该表中的~条记录,其它工程数据表均包含这两个字段。中英文数据字典表包含四个字段,见表2,其中ID字段作为主键,为自增型标识种子,目的是标识表中的每一个记录,SqlSe~er自动为主键字段建立主索引,这样能提高对该表维护操作的速度(如修改,删除和查询等操作),ell字段存储所有工程数据表的每个字段标识符,cn字段存储相应英文字段在数据显示时的中文说明,table字段存储表名的标识符,通过此字段标明每个工程表所属的字段名称,保证每个字段都能归结为某一个表,其记录存储情况见表3。工程 类别与其所属表的字典对照表 存储不同的工程类别 和其包含的若干表对应情况,其中 字段存储132 程数据表的名称标识符,class字段存储不同工作表对应的大 类,表名和工程类别的存储及命名规则见表5,建立该表的目的 是通过某一个类别的工程代码获得该类下的所有对应的工程数 据表,SQL 命令为::’ tbl6’。
此命令可获得墒情 监测站类下的所有工程数 据表(墒情监测站的代码 为tbl6),再通过 表,即可得到该工程下的 所有工程数据字段及对应 的中文显示,表- class 和 通过ta— 字段建立一对多 的关系。数据获取的流程 图如图1 所示。图1 程序代码2。1 定义公用函数 主要代码如下:=(“tshow”); =(); C1。=名称; 该函数用于创建一个临时表,返回类型为ASP。NET 类型,用于存放根据某个工程代码查询得到的所有工 程数据表的数据显示,表结构包含两个字段”名称”和”内容”, 由于网页数据均以字符串的格式传输,且ASP。Net 能够将各种 类型的数据转换为字符串类型】,所以可将字段类型定义为 类型,表的存储关系为:名称一值(内容)。 2。2 定义公用函数 (,,) } ,DS1,DS2:(); “。
/=’+ +”: Comm=(,); Comm。Fill(DS);; —(); for(inti=0;DS。[0]。Rows。Count {e='”+DS。[0]。Rows[i][0]。()+”‘”; Comm。Fill(DS1,DS。[0]。Rows[i 儿1]。()); “”+DS。[tl”]。Rows[i][0]。 ()+”='”++’='” ++: Comm。Fill(DS2,DS。[0]。Rows[i][1]。()); Comm。():} for(inti=0;DS。
[0]。Rows。Count {row=t。();row[0]=【+DS。[0]。Rows[i][1]。()+】”; t。Rows。Add(row); for(intj=0;j:DS2。[i]。。Count {row:t。();row[0]=DS1。[i]。Rows[j][0]。()+:; row[1]=DS2。[i]。Rows[0][j]。(); t。Rows。Add(row); }}。Close();;} 该函数传递的参数包括工程代码,资料截止日期和类别代 码,定义三个 类型的变量DS,DS1,DS2, 是内存 中的数据库,它与具体的数据库无关,但结构组成类似数据库的 定义,其下可包含多个不同结构的表】。DS 是根据参数class— dm 从 表中获得的表名称记录库,只包含一个表。DS1 下的各个表分别存储 表的相应的中英文字段对照记录,