论文数据库

关键词: 图形 空间 数据库 学生

论文数据库(共8篇)

篇1:论文数据库

数据库、数据库管理系统跟数据库系统,这三者看起来都是数据库的扩展,而事实真的如此么?这三者有着怎样的关系与区别呢?我相信也还有很多人不知道。而下面就让我们来深入的了解下吧。

数据库(DataBase,简称DB)

严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。数据库能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。

数据库管理系统(DataBase Mangement System,简称DBMS)

数据库管理系统(database management system)是一种操纵和管理数据库的软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。

数据库管理系统主要提供如下功能。

1.数据定义:DBMS提供数据定义语言DDL(Data Definition Language),供用户定义数据库的三级模式结构、两级映像以及完整性约束和保密限制等约束。DDL主要用于建立、修改数据库的库结构。DDL所描述的库结构仅仅给出了数据库的框架,数据库的框架信息被存放在数据字典(Data Dictionary)中。

2.数据操作:DBMS提供数据操作语言DML(Data Manipulation Language),供用户实现对数据的追加、删除、更新、查询等操作。

3.数据库的运行管理:数据库的运行管理功能是DBMS的运行控制、管理功能,包括多用户环境下的并发控制、安全性检查和存取限制控制、完整性检查和执行、运行日志的组织管理、事务的管理和自动恢复,即保证事务的原子性。这些功能保证了数据库系统的正常运行。

4.数据组织、存储与管理:DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等,需确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率,选择合适的存取方法提高存取效率。

5.数据库的保护:数据库中的数据是信息社会的战略资源,随数据的保护至关重要。DBMS对数据库的保护通过4个方面来实现:数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库安全性控制。DBMS的其他保护功能还有系统缓冲区的管理以及数据存储的某些自适应调节机制等。

6.数据库的维护:这一部分包括数据库的数据载入、转换、转储、数据库的重组合重构以及性能监控等功能,这些功能分别由各个使用程序来完成。

7.通信:DBMS具有与操作系统的联机处理、分时系统及远程作业输入的相关接口,负责处理数据的传送。对网络环境下的数据库系统,还应该包括DBMS与网络中其他软件系统的通信功能以及数据库之间的互操作功能。

数据库系统(DataBase System,简称DBS)

数据库系统一般由4个部分组成:

(1)数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。

(2)硬件:构成计算机系统的各种物理设备,包括存储所需的外部设备。硬件的配置应满足整个数据库系统的需要。

(3)软件:包括操作系统、数据库管理系统及应用程序。数据库管理系统(database management system,DBMS)是数据库系统的核心软件,是在操作系统(如Windows、Linux等操作系统)的支持下工作,解决如何科学地组织和存储数据,如何高效获取和维护数据的系统软件。其主要功能包括:数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立与维护。

(4)人员:主要有4类。

第一类为系统分析员和数据库设计人员:系统分析员负责应用系统的需求分析和规范说明,他们和用户及数据库管理员一起确定系统的硬件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。

第二类为应用程序员,负责编写使用数据库的应用程序。这些应用程序可对数据进行检索、建立、删除或修改。

第三类为最终用户,他们利用系统的接口或查询语言访问数据库。

第四类用户是数据库管理员(data base administrator,DBA),负责数据库的总体信息控制。DBA的具体职责包括:具体数据库中的信息内容和结构,决定数据库的存储结构和存取策略,定义数据库的安全性要求和完整性约束条件,监控数据库的使用和运行,负责数据库的性能改进、数据库的重组和重构,以提高系统的性能。

其实简单来说数据库,容纳数据的仓库,

数据库系统,数据库、数据库管理系统、硬件、操作人员的合在一起的总称

数据库管理系统,用来管理数据及数据库的系统。

数据库系统开发工具,以数据库管理系统为核心,用高级语言开发一套给傻瓜用户使用的数据库应用系统的软件。

数据库系统包含数据库管理系统、数据库及数据库开发工具所开发的软件(数据库应用系统)。

数据库系统开发工具开发出来的是数据库管理系统还是数据库管理工具??

管理工具,因为很多用户对数据库和数据库管理系统不会用,只会用简单的应用软件,所以需要有掌握技术的人员用数据库开发工具编软件给这些简单用户用。

数据库管理系统与数据库系统开发工具什么区别??

前者是后者开发软件的核心,后者除要以它为基准外,还要用高级语言编写程序。

在装操作系统时是不是已经装上了数据库管理系统??

没装,一般都得额外装,比如VFP,PB,SQLSEVER等。

顺便说一下,第一个人说的问题,

VF不是一个数据库管理系统,准确的说是一个数据库管理系统、数据库系统开发工具的综合体。高级用户,可以利用它直接管理数据库;而简单用户,要依赖高级用户用它所编写的应用程序来管理数据。

[数据库、数据库管理系统跟数据库系统的区别]

篇2:论文数据库

我们知道, Oracle 作为一种大型数据库,广泛应用于金融、邮电、电力、民航等数据吞吐量巨大,计算机网络广泛普及的重要部门。对于系统管理员来讲,如何保证网络稳定运行,如何提高数据库性能,使其更加安全高效,就显得尤为重要。作为影响数据库性能的一大因素 -- 数据库碎片,应当引起 DBA 的足够重视,及时发现并整理碎片乃是 DBA 一项基本维护内容。

