關系數(shù)據(jù)庫范文

時間:2023-04-09 12:12:34

導語:如何才能寫好一篇關系數(shù)據(jù)庫,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

篇1

【關鍵詞】關系數(shù)據(jù)庫;非關系數(shù)據(jù)庫;NoSql

前言

從上個世紀60年代至今的半個世紀,數(shù)據(jù)庫技術伴隨著信息技術的發(fā)展不斷發(fā)展,到目前共經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段,在數(shù)據(jù)庫系統(tǒng)階段又經(jīng)歷了網(wǎng)狀數(shù)據(jù)庫、層次數(shù)據(jù)庫和關系數(shù)據(jù)庫階段,進二十來年,關系數(shù)據(jù)被廣泛使用,發(fā)展成主流,但隨著互聯(lián)網(wǎng)技術的蓬勃發(fā)展,關系數(shù)據(jù)庫使用遇到了一些新的問題,為應對這些新的問題,近兩年來非關系數(shù)據(jù)庫NOSql越來越引起人們的注視,得到了快速發(fā)展。

1 關系數(shù)據(jù)庫

1.1 關系數(shù)據(jù)庫的簡介

支持關系模型的數(shù)據(jù)庫系成之為關系數(shù)據(jù)庫,是目前各類數(shù)據(jù)庫中使用最為廣泛的數(shù)據(jù)庫系統(tǒng)。關系數(shù)據(jù)庫在經(jīng)過二十幾年的發(fā)展,已經(jīng)變的功能強大,使用廣泛,產(chǎn)品成熟的數(shù)據(jù)庫系統(tǒng),現(xiàn)在使用主流的數(shù)據(jù)庫都為關系型數(shù)據(jù)庫,比較熟悉的如SQL Server、Mysql、Oracle、Sybase、Informix、DB2等。在網(wǎng)絡上使用比較廣泛的是Sql Server、Mysql和Oracle。

1.2 關系數(shù)據(jù)庫的特點

關系數(shù)據(jù)庫是支持關系模型的數(shù)據(jù)庫系統(tǒng)。而關系模型是由二維表來表示實體和實體間聯(lián)系的模型。使用二維表存儲數(shù)據(jù),對使用者來說很直觀,更容易理解。使用關系數(shù)據(jù)庫的優(yōu)勢主要表現(xiàn)在以下幾個特性:

(1)操作方便性。通過開發(fā)應用程序和數(shù)據(jù)庫連接,用戶能方便的對數(shù)據(jù)庫中數(shù)據(jù)進行操作,特別對沒有數(shù)據(jù)庫基礎的人,也可以通過數(shù)據(jù)庫管理系統(tǒng),直接在數(shù)據(jù)庫中操作。

(2)易于維護性。關系數(shù)據(jù)庫在完整性約束中提供了實體完整性、參照完整性和用戶定義的完整性,通過完整性約束可以大大降低了數(shù)據(jù)存儲的冗余及數(shù)據(jù)不一致的概率。

(3)訪問數(shù)據(jù)的靈活性。關系數(shù)據(jù)庫中提供了諸如視圖,存儲過程,觸發(fā)器,索引等對象,是訪問數(shù)據(jù)更加靈活。

1.3 目前關系數(shù)據(jù)庫面臨的問題

隨著互聯(lián)網(wǎng)技術的發(fā)展,尤其是web2.0 技術使用,更注重用戶和服務器以及用戶和用戶之間的交互作用,用戶成為既是網(wǎng)站內(nèi)容的瀏覽者,也是網(wǎng)站內(nèi)容的制造者。例如:博客(BLOG)、社會網(wǎng)絡(SNS)、以及現(xiàn)在比較熱的微博等。對于在使用web2.0技術并且訪問量比較大網(wǎng)站,使用傳統(tǒng)關系數(shù)據(jù)庫就會遇到一些問題,主要表現(xiàn)在以下幾點:

(1)對數(shù)據(jù)庫高并發(fā)讀寫的需求

Web 2.0網(wǎng)站要根據(jù)用戶個性化信息來實時生成動態(tài)頁面和提供動態(tài)信息,無法使用動態(tài)頁面靜態(tài)化技術,因此數(shù)據(jù)庫的并發(fā)負載非常高,往往要達到每秒上萬次的的讀寫請求,此時服務器上的磁盤根本無法承受如此之多的讀寫請求。

(2)對海量數(shù)據(jù)的高效率存儲和訪問的需求

對于大型的社交網(wǎng)站網(wǎng)站,每天用戶產(chǎn)生海量的用戶動態(tài),隨著用戶的不斷增減,一個數(shù)據(jù)表中的記錄可能有幾億條,對于關系型數(shù)據(jù)庫來說,在一個有上億條記錄的表里面進行SQL詢,效率是極其低下的。一些大型Web 網(wǎng)站的用戶登錄系統(tǒng)也是如此,如騰訊、163郵箱都有數(shù)億的帳號。

(3)對數(shù)據(jù)庫的高擴展性和高可用性的需求

在基于Web的架構中,數(shù)據(jù)庫是最難進行橫向擴展的,當用戶量和訪問量增加時, 數(shù)據(jù)庫沒有辦法像Web Server 那樣簡單的通過添加更多的硬件和服務結(jié)點來擴展性能和負載能力,對于很多需要24 小時不間斷服務的網(wǎng)站來說,對數(shù)據(jù)庫系統(tǒng)的升級和擴展往往需要停機維護。

2 非關系數(shù)據(jù)庫NoSql

2.1 NoSql概述

NoSql是應對關系數(shù)據(jù)庫出現(xiàn)的問題而發(fā)展起來的,近幾年隨著web2.0技術的廣泛應用,NoSQL 得到了快速的發(fā)展,NoSQL數(shù)據(jù)庫指的是非關系性的、定義不是很明確的數(shù)據(jù)存儲倉庫。NoSQL數(shù)據(jù)庫不再使用關系模型的概念,放棄了使用SQL語句對數(shù)據(jù)庫進行操作。

NoSQL 數(shù)據(jù)庫根據(jù)數(shù)據(jù)的存儲模型和特點又分為很多種類。主要有

(1)面向列的存儲系統(tǒng)。按列存儲,區(qū)別于關系數(shù)據(jù)庫中按行存儲,容易擴展,適用與存儲海量數(shù)據(jù),對一個或幾個字段進行查詢的效率很高,但在復雜查詢功能比較弱,如多表聯(lián)合查詢。此類數(shù)據(jù)庫產(chǎn)品有BigTable、Hbase、assandra和Hypertable。

(2)面向文檔存儲系統(tǒng)。保證海量數(shù)據(jù)存儲的同時,具有良好的查詢性能。用JSON或類JSON格式進行存儲,存儲的內(nèi)容是文檔型的,文檔中的格式是自由的。此類數(shù)據(jù)庫產(chǎn)品有MongoDB和CouchDB。

(3)鍵-值(key/value)存儲系統(tǒng)。是最簡單的Nosql系統(tǒng),具有極高的并發(fā)讀寫性能。通過key能夠快速查詢到value,并且不考慮value 的格式。此類數(shù)據(jù)庫產(chǎn)品有Tokyo Cabinet/Tyrant、BerkeleyDB、MemcacheDB和Redis。

(4)圖存儲系統(tǒng)。圖形關系的最佳存儲模式。如Neo4J、FlockDB。

(5)對象存儲。類似面向?qū)ο笳Z言的語法操作數(shù)據(jù)庫,通過對象的方式存取數(shù)據(jù)。此類數(shù)據(jù)庫產(chǎn)品有db4o、Versant。

(6)xml 數(shù)據(jù)庫。高效存儲XML 數(shù)據(jù),并支持XML的內(nèi)部查詢語法。此類數(shù)據(jù)庫產(chǎn)品有Berkeley DBXML、BaseX。

2.2 NoSql數(shù)據(jù)庫的優(yōu)勢

相對于關系數(shù)據(jù)庫,Nosql數(shù)據(jù)庫的優(yōu)點主要表現(xiàn)在:

(1)容易擴展和高性能。NoSQL 數(shù)據(jù)庫種類很多,但是都有一個共同的特點就是去掉關系型數(shù)據(jù)庫的關系型特性。數(shù)據(jù)之間彼此無關系,這樣就非常容易擴展。可以存儲海量數(shù)據(jù)。同樣由于數(shù)據(jù)之間無關系,數(shù)據(jù)庫的結(jié)構簡單,在處理大數(shù)據(jù)量時,NoSQL 數(shù)據(jù)庫會有出色的讀寫性能。

(2)靈活的數(shù)據(jù)模型。NoSQL 數(shù)據(jù)庫不使用傳統(tǒng)的關系數(shù)據(jù)庫模型,而是使用如key-value 存儲、文檔型的、列存儲、圖型數(shù)據(jù)庫、xml 等方式存儲數(shù)據(jù)模型,使用這些模型都無需事先為要存儲的數(shù)據(jù)建立字段,隨時可以存儲自定義的數(shù)據(jù)格式。同時根據(jù)需求可以選擇合適的模型。

(3)經(jīng)濟性

在數(shù)據(jù)量和訪問量比較大的情況下,傳統(tǒng)的關系數(shù)據(jù)庫對服務器的要求比較高,甚至使用專用硬件設備,這樣造價就比較高。而NoSQL數(shù)據(jù)庫的易擴展的特點使配置較低服務器上運行,也可以使用低配服務器組成集群來使用,并且有研究證實使用NoSql數(shù)據(jù)庫基于低配硬件的分布式存儲解決方案比現(xiàn)在的高端關系數(shù)據(jù)庫更加可靠。這樣就極大的降低了投資成本。

2.3 NoSql的不足

(1)成熟度方面。NoSQL數(shù)據(jù)庫的實際應用,近幾年才逐漸開始使用,并且大部分NoSQL的產(chǎn)品都還處于實驗和不斷完善的階段。在產(chǎn)品成熟度和穩(wěn)定性方面,NoSq數(shù)據(jù)庫遠不及發(fā)展了二十多年且已被廣泛使用的關系數(shù)據(jù)庫。

(2)商業(yè)支持方面。大部分NoSQL數(shù)據(jù)庫都是開源項目,沒有專門的數(shù)據(jù)庫廠商提供完善的服務,一旦出現(xiàn)故障,只能自己的能力解決,對于一般使用者來說風險比較大。

(3)使用習慣方面。軟件開發(fā)人員已經(jīng)習慣了關系數(shù)據(jù)庫的模式,解決問題的思路已經(jīng)被固定在關系模型上,而NoSQL數(shù)據(jù)庫的開發(fā)以放棄了關系模型,要軟件開發(fā)人員放棄原來的思路,而掌握和使用NoSql數(shù)據(jù)庫是很困難的,導致使用NoSQL數(shù)據(jù)庫的開發(fā)人員不可能在短時間內(nèi)快速增加,這也成為NoSql數(shù)據(jù)庫發(fā)展的一個障礙。

3 關系數(shù)據(jù)庫與NoSQL 數(shù)據(jù)庫結(jié)合使用

Web2.0時代,關系數(shù)據(jù)庫不能滿足對數(shù)據(jù)庫高并發(fā)讀寫、海量數(shù)據(jù)的高效率存儲和訪問、高擴展性和高可用性方面的需求,而NoSql數(shù)據(jù)庫可以解決這些問題,從而推動了NoSql數(shù)據(jù)庫應用和發(fā)展,那是不是說NoSql數(shù)據(jù)庫就能取代關系數(shù)據(jù)可了呢?從目前來看,基于NoSql數(shù)據(jù)庫的不足,NoSql數(shù)據(jù)庫還不能完全取代關系數(shù)據(jù)庫,對NoSql數(shù)據(jù)庫的使用,單獨使用的情況很少,大多數(shù)情況下都是關系數(shù)據(jù)庫和NoSql數(shù)據(jù)庫結(jié)合使用。

關系數(shù)據(jù)庫和NoSql數(shù)據(jù)庫結(jié)合使用又分為兩種模式:

(1)NoSql數(shù)據(jù)庫作為輔助存儲。在這種模式下,把所有的數(shù)據(jù)都存放在關系數(shù)據(jù)庫中,可能被經(jīng)常頻繁讀取的數(shù)據(jù)再存放在NoSql數(shù)據(jù)庫中一份,其目的是提高數(shù)據(jù)的查詢速度,減少關系數(shù)據(jù)庫的并發(fā)訪問負載。

(2)NoSql數(shù)據(jù)庫作為主存儲。在這種模式下,把所有的數(shù)據(jù)存儲在NOSQL數(shù)據(jù)庫中,為了一些特殊業(yè)務或功能的需要,在將數(shù)據(jù)存入NOSQL 的時候,同時存儲到關系數(shù)據(jù)庫一份。在數(shù)據(jù)存儲和查詢主要是由Nosql數(shù)據(jù)庫完成,少量的數(shù)據(jù)是從關系數(shù)據(jù)庫讀取。

