Spring bean中的properties元素内的name 和 ref都代表什么意思啊

Spring bean中的properties元素内的name 和 ref都代表什么意思啊,第1张

ref:引用的这个对象(可引用其他的bean对象),value:引用这个对象名字的字符串;直接设置一个值(赋一些简单类型的值), *** 作方法如下:

1、首先maven项目的pomxml文件配置,可以看出这个项目只是用到了两个包的依赖。

2、创建了一个DataSource类,用这个类存储数据库的一些信息,这里个类只有一个Properties属性,由于在配置文件中我们注入bean的方式使用的是属性注入的方式,所以这里生成Properties的set、get方法,然后重写一下toString方法。

3、创建的spring配置文件,然后在这里使用属性注入的方式配置dataSource的bean,注意Properties和普通配置属性的方式。

4、下图是该程序的主入口程序,先获取IOC容器,然后根据id获取IOC容器中指定的bean,输出控制台显示。

5、运行程序,查看控制台可以看到刚刚在配置文件中配置的内容,说明配置bean成功。

A表,a_id,a_name,a_tel三个字段。

B表,b_id,b_address,b_sol三个字段。

关联表,ref_id,a_id,b_id,存储着AB两表的id,

比如:A有

a0001,zhang3,139555533

a0002,li4,1397788888

a0003,wang5,13655566

B有

b0001,shanghai,234

b0002,shenyang,332

b0003,chongqing,123

如果想要AB表多对多的话,只需要将关联表进行增加即可,而AB两表基本数据不变,

比如:

关联表ref_table:

r0001,a0001,b0002

r0002,a0001,b0001

r0003,a0001,b0003

r0004,a0002,b0003

通过联合查询,就可以得到多对多的数据了,而且不破坏基本数据表。

如何正确合理的建立MYSQL数据库索引

索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。

在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:

CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL

); 我们随机向里面插入了10000条记录,其中有一条:5555, admin。

在查找username="admin"的记录 SELECT FROM mytable WHERE

username='admin';时,如果在username上已经建立了索引,MySQL无须任何扫描,即准确可找到该记录。相反,MySQL会扫描所有记录,即要查询10000条记录。

索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索包含多个列。

MySQL索引类型包括:

(1)普通索引

这是最基本的索引,它没有任何限制。它有以下几种创建方式:

◆创建索引

CREATE INDEX indexName ON mytable(username(length));

如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length,下同。

◆修改表结构

ALTER mytable ADD INDEX [indexName] ON (username(length))

◆创建表的时候直接指定

CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL,

INDEX [indexName] (username(length)) ); 删除索引的语法:

DROP INDEX [indexName] ON mytable;

(2)唯一索引

它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:

◆创建索引

CREATE UNIQUE INDEX indexName ON mytable(username(length))

◆修改表结构

ALTER mytable ADD UNIQUE [indexName] ON (username(length))

◆创建表的时候直接指定

CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL,

UNIQUE [indexName] (username(length)) );

(3)主键索引

它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引:

CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL,

PRIMARY KEY(ID) ); 当然也可以用 ALTER 命令。记住:一个表只能有一个主键。

(4)组合索引

为了形象地对比单列索引和组合索引,为表添加多个字段:

CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL,

city VARCHAR(50) NOT NULL, age INT NOT NULL );

为了进一步榨取MySQL的效率,就要考虑建立组合索引。就是将 name, city, age建到一个索引里:

ALTER TABLE mytable ADD INDEX name_city_age (name(10),city,age);

建表时,usernname长度为 16,这里用

10。这是因为一般情况下名字的长度不会超过10,这样会加速索引查询速度,还会减少索引文件的大小,提高INSERT的更新速度。

如果分别在

usernname,city,age上建立单列索引,让该表有3个单列索引,查询时和上述的组合索引效率也会大不一样,远远低于我们的组合索引。虽然此时有了三个索引,但MySQL只能用到其中的那个它认为似乎是最有效率的单列索引。

建立这样的组合索引,其实是相当于分别建立了下面三组组合索引:

usernname,city,age usernname,city usernname 为什么没有

city,age这样的组合索引呢?这是因为MySQL组合索引“最左前缀”的结果。简单的理解就是只从最左面的开始组合。并不是只要包含这三列的查询都会用到该组合索引,下面的几个SQL就会用到这个组合索引:

SELECT FROM mytable WHREE username="admin" AND city="郑州" SELECT FROM

mytable WHREE username="admin" 而下面几个则不会用到:

SELECT FROM mytable WHREE age=20 AND city="郑州" SELECT FROM mytable WHREE

city="郑州"

(5)建立索引的时机

到这里我们已经学会了建立索引,那么我们需要在什么情况下建立索引呢?一般来说,在WHERE和JOIN中出现的列需要建立索引,但也不完全如此,因为MySQL只对<,<=,=,>,>=,BETWEEN,IN,以及某些时候的LIKE才会使用索引。例如:

SELECT tName FROM mytable t LEFT JOIN mytable m ON tName=musername