1 、碎片是如何产生的

---- 当生成一个数据库时,它会分成称为表空间( Tablespace )的多个逻辑段( Segment ),如系统( System )表空间 , 临时( Temporary )表空间等。一个表空间可以包含多个数据范围( Extent )和一个或多个自由范围块,即自由空间( Free Space )。

---- 表空间、段、范围、自由空间的逻辑关系如下:

---- 当表空间中生成一个段时,将从表空间有效自由空间中为这个段的初始范围分配空间。在这些初始范围充满数据时,段会请求增加另一个范围。这样的扩展过程会一直继续下去,直到达到最大的范围值,或者在表空间中已经没有自由空间用于下一个范围。最理想的状态就是一个段的数据可被存在单一的一个范围中。这样,所有的数据存储时靠近段内其它数据,并且寻找数据可少用一些指针。但是一个段包含多个范围的情况是大量存在的,没有任何措施可以保证这些范围是相邻存储的,如图〈 1 〉。当要满足一个空间要求时,数据库不再合并相邻的自由范围(除非别无选择),而是寻找表空间中最大的自由范围来使用。这样将逐渐形成越来越多的离散的、分隔的、较小的自由空间,即碎片。例如:

2 、碎片对系统的影响

---- 随着时间推移,基于数据库的应用系统的广泛使用,产生的碎片会越来越多,将对数据库有以下两点主要影响:

---- ( 1 )导致系统性能减弱

---- 如上所述,当要满足一个空间要求时,数据库将首先查找当前最大的自由范围,而 “ 最大 ” 自由范围逐渐变小,要找到一个足够大的自由范围已变得越来越困难,从而导致表空间中的速度障碍,使数据库的空间分配愈发远离理想状态;

---- ( 2 )浪费大量的表空间

---- 尽管有一部分自由范围(如表空间的 pctincrease 为非 0 )将会被 SMON (系统监控)后台进程周期性地合并,但始终有一部分自由范围无法得以自动合并,浪费了大量的表空间。

3 、自由范围的碎片计算

---- 由于自由空间碎片是由几部分组成,如范围数量、最大范围尺寸等,我们可用 FSFI--Free Space Fragmentation Index (自由空间碎片索引)值来直观体现:

FSFI=100*SQRT(max(extent)/sum(extents))*1/SQRT(SQRT(count(extents)))

---- 可以看出, FSFI 的最大可能值为 100 (一个理想的单文件表空间)。随着范围的增加, FSFI 值缓慢下降,而随着最大范围尺寸的减少, FSFI 值会迅速下降。

---- 下面的脚本可以用来计算 FSFI 值:

rem FSFI Value Compute

rem fsfi.sql

column FSFI format 999,99

select tablespace_name,sqrt(max(blocks)/sum(blocks))*

(100/sqrt(sqrt(count(blocks)))) FSFI

from dba_free_space

group by tablespace_name order by 1;

spool fsfi.rep;

/

spool off;

---- 比如,在某数据库运行脚本 fsfi.sql, 得到以下 FSFI 值:

TABLESPACE_NAME FSFI

------------------------------ -------

RBS 74.06

SYSTEM 100.00

TEMP 22.82

TOOLS 75.79

USERS 100.00

USER_TOOLS 100.00

YDCX_DATA 47.34

YDCX_IDX 57.19

YDJF_DATA 33.80

YDJF_IDX 75.55

---- 统计出了数据库的 FSFI 值,就可以把它作为一个可比参数,

在一个有着足够有效自由空间,且 FSFI 值超过 30 的表空间中,很少会遇见有效自由空间的问题。当一个空间将要接近可比参数时,就需要做碎片整理了。

4 、自由范围的碎片整理

---- ( 1 )表空间的 pctincrease 值为非 0

---- 可以将表空间的缺省存储参数 pctincrease 改为非 0 。一般将其设为 1 ,如:

alter tablespace temp

default storage(pctincrease 1);

---- 这样 SMON 便会将自由范围自动合并。也可以手工合并自由范围:

alter tablespace temp coalesce;

5 、段的碎片整理

---- 我们知道,段由范围组成。在有些情况下,有必要对段的碎片进行整理。要查看段的有关信息,可查看数据字典 dba_segments ,范围的信息可查看数据字典 dba_extents 。如果段的碎片过多,将其数据压缩到一个范围的最简单方法便是用正确的存储参数将这个段重建,然后将旧表中的数据插入到新表,同时删除旧表。这个过程可以用 Import/Export (输入 / 输出)工具来完成。

---- Export 命令有一个(压缩)标志,这个标志在读表时会引发 Export 确定该表所分配的物理空间量,它会向输出转储文件写入一个新的初始化存储参数 -- 等于全部所分配空间。若这个表关闭, 则使用 Import ()工具重新生成。这样,它的数据会放入一个新的、较大的初始段中。例如:

exp user/password file=exp.dmp compress=Y grants=Y indexes=Y

tables=(table1,table2);

---- 若输出成功,则从库中删除已输出的表,然后从输出转储文件中输入表:

imp user/password file=exp.dmp commit=Y buffer=64000 full=Y

