項(xiàng)目小結(jié)之?dāng)?shù)據(jù)庫設(shè)計(jì)
項(xiàng)目小結(jié)之?dāng)?shù)據(jù)庫設(shè)計(jì)
最近做了一個(gè)小項(xiàng)目完整的數(shù)據(jù)庫設(shè)計(jì),想總結(jié)一些設(shè)計(jì)上的所得,希望大家多多指教。
有時(shí)一個(gè)項(xiàng)目,普通程序員一般不會(huì)去接觸數(shù)據(jù)庫設(shè)計(jì),一般都有專業(yè)的DBA或是老程序員去設(shè)計(jì),下面是我推測(cè)的幾點(diǎn)可能原因:1:新手對(duì)項(xiàng)目了解不深,正好這是老鳥的長(zhǎng)處。
2:新手對(duì)局部的關(guān)注往往大于整體,很難考慮的特別周全。3:數(shù)據(jù)庫設(shè)計(jì)的好壞在某種程度上直接影響項(xiàng)目的復(fù)雜度以及性能。第一:我們要知道什么是范式,為什么說到數(shù)據(jù)庫設(shè)計(jì)總要提到一個(gè)名詞:范式。范式:符合某一種級(jí)別的關(guān)系模式的集合。設(shè)計(jì)數(shù)據(jù)庫必須遵循一定的規(guī)則,在關(guān)系數(shù)據(jù)庫中,這種規(guī)則就是范式。
第二:范式的分類。關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的要求,目前關(guān)系數(shù)據(jù)庫有六種范式:第一范式、第二范式、第三范式、第四范式、第五范式和第六范式。滿足最低要求的是第一范式,其余范式以次類推。這么多的分類并不一定要求全部滿足,平時(shí)我們通常是達(dá)到第三范式就行。第三:范式的作用?
1:優(yōu)點(diǎn):是將其轉(zhuǎn)化為一些表的過程,這種方法可以使從數(shù)據(jù)庫得到的結(jié)果更加明確。
2:缺點(diǎn):可能使數(shù)據(jù)庫產(chǎn)生重復(fù)數(shù)據(jù),從而導(dǎo)致創(chuàng)建多余的表。
3:是在識(shí)別數(shù)據(jù)庫中的數(shù)據(jù)元素、關(guān)系,以及定義所需的表和各表中的項(xiàng)目這些初始工作之后的一個(gè)細(xì)化的過程。
4:設(shè)計(jì)范式是數(shù)據(jù)庫設(shè)計(jì)所需要滿足的規(guī)范,滿足這些規(guī)范的數(shù)據(jù)庫是簡(jiǎn)潔的、結(jié)構(gòu)明晰的,也不會(huì)發(fā)生插入、刪除和更新操作異常。反之則給編程人員制造麻煩,可能存儲(chǔ)了大量不需要的冗余信息。下面來簡(jiǎn)單介紹下前三種范式:
一:第一范式。是對(duì)關(guān)系模式的基本要求,不滿足第一范式的數(shù)據(jù)庫就不是關(guān)系數(shù)據(jù)庫。所謂第一范是指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項(xiàng),同一列中不能有多個(gè)值,即實(shí)體中的某個(gè)屬性不能有多個(gè)值或者不能有重復(fù)的屬性。如果出現(xiàn)重復(fù)的屬性,就可能需要定義一個(gè)新的實(shí)體,新的實(shí)體由重復(fù)的屬性構(gòu)成,新實(shí)體與原實(shí)體之間為一對(duì)多關(guān)系。這個(gè)單一屬性由基本類型構(gòu)成,包括整型、實(shí)數(shù)、字符型、邏輯型、日期型等。例如有一張存儲(chǔ)文件的表,正確應(yīng)該是這樣:可以看到這個(gè)表包含了好幾個(gè)列,如果我們把這些信息都放在一列里面那么就不滿足上面定義的1NF了。
createtableRegulations(
IDintidentity,Titlenvarchar(200)null,FileAddressvarchar(255)null,OpenDatedatetimenull,TypeIDintnull,PostDatedatetimenull,constraintPK_REGULATIONSprimarykey(ID))
二:第二范式:在第一范式的基礎(chǔ)上建立起來的。要求數(shù)據(jù)庫表中的每個(gè)實(shí)例或行必須可以被惟一地區(qū)分。通常需要為表加上一個(gè)列,以存儲(chǔ)各個(gè)實(shí)例的惟一標(biāo)識(shí)。這個(gè)惟一屬性列被稱為主關(guān)鍵字或主鍵、主碼。像上面的Regulations的ID列就是一個(gè)身份標(biāo)識(shí)列(identity)。
三:第三范式:要求一個(gè)數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關(guān)鍵字信息。例如:上面有了一個(gè)文件表Regulations,如果這個(gè)表是存儲(chǔ)的主文件,它相應(yīng)的還有n個(gè)附件信息的話,我們就需要?jiǎng)?chuàng)建另外一張附件表來存儲(chǔ)附件。兩表如何聯(lián)系起來呢,我們可以把主文件表的主鍵隨同附件信息做為一條記錄插入到附件表中,這里插入的主文件表信息中只包含了主鍵ID,并沒有插入其它信息,這種關(guān)系就滿足了第三范式要求。
createtableAttachment(
IDintidentity,
FileIDintnull,//主文件主鍵IDAddressvarchar(255)null,Titlenvarchar(200)null,constraintPK_ATTACHMENTprimarykey(ID))
最后來總結(jié)了我這個(gè)項(xiàng)目中的具體應(yīng)用:
第一:?jiǎn)⒂脭?shù)據(jù)字典理念來提高開發(fā)效率。什么是數(shù)據(jù)字典這里我不多說,大家不知道的可以網(wǎng)上搜索下。在一個(gè)項(xiàng)目中有時(shí)會(huì)遇到非常多的選項(xiàng),就是供表單選擇某些小數(shù)據(jù)項(xiàng)的內(nèi)容,請(qǐng)看下面的圖:
每一個(gè)模塊在插入記錄時(shí)都或多或少有這樣的選項(xiàng),如果每一張表都建一個(gè)對(duì)應(yīng)的選項(xiàng)表的話,維護(hù)進(jìn)來工作量相當(dāng)大,所有可以把這些小數(shù)據(jù)量的選項(xiàng)存儲(chǔ)到一張表,數(shù)據(jù)字典表如下:
下面是數(shù)據(jù)字典的數(shù)據(jù)展示圖:
第二:對(duì)數(shù)據(jù)庫表字段數(shù)據(jù)類型的設(shè)置有了進(jìn)一步認(rèn)識(shí)。
1:SQL有一種特殊的數(shù)據(jù)類型;Unicode數(shù)據(jù)類型,包括Nchar,Nvarchar和Ntext傳統(tǒng)的非Unicode數(shù)據(jù)類型允許使用由特定字符集定義的字符。使用Unicode數(shù)據(jù)類型,列中可以存儲(chǔ)任何由Unicode標(biāo)準(zhǔn)定義的字符。在Unicode標(biāo)準(zhǔn)中,包括了以各種字符集定義的全部字符。使用Unicode數(shù)據(jù)類型,所占用的空間是使用非Unicode數(shù)據(jù)類型的兩倍。當(dāng)列的長(zhǎng)度變化時(shí),應(yīng)該使用
Nvarchar字符類型。當(dāng)列的長(zhǎng)度固定不變時(shí),應(yīng)該使用Nchar字符類型。我們?cè)诒韱悟?yàn)證時(shí),用戶有時(shí)會(huì)輸入英文和中文混合文字,為了驗(yàn)證方便,可以將這種情況時(shí)的字段設(shè)置成Unicode。
2:對(duì)于非Unicode數(shù)據(jù),盡量選擇相對(duì)應(yīng)的類型,例如手機(jī)號(hào)碼一般都是數(shù)字組成,且長(zhǎng)度基本固定,設(shè)置成char(15)就行,email設(shè)置成varchar(100)就行。
第三:如何靈活利用一對(duì)多關(guān)系。一對(duì)多的關(guān)系非常常見,但如果加以靈活應(yīng)用有時(shí)效果更佳。
例如,上面的圖中有一個(gè)了解管道的選項(xiàng),它和對(duì)應(yīng)的主表是一對(duì)多的關(guān)系,如果這個(gè)選項(xiàng)在不同的模塊中出現(xiàn),我們是否需要為每個(gè)主表建立一個(gè)一對(duì)多關(guān)系呢?我選擇做一個(gè)中間關(guān)系表。我們可以把所有模塊中包含了了解管道選項(xiàng)的主表與這個(gè)中間關(guān)系表聯(lián)系起來,這樣就只用維護(hù)這一個(gè)關(guān)系表就行了,節(jié)約不少時(shí)間。
擴(kuò)展閱讀:數(shù)據(jù)庫設(shè)計(jì)總結(jié)報(bào)告
網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
數(shù)據(jù)庫設(shè)計(jì)總結(jié)報(bào)告
1.數(shù)據(jù)庫規(guī)劃
1.1任務(wù)陳述:
所設(shè)計(jì)的數(shù)據(jù)庫后臺(tái)管理系統(tǒng)為網(wǎng)上銷售管理系統(tǒng),該系統(tǒng)為一服裝網(wǎng)的網(wǎng)上交易及會(huì)員間的交流提供后臺(tái)支持,集成了服裝信息,會(huì)員信息,管理員信息的錄入,更新,刪除,統(tǒng)計(jì),查詢等一系列功能,另外,該系統(tǒng)還為前臺(tái)的管理員發(fā)起的公告,會(huì)員發(fā)布的論壇帖子提供了相應(yīng)的數(shù)據(jù)錄入,更新,維護(hù)等后臺(tái)支持.
1.2任務(wù)目標(biāo):
維護(hù)(插入,更新和刪除)服裝類型數(shù)據(jù)維護(hù)(插入,更新和刪除)服裝數(shù)據(jù)維護(hù)(插入,更新和刪除)會(huì)員數(shù)據(jù)維護(hù)(插入,更新和刪除)管理員數(shù)據(jù)
維護(hù)(插入,更新和刪除)會(huì)員網(wǎng)上購物的訂購單數(shù)據(jù)維護(hù)(插入,更新和刪除)會(huì)員網(wǎng)上購物的詳細(xì)訂購單數(shù)據(jù)維護(hù)(插入,更新和刪除)管理員網(wǎng)上發(fā)布的公告數(shù)據(jù)維護(hù)(插入,更新和刪除)會(huì)員網(wǎng)上發(fā)布的貼子數(shù)據(jù)實(shí)現(xiàn)對(duì)服裝的查詢
實(shí)現(xiàn)對(duì)服裝類型的查詢實(shí)現(xiàn)對(duì)會(huì)員的查詢實(shí)現(xiàn)對(duì)管理員的查詢
實(shí)現(xiàn)對(duì)會(huì)員訂購單的查詢
實(shí)現(xiàn)對(duì)訂購單所對(duì)應(yīng)的詳細(xì)訂單的查詢實(shí)現(xiàn)對(duì)管理員所發(fā)布的公告的查詢實(shí)現(xiàn)對(duì)會(huì)員所發(fā)布的貼子的查詢跟蹤服裝關(guān)注情況
跟蹤會(huì)員訂購單的確認(rèn)狀態(tài)跟蹤會(huì)員所定服裝的發(fā)送狀態(tài)跟蹤管理員所發(fā)布的公告關(guān)注情況跟蹤會(huì)員所發(fā)布的貼子關(guān)注情況報(bào)告服裝類型的情況報(bào)告服裝信息的情況報(bào)告會(huì)員的情況網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
報(bào)告管理員的情況報(bào)告會(huì)員訂購單情況
報(bào)告會(huì)員詳細(xì)訂購單情況報(bào)告會(huì)員發(fā)帖情況報(bào)告會(huì)員留言情況
報(bào)告管理員發(fā)布公告情況
1.3系統(tǒng)邊界
發(fā)布網(wǎng)上公告管理員服裝信息確認(rèn)網(wǎng)上購物帖子發(fā)布會(huì)員形成訂購單對(duì)應(yīng)查詢訂購詳細(xì)清單查詢庫存
庫存管理1.4主要用戶視圖
用戶視圖超級(jí)管理員需求維護(hù)(插入,更新和刪除)管理員數(shù)據(jù)實(shí)現(xiàn)對(duì)管理員的查詢報(bào)告管理員的情況維護(hù)(插入,更新和刪除)會(huì)員數(shù)據(jù)更新個(gè)人信息實(shí)現(xiàn)對(duì)會(huì)員的查詢實(shí)現(xiàn)對(duì)個(gè)人信息的查詢報(bào)告會(huì)員的情況用戶管理員訂單管理員維護(hù)(插入,更新和刪除)會(huì)員網(wǎng)上購物的訂購單數(shù)據(jù)網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
公告管理員論壇管理員服裝管理員會(huì)員維護(hù)(插入,更新和刪除)會(huì)員網(wǎng)上購物的詳細(xì)訂購單數(shù)據(jù)更新個(gè)人信息實(shí)現(xiàn)對(duì)個(gè)人信息的查詢實(shí)現(xiàn)對(duì)會(huì)員訂購單的查詢實(shí)現(xiàn)對(duì)訂購單所對(duì)應(yīng)的詳細(xì)訂單的查詢跟蹤會(huì)員訂購單的確認(rèn)狀態(tài)跟蹤會(huì)員所定服裝的發(fā)送狀態(tài)報(bào)告會(huì)員訂購單情況報(bào)告會(huì)員詳細(xì)訂購單情況維護(hù)(插入,更新和刪除)管理員網(wǎng)上發(fā)布的公告數(shù)據(jù)更新本人信息實(shí)現(xiàn)對(duì)本人信息的查詢實(shí)現(xiàn)對(duì)所發(fā)布的公告的查詢跟蹤管理員所發(fā)布的公告關(guān)注情況報(bào)告管理員發(fā)布的公告情況刪除會(huì)員網(wǎng)上發(fā)布的垃圾帖子更新個(gè)人信息實(shí)現(xiàn)對(duì)個(gè)人信息的查詢實(shí)現(xiàn)對(duì)會(huì)員所發(fā)布的貼子的查詢跟蹤會(huì)員所發(fā)布的貼子關(guān)注情況報(bào)告會(huì)員發(fā)帖情況報(bào)告會(huì)員留言情況維護(hù)(插入,更新和刪除)服裝類型數(shù)據(jù)維護(hù)(插入,更新和刪除)服裝數(shù)據(jù)更新個(gè)人信息實(shí)現(xiàn)對(duì)個(gè)人信息的查詢實(shí)現(xiàn)對(duì)服裝的查詢實(shí)現(xiàn)對(duì)服裝類型的查詢跟蹤服裝關(guān)注情況報(bào)告服裝類型的情況報(bào)告服裝信息的情況維護(hù)(插入,更新和刪除)本人在論壇中所發(fā)布的貼子維護(hù)(插入,更新和刪除)本人在論壇中的留言更新個(gè)人信息實(shí)現(xiàn)對(duì)個(gè)人信息的查詢實(shí)現(xiàn)對(duì)個(gè)人在論壇中所發(fā)貼子的查詢實(shí)現(xiàn)對(duì)個(gè)人在論壇中留言的查詢實(shí)現(xiàn)對(duì)服裝的查詢實(shí)現(xiàn)對(duì)服裝類型的查詢實(shí)現(xiàn)對(duì)本人訂購單的查詢實(shí)現(xiàn)對(duì)本人訂購單所對(duì)應(yīng)的詳細(xì)訂單的查詢實(shí)現(xiàn)對(duì)管理員所發(fā)布的公告的查詢實(shí)現(xiàn)對(duì)會(huì)員所發(fā)布的貼子的查詢網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
2.需求分析
2.1數(shù)據(jù)需求
(1)服裝信息表的數(shù)據(jù)包括服裝編號(hào)(自動(dòng)編號(hào)),服裝名字,服裝類型號(hào),服
裝風(fēng)格,服裝品牌,服裝顏色,服裝尺碼,服裝質(zhì)地,服裝價(jià)格,服裝添加時(shí)間,服裝介紹,服裝訂購描述,服裝網(wǎng)上瀏覽量(動(dòng)態(tài)變化),服裝圖片的url,服裝是否特價(jià)(y/n),服裝打折后價(jià)錢(若非特價(jià),該項(xiàng)為原始價(jià)格)。每種服裝的編號(hào)是唯一的。(2)服裝類型表的數(shù)據(jù)包括服裝類型號(hào)(自動(dòng)編號(hào)),服裝類型的名字,服裝類型的父類型號(hào)(若無父類型,該項(xiàng)為0),是否有子類型(y/n),服裝類型的添加時(shí)間。每個(gè)服裝類型的編號(hào)是唯一的。(3)會(huì)員信息表的數(shù)據(jù)包括會(huì)員編號(hào)(自動(dòng)編號(hào)),用戶名,會(huì)員密碼,會(huì)員真
實(shí)名字,性別,電話號(hào)碼,手機(jī)號(hào)碼,電子郵箱,家庭地址,郵編,會(huì)員添加時(shí)間,會(huì)員積分。每個(gè)會(huì)員的編號(hào)是唯一的。(4)管理員信息表的數(shù)據(jù)包括管理員編號(hào)(自動(dòng)編號(hào)),管理員名字,管理員密
碼,管理員真實(shí)名字,管理員具體身份(超級(jí)管理員,服裝管理員,用戶管理員,訂單管理員,公告管理員,論壇管理員),管理員郵箱,管理員添加時(shí)間。每個(gè)管理員的編號(hào)是唯一的。(5)公告信息表的數(shù)據(jù)包括公告編號(hào)(自動(dòng)編號(hào)),公告標(biāo)題,公告內(nèi)容,公告發(fā)布時(shí)間,發(fā)布公告的管理員編號(hào),公告的網(wǎng)上瀏覽量(動(dòng)態(tài)變化)。每個(gè)公告的編號(hào)是唯一的。(6)訂購單信息表的數(shù)據(jù)包括訂購單編號(hào)(自動(dòng)編號(hào),唯一),訂購時(shí)間,訂購
單是否被管理員確認(rèn)(y/n),確認(rèn)時(shí)間(若未確認(rèn),則為空),訂購單中所訂購服裝的發(fā)送狀態(tài)(0:所訂購的服裝還未發(fā)送;1:已經(jīng)發(fā)送但訂購者還未收到;2:訂購者已收到),該次訂購的接收者姓名,接收者地址,接收者電話,接收者郵箱,發(fā)起該次訂購的會(huì)員的編號(hào),該次訂購的總價(jià)錢。對(duì)于訂購單信息表中剛插入的一條記錄,訂購單是否被管理員確認(rèn)的初值為n,經(jīng)過訂單管理員確認(rèn)后,將其更新為y,訂購單中所訂購服裝的發(fā)送狀態(tài)初值為0,由前臺(tái)應(yīng)用程序處理后更新其值。(7)詳細(xì)訂購單信息表的數(shù)據(jù)包括詳細(xì)訂購單的編號(hào)(自動(dòng)編號(hào),唯一),所對(duì)
應(yīng)的訂購單的編號(hào),所訂購的服裝的編號(hào),所訂購的服裝的數(shù)量,該項(xiàng)訂購的價(jià)錢。訂購單信息表記錄會(huì)員一次購物的消費(fèi)情況,而詳細(xì)訂購單信息表記錄在會(huì)員的這次消費(fèi)中每項(xiàng)消費(fèi)的詳細(xì)情況。(8)庫存表的數(shù)據(jù)包括服裝編號(hào),庫存量,庫存量下限。
(9)帖子信息表的數(shù)據(jù)包括帖子編號(hào)(自動(dòng)編號(hào),唯一),帖子主題,帖子內(nèi)容,
發(fā)帖的時(shí)間,發(fā)帖的會(huì)員的編號(hào),帖子的瀏覽量,帖子的回復(fù)數(shù),(10)回復(fù)信息表的數(shù)據(jù)包括回復(fù)編號(hào)(自動(dòng)編號(hào),唯一),回帖的會(huì)員的編號(hào),
回復(fù)的內(nèi)容,回復(fù)所針對(duì)的帖子的編號(hào),回復(fù)時(shí)間。網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
2.2事務(wù)需求
2.2.1數(shù)據(jù)錄入
a)錄入新會(huì)員的詳細(xì)信息b)錄入新管理員的詳細(xì)信息c)錄入新服裝的詳細(xì)信息
d)錄入新服裝類型的詳細(xì)信息e)錄入新的公告的詳細(xì)信息f)錄入新的訂單的詳細(xì)信息
g)錄入新的詳細(xì)訂單的詳細(xì)信息h)錄入新帖子的詳細(xì)信息i)錄入新回復(fù)的詳細(xì)信息
2.2.2數(shù)據(jù)更新/刪除
a)更新/刪除管理員信息。b)更新/刪除會(huì)員的信息。c)更新/刪除服裝的信息。d)更新/刪除服裝類型的信息e)更新/刪除公告的信息f)更新/刪除訂單的信息g)更新/刪除詳細(xì)訂單的信息h)更新/刪除論壇帖子的信息i)更新刪除回復(fù)的信息
2.2.3數(shù)據(jù)查詢
數(shù)據(jù)庫必須支持下列查詢:a)列出指定服裝的詳細(xì)信息b)列出指定類型的服裝信息c)列出指定會(huì)員的基本信息d)列出指定會(huì)員的訂購單信息e)列出指定會(huì)員論壇中的發(fā)帖信息f)列出指定會(huì)員論壇中的回復(fù)信息g)列出指定管理員的詳細(xì)信息h)列出指定管理員發(fā)布的公告信息i)列出指定公告的發(fā)布管理員的信息j)列出指定時(shí)間段內(nèi)的訂購單信息
k)列出指定訂單所對(duì)應(yīng)的各詳細(xì)訂單的信息,按詳細(xì)訂單號(hào)排序l)列出指定訂單所對(duì)應(yīng)的會(huì)員的詳細(xì)信息
m)列出指定的詳細(xì)訂單所對(duì)應(yīng)的服裝的詳細(xì)信息
2.2.4初始數(shù)據(jù)庫大小
a)大約有300種服裝可供訂購
b)大約有10名管理員分管該系統(tǒng)的各項(xiàng)工作網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
c)大約有1000名會(huì)員在該系統(tǒng)注冊(cè)
2.2.5數(shù)據(jù)庫增長(zhǎng)速度
a)每月大約有20種服裝加到數(shù)據(jù)庫中。
b)每月大約會(huì)有1000多名新會(huì)員注冊(cè)。如果會(huì)員一年沒消費(fèi),則將其記錄從數(shù)據(jù)庫中刪除。每月大約有100條會(huì)員記錄被刪除。c)每天大約會(huì)有30份服裝訂購單。
2.2.6記錄查找的類型和平均數(shù)量
a)查詢訂購單信息大約每天20次。b)查詢?cè)敿?xì)訂購單信息大約每天20次。
c)查詢指定會(huì)員的詳細(xì)情況大約每天20次。d)查詢指定服裝的詳細(xì)情況每天大約30次(周日至周四),50次(周五,周六),高峰期為每天下午6:00-9:00.e)查詢指定管理員的信息大約每天2次。f)查詢公告信息大約每天20次。g)查詢論壇帖子信息大約每天15次
2.2.7網(wǎng)絡(luò)和共享訪問需求
a)所有管理員都必須安全地和該系統(tǒng)的數(shù)據(jù)庫實(shí)現(xiàn)網(wǎng)絡(luò)互聯(lián)。b)系統(tǒng)能夠支持至少3名成員并發(fā)訪問。
2.2.8性能
a)在上班時(shí)間但非高峰期單個(gè)記錄的搜索時(shí)間要少于1秒,高峰期各種
搜索的響應(yīng)時(shí)間要少于5秒。
b)在上班時(shí)間但非高峰期多條記錄的搜索時(shí)間要少于5秒,高峰期各種搜索的響應(yīng)時(shí)間要少于10秒。
c)在上班時(shí)間但非高峰期更新/保存記錄的時(shí)間要少于1秒,高峰期要少于5秒。
2.2.9安全性
a)數(shù)據(jù)庫必須有口令保護(hù)。
b)每個(gè)管理員應(yīng)該分配到一個(gè)特定用戶視圖的數(shù)據(jù)庫訪問權(quán)限。
c)每個(gè)管理員只能在適合他們完成工作需要的窗口中看到需要的數(shù)據(jù)。
2.2.10備份和恢復(fù)
數(shù)據(jù)庫必須在每天晚上12點(diǎn)備份。
2.2.11用戶界面
用戶界面必須是菜單驅(qū)動(dòng)的,聯(lián)機(jī)幫助易于查找和使用。
2.2.12法律問題
本數(shù)據(jù)庫系統(tǒng),要實(shí)現(xiàn)所要遵守的法律。網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
3邏輯數(shù)據(jù)庫設(shè)計(jì)
3.1實(shí)體定義:
對(duì)整個(gè)系統(tǒng),可以定義下列實(shí)體:
Costume(服裝)
CotumeType(服裝類型)Member(會(huì)員)Admin(管理員)Bullet(公告)
BusinessOrder(會(huì)員定購單/消費(fèi)單)OrderDatail(會(huì)員的詳細(xì)定購單/消費(fèi)單)newpost(論壇帖子)reply(論壇回復(fù))Store(庫存)
3.2實(shí)體文檔:
EntitynameCostumeDescription該系統(tǒng)所銷售的服裝服裝類型,eg:長(zhǎng)衫,短褲等等該系統(tǒng)的管理員,分為超級(jí)管理員,服裝管理員,訂單管理員,用戶管理員,論壇管理員,公告管理員該連鎖店的會(huì)員,各會(huì)員在不同的分店可以使用同一注冊(cè)號(hào)會(huì)員的消費(fèi)單,一個(gè)會(huì)員一次購買的所有服裝屬于一個(gè)消費(fèi)單會(huì)員的詳細(xì)消費(fèi)單,記錄消費(fèi)單的詳細(xì)情況AliasClothesOccurrence該系統(tǒng)銷售多種服裝一種類型的服裝包含多種服裝,一種服裝只屬于一種類型該系統(tǒng)有多個(gè)管理員,每個(gè)類型的管理員管理該系統(tǒng)相應(yīng)的模塊CostumeTypeAdminMemberConsumer該系統(tǒng)有多名會(huì)員由于淡旺季等原因,不同時(shí)間段的銷售交易情況有所不同會(huì)員的消費(fèi)單可以對(duì)應(yīng)多個(gè)詳細(xì)消費(fèi)單,所購買的每種服裝都對(duì)BusinessOrderOrderDetail網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
Bullet網(wǎng)上系統(tǒng)的公告,公告內(nèi)容可以是最近搞活動(dòng)的服裝等等論壇中會(huì)員發(fā)布的帖子論壇中會(huì)員針對(duì)帖子的回復(fù)newpostreplyStore記錄每種服裝的庫存應(yīng)一個(gè)詳細(xì)消費(fèi)單一個(gè)管理員可以發(fā)布多個(gè)公告,一個(gè)公告只能由一個(gè)管理員發(fā)布,以免重復(fù)每名會(huì)員可以發(fā)布多個(gè)帖子每個(gè)帖子可以有多個(gè)回復(fù)每種服裝的庫存量至少要為某一值,當(dāng)其數(shù)目少于該值時(shí)就要發(fā)出進(jìn)貨單,但這一部分在該系統(tǒng)外部,這里不作進(jìn)一步說明3.3ER模型:
(該系統(tǒng)的ER模型)網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
3.4聯(lián)系歸檔表:
EntityMemberMemberreplyMemberAdminAdminCostumeBusinessOrderStaffCostumeMultiplicityRelationshipMultiplicity0..*Announce1..10..*Announce1..11..1for0..*0..*0..*0..1..11..*0..*0..*GenerateConfirmAnnounceBelongToHasAttendsAttends1..11..11..11..*1..11..11..1EntitynewpostreplynewpostBusinessOrderBusinessOrderBulletCostumeTypeOrderDetailOrderDetailOrderDetail3.5標(biāo)識(shí)實(shí)體或關(guān)系的有關(guān)屬性
EntityAttributesMemberIDPasswordMemberNameRealNameTelephoneMemberMobileEmailAddressZipAddDateAccumulatePointsSexDatatypeDescriptionandNullsMultivaluedlength會(huì)員號(hào)(非空4intNoNo且唯一),自動(dòng)編號(hào).會(huì)員登陸口50varcharNoNo令會(huì)員名字50varcharNoNo會(huì)員真實(shí)名50varcharNoNo字會(huì)員聯(lián)系電50varcharNoYes話會(huì)員手機(jī)50varcharYesYes常用Email200varcharNoYes家庭住址200varcharNoNo所在地的郵20varcharNoNo編8成為會(huì)員的NoNodatetime時(shí)間積分性別4int2varcharNoNoNoNo網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
服裝號(hào)(非空且唯一),自動(dòng)編號(hào).服裝名字服裝所屬類CostumeTypeID別(eg:套裝裙子)CostumeStyle風(fēng)格CostumeBrand品牌CostumeColor顏色CostumeSize尺碼CostumeTexture質(zhì)地CostumeAddDateOrderDescCostumePriceCostumePointCostumeImgIsSpecialSpecailPriceTypeIDTypeNameCostumeTypeTypeFidTypeHaveChildTypeAddDateAdminIDAdminNamePasswordRealNameEmailAddDate添加時(shí)間定購說明服裝價(jià)格網(wǎng)上該服裝被瀏覽的次數(shù)該種服裝的照片的URL標(biāo)志是否為特價(jià)服裝降價(jià)后的價(jià)格服裝類型號(hào)類型的名字類型父類型號(hào)是否有子類型添加時(shí)間管理員號(hào)管理員名字管理員密碼管理員真實(shí)名字管理員Email添加時(shí)間CostumeIDCostumeName4int50varchar4int20varchar20varchar20varchar20varchar20varchar8datetime100varchar8money4int200varchar2varchar8money4int50varchar4int2varchar8datetime4int50varchar50varchar50varchar200varchar8datetimeNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoYesNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoYesNoNoNoNoNoNoNoNoNoNoNoNoNoAdmin網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
Actor管理員具體身份(超級(jí)管理員,服裝管理員,論壇管理員,公告管理員,用戶管理員,訂單管理員)公告號(hào)公告標(biāo)題公告內(nèi)容20varcharNoNoBulIDBulTitleBulContentBulletBulAddDateAdminIDBulPointOrderIDOrderTimeOrderIsConfirmConfirmTimeConfirmAdminIDOrderSendStatusBusinessOrderOrderRecNameOrderAddressOrderZipOrderMemberIDOrderTotalPriceOrderEmailOrderDetailOrderDetailID4int100varchar4000varcharNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo公告添加時(shí)8datetime間發(fā)布該公告4int的管理員ID該公告的瀏覽量訂單號(hào)產(chǎn)生訂單的間訂單確認(rèn)情況訂單確認(rèn)時(shí)間確認(rèn)訂單的管理員ID訂單發(fā)送情況訂單的收貨人姓名訂單的收貨人地址訂單的收貨人郵編產(chǎn)生訂單的會(huì)員的ID訂單的總價(jià)4int4int8datetime2varchar8datetime4int4int50varcahr200varchar20varcahr4int8money訂單的收貨200varchar人的Email詳細(xì)訂單號(hào)4int網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
OrderIDCostumeIDCostumeNumOrderPricepostidsubjectmessagenewpostposttimeuseridrepliesviewsreplyiduseridmessagereplytimepostidCostumeIDStoreStoreLowest該項(xiàng)所對(duì)應(yīng)的訂單號(hào)該項(xiàng)所對(duì)應(yīng)的服裝號(hào)該服裝購買的數(shù)量該服裝總價(jià)4int4int4int8moneyNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoreply每個(gè)帖子的4intid200varchar帖子主題200帖子內(nèi)容varchar帖子發(fā)布時(shí)8datetime間發(fā)布帖子的4int會(huì)員的id帖子被回復(fù)4int的次數(shù)帖子被瀏覽4int的次數(shù)回復(fù)id4int進(jìn)行回復(fù)的4int會(huì)員的id回復(fù)的內(nèi)容200varchar8回復(fù)的時(shí)間datetime回復(fù)所針對(duì)4int的帖子的id庫存中服裝的id庫存量庫存量下限4int4int4int3.6確定屬性域
Member的Sex屬性的可能值為男或女
IsSpecial,TypeHaveChild,OrderIsConfirm的屬性域?yàn)閥/n
OrderSendStatus的屬性域?yàn)?,1,2.0表示貨還未發(fā)送,1表示貨已發(fā)網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
送,但訂購者還未收到,2表示貨已到訂購者手中。各日期的屬性域是包含年-月-日時(shí)-分-秒的日期形式。
3.7確定候選鍵,主鍵和備用鍵屬性
EntityAttributesMemberIDPasswordMemberNameRealNameTelephoneMobileEmailAddressZipAddDateAccumulatePointsSexCostumeIDCostumeNameCostumeTypeIDCostumeCostumeStyleCostumeBrandCostumeColorCostumeSizeCostumeTextureAddDateOrderDescCostumePriceCostumePointDescriptionKeyNullsMultivalued會(huì)員號(hào)(非空NoNo且唯一),自Primarykey動(dòng)編號(hào).會(huì)員登陸口NoNo令會(huì)員名字NoNo會(huì)員真實(shí)名NoNo字會(huì)員聯(lián)系電NoYes話會(huì)員手機(jī)YesYes常用EmailNoYes家庭住址NoNo所在地的郵NoNo編成為會(huì)員的NoNo時(shí)間積分性別服裝號(hào)(非空且唯一),自動(dòng)編號(hào).服裝名字服裝所屬類別(eg:套裝裙子)風(fēng)格品牌顏色尺碼質(zhì)地添加時(shí)間定購說明服裝價(jià)格網(wǎng)上該服裝被瀏覽的次PrimarykeyForeignkeyNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoMember網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
數(shù)CostumeImgIsSpecialSpecailPriceTypeIDTypeNameCostumeTypeTypeFidTypeHaveChildTypeAddDateAdminIDAdminNamePasswordRealNameEmailAddDateAdmin該種服裝的照片的URL標(biāo)志是否為特價(jià)服裝降價(jià)后的價(jià)格服裝類型號(hào)Primarykey類型的名字類型父類型號(hào)是否有子類型添加時(shí)間管理員號(hào)Primarykey管理員名字管理員密碼管理員真實(shí)名字管理員Email添加時(shí)間管理員具體身份(超級(jí)管理員,服裝管理員,論壇管理員,公告管理員,用戶管理員,訂單管理員)NoNoNoNoNoYesNoNoNoNoNoNoNoNoYesNoNoNoNoNoNoNoNoNoNoNoNoNoActorNoNoBulIDBulTitleBulContentBulAddDateBulletAdminIDBulPointOrderIDBusinessOrderOrderTime公告號(hào)Primarykey公告標(biāo)題公告內(nèi)容公告添加時(shí)間發(fā)布該公告Foreignkey的管理員ID該公告的瀏覽量訂單號(hào)產(chǎn)生訂單的間PrimarykeyNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
OrderIsConfirmConfirmTimeConfirmAdminIDOrderSendStatusOrderRecNameOrderAddressOrderZipOrderMemberIDOrderTotalPriceOrderEmailOrderDetailIDOrderIDCostumeIDCostumeNumOrderPricepostidsubjectmessagenewpostposttimeuseridrepliesviewsreplyreplyid訂單確認(rèn)情況訂單確認(rèn)時(shí)間確認(rèn)訂單的管理員ID訂單發(fā)送情況訂單的收貨人姓名訂單的收貨人地址訂單的收貨人郵編ForeingnkeyNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNo產(chǎn)生訂單的Foreignkey會(huì)員的ID訂單的總價(jià)訂單的收貨人的EmailOrderDetail詳細(xì)訂單號(hào)Primarykey該項(xiàng)所對(duì)應(yīng)Foreignkey的訂單號(hào)該項(xiàng)所對(duì)應(yīng)Foreignkey的服裝號(hào)該服裝購買的數(shù)量該服裝總價(jià)每個(gè)帖子的Primarykeyid帖子主題帖子內(nèi)容帖子發(fā)布時(shí)間發(fā)布帖子的Foreignkey會(huì)員的id帖子被回復(fù)的次數(shù)帖子被瀏覽的次數(shù)回復(fù)idPrimarykey網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
useridmessagereplytimepostidCostumeIDStoreLowest
Store進(jìn)行回復(fù)的會(huì)員的id回復(fù)的內(nèi)容回復(fù)的時(shí)間回復(fù)所針對(duì)的帖子的id庫存中服裝的id庫存量庫存量下限ForeignkeyForeignkeyPrimarykeyForeignkeyNoNoNoNoNoNoNoNoNoNoNoNoNoNo3.8模式圖:
(該系統(tǒng)的模式圖)
網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
3.9表支持的用戶事務(wù):
該系統(tǒng)的Devision視圖的數(shù)據(jù)項(xiàng)和更新/刪除事務(wù)所需的表
事務(wù)需求的表Admin(AdminID,AdminName,Password,RealName,Email,AddDate);Bullet(BulID,BulTitle,BulContent,BulAddDate,AdminID);外鍵AdimID引用Admin(AdminID)BusinessOrder(OrderID,OrderTime,OrderIsConfirm,ConfirmTime,ConfirmAdminID,OrderSendStatus,OrderRecName,OrderAddress,OrderZip,OrderMemberID,OrderTotalPrice,OrderEmail);外鍵ConfirmAdminID引用Admin(AdminID)Member(MemberID,Password,MemberName,RealName,Telephone,Mobile,Email,Address,Zip,AddDate,AccumulatePoints,Sex)BusinessOrder(OrderID,OrderTime,OrderIsConfirm,ConfirmTime,ConfirmAdminID,OrderSendStatus,OrderRecName,OrderAddress,OrderZip,OrderMemberID,OrderTotalPrice,OrderEmail);外鍵OrderMemberID引用Member(MemberID)Costume(CostumeID,CostumeName,CostumeTypeID,CostumeStyle,CostumeBrand,CostumeColor,CostumeSize,CostumeTexture,Addtion,AddDate,OrderDesc,CostumePrice,CostumePoint,CostumeImg,IsSpecial,SpecailPrice);外鍵CostumeTypeID引用CostumeType(TypeID)CostumeType(TypeID,TypeName,TypeFid,TypeHaveChild,TypeAddDate)OrderDetail(OrderDetailID,OrderID,StaffID,CostumeID,CostumeNum,OrderPrice);外鍵CostumeID引用Costume(CostumeID)CostumeType(TypeID,TypeName,TypeFid,TypeHaveChild,TypeAddDate)外鍵TypeFid引用CostumeType(TypeID)Costume(CostumeID,CostumeName,CostumeTypeID,CostumeStyle,CostumeBrand,CostumeColor,CostumeSize,CostumeTexture,Addtion,AddDate,OrderDesc,CostumePrice,CostumePoint,CostumeImg,IsSpecial,SpecailPrice);外鍵CostumeTypeID引用CostumeType(TypeID)錄入新管理員的詳細(xì)信息更新/刪除管理員信息。錄入新會(huì)員的詳細(xì)信息更新/刪除會(huì)員的信息。錄入新服裝的詳細(xì)信息更新/刪除服裝的信息。錄入新服裝類型的詳細(xì)信息更新/刪除服裝類型的信息網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
錄入新的公告的詳細(xì)信息更新/刪除公告的信息錄入新的訂單的詳細(xì)信息更新/刪除訂單的信息錄入新的詳細(xì)訂單的詳細(xì)信息更新/刪除詳細(xì)訂單的信息列出指定服裝的詳細(xì)信息列出指定類型的服裝信息Bullet(BulID,BulTitle,BulContent,BulAddDate,AdminID,BulPoint)外鍵AdminID引用Admin(AdminID)Admin(AdminID,AdminName,Password,RealName,Email,AddDate);BusinessOrder(OrderID,OrderTime,OrderIsConfirm,ConfirmTime,ConfirmAdminID,OrderSendStatus,OrderRecName,OrderAddress,OrderZip,OrderMemberID,OrderTotalPrice,OrderEmail);外鍵ConfirmAdminID引用Admin(AdmainID)Admin(AdminID,AdminName,Password,RealName,Email,AddDate);外鍵OrderMemberID引用Member(MemberID)Member(MemberID,Password,MemberName,RealName,Telephone,Mobile,Email,Address,Zip,AddDate,AccumulatePoints,Sex)OrderDetail(OrderDetailID,OrderID,StaffID,CostumeID,CostumeNum,OrderPrice);外鍵OrderID引用BusinessOrder(OrderID)OrderDetail(OrderDetailID,OrderID,StaffID,CostumeID,CostumeNum,OrderPrice);外鍵OrderID引用BusinessOrder(OrderID)BusinessOrder(OrderID,OrderTime,OrderIsConfirm,ConfirmTime,ConfirmAdminID,OrderSendStatus,OrderRecName,OrderAddress,OrderZip,OrderMemberID,OrderTotalPrice,OrderEmail);外鍵CostumeID引用Costume(CostumeID)Costume(CostumeID,CostumeName,CostumeTypeID,CostumeStyle,CostumeBrand,CostumeColor,CostumeSize,CostumeTexture,Addtion,AddDate,OrderDesc,CostumePrice,CostumePoint,CostumeImg,IsSpecial,SpecailPrice);Costume(CostumeID,CostumeName,CostumeTypeID,CostumeStyle,CostumeBrand,CostumeColor,CostumeSize,CostumeTexture,Addtion,AddDate,OrderDesc,CostumePrice,CostumePoint,CostumeImg,IsSpecial,SpecailPrice);外鍵CostumeTypeID引用CostumeType(TypeID)CostumeType(TypeID,TypeName,TypeFid,TypeHaveChild,TypeAddDate)CostumeType(TypeID,TypeName,TypeFid,TypeHaveChild,TypeAddDate)外鍵TypeFid引用CostumeType(TypeID)Costume(CostumeID,CostumeName,CostumeTypeID,CostumeStyle,CostumeBrand,CostumeColor,CostumeSize,CostumeTexture,Addtion,AddDate,OrderDesc,CostumePrice,Co網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
按照指定會(huì)員的詳細(xì)信息列出指定管理員的詳細(xì)信息列出指定公告的發(fā)布管理員的信息列出指定訂單所對(duì)應(yīng)的各詳細(xì)訂單的信息,按詳細(xì)訂單號(hào)排序列出指定訂單所對(duì)應(yīng)的會(huì)員的詳細(xì)信息列出指定的詳細(xì)訂單所對(duì)應(yīng)的服裝的詳細(xì)信息stumePoint,CostumeImg,IsSpecial,SpecailPrice);外鍵CostumeTypeID引用CostumeType(TypeID)Member(MemberID,Password,MemberName,RealName,Telephone,Mobile,Email,Address,Zip,AddDate,AccumulatePoints,Sex)BusinessOrder(OrderID,OrderTime,OrderIsConfirm,ConfirmTime,ConfirmAdminID,OrderSendStatus,OrderRecName,OrderAddress,OrderZip,OrderMemberID,OrderTotalPrice,OrderEmail);外鍵OrderMemberID引用Member(MemberID)Admin(AdminID,AdminName,Password,RealName,Email,AddDate);Bullet(BulID,BulTitle,BulContent,BulAddDate,AdminID);外鍵AdimID引用Admin(AdminID)BusinessOrder(OrderID,OrderTime,OrderIsConfirm,ConfirmTime,ConfirmAdminID,OrderSendStatus,OrderRecName,OrderAddress,OrderZip,OrderMemberID,OrderTotalPrice,OrderEmail);外鍵ConfirmAdminID引用Admin(AdminID)Bullet(BulID,BulTitle,BulContent,BulAddDate,AdminID,BulPoint)外鍵AdminID引用Admin(AdminID)Admin(AdminID,AdminName,Password,RealName,Email,AddDate);BusinessOrder(OrderID,OrderTime,OrderIsConfirm,ConfirmTime,ConfirmAdminID,OrderSendStatus,OrderRecName,OrderAddress,OrderZip,OrderMemberID,OrderTotalPrice,OrderEmail);OrderDetail(OrderDetailID,OrderID,CostumeID,CostumeNum,OrderPrice);外鍵OrderID引用BusinessOrder(OrderID)BusinessOrder(OrderID,OrderTime,OrderIsConfirm,ConfirmTime,ConfirmAdminID,OrderSendStatus,OrderRecName,OrderAddress,OrderZip,OrderMemberID,OrderTotalPrice,OrderEmail);外鍵OrderMemberID引用Member(MemberID)Member(MemberID,Password,MemberName,RealName,Telephone,Mobile,Email,Address,Zip,AddDate,AccumulatePoints,Sex)OrderDetail(OrderDetailID,OrderID,CostumeID,CostumeNum,OrderPrice);外鍵CostumeID引用Costume(CostumeID)Costume(CostumeID,CostumeName,CostumeTypeID,Costum網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
eStyle,CostumeBrand,CostumeColor,CostumeSize,CostumeTexture,Addtion,AddDate,OrderDesc,CostumePrice,CostumePoint,CostumeImg,IsSpecial,SpecailPrice);4.物理數(shù)據(jù)庫設(shè)計(jì)
4.1設(shè)計(jì)基本表:
Admin:
1.表名:Admin2.所有者:dbo3.源代碼:
CREATETABLE[dbo].[Admin](
[AdminID][int]IDENTITY(1000,1)NOTNULL,
[AdminName][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[Actor][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[Password][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[RealName][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[Email][varchar](200)COLLATEChinese_PRC_CI_ASNOTNULL,[AddDate][datetime]NOTNULL)ON[PRIMARY]GO
RANTSELECT,UPDATE,INSERT,DELETEON[dbo].[Admin]TO[超級(jí)管理員]GO
GRANTSELECTON[dbo].[Admin]TO[用戶管理員]GO
GRANTSELECTON[dbo].[Admin]TO[訂單管理員]GO
GRANTSELECTON[dbo].[Admin]TO[公告管理員]GO
GRANTSELECTON[dbo].[Admin]TO[服裝管理員]GO
4.權(quán)限管理:
5.約束:
CONSTRAINT[PK_Admin]PRIMARYKEYCLUSTERED([AdminID])ON[PRIMARY],CONSTRAINT[IX_Admin_Name]UNIQUENONCLUSTERED([AdminName])ON[PRIMARY]網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
Bullet:
1.表名:Bullet2.所有者:dbo3.源代碼:
CREATETABLE[dbo].[Bullet]([BulID][int]IDENTITY(1,1)NOTNULL,[BulTitle][varchar](100)COLLATEChinese_PRC_CI_ASNOTNULL,[BulContent][varchar](4000)COLLATEChinese_PRC_CI_ASNOTNULL,[BulAddDate][datetime]NOTNULL,[AdminID][int]NOTNULL,[BulPoint][int]NOTNULL)ON[PRIMARY]GO
4.權(quán)限管理:
GRANTSELECT,UPDATE,INSERT,DELETEON[dbo].[Bullet]TO[公告管理員]
GOGRANTSELECTON[dbo].[Bullet]TO[會(huì)員]GO
5.約束:
CONSTRAINT[PK_Bullet]PRIMARYKEYCLUSTERED
([BulID])ON[PRIMARY],CONSTRAINT[IX_Bullet_Title]UNIQUENONCLUSTERED([BulTitle])ON[PRIMARY]
CONSTRAINT[FK_Bullet_Admin]FOREIGNKEY([AdminID])REFERENCES[dbo].[Admin]([AdminID])ONDELETECASCADEONUPDATECASCADE
BusinessOrder
1.表名:BusinessOrder
2.所有者:dbo3.源代碼:
CREATETABLE[dbo].[BusinessOrder]([OrderID][int]IDENTITY(1000,1)NOTNULL,[OrderTime][datetime]NOTNULL,[OrderIsConfirm][varchar](2)COLLATEChinese_PRC_CI_ASNOTNULL,網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
[ConfirmTime][datetime]NULL,[ConfirmAdminID][int]NULL,[OrderSendStatus][int]NOTNULL,[OrderRecName][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[OrderAddress][varchar](200)COLLATEChinese_PRC_CI_ASNOTNULL,
[OrderZip][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,[OrderMemberID][int]NOTNULL,[OrderTotalPrice][money]NOTNULL,[OrderEmail][varchar](200)COLLATEChinese_PRC_CI_ASNOTNULL,[OrderPhone][varchar](200)COLLATEChinese_PRC_CI_ASNOTNULL)ON[PRIMARY]GO
4.權(quán)限:
GRANTSELECT,UPDATE,INSERT,
DELETEON[dbo].[BusinessOrder]TO[訂單管理員]GO
GRANTSELECTON[dbo].[BusinessOrder]TO[會(huì)員]GO
5.約束:
CONSTRAINT[PK_OrderInfo]PRIMARYKEYCLUSTERED([OrderID])ON[PRIMARY]
CONSTRAINT[FK_OrderInfo_Admin]FOREIGNKEY([ConfirmAdminID])REFERENCES[dbo].[Admin]([AdminID])ONDELETECASCADEONUPDATECASCADE,CONSTRAINT[FK_OrderInfo_Member]FOREIGNKEY([OrderMemberID])REFERENCES[dbo].[Member]([MemberID])ONDELETECASCADEONUPDATECASCADE
Costume
1.表名:Costume2.所有者:dbo3.源代碼:
CREATETABLE[dbo].[Costume](網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
[CostumeID][int]IDENTITY(1000,1)NOTNULL,[CostumeName][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,
[TypeID][int]NOTNULL,[CostumeStyle][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,[CostumeBrand][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[CostumeColor][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,[CostumeSize][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,[CostumeTexture][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[AddDate][datetime]NOTNULL,[CostumeIntroduce][varchar](4000)COLLATEChinese_PRC_CI_ASNOTNULL,
[OrderDesc][varchar](100)COLLATEChinese_PRC_CI_ASNOTNULL,[CostumePrice][money]NOTNULL,[CostumePoint][int]NOTNULL,[CostumeImg][varchar](200)COLLATEChinese_PRC_CI_ASNOTNULL,[IsSpecial][varchar](2)COLLATEChinese_PRC_CI_ASNOTNULL,[SpecialPrice][money]NOTNULL)ON[PRIMARY]GO
4.權(quán)限:
GRANTSELECT,UPDATE,INSERT,
DELETEON[dbo].[Costume]TO[服裝管理員]GO
GRANTSELECTON[dbo].[Costume]TO[會(huì)員]GO
5.約束:
CONSTRAINT[PK_Costume]PRIMARYKEYCLUSTERED([CostumeID])ON[PRIMARY]
CONSTRAINT[FK_Costume_CostumeType]FOREIGNKEY([TypeID])REFERENCES[dbo].[CostumeType]([TypeID])ONDELETECASCADEONUPDATECASCADE
CostumeType
1.表名:CostumeType
2.所有者:dbo3.源代碼:網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
CREATETABLE[dbo].[CostumeType]([TypeID][int]IDENTITY(1000,1)NOTNULL,[TypeName][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[TypeFid][int]NOTNULL,[TypeHaveChild][varchar](2)COLLATEChinese_PRC_CI_ASNOTNULL,[TypeAddDate][datetime]NOTNULL)ON[PRIMARY]GO
4.權(quán)限:
GRANTSELECT,UPDATE,INSERT,
DELETEON[dbo].[CostumeType]TO[服裝管理員]GO
GRANTSELECTON[dbo].[CostumeType]TO[會(huì)員]GO
5.約束:
CONSTRAINT[PK_CostumeType]PRIMARYKEYCLUSTERED([TypeID])ON[PRIMARY],CONSTRAINT[IX_CostumeType_Name]UNIQUENONCLUSTERED([TypeName])ON[PRIMARY]
Member
1.表名:Member
2.所有者:dbo3.源代碼:
CREATETABLE[dbo].[Member]([MemberID][int]IDENTITY(1000,1)NOTNULL,[MemberName][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[Password][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[RealName][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[Sex][varchar](2)COLLATEChinese_PRC_CI_ASNOTNULL,[Telephone][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,[Mobile][varchar](50)COLLATEChinese_PRC_CI_ASNULL,[Email][varchar](200)COLLATEChinese_PRC_CI_ASNOTNULL,[Address][varchar](200)COLLATEChinese_PRC_CI_ASNOTNULL,[Zip][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,[AddDate][datetime]NOTNULL,[AccumulatePoints][int]NULL)ON[PRIMARY]GO網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
4.權(quán)限:
GRANTSELECT,UPDATE,INSERT,DELETEON[dbo].[Member]TO[用戶管理員]GO
GRANTSELECT,UPDATEON[dbo].[Member]TO[會(huì)員]GO
5.約束:
CONSTRAINT[DF_Member_Sex]DEFAULT("男")FOR[Sex],CONSTRAINT[PK_Member]PRIMARYKEYCLUSTERED([MemberID])ON[PRIMARY],CONSTRAINT[IX_Member_Name]UNIQUENONCLUSTERED([MemberID])ON[PRIMARY]
OrderDetail
1.表名:OrderDetail
2.所有者:dbo3.源代碼:
CREATETABLE[dbo].[OrderDetail]([OrderDetailID][int]IDENTITY(1000,1)NOTNULL,[OrderID][int]NOTNULL,[CostumeID][int]NOTNULL,[CostumeNum][int]NOTNULL,[OrderPrice][money]NOTNULL)ON[PRIMARY]GO
4.權(quán)限:
GRANTSELECT,UPDATE,INSERT,DELETEON[dbo].[OrderDetail]TO[訂單管理員]
GOGRANTSELECTON[dbo].[OrderDetail]TO[會(huì)員]GO
5.約束:
CONSTRAINT[PK_OrderDetail]PRIMARYKEYCLUSTERED([OrderDetailID])ON[PRIMARY],
CONSTRAINT[CK_OrderDetail_CostumeNum]CHECK([CostumeNum]>0)CONSTRAINT[FK_OrderDetail_Costume]FOREIGNKEY([CostumeID]網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
)REFERENCES[dbo].[Costume]([CostumeID]
)ONDELETECASCADEONUPDATECASCADE,
CONSTRAINT[FK_OrderDetail_OrderInfo]FOREIGNKEY([OrderID]
)REFERENCES[dbo].[BusinessOrder]([OrderID]
)ONDELETECASCADEONUPDATECASCADE
Store
1.表名:Store2.所有者:dbo3.源代碼:
CREATETABLE[dbo].[Store]([CostumeID][int]NOTNULL,[Store][int]NOTNULL,[Lowest][int]NOTNULL)ON[PRIMARY]GO
4.權(quán)限:
GRANTSELECT,UPDATE,INSERT,DELETEON[dbo].[Store]TO[服裝管理員]GO
5.約束:
CONSTRAINT[PK_Store]PRIMARYKEYCLUSTERED([CostumeID])ON[PRIMARY],CONSTRAINT[CK_Store_Lowest]CHECK([Lowest]>=0)CONSTRAINT[FK_Store_Costume]FOREIGNKEY([CostumeID])REFERENCES[dbo].[Costume]([CostumeID])ONDELETECASCADEONUPDATECASCADE
newpost
1.表名:newpost
2.所有者:dbo3.源代碼:
CREATETABLE[dbo].[newpost]([postid][int]IDENTITY(1000,1)NOTNULL,[subject][varchar](200)COLLATEChinese_PRC_CI_ASNOTNULL,網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
[posttime][datetime]NOTNULL,[userid][int]NOTNULL,[replies][int]NOTNULL,[postviews][int]NOTNULL,[message][varchar](200)COLLATEChinese_PRC_CI_ASNOTNULL)ON[PRIMARY]GO
4.權(quán)限:
GRANTSELECT,UPDATE,INSERT,DELETEON[dbo].[newpost]TO[會(huì)員]GO
GRANTSELECT,UPDATE,INSERT,DELETEON[dbo].[newpost]TO[論壇管理員]
GO5.約束:
CONSTRAINT[PK_newpost]PRIMARYKEYCLUSTERED([postid])ON[PRIMARY]
CONSTRAINT[FK_newpost_Member]FOREIGNKEY([userid])REFERENCES[dbo].[Member]([MemberID])ONDELETECASCADEONUPDATECASCADE
reply
1.表名:reply
2.所有者:dbo3.源代碼:
CREATETABLE[dbo].[reply]([replyid][int]IDENTITY(1000,1)NOTNULL,[userid][int]NOTNULL,[message][varchar](200)COLLATEChinese_PRC_CI_ASNOTNULL,[postid][int]NOTNULL,[replytime][datetime]NOTNULL)ON[PRIMARY]GO
4.權(quán)限:
GRANTSELECT,UPDATE,INSERT,DELETEON[dbo].[reply]TO[會(huì)員]GO
GRANTSELECT,UPDATE,INSERT,DELETEON[dbo].[reply]TO[論壇管理員]網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
GO5.約束:
CONSTRAINT[PK_reply]PRIMARYKEYCLUSTERED([replyid])ON[PRIMARY]
CONSTRAINT[FK_reply_Member]FOREIGNKEY([userid])REFERENCES[dbo].[Member]([MemberID])ONDELETECASCADEONUPDATECASCADE,CONSTRAINT[FK_reply_newpost]FOREIGNKEY([postid])REFERENCES[dbo].[newpost]([postid])
4.2為目標(biāo)數(shù)據(jù)庫管理系統(tǒng)設(shè)計(jì)業(yè)務(wù)規(guī)則:
4.2.1規(guī)則:rule[Sex]
createrule[Sex]as@in("男","女")GO
rule[TypeHaveChild]
createrule[TypeHaveChild]as@in("y","n")GO
rule[IsSpecial]
createrule[IsSpecial]as@in("y","n")GO
rule[OrderIsConfirm]
createrule[OrderIsConfirm]as@in("y","n")GO
rule[Actor]
createrule[Actor]as@in("超級(jí)管理員","用戶管理員","論壇管理員","服裝管理員","訂單管理員","公告管理員")
GOrule[OrderSendStatus]
createrule[OrderSendStatus]as@in("0","1","2")GO
4.2.2觸發(fā)器:
BusinessOrder_Delete
1.觸發(fā)器名:BusinessOrder_Delete網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
2.所有者:dbo
3.所屬表:BusinessOrder_4.功能:-當(dāng)刪除訂購單BusinessOrder中的一條記錄時(shí),就刪除該訂購單所對(duì)應(yīng)的所有詳細(xì)訂單的信息5.源代碼:
-CREATETRIGGERBusinessOrder_DeleteONBusinessOrderFORDELETEAS
begin
declare@tint
select@t=OrderIDfromdeleted
deletefromOrderDetailwhereOrderID=@tendGO
CostumeDelete
1.觸發(fā)器名:CostumeDelete2.所有者:dbo
3.所屬表:Costume
4.功能:-當(dāng)刪除一種服裝時(shí),說明該系統(tǒng)不再出售該種服裝,那么該服裝所對(duì)應(yīng)的訂購單也要?jiǎng)h除
5.源代碼:
CREATETRIGGERCostumeDeleteONCostumeFORDELETEAS
begin
declare@tint
select@t=CostumeIDfromdeleted
deletefromOrderDetailwhereCostumeID=@tendGO
CostumeType_Delete
1.觸發(fā)器名:CostumeType_Delete2.所有者:dbo
3.所屬表:CostumeType4.功能:--刪除服裝類型表中的一條記錄時(shí),就刪除該類型所對(duì)應(yīng)的服裝品種的信息
5.源代碼:
CREATETRIGGERCostumeType_DeleteONCostumeTypeFORDELETEAS
begin
declare@tint
select@t=TypeIDfromdeleted
deletefromCostumewhereTypeID=@t網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
end
GoMember_Delete
1.觸發(fā)器名:Member_Delete2.所有者:dbo3.所屬表:Member
4.功能:--當(dāng)刪除會(huì)員表中的一條記錄時(shí),就刪除該會(huì)員所對(duì)應(yīng)的訂購單信息
5.源代碼:
CREATETRIGGERMember_DeleteONMemberFORDELETEASbegin
declare@tint
select@t=MemberIDfromdeleted
deletefromBusinessOrderwhereOrderMemberID=@tendGO
4.3設(shè)計(jì)物理表示法:
4.3.1分析事務(wù)
該數(shù)據(jù)庫系統(tǒng)主要為一服裝網(wǎng)的網(wǎng)上交易及會(huì)員間的交流提供后臺(tái)支持,主要事務(wù)封裝在30多個(gè)存儲(chǔ)過中:
1.-添加服裝類型,其中TypeFid為父類型號(hào),如果無父類型,則填0,TypeHaveChild的值為y/n(其中TypeName屬性有唯一約束,所以存儲(chǔ)過程中不再對(duì)插入是否重復(fù)進(jìn)行處理)存儲(chǔ)過程名:AddCostumeType所有者:dbo源代碼:
CREATEprocAddCostumeType@TypeNamevarchar(50),@TypeFidint,
@TypeHaveChildchar(2)AS
begin
insertintoCostumeType(TypeName,TypeFid,TypeHaveChild,TypeAddDate)values(@TypeName,@TypeFid,@TypeHaveChild,getdate())print"成功添加該服裝類型"endGO
權(quán)限:
GRANTEXECUTEON[dbo].[AddCostumeType]TO[服裝管理員]網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
GO測(cè)試數(shù)據(jù):
ExecuteAddCostumeTypeT恤,0,y
2.-添加服裝(品種),Costume的每項(xiàng)記錄為一種服裝的信息存儲(chǔ)過程名:AddCostume所有者:dbo源代碼:
CREATEprocAddCostume@strNamevarchar(50),@strTypeint,
@strColorvarchar(20),@strBrandvarchar(20),@strTexturevarchar(20),@strSizevarchar(20),@strStylevarchar(20),@urlvarchar(200),@strIntroducevarchar(4000),@strOrderDescvarchar(100),@strPricemoney
asbegin
ifexists(select*fromCostumewhereCostumeName=@strNameandCostumeColor=@strColorandCostumeBrand=@strBrandandCostumeTexture=@strTextureandCostumeStyle=@strStyleandCostumeSize=@strSize)print"該服裝品中已存在"else
begin
InsertintoCostume(CostumeName,TypeID,CostumeColor,CostumeBrand,CostumeTexture,CostumeStyle,CostumeSize,AddDate,CostumeImg,CostumeIntroduce,OrderDesc,CostumePrice,CostumePoint,IsSpecial,SpecialPrice)values
(@strName,@strType,@strColor,@strBrand,@strTexture,@strStyle,@strSize,getdate(),
@url,@strIntroduce,@strOrderDesc,@strPrice,"0","n",@strPrice)print"成功添加該種服裝"endendGO
權(quán)限:網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
GRANTEXECUTEON[dbo].[AddCostume]TO[服裝管理員]GO
測(cè)試數(shù)據(jù):
ExecuteAddCostume經(jīng)典米奇頭像,1016,粉色,other,棉萊卡,中,街頭,image1,立刻購買購買即送點(diǎn)數(shù)參加四周年抽獎(jiǎng)大獎(jiǎng)等你拿,此寶貝支持支付寶,45
3.添加該系統(tǒng)管理員,只有超級(jí)管理員有這個(gè)權(quán)限(其中AdminName屬性有唯一約束,要求每個(gè)管理員有不同的用戶名,所以存儲(chǔ)過程中不再對(duì)插入是否重復(fù)進(jìn)行處理)
存儲(chǔ)過程名:AddAdmin
所有者:dbo源代碼:
CREATEprocAddAdmin
@AdminNamevarchar(50),@Actorvarchar(20),@Passwordvarchar(50),@RealNamevarchar(50),@Emailvarchar(200)as
begininsertintoAdmin(AdminName,Actor,Password,RealName,Email,AddDate)values(@AdminName,@Actor,@Password,@RealName,@Email,getdate())endGo
權(quán)限:
GRANTEXECUTEON[dbo].[AddAdmin]TO[超級(jí)管理員]GO
測(cè)試數(shù)據(jù):
ExecuteAddAdmindolphin2,論壇管理員,127,dolphin,dol@163com4.--管理員添加網(wǎng)上公告,這里的屬性AdminID為添加公告的管理員的id,BulPoint為該公告的網(wǎng)上瀏覽量,初始值為0
存儲(chǔ)過程名:AddBullet
所有者:dbo相關(guān)代碼:
createprocAddBullet
@BulTitlevarchar(100),
@BulContentvarchar(4000),@AdminIDintas
begin
ifexists(select*fromBulletwhereBulTitle=@BulTitle)print"該公告已存在"網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
else
begin
Insert
Bullet(BulTitle,BulContent,BulAddDate,AdminID,BulPoint)(@BulTitle,@BulContent,getdate(),@AdminID,"0")print"成功添加一公告"endendGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[AddBullet]TO[公告管理員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
intovalues
5.在論壇中發(fā)布新帖:
存儲(chǔ)過程名:AddNewpost
所有者:dbo相關(guān)代碼:
createprocAddNewpost
@subjectvarchar(200),@useridint,
@messagevarchar(200)as
begin
insertintonewpost(subject,userid,message,posttime,views,replies)values(@subject,@userid,@message,getdate(),"0","0")endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[AddNewpost]TO[會(huì)員]GO網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
GRANTEXECUTEON[dbo].[AddNewpost]TO[論壇管理員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
6.在論壇中發(fā)布回復(fù)留言
存儲(chǔ)過程名:AddReplies
所有者:dbo相關(guān)代碼:
createprocAddReplies@useridint,
@messagevarchar(200),@postidintas
begin
Insertintoreply(userid,message,postid,replytime)values(@userid,@message,@postid,getdate())endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[AddReplies]TO[會(huì)員]GO
GRANTEXECUTEON[dbo].[AddReplies]TO[論壇管理員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
7.管理員登陸:
存儲(chǔ)過程名:AdminLogin
所有者:dbo相關(guān)代碼:
createprocAdminLogin@idint,網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
@passwordvarchar(50)as
begin
ifexists(select*fromAdminwhereAdminID=@idandPassword=@password)print"成功登陸"else
print"用戶名或密碼錯(cuò)誤,登陸失敗"endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[AdminLogin]TO[超級(jí)管理員]GO
GRANTEXECUTEON[dbo].[AdminLogin]TO[用戶管理員]GO
GRANTEXECUTEON[dbo].[AdminLogin]TO[訂單管理員]GO
GRANTEXECUTEON[dbo].[AdminLogin]TO[公告管理員]GO
GRANTEXECUTEON[dbo].[AdminLogin]TO[服裝管理員]GO
GRANTEXECUTEON[dbo].[AdminLogin]TO[論壇管理員]GO
SETQUOTED_IDENTIFIERONGO
SETANSI_NULLSOFFGO
8.--修改管理員信息
存儲(chǔ)過程名:ChangeAdminInfo
所有者:dbo相關(guān)代碼:
CREATEprocChangeAdminInfo@idint,
@Actorvarchar(20),
@adminNamevarchar(50),@adminPswvarchar(50),
@adminRealNamevarchar(50),@adminEmailvarchar(200)as
begin
ifexists(select*fromAdminwhereAdminID=@id)網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
begin
updateAdminsetAdminName=@adminName,Actor=@Actor,
Password=@adminPsw,RealName=@adminRealName,Email=@adminEmailwhereAdminID=@id
print"成功修改i管理員信息"endelse
print"該管理員不存在"endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[ChangeAdminInfo]TO[超級(jí)管理員]GO
GRANTEXECUTEON[dbo].[ChangeAdminInfo]TO[用戶管理員]GO
GRANTEXECUTEON[dbo].[ChangeAdminInfo]TO[訂單管理員]GO
GRANTEXECUTEON[dbo].[ChangeAdminInfo]TO[公告管理員]GO
GRANTEXECUTEON[dbo].[ChangeAdminInfo]TO[服裝管理員]GO
GRANTEXECUTEON[dbo].[ChangeAdminInfo]TO[論壇管理員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
9.--管理員修改自己添加的公告的基本信息,關(guān)于其屬性瀏覽量,因?yàn)樵趧?dòng)態(tài)變化,所以單獨(dú)拎出來由另一存儲(chǔ)過程完成其更新
存儲(chǔ)過程名:ChangeBullet
所有者:dbo相關(guān)代碼:
createprocChangeBullet@BulIDint,@AdminIDint,
@BulTitlevarchar(100),@BulContentvarchar(4000)as
begin
ifexists(select*fromBulletwhereBulID=@BulID)網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
updateBulletsetBulTitle=@BulTitle,BulContent=@BulContentwhereBulID=@BulIDandAdminID=@AdminIDelse
print"修改i失敗"endGO
GRANTEXECUTEON[dbo].[ChangeBullet]TO[公告管理員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[ChangeBullet]TO[公告管理員]GO
SETQUOTED_IDENTIFIERONGO
SETANSI_NULLSOFFGO
10.--修改服裝基本信息(其中瀏覽量,特價(jià)等屬性由于是在變化的,修改較為頻繁,所以單獨(dú)拎出來由另外存儲(chǔ)過程來處理)
存儲(chǔ)過程名:ChangeCostumeInfo
所有者:dbo相關(guān)代碼:
CREATEprocChangeCostumeInfo@idint,
@strNamevarchar(50),@strTypeint,
@strColorvarchar(20),@strBrandvarchar(20),@strTexturevarchar(20),@strSizevarchar(20),@strStylevarchar(20),@urlvarchar(200),@strIntroducevarchar(4000),@strOrderDescvarchar(100),@strPricemoneyas
begin
ifexists(select*fromCostumewhereCostumeID=@id)begin
updateCostumesetCostumeName=@strName,TypeID=@strType,CostumeColor=@strColor,CostumeBrand網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
=@strBrand,CostumeTexture=@strTexture,CostumeStyle=@strStyle,CostumeSize=@strSize,
AddDate=getdate(),CostumeImg=@url,CostumeIntroduce=@strIntroduce,OrderDesc=@strOrderDesc,CostumePrice=@strPricewhereCostumeID=@id
print"成功修改該服裝信息"endelse
print"該服裝不存在"endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[ChangeCostumeInfo]TO[服裝管理員]GO
SETQUOTED_IDENTIFIERONGO
SETANSI_NULLSOFFGO
11.--修改服裝類型,的相關(guān)信息,其中TypeFid為父類型號(hào),如果無父類型,則填0,TypeHaveChild的值為y/n
存儲(chǔ)過程名:ChangeCostumeType
所有者:dbo相關(guān)代碼:
CREATEprocChangeCostumeType@idint,
@TypeNamevarchar(50),@TypeFidint,
@TypeHaveChildchar(2)AS
begin
ifexists(select*fromCostumeTypewhereTypeID=@id)begin
updateCostumeTypesetTypeName=@TypeName,TypeFid=@TypeFid,TypeHaveChild=@TypeHaveChildwhereTypeID=@id
print"成功修改服裝類型的相關(guān)信息"endelse
print"該服裝類型不存在"end網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
GOSETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[ChangeCostumeType]TO[服裝管理員]GO
SETQUOTED_IDENTIFIERONGO
SETANSI_NULLSOFFGO
12.--修改會(huì)員信息
存儲(chǔ)過程名:ChangeMemberInfo
所有者:dbo相關(guān)代碼:
CREATEprocChangeMemberInfo@idint,
@strNamevarchar(50),@strPswvarchar(50),
@strRealNamevarchar(50),@strSexvarchar(2),@strPhonevarchar(50),@strMobilevarchar(50),@strEmailvarchar(200),@strAddrvarchar(200),@strZipvarchar(20)as
begin
ifexists(select*fromMemberwhereMemberID=@id)beginupdateMembersetMemberName=@strName,Password=@strPsw,RealName=@strRealName,Sex=@strSex,Telephone=@strPhone,Mobile=@strMobile,Email=@strEmail,Address=@strAddr,Zip=@strZip,AddDate=getdate()whereMemberID=@id
print"修改成功!"endelse
print"該會(huì)員不存在"endGO網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[ChangeMemberInfo]TO[用戶管理員]GO
GRANTEXECUTEON[dbo].[ChangeMemberInfo]TO[會(huì)員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
13.--更新貨物發(fā)送狀態(tài),即修改i訂單的OrderSendStatus屬性
存儲(chǔ)過程名:ChangeSendStatus
所有者:dbo相關(guān)代碼:
createprocChangeSendStatus@OrderIDint,
@OrderSendStatusintas
begin
ifexists(select*fromBusinessOrderwhereOrderID=@OrderID)updateBusinessOrdersetOrderSendStatus=@OrderSendStatuselse
print"該訂單不存在"endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[ChangeSendStatus]TO[訂單管理員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
14--管理員對(duì)訂單進(jìn)行確認(rèn)
存儲(chǔ)過程名:ConfirmBusinessOrder所有者:dbo相關(guān)代碼:
createprocConfirmBusinessOrder@OrderIDint,網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
@ConfirmAdminIDintas
begin
ifexists(select*fromBusinessOrderwhereOrderID=@OrderID)updateBusinessOrdersetOrderIsConfirm="y",ConfirmTime=getdate(),ConfirmAdminID=@ConfirmAdminIDwhereOrderID=@OrderIDelse
print"該訂單不存在"endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[ConfirmBusinessOrder]TO[訂單管理員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
15刪除管理員:
存儲(chǔ)過程名:DeleteAdmin所有者:dbo相關(guān)代碼:
createprocDeleteAdmin@AdminIDintas
begin
ifexists(select*fromAmdinwhereAdminID=@AdminID)deletefromAdminwhereAdminID=@AdminIDelse
print"該管理員不存在"endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[DeleteAdmin]TO[超級(jí)管理員]GO
SETQUOTED_IDENTIFIEROFFGO網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
SETANSI_NULLSOFFGO
16.刪除一些過期公告:
存儲(chǔ)過程名:DeleteBullet所有者:dbo相關(guān)代碼:
CREATEprocDeleteBullet@idintas
begin
ifexists(select*fromBulletwhereBulID=@id)begin
deletefromBulletwhereBulID=@idprint"刪除該公告信息!"endelse
print"該公告不存在"endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[DeleteBullet]TO[公告管理員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
17.刪除服裝:
存儲(chǔ)過程名:DeleteCostume所有者:dbo相關(guān)代碼:
createprocDeleteCostume@idintas
begin
ifexists(select*fromCostumewhereCostumeID=@id)begin
deletefromCostumewhereCostumeID=@idprint"成功刪除該服裝"end網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
else
print"該服裝不存在"endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[DeleteCostume]TO[服裝管理員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
18.--刪除服裝類型
存儲(chǔ)過程名:DeleteCostumeType所有者:dbo相關(guān)代碼:
CREATEprocDeleteCostumeType@idintas
begin
ifexists(select*fromCostumeTypewhereTypeID=@id)begin
ifexists(select*fromCostumrTypewhereTypeFid=@id)
begin
deletefromCostumeTypewhereTypeFid=@id
print"該類型有子類型,并已成功刪除"endelse
print"該類型無子類型"
deletefromCostumeTyoewhereTypeID=@idprint"成功刪除該服裝類型"endelse
print"該服裝類型不存在"endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSON網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
GOGRANTEXECUTEON[dbo].[DeleteCostumeType]TO[服裝管理員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
19.--刪除某一會(huì)員
存儲(chǔ)過程名:DeleteMember所有者:dbo相關(guān)代碼:
CREATEprocDeleteMember@MemberIDintas
begin
ifexists(select*fromMemberwhereMemberID=@MemberID)begin
deletefromMemberwhereMemberID=@MemberIDprint"成功刪除該會(huì)員信息!"endelse
print"該會(huì)員不存在,請(qǐng)重新輸入會(huì)員號(hào)"endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[DeleteMember]TO[用戶管理員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
20.論壇管理員刪除一些垃圾帖或會(huì)員刪除自己所發(fā)帖:
存儲(chǔ)過程名:DeletePost所有者:dbo相關(guān)代碼:
createprocDeletePost@idintas
begin網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
ifexists(select*fromnewpostwherepostid=@id)deletefromnewpostwherepostid=@idelse
print"該帖子不存在"endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[DeletePost]TO[會(huì)員]GO
GRANTEXECUTEON[dbo].[DeletePost]TO[論壇管理員]GO
SETQUOTED_IDENTIFIERONGO
SETANSI_NULLSOFFGO
21.論壇管理員刪除一些垃圾回復(fù)或會(huì)員刪除自己的回復(fù)留言:
存儲(chǔ)過程名:DeleteReply所有者:dbo相關(guān)代碼:
CREATEprocDeleteReply@replyidintas
begin
ifexists(select*fromreplywherereplyid=@replyid)deletefromreplywherereplyid=@replyidelse
print"該留言不存在"endGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[DeleteReply]TO[會(huì)員]GO
GRANTEXECUTEON[dbo].[DeleteReply]TO[論壇管理員]GO
SETQUOTED_IDENTIFIERONGO
SETANSI_NULLSOFF網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
GO22.--查看管理員信息,管理員號(hào)從1000自動(dòng)編號(hào),若要查詢所有管理員信息,則輸入?yún)?shù)為0,此時(shí)從視圖vi_Admin1中查找,看不到密碼,若是查看自己的信息,則可看到密碼
存儲(chǔ)過程名:GetAdminInfo所有者:dbo相關(guān)代碼:
CREATEprocGetAdminInfo@idintas
begin
if(@id=0)begin
print"所有管理員信息"
select*fromvi_AdminListendelse
select*fromAdminwhereAdminID=@idendGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[GetAdminInfo]GO
GRANTEXECUTEON[dbo].[GetAdminInfo]GO
GRANTEXECUTEON[dbo].[GetAdminInfo]GO
GRANTEXECUTEON[dbo].[GetAdminInfo]GO
GRANTEXECUTEON[dbo].[GetAdminInfo]GO
GRANTEXECUTEON[dbo].[GetAdminInfo]GO
SETQUOTED_IDENTIFIERONGO
SETANSI_NULLSOFFGO
23.--列出瀏覽量為某個(gè)數(shù)值以上的公告
存儲(chǔ)過程名:GetBulAccodPoint所有者:dbo相關(guān)代碼:
TO[超級(jí)管理員]TO[用戶管理員]TO[訂單管理員]TO[公告管理員]TO[服裝管理員]TO[論壇管理員]網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
CREATEprocGetBulAccodPoint
@llimitintas
select*fromvi_Bullet_PointwhereBulPoint>=@llimitGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[GetBulAccodPoint]TO[公告管理員]GO
GRANTEXECUTEON[dbo].[GetBulAccodPoint]TO[會(huì)員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
24.獲得指定公告信息:
存儲(chǔ)過程名:GetBulletInfo所有者:dbo相關(guān)代碼:
createprocGetBulletInfo@idintas
begin
if(@id=0)
select*fromBulletelse
select*fromBulletwhereBulID=@idendGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[GetBulletInfo]TO[公告管理員]GO
GRANTEXECUTEON[dbo].[GetBulletInfo]TO[會(huì)員]GO
SETQUOTED_IDENTIFIEROFFGO網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
SETANSI_NULLSOFFGO
25.--查看會(huì)員的訂購單
存儲(chǔ)過程名:GetBusinessOrder所有者:dbo相關(guān)代碼:
CREATEprocGetBusinessOrder@MemberIDintasbegin
if(@MemberID=0)
select*fromBusinessOrderelseselect*fromBusinessOrderwhereOrderMemberID=@MemberIDendGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[GetBusinessOrder]TO[訂單管理員]GO
GRANTEXECUTEON[dbo].[GetBusinessOrder]TO[會(huì)員]GO
SETQUOTED_IDENTIFIERONGO
SETANSI_NULLSOFFGO
26.--查看會(huì)員信息,會(huì)員號(hào)從1000自動(dòng)編號(hào),若要查詢所有會(huì)員的信息,則輸入?yún)?shù)為0,此時(shí)從視圖vi_Member1中查找,看不到密碼,若是查看自己的信息,則可看到密碼
存儲(chǔ)過程名:GetMemberInfo所有者:dbo相關(guān)代碼:
CREATEprocGetMemberInfo@MemberIDintasbegin
if(@MemberID=0)begin
print"所有會(huì)員信息"
select*fromvi_Member_Admin網(wǎng)上銷售管理系統(tǒng)10042130127郭文靜
endelse
select*fromMemberwhereMemberID=@MemberIDendGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[GetMemberInfo]TO[用戶管理員]GO
GRANTEXECUTEON[dbo].[GetMemberInfo]TO[會(huì)員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
27.--查看某一時(shí)間段的訂單
存儲(chǔ)過程名:GetOrderAccordingTime所有者:dbo相關(guān)代碼:
CREATEprocGetOrderAccordingTime
@timesdatetime,@timefdatetimeas
select*fromvi_BusinessOrderTimewhereOrderTimebetween@timesand@timefGO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSONGO
GRANTEXECUTEON[dbo].[GetOrderAccordingTime]TO[訂單管理員]GO
SETQUOTED_IDENTIFIEROFFGO
SETANSI_NULLSOFFGO
28.--查看某一訂單的各項(xiàng)訂購的詳細(xì)情況
存儲(chǔ)過程名:GetOrderDetail所有者:dbo
友情提示:本文中關(guān)于《項(xiàng)目小結(jié)之?dāng)?shù)據(jù)庫設(shè)計(jì)》給出的范例僅供您參考拓展思維使用,項(xiàng)目小結(jié)之?dāng)?shù)據(jù)庫設(shè)計(jì):該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請(qǐng)聯(lián)系我們及時(shí)刪除。