4 結(jié)語

目前關系數(shù)據(jù)庫仍是主流數(shù)據(jù)庫,仍被廣泛使用,NoSQL數(shù)據(jù)庫還不能完全取代關系數(shù)據(jù)庫,雖然NoSql數(shù)據(jù)庫打破了關系數(shù)據(jù)庫存儲的觀念,采用創(chuàng)新的存儲方式,在快速讀寫、海量存儲,高擴展性上很好滿足web2.0時代數(shù)據(jù)存儲的要求,但NoSql數(shù)據(jù)庫也有自己的缺陷。在現(xiàn)階段的某些情況下,可以將關系型數(shù)據(jù)庫和NoSQL數(shù)據(jù)庫結(jié)合使用,相互彌補各自的不足。隨著NoSql數(shù)據(jù)庫的不斷發(fā)展和完善,將來也有可能取代關系數(shù)據(jù)庫成為主流數(shù)據(jù)庫。

參考文獻:

[1]盧冬海,何先波.淺析NoSQL數(shù)據(jù)庫 中國西部科技 2011年02期

篇2

關鍵詞:數(shù)據(jù)庫轉(zhuǎn)換;.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 引言

網(wǎng)絡資源中通常包含多種格式和管理系統(tǒng)的關系數(shù)據(jù)庫,為了實現(xiàn)資源的共建共享,需要完成多種數(shù)據(jù)庫之間的數(shù)據(jù)轉(zhuǎn)換。不同的開發(fā)商采用分布式對象技術和各自的思路來實現(xiàn)數(shù)據(jù)庫的互操作,如OMG的CORBA技術、Sun公司的EJB/RMI和微軟的.NET技術等。

2 數(shù)據(jù)庫轉(zhuǎn)換思路

.NET是微軟公司開發(fā)的下一代基于互聯(lián)網(wǎng)平臺的軟件開發(fā)構想,它提供了一個全新的編程模型。該平臺建立在XML和因特網(wǎng)標準協(xié)議的基礎上,具有平立性和語言獨立性,它包含了強大數(shù)據(jù)庫操控能力的。編程模型由一系列的數(shù)據(jù)庫相關類和接口組成,運用技術,應用程序既能訪問關系型數(shù)據(jù)庫中的數(shù)據(jù),又能訪問層次化的XML數(shù)據(jù)[1]。XML是W3C的通用標記語言SGML的一個簡化子集。它是一種存儲和傳輸數(shù)據(jù)的行業(yè)標準格式,普遍貫穿于.NET平臺,具有簡單性、可擴展性、互操作性和開放性等特點,其本質(zhì)特點是數(shù)據(jù)獨立,它存儲的數(shù)據(jù)全部是文本,而且使用標記標示,利于網(wǎng)絡傳輸。XML模式提供了很強的數(shù)據(jù)類型識別功能,可正確處理各種數(shù)據(jù)類型。XML和.NET的結(jié)合為解決數(shù)據(jù)庫互操作問題奠定了基礎[2]。通過以上分析,可以在.NET平臺上,以XML為中間數(shù)據(jù)源完成多種關系數(shù)據(jù)庫之間的轉(zhuǎn)換[3]。演示示例用的操作系統(tǒng)是Windows XP Professional,開發(fā)平臺為Visual Studio 2005,示例用C#語言編寫。

2.1 數(shù)據(jù)庫的導入[4]

為了導入SQLServe數(shù)據(jù)庫,先用Connection對象連接數(shù)據(jù)庫,演示示例中用SqlConnection連接了服務器METC\SQLEXPRESS的數(shù)據(jù)庫books.mdf。將數(shù)據(jù)庫讀入DataSet。DataSet對象主要存放數(shù)據(jù)庫的DataTable的對象,可以使用DataAdapter建立DataSet對象。盡管DataSet可以存儲數(shù)據(jù),但仍需要使用DataAdapter對象來創(chuàng)建和初始化各種表,還需要使用Fill()方法來把查詢結(jié)果移入到DataSet中去,再將數(shù)據(jù)寫入到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 數(shù)據(jù)的導出[5-6]

以下演示示例是將以上創(chuàng)建的“newxml.xml”文件轉(zhuǎn)換為Access數(shù)據(jù)庫demo.mdb中的一個表“newxml”。首先建立與目標數(shù)據(jù)庫的連接,也就是通過OLE DB Provider提供的OleDBConnection對象建立與Access數(shù)據(jù)庫demo.mdb的連接。當然,該示例也可通過OLE DB Provider提供的其他連接數(shù)據(jù)庫的對象來連接Oracle、Sybase或DB2這樣的數(shù)據(jù)庫以及Excel表格。以下關鍵源代碼部分省略了命名空間的引用、系統(tǒng)自生成代碼和對數(shù)據(jù)庫中表是否建立的檢查部分。

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 = "數(shù)據(jù)庫不存在或無法創(chuàng)建表.";}

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 結(jié)束語

通過以上實例,演示了以XML為中間轉(zhuǎn)換數(shù)據(jù)源,在.NET平臺上方便地完成異構關系數(shù)據(jù)庫之間的數(shù)據(jù)轉(zhuǎn)換和共享?;?NET平臺,充分利用XML技術的優(yōu)勢,來解決異構數(shù)據(jù)庫集成的問題,能夠給用戶提供一個透明的全局數(shù)據(jù)庫,方便用戶的使用,還使得系統(tǒng)在可擴展性、安全性、可維護性等方面有所提高。

參考文獻:

[1] Lair R, Lefbvre 開發(fā)人員手冊[M].張俊,譯.北京:電子工業(yè)出版社,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進行異構數(shù)據(jù)庫間數(shù)據(jù)傳送[J].現(xiàn)代計算機,2003,19(11):79-80.

[4] 呂品,夏紅霞,李明.異構數(shù)據(jù)庫互操作平臺的開發(fā)研究[J].武漢理工大學學報,2003,25(1):35-37.

篇3

關鍵詞:網(wǎng)絡設計;關系數(shù)據(jù)庫技術;儲存功能;轉(zhuǎn)換功能

一、關系數(shù)據(jù)庫技術的功能

關系數(shù)據(jù)庫技術的主要作用是為網(wǎng)絡設計提供輔助功能,在關系數(shù)據(jù)庫中包含各種各樣網(wǎng)絡設計所需的數(shù)據(jù)和信息,合理應用關系數(shù)據(jù)庫技術可網(wǎng)絡設計提供便利條件。促使網(wǎng)絡設計更加完善,比如:在關系數(shù)據(jù)輸入過程中,要先把對數(shù)據(jù)的賦值進行全面系統(tǒng)的分類處理,然后對這些數(shù)據(jù)進行整合和重組,促使網(wǎng)絡設計能獲得更加全面的數(shù)據(jù)參數(shù)和參考信息,促使網(wǎng)絡設計效果和服務質(zhì)量不斷提升。

二、網(wǎng)絡設計對關系數(shù)據(jù)庫技術的需求分析

在計算機網(wǎng)絡技術具有很強的開放性,安全性容易受到挑戰(zhàn),大大增加了管理的難度。為完整網(wǎng)絡設計對安全性和性能的需求,就必須切實滿足如下要求:高性能。網(wǎng)絡設計需要應用到支持線速交換的骨干交換設備,才能確保數(shù)據(jù)交換的流暢性,在關系數(shù)據(jù)庫中幾乎包含網(wǎng)絡設計所需的全部信息,合理應用關系數(shù)據(jù)庫技術可為網(wǎng)絡設計提供數(shù)據(jù)支持和理論指導。高質(zhì)量。網(wǎng)絡設計需要滿足業(yè)務服務質(zhì)量,應用業(yè)務數(shù)據(jù)通常情況下,都包含多種多樣的形式,關鍵業(yè)務數(shù)據(jù)流在網(wǎng)絡流量高峰期內(nèi),所需的響應時間會有響應的延長。因此,在具體設計過程中,為最大限度上滿足網(wǎng)絡設計的服務質(zhì)量,高性能網(wǎng)絡必須具備關系數(shù)據(jù)庫的相關功能。網(wǎng)絡的安全性。網(wǎng)絡病毒、黑客等是目前影響計算機網(wǎng)絡安全的主要因素。因此,網(wǎng)絡設計中需要采取有針對性的手段和技術,禁止病毒的傳播和黑客的攻擊。

三、網(wǎng)絡設計中關系數(shù)據(jù)庫技術的具體應用

(一)應用思路

為滿足計算機網(wǎng)絡對高性能、高質(zhì)量、高安全性的需求,在具體設計過程中,對網(wǎng)絡的控制需要以設備分層結(jié)構的總線型為主要設計依據(jù),在滿足高性能、高質(zhì)量、高安全性的基礎上,提升網(wǎng)絡技術應用范圍的靈活性和有效性。關系數(shù)據(jù)庫的基礎就是數(shù)據(jù)的有效性,因此,在應用關系數(shù)據(jù)庫技術時,需要重復結(jié)合對象技術,有針對的實現(xiàn)計算機網(wǎng)絡對數(shù)據(jù)集的功能。此外,針對關系數(shù)據(jù)庫存在不合理的產(chǎn)品,可在綜合事務處理中進行及時糾正處理,全面體會網(wǎng)絡數(shù)據(jù)系統(tǒng)的開放性和可擴展性。在關系數(shù)據(jù)庫中結(jié)構比較清晰,簡潔,配置協(xié)議的錄入也可以輕松實現(xiàn),并且協(xié)議中的數(shù)量,對網(wǎng)絡涉及的難易程度并不會造成較大影響,大大提升了網(wǎng)絡設計的可操作。關系數(shù)據(jù)庫訪問對象和網(wǎng)絡設計形式之間具有非常密切的聯(lián)系,因此,在進行計算機網(wǎng)絡訪問系統(tǒng)設計過程中,要充分結(jié)合關系數(shù)據(jù)庫,可通過C語言編程的使用來完成訪問工作。

(二)存儲功能的實現(xiàn)

在網(wǎng)絡數(shù)據(jù)處理中,XML(可擴展標記語言)是進行數(shù)據(jù)轉(zhuǎn)換的主要標準,通過描述數(shù)據(jù)自身的意義來實現(xiàn)數(shù)據(jù)實體間復雜嵌套的關系連接。因此存儲功能的實現(xiàn)主要包括以下兩個方面:1.結(jié)構映射XML中文件類型定義比較復雜,需要先進行簡化處理,生成文件類型定義圖,具有的簡化流程為:先進行層次嵌套關系的平面優(yōu)化轉(zhuǎn)換處理,將其轉(zhuǎn)換為非嵌套定義;然后再對多個一元操作進行簡化轉(zhuǎn)換;最后把聚集轉(zhuǎn)換為多個子元素,通過整合和歸類的作用,構成一個子元素。在具體簡化過程中,要完成文件類型定義圖像關系模式的映射,通過共享內(nèi)聯(lián)法,為文件類型定義提供達先對獨立的關系。再通過綜合內(nèi)聯(lián)法,在父節(jié)點形成的關系表中,除直接后繼節(jié)點之外,內(nèi)聯(lián)和入度都超過1的元素節(jié)點。2.模型映射XML文檔在存儲過程中,常用的方法有兩種,一種是Edge法,主要過程為把XML文檔當做圖形結(jié)構進行處理,并在相應的關系表中,完成邊界存儲,而目標節(jié)點的區(qū)分通過flag來實現(xiàn)。Source主要應用在資源節(jié)點存儲中,target則主要應用目標節(jié)點標識符的儲存中。

(三)轉(zhuǎn)換功能的實現(xiàn)

關系數(shù)據(jù)庫中數(shù)據(jù)轉(zhuǎn)換流程包括以下幾個步驟:第一步,定義模式映射通過XSD格式來完成,進而實現(xiàn)目標數(shù)據(jù)庫到XML模式映射的建立,此外,XSD格式和文件類型定義相比,可更好的定義類型,并且在網(wǎng)絡設計中也容易實現(xiàn)數(shù)據(jù)之間的相互交換,可保證數(shù)據(jù)庫中信息和數(shù)據(jù)的傳輸都是XML格式。第二步,當模式映射文件形成以后,還需要綁定同步模塊,為后期XML的導入提供參考指導。第三步,在目標數(shù)據(jù)庫中和本庫中主要通過源數(shù)據(jù)庫的使用,完成相關數(shù)據(jù)模式的對比,并判斷其是否為同步的表結(jié)構,為創(chuàng)建異構模式映射文件提供數(shù)據(jù)支持。第四步,根據(jù)同步模式中的相關任務,形成對源數(shù)據(jù)庫,所有的同步數(shù)據(jù)都可以通過該查詢來獲取。第五步,把關系數(shù)據(jù)庫中查詢到的結(jié)果進行同步處理,形成XML格式數(shù)據(jù),并寫入相應的文件中。

