數據庫課程設計報告-自來水管理公司_第1頁
數據庫課程設計報告-自來水管理公司_第2頁
數據庫課程設計報告-自來水管理公司_第3頁
數據庫課程設計報告-自來水管理公司_第4頁
數據庫課程設計報告-自來水管理公司_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據庫課程設計系統開發報告課程名稱: 自來水公司收費管理系統 專 業: 數字媒體技術 班 級: 2013級 小組成員: 指導教師: 1 目 錄一 緒論·····································

2、83;········1l 前言 ········································

3、83;·1l 寫給老師·······································1l 小組分工·······&

4、#183;·······························2二 自來水收費管理系統概述················

5、;············3l 現狀分析····································

6、3;··3l 系統目標·······································3l 系統特點······&#

7、183;································4l 系統運行截圖················

8、;···················5三 自來水收費管理系統數據庫設計·····················14l 需求分析 ·····

9、83;································14l 數據庫物理結構分析 ···············&

10、#183;············16l 數據庫概念結構設計 ····························20l 數據庫邏輯結構設計····

11、3;························22四 自來水收費管理系統數據庫功能模塊的創建···········24五 總結··········

12、;···································33l 體會··············

13、;·····························33l 參考文獻···················

14、83;···················343一 緒論 1.前言 隨著計算機技術的飛速發展和經濟體制改革的不斷深入,傳統企業管理方法、手段以及工作效率已不能適應新的發展需要,無法很好地完成水費繳納情況管理工作。基于 SQL server數據庫技術建立一個通用自來水收費管理系統,該系統為提供了查詢、增加記錄、刪除等功能,功能比較的齊全,并對水費進行了統計如報表統計等。基本上能

15、滿足管理員和公司的要求。   此次數據庫課程設計的主要設計如下:   原理分析、程序設計過程、程序實現和程序調試以及數據庫的設計,需求分析、概要結構設計、邏輯結構設計、物理結構設計和數據庫的實施和維護。2. 寫給老師本次實踐項目,我們小組花了很多時間去完成,從查閱資料到確立目標,再到實施開發與進行調試,最后系統是能完全運行與使用,其中包括后臺和前臺兩個大部分;因為是第一次進行系統開發,所以難免還有不足之處。在進行答辯時候,已經聽取了老師的一些很有建設性的意見,比如:在水費單表中要把水費單價和用水量加進去。這是一個關鍵點,之前確實沒考慮完善,答辯完了我們又

16、進行了修改,將在實驗報告的后續內容展示,望老師細看并給出寶貴意見。另外,老師建議在界面上不花太多時間,本系統界面較為大方便捷,但是并不比數據庫費時間,因為界面的設計主要知識利用HTML+CSS堆積,而數據庫涉及很多邏輯設計,我們也是花很多時間進行設計和使之正確運行使用。3.小組分工二 自來水收費管理系統概述1、現狀分析 隨著科學技術的發展,社會進步,計算機迅速的發展,自來水收費的方法也日新月異,以前全是由人管理的方法現存在很多的缺點:管理效率低,勞動強度大,信息處理速度低而且準確率也不夠令人滿意。為了提高自來水收費管理效率,減輕勞動強度提高,信息處理速度和準確性;為自來水公司提供更方便、科學的

17、服務項目。為他們提供的一種更先進、科學的服務系統。于是我們便選擇了由計算機來設計一個自來水收費管理系統的方案。讓計算機對自來水收費進行自動管理,自來水公司可以直接在計算機上實現關于自來水的一些信息管理,并能在一定程度上實現自動化。我們在現行系統初步調查的基礎上提出了新系統目標,即新系統建立后所要求達到的運行指標,這是系統開發和評價的依據。2、系統目標 針對在收費過程中出現的各類問題,我對該自來水公司從自身特點出發設計一個自來水收費管理系統,系統主要包含客戶信息管理,用水類型管理,業務員管理,客戶用水信息管理,客戶費用管理和收費登記。3、系統特點 1. 可以存儲眾多用戶及用戶的個人信息,完整而且

