数据库基本操作

2024-09-08

数据库基本操作(共11篇)

数据库基本操作 篇1

1 Wonderware Historian数据库介绍

Wonderware Historian (以下简称Historian) 原称In SQL, Historian是世界上第一个适用于工厂数据的高性能实时关系数据库。它把关系型数据库的强大功能及灵活性和实时系统的速度及压缩功能相结合, 使办公室和车间紧密地联系起来, Historian内嵌了SQL Server, 可提供广泛的数据访问、一个强大的关系型机制以及同Microsoft Back Office TM的紧密集成。Historian全方位地获取和储存工厂数据, 并将实时和历史工厂数据与配置、事件、概貌和生产数据集成起来。通过大量的客户端应用程序, 可以访问工厂的全部信息, 从而在竞争激烈的工业软件领域中, 确立了它在开放性和灵活性方面无人可敌的地位。Historian服务器是Microsoft SQL服务器的延伸, 并将后者的开放性、连接、灵活性和效力增加到最大限度。

2 Historian数据库基本操作

2.1 连接数据库

笔者将在Microsoft Visual Studio 2010开发环境上, 使用C#语言对Historian数据库进行操作。在操作任何数据库之前, 都需要先连接到数据库, 然而, Historian数据库的连接与我们常用的Access、My Sql、Sql Server、Oracle等数据库有很大的区别, 它所创建的连接并不是实际的物理连接。比如, 如果当前的Historian数据库服务器并不可用, 它会先在本地的电脑上创建和存入数据流。

连接Historian数据库的具体步骤如下:首先, 需要创建一个Historian Access的连接代理对象;然后, 创建一个Historian Connection Args对象, 用于存放连接数据库的属性;最后, 由于Open Connection方法返回的只是数据库的连接请求是否成功, 并不会直接返回数据库连接是否成功, 所以需要创建一个Historian Connection Status, 它是一个Historian数据库连接的返回状态对象, 通过这个返回状态来判断是否成功连接上Historian数据库。需要注意的是, 在判断是否成功连接上数据库时, 需要不断的获取数据库的连接状态, 当数据库的连接状态不是Pending时, 这时候才能通过连接状态来判断是否成功连接数据库, 只有当连接状态的Connected To Server、Connected To Server Storage和Connected To Store Forward这3个属性都为True时, 才算完完全全的成功连接到数据库, 才能操作Historian数据库。

2.2 增加数据

Historian数据库的增加数据与我们常使用的数据库有很大的区别, 它不是先找到要操作的表及表中字段, 而是直接操作Tag。在增加数据之前, 首先查询数据库中是否已经存在该Tag, 如果不存在, 则必须创建一个Tag, 然后才能把数据存入该Tag中。

2.3 删除数据

Historian数据库的删除数据是直接删除Tag。首先需要创建一个Historian Tag Status List对象, 然后把需要删除的Tag添加到Historian Tag Status List列表中, 最后使用Delete Tags方法。

2.4 修改数据

Historian数据库的数据修改也与我们经常使用的数据库有很大的区别, 它的数据修改是首先创建一个与原来名称一样的Tag, 然后把Tag的数据类型、数据质量、数据等信息赋为要修改的数据, 最后使用Add Tag () 方法。

3 结语

由于Wonderware Historian数据库与我们传统的一些关系型数据库 (比如:Access、My Sql、Sql Server、Oracle) 的操作有很大的区别, 所以我们不能把操作传统数据库的思想用于该数据库。虽然Historian数据库现在基本上都是用于工业上, 但是由于其拥有的高度的可扩展性、灵活性、实时性等优点, 不管哪个行业, Historian都能提供当今最严苛的公司所需的数据支撑。相信在不久的将来, 它将会出现的不同的行业、领域中。

参考文献

[1]张伟锋, 邓世荣.Proficy Historian在水处理系统的应用[J].南钢科技与管理, 2011 (2) .

[2]喻洋, 叶玉堂, 邢同举.SQL数据库操作中的常用C#语句[J].软件导刊, 2011 (11) .

[3]梁立新.项目实践精解:C#核心技术应用开发[M].北京:电子工业出版社, 2009.

[4]王秀英.SQL Server2005实用教程[M].北京:清华大学出版社, 2010.

数据库基本操作 篇2

掌握sql四条最基本的数据操作语句:insert,select,update和delete,

练掌握sql是数据库用户的宝贵财富。在本文中,我们将引导你掌握四条最基本的数据操作语句―sql的核心功能―来依次介绍比较操作符、选择断言以及三值逻辑。当你完成这些学习后,显然你已经开始算是精通sql了。

在我们开始之前,先使用create table语句来创建一个表(如图1所示)。ddl语句对数据库对象如表、列和视进行定义。它们并不对表中的行进行处理,这是因为ddl语句并不处理数据库中实际的数据。这些工作由另一类sql语句―数据操作语言(dml)语句进行处理。

sql中有四种基本的dml操作:insert,select,update和delete。由于这是大多数sql用户经常用到的,我们有必要在此对它们进行一一说明。在图1中我们给出了一个名为employees的表。其中的每一行对应一个特定的雇员记录。请熟悉这张表,我们在后面的例子中将要用到它。

连接查询

通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。

在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,尔后通过连接进行查询。

连接可以在select 语句的from子句或where子句中建立,似是而非在from子句中指出连接时有助于将连接操作与where子句中的搜索条件区分开来。所以,在transact-sql中推荐使用这种方法。

sql-92标准所定义的from子句的连接语法格式为:

from join_table join_type join_table

[on (join_condition)]

其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接又称做自连接。

join_type 指出连接类型,可分为三种:内连接、外连接和交叉连接。内连接(inner join)使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。根据所使用的比较方式不同,内连接又分为等值连接、自然连接和不等连接三种。

外连接分为左外连接(left outer join或left join)、右外连接(right outer join或right join) 和全外连接(full outer join或full join)三种。与内连接不同的是,外连接不只列出与连接条件相匹配的行,而是列出左表(左外连接时)、右表(右外连接时)或两个表(全外连接时)中所有符合搜索条件的数据行。

交叉连接(cross join)没有where 子句,它返回连接表中所有数据行的笛卡尔积,其结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。

连接操作中的on (join_condition) 子句指出连接条件,它由被连接表中的列和比较运算符、逻辑运算符等构成。

无论哪种连接都不能对text、ntext和image数据类型列进行直接连接,但可以对这三种列进行间接连接。例如:

select p1.pub_id,p2.pub_id,p1.pr_info

from pub_info as p1 inner join pub_info as p2

on datalength(p1.pr_info)=datalength(p2.pr_info)

(一)内连接

内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值,

内连接分三种:

1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。

2、不等连接: 在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!<和>。

3、自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。

例,下面使用等值连接列出authors和publishers表中位于同一城市的作者和出版社:

select *

from authors as a inner join publishers as p

on a.city=p.city

又如使用自然连接,在选择列表中删除authors 和publishers 表中重复列(city和state):

select a.*,p.pub_id,p.pub_name,p.country

from authors as a inner join publishers as p

on a.city=p.city

(二)外连接

内连接时,返回查询结果集合中的仅是符合查询条件( where 搜索条件或 having 条件)和连接条件的行。而采用外连接时,它返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行。

如下面使用左外连接将论坛内容和作者信息连接起来:

select a.*,b.* from luntan left join usertable as b

on a.username=b.username

下面使用全外连接将city表中的所有作者以及user表中的所有作者,以及他们所在的城市:

select a.*,b.*

from city as a full outer join user as b

on a.username=b.username

(三)交叉连接

交叉连接不带where 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。

例,titles表中有6类图书,而publishers表中有8家出版社,则下列交叉连接检索到的记录数将等

于6*8=48行。

select type,pub_name

from titles cross join publishers

order by type

union运算符可以将两个或两个以上上select语句的查询结果集合合并成一个结果集合显示,即执行联合查询。union的语法格式为:

select_statement

union [all] selectstatement

[union [all] selectstatement][…n]

其中selectstatement为待联合的select查询语句。

all选项表示将所有行合并到结果集合中。不指定该项时,被联合查询结果集合中的重复行将只保留一行。

联合查询时,查询结果的列标题为第一个查询语句的列标题。因此,要定义列标题必须在第一个查询语句中定义。要对联合查询结果排序时,也必须使用第一查询语句中的列名、列标题或者列序号。

