




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上高校圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)一、項(xiàng)目功能隨著計(jì)算機(jī)的廣泛運(yùn)用,圖書館或者一些企業(yè)內(nèi)部,甚至是書店,在正常運(yùn)行過程中總是面對(duì)大量的讀者信息、還書信息。因此需要對(duì)讀者資源、書籍資源、借書信息等進(jìn)行管理,及時(shí)了解各個(gè)環(huán)節(jié)中信息的變更。圖書管理系統(tǒng)的主要功能是實(shí)現(xiàn)圖書管圖書借閱和歸還的管理的自動(dòng)化。圍繞這一主要功能,本系統(tǒng)涉及到以下核心功能:借書管理、歸還管理,還有一些基本的輔助功能:用戶管理、圖書管理、統(tǒng)計(jì)查詢。二、 需求分析:1. 學(xué)生的身份信息及借閱情況(1) 借閱者(讀者)的身份信息:讀者號(hào)、姓名、性別等。(2) 這些信息保存在圖書館讀者數(shù)據(jù)庫,讀者可以憑借自己的讀者
2、號(hào)(借書證號(hào))及密碼登錄圖書館管理系統(tǒng)進(jìn)行個(gè)人資料的修改和借閱情況的查詢。一般只能查詢本人的信息,在不知道他人讀者號(hào)及密碼的情況下,就能有效保護(hù)讀者個(gè)人隱私。2. 圖書信息及被借閱情況(1)圖書信息包括:書號(hào)、書名、作者、出版社等。(2)每本圖書信息會(huì)匯總在一起,保存在圖書館的圖書數(shù)據(jù)庫,讀者可以在登陸圖書館管理系統(tǒng)后根據(jù)需要進(jìn)行圖書的搜尋與查詢,在得到滿意的查詢結(jié)果后,再去圖書館進(jìn)行借閱。而對(duì)于每本被借出的書,管理系統(tǒng)又會(huì)將相應(yīng)的讀者號(hào)、借出日期和應(yīng)還日期保存在數(shù)據(jù)庫中,供讀者查詢和系統(tǒng)管理。3. 圖書館系統(tǒng)管理員身份信息及工作情況(1)圖書館系統(tǒng)管理員身份信息包括:管理員號(hào)、姓名、性別等。
3、(2) 這些數(shù)據(jù)保存在圖書館管理員數(shù)據(jù)庫中,圖書管理員可以瀏覽、查詢、添加、刪除、修改、統(tǒng)計(jì)圖書的基本信息;瀏覽、查詢、統(tǒng)計(jì)、添加、刪除、修改、圖書借閱者的基本信息。具體模塊如下:學(xué)生模塊:學(xué)生模塊個(gè)人信息修改查詢圖書信息借閱圖書管理員模塊:管理員模塊個(gè)人信息修改添加圖書信息修改圖書信息學(xué)生信息管理圖書借閱登記三、數(shù)據(jù)庫設(shè)計(jì)1、概念結(jié)構(gòu)設(shè)計(jì)實(shí)體“圖書”的屬性有:書號(hào),書名,出版社,類別,數(shù)量實(shí)體“學(xué)生”的屬性有:學(xué)號(hào),姓名,性別,班級(jí),密碼 實(shí)體“管理員”的屬性有:工作號(hào),姓名,性別,密碼E-R如下: “圖書”E-R圖:圖書類別書名書號(hào)數(shù)量出版社“讀者”E-R圖:學(xué)生性別姓名密碼學(xué)號(hào)“管理員”
4、E-R圖:管理員密碼姓名工作號(hào)性別總E-R圖:密碼姓名性別工作號(hào)管理員新密碼mm舊密碼學(xué)生管理圖書管理班級(jí)N借書時(shí)間N出版社MN借閱圖書類別書號(hào)書名學(xué)號(hào)學(xué)生姓名性別密碼還書時(shí)間2、邏輯結(jié)構(gòu)設(shè)計(jì)圖書(書號(hào),書名,出版社,類別,數(shù)量)學(xué)生(學(xué)號(hào),姓名,性別,班級(jí),密碼)管理員(工作號(hào),姓名,性別,密碼)圖書類別(書號(hào),書名,類別)借閱(學(xué)號(hào),書號(hào),學(xué)生姓名,書名,借書時(shí)間,還書時(shí)間)學(xué)生管理(管理員工作號(hào),學(xué)號(hào),學(xué)生姓名,學(xué)生舊密碼,學(xué)生新密碼)3、物理結(jié)構(gòu)設(shè)計(jì)(1)book表(圖書信息表)列名數(shù)據(jù)類型長(zhǎng)度約束說明_idInt10主鍵not null書號(hào)b_nameVarchar20not nul
5、l書名b_pubVarchar20not null 出版社Sort_idInt12外鍵not null類別編號(hào)b_numberInt5not null數(shù)量(2)student表(學(xué)生信息表)列名數(shù)據(jù)類型長(zhǎng)度約束說明S_idInt12主鍵not null學(xué)號(hào)S_nameVarchar20not null姓名S_sexChar2not null性別S_classVarchar20not null班級(jí)S_pwdVarchar20not null密碼(3)manager表(管理員信息表)列名數(shù)據(jù)類型長(zhǎng)度約束說明M_idInt12主鍵not null工作號(hào)M_nameVarchar20not null姓
6、名M_sexChar2not null性別M_pwdVarchar20not null密碼(4)Sort(圖書類別表)列名數(shù)據(jù)類型長(zhǎng)度約束說明Sort_idInt12主鍵not null類別編號(hào)Sort_nameVarcher20not null類別名稱B_idint10Not null書號(hào)(5)borrow(借閱信息表)列名數(shù)據(jù)類型長(zhǎng)度約束說明S_idInt12主鍵not null學(xué)號(hào)B_idInt10主鍵not null書號(hào)S_nameVarchar20not null學(xué)生姓名B_nameVarchar20not null書名Borrowtimedatetimenot null借書時(shí)間re
7、turntimedatetimenot null還書時(shí)間(6)student_manager(學(xué)生管理表)列名數(shù)據(jù)類型長(zhǎng)度約束說明M_idInt12主鍵not null管理員工作號(hào)S_idInt12主鍵not null學(xué)生學(xué)號(hào)S_nameVarchar20not null學(xué)生姓名S_pwd_oldVarchar20not null學(xué)生舊密碼S_pwd_newVarchar20Not null學(xué)生新密碼四、數(shù)據(jù)庫的實(shí)現(xiàn)1、數(shù)據(jù)庫數(shù)據(jù)庫名對(duì)象定義SQL語句說明bookstorecreate database library;創(chuàng)建名為library的數(shù)據(jù)庫2、表表名對(duì)象定義SQL語句說明bookcr
8、eate table book(b_id int(10) not null,b_name varchar(20) not null,b_pub varchar(20) not null,sort_id int(12) not null,b_number int(5) not null,primary key(b_id);alter table bookadd constraint fk_boforeign key(sort_id ) references sort(sort_id )on update cascadeon delete cascade;1. 創(chuàng)建book(圖書信息表)2. 并添
9、加名為fk_bo的外鍵約束,b_sort為此表的外鍵,參照sort表中的sort_id字段studentcreate table student(s_id int(12) not null,s_name varchar(20) not null,s_sex char(2) not null,s_class varchar(20) not null,s_pwd varchar(20) not null,primary key(s_id);創(chuàng)建student(學(xué)生信息表)managercreate table manager(m_id int(12) not null,m_name varchar
10、(20) not null,m_sex char(2) not null,m_pwd varchar(20) not null,primary key(m_id);創(chuàng)建manager(管理員信息表)Sortcreate table sort(sort_id int(12) not null,sort_name varchar(20) not null,b_id int(10) not null,primary key(sort_id);創(chuàng)建sort(圖書類別表)borrowcreate table borrow(s_id int(12) not null,b_id int(10) not nu
11、ll,s_name varchar(20) not null,b_name varchar(20) not null,borrow_time datetime not null,return_time datetime not null,primary key(s_id,b_id);alter table borrowadd constraint fk_stuforeign key(s_id) references student(s_id)on update cascadeon delete cascade;alter table borrowadd constraint fk_bookfo
12、reign key(b_id) references book(b_id)on update cascadeon delete cascade;1. 創(chuàng)建borrow(借閱信息表)2. 并添加名為fk_stu和fk_book的外鍵約束,其中s_id和b_id作為此表的外鍵,參照student表中的s_id和book表中的b_id字段student_managercreate table student_manager(m_id int(12) not null,s_id int(12) not null,s_name varchar(20) not null,s_pwd_old varchar
13、(20) not null,s_pwd_new varchar(20) not null,primary key(m_id,s_id);alter table student_manageradd constraint fk_stu_manforeign key(s_id) references student(s_id)on update cascadeon delete cascade;alter table student_manageradd constraint fk_manforeign key(m_id) references manager(m_id)on update cas
14、cadeon delete cascade;1. 創(chuàng)建Student_manager(學(xué)生管理表),當(dāng)管理員修改學(xué)生密碼時(shí),將學(xué)生的新密碼以及舊密碼存入此表中2. 并添加名為fk_stu_man和fk_man的外鍵,其中s_id和m_id為此表的外鍵,參照student表中的s_id和manager表中的m_id字段3、操作表中的數(shù)據(jù)操作類型數(shù)據(jù)操作SQL語句說明插入數(shù)據(jù)insert into book values('1001','數(shù)據(jù)庫原理','清華大學(xué)出版社','01','50');insert into b
15、ook values('1005','大學(xué)語文','北京大學(xué)出版社','05','45');insert into book values('1002','巴黎圣母院' ,'譯林出版社','02','20');insert into book values('1003','大話物聯(lián)網(wǎng)','清華大學(xué)出版社','01','20'); insert into st
16、udent values('10001','張三','男','網(wǎng)絡(luò)工程1班','1234');insert into student values('10002','章艷','女','網(wǎng)絡(luò)工程(軟件開發(fā))1班','2345');insert into student values('10003','李四',' 男','園林1班','2222');insert
17、 into manager values('101','張小麗','女','6666');insert into manager values('102','王五','男','7777');insert into manager values('103','楊靜','女','2222');insert into sort values('01','計(jì)算機(jī)類','10
18、01');insert into sort values('02','外國文學(xué)類','1002');insert into sort values('05','中文教材類','1005'); insert into borrow values('10001','1001','張三','數(shù)據(jù)庫原理','2019-09-16 12:03:03','2019-11-11 12:11:11');inser
19、t into borrow values('10001','1005','張三','大學(xué)語文','2019-11-11 11:11:11','2019-12-12 12:12:12');insert into borrow values('10002','1002','章艷','巴黎圣母院','2019-11-12 11:11:11','2019-12-13 13:13:13');分別向各個(gè)表中插入數(shù)據(jù)修
20、改數(shù)據(jù)update book set b_number='20' where b_id='1003'update student set s_pwd='11111' where s_id='10003'update manager set m_pwd='1111' where m_id='103'1. 將book表中書號(hào)為1003的書籍的數(shù)量修改為202. 將student表中學(xué)號(hào)為10003的學(xué)生的密碼修改為111113. 將manager中編號(hào)為103的管理員的密碼修改為1111刪除數(shù)據(jù)dele
21、te from book where b_id='1003'delete from manager where m_id='103'1. 刪除book表中書號(hào)為1003的書籍信息2. 刪除manager中編號(hào)為103 的管理員信息查詢數(shù)據(jù)select * from book;select * from student where s_name='章艷'select * from manager where m_id='101'1. 查詢book表中的所有信息2. 查詢student表中名為章艷的學(xué)生信息3. 查詢manager中編
22、號(hào)為101的管理員信息4、視圖視圖名對(duì)象定義SQL語句說明book_view1create view book_view1 as select * from book;select * from book_view1;1. 在book表上建立一個(gè)查詢書籍信息的視圖book_view12. 驗(yàn)證:查詢視圖Book_view2create view book_view2as select book.b_id,b_name,sort_name,book.sort_idfrom book,sortwhere book.sort_id=sort.sort_id;select * from book_vi
23、ew2;1. 在book表和book_sort表上建立一個(gè)名為book_view2的視圖,視圖保留書籍的書號(hào),書名,類別以及類別編號(hào)2. 驗(yàn)證:查看視圖stu_view1create view stu_view1as select s_id,s_sex,s_class from studentwhere s_sex='女'select * from stu_view1;1. 在student表上創(chuàng)建一個(gè)名為stu_view1的視圖,視圖 中保留性別為女的學(xué)生的學(xué)號(hào),性別,班級(jí)2. 驗(yàn)證:查看視圖5、索引索引名對(duì)象定義SQL語句說明in_b_namecreate unique i
24、ndex in_b_name on book(b_name);為book表上b_name列建立一個(gè)唯一性索引in_b_namein_s_classcreate index in_s_class on student(s_class asc);為student表上s_class列建立一個(gè)普通升序索引6、存儲(chǔ)過程存儲(chǔ)過程名對(duì)象定義SQL語句說明proc_book1delimiter /create procedure proc_book1()beginselect * from bookwhere b_name like '數(shù)據(jù)庫%' order by b_id;end/delim
25、iter ;call proc_book1();1. 創(chuàng)建存儲(chǔ)過程proc_book1從book表中查詢出名字中含有“數(shù)據(jù)庫”的圖書信息2. 驗(yàn)證:調(diào)用存儲(chǔ)過程proc_book1()proc_book2delimiter /create procedure proc_book2(in bookid int(10)beginselect * from book where b_id=bookid;end/delimiter ;call proc_book2('1001');1. 創(chuàng)建存儲(chǔ)過程proc_book2,輸入書號(hào)后,查詢出此書籍的基本信息2. 驗(yàn)證:調(diào)用存儲(chǔ)過程proc
26、_book2(1001)7、存儲(chǔ)函數(shù)存儲(chǔ)函數(shù)名對(duì)象定義SQL語句說明func_stu1delimiter /create function func_stu1(st_id int(12)returns varchar(20)begin return (select s_name from student where s_id=st_id);end/delimiter ;select func_stu1('10001');1. 創(chuàng)建一個(gè)存儲(chǔ)函數(shù)func_stu1,返回表student中指定學(xué)號(hào)的學(xué)生信息2. 驗(yàn)證:調(diào)用函數(shù)func_stu1(10001)8、觸發(fā)器觸發(fā)器名對(duì)象定義
27、SQL語句說明sor_updatedelimiter /create trigger sor_update after updateon sort for each rowbegin update book set sort_id=new.sort_idwhere sort_id=old.sort_id;end/delimiter ;update sort set sort_id='06' where sort_name='中文教材類'select * from book where sort_id='06'1. 創(chuàng)建一個(gè)觸發(fā)器,當(dāng)更改sort表
28、中的某本書的類型編號(hào)時(shí),同時(shí)對(duì)book表的類型編號(hào)也進(jìn)行相應(yīng)的更改2. 驗(yàn)證:將sort表中的中文教材類的編號(hào)修改為06,并觀察book表是否也做出相應(yīng)的改變tri_stu1insert into student values('10004','王曉華','女','園林2 班','88888');create table de_stu select s_id,s_name,s_sex from student where 1=0;create trigger tri_stu1 after delete on stu
29、dent for each row insert into de_stu (s_id,s_name,s_sex) values(old.s_id,old.s_name,old.s_sex);delete from student where s_id='10004'select * from de_stu;1. 在student表中插入一條記錄2. 創(chuàng)建一個(gè)空表de_stu3. 創(chuàng)建一個(gè)觸發(fā)器tri_stu1, 當(dāng)一個(gè)學(xué)生的信息被刪除時(shí),將該學(xué)生的編號(hào),姓名以及性別添加到表de_stu中4. 驗(yàn)證:刪除剛插入的學(xué)生信息,并查詢de_stu表中是否有該條記錄9、事件事件名對(duì)象定義
30、SQL語句說明event1set global.event_scheduler = true;create event event1 on schedule every 1 daydo create table borrow1 as select * from borrow;show tables;select * from borrow1;1. 開啟事件調(diào)度器2. 創(chuàng)建每天執(zhí)行的事件event1,創(chuàng)建一個(gè)borrow1表,要求每隔一天將borrow表中的信息存入到borrow1表中3. 驗(yàn)證:查看所有表,并查看borrow2表中的內(nèi)容event2delimiter /create event
31、 event2 on schedule every 1 weekstarts curdate()+interval 1 weekends '2019-12-31 23:59:59' do begin truncate table borrow1;end/delimiter ;創(chuàng)建事件event2,要求從下周開始,每周都清空borrow1表,并且在2019年12月31日23:59:59結(jié)束10、事務(wù)(在存儲(chǔ)過程中使用事務(wù))存儲(chǔ)過程名對(duì)象定義SQL語句說明de_man1()insert into manager values('103','楊靜',&
32、#39;女','2222');delimiter /set autocommit=0;create procedure de_man1()beginstart transaction;delete from manager where m_id='103'select * from manager where m_id='103'rollback;select * from manager where m_id='103'end/delimiter ;call de_man1();1. 插入工作號(hào)為103的管理員信息2.
33、刪除工作號(hào)為103的管理員信息,然后回滾,其中創(chuàng)建de_man1存儲(chǔ)過程3. 驗(yàn)證:調(diào)用存儲(chǔ)過程de_man1(),查看結(jié)果up_man1()delimiter /create procedure up_man1()beginstart transaction;update manager set m_id='104' where m_name='楊靜'commit;select * from manager where m_name='楊靜'end/delimiter ;call up_man1();1. 將manager表中名為楊靜的管理員的工作號(hào)改為104,并提交事務(wù),創(chuàng)建名為up_man1的存儲(chǔ)過程2. 驗(yàn)證:調(diào)用存儲(chǔ)過程up_man1(),并查看結(jié)果11、數(shù)據(jù)庫用戶及權(quán)限分配用戶名定義用戶SQL語句權(quán)限分配SQL語句說明manager1create user
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼廠拆遷承包協(xié)議書
- 酒席酒水供應(yīng)協(xié)議書
- 被車壓腳賠償協(xié)議書
- 銀行股金退還協(xié)議書
- 身份相關(guān)調(diào)解協(xié)議書
- 亞馬遜外包設(shè)計(jì)協(xié)議書
- 俄羅斯武器供應(yīng)協(xié)議書
- 黃河戰(zhàn)略合作協(xié)議書
- 銷售經(jīng)營提成協(xié)議書
- 通常來說就業(yè)協(xié)議書
- 2025-2030新型鋼材產(chǎn)業(yè)市場(chǎng)深度調(diào)研及前景趨勢(shì)與投資研究報(bào)告
- 2025年5G網(wǎng)絡(luò)在無人機(jī)領(lǐng)域的應(yīng)用可行性研究報(bào)告
- 央企華潤(rùn)集團(tuán)杭州片區(qū)年度品牌傳播策略案
- 工業(yè)用地開發(fā)項(xiàng)目成本分析與資金籌措方案
- 2025-2030年中國正丁醇行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- (人教2024版)英語七年級(jí)下冊(cè)Unit7.4 Section B 1a-2d課件(新教材)
- 2025年廣東嘉城建設(shè)集團(tuán)有限公司及其下屬公司招聘筆試參考題庫含答案解析
- 新藥研究與開發(fā)技術(shù) 課件3.新藥的工藝與質(zhì)量研究
- 2025-2030中國基礎(chǔ)設(shè)施行業(yè)市場(chǎng)前景趨勢(shì)及競(jìng)爭(zhēng)格局與投資研究報(bào)告
- 2025年統(tǒng)編版一年級(jí)(下)期末語文試題(含答案)
- 六防教育主題班會(huì)課件
評(píng)論
0/150
提交評(píng)論