數(shù)據(jù)庫課程設計--數(shù)據(jù)庫設計_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  1.課程設計的目的與要求</p><p>  數(shù)據(jù)庫基礎與應用課程設計是計算機專業(yè)集中實踐性環(huán)節(jié)之一,是學習完《數(shù)據(jù)庫系統(tǒng)概論》課程后進行的一次全面的綜合練習。其目的在于加深對數(shù)據(jù)庫基礎理論和基本知識的理解,掌握進行數(shù)據(jù)庫開發(fā)的全過程,提高運用數(shù)據(jù)庫解決實際問題的能力。</p><p><b>  2.課程設計內容</b></p>

2、<p><b>  2.1、設計要求:</b></p><p>  進行需求分析,設計數(shù)據(jù)庫的概念模型。系統(tǒng)基本功能:</p><p>  樓盤信息管理:樓盤信息的添加、編輯和查詢;</p><p>  住戶信息管理:住戶信息的添加、編輯和查詢;</p><p>  報修事項管理:報修事項的添加、編輯和查詢;&

3、lt;/p><p>  投訴信息管理:投訴信息的添加、編輯和查詢;</p><p>  報表管理:輸出樓盤信息、住戶信息、報修信息和投訴信息。</p><p>  2.2、本課題設計的基本要求:</p><p>  1)數(shù)據(jù)庫設計報告,包括數(shù)據(jù)庫的數(shù)據(jù)字典,數(shù)據(jù)庫的概念結構(E-R圖),數(shù)據(jù)庫中的表、視圖(如果使用)、存儲過程(如果使用)的結構和

4、定義(可以用SQL腳本提供)。</p><p>  2)寫出課程設計報告,設計報告提交形式:電子文檔提交,文件名要求按“學號_姓名”命名,學號要全稱,內容按照報告中的要求去做,正文字體為宋體,字號為小四號字或五號字。課程設計報告最后由學委統(tǒng)一收齊刻盤上交。</p><p><b>  3)個人獨立完成。</b></p><p>  4)完成時間

5、( 20 周)</p><p>  5)注意事項:實驗報告如有雷同,一律不及格。數(shù)據(jù)庫的實現(xiàn)上課時要檢查驗收。本課程設計為1個學分。</p><p>  3.需求分析和數(shù)據(jù)庫設計</p><p>  3.1信息收集和需求分析</p><p>  樓盤信息:包括的數(shù)據(jù)項有:樓盤編號,樓盤名稱,樓層數(shù),面積,戶型,地址</p>&l

6、t;p>  住戶信息:包括的數(shù)據(jù)項有:業(yè)主編號,姓名,性別,電話,門牌號,面積,身份證</p><p>  報修事項:包括的數(shù)據(jù)項有:報修事項編號,報修名稱,業(yè)主,電話,門牌號,維修狀態(tài),日期,受理人</p><p>  投訴信息:包括的數(shù)據(jù)項有:投訴事項編號,投訴名稱,業(yè)主,電話,門牌號,解決狀態(tài),日期,受理人</p><p>  報表管理:樓盤信息,戶主信

7、息,報修信息,投訴信息</p><p>  了解和分析系統(tǒng)功能需求,得到系統(tǒng)的數(shù)據(jù)字典。</p><p><b>  一.樓盤信息</b></p><p><b>  二.住戶信息</b></p><p><b>  三.報修事項</b></p><p>

8、;<b>  四.投訴信息</b></p><p>  3.2概念設計——E-R圖</p><p>  概念模型用于信息世界的建模。概念模型不依賴于某一個數(shù)據(jù)庫管理系統(tǒng)(DBMS),但可以方便的轉換為計算機上某一DBMS所支持的特定的數(shù)據(jù)模型。通過對用戶對數(shù)據(jù)的需求進行綜合、歸納與抽象,將形成一個完善的概念模型,可以用E-R(實體聯(lián)系)圖來表示。E-R圖是對現(xiàn)實世界的

9、一種抽象,它的主要成份是實體、屬性和聯(lián)系。</p><p><b>  樓盤實體屬性圖</b></p><p><b>  住戶實體屬性圖</b></p><p><b>  報修實體屬性圖</b></p><p><b>  投訴實體屬性圖</b><

10、;/p><p>  各實體之間關系E-R圖。</p><p><b>  3.3邏輯設計</b></p><p>  概念設計的結果得到一個與計算機、軟硬件的具體性能無關的全局概念模式。數(shù)據(jù)庫邏輯設計的任務是將概念結構轉換成特定DBMS所支持的數(shù)據(jù)模型(如關系模型)的過程。本案例中我們將其轉換為關系模型。</p><p> 

