国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

數(shù)據(jù)庫管理實(shí)驗(yàn)平臺的設(shè)計(jì)與實(shí)現(xiàn)

2018-01-11 14:35:40郭蕓俊葉瑤
關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng)視圖語句

郭蕓俊+葉瑤

摘要:探討了利用網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)庫實(shí)驗(yàn)環(huán)境建設(shè)的方法;以windows操作系統(tǒng)為平臺,使用.NET和系統(tǒng)自帶的Web服務(wù)器作為開發(fā)工具和運(yùn)行環(huán)境,采用C#語言和jQuery等腳本語言實(shí)現(xiàn)動態(tài)交互,設(shè)計(jì)了基于B/S的三層架構(gòu)的通用數(shù)據(jù)庫管理系統(tǒng),構(gòu)建了一個操作簡便的異構(gòu)數(shù)據(jù)庫管理實(shí)驗(yàn)平臺。

關(guān)鍵詞:數(shù)據(jù)庫管理;三層架構(gòu);B/S

中圖分類號:TP392;G642 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2017)11-0162-03

實(shí)驗(yàn)實(shí)踐是培養(yǎng)學(xué)生創(chuàng)新能力極其重要的環(huán)節(jié),對應(yīng)用型本科院校更是如此。目前,隨著數(shù)據(jù)庫技術(shù)的廣泛應(yīng)用,很多世界知名軟件企業(yè)發(fā)布了各種通用數(shù)據(jù)庫管理系統(tǒng)(DBMS)。同時,大多數(shù)本科院校的計(jì)算機(jī)及相關(guān)專業(yè)也都開設(shè)了數(shù)據(jù)庫類課程[1-3],但實(shí)驗(yàn)實(shí)踐環(huán)境往往是單一的某種數(shù)據(jù)庫管理系統(tǒng),究其原因主要是因?yàn)楦鞣N數(shù)據(jù)庫管理系統(tǒng)的基本功能都是對數(shù)據(jù)庫表進(jìn)行各種“增刪改查”操作[4],但其操作界面與使用習(xí)慣卻各有不同,對結(jié)構(gòu)化查詢語言(SQL)的支持也各有增改,且各個DBMS動輒幾個GB的安裝需求,為達(dá)成基本正常運(yùn)行條件也對硬件系統(tǒng)有較高的要求。因此,學(xué)生在單一數(shù)據(jù)庫管理系統(tǒng)平臺上完成學(xué)習(xí)后,往往形成數(shù)據(jù)庫就是該管理平臺的錯誤認(rèn)知,同時,因缺少與前臺應(yīng)用軟件的連接訓(xùn)練,導(dǎo)致學(xué)生在學(xué)完數(shù)據(jù)庫相關(guān)課程后,并不知道如何去應(yīng)用[5]。隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,各種遠(yuǎn)程管理技術(shù)的不斷創(chuàng)新,遠(yuǎn)程數(shù)據(jù)庫系統(tǒng)、云端數(shù)據(jù)庫系統(tǒng)的逐漸普及,對數(shù)據(jù)庫系統(tǒng)的遠(yuǎn)程管理需求也在不斷提高。數(shù)據(jù)庫系統(tǒng)的遠(yuǎn)程管理可以通過DBMS提供的客戶端來實(shí)現(xiàn),其缺點(diǎn)是需要安裝對應(yīng)的客戶端軟件,如果同時在多個DBMS環(huán)境下做實(shí)驗(yàn),在實(shí)驗(yàn)用機(jī)上必須安裝各種客戶端,這將嚴(yán)重影響實(shí)驗(yàn)用機(jī)的工作效能。所有這些因素,都給學(xué)生的學(xué)習(xí)與實(shí)踐訓(xùn)練帶來了諸多的不便。因此,探討如何利用網(wǎng)絡(luò)實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫管理系統(tǒng)實(shí)驗(yàn)環(huán)境建設(shè)的方法,對培養(yǎng)學(xué)生正確認(rèn)識數(shù)據(jù)庫管理系統(tǒng),訓(xùn)練學(xué)生分析解決問題的能力都有重要的意義。

