圖書館管理系統資料庫課程設計
① 200分2天內求大學本科資料庫課程設計!急!急!
一、課程設計的內容
本課程設計要採用本課程中學習的資料庫設計方法,運用其基本思路與主要圖表工具完成「企業報刊訂閱管理系統」資料庫應用系統。完成信息需求分析與資料庫的概念設計、邏輯設計、物理設計以及處理功能設計,用sql Sever的資料庫管理系統、JSP開發工具實現該系統,並運行、評價、改進之;在此基礎上嚴格按課程設計教學大綱所附報告提綱撰寫課程設計報告。通過本課程設計進一步弄懂資料庫系統及其相關的基本概念,理解資料庫系統的系統結構、主要特點,掌握資料庫設計的原理、方法及其基本過程,初步具備資料庫應用設計的能力,初步形成運用資料庫應用系統解決管理決策中的實際問題的基本素質。
二、課程設計的要求與數據
要求學生結合所學管理知識,在借鑒課堂教學案例、了解家人或親友所從事的業務及其流程的基礎上,參考有關資料,選擇自己了解的一項業務,運用課堂所學資料庫系統與資料庫設計知識,完成信息需求分析、資料庫概念設計、邏輯設計、物理設計,實現完成該業務的資料庫應用系統,並運行、評價改進之,最後要寫出課程設計報告。
三、課程設計應完成的工作
要求學生按照《資料庫應用課程設計》教學大綱完成一個資料庫應用系統,並撰寫相應的課程設計報告,主要內容包括:
概述:系統的基本任務,主要業務,開發目標
1. 需求分析
2. (資料庫)概念(模型)設計
3. (資料庫)邏輯(模型)設計
4. 資料庫物理設計與資料庫保護設計
5. 處理功能設計
6. 資料庫應用系統的實現
7. 資料庫應用系統運行
四、課程設計進程安排
序號 設計各階段內容 地點 起止日期
五、應收集的資料及主要參考文獻
[1] 王 珊、陳 虹編著,資料庫系統原理教程,清華大學出版社,2003.
[1] 金銀秋主編,資料庫原理與設計,科學出版社,2000.
[2] 李建中 王珊,資料庫系統原理,電子工業出版社,1998.
[3] 李大友,資料庫原理及應用(第二版),清華大學出版社,2000
發出任務書日期: 年 月 日 指導教師簽名:
計劃完成日期: 年 月 日 基層教學單位責任人簽章:
主管院長簽章:
目錄
概述 …………………………………………………………………4
1. 需求分析…………………………………………………………4
1.1用戶需求……………………………………………………………………4
1.2業務流程分析………………………………………………………………4
1.3信息需求分析………………………………………………………………5
1.4功能需求分析………………………………………………………………6
2. (資料庫)概念(模型)設計…………………………………7
3. (資料庫)邏輯(模型)設計…………………………………9
3.1 一般邏輯模型設計…………………………………………………………9
3.2 具體邏輯模型設計…………………………………………………………9
4. 資料庫物理設計與資料庫保護設計…………………………10
4.1設計索引……………………………………………………………………10
4.2 設計表間關系………………………………………………………………10
4.3完整性設計…………………………………………………………………10
5. 處理功能設計…………………………………………………11
6. 資料庫應用系統的實現………………………………………11
7. 資料庫應用系統運行…………………………………………11
7.1 寫出系統操作使用的簡要說明……………………………………………11
7.2 系統實施過程………………………………………………………………11
7.3系統使用結果………………………………………………………………22
7.4系統評價……………………………………………………………………31
企業報刊訂閱管理系統
概述
隨著社會不斷的發展,人們的生活水平越來越高,對知識的和對時事的渴求也越來越高,人們希望能夠方便快捷地訂閱各種報刊雜志。但是各種各樣的報刊名目和詳細信息以及訂閱,為相關企業的管理造成很大的麻煩。因此網上訂閱成為不可或缺的一部分。
本系統就是面向一個企業的報刊訂閱管理系統。此系統是一種比較智能化的管理系統,它面向所有企業部門的職工用戶,但具有比較高的安全性能。它能夠實現報刊訂閱的基本功能,包括新報刊信息的錄入、訂閱、查詢等操作以及後台資料庫的備份和恢復。用戶合法注冊後必須輸入有效密碼才能成功進入此系統,可以進行訂閱報刊,查詢信息,統計信息等操作。對於非法操作,系統有識別和防護措施。
1. 需求分析
1.1 用戶需求:
本系統就是面向一個企業的報刊訂閱管理系統。此系統是一種比較智能化的管理系統,它面向所有企業部門的職工用戶,但具有比較高的安全性能。它能夠實現報刊訂閱的基本功能,包括新報刊信息的錄入、訂閱、查詢等操作以及後台資料庫的備份和恢復。用戶合法注冊後必須輸入有效密碼才能成功進入此系統,可以進行訂閱報刊,查詢信息,統計信息等操作。對於非法操作,系統有識別和防護措施。
訂閱信息處理的特點是訂閱信息處理量比較大,所管理的信息信息種類繁多,而且訂閱單、編輯單的發生量特別大,關聯信息多,查詢和統計的方式各不相同。因此在管理上實現起來有一定因難。
本系統在設計過程中,為了克服這些困難,需要使程序代碼標准化,軟體統一化,確保軟體的可維護性和實用性;刪除不必要的管理冗餘,實現管理規范化、科學化;界面友好、簡單化,做到實用、方便,盡量滿足報刊訂閱中員工的需要。
1.2 業務流程分析:
本系統主要面向的用戶有系統管理員、讀者。下面分角色對該系統的不同操作范圍做說明。
本系統主要有以下功能模塊:
(1)登陸功能:登陸系統為身份驗證登錄。分為管理員登錄和一般用戶登錄。分別通過不同的用戶名和密碼進入報刊訂閱管理界面,新的用戶需要注冊。
(2)錄入新信息功能:對於管理員,包括新用戶信息和新報刊信息的錄入功能,信息一旦提交就存入到後台資料庫中;普通用戶自行注冊進行可以修改個人信息。
(3)訂閱功能:用戶可以訂閱報刊,系統自動計算所需金額,並顯示在界面上;管理員不可訂閱報刊,必須以用戶身份訂閱報刊。
(4)查詢功能:用戶可以查詢並顯示自己所訂閱的信息;管理員可以按人員、報刊、部門分類查詢。查詢出的信息顯示在界面上,並且可以預覽和列印出結果。
(5)統計功能:管理員可以按用戶、部門、報刊統計報刊的銷售情況,並對一些重要的訂閱信息進行統計;普通用戶可以統計出自己的訂閱情況,並且可以預覽和列印出結果。
(6)系統維護功能:數據的安全管理,主要是依靠管理員對資料庫里的信息進行備份和恢復,資料庫備份後,如果出了什麼意外可以恢復資料庫到當時備份的狀態,這提高了系統和數據的安全性,有利於系統的維護。
下圖為該系統的業務流程圖
1.3 信息需求分析
1.3.1 資料收集:業務流程中用到的相關單據主要是報刊信息還有訂單信息
報刊信息表:
報刊代號 46-250 報刊名稱 IT時代周刊
出版報社 科技出版社
出版周期 半月刊
每月定價 10.00 元/月
分類編號 1001
報刊介紹 《IT時代周刊》是一本深刻解讀信息時代商業變革的雜志。除深度報道信息產業的重大新聞外,還報道金融、汽車、股市、零售等傳統行業利用IT提升商業與管理的新聞。《IT時代周刊》以調查見深度;以商業故事見功力。是CEO/CIO/CFO以及政府官員、商業領袖首選刊物。
訂單信息表:
訂單編號 報刊代號 用戶編號 訂閱日期 訂閱月數 份數 操作
3003 46-205 3206 2008-7-1 訂一月 1 取消訂閱
3004 26-306 3108 2008-7-8 訂半年 2 取消訂閱
3005 72-310 3100 2008-7-9 訂一年 1 取消訂閱
3006 45-214 2541 2008-7-10 訂一季 1 取消訂閱
1.3.2 事項分析:根據以上資料中標題、表頭等中各欄目名,可以得出相關事項,作為數據項;分析這些數據項,找出組合項、導出項、非結構化數據項,確定基本項。檢查是否有要補充的基本數據項,是否有要改進的地方,補充改進之,得出所有基本項。
1.4 功能需求分析:
本系統的主要結構功能圖如下:
2. (資料庫)概念(模型)設計
基本項構思ERD的四條基本原則:
①原則1 (確定實體):能獨立存在的事物,例如人、物、事、地、團體、機構、活動、事項等等,在其有多個由基本項描述的特性需要關注時,就應把它作為實體。
②原則2 (確定聯系):兩個或多個實體間的關聯與結合,如主管,從屬,組成,佔有,作用,配合,協同等等,當需要予以關注時,應作為聯系。實體間的聯系可分為一對一、一對多、多對多等三類,在確定聯系時還要確定其類型。
③原則3 (確定屬性):實體的屬性是實體的本質特徵。實體應有標識屬性(能把不同個體區分開來的屬性組),並指定其中一個作為主標識。聯系的屬性是聯系的結果或狀態。
④原則4(一事一地):信息分析中得到的基本項要在且僅在實體聯系圖中的一個地方作為屬性出現。
經過上述系統功能分析和需求總結,設計如下面所示的數據項和數據結構。
管理員表(Adminuser):用於存放管理員的數據記錄,包括數據項:管理員名、密碼。
部門表(Department):用來存放部門的相關記錄,包括數據項:部門號,部門名。
用戶表(Users):用於存放注冊用戶的記錄,包括數據項:用戶賬號、密碼、真實姓名、身份證號、聯系電話,聯系地址,部門號(和部門表有關)等。
報刊類別表(NewspaperClass):用於存放初始的報刊類別記錄,包括數據項:分類編號、分類名稱。
報刊信息表(Newspaper):用於存放報刊記錄,包括數據項:報刊代號、報刊名稱、出版報社、出版周期、季度報價、內容介紹、分類編號(和報刊類別表有關)等。
訂單表(Order):用於存放用戶下達的訂閱報刊的基本信息,包括數據項:訂單編號、用戶編號(用戶表的主碼)、報刊代號(報刊信息表的主碼)、訂閱份數、訂閱月數等。
根據上面的設計規劃出來的實體有部門實體、管理員實體、用戶實體、報刊類別實體、報刊信息實體和訂單實體。
部門實體的E-R圖如下圖所示: 管理員實體的E-R圖如下圖所示:
用戶實體的E-R圖如下圖所示: 報刊信息實體的E-R圖如下圖所示:
訂單實體的E-R圖如下圖所示: 報刊類別實體的E-R圖如下圖所示:
所有實體之間的的關系E-R圖如下圖所示:
3. (資料庫)邏輯(模型)設計
3.1 一般邏輯模型設計:
關系模型的邏輯結構是一組關系模式的集合。將E-R圖轉換為關系模型就是要將實體型、實體的屬性和實體型之間的聯系轉換為關系模式。
由ERD導出一般關系模型的四條原則;
①一個1:1聯系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合並。如果軟換為一個獨立的關系模式,則與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,每個實體的碼均是該關系的候選碼。如果與某一端實體對應的關系模式何明,則需要在該關系模式的屬性中加入另一個關系模式的碼和聯系本身的屬性。
②一個1:n聯系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合並。如果轉換為一個獨立的關系模式,則與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,而關系的碼為n端實體的碼。
③一個m:n聯系轉換為一個關系模式。與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,各實體的碼組成關系的碼或關系碼的一部分。
④3個或3個以上實體間的一個多元聯系可以轉換為一個關系模式。與該多元聯系項鏈呢的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,各實體的碼組成關系的碼或關系碼的一部分。
根據以上原則將E-R圖轉換成的關系模式如下:
部門(部門號,部門名稱)
用戶(用戶賬號,密碼,用戶真實姓名,聯系電話,聯系地址,部門號)
管理員(管理員名,密碼)
報刊類別(分類編號,分類名稱)
報刊(報刊代號,報刊名稱,出版報社,出版周期,每月訂價,內容介紹,分類編號)
訂單(用戶編號,報刊代號,訂閱份數,訂閱月數,訂閱總額)
3.2 具體邏輯模型設計:
在SQL Server2000資料庫中,首先創建newspaper資料庫,然後根據資料庫的邏輯結構分析創建表4-1━4-6的6張數據表。在前台訪問資料庫階段設置了用戶和密碼,用戶為sa,密碼為空。
表4-2 department部門表結構
欄位名稱 欄位類型 允許空 說明
depNumber(主碼) Char(10) 否 部門號
depName Char(50) 是 部門名稱
表4-3 users用戶表結構
欄位名稱 欄位類型 允許空 說明
userNo(主碼) Char(10) 否 用戶帳號
userName Char(20) 是 真實姓名
passWord Char(10) 否 用戶密碼
address Char(150) 是 用戶聯系地址
phone Char(20) 是 用戶聯系電話
depNumber Char(10) 否 用戶所屬部門號
表4-3 newspaperClass報刊分類表結構
欄位名稱 欄位類型 允許空 說明
classid(主碼) Int(4) 否 報刊分類編號
className Char(30) 是 報刊分類名稱
表4-4 newspaper報刊表結構
欄位名稱 欄位類型 允許空 說明
newsNo(主碼) Char(10) 否 報刊代號
newsName Char(40) 否 報刊名稱
classid Int(4) 否 報刊分類編號
publish Char(150) 是 出版報社
pubPeriod Char(30) 是 出版周期
content Char(4000) 是 內容介紹
price Float(8) 否 每月報價
表-6 book訂單表結構
欄位名稱 欄位類型 允許空 說明
userNo(主碼) Char(10) 否 用戶帳號
newsNo(主碼) Char(10) 否 報刊代號
orderAmount Int(4) 否 訂閱份數
orderMonth Int(4) 否 訂閱月數
totalPrice Float(8) 是 訂閱總額
表4-1 adminuser管理員表結構
欄位名稱 欄位類型 允許空 說明
adminUser(主碼) Char(20) 否 管理員用戶名
adminPass Char(10) 否 管理員密碼
4. 資料庫物理設計與資料庫保護設計
4.1設計索引:我們可以在最經常查詢的列上建立索引以提高查詢效率。
而在這個系統中,我們經常要按用戶賬號,按報刊代號,按部門查詢,所以,我們可以為這三個表建立索引,建立所以的SQL語句如下,這幾個都是字元型
Create unique index userNum on users(userNo)
Create unique index departNum on department(depNumber)
Create unique index newsNum on newspaper(newsNO)
4.2 設計表間關系:
4.3完整性設計列出主要欄位完整性的欄位名、完整性約束條件;列出記錄完整性約束及其約束條件;列出參照完整性表。
主要欄位的完整性欄位名和參照完整性表可以參照上圖各個表之間的關系來看。
比如建立報刊表newspaper時,要求報刊代號在100~99999之間,報刊名稱和每月定價不能取空值,報刊類別是報刊類別表的主鍵,則
Create table user
(userNo char(10) constraint C1 check(newsNo between 100 and 99999),
newsName char(40) constraint C2 not null,
classid int(4) constraint C3 not null,
publish char(150),pubPeriod char(30),content char(4000),
price float(8) not null,
constraint C4 foreign key(classid) references newspaperclass(classid) )
4.4在有多個用戶操作時,考慮用戶授權與安全性控制。
因為這個報刊訂閱系統由多個用戶使用,分為管理員和用戶,他們擁有不同的許可權和安全性控制。所以在許可權設置方面,採用管理員和用戶分別使用用戶名和密碼進入他們能使用許可權范圍里的界面。管理員登陸系統後,可以添加、修改用戶和報刊的信息,可以對訂單進行查詢和統計,並且可以把查詢統計的結果進行預覽和列印出來,還要對資料庫系統進行維護,適時備份資料庫,一旦資料庫遇到問題,可以恢復到最近備份的狀態,減少不必要的損失。
用戶登錄,用戶使用該系統前需要進行注冊,他應該是該企業某個部門下面的員工,所以他需要輸入他的部門號等信息,注冊成功後,登錄到系統,可以修改自己的信息還有訂閱報刊,但由於許可權的限制,他只能查看和統計自己的訂單信息。
5. 處理功能設計
5.1 主控模塊設計:
使用本系統,首先它會自動彈出「歡迎使用本系統」的歡迎界面,然後跳轉到用戶身份驗證界面,選擇管理員的身份進入,有錄入(錄入報刊信息、錄入用戶信息),查詢,統計(統計用戶、統計、報刊訂單),系統維護(備份資料庫、恢復資料庫),注銷,退出等菜單可使用,沒注冊的用戶可進入注冊界面進行注冊,然後返回登錄界面登錄,進入後有歡迎界面,有訂閱、查詢、統計、修改、注銷、退出等菜單可使用。
6. 資料庫應用系統的實現
6.1 資料庫及其表結構的建立:按照上面的邏輯分析見表
6.2數據輸入:在建好的各個表中輸入數據,要符合數據的約束條件
7. 資料庫應用系統運行
7.1 寫出系統操作使用的簡要說明
本系統的運行需要安裝PowerBuilder9.0和SQL Server2000軟體。操作該系統,首先把備份的資料庫還原出來,導入SQL Server中,然後打開該系統,連接上還原出來的資料庫,再運行,就可以了。
7.2 系統實施過程
(1)打開PowerBuilder,新建一個工作區,命名為newspaper
(2)新建一個Application,取名newspaper,然後點擊工具欄上的DB Profile,新建一個MSS Microsoft SQL Server,填入Profile Name,伺服器名,用戶名,密碼,資料庫,如下圖,然後輸入連接資料庫的主要代碼:
open(w_welcome)
// Profile newspaper
SQLCA.DBMS = "MSS Microsoft SQL Server"
SQLCA.Database = "newspaper"
SQLCA.ServerName = "CHINA-41CD782EF"
SQLCA.LogId = "sa"
SQLCA.LogPass=""
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
connect;
if sqlca.sqlcode<>0 then
messagebox("錯誤","資料庫連接錯誤,程序將關閉!",stopsign!)
return
end if
close(w_welcome)
open(w_login)
(3)製作登錄頁面w_login,在「確定」按鈕輸入如下:
「注冊」按鈕代碼:open(w_register) //打開用戶注冊頁面
「退出」按鈕代碼:close(w_login) //退出本系統
(4)製作注冊窗口w_register,在「注冊」按鈕的代碼如下:
「取消」按鈕代碼:close(w_register)
open(w_login)
(5)製作管理員主菜單w_adminview,建管理員主界面w_adminview,將該菜單放到窗口中
(6)製作用戶主菜單w_userview,建用戶主界面w_userview,將菜單放到窗口中
(7)製作管理員主菜單里的錄入報刊信息窗口w_inmagazine,錄入用戶信息窗口w_inuser,
製作數據窗口dw_magagrid,dw_magafree,dw_userfree,dw_usergrid,在數據窗口調整好外觀,添加控制項,並設定相應的動作,分別放到這兩個窗口中
這兩個窗口功能相識,在窗口中輸入:
dw_1.settransobject(sqlca)
dw_1.retrieve()
dw_2.settransobject(sqlca)
dw_2.retrieve()
(8)製作管理員主菜單中的查詢訂閱信息窗口w_searchorder,製作數據窗口dw_booksearch,將其放入窗體中,在窗口中輸入代碼:
dw_1.settransobject(sqlca)
dw_1.retrieve()
sle_1.setfocus()
在「查詢」按鈕中輸入代碼:
「預覽」按鈕的代碼:
「關閉」按鈕代碼:close(w_searchorder)
數據窗口欄位如下:
(9)製作管理員主菜單中的統計用戶訂單窗口w_statuser,統計部門訂單窗口w_statdept,統計報刊訂單窗口w_statnews:製作統計數據窗口dw_statnews,dw_statuser,dw_statdept將dw_statnews,dw_statuser,dw_statdept分別放入w_statnews, w_statuser,w_statdept中;以下僅列出按出按部門統計的代碼和界面 (按用戶、報刊統計類似,略);
按部門統計代碼:
窗口代碼:
按部門統計數據窗口:
dw_1.settransobject(sqlca)
dw_1.retrieve()
預覽鍵代碼:(與上頁預覽代碼相同)
退出:close(parent)
(10)管理員主菜單中的更改登錄在w_adminview中的代碼
(11)管理員主菜單中的退出系統在w_adminview中的代碼
(12)管理員主菜單中的資料庫備份窗口w_backup,「開始備份」按鈕的代碼如下
在「>>」按鈕帶輸入代碼:
(13)管理員主菜單中的資料庫恢復窗口w_restore,「開始恢復」按鈕的代碼如下
在「>>」按鈕帶輸入代碼:
在「開始恢復」按鈕輸入代碼:
(14)用戶主菜單的訂閱報刊窗口w_userorder
該系統中定義了一個全局變數gs_userid,其它窗口界面都可以使用該變數,並顯示用戶名,用戶登錄後,它會顯示「~~~~,歡迎使用本系統!」的歡迎界面。
窗口代碼:
dw_1.settransobject(sqlca)
dw_1.retrieve()
sle_1.setfocus()
sle_2.text=gs_userid
「清空」按鈕代碼:
sle_1.text=""
sle_3.text=""
sle_5.text=""
「退出」按鈕代碼:
close(w_userorder)
「訂閱」按鈕代碼:
(14)用戶主菜單的查詢訂單窗口w_usersearch,將訂單查找dw_booksearch放到窗口裡,在窗口中過過濾器篩選中用戶自己的訂單信息,一打開就可以看到自己的訂單信息,可列印和預覽結果
窗口代碼:
「預覽」和「退出」按鈕同上
(15)用戶主菜單的查詢訂單窗口w_userstatis,將用戶統計dw_statuser放到窗口裡,在窗口中過過濾器篩選中用戶自己的訂單信息,一打開就可以看到自己的訂單信息,可列印和預覽結果,窗口代碼如下:
用戶統計dw_statuser數據窗口如下:
「預覽」「退出」按鈕略
(16)用戶主菜單中的修改用戶信息窗口w_usermodify,打開會先顯示出你的信息,而用戶名這一欄是輸入不了的,也就是不能修改用戶名,窗口代碼如下:
「保存」按鈕代碼如下:
(17)用戶主菜單中的更改登錄和退出系統的代碼和管理員的一樣,這里就省略了。
7.3系統使用結果
打開本系統,首先彈出歡迎界面,通常一閃而過,然後到了登錄界面,點擊「注冊」
按確定後,彈出「恭喜,您已注冊成功!」的對話框。如果這時刷新服務管理器,打開SQL Server企業管理器,打開該資料庫的用戶表,就可看到剛才注冊的用戶已經在表中了
然後返回到登陸頁面,輸入剛才注冊到的用戶名和密碼maishning,123456
登錄後,彈出一個窗口,有供用戶使用的菜單,界面顯示「~~~~,歡迎使用本系統」
選擇「訂閱」菜單,在這個訂閱界面,用戶可以瀏覽到所有的報刊信息,要訂閱報刊時,用戶不需輸入用戶名與密碼,只需輸入您要訂閱的報刊代號(該報刊代號必須是報刊表中存在的),訂閱份數(必須是小於8的整數才有效),然後選擇需要訂閱的月數(一月、一季、半年或一年)然後點擊「訂閱」按鈕
訂閱成功後,系統彈出「恭喜!你已成功訂閱該報刊,總金額是~~~~」確定後會顯示出您所訂閱的總額是多少元,按「清空」按鈕後可以訂閱其它報刊(同樣的報刊不可重復訂閱)
再訂閱其它報刊,然後按「退出」按鈕,來到用戶主菜單然後選擇「查詢」菜單,這個數據窗口經過過濾,一打開就直接顯示該用戶過訂閱的訂單,可以進行預覽和列印。
由於許可權的限制,「統計」菜單中的也是只能統計自己訂單信息的數據
在「退訂」報刊菜單中,可以查看自己的訂單,單擊「退訂」然後「保存」即可完成退訂
在「修改」信息菜單中,用戶名也是不可輸入的文本框,即不可修改用戶名,其它信息可以修改,保存後它會自動添加到資料庫中
選擇菜單上的「注銷」,可以用不同的身份進入系統,確定後回到登錄界面
以管理員的身份登錄,用戶名111,密碼111,按登錄按鍵,可看到管理員菜單
選擇菜單欄中的錄入->錄入報刊信息,管理員可以大致瀏覽所有報刊信息,在上面的數據窗口可以查看上一頁和下一頁的具體內容,並且可以對其進行添加,刪除、修改、保存等操作。
錄入用戶信息頁面,基本相似
選擇菜單欄中的「查詢」->「訂單信息」,管理員擁有的許可權可以看到所有的訂單信息
管理員也可以根據需要分別按部門、按用戶、按報刊查詢,比如,要查詢msishning用戶,在文本框中輸入關鍵字,選擇單選按鈕中的「按部門號」,點擊「查詢」,結果如下
可對全部訂單或查詢出來的訂單進行預覽和列印,方便使用
菜單欄中的「統計」菜單有三個子菜單,管理員可以分別統計用戶訂單信息、部門訂單信息和報刊訂單信息, 直接選擇就可看到統計結果,比如選擇「統計用戶訂單信息」
可將統計出來的結果進行預覽和列印,方便使用,其它兩個統計功能相似,略
主菜單中的系統維護->資料庫備份,選擇備份的位置,然後「開始備份」
主菜單中的系統維護->資料庫恢復,選擇之前備份的文件,輸入路徑和資料庫名,然後「開始恢復」
7.4系統評價:
② VFP課程設計 圖書管理系統
可行性分析報告
我們小組的信息系統開塌物發課程設計題目是:圖書管理系統開發。系統開發的總的設計目標是實現圖書管理的系統化、規范化和自動化,實現對圖書資料的集中統一的管理。
本系統主要實現對圖書館信息的管理,主要功能為管理有關讀者,書籍,借閱和管理者的信息等。本系統結構分為讀者信息管理模塊,書籍信息管理模塊,借閱信息管理模塊,管理者信息管理模塊。讀者信息管理部分有兩方面的功能,可以瀏覽讀者的信息,可以對讀者信息進行維護。書籍信息管理可以瀏覽書籍的信息,可以對書籍信息進行維護。借閱信息管理可以顯示當前資料庫中書籍借閱情況,可以對借閱信息進行維護。管理者信息管理可以顯示資料庫中管理者的情況,可以對管理者信息進行維護。可見,本系統並不復雜,主要解決的問題是利用關鍵字對資料庫進行查詢。
背景
近年來,隨著圖書館規模的不斷擴大,圖書數量也相應的增加,有關圖書的各種信息量也成倍增加,面對著龐大的信息量,傳統的人工方式管理會導致圖書館管理上的混亂,人力與物力過多浪費,圖書館管理費用的增加,從而使圖書館的負擔過重,影響整個圖書館的運作和控制管理,因此,必須制定一套合理、有效,規范和實用的圖書管理系統,對圖書資料進行集中統一的管理。
另一方面,IT產業和Internet獲得了飛速發展,計算機應用已滲透到了各個領域,引起信息管理的革命,實現了信息的自動化處理,提高了處理的及時性和正確性。
圖書管理工作面對大量的可模塊化處理的信息,是當今信息革命的一個重要陣地。我們小組開發圖書管理信息系統就是採用現代化的信息管理方式代替手工管理方式,提高圖書管理工作效率,作到信息的規范管理,科學統計和快速查詢,讓圖書館更好的為學校,社會服務。
從以前的手工管理的記錄中我們可以發現這樣的問題:
1.檢索速度慢、效率低
因為圖書館的藏書種類多、數量多,將藏書准確地分門別類,快速檢索,手工進行非常困難往往是終於查到了書的信息,館中沒有此書或已被別人借走。圖書館的規模越大,這個問題越突出。
2.借書、還書工作量大
借書、還書頻率越大,說明圖書館的作用越大,然而隨之而來的大量的借書、 還書登記、實存圖書的更新以及借出圖書超期、遺失等的處理,其工作量之大,往 往是人工操作所難以勝任的。而且經常會出現這樣那樣的差錯。
3.圖書統計工作難、藏書更新不能及時完成。
圖書館的圖書應根據科學技術的發展和教學工作的需要及時添加和更新,然而由於藏書數量及圖書種類越來越多,加上自然損耗,人為破壞,使圖書的統計工作難以及時完成,藏書的更新也就很難有針對性地進行,藏書的知識結構得不到良好地控制。
系統開發的重點與難點
系統出現了一些技術難點大致如下:
1、建立合理的表結構,避免數據冗餘
各表通過特定欄位實現不同表的數據連接,避免數據冗餘,需要設計簡潔高效的表結構。
2、建立相當的系統安全性
登錄用戶身份的驗證機制的設計、操作頁面的許可權保護。
3、建立嚴密的數據表操作機制
同一表有可能在多個模塊中被修改,所以嚴密的數據表操作機制的建立十分比較困難的,但也是必須的。除了設計時必須有相當程度的考慮,在編制時更應加強程序邏輯的可靠性和程序調試的全面性。
可行性分析
1.技術可行性
此次信息系統開發是大學專業知識的一次綜合應用與提高,我們小組可以在主教5樓機房完成系統開發。該機房計算機配置肯定能橋衫攔滿足系統開發的要求。我們小組可以選定兩三台計算機,建立系統開發環境,主要是安裝資料庫工具(MS SQL SERVER 2000),應用程序開發工具( VISUL BASIC 6.0或DELPHI),Office程序組以及網路傳輸工具。
我們小組的部分成員有計算機,配置是Pentium4 1.5G,256M以上內存,80G以上硬碟,可連網。小組成員之間可以通過QQ或電話進行即時交流,協調開發工作,解決開發工作中出現的問題。
就技術力量來說,我們小組可以完成此次開發工作。開發過程中會出現許多問題,有我敏胡們預想之中的,也有一些沒有我們預想到,但,我們有信心克服一切困難。該學期,我們小組各成員已經學習了SQL SERVER,對網路技術和操作系統也有系統的了解,有些成員熟悉計算機原理,能解決常見的硬體故障和硬體選擇。目前,圖書管理信息系統已得到了大量應用,有許多可供參考的成功系統。而且,網上有許多關於VISUL BASIC編程的資料和SQL SERVER方面的資料。 從技術角度考慮,此信息系統開發可行。
2.經濟可行性
目標系統開發需求比較低,加上具有成熟的軟硬體環境,所以在軟硬體的支出上十分有限。而且,目標系統並不是十分的復雜,開發的周期較短,人員經濟支出有限。當系統開發完實際運行後,將很大程度上提高計算機的功能,在為使用者帶來便利的同時,也為系統的進一步推廣創造了條件。這帶來的經濟回報將遠超過支出,並且最重要的一點是該軟體的開發可以給我們對系統的開發有個全面的認識。從經濟角度考慮,此信息系統開發可行。
3. 法律上可行
整個系統由於是自行開發,自行使用,所以系統本身不存在法律上的版權爭議。在伺服器軟體方面,應該使用正版軟體,因為整個系統盡管是開發給內部使用,但它畢竟很多部分還是要依靠Internet的,一旦伺服器連接到Internet上,它的操作系統可能會被Microsoft跟蹤,如果不是正版軟體,將不得不面臨民事訴訟的風險。
結論:
根據以上的可行性研究,我們小組認為開發此系統的條件已經具備,可以開始進行開發。
③ 設計題目:2、圖書信息管理系統設計
圖書館管理信息系統的開發設計
摘要:本應用程序以普通圖書館為開發對象, 採用』 語言為開發平台, 可以完成圖書館管理系統的基本工作, 主要任務是對讀者注冊、圖書信息登記、數據維護、借閱圖書、歸還圖書、查詢信息和報表輸出進行計算機管理。
關鍵詞:圖書館,管理信息系統,開發設計
圖凳戚迅書館在正常運營中總是面對大量的讀者信息、書籍信息以及兩者相互作用產生的借書信息、還書信息。因此需要對讀者資源、書籍資源、借書信息、還書信息進行管理, 及時了解各個環節中信息的變更, 有利於提高管理效率。
目前市面上流行的圖書管理軟體不少。但是,對於企業、事業單位的圖書管理來說, 不需要太大型的資料庫系統。只需要一個操作方便、功能實用、能滿足圖書館日常管理工作需求的系統。我的目標就是在於開發一個功能實用、用戶操作方便、簡單明了的圖書館管理系統軟體。
本應用程序以普通圖書館為開發對象, 可以完成圖書館管理系統的基本工作, 主要任務是對讀者注冊、圖書信息登記、數據維護輸人記錄、修改記錄、刪除記錄、借閱圖書、歸還圖書、查詢信息和報表輸出進行計算機管理。
一、系統需求分析
1、系統目標設計。
通過一個圖書館管理信息系統, 使圖書館的信息管理工作系統化、規范化、自動化, 從而達到提高管理效率的目的。
2、開發設計思想。
本系統的開發設計思想。
系統應符合圖書館信息管理的規定, 滿足圖書館日常管理的工作需要, 並達到操作過程中的棗此直觀、方便、實用、安全等要求系統採用模塊化程序設計方法, 既便於系統功、能的各種組合和修改, 又便於未參與開發的技術維護人員補充、維護
系統應具備資料庫維護功能, 及時根據用戶需求進行數據的添加、刪除、修改、查詢等操作。
3、系統功能分析
書籍信息的輸人、修改, 包括總編號、分類號、單價、書名、作者、出版單位。
書籍信息的查詢, 包括按編號查、按書名查、按作者查, 應當選擇一種方式之後即可顯示出所查圖書的詳細信息總編號、分類號、單價、書名、作者、出版單位。
讀者信息的輸入、修改, 包括借書證號、姓名、性別、職稱、單位、地址
讀者信息的查詢, 包括按借書證號查、按讀者姓名查, 當選擇一種方式之後即可顯示出所查讀者的詳細信息姓名、性別、借書證號、單位、職稱、地址。
借書信息的輸人包括借書證號、總編號、借書日期當前系統日期、應還日期限期為巧天。歸還圖書, 把讀者借書信息借閱記錄從借閱資料庫表中刪除。
報表輸出、包含圖書、讀者、借閱三個報表, 可以完成預覽和列印輸出所有圖書、讀者和借閱記錄的功能。
二、系統總體結構設計
(1)系統功能模塊圖
(2)資料庫設計
資料庫需求分析
在仔細分析調查有關圖書館管理信息需求的基礎上, 得到如圖所示的本系統所處理的數據流程。
針對一般圖書館管理信息系統的需求, 通過對圖書館管理工作過程的內容和數據流程分析, 設計如下面所示的數據項和數據結構。
圖書信息包括的數據項有總編號、分類號、單價、書名、作者、出版單位等。
讀者信息, 包括的數據項有借書證號、姓名、性別、職稱、單位、地址等。
借閱信息, 包括的數據項有借書證號、總編號、借書日期、應還日期等。
(2)資料庫概念結構設計
根據上面的設計規劃出的實體有圖書實體、讀
者實體、借閱實體。
(3)資料庫邏輯結構設計
圖書館管理信息系統資料庫中的各個表格的設
計結果如下面表格所示。每個表格表示在資料庫中
的一個數據表。
圖書表
列名 數據類型 長度
總編號 字元型 6
分類號 字元型 6
單價 數值型 6(含2個小數位)
書名 字元型 40
作者 字元型 40
出版單位 字元型 40
(4)資料庫結構的實現
實現資料庫的邏輯結構有兩種方仔答式一種是直接使用的項目管理器來實現, 一種是利用其資料庫系統中的以之工具實現的。在開發中我採用了第一種方法實現資料庫結構。首先創建項目, 然後創建項目的資料庫, 最後建立數據表。
④ 急求一份完整的資料庫課程設計圖書管理系統(要求用VB 以及SQL-server製作)
1、如果論文頁碼不多,前置部分並不一定要有,或只加個封面即可。
2、封面、標題等不要太花哨,一般以簡潔大方為好。 3、如果論文很厚實,可考慮正反面排版列印。 4、頁碼較多的論文,可考慮用頁眉標注論文標題及層次標題,如單頁用文章標題,雙頁用層次標題。 5、不管論文長短,頁碼均需標注。頁碼標注由正文的首頁開始,作為第1頁,可以標注在頁眉或頁腳的中間或右邊。論文的前置部分、封三和封底不編入頁碼。附件部分一般單獨編排頁碼。 6、封底底色與封面一致為好,若用底圖則與封面應有相關性。 7、若用訂書釘裝訂,兩枚釘應分別居於上下沿四分之一處,左縮進1厘米處
可以發你一份參考
⑤ 求資料庫圖書管理系統課程設計全套
資料庫圖書管理系統課程設計:
1、可以參考網上的一些開源項目,根據別人提供的一些思路,進行開發
2、找身邊的學長,學姐,他們開發過類似的系統
3、請教老師同學,讓他們給你提供一些思路
4、可以參考類似的系統
⑥ 資料庫課程設計心得3篇
資料庫課程設計心得 範文 1: 在我看來,資料庫課程設計主要的目標是利用課程中學到的資料庫知識和技術較好的開發設計出資料庫應用系統,去解決各行各業信息化處理的要求。通過這次的課程設計,可以鞏固我們對資料庫基本原理和基礎理論的理解,掌握資料庫應用系統設計開發的基本 方法 ,進一步提高我們綜合運用所學知識的能力。
當我們這組決定做大學生就業咨詢系統時,我們並沒有著手寫程序。而是大家一起商量這個系統概述、系統目標、系統需求、業務流程分析、數據流程分析和數據詞典。當這些都准備好了之後,我們進行模塊的分工。每個人都有自己的模塊設計,而且寫出來的代碼要求可以實現相應模塊的功能,得到理想的效果。當每個人都把自己的分工做好了,最後會由一個人把這些全部組合搭建在一起。我們使用的是Html和php相互嵌套使用,當一個系統做好了之後,我會好好地把程序都看一遍,理會其中的奧秘。
我所負責的是資料庫的備份和還原還有一些界面的實現。還記得自己剛接觸html的時候,覺得很感興趣,所以有一段時間幾乎到了痴迷的程度。然而Php是我剛接觸不久的一種編程語言。不過覺得它的功能真的很強大,可以開發出很多大型的系統。但是在做備份和還原的時候,要考慮的東西還是很多的。當我遇到錯誤的時候,感到很受打擊。值得欣慰的是,在同學的幫助和大量參考書的查閱下,我把自己的模塊做好了。這就是我收獲最大的地方。而且,我明白了遇到困難永不放棄的重要性,我知道了團隊合作的重要性,我領悟了只有堅持不懈才會取得勝利。
知識的獲得是無止境的,只要你想學,只要你行動,沒有什麼會難倒我們的。回首這一個多星期的課程設計,我很欣慰。因為我有了動力,有了勇氣。謝謝老師對我們的不懈幫助,謝謝學校給了我們這一次實踐的機會,也謝謝組員們的關懷。這些美好的回憶美好的東西將永遠伴隨著我。
資料庫課程設計心得範文2:
一周的課程設計結束了,在這次的課程設計中不僅檢驗了我所學習的知識,也培養了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在設計過程中,和同學們相互探討,相互學習,相互監督。我學會了運籌帷幄,學會了寬容,學會了理解,也學會了做人與處世,這次課程設計對我來說受益良多。
課程設計是我們專業課程知識綜合應用的實踐訓練,著是我們邁向社會,從事職業工作前一個必不少的過程.“千里之行始於足下”,通過這次課程設計,我深深體會到這句千古 名言 的真正含義.我今天認真的進行課程設計,學會腳踏實地邁開這一步,就是為明天能穩健地在社會大潮中奔跑打下堅實的基礎。我這次設計的科目是數據結。
數據結構,是一門研究非數值計算的程序設計問題中計算機的操作對象(數據元素)以及它們之間的關系和運算等的學科,而且確保經過這些運算後所得到的新結構仍然是原來的結構類型。作為一門獨立的課程在國外是從20XX年才開始設立的。20XX年美國唐·歐·克努特教授開創了數據結構的最初體系,他所著的《計算機程序設計技巧》第一卷《基本演算法》是第一本較系統地闡述數據的邏輯結構和存儲結構及其操作的著作。“數據結構”在計算機科學中是一門綜合性的專業基礎課。數據結構是介於數學、計算機硬體和計算機軟體三者之間的一門核心課程。數據結構這一門課的內容不僅是一般程序設計(特別是非數值性程序設計)的基礎,而且是設計和實現編譯程序、 操作系統 、資料庫系統及其他系統程序的重要基礎。
通過這次模具設計,我在多方面都有所提高。
一、編譯工具VisualC++
很多程序在結構上是獨立的,但是本此設計的程序功能不是零散的,它有一個連接是的程序是一個整體,怎樣達到這種統一體呢?因為這個輸出連接是貫穿始終的。說到這,就應該說以下我所應用的調試工具,也就是運行環境VisualC++,可以充分利用Windows的支持剪貼版和英文的特點。正是在實現循環鏈表的程序中充分利用這個特點,才能製作出全漢化的初始化畫面。
二、鞏固和溫習了c語言
在界面設置中使用函數調用while。其中文本顯示顏色和背景顏色都可以任意按照自己的喜好,任意改變,但改變的時候必須採用標准英文大寫,同時在製作顯示菜單的窗口,大小根據菜單條數設計。最後採用printf輸出程序設計界面。
這次的程序軟體基本上運行成功,可以簡單的建立鏈式循環鏈表,並進行輸出,及循環語句的運用和選擇語句的控制。由於時間和知識上的限制,使得程序規模相對較小,即功能還不很全面,應用也不很普遍。原來C語言可是涉及很多知識,而不是枯燥無聊的簡單的代碼部分而已,利用C語言方面的知識,我們可以設計出更完善的軟體。
三、積累了寶貴的 經驗
我這次課程設計代碼中主要使用了鏈表的循環和遍歷這兩中操作。循環鏈表(CircularLinkedList)是單鏈表的另一種形式,它是一個首尾相接的鏈表。其特點是將單鏈表最後一個結點的指針域由NULL改為指向頭結點或線性表中的第一個結點,就得到了單鏈形式的循環鏈表,並稱為循環單鏈表。類似地,還有多重鏈的循環鏈表。在循環單鏈表中,表中所有結點被鏈在一個環上,多重循環鏈表則是將表中的結點鏈在多個環上。為了使某些操作實現起來方便,在循環單鏈表中也可設置一個頭結點。這樣,空循環鏈表僅由一個自成循環的頭結點表示。所謂遍歷(Traversal),是指沿著某條搜索路線,依次對樹中每個結點均做一次且僅做一次訪問。訪問結點所做的操作依賴於具體的應用問題。
這次課程設計我選中的題目是個人資料的管理。編寫了一個可以簡易使用的個人資料管理系統,可以進行資料的輸入和管理。雖然在我的程序中有一部分是從網上搜索得來的,但我已經竭力將所獲得的信息變成自己的資源,動手上機操作,在了解和看懂的基礎上有所改變和創新,但是在的程序軟體中還有部分的不足,需要加以更新。僅管,我並沒能很好的利用所學數據結構的知識,但我也盡了自己最大的努力用我所學來完成這次的課程設計。同時,通過這次課程設計,我認識到了自己動手實踐的弱勢,特別是在編程方面,知道了計算機的實踐操作是很重要的,只有通過上機編程才能充分的了解自己的不足。
四、對以後的學習充滿了信心和期待
通過這次的課程設計,更是讓我深刻認識到自己在學習中的不足,同時也找到了克服這些不足的方法,這也是一筆很大的資源。在以後的時間中,我們應該利用更多的時間去上機實驗,加強自學的能力,多編寫程序,相信不久後我們的編程能力都會有很大的提高能設計出更多的更有創新的作品。
資料庫課程設計心得範文3:
資料庫課程設計大賽的塵囂漸漸遠去,懷著對這次大賽的些許不舍,懷著對當初課程設計開始時候的豪情萬丈的決心的留戀,懷著通過這次課程設計積累的信心與鬥志,我開始寫這篇 文章 ,為自己的足跡留下哪怕是微不足道但是對自己彌足珍貴的痕跡並期望與大家共勉。
首先,讓我的記憶追溯到大二暑假,在老大的指引下(老大勸我學asp.net),我接觸到microsoft 公司的.net產品。那個時候我已經學過vc和asp,因為windows程序設計實驗的課的關系,接觸過vb,但是沒有專門去學他,因為習慣了c++裡面的class,int,覺得vb的sub,var 看著就不是很順心。我是一個好奇心很強的人,突然看到了一個號稱“.net是用於創建下一代應用程序的理想而又現實的開發工具”,而且主推c#語言,由於對c語言的一貫好感,我幾乎是立刻對他產生了興趣。我就開始了對c#的學習,任何語言都不是孤立存在的,所以數據交互是很重要的,暑假的時候我把我們這學期的課本資料庫系統概論看了一遍。我記得以前用c語言編程的時候,數據是在內存中申請空間,譬如使用數組等等。很耗費內存空間。這個時候就是資料庫站出來的時候啦,於是我又裝上了sql server2000,以前學asp的時候用的是access,那個時候只是照著人家做,理論是什麼也不是很清楚。
通過一個暑假的學習,基本搞清楚了理論方面的東西,具體怎麼用也不是很清楚。但是這為這學期的課程設計打下了鋪墊。
來到學校後,隨著這學期的資料庫課程大賽開始了,我有一個看法就是我自己應該具備的能力不是我會多少,而是我應該具備快速學會東西的能力。遇到什麼就學什麼。我們有時候很容易被一些專業名詞說嚇著,包括什麼建模,軟體工程,數據分析,數據挖掘等等。我身邊就有很多同學被這些紙老虎所唬住,而沒有勇氣去接觸他們,總是說這個太難了之類的退堂鼓的話,他們低估了自己的潛力同時也壓抑住了他們自己的好奇心。其實都是紙老虎,又不是什麼國家科研難題,只是去用一些工具,發明工具是很難,但是用一個工具就容易多了,just do it!我記得我做這個資料庫之前,我們老師說要做好前期分析,我就在網上搜索用什麼分析工具好。最後我選擇了roseuml建模工具。在此之前,我腦袋裡面沒有軟體建模的思想,什麼uml建模對我而言就是一張空白的紙。但是真正接觸後並沒有想像的那麼難,有什麼不懂的上網去搜索,這是一個信息橫流的世界,有google,就沒有不能解決的知識難題。以及後來的資料庫分析的時候用到的powerdesigner也是一樣。
開發的時候我想過用什麼架構,c/s模式?模式有很多,怎麼選擇?我就上網搜索現在最流行的架構是什麼。結果搜到了mvc架構,就是你啦。我決定用這個架構,不會,沒關系,咱學。just do it!前期工作準備好後,那麼我就得把我暑假學的.net加以實踐。這個時候我更加深入的了解了利用ado.net操縱資料庫的知識。並且對資料庫裡面的存儲過程有了比較深入的了解。經過大概2個多星期的奮斗,我完成了我的資料庫課程設計--基於.net數據集的圖書館管理系統。並最後非常榮幸的獲得了大賽的一等獎以及以及新技術應用獎。
與其臨淵羨魚,不如退而結網。這次資料庫課程設計給我的最大的印象就是如果自己有了興趣,就動手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個資料庫開始無論遇到什麼困難,我都沒有一絲的放棄的念頭。出於對知識的渴望,出於對新技術的好奇,出於對一切未知的求知。我完成了這次資料庫課程設計,不過這只是我學習路上的驛站,未來十年.net的核心技術就是xml[至少微軟是這么宣傳的],我會繼續學習它,包括jave公司的j2ee我也很想試試,語言本來就是相通的,just do it!語言並不重要畢竟它僅僅是工具,用好一個工具並不是一件值得為外人道的事情,主要是了解學習思想。古語說的好:學無止境啊!
我很慶幸我參加了這次資料庫大賽,讓我確實打開了眼界。