WHERE mage=20 AND mcity='郑州'

此时就需要对city和age建立索引,由于mytable表的userame也出现在了JOIN子句中,也有对它建立索引的必要。

刚才提到只有某些时候的LIKE才需建立索引。因为在以通配符%和_开头作查询时,MySQL不会使用索引。例如下句会使用索引:

SELECT FROM mytable WHERE username like'admin%' 而下句就不会使用:

SELECT FROM mytable WHEREt Name like'%admin' 因此,在使用LIKE时应注意以上的区别。

(6)索引的不足之处

上面都在说使用索引的好处,但过多的使用索引将会造成滥用。因此索引也会有它的缺点:

◆虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。

◆建立索引会占用磁盘空间的索引文件。一般情况这个问题不太严重,但如果你在一个大表上创建了多种组合索引,索引文件的会膨胀很快。

索引只是提高效率的一个因素,如果你的MySQL有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询语句。

(7)使用索引的注意事项

使用索引时,有以下一些技巧和注意事项:

◆索引不会包含有NULL值的列

只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。所以我们在数据库设计时不要让字段的默认值为NULL。

◆使用短索引

对串列进行索引,如果可能应该指定一个前缀长度。例如,如果有一个CHAR(255)的列,如果在前10个或20个字符内,多数值是惟一的,那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O *** 作。

◆索引列排序

MySQL查询只使用一个索引,因此如果where子句中已经使用了索引的话,那么order

by中的列是不会使用索引的。因此数据库默认排序可以符合要求的情况下不要使用排序 *** 作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引。

◆like语句 *** 作

一般情况下不鼓励使用like *** 作,如果非使用不可,如何使用也是一个问题。like “%aaa%” 不会使用索引而like

“aaa%”可以使用索引。

◆不要在列上进行运算

select from users where YEAR(adddate)<2007;

将在每个行上进行运算,这将导致索引失效而进行全表扫描,因此我们可以改成

select from users where adddate<‘2007-01-01’;

◆不使用NOT IN和<> *** 作

以上,就对其中MySQL索引类型进行了介绍。

1文献计量学的理论

中国早在数年前就提出“科教兴国”的战略口号,邓小平同志也说“科技是第一生产力”,江泽民同志“三个代表”重要思想更是强调“***人必须是先进文化的代表”,而学术期刊是科技及先进文化的载体,面对世界经济日趋一体化的趋势,面对信息通讯技术及信息处理现代化方式日臻完善的今天,作为载体的学术期刊就应先行一步,高瞻远瞩这是形势使然。

科学技术研究的最终结果主要表现在发表科技论文、科技成果获奖和取得社会与经济效益三个方面。科技论文一般指在专业学术刊物上公开发表、具有一定学术水平的研究性论文,它是科技活动和科技成果的主要表现形式,是科学研究最直接产出形式之一。科技论文的数量和质量,一定程度上反映了科学研究的成果和效率,特别是论文的水平,是评价一个国家、一个单位以及科研人员科技能力和水平的一项重要指标。通过对科技论文的定量分析进而对科技产出能力和科技水平进行整体评价,国内外管理人员进行了许多有益的研究和尝试,如利用模糊数学模型分析等方法。其中,文献计量学分析方法是近年来广泛应用的定量分析方法之一。

文献计量学是一门新兴学科。它从定量的角度出发,采用数学、统计学等计量方法,通过对文献特征的统计分析,来研究文献体系的分布、结构、数量关系和定量管理,进而探讨文献的变化规律和科学管理。近几年来,文献计量学的研究成果被广泛应用于情报学以外的科学技术领域中,其中一个重要方面就是将文献计量学指标用于科学技术生产效率的评价,使决策者可以对科技研究进行有效的定量化管理。简单的文献计量学指标,例如出版著作数、发表论文数、被引用次数等等,已经被广泛应用于部门中作为考核、奖惩、晋升职工的评估依据。这些简单指标的组合,就可以评价大学、研究所、工业公司以至整个国家的科技水平与影响能力。在近10年中,文献计量学得到了很大的发展,取得了许多成果,各方面更趋成熟,研究层次更趋深入,定量化描述的手段与方法也日益改善。同时寻求更系统全面的数据集合,更现代化的文献数据处理手段,最终有效地指导文献情报工作。

