數(shù)據(jù)庫(kù)原理與應(yīng)用課程設(shè)計(jì)0_第1頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用課程設(shè)計(jì)0_第2頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用課程設(shè)計(jì)0_第3頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用課程設(shè)計(jì)0_第4頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用課程設(shè)計(jì)0_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 數(shù)據(jù)庫(kù)原理與應(yīng)用課程設(shè)計(jì) 數(shù)據(jù)庫(kù)原理與應(yīng)用課程設(shè)計(jì) (2009/2010第21周) 指導(dǎo)教師:劉建平、霍戌文 班級(jí):*學(xué)號(hào):*姓名:* *2010年1月數(shù)據(jù)庫(kù)原理與應(yīng)用課程設(shè)計(jì)任 務(wù) 書(shū)一、設(shè)計(jì)目的:1掌握計(jì)算機(jī)管理信息系統(tǒng)設(shè)計(jì)的一般方法,主要包括系統(tǒng)分析、系統(tǒng)設(shè)計(jì)的組織和實(shí)施。2關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)的編程技術(shù),并能獨(dú)立完成一般小系統(tǒng)的程序設(shè)計(jì)、調(diào)試運(yùn)行等工作。3培養(yǎng)把所學(xué)知識(shí)運(yùn)用到具體對(duì)象,并能求出解決方案的能力。二、任務(wù)要求:(任選其一)1運(yùn)用關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),實(shí)現(xiàn)本院圖書(shū)館管理信息系統(tǒng)。具體要求如下: 圖書(shū)、資料的登記、注銷(xiāo)和查詢(xún)。 借書(shū)證管理,包括申請(qǐng)、注銷(xiāo)借書(shū)證,查詢(xún)借書(shū)證持有

2、人等。 借還圖書(shū)、資料的登記、超期處理,超期拒借等。 圖書(shū)、資料查詢(xún),借、還圖書(shū)和資料情況查詢(xún)。 圖書(shū)、資料借閱情況的統(tǒng)計(jì)分析,據(jù)此作為圖書(shū)館圖書(shū)、資料訂夠的依據(jù)之一(本項(xiàng)不作為基本要求)。2運(yùn)用關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),實(shí)現(xiàn)服務(wù)電話(huà)管理系統(tǒng)。向客戶(hù)現(xiàn)場(chǎng)派技術(shù)人員的服務(wù)公司可以用服務(wù)電話(huà)管理系統(tǒng)跟蹤客戶(hù)、員工、工作訂單、發(fā)票、付款等等。具體要求如下: 數(shù)據(jù)庫(kù)要存儲(chǔ)以下信息:客戶(hù)信息客戶(hù)工需單信息完成工需單所需人工完成工需單所需部件部件信息付款信息雇員信息 完成的功能:輸入/查看 客戶(hù)工需單信息輸入/查看部件、雇員等其它信息付款打印發(fā)票等2具體要求:1、按照實(shí)際項(xiàng)目進(jìn)行調(diào)研,采集數(shù)據(jù),提取實(shí)體、實(shí)體

3、與實(shí)體之間的聯(lián)系,運(yùn)用數(shù)據(jù)庫(kù)設(shè)計(jì)方法進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì),并插入一定量的實(shí)驗(yàn)數(shù)據(jù)。2、根據(jù)系統(tǒng)的實(shí)際要求,給出一定量的查詢(xún)功能要求并進(jìn)行描述,并運(yùn)用關(guān)系代數(shù)進(jìn)行描述,最后給出相應(yīng)的sql語(yǔ)句(含插入、刪除、修改、查詢(xún))并給予實(shí)現(xiàn)(查詢(xún)結(jié)果)。三、結(jié)果形式:1、設(shè)計(jì)報(bào)告:含e-r圖、數(shù)據(jù)字典、關(guān)系模式、關(guān)系實(shí)例、查詢(xún)描述、關(guān)系代數(shù)、sql實(shí)現(xiàn)的查詢(xún)語(yǔ)言及查詢(xún)結(jié)果。2、數(shù)據(jù)清單、程序清單以及有關(guān)數(shù)據(jù)字段、程序功能模塊、主要變量的說(shuō)明。3、上機(jī)正常運(yùn)行。四、成績(jī)考核:1課程設(shè)計(jì)態(tài)度(20分)。2遞交的書(shū)面材料(60分)。具體要求如下:(1) 需求分析:分析應(yīng)用環(huán)境,搞清設(shè)計(jì)系統(tǒng)的目標(biāo)、主要解決的問(wèn)題、邊

