职称论文百科

机构发表sci论文数据

发布时间:2024-07-04 07:11:30

机构发表sci论文数据

以汉 斯 出 版 社 的为 例,一般在官网发布电子版之后,2-3个月各大数据库才可以更新,快的话,1个月

许多投稿者会疑惑,我的SCI论文发表后多久才能被检索到?数据库检索需要1-3个月的时间。有些文章可能比较慢,所以你必须耐心等待。对于我们来说,SCI论文发表不是为了达到最终的目标,只有在数据库中检索SCI论文才能达到目标。

在2022年,各国的SCI数量将有所增长。根据统计,中国将拥有最多的SCI文献,其数量将超过2.5万篇,美国将拥有约2.2万篇SCI文献,而德国和日本分别将拥有约1.5万篇和1.2万篇SCI文献。此外,加拿大、法国、英国、意大利、韩国和印度也将拥有大量SCI文献,各自的数量将在1万篇以上。随着人口老龄化和全球化的推进,未来各国关于科学研究和发展的投资也将不断增加,因此,2022年各国的SCI数量将进一步增加。

SCI(Science Citation Index)是一种用于评估学术论文质量的指标,通常用于评估期刊的质量和学术成果的重要性。每年都会有统计机构发布各国SCI论文数量的数据。以下是对2022年各国SCI数量的解答:1. 中国:2022年,中国的SCI论文数量预计将超过500,000篇,位居全球第一。2. 美国:美国的SCI论文数量预计将在400,000篇左右,排名第二。3. 印度:印度的SCI论文数量预计将超过100,000篇,排名第三。4. 德国:德国的SCI论文数量预计将在80,000篇左右,排名第四。5. 日本:日本的SCI论文数量预计将在70,000篇左右,排名第五。6. 英国:英国的SCI论文数量预计将在60,000篇左右,排名第六。7. 韩国:韩国的SCI论文数量预计将在50,000篇左右,排名第七。8. 伊朗:伊朗的SCI论文数量预计将超过40,000篇,排名第八。9. 法国:法国的SCI论文数量预计将在30,000篇左右,排名第九。10. 意大利:意大利的SCI论文数量预计将在20,000篇左右,排名第十。总体来看,中国在SCI论文数量方面遥遥领先,其他国家的数量差距较大,但这并不代表一个国家的学术水平就高于其他国家,学术成果的质量和影响力也是需要考虑的因素。

怎么查机构发表论文数据

写论文的时候会有一些数据来体现出来,这也是一种议论文的书写方法。

不知道你说的机构是指作者自己的单位,还是发表论文的代理机构?如果是前者的话,可以到中国知网上查询,但不一定能查到全部,只能查到绝大部分,因为有些文章不被中国知网收录。如果是后者,是没有办法查询的,因为发表的文章信息里面,是没有代理机构名字的。

1、官网网站,既然你要写某个公司,自然他是一个代表,说明也算是大型,典型企业,所以正规的官网总有的吧。如果是上市股份企业,自然他的财务报表经营情况网上也是公开能查到的。2、中经网,会有相应的统计数据3、数据库,比如维普,除了查论文,数据也是可以整理到的。4、国家统计局之类的,当然都是宏观层面的,写论文也是很好的材料。

科研机构发表SCI论文数量

获奖概况 根据2016年3月研究所官网显示,建所80年来,药物所共获得各类科研成果奖170余项,其中国家三大奖20项,全国科学大会奖等奖励21项,省部级奖90项。 部分国家级获奖时间名称奖项类别1982年4月 肌肉松弛药氯甲左箭毒 国家技术发明奖 三等奖 1982年7月 吗啡镇痛作用部位及镇痛机制的研究 国家自然科学奖 二等奖 1982年7月 中草药活性成份的研究——十二种新有效成份的发现 国家自然科学奖 二等奖 1985年6月 镇痛消炎药3-乙酰乌头碱 国家技术发明奖 三等奖 1985年6月 橡胶防老剂D致癌性的动物实验研究 国家科学技术进步奖 三等奖 1987年12月 真性胆碱酯酶抑制剂新药——石杉碱甲(福定碱) 国家技术发明奖 二等奖 1988年12月 抗疟药磷酸咯啶 国家技术发明奖 四等奖 1990/08/11 植物抗癌成份美登素的全合成研究 国家自然科学奖 三等奖 1991年11月 二巯基丁二酸 国家科学技术进步奖 二等奖 1991年12月 羟甲芬太尼——一种新的高选择性μ阿片受体激动剂 国家自然科学奖 二等奖 1991年12月 脑内多巴胺神经系统与四氢原小檗碱同类物的药理作用关系 国家自然科学奖 三等奖 资料来源: 备注:详细获奖概况详见: 论文发表 根据2016年3月研究所官网显示,1998年以来,研究所累计发表论文3500余篇,其中SCI论文2811篇,2006年以来,影响因子大于3的累计660篇。发表的SCI论文和引用率连续七年保持全国科研机构前15名,位列全国药学院校和科研机构首位。 2014年,上海药物所全年共发表sci论文540篇,影响因子(if) 总数2310.889,总被引频次691次,(其中通讯作者272篇,影响因子总数1167.62,总被引频次294次),平均影响因子4.279,篇均被引频次1.28次/ 篇,影响因子5,以上的论文121篇、3以上的论文已达317篇,在GPCR、化学蛋白质组学研究、分析动力学模拟、新型结构、新技术研究方面取得重要突破,首次解析P2Y12与激动剂和拮抗剂复合物的晶体结构,为新型抗血栓药物的研发提供了重要基础,两篇论文于2014年5月1日同期在Nature刊出后即被新华社、路透社等国内外媒体报道。 项目承担 2014年,上海药物研究所共有在研项目425项,其中承担国家重大科技专项课题44项,主持(或承担) 国家重点基础研究发展计划(973计划) 和国家重大科学研究计划项目15项、承担( 或参加) 课题8项,主持(或承担) 国家高技术研究发展计划(863计划) 项目5项,主持(或承担) 国家自然科学基金重点项目6项、面上项目73项、国家杰出青年科学基金项目8项、国家自然科学基金重大研究计划重点项目2项,主持(或承担) 中国科学院战略性先导科技专项课题1项,主持(或承担) 院重点部署项目2项,承担重点国际合作项目2项。 专利及其他 2014年,上海药物所共申请专利98项,共获专利授权40项,其中有国内专利33项,国外专利7项,获商标注册1项。 《Acta pharmacologica Sinica》 《Acta pharmacologica Sinica》(《中国药理学报》)创刊于2000年,月刊, 目前被PubMed收录, 被SCI收录,其研究领域为:药理学。是中国药理学及药学领域唯一被收录至科学引文索引(SCI) 的学术期刊,其影响因子(if) 为2.468。 《Asian Journal of Andrology》 《Asian Journal of Andrology》(《亚洲男科学杂志》)创刊年于1999年,是中国重要的洲际学会国际性会刊,影响因子为2.530,在国际男科学领域期刊排名第三,在国内临床医学领域SCI期刊榜排名第一。 此外,研究所还主办科普杂志《家庭用药》。

2016年我国科研机构发表SCI论文数量排名Top 50

2016年我国发表SCI论文数量增长较大的科研机构排名Top20

数据结构发表论文

数据结构论文参考文献

[1]严蔚敏.数据结构C语言版[M].清华大学出版社,2007.

[2]舞动的排序算法.http://v.youku.com/v_show/id_XMjU4MTg3MTU2.html.

