版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 《企業(yè)中小型數(shù)據(jù)庫系統(tǒng)開發(fā)能力實(shí)訓(xùn)》</p><p><b> 報(bào)告</b></p><p> 設(shè)計(jì)題目: 圖書管理系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì) </p><p> 系 部: 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 年 級(jí): 2
2、012級(jí) 專業(yè)班級(jí): 軟件121(對(duì)口)</p><p> 姓 名: 學(xué) 號(hào) </p><p> 設(shè) 計(jì) 時(shí) 間: 2013.6.8-2013.6.14 </p><p><b> 目的</b></p><p> 通過本次實(shí)
3、訓(xùn),運(yùn)用數(shù)據(jù)庫原理及應(yīng)用課程的基本知識(shí)構(gòu)建一個(gè)可用的數(shù)據(jù)庫,通過實(shí)現(xiàn),加強(qiáng)對(duì)數(shù)據(jù)庫的認(rèn)識(shí)與理解。</p><p> 1.掌握在分析用戶需求的基礎(chǔ)上,使用SQL Server 2005設(shè)計(jì)符合實(shí)際應(yīng)用的數(shù)據(jù)庫的方法和步驟。</p><p> 2.掌握數(shù)據(jù)庫及其相應(yīng)對(duì)象的創(chuàng)建方法。</p><p><b> 要求</b>&
4、lt;/p><p> 使用用SQL Server 2005建立某個(gè)管理系統(tǒng)的數(shù)據(jù)庫,其中要求包含所學(xué)的其他的數(shù)據(jù)庫對(duì)象,使其能夠完成一定的功能。</p><p> 1.建立5張以上的用戶表,表之間有一定聯(lián)系,以保證參照完整性;</p><p> 2.表中某些列的值要唯一但允許空值,某些列的值要唯一而且不允許空值;</p><
5、p> 3.給表上建立兩個(gè)以上的約束(類型、條件等自定),使表中的某些列滿足一定的條件; </p><p> 4.給經(jīng)常查詢的列建立一個(gè)索引;</p><p> 5.建立兩張以上的視圖,使用戶能查看部分?jǐn)?shù)據(jù); </p><p> 6.建立至少三個(gè)觸發(fā)器、兩個(gè)存儲(chǔ)過程加強(qiáng)表之間的數(shù)據(jù)完整性、一致性約束;</p><p><b&
6、gt; 7.創(chuàng)建三個(gè)游標(biāo);</b></p><p> 8.寫出不少于6個(gè)SELECT語句(其中要有不少于2個(gè)的嵌套查詢),并要附上題目和查詢結(jié)果;</p><p> 9.寫出不少于4個(gè)的數(shù)據(jù)更新語句;</p><p> 10.寫出實(shí)訓(xùn)過程中所涉及的知識(shí)點(diǎn)及難點(diǎn),碰到的問題和解決辦法以及實(shí)訓(xùn)體會(huì)。 </p><p><
7、b> 步驟</b></p><p><b> 1.需求分析</b></p><p> (1)待開發(fā)系統(tǒng)的一般概述 : </p><p> 根據(jù)校園的實(shí)際情況,著眼于未來發(fā)展,建成符合標(biāo)準(zhǔn)化協(xié)議、通用性較強(qiáng)、實(shí)用的系統(tǒng),以提高圖書信息的現(xiàn)代化管理水平,實(shí)現(xiàn)信息資源的共享。圖書管理系統(tǒng)是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫數(shù)據(jù)管理
8、新模式。在對(duì)圖書、讀者的管理,其實(shí)是對(duì)圖書、讀者數(shù)據(jù)的管理。本系統(tǒng)的建成無疑會(huì)為管理者對(duì)圖書管理系統(tǒng)提供極大的幫助。使用該系統(tǒng)之后,圖書館管理人員可以管理讀者的登記、圖書的購入、借出、歸還以及注銷等;還可以查詢某位讀者、某本圖書的借閱情況,對(duì)當(dāng)前借閱情況給出一些統(tǒng)計(jì),給出統(tǒng)計(jì)表格,以全面掌握?qǐng)D書的流通情況。 本系統(tǒng)的宗旨是提高圖書管理工作的效率,減少相關(guān)人員的工作量,使學(xué)校的圖書管理工作真正做到科學(xué)、合理的規(guī)劃,系統(tǒng)、高效的實(shí)
9、施。</p><p> (2)能夠?qū)崿F(xiàn)對(duì)讀者信息的查詢、編輯和修改操作。</p><p><b> 2.概念結(jié)構(gòu)設(shè)計(jì)</b></p><p><b> 圖1-6 E-R圖</b></p><p><b> 3.邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p>
10、; 通過E-R圖轉(zhuǎn)換成的關(guān)系模式如下圖:</p><p><b> 4.物理結(jié)構(gòu)設(shè)計(jì)</b></p><p><b> 表1 圖書信息</b></p><p><b> 表2 圖書類型</b></p><p><b> 表3 借閱信息</b>&l
11、t;/p><p><b> 表4 讀者信息</b></p><p><b> 表5 讀者類型</b></p><p><b> 表6 出版社信息</b></p><p><b> 5.數(shù)據(jù)庫的實(shí)施</b></p><p> (
12、1)存儲(chǔ)過程的創(chuàng)建</p><p><b> 1)</b></p><p> use library</p><p> if exists(select name from sysobjects where name='fact'and type='p')</p><p> dro
13、p proc fact</p><p><b> go</b></p><p> create procedure fact</p><p> @n int,@f int output</p><p><b> as</b></p><p><b> if
14、 @n<0</b></p><p> print'你輸入的是'+cast(@n as varchar(20))+',請(qǐng)輸入非負(fù)數(shù)'</p><p><b> else</b></p><p><b> begin</b></p><p> d
15、eclare @i int</p><p><b> set @i=1</b></p><p><b> set @f=1</b></p><p> while @i<=@n</p><p><b> begin</b></p><p>
16、 set @f=@f*@i</p><p> set @i=@i+1</p><p><b> end</b></p><p> print cast(@n as varchar(20))+'的階乘是:'+cast(@f as varchar(20))</p><p><b> end&
17、lt;/b></p><p><b> (2)觸發(fā)器的創(chuàng)建</b></p><p><b> 1)</b></p><p> create trigger up_讀者信息</p><p><b> on 讀者信息</b></p><p>
18、 for update</p><p><b> as</b></p><p> declare @oldid char(8),@newid char(8)</p><p> select @oldid=deleted.讀者編號(hào),@newid=inserted.讀者編號(hào)</p><p> from deleted
19、,inserted where deleted.姓名=inserted.姓名</p><p> update 借閱信息set 讀者編號(hào)=@newid where 讀者編號(hào)=@oldid</p><p><b> 2)</b></p><p> create trigger ins_借閱信息on 借閱信息</p><p&
20、gt; after insert</p><p><b> as</b></p><p> if not exists(select * from 讀者信息where 讀者編號(hào)=(select 讀者編號(hào)from inserted))</p><p><b> begin</b></p><p&g
21、t; print'如果讀者編號(hào)沒有在讀者信息表中,則不能插入該記錄'</p><p> rollback transaction</p><p><b> end</b></p><p><b> ?。?)視圖的創(chuàng)建</b></p><p><b> 1)</
22、b></p><p> use library</p><p><b> go</b></p><p> create view tushu</p><p><b> as</b></p><p> select 圖書編號(hào),書名,類別</p>&
23、lt;p><b> from 圖書信息</b></p><p> where 圖書編號(hào)='TK0002'</p><p><b> 2)</b></p><p> use library</p><p><b> go</b></p>
24、<p> create view tushu1</p><p><b> as</b></p><p> select 圖書編號(hào),書名,類別</p><p><b> from 圖書信息</b></p><p> where left(圖書編號(hào),2)='TK'
25、</p><p><b> ?。?)游標(biāo)的創(chuàng)建</b></p><p><b> 1)</b></p><p> use library</p><p> declare cursor_biao cursor</p><p> for select * from 讀者
26、信息where 讀者類型=1</p><p> open cursor_biao</p><p> if @@cursor_rows>0</p><p> print @@cursor_rows</p><p><b> go</b></p><p> fetch next fro
27、m cursor_biao</p><p> while @@fetch_status=0</p><p><b> begin </b></p><p> fetch next from cursor_biao</p><p><b> end</b></p><p&g
28、t;<b> 2)</b></p><p> use library</p><p> declare xingbie cursor</p><p> for select * from 讀者信息where 性別='男'</p><p> open xingbie</p><
29、;p> if @@cursor_rows>0 </p><p> print @@cursor_rows</p><p><b> go</b></p><p> fetch next from
30、xingbie</p><p> while @@fetch_status=0</p><p><b> begin</b></p><p> fetch next from xingbie</p><p><b> end</b></p><p><b>
31、 3)</b></p><p> use library</p><p> declare chayue cursor</p><p> for select * from 圖書類型</p><p> open chayue</p><p> if @@cursor_rows>0</
32、p><p> print @@cursor_rows</p><p><b> go</b></p><p> fetch next from chayue</p><p> while @@fetch_status=0</p><p><b> begin</b>&l
33、t;/p><p> fetch next from chayue</p><p><b> end</b></p><p> 6.數(shù)據(jù)庫的運(yùn)行與維護(hù)</p><p><b> (1)select</b></p><p> 1)用select查詢類別='計(jì)算機(jī)
34、39;的圖書編號(hào)和書名</p><p> select 圖書編號(hào),書名</p><p><b> from 圖書信息</b></p><p> where 類別='計(jì)算機(jī)'</p><p> 2) select的嵌套</p><p><b> select *&
35、lt;/b></p><p><b> from 讀者信息</b></p><p> where 讀者類型in(select 讀者類型from 讀者類型where 讀者類型='1')</p><p> ?。?)嵌套u(yù)pdate查詢</p><p> use library</p>
36、<p><b> go</b></p><p> update 借閱信息set 圖書類別='設(shè)計(jì)' where 讀者編號(hào)in(select 讀者編號(hào)</p><p><b> from 讀者信息</b></p><p> where 讀者編號(hào)='1009')</p
37、><p> (3)用insert語句向“讀者信息”表中插入新的數(shù)據(jù)行。</p><p> use library</p><p> insert into 讀者信息 values('1011','趙立立','女','藝術(shù)學(xué)院','',2,2)</p><p>
38、 (4)用delete語句刪除“讀者信息”表中 讀者編號(hào)=’1010’的讀者信息。</p><p> use library</p><p><b> go</b></p><p> delete from 讀者信息where 讀者編號(hào)='1010'</p><p><b> 總結(jié)<
39、;/b></p><p> 在做圖書管理系統(tǒng)的過程中,操作時(shí)難免會(huì)遇到一些難以解決的問題,在寫T-SQL語句時(shí),對(duì)觸發(fā)器的創(chuàng)建不是很熟練,在課余時(shí)間會(huì)認(rèn)真學(xué)習(xí)自己不足的地方,以至完全學(xué)會(huì)。在操作的過程中,遇到的一些問題 ,同過仔細(xì)看書,還有通過問同學(xué)之后,問題成功解決。</p><p><b> 存儲(chǔ)過程</b></p><p>
40、use library</p><p><b> go</b></p><p> create proc pro_讀者信息</p><p><b> as</b></p><p> select 讀者編號(hào),姓名,性別,單位</p><p><b> fro
41、m 讀者信息</b></p><p> where left(讀者編號(hào),3)='100'</p><p><b> go</b></p><p><b> 觸發(fā)器</b></p><p> create trigger del_xinxi </p>
42、<p><b> on 讀者信息</b></p><p> for delete</p><p><b> as </b></p><p> declare @duzhebianhao char</p><p> select @duzhebianhao=讀者編號(hào)from del
43、eted</p><p> if @duzhebianhao='1003'</p><p><b> begin</b></p><p> rollback transaction</p><p><b> end</b></p><p><b&
44、gt; 視圖</b></p><p> use library</p><p><b> go</b></p><p> create view shuru</p><p><b> as</b></p><p> select 圖書編號(hào),書名,類別,
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫原理課程設(shè)計(jì)---圖書管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)---圖書管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--- 圖書管理系統(tǒng)
- 圖書管理系統(tǒng)—數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)-圖書管理系統(tǒng)
- 圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)--圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)----圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)——圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--圖書管理
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告----圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告---圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告---圖書管理系統(tǒng)
- 數(shù)據(jù)庫原理課程設(shè)計(jì)--圖書管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告--圖書管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論