4、界;標(biāo)識(shí)數(shù)據(jù)庫(kù)應(yīng)用、所使用的數(shù)據(jù)及其聯(lián)系,確定數(shù)據(jù)需求、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)。應(yīng)用環(huán)境分析:明確應(yīng)用環(huán)境的信息流向?;緮?shù)據(jù)收集:收集有關(guān)數(shù)據(jù)的各種信息,包括靜態(tài)和動(dòng)態(tài)兩方面的數(shù)據(jù),前者是關(guān)于數(shù)據(jù)定義或描述信息,后者是關(guān)于數(shù)據(jù)的使用與操作信息。應(yīng)用功能分析:在應(yīng)用環(huán)境分析的基本上標(biāo)識(shí)數(shù)據(jù)的主要應(yīng)用活動(dòng)(處理功能),并 進(jìn)行應(yīng)用任務(wù)的細(xì)分,從而建立系統(tǒng)的功能模型。建立數(shù)據(jù)字典。寫(xiě)出需求分析規(guī)范說(shuō)明報(bào)告。(2) 數(shù)據(jù)分析與建模:完整的e-r圖。修改和補(bǔ)充數(shù)據(jù)字典,必須包含有關(guān)數(shù)據(jù)的標(biāo)識(shí)符、名稱(chēng)、數(shù)據(jù)元素的類(lèi)型、長(zhǎng)度、完整型約束、安全性限制。(3) 數(shù)據(jù)庫(kù)建立:給出設(shè)計(jì)的各種關(guān)系模式給出數(shù)據(jù)語(yǔ)言形式的

5、數(shù)據(jù)庫(kù)模式。給出數(shù)據(jù)庫(kù)定量說(shuō)明,包括數(shù)據(jù)存儲(chǔ)量和傳輸量估算說(shuō)明。3提供初始數(shù)據(jù)加載程序。 (4) 數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)與運(yùn)行: 提交各應(yīng)用程序的源程序清單。進(jìn)行數(shù)據(jù)庫(kù)維護(hù)操作結(jié)果的比較,以證明數(shù)據(jù)庫(kù)的正確性。 進(jìn)行應(yīng)用程序運(yùn)行結(jié)果和性能的分析,以表明數(shù)據(jù)庫(kù)的適用性。3、上機(jī)運(yùn)行情況(20分)。(若程序非正常退出,或進(jìn)入死循環(huán),本項(xiàng)基本不給分)評(píng)分按任務(wù)項(xiàng)具體要求的基本要求為標(biāo)準(zhǔn),總分100分??偝煽?jī)折合以五級(jí)制成績(jī)計(jì)(優(yōu)秀、良好、中、及格、不及格)。要求同學(xué)們獨(dú)立完成,發(fā)現(xiàn)抄襲的,經(jīng)查實(shí)后以0分計(jì)。 說(shuō)明:數(shù)據(jù)庫(kù)平臺(tái)以及開(kāi)發(fā)平臺(tái)自選。 五、工作進(jìn)度:(共1周)4數(shù)據(jù)庫(kù)原理與應(yīng)用課程設(shè)計(jì)設(shè)計(jì)報(bào)告目 錄

6、 一、題目: . 6二、目的和要求: . 6三、需求分析: . 6四、數(shù)據(jù)分析與建模: . 8五、數(shù)據(jù)庫(kù)建立: . 11六、數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)與運(yùn)行:(程序代碼、界面圖、詳細(xì)功能說(shuō)明) . 39七、結(jié)果分析、結(jié)論與體會(huì): . 44八、參考文獻(xiàn)及資料: . 44 5 一、 題目:a.運(yùn)用關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),實(shí)現(xiàn)本院圖書(shū)館管理信息系統(tǒng)。具體要求如下:圖書(shū)、資料的登記、注銷(xiāo)和查詢(xún)。借書(shū)證管理,包括申請(qǐng)、注銷(xiāo)借書(shū)證,查詢(xún)借書(shū)證持有人等。借還圖書(shū)、資料的登記、超期處理,超期拒借等。圖書(shū)、資料查詢(xún),借、還圖書(shū)和資料情況查詢(xún)。圖書(shū)、資料借閱情況的統(tǒng)計(jì)分析,拒此作為圖書(shū)館圖書(shū)、資料訂夠的依據(jù)之一。(本項(xiàng)不作為基

7、本要求)二、目的和要求:(同上)目的:1掌握計(jì)算機(jī)管理信息系統(tǒng)設(shè)計(jì)的一般方法,主要包括系統(tǒng)分析、系統(tǒng)設(shè)計(jì)的組織和實(shí)施。2關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)的編程技術(shù),并能獨(dú)立完成一般小系統(tǒng)的程序設(shè)計(jì)、調(diào)試運(yùn)行等工作。3培養(yǎng)把所學(xué)知識(shí)運(yùn)用到具體對(duì)象,并能求出解決方案的能力。具體要求:1、按照實(shí)際項(xiàng)目進(jìn)行調(diào)研,采集數(shù)據(jù),提取實(shí)體、實(shí)體與實(shí)體之間的聯(lián)系,運(yùn)用數(shù)據(jù)庫(kù)設(shè)計(jì)方法進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì),并插入一定量的實(shí)驗(yàn)數(shù)據(jù)。2、根據(jù)系統(tǒng)的實(shí)際要求,給出一定量的查詢(xún)功能要求并進(jìn)行描述,并運(yùn)用關(guān)系代數(shù)進(jìn)行描述,最后給出相應(yīng)的sql語(yǔ)句(含插入、刪除、修改、查詢(xún))并給予實(shí)現(xiàn)(查詢(xún)結(jié)果)。三、需求分析:(同上)(一) 背景隨著圖書(shū)館

