【正文】
mp。 //有過(guò)濾條件時(shí)調(diào)用DataBind1() 函數(shù) } void DataBind() 東南大學(xué)畢業(yè)設(shè)計(jì)論文 22 { SqlConnection myConnection=new SqlConnection(server=localhost。39。%++%39。%++%39。 (ds)。 =第 +((Int32)+1)+頁(yè) 。 DateTime j=()。pwd=39。 string strSQL=SELECT as lingliaodanhao, as weixiudanwei, as chexing, as lingjianbianhao, 第四章 綜合查詢系統(tǒng)的實(shí)現(xiàn)技術(shù) 23 as lingjianmingcheng, as chukushuliang, as chukujia from lingliaodanxinxi,xiuchekh,cheliangxinxi,lingliao,ljjibenxinxi,weituoshu where = and = and = and = and = and like 39。 and like 39。 and =39。 DataSet ds=new DataSet()。 //=共 ++條記錄 。 } void DataGrid_SelectedIndexChanged(Object sender,DataGridPageChangedEventArgs e) //分頁(yè)查詢函數(shù) { =。 else DataBind1()。 具體程序及查詢頁(yè)面見(jiàn)附件。uid=sa。 dim sqlstring2=select from ljjibenxinxi,kucunxinxi where = and =39。 dim sqlstring4=select from ljjibenxinxi,kucunxinxi where = and =39。 cmd1=new sqlmand(sqlstring1) =n dim dr1 as sqldatareader dr1=() dim k1 as double=0 while () k1=k1+dr1(0) end while ?統(tǒng)計(jì)出車(chē)型為一汽大眾的零件的消耗量 () cmd2=new sqlmand(sqlstring2) =n dim dr2 as sqldatareader dr2=() dim k2 as double=0 while () k2=k2+dr2(0) end while ?統(tǒng)計(jì)出車(chē)型為一汽轎車(chē)的零件的消耗量 () cmd3=new sqlmand(sqlstring3) =n dim dr3 as sqldatareader dr3=() dim k3 as double=0 while () k3=k3+dr3(0) end while ?統(tǒng)計(jì)出車(chē)型為沈陽(yáng)金杯的零件的消耗量 () cmd4=new sqlmand(sqlstring4) =n dim dr4 as sqldatareader dr4=() dim k4 as double=0 while () 東南大學(xué)畢業(yè)設(shè)計(jì)論文 26 k4=k4+dr4(0) end while ?統(tǒng)計(jì)出車(chē)型為上海萬(wàn)豐的零件的消耗量 () cmd5=new sqlmand(sqlstring5) =n dim dr5 as sqldatareader dr5=() dim k5 as double=0 while () k5=k5+dr5(0) end while ?統(tǒng)計(jì)出車(chē)型為獵豹的零件的消耗量 () () 39。 系統(tǒng)登錄頁(yè)面如下: 圖 47 用戶登錄界面 第五章 綜合查詢專(zhuān)題分析與研究 27 第五章 綜合查詢專(zhuān)題分析與研究 VPN技術(shù)在綜合查詢系統(tǒng)中的運(yùn)用 VPN, Virtual Private Network(虛擬專(zhuān)用網(wǎng)絡(luò)),被定義為通過(guò)一個(gè)公用網(wǎng)絡(luò)(通常是因特網(wǎng))。 配件入庫(kù)查詢和配件庫(kù)存查詢具體程序及頁(yè)面請(qǐng)見(jiàn)附件。 第四章 綜合查詢系統(tǒng)的實(shí)現(xiàn)技術(shù) 25 dim sqlstring5=select from ljjibenxinxi,kucunxinxi where = and =39。 dim sqlstring3=select from ljjibenxinxi,kucunxinxi where = and =39。database=kucunshujuku n=new sqlconnection(connstring) () dim cmd1,cmd2,cmd3,cmd4,cmd5 as sqlmand dim sqlstring1=select from ljjibenxinxi,kucunxinxi where = and =39。 配件消耗統(tǒng)計(jì)圖見(jiàn)圖 46。在這里用到了 DataBind 控件,其使用方法詳見(jiàn)具體程序。amp。 =/共 ++頁(yè) 。 =ds。 order by 。 and =39。 and like 39。)。database=kucunshujuku。 ()。 ()。 SqlDataAdapter da=new SqlDataAdapter(strSQL,myConnection)。%++%39。 ()。uid=sa。==) //無(wú)過(guò)濾條件時(shí) , 調(diào)用 DataBind()。 如在 圖 45 中,輸入車(chē)型“一汽大眾”,起始時(shí)間“ 2021 3 10”,截止時(shí)間“ 2021 5 20”作為查詢條件,據(jù)此可查出相應(yīng)的領(lǐng)料信息 。 ( 1)零件出庫(kù)查詢 零件出庫(kù)有兩種方式,維修領(lǐng)料和銷(xiāo)售,所以出庫(kù)查詢又分為領(lǐng)料查詢和銷(xiāo)售查詢。 WIDTH: 100%。 在后面的程序設(shè)計(jì)中,就可以直接調(diào)用該存儲(chǔ)過(guò)程。存儲(chǔ)過(guò)程還可以在數(shù)據(jù)庫(kù)內(nèi)部得到單獨(dú)保護(hù)。 在該查詢系統(tǒng)中,為了提高系 統(tǒng)的效率 ,可以在數(shù)據(jù)庫(kù)服務(wù)器端使用存儲(chǔ)過(guò)程。作為一種面向集合操作,能對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)航的非過(guò)程化語(yǔ)言, SQL 語(yǔ)言已不限于數(shù)據(jù)查詢( Data Query),它還包括數(shù)據(jù)操作( Data Manipulation) 、數(shù)據(jù)定第四章 綜合查詢系統(tǒng)的實(shí)現(xiàn)技術(shù) 17 義( Data Definition)、數(shù)據(jù)控制( Data Control)等功能。它是一個(gè)可伸縮、高性能的數(shù)據(jù)庫(kù)管理系統(tǒng),具備內(nèi)置的復(fù)制能力、 InterNet 集成、開(kāi)放系統(tǒng)體系結(jié)構(gòu)及強(qiáng)大的基于 GUI(圖形用戶接口)的管理工具。服務(wù)器端需要及時(shí)響應(yīng)數(shù)據(jù)請(qǐng)求,并維護(hù)數(shù)據(jù)完整性,一款優(yōu)秀的服務(wù)器端語(yǔ)言是必不可少的。派生類(lèi)是被創(chuàng)建的新類(lèi),基類(lèi)就是新類(lèi)從其派生的那個(gè)類(lèi)。通過(guò)繼承,可以創(chuàng)建或派生一個(gè)新的類(lèi)而它以已存在的類(lèi)為基礎(chǔ)。封裝提供的是一道屏障,將類(lèi)的外部接口(也就是類(lèi)的使用者能看到的公共成員)與它的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)分割開(kāi)來(lái)。封裝、繼承、多態(tài)是對(duì)象中的三個(gè)基本特征。 .Visual C.NET 2021 是一種現(xiàn)代的、創(chuàng)新的編程語(yǔ)言和工具,可以為 Microsoft Windows、網(wǎng)絡(luò)和種類(lèi)繁多的設(shè)備創(chuàng)建連接 .NET 的軟件。 東南大學(xué)畢業(yè)設(shè)計(jì)論文 16 第四章 綜合查詢系統(tǒng)的實(shí)現(xiàn)技術(shù) 綜合查詢系統(tǒng)開(kāi)發(fā)過(guò)程中使用的程序設(shè)計(jì)語(yǔ)言 C和方法 默認(rèn)情況下,在 應(yīng)用程序中可使用三種語(yǔ)言作為腳本語(yǔ)言: 、 和C#語(yǔ)言。 上述 DDL 語(yǔ)句可以放入數(shù)據(jù)庫(kù)中執(zhí)行生 成實(shí)際的表。 東南大學(xué)畢業(yè)設(shè)計(jì)論文 13 圖 35 綜合查詢系統(tǒng) PDM 圖 圖 36 零件基本信息中索引的建立 第三章 系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì) 14 物理設(shè)計(jì)結(jié)束后,就可以通過(guò) PDM生成數(shù)據(jù)庫(kù)能識(shí)別的 DDL代碼,并最終生成數(shù)據(jù)庫(kù)文件。 一般來(lái)說(shuō),數(shù)據(jù)庫(kù)的物理設(shè)計(jì)內(nèi)容主要包括為關(guān)系模型選擇存儲(chǔ)方法和設(shè)計(jì)關(guān)系、索引等數(shù)據(jù)庫(kù)文件的物理存儲(chǔ)結(jié)構(gòu)。 2)有效利用存儲(chǔ)空間 在這兩個(gè)目標(biāo)中,第一個(gè)目標(biāo)更為重要,因?yàn)樾阅苋匀皇钱?dāng)今數(shù)據(jù)庫(kù)系統(tǒng)的薄弱環(huán)節(jié)。 物理設(shè)計(jì)通常分為兩步: 1)確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),在這里主要指存取方法和存儲(chǔ)結(jié)構(gòu); 2)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率。 數(shù)據(jù)庫(kù)最終是要存儲(chǔ)在物理設(shè)備 上的。例如 在領(lǐng)料單信息 中,有“ 出庫(kù) 價(jià)”和“ 領(lǐng)料 數(shù)量”兩個(gè) 屬性,一般情況下,不需要再建立一個(gè)“ 合計(jì) ”屬性,但如用戶經(jīng)常需要查詢總價(jià),希望加快查詢速度,則需要建立“ 合計(jì) ”這一屬性,其值即為“ 出庫(kù) 價(jià)”和“ 領(lǐng)料 數(shù)量”兩個(gè)屬性的乘積。 向上反 向規(guī)范化是指在父實(shí)體中以匯總或聚合的形式保存來(lái)自子實(shí)體的信息。 其實(shí)質(zhì)就是在規(guī)范和性能之間實(shí)現(xiàn)平衡,使之對(duì)應(yīng)用程序最有利。 規(guī)范化是使關(guān)系結(jié)構(gòu)至少滿足第三范式,這樣對(duì)數(shù)據(jù)庫(kù)操作可避免異常、減少冗余。 以關(guān)系模型為目標(biāo)的邏輯結(jié)構(gòu)設(shè)計(jì)方法是將 E- R實(shí)體圖中的概念模型映射為關(guān)系模型,并且包括一組關(guān)系定義,每個(gè)關(guān)系有一個(gè)主鍵,映射步驟如下: ( 1)把 E- R 實(shí)體圖中每個(gè)實(shí)體變換為一個(gè)關(guān)系模型。 至此 ,此查詢系統(tǒng) 的 E- R 圖繪制完畢。在這里,需要?jiǎng)?chuàng)建“入 庫(kù)零件 ” 、 “入庫(kù)單信息” 、 “領(lǐng)料” 、 “領(lǐng)料單信息” 、 “零件基本信息” 等二十六 個(gè)實(shí)體,并填寫(xiě)相應(yīng)屬性。在二元聯(lián)系中, E- R 數(shù)據(jù)模型把聯(lián)系分 為一對(duì)一( 1:1),一對(duì)多( 1: n)、和多對(duì)多( M: N)三種,并在模型中明確的給出這些 第三章 系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì) 10 語(yǔ)義,這種表示方法還可以推廣到多元聯(lián)系。聯(lián)系可用實(shí)體所組成的元組表示,例如元組 e1,e2… en表示實(shí)體 e1,e2… .en 之間的一個(gè)聯(lián)系。當(dāng)某個(gè)屬性對(duì)某個(gè)實(shí)體的適用或?qū)傩晕粗獣r(shí) ,也可以用空缺符 NULL。即值是具體的事務(wù)或特征,是個(gè)體的概念。下面介紹 E- R 數(shù)據(jù)模型的三個(gè)抽象概念。這些數(shù)據(jù)模型出現(xiàn)在關(guān)系數(shù)據(jù)模型之后,因此又稱為后關(guān)系數(shù)據(jù)模型( post relational data model)。他們都在記錄的基礎(chǔ)上定義了各自的數(shù)據(jù)的基本結(jié)構(gòu)、約束和操作。 選擇合適的模型來(lái)表示數(shù)據(jù)和功能,對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)和功能分析有重大影響。 本數(shù)據(jù)庫(kù)的設(shè)計(jì)先借助 Power Designer 得到 概念數(shù)據(jù)模型( CDM)然后轉(zhuǎn)化為 物理數(shù)據(jù)模型( PDM), 最后 生成 SQL 腳本語(yǔ)言,進(jìn)而生成 SQL Server 數(shù)據(jù)庫(kù)。從概念 結(jié)構(gòu)設(shè)計(jì)向邏輯結(jié)構(gòu)設(shè)計(jì)轉(zhuǎn)化的時(shí)候,必須同時(shí)考慮數(shù)據(jù)庫(kù)表結(jié)構(gòu)的規(guī)范化和反向規(guī)范化。本論文第二章已通過(guò)功能結(jié)構(gòu)圖、數(shù)據(jù)流程圖等方式完成了需求分析并進(jìn)行了系統(tǒng)分析。如何查詢管理這些數(shù)據(jù),設(shè)計(jì)一個(gè)結(jié)構(gòu)合理,使用方便,效率較高 的 數(shù)據(jù)庫(kù)系統(tǒng)就成為整個(gè)開(kāi)發(fā)過(guò)程中的一個(gè)重要問(wèn)題。 圖 22 所示是查詢系統(tǒng)模塊的關(guān)系數(shù)據(jù)流程圖。 關(guān)系數(shù)據(jù)流程圖用于描述本系