ACCESS网上书店数据库系统
1 概述
1.1本項目的研究意義
當今社會,隨著計算機技術的發展應用和網絡的普及,網絡給人類社會帶來了巨大變化,建立網上書店的銷售管理系統是時代的潮流。隨著互聯網技術的進一步發展,電子商務正以一種驚人的速度發展著。本項目是網上書店購物系統,以網絡為媒介,通過創建一個虛擬的書店——星期三書店。
首先,網上書店方便了網民的生活,更加便捷地、足不出戶便可買到心儀的書籍。用戶通過網絡查詢自己所需要的書籍信息,避免了顧客自己實地挑選商品的煩瑣過程,使用戶的購物過程變得輕松、快捷、方便,與高效。其次,網上購書減少了許多中間銷售代理,因此價格會比較低,對廣大網民的好處顯而易見。再者,網上書店是信息化購物,基本上所有操作都是通過計算機程序自動完成的,因此大大降低了勞力的消耗。通過建立網上書店購物系統,可以提高企業的生產效率,降低經營成本,優化資源配置,從而實現企業的利潤最大化。最后,電子商務與出版發行業的結合使發展網上書店及研究網上書店具有雙重意義,充分結合互聯網銷售的特點探索圖書發行的新渠道和新模式,是對電子商務科學的充實和補充,更是對出版發行業發行渠道和市場的開拓和創新
1.2 設計目標和任務
網上書店數據庫系統是基于B/S模式,通過對一些典型電子商務網站的考察、分析,而設計的一套信息化管理系統。該系統主要分為兩部分,為前臺系統(即面向普通用戶和會員)和后臺系統(面向管理員)。“星期三書店”以“服務至上”為原則,力圖為為管理者提供方便的管理、為顧客提供快捷的購買。主要有以下目標:
(1)前臺系統為顧客提供一個網絡服務平臺:使顧客通過互聯網隨時隨地查詢書籍信息它打破了時空界限,能通過網絡實現從瀏覽商品到購買商品的全部過程。同時,以身份為界限,為普通用戶和會員提供不同的服務,帶來不同的用戶體驗。
(2)后臺系統為系統管理員提供一個工作平臺:即管理者通過該數據庫系統完成圖書管理、訂單管理、用戶管理和統計報表任務,實施采集信息,處理信息,分析信息等一系列工作,使管理服務工作更加系統化,完整化,人性化。
2 數據庫的設計過程
2.1 需求分析
需求分析簡單地說就是分析用戶的要求。需求分析是設計數據庫的起點也是重點。需求分析的結果是否準確地反映了用戶的實際需要,將直接影響到后面各個階段的設計,并影響到設計結果是否合理和實用,做好需求分析對整個數據庫的設計有著極為重要的作用。通過準確了解、分析用戶的需求形成需求分析說明書。本網上書店系統而言,書店面向三種身份的人群:普通用戶、會員、管理員,針對三種用戶的個性需求,作出的需求分析如下:
2.1.1 需求分析的具體內容
(1)需要的數據以及數據結構
1)每本圖書的信息包括:ISBN,書名,類別,作者,出版社,單價,折扣,成交價,庫存數量,圖示概述,進貨量,成本,入庫時間。
2) 每個會員的信息包括:會員ID,手機號,密碼,名字,省份,積分,圖片,注冊時間。
3)每張訂單的信息包括:訂單編號,訂購日期,發貨日期,會員ID,發貨狀態,發票號。
4)購物車的信息包括:會員ID,ISBN,書名,成交價,預定數量
5)圖書評價的信息包括:書名,圖書質量,閱讀體驗,綜合評價,留言
(2)數據之間的關系
1)只有會員才可以購買圖書
2)每個會員可以有多個訂單,每個訂單僅屬于一個會員。
3)每個會員購買圖書時,首先將選購的圖書加入購物車,選購結束時生成訂單
4)每個訂單可以包含多種圖書的商品,每種圖書商品可以出現在多個訂單中
5)訂單信息中每種圖書都有對應的定價、折扣、庫存數量、ISBN、書名、類別、圖書概述、作者、出版社、入庫時間
6)訂單表包括訂單編號、訂購日期、發貨日期、會員ID、發貨狀態、發票號
7)每個訂單表有相應的訂單詳情,包括訂單編號、ISBN、數量
(3)需要在網上書店數據庫實現時遵循的業務規則
1)數據的取值范圍。比如會員的注冊時間,其值不能大于當前時間。
2)數據類型和長度要求。比如書名的類型必須是文本型;成交價的類型必須是數值型。
3)必填的值。比如注冊會員時的密碼,手機號等
4)數據的值合理性檢查
5)數據的默認值的設定。如ISBN為17位,會員密碼為8位等。
2.1.2 需求分析的階段性成果
(1)網上購書一般流程圖
(2)網上書店主要業務流程圖
訂單生成流程圖 訂單受理流程圖
?
(3)管理員系統
2.2 概念結構設計階段
2.2.1 概念結構設計過程
概念結構設計是整個數據庫設計的關鍵。在需求分析階段我們詳細了解并描述了用戶的應用需求,但這些應用需求還是現實世界的具體需求。通過對用戶需求分析的綜合、歸納與抽象,形成一個獨立于具體 DBMS的概念模型。概念結構設計是現實世界與機器世界的中介,它一方面能夠充分反映現實世界,包括實體和實體之間的聯系,同時又易于向關系、網狀、層次等各種數據模型轉換。
(1)確定實體
(2)確定實體屬性
(3)確定主鍵
(4)使用E-R圖描述構建的概念模型
2.2.2 E-R圖
2.3邏輯結構設計階段
從理論上講,設計邏輯結構應該選擇最適合描述與表達相應概念結構的數據模型,然后對支持這種數據模型的各種DBMS進行比較,從中選出最合適的DBMS。目前DBMS產品多是關系型的,這一階段的任務主要是講E-R圖轉化為一組關系模式,利用規范化理論對數據模型進行優化。
2.3.1 轉化為關系模式
圖書表(ISBN,書名,類別,作者,出版社,單價,折扣,成交價,庫存數量,圖示概述,進貨量,成本,入庫時間)
會員表(會員ID,手機號,密碼,名字,省份,積分,圖片,注冊時間)
訂單表(訂單編號,訂購日期,發貨日期,會員ID,發貨狀態,發票號)
訂單明細(訂單編號,ISBN,數量)
2.3.2 優化設計
上述四個關系模式都是第三范式,不存在低級的數據冗余
2.4 物理結構設計階段
數據庫最終是要存儲在物理設備上的。數據庫在物理設備上的存儲結構與存取方法稱為數據庫的物理結構,它依賴于給定的計算機系統。為一個給定的邏輯數據模型選取一個最適合應用環境的物理結構的過程,這就是數據庫的物理設計。這一階段的主要成果實在數據庫中生成具體的表(實際是表結構),包括創建主鍵、外鍵、屬性列、索引、約束等。
2.4.1 表的結構
圖書表的表結構
字段名 ISBN 書名 類別 作者 出版社 單價 折扣
字段類型 文本 文本 文本 文本 文本 貨幣 文本
字段長度 17
說明 主鍵 小數位為0
字段名 成交價 庫存數量 圖書概述 進貨量 成本 入庫時間
字段類型 貨幣 數字 文本 數量 文本 日期/時間
字段長度 長日期
說明 小數位為自動 小數位為自動
會員表的表結構
字段名 會員ID 手機號 密碼 名字 省份 積分 圖片 注冊時間
字段類型 文本 文本 文本 文本 文本 數字 附件 日期/時間
字段長度 8 11 6 10 10 長整型 長日期
說明 主鍵
訂單表的表結構
字段名 訂單編號 訂購日期 發貨日期 會員ID 發貨狀態 發票號
字段類型 數字 日期/時間 日期/時間 文本 文本 文本
字段長度 10 長日期 長日期 8 12
說明 主鍵
訂單詳情的表結構
字段名 訂單編號 ISBN 數量
字段類型 數字 文本 文本
字段長度 10 17 長整型
說明 與圖書表中的“ISBN”設置相同,主屬性 與訂單表表中的“訂單編號”設置相同,主屬性 主屬性
2.5 數據庫實施(略)
2.6 數據庫運行和維護(略)
3 數據操作流程圖
4 系統難點及解決方案
4.1 難點一:生成訂單的流程
解決方案:
第一步:為購物車中“生成訂單”按鈕嵌入宏
第二步:將購物車的內容追加到訂單表
第三步:將訂單表的內容追加到訂單明細表
第四步:刪除購物車表中的相應內容
第五步:查詢新訂單的總價
第五步:將新訂單的總價顯示在窗體
第六步:完成虛擬支付
4.2 難點二:發貨的流程
解決方案:單擊發貨按鈕后,將訂單的發貨狀態更新為“否”(有bug)
5 系統創新點
5.1 登錄界面
5.1.1 驗證碼登錄
Option Compare Database
Dim a(1) As Integer
Private Sub Command23_Click()
i = 1
a(i) = Int(9000 * Rnd + 1000)
Text21.SetFocus
Text21.Text = a(i)
End Sub
5.1.2 會員找回密碼
Private Sub Command2_Click()
Dim n As Integer
If IsNull(Me.Text0) Then
MsgBox “請輸入手機號或會員ID!”
ElseIf DLookup(“手機號”, “會員表”, “手機號=’” & Me.Text0 & “’”) = Me.Text0 Then
A = DLookup(“密碼”, “會員表”, “手機號=’” & Me.Text0 & “’”)
Text3.SetFocus
Text3.Text = A
ElseIf DLookup(“會員ID”, “會員表”, “會員ID=’” & Me.Text0 & “’”) = Me.Text0 Then
A = DLookup(“密碼”, “會員表”, “會員ID=’” & Me.Text0 & “’”)
Text3.SetFocus
Text3.Text = A
Else
MsgBox “不存在此手機號或會員ID,請重新輸入!”
Text3.SetFocus
Text3.Text = “”
Text0.SetFocus
Text0.Text = “”
End If
End Sub
5.1.3 顯示當前時間
Private Sub Form_Timer()
Me.Text31 = Time()
End Sub
5.2 會員界面
5.2.1 根據會員購書記錄推薦圖書
5.2.2 網上支付
5.2.3 每日推薦小視頻
5.2.4 猜謎小游戲
Private Sub Command5_Click()
Static n As Integer
If Text3 = “四世同堂” Then
MsgBox “恭喜你!回答正確!”
MsgBox “感謝您的參與!請再接再厲!敬請關注下一期猜謎游戲!”
End If
If Text3 <> “四世同堂” Then
MsgBox “回答錯誤,請思考并重新輸入答案!”
Text3 = “”
Text3.SetFocus
n = n + 1
If n >= 3 Then
MsgBox “您已猜錯三次,正確答案是“四世同堂”。”
MsgBox “感謝您的參與!請再接再厲!敬請關注下一期猜謎游戲!”
Text3 = “四世同堂”
Me.Text3.Locked = True
End If
End If
End Sub
5.3 管理員界面
5.3.1 庫存緊張提示
5.4.2 銷售圖表分析
5.5.3 會員頭像
設置圖片鏈接
5.5.4 查看會員足跡
將“購書記錄”查詢作為該窗體的數據源
5.5.5 查看新增會員
Private Sub Command5_Click()
If [Text1] > [Text3] Then
MsgBox “開始時間不能大于結束時間”
Text1.SetFocus
Else
DoCmd.OpenQuery “會員注冊時間”
End If
End Sub
5.5.6 管理員日志
Private Sub Command4_Click()
Form_管理員日志.Text5.SetFocus
If Form_管理員日志.Text5.Text = “” Then
MsgBox “您今天還沒有寫工作日志哦”
Else
Call filewrite(“D:\管理員日志.txt”)
End If
End Sub
Public Sub filewrite(content As String)
Open content For Append As #1
Form_管理員日志.Text5.SetFocus
Write #1, Form_管理員日志.Text5.Text
Close #1
DoCmd.Close acForm, “管理員日志”
End Sub
總結
以上是生活随笔為你收集整理的ACCESS网上书店数据库系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VIM使用系统剪切板
- 下一篇: 关于table的中元素对齐方式的注意点