8、規(guī)模的不斷擴(kuò)大,圖書(shū)數(shù)量也相應(yīng)的增加,有關(guān)圖書(shū)的各種信息量也成倍增加,面對(duì)著龐大的信息量,傳統(tǒng)的人工方式管理會(huì)導(dǎo)致圖書(shū)館管理上的混亂,人力與物力過(guò)多浪費(fèi),圖書(shū)館管理費(fèi)用的增加,從而使圖書(shū)館的負(fù)擔(dān)過(guò)重,影響整個(gè)圖書(shū)館的運(yùn)作和控制管理,因此,必須制定一套合理、有效,規(guī)范和實(shí)用的圖書(shū)管理系統(tǒng),對(duì)圖書(shū)資料進(jìn)行集中統(tǒng)一的管理。6 (二)系統(tǒng)層次需求圖書(shū)管理信息系統(tǒng)采用三層的體系結(jié)構(gòu),讀者客戶(hù)端、管理層。管理服務(wù)端即數(shù)據(jù)服務(wù)層,為客戶(hù)端提供數(shù)據(jù)服務(wù)和維護(hù)數(shù)據(jù)庫(kù)數(shù)據(jù),管理讀者信息。對(duì)讀者客戶(hù)端和管理服務(wù)端的功能要求如下。1、 管理服務(wù)層管理服務(wù)層即為中間層,主要讀者客戶(hù)端與數(shù)據(jù)服務(wù)器的連接并應(yīng)具備基本的數(shù)據(jù)

9、管理功能,要求如下:1) 對(duì)用戶(hù)進(jìn)行身份驗(yàn)證,禁止不合法的用戶(hù)登錄數(shù)據(jù)服務(wù)2) 對(duì)讀者和管理員信息進(jìn)行管理,實(shí)現(xiàn)讀者基本信息的錄入、查詢(xún)和管理3) 對(duì)不同類(lèi)型的讀者進(jìn)行權(quán)限限制,借閱管理,還書(shū)管理,圖書(shū)續(xù)借管理4) 對(duì)讀者丟失的書(shū)的賠償,超期未歸還讀者的處理5) 對(duì)圖書(shū)的入庫(kù),刪除,圖書(shū)信息的修改的功能6) 對(duì)圖書(shū)進(jìn)行編號(hào),分類(lèi)管理,管理出版社信息7) 用戶(hù)管理,可為讀者分配張賬和密碼,建立不同權(quán)限的管理員賬戶(hù)應(yīng)用于各方面的管理,更改管理員權(quán)限2、讀者客戶(hù)端讀者客戶(hù)端主要作用是為讀者提供圖書(shū)信息查詢(xún)、借閱情況查詢(xún)、讀者基本信息查詢(xún)、密碼修改,其功能要求如下:1) 發(fā)送讀者登錄信息至服務(wù)層,供管

10、理層驗(yàn)證2) 登錄成功后與數(shù)據(jù)服務(wù)層建立連接3) 圖書(shū)信息查詢(xún),根據(jù)給定的幾個(gè)條件查詢(xún)?cè)趲?kù)圖書(shū)信息4) 圖書(shū)續(xù)借,對(duì)有借書(shū)權(quán)限的讀者提供已借圖書(shū)的續(xù)借功能5) 查看過(guò)期圖書(shū)的罰款記錄(三)數(shù)據(jù)需求根據(jù)系統(tǒng)層次和功能的需求,將數(shù)據(jù)存儲(chǔ)信息如下:(1)讀者信息:包括證號(hào)、姓名、聯(lián)系方式、已借書(shū)數(shù)目、能否借書(shū)、密碼、欠費(fèi)記錄(2)出版社信息:包括名稱(chēng)、地址、網(wǎng)址、e-mail。(3)書(shū)籍信息:包括索書(shū)號(hào)、叢書(shū)系列、作者、責(zé)任你編輯、字?jǐn)?shù)、定價(jià)、出版時(shí)間、主題分類(lèi)、二級(jí)分類(lèi)、館內(nèi)借閱分類(lèi)、總冊(cè)數(shù)、庫(kù)存量、出版社、書(shū)名(4)借閱信息:包括證號(hào)、圖書(shū)編號(hào)、借閱日期、歸還日期、續(xù)借(5)管理者信息:包括用戶(hù)

11、名、姓名、密碼、權(quán)限(6)罰款記錄表:包括證號(hào)、圖書(shū)編號(hào)、超期時(shí)間、罰款金額(7)圖書(shū)編號(hào):包括圖書(shū)編號(hào)、索書(shū)號(hào)、是否在庫(kù)(8)圖書(shū)借出限定表:包括讀者類(lèi)型、可借書(shū)數(shù)量、可最長(zhǎng)借閱時(shí)間7(9)圖書(shū)采購(gòu):包括訂單號(hào)、書(shū)名、作者、責(zé)任編輯、字?jǐn)?shù)、出版時(shí)間、訂購(gòu)總冊(cè)數(shù)、出版社、出版社地址、出版社網(wǎng)址、e-mail、單價(jià)、采購(gòu)日期、是否入庫(kù) (10)欠費(fèi)參數(shù)表:包括罰款基數(shù)、每日金額、讀者類(lèi)型(11)建立的數(shù)據(jù)字典有:叢書(shū)系列、館 (9)繳納超期罰款,賠償丟失的書(shū)籍。 (10)超期還書(shū)罰款計(jì)算。 (11)續(xù)借功能 四、數(shù)據(jù)分析與建模: 8 9 10關(guān)系圖:11 e-r模型圖設(shè)計(jì):12 五、數(shù)據(jù)庫(kù)建立:

