新聞中心
在任何一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)中,用戶(hù)表都是最為基礎(chǔ)和重要的一張表之一。用戶(hù)表結(jié)構(gòu)的設(shè)計(jì)直接影響著數(shù)據(jù)庫(kù)整個(gè)系統(tǒng)的性能和穩(wěn)定性。因此,在設(shè)計(jì)用戶(hù)表結(jié)構(gòu)時(shí)需要考慮多個(gè)方面因素,包括用戶(hù)的角色、權(quán)限、訪(fǎng)問(wèn)頻率等等。下面我們將介紹如何設(shè)計(jì)一個(gè)高效、穩(wěn)定的數(shù)據(jù)庫(kù)用戶(hù)表結(jié)構(gòu)。

創(chuàng)新互聯(lián)建站主營(yíng)鹽山網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,手機(jī)APP定制開(kāi)發(fā),鹽山h5成都小程序開(kāi)發(fā)搭建,鹽山網(wǎng)站營(yíng)銷(xiāo)推廣歡迎鹽山等地區(qū)企業(yè)咨詢(xún)
1. 常用數(shù)據(jù)類(lèi)型選擇
在設(shè)計(jì)用戶(hù)表時(shí),需要確定每個(gè)字段的數(shù)據(jù)類(lèi)型。一般來(lái)說(shuō),除了主鍵字段(一般使用整數(shù)類(lèi)型),其他字段可以根據(jù)實(shí)際需求選擇數(shù)據(jù)類(lèi)型。下面是一些常用的數(shù)據(jù)類(lèi)型選擇建議:
整數(shù)類(lèi)型:如果字段的值只有數(shù)字,例如用戶(hù)ID,性別,年齡等,可以選擇整數(shù)類(lèi)型,這樣可以節(jié)省存儲(chǔ)空間并提高查詢(xún)效率。
日期時(shí)間類(lèi)型:在記錄用戶(hù)相關(guān)信息時(shí),經(jīng)常需要記錄用戶(hù)注冊(cè)時(shí)間或最后登錄時(shí)間等,這些數(shù)據(jù)可以使用日期時(shí)間類(lèi)型記錄。
字符類(lèi)型:字符類(lèi)型可用于存儲(chǔ)用戶(hù)名、密碼、電子郵件地址和號(hào)碼等長(zhǎng)文本類(lèi)型數(shù)據(jù)。VARCHAR和TEXT都是常用的字符類(lèi)型,VARCHAR更適合存儲(chǔ)長(zhǎng)度相對(duì)較短的文本數(shù)據(jù),而它能夠支持更長(zhǎng)的文本類(lèi)型數(shù)據(jù)。
2. 用戶(hù)表字段設(shè)計(jì)
除了數(shù)據(jù)類(lèi)型之外,用戶(hù)表的每個(gè)字段都應(yīng)該根據(jù)實(shí)際需求來(lái)設(shè)置,一般包括以下字段:
用戶(hù)ID:是每個(gè)用戶(hù)的唯一標(biāo)識(shí),也是與其他表關(guān)聯(lián)的重要字段之一。
用戶(hù)名:作為名稱(chēng)的唯一標(biāo)識(shí),一般長(zhǎng)度不應(yīng)超過(guò)30個(gè)字符。
密碼:密碼屬性為保密性較強(qiáng)的字段,需要進(jìn)行加密處理。
電子郵件地址:電子郵件地址應(yīng)該有唯一性約束,以防止重復(fù)收到郵件。
號(hào)碼:號(hào)碼可以用作短信驗(yàn)證等用途。
用戶(hù)信息:包括性別、出生日期、所在地區(qū)等基本信息。
用戶(hù)角色:包括普通用戶(hù)、管理員、超級(jí)管理員等不同角色。
3. 用戶(hù)表索引設(shè)計(jì)
當(dāng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)量比較大時(shí),查詢(xún)效率就變得尤為重要。索引是一種能夠加快查詢(xún)速度的方法,用戶(hù)表中適當(dāng)?shù)乃饕梢源蟠筇岣卟樵?xún)效率。下面是一些適合在用戶(hù)表中創(chuàng)建的索引:
用戶(hù)ID:是唯一的標(biāo)識(shí)符,需要單獨(dú)創(chuàng)建唯一索引。
用戶(hù)名:可以對(duì)該字段創(chuàng)建一個(gè)唯一 NONCLUSTERED 索引。
電子郵件地址:可以對(duì)該字段創(chuàng)建一個(gè)唯一 NONCLUSTERED 索引,以便唯一的識(shí)別用戶(hù)。
登錄時(shí)間:可以對(duì)該字段創(chuàng)建常規(guī) NONCLUSTERED 索引,用于跟蹤最新的活動(dòng)。
4. 安全性設(shè)計(jì)
安全性是數(shù)據(jù)庫(kù)設(shè)計(jì)中不可忽視的一個(gè)方面。用戶(hù)表中的敏感信息,如密碼和電子郵件地址,需要進(jìn)行安全處理,以確保用戶(hù)信息和隱私的安全。下面是一些安全性設(shè)計(jì)的建議:
密碼加密:如果存儲(chǔ)用戶(hù)密碼,應(yīng)該先進(jìn)行加密處理,以確保用戶(hù)隱私的安全性。
訪(fǎng)問(wèn)控制:嚴(yán)格限制對(duì)要求密碼驗(yàn)證的用戶(hù)表的訪(fǎng)問(wèn),即使是系統(tǒng)管理員也需要經(jīng)過(guò)嚴(yán)格的驗(yàn)證過(guò)程。
5. 數(shù)據(jù)庫(kù)范式
通過(guò)遵循范式設(shè)計(jì)規(guī)則,確保用戶(hù)表結(jié)構(gòu)的正?;軌蛱岣邤?shù)據(jù)庫(kù)系統(tǒng)的性能和可維護(hù)性。
之一范式(1NF):在一個(gè)關(guān)系中,所有的屬性都應(yīng)該是原子性的,不能在屬性中重復(fù)嵌套。
第二范式(2NF):在表中,不存在部分屬性依賴(lài)的關(guān)系,所有屬性都應(yīng)該和主鍵有完全依賴(lài)關(guān)系。
第三范式(3NF):在關(guān)系中,不存在非主屬性傳遞依賴(lài)于關(guān)系中的主屬性。
在實(shí)際設(shè)計(jì)中,可以根據(jù)實(shí)際需求對(duì)這些范式進(jìn)行適當(dāng)?shù)恼{(diào)整,以達(dá)到系統(tǒng)的更優(yōu)化設(shè)計(jì)。
在對(duì)數(shù)據(jù)庫(kù)用戶(hù)表結(jié)構(gòu)進(jìn)行設(shè)計(jì)時(shí),需要考慮多個(gè)方面的因素,包括數(shù)據(jù)類(lèi)型選擇、字段設(shè)計(jì)、索引設(shè)計(jì)、安全性設(shè)計(jì)、數(shù)據(jù)庫(kù)范式等。通過(guò)建立合理高效的用戶(hù)表結(jié)構(gòu)設(shè)計(jì),可以有效提高系統(tǒng)性能、可擴(kuò)展性和可維護(hù)性,更好地為用戶(hù)提供服務(wù)。
相關(guān)問(wèn)題拓展閱讀:
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)實(shí)例
- 多級(jí)用戶(hù)系統(tǒng)的數(shù)據(jù)庫(kù)應(yīng)該怎么設(shè)計(jì)
數(shù)據(jù)庫(kù)課程設(shè)計(jì)實(shí)例
數(shù)據(jù)庫(kù)課程設(shè)計(jì)
題目:小型超市管理系統(tǒng)
1、項(xiàng)目計(jì)劃
1.1系統(tǒng)開(kāi)發(fā)目的
(1)大大提高超市的運(yùn)作效率;
(2)通過(guò)全面的信息采集和處理,輔助提高超市的決策水平;
(3)使用本系統(tǒng),可以迅速提升超市的管理水平,為降低
經(jīng)營(yíng)成本
, 提高效益,增強(qiáng)超市擴(kuò)張力, 提供有效的技術(shù)保障。
1.2背景說(shuō)明
21世紀(jì),超市的競(jìng)爭(zhēng)也進(jìn)入到了一個(gè)全新的領(lǐng)域,競(jìng)爭(zhēng)已不再是規(guī)模的競(jìng)爭(zhēng),而是技術(shù)的競(jìng)爭(zhēng)、管理的競(jìng)爭(zhēng)、人才的競(jìng)爭(zhēng)。技術(shù)的提升和管理的升級(jí)是超市業(yè)的競(jìng)爭(zhēng)核心。零售領(lǐng)域目前呈多元發(fā)展趨勢(shì),多種業(yè)態(tài):超市、倉(cāng)儲(chǔ)店、便利店、特許加盟店、專(zhuān)賣(mài)店、貨倉(cāng)等相互并存。如何在激烈的競(jìng)爭(zhēng)中擴(kuò)大銷(xiāo)售額、降低經(jīng)營(yíng)成本、擴(kuò)大經(jīng)營(yíng)規(guī)模,成為超市營(yíng)業(yè)者努力追求的目標(biāo)。
1.3項(xiàng)目確立
針對(duì)超市的特點(diǎn),為了幫助超市解決現(xiàn)在面臨的問(wèn)題,提高小型超市的競(jìng)爭(zhēng)力,我們將開(kāi)發(fā)以下系統(tǒng):前臺(tái)POS銷(xiāo)售系統(tǒng)、后臺(tái)管理系統(tǒng),其中這兩個(gè)子系統(tǒng)又包含其它一些子功能。
1.4應(yīng)用范圍
本系統(tǒng)適應(yīng)于各種小型的超市。
1.5 定義
(1)
商品條形碼
:每種商品具有唯一的條形碼,對(duì)于某些價(jià)格一樣的商品,可以使用自定義條形碼。
(2)交易清單皮備:包括交易的流水賬號(hào)、每類(lèi)商品的商品名、數(shù)量、該類(lèi)商品的總金額、交易的時(shí)間、負(fù)責(zé)本次收銀的員工號(hào)。
(3)商品積壓:在一定時(shí)期內(nèi),遠(yuǎn)無(wú)法完成銷(xiāo)售計(jì)劃的商品會(huì)造成積壓。
(4)促銷(xiāo):在一定時(shí)期內(nèi),某些商品會(huì)按低于原價(jià)的促銷(xiāo)價(jià)格銷(xiāo)售。
庫(kù)存告警提示:當(dāng)商品的庫(kù)存數(shù)量低于庫(kù)存報(bào)警數(shù)量時(shí)發(fā)出提示。
(5)盤(pán)點(diǎn):計(jì)算出庫(kù)存、銷(xiāo)售額、盈利等經(jīng)營(yíng)指標(biāo)。
1.6 參考資料
《數(shù)據(jù)庫(kù)原理及設(shè)計(jì)》
陶宏才編 清華大學(xué)出版社
《SQL Server 2023 實(shí)用教程》范立南編 清華大學(xué)出版社
《SQL Server 2023 編程員指南》李香敏編 北京希望電子出版社
《輕松搞定 SQL Server 2023 程序設(shè)計(jì)》Rebecca M.Riordan編
《軟件工程規(guī)范》
Watts S.Humphrey編 清華大學(xué)出版社
《軟件工程理論與實(shí)踐》
Shari Lawrence Pfleeger編 清華大學(xué)出版社
《軟件需求分析》 Swapna Kishore編
機(jī)械工業(yè)出版社
《軟件工程思想》
林銳編
2、邏輯分析與詳細(xì)分析
2.1系統(tǒng)功能
(1)、零售前臺(tái)(POS)管理系統(tǒng),本系統(tǒng)必須具有以下功能:
? 商品錄入:根據(jù)超巿業(yè)務(wù)特點(diǎn)制定相關(guān)功能,可以通過(guò)輸入唯一編號(hào)、掃描條形碼、商品名稱(chēng)等來(lái)實(shí)現(xiàn)精確或模糊的商品掃描錄入。該掃描錄入方法可以充分保證各種電腦操作水平層次的人員均能準(zhǔn)確快速地進(jìn)行商品掃描錄入。
? 收銀業(yè)務(wù):通過(guò)掃描條形碼或者直接輸入商品名稱(chēng)(對(duì)于同類(lèi)多件商品采用一次錄入加數(shù)量的方式)自動(dòng)計(jì)算本次交易的總金額。在顧客付款后,自動(dòng)計(jì)算找零,同時(shí)打印交易清單(包括交易的流水賬號(hào)、每類(lèi)商品的商品名、數(shù)量、該類(lèi)商品的總金額、交易的時(shí)間、負(fù)責(zé)本次收銀的員工號(hào))。如果顧客是本店會(huì)員并持有本人會(huì)員卡,則在交易前先掃描會(huì)員卡,并對(duì)所購(gòu)物品全部實(shí)行95折優(yōu)惠,并將所購(gòu)物品的總金額累計(jì)到該會(huì)員的總消費(fèi)金額中。 會(huì)員卡的有效期限為一年,滿(mǎn)一年未續(xù)卡者,該會(huì)員卡將被注銷(xiāo)。
? 安全性:OS登陸、退出、換班與操作鎖定等權(quán)限驗(yàn)證保護(hù);斷電自動(dòng)保護(hù)更大限度防止意外及惡意非法操作。
? 獨(dú)立作業(yè):有的斷網(wǎng)收銀即在網(wǎng)絡(luò)服務(wù)器斷開(kāi)或網(wǎng)絡(luò)不通的情況下,收銀機(jī)仍能正常作業(yè)
(2)、后臺(tái)管理系統(tǒng),本系統(tǒng)必須具備以下功能
? 進(jìn)貨管理: 根據(jù)銷(xiāo)售情況及庫(kù)存情況,自動(dòng)制定進(jìn)貨計(jì)劃(亦可手工制定修改),可以避免盲目進(jìn)貨造成商品積壓。 按計(jì)劃單有選擇性地進(jìn)行自動(dòng)入庫(kù)登記。 綜合查詢(xún)打印計(jì)劃進(jìn)貨與入庫(kù)記錄及金額。
?
銷(xiāo)售管理
: 商品正常銷(xiāo)售、促銷(xiāo)與限枯信量、限期及禁止銷(xiāo)售控制。 綜合查詢(xún)各種銷(xiāo)售明細(xì)記錄、各地收銀員收銀記錄以及交結(jié)賬情況等。 按多種方式統(tǒng)計(jì)生成銷(xiāo)售排行榜,靈活察看和打印商品銷(xiāo)售日、月、年報(bào)表。
?
庫(kù)存管理
: 綜合查詢(xún)庫(kù)存明細(xì)記錄。 庫(kù)存狀態(tài)自動(dòng)告警提示。如庫(kù)存過(guò)剩、少貨、缺貨等。軟件為您預(yù)警,避免庫(kù)存商品積壓損失和缺貨。 庫(kù)存自動(dòng)盤(pán)點(diǎn)計(jì)算。
? 人員管理: 員工、會(huì)員、供貨商、廠(chǎng)商等基本信息登記管理。 員工操作權(quán)限管理。 客戶(hù)銷(xiāo)售權(quán)限管理。
(3)系統(tǒng)結(jié)構(gòu)
系統(tǒng)總體結(jié)構(gòu)
模塊子系沒(méi)握輪統(tǒng)結(jié)構(gòu)
功能描述:商品錄入子系統(tǒng)要求能快速錄入商品,因此必須支持條形碼掃描。
功能描述:收銀業(yè)務(wù)子系統(tǒng)能計(jì)算交易總額,打印交易清單,并根據(jù)會(huì)員卡打折。
功能描述:進(jìn)貨管理子系統(tǒng)可以根據(jù)庫(kù)存自動(dòng)指定進(jìn)貨計(jì)劃,進(jìn)貨時(shí)自動(dòng)等級(jí),以及提供查詢(xún)和打印計(jì)劃進(jìn)貨與入庫(kù)記錄的功能。
功能描述:銷(xiāo)售管理子系統(tǒng)可以控制某商品是否允許銷(xiāo)售,查詢(xún)每種商品的銷(xiāo)售情況并產(chǎn)生年、月、日?qǐng)?bào)表,同時(shí)可以生成銷(xiāo)售排行榜。
功能描述:庫(kù)存管理子系統(tǒng)提供查詢(xún)庫(kù)存明細(xì)記錄的基本功能,并根據(jù)庫(kù)存的狀態(tài)報(bào)警,以及自動(dòng)盤(pán)點(diǎn)計(jì)算。
功能描述:人員管理子系統(tǒng)提供基本信息登記管理,員工操作權(quán)限管理,客戶(hù)銷(xiāo)售權(quán)限管理的功能。
2.2、流程圖
前臺(tái)管理系統(tǒng)
頂層DFD圖
第0層DFD圖
第1層DFD圖
2.3、戶(hù)類(lèi)型與職能
(1)、員工(營(yíng)業(yè)員):
? 通過(guò)商品條形碼掃描輸入商品到購(gòu)買(mǎi)清單
? 操作軟件計(jì)算交易總金額
? 操作軟件輸出交易清單
? 對(duì)會(huì)員進(jìn)行會(huì)員卡掃描以便打折
(2)、:超市經(jīng)理
? 操作軟件錄入商品,供貨商,廠(chǎng)商
? 操作軟件制定進(jìn)貨計(jì)劃
? 查詢(xún)打印計(jì)劃進(jìn)貨與入庫(kù)記錄
? 操作軟件控制商品銷(xiāo)售與否
? 查詢(xún)打印銷(xiāo)售情況
? 操作軟件生成銷(xiāo)售排行榜
? 查詢(xún)庫(kù)存明細(xì)記錄
? 根據(jù)軟件發(fā)出的庫(kù)存告警進(jìn)行入貨
? 操作軟件進(jìn)行盤(pán)點(diǎn)計(jì)算
(3)、總經(jīng)理:
? 基本信息登記管理
? 員工操作權(quán)限管理
? 客戶(hù)銷(xiāo)售權(quán)限管理
2.4、統(tǒng)開(kāi)發(fā)步驟
? 確定參與者和相關(guān)的用況
? 為每個(gè)用況設(shè)計(jì)過(guò)程
? 建立順序圖,確定每個(gè)腳本中對(duì)象的協(xié)作
? 創(chuàng)建類(lèi),確定腳本中的對(duì)象
? 設(shè)計(jì), 編碼, 測(cè)試, 集成類(lèi)
? 為過(guò)程編寫(xiě)系統(tǒng)測(cè)試案例
? 運(yùn)行測(cè)試案例,檢驗(yàn)系統(tǒng)
2.5、系統(tǒng)環(huán)境需求
? 系統(tǒng)模式
本系統(tǒng)采用C/S模式作為開(kāi)發(fā)模式
? 硬件環(huán)境
服務(wù)器端:
高性能的計(jì)算機(jī)一臺(tái),
普通的
雙絞線(xiàn)
作為連接。
客戶(hù)端: 普通的計(jì)算機(jī)或者工作站,
普通的雙絞線(xiàn)作為連接。
? 軟件環(huán)境
服務(wù)器端:安裝SQL Server 2023的服務(wù)器版本,
安裝windows 2023服務(wù)器版本,
配置了
諾頓
等必須的
防毒軟件
。
客戶(hù)端: 安裝SQL Server2023的服務(wù)器版本,
安裝了VB等可視化開(kāi)發(fā)工具軟件,
安裝windows2023服務(wù)器版本。
2.6、系統(tǒng)安全問(wèn)題
信息系統(tǒng)盡管功能強(qiáng)大,技術(shù)先進(jìn),但由于受到自身體系結(jié)構(gòu),設(shè)計(jì)思路以及運(yùn)行機(jī)制等限制,也隱含許多不安全因素。常見(jiàn)因素有:數(shù)據(jù)的輸入,輸出,存取與備份,
源程序
以及應(yīng)用軟件,數(shù)據(jù)庫(kù),操作系統(tǒng)等漏洞或缺陷,硬件,通信部分的漏洞,企業(yè)內(nèi)部人員的因素,病毒,“
黑客
”等因素。因此,為使本系統(tǒng)能夠真正安全,可靠,穩(wěn)定地工作,必須考慮如下問(wèn)題:為保證安全,不致使系統(tǒng)遭到意外事故的損害,系統(tǒng)因該能防止火,盜或其他形式的人為破壞。
? 系統(tǒng)要能重建
? 系統(tǒng)應(yīng)該是可審查的
? 系統(tǒng)應(yīng)能進(jìn)行有效控制,抗干擾能力強(qiáng)
? 系統(tǒng)使用者的使用權(quán)限是可識(shí)別的
3、基于UML的建模
3.1語(yǔ)義規(guī)則
用例
模型(
use case
s view)(用例視圖)的基本組成部件是用例(use case)、角色(actor)和系統(tǒng)(system)。用例用于描述系統(tǒng)的功能,也就是從外部用戶(hù)的角度觀(guān)察,系統(tǒng)應(yīng)支持哪些功能,幫助分析人員理解系統(tǒng)的行為,它是對(duì)系統(tǒng)功能的宏觀(guān)描述,一個(gè)完整的系統(tǒng)中通常包含若干個(gè)用例,每個(gè)用例具體說(shuō)明應(yīng)完成的功能,代表系統(tǒng)的所有基本功能(集)。角色是與系統(tǒng)進(jìn)行交互的外部實(shí)體,它可以是系統(tǒng)用戶(hù),也可以是其它系統(tǒng)或硬件設(shè)備,總之,凡是需要與系統(tǒng)交互的任何東西都可以稱(chēng)作角色。系統(tǒng)的邊界線(xiàn)以?xún)?nèi)的區(qū)域(即用例的活動(dòng)區(qū)域)則抽象表示系統(tǒng)能夠?qū)崿F(xiàn)的所有基本功能。在一個(gè)基本功能(集)已經(jīng)實(shí)現(xiàn)的系統(tǒng)中,系統(tǒng)運(yùn)轉(zhuǎn)的大致過(guò)程是:外部角色先初始化用例,然后用例執(zhí)行其所代表的功能,執(zhí)行完后用例便給角色返回一些值,這個(gè)值可以是角色需要的來(lái)自系統(tǒng)中的任何東西。
UML:是一種標(biāo)準(zhǔn)的圖形化建模語(yǔ)言,它是面向?qū)ο蠓治雠c設(shè)計(jì)的一種標(biāo)準(zhǔn)表示;它不是一種可視化的程序設(shè)計(jì)語(yǔ)言而是一種可視化的建模語(yǔ)言;不是工具或知識(shí)庫(kù)的規(guī)格說(shuō)明而是一種建模語(yǔ)言規(guī)格說(shuō)明是一種表示的標(biāo)準(zhǔn);不是過(guò)程也不是方法但允許任何一種過(guò)程和方法使用它。
用例(use case):
參與者(actor):
3.2、UML模型
3.21、系統(tǒng)UML模型
3.22、子系統(tǒng)UML模型
(1)零售前臺(tái)(POS)管理系統(tǒng)用例視圖
(2)后臺(tái)管理系統(tǒng)用例視圖
3.3、系統(tǒng)實(shí)現(xiàn)圖
4、超市銷(xiāo)售系統(tǒng)概念設(shè)計(jì)文檔
(1)、系統(tǒng)ER圖
(2)、系統(tǒng)ER圖說(shuō)明
1) 商店中的所有用戶(hù)(員工)可以銷(xiāo)售多種商品,每種商品可由不同用戶(hù)(員工)銷(xiāo)售;
2) 每個(gè)顧客可以購(gòu)買(mǎi)多種商品,不同商品可由不同顧客購(gòu)買(mǎi);
3) 每個(gè)供貨商可以供應(yīng)多種不同商品,每種商品可由多個(gè)供應(yīng)商供應(yīng)。
(3)、視圖設(shè)計(jì)
1) 交易視圖(v_Dealing)——用于查詢(xún)交易情況的視圖;
2) 計(jì)劃進(jìn)貨視圖(v_PlanStock)——用于查詢(xún)進(jìn)貨計(jì)劃的視圖;
3) 銷(xiāo)售視圖(v_Sale)——用于查詢(xún)銷(xiāo)售明細(xì)記錄的視圖;
4) 入庫(kù)視圖(v_Stock)——用于查詢(xún)?nèi)霂?kù)情況的視圖。
5、邏輯設(shè)計(jì)文檔
(1)、系統(tǒng)關(guān)系模型
a) 商品信息表(商品編號(hào),商品名稱(chēng),價(jià)格,條形碼,促銷(xiāo)價(jià)格,促銷(xiāo)起日期,促銷(xiāo)止日期,允許打折,庫(kù)存數(shù)量,庫(kù)存報(bào)警數(shù)量,計(jì)劃進(jìn)貨數(shù),允許銷(xiāo)售,廠(chǎng)商編號(hào),供貨商編號(hào))
b) 用戶(hù)表(用戶(hù)編號(hào),用戶(hù)名稱(chēng),用戶(hù)密碼,用戶(hù)類(lèi)型)
c) 會(huì)員表(會(huì)員編號(hào),會(huì)員卡號(hào),累積消費(fèi)金額,注冊(cè)日期)
d) 銷(xiāo)售表(銷(xiāo)售編號(hào),商品編號(hào),銷(xiāo)售數(shù)量,銷(xiāo)售金額,銷(xiāo)售日期)
e) 交易表(交易編號(hào),用戶(hù)名稱(chēng),交易金額,會(huì)員卡號(hào),交易日期)
f) 進(jìn)貨入庫(kù)表(入庫(kù)編號(hào),入庫(kù)商品編號(hào),入庫(kù)數(shù)量,單額,總額,入庫(kù)日期,計(jì)劃進(jìn)貨日期,入庫(kù)狀態(tài))
g) 供貨商表(供貨商編號(hào),供貨商名稱(chēng),供貨商地址,供貨商)
h) 廠(chǎng)商表(廠(chǎng)商編號(hào),廠(chǎng)商名稱(chēng),廠(chǎng)商地址,廠(chǎng)商)
(2)、系統(tǒng)數(shù)據(jù)庫(kù)表結(jié)構(gòu)
數(shù)據(jù)庫(kù)表索引
表名 中文名
MerchInfo 商品信息表
User 用戶(hù)表
Menber 會(huì)員表
Sale 銷(xiāo)售表
Dealing 交易表
Stock 進(jìn)貨入庫(kù)表
Provide 供貨商表
Factory 廠(chǎng)商表
商品信息表(MerchInfo)
字段名 字段類(lèi)型 長(zhǎng)度 主/外鍵 字段值約束 對(duì)應(yīng)中文名
MerchID int 4 P Not null 商品編號(hào)
MerchName Varchar 50 Not null 商品名稱(chēng)
MerchPrice Money 4 Not null 價(jià)格
MerchNum Int 4 Not null 庫(kù)存數(shù)量
CautionNum Int 4 Not null 庫(kù)存報(bào)警數(shù)量
PlanNum Int 4 null 計(jì)劃進(jìn)貨數(shù)
BarCode Varchar 50 Not null 條形碼
SalesProPrice Money 4 促銷(xiāo)價(jià)格
SalesProDateS Datetime 8 促銷(xiāo)起日期
SalesProDateE Datetime 8 促銷(xiāo)止日期
AllowAbate Int 4 Not null 允許打折
AllowSale Int 4 Not null 允許銷(xiāo)售
FactoryID Varchar 10 F Not null 廠(chǎng)商編號(hào)
ProvideID Varchar 10 F Not null 供貨商編號(hào)
用戶(hù)表(User)
字段名 字段類(lèi)型 長(zhǎng)度 主/外鍵 字段值約束 對(duì)應(yīng)中文名
UserID varchar 10 P Not null 用戶(hù)編號(hào)
UserName Varchar 25 Not null 用戶(hù)名稱(chēng)
UserPW Varchar 50 Not null 用戶(hù)密碼
UserStyle Int 4 Not null 用戶(hù)類(lèi)型
會(huì)員表(Menber)
字段名 字段類(lèi)型 長(zhǎng)度 主/外鍵 字段值約束 對(duì)應(yīng)中文名
MemberID Varchar 10 P Not null 會(huì)員編號(hào)
MemberCard Varchar 20 Not null 會(huì)員卡號(hào)
TotalCost Money 4 Not null 累積消費(fèi)金額
RegDate Datetime 8 Not null 注冊(cè)日期
銷(xiāo)售表(Sale)
字段名 字段類(lèi)型 長(zhǎng)度 主/外鍵 字段值約束 對(duì)應(yīng)中文名
SaleID Varchar 10 P Not null 銷(xiāo)售編號(hào)
MerChID Varchar 10 F Not null 商品編號(hào)
SaleDate Datetime 8 Not null 銷(xiāo)售日期
SaleNum Int 4 Not null 銷(xiāo)售數(shù)量
SalePrice Money 4 Not null 銷(xiāo)售單額
交易表(Dealing)
字段名 字段類(lèi)型 長(zhǎng)度 主/外鍵 字段值約束 對(duì)應(yīng)中文名
DealingID Varchar 10 P Not null 交易編號(hào)
DealingPrice Money 4 Not null 交易金額
DealingDate Money 4 Not null 交易日期
MemberID Varchar 10 會(huì)員卡號(hào)
UserName Varchar 10 F Not null 用戶(hù)名稱(chēng)
入庫(kù)紀(jì)錄表(Stock)
字段名 字段類(lèi)型 長(zhǎng)度 主/外鍵 字段值約束 對(duì)應(yīng)中文名
StockID Varchar 10 P Not null 入庫(kù)編號(hào)
MerchID Varchar 10 F Not null 入庫(kù)商品編號(hào)
MerchNum Int 4 Not null 入庫(kù)數(shù)量
MerchPrice Money 4 Not null 單額
TotalPrice Money 4 Not null 總額
StockDate Datetime 8 Datetime 入庫(kù)日期
PlanDate Datetime 8 Datetime 計(jì)劃進(jìn)貨日期
StockState Int 4 Not null 入庫(kù)狀態(tài)
供貨商表(Provide)
字段名 字段類(lèi)型 長(zhǎng)度 主/外鍵 字段值約束 對(duì)應(yīng)中文名
ProvideID varchar 10 P Not null 供貨商編號(hào)
ProvideName Varchar 50 Not null 供貨商名稱(chēng)
ProvideAddress Varchar供貨商地址
ProvidePhone Varchar 25 供貨商
廠(chǎng)商表(Provide)
字段名 字段類(lèi)型 長(zhǎng)度 主/外鍵 字段值約束 對(duì)應(yīng)中文名
FactoryID varchar 10 P Not null 廠(chǎng)商編號(hào)
FactoryName Varchar 50 Not null 廠(chǎng)商名稱(chēng)
FactoryAddress Varchar廠(chǎng)商地址
FactoryPhone Varchar 25 廠(chǎng)商
6、物理設(shè)計(jì)文檔
/*創(chuàng)建數(shù)據(jù)庫(kù)*/
create database SuperMarketdb
on primary
(
name=SuperMarketdb,
filename=’C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.mdf’,
size=100MB,
maxsize=200MB,
filegrowth=20MB
)
log on
(
name=SuperMarketlog,
filename=’C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.ldf’,
size=60MB,
maxsize=200MB,
filegrowth=20MB
)
go
/*創(chuàng)建基本表*/
use
go
/*創(chuàng)建交易表*/
CREATE TABLE Dealing (
DealingID int identity(1,1) Primary key ,
DealingDate datetime NOT NULL ,
DealingPrice money NOT NULL ,
UserName varchar(25) NULL ,
MemberCard varchar(20) NULL
)
GO
/*創(chuàng)建廠(chǎng)商表*/
CREATE TABLE Factory (
FactoryID varchar(10) Primary key ,
FactoryName varchar(50) NOT NULL ,
FactoryAddress varchar(250) NULL ,
FactoryPhone varchar(50) NULL
)
GO
/*創(chuàng)建會(huì)員表*/
CREATE TABLE Member (
MemberID varchar(10) Primary key ,
MemberCard varchar(20) NOT NULL ,
TotalCost money NOT NULL ,
RegDate datetime NOT NULL
)
GO
/*創(chuàng)建商品信息表*/
CREATE TABLE MerchInfo (
MerchID int identity(1,1) Primary key ,
MerchName varchar(50) Unique NOT NULL ,
MerchPrice money NOT NULL ,
MerchNum int NOT NULL ,
CautionNum int NOT NULL ,
PlanNum int NOT NULL ,
BarCode varchar(20) Unique NOT NULL ,
SalesProPrice money NULL ,
SalesProDateS datetime NULL ,
SalesProDateE datetime NULL ,
AllowAbate int NOT NULL ,
AllowSale int NOT NULL ,
FactoryID int NOT NULL ,
ProvideID int NOT NULL
)
GO
/*創(chuàng)建供應(yīng)商表*/
CREATE TABLE Provide (
ProvideID varchar(10) Primary key ,
ProvideName varchar(50) NOT NULL ,
ProvideAddress varchar(250) NULL ,
ProvidePhone varchar(25) NULL
)
GO
/*創(chuàng)建銷(xiāo)售表*/
CREATE TABLE Sale (
SaleID int identity(1,1) Primary key ,
MerChID int NOT NULL ,
SaleDate datetime NOT NULL ,
SaleNum int NOT NULL,
SalePrice money NOT NULL
)
GO
/*創(chuàng)建入庫(kù)表*/
CREATE TABLE Stock (
StockID int identity(1,1) Primary key ,
MerchID int NOT NULL ,
MerchNum int NOT NULL ,
MerchPrice money NULL ,
TotalPrice money NULL ,
PlanDate datetime NULL ,
StockDate datetime NULL,
StockState int NOT NULL
)
GO
/*創(chuàng)建用戶(hù)表*/
CREATE TABLE User (
UserID varchar(10) Primary key ,
UserName varchar(25) NOT NULL ,
UserPW varchar(50) NOT NULL ,
UserStyle int NOT NULL ,
)
GO
/*創(chuàng)建表間約束*/
/*商品信息表中廠(chǎng)商編號(hào)、供應(yīng)商編號(hào)分別與廠(chǎng)商表、供應(yīng)商表之間的外鍵約束*/
ALTER TABLE MerchInfo ADD
CONSTRAINT FOREIGN KEY
(
) REFERENCES Factory (
),
CONSTRAINT FOREIGN KEY
(
) REFERENCES Provide (
)
GO
/*銷(xiāo)售表中商品編號(hào)與商品信息表之間的外鍵約束*/
ALTER TABLE Sale ADD
CONSTRAINT FOREIGN KEY
(
) REFERENCES MerchInfo (
) ON DELETE CASCADE
GO
/*入庫(kù)表中商品編號(hào)與商品信息表之間的外鍵約束*/
ALTER TABLE Stock ADD
CONSTRAINT FOREIGN KEY
(
) REFERENCES MerchInfo (
) ON DELETE CASCADE
GO
/*創(chuàng)建索引*/
/*在交易表上建立一個(gè)以交易編號(hào)、交易日期為索引項(xiàng)的非聚集索引*/
CREATE nonclustered INDEX IX_Dealing ON Dealing(DealingID, DealingDate)
GO
/*在商品信息表上建立一個(gè)以商品編號(hào)為索引項(xiàng)的非聚集索引*/
CREATE nonclustered INDEX IX_MerchInfo ON MerchInfo(MerchID)
GO
/*在銷(xiāo)售表上建立一個(gè)以銷(xiāo)售編號(hào)、銷(xiāo)售日期為索引項(xiàng)的非聚集索引*/
CREATE nonclustered INDEX IX_Sale ON Sale(SaleID, SaleDate)
GO
/*在入庫(kù)表上建立一個(gè)以入庫(kù)編號(hào)、入庫(kù)日期、商品編號(hào)為索引項(xiàng)的非聚集索引*/
CREATE nonclustered INDEX IX_Stock ON Stock(StockID, StockDate, MerchID)
GO
/*創(chuàng)建視圖*/
/*創(chuàng)建用于查詢(xún)交易情況的視圖*/
CREATE VIEW v_Dealing
AS
SELECT DealingDate as 交易日期,
UserName as 員工名稱(chēng),
MemberCard as 會(huì)員卡號(hào),
DealingPrice as 交易金額
FROM Dealing
GO
/*創(chuàng)建用于查詢(xún)進(jìn)貨計(jì)劃的視圖*/
CREATE VIEW v_PlanStock
AS
SELECT Stock.StockID as SID,
MerchInfo.MerchName as 商品名稱(chēng),
MerchInfo.BarCode as 條形碼,
Factory.FactoryName as 廠(chǎng)商,
Provide.ProvideName as 供貨商,
Stock.MerchNum as 計(jì)劃進(jìn)貨數(shù)量,
Stock.PlanDate as 計(jì)劃進(jìn)貨日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=0
GO
/*創(chuàng)建用于查詢(xún)銷(xiāo)售明細(xì)記錄的視圖*/
CREATE VIEW v_Sale
AS
SELECT MerchInfo.MerchName as 商品名稱(chēng),
MerchInfo.BarCode as 條形碼,
MerchInfo.MerchPrice as 商品價(jià)格,
Sale.SalePrice as 銷(xiāo)售價(jià)格,
Sale.SaleNum as 銷(xiāo)售數(shù)量,
Sale.SaleDate as 銷(xiāo)售日期
FROM Sale INNER JOIN
MerchInfo ON Sale.MerChID = MerchInfo.MerchID
GO
/*創(chuàng)建用于查詢(xún)?nèi)霂?kù)情況的視圖*/
CREATE VIEW v_Stock
AS
SELECT MerchInfo.MerchName as 商品名稱(chēng),
MerchInfo.BarCode as 條形碼,
Factory.FactoryName as 廠(chǎng)商,
Provide.ProvideName as 供貨商,
Stock.MerchPrice as 入庫(kù)價(jià)格,
Stock.MerchNum as 入庫(kù)數(shù)量,
Stock.TotalPrice as 入庫(kù)總額,
Stock.StockDate as 入庫(kù)日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=1
GO
7、小結(jié)
和傳統(tǒng)管理模式相比較,使用本系統(tǒng),毫無(wú)疑問(wèn)會(huì)大大提高超市的運(yùn)作效率,輔助提高超市的決策水平,管理水平,為降低經(jīng)營(yíng)成本, 提高效益,減少差錯(cuò),節(jié)省人力,減少顧客購(gòu)物時(shí)間,增加客流量,提高顧客滿(mǎn)意度,增強(qiáng)超市擴(kuò)張能力, 提供有效的技術(shù)保障。
由于開(kāi)發(fā)者能力有限,加上時(shí)間倉(cāng)促,本系統(tǒng)難免會(huì)出現(xiàn)一些不足之處,例如:
? 本系統(tǒng)只適合小型超市使用,不能適合中大型超市使用;
? 超市管理系統(tǒng)涉及范圍寬,要解決的問(wèn)題多,功能復(fù)雜,實(shí)現(xiàn)困難,但由于限于時(shí)間,本系統(tǒng)只能做出其中的一部分功能;
對(duì)于以上出現(xiàn)的問(wèn)題,我們深表歉意,如發(fā)現(xiàn)還有其它問(wèn)題,希望老師批評(píng)指正。
多級(jí)用戶(hù)系統(tǒng)的數(shù)據(jù)庫(kù)應(yīng)該怎么設(shè)計(jì)
主要從幾個(gè)不同方面設(shè)計(jì)ORACLE數(shù)據(jù)庫(kù)優(yōu)化方案:一.數(shù)據(jù)庫(kù)優(yōu)化自由結(jié)構(gòu)OFA(Optimal flexible Architecture)二、充分利用系統(tǒng)全局區(qū)域SGA(SYSTEM GLOBAL AREA)三、數(shù)據(jù)庫(kù)設(shè)計(jì)中的優(yōu)化策略數(shù)據(jù)應(yīng)當(dāng)按兩種類(lèi)別進(jìn)行組織:頻繁訪(fǎng)問(wèn)的數(shù)據(jù)和頻繁修改的數(shù)據(jù)。對(duì)于頻繁訪(fǎng)問(wèn)但是不頻繁修改的數(shù)據(jù),內(nèi)部設(shè)計(jì)應(yīng)當(dāng)物理不規(guī)范化。對(duì)于頻備凳繁修改但并不頻繁訪(fǎng)問(wèn)的數(shù)據(jù),內(nèi)部設(shè)計(jì)應(yīng)當(dāng)物理規(guī)范化。四、合理設(shè)計(jì)和管理表1、利用表分區(qū)分區(qū)將數(shù)據(jù)在物理上分隔開(kāi),不同分區(qū)的數(shù)據(jù)可以制定保存在處于不同磁盤(pán)上的數(shù)據(jù)文件里。2、避免出現(xiàn)行連接和行遷移3、控制碎片4、別名的使用別名是大型數(shù)據(jù)庫(kù)的應(yīng)用技巧,就是表名、列名在查詢(xún)中以一個(gè)字母為別名,查詢(xún)速度要比建連接表快1.5倍。5、回滾段的交替使用五、索引Index的優(yōu)化設(shè)計(jì)1、管理組織索引索引可以大大加快數(shù)據(jù)庫(kù)的查詢(xún)速度,索引把表中的邏輯值映射到安全的RowID,因此索引能進(jìn)行快速定位數(shù)棚耐據(jù)的物理地址。六、多CPU和并行查詢(xún)PQO(Parallel Query Option)方式的利用七、實(shí)施系統(tǒng)資源管理分配計(jì)劃ORACLE 提供了Database Resource Manager(DRM,數(shù)據(jù)庫(kù)資源管理器)來(lái)控制用戶(hù)的資源分配,DBA可以用它分配用戶(hù)類(lèi)和作業(yè)類(lèi)的系統(tǒng)資源百分比。在一個(gè)OLDP系統(tǒng)中,可給聯(lián)機(jī)用戶(hù)分配75%的CPU資源,剩下的25%留給批用戶(hù)。另外,還可以進(jìn)行CPU的多級(jí)分配。除了進(jìn)行CPU資源分配外,DRM還可以對(duì)資源用戶(hù)組執(zhí)行并行操作的限制。八、使用更優(yōu)的數(shù)據(jù)庫(kù)連接和SQL優(yōu)化方案九、充分利用數(shù)據(jù)的后臺(tái)處理方案減少網(wǎng)絡(luò)流量1、合理創(chuàng)建臨時(shí)表或視圖鏈滾春2、數(shù)據(jù)庫(kù)打包技術(shù)的充分利用利用數(shù)據(jù)庫(kù)描述語(yǔ)言編寫(xiě)數(shù)據(jù)庫(kù)的過(guò)程或函數(shù),然后把過(guò)程或函數(shù)打成包在數(shù)據(jù)庫(kù)后臺(tái)統(tǒng)一運(yùn)行包即可。3、數(shù)據(jù)復(fù)制、快照、視圖,遠(yuǎn)程過(guò)程調(diào)用技術(shù)的運(yùn)用
數(shù)據(jù)庫(kù)用戶(hù)表結(jié)構(gòu)設(shè)計(jì)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于數(shù)據(jù)庫(kù)用戶(hù)表結(jié)構(gòu)設(shè)計(jì),如何設(shè)計(jì)數(shù)據(jù)庫(kù)用戶(hù)表結(jié)構(gòu),數(shù)據(jù)庫(kù)課程設(shè)計(jì)實(shí)例,多級(jí)用戶(hù)系統(tǒng)的數(shù)據(jù)庫(kù)應(yīng)該怎么設(shè)計(jì)的信息別忘了在本站進(jìn)行查找喔。
成都網(wǎng)站推廣找創(chuàng)新互聯(lián),老牌網(wǎng)站營(yíng)銷(xiāo)公司
成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)(www.cdcxhl.com)專(zhuān)注高端網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站維護(hù),網(wǎng)絡(luò)營(yíng)銷(xiāo),SEO優(yōu)化推廣,快速提升企業(yè)網(wǎng)站排名等一站式服務(wù)。IDC基礎(chǔ)服務(wù):云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)、服務(wù)器租用、服務(wù)器托管提供四川、成都、綿陽(yáng)、雅安、重慶、貴州、昆明、鄭州、湖北十堰機(jī)房互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)。
文章題目:如何設(shè)計(jì)數(shù)據(jù)庫(kù)用戶(hù)表結(jié)構(gòu) (數(shù)據(jù)庫(kù)用戶(hù)表結(jié)構(gòu)設(shè)計(jì))
文章出自:http://fisionsoft.com.cn/article/cdhosog.html


咨詢(xún)
建站咨詢(xún)