数据库基本操作 篇3

[关键词] 商业银行 数据库营销 基本步骤 对策

数据库营销(Database Marketing )是20世纪90年代开始兴起的一个热门话题。在营销学权威菲利普·科特勒(Philip Kotler)的《市场营销管理》第九版中,数据库营销的定义是指营销者建立、维持和利用客户数据库和其他数据库(产品、供应商、批发商和零售商),以进行接触和成交的过程。近20年来,随着Internet与Database技术的逐渐兴起和成熟,数据库营销已逐渐成为现代企业营销工作的基础。商业银行的数据库营销策略,是指商业银行以客户导向为营销理念,通过建立营销数据库,收集和积累大量的客户信息,将数据库作为新的营销工具,去识别、分析、了解现有产品的消费者状况,预测客户的未来需求及购买行为,进一步确定目标市场,实施创造性、个性化的营销策略,稳定、扩大赢利客户群,以实现商业银行的任务和目标,从而达到提高营销效率目的一系列行动和过程。在商业银行数据库营销信息系统中,最重要的基础工作是建立营销数据库。

一、商业银行实施数据库营销的意义

商业银行实施数据库营销,可以创造新市场,发现新市场,维持现有市场,可以与客户进行高效的、可衡量的、双向的沟通,可以与客户建立持久的、甚至是终身的关系来保持和提升商业银行的短期和长期利润,可以根据客户的价值观建立起更具特色、更加个性化的品牌。具体说来,商业银行实施数据库营销的意义表现在以下几个方面:

1.实施数据库营销有利于商业银行准确找到目标客户群

数据库营销是营销领域一次重要变革,是一个全新的营销概念,在生产观念指导下的营销,各种类型的消费者接受的是相同的,大批量生产的产品和信息。而在市场细分化理论指导下的营销,是根据人口统计及消费者共同的心理特点,把仍不知名的顾客划分为类,实现准确定位。通过数据库,商业银行可以了解哪些是带来利润的客户,需要加大服务力度,予以重点维护;哪些是潜在客户需要保留;哪些是非赢利客户应该放弃,从而克服市场营销的随意性和盲目性。

2.实施数据库营销有利于商业银行开发适销对路的金融产品

客户交易历史和其他已有数据库为新产品试销结果的追踪、产品价格需求弹性的衡量、促销媒介有效性评估等方面,都会为商业银行营销带来非常积极的作用。根据目标客户的需求结构与变化动态,设计和开发能够满足这些需求的新产品。并对新产品的推广效果进行跟踪评估,以有效占领新的市场。如,商业银行对每位顾客的详细交易资料都经过电子扫描仪记录,并输入主电脑与顾客的人口统计数据资料和过去交易资料相结合,每天做成报表输出,这样,营销者就能迅速知道不同类型的客户对某种产品或新推出的营销方案及其各要素有何不同的反应。

3.实施数据库营销有利于商业银行制定符合客户需求的营销策略

由于运用客户数据库,商业银行能够准确找出某种产品的目标客户,商业银行就可以避免使用昂贵的大众传播媒体,可以运用更经济的促销方式,从而降低成本,增强商业银行的竞争力。通过营销数据库对目标客户购买习惯、购买能力等的分析,结合客户所在地区的经济环境,制定最合适的营销策略,在最合适的时机以最合适的产品满足客户的需求,提高营销效率。

二、商业银行实施数据库营销的基本步骤

现代营销观念要求营销者更好地满足目标客户的需要和欲望。商业银行可以采用数据库营销,采集、编辑、整理和分析有关他们的目标客户的数据,进而能够以目标化的互动传输方式,真正提供个性化的产品和服务。因此,数据库营销可以说体现了现代营销观念的精髓,是营销观念较理想的一种实现方式。一般而言,商业银行数据库营销策略的基本步骤如下:

1.数据采集

采集的数据应包含两方面内容,一是内部数据,包括客户静态数据和动态数据,静态数据有客户的年龄、性别、家庭成员组成等,动态数据有账户变动、收入变动等;二是外部数据,主要是影响市场营销环境的数据,如营销区域的人口数量、人口的年龄构成、职业构成、平均收入水平等。根据商业银行的赢利模型,确定营销数据库的类型,建立营销数据库系统的硬件、软件环境,进行营销数据的采集、维护、更新,保证营销数据库的准确性。

2.数据存储

从以上步骤中采集到的客户名单、地址和其它信息应该被存储到专门建立的数据库中。如果得知客户过去的交易行为,也应该存入数据库。商业银行可以自己从事这项工作,也可请专门的数据库服务公司来做。许多商业银行让专门的服务公司来建立最初的数据库存。不管数据库是由商业银行还是由专门的服务公司管理,都必须保证输入数据的精确性。

3.数据完善

数据库的有效性关键是对数据的及时校对、修改和完善,清除不良数据或无效数据对数据库的影响。数据库的价值高低,完全取决于建立数据库的目的以及其内容的好坏及功能的高低。为了拥有一个高效的数据库,商业银行必须获得更多的关于客户和准客户的信息。例如,一个专门搜集消费者资料的数据库,它搜集的与客户有关的背景资料,相关资料越多,它提供的信息的价值也就越高。另外,也要根据金融产品的特性,再收集相关信息,如:客户对品牌的忠诚度。商业银行可以通过各种调查和询问来完善数据库。

4.数据分析

营销数据库之所以是一种高效率的营销工具,就在于它有强大的统计分析功能和预测功能。通过统计分析,可了解商业银行客户群的整体特征:如客户的基本情况(年龄、性别、学历、职业、消费偏好等)、客户交易行为、客户消费行为、客户信用风险、客户忠诚度等;可了解商业银行各类产品的赢利情况及各项营销活动的效果等。通过营销数据库的强大分析功能,为银行营销管理人员提供必要的管理数据。

5.数据预测

客户数据库的存在为营销者发展一个可以控制的研究样本提供了可能。同时,营销者和客户之间的现成关系又促成市场预测的反应率更高。根据目标客户的需求结构与变化动态,设计和开发能够满足这些需求的新产品。并对新产品的推广效果进行跟踪评估,以有效占领新的市场。如,商业银行对每位客户的详细交易资料都经过电子扫描仪记录,并输入主电脑与客户的人口统计数据资料和过去交易资料相结合,每天做成报表输出,这样,营销者就能迅速知道不同类型的客户对某种产品或新推出的营销方案及其各要素有何不同的反应。

6.数据利用

根据营销数据库的统计分析,营销人员利用营销数据库随时了解客户群情况,分辨创利客户、有潜力客户、非盈利客户;了解创利客户的行为特征,以指导营销人员及时调整营销对象和营销方式。进行产品开发、产品定价、分销渠道、促销策略的决策,提高产品开发、市场营销的准确性,降低营销成本,增加赢利销售,为商业银行创造最大利润。

7.数据反馈

直接与客户(上个步骤中所选定的目标客户)进行双向沟通。数据库营销运作的一个重点步骤是适当的交流——向适当的客户提供适当的信息并能通过一定的方式获取客户的反馈信息与数据。一部分信息可通过某种媒介传给所有客户和准客户,但大部分信息仅仅针对特定客户传递,即进行一对一营销。

三、商业银行实施数据库营销的对策

商业银行实施数据库营销的最终目标是实现客户价值创造,获得竞争优势,提高核心竞争力。结合商业银行数据库营销策略的步骤,商业银行在实施数据库营销应注意以下几方面的内容:

1.改善客户关系

客户服务是一个商业银行能留住客户的重要手段,在商业银行营销领域,客户服务同样是取得成功的最重要因素。现在,客户希望得到更多个性化、人性化的服务,根据客户个人需求提供针对性的服务是数据库营销的基本职能,因此,数据库营销是改善客户关系最有效的工具。数据库由于其种种独特功能而在商业银行营销中占据重要地位。另外,数据库营销与个性化营销、一对一营销有着密切的关系,客户数据库资料是客户服务和客户关系管理的重要基础。

2.增强客户信任感