[3]丽水学院在线联系和考试系统.http://acm.lsu.edu.cn.

[4]范德宝,于晓聪,丁伟祥.提高数据结构课程教学效果的探讨[J].黑龙江科技信息,2007.

[5]董丽薇.“数据结构”课程教学方法的.改进[J].沈阳师范大学学报(自然科学版),2012.

数据结构论文参考文献:

[1]WingJM.ComputationalThinking.CommunicationsoftheACM,2006,49(3):33-35.

[2]教育部高等学校计算机科学与技术专业教学指导委员会.高等学校计算机科学与技术专业人才专业能力构成与培养[M].北京:机械工业出版社,2010.

[3]MarkM.Meerschaert.数学建模方法与分析[M].第2版.刘来福,杨淳,黄海洋,译.北京:机械工业出版社,2005.

[4]孟凡荣,贾杰,王兴伟.网络工程专业创新性实践课程体系构建与实施[J].计算机教育,2013,(194)14:104-108.

[5]刘昕,石乐义,元雪东.面向计算思维的数据结构课程教学改革[J].计算机教育,2013,(196)16:35-38.

数据结构论文参考文献:

[1]逯鹏,张赞.数据结构课程教学方法的研究和实践[J].教育教学论坛,2015(18):121-123.

[2]贾丹,周军.基于创新应用型人才培养模式的数据结构课程教学改革[J].辽宁工业大学学报:社会科学版,2015(2):132-134.

[3]郭艳燕,童向荣,孙雪姣,等.程序设计基础与数据结构两门课程的教学衔接[J].计算机教育,2014(10):47-50.

[4]高贤强,化希耀,陈立平.引入计算思维的《数据结构》教学改革研究[J].现代计算机:专业版,2015(7):16-19.

[5]严太山,郭观七,李文彬.课堂设问的技巧及其在《数据结构》课程教学中的应用[J].湖南理工学院学报:自然科学版,2015(1):81-83.

[6]南淑萍.电子商务专业数据结构教学方法探讨[J].湖北科技学院学报,2014(10):13-14.

[7]杨夏.基于微信公众平台的对外汉语口语教学研究[D].四川师范大学,2014.

联系网络或者数据库,写出一个算法,分析复杂度。

