汽車租賃管理系統(tǒng)原理課程設(shè)計最終版_第1頁
汽車租賃管理系統(tǒng)原理課程設(shè)計最終版_第2頁
汽車租賃管理系統(tǒng)原理課程設(shè)計最終版_第3頁
汽車租賃管理系統(tǒng)原理課程設(shè)計最終版_第4頁
汽車租賃管理系統(tǒng)原理課程設(shè)計最終版_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、64/64長 沙 學(xué) 院課程設(shè)計講明書題目汽車租賃治理系統(tǒng)系(部)數(shù)學(xué)與計算機(jī)科學(xué)專業(yè)(班級)軟件03班姓名學(xué)號指導(dǎo)教師黃彩霞、劉欣起止日期2016.5.15-2016.5.27課程設(shè)計任務(wù)書課程名稱:數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計設(shè)計題目: 汽車租賃治理系統(tǒng)。已知技術(shù)參數(shù)和設(shè)計要求:題目:汽車租賃治理系統(tǒng)某汽車租賃公司汽車租賃治理系統(tǒng)需要如下信息:工作人員信息包括:工號、姓名、性不、聯(lián)系電話等??蛻粜畔ǎ荷矸葑C號、姓名、性不、所在單位、聯(lián)系電話等。車輛信息包括:車牌號、品牌、顏色、座位數(shù)、日租價格、日租超公里價格、月租價格、租賃狀態(tài)、購入日期等。車輛類不信息包括:分類號,庫存數(shù)。其業(yè)務(wù)規(guī)則描述如

2、下:一個工作人員能夠?qū)iT多輛車輛進(jìn)行治理,一輛車也能夠被多個工作人員治理;一輛車只能屬于一種車輛類不,而一種車輛類不能夠包含多輛車;一個客戶能夠租多輛不同的車。2、系統(tǒng)功能的差不多要求:能夠?qū)崿F(xiàn)對車輛、租賃客戶的查詢,能夠查詢汽車、客戶租賃歷史記錄。能夠按類不統(tǒng)計汽車的租賃金額和剩余的庫存數(shù),能夠統(tǒng)計某一年齡客戶群體對某類汽車的租賃喜好,能模擬客戶對汽車的租借、歸還業(yè)務(wù)。 各時期具體要求:1、需求分析時期定義數(shù)據(jù)項的含義和取值定義目標(biāo)系統(tǒng)的數(shù)據(jù)流2、概念結(jié)構(gòu)設(shè)計時期畫出實(shí)體模型E-R圖3、邏輯結(jié)構(gòu)設(shè)計時期將實(shí)體模型轉(zhuǎn)化為關(guān)系模型給出每個關(guān)系的主關(guān)鍵字和函數(shù)依靠集分析你所設(shè)計的關(guān)系數(shù)據(jù)庫模式是

3、否屬于3NF4、物理設(shè)計時期確定所有字段的名稱、類型、寬度、小數(shù)位數(shù)及完整性約束 確定數(shù)據(jù)庫及表的名稱及其組成 確定索引文件和索引關(guān)鍵字5、數(shù)據(jù)庫安全及維護(hù)設(shè)計時期設(shè)計一個適合的數(shù)據(jù)庫安全策略(用戶身份認(rèn)證、訪問權(quán)限、視圖)為了實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)完整性約束,設(shè)計適當(dāng)?shù)挠|發(fā)器設(shè)計一個適合的數(shù)據(jù)庫備份策略6、實(shí)施時期要求所有操作必須在查詢分析器中用SQL語句或系統(tǒng)存儲過程完成。設(shè)計工作量:(1)軟件設(shè)計:完成問題陳述中所提到的所有需求功能。(2)論文:要求撰寫許多于3000個文字的電子文檔,詳細(xì)講明各時期具體要求。工作打算:安排兩周時刻進(jìn)行課程設(shè)計,軟件開發(fā)步驟如下,第一周完成14,第二周完成58,論

4、文同步進(jìn)行;1)選定題目2)需求分析3)概念結(jié)構(gòu)設(shè)計4)邏輯結(jié)構(gòu)設(shè)計5)物理設(shè)計6)數(shù)據(jù)庫安全及維護(hù)設(shè)計7)數(shù)據(jù)庫上機(jī)實(shí)現(xiàn)8)答辯注意事項提交電子文檔長沙學(xué)院課程設(shè)計任務(wù)書(每學(xué)生1份)長沙學(xué)院課程設(shè)計論文(每學(xué)生1份)長沙學(xué)院課程設(shè)計鑒定表(每學(xué)生1份)指導(dǎo)教師簽名: 日期: 教研室主任簽名: 日期:系主任簽名: 日期:長沙學(xué)院課程設(shè)計鑒定表姓名學(xué)號專業(yè)軟件工程班級03設(shè)計題目汽車租賃治理系統(tǒng)指導(dǎo)教師劉欣、黃彩霞指導(dǎo)教師意見:評定等級: 教師簽名: 日期: 答辯小組意見:評定等級:答辯小組長簽名:日期:教研室意見:教研室主任簽名: 日期: 系(部)意見:系主任簽名:日期:講明課程設(shè)計成績分“

5、優(yōu)秀”、“良好”、“及格”、“不及格”四類;目 錄 TOC o 1-3 h z u HYPERLINK l _Toc311967630 一、引言6 HYPERLINK l _Toc311967631 1.1編寫目的6 HYPERLINK l _Toc311967632 1.2參考資料6 HYPERLINK l _Toc311967633 二、需求規(guī)約7 HYPERLINK l _Toc311967634 2.1 業(yè)務(wù)描述7 HYPERLINK l _Toc311967635 2.2 需求分析7 HYPERLINK l _Toc311967636 三、數(shù)據(jù)庫環(huán)境講明8 HYPERLINK l _

