馬 靜
(陜西國防工業(yè)職業(yè)技術(shù)學(xué)院計(jì)算機(jī)與軟件學(xué)院,陜西 西安 710300)
近年來,移動(dòng)互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展給予線上商品銷售等電子商務(wù)行業(yè)巨大的商機(jī)。 據(jù)不完全統(tǒng)計(jì),2020年我國網(wǎng)上零售額達(dá)11.76 萬億元,占社會(huì)消費(fèi)品零售總額的比重為21.6%。 在線上商品銷售平臺(tái)上購物已經(jīng)成為現(xiàn)代人不可缺少的生活方式,人們可以隨時(shí)隨地使用線上商品銷售平臺(tái)購買心儀的商品,不需要花費(fèi)時(shí)間奔波于實(shí)體商場或超市,既方便又快捷。 線上商品銷售經(jīng)營者不再需要實(shí)體商鋪,取而代之的是線上商品銷售管理平臺(tái)。目前線上商品銷售平臺(tái)主要有網(wǎng)站、 手機(jī)APP、 微信小程序等,無論是哪種平臺(tái)都離不開數(shù)據(jù)庫系統(tǒng)的支撐,本文根據(jù)互聯(lián)網(wǎng)主流商品銷售平臺(tái)的需求完成了一種通用的關(guān)系型數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),能夠滿足此類銷售平臺(tái)開發(fā)的需要[1]。
如今互聯(lián)網(wǎng)主流的商品銷售管理平臺(tái)均可提供多種商品的網(wǎng)絡(luò)銷售。 商家可以通過銷售平臺(tái)上傳商品圖片、 視頻、 詳細(xì)信息等來展示商品,同時(shí)需要統(tǒng)計(jì)庫存和銷售情況從而完成商品管理等業(yè)務(wù)??蛻艨梢栽诰€瀏覽商品,完成注冊信息填寫,選購商品后下訂單、 付款,收貨后給予評價(jià)。 根據(jù)客觀實(shí)際需要,商品銷售管理數(shù)據(jù)庫系統(tǒng)的功能需求包括: 存儲(chǔ)客戶基本信息、 員工基本信息、 商品詳細(xì)信息及訂單詳細(xì)信息; 能夠?qū)λ写鎯?chǔ)信息進(jìn)行查詢; 能夠以商品類別為單位統(tǒng)計(jì)商品銷售量,以天為單位統(tǒng)計(jì)每日銷售金額等。
在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)(Database Management System,DBMS) 進(jìn)行獨(dú)立的管理,對程序的依賴大為減少,數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)也逐漸成為一項(xiàng)獨(dú)立開發(fā)的活動(dòng)。 一般來說,數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)要經(jīng)歷概念結(jié)構(gòu)設(shè)計(jì)、 邏輯結(jié)構(gòu)設(shè)計(jì)、 物理設(shè)計(jì)3 個(gè)階段。 第一階段概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵,需要使用 “實(shí)體-聯(lián)系”法,用E-R 圖來描述現(xiàn)實(shí)世界的概念模型。 第二階段邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是把概念模型轉(zhuǎn)換為組織層數(shù)據(jù)模型,因?yàn)榻M織層中關(guān)系模型有很多優(yōu)點(diǎn),是現(xiàn)階段主流數(shù)據(jù)庫管理軟件所采用的數(shù)據(jù)模型,因此,第二階段的核心是將概念模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型。 第三階段物理設(shè)計(jì)的任務(wù)是選用一個(gè)合適的數(shù)據(jù)庫管理軟件實(shí)現(xiàn)已經(jīng)設(shè)計(jì)好的關(guān)系數(shù)據(jù)模型。 根據(jù)數(shù)據(jù)庫設(shè)計(jì)的3 個(gè)階段具體完成 “商品銷售管理系統(tǒng)” 的數(shù)據(jù)庫設(shè)計(jì)[2]。
數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)的核心是繪制E-R 圖。在繪制E-R 圖之前需要從實(shí)際場景中抽象出實(shí)體,以及實(shí)體所具有的屬性。 通過對 “商品銷售管理系統(tǒng)” 實(shí)際場景進(jìn)行功能需求分析,可以抽象出客戶、 員工、 商品類別、 商品和訂單5 個(gè)實(shí)體,以及這些實(shí)體的屬性,在概念模型中可以使用括號(hào)將屬性表示在實(shí)體之后[3],具體如下。
客戶 (客戶編號(hào)、 賬號(hào)、 密碼、 姓名、 電話、收貨地址)
員工 (員工編號(hào)、 賬號(hào)、 密碼、 姓名、 性別、電話)
商品類別(商品類別編號(hào)、 商品類別名稱)
商品 (商品編號(hào)、 商品名稱、 品牌、 規(guī)格、單價(jià)、 庫存數(shù)量、 圖片路徑、 商品描述、 商品類別編號(hào))
訂單(訂單編號(hào)、 商品編號(hào)、 銷售數(shù)量、 下單日期、 訂單狀態(tài)、 客戶編號(hào)、 反饋評論、 員工編號(hào)、 發(fā)貨日期)
根據(jù)E-R 圖繪制方法畫出E-R 圖。 在繪制ER 圖時(shí),符號(hào)的表示方法為: 矩形表示實(shí)體,橢圓表示屬性,并用線段連接對應(yīng)關(guān)系,圖1 為 “商品銷售管理系統(tǒng)” 的E-R 圖。 在繪制E-R 圖時(shí),使用Microsoft Visio 等專業(yè)繪圖軟件可以快速完成圖形的繪制[4]。
圖1 商品銷售管理系統(tǒng)E-R 圖
邏輯結(jié)構(gòu)設(shè)計(jì)的核心是將概念模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型,轉(zhuǎn)化的過程有兩個(gè)要點(diǎn)。 一是將實(shí)體表示為二維表,實(shí)體名就是二維表名,實(shí)體的屬性就是二維表的各個(gè)列。 二是確定每張二維表的主鍵和外鍵,用外鍵表示實(shí)體間的聯(lián)系[5]。 由于篇幅有限,本文以 “客戶” 和 “訂單” 為例介紹邏輯結(jié)構(gòu)設(shè)計(jì),其中 “客戶” 實(shí)體二維表 (見表1) 中的主鍵為客戶編號(hào) (Consumer_Id); “訂單” 實(shí)體二維表(見表2) 中的主鍵為訂單編號(hào) (Order_Id),外鍵為商品編號(hào)(Goods_Id)、 客戶編號(hào)(Consumer_Id)、員工編號(hào)(Emp1oyee_Id)。
表1 Consumer(客戶表)
表2 Shop_Order(訂單表)
物理設(shè)計(jì)階段的任務(wù)是選用一個(gè)合適的數(shù)據(jù)庫管理軟件實(shí)現(xiàn)已經(jīng)設(shè)計(jì)好的關(guān)系數(shù)據(jù)庫。 目前流行的數(shù)據(jù)庫管理軟件很多,其中SQL Server 軟件有很多優(yōu)點(diǎn),功能全面,效率高,適合中大型關(guān)系型數(shù)據(jù)庫的開發(fā)和管理,本文選用SQL Server 2016 軟件完成“商品銷售管理系統(tǒng)” 數(shù)據(jù)庫的物理設(shè)計(jì),具體創(chuàng)建數(shù)據(jù)庫和表的T-SQL 實(shí)現(xiàn)代碼如下[6]。
本文設(shè)計(jì)與實(shí)現(xiàn)的線上商品銷售管理數(shù)據(jù)庫系統(tǒng),能夠滿足互聯(lián)網(wǎng)主流商品銷售平臺(tái)的需求,解決相應(yīng)的數(shù)據(jù)存儲(chǔ)、 管理、 運(yùn)行等問題。 該系統(tǒng)的設(shè)計(jì)符合數(shù)據(jù)庫設(shè)計(jì)的理論體系結(jié)構(gòu),達(dá)到了科學(xué)性和規(guī)范性的要求。 該系統(tǒng)的實(shí)現(xiàn)使用關(guān)系型數(shù)據(jù)庫T-SQL 語言,不僅適用于SQL Server 軟件,還可遷移至其他關(guān)系型數(shù)據(jù)庫管理系統(tǒng)中,如Oraca1、 MySq1 軟件等。 因此具有較好的通用性和實(shí)用性,是一種線上商品銷售管理數(shù)據(jù)庫系統(tǒng)的有效解決方案。