關(guān)系數(shù)據(jù)庫范文
時間:2023-04-09 12:12:34
導(dǎo)語:如何才能寫好一篇關(guān)系數(shù)據(jù)庫,這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
【關(guān)鍵詞】關(guān)系數(shù)據(jù)庫;非關(guān)系數(shù)據(jù)庫;NoSql
前言
從上個世紀(jì)60年代至今的半個世紀(jì),數(shù)據(jù)庫技術(shù)伴隨著信息技術(shù)的發(fā)展不斷發(fā)展,到目前共經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段,在數(shù)據(jù)庫系統(tǒng)階段又經(jīng)歷了網(wǎng)狀數(shù)據(jù)庫、層次數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫階段,進(jìn)二十來年,關(guān)系數(shù)據(jù)被廣泛使用,發(fā)展成主流,但隨著互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,關(guān)系數(shù)據(jù)庫使用遇到了一些新的問題,為應(yīng)對這些新的問題,近兩年來非關(guān)系數(shù)據(jù)庫NOSql越來越引起人們的注視,得到了快速發(fā)展。
1 關(guān)系數(shù)據(jù)庫
1.1 關(guān)系數(shù)據(jù)庫的簡介
支持關(guān)系模型的數(shù)據(jù)庫系成之為關(guān)系數(shù)據(jù)庫,是目前各類數(shù)據(jù)庫中使用最為廣泛的數(shù)據(jù)庫系統(tǒng)。關(guān)系數(shù)據(jù)庫在經(jīng)過二十幾年的發(fā)展,已經(jīng)變的功能強(qiáng)大,使用廣泛,產(chǎn)品成熟的數(shù)據(jù)庫系統(tǒng),現(xiàn)在使用主流的數(shù)據(jù)庫都為關(guān)系型數(shù)據(jù)庫,比較熟悉的如SQL Server、Mysql、Oracle、Sybase、Informix、DB2等。在網(wǎng)絡(luò)上使用比較廣泛的是Sql Server、Mysql和Oracle。
1.2 關(guān)系數(shù)據(jù)庫的特點(diǎn)
關(guān)系數(shù)據(jù)庫是支持關(guān)系模型的數(shù)據(jù)庫系統(tǒng)。而關(guān)系模型是由二維表來表示實(shí)體和實(shí)體間聯(lián)系的模型。使用二維表存儲數(shù)據(jù),對使用者來說很直觀,更容易理解。使用關(guān)系數(shù)據(jù)庫的優(yōu)勢主要表現(xiàn)在以下幾個特性:
(1)操作方便性。通過開發(fā)應(yīng)用程序和數(shù)據(jù)庫連接,用戶能方便的對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行操作,特別對沒有數(shù)據(jù)庫基礎(chǔ)的人,也可以通過數(shù)據(jù)庫管理系統(tǒng),直接在數(shù)據(jù)庫中操作。
(2)易于維護(hù)性。關(guān)系數(shù)據(jù)庫在完整性約束中提供了實(shí)體完整性、參照完整性和用戶定義的完整性,通過完整性約束可以大大降低了數(shù)據(jù)存儲的冗余及數(shù)據(jù)不一致的概率。
(3)訪問數(shù)據(jù)的靈活性。關(guān)系數(shù)據(jù)庫中提供了諸如視圖,存儲過程,觸發(fā)器,索引等對象,是訪問數(shù)據(jù)更加靈活。
1.3 目前關(guān)系數(shù)據(jù)庫面臨的問題
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,尤其是web2.0 技術(shù)使用,更注重用戶和服務(wù)器以及用戶和用戶之間的交互作用,用戶成為既是網(wǎng)站內(nèi)容的瀏覽者,也是網(wǎng)站內(nèi)容的制造者。例如:博客(BLOG)、社會網(wǎng)絡(luò)(SNS)、以及現(xiàn)在比較熱的微博等。對于在使用web2.0技術(shù)并且訪問量比較大網(wǎng)站,使用傳統(tǒng)關(guān)系數(shù)據(jù)庫就會遇到一些問題,主要表現(xiàn)在以下幾點(diǎn):
(1)對數(shù)據(jù)庫高并發(fā)讀寫的需求
Web 2.0網(wǎng)站要根據(jù)用戶個性化信息來實(shí)時生成動態(tài)頁面和提供動態(tài)信息,無法使用動態(tài)頁面靜態(tài)化技術(shù),因此數(shù)據(jù)庫的并發(fā)負(fù)載非常高,往往要達(dá)到每秒上萬次的的讀寫請求,此時服務(wù)器上的磁盤根本無法承受如此之多的讀寫請求。
(2)對海量數(shù)據(jù)的高效率存儲和訪問的需求
對于大型的社交網(wǎng)站網(wǎng)站,每天用戶產(chǎn)生海量的用戶動態(tài),隨著用戶的不斷增減,一個數(shù)據(jù)表中的記錄可能有幾億條,對于關(guān)系型數(shù)據(jù)庫來說,在一個有上億條記錄的表里面進(jìn)行SQL詢,效率是極其低下的。一些大型Web 網(wǎng)站的用戶登錄系統(tǒng)也是如此,如騰訊、163郵箱都有數(shù)億的帳號。
(3)對數(shù)據(jù)庫的高擴(kuò)展性和高可用性的需求
在基于Web的架構(gòu)中,數(shù)據(jù)庫是最難進(jìn)行橫向擴(kuò)展的,當(dāng)用戶量和訪問量增加時, 數(shù)據(jù)庫沒有辦法像Web Server 那樣簡單的通過添加更多的硬件和服務(wù)結(jié)點(diǎn)來擴(kuò)展性能和負(fù)載能力,對于很多需要24 小時不間斷服務(wù)的網(wǎng)站來說,對數(shù)據(jù)庫系統(tǒng)的升級和擴(kuò)展往往需要停機(jī)維護(hù)。
2 非關(guān)系數(shù)據(jù)庫NoSql
2.1 NoSql概述
NoSql是應(yīng)對關(guān)系數(shù)據(jù)庫出現(xiàn)的問題而發(fā)展起來的,近幾年隨著web2.0技術(shù)的廣泛應(yīng)用,NoSQL 得到了快速的發(fā)展,NoSQL數(shù)據(jù)庫指的是非關(guān)系性的、定義不是很明確的數(shù)據(jù)存儲倉庫。NoSQL數(shù)據(jù)庫不再使用關(guān)系模型的概念,放棄了使用SQL語句對數(shù)據(jù)庫進(jìn)行操作。
NoSQL 數(shù)據(jù)庫根據(jù)數(shù)據(jù)的存儲模型和特點(diǎn)又分為很多種類。主要有
(1)面向列的存儲系統(tǒng)。按列存儲,區(qū)別于關(guān)系數(shù)據(jù)庫中按行存儲,容易擴(kuò)展,適用與存儲海量數(shù)據(jù),對一個或幾個字段進(jìn)行查詢的效率很高,但在復(fù)雜查詢功能比較弱,如多表聯(lián)合查詢。此類數(shù)據(jù)庫產(chǎn)品有BigTable、Hbase、assandra和Hypertable。
(2)面向文檔存儲系統(tǒng)。保證海量數(shù)據(jù)存儲的同時,具有良好的查詢性能。用JSON或類JSON格式進(jìn)行存儲,存儲的內(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)。圖形關(guān)系的最佳存儲模式。如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)勢
相對于關(guān)系數(shù)據(jù)庫,Nosql數(shù)據(jù)庫的優(yōu)點(diǎn)主要表現(xiàn)在:
(1)容易擴(kuò)展和高性能。NoSQL 數(shù)據(jù)庫種類很多,但是都有一個共同的特點(diǎn)就是去掉關(guān)系型數(shù)據(jù)庫的關(guān)系型特性。數(shù)據(jù)之間彼此無關(guān)系,這樣就非常容易擴(kuò)展??梢源鎯A繑?shù)據(jù)。同樣由于數(shù)據(jù)之間無關(guān)系,數(shù)據(jù)庫的結(jié)構(gòu)簡單,在處理大數(shù)據(jù)量時,NoSQL 數(shù)據(jù)庫會有出色的讀寫性能。
(2)靈活的數(shù)據(jù)模型。NoSQL 數(shù)據(jù)庫不使用傳統(tǒng)的關(guān)系數(shù)據(jù)庫模型,而是使用如key-value 存儲、文檔型的、列存儲、圖型數(shù)據(jù)庫、xml 等方式存儲數(shù)據(jù)模型,使用這些模型都無需事先為要存儲的數(shù)據(jù)建立字段,隨時可以存儲自定義的數(shù)據(jù)格式。同時根據(jù)需求可以選擇合適的模型。
(3)經(jīng)濟(jì)性
在數(shù)據(jù)量和訪問量比較大的情況下,傳統(tǒng)的關(guān)系數(shù)據(jù)庫對服務(wù)器的要求比較高,甚至使用專用硬件設(shè)備,這樣造價就比較高。而NoSQL數(shù)據(jù)庫的易擴(kuò)展的特點(diǎn)使配置較低服務(wù)器上運(yùn)行,也可以使用低配服務(wù)器組成集群來使用,并且有研究證實(shí)使用NoSql數(shù)據(jù)庫基于低配硬件的分布式存儲解決方案比現(xiàn)在的高端關(guān)系數(shù)據(jù)庫更加可靠。這樣就極大的降低了投資成本。
2.3 NoSql的不足
(1)成熟度方面。NoSQL數(shù)據(jù)庫的實(shí)際應(yīng)用,近幾年才逐漸開始使用,并且大部分NoSQL的產(chǎn)品都還處于實(shí)驗和不斷完善的階段。在產(chǎn)品成熟度和穩(wěn)定性方面,NoSq數(shù)據(jù)庫遠(yuǎn)不及發(fā)展了二十多年且已被廣泛使用的關(guān)系數(shù)據(jù)庫。
(2)商業(yè)支持方面。大部分NoSQL數(shù)據(jù)庫都是開源項目,沒有專門的數(shù)據(jù)庫廠商提供完善的服務(wù),一旦出現(xiàn)故障,只能自己的能力解決,對于一般使用者來說風(fēng)險比較大。
(3)使用習(xí)慣方面。軟件開發(fā)人員已經(jīng)習(xí)慣了關(guān)系數(shù)據(jù)庫的模式,解決問題的思路已經(jīng)被固定在關(guān)系模型上,而NoSQL數(shù)據(jù)庫的開發(fā)以放棄了關(guān)系模型,要軟件開發(fā)人員放棄原來的思路,而掌握和使用NoSql數(shù)據(jù)庫是很困難的,導(dǎo)致使用NoSQL數(shù)據(jù)庫的開發(fā)人員不可能在短時間內(nèi)快速增加,這也成為NoSql數(shù)據(jù)庫發(fā)展的一個障礙。
3 關(guān)系數(shù)據(jù)庫與NoSQL 數(shù)據(jù)庫結(jié)合使用
Web2.0時代,關(guān)系數(shù)據(jù)庫不能滿足對數(shù)據(jù)庫高并發(fā)讀寫、海量數(shù)據(jù)的高效率存儲和訪問、高擴(kuò)展性和高可用性方面的需求,而NoSql數(shù)據(jù)庫可以解決這些問題,從而推動了NoSql數(shù)據(jù)庫應(yīng)用和發(fā)展,那是不是說NoSql數(shù)據(jù)庫就能取代關(guān)系數(shù)據(jù)可了呢?從目前來看,基于NoSql數(shù)據(jù)庫的不足,NoSql數(shù)據(jù)庫還不能完全取代關(guān)系數(shù)據(jù)庫,對NoSql數(shù)據(jù)庫的使用,單獨(dú)使用的情況很少,大多數(shù)情況下都是關(guān)系數(shù)據(jù)庫和NoSql數(shù)據(jù)庫結(jié)合使用。
關(guān)系數(shù)據(jù)庫和NoSql數(shù)據(jù)庫結(jié)合使用又分為兩種模式:
(1)NoSql數(shù)據(jù)庫作為輔助存儲。在這種模式下,把所有的數(shù)據(jù)都存放在關(guān)系數(shù)據(jù)庫中,可能被經(jīng)常頻繁讀取的數(shù)據(jù)再存放在NoSql數(shù)據(jù)庫中一份,其目的是提高數(shù)據(jù)的查詢速度,減少關(guān)系數(shù)據(jù)庫的并發(fā)訪問負(fù)載。
(2)NoSql數(shù)據(jù)庫作為主存儲。在這種模式下,把所有的數(shù)據(jù)存儲在NOSQL數(shù)據(jù)庫中,為了一些特殊業(yè)務(wù)或功能的需要,在將數(shù)據(jù)存入NOSQL 的時候,同時存儲到關(guān)系數(shù)據(jù)庫一份。在數(shù)據(jù)存儲和查詢主要是由Nosql數(shù)據(jù)庫完成,少量的數(shù)據(jù)是從關(guān)系數(shù)據(jù)庫讀取。
4 結(jié)語
目前關(guān)系數(shù)據(jù)庫仍是主流數(shù)據(jù)庫,仍被廣泛使用,NoSQL數(shù)據(jù)庫還不能完全取代關(guān)系數(shù)據(jù)庫,雖然NoSql數(shù)據(jù)庫打破了關(guān)系數(shù)據(jù)庫存儲的觀念,采用創(chuàng)新的存儲方式,在快速讀寫、海量存儲,高擴(kuò)展性上很好滿足web2.0時代數(shù)據(jù)存儲的要求,但NoSql數(shù)據(jù)庫也有自己的缺陷。在現(xiàn)階段的某些情況下,可以將關(guān)系型數(shù)據(jù)庫和NoSQL數(shù)據(jù)庫結(jié)合使用,相互彌補(bǔ)各自的不足。隨著NoSql數(shù)據(jù)庫的不斷發(fā)展和完善,將來也有可能取代關(guān)系數(shù)據(jù)庫成為主流數(shù)據(jù)庫。
參考文獻(xiàn):
[1]盧冬海,何先波.淺析NoSQL數(shù)據(jù)庫 中國西部科技 2011年02期
篇2
關(guān)鍵詞:數(shù)據(jù)庫轉(zhuǎn)換;.NET;XML
中圖分類號:TP311.13文獻(xiàn)標(biāo)識碼: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)絡(luò)資源中通常包含多種格式和管理系統(tǒng)的關(guān)系數(shù)據(jù)庫,為了實(shí)現(xiàn)資源的共建共享,需要完成多種數(shù)據(jù)庫之間的數(shù)據(jù)轉(zhuǎn)換。不同的開發(fā)商采用分布式對象技術(shù)和各自的思路來實(shí)現(xiàn)數(shù)據(jù)庫的互操作,如OMG的CORBA技術(shù)、Sun公司的EJB/RMI和微軟的.NET技術(shù)等。
2 數(shù)據(jù)庫轉(zhuǎn)換思路
.NET是微軟公司開發(fā)的下一代基于互聯(lián)網(wǎng)平臺的軟件開發(fā)構(gòu)想,它提供了一個全新的編程模型。該平臺建立在XML和因特網(wǎng)標(biāo)準(zhǔn)協(xié)議的基礎(chǔ)上,具有平立性和語言獨(dú)立性,它包含了強(qiáng)大數(shù)據(jù)庫操控能力的。編程模型由一系列的數(shù)據(jù)庫相關(guān)類和接口組成,運(yùn)用技術(shù),應(yīng)用程序既能訪問關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù),又能訪問層次化的XML數(shù)據(jù)[1]。XML是W3C的通用標(biāo)記語言SGML的一個簡化子集。它是一種存儲和傳輸數(shù)據(jù)的行業(yè)標(biāo)準(zhǔn)格式,普遍貫穿于.NET平臺,具有簡單性、可擴(kuò)展性、互操作性和開放性等特點(diǎn),其本質(zhì)特點(diǎn)是數(shù)據(jù)獨(dú)立,它存儲的數(shù)據(jù)全部是文本,而且使用標(biāo)記標(biāo)示,利于網(wǎng)絡(luò)傳輸。XML模式提供了很強(qiáng)的數(shù)據(jù)類型識別功能,可正確處理各種數(shù)據(jù)類型。XML和.NET的結(jié)合為解決數(shù)據(jù)庫互操作問題奠定了基礎(chǔ)[2]。通過以上分析,可以在.NET平臺上,以XML為中間數(shù)據(jù)源完成多種關(guān)系數(shù)據(jù)庫之間的轉(zhuǎn)換[3]。演示示例用的操作系統(tǒng)是Windows XP Professional,開發(fā)平臺為Visual Studio 2005,示例用C#語言編寫。
2.1 數(shù)據(jù)庫的導(dǎo)入[4]
為了導(dǎo)入SQLServe數(shù)據(jù)庫,先用Connection對象連接數(shù)據(jù)庫,演示示例中用SqlConnection連接了服務(wù)器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文件。關(guān)鍵源代碼如下。
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ù)的導(dǎo)出[5-6]
以下演示示例是將以上創(chuàng)建的“newxml.xml”文件轉(zhuǎn)換為Access數(shù)據(jù)庫demo.mdb中的一個表“newxml”。首先建立與目標(biāo)數(shù)據(jù)庫的連接,也就是通過OLE DB Provider提供的OleDBConnection對象建立與Access數(shù)據(jù)庫demo.mdb的連接。當(dāng)然,該示例也可通過OLE DB Provider提供的其他連接數(shù)據(jù)庫的對象來連接Oracle、Sybase或DB2這樣的數(shù)據(jù)庫以及Excel表格。以下關(guān)鍵源代碼部分省略了命名空間的引用、系統(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é)束語
通過以上實(shí)例,演示了以XML為中間轉(zhuǎn)換數(shù)據(jù)源,在.NET平臺上方便地完成異構(gòu)關(guān)系數(shù)據(jù)庫之間的數(shù)據(jù)轉(zhuǎn)換和共享?;?NET平臺,充分利用XML技術(shù)的優(yōu)勢,來解決異構(gòu)數(shù)據(jù)庫集成的問題,能夠給用戶提供一個透明的全局?jǐn)?shù)據(jù)庫,方便用戶的使用,還使得系統(tǒng)在可擴(kuò)展性、安全性、可維護(hù)性等方面有所提高。
參考文獻(xiàn):
[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標(biāo)準(zhǔn)[EB/OL].[2006-08-16]./TR/2006/REC-xml-20060816/.
[3] 石玉晶,牛存良,馬新娜.使用XML進(jìn)行異構(gòu)數(shù)據(jù)庫間數(shù)據(jù)傳送[J].現(xiàn)代計算機(jī),2003,19(11):79-80.
[4] 呂品,夏紅霞,李明.異構(gòu)數(shù)據(jù)庫互操作平臺的開發(fā)研究[J].武漢理工大學(xué)學(xué)報,2003,25(1):35-37.
篇3
關(guān)鍵詞:網(wǎng)絡(luò)設(shè)計;關(guān)系數(shù)據(jù)庫技術(shù);儲存功能;轉(zhuǎn)換功能
一、關(guān)系數(shù)據(jù)庫技術(shù)的功能
關(guān)系數(shù)據(jù)庫技術(shù)的主要作用是為網(wǎng)絡(luò)設(shè)計提供輔助功能,在關(guān)系數(shù)據(jù)庫中包含各種各樣網(wǎng)絡(luò)設(shè)計所需的數(shù)據(jù)和信息,合理應(yīng)用關(guān)系數(shù)據(jù)庫技術(shù)可網(wǎng)絡(luò)設(shè)計提供便利條件。促使網(wǎng)絡(luò)設(shè)計更加完善,比如:在關(guān)系數(shù)據(jù)輸入過程中,要先把對數(shù)據(jù)的賦值進(jìn)行全面系統(tǒng)的分類處理,然后對這些數(shù)據(jù)進(jìn)行整合和重組,促使網(wǎng)絡(luò)設(shè)計能獲得更加全面的數(shù)據(jù)參數(shù)和參考信息,促使網(wǎng)絡(luò)設(shè)計效果和服務(wù)質(zhì)量不斷提升。
二、網(wǎng)絡(luò)設(shè)計對關(guān)系數(shù)據(jù)庫技術(shù)的需求分析
在計算機(jī)網(wǎng)絡(luò)技術(shù)具有很強(qiáng)的開放性,安全性容易受到挑戰(zhàn),大大增加了管理的難度。為完整網(wǎng)絡(luò)設(shè)計對安全性和性能的需求,就必須切實(shí)滿足如下要求:高性能。網(wǎng)絡(luò)設(shè)計需要應(yīng)用到支持線速交換的骨干交換設(shè)備,才能確保數(shù)據(jù)交換的流暢性,在關(guān)系數(shù)據(jù)庫中幾乎包含網(wǎng)絡(luò)設(shè)計所需的全部信息,合理應(yīng)用關(guān)系數(shù)據(jù)庫技術(shù)可為網(wǎng)絡(luò)設(shè)計提供數(shù)據(jù)支持和理論指導(dǎo)。高質(zhì)量。網(wǎng)絡(luò)設(shè)計需要滿足業(yè)務(wù)服務(wù)質(zhì)量,應(yīng)用業(yè)務(wù)數(shù)據(jù)通常情況下,都包含多種多樣的形式,關(guān)鍵業(yè)務(wù)數(shù)據(jù)流在網(wǎng)絡(luò)流量高峰期內(nèi),所需的響應(yīng)時間會有響應(yīng)的延長。因此,在具體設(shè)計過程中,為最大限度上滿足網(wǎng)絡(luò)設(shè)計的服務(wù)質(zhì)量,高性能網(wǎng)絡(luò)必須具備關(guān)系數(shù)據(jù)庫的相關(guān)功能。網(wǎng)絡(luò)的安全性。網(wǎng)絡(luò)病毒、黑客等是目前影響計算機(jī)網(wǎng)絡(luò)安全的主要因素。因此,網(wǎng)絡(luò)設(shè)計中需要采取有針對性的手段和技術(shù),禁止病毒的傳播和黑客的攻擊。
三、網(wǎng)絡(luò)設(shè)計中關(guān)系數(shù)據(jù)庫技術(shù)的具體應(yīng)用
(一)應(yīng)用思路
為滿足計算機(jī)網(wǎng)絡(luò)對高性能、高質(zhì)量、高安全性的需求,在具體設(shè)計過程中,對網(wǎng)絡(luò)的控制需要以設(shè)備分層結(jié)構(gòu)的總線型為主要設(shè)計依據(jù),在滿足高性能、高質(zhì)量、高安全性的基礎(chǔ)上,提升網(wǎng)絡(luò)技術(shù)應(yīng)用范圍的靈活性和有效性。關(guān)系數(shù)據(jù)庫的基礎(chǔ)就是數(shù)據(jù)的有效性,因此,在應(yīng)用關(guān)系數(shù)據(jù)庫技術(shù)時,需要重復(fù)結(jié)合對象技術(shù),有針對的實(shí)現(xiàn)計算機(jī)網(wǎng)絡(luò)對數(shù)據(jù)集的功能。此外,針對關(guān)系數(shù)據(jù)庫存在不合理的產(chǎn)品,可在綜合事務(wù)處理中進(jìn)行及時糾正處理,全面體會網(wǎng)絡(luò)數(shù)據(jù)系統(tǒng)的開放性和可擴(kuò)展性。在關(guān)系數(shù)據(jù)庫中結(jié)構(gòu)比較清晰,簡潔,配置協(xié)議的錄入也可以輕松實(shí)現(xiàn),并且協(xié)議中的數(shù)量,對網(wǎng)絡(luò)涉及的難易程度并不會造成較大影響,大大提升了網(wǎng)絡(luò)設(shè)計的可操作。關(guān)系數(shù)據(jù)庫訪問對象和網(wǎng)絡(luò)設(shè)計形式之間具有非常密切的聯(lián)系,因此,在進(jìn)行計算機(jī)網(wǎng)絡(luò)訪問系統(tǒng)設(shè)計過程中,要充分結(jié)合關(guān)系數(shù)據(jù)庫,可通過C語言編程的使用來完成訪問工作。
(二)存儲功能的實(shí)現(xiàn)
在網(wǎng)絡(luò)數(shù)據(jù)處理中,XML(可擴(kuò)展標(biāo)記語言)是進(jìn)行數(shù)據(jù)轉(zhuǎn)換的主要標(biāo)準(zhǔn),通過描述數(shù)據(jù)自身的意義來實(shí)現(xiàn)數(shù)據(jù)實(shí)體間復(fù)雜嵌套的關(guān)系連接。因此存儲功能的實(shí)現(xiàn)主要包括以下兩個方面:1.結(jié)構(gòu)映射XML中文件類型定義比較復(fù)雜,需要先進(jìn)行簡化處理,生成文件類型定義圖,具有的簡化流程為:先進(jìn)行層次嵌套關(guān)系的平面優(yōu)化轉(zhuǎn)換處理,將其轉(zhuǎn)換為非嵌套定義;然后再對多個一元操作進(jìn)行簡化轉(zhuǎn)換;最后把聚集轉(zhuǎn)換為多個子元素,通過整合和歸類的作用,構(gòu)成一個子元素。在具體簡化過程中,要完成文件類型定義圖像關(guān)系模式的映射,通過共享內(nèi)聯(lián)法,為文件類型定義提供達(dá)先對獨(dú)立的關(guān)系。再通過綜合內(nèi)聯(lián)法,在父節(jié)點(diǎn)形成的關(guān)系表中,除直接后繼節(jié)點(diǎn)之外,內(nèi)聯(lián)和入度都超過1的元素節(jié)點(diǎn)。2.模型映射XML文檔在存儲過程中,常用的方法有兩種,一種是Edge法,主要過程為把XML文檔當(dāng)做圖形結(jié)構(gòu)進(jìn)行處理,并在相應(yīng)的關(guān)系表中,完成邊界存儲,而目標(biāo)節(jié)點(diǎn)的區(qū)分通過flag來實(shí)現(xiàn)。Source主要應(yīng)用在資源節(jié)點(diǎn)存儲中,target則主要應(yīng)用目標(biāo)節(jié)點(diǎn)標(biāo)識符的儲存中。
(三)轉(zhuǎn)換功能的實(shí)現(xiàn)
關(guān)系數(shù)據(jù)庫中數(shù)據(jù)轉(zhuǎn)換流程包括以下幾個步驟:第一步,定義模式映射通過XSD格式來完成,進(jìn)而實(shí)現(xiàn)目標(biāo)數(shù)據(jù)庫到XML模式映射的建立,此外,XSD格式和文件類型定義相比,可更好的定義類型,并且在網(wǎng)絡(luò)設(shè)計中也容易實(shí)現(xiàn)數(shù)據(jù)之間的相互交換,可保證數(shù)據(jù)庫中信息和數(shù)據(jù)的傳輸都是XML格式。第二步,當(dāng)模式映射文件形成以后,還需要綁定同步模塊,為后期XML的導(dǎo)入提供參考指導(dǎo)。第三步,在目標(biāo)數(shù)據(jù)庫中和本庫中主要通過源數(shù)據(jù)庫的使用,完成相關(guān)數(shù)據(jù)模式的對比,并判斷其是否為同步的表結(jié)構(gòu),為創(chuàng)建異構(gòu)模式映射文件提供數(shù)據(jù)支持。第四步,根據(jù)同步模式中的相關(guān)任務(wù),形成對源數(shù)據(jù)庫,所有的同步數(shù)據(jù)都可以通過該查詢來獲取。第五步,把關(guān)系數(shù)據(jù)庫中查詢到的結(jié)果進(jìn)行同步處理,形成XML格式數(shù)據(jù),并寫入相應(yīng)的文件中。
篇4
關(guān)鍵詞:大型關(guān)系數(shù)據(jù)庫;Oracle;教學(xué)改革
隨著計算機(jī)技術(shù)的發(fā)展,計算機(jī)應(yīng)用系統(tǒng)的開發(fā)越來越多,需要大批掌握大型關(guān)系數(shù)據(jù)庫的專業(yè)技術(shù)人員,培養(yǎng)和造就這樣的專業(yè)人員已經(jīng)成為時代的需求,是大學(xué)計算機(jī)教學(xué)中一個十分重要的方面。由于大型數(shù)據(jù)庫在計算機(jī)應(yīng)用系統(tǒng)開發(fā)中的重要地位和作用,突出抓好大型關(guān)系數(shù)據(jù)庫的教學(xué)已經(jīng)別無選擇。同時,大型關(guān)系數(shù)據(jù)庫是一門實(shí)踐性很強(qiáng)的課程,學(xué)生在學(xué)習(xí)完數(shù)據(jù)庫基礎(chǔ)理論后,通過大型關(guān)系數(shù)據(jù)庫的學(xué)習(xí),可以深化數(shù)據(jù)庫理論的理解,提高并培養(yǎng)綜合運(yùn)用知識、解決實(shí)際問題的能力。對學(xué)生科研能力、工程能力和創(chuàng)新能力的培養(yǎng)具有重要作用。因此,對這門課的教學(xué)模式值得進(jìn)行認(rèn)真的研究與探討。
1大型關(guān)系數(shù)據(jù)庫Oracle的教學(xué)現(xiàn)狀
隨著社會對大型應(yīng)用系統(tǒng)開發(fā)要求的日益增多,大型數(shù)據(jù)庫開發(fā)相關(guān)的人才需求也不斷增加,比如:Oracle、SQL SERVER和DB2的數(shù)據(jù)庫管理員等,特別是Oracle數(shù)據(jù)庫管理員,在比較大型的網(wǎng)絡(luò)應(yīng)用中需求量更大。太原理工大學(xué)五年前就在選修課中開設(shè)了“大型關(guān)系數(shù)據(jù)庫Oracle”。但是大型關(guān)系數(shù)據(jù)庫Oracle技術(shù)要求高,實(shí)踐性要求很強(qiáng),加之學(xué)校存在教學(xué)管理、資金投入以及師資力量不足等諸多因素的困擾,使得這門課的教學(xué)質(zhì)量很難盡如人意,存在較為嚴(yán)重的不足與缺陷,具體表現(xiàn)如下。
1.1沒有合適的教材和合理的大綱
我校計算機(jī)系最初采用Oracle公司廠家提供的培訓(xùn)教材,其內(nèi)容較多,分體系框架、PL/SQL指令、性能調(diào)整和備份與恢復(fù)等內(nèi)容[1],而大學(xué)教學(xué)中該課程的學(xué)時有限,教學(xué)過程中很難做到面面俱到,要想讓學(xué)生更進(jìn)一步深入領(lǐng)會并形成應(yīng)用能力存在一定困難。后來學(xué)校又采用了ORACLE的技術(shù)書籍進(jìn)行教學(xué),但是這些書籍基本側(cè)重點(diǎn)各不相同,導(dǎo)致教學(xué)過程中內(nèi)容不夠全面,重點(diǎn)難點(diǎn)不易把握,教學(xué)效果也不十分理想,很難適應(yīng)高校教學(xué)的需要,很難滿足學(xué)生求知的欲望,更主要的是不能夠適應(yīng)社會的需求。
1.2重理論,輕實(shí)踐
在這么幾年的ORACLE教學(xué)摸索中,由于學(xué)校數(shù)據(jù)庫服務(wù)器和網(wǎng)絡(luò)條件的限制,更多地關(guān)注的是理論教學(xué),許多交互性演示的例子也是用PPT展示,學(xué)生很少參與甚至不參與具體的操作過程,導(dǎo)致學(xué)生很少接觸到解決實(shí)際問題的環(huán)節(jié),給學(xué)生的感性認(rèn)識不強(qiáng)。再加上配套的教學(xué)實(shí)驗環(huán)節(jié)較少或根本沒有,學(xué)生很難有動手機(jī)會,使理論與實(shí)踐得不到銜接,影響了學(xué)生綜合素質(zhì)的提高。
1.3重技術(shù),輕應(yīng)用
即使在教學(xué)環(huán)境和條件具備情況下,有的教學(xué)過程也只是滿足于讓學(xué)生掌握知識點(diǎn),至于這些知識點(diǎn)在實(shí)際開發(fā)中如何應(yīng)用,知識點(diǎn)之間如何貫穿聯(lián)系等相關(guān)綜合性素質(zhì)的培養(yǎng),沒有滲透到教學(xué)中,導(dǎo)致學(xué)生的知識停留在點(diǎn)多線短,缺乏聯(lián)系的層面,不能形成較為系統(tǒng)綜合的結(jié)構(gòu)體系。比如觸發(fā)器,很多人只知道它的定義,會編寫,但是在一個項目中何時用、怎樣用等內(nèi)容,在教學(xué)中則很少涉及,使學(xué)生感覺所學(xué)的知識與實(shí)際應(yīng)用存在較大的差距。
這些問題和不足已經(jīng)引起一定程度上的關(guān)注和重視,我們學(xué)校在不斷加大對大型關(guān)系數(shù)據(jù)庫教學(xué)的改進(jìn)力度的同時,積極組織編寫適合高校教學(xué)的相關(guān)教材,逐步嘗試加大教學(xué)實(shí)驗環(huán)節(jié)的學(xué)時數(shù),增加實(shí)訓(xùn)、項目模擬等項內(nèi)容,給學(xué)生以更多實(shí)踐的機(jī)會,提高其綜合應(yīng)用所學(xué)基礎(chǔ)理論知識的意識和實(shí)際動手的能力,為造就更多學(xué)識豐厚、技術(shù)高超、學(xué)以致用的高素質(zhì)人才,為不斷滿足時代和社會對數(shù)據(jù)庫技術(shù)人才的需求,創(chuàng)造了一定的教育教學(xué)條件。
2教學(xué)模式的改進(jìn)方法
針對目前存在的問題,進(jìn)行大型關(guān)系數(shù)據(jù)庫課程教學(xué)的改革嘗試,我們認(rèn)為應(yīng)該注重把握好以下幾個方面。
2.1精心挑選、把握精髓,選擇較好的教材
Oracle數(shù)據(jù)庫的廠家標(biāo)準(zhǔn)培訓(xùn)教材和相關(guān)的科技書籍不能拿來就用。首先必須根據(jù)大學(xué)教學(xué)大綱的培養(yǎng)目標(biāo)要求,從中選取適合學(xué)生的內(nèi)容。我們知道大型關(guān)系數(shù)據(jù)庫課程要培養(yǎng)的是能夠進(jìn)行數(shù)據(jù)庫設(shè)計、開發(fā)和維護(hù)的數(shù)據(jù)庫管理員(DBA)[2]。一般情況下,數(shù)據(jù)庫管理人員分為三類:軟件開發(fā)型DBA,軟件維護(hù)型DBA和系統(tǒng)設(shè)計型DBA。本科教育教學(xué)大綱要求培養(yǎng)的是兼顧前一、二類的高素質(zhì)人才。所以,在教學(xué)教材內(nèi)容的選取上,就要著眼于Oracle數(shù)據(jù)庫的基本編程操作和基本管理能力的培養(yǎng),而把數(shù)據(jù)庫的系統(tǒng)架構(gòu)和性能調(diào)整等內(nèi)容放在次要的地位,指導(dǎo)幫助學(xué)有余力的學(xué)生自學(xué),以豐富其知識積累。在基本編程操作教學(xué)過程中,要注重對數(shù)據(jù)庫的數(shù)據(jù)操縱語句DCL、數(shù)據(jù)查詢語句DQL和過程編程語句PL/SQL的把握,而對數(shù)據(jù)定義語句DDL等讓學(xué)生了解即可。在基本管理教學(xué)過程中,限于教學(xué)課時的制約,可以適當(dāng)傾向于用戶管理、權(quán)限管理、基本對象管理等方面內(nèi)容的學(xué)習(xí),而將其他的技術(shù)管理內(nèi)容作為學(xué)生的自學(xué)內(nèi)容。這樣可以使教學(xué)工作做到學(xué)有目標(biāo)、富有實(shí)效,學(xué)生學(xué)習(xí)做到入門快、有興趣、收益大。其次,要本著管用有效、突出重點(diǎn)的原則篩選教學(xué)內(nèi)容,選擇計算機(jī)應(yīng)用系統(tǒng)實(shí)際開發(fā)中常用、多見的知識,組織開展教學(xué),引導(dǎo)學(xué)生掌握精華和要害,使學(xué)生能夠充分利用有限的時間,學(xué)到最具實(shí)用價值的知識和技術(shù)。
2.2把握理論和實(shí)驗相結(jié)合這一教學(xué)過程中的關(guān)鍵點(diǎn)
大型關(guān)系數(shù)據(jù)庫實(shí)踐性很強(qiáng),光講理論和架構(gòu),學(xué)生不容易掌握,難以形成能力,所以應(yīng)該強(qiáng)化實(shí)驗。這門課的教學(xué)共有32個學(xué)時,我們現(xiàn)在把相關(guān)理論知識壓縮在12學(xué)時內(nèi)講授完畢,用剩余的20個學(xué)時,讓學(xué)生做24個實(shí)驗,通過這些實(shí)驗,引導(dǎo)學(xué)生掌握數(shù)據(jù)庫對象管理、數(shù)據(jù)庫編程基本操作、數(shù)據(jù)庫安全管理、文件管理、表空間管理、備份管理、狀態(tài)監(jiān)測等方面的操作技能[3]。使學(xué)生能夠兼具理論性和動手實(shí)踐能力,有效地了解和掌握Oracle數(shù)據(jù)庫系統(tǒng)操作和管理。
2.3注重知識點(diǎn)在工程開發(fā)實(shí)例中的綜合運(yùn)用
掌握了數(shù)據(jù)庫的基本理論和基本操作技能后,如何在實(shí)踐開發(fā)中應(yīng)用所學(xué)知識,就應(yīng)當(dāng)成為我們教師和學(xué)生共同關(guān)注的問題[4]。因此,有必要在大型關(guān)系數(shù)據(jù)庫Oracle的教學(xué)過程中,引入Oracle工程開發(fā)。在我校的ORACLE課程的內(nèi)容中,我們以一個學(xué)生成績管理系統(tǒng)為例,從系統(tǒng)的需求分析開始,介紹實(shí)體關(guān)系設(shè)計、系統(tǒng)邏輯結(jié)構(gòu)設(shè)計、系統(tǒng)物理結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫實(shí)施、系統(tǒng)存儲過程設(shè)計、觸發(fā)器設(shè)計、數(shù)據(jù)導(dǎo)出和初始化設(shè)計等,在全過程實(shí)例系統(tǒng)開發(fā)中,讓學(xué)生體會數(shù)據(jù)庫技術(shù)在項目開發(fā)中的應(yīng)用,同時掌握各個知識點(diǎn)在實(shí)踐中的綜合運(yùn)用。這部分作為學(xué)生了解的內(nèi)容,課時為4學(xué)時左右,建議在有條件的學(xué)校,可以類設(shè)計一個大的課程設(shè)計題,要求學(xué)生模擬項目開發(fā)中數(shù)據(jù)庫開發(fā)的全過程。我校教學(xué)實(shí)踐證明,這樣做的效果非常好,不但鞏固了課堂教學(xué)知識,同時促使學(xué)生發(fā)揮主動性,掌握很多其他數(shù)據(jù)庫課堂上沒有來得及涉及的內(nèi)容。
3總結(jié)與展望
設(shè)立大型關(guān)系數(shù)據(jù)庫選修課的目的,就是要培養(yǎng)適應(yīng)社會需求的具有實(shí)踐能力和創(chuàng)新精神的數(shù)據(jù)庫管理技術(shù)人才。在現(xiàn)有的教學(xué)資源條件下,如何有效地進(jìn)行教學(xué)改革、完成教學(xué)目標(biāo)、培養(yǎng)合格人才,已經(jīng)成為該項課程教學(xué)的迫切任務(wù)。
對于教學(xué)內(nèi)容和教學(xué)方法這兩個教學(xué)中的關(guān)鍵點(diǎn),我們提出如下的改進(jìn)思路:精選教學(xué)內(nèi)容、加強(qiáng)實(shí)驗環(huán)節(jié)和注重工程實(shí)踐。
大型關(guān)系數(shù)據(jù)庫的教學(xué)對教師和學(xué)生提出了更高的要求,需要在教學(xué)實(shí)踐中勤于探索,即時總結(jié),不斷改進(jìn),以明確的培養(yǎng)目標(biāo)來選擇教學(xué)內(nèi)容,以具體的實(shí)際應(yīng)用為教學(xué)導(dǎo)向,以真實(shí)的系統(tǒng)開發(fā)設(shè)計實(shí)踐為重點(diǎn)[5],就能夠在教學(xué)實(shí)踐中取得好的教學(xué)效果,提高學(xué)生的理論與實(shí)踐水平,培養(yǎng)學(xué)生的專業(yè)素養(yǎng)。只要我們真誠地為學(xué)生著想,為社會服務(wù),就一定能夠使大學(xué)教育教學(xué)工作受到學(xué)生的歡迎,得到社會的承認(rèn),不斷提高我們的辦學(xué)水平,為國家為社會培養(yǎng)更多更好的有用人才,服務(wù)社會主義和諧社會建設(shè),推動中華民族的偉大復(fù)興。
參考文獻(xiàn):
[1] 安志遠(yuǎn). 數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用實(shí)訓(xùn)教程[M]. 北京:中國水利水電出版社,2004.
[2] 羅瓊. 數(shù)據(jù)庫應(yīng)用型課程的設(shè)置與實(shí)踐[J]. 科技信息, 2009(15):36-37.
[3] 員亞利,高春玲,陳紅梅. 計算機(jī)專業(yè)“大型數(shù)據(jù)庫”課程教學(xué)研究與實(shí)踐[J]. 計算機(jī)教育, 2008(12):3-4.
[4] 祝朝映. 任務(wù)驅(qū)動在計算機(jī)教學(xué)中的探索與實(shí)踐[J]. 教職論壇,2003,(10):56-57.
[5] 向琳,左德承,羅丹彥,等. “計算機(jī)設(shè)計與實(shí)踐”課程創(chuàng)新性實(shí)踐教學(xué)探索[J]. 計算機(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
【關(guān)鍵詞】計算機(jī);網(wǎng)絡(luò)設(shè)計;關(guān)系數(shù)據(jù)庫;研究分析
引言
計算機(jī)網(wǎng)絡(luò)設(shè)計中可以運(yùn)用的關(guān)系數(shù)據(jù)庫的設(shè)備以及技術(shù)是非常多樣化的,常見的數(shù)據(jù)庫技術(shù)包括:層次模型數(shù)據(jù)庫技術(shù)、關(guān)系數(shù)據(jù)庫技術(shù)、網(wǎng)狀模型數(shù)據(jù)庫技術(shù)以及層次模型數(shù)據(jù)庫技術(shù)。在所有常見的數(shù)據(jù)庫技術(shù)中,關(guān)系數(shù)據(jù)庫是最為科學(xué)的,在現(xiàn)實(shí)的運(yùn)用中的推廣與使用最為廣泛,適合于現(xiàn)代化生活中比較復(fù)雜的數(shù)據(jù)管理。關(guān)系數(shù)據(jù)庫的管理系統(tǒng)非常容易獲得,已經(jīng)成為了人們首選的數(shù)據(jù)庫技術(shù)。在計算機(jī)網(wǎng)絡(luò)設(shè)計中得到了大范圍的使用。隨著信息時代的到來,給計算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展提供了全新的發(fā)展機(jī)遇,近年來,我國對計算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展給予了高度重視,投入了大量的人力、物力。使計算機(jī)網(wǎng)絡(luò)技術(shù)得到充分發(fā)展。由于我國計算機(jī)技術(shù)起步比較晚,對計算機(jī)技術(shù)的應(yīng)用還不夠成熟,所以一定要采取并且吸收國內(nèi)外先進(jìn)技術(shù),促進(jìn)計算機(jī)網(wǎng)絡(luò)設(shè)計的成熟與發(fā)展。
1關(guān)系數(shù)據(jù)庫概述
關(guān)系數(shù)據(jù)庫是創(chuàng)建在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)學(xué)概念和方法來處理數(shù)據(jù)庫中的相關(guān)數(shù)據(jù)。在現(xiàn)實(shí)世界中,各種實(shí)體以及實(shí)體之間的聯(lián)系都可以通過關(guān)系模型來進(jìn)行表示。關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合、關(guān)系完整性約束三部分組成。關(guān)系數(shù)據(jù)庫技術(shù)是對傳統(tǒng)的數(shù)據(jù)庫技術(shù)的傳承與發(fā)展。針對關(guān)系數(shù)據(jù)庫技術(shù)的研發(fā)是以原有的數(shù)據(jù)庫技術(shù)作為基礎(chǔ)的,只是運(yùn)用了更加先進(jìn)的輔助技術(shù)手段。在計算機(jī)網(wǎng)絡(luò)設(shè)計的過程中運(yùn)用關(guān)系數(shù)據(jù)庫技術(shù)可以建立起比較系統(tǒng)化的關(guān)系數(shù)據(jù)庫模型。關(guān)系型數(shù)據(jù)庫在計算機(jī)網(wǎng)絡(luò)技術(shù)設(shè)計中的應(yīng)用優(yōu)勢主要是數(shù)據(jù)存儲功能強(qiáng)大和數(shù)據(jù)運(yùn)用便捷。關(guān)系數(shù)據(jù)庫在計算機(jī)網(wǎng)絡(luò)設(shè)計中贏得運(yùn)用主要分為以下幾個過程:首先,根據(jù)實(shí)際情況,利用原有的數(shù)據(jù)庫技術(shù)建立起模型。其次針對表格中的相關(guān)數(shù)據(jù)進(jìn)行分析與處理,形成簡單的關(guān)系數(shù)據(jù)庫。最后,通過一系列的處理,原本簡單的表格就會顯現(xiàn)出固定的特征,可以進(jìn)行數(shù)據(jù)存儲與查詢。如果用戶想要使用相關(guān)的數(shù)據(jù)可以根據(jù)數(shù)據(jù)特征進(jìn)行選擇,將符合要求的數(shù)據(jù)調(diào)用出來。在整個使用過程中,表格只是一個載體,承載相關(guān)的數(shù)據(jù)。關(guān)系數(shù)據(jù)庫技術(shù)在計算機(jī)網(wǎng)絡(luò)技術(shù)設(shè)計中的應(yīng)用可以節(jié)約很多中間環(huán)節(jié)。從而提高數(shù)據(jù)的利用率。
2在計算機(jī)網(wǎng)絡(luò)設(shè)計中關(guān)系數(shù)據(jù)庫的運(yùn)用原理
關(guān)系數(shù)據(jù)庫在所有數(shù)據(jù)庫中屬于數(shù)學(xué)模型最完善,最有利于管理復(fù)雜數(shù)據(jù)的數(shù)據(jù)庫模型,另外,關(guān)系數(shù)據(jù)庫比較容易構(gòu)建管理系統(tǒng),編輯工具比較完整,正是由于這些特點(diǎn)與優(yōu)勢,在計算機(jī)網(wǎng)絡(luò)設(shè)計中得到了廣泛應(yīng)用。由于計算機(jī)網(wǎng)絡(luò)設(shè)計中對數(shù)據(jù)庫技術(shù)的要求比較高,需要數(shù)據(jù)的獲得簡單便捷,并且可以對復(fù)雜的數(shù)據(jù)有效管理。關(guān)系數(shù)據(jù)庫技術(shù)通過C語言的運(yùn)用充分實(shí)現(xiàn)了以上要求,得到人們親睞。關(guān)系數(shù)據(jù)庫的設(shè)計原理是在計算機(jī)的數(shù)據(jù)庫軟件的系統(tǒng)結(jié)構(gòu)中有兩個主要的數(shù)據(jù)訪問系統(tǒng),但兩個系統(tǒng)不是聯(lián)合面向用戶的,而是獨(dú)立的面對用戶,當(dāng)用戶訪問開放性的數(shù)據(jù)鏈接時,數(shù)據(jù)庫的管理系統(tǒng)可以通過輸入語言程序來進(jìn)行訪問。當(dāng)數(shù)據(jù)體系結(jié)構(gòu)由多個數(shù)據(jù)訪問對象同時工作時,具備良好的協(xié)同性,對關(guān)系數(shù)據(jù)庫技術(shù)的操作進(jìn)行全面優(yōu)化。另外,關(guān)系數(shù)據(jù)庫的編程工具非常完整,在計算機(jī)網(wǎng)絡(luò)設(shè)計中大多使用C語言進(jìn)行編程,可以最大限度的滿足設(shè)計的相關(guān)需求。
3關(guān)系數(shù)據(jù)庫在計算機(jī)網(wǎng)絡(luò)設(shè)計中的運(yùn)用優(yōu)勢
3.1數(shù)據(jù)存儲功能強(qiáng)大
隨著科學(xué)技術(shù)的快速發(fā)展,促進(jìn)了網(wǎng)絡(luò)拓?fù)湎到y(tǒng)的優(yōu)化,在計算機(jī)網(wǎng)絡(luò)設(shè)計中所涉及到的數(shù)據(jù)信息在不斷的增加,傳統(tǒng)的數(shù)據(jù)庫信息主要由人工來進(jìn)行錄用,信息的存儲量有限,在數(shù)據(jù)庫操作運(yùn)作的過程中經(jīng)常出現(xiàn)失誤?,F(xiàn)代化的關(guān)系數(shù)據(jù)庫技術(shù)的應(yīng)用凸顯出非常明顯的優(yōu)勢。關(guān)系數(shù)據(jù)庫系統(tǒng)中存儲著大量的數(shù)據(jù)信息,可以無限容量的輸入或者錄入數(shù)據(jù)信息,在計算機(jī)網(wǎng)絡(luò)的設(shè)計中,可以通過數(shù)據(jù)庫的的輔助功能對數(shù)據(jù)信息進(jìn)行調(diào)度,推復(fù)雜的信息進(jìn)行處理。關(guān)系數(shù)據(jù)庫的數(shù)據(jù)系統(tǒng)操作起來非常便捷,出現(xiàn)失誤的概率非常小,操作準(zhǔn)確便捷,目前在各種數(shù)據(jù)庫中,關(guān)系數(shù)據(jù)庫的運(yùn)用最為廣泛,比較適合現(xiàn)代化復(fù)雜的數(shù)據(jù)管理。
3.2數(shù)據(jù)靈活轉(zhuǎn)換
大多的計算機(jī)網(wǎng)絡(luò)設(shè)計中,不可避免的會涉及到社會生產(chǎn)的多個方面,要求計算機(jī)網(wǎng)絡(luò)一定要實(shí)現(xiàn)不同數(shù)據(jù)之間的轉(zhuǎn)換,促進(jìn)計算機(jī)網(wǎng)絡(luò)設(shè)計軟件的正常運(yùn)行。所以對不同數(shù)據(jù)之間的轉(zhuǎn)換工作已經(jīng)成為了計算機(jī)網(wǎng)絡(luò)技術(shù)發(fā)展的重點(diǎn)。關(guān)系數(shù)據(jù)庫在計算機(jī)網(wǎng)絡(luò)設(shè)計中的應(yīng)用具有簡便的數(shù)據(jù)轉(zhuǎn)換功能,通過關(guān)系數(shù)據(jù)庫可以將計算機(jī)中大部分的軟件按照不同的需求進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換的功能非常高效。關(guān)于軟件的轉(zhuǎn)換主要是關(guān)系數(shù)據(jù)庫將計算機(jī)網(wǎng)絡(luò)設(shè)計中的計算機(jī)軟件與網(wǎng)絡(luò)管理軟件進(jìn)行相互鏈接,從而實(shí)現(xiàn)了計算機(jī)中大部分軟件之間自由轉(zhuǎn)換。一旦數(shù)據(jù)轉(zhuǎn)換的問題得到解決,那么計算機(jī)網(wǎng)絡(luò)設(shè)計在日常的運(yùn)行中就會起到良好的效果。
3.3輔助設(shè)計功能
關(guān)系數(shù)據(jù)庫在計算機(jī)網(wǎng)絡(luò)設(shè)計中主要起到輔助設(shè)計的功能,計算機(jī)網(wǎng)絡(luò)設(shè)計的資源來源于數(shù)據(jù)庫,數(shù)據(jù)庫的信息量非常大,而且具有特定的描述特征。把相關(guān)的數(shù)據(jù)進(jìn)行組合,得到相應(yīng)的網(wǎng)絡(luò)參數(shù),便于計算機(jī)網(wǎng)絡(luò)數(shù)據(jù)的輸入,并且解決相關(guān)的設(shè)計問題。在計算機(jī)網(wǎng)絡(luò)設(shè)計中,光纖是比不可少的應(yīng)用,網(wǎng)絡(luò)數(shù)據(jù)庫的存在使得光纖設(shè)計過程中的相關(guān)設(shè)備的數(shù)據(jù)可以相互融合,加快傳播速度。關(guān)系數(shù)據(jù)庫技術(shù)在計算機(jī)網(wǎng)絡(luò)設(shè)計中的應(yīng)用能夠及時的發(fā)現(xiàn)數(shù)據(jù)輸入是的錯誤并且及時解決。
3.4概念單一
關(guān)系數(shù)據(jù)庫是建立在嚴(yán)格的數(shù)學(xué)概念基礎(chǔ)之上,概念比較單一,實(shí)體與實(shí)體之間都存在必然的聯(lián)系,數(shù)據(jù)結(jié)構(gòu)簡單清晰、數(shù)據(jù)的存取路徑對用戶透明,所以關(guān)系數(shù)據(jù)庫技術(shù)具有更高的數(shù)據(jù)獨(dú)立性和安全保密性。
4結(jié)束語
關(guān)系數(shù)據(jù)庫可以對海量信息進(jìn)行存儲、利用以及轉(zhuǎn)化,在計算機(jī)網(wǎng)絡(luò)設(shè)計中的運(yùn)用可以使操作更加準(zhǔn)確便捷。隨著科學(xué)技術(shù)的快速發(fā)展與進(jìn)步,對計算機(jī)網(wǎng)絡(luò)設(shè)計是一個巨大挑戰(zhàn),對計算機(jī)網(wǎng)絡(luò)的設(shè)計需要高度重視,抓住當(dāng)前的發(fā)展機(jī)遇,逐漸的將關(guān)系數(shù)據(jù)庫技術(shù)運(yùn)用到計算機(jī)網(wǎng)絡(luò)設(shè)計中,使計算機(jī)網(wǎng)絡(luò)設(shè)計更加優(yōu)化,促進(jìn)我國計算機(jī)技術(shù)與信息技術(shù)的穩(wěn)定發(fā)展。
參考文獻(xiàn)
[1]李遠(yuǎn)英.計算機(jī)網(wǎng)絡(luò)設(shè)計中關(guān)系數(shù)據(jù)庫技術(shù)的應(yīng)用探析[J].通訊世界,2016-11-25.
[2]徐闖.計算機(jī)網(wǎng)絡(luò)設(shè)計中關(guān)系數(shù)據(jù)庫技術(shù)的應(yīng)用[J].信息技術(shù)與信息化,2016-03-25.
[3]朱曉寧.關(guān)系數(shù)據(jù)庫技術(shù)在計算機(jī)網(wǎng)絡(luò)設(shè)計中的運(yùn)用[J].智能城市,2016-04-25.
篇6
[關(guān)鍵詞]關(guān)系數(shù)據(jù)庫SQL查詢對策
中圖分類號:TP3文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)1210080-01
在各類大型應(yīng)用軟件的數(shù)據(jù)庫中,都存在大量的數(shù)據(jù)信息和記錄,經(jīng)常要對它們進(jìn)行各種數(shù)據(jù)操作。SQL(Structrued Query Language)作為結(jié)構(gòu)化查詢語言,是大型計算機(jī)操作關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)查詢語言,同時也廣泛地應(yīng)用到小型計算機(jī)的數(shù)據(jù)庫管理系統(tǒng)中。它是一種高度非過程化的語言,即只要用戶按其語法規(guī)則寫出符合操作要求的語句,而并不需要告訴系統(tǒng)應(yīng)如何執(zhí)行SQL語句,就可得到所要求的結(jié)果。隨著數(shù)據(jù)庫技術(shù)的廣泛應(yīng)用,在數(shù)據(jù)庫程序的開發(fā)過程中,大量的工作是要進(jìn)行數(shù)據(jù)查詢和檢索處理。本文從SQL查詢語句執(zhí)行的過程入手,對其執(zhí)行效率進(jìn)行分析,并給出參考性建議和優(yōu)化策略。
一、SQL語句執(zhí)行過程解析
在平時書寫SQL查詢語句時,雖然每個人的寫法不盡相同,而且有時個別子句順序并不影響操作結(jié)果,但是在各種數(shù)據(jù)庫管理系統(tǒng)中,標(biāo)準(zhǔn)的SQL的解析順序為:
1.FROM子句,組裝來自不同數(shù)據(jù)源的數(shù)據(jù);
2.WHERE子句,基于指定的條件對記錄進(jìn)行篩選;
3.GROUP BY子句,將數(shù)據(jù)劃分為多個分組;
4.使用聚合函數(shù)進(jìn)行計算;
5.使用HAVING子句篩選分組;
6.計算所有的表達(dá)式;
7.使用ORDER BY對結(jié)果集進(jìn)行排序。
通過以上SQL語句的解析過程,我們可以對SQL查詢語句進(jìn)行優(yōu)化處理。SQL查詢語句的核心結(jié)構(gòu)是SELECT…FROM…WHERE,了解了這個基本結(jié)構(gòu),我們可以從以下幾個方面對其進(jìn)行優(yōu)化處理。
二、效率分析及優(yōu)化對策
(一)從From子句入手
From子句后面接單表或者多表,通常情況下接受來自不同數(shù)據(jù)源的多表。如果是單表,一般情況下對表進(jìn)行快速全表掃描。如果是多表的情況,查詢設(shè)計優(yōu)化器將采取自右向左的順序依次讀取數(shù)據(jù)表。如以下語句:“From table1,table2,table3”,優(yōu)化器將優(yōu)先讀取table3表,然后是table2表,最后是table1表。在進(jìn)行From子句的多表連接時,就需要結(jié)合條件子句WHERE進(jìn)行分析,需要遵循下面的規(guī)則:1. 當(dāng)WHERE后面接的條件能夠一次性過濾某個表的大量記錄時,應(yīng)優(yōu)先處理該表。2. 如果WHERE后面接的條件不能過濾掉大量記錄時應(yīng)該優(yōu)先考慮處理記錄數(shù)最少或者索引關(guān)鍵值最少的表。
(二)從條件子句WHERE入手
WHERE子句后面通常接過濾條件,對表的記錄進(jìn)行篩選,篩選出符合條件的記錄。如果SELECT查詢語句沒有WHERE子句,則無須對表記錄進(jìn)行過濾。若后面接單個表,則通常順序掃描全表。若后接多表或者大量記錄表時,則可以考慮用索引來減少查詢的時間。所以在查詢前可對各個表建立比較的索引。對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語句的作用是對記錄進(jìn)行分組(劃分成較小的組),使用聚合函數(shù)返回每一個組的匯總信息,而HAVING子句限制返回的結(jié)果集。在一個SQL語句中可以有WHERE子句和HAVING子句。HAVING與WHERE子句類似,均用于設(shè)置限定條件。WHERE子句的作用是在對查詢結(jié)果進(jìn)行分組前,將不符合WHERE條件的記錄過濾掉,而HAVING子句的作用是篩選滿足條件的組,即在分組之后過濾數(shù)據(jù),但它不能單獨(dú)使用,只能配合GROUP By語句使用,該條件中經(jīng)常包含聚組函數(shù),使用HAVING條件顯示特定的組,也可以使用多個分組標(biāo)準(zhǔn)進(jìn)行分組。雖然HAVING子句可以起到過濾的作用,但是要盡量避免使用HAVING子句,HAVING只會在檢索出所有記錄之后才對結(jié)果集進(jìn)行過濾。這個處理需要排序,總計等操作。如果能通過WHERE子句限制記錄的數(shù)目,而且能盡早地把不滿足條件的記錄過濾掉,那就能減少這方面的開銷。
(四)從謂詞等方面入手
在SELECT語句中,由于實(shí)際需要,查詢語句會經(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。在許多基于基礎(chǔ)表的查詢中,為了滿足一個條件,往往需要對另一個表進(jìn)行聯(lián)接。在這種情況下,使用EXISTS(或NOT EXISTS)通常將提高查詢的效率。
4.用表連接代替EXISTS。通常來說,采用表連接的方式比EXISTS更有效率。
5.用EXISTS代替DISTINCT。當(dāng)提交一個包含一對多表信息(比如班級表和學(xué)生表)的查詢時,避免在SELECT子句中使用DISTINCT。一般可以考慮用EXIST替換。
6.WHERE子句盡量少使用NOT或是,應(yīng)該成OR來實(shí)行,使用OR時應(yīng)該把結(jié)果集小的條件放在前面。
7.UNION改用UNION ALL,UNION要對合并的結(jié)果進(jìn)行排序,UNION ALL不排序。
8.ORDER BY子句中盡量不要使用非索引列。
三、結(jié)語
通過對SQL查詢語句執(zhí)行過程的分析,可以從以上幾個方面對其進(jìn)行優(yōu)化改進(jìn),從而提高了數(shù)據(jù)庫查詢和檢索的效率。當(dāng)然,具體的查詢語句還要根據(jù)具體需要,并結(jié)合具體的數(shù)據(jù)庫系統(tǒng)而定。只有多總結(jié)多積累才能寫出高質(zhì)量高效率的查詢語句,當(dāng)然這只是提高數(shù)據(jù)檢索的一個方面,在其他方面的設(shè)計也要進(jìn)行優(yōu)化,如對表建立必要的索引,減少表之間的連接,或盡量在索引屬性列上建立連接等。總之,通過以上幾個方面的綜合優(yōu)化,一定會使數(shù)據(jù)庫查詢與檢索效率有很大的提高。
參考文獻(xiàn):
[1]王振輝、吳廣茂,SQL查詢語句優(yōu)化研究[J].計算機(jī)應(yīng)用,2005,25(12).
[2]徐鳳梅,關(guān)系數(shù)據(jù)庫中SQL查詢語言的優(yōu)化策略[J].廣西輕工業(yè),2009,126(5).
[3]鄧文艷,基于關(guān)系數(shù)據(jù)庫的查詢優(yōu)化技術(shù)[J].太原科技,2007(12).
[4]楊克昌,Visual FoxPro程序設(shè)計教程[M].長沙:湖南科學(xué)技術(shù)出版社,2004.
[5]李瑩、代勤,關(guān)系代數(shù)運(yùn)算與SQL查詢的對應(yīng)關(guān)系[J].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(自然科學(xué)版),2003,24(3).
篇7
數(shù)據(jù)庫技術(shù)發(fā)展至今已有40多年的歷史,它作為數(shù)據(jù)管理的有效手段,大大促進(jìn)了計算機(jī)應(yīng)用技術(shù)的發(fā)展。從早期的文件系統(tǒng)到層次數(shù)據(jù)庫和網(wǎng)狀數(shù)據(jù)庫,從關(guān)系數(shù)據(jù)庫到面向?qū)ο髷?shù)據(jù)庫,以及面向不同應(yīng)用的時態(tài)數(shù)據(jù)庫、演繹數(shù)據(jù)庫等等,均向人們展示了數(shù)據(jù)庫技術(shù)的廣闊應(yīng)用前景[2]。關(guān)系數(shù)據(jù)庫,顧名思義是建立在關(guān)系數(shù)據(jù)庫模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)、離散數(shù)學(xué)等概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。關(guān)系數(shù)據(jù)庫是一個被組織成一組擁有正規(guī)描述的表格,該形式表格作用的實(shí)質(zhì)是裝載著數(shù)據(jù)項的特殊收集體。這些表格中的數(shù)據(jù)以許多不同的方式被存取或重新召集而不需要重新組織數(shù)據(jù)庫表格[3]。除了相對容易創(chuàng)建和存取之外,關(guān)系數(shù)據(jù)庫具有容易擴(kuò)充的優(yōu)勢。在最初數(shù)據(jù)庫創(chuàng)造之后,一個新的數(shù)據(jù)種類能被添加而不需要修改所有的現(xiàn)有應(yīng)用軟件。目前主流的關(guān)系數(shù)據(jù)庫有Oracle、SQL、Aceess、DB2、MySQL、SQLServer、Sybase等等[4]。根據(jù)本校辦學(xué)規(guī)模和處理信息量,采用ACEESS作為本系統(tǒng)數(shù)據(jù)庫的管理工具。
2數(shù)據(jù)庫模型建立
2.1應(yīng)用需求抽象
根據(jù)學(xué)員信息管理的具體任務(wù),按照管理功能進(jìn)行業(yè)務(wù)劃分和模塊化設(shè)計。按照簡單性、獨(dú)立性及完整性原則,學(xué)員信息管理系統(tǒng)后臺可以分為以下幾個子系統(tǒng):即學(xué)員檔案管理子系統(tǒng)、課程管理子系統(tǒng)、成績管理子系統(tǒng)、中隊管理子系統(tǒng)、管理統(tǒng)計子系統(tǒng)、系統(tǒng)管理子系統(tǒng)、系統(tǒng)維護(hù)子系統(tǒng)。(1)學(xué)員檔案管理子系統(tǒng)學(xué)員檔案管理主要有學(xué)員管理、批量學(xué)員添加、按中隊批量學(xué)員添加等功能。(2)課程管理子系統(tǒng)課程管理子系統(tǒng)主要有課程管理、批量課程添加、任課管理、任課添加等功能。(3)成績管理子系統(tǒng)成績管理子系統(tǒng)完成成績管理、批量成績添加、按中隊成績添加功能。(4)中隊管理子系統(tǒng)中隊管理子系統(tǒng)完成中隊管理、中隊批量添加兩個子模塊功能。(5)管理統(tǒng)計子系統(tǒng)管理統(tǒng)計子系統(tǒng)顯示學(xué)?;拘畔?,包括年級數(shù)、中隊數(shù)、學(xué)員數(shù)、教師數(shù)、課程數(shù)、用戶瀏覽統(tǒng)計等相關(guān)信息,還可完成學(xué)員統(tǒng)計、排名統(tǒng)計功能。(6)系統(tǒng)管理子系統(tǒng)系統(tǒng)管理子系統(tǒng)包括修改管理員密碼、帳號管理、干部管理、年級管理、學(xué)期管理功能。(7)系統(tǒng)維護(hù)子系統(tǒng)系統(tǒng)維護(hù)子系統(tǒng)主要完成系統(tǒng)的相關(guān)設(shè)置功能,包括站點(diǎn)名稱,站點(diǎn)LOGO設(shè)置,網(wǎng)站主體表格屬性設(shè)置,年級變遷(這里主要是對年級進(jìn)行批量升級操作,也可以在中隊管理下單個進(jìn)行升級)。
2.2數(shù)據(jù)庫表關(guān)系建立
關(guān)系數(shù)據(jù)庫模式的建立,離不開數(shù)據(jù)表之間關(guān)系的建立,只有建立表之間的關(guān)系,整個數(shù)據(jù)庫才能形成一個系統(tǒng),提供強(qiáng)大的信息存儲、查詢、和處理功能[5]。對比應(yīng)用需求說明和現(xiàn)實(shí)學(xué)校各部門的業(yè)務(wù)流程,設(shè)計數(shù)據(jù)庫表之間的關(guān)系如圖1所示。(1)學(xué)員和評語之間存在一對多的對應(yīng)關(guān)系,即一個學(xué)員可以有多條來自不同老師的評語;學(xué)員和家長存在一對多的對應(yīng)關(guān)系,即一個學(xué)員可以對應(yīng)一個家長,方便家長對學(xué)員相關(guān)信息進(jìn)行查詢。學(xué)員和平時成績存在一對多的對應(yīng)關(guān)系,即一個學(xué)員可以有多種平時成績;同時,學(xué)員還和中隊有多對一對應(yīng)關(guān)系,即一個中隊可以有多個學(xué)員。(2)中隊和成績有一對多的對應(yīng)關(guān)系,即一個中隊可以有多條成績;中隊和年級有一對一的對應(yīng)關(guān)系,即一個中隊屬于一個年級。中隊和大隊有一對一的對應(yīng)關(guān)系,即一個中隊屬于一個大隊,中隊和任課信息有一對多的對應(yīng)關(guān)系即一個中隊有多條任課關(guān)系與之對應(yīng)。大隊和中隊有一對多的對應(yīng)關(guān)系,即一個大隊對應(yīng)多個中隊。(3)任課信息表中的教師ID和教師信息表中ID存在一一對應(yīng)關(guān)系。教師表中ID和任課教師信息表中的ID存在一對多的關(guān)系。即一個教師可以有多個任課關(guān)系。任課教師表中的課程ID和課程表中的課程ID存在一一對應(yīng)關(guān)系。任課信息表中的學(xué)期和學(xué)期ID存在一一對應(yīng)關(guān)系。即一個任課信息對應(yīng)一個學(xué)期。成績表中的課程ID和課程信息表中的ID存在一一對應(yīng)關(guān)系,成績表中的學(xué)期ID和學(xué)期表中的學(xué)期ID存在一一對應(yīng)關(guān)系。
2.3數(shù)據(jù)庫模式設(shè)計
2.3.1關(guān)系數(shù)據(jù)庫設(shè)計中存在問題
(1)數(shù)據(jù)冗余:在一個數(shù)據(jù)集合中重復(fù)的數(shù)據(jù)稱為數(shù)據(jù)冗余。例如在設(shè)計時沒有把教師信息表Teacher和任課信息表tea_sub分開,那么每存儲一條任課信息tea_sub(tsid、ts_tea_user、ts_sub_id、ts_ter_id、ts_cla_id)教師表中的其他信息也要重復(fù)存儲[4]。(2)更新異常:更新異常分為插入異常和刪除異常。插入異常:比如學(xué)員信息表student,如果不知道學(xué)號,那么插入再多的其他信息都是沒有意義的。例如一個剛?cè)肼毜慕處熇硭?dāng)然要在任課信息表中有其相關(guān)數(shù)據(jù),但此時他還沒有任課,即他對應(yīng)的元組<ts_sub_id、ts_ter_id、ts_cla_id>是不完全的,只有<tsid、ts_tea_user、ts_sub_id>而沒有<ts_ter_id、ts_cla_id>,不能將他的信息放到數(shù)據(jù)庫中。因此無法注冊該教師的任課信息,這與實(shí)際需求不符。這樣的操作是不合理的,將這種現(xiàn)象稱為插入異常。刪除異常:例如在沒分解的教師信息表中的任課信息中,相應(yīng)的任課關(guān)系解除。那么刪除整條記錄,該教師的其他信息也被刪除,在查詢的時候無法查閱該教師相關(guān)信息,這也與實(shí)際需求相悖,將這種現(xiàn)象稱為刪除異常。數(shù)據(jù)庫的性能優(yōu)化包括硬件優(yōu)化,查詢優(yōu)化和設(shè)計優(yōu)化三個方面。本文著重介紹設(shè)計優(yōu)化即模式優(yōu)化,模式優(yōu)化重點(diǎn)解決數(shù)據(jù)冗余和更新異常問題。
2.3.2數(shù)據(jù)庫模式的規(guī)范化
在對數(shù)據(jù)庫進(jìn)行模式設(shè)計時,對關(guān)系的分解并不是盲目的,分解的目的在于減少關(guān)系模式的規(guī)模,避免不必要的存儲及操作的冗余和數(shù)據(jù)更新異常。為了清除異常,需要對關(guān)系模式進(jìn)行合理地分解。為此,人們設(shè)計數(shù)據(jù)庫設(shè)計的規(guī)范化理論,以便能夠設(shè)計出異常盡可能少的數(shù)據(jù)庫模式[4]。據(jù)參考文獻(xiàn)[4]所述,數(shù)據(jù)庫模式分為6級,具體的定義見參考書目。分別是1NF:是關(guān)系數(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的學(xué)員信息表分解,在學(xué)員信息表中每一個屬性都該是原子屬性,故對部職別進(jìn)行分解。由消防部隊的編制特點(diǎn),每個省、自治區(qū)、直轄市均有相應(yīng)的消防總隊;每個地級市、自治州、區(qū)都有相應(yīng)的消防支隊。學(xué)校學(xué)員來自五湖四海,故對學(xué)員信息表中的部職別屬性進(jìn)行分解。由于有的學(xué)員來自總隊和支隊機(jī)關(guān),故把部職別分為總隊和部職別兩個屬性,即<yuanbubie>分解為<yuanbu-bie、province>,province為province表中的省份ID??傟牨碓O(shè)計為province(pid、pname)。在學(xué)員信息表中只要存儲省份ID就行。不用再存儲省份名。最長總隊名新疆維吾爾族自治區(qū)消防總隊所占字節(jié)為26Btye,所占ID為2Byte。按新疆總隊有學(xué)員121名計算,模式分解前學(xué)員原部別信息中存儲總隊信息需用26Btye×121=3164Byte;而模式分解后存儲ID信息占用2Btye×121=242Byte。(2)滿足BCNF的教師信息表分解,在2.4.1節(jié)數(shù)據(jù)庫設(shè)計存在問題中提到數(shù)據(jù)冗余和刪除異常,在沒分解的教師信息表的任課信息中,相應(yīng)的任課關(guān)系解除。那么刪除整條記錄,該教師的其他信息也被刪除,在查詢的時候無法查閱該教師相關(guān)信息,這也與實(shí)際需求相悖。要解決刪除異常,即把教師信息表Teacher分解為教師基本信息表teacher和任課教師信息表tea_sub(tsid、ts_tea_user、ts_sub_id、ts_ter_id、ts_cla_id)。這樣的分解既解決了數(shù)據(jù)冗余的問題,也解決了刪除異常的問題。分解后Teacher和tea_sub關(guān)系模式都是1NF,且在其中不存在這樣的屬性A,A傳遞依賴與Teacher和tea_sub的碼、由于關(guān)系模式Teacher={R1,R2…,Rn}和tea_sub={R1,R2…,Rn}中Ri(i=1,2,…,n)為BC范式,則關(guān)系模式Teacher和tea_sub也滿足BCNF。數(shù)據(jù)庫的規(guī)范化設(shè)計還有很多,根據(jù)系統(tǒng)應(yīng)用需求的變更和數(shù)據(jù)規(guī)模的遞增,需要設(shè)計相應(yīng)的數(shù)據(jù)模式來優(yōu)化昆明消防指揮學(xué)校學(xué)員綜合信息管理系統(tǒng)的數(shù)據(jù)庫性能,使之滿足應(yīng)用需求,更好地為學(xué)校教師、學(xué)員和管理人員提供便捷的信息化服務(wù)。
3結(jié)束語
篇8
關(guān)鍵詞:數(shù)字圖書館;信息組織;數(shù)據(jù)庫技術(shù)
中圖分類號:G251.5 文獻(xiàn)標(biāo)識碼: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)技術(shù)的發(fā)展給數(shù)字圖書館的發(fā)展帶來了很多的機(jī)遇,信息的類型以及信息的傳播方式也隨之發(fā)生了巨大改變。數(shù)字圖書館旨在建立一種大規(guī)模的并且可以拓展的海量的數(shù)字化信息資源庫,其能把無序的、復(fù)雜的資源變得更加有序化、更加有益于使用。與此同時,在現(xiàn)階段,我們更應(yīng)該在結(jié)合互聯(lián)網(wǎng)技術(shù)的前提之下,把封閉的和精致的信息資源轉(zhuǎn)變成可以超越時間限制以及空間限制的信息資源,以向用戶提供更加高效及更加便捷的數(shù)字化信息為最終目的。
數(shù)字圖書館的發(fā)展雖然已經(jīng)經(jīng)歷了不是很長時期,但是相對于傳統(tǒng)的圖書館而言,數(shù)字圖書館仍然是一種比較先進(jìn)和現(xiàn)代化的方式。這項技術(shù)通常與先進(jìn)的網(wǎng)絡(luò)信息技術(shù)緊密連接,這是實(shí)現(xiàn)資源共享的主要方式之一。數(shù)字圖書館的信息資源需要進(jìn)行組織和描述,以給使用者帶來方便,所以應(yīng)該探索一種適合數(shù)字圖書館信息組織的技術(shù)。經(jīng)實(shí)踐證明,數(shù)據(jù)庫技術(shù)在數(shù)字圖書館信息組織方面便具有很大的潛力和優(yōu)勢?,F(xiàn)階段,數(shù)據(jù)庫在我國數(shù)字圖書館的信息處理中已經(jīng)得到較為廣發(fā)的應(yīng)用,大致上可以分為兩大種類,第一類是應(yīng)用數(shù)據(jù)庫管理系統(tǒng)的軟件進(jìn)行了二次開發(fā)為用戶提供查詢服務(wù)。另外一種是,商業(yè)化的數(shù)據(jù)庫。這一些數(shù)據(jù)庫更新?lián)Q代是相對迅速的、高效的。
數(shù)字圖書館中的信息資源不僅極為復(fù)雜,而且信息量又非常大,既有影像資料也有電子文本等各種格式,還有軟件等其他形式,數(shù)字圖書館便是對這一些數(shù)字對象的集中分析、處理、整合以及輸出整理等。數(shù)字圖書館信息組織的數(shù)據(jù)庫技術(shù)的現(xiàn)狀數(shù)字圖書館的信息組織的對象是數(shù)字信息資源,主要方式是對其進(jìn)行選擇、描述和整合等一系列的內(nèi)容,以使其變得更加有序化,形成一個有機(jī)的整體,使資源的利用更加的方便和高效。數(shù)字圖書館信息組織是至關(guān)重要的,因為這直接關(guān)系到數(shù)據(jù)存儲的質(zhì)量以及所提供的信息服務(wù)的好壞,在總體上會直接影響到系統(tǒng)運(yùn)行的性能。
數(shù)字圖書館作為一個十分龐大的系統(tǒng),其具有分布廣泛、規(guī)模大、信息容量大等特點(diǎn),必須需要組織及其明確的數(shù)據(jù)庫技術(shù),只有這樣才能夠最大程度上保證用戶進(jìn)行訪問的質(zhì)量與速度,以獲得自己所需要的最終信息,數(shù)據(jù)庫的建立是在一定的計算機(jī)和網(wǎng)絡(luò)技術(shù)基礎(chǔ)之上的,這是數(shù)字圖書館信息系系統(tǒng)所具有的基本特征。從其本質(zhì)上特征來講,便是建立在計算機(jī)網(wǎng)絡(luò)技術(shù)基礎(chǔ)之上的數(shù)據(jù)庫信息系統(tǒng)。數(shù)據(jù)庫技術(shù)是數(shù)字圖書館的用戶獲取信息,以及對信息進(jìn)行存儲、組織和檢索、分析統(tǒng)計等的技術(shù)基礎(chǔ)。所以數(shù)據(jù)庫的技術(shù)應(yīng)該引起我們的重視和關(guān)注。數(shù)字圖書館的建立以及信息資源的開發(fā)和利用甚至是信息資源的配置和傳播,都從很大程度上依賴于數(shù)據(jù)庫技術(shù)。從宏觀上來講,數(shù)據(jù)庫技術(shù)主要包括數(shù)據(jù)倉庫技術(shù)、多媒體數(shù)據(jù)庫技術(shù)、關(guān)系數(shù)據(jù)庫技術(shù)等。
二、數(shù)字圖書館的信息組織
數(shù)字圖書館組織的信息對象除了傳統(tǒng)的文字信息以外還有圖像、聲音以及視頻等其他類型,這些信息在數(shù)字圖書館變化成為一些數(shù)字化層面的信息,并且在一定程度上與原有的載體分割開來,總體上來看,數(shù)字圖書館信息組織的對象主要是跨媒體的信息對象。信息數(shù)字化的過程是一個復(fù)雜的過程,信息可能會分布在不同的數(shù)據(jù)服務(wù)器上,而不僅僅是傳統(tǒng)的儲存在同一個地方。數(shù)字化圖書館還要面臨的就是信息總量的不斷增長,因為伴隨著信息的處理以及信息的傳播等各方面技術(shù)的快速發(fā)展,信息總量的增加是必然趨勢。在這些前提之下,數(shù)字圖書館的信息處理方式會是一種跨越時間和空間限制的方式,還具有全球化的特征。
圖書館的信息組織必須在一定的原則基礎(chǔ)之上完成,這些原則主要包括多維揭示原則、非線性原則、以及選擇性原則、標(biāo)準(zhǔn)性原則和完備性原則等。
三、數(shù)據(jù)庫技術(shù)在數(shù)字圖書館信息組織中的應(yīng)用
(一)數(shù)據(jù)倉庫技術(shù)在數(shù)字圖書館信息組織中的應(yīng)用
數(shù)字圖書館提供的不僅僅是一次性的信息,還要提供一些經(jīng)過深層次開發(fā)的信息,不僅要讓讀者感受到信息的導(dǎo)航和信息的提供這些簡單的和傳統(tǒng)的內(nèi)容,還要提供信息的分析和信息的決策支持等更深層次的服務(wù),這些要求和發(fā)展趨勢就使得數(shù)據(jù)倉庫技術(shù)越來越成為圖書館信息組織的必不可少的數(shù)據(jù)庫形式。數(shù)據(jù)倉庫是很多數(shù)據(jù)的集合。這些數(shù)據(jù)主要用于支持管理的決策過程,并且具有集成、不可更新以及隨時間不斷變化等特點(diǎn)。實(shí)際上,數(shù)據(jù)倉庫是一個過程,是一個業(yè)務(wù)處理系統(tǒng)獲得數(shù)據(jù),最后為用戶提供從數(shù)據(jù)中獲取信息和知識的各種方法和手段。
數(shù)據(jù)倉庫具有其他類型的數(shù)據(jù)庫所不具有的一些特點(diǎn),第一,數(shù)據(jù)倉庫技術(shù)具有存儲信息量大的特點(diǎn),一般會比其他的數(shù)據(jù)庫大。第二,數(shù)據(jù)倉庫還具有集成性的特點(diǎn)。在數(shù)據(jù)倉庫中,數(shù)據(jù)的來源是很復(fù)雜的,信息源不同,所以必須對原始的數(shù)據(jù)進(jìn)行一定的處理時候才能夠進(jìn)行統(tǒng)一和整合,以適合數(shù)據(jù)倉庫的要求。第三,數(shù)據(jù)具有很強(qiáng)的穩(wěn)定性能。數(shù)據(jù)倉庫具有一個明顯的優(yōu)勢,那便是可以對很長一段時間以內(nèi)的歷史數(shù)據(jù)進(jìn)行保留,這樣就避免了頻繁的數(shù)據(jù)的處理和更新。
數(shù)字圖書館的籌建和發(fā)展過程中一定會產(chǎn)生大量的信息數(shù)據(jù),這是構(gòu)建數(shù)據(jù)倉庫的基礎(chǔ)。作為一個具有整體性的技術(shù)體系,數(shù)據(jù)倉庫經(jīng)歷了初步發(fā)展之后已經(jīng)形成一定的規(guī)模,已經(jīng)有足夠的技術(shù)基礎(chǔ)和普及的條件。同時,數(shù)據(jù)倉庫具有另外一個優(yōu)勢,它不僅僅是在數(shù)字圖書館中得到了一定應(yīng)用,而且在其他一些相關(guān)領(lǐng)域具有實(shí)際應(yīng)用的先例,這些便為數(shù)據(jù)倉庫在數(shù)字圖書館中的應(yīng)用奠定了相當(dāng)深厚的技術(shù)基礎(chǔ)和值得借鑒的成功經(jīng)驗。
只有圖書管理過程的科學(xué)和先進(jìn)才能夠保證圖書管理的科學(xué)和規(guī)范,才能夠為讀者節(jié)約時間、提高效率和獲取更多的信息。所以圖書館的管理更應(yīng)該向著科學(xué)化的方向發(fā)展和改進(jìn)。數(shù)據(jù)倉庫技術(shù)的出現(xiàn)和發(fā)展很大程度上改善了原有的狀況,從很大程度上避免了主觀經(jīng)驗的盲目性,形成的決策相對的具有理性,更加適應(yīng)時代的需求和讀者的需求。這種數(shù)據(jù)庫的集中優(yōu)點(diǎn)便是,第一,把圖書館內(nèi)部的數(shù)據(jù)與外部的信息進(jìn)行了有機(jī)統(tǒng)一和集中管理,這樣的信息更加全面,也防止了發(fā)生決策失誤的風(fēng)險。第二,這種數(shù)據(jù)庫在處理集成數(shù)據(jù)是具有可靠性和可行性。采用這種數(shù)據(jù)庫可以對集成的數(shù)據(jù)進(jìn)行分析比較。
(二)關(guān)系數(shù)據(jù)庫在信息處理上的應(yīng)用
關(guān)系數(shù)據(jù)庫在關(guān)系模型提出的基礎(chǔ)上已經(jīng)得到了長足發(fā)展,所以在結(jié)構(gòu)化的數(shù)據(jù)處理方面具有很大的優(yōu)勢,在處理文本數(shù)據(jù)、管理事務(wù)等方面的優(yōu)勢也是顯而易見的,但是此類數(shù)據(jù)庫也有缺點(diǎn),不能夠滿足一些高層次的要求,所以就出現(xiàn)了一些新的數(shù)據(jù)庫擴(kuò)充功能。同時,在多媒體的信息處理方面關(guān)系數(shù)據(jù)庫比較適合于處理文本,但是不太適合處理多媒體的信息。實(shí)際上在數(shù)字圖書館中的很大一部分信息的處理還是依賴于關(guān)系數(shù)據(jù)庫,例如各種統(tǒng)計數(shù)據(jù)、數(shù)值和事實(shí)數(shù)據(jù)庫等。
(三)多媒體數(shù)據(jù)庫在數(shù)字圖書館信息處理中的應(yīng)用
隨著數(shù)字圖書館的發(fā)展,出現(xiàn)了很多圖像、聲音以及視頻等其他格式的信息,這些信息的傳播和存儲是必然離不開多媒體數(shù)據(jù)庫的。
(四)面向?qū)ο蟮臄?shù)據(jù)庫技術(shù)在數(shù)字圖書館信息組織中的應(yīng)用
面向?qū)ο蟮姆椒ㄆ鋵?shí)是一種程序語言,廣泛存在于計算機(jī)行業(yè)的各個領(lǐng)域,不僅僅是一個面向?qū)ο蟮南到y(tǒng),還是一個數(shù)據(jù)庫系統(tǒng)。用一種與客觀世界比較直接的映射方式很好地實(shí)現(xiàn)了抽象、封裝、復(fù)雜性控制、信息隱蔽等機(jī)制。但是,這種數(shù)據(jù)庫的原理、適用范圍以及方法等很多方面的內(nèi)容并沒有得到專業(yè)人士的一致認(rèn)可,還存在一些分歧,并且這種數(shù)據(jù)庫的工具、環(huán)境和對面向?qū)ο蠓椒ǖ闹С殖潭榷歼€有待進(jìn)一步的完善。
(五)非結(jié)構(gòu)化數(shù)據(jù)庫技術(shù)在數(shù)字圖書館信息處理中的應(yīng)用
文本、圖像和聲音等很多形式的信息是無法用數(shù)字或者統(tǒng)一的結(jié)構(gòu)來表示的。非結(jié)構(gòu)化數(shù)據(jù)庫變主要是用來處理這一種類型的數(shù)據(jù)。這種數(shù)據(jù)庫的獨(dú)特優(yōu)勢便是支持重復(fù)字段、子字段以及變長字段,突破了關(guān)系數(shù)據(jù)庫結(jié)構(gòu)定義不易改變和數(shù)據(jù)定長的限制。非結(jié)構(gòu)化的數(shù)據(jù)庫在處理多媒體信息上是很輕松的,因為其記錄是不定長的。
另外,數(shù)字圖書館的信息組織常使用到的數(shù)據(jù)庫形式還有其他一些形式,這些數(shù)據(jù)庫是維持?jǐn)?shù)字圖書館信息安全以及傳播的技術(shù)基礎(chǔ),數(shù)據(jù)庫之間取長補(bǔ)短,充分發(fā)揮優(yōu)勢,可以更好地為數(shù)字圖書館的建設(shè)和發(fā)展做出貢獻(xiàn)。
參考文獻(xiàn):
[1]汪鑫.數(shù)字圖書館建設(shè)中的數(shù)據(jù)倉庫技術(shù)應(yīng)用研究[J].科技創(chuàng)新導(dǎo)報,2010,29
篇9
關(guān)鍵詞:數(shù)據(jù)庫營銷;數(shù)據(jù)倉庫;數(shù)據(jù)挖掘;關(guān)聯(lián)分析;聯(lián)機(jī)分析處理
中圖分類號:TP391文獻(xiàn)標(biāo)識符: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ù)庫營銷則提供了一種全新的營銷模式,因為它可使?fàn)I銷者更迅速、更準(zhǔn)確低抓著消費(fèi)者的需要,甚至能使?fàn)I銷者比消費(fèi)者本人更了解其需要。所以在最近幾年內(nèi),數(shù)據(jù)庫營銷的理念在行業(yè)內(nèi)不斷被提到,而且其技術(shù)也迅速得到發(fā)展。下面筆者就簡單地談一下實(shí)現(xiàn)數(shù)據(jù)庫營銷系統(tǒng)的關(guān)鍵技術(shù)。
2 數(shù)據(jù)庫營銷
2.1 數(shù)據(jù)庫營銷的概念
數(shù)據(jù)庫營銷(Database Marketing)將營銷數(shù)據(jù)建立成數(shù)據(jù)庫,并通過對數(shù)據(jù)庫內(nèi)數(shù)據(jù)的分析,進(jìn)行市場營銷活動[1]。
具體來說,就是將客戶的銷售歷史數(shù)據(jù)等營銷數(shù)據(jù)建立數(shù)據(jù)庫,并根據(jù)對數(shù)據(jù)庫內(nèi)數(shù)據(jù)的分析,確認(rèn)目標(biāo)客戶,迅速準(zhǔn)確地獲知其需求,了解其特征,傳達(dá)產(chǎn)品和服務(wù)的相關(guān)信息,以便更有效地進(jìn)行市場營銷活動,維系顧客和提高銷售額。其旨在建立互信共贏的客戶關(guān)系,數(shù)據(jù)庫服務(wù)過程本身即可視為數(shù)據(jù)庫營銷過程。數(shù)據(jù)庫的數(shù)據(jù)必須是動態(tài)的,可擴(kuò)充的和及時更新的,涵蓋現(xiàn)有客戶和潛在客戶。
2.2 數(shù)據(jù)庫營銷的特點(diǎn)
與傳統(tǒng)的數(shù)據(jù)庫營銷相比,網(wǎng)絡(luò)數(shù)據(jù)庫營銷的獨(dú)特價值主要表現(xiàn)在三個方面[2]:
1)動態(tài)更新
數(shù)據(jù)庫營銷具有數(shù)據(jù)量大、易于修改、能實(shí)現(xiàn)動態(tài)數(shù)據(jù)更新、便于遠(yuǎn)程維護(hù)等多種優(yōu)點(diǎn),還可以實(shí)現(xiàn)顧客資料的自我更新。網(wǎng)絡(luò)數(shù)據(jù)庫的動態(tài)更新功能不僅節(jié)約了大量的時間和資金,同時也更加精確地實(shí)現(xiàn)了營銷定位,從而有助于改善營銷效果,這是其他的營銷技術(shù)所不能比的。
2)顧客主動加入
僅靠現(xiàn)有顧客資料的數(shù)據(jù)庫是不夠的,除了對現(xiàn)有資料不斷更新維護(hù)之外,還需要不斷挖掘潛在顧客的資料,這項工作也是數(shù)據(jù)庫營銷策略的重要內(nèi)容。在沒有借助互聯(lián)網(wǎng)的情況下,尋找潛在顧客的信息一般比較難,要花很大代價。而在網(wǎng)絡(luò)營銷環(huán)境中,有超過50%的顧客愿意提供自己的部分個人信息,這樣就便于營銷工作的進(jìn)行。顧客在登記的時候,一般是將信息填寫在一些表格中,例如,我們注冊會員用戶時填寫的信息。但是,營銷人員在對顧客進(jìn)行登記時需要從他們的實(shí)際利益出發(fā),合理地利用顧客的主動性來豐富和擴(kuò)大顧客數(shù)據(jù)庫。在某種意義上,郵件列表可以認(rèn)為是一種簡單的數(shù)據(jù)庫營銷,數(shù)據(jù)庫營銷同樣要遵循自愿加入、自由退出的原則。
3)改善顧客關(guān)系
優(yōu)秀的顧客數(shù)據(jù)庫是網(wǎng)絡(luò)數(shù)據(jù)庫營銷取得成功的重要保證。在互聯(lián)網(wǎng)上,顧客希望得到更多個性化的服務(wù),比如,顧客定制的信息接收方式和接收時間,顧客的興趣愛好、購物習(xí)慣等等都是網(wǎng)絡(luò)數(shù)據(jù)庫的重要內(nèi)容,根據(jù)顧客個人需求提供針對性的服務(wù)是網(wǎng)絡(luò)數(shù)據(jù)庫營銷的基本職能,因此,網(wǎng)絡(luò)數(shù)據(jù)庫營銷是改善顧客關(guān)系最有效的工具。
2.3 實(shí)現(xiàn)數(shù)據(jù)庫營銷的關(guān)鍵技術(shù)
數(shù)據(jù)庫營銷是運(yùn)用收集到的數(shù)據(jù)來預(yù)測用戶未來的購買行為,成功實(shí)現(xiàn)數(shù)據(jù)庫營銷系統(tǒng)的關(guān)鍵在于三方面組件的集成:存儲在數(shù)據(jù)倉庫或數(shù)據(jù)處理機(jī)中的事實(shí)數(shù)據(jù);在數(shù)據(jù)庫或數(shù)據(jù)倉庫中尋找有價值的隱藏事件,使用統(tǒng)計技術(shù)或預(yù)測模型工具對數(shù)據(jù)進(jìn)行分析,將有意義的信息歸納成結(jié)構(gòu)模式,供企業(yè)決策時參考,這種技術(shù)就是數(shù)據(jù)挖掘技術(shù);功能強(qiáng)大的展示工具[3-5]。
2.3.1 建立數(shù)據(jù)庫
首先,要把營銷過程中需要的數(shù)據(jù)建成一個數(shù)據(jù)庫,為了便于對具體以及過去的數(shù)據(jù)進(jìn)行分析,一般建立一個數(shù)據(jù)倉庫。
按照數(shù)據(jù)倉庫之父W. H. Inmon的描述,數(shù)據(jù)倉庫是一個面向主題的、集成的、相對穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,用于支持管理決策[4]。
整個數(shù)據(jù)倉庫系統(tǒng)是一個包含四個層次的體系結(jié)構(gòu),具體如圖1所示。
下面對圖1中的部分組件進(jìn)行介紹:
數(shù)據(jù)源:是數(shù)據(jù)倉庫系統(tǒng)的基礎(chǔ),是整個系統(tǒng)的數(shù)據(jù)源泉。通常包括企業(yè)內(nèi)外部信息。這些信息可以是存放在關(guān)系數(shù)據(jù)庫中的數(shù)據(jù),也可以是文檔數(shù)據(jù)。
數(shù)據(jù)的存儲與管理:是整個數(shù)據(jù)倉庫系統(tǒng)的核心。針對現(xiàn)有各業(yè)務(wù)系統(tǒng)的數(shù)據(jù),進(jìn)行抽取、清理,并有效集成,按照主題進(jìn)行組織。數(shù)據(jù)倉庫按照數(shù)據(jù)的覆蓋范圍可以分為企業(yè)級數(shù)據(jù)倉庫和部門級數(shù)據(jù)倉庫(通常稱為數(shù)據(jù)集市)。
OLAP服務(wù)器:對分析需要的數(shù)據(jù)進(jìn)行有效集成,按多維模型予以組織,以便進(jìn)行多角度、多層次的分析,并發(fā)現(xiàn)趨勢。其具體實(shí)現(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ù)集市的應(yīng)用開發(fā)工具。其中數(shù)據(jù)分析工具主要針對OLAP服務(wù)器,報表工具、數(shù)據(jù)挖掘工具主要針對數(shù)據(jù)倉庫。
2.3.2 使用數(shù)據(jù)挖掘技術(shù)分析數(shù)據(jù)
數(shù)據(jù)挖掘(Data Mining)是從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的數(shù)據(jù)中提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程[6]。
其主要任務(wù)是關(guān)聯(lián)分析、聚類分析、分類、預(yù)測、時序模式和偏差分析等。
①關(guān)聯(lián)分析。數(shù)據(jù)關(guān)聯(lián)是數(shù)據(jù)庫中存在的一類重要的、可被發(fā)現(xiàn)的知識。關(guān)聯(lián)分析目的是找出數(shù)據(jù)庫中隱藏的關(guān)聯(lián)網(wǎng)。一般用支持度和可信度兩個閥值來度量關(guān)聯(lián)規(guī)則的相關(guān)性[7-8]。
②聚類分析。聚類是把數(shù)據(jù)按照相似性歸納成若干類別,同一類中的數(shù)據(jù)彼此相似,不同類中的數(shù)據(jù)相異。聚類分析可以建立宏觀的概念,發(fā)現(xiàn)數(shù)據(jù)的分布模式,以及可能的數(shù)據(jù)屬性之間的相互關(guān)系。
③分類。分類就是找出一個類別的概念描述,它代表了這類數(shù)據(jù)的整體信息,即該類的內(nèi)涵描述,并用這種描述來構(gòu)造模型,一般用規(guī)則或決策樹模式表示。分類是利用訓(xùn)練數(shù)據(jù)集通過一定的算法而求得分類規(guī)則。
④預(yù)測。預(yù)測是利用歷史數(shù)據(jù)找出變化規(guī)律,建立模型,并由此模型對未來數(shù)據(jù)的種類及特征進(jìn)行預(yù)測。預(yù)測關(guān)心的是精度和不確定性,通常用預(yù)測方差來度量。
⑤時序模式。時序模式是指通過時間序列搜索出的重復(fù)發(fā)生概率較高的模式。與回歸一樣,它也是用己知的數(shù)據(jù)預(yù)測未來的值,但這些數(shù)據(jù)的區(qū)別是變量所處時間的不同。
⑥偏差分析。在偏差中包括很多有用的知識,數(shù)據(jù)庫中的數(shù)據(jù)存在很多異常情況,發(fā)現(xiàn)數(shù)據(jù)庫中數(shù)據(jù)存在的異常情況是非常重要的。偏差檢驗的基本方法就是尋找觀察結(jié)果與參照之間的差別。
數(shù)據(jù)挖掘的主要流程是:定義問題、數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)挖掘、結(jié)果分析、知識的運(yùn)用。
用于挖掘的對象有關(guān)系數(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)絡(luò)方法、遺傳算法、決策樹方法、粗集方法、統(tǒng)計分析方法等。
3 結(jié)束語
數(shù)據(jù)挖掘能夠基于顧客的年齡、性別、人口統(tǒng)計數(shù)據(jù)和其他類似因素,對顧客購買某一具體貨物的可能性做出預(yù)測;識別出具有相似瀏覽習(xí)慣的顧客;辨別出具體的顧客偏好,以便提供改進(jìn)的個人服務(wù);找出高頻率地被組合在一起的所有產(chǎn)品組。據(jù)此,公司可獲得新顧客、留住老顧客、增加顧客的消費(fèi)額。這樣既降低了成本,又提高了營銷的成功率。故數(shù)據(jù)挖掘的強(qiáng)大功能可以確保企業(yè)數(shù)據(jù)庫營銷的順利開展。
參考文獻(xiàn):
[1] 許多頂.網(wǎng)絡(luò)數(shù)據(jù)庫營銷[J].商業(yè)研究,2002,9:119-121.
[2] 陳曉紅.企業(yè)信息化建設(shè)的模糊綜合評判[J].運(yùn)籌與管理,2003(6).
[3] 楊麗,馬玉磊,張丹.數(shù)據(jù)挖掘技術(shù)在CRM中的應(yīng)用研究[J].新鄉(xiāng)學(xué)院學(xué)報,2009,6:66-67.
[4] 李石君,王漢飛,周洞汝.關(guān)系數(shù)據(jù)庫中統(tǒng)計關(guān)系的挖掘和應(yīng)用[J].計算機(jī)工程與應(yīng)用,2000,(6):117-118.
[5] 李從東,徐志英.基于數(shù)據(jù)挖掘的企業(yè)關(guān)系管理系統(tǒng)構(gòu)建[J].現(xiàn)代管理科學(xué),2009,8:23-25.
[6] 韓家煒,堪博.數(shù)據(jù)挖掘:概念與技術(shù)[M].北京:機(jī)械工業(yè)出版社,2006:56-62.
篇10
刀具管理是一項復(fù)雜的工作,一直以來,這項工作都是以數(shù)控技術(shù)人員的工作經(jīng)驗為基礎(chǔ)、以操作者的相關(guān)記錄為依據(jù)而進(jìn)行的。目前,刀具種類和數(shù)量不斷增加,而加工車間條件有限,不同的設(shè)備、產(chǎn)品零件之間的刀具還需要相互借用,這就為刀具管理工作帶來了很大的困難,也為生產(chǎn)效率以及產(chǎn)品質(zhì)量的保證埋下了極大的隱患。由于加工零件的多樣化,使得加工刀具的種類和數(shù)量都在不斷增加,刀具在機(jī)床和刀庫之間的流動頻率也越來越高,使得傳統(tǒng)的紙質(zhì)登記、現(xiàn)場找刀這一模式顯得滯后。而隨著數(shù)控設(shè)備數(shù)量的增多以及新產(chǎn)品種類的不斷增加,僅憑技術(shù)人員的工作經(jīng)驗和到車間現(xiàn)場查找刀具的管理方法已經(jīng)無法滿足現(xiàn)代化生產(chǎn)的需要?,F(xiàn)代化生產(chǎn)迫切需要加工車間采用先進(jìn)的刀具管理方法來實(shí)現(xiàn)刀具的科學(xué)管理。
2系統(tǒng)設(shè)計分析
2.1系統(tǒng)物理結(jié)構(gòu)分析
本系統(tǒng)采用C/S(Client/Server,客戶機(jī)/服務(wù)器)體系結(jié)構(gòu),即將數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容存放在遠(yuǎn)程服務(wù)器上,在各個客戶機(jī)上安裝相應(yīng)的客戶端應(yīng)用軟件進(jìn)行操作使用。C/S體系的物理結(jié)構(gòu)如圖1所示。C/S結(jié)構(gòu)的計算機(jī)軟硬件平臺可通過企業(yè)內(nèi)部局域網(wǎng)連接起來。對于數(shù)控車間刀具管理系統(tǒng),可以將開發(fā)完成的客戶端應(yīng)用軟件安裝在多個PC機(jī)站點(diǎn)上,由多個用戶共同使用。數(shù)據(jù)的安全性通過SQLServer2000數(shù)據(jù)庫安裝時設(shè)置的身份驗證和用戶級別來保證,既保證了數(shù)據(jù)的共享性,也提高了工作效率。
2.2系統(tǒng)功能模型
通過對刀具信息管理系統(tǒng)功能進(jìn)行分析,系統(tǒng)可分為以下幾個模塊:用戶信息管理模塊、權(quán)限設(shè)置模塊、刀具參數(shù)管理模塊、刀具出庫管理模塊、刀具入庫管理模塊、刀具信息查詢管理模塊、刀具借還記錄管理模塊和刀具庫存預(yù)警模塊(圖2)。
2.3系統(tǒng)流程分析
根據(jù)刀具管理系統(tǒng)需要完成的任務(wù)和實(shí)現(xiàn)的功能,得出系統(tǒng)流程如圖3所示。
2.4開發(fā)工具選擇
考慮到車間本身的技術(shù)與軟硬件情況,選用SQLServer2000作為后臺的數(shù)據(jù)庫管理系統(tǒng)。一方面,因為刀具管理系統(tǒng)本身是基于局域網(wǎng)操作的,采取的是C/S結(jié)構(gòu)模型;另一方面,SQLServer2000是一種安全性高的真正的C/S體系結(jié)構(gòu),圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單,豐富的編程接口工具為用戶設(shè)計程序提供了更大的選擇余地[3]。在選擇前臺開發(fā)工具時充分利用開發(fā)工具本身的性能,比如考慮其穩(wěn)定性和可靠性、可視化和訪問數(shù)據(jù)庫的能力等,從常用的軟件中,本文選用了VC++6.0。
3數(shù)據(jù)庫設(shè)計
運(yùn)用VC++的數(shù)據(jù)庫接口技術(shù),以SQLServer2000為后臺數(shù)據(jù)庫進(jìn)行車間刀具管理系統(tǒng)“chejiantool_db”數(shù)據(jù)庫的設(shè)計,其具體的設(shè)計步驟為:正規(guī)化數(shù)據(jù)庫、建立數(shù)據(jù)庫、建立表、建立關(guān)系、實(shí)現(xiàn)數(shù)據(jù)完整性等幾個步驟。
3.1數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計
將分析得到的系統(tǒng)需求抽象為概念模型,在需求分析的基礎(chǔ)上,設(shè)計出能夠滿足用戶需求的各種實(shí)體以及它們之間的相互關(guān)系,這是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。在這一設(shè)計原則的基礎(chǔ)上,遵循正規(guī)化的數(shù)據(jù)庫設(shè)計規(guī)則與關(guān)系數(shù)據(jù)庫設(shè)計的3種范式(1NF~3NF),用正規(guī)的方法將數(shù)據(jù)分為多個所有字段值不可分割的數(shù)據(jù)表[4]。每個數(shù)據(jù)庫表應(yīng)有一個標(biāo)識,不應(yīng)有重復(fù)的值或列,并盡量避免含有空列。根據(jù)這一原則建立了用戶信息表、刀具參數(shù)表、刀具基本信息表、刀具出庫表、刀具入庫表和刀具借還記錄表等。表1以刀具基本信息表為例說明其結(jié)構(gòu)。它由8個字段組成,其中刀具編號是該表的主鍵,通過此主鍵可與其他表相互關(guān)聯(lián)。
3.2數(shù)據(jù)庫安全性設(shè)計
在建立用戶的登錄信息時,系統(tǒng)管理員不僅要為該用戶選擇默認(rèn)的數(shù)據(jù)庫,而且還設(shè)置該用戶對特定數(shù)據(jù)對象的訪問權(quán),即對數(shù)據(jù)對象的讀取、插入、更新和刪除等的權(quán)限。而該數(shù)據(jù)庫中未指定訪問權(quán)的數(shù)據(jù)庫對象,即使該用戶登錄到SQLServer服務(wù)器,并且連接上指定的默認(rèn)數(shù)據(jù)庫,也不能操作該數(shù)據(jù)庫的數(shù)據(jù)對象。在應(yīng)用軟件中,用戶只能用賬號登錄,通過應(yīng)用軟件訪問數(shù)據(jù)庫,而沒有其他途徑操作數(shù)據(jù)庫。為防止用戶密碼泄露,對所有用戶賬號的密碼進(jìn)行加密處理,確保在任何地方都不會出現(xiàn)密碼的明文。由于數(shù)據(jù)庫管理員擁有對應(yīng)用軟件的所有權(quán)限,因此其可以對所有用戶和軟件功能進(jìn)行管理。應(yīng)用時先確定每個角色對數(shù)據(jù)庫表的操作權(quán)限,然后在程序中再為用戶分配角色。角色權(quán)限見表2。
3.3數(shù)據(jù)庫完整性設(shè)計
在將刀具信息輸入到數(shù)據(jù)庫的過程中,由于某些特殊的原因,可能會造成對數(shù)據(jù)庫的修改無效或者不一致的現(xiàn)象發(fā)生,從而導(dǎo)致程序數(shù)據(jù)庫的崩潰。為了避免這種問題的發(fā)生,需要在數(shù)據(jù)庫分析、設(shè)計完畢后,利用數(shù)據(jù)庫自帶的屬性,對字段進(jìn)行主鍵、索引、標(biāo)識等約束,以保證數(shù)據(jù)庫的完整性[5]。主要有以下3種方法:
(1)對于通過程序窗口操作輸入的數(shù)據(jù),可以通過客戶端應(yīng)用程序來保證數(shù)據(jù)的完整性。這樣,一方面可把非法數(shù)據(jù)在提交數(shù)據(jù)庫之前就過濾掉,另一方面可使用戶及時得到操作反饋的信息(成功或失?。?,以便進(jìn)行相應(yīng)的操作。
(2)對于通過數(shù)據(jù)庫直接輸入的數(shù)據(jù),可以通過服務(wù)器端數(shù)據(jù)庫管理系統(tǒng)來實(shí)現(xiàn)數(shù)據(jù)的完整性。
(3)對于數(shù)據(jù)一致性的維護(hù),可以由服務(wù)器端數(shù)據(jù)庫的觸發(fā)器或表定義的約束來實(shí)現(xiàn)。這樣可降低客戶端應(yīng)用程序的開發(fā)量,提高應(yīng)用系統(tǒng)的運(yùn)行效率、可維護(hù)性及可靠性。
3.4建立數(shù)據(jù)庫
數(shù)據(jù)庫名稱是chejiantool_db,實(shí)現(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ù)庫表及實(shí)體關(guān)系圖
SQLServer2000提供了3種方法創(chuàng)建數(shù)據(jù)庫表。其一,是利用表設(shè)計器創(chuàng)建表;其二,是利用數(shù)據(jù)庫關(guān)系圖創(chuàng)建表;其三,是利用Transact-SQL語句中的CREATE命令創(chuàng)建表[7-8]。本文選用第二種方式。在SQLServer企業(yè)管理器中,展開指定的服務(wù)器和數(shù)據(jù)庫,打開chejiantool_db數(shù)據(jù)庫,打開表設(shè)計器。在數(shù)據(jù)庫中創(chuàng)建刀具基本信息表、刀具借還表、用戶表、借還日志表等。
在表設(shè)計器中除了可以定義列名稱、數(shù)據(jù)類型和長度外,還可根據(jù)需要定義以下屬性,如精度、小數(shù)位數(shù)、是否允許為空、默認(rèn)值、標(biāo)識列等等。建立數(shù)據(jù)庫表時,定義好各自的主鍵和外鍵,各表完成后,利用MicrosoftVisio2003“反向工程向?qū)А被騍QLServer2000企業(yè)管理器中的“操作/新建數(shù)據(jù)庫關(guān)系圖”即可獲取系統(tǒng)E-R圖。本文選擇后者,結(jié)果如圖4所示。
4過程中的數(shù)據(jù)庫技術(shù)
程序的各個實(shí)現(xiàn)過程中,均采用了大量的SQL語句,由于篇幅有限,在各模塊的實(shí)現(xiàn)過程中僅列出其中的一種功能實(shí)現(xiàn)的Transact-SQL代碼[9-10]。
4.1刀具借用過程
該過程主要包括刀具信息查詢和刀具借用時信息功能人,其中刀具借用信息包括借用人、借用時間和借用刀具信息的填寫、修改等功能。以借用功能模塊為例,當(dāng)加工人員從刀庫中借用刀具時,刀庫管理員根據(jù)其要求的條件查詢相應(yīng)的刀具信息,選中后,填寫借用信息,點(diǎn)擊“借用”后,該刀具的借用信息就會被寫入數(shù)據(jù)庫,其狀態(tài)隨之變?yōu)椤敖璩觥?,刀具借用過程完成。
4.2刀具歸還過程
刀具歸還過程中以歸還功能模塊為例。借用人員歸還刀具時,刀庫管理員根據(jù)刀具名稱或借用人的名字查詢到刀具的借用信息后,選中要?dú)w還的刀具記錄,填入歸還時間,點(diǎn)擊“歸還”后,該刀具的狀態(tài)又會變成“庫存”寫入數(shù)據(jù)庫,刀具歸還過程完成。其Transact-SQL實(shí)現(xiàn)代碼如下:sql.Format("updatetoolset歸還時間='"+ghtime+"',刀具狀態(tài)='庫存'where刀具編號='%s'",cId)實(shí)現(xiàn)界面如圖6所示。
4.3刀具信息查詢過程
刀具信息查詢包括兩部分:精確查詢和模糊查詢。精確查詢可以按刀具編號、刀具名稱、刀具材料等具體查詢條件查詢到精確符合查詢條件的刀具信息記錄;模糊查詢可以查詢同時滿足刀具長度、刀具材料和刀具編號中一條或多條的刀具信息記錄。其實(shí)現(xiàn)界面如圖7所示。
5結(jié)束語