篇4

關鍵詞:大型關系數(shù)據(jù)庫;Oracle;教學改革

隨著計算機技術的發(fā)展,計算機應用系統(tǒng)的開發(fā)越來越多,需要大批掌握大型關系數(shù)據(jù)庫的專業(yè)技術人員,培養(yǎng)和造就這樣的專業(yè)人員已經(jīng)成為時代的需求,是大學計算機教學中一個十分重要的方面。由于大型數(shù)據(jù)庫在計算機應用系統(tǒng)開發(fā)中的重要地位和作用,突出抓好大型關系數(shù)據(jù)庫的教學已經(jīng)別無選擇。同時,大型關系數(shù)據(jù)庫是一門實踐性很強的課程,學生在學習完數(shù)據(jù)庫基礎理論后,通過大型關系數(shù)據(jù)庫的學習,可以深化數(shù)據(jù)庫理論的理解,提高并培養(yǎng)綜合運用知識、解決實際問題的能力。對學生科研能力、工程能力和創(chuàng)新能力的培養(yǎng)具有重要作用。因此,對這門課的教學模式值得進行認真的研究與探討。

1大型關系數(shù)據(jù)庫Oracle的教學現(xiàn)狀

隨著社會對大型應用系統(tǒng)開發(fā)要求的日益增多,大型數(shù)據(jù)庫開發(fā)相關的人才需求也不斷增加,比如:Oracle、SQL SERVER和DB2的數(shù)據(jù)庫管理員等,特別是Oracle數(shù)據(jù)庫管理員,在比較大型的網(wǎng)絡應用中需求量更大。太原理工大學五年前就在選修課中開設了“大型關系數(shù)據(jù)庫Oracle”。但是大型關系數(shù)據(jù)庫Oracle技術要求高,實踐性要求很強,加之學校存在教學管理、資金投入以及師資力量不足等諸多因素的困擾,使得這門課的教學質(zhì)量很難盡如人意,存在較為嚴重的不足與缺陷,具體表現(xiàn)如下。

1.1沒有合適的教材和合理的大綱

我校計算機系最初采用Oracle公司廠家提供的培訓教材,其內(nèi)容較多,分體系框架、PL/SQL指令、性能調(diào)整和備份與恢復等內(nèi)容[1],而大學教學中該課程的學時有限,教學過程中很難做到面面俱到,要想讓學生更進一步深入領會并形成應用能力存在一定困難。后來學校又采用了ORACLE的技術書籍進行教學,但是這些書籍基本側(cè)重點各不相同,導致教學過程中內(nèi)容不夠全面,重點難點不易把握,教學效果也不十分理想,很難適應高校教學的需要,很難滿足學生求知的欲望,更主要的是不能夠適應社會的需求。

1.2重理論,輕實踐

在這么幾年的ORACLE教學摸索中,由于學校數(shù)據(jù)庫服務器和網(wǎng)絡條件的限制,更多地關注的是理論教學,許多交互性演示的例子也是用PPT展示,學生很少參與甚至不參與具體的操作過程,導致學生很少接觸到解決實際問題的環(huán)節(jié),給學生的感性認識不強。再加上配套的教學實驗環(huán)節(jié)較少或根本沒有,學生很難有動手機會,使理論與實踐得不到銜接,影響了學生綜合素質(zhì)的提高。

1.3重技術,輕應用

即使在教學環(huán)境和條件具備情況下,有的教學過程也只是滿足于讓學生掌握知識點,至于這些知識點在實際開發(fā)中如何應用,知識點之間如何貫穿聯(lián)系等相關綜合性素質(zhì)的培養(yǎng),沒有滲透到教學中,導致學生的知識停留在點多線短,缺乏聯(lián)系的層面,不能形成較為系統(tǒng)綜合的結(jié)構體系。比如觸發(fā)器,很多人只知道它的定義,會編寫,但是在一個項目中何時用、怎樣用等內(nèi)容,在教學中則很少涉及,使學生感覺所學的知識與實際應用存在較大的差距。

這些問題和不足已經(jīng)引起一定程度上的關注和重視,我們學校在不斷加大對大型關系數(shù)據(jù)庫教學的改進力度的同時,積極組織編寫適合高校教學的相關教材,逐步嘗試加大教學實驗環(huán)節(jié)的學時數(shù),增加實訓、項目模擬等項內(nèi)容,給學生以更多實踐的機會,提高其綜合應用所學基礎理論知識的意識和實際動手的能力,為造就更多學識豐厚、技術高超、學以致用的高素質(zhì)人才,為不斷滿足時代和社會對數(shù)據(jù)庫技術人才的需求,創(chuàng)造了一定的教育教學條件。

2教學模式的改進方法

針對目前存在的問題,進行大型關系數(shù)據(jù)庫課程教學的改革嘗試,我們認為應該注重把握好以下幾個方面。

2.1精心挑選、把握精髓,選擇較好的教材

Oracle數(shù)據(jù)庫的廠家標準培訓教材和相關的科技書籍不能拿來就用。首先必須根據(jù)大學教學大綱的培養(yǎng)目標要求,從中選取適合學生的內(nèi)容。我們知道大型關系數(shù)據(jù)庫課程要培養(yǎng)的是能夠進行數(shù)據(jù)庫設計、開發(fā)和維護的數(shù)據(jù)庫管理員(DBA)[2]。一般情況下,數(shù)據(jù)庫管理人員分為三類:軟件開發(fā)型DBA,軟件維護型DBA和系統(tǒng)設計型DBA。本科教育教學大綱要求培養(yǎng)的是兼顧前一、二類的高素質(zhì)人才。所以,在教學教材內(nèi)容的選取上,就要著眼于Oracle數(shù)據(jù)庫的基本編程操作和基本管理能力的培養(yǎng),而把數(shù)據(jù)庫的系統(tǒng)架構和性能調(diào)整等內(nèi)容放在次要的地位,指導幫助學有余力的學生自學,以豐富其知識積累。在基本編程操作教學過程中,要注重對數(shù)據(jù)庫的數(shù)據(jù)操縱語句DCL、數(shù)據(jù)查詢語句DQL和過程編程語句PL/SQL的把握,而對數(shù)據(jù)定義語句DDL等讓學生了解即可。在基本管理教學過程中,限于教學課時的制約,可以適當傾向于用戶管理、權限管理、基本對象管理等方面內(nèi)容的學習,而將其他的技術管理內(nèi)容作為學生的自學內(nèi)容。這樣可以使教學工作做到學有目標、富有實效,學生學習做到入門快、有興趣、收益大。其次,要本著管用有效、突出重點的原則篩選教學內(nèi)容,選擇計算機應用系統(tǒng)實際開發(fā)中常用、多見的知識,組織開展教學,引導學生掌握精華和要害,使學生能夠充分利用有限的時間,學到最具實用價值的知識和技術。

2.2把握理論和實驗相結(jié)合這一教學過程中的關鍵點

大型關系數(shù)據(jù)庫實踐性很強,光講理論和架構,學生不容易掌握,難以形成能力,所以應該強化實驗。這門課的教學共有32個學時,我們現(xiàn)在把相關理論知識壓縮在12學時內(nèi)講授完畢,用剩余的20個學時,讓學生做24個實驗,通過這些實驗,引導學生掌握數(shù)據(jù)庫對象管理、數(shù)據(jù)庫編程基本操作、數(shù)據(jù)庫安全管理、文件管理、表空間管理、備份管理、狀態(tài)監(jiān)測等方面的操作技能[3]。使學生能夠兼具理論性和動手實踐能力,有效地了解和掌握Oracle數(shù)據(jù)庫系統(tǒng)操作和管理。

2.3注重知識點在工程開發(fā)實例中的綜合運用

掌握了數(shù)據(jù)庫的基本理論和基本操作技能后,如何在實踐開發(fā)中應用所學知識,就應當成為我們教師和學生共同關注的問題[4]。因此,有必要在大型關系數(shù)據(jù)庫Oracle的教學過程中,引入Oracle工程開發(fā)。在我校的ORACLE課程的內(nèi)容中,我們以一個學生成績管理系統(tǒng)為例,從系統(tǒng)的需求分析開始,介紹實體關系設計、系統(tǒng)邏輯結(jié)構設計、系統(tǒng)物理結(jié)構設計、數(shù)據(jù)庫實施、系統(tǒng)存儲過程設計、觸發(fā)器設計、數(shù)據(jù)導出和初始化設計等,在全過程實例系統(tǒng)開發(fā)中,讓學生體會數(shù)據(jù)庫技術在項目開發(fā)中的應用,同時掌握各個知識點在實踐中的綜合運用。這部分作為學生了解的內(nèi)容,課時為4學時左右,建議在有條件的學校,可以類設計一個大的課程設計題,要求學生模擬項目開發(fā)中數(shù)據(jù)庫開發(fā)的全過程。我校教學實踐證明,這樣做的效果非常好,不但鞏固了課堂教學知識,同時促使學生發(fā)揮主動性,掌握很多其他數(shù)據(jù)庫課堂上沒有來得及涉及的內(nèi)容。

3總結(jié)與展望

設立大型關系數(shù)據(jù)庫選修課的目的,就是要培養(yǎng)適應社會需求的具有實踐能力和創(chuàng)新精神的數(shù)據(jù)庫管理技術人才。在現(xiàn)有的教學資源條件下,如何有效地進行教學改革、完成教學目標、培養(yǎng)合格人才,已經(jīng)成為該項課程教學的迫切任務。

對于教學內(nèi)容和教學方法這兩個教學中的關鍵點,我們提出如下的改進思路:精選教學內(nèi)容、加強實驗環(huán)節(jié)和注重工程實踐。

大型關系數(shù)據(jù)庫的教學對教師和學生提出了更高的要求,需要在教學實踐中勤于探索,即時總結(jié),不斷改進,以明確的培養(yǎng)目標來選擇教學內(nèi)容,以具體的實際應用為教學導向,以真實的系統(tǒng)開發(fā)設計實踐為重點[5],就能夠在教學實踐中取得好的教學效果,提高學生的理論與實踐水平,培養(yǎng)學生的專業(yè)素養(yǎng)。只要我們真誠地為學生著想,為社會服務,就一定能夠使大學教育教學工作受到學生的歡迎,得到社會的承認,不斷提高我們的辦學水平,為國家為社會培養(yǎng)更多更好的有用人才,服務社會主義和諧社會建設,推動中華民族的偉大復興。

參考文獻:

[1] 安志遠. 數(shù)據(jù)庫系統(tǒng)原理及應用實訓教程[M]. 北京:中國水利水電出版社,2004.

[2] 羅瓊. 數(shù)據(jù)庫應用型課程的設置與實踐[J]. 科技信息, 2009(15):36-37.

[3] 員亞利,高春玲,陳紅梅. 計算機專業(yè)“大型數(shù)據(jù)庫”課程教學研究與實踐[J]. 計算機教育, 2008(12):3-4.

[4] 祝朝映. 任務驅(qū)動在計算機教學中的探索與實踐[J]. 教職論壇,2003,(10):56-57.