近几年来,文献计量学的应用范围不断拓宽,应用研究的力度明显加大,特别是在科技管理与决策中的应用越来越受到有关领导部门和研究者的重视。国外对此十分重视,例如,美国、英国、匈牙利、印度等许多国家不仅把文献计量指标作为科学计量学指标体系中的重要组成部分,而且还从管理的高度,认为它是衡量一个国家科学文化水平乃至综合国力的一种重要途径和有效方法。早在20世纪60年代,美国就开始编制《科学引文索引》(SCI)。这一大型索引的出版和发行,为文献计量学研究提供了一种多功能的有力工具,一定程度上解决了文献计量学应用所必需的大量数据,有效地推动了文献计量学的全面发展,被誉为文献计量学史上具有划时代意义的研究成果。可以说,没有SCI就没有现代的文献计量学。我国著名学者赵红洲、蒋国华等人曾经利用文献计量方法,排出了我国主要大学发表论文的名次,并以“学术榜”的名义在报纸上公布后,引起了社会各界的强烈反响,并受到国家科委、中国科学院和国家自然科学基金会领导的高度重视。从1987年起,国家科委为了从一个侧面评价我国学科发展、科技投入产出情况及科研机构和科技人员的成就,委托中国科技情报研究所(今改名为中国科技信息研究所)利用ISI的三套出版物,对我国学者从1983年以来发表的论文情况进行统计分析。接着,国家科委专门下达资助课题,要求中国科技信息研究所进行更大范围、更系统的文献信息统计分析,对我国科技水平在世界上所处的地位以及主要大学、科研院、所的科学生产能力和学术水平作出客观评价,并逐步形成制度,每年召开一次新闻发布会,公布有关统计结果。中国科学院文献信息中心从1998年起也逐年出版《中国科学计量指标:论文与引文统计》(简称《指标集》)。集内有100多项统计指标,运用科学计量学和文献计量学的有关方法,对我国科技论文的产出力和影响力及其分布情况从总体上进行了客观的描述。该书的内容包括:统计源概貌,机构研究计量统计,国家重点实验室和部门开放实验室研究计量指标,地区研究计量指标,科技基金计量指标,合作研究计量指标,人才研究计量指标,文献评价计量指标。近几年来,国家自然科学基金会连续资助了6项文献计量学和科学计量学方面的研究课题,促使其研究上规模、上档次、上水平,从而有力地推动了文献计量学的深入发展。由于文献计量指标的评价功能与其它社会评价指标的功能是一致的,而且其研究成果和计量数据可以为有关部门的管理和决策提供定量依据与支持,因而越来越受到有关领导和管理部门的广泛重视。这一重要进展表明,文献计量学的某些内容和方法正在由课题研究向事业化方向发展,成为国家科技文化事业的一个组成部分。这有利于文献计量学冲破传统的局限,增强其渗透力和辐射力,大步进入“科技圈”、“管理圈”、“决策圈”,在更大的范围内充分发挥其作用,从而进一步得到社会各界的承认和重视。这是90年代以来文献计量学研究和应用发展的显著特点与趋势之一。

2国内外地学文献统计分析系统

国内外地学文献统计分析系统建立的背景

文献计量学的应用是建立在大量数据的基础上的,因此必须利用计算机等现代化手段建立正规的文献信息计量工具,为应用提供大规模数据的获取渠道和来源,必须依托较为适宜的文献数据库才能进行。目前国内文献计量学研究大多利用SCI为数据源进行统计研究,但在本研究进行项目调研中发现SCI创建时间较短,在可追溯性方面不如一些历史悠久的传统检索工具(如地质学方面有200多年收录史的GeoRef),虽然SCI收录5000多种期刊,但由于其专业覆盖面很广,故每个学科的收录数量都不够。并且SCI对各学科的重视程度不同,所以各科学间的数据不具备可比性。此外SCI中没有“分类号”一项,不能按学科进行分类检索,因此用它进行某学科的统计就很困难,一些文献统计项目为了用SCI进行各学科综合统计研究不得不花费大量人力对原始数据重新进行分类等加工、录入,这一点可反映出数据源选定的是否得当在很大程度上影响着统计工作的结果和效率。可以认为利用SCI对国内外地球科学进行分学科和领域论文分布及其变化趋势分析,论文使用的分析测试方法统计分析,论文研究的区域分布统计分析,论文提出的新理论和新方法无法满足要求,因此,本项目组自行设计并完成了国内外地学文献统计分析系统。

国内外地学文献统计分析系统

国内外地学文献统计分析系统应用数据库技术和公共查询系统技术实现对地学文献数据的存储、查询、分析、输出,实现地学文献的信息化管理。

(1)系统运行环境:

a服务器:WINDOWS NT及其以上平台,PIII 800、RAM/256M、Disk/20G;

b客户机:DINDWOS 9X或WINDOWS NT及其以上平台,PII 350、RAM/64M、Disk/9G;

c网络:互联网;

d数据库:MS-SQL 2000。

(2)系统结构:

国内外地学期刊统计分析系统的设计采用了三级B/S体系结构,三层结构包括客户机、应用服务器、Web服务器、数据库服务器。这种方式又称瘦客户机系统,在客户机端没有或者有很少的应用代码。客户机负责数据结果的显示和用户请求的提交。应用服务器和Web服务器负责响应和处理用户的请求。而数据库服务器负责数据的管理工作。所有的空间数据和应用程序都放在服务器端,客户端只是提出请求,所有的响应都在服务器端完成。其中,Web服务器位于系统的中间,是原型系统的枢纽与核心部分,是系统设计和实现的关键。系统结构如图1所示。系统前端是Client/Brower,中间是Web Server,后端是Sql Server。

图1 国内外地学文献统计分析系统应用的结构图