本文提出了通過瀏覽器/服務(wù)器(B/S)架構(gòu)來實(shí)現(xiàn)數(shù)據(jù)庫遠(yuǎn)程管理,系統(tǒng)無需安裝客戶端軟件,也不需指定特定的數(shù)據(jù)庫管理系統(tǒng),對數(shù)據(jù)庫的物理位置及具體結(jié)構(gòu)沒有特殊要求,只要上網(wǎng)即可[6],特別適合同時管理多種數(shù)據(jù)庫系統(tǒng),對異地異構(gòu)的數(shù)據(jù)庫系統(tǒng)可通過同一個網(wǎng)頁實(shí)現(xiàn)遠(yuǎn)程管理。

1 系統(tǒng)總體結(jié)構(gòu)

軟件體系結(jié)構(gòu)有兩種:C/S(Client/Server)結(jié)構(gòu)和B/S(Browser/Server)結(jié)構(gòu),目前C/S逐步向平臺無關(guān)的B/S過渡[7]。通過分層結(jié)構(gòu)的思想,可以實(shí)現(xiàn)軟件體系“高內(nèi)聚低耦合”的目標(biāo),極大地降低軟件開發(fā)維護(hù)修改的風(fēng)險,其中三層架構(gòu)是最常見的,同時也是最為重要的一種分層式結(jié)構(gòu)[8-10]。結(jié)合應(yīng)用型人才培養(yǎng)目標(biāo),為訓(xùn)練學(xué)生在多種常用的數(shù)據(jù)庫管理系統(tǒng)下都可以相對熟練的完成基本管理工作。經(jīng)綜合考慮,本系統(tǒng)采用B/S結(jié)構(gòu)的三層架構(gòu)方式來實(shí)現(xiàn)[11-12],物理數(shù)據(jù)可以分布在不同的服務(wù)器上,WEB服務(wù)器提供各種數(shù)據(jù)庫系統(tǒng)的遠(yuǎn)程接口并將接口服務(wù)WEB化,從而提供簡潔的瀏覽器訪問。

系統(tǒng)的開發(fā)采用.NET平臺下用C#語言進(jìn)行編程,表示層采用Html、jQuery等腳本語言進(jìn)行設(shè)計(jì)和編寫,中間層用C#語言來實(shí)現(xiàn),數(shù)據(jù)訪問層接口層用來實(shí)現(xiàn)與數(shù)據(jù)庫服務(wù)器的連接[13-16],本文中數(shù)據(jù)庫服務(wù)器以O(shè)racle、SQL Server、My SQL為例來表示異構(gòu)的管理系統(tǒng)。該系統(tǒng)主要滿足以下功能:用戶通過該系統(tǒng)可以動態(tài)地變更后臺數(shù)據(jù)庫管理系統(tǒng)的連接關(guān)系,即用戶可以按照需要實(shí)現(xiàn)多個不同數(shù)據(jù)庫的連接;可以查看當(dāng)前連接的數(shù)據(jù)庫系統(tǒng)有哪些可用的數(shù)據(jù)庫,即用戶連接成功數(shù)據(jù)庫后,可以顯示當(dāng)前數(shù)據(jù)庫中所有庫;可以實(shí)現(xiàn)SQL語句查詢,即用戶在前臺輸入SQL語句,系統(tǒng)對其進(jìn)行分析處理,將結(jié)果返回給用戶;可以查看選中的數(shù)據(jù)庫有哪些表、視圖、存儲過程和觸發(fā)器,即用戶可以查詢當(dāng)前庫中的所有內(nèi)容,可以添加、刪除及修改新的表、視圖、存儲過程和觸發(fā)器;可以對數(shù)據(jù)庫進(jìn)行表結(jié)構(gòu)維護(hù),即用戶可以對當(dāng)前庫中表的字段進(jìn)行修改、刪除;可以對數(shù)據(jù)內(nèi)容實(shí)現(xiàn)基本的增刪改查,即用戶可以對數(shù)據(jù)庫表中數(shù)據(jù)進(jìn)行基本操作。系統(tǒng)功能結(jié)構(gòu)圖如圖1所示。

