【正文】
, [bookTypeName] [nvarchar](50) NOT NULL, [bookTypeDesc] [nvarchar](50) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。)) BEGIN CREATE TABLE [dbo].[Book]( [bookID] [nvarchar](50) NOT NULL, [bookName] [nvarchar](50) NULL, [bookIndex] [nvarchar](50) NULL, [bookTypeID] [int] NULL, [author] [nvarchar](50) NULL, [publish] [nvarchar](50) NULL, [price] [money] NULL, [publishDate] [datetime] NULL, [abstract] [ntext] NULL, [keyword] [nvarchar](50) NULL, [status] [int] NULL, [registeDate] [datetime] NULL, CONSTRAINT [PK_BookInfo] PRIMARY KEY CLUSTERED ( [bookID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。)) BEGIN CREATE TABLE [dbo].[Role]( [roleID] [int] IDENTITY(1,1) NOT NULL, [roleName] [nvarchar](50) NULL, CONSTRAINT [PK_Role] PRIMARY KEY CLUSTERED ( [roleID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。)) BEGIN CREATE TABLE [dbo].[Users]( [userID] [nvarchar](50) NOT NULL, [userName] [nvarchar](50) NULL, [userPassword] [nvarchar](50) NULL, [userGender] [bit] NULL, [userDepartment] [nvarchar](50) NULL, [userAddress] [nvarchar](50) NULL, [userPhone] [nvarchar](50) NULL, [userBirthday] [datetime] NULL, [roleID] [int] NULL, CONSTRAINT [PK_Reader] PRIMARY KEY CLUSTERED ( [userID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。 GO 建表部分:(生成腳本) SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。 目標(biāo)系統(tǒng)體系結(jié)構(gòu) 系統(tǒng)前臺(tái)運(yùn)行(讀者借閱模塊)結(jié)構(gòu)圖 用戶登陸 讀者 圖書(shū)檢索 圖書(shū)借閱查詢 個(gè)人信息查詢 密碼修改 圖 系統(tǒng)前臺(tái)運(yùn)行流程圖 四、數(shù)據(jù) 庫(kù)表設(shè)計(jì) 讀者: ( 學(xué)號(hào) 、用戶名、密碼、讀者性別、所在院系、家庭住址、聯(lián)系電話、出生年月、角色標(biāo)識(shí)) 圖書(shū): ( 書(shū)號(hào) 、圖書(shū)名稱、所屬分類號(hào)、作者、出版社、價(jià)格、出版日期、摘要信息、關(guān)鍵詞、圖書(shū)狀態(tài)、登記日期) 讀者借閱 模塊 個(gè)人信息管理 圖書(shū)檢索 圖書(shū)操作 密碼修改 按圖書(shū)類別 按書(shū)名 按作者 按書(shū)架 按出版社 圖書(shū)借閱查詢 圖書(shū)到期查詢 個(gè)人信息查詢 圖 系統(tǒng) 前臺(tái)運(yùn)行 結(jié)構(gòu)圖 讀者 圖書(shū) 借還 屬于 角色 學(xué)號(hào) 用戶名 密碼 性別 院系 住址 電話 角色標(biāo)識(shí) 出生年月 書(shū)號(hào) 書(shū)名 分類號(hào) 作者 出版社 價(jià)格 摘要 關(guān)鍵詞 圖書(shū)狀 態(tài) 登記日期 出版日期 角色名稱 n 1 m n 角色標(biāo)識(shí) 屬于 圖書(shū)類型 類型名 類型號(hào) 類型描述 n 1 角色: ( 角色標(biāo)識(shí) 、角色名稱) 借閱: ( 借閱號(hào) 、 學(xué)號(hào) 、 書(shū)號(hào) 、借書(shū)日期、還書(shū)日期、圖書(shū)的狀態(tài)(是否借出)、超出天數(shù)、罰款金額) 圖書(shū)類型: (類型號(hào)、圖書(shū)類型名稱、圖書(shū)類型描述) 數(shù)據(jù)庫(kù)結(jié)構(gòu)描述 主要包括各個(gè)表結(jié)構(gòu)設(shè)計(jì) 表 User 表 (系統(tǒng)用戶信息數(shù)據(jù)表 ) 表 Book 表 (圖書(shū)信息表 ) 表 BorrowRec 表 (圖書(shū)借閱信息表 ) 表 BookType 表 (圖書(shū)類型表 ) 表 Role 表 (角色表 ) 表之間的關(guān)系圖: 以下是部分 SQL 腳本 視圖部分: CREATE VIEW [dbo].[View_4] AS SELECT , , AS Expr1, , AS Expr2, AS Expr3 FROM INNER JOIN ON = INNER JOIN ON = 39。 概要設(shè)計(jì)的任務(wù)是根據(jù)需求分析得到的用例圖確定一個(gè)合理的軟件系統(tǒng)的體系結(jié)構(gòu),作為 系統(tǒng)的詳細(xì)設(shè)計(jì)的基礎(chǔ)和準(zhǔn)備。 SQL Server 2020 可以簡(jiǎn)化基本的數(shù)據(jù)庫(kù)操作 , 通過(guò)與 Visual Studio 項(xiàng)目的集成,數(shù)據(jù)庫(kù)應(yīng)用程序的設(shè)計(jì)和開(kāi)發(fā)也變得更加簡(jiǎn)單。系統(tǒng)的總體特點(diǎn)應(yīng)該是方便、簡(jiǎn)單、實(shí)用。自己想要的圖書(shū),在借閱過(guò)程中還要填寫(xiě)許多相關(guān)的卡片,使得圖書(shū)的管理效率低下,圖書(shū)流通速度較慢,因而從一定程度上也影響了知識(shí)的傳播速度。系統(tǒng) 應(yīng)該具備在開(kāi)放式、異構(gòu)型環(huán)境中的運(yùn)行能力。必須具有信息咨詢服務(wù)、信息資源數(shù)據(jù)庫(kù)服務(wù)、網(wǎng)絡(luò)信息服務(wù)等代化服務(wù) 。知識(shí)更新經(jīng)濟(jì)朝代和網(wǎng)絡(luò)時(shí)代的一些特征,已經(jīng)深入到人們的社會(huì)生活中。 現(xiàn)今,有很多的圖書(shū)館都是開(kāi)始使用計(jì)算機(jī)進(jìn)行信息管理。 圖書(shū)館作為一種信息資源的集散地,圖書(shū)和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。一、需求分析 概述 當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。隨著 Intra 的飛速發(fā)展,移動(dòng)辦公和分布式辦公越來(lái)越普及, B/S (Browser/Server) 架構(gòu)應(yīng)運(yùn)而生,并得到普遍應(yīng)用。根據(jù)調(diào)查得知,以前對(duì)信息管理的主要方式是基于紙介質(zhì)的手工處理,對(duì)于圖書(shū)借閱情況(如借書(shū)天數(shù)、超過(guò)限定借書(shū)時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)借書(shū)卡的人工檢查進(jìn)行,對(duì)借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、手抄進(jìn)行。使圖書(shū)管理工作進(jìn)入規(guī)范化,系統(tǒng)化,程序化的軌道,同時(shí)避免了圖書(shū)管理的隨意性,提高了信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書(shū)及用戶信息。知識(shí)經(jīng)濟(jì)是以知識(shí)更新為基礎(chǔ)的經(jīng)濟(jì),這各經(jīng)濟(jì)直接領(lǐng)帶于知識(shí)更新和信息的生產(chǎn)、擴(kuò)散和應(yīng)用。 網(wǎng)絡(luò)飛速發(fā)展的環(huán)境下, 未來(lái)的圖書(shū)管理應(yīng)該 以信息網(wǎng)絡(luò)為目的加快信息的傳播速度,提高信息服務(wù)質(zhì)量 .在網(wǎng)絡(luò)化條件下, 圖書(shū)的借閱主要由計(jì)算機(jī)流通管理系統(tǒng)或讀者在自己的 終端上自動(dòng)完成。 課題提出 在當(dāng)今知識(shí)大爆炸的時(shí)代,圖書(shū)作為信息的一種載體,仍是人們獲得知識(shí)的一種重要途徑,因而作為圖書(shū)管理與借閱的圖書(shū)館,它的運(yùn)行情況則關(guān)系到知識(shí)的傳播速度問(wèn)題。 學(xué)校作為教書(shū)育人的中堅(jiān)力量,圖書(shū)館的作用更是舉足輕重。 處理需求 本系統(tǒng)采用 ASP 語(yǔ)言實(shí)現(xiàn),開(kāi)發(fā)平臺(tái)使用 ,數(shù)據(jù)庫(kù)使用 SQL Server 2020。此外,服務(wù)和修補(bǔ)也得到了簡(jiǎn)化和自動(dòng)化 。 以下內(nèi)容為讀者借閱模塊的流程圖和結(jié)構(gòu)圖: 系統(tǒng)前臺(tái)運(yùn)行(讀者借閱模塊)流程圖 系統(tǒng)運(yùn)行流程圖描繪了讀者借閱模塊的總體運(yùn)行情況。 GO CREATE VIEW [dbo].[View_3] AS SELECT , AS Expr1, FROM INNER JOIN ON = 39。[dbo].[Users]39。[dbo].[Role]39。[dbo].[Book]39。[dbo].[BookType]39。[dbo].[BorrowRec]39。[dbo].[Proc_SearchBook]39。PC39。select * from Book where 39。 like 39。%39。%39。39。select * from Book where [bookTypeID]=39。 and 39。 like 39。%39。%39。39。[dbo].[proc_InAndOut]39。PC39。 end 39。P39。CREATE PROC [dbo].[Proc_UpdateUserInfo] userID NVARCHAR(50),?? ) AS UPDATE Users SET userDepartment=userDepartment,......) WHERE userID=userID39。P39。create PROCEDURE [dbo].[Proc_UsersDetail] UserID [varchar](50) AS SELECT * FROM [dbo].[Users] WHERE userID=UserID39。P39。CREATE PROCEDURE [dbo].[Proc_GetUserInfoByID] userID VARCHAR(50) AS SELECT * FROM [dbo].[Users] WHERE userID=userID 39。P39。CREATE PROCEDURE [dbo].[Proc_GetUsers] AS SELECT * FROM Users 39。P39。Create procedure [dbo].[Proc_DeleteUsers] userID nvarchar(50) AS DELETE FROM Users where UserID=userID 39。P39。CREATE PROC [dbo].[Proc_UpdateUser] (userID nvarchar(50),?? ) AS update [Users] set userName=userN