---- 这种方法可用于整个数据库。

---- 以上简单分析了 Oracle 数据库碎片的产生、计算方法及整理,仅供参考。数据库的性能优化是一项技术含量高,同时又需要有足够耐心、认真细致的工作。

篇3:论文数据库

1 GIS数据库概念分析

1) 在当前形势下, 由于科学技术在不断的发展, 尤其在计算机技术领域方面以及在系统信息, 数据库等方面的实践研究都已经得到了很大程度的提升, 并且也取得了一定的成功, 这也就促使人们在应用地理信息时不会仅限在单一的产品中了, 而会把计算机的有效管理应用在更为繁琐的地理信息当中, 同时便将经济与社会当中的所有信息等方面进行有效的叠加, 从而取得更大的价值, 并且把效益放大化, 获得良好的成绩, 所以, 这就产生了GIS的产业发展与相应的理论研究。然而, 在这其中我们要清楚, GIS所应用的基础必须基于系统信息, 而它的基础则是建立在相关联的数据库上。我们要清楚, GIS是和其他的系统相同的, 都具有同样的特性, 所以在设计上应该遵守相应的设计。由于GIS的技术服务不仅仅是地图产品, 他还具有更多的实用功能, 他可以对地理信息以及对其全面的整合都具有很大的帮助, 比如在统计信息、检索、管理以及在分析方面等都比较突出;

2) 我们在认识地理信息以及依赖和利用这方面的知识已经具有很长的历史了, 而最为有效的应用就是相关的地图信息, 因此, 在进行研究时我们发现, 地图历史要早于文字, 并且他应用了地图的语言以及相关的数学法则的综合应用, 把世界客观的一面通过地图加以呈现, 但是从实质上我们看出, 他是通过应用符号、公式化以及更为抽象的表现出客观世界, 因此, 通过地图表现, 我们才可以更为真切的对生存环境做进一步的认识, 同时也借助于了有效又其简单的工具, 看到了客观世界, 这种信息的传递以及认知能力是无法替代的, 所以, 不管我们未来会发展成怎样, 都离不开地图的应用, 依赖于他;

3) 在GIS数据库当中, 他所存储的一般都是地理信息, 其中包括有属性图形数据等, 并且具有不同的特征, 比如有分辨率和数据的精准度, 一种是描述尺度的, 另外一种是描述数据的精准度的, 对此, 我们可以看出, 在GIS数据库当中已经不再显示比例尺了, 所以, 他不具有这方面的意义的, 也就是说, 如果指地名时, 只代表一种社会信息, 并不代表其它意义, 所以, 也可以说是地理信息。而所谓的比例尺也只不过指的是地图数据库的一种特征。在一般情况下我们所说的比例尺, 也就是地图数据库, 并不是所说的GIS。通常GIS我们是把他当成一个信息仓库, 所反映出的信息是更为真实和直接的, 并不是在特定要求下所反映出来的。

2 地图数据库

地图数据库是大不相同于GIS数据库的, 他是带有一定的比例尺概念, 并且建立了一个具有特定比例尺的仓库, 如果需要应用更多的比例尺地图时, 就要进行建立更多的数据库, 如果条件允许, 也可以建立几个分支数据库, 方便管理。一般情况下, GIS可以管理地图数据库, 我们也可以建立专门系统对其进行管理。在管理过程当中, 对地图数据库的管理模式需要应用简单模式, 也就是一幅图可以配备一个文件。此外, 在地图数据库当中, 会带有一定的图形属性表现, 这主要包括有大小、文字、符号、图层、线型以及粗细等方面。而一般在GIS数据库当中是不会体现出这些属性的, 他只是针对一些规范要求和图式来改变的, 并不代表专一性, 也没有体现出更多的属性。在地图数据库当中, 产品的管理都是具有相应的标准模式的, 都是电子产品, 所以就会保留他们的各种本质特点, 但是, 怎样对其进行分层管理, 对其进行有效的编辑, 并且显示出必备的图层以及印刷颜色的要求以及对大小进行无限修改, 拼接或裁切和量测等方面进行有效的调整。在其它方面, 如果需要更新地图数据库时, 也可以针对部分进行有调整的更新变化, 从而减少电子地图的调整时间。在一般的情况下, 地图数据库在更新方面会很慢, 属下游产品, 在更新方面还取决于GIS数据库, 并不是取决它的上游数据源, 他们之间的关系属于单向。由于在地图当中会存储大量的信息, 而这些信息都是通过过人为进行修改和编辑的, 所以我们所看到的这些信息都不是现实世界当中所反映出来的真实特点, 更不是在GIS数据库当中的真实内容了。

3结论

当前, 信息社会随着不断的进步与发展, 我们应用的GIS是作为集合了所有的地理空间以及和所有的信息统计相结合的系统, 它也是作为信息传送的重要基础设施。在我国, 由于建设GIS技术已经发展了多年, 并且很多专家在这种技术方面也已经更为深入的进行了研究, 并且已经取得了一定的进展, 也具有一定的突破, 并且应用在相关的单位当中。虽然与国外相比较仍然会存在一定的差距, 还需要不断的学习和研究, 我们很多科技人员在近些年以来都在开发GIS的数据库系统, 并且也取得了一定的成效, 这也为以后的成功发展奠定了很大的基础。