您好,如果是计算机专业的同学可以建议做网络方面的论文研究,这方面比较热门、资料繁多、可借鉴性强;其他如数据库较之算法以及数据结构相对可参考资料更为多一些。相关范文:Oracle数据库的备份和恢复The Backup and Restoration of Database Oracle摘要:本文从Oracle的体系结构开始,由原理到实践,论述了Oracle数据库备份的方式和策略。包括IMP/EXP, RMAN,OS备份等。 Abstract: Starting from the architecture of ORACLE, this paper discusses the backup method and strategy of database Oracle, including IMP/EXP, PMAN and OS theoretically and practically. 关键字:Oracle, 备份, 恢复, RMAN Keywords: Oracle; Backup; Restoration; RMAN 概述 在大型软件运行系统中,存在着很多备份策略,如RAID技术,CLUSTER技术等等。很多时候,这些系统的备份就能够解决数据库备份的问题。但是,这种备份成本很高。同时,硬件的备份有时根本满足不了现实的需要,如果用户不小心误删了一个表,又想恢复的时候,数据库的备份就变的重要了。 Introduction: In the running system of some big software, there exist many backup strategies such as RAID technology and CLUSTER technology etc. In most cases, these system backup strategies can fulfill the database backup. However the cost is rather high. At the same time, hardware backup sometimes is far from the actual requirement. The database backup becomes very important when a table is deleted by accident and needs to be restored. Oracle的运行方式 Oracle数据库有两种运行方式:一是归档方式(ARCHIVELOG),归档方式的目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据;二是不归档方式(NOARCHIVELOG),只能恢复数据库到最近的回收点(冷备份或是逻辑备份)。根据数据库的高可用性和用户可承受丢失的工作量的多少,对于实时性要求高的数据库,强烈要求采用为归档方式;不归档方式只用在那些开发和调试的数据库等。 如何改变数据库的运行方式,在创建数据库时,作为创建数据库的一部分,就决定了数据库初始的存档方式。一般情况下为NOARCHIVELOG方式。当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成ARCHIVELOG方式。 操作如下。 1. 关闭数据库,备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。 2. 修改初试化参数,使能自动存档。 修改(添加)初始化文件init[SID].ora参数: log_archive_start=true #启动自动归档 log_archive_format=ARC%T%S.arc #归档文件格式 log_archive_dest=/archdir/arch #归档路径 在8i中,可以最多有五个归档路径,并可以归档到其它服务器,如备用数据库(standby database)服务器。 3. 启动Instance到Mount状态,即加载数据库但不打开数据库。 $> svrmgrl SVRMGRL> connect internal SVRMGRL> startup mount SVRMGRL> alter database archivelog; // 使数据库运行在归档方式 SVRMGRL> alter database open; Oracle的备份方案 按照备份的方式,可以分为逻辑备份、冷备份(脱机备份)、热备份(联机备份),其中冷备份与热备份又可以合称为物理备份。按照备份的工具,可以分为EXP/IMP备份、操作系统备份、RMAN、第三方工具备份,如VERITAS等。下面分别介绍Oracle本身提供的几种备份工具和操作。 1. EXP/IMP备份(逻辑备份) EXP/IMP属于逻辑备份的范畴,逻辑备份是指只备份数据库中的数据但不记录数据物理位置的一种备份。导出为数据库作一个二进制的备份,并且这个备份只能由其姊妹程序imp(import)来读取。具体的使用方法如下。(因为EXP和IMP使用上参数基本相同,所以只以EXP为例。) EXP的命令格式和参数 格式:KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN) 例程: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR) USERID 必须是命令行中的第一个参数 关键字 说明(默认) 关键字 说明(默认) USERID 用户名/口令 FULL 导出整个文件 (N) BUFFER 数据缓冲区的大小 OWNER 所有者用户名列表 FILE 输出文件 (EXPDAT.DMP) TABLES 表名列表 COMPRESS 导入一个范围 (Y) RECORDLENGTH IO记录的长度 GRANTS 导出权限 (Y) INCTYPE 增量导出类型 INDEXES 导出索引 (Y) RECORD 跟踪增量导出 (Y) ROWS 导出数据行(Y) PARFILE 参数文件名 CONSTRAINTS 导出限制 (Y) CONSISTENT 交叉表一致性 LOG 屏幕输出的日志文件 STATISTICS 分析对象 (ESTIMATE) DIRECT 直接路径 (N) TRIGGERS 导出触发器 (Y) FEEDBACK 显示每 x 行 (0) 的进度 FILESIZE 各转储文件的最大尺寸 QUERY 选定导出表子集的子句 注:可以通过exp -help命令查看exp的使用方法;imp -help命令查看imp的使用方法. 2. 操作系统备份(冷备份和热备份) 操作系统备份有两类,冷备份(Cold backup)和热备份(Hot backup)。操作系统备份和上面的逻辑备份有本质的区别,它将拷贝整个的数据文件。  冷备份 在文件级备份开始前数据库必须彻底关闭。关闭操作必须用带有normal、immediate、transaction选项的shutdown来执行。 数据库使用的每个文件都被备份下来,这些文件包括: 所有数据文件、所有控制文件、所有联机重做日志文件和INIT.ORA文件(建议)。 作冷备份一般步骤是: 1) 正常关闭要备份的实例(instance); 2) 备份整个数据库到一个目录 3) 启动数据库 即: SVRMGRL>connect internal SVRMGRL >shutdown immediate SVRMGRL >!cp or SVRMGRL >!tar cvf /dbbak/fullbk.tar /u01/oracle/oradata/dbname SVRMGRL >startup  热备份 热备份是当数据库打开时的操作系统备份。热备份只能用于ARCHIVELOG方式的数据库。热备份没有必要备份联机日志,但必须是归档状态,在实例恢复的时候,可能需要用到归档日志。当前联机日志一定要保护好或是处于镜相状态,当前联机日志的损坏,对于数据库的损坏是巨大的,只能以数据的丢失来进行数据库的恢复工作。对于临时表空间,存放的是临时信息,在热备份是也可以考虑不用备份,如果临时文件发生故障,可以删除该数据文件与表空间,重建一个临时表空间。 热备份备份的内容和冷备份备份的内容一样,操作一般步骤是: 1) 备份的表空间通过使用ALTER TABLESPACE …… BEGIN BACKUP使表空间进入热备份方式。 2) 用类似冷备份的操作系统命令对组成表空间的数据文件进行拷贝。 3) 使用ALTER TABLESPACE …… END BACKUP命令使表空间脱离热备份方式。 4) 使用ALTER DATABSE …… BACKUP CONTROLFILE命令备份控制文件。 即: SVRMGRL>connect internal; SVRMGRL>alter tablespace User begin backup; SVRMGRL>!cp /u01/oradata/dbname/user01.ora /dbbak/user01.ora SVRMGRL>alter tablespace User end backup; SVRMGRL>alter database backup controlfile to ; or SVRMGRL>alter database backup controlfile to trace; 注意:因为热备份的时候,用户还在操作数据库,所以最好是让每个表空间处于备份状态的时间最短,这样就要求一个表空间一个表空间的备份,不要一起使表空间处于备份状态而同时拷贝数据文件。 3. RMAN Recovery Manager(RMAN)是一个使DBA能很方便地对数据库执行备份和恢复任务的Oracle应用工具,能够提供DBA对企业数据库备份与恢复操作的集中控制。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,其中包括表空间、数据文件,控制文件和归档文件。RMAN可以按要求存取和执行备份和恢复。 RMAN支持六种不通的类型的备份,经常用到的有两种: FULL 数据库全备份,包括所有的数据块。 INCREMENTAL 增量备份,是指只备份在同级别或更低级别上进行的前一次备份之后的作过改动的那些数据块。这其中需要一个0级的增量作为增量的基础,它备份包括全部曾经被数据库使用过的数据块(但不是完全数据库备份)。RMAN共可以支持7级增量。 BACKUP,RESTORE,RECOVER是RMAN最基本的三个命令,分别可以进行数据库的备份,复原以及恢复操作。 restore命令用于恢复来自备份集或映像拷贝的数据文件、控制文件或归档重做日志。recovery命令用于进行介质恢复应用重做日志文件。 RMAN的备份信息一般保存在恢复目录中,恢复目录也是一个数据库,只不过这个数据库用来保存备份信息,一个恢复目录可以用来保存多个数据库的备份信息。 RMAN也可以在没有恢复目录(NOCATALOG)下运行,这个时候备份信息保存在控制文件。这种情况比较危险,因为一旦控制文件被破坏,将导致所有数据库备份信息的丢失和恢复的失败,而且,没有恢复目录,很多RMAN的命令将不被支持。所以对于重要的数据库,建议创建恢复目录。 创建恢复目录一般有以下步骤。(例子数据库为db) 1) 为目录创建一个单独的表空间 SQL>create tablespace tsrman datafile ’/dbbak/rman/rsrman.dbf’ size 50M; 2) 创建RMAN用户 SQL>create user rman identified by rman default tablespace rsrman temporary tablespace temp; 3) 给RMAN授予权限 SQL>grant connect, resource, recovery_catalog_owner to rman; 4) 打开RMAN $rman 5) 连接恢复目录数据库 RMAN>connect catalog rman/rman@db 6) 创建恢复目录 RMAN>create catalog tablespace tsrman 在对某个数据库进行备份之前,必须先在恢复目录上注册该数据库,这一过程操作如下(假定目标数据库连接字符串为db100)。 1) 连接到恢复目录数据库 $rman rman/rman@db 2) 在RMAN中连接到目标数据库(即要进行备份的数据库) RMAN>connect target sys/change_on_install@db100 3) 注册数据库 RMAN>register database; 注册完数据库后,就可以进行数据库的备份了。有完全数据库备份、表空间备份、控制文件备份、和归档日志备份等。操作分别如下。 1) 完全数据库备份 要求:ARCHIVELOG模式,在DB OPEN的情况下进行数据库完全备份。 RMAN>run{ allocate channel c1 type=disk; backup database; release channel c1; } 2) 表空间备份 要求:ARCHIVELOG模式 RMAN>run{ allocate channel c1 type=disk; backup tablespace “ts_users” filesperset 3 format ‘aatst_%t%s.%p’; release channel c1; } 3) 控制文件备份 RMAN>run{ allocate channel c1 type=disk; backup current controlfile tag=weekly_sat_backup; release channel c1; } 在对数据库进行完全备份时,控制文件自动包含其中。也可以在表空间或数据文件的备份中包含一个控制文件。 RMAN>run{ allocate channel c1 type=disk; backup tablespace “ts_users” filesperset 3 format ‘aatst_%t%s.%p’; include current controlfile; release channel c1; } 4) 归档日志备份 通过查询数据字典表V$ARCHIVED_LOG获取要备份的日志序列号,然后执行命令: RMAN>run{ allocate channel c1 type=disk; backup archivelog low logseq 3 high logseq 10 thread 1; release channel c1; } Oracle的备份策略 正确的备份策略不仅能保证数据库服务器的24*7的高性能的运行,还能保证备份与恢复的快速性与可靠性。我们将以RMAN的多级增量备份作为一个备份策略的例子来讨论。采用多级备份就是为了减少每天备份所需要的时间,而又保证系统有良好的恢复性。恢复时间与备份时间要有一个权衡。比如只要进行一个数据库的全备份,然后就只备份归档也可以保证能把数据库恢复到最新的状态,但是这样的恢复时间将是不可容忍的。多级备份也正是为了解决这种问题,结合某些应用的特点,可以采用如下的备份策略:  每个月做一个数据库的全备份(包括所有的数据和只读表空间);  每个星期一做一次零级备份(不包含只读表空间);  每个星期三做一次一级备份;  每天做一次二级备份。  每天做一次恢复目录的热备份。  任何数据库的更改需要重新同步CATALOG目录并重新备份(如添加数据文件)或重新备份(如修改表空间为只读)。  每次备份后都可以备份归档日志或定期备份归档日志。如果可能,可以直接备份到磁带上。 Oracle的恢复 下面的操作约定恢复目录存储在db118中,目标数据库是db100。 1. 数据库恢复 1) 启动SQL*PLUS,使用正确的init.ora文件,使用NOMOUNT选项启动目标数据库实例。 2) 启动RMAN并连接到恢复目录,如下: $rman catalog rman/rman@db118 恢复管理器: Release 9.2.0.1.0 - Production Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved. 连接到恢复目录数据库 RMAN> 3) 连接到目标数据库 RMAN>connect target internal/oracle@db100 连接到目标数据库: db (DBID=1142471523) 4) 一旦连接到目标数据库,执行restore命令执行全数据库恢复 RMAN>run{ 2>allocate channel c1 type disk; 3>restore database; 4>release channel c1; } 2. 表空间和数据文件恢复 要执行表空间或数据文件恢复,数据库必须以ARCHIVELOG模式运行,并且用户需要拥有介质恢复所需的归档重做日志文件。在试图恢复表空间之前,必须保证表空间已脱机。RMAN命令如下: run{ allocate channel c1 type disk; sql “alter tablespace users_data offline immediate”; restore tablespace users_data; recover tablespace users_data; sql “alter tablespace users_data online”; } 上面的脚本执行了以下的工作: 1) RMAN分配通道从c1用于恢复操作。 2) 将表空间users_data脱机 3) RMAN从备份集中恢复属于表空间的数据文件 4) 通过介质恢复提供所需的归档日志文件,恢复属于表空间users_data的数据文件。 5) RMAN将表空间联机。 在脚本执行期间,如果不能把数据文件恢复到指定位置,在执行restore命令前使用set newname命令。 3. 控制文件恢复 1) 启动SQL*PLUS,使用正确的init.ora文件,使用NOMOUNT选项启动目标数据库实例。 2) 启动RMAN并连接到恢复目录,如下: $rman catalog rman/ 恢复管理器: Release 9.2.0.1.0 - Production Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved. 连接到恢复目录数据库 RMAN> 3) 连接到目标数据库 RMAN>connect target internal/ 连接到目标数据库: db (DBID=1142471523) 4) 一旦连接到目标数据库,执行restore命令恢复控制文件 RMAN>run{ 2>allocate channel c1 type disk; 3>restore controlfile; 4>} 小结 保证Oracle数据库的安全是系统安全的重要组成部分,必须要设计完善的数据库备份和恢复方案。Oracle提供的各种工具结合起来使用能够使数据库的备份和恢复变得简单。在实际的Oracle数据库的备份和恢复中,会有许多不通的和复杂的情况出现,针对不同的情况,要本着使数据具有最大的可恢复性和恢复时间最短的原则去进行数据库的恢复,这需要大量的实践和经验积累。 参考文献 [1] Oracle8i Backup and Recovery Guide Oracle Document [2] Oracle8i Recovery Manager User’s Guide and Reference Oracle Document [3] Oracle9i:A Beginner’s Guide (美) Michael Abbey Michael Corey Ian Abramson 2002.3 机械工业出版社 [4] Oracle8i备份与恢复手册 (美)Rama Velpuri Anand Adkoli 蒋蕊 王磊等译 2001.9 机械工业出版社 仅供参考,请自借鉴希望对您有帮助

