書(shū)店銷(xiāo)售系統(tǒng)數(shù)據(jù)庫(kù)分析與設(shè)計(jì).doc_第1頁(yè)
書(shū)店銷(xiāo)售系統(tǒng)數(shù)據(jù)庫(kù)分析與設(shè)計(jì).doc_第2頁(yè)
書(shū)店銷(xiāo)售系統(tǒng)數(shù)據(jù)庫(kù)分析與設(shè)計(jì).doc_第3頁(yè)
書(shū)店銷(xiāo)售系統(tǒng)數(shù)據(jù)庫(kù)分析與設(shè)計(jì).doc_第4頁(yè)
書(shū)店銷(xiāo)售系統(tǒng)數(shù)據(jù)庫(kù)分析與設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

東方學(xué)院實(shí) 驗(yàn)(實(shí)訓(xùn))報(bào) 告項(xiàng) 目 名 稱(chēng) 書(shū)店銷(xiāo)售系統(tǒng)數(shù)據(jù)庫(kù)分析與設(shè)計(jì) 所屬課程名稱(chēng) 數(shù)據(jù)庫(kù)原理及應(yīng)用 項(xiàng) 目 類(lèi) 型 設(shè)計(jì)、綜合型 實(shí)驗(yàn)(實(shí)訓(xùn))日期 2014.52014.6 班 級(jí) 12信息1班 學(xué) 號(hào) 1220400103 1220400105 1220400110 1220400122 1220400125 1220400127 1220400139 1220400143 姓 名 李珺茹 鄭章章 徐瑩瑩 巫日崢 馮星 傅媛 徐斌 林良澤 分工表1、需求分析(鄭章章、李珺茹)書(shū)店的部門(mén)組成、各部門(mén)的業(yè)務(wù)說(shuō)明、基本信息管理安全性要求與完整性要求2.概念結(jié)構(gòu)設(shè)計(jì)(徐斌、林良澤)3邏輯結(jié)構(gòu)設(shè)計(jì)(徐瑩瑩)E-R圖向關(guān)系模型的轉(zhuǎn)換、數(shù)據(jù)模型的優(yōu)化4.物理結(jié)構(gòu)設(shè)計(jì)(巫日崢)數(shù)據(jù)庫(kù)物理設(shè)計(jì)原理、相關(guān)表的物理結(jié)構(gòu)5.數(shù)據(jù)庫(kù)實(shí)施(馮星)數(shù)據(jù)庫(kù)建立代碼、初始數(shù)據(jù)的輸入、視圖的建立、觸發(fā)器的建立6、數(shù)據(jù)庫(kù)的試運(yùn)行(傅媛)7、數(shù)據(jù)庫(kù)的維護(hù)目錄一、設(shè)計(jì)目的及要求21.1、目的21.2、背景21.3概述21.4可行性分析2二、課程設(shè)計(jì)內(nèi)容說(shuō)明31、需求分析31.1書(shū)店的部門(mén)組成31.2各部門(mén)的業(yè)務(wù)說(shuō)明31.3基本信息管理41.4安全性要求與完整性要求52.概念結(jié)構(gòu)設(shè)計(jì)53邏輯結(jié)構(gòu)設(shè)計(jì)()93.1 E-R圖向關(guān)系模型的轉(zhuǎn)換93.2 數(shù)據(jù)模型的優(yōu)化104.物理結(jié)構(gòu)設(shè)計(jì)104.1數(shù)據(jù)庫(kù)物理設(shè)計(jì)原理104.2 相關(guān)表的物理結(jié)構(gòu)115.數(shù)據(jù)庫(kù)實(shí)施145.1數(shù)據(jù)庫(kù)建立代碼145.2初始數(shù)據(jù)的輸入165.3視圖的建立195.4觸發(fā)器的建立206、數(shù)據(jù)庫(kù)的試運(yùn)行227、數(shù)據(jù)庫(kù)的維護(hù)22三、結(jié)論及體會(huì)22一、設(shè)計(jì)目的及要求1.1、目的在科學(xué)飛速發(fā)展的今天,人們的視野越來(lái)越廣,數(shù)據(jù)量急劇增加。過(guò)去人們把數(shù)據(jù)存放在文件柜里,現(xiàn)在人們借助計(jì)算機(jī)和數(shù)據(jù)庫(kù)技術(shù)科學(xué)地保存和管理大量的復(fù)雜數(shù)據(jù),以便能方便而充分地利用這些寶貴的信息資源。 本系統(tǒng)的設(shè)計(jì)目標(biāo)就是要為中小型書(shū)店提供一套運(yùn)行穩(wěn)定、安全可靠、操作簡(jiǎn)便的管理系統(tǒng)。幫助書(shū)店銷(xiāo)售業(yè)務(wù)處理日常工作業(yè)務(wù),規(guī)范管理各項(xiàng)工作和操作流程。從根本上改變以前那種舊的管理模式,真正提高管理和服務(wù)的水平。1.2、背景隨著社會(huì)信息量的迅速增長(zhǎng),計(jì)算機(jī)處理的數(shù)據(jù)量不斷增加,在我國(guó),管理信息系統(tǒng)是計(jì)算機(jī)應(yīng)用最廣泛的領(lǐng)域之一。隨著我國(guó)經(jīng)濟(jì)建設(shè)突飛猛進(jìn),管理科學(xué)化與管理手段的現(xiàn)代化已經(jīng)提到非常重要的地位,企、事業(yè)單位為了提高自身的管理水平和競(jìng)爭(zhēng)能力,紛紛投入人力物力,開(kāi)發(fā)適合本單位需求的管理信息系統(tǒng)。中國(guó)的信息化沿著企業(yè)信息化和政府信息化這兩根鏈條正在飛速的發(fā)展,在全國(guó)的各級(jí)教育單位中,都在進(jìn)行管理方式的改革,由以前的人工管理方式在向現(xiàn)在的人工加計(jì)算機(jī)技術(shù)的過(guò)渡中,在現(xiàn)在的這種模式中可以很大的提高工作人員的工作效率,提高了正確性。1.3概述這次所選的設(shè)計(jì)題目是書(shū)店銷(xiāo)售管理系統(tǒng)。數(shù)據(jù)庫(kù)環(huán)境選擇SQL server 2005中文版。1.4可行性分析管理上可行性書(shū)店管理其實(shí)是不能說(shuō)是簡(jiǎn)單,但是很瑣碎。每天的銷(xiāo)售還有最后的書(shū)本數(shù)量的核對(duì)會(huì)耗費(fèi)大量的人力和時(shí)間。而進(jìn)行計(jì)算機(jī)信息技術(shù)上的自動(dòng)化管理不僅提高了管理的準(zhǔn)確性而且省時(shí)省力。經(jīng)濟(jì)上可行性只要這個(gè)書(shū)店管理系統(tǒng)就好,不需要額外的支出。技術(shù)上可行性在大學(xué)我們已經(jīng)學(xué)習(xí)了有關(guān)數(shù)據(jù)庫(kù),c語(yǔ)言等一系列計(jì)算機(jī)技術(shù),在相對(duì)寬裕的時(shí)間內(nèi)是可以編寫(xiě)出程序的。二、課程設(shè)計(jì)內(nèi)容說(shuō)明1、需求分析1.1書(shū)店的部門(mén)組成對(duì)于書(shū)店來(lái)說(shuō),目的是銷(xiāo)售圖書(shū),所以包含銷(xiāo)售部門(mén);同時(shí)為書(shū)店進(jìn)書(shū)的部門(mén)稱(chēng)為進(jìn)貨部門(mén)。1.2各部門(mén)的業(yè)務(wù)說(shuō)明1.2.1銷(xiāo)售部門(mén)對(duì)圖書(shū)銷(xiāo)售情況進(jìn)行結(jié)算,對(duì)客戶(hù)資源進(jìn)行管理。如,對(duì)某一段時(shí)間的圖書(shū)銷(xiāo)售情況進(jìn)行統(tǒng)計(jì);對(duì)訂書(shū)的顧客信息進(jìn)行記錄,統(tǒng)計(jì)等。因此,需要銷(xiāo)售人員,圖書(shū),購(gòu)書(shū)實(shí)體:顧客,以及聯(lián)系:銷(xiāo)售,購(gòu)買(mǎi)。1.2.2進(jìn)貨部門(mén)記錄圖書(shū)供應(yīng)商的信息,以便獲得最新的圖書(shū)進(jìn)貨信息。通過(guò)供應(yīng)商,為書(shū)店購(gòu)進(jìn)新的圖書(shū)。需要實(shí)體供貨商,聯(lián)系:進(jìn)貨。 1.3基本信息管理1.3.1該模塊實(shí)現(xiàn)圖書(shū)情況的分類(lèi),包括書(shū)號(hào),書(shū)名,作者,售價(jià)等。便利店員查找書(shū)籍,為顧客提供更好的建議。1.3.2銷(xiāo)售情況管理該模塊對(duì)每本出售的書(shū)本進(jìn)行統(tǒng)計(jì),記錄每本書(shū)售出的日期,購(gòu)買(mǎi)人,經(jīng)辦人和銷(xiāo)售的金額。在這里店員可以很方便的加入銷(xiāo)售記錄,修改記錄。便于每天書(shū)店清賬。而且在這里總金額的計(jì)算公式是事先設(shè)定好的,這樣避免了人為的計(jì)算錯(cuò)誤。1.3.3銷(xiāo)售、進(jìn)貨、書(shū)本信息管理銷(xiāo)售、進(jìn)貨和書(shū)本庫(kù)存三者結(jié)合起來(lái)管理整個(gè)書(shū)店的圖書(shū)數(shù)量。庫(kù)存實(shí)現(xiàn)對(duì)書(shū)店剩余書(shū)本的管理,知道什么書(shū)還剩幾本。而進(jìn)貨清楚讓人知道進(jìn)了什么書(shū),售價(jià)是什么還有哪個(gè)供應(yīng)商提供的。而且在這里總金額的計(jì)算公式是事先設(shè)定好的,這樣避免了人為的計(jì)算錯(cuò)誤。1.3.4書(shū)店會(huì)員管理 實(shí)現(xiàn)系統(tǒng)相關(guān)會(huì)員信息的注冊(cè)及身份,同時(shí)也提供對(duì)應(yīng)會(huì)員的資料更新。該模塊還可以收集會(huì)員相關(guān)的消費(fèi)額度,提供不同的折扣力度。1.3.5書(shū)店職員管理實(shí)現(xiàn)書(shū)店職員的相關(guān)的管理,收集每個(gè)員工的相關(guān)信息,更好的了解員工還有實(shí)現(xiàn)不同職位不同的工資管理。1.4安全性要求與完整性要求安全性要求:系統(tǒng)應(yīng)設(shè)置訪(fǎng)問(wèn)用戶(hù)都預(yù)先約定好一個(gè)計(jì)算過(guò)程或者函數(shù),鑒別用戶(hù)身份時(shí),系統(tǒng)提供一個(gè)隨機(jī)數(shù),用戶(hù)根據(jù)自己預(yù)先約定的計(jì)算過(guò)程或者函數(shù)進(jìn)行計(jì)算,系統(tǒng)根據(jù)用戶(hù)計(jì)算結(jié)果是否正確進(jìn)一步鑒別用戶(hù)身份;系統(tǒng)應(yīng)對(duì)不同的訪(fǎng)問(wèn)級(jí)別,限制訪(fǎng)問(wèn)用戶(hù)可查詢(xún)和處理數(shù)據(jù)的類(lèi)別和內(nèi)容;系統(tǒng)應(yīng)對(duì)不同用戶(hù)設(shè)置不同的權(quán)限,區(qū)分不同的用戶(hù),如區(qū)分會(huì)員,職員。完整性要求:各種信息記錄的完整性,信息記錄內(nèi)容不為空,主碼值唯一;列值非空,列值唯一,列值滿(mǎn)足一個(gè)布爾表達(dá)式;用戶(hù)的操作違背了完整性約束條件時(shí),采取一定的動(dòng)作,如拒絕執(zhí)行該操作;各種數(shù)據(jù)間相互聯(lián)系的正確性;相同的數(shù)據(jù)在不同的記錄中的一致性。2.概念結(jié)構(gòu)設(shè)計(jì)部分E-R圖圖書(shū)基本信息類(lèi)別出版日期出版社作者書(shū)名書(shū)號(hào)價(jià)格庫(kù)存數(shù)量圖2.1 書(shū)本基本信息E-R圖供應(yīng)商信息地址電話(huà)名稱(chēng)聯(lián)系人代號(hào)圖2.2供應(yīng)商信息E-R圖職工信息職位住址電話(huà)姓名工號(hào)ID性別年齡圖2.3 職工信息E-R圖會(huì)員信息入會(huì)時(shí)間累計(jì)消費(fèi)電話(huà)姓名會(huì)員號(hào)折扣性別年齡圖2.4會(huì)員信息E-R圖時(shí)間會(huì)員書(shū)價(jià)書(shū)號(hào)工號(hào)折扣銷(xiāo)售銷(xiāo)售單號(hào)數(shù)量總價(jià)圖2.5銷(xiāo)售信息E-R圖供貨商代號(hào)書(shū)號(hào)書(shū)名時(shí)間工號(hào)書(shū)價(jià)進(jìn)貨數(shù)量進(jìn)貨單號(hào)總價(jià)圖2.6進(jìn)貨信息E-R圖 nnn11111n m1圖書(shū)顧客會(huì)員職員供應(yīng)商購(gòu)買(mǎi)注冊(cè)銷(xiāo)售供應(yīng)進(jìn)貨1n銷(xiāo)售記錄mn總體E-R圖3邏輯結(jié)構(gòu)設(shè)計(jì) 3.1 E-R圖向關(guān)系模型的轉(zhuǎn)換邏輯設(shè)計(jì)的目的是把概念設(shè)計(jì)階段設(shè)計(jì)的全局E-R模式轉(zhuǎn)換層與選用的具體機(jī)器上DBMS鎖支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。邏輯設(shè)計(jì)的步驟主要步驟有以下五步:(1) 初始模式的形成(2) 自模式設(shè)計(jì)(3) 應(yīng)用程序設(shè)計(jì)梗概(4) 模式評(píng)價(jià)(5) 修正模式E-R圖向關(guān)系模型轉(zhuǎn)換,首先要進(jìn)行數(shù)據(jù)的規(guī)范化。所謂規(guī)范化是指在一個(gè)數(shù)據(jù)結(jié)構(gòu)中沒(méi)有重復(fù)出現(xiàn)的項(xiàng)組。規(guī)范化是在關(guān)系數(shù)據(jù)庫(kù)中減少數(shù)據(jù)冗余的過(guò)程。3.1.1實(shí)體書(shū)本(書(shū)號(hào),書(shū)名,作者,價(jià)格,出版社,出版日期,類(lèi)別,庫(kù)存數(shù)量)屬于BCNF供應(yīng)商(供應(yīng)商代號(hào),供應(yīng)商名字,聯(lián)系人,電話(huà),地址) 屬于BCNF員工(工號(hào),ID,姓名,電話(huà),住址,職位,性別,年齡) 屬于BCNF會(huì)員(會(huì)員號(hào),姓名,年齡,電話(huà),累積消費(fèi),折扣力度,入會(huì)時(shí)間,性別) 屬于BCNF3.1.2關(guān)系進(jìn)貨(書(shū)號(hào),時(shí)間,供應(yīng)商代號(hào),工號(hào),書(shū)名,進(jìn)貨單號(hào),金額,數(shù)量,總價(jià))屬于BCNF銷(xiāo)售(書(shū)號(hào),銷(xiāo)售單號(hào),書(shū)價(jià),購(gòu)買(mǎi)者,工號(hào),折扣,時(shí)間,數(shù)量) 屬于3NF3.2 數(shù)據(jù)模型的優(yōu)化 關(guān)系模式會(huì)員號(hào),姓名,書(shū)名,供應(yīng)商號(hào),職工號(hào)不存在非主屬性對(duì)主屬性的部分函數(shù)依賴(lài),也不存在傳遞函數(shù)依賴(lài),已經(jīng)達(dá)到了3NF,但是銷(xiāo)售關(guān)系模式、進(jìn)貨關(guān)系模式、庫(kù)存信息關(guān)系模式中存在著一些數(shù)據(jù)冗余,現(xiàn)將四個(gè)關(guān)系模型進(jìn)行合并,消除冗余,優(yōu)化為:進(jìn)貨(書(shū)號(hào),時(shí)間,供應(yīng)商代號(hào),工號(hào),書(shū)名,進(jìn)貨單號(hào),金額,數(shù)量)4.物理結(jié)構(gòu)設(shè)計(jì)4.1數(shù)據(jù)庫(kù)物理設(shè)計(jì)原理數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段的任務(wù)是根據(jù)具體計(jì)算機(jī)系統(tǒng)(DBMS和硬件等)的特點(diǎn),為給定的數(shù)據(jù)庫(kù)系統(tǒng)確定合理的存儲(chǔ)結(jié)構(gòu)和存取方法。所謂的“合理”主要有兩個(gè)含義:一個(gè)是要使設(shè)計(jì)出的物理數(shù)據(jù)庫(kù)占用較少的存儲(chǔ)空間,另一個(gè)對(duì)數(shù)據(jù)庫(kù)的操作具有盡可能高的速度。主要體現(xiàn)在后者。4.1.1建立索引:根據(jù)本系統(tǒng)的特點(diǎn),采用B+樹(shù)索引存取方法建立索引對(duì)圖書(shū),會(huì)員,職員,供應(yīng)商,進(jìn)貨,銷(xiāo)售和庫(kù)存建立索引對(duì)圖書(shū),會(huì)員,職員,銷(xiāo)售建立組合索引對(duì)進(jìn)貨,銷(xiāo)售,圖書(shū)建立組合索引對(duì)圖書(shū),供應(yīng)商,進(jìn)貨建立組合索引對(duì)其進(jìn)行的操作:查找查找以典型的方式進(jìn)行,類(lèi)似于二叉查找樹(shù)。起始于根節(jié)點(diǎn),自頂向下遍歷樹(shù),選擇其分離值在要查找值的任意一邊的子指針。在節(jié)點(diǎn)內(nèi)部典型的使用二分查找來(lái)確定這個(gè)位置。插入節(jié)點(diǎn)要處于違規(guī)狀態(tài),它必須包含在可接受范圍之外數(shù)目的元素。 首先,查找要插入其中的節(jié)點(diǎn)的位置。接著把值插入這個(gè)節(jié)點(diǎn)中。 如果沒(méi)有節(jié)點(diǎn)處于違規(guī)狀態(tài)則處理結(jié)束。 如果某個(gè)節(jié)點(diǎn)有過(guò)多元素,則把它分裂為兩個(gè)節(jié)點(diǎn),每個(gè)都有最小數(shù)目的元素。在樹(shù)上遞歸向上繼續(xù)這個(gè)處理直到到達(dá)根節(jié)點(diǎn),如果根節(jié)點(diǎn)被分裂,則建立一個(gè)新根節(jié)點(diǎn)。為了使它工作,元素的最小和最大數(shù)目典型的必須選擇為使最小數(shù)不大于最大數(shù)的一半。 刪除首先,查找要?jiǎng)h除的值。接著從包含它的節(jié)點(diǎn)中刪除這個(gè)值。 如果沒(méi)有節(jié)點(diǎn)處于違規(guī)狀態(tài)則處理結(jié)束。 如果節(jié)點(diǎn)處于違規(guī)狀態(tài)則有兩種可能情況:它的兄弟節(jié)點(diǎn),就是同一個(gè)父節(jié)點(diǎn)的子節(jié)點(diǎn),可以把一個(gè)或多個(gè)它的子節(jié)點(diǎn)轉(zhuǎn)移到當(dāng)前節(jié)點(diǎn),而把它返回為合法狀態(tài)。如果是這樣,在更改父節(jié)點(diǎn)和兩個(gè)兄弟節(jié)點(diǎn)的分離值之后處理結(jié)束。 它的兄弟節(jié)點(diǎn)由于處在低邊界上而沒(méi)有額外的子節(jié)點(diǎn)。在這種情況下把兩個(gè)兄弟節(jié)點(diǎn)合并到一個(gè)單一的節(jié)點(diǎn)中,而且我們遞歸到父節(jié)點(diǎn)上,因?yàn)樗粍h除了一個(gè)子節(jié)點(diǎn)。持續(xù)這個(gè)處理直到當(dāng)前節(jié)點(diǎn)是合法狀態(tài)或者到達(dá)根節(jié)點(diǎn),在其上根節(jié)點(diǎn)的子節(jié)點(diǎn)被合并而且合并后的節(jié)點(diǎn)成為新的根節(jié)點(diǎn)。4.1.2存儲(chǔ)結(jié)構(gòu)確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)主要指確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu),包括確定關(guān)系、索引、日志、備份等的存儲(chǔ)安排及存儲(chǔ)結(jié)構(gòu),以及確定系統(tǒng)存儲(chǔ)參數(shù)的配置。將日志文件和數(shù)據(jù)庫(kù)對(duì)象(表、索引等)分別放在不同的磁盤(pán),可以改進(jìn)系統(tǒng)的性能,提高系統(tǒng)的安全性。所以,系統(tǒng)應(yīng)將日志文件和數(shù)據(jù)文件存放在不同磁盤(pán)上。4.2 相關(guān)表的物理結(jié)構(gòu)字段名稱(chēng)數(shù)據(jù)類(lèi)型主鍵或外鍵是否允許為空備注書(shū)號(hào)char(5)主鍵,外鍵不允許書(shū)名varchar(30)不允許作者char(10)允許價(jià)格decimal(5,2)不允許出版日期smalldatetime允許出版社varchar(6)不允許庫(kù)存數(shù)量int 不允許數(shù)量=0類(lèi)別char(5)不允許表4.1書(shū)本物理結(jié)構(gòu)字段名稱(chēng)數(shù)據(jù)類(lèi)型主鍵或外鍵是否允許為空備注供應(yīng)商代號(hào)varchar(6)主鍵不允許供應(yīng)商名稱(chēng)varchar(20)不允許聯(lián)系人char(10)不允許電話(huà)varchar(13)不允許地址varchar(30)允許表4.2供應(yīng)商物理結(jié)構(gòu)字段名字?jǐn)?shù)據(jù)類(lèi)型主鍵或外鍵是否允許為空備注工號(hào)varchar(6)主鍵不允許姓名char(10)不允許性別varchar(2)不允許男/女年齡varchar(12)允許職位char(5)不允許電話(huà)char(13)不允許IDvarchar(18)不允許住址varchar(30)允許表4.3職員物理結(jié)構(gòu)字段名字?jǐn)?shù)據(jù)類(lèi)型主鍵或外鍵是否允許為空備注會(huì)員號(hào)varchar(6)主鍵不允許姓名Char(10)不允許性別varchar(12)不允許男/女年齡varchar(12)允許入會(huì)時(shí)間datetime不允許折扣char(5)不允許0.90/0.80/0.70累計(jì)消費(fèi)decimal(5,2)允許電話(huà)varchar(12)不允許表4.4會(huì)員物理結(jié)構(gòu)字段名字?jǐn)?shù)據(jù)類(lèi)型主鍵或外鍵是否允許為空備注銷(xiāo)售單號(hào)char(6)主鍵不允許書(shū)號(hào)char(5)外鍵不允許會(huì)員號(hào)varchar(6)外鍵允許折扣decimal(5,2)不允許0/0.90/0.80/0.70書(shū)價(jià)decimal(5,2)不允許時(shí)間datetime不允許數(shù)量int 不允許數(shù)量=1工號(hào)varchar(6)外鍵不允許總價(jià)decimal(5,2)不允許折扣*數(shù)量*書(shū)價(jià)表4.5銷(xiāo)售物理結(jié)構(gòu)字段名字?jǐn)?shù)據(jù)類(lèi)型主鍵或外鍵是否允許為空備注進(jìn)貨單號(hào)char(6)主鍵不允許供應(yīng)商代號(hào)varchar(6)外鍵不允許書(shū)號(hào)char(5)外鍵不允許書(shū)名varchar(30)不允許書(shū)價(jià)decimal(5,2)不允許時(shí)間smalldatetime不允許數(shù)量int 不允許數(shù)量=1總價(jià)decimal(5,2)不允許書(shū)價(jià)*數(shù)量工號(hào)varchar(6)外鍵不允許表4.6進(jìn)貨物理結(jié)構(gòu)5.數(shù)據(jù)庫(kù)實(shí)施5.1數(shù)據(jù)庫(kù)建立代碼5.1.1數(shù)據(jù)庫(kù)的創(chuàng)建(sql語(yǔ)句代碼)create database bookstroeuse bookstroe5.1.2表的創(chuàng)建書(shū)本信息關(guān)系表的創(chuàng)建create table 書(shū)本(書(shū)號(hào) char(5) not null primary key,書(shū)名 varchar(30) not null ,作者 char(10) , 價(jià)格 decimal(5,2) ,出版社 varchar(6) not null ,出版日期 smalldatetime,類(lèi)別 char(5) not null,庫(kù)存數(shù)量 int check(庫(kù)存數(shù)量=0),)供應(yīng)商信息關(guān)系表的創(chuàng)建create table 供應(yīng)商(供應(yīng)商代號(hào)varchar(6) not null primary key,供應(yīng)商名字varchar(20) not null, 聯(lián)系人char(10) not null,電話(huà)varchar(13) not null, 地址varchar(30),)員工信息關(guān)系表的創(chuàng)建create table 員工(工號(hào) varchar(6) not null primary key,姓名 Char(10) not null,性別 varchar(2) not null check(性別=男 or 性別=女), 年齡 varchar(12) ,職位 char(5) not null,電話(huà) varchar(13) not null ,ID varchar(18) not null,住址 varchar(30) ,)會(huì)員信息關(guān)系表的創(chuàng)建create table 會(huì)員(會(huì)員號(hào) varchar(6) primary key not null,姓名 char(10) not null,性別 varchar(2) not null check(性別=男 or 性別=女),年齡varchar(12),入會(huì)時(shí)間 datetime not null, 折扣 char(5) not null check(折扣in (0.90,0.80,0.70), 累計(jì)消費(fèi) decimal(5,2),電話(huà) varchar(12) not null,)銷(xiāo)售信息關(guān)系表的創(chuàng)建create table 銷(xiāo)售( 銷(xiāo)售單號(hào)char(6) not null primary key , 書(shū)號(hào)char(5) not null ,會(huì)員號(hào)varchar(6),折扣decimal(5,2) not null check(折扣in (1,0.90,0.80,0.70),書(shū)價(jià)decimal(5,2) not null, 工號(hào)varchar(6) not null , 時(shí)間 datetime not null, 銷(xiāo)售數(shù)量int check (銷(xiāo)售數(shù)量=1), 銷(xiāo)售總價(jià) as 折扣*銷(xiāo)售數(shù)量*書(shū)價(jià),foreign key(會(huì)員號(hào)) references 會(huì)員(會(huì)員號(hào)),foreign key(書(shū)號(hào)) references 書(shū)本(書(shū)號(hào)), foreign key(工號(hào)) references 員工(工號(hào)),)進(jìn)貨信息關(guān)系表的創(chuàng)建create table 進(jìn)貨( 進(jìn)貨單號(hào) char(6) not null primary key,供應(yīng)商代號(hào) varchar(6) not null,書(shū)號(hào) char(5) not null,書(shū)名 varchar(30) not null,書(shū)價(jià) decimal(5,2) not null,時(shí)間 smalldatetime not null,進(jìn)貨數(shù)量 int check (進(jìn)貨數(shù)量=1), 工號(hào) varchar(6) not null,總價(jià) as 書(shū)價(jià)*進(jìn)貨數(shù)量,foreign key(書(shū)號(hào)) references 書(shū)本(書(shū)號(hào)),foreign key(供應(yīng)商代號(hào)) references 供應(yīng)商(供應(yīng)商代號(hào)),foreign key(工號(hào)) references 員工(工號(hào)),)5.1.3各個(gè)表的關(guān)系圖圖5.1.3數(shù)據(jù)庫(kù)關(guān)系圖5.2初始數(shù)據(jù)的輸入數(shù)據(jù)庫(kù)以及表創(chuàng)建之后,要輸入一些實(shí)際的數(shù)據(jù)。一下是一些數(shù)據(jù)輸入的代碼。l 向供應(yīng)商表輸入數(shù)據(jù)insert into 供應(yīng)商values(01,a1,張三,上海,12345)insert into 供應(yīng)商values(02,a2,李四,杭州,54321)5.2.1輸入數(shù)據(jù)后的供應(yīng)商表l 向書(shū)本信息表輸入數(shù)據(jù)insert into 書(shū)本values(11021,光榮日,韓寒,20.00,01,2001.06.13,小說(shuō))insert into 書(shū)本values(11022,一個(gè)人的好天氣,青山七惠,18.00,01,2001.07.15,小說(shuō))5.2.2輸入數(shù)據(jù)后的書(shū)本信息表l 向員工信息表輸入數(shù)據(jù)insert into 員工 values(001,錢(qián)小五,女,25,店員,88733227,310000000000000000,杭州)insert into 員工values(003,王小二,男,21,店長(zhǎng),88733221,310000000000000021,杭州)5.2.3輸入數(shù)據(jù)后的員工信息表l 向會(huì)員信息表輸入數(shù)據(jù)insert into 會(huì)員values(no43,王菲,女,19,2010.02.03,0.90,103.3,88733226)insert into 會(huì)員values(no98,劉朵朵,女,20,2011.12.03,0.80,403.3,88733228)5.2.4輸入數(shù)據(jù)后的會(huì)員信息表l 向進(jìn)貨關(guān)系表輸入數(shù)據(jù)insert into 進(jìn)貨values(b1,01,11021,光榮日,20.00,2011.12.12,50,001)insert into 進(jìn)貨values(b2,02,11022,一個(gè)人的好天氣,18.00,2011.12.13,40,001)5.2.5輸入數(shù)據(jù)后的進(jìn)貨關(guān)系表l 向銷(xiāo)售關(guān)系表輸入數(shù)據(jù)insert into 銷(xiāo)售values(s1, 11021,no98,0.80,20.0,003, 2013.01.12 ,2 )insert into 銷(xiāo)售values(s2 ,11022,no43,0.90,18.0,003, 2013.01.12,3)4.2.7輸入數(shù)據(jù)后的銷(xiāo)售關(guān)系表5.3視圖的建立1.這個(gè)視圖是總結(jié)了銷(xiāo)售情況,當(dāng)銷(xiāo)售輸入數(shù)據(jù)時(shí)視圖會(huì)把賣(mài)出的書(shū)的數(shù)量加起來(lái),那么要看某天的某本書(shū)的銷(xiāo)售量就很方便了。代碼:create view 銷(xiāo)售情況as select 時(shí)間, 書(shū)號(hào),sum(銷(xiāo)售數(shù)量) 銷(xiāo)售數(shù)量,sum(銷(xiāo)售總價(jià)) 銷(xiāo)售總價(jià)from 銷(xiāo)售 group by 書(shū)號(hào),時(shí)間5.3.1銷(xiāo)售情況視圖2在銷(xiāo)售情況視圖的基礎(chǔ)上建立了書(shū)本數(shù)量的視圖,當(dāng)銷(xiāo)售輸入數(shù)據(jù)時(shí)視圖里的銷(xiāo)售數(shù)量會(huì)動(dòng)態(tài)的改變。代碼:create view 書(shū)本數(shù)量as select 書(shū)本.書(shū)名,進(jìn)貨.進(jìn)貨數(shù)量,銷(xiāo)售.銷(xiāo)售數(shù)量,書(shū)本.庫(kù)存數(shù)量from 書(shū)本,進(jìn)貨,銷(xiāo)售where 書(shū)本.書(shū)號(hào)=進(jìn)貨.書(shū)號(hào)and 進(jìn)貨.書(shū)號(hào)=銷(xiāo)售.書(shū)號(hào)5.3.2書(shū)本數(shù)量視圖5.4觸發(fā)器的建立1輸入的員工年齡不可以小于16歲create trigger tr_員工_insert on 員工for insert asdeclare 年齡 varchar(12) select 年齡=年齡from insertedif 年齡16beginraiserror(員工年齡應(yīng)該大于,16,1)rollback transactionend5.3.1輸入數(shù)據(jù)觸發(fā)觸發(fā)器后2當(dāng)向進(jìn)貨信息中輸入新的書(shū)本信息,那么在庫(kù)存中自動(dòng)加入該書(shū)的書(shū)號(hào)還

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論