(3)系统总体功能:

a数据库管理:实现数据输入与维护、查询、显示输出等,系统也提供Web环境下的数据管理,数据信息可在远程或本地进行编辑、浏览、维护。

b系统可进行文献计量统计初评估、总评估:依据文献查询结果进行学科、主题、作者、研究单位、研究区域等相关度的统计和分析。

c数据交换功能:系统可通过转换工具将数据转换为其它标准格式,如2709等国标数据。

d系统具有完整的桌面管理和帮助系统。

(4)系统构成框图(图2)与主要功能图(图3)。

图2 国内外地学文献统计分析系统的构成框图

(5)系统的开发和应用环境:在中文WIN2000下利用SQL2000、ULTRADEV、VBSCRIPT进行开发。

国内外地学文献统计分析系统数据源选定

国内外地学期刊统计分析系统建库主要收集和利用《GeoRef检索系统》(以下简称GeoRef)、《中国地质文献库及检索系统》(以下简称GDS)作为数据源,GeoRef是中国地质图书馆在1982年开始引进的美国地质调查所信息中心所建的地学文献数据库,该数据库收录了北美地区自1785 年以来的和世界上其它地区自1933年以来的地质文献,包含了地球科学领域国际上公认的5000余种期刊、会议资料等,总共约220万余条,其收录范围覆盖了地球科学近40 个类目,是目前国际最权威的地质学文献检索数据库。GDS由中国地质图书馆所建,收录1985 年至今的400 余种期刊、专著、论文集和国际会议中文资料,累积文献量达20 余万条,收录范围基本覆盖了地球科学、土地科学等40个类目,是我国地球科学和土地科学研究领域最大型的检索系统,是国内最权威的地质学文献数据库。选取上述两个数据库作为本系统数据源的主要原因是:①GDS的基本结构和选刊原则等诸多方面与GeoRef接轨,建库依据了文献计量学的结果;②两种数据库均有较为严格选刊标准,收录文献的种类较多,即将国家级单位主持的地球科学类专业杂志悉数收录,也将一些地方主办、流通区域有限因而影响较小的地球科学杂志收录;③两种数据库收录时间较长,GeoRef已有200年数据,GDS的数据年限已有近19年,非常适合于我们对多年来地球科学论文情况进行分析;④两种数据库的分类系统设立既遵循了地球科学的学科分类,又是从检索文献的实际需要出发,并且GDS是参考了GeoRef的类目名(表1、表2)。所以根据GeoRef和GDS得到的分析结果应该是代表国内外地球科学研究水平。不足之处是两种数据库都缺少引文分析。

图3 国内外地学期刊统计分析系统的主要功能示意图

表1 GeoRef数据各学科使用代码列表

表2 GDS数据各学科使用代码列表

续表

3国内外地学期刊统计分析实例

国内外地学期刊统计分析是利用国内外地学文献统计分析系统,检索提取科技人员和研究机构发表论文数量的统计数据,进行科技人员群落及研究机构的学术榜的测定;检索提取分类统计数据,进行相关学科的学科体系演变和发展趋势分析。

国内研究机构论文数量的统计分析

国内外地学期刊统计分析系统框架结构中的选项有:题目、作者/单位、刊名、出版社、出版年、卷、页、文献索取号、语言、载体形态、关键词、分类号、文献识别号、记录状态、文献类型、目录级别、文献载体、ISSN号、ISBN号、会议、版次。如想了解我国近年来各研究机构发表论文的情况,通过系统选择框架结构中“出版年”,输入“年代(1997、1998、…2001)”,检索出各年代收录的全部文献,再选择系统框架结构中的“作者/单位”输入、并通过Excel运算处理,即可得到如下的统计数据(表3)。

表3 国内外地学期刊统计分析系统1997~2001年收录国内研究机构论文数量

国内外学科结构统计分析

利用国内外文献统计分析系统对GeoRef数据库100年、GDS数据库15年期刊论文进行学科的统计分析,数据采集的方法是利用分析系统框架结构中的“分类号”进行检索,GeoRef数据库的检索式:分类号的字段代码、GDS数据库的检索式:选择检索系统框架结构中的“分类号”,输入分类代码,采用上述方法我们采集了国外100年、国内15年的分类数据,编制了国际地质科学体系学科结构的百年演变图及国内地质学科体系学科结构近20年演变图(详见第一章)。

中外综合性期刊地学论文对比研究

(1)《科学通报》、《中国科学(D辑)》、《Nature》和《Science》的地学学科结构的统计分析

《Nature》和《Science》分别是英国和美国主办的世界顶尖的综合性科学杂志,所发表的地学文章一般都反映了地质科学研究的一些重要进展。而《中国科学(D辑)》、《科学通报》也可以算是我国顶尖的综合性科学杂志,4种杂志的学科结构,反映了近年来地质科学基础和前沿研究领域及其变化趋势。