[5] 向琳,左德承,羅丹彥,等. “計算機設計與實踐”課程創(chuàng)新性實踐教學探索[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

【關鍵詞】計算機;網(wǎng)絡設計;關系數(shù)據(jù)庫;研究分析

引言

計算機網(wǎng)絡設計中可以運用的關系數(shù)據(jù)庫的設備以及技術是非常多樣化的,常見的數(shù)據(jù)庫技術包括:層次模型數(shù)據(jù)庫技術、關系數(shù)據(jù)庫技術、網(wǎng)狀模型數(shù)據(jù)庫技術以及層次模型數(shù)據(jù)庫技術。在所有常見的數(shù)據(jù)庫技術中,關系數(shù)據(jù)庫是最為科學的,在現(xiàn)實的運用中的推廣與使用最為廣泛,適合于現(xiàn)代化生活中比較復雜的數(shù)據(jù)管理。關系數(shù)據(jù)庫的管理系統(tǒng)非常容易獲得,已經(jīng)成為了人們首選的數(shù)據(jù)庫技術。在計算機網(wǎng)絡設計中得到了大范圍的使用。隨著信息時代的到來,給計算機網(wǎng)絡技術的發(fā)展提供了全新的發(fā)展機遇,近年來,我國對計算機網(wǎng)絡技術的發(fā)展給予了高度重視,投入了大量的人力、物力。使計算機網(wǎng)絡技術得到充分發(fā)展。由于我國計算機技術起步比較晚,對計算機技術的應用還不夠成熟,所以一定要采取并且吸收國內(nèi)外先進技術,促進計算機網(wǎng)絡設計的成熟與發(fā)展。

1關系數(shù)據(jù)庫概述

關系數(shù)據(jù)庫是創(chuàng)建在關系模型基礎上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)學概念和方法來處理數(shù)據(jù)庫中的相關數(shù)據(jù)。在現(xiàn)實世界中,各種實體以及實體之間的聯(lián)系都可以通過關系模型來進行表示。關系模型由關系數(shù)據(jù)結(jié)構、關系操作集合、關系完整性約束三部分組成。關系數(shù)據(jù)庫技術是對傳統(tǒng)的數(shù)據(jù)庫技術的傳承與發(fā)展。針對關系數(shù)據(jù)庫技術的研發(fā)是以原有的數(shù)據(jù)庫技術作為基礎的,只是運用了更加先進的輔助技術手段。在計算機網(wǎng)絡設計的過程中運用關系數(shù)據(jù)庫技術可以建立起比較系統(tǒng)化的關系數(shù)據(jù)庫模型。關系型數(shù)據(jù)庫在計算機網(wǎng)絡技術設計中的應用優(yōu)勢主要是數(shù)據(jù)存儲功能強大和數(shù)據(jù)運用便捷。關系數(shù)據(jù)庫在計算機網(wǎng)絡設計中贏得運用主要分為以下幾個過程:首先,根據(jù)實際情況,利用原有的數(shù)據(jù)庫技術建立起模型。其次針對表格中的相關數(shù)據(jù)進行分析與處理,形成簡單的關系數(shù)據(jù)庫。最后,通過一系列的處理,原本簡單的表格就會顯現(xiàn)出固定的特征,可以進行數(shù)據(jù)存儲與查詢。如果用戶想要使用相關的數(shù)據(jù)可以根據(jù)數(shù)據(jù)特征進行選擇,將符合要求的數(shù)據(jù)調(diào)用出來。在整個使用過程中,表格只是一個載體,承載相關的數(shù)據(jù)。關系數(shù)據(jù)庫技術在計算機網(wǎng)絡技術設計中的應用可以節(jié)約很多中間環(huán)節(jié)。從而提高數(shù)據(jù)的利用率。

2在計算機網(wǎng)絡設計中關系數(shù)據(jù)庫的運用原理

關系數(shù)據(jù)庫在所有數(shù)據(jù)庫中屬于數(shù)學模型最完善,最有利于管理復雜數(shù)據(jù)的數(shù)據(jù)庫模型,另外,關系數(shù)據(jù)庫比較容易構建管理系統(tǒng),編輯工具比較完整,正是由于這些特點與優(yōu)勢,在計算機網(wǎng)絡設計中得到了廣泛應用。由于計算機網(wǎng)絡設計中對數(shù)據(jù)庫技術的要求比較高,需要數(shù)據(jù)的獲得簡單便捷,并且可以對復雜的數(shù)據(jù)有效管理。關系數(shù)據(jù)庫技術通過C語言的運用充分實現(xiàn)了以上要求,得到人們親睞。關系數(shù)據(jù)庫的設計原理是在計算機的數(shù)據(jù)庫軟件的系統(tǒng)結(jié)構中有兩個主要的數(shù)據(jù)訪問系統(tǒng),但兩個系統(tǒng)不是聯(lián)合面向用戶的,而是獨立的面對用戶,當用戶訪問開放性的數(shù)據(jù)鏈接時,數(shù)據(jù)庫的管理系統(tǒng)可以通過輸入語言程序來進行訪問。當數(shù)據(jù)體系結(jié)構由多個數(shù)據(jù)訪問對象同時工作時,具備良好的協(xié)同性,對關系數(shù)據(jù)庫技術的操作進行全面優(yōu)化。另外,關系數(shù)據(jù)庫的編程工具非常完整,在計算機網(wǎng)絡設計中大多使用C語言進行編程,可以最大限度的滿足設計的相關需求。

3關系數(shù)據(jù)庫在計算機網(wǎng)絡設計中的運用優(yōu)勢

3.1數(shù)據(jù)存儲功能強大

隨著科學技術的快速發(fā)展,促進了網(wǎng)絡拓撲系統(tǒng)的優(yōu)化,在計算機網(wǎng)絡設計中所涉及到的數(shù)據(jù)信息在不斷的增加,傳統(tǒng)的數(shù)據(jù)庫信息主要由人工來進行錄用,信息的存儲量有限,在數(shù)據(jù)庫操作運作的過程中經(jīng)常出現(xiàn)失誤?,F(xiàn)代化的關系數(shù)據(jù)庫技術的應用凸顯出非常明顯的優(yōu)勢。關系數(shù)據(jù)庫系統(tǒng)中存儲著大量的數(shù)據(jù)信息,可以無限容量的輸入或者錄入數(shù)據(jù)信息,在計算機網(wǎng)絡的設計中,可以通過數(shù)據(jù)庫的的輔助功能對數(shù)據(jù)信息進行調(diào)度,推復雜的信息進行處理。關系數(shù)據(jù)庫的數(shù)據(jù)系統(tǒng)操作起來非常便捷,出現(xiàn)失誤的概率非常小,操作準確便捷,目前在各種數(shù)據(jù)庫中,關系數(shù)據(jù)庫的運用最為廣泛,比較適合現(xiàn)代化復雜的數(shù)據(jù)管理。

3.2數(shù)據(jù)靈活轉(zhuǎn)換

大多的計算機網(wǎng)絡設計中,不可避免的會涉及到社會生產(chǎn)的多個方面,要求計算機網(wǎng)絡一定要實現(xiàn)不同數(shù)據(jù)之間的轉(zhuǎn)換,促進計算機網(wǎng)絡設計軟件的正常運行。所以對不同數(shù)據(jù)之間的轉(zhuǎn)換工作已經(jīng)成為了計算機網(wǎng)絡技術發(fā)展的重點。關系數(shù)據(jù)庫在計算機網(wǎng)絡設計中的應用具有簡便的數(shù)據(jù)轉(zhuǎn)換功能,通過關系數(shù)據(jù)庫可以將計算機中大部分的軟件按照不同的需求進行轉(zhuǎn)換,轉(zhuǎn)換的功能非常高效。關于軟件的轉(zhuǎn)換主要是關系數(shù)據(jù)庫將計算機網(wǎng)絡設計中的計算機軟件與網(wǎng)絡管理軟件進行相互鏈接,從而實現(xiàn)了計算機中大部分軟件之間自由轉(zhuǎn)換。一旦數(shù)據(jù)轉(zhuǎn)換的問題得到解決,那么計算機網(wǎng)絡設計在日常的運行中就會起到良好的效果。

3.3輔助設計功能

關系數(shù)據(jù)庫在計算機網(wǎng)絡設計中主要起到輔助設計的功能,計算機網(wǎng)絡設計的資源來源于數(shù)據(jù)庫,數(shù)據(jù)庫的信息量非常大,而且具有特定的描述特征。把相關的數(shù)據(jù)進行組合,得到相應的網(wǎng)絡參數(shù),便于計算機網(wǎng)絡數(shù)據(jù)的輸入,并且解決相關的設計問題。在計算機網(wǎng)絡設計中,光纖是比不可少的應用,網(wǎng)絡數(shù)據(jù)庫的存在使得光纖設計過程中的相關設備的數(shù)據(jù)可以相互融合,加快傳播速度。關系數(shù)據(jù)庫技術在計算機網(wǎng)絡設計中的應用能夠及時的發(fā)現(xiàn)數(shù)據(jù)輸入是的錯誤并且及時解決。

3.4概念單一

關系數(shù)據(jù)庫是建立在嚴格的數(shù)學概念基礎之上,概念比較單一,實體與實體之間都存在必然的聯(lián)系,數(shù)據(jù)結(jié)構簡單清晰、數(shù)據(jù)的存取路徑對用戶透明,所以關系數(shù)據(jù)庫技術具有更高的數(shù)據(jù)獨立性和安全保密性。

4結(jié)束語

關系數(shù)據(jù)庫可以對海量信息進行存儲、利用以及轉(zhuǎn)化,在計算機網(wǎng)絡設計中的運用可以使操作更加準確便捷。隨著科學技術的快速發(fā)展與進步,對計算機網(wǎng)絡設計是一個巨大挑戰(zhàn),對計算機網(wǎng)絡的設計需要高度重視,抓住當前的發(fā)展機遇,逐漸的將關系數(shù)據(jù)庫技術運用到計算機網(wǎng)絡設計中,使計算機網(wǎng)絡設計更加優(yōu)化,促進我國計算機技術與信息技術的穩(wěn)定發(fā)展。

參考文獻

[1]李遠英.計算機網(wǎng)絡設計中關系數(shù)據(jù)庫技術的應用探析[J].通訊世界,2016-11-25.

[2]徐闖.計算機網(wǎng)絡設計中關系數(shù)據(jù)庫技術的應用[J].信息技術與信息化,2016-03-25.

[3]朱曉寧.關系數(shù)據(jù)庫技術在計算機網(wǎng)絡設計中的運用[J].智能城市,2016-04-25.

篇6

[關鍵詞]關系數(shù)據(jù)庫SQL查詢對策

中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)1210080-01

在各類大型應用軟件的數(shù)據(jù)庫中,都存在大量的數(shù)據(jù)信息和記錄,經(jīng)常要對它們進行各種數(shù)據(jù)操作。SQL(Structrued Query Language)作為結(jié)構化查詢語言,是大型計算機操作關系數(shù)據(jù)庫的標準查詢語言,同時也廣泛地應用到小型計算機的數(shù)據(jù)庫管理系統(tǒng)中。它是一種高度非過程化的語言,即只要用戶按其語法規(guī)則寫出符合操作要求的語句,而并不需要告訴系統(tǒng)應如何執(zhí)行SQL語句,就可得到所要求的結(jié)果。隨著數(shù)據(jù)庫技術的廣泛應用,在數(shù)據(jù)庫程序的開發(fā)過程中,大量的工作是要進行數(shù)據(jù)查詢和檢索處理。本文從SQL查詢語句執(zhí)行的過程入手,對其執(zhí)行效率進行分析,并給出參考性建議和優(yōu)化策略。

一、SQL語句執(zhí)行過程解析

在平時書寫SQL查詢語句時,雖然每個人的寫法不盡相同,而且有時個別子句順序并不影響操作結(jié)果,但是在各種數(shù)據(jù)庫管理系統(tǒng)中,標準的SQL的解析順序為:

1.FROM子句,組裝來自不同數(shù)據(jù)源的數(shù)據(jù);

2.WHERE子句,基于指定的條件對記錄進行篩選;

3.GROUP BY子句,將數(shù)據(jù)劃分為多個分組;

4.使用聚合函數(shù)進行計算;

5.使用HAVING子句篩選分組;

6.計算所有的表達式;

7.使用ORDER BY對結(jié)果集進行排序。

通過以上SQL語句的解析過程,我們可以對SQL查詢語句進行優(yōu)化處理。SQL查詢語句的核心結(jié)構是SELECT…FROM…WHERE,了解了這個基本結(jié)構,我們可以從以下幾個方面對其進行優(yōu)化處理。

二、效率分析及優(yōu)化對策

(一)從From子句入手

From子句后面接單表或者多表,通常情況下接受來自不同數(shù)據(jù)源的多表。如果是單表,一般情況下對表進行快速全表掃描。如果是多表的情況,查詢設計優(yōu)化器將采取自右向左的順序依次讀取數(shù)據(jù)表。如以下語句:“From table1,table2,table3”,優(yōu)化器將優(yōu)先讀取table3表,然后是table2表,最后是table1表。在進行From子句的多表連接時,就需要結(jié)合條件子句WHERE進行分析,需要遵循下面的規(guī)則:1. 當WHERE后面接的條件能夠一次性過濾某個表的大量記錄時,應優(yōu)先處理該表。2. 如果WHERE后面接的條件不能過濾掉大量記錄時應該優(yōu)先考慮處理記錄數(shù)最少或者索引關鍵值最少的表。

(二)從條件子句WHERE入手

WHERE子句后面通常接過濾條件,對表的記錄進行篩選,篩選出符合條件的記錄。如果SELECT查詢語句沒有WHERE子句,則無須對表記錄進行過濾。若后面接單個表,則通常順序掃描全表。若后接多表或者大量記錄表時,則可以考慮用索引來減少查詢的時間。所以在查詢前可對各個表建立比較的索引。對WHERE子句中出現(xiàn)的條件,可以依據(jù)以下原則首先來驅(qū)動查詢。

(1)建立索引字段的列比沒有建立索引的要快;(2)主索引要比普通索引快;(3)單索引要比符合索引快;(4)有條件約束要比沒有條件約束要快。

