




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、山西大學 計算機與信息技術學院數據庫系統課程設計論文題 目:小型超市管理系統數據庫設計組 長 徐振超 專 業 軟件工程 班 級 軟件工程三班 授課教師 白鶴翔 2014年5月14日小型超市管理系統數據庫設計學生姓名: 徐振超(2012242331) 文 博(2012242326)夏 雨(2012242329)午澤鵬(2012242328)荀毅杰(2012242332)楊 浩(2012242334)溫 博(2012242325)(按照貢獻大小排序)授課教師:李茹、白鶴翔 內容摘要 目前隨著小超市規模的發展不斷擴大,商品數量急劇增加,有關商品的各種信息量也成倍增長.超市時時刻刻都需要對商品各種信息
2、進行統計分析。但是現階段不少超市對于商品的管理還是以人力運作為主,缺乏標準化的管理.所以故設計了本超市管理系統利用數據庫對信息的統一、集中、規范化的管理以實現提高超市的管理和運營效率以節省管理和運營的成本、減輕人員工作強度,并支持簡單的決策輔助高層管理.首先對小型超市管理系統進行需求分析,確定了研究分析對象,以及要實現的基本功能,將需求分析結果以系統流程圖、數據流圖、數據字典的方式表現出來,并對保持整個系統的安全性和完整性制訂了方案方法。接著在概念設計階段確定了總體的任務和目標,將抽象的用戶需求轉化為概念模型,分別對商品、員工、供貨商、生產商、會員進行了詳細分析,同時統籌系統,得到系統ER圖,
3、為邏輯設計階段奠定基礎.在邏輯設計階段根據概念設計階段得到的系統及分層E-R圖的類型和一些實際需求轉化為相應的關系模型,并通過分析關系模型中依賴關系,對關系模型進行了優化,確定了在數據庫中存儲所用的關系模式,定義了基本表和視圖模式,,得到了數據庫的關系圖。在物理設計階段,確定了系統各個功能模塊并給出其活動圖與時序圖。根據以上得到的結果,構建出符合要求的數據庫,系統也實現了以下主要功能:商品錄入、收銀業務、進貨、銷售、庫存管理等。從而,實現對進貨、銷售及員工信息等實現管理.系統采用C+語言,MFC項目實現了功能界面。關鍵字: 超市管理 商品 數據庫 系統設計目錄1 引言52 需求分析階段52.1
4、 引言52。2 需求分析階段的目標與任務52.3 安全性與完整性62.4需求分析階段成果73 概念設計階段173。1 引言173.2 目標與任務173。3 階段結果174邏輯設計階段224。1邏輯設計的任務和目標224.2數據組織224.2。1將ER圖轉換為關系模型224。2.2模型優化234。2。3數據庫模式定義244。2。4 用戶子模式定義254.3數據處理265物理設計階段275。1物理設計階段的目標與任務275。2數據存儲方面275.3系統功能模塊275。3。1商品的查詢、添加、修改、刪除模塊275。3.2 員工的登入、查詢、顧客購買商品模塊295。3。3 會員的查詢、刪除、修改、添加
5、305。3.4 供貨商的查詢、刪除、修改、添加315。3.5 職工的查詢、刪除、修改、添加、密碼修改326數據庫實施階段336。1建立數據庫、數據表、視圖、索引336.1。1 建立數據庫336.1。2 建立數據表346。1。3 建立視圖356.1。4 建立索引366。1。5 建立觸發器366。2數據入庫377應用設計37408系統調試和測試479遇到的問題以及解決方案47各個學生貢獻的說明48參考文獻48附錄1 程序源代碼(嵌入式SQL某模塊讀與寫操作)48附錄2 數據查看和觸發器功能的驗證51附錄3 所有的SQL運行語句531 引言隨著社會的不斷發展,人們的生活水平越來越高,城市中的超市越來
6、越多,有的超市還出現了分店,因此需要一個超市管理系統來進行管理.經過需求分析,現在的超市含有很多功能,有商品管理、員工管理、會員管理、廠家管理等。為了完成功能,需要建立四個子數據庫:商品、員工、會員、廠家、密碼表,它們之間通過連接,訪問來完成功能。2 需求分析階段2.1 引言 如今,從我們的周圍可以發現有各種類型的超市,為人們提供了許多方便的服務,為了進一步改善,提出了超市的管理系統,通過制定一系列服務流程,使管理人員能夠按時定量的完成服務任務、保證超市食品與物品的質量安全,及時發現并添補缺少的商品,同時針對消費者,向其發送會員消費活動,不僅有效的實現了快捷服務,而且帶來社會和經濟效益。數據庫
7、是長期存儲在計算機內、有組織的、可共享的大量數據的集合,本系統在數據庫設計時根據用戶提出的要求和超市的前臺、后臺的運行管理需求,分為如下數據模塊:顧客信息、管理人員信息、商品信息。2。2 需求分析階段的目標與任務2.2。1處理對象(1)商品:商品編號、商品大小、商品名稱、生產日期、有效日期、生產地址、庫存量、商品價格、單位、商品類型;(2)員工:員工編號、性別、員工姓名、聯系方式、家庭住址、職位、身份證號、工資、入店時間、職工生日、年齡、注釋;(3)會員:會員編號、會員姓名、聯系方式、家庭住址、創建時期、積分、有效期;(4)供貨商:地址、電話號碼、郵政編碼、傳真、產品類型、庫存量;(5)密碼:
8、用戶、密碼;首先從需求分析階段中,確定了幾項基本的處理對象,有可能這些處理對象不完全,需要在后續的各個階段中不斷修改和完善。2.2。2處理功能及要求 2。2。1、零售前臺(POS)管理系統,本系統必須具有以下功能:(1)、商品錄入:根據超巿業務特點制定相關功能,可以通過輸入唯一編號、掃描條形碼、商品名稱等來實現精確或模糊的商品掃描錄入。該掃描錄入方法可以充分保證各種電腦操作水平層次的人員均能準確快速地進行商品掃描錄入。(2)、收銀業務:通過掃描條形碼或者直接輸入商品名稱(對于同類多件商品采用一次錄入加數量的方式)自動計算本次交易的總金額.在顧客付款后,自動計算找零,同時打印交易清單(包括交易的
9、流水賬號、每類商品的商品名、數量、該類商品的總金額、交易的時間、負責本次收銀的員工號)。如果顧客是本店會員并持有本人會員卡,則在交易前先掃描會員卡,并對所購物品全部實行95折優惠,并將所購物品的總金額累計到該會員的總消費金額中。 會員卡的有效期限為一年,滿一年未續卡者,該會員卡將被注銷。(3)、安全性:OS登陸、退出、換班與操作鎖定等權限驗證保護;斷電自動保護最大限度防止意外及惡意非法操作。(4)、獨立作業:有的斷網收銀即在網絡服務器斷開或網絡不通的情況下,收銀機仍能正常作業。2。2。2、后臺管理系統,本系統必須具備以下功能(1)、進貨管理: 根據銷售情況及庫存情況,自動制定進貨計劃(亦可手工
10、制定修改),可以避免盲目進貨造成商品積壓. 按計劃單有選擇性地進行自動入庫登記。 綜合查詢打印計劃進貨與入庫記錄及金額.(2)、銷售管理: 商品正常銷售、促銷與限量、限期及禁止銷售控制。 綜合查詢各種銷售明細記錄、各地收銀員收銀記錄以及交結賬情況等。 按多種方式統計生成銷售排行榜,靈活察看和打印商品銷售日、月、年報表.(3)、庫存管理: 綜合查詢庫存明細記錄. 庫存狀態自動告警提示.如庫存過剩、少貨、缺貨等。軟件為您預警,避免庫存商品積壓損失和缺貨. 庫存自動盤點計算.(4)、人員管理: 員工、會員、供貨商、廠商等基本信息登記管理。 員工操作權限管理。 客戶銷售權限管理。在執行這些功能的時候,
11、建立幾張數據庫表,通過索引、提供權限等來實現。2。3 安全性與完整性2。3。1安全性要求 系統安全性要求體現在數據庫安全性、信息安全性和系統平臺的安全性等方面.在本系統中主要有以下幾個方面:(1)權限問題在本系統中有三級管理系統:員工、經理、管理員.員工有簽到、結賬、商品庫存量、會員管理等;經理有簽到、結賬、每日收入結算、商品庫存量、廠家的進貨管理、會員管理等;管理員是系統的開發者,其擁有最高的管理權限,在系統發生錯誤是能夠進行修理和維護。(2)員工、商品、會員管理超市中有很多商品,各中商品的管理,不要發生商品管理混亂,價格發生變化.員工、會員的信息不能隨便泄露,防止外部攻擊.2。3。2完整性
12、要求系統完整性要求系統中數據的正確性以及相容性。可通過建立主、外鍵,確定了每個表中的主碼,若主碼唯一,允許對表插入或修改,若不唯一則拒絕,并且判斷主碼的屬性是否為空,只要有一個為空就拒絕插入或修改;與此同時設立了一個表與其他表相關聯的外碼,對于插入,修改等操作,涉及違約等可能破壞參照完整性的情況,可以進行拒絕、級聯刪除、設為空值等操作;對于用戶完整性的要求,對屬性或元組使用check 約束,例如,在定義員工的年齡不能小于0,性別只能為男或女;有的值不能為空,若為空則沒有意義整個元組不完整,則需要表示Not null;通過定義實體完整性、參照完整性、用戶定義完整性使其滿足完整性要求.2。4需求分
13、析階段成果2。4。1體會與收獲系統需求分析主要是通過對已有的超市管理系統的功能進行參考,了解各個超市的收銀系統是怎樣進行工作的來進行小票的打印,對超市里貨物管理和人事管理進行了解,進行表和視圖的建立,在這些功能的基礎上在繪制系統業務流程圖,遇到了很多的問題,有的問題沒法合理的表示出來,需要在過程中才會反應出來,仍需要繼續改進,通過老師的幫助與指導,和組員之間一遍一遍的分析和完善,才逐步把業務各個過程了解清楚,最終順利完成了需求分析階段的任務.2。4.2小型超市管理系統功能模塊圖1、 系統總體層次結構(如圖(1)所示)2、 收銀業務功能模塊圖功能描述:收銀業務子系統是在顧客購買了商品以后,員工對
14、顧客所賣的商品計算總價并打印小票(如圖(2)所示)。另外,在顧客中分會員和非會員,會員享受95折優惠,顧客購買商品流程圖如圖(3)所示 3、 銷售管理功能模塊圖功能描述:銷售管理子系統可以控制某商品是否允許銷售,是否進行促銷,同時還可以查詢商品的屬性,自動生成年、月、日報表,同時還生成銷售排行榜,銷售管理子系統如圖(3)所示。4、 庫存管理子系統功能模塊圖功能描述:綜合查詢庫存明細記錄. 庫存狀態自動告警提示,如庫存過剩、少貨、缺貨等.軟件為您預警,避免庫存商品積壓損失和缺貨。 庫存自動盤點計算。(如圖(5)所示)5、 人員管理功能子系統功能描述:人員管理可以對員工、會員的錄入,調整進行綜合管
15、理,另外還有員工的權限管理2。4。3 小型超市管理系統數據流圖1. 小型超市管理系統頂層數據流圖(如圖(7)所示)2. 小型超市管理系統第二層數據流圖(如圖(8)所示)3 超市管理系統第三層數據流圖3。1 銷售管理子系統3。2 采購管理子系統 圖(10)第三層采購管理子系統 3.3數據查詢子系統圖(11)第三層數據查詢子系統 3。4 人員管理子系統圖(12)第三層-人員管理數據流圖2.4。4小型超市管理系統數據字典(1)數據項表1.1 數據項列表數據項編號數據項名數據項含義所屬基本表存儲結構別名DL1商品編號確定商品商品char(4)DL-2商品名稱名稱商品char(40)商品名DL-3商品大
16、小銷售量商品char(4)DL4價格商品char(4)DL5單位商品char(4)DL-6生產日期商品char(20)DL7有效日期商品char(20)有效期DL8生產地址商品char(20)DL-9類型商品所屬商品char(6)DL-10庫存量商品char(10)DL11職工編號確定職工職工表char(4)DL-12職工姓名姓名職工表char(20)DL13性別職工表char(2)DL14職務職工表char(4)DL-15工資職工表intDL16入店時間職工表char(10)DL17職工生日職工表char(5)生日DL18身份證號職工表char(18) DL19聯系方式職工表char(11)
17、DL20家庭住址職工表char(40)DL21年齡員工年齡職工表char(3)DL22會員號確定會員會員表char(4)DL23姓名會員姓名會員表char(20)會員姓名DL24創建日期會員表char(10)DL25積分會員表intDL26聯系電話會員表char(11)DL-27地址會員地址會員表char(40)DL28有效期會員表char(10)會員時間DL29供貨商編號供貨商表char(4)DL-30供貨類型供貨商表char(4)DL31名稱供貨商表char(10)供貨商名稱DL-32聯系方式供貨商表char(4)DL-33地址供貨商表char(40)DL-34用戶名密碼表char(4)D
18、L35密碼用戶密碼密碼表char(10)(2)數據結構表1。2 數據結構列表數據結構編號數據結構名數據結構含義組成DS1商品表存儲商品信息商品編號、商品名稱、商品大小、單位、價格、生產日期、有效日期、生產地址、商品類型、庫存量DS2員工表存儲員工信息員工編號、員工姓名、員工性別、職務、工資、家庭住址、聯系方式、身份證號、職工生日、入店時間年齡DS-3會員表存儲會員信息會員號、姓名、創建日期、有效期、積分、聯系電話、家庭地址DS4供貨商表存儲供貨商信息供貨商編號、名稱、供貨類型、聯系方式、地址DS5密碼表存儲員工密碼用戶名、密碼3 概念設計階段3.1 引言 系統設計的總體目標是實現超市購物的系統
19、化和自動化,提高購物的質量和水平,做到高效、智能化管理. 系統主要實現的功能是商品錄入、收銀業務、進貨管理、小時管理、庫存管理、人員管理,同時還要實現獨立性作業,對數據庫的安全要進行防護。 概念設計階段主要是將需求分析階段得到的用戶需求抽象為信息結構(概念模型)的過程,它是整個數據庫設計的關鍵。3.2 目標與任務 (1)選擇中層數據流為切入點,通常選擇實際系統中的子系統; (2)設計分E-R圖,即各子模塊的ER圖; (3)生成初步ER圖,通過合并方法,做到各子系統實體、屬性、聯系統一; (4)生成全局E-R圖,通過消除沖突等方面。本超市管理系統,從銷售管理、人員管理、庫存管理三個子系統的流程圖
20、下手。分析各個子系統的數據流圖和數據字典,來畫出各自的ER圖,根據實體與屬性間的兩條準則:作為“屬性”,不能再具有需要描述的性質。“屬性”不能與其他實體具有聯系。從分層的數據流圖可以分出三個子系統,分別是人員管理子系統、貨物管理子系統、銷售管理子系統某一層的數據流圖中,每個局部應用都對應了一組數據流圖,局部應用涉及的數據都已經收集在數據字典中了。現在將這些數據從數據字典中抽取出來,根據數據流圖,確定實體之間的聯系及其類型。根據數據流圖(9),畫出了銷售管理ER圖;根據數據流圖(10),畫出了貨物管理ER圖;根據數據流圖(12),畫出了人員管理ER圖.對于三個分ER圖,通過消除屬性沖突,例如將所
21、有的編號都統一為數值型,將所有的用戶名和密碼統一為字符型,將聯系方式統一為字符型;消除命名沖突,將同名異義的取不同的名稱,將異名同義的改為統一名稱;消除結構沖突,將實體的屬性統一,對在不同ER圖中相同實體的不同聯系進行調整,得到了系統的ER圖(圖3.4)。3。3 階段結果(1)根據不同的對象,從第二層數據流圖開始,畫出各自的ER圖:(a) 銷售管理ER圖: 圖(13) 銷售管理E-R圖(b) 貨物管理ER圖:圖(14) 貨物管理ER圖(c) 人員管理E-R圖圖(15)人員管理ER圖(d) 合并ER圖生成總的ER圖圖(16)系統總體ER圖(2)各ER圖各實體主要屬性如下所示 (a) 商品ER圖圖
22、(17)商品屬性(b) 會員ER圖圖(18)會員屬性(c) 供貨商ER圖圖(19)供貨商屬性(d) 職工ER圖圖(20)職工ER圖(e) 密碼E-R圖圖(21)密碼表屬性4邏輯設計階段4。1邏輯設計的任務和目標 以上的概念設計階段是獨立于任何一種數據模型的,但是邏輯設計階段就與選用的DBMS產品發生關系了,系統邏輯設計的任務就是將概念設計階段設計好的基本E-R圖轉換為選用DBMS產品所支持的數據模型相符合的邏輯結構.具體內容包括數據組織(將ER圖轉換成關系模型、模型優化、數據庫模式定義、用戶子模式設計)、數據處理(畫出系統功能模塊圖)兩大任務。4.2數據組織4。2.1將ER圖轉換為關系模型 1
23、、買家和商品的關系為(1:n) ,在這里我們建立有會員表,因為這些關系建立在一張表中會造成數據的冗余存儲,浪費空間。因此,商品信息和會員信息是放在兩張表中進行存儲的,通過會員名來進行關聯。 2、供貨商和商品的關系為(1:n),在建立商品表的時候,建立了供貨商來源,為了防止數據的冗余存儲,在建立供貨商表時沒有寫供貨商提供的商品,而是提供了供貨商提供的產品類型,通過兩張表來進行關聯,因此,兩張表分開建。 3、職工表單獨成表,與其他表沒有數據關聯,通過職工號來提供主碼,對員工進行查找和刪除. 4、密碼表為了方便對員工進行管理,分開建表。 通過以上的描述得出了以下關系模型商品(商品編號、商品名稱、商品
24、大小、價格、單位、生產日期、有效日期、生產地址、商品類型、庫存量)職工(職工編號、職工姓名、年齡、性別、職務、工資、入店時間、職工生日、身份證號、聯系方式、家庭住址)會員(會員號、姓名、創建日期、積分、聯系電話、地址)供貨商(供貨商編號、供貨商名稱、供貨類型、聯系方式、地址)密碼(用戶名、密碼)(注:加粗的為主屬性、有波浪下滑線的為外碼,主屬性和外碼共同構成主碼)4。2。2模型優化根據以上得到的關系模型來進行優化: 商品信息:商品編號商品名稱,商品編號商品大小,商品編號價格,商品編號單位,商品編號生產日期,商品編號有效期,商品編號生產地址,商品編號商品類型,商品編號庫存量. 該關系滿足BCNF
25、,商品類型是供貨商表的外碼,該表的主碼只有商品編號,因此不需要進行優化。 職工信息:職工編號職工姓名,職工編號性別,職工編號職務,職工編號工資,職工編號入店時間,職工編號職工生日,職工編號身份證號,職工編號聯系方式,職工編號家庭地址,職工編號年齡,身份證號職工編號,身份證號職工姓名,身份證號性別,身份證號職務,身份證號工資,身份證號入店時間,身份證號職工生日,身份證號聯系方式,身份證號家庭地址,身份證號年齡,聯系方式職工編號,聯系方式職工姓名,聯系方式性別,聯系方式職務,聯系方式工資,聯系方式入店時間,聯系方式職工生日,聯系方式身份證號,聯系方式家庭住址,聯系方式年齡. 該關系滿足2NF,在身
26、份證號和聯系方式中存在傳遞依賴,若把職工編號和身份證號建個表,職工編號和聯系方式建個表,將會滿足BCNF,但使用起來比較繁瑣,效率降低,一般只用職工編號去得到其他信息,所以在這里分表也沒有必要。 會員信息:會員號姓名,會員號創建日期,會員號積分,會員號聯系電話,會員號家庭地址,聯系方式會員號,聯系方式姓名,聯系方式創建日期,聯系方式積分,聯系方式家庭住址。 該關系滿足2NF,在聯系方式中存在傳遞依賴,若把會員號和聯系方式建個表,將會滿足BCNF,但使用起來比較繁瑣,效率降低,一般只用會員號去得到其他信息,所以在這里分表也沒有必要. 供貨商信息:供貨商編號供貨商名稱,供貨商編號供貨類型,供貨商編
27、號聯系方式,供貨商編號地址,聯系方式供貨商編號,聯系方式供貨商名稱,聯系方式供貨類型,聯系方式地址,供貨類型供貨商編號,供貨類型供貨商名稱,供貨類型聯系方式,供貨類型地址. 該關系滿足2NF,在供貨類型和聯系方式中存在傳遞依賴,若把供貨商編號和供貨類型,供貨商編號和聯系類型建個表,將會滿足BCNF,但使用起來比較繁瑣,效率降低,一般只用會員號去得到其他信息,所以在這里分表也沒有必要. 密碼信息:用戶名密碼 該關系滿足BCNF不需要優化。4。2.3數據庫模式定義表2.1 商品表列名數據類型可否為空說明商品編號Charnot null商品號(PK)商品名稱Charnot null商品名商品大小Ch
28、arnot null大小價格Charnot null價格單位Charnot null單位生產日期 char生產日期有效期 Char 有效日期生產地址 Char地址類型 Char商品類型庫存量 IntNot null 庫存量表2。2 職工表列名數據類型可否為空說明職工編號Charnot null職工號(PK)職工姓名Charnot null姓名性別Charnot null性別工資intnot null工資入店時間Char入店時間職工生日 charNot null生日身份證號 Char Not null省份證號聯系方式char Not null 家庭住址Charnot null家庭住址年齡Char
29、not null員工年齡表2。3 會員表列名數據類型可否為空說明 會員號Charnot null會員號(PK)姓名Charnot null姓名創建日期Charnot null日期積分Charnot null積分聯系方式Charnot null聯系方式地址 char地址表2。4 供貨商列名數據類型可否為空說明供貨商編號Charnot null商品編號(PK)供貨名稱Charnot null名稱供貨類型Charnot null類型聯系方式Charnot null電話地址Charnot null地址表2。5 密碼表列名數據類型可否為空說明用戶名IntNot null用戶名(PK)密碼CharNot
30、null密碼4.2。4 用戶子模式定義表2。6 用戶子模式定義編號用戶子模式(View)作用(共性:提供數據保密和安全保護機制)V1員工視圖便于員工查詢員工信息V2商品類型大便于查看商品類型為大的商品V3商品類型小便于查看商品類型為小的商品V4商品類型中便于查看商品類型為中的商品表2。7 員工視圖列名數據類型可否為空說明職工編號intnot null職工編號職工姓名Charnot null姓名性別Charnot null性別年齡Charnot null年齡職務Charnot null職務職工生日intnot null生日聯系方式Floatnot null聯系方式表2.8 商品類型大視圖列名數據
31、類型可否為空說明商品編號intnot null商品編號商品類型Charnot null商品類型商品名稱Charnot null商品名稱單位Charnot null單位價格Charnot null價格生產日期intnot null生產日期有效日期Floatnot null有效日期列名數據類型可否為空說明庫存量1intnot null庫存量表2。9 商品類型中視圖列名數據類型可否為空說明商品編號intnot null商品編號商品類型Charnot null商品類型商品名稱Charnot null商品名稱單位Charnot null單位價格Charnot null價格生產日期intnot null生
32、產日期有效日期Floatnot null有效日期庫存量1intnot null庫存量表2。10 商品類型小視圖列名數據類型可否為空說明商品編號intnot null商品編號商品類型Charnot null商品類型商品名稱Charnot null商品名稱單位Charnot null單位價格Charnot null價格生產日期intnot null生產日期有效日期Floatnot null有效日期庫存量1intnot null庫存量4。3數據處理系統功能模塊圖5物理設計階段5。1物理設計階段的目標與任務 數據庫的物理設計就是為邏輯數據模型選取一個最合適應用要求的物理結構的過程,在這個階段中要完成兩
33、大任務:(1)確定數據庫的物理結構,在關系數據庫中主要是存取方法和存儲結構;(2)對物理結構進行評價,評價的重點是時間和空間效率.5.2數據存儲方面 1.建立索引:因為每個基本表都不是獨立的一張表,至少與其他一張表有聯系,因為這些關系經常要進行一些連接操作。所以把多個連接關系的元組按照連接屬性值聚集存放,也就是之前定義的外碼。這樣就相當于把多個關系按預連接的形式存放,在連接的時候會提高效率.為數據庫建立的聚積索引為: 2:標識規范中標識增量:因為有編號的表經常要進行刪除,插入,對這些表都有個屬性叫做“*編號”,對于這些編號增加標識規范,讓DBMS控制這些編號,在系統設計時會很方便操作。5。3系
34、統功能模塊5.3。1商品的查詢、添加、修改、刪除模塊 將實現員工對商品的查詢、添加、刪除、修改所有功能(1) 商品查詢模塊圖(22)商品查詢(2) 商品添加模塊圖(23)商品添加模塊(3) 商品刪除模塊圖(24)商品刪除模塊 (4) 商品修改模塊圖(25)商品修改模塊5.3。2 員工的登入、查詢、顧客購買商品模塊 在模塊將實現員工的登入、查詢、顧客購買商品等所有功能(1) 員工登入模塊圖(26)員工登入 (2)員工查詢 圖(27) 員工查詢(2) 顧客購買商品圖(28)顧客購買商品5。3。3 會員的查詢、刪除、修改、添加 在模塊中實現會員的查詢、刪除、修改、添加(1) 會員查詢模塊:圖(29)
35、會員查詢(2) 會員刪除模塊圖(30)會員刪除 (3) 會員修改模塊圖(31)會員修改(4) 會員添加模塊圖(32)會員添加5。3。4 供貨商的查詢、刪除、修改、添加 本模塊實現供貨商的查詢、刪除、修改、添加(1) 供貨商的查詢圖(33)供貨商查詢(2) 供貨商的刪除圖(34)供貨商刪除(3) 供貨商的修改圖(35)供貨商的修改(4) 供貨商的添加圖(35)供貨商的添加5。3。5 職工的查詢、刪除、修改、添加、密碼修改 本模塊實現職工的查詢、刪除、修改、添加和密碼修改(1) 職工的查詢圖(36)職工的查詢(2) 職工的刪除圖(37)職工的刪除(3) 職工的修改圖(38)職工的修改(4) 職工的
36、添加圖(39)職工的添加(5) 職工密碼修改圖(40)職工密碼的修改6數據庫實施階段6.1建立數據庫、數據表、視圖、索引6。1。1 建立數據庫 create database 小型超市管理系統6.1。2 建立數據表(1)商品表的建立 create table商品( 商品編號 CHAR(10) PRIMARY KEY NOT NULL, 商品名稱 CHAR(20) NOT NULL, 商品大小 CHAR(4) NOT NULL CHECK (商品大小 IN (大,中,小), 價格 CHAR(10) NOT NULL, 單位 CHAR(10) NOT NULL, 商品類型 CHAR(2) NOT
37、NULL, 生產日期 CHAR(20), 有效日期 CHAR(20), 生產地址 CHAR(40), 庫存量 INT NOT NULL,); (2)職工表的建立 create table 職工 ( 職工編號 CHAR(10) PRIMARY KEY NOT NULL, 職工姓名 CHAR(20) NOT UNLL, 性別 CHAR(4) CHECK (性別 IN (男,女), 職務 CHAR(4), 工資 INT, 入店時間 CHAR(10), 職工生日 CHAR(10), 身份證號 CHAR(20) NOT NULL, 聯系方式 CHAR(13) NOT NULL, 家庭住址 CHAR(40
38、), 年齡 INT,); (3)會員表的建立 create table 會員 ( 會員號 CHAR(10) PRIMARY KEY NOT NULL, 姓名 CHAR(10) NOT NULL, 創建日期 CHAR(10) NOT NULL, 積分 INT, 聯系電話 CHAR(16), 地址 CHAR(40), ); (4) 供貨商表的建立 Create table 供貨商 ( 供貨商編號 CHAR(10) PRIMARY KEY NOT NULL, 供貨商名稱 CHAR(10) NOT NULL, 供貨類型 CHAR(6) NOT NULL, 聯系方式 CHAR(15) NOT NULL,
39、 地址 CHAR(40), ); (5) 密碼表的建立 Create table 密碼 ( 用戶 CHAR(10) PRIMARY KEY NOT NULL, 密碼 CHAR(10) NOT NULL, ); 6。1.3 建立視圖(1) 在員工查看信息的時候,有部分的信息是需要隱藏的,例如:工資、身份證號等,因此需要建立視圖來把部分信息隱藏,視圖定義如下: create view cz(bianhao,xingming,xingbie,nianling,zhiwu,shengri,dianhua)asselect 職工編號,職工姓名,性別,年齡,職務,職工生日,聯系方式FROM zhigong
40、 (2)在建立員工表的時候需要產生缺貨提醒,因此在建表的時候,把商品按銷售量分成大、中、小三類來進行區分商品大的視圖CREATE VIEW 商品大AS SELECT 商品編號,商品類型,商品名稱,單位,價格,生產日期,有效日期,生產地址,庫存量1FROM shangpinWHERE 商品大小=大;商品中的視圖CREATE VIEW 商品中AS SELECT 商品編號,商品類型,商品名稱,單位,價格,生產日期,有效日期,生產地址,庫存量1FROM shangpinWHERE 商品大小=中;商品小的代碼CREATE VIEW 商品小AS SELECT 商品編號,商品類型,商品名稱,單位,價格,生產
41、日期,有效日期,生產地址,庫存量1FROM shangpinWHERE 商品大小=小;6.1。4 建立索引 (1)商品表索引的建立CREATE INDEX 商品索引ON shangpin(商品編號); (2)會員表索引的建立CREATE INDEX 會員索引ON huiyuan(會員號);6.1。5 建立觸發器 (1)在員工工資低于2000元的時候,系統自動把工資改為2000元,代碼實現如下: CREATE TRIGGER DpON zhigongAFTER INSERTAS IF(SELECT 工資 FROM INSERTED)2000DECLARE P CHAR(10)SELECT P=I
42、NSERTED。職工編號FROM INSERTEDBEGINUPDATE zhigongSET 工資=2000WHERE P=職工編號END6.2數據入庫 系統包括商品管理、會員管理、供貨商管理、員工管理、結賬等五大模塊,另外,還有一些小的功能模塊.一共涉及5張基本表,初始的幾個數據都是小組模擬編輯的數據,所以直接在數據庫管理系統中,對各個表進行數據錄入。后續數據在程序中動態增刪.7應用設計(1)登陸窗口:只有在用戶名、密碼都正確的情況下,并且選擇身份與用戶名所在身份相符,才能登錄相應的窗口.(2)結賬:顧客在購買了東西了以后,在前臺進行結賬,如果是會員的話享受95折優惠。在結賬之后會打印一張
43、小片。(3)商品管理:員工可以對商品進行查詢、添加、刪除。 商品管理界面商品查詢商品修改商品添加(3)會員管理:員工可以對會員進行修改、添加、刪除、查詢. 會員主界面查詢會員添加會員修改會員(4)供貨商管理:員工對供貨商進行進行修改、添加、刪除、查詢. 供貨商主界面供貨商查詢添加供貨商修改供貨商(5)員工管理:在超市中只有經理可以對員工進行添加、查詢、添加、同時進行密碼管理。員工管理總界面查詢員工修改員工添加員工對員工的密碼進行管理8系統調試和測試 對小型超市管理系統系統進行測試,驗證每個功能是否符合要求,具體的測試如下:(1)通過視圖查看各個基本表和視圖中的數據(見附錄2)(2)檢測各個觸發
44、器的功能:(見附錄2)(3)對應用程序的測試(通過界面操作和數據庫中各個表格檢查,確認所有功能都能夠正確的操作數據庫,必須提供相應的檢查步驟和結果,可以以附錄的形式提供)9遇到的問題以及解決方案(1)數據庫與MFC的數據類型轉化問題。 在用C+寫MFC程序的時候存在C+與數據庫的數據類型轉化問題,例如數據庫的TEXT、DATE、TIME等類型在C+中無法進行轉化。因此在建表的時候都使用了CHAR或INT類型的數據類型。 (2)插入商品、刪除商品時,商品的編號是否能夠實現自動排序。 在超市進行管理的時候會對員工、會員、供貨商、商品進行刪除、插入操作,在刪除或插入的時候編號也會刪除,因此需要對數據
45、庫表進行重新排序,通過調試以后發現,數據庫默認對數據編號進行由大到小進行排序. (3)修改商品時,商品的編號不能進行改動。 在對商品、會員、供貨商、員工進行改動的時候編號不允許進行改動,因為,編號可以改動會照成數據庫的的混亂,因此不建議對數據庫里的表的編號進行改動. (4)在前臺輸入的時候,權限不對情況下,系統會彈出3119問題. 前臺輸入的時候員工有可能不知道數據庫設置了約束,如在我們測試的時候,做員工表,對數據庫的員工表的商品大小設置只能為大、中、小三種,因此當輸入其他字符的時候數據庫會報出3119問題。 (5)圖標圖形化的時候,列表受到影響。 在程序做完的時候要進行界面美化,在涉及到有表
46、格的時候不能進行美化,因為如果進行美化會影響整個數據庫的表。因此,在美化的時候只對界面進行了美化. 各個學生貢獻的說明 在做系統的時候每個組員都參與了數據庫的建設,現把各成員的貢獻描述如下: 徐振超:建立了商品表,密碼表,并在商品表上建立了視圖,畫了軟件結構圖,寫了數據字典.對文檔進行了編寫,軟件界面布局.參與了模型優化討論。 午澤鵬:建立了會員表,畫出了整個系統的功能模塊圖,參與了界面優化.對關系模型優化參與了討論 夏雨:建立了職工表,并在職工表上建立了觸發器,視圖.畫出了系統的ER圖及各實體的屬性,并把E-R圖轉化為關系模型。對關系模型優化參與了討論。 楊浩:建立了供貨商,畫出了系統的分層
47、數據流圖,參與了關系模型的優化討論,界面優化.對最后的文檔進行了美化。文博:MFC連接數據庫。小型超市的界面編程,界面美化,寫了文檔的代碼部分。 荀毅杰:MFC連接數據庫.與文博一起進行了界面的編程界面美化的過程. 溫博:對軟件進行了需求分析,以及總結了軟件包括的功能,并且畫出了軟件流程圖,參與了界面的優化和關系模型優化的討論. 注:在每位同學每完成一個任務之后都會進行小組討論,最后采取統一的一件.對不足的地方進行修改,使系統做的更加完善。參考文獻數據庫方面:數據庫系統概論 作者:王姍,薩師煊MFC可視化編程 作者:孫鑫附錄1 程序源代碼(嵌入式SQL某模塊讀與寫操作)我們對數據庫的訪問主要是
48、采用了C+通過ADO方式訪問數據庫方式,訪問數據庫的C+代碼如下:我們建立了一個ADO類,通過類的調用來訪問SQL 2008數據庫。1.ADO類代碼:ADOsql。hclass ADOsql public:_ConnectionPtr m_pConnection;/添加一個指向Recordset對象的指針:_RecordsetPtr m_pRecordset;.ADOsql();virtual ADOsql();void OnInitADOConn();/ 執行查詢_RecordsetPtr GetRecordSet(_bstr_t bstrSQL);/ 執行SQL語句,Insert Update _variant_tBOOL ExecuteSQL(_bstr_t bstrSQL);void ExitConnect();ADOsql。cppADOsql:ADOsql()ADO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 地鐵運營誰管理制度
- 外協出入庫管理制度
- 多學科門診管理制度
- 大公司薪酬管理制度
- 大型膩子廠管理制度
- 大宗祠值班管理制度
- 大潤發薪酬管理制度
- 天心erp管理制度
- 學員組織與管理制度
- 學校咨詢部管理制度
- 2025年山東產權交易集團有限公司招聘筆試參考題庫含答案解析
- 2024年04月湖州銀行杭州分行社會招考綜合柜員筆試歷年參考題庫附帶答案詳解
- DB32-T 4878-2024 居住區供配電設施建設標準
- 2025年河北交通投資集團公司招聘筆試參考題庫含答案解析
- 《心肺運動試驗介紹》課件
- 2024年05月恒豐銀行上海分行零售金融部社會招聘(4人)筆試歷年參考題庫附帶答案詳解
- 經濟師考試知識產權高級經濟實務新考綱題庫詳解(2025年)
- 醫院培訓課件:《失血性休克的急救護理》
- 【MOOC】模式識別-青島大學 中國大學慕課MOOC答案
- 透析患者貧血的護理
- 【MOOC】電子線路設計、測試與實驗(二)-華中科技大學 中國大學慕課MOOC答案
評論
0/150
提交評論