比较4种期刊可知,第四纪地质学方面的论文数都居于其它学科之上,说明近年来对第四纪地质与全球变化科学研究日趋重视。词频统计结果也表明与其相关的术语出现最多,如“第四纪”、“新生代”、“全新世”等。因为第四纪从时间上离人类活动的历史最近,因此研究第四纪地质、环境、气候变化等,无不与我们人类的生存这个重大问题密切相关。《Science》和《Nature》上关于宇宙地质(或球外地质)的论文排名在前5位,比在《中国科学》《科学通报》上的排名要靠前。球外地质实际上也是一个涉及到未来人类居住环境的重要科学问题,当然它还反映了我们对地球起源等根本问题的不懈探索。之所以国内这方面的论文还比较少,其原因可能是多方面的,主要可能与国家经济实力、技术设备水平有关,其次是对人类环境问题的关注程度。另一方面,从统计结果中可以清楚地看出,在国外两著名期刊上关于经济地质(包括矿产、能源等)方面的论文数量较少,而国内两大期刊在油气地质、金属矿床两类论文数量均名列前茅,这与我国是发展中国家,对矿产、能源的需求量大有关。另外,地质找矿仍然在我国地质工作中占相当大比重,这方面的成果(论文)也就很多。

(2)《Nature》和《Science》国别分布的统计分析

从表4、表5可看出,前10位除中国之外都是当今世界上经济最发达的国家,尤其是美国更是遥遥领先,英、法、德为第二梯队,明显落后于美国。这表明只有经济上相对强大了,科技的发展才能得到有力支持。中国自20世纪90年代以来,经济发展较快,也很重视科技对社会生产力的推动作用,因而加大了对科技的投入,之所以能够跻身前10强,说明我国在地学领域已取得了一些领先水平的研究成果。

表4 在《Science》1996~2001年发表地学论文数前10位的国家

图4反映了过去20多年以来我国在国际著名期刊上发表地学论文的情况,论文数量总体上呈上升趋势,尤其近6年以来迅速攀升,表明我国地学研究在某些方面已经受到国际上的重视。

表5 在《Nature》1996~2001年发表地学论文数前10位的国家

图4 近年来我国学者在《Science》、《Nature》上发表的地学论文数量变化曲线

(3)《中国科学(D辑)》、《科学通报》、《Nature》和《Science》机构分布的统计分析

对《中国科学(D辑)》、《科学通报》、《Nature》和《Science》4种期刊1996~2001年每一年不同单位发表论文数的多少进行了排序,从图5、图6看,在《Nature》上大学、研究所、国际组织、公司和其他分别占58%、28%、15%、11%、02%;《Science》上大学、研究所、国际组织、公司和其他分别占47%、27%、04%、005%、24%,大学所占比重最大,其次为研究所。这与《中国科学(D辑)》、《科学通报》情况完全相反(表6、表7)。

从表6、表7中可以看出,我国发表地学论文最多的单位是研究所,其次才是大学或学院。按发表论文的多少进行排序的结果表明,中科院地质所、地球物理所及其所属各实验室发表论文数最多,其次为地科院、地震局、海洋局等所属研究所。中科院论文数遥遥领先于其它研究所。大学中学术论文数量较多的是中国地质大学(武汉)、中国地质大学(北京)、南京大学、北京大学、西北大学、同济大学(排名未分先后)。

图5《Nature》1996~2001年发表地学论文机构分布

图6《Science》1996~2001年发表地学论文机构分布

表6《中国科学D辑》1996~2001年发表论文作者单位分类统计

表7《科学通报》1996~2001年发表论文作者单位分类统计

中外期刊地学论文研究领域的对比分析

根据选定的国内外地学期刊统计分析系统数据源,采集和分析了16000多个数据,从而对矿物学、地球化学、岩石学、古生物地史学及地层学、构造地质学、矿床地质学、地球物理学、第四纪地质学与全球变化、环境地质学、工程地质学、能源地质学、行星与宇宙地质学、海洋地质学、地质年代学、地质观测技术等研究学科和领域进行了专题调研,反映了研究领域的变化趋势(详见学科分述部分)。

=Vlookup(C1,$A$1:$B$17,2,0)

=Vlookup(C1,$A$1:$C$17,2,0)

可以查一下函数帮助,参数2是目标区域(区域首列包含查找的关键字),参数3是要返回的列序号(相对于区域首列而言)。

如果写成Vlookup(C1,$A$1:$A$17,2,0) ,意思是在$A$1:$A$17的首列查找C1这个关键字,然后在$A$1:$A$17的第2列返回对应值。可是你给出的区域本身只有一列,哪来的对应列呢?由于范围超出边界,就得到#REF,表示数据源错误(不存在)。

微软的OFFICE是最为流行的办公软件,主要有OFFICE2010和OFFICE2007两个版本。Office 2000是第三代办公处理软件的代表产品,可以作为办公和管理的平台,以提高使用者的工作效率和决策能力。Office 2000中文版有4种不同的版本:标准版、中小企业版、中文专业版和企业版。