此外,WHERE子句通常采用自下而上的順序解析WHERE子句,根據(jù)這個原理,表之間的連接必須寫在其他WHERE條件之前,那些可以過濾掉最大數(shù)量記錄的條件必須寫在WHERE子句的末尾。根據(jù)以上原則,我們可以判斷出以下四個語句中哪個選項語句效率最高。

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語句的作用是對記錄進行分組(劃分成較小的組),使用聚合函數(shù)返回每一個組的匯總信息,而HAVING子句限制返回的結(jié)果集。在一個SQL語句中可以有WHERE子句和HAVING子句。HAVING與WHERE子句類似,均用于設置限定條件。WHERE子句的作用是在對查詢結(jié)果進行分組前,將不符合WHERE條件的記錄過濾掉,而HAVING子句的作用是篩選滿足條件的組,即在分組之后過濾數(shù)據(jù),但它不能單獨使用,只能配合GROUP By語句使用,該條件中經(jīng)常包含聚組函數(shù),使用HAVING條件顯示特定的組,也可以使用多個分組標準進行分組。雖然HAVING子句可以起到過濾的作用,但是要盡量避免使用HAVING子句,HAVING只會在檢索出所有記錄之后才對結(jié)果集進行過濾。這個處理需要排序,總計等操作。如果能通過WHERE子句限制記錄的數(shù)目,而且能盡早地把不滿足條件的記錄過濾掉,那就能減少這方面的開銷。

(四)從謂詞等方面入手

在SELECT語句中,由于實際需要,查詢語句會經(jīng)常出現(xiàn)謂詞。常用的謂詞有EXIST,NOT EXSIT,IN,NOT IN等,巧用謂詞也會提高SQL語句的執(zhí)行效率,可參考以下原則編寫SQL語句。

1.Where子句中盡量不要使用IS NULL或IS NOT NULL的語句,因為它們不會使用索引。

2.WHERE子句盡量不要將通配符(%)放在搜尋詞首出現(xiàn),通配符(%)在搜尋詞首出現(xiàn)不會使用索引。

3.用EXISTS代替IN。在許多基于基礎表的查詢中,為了滿足一個條件,往往需要對另一個表進行聯(lián)接。在這種情況下,使用EXISTS(或NOT EXISTS)通常將提高查詢的效率。

4.用表連接代替EXISTS。通常來說,采用表連接的方式比EXISTS更有效率。

5.用EXISTS代替DISTINCT。當提交一個包含一對多表信息(比如班級表和學生表)的查詢時,避免在SELECT子句中使用DISTINCT。一般可以考慮用EXIST替換。

6.WHERE子句盡量少使用NOT或是,應該成OR來實行,使用OR時應該把結(jié)果集小的條件放在前面。

7.UNION改用UNION ALL,UNION要對合并的結(jié)果進行排序,UNION ALL不排序。

8.ORDER BY子句中盡量不要使用非索引列。

三、結(jié)語

通過對SQL查詢語句執(zhí)行過程的分析,可以從以上幾個方面對其進行優(yōu)化改進,從而提高了數(shù)據(jù)庫查詢和檢索的效率。當然,具體的查詢語句還要根據(jù)具體需要,并結(jié)合具體的數(shù)據(jù)庫系統(tǒng)而定。只有多總結(jié)多積累才能寫出高質(zhì)量高效率的查詢語句,當然這只是提高數(shù)據(jù)檢索的一個方面,在其他方面的設計也要進行優(yōu)化,如對表建立必要的索引,減少表之間的連接,或盡量在索引屬性列上建立連接等。總之,通過以上幾個方面的綜合優(yōu)化,一定會使數(shù)據(jù)庫查詢與檢索效率有很大的提高。

參考文獻:

[1]王振輝、吳廣茂,SQL查詢語句優(yōu)化研究[J].計算機應用,2005,25(12).

[2]徐鳳梅,關系數(shù)據(jù)庫中SQL查詢語言的優(yōu)化策略[J].廣西輕工業(yè),2009,126(5).

[3]鄧文艷,基于關系數(shù)據(jù)庫的查詢優(yōu)化技術[J].太原科技,2007(12).

[4]楊克昌,Visual FoxPro程序設計教程[M].長沙:湖南科學技術出版社,2004.

[5]李瑩、代勤,關系代數(shù)運算與SQL查詢的對應關系[J].內(nèi)蒙古農(nóng)業(yè)大學學報(自然科學版),2003,24(3).

篇7

數(shù)據(jù)庫技術發(fā)展至今已有40多年的歷史,它作為數(shù)據(jù)管理的有效手段,大大促進了計算機應用技術的發(fā)展。從早期的文件系統(tǒng)到層次數(shù)據(jù)庫和網(wǎng)狀數(shù)據(jù)庫,從關系數(shù)據(jù)庫到面向?qū)ο髷?shù)據(jù)庫,以及面向不同應用的時態(tài)數(shù)據(jù)庫、演繹數(shù)據(jù)庫等等,均向人們展示了數(shù)據(jù)庫技術的廣闊應用前景[2]。關系數(shù)據(jù)庫,顧名思義是建立在關系數(shù)據(jù)庫模型基礎上的數(shù)據(jù)庫,借助于集合代數(shù)、離散數(shù)學等概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。關系數(shù)據(jù)庫是一個被組織成一組擁有正規(guī)描述的表格,該形式表格作用的實質(zhì)是裝載著數(shù)據(jù)項的特殊收集體。這些表格中的數(shù)據(jù)以許多不同的方式被存取或重新召集而不需要重新組織數(shù)據(jù)庫表格[3]。除了相對容易創(chuàng)建和存取之外,關系數(shù)據(jù)庫具有容易擴充的優(yōu)勢。在最初數(shù)據(jù)庫創(chuàng)造之后,一個新的數(shù)據(jù)種類能被添加而不需要修改所有的現(xiàn)有應用軟件。目前主流的關系數(shù)據(jù)庫有Oracle、SQL、Aceess、DB2、MySQL、SQLServer、Sybase等等[4]。根據(jù)本校辦學規(guī)模和處理信息量,采用ACEESS作為本系統(tǒng)數(shù)據(jù)庫的管理工具。

2數(shù)據(jù)庫模型建立

2.1應用需求抽象

根據(jù)學員信息管理的具體任務,按照管理功能進行業(yè)務劃分和模塊化設計。按照簡單性、獨立性及完整性原則,學員信息管理系統(tǒng)后臺可以分為以下幾個子系統(tǒng):即學員檔案管理子系統(tǒng)、課程管理子系統(tǒng)、成績管理子系統(tǒng)、中隊管理子系統(tǒng)、管理統(tǒng)計子系統(tǒng)、系統(tǒng)管理子系統(tǒng)、系統(tǒng)維護子系統(tǒng)。(1)學員檔案管理子系統(tǒng)學員檔案管理主要有學員管理、批量學員添加、按中隊批量學員添加等功能。(2)課程管理子系統(tǒng)課程管理子系統(tǒng)主要有課程管理、批量課程添加、任課管理、任課添加等功能。(3)成績管理子系統(tǒng)成績管理子系統(tǒng)完成成績管理、批量成績添加、按中隊成績添加功能。(4)中隊管理子系統(tǒng)中隊管理子系統(tǒng)完成中隊管理、中隊批量添加兩個子模塊功能。(5)管理統(tǒng)計子系統(tǒng)管理統(tǒng)計子系統(tǒng)顯示學校基本信息,包括年級數(shù)、中隊數(shù)、學員數(shù)、教師數(shù)、課程數(shù)、用戶瀏覽統(tǒng)計等相關信息,還可完成學員統(tǒng)計、排名統(tǒng)計功能。(6)系統(tǒng)管理子系統(tǒng)系統(tǒng)管理子系統(tǒng)包括修改管理員密碼、帳號管理、干部管理、年級管理、學期管理功能。(7)系統(tǒng)維護子系統(tǒng)系統(tǒng)維護子系統(tǒng)主要完成系統(tǒng)的相關設置功能,包括站點名稱,站點LOGO設置,網(wǎng)站主體表格屬性設置,年級變遷(這里主要是對年級進行批量升級操作,也可以在中隊管理下單個進行升級)。

2.2數(shù)據(jù)庫表關系建立

關系數(shù)據(jù)庫模式的建立,離不開數(shù)據(jù)表之間關系的建立,只有建立表之間的關系,整個數(shù)據(jù)庫才能形成一個系統(tǒng),提供強大的信息存儲、查詢、和處理功能[5]。對比應用需求說明和現(xiàn)實學校各部門的業(yè)務流程,設計數(shù)據(jù)庫表之間的關系如圖1所示。(1)學員和評語之間存在一對多的對應關系,即一個學員可以有多條來自不同老師的評語;學員和家長存在一對多的對應關系,即一個學員可以對應一個家長,方便家長對學員相關信息進行查詢。學員和平時成績存在一對多的對應關系,即一個學員可以有多種平時成績;同時,學員還和中隊有多對一對應關系,即一個中隊可以有多個學員。(2)中隊和成績有一對多的對應關系,即一個中隊可以有多條成績;中隊和年級有一對一的對應關系,即一個中隊屬于一個年級。中隊和大隊有一對一的對應關系,即一個中隊屬于一個大隊,中隊和任課信息有一對多的對應關系即一個中隊有多條任課關系與之對應。大隊和中隊有一對多的對應關系,即一個大隊對應多個中隊。(3)任課信息表中的教師ID和教師信息表中ID存在一一對應關系。教師表中ID和任課教師信息表中的ID存在一對多的關系。即一個教師可以有多個任課關系。任課教師表中的課程ID和課程表中的課程ID存在一一對應關系。任課信息表中的學期和學期ID存在一一對應關系。即一個任課信息對應一個學期。成績表中的課程ID和課程信息表中的ID存在一一對應關系,成績表中的學期ID和學期表中的學期ID存在一一對應關系。

2.3數(shù)據(jù)庫模式設計

2.3.1關系數(shù)據(jù)庫設計中存在問題

(1)數(shù)據(jù)冗余:在一個數(shù)據(jù)集合中重復的數(shù)據(jù)稱為數(shù)據(jù)冗余。例如在設計時沒有把教師信息表Teacher和任課信息表tea_sub分開,那么每存儲一條任課信息tea_sub(tsid、ts_tea_user、ts_sub_id、ts_ter_id、ts_cla_id)教師表中的其他信息也要重復存儲[4]。(2)更新異常:更新異常分為插入異常和刪除異常。插入異常:比如學員信息表student,如果不知道學號,那么插入再多的其他信息都是沒有意義的。例如一個剛?cè)肼毜慕處熇硭斎灰谌握n信息表中有其相關數(shù)據(jù),但此時他還沒有任課,即他對應的元組<ts_sub_id、ts_ter_id、ts_cla_id>是不完全的,只有<tsid、ts_tea_user、ts_sub_id>而沒有<ts_ter_id、ts_cla_id>,不能將他的信息放到數(shù)據(jù)庫中。因此無法注冊該教師的任課信息,這與實際需求不符。這樣的操作是不合理的,將這種現(xiàn)象稱為插入異常。刪除異常:例如在沒分解的教師信息表中的任課信息中,相應的任課關系解除。那么刪除整條記錄,該教師的其他信息也被刪除,在查詢的時候無法查閱該教師相關信息,這也與實際需求相悖,將這種現(xiàn)象稱為刪除異常。數(shù)據(jù)庫的性能優(yōu)化包括硬件優(yōu)化,查詢優(yōu)化和設計優(yōu)化三個方面。本文著重介紹設計優(yōu)化即模式優(yōu)化,模式優(yōu)化重點解決數(shù)據(jù)冗余和更新異常問題。

2.3.2數(shù)據(jù)庫模式的規(guī)范化

