-
大小: 4.39MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2024-01-31
- 語(yǔ)言: C#
- 標(biāo)簽:
資源簡(jiǎn)介
具體要解決的問(wèn)題如下:
圖書管理系統(tǒng)設(shè)計(jì)
圖書管理系統(tǒng)其實(shí)是一個(gè)很復(fù)雜的信息管理系統(tǒng),它包括很多分類、檢索等方面的內(nèi)容。因?yàn)槠鋸?fù)雜性,建立這樣一個(gè)系統(tǒng)更加能體現(xiàn)出運(yùn)用SQL Server數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)處理的優(yōu)越性。本課題將實(shí)現(xiàn)一個(gè)簡(jiǎn)化的圖書管理系統(tǒng)的功能。
1.系統(tǒng)功能設(shè)計(jì)
(1)信息錄入功能
1)添加新圖書信息。當(dāng)圖書館收藏新圖書時(shí),系統(tǒng)向用戶提供新圖書信息錄入功能,由于同一種書可能會(huì)有多本,因此,新圖書的信息有兩類:某一個(gè)ISBN類別的圖書信息,包括:ISBN書號(hào)、圖書類別、書名、作者、出版社、出版日期、價(jià)格、館藏?cái)?shù)量、可借數(shù)量、圖書簡(jiǎn)介;另一個(gè)具體到每一本書的信息,包括:ISBN書號(hào)、圖書書號(hào)、是否可借。每一個(gè)ISBN書號(hào)和同一個(gè)ISBN書號(hào)的多本書之間是一對(duì)多的關(guān)系,每一本書的圖書書號(hào)是唯一的。
2)添加讀者信息。用于登記新讀者信息。包括:借書證號(hào)、姓名、性別、身份證號(hào)、職稱、可借數(shù)量、已借數(shù)量、工作部門、聯(lián)系電話等。
3)借閱信息。用于登記讀者的借閱情況信息。包括:借書證號(hào)、借閱書號(hào)、借出日期、借閱期限、歸還日期等信息。歸還日期為空值表示該圖書未歸還。
(2)數(shù)據(jù)修改和刪除功能
1)修改和刪除圖書信息。圖書被借出時(shí),系統(tǒng)需要更新圖書信息的可借數(shù)量,當(dāng)可借數(shù)量為0時(shí),表示該圖書都已被借出。當(dāng)輸入的圖書信息有錯(cuò)誤或需要進(jìn)行必要更新時(shí),可以修改圖書信息;當(dāng)一種圖書所有館藏圖書都已損毀或遺失并且不能重新買到時(shí),該圖書信息需要?jiǎng)h除。
2)修改和刪除讀者信息。當(dāng)讀者的自身信息發(fā)生變動(dòng),如部門間調(diào)動(dòng)或調(diào)離本單位,或違反圖書館規(guī)定需要限制其可借閱圖書數(shù)量時(shí),需要修改讀者信息。
3)還書處理。讀者歸還圖書時(shí),更新圖書借閱信息表中的歸還日期,讀者信息表中的已借數(shù)量及ISBN類別信息表中該圖書的可借數(shù)量。
(3)查詢和統(tǒng)計(jì)功能
1)圖書查詢功能。根據(jù)圖書的各種已知條件來(lái)查詢圖書的詳細(xì)信息,如書名、作者、出版社、ISBN書號(hào)等支持模糊查詢。
2)讀者信息查詢。輸入讀者的借書證號(hào)、姓名、工作部門等信息,查詢讀者的基本信息。對(duì)查詢到的每一個(gè)讀者,能夠顯示其未歸還的圖書編號(hào)和書名。
3)查詢所有到期未歸還的圖書信息。要求結(jié)果顯示圖書編號(hào)、書名、讀者姓名、借書證號(hào)碼、借出日期等信息。
4)統(tǒng)計(jì)指定讀者一段時(shí)間內(nèi)的某類圖書或所有類別圖書借閱次數(shù)及借閱總次數(shù)。
2.數(shù)據(jù)表的創(chuàng)建
根據(jù)功能要求的說(shuō)明創(chuàng)建下列數(shù)據(jù)表:
(1)圖書ISBN類別信息表
圖書ISBN類別信息表包括以下字段:
ISBN書號(hào)、圖書類別、書名、作者、出版社、出版日期、價(jià)格、館藏?cái)?shù)量、可借數(shù)量、圖書簡(jiǎn)介。
(2)圖書信息表
圖書信息表包括以下字段:
ISBN書號(hào)、圖書書號(hào)、是否可借。
(3)讀者信息表
讀者信息表包括以下字段:
借書證號(hào)、姓名、性別、出生年月、身份證號(hào)、職稱、可借數(shù)量、已借數(shù)量、工作部門、家庭地址、聯(lián)系電話。
(4)借閱信息表(圖書-讀者關(guān)系)
借閱信息表包括以下字段:
借書證號(hào)、借閱書號(hào)、借出日期、借閱期限、歸還日期。
3.數(shù)據(jù)庫(kù)完整性設(shè)計(jì)
設(shè)計(jì)者應(yīng)認(rèn)真分析和思考各個(gè)表之間的關(guān)系,合理設(shè)計(jì)和實(shí)施數(shù)據(jù)完整性原則。
1) 給每個(gè)表實(shí)施主鍵及外鍵約束。
2) 設(shè)定缺省約束。如性別。
3) 設(shè)置非空約束如圖書信息表中的書名。
4) 實(shí)施CHECK約束。如ISBN類別表中的可借數(shù)量小于館藏?cái)?shù)量。
5) 實(shí)施規(guī)則。如身份證號(hào)碼必須為15為或18位。
4.SQL Server數(shù)據(jù)庫(kù)對(duì)象設(shè)計(jì)
1)設(shè)計(jì)一個(gè)存儲(chǔ)過(guò)程,以圖書編號(hào)為輸入?yún)?shù),返回借閱該圖書但未歸還的讀者姓名和借書證號(hào)。
2)讀者資料查詢:設(shè)計(jì)一個(gè)有多個(gè)輸入?yún)?shù)的存儲(chǔ)過(guò)程,返回讀者的詳細(xì)信息。設(shè)計(jì)另一存儲(chǔ)過(guò)程并以讀者借書證號(hào)為輸入?yún)?shù),返回該讀者未歸還的圖書名稱和圖書編號(hào)。
3)到期圖書查詢:設(shè)計(jì)一個(gè)視圖,返回所有逾期未歸還的圖書的編號(hào)、書名、讀者姓名等信息。
4)統(tǒng)計(jì)圖書借閱次數(shù):設(shè)計(jì)一個(gè)以兩個(gè)日期作為輸入?yún)?shù)的存儲(chǔ)過(guò)程,計(jì)算這一段時(shí)間內(nèi)各類別圖書被借閱的次數(shù),返回圖書類別、借閱次數(shù)的信息。
5)加快數(shù)據(jù)檢索速度,用圖書編號(hào)為圖書信息表建立索引。
6)為讀者信息表創(chuàng)建一個(gè)刪除觸發(fā)器,當(dāng)一個(gè)讀者調(diào)出本單位時(shí),將此讀者的資料從讀者信息表中刪除。注意實(shí)施業(yè)務(wù)規(guī)則:有借閱書的讀者不得從讀者信息表中刪除。
7)借閱處理:為借閱信息表設(shè)計(jì)INSERT觸發(fā)器,在讀者借閱時(shí)更改ISBN類別信息表,且可借數(shù)量減1,圖書信息表是否可借列的值變?yōu)椤安豢山琛保x者信息表中該類讀者已借閱數(shù)加1。
8)還書處理:為借閱信息表設(shè)計(jì)UPDATE觸發(fā)器,在該表的歸還日期列被更改后,將圖書信息表的是否可借列的值變?yōu)椤翱山琛保x者信息表中已借數(shù)量減1及ISBN類別信息表中可借數(shù)量加1。

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.Data?.SqlClient;
using?System.Data;
namespace?ClassLibrary
{
????public?class?Dbconnection
????{
????????///?
????????///?SQL-server?數(shù)據(jù)庫(kù)連接
????????///?
????????///?SqlConnection?myConnection
????????public?static?SqlConnection?Dblink()
????????{
????????????string?connectionString?=?“server=(local);database?=Library;integrated?security=true“;
????????????SqlConnection?myConnection?=?new?SqlConnection(connectionString);
????????????//SqlCommand?command?=?new?SqlCommand(connectionString);
????????????return?myConnection;
????????}
????????///?
????????///?執(zhí)行SQL語(yǔ)句
????????///?
????????///?
????????///?int?number
????????public?int?ExeInfochange(string?sql)
????????{
????????????try
????????????{
????????????????SqlConnection?myConnection?=?Dblink();
????????????????SqlCommand?myCommand?=?myConnection.CreateCommand();
????????????????myCommand.CommandText?=?sql;
????????????????myConnection.Open();
????????????????int?number?=?myCommand.ExecuteNonQuery();
????????????????myConnection.Close();
????????????????myConnection.Dispose();
????????????????return?number;
????????????}
????????????catch?(Exception)
????????????{
????????????????return?0;
????????????}
????????}
????????///?
????????///?執(zhí)行?Select?語(yǔ)句
????????///?
????????///?
????????///?
????????public?object?ExecuteSelect(string?sql)
????????{
????????????try
????????????{
????????????????SqlConnection?myConnection?=?Dblink();
????????????????SqlCommand?myCommand?=?myConnection.CreateCommand();
????????????????myCommand.CommandText?=?sql;
????????????????myConnection.Open();
????????????????int?number?=?Convert?.ToInt32(myCommand.ExecuteScalar());
????????????????myConnection.Close();
????????????????myConnection.Dispose();
????????????????return?number;
????????????}
????????????catch?(Exception)
????????????{
????????????????return?0;
????????????}
????????}
????????///?
????????///?獲取數(shù)據(jù)集
????????///?
????????///?
????????///?DataSet?ds
????????public?DataSet?ds(string?str1)
????????{
????????????string?sql?=?str1;
????????????try
????????????{
????????????????SqlConnection?myConnection?=?Dblink();
????????????????SqlCommand?myCommand?=?myConnection.CreateCommand();
????????????????myCommand.CommandText?=?sql;
????????????????myConnection.Open();
????????????????SqlDataAdapter?myDataReader?=?new?SqlDataAdapter();
????????????????myDataReader.SelectCommand?=?myCommand;
????????????????DataSet?ds?=?new?DataSet();
????????????????myDataReader.Fill(ds);
????????????????myConnection.Close();
????????????????myConnection.Dispose();
????????????????return?ds;
????????????}
????????????catch?(Excepti
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????20480??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\bin\Debug\ClassLibrary.dll
?????文件??????19968??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\bin\Debug\ClassLibrary.pdb
?????文件????1093632??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\bin\Debug\Interop.Excel.dll
?????文件?????217088??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\bin\Debug\Interop.Microsoft.Office.Core.dll
?????文件??????57344??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\bin\Debug\Interop.VBIDE.dll
?????文件???????2972??2008-12-08?08:44??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\ClassLibrary.csproj
?????文件???????3102??2009-01-01?20:20??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\Dbconnection.cs
?????文件???????6937??2008-12-31?03:37??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\Dbinfoshow.cs
?????文件????????417??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\obj\ClassLibrary.csproj.FileList.txt
?????文件???????1257??2008-12-28?20:25??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\obj\ClassLibrary.csproj.FileListAbsolute.txt
?????文件????????726??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\obj\Debug\ClassLibrary.csproj.ResolveComReference.cache
?????文件??????20480??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\obj\Debug\ClassLibrary.dll
?????文件??????19968??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\obj\Debug\ClassLibrary.pdb
?????文件????1093632??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\obj\Debug\Interop.Excel.dll
?????文件?????217088??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\obj\Debug\Interop.Microsoft.Office.Core.dll
?????文件??????57344??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\obj\Debug\Interop.VBIDE.dll
?????文件??????16384??2009-01-01?15:33??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\obj\Debug\Refactor\ClassLibrary.dll
?????文件???????1327??2008-11-21?16:39??圖書管理系統(tǒng)(二)?1.1?(01)\ClassLibrary\Properties\AssemblyInfo.cs
?????文件????????513??2008-12-08?12:25??圖書管理系統(tǒng)(二)?1.1?(01)\圖書管理系統(tǒng)(二)\app.config
?????文件??????20480??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\圖書管理系統(tǒng)(二)\bin\Debug\ClassLibrary.dll
?????文件??????19968??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\圖書管理系統(tǒng)(二)\bin\Debug\ClassLibrary.pdb
?????文件????1093632??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\圖書管理系統(tǒng)(二)\bin\Debug\Interop.Excel.dll
?????文件?????217088??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\圖書管理系統(tǒng)(二)\bin\Debug\Interop.Microsoft.Office.Core.dll
?????文件??????57344??2009-01-01?20:36??圖書管理系統(tǒng)(二)?1.1?(01)\圖書管理系統(tǒng)(二)\bin\Debug\Interop.VBIDE.dll
?????文件??????16384??2008-12-08?13:11??圖書管理系統(tǒng)(二)?1.1?(01)\圖書管理系統(tǒng)(二)\bin\Debug\LibraryReport1.rpt
?????文件?????933888??2009-01-01?20:37??圖書管理系統(tǒng)(二)?1.1?(01)\圖書管理系統(tǒng)(二)\bin\Debug\圖書管理系統(tǒng)(二).exe
?????文件????????513??2008-12-08?12:25??圖書管理系統(tǒng)(二)?1.1?(01)\圖書管理系統(tǒng)(二)\bin\Debug\圖書管理系統(tǒng)(二).exe.config
?????文件?????585216??2009-01-01?20:37??圖書管理系統(tǒng)(二)?1.1?(01)\圖書管理系統(tǒng)(二)\bin\Debug\圖書管理系統(tǒng)(二).pdb
?????文件???????5632??2005-12-08?14:51??圖書管理系統(tǒng)(二)?1.1?(01)\圖書管理系統(tǒng)(二)\bin\Debug\圖書管理系統(tǒng)(二).vshost.exe
?????文件????????513??2008-12-08?12:25??圖書管理系統(tǒng)(二)?1.1?(01)\圖書管理系統(tǒng)(二)\bin\Debug\圖書管理系統(tǒng)(二).vshost.exe.config
............此處省略204個(gè)文件信息
評(píng)論
共有 條評(píng)論