在Office 2000中各个组件仍有着比较明确的分工:一般说来,Word主要用来进行文本的输入、编辑、排版、打印等工作;Excel主要用来进行有繁重计算任务的预算、财务、数据汇总等工作;PowerPoint主要用来制作演示文稿和幻灯片及投影片等;Access是一个桌面数据库系统及数据库应用程序;Outlook是一个桌面信息管理的应用程序;FrontPage主要用来制作和发布因特网的Web页面。

Microsoft Office XP是微软有史以来所发行的Office版本中最重要的版本,而且也被认为是迄今为止功能最强大、最易于使用的Office产品。新版Office放弃了以往以产品发布年命名的惯例!产品名称中的XP,是英文Experience(体验)的缩写,代表着新版Office在包容覆盖广泛设备的Web服务之后,将给用户带来丰富的、充分扩展的全新体验。

除核心的 Office XP 程序 — Microsoft Word、Excel、Outlook和 PowerPoint— 外,Office XP 专业版 中包含 Microsoft Access 2002,它是 Office XP 数据库解决方案,可帮助用户存储、访问和分析数据。

MySQL名字的来历

MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:mSQL并没有他们需要的那么快和灵活。这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。

MySQL这个名字是怎么来的已经不清楚了。基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。

MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。

[编辑本段]MySQL的概述

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是:

[编辑本段]MySQL的特性

1使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性

2支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种 *** 作系统

3为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。

4支持多线程,充分利用CPU资源

5优化的SQL查询算法,有效地提高查询速度

6既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名

7提供TCP/IP、ODBC和JDBC等多种数据库连接途径

8提供用于管理、检查、优化数据库 *** 作的管理工具

9可以处理拥有上千万条记录的大型数据库

[编辑本段]MySQL的应用

与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为 *** 作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。

[编辑本段]MySQL管理

可以使用命令行工具管理MySQL数据库(命令mysql 和 mysqladmin),也可以从MySQL的网站下载图形管理工具MySQL Administrator和MySQL Query Browser。

phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web介面管理MySQL资料库。

phpMyBackupPro也是由PHP写成的,可以透过Web介面创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL 数据库。

另外,还有其他的GUI管理工具,例如早先的mysql-front 以及 ems mysql manager,navicat 等等。

[编辑本段]Mysql存储引擎

MyISAM Mysql的默认数据库,最为常用。拥有较高的插入,查询速度,但不支持事务

InnoDB 事务型数据库的首选引擎,支持ACID事务,支持行级锁定

BDB 源自Berkeley DB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性

Memory 所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失

Merge 将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用

Archive 非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差

Federated 将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用

Cluster/NDB 高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用

CSV 逻辑上由逗号分割数据的存储引擎

BlackHole 黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继

另外,Mysql的存储引擎接口定义良好。有兴趣的开发者通过阅读文档编写自己的存储引擎。

[编辑本段]Mysql最常见的应用架构

单点(Single),适合小规模应用

复制(Replication),适合中小规模应用

集群(Cluster),适合大规模应用

[编辑本段]mysql历史版本

MySQL公司目前在同时开发两个版本的软件,41版以及50版。41版本的代码已经发布并有望在8个月后公布最终代码。而50版本的最后产品将在6个月后发布。

MySQL41版本中增加了不少新的性能,包括对主键的更高速度的缓存,对子查询的更好的支持,以及应网络约会网站所要求的,基于地理信息的查询。

而其同步开发的50版本则把目标对准了企业用户,对于41版本中的所有新特性,50版本悉数收入囊中,并且独具以下特点:对外键的良好支持;系统自动报错机制以及对存储过程的充分支持。

Mysql现在现已开发出51版本支持视图!

[编辑本段]Mysql中文视频教学

左光华的mysql网络数据库开发教学视频

Mysql60的alpha版于2007年初发布,新版增加了对falcon存储引擎的支持。Falcon是Mysql社区自主开发的引擎,支持ACID特性事务,支持行锁,拥有高性能的并发性。Mysql AB公司想用Falcon替代已经非常流行的InnoDB引擎,因为拥有后者技术的InnoBase已经被竞争对手Oracle所收购。

2008年1月16日,Sun Microsystems宣布收购MySQL AB,出价约10亿美元现金包括期权。

[编辑本段]MySQL的基本命令

[ ]中的内容为可选项

--创建数据库

mysql> create database 数据库名称

--创建表

mysql> create table 表名 (

列的名字(id)类型(int(4))primary key(定义主键) auto_increment(描述 自增),

……,

);

--查看所有数据库

mysql> show databases 数据库名称;

--使用某个数据库

mysql> use database 数据库名称;

--查看所使用数据库下所有的表

mysql> show tables;

--显示表的属性结构

mysql> desc 表名;

--选择表中数据的显示

-- 代表选择所有列 ,

mysql> select from 表名 where id=[and name=?] [or name=];

mysql> select id,name from 表名order by 某一列的名称 desc(降序,asc为升序)

--删除表中的数据

mysql> delete from table where id=?[or name= (and name=)];

--删除表

mysql> drop table;