在對數(shù)據(jù)庫進行模式設計時,對關系的分解并不是盲目的,分解的目的在于減少關系模式的規(guī)模,避免不必要的存儲及操作的冗余和數(shù)據(jù)更新異常。為了清除異常,需要對關系模式進行合理地分解。為此,人們設計數(shù)據(jù)庫設計的規(guī)范化理論,以便能夠設計出異常盡可能少的數(shù)據(jù)庫模式[4]。據(jù)參考文獻[4]所述,數(shù)據(jù)庫模式分為6級,具體的定義見參考書目。分別是1NF:是關系數(shù)據(jù)庫對模式的基本要求,即要求屬性的值必須是原子屬性不可再分。2NF:消除了數(shù)據(jù)庫模式中非主屬性對碼的部分依賴。3NF:消除了數(shù)據(jù)庫模式中非主屬性對碼的傳遞依賴。BCNF:消除了數(shù)據(jù)庫模式中一切屬性對碼的傳遞依賴。4NF:消除了數(shù)據(jù)庫模式中非平凡的和非碼所隱患的多值依賴。5NF:消除了數(shù)據(jù)庫模式中非平凡的和非碼所隱患的連接依賴[4]。范式的級別由小到大分別是有1NF到5NF。范式的級別越低,冗余與更新異常就越容易產(chǎn)生[6]。(1)滿足1NF的學員信息表分解,在學員信息表中每一個屬性都該是原子屬性,故對部職別進行分解。由消防部隊的編制特點,每個省、自治區(qū)、直轄市均有相應的消防總隊;每個地級市、自治州、區(qū)都有相應的消防支隊。學校學員來自五湖四海,故對學員信息表中的部職別屬性進行分解。由于有的學員來自總隊和支隊機關,故把部職別分為總隊和部職別兩個屬性,即<yuanbubie>分解為<yuanbu-bie、province>,province為province表中的省份ID??傟牨碓O計為province(pid、pname)。在學員信息表中只要存儲省份ID就行。不用再存儲省份名。最長總隊名新疆維吾爾族自治區(qū)消防總隊所占字節(jié)為26Btye,所占ID為2Byte。按新疆總隊有學員121名計算,模式分解前學員原部別信息中存儲總隊信息需用26Btye×121=3164Byte;而模式分解后存儲ID信息占用2Btye×121=242Byte。(2)滿足BCNF的教師信息表分解,在2.4.1節(jié)數(shù)據(jù)庫設計存在問題中提到數(shù)據(jù)冗余和刪除異常,在沒分解的教師信息表的任課信息中,相應的任課關系解除。那么刪除整條記錄,該教師的其他信息也被刪除,在查詢的時候無法查閱該教師相關信息,這也與實際需求相悖。要解決刪除異常,即把教師信息表Teacher分解為教師基本信息表teacher和任課教師信息表tea_sub(tsid、ts_tea_user、ts_sub_id、ts_ter_id、ts_cla_id)。這樣的分解既解決了數(shù)據(jù)冗余的問題,也解決了刪除異常的問題。分解后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。數(shù)據(jù)庫的規(guī)范化設計還有很多,根據(jù)系統(tǒng)應用需求的變更和數(shù)據(jù)規(guī)模的遞增,需要設計相應的數(shù)據(jù)模式來優(yōu)化昆明消防指揮學校學員綜合信息管理系統(tǒng)的數(shù)據(jù)庫性能,使之滿足應用需求,更好地為學校教師、學員和管理人員提供便捷的信息化服務。

3結(jié)束語

篇8

關鍵詞:數(shù)字圖書館;信息組織;數(shù)據(jù)庫技術

中圖分類號: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

一、前言

互聯(lián)網(wǎng)技術的發(fā)展給數(shù)字圖書館的發(fā)展帶來了很多的機遇,信息的類型以及信息的傳播方式也隨之發(fā)生了巨大改變。數(shù)字圖書館旨在建立一種大規(guī)模的并且可以拓展的海量的數(shù)字化信息資源庫,其能把無序的、復雜的資源變得更加有序化、更加有益于使用。與此同時,在現(xiàn)階段,我們更應該在結(jié)合互聯(lián)網(wǎng)技術的前提之下,把封閉的和精致的信息資源轉(zhuǎn)變成可以超越時間限制以及空間限制的信息資源,以向用戶提供更加高效及更加便捷的數(shù)字化信息為最終目的。

數(shù)字圖書館的發(fā)展雖然已經(jīng)經(jīng)歷了不是很長時期,但是相對于傳統(tǒng)的圖書館而言,數(shù)字圖書館仍然是一種比較先進和現(xiàn)代化的方式。這項技術通常與先進的網(wǎng)絡信息技術緊密連接,這是實現(xiàn)資源共享的主要方式之一。數(shù)字圖書館的信息資源需要進行組織和描述,以給使用者帶來方便,所以應該探索一種適合數(shù)字圖書館信息組織的技術。經(jīng)實踐證明,數(shù)據(jù)庫技術在數(shù)字圖書館信息組織方面便具有很大的潛力和優(yōu)勢?,F(xiàn)階段,數(shù)據(jù)庫在我國數(shù)字圖書館的信息處理中已經(jīng)得到較為廣發(fā)的應用,大致上可以分為兩大種類,第一類是應用數(shù)據(jù)庫管理系統(tǒng)的軟件進行了二次開發(fā)為用戶提供查詢服務。另外一種是,商業(yè)化的數(shù)據(jù)庫。這一些數(shù)據(jù)庫更新?lián)Q代是相對迅速的、高效的。

數(shù)字圖書館中的信息資源不僅極為復雜,而且信息量又非常大,既有影像資料也有電子文本等各種格式,還有軟件等其他形式,數(shù)字圖書館便是對這一些數(shù)字對象的集中分析、處理、整合以及輸出整理等。數(shù)字圖書館信息組織的數(shù)據(jù)庫技術的現(xiàn)狀數(shù)字圖書館的信息組織的對象是數(shù)字信息資源,主要方式是對其進行選擇、描述和整合等一系列的內(nèi)容,以使其變得更加有序化,形成一個有機的整體,使資源的利用更加的方便和高效。數(shù)字圖書館信息組織是至關重要的,因為這直接關系到數(shù)據(jù)存儲的質(zhì)量以及所提供的信息服務的好壞,在總體上會直接影響到系統(tǒng)運行的性能。

數(shù)字圖書館作為一個十分龐大的系統(tǒng),其具有分布廣泛、規(guī)模大、信息容量大等特點,必須需要組織及其明確的數(shù)據(jù)庫技術,只有這樣才能夠最大程度上保證用戶進行訪問的質(zhì)量與速度,以獲得自己所需要的最終信息,數(shù)據(jù)庫的建立是在一定的計算機和網(wǎng)絡技術基礎之上的,這是數(shù)字圖書館信息系系統(tǒng)所具有的基本特征。從其本質(zhì)上特征來講,便是建立在計算機網(wǎng)絡技術基礎之上的數(shù)據(jù)庫信息系統(tǒng)。數(shù)據(jù)庫技術是數(shù)字圖書館的用戶獲取信息,以及對信息進行存儲、組織和檢索、分析統(tǒng)計等的技術基礎。所以數(shù)據(jù)庫的技術應該引起我們的重視和關注。數(shù)字圖書館的建立以及信息資源的開發(fā)和利用甚至是信息資源的配置和傳播,都從很大程度上依賴于數(shù)據(jù)庫技術。從宏觀上來講,數(shù)據(jù)庫技術主要包括數(shù)據(jù)倉庫技術、多媒體數(shù)據(jù)庫技術、關系數(shù)據(jù)庫技術等。

二、數(shù)字圖書館的信息組織

數(shù)字圖書館組織的信息對象除了傳統(tǒng)的文字信息以外還有圖像、聲音以及視頻等其他類型,這些信息在數(shù)字圖書館變化成為一些數(shù)字化層面的信息,并且在一定程度上與原有的載體分割開來,總體上來看,數(shù)字圖書館信息組織的對象主要是跨媒體的信息對象。信息數(shù)字化的過程是一個復雜的過程,信息可能會分布在不同的數(shù)據(jù)服務器上,而不僅僅是傳統(tǒng)的儲存在同一個地方。數(shù)字化圖書館還要面臨的就是信息總量的不斷增長,因為伴隨著信息的處理以及信息的傳播等各方面技術的快速發(fā)展,信息總量的增加是必然趨勢。在這些前提之下,數(shù)字圖書館的信息處理方式會是一種跨越時間和空間限制的方式,還具有全球化的特征。

圖書館的信息組織必須在一定的原則基礎之上完成,這些原則主要包括多維揭示原則、非線性原則、以及選擇性原則、標準性原則和完備性原則等。

三、數(shù)據(jù)庫技術在數(shù)字圖書館信息組織中的應用

(一)數(shù)據(jù)倉庫技術在數(shù)字圖書館信息組織中的應用

數(shù)字圖書館提供的不僅僅是一次性的信息,還要提供一些經(jīng)過深層次開發(fā)的信息,不僅要讓讀者感受到信息的導航和信息的提供這些簡單的和傳統(tǒng)的內(nèi)容,還要提供信息的分析和信息的決策支持等更深層次的服務,這些要求和發(fā)展趨勢就使得數(shù)據(jù)倉庫技術越來越成為圖書館信息組織的必不可少的數(shù)據(jù)庫形式。數(shù)據(jù)倉庫是很多數(shù)據(jù)的集合。這些數(shù)據(jù)主要用于支持管理的決策過程,并且具有集成、不可更新以及隨時間不斷變化等特點。實際上,數(shù)據(jù)倉庫是一個過程,是一個業(yè)務處理系統(tǒng)獲得數(shù)據(jù),最后為用戶提供從數(shù)據(jù)中獲取信息和知識的各種方法和手段。

數(shù)據(jù)倉庫具有其他類型的數(shù)據(jù)庫所不具有的一些特點,第一,數(shù)據(jù)倉庫技術具有存儲信息量大的特點,一般會比其他的數(shù)據(jù)庫大。第二,數(shù)據(jù)倉庫還具有集成性的特點。在數(shù)據(jù)倉庫中,數(shù)據(jù)的來源是很復雜的,信息源不同,所以必須對原始的數(shù)據(jù)進行一定的處理時候才能夠進行統(tǒng)一和整合,以適合數(shù)據(jù)倉庫的要求。第三,數(shù)據(jù)具有很強的穩(wěn)定性能。數(shù)據(jù)倉庫具有一個明顯的優(yōu)勢,那便是可以對很長一段時間以內(nèi)的歷史數(shù)據(jù)進行保留,這樣就避免了頻繁的數(shù)據(jù)的處理和更新。

數(shù)字圖書館的籌建和發(fā)展過程中一定會產(chǎn)生大量的信息數(shù)據(jù),這是構建數(shù)據(jù)倉庫的基礎。作為一個具有整體性的技術體系,數(shù)據(jù)倉庫經(jīng)歷了初步發(fā)展之后已經(jīng)形成一定的規(guī)模,已經(jīng)有足夠的技術基礎和普及的條件。同時,數(shù)據(jù)倉庫具有另外一個優(yōu)勢,它不僅僅是在數(shù)字圖書館中得到了一定應用,而且在其他一些相關領域具有實際應用的先例,這些便為數(shù)據(jù)倉庫在數(shù)字圖書館中的應用奠定了相當深厚的技術基礎和值得借鑒的成功經(jīng)驗。

只有圖書管理過程的科學和先進才能夠保證圖書管理的科學和規(guī)范,才能夠為讀者節(jié)約時間、提高效率和獲取更多的信息。所以圖書館的管理更應該向著科學化的方向發(fā)展和改進。數(shù)據(jù)倉庫技術的出現(xiàn)和發(fā)展很大程度上改善了原有的狀況,從很大程度上避免了主觀經(jīng)驗的盲目性,形成的決策相對的具有理性,更加適應時代的需求和讀者的需求。這種數(shù)據(jù)庫的集中優(yōu)點便是,第一,把圖書館內(nèi)部的數(shù)據(jù)與外部的信息進行了有機統(tǒng)一和集中管理,這樣的信息更加全面,也防止了發(fā)生決策失誤的風險。第二,這種數(shù)據(jù)庫在處理集成數(shù)據(jù)是具有可靠性和可行性。采用這種數(shù)據(jù)庫可以對集成的數(shù)據(jù)進行分析比較。

(二)關系數(shù)據(jù)庫在信息處理上的應用

關系數(shù)據(jù)庫在關系模型提出的基礎上已經(jīng)得到了長足發(fā)展,所以在結(jié)構化的數(shù)據(jù)處理方面具有很大的優(yōu)勢,在處理文本數(shù)據(jù)、管理事務等方面的優(yōu)勢也是顯而易見的,但是此類數(shù)據(jù)庫也有缺點,不能夠滿足一些高層次的要求,所以就出現(xiàn)了一些新的數(shù)據(jù)庫擴充功能。同時,在多媒體的信息處理方面關系數(shù)據(jù)庫比較適合于處理文本,但是不太適合處理多媒體的信息。實際上在數(shù)字圖書館中的很大一部分信息的處理還是依賴于關系數(shù)據(jù)庫,例如各種統(tǒng)計數(shù)據(jù)、數(shù)值和事實數(shù)據(jù)庫等。

(三)多媒體數(shù)據(jù)庫在數(shù)字圖書館信息處理中的應用

隨著數(shù)字圖書館的發(fā)展,出現(xiàn)了很多圖像、聲音以及視頻等其他格式的信息,這些信息的傳播和存儲是必然離不開多媒體數(shù)據(jù)庫的。

(四)面向?qū)ο蟮臄?shù)據(jù)庫技術在數(shù)字圖書館信息組織中的應用