参考文献

[1]施一军.基于GIS技术建立地图数据库的构想和实现[J].测绘通报, 2011 (1) .

[2]郭仁忠.关于空间信息的哲学思考[J].测绘学报, 23 (3) .

[3]陈泽民.子地图的数据交换 (CNSDTF) 实现[J].现代测绘, 26 (3) .

篇4:关系数据库与非关系数据库

关键词:数据库;关系模型;关系数据库

通俗地说,关系型数据库就是采用了关系模型来组织数据的数据库。简单来说,关系模型就是一个类似于二维表格的模型,而关系型数据库就是由二维表格及其中含有的数据所组成的一个数据组织。在关系数据库中,有些名词需要我们了解:

关系:通俗地说,在一张二维表格中,每个关系都具有一个关系名,就是通常说的表名table。

属性:在二维表格中也就是类似于excel表格中的一列,在数据库中被称为字段。

域:属性的取值范围,也就是数据库中某一字段的属性限制条件。

关键字:一组可以唯一标识元组的属性。数据库中常称为主键,由一个或多个列组成。

关系模式:指对关系的描述,其格式為:关系名(属性1,属性2,…,属性N)。也就是数据库中的表结构。

随着数据库应用领域的扩展以及数据对象的多样化,传统的关系数据模型暴露出了许多问题,如对复杂对象的表述能力差,表达能力较弱。为此,人们提出了许多新的数据模型,下面笔者向大家介绍一下以前的数据库的主要特点:数据不保存、系统没有专用的软件对数据进行管理、数据不共享、数据不具有独立性。

在文件系统层面上,数据可以以文件的形式进行长期保存,数据交由文件系统管理数,独立的机制使得程序与数据之间具有一定的独立性但在这个结构中,数据的独立性、共享性差,冗余度大、易造成数据传输之间的不一致性。

在数据库系统层面上,数据可以结构化,数据之间的共享性提高,冗余度小,一个用户可以拥有多个数据库,因此数据独立性高,数据控制功能也变得统一起来。其中大可分为4类:

第一类,数据安全性控制;第二类,数据完整性控制;第三类,数据的并发控制;第四类,数据管理与恢复。

数据结构化,在数据库系统中,将数据按照一定的数据模型插入到一个结构化的数据库中,需要考虑此数据库的数据结构,还需要考虑连接数据后的数据结构,而在以前的数据库中,这些,是我们看不到的。下面,笔者将就几个方面对其进行分析:

非关系型数据库的实质:非关系型数据库产品是传统关系型数据库的缩略版本,通过减少功能,来大幅度提升产品性能,类似于我们平时游戏中的资料篇。

目前市场上流通的大部分主流的非关系型数据库基本上都是免费的。而大公司中,名气大的关系型数据库开发软件,比如Oracle、DB2是收费的。这在很大程度上限制了一些平民用户的使用。但是在实际开发中,有很多小型的业务需求,并不需要完整的关系型数据库进行组建,非关系型数据库的功能就足够了。这种情况下,使用性能高、成本低的非关系型数据库当然是我们的首选。在性能上NOSQL是基于键值对的,可以理解成类似于Java中和HashMap中的键值对,数据表中的主键和值也具有相同对应关系,但在使用过程中是不需要经过SQL层的解析,所以性能非常高是它的主要优点。同样,它也具有良好的可扩展性,这也是基于键值对,数据之间存在相当低的耦合度,所以在使用的时候非常容易扩展。

在SQL语言中,关系型数据库对其也具有独特的解读优势:在复杂查询语句中,可以用SQL语句根据表连接、嵌套、子句等方法方便地在一个表或多个表之间做复杂的数据查询,且代码的冗余性很低,这也使得数据库对于安全性能要求很高的数据得以访问,对于非关系型数据库,就没有这些优点。

但是近年来的发展中,两种数据库类型都在不同的需求市场中发展着,虽然有所交集,但是这并不影响数据库的进化方向。比如,NOSQL数据库自从2008年的更新版本以后,慢慢开始具备SQL数据库的一些复杂查询功能,并随着服务端的更新,这方面的功能日益完善,而SQL数据库也在慢慢地进化着,在数据库平台上HandlerSocker技术的出现,可以在MYSQL上实现对于数据库SQL层的穿透,在非NOSQL数据库上使用NOSQL的方式访问数据库,可以实现无中心化的集群等特点,更是向我们说明了数据库在这些年间的变化。

对于研究数据库的人来说,或许关系型数据库只是数据库众多实现中的一个特例模型,在数据库中,类型的划分具有严格的限制。科学家们用严格的数学公式和逻辑形式定义了数据关系以及其中的各种运算,虽然这两极都因为各自的弱势而开始进化出另一极的一些特性,但是这些特性的增加也会导致数据库失去一些原本具备的优势,所以怎样构建和使用数据库的系统模型,是数据结构的框架构造工程师需要考虑的问题。

参考文献:

[1]王珊.数据库与信息系统[M].北京:高等教育出版社,2005.

[2]刘唯一,田雯.数据模型,数据库技术之一[M].北京.科学出版社,2001.

篇5:论文数据库

