資源描述:
《藥品進(jìn)銷存系統(tǒng)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)浙江樹人大學(xué)信息科技學(xué)院《數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)》實(shí)習(xí)報(bào)告課題:進(jìn)銷存管理系統(tǒng)班級(jí):電商091學(xué)號(hào):200905017122姓名:何鍇翔2012.320
1電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)目錄第一章需求分析31.1功能介紹31.2系統(tǒng)目標(biāo)31.3系統(tǒng)功能劃分31.4功能描述3第二章概念結(jié)構(gòu)設(shè)計(jì)52.1目的52.2各個(gè)分E-R圖52.3全局E-R圖8第三章邏輯結(jié)構(gòu)設(shè)計(jì)103.1目的103.2建立關(guān)系模式103.3關(guān)系模式規(guī)范化10第四章物理結(jié)構(gòu)設(shè)計(jì)124.1目的124.2表的構(gòu)建124.3索引的作用154.4索引代碼15第五章數(shù)據(jù)庫完整性、安全性設(shè)計(jì)165.1目的165.2數(shù)據(jù)庫完整性設(shè)計(jì)165.3數(shù)據(jù)庫安全性設(shè)計(jì)18第六章實(shí)訓(xùn)總結(jié)206.1實(shí)訓(xùn)總結(jié)2020
2電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)需求分析1.1功能介紹 進(jìn)銷存軟件的功能有購采購、采購?fù)素?、采購付款、銷售、銷售退貨、銷售付款、退貨情況、盤庫、倉庫調(diào)撥、借入、借出、借入還出、借出還入,供方客戶資料管理,供方供貨匯總、明細(xì)報(bào)表,采購付款匯總、明細(xì)報(bào)表多倉庫,多幣種,多結(jié)算方式(先進(jìn)先出,移動(dòng)平均等),報(bào)表等功能,進(jìn)銷存可以使您擺脫繁雜的數(shù)字統(tǒng)計(jì)等瑣事,只需輕松的點(diǎn)擊鼠標(biāo)即可,進(jìn)銷存可以分為B/S架構(gòu)和C/S架構(gòu).B/S是瀏覽器/服務(wù)器模式,只要在服務(wù)器裝好后,其他人只需要用瀏覽器(比如IE)就可以正常瀏覽。1.2系統(tǒng)目標(biāo)藥房進(jìn)銷存系統(tǒng)組織結(jié)構(gòu)圖1.3系統(tǒng)功能劃分系統(tǒng)功能結(jié)構(gòu)圖1.4功能描述w入庫管理入庫單錄入:將新進(jìn)的藥品進(jìn)行入庫掃描,錄入,方便確認(rèn)核對(duì)。沖入庫單:將之前錄入的入庫單進(jìn)行沖銷,進(jìn)行第二次錄入入庫單作廢:藥品錄入完畢時(shí),發(fā)現(xiàn)入庫單有錯(cuò)但已無法更改時(shí),該入庫單將以作廢處理,再進(jìn)行重新錄入。20
3電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)重打入庫單:對(duì)已錄入的入庫單進(jìn)行重新操作。添加發(fā)票號(hào):將錄入完成的藥品添加發(fā)票號(hào)。w出庫管理出庫單錄入:藥品在出倉前進(jìn)行出庫掃描,方便確認(rèn)核對(duì)。沖出庫單:將之前錄入的出庫單進(jìn)行沖銷,進(jìn)行第二次錄入。出庫單作廢:藥品錄入完畢時(shí),發(fā)現(xiàn)入庫單有錯(cuò)但已無法更改時(shí),該出庫單將以作廢處理,再進(jìn)行重新錄入。重打出庫單:對(duì)已錄入的出庫單進(jìn)行重新操作。w移庫管理移庫單錄入:藥品從該倉庫轉(zhuǎn)移到另一倉庫時(shí),雙方倉庫均進(jìn)行移庫掃描,方便確認(rèn)核對(duì)。沖移庫單:將之前錄入的移庫單進(jìn)行沖銷,進(jìn)行第二次錄入。移庫單作廢:將要移庫藥品錄入完畢時(shí),發(fā)現(xiàn)移庫單有錯(cuò)但已無法更改時(shí),該移庫單將以作廢處理,再進(jìn)行重新錄入。重打移庫單:對(duì)已錄入的移庫單進(jìn)行重新操作。接受移庫:確定轉(zhuǎn)移的藥品無誤,雙方錄入也無錯(cuò)誤時(shí),確定接受移庫。w倉庫復(fù)核在進(jìn)行入庫,出庫,移庫等操作后進(jìn)行倉庫的復(fù)核,確定藥品出入無誤。w查詢與統(tǒng)計(jì)入庫單查詢:對(duì)已經(jīng)錄入倉庫的藥品進(jìn)行查詢。出庫單查詢:對(duì)已經(jīng)錄入出庫的藥品進(jìn)行查詢。移庫單查詢:對(duì)已經(jīng)錄入移庫的藥品進(jìn)行查詢。倉庫查詢:對(duì)倉庫中存有的藥品進(jìn)行查詢。打印物價(jià)本:對(duì)全部采購記錄以報(bào)表的形式進(jìn)行打印輸出。w收款與復(fù)核進(jìn)行財(cái)務(wù)的核對(duì)。w系統(tǒng)維護(hù)對(duì)整個(gè)系統(tǒng),數(shù)據(jù),以及客戶資料進(jìn)行維護(hù)。20
4電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)第二章概念結(jié)構(gòu)設(shè)計(jì)2.1目的w掌握數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)的方法w掌握E-R圖的畫法2.2各個(gè)分E-R圖分E-R圖的建立依據(jù)于數(shù)據(jù)流圖的建立,如下圖所示。w供應(yīng)商實(shí)體圖的屬性包括供應(yīng)商編號(hào),供應(yīng)商名稱,供應(yīng)商品數(shù)量,供應(yīng)商地址,聯(lián)系方式。如圖2-1所示圖2-1供應(yīng)商實(shí)體圖w管理員實(shí)體圖的屬性包括管理員編號(hào),管理員姓名,性別,地址,聯(lián)系方式,部門。如圖2-2所示圖2-2管理員實(shí)體圖w客戶實(shí)體圖的屬性包括編號(hào),姓名,性別,年齡,聯(lián)系方式,地址。如圖2-3所示20
5電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)圖2-3客戶實(shí)體圖w商品實(shí)體圖的屬性包括商品編號(hào),商品名稱,供應(yīng)商,商品批號(hào)商品規(guī)格,生產(chǎn)廠家,生產(chǎn)日期,入庫價(jià)格,零售價(jià)格,備注。如圖2-4所示圖2-4商品實(shí)體圖w倉庫實(shí)體圖的屬性包括倉庫名稱,倉庫編號(hào),備注信息。如圖2-5所示20
6電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)圖2-5倉庫實(shí)體圖w采購員實(shí)體圖的屬性包括編號(hào),姓名,地址,聯(lián)系方式。如圖2-6所示圖2-6采購員實(shí)體圖w供應(yīng)商—采購員之間的聯(lián)系圖,如圖2-7所示圖2-7供應(yīng)商—采購員聯(lián)系圖供應(yīng)商可以將商品提供給多個(gè)采購員,采購員也可以向多個(gè)供應(yīng)商進(jìn)行采購,因此,供應(yīng)商與采購員之間的聯(lián)系是m:n的關(guān)系。w商品—采購員之間的聯(lián)系圖,如圖2-8所示圖2-8商品—采購員聯(lián)系圖商品可以提供給多個(gè)采購員,采購員也可以采購多種商品,因此,商品與采購員之間的聯(lián)系是m:n的關(guān)系。20
7電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)w商品—管理員之間的聯(lián)系圖,如圖2-9所示圖2-9商品—管理員之間的聯(lián)系圖管理員可以管理多種商品,因此,商品與管理員之間的聯(lián)系是1:n的關(guān)系。w倉庫—管理員之間的聯(lián)系圖,如圖2-10所示圖2-10管理員—倉庫之間的聯(lián)系圖管理員可以同時(shí)管理多個(gè)倉庫,一個(gè)倉庫也可以由多個(gè)管理員來管理,因此,倉庫與管理員之間的聯(lián)系是m:n的關(guān)系。w倉庫—商品之間的聯(lián)系圖,如圖2-11所示圖2-11商品—倉庫之間的聯(lián)系圖倉庫可以存儲(chǔ)多種商品,方便管理將多個(gè)商品也能存儲(chǔ)在一個(gè)倉庫中,因此,倉庫與商品之間的聯(lián)系是1:n的關(guān)系。w倉庫—商品之間的聯(lián)系圖,如圖2-12所示圖2-12商品—客戶之間的聯(lián)系圖商品可以由多個(gè)客戶購買,一個(gè)客戶也可以購買多個(gè)商品,因此,商品與客戶之間的聯(lián)系是m:n的關(guān)系。2.3全局E-R圖綜合各部分的分E-R圖,藥品進(jìn)銷存管理系統(tǒng)的總體E-R圖的設(shè)計(jì)如下圖2-13所示。20
8電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)圖2-13全局E-R圖供應(yīng)商提供商品給采購員,可以是多個(gè)供應(yīng)商將商品提供給多個(gè)采購員,因此,供應(yīng)商與采購員的關(guān)系是m:n的關(guān)系。多個(gè)采購員采購商品,可以采購多種商品,因此,采購員與商品之間的聯(lián)系是m:n的關(guān)系。管理員將商品進(jìn)行整理,為管理方便,通常由一個(gè)管理員來整理倉庫中的商品,因此,管理員與商品之間的聯(lián)系是m:n的關(guān)系。為了方便管理,由管理員來管理多個(gè)倉庫,因此,管理員與倉庫之間的聯(lián)系是1:n的關(guān)系。倉庫可以存儲(chǔ)多種商品,商品也能存儲(chǔ)在多個(gè)倉庫中,因此,倉庫與商品之間的聯(lián)系是1:n的關(guān)系??蛻糍徺I商品,經(jīng)常是多個(gè)客戶買多種商品,所以商品與客戶之間的聯(lián)系也是m:n的關(guān)系。20
9電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)第三章邏輯結(jié)構(gòu)設(shè)計(jì)3.1目的w掌握數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)的方法w掌握E-R圖向管理數(shù)據(jù)模型轉(zhuǎn)化的幾個(gè)原則3.2建立關(guān)系模式供應(yīng)商和采購員為m:n的關(guān)系,將它們之間的聯(lián)系轉(zhuǎn)換為獨(dú)立的關(guān)系模式。采購員和商品為m:n的關(guān)系,將它們之間的聯(lián)系轉(zhuǎn)換為獨(dú)立的關(guān)系模式。倉庫和商品的關(guān)系為1:n,將它們之間的聯(lián)系與n端實(shí)體合并。管理員和倉庫為m:n的關(guān)系,將它們之間的聯(lián)系轉(zhuǎn)換為獨(dú)立的關(guān)系模式。管理員和商品的關(guān)系為1:n的關(guān)系,將它們之間的聯(lián)系與n端實(shí)體合并。客戶和商品之間的聯(lián)系為m:n的關(guān)系,將它們之間的聯(lián)系轉(zhuǎn)換為獨(dú)立的關(guān)系模式。w實(shí)體轉(zhuǎn)換為關(guān)系模式供應(yīng)商(供應(yīng)商編號(hào),供應(yīng)商名稱,供應(yīng)商品數(shù)量,供應(yīng)商地址,聯(lián)系方式)采購員(采購員編號(hào),采購員姓名,地址,聯(lián)系方式)商品(商品編號(hào),商品名稱,供應(yīng)商,商品批號(hào),商品規(guī)格,生產(chǎn)廠家,入庫價(jià)格,零售價(jià)格,生產(chǎn)日期,備注)管理員(管理員編號(hào),管理員姓名,性別,部門,聯(lián)系方式,地址)倉庫(倉庫編號(hào),倉庫名稱,備注)客戶(客戶編號(hào),客戶姓名,性別,年齡,聯(lián)系方式,地址)w聯(lián)系轉(zhuǎn)換為關(guān)系模式提供(供應(yīng)商編號(hào),采購員編號(hào),供應(yīng)商品數(shù)量,聯(lián)系方式)采購(商品編號(hào),采購員編號(hào),商品數(shù)量,商品價(jià)格,采購日期)整理(商品編號(hào),管理員編號(hào),商品數(shù)量)管理(管理員編號(hào),倉庫編號(hào),部門)存儲(chǔ)(商品編號(hào),倉庫編號(hào),商品數(shù)量)購買(商品編號(hào),客戶編號(hào),商品數(shù)量,零售價(jià)格,銷售日期,聯(lián)系方式)3.3關(guān)系模式規(guī)范化w供應(yīng)商和采購員為m:n的關(guān)系,將它們之間的聯(lián)系轉(zhuǎn)換為獨(dú)立的關(guān)系模式。供應(yīng)商(供應(yīng)商編號(hào),供應(yīng)商名稱,供應(yīng)商品數(shù)量,供應(yīng)商地址,聯(lián)系方式)采購員(采購員編號(hào),采購員姓名,地址,聯(lián)系方式)提供(供應(yīng)商編號(hào),采購員編號(hào),供應(yīng)商品數(shù)量,聯(lián)系方式)w采購員和商品為m:n的關(guān)系,將它們之間的聯(lián)系轉(zhuǎn)換為獨(dú)立的關(guān)系模式。采購員(采購員編號(hào),采購員姓名,地址,聯(lián)系方式)商品(商品編號(hào),商品名稱,供應(yīng)商,商品批號(hào),商品規(guī)格,生產(chǎn)廠家,入庫價(jià)格,零售價(jià)格,生產(chǎn)日期,備注)采購(商品編號(hào),采購員編號(hào),商品數(shù)量,商品價(jià)格,采購日期)w倉庫和商品的關(guān)系為1:n,將它們之間的聯(lián)系與n端實(shí)體合并。倉庫(倉庫編號(hào),倉庫名稱,備注)20
10電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)商品(商品編號(hào),商品名稱,供應(yīng)商,商品批號(hào),商品規(guī)格,生產(chǎn)廠家,入庫價(jià)格,零售價(jià)格,生產(chǎn)日期,備注,商品數(shù)量)w管理員和倉庫為m:n的關(guān)系,將它們之間的聯(lián)系轉(zhuǎn)換為獨(dú)立的關(guān)系模式。管理員(管理員編號(hào),管理員姓名,性別,部門,聯(lián)系方式,地址)倉庫(倉庫編號(hào),倉庫名稱,備注)管理(管理員編號(hào),倉庫編號(hào),部門)w管理員和商品的關(guān)系為1:n的關(guān)系,將它們之間的聯(lián)系與n端實(shí)體合并。管理員(管理員編號(hào),管理員姓名,性別,部門,聯(lián)系方式,地址)商品(商品編號(hào),商品名稱,供應(yīng)商,商品批號(hào),商品規(guī)格,生產(chǎn)廠家,入庫價(jià)格,零售價(jià)格,生產(chǎn)日期,備注,商品數(shù)量)w客戶和商品之間的聯(lián)系為m:n的關(guān)系,將它們之間的聯(lián)系轉(zhuǎn)換為獨(dú)立的關(guān)系模式。商品(商品編號(hào),商品名稱,供應(yīng)商,商品批號(hào),商品規(guī)格,生產(chǎn)廠家,入庫價(jià)格,零售價(jià)格,生產(chǎn)日期,備注)客戶(客戶編號(hào),客戶姓名,性別,年齡,聯(lián)系方式,地址)購買(商品編號(hào),客戶編號(hào),商品數(shù)量,零售價(jià)格,銷售日期,聯(lián)系方式)20
11電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)第四章物理結(jié)構(gòu)設(shè)計(jì)4.1目的w掌握將數(shù)據(jù)庫關(guān)系模式在相應(yīng)的DBMS上實(shí)現(xiàn)的方法4.2表的構(gòu)建w供應(yīng)商CREATETABLEgys(供應(yīng)商編號(hào)Char(4)Notnullprimarykey,供應(yīng)商名稱Varchar(20)Notnull,供應(yīng)商品數(shù)量Varchar(20),供應(yīng)商地址Varchar(4),聯(lián)系方式Char(4))列名數(shù)據(jù)類型字符允許空供應(yīng)商編號(hào)Char4Checked供應(yīng)商名稱Varchar20Checked供應(yīng)商品數(shù)量Varchar20Checked供應(yīng)商地址Varchar4Checked聯(lián)系方式Char4Checkedw采購員CREATETABLEcgy(采購員編號(hào)Char(4)Notnullprimarykey,采購員姓名Varchar(20)Notnull,地址Varchar(20),聯(lián)系方式Varchar(4))列名數(shù)據(jù)類型字符允許空采購員編號(hào)Char4Checked采購員姓名Varchar20Checked地址Varchar20Checked聯(lián)系方式Varchar4Checkedw商品CREATETABLEsp(商品編號(hào)Char(4)Notnullprimarykey,商品名稱Varchar(20)Notnull,供應(yīng)商Varchar(20),商品批號(hào)Varchar(4),商品規(guī)格Char(4),生產(chǎn)廠家Varchar(20)入庫價(jià)格Varchar(4),零售價(jià)格Varchar(4),生產(chǎn)日期Varchar(4),備注Varchar(20))列名數(shù)據(jù)類型字符允許空商品編號(hào)Char4Checked商品名稱Varchar20Checked供應(yīng)商Varchar20Checked商品批號(hào)Varchar4Checked20
12電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)商品規(guī)格Char4Checked生產(chǎn)廠家Varchar20Checked入庫價(jià)格Varchar4Checked零售價(jià)格Varchar4Checked生產(chǎn)日期Varchar4Checked備注Varchar20Checkedw管理員CREATETABLEgly(管理員編號(hào)Char(4)Notnullprimarykey,管理員姓名Varchar(20)Notnull,性別Varchar(4),部門Varchar(20),聯(lián)系方式Char(4),地址Varchar(20))列名數(shù)據(jù)類型字符允許空管理員編號(hào)varchar4Checked管理員姓名varchar20Checked性別varchar10Checked部門varchar10Checked聯(lián)系方式varchar10Checked地址varchar20Checkedw倉庫CREATETABLEck(倉庫編號(hào)Char(4)Notnullprimarykey,倉庫名稱Varchar(20)Notnull,備注Varchar(20))列名數(shù)據(jù)類型字符允許空倉庫編號(hào)Char4Checked倉庫名稱Varchar20Checked備注Varchar20Checkedw客戶CREATETABLEgly(客戶編號(hào)Char(4)Notnullprimarykey,客戶姓名Varchar(20)Notnull,性別Varchar(4),年齡Varchar(4),聯(lián)系方式Char(4),地址Varchar(20))列名數(shù)據(jù)類型字符允許空客戶編號(hào)Char4Checked客戶姓名Varchar20Checked性別Varchar4Checked年齡Varchar4Checked聯(lián)系方式Char(50)4Checked地址Varchar(50)20Checked20
13電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)w提供CREATETABLEtg(供應(yīng)商編號(hào)Char(4)Notnullprimarykey,采購員編號(hào)Varchar(20)Notnull,供應(yīng)商品數(shù)量Varchar(20),聯(lián)系方式Char(4))列名數(shù)據(jù)類型字符允許空供應(yīng)商編號(hào)Char4Checked采購員編號(hào)Varchar20Checked供應(yīng)商品數(shù)量Varchar20Checked聯(lián)系方式Char4Checkedw采購CREATETABLEcg(商品編號(hào)Char(4)Notnullprimarykey,采購員編號(hào)Varchar(20)Notnull,商品數(shù)量Varchar(20),商品價(jià)格Char(4),采購日期Varchar(20))列名數(shù)據(jù)類型字符允許空商品編號(hào)Char4Checked采購員編號(hào)Varchar20Checked商品數(shù)量Varchar20Checked商品價(jià)格Char4Checked采購日期Varchar20Checkedw整理CREATETABLEzl(商品編號(hào)Char(4)Notnullprimarykey,管理員編號(hào)Varchar(20)Notnull,商品數(shù)量Varchar(20))列名數(shù)據(jù)類型字符允許空商品編號(hào)Char4Checked管理員編號(hào)Varchar20Checked商品數(shù)量Varchar20Checkedw管理CREATETABLEgl(管理員編號(hào)Char(4)Notnullprimarykey,倉庫編號(hào)Varchar(20)Notnull,部門Varchar(20))列名數(shù)據(jù)類型字符允許空管理員編號(hào)Char4Checked倉庫編號(hào)Varchar20Checked部門Varchar20Checkedw存儲(chǔ)20
14電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)CREATETABLEcc(商品編號(hào)Char(4)Notnullprimarykey,倉庫編號(hào)Varchar(20)Notnull,商品數(shù)量Varchar(20))列名數(shù)據(jù)類型字符允許空商品編號(hào)Char4Checked倉庫編號(hào)Varchar20Checked商品數(shù)量Varchar20Checkedw購買CREATETABLEgm(商品編號(hào) Char(4)Notnullprimarykey,客戶編號(hào)Varchar(4)Notnull,商品數(shù)量Varchar(4),零售價(jià)格Char(4),銷售日期Varchar(4),聯(lián)系方式Varchar(4))列名數(shù)據(jù)類型字符允許空商品編號(hào)Char4Checked客戶編號(hào)Varchar4Checked商品數(shù)量Varchar4Checked零售價(jià)格Char4Checked銷售日期Varchar4Checked聯(lián)系方式Varchar4Checked4.3索引的作用w通過創(chuàng)建唯一性索引,可以保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性。?w可以大大加快?數(shù)據(jù)的檢索速度,這也是創(chuàng)建索引的最主要的原因。?w可以加速表和表之間的連接,特別是在實(shí)現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義。?w在使用分組和排序?子句進(jìn)行數(shù)據(jù)檢索時(shí),同樣可以顯著減少查詢中分組和排序的時(shí)間。?w通過使用索引,可以在查詢的過程中,使用優(yōu)化隱藏器,提高系統(tǒng)的性能。4.4索引代碼w為‘sp’表格的商品名稱添加索引,代碼如下:USEhkxgoCREATEINDEX商品名稱ONdbo.sp(商品名稱)w為‘kh’表格的客戶編號(hào)添加索引,代碼如下:USEhkxgoCREATEINDEX客戶編號(hào)ONdbo.kh(客戶編號(hào))w為‘gly’表格的管理員編號(hào)添加索引,代碼如下:USEhkxgoCREATEINDEX管理員編號(hào)ONdbo.gly(管理員編號(hào))20
15電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)第五章數(shù)據(jù)庫完整性、安全性設(shè)計(jì)5.1目的w掌握約束、默認(rèn)、規(guī)則的創(chuàng)建方法w掌握存儲(chǔ)過程、觸發(fā)器的創(chuàng)建方法w掌握數(shù)據(jù)庫安全性的設(shè)計(jì)方法,包括賬戶管理和權(quán)限管理5.2數(shù)據(jù)庫完整性設(shè)計(jì)w約束約束名:為各表的主鍵供應(yīng)商表(gys):供應(yīng)商編號(hào);采購員(cgy):采購員編號(hào);商品(sp):商品編號(hào);管理員(gly):管理員編號(hào);倉庫(ck):倉庫編號(hào);客戶(gly):客戶編號(hào);提供(tg):供應(yīng)商編號(hào)約束類型主鍵約束(PRIMARYKEY)、唯一鍵約束(UNIQUE)、默認(rèn)值約束(DEFAULT)、檢查約束(CHECK)、外鍵約束(FOREIGNKEY)約束的作用:保證插入數(shù)據(jù)的有效性。代碼以PRIMARYKEY,UNIQUE,DEFAULT,CHECK為例primarykey約束CREATETABLEgys(供應(yīng)商編號(hào)Char(4)Notnullprimarykey,供應(yīng)商名稱Varchar(20)Notnull,供應(yīng)商品數(shù)量Varchar(20),供應(yīng)商地址Varchar(4),聯(lián)系方式Char(4))Unqiue約束CREATETABLEcgy(采購員編號(hào)Char(4)Notnullprimarykey,采購員姓名Varchar(20)unique,地址Varchar(20),聯(lián)系方式Varchar(4))Default約束CREATETABLEgly(客戶編號(hào)Char(4)Notnullprimarykey,客戶姓名Varchar(20)Notnull,性別Varchar(4)default'男',年齡Varchar(4),聯(lián)系方式Char(4),地址Varchar(20))Check約束CREATETABLEsp(商品編號(hào)Char(4)Notnullprimarykey,商品名稱Varchar(20)Notnull,供應(yīng)商Varchar(20),商品批號(hào)Varchar(4),商品規(guī)格Char(4),生產(chǎn)廠家Varchar(20)20
16電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)入庫價(jià)格Varchar(4),零售價(jià)格Varchar(4),生產(chǎn)日期Varchar(4)check(生產(chǎn)日期between1998and2001),備注Varchar(20))w默認(rèn)默認(rèn)名:default默認(rèn)的綁定對(duì)象:列或用戶定義的數(shù)據(jù)類型默認(rèn)的作用:在數(shù)據(jù)庫中對(duì)存儲(chǔ)在表的列或用戶自定義數(shù)據(jù)類型中的值進(jìn)行默認(rèn)。創(chuàng)建和綁定默認(rèn)的代碼以性別為例:createdefaultdef_性別as'男'goexecsp_bindefault'def_性別','kh.[性別]'以部門為例:createdefaultdef_部門as'采購部'goexecsp_bindefault'def_部門','gly.[部門]'w規(guī)則規(guī)則名:rule規(guī)則的綁定對(duì)象:列或用戶定義的數(shù)據(jù)類型規(guī)則的作用:在數(shù)據(jù)庫中對(duì)存儲(chǔ)在表的列或用戶自定義數(shù)據(jù)類型中的值的規(guī)定和限制。創(chuàng)建和綁定規(guī)則的要求:以商品的生產(chǎn)日期為例:createrule生產(chǎn)日期_ruleas@生產(chǎn)日期>1998and@生產(chǎn)日期<2001execsp_bindrule'生產(chǎn)日期_rule','sp.[生產(chǎn)日期]'以客戶年齡為例:createrule年齡_ruleas@年齡>25and@年齡<35execsp_bindrule'年齡_rule','sp.[年齡]'w存儲(chǔ)過程存儲(chǔ)名:procedure存儲(chǔ)過程的作用:有特定的功能,可被調(diào)用,提高了程序的運(yùn)行效率存儲(chǔ)過程的代碼以購買信息為例:ifexists(selectnamefromhkxwherename='購買信息' andtype='p')dropprocedure購買信息gocreateprocedure購買信息asselectsp.商品編號(hào),kh.客戶編號(hào),gm.商品編號(hào),gm.客戶編號(hào),客戶姓名fromsp,gm,khwheresp.商品編號(hào)=gm.商品編號(hào)andkh.客戶編號(hào)=gm.客戶編號(hào)20
17電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)go以購買信息為例:ifexists(selectnamefromhkxwherename='存儲(chǔ)信息' andtype='p')dropprocedure存儲(chǔ)信息gocreateprocedure存儲(chǔ)信息asselectsp.商品編號(hào),ck.倉庫編號(hào),cc.商品編號(hào),cc.倉庫編號(hào),商品名稱fromsp,gm,khwheresp.商品編號(hào)=cc.商品編號(hào)andck.倉庫編號(hào)=cc.倉庫編號(hào)gow觸發(fā)器觸發(fā)器名:trigger觸發(fā)器作用:在執(zhí)行語句事件時(shí)自動(dòng)生效,用來同步更新數(shù)據(jù)。觸發(fā)器代碼以采購數(shù)量為例:createtriggertri_采購數(shù)量oncgforinsert,updateasifexists(select*frominsertedwhere采購數(shù)量<100)beginprint'采購量小于100'end5.3數(shù)據(jù)庫安全性設(shè)計(jì)w登錄設(shè)計(jì)為藥房進(jìn)銷存系統(tǒng)設(shè)計(jì)數(shù)據(jù)庫登陸賬號(hào):execsp_addlogin'hkx','123',為藥房進(jìn)銷存系統(tǒng)設(shè)計(jì)Windows登錄帳號(hào):execsp_grantlogin'windows','123'w數(shù)據(jù)庫用戶設(shè)計(jì)為數(shù)據(jù)庫中windows賬號(hào)添加數(shù)據(jù)庫用戶:execsp_grantdbaccess'hkx','billy'刪除數(shù)據(jù)庫用戶:execsp_revokedbaccess'billy'創(chuàng)建特殊數(shù)據(jù)庫用戶:execsp_grantdbaccessguestw各個(gè)登錄的權(quán)限設(shè)計(jì)賦予登陸賬號(hào)sa的用戶select權(quán)限:grantselectonsptobilly賦予登陸賬號(hào)sa的用戶update權(quán)限:grantupdateonsptobilly賦予登陸賬號(hào)sa的用戶delete權(quán)限:grantdeleteonsptobillyw各個(gè)數(shù)據(jù)庫用戶的權(quán)限設(shè)計(jì)將sp表上的insert,update和delete授權(quán)于用戶billy角色grantinsert,update,deleteonsptobillygo廢除授予billy的關(guān)于sp表的insert,update和delete權(quán)限r(nóng)evokeinsert,update,deleteonspfrombillygo20
18電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)拒絕用戶billy角色在sp表上的insert,update和delete權(quán)限denyinsert,update,deleteonsptobillygo20
19電商09數(shù)據(jù)庫系統(tǒng)實(shí)習(xí)報(bào)告(學(xué)號(hào)+姓名)第六章實(shí)訓(xùn)總結(jié)6.1實(shí)訓(xùn)總結(jié)一星期的實(shí)訓(xùn)已接近尾聲,這次的實(shí)訓(xùn)內(nèi)容是設(shè)計(jì)一個(gè)進(jìn)銷存數(shù)據(jù)庫系統(tǒng),剛開始時(shí),感覺之前學(xué)的已忘的差不多了,也擔(dān)心這個(gè)實(shí)訓(xùn)內(nèi)容相當(dāng)?shù)睦щy,但一天天下來,在不斷摸索的同時(shí),也回顧了之前的知識(shí)。這次實(shí)訓(xùn),從系統(tǒng)的組織結(jié)構(gòu)圖、功能結(jié)構(gòu)圖,到E-R圖的設(shè)計(jì),再到數(shù)據(jù)庫的設(shè)計(jì),綜合應(yīng)用了數(shù)據(jù)庫、SQLServer2005等知識(shí),讓我們所學(xué)的知識(shí)得到了充分的延伸與拓展,同時(shí),也提高了我們的綜合實(shí)踐能力。第一天的系統(tǒng)組織圖與功能圖的設(shè)計(jì),讓我有些摸不著邊,無從著手,通過資料的查找之后,最終確立了主題:藥品進(jìn)銷存系統(tǒng)。在第二天的E-R圖設(shè)計(jì)中,實(shí)體,屬性與聯(lián)系的設(shè)計(jì),難免會(huì)有一些碰壁,分E-R圖和全局E-R圖的建立,遇到的問題又增加了許多,實(shí)體與實(shí)體之間的聯(lián)系,實(shí)體的屬性,讓人難以入手,但通過網(wǎng)上的搜尋,老師同學(xué)的指導(dǎo),這些問題也隨之迎刃而解。接下來就完全沉浸在數(shù)據(jù)庫的建設(shè)中,數(shù)據(jù)庫表的建立,索引的創(chuàng)建,約束、默認(rèn)、規(guī)則、存儲(chǔ)過程、觸發(fā)器的創(chuàng)建,因?yàn)閷?duì)概念的不清楚,加上對(duì)代碼的不熟悉,操作起來相當(dāng)困難,經(jīng)過網(wǎng)上資料的查找,對(duì)書本知識(shí)的回顧,慢慢地對(duì)概念清晰了,代碼也熟練了,這些問題也很快被解決了。其實(shí),不管我們做什么事情,我們都應(yīng)該想清楚,首先干什么,其次干什么,有了一個(gè)合理的規(guī)劃,我們做起來也就比較的有了方向,有了目標(biāo),再向目標(biāo)去奮斗,這樣我們才能更好的把握自己,使自己更好的發(fā)展。20