6、Toc311967637 四、數(shù)據(jù)庫的命名規(guī)則8 HYPERLINK l _Toc311967638 4.1 數(shù)據(jù)庫對象命名規(guī)則 PAGEREF _Toc311967638 h 6 HYPERLINK l _Toc311967639 4.2 數(shù)據(jù)項編碼規(guī)則 PAGEREF _Toc311967639 h 6 HYPERLINK l _Toc311967640 五、邏輯設(shè)計9 HYPERLINK l _Toc311967641 六、物理設(shè)計11 HYPERLINK l _Toc311967642 6.1表匯總11 HYPERLINK l _Toc311967643 6.1.1表car:車輛信息表

7、12 HYPERLINK l _Toc311967643 6.1.2表carclass:汽車分類表表12 HYPERLINK l _Toc311967643 6.1.3表customer:客戶信息表13 HYPERLINK l _Toc311967643 6.1.4表worker1:工作人員表13 HYPERLINK l _Toc311967643 6.1.5表rent:租賃表14 HYPERLINK l _Toc311967643 6.1.6表manage:治理表15 HYPERLINK l _Toc311967644 6.2視圖的設(shè)計15 HYPERLINK l _Toc311967645

8、 6.3存儲過程的設(shè)計17 HYPERLINK l _Toc311967645 6.4觸發(fā)器的設(shè)計20 HYPERLINK l _Toc311967645 6.4JAVA設(shè)計24 HYPERLINK l _Toc311967646 七、安全性設(shè)計26 HYPERLINK l _Toc311967647 7.1防止用戶直接操作數(shù)據(jù)庫的方法26 HYPERLINK l _Toc311967648 7.2用戶帳號密碼的加密方法26 HYPERLINK l _Toc311967649 7.3角色與權(quán)限26 HYPERLINK l _Toc311967650 八、數(shù)據(jù)庫治理與維護(hù)講明27 HYPERLI

9、NK l _Toc311967649 8.1講明27 HYPERLINK l _Toc311967649 8.2課程設(shè)計總結(jié)28九、 附錄 源代碼29 HYPERLINK l _Toc311967645 9.1數(shù)據(jù)庫源代碼29 HYPERLINK l _Toc311967645 9.2連接數(shù)據(jù)庫代碼40一、引言編寫目的本文檔是汽車租賃治理系統(tǒng)的組成部分,編寫數(shù)據(jù)庫設(shè)計文檔的目的是:明確數(shù)據(jù)庫的表名、字段名等數(shù)據(jù)信息,用來指導(dǎo)后期的數(shù)據(jù)庫腳本的開發(fā)。本文檔的讀者對象是需求人員、系統(tǒng)設(shè)計人員、開發(fā)人員和測試人員。為了加快汽車租賃治理自動化的步伐,提高汽車租賃的治理業(yè)務(wù)處理效率,建立汽車租賃治理系統(tǒng)

10、,同時盡可能地減少汽車租賃治理的重復(fù)性和低效性,已變得十分必要。該課程設(shè)計以某汽車租賃應(yīng)用背景,通過研究當(dāng)前汽車租賃系統(tǒng)的治理現(xiàn)狀、存在問題以及現(xiàn)實(shí)需求,設(shè)計一個針對汽車租賃治理工作的治理信息系統(tǒng)。該系統(tǒng)能夠提供較為完備的功能,關(guān)于提高工作效率、加快汽車租賃治理的自動化具有較為重要的意義。汽車租賃治理系統(tǒng)是汽車租賃公司提供的一個簡單易用的系統(tǒng),隨著科技的進(jìn)展,設(shè)備和治理的現(xiàn)代化,在實(shí)際生活中如何提高工作效率成為一個專門重要的問題,因此建立這種治理系統(tǒng)是特不行的解決方法。參考資料資料名稱作者文件編號、版本數(shù)據(jù)庫系統(tǒng)概論王珊、薩師煊2006年5月第4版MySQL入門經(jīng)典王雨竹、高飛2013年4月J

11、ava基礎(chǔ)教程吳仁群2009年4月需求規(guī)約2.1 業(yè)務(wù)描述2.1.1創(chuàng)建背景該數(shù)據(jù)庫建立于MySQL,環(huán)境為windows7系統(tǒng)名稱:汽車租賃治理系統(tǒng)。 系統(tǒng)的開發(fā)者:小組成員系統(tǒng)的用戶:租車客戶以及租賃公司的工作人員。 2.1.2業(yè)務(wù)流程及工作內(nèi)容了解到題目需求后,畫好ER圖,寫出其關(guān)系模式,并用MySQL建立數(shù)據(jù)庫,新建表,定義好表名,建立視圖、存儲過程以及觸發(fā)器。系統(tǒng)功能的差不多要求是能夠?qū)崿F(xiàn)對車輛、租賃客戶的查詢,能夠查詢汽車、客戶租賃歷史記錄。能夠按類不統(tǒng)計汽車的租賃金額和剩余的庫存數(shù),能夠統(tǒng)計某一年齡客戶群體對某類汽車的租賃喜好,能模擬客戶對汽車的租借、歸還業(yè)務(wù)。2.2 需求分析2