Informix-Online数据库因其具有高性能、高可靠性、支持数据完整性定义/检查等特性而得到广泛应用。对于使用中的数据库,数据备份的安全可靠性便成为人们关注的焦点。根据多年的学习和经验,笔者对Informix-Online数据库常用的三种数据备份方式加以归纳和比较。本文所讲备份大多是备份到磁带上的热备份方法。

一.使用ontape工具进行数据备份

1.ontape工具的功能

ontape工具具有如下功能:备份和恢复Online数据、备份和恢复逻辑日志、改变数据库日志状态等(本文着重介绍数据备份功能)。

2.执行ontape备份数据的语法

ontape备份语法为:

ontape-s-L备份级别(0、1、2)

在online处于联机或静止方式时,Informix用户或具有DBA权限的用户可以通过执行上面的命令进行备份。根据备份方案安排进行0级、1级、2级备份。0级备份是对整个数据库的所有数据进行完整备份;1级备份是只对0级备份以后修改过的数据进行备份;2级备份只是对1级备份以后修改过的数据进行备份。

3.使用ontape工具进行数据备份需要注意的问题

1)在执行ontape备份前要对Onconfig文件中的TAPEDEV、TAPEBLK、TAPESIZE参数进行正确的设置。

2)为了缩短数据恢复时间,应以进行0级为主,尽量减少1级和2级备份。对银行等重要部门数据,应每天进行0级备份。

3)如果需要将ontape备份的数据恢复到另一台服务器上时,要求两台服务器机型、操作系统、Onconfig配置文件及非临时分配的Dbspace磁盘空间数量和大小必须一致,否则数据不能正常恢复。

4)必须保证有足够可用的逻辑日志文件。如果剩余的逻辑日志空间小于单个逻辑日志的50%,Informix-online将拒绝执行备份操作。必须先备份已使用过的逻辑日志,然后才能进行数据备份。

5)保留Onconfig文件副本。在进行0级备份后,应备份Onconfig文件,因为在恢复0级备份时需要读Onconfig文件信息,如果online配置被修改,数据恢复将失败,如果恢复此0级备份,必须恢复当时的配置。

6)备份可以在online联机或静止方式下进行,在备份过程中不能改变online运行方式,否则备份会被中断。

7)不要使用后台方式执行备份命令(UNIX下的&&),因为备份采用交互方式进行。

二.使用dbexport命令进行数据备份

1.dbexport命令简介

dbexport命令以ASCII码格式将数据写到文件或备份介质上(如磁带)。dbexport卸出的文件包括数据库模式文件和数据文件。

2.dbexport命令语法如下

dbexport[-X][-c][-q][-d][-ss][{-o-t-b-s[-f]}]

以上命令中参数的意义如下:

中包括的内容为必选项,[]中的内容为可选项。

-c:指示如果没有错误,则输出全部信息。

-q:在标准输出设备上不显示错误信息、警告和所生成的SQL数据定义语句。

-d:仅输出blob描述符,不输出blob数据。

-ss:在模式文件中输出特定于服务器的用于创建数据库和表的信息,比如:初始的extent和附加的extent的大小、上锁方式、表所驻留的dbspace等信息,

-o:指定数据输出文件的磁盘目录。

-t:指定数据输出文件的备份介质名称。

-b:指定备份介质块大小。

-s:指定备份介质的最大存储量。

-f:用于指定存储在备份介质上的模式文件名。

database:指定备份的数据库名称。

使用dbexport功能及需注意的问题

1)执行dbexport命令必须是Informix用户或具有DBA访问权限的用户;

2)用dbexport备份的数据必须用dbimport命令恢复;

3)用户可以通过编辑模式文件来改变dbimport生成的数据库,如改变数据库名称或相关的表信息;

4)dbexport以独占方式(exclusivemode)占用数据库,备份期间其他用户不能对数据库进行查询和修改及插入操作;

5)模式文件不保留数据库的日志文件,用户使用dbimport命令建立数据库时必须为新建数据库选择一种日志方式(ANSI、buffered、nobuffered类型);

6)用户可以使用dbexport/dbimport命令,将Informix-online和Informix-SE下的数据进行相互转换;也可以将数据在Informix-online的不同版本之间转换,这种转换对数据库服务器的结构和online的配置没有特别要求;

7)使用dbexport/dbimport命令备份/恢复数据,可以起到消除数据分配空间碎块的作用,提高数据库整体运行效率。

三.使用Onunload命令进行数据备份

1.Onunload命令简介

Onunload命令以页为单位,使用二进制形式卸出数据,备份效率比dbexport高。

2.Onunload命令的语法

Onunload[-l][-t][-b][-s][:[owner>.>

以上参数代表的意义如下:

中包括的内容为必选项,[]中的内容为可选项

-l:指示onunload分别从配置参数TAPEDEV、TAPEBLK和TAPESIZE中读入磁带设备、块大小和备份设备容量值

-t:指定备份设备名

-b:指定备份设备的块大小

-s:指定备份设备的存储容量

database:指定要备份的数据库

owner:指定表的属主

table:指定要卸出的表

使用onunload需要注意的问题

1)onunload备份的数据必须用onload命令进行恢复;

2)onunload/onload不能实现不同版本的online之间的数据转移;