12、1、關(guān)系模式出版社信息(出版社,地址,網(wǎng)址,e-mail)叢書(shū)系列(叢書(shū)系列)讀者信息(證號(hào),姓名,聯(lián)系方式,已借書(shū)數(shù)目,讀者類(lèi)別,能否借書(shū),密碼,欠費(fèi)) 罰款記錄表(證號(hào),圖書(shū)編號(hào),超期時(shí)間,罰款金額)館clustered ( 出版社 ) on primary) on primary2) 創(chuàng)建叢書(shū)系列表create table 叢書(shū)系列 (13 叢書(shū)系列 nchar (50) collate chinese_prc_ci_as not null , constraint pk_叢書(shū)系列 primary key clustered ( 叢書(shū)系列 ) on primary ) on primar

13、y3) 創(chuàng)建讀者信息表create table 讀者信息 ( 證號(hào) char (10) collate chinese_prc_ci_as not null , 姓名 varchar (20) collate chinese_prc_ci_as not null , 聯(lián)系方式 varchar (50) collate chinese_prc_ci_as null , 已借書(shū)數(shù)目 int not null constraint df_讀者信息_已借書(shū)數(shù)目 default (0), 讀者類(lèi)別 char (10) collate chinese_prc_ci_as not null constrai

14、nt df_能否借書(shū) bit not null constraint df_讀者信息_能否借書(shū) default (1), 密碼 varchar (20) collate chinese_prc_ci_as not null constraint df_讀欠費(fèi) money not null constraint df_讀者信息_欠費(fèi) default (0), constraint pk_讀者信息 primary key clustered ( 證號(hào) ) on primary , constraint fk_讀者信息_圖書(shū)借出限定表 foreign key ( 讀者類(lèi)別 讀者類(lèi)別 ) refere

15、nces 圖書(shū)借出限定表 ( ) on update cascade 讀者信息_讀者類(lèi)別 default (學(xué)生), 者信息_密碼 default (123456), ) on primary4) 創(chuàng)建罰款信息表create table 罰款記錄表 ( 證號(hào) char (10) collate chinese_prc_ci_as not null , 圖書(shū)編號(hào) int not null , 超期時(shí)間 int not null constraint df_罰款記錄表_超期時(shí)間 default (0), 罰款金額 money not null constraint df_罰款記錄表_罰款金額 de

16、fault (0), 14constraint fk_罰款記錄表_讀者信息 foreign key(證號(hào)) references 讀者信息 (證號(hào)) on delete cascade on update cascade ,constraint fk_罰款記錄表_圖書(shū)編號(hào) foreign key(圖書(shū)編號(hào)) references 圖書(shū)編號(hào) (圖書(shū)編號(hào)) on delete cascade on update cascade) on primary5) 創(chuàng)建館clustered (館on primary) on primary6) 創(chuàng)建管理員權(quán)限表create table 管理員權(quán)限 (管理員權(quán)

17、限 char (20) collate chinese_prc_ci_as not null , constraint pk_管理員權(quán)限 primary key clustered(管理員權(quán)限) on primary) on primary7) 創(chuàng)建管理者信息表create table 管理者信息 (用戶(hù)名 varchar (50) collate chinese_prc_ci_as not null ,姓名 nchar (20) collate chinese_prc_ci_as null ,密碼 varchar (50) collate chinese_prc_ci_as null ,權(quán)限

18、 char (20) collate chinese_prc_ci_as null ,15constraint pk_管理者信息 primary key clustered (用戶(hù)名) on primary ,constraint fk_管理者信息_管理員權(quán)限 foreign key(權(quán)限) references 管理員權(quán)限 (管理員權(quán)限) on delete cascade on update cascade) on primary8) 創(chuàng)建借閱信息表create table 借閱信息 (圖書(shū)編號(hào) int not null ,證號(hào) char (10) collate chinese_prc_

19、ci_as not null ,借閱日期 datetime not null ,應(yīng)歸還日期 datetime not null ,續(xù)借 bit null constraint df_借閱信息_續(xù)借 default (0), constraint fk_借閱信息_讀者信息 foreign key(證號(hào)) references 讀者信息 (證號(hào)) on delete cascade on update cascade ,constraint fk_借閱信息_圖書(shū)編號(hào) foreign key(圖書(shū)編號(hào)) references 圖書(shū)編號(hào) (圖書(shū)編號(hào)) on delete cascade on upda

20、te cascade) on primary9) 創(chuàng)建欠費(fèi)參數(shù)表create table 欠費(fèi)參數(shù)表 (罰款基數(shù) money not null ,每日金額 money not null ,16讀者類(lèi)型 char (10) collate chinese_prc_ci_as not null , constraint fk_欠費(fèi)參數(shù)表_圖書(shū)借出限定表 foreign key(讀者類(lèi)型) references 圖書(shū)借出限定表 (讀者類(lèi)別) on delete cascade on update cascade) on primary10) 創(chuàng)建書(shū)籍信息表create table 書(shū)籍信息 (索書(shū)號(hào)

21、 char (10) collate chinese_prc_ci_as not null ,叢書(shū)系列 nchar (50) collate chinese_prc_ci_as null ,作者 nchar (50) collate chinese_prc_ci_as null ,責(zé)任編輯 nchar (50) collate chinese_prc_ci_as null ,字?jǐn)?shù) int null constraint df_書(shū)籍信息_字?jǐn)?shù) default (0),定價(jià) money null constraint df_書(shū)籍信息_定價(jià) default (0),出版時(shí)間 datetime nul

