




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大型數(shù)據(jù)庫(kù)開(kāi)發(fā)與設(shè)計(jì)題 目: 高校教材管理系統(tǒng) 學(xué) 號(hào): 姓 名: 班 級(jí): 目錄背景 1一、需求分析11.1 開(kāi)發(fā)目的 11.2 功能需求 21.3 開(kāi)發(fā)及運(yùn)行環(huán)境 21.4 性能需求21.5 安全性需求21.6完整性需求21.7 處理需求31.8 設(shè)計(jì)和實(shí)現(xiàn)上的限制31.9 用戶界面31.10 數(shù)據(jù)流程圖31.11數(shù)據(jù)字典4二、概念結(jié)構(gòu)設(shè)計(jì):52.1 ER圖52.2 CDM圖9三、邏輯結(jié)構(gòu)設(shè)計(jì)93.1 對(duì)于實(shí)體型間的聯(lián)系有以下不同情況93.2 將ER圖轉(zhuǎn)換成關(guān)系模式93.3 各實(shí)體的屬性的關(guān)系類型表10四、 物理結(jié)構(gòu)設(shè)計(jì):124.1 PDM圖124.
2、2 建立表124.3查詢194.4 刪除194.5 數(shù)據(jù)庫(kù)觸發(fā)器的實(shí)現(xiàn)204.6數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程214.6.1建立存儲(chǔ)過(guò)程214.6.2 存儲(chǔ)過(guò)程修改214.6.3存儲(chǔ)過(guò)程的執(zhí)行224.7 視圖22五、總結(jié):231高校教材管理系統(tǒng)背景 在高速發(fā)展的當(dāng)今信息社會(huì),越來(lái)越多的工作都已經(jīng)將計(jì)算機(jī)引入了其中,并且成為了其中不可或缺的一個(gè)重要部分。利用計(jì)算機(jī)進(jìn)行各項(xiàng)管理與協(xié)調(diào),將能大大的提高工作的效率,減小工作強(qiáng)度;在相同的工作強(qiáng)度情況下,利用計(jì)算機(jī)進(jìn)行工作,能比原來(lái)的老式工作方式提高數(shù)倍乃至數(shù)十倍的工作的效率,可以大大的減少各項(xiàng)人力及物資損耗,從而使得能夠?qū)⒍嘤嗟娜肆巴度氲礁枰牡胤饺?/p>
3、。高校管理當(dāng)然也不例外,所以教材管理的計(jì)算機(jī)化已刻不容緩。教材管理對(duì)于各個(gè)學(xué)校而言,都是一項(xiàng)很復(fù)雜、煩瑣的工作, 是高校教務(wù)管理中的一個(gè)重要環(huán)節(jié), 由于大學(xué)專業(yè)設(shè)置門類多,各專業(yè)每期開(kāi)設(shè)課程的種類多,其業(yè)務(wù)不僅涉及出版部門,而且要面對(duì)全校各系的授課教師,各班級(jí)的學(xué)生,教材科要管理的入出庫(kù)教材種類非常多,涉及到的人員廣,工作量大,再者是近些年來(lái),我國(guó)高等教育規(guī)模不斷擴(kuò)大,學(xué)校學(xué)生人數(shù)迅速增加,使得教材管理工作更加繁重不堪。所以,一套好的高校教材管理軟件,不但能夠大大降低工作人員的勞動(dòng)強(qiáng)度,而且還能提高學(xué)校的管理效率和教學(xué)水平。 學(xué)校教材管理主要是由教材計(jì)劃制定、采
4、購(gòu)、入庫(kù)、發(fā)放、記賬、結(jié)算等一系列工作所組成,該工作各院校都有專門機(jī)構(gòu)負(fù)責(zé)該項(xiàng)工作,通常是教材科。由于學(xué)校中專業(yè)設(shè)置門類多,各專業(yè)每期開(kāi)設(shè)課程種類多,各個(gè)專業(yè)需要訂購(gòu)的課本也不一樣,在每學(xué)期開(kāi)學(xué)的時(shí)候教材的發(fā)放便成為了一個(gè)繁重的任務(wù)。每期教材科管理的入出庫(kù)教材種類少則幾百多則幾千種,涉及教材冊(cè)數(shù)少則幾千多則幾萬(wàn),涉及人員廣,工作量大,再者特別是近年來(lái),我國(guó)高等教育規(guī)模的不斷擴(kuò)大,學(xué)校學(xué)生人數(shù)迅速增加,使教材管理工作更加繁重不堪。據(jù)調(diào)查,到目前為止,我國(guó)還有許多學(xué)校甚至是一些重點(diǎn)院校的教材管理仍為手工管理方式,這種現(xiàn)狀不但與現(xiàn)實(shí)學(xué)校教材管理的業(yè)務(wù)需求不相適應(yīng),并且也與學(xué)校信息化建設(shè)的發(fā)展趨勢(shì)不相
5、適應(yīng),因此,學(xué)校教材管理人員目前迫切需要一套方便、高效的計(jì)算機(jī)化的管理信息系統(tǒng)來(lái)代替他們繁瑣、低效的傳統(tǒng)手工管理方式,并最終實(shí)現(xiàn)教材管理的全面自動(dòng)化。 因此,教材管理水平的高低直接影響教學(xué)工作的進(jìn)行、教學(xué)質(zhì)量的提高和合格人才的培養(yǎng),開(kāi)發(fā)和使用高校教材管理信息系統(tǒng)是改善和提高教材管理水平的一個(gè)重要途徑。一、需求分析1.1 開(kāi)發(fā)目的 本課題旨在解決我校和其他高校教材管理工作還是依靠教材管理人員的手工管理的現(xiàn)狀,并且在現(xiàn)有基礎(chǔ)上考慮了如何完善和解決現(xiàn)有的兩層結(jié)構(gòu)的C/S(客戶端/服務(wù)器)教材系統(tǒng)本身所固有的缺陷,把兩層結(jié)構(gòu)中服務(wù)器部分和客戶端部分的應(yīng)用單獨(dú)劃分出來(lái),從而滿足大型系統(tǒng)的需求
6、。通過(guò)本系統(tǒng)不僅可以方便教材管理人員管理教材,還可以方便教務(wù)部門和廣大師生查詢教材和查看教材管理記錄 本系統(tǒng)使用SQL Server 2008 Express數(shù)據(jù)庫(kù)作為后臺(tái)的數(shù)據(jù)管理系統(tǒng),利用ADO數(shù)據(jù)庫(kù)組件連接后臺(tái)數(shù)據(jù)庫(kù)。開(kāi)發(fā)采用的是C#,它是由Microsoft公司開(kāi)發(fā)的Windows程序開(kāi)發(fā)環(huán)境,是現(xiàn)在最受歡迎的幾種開(kāi)發(fā)工具之一.1.2 功能需求 (1) 由于操作人員的計(jì)算機(jī)水平有限,因此要求系統(tǒng)具有良好的人機(jī)界面。(2) 方便的數(shù)據(jù)查詢,支持多條件查詢。 (3) 系統(tǒng)支持良好的數(shù)據(jù)備份和還原操作,有效
7、保護(hù)數(shù)據(jù),減少意外損失。(4) 數(shù)據(jù)計(jì)算自動(dòng)完成,盡量較少人工干預(yù)。(5) 報(bào)表分析教材進(jìn)貨,教材銷售情況。 (6) 強(qiáng)大的報(bào)表打印功能。 (7) 報(bào)表基本信息查詢時(shí),可根據(jù)查詢條件動(dòng)態(tài)顯示查詢結(jié)果。 (8)報(bào)表分析過(guò)程中,可根據(jù)條件動(dòng)態(tài)分析報(bào)表數(shù)據(jù)。1.3 開(kāi)發(fā)及運(yùn)行環(huán)境 系統(tǒng)開(kāi)發(fā)平臺(tái):Microsoft Visual Studio 2008 系統(tǒng)開(kāi)發(fā)語(yǔ)言:C# 數(shù)據(jù)庫(kù)管理系統(tǒng)軟件:SQL Server 2008運(yùn)行平臺(tái):Windows XP(S
8、P2),Windows 2000(SP4),Windows Server 2003(SP1)分辨率:最佳效果1024X768像素。1.4 性能需求(1) 數(shù)據(jù)庫(kù)服務(wù)器支持多客戶端訪問(wèn)。(2) 數(shù)據(jù)的安全性與完整性高,數(shù)據(jù)訪問(wèn)正確率在99.99%。(3) 數(shù)據(jù)庫(kù)表能正確、及時(shí)反映最新內(nèi)容的更新。(4) 服務(wù)器在多客戶端訪問(wèn)時(shí)能正常穩(wěn)定工作。1.5 安全性需求(1) 系統(tǒng)能抵御瑞星網(wǎng)上公布的病毒的攻擊而不至于癱瘓。(2) 系統(tǒng)能安全的防范對(duì)數(shù)據(jù)庫(kù)內(nèi)容不安全的訪問(wèn)和操作。(3) 系統(tǒng)能在斷電的情況下,依靠UPS電源確保數(shù)據(jù)庫(kù)內(nèi)容的完整性和安全性。(4) 數(shù)據(jù)庫(kù)服務(wù)端應(yīng)具
9、備系統(tǒng)使用期間2小時(shí)備份一次數(shù)據(jù)庫(kù)的功能。(5) 系統(tǒng)應(yīng)用驗(yàn)證用戶權(quán)限方可使用的功能保障。1.6完整性需求當(dāng)向數(shù)據(jù)庫(kù)中插入、修改時(shí),系統(tǒng)能夠辨別輸入的數(shù)據(jù)是否符合語(yǔ)義,不能的則不能修改成功。1.7 處理需求能夠存儲(chǔ)教材的基本信息,并方便有效的進(jìn)行相應(yīng)的教材信息數(shù)據(jù)操作和管理,這主要包括:1)教材的出庫(kù)與入庫(kù)信息的錄入,刪除及修改2)教材信息的多關(guān)鍵字檢索查詢能夠?qū)滩牡姆N類價(jià)格等進(jìn)行相應(yīng)的信息存儲(chǔ)與管理,這其中包括:1)出庫(kù)和入庫(kù)信息的及時(shí)添加刪除及更新2)學(xué)生和班級(jí)信息的管理3)出庫(kù)和入庫(kù)信息數(shù)量、價(jià)格的統(tǒng)計(jì)與查詢能夠提供一定的安全機(jī)制,提供數(shù)據(jù)信息授權(quán)訪問(wèn),防止隨意刪改,查詢。對(duì)查詢,統(tǒng)計(jì)
10、的結(jié)果能夠列表顯示1.8 設(shè)計(jì)和實(shí)現(xiàn)上的限制 限于網(wǎng)絡(luò)配置和C/S結(jié)構(gòu)程序的網(wǎng)絡(luò)編程實(shí)現(xiàn)問(wèn)題,部分功能可能實(shí)現(xiàn)不完美,甚至是暫時(shí)無(wú)法實(shí)現(xiàn)。1.9 用戶界面能完全、直觀的體現(xiàn)系統(tǒng)功能,用戶能方便快捷的執(zhí)行某種教材管理工作,能適應(yīng)屏顯分辨率的調(diào)整,友好、可操作性強(qiáng)。1.10 數(shù)據(jù)流程圖高校教材管理系統(tǒng)的系統(tǒng)功能流程圖:高校教材管理系統(tǒng)的系統(tǒng)業(yè)務(wù)流程圖:1.11數(shù)據(jù)字典數(shù)據(jù)字典是指對(duì)數(shù)據(jù)的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理邏輯、外部實(shí)體等進(jìn)行定義和描述,其目的是對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做出詳細(xì)的說(shuō)明。是一種用戶可以訪問(wèn)的記錄數(shù)據(jù)庫(kù)和應(yīng)用程序源數(shù)據(jù)的目錄。數(shù)據(jù)字典最重要的作用是作為分析階段的工具
11、。數(shù)據(jù)字典最重要的用途都是供人查詢對(duì)不了解的條目的解釋,在結(jié)構(gòu)化分析中,數(shù)據(jù)字典的作用是給數(shù)據(jù)流圖上每個(gè)成分加以定義和說(shuō)明。換句話說(shuō),數(shù)據(jù)流圖上所有的成分的定義和解釋的文字集合就是數(shù)據(jù)字典,而且在數(shù)據(jù)字典中建立的一組嚴(yán)密一致的定義很有助于改進(jìn)分析員和用戶的通信。數(shù)據(jù)庫(kù)數(shù)據(jù)字典不僅是每個(gè)數(shù)據(jù)庫(kù)的中心,而且對(duì)每個(gè)用戶也是非常重要的信息。用戶可以用SQL語(yǔ)句訪問(wèn)數(shù)據(jù)庫(kù)數(shù)據(jù)字典。下面是本系統(tǒng)中的數(shù)據(jù)字典。名字:用戶信息描述:使用該軟件的人員信息定義:用戶信息=登陸賬號(hào)+真實(shí)名字+登陸密碼+班級(jí)名字:教材基本信息描述:各種教材的詳細(xì)信息定義:教材信息=教材編號(hào)+教材名稱+教材作者+出版社+教材版本號(hào)名字
12、:入庫(kù)信息描述:每一種教材的入庫(kù)詳細(xì)信息定義:入庫(kù)信息=教材編號(hào)+教材名稱+入庫(kù)單號(hào) +單價(jià)+出版社+數(shù)量+入庫(kù)時(shí)間名字:訂購(gòu)信息描述:每一種教材訂購(gòu)的詳細(xì)信息定義:訂購(gòu)信息=訂購(gòu)單號(hào)+教材編號(hào)+教材名稱+數(shù)量+單價(jià)+供應(yīng)商+訂購(gòu)日期名字:出庫(kù)信息描述:每一種教材的出庫(kù)詳細(xì)信息定義:出庫(kù)信息=教材編號(hào)+教材名稱+數(shù)量+單價(jià)+出版社+班級(jí)名字:管理員信息描述:管理教材的入庫(kù)和出庫(kù)的詳細(xì)信息定義:管理員信息=編號(hào)+姓名+性別+電話名字:供應(yīng)商信息描述:為需求單位提供教材定義:供應(yīng)商信息=編號(hào)+名稱+地址+負(fù)責(zé)人+電話二、概念結(jié)構(gòu)設(shè)計(jì): 概念結(jié)構(gòu)設(shè)計(jì)就是對(duì)信息世界進(jìn)行建模,常用的概念模型是ER模型,
13、 每一個(gè)實(shí)體型的ER圖。這里我們是對(duì)高校教材管理系統(tǒng)進(jìn)行建模,我們把涉及到的實(shí)體型,教材和班級(jí)學(xué)生、教材的入庫(kù)管理、出庫(kù)管理、供應(yīng)商、管理員及印刷社等。用ER圖表示出來(lái)。 概念結(jié)構(gòu)設(shè)計(jì)的任務(wù)是在需求分析階段產(chǎn)生的需求說(shuō)明書的基礎(chǔ)上,按照特定的方法把它們抽象為一個(gè)不依賴于任何具體機(jī)器的數(shù)據(jù)模型,即概念模型。概念模型使設(shè)計(jì)者的注意力能夠從復(fù)雜的實(shí)現(xiàn)細(xì)節(jié)中解脫出來(lái),而只集中在最重要的信息的組織結(jié)構(gòu)和處理模式上。利用實(shí)體關(guān)系圖來(lái)實(shí)現(xiàn).它描述系統(tǒng)中的各個(gè)實(shí)體以及相關(guān)實(shí)體之間的關(guān)系,是系統(tǒng)特性和靜態(tài)描述.數(shù)據(jù)字典也將是系統(tǒng)進(jìn)一步開(kāi)發(fā)的基礎(chǔ)。2.1 ER圖下面是各實(shí)體的ER圖:班級(jí):出版社:訂購(gòu)管理:出庫(kù)管
14、理:學(xué)生:入庫(kù)管理:供應(yīng)商管理:高校教材管理系統(tǒng)實(shí)現(xiàn)各種管理工作,根據(jù)使用者學(xué)生與供應(yīng)商、管理員管理、入庫(kù)管理、出庫(kù)的管理、印刷社、教材的關(guān)系,構(gòu)化出本系統(tǒng)整體的ER圖:2.2 CDM圖三、邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本ER圖轉(zhuǎn)換為與選用的 DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。由于目前使用的數(shù)據(jù)庫(kù)基本上都是關(guān)系數(shù)據(jù)庫(kù),因此首先需要將ER圖轉(zhuǎn)換為關(guān)系模型,然后根據(jù)具體DBMS的特點(diǎn)和限制轉(zhuǎn)換為特定的DBMS支持下的數(shù)據(jù)模型,最后進(jìn)行優(yōu)化。在本系統(tǒng)中我們選用的數(shù)據(jù)庫(kù)環(huán)境是SQL srver2008。 3.1 對(duì)于實(shí)體型間的聯(lián)系有以下不同情況(1) 一個(gè)
15、1:1聯(lián)系可以轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一段對(duì)應(yīng)的關(guān)系模式合并。(2) 一個(gè)1:n聯(lián)系可以轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。(3) 一個(gè)m:n聯(lián)系可以轉(zhuǎn)換成一個(gè)關(guān)系模式。(4) 3個(gè)或3個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系可以轉(zhuǎn)換為一個(gè)關(guān)系模式。(5) 具有相同碼的關(guān)系模式可以合并。3.2 將ER圖轉(zhuǎn)換成關(guān)系模式教材(教材編號(hào),教材名稱,類型編號(hào),訂書單位,出版社名稱,出版時(shí)間,作者,印張,數(shù)量,字?jǐn)?shù),入庫(kù)時(shí)間)班級(jí)(班級(jí)編號(hào),班級(jí)名稱,人數(shù),班長(zhǎng),班長(zhǎng)號(hào)碼,班主任,班主任號(hào)碼,學(xué)院系,學(xué)校,入學(xué)時(shí)間)學(xué)生(學(xué)號(hào),姓名,學(xué)院系,學(xué)校,班級(jí))出庫(kù)(教材編號(hào),教材名稱,數(shù)
16、量,單價(jià),班級(jí)編號(hào),出版社編號(hào),出版時(shí)間,出庫(kù)時(shí)間,負(fù)責(zé)人)入庫(kù)(教材編號(hào),教材名稱,數(shù)量,單價(jià),出版社,入庫(kù)時(shí)間,作者,負(fù)責(zé)人)管理員(管理員編號(hào),管理員名字,性別,電話)供應(yīng)商(供應(yīng)商編號(hào),供應(yīng)商名稱,供應(yīng)商地址,電話,負(fù)責(zé)人)訂購(gòu)(訂單編號(hào),教材編號(hào),教材名稱,單價(jià),數(shù)量)出版社(出版社編號(hào),出版社名稱,電話,負(fù)責(zé)人,地址)。(橫線化的表示是主鍵)3.3 各實(shí)體的屬性的關(guān)系類型表教材表中的項(xiàng)、數(shù)據(jù)類型即相關(guān)作用:字段名數(shù)據(jù)類型字符約束教材編號(hào)char(14)Primary key not null教材名稱varchar(10)Not null類型編號(hào)char(14)Not null訂書單
17、位varhar(10)null出版社名稱char(10)Not null出版時(shí)間timenull作者varhar(10)null印張intnull數(shù)量intnull班級(jí)表中的項(xiàng)、數(shù)據(jù)類型即相關(guān)作用:班級(jí)編號(hào)char(10)Primary key Not null班級(jí)名稱varhar(10)Not null人數(shù)intnull班長(zhǎng)char(10)null班主任char(10)null學(xué)校varhar(10)null學(xué)院系varhar(10)null供應(yīng)商表中的項(xiàng)、數(shù)據(jù)類型即相關(guān)作用:電話char(11)null負(fù)責(zé)人varhar(4)null地址varhar(10)null供應(yīng)商編號(hào)char(10
18、)Not null供應(yīng)商名稱varhar(10)Primary key Not null管理員表中的項(xiàng)、數(shù)據(jù)類型即相關(guān)作用:管理員編號(hào)Char(10)Primary key Not null管理員名字varhar(10)Not null性別char(2)null電話char(10)null地址varhar(10)null學(xué)生表中的項(xiàng)、數(shù)據(jù)類型即相關(guān)作用:學(xué)號(hào)Char(10)Primary key Foreign key Not null姓名varhar(4)Not null學(xué)院系varhar(10)null學(xué)校varhar(10)null班級(jí)varhar(10)null出庫(kù)表中的項(xiàng)、數(shù)據(jù)類型即
19、相關(guān)作用:教材編號(hào)char(14)Primary key Foreign key Not null教材名稱varhar(10)Not null班級(jí)編號(hào)char(14)Primary key Foreign key Not null數(shù)量intnull單價(jià)Float(5)null負(fù)責(zé)人varhar(4)null出庫(kù)時(shí)間timenull出版社編號(hào)char(14)null出版時(shí)間timenull入庫(kù)表中的項(xiàng)、數(shù)據(jù)類型即相關(guān)作用:教材編號(hào)char(14)Primary key Foreign key Not null教材名稱varhar(10)Not null管理員編號(hào)char(14)Primary k
20、ey Foreign key Not null數(shù)量intnull單價(jià)float(5)null負(fù)責(zé)人varhar(4)null入庫(kù)時(shí)間timenull出版社varhar(14)null作者varhar(4)null4、 物理結(jié)構(gòu)設(shè)計(jì):4.1 PDM圖4.2 建立表 根據(jù)CDM和PDM的信息及聯(lián)系創(chuàng)建表,并將每一個(gè)表進(jìn)行插入數(shù)據(jù),程序如下,并附有表:create table 班級(jí) ( 班級(jí)編號(hào) char(10) not null, 班級(jí)名稱 varchar(5) not null, 人數(shù) char(2) null, 班長(zhǎng) char(10) null, 班長(zhǎng)電話 char(11) null, 班主任
21、 char(10) null, 班主任電話 char(11) null, 學(xué)院系 varchar(10) null, 學(xué)校 varchar(10) null, 入學(xué)時(shí)間 time null, constraint PK_班級(jí) primary key (班級(jí)編號(hào));insert into 班級(jí) values('0001','計(jì)本','40','12052901','#39;,'6678','#39;,'信息學(xué)院','西財(cái)'
22、, 123000)insert into 班級(jí) values('0002','計(jì)本','39','12042901','#39;,'6578','#39;,'信息學(xué)院','郵電', 130300)insert into 班級(jí) values('0003','軟件','40','12032901','#39;,'6778&
23、#39;,'#39;,'信息學(xué)院','西財(cái)', 112300)insert into 班級(jí) values('0004','電子','40','12022901','#39;,'6458','#39;,'信息學(xué)院','郵電', 123010)insert into 班級(jí) values('0005','網(wǎng)絡(luò)','38
24、9;,'12012901','#39;,'6645','#39;,'信息學(xué)院','理工', 123022)insert into 班級(jí) values('0006','軟件','44','12062901','#39;,'6000','#39;,'信息學(xué)院','科技',133000)insert
25、into 班級(jí) values('0007','網(wǎng)絡(luò)','40','12072901','#39;,'6666','#39;,'信息學(xué)院','科技', 123330)insert into 班級(jí) values('0008','電子','33','12082901','#39;,'6888','137635
26、43235','信息學(xué)院','理工',156000)select * from 班級(jí);create table 出版社 ( 出版社編號(hào) char(14) not null, 出版社名稱 varchar(7) not null, 電話 char(11) null, 負(fù)責(zé)人 varchar(4) null, 地址 varchar(11) null, constraint PK_出版社 primary key (出版社編號(hào));insert into 出版社 values('1235','清華','
27、#39;,'張三','北京')insert into 出版社 values('1223','北京','#39;,'李四','北京')insert into 出版社 values('1333','郵電','#39;,'王二','西安')insert into 出版社 values('2345','麻省','#39
28、;,'李磊','美國(guó)')insert into 出版社 values('7865','哈弗','#39;,'jion','美國(guó)')select * from 出版社;create table 出庫(kù) ( 教材編號(hào) char(14) not null, 班級(jí)編號(hào) char(10) not null, 教材名稱 varchar(10) null, 數(shù)量 numeric(10) null, 單價(jià) float(5) null, 出版社編號(hào) char(14) null, 出版時(shí)間
29、 date null, 出庫(kù)時(shí)間 date null, 負(fù)責(zé)人 varchar(4) null, constraint PK_出庫(kù) primary key clustered (教材編號(hào), 班級(jí)編號(hào));insert into 出庫(kù) values('0001','ISBN1205290101','數(shù)學(xué)',40,22.5,'0001','1235','王磊')insert into 出庫(kù) values('0002','ISBN1205290102','英語(yǔ)'
30、;,44,26.5,'0002','1223','施磊')insert into 出庫(kù) values('0003','ISBN1205290103','語(yǔ)文',39,35.5,'0003','1233','郭靖')insert into 出庫(kù) values('0004','ISBN1205290104','物理',33,32.5,'0004','2345','瑪麗&
31、#39;)insert into 出庫(kù) values('0005','ISBN1205290105','c語(yǔ)言',38,28.5,'0005','7865','馬克')select * from 出庫(kù);create table 訂購(gòu) ( 供應(yīng)商編號(hào) char(14) not null, 教材編號(hào) char(14) not null, 訂單編號(hào) char(14) null, 教材名稱 varchar(10) null, 單價(jià) float(5) null, 數(shù)量 numeric(10) null, co
32、nstraint PK_訂購(gòu) primary key clustered (供應(yīng)商編號(hào), 教材編號(hào));insert into 訂購(gòu) values('01','ISBN1205290101','01234','數(shù)學(xué)',22.5,1000)insert into 訂購(gòu) values('02','ISBN1205290102','01244','英語(yǔ)',32.5,2000)insert into 訂購(gòu) values('03','ISBN1205290
33、103','01254','語(yǔ)文',42.5,1500)insert into 訂購(gòu) values('04','ISBN1205290104','01264','物理',52.5,1070)insert into 訂購(gòu) values('05','ISBN1205290105','01274','c語(yǔ)言',27.5,1005)select * from 訂購(gòu);create table 供應(yīng)商 ( 供應(yīng)商編號(hào) char(14) no
34、t null, 供應(yīng)商名稱 varchar(10) not null, 供應(yīng)商地址 varchar(10) null, 供應(yīng)商電話 char(11) null, 供應(yīng)商負(fù)責(zé)人 char(4) null, constraint PK_供應(yīng)商 primary key (供應(yīng)商編號(hào));insert into 供應(yīng)商 values('01','西屋','北京','#39;,'jion')insert into 供應(yīng)商 values('02','清華','上海'
35、,'#39;,'sama')insert into 供應(yīng)商 values('03','阿里','西安','#39;,'tom')insert into 供應(yīng)商 values('04','科技','江蘇','#39;,'ato')insert into 供應(yīng)商 values('05','書屋','深圳','
36、#39;,'mark')select * from 供應(yīng)商;create table 管理員 ( 管理員編號(hào) char(14) not null, 管理員姓名 varchar(5) not null, 性別 char(2) null, 電話 char(11) null, constraint PK_管理員 primary key (管理員編號(hào))insert into 管理員 values('0101','提提','男','#39;)insert into 管理員 value
37、s('0102','蜜蜜','女','#39;)insert into 管理員 values('0103','楊洋','女','#39;)insert into 管理員 values('0104','安宇','男','#39;)insert into 管理員 values('0105','歐陽(yáng)','男',
38、9#39;)select * from 管理員;create table 教材 ( 教材編號(hào) char(14) not null, 教材名稱 varchar(10) not null, 類型編號(hào) char(14) not null, 訂書單位 varchar(10) null, 出版社名稱 varchar(7) null, 出版時(shí)間 date null, 作者 varchar(4) null, 印張 int null, 單價(jià) float(5) null, 數(shù)量 int null, 入庫(kù)時(shí)間 date null, 字?jǐn)?shù) integer null, constraint
39、PK_教材 primary key (教材編號(hào));insert into 教材 values('ISBN1205290101','數(shù)學(xué)','200','西財(cái)','清華','邵超',300,23.5,1000,1000000)insert into 教材 values('ISBN1205290102','英語(yǔ)','300','郵電','北京','張斌',400,33.5,2000,2000000)inser
40、t into 教材 values('ISBN1205290103','語(yǔ)文','400','科技','郵電','張榮',334,43.5,1500,1700000)insert into 教材 values('ISBN1205290104','物理','500','理工','麻省','韓萬(wàn)',456,53.5,1070,2200000)insert into 教材 values('ISBN1205
41、290105','c語(yǔ)言','600','哈弗','哈弗','姜麗',675,26.5,1005,4300000)select * from 教材;create table 入庫(kù) ( 管理員編號(hào) char(14) not null, 教材編號(hào) char(14) not null, 教材名稱 varchar(10) null, 出版社 varchar(10) null, 數(shù)量 numeric(10) null, 入庫(kù)時(shí)間 date null, 單價(jià) float(5) null, 作者 varchar(4) n
42、ull, 負(fù)責(zé)人 varchar(4) null, constraint PK_入庫(kù) primary key clustered (管理員編號(hào), 教材編號(hào));insert into 入庫(kù) values('0101','ISBN1205290101','數(shù)學(xué)','清華',1000,23.5,'邵超','張凱')insert into 入庫(kù) values('0102','ISBN1205290102','英語(yǔ)','北京',2000,33.5
43、,'張斌','王輝')insert into 入庫(kù) values('0103','ISBN1205290103','語(yǔ)文','西安',1500,43.5,'張榮','韓凱')insert into 入庫(kù) values('0104','ISBN1205290104','物理','麻省',1070,53.5,'韓萬(wàn)','劉軍')insert into 入庫(kù) values(
44、9;0105','ISBN1205290105','c語(yǔ)言','哈佛',1005,27.5,'姜麗','王五')select * from 入庫(kù);create table 學(xué)生 ( 學(xué)號(hào) char(10) not null, 班級(jí)編號(hào) char(10) null, 姓名 varchar(4) not null, 學(xué)校 varchar(10) null, 院系 varchar(10) null, 書費(fèi) char(6) null, constraint PK_學(xué)生 primary key (學(xué)號(hào));insert
45、 into 學(xué)生 values('12051','0001','李麗','西財(cái)','信息學(xué)院',6000)insert into 學(xué)生 values('12052','0002','楊宇','理工','信息學(xué)院',7000)insert into 學(xué)生 values('12053','0005','張宇','郵電','信息學(xué)院',8000)insert in
46、to 學(xué)生 values('12054','0003','馬云','麻省','信息學(xué)院',9000)insert into 學(xué)生 values('12055','0004','周語(yǔ)','哈佛','信息學(xué)院',10000)select * from 學(xué)生;create table 印刷 ( 出版社編號(hào) char(14) not null, 教材編號(hào) char(14) not null, constraint PK_印刷 primary k
47、ey clustered (出版社編號(hào), 教材編號(hào));insert into 印刷 values('1223','ISBN1205290101')insert into 印刷 values('1235','ISBN1205290102')insert into 印刷 values('1333','ISBN1205290103')insert into 印刷 values('2345','ISBN1205290104')insert into 印刷 values(
48、9;7865','ISBN1205290105')select * from 印刷;4.3查詢查詢出庫(kù)和入庫(kù)中的教材數(shù)量,編程語(yǔ)句如下:select 教材.教材編號(hào),教材.教材名稱,出庫(kù).數(shù)量,入庫(kù).數(shù)量from 出庫(kù),入庫(kù),教材where 教材.教材編號(hào) = 出庫(kù).教材編號(hào) and 教材.教材編號(hào)=入庫(kù).教材編號(hào)4.4 刪除刪除入庫(kù)中的一條信息,編程語(yǔ)句如下:delete from 入庫(kù) where 教材編號(hào) = 'ISBN1205290105'4.5 數(shù)據(jù)庫(kù)觸發(fā)器的實(shí)現(xiàn)觸發(fā)器是SQL Server 提供的除約束之外的另一種保證數(shù)據(jù)完整性的方法,它可以
49、實(shí)現(xiàn)約束所不能實(shí)現(xiàn)的更復(fù)雜的完整性要求。觸發(fā)器是一種特殊的存儲(chǔ)過(guò)程,它不予許帶參數(shù),不能有用戶直接通過(guò)名稱調(diào)用,而是由用戶的某一動(dòng)作自動(dòng)觸發(fā)。在本項(xiàng)目中通過(guò)建立觸發(fā)器來(lái)自動(dòng)更新出庫(kù)與入庫(kù)中的數(shù)量。入庫(kù)與庫(kù)存的關(guān)系 教材入庫(kù)時(shí),可以通過(guò)觸發(fā)程序利用教材編碼相同來(lái)檢索庫(kù)存里是否有該書的庫(kù)存記錄,如果存在該書的記錄,則在原有的記錄上增加;如果庫(kù)存里沒(méi)有該書的庫(kù)存記錄,則新增加該書的庫(kù)存記錄。完成對(duì)庫(kù)存表的更新,減少了重復(fù)輸入的麻煩,程序如下:create trigger updata_kucun on 入庫(kù) for insertasdeclare shl int,bh char(10)s
50、elect bh = 教材編號(hào),shl = 數(shù)量 from insertedif exists(select * from kucun where 教材編碼 = bh )update kucun set 數(shù)量 = 數(shù)量 + shl where 教材編碼 = bhelse if exists(select * from kucun where 教材編號(hào)<>bh)begininsert into kucun(教材編號(hào),數(shù)量) values (bh,shl)end begin Raiserror('入庫(kù)量等于庫(kù)存量',16,2) rollback transaction
51、end 出庫(kù)與庫(kù)存的關(guān)系 管理人員將教材出庫(kù)時(shí),通過(guò)觸發(fā)程序利用教材編碼相同來(lái)檢索該教材是否存在于庫(kù)存中,如果存在且出庫(kù)數(shù)量不大于庫(kù)存數(shù)量,則在庫(kù)存數(shù)量上減少相應(yīng)的數(shù)量,如果不存在,則說(shuō)明,輸入的教材編碼有誤,系統(tǒng)提示錯(cuò)誤信息,同時(shí),如果該教材存在,但出庫(kù)的數(shù)量大于庫(kù)存的數(shù)量,則系統(tǒng)提示錯(cuò)誤信息,并重新輸入。代碼如下:create trigger update_kucun on 出庫(kù)for insertasdeclare shl int,bh char(10),shj datetimeselect bh = 教材編號(hào),shl = 數(shù)量 from insertedif exists(
52、select * from kucun where 教材編碼 = bh and shl <= 數(shù)量)update kucun set kucun.數(shù)量 = kucun.數(shù)量 - shl where 教材編碼 = bhelse begin Raiserror('出入量大于庫(kù)存量',16,2) rollback transaction end Raiserror('入庫(kù)量等于庫(kù)存量',16,2) rollback transaction end 4.6數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程 存儲(chǔ)過(guò)程與表、視圖一樣,是一種存儲(chǔ)在數(shù)據(jù)庫(kù)中的對(duì)象。它與其他編程語(yǔ)言中的過(guò)程類似;同時(shí),存儲(chǔ)
53、過(guò)程也可以向調(diào)用過(guò)成或批處理返回狀態(tài)值,以指明成功或失敗等。存儲(chǔ)過(guò)程與函數(shù)不同,因?yàn)榇鎯?chǔ)過(guò)程不返回取代其名稱的值,因此不能直接在表達(dá)式中使用。存儲(chǔ)過(guò)程只需編譯一次,以后即可多次執(zhí)行,因此使用存儲(chǔ)過(guò)程可以提高性能。4.6.1建立存儲(chǔ)過(guò)程通過(guò)建立存儲(chǔ)過(guò)程來(lái)統(tǒng)計(jì)各種教材的訂購(gòu),出庫(kù)和入庫(kù),編程語(yǔ)言如下:create Proc Query_tongji(dinggou_bh char(14)output,ruku_shl int output,chuku_shl int output)asselect dinggou_bh = 訂購(gòu).教材編號(hào),ruku_shl =入庫(kù).數(shù)量,chuku_shl = 出庫(kù).數(shù)量from 訂購(gòu),出庫(kù), 入庫(kù)4.6.2 存儲(chǔ)過(guò)程修改對(duì)存儲(chǔ)過(guò)程進(jìn)行修改,增加了一個(gè)參數(shù),編程語(yǔ)言如下:ALTER Proc Query_to
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)加盟代理合同范本
- 醫(yī)院護(hù)理合同范本
- 合同范本響應(yīng)說(shuō)明
- 合同范本排行
- 廠房與商鋪買賣合同范本
- 合伙買門市合同范例
- 協(xié)議合同與聯(lián)營(yíng)合同范例
- 合伙股權(quán)合同范例
- ab股股權(quán)合同范本
- 合租經(jīng)營(yíng)餐廳合同范本
- 2025年黑龍江交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)必考題
- 個(gè)人畫協(xié)議合同范本
- 成人腦室外引流護(hù)理-中華護(hù)理學(xué)會(huì)團(tuán)體 標(biāo)準(zhǔn)
- 2024年甘肅省公務(wù)員考試《行測(cè)》真題及答案解析
- 《撰寫演講稿》-省賽一等獎(jiǎng)-完整版課件
- 墻面板安裝爬梯驗(yàn)算
- 矢量分析與場(chǎng)論講義
- 繪本《一園青菜成了精》
- 贊美詩(shī)歌400首全集
- 2013河南省政府制定價(jià)格聽(tīng)證辦法實(shí)施細(xì)則
- 水庫(kù)除險(xiǎn)加固初步設(shè)計(jì)工程勘察報(bào)告(共36頁(yè))
評(píng)論
0/150
提交評(píng)論