3)onunload/onload是以磁盘页大小为单位存储的二进制数据,卸出和接受数据的计算机必须具有相同的磁盘页大小;

4)只能将onunload卸出的数据装入online管理的数据库或表;

5)用户必须具有DBA访问权限,才能执行onunload命令;

6)onunload不保留初始表上定义的访问特权;

7)onunload不保留初始表上定义的同义词。

以上三种数据备份方式各有特点,ontape备份对online参数配置前后一致性要求较高,但数据备份和恢复操作简单,备份和恢复速度较快;onunload备份以页为单位以二进制形式进行备份效率较高,数据恢复时只要计算机磁盘页大小一致即可;用dbexport所做的备份可以实现不同版本、不同Informix产品之间的数据转换,数据转移灵活方便。

为保证数据能够安全恢复,数据备份至少应该选择两种方式。通过对Informix-Online数据库三种常用备份方法分析比较与归纳,用户可以根据实际情况选择适合自己需要的备份方式,来保证数据的安全恢复与转移

篇6:ERP与数据库数据库教程

ERP即企业资源计划,ERP理论的形成是随着产品复杂性的增加,市场竞争的加剧及信息全球化而产生的,在传统的库存理论中引入了时间分段和反映产品结构的物料清单,从而较好地解决了库存管理和生产控制中的难题,开成了基本MRP(物料需求计划)ERP设计的总体思想即把一握一个中心、两类业务、三条干线,

ERP与数据库数据库教程

篇7:论文数据库

我们知道,SYBASESQLServer用事务(Transaction)来跟踪所有数据库的变化。事务是SQL Server的工作单元。一个事务包含一条或多条作为整体执行的T-SQL语句。每个数据库都有自己的事务日志(Transaction Log),即系统表(Syslogs)。事务日志自动记录每个用户发出的每个事务。日志对于数据库的数据安全性、完整性至关重要,我们进行数据库开发和维护必须熟知日志的相关知识。

一、SYBASESQL Server如何记录和读取日志信息

SYBASE SQL Server是先记Log的机制。每当用户执行将修改数据库的语句时,SQL Server就会自动地把变化写入日志。一条语句所产生的所有变化都被记录到日志后,它们就被写到数据页在缓冲区的拷贝里。该数据页保存在缓冲区中,直到别的数据页需要该内存时,该数据页才被写到磁盘上。若事务中的某条语句没能完成,SQL Server将回滚事务产生的所有变化。这样就保证了整个数据库系统的一致性和完整性。

二、日志设备

Log和数据库的Data一样,需要存放在数据库设备上,可以将Log和Data存放在同一设备上,也可以分开存放。一般来说,应该将一个数据库的Data和Log存放在不同的数据库设备上。这样做有如下好处:一是可以单独地备份?Backup?事务日志;二是防止数据库溢满;三是可以看到Log的空间使用情况。

所建Log设备的大小,没有十分精确的方法来确定。一般来说,对于新建的数据库,Log的大小应为数据库大小的30%左右。Log的大小还取决于数据库修改的频繁程度。如果数据库修改频繁,则Log的增长十分迅速。所以说Log空间大小依赖于用户是如何使用数据库的。此外,还有其它因素影响Log大小,我们应该根据实际操作情况估计Log大小,并间隔一段时间就对Log进行备份和清除。

三、日志的清除

随着数据库的使用,数据库的Log是不断增长的,必须在它占满空间之前将它们清除掉。清除Log有两种方法:

1.自动清除法

开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。此方法的优点是无须人工干预,由SQL Server自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log而不做备份。

2.手动清除法

执行命令“dump transaction”来清除Log。以下两条命令都可以清除日志:

dump transaction with truncate_only

dump transaction with no_log

通常删除事务日志中不活跃的部分可使用“dump transaction with trancate_only”命令,这条命令写进事务日志时,还要做必要的并发性检查,

SYBASE提供“dump transaction with no_log”来处理某些非常紧迫的情况,使用这条命令有很大的危险性,SQL Server会弹出一条警告信息。为了尽量确保数据库的一致性,你应将它作为“最后一招”。

以上两种方法只是清除日志,而不做日志备份,若想备份日志,应执行“dump transaction database_name to dumpdevice”命令。

四、管理庞大的事务

有些操作会大批量地修改数据,如大量数据的修改(Update)、删除一个表的所有数据(Delete)、大量数据的插入(Insert),这样会使Log增长速度很快,有溢满的危险。下面笔者给大家介绍一下如何拆分大事务,以避免日志的溢满。

例如执行“update tab_a set col_a=0”命令时,若表tab_a很大,则此Update动作在未完成之前就可能使Log溢满,引起1105错误(Log Full),而且执行这种大的事务所产生的独占锁(Exclusive Table Lock),会阻止其他用户在执行Update操作期间修改这个表,这就有可能引起死锁。为避免这些情况发生,我们可以把这个大的事务分成几个小的事务,并执行“dump transaction”动作。

上例中的情况就可以分成两个或多个小的事务:

update tab_a set col_a=0 where col_b>x

go

dump transaction database_name with truncate_only

go

update tab_a set col_a=0 where col_b <=x

go

dump transaction database_name with truncate_only

go

