【畢業(yè)設計】基于C和Access的圖書管理系統(tǒng)設計與實現_第1頁
【畢業(yè)設計】基于C和Access的圖書管理系統(tǒng)設計與實現_第2頁
【畢業(yè)設計】基于C和Access的圖書管理系統(tǒng)設計與實現_第3頁
【畢業(yè)設計】基于C和Access的圖書管理系統(tǒng)設計與實現_第4頁
【畢業(yè)設計】基于C和Access的圖書管理系統(tǒng)設計與實現_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、圖書管理系統(tǒng)設計報告學 院:信息科學與工程學院專業(yè)班級:08計科1班姓 名:*學 號:摘要本設計是一個圖書信息管理系統(tǒng)的后臺數據庫的設計。由于時間和精力的限制本設計僅實現了圖書管理系統(tǒng)基本功能的設計與實現。通過本次設計,達到了了解數據庫應用系統(tǒng)的開發(fā)過程,熟悉了系統(tǒng)分析和設計的過程和方法的目的。在實踐中掌握了知識,達到了學以致用的目標。本次設計首先通過查閱資料對圖書領域的基本知識有一定的認識,了解用戶各個方面的需求,包括現有的以及將來的可能增加的需求。然后按照數據庫設計的六個階段進行了設計與實現:需求分析、概念結構設計、邏輯結構設計、物理結構設計、數據庫實施、數據庫的運行和維護。數據庫在各種信

2、息的提供、保存、更新和查詢方面都要求滿足各種信息的輸出和輸入,符合用戶的基本需求。應用Access建立數據庫,選用C#作為開發(fā)工具,完成了對圖書管理系統(tǒng)的實現。索引關鍵詞:數據庫設計 Access應用 C#設計目錄第一章 緒 論11.1課題研究現狀分析11.2 選題的目的及意義11.3 章節(jié)安排1第二章 系統(tǒng)需求分析22.1 用戶調查2.圖書管理系統(tǒng)數據流圖22.3 數據字典5第三章 數據庫設計73.1數據庫概念結構設計73.2數據庫邏輯結構設計93.3數據庫實施10第四章 圖書管理系統(tǒng)使用說明13.圖書管理系統(tǒng)登錄界面:13.辦公室子系統(tǒng)界面:20.編目部子系統(tǒng)界面:24.流通部子系統(tǒng)界面:

3、29.讀者子系統(tǒng)界面:34第五章 總結39第 46 頁 共 40頁第一章 緒 論隨著數據庫技術在各行各業(yè)的廣泛應用,強大的數據庫窗口技術、良好的數據庫訪問能力和友好的用戶界面,日益成為設計者的得力助手。1.1課題研究現狀分析在現今信息化發(fā)達的社會,圖書的發(fā)行量與日俱增。傳統(tǒng)的圖書館需要制作有署名與對應編號的書卡,由讀者按分類查找再交由圖書管理員來處理借書工作,還書也要人工翻閱大量的記錄,這樣使得工作量大并及其繁瑣,效率變得低下。因此需要對書籍資源、讀者資源、借書信息進行管理,及時了解各個環(huán)節(jié)中信息的變更,有利用管理效率的提高。建立網上電子圖書管理系統(tǒng)的目的是實現無紙化圖書管理,減輕管理員的工作

4、量,方便讀者查閱所需的圖書,還可以利用網絡實現提醒讀者還書的功能。管理員還可以對各種圖書進行分析統(tǒng)計,對過時、損壞的圖書進行刪除,預約圖書供應商訂購更新的圖書。達到降低成本提高工作效率的目標。1.2 選題的目的及意義目的:圖書管理系統(tǒng)主要目的是對圖書館種類繁多的書籍進行管理,并且合理管理好用戶的借還信息。提高圖書館的工作效率,降低管理成本。意義:通過完成從用戶需求分析、數據庫設計到上機編程、調試和應用等全過程,進一步了解和掌握數據庫設計的思想和方法。1.3 章節(jié)安排 第一章為緒論部分,介紹課題的基本情況。第二章為系統(tǒng)需求設計分析,主要為數據流圖和數據字典。第三章介紹數據庫的設計,主要介紹數據庫