22、l ,主題分類(lèi) nchar (50) collate chinese_prc_ci_as null ,二級(jí)分類(lèi) nchar (50) collate chinese_prc_ci_as null ,館clustered(索書(shū)號(hào)) on primary ,constraint fk_書(shū)籍信息_出版社信息 foreign key(出版社) references 出版社信息 (出版社) on update cascade ,constraint fk_書(shū)籍信息_叢書(shū)系列 foreign key17 ( 叢書(shū)系列 叢書(shū)系列 ) references 叢書(shū)系列 ( ) on update cascade

23、 , constraint fk_書(shū)籍信息_館( 館( 主題分類(lèi) 主題分類(lèi) ) references 主題分類(lèi) ( ) on update cascade) on primary11) 創(chuàng)建圖書(shū)編號(hào)表create table 圖書(shū)編號(hào) ( 圖書(shū)編號(hào) int not null , 索書(shū)號(hào) char (10) collate chinese_prc_ci_as not null , 是否在庫(kù) bit not null constraint df_圖書(shū)編號(hào)_是否在庫(kù) default (1), constraint pk_圖書(shū)編號(hào) primary key clustered ( 圖書(shū)編號(hào) ) on p

24、rimary , constraint fk_圖書(shū)編號(hào)_書(shū)籍信息 foreign key ( 索書(shū)號(hào) 索書(shū)號(hào) ) references 書(shū)籍信息 ( ) on delete cascade on update cascade ) on primary12) 創(chuàng)建圖書(shū)采購(gòu)表18create table 圖書(shū)采購(gòu) ( 訂單編號(hào) char (10) collate chinese_prc_ci_as not null , 書(shū)名 char (50) collate chinese_prc_ci_as not null , 作者 nchar (50) collate chinese_prc_ci_as

25、null , 責(zé)任編輯 nchar (50) collate chinese_prc_ci_as null , 字?jǐn)?shù) int null , 出版時(shí)間 datetime null , 訂購(gòu)總冊(cè)數(shù) int null , 出版社 char (50) collate chinese_prc_ci_as null , 出版社地址 char (50) collate chinese_prc_ci_as null , 出版社網(wǎng)址 char (50) collate chinese_prc_ci_as null , e-mail char (50) collate chinese_prc_ci_as null

26、 , 單價(jià) money null constraint df_圖書(shū)采購(gòu)_單價(jià) default (0), 采購(gòu)日期 datetime null , 是否入庫(kù) bit not null constraint df_圖書(shū)采購(gòu)_是否入庫(kù) default (0), constraint pk_圖書(shū)采購(gòu) primary key clustered ( 訂單編號(hào) ) on primary) on primary13) 創(chuàng)建圖書(shū)借出限定表create table 圖書(shū)借出限定表 ( 讀者類(lèi)別 char (10) collate chinese_prc_ci_as not null , 可借書(shū)數(shù)量 int no

27、t null , 可最長(zhǎng)借閱時(shí)間 int not null constraint df_圖書(shū)借出限定表_可最長(zhǎng)借閱時(shí)constraint pk_圖書(shū)借出限定表 primary key clustered ( 讀者類(lèi)別 ) on primary 間 default (15),) on primary14) 創(chuàng)建主題分類(lèi)表create table 主題分類(lèi) ( 主題分類(lèi) nchar (50) collate chinese_prc_ci_as not null , constraint pk_主題分類(lèi) primary key clustered 19(主題分類(lèi)) on primary) on pr

