數據庫超管理系統_第1頁
數據庫超管理系統_第2頁
數據庫超管理系統_第3頁
數據庫超管理系統_第4頁
數據庫超管理系統_第5頁
已閱讀5頁,還剩7頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、超市管理系統不一定要那么多的表系統數據庫表結構數據庫表索引表名中文名Userifo系統用戶表Supplier供貨商信息表GoodsType商品類型表Goods商品信息表Buy進貨表Sale銷售表Spoilage損壞商品表自定義數據類型(custem)字段名數據類型長度主/外鍵字段值約束對應中文名gcxCaptio nVarchar100Not null實體名稱gxcIDInt4PNot null實體號gxcMoneySmallmoney4Not null進貨銷售金額gxcRemar kVarchar1000Null備注說明gxcTrueNameVarchar10Not null真實姓名商品信息

2、表(Goods)字段名數據類型長度主/外鍵字段值約束對應中文名GoodsIDgxcID4PNot null商品號碼GoodsNa megxcCaption100Not null商品名稱AmountDecimal19Not null庫存數量UnitNam egxcCaption100Not null單位名稱TypelDgxcID4Not null商品類型號SupplierlDgxcID4Not null商品供貨商號IntroducegxcRema rk1000Null商品介紹RemarkgxcRema rk1000Null備注用戶表(UserInfo)字段名字段類型長度主/外鍵字段值約束對應中文

3、名UserIDgcxID4PNot null用戶號UserNamegxcCapti on100Not null用戶名稱PasswordgxcCapti on100Not null用戶密碼TrueNamegxcTrueName10Null真實姓名LastLoginTimeDatetime8Not null最近登錄時間UserTypeBit1Not Null用戶類型銷售表(Sale)字段名字段類型長 度主/外 鍵字段值約束對應中文名SaleIDgxcID4PNot null銷售號GoodsIDgxcID1FNot null商品號AmountDecimal9Not null銷售數量UnitPrice

4、gxcMone4Not null單價yregistrarlDgxcID4Not null錄入人員號regDateDatetime8Null登記時間RemarkgxcRemarkr10001Null備注進貨信息表(Buy)字段名字段類型長度主/外鍵字段值約束對應中文名BuyIDgxcID4PNot null進貨編號GoodsIDgxcID4Not null商品編號AmountDecimal9Not null數量UnitPricegxcMone y4Not null進貨單價DeliverergxcTrueName10Null送貨員TransactorgxcTrueName10Null辦理員Regi

5、strarIDgxcID4FNot null錄入人員號RegdateDatetime8Not null登記時間RemarkgxcRem ark1000Null備注損壞商品表(Spoilage)字段名字段類型長 度主/外 鍵字段值約束對應中文名SpoilageIDgxcID4PNot null損壞事件號BuyIDgxcID4FNot null商品編號AmoutDecimal9Not null數量ReportorgxcTrueN ame10Not null報損人ReasonkgxcRemar0100null損壞原因RegistrarIDgxcID4Not Null錄入人員號Regdatedatet

6、ime8Datetime登記時間供貨商表(Supplier)字段名字段類型長度主/外鍵字段值約束對應中文名SupplierIDgxcID4PNot null供貨商編號SupplierNamgxcCapti on100Not null供貨商名稱ContactgxcRem ark1000Null聯系方式IntroducegxcRem ark1000Null簡要介紹RemakrgxcRem ark1000Null備注關系圖約束設計數據庫關系圖如下:物理結構設計系統的存儲物理結構由數據庫來生成。以下為幾個例子查看存在ID字段不為某個值但某個字符型字段等于某個值/*查看某個數據表中*/CREATE PR

7、OC dbo.ExistNameWithoutID(strTableName varchar(255),-表名strIDName varchar(255),-ID 字段名intIDValue int,-ID 字段值-字符型字段名strFieldName varchar(255),strFieldValue varchar(50),-字符型字段值bitResult bit OUTPUT-輸出值,0為不存在,1為存在)ASSET NOCOUNT ONDECLARE strSQL varchar(3000)-主語句DECLARE nCount int-返回記錄行數/*創建存儲符合條件的記錄數的臨時表

8、*/IF OBJECT_ID('dbo.#tmpTable') IS NULLCREATE TABLE #tmpTable(tmpField int)-創建臨時表ELSETRUNCATE TABLE #tmpTable-清空臨時表/*在數據庫表中檢索符合條件的記錄數并存儲在臨時表中*/SELECT strSQL = 'SELECT COUNT(' + strFieldName + ') FROM ' + strTableName + 'WHERE ' + strFieldName + ' = '''

9、 + strFieldValue + '"' + ' AND ' + strIDName + ' <> ' +CONVERT(varchar(50),intIDValue)SELECT strSQl = 'INSERT #tmpTable ' + strSQLEXEC(strSQL)/*在臨時表中返回存儲的記錄數 */SELECT TOP 1 nCount = tmpField FROM #tmpTable ORDER BY tmpField/*刪除臨時表*/DROP TABLE #tmpTable/*輸出參