5、的邏輯設計,結構設計等。第四章主要為圖書管理系統(tǒng)的各個界面說明。第二章 系統(tǒng)需求分析2.1 用戶調查1.圖書館工作人員對功能的需求工作人員對功能的需求細分如下:、管理員信息的輸入,查詢,修改; 、書籍信息的輸入,查詢,修改;、借書信息的輸入;4 、學生信息的輸入,查詢,修改。、圖書信息更新:范圍可按書編號,名稱,價格,數量,類別等款目進行更新;、讀者人個信息的輸入、修改。查詢。建立讀者個人信息檔案,獲取當前讀者的個人信息。并根據學號查詢當前讀者當前的借書情況等。.圖書管理系統(tǒng)數據流圖圖書管理系統(tǒng)編目部子系統(tǒng)流通部子系統(tǒng)辦公室子系統(tǒng)讀者子系統(tǒng)圖書借閱圖書信息查詢管理員信息錄入管理員信息修改管理員

6、信息檢索讀者信息錄入,修改借閱情況查詢圖書信息檢索讀者信息查詢圖書編目圖書修改圖書編目圖2-1 系統(tǒng)功能分解圖2-2 第0層數據流圖數據輸出數據來源數據存儲數據處理數據流數據流檢查有效性根據權限處理數據用戶登錄要求圖2-3 第1層數據流圖無效輸入輸出查詢信息查詢請求接受查詢數據查詢圖書信息編目請求錄入圖書信息圖書信息表數據文件輸出修改信息修改請求修改圖書信息圖2-4 采編部數據流圖圖書借閱信息表輸出借閱信息借閱請求判斷讀者借閱權限記錄借閱信息接受讀者信息輸出查詢信息圖書查詢請求接受查詢數據查詢圖書信息圖書信息表輸出查詢信息讀者信息查詢請求接受查詢數據查詢讀者信息讀者信息表圖2-5 流通部數據流

7、圖輸出查詢信息查詢請求接受查詢數據查詢管理員信息管理員信息錄入請求錄入管理員信息管理員信息表數據文件輸出修改信息修改請求修改管理員信息圖2-6 辦公室數據流圖輸出查詢信息查詢請求接受查詢數據查詢讀者信息管理員信息錄入請求錄入讀者信息讀者信息表數據文件輸出修改信息修改請求修改讀者信息圖2-7 讀者系統(tǒng)數據流圖輸出查詢信息圖書查詢請求接受查詢數據查詢圖書信息圖書信息表2.3 數據字典1. 主要數據項的定義 .圖書信息表屬性名數據類型長度允許空備注BookId數字長整型N唯一Booknamechar50NBookPrice貨幣貨幣NBookQuantity數字長整型NCategoryIDchar50

8、N2.讀者信息表屬性名數據類型長度允許空備注StudentId數字長整型N唯一StudentNamechar50NStudentAddresschar50NStudentBirthdaydatetime無N3.管理員信息表屬性名數據類型長度允許空備注managerIDchar50N唯一managerNamechar50NmanagerZWchar50NmanagerAddresschar50NmanagerPSWchar50Y4.借閱圖書信息表屬性名數據類型長度允許空備注BorrowIdchar10NBookIdchar10NStudentIdchar50NBorrowQuantitydate

9、timeNBorrowDatedatetimeN第三章 數據庫設計3.1數據庫概念結構設計1.數據庫需要表述的信息有以下幾種:(1)圖書信息,(2)學生信息,(3)管理員信息(4)學生借閱圖書信息管理員管理圖書借閱讀者借出日期學號出生姓名地址管理員號職位姓名密碼書價書名書數量圖3-1 系統(tǒng)E-R圖借閱號圖書編號借出數量借出日期圖書類別通過分析整理可得圖書管理系統(tǒng)E-R圖為:由系統(tǒng)圖可得其主要數據流和主要處理過程:. 主要數據流定義 (1)數據流名稱:讀者信息 定義:學號+密碼姓名+性別+所屬系+電子郵件+備注 (2)數據流名稱:圖書信息 定義:流水號+分類號+索取號+書名+作者+價格+出版社+