面向?qū)ο蟮姆椒ㄆ鋵嵤且环N程序語言,廣泛存在于計算機行業(yè)的各個領域,不僅僅是一個面向?qū)ο蟮南到y(tǒng),還是一個數(shù)據(jù)庫系統(tǒng)。用一種與客觀世界比較直接的映射方式很好地實現(xiàn)了抽象、封裝、復雜性控制、信息隱蔽等機制。但是,這種數(shù)據(jù)庫的原理、適用范圍以及方法等很多方面的內(nèi)容并沒有得到專業(yè)人士的一致認可,還存在一些分歧,并且這種數(shù)據(jù)庫的工具、環(huán)境和對面向?qū)ο蠓椒ǖ闹С殖潭榷歼€有待進一步的完善。

(五)非結(jié)構化數(shù)據(jù)庫技術在數(shù)字圖書館信息處理中的應用

文本、圖像和聲音等很多形式的信息是無法用數(shù)字或者統(tǒng)一的結(jié)構來表示的。非結(jié)構化數(shù)據(jù)庫變主要是用來處理這一種類型的數(shù)據(jù)。這種數(shù)據(jù)庫的獨特優(yōu)勢便是支持重復字段、子字段以及變長字段,突破了關系數(shù)據(jù)庫結(jié)構定義不易改變和數(shù)據(jù)定長的限制。非結(jié)構化的數(shù)據(jù)庫在處理多媒體信息上是很輕松的,因為其記錄是不定長的。

另外,數(shù)字圖書館的信息組織常使用到的數(shù)據(jù)庫形式還有其他一些形式,這些數(shù)據(jù)庫是維持數(shù)字圖書館信息安全以及傳播的技術基礎,數(shù)據(jù)庫之間取長補短,充分發(fā)揮優(yōu)勢,可以更好地為數(shù)字圖書館的建設和發(fā)展做出貢獻。

參考文獻:

[1]汪鑫.數(shù)字圖書館建設中的數(shù)據(jù)倉庫技術應用研究[J].科技創(chuàng)新導報,2010,29

篇9

關鍵詞:數(shù)據(jù)庫營銷;數(shù)據(jù)倉庫;數(shù)據(jù)挖掘;關聯(lián)分析;聯(lián)機分析處理

中圖分類號: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的發(fā)展提供了嶄新的營銷渠道和營銷手段,如網(wǎng)上營銷和數(shù)據(jù)庫營銷。網(wǎng)上營銷只是提供一種新的信息溝通工具,而數(shù)據(jù)庫營銷則提供了一種全新的營銷模式,因為它可使營銷者更迅速、更準確低抓著消費者的需要,甚至能使營銷者比消費者本人更了解其需要。所以在最近幾年內(nèi),數(shù)據(jù)庫營銷的理念在行業(yè)內(nèi)不斷被提到,而且其技術也迅速得到發(fā)展。下面筆者就簡單地談一下實現(xiàn)數(shù)據(jù)庫營銷系統(tǒng)的關鍵技術。

2 數(shù)據(jù)庫營銷

2.1 數(shù)據(jù)庫營銷的概念

數(shù)據(jù)庫營銷(Database Marketing)將營銷數(shù)據(jù)建立成數(shù)據(jù)庫,并通過對數(shù)據(jù)庫內(nèi)數(shù)據(jù)的分析,進行市場營銷活動[1]。

具體來說,就是將客戶的銷售歷史數(shù)據(jù)等營銷數(shù)據(jù)建立數(shù)據(jù)庫,并根據(jù)對數(shù)據(jù)庫內(nèi)數(shù)據(jù)的分析,確認目標客戶,迅速準確地獲知其需求,了解其特征,傳達產(chǎn)品和服務的相關信息,以便更有效地進行市場營銷活動,維系顧客和提高銷售額。其旨在建立互信共贏的客戶關系,數(shù)據(jù)庫服務過程本身即可視為數(shù)據(jù)庫營銷過程。數(shù)據(jù)庫的數(shù)據(jù)必須是動態(tài)的,可擴充的和及時更新的,涵蓋現(xiàn)有客戶和潛在客戶。

2.2 數(shù)據(jù)庫營銷的特點

與傳統(tǒng)的數(shù)據(jù)庫營銷相比,網(wǎng)絡數(shù)據(jù)庫營銷的獨特價值主要表現(xiàn)在三個方面[2]:

1)動態(tài)更新

數(shù)據(jù)庫營銷具有數(shù)據(jù)量大、易于修改、能實現(xiàn)動態(tài)數(shù)據(jù)更新、便于遠程維護等多種優(yōu)點,還可以實現(xiàn)顧客資料的自我更新。網(wǎng)絡數(shù)據(jù)庫的動態(tài)更新功能不僅節(jié)約了大量的時間和資金,同時也更加精確地實現(xiàn)了營銷定位,從而有助于改善營銷效果,這是其他的營銷技術所不能比的。

2)顧客主動加入

僅靠現(xiàn)有顧客資料的數(shù)據(jù)庫是不夠的,除了對現(xiàn)有資料不斷更新維護之外,還需要不斷挖掘潛在顧客的資料,這項工作也是數(shù)據(jù)庫營銷策略的重要內(nèi)容。在沒有借助互聯(lián)網(wǎng)的情況下,尋找潛在顧客的信息一般比較難,要花很大代價。而在網(wǎng)絡營銷環(huán)境中,有超過50%的顧客愿意提供自己的部分個人信息,這樣就便于營銷工作的進行。顧客在登記的時候,一般是將信息填寫在一些表格中,例如,我們注冊會員用戶時填寫的信息。但是,營銷人員在對顧客進行登記時需要從他們的實際利益出發(fā),合理地利用顧客的主動性來豐富和擴大顧客數(shù)據(jù)庫。在某種意義上,郵件列表可以認為是一種簡單的數(shù)據(jù)庫營銷,數(shù)據(jù)庫營銷同樣要遵循自愿加入、自由退出的原則。

3)改善顧客關系

優(yōu)秀的顧客數(shù)據(jù)庫是網(wǎng)絡數(shù)據(jù)庫營銷取得成功的重要保證。在互聯(lián)網(wǎng)上,顧客希望得到更多個性化的服務,比如,顧客定制的信息接收方式和接收時間,顧客的興趣愛好、購物習慣等等都是網(wǎng)絡數(shù)據(jù)庫的重要內(nèi)容,根據(jù)顧客個人需求提供針對性的服務是網(wǎng)絡數(shù)據(jù)庫營銷的基本職能,因此,網(wǎng)絡數(shù)據(jù)庫營銷是改善顧客關系最有效的工具。

2.3 實現(xiàn)數(shù)據(jù)庫營銷的關鍵技術

數(shù)據(jù)庫營銷是運用收集到的數(shù)據(jù)來預測用戶未來的購買行為,成功實現(xiàn)數(shù)據(jù)庫營銷系統(tǒng)的關鍵在于三方面組件的集成:存儲在數(shù)據(jù)倉庫或數(shù)據(jù)處理機中的事實數(shù)據(jù);在數(shù)據(jù)庫或數(shù)據(jù)倉庫中尋找有價值的隱藏事件,使用統(tǒng)計技術或預測模型工具對數(shù)據(jù)進行分析,將有意義的信息歸納成結(jié)構模式,供企業(yè)決策時參考,這種技術就是數(shù)據(jù)挖掘技術;功能強大的展示工具[3-5]。

2.3.1 建立數(shù)據(jù)庫

首先,要把營銷過程中需要的數(shù)據(jù)建成一個數(shù)據(jù)庫,為了便于對具體以及過去的數(shù)據(jù)進行分析,一般建立一個數(shù)據(jù)倉庫。

按照數(shù)據(jù)倉庫之父W. H. Inmon的描述,數(shù)據(jù)倉庫是一個面向主題的、集成的、相對穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,用于支持管理決策[4]。

整個數(shù)據(jù)倉庫系統(tǒng)是一個包含四個層次的體系結(jié)構,具體如圖1所示。

下面對圖1中的部分組件進行介紹:

數(shù)據(jù)源:是數(shù)據(jù)倉庫系統(tǒng)的基礎,是整個系統(tǒng)的數(shù)據(jù)源泉。通常包括企業(yè)內(nèi)外部信息。這些信息可以是存放在關系數(shù)據(jù)庫中的數(shù)據(jù),也可以是文檔數(shù)據(jù)。

數(shù)據(jù)的存儲與管理:是整個數(shù)據(jù)倉庫系統(tǒng)的核心。針對現(xiàn)有各業(yè)務系統(tǒng)的數(shù)據(jù),進行抽取、清理,并有效集成,按照主題進行組織。數(shù)據(jù)倉庫按照數(shù)據(jù)的覆蓋范圍可以分為企業(yè)級數(shù)據(jù)倉庫和部門級數(shù)據(jù)倉庫(通常稱為數(shù)據(jù)集市)。

OLAP服務器:對分析需要的數(shù)據(jù)進行有效集成,按多維模型予以組織,以便進行多角度、多層次的分析,并發(fā)現(xiàn)趨勢。其具體實現(xiàn)可以分為:ROLAP、MOLAP和HOLAP。ROLAP基本數(shù)據(jù)和聚合數(shù)據(jù)均存放在RDBMS之中;MOLAP基本數(shù)據(jù)和聚合數(shù)據(jù)均存放于多維數(shù)據(jù)庫中;HOLAP基本數(shù)據(jù)存放于RDBMS之中,聚合數(shù)據(jù)存放于多維數(shù)據(jù)庫中。

前端工具:主要包括各種報表工具、查詢工具、數(shù)據(jù)分析工具、數(shù)據(jù)挖掘工具以及各種基于數(shù)據(jù)倉庫或數(shù)據(jù)集市的應用開發(fā)工具。其中數(shù)據(jù)分析工具主要針對OLAP服務器,報表工具、數(shù)據(jù)挖掘工具主要針對數(shù)據(jù)倉庫。

2.3.2 使用數(shù)據(jù)挖掘技術分析數(shù)據(jù)

數(shù)據(jù)挖掘(Data Mining)是從大量的、不完全的、有噪聲的、模糊的、隨機的數(shù)據(jù)中提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程[6]。

其主要任務是關聯(lián)分析、聚類分析、分類、預測、時序模式和偏差分析等。

①關聯(lián)分析。數(shù)據(jù)關聯(lián)是數(shù)據(jù)庫中存在的一類重要的、可被發(fā)現(xiàn)的知識。關聯(lián)分析目的是找出數(shù)據(jù)庫中隱藏的關聯(lián)網(wǎng)。一般用支持度和可信度兩個閥值來度量關聯(lián)規(guī)則的相關性[7-8]。

②聚類分析。聚類是把數(shù)據(jù)按照相似性歸納成若干類別,同一類中的數(shù)據(jù)彼此相似,不同類中的數(shù)據(jù)相異。聚類分析可以建立宏觀的概念,發(fā)現(xiàn)數(shù)據(jù)的分布模式,以及可能的數(shù)據(jù)屬性之間的相互關系。

③分類。分類就是找出一個類別的概念描述,它代表了這類數(shù)據(jù)的整體信息,即該類的內(nèi)涵描述,并用這種描述來構造模型,一般用規(guī)則或決策樹模式表示。分類是利用訓練數(shù)據(jù)集通過一定的算法而求得分類規(guī)則。

④預測。預測是利用歷史數(shù)據(jù)找出變化規(guī)律,建立模型,并由此模型對未來數(shù)據(jù)的種類及特征進行預測。預測關心的是精度和不確定性,通常用預測方差來度量。

⑤時序模式。時序模式是指通過時間序列搜索出的重復發(fā)生概率較高的模式。與回歸一樣,它也是用己知的數(shù)據(jù)預測未來的值,但這些數(shù)據(jù)的區(qū)別是變量所處時間的不同。

⑥偏差分析。在偏差中包括很多有用的知識,數(shù)據(jù)庫中的數(shù)據(jù)存在很多異常情況,發(fā)現(xiàn)數(shù)據(jù)庫中數(shù)據(jù)存在的異常情況是非常重要的。偏差檢驗的基本方法就是尋找觀察結(jié)果與參照之間的差別。

數(shù)據(jù)挖掘的主要流程是:定義問題、數(shù)據(jù)準備、數(shù)據(jù)挖掘、結(jié)果分析、知識的運用。

用于挖掘的對象有關系數(shù)據(jù)庫、面向?qū)ο髷?shù)據(jù)庫、數(shù)據(jù)倉庫、文本數(shù)據(jù)源、多媒體數(shù)據(jù)庫、空間數(shù)據(jù)庫、時態(tài)數(shù)據(jù)庫、異質(zhì)數(shù)據(jù)庫以及Internet等。

目前,常用的數(shù)據(jù)挖掘有:神經(jīng)網(wǎng)絡方法、遺傳算法、決策樹方法、粗集方法、統(tǒng)計分析方法等。

3 結(jié)束語

