新聞中心
sql數(shù)據(jù)庫測試用例:提升數(shù)據(jù)穩(wěn)定性的必要措施

SQL數(shù)據(jù)庫是現(xiàn)今最被廣泛使用的數(shù)據(jù)庫管理系統(tǒng),它能夠存儲大量數(shù)據(jù)并能夠快速讀取、修改和刪除這些數(shù)據(jù)。SQL數(shù)據(jù)庫的可靠性對于企業(yè)的業(yè)務(wù)操作至關(guān)重要,因為如果數(shù)據(jù)庫出現(xiàn)了任何錯誤,都可能導(dǎo)致業(yè)務(wù)中斷和數(shù)據(jù)損失。為了保證SQL數(shù)據(jù)庫的穩(wěn)定性,測試用例是必不可少的工具之一。本文將介紹SQL數(shù)據(jù)庫測試用例,以及提高數(shù)據(jù)穩(wěn)定性的必要措施。
一、SQL數(shù)據(jù)庫測試用例
1. 什么是SQL數(shù)據(jù)庫測試用例
SQL數(shù)據(jù)庫測試用例是一種描述數(shù)據(jù)庫系統(tǒng)如何操作的詳細(xì)文檔。測試用例包含對SQL語句的測試、性能和穩(wěn)定性的測試,以及詳細(xì)的測試報告。測試用例能夠保證SQL數(shù)據(jù)庫的正確性和穩(wěn)定性,避免了由于數(shù)據(jù)庫錯誤導(dǎo)致的業(yè)務(wù)中斷和數(shù)據(jù)損失。
2. SQL數(shù)據(jù)庫測試用例的設(shè)計原則
在設(shè)計SQL數(shù)據(jù)庫測試用例時,應(yīng)遵循以下原則:
(1)覆蓋率:盡可能覆蓋SQL語句的各個方面,包括語法、數(shù)據(jù)類型、約束、觸發(fā)器等方面。
(2)可重復(fù)性:一個測試用例必須能夠重復(fù)執(zhí)行,并且每次的結(jié)果都應(yīng)該相同。
(3)一致性:測試用例的格式和內(nèi)容應(yīng)該是一致的,以方便管理和維護。
(4)實用性:測試用例應(yīng)該具有實用性,并且覆蓋實際應(yīng)用場景。
3. SQL數(shù)據(jù)庫測試用例的分類
SQL數(shù)據(jù)庫測試用例可以按照以下不同的分類方式進行劃分:
(1)按照測試目的劃分:分為功能測試、性能測試、安全性測試等。
(2)按照測試方法劃分:分為手動測試和自動化測試。
(3)按照測試覆蓋率的深淺劃分:分為表級測試、字段級測試、行級測試、操作級測試等。
二、提高數(shù)據(jù)穩(wěn)定性的必要措施
為了保證SQL數(shù)據(jù)庫的穩(wěn)定性,除了應(yīng)用SQL數(shù)據(jù)庫測試用例之外,還需要采取以下措施:
1. 數(shù)據(jù)庫備份和恢復(fù)
數(shù)據(jù)庫備份是保證數(shù)據(jù)安全性的一個重要措施,它可以防止在數(shù)據(jù)損壞或丟失的情況下,進行數(shù)據(jù)庫恢復(fù)。數(shù)據(jù)庫恢復(fù)包括完全恢復(fù)和部分恢復(fù),完全恢復(fù)是將整個數(shù)據(jù)庫恢復(fù)到之前的狀態(tài),而部分恢復(fù)是恢復(fù)部分丟失的數(shù)據(jù)。
2. 數(shù)據(jù)庫監(jiān)控
數(shù)據(jù)庫監(jiān)控是指監(jiān)測數(shù)據(jù)庫的一系列操作過程,包括CPU利用率、內(nèi)存利用率、磁盤利用率、數(shù)據(jù)庫連接數(shù)等,以及SQL查詢語句的執(zhí)行效率。據(jù)此,可以及時發(fā)現(xiàn)數(shù)據(jù)庫操作過程中的錯誤,及時解決問題。
3. 安全控制
比如用戶權(quán)限管理、數(shù)據(jù)加密等控制手段,避免數(shù)據(jù)庫受到不合法的訪問和攻擊。同時制定并執(zhí)行密碼策略,如強制要求密碼長、復(fù)雜度高,對敏感數(shù)據(jù)區(qū)域加強安全控制,如建立雙重認(rèn)證等措施。
4. 異常處理
采取主動異常處理措施,如集中異常監(jiān)控、異常日志記錄、實時異常提示,通過異常處理和問題定位能夠及時掌握數(shù)據(jù)庫的狀態(tài)和變化,以更加穩(wěn)定的情況下運行數(shù)據(jù)庫。
SQL數(shù)據(jù)庫測試用例是提高SQL數(shù)據(jù)庫穩(wěn)定性的必要措施之一。通過采取適當(dāng)?shù)拇胧┖蛯嵤y試用例,可以保證SQL數(shù)據(jù)庫的正確性和穩(wěn)定性,避免了由于數(shù)據(jù)庫錯誤導(dǎo)致的業(yè)務(wù)中斷和數(shù)據(jù)損失,從而提高企業(yè)的業(yè)務(wù)效率和生產(chǎn)效益。
相關(guān)問題拓展閱讀:
- 數(shù)據(jù)庫課程設(shè)計實例
- 如何知道自己所寫的測試用例是否覆蓋完全??
數(shù)據(jù)庫課程設(shè)計實例
數(shù)據(jù)庫課程設(shè)計
題目:小型超市管理系統(tǒng)
1、項目計劃
1.1系統(tǒng)開發(fā)目的
(1)大大提高超市的運作效率;
(2)通過全面的信息采集和處理,輔助提高超市的決策水平;
(3)使用本系統(tǒng),可以迅速提升超市的管理水平,為降低
經(jīng)營成本
, 提高效益,增強超市擴張力, 提供有效的技術(shù)保障。
1.2背景說明
21世紀(jì),超市的競爭也進入到了一個全新的領(lǐng)域,競爭已不再是規(guī)模的競爭,而是技術(shù)的競爭、管理的競爭、人才的競爭。技術(shù)的提升和管理的升級是超市業(yè)的競爭核心。零售領(lǐng)域目前呈多元發(fā)展趨勢,多種業(yè)態(tài):超市、倉儲店、便利店、特許加盟店、專賣店、貨倉等相互并存。如何在激烈的競爭中擴大銷售額、降低經(jīng)營成本、擴大經(jīng)營規(guī)模,成為超市營業(yè)者努力追求的目標(biāo)。
1.3項目確立
針對超市的特點,為了幫助超市解決現(xiàn)在面臨的問題,提高小型超市的競爭力,我們將開發(fā)以下系統(tǒng):前臺POS銷售系統(tǒng)、后臺管理系統(tǒng),其中這兩個子系統(tǒng)又包含其它一些子功能。
1.4應(yīng)用范圍
本系統(tǒng)適應(yīng)于各種小型的超市。
1.5 定義
(1)
商品條形碼
:每種商品具有唯一的條形碼,對于某些價格一樣的商品,可以使用自定義條形碼。
(2)交易清單:包括交易的流水賬號、每類商品的商品名、數(shù)量、該類商品的總金額、交易的時間、負(fù)責(zé)本次收銀的員工號。
(3)商品積壓:在一定時期內(nèi),遠(yuǎn)無法完成銷售計劃的商品會造成積壓。
(4)促銷:在一定時期內(nèi),某些商品會按低于原價的促銷價格銷售。
庫存告警提示:當(dāng)商品的庫存數(shù)量低于庫存報警數(shù)量時發(fā)出提示。
(5)盤點:計算出庫存、銷售額、盈利等經(jīng)營指標(biāo)。
1.6 參考資料
《數(shù)據(jù)庫原理及設(shè)計》
陶宏才編 清華大學(xué)出版社
《SQL Server 2023 實用教程》范立南編 清華大學(xué)出版社
《SQL Server 2023 編程員指南》李香敏編 北京希望電子出版社
《輕松搞定 SQL Server 2023 程序設(shè)計》Rebecca M.Riordan編
《軟件工程規(guī)范》
Watts S.Humphrey編 清華大學(xué)出版社
《軟件工程理論與實踐》
Shari Lawrence Pfleeger編 清華大學(xué)出版社
《軟件需求分析》 Swapna Kishore編
機械工業(yè)出版社
《軟件工程思想》
林銳編
2、邏輯分析與詳細(xì)分析
2.1系統(tǒng)功能
(1)、零售前臺(POS)管理系統(tǒng),本系統(tǒng)必須具有以下功能:
? 商品錄入:根據(jù)超巿業(yè)務(wù)特點制定相關(guān)功能,可以通過輸入唯一編號、掃描條形碼、商品名稱等來實現(xiàn)精確或模糊的商品掃描錄入。該掃描錄入方法可以充分保證各種電腦操作水平層次的人員均能準(zhǔn)確快速地進行商品掃描錄入。
? 收銀業(yè)務(wù):通過掃描條形碼或者直接輸入商品名稱(對于同類多件商品采用一次錄入加數(shù)量的方式)自動計算本次交易的總金額。在顧客付款后,自動計算找零,同時打印交易清單(包括交易的流水賬號、每類商品的商品名、數(shù)量、該類商品的總金額、交易的時間、負(fù)責(zé)本次收銀的員工號)。如果顧客是本店會員并持有本人會員卡,則在交易前先掃描會員卡,并對所購物品全部實行95折優(yōu)惠,并將所購物品的總金額累計到該會員的總消費金額中。 會員卡的有效期限為一年,滿一年未續(xù)卡者,該會員卡將被注銷。
? 安全性:OS登陸、退出、換班與操作鎖定等權(quán)限驗證保護;斷電自動保護更大限度防止意外及惡意非法操作。
? 獨立作業(yè):有的斷網(wǎng)收銀即在網(wǎng)絡(luò)服務(wù)器斷開或網(wǎng)絡(luò)不通的情況下,收銀機仍能正常作業(yè)
(2)、后臺管理系統(tǒng),本系統(tǒng)必須具備以下功能
? 進貨管理: 根據(jù)銷售情況及庫存情況,自動制定進貨計劃(亦可手工制定修改),可以避免盲目進貨造成商品積壓。 按計劃單有選擇性地進行自動入庫登記。 綜合查詢打印計劃進貨與入庫記錄及金額。
?
銷售管理
: 商品正常銷售、促銷與、限期及禁止銷售控制。 綜合查詢各種銷售明細(xì)記錄、各地收銀員收銀記錄以及交結(jié)賬情況等。 按多種方式統(tǒng)計生成銷售排行榜,靈活察看和打印商品銷售日、月、年報表。
?
庫存管理
: 綜合查詢庫存明細(xì)記錄。 庫存狀態(tài)自動告警提示。如庫存過剩、少貨、缺貨等。軟件為您預(yù)警,避免庫存商品積壓損失和缺貨。 庫存自動盤點計算。
? 人員管理: 員工、會員、供貨商、廠商等基本信息登記管理。 員工操作權(quán)限管理。 客戶銷售權(quán)限管理。
(3)系統(tǒng)結(jié)構(gòu)
系統(tǒng)總體結(jié)構(gòu)
模塊子系統(tǒng)結(jié)構(gòu)
功能描述:商品錄入子系統(tǒng)要求能快速錄入商品,因此必須支持條形碼掃描。
功能描述:收銀業(yè)務(wù)子系統(tǒng)能計算交易總額,打印交易清單,并根據(jù)會員卡打折。
功能描述:進貨管理子系統(tǒng)可以根據(jù)庫存自動指定進貨計劃,進貨時自動等級,以及提供查詢和打印計劃進貨與入庫記錄的功能。
功能描述:銷售管理子系統(tǒng)可以控制某商品是否允許銷售,查詢每種商品的銷售情況并產(chǎn)生年、月、日報表,同時可以生成銷售排行榜。
功能描述:庫存管理子系統(tǒng)提供查詢庫存明細(xì)記錄的基本功能,并根據(jù)庫存的狀態(tài)報警,以及自動盤點計算。
功能描述:人員管理子系統(tǒng)提供基本信息登記管理,員工操作權(quán)限管理,客戶銷售權(quán)限管理的功能。
2.2、流程圖
前臺管理系統(tǒng)
頂層DFD圖
第0層DFD圖
第1層DFD圖
2.3、戶類型與職能
(1)、員工(營業(yè)員):
? 通過商品條形碼掃描輸入商品到購買清單
? 操作軟件計算交易總金額
? 操作軟件輸出交易清單
? 對會員進行會員卡掃描以便打折
(2)、:超市經(jīng)理
? 操作軟件錄入商品,供貨商,廠商
? 操作軟件制定進貨計劃
? 查詢打印計劃進貨與入庫記錄
? 操作軟件控制商品銷售與否
? 查詢打印銷售情況
? 操作軟件生成銷售排行榜
? 查詢庫存明細(xì)記錄
? 根據(jù)軟件發(fā)出的庫存告警進行入貨
? 操作軟件進行盤點計算
(3)、總經(jīng)理:
? 基本信息登記管理
? 員工操作權(quán)限管理
? 客戶銷售權(quán)限管理
2.4、統(tǒng)開發(fā)步驟
? 確定參與者和相關(guān)的用況
? 為每個用況設(shè)計過程
? 建立順序圖,確定每個腳本中對象的協(xié)作
? 創(chuàng)建類,確定腳本中的對象
? 設(shè)計, 編碼, 測試, 集成類
? 為過程編寫系統(tǒng)測試案例
? 運行測試案例,檢驗系統(tǒng)
2.5、系統(tǒng)環(huán)境需求
? 系統(tǒng)模式
本系統(tǒng)采用C/S模式作為開發(fā)模式
? 硬件環(huán)境
服務(wù)器端:
高性能的計算機一臺,
普通的
雙絞線
作為連接。
客戶端: 普通的計算機或者工作站,
普通的雙絞線作為連接。
? 軟件環(huán)境
服務(wù)器端:安裝SQL Server 2023的服務(wù)器版本,
安裝windows 2023服務(wù)器版本,
配置了
諾頓
等必須的
防毒軟件
。
客戶端: 安裝SQL Server2023的服務(wù)器版本,
安裝了VB等可視化開發(fā)工具軟件,
安裝windows2023服務(wù)器版本。
2.6、系統(tǒng)安全問題
信息系統(tǒng)盡管功能強大,技術(shù)先進,但由于受到自身體系結(jié)構(gòu),設(shè)計思路以及運行機制等限制,也隱含許多不安全因素。常見因素有:數(shù)據(jù)的輸入,輸出,存取與備份,
源程序
以及應(yīng)用軟件,數(shù)據(jù)庫,操作系統(tǒng)等漏洞或缺陷,硬件,通信部分的漏洞,企業(yè)內(nèi)部人員的因素,病毒,“
黑客
”等因素。因此,為使本系統(tǒng)能夠真正安全,可靠,穩(wěn)定地工作,必須考慮如下問題:為保證安全,不致使系統(tǒng)遭到意外事故的損害,系統(tǒng)因該能防止火,盜或其他形式的人為破壞。
? 系統(tǒng)要能重建
? 系統(tǒng)應(yīng)該是可審查的
? 系統(tǒng)應(yīng)能進行有效控制,抗干擾能力強
? 系統(tǒng)使用者的使用權(quán)限是可識別的
3、基于UML的建模
3.1語義規(guī)則
用例
模型(
use case
s view)(用例視圖)的基本組成部件是用例(use case)、角色(actor)和系統(tǒng)(system)。用例用于描述系統(tǒng)的功能,也就是從外部用戶的角度觀察,系統(tǒng)應(yīng)支持哪些功能,幫助分析人員理解系統(tǒng)的行為,它是對系統(tǒng)功能的宏觀描述,一個完整的系統(tǒng)中通常包含若干個用例,每個用例具體說明應(yīng)完成的功能,代表系統(tǒng)的所有基本功能(集)。角色是與系統(tǒng)進行交互的外部實體,它可以是系統(tǒng)用戶,也可以是其它系統(tǒng)或硬件設(shè)備,總之,凡是需要與系統(tǒng)交互的任何東西都可以稱作角色。系統(tǒng)的邊界線以內(nèi)的區(qū)域(即用例的活動區(qū)域)則抽象表示系統(tǒng)能夠?qū)崿F(xiàn)的所有基本功能。在一個基本功能(集)已經(jīng)實現(xiàn)的系統(tǒng)中,系統(tǒng)運轉(zhuǎn)的大致過程是:外部角色先初始化用例,然后用例執(zhí)行其所代表的功能,執(zhí)行完后用例便給角色返回一些值,這個值可以是角色需要的來自系統(tǒng)中的任何東西。
UML:是一種標(biāo)準(zhǔn)的圖形化建模語言,它是面向?qū)ο蠓治雠c設(shè)計的一種標(biāo)準(zhǔn)表示;它不是一種可視化的程序設(shè)計語言而是一種可視化的建模語言;不是工具或知識庫的規(guī)格說明而是一種建模語言規(guī)格說明是一種表示的標(biāo)準(zhǔn);不是過程也不是方法但允許任何一種過程和方法使用它。
用例(use case):
參與者(actor):
3.2、UML模型
3.21、系統(tǒng)UML模型
3.22、子系統(tǒng)UML模型
(1)零售前臺(POS)管理系統(tǒng)用例視圖
(2)后臺管理系統(tǒng)用例視圖
3.3、系統(tǒng)實現(xiàn)圖
4、超市銷售系統(tǒng)概念設(shè)計文檔
(1)、系統(tǒng)ER圖
(2)、系統(tǒng)ER圖說明
1) 商店中的所有用戶(員工)可以銷售多種商品,每種商品可由不同用戶(員工)銷售;
2) 每個顧客可以購買多種商品,不同商品可由不同顧客購買;
3) 每個供貨商可以供應(yīng)多種不同商品,每種商品可由多個供應(yīng)商供應(yīng)。
(3)、視圖設(shè)計
1) 交易視圖(v_Dealing)——用于查詢交易情況的視圖;
2) 計劃進貨視圖(v_PlanStock)——用于查詢進貨計劃的視圖;
3) 銷售視圖(v_Sale)——用于查詢銷售明細(xì)記錄的視圖;
4) 入庫視圖(v_Stock)——用于查詢?nèi)霂烨闆r的視圖。
5、邏輯設(shè)計文檔
(1)、系統(tǒng)關(guān)系模型
a) 商品信息表(商品編號,商品名稱,價格,條形碼,促銷價格,促銷起日期,促銷止日期,允許打折,庫存數(shù)量,庫存報警數(shù)量,計劃進貨數(shù),允許銷售,廠商編號,供貨商編號)
b) 用戶表(用戶編號,用戶名稱,用戶密碼,用戶類型)
c) 會員表(會員編號,會員卡號,累積消費金額,注冊日期)
d) 銷售表(銷售編號,商品編號,銷售數(shù)量,銷售金額,銷售日期)
e) 交易表(交易編號,用戶名稱,交易金額,會員卡號,交易日期)
f) 進貨入庫表(入庫編號,入庫商品編號,入庫數(shù)量,單額,總額,入庫日期,計劃進貨日期,入庫狀態(tài))
g) 供貨商表(供貨商編號,供貨商名稱,供貨商地址,供貨商)
h) 廠商表(廠商編號,廠商名稱,廠商地址,廠商)
(2)、系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu)
數(shù)據(jù)庫表索引
表名 中文名
MerchInfo 商品信息表
User 用戶表
Menber 會員表
Sale 銷售表
Dealing 交易表
Stock 進貨入庫表
Provide 供貨商表
Factory 廠商表
商品信息表(MerchInfo)
字段名 字段類型 長度 主/外鍵 字段值約束 對應(yīng)中文名
MerchID int 4 P Not null 商品編號
MerchName Varchar 50 Not null 商品名稱
MerchPrice Money 4 Not null 價格
MerchNum Int 4 Not null 庫存數(shù)量
CautionNum Int 4 Not null 庫存報警數(shù)量
PlanNum Int 4 null 計劃進貨數(shù)
BarCode Varchar 50 Not null 條形碼
SalesProPrice Money 4 促銷價格
SalesProDateS Datetime 8 促銷起日期
SalesProDateE Datetime 8 促銷止日期
AllowAbate Int 4 Not null 允許打折
AllowSale Int 4 Not null 允許銷售
FactoryID Varchar 10 F Not null 廠商編號
ProvideID Varchar 10 F Not null 供貨商編號
用戶表(User)
字段名 字段類型 長度 主/外鍵 字段值約束 對應(yīng)中文名
UserID varchar 10 P Not null 用戶編號
UserName Varchar 25 Not null 用戶名稱
UserPW Varchar 50 Not null 用戶密碼
UserStyle Int 4 Not null 用戶類型
會員表(Menber)
字段名 字段類型 長度 主/外鍵 字段值約束 對應(yīng)中文名
MemberID Varchar 10 P Not null 會員編號
MemberCard Varchar 20 Not null 會員卡號
TotalCost Money 4 Not null 累積消費金額
RegDate Datetime 8 Not null 注冊日期
銷售表(Sale)
字段名 字段類型 長度 主/外鍵 字段值約束 對應(yīng)中文名
SaleID Varchar 10 P Not null 銷售編號
MerChID Varchar 10 F Not null 商品編號
SaleDate Datetime 8 Not null 銷售日期
SaleNum Int 4 Not null 銷售數(shù)量
SalePrice Money 4 Not null 銷售單額
交易表(Dealing)
字段名 字段類型 長度 主/外鍵 字段值約束 對應(yīng)中文名
DealingID Varchar 10 P Not null 交易編號
DealingPrice Money 4 Not null 交易金額
DealingDate Money 4 Not null 交易日期
MemberID Varchar 10 會員卡號
UserName Varchar 10 F Not null 用戶名稱
入庫紀(jì)錄表(Stock)
字段名 字段類型 長度 主/外鍵 字段值約束 對應(yīng)中文名
StockID Varchar 10 P Not null 入庫編號
MerchID Varchar 10 F Not null 入庫商品編號
MerchNum Int 4 Not null 入庫數(shù)量
MerchPrice Money 4 Not null 單額
TotalPrice Money 4 Not null 總額
StockDate Datetime 8 Datetime 入庫日期
PlanDate Datetime 8 Datetime 計劃進貨日期
StockState Int 4 Not null 入庫狀態(tài)
供貨商表(Provide)
字段名 字段類型 長度 主/外鍵 字段值約束 對應(yīng)中文名
ProvideID varchar 10 P Not null 供貨商編號
ProvideName Varchar 50 Not null 供貨商名稱
ProvideAddress Varchar供貨商地址
ProvidePhone Varchar 25 供貨商
廠商表(Provide)
字段名 字段類型 長度 主/外鍵 字段值約束 對應(yīng)中文名
FactoryID varchar 10 P Not null 廠商編號
FactoryName Varchar 50 Not null 廠商名稱
FactoryAddress Varchar廠商地址
FactoryPhone Varchar 25 廠商
6、物理設(shè)計文檔
/*創(chuàng)建數(shù)據(jù)庫*/
create database SuperMarketdb
on primary
(
name=SuperMarketdb,
filename=’C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.mdf’,
size=100MB,
maxsize=200MB,
filegrowth=20MB
)
log on
(
name=SuperMarketlog,
filename=’C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.ldf’,
size=60MB,
maxsize=200MB,
filegrowth=20MB
)
go
/*創(chuàng)建基本表*/
use
go
/*創(chuàng)建交易表*/
CREATE TABLE Dealing (
DealingID int identity(1,1) Primary key ,
DealingDate datetime NOT NULL ,
DealingPrice money NOT NULL ,
UserName varchar(25) NULL ,
MemberCard varchar(20) NULL
)
GO
/*創(chuàng)建廠商表*/
CREATE TABLE Factory (
FactoryID varchar(10) Primary key ,
FactoryName varchar(50) NOT NULL ,
FactoryAddress varchar(250) NULL ,
FactoryPhone varchar(50) NULL
)
GO
/*創(chuàng)建會員表*/
CREATE TABLE Member (
MemberID varchar(10) Primary key ,
MemberCard varchar(20) NOT NULL ,
TotalCost money NOT NULL ,
RegDate datetime NOT NULL
)
GO
/*創(chuàng)建商品信息表*/
CREATE TABLE MerchInfo (
MerchID int identity(1,1) Primary key ,
MerchName varchar(50) Unique NOT NULL ,
MerchPrice money NOT NULL ,
MerchNum int NOT NULL ,
CautionNum int NOT NULL ,
PlanNum int NOT NULL ,
BarCode varchar(20) Unique NOT NULL ,
SalesProPrice money NULL ,
SalesProDateS datetime NULL ,
SalesProDateE datetime NULL ,
AllowAbate int NOT NULL ,
AllowSale int NOT NULL ,
FactoryID int NOT NULL ,
ProvideID int NOT NULL
)
GO
/*創(chuàng)建供應(yīng)商表*/
CREATE TABLE Provide (
ProvideID varchar(10) Primary key ,
ProvideName varchar(50) NOT NULL ,
ProvideAddress varchar(250) NULL ,
ProvidePhone varchar(25) NULL
)
GO
/*創(chuàng)建銷售表*/
CREATE TABLE Sale (
SaleID int identity(1,1) Primary key ,
MerChID int NOT NULL ,
SaleDate datetime NOT NULL ,
SaleNum int NOT NULL,
SalePrice money NOT NULL
)
GO
/*創(chuàng)建入庫表*/
CREATE TABLE Stock (
StockID int identity(1,1) Primary key ,
MerchID int NOT NULL ,
MerchNum int NOT NULL ,
MerchPrice money NULL ,
TotalPrice money NULL ,
PlanDate datetime NULL ,
StockDate datetime NULL,
StockState int NOT NULL
)
GO
/*創(chuàng)建用戶表*/
CREATE TABLE User (
UserID varchar(10) Primary key ,
UserName varchar(25) NOT NULL ,
UserPW varchar(50) NOT NULL ,
UserStyle int NOT NULL ,
)
GO
/*創(chuàng)建表間約束*/
/*商品信息表中廠商編號、供應(yīng)商編號分別與廠商表、供應(yīng)商表之間的外鍵約束*/
ALTER TABLE MerchInfo ADD
CONSTRAINT FOREIGN KEY
(
) REFERENCES Factory (
),
CONSTRAINT FOREIGN KEY
(
) REFERENCES Provide (
)
GO
/*銷售表中商品編號與商品信息表之間的外鍵約束*/
ALTER TABLE Sale ADD
CONSTRAINT FOREIGN KEY
(
) REFERENCES MerchInfo (
) ON DELETE CASCADE
GO
/*入庫表中商品編號與商品信息表之間的外鍵約束*/
ALTER TABLE Stock ADD
CONSTRAINT FOREIGN KEY
(
) REFERENCES MerchInfo (
) ON DELETE CASCADE
GO
/*創(chuàng)建索引*/
/*在交易表上建立一個以交易編號、交易日期為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_Dealing ON Dealing(DealingID, DealingDate)
GO
/*在商品信息表上建立一個以商品編號為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_MerchInfo ON MerchInfo(MerchID)
GO
/*在銷售表上建立一個以銷售編號、銷售日期為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_Sale ON Sale(SaleID, SaleDate)
GO
/*在入庫表上建立一個以入庫編號、入庫日期、商品編號為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_Stock ON Stock(StockID, StockDate, MerchID)
GO
/*創(chuàng)建視圖*/
/*創(chuàng)建用于查詢交易情況的視圖*/
CREATE VIEW v_Dealing
AS
SELECT DealingDate as 交易日期,
UserName as 員工名稱,
MemberCard as 會員卡號,
DealingPrice as 交易金額
FROM Dealing
GO
/*創(chuàng)建用于查詢進貨計劃的視圖*/
CREATE VIEW v_PlanStock
AS
SELECT Stock.StockID as SID,
MerchInfo.MerchName as 商品名稱,
MerchInfo.BarCode as 條形碼,
Factory.FactoryName as 廠商,
Provide.ProvideName as 供貨商,
Stock.MerchNum as 計劃進貨數(shù)量,
Stock.PlanDate as 計劃進貨日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=0
GO
/*創(chuàng)建用于查詢銷售明細(xì)記錄的視圖*/
CREATE VIEW v_Sale
AS
SELECT MerchInfo.MerchName as 商品名稱,
MerchInfo.BarCode as 條形碼,
MerchInfo.MerchPrice as 商品價格,
Sale.SalePrice as 銷售價格,
Sale.SaleNum as 銷售數(shù)量,
Sale.SaleDate as 銷售日期
FROM Sale INNER JOIN
MerchInfo ON Sale.MerChID = MerchInfo.MerchID
GO
/*創(chuàng)建用于查詢?nèi)霂烨闆r的視圖*/
CREATE VIEW v_Stock
AS
SELECT MerchInfo.MerchName as 商品名稱,
MerchInfo.BarCode as 條形碼,
Factory.FactoryName as 廠商,
Provide.ProvideName as 供貨商,
Stock.MerchPrice as 入庫價格,
Stock.MerchNum as 入庫數(shù)量,
Stock.TotalPrice as 入庫總額,
Stock.StockDate as 入庫日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=1
GO
7、小結(jié)
和傳統(tǒng)管理模式相比較,使用本系統(tǒng),毫無疑問會大大提高超市的運作效率,輔助提高超市的決策水平,管理水平,為降低經(jīng)營成本, 提高效益,減少差錯,節(jié)省人力,減少顧客購物時間,增加客流量,提高顧客滿意度,增強超市擴張能力, 提供有效的技術(shù)保障。
由于開發(fā)者能力有限,加上時間倉促,本系統(tǒng)難免會出現(xiàn)一些不足之處,例如:
? 本系統(tǒng)只適合小型超市使用,不能適合中大型超市使用;
? 超市管理系統(tǒng)涉及范圍寬,要解決的問題多,功能復(fù)雜,實現(xiàn)困難,但由于限于時間,本系統(tǒng)只能做出其中的一部分功能;
對于以上出現(xiàn)的問題,我們深表歉意,如發(fā)現(xiàn)還有其它問題,希望老師批評指正。
如何知道自己所寫的測試用例是否覆蓋完全??
測試用例是否覆蓋完全要進行以下測試:
1、數(shù)據(jù)完整性的測試
當(dāng)某數(shù)據(jù)被其它功能引用;或當(dāng)前功能要引用其它來源的數(shù)據(jù),就會涉及到數(shù)據(jù)完整性的測試。最常見的如被引用的數(shù)據(jù)刪除了,或關(guān)鍵字被修改了,引用的握培數(shù)據(jù)會否出錯;
2、后臺的特殊處理
是指某功能除了表面所見以外的程序處理。比如訂單錄入,表面所見的就是訂單的保存,但后臺還會有重復(fù)數(shù)據(jù)的判斷、非法數(shù)據(jù)的處理、業(yè)務(wù)邏輯上沖突情況的處理以及其它種種根據(jù)需求設(shè)計所特有的處理
3、功能業(yè)務(wù)之間的關(guān)聯(lián)與轉(zhuǎn)換
相關(guān)聯(lián)的幾個功能之間數(shù)據(jù)的傳遞,會否產(chǎn)生影響。比如新增錄入的某種特殊字符,要查詢時會引起查詢SQL語句異常;又如某下載文件名中存在中文等字符,下載時由于編碼問題導(dǎo)致亂碼的出現(xiàn);再有報表填寫時到小數(shù)點后四位,生成報文時會不會被忽略成兩位了等等。
4、從設(shè)計實現(xiàn)發(fā)掘測試點
這個就是我們測試中最難捉的BUG了,它往往是由編碼人員自己在編碼時創(chuàng)造出來的,連設(shè)計人員都不會知道。
此時若能確切知道采用的是哪種實現(xiàn)方法,就可以直接找到其漏洞所在。比如采用后一種方法,當(dāng)產(chǎn)品類別長度變化時,明顯系統(tǒng)會出錯。那么即使確認(rèn)該實現(xiàn)方式不改,測試人員也應(yīng)將其作為限制寫入測試報告。
5、并發(fā)肢皮橡操作時的測試
即兩個或多個用戶同時操作同一功能時,會否引起數(shù)據(jù)的混亂。通常在C/S結(jié)構(gòu)下,如果有同時操作的可能,是需要做此測試的;而在B/S結(jié)構(gòu)下由于其特殊性,此問題通常難以解決。
6、GUI界面的測試
這類測試是測試人員的強項,具體測試項目如限長、非法輸入等等,就不必贅述了。要提醒的是在測試時,一定要從實際使用者的操作習(xí)慣出發(fā)。要知道界面原型所能確定的也只是頁面的擺放顯示,而實際操作時的控制實現(xiàn)仍是編歷旁碼人員自行實現(xiàn)的。
7、數(shù)據(jù)初始化情況測試
不該為空的數(shù)據(jù)是否有校驗;該有默認(rèn)值的數(shù)據(jù)默認(rèn)值是否正確;引用其它功能生成的數(shù)據(jù),是否會實時刷新;頁面關(guān)閉或系統(tǒng)重啟后,數(shù)據(jù)的初始化設(shè)置等都是這類用例。
sql數(shù)據(jù)庫測試用例的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于sql數(shù)據(jù)庫測試用例,SQL數(shù)據(jù)庫測試用例:提高數(shù)據(jù)穩(wěn)定性的必要措施,數(shù)據(jù)庫課程設(shè)計實例,如何知道自己所寫的測試用例是否覆蓋完全??的信息別忘了在本站進行查找喔。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機房服務(wù)器托管/機柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機房租用、服務(wù)器托管、機柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動、聯(lián)通機房等。
網(wǎng)站標(biāo)題:SQL數(shù)據(jù)庫測試用例:提高數(shù)據(jù)穩(wěn)定性的必要措施(sql數(shù)據(jù)庫測試用例)
URL分享:http://m.5511xx.com/article/dpjppii.html


咨詢
建站咨詢