10、出版日期+是否借出 (3)數據流名稱:管理員信息 定義:管理員編號+密碼姓名+性別+聯系電話 (4)數據流名稱:借閱圖書 定義:流水號+學號+書名+借書日期. 主要處理過程的定義 (1)處理過程:讀者管理輸入:讀者編號 輸出:讀者的注冊信息處理操作:對所有注冊的讀者信息建表,用學號作為讀者統(tǒng)一編號,編號是唯一的。 (2)處理過程:管理員管理 輸入:管理員編號號 輸出:管理員的基本信息 處理操作:對所有管理員編號,建立管理員信息表,管理員編號具有唯一性, (3)處理過程:圖書管理 輸入:流水號 輸出:圖書的基本信息 處理操作:對所有進館的圖書編號,建立圖書信息表,圖書編號具有唯一性, (4)處理

11、過程:圖書查詢 輸入:流水號 輸出:所查詢圖書的相關信息 處理操作:用戶登錄后可以查詢圖書信息,按圖書編號可以查詢到某本書的詳細情況,也可以通過書名,作者,出版社進行模糊查詢(5)處理過程:圖書借出 輸入:流水號,學號 輸出:圖書借閱信息 處理操作:添加圖書借閱記錄,建立圖書借閱信息表。3.2數據庫邏輯結構設計通過E/R模型到關系模型的轉化,可以得到如下關系模式:圖書(流水號,分類號,索取號,書名,作者,價格,出版社,出版日期,是否借出)。讀者(學號,姓名,性別,所屬系,電子郵件,備注)。管理員(管理員編號,密碼,姓名,性別,聯系電話,所屬部門)。部門(部門號,部門名稱)借閱圖書(流水號,學號

12、,借書日期,書名,應還日期,歸還標記)。每個關系模式的主鍵碼都用下劃線標出。(1)流水號是圖書的鍵碼,每本書有唯一的流水號。一個讀者可以同時借閱多本書,一個管理員可以處理多個讀者的借閱事宜。(2)同一本書可以借給不同的同學,同一個讀者可以再次借同一本書。于是借書關系的鍵碼為流水號,學號和借書日期的組合。(3)要知道圖書當前的狀態(tài),是在圖書館存放還是被借閱。需要在圖書的模式中增加對應項用以表示圖書當前的狀態(tài),現在增加是否借出項,并且約定取值和狀態(tài)的對應關系如下:0:在圖書館中沒有被借閱;1:已經被借出。3.3數據庫實施 3.3.1數據庫及表結構的創(chuàng)建 設本系統(tǒng)使用的數據庫名為圖書管理系統(tǒng),根據已

13、設計的關系模式及各模式的完整性要求,現在就可以在SQL Server 2005數據庫系統(tǒng)中實現這些邏輯結構。下面是創(chuàng)建基本表的SQL語句:create table 讀者信息create table 管理員信息create table 借閱圖書信息create table 圖書信息下面是使用Access 2003 建立的圖書管理系統(tǒng):系統(tǒng)各基本表的屬性如下:讀者信息圖書信息:管理員信息:借閱圖書信息:3.3.2數據庫前臺的設計根據數據庫的設計,該圖書管理系統(tǒng)可以分成四個子模塊:、圖書管理子模塊:、學生管理子模塊:、系統(tǒng)子模塊:根據3個模塊的不同功能,可以分別設計不同的操作界面,以實現其功能。根據

14、不同模塊的權限不同,設計登錄界面,根據不同的權限訪問不同的子系統(tǒng)。第四章 圖書管理系統(tǒng)使用說明.圖書管理系統(tǒng)登錄界面:圖書管理系統(tǒng)登錄界面:有超級管理員和非超級管理員之分,超級管理員主要是可以對管理員進行添加刪除修改功能,輸入正確的用戶名和密碼就可以分別進入對應的操作界面。如下圖:登錄部分相關代碼為:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;

15、using System.Windows.Forms;using System.Data.OleDb;namespace BookStore public partial class frmLogo : Form frmMain frm1; double op=0.05; public frmLogo(frmMain frm) InitializeComponent(); frm1 = frm; public frmLogo() InitializeComponent(); OleDbConnection con; private void button1_Click(object sende

16、r, EventArgs e) if (checkBox1.Checked != true) con = new OleDbConnection();/建立數據庫連接 con.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=BookStore.mdb" con.Open(); OleDbCommand cmd = new OleDbCommand("select * from Manager where managerID='" + textBox1.Text +