11、 將上面的E-R圖轉換成關系模型。關系的主鍵用下劃線表示。外鍵用框框表示</p><p>  樓盤信息(樓盤編號,名稱,樓層數(shù),面積,戶型,地址)</p><p>  住戶信息(住戶編號,姓名,性別, 電話,門牌號,面積,身份證,樓盤編號)</p><p>  報修事項(報修編號,名稱,業(yè)主,電話,門牌號,維修狀態(tài),日期,受理人)</p><p&

12、gt;  投訴信息(投訴編號,名稱,業(yè)主,電話,門牌號,解決狀態(tài),日期,受理人)</p><p>  4.表和索引的創(chuàng)建及數(shù)據(jù)完整性</p><p>  建表。根據(jù)關系模式設計表,為表的各屬性選擇合適的數(shù)據(jù)類型以及屬性可否為空。</p><p>  設置主鍵,為數(shù)據(jù)庫的每個表設置主鍵。每個表都應該具有主鍵,主鍵的存在就代表著表結構的完整性,表的記錄必須得有唯一區(qū)分的

13、字段,主鍵主要是用于與其他表的外鍵關聯(lián),本記錄的修改與刪除,如果沒有主鍵,這些操作會變的非常麻煩。(提示:可以使用自動編號作為主鍵,就是新建一個ID字段,自動增長)</p><p><b>  設置外鍵。</b></p><p>  設置其他約束。根據(jù)系統(tǒng)的實際要求,設置約束。例如,業(yè)主資料中的性別只能為男或女,則可對性別設置CHECK約束;用戶注冊日期如果為空,就默

14、認為當前時間,則可設置DEFAULT約束;圖片表中的圖片如果不允許重復,則可設置UNIQUE約束,等等。</p><p>  建立索引??紤]系統(tǒng)對表的查詢頻率,為查詢次數(shù)較多的表的字段建立索引。</p><p>  5.數(shù)據(jù)庫結構的實現(xiàn)</p><p>  經(jīng)過前面的需求分析和概念結構設計以后,得到數(shù)據(jù)庫的邏輯結構?,F(xiàn)在就可以在SQL Servr 2005數(shù)據(jù)庫系統(tǒng)

15、中實現(xiàn)該邏輯結構。這是利用SQL Server 2005數(shù)據(jù)庫系統(tǒng)中實現(xiàn)的。</p><p>  5.1 創(chuàng)建物業(yè)管理數(shù)據(jù)庫。</p><p>  CREATE DATABASE 物業(yè)管理</p><p>  ON PRIMARY</p><p>  ( NAME = 物業(yè)管理_data ,</p><p&g

16、t;  FILENAME= 'c:\ 物業(yè)管理.mdf',</p><p>  SIZE=50MB,</p><p>  MAXSIZE=70MB,</p><p>  FILEGROWTH=1MB</p><p><b>  )</b></p><p><b>  LO

17、G ON(</b></p><p>  NAME= 物業(yè)管理_log ,</p><p>  FILENAME= 'c:\ 物業(yè)管理.ldf',</p><p>  SIZE=15MB,</p><p>  MAXSIZE=20MB,</p><p>  FILEGROWTH=1MB<

18、/p><p><b>  )</b></p><p>  5.2 創(chuàng)建基本信息</p><p><b>  創(chuàng)建樓盤基本信息表</b></p><p>  create table houses</p><p>  ( houseID char(2) not nu

19、ll primary key, </p><p>  housename varchar(10) not null,</p><p>  floors int not null,</p><p>  area varchar(6) not null, </p><p>  housesty

20、le varchar(8) null</p><p>  address varchar(20) null,</p><p><b>  )</b></p><p><b>  go</b></p><p>  insert houses</p><p>

21、;  values (01,'幸福',31, 400, '小戶型','福新中路') </p><p>  insert houses</p><p>  values (02,'湖前', 32, 500, '中戶型', '六一北路')</p><p>  insert

22、 houses</p><p>  values (03,'康樂',33, 600, '大戶型', '長樂南路') </p><p><b>  創(chuàng)建住戶基本信息表</b></p><p>  create table Owners</p><p><b>  (

23、</b></p><p>  ownerID int not null,</p><p>  ownername varchar(6) not null, </p><p>  sex char(2) null,</p><p>  IDno cha

24、r(18) not null unique,</p><p>  Phone char(11) not null,</p><p>  doorID int not null primary key,</p><p>  houseID char(2) foreign key references h

25、ouses(houseID ), </p><p>  area float(20) not null</p><p><b>  )</b></p><p><b>  go</b></p><p>  insert owners</p><p>  values(

26、1,'張楠','男',351073112200506123,18046057011,1111,1,76)</p><p>  insert owners</p><p>  values(2,'王夢','女',351073134240707161,18448057391,1112,2,90)</p><p&