--删除数据库

mysql> drop database;

索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。

注:[1]索引不是万能的!索引可以加快数据检索 *** 作,但会使数据修改 *** 作变慢。每修改数据记录,索引就必须刷新一次。为了在某种程序上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止 MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行。在需要把许多新记录插入某个数据表的场合,DELAY_KEY_WRITE选项的作用将非常明显。[2]另外,索引还会在硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据列建立索引。注意,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。

从理论上讲,完全可以为数据表里的每个字段分别建一个索引,但MySQL把同一个数据表里的索引总数限制为16个。

1 InnoDB数据表的索引

与MyISAM数据表相比,在 InnoDB数据表上,索引对InnoDB数据表的重要性要在得多。在InnoDB数据表上,索引不仅会在搜索数据记录时发挥作用,还是数据行级锁定机制的苊、基础。"数据行级锁定"的意思是指在事务 *** 作的执行过程中锁定正在被处理的个别记录,不让其他用户进行访问。这种锁定将影响到(但不限于)SELECTLOCK IN SHARE MODE、SELECTFOR UPDATE命令以及INSERT、UPDATE和DELETE命令。

出于效率方面的考虑,InnoDB数据表的数据行级锁定实际发生在它们的索引上,而不是数据表自身上。显然,数据行级锁定机制只有在有关的数据表有一个合适的索引可供锁定的时候才能发挥效力。

2 限制

如果WEHERE子句的查询条件里有不等号(WHERE coloum != ),MySQL将无法使用索引。

类似地,如果WHERE子句的查询条件里使用了函数(WHERE DAY(column) = ),MySQL也将无法使用索引。

在JOIN *** 作中(需要从多个数据表提取数据时),MySQL只有在主键和外键的数据类型相同时才能使用索引。

如果WHERE子句的查询条件里使用比较 *** 作符LIKE和REGEXP,MySQL 只有在搜索模板的第一个字符不是通配符的情况下才能使用索引。比如说,如果查询条件是LIKE 'abc%',MySQL将使用索引;如果查询条件是LIKE '%abc',MySQL将不使用索引。

在ORDER BY *** 作中,MySQL只有在排序条件不是一个查询条件表达式的情况下才使用索引。(虽然如此,在涉及多个数据表查询里,即使有索引可用,那些索引在加快ORDER BY方面也没什么作用)

如果某个数据列里包含许多重复的值,就算为它建立了索引也不会有很好的效果。比如说,如果某个数据列里包含的净是些诸如"0/1"或"Y/N"等值,就没有必要为它创建一个索引。

普通索引、唯一索引和主索引

1 普通索引

普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHERE column = )或排序条件(ORDER BY column)中的数据列创建索引。只要有可能,就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创建索引。

2 唯一索引

普通索引允许被索引的数据列包含重复的值。比如说,因为人有可能同名,所以同一个姓名在同一个"员工个人资料"数据表里可能出现两次或更多次。

如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为一个唯一索引。这么做的好处:一是简化了MySQL对这个索引的管理工作,这个索引也因此而变得更有效率;二是 MySQL会在有新记录插入数据表时,自动检查新记录的这个字段的值是否已经在某个记录的这个字段里出现过了;如果是,MySQL将拒绝插入那条新记录。也就是说,唯一索引可以保证数据记录的唯一性。事实上,在许多场合,人们创建唯一索引的目的往往不是为了提高访问速度,而只是为了避免数据出现重复。

3 主索引

在前面已经反复多次强调过:必须为主键字段创建一个索引,这个索引就是所谓的"主索引"。主索引与唯一索引的唯一区别是:前者在定义时使用的关键字是PRIMARY而不是UNIQUE。

4 外键索引

如果为某个外键字段定义了一个外键约束条件,MySQL就会定义一个内部索引来帮助自己以最有效率的方式去管理和使用外键约束条件。

5 复合索引

索引可以覆盖多个数据列,如像INDEX(columnA, columnB)索引。这种索引的特点是MySQL可以有选择地使用一个这样的索引。如果查询 *** 作只需要用到columnA数据列上的一个索引,就可以使用复合索引INDEX(columnA, columnB)。不过,这种用法仅适用于在复合索引中排列在前的数据列组合。比如说,INDEX(A, B, C)可以当做A或(A, B)的索引来使用,但不能当做B、C或(B, C)的索引来使用。

6 索引的长度

在为CHAR和VARCHAR类型的数据列定义索引时,可以把索引的长度限制为一个给定的字符个数(这个数字必须小于这个字段所允许的最大字符个数)。这么做的好处是可以生成一个尺寸比较小、检索速度却比较快的索引文件。在绝大多数应用里,数据库中的字符串数据大都以各种各样的名字为主,把索引的长度设置为10~15个字符已经足以把搜索范围缩小到很少的几条数据记录了。

在为BLOB和TEXT类型的数据列创建索引时,必须对索引的长度做出限制;MySQL所允许的最大索引jlkjljkjlj全文索引