17、"' and managerPSW='" + textBox2.Text + "'", con); OleDbDataReader r = cmd.ExecuteReader(); if (r.Read() frm1.Enabled = true; this.Visible = false; con.Close(); else MessageBox.Show("密碼或用戶名錯誤!"); else con = new OleDbConnection();/建立數據庫連接 con.ConnectionString

18、= "Provider=Microsoft.Jet.OleDb.4.0;Data Source=BookStore.mdb" con.Open(); if (textBox1.Text = "08060126") OleDbCommand cmd = new OleDbCommand("select * from Manager where managerID='" + textBox1.Text + "' and managerPSW='" + textBox2.Text + "

19、'", con); OleDbDataReader r = cmd.ExecuteReader(); if (r.Read() frm1.Enabled = true; frm1.管理員注冊ToolStripMenuItem.Visible = true; this.Visible = false; con.Close(); else MessageBox.Show("密碼或用戶名錯誤!"); else MessageBox.Show("你不是超級管理員!"); textBox1.Text = "" textBox2

20、.Text = "" con.Close(); private void button2_Click(object sender, EventArgs e) DialogResult dig = 0; dig = MessageBox.Show("你確定退出嗎?", "信息提示!", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dig = DialogResult.Yes) timer1.Start(); else return; private void timer1

21、_Tick(object sender, EventArgs e) frm1.Opacity-=op; if (frm1.Opacity = 0) timer1.Stop(); this.Close(); frm1.Close(); 以超級管理員身份登錄該系統(tǒng),可以顯示管理員界面,管理員可以快速進入各模塊,沒有權限限制。.管理員管理子系統(tǒng)界面:辦公室系統(tǒng)主要進行對圖書館工作人員信息的管理??梢赃M行添加,修改,刪除等操作。上圖為管理員信息添加界面。1管理員信息修改界面:修改管理員信息時需填寫欲修改的管理員的管理員編號,然后在需要修改的項目上填寫新信息,不需要修改的地方可以不填寫。點擊修改按鈕確認

22、管理員信息的修改。相關代碼為:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.OleDb;namespace BookStore public partial class frmUpdateManager : Form public frmUpdateMana

23、ger() InitializeComponent(); OleDbCommand cmd; OleDbDataAdapter sdr; DataSet ds; private void frmUpdateManager_Load(object sender, EventArgs e) OleDbConnection con = new OleDbConnection();/建立數據庫連接 con.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=BookStore.mdb" string st

24、r = "select * from Manager" con.Open(); cmd = new OleDbCommand(str, con); sdr = new OleDbDataAdapter(cmd); ds = new DataSet(); sdr.Fill(ds, "Manager"); dataGridView1.DataSource = ds.Tables"Manager" textBox1.DataBindings.Add("Text", ds.Tables"Manager"

25、, "managerID"); textBox2.DataBindings.Add("Text", ds.Tables"Manager", "managerName"); textBox3.DataBindings.Add("Text", ds.Tables"Manager", "managerZW"); textBox4.DataBindings.Add("Text", ds.Tables"Manager", &q

26、uot;managerAddress"); textBox5.DataBindings.Add("Text", ds.Tables"Manager", "managerPSW"); private void button2_Click(object sender, EventArgs e) string mana_id = textBox1.Text; string mana_name = textBox2.Text; string mana_ZW = textBox3.Text; string mana_address =

27、 textBox4.Text; string mana_PSW = textBox5.Text; cmd.CommandText = "update Manager set managerName=name,managerZW=manaZW,managerAddress=address,managerPSW=manaPSW where managerID=manaid" OleDbParameter par = new OleDbParameter5; for (int i = 0; i < 5; i+) pari = new OleDbParameter(); pa

28、r0.ParameterName = "name" par0.Value = mana_name; par1.ParameterName = "manaZW" par1.Value = mana_ZW; par2.ParameterName = "address" par2.Value = mana_address; par3.ParameterName = "manaPSW" par3.Value = mana_PSW; par4.ParameterName = "manaid" par4.V

29、alue = mana_id; for (int j = 0; j < 5; j+) cmd.Parameters.Add(parj); int n = cmd.ExecuteNonQuery(); if (n = 1) MessageBox.Show("學生信息修改成功!"); else MessageBox.Show("修改失敗錯誤!"); 2,添加管理員:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;usi

30、ng System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.OleDb;namespace BookStore public partial class frmAddManager : Form OleDbConnection con; OleDbDataAdapter da; DataSet ds; public frmAddManager() InitializeComponent(); con = new OleDbConnection();/建立數據

31、庫連接 con.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=BookStore.mdb" da = new OleDbDataAdapter("select * from Manager", con); ds = new DataSet("Manager"); private void frmAddManager_Load(object sender, EventArgs e) da.Fill(ds, "Manager"); Bi

32、ndingSource bs = new BindingSource(); /綁定數據源 bs.DataSource = ds.Tables"Manager" /為綁定數據源賦值 dataGridView1.DataSource = bs;/和控件綁定 textBox1.Focus(); button2.Enabled = false; private void button1_Click(object sender, EventArgs e) con.Open(); OleDbCommand cmd = new OleDbCommand("select * fr

33、om Manager where managerID=mana_id", con); cmd.Parameters.Add(new OleDbParameter("mana_id", textBox2.Text); OleDbDataReader r = cmd.ExecuteReader(); if (r.Read() con.Close(); MessageBox.Show("學生學號已存在!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error); textBox1.

34、Text = "" textBox2.Text = "" textBox3.Text = "" textBox4.Text = "" textBox5.Text = "" textBox1.Focus(); else if (textBox1.Text = "") MessageBox.Show("管理員姓名不能為空!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error); else

35、 if (textBox2.Text = "") MessageBox.Show("管理員編號不能為空!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error); else MessageBox.Show("學生信息填寫正確請保存!"); button1.Enabled = false; button2.Enabled = true; con.Close(); private void button2_Click(object sender, EventArgs

36、e) string mana_id = textBox2.Text; string mana_name = textBox1.Text; string mana_ZW = textBox3.Text; string mana_address = textBox4.Text; string mana_PSW = textBox5.Text; con.Open(); OleDbCommand cmd = new OleDbCommand("insert into Manager values(mana_id,mana_name,mana_ZW,mana_address,mana_PSW)

37、", con); OleDbParameter par = new OleDbParameter5; for (int i = 0; i < 5; i+) pari = new OleDbParameter(); par0.ParameterName = "mana_id" par0.Value = mana_id; par1.ParameterName = "mana_name" par1.Value = mana_name; par2.ParameterName = "mana_ZW" par2.Value = m

38、ana_ZW; par3.ParameterName = "mana_address" par3.Value = mana_address; par4.ParameterName = "mana_PSW" par4.Value = mana_PSW; for (int j = 0; j < 5; j+) cmd.Parameters.Add(parj); int n = cmd.ExecuteNonQuery(); if (n = 1) MessageBox.Show("學生信息添加成功!"); else MessageBox.

39、Show("學生信息添加失敗"); con.Close(); textBox1.Text = "" textBox2.Text = "" textBox3.Text = "" textBox4.Text = "" textBox5.Text = "" textBox1.Focus(); button1.Enabled = true; button2.Enabled = false; frmStudentupdata();/更新dataGriviw的顯示 private voi

40、d frmStudentupdata() ds = null; ds = new DataSet();/這點很重要! da.Fill(ds, "Manager"); BindingSource bs = new BindingSource(); /綁定數據源 bs.DataSource = ds.Tables"Manager" /為綁定數據源賦值 dataGridView1.DataSource = bs;/和控件綁定 textBox1.Focus(); button2.Enabled = false; 3,刪除管理員:using System;usin

41、g System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.OleDb;namespace BookStore public partial class frmDelete : Form public frmDelete() InitializeComponent(); string str = &quo

42、t;Provider=Microsoft.Jet.OleDb.4.0;Data Source=BookStore.mdb" private void button1_Click(object sender, EventArgs e) OleDbConnection con = new OleDbConnection(str); con.Open(); OleDbCommand comm = new OleDbCommand("delete * from Manager where managerID='" + textBox1.Text + "&

43、#39;", con); int n = comm.ExecuteNonQuery(); if (n = 1) MessageBox.Show("刪除成功!"); else if (textBox1.Text = "") MessageBox.Show("編號不能為空!"); else MessageBox.Show("不存在你要刪除的管理員!"); con.Close(); .圖書管理子系統(tǒng)界面:1,新書入庫:相關代碼:using System;using System.Collections.Gene

44、ric;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.OleDb;namespace BookStore public partial class frmNewBook : Form public frmNewBook() InitializeComponent(); DataTable dt; DataRow dr; int boroowid = 0; string constring = &qu

溫馨提示

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

評論

0/150

提交評論