數(shù)據(jù)庫課程設計--圖書管理系統(tǒng)的數(shù)據(jù)庫設計_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  《企業(yè)中小型數(shù)據(jù)庫系統(tǒng)開發(fā)能力實訓》</p><p><b>  報告</b></p><p>  設計題目: 圖書管理系統(tǒng)的數(shù)據(jù)庫設計 </p><p>  系 部: 計算機科學與技術 </p><p>  年 級: 2

2、012級 專業(yè)班級: 軟件121(對口)</p><p>  姓 名: 學 號 </p><p>  設 計 時 間: 2013.6.8-2013.6.14 </p><p><b>  目的</b></p><p>  通過本次實

3、訓,運用數(shù)據(jù)庫原理及應用課程的基本知識構建一個可用的數(shù)據(jù)庫,通過實現(xiàn),加強對數(shù)據(jù)庫的認識與理解。</p><p>  1.掌握在分析用戶需求的基礎上,使用SQL Server 2005設計符合實際應用的數(shù)據(jù)庫的方法和步驟。</p><p>  2.掌握數(shù)據(jù)庫及其相應對象的創(chuàng)建方法。</p><p><b>  要求</b>&

4、lt;/p><p>  使用用SQL Server 2005建立某個管理系統(tǒng)的數(shù)據(jù)庫,其中要求包含所學的其他的數(shù)據(jù)庫對象,使其能夠完成一定的功能。</p><p>  1.建立5張以上的用戶表,表之間有一定聯(lián)系,以保證參照完整性;</p><p>  2.表中某些列的值要唯一但允許空值,某些列的值要唯一而且不允許空值;</p><

5、p>  3.給表上建立兩個以上的約束(類型、條件等自定),使表中的某些列滿足一定的條件; </p><p>  4.給經常查詢的列建立一個索引;</p><p>  5.建立兩張以上的視圖,使用戶能查看部分數(shù)據(jù); </p><p>  6.建立至少三個觸發(fā)器、兩個存儲過程加強表之間的數(shù)據(jù)完整性、一致性約束;</p><p><b&

6、gt;  7.創(chuàng)建三個游標;</b></p><p>  8.寫出不少于6個SELECT語句(其中要有不少于2個的嵌套查詢),并要附上題目和查詢結果;</p><p>  9.寫出不少于4個的數(shù)據(jù)更新語句;</p><p>  10.寫出實訓過程中所涉及的知識點及難點,碰到的問題和解決辦法以及實訓體會。 </p><p><

7、b>  步驟</b></p><p><b>  1.需求分析</b></p><p>  (1)待開發(fā)系統(tǒng)的一般概述 : </p><p>  根據(jù)校園的實際情況,著眼于未來發(fā)展,建成符合標準化協(xié)議、通用性較強、實用的系統(tǒng),以提高圖書信息的現(xiàn)代化管理水平,實現(xiàn)信息資源的共享。圖書管理系統(tǒng)是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫數(shù)據(jù)管理

8、新模式。在對圖書、讀者的管理,其實是對圖書、讀者數(shù)據(jù)的管理。本系統(tǒng)的建成無疑會為管理者對圖書管理系統(tǒng)提供極大的幫助。使用該系統(tǒng)之后,圖書館管理人員可以管理讀者的登記、圖書的購入、借出、歸還以及注銷等;還可以查詢某位讀者、某本圖書的借閱情況,對當前借閱情況給出一些統(tǒng)計,給出統(tǒng)計表格,以全面掌握圖書的流通情況。 本系統(tǒng)的宗旨是提高圖書管理工作的效率,減少相關人員的工作量,使學校的圖書管理工作真正做到科學、合理的規(guī)劃,系統(tǒng)、高效的實

9、施。</p><p>  (2)能夠實現(xiàn)對讀者信息的查詢、編輯和修改操作。</p><p><b>  2.概念結構設計</b></p><p><b>  圖1-6 E-R圖</b></p><p><b>  3.邏輯結構設計</b></p><p>

10、;  通過E-R圖轉換成的關系模式如下圖:</p><p><b>  4.物理結構設計</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ù)庫的實施</b></p><p>  (

12、1)存儲過程的創(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))+',請輸入非負數(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> ?。?)觸發(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.讀者編號,@newid=inserted.讀者編號</p><p>  from deleted

19、,inserted where deleted.姓名=inserted.姓名</p><p>  update 借閱信息set 讀者編號=@newid where 讀者編號=@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 讀者編號=(select 讀者編號from inserted))</p><p><b>  begin</b></p><p&g

21、t;  print'如果讀者編號沒有在讀者信息表中,則不能插入該記錄'</p><p>  rollback transaction</p><p><b>  end</b></p><p><b>  (3)視圖的創(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 圖書編號,書名,類別</p>&

23、lt;p><b>  from 圖書信息</b></p><p>  where 圖書編號='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 圖書編號,書名,類別</p><p><b>  from 圖書信息</b></p><p>  where left(圖書編號,2)='TK'

25、</p><p><b> ?。?)游標的創(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ù)庫的運行與維護</p><p><b>  (1)select</b></p><p>  1)用select查詢類別='計算機&#

34、39;的圖書編號和書名</p><p>  select 圖書編號,書名</p><p><b>  from 圖書信息</b></p><p>  where 類別='計算機'</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> ?。?)嵌套update查詢</p><p>  use library</p>

36、<p><b>  go</b></p><p>  update 借閱信息set 圖書類別='設計' where 讀者編號in(select 讀者編號</p><p><b>  from 讀者信息</b></p><p>  where 讀者編號='1009')</p

37、><p> ?。?)用insert語句向“讀者信息”表中插入新的數(shù)據(jù)行。</p><p>  use library</p><p>  insert into 讀者信息 values('1011','趙立立','女','藝術學院','',2,2)</p><p> 

38、?。?)用delete語句刪除“讀者信息”表中 讀者編號=’1010’的讀者信息。</p><p>  use library</p><p><b>  go</b></p><p>  delete from 讀者信息where 讀者編號='1010'</p><p><b>  總結<

39、;/b></p><p>  在做圖書管理系統(tǒng)的過程中,操作時難免會遇到一些難以解決的問題,在寫T-SQL語句時,對觸發(fā)器的創(chuàng)建不是很熟練,在課余時間會認真學習自己不足的地方,以至完全學會。在操作的過程中,遇到的一些問題 ,同過仔細看書,還有通過問同學之后,問題成功解決。</p><p><b>  存儲過程</b></p><p>  

40、use library</p><p><b>  go</b></p><p>  create proc pro_讀者信息</p><p><b>  as</b></p><p>  select 讀者編號,姓名,性別,單位</p><p><b>  fro

41、m 讀者信息</b></p><p>  where left(讀者編號,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=讀者編號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 圖書編號,書名,類別,

溫馨提示

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

評論

0/150

提交評論