加我,我是一IT期刊编辑,我来指导你

数据结构论文发表

您好,如果是计算机专业的同学可以建议做网络方面的论文研究,这方面比较热门、资料繁多、可借鉴性强;其他如数据库较之算法以及数据结构相对可参考资料更为多一些。相关范文:Oracle数据库的备份和恢复The Backup and Restoration of Database Oracle摘要:本文从Oracle的体系结构开始,由原理到实践,论述了Oracle数据库备份的方式和策略。包括IMP/EXP, RMAN,OS备份等。 Abstract: Starting from the architecture of ORACLE, this paper discusses the backup method and strategy of database Oracle, including IMP/EXP, PMAN and OS theoretically and practically. 关键字:Oracle, 备份, 恢复, RMAN Keywords: Oracle; Backup; Restoration; RMAN 概述 在大型软件运行系统中,存在着很多备份策略,如RAID技术,CLUSTER技术等等。很多时候,这些系统的备份就能够解决数据库备份的问题。但是,这种备份成本很高。同时,硬件的备份有时根本满足不了现实的需要,如果用户不小心误删了一个表,又想恢复的时候,数据库的备份就变的重要了。 Introduction: In the running system of some big software, there exist many backup strategies such as RAID technology and CLUSTER technology etc. In most cases, these system backup strategies can fulfill the database backup. However the cost is rather high. At the same time, hardware backup sometimes is far from the actual requirement. The database backup becomes very important when a table is deleted by accident and needs to be restored. Oracle的运行方式 Oracle数据库有两种运行方式:一是归档方式(ARCHIVELOG),归档方式的目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据;二是不归档方式(NOARCHIVELOG),只能恢复数据库到最近的回收点(冷备份或是逻辑备份)。根据数据库的高可用性和用户可承受丢失的工作量的多少,对于实时性要求高的数据库,强烈要求采用为归档方式;不归档方式只用在那些开发和调试的数据库等。 如何改变数据库的运行方式,在创建数据库时,作为创建数据库的一部分,就决定了数据库初始的存档方式。一般情况下为NOARCHIVELOG方式。当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成ARCHIVELOG方式。 操作如下。 1. 关闭数据库,备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。 2. 修改初试化参数,使能自动存档。 修改(添加)初始化文件init[SID].ora参数: log_archive_start=true #启动自动归档 log_archive_format=ARC%T%S.arc #归档文件格式 log_archive_dest=/archdir/arch #归档路径 在8i中,可以最多有五个归档路径,并可以归档到其它服务器,如备用数据库(standby database)服务器。 3. 启动Instance到Mount状态,即加载数据库但不打开数据库。 $> svrmgrl SVRMGRL> connect internal SVRMGRL> startup mount SVRMGRL> alter database archivelog; // 使数据库运行在归档方式 SVRMGRL> alter database open; Oracle的备份方案 按照备份的方式,可以分为逻辑备份、冷备份(脱机备份)、热备份(联机备份),其中冷备份与热备份又可以合称为物理备份。按照备份的工具,可以分为EXP/IMP备份、操作系统备份、RMAN、第三方工具备份,如VERITAS等。下面分别介绍Oracle本身提供的几种备份工具和操作。 1. EXP/IMP备份(逻辑备份) EXP/IMP属于逻辑备份的范畴,逻辑备份是指只备份数据库中的数据但不记录数据物理位置的一种备份。导出为数据库作一个二进制的备份,并且这个备份只能由其姊妹程序imp(import)来读取。具体的使用方法如下。(因为EXP和IMP使用上参数基本相同,所以只以EXP为例。) EXP的命令格式和参数 格式:KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN) 例程: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR) USERID 必须是命令行中的第一个参数 关键字 说明(默认) 关键字 说明(默认) USERID 用户名/口令 FULL 导出整个文件 (N) BUFFER 数据缓冲区的大小 OWNER 所有者用户名列表 FILE 输出文件 (EXPDAT.DMP) TABLES 表名列表 COMPRESS 导入一个范围 (Y) RECORDLENGTH IO记录的长度 GRANTS 导出权限 (Y) INCTYPE 增量导出类型 INDEXES 导出索引 (Y) RECORD 跟踪增量导出 (Y) ROWS 导出数据行(Y) PARFILE 参数文件名 CONSTRAINTS 导出限制 (Y) CONSISTENT 交叉表一致性 LOG 屏幕输出的日志文件 STATISTICS 分析对象 (ESTIMATE) DIRECT 直接路径 (N) TRIGGERS 导出触发器 (Y) FEEDBACK 显示每 x 行 (0) 的进度 FILESIZE 各转储文件的最大尺寸 QUERY 选定导出表子集的子句 注:可以通过exp -help命令查看exp的使用方法;imp -help命令查看imp的使用方法. 2. 操作系统备份(冷备份和热备份) 操作系统备份有两类,冷备份(Cold backup)和热备份(Hot backup)。操作系统备份和上面的逻辑备份有本质的区别,它将拷贝整个的数据文件。  冷备份 在文件级备份开始前数据库必须彻底关闭。关闭操作必须用带有normal、immediate、transaction选项的shutdown来执行。 数据库使用的每个文件都被备份下来,这些文件包括: 所有数据文件、所有控制文件、所有联机重做日志文件和INIT.ORA文件(建议)。 作冷备份一般步骤是: 1) 正常关闭要备份的实例(instance); 2) 备份整个数据库到一个目录 3) 启动数据库 即: SVRMGRL>connect internal SVRMGRL >shutdown immediate SVRMGRL >!cp or SVRMGRL >!tar cvf /dbbak/fullbk.tar /u01/oracle/oradata/dbname SVRMGRL >startup  热备份 热备份是当数据库打开时的操作系统备份。热备份只能用于ARCHIVELOG方式的数据库。热备份没有必要备份联机日志,但必须是归档状态,在实例恢复的时候,可能需要用到归档日志。当前联机日志一定要保护好或是处于镜相状态,当前联机日志的损坏,对于数据库的损坏是巨大的,只能以数据的丢失来进行数据库的恢复工作。对于临时表空间,存放的是临时信息,在热备份是也可以考虑不用备份,如果临时文件发生故障,可以删除该数据文件与表空间,重建一个临时表空间。 热备份备份的内容和冷备份备份的内容一样,操作一般步骤是: 1) 备份的表空间通过使用ALTER TABLESPACE …… BEGIN BACKUP使表空间进入热备份方式。 2) 用类似冷备份的操作系统命令对组成表空间的数据文件进行拷贝。 3) 使用ALTER TABLESPACE …… END BACKUP命令使表空间脱离热备份方式。 4) 使用ALTER DATABSE …… BACKUP CONTROLFILE命令备份控制文件。 即: SVRMGRL>connect internal; SVRMGRL>alter tablespace User begin backup; SVRMGRL>!cp /u01/oradata/dbname/user01.ora /dbbak/user01.ora SVRMGRL>alter tablespace User end backup; SVRMGRL>alter database backup controlfile to ; or SVRMGRL>alter database backup controlfile to trace; 注意:因为热备份的时候,用户还在操作数据库,所以最好是让每个表空间处于备份状态的时间最短,这样就要求一个表空间一个表空间的备份,不要一起使表空间处于备份状态而同时拷贝数据文件。 3. RMAN Recovery Manager(RMAN)是一个使DBA能很方便地对数据库执行备份和恢复任务的Oracle应用工具,能够提供DBA对企业数据库备份与恢复操作的集中控制。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,其中包括表空间、数据文件,控制文件和归档文件。RMAN可以按要求存取和执行备份和恢复。 RMAN支持六种不通的类型的备份,经常用到的有两种: FULL 数据库全备份,包括所有的数据块。 INCREMENTAL 增量备份,是指只备份在同级别或更低级别上进行的前一次备份之后的作过改动的那些数据块。这其中需要一个0级的增量作为增量的基础,它备份包括全部曾经被数据库使用过的数据块(但不是完全数据库备份)。RMAN共可以支持7级增量。 BACKUP,RESTORE,RECOVER是RMAN最基本的三个命令,分别可以进行数据库的备份,复原以及恢复操作。 restore命令用于恢复来自备份集或映像拷贝的数据文件、控制文件或归档重做日志。recovery命令用于进行介质恢复应用重做日志文件。 RMAN的备份信息一般保存在恢复目录中,恢复目录也是一个数据库,只不过这个数据库用来保存备份信息,一个恢复目录可以用来保存多个数据库的备份信息。 RMAN也可以在没有恢复目录(NOCATALOG)下运行,这个时候备份信息保存在控制文件。这种情况比较危险,因为一旦控制文件被破坏,将导致所有数据库备份信息的丢失和恢复的失败,而且,没有恢复目录,很多RMAN的命令将不被支持。所以对于重要的数据库,建议创建恢复目录。 创建恢复目录一般有以下步骤。(例子数据库为db) 1) 为目录创建一个单独的表空间 SQL>create tablespace tsrman datafile ’/dbbak/rman/rsrman.dbf’ size 50M; 2) 创建RMAN用户 SQL>create user rman identified by rman default tablespace rsrman temporary tablespace temp; 3) 给RMAN授予权限 SQL>grant connect, resource, recovery_catalog_owner to rman; 4) 打开RMAN $rman 5) 连接恢复目录数据库 RMAN>connect catalog rman/rman@db 6) 创建恢复目录 RMAN>create catalog tablespace tsrman 在对某个数据库进行备份之前,必须先在恢复目录上注册该数据库,这一过程操作如下(假定目标数据库连接字符串为db100)。 1) 连接到恢复目录数据库 $rman rman/rman@db 2) 在RMAN中连接到目标数据库(即要进行备份的数据库) RMAN>connect target sys/change_on_install@db100 3) 注册数据库 RMAN>register database; 注册完数据库后,就可以进行数据库的备份了。有完全数据库备份、表空间备份、控制文件备份、和归档日志备份等。操作分别如下。 1) 完全数据库备份 要求:ARCHIVELOG模式,在DB OPEN的情况下进行数据库完全备份。 RMAN>run{ allocate channel c1 type=disk; backup database; release channel c1; } 2) 表空间备份 要求:ARCHIVELOG模式 RMAN>run{ allocate channel c1 type=disk; backup tablespace “ts_users” filesperset 3 format ‘aatst_%t%s.%p’; release channel c1; } 3) 控制文件备份 RMAN>run{ allocate channel c1 type=disk; backup current controlfile tag=weekly_sat_backup; release channel c1; } 在对数据库进行完全备份时,控制文件自动包含其中。也可以在表空间或数据文件的备份中包含一个控制文件。 RMAN>run{ allocate channel c1 type=disk; backup tablespace “ts_users” filesperset 3 format ‘aatst_%t%s.%p’; include current controlfile; release channel c1; } 4) 归档日志备份 通过查询数据字典表V$ARCHIVED_LOG获取要备份的日志序列号,然后执行命令: RMAN>run{ allocate channel c1 type=disk; backup archivelog low logseq 3 high logseq 10 thread 1; release channel c1; } Oracle的备份策略 正确的备份策略不仅能保证数据库服务器的24*7的高性能的运行,还能保证备份与恢复的快速性与可靠性。我们将以RMAN的多级增量备份作为一个备份策略的例子来讨论。采用多级备份就是为了减少每天备份所需要的时间,而又保证系统有良好的恢复性。恢复时间与备份时间要有一个权衡。比如只要进行一个数据库的全备份,然后就只备份归档也可以保证能把数据库恢复到最新的状态,但是这样的恢复时间将是不可容忍的。多级备份也正是为了解决这种问题,结合某些应用的特点,可以采用如下的备份策略:  每个月做一个数据库的全备份(包括所有的数据和只读表空间);  每个星期一做一次零级备份(不包含只读表空间);  每个星期三做一次一级备份;  每天做一次二级备份。  每天做一次恢复目录的热备份。  任何数据库的更改需要重新同步CATALOG目录并重新备份(如添加数据文件)或重新备份(如修改表空间为只读)。  每次备份后都可以备份归档日志或定期备份归档日志。如果可能,可以直接备份到磁带上。 Oracle的恢复 下面的操作约定恢复目录存储在db118中,目标数据库是db100。 1. 数据库恢复 1) 启动SQL*PLUS,使用正确的init.ora文件,使用NOMOUNT选项启动目标数据库实例。 2) 启动RMAN并连接到恢复目录,如下: $rman catalog rman/rman@db118 恢复管理器: Release 9.2.0.1.0 - Production Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved. 连接到恢复目录数据库 RMAN> 3) 连接到目标数据库 RMAN>connect target internal/oracle@db100 连接到目标数据库: db (DBID=1142471523) 4) 一旦连接到目标数据库,执行restore命令执行全数据库恢复 RMAN>run{ 2>allocate channel c1 type disk; 3>restore database; 4>release channel c1; } 2. 表空间和数据文件恢复 要执行表空间或数据文件恢复,数据库必须以ARCHIVELOG模式运行,并且用户需要拥有介质恢复所需的归档重做日志文件。在试图恢复表空间之前,必须保证表空间已脱机。RMAN命令如下: run{ allocate channel c1 type disk; sql “alter tablespace users_data offline immediate”; restore tablespace users_data; recover tablespace users_data; sql “alter tablespace users_data online”; } 上面的脚本执行了以下的工作: 1) RMAN分配通道从c1用于恢复操作。 2) 将表空间users_data脱机 3) RMAN从备份集中恢复属于表空间的数据文件 4) 通过介质恢复提供所需的归档日志文件,恢复属于表空间users_data的数据文件。 5) RMAN将表空间联机。 在脚本执行期间,如果不能把数据文件恢复到指定位置,在执行restore命令前使用set newname命令。 3. 控制文件恢复 1) 启动SQL*PLUS,使用正确的init.ora文件,使用NOMOUNT选项启动目标数据库实例。 2) 启动RMAN并连接到恢复目录,如下: $rman catalog rman/ 恢复管理器: Release 9.2.0.1.0 - Production Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved. 连接到恢复目录数据库 RMAN> 3) 连接到目标数据库 RMAN>connect target internal/ 连接到目标数据库: db (DBID=1142471523) 4) 一旦连接到目标数据库,执行restore命令恢复控制文件 RMAN>run{ 2>allocate channel c1 type disk; 3>restore controlfile; 4>} 小结 保证Oracle数据库的安全是系统安全的重要组成部分,必须要设计完善的数据库备份和恢复方案。Oracle提供的各种工具结合起来使用能够使数据库的备份和恢复变得简单。在实际的Oracle数据库的备份和恢复中,会有许多不通的和复杂的情况出现,针对不同的情况,要本着使数据具有最大的可恢复性和恢复时间最短的原则去进行数据库的恢复,这需要大量的实践和经验积累。 参考文献 [1] Oracle8i Backup and Recovery Guide Oracle Document [2] Oracle8i Recovery Manager User’s Guide and Reference Oracle Document [3] Oracle9i:A Beginner’s Guide (美) Michael Abbey Michael Corey Ian Abramson 2002.3 机械工业出版社 [4] Oracle8i备份与恢复手册 (美)Rama Velpuri Anand Adkoli 蒋蕊 王磊等译 2001.9 机械工业出版社 仅供参考,请自借鉴希望对您有帮助