2 系統(tǒng)設(shè)計(jì)

根據(jù)數(shù)據(jù)庫實(shí)驗(yàn)的實(shí)際需求,確定了系統(tǒng)應(yīng)具備的基本功能,采用模塊化設(shè)計(jì),主要包括數(shù)據(jù)庫登錄模塊、數(shù)據(jù)庫管理模塊、新建查詢模塊、表查詢模塊及視圖和函數(shù)模塊。

2.1 數(shù)據(jù)庫登錄模塊設(shè)計(jì)

數(shù)據(jù)庫登錄模塊在系統(tǒng)對用戶的權(quán)限進(jìn)行分配及管理的基礎(chǔ)上,對進(jìn)入數(shù)據(jù)庫系統(tǒng)的用戶進(jìn)行驗(yàn)證,判斷其合法性。當(dāng)連接數(shù)據(jù)庫時,如果是合法用戶,數(shù)據(jù)庫登錄名及密碼等信息驗(yàn)證通過,進(jìn)入到系統(tǒng)的數(shù)據(jù)庫管理界面;如果是非法用戶,則提示登陸數(shù)據(jù)庫失敗。

2.2 數(shù)據(jù)庫管理模塊設(shè)計(jì)

數(shù)據(jù)庫管理模塊主要實(shí)現(xiàn)數(shù)據(jù)庫的管理操作,當(dāng)用戶登錄后進(jìn)入數(shù)據(jù)庫管理模塊,可以查看當(dāng)前數(shù)據(jù)庫中所有庫及庫中可實(shí)現(xiàn)的功能模塊:包括數(shù)據(jù)庫新建、數(shù)據(jù)庫修改、數(shù)據(jù)庫刪除以及備份還原等。

2.3 新建查詢模塊設(shè)計(jì)

通過新建查詢模塊,用戶可以輸入要執(zhí)行的SQL查詢語句,如果輸入語句正確,則執(zhí)行后顯示輸出結(jié)果;若輸入語句錯誤,則顯示錯誤原因。

2.4 表查詢模塊設(shè)計(jì)

通過表查詢模塊,用戶可以查看當(dāng)前庫中所有表,查看當(dāng)前表結(jié)構(gòu),并對表結(jié)構(gòu)進(jìn)行維護(hù);可以查看表中所有數(shù)據(jù),對表數(shù)據(jù)進(jìn)行增刪改查的基本操作;也可以刪除表。

數(shù)據(jù)庫表結(jié)構(gòu),擁有字段名、主鍵和各種約束條件等。數(shù)據(jù)庫中的字段名稱一般由英文字符組成,當(dāng)記錄需要顯示在前臺界面時,記錄列表的每一列所對應(yīng)的抬頭名稱可以由用戶自定義。該特性可以借助SQL規(guī)范的別名功能實(shí)現(xiàn),系統(tǒng)通過預(yù)先獲取字段名稱列表的方式實(shí)現(xiàn)自定義列抬頭功能、指定記錄主鍵,數(shù)據(jù)查詢功能是數(shù)據(jù)操作中最主要的功能,是其他數(shù)據(jù)管理的基礎(chǔ),這是由于單條記錄的獲取、修改和刪除都需要查詢結(jié)果集中記錄的主鍵字段作為記錄的唯一標(biāo)識。所以在配置邏輯屬性時,還需要用戶指定一個字段或若干字段的組合為記錄的主鍵字段。endprint

