版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、長沙學(xué)院課程設(shè)計(jì)說明書題目ATM系統(tǒng)系(部)數(shù)學(xué)與計(jì)算機(jī)科學(xué)系專業(yè)(【班級(jí))姓名學(xué)號(hào)指導(dǎo)教師楊剛、劉剛欽起止日期2016.05.272016.06.03課程設(shè)計(jì)任務(wù)書課程名稱:軟件工程基礎(chǔ)實(shí)訓(xùn)皿設(shè)計(jì)題目:ATM系統(tǒng)已知技術(shù)參數(shù)和設(shè)計(jì)要求:1實(shí)訓(xùn)目的要求通過本實(shí)訓(xùn),應(yīng)能夠?qū)QLServer2008工具的了解,與數(shù)據(jù)庫語法的能力。1)了解SQL的簡史和功能特性。2)掌握E-R圖的繪制和數(shù)據(jù)庫的設(shè)計(jì)。3)掌握T-SQL的語法知識(shí),并能夠熟練運(yùn)用它。4)掌握事務(wù)與存儲(chǔ)過程的使用。2問題描述(功能要求):本次案例將完成一個(gè)ATM銀行取款機(jī)系統(tǒng)的數(shù)據(jù)庫。(1)創(chuàng)建BankDB數(shù)據(jù)庫。并保存在D:ATM文
2、件夾下。(2)創(chuàng)建用戶信息表(userinfo)(3)創(chuàng)建銀行卡信息表(cardinfo)(4)創(chuàng)建交易信息表(transinfo)(5)添加各種約束關(guān)系:為userinfo表中客戶ID(customerlD)添加主鍵約束。為userinfo表中客戶的身份證(PID)添加唯一約束為useinfo表中的身份證號(hào)碼添加檢查約束,長度為15或者18為userinfo表中的客戶電話號(hào)碼添加檢查約束。為cardinfo表中的卡號(hào)ID(cardID)添加主鍵約束為cardinfo表中的卡號(hào)ID(cardID)添加約束,必須是以10103576開頭,長度為12為cardinfo表中的貨幣類型(curType
3、)添加默認(rèn)約束,默認(rèn)為RMB。為cardinfo表中的存款類型添加約束,只能是活期、定活兩便和定期。cardinfo表中開卡日期默認(rèn)為當(dāng)天日期。cardinfo表中的開戶金額不能低于1元。cardinfo表中的余額不能低于1元。cardinfo表中的密碼長度為6位數(shù)。默認(rèn)為88888。cardinfo表中是否掛失只能是是和否。默認(rèn)為否添加userinfo表與cardinfo表的外鍵約束。transinfo表中的交易日期默認(rèn)為當(dāng)天。交易類型只能是存入和支取。添加cardinfo表與transinfo表的外鍵約束。(6)開戶(7)取錢(8)存錢(9)查詢余額(10)轉(zhuǎn)賬(11)交易統(tǒng)計(jì)3.運(yùn)行環(huán)境
4、要求:(1)客戶端:windows操作系統(tǒng),SQLServer2008數(shù)據(jù)庫客戶端(2)服務(wù)器:SQLServer2008數(shù)據(jù)庫服務(wù)器、3.技術(shù)要求:1)掌握E-R圖的繪制和數(shù)據(jù)庫的設(shè)計(jì)。2)掌握T-SQL的語法知識(shí),并能夠熟練運(yùn)用它。3)掌握事務(wù)與存儲(chǔ)過程的使用。4)觸發(fā)器(選做)設(shè)計(jì)工作量:20課時(shí)工作計(jì)劃:(1)2013級(jí)軟件工程所有班級(jí)8課時(shí):設(shè)計(jì),數(shù)計(jì)系機(jī)房/普通教室。8課時(shí):上機(jī)、調(diào)試。數(shù)計(jì)系機(jī)房4課時(shí):答辯。數(shù)計(jì)系機(jī)房。(具體時(shí)間地點(diǎn)老師先申請(qǐng),機(jī)動(dòng)安排)指導(dǎo)教師簽名:日期:教研室主任簽名:日期:系主任簽名:日期:長沙學(xué)院課程設(shè)計(jì)鑒定表姓名學(xué)號(hào)專業(yè)軟件工程班級(jí)5設(shè)計(jì)題目ATM系統(tǒng)
5、指導(dǎo)教師楊剛、劉鋼欽指導(dǎo)教師意見:評(píng)定等級(jí):教師簽名:日期:答辯小組意見:評(píng)定等級(jí):答辯小組長簽名:日期:教研室意見:教研室主任簽名:日期:系(部)意見:系主任簽名:日期:說明課程設(shè)計(jì)成績分“優(yōu)秀”、“良好”、“及格”、“不及格”四類;目錄TOC o 1-5 h z HYPERLINK l bookmark26 o Current Document 一、引言7編寫目的7參考資料7 HYPERLINK l bookmark28 o Current Document 二、需求規(guī)約8業(yè)務(wù)描述82.1.1經(jīng)濟(jì)可行性82.1.2技術(shù)可行性82.1.3操作可行性8需求分析9 HYPERLINK l boo
6、kmark30 o Current Document 2.2.1功能需求9 HYPERLINK l bookmark32 o Current Document 2.2.2數(shù)據(jù)需求102.2.3性能需求10 HYPERLINK l bookmark34 o Current Document 三、數(shù)據(jù)庫環(huán)境說明11 HYPERLINK l bookmark36 o Current Document 四、數(shù)據(jù)庫的命名規(guī)則11 HYPERLINK l bookmark38 o Current Document 數(shù)據(jù)庫對(duì)象命名規(guī)則11 HYPERLINK l bookmark40 o Current D
7、ocument 4.2數(shù)據(jù)項(xiàng)編碼規(guī)則11 HYPERLINK l bookmark42 o Current Document 五、邏輯設(shè)計(jì)12 HYPERLINK l bookmark44 o Current Document 六、物理設(shè)計(jì)14 HYPERLINK l bookmark46 o Current Document 表匯總14 HYPERLINK l bookmark48 o Current Document 表的基本信息14 HYPERLINK l bookmark50 o Current Document 視圖的設(shè)計(jì)16 HYPERLINK l bookmark52 o Cur
8、rent Document 6.4存儲(chǔ)過程、函數(shù)及觸發(fā)器的設(shè)計(jì)16 HYPERLINK l bookmark72 o Current Document 七、安全性設(shè)計(jì)28 HYPERLINK l bookmark74 o Current Document 防止用戶直接操作數(shù)據(jù)庫的方法28 HYPERLINK l bookmark76 o Current Document 用戶帳號(hào)密碼的加密方法28 HYPERLINK l bookmark78 o Current Document 角色與權(quán)限28 HYPERLINK l bookmark80 o Current Document 八、數(shù)據(jù)庫管理
9、與維護(hù)說明29、引言1.1編寫目的通過數(shù)據(jù)庫ATM實(shí)訓(xùn)進(jìn)一步掌握數(shù)據(jù)庫系統(tǒng)的理論和方法。培養(yǎng)和鍛煉開發(fā)管理信息系統(tǒng)的能力。為今后信息系統(tǒng)開發(fā)打下良好的基礎(chǔ)。本文檔是ATM系統(tǒng)設(shè)計(jì)文檔的組成部分?jǐn)?shù)據(jù)庫是一門應(yīng)用性很強(qiáng)的專業(yè)課在學(xué)習(xí)時(shí)必須注意理論與實(shí)踐相結(jié)合。本次課程環(huán)節(jié)旨在培養(yǎng)學(xué)生在本課程范圍內(nèi)初步掌握解決實(shí)際應(yīng)用問題時(shí)所應(yīng)具備的查閱資料、綜合運(yùn)用所學(xué)知識(shí)的能力為畢業(yè)設(shè)計(jì)及今后從事專業(yè)工作打下基礎(chǔ)。本課程環(huán)節(jié)要求學(xué)生了解企業(yè)管理信息系統(tǒng)后臺(tái)數(shù)據(jù)庫的設(shè)計(jì)、配置過程掌握管理信息系統(tǒng)的開發(fā)方法。主要包括需求分析、數(shù)據(jù)分析、系統(tǒng)邏輯模型設(shè)計(jì)方法功能設(shè)計(jì)、物理模型設(shè)計(jì)方法系統(tǒng)的實(shí)現(xiàn)等方法。完成一個(gè)小型系統(tǒng)
10、后臺(tái)數(shù)據(jù)庫的設(shè)計(jì)與配置。目的是明確數(shù)據(jù)庫的表名、字段名等數(shù)據(jù)信息用來指導(dǎo)后期的數(shù)據(jù)庫腳本的開發(fā)設(shè)計(jì)該數(shù)據(jù)庫的目的是設(shè)計(jì)一個(gè)ATM系統(tǒng)能夠按照一定條件查詢、統(tǒng)計(jì)交易信息可以模擬完成開戶、存款、取款、轉(zhuǎn)賬、注銷、掛失、激活、修改密碼、查詢等業(yè)務(wù)。1.2參考資料資料名稱作者文件編號(hào)、版本數(shù)據(jù)庫系統(tǒng)概論王珊、薩師煊2006年5月第4版現(xiàn)代軟件工程孫涌2003年8月第1-246版精通SQLserver2000數(shù)據(jù)庫管理與開發(fā)于松濤2003年10月二、需求規(guī)約2.1業(yè)務(wù)描述隨著科技的發(fā)展,人們生活水平的不斷提高,高性能高效率的產(chǎn)品越來越受到人們的歡迎。ATM自動(dòng)取款機(jī)是一種非常智能的機(jī)器,人們可以直接與它
11、交互,代替以前的手工操作,大大提高了銀行的工作效率。針對(duì)銀行業(yè)務(wù)種類繁多、客戶需求量大等現(xiàn)象,為了減少銀行人員的工作任務(wù),方便客戶,使用戶自己就可以在ATM機(jī)上存款、取款、查詢余額、轉(zhuǎn)賬、修改密碼、打印憑條、退卡等基礎(chǔ)功能。在這樣的需求下我們模擬開發(fā)了ATM自動(dòng)取款機(jī)系統(tǒng)。經(jīng)濟(jì)可行性本系統(tǒng)其他應(yīng)用軟件、硬件系統(tǒng)也易于獲得.因此,開發(fā)成本較低。而引進(jìn)使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點(diǎn),可以節(jié)省不少人力、物力及財(cái)力。所以,從經(jīng)濟(jì)的角度來看,該系統(tǒng)可行。技術(shù)可行性開發(fā)工具:VS2005數(shù)據(jù)庫環(huán)境:SQLServer2008系統(tǒng)環(huán)境:MicrosoftWindows2000
12、或以上版本。系統(tǒng)實(shí)現(xiàn)依靠相對(duì)熟悉的c語言和SQLServer2008數(shù)據(jù)庫系統(tǒng),其基本操作實(shí)質(zhì)還是對(duì)數(shù)據(jù)庫進(jìn)行添加、刪除、查找等操作。操作可行性系統(tǒng)采用菜單式,實(shí)現(xiàn)用戶與數(shù)據(jù)庫的交互,界面簡潔友好,操作方便。2.2需求分析需求分析是軟件設(shè)計(jì)的一個(gè)重要的環(huán)節(jié)。本階段對(duì)訂票系統(tǒng)的應(yīng)用情況作全面調(diào)查,以確定系統(tǒng)目標(biāo),并對(duì)系統(tǒng)所需要的基礎(chǔ)數(shù)據(jù)以及數(shù)據(jù)處理要求進(jìn)行分析,從而確定用戶的需求。用戶對(duì)系統(tǒng)的需求我們從以下幾方面進(jìn)行分析。2.2.1功能需求ATM是最普遍的自助銀行設(shè)備,可以提供最基本的銀行服務(wù)之一,即出鈔交易,有些全功能的產(chǎn)品還可以提供信封存款業(yè)務(wù)。在ATM自動(dòng)取款機(jī)上也可以進(jìn)行賬戶查詢、修改密
13、碼和轉(zhuǎn)賬的業(yè)務(wù)。作為自助式金融服務(wù)終端,除了提供金融業(yè)務(wù)功能之外,ATM自動(dòng)取款機(jī)還具有維護(hù)、測(cè)試、事件報(bào)告、監(jiān)控和管理等多種功能。ATM自動(dòng)取款機(jī)系統(tǒng),是一個(gè)有終端機(jī),ATM系統(tǒng),數(shù)據(jù)庫組成的應(yīng)用系統(tǒng)。系統(tǒng)功能有用戶在ATM上提取現(xiàn)金、查詢賬戶余額、修改密碼及轉(zhuǎn)賬功能。ATM自動(dòng)取款機(jī)系統(tǒng)向用戶提供一個(gè)方便、簡單、及時(shí)、隨時(shí)隨地可以隨心所欲存取款的互聯(lián)的現(xiàn)代計(jì)算機(jī)化的網(wǎng)絡(luò)系統(tǒng)。可以大大減少工作人員,節(jié)約人力資源的開銷,同時(shí)由于手續(xù)程序減少也可以減輕業(yè)務(wù)員的工作負(fù)擔(dān),有效地提高了整體的工作效率和精確度。減少了用戶辦理業(yè)務(wù)的等待時(shí)間;用戶可以隨時(shí)隨地可以隨心所欲存取款,并且操作簡單易懂;用戶還可
14、以選擇在柜臺(tái)辦理業(yè)務(wù)或自己在自動(dòng)提款機(jī)和自動(dòng)取款機(jī)辦理業(yè)務(wù)。在銀行卡信息管理部分,要求:2a.可以查詢銀行卡擁有者的相應(yīng)信息。b.可以對(duì)銀行卡擁有者信息進(jìn)行添加及刪除的操作。在用戶信息管理部分,要求:可以查詢開戶信息??梢詫?duì)賬戶信息進(jìn)行維護(hù),包括添加及刪除的操作。在賬戶交易信息管理部分,要求:。可以瀏覽賬戶交易基本信息。可以對(duì)賬戶信息進(jìn)行維護(hù)操作。在用戶視圖信息管理部分,要求:可以瀏覽用戶視圖信息??梢跃S護(hù)用戶視圖相關(guān)信息。2.2.2數(shù)據(jù)需求信息需求,即在系統(tǒng)中需要處理哪些數(shù)據(jù)。根據(jù)對(duì)ATM系統(tǒng)的分析,本系統(tǒng)的信息需求如表2-1所示。表2-1信息輸入輸出信息輸入信息處理信息輸出輸入個(gè)人信息及開
15、戶銀行卡信息更新系統(tǒng)中的銀仃卡信息,將新信息存入系統(tǒng)數(shù)據(jù)庫操作反饋(如開戶成功)輸入用戶號(hào)、卡號(hào)檢索系統(tǒng)數(shù)據(jù)庫符合用戶需求的銀仃卡信息輸入客戶的名字檢索系統(tǒng)數(shù)據(jù)庫以得到訂票記錄,刪除用戶請(qǐng)求的訂票記錄,更新系統(tǒng)數(shù)據(jù)庫操作反饋(如注銷成功等)輸入個(gè)人信息、開戶銀仃卡信息及充值的金額更新系統(tǒng)中的銀仃卡信息,將新信息存入系統(tǒng)數(shù)據(jù)庫操作反饋(如存款成功)輸入個(gè)人信息、開戶銀仃卡信息及支取的金額更新系統(tǒng)中的銀仃卡信息,將新信息存入系統(tǒng)數(shù)據(jù)庫操作反饋(如取款成功)輸入2個(gè)人信息、2張銀仃卡信息及轉(zhuǎn)賬的金額更新系統(tǒng)中的銀仃卡信息,將新信息存入系統(tǒng)數(shù)據(jù)庫操作反饋(如轉(zhuǎn)賬成功)性能需求為了保證系統(tǒng)能夠長期、安全
16、、穩(wěn)定、可靠、高效的運(yùn)行,本系統(tǒng)應(yīng)該滿足以下的性能需求。1.準(zhǔn)確性和及時(shí)性系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。系統(tǒng)應(yīng)能及時(shí)而且準(zhǔn)確的根據(jù)用戶權(quán)限及所輸入的信息做出響應(yīng)。由于本系統(tǒng)的查詢功能對(duì)于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來源,而車票的數(shù)量和時(shí)間又影響用戶的決策活動(dòng),其準(zhǔn)確性和及時(shí)性很大程度上決定了系統(tǒng)的成敗。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性和及時(shí)性。2.易用性本系統(tǒng)是直接面對(duì)用戶的,而用戶往往對(duì)計(jì)算機(jī)并不是非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面,從而保
17、證系統(tǒng)的易用性。三、數(shù)據(jù)庫環(huán)境說明數(shù)據(jù)庫實(shí)例數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫部署環(huán)境數(shù)據(jù)庫設(shè)計(jì)工具數(shù)據(jù)庫存放位置說明ATM管理系統(tǒng)SQLServer2008Window7SQLServer存放位置,絕對(duì)路徑/相對(duì)路徑D:/Program完整的存款取款轉(zhuǎn)賬流程數(shù)據(jù)庫的命名規(guī)則數(shù)據(jù)庫對(duì)象命名規(guī)則數(shù)據(jù)庫對(duì)象命名規(guī)則備注表Tbl功能描述字符串例如:Cardinfo銀仃卡信息表視圖View功能描述字符串例如:銀仃卡信息總表視圖存儲(chǔ)過程Procedure.功能描述字符串例如:CreateID存儲(chǔ)過程觸發(fā)器Insert功能描述字符串例如:Deere注銷銀仃卡4.2數(shù)據(jù)項(xiàng)編碼規(guī)則數(shù)據(jù)項(xiàng)命名規(guī)則數(shù)據(jù)類型長度范圍備注CardID
18、10103576XXXXchar14位銀仃卡號(hào)CurType默認(rèn)為RMBChar5位貨幣類型SavingType活期,定期,定活兩期char15位存款類型OpenDate年-月-日-時(shí)-分-秒varchar20位開戶時(shí)間OpenMoney數(shù)字varchar10位開戶金額Balance數(shù)字varchar10位余額Pass數(shù)字varchar6位密碼IsReportLoss是,否varchar8位掛失狀態(tài)五、邏輯設(shè)計(jì)1)關(guān)系模式:用戶信息(顧客號(hào),開戶名,身份證號(hào),地址,聯(lián)系電話)交易信息(交易編碼,交易日期,卡號(hào),交易類型,交易金額)銀行卡信息(卡號(hào),貨幣類型,開戶日期,開戶金額,密碼,是否掛失,
19、存儲(chǔ)類型)2)關(guān)系圖:身份證號(hào)包進(jìn)號(hào)號(hào)顧客號(hào)開戶名開戶金額密碼是否掛失存儲(chǔ)類型用戶信息聯(lián)系電話開戶日期交易類型備注交易金額地址交易編號(hào)交易日期貨幣類型銀行卡信息交易信息圖5.1系統(tǒng)總體結(jié)構(gòu)E-R圖141-2&ATMbark-_Diagran.O*te.sql-1401-2&,A,.,dmini5trator52)CardinfoCardIDCurTypeSavingTypeOpenDatepenMoneyBalancePassIsReportLassCustom已IDUserinfoCuEtDmerlDCustomerNamePIDTelephoneU_AddressTransInfoTran
20、sIDTransDateCardIDTransTypeTransMoneyRemark圖5.2邏輯關(guān)系圖六、物理設(shè)計(jì)6.1表匯總表名功能說明用戶實(shí)體信息表存儲(chǔ)客戶的相關(guān)信息及其數(shù)據(jù)類型以及相關(guān)的約束銀行卡信息表存儲(chǔ)銀行卡的相關(guān)信息及其數(shù)據(jù)類型以及相關(guān)的約束交易信息表存儲(chǔ)交易的相關(guān)信息及其數(shù)據(jù)類型以及相關(guān)的約束6.2表的基本信息用戶實(shí)體信息表表名用戶實(shí)體信息表數(shù)據(jù)庫用戶主鍵用戶號(hào)其他排序字段無索引字段用戶號(hào)序號(hào)字段名稱數(shù)據(jù)類型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認(rèn)值約束條件/說明1CustomerlDintNY高用戶號(hào)/主鍵2CustomerNamevarchar8NN中用戶名3PIDc
21、har18)NN中身份證4Telephonevarchar11NN中聯(lián)系電話5UAddressvarchar50NN中地址sql腳本createtableUserinfo-用戶實(shí)體信息表(CustomerIDintprimarykey,-主鍵約束用戶IDCustomerNamevarchar8)notnull,PIDchar(18)check(len(PID)=15orlen(PID)=18)unique,-身份證號(hào)碼約束Telephonevarchar(11)check(len(Telephone)=11)unique,一一電話號(hào)碼約束UAddressvarchar(50);備注銀行卡信息表
22、表名銀仃卡信息表數(shù)據(jù)庫用戶主鍵銀仃卡號(hào)其他排序字段用戶號(hào)升序索引字段銀仃卡號(hào)序字段名稱數(shù)據(jù)類型(精允許為唯一區(qū)別度默認(rèn)值約束條件/說明號(hào)度范圍)空Y/NY/N1CardIDchar(30)NY高10103576銀行卡號(hào)/主鍵2CurTypechar(5)NN中RMB幣種3SavingTypechar(15NN中活期,定存儲(chǔ)類型期,定活兩期4OpenDatedatetimeNN中開戶時(shí)間5OpenMoneymoneyNN中開戶金額6BalancemoneyNN中余額7Passchar(6)NN中密碼8IsReportLosschar(8)NN中是/否掛失狀態(tài)9CustomerIDintNN中用戶
23、號(hào)/外鍵sql腳本createtableCardinfo-/-銀仃卡信息表CardIDchar(30check(CardIDlike10103576%andlen(CardID)=14primarykey,-卡號(hào)主鍵約束CurTypechar5default(RMB),-貨幣類型默認(rèn)為RMBSavingTypechar(15icheck-存款類型(SavingTypelike活期orSavingTypelike定期orSavingTypelike定活兩便),OpenDatedatetimedefault(getdate()notnull,-開戶日期OpenMoneymoneycheck(Ope
24、nMoney=1)notnull,-開戶金額Balancemoneycheck(Balance=1)notnull,余款Passchar(6default(888888)notnull,IsReportLosschar(8)check掛失(IsReportLosslike是orIsReportLosslike否)default否notnull,CustomerIDintnotnull,foreignkey(CustomerID)referencesUserinfo(CustomerID)on);deletecascade備注交易信息表表名交易信息表數(shù)據(jù)庫用戶主鍵身份證號(hào)碼其他排序字段無索引字段
25、身份證號(hào)碼序號(hào)字段名稱數(shù)據(jù)類型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認(rèn)值約束條件/說明1TransIDintNY高交易編號(hào)2TransDatedatetimeNN中交易日期3CardIDchar30)NN中銀行卡/外鍵4TransTypechar10)NY高存入,支取(交易類型5TransMoneymoneyNN中交易金額6RemarktextNN中備注sql腳本createtableTransInfo-交易信息表(TransIDintidentitynotnull,-一交易編號(hào)TransDatedatetimedefaultgetdate(),一一交易日期CardIDchar30)no
26、tnullforeignkey(CardID)referencesCardInfo(CardID),-卡號(hào)外鍵約束TransTypechar10)check(TransTypelike存入orTransTypelike支取),-交易類型TransMoneymoneycheck(TransMoney0),Remarktext);備注6.3視圖的設(shè)計(jì)圖6.3.1銀行卡信息總表視圖6.4存儲(chǔ)過程、函數(shù)及觸發(fā)器的設(shè)計(jì)觸發(fā)器1:注銷卡信息DeereUSEATMbankGO/*Objeet:Triggerdbo.DeereSeriptDate:06/06/201606:30:46*/SETANSI_NUL
27、LSONGOSETQUOTED_IDENTIFIERONGOALTERtriggerdbo.Decreondbo.CardinfoafterdeleteasdeclareCardIDchar(19),CustomerIDintselectCardID=CardID,CustomerID=CustomerIDfromdeletedbeginprint開始注銷用戶信息deletefromUserinfowhereCustomerID=CustomerIDprint恭喜您的用戶信息注銷成功end&QLQu&ry32.sc|l-L.dministratoF(53)SQLQue-ry31.5ql-l-d
28、ministratsr(53)*S-QLQijenEJCEGDE1ECE10103576127S”SSSSSe1I冋3消息幵始注銷卡信息幵始注銷用戶信息:!行壹影響)恭喜您的用戶信息注銷成功:1行受戦響)注銷成功圖6.4.1注銷用戶銀行卡存儲(chǔ)過程1:開戶CreatelDUSEATMbankGO/*Object:StoredProceduredbo.CreateIDScriptDate:06/06/201606:33:19*/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERprocdbo.CreateIDCardIDvarchar(30),Saving
29、Typechar(15),OpenMoneymoney,Balancemoney,CustomerIDintasifexists(selectCardIDfromCardinfowhereCardID=CardID)print該卡號(hào)已被注冊(cè)elseifOpenMoneyti56r.2=rR|H耳200”200:匚r1二:EC二*FROMCa.rdmc匚ORDEk;YCJ-.jt.oxnrlD巨結(jié)果Ua總:4if丁辺蠱沖向圖6.4.2存儲(chǔ)過程開戶的實(shí)現(xiàn)ZSQLQuery54.Sql-iniStrator(59)A&QLQuery33.sql-丄.dministrator(531蓮表,卻exec1
30、:O:OS56:7:2171*7?00,OCi,S該R號(hào)祕(mì)注110圖6.4.開戶約束的實(shí)現(xiàn)存儲(chǔ)過程2:存錢InputMoneyUSEATMbankGO/*Object:StoredProceduredbo.InputMoneyScriptDate:06/06/201606:36:23*/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERprocdbo.InputMoneyCardIDchar(19),inputmoneymoneyasbeginif(selectisreportlossfromCardinfowhereCardID=CardID)=是p
31、rint該賬戶正在掛失中,無法進(jìn)行交易elsebeginupdateCardinfosetBalance=Balance+inputmoneywhereCardID=CardIDprint交易成功insertintoTransInfo(CardID,TransMoney,TransDate,TransType,Remark)values(CardID,inputmoney,getdate(),存入,余額增加+convert(char(19),inputmoney)if(error0)rollback;return;end圖6.4.4存儲(chǔ)過程存錢的實(shí)現(xiàn)SQLQueiy3-7.&qI-丄dmJrt
32、iklragr(61)z&QLQuery36.&ql-1_dministrator(BS)匚SQLQLJefy號(hào)-門I-_rriWatrater戸3):x=cIziputMcney10103S76rJlrl國匸廠正在掛失中.無法曲亍交易圖6.4.5存錢的掛失約束存儲(chǔ)過程3:取款TakeMoneyUSEATMbankGO/*Object:StoredProceduredbo.TakeMoneyScriptDate:06/06/201606:40:01*/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERprocdbo.TakeMoneyCardIDcha
33、r(16),-卡號(hào)takemoneymoney,-取款金額Passchar(6)-密碼asbeginif(selectisreportlossfromCardinfowhereCardID=CardID)=是print該賬戶正在掛失中,無法進(jìn)行交易elseifnotEXISTS(selectCardIDfromCardInfowhereCardID=CardIDandPass=Pass)print賬號(hào)或密碼輸入不正確請(qǐng)重新輸入elseif(selectBalancefromCardinfowhereCardID=CardIDandPass=Pass)takemoneyprint卡上余額不足el
34、sebeginbegintraninsertintoTransInfo(CardID,TransType,TransMoney,Transdate,Remark)values(CardID,支取,takemoney,GETDATE(),余額減少+convert(char(19),takemoney)updateCardinfosetBalance=Balance-takemoneywhereCardID=CardIDandPass=Passprint取款成功if(ERROR0)beginrollbacktransactionendelsecommittranprint卡號(hào):+CardID+余額
35、減少+convert(char(19),takemoney)print交易成功endendEQLQueryI-lLdminiEtratorsql-UO1_-26.A.dministrator匚5=m=oTmkMonfv-1O1O3561Z12*,18S8S8SrrrJ詁忌,:】行竟衰響,1廳克雖如向)収款咸功-R-v:J-uxasbiixz;|;-I.aa圖6.4.6存儲(chǔ)過程取款的實(shí)現(xiàn)存儲(chǔ)過程4:查詢InquireUSEATMbankGO/*Object:StoredProceduredbo.InquireScriptDate:06/06/201606:45:26*/SETANSI_NULLS
36、ONGOSETQUOTED_IDENTIFIERONGOALTERprocdbo.InquireCardIDvarchar(16),Passvarchar(6)asprint查詢if(exists(select*fromcardinfowhereCardID=CardID)andPass=(selectPassfromcardinfowhereCardID=CardID)selectCardIDas卡號(hào),CurTypeas幣種,SavingTypeas存款類型,Balanceas余額fromcardinfowhereCardID=CardIDelseprinterror.sql-1.dmini
37、skrator(5SJJ013ft.I-CTS3JJ*execInqzuie:B1O1Q3S7&1222,BSBBSBr|rm1)-驗(yàn)證余額begininserttransinfo(CardID,TransMoney,TransDate,TransType,Remark)values(CardID,transmoney,getdate(),支取,余額減少+convert(char(19),transmoney)updateCardinfosetBalance=Balance-transmoneywhereCardID=CardIDandBalance-transmoney0updateCard
38、info-轉(zhuǎn)賬進(jìn)錢+轉(zhuǎn)出的金額setBalance=Balance+transmoneywhereCardID2=CardIDinserttransinfo(CardID,TransMoney,TransDate,TransType,Remark)values(CardID2,transmoney,getdate(),存入,余額增加+convert(char(19),transmoney)print卡號(hào):+CardID+余額減少+convert(char(19),transmoney)print卡號(hào):+CardID2+余額增加+convert(char(19),transmoney)print
39、恭喜您轉(zhuǎn)賬成功committranif(error0)rollbacktranreturn0endelsebeginprint余額不足無法轉(zhuǎn)賬committranend圖6.4.8存儲(chǔ)過程轉(zhuǎn)賬的實(shí)現(xiàn)圖6.4.9轉(zhuǎn)賬額度不足約束存儲(chǔ)過程6:注銷D_eleteUSEATMbankGO/*Object:StoredProceduredbo.D_eleteScriptDate:06/06/201606:48:08*/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERprocdbo.D_eleteCardIDchar(16),Passchar(6)asbegin
40、transactionifEXISTS(selectCardIDfromcardinfowhereCardID=CardIDandPass=Pass)-核對(duì)卡號(hào)beginprint開始注銷卡信息deletefromcardinfowhereCardID=CardIDandPass=Passprint注銷成功committranendelsebeginprint您的卡不存在無需注銷rollbacktranend&QLQuefy44,&ql-1.minitrator5召-SQLQpety43jql-:L詔minTstrql&r(55.SQLQuErym9.m耳I-Ldminletrater-exe
41、cDelete11010357612E3(SB63BE圖6.4.9存儲(chǔ)過程注銷失敗的實(shí)現(xiàn)七、安全性設(shè)計(jì)防止用戶直接操作數(shù)據(jù)庫的方法用戶標(biāo)識(shí)和鑒定用戶標(biāo)識(shí)和鑒別是系統(tǒng)提供的最外層安全保護(hù)措施。其方法是由系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)自己的名字或身份。每次用戶要求進(jìn)入系統(tǒng)時(shí),由系統(tǒng)進(jìn)行核對(duì),通過鑒定后才提供機(jī)器使用權(quán)。存取控制數(shù)據(jù)庫安全性所關(guān)心的主要是DBMS的存取控制機(jī)制。數(shù)據(jù)庫安全最重要的一點(diǎn)就是確保只授權(quán)給由資格的用戶訪問數(shù)據(jù)庫的權(quán)限,同時(shí)令所有未授權(quán)的人員無法接近數(shù)據(jù),這主要通過數(shù)據(jù)庫系統(tǒng)的存取控制機(jī)實(shí)現(xiàn)。數(shù)據(jù)加密數(shù)據(jù)加密是防止數(shù)據(jù)庫中數(shù)據(jù)在存儲(chǔ)和傳輸中關(guān)系的有效字段。加密的基本思想是根據(jù)一
42、定的算法講原始數(shù)據(jù)變換為不可直接識(shí)別的格式,從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容用戶帳號(hào)密碼的加密方法存儲(chǔ)在Users表中的密碼字段(PasswordCode)值不能以明文顯示,應(yīng)做適當(dāng)?shù)募用芎笤俅嫒霐?shù)據(jù)庫。加密方法:使用SQLServer2000提供的加密函數(shù)pwdencrypt(參數(shù)1)和加密比較函數(shù)pwdcompare(參數(shù)1,參數(shù)2),根據(jù)pwdcompare函數(shù)的返回值判斷密碼是否相等。注:預(yù)加密的字符串:預(yù)比較的字符串明文:已加密字段的值,T-SQL中為PWD字段名:返回值為1時(shí)說明密碼相等,返回值為0時(shí)密碼不相等7.3角色與權(quán)限確定每個(gè)角色對(duì)數(shù)據(jù)庫表的操作權(quán)限,如創(chuàng)建、檢
43、索、更新、刪除等。每個(gè)角色擁有剛好能夠完成任務(wù)的權(quán)限,不多也不少。在應(yīng)用時(shí)再為用戶分配角色,則每個(gè)用戶的權(quán)限等于他所兼角色的權(quán)限之和。角色可以訪問的表與列操作權(quán)限管理員可訪問所有表完全控制權(quán)限Admin可訪問所有表部分控制權(quán)限八、數(shù)據(jù)庫管理與維護(hù)說明數(shù)據(jù)庫維護(hù)計(jì)劃設(shè)定完成之后,如果SQLServer代理是啟動(dòng)的,那么在管理一一SQLServer代理一一作業(yè)下面會(huì)自動(dòng)生成若干自動(dòng)維護(hù)的工作條目,并且每個(gè)條目都有相應(yīng)的計(jì)劃表,這個(gè)才是正常的。系統(tǒng)每天凌晨自動(dòng)更新系統(tǒng),刪除未銷卡記錄。數(shù)據(jù)庫維護(hù)計(jì)劃非常強(qiáng)大,里面有各式各樣對(duì)數(shù)據(jù)庫的維護(hù)/備份操作,每樣都可以設(shè)定不同的Schedule,當(dāng)然,每設(shè)定一項(xiàng),在JOB里面就會(huì)自動(dòng)多出來一條。SQLServerAgent服務(wù)的正常運(yùn)作是這一切的基礎(chǔ)。系統(tǒng)每天凌晨更新后,自動(dòng)備
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年車位產(chǎn)權(quán)買賣協(xié)議格式
- 2024年防水施工勞務(wù)協(xié)議規(guī)范化文件
- 2024新疆企業(yè)勞動(dòng)協(xié)議規(guī)范化樣本
- 2024受托代理事務(wù)協(xié)議樣本
- 2024年專業(yè)運(yùn)營車輛租賃協(xié)議模板
- DB11∕T 1514-2018 低效果園改造技術(shù)規(guī)范
- 單位廣告策劃與制作服務(wù)協(xié)議范例
- 2024年公司文秘職務(wù)聘用協(xié)議模板
- 2024年企業(yè)員工全日制勞動(dòng)協(xié)議模板
- 文書模板-《廠房光伏租賃合同》
- 2024年10月時(shí)政100題(附答案)
- 學(xué)生校外托管協(xié)議書
- 建筑幕墻施工方案
- 第二章 地圖(考點(diǎn)串講課件)七年級(jí)地理上學(xué)期期中考點(diǎn)大串講(人教版2024)
- 2024年健身房管理制度(六篇)
- 期中測(cè)試卷(1-4單元)(試題)-2024-2025學(xué)年人教版數(shù)學(xué)六年級(jí)上冊(cè)
- 車輛綠本抵押借款合同
- 意識(shí)形態(tài)分析研判制度
- GB/T 18029.6-2024輪椅車第6 部分:電動(dòng)輪椅車最大速度的測(cè)定
- 2024至2030年中國學(xué)前教育(幼兒園)行業(yè)研究報(bào)告
- 統(tǒng)編版(2024新版)七年級(jí)上冊(cè)《道德與法治》第1-13課全冊(cè)教材“活動(dòng)課”參考答案
評(píng)論
0/150
提交評(píng)論