28、imary3、 視圖創(chuàng)建create view dbo.v_借閱時(shí)間asselect top 100 percent 證號(hào), 圖書(shū)編號(hào), datediff(day,(select convert(char(20), 應(yīng)歸還日期, 120),(select convert(char(20), getdate(), 120) as 剩余時(shí)間 from dbo.借閱信息order by 證號(hào)4、主要存儲(chǔ)過(guò)程的創(chuàng)建1) 借書(shū)存儲(chǔ)過(guò)程 /*欠費(fèi)、過(guò)期未還、圖書(shū)已經(jīng)借出最大值則不能再借*/create procedure p_借書(shū) 證號(hào) char(10),密碼 varchar(20),圖書(shū)編號(hào) int a

29、sbegindeclare 借閱時(shí)間 intif 學(xué)生=(select 讀者類(lèi)別 from 讀者信息 where 證號(hào)=證號(hào))beginset 借閱時(shí)間=30endif 教師=(select 讀者類(lèi)別 from 讀者信息 where 證號(hào)=證號(hào))beginset 借閱時(shí)間=60endif 校外人員=(select 讀者類(lèi)別 from 讀者信息 where 證號(hào)=證號(hào)) beginset 借閱時(shí)間=15enddeclare 能否借書(shū) bitset 能否借書(shū)=dbo.f_能否借書(shū)(證號(hào))if exists(select *from 讀者信息 where 證號(hào)=證號(hào) and 密碼=密碼) 20beg

30、inupdate 書(shū)籍信息 set 庫(kù)存量=庫(kù)存量-1 where 索書(shū)號(hào)=(select 圖書(shū)編號(hào).索書(shū)號(hào) from 圖書(shū)編號(hào) where 圖書(shū)編if exists(select * from 圖書(shū)編號(hào) where 圖書(shū)編號(hào)=圖書(shū)編號(hào) and 圖書(shū)編號(hào).begin if 能否借書(shū)=1 begin declare 借閱日期 char(20) declare 日期 datetime set 日期=getdate() set 借閱日期=(select convert(char(20),日期, 120) insert into 借閱信息 values(圖書(shū)編號(hào),證號(hào),日期,dateadd(day,借

31、閱時(shí)間,日期),0) update 圖書(shū)編號(hào) set 是否在庫(kù)=0 where 圖書(shū)編號(hào)=圖書(shū)編號(hào) 是否在庫(kù)=1) 號(hào)=圖書(shū)編號(hào)) end else begin print由于欠費(fèi)或有超期圖書(shū)為歸還或圖書(shū)已借出最大可借冊(cè)數(shù),不能再借! end end else begin print該圖書(shū)已借出! end end else begin print用戶(hù)名或密碼錯(cuò)誤! 21endend2) 還書(shū)存儲(chǔ)過(guò)程/*還書(shū),需要修改讀者信息,圖書(shū)編號(hào)、書(shū)籍信息,添加罰款記錄*/create procedure p_還書(shū) 圖書(shū)編號(hào) intasbeginif exists(select * from 借閱信息 w

32、here 圖書(shū)編號(hào)=圖書(shū)編號(hào))begin declare 證號(hào) char(10),能否借書(shū) bit set 證號(hào)=(select 證號(hào) from 借閱信息 where 圖書(shū)編號(hào)=圖書(shū)編號(hào)) delete 借閱信息 where 圖書(shū)編號(hào)=圖書(shū)編號(hào) -修改讀者信息,圖書(shū)編號(hào),書(shū)籍信息,添加罰款記錄由借閱信息中的delete觸發(fā)器實(shí)現(xiàn)endelsebegin end3) 續(xù)借存儲(chǔ)過(guò)程/*欠費(fèi)、過(guò)期未還、本書(shū)續(xù)借過(guò)都不能續(xù)借本書(shū)*/create procedure p_續(xù)借 證號(hào) char(10),密碼 varchar(20),圖書(shū)編號(hào) int asbegindeclare 借閱時(shí)間 intif 學(xué)生

33、=(select 讀者類(lèi)別 from 讀者信息 where 證號(hào)=證號(hào))beginset 借閱時(shí)間=30endif 教師=(select 讀者類(lèi)別 from 讀者信息 where 證號(hào)=證號(hào))beginset 借閱時(shí)間=60end22 print該圖書(shū)未借出! endif 校外人員=(select 讀者類(lèi)別 from 讀者信息 where 證號(hào)=證號(hào)) beginset 借閱時(shí)間=15endif exists(select * from 讀者信息 where 證號(hào)=證號(hào) and 密碼=密碼) begin if exists(select * from v_借閱時(shí)間 where 剩余時(shí)間>

34、0 and 證號(hào)=證號(hào)) begin print用戶(hù)有過(guò)期的書(shū)未還,不能續(xù)借! end else begin if exists(select * from 讀者信息 where 證號(hào)=證號(hào) and 欠費(fèi)>0) begin print用戶(hù)有欠費(fèi)沒(méi)交,不能續(xù)借! end else begin if 1=(select 續(xù)借 from 借閱信息 where 證號(hào)=證號(hào) and 圖書(shū)編號(hào)=begin print本書(shū)已續(xù)借過(guò),不能再續(xù)借! end else begin declare 日期 datetime set 日期=getdate() update 借閱信息 set 借閱日期=日期,應(yīng)歸還

35、日期=dateadd(day,借閱時(shí)間,日期) ,續(xù)借=1 where 證號(hào)=證號(hào) and 圖書(shū)編號(hào)=圖書(shū)編號(hào) print續(xù)借成功! 圖書(shū)編號(hào)) end end end 23endelsebegin end4) 添加書(shū)籍信息create procedure p_添加書(shū)籍信息 索書(shū)號(hào) char(20),叢書(shū)系列 nchar(50)=null,作者 nchar(50)=null,責(zé)任編輯 nchar(50)=null,字?jǐn)?shù) int=null,定價(jià) money=null,出版時(shí)間 datetime=null,主題分類(lèi) nchar(50)=null,二級(jí)分類(lèi) nchar(50)=null, 館wher