18、進行了正確的主鍵和被引用為外鍵; 2. 只需一到二名檔案錄入員即可操作系統,節省人力; 3. 可以迅速查到用戶用水情況及水費繳納情況,用戶對應的每個水費單有標明有已經交費或者未交費,用0和1來表示; 4. 可實現繳費自動化管理,用戶可以進行交費、管理員可以進行扣費,當然前提都是用戶余額足夠; 5. 用戶可以實現充值,并且有充值記錄; 6. 每個用戶有對應一個信用值,若是欠費多次信用值會自動下降; 7. 每個用戶有個人通知,用戶每次訪問系統個人通知時候多會將此事系統時間記錄為用戶最后一次訪問系統的時間,并且一次時間為界點,用以提示未讀信息數量,還有用戶的收件箱數量也會從數據庫中讀出來,即調用co

19、unt; 8. 用戶可以查看水費單和個人信息; 9. 管理員可以實現對用戶情況和整個網站信息的增刪改查 10. 在顯示所有用戶時候用到左連接等功能; 11. 網站主頁發布企業新聞、停水通知和水質監測這三部分的數據,管理員通過后臺進行發布; 12. 網站數據庫存儲的新聞、停水通知、用戶通知和水質監測,每一個單有相應id值,因為單單靠標題來區別每一個信息實不可取的,有可能有的標題一樣,而且那樣查詢起來效率更低,在結合php實現的時候更是不方便查詢;13. 數據庫整體可以正確運行,關聯到很多細節問題和關鍵信息使用,需要細細分析和編寫,系統的界面并 4. 系統運行附圖:(1).網站主頁,右上角有用戶個

20、人中心;下部分有三大通知(2) .三大通知展示(3) .個人中心(4) .進行充值和進入消息中心查看,會進行數據庫修改,發現充值記錄增加了,并且消息的未讀提醒也會失去(5) .用戶嘗試自己進行充值,執行成功截圖(7) .用戶登錄界面展示(8) .用戶注冊界面展示(9).后臺管理展示(10).嘗試對用戶ueser1進行交費,執行成功(11).嘗試修改用戶李四的信息,將其地址改為“北山街道”,執行成功(12) .將水費單進行修改后的界面,增加了用水量和單價兩個字段(13) .數據庫代碼截圖(后附代碼),一共十張表用戶表用戶與個人消息的映射中繼表用戶水費表更多功能和數據庫將附上代碼。三 自來水收費管

21、理系統數據庫設計1、 需求分析 1. 界面友好,功能和流程清晰,容易上手; 2. 具有比較完善的統計和查詢功能,支持自定義打印,支持 報表樣式; 3. 用戶水表狀態信息顯示,對于該戶正常、停止、檢修、銷 戶等信息 可以分類體現; 4. 支持多種收費方式,以現金交納、預存費用為主,實現對 保底消費的設臵,對于費用中的找零管理,對于批量收費的實現、減免優惠等; 5. 可以支持發票打印(針式打印機),根據水站統一發票樣式 打印內容 6. 數據的自動和手動備份、支持數據表的直接導入并可生成 報表樣式; 7. 可打印繳費、欠費通知單 該工資管理系統主要是由客戶信息管理、業務員管理、用水類型管理、客戶費用

22、管理、客戶用水信息管理、收費登記幾個部分組成的。 (1)客戶信息管理功能分為開戶、修改客戶信息、注銷客戶信息、查詢水費、查詢個人余額、查詢通知、查看個人信用值、查詢充值記錄等。 (2)業務員管理功能制定了業務員可以對客戶、網站公示等諸多信息進行修改,在后臺界面進行。 1. 修改用戶信息:客戶姓名、聯系方式、住址、刪除與否、欠費繳費、信用值等的修改。 2. 發布網站信息:包括企業新聞、停水通知、水質發布等。3.業務員本身也有一個表存儲其信息,在進行后臺管理需要用到。 4. 查詢業務員信息:顯示業務員的基本信息。 (3)收費單登記功能包括收費標志,即是否已經繳費,包括客戶id,收費單ID,日期,金

23、額,收費單說明等信息。 (4)客戶充值記錄會記錄到數據庫中。1.增加客戶充值記錄:新增一條客戶用水信息包括客戶號、日期、金額、充值說明等信息。 2.讀出客戶充值記錄:按照充值日期,從大到小的順序讀出并顯示。 (5)客戶個人公告涉及3個表,分別是(1).客戶信息表(client)(2).公告存儲表(notice)(3).客戶與公告對應表(clieng_notice)1.由于公告是多對多的原因。2.每次進入個人中心,從數據庫讀出客戶未查看過的信息,未查看數量會以紅色字體提示。3.查詢代碼涉及三個表。4.客戶與公告對應表包括用戶id和公告id,都是外鍵。(6)停水通知和企業新聞包括日期、內容、文章或