27、gt;  insert owners</p><p>  values(3,'李白','男',351179112206507181,18046117011,1113,1,119 )</p><p><b>  go</b></p><p><b>  創(chuàng)建投訴基本信息表</b></p&

28、gt;<p>  create table complains</p><p><b>  (</b></p><p>  complainID int not null primary key,</p><p>  complainname varchar(20) null,</p&g

29、t;<p>  ownername varchar(10) not null,</p><p>  phone char(11) not null,</p><p>  doorID int ,</p><p>  complaindetails varcha

30、r(20) not null,</p><p>  date datetime not null,</p><p>  agentname varchar(20) not null,</p><p>  complaincondition varchar(10) not null,<

31、;/p><p>  foreign key (doorID) references Owners(doorID)</p><p><b>  )</b></p><p><b>  go</b></p><p>  insert complains</p><p>  value

32、s(111,'物業(yè)管理費用問題','張楠',18046057011,1111,'已解決','20130101','聽聽','收費不明')</p><p>  insert complains</p><p>  values(112,'環(huán)境衛(wèi)生問題','王夢',

33、18448057391,1112,'待解決','20130102','海南','花園垃圾多')</p><p>  select * from complains</p><p><b>  創(chuàng)建維修基本信息表</b></p><p>  create table repairs&

34、lt;/p><p><b>  (</b></p><p>  repairsID int not null primary key,</p><p>  repairname varchar(10) null,</p><p>  ownername varchar(6) no

35、t null,</p><p>  phone char(11) not null,</p><p>  agentname varchar(6) not null,</p><p>  doorID int , </p><p>  repaircondition char(10

36、) not null,</p><p>  date datetime not null,</p><p>  foreign key(doorID) references Owners(doorID)</p><p><b>  )</b></p><p>  insert repairs&

37、lt;/p><p>  values(101,'漏水問題','張楠', '18046057011', '楊陽',1111,'維修中','20130104')</p><p><b>  go</b></p><p><b>  5.3創(chuàng)建視圖&

38、lt;/b></p><p><b>  報表管理</b></p><p>  create view 報表管理</p><p><b>  as</b></p><p><b>  select</b></p><p>  houses.hous

39、eID,owners.ownername,repairs.doorID,complains.complaindetails</p><p>  from houses,owners,repairs,complains</p><p>  where complains.doorID=owners.doorID and</p><p>  complains.door

40、ID=repairs.doorID and</p><p>  houses.houseID=owners.houseID and</p><p>  owners.ownername='張楠'</p><p><b>  5.4創(chuàng)建索引</b></p><p>  create index wy1 o

41、n houses (houseID,housestyle)</p><p>  create index wy2 on Owners(doorID,ownername)</p><p>  create index wy3 on complains(doorID,repaircondition)</p><p>  create index wy4 on repai

42、rs(doorID,complaincondition,complaindetail)</p><p><b>  5.5創(chuàng)建存儲過程</b></p><p><b>  use 物業(yè)管理</b></p><p><b>  go</b></p><p>  create pr

43、oc wuye</p><p>  @RDoorID varchar(50)</p><p><b>  as</b></p><p>  set nocount on;</p><p>  select IDno,Repairs.DoorID</p><p>  from 報表管理,Houses

44、,Owners,Repairs,Complains</p><p>  where Complains.DoorID=Owners.DoorID and Complains.DoorID=Repairs.DoorID;</p><p>  set @RDoorID=(select DoorID</p><p>  from Repairs) </

45、p><p>  6.遇到的問題和解決方法</p><p>  一些基本知識點的遺忘,查看課本</p><p>  對關于物業(yè)知識的不了解,通過百度了解相關知識</p><p>  建立查詢語句時,錯誤很多,通過詢問同學和老師</p><p><b>  7.課程設計總結</b></p>

46、<p>  這次課程設計的任務是建立物業(yè)管理系統(tǒng),通用應用SQL的相關知識,加深對數(shù)據(jù)庫這們課程的了解,因為這們課是上學期的,經(jīng)過兩個月的暑假,再加上一學期的時候,都遺忘的差不多了,只能重新拿出課本來學習。總的來說,過程中還是有遇到困難的,通過和老師同學的探討學習,最后還是如愿完成設計。雖然,學到的僅僅是一點點知識,但是,在學習的過程中,通過不斷的挖掘,搜索資料,思考問題,來不斷提升自我能力和經(jīng)驗。</p>&l

溫馨提示

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

評論

0/150

提交評論