客户服务是现代营销中的一个关键变量,早被营销学家将此与传统营销学的4P,即产品(Product)、价格(Price)、促销(Promotion)和地点(Place)相提并论。对现代企业营销者来说,已有的客户数据库加上客户服务环节中形成的数据是取得卓越和高效客户服务的关键资源。运用数据库营销经常地与客户保持沟通和联系,可以维持和增强商业银行与客户之间的感情纽带。并且,商业银行根据数据库的信息能够分析出客户是些什么人,采取什么措施可以留住客户。另外,运用储存的消费记录来推测其未来客户行为具有相当精确性,从而使商业银行能更好地满足客户的需求,使客户成为商业银行长期、忠实的客户。运用数据库与目标客户建立紧密关系,开展一对一的个性化服务,保持与目标客户的双向沟通,增进双方的感情,使其成为商业银行长期忠实的客户。

3.防止老客户流失

商业银行通过数据仓库的建设,积累了大量的客户信息,通过它可以了解老客户的需求,对老客户的行为进行预测,开展一对一营销,并通过交叉销售(例如向个人住房贷款的客户推荐住房装修贷款)、追加销售(例如使牡丹卡的客户升级为贷记卡或理账金账户的客户)等方式,与老客户建立“学习型”关系,获取“客户份额”,提高老客户的满意度,增加老客户的终身价值。一旦在终端发现有老客户转向其他产品消费,必须引起商业银行的注意,防患与未然。我们的策略是:先粗略了解大概原因,紧接以客户经理的名义将早已写好的信涵,加上品牌理念等一些宣传品以信件的形式寄予或亲手交给这些客户。

4.获取有价值客户

客户获取是指获取对银行有贡献、具有价值的客户。“根据帕雷托的20/80法则”,20%的客户创造了80%的利润,对于商业银行来说,还存在着一个“20/300法则”,即20%的客户可能给商业银行贡献了300%的利润。对此,商业银行通过数据库营销方式,对现有客户进行分析,可以找出“金牌”客户,在此基础上,创新商业银行的产品和服务,及时把握市场机会,从而吸引客户,获取客户。通过营销数据库对目标客户购买习惯、购买能力等的分析,结合客户所在地区的经济环境,制定最合适的营销策略,在最合适的时机以最合适的产品满足客户的需求,提高营销效率。同时,通过分析,可以找出现有客户的关联客户,有针对性地进行一对一营销,从而获取新的客户。

5.更新客户资料

在传统的营销中,无论是获取新的客户资料,还是对客户反应的跟踪都需要较长的时间,而且反馈率通常较低,收集到的反馈信息还需要繁琐的人工录入,因而数据库的更新效率很低,更新周期比较长,同时也造成了过期、无效数据记录比例较高,数据库维护成本相应也比较高。数据库营销具有数据量大、易于修改、能实现动态数据更新等多种优点,还可以实现客户资料的自我更新。数据库的动态更新功能不仅节约了大量的时间和资金,同时也更加精确地实现了营销定位,从而有助于改善营销效果。

参考文献:

[1]王 琦:刍议数据库营销[J].经济问题,2005,(7)

[2]蒋晓波:数据库营销策略在银行卡业务中的应用[J].中国信用卡,2003,(12)

[3]吴斌江涛:客户关系生命周期理论在商业银行的应用研究[J].金融与保险,2005,(5)

[4]万后芬:金融营销学[M].中国金融出版社,2003

[5](英)蒂娜·哈里森:金融服务营销[M].机械工业出版社,2003

数据库基本操作 篇4

1.1 概述

Python是一种面向对象的解释性语言,可以运行在多种操作系统上。Python具有清晰的结构、简洁的语法以及强大的功能。Python可以完成从文本处理到网络通信等各种功能。其自身已经提供了大量的模块来实现各种功能,还可以使用C/C++来扩展Python。

1.2 安装Python

在https://www.python.org/下载对应的系统版本,目前Python有两个发行版本,分别是Python 2.x和Python 3.x,程序基于Python2.7版。

2 SQLite

2.1 概述

SQLite是一款轻型的、开源的、嵌入式的关系型数据库,是遵守ACID的关系型数据库管理系统,它是一个零配置的数据库,不需要在系统中进行配置。SQLite作为一款开源数据库,被各大软件公司广泛使用,如火狐、iPhone、iPad和Android等。

下面总结下它的优点:

(1) SQLite不需要DBA,易于配置和管理。

(2) SQLite可以运行在Windows、Linux、Mac OS X上,还可以运行在许多嵌入式平台,如Android、VxWorks和Windows CE。一个完整的SQLite数据库是存储在一个单一的跨平台的磁盘文件。另外SQLite数据库在其所支持的操作系统上都是兼容的二进制,便于移植。

(3)SQLite数据库为单一文件,数据库中的所有信息都包含在一个文件内,是轻量级的,所有的文件小于500KB。

(4)SQLite事务是完全兼容ACID的,允许从多个进程或线程安全访问。

(5)SQLite支持SQL92(SQL2)标准的大多数查询语言的功能。

(6)为多种编程语言提供了接口,如C/C++Java,PHP,Python,Perl。

(7)SQLite是开源的,所有代码无需授权即可使用,任何形式使用SQLite代码都没有法律方面的限制,可以将代码用于任何商业或者非商业目的,不需要支付费用。

2.2 安装SQLite