这样,一个大的事务就被分成两个较小的事务。

按照上述方法可以根据需要任意拆分大的事务。若这个事务需要备份到介质上,则不用“with truncate_only”选项。若执行“dump transaction with truncate_only”命令,应该先执行“dump database”。以此类推,我们可以对表删除、表插入等大事务做相应的拆分。

(责任编辑:铭铭)

篇8:论文数据库

国内主流数据库课程教材在组织内容时,虽然有的侧重数据库实现原理的介绍,有的以某一数据库管理系统(如Oracle、 My SQL等)为平台介绍数据库技术的应用,有的兼顾理论和技术,但无一例外都引入了一个或多个数据库教学项目作为贯穿全书各章节、演示数据库关键概念和技术的案例。许多在教学中广泛使用的案例数据库较为简单,与实际工程项目相差较大,不能很好地覆盖数据库课程所有知识点,导致学生在未来工作中遇到实际项目时无法快速上手。如何设计合理的教学案例数据库已成为数据库课程教学亟待解决的重要课题。

1主流数据库课程教材使用的案例数据库分析

下面从本专科两个教学层次,选取两本主流数据库课程教材中引入的案例数据库加以分析各自的优点和不足。

1.1图书管理系统数据库

由南京师范大学郑阿奇教授主编的数据库课程系列教材被列为普通高等学校国家级规划教材,在职业院校和应用型本科院校的数据库课程教学中广泛使用。该教材以图书管理系统数据库作为教学案例[3]。

1.1.1图书管理系统数据库逻辑结构

图书管理系统数据库的逻辑结构[3]如下:

1)管理员表:Administrator(角色名,密码,备注)

2)读者表:TReader(借书证号,密码,姓名,性别,出生时间,专业,借书量,照片,备注,联系方式)

3)图书表:TBook(ISBN,书名,作译者,出版社,出版年月,价格,复本量,库存量,分类号,内容提要,封面照片)

4)借阅表:TLend(借书证号,ISBN,图书ID,借书时间,应还时间)

5)还书表:HLend(编号,借书证号,ISBN,图书ID,借书时间,还书时间)

6)借出表:TBLend(图书ID,ISBN,是否借出)

1.1.2图书管理系统数据库设计分析

优点:图书管理系统数据库设计较为完整,学习者不难结合其他程序设计语言(如C#、JSP、ASP.NET等)构造出一个实用的数据库应用系统作为课程设计。另外,该案例数据库的属性较为丰富,可涵盖SQL语言的主要数据类型。

不足:第一,可能是为了方便数据查询,图书管理系统数据库设计上存在不规范问题:部分表没有达到3NF的规范化要求。例如在借阅表TLend中,存在非主属性ISBN对码(借书证号, 图书ID , 借书时间)的部分函数依赖[4]。还书表HLend也存在类似问题。改进的方法是从借阅表TLend和还书表HLend中去除属性ISBN,同时在TLend中加入“编号”属性作为该表的主码。第二,图书管理系统数据库的设计存在冗余问题,部分属性属于冗余属性,可以从相关表中去除[4]。例如图书表TBook中每本书的“复本量”和“库存量”可通过对借出表TBLend中相关记录进行聚集函数查询(使用函数count)得到,所以这两个属性应该从图书表Tbook中去除(如果存在,为了维护数据完整性系统将付出很大的性能代价)。第三,和企业实际工程项目相比,图书管理系统数据库略显简单。

1.2学生选课数据库

由中国人民大学王珊和萨师煊两位教授编著的《数据库系统概论》一书引入的案例数据库——学生选课数据库在国内多数本科院校授课时广泛采用[5]。《数据库系统概论》也是国内第一部介绍数据库的教材,一直被国内大多数本科院校作为课程教材和主要教学参考书。

1.2.1学生选课数据库逻辑结构

学生选课数据库的逻辑结构[5]如下:

1) 学生表:Student(Sno,Sname,Ssex,Sage,Sdept),其中属性Sno表示学号,Sname表示学生姓名,Ssex表示学生性别,Sage表示学生年龄,Sdept表示学生所在系。

2)课程表:课程表Course(Cno,Cname,Cpno,Ccredit),其中属性Cno表示课程号,Cname表示课程名,Cpno表示先修课程的课程号,Ccredit表示课程学分。

3)选课表:选课表SC(Sno,Cno,Grade),其中属性Grade表示选课成绩。

1.2.2学生选课数据库设计分析

优点:学生选课数据库由学生表Student,课程表Course和选课表SC构成。该案例数据库设计相当简洁且符合关系规范化要求,因而在国内数据库课程教学中广泛采用。

不足:第一,由于组成数据库的表的数量较少,属性定义不能完全涵盖SQL语言的主要数据类型(如在定义学生选课数据库的表时无法使用日期时间类型)。第二,学生表Student的属性Sage是派生属性,应改为Sbirthdate(学生出生日期)较为合理,且可在定义时使用日期时间类型。第三,相比企业实际工程项目,学生选课数据库过于简单。教师在讲授复杂查询技术、存储过程、触发器等内容时,设计例题会比较勉强,无法设计出实用性强的例题(有时仅仅为了说明相关理论或技术而举例,无法让学生理解该理论或技术的实际价值)。