数据结构论文参考文献

[1]严蔚敏.数据结构C语言版[M].清华大学出版社,2007.

[2]舞动的排序算法.http://v.youku.com/v_show/id_XMjU4MTg3MTU2.html.

[3]丽水学院在线联系和考试系统.http://acm.lsu.edu.cn.

[4]范德宝,于晓聪,丁伟祥.提高数据结构课程教学效果的探讨[J].黑龙江科技信息,2007.

[5]董丽薇.“数据结构”课程教学方法的.改进[J].沈阳师范大学学报(自然科学版),2012.

数据结构论文参考文献:

[1]WingJM.ComputationalThinking.CommunicationsoftheACM,2006,49(3):33-35.

[2]教育部高等学校计算机科学与技术专业教学指导委员会.高等学校计算机科学与技术专业人才专业能力构成与培养[M].北京:机械工业出版社,2010.

[3]MarkM.Meerschaert.数学建模方法与分析[M].第2版.刘来福,杨淳,黄海洋,译.北京:机械工业出版社,2005.

[4]孟凡荣,贾杰,王兴伟.网络工程专业创新性实践课程体系构建与实施[J].计算机教育,2013,(194)14:104-108.

[5]刘昕,石乐义,元雪东.面向计算思维的数据结构课程教学改革[J].计算机教育,2013,(196)16:35-38.