SQLite官网(http://www.sqlite.org)提供了预编译好的二进制的SQLite,也提供源代码。支持多种操作系统,如Linux,Mac OS X,Windows,Windows Phone 8等等。使用的是Windows平台下的SQLite,版本为3.8.10.2。

3操作SQlite数据库

编写Python源码access2SQLite.py

4 结语

总结了Python操作SQLite数据库的基本方法,由于Python和SQLite都是跨平台的,很方便就可以移植,另外两者都是自由软件,可以免费试用,方便学习,方便中小企业开发使用。

参考文献

活动操作获经验数据分析得真知 篇5

【关键词】活动操作;设计包装;数据分析;积累经验

【中图分类号】G633.6 【文献标志码】A 【文章编号】1005-6009(2016)13-0039-02

《义务教育数学课程标准(2011年版)》强调,数学课堂要更多地关注学生在数学思维上的发展,更注重学生解决问题经验的积累,更看重学生探究能力的培养。苏科版课标教材的重要理念之一是注重引导学生发现身边的数学,建立数学模型。具体而言,要引导学生通过操作、实验去解决问题,提升学生参与课堂的积极性;通过收集、分析数据发展学生的分析能力;利用所得的一般规律解决复杂的问题,增强学生解决问题的能力。

苏科版《数学》七年级第五章“走进丰富的图形世界”无疑是发展学生几何空间感的好素材。学生通过第五章的学习,初步感知几何。在学习过程中经历观察、操作、想象、交流与反思等活动,发挥了学生的主观能动性,进一步发展了学生探索问题的意识,应用结论解决复杂问题的能力。在章节的末尾,课本设置了一个生活中常见的问题:如何用料最省地设计包装纸箱。笔者以为,这一节活动课的开展十分有意义,能让学生在操作中收获经验,在数据分析中发现结论,并解决问题。以下是笔者对这节活动课的一些探究及思考。

一、确立三维目标

1.知识与技能目标:经历设计包装纸箱的过程,能根据设计要求,由“形”归纳出能解决问题的“数”的结论;并借助“数”的规律解决“形”的设计问题。

2.过程与方法目标:经历从具体实际问题中抽象出数学问题,利用数形结合建立数学模型,从特殊到一般,归纳出结论,并解决问题的过程,获得数学操作经验。

3.情感、态度与价值观目标:通过小组分工、合作、记录、分析培养学生敢于探索、乐于合作、勇于发现的数学品质,在过程中感受数学的神奇,增强学习数学的乐趣,进一步发展几何空间感。

二、活动过程

1.课前准备。

实验器材准备:长方体物体若干、透明包装盒若干。

实验经验准备:深入超市收集牙膏、香皂的包装方式。在实际观察的基础上,引导学生总结出如下设计规则:①磁带装箱时,面积相同的面要相互对接;②包装箱是一个长方体;③装入磁带后不留空隙。

2.情景引入。

某工厂生产某种磁带盒,他们的长宽高分别为15cm,11cm,2cm,请为厂家设计一种长方体包装纸箱,使每一箱能装30件这种磁带,且该纸箱所用材料尽可能少(不计纸箱各棱处的粘合用料)。

在教学时可以引导学生思考这样两个小问题:①怎样恰到好处地将磁带盒放入纸箱?②如何在众多的放入方案确定哪种方案用料最少?

3.建立模型。

问题初设:若需要能放入2盒磁带的包装纸箱,使纸箱所用材料尽可能少,该如何设计纸箱?

在教学时,可以利用实物引导学生从搭建方式上解决如何放入纸箱的问题。学生通过动手搭建,会给出三种方案,如下图所示。

(设计意图:引导学生从简单的情形入手研究,寻找内在规律,体会从数学角度解决问题的入手方式。将大问题转化成一个个能完成的小问题,通过亲自搭建,感受其中的乐趣,探索其中的奥妙。通过实物操作,将“放入纸盒”问题转化为“纸盒搭建”问题,这使得学生踏出了从实际情境转化为数学模型的第一步。)

4.拓展实验。

问题升级:若需要能装入10盒磁带的包装纸箱,使纸箱所用材料尽可能少,该如何设计纸箱?

在这一环节的教学时,可以提出操作要求:①小组分工合作,动手操作,搭一搭实物;②记录图形,动手设计并画出包装箱的主视图,俯视图;③各小组展示搭建方式,并说出各种搭建方案的行数、列数与层数,以及它们的长宽高,将数据记录到如下表格中,借助计算器算一算表面积。

(设计意图:让所有学生充分展开活动,以小组合作的方式完成方案并记录数据,在过程中体验快乐,收获经验。)

5.总结规律。

引导学生对搭建方式和所得数据进行进一步的分析。若学生在如何处理数据上有困难,教师可以设置如下问题串引发学生思考,铺设台阶帮助学生顺利地解决以下问题。

问题①:如何迅速并不重不漏地找到所有磁带装箱方式?

问题②:从各组数据中能发现表面积是随什么量变化而变化吗?

问题③:新长方体长宽高如何确定?

在这里,需要引导学生用合理的数学语言来表述搭建方式,即以小长方体的长所在边为列、小长方体的宽所在边为行、小长方体的高所在边为层,用(列数,行数,层数)的方式来区分不同的搭建方式。同时,搭建成的大长方体的长、宽、高就可以表示为小长方体的长、宽、高分别乘以列数、行数与层数。

例如,在解决30盘磁带装箱问题时,可以有如下5种搭建方式:(1列,1行,30层),(1列,2行,15层),(1列,3行,10层),(1列,5行,6层,(2列,3行,5层)。每种搭建方式对应的长、宽、高分别为(15cm,11cm,60cm),(15cm,22cm,30cm),(15cm,33cm,20cm),(15cm,55cm,12cm),(30cm,33cm,10cm),通过计算不难得出第二种搭建方式的表面积最小,按这种方式设计的包装盒最节省材料。

在这里,教师可以引导学生结合所搭建的图形归纳出一般的结论:如果相同的长方体数量一定,当重叠面积较大时,包装纸箱的表面积较小。

(设计意图:至此,教师引导学生将“材料最少”转化为“求几何体表面积”;将实物的搭建方式用行、列、层数来区分。学生完成了对实际情境的数学建模,也收获了一次数学基本活动经验。)

三、总结反思

本节课重在让学生在生活的情境中感知数学的研究方式与方法。通过设置活动激发学生的学习兴趣,在研究中注重观察,从特殊的、较简单的情形入手,总结归纳出一般规律,从而理解和掌握有关知识。当然,生活中遇到的实际问题往往更为复杂,解决方案也更多元化,因此仍需结合生活实际,方能收获最佳方案。

【参考文献】

[1]薛丽萍,汪丽萍.在生活中学数学在生活中用数学——“设计包装纸箱”探究案例[J].初中生世界:七年级,2014(12).

[2]高灵敏.包装纸箱中的数学问题[J].初中生世界:七年级,2013(12).

[3]教育部.义务教育数学课程标准(2011年版)[S].北京:北京师范大学出版社,2012.

数据库基本操作 篇6

1 查询的理解

查询是对数据的重新组织,查询中保存的是查询方式,在查询的表视图中看到的是查询的运行结果,当关闭查询,这个运行就消失了,再次运行查询,重新从表中提取数据,显示查询结果,所以说查询的结果是一个动态的数据集。查询类型包括选择查询、参数查询、交叉表查询、操作查询和SQL查询。

2 操作查询

选择查询、参数查询和交叉表查询都是从表或查询中检索符合条件的记录,而不改变表

中原有数据。操作查询用来编辑表中数据,不仅可以生成新表,而且还可以批量删除、追加、更新表中记录。操作查询包括生成表查询、追加查询、删除查询和更新查询。运行操作查询可以批量修改表中数据,为了避免操作失误,需要备份数据库中的数据。操作查询的图标中包含一个感叹号,以引起用户注意。操作查询的结果是不能直接看到的,必须打开表对象才能看到。该文以Access2007版为基础,来探讨一下操作查询的使用。

以“教学管理数据”库(如图1所示)为例。

2.1 生成表查询

在Access中,从表中访问数据要比从查询中访问数据快得多,如果经常要从几个表中提取数据,最好的方法是使用Access提供的生成表查询,即从多个表中提取数据组合起来生成一个新表永久保存。

例:利用“学生”、“课程”和“成绩”表生成一个新表,表名为“男生信息”。新表仅包含1990年出生的女生记录,字段包括“学号”、“姓名”、“性别”、“课名”和“分数”。该题可以通过一个生成表查询来完成。

通过查询设计器完成如下(如图2所示):

打开查询设计器,单击生成表查询,出现“生成表”对话框,生成的新表的名称为“男生信息”。相应的Select语句为:

SELECT学生.学号,姓名,性别,课名,分数INTO女生记录

FROM学生INNER JOIN(课程INNER JOIN成绩ON课程.课号=成绩.课号)ON学生.学号=成绩.学号WHERE学生.性别="女"AND Year([出生日期])=1990

在该Select语句中对于生成表查询关键的是INTO子句。

2.2 删除查询

对于一些无用的数据应及时从数据库中删除。删除查询可以从单个表中删除记录,也可以从多个相互关联的表中删除记录。如果要从多个表中删除相关记录必须满足以下条件:

(1)在“关系”窗口中定义相关表之间的关系。

(2)在“关系”对话框中选中“实施参照完整性”复选框。

(3)在“关系”对话框中选中“级联删除相关记录”复选框。

例:复制“课程”表的副本为“课程信息”,“成绩”表的副本为“成绩信息”,删除“课程信息”中“选修”课程,同时删除“成绩信息”表中的相关记录。

通过查询设计器完成如下(如图3所示):

打开查询设计器,单击删除查询,在该窗口中关键的是多出了“删除”这一行。要先双击一下“*”,代表所有字段,因为删除查询删除的是整个记录,而不是记录中的某些字段。

相应的Select语句为:

DELETE*FROM课程信息WHERE课程信息.类别="选修"

在该语句中DELETE就是删除指定表中符合条件的记录,功能相当于删除查询。

2.3 更新查询

在建立和维护数据库的过程中,常常需要对表中的记录进行更新和修改。如果用户通过“数据表”视图来更新表中记录,那么当更新的记录很多,或更新的记录符合一定条件,最简单、有效的方法是利用Access提供的更新查询。

如果创建了表间关系,并选中“级联更新相关字段”复选框,更新主表的主键字段,同时更新子表的外键字段。

例:复制“教师”表为“教师信息”表,将“教师信息”表中“编号”字段内容的尾部再增加一位数字“5”。在定义该表时,“编号”字段为字符型。

通过查询设计器完成如下(如图4所示):

打开查询设计器,单击更新查询,在该窗口中关键的是多出了“更新到”这一行。

相应的Select语句为:

UPDATE教师信息SET教师信息.编号=[编号]+"5"

在该语句中UPDATE就是指更新指定表中符合条件记录的字段内容,相当于更新查询。

2.4 追加查询

维护数据库时,常常需要将某个表中符合一定条件的记录添加到另一个表上。Access提供的追加查询能够很容易地实现一组记录的添加。

例:有一空表“优秀”表,包括“学号”、“姓名”、“课名”和“分数”字段,将“学生”、“课程”和“成绩”表中90分以上的记录追加到“优秀”表中。

通过查询设计器完成如下(如图5所示):

打开查询设计器,单击追加查询,出现“追加”对话框,选择“优秀”表。在追加查询的设计器中与其它查询相比,多出了“追加到”这一行。

相应的Select语句为:

INSERT INTO优秀(学号,姓名,课名,分数)

SELECT学生.学号,学生.姓名,课程.课名,成绩.分数

FROM学生INNER JOIN(课程INNER JOIN成绩ON课程.课号=成绩.课号)ON学生.学号=成绩.学号WHERE成绩.分数

在该语句中,INSERT就是在指定表的尾部插入一个新记录,功能相当于追加查询。

3 结束语

该文通过具体的实例,以Access2007为基础,探讨了Access数据库中操作查询的使用,通过查询设计器和相应的SELECT语句来实现操作查询。对操作查询过程中需要注意的事项进行了分析和总结,把容易混淆的知识点进行了对比,对操作查询的学习能够起到事半功倍的效果。

参考文献

[1]教育部考试中心.全国计算机等级考试二级教程——Access数据库程序设计[M].北京:高等教育出版社,2004.

[2]申石磊,季超,楚艳萍.Access程序设计[M].合肥:中国科学技术出版社,2009.

[3]叶建良.Access的总计查询及其解题浅析[J].电脑知识与技术,2009(3).

[4]楚艳萍,程普.Access交叉表查询研究[J].福建电脑,2010(9).

数据库基本操作 篇7

有这样一句话最为经典、贴切的描述了Delphi——“真正的程序员用C, 聪明的程序员用Delphi”。它将可视化编程 (Visual Programming) 与面向对象 (Object-Oriented) 的优点结合在PASCAL语言开发平台上, 功能强大、简便易用。

二、delphi的数据库方法

Delphi中处理数据库主要有三种方法:BDE、ADO, db Express方法。

1、ADO接口

从Delphi 5.0开始, 加入了ADO技术的模块, 并逐步成为Delphi数据库设计的主流。它的吸收了BDE的特点, 做到和原来的程序兼容, 同时, 它又可以接受标准ADO技术的各种属性和方法, 提高了执行效率, 给设计人员以更多的选择。

2、BDE接口

BDE (Borland Databas Engine) , 一直是Delphi处理数据库的事实上的标准。它是一个基于驱动程序的体系结构, 每一种数据格式或数据源都有一种驱动程序来驱动相近的数据源。BDE可以很好的支持现在最流行的ODBC-API方法。

3、db Express方法

db Express是Delphi 6.0加入的最新的数据库模块, 它不使用缓存, 可以快速浏览大量的数据, 它一个重要的特点是交叉平台, 可以和Linux数据库连接, 速度相当快。

二、delphi的数据库组件

Delphi部件板上有两页数据库部件用于开发数据库应用程序:TTable、TQuery、TStoredproc部件负责与实际的数据库表联系, 并从中获取数据信息, 因而它们又常常被称为数据集部件, 它们通过BDE为应用程序提供与数据库的连接, 数据控制部件通过TData Source部件与数据集部件相连, 为用户提供一个可视化的界面。

数据访问部件页:数据访问组件在组件面板的Data Access组件页上, Table、Query和Storedproc三个组件也称为数据集组件, 用于和数据库连接, 可将这些组件视为数据库, 对它们的操作就可认为是对数据库的操作。

数据控制部件页:数据控制组件也可称为数据显示组件或数据浏览组件。它们的主要功能是和数据访问组件配合供用户对数据进行浏览、编辑等操作。数据控制组件在组件板上的Data Control页上, 共有15个组件。

1、数据访问组件

(1) Data Source控件是数据集组件和数据控制组件的连接媒介。只有通过Data Source控件才能和数据集组件连接, 从而对数据进行操作。 (2) Session控件是用于控制数据库应用程序和数据库连接的, 用于复杂功能的实现。 (3) Data Base控件一般用于建立远程的数据库服务器的数据库应用程序和数据库之间的连接。 (4) Query控件是利用SQL通过BDE来操作数据库的, 采用SQL来实现。 (5) Storedproc控件是通过BDE对服务器数据库进行操作的, 常用于客户/服务器 (C/S) 结构的数据库应用程序。 (6) Table控件是通过数据库引擎——BDE来存取数据库中的数据的。通过BDE将用户对数据库的操作传递给数据库。

2、数据访问组件

数据控制组件也可以称为数据显示组件或数据浏览组件。它们的主要功能是与数据访问组件相配合, 提供给用户一个对数据进行浏览、编辑等操作的界面。数据控制组件在组件板上的Data Control页上。它们主要有:DBGrid控件、DBEdit控件、DBMemo控件、DBImage控件、DBText控件、DBListbox控件、DBNavigator控件、DBCheck Box控件、DBLookup Combo Box控件、DBRich Edit控件、DBCtrl Grid控件、DBCombo Box控件、DBRadio Group控件、DBLookup List Box控件、DBChart控件等。还有一个组件页是ADO (Active X Data Objects) , 主要是使用微软的OLE DB功能对数据库服务器中的数据进行访问和操作。易于使用、高速度、低内存支付和存储空间占用较少。

三、数据访问部件层次结构

TDatasource部件是连接数据集部件和数据浏览部件的桥梁, 它在数据访问部件页上。

TSession是全局性的部件, 在应用程序运行时, 它自动地建立, 在设计阶段和运行过程中它是一个不可见的部件。

TFields部件对应于数据库表中的实际字段, 它既可以在应用程序的运行过程中动态地生成也可以在程序设计阶段用字段编辑器创建。

TDataset部件是不可见的, TTable和TQuery部件是由它派生而来的, 这两个部件一般被称为数据集部件, 它们在数据访问部件页上。

TDatabase部件是为开发客户/服务器数据库应用程序时, 设置登录的数据库的有关参数的, 它在数据访问部件页上。

四、有关delphi数据库操作

其实与其它的delphi编程一样, delphi的数据库操作也是对这些组件的方法和属性的灵活应用。比如Ttable这个组件, 提供了下列方法供用户使用:Set Range Start和Edit Range Start方法;Set Range End和Edit Range End方法;Set Range ([Start Values], [End Values]) 方法;Apply Range方法;Cancel Range方法等等。为了灵活掌握这些方法, 关键还是要多加联系, 明白他们能够实现的功能, 通过将性能与效率结合起来选择合适的组件完成功能, 就是delphi数据库开发的关键点。

参考文献

[1]Marco Cantu著, 王辉、张晓辉译:《Delphi6从入门到精通》, 电子工业出版社, 2008年。

数据库基本操作 篇8

关键词:ASP,ADO,OLE-DB,ODBC,数据库连接

1 引言

Personal Web Server(PWS)可以让个人计算机变成一台Web服务器,它完全支持ASP设计,可以作为设计ASP的操作平台。它还可以将Web应用程序移植到Windows NT或Windows 2000的IIS上运行。

所以要进行网页数据库的ASP设计首先要安装PWS,PWS安装文件一般在Windows 98光盘的Add.ons目录下(在Windows NT 4.0 Option Pack光盘里也可以找到)。当我们安装PWS时,我们要注意选择安装ASP子组件,否则Web服务器将不支持ASP的功能。另外还要注意选择适当的网站服务器的发行主目录,这里我们选择C:Inetpubwwwroot作为发行主目录。只有设置了发行主目录,当别的客户机联机到该服务器时,就会看到这个目录下的网页。

安装完PWS,我们下一步就是检测PWS4.0是否能正常工作,我们可以在浏览器中输入网址“127.0.0.1”,这时如果安装成功的话会出现PWS 4.0的默认主页。“127.0.0.1”是提供给没有连上网络的单机用户测试的IP地址,如果你的计算机已经连上了网络也可以输入自己计算机的IP地址来测试PWS是否已经运行。

2 用Access2000制作数据库网页

在使用数据库之前,我们通常需要先创建和配置ODBC数据源。只要所用的数据库软件提供了ODBC的驱动程序,应用程序就可以通过ODBC驱动程序来存取这些支持ODBC的数据库。配置ODBC数据源可打开控制面板中“ODBC数据源”控制选项。这时会打开“ODBC数据源管理器”,我们打开系统DSN选项卡,添加你所要数据库的ODBC驱动程序,这里我们选择Microsoft Access Driver(*.mdb)驱动程序。接下来设置ODBC Microsoft Access的安装,我们选取要使用的数据库,这里我们选取C:MY Documents下的visit.mdb数据库文件。

生成的ASP网页需要测试,我们用Frontpage 2000测试生成的ASP网页,由于ASP网页必须在PWS4.0上才能运行,所以要再此添加网站以便放置该ASP网页,我们在Frontpage2000中新建一站点,站点会保存在上面安装PWS时所设置的Web发行主目录下,即C:Inetpubwwwroot下。我们在新网站中创建一新的目录名为ASP,然后把刚刚建立的ASP网页导入刚刚建立的ASP目录中,最后我们在浏览器中打开ASP目录中的数据库网页,可以看到前面所建立的数据库,应该是正常的。

如果在浏览器中出现“禁止执行访问”的警告,那么问题通常出在ASP文件夹属性上,我们可设置ASP文件夹属性为“允许运行脚本”则可解决问题。

3 利用Frontpage 2000制作数据库网页

使用Frontpage 2000也可以制作数据库网页,且可以动态显示数据库的属性。具体过程如下:

可以在Frontpage 2000中插入前面的AccessASP网站,我们在新的网页中添加前面所制作好的数库。

我们可以利用Frontpage 2000里的数据库结果向导进行数据库与网页的连接,点击数据库结果向导中“创建”按钮,这时会弹出“站点设置’对话框,通过对话框中的数据库选项卡进行新建数据库连接。

最后在站点服务器上的数据源中选择前面设置好ODBC的visit数据库,则完成设置。并设置数据原名为dbvisit。以便后来调用此数据库。

ASP对象分类

ASP对象可以分为内置组件和外挂组件。

Application对象示可以让所有用户共同使用的对象,即公用变量[1]。它包含两个事件程序:Application_OnStart和Application_OnEnd。Application_OnStart在PWS激活后第一个用户使用系统时,会激活这个程序,而Application_OnEnd在PWS关闭时激活这个事件程序。

Session对象与Application对象恰恰相反,它仅适用于单一的用户。也有两个事件程序:Session_OnStart和Session_OnEnd。

Response对象可将要表现的信息直接写在网页上,如Response.Write“目前在线的人数:”&User即会在网页上显示:目前在线人数:…

Request对象通常是为了取得用户所输入的信息,制作出一个可供用户输入信息的交互式网页时,利用Request对象就可以很方便的取的用户所输入的信息。

Server对象与ADO对象搭配可以与数据库链接

4 安全隐患及防范

由于ASP和ACCESS本身的客观因素存在一些隐患,所以我们可以采取下列措施进行一些防范。

4.1 使用不规则的文件名

B/S结构特点决定用户只要有一个浏览器就可访问,只要输入url地址,就可找到相关的页面,数据库也同样,这样非法者可能会猜到数据库名进行非法活动,防范方法有:可以定义不规则的数据库名,也可以将数据库深深地埋在许多不规则的文件夹里。

4.2 使用ODBC数据源

在ASP程序设计中,应尽量使用ODBC数据源,不要把数据库名直接写在程序中,否则,数据库名将随ASP源代码的失密而一同失密。例如:

DBPath=Server.MapPath(“../bbs/data/news.mdb”)

Conn.Open“driver={Microsoft Access Driver(*.mdb)};dbq=”&DBPath

这样,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,数据库也很容易被下载下来。如果使用ODBC数据源,就不会存在这样的问题了:Conn.open“ODBC-DSN名”。

4.3 良好的身份验证系统

设计要求用户注册成功后系统启动Index.asp页面。如果不采用Session对象进行注册验证。利用Session对象可以有效阻止这一情况的发生。

5 总结

随着Internet的兴起和以网页为载体的网络信息的广泛传播,网页制作中对于内容的动态显示与更新需求量越来越大。在众多的编写环境中,Microsoft Active Server Pages(ASP)以其强大的技术力量背景及容易掌握的语言环境迅速获得了众多网页设计人员的青睐。这里就是利用ASP与网页数据库的相关技术制作跟踪用户访问信息的网页数据库。

参考文献

[1]数位文化.网页数据库实例应用宝典[M].北京:清华大学出版社,2001.

[2]苏朋.ASP编程技巧与实例分析[M].北京:中国水利水电出版社,2001.

数据库基本操作 篇9

1 Access数据库简介

Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统, 它是微软OFFICE的一个成员。

数据库是许多数据对象的集合, 包含表、查询、窗体、报表等对象。建立Access数据库即是创建诸多与特定应用有关的对象, 这些数据库对象均保存在一个以.mdb为扩展名的数据库文件中。Access是一种桌面型数据库系统, 具备了系统内存小、功能强大、使用方便等特点, 常用于小型管理系统的后台数据库开发。

2 数据库备份介绍

在基于数据库的系统开发过程中, 保证数据的安全可靠是一项非常重要的内容。如果数据库数据发生损坏或丢失损失将非常惨重。为此系统开发人员应针对具体业务要求制定详细的数据库备份与灾难恢复策略, 并通过模拟故障对每种可能发生的情况进行严格测试, 只有这样才能保证数据的高可用性。数据库备份是一个长期过程, 而恢复只在发生事故后进行, 恢复可以看作是备份的逆过程, 恢复程度很大程度上依赖于备份的情况。

按照备份数据库的大小, 数据库备份有完全备份、差异备份、事务日志备份、文件备份四种类型, 分别应用于不同的场合。

完全备份:这是大多数人常用的备份方式, 它可以备份整个数据库, 包含用户表、系统表、索引、视图和存储过程等所有数据库对象。采用完全备份方式后期的数据恢复方便, 但占用时间、空间较大。

差异备份:也叫增量备份, 只备份上次完全备份后所产生变化的所有数据, 包括改变的数据页和本次备份开始之后的日志。差异备份依赖于完全备份, 它能够将数据库还原到差异备份的时刻, 但是不支持时间点还原。差异备份所花费的时间较短, 备份后占用存储空间较小, 常用于一般的数据库。

事务日志备份:事务日志是一个单独文件, 它记录数据库的改变, 备份时只需要复制自上次备份以来产生变化的所有数据, 所以只需要很少的时间。事务日志备份只对活动日志进行备份, 并从前一次日志备份完成的日志序列号 (LSN) 处开始备份, 能够支持时间点还原, 常用于重要的数据库。

数据库文件和文件组备份:备份数据库中特定的文件或文件组, 取代备份整个数据库, 还原时只需还原指定的文件或文件组, 数据库恢复速度快, 但管理较复杂。适用于大型、文件分布在不同磁盘设备的数据库。

完全备份是执行差异备份和日志备份的前提, 差异备份和日志备份是相互独立的备份。采用差异备份可以减少数据还原时的事务日志的备份数量, 采用日志备份可以在意外发生时, 恢复所有已完成的事务, 实现在任何时间点的数据还原。

3 Access数据库备份方式

Access数据库以一个后缀为.mdb的文件存在, 数据库的备份和还原也是基于该文件的相关处理, 因此, Access数据库的备份就是选择数据库文件备份的方式。数据库备份操作是专门人员定时进行数据库文件的备份处理。这种纯手动操作的数据库文件的备份方式必须要通过专门人员直接针对数据库文件进行操作才能够完成, 在开发程序真正投入使用以后, 如果使用这种数据库备份方式不仅不太适用, 也不利于数据本身的安全。对于Access数据库, 能否通过程序来实现数据库的自动备份?在进行相应探讨后, 本文给出了两种数据库文件备份的处理方式。

3.1 代码编写实现数据库的手动备份

基本上所有常见的系统开发工具和语言都能够对文件进行各种操作, 可以使用相应的开发语言编写数据库备份功能, 让使用系统的普通用户通过提供的系统功能来实现数据库按需手动备份。这里以基于ASP的Web程序开发来实现Access数据库的备份操作。

ASP是使用File Access组件来实现对服务器文件系统的操作。File Access组件包括相应的对象, 通过对象的相关方法能够很方便地完成数据库的备份操作。关键代码如下:

该实例中通过使用ASP提供的组件对象方法实现了数据库的备份功能, 一般用户可以通过相对应的系统功能菜单很方便地实现数据库的备份操作。其他系统的开发也是如此, 可以通过开发工具和语言编写相应数据库备份功能, 让一般用户可以根据自己的需要手动进行数据库的备份操作。

3.2 批处理文件与计划任务相结合实现数据库的自动备份

在命令提示符窗口下, 可以通过相应命令实现文件的相关操作。基于这一原理, 可以把数据库文件的备份操作存储为批处理文件, 然后通过Windows系统自带的计划任务功能设置该批处理文件的自动执行周期, 这样就可以实现数据库文件的定时自动备份。关键的批处理文件代码如下:

然后通过Windows系统自带的计划任务功能, 让该批处理文件在固定时间周期内定时执行, 从而实现数据库文件的定时自动备份操作。

4 结语

在上述探讨的两种数据库文件备份操作中, 一般用户多不能够直接接触到数据库文件本身, 相关的备份操作完全通过程序和代码实现, 用户只需要通过友好的界面操作和部署就能够完成数据库的备份操作。

摘要:Access数据库管理系统凭借其易学、易用的特点, 在进行小型系统开发时是许多程序员的首要选择。在使用Access开发后台数据库系统时, 如何对数据库文件进行备份, 保证数据安全是不可回避的问题。笔者将对Access数据库文件备份的方式进行简单探讨。

关键词:Access,计划任务,ASP,数据库备份

参考文献

[1]张所, 良蒋秀, 莲刘文.浅析Access数据库系统的安全隐患及防范措施[J].科技信息 (学术研究) , 2007 (16) .

[2]林景影.对Access开发数据库系统的研究[J].电脑知识与技术, 2010 (7) .

[3]温艳春.SQL Server数据库备份与恢复技术的分析与实践[J].中国数字医学, 2009 (4) .

[4]张景峰.ASP程序设计教程 (第二版) [M].北京:中国水利水电出版社, 2003.

[5]梁红硕, 陈鸿雁, 张永生.基于网络的学生日常信息管理系统的开发——以石家庄职业技术学院学生日常信息管理系统为例[J].石家庄职业技术学院学报, 2009 (2) .

[6]王钢, 张科, 高赟.基于Access的信息管理系统开发实践——以甘肃省社科研究信息管理系统为例[J].社科纵横, 2007 (9) .

[7]张有明, 张科, 高赟.基于Access的信息管理系统开发实践——以西北师大科研信息管理系统为例[J].电化教育研究, 2007 (2) .

[8]陈晓智, 陈益洲, 谢磊, 等.基于云计算模式的省级区域卫生信息平台项目研究[J].中国卫生信息管理杂志, 2015 (4) .

[9]区国端.以能力为导向的《ACCESS程序设计》课程改革与教学实践之我见[J].吉林省教育学院学报 (上旬) , 2013 (8) .

数据库基本操作 篇10

关键词:DBF数据表;Java语言;文件头

中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)18-31503-03

Study on Using Java to Read the Data Structure&Info. of DBF Format

LU Ning, YANG Wei-ming

(Southwest Forestry University Computer & Info. Science Department, kunming 650224, China)

Abastract:In this paper, a technology has been given on how to read the data structure and information about DBF format using Java. Besides, the author also dedicates the source code and a instance which would be helpful for handling specific problems.

Key words:DBF database; Java; Headfile

1 引言

数据库技术是当代计算机科学的重要分支,一直也是目前计算机科学的一个重点热门研究领域,由于历史的原因,上个世纪国内大量的使用DBF文件格式的数据库,特别现在也大量运用DBF存储地理信息图像信息,使得DBF数据库在我国有着非常庞大的编制和使用队伍。本文分析了DBF数据表文件存储结构,提出了使用面向对象的Java语言直接操作DBF数据表文件的方法和核心技术,并以随机文件读取方式实现了DBF数据表记录的存取操作。这对于了解和分析现代流行的数据库底层结构、数据库驱动程序的开发、数据库的数据加密有着较大的指导意义。

2 DBF数据表文件的结构分析

DBF数据表文件由两部分组成,第一部分是表本身结构描述部分,即文件头,第二部分是表本身的数据内容,即实际存放每一个记录的数据部分。表结构说明部分又分为两个部分,前一部分是关于整个表的结构说明,共32个字节,其各字节描述信息如表1所示。后一部分从第32个字节开始到0DH(字段描述结束符或称为文件头结束标志)为止是字段描述区,每32个字节定义一个字段,包括字段名、字段类型、字段长度、小数位数等,其字段描述的各字节意义如表2所示。

表1 DBF数据表文件头描述部分(开始的32字节)

从表1 DBF数据表文件头描述部分的可以得出,记录总数占4个字节,文件头长度占2个字节,记录长度为每条记录的长度,且包括删除标志在内,因低字节在前,其计算公式如下所示:

记录总数=第4个字节+2561×第5个字节+2562×第6个字节+2563×第7个字节

文件头长度=第8个字节+2561×第9个字节

记录长度=第10个字节+2561×第11个字节

字段名以ASCII码方式存放,最大长度是10个字符,若字段名长度低于10个字符则使用空字符(0x00)填充。字段类型以ASCII码方式存放字母C、N、Y、F、D、T、L、M、G、B、I。

表2 字段描述部分(每个字段占32字节)

由上表1、表2分析可以得出,文件头的长度可按下面的公式计算(单位为字节):文件头长度=32(文件头)+32*字段个数+1(结束标志)

DBF数据表文件的结构部分的结束标志为“0DH”,占1个字节。对于VFP表文件从“0DH”所在的字节开始的263B用于描述自由表或数据库表的相关信息(若为自由表,则取值全为零)。其VFP表文件头长度=32(文件头)+32*字段个数+1(结束标志)+263。然后是数据部分,第一个记录,第二个记录,……。各记录按定长格式以ASCII码方式顺序存放。每个记录的第一个字节是删除标志。若记录被删除,则该字节为2AH(即字符“*”的ASCII码),否则为20H(即空格字符的ASCII码)。各记录间无分隔符。整个文件的结束标志为“1AH”,位于最后一个记录之后的一个字节中。

通过以上的分析,可以得出DBF数据表文件是自带文件结构描述的记录顺序存放结构。可通过顺序访问记录或根据记录长度通过直接计算定位访问记录两种的方法读取记录。

3 Java读取DBF数据表文件头信息

本文以Visual Foxpro 6.0建立自由表学生信息表(Stud.dbf),并录入示例数据,其数据表结构如表3所示。

表3 学生信息表(Stud.dbf)

3.1 读取DBF数据表结构描述部分

新建一个ReadHeader.java文件,输入如下代码,将ReadHeader.java文件保存在Stud.dbf同一文件夹下。

import java.io.IOException;

import java.io.RandomAccessFile;

public class ReadHeader{

static RandomAccessFile RndReadDBF;

public static void main(String[] args) throws IOException {

RndReadDBF=new RandomAccessFile("Stud.dbf","rw");

RndReadDBF.skipBytes(4); //跳过前4个字节

int RecordCount=0;

//记录总数=第4个字节+2561×第5个字节+2562×第6个字节+2563×第7个字节

for(int i=0;i<32;i+=8){//读取记录总数,即4~7字节内容,采用移位异或操作实现

RecordCount|=(RndReadDBF.readByte())&0xff<

int Low=RndReadDBF.readByte()&0xff;//与运算得到低字节内容

int Hight=RndReadDBF.readByte();

short TableStrucDescLen=(short)(Hight<<8|Low);

int RecordLen =RndReadDBF.readByte()&0xff;

RecordLen+=RndReadDBF.readByte()&0xff<<8;

System.out.println("记录条数:"+RecordCount);

System.out.println("表结构长度:"+TableStrucDescLen);

System.out.println("记录长度:"+RecordLen);

RndReadDBF.skipBytes(20);

RndReadDBF.close();}}

数据库基本操作 篇11

“十五”期间, 在国家科技攻关计划、863计划及电子发展基金等支持下, 我国在数据库技术核心领域取得了一系列的突破, 国产数据库得到了长足的发展, 市场占有率也得到了稳步提升。但是国产数据库之间的互操作, 一直是制约其进一步发展的瓶颈, 解决数据库的互操作性, 已成为当务之急, 并已形成当前数据库产业发展中的一股技术潮流。对于互操作这个概念到目前为止还没有形成一个大统一的严格定义。许多研究机构和学者都有自己的观点和看法, 美国电气及电子工程师学会IEEE对互操作性是这样定义的:两个或两个以上系统或元素的以下能力, 交换信息并且使用这些已交换的信息。两个或两个以上系统或组件在不同环境下交换信息并且使用这些信息的能力。欧洲电信标准协会ETSI对互操作性是这样定义的:互操作性就是两个或两个以上系统通过相同的通信协议进行互操作的能力。如图1所示。

对于数据库互操作这个概念来说, 如图1所示的2种互操作定义都比较片面, 所谓数据库的互操作应该包含以上所示的2种定义, 具体就是指数据库的互换性和数据库间的数据迁移。解决互换性, 数据库的体系结构要一致;解决数据迁移, 数据库的数据格式要一致, 要做到上述的几个方面, 必须制定一套技术规范 (关系数据库管理系统规范) , 对国产数据库产品的SQL技术、JDBC接口函数、可靠性管理、系统管理做统一的规定。然后在规范符合性测试的基础上, 通过技术规范与测试环境的有机结合, 为实现国产数据库互操作提供基础技术保障。但是规范不可能覆盖国产数据库互操作的全部细节, 也就难以保证通过符合性测试的产品能够在各种具体应用中完全实现互操作;所以引入集成测试作为补充, 在集成测试的基础上, 通过对具体应用与国产数据库产品相结合的测试, 为实现国产数据库数据迁移和互换的整体可用性提供实际的案例支撑。最后依据技术规范和集成测试搭建完整的互操作测试框架, 可以全面评测国产数据库产品的互操作能力。本文就以基于国产基础软硬件的公共信息平台关键技术开发及应用项目 (2005BA112A) 为背景, 提出国产数据库互操作性的测试框架及对其测试方法进行研究。

1 国产数据库互操作测试框架及原理

国产数据库互操作测试的目标是能够尽可能地覆盖数据库的功能, 能够较为全面地测试国产数据库的互操作性。为了达到这个测试目标, 需要在两个方向上做出努力:一是对国产数据库产品进行规范符合性测试;二是在集成环境下, 对国产数据库产品在实际应用业务逻辑下的集成性进行测试。之所以在规范符合性测试之外引入集成测试, 主要基于两方面的考虑, 首先, 规范不可能覆盖国产数据库互操作的全部细节, 也就难以保证通过符合性测试的产品能够在各种情况下完全实现互操作;其次, 集成测试难以做到完全覆盖产品的功能、接口和参数。因此, 需要将规范符合性测试和集成测试进行有效结合, 从广度和深度上互为补充。可以把这两个方面抽象如图2所示国产数据库互操作性的目标测试空间。

图2中, 以广度为横轴、深度为纵轴构成了一个国产数据库互操作性测试评价平面, 在深度方面的理想要求是完全体现实际应用的业务逻辑, 在广度方面的理想要求是完全覆盖规范中规定的功能接口;图中A点对应于这两个要求, A点和原点O之间形成的矩形区域代表了国产数据库互操作性的目标空间, 最理想的情况是应该可以完全覆盖该目标空间。图3给出了测试方法的定位和开发方向。

综合以上所述, 笔者提出了一种数据库互操作性测试框架, 总体结构如图4所示。

下面将从测试过程、环境配置和测试用例等方面对国产数据库互操作性测试框架进行阐述。

2 测试方案

2.1 测试环境

从主客观性的角度进行划分, 测试环境分为软环境和硬环境。软环境指的是与人有关的一些偏主观因素, 主要涉及测试人员、人员组织、测试管理、测试策略等内容, 而硬环境指的是计算机系统、测试软件以及人工搭建的系统环境等客观条件。一般应用软件的测试软环境需要注意的方面大致相同, 都与人有紧密关联, 硬环境的设置也没有太大的灵活性:计算机的配置是不可改变的, 测试软件是固定唯一的, 不存在硬环境的配置问题。而国产数据库互操作性没有一种特定的测试软件去自动检验成功与否, 这时便要在测试前为测试对象搭建系统环境, 为后面的测试过程做环境准备。它的环境配置流程图如图5所示。

由于测试采用B/S结构, 不需要在客户方进行部署。所以应该做到:

· 整体打包:尽可能减少独立打包的数目以便简化安装部署过程;

· 统一配置:在部署完成后, 应提供统一的测试相关配置入口。它统一环境配置入口是基于hibernate技术来实现的, 只要改动hibernate_cfg.xml和local.properties中的部分信息就可以实现, 非常方便。部分代码如下:

hibernate_cfg.xml文件中需改动部分:

做成工具化的界面就是如图6所示的形式。

2.2 测试过程

国产数据库互操作性测试框架的执行流程如图7所示。

2.3 测试用例

以下面对国产数据库互操作性的测试用例进行研究, 提出若干编写测试用例意见。

国产数据库互操作性就是使各个不同的国产数据库产品能在国产操作系统Linux下能够进行数据的迁移, 和产品的相互交换, 而不影响整个平台的正常运行。由于两个数据库之间存在数据类型不一致, 语义关联不一致, 事务处理方式不一致等特点。针对这些特点来设计测试数据非常重要。

1) 数据类型复杂, DM和Kingbase所支持的数据类型不一致。数据在迁移的过程中, 数据类型和数据长度要进行转换。表1中就列举了对DM和Kingbase部分的数据类型转换映射关系。所以在测试中主要就是要测试这几种数据类型是否符合规范所规定类型和长度, 以及数据内容是否能正确的迁移。

2) 国产数据库之间有着很复杂的语义关联, 由于数据库应用系统的开发是独立的, 对相同或相关的数据意义或解释的不一致是不可避免的, 这就会发生语义的差异, 举例来说:

