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