数据结构论文参考文献:

[1]逯鹏,张赞.数据结构课程教学方法的研究和实践[J].教育教学论坛,2015(18):121-123.

[2]贾丹,周军.基于创新应用型人才培养模式的数据结构课程教学改革[J].辽宁工业大学学报:社会科学版,2015(2):132-134.

[3]郭艳燕,童向荣,孙雪姣,等.程序设计基础与数据结构两门课程的教学衔接[J].计算机教育,2014(10):47-50.

[4]高贤强,化希耀,陈立平.引入计算思维的《数据结构》教学改革研究[J].现代计算机:专业版,2015(7):16-19.

[5]严太山,郭观七,李文彬.课堂设问的技巧及其在《数据结构》课程教学中的应用[J].湖南理工学院学报:自然科学版,2015(1):81-83.

[6]南淑萍.电子商务专业数据结构教学方法探讨[J].湖北科技学院学报,2014(10):13-14.

[7]杨夏.基于微信公众平台的对外汉语口语教学研究[D].四川师范大学,2014.

1990年9月至1993年5月:马里兰大学硕士学位:1995年8月获硕士学位博士学位:1997年6月获博士学位1993年9月至今 :斯坦福大学计算机科学系 指导教师:赫科特·加西亚-莫利纳(Hector Garcia-Molina)教授数学与计算机科学学士学位研究项目GNAT's这一项目包括编目多维数据,用于邻近搜索。这一项目的应用包括身份比对、信息查找和分子生物学。论文发表在VLDB'95上。通过Mathematica、C和C++,实现了不同版本的数据结构。COPS和加西亚-莫利纳教授共同从事的一个项目,其中包括版权侵权的自动探测。与另一名博士生詹姆斯·戴维斯(James Davis)一同,我们开发了COPS,即版权保护系统。论文发表在SIGMOD'95上。当前研究方向及工作电影评价向用户提供个性化的电影评价。其实现方式如下。你可以对看过的电影进行评价。随后,系统将查找有类似品味的用户,从而确定你对其他电影可能的看法。目前完全采用Python来编写。LaTeX与HTML的转换工具开发过LaTeX与HTML的转换工具,从而可以生成以上论文的HTML版本。其独特之处在于,大部分代码使用TeX来编写,因此相对于其他转换工具有着更美观的设计。其中的一小部分使用Perl来编写。