2案例数据库的优化设计

2.1设计良好的案例数据库应满足的条件

基于前面对主流数据库课程教材中引入的案例数据库的分析,我们认为一个设计合理、实用、新颖,具有较高教学价值的案例数据库应该满足:

1) 案例数据库应来源于真实工程项目或对实际项目进行简化,具有一定的实用性、启发性和创新性,能完整贯穿数据库课程主要知识点,对学生进行数据库知识学习和技能训练起到良好的辅助效果[6]。

2) 案例数据库的所有数据表应符合关系规范化要求,所有数据表均应达到3NF甚至BCNF。

3) 案例数据库的数据表数量应当在5~6个最为适宜。实践教学表明,如果案例数据库中表的数量太多,对于初学者而言,在学习多表连接查询或嵌套查询时会有一定的干扰;表的数量太少,在讲授存储过程、触发器等内容时,教师不易设计例题。

4) 构成案例数据库的数据表中应包含较多的属性,这样才能涵盖SQL语言的主要数据类型,以便让学生接触和理解各种数据类型的使用方法。毕竟对于任何程序设计语言而言,数据类型始终是最基础、最重要的教学内容之一。

5) 案例数据库的记录数量要达到一定规模,以便能更好地满足教学和实验的需求。

2.2论坛数据库“simpleforumdb”

论坛模块是各类网站中必备的模块之一[7],也是学习各种程序设计语言最理想的入门项目。我们在对“嘉兴人网”、“天涯”等典型论坛结构分析的基础上,设计出论坛数据库“simple-forumdb”项目作为课程的案例数据库。该案例数据库具有很好的工程项目背景且符合前文提到的设计良好的案例数据库应满足的条件,可用于实际项目(或对其稍加改造)[8]。论坛数据库“simpleforumdb”的逻辑结构如下:

1) 用户等级表:rank(rankno, rankname, minimumintegral),其中属性rankno表示等级编号,属性rankname表示等级名称,属性minimumintegral表示达到某级别的最低积分。

2) 用户表:user(username,emailaddress, password, register-date, integral, userrank, status, lastactivetime, lastenunciabletime), 其中属性username表示用户名,属性emailaddress表示电子邮箱地址,属性password表示密码,属性registerdate表示注册日期,属性integral表示用户积分,属性userrank表示用户等级,属性status表示状态(是否在线),属性lastactivetime表示上次活跃时间,属性lastenunciabletime表示上次发表时间。

3) 版块表:column(columnid, columnname, moderator,columndescription, parentcolumnid),其中属性columnid表示版块编号,属性columnname表示版块名称,属性moderator表示版主的用户名,属性columndescription表示版块说明,属性parent-columnid表示父版块编号。

4) 主帖表:mainpost(mainpostid, belongedcolumnid, poster, ti-tle, content, posttime, clickrate),属性mainpostid表示主帖编号, 属性belongedcolumnid表示主帖所属版块编号,属性poster表示发表主帖用户的用户名,属性title表示主帖标题,属性content表示主帖内容,属性posttime表示发帖时间,属性clickrate表示点击率。

5) 跟帖表:replypost(replypostid, belongedmainpostid, reply-er, replycontent, replytime),属性replypostid表示跟帖编号,属性belongedmainpostid表示跟帖所回复的主帖编号,属性replyer表示回复用户的用户名,属性replycontent表示回复内容,属性re-plytime表示回复时间。

3结束语

通过对现有的国内主流数据库教材中引入的案例数据库进行比较分析,我们设计了具有较强工程背景和较高教学价值的案例数据库——论坛数据库“simpleforumdb”,以取代传统的图书管理系统数据库和学生选课数据库,用于数据库课程教学和实验教学。实践表明,教学案例数据库的优化设计对于改善教学效果,提高学生实践能力,培养学生的创新精神起到重要作用,最大限度地满足了教师教学和学生实验的需求。

摘要:针对目前数据库课程中教学案例选取存在的问题,分析和研究了国内主流数据库课程教材中所设计的案例数据库,提出以论坛数据库“simpleforumdb”作为课程的教学和实验案例数据库,并给出该案例数据库的详细设计。

关键词:数据库,课程教学,案例数据库设计

参考文献

[1]朱敏.SQL Server课程教学方法探究[J].新课程·中旬,2014,(1):96-97.

[2]教育部高等学校非计算机专业计算机基础课程教学指导分委员会.关于进一步加强高校计算机基础教学的基点意见[M].北京:高等教育出版社,2004.

[3]郑阿奇.SQL Server 2008应用实践教程[M].北京:电子工业出版社,2010:14-21.

[4]西尔伯沙茨(Silberschatz A.)等著,数据库系统概论(原书第6版)[M].杨冬青,等,译.北京:机械工业出版社,2012:184-189.

[5]萨师煊,王珊.数据库系统概论[M].4版.北京:高等教育出版社,2006:28-33.

[6]张欢枝.案例教学法在SQL Server数据库教学中的运用研究[J].计算机光盘软件与应用,2013,2:270.

[7]付逍遥.基于SSH架构的论坛系统设计与实现[J].福建电脑,2015,7:107.

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:小儿清肺颗粒 下一篇:大数据推荐数据模型