




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)據(jù)庫技術(shù)與應(yīng)用題目:數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)適用專業(yè): 指導(dǎo)老師: 班級: 姓名: 學(xué)號: 2010年2月圖書是人類文明的見證,隨著高科技的發(fā)展各式各樣圖書越來越多,圖書館和書店的管理也越來越復(fù)雜。如今圖書管理系統(tǒng)是一個書店或一個圖書館的必備系統(tǒng)。一個安全可靠并且對于用戶比較實(shí)用的圖書管理系統(tǒng)來說變得尤其重要。本次設(shè)計(jì)設(shè)計(jì)了一個在DELPHI平臺基于SQL Server 2000開發(fā)出的圖書管理系統(tǒng)。在系統(tǒng)的設(shè)計(jì)上面實(shí)現(xiàn)了該系統(tǒng)的交互式界面。從系統(tǒng)的需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)入手,詳細(xì)闡述了一個C/S結(jié)構(gòu)的圖書管理信息系統(tǒng)主要功能的實(shí)現(xiàn)過程。每一階段均給出了相應(yīng)
2、的理論依據(jù)和實(shí)現(xiàn)內(nèi)容,并介紹了系統(tǒng)實(shí)現(xiàn)部分的主要算法。整個系統(tǒng)的設(shè)計(jì)與開發(fā)嚴(yán)格按照軟件工程思想進(jìn)行,從需求分析到系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)、從原型系統(tǒng)設(shè)計(jì)到迭代完善,本圖書管理系統(tǒng)涵蓋了六個主要的子系統(tǒng):圖書資料管理、讀者資料管理、借書操作、還書操作、刪除、修改和查詢處理,提高了工作的準(zhǔn)確率和效率。本圖書管理信息系統(tǒng)是利用計(jì)算機(jī)管理信息處理的迅速、準(zhǔn)確、可靠且具有強(qiáng)大存儲能力的突出特點(diǎn),全面提高圖書館的管理水平和工作效率,并以及時、完整的業(yè)務(wù)經(jīng)營資料,為圖書館的及時轉(zhuǎn)換提供一定的支持。關(guān)鍵詞:數(shù)據(jù)庫,SQL server 2000,Delphi 7,圖書管理系統(tǒng)1.1 課題研究現(xiàn)狀分析在現(xiàn)金信息化發(fā)達(dá)的社
3、會,圖書的發(fā)行量與日俱增。因此需要對書籍資源、讀者資源、借書信息、還書信息進(jìn)行管理,及時了解各個環(huán)節(jié)中信息的變更,有利用管理效率的提高。傳統(tǒng)的圖書館需要制作有署名與對應(yīng)編號的書卡,由讀者按分類查找再交由圖書管理員來處理借書工作,還書也要人工翻閱大量的記錄,這樣使得工作量大并及其繁瑣,效率變得低下。建立網(wǎng)上電子圖書管理系統(tǒng)的目的是實(shí)現(xiàn)無紙化圖書管理,減輕管理員的工作量,方便讀者查閱所需的圖書,還可以利用網(wǎng)絡(luò)實(shí)現(xiàn)提醒讀者還書的功能。管理員還可以對各種圖書進(jìn)行分析統(tǒng)計(jì),對過時、損壞的圖書進(jìn)行刪除。達(dá)到降低成本提高工作效率的目標(biāo)。1.1.1 本領(lǐng)域內(nèi)已開展的研究工作1. 理論研究基礎(chǔ)(1)數(shù)據(jù)庫設(shè)計(jì)方
4、法的完整化、多樣化,又有多學(xué)科的綜合性。(2)數(shù)據(jù)庫設(shè)計(jì)步驟的規(guī)范化和細(xì)致化。(3)數(shù)據(jù)庫技術(shù)不斷的更新,并不斷增加新的技術(shù),兼容性范圍也逐漸擴(kuò)大。2. 技術(shù)層面的支持SQL Server的普遍應(yīng)用,并得到的用戶的支持,與Windows操作系統(tǒng)的完全兼容性也決定了它在今天仍然有著龐大的使用群體。SQL Server2000作為后臺數(shù)據(jù)庫與前臺開發(fā)軟件Visual Basic、C#、Visual C+、Delphi等都能夠無縫連接。1.1.2 已經(jīng)取得的研究成果(1)開發(fā)出了一套系統(tǒng)的數(shù)據(jù)庫理論,安全性、完整性、并發(fā)性、恢復(fù)性都有完整的概述。(2)隨著Internet的迅猛發(fā)展,數(shù)據(jù)庫在各個領(lǐng)域
5、作為后臺存儲得到了廣泛的支持。(3)完善的數(shù)據(jù)庫管理并與前臺開發(fā)軟件的結(jié)合使用開發(fā)了一系列優(yōu)秀的圖書管理系統(tǒng),在商業(yè)、經(jīng)濟(jì)等方面得到了廣泛的應(yīng)用。1.2 選題的目的及意義目的:圖書管理系統(tǒng)主要目的是對圖書館種類繁多的書籍進(jìn)行管理,并且合理管理好用戶的借還信息。提高圖書館的工作效率,降低管理成本。意義:通過完成從用戶需求分析、數(shù)據(jù)庫設(shè)計(jì)到上機(jī)編程、調(diào)試和應(yīng)用等全過程,進(jìn)一步了解和掌握本書中所講解的內(nèi)容。2.1 用戶調(diào)查1.管理員對功能的需求 管理員對功能的需求細(xì)分如下: 讀者基本信息的輸入,查詢,修改,刪除; 書籍信息的輸入,查詢,修改,刪除; 借書信息的輸入。 還書信息的輸入。2.讀者對功能的
6、需求 圖書信息檢索,范圍可按圖書編號檢索,最快時間查找目標(biāo)書籍; 讀者人個信息檢索,獲取當(dāng)前讀者的個人信息,修改個人信息;并根據(jù)學(xué)號查詢當(dāng)前讀者當(dāng)前的借書情況等。2.2操作流程圖管理員登錄1.管理員操作流程圖刪除功能修改功能查詢功能錄入功能2.普通用戶操作流程圖普通用戶查詢借書信息圖書信息學(xué)生信息2.3對于這個圖書管理系統(tǒng)管理系統(tǒng),其主要通過四個表中的學(xué)號進(jìn)行連接的,可以通過學(xué)號查出學(xué)生的基本信息,借閱情況及還書情況等數(shù)據(jù)庫需要表述的信息有以下幾種:(1)圖書信息,(2)學(xué)生信息,(3)用戶信息(4)還書信息學(xué)號可以用E/R模型表述該模型的設(shè)計(jì),圖如圖3-1所示圖書號學(xué)號班級圖書借書學(xué)生管理姓
7、名學(xué)號圖書名稱還書日圖書號還書情況管理管理圖書名還書用戶密碼用戶名2.4數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)通過E/R模型到關(guān)系模型的轉(zhuǎn)化,可以得到如下關(guān)系模式:學(xué)生(學(xué)號,姓名,班級)圖書(圖書號,圖書名稱,學(xué)號)還書(圖書號,學(xué)號,還書日期)用戶(用戶名,密碼)每個關(guān)系模式的主碼都用下劃線標(biāo)出。(1)學(xué)號是學(xué)生的主鍵,每個學(xué)生有唯一的學(xué)號。一個學(xué)生可以借閱不同的圖書。(2)每一個圖書對應(yīng)唯一的圖書編號,可以被不同的學(xué)生借閱。2.5數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計(jì)(1)數(shù)據(jù)類型(2)表的設(shè)計(jì)2.6視圖的實(shí)現(xiàn)3 數(shù)據(jù)庫行為功能設(shè)計(jì)3.1 安全控制任何數(shù)據(jù)庫應(yīng)用系統(tǒng)都需要安全控制功能,教學(xué)管理系統(tǒng)用戶分為如下幾類:(1)系統(tǒng)管
8、理員:有系統(tǒng)的全部權(quán)限;(2)普通用戶:具有對數(shù)據(jù)的查詢權(quán)。若為系統(tǒng)管理員 則直接進(jìn)入歡迎界面若為普通用戶,則直接進(jìn)入查詢系統(tǒng)執(zhí)行操作的主界面3.2數(shù)據(jù)操作數(shù)據(jù)操作功能包括對這些數(shù)據(jù)進(jìn)行錄入、刪除、修改功能。(1)數(shù)據(jù)錄入只有管理員才能錄入相應(yīng)表中的數(shù)據(jù)。(2)數(shù)據(jù)刪除只有管理員才能刪除相應(yīng)表中的數(shù)據(jù)。刪除數(shù)據(jù)時要注意表之間的關(guān)聯(lián)關(guān)系,在刪除以前須提醒用戶確認(rèn)是否真的要刪除此數(shù)據(jù)。(3)數(shù)據(jù)修改只有管理員才能修改相應(yīng)表中的數(shù)據(jù)。查詢要修改的內(nèi)容修改具體的內(nèi)容(4)數(shù)據(jù)查詢學(xué)生信息查詢還書項(xiàng)目查詢:圖書信息查詢:實(shí)驗(yàn)心得 本設(shè)計(jì)使用Microsoft SQL Server 2000創(chuàng)建后臺數(shù)據(jù)庫
9、,并且運(yùn)用Delphi7制作操作界面,實(shí)現(xiàn)對學(xué)生成績管理系統(tǒng)的功能操作。通過對信息多種操作(錄入、刪除、查詢、修改)等功能完成對學(xué)生成績管理系統(tǒng)的操作管理。(1) 通過本次的課程設(shè)計(jì),感覺到了知識的重要性和強(qiáng)大的應(yīng)用能力,對數(shù)據(jù)庫的強(qiáng)大的數(shù)據(jù)處理能力有了基本的了解;(2) 對Delphi技術(shù)有了深刻的認(rèn)識,包括各種組件(Button,edit,label,Dbgit,Groupbox等)的作用,以及為了實(shí)現(xiàn)查詢、修改、刪除、錄入等時源代碼的語法語義有了最基本的了解 ;(3) 掌握了用Delphi連接數(shù)據(jù)庫的Ado連接方法,讓數(shù)據(jù)庫的作用更加具體形象,可以在Delphi窗體上顯示數(shù)據(jù)庫中具體內(nèi)容
10、;(4) 培養(yǎng)了自己自學(xué)一門新技術(shù)的能力,通過在圖書館查閱資料、在網(wǎng)上搜素等方法,同時認(rèn)識到合作的重要性,通過與同學(xué)的交流讓自己少走了很多的彎路;(5) 由于代碼容易出現(xiàn)錯誤,需要有耐心,培養(yǎng)了科學(xué)嚴(yán)謹(jǐn),精益求精的學(xué)習(xí)態(tài)度;(6) 通過這次課程設(shè)計(jì),自己的獨(dú)立分析問題和解決問題都有很大的提高;最后,感謝老師一個學(xué)期的教學(xué)授課,感謝對課題選擇,制作方法等的耐心指導(dǎo)!附錄(源代碼)unit Unit7;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, S
11、tdCtrls, DB, ADODB;type TForm7 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Edit2: TEdit; Button1: TButton; Button2: TButton; ADOConnection1: TADOConnection; ADOTable1: TADOTable; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private Private declar
12、ations public Public declarations end;var Form7: TForm7;implementation$R *.dfm uses unit2, Unit1,unit4;procedure TForm7.Button1Click(Sender: TObject);var results:variant;begin ADOTable1.Close; ADOTable1.Open; ADOTable1.Active; results:=ADOTable1.Lookup('用戶名',edit1.text,'密碼');檢索數(shù)據(jù)庫中對應(yīng)
13、用戶名的密碼項(xiàng) if edit1.Text='' then application.MessageBox('用戶名不能為空!','提示',mb_ok) else if edit2.Text='' then application.messagebox('密碼不能為空!','警告',mb_ok) else if (results)=edit2.Text then begin if edit1.Text = '管理員' then begin form1.Show; end else be
14、gin form4.show; end end else showmessage('密碼錯誤或用戶不存在!'); edit1.Visible:=true; edit2.Visible:=true; edit1.Text:='' edit2.Text:='' end;procedure TForm7.Button2Click(Sender: TObject);beginform7.Close;end;end.unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes
15、, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Image1: TImage; Label1: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private Private declarations public Public declarations end;
16、var Form1: TForm1;implementationuses Unit2;$R *.dfmprocedure TForm1.Button1Click(Sender: TObject);beginform2.show;end;procedure TForm1.Button2Click(Sender: TObject);beginform1.Close;end;end.unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, S
17、tdCtrls;type TForm2 = class(TForm) GroupBox1: TGroupBox; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private
18、 Private declarations public Public declarations end;var Form2: TForm2;implementationuses Unit3, Unit4, Unit5, Unit6;$R *.dfmprocedure TForm2.Button1Click(Sender: TObject);beginform3.show;end;procedure TForm2.Button2Click(Sender: TObject);beginform4.show;end;procedure TForm2.Button3Click(Sender: TOb
19、ject);beginform5.show;end;procedure TForm2.Button4Click(Sender: TObject);beginform6.show;end;end.unit Unit3;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls;type TForm3 = class(TForm) GroupBox1: TGroupBox; Label1: T
20、Label; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; ADOConnection1: TADOConnection; ADOTable1: TADOTable; DataSource1: TDataSource; DBGrid1: TDBGrid; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sende
21、r: TObject); private Private declarations public Public declarations end;var Form3: TForm3;implementation$R *.dfmprocedure TForm3.Button1Click(Sender: TObject);beginadotable1.Close; adotable1.Open; if (edit1.Text='')or(edit1.Text='')or(edit3.Text='') thenbeginapplication.Mess
22、ageBox('信息不完整!','錯誤操作',mb_ok);exit;end ; with adotable1 do begin open; adotable1.insertrecord(edit1.text,edit2.text,edit3.text) ; edit; post; edit1.text:='' edit2.text:='' edit3.text:='' application.MessageBox('信息已錄入!','確認(rèn)',mb_ok); adotable1.Cl
23、ose; ADOTABLE1.Open;end;end;procedure TForm3.Button2Click(Sender: TObject);beginform3.Close;end;end.unit Unit4;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, Grids, DBGrids, ADODB;type TForm4 = class(TForm) GroupBox1: TGroupBox; Label1
24、: TLabel; Button1: TButton; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DBGrid1: TDBGrid; DataSource1: TDataSource; Edit1: TEdit; ComboBox1: TComboBox; Label2: TLabel; Label3: TLabel; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); privat
25、e Private declarations public Public declarations end;var Form4: TForm4;implementation$R *.dfm procedure TForm4.Button1Click(Sender: TObject); varsql:string; begin DBgrid1.Visible:=true;DBgrid1.Font.Color:=clteal;if (combobox1.text='圖書信息') thenbeginif (edit1.text='') thenbegin Messag
26、eBox(handle,'請輸入,不能為空!','提示',MB_OK or MB_ICONINFORMATION); exit; end else begin sql:='where ( 圖書號='''+edit1.Text+''') ' adoquery1.SQL.Clear; adoquery1.Close; ADOQuery1.SQL.Add('select * from 圖書表'); ADOQuery1.SQL.Add(sql); MessageBox(handle,'
27、;查詢完畢!','提示',MB_OK or MB_ICONINFORMATION); adoquery1.Open; edit1.Text:='' end ; end else if (combobox1.text='還書項(xiàng)目') thenbeginif (edit1.text='') thenbegin MessageBox(handle,'請輸入,不能為空!','提示',MB_OK or MB_ICONINFORMATION); exit; end else begin sql:=
28、9;where ( 學(xué)號='''+edit1.Text+''') ' adoquery1.SQL.Clear; adoquery1.Close; ADOQuery1.SQL.Add('select * from 還書表'); ADOQuery1.SQL.Add(sql); MessageBox(handle,'查詢完畢!','提示',MB_OK or MB_ICONINFORMATION); adoquery1.Open; edit1.Text:='' end ; end e
29、lse if (combobox1.text='學(xué)生信息') thenbeginif (edit1.text='') thenbegin MessageBox(handle,'請輸入,不能為空!','提示',MB_OK or MB_ICONINFORMATION); exit; end else begin sql:='where ( 學(xué)號='''+edit1.Text+''') ' adoquery1.SQL.Clear; adoquery1.Close; ADOQ
30、uery1.SQL.Add('select * from 學(xué)生信息表'); ADOQuery1.SQL.Add(sql); MessageBox(handle,'查詢完畢!','提示',MB_OK or MB_ICONINFORMATION); adoquery1.Open; edit1.Text:='' end ; end;end;procedure TForm4.Button2Click(Sender: TObject);begin form4.Close;end;end.unit Unit5;interfaceuses Wi
31、ndows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls;type TForm5 = class(TForm) GroupBox1: TGroupBox; Button1: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Button2: TButton; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3
32、: TEdit; Edit4: TEdit; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; DBGrid1: TDBGrid; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private Private declarations public Pu
33、blic declarations end;var Form5: TForm5;implementation$R *.dfmprocedure TForm5.Button1Click(Sender: TObject); varsql:string; begin DBgrid1.Visible:=true;DBgrid1.Font.Color:=clteal;if (edit1.text='') thenbegin MessageBox(handle,'請輸入,不能為空!','提示',MB_OK or MB_ICONINFORMATION); ex
34、it; end else begin sql:='where ( 學(xué)號='''+edit1.Text+''') ' adoquery1.SQL.Clear; adoquery1.Close; ADOQuery1.SQL.Add('select * from 還書表'); ADOQuery1.SQL.Add(sql); MessageBox(handle,'查詢完畢!','提示',MB_OK or MB_ICONINFORMATION); adoquery1.Open; end;end
35、;procedure TForm5.Button2Click(Sender: TObject);beginDBgrid1.Visible:=true; DBgrid1.Font.Color:=clteal; if (edit2.Text='')or(edit3.Text='')or(edit4.Text='') thenbeginapplication.MessageBox('信息不完整!','錯誤操作',mb_ok);exit;end ; with adoquery1 do begin Close; sql.Cl
36、ear;SQL.Add('Update 還書表 SET 學(xué)號= :A,圖書號= :B,還書日= :C where 學(xué)號='+Edit1.Text);Parameters.ParamByName('A').Value:=Edit2.Text;Parameters.ParamByName('B').Value:=Edit3.Text;Parameters.ParamByName('C').value:=Edit4.Text; execsql; close; sql.Clear; edit1.text:='' edit3.text:='' edit4.text:='' edit2.text:='' application.MessageBox('信息
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年3月份跨境物流中高價值材料防篡改封裝技術(shù)規(guī)范
- 護(hù)士簡述鼻科手術(shù)后護(hù)理常規(guī)
- 醫(yī)務(wù)人員崗位培訓(xùn)
- 浙江省醫(yī)療衛(wèi)生事業(yè)單位招聘-中藥類歷年考試真題庫(含答案)
- 山西省衛(wèi)生類事業(yè)單位公開招聘(醫(yī)學(xué)影像)歷年考試真題庫及答案
- 放射科操作規(guī)范
- 我愛刷牙繪畫課件
- 2025屆新余市重點(diǎn)中學(xué)高考化學(xué)全真模擬密押卷含解析
- 河南省環(huán)際大聯(lián)考“逐夢計(jì)劃”2024-2025學(xué)年高一下學(xué)期階段性考試(一)數(shù)學(xué)試題(解析版)
- 四上數(shù)學(xué)2.4 三位數(shù)除以兩位數(shù)的筆算(調(diào)商)
- 茶葉產(chǎn)業(yè)園項(xiàng)目計(jì)劃書(參考模板)
- 入伍簡歷當(dāng)兵簡歷.doc
- 國家旅游局新版團(tuán)隊(duì)出境旅游合同模板
- 裝修工程施工進(jìn)度計(jì)劃表excel模板
- 一元立木材積表
- 4S店三表一卡標(biāo)準(zhǔn)模板
- 部編人教版二年級下冊道德與法治全冊教學(xué)課件
- 五年級語文下冊 第四單元 9 古詩三首教學(xué)反思1 新人教版 素材
- 高中生物競賽 第九章 染色體畸變課件
- 四年級下冊《小數(shù)的意義和性質(zhì)》整理和復(fù)習(xí)
- 土壤污染修復(fù)技術(shù)對比分析
評論
0/150
提交評論