(1)數(shù)據(jù)查詢,包括從不同數(shù)據(jù)源獲取數(shù)據(jù)、分頁顯示、重命名字段名等操作。(2)數(shù)據(jù)插入,解析邏輯配置中插入數(shù)據(jù)的SQL語句,執(zhí)行解析后的完整SQL語句以達(dá)到數(shù)據(jù)記錄插入的目的。(3)數(shù)據(jù)修改,數(shù)據(jù)修改分為兩步,分別是數(shù)據(jù)記錄內(nèi)容的獲取和保存修改后的新值。解析邏輯配置中獲取數(shù)據(jù)的SQL語句,執(zhí)行解析后的完整SQL語句以達(dá)到數(shù)據(jù)記錄內(nèi)容獲取的目的。數(shù)據(jù)修改需要替換的變量包括可修改的字段名稱以及修改條件中的主鍵名稱,由于不便檢測用戶在界面上具體修改了哪些值,所以SQL語句中需要包含所有可修改的字段以避免遺漏。(4)數(shù)據(jù)刪除,解析邏輯配置中刪除數(shù)據(jù)的SQL語句,執(zhí)行解析后的完整SQL語句以達(dá)到數(shù)據(jù)記錄刪除的目的。

2.5 視圖和函數(shù)模塊設(shè)計(jì)

視圖查詢即解析邏輯配置中查詢視圖源的SQL語句,執(zhí)行解析后,顯示當(dāng)前視圖及創(chuàng)建時間;函數(shù)查詢即解析邏輯配置中查詢數(shù)據(jù)庫中的預(yù)定義SQL語句存儲過程和觸發(fā)器,執(zhí)行解析后,函數(shù)查詢即可以查看數(shù)據(jù)庫中的存在的函數(shù)。

3 系統(tǒng)測試

系統(tǒng)的運(yùn)行環(huán)境為Windows操作系統(tǒng)、VS2010及由SQL Server、Oracle及My SQL組成的數(shù)據(jù)庫管理系統(tǒng),以SQL Server為例介紹數(shù)據(jù)庫登錄測試及新建查詢測試,根據(jù)系統(tǒng)要求,還應(yīng)包括表查詢、視圖查詢和函數(shù)查詢等測試,這里不再一一列舉。

3.1 數(shù)據(jù)庫登錄測試

測試輸入的服務(wù)器名、登錄名及密碼是否正確。若不正確,提示錯誤;若正確,提示成功,并經(jīng)跳轉(zhuǎn)頁面進(jìn)入數(shù)據(jù)庫管理主界面。在登陸界面輸入正確信息,其中服務(wù)器名為(local)\SQLEXPRESS,登錄名及密碼分別為sa及123,顯示數(shù)據(jù)庫連接成功,并跳轉(zhuǎn)到主界面,如圖2和圖3所示。

3.2 新建查詢測試

輸入SQL查詢語句,若輸入正確,如“select * from users”,則在頁面上顯示查詢結(jié)果,即顯示users表中所用數(shù)據(jù),如圖4所示;若輸入錯誤,如“show users”,則在頁面上顯示錯誤原因,如圖5所示。

4 結(jié)語

該平臺的設(shè)計(jì)與實(shí)現(xiàn),緊密聯(lián)系實(shí)際需求,構(gòu)建了一個異構(gòu)數(shù)據(jù)管理真實(shí)環(huán)境,使實(shí)驗(yàn)環(huán)境與企業(yè)的實(shí)際需求相對接,充分調(diào)動了學(xué)生學(xué)習(xí)的主動性,使學(xué)生能利用現(xiàn)有的數(shù)據(jù)庫系統(tǒng)完成軟件開發(fā),加強(qiáng)了學(xué)生數(shù)據(jù)庫應(yīng)用能力,極大的提高了學(xué)生的實(shí)踐動手能力。

參考文獻(xiàn)

[1]李楠楠.《數(shù)據(jù)庫應(yīng)用技術(shù)》實(shí)驗(yàn)課程教學(xué)方法的改革與實(shí)踐[J].科技信息,2013(34):357-358.

[2]閭燕.面向應(yīng)用型人才的數(shù)據(jù)庫課程實(shí)驗(yàn)教學(xué)改革探討[J].福建電腦,2014(11):68-69,90.