10、數*/IF nCount > 0SELECT bitResult = 1ELSESELECT bitResult = 0GOSET QUOTED_IDENTIFIER OFFGOSET ANSINULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_NULLS ONGO添加一條商品信息/*添加一條商品信息,輸出商品編號和執行結果*/CREATE PROC dbo.GoodsAddNew(GoodsName varchar(100), -商品名稱Amount decimal(18, 2),-庫存數量TypeID int,-類型編號UnitName varc

11、har(100),-單位SupplierIDint,-供貨商編號Introduce varchar(1000),-商品介紹Remarkvarchar(1000), -備注ID int OUTPUT,-商品編號ReturnValue int OUTPUT -執行結果(VB組件的自定義枚舉值)ASDECLARE ErrNo int-保存錯誤號BEGIN TRANSACTION-開始事務/*手動維護數據唯一性的代碼。*/DECLARE ExistName bitEXEC ExistByName 'Goods', 'GoodsName', GoodsName, Exis

12、tName OUTPUTIF ExistName = 1-當前商品名稱已存在BEGINROLLBACK TRANSACTION -回滾事務SELECT ReturnValue = 3-返回 VB組件的自定義枚舉值RETURN-結束存儲過程END/*添加記錄*/INSERT INTO Goods Values(GoodsName, Amount, UnitName, TypeID,SupplierID, Introduce, Remark)-記錄當前的錯誤號SELECT ErrNo = ERROR/*輸出參數*/IF ErrNo = 0-沒有發生錯誤BEGINSELECT ID = (SELEC

13、T MAX(GoodsID) FROM Goods)SELECT ReturnValue = 0ENDELSE IF ErrNo = 2627-違反唯一約束BEGINROLLBACK TRANSACTION-遇到錯誤則回滾事務SELECT ReturnValue = 3RETURNENDELSE-其他未知錯誤BEGINROLLBACK TRANSACTION-遇到錯誤則回滾事務SELECT ReturnValue = 1RETURNENDCOMMIT TRANSACTION-提交事務GOSET QUOTED_IDENTIFIER OFFGOSET ANSINULLS ONGOSET QUOTE

14、DIDENTIFIER ONGOSET ANSI_NULLS ONGO刪除一條商品信息/*刪除一條商品信息,輸出執行結果*/CREATE PROC dbo.GoodsDelete(GoodsID int,-商品編號ReturnValue int OUTPUT -執行結果(VB組件的自定義枚舉值)ASDECLARE ErrNo int-保存錯誤號BEGIN TRANSACTION-開始事務/*驗證是否存在當前商品編號,若否則不能刪除*/DECLARE ExistID bitEXEC ExistByID 'Goods', 'GoodsID', GoodsID, Ex

15、istID OUTPUTIF ExistID = 0-當前商品編號不存在BEGINROLLBACK TRANSACTION -回滾事務SELECT ReturnValue = 2-返回 VB組件的自定義枚舉值RETURN-結束存儲過程END/*手動維護數據完整性的代碼 */EXEC ExistByID 'Buy', 'BuyID', GoodsID, ExistID OUTPUTIF ExistID = 1BEGINROLLBACK TRANSACTIONRETURNEND/*驗證銷售信息是否包含當前商品,若是則不能刪除*/EXEC ExistBylD '

16、;Sale', 'SalelD', GoodsID, ExistID OUTPUTIF ExistID = 1BEGINROLLBACK TRANSACTIONSELECT ReturnValue = 3RETURNEND/*刪除記錄*/DELETE FROM Goods WHERE GoodsID = GoodsID-記錄當前的錯誤號SELECT ErrNo = ERROR/*輸出參數*/IF ErrNo = 0-沒有發生錯誤SELECT ReturnValue = 0ELSE IF ErrNo = 547-發生夕卜鍵沖突BEGINROLLBACK TRANSACTI

17、ON -遇到錯誤則回滾事務SELECT ReturnValue = 3RETURNENDELSE-其他未知錯誤BEGINROLLBACK TRANSACTION -遇到錯誤則回滾事務SELECT ReturnValue = 1RETURNENDCOMMIT TRANSACTION-提交事務GOSET QUOTED_IDENTIFIER OFFGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_NULLS ONGO返回所有供貨商CREATE VIEW dbo.view_SupplierAS/*返回所有供貨商*/SELECT Suppli

18、erID, SupplierName, Contact, Introduce, Remark FROM SupplierGOSET QUOTED_IDENTIFIER OFFGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER OFFGOSET ANSI_NULLS ONGOCREATE VIEW dbo.view_BuyASSELECT B.BuyID, B.GoodsID, G.GoodsName,B.UnitPrice, B.Amount, G.UnitName,B.UnitPrice * B.Amount AS TotalPrice,B.Delivere

19、r, B.Transactor, B.RegistrarID,B.RegDate, G.TypeID, G.SupplierID, B.RemarkFROM Buy AS B LEFT OUTER JOIN Goods AS GON B.GoodsID = G.GoodsIDGOSET QUOTED_IDENTIFIER OFFGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_NULLS ONGO運行測試運行模塊的組合具體軟件的運行模塊組合為程序多窗口的運行環境,各個模塊在軟件運行過程中能較好的交換信息,并能夠獨立的處理各自的數據。

20、測試及問題提出軟件運行時有較友好的界面,基本能夠實現用戶的數據處理要求。問題1 :無法進入數據庫問題2:字段名稱與SQL關鍵字沖突添加字符型數據的時候,如果該數據飲食了單引號,則會造成字符的意外截斷而產生錯誤。問題3:個別觸發器無作用在Buy表上的delete觸發器中,不能完成刪除商品信息的時候同步更新商品庫存的功能。問題解決系統的運行時間基本可以達到用戶所提出的要求。問題解決如下解決問題1 :'設置服務器名稱,數據庫名稱,登錄名(此時假設密碼為空)Public Function ConnectToDatabase() As BooleanOn Error GoTo ErrHandlerSet g_Conn = New ConnectionDim ServerName As String, DBName As String, UserName As String, s

溫馨提示

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

評論

0/150

提交評論