《數(shù)據(jù)庫原理課程設(shè)計》課程設(shè)計(共15頁)
《《數(shù)據(jù)庫原理課程設(shè)計》課程設(shè)計(共15頁)》由會員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫原理課程設(shè)計》課程設(shè)計(共15頁)(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 《數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計報告》 學生姓名: 系 別: 班 級: 專 業(yè): 指導(dǎo)教師: 2011 年 11 月 15 日 目錄
2、 1 引言 1.1 問題描述 隨著市場競爭的不斷加劇,作為中小企業(yè)也迫切需要規(guī)范管理。 然而目前中小型企業(yè)在具體的業(yè)務(wù)流程處理過程中仍然使用手工操作的方式來實施,由于商品繁多、業(yè)務(wù)零雜,各類采購、銷售單據(jù)數(shù)量非常多,人工處理比較困難,并且準確性難以確保。所以這種現(xiàn)狀不僅費時、費力、效率低下,而且無法達到理想的效果。 因此,中小企業(yè)實施規(guī)范管理勢在必行,如何實現(xiàn)內(nèi)部流程管理和外部市場競爭的管理,無疑是企業(yè)經(jīng)營最核心的問題。建立一個有效的商務(wù)進銷存管理系統(tǒng),可以使企業(yè)擁有比競爭對手更嚴謹?shù)臉I(yè)務(wù)管理和控制,可以比競爭對手更快速地獲得效益。 1.2開發(fā)環(huán)境和運行環(huán)境 企
3、業(yè)進銷存管理系統(tǒng)運用了當前流行的SQL SERVER2005、C#、VS2010等運行和開發(fā)的。 1.庫、基本表的建立和修改:在SQL-SERVER環(huán)境下用CREATE TABLE 建立庫以及庫中基本表。 2.數(shù)據(jù)加載: 用手工錄入或?qū)氲确椒▽崿F(xiàn)基本表中的數(shù)據(jù)加載。 3.單表查詢以及多表查詢:在建立的基本表中使用select基本格式和聚集函數(shù);設(shè)計合適的視圖,實現(xiàn)多表間查詢。 4.觸發(fā)器:設(shè)計觸發(fā)器,可實現(xiàn)表間關(guān)聯(lián)字段修改時的完整性等問題。 5.存儲器:設(shè)計存儲過程,并用語句調(diào)用。 6.用SQL SERVER 2005/2008、C#、VisualStudio2010等開發(fā)環(huán)境設(shè)
4、計、實現(xiàn)系統(tǒng)主要功能。 2 需求分析 2.1系統(tǒng)功能基本的要求 試設(shè)計一個企業(yè)進銷存管理系統(tǒng),便于企業(yè)對產(chǎn)品進行進銷業(yè)務(wù)流程規(guī)劃化管理。 2.2企業(yè)對系統(tǒng)實現(xiàn)的要求 要求實現(xiàn)的主要模塊:(1)用戶管理 (2)數(shù)據(jù)庫維護 (3)產(chǎn)品入庫管理 (4)產(chǎn)品出庫管理 (5)庫存管理 (6)維修管理 (7)個人信息 (8)基礎(chǔ)數(shù)據(jù)維護。 1.信息要求: 信息的錄入是通過產(chǎn)品入庫登記,基礎(chǔ)數(shù)據(jù)維護添加新的產(chǎn)品,出庫時輸入銷售記錄等過程進行數(shù)據(jù)信息的錄入與查詢。 2.處理要求: 建立一個有效的商務(wù)進銷存管理系統(tǒng),以解決商品繁多、業(yè)務(wù)零雜,各類采購、銷售單據(jù)數(shù)量非常多,人工處理
5、困難,準確性難以確保等眾多問題。 3.安全性與完整性要求: (1)安全性要求 a.系統(tǒng)應(yīng)對不同的數(shù)據(jù)設(shè)置不同的訪問級別,限制訪問用戶可查詢和處理數(shù)據(jù)的類別和內(nèi)容; b.系統(tǒng)實現(xiàn):數(shù)據(jù)備份、數(shù)據(jù)恢復(fù),以防止重大失誤、或是系統(tǒng)故障引起的損失; (2)完整性要求 a.各種信息記錄的完整性,信息記錄內(nèi)容不能為空; b.各種數(shù)據(jù)間相互的聯(lián)系的正確性; c.相同的數(shù)據(jù)在不同記錄中的一致性。 2.3系統(tǒng)功能的設(shè)計 系統(tǒng)實現(xiàn)(1)用戶管理 (2)數(shù)據(jù)庫維護 (3)產(chǎn)品入庫管理 (4)產(chǎn)品出庫管理 (5)庫存管理 (6)維修管理 (7)個人信息 (8)基礎(chǔ)數(shù)據(jù)維護。 數(shù)據(jù)流圖
6、 2.4數(shù)據(jù)字典 部分重要表: 表名:UserInfo 序號 列名 數(shù)據(jù)類型 長度 小數(shù)位 標識 主鍵 允許空 默認值 說明 備注 1 UserID varchar 16 6 是 是 否 用戶名 登陸用 2 Name varchar 8 4 否 姓名 真實姓名 3 Pwd varchar 200 0 否 密碼 4 Power varchar 8 0 否 權(quán)限 固定位是1有權(quán)限,0無此權(quán)限
7、 表名:Storage 序號 列名 數(shù)據(jù)類型 長度 小數(shù)位 標識 主鍵 允許空 默認值 說明 備注 1 ListID varchar 50 是 是 否 Lis 唯一標志 2 Number Int 否 0 表名:Computer 序號 列名 數(shù)據(jù)類型 長度 小數(shù)位 標識 主鍵 允許空 默認值 說明 備注 1 ListID varchar 50 是 是 否 唯一標志 2 LotNum varchar 3
8、 是 否 否 批次號 3 Brand Varchar 50 否 品牌 4 CPU Varchar 50 否 5 Memory varchar 50 否 6 VideoCard Varchar 50 否 顯卡 7 HardDisk Varchar 50 否 8 MainBoard Varchar 50 否 主板 9 RwDrive Varchar 50 否 光
9、驅(qū) 10 Remark Varchar 50 否 備注 11 Screen Varchar 50 是 12 Unit Varchar 20 否 單位 13 IsDelete Bit 否 False 邏輯刪除批次號 True未刪除 表名:AroundDevice 序號 列名 數(shù)據(jù)類型 長度 小數(shù)位 標識 主鍵 允許空 默認值 說明 備注 1 ListID varchar 50 是 是 否 唯一標志 2 Typ
10、e1 varchar 50 否 Type1 類型或名稱 3 Type2 varchar 50 是 Type2 類型或名稱 4 Type3 varchar 50 是 Type3 類型或名稱 5 ProductName 50 否 產(chǎn)品名稱 6 Unit Varchar 20 否 單位 7 IsDelete Bit 邏輯刪除 表名:PurchaseOrder
11、 序號 列名 數(shù)據(jù)類型 長度 小數(shù)位 標識 主鍵 允許空 默認值 說明 備注 1 PurchaseNum varchar 20 否 采購單編號 2 Supplier varchar 50 供貨商 3 ListID varchar 50 否 產(chǎn)品唯一標志 4 UserName varchar 經(jīng)辦人 5 Price Money 否 單價 6 Number Int 否 產(chǎn)品數(shù)量
12、 7 Date Datetimes 否 8 IsBilling Bit 否 False 是否開票 9 IsTax Bit 否 False 是否含稅 10 Remark Varchar 50 是 備注 11 IsReturn Int 否 0 區(qū)分標志 0.采購單 1退單,2退庫存 銷售單:SaleOrder 序號 列名 數(shù)據(jù)類型 長度 小數(shù)位 標識 主鍵
13、允許空 默認值 說明 備注 1 SaleNum varchar 20 否 銷售單編號 2 ListID Varchar 50 否 唯一標志 ProName Varchar 50 否 產(chǎn)品名稱 3 UserName varchar 8 否 經(jīng)辦人 4 SaleMan Varchar 8 否 業(yè)務(wù)員 4 Cost Money 是 銷售成本 5 SalePrice Money
14、 否 售價 6 SaleNumber Int 否 1 產(chǎn)品數(shù)量 7 Date Datetime 否 8 Client Varchar 50 否 客戶 9 InMark Varchar 20 是 內(nèi)部票號 10 Remark Varchar 50 是 備注 11 Screen Varchar 50 是 11 IsReturn Bit 否 False
15、 是否退單 稅票:Ticket 序號 列名 數(shù)據(jù)類型 長度 小數(shù)位 標識 主鍵 允許空 默認值 說明 備注 1 InMark Varchar 20 否 內(nèi)部票號都放在一起 2 TicketNum varchar 50 否 外部票號 3 Office Varchar 50 否 開票單位 4 Content Varchar 50 否 內(nèi)容 5 Amount Money 否 每種
16、產(chǎn)品金額 6 TaxAmount Money 否 稅收金額 7 Total Money 否 總金額 3 概念設(shè)計 3.1設(shè)計分e-r圖 由于表格過多只列舉部分表格設(shè)計E-R圖如下: 職員E-R圖 周邊設(shè)備E-R 銷售單E-R圖 分E-R圖
17、 分E-R圖 3.2設(shè)計完成的總e-r圖 4 邏輯結(jié)構(gòu)設(shè)計 4.1圖向關(guān)系模式的轉(zhuǎn)換 部分關(guān)系模式如下: 1、職員(職員ID,名字,密碼,權(quán)限) 2、銷售單(銷售單ID,產(chǎn)品數(shù)量,經(jīng)辦人,業(yè)務(wù)員,是否開票,內(nèi)部票號,銷售日期,客戶,銷售成品,銷售單編號,備注,是否退單,售價) 3、產(chǎn)品(產(chǎn)品ID,產(chǎn)品名稱,單位,一級分類,二級分類,三級分類,批次號,品牌,類型,CPU,內(nèi)存 ,顯卡···顯示器大小,是否刪除等) 4、庫存(產(chǎn)品ID,庫存數(shù)量) 4.2數(shù)據(jù)模型的優(yōu)化 在概念設(shè)計的基
18、礎(chǔ)上,根據(jù)設(shè)計得到系統(tǒng)總的E-R圖,按照概念模式與關(guān)系表轉(zhuǎn)化的一般規(guī)則,結(jié)合實際的需要進行邏輯設(shè)計,E—R圖中的實體、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。最后生成的部分關(guān)系及關(guān)系表如下(同時附優(yōu)化說明): 1、 電腦(產(chǎn)品ID,批次號,品牌,型號,CPU,內(nèi)存,顯卡,硬盤,主板,顯示器大小,光驅(qū),是否是筆記本,是否刪除) 2、單獨顯示器(產(chǎn)品ID,品牌,大小,是否刪除) 3、周邊設(shè)備(產(chǎn)品ID,產(chǎn)品名稱,單位,一級分類,二級分類,三級分類,是否刪除) 優(yōu)化說明:原來是所有產(chǎn)品對象放在一起,由于這些不同的產(chǎn)品屬性差別太大,放在一起造成很大的數(shù)據(jù)冗余,而且易出錯,所以把他們分為三大類
19、,如上面,這樣就解決了很多問題。 4.3用戶子模式的設(shè)計 在將概念模型轉(zhuǎn)化為全局邏輯模型后,根據(jù)用戶對進銷存管理系統(tǒng)的局部應(yīng)用需求,以下設(shè)計用戶子模式: l 考慮需求 考慮以下的幾個需求: ⑴ 管理員有可能是業(yè)務(wù)員或是經(jīng)辦人 ⑵ 可隨時對任意產(chǎn)品進行開票的需求 l 定義用戶級別 對用戶職員的權(quán)限限制: ⑴ 用戶職工:用戶登錄系統(tǒng),系統(tǒng)會判斷其權(quán)限,他只能操作在他權(quán)限范圍內(nèi)的事務(wù)。 l 制作查詢子系統(tǒng): 根據(jù)分析需求,我們設(shè)計了一個開票管理系統(tǒng) 提供對銷售產(chǎn)品的開票,查詢稅收相關(guān)情況。 5 數(shù)據(jù)實施和維護 5.1建立數(shù)據(jù)庫 Create database
20、SaleManage; 5.2建表 要求:至少5張表 1.建用戶表 CREATE TABLE UserInfo (UserID VARCHAR(16) primary key NOT NULL, NAME VARCHAR(8) NOT NULL, Pwd varchar (200) NOT NULL, Power varchar(8) NOT NULL, ); 2.建維修表單 CREATE TABLE RepairList (listID VARCHAR(50) PRIMARY KEY, RepairNum VARCHAR(20), Client VA
21、RCHAR(50), FaultPart VARCHAR(50), FaultNum VARCHAR(20), FaultReason VARCHAR(50), RepairDate datetime, ReCompany VARCHAR(50), IsFinish Bit, FinishDate DATEtime, RepairCost Money, Charge Money ); 3.建庫存 CREATE TABLE Storage (ListID VARCHAR(50) PRIMARY KEY, Number INT ); 4
22、.建銷售單 CREATE TABLE SaleOrder (ID uniqueidentifier not null, SaleNum varchar(20) NOT NULL, ListID varchar(50) NOT NULL, ProName varchar(50) NOT NULL, UserName varchar(8) NOT NULL, SaleMan varchar(8) NOT NULL, Cost Money NULL, SalePrice Money NOT NULL, SaleNumber Int NOT NULL, Date Datet
23、ime NOT NULL, Client varchar(50) NOT NULL, InMark varchar(20) NULL, Remark varchar(50) NULL, Screen varchar(50) NULL, IsReturn Bit NOT NULL, ) 5.建稅票表 CREATE TABLE Ticket (InMark VARCHAR(20), TicketNum VARCHAR(50), Office VARCHAR(50), Content VARCHAR(50), Amount Money, TaxAm
24、ount Money, Total Money ); …… 5.3建查詢 要求:5個查詢以上 1、查詢指定日期的所有的銷售單 2、查詢指定日期的所有的銷售單 3、查詢指定日期的所有的銷售單 4、查詢指定日期的所有的銷售單 5、查詢指定日期的所有的銷售單 select Sa.ID as saID,Sa.SaleNum as 銷售單編號,Sa.IsBilling as 選擇,Sa.ProName as 產(chǎn)品名稱,isnull(Ar.Type1,'')+isnull( ' '+Ar.Type2,'')+isnull(Com.Brand,'')+ isnull( '
25、批次:'+Com.LotNum,'')+isnull( ' CPU:'+Com.CPU,'') + isnull( ' 顯卡:'+Com.VideoCard,'')+isnull( ' 顯示器:'+Com.Screen,'')+ isnull( '顯示器品牌:'+Sc.Brand,'')+isnull( ' 大?。?+Sc.Size,'') as 產(chǎn)品詳細信息, Sa.SalePrice as 售價,Sa.SaleNumber as 數(shù)量,isnull(Sa.SalePrice,'')*isnull( Sa.SaleNumber,'') as 金額,Sa.IsBilling
26、 as 是否開票, Sa.SaleMan as 業(yè)務(wù)員,Sa.Client as 客戶, Sa.UserName as 經(jīng)辦人,Sa.Date as 銷售日期, Sa.Cost as 開銷,Sa.Remark as 備注 from SaleOrder as Sa left join AroundDevice as Ar on Sa.ListID=Ar.ListID left join Computer as Com on Sa.ListID=Com.ListID left join Screen as Sc on Sa.ListID=Sc.Li
27、stID where Date BETWEEN '2011/12/14' AND '2011/12/14' and Sa.IsReturn= 'false 'order by Sa.SaleNum desc 5.4建存儲過程 要求:三個以上 1.業(yè)務(wù)員的顯示,如果是管理員,則顯示為公司(不帶參數(shù)) create proc pro_UserShow as select case when power=''then '公司' else Name END Name from UserInfo exec pro_UserShow 2.根據(jù)所選產(chǎn)品
28、查看它最近三次售價(帶參數(shù)) create procedure pro_RecentPrice @ListID varchar(30),@SellID varchar(20) AS select top 3 SalePrice from SaleOrder where ListID=@ListID and SaleNum!=@SellID order by SaleNum desc 兩種調(diào)用示例: exec pro_RecentPrice 'B2011/12/14 12:46:573','S416' exec pro_RecentPrice @ListID='B2
29、011/12/14 12:46:573',@SellID='S416' 3.查詢庫存(帶輸出參數(shù)): CREATE PROC pro_StoNumber @ListID varchar(30), @Number int output AS SELECT @Number=Number from Storage where ListID=@ListID 調(diào)用示例: declare @ListID varchar(30),@Number int select @ListID='B2011/12/14 12
30、:46:573' EXEC pro_StoNumber @ListID , @Number OUTPUT SELECT @Number 5.4建觸發(fā)器 要求:INSERT,UPDATE,DELETE三種觸發(fā)器任選 插入銷售單數(shù)據(jù)時,同時庫存減去銷售數(shù)量 create trigger Tr_SaleOrder on SaleOrder for insert AS DECLARE @outNumber int, @ListID varchar(30) SELECT @outNumber=SaleNumber, @ListID=ListID
31、 FROM inserted UPDATE Storage SET Number= Number -@outNumber WHERE ListID=@ListID GO 示例: insert into SaleOrder (ID,SaleNum,ListID,ProName,SalePrice,SaleNumber,IsBilling,InMark,SaleMan,Client,UserName,Cost,Date,Remark) values('12e1c6b1-999b-41ee-a385-edec847dde4e','S521
32、','B2011/12/14 12:46:573','ProBook 4321s','4600','1','True','','公司','上海直銷商','dahu','','2011/12/14','') 6總結(jié) 據(jù)庫有保持數(shù)據(jù)的獨立性,所謂數(shù)據(jù)獨立,是指存儲在數(shù)據(jù)庫中的數(shù)據(jù)獨立于處理數(shù)據(jù)的所有應(yīng)用程序而存在。也就是說,數(shù)據(jù)是客觀實體的符號化標識,它就是一個客觀存在,不會因為某一項應(yīng)用的需要而改變它的結(jié)構(gòu),因此是獨立于應(yīng)用而存在著的客觀實體。而某一項應(yīng)用是處理數(shù)據(jù)獲取信息的過程,也就是應(yīng)用程序,它只能根據(jù)客觀存在著的數(shù)據(jù)來設(shè)計所需要的數(shù)據(jù)處理方法,而不會去改變客觀存在著的數(shù)據(jù)本身數(shù)據(jù)庫的傳
33、統(tǒng)定義是以一定的組織方式存儲的一組相關(guān)數(shù)據(jù)的集合,主要表現(xiàn)為數(shù)據(jù)表的集合。 1.SQL語句按其功能可以分為如下3大類 (1)數(shù)據(jù)定義語句 DDL ( Data Definition Language) (2)數(shù)據(jù)操作語句 DML (Data Manipulation Language); (3)數(shù)據(jù)控制語句 DCL (Data Control Language)。。 2.學習心得 我做的是住房公積金測算系統(tǒng),剛剛拿到題目完全不知道從那下手,應(yīng)該是第一次做的原因吧!以前只知道上課聽老師講從來沒做過,數(shù)據(jù)庫我認為和生活或者以后的生活沒什么聯(lián)系,所以我平時也就隨便聽聽,但題目一手就知道那是自己一個人的事了,應(yīng)為題目幾乎兩三個人一題,就算是兩三個人一題也得寫的不同,所以剛開始兩天我都沒怎么做,為了看書上的內(nèi)容。 參考文獻 數(shù)據(jù)庫系統(tǒng)概論/王珊 薩師煊 主編——高等教育出版社,2006.5第四版 數(shù)據(jù)庫實用教程/鄭阿奇主編.—北京:電子工業(yè)出版社,2009.1高等學校計算機教材
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 指向核心素養(yǎng)發(fā)展的高中生物學1輪復(fù)習備考建議
- 新課程新評價新高考導(dǎo)向下高三化學備考的新思考
- 新時代背景下化學高考備考策略及新課程標準的高中化學教學思考
- 2025屆江西省高考政治二輪復(fù)習備考建議
- 新教材新高考背景下的化學科學備考策略
- 新高考背景下的2024年高考化學二輪復(fù)習備考策略
- 2025屆高三數(shù)學二輪復(fù)習備考交流會課件
- 2025年高考化學復(fù)習研究與展望
- 2024年高考化學復(fù)習備考講座
- 2025屆高考數(shù)學二輪復(fù)習備考策略和方向
- 2024年感動中國十大人物事跡及頒獎詞
- XX教育系統(tǒng)單位述職報告教育工作概述教育成果展示面臨的挑戰(zhàn)未來規(guī)劃
- 2025《增值稅法》全文解讀學習高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 初中資料:400個語文優(yōu)秀作文標題
- 初中語文考試專項練習題(含答案)