[3]羅曉霞.《數(shù)據(jù)庫原理及應(yīng)用》實(shí)驗(yàn)教學(xué)改革研究與實(shí)踐[J].教育教學(xué)論壇,2016(8):155-156.

[4]霍迎旦.數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].長春理工大學(xué)學(xué)報,2010,5(7):73-75.

[5]金梅,滕艷平,王海珍.《數(shù)據(jù)庫原理與應(yīng)用》實(shí)驗(yàn)教學(xué)研究與探索[J].實(shí)驗(yàn)科學(xué)與技術(shù),2013,11(5):131-133.

[6]高屹.一個通用數(shù)據(jù)庫管理系統(tǒng)工具的研究與實(shí)現(xiàn)[J].軍事通信技術(shù),2008,29(1):19-22,37.

[7]路遙.基于三層架構(gòu)下的數(shù)據(jù)訪問研究和應(yīng)用[D].長春:長春理工大學(xué),2009.

[8]李紅芹.基于三層架構(gòu)的.NET數(shù)據(jù)庫業(yè)務(wù)系統(tǒng)開發(fā)[J].計(jì)算機(jī)與現(xiàn)代化,2009(10):120-125.

[9]張焰.三層Client/Server構(gòu)架結(jié)合Datasnap技術(shù)的應(yīng)用研究[J].電腦與信息技術(shù),2004(06):39-42.

[10]Cai Mingxing,Zheng jintao.Three-Tier Knowledge Management System Base on .NET[J].Journal of Software Engineering and Applications,2009(2):40-43.

[11]王進(jìn).B/S模式下的三層架構(gòu)模式[J].軟件導(dǎo)刊,2011,10(3):30-31.

[12]趙丁,勾智楠.基于Web的遠(yuǎn)程數(shù)據(jù)庫管理探究[J].硅谷,2014(05):66,62.

[13]張磊.通用數(shù)據(jù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2010.

[14]葉安勝.基于.NET架構(gòu)的WEB數(shù)據(jù)庫訪問技術(shù)研究與應(yīng)用[D].成都:電子科技大學(xué),2004.

[15]王海燕.C#.NET下三層架構(gòu)數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(06):78-81.

[16]陳誼楠.基于.NET平臺采用ADO.NET實(shí)現(xiàn)數(shù)據(jù)訪問層[J].電腦編程技巧與維護(hù),2012(4):35-36,57.

Abstract:In this paper, the method that how to explore a database experimental platform by network is discussed. The windows operating system is adopted, the .NET and its own Web server are taken as development tool. Besides, C# language and jQuery language are used to realize the interaction dynamicly. The three-tier architecture general database management system based on B/S is designed ,and the convenient heterogeneous database experimental management platform is constructed, which plays a certain role in improving experimental effect.

Key Words:database management; three-layer application;B/Sendprint

猜你喜歡
數(shù)據(jù)庫系統(tǒng)視圖語句
重點(diǎn):語句銜接
數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
電子測試(2018年14期)2018-09-26 06:04:24
精彩語句
5.3 視圖與投影
視圖
微細(xì)銑削工藝數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與開發(fā)
Y—20重型運(yùn)輸機(jī)多視圖
SA2型76毫米車載高炮多視圖
實(shí)時數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)安全采集方案
核反應(yīng)堆材料數(shù)據(jù)庫系統(tǒng)及其應(yīng)用
汝南县| 青州市| 琼结县| 略阳县| 平罗县| 积石山| 精河县| 全州县| 滕州市| 漳浦县| 洪洞县| 年辖:市辖区| 象州县| 当雄县| 汾阳市| 密山市| 光泽县| 额济纳旗| 全椒县| 镇江市| 蛟河市| 于都县| 睢宁县| 库伦旗| 响水县| 日喀则市| 宁南县| 六安市| 临城县| 莫力| 宁远县| 宿松县| 琼结县| 娄烦县| 凯里市| 长丰县| 清河县| 邢台县| 波密县| 峨眉山市| 芦山县|