36、e 索書(shū)號(hào)=索書(shū)號(hào)) update 書(shū)籍信息 set 總冊(cè)數(shù)=總冊(cè)數(shù)+總冊(cè)數(shù),庫(kù)存量=庫(kù)存量+庫(kù)存量 where 索書(shū)號(hào)=索書(shū)號(hào) print用戶(hù)名或密碼錯(cuò)誤! end beginendelsebegin if not exists(select * from 出版社信息 where 出版社=出版社) and 出版begin insert into 出版社信息 values(出版社,null,null,null) insert into 書(shū)籍信息(索書(shū)號(hào),叢書(shū)系列,作者,責(zé)任編輯,字?jǐn)?shù),定價(jià),出版時(shí)間,values(索書(shū)號(hào),叢書(shū)系列,作者,責(zé)任編輯,字?jǐn)?shù),定價(jià),出版時(shí)間,主題分24 社 is n

37、ot null 主題分類(lèi),二級(jí)分類(lèi),館內(nèi)借閱分類(lèi),總冊(cè)數(shù),庫(kù)存量,出版社,書(shū)名)類(lèi),二級(jí)分類(lèi),館 procedure p_圖書(shū)查詢(xún) 索書(shū)號(hào) char(20)=null,書(shū)名 char(50)=null,作者 char(50)=null,出版社 char(50)=nullasbeginif 索書(shū)號(hào) is not nullbegin if 書(shū)名 is not null begin if 作者 is not null begin if 出版社 is not null begin -索書(shū)號(hào),書(shū)名,作者,出版社 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存量,總冊(cè)數(shù),定價(jià),

38、出版社25 =1 from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 書(shū)籍信息.索書(shū)號(hào)= and 作者=作者 and 出版社=出版社 and 圖書(shū)編號(hào).是否在庫(kù)索書(shū)號(hào) and 書(shū)名=書(shū)名 end else begin -索書(shū)號(hào),書(shū)名,作者 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 書(shū)籍信息.索書(shū)號(hào)= and 作者=作者 and 圖書(shū)編號(hào).是否在庫(kù)=1 量,總冊(cè)數(shù),定價(jià),出版社 索書(shū)號(hào) and 書(shū)名=書(shū)名 end end else begin i

39、f 出版社 is not null begin -索書(shū)號(hào),書(shū)名,出版社 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 書(shū)籍信息.索書(shū)號(hào)= and 出版社=出版社 and 圖書(shū)編號(hào).是否在庫(kù)=1 量,總冊(cè)數(shù),定價(jià),出版社 索書(shū)號(hào) and 書(shū)名=書(shū)名 end else begin -索書(shū)號(hào),書(shū)名 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存量,總冊(cè)數(shù),定價(jià),出版社26=1 from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and

40、 圖書(shū)編號(hào).是否在庫(kù)=1 and 書(shū)籍信息.索書(shū)號(hào)=索書(shū)號(hào) and 書(shū)名=書(shū)名 end end end else begin if 作者 is not null begin if 出版社 is not null begin -索書(shū)號(hào),作者,出版社 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 書(shū)籍信息.索書(shū)號(hào)= and 作者=作者 and 出版社=出版社 and 圖書(shū)編號(hào).是否在庫(kù)量,總冊(cè)數(shù),定價(jià),出版社 索書(shū)號(hào) end else begin -索書(shū)號(hào),作者 select 書(shū)籍信息

41、.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 圖書(shū)編號(hào).是否在庫(kù)量,總冊(cè)數(shù),定價(jià),出版社 =1 and 書(shū)籍信息.索書(shū)號(hào)=索書(shū)號(hào) and 作者=作者 end end else begin if 出版社 is not null begin 27-索書(shū)號(hào),出版社 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 圖書(shū)編號(hào).是否在庫(kù)量,總冊(cè)數(shù),定價(jià),出版社 =1 and 書(shū)籍信息.索書(shū)號(hào)=索書(shū)號(hào) an

42、d 出版社=出版社 end else begin -索書(shū)號(hào) select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 圖書(shū)編號(hào).是否在庫(kù)量,總冊(cè)數(shù),定價(jià),出版社 =1 and 書(shū)籍信息.索書(shū)號(hào)=索書(shū)號(hào) end end end end else begin if 書(shū)名 is not null begin if 作者 is not null begin if 出版社 is not null begin -書(shū)名,作者,出版社 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存

43、from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 書(shū)名=書(shū)名 and 圖 and 作者=作者 and 出版社=出版社 28 量,總冊(cè)數(shù),定價(jià),出版社 書(shū)編號(hào).是否在庫(kù)=1end else begin -書(shū)名,作者 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 書(shū)名=書(shū)名 and 作量,總冊(cè)數(shù),定價(jià),出版社 者=作者 and 圖書(shū)編號(hào).是否在庫(kù)=1 end end else begin if 出版社 is not null begin -書(shū)名,出版