12、.2.1功能需求(1)車輛治理 要緊是表示治理員能夠?qū)ψ赓U公司現(xiàn)有的汽車的具體信息進(jìn)行治理,修改汽車差不多信息,包括車牌號、汽車顏色、購入日期、類不及租賃狀態(tài)等,也能夠添加新購進(jìn)來的汽車差不多信息,以便更快的投入租賃市場,方便客戶了解最新車輛信息以及做出更好的租賃選擇。(2)業(yè)務(wù)治理要緊提供對汽車的日常業(yè)務(wù)進(jìn)行治理,如查詢指定汽車的租賃狀態(tài),被租賃的車的車牌號,所生成的訂單號,所租車的種類,租車時刻、歸還時刻及租賃金額,查詢租車客戶的差不多信息,以便于治理員更好的治理車輛系統(tǒng),保障系統(tǒng)安全性。統(tǒng)計要緊是實(shí)現(xiàn)統(tǒng)計某一年齡客戶群體對某類汽車的租賃喜好,能夠通過客戶的年齡算出所租車輛的種類一共有多少

13、輛,能夠按類不統(tǒng)計汽車的租賃金額和剩余的庫存數(shù),以便治理員更好地了解市場行情,從而盡可能獲得更大收益。三、數(shù)據(jù)庫環(huán)境講明3.1 數(shù)據(jù)庫環(huán)境數(shù)據(jù)庫實(shí)例數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫部署環(huán)境數(shù)據(jù)庫設(shè)計工具數(shù)據(jù)庫存放位置講明汽車租賃MySQL,版本4.0Windows7Navicat for MySQLD:ProgramFilesMySQL實(shí)例用途講明四、數(shù)據(jù)庫的命名規(guī)則4.1 數(shù)據(jù)庫對象命名規(guī)則數(shù)據(jù)庫對象命名規(guī)則備注表table功能描述字符串例如:Car表視圖View功能描述字符串例如:V1視圖存儲過程Proc功能描述字符串例如:P1存儲過程觸發(fā)器Trigger功能描述字符串例如:T1觸發(fā)器4.2 數(shù)據(jù)項編碼規(guī)

14、則數(shù)據(jù)項命名規(guī)則數(shù)據(jù)類型長度備注租賃狀態(tài) 兩位二進(jìn)制碼bit2例如:00車牌號湘L+(三位整數(shù))+SBvarchar10例如:湘L520SB客戶賬號431023+三位整數(shù)varchar10例如:431023001訂單號四位整數(shù)varchar10例如:1401租賃日期年-月-日 時刻datetime10例如:2016-05-20 04五、邏輯設(shè)計5.1 系統(tǒng)E-R圖設(shè)計 圖1 E-R圖 圖2 MySQL中E-R圖5.2創(chuàng)建關(guān)系模式1.工作人員(工號、密碼、姓名、性不、聯(lián)系電話)2.客戶信息(身份證號、密碼、姓名、性不、所在單位、聯(lián)系電話)3.車輛信息(車牌號、品牌、座位數(shù)、顏色、租賃狀態(tài)、購入日

15、期、分類號)4.車輛類不(分類號、庫存數(shù)、日租價格、日租超公里價格、月租價格、月租超公里價格、品牌)5.治理(工號、車牌號)備注:(工號和車牌號共同作為治理表的主鍵,同時也是外鍵)6.租賃(訂單號、身份證號、車牌號、租賃日期、歸還日期、租賃總金額)備注:(主鍵是加下劃線,外鍵是加波浪線)完全依靠:工號姓名 ,工號密碼,工號性不,工號聯(lián)系電話客戶身份證號客戶姓名,客戶身份證號密碼,客戶身份證號客戶性不,客戶身份證號客戶所在單位,客戶身份證號客戶聯(lián)系電話 車牌號品牌,車牌號座位數(shù),車牌號顏色,車牌號購入日期,車牌號分類號 分類號庫存數(shù),分類號日租價格,分類號日租超公里價格,分類號月租價格,分類號月

16、租超公里價格,分類號品牌 訂單號客戶身份證號,訂單號車牌號,訂單號租賃日期,訂單號歸還日期,訂單號租賃金額部分依靠:(工號,車牌號)(分不決定)姓名、密碼、性不、聯(lián)系電話,品牌、座位數(shù)、顏色、租賃狀態(tài)、購入日期、分類號傳遞依靠:訂單號(分不決定)客戶的姓名、密碼、性不、所在單位、聯(lián)系電話、品牌、分類號、座位數(shù)、顏色、租賃狀態(tài)、購入日期六、物理設(shè)計6.1表匯總表名功能講明car存儲車輛的信息carclass存儲車輛類不的信息worker1存儲工作人員的信息rent存儲租賃的信息customer存儲客戶的信息manage存儲工作人員與車輛的聯(lián)系6.1.1表car:車輛信息表表名car數(shù)據(jù)庫用戶Te

