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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15、中實(shí)現(xiàn)該邏輯結(jié)構(gòu)。這是利用SQL Server 2005數(shù)據(jù)庫系統(tǒng)中實(shí)現(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è)管理費(fèi)用問題','張楠',18046057011,1111,'已解決','20130101','聽聽','收費(fèi)不明')</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ào)表管理</b></p><p>  create view 報(bào)表管理</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)建存儲(chǔ)過程</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 報(bào)表管理,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>  一些基本知識(shí)點(diǎn)的遺忘,查看課本</p><p>  對關(guān)于物業(yè)知識(shí)的不了解,通過百度了解相關(guān)知識(shí)</p><p>  建立查詢語句時(shí),錯(cuò)誤很多,通過詢問同學(xué)和老師</p><p><b>  7.課程設(shè)計(jì)總結(jié)</b></p>

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

溫馨提示

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

最新文檔

評論

0/150

提交評論