44、社 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 圖書(shū)編號(hào).是否在庫(kù)量,總冊(cè)數(shù),定價(jià),出版社 =1 and 書(shū)名=書(shū)名 and 出版社=出版社 end else begin -書(shū)名 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 圖書(shū)編號(hào).是否在庫(kù)量,總冊(cè)數(shù),定價(jià),出版社 =1 and 書(shū)名=書(shū)名 end end end else begin 29if 作者 is not

45、 null begin if 出版社 is not null begin -作者,出版社 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 圖書(shū)編號(hào).是否在庫(kù)量,總冊(cè)數(shù),定價(jià),出版社 =1 and 作者=作者 and 出版社=出版社 end else begin -作者 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,庫(kù)存from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 圖書(shū)編號(hào).是否在庫(kù)end 量,總冊(cè)數(shù),定價(jià),出版社 =1

46、and 作者=作者 end else begin if 出版社 is not null begin -select 出版社 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 圖書(shū)編號(hào).是否庫(kù)存量,總冊(cè)數(shù),定價(jià),出版社 在庫(kù)=1 and 出版社=出版社 end else begin -return all 30 select 書(shū)籍信息.索書(shū)號(hào),圖書(shū)編號(hào),書(shū)名,作者,字?jǐn)?shù),出版時(shí)間,from 書(shū)籍信息,圖書(shū)編號(hào) where 書(shū)籍信息.索書(shū)號(hào)=圖書(shū)編號(hào).索書(shū)號(hào) and 圖書(shū)編號(hào).是否庫(kù)存量,總冊(cè)

47、數(shù),定價(jià),出版社 在庫(kù)=1 end end end endend6) 刪除書(shū)籍信息create procedure p_刪除書(shū)籍信息 圖書(shū)編號(hào) intasbeginif exists(select * from 圖書(shū)編號(hào) where 圖書(shū)編號(hào)=圖書(shū)編號(hào) and 是否在庫(kù)=0) begin delete 借閱信息 where 圖書(shū)編號(hào)=圖書(shū)編號(hào)endupdate 書(shū)籍信息set 總冊(cè)數(shù)=總冊(cè)數(shù)-1,庫(kù)存量=庫(kù)存量-1where 索書(shū)號(hào)=(select 圖書(shū)編號(hào).索書(shū)號(hào) from 圖書(shū)編號(hào) where 圖書(shū)編號(hào)=圖書(shū)編號(hào))delete 書(shū)籍信息where 索書(shū)號(hào)=(select 圖書(shū)編號(hào).索書(shū)號(hào)

48、from 圖書(shū)編號(hào) where 圖書(shū)編號(hào)=圖書(shū)編號(hào)) and 總冊(cè)數(shù)=0delete 圖書(shū)編號(hào)where 圖書(shū)編號(hào)=圖書(shū)編號(hào)end7) 繳納欠費(fèi)create procedure p_繳納欠費(fèi) 證號(hào) char(10),繳納金額 money=0asbeginif exists(select * from 讀者信息 where 證號(hào)=證號(hào))begin31 update 讀者信息 set 欠費(fèi)=欠費(fèi)-繳納金額 where 證號(hào)=證號(hào)endelsebegin end8) 圖書(shū)賠償create procedure p_賠償圖書(shū) 證號(hào) char(10),圖書(shū)編號(hào) int,圖書(shū)價(jià)格 money,上交金額 mo

49、neyasbeginif exists(select * from 借閱信息 where 證號(hào)=證號(hào) and 圖書(shū)編號(hào)=圖書(shū)編號(hào)) begin update 讀者信息 set 欠費(fèi)=欠費(fèi)+圖書(shū)價(jià)格-上交金額 where 證號(hào)=證號(hào) exec p_刪除書(shū)籍信息 圖書(shū)編號(hào) print用戶(hù)+證號(hào)+不存在! endendelsebegin end9) 讀者信息查詢(xún)create procedure p_讀者信息查詢(xún) 證號(hào) char(10)=nullasbeginselect 證號(hào),姓名,聯(lián)系方式,已借書(shū)數(shù)目 as 已借圖書(shū)冊(cè)數(shù),讀者類(lèi)別,能否借書(shū),欠費(fèi)from 讀者信息where 證號(hào)=證號(hào)end32

50、print借書(shū)證號(hào)輸入錯(cuò)誤,或用戶(hù)+證號(hào)+沒(méi)有借閱圖書(shū)+str(圖書(shū)編號(hào)) end10) 讀者注冊(cè)create procedure p_讀者注冊(cè) 證號(hào) char(10),姓名 varchar(20),密碼 varchar(20)=123456,聯(lián)系方式 char(50)=null, asbeginif exists(select * from 圖書(shū)借出限定表 where 讀者類(lèi)別=讀者類(lèi)別) insert 讀者信息 values(證號(hào),姓名,聯(lián)系方式,已借書(shū)數(shù)目,讀者類(lèi)別,能 已借書(shū)數(shù)目 int=0,讀者類(lèi)別 char(10)=學(xué)生,能否借書(shū) bit=1,欠費(fèi) money=0 begin 否借書(shū),密碼,欠費(fèi))endelsebegin end11) 讀者注銷(xiāo)create procedure p_讀者注銷(xiāo) 證號(hào) char(10),姓名 varchar(20)asbeginif not exists(select * f

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論