數(shù)據(jù)挖掘能夠基于顧客的年齡、性別、人口統(tǒng)計數(shù)據(jù)和其他類似因素,對顧客購買某一具體貨物的可能性做出預測;識別出具有相似瀏覽習慣的顧客;辨別出具體的顧客偏好,以便提供改進的個人服務;找出高頻率地被組合在一起的所有產(chǎn)品組。據(jù)此,公司可獲得新顧客、留住老顧客、增加顧客的消費額。這樣既降低了成本,又提高了營銷的成功率。故數(shù)據(jù)挖掘的強大功能可以確保企業(yè)數(shù)據(jù)庫營銷的順利開展。

參考文獻:

[1] 許多頂.網(wǎng)絡數(shù)據(jù)庫營銷[J].商業(yè)研究,2002,9:119-121.

[2] 陳曉紅.企業(yè)信息化建設的模糊綜合評判[J].運籌與管理,2003(6).

[3] 楊麗,馬玉磊,張丹.數(shù)據(jù)挖掘技術在CRM中的應用研究[J].新鄉(xiāng)學院學報,2009,6:66-67.

[4] 李石君,王漢飛,周洞汝.關系數(shù)據(jù)庫中統(tǒng)計關系的挖掘和應用[J].計算機工程與應用,2000,(6):117-118.

[5] 李從東,徐志英.基于數(shù)據(jù)挖掘的企業(yè)關系管理系統(tǒng)構建[J].現(xiàn)代管理科學,2009,8:23-25.

[6] 韓家煒,堪博.數(shù)據(jù)挖掘:概念與技術[M].北京:機械工業(yè)出版社,2006:56-62.

篇10

刀具管理是一項復雜的工作,一直以來,這項工作都是以數(shù)控技術人員的工作經(jīng)驗為基礎、以操作者的相關記錄為依據(jù)而進行的。目前,刀具種類和數(shù)量不斷增加,而加工車間條件有限,不同的設備、產(chǎn)品零件之間的刀具還需要相互借用,這就為刀具管理工作帶來了很大的困難,也為生產(chǎn)效率以及產(chǎn)品質(zhì)量的保證埋下了極大的隱患。由于加工零件的多樣化,使得加工刀具的種類和數(shù)量都在不斷增加,刀具在機床和刀庫之間的流動頻率也越來越高,使得傳統(tǒng)的紙質(zhì)登記、現(xiàn)場找刀這一模式顯得滯后。而隨著數(shù)控設備數(shù)量的增多以及新產(chǎn)品種類的不斷增加,僅憑技術人員的工作經(jīng)驗和到車間現(xiàn)場查找刀具的管理方法已經(jīng)無法滿足現(xiàn)代化生產(chǎn)的需要。現(xiàn)代化生產(chǎn)迫切需要加工車間采用先進的刀具管理方法來實現(xiàn)刀具的科學管理。

2系統(tǒng)設計分析

2.1系統(tǒng)物理結(jié)構分析

本系統(tǒng)采用C/S(Client/Server,客戶機/服務器)體系結(jié)構,即將數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容存放在遠程服務器上,在各個客戶機上安裝相應的客戶端應用軟件進行操作使用。C/S體系的物理結(jié)構如圖1所示。C/S結(jié)構的計算機軟硬件平臺可通過企業(yè)內(nèi)部局域網(wǎng)連接起來。對于數(shù)控車間刀具管理系統(tǒng),可以將開發(fā)完成的客戶端應用軟件安裝在多個PC機站點上,由多個用戶共同使用。數(shù)據(jù)的安全性通過SQLServer2000數(shù)據(jù)庫安裝時設置的身份驗證和用戶級別來保證,既保證了數(shù)據(jù)的共享性,也提高了工作效率。

2.2系統(tǒng)功能模型

通過對刀具信息管理系統(tǒng)功能進行分析,系統(tǒng)可分為以下幾個模塊:用戶信息管理模塊、權限設置模塊、刀具參數(shù)管理模塊、刀具出庫管理模塊、刀具入庫管理模塊、刀具信息查詢管理模塊、刀具借還記錄管理模塊和刀具庫存預警模塊(圖2)。

2.3系統(tǒng)流程分析

根據(jù)刀具管理系統(tǒng)需要完成的任務和實現(xiàn)的功能,得出系統(tǒng)流程如圖3所示。

2.4開發(fā)工具選擇

考慮到車間本身的技術與軟硬件情況,選用SQLServer2000作為后臺的數(shù)據(jù)庫管理系統(tǒng)。一方面,因為刀具管理系統(tǒng)本身是基于局域網(wǎng)操作的,采取的是C/S結(jié)構模型;另一方面,SQLServer2000是一種安全性高的真正的C/S體系結(jié)構,圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單,豐富的編程接口工具為用戶設計程序提供了更大的選擇余地[3]。在選擇前臺開發(fā)工具時充分利用開發(fā)工具本身的性能,比如考慮其穩(wěn)定性和可靠性、可視化和訪問數(shù)據(jù)庫的能力等,從常用的軟件中,本文選用了VC++6.0。

3數(shù)據(jù)庫設計

運用VC++的數(shù)據(jù)庫接口技術,以SQLServer2000為后臺數(shù)據(jù)庫進行車間刀具管理系統(tǒng)“chejiantool_db”數(shù)據(jù)庫的設計,其具體的設計步驟為:正規(guī)化數(shù)據(jù)庫、建立數(shù)據(jù)庫、建立表、建立關系、實現(xiàn)數(shù)據(jù)完整性等幾個步驟。

3.1數(shù)據(jù)庫概念結(jié)構設計

將分析得到的系統(tǒng)需求抽象為概念模型,在需求分析的基礎上,設計出能夠滿足用戶需求的各種實體以及它們之間的相互關系,這是整個數(shù)據(jù)庫設計的關鍵。在這一設計原則的基礎上,遵循正規(guī)化的數(shù)據(jù)庫設計規(guī)則與關系數(shù)據(jù)庫設計的3種范式(1NF~3NF),用正規(guī)的方法將數(shù)據(jù)分為多個所有字段值不可分割的數(shù)據(jù)表[4]。每個數(shù)據(jù)庫表應有一個標識,不應有重復的值或列,并盡量避免含有空列。根據(jù)這一原則建立了用戶信息表、刀具參數(shù)表、刀具基本信息表、刀具出庫表、刀具入庫表和刀具借還記錄表等。表1以刀具基本信息表為例說明其結(jié)構。它由8個字段組成,其中刀具編號是該表的主鍵,通過此主鍵可與其他表相互關聯(lián)。

3.2數(shù)據(jù)庫安全性設計

在建立用戶的登錄信息時,系統(tǒng)管理員不僅要為該用戶選擇默認的數(shù)據(jù)庫,而且還設置該用戶對特定數(shù)據(jù)對象的訪問權,即對數(shù)據(jù)對象的讀取、插入、更新和刪除等的權限。而該數(shù)據(jù)庫中未指定訪問權的數(shù)據(jù)庫對象,即使該用戶登錄到SQLServer服務器,并且連接上指定的默認數(shù)據(jù)庫,也不能操作該數(shù)據(jù)庫的數(shù)據(jù)對象。在應用軟件中,用戶只能用賬號登錄,通過應用軟件訪問數(shù)據(jù)庫,而沒有其他途徑操作數(shù)據(jù)庫。為防止用戶密碼泄露,對所有用戶賬號的密碼進行加密處理,確保在任何地方都不會出現(xiàn)密碼的明文。由于數(shù)據(jù)庫管理員擁有對應用軟件的所有權限,因此其可以對所有用戶和軟件功能進行管理。應用時先確定每個角色對數(shù)據(jù)庫表的操作權限,然后在程序中再為用戶分配角色。角色權限見表2。

3.3數(shù)據(jù)庫完整性設計

在將刀具信息輸入到數(shù)據(jù)庫的過程中,由于某些特殊的原因,可能會造成對數(shù)據(jù)庫的修改無效或者不一致的現(xiàn)象發(fā)生,從而導致程序數(shù)據(jù)庫的崩潰。為了避免這種問題的發(fā)生,需要在數(shù)據(jù)庫分析、設計完畢后,利用數(shù)據(jù)庫自帶的屬性,對字段進行主鍵、索引、標識等約束,以保證數(shù)據(jù)庫的完整性[5]。主要有以下3種方法:

(1)對于通過程序窗口操作輸入的數(shù)據(jù),可以通過客戶端應用程序來保證數(shù)據(jù)的完整性。這樣,一方面可把非法數(shù)據(jù)在提交數(shù)據(jù)庫之前就過濾掉,另一方面可使用戶及時得到操作反饋的信息(成功或失敗),以便進行相應的操作。

(2)對于通過數(shù)據(jù)庫直接輸入的數(shù)據(jù),可以通過服務器端數(shù)據(jù)庫管理系統(tǒng)來實現(xiàn)數(shù)據(jù)的完整性。

(3)對于數(shù)據(jù)一致性的維護,可以由服務器端數(shù)據(jù)庫的觸發(fā)器或表定義的約束來實現(xiàn)。這樣可降低客戶端應用程序的開發(fā)量,提高應用系統(tǒng)的運行效率、可維護性及可靠性。

3.4建立數(shù)據(jù)庫

數(shù)據(jù)庫名稱是chejiantool_db,實現(xiàn)步驟為[6]:

(1)打開SQLServer2000的企業(yè)管理器(企業(yè)管理器是SQLServer2000最主要的管理工具,幾乎所有對SQLServer的管理工作,甚至是數(shù)據(jù)查詢,都可以通過它來完成)。

(2)新建數(shù)據(jù)庫,并輸入數(shù)據(jù)庫名稱、數(shù)據(jù)文件和日志文件的位置。

(3)指定數(shù)據(jù)和日志文件。

(4)定義文件的大小和增長方式。

3.5創(chuàng)建數(shù)據(jù)庫表及實體關系圖

SQLServer2000提供了3種方法創(chuàng)建數(shù)據(jù)庫表。其一,是利用表設計器創(chuàng)建表;其二,是利用數(shù)據(jù)庫關系圖創(chuàng)建表;其三,是利用Transact-SQL語句中的CREATE命令創(chuàng)建表[7-8]。本文選用第二種方式。在SQLServer企業(yè)管理器中,展開指定的服務器和數(shù)據(jù)庫,打開chejiantool_db數(shù)據(jù)庫,打開表設計器。在數(shù)據(jù)庫中創(chuàng)建刀具基本信息表、刀具借還表、用戶表、借還日志表等。

在表設計器中除了可以定義列名稱、數(shù)據(jù)類型和長度外,還可根據(jù)需要定義以下屬性,如精度、小數(shù)位數(shù)、是否允許為空、默認值、標識列等等。建立數(shù)據(jù)庫表時,定義好各自的主鍵和外鍵,各表完成后,利用MicrosoftVisio2003“反向工程向?qū)А被騍QLServer2000企業(yè)管理器中的“操作/新建數(shù)據(jù)庫關系圖”即可獲取系統(tǒng)E-R圖。本文選擇后者,結(jié)果如圖4所示。

4過程中的數(shù)據(jù)庫技術

程序的各個實現(xiàn)過程中,均采用了大量的SQL語句,由于篇幅有限,在各模塊的實現(xiàn)過程中僅列出其中的一種功能實現(xiàn)的Transact-SQL代碼[9-10]。

4.1刀具借用過程

該過程主要包括刀具信息查詢和刀具借用時信息功能人,其中刀具借用信息包括借用人、借用時間和借用刀具信息的填寫、修改等功能。以借用功能模塊為例,當加工人員從刀庫中借用刀具時,刀庫管理員根據(jù)其要求的條件查詢相應的刀具信息,選中后,填寫借用信息,點擊“借用”后,該刀具的借用信息就會被寫入數(shù)據(jù)庫,其狀態(tài)隨之變?yōu)椤敖璩觥?,刀具借用過程完成。

4.2刀具歸還過程

刀具歸還過程中以歸還功能模塊為例。借用人員歸還刀具時,刀庫管理員根據(jù)刀具名稱或借用人的名字查詢到刀具的借用信息后,選中要歸還的刀具記錄,填入歸還時間,點擊“歸還”后,該刀具的狀態(tài)又會變成“庫存”寫入數(shù)據(jù)庫,刀具歸還過程完成。其Transact-SQL實現(xiàn)代碼如下:sql.Format("updatetoolset歸還時間='"+ghtime+"',刀具狀態(tài)='庫存'where刀具編號='%s'",cId)實現(xiàn)界面如圖6所示。

4.3刀具信息查詢過程

刀具信息查詢包括兩部分:精確查詢和模糊查詢。精確查詢可以按刀具編號、刀具名稱、刀具材料等具體查詢條件查詢到精確符合查詢條件的刀具信息記錄;模糊查詢可以查詢同時滿足刀具長度、刀具材料和刀具編號中一條或多條的刀具信息記錄。其實現(xiàn)界面如圖7所示。

5結(jié)束語