楊浦 王樑
摘要:該數(shù)據(jù)庫(kù)對(duì)于給定的應(yīng)用環(huán)境,利用計(jì)算機(jī)的基礎(chǔ)知識(shí)、軟件工程的原理和方法、程序設(shè)計(jì)的方法和技巧、數(shù)據(jù)庫(kù)的基本知識(shí)、數(shù)據(jù)庫(kù)設(shè)計(jì)技術(shù)、應(yīng)用領(lǐng)域的知識(shí)等多學(xué)科綜合知識(shí)與技術(shù),對(duì)網(wǎng)上圖書(shū)銷(xiāo)售管理數(shù)據(jù)庫(kù)做了需求分析,概念結(jié)構(gòu)設(shè)計(jì),邏輯結(jié)構(gòu)設(shè)計(jì),物理結(jié)構(gòu)設(shè)計(jì)和Oracle數(shù)據(jù)庫(kù)實(shí)施。最終設(shè)計(jì)出了一個(gè)簡(jiǎn)單的可對(duì)其進(jìn)行用戶管理、圖書(shū)管理、進(jìn)貨管理,銷(xiāo)售管理和售后管理的網(wǎng)上圖書(shū)銷(xiāo)售管理數(shù)據(jù)庫(kù),使之能夠有效地管理和存儲(chǔ)數(shù)據(jù),滿足一些簡(jiǎn)單的應(yīng)用需求。
關(guān)鍵詞:數(shù)據(jù)庫(kù)設(shè)計(jì);網(wǎng)上圖書(shū)銷(xiāo)售:進(jìn)銷(xiāo)存管理
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)26-0013-03
Abstract: For a given application environment, by multidisciplinary comprehensive knowledge and technology of the basic knowledge of computer, the principle and method of software engineering, programming methods and techniques, basic knowledge of the database, database design technology and application field knowledge, the online book sales management database was analyzed for the requirement, concept structure design, logic structure design, physical structure design and the implementation of Oracle database. Finally, a simple online book sales management database was designed for user management, book management, purchase management, sales management and after-sales management which effectively managed and stored data and meet some simple application requirements.
Key words: database design; online book sales; purchase-sales-inventory management
1 概述
網(wǎng)上圖書(shū)銷(xiāo)售的數(shù)據(jù)庫(kù)設(shè)計(jì),使該數(shù)據(jù)庫(kù)系統(tǒng)能夠有效地存儲(chǔ)和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求。項(xiàng)目開(kāi)發(fā)的主要內(nèi)容:分析用戶需求——數(shù)據(jù)流程圖;對(duì)用戶需求進(jìn)行綜合、歸納與抽象,進(jìn)行概念結(jié)構(gòu)設(shè)計(jì),畫(huà)出ER圖;對(duì)邏輯結(jié)構(gòu)進(jìn)行設(shè)計(jì),將ER圖轉(zhuǎn)換為關(guān)系模式;對(duì)數(shù)據(jù)庫(kù)進(jìn)行實(shí)施,創(chuàng)建基本表、視圖、索引、存儲(chǔ)過(guò)程、觸發(fā)器。
2 需求分析
畫(huà)數(shù)據(jù)流程圖,首先查詢(xún)組織機(jī)構(gòu)的情況,弄清楚業(yè)務(wù)活動(dòng),分析查詢(xún)的結(jié)果,確定哪些功能由計(jì)算機(jī)完成,哪些是由人工完成。
分析后做數(shù)據(jù)流程圖,自頂向下,逐層分解。
處理對(duì)象及組織:對(duì)象為顧客、書(shū)商,由網(wǎng)上圖書(shū)銷(xiāo)售系統(tǒng)組織。
數(shù)據(jù)庫(kù)系統(tǒng)性能需要:基本表、視圖、索引、觸發(fā)器、存儲(chǔ)過(guò)程。
系統(tǒng)功能:實(shí)現(xiàn)對(duì)顧客表,進(jìn)貨表,退貨表,銷(xiāo)售表,書(shū)本表的插入與查詢(xún),能實(shí)現(xiàn)對(duì)書(shū)本數(shù)量的更新。
顧客給出售后評(píng)論信息,評(píng)論處理業(yè)務(wù)將評(píng)論信息記錄。
顧客給出退貨信息,檢查退貨業(yè)務(wù)檢查后將退貨信息記錄。
檢查退貨后將退貨的貨物情況交給退貨反饋業(yè)務(wù),將商品的情況反饋給用戶。
顧客將自身信息給用戶增刪改業(yè)務(wù),然后進(jìn)行存儲(chǔ)或者返回已有信息,顧客將訂單信息給訂單處理業(yè)務(wù),用戶增刪改與查詢(xún)業(yè)務(wù)將用戶的資料給訂單處理業(yè)務(wù),訂單處理業(yè)務(wù)結(jié)合顧客的訂單信息和顧客的信息生成銷(xiāo)售信息并進(jìn)行存儲(chǔ)。訂單處理業(yè)務(wù)將出庫(kù)的內(nèi)容給書(shū)本出庫(kù)處理,書(shū)本出庫(kù)處理業(yè)務(wù)反饋快遞的投遞狀況記入銷(xiāo)售記錄,并把書(shū)本減少的信息記入圖書(shū)記錄。
書(shū)商給出新書(shū)信息,新書(shū)信息處理業(yè)務(wù)將數(shù)量置零并存入圖書(shū)記錄,圖書(shū)記錄給出圖書(shū)的數(shù)量信息,缺貨檢查業(yè)務(wù)進(jìn)行檢查,將缺貨信息 給進(jìn)貨業(yè)務(wù),進(jìn)貨業(yè)務(wù)對(duì)進(jìn)貨情況進(jìn)行記錄,并將信息傳遞給驗(yàn)貨業(yè)務(wù),驗(yàn)貨如果不合格則進(jìn)行記錄并重新進(jìn)貨,如果合格則進(jìn)行入庫(kù),將書(shū)本增加的信息記入圖書(shū)記錄。
3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)
主要包括概念設(shè)計(jì)和邏輯設(shè)計(jì)兩個(gè)部分。
3.1 概念設(shè)計(jì)
設(shè)計(jì)目標(biāo):將需求分析階段所得到的用戶需求抽象為概念模型
任務(wù)和方法:
設(shè)計(jì)ER模型
劃分實(shí)體與屬性:現(xiàn)實(shí)世界的食=事物能夠作為屬性對(duì)待的盡量作為屬性對(duì)待,作為屬性不能再具有需要描述的性質(zhì),不能與其他實(shí)體具有聯(lián)系。
集成ER圖:合并ER圖,生成初步ER圖——消除不必要的冗余,設(shè)計(jì)基本ER圖。
3.1.1 分E-R圖建立
闡述分E-R圖建立的思想(以中層數(shù)據(jù)為切入點(diǎn),按照分層次/分模塊思想),用E-R模式描述。
E-R圖是描述現(xiàn)實(shí)世界的概念模型,在數(shù)據(jù)流程圖中,看數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)能否、是否需要轉(zhuǎn)換為實(shí)體,能作為屬性對(duì)待的盡量作為屬性對(duì)待。
售后業(yè)務(wù)中每個(gè)實(shí)體的屬性:
顧客:(顧客編號(hào),顧客姓名,顧客性別,顧客聯(lián)系方式,顧客地址)。
退貨單:(退貨號(hào),退貨顧客編號(hào),退貨時(shí)間,退貨反饋信息)。
退貨細(xì)則:(退貨號(hào),退貨書(shū)本編號(hào),退貨書(shū)本數(shù)量,備注)。
書(shū)本:(書(shū)本編號(hào),書(shū)本名字,書(shū)本作者,書(shū)本類(lèi)別,書(shū)本出版社,書(shū)本出版日期,書(shū)本庫(kù)存量)。
書(shū)商:(書(shū)商編號(hào),書(shū)商姓名,書(shū)商性別,書(shū)商聯(lián)系方式)。
評(píng)論與回復(fù)表:(評(píng)論編號(hào),評(píng)論顧客編號(hào),評(píng)論信息,評(píng)論時(shí)間,回復(fù)書(shū)商編號(hào),評(píng)論回復(fù),回復(fù)時(shí)間)。
售書(shū)業(yè)務(wù)中每個(gè)實(shí)體的屬性:
顧客:(顧客編號(hào),顧客姓名,顧客性別,顧客聯(lián)系方式,顧客地址)。
書(shū)本:(書(shū)本編號(hào),書(shū)本名字,書(shū)本類(lèi)別,書(shū)本出版社,書(shū)本出版日期,書(shū)本庫(kù)存量)。
銷(xiāo)售單:(銷(xiāo)售單編號(hào),顧客編號(hào),商品總價(jià),銷(xiāo)售時(shí)間,快遞狀態(tài))。
銷(xiāo)售單細(xì)則:(銷(xiāo)售單編號(hào),書(shū)本編號(hào),書(shū)本數(shù)量,書(shū)本單價(jià),備注)。
圖書(shū)管理中每個(gè)實(shí)體的屬性:
書(shū)本:(書(shū)本編號(hào),書(shū)本名字,書(shū)本類(lèi)別,書(shū)本出版社,書(shū)本庫(kù)存量)。
進(jìn)貨記錄(進(jìn)貨編號(hào),進(jìn)貨廠商,進(jìn)貨時(shí)間)。
進(jìn)貨細(xì)則(進(jìn)貨編號(hào),進(jìn)貨書(shū)本編號(hào),進(jìn)貨書(shū)本數(shù)量,進(jìn)貨書(shū)本質(zhì)量)。
3.1.2 全局/整體E-R圖
步驟:
(1) 合并ER圖,生成初步ER圖
消除屬性沖突(屬性域沖突、屬性區(qū)取值單位沖突),命名沖突(同名異義、異名同義),結(jié)構(gòu)沖突等。
(2) 消除不必要的冗余,設(shè)計(jì)基本ER圖
由于自己設(shè)計(jì)的數(shù)據(jù)庫(kù)系統(tǒng)本身就不存在這些問(wèn)題,于是不存在消除沖突、冗余過(guò)程。
3.2 邏輯設(shè)計(jì)
目標(biāo):把概念結(jié)構(gòu)設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用數(shù)據(jù)庫(kù)管理系統(tǒng)產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。
主要內(nèi)容與方法:
(1) ER圖向關(guān)系模式的轉(zhuǎn)化:將實(shí)體型、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式,對(duì)于實(shí)體間的聯(lián)系有幾種不同的情況。
(2) 數(shù)據(jù)模型的優(yōu)化:確定數(shù)據(jù)依賴(lài)、對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴(lài)進(jìn)行極小化處理,消除冗余的聯(lián)系、按照數(shù)據(jù)依賴(lài)的理論對(duì)關(guān)系模式逐一進(jìn)行分析,考察是否存在部分函數(shù)依賴(lài)、傳遞函數(shù)依賴(lài)、多值依賴(lài)等,確定各關(guān)系模式分別屬于第幾范式、根據(jù)需求分析階段得到的處理要求分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)某些模式進(jìn)行合并和分解、對(duì)關(guān)系模式進(jìn)行必要分解,提高數(shù)據(jù)操作效率和存儲(chǔ)空間利用率。
(3) 設(shè)計(jì)用戶子模式:設(shè)計(jì)視圖——使用更符合用戶習(xí)慣的別名、對(duì)不同級(jí)別用戶定義不同視圖、簡(jiǎn)化用戶對(duì)系統(tǒng)的使用。
3.2.1 建立關(guān)系模式
將E-R模型轉(zhuǎn)換為關(guān)系模式的基本原則:
(1) 一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系模式。
(2) 一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。
(3) 一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以和n端對(duì)應(yīng)的關(guān)系模式合并。
(4) 一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。
(5) 具有相同碼的關(guān)系模式可合并。
3.2.2 關(guān)系模式規(guī)范化處理
根據(jù)范式理論,分析每個(gè)關(guān)系的主屬性和非主屬性,寫(xiě)出每個(gè)非主屬性對(duì)主碼的函數(shù)依賴(lài),以此來(lái)分析每一個(gè)關(guān)系模式是否滿足3NF,對(duì)不滿足3NF的關(guān)系模式要進(jìn)行模式分解,使每個(gè)關(guān)系模式達(dá)到3NF的要求。
[通聯(lián)編輯:代影]