在DOS操作中,我们所谈及的文件称之为外部文件。外部文件是存储在外部设备上, 如:外存储器上,可由计算机操作系统进行管理,如用dir、type等命令直接对文件进行操作。 Pascal所谈及的文件,称之为内部文件。内部文件的特点是文件的实体(实际文件)也是存储在外存储器上,成为外部文件的一分子,但在使用时必须在程序内部以一定的语句与实际文件联系起来,建立一一对应的关系,用内部文件的逻辑名对实际文件进行操作。内部文件的逻辑名必须符合PASCAL语言标识符的取名规则。 Pascal中的文件主要用于存放大量的数据。如:成绩管理,原始数据很多,使用文件先将其存入磁盘,通过程序读出文件中的数据再进行处理,比不使用文件要来得方便、有效。 Pascal中的一个文件定义为同一类型的元素组成的线性序列。文件中的各个元素按一定顺序排列,可以从头至尾访问每一个元素,从定义上看,文件与数组相似,但它们之间有着明显不同的特征,主要表现在: (1)文件的每一个元素顺序存贮于外部文件设备上(如磁盘上)。因此文件可以在程序进行前由Pascal程序或用文字编辑软件,如edit、ws、Turbo Pascal的edit命令等产生,或在运行过程中由程序产生,且运行完后,依然存贮在外部设备上。 (2)在系统内部,通过文件指针来管理对文件的访问。文件指针是一个保存程序在文件中位置踪迹的计算器,在一固定时刻,程序仅能对文件中的一个元素进行读或写的操作,在向文件写入一个元素或从文件读取一个元素后,相应的文件指针就前进到下一元素位置。而数组是按下标访问。 (3)在文件类型定义中无需规定文件的长度即元素的个数,就是说元素的数据可动态改变,一个文件可以非常之大,包含许许多多元素,也可以没有任何元素,即为一个空文件。而数组的元素个数则是确定的。 使用文件大致有以下几个步骤; (1)说明文件类型,定义文件标识符; (2)建立内部文件与外部文件的联系; (3)打开文件; (4)对文件进行操作; (5)关闭文件。 Turbo Pascal将文件分为三类:文本文件(顺序)、有类型文件(顺序或随机)和无类型文件(顺序或随机)。下面将介绍这些文件及其操作。 一、文本文件 文本文件又称为正文文件或行文文件,可供人们直接阅读,是人机通信的基本数据形式之一。文本文件可用文字编辑程序(如DOS的edit或Turbo Pascal的编辑命令edit)直接建立、阅读和修改, 也可以由PASCAL程序在运行过程中建立。 1、文本文件的定义: 文本文件的类型为TEXT,它是由ASCII字符组成的,是Pascal提供的标准文件之一。标准文件 TEXT已由Pascal说明如下: TYPE TEXT=FILE OF CHAR; 因此,TEXT同标准类型INTEGER、READ等一样可以直接用于变量说明之中,无需再由用户说明。 例如: VAR F1,F2:TEXT; 这里定义了两个文本文件变量F1和F2。 2、文本文件的建立 文本文件的建立有两种方法: (1)直接用Turbo Pascal的Edit建立原始数据文件。 例1 将下表中的数据存入名为A.dat的文件中。 3 4 29 30 50 60 80 90 70 75 60 50 70 45 操作步骤: ①进入Turbo Pascal的编辑状态; ②输入数据; ③存盘,文件名取A.dat。 此时,已将数据存入文本文件A.dat中。文本文件也可用DOS中的Edit等软件建立。 (2)用程序的方式建立中间数据或结果数据文件。 用程序的方式建立文件操作步骤为: ①定义文本文件变量; ②把一外部文件名赋于文本文件变量,使该文本文件与一相应外部文件相关联; 命令格式:ASSIGN(f,name) f为定义的文本文件变量 name为实际文件文件名 如:ASSIGN(F1,`FILEIN.DAT`) 或:ASSIGN(F1,`PAS\FILEIN.RES`) 这样在程序中对文本文件变量F1的操作,也就是对外部实际文件`FILEIN.DAT`或`FILEIN.RES`的操作。上例中文件`FILEIN.DAT`是存贮在当前目录中,而文件`FILEIN.RES`则是存贮在PAS子目录中。 ③打开文本文件,准备写; 命令格式1:REWRITE(f) 功能:创建并打开新文件准备写,若已有同名文件则删除再创建 命令格式2:APPEND(f) 功能:打开已存在的文件并追加 ④对文件进行写操作; 命令格式:WRITE(f,<项目名>) 或:WRITELN(f,<项目名>) 功能:将项目内容写入文件f中 ⑤文件操作完毕后,关闭文件。 命令格式:CLOSE(f) 例2 从键盘上读入表12.1的数据,用程序写入名为B.dat的文件中。3、读取文本文件 文本文件内容读出操作步骤: ①定义文本文件变量; ②用ASSIGN(f,name)命令,将内部文件f与实际文件name联系起来; ③打开文本文件,准备读; 命令格式:READ(f,<变量名表>) READLN(f,<变量名表>) 功能:读文件f中指针指向的数据于变量中 文本文件提供了另外两个命令,在文本的操作中很有用处,它们是: EOLN(f):回送行结束符 EOF(f):回送文件结束符 ⑤文件操作完毕,用CLOSE(f)命令关闭文件。 例3 读出例12.1建立的文本文件,并输出。由于文本文件是以ASCII码的方式存储,故查看文本文件的内容是极为方便,在DOS状态可使用 DOS中TYPE等命令进行查看,在Turbo Pascal中可以象取程序一样取出文件进行查看。 4、文本文件的特点 (1)行结构 文本文件由若干行组成,行与行之间用行结束标记隔开,文件末尾有一个文件结束标记。由于各行长度可能不同,所以无法计算出给定行在文本文件中的确定位置,从而只能顺序地处理文本文件,而且不能对一文本文件同时进行输入和输出。 (2)自动转换功能 文本文件的每一个元素均为字符型,但在将文件元素读入到一个变量(整型,实型或字符串型)中时,Pascal会自动将其转换为与变量相同的数据类型。与此相反在将一个变量写入文本文件时,也会自动转移为字符型。 例4 某学习小组有10人,参加某次测验,考核6门功课, 统计每人的总分及各门的平均分,将原始数据及结果数据放入文本文件中。 分析 (1)利用Turbo Pascal的EDIT建立原始数据文件TESTIN.DAT存贮在磁盘中,其内容如下: 10 6 1 78 89 67 90 98 67 2 90 93 86 84 86 93 3 93 85 78 89 78 98 4 67 89 76 67 98 74 5 83 75 92 78 89 74 6 76 57 89 84 73 71 7 81 93 74 76 78 86 8 68 83 91 83 78 89 9 63 71 83 94 78 95 10 78 99 90 80 86 70 (2)程序读入原始数据文件,求每人的总分及各门的平均分; (3)建立结果数据文件,文件名为TEXTIN.RES. 程序:例5 读入一个行长不定的文本文件。排版,建立一个行长固定为60个字符的文件, 排版要求:(1)当行末不是一个完整单词时,行最后一个字符位用'-'代替, 表示与下一行行头组成完整的单词;(2)第一行行头为两个空格,其余各行行头均不含有空格。 分析 (1)建立原始数据文件。 (2)程序边读入原始数据文件内容,边排版。 (3)每排完一行行长为60字符,并符合题中排版条件,写入目标文件中。 设原始数据TEXTCOPY.DAT文件内容如下: Pavel was arrested. That dat Mother did not light the stove. Evening came and a cold wind was blowing. There was a knock at the window. Then another. Mother was used to such knocks,but this time she gave a little start of joy. Throwing a shawl over her shoulders,she opened the door. 程序:对TEXTCOPY.DAT文本文件运行程序得到排版结果文件TEXTCOPY.RES内容如下: Pavel was arrested.That dat Mother did not light the stov- evening came and a cold wind was blowing.There was a knock at the window.Then another.Mother was used to such knocks,b- ut this time she gave a little start of joy.Throwing a shawl over her shoulders,she opened the door.二、有类型文件 文本文件的元素均为字型符。若要在文件中存贮混合型数据,必须使用有类型文件。 1、有类型文件的定义 有类型文件中的元素可以是混合型的,并以二进制格式存贮,因此有类型文件(除了字符类型文件,因为它实质上是文本文件)不象文本文件那样可以用编辑软件等进行阅读和处理。 有类型文件的类型说明的格式为: 类型标识符=File of 基类型; 其中基类型可以是除了文件类型外的任何类型。例如: FILE1=FILE OF INTEGER; FILE2=FILE OF ARRAY[1--10] OF STRING; FILE3=FILE OF SET OF CHAR; FILE4=FILE OF REAL; FILE5=FILE OF RECORD; NAME:STRING; COURSE:ARRAY[1--10] OF READ; SUN:READ; END; 等等,其中FILE2,FILE3,FILE5中的数组、集合、记录等类型可以先说明再来定义文件变量。 例如: VAR F1:FILE; F2,F3:FILE3; F4:FILE5; 与前面所有类型说明和变量定义一样,文件类型说明和变量定义也可以合并在一起,例如: VAR F1:FILE OF INTEGER; F2,F3:FILE OF SET OF CHAR; F4:FILE OF RECORD NAME:STRING; COURSE:ARRAY[1--10] OF REAL; SUM:READ; END; Turbo Pascal对有类型文件的访问既可以顺序方式也可以用随机方式。 为了能随机访问有类型文件,Turbo Pascal提供如下几个命令: 命令格式1:seek(f,n) 功能:移动当前指针到指定f文件的第n个分量,f为非文本文件,n为长整型 命令格式2:filepos(f) 功能:回送当前文件指针,当前文件指针在文件头时,返回,函数值为长整型 命令格式3:filesize(f) 功能:回送文件长度,如文件空,则返回零,函数值为长整型 2、有类型文件的建立 有类型文件的建立只能通过程序的方式进行,其操作步骤与文本文件程序方式建立的步骤相仿,不同之处:(1)有类型文件的定义与文本文件的定义不同;(2)有类型文件可以利用SEEK命令指定指针随机写入。 3、有类型文件的访问 有类型文件访问的操作步骤与文本文件的程序访问操作步骤相仿,区别之处:(1)有类型文件的定义与文本文件的定义不同;(2)有类型文件可以利用SEEK命令访问文件记录中的任一记录与记录中的任一元素。 例6 建立几个学生的姓名序、座号、六门课程成绩总分的有类型文件。 分析:为简单起见,这里假设已有一文本文件FILEDATA.TXT,其内容如下: 10 li hong 1 89 67 56 98 76 45 wang ming 2 99 87 98 96 95 84 zhang yi hong 3 78 69 68 69 91 81 chang hong 4 81 93 82 93 75 76 lin xing 5 78 65 90 79 89 90 luo ze 6 96 85 76 68 69 91 lin jin jin 7 86 81 72 74 95 96 wang zheng 8 92 84 78 89 75 97 mao ling 9 84 86 92 86 69 89 cheng yi 10 86 94 81 94 86 87 第一个数10表示有10个学生,紧接着是第一个学生的姓名、座号、6科成绩,然后是第二个学生,等等。 从文本文件中读出数据,求出各人的总分,建立有类型文件,设文件名为filedata.fil,文件的类型为记录studreco,见下例程序。 程序:例7 产生数1-16的平方、立方、四次方表存入有类型文件中, 并用顺序的方式访问一遍,用随机方式访问文件中的11和15两数及相应的平方、立方、四次方值。 分析:建立有类型文件文件名为BIAO.FIL,文件的类型为实数型。 (1)产生数1-16及其平方、立方、四次方值,写入BIAO.FIL,并顺序读出输出; (2)用SEEK指针分别指向11和15数所在文件的位置,其位置数分别为10×4和14×4(注意文件的第一个位置是0),读出其值及相应的平方、立方、四次方值输出。 程序:程序运行结果如下:另外,Turbo Pascal还提供了第三种形式文件即无类型文件,无类型文件是低层I/O通道,如果不考虑有类型文件、 文本文件等存在磁盘上字节序列的逻辑解释,则数据的物理存储只不过是一些字节序列。这样它就与内存的物理单元一一对应。无类型文件用128个连续的字节做为一个记录(或分量)进行输入输出操作,数据直接在磁盘文件和变量之间传输,省去了文件缓解区,因此比其它文件少占内存,主要用来直接访问固定长元素的任意磁盘文件。 无类型文件的具体操作在这里就不一一介绍,请参看有关的书籍。三、综合例析 例8 建立城市飞机往返邻接表。文本文件CITY.DAT内容如下: 第一行两个数字N和V; N代表可以被访问的城市数,N是正数<100; V代表下面要列出的直飞航线数,V是正数<100; 接下来N行是一个个城市名,可乘飞机访问这些城市; 接下来V行是每行有两个城市,两城市中间用空格隔开,表示这两个城市具有直通航线。 如:CITY1 CITY2表示乘飞机从CITY1到CITY2或从CITY2到CITY1。 生成文件CITY.RES,由0、1组成的N×N邻接表。 邻接表定义为:分析 (1)用从文本文件city.dat中读入N个城市名存入一些数组CT中; (2)读入V行互通航班城市名,每读一行,查找两城市在CT中的位置L、K,建立邻接关系,lj[l,k]=1和lj[k,j]=1; (3)将生成的邻接表写入文本文件CITY.RES中。 设CITY.DAT内容如下: 10 20 fuzhou beijin shanghai wuhan hongkong tiangjin shenyan nanchan chansa guangzhou fuzhou beijin fuzhou shanghai fuzhou guangzhou beijin shanghai guangzhou beijin wuhan fuzhou shanghai guangzhou hongkong beijin fuzhou hongkong nanchan beijin nanchan tiangjin tiangjin beijin chansa shanghai guangzhou wuhan chansa beijin wuhan beijin shenyan beijin shenyan tiangjin shenyan shanghai shenyan guangzhou 程序:得到CITY.RES文件内容如下: 10 1 fuzhou 2 beijin 3 shanghai 4 wuhan 5 hongkong 6 tiangjin 7 shenyan 8 nanchan 9 chansa 10 guangzhou 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 例9 对例12.3的FILEDATE.FIL文件内容按总分的高低顺序排序。 分析: 文件的排序就是将文本文件的各分量按一定要求排列使文件有序,文件排序有内排序和外排序二种,内排序是指将文件各分量存入一个数组,再对数组排列,最后将该数组存入原来的文件。外排列不同于内排列,它不是将文件分量存入数组,而是对文件直接排序,内排序比外排序速度要快,但当文件很大时,无法调入内存,此时用外排序法较合适。 本程序使用过程SEEK,实现外排序。 程序:习 题 1、编一程序,计算文本文件中行结束标志的数目。 2、计算文本文件的行长度的平均值、最大值和最小值。 3、一文本文件FILE.DAT存放N个学生某学科成绩,将成绩转换成直方图存入FILE.RES文件中。 如FILE.DAT内容为: 5 78 90 87 73 84 得到直方图文件FILE.RES内容为: 5 ******** ********* ********* ******* ******** 4、银行账目文件含有每一开户的账目细节:开户号、姓名、地址、收支平衡额。写一程序,读入每一开户的账目,生成银行账目文件。 5、通讯录文件每个记录内容为:姓名、住址、单位、邮编、电话,编一程序按姓名顺序建立通讯录文件,要求先建立文件,再对文件按姓名顺序进行外排序。

相关百科
热门百科
首页
发表服务