考虑数据库DB1中关系RESTAURANT的属性STUDENT—SOURCE, 他表示学校中每个学生的平均成绩, 但是不包括选修课的成绩。而数据库DB2中关系BOARDIBG的同一属性STUDENT—SOURCE所表示的每个学生的平均成绩却包含了选修课的成绩。设两个属性具有的相同的语法性质, 将DB1的RESTAURANT, STUDENT—SOURCE和DB2的BOARDIBG, STUDENT—SOURCE进行比较是没有意义, 因为他们的语义有差异, 设计测试用例时候要特别注意。

3) 在不同的国产数据库之间的数据迁移时候, 例如表之间的迁移, 当外键中含有null值, 索引名有冲突, 序列的最大最小值问题, 自增长列, 高低优先级表间的问题都是需要特别注意的地方, 在编写测试用例的时候对这些方面要特别重视。

3 结束语

本文在基于国产基础软硬件的公共信息平台关键技术开发及应用项目中的国产数据库互操作性的规范符合性测试和集成测试的基础上, 提出了基于国产Linux环境下国产数据库互操作测试框架对其测试方法进行讨论, 并给出了具体的实现方案, 主要是在测试过程、测试环境上做了阐述, 并对测试中的用例编写提出了一些建议。这些建议都是基于测试的一般情况, 针对实际项目时, 要根据具体情况做相应的调整, 来达到最佳测试效果。文中所提出的测试框架、测试技术在基于国产基础软硬件的公共信息平台关键技术开发及应用 (2005BA112A) 项目中得到了实施, 获得较好的测试效果。当然, 对国产数据库互操作性的测试的研究工作还远不只这些, 还需要在下一阶段进一步研究和探讨。

摘要:在国产数据库的规范符合性测试和集成测试基础上, 提出一种数据库互操作测试框架。从测试框架的方法设计、测试过程、环境配置和测试用例等方面对国产数据库互操作性进行研究, 在一定程度上解决了一些国产数据库互操作性的测试技术问题, 供大家参考。

关键词:国产数据库,互操作,测试框架

参考文献

[1]满靖, 等.异构数据库信息整合系统的测试技术研究[J].微计算机信息, 2006, 22 (2-3) .

[2]吕品, 夏红霞, 李明.异构数据库互操作平台的开发研究[J].武汉理工大学学报:信息与管理工程版, 2003, 2.

[3]Berler A, Pavlopoulos S, Koutsouris D.Design of an InteroperabilityFramework in a Regional Healthcare System.Proceedings of the 26thAnnual International Conference of the IEEE EMBS, San Francisco, CA, USA.September 1-5, 2004.

[4]Gao Zhipeng, Meng Luoming, Qiu Xuesong, et al.The Interoperabilityand Shared Management Information Model.Proceedings of the First A-sia International Conference on Modelling&Simulation (AMS'07) 0-7695-2845-7/07 20.00℃2007IEEE.

[5]Jonathan Neddenriep, William G Griswold.RiverInk?An ExtensibleFramework for Multimodal Interoperable Ink*.Proceedings of the 40thAnnual Hawaii International Conference on System Sciences (HICSS'07) 0-7695-2755-8/07 20.00℃2007IEEE.

[6]Cattell R, Barry ed D.The Object Database Standard:ODMG 2.0.Morgan Kaufmann Publishers, San Francisco, California, 1997.

上一篇:时势造英雄下一篇:中学生物理意识培养