文本字段上的普通索引只能加快对出现在字段内容最前面的字符串(也就是字段内容开头的字符)进行检索 *** 作。如果字段里存放的是由几个、甚至是多个单词构成的较大段文字,普通索引就没什么作用了。这种检索往往以LIKE %word%的形式出现,这对MySQL来说很复杂,如果需要处理的数据量很大,响应时间就会很长。

这类场合正是全文索引(full-text index)可以大显身手的地方。在生成这种类型的索引时,MySQL将把在文本中出现的所有单词创建为一份清单,查询 *** 作将根据这份清单去检索有关的数据记录。全文索引即可以随数据表一同创建,也可以等日后有必要时再使用下面这条命令添加:

ALTER TABLE tablename ADD FULLTEXT(column1, column2)

有了全文索引,就可以用SELECT查询命令去检索那些包含着一个或多个给定单词的数据记录了。下面是这类查询命令的基本语法:

SELECT FROM tablename

WHERE MATCH(column1, column2) AGAINST('word1', 'word2', 'word3')

上面这条命令将把column1和column2字段里有word1、word2和word3的数据记录全部查询出来。

注解:InnoDB数据表不支持全文索引。

查询和索引的优化

只有当数据库里已经有了足够多的测试数据时,它的性能测试结果才有实际参考价值。如果在测试数据库里只有几百条数据记录,它们往往在执行完第一条查询命令之后就被全部加载到内存里,这将使后续的查询命令都执行得非常快--不管有没有使用索引。只有当数据库里的记录超过了1000条、数据总量也超过了MySQL服务器上的内存总量时,数据库的性能测试结果才有意义。

在不确定应该在哪些数据列上创建索引的时候,人们从EXPLAIN SELECT命令那里往往可以获得一些帮助。这其实只是简单地给一条普通的SELECT命令加一个EXPLAIN关键字作为前缀而已。有了这个关键字,MySQL将不是去执行那条SELECT命令,而是去对它进行分析。MySQL将以表格的形式把查询的执行过程和用到的索引(如果有的话)等信息列出来。

在EXPLAIN命令的输出结果里,第1列是从数据库读取的数据表的名字,它们按被读取的先后顺序排列。type列指定了本数据表与其它数据表之间的关联关系(JOIN)。在各种类型的关联关系当中,效率最高的是system,然后依次是const、eq_ref、ref、range、index和All(All的意思是:对应于上一级数据表里的每一条记录,这个数据表里的所有记录都必须被读取一遍--这种情况往往可以用一索引来避免)。

possible_keys数据列给出了MySQL在搜索数据记录时可选用的各个索引。key数据列是MySQL实际选用的索引,这个索引按字节计算的长度在key_len数据列里给出。比如说,对于一个INTEGER数据列的索引,这个字节长度将是4。如果用到了复合索引,在key_len数据列里还可以看到MySQL具体使用了它的哪些部分。作为一般规律,key_len数据列里的值越小越好(意思是更快)。

ref数据列给出了关联关系中另一个数据表里的数据列的名字。row数据列是MySQL在执行这个查询时预计会从这个数据表里读出的数据行的个数。row数据列里的所有数字的乘积可以让我们大致了解这个查询需要处理多少组合。

最后,extra数据列提供了与JOIN *** 作有关的更多信息,比如说,如果MySQL在执行这个查询时必须创建一个临时数据表,就会在extra列看到using temporary字样

[编辑本段]安装MySQL时候的注意事项

1、如果您是用MySQL+Apache,使用的又是FreeBSD网路 *** 作系统的话,安装时候你应按注意到FreeBSD的版本问题,在FreeBSD的30以下版本来说,MySQL Source内含的MIT-pthread运行是正常的,但在这版本以上,你必须使用native threads,也就是加入一个with-named-thread-libs=-lc_r的选项。

2、如果您在COMPILE过程中出了问题,请先检查你的gcc版本是否在281版本以上,gmake版本是否在375以上。

3、如果不是版本的问题,那可能是你的内存不足,请使用/configure -- with-low-memory来加入。

4、如果您要重新做你的configure,那么你可以键入rm configcache和make clean来清除记录。

5、我们一般把MySQL安装在/usr/local目录下,这是缺省值,您也可以按照你的需要设定你所安装的目录。

该函数为实现结构变量间的引用,结构变量可以引用成员数相同、成员类型相同的其它结构变量。一般用于对于多组定义相同的IO变量,定义一组内存变量,在组态王中使用这一组内存变量定义画面显示的情况。使用格式如下:

StructVarRefAddress(RefStructTagname, RefedStructTagname);

参数:

RefStructTagname:字符串型,引用的结构变量名称(不带成员名)

RefedStructTagname:字符串型,被引用的结构变量名称(不带成员名)

以上就是关于Spring bean中的properties元素内的name 和 ref都代表什么意思啊 全部的内容,包括:Spring bean中的properties元素内的name 和 ref都代表什么意思啊 、数据库表 多对多的关系怎么建啊、如何正确合理的建立MYSQL数据库索引等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9327180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存