24、公告的ID、標題等信息。2、數據庫物理結構分析2.1 設計策略由于該系統主要用于自來水的收費管理,其中客戶的管理,業務員的管理,客戶的用水管理是主要功能,所以應用程序主要就是實現這幾個功能。2.2 系統總體結構圖 水費單客戶ID水費單ID金額說明日期是否欠費 客戶客戶 ID客戶姓名客戶地址聯系電話客戶余額客戶密碼信用值姓名年齡住址業務員聯系電話密碼 充值記錄日期金額說明客戶ID業務員編號2.3 數據字典(1) 數據項客戶表字段名數據類型可否為空鍵引用備注client_idint(11)否主鍵客戶IDclient_namechar(50)否不重復客戶姓名client_passwordchar(5

25、0)否客戶密碼client_creditchar(4)可信用值client_addresschar(30)否客戶地址client_contactchar(20)否聯系方式client_walletfloat可客戶金額業務員表字段名數據類型可否為空鍵引用備注staff_idint(11)否主鍵業務員IDstaff_namechar(20)否業務員姓名staff_passwordchar(20)否業務員密碼staff_ageint(3)否業務員年齡staff_addresschar(20)否業務員地址staff_contactchar(20)否聯系方式水費單字段名數據類型可否為空鍵引用備注clie

26、nt_id int(11)否主鍵/外鍵客戶IDcost_id int(11)否主鍵水費單IDnotechar(50)否說明amountint(11)否金額timedate否日期ifpayint(11)否是否欠費(默認0其中0為未欠費1為欠費)pricefloat否單價quantityfloat否用水量充值記錄表字段名數據類型可否為空鍵引用備注client_idint(11)否主鍵/外鍵客戶IDtimedate否日期amounfloat否金額notechar(40)可說明客戶公告表字段名數據類型可否為空鍵引用備注notice_idint(11)否主鍵公告IDtimedate否日期headline

27、char(35)否標題contenttext 否內容客戶與客戶公告對應表字段名數據類型可否為空鍵引用備注client_idint(11)可主鍵/外鍵客戶IDnotice_idint(11可主鍵外鍵公告ID企業新聞表字段名數據類型可否為空鍵引用備注notice_idchar(20)否主鍵通知IDnotice_headlinechar(40)否通知 標題notice_contenttext否通知內容notice_timedate否通知時間停水通知表字段名數據類型可否為空鍵引用備注stop_idint(11)否主鍵停水通知IDstop_timedate否停水時間locationchar(30)否停水

28、地區contenttext否停水內容(2) 數據結構 編號數據結構名屬性1客戶表客戶ID,客戶密碼,客戶姓名,客戶地址,聯系方式,客戶余額,信用值2業務員表業務員ID,業務員密碼,業務員姓名,業務員年齡,業務員地址,聯系方式3水費單表客戶ID,水費單ID,說明,金額,日期,是否欠費4充值記錄表客戶ID,日期,金額,說明5客戶公告表公告ID,日期,標題,內容6客戶與客戶公告對應表公告ID,客戶ID7企業新聞表通知ID,通知標題,通知內容,通知時間8停水通知表停水通知ID,停水時間,停水地區,停水內容3、數據庫概念結構設計數據庫概念設計是整個數據庫設計的關鍵。根據用戶需求設計數據庫的概念,數據模型

29、。我們首先要將現實世界中的客觀對象首先抽象為不依賴任何具體機器的信息結構,這種信息結構不是DBMS支持的數據模型,而是概念級模型。然后再把概念模型轉換為具體機器上DBMS支持的數據模型。概念模型是對現實世界的抽象和概括。它真實,充分地反映了現實世界中的事物和事物之間的聯系,能滿足用戶對數據的處理要求。由于其簡潔、明晰、獨立于機器,很容易理解,因此可以用概念模型和不熟悉計算機的用戶交換意見,使用戶能積極參與數據庫的設計工作。概念模型易于變動,還很容易向各種數據模型轉換。概念模型的基本概念涉及的主要有7個,分別為實體、屬性、碼、域、實體型、實體集、聯系。ER圖是概念模型最常用的表示方法,在ER圖中

30、:1)用長方形表示實體型,在框內寫上實體名。2)用菱形表示實體間的聯系,菱形框內寫上聯系名,用無向邊把菱形分別與有關實體相連,在無向邊旁標上聯系的類型。若實體間的聯系也具有屬性,則把屬性和菱形也用無向邊連上。客戶密碼 客戶實體關系圖(圖1)客戶姓名客戶 ID 客戶地址 客戶 聯系電話客戶余額信用值 業務員實體關系圖(圖2)密碼住址年齡姓名業務員 聯系電話業務員編號 水費單實體關系圖(圖3)客戶ID金額水費單ID 水費單說明是否欠費日期 充值記錄實體關系圖(圖4) 充值記錄日期金額說明客戶ID 334、數據庫邏輯結構設計 4.1 根據上述概念模型設計得出的ER圖和數據字典,我們可以得出系統中涉及

31、的主要實體有8個,其結構如下:編號數據結構名屬性1客戶表客戶ID,客戶密碼,客戶姓名,客戶地址,聯系方式,客戶余額,信用值2業務員表業務員ID,業務員密碼,業務員姓名,業務員年齡,業務員地址,聯系方式3水費單表客戶ID,水費單ID,說明,金額,日期,是否欠費4充值記錄表客戶ID,日期,金額,說明5客戶公告表公告ID,日期,標題,內容6客戶與客戶公告對應表公告ID,客戶ID7企業新聞表通知ID,通知標題,通知內容,通知時間8停水通知表停水通知ID,停水時間,停水地區,停水內容4.2 實體間的聯系自來水收費管理系統中實體之間有4個聯系,其關系如下: 1、業務員和客戶的關系是1:N,1個業務員可以有

32、多個客戶。 2、客戶和水費單的關系是1:N,每個客戶可以有幾張水費單. 3、客戶和充值記錄的關系是1:N,每個客戶可以有幾次充值記錄。 4、客戶與客戶公告的關系是1:1,1條客戶公告對應1個客戶。根據以上邏輯結構分析我們可以知道:一個業務員有多個客戶,每個客戶可以有幾張水費單,同時客戶也能充值多次金額,而每條客戶公告只對應一個客戶。四、 員工薪資管理系統數據庫功能模塊的創建1 建立員工表,工資表,科室表-USE ygxz-GO-CREATE TABLE 科室-(部門代碼k char (10) PRIMARy KEY,- 部門名稱char (30) NOT NULL)-GO -CREATE TA

33、BLE 員工-(員工工號y char (10) PRIMARy KEY,- 姓名y char(10) not null,- 性別 char(2) constraint Y3 check (性別in ('男','女'),- 出生日期datetime,- 部門代碼y char (10)foreign key (部門代碼y) references 科室(部門代碼k), - 職業char (20)-GO-CREATE TABLE 工資-(- 員工工號g char (10)primary key ,-constraint Y1 check (員工工號g between &

34、#39;1110000' and '1111111'),-foreign key(員工工號g) references 員工(員工工號y),- 姓名g char(10),- - 基本工資money,- 福利補貼money,- 獎勵工資money,- 失業保險money,- 住房公積金money,- 日期datetime ,- constraint c1 check (基本工資+福利補貼+獎勵工資-失業保險-住房公積金<=3000)-GO 2 錄入員工表,工資表,科室表的數據然后查詢表USE ygxzGOINSERT 科室VALUES('0001',&

35、#39;經理室')INSERT 科室VALUES('0002','財務科')INSERT 科室VALUES('0003','技術科')INSERT 科室VALUES('0004','銷售科')GO SELECT *FROM 科室USE ygxzGOINSERT 員工VALUES ('1110001','張毅','男','1991-01-01','0003','工程師')GOINSERT 員工VAL

36、UES ('1110002','張爾','男','1991-02-01','0003','工程師')INSERT 員工VALUES ('1110003','張三','男','1991-02-02','0003','助理工程師')INSERT 員工VALUES ('1110004','李四','女','1991-04-02','0003

37、','助理工程師')NSERT 員工VALUES ('1110005','李夢','女','1992-04-02','0003','助理工程師')INSERT 員工VALUES ('1110006','李飛','女','1991-04-02','0002','會計')NSERT 員工VALUES ('1110007','王夢','女'

38、,'1992-04-02','0002','助理會計')NSERT 員工VALUES ('1110008','邢夢','女','1992-04-02','0002','助理會計')INSERT 員工VALUES ('1110009','武陽','男','1992-05-02','0002','助理會計')INSERT 員工VALUES ('11100

39、10','無雙','男','1993-05-02','0001','副經理')INSERT 員工VALUES ('1110011','霸氣','男','1992-05-02','0001','秘書')SELECT *FROM 員工USE ygxzGOINSERT 工資VALUES ('1110001','張毅','2000','200','3

40、00','100','240','2013-05-15')INSERT 工資VALUES ('1110002','張爾','2000','200','300','100','240','2013-05-15')INSERT 工資VALUES ('1110003','張三','1800','200','200','100'

41、;,'240','2013-05-15')INSERT 工資VALUES ('1110004','李四','1800','200','200','100','240','2013-05-15')INSERT 工資VALUES ('1110005','李夢','1800','200','200','100','240','

42、;2013-05-15')INSERT 工資VALUES ('1110006','李飛','2500','200','400','100','240','2013-05-15')INSERT 工資VALUES ('1110007','王夢','2100','200','400','100','240','2013-05-15')INS

43、ERT 工資VALUES ('1110008','邢夢','2100','200','400','100','240','2013-05-15')INSERT 工資VALUES ('1110009','武陽','2100','200','400','100','240','2013-05-15')INSERT 工資VALUES ('1

44、110010','無雙','2700','100','300','200','240','2013-05-15')INSERT 工資VALUES ('1110011','霸氣','2000','200','400','100','140','2013-05-15')INSERT 工資VALUES ('1110012','吳淑敏

45、','2200','200','400','100','240','2013-05-15')INSERT 工資VALUES ('1110013','吳飛揚','2250','100','400','100','240','2013-05-15')INSERT 工資VALUES ('1110014','邢小迪','2750

46、9;,'200','400','100','440','2013-05-15')INSERT 工資VALUES ('1110015','朱鴻儒','2100','200','300','100','240','2013-05-15')INSERT 工資VALUES ('1110016','熊朝輝','2100','200',&

47、#39;300','100','240','2013-05-15')INSERT 工資VALUES ('1110017','吳飛揚','2100','200','300','100','240','2013-05-15')INSERT 工資VALUES ('1110018','楊亞迪','2140','200','300','

48、100','240','2013-05-15')INSERT 工資VALUES ('1110019','李敏','2100','200','300','100','240','2013-05-15')INSERT 工資VALUES ('1110020','郭佳','2440','200','300','100','240

49、9;,'2013-05-15')GO SELECT * FROM 工資3 運用觸發器刪除表中的信息create trigger del_ygon 員工instead of deleteasbegindelete 工資where 員工工號g in (select 員工工號y from deleted) delete 員工where 員工工號y in (select 員工工號y from deleted) end delete 員工where 員工工號y='1110003'goSELECT *FROM 工資 SELECT *FROM 員工I4 視圖查詢表中的信息cr

50、eate view Y01( 員工工號y,姓名y,性別,職業,部門名稱,出生日期,基本工資,福利補貼,獎勵工資,失業保險,住房公積金)asselect 員工工號y,姓名y,性別,職業,部門名稱,出生日期,基本工資,福利補貼,獎勵工資,失業保險,住房公積金from 員工,工資,科室where 員工工號y=員工工號g;查詢職工總人數select count(distinct 員工工號y) 職工總人數from Y01-查詢部門總數-select count(distinct 部門名稱) as 科室-from y015 存儲過程的創建1)、創建存儲過程查詢每個員工的實際發放工資USE ygxzGOCREATE PROCEDURE 員工工號y_實際工資員工工號y char(10)='%'ASBEGIN SELECT 員工工號y,姓名y,部門代碼y,職業,基本工資+福利補貼+獎勵工資-失業保險-住房公積金as 實際工資,日期FROM 員工,工資WHERE員工工號y=員

溫馨提示

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

評論

0/150

提交評論