圖書管理系統資料庫設計
❶ 資料庫系統原理課程設計 -----圖書借閱管理系統
#include <string.h>
#include <iostream.h>
class Book{ // 書籍基類
protected:
char Title[40]; // 書名
long Code; // 條碼
int Type; // 0表示書,1表示雜志
public:
Book();
Book(char *title,long code);
void SetCode(long code){ Code = code; }
void SetTitle(char* tl){ strcpy(Title,tl); }
void SetType(bool type){Type = type; }
int GetType(){ return Type; }
long GetCode(){ return Code;}
virtual void Show(); // 顯示書的信息
friend ostream& operator<<(ostream& , Book&); // 重載插入運算符
friend istream& operator>>(istream& is, Book&); // 重載提取運算符
Book *Next; // 為創建每個讀者所借書鏈表而定義指針
};
class Item :public Book{ //書的款目
// char Title[40]; // 書名
char Author[20]; // 著者名
char IndexCode[10]; // 分類號
// long Code; // 條碼
public:
Item();
Item(char *author,char *title,char *index,int code);
Item(Item &);
void SetAuthor(char*);
void SetIndexCode(char*);
virtual void Show(); // 顯示書的信息
friend ostream& operator<<(ostream& os, Item&); // 重載插入運算符
friend istream& operator>>(istream& is, Item&); // 重載提取運算符
public:
};
class Magazine:public Book { //雜志類
int Volume;
enum LANG {CHINESE=1,ENGLISH} Lang; // 枚舉變數,確定語言類別
public:
Magazine():Book(){Volume = 0; Lang = CHINESE; Type = 1; }
Magazine(char *title,int vol,LANG lang,int code);
Magazine(Magazine&);
void SetVolume(int vol){Volume = vol;}
void SetLang(int lang){Lang = (LANG)lang;}
virtual void Show(); // 顯示雜志的信息
friend ostream& operator<<(ostream& os, Magazine&); // 重載插入運算符
friend istream& operator>>(istream& is, Magazine&); // 重載提取運算符
};
class Reader{ // 讀者信息類
char Name[20]; // 姓名
char Position[20]; // 職務
int Age; // 年齡
long Code; // 借書證號
Book* items; // 所借書鏈表
public:
Reader();
Reader(char *name,char *posi,int age,int code);
// Reader(Reader&);
~Reader();
long GetCode(){return Code;}
void SetName(char*);
void SetPosition(char*);
void SetAge(int);
void SetCode(long);
void AddBook(Item); // 添加所借書
void AddBook(Magazine); // 添加所借雜志
void DelBook(Book it); // 還書後減少所借書
void ShowBooks(); // 顯示所借書
void Show(); // 顯示讀者信息
friend ostream& operator<<(ostream& os, Reader&); // 重載插入運算符
friend istream& operator>>(istream& is, Reader&); // 重載提取運算符
public:
int Counter; //計數器,統計所借書數目
};
class Manager{ // 管理員類
char Name[20]; // 姓名
int Age; // 年齡
int Code; // 工號
friend class Library; // 將圖書館類聲明為友元
public:
Manager(){}
Manager(char*,int,int);
long GetCode(){ return Code;}
void Show();
friend ostream& operator<<(ostream& os, Manager&); // 重載插入運算符
friend istream& operator>>(istream& is, Manager&); // 重載提取運算符
};
class Loan { // 借閱信息類
int Type; // 0表示書,1表示雜志
Item item; // 借閱書
Magazine mag; // 借閱雜志
Reader reader; // 借閱者
Manager manager; // 借書操作員
int Code;
friend class Library; // 將圖書館類聲明為友元
public:
Loan(){ }
Loan(Loan & l);
int GetCode(){ return Code;}
void Show();
friend ostream& operator<<(ostream& os, Loan&); // 重載插入運算符
friend istream& operator>>(istream& is, Loan&); // 重載提取運算符
};
、、、、、、、、、、、、、、、、、、、、、、、
#include<iostream.h>
#include<string.h>
class Reader;
template<typename T> class DblList;
template<typename T> class DblNode{
public:
T Info;//數據域
DblNode<T> *llink,*rlink; //前驅(左鏈)、後繼(右鏈)指針
public:
DblNode(T data);//一般結點
DblNode();//頭結點
T GetInfo(){return Info;};
friend class DblList<T>;
friend class Library;
};
template<typename T>class DblList{
DblNode<T> *head,*current;
public:
DblList();
~DblList();
void Insert(const T& data);
DblNode<T>* Remove(DblNode<T>* p);
void Print();
int Length();//計算鏈表長度
DblNode<T> *Find(T data);//搜索數據與定值相同的結點
DblNode<T>* Find(int data);//按某個關鍵字查找
void MakeEmpty(); //清空鏈表
void ShowList(); //顯示鏈表各結點
friend istream& operator>>(istream&, DblList<typename T>&); // 重載輸入流運算符
friend ostream& operator<<(ostream& os, DblList<typename T>& dlist); // 重載輸出流運算符
friend class Library;
//其它操作
};
template<typename T> DblNode<T>::DblNode(){
llink=rlink=NULL;
}
template<typename T> DblNode<T>::DblNode(T data){
info=data;
llink=NULL;
rlink=NULL;
}
template<typename T> DblList<T>::DblList(){//建立表頭結點
head=new DblNode<T>();
head->rlink=head->llink=head;
current=NULL;
}
template<typename T> DblList<T>::~DblList(){
MakeEmpty();//清空鏈表
delete head;
}
template<typename T> void DblList<T>::MakeEmpty(){
DblNode<T> *tempP;
while(head->rlink!=head){
tempP=head->rlink;
head->rlink=tempP->rlink;//把頭結點後的第一個節點從鏈中脫離
tempP->rlink->llink=head;//處理左指針
delete tempP; //刪除(釋放)脫離下來的結點
}
current=NULL; //current指針恢復
}
template<typename T> void DblList<T>::Insert(const T & data){//新節點在鏈尾
current=new DblNode<T>;
current->Info=data;
current->rlink=head;//注意次序
current->llink=head->llink;
head->llink->rlink=current;
head->llink=current;//最後做
}
template<typename T> DblNode<T>* DblList<T>::Remove(DblNode<T>* p){ // 刪除結點
current=head->rlink;
while(current!=head&¤t!=p) current=current->rlink;
if(current==head) current=NULL;
else{//結點摘下
p->llink->rlink=p->rlink;
p->rlink->llink=p->llink;
p->rlink=p->llink=NULL;
}
return current;
}
template<typename T> DblNode<T>* DblList<T>::Find(T data){ // 按結點查找
current=head->rlink;
while(current!=head&¤t->Info!=data) current=current->rlink;
if(current==head) current=NULL;
return current;
}
template<typename T> DblNode<T>* DblList<T>::Find(int data){ // 按數據值查找結點
current=head->rlink;
int temp =current->Info.GetCode();
while(current!=head&&temp!=data){
current=current->rlink;
temp = current->Info.GetCode();
}
if(current==head) current=NULL;
return current;
}
template<typename T> void DblList<T>::Print(){ // 輸出鏈表
current=head->rlink;
while(current!=head){
cout<<current->Info<<'\t';
current=current->rlink;
}
cout<<endl;
}
template<typename T> int DblList<T>::Length(){ // 取得鏈表長度
int count=0;
current=head->rlink;
while(current!=head){
count++;
current=current->rlink;
}
return count;
}
template<typename T> void DblList<T>::ShowList(){ // 輸出鏈表各結點
int count=0;
current=head->rlink;
while(current!=head){
current->GetInfo().Show();
current=current->rlink;
}
return ;
}
template<typename T>
istream& operator>>(istream& is, DblList<typename T> &dlist){
int len;
T tt; // 定義局部變數讀入一個結點
is>>len;
for(int i= 0 ;i<len; i++){ // 循環讀入鏈表各結點
is>>tt;
dlist.Insert(tt);
}
return is;
}
template<typename T>
ostream& operator<<(ostream& os, DblList<typename T> &dlist){
DblNode<T> *tempP;
int len = dlist.Length();
os<<len<<' ';
tempP=dlist.head->rlink;
while(tempP!=dlist.head){ // 循環輸出鏈表各結點
os<<tempP->Info;
tempP = tempP->rlink;
}
return os;
}
#include "class.h"
#include "dblist.h"
#include <fstream.h>
class Library{ // 封裝圖書館流通業務的類
DblList<Item> item; // 在館圖書鏈表
DblList<Magazine> mag; // 在館雜志鏈表
DblList<Reader> reader; // 讀者鏈表
DblList<Loan> loan; // 借閱信息鏈表
DblList<Manager> manager; // 管理員信息鏈表
int itemNum; // 記錄在館圖書數目
int magNum; // 記錄在館雜志數目
int readerNum; // 記錄讀者數目
int loanNum; // 記錄借閱信息數目
int managerNum; // 記錄管理員數目
ofstream itemFileOut; // 文件流對象,保存圖書館書籍數據
ifstream itemFileIn; // 文件流對象,讀入圖書館書籍數據
ofstream magFileOut; // 文件流對象,保存圖書館雜志數據
ifstream magFileIn; // 文件流對象,讀入圖書館雜志數據
ofstream readerFileOut; // 文件流對象,保存圖書館讀者數據
ifstream readerFileIn; // 文件流對象,讀入圖書館讀者數據
ofstream loanFileOut; // 文件流對象,保存圖書館借閱信息數據
ifstream loanFileIn; // 文件流對象,讀入圖書館借閱信息
ofstream managerFileOut; // 文件流對象,保存圖書館管理員數據
ifstream managerFileIn; // 文件流對象,讀入圖書館管理員數據
public:
Library(); // 構造函數
~Library(); //析構函數
void Run(); // 圖書館類的運行函數
void CreateBibliotheca(); // 創建書目
void CreateReader(); // 創建讀者庫
void CreateManager(); // 創建管理員信息
int ShowMainMenu(); // 顯示主菜單函數
void Borrow(); // 借書操作
void Return(); // 還書操作
void Require(); // 查詢操作
void SaveInfo(); // 保存圖書館信息
void OpenInfo(); // 讀入圖書館信息
};
❷ 圖書館管理系統設計論文
21世紀,人類社會正面臨知識經濟和信息社會的急劇變革,世界各個角落的人們都強烈地感受到新時代的沖擊與震撼。下面是我為大家整理的圖書館管理系統設計論文,供大家參考。
圖書館管理系統設計論文篇一圖書管理系統設計
圖書館管理系統設計論文摘要
【摘要】本文介紹了利用ASP+Access編寫圖書管理系統的實現主要步驟與部分技術代碼。
圖書館管理系統設計論文內容
【關鍵字】ASP;Access
隨著計算機 網路技術 的普及和發展,現已逐漸進入信息化社會。人們對信息和數據的利用與處理也已進入自動化、網路化和社會化的階段,因此,開發基於網路平台的圖書管理信息系統已經成為圖書管理部門的必要因此,我按照圖書管理部門的需要,採用ASP+Acces實現了此圖書管理系統。
一、ASP+Access
ASP是Active Server Page的縮寫,意為“動態伺服器頁面”。ASP是微軟公司開發的代替CGI腳本程序的一種應用,它可以與資料庫和 其它 程序進行交互,是一種簡單、方便的編程工具。
Microsoft Office Access(前名 Microsoft Access)是由微軟發布的關聯式資料庫管理系統。它結合了Microsoft Jet Database Engine 和 圖形用戶界面兩項特點,是 Microsoft Office的成員之一。
由於Access存儲方式簡單,易於維護管理、移植性好,所以本系統採用ASP做為編程工具、Access做資料庫來開發
二、系統模塊
此系統共分為八大模塊,包括圖書簡介、 規章制度 、圖書錄入、歸還圖書、圖書查詢、新購圖書、未歸圖書、系統維護。名模塊的功能如下:
一圖書簡介:把圖書進行分類和定義索書號,以方便查詢。
二規章制度:主要介紹圖書管理的訂購、借閱、歸還等制度。
三圖書錄入:對新購圖書按書名、作者、分類、編號等圖書信息進行錄入。
四圖書歸還:此模塊是圖書管理員對歸還的圖書,按照圖書編號進行入庫管理。
五圖書查詢:按圖書信息一些主要欄位對資料庫進行查詢並顯示。
六新購圖書:查詢某一時間段以後所購買的圖書並顯示。
七未歸圖書:顯示未歸的圖書,並分頁顯示。
八系統維護:對資料庫進行備份和恢復。
三、設計資料庫
此圖書管理系統資料庫里主要有以下幾個表:
User:用來存儲圖書管理員的用戶名和密碼。欄位為user、pwd。
Menu:存儲程序主頁面的菜單名稱和鏈接地址。欄位為ID、父菜單ID、位置、URl、字體顏色、菜單項。
Bookinfo:用來存儲圖書的各種信息。欄位為書名、作者、圖書分類、圖書編號、索書號、出版社、版期版次、購入日期、價格、排架號、是否借閱、借閱日期、應歸還日期、借閱科室、借閱人、備注。
Dept:用來存儲科室名稱。欄位為dept。
四、程序設計
一登錄模塊及Session的使用
由於此系統有些功能是不允許普通用戶使用的,如圖書錄入、圖書歸
還等模塊,所以本系統採用以管理員登錄的方式,來判斷是何種用戶使用本系統,如果是普通用戶,點擊“以普通用戶登錄”,就可以使用本系統,但圖書錄入、歸還圖書和系統維護等模塊不能使用。
由於有些功能模塊不允許普通用戶使用,故在登錄模塊程序語句定義一個Session:Session("UserAcc") = Trim(rs("User"))。 Session在計算機中,尤其是在網路應用中,稱為“會話”,用於保持狀態的基於 Web 伺服器的 方法 。Session 允許通過將對象存儲在 Web 伺服器的內存中在整個用戶會話過程中保持任何對象。因此,在限制普通用戶使用並用If判斷Session("UserAcc")是否為空即可。
二表單驗證
在圖書錄入模塊中,需要填寫圖書的各種信息,在提交表單時如果某
些信息為空,IE就會顯示出錯,因此,在提交表單之前對表單進行驗證,JavaScript 可用來在數據被送往伺服器前對 HTML 表單中的這些輸入數據進行驗證,只需編寫一個函數就可以實現。函數如下
function checkinput() {
if (frm.bookname.value=='') {
alert('請輸入書名');
frm.bookname.focus();
return false;
}
}
在提交按鈕代碼中加入OnSubmit="Return checkinput()"就可以完成對表單的驗證了。
三資料庫連接
對於Access資料庫,一個文件就是一個資料庫,所以可以利用數據驅動程序直接訪問數據,這種方法需要利用動態連接字元串建立一個連接,具體連接字元如下:
Dim conn, connstr,db
db="./data/tushu.mdb"
connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(db)
Set conn=Createobject("ADODB.Connection")
conn.Open connstr
這樣就可連接數據了,再用sql語句就可以讀取表中數據了:
Set rs=CreateObject("ADODB.RecordSet")
sql="Select * From bookinfo"
rs.Open sql,conn,1,3
四對資料庫的操作
連接好資料庫後,我們就可以對表bookinfo的記錄進增加、刪除、修改等操作了。具體代碼及釋義如下:
(1):增加:
bianhao=Trim(Request("bianhao"))
sql="Select * From bookinfo Where 圖書編號='"& bianhao &"'"
rs.Open sql,conn,1,3
If rs.recordcount<>0 Then
Response.Write "此圖書編號已存在,請重新輸入"
Response.Write "
"
Response.Write ""
Response.Write "返 回"
Else
註:在增加信息時,必須檢索圖書編號是否唯一,如不唯一會出給出提示:“此圖書編號已存在,請重新輸入”
rs.addnew
rs("書名")=trim(request("bookname"))
rs(“作者")=trim(request("author"))
……
rs.update
end if
Response.Redirect "addbook.html"
end if
set rs=nothing
(2)刪除
本系統“刪除”圖書記錄功能在查詢模塊中執行,但必須以管理員身份登錄,才能顯示對記錄進行操作的功能:
刪除記錄採用SQL中的delete語句,代碼如下:
bh=Request("bianhao")
If bh<>"" Then
conn.Execute "Delete From bookinfo Where 圖書編號='"& bh &"'"
End If
(3)修改
修改只需rs.update命令即可完成,這里不再贅述。
(4)查詢
本系統有精確查詢、模糊查詢、分類查詢、編號查詢、索書號查詢、借閱人查詢共六種方法。用SQL中select…where…就可以完成查詢功能。如按分類查詢:
tiaojian=Trim(request("tiaojian"))
Set rs=CreateObject("ADODB.RecordSet")
sql="select * from bookinfo where 圖書分類= '"& tiaojian &"' order by 圖書編號 desc"
rs.Open sql,conn,1,1
五、小結
此圖書管理基本上可以實現圖書管理的大部份工作,實現圖書的計算機管理,方便借閱人員查詢和借閱圖書,更好的利用圖書資源,把圖書管理員從手工記錄管理圖書中解脫出來,提高了工作效率。
圖書館管理系統設計論文文獻
[1]伍雲輝. 程序天下 電子工業出版,2008
[2]武延軍,趙彬.精通ASP網路編程. 人民郵電出版社,2000
[3][美]Michael Moncur JavaScript 入門經典 人民郵電出版,2007
圖書館管理系統設計論文篇二圖書管理信息系統設計
圖書館管理系統設計論文摘要
提要作為信息資源的集散地,圖書館在高校中的作用是尤為重要的,而圖書館傳統人工管理方式已經無法快速、高效地應付日益增長的信息數據。隨著計算機技術的飛速發展,使各行各業在計算機技術應用方面得到了廣泛的普及和使用。因此,圖書管理信息系統也以方便、快捷、費用低的優點正慢慢地進入人們的生活,將傳統的圖書管理方式徹底解脫出來,從而使人們有更多的時間來獲取信息、了解信息、掌握信息,更好地發揮圖書館強大的資源優勢。
圖書館管理系統設計論文內容
關鍵詞:圖書管理信息系統;資料庫應用;Visual Foxpro語言;windows HC
中圖分類號:G251文獻標識碼:A
圖書管理系統是典型的信息管理系統(MIS),其開發主要包括後台資料庫的建立和維護以及前端應用程序的開發兩個方面。對於前者要求建立起數據一致性和完整性強、數據安全性好的庫;而對於後者則要求應用程序功能完備,易使用等特點。本是從我校圖書館的館藏規模和實際操作流程程出發,針對圖書館管理的現狀,經過詳細的系統調查,結合效用和成本多方要素。利用Visual Foxpro6.0作為開發工具,為圖書館開發出的一個實用的單機版圖書館管理信息系統。全文共分為五部分,其分別為緒論、系統分析階段、系統設計階段、系統實施階段、系統測試。
一、緒論
(一)系統開發背景。目前,在一些高校圖書管理中,師生查找圖書都是採用傳統的查詢方法,讓讀者在圖書分類架上一本本地去查找,這樣不僅很難找到自己所需要的圖書,而且費時費力。而圖書管理員在辦理借書登記、查詢讀者借書記錄時,管理人員必須在借書記錄上一個個去查找,而要找到借書記錄並刪除該記錄是件很麻煩的事情。每當新書入庫時,圖書管理員既要填寫新書入庫卡片,又要填寫新書入庫賬目,不僅工作量大,而且在新書入庫後要經歷較長的時間方能借出。另外,因圖書數量有限,必須對圖書實行限量借閱,因此要實施彈性借書方法是件很困難的事。
為提高圖書查詢效率,減少系部圖書管理員的工作負擔,有必要開發一個小型圖書管理軟體來對圖書實施有效管理。該系統應具備以下功能:(1)能對各類圖書實行分類管理;(2)提供必要的讀者信息;(3)能進行各種高級查詢;(4)具有圖書檢索功能等。這樣,不僅能較好地幫助讀者在最短的時間內找到自己所需要的圖書書目、編號,而且能讓圖書管理員以最高的效率辦理借閱手續。
(二)資料庫概述。從20世紀五十年代中期開始,計算機的應用由科學研究部門逐步擴展至企業、行政部門。至六十年代,數據處理成為計算機的主要應用。資料庫技術作為數據管理技術,是計算機軟體領域的一個重要分支,產生於六十年代末。現已形成相當規模的理論體系和實用技術。
資料庫(Database)DB是統一管理的相關數據的集合。
資料庫管理系統(Database Managerment System)DBMS是位於用戶和 操作系統 之間的一層數據管理軟體,為用戶或應用程序提供訪問DB的方法,包括DB的建立、查詢、更新及各種數據控制。
資料庫系統(Database System)DBS是實現有組織地、動態地存儲大量關聯數據,方便多用戶訪問的計算機軟、硬體和數據資源組成的系統,即採用了資料庫技術的計算機系統。
資料庫技術是一門研究資料庫的結構、存儲、管理和使用的軟體學科。
二、系統分析階段
(一)系統可行性分析。系統可行性分析包括:技術的可行性、經濟可行性、法律因素可行性。
技術可行性:結合本校圖書館規模和平時業務量的具體情況,本系統採用Visual Foxpro6.0作為開發平台,可以很容易實現圖書館相關信息的記錄、維護、檢索,並且可以在不添加任何設備的情況下,以較少的人力較快地完成系統的設計,實現系統的功能。
經濟可行性:不需要額外開支,用現有的人力物力就可實現,軟體成本很低。
法律可行性研究:研究在系統開發過程中可能涉及的各種合同、侵權、責任以及各種與法律相抵觸的問題。
(二)系統需求分析
1、圖書管理信息系統的總體功能要求。簡單的圖書管理系統主要包括下面的功能:①借書處理:完成讀者借書這一業務流程,核心為快速檢索到學生需要的書籍。②還書處理:完成讀者還書這一業務流程。③新書上架:完成新書資料的錄入工作。④舊書下架:完成圖書資料的刪除工作。⑤讀者查詢:根據讀者號,查詢讀者借閱情況,能夠對讀者的基本信息資料進行管理。⑥相關幫助:便於新的系統使用者能夠快速掌握該系統的使用操作。
2、圖書管理信息系統的性能需求。①要求有較強的 系統安全 性,對一定范圍和程度內用戶的錯誤操作有相應的系統自我保護功能。②系統的維護時間不能超過系統總運行時間的千分之五,系統每次的維護時間不能超過系統總運行時間的千分之一,系統的故障恢復時間不得超過系統故障時間的百分之五。③其他性能要求以其相關或類似的系統為參考。
三、系統設計階段
(一)系統功能模塊設計。鑒於以上各項功能要求,將該系統劃分為以下六個模塊:
1、圖書信息模塊。對圖書的基本信息進行錄入、刪除、修改以前信息和進行簡單查詢功能。
2、查詢檢索模塊。可對書目的基本信息進行檢索,其查詢條件可以是按分類檢索;也可以是按照作者名、圖書名稱或出版社進行檢索。同時,也可對讀者的基本信息進行檢索,查閱其借閱信息。
3、讀者管理模塊。對讀者的基本信息進行錄入管理,可自動生成會員代號,可自動記錄會員的借閱信息。
4、數據維護模塊。可對資料庫中的各項基本數據信息進行數據備份和數據恢復,並可實現數據備份文件存貯路徑的自由選擇。
5、報表輸出模塊。對圖書的基本信息、會員的基本信息、會員的借閱信息等數據可按照查詢條件的不同按要求列印輸出。
6、幫助模塊。可以提供關於圖書管理信息系統各項操作的詳細幫助信息,並可實現對不同操作的定點幫助提示。
(二)資料庫設計
1、數據描述
(1)靜態數據描述。①圖書一級分類表:包括一個數據表。其中的主要信息有:分類編號和一級分類名稱。一級分類中將圖書共分五大類,具體分類方法、編號和分類名稱參照國家統一分類方法的規定。②圖書二級分類表:包括五個數據表。其中的主要信息有:二級分類的編號和分類名稱。二級分類中將圖書共分為二十二個小類,並分別隸屬於一級分類的五個大類中,其具體分類方法、編號和分類名稱參照國家統一分類方法的有關規定。③圖書明細分類表:包括二十二個數據表。其中的主要信息有:明細分類的編號和分類名稱。明細分類又將二十二個小類明細的分為若干細小類別,其具體的分類方法、編號和分類名稱參照國家統一分類方法的有關規定。
以上數據均按國家統一規定設置錄入,不能做太大改變,分類名稱可以有一定的縮略但不能影響其原有的意義。系統設計完成後不可以通過錄入、刪除的方式進行修改。
(2)動態數據
①圖書的基本數據。包括一個數據表。其中的主要數據有圖書編號:是對錄入圖書的統一編號,以便唯一區別圖書;圖書名稱:圖書出版時的封面印刷名稱;作者:圖書的編寫者或編寫單位或組織;出版社:出版發行該冊圖書的發行單位;錄入日期:該冊圖書入庫的時間;借閱次數:該圖書總的被借閱次數;類別編號:給圖書所屬的明細分類的類別號,它應與明細分類表中的圖書的類別編號一致;簡介:對該冊圖書的內容總體概括介紹。
②讀者基本數據:包括一個數據表。其中的主要數據有:讀者代號:讀者的統一編號,由系統自動生成,唯一的標示一個會員的身份;姓名:讀者的真實姓名;電話:讀者的有效聯系電話,可選擇填寫;地址:讀者的有效聯系地址,可選擇填寫;身份證號:讀者的身份證號碼,可選擇填寫;注冊日期:讀者本人正式注冊成功時的日期(為系統自動填寫)。備註:讀者的個人其他資料。
以上兩部分數據的錄入具有一定的界面,並提供修改的方式。還提供隨時的查詢,對查詢結果有相應的顯示和列印輸出,對全體的數據可進行備份與恢復。
③借閱記錄。包括一個數據表。其中的主要數據有:讀者代號、圖書編號、借閱日期。這些數據信息都是由系統自動填寫。此表中的所有數據不提供修改方式,只供查閱、顯示和列印輸出。可以對全體數據進行備份和恢復。
④登錄密碼。包括一個數據表。其主要數據有:管理員代號、密碼、許可權。
2、資料庫描述。該系統建立一個資料庫,其中包括三十二個數據表。全部用Visual Foxpro實現。其中,部分數據表的結構和聯系如圖1所示。(圖1)其他分類數據表的連接通過“下級分類表名”實現連接調用。
3、數據採集。對於圖書分類數據表的信息參照國家圖書分類方法;對於圖書基本信息數據可通過對現存圖書進行分類錄入;對於讀者方面的信息數據可以在系統運行使用中獲得。
(三)用戶界面設計。本系統設計原則:1、界面美觀、操作方便並能高效率地完成工作;2、界面根據用戶需求設計;3、界面能引導用戶操作的功能,並能提供一些幫助功能。
主要的用戶界面有:1、登錄界面;2、主表單界面;3、各類信息查詢;4、讀者信息管理列表;5、圖書信息管理列表等。
四、系統實施階段
(一)計算機系統的性能和軟硬體環境。在軟體方面本系統運行平台為Windows2000專業版,開發工具採用易學易用的軟體開發工具Visual Foxpro6.0。因Visual Foxpro6.0在應用程序的開發上具有靈活、效率高等特點和使用簡便的資料庫管理功能。硬體要求:Inter PentiumⅢ、128M內存、40G硬碟等。
(二)編寫程序。依據各階段的開發文檔,使用Visual Foxpro6.0進行程序編寫。此系統的編碼設計(表單設計、代碼設計、變數定義、控制項的定義)嚴格按照大眾化的標准和風格。
對於系統的幫助功能的實現,則使用windows help compiler來單獨編譯,最後通過Visual Foxpro提供的介面命令(set help to)和系統相連。幫助文件的數據字典、源代碼見附件。
五、系統測試
測試的步驟主要有以下三個方面:1、單元測試:採用的是白盒測試法,檢查模塊控制結構的某些特殊路徑;2、綜合測試:採用的是自頂向下集成法;3、確認測試包括:功能測試、性能測試。
有關圖書館管理系統設計論文推薦:
1. 圖書管理系統畢業論文
2. 淺談圖書館管理論文
3. 關於圖書館設計論文
4. 圖書館管理畢業論文範文
5. 有關圖書館結構設計論文
6. 圖書館管理論文
❸ 圖書館借閱管理資料庫系統的設計
針對圖書館管理系統的需求,設計如下面所示的數據項和數據結構:
表1:書籍基本信住
包括的數據項有:索書號、圖書名稱、作者、出版社、出版日期、書價、ISBN、備注信息等。
表2:讀者信息基本信息
包括的數據項有:讀者編號、學號、姓名、性別、年齡、學院、專業、籍貫、讀者類別、最大借閱數、已借閱數、可借閱數、有效日期、讀者備注等。
表3:借書基本信息
包括的數據項有:索書號、借書日、應還日、續借次數、讀者編號等。
表4:還書基本信息
包括的數據項有:索書號、還書日、逾期天數、逾期罰款、續借日、讀者編號等。
表4:管理員基本信息:包括的數據項有:管理ID、管理員帳號、管理密碼等。
我建議你再根據你設計的圖書館管理的需求,看下還有沒有其它欄位要添加上去,那樣就更好了。
❹ 書店銷售管理系統資料庫設計目的和意義
學號 1
課 程 設 計課程名稱 《資料庫系統原理》課程設計
題 目 書店銷售管理系統
專 業
班 級
姓 名
成 績
指 導 老 師
2019 年 12 月 30 日至 2019 年 1月 3日一、課程設計目的與任務《資料庫系統原理課程設計》是針對計算機專業基礎課《資料庫系統原理》開設的課程設計,目的是使學生通過本課程設計之後,對資料庫設計的基本概念、基本原理和優化技術有較全面的了解和領會,並能操作當前流行的DBMS,了解資料庫在計算機應用系統的作用,獨立地開發實現一個小型的基於DBMS上的應用系統。結合具體的開發案例,理解並初步掌握資料庫系統需求分析、概念結構設計、邏輯結構設計、物理結構設計、應用功能設計(視圖,索引,游標,存儲過程,觸發器等)數據錄入及測試等系統設計與系統實施及維護管理的主要環節和步驟以及軟體文檔的製作能力。二、課程設計的題目與基本要求1.設計題目:書店銷售管理系統資料庫設計2.基本要求:(1)圖書入庫管理:維護入庫圖書信息(如圖書編號、書名、作者、價格、圖書分類、出版社等),自動計算庫存。(2)圖書查詢統計:按圖書分類,出版社、書名、作者等條件查詢圖書的詳細信息。(3)銷售管理: 銷售過的圖書都記錄在銷售列表中,方便統計收入。圖書銷售後,實時記錄圖書庫存,按每天統計銷售額、按每個月或季度統計銷售額,並能根據銷售數量統計生成暢銷書名單。(4)設計報告內容包括:基本原理、設計方案的選擇與確定,詳細的設計過程及結果做出評價,分析存在的問題,提出改進意見並寫出心得體會。三、學時分配進度安排
序號 設計內容 所用時間
1 選題及調研 1天
2 資料庫結構設計 1天
3 資料庫查詢優化 1天
4 調試及撰寫報告 1天
5 答辯 1天
合 計 1周
四、課程設計考核及評分標准1.設計報告要求課程設計報告要求邏輯清晰、層次分明、書寫整潔。格式包括標題、提要、正文(包括①設計項目要求與說明。②數據模型分析。③軟體流程分析。④調試分析。⑤實驗數據分析。⑥答辯。⑦成績評定。)附錄(圖紙、程序清單或軟盤)。設計報告須每人一份,獨立完成。2.圖紙要求系統結構框圖、概念模型圖等。3.評分標准
評分依據 評分成績
1.設計方案正確,具有可行性、創新性 30分
2.資料庫測試性能達到任務書要求 25分
3.設計報告的規范化、內容充實、參考文獻 15分
4.答辯 20分
5.平時成績(考勤等) 10分
總分 100分
註:成績等級:優(90分—100分)、良(80分—89分)、中(70分—79分)、及格(60分—69分)、60分以下為不及格。五、指導時間
周次 星期一 星期二 星期三 星期四 星期五
第17周 第3-4節 第3-4節 第3-4節 第3-4節
地點 233 231 現教 現教
1.引言Internet的迅速發展正以前所未有的深度和廣度影響和改善著人類生活的各個方面,越來越多的人開始意識到Internet所起到的重大作用隨著書店規模的不斷擴大,員工人數的不斷增多,使得書店管理的手工操作管理模式的局限性越發突出.本書店管理系統應用了科學的管理模式對員工.書籍.訂單信息進行管理和維護,並且還提供了給類報表的列印,使原本非常復雜的手工管理變得簡潔明了。計算機信息管理技術的應用,除了能在相當大的程度.上代替人工作業,從而減少人員工作量,減輕工作負擔,減少工作中因人為原因而產生的錯誤從而避免不必要的損失外,更重要的是能建立准確暢通、簡便的信息流通渠道,為工作提供所需要的准確、及時的信息以幫助做出正確而及時的選擇與決定,從而給採用這門]技術的單位帶來了巨大的可見或不可見的利益與效益。2.需求階段分析2.1需求分析書店管理系統是適應時代發展的需要,提高管理的效率而開發設計的。通過對信息的收集、存儲、傳遞、統計、分析、綜合查詢、報表輸出和信息共享,及時為書店管理人員提供全面、准確的各種數據。實現了書店管理的簡單化和規劃化,提高了書店的工作效率,從而使書店能夠以少的投入獲得更好的社會效益與經濟效益。2.2數據分析顧客表:應包含顧客號,顧客姓名以及顧客聯系方式訂單表:應包含訂單號,銷售圖書號,銷售數量,金額以及日期圖書表:應包含圖書編號,圖書名,作者,單價,類別和出版社庫存表:應包含圖書編號,總量和餘量2.3功能分析資料庫應實現的功能有:(1)圖書入庫管理:維護入庫圖書信息(如圖書編號、書名、作者、價格、圖書分類、出版社等),自動計算庫存。(2)按圖書分類,出版社、書名、作者等條件查詢圖書的詳細信息。(3)銷售過的圖書都記錄,並且能顯示每種圖書的銷售量,將銷售量高的圖書定為熱銷書,能夠查詢出某一天到某一天的銷售額以及訂單消息2.3.1書籍管理功能系統設置包括圖書名稱設置、書籍編號、書籍出版社、書籍價格、書籍類別。基本信息管理模塊可以實現添加和重置書籍信息功能。
2.3.2訂單管理功能系統設置包括顧客姓名設置、訂單日期設置、訂單編號設置、訂單數量設置、訂單金額設置。基本信息管理模塊可以實現對訂單的查詢。2.3.3顧客管理功能系統設置包括顧客編號設置、顧客姓名設置、顧客聯系方式設置。基本信息管理模塊可以實現對顧客的查詢。2.3.4庫存管理功能系統設置包括圖書編號、圖書總量、圖書餘量設置。基本信息管理模塊可以實現對圖書數量的查詢2.4安全性和完整性要求(1)安全性要求 :系統安全性要求體現在資料庫安全性、信息安全性和系統平台的安全性等方面。安全性先通過視圖機制,不同的用戶只能訪問系統授權的視圖,這樣可提供系統數據一定程度上的安全性,再通過分配許可權、設置許可權級別來區別對待不同操作者對資料庫的操作來提高資料庫的安全性;系統平台的安全性體現在操作系統的安全性、計算機系統的安全性和網路體系的安全性等方面。(2)完整性要求:系統完整性要求系統中數據的正確性以及相容性。可通過建立主、外鍵,使用check約束,或者通過使用觸發器和級聯更新。3 .結構設計3.1總體功能模塊圖圖3.13.2書籍信息模塊圖圖3.23.3訂單信息模塊圖圖3.33.4顧客信息模塊圖圖3.43.5數據字典表3.5.1顧客表
列名 數據類型 約束
顧客號(Gno) Char(7) primary key
姓名(Gname) Nchar(20) Not null
聯系方式(Gnumber) Char(20)
表3.5.2訂單表
列名 數據類型 約束
訂單號(Dno) Char(7) primary key
購買圖書號(Bno) Char(7) primary key
購買數量(Dshul) Int Not null
金額(Dmoney) Int Not null
日期(Dtime) Smalldatetime Not null
顧客號(Gno) Char(7) External code
表3.5.3 圖書表
列名 數據類型 約束
編號(Bno) Char(7) primary key
書名(Bname) nchar (20) not null
作者(Bwriter) nchar (20) not null
價格(Bjiage) Int not null
類別(Bleibie) nchar (20) not null
出版社(Bcbs) nchar (20) not null
表3.5.4庫存表
列名 數據類型 約束
編號(Bno) Char(7) Primary key
總量(Kzong) Int Not null
餘量(Kyu) Int
3.6 ER圖設計3.6..1顧客ER圖3.6.2 圖書ER圖圖3.6.3圖3.6.4圖3.6.54 邏輯結構設計4.1 關系模型顧客與訂單是1:m類型 訂單與庫存是1:1類型 庫存與圖書是1:m類型 關系模型如下:顧客表(顧客號、姓名、聯系方式)訂單表(訂單號、購買圖書號、購買數量、金額、日期、顧客號)圖書表(編號、書名、作者、價格、類別、出版社)庫存表(編號、總量、餘量)(——代表主鍵,...代表外碼)4.2 函數依賴在顧客表中,顧客號是主碼,其它屬性完全依賴於顧客號在訂單表中,訂單號是主碼,顧客號是外碼,其餘屬性完全依賴於訂單號在圖書表中,編號是主碼,其餘屬性完全依賴於編號在庫存表中,編號是主碼,其餘屬性完全依賴於編號5.物理結構設計5.1創建圖書表use books /*創建圖書表*/create table book(Bno char (7) primary key,Bname nchar (20) not null,Bwirter nchar (20) not null,Bjiage int not null,Bleibie nchar (20) not null,Bcbs nchar (20) not null,)5.2 創建顧客表use books /* 創建顧客表*/create table guke(Gno char(7) primary key,Gname nchar (20) not null,Gnumber char(20),)5.3創建庫存表use books /*創建庫存表*/Create table kucun(Bno char(7) primary key,
Kzong int not null,Kyu int,)5.4創建訂單表use books /*創建訂單表*/Create table Dingdan(Dno char(7) primary key,Bno char(7) primary key,Dshul int not null,Dmoney int not null,Dtime smalldatetime not null,Gno char(10) not null,)6 資料庫的實施6.1 給各個表添加數據例use books /*給圖書表添加一行數據*/insert into bookvalues('101','白夜行','東野圭吾','30','偵探','天空出版社')使用語句添加完數據的表如下:6.1.1圖書表6.1.2訂單表6.1.3 顧客表6.1.4庫存表6.2創建存儲過程6.2.1圖書的存儲過程create proc tushu@Bno char(7),@Bname nchar(20),@Bwirter nchar(20),@Bjiage int, @Bleibie nchar(20),@Bcbs nchar(20),@MM INTasif not exists (select * from bookwhere Bno=@Bno)BEGINinsert into bookvalues (@Bno,@Bname,@Bwirter,@Bjiage,@Bleibie,@Bcbs)INSERT INTO KucunVALUES (@Bno,@MM,@MM)ENDELSEBEGINUPDATE KucunSET Kzong=KZONG+@MMWHERE BNO=@BNOUPDATE KucunSET KYU=KYU+@MM
WHERE BNO=@BNOEND圖5.2.16.2.2顧客的存儲過程create proc gukecun@Gno char(7),@gname nchar(10),@gnumber nchar(20)asinsert into gukevalues (@Gno,@gname,@gnumber )圖5.2.26.2.3 訂單的存儲過程create proc dingdan@dno char(10),@Bno char(10),@Dshul int,@Dtime smalldatetime, @Gno char(10)asdeclare @Dmoney intselect @Dmoney=@Dshul*Bjiagefrom book,Dingdaninsert into Dingdanvalues (@dno,@Bno,@Dshul,@Dmoney,@Dtime,@Gno)圖5.2.36.3 創建觸發器針對圖書信息表創建一個觸發器,當向表book插入一條信息時,自動顯示表中book中的記錄create trigger 插入顯示on bookfor insertasSelect * from bookInsert into book values('115','幻想之城','中此撒','30','懸疑','颯颯我出版社')6.4 建立視圖6.4.1建立視圖建立一個圖書類別為偵探的視圖,包括圖書編號,圖書名,作者,單價以及圖書總量和餘量create view v_leibieasselect book.Bno ,bname,bwirter,bjiage,kzong,kyufrom book,Kucunwhere book.Bno =Kucun.Bno and Bleibie ='偵探'圖6.4.1圖6.4.26.5 調試運行6.5.1查詢姓張的顧客的購買記錄select * from Dingdan
where Gno in (select Gno from gukewhere Gname like '張%')圖6.5.16.5.2 添加一條圖書信息後圖書表以及庫存表的顯示exec tushu'115','幻想之城','中此撒','30','懸疑','颯颯我出版社','60'圖6.5.2圖6.5.36.5.3 查詢銷售量在10本以上的書,以此為暢銷書select SUM(dshul),bnofrom Dingdangroup by Bnohaving SUM(Dshul)>10圖6.5.46.5.4查詢某一天的銷售額select sum (Dmoney )總金額 from Dingdanwhere Dtime between '2019-11-01 'and '2019-11-02'圖6.5.57.設計體會一個個星期的時間非常快就過去了,這一個星期不敢說自己有多大的進步。獲得了多少如識,但起碼是了解了項目開發的部分過程。雖說上過資料庫的課程,但是沒有親身經歷過相關的設計工作細節。這次課程設計剛好提供了一個很好的機會。通過這次課程設計發現這其中需要的很多知識我們都接觸過,去圖書館查資料的時侯發現我們前邊所學到的僅僅是皮毛還有很多需要我們掌握的東西我們根本不知道。同時也發現有很多已經學過的東西我們沒有理解到位,不能靈活運用於實際,不能很好的用來解決問題,這就需要我們不斷的大量的實踐,通過不斷的自學,不斷地發現問題,思考問題,進而解決問題。在這個過程中我們將深刻理解所學知識,同時也可以學到不少很實用的東西。本次課程設計即將結束,我完成了自己所選的課題。通過完成這次課程設計,我加深了對相關知識的理解,加強了知識之間的聯吊,促進了知識的遷移和應用。從需求分析、概念結構設計、邏輯結構設計、物理結構設計。親身體驗了一回系統的設計開發過程。很多東西書上寫的很清楚,貌似看著也很簡單,思路非常清晰。但真正需要自己想辦法去設計一個系統的時候才發現其中的難度。經常做到後面突然就發現自己-開始的設計有問題,然後又回去翻工在各種反復中不斷完善自己的想法。
致謝在這次資料庫的課程設計過程中,我選擇了書店銷售管理系統的設計與實現。該系統能夠順利的完成,得益於老師的悉心指導和同學的幫助。更重要的是老師幫我們解決了許多技術的難題,以至於我們能夠將書店銷售管理系統的功能做得盡可能的完善。在這過程中,我周圍的同學給了我許多啟發,讓我把書店銷售管理系統設計的更加完善,老師淵博的知識、開闊的視野和敏銳的思維給了我深深的啟迪,使我不僅了解到許多新知識、開闊了視野,更提高了自身的資料庫設計能力。另外,感謝老師給我們提供這樣-一個課程設計的機會,使我們在學得專業知識的基礎上能夠自己動手並獨立地完成資料庫的設計與開發,使我們能夠更多的學習-些實踐應用知識,增強實際操作和動手應用能力。最後,我再一次感謝在整個課程設計期間,在各個方面給予我們幫助的老師和同學,正是因為有了你們的幫助,才使我們的課程設計得以順利完成。參考文獻[1]李彥,韓光林,李玉波. SQL SERVE完全自學手冊[M].北京:電子工業出版社,2007[2]薩師煊,王珊.資料庫系統概論.北京:高等教育出版社.2005[3]Y.Daniel Liang.Java.萬波. JAVA語言程序設計[M].第六版.北京:機械工業出版社,2008[4]《資料庫原理及應用》 ,錢雪忠主編,北京郵電大學出版社,2007,第二版[5]《SQL server 2000數據倉庫與Analysis Services》,Bain T著 ,中國電力出版社, 2003[6]《資料庫技術與聯機分析處理》 王珊主編,北京科學出版社,1998課程設計成績評定表
課程設計題目 書店銷售管理系統
課程設計學生答辯或質疑記錄:
評 分 依 據 分 值 評分成績
1.設計方案正確,具有可行性、創新性 30 分
2.系統調試與結果(系統功能正確、軟體程序完整) 25分
3.設計報告的規范化、內容充實、參考文獻 15分
4.平時成績(考勤等) 10分
5.答辯 20分
總 分 100分
最終評定等級為:指導老師簽字: 年 月 日
¥
5.9
網路文庫VIP限時優惠現在開通,立享6億+VIP內容
立即獲取
書店銷售管理系統資料庫設計
學號 1
課 程 設 計
課程名稱 《資料庫系統原理》課程設計
題 目 書店銷售管理系統
專 業
班 級
姓 名
成 績
指 導 老 師
2019 年 12 月 30 日至 2019 年 1月 3日
一、課程設計目的與任務
第 1 頁
《資料庫系統原理課程設計》是針對計算機專業基礎課《資料庫系統原理》開設的課程設計,目的是使學生通過本課程設計之後,對資料庫設計的基本概念、基本原理和優化技術有較全面的了解和領會,並能操作當前流行的DBMS,了解資料庫在計算機應用系統的作用,獨立地開發實現一個小型的基於DBMS上的應用系統。結合具體的開發案例,理解並初步掌握資料庫系統需求分析、概念結構設計、邏輯結構設計、物理結構設計、應用功能設計(視圖,索引,游標,存儲過程,觸發器等)數據錄入及測試等系統設計與系統實施及維護管理的主要環節和步驟以及軟體文檔的製作能力。
❺ 高分求一份完整圖書管理系統資料庫課程設計
網上書店(圖書)管理系統的設計與實現(HTML5,SSH,MySQL)(含錄像)