关系数据库范文
时间:2023-04-09 12:12:34
导语:如何才能写好一篇关系数据库,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
【关键词】关系数据库;非关系数据库;NoSql
前言
从上个世纪60年代至今的半个世纪,数据库技术伴随着信息技术的发展不断发展,到目前共经历了人工管理阶段、文件系统阶段和数据库系统阶段,在数据库系统阶段又经历了网状数据库、层次数据库和关系数据库阶段,进二十来年,关系数据被广泛使用,发展成主流,但随着互联网技术的蓬勃发展,关系数据库使用遇到了一些新的问题,为应对这些新的问题,近两年来非关系数据库NOSql越来越引起人们的注视,得到了快速发展。
1 关系数据库
1.1 关系数据库的简介
支持关系模型的数据库系成之为关系数据库,是目前各类数据库中使用最为广泛的数据库系统。关系数据库在经过二十几年的发展,已经变的功能强大,使用广泛,产品成熟的数据库系统,现在使用主流的数据库都为关系型数据库,比较熟悉的如SQL Server、Mysql、Oracle、Sybase、Informix、DB2等。在网络上使用比较广泛的是Sql Server、Mysql和Oracle。
1.2 关系数据库的特点
关系数据库是支持关系模型的数据库系统。而关系模型是由二维表来表示实体和实体间联系的模型。使用二维表存储数据,对使用者来说很直观,更容易理解。使用关系数据库的优势主要表现在以下几个特性:
(1)操作方便性。通过开发应用程序和数据库连接,用户能方便的对数据库中数据进行操作,特别对没有数据库基础的人,也可以通过数据库管理系统,直接在数据库中操作。
(2)易于维护性。关系数据库在完整性约束中提供了实体完整性、参照完整性和用户定义的完整性,通过完整性约束可以大大降低了数据存储的冗余及数据不一致的概率。
(3)访问数据的灵活性。关系数据库中提供了诸如视图,存储过程,触发器,索引等对象,是访问数据更加灵活。
1.3 目前关系数据库面临的问题
随着互联网技术的发展,尤其是web2.0 技术使用,更注重用户和服务器以及用户和用户之间的交互作用,用户成为既是网站内容的浏览者,也是网站内容的制造者。例如:博客(BLOG)、社会网络(SNS)、以及现在比较热的微博等。对于在使用web2.0技术并且访问量比较大网站,使用传统关系数据库就会遇到一些问题,主要表现在以下几点:
(1)对数据库高并发读写的需求
Web 2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,无法使用动态页面静态化技术,因此数据库的并发负载非常高,往往要达到每秒上万次的的读写请求,此时服务器上的磁盘根本无法承受如此之多的读写请求。
(2)对海量数据的高效率存储和访问的需求
对于大型的社交网站网站,每天用户产生海量的用户动态,随着用户的不断增减,一个数据表中的记录可能有几亿条,对于关系型数据库来说,在一个有上亿条记录的表里面进行SQL询,效率是极其低下的。一些大型Web 网站的用户登录系统也是如此,如腾讯、163邮箱都有数亿的帐号。
(3)对数据库的高扩展性和高可用性的需求
在基于Web的架构中,数据库是最难进行横向扩展的,当用户量和访问量增加时, 数据库没有办法像Web Server 那样简单的通过添加更多的硬件和服务结点来扩展性能和负载能力,对于很多需要24 小时不间断服务的网站来说,对数据库系统的升级和扩展往往需要停机维护。
2 非关系数据库NoSql
2.1 NoSql概述
NoSql是应对关系数据库出现的问题而发展起来的,近几年随着web2.0技术的广泛应用,NoSQL 得到了快速的发展,NoSQL数据库指的是非关系性的、定义不是很明确的数据存储仓库。NoSQL数据库不再使用关系模型的概念,放弃了使用SQL语句对数据库进行操作。
NoSQL 数据库根据数据的存储模型和特点又分为很多种类。主要有
(1)面向列的存储系统。按列存储,区别于关系数据库中按行存储,容易扩展,适用与存储海量数据,对一个或几个字段进行查询的效率很高,但在复杂查询功能比较弱,如多表联合查询。此类数据库产品有BigTable、Hbase、assandra和Hypertable。
(2)面向文档存储系统。保证海量数据存储的同时,具有良好的查询性能。用JSON或类JSON格式进行存储,存储的内容是文档型的,文档中的格式是自由的。此类数据库产品有MongoDB和CouchDB。
(3)键-值(key/value)存储系统。是最简单的Nosql系统,具有极高的并发读写性能。通过key能够快速查询到value,并且不考虑value 的格式。此类数据库产品有Tokyo Cabinet/Tyrant、BerkeleyDB、MemcacheDB和Redis。
(4)图存储系统。图形关系的最佳存储模式。如Neo4J、FlockDB。
(5)对象存储。类似面向对象语言的语法操作数据库,通过对象的方式存取数据。此类数据库产品有db4o、Versant。
(6)xml 数据库。高效存储XML 数据,并支持XML的内部查询语法。此类数据库产品有Berkeley DBXML、BaseX。
2.2 NoSql数据库的优势
相对于关系数据库,Nosql数据库的优点主要表现在:
(1)容易扩展和高性能。NoSQL 数据库种类很多,但是都有一个共同的特点就是去掉关系型数据库的关系型特性。数据之间彼此无关系,这样就非常容易扩展。可以存储海量数据。同样由于数据之间无关系,数据库的结构简单,在处理大数据量时,NoSQL 数据库会有出色的读写性能。
(2)灵活的数据模型。NoSQL 数据库不使用传统的关系数据库模型,而是使用如key-value 存储、文档型的、列存储、图型数据库、xml 等方式存储数据模型,使用这些模型都无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。同时根据需求可以选择合适的模型。
(3)经济性
在数据量和访问量比较大的情况下,传统的关系数据库对服务器的要求比较高,甚至使用专用硬件设备,这样造价就比较高。而NoSQL数据库的易扩展的特点使配置较低服务器上运行,也可以使用低配服务器组成集群来使用,并且有研究证实使用NoSql数据库基于低配硬件的分布式存储解决方案比现在的高端关系数据库更加可靠。这样就极大的降低了投资成本。
2.3 NoSql的不足
(1)成熟度方面。NoSQL数据库的实际应用,近几年才逐渐开始使用,并且大部分NoSQL的产品都还处于实验和不断完善的阶段。在产品成熟度和稳定性方面,NoSq数据库远不及发展了二十多年且已被广泛使用的关系数据库。
(2)商业支持方面。大部分NoSQL数据库都是开源项目,没有专门的数据库厂商提供完善的服务,一旦出现故障,只能自己的能力解决,对于一般使用者来说风险比较大。
(3)使用习惯方面。软件开发人员已经习惯了关系数据库的模式,解决问题的思路已经被固定在关系模型上,而NoSQL数据库的开发以放弃了关系模型,要软件开发人员放弃原来的思路,而掌握和使用NoSql数据库是很困难的,导致使用NoSQL数据库的开发人员不可能在短时间内快速增加,这也成为NoSql数据库发展的一个障碍。
3 关系数据库与NoSQL 数据库结合使用
Web2.0时代,关系数据库不能满足对数据库高并发读写、海量数据的高效率存储和访问、高扩展性和高可用性方面的需求,而NoSql数据库可以解决这些问题,从而推动了NoSql数据库应用和发展,那是不是说NoSql数据库就能取代关系数据可了呢?从目前来看,基于NoSql数据库的不足,NoSql数据库还不能完全取代关系数据库,对NoSql数据库的使用,单独使用的情况很少,大多数情况下都是关系数据库和NoSql数据库结合使用。
关系数据库和NoSql数据库结合使用又分为两种模式:
(1)NoSql数据库作为辅助存储。在这种模式下,把所有的数据都存放在关系数据库中,可能被经常频繁读取的数据再存放在NoSql数据库中一份,其目的是提高数据的查询速度,减少关系数据库的并发访问负载。
(2)NoSql数据库作为主存储。在这种模式下,把所有的数据存储在NOSQL数据库中,为了一些特殊业务或功能的需要,在将数据存入NOSQL 的时候,同时存储到关系数据库一份。在数据存储和查询主要是由Nosql数据库完成,少量的数据是从关系数据库读取。
4 结语
目前关系数据库仍是主流数据库,仍被广泛使用,NoSQL数据库还不能完全取代关系数据库,虽然NoSql数据库打破了关系数据库存储的观念,采用创新的存储方式,在快速读写、海量存储,高扩展性上很好满足web2.0时代数据存储的要求,但NoSql数据库也有自己的缺陷。在现阶段的某些情况下,可以将关系型数据库和NoSQL数据库结合使用,相互弥补各自的不足。随着NoSql数据库的不断发展和完善,将来也有可能取代关系数据库成为主流数据库。
参考文献:
[1]卢冬海,何先波.浅析NoSQL数据库 中国西部科技 2011年02期
篇2
关键词:数据库转换;.NET;XML
中图分类号:TP311.13文献标识码:A 文章编号:1009-3044(2008)26-1615-02
Relational Databases Conversion Based on .NET Platform
HU Shu-gang
(Dongying Vocational College, Dongying 257091, China)
Abstract: Combining the advantages of XML technology,.NET platform provides the feasibility of data conversion between relational databases. One example demonstrated the SQL Server database can be converted to an XML file, and then the XML file can be converted to other database. It has realized the data conversion between relational databases.
Key words: database conversion; .NET; XML
1 引言
网络资源中通常包含多种格式和管理系统的关系数据库,为了实现资源的共建共享,需要完成多种数据库之间的数据转换。不同的开发商采用分布式对象技术和各自的思路来实现数据库的互操作,如OMG的CORBA技术、Sun公司的EJB/RMI和微软的.NET技术等。
2 数据库转换思路
.NET是微软公司开发的下一代基于互联网平台的软件开发构想,它提供了一个全新的编程模型。该平台建立在XML和因特网标准协议的基础上,具有平立性和语言独立性,它包含了强大数据库操控能力的。编程模型由一系列的数据库相关类和接口组成,运用技术,应用程序既能访问关系型数据库中的数据,又能访问层次化的XML数据[1]。XML是W3C的通用标记语言SGML的一个简化子集。它是一种存储和传输数据的行业标准格式,普遍贯穿于.NET平台,具有简单性、可扩展性、互操作性和开放性等特点,其本质特点是数据独立,它存储的数据全部是文本,而且使用标记标示,利于网络传输。XML模式提供了很强的数据类型识别功能,可正确处理各种数据类型。XML和.NET的结合为解决数据库互操作问题奠定了基础[2]。通过以上分析,可以在.NET平台上,以XML为中间数据源完成多种关系数据库之间的转换[3]。演示示例用的操作系统是Windows XP Professional,开发平台为Visual Studio 2005,示例用C#语言编写。
2.1 数据库的导入[4]
为了导入SQLServe数据库,先用Connection对象连接数据库,演示示例中用SqlConnection连接了服务器METC\SQLEXPRESS的数据库books.mdf。将数据库读入DataSet。DataSet对象主要存放数据库的DataTable的对象,可以使用DataAdapter建立DataSet对象。尽管DataSet可以存储数据,但仍需要使用DataAdapter对象来创建和初始化各种表,还需要使用Fill()方法来把查询结果移入到DataSet中去,再将数据写入到XML文件。关键源代码如下。
String strTableName = "books";
String strConnection = "server=METC\\SQLEXPRESS;database=books;uid=sa;pwd=;trusted_connection=yes ";
String strSql = "select * from " + strTableName;
SqlConnection objConn = new SqlConnection(strConnection);
SqlDataAdapter objAdapter = new SqlDataAdapter(strSql, objConn);
DataSet objDSet = new DataSet();
objAdapter.Fill(objDSet, "temp");
XmlTextWriter objXmlWriter;
String strtemp1 = Request.PhysicalApplicationPath;
String strpath = strtemp1 + "newxml.xml";
objXmlWriter = new XmlTextWriter(strpath, null);
objXmlWriter.WriteStartDocument();
objXmlWriter.WriteStartElement("xml");
for (int i = 0; i < objDSet.Tables["temp"].Rows.Count; i++)
{
objXmlWriter.WriteStartElement("menu");
for (int j = 0; j < objDSet.Tables["temp"].Columns.Count; j++)
{
objXmlWriter.WriteAttributeString(objDSet.Tables["temp"].Columns[j].ColumnName, objDSet.Tables["temp"].Rows[i][j].ToString());
}
objXmlWriter.WriteEndElement();
}
objXmlWriter.WriteEndElement();
objXmlWriter.WriteEndDocument();
objXmlWriter.Close();
2.2 数据的导出[5-6]
以下演示示例是将以上创建的“newxml.xml”文件转换为Access数据库demo.mdb中的一个表“newxml”。首先建立与目标数据库的连接,也就是通过OLE DB Provider提供的OleDBConnection对象建立与Access数据库demo.mdb的连接。当然,该示例也可通过OLE DB Provider提供的其他连接数据库的对象来连接Oracle、Sybase或DB2这样的数据库以及Excel表格。以下关键源代码部分省略了命名空间的引用、系统自生成代码和对数据库中表是否建立的检查部分。
private void TableCheck()
{ OleDbConnection oledbConn = new OleDbConnection(textBoxOleDb.Text);
Try
{ oledbConn.Open();
DataTable schemaTable = oledbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] {null, null, tableName, "TABLE"});
String sqlCmd = "";
if(schemaTable.Rows.Count < 1)
{sqlCmd = "create table " + tableName + " (";
for(int i = 0;i < dataTableXml.Columns.Count;i++)
{sqlCmd = sqlCmd + dataTableXml.Columns[i].ColumnName.ToString() + " char(100),";}
sqlCmd= sqlCmd .Substring(0,sqlCmd.Length - 1) + ");";
OleDbCommand oledbCmd = new OleDbCommand(sqlCmd,oledbConn);
oledbCmd.ExecuteNonQuery();}
}
catch
{Message.Text = "数据库不存在或无法创建表.";}
finally
{oledbConn.Close();}
}
private void TableInsert()
{ OleDbConnection oledbConn = new OleDbConnection(textBoxOleDb.Text);
try
{ oledbConn.Open();
foreach(DataRow dr in dataTableXml.Rows)
{ string sqlCmd = "insert into [" + tableName + "] (";
for(int i = 0;i < dataTableXml.Columns.Count;i++)
{sqlCmd = sqlCmd + dataTableXml.Columns[i].ColumnName.ToString() + ",";}
sqlCmd= sqlCmd.Substring(0,sqlCmd.Length - 1) + ") values (";
for(int x = 0;x < dataTableXml.Columns.Count;x++)
{sqlCmd = sqlCmd + "'" + dr[x].ToString().Replace("'","''") + "',";}
sqlCmd = sqlCmd.Substring(0,sqlCmd.Length - 1) + ");";
OleDbCommand oledbCmd = new OleDbCommand(sqlCmd,oledbConn);
oledbCmd.ExecuteNonQuery();
}
}
}
3 结束语
通过以上实例,演示了以XML为中间转换数据源,在.NET平台上方便地完成异构关系数据库之间的数据转换和共享。基于.NET平台,充分利用XML技术的优势,来解决异构数据库集成的问题,能够给用户提供一个透明的全局数据库,方便用户的使用,还使得系统在可扩展性、安全性、可维护性等方面有所提高。
参考文献:
[1] Lair R, Lefbvre 开发人员手册[M].张俊,译.北京:电子工业出版社,2002:38-39,169-193,246-488.
[2] Bray T, Paoli J, Sperberg-McQueen C M, et al.XML标准[EB/OL].[2006-08-16]./TR/2006/REC-xml-20060816/.
[3] 石玉晶,牛存良,马新娜.使用XML进行异构数据库间数据传送[J].现代计算机,2003,19(11):79-80.
[4] 吕品,夏红霞,李明.异构数据库互操作平台的开发研究[J].武汉理工大学学报,2003,25(1):35-37.
篇3
关键词:网络设计;关系数据库技术;储存功能;转换功能
一、关系数据库技术的功能
关系数据库技术的主要作用是为网络设计提供辅助功能,在关系数据库中包含各种各样网络设计所需的数据和信息,合理应用关系数据库技术可网络设计提供便利条件。促使网络设计更加完善,比如:在关系数据输入过程中,要先把对数据的赋值进行全面系统的分类处理,然后对这些数据进行整合和重组,促使网络设计能获得更加全面的数据参数和参考信息,促使网络设计效果和服务质量不断提升。
二、网络设计对关系数据库技术的需求分析
在计算机网络技术具有很强的开放性,安全性容易受到挑战,大大增加了管理的难度。为完整网络设计对安全性和性能的需求,就必须切实满足如下要求:高性能。网络设计需要应用到支持线速交换的骨干交换设备,才能确保数据交换的流畅性,在关系数据库中几乎包含网络设计所需的全部信息,合理应用关系数据库技术可为网络设计提供数据支持和理论指导。高质量。网络设计需要满足业务服务质量,应用业务数据通常情况下,都包含多种多样的形式,关键业务数据流在网络流量高峰期内,所需的响应时间会有响应的延长。因此,在具体设计过程中,为最大限度上满足网络设计的服务质量,高性能网络必须具备关系数据库的相关功能。网络的安全性。网络病毒、黑客等是目前影响计算机网络安全的主要因素。因此,网络设计中需要采取有针对性的手段和技术,禁止病毒的传播和黑客的攻击。
三、网络设计中关系数据库技术的具体应用
(一)应用思路
为满足计算机网络对高性能、高质量、高安全性的需求,在具体设计过程中,对网络的控制需要以设备分层结构的总线型为主要设计依据,在满足高性能、高质量、高安全性的基础上,提升网络技术应用范围的灵活性和有效性。关系数据库的基础就是数据的有效性,因此,在应用关系数据库技术时,需要重复结合对象技术,有针对的实现计算机网络对数据集的功能。此外,针对关系数据库存在不合理的产品,可在综合事务处理中进行及时纠正处理,全面体会网络数据系统的开放性和可扩展性。在关系数据库中结构比较清晰,简洁,配置协议的录入也可以轻松实现,并且协议中的数量,对网络涉及的难易程度并不会造成较大影响,大大提升了网络设计的可操作。关系数据库访问对象和网络设计形式之间具有非常密切的联系,因此,在进行计算机网络访问系统设计过程中,要充分结合关系数据库,可通过C语言编程的使用来完成访问工作。
(二)存储功能的实现
在网络数据处理中,XML(可扩展标记语言)是进行数据转换的主要标准,通过描述数据自身的意义来实现数据实体间复杂嵌套的关系连接。因此存储功能的实现主要包括以下两个方面:1.结构映射XML中文件类型定义比较复杂,需要先进行简化处理,生成文件类型定义图,具有的简化流程为:先进行层次嵌套关系的平面优化转换处理,将其转换为非嵌套定义;然后再对多个一元操作进行简化转换;最后把聚集转换为多个子元素,通过整合和归类的作用,构成一个子元素。在具体简化过程中,要完成文件类型定义图像关系模式的映射,通过共享内联法,为文件类型定义提供达先对独立的关系。再通过综合内联法,在父节点形成的关系表中,除直接后继节点之外,内联和入度都超过1的元素节点。2.模型映射XML文档在存储过程中,常用的方法有两种,一种是Edge法,主要过程为把XML文档当做图形结构进行处理,并在相应的关系表中,完成边界存储,而目标节点的区分通过flag来实现。Source主要应用在资源节点存储中,target则主要应用目标节点标识符的储存中。
(三)转换功能的实现
关系数据库中数据转换流程包括以下几个步骤:第一步,定义模式映射通过XSD格式来完成,进而实现目标数据库到XML模式映射的建立,此外,XSD格式和文件类型定义相比,可更好的定义类型,并且在网络设计中也容易实现数据之间的相互交换,可保证数据库中信息和数据的传输都是XML格式。第二步,当模式映射文件形成以后,还需要绑定同步模块,为后期XML的导入提供参考指导。第三步,在目标数据库中和本库中主要通过源数据库的使用,完成相关数据模式的对比,并判断其是否为同步的表结构,为创建异构模式映射文件提供数据支持。第四步,根据同步模式中的相关任务,形成对源数据库,所有的同步数据都可以通过该查询来获取。第五步,把关系数据库中查询到的结果进行同步处理,形成XML格式数据,并写入相应的文件中。
篇4
关键词:大型关系数据库;Oracle;教学改革
随着计算机技术的发展,计算机应用系统的开发越来越多,需要大批掌握大型关系数据库的专业技术人员,培养和造就这样的专业人员已经成为时代的需求,是大学计算机教学中一个十分重要的方面。由于大型数据库在计算机应用系统开发中的重要地位和作用,突出抓好大型关系数据库的教学已经别无选择。同时,大型关系数据库是一门实践性很强的课程,学生在学习完数据库基础理论后,通过大型关系数据库的学习,可以深化数据库理论的理解,提高并培养综合运用知识、解决实际问题的能力。对学生科研能力、工程能力和创新能力的培养具有重要作用。因此,对这门课的教学模式值得进行认真的研究与探讨。
1大型关系数据库Oracle的教学现状
随着社会对大型应用系统开发要求的日益增多,大型数据库开发相关的人才需求也不断增加,比如:Oracle、SQL SERVER和DB2的数据库管理员等,特别是Oracle数据库管理员,在比较大型的网络应用中需求量更大。太原理工大学五年前就在选修课中开设了“大型关系数据库Oracle”。但是大型关系数据库Oracle技术要求高,实践性要求很强,加之学校存在教学管理、资金投入以及师资力量不足等诸多因素的困扰,使得这门课的教学质量很难尽如人意,存在较为严重的不足与缺陷,具体表现如下。
1.1没有合适的教材和合理的大纲
我校计算机系最初采用Oracle公司厂家提供的培训教材,其内容较多,分体系框架、PL/SQL指令、性能调整和备份与恢复等内容[1],而大学教学中该课程的学时有限,教学过程中很难做到面面俱到,要想让学生更进一步深入领会并形成应用能力存在一定困难。后来学校又采用了ORACLE的技术书籍进行教学,但是这些书籍基本侧重点各不相同,导致教学过程中内容不够全面,重点难点不易把握,教学效果也不十分理想,很难适应高校教学的需要,很难满足学生求知的欲望,更主要的是不能够适应社会的需求。
1.2重理论,轻实践
在这么几年的ORACLE教学摸索中,由于学校数据库服务器和网络条件的限制,更多地关注的是理论教学,许多交互性演示的例子也是用PPT展示,学生很少参与甚至不参与具体的操作过程,导致学生很少接触到解决实际问题的环节,给学生的感性认识不强。再加上配套的教学实验环节较少或根本没有,学生很难有动手机会,使理论与实践得不到衔接,影响了学生综合素质的提高。
1.3重技术,轻应用
即使在教学环境和条件具备情况下,有的教学过程也只是满足于让学生掌握知识点,至于这些知识点在实际开发中如何应用,知识点之间如何贯穿联系等相关综合性素质的培养,没有渗透到教学中,导致学生的知识停留在点多线短,缺乏联系的层面,不能形成较为系统综合的结构体系。比如触发器,很多人只知道它的定义,会编写,但是在一个项目中何时用、怎样用等内容,在教学中则很少涉及,使学生感觉所学的知识与实际应用存在较大的差距。
这些问题和不足已经引起一定程度上的关注和重视,我们学校在不断加大对大型关系数据库教学的改进力度的同时,积极组织编写适合高校教学的相关教材,逐步尝试加大教学实验环节的学时数,增加实训、项目模拟等项内容,给学生以更多实践的机会,提高其综合应用所学基础理论知识的意识和实际动手的能力,为造就更多学识丰厚、技术高超、学以致用的高素质人才,为不断满足时代和社会对数据库技术人才的需求,创造了一定的教育教学条件。
2教学模式的改进方法
针对目前存在的问题,进行大型关系数据库课程教学的改革尝试,我们认为应该注重把握好以下几个方面。
2.1精心挑选、把握精髓,选择较好的教材
Oracle数据库的厂家标准培训教材和相关的科技书籍不能拿来就用。首先必须根据大学教学大纲的培养目标要求,从中选取适合学生的内容。我们知道大型关系数据库课程要培养的是能够进行数据库设计、开发和维护的数据库管理员(DBA)[2]。一般情况下,数据库管理人员分为三类:软件开发型DBA,软件维护型DBA和系统设计型DBA。本科教育教学大纲要求培养的是兼顾前一、二类的高素质人才。所以,在教学教材内容的选取上,就要着眼于Oracle数据库的基本编程操作和基本管理能力的培养,而把数据库的系统架构和性能调整等内容放在次要的地位,指导帮助学有余力的学生自学,以丰富其知识积累。在基本编程操作教学过程中,要注重对数据库的数据操纵语句DCL、数据查询语句DQL和过程编程语句PL/SQL的把握,而对数据定义语句DDL等让学生了解即可。在基本管理教学过程中,限于教学课时的制约,可以适当倾向于用户管理、权限管理、基本对象管理等方面内容的学习,而将其他的技术管理内容作为学生的自学内容。这样可以使教学工作做到学有目标、富有实效,学生学习做到入门快、有兴趣、收益大。其次,要本着管用有效、突出重点的原则筛选教学内容,选择计算机应用系统实际开发中常用、多见的知识,组织开展教学,引导学生掌握精华和要害,使学生能够充分利用有限的时间,学到最具实用价值的知识和技术。
2.2把握理论和实验相结合这一教学过程中的关键点
大型关系数据库实践性很强,光讲理论和架构,学生不容易掌握,难以形成能力,所以应该强化实验。这门课的教学共有32个学时,我们现在把相关理论知识压缩在12学时内讲授完毕,用剩余的20个学时,让学生做24个实验,通过这些实验,引导学生掌握数据库对象管理、数据库编程基本操作、数据库安全管理、文件管理、表空间管理、备份管理、状态监测等方面的操作技能[3]。使学生能够兼具理论性和动手实践能力,有效地了解和掌握Oracle数据库系统操作和管理。
2.3注重知识点在工程开发实例中的综合运用
掌握了数据库的基本理论和基本操作技能后,如何在实践开发中应用所学知识,就应当成为我们教师和学生共同关注的问题[4]。因此,有必要在大型关系数据库Oracle的教学过程中,引入Oracle工程开发。在我校的ORACLE课程的内容中,我们以一个学生成绩管理系统为例,从系统的需求分析开始,介绍实体关系设计、系统逻辑结构设计、系统物理结构设计、数据库实施、系统存储过程设计、触发器设计、数据导出和初始化设计等,在全过程实例系统开发中,让学生体会数据库技术在项目开发中的应用,同时掌握各个知识点在实践中的综合运用。这部分作为学生了解的内容,课时为4学时左右,建议在有条件的学校,可以类设计一个大的课程设计题,要求学生模拟项目开发中数据库开发的全过程。我校教学实践证明,这样做的效果非常好,不但巩固了课堂教学知识,同时促使学生发挥主动性,掌握很多其他数据库课堂上没有来得及涉及的内容。
3总结与展望
设立大型关系数据库选修课的目的,就是要培养适应社会需求的具有实践能力和创新精神的数据库管理技术人才。在现有的教学资源条件下,如何有效地进行教学改革、完成教学目标、培养合格人才,已经成为该项课程教学的迫切任务。
对于教学内容和教学方法这两个教学中的关键点,我们提出如下的改进思路:精选教学内容、加强实验环节和注重工程实践。
大型关系数据库的教学对教师和学生提出了更高的要求,需要在教学实践中勤于探索,即时总结,不断改进,以明确的培养目标来选择教学内容,以具体的实际应用为教学导向,以真实的系统开发设计实践为重点[5],就能够在教学实践中取得好的教学效果,提高学生的理论与实践水平,培养学生的专业素养。只要我们真诚地为学生着想,为社会服务,就一定能够使大学教育教学工作受到学生的欢迎,得到社会的承认,不断提高我们的办学水平,为国家为社会培养更多更好的有用人才,服务社会主义和谐社会建设,推动中华民族的伟大复兴。
参考文献:
[1] 安志远. 数据库系统原理及应用实训教程[M]. 北京:中国水利水电出版社,2004.
[2] 罗琼. 数据库应用型课程的设置与实践[J]. 科技信息, 2009(15):36-37.
[3] 员亚利,高春玲,陈红梅. 计算机专业“大型数据库”课程教学研究与实践[J]. 计算机教育, 2008(12):3-4.
[4] 祝朝映. 任务驱动在计算机教学中的探索与实践[J]. 教职论坛,2003,(10):56-57.
[5] 向琳,左德承,罗丹彦,等. “计算机设计与实践”课程创新性实践教学探索[J]. 计算机教育,2007(3):16-18.
The Improvement of the Teaching Pattern of Large-scale Relational Database Oracle
QIANG Yan
(College of Computer and Software, Taiyuan University of Technology, Taiyuan 030024, China)
篇5
【关键词】计算机;网络设计;关系数据库;研究分析
引言
计算机网络设计中可以运用的关系数据库的设备以及技术是非常多样化的,常见的数据库技术包括:层次模型数据库技术、关系数据库技术、网状模型数据库技术以及层次模型数据库技术。在所有常见的数据库技术中,关系数据库是最为科学的,在现实的运用中的推广与使用最为广泛,适合于现代化生活中比较复杂的数据管理。关系数据库的管理系统非常容易获得,已经成为了人们首选的数据库技术。在计算机网络设计中得到了大范围的使用。随着信息时代的到来,给计算机网络技术的发展提供了全新的发展机遇,近年来,我国对计算机网络技术的发展给予了高度重视,投入了大量的人力、物力。使计算机网络技术得到充分发展。由于我国计算机技术起步比较晚,对计算机技术的应用还不够成熟,所以一定要采取并且吸收国内外先进技术,促进计算机网络设计的成熟与发展。
1关系数据库概述
关系数据库是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的相关数据。在现实世界中,各种实体以及实体之间的联系都可以通过关系模型来进行表示。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。关系数据库技术是对传统的数据库技术的传承与发展。针对关系数据库技术的研发是以原有的数据库技术作为基础的,只是运用了更加先进的辅助技术手段。在计算机网络设计的过程中运用关系数据库技术可以建立起比较系统化的关系数据库模型。关系型数据库在计算机网络技术设计中的应用优势主要是数据存储功能强大和数据运用便捷。关系数据库在计算机网络设计中赢得运用主要分为以下几个过程:首先,根据实际情况,利用原有的数据库技术建立起模型。其次针对表格中的相关数据进行分析与处理,形成简单的关系数据库。最后,通过一系列的处理,原本简单的表格就会显现出固定的特征,可以进行数据存储与查询。如果用户想要使用相关的数据可以根据数据特征进行选择,将符合要求的数据调用出来。在整个使用过程中,表格只是一个载体,承载相关的数据。关系数据库技术在计算机网络技术设计中的应用可以节约很多中间环节。从而提高数据的利用率。
2在计算机网络设计中关系数据库的运用原理
关系数据库在所有数据库中属于数学模型最完善,最有利于管理复杂数据的数据库模型,另外,关系数据库比较容易构建管理系统,编辑工具比较完整,正是由于这些特点与优势,在计算机网络设计中得到了广泛应用。由于计算机网络设计中对数据库技术的要求比较高,需要数据的获得简单便捷,并且可以对复杂的数据有效管理。关系数据库技术通过C语言的运用充分实现了以上要求,得到人们亲睐。关系数据库的设计原理是在计算机的数据库软件的系统结构中有两个主要的数据访问系统,但两个系统不是联合面向用户的,而是独立的面对用户,当用户访问开放性的数据链接时,数据库的管理系统可以通过输入语言程序来进行访问。当数据体系结构由多个数据访问对象同时工作时,具备良好的协同性,对关系数据库技术的操作进行全面优化。另外,关系数据库的编程工具非常完整,在计算机网络设计中大多使用C语言进行编程,可以最大限度的满足设计的相关需求。
3关系数据库在计算机网络设计中的运用优势
3.1数据存储功能强大
随着科学技术的快速发展,促进了网络拓扑系统的优化,在计算机网络设计中所涉及到的数据信息在不断的增加,传统的数据库信息主要由人工来进行录用,信息的存储量有限,在数据库操作运作的过程中经常出现失误。现代化的关系数据库技术的应用凸显出非常明显的优势。关系数据库系统中存储着大量的数据信息,可以无限容量的输入或者录入数据信息,在计算机网络的设计中,可以通过数据库的的辅助功能对数据信息进行调度,推复杂的信息进行处理。关系数据库的数据系统操作起来非常便捷,出现失误的概率非常小,操作准确便捷,目前在各种数据库中,关系数据库的运用最为广泛,比较适合现代化复杂的数据管理。
3.2数据灵活转换
大多的计算机网络设计中,不可避免的会涉及到社会生产的多个方面,要求计算机网络一定要实现不同数据之间的转换,促进计算机网络设计软件的正常运行。所以对不同数据之间的转换工作已经成为了计算机网络技术发展的重点。关系数据库在计算机网络设计中的应用具有简便的数据转换功能,通过关系数据库可以将计算机中大部分的软件按照不同的需求进行转换,转换的功能非常高效。关于软件的转换主要是关系数据库将计算机网络设计中的计算机软件与网络管理软件进行相互链接,从而实现了计算机中大部分软件之间自由转换。一旦数据转换的问题得到解决,那么计算机网络设计在日常的运行中就会起到良好的效果。
3.3辅助设计功能
关系数据库在计算机网络设计中主要起到辅助设计的功能,计算机网络设计的资源来源于数据库,数据库的信息量非常大,而且具有特定的描述特征。把相关的数据进行组合,得到相应的网络参数,便于计算机网络数据的输入,并且解决相关的设计问题。在计算机网络设计中,光纤是比不可少的应用,网络数据库的存在使得光纤设计过程中的相关设备的数据可以相互融合,加快传播速度。关系数据库技术在计算机网络设计中的应用能够及时的发现数据输入是的错误并且及时解决。
3.4概念单一
关系数据库是建立在严格的数学概念基础之上,概念比较单一,实体与实体之间都存在必然的联系,数据结构简单清晰、数据的存取路径对用户透明,所以关系数据库技术具有更高的数据独立性和安全保密性。
4结束语
关系数据库可以对海量信息进行存储、利用以及转化,在计算机网络设计中的运用可以使操作更加准确便捷。随着科学技术的快速发展与进步,对计算机网络设计是一个巨大挑战,对计算机网络的设计需要高度重视,抓住当前的发展机遇,逐渐的将关系数据库技术运用到计算机网络设计中,使计算机网络设计更加优化,促进我国计算机技术与信息技术的稳定发展。
参考文献
[1]李远英.计算机网络设计中关系数据库技术的应用探析[J].通讯世界,2016-11-25.
[2]徐闯.计算机网络设计中关系数据库技术的应用[J].信息技术与信息化,2016-03-25.
[3]朱晓宁.关系数据库技术在计算机网络设计中的运用[J].智能城市,2016-04-25.
篇6
[关键词]关系数据库SQL查询对策
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1210080-01
在各类大型应用软件的数据库中,都存在大量的数据信息和记录,经常要对它们进行各种数据操作。SQL(Structrued Query Language)作为结构化查询语言,是大型计算机操作关系数据库的标准查询语言,同时也广泛地应用到小型计算机的数据库管理系统中。它是一种高度非过程化的语言,即只要用户按其语法规则写出符合操作要求的语句,而并不需要告诉系统应如何执行SQL语句,就可得到所要求的结果。随着数据库技术的广泛应用,在数据库程序的开发过程中,大量的工作是要进行数据查询和检索处理。本文从SQL查询语句执行的过程入手,对其执行效率进行分析,并给出参考性建议和优化策略。
一、SQL语句执行过程解析
在平时书写SQL查询语句时,虽然每个人的写法不尽相同,而且有时个别子句顺序并不影响操作结果,但是在各种数据库管理系统中,标准的SQL的解析顺序为:
1.FROM子句,组装来自不同数据源的数据;
2.WHERE子句,基于指定的条件对记录进行筛选;
3.GROUP BY子句,将数据划分为多个分组;
4.使用聚合函数进行计算;
5.使用HAVING子句筛选分组;
6.计算所有的表达式;
7.使用ORDER BY对结果集进行排序。
通过以上SQL语句的解析过程,我们可以对SQL查询语句进行优化处理。SQL查询语句的核心结构是SELECT…FROM…WHERE,了解了这个基本结构,我们可以从以下几个方面对其进行优化处理。
二、效率分析及优化对策
(一)从From子句入手
From子句后面接单表或者多表,通常情况下接受来自不同数据源的多表。如果是单表,一般情况下对表进行快速全表扫描。如果是多表的情况,查询设计优化器将采取自右向左的顺序依次读取数据表。如以下语句:“From table1,table2,table3”,优化器将优先读取table3表,然后是table2表,最后是table1表。在进行From子句的多表连接时,就需要结合条件子句WHERE进行分析,需要遵循下面的规则:1. 当WHERE后面接的条件能够一次性过滤某个表的大量记录时,应优先处理该表。2. 如果WHERE后面接的条件不能过滤掉大量记录时应该优先考虑处理记录数最少或者索引关键值最少的表。
(二)从条件子句WHERE入手
WHERE子句后面通常接过滤条件,对表的记录进行筛选,筛选出符合条件的记录。如果SELECT查询语句没有WHERE子句,则无须对表记录进行过滤。若后面接单个表,则通常顺序扫描全表。若后接多表或者大量记录表时,则可以考虑用索引来减少查询的时间。所以在查询前可对各个表建立比较的索引。对WHERE子句中出现的条件,可以依据以下原则首先来驱动查询。
(1)建立索引字段的列比没有建立索引的要快;(2)主索引要比普通索引快;(3)单索引要比符合索引快;(4)有条件约束要比没有条件约束要快。
此外,WHERE子句通常采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。根据以上原则,我们可以判断出以下四个语句中哪个选项语句效率最高。
Select * Frommobilewhere (mobileno='13775637677') andbegINtime>
{^2009-1-308:20:11} andbegintime
B) SELECT*Frommobilewhere(mobileno='13775637677' )andbegINtime
{^2009-1-30 8:20:11} andbegintime>{^2009-1-30 8:20:11}
C) SELECT*Frommobilewherebegintime
{^2009-1-308:20:11}and(mobileno='13775637677' )
很显然,综合以上原则C选项效率最高。
(三)从GROUP BY和HAVING子句入手
在SELECT语句中,GROUP BY语句的作用是对记录进行分组(划分成较小的组),使用聚合函数返回每一个组的汇总信息,而HAVING子句限制返回的结果集。在一个SQL语句中可以有WHERE子句和HAVING子句。HAVING与WHERE子句类似,均用于设置限定条件。WHERE子句的作用是在对查询结果进行分组前,将不符合WHERE条件的记录过滤掉,而HAVING子句的作用是筛选满足条件的组,即在分组之后过滤数据,但它不能单独使用,只能配合GROUP By语句使用,该条件中经常包含聚组函数,使用HAVING条件显示特定的组,也可以使用多个分组标准进行分组。虽然HAVING子句可以起到过滤的作用,但是要尽量避免使用HAVING子句,HAVING只会在检索出所有记录之后才对结果集进行过滤。这个处理需要排序,总计等操作。如果能通过WHERE子句限制记录的数目,而且能尽早地把不满足条件的记录过滤掉,那就能减少这方面的开销。
(四)从谓词等方面入手
在SELECT语句中,由于实际需要,查询语句会经常出现谓词。常用的谓词有EXIST,NOT EXSIT,IN,NOT IN等,巧用谓词也会提高SQL语句的执行效率,可参考以下原则编写SQL语句。
1.Where子句中尽量不要使用IS NULL或IS NOT NULL的语句,因为它们不会使用索引。
2.WHERE子句尽量不要将通配符(%)放在搜寻词首出现,通配符(%)在搜寻词首出现不会使用索引。
3.用EXISTS代替IN。在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接。在这种情况下,使用EXISTS(或NOT EXISTS)通常将提高查询的效率。
4.用表连接代替EXISTS。通常来说,采用表连接的方式比EXISTS更有效率。
5.用EXISTS代替DISTINCT。当提交一个包含一对多表信息(比如班级表和学生表)的查询时,避免在SELECT子句中使用DISTINCT。一般可以考虑用EXIST替换。
6.WHERE子句尽量少使用NOT或是,应该成OR来实行,使用OR时应该把结果集小的条件放在前面。
7.UNION改用UNION ALL,UNION要对合并的结果进行排序,UNION ALL不排序。
8.ORDER BY子句中尽量不要使用非索引列。
三、结语
通过对SQL查询语句执行过程的分析,可以从以上几个方面对其进行优化改进,从而提高了数据库查询和检索的效率。当然,具体的查询语句还要根据具体需要,并结合具体的数据库系统而定。只有多总结多积累才能写出高质量高效率的查询语句,当然这只是提高数据检索的一个方面,在其他方面的设计也要进行优化,如对表建立必要的索引,减少表之间的连接,或尽量在索引属性列上建立连接等。总之,通过以上几个方面的综合优化,一定会使数据库查询与检索效率有很大的提高。
参考文献:
[1]王振辉、吴广茂,SQL查询语句优化研究[J].计算机应用,2005,25(12).
[2]徐凤梅,关系数据库中SQL查询语言的优化策略[J].广西轻工业,2009,126(5).
[3]邓文艳,基于关系数据库的查询优化技术[J].太原科技,2007(12).
[4]杨克昌,Visual FoxPro程序设计教程[M].长沙:湖南科学技术出版社,2004.
[5]李莹、代勤,关系代数运算与SQL查询的对应关系[J].内蒙古农业大学学报(自然科学版),2003,24(3).
篇7
数据库技术发展至今已有40多年的历史,它作为数据管理的有效手段,大大促进了计算机应用技术的发展。从早期的文件系统到层次数据库和网状数据库,从关系数据库到面向对象数据库,以及面向不同应用的时态数据库、演绎数据库等等,均向人们展示了数据库技术的广阔应用前景[2]。关系数据库,顾名思义是建立在关系数据库模型基础上的数据库,借助于集合代数、离散数学等概念和方法来处理数据库中的数据。关系数据库是一个被组织成一组拥有正规描述的表格,该形式表格作用的实质是装载着数据项的特殊收集体。这些表格中的数据以许多不同的方式被存取或重新召集而不需要重新组织数据库表格[3]。除了相对容易创建和存取之外,关系数据库具有容易扩充的优势。在最初数据库创造之后,一个新的数据种类能被添加而不需要修改所有的现有应用软件。目前主流的关系数据库有Oracle、SQL、Aceess、DB2、MySQL、SQLServer、Sybase等等[4]。根据本校办学规模和处理信息量,采用ACEESS作为本系统数据库的管理工具。
2数据库模型建立
2.1应用需求抽象
根据学员信息管理的具体任务,按照管理功能进行业务划分和模块化设计。按照简单性、独立性及完整性原则,学员信息管理系统后台可以分为以下几个子系统:即学员档案管理子系统、课程管理子系统、成绩管理子系统、中队管理子系统、管理统计子系统、系统管理子系统、系统维护子系统。(1)学员档案管理子系统学员档案管理主要有学员管理、批量学员添加、按中队批量学员添加等功能。(2)课程管理子系统课程管理子系统主要有课程管理、批量课程添加、任课管理、任课添加等功能。(3)成绩管理子系统成绩管理子系统完成成绩管理、批量成绩添加、按中队成绩添加功能。(4)中队管理子系统中队管理子系统完成中队管理、中队批量添加两个子模块功能。(5)管理统计子系统管理统计子系统显示学校基本信息,包括年级数、中队数、学员数、教师数、课程数、用户浏览统计等相关信息,还可完成学员统计、排名统计功能。(6)系统管理子系统系统管理子系统包括修改管理员密码、帐号管理、干部管理、年级管理、学期管理功能。(7)系统维护子系统系统维护子系统主要完成系统的相关设置功能,包括站点名称,站点LOGO设置,网站主体表格属性设置,年级变迁(这里主要是对年级进行批量升级操作,也可以在中队管理下单个进行升级)。
2.2数据库表关系建立
关系数据库模式的建立,离不开数据表之间关系的建立,只有建立表之间的关系,整个数据库才能形成一个系统,提供强大的信息存储、查询、和处理功能[5]。对比应用需求说明和现实学校各部门的业务流程,设计数据库表之间的关系如图1所示。(1)学员和评语之间存在一对多的对应关系,即一个学员可以有多条来自不同老师的评语;学员和家长存在一对多的对应关系,即一个学员可以对应一个家长,方便家长对学员相关信息进行查询。学员和平时成绩存在一对多的对应关系,即一个学员可以有多种平时成绩;同时,学员还和中队有多对一对应关系,即一个中队可以有多个学员。(2)中队和成绩有一对多的对应关系,即一个中队可以有多条成绩;中队和年级有一对一的对应关系,即一个中队属于一个年级。中队和大队有一对一的对应关系,即一个中队属于一个大队,中队和任课信息有一对多的对应关系即一个中队有多条任课关系与之对应。大队和中队有一对多的对应关系,即一个大队对应多个中队。(3)任课信息表中的教师ID和教师信息表中ID存在一一对应关系。教师表中ID和任课教师信息表中的ID存在一对多的关系。即一个教师可以有多个任课关系。任课教师表中的课程ID和课程表中的课程ID存在一一对应关系。任课信息表中的学期和学期ID存在一一对应关系。即一个任课信息对应一个学期。成绩表中的课程ID和课程信息表中的ID存在一一对应关系,成绩表中的学期ID和学期表中的学期ID存在一一对应关系。
2.3数据库模式设计
2.3.1关系数据库设计中存在问题
(1)数据冗余:在一个数据集合中重复的数据称为数据冗余。例如在设计时没有把教师信息表Teacher和任课信息表tea_sub分开,那么每存储一条任课信息tea_sub(tsid、ts_tea_user、ts_sub_id、ts_ter_id、ts_cla_id)教师表中的其他信息也要重复存储[4]。(2)更新异常:更新异常分为插入异常和删除异常。插入异常:比如学员信息表student,如果不知道学号,那么插入再多的其他信息都是没有意义的。例如一个刚入职的教师理所当然要在任课信息表中有其相关数据,但此时他还没有任课,即他对应的元组<ts_sub_id、ts_ter_id、ts_cla_id>是不完全的,只有<tsid、ts_tea_user、ts_sub_id>而没有<ts_ter_id、ts_cla_id>,不能将他的信息放到数据库中。因此无法注册该教师的任课信息,这与实际需求不符。这样的操作是不合理的,将这种现象称为插入异常。删除异常:例如在没分解的教师信息表中的任课信息中,相应的任课关系解除。那么删除整条记录,该教师的其他信息也被删除,在查询的时候无法查阅该教师相关信息,这也与实际需求相悖,将这种现象称为删除异常。数据库的性能优化包括硬件优化,查询优化和设计优化三个方面。本文着重介绍设计优化即模式优化,模式优化重点解决数据冗余和更新异常问题。
2.3.2数据库模式的规范化
在对数据库进行模式设计时,对关系的分解并不是盲目的,分解的目的在于减少关系模式的规模,避免不必要的存储及操作的冗余和数据更新异常。为了清除异常,需要对关系模式进行合理地分解。为此,人们设计数据库设计的规范化理论,以便能够设计出异常尽可能少的数据库模式[4]。据参考文献[4]所述,数据库模式分为6级,具体的定义见参考书目。分别是1NF:是关系数据库对模式的基本要求,即要求属性的值必须是原子属性不可再分。2NF:消除了数据库模式中非主属性对码的部分依赖。3NF:消除了数据库模式中非主属性对码的传递依赖。BCNF:消除了数据库模式中一切属性对码的传递依赖。4NF:消除了数据库模式中非平凡的和非码所隐患的多值依赖。5NF:消除了数据库模式中非平凡的和非码所隐患的连接依赖[4]。范式的级别由小到大分别是有1NF到5NF。范式的级别越低,冗余与更新异常就越容易产生[6]。(1)满足1NF的学员信息表分解,在学员信息表中每一个属性都该是原子属性,故对部职别进行分解。由消防部队的编制特点,每个省、自治区、直辖市均有相应的消防总队;每个地级市、自治州、区都有相应的消防支队。学校学员来自五湖四海,故对学员信息表中的部职别属性进行分解。由于有的学员来自总队和支队机关,故把部职别分为总队和部职别两个属性,即<yuanbubie>分解为<yuanbu-bie、province>,province为province表中的省份ID。总队表设计为province(pid、pname)。在学员信息表中只要存储省份ID就行。不用再存储省份名。最长总队名新疆维吾尔族自治区消防总队所占字节为26Btye,所占ID为2Byte。按新疆总队有学员121名计算,模式分解前学员原部别信息中存储总队信息需用26Btye×121=3164Byte;而模式分解后存储ID信息占用2Btye×121=242Byte。(2)满足BCNF的教师信息表分解,在2.4.1节数据库设计存在问题中提到数据冗余和删除异常,在没分解的教师信息表的任课信息中,相应的任课关系解除。那么删除整条记录,该教师的其他信息也被删除,在查询的时候无法查阅该教师相关信息,这也与实际需求相悖。要解决删除异常,即把教师信息表Teacher分解为教师基本信息表teacher和任课教师信息表tea_sub(tsid、ts_tea_user、ts_sub_id、ts_ter_id、ts_cla_id)。这样的分解既解决了数据冗余的问题,也解决了删除异常的问题。分解后Teacher和tea_sub关系模式都是1NF,且在其中不存在这样的属性A,A传递依赖与Teacher和tea_sub的码、由于关系模式Teacher={R1,R2…,Rn}和tea_sub={R1,R2…,Rn}中Ri(i=1,2,…,n)为BC范式,则关系模式Teacher和tea_sub也满足BCNF。数据库的规范化设计还有很多,根据系统应用需求的变更和数据规模的递增,需要设计相应的数据模式来优化昆明消防指挥学校学员综合信息管理系统的数据库性能,使之满足应用需求,更好地为学校教师、学员和管理人员提供便捷的信息化服务。
3结束语
篇8
关键词:数字图书馆;信息组织;数据库技术
中图分类号:G251.5 文献标识码:A文章编号:1007-9599 (2011) 16-0000-02
The Database Technology of Digital Library Information Organization
Liu Fen
(Huizhou Industrial& Commercial Senior Vocational School,Huizhou516008,China)
Abstract:Digital library is no longer a new concept,has undergone a considerable period of development.Within this period,construction of digital libraries in many areas has been greatly improved,which is a concept and ideas,convenient service is one of the important elements.In this paper,the history of digital library development started elaborated,followed by combining the characteristics of digital libraries,emphasizing the application of database technology on library organization and management of information need,and finally focused on the data warehouse,relational database,multimedia database,object-oriented database technology,database technology and other unstructured information organization in digital library applications.
Keywords:Digital library;Information organization;Database technology
一、前言
互联网技术的发展给数字图书馆的发展带来了很多的机遇,信息的类型以及信息的传播方式也随之发生了巨大改变。数字图书馆旨在建立一种大规模的并且可以拓展的海量的数字化信息资源库,其能把无序的、复杂的资源变得更加有序化、更加有益于使用。与此同时,在现阶段,我们更应该在结合互联网技术的前提之下,把封闭的和精致的信息资源转变成可以超越时间限制以及空间限制的信息资源,以向用户提供更加高效及更加便捷的数字化信息为最终目的。
数字图书馆的发展虽然已经经历了不是很长时期,但是相对于传统的图书馆而言,数字图书馆仍然是一种比较先进和现代化的方式。这项技术通常与先进的网络信息技术紧密连接,这是实现资源共享的主要方式之一。数字图书馆的信息资源需要进行组织和描述,以给使用者带来方便,所以应该探索一种适合数字图书馆信息组织的技术。经实践证明,数据库技术在数字图书馆信息组织方面便具有很大的潜力和优势。现阶段,数据库在我国数字图书馆的信息处理中已经得到较为广发的应用,大致上可以分为两大种类,第一类是应用数据库管理系统的软件进行了二次开发为用户提供查询服务。另外一种是,商业化的数据库。这一些数据库更新换代是相对迅速的、高效的。
数字图书馆中的信息资源不仅极为复杂,而且信息量又非常大,既有影像资料也有电子文本等各种格式,还有软件等其他形式,数字图书馆便是对这一些数字对象的集中分析、处理、整合以及输出整理等。数字图书馆信息组织的数据库技术的现状数字图书馆的信息组织的对象是数字信息资源,主要方式是对其进行选择、描述和整合等一系列的内容,以使其变得更加有序化,形成一个有机的整体,使资源的利用更加的方便和高效。数字图书馆信息组织是至关重要的,因为这直接关系到数据存储的质量以及所提供的信息服务的好坏,在总体上会直接影响到系统运行的性能。
数字图书馆作为一个十分庞大的系统,其具有分布广泛、规模大、信息容量大等特点,必须需要组织及其明确的数据库技术,只有这样才能够最大程度上保证用户进行访问的质量与速度,以获得自己所需要的最终信息,数据库的建立是在一定的计算机和网络技术基础之上的,这是数字图书馆信息系系统所具有的基本特征。从其本质上特征来讲,便是建立在计算机网络技术基础之上的数据库信息系统。数据库技术是数字图书馆的用户获取信息,以及对信息进行存储、组织和检索、分析统计等的技术基础。所以数据库的技术应该引起我们的重视和关注。数字图书馆的建立以及信息资源的开发和利用甚至是信息资源的配置和传播,都从很大程度上依赖于数据库技术。从宏观上来讲,数据库技术主要包括数据仓库技术、多媒体数据库技术、关系数据库技术等。
二、数字图书馆的信息组织
数字图书馆组织的信息对象除了传统的文字信息以外还有图像、声音以及视频等其他类型,这些信息在数字图书馆变化成为一些数字化层面的信息,并且在一定程度上与原有的载体分割开来,总体上来看,数字图书馆信息组织的对象主要是跨媒体的信息对象。信息数字化的过程是一个复杂的过程,信息可能会分布在不同的数据服务器上,而不仅仅是传统的储存在同一个地方。数字化图书馆还要面临的就是信息总量的不断增长,因为伴随着信息的处理以及信息的传播等各方面技术的快速发展,信息总量的增加是必然趋势。在这些前提之下,数字图书馆的信息处理方式会是一种跨越时间和空间限制的方式,还具有全球化的特征。
图书馆的信息组织必须在一定的原则基础之上完成,这些原则主要包括多维揭示原则、非线性原则、以及选择性原则、标准性原则和完备性原则等。
三、数据库技术在数字图书馆信息组织中的应用
(一)数据仓库技术在数字图书馆信息组织中的应用
数字图书馆提供的不仅仅是一次性的信息,还要提供一些经过深层次开发的信息,不仅要让读者感受到信息的导航和信息的提供这些简单的和传统的内容,还要提供信息的分析和信息的决策支持等更深层次的服务,这些要求和发展趋势就使得数据仓库技术越来越成为图书馆信息组织的必不可少的数据库形式。数据仓库是很多数据的集合。这些数据主要用于支持管理的决策过程,并且具有集成、不可更新以及随时间不断变化等特点。实际上,数据仓库是一个过程,是一个业务处理系统获得数据,最后为用户提供从数据中获取信息和知识的各种方法和手段。
数据仓库具有其他类型的数据库所不具有的一些特点,第一,数据仓库技术具有存储信息量大的特点,一般会比其他的数据库大。第二,数据仓库还具有集成性的特点。在数据仓库中,数据的来源是很复杂的,信息源不同,所以必须对原始的数据进行一定的处理时候才能够进行统一和整合,以适合数据仓库的要求。第三,数据具有很强的稳定性能。数据仓库具有一个明显的优势,那便是可以对很长一段时间以内的历史数据进行保留,这样就避免了频繁的数据的处理和更新。
数字图书馆的筹建和发展过程中一定会产生大量的信息数据,这是构建数据仓库的基础。作为一个具有整体性的技术体系,数据仓库经历了初步发展之后已经形成一定的规模,已经有足够的技术基础和普及的条件。同时,数据仓库具有另外一个优势,它不仅仅是在数字图书馆中得到了一定应用,而且在其他一些相关领域具有实际应用的先例,这些便为数据仓库在数字图书馆中的应用奠定了相当深厚的技术基础和值得借鉴的成功经验。
只有图书管理过程的科学和先进才能够保证图书管理的科学和规范,才能够为读者节约时间、提高效率和获取更多的信息。所以图书馆的管理更应该向着科学化的方向发展和改进。数据仓库技术的出现和发展很大程度上改善了原有的状况,从很大程度上避免了主观经验的盲目性,形成的决策相对的具有理性,更加适应时代的需求和读者的需求。这种数据库的集中优点便是,第一,把图书馆内部的数据与外部的信息进行了有机统一和集中管理,这样的信息更加全面,也防止了发生决策失误的风险。第二,这种数据库在处理集成数据是具有可靠性和可行性。采用这种数据库可以对集成的数据进行分析比较。
(二)关系数据库在信息处理上的应用
关系数据库在关系模型提出的基础上已经得到了长足发展,所以在结构化的数据处理方面具有很大的优势,在处理文本数据、管理事务等方面的优势也是显而易见的,但是此类数据库也有缺点,不能够满足一些高层次的要求,所以就出现了一些新的数据库扩充功能。同时,在多媒体的信息处理方面关系数据库比较适合于处理文本,但是不太适合处理多媒体的信息。实际上在数字图书馆中的很大一部分信息的处理还是依赖于关系数据库,例如各种统计数据、数值和事实数据库等。
(三)多媒体数据库在数字图书馆信息处理中的应用
随着数字图书馆的发展,出现了很多图像、声音以及视频等其他格式的信息,这些信息的传播和存储是必然离不开多媒体数据库的。
(四)面向对象的数据库技术在数字图书馆信息组织中的应用
面向对象的方法其实是一种程序语言,广泛存在于计算机行业的各个领域,不仅仅是一个面向对象的系统,还是一个数据库系统。用一种与客观世界比较直接的映射方式很好地实现了抽象、封装、复杂性控制、信息隐蔽等机制。但是,这种数据库的原理、适用范围以及方法等很多方面的内容并没有得到专业人士的一致认可,还存在一些分歧,并且这种数据库的工具、环境和对面向对象方法的支持程度都还有待进一步的完善。
(五)非结构化数据库技术在数字图书馆信息处理中的应用
文本、图像和声音等很多形式的信息是无法用数字或者统一的结构来表示的。非结构化数据库变主要是用来处理这一种类型的数据。这种数据库的独特优势便是支持重复字段、子字段以及变长字段,突破了关系数据库结构定义不易改变和数据定长的限制。非结构化的数据库在处理多媒体信息上是很轻松的,因为其记录是不定长的。
另外,数字图书馆的信息组织常使用到的数据库形式还有其他一些形式,这些数据库是维持数字图书馆信息安全以及传播的技术基础,数据库之间取长补短,充分发挥优势,可以更好地为数字图书馆的建设和发展做出贡献。
参考文献:
[1]汪鑫.数字图书馆建设中的数据仓库技术应用研究[J].科技创新导报,2010,29
篇9
关键词:数据库营销;数据仓库;数据挖掘;关联分析;联机分析处理
中图分类号:TP391文献标识符:A文章编号:1009-3044(2010)13-3312-02
Discussion about Realizing Database Marketing System's Key Technology
CHEN Ping, WANG Li-gang
(Nanjing College of Information Technology, Nanjing 210046, China)
Abstract: Data marketing that use collected data forecast customers future purchasing. First creating a enterprises database, finding valuable hidden information in the database or data warehouse, then analyzing data in the database by using data mining technology, finally summarizing the valuable information into a structural model, that are key technology of realizing database marketing system successfully. It improves efficiency and profit of enterprise but lower the cost.
Key words: database marketing; data warehouse; data mining; relational analysis; OLAP
1 概述
IT的发展提供了崭新的营销渠道和营销手段,如网上营销和数据库营销。网上营销只是提供一种新的信息沟通工具,而数据库营销则提供了一种全新的营销模式,因为它可使营销者更迅速、更准确低抓着消费者的需要,甚至能使营销者比消费者本人更了解其需要。所以在最近几年内,数据库营销的理念在行业内不断被提到,而且其技术也迅速得到发展。下面笔者就简单地谈一下实现数据库营销系统的关键技术。
2 数据库营销
2.1 数据库营销的概念
数据库营销(Database Marketing)将营销数据建立成数据库,并通过对数据库内数据的分析,进行市场营销活动[1]。
具体来说,就是将客户的销售历史数据等营销数据建立数据库,并根据对数据库内数据的分析,确认目标客户,迅速准确地获知其需求,了解其特征,传达产品和服务的相关信息,以便更有效地进行市场营销活动,维系顾客和提高销售额。其旨在建立互信共赢的客户关系,数据库服务过程本身即可视为数据库营销过程。数据库的数据必须是动态的,可扩充的和及时更新的,涵盖现有客户和潜在客户。
2.2 数据库营销的特点
与传统的数据库营销相比,网络数据库营销的独特价值主要表现在三个方面[2]:
1)动态更新
数据库营销具有数据量大、易于修改、能实现动态数据更新、便于远程维护等多种优点,还可以实现顾客资料的自我更新。网络数据库的动态更新功能不仅节约了大量的时间和资金,同时也更加精确地实现了营销定位,从而有助于改善营销效果,这是其他的营销技术所不能比的。
2)顾客主动加入
仅靠现有顾客资料的数据库是不够的,除了对现有资料不断更新维护之外,还需要不断挖掘潜在顾客的资料,这项工作也是数据库营销策略的重要内容。在没有借助互联网的情况下,寻找潜在顾客的信息一般比较难,要花很大代价。而在网络营销环境中,有超过50%的顾客愿意提供自己的部分个人信息,这样就便于营销工作的进行。顾客在登记的时候,一般是将信息填写在一些表格中,例如,我们注册会员用户时填写的信息。但是,营销人员在对顾客进行登记时需要从他们的实际利益出发,合理地利用顾客的主动性来丰富和扩大顾客数据库。在某种意义上,邮件列表可以认为是一种简单的数据库营销,数据库营销同样要遵循自愿加入、自由退出的原则。
3)改善顾客关系
优秀的顾客数据库是网络数据库营销取得成功的重要保证。在互联网上,顾客希望得到更多个性化的服务,比如,顾客定制的信息接收方式和接收时间,顾客的兴趣爱好、购物习惯等等都是网络数据库的重要内容,根据顾客个人需求提供针对性的服务是网络数据库营销的基本职能,因此,网络数据库营销是改善顾客关系最有效的工具。
2.3 实现数据库营销的关键技术
数据库营销是运用收集到的数据来预测用户未来的购买行为,成功实现数据库营销系统的关键在于三方面组件的集成:存储在数据仓库或数据处理机中的事实数据;在数据库或数据仓库中寻找有价值的隐藏事件,使用统计技术或预测模型工具对数据进行分析,将有意义的信息归纳成结构模式,供企业决策时参考,这种技术就是数据挖掘技术;功能强大的展示工具[3-5]。
2.3.1 建立数据库
首先,要把营销过程中需要的数据建成一个数据库,为了便于对具体以及过去的数据进行分析,一般建立一个数据仓库。
按照数据仓库之父W. H. Inmon的描述,数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策[4]。
整个数据仓库系统是一个包含四个层次的体系结构,具体如图1所示。
下面对图1中的部分组件进行介绍:
数据源:是数据仓库系统的基础,是整个系统的数据源泉。通常包括企业内外部信息。这些信息可以是存放在关系数据库中的数据,也可以是文档数据。
数据的存储与管理:是整个数据仓库系统的核心。针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。
OLAP服务器:对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为:ROLAP、MOLAP和HOLAP。ROLAP基本数据和聚合数据均存放在RDBMS之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP基本数据存放于RDBMS之中,聚合数据存放于多维数据库中。
前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
2.3.2 使用数据挖掘技术分析数据
数据挖掘(Data Mining)是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程[6]。
其主要任务是关联分析、聚类分析、分类、预测、时序模式和偏差分析等。
①关联分析。数据关联是数据库中存在的一类重要的、可被发现的知识。关联分析目的是找出数据库中隐藏的关联网。一般用支持度和可信度两个阀值来度量关联规则的相关性[7-8]。
②聚类分析。聚类是把数据按照相似性归纳成若干类别,同一类中的数据彼此相似,不同类中的数据相异。聚类分析可以建立宏观的概念,发现数据的分布模式,以及可能的数据属性之间的相互关系。
③分类。分类就是找出一个类别的概念描述,它代表了这类数据的整体信息,即该类的内涵描述,并用这种描述来构造模型,一般用规则或决策树模式表示。分类是利用训练数据集通过一定的算法而求得分类规则。
④预测。预测是利用历史数据找出变化规律,建立模型,并由此模型对未来数据的种类及特征进行预测。预测关心的是精度和不确定性,通常用预测方差来度量。
⑤时序模式。时序模式是指通过时间序列搜索出的重复发生概率较高的模式。与回归一样,它也是用己知的数据预测未来的值,但这些数据的区别是变量所处时间的不同。
⑥偏差分析。在偏差中包括很多有用的知识,数据库中的数据存在很多异常情况,发现数据库中数据存在的异常情况是非常重要的。偏差检验的基本方法就是寻找观察结果与参照之间的差别。
数据挖掘的主要流程是:定义问题、数据准备、数据挖掘、结果分析、知识的运用。
用于挖掘的对象有关系数据库、面向对象数据库、数据仓库、文本数据源、多媒体数据库、空间数据库、时态数据库、异质数据库以及Internet等。
目前,常用的数据挖掘有:神经网络方法、遗传算法、决策树方法、粗集方法、统计分析方法等。
3 结束语
数据挖掘能够基于顾客的年龄、性别、人口统计数据和其他类似因素,对顾客购买某一具体货物的可能性做出预测;识别出具有相似浏览习惯的顾客;辨别出具体的顾客偏好,以便提供改进的个人服务;找出高频率地被组合在一起的所有产品组。据此,公司可获得新顾客、留住老顾客、增加顾客的消费额。这样既降低了成本,又提高了营销的成功率。故数据挖掘的强大功能可以确保企业数据库营销的顺利开展。
参考文献:
[1] 许多顶.网络数据库营销[J].商业研究,2002,9:119-121.
[2] 陈晓红.企业信息化建设的模糊综合评判[J].运筹与管理,2003(6).
[3] 杨丽,马玉磊,张丹.数据挖掘技术在CRM中的应用研究[J].新乡学院学报,2009,6:66-67.
[4] 李石君,王汉飞,周洞汝.关系数据库中统计关系的挖掘和应用[J].计算机工程与应用,2000,(6):117-118.
[5] 李从东,徐志英.基于数据挖掘的企业关系管理系统构建[J].现代管理科学,2009,8:23-25.
[6] 韩家炜,堪博.数据挖掘:概念与技术[M].北京:机械工业出版社,2006:56-62.
篇10
刀具管理是一项复杂的工作,一直以来,这项工作都是以数控技术人员的工作经验为基础、以操作者的相关记录为依据而进行的。目前,刀具种类和数量不断增加,而加工车间条件有限,不同的设备、产品零件之间的刀具还需要相互借用,这就为刀具管理工作带来了很大的困难,也为生产效率以及产品质量的保证埋下了极大的隐患。由于加工零件的多样化,使得加工刀具的种类和数量都在不断增加,刀具在机床和刀库之间的流动频率也越来越高,使得传统的纸质登记、现场找刀这一模式显得滞后。而随着数控设备数量的增多以及新产品种类的不断增加,仅凭技术人员的工作经验和到车间现场查找刀具的管理方法已经无法满足现代化生产的需要。现代化生产迫切需要加工车间采用先进的刀具管理方法来实现刀具的科学管理。
2系统设计分析
2.1系统物理结构分析
本系统采用C/S(Client/Server,客户机/服务器)体系结构,即将数据库中的数据内容存放在远程服务器上,在各个客户机上安装相应的客户端应用软件进行操作使用。C/S体系的物理结构如图1所示。C/S结构的计算机软硬件平台可通过企业内部局域网连接起来。对于数控车间刀具管理系统,可以将开发完成的客户端应用软件安装在多个PC机站点上,由多个用户共同使用。数据的安全性通过SQLServer2000数据库安装时设置的身份验证和用户级别来保证,既保证了数据的共享性,也提高了工作效率。
2.2系统功能模型
通过对刀具信息管理系统功能进行分析,系统可分为以下几个模块:用户信息管理模块、权限设置模块、刀具参数管理模块、刀具出库管理模块、刀具入库管理模块、刀具信息查询管理模块、刀具借还记录管理模块和刀具库存预警模块(图2)。
2.3系统流程分析
根据刀具管理系统需要完成的任务和实现的功能,得出系统流程如图3所示。
2.4开发工具选择
考虑到车间本身的技术与软硬件情况,选用SQLServer2000作为后台的数据库管理系统。一方面,因为刀具管理系统本身是基于局域网操作的,采取的是C/S结构模型;另一方面,SQLServer2000是一种安全性高的真正的C/S体系结构,图形化用户界面,使系统管理和数据库管理更加直观、简单,丰富的编程接口工具为用户设计程序提供了更大的选择余地[3]。在选择前台开发工具时充分利用开发工具本身的性能,比如考虑其稳定性和可靠性、可视化和访问数据库的能力等,从常用的软件中,本文选用了VC++6.0。
3数据库设计
运用VC++的数据库接口技术,以SQLServer2000为后台数据库进行车间刀具管理系统“chejiantool_db”数据库的设计,其具体的设计步骤为:正规化数据库、建立数据库、建立表、建立关系、实现数据完整性等几个步骤。
3.1数据库概念结构设计
将分析得到的系统需求抽象为概念模型,在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关系,这是整个数据库设计的关键。在这一设计原则的基础上,遵循正规化的数据库设计规则与关系数据库设计的3种范式(1NF~3NF),用正规的方法将数据分为多个所有字段值不可分割的数据表[4]。每个数据库表应有一个标识,不应有重复的值或列,并尽量避免含有空列。根据这一原则建立了用户信息表、刀具参数表、刀具基本信息表、刀具出库表、刀具入库表和刀具借还记录表等。表1以刀具基本信息表为例说明其结构。它由8个字段组成,其中刀具编号是该表的主键,通过此主键可与其他表相互关联。
3.2数据库安全性设计
在建立用户的登录信息时,系统管理员不仅要为该用户选择默认的数据库,而且还设置该用户对特定数据对象的访问权,即对数据对象的读取、插入、更新和删除等的权限。而该数据库中未指定访问权的数据库对象,即使该用户登录到SQLServer服务器,并且连接上指定的默认数据库,也不能操作该数据库的数据对象。在应用软件中,用户只能用账号登录,通过应用软件访问数据库,而没有其他途径操作数据库。为防止用户密码泄露,对所有用户账号的密码进行加密处理,确保在任何地方都不会出现密码的明文。由于数据库管理员拥有对应用软件的所有权限,因此其可以对所有用户和软件功能进行管理。应用时先确定每个角色对数据库表的操作权限,然后在程序中再为用户分配角色。角色权限见表2。
3.3数据库完整性设计
在将刀具信息输入到数据库的过程中,由于某些特殊的原因,可能会造成对数据库的修改无效或者不一致的现象发生,从而导致程序数据库的崩溃。为了避免这种问题的发生,需要在数据库分析、设计完毕后,利用数据库自带的属性,对字段进行主键、索引、标识等约束,以保证数据库的完整性[5]。主要有以下3种方法:
(1)对于通过程序窗口操作输入的数据,可以通过客户端应用程序来保证数据的完整性。这样,一方面可把非法数据在提交数据库之前就过滤掉,另一方面可使用户及时得到操作反馈的信息(成功或失败),以便进行相应的操作。
(2)对于通过数据库直接输入的数据,可以通过服务器端数据库管理系统来实现数据的完整性。
(3)对于数据一致性的维护,可以由服务器端数据库的触发器或表定义的约束来实现。这样可降低客户端应用程序的开发量,提高应用系统的运行效率、可维护性及可靠性。
3.4建立数据库
数据库名称是chejiantool_db,实现步骤为[6]:
(1)打开SQLServer2000的企业管理器(企业管理器是SQLServer2000最主要的管理工具,几乎所有对SQLServer的管理工作,甚至是数据查询,都可以通过它来完成)。
(2)新建数据库,并输入数据库名称、数据文件和日志文件的位置。
(3)指定数据和日志文件。
(4)定义文件的大小和增长方式。
3.5创建数据库表及实体关系图
SQLServer2000提供了3种方法创建数据库表。其一,是利用表设计器创建表;其二,是利用数据库关系图创建表;其三,是利用Transact-SQL语句中的CREATE命令创建表[7-8]。本文选用第二种方式。在SQLServer企业管理器中,展开指定的服务器和数据库,打开chejiantool_db数据库,打开表设计器。在数据库中创建刀具基本信息表、刀具借还表、用户表、借还日志表等。
在表设计器中除了可以定义列名称、数据类型和长度外,还可根据需要定义以下属性,如精度、小数位数、是否允许为空、默认值、标识列等等。建立数据库表时,定义好各自的主键和外键,各表完成后,利用MicrosoftVisio2003“反向工程向导”或SQLServer2000企业管理器中的“操作/新建数据库关系图”即可获取系统E-R图。本文选择后者,结果如图4所示。
4过程中的数据库技术
程序的各个实现过程中,均采用了大量的SQL语句,由于篇幅有限,在各模块的实现过程中仅列出其中的一种功能实现的Transact-SQL代码[9-10]。
4.1刀具借用过程
该过程主要包括刀具信息查询和刀具借用时信息功能人,其中刀具借用信息包括借用人、借用时间和借用刀具信息的填写、修改等功能。以借用功能模块为例,当加工人员从刀库中借用刀具时,刀库管理员根据其要求的条件查询相应的刀具信息,选中后,填写借用信息,点击“借用”后,该刀具的借用信息就会被写入数据库,其状态随之变为“借出”,刀具借用过程完成。
4.2刀具归还过程
刀具归还过程中以归还功能模块为例。借用人员归还刀具时,刀库管理员根据刀具名称或借用人的名字查询到刀具的借用信息后,选中要归还的刀具记录,填入归还时间,点击“归还”后,该刀具的状态又会变成“库存”写入数据库,刀具归还过程完成。其Transact-SQL实现代码如下:sql.Format("updatetoolset归还时间='"+ghtime+"',刀具状态='库存'where刀具编号='%s'",cId)实现界面如图6所示。
4.3刀具信息查询过程
刀具信息查询包括两部分:精确查询和模糊查询。精确查询可以按刀具编号、刀具名称、刀具材料等具体查询条件查询到精确符合查询条件的刀具信息记录;模糊查询可以查询同时满足刀具长度、刀具材料和刀具编号中一条或多条的刀具信息记录。其实现界面如图7所示。
5结束语