版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、長沙學(xué)院課程設(shè)計(jì)說明書題目ATM系統(tǒng)系(部)數(shù)學(xué)與計(jì)算機(jī)科學(xué)系專業(yè)(【班級)姓名學(xué)號指導(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的語法知識,并能夠熟練運(yùn)用它。4)掌握事務(wù)與存儲過程的使用。2問題描述(功能要求):本次案例將完成一個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表中的身份證號碼添加檢查約束,長度為15或者18為userinfo表中的客戶電話號碼添加檢查約束。為cardinfo表中的卡號ID(cardID)添加主鍵約束為cardinfo表中的卡號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的語法知識,并能夠熟練運(yùn)用它。3)掌握事務(wù)與存儲過程的使用。4)觸發(fā)器(選做)設(shè)計(jì)工作量:20課時工作計(jì)劃:(1)2013級軟件工程所有班級8課時:設(shè)計(jì),數(shù)計(jì)系機(jī)房/普通教室。8課時:上機(jī)、調(diào)試。數(shù)計(jì)系機(jī)房4課時:答辯。數(shù)計(jì)系機(jī)房。(具體時間地點(diǎn)老師先申請,機(jī)動安排)指導(dǎo)教師簽名:日期:教研室主任簽名:日期:系主任簽名:日期:長沙學(xué)院課程設(shè)計(jì)鑒定表姓名學(xué)號專業(yè)軟件工程班級5設(shè)計(jì)題目ATM系統(tǒng)
5、指導(dǎo)教師楊剛、劉鋼欽指導(dǎo)教師意見:評定等級:教師簽名:日期:答辯小組意見:評定等級:答辯小組長簽名:日期:教研室意見:教研室主任簽名:日期:系(部)意見:系主任簽名:日期:說明課程設(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ù)庫對象命名規(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存儲過程、函數(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 用戶帳號密碼的加密方法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í)踐相結(jié)合。本次課程環(huán)節(jié)旨在培養(yǎng)學(xué)生在本課程范圍內(nèi)初步掌握解決實(shí)際應(yīng)用問題時所應(yīng)具備的查閱資料、綜合運(yùn)用所學(xué)知識的能力為畢業(yè)設(shè)計(jì)及今后從事專業(yè)工作打下基礎(chǔ)。本課程環(huán)節(jié)要求學(xué)生了解企業(yè)管理信息系統(tǒng)后臺數(shù)據(jù)庫的設(shè)計(jì)、配置過程掌握管理信息系統(tǒng)的開發(fā)方法。主要包括需求分析、數(shù)據(jù)分析、系統(tǒng)邏輯模型設(shè)計(jì)方法功能設(shè)計(jì)、物理模型設(shè)計(jì)方法系統(tǒng)的實(shí)現(xiàn)等方法。完成一個小型系統(tǒng)
10、后臺數(shù)據(jù)庫的設(shè)計(jì)與配置。目的是明確數(shù)據(jù)庫的表名、字段名等數(shù)據(jù)信息用來指導(dǎo)后期的數(shù)據(jù)庫腳本的開發(fā)設(shè)計(jì)該數(shù)據(jù)庫的目的是設(shè)計(jì)一個ATM系統(tǒng)能夠按照一定條件查詢、統(tǒng)計(jì)交易信息可以模擬完成開戶、存款、取款、轉(zhuǎn)賬、注銷、掛失、激活、修改密碼、查詢等業(yè)務(wù)。1.2參考資料資料名稱作者文件編號、版本數(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自動取款機(jī)是一種非常智能的機(jī)器,人們可以直接與它
11、交互,代替以前的手工操作,大大提高了銀行的工作效率。針對銀行業(yè)務(wù)種類繁多、客戶需求量大等現(xiàn)象,為了減少銀行人員的工作任務(wù),方便客戶,使用戶自己就可以在ATM機(jī)上存款、取款、查詢余額、轉(zhuǎn)賬、修改密碼、打印憑條、退卡等基礎(chǔ)功能。在這樣的需求下我們模擬開發(fā)了ATM自動取款機(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)依靠相對熟悉的c語言和SQLServer2008數(shù)據(jù)庫系統(tǒng),其基本操作實(shí)質(zhì)還是對數(shù)據(jù)庫進(jìn)行添加、刪除、查找等操作。操作可行性系統(tǒng)采用菜單式,實(shí)現(xiàn)用戶與數(shù)據(jù)庫的交互,界面簡潔友好,操作方便。2.2需求分析需求分析是軟件設(shè)計(jì)的一個重要的環(huán)節(jié)。本階段對訂票系統(tǒng)的應(yīng)用情況作全面調(diào)查,以確定系統(tǒng)目標(biāo),并對系統(tǒng)所需要的基礎(chǔ)數(shù)據(jù)以及數(shù)據(jù)處理要求進(jìn)行分析,從而確定用戶的需求。用戶對系統(tǒng)的需求我們從以下幾方面進(jìn)行分析。2.2.1功能需求ATM是最普遍的自助銀行設(shè)備,可以提供最基本的銀行服務(wù)之一,即出鈔交易,有些全功能的產(chǎn)品還可以提供信封存款業(yè)務(wù)。在ATM自動取款機(jī)上也可以進(jìn)行賬戶查詢、修改密
13、碼和轉(zhuǎn)賬的業(yè)務(wù)。作為自助式金融服務(wù)終端,除了提供金融業(yè)務(wù)功能之外,ATM自動取款機(jī)還具有維護(hù)、測試、事件報告、監(jiān)控和管理等多種功能。ATM自動取款機(jī)系統(tǒng),是一個有終端機(jī),ATM系統(tǒng),數(shù)據(jù)庫組成的應(yīng)用系統(tǒng)。系統(tǒng)功能有用戶在ATM上提取現(xiàn)金、查詢賬戶余額、修改密碼及轉(zhuǎn)賬功能。ATM自動取款機(jī)系統(tǒng)向用戶提供一個方便、簡單、及時、隨時隨地可以隨心所欲存取款的互聯(lián)的現(xiàn)代計(jì)算機(jī)化的網(wǎng)絡(luò)系統(tǒng)??梢源蟠鬁p少工作人員,節(jié)約人力資源的開銷,同時由于手續(xù)程序減少也可以減輕業(yè)務(wù)員的工作負(fù)擔(dān),有效地提高了整體的工作效率和精確度。減少了用戶辦理業(yè)務(wù)的等待時間;用戶可以隨時隨地可以隨心所欲存取款,并且操作簡單易懂;用戶還可
14、以選擇在柜臺辦理業(yè)務(wù)或自己在自動提款機(jī)和自動取款機(jī)辦理業(yè)務(wù)。在銀行卡信息管理部分,要求:2a.可以查詢銀行卡擁有者的相應(yīng)信息。b.可以對銀行卡擁有者信息進(jìn)行添加及刪除的操作。在用戶信息管理部分,要求:可以查詢開戶信息??梢詫~戶信息進(jìn)行維護(hù),包括添加及刪除的操作。在賬戶交易信息管理部分,要求:??梢詾g覽賬戶交易基本信息??梢詫~戶信息進(jìn)行維護(hù)操作。在用戶視圖信息管理部分,要求:可以瀏覽用戶視圖信息??梢跃S護(hù)用戶視圖相關(guān)信息。2.2.2數(shù)據(jù)需求信息需求,即在系統(tǒng)中需要處理哪些數(shù)據(jù)。根據(jù)對ATM系統(tǒng)的分析,本系統(tǒng)的信息需求如表2-1所示。表2-1信息輸入輸出信息輸入信息處理信息輸出輸入個人信息及開
15、戶銀行卡信息更新系統(tǒng)中的銀仃卡信息,將新信息存入系統(tǒng)數(shù)據(jù)庫操作反饋(如開戶成功)輸入用戶號、卡號檢索系統(tǒng)數(shù)據(jù)庫符合用戶需求的銀仃卡信息輸入客戶的名字檢索系統(tǒng)數(shù)據(jù)庫以得到訂票記錄,刪除用戶請求的訂票記錄,更新系統(tǒng)數(shù)據(jù)庫操作反饋(如注銷成功等)輸入個人信息、開戶銀仃卡信息及充值的金額更新系統(tǒng)中的銀仃卡信息,將新信息存入系統(tǒng)數(shù)據(jù)庫操作反饋(如存款成功)輸入個人信息、開戶銀仃卡信息及支取的金額更新系統(tǒng)中的銀仃卡信息,將新信息存入系統(tǒng)數(shù)據(jù)庫操作反饋(如取款成功)輸入2個人信息、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)確性和及時性系統(tǒng)處理的準(zhǔn)確性和及時性是系統(tǒng)的必要性能。系統(tǒng)應(yīng)能及時而且準(zhǔn)確的根據(jù)用戶權(quán)限及所輸入的信息做出響應(yīng)。由于本系統(tǒng)的查詢功能對于整個系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來源,而車票的數(shù)量和時間又影響用戶的決策活動,其準(zhǔn)確性和及時性很大程度上決定了系統(tǒng)的成敗。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性和及時性。2.易用性本系統(tǒng)是直接面對用戶的,而用戶往往對計(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存放位置,絕對路徑/相對路徑D:/Program完整的存款取款轉(zhuǎn)賬流程數(shù)據(jù)庫的命名規(guī)則數(shù)據(jù)庫對象命名規(guī)則數(shù)據(jù)庫對象命名規(guī)則備注表Tbl功能描述字符串例如:Cardinfo銀仃卡信息表視圖View功能描述字符串例如:銀仃卡信息總表視圖存儲過程Procedure.功能描述字符串例如:CreateID存儲過程觸發(fā)器Insert功能描述字符串例如:Deere注銷銀仃卡4.2數(shù)據(jù)項(xiàng)編碼規(guī)則數(shù)據(jù)項(xiàng)命名規(guī)則數(shù)據(jù)類型長度范圍備注CardID
18、10103576XXXXchar14位銀仃卡號CurType默認(rèn)為RMBChar5位貨幣類型SavingType活期,定期,定活兩期char15位存款類型OpenDate年-月-日-時-分-秒varchar20位開戶時間OpenMoney數(shù)字varchar10位開戶金額Balance數(shù)字varchar10位余額Pass數(shù)字varchar6位密碼IsReportLoss是,否varchar8位掛失狀態(tài)五、邏輯設(shè)計(jì)1)關(guān)系模式:用戶信息(顧客號,開戶名,身份證號,地址,聯(lián)系電話)交易信息(交易編碼,交易日期,卡號,交易類型,交易金額)銀行卡信息(卡號,貨幣類型,開戶日期,開戶金額,密碼,是否掛失,
19、存儲類型)2)關(guān)系圖:身份證號包進(jìn)號號顧客號開戶名開戶金額密碼是否掛失存儲類型用戶信息聯(lián)系電話開戶日期交易類型備注交易金額地址交易編號交易日期貨幣類型銀行卡信息交易信息圖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í)體信息表存儲客戶的相關(guān)信息及其數(shù)據(jù)類型以及相關(guān)的約束銀行卡信息表存儲銀行卡的相關(guān)信息及其數(shù)據(jù)類型以及相關(guān)的約束交易信息表存儲交易的相關(guān)信息及其數(shù)據(jù)類型以及相關(guān)的約束6.2表的基本信息用戶實(shí)體信息表表名用戶實(shí)體信息表數(shù)據(jù)庫用戶主鍵用戶號其他排序字段無索引字段用戶號序號字段名稱數(shù)據(jù)類型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認(rèn)值約束條件/說明1CustomerlDintNY高用戶號/主鍵2CustomerNamevarchar8NN中用戶名3PIDc
21、har18)NN中身份證4Telephonevarchar11NN中聯(lián)系電話5UAddressvarchar50NN中地址sql腳本createtableUserinfo-用戶實(shí)體信息表(CustomerIDintprimarykey,-主鍵約束用戶IDCustomerNamevarchar8)notnull,PIDchar(18)check(len(PID)=15orlen(PID)=18)unique,-身份證號碼約束Telephonevarchar(11)check(len(Telephone)=11)unique,一一電話號碼約束UAddressvarchar(50);備注銀行卡信息表
22、表名銀仃卡信息表數(shù)據(jù)庫用戶主鍵銀仃卡號其他排序字段用戶號升序索引字段銀仃卡號序字段名稱數(shù)據(jù)類型(精允許為唯一區(qū)別度默認(rèn)值約束條件/說明號度范圍)空Y/NY/N1CardIDchar(30)NY高10103576銀行卡號/主鍵2CurTypechar(5)NN中RMB幣種3SavingTypechar(15NN中活期,定存儲類型期,定活兩期4OpenDatedatetimeNN中開戶時間5OpenMoneymoneyNN中開戶金額6BalancemoneyNN中余額7Passchar(6)NN中密碼8IsReportLosschar(8)NN中是/否掛失狀態(tài)9CustomerIDintNN中用戶
23、號/外鍵sql腳本createtableCardinfo-/-銀仃卡信息表CardIDchar(30check(CardIDlike10103576%andlen(CardID)=14primarykey,-卡號主鍵約束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ù)庫用戶主鍵身份證號碼其他排序字段無索引字段
25、身份證號碼序號字段名稱數(shù)據(jù)類型(精度范圍)允許為空Y/N唯一Y/N區(qū)別度默認(rèn)值約束條件/說明1TransIDintNY高交易編號2TransDatedatetimeNN中交易日期3CardIDchar30)NN中銀行卡/外鍵4TransTypechar10)NY高存入,支取(交易類型5TransMoneymoneyNN中交易金額6RemarktextNN中備注sql腳本createtableTransInfo-交易信息表(TransIDintidentitynotnull,-一交易編號TransDatedatetimedefaultgetdate(),一一交易日期CardIDchar30)no
26、tnullforeignkey(CardID)referencesCardInfo(CardID),-卡號外鍵約束TransTypechar10)check(TransTypelike存入orTransTypelike支取),-交易類型TransMoneymoneycheck(TransMoney0),Remarktext);備注6.3視圖的設(shè)計(jì)圖6.3.1銀行卡信息總表視圖6.4存儲過程、函數(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注銷用戶銀行卡存儲過程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該卡號已被注冊elseifOpenMoneyti56r.2=rR|H耳200”200:匚r1二:EC二*FROMCa.rdmc匚ORDEk;YCJ-.jt.oxnrlD巨結(jié)果Ua總:4if丁辺蠱沖向圖6.4.2存儲過程開戶的實(shí)現(xiàn)ZSQLQuery54.Sql-iniStrator(59)A&QLQuery33.sql-丄.dministrator(531蓮表,卻exec1
30、:O:OS56:7:2171*7?00,OCi,S該R號祕注110圖6.4.開戶約束的實(shí)現(xiàn)存儲過程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存儲過程存錢的實(shí)現(xiàn)SQLQueiy3-7.&qI-丄dmJrt
32、iklragr(61)z&QLQuery36.&ql-1_dministrator(BS)匚SQLQLJefy號-門I-_rriWatrater戸3):x=cIziputMcney10103S76rJlrl國匸廠正在掛失中.無法曲亍交易圖6.4.5存錢的掛失約束存儲過程3:取款TakeMoneyUSEATMbankGO/*Object:StoredProceduredbo.TakeMoneyScriptDate:06/06/201606:40:01*/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERprocdbo.TakeMoneyCardIDcha
33、r(16),-卡號takemoneymoney,-取款金額Passchar(6)-密碼asbeginif(selectisreportlossfromCardinfowhereCardID=CardID)=是print該賬戶正在掛失中,無法進(jìn)行交易elseifnotEXISTS(selectCardIDfromCardInfowhereCardID=CardIDandPass=Pass)print賬號或密碼輸入不正確請重新輸入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卡號:+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存儲過程取款的實(shí)現(xiàn)存儲過程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卡號,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卡號:+CardID+余額減少+convert(char(19),transmoney)print卡號:+CardID2+余額增加+convert(char(19),transmoney)print
39、恭喜您轉(zhuǎn)賬成功committranif(error0)rollbacktranreturn0endelsebeginprint余額不足無法轉(zhuǎn)賬committranend圖6.4.8存儲過程轉(zhuǎn)賬的實(shí)現(xiàn)圖6.4.9轉(zhuǎn)賬額度不足約束存儲過程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)-核對卡號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存儲過程注銷失敗的實(shí)現(xiàn)七、安全性設(shè)計(jì)防止用戶直接操作數(shù)據(jù)庫的方法用戶標(biāo)識和鑒定用戶標(biāo)識和鑒別是系統(tǒng)提供的最外層安全保護(hù)措施。其方法是由系統(tǒng)提供一定的方式讓用戶標(biāo)識自己的名字或身份。每次用戶要求進(jìn)入系統(tǒng)時,由系統(tǒng)進(jìn)行核對,通過鑒定后才提供機(jī)器使用權(quán)。存取控制數(shù)據(jù)庫安全性所關(guān)心的主要是DBMS的存取控制機(jī)制。數(shù)據(jù)庫安全最重要的一點(diǎn)就是確保只授權(quán)給由資格的用戶訪問數(shù)據(jù)庫的權(quán)限,同時令所有未授權(quán)的人員無法接近數(shù)據(jù),這主要通過數(shù)據(jù)庫系統(tǒng)的存取控制機(jī)實(shí)現(xiàn)。數(shù)據(jù)加密數(shù)據(jù)加密是防止數(shù)據(jù)庫中數(shù)據(jù)在存儲和傳輸中關(guān)系的有效字段。加密的基本思想是根據(jù)一
42、定的算法講原始數(shù)據(jù)變換為不可直接識別的格式,從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容用戶帳號密碼的加密方法存儲在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時說明密碼相等,返回值為0時密碼不相等7.3角色與權(quán)限確定每個角色對數(shù)據(jù)庫表的操作權(quán)限,如創(chuàng)建、檢
43、索、更新、刪除等。每個角色擁有剛好能夠完成任務(wù)的權(quán)限,不多也不少。在應(yīng)用時再為用戶分配角色,則每個用戶的權(quán)限等于他所兼角色的權(quán)限之和。角色可以訪問的表與列操作權(quán)限管理員可訪問所有表完全控制權(quán)限Admin可訪問所有表部分控制權(quán)限八、數(shù)據(jù)庫管理與維護(hù)說明數(shù)據(jù)庫維護(hù)計(jì)劃設(shè)定完成之后,如果SQLServer代理是啟動的,那么在管理一一SQLServer代理一一作業(yè)下面會自動生成若干自動維護(hù)的工作條目,并且每個條目都有相應(yīng)的計(jì)劃表,這個才是正常的。系統(tǒng)每天凌晨自動更新系統(tǒng),刪除未銷卡記錄。數(shù)據(jù)庫維護(hù)計(jì)劃非常強(qiáng)大,里面有各式各樣對數(shù)據(jù)庫的維護(hù)/備份操作,每樣都可以設(shè)定不同的Schedule,當(dāng)然,每設(shè)定一項(xiàng),在JOB里面就會自動多出來一條。SQLServerAgent服務(wù)的正常運(yùn)作是這一切的基礎(chǔ)。系統(tǒng)每天凌晨更新后,自動備
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB11T 1087-2014 公共建筑裝飾工程質(zhì)量驗(yàn)收標(biāo)準(zhǔn)
- 河南省周口市淮陽實(shí)驗(yàn)小學(xué)等校2024-2025學(xué)年二年級上學(xué)期月考語文試卷(10月份)
- 湖北省黃岡市部分學(xué)校2024-2025學(xué)年七年級上學(xué)期期中地理試卷(含答案)
- 家用電動蒸汽拖把產(chǎn)業(yè)深度調(diào)研及未來發(fā)展現(xiàn)狀趨勢
- 葉酸膳食補(bǔ)充劑市場發(fā)展預(yù)測和趨勢分析
- 提供婚禮司儀服務(wù)行業(yè)市場調(diào)研分析報告
- 加熱板市場發(fā)展預(yù)測和趨勢分析
- 嬰兒絨線鞋產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 化妝用杏仁油產(chǎn)業(yè)規(guī)劃專項(xiàng)研究報告
- 醫(yī)用洗液產(chǎn)業(yè)深度調(diào)研及未來發(fā)展現(xiàn)狀趨勢
- 植物盆栽課件教學(xué)課件
- 2024春期國開電大法學(xué)本科《國際法》在線形考(形考任務(wù)1至5)試題及答案
- 初中物理光學(xué)難題難度含解析答案
- 冷卻塔技術(shù)規(guī)格書
- 30題紀(jì)檢監(jiān)察位崗位常見面試問題含HR問題考察點(diǎn)及參考回答
- 中國古代文學(xué)史(全套)課件
- 黑布林-Peter-Pan-中英雙語閱讀
- 新生兒液體療法PPT課件.ppt
- 國際人才英語考試官方指南中級樣題及解析
- 九年級數(shù)學(xué)第1章直角三角形的邊角關(guān)系1.1銳角三角函數(shù)1.1.1銳角三角函數(shù)2課件新版北師大版.pptx
- 泌尿系統(tǒng)、男性生殖系統(tǒng)
評論
0/150
提交評論