17、st主鍵CarNo索引字段CarClassNo序號字段名稱數(shù)據(jù)類型同意為空Y/N唯一Y/N區(qū)不度默認(rèn)值約束條件/講明1CarNovarchar(10)NY高無主鍵2CarClassNovarchar(10)NN高無外鍵3CarStatebit(2)NN低00租賃狀態(tài)4CardatedateNN低無購入日期5CarColorvarchar(10)NN低無汽車顏色sql腳本DROP TABLE IF EXISTS car;CREATE TABLE car ( CarNo varchar(10) NOT NULL, CarColor varchar(10) NOT NULL, CarDate dat

18、e NOT NULL, CarSta bit(10) NOT NULL, CarClassNo varchar(10) NOT NULL, PRIMARY KEY (CarNo), KEY CarClassNo (CarClassNo), CONSTRAINT CarClassNo FOREIGN KEY (CarClassNo) REFERENCES carclass (CarClassNo)6.1.2表carclass:車輛類不表表名carclass數(shù)據(jù)庫用戶Test主鍵CarClassNo序號字段名稱數(shù)據(jù)類型同意為空Y/N唯一Y/N區(qū)不度默認(rèn)值約束條件/講明1CarClassNovarc

19、har(10)NY高無主鍵2CarClassCntvarchar(10)NN低無庫存數(shù)3CarClassSeatbit(2)NN低無座位數(shù)4CarClassDayPrice2dateNN低無日租價格5CarClassDayPrice1varchar(10)NN低無日租超公里價格6CarClassMonthPricevarchar(10)NN低無月租價格7CarClassBrandvarchar(10)NN低無車輛品牌sql腳本DROP TABLE IF EXISTS carclass;CREATE TABLE carclass ( CarClassNo varchar(10) NOT NULL

20、, CarClassCnt varchar(10) NOT NULL, CarClassDayPrice1 varchar(10) NOT NULL, CarClassDayPrice2 varchar(10) NOT NULL, CarClassMonthPrice varchar(10) NOT NULL, CarClassBrand varchar(10) NOT NULL, CarClassseat varchar(10) NOT NULL, PRIMARY KEY (CarClassNo)6.1.3表customer:客戶信息表表名customer數(shù)據(jù)庫用戶Test主鍵CusNo序號

21、字段名稱數(shù)據(jù)類型同意為空Y/N唯一Y/N區(qū)不度默認(rèn)值約束條件/講明1CusNovarchar(10)NY高無主鍵2CusPasswordvarchar(10)NN高無登錄密碼3CusNamevarchar(10)NN低無客戶姓名4CusSexvarchar(10)NN低無客戶性不5CusAgevarchar(10)NN低無客戶年齡6CusPhonevarchar(10)NN低無客戶電話7CusCompanyvarchar(10)NN低無公司sql腳本DROP TABLE IF EXISTS customer;CREATE TABLE customer ( CusNo varchar(10) N

22、OT NULL, CusName varchar(10) NOT NULL, CusSex varchar(2) NOT NULL, CusAge varchar(4) NOT NULL, CusPhone varchar(20) NOT NULL, CusCompany varchar(20) NOT NULL, CusPassword varchar(10) NOT NULL, PRIMARY KEY (CusNo)6.1.4表worker1:工作人員信息表表名worker1數(shù)據(jù)庫用戶Test主鍵WorkNo序號字段名稱數(shù)據(jù)類型同意為空Y/N唯一Y/N區(qū)不度默認(rèn)值約束條件/講明1WorkN

23、ovarchar(10)NY高無主鍵2WorkPasswordvarchar(10)NN低無密碼3WorkNamevarchar(10)NN低無姓名4WorkSexvarchar(10)NN低無性不5WorkPhonevarchar(10)NN低無電話sql腳本DROP TABLE IF EXISTS worker1;CREATE TABLE worker1 ( WorkNo varchar(10) NOT NULL DEFAULT , WorkPassword varchar(10) DEFAULT NULL, WorkName varchar(10) DEFAULT NULL, WorkS

24、ex varchar(10) DEFAULT NULL, WorkPhone varchar(10) DEFAULT NULL, PRIMARY KEY (WorkNo)6.1.5表rent:租賃表表名rent數(shù)據(jù)庫用戶Test主鍵RecordNo索引CarNo、CusNo序號字段名稱數(shù)據(jù)類型同意為空Y/N唯一Y/N區(qū)不度默認(rèn)值約束條件/講明1RecordNovarchar(10)NY高無主鍵2CarNovarchar(10)NN高無外鍵3CusNovarchar(10)NN低無外鍵4RecordCostvarchar(10)NN低無總金額5RecordRentDatevarchar(10)N

25、N低無租賃時刻6RecordReturnDatevarchar(10)NN低無歸還時刻sql腳本DROP TABLE IF EXISTS rent;CREATE TABLE rent ( RecordNo varchar(10) NOT NULL, RecordRentDate datetime NOT NULL, RecordReturnDate datetime NOT NULL, CusNo varchar(10) NOT NULL, CarNo varchar(10) NOT NULL, RecordCost varchar(10) DEFAULT NULL, PRIMARY KEY

26、(RecordNo), KEY CusNo (CusNo), KEY CarNo (CarNo), CONSTRAINT CarNo FOREIGN KEY (CarNo) REFERENCES car (CarNo), CONSTRAINT CusNo FOREIGN KEY (CusNo) REFERENCES customer (CusNo)6.1.6表manage:治理表表名Wmanage數(shù)據(jù)庫用戶Test主鍵CarNo、WorkNo索引CarNo序號字段名稱數(shù)據(jù)類型同意為空Y/N唯一Y/N區(qū)不度默認(rèn)值約束條件/講明1WorkNovarchar(10)NY高無主鍵2CarNovarch

27、ar(10)NN高無主鍵sql腳本DROP TABLE IF EXISTS manege;CREATE TABLE manege ( WorkNo varchar(10) NOT NULL DEFAULT , CarNo varchar(10) NOT NULL DEFAULT , PRIMARY KEY (WorkNo,CarNo), KEY CarNo (CarNo), CONSTRAINT manege_ibfk_1 FOREIGN KEY (CarNo) REFERENCES car (CarNo), CONSTRAINT WorkNo FOREIGN KEY (WorkNo) REF

28、ERENCES worker1 (WorkNo)6.2視圖的設(shè)計6.2.1 視圖V1:按車輛的類不統(tǒng)計汽車的租賃金額和數(shù)庫存數(shù)關(guān)鍵代碼:DROP VIEW IF EXISTS v1;CREATE ALGORITHM=UNDEFINED DEFINER=rootlocalhost SQL SECURITY DEFINER VIEW v1 AS select carclass.CarClassNo AS CarClassNo,carclass.CarClassCnt AS CarClassCnt from carclass group by carclass.CarClassNo ;圖3 按類不統(tǒng)

29、計汽車的租賃金額和剩余的庫存6.2.2視圖V2:通過訂單號了解到所租車輛的類不號及類不名關(guān)鍵代碼:DROP VIEW IF EXISTS v2;CREATE ALGORITHM=UNDEFINED DEFINER=rootlocalhost SQL SECURITY DEFINER VIEW v2 AS select rent.RecordNo AS RecordNo,car.CarClassNo AS CarClassNo,carclass.CarClassBrand AS CarClassBrand from (rent join car) join carclass) where (re

30、nt.CarNo = car.CarNo) and (car.CarClassNo = carclass.CarClassNo) group by car.CarClassNo ;圖4 訂單號求所租車輛的類不號及類不名6.2.3 視圖V3: 統(tǒng)計某一年齡時期對汽車類不的喜好,并統(tǒng)計相應(yīng)人數(shù)關(guān)鍵代碼:DROP VIEW IF EXISTS v3;CREATE ALGORITHM=UNDEFINED DEFINER=rootlocalhost SQL SECURITY DEFINER VIEW v3 AS select customer.CusAge AS CusAge,carclass.CarC

31、lassBrand AS CarClassBrand,count(customer.CusAge) AS Count(customer.CusAge) from (carclass join customer) join rent) join car) where (customer.CusNo = rent.CusNo) and (rent.CarNo = car.CarNo) and (car.CarClassNo = carclass.CarClassNo) group by carclass.CarClassBrand ;圖4統(tǒng)計某一年齡時期對汽車類不的喜好及相應(yīng)人數(shù)6.2.3 視圖V

32、4: 查詢所輸入的車牌號的車現(xiàn)在所處 狀態(tài)關(guān)鍵代碼:DROP VIEW IF EXISTS v4;CREATE ALGORITHM=UNDEFINED DEFINER=rootlocalhost SQL SECURITY DEFINER VIEW v4 AS select car.CarState AS CarState,car.CarNo AS CarNo,carclass.CarClassBrand AS CarClassBrand from (car join carclass) where (car.CarClassNo = carclass.CarClassNo) ;圖5 查詢所輸入

33、車牌號的現(xiàn)在狀態(tài)6.3存儲過程 6.3.1存儲過程P1 功能:查詢每輛車的狀態(tài)和庫存數(shù),執(zhí)行存儲過程關(guān)鍵代碼:DROP PROCEDURE IF EXISTS P1;CREATE DEFINER=rootlocalhost PROCEDURE P1()begin select CarNo,CarState,CarClassBrand,CarClassCnt from car,carclasswhere car.CarClassNo=carclass.CarClassNo;end;圖6 執(zhí)行結(jié)果6.3.2存儲過程P2 功能: 查詢所輸入客戶賬號的租賃歷史記錄,執(zhí)行存儲過程關(guān)鍵代碼:參數(shù):CusN

34、o varchar(10)DROP PROCEDURE IF EXISTS P2;CREATE PROCEDURE P2(CusNo varchar(10)Begin select rent.RecordNo,rent.RecordRentDate,rent.RecordReturnDate,rent.RecordCost,car.CarNo,carclass.CarClassBrandfrom rent,car,carclass where CusNo=CusNo and rent.CarNo=car.CarNo and car.CarClassNo=carclass.CarClassNo;

35、 end圖7 輸入客戶賬號執(zhí)行結(jié)果6.3.3存儲過程P3 功能: 查詢所輸入車牌號的被租賃歷史記錄,執(zhí)行存儲過程關(guān)鍵代碼:參數(shù)CarNo varchar(10)DROP PROCEDURE IF EXISTS P3;CREATE PROCEDURE P3(IN CarNo varchar(10)beginselect RecordNo,RecordRentDate,RecordReturnDate,RecordCost,CusNofrom rent where CarNo=newCarNo; end圖8 輸入車牌號執(zhí)行結(jié)果 6.3.4存儲過程P4 功能:通過輸入訂單號查詢訂單信息,執(zhí)行存儲過程

36、。關(guān)鍵代碼:參數(shù)newRecordNo varchar(10)DROP PROCEDURE IF EXISTS P5;beginselect RecordRentDate,RecordReturnDate,CusNo,CarNo,RecordCostfrom rentwhere RecordNo=newRecordNo;end圖9 執(zhí)行結(jié)果6.4觸發(fā)器6.4.1觸發(fā)器T1 功能:當(dāng)租賃公司新購入一輛汽車時,輸入新的車牌號及信息,此車輛所對應(yīng)車輛類不的庫存數(shù)自動增加,購入多輛時增加相應(yīng)數(shù)量的庫存。關(guān)鍵代碼:DROP TRIGGER IF EXISTS T1;CREATE TRIGGER T1 A

37、FTER INSERT ON car FOR EACH ROW begindeclare c int;set c=(select CarClassCnt from carclass where CarClassNo=new.CarClassNo); update carclass set CarClassCnt=c+1 where CarClassNo=new.CarClassNo;end ;DELIMITER ; 圖10 新增一輛車庫存數(shù)加一6.4.2觸發(fā)器T2 功能:當(dāng)租賃公司報廢一輛汽車時,刪除車牌號及信息,此車輛所對應(yīng)車輛類不的庫存數(shù)自動減少,刪除多輛時減少相應(yīng)數(shù)量的庫存。關(guān)鍵代碼:

38、DROP TRIGGER IF EXISTS T2;CREATE TRIGGER T2 AFTER DELETE ON car FOR EACH ROW begindeclare c int;set c=( select CarClassCnt from carclass where CarClassNo=old.CarClassNo); update carclass set CarClassCnt=c-1 where CarClassNo=old.CarClassNo; end圖11 刪除一個車輛記錄,庫存數(shù)自動減一6.4.3觸發(fā)器T3 功能:當(dāng)產(chǎn)生一個新的訂單時,訂單中所預(yù)訂車輛所對應(yīng)車

39、輛類不的庫存數(shù)自動減少,產(chǎn)生多個訂單號時也減少相應(yīng)數(shù)量的庫存。關(guān)鍵代碼:DROP TRIGGER IF EXISTS T3;DELIMITER ;CREATE TRIGGER T3 AFTER INSERT ON rent FOR EACH ROW update carclassset CarClassCnt=CarClassCnt-1where CarClassNo in(select CarClassNo from carwhere CarNo in (select CarNofrom rent where CarNo =new.CarNo);DELIMITER ;圖11 增加訂單對應(yīng)類不

40、庫存數(shù)減少6.4.4觸發(fā)器T4 功能:當(dāng)產(chǎn)取消一個訂單時,訂單中所預(yù)訂車輛所對應(yīng)車輛類不的庫存數(shù)自動增加,取消多個訂單號時也增加相應(yīng)數(shù)量的庫存。關(guān)鍵代碼:DROP TRIGGER IF EXISTS T4;DELIMITER ;CREATE TRIGGER T4 AFTER INSERT ON rent FOR EACH ROW update carclassset CarClassCnt=CarClassCnt+1where CarClassNo in(select CarClassNo from car where CarNo in (select CarNofrom rent where

41、 CarNo =old.CarNo);DELIMITER ;圖12 取消一個訂單對應(yīng)類不庫存數(shù)增加6.4.5觸發(fā)器T5 功能:當(dāng)產(chǎn)生一個新的訂單時,訂單中所預(yù)訂車輛的租賃狀態(tài)由空閑狀態(tài)(00)變?yōu)轭A(yù)訂狀態(tài)(01)。關(guān)鍵代碼:DELIMITER ;DROP TRIGGER IF EXISTS T5;DELIMITER ;CREATE TRIGGER T5 AFTER UPDATE ON rent FOR EACH ROW update carset CarState=CarState+1where CarNo in(select CarNofrom rent where CarNo =new.C

42、arNo);DELIMITER ;圖13 新增訂單對應(yīng)車輛的租賃狀態(tài)改變6.5 Java模塊設(shè)計6.5.1 連接數(shù)據(jù)庫圖14 連接car表執(zhí)行結(jié)果6.5.2 Java界面設(shè)計圖15 主界面 圖16 治理員登錄界面圖17 治理員登錄成功界面圖18 客戶登錄界面圖19 客戶登錄成功界面安全性設(shè)計或少數(shù)高級治理人員登錄。MYSQL7.1防止用戶直接操作數(shù)據(jù)庫7.3角色與權(quán)限角色能夠訪問的表與列操作權(quán)z限例如:治理員可訪問所有表完全操縱權(quán)限可訪問所有表完全操縱權(quán)限可訪問所有表完全操縱權(quán)限角色B只可訪問Car表完全操縱權(quán)限只可訪問Carclass表完全操縱權(quán)限只可訪問Rent表完全操縱權(quán)限八、數(shù)據(jù)庫治理

43、與維護(hù)講明(一)完善治理制度,強(qiáng)化監(jiān)管力度。數(shù)據(jù)庫系統(tǒng)的安全與企業(yè)自身內(nèi)部的安全機(jī)制、內(nèi)外網(wǎng)絡(luò)環(huán)境、從業(yè)人員素養(yǎng)等緊密相關(guān)。因此,企業(yè)應(yīng)該完善網(wǎng)絡(luò)系統(tǒng)安全規(guī)章制度,防范因制度缺陷帶來的風(fēng)險;企業(yè)應(yīng)該規(guī)范操作流程和故障處理流程,減少人為失誤與故障,提高故障處理速度,縮短故障處理時刻;企業(yè)應(yīng)該通過建立科學(xué)合理的責(zé)任追究機(jī)制,防止出現(xiàn)由于工作態(tài)度、工作作風(fēng)等各種人為因素導(dǎo)致的數(shù)據(jù)庫安全事故。(二)采取措施,確保數(shù)據(jù)庫數(shù)據(jù)的安全。保證數(shù)據(jù)庫數(shù)據(jù)的安全是數(shù)據(jù)庫日常治理與維護(hù)工作的首要任務(wù),企業(yè)需要采取的安全措施要緊有:確保網(wǎng)絡(luò)及操作系統(tǒng)安全。網(wǎng)絡(luò)系統(tǒng)是數(shù)據(jù)庫應(yīng)用的外部環(huán)境和基礎(chǔ),網(wǎng)絡(luò)系統(tǒng)安全是數(shù)據(jù)庫安全

44、的第一道屏障。從技術(shù)角度講,網(wǎng)絡(luò)系統(tǒng)層次的安全防范技術(shù)有專門多種,大致能夠分為防火墻、數(shù)字簽名與認(rèn)證、入侵檢測等。操作系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的運(yùn)行平臺,能夠?yàn)閿?shù)據(jù)庫系統(tǒng)提供一定程度的安全愛護(hù)。操作系統(tǒng)的安全操縱方法要緊是采納隔離操縱、訪問操縱、信息加密和審計跟蹤。要緊安全技術(shù)有操作系統(tǒng)安全策略、安全治理策略等。加強(qiáng)用戶身份驗(yàn)證。用戶身份驗(yàn)證是數(shù)據(jù)庫系統(tǒng)的重要防線。利用窗體身份驗(yàn)證數(shù)據(jù)庫程序的漏洞,進(jìn)而獵取存儲在數(shù)據(jù)庫中的用戶身份驗(yàn)證密碼,這是目前對網(wǎng)絡(luò)數(shù)據(jù)庫攻擊最常見的方式。對此,企業(yè)信息部門通常使用帶有salt值的單向密碼哈希值,以幸免用戶密碼在數(shù)據(jù)庫中以明文形式存儲,減輕字典攻擊帶來的威脅。對重

45、要數(shù)據(jù)加密。數(shù)據(jù)加密交換又稱密碼學(xué),是計算機(jī)系統(tǒng)對信息進(jìn)行愛護(hù)的一種最可靠的方法。它利用密碼技術(shù)對信息進(jìn)行交換,實(shí)現(xiàn)信息隱蔽,從而有效愛護(hù)信息的安全不受侵犯。數(shù)據(jù)庫加密要求加解密的粒度是每個記錄的字段數(shù)據(jù)。采納庫外口加密的方式,對密鑰的治理較為簡單,只需借用文件加密的密鑰治理方法,將加密后的數(shù)據(jù)塊納入數(shù)據(jù)庫,在算法或數(shù)據(jù)庫系統(tǒng)中做些必要的改動就行。如此有利于公共數(shù)據(jù)字典的使用和維護(hù)系統(tǒng)的完整性。 做好數(shù)據(jù)庫備份與恢復(fù)。數(shù)據(jù)備份是備份數(shù)據(jù)庫某個時刻的數(shù)據(jù)狀態(tài),當(dāng)系統(tǒng)出現(xiàn)意外時用來恢復(fù)系統(tǒng)。依靠網(wǎng)絡(luò)辦公的企業(yè),其信息系統(tǒng)專門可能隨時被破壞而丟失數(shù)據(jù)。因此,數(shù)據(jù)庫治理系統(tǒng)必須具備把數(shù)據(jù)庫從錯誤狀態(tài)恢

46、復(fù)到某一已知的正確狀態(tài)的功能,這確實(shí)是數(shù)據(jù)庫的恢復(fù)技術(shù)。 (三)開展數(shù)據(jù)庫健康檢查。為及時發(fā)覺數(shù)據(jù)庫系統(tǒng)存在的問題,在日常治理與維護(hù)中,數(shù)據(jù)治理員要對數(shù)據(jù)庫開展健康檢查。當(dāng)前,煙草行業(yè)內(nèi)大部分企業(yè)使用的數(shù)據(jù)庫是IBM DB2,對該數(shù)據(jù)庫進(jìn)行檢查時,檢查內(nèi)容要緊包括以下七個方面: 1、系統(tǒng)環(huán)境:操作系統(tǒng)版本、文件系統(tǒng)容量、內(nèi)存交換區(qū)使用率、系統(tǒng)性能。 2、數(shù)據(jù)庫環(huán)境:數(shù)據(jù)庫和補(bǔ)丁版本、是否有僵尸數(shù)據(jù)庫進(jìn)程、數(shù)據(jù)庫節(jié)點(diǎn)數(shù)、是否有其他數(shù)據(jù)庫產(chǎn)品及版本。3、日志記錄:db2diag.log報錯、db2inst1.nfy報錯、是否有需要處理的DUM4、數(shù)據(jù)庫健康狀況:表空間利用率和狀態(tài)、表空間容器利用率

47、和狀態(tài)、排序溢出、是否需要收集統(tǒng)計信息、是否需要數(shù)據(jù)重組、活動日志和日志所在文件系統(tǒng)利用率、死鎖發(fā)生率、鎖升級發(fā)生率、鎖等待的百分比、編目Cache命中率、包Cache命中率、監(jiān)視堆利用率、數(shù)據(jù)庫堆利用率、數(shù)據(jù)庫緩沖池命中率。 5、數(shù)據(jù)庫維護(hù)內(nèi)容:最近一次統(tǒng)計信息收集時刻、最近一次表數(shù)據(jù)重組時刻、最近一次綁定包時刻、最近一次數(shù)據(jù)庫備份時刻。 6、權(quán)限治理:public組的權(quán)限是否取消。7、數(shù)據(jù)庫差不多信息記錄:數(shù)據(jù)庫內(nèi)存使用、環(huán)境變量。數(shù)據(jù)庫治理的意義重大,關(guān)系到企業(yè)信息系統(tǒng)的正常運(yùn)作,仍至整個企業(yè)的生死存亡。要做好數(shù)據(jù)庫的日常治理與維護(hù),不僅要求數(shù)據(jù)庫治理員熟練掌握專業(yè)技術(shù),還要有足夠的細(xì)心

48、和高度的責(zé)任心。8.1課程設(shè)計總結(jié):本次課程設(shè)計不僅僅是對所學(xué)知識的總結(jié),依舊一種學(xué)習(xí)思想的升華。正所謂實(shí)踐出真知,然而,當(dāng)我沿著步驟一步步進(jìn)行下去的時候,才意識到自己知識的淺薄和視野的狹窄。通過這段時刻的學(xué)習(xí),讓我及組員深切體會到了一個完整的治理系統(tǒng)編寫的復(fù)雜程度和困難程度,對軟件開發(fā)的流程也有了一個更清晰的了解,從一開始的可行性分析,系統(tǒng)需求分析,再到數(shù)據(jù)庫設(shè)計,功能模塊的設(shè)計和界面的設(shè)計,到最后的系統(tǒng)運(yùn)行與測試。那個過程中,每一個步驟都專門重要,缺一不可。因此,由于自身技術(shù)能力不足,缺乏實(shí)際開發(fā)經(jīng)驗(yàn),再加上時刻有限,本系統(tǒng)還有許多有待完善的部分。希望我能今后通過不斷地學(xué)習(xí)和實(shí)踐來提升自己

49、的各方面能力,學(xué)會讓所學(xué)理論知識與實(shí)際操作的融會貫穿,為以后工作及生活中的系統(tǒng)軟件設(shè)計打下良好的基礎(chǔ)。九、附錄 源代碼9.1 數(shù)據(jù)庫源代碼/*Navicat MySQL Data TransferSource Server : localhostSource Server Version : 50523Source Host : localhost:3306Source Database : testTarget Server Type : MYSQLTarget Server Version : 50523File Encoding : 65001Date: 2016-05-27 23:32

50、:49*/SET FOREIGN_KEY_CHECKS=0;- Table structure for car- DROP TABLE IF EXISTS car;CREATE TABLE car ( CarNo varchar(10) NOT NULL DEFAULT , CarColor varchar(10) DEFAULT NULL, CarDate date DEFAULT NULL, CarClassNo varchar(10) DEFAULT NULL, CarState bit(2) DEFAULT NULL, PRIMARY KEY (CarNo), KEY CarClass

51、No (CarClassNo), CONSTRAINT CarClassNo FOREIGN KEY (CarClassNo) REFERENCES carclass (CarClassNo) ENGINE=InnoDB DEFAULT CHARSET=utf8;- Records of car- INSERT INTO car VALUES (湘L123SB, 白色, 2016-05-05, 002, );INSERT INTO car VALUES (湘L124SB, 紅色, 2016-05-20, 003, );INSERT INTO car VALUES (湘L125SB, 灰色, 2

52、016-05-06, 004, );INSERT INTO car VALUES (湘L126SB, 銀色, 2016-05-13, 001, );INSERT INTO car VALUES (湘L138SB, 玫瑰紅, 2015-01-01, 001, );INSERT INTO car VALUES (湘L250SB, 熒光綠, 2014-12-25, 003, );INSERT INTO car VALUES (湘L520SB, 寶藍(lán)色, 2015-01-11, 002, );INSERT INTO car VALUES (湘L546SB, 綠, 2016-05-01, 001, );

53、INSERT INTO car VALUES (湘L565SB, 白, 2016-05-05, 004, );- Table structure for carclass- DROP TABLE IF EXISTS carclass;CREATE TABLE carclass ( CarClassNo varchar(10) NOT NULL, CarClassCnt varchar(10) NOT NULL, CarClassDayPrice1 varchar(10) NOT NULL, CarClassDayPrice2 varchar(10) NOT NULL, CarClassMont

54、hPrice varchar(10) NOT NULL, CarClassBrand varchar(10) DEFAULT NULL, CarClassseat varchar(10) DEFAULT NULL, PRIMARY KEY (CarClassNo) ENGINE=InnoDB DEFAULT CHARSET=utf8;- Records of carclass- INSERT INTO carclass VALUES (001, 1998, 100000, 200000, 6000000, 幻影X5, 2);INSERT INTO carclass VALUES (002, 0

55、1, 150000, 250000, 5000000, 寶馬R8, 2);INSERT INTO carclass VALUES (003, 01, 200000, 300000, 6500000, 蘭博基尼, 2);INSERT INTO carclass VALUES (004, 01, 90000, 230000, 4500000, 瑪莎拉蒂, 4);- Table structure for customer- DROP TABLE IF EXISTS customer;CREATE TABLE customer ( CusNo varchar(10) NOT NULL, CusNam

56、e varchar(10) NOT NULL, CusSex varchar(2) NOT NULL, CusAge varchar(4) NOT NULL, CusPhone varchar(20) NOT NULL, CusCompany varchar(20) NOT NULL, CusPassword varchar(10) NOT NULL, PRIMARY KEY (CusNo) ENGINE=InnoDB DEFAULT CHARSET=utf8;- Records of customer- INSERT INTO customer VALUES (431023001, 文兄,

57、女, 20, 183245, 長沙學(xué)院集團(tuán), 111111);INSERT INTO customer VALUES (431023002, 徐福記, 男, 40, 183255, 長沙學(xué)院集團(tuán), 222222);INSERT INTO customer VALUES (431023003, 王老吉, 男, 60, 183265, 長沙學(xué)院集團(tuán), 333333);INSERT INTO customer VALUES (431023004, 劉明, 女, 20, 183653, 騰訊, 444444);INSERT INTO customer VALUES (431023005, 張益達(dá), 男

58、, 24, 183544, 阿里巴巴, 555555);INSERT INTO customer VALUES (431023006, 黃飛鴻, 女, 30, 183666, 百度公司, 666666);INSERT INTO customer VALUES (431023007, 張小賤, 男, 45, 183123, 紅杉集團(tuán), 777777);INSERT INTO customer VALUES (431023008, 王振, 男, 52, 183125, 方正公司, 888888);INSERT INTO customer VALUES (431023009, 王哲, 女, 62,

59、182153, 阿里巴巴, 999999);INSERT INTO customer VALUES (431023010, 何麗華, 女, 25, 183425, 騰訊, 101010);- Table structure for manege- DROP TABLE IF EXISTS manege;CREATE TABLE manege ( WorkNo varchar(10) NOT NULL DEFAULT , CarNo varchar(10) NOT NULL DEFAULT , PRIMARY KEY (WorkNo,CarNo), KEY CarNo (CarNo), CONS

60、TRAINT manege_ibfk_1 FOREIGN KEY (CarNo) REFERENCES car (CarNo), CONSTRAINT WorkNo FOREIGN KEY (WorkNo) REFERENCES worker1 (WorkNo) ENGINE=InnoDB DEFAULT CHARSET=utf8;- Records of manege- INSERT INTO manege VALUES (101, 湘L138SB);INSERT INTO manege VALUES (103, 湘L250SB);INSERT INTO manege VALUES (102

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論