《物業(yè)管理系統(tǒng)數(shù)據(jù)庫設(shè)計》_第1頁
《物業(yè)管理系統(tǒng)數(shù)據(jù)庫設(shè)計》_第2頁
《物業(yè)管理系統(tǒng)數(shù)據(jù)庫設(shè)計》_第3頁
《物業(yè)管理系統(tǒng)數(shù)據(jù)庫設(shè)計》_第4頁
《物業(yè)管理系統(tǒng)數(shù)據(jù)庫設(shè)計》_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 數(shù)據(jù)庫原理與技術(shù) 三級項目報告 姓 名: 學(xué) 號:項目名稱指導(dǎo) 教師同組成員無實施過程1. 需求描述小區(qū)物業(yè)管理系統(tǒng)的系統(tǒng)結(jié)構(gòu)分為個部分,系統(tǒng)功能:用戶注冊、用戶管理、修改密碼、退出系統(tǒng)。 樓盤管理功能:樓盤管理、添加修改樓盤信息。 住戶管理功能:住戶管理、添加修改住戶信息。 報修管理功能:報修管理、添加刪除報修信息。有4個實體類型,其屬性如下:小區(qū)住戶基本信息實體:業(yè)主編號 姓名 住戶信息 性別 電話 名牌號 面積 身份證報修信息實體:報修信息 業(yè)主編號 報修事項編號 報修名稱 維修狀態(tài) 日期 受理人投訴信息實體:投訴事項編號 投訴信息 投訴名稱 業(yè)主編號 解決狀

2、態(tài) 日期 受理人樓盤信息實體:樓盤編號 樓盤信息 樓盤名稱 樓層數(shù) 戶型 面積 地址2. 概念結(jié)構(gòu)設(shè)計3. 邏輯結(jié)構(gòu)設(shè)計小區(qū)物業(yè)管理系統(tǒng)數(shù)據(jù)庫中各個表格的設(shè)計結(jié)果如下面的幾個表所示。每個表表示在數(shù)據(jù)庫中的一個數(shù)據(jù)表。這個ER圖有4個實體類型,其屬性如下:表1-客戶表表1-2 住戶基本信息表表1-3 樓盤基本信息表表1-4 報修處理表表1-5 投訴管理表4. 數(shù)據(jù)庫實施-建立數(shù)據(jù)庫create database 物業(yè)管理系統(tǒng)-建立數(shù)據(jù)表-用戶表Create table 用戶表( 業(yè)主編號 int primary key not nul, 樓盤編號 int not nul, );-住戶信息表Cre

3、ate table 住戶信息表(業(yè)主編號 int primary key not null, 姓名 char(20) not null,性別 char(20) check(性別 in('男','女'), 電話 int not null,門牌號 int unique not null , 面積 int not null,身份證 char(20) unique not null ); -樓盤信息表Create table 樓盤信息表 (樓盤編號 int primary key not null, 樓盤名稱 char(20) not null, 樓層數(shù) int not

4、 null, 面積 int not null, 戶型 char(20) not null , 地址 char(20) not null );-報修信息表Create table 報修信息表(報修事項編號 int primary key not null, 業(yè)主編號 int not null, 報修名稱 char(20) not null, 維修狀態(tài) char(20) default 'not', 日期 datetime default getdate() , 受理人 char(20) not null,foreign key (業(yè)主編號) references 住戶信息表(業(yè)主

5、編號) ); -投訴信息表Create table 投訴信息表 (投訴事項編號 int primary key not null, 業(yè)主編號 int not null, 投訴名稱 char(20) not null, 解決狀態(tài) char(20) default 'not', 日期 datetime default getdate(), 受理人 char(20) not null,foreign key (業(yè)主編號) references 住戶信息表(業(yè)主編號) );-創(chuàng)建業(yè)主信息視圖 create view 業(yè)主信息視圖 asselect 姓名 業(yè)主姓名,樓盤名稱,門牌號,性別

6、,電話,住戶信息表.面積,身份證 from 住戶信息表,樓盤信息表,擁有信息表where 樓盤信息表.樓盤編號 = 擁有信息表.樓盤編號 and 住戶信息表.業(yè)主編號 = 擁有信息表.業(yè)主編號-創(chuàng)建未維修事項信息視圖 create view 未維修事項信息視圖 asselect 報修名稱,姓名 報修人,樓盤名稱,門牌號,電話,日期 保修日期,受理人 from 報修信息表,住戶信息表,樓盤信息表,擁有信息表where 維修狀態(tài) != 'ok' and 樓盤信息表.樓盤編號 = 擁有信息表.樓盤編號 and 住戶信息表.業(yè)主編號 = 擁有信息表.業(yè)主編號and 報修信息表.業(yè)主編號

7、 = 住戶信息表.業(yè)主編號-創(chuàng)建報修視圖,只顯示ID,Name,日期和維修否信息 create view 未解決投訴信息視圖 asselect 投訴名稱,姓名 投訴人,樓盤名稱,門牌號,電話,日期 保修日期,受理人 from 投訴信息表,住戶信息表,樓盤信息表,擁有信息表where 解決狀態(tài) != 'OK' and 樓盤信息表.樓盤編號 = 擁有信息表.樓盤編號 and 住戶信息表.業(yè)主編號 = 擁有信息表.業(yè)主編號and 投訴信息表.業(yè)主編號 = 住戶信息表.業(yè)主編號6. 數(shù)據(jù)庫運(yùn)行-樓盤信息的添加 insert into 樓盤信息表values(1,'海天'

8、,5,120,'三室一廳','中山路號')insert into 樓盤信息表values(2,'檸檬夏天',10,120,'四室一廳','中山路號')insert into 樓盤信息表values(3,'指尖剎那',9,300,'四室一廳','中山路號')-住戶信息的添加 insert into 住戶信息表values(11,'林達(dá)','女','','520','120','

9、9;)insert into 住戶信息表values(12,'謝可','女','','521','100','')insert into 住戶信息表values(13,'謝華','男','','522','180','')insert into 住戶信息表values(14,'張琳','男','','523','250',&#

10、39;')insert into 住戶信息表values(15,'仲夏','男','','524','300','')-報修信息的添加insert into 報修信息表(報修事項編號,業(yè)主編號,報修名稱,受理人) values(10,15,'水管爆裂','王磚家')insert into 報修信息表(報修事項編號,業(yè)主編號,報修名稱,受理人) values(11,14,'電線端口安裝','王磚家')insert into 報修信

11、息表(報修事項編號,業(yè)主編號,報修名稱,受理人) values(12,13,'大門鎖壞掉','王磚家')insert into 報修信息表(報修事項編號,業(yè)主編號,報修名稱,受理人) values(13,12,'燈泡更換','王磚家')-投訴信息的添加insert into 投訴信息表(投訴事項編號,業(yè)主編號,投訴名稱,受理人) values(100,11,'墻壁裂痕','胡說')insert into 投訴信息表(投訴事項編號,業(yè)主編號,投訴名稱,受理人) values(101,12,'停

12、水','胡說')insert into 投訴信息表(投訴事項編號,業(yè)主編號,投訴名稱,受理人) values(102,13,'周圍太吵','胡說')insert into 投訴信息表(投訴事項編號,業(yè)主編號,投訴名稱,受理人) values(103,14,'亂丟垃圾','胡說')-擁有信息表的添加 insert into 擁有信息表 values(11,1)insert into 擁有信息表 values(12,2)insert into 擁有信息表 values(13,2)insert into 擁有信息

13、表 values(14,2)insert into 擁有信息表 values(15,3)-查詢結(jié)果select * from 樓盤信息表 select * from 住戶信息表 select * from 報修信息表 select * from 投訴信息表 select * from 擁有信息表-樓盤信息編輯 update 樓盤信息表 set 樓盤名稱 = '彩虹之家' where 樓盤名稱 = '海天' -住戶信息的編輯update 住戶信息表 set 電話 = '' where 電話 = '' -業(yè)主信息視圖通過該視圖可以得到

14、住戶信息,包含業(yè)主姓名,樓盤名稱,門牌號,性別,電話,面積,身份證create view 業(yè)主信息視圖 asselect 姓名 業(yè)主姓名,樓盤名稱,門牌號,性別,電話,住戶信息表.面積,身份證 from 住戶信息表,樓盤信息表,擁有信息表where 樓盤信息表.樓盤編號 = 擁有信息表.樓盤編號 and 住戶信息表.業(yè)主編號 = 擁有信息表.業(yè)主編號-未維修事項信息視圖報修名稱,報修人,樓盤名稱,門牌號,電話,保修日期,受理人create view 未維修事項信息視圖 asselect 報修名稱,姓名 報修人,樓盤名稱,門牌號,電話,日期 保修日期,受理人 from 報修信息表,住戶信息表,樓

15、盤信息表,擁有信息表where 維修狀態(tài) != 'ok' and 樓盤信息表.樓盤編號 = 擁有信息表.樓盤編號 and 住戶信息表.業(yè)主編號 = 擁有信息表.業(yè)主編號and 報修信息表.業(yè)主編號 = 住戶信息表.業(yè)主編號-未解決投訴信息視圖create view 未解決投訴信息視圖 asselect 投訴名稱,姓名 投訴人,樓盤名稱,門牌號,電話,日期 保修日期,受理人 from 投訴信息表,住戶信息表,樓盤信息表,擁有信息表where 解決狀態(tài) != 'OK' and 樓盤信息表.樓盤編號 = 擁有信息表.樓盤編號 and 住戶信息表.業(yè)主編號 = 擁有信息

16、表.業(yè)主編號 and 投訴信息表.業(yè)主編號 = 住戶信息表.業(yè)主編號-將業(yè)主編號為11的業(yè)主業(yè)主編號改為520update 住戶信息表 set 業(yè)主編號 = 520 where 業(yè)主編號 = 117. 數(shù)據(jù)庫維護(hù)備份數(shù)據(jù)庫每一個數(shù)據(jù)庫都應(yīng)在創(chuàng)建之后卸出,從而提供一個裝入基點。在此之后按排定的時間周期表卸出。比如每周五卸出數(shù)據(jù)庫。對一般卸出數(shù)據(jù)庫周期建議為每周一次。除了按計劃周期卸出數(shù)據(jù)庫之外,還需在每次運(yùn)行沒有日志的操作后卸出數(shù)據(jù)庫。例如:·每次強(qiáng)制地運(yùn)行了 DUMP TRAN WITH NO_LOG (因為數(shù)據(jù)庫的磁盤空溢出);·每次用 sp_dboption 允許 se

17、lect into/bulkcopy 做快速拷貝,或用 SELECT INTO 命令創(chuàng)建一個永久性的表,或使用了 WRITETEXT 命令。卸出數(shù)據(jù)庫的命令為:DUMP DATABASE 物業(yè)管理系統(tǒng)TOAdmin下面一條命令用來卸出數(shù)據(jù)庫 :DUMP DATABASE 物業(yè)管理系統(tǒng)TO Admin備份如果事務(wù)日志與數(shù)據(jù)庫放在同一個設(shè)備上,則事務(wù)日志不應(yīng)與數(shù)據(jù)庫分開備份。master 數(shù)據(jù)庫和小于 4M 的用戶數(shù)據(jù)庫就是這種情況。一般的數(shù)據(jù)庫和日志分別放在不同的設(shè)備上,因此,可以用 DUMP TRAN 命令單獨(dú)備份日志。備份事務(wù)日志的周期直接影響數(shù)據(jù)的恢復(fù)程度,因此建議每天備份。備份事務(wù)日志的

18、命令格式為:DUMP TRANsaction 物業(yè)管理系統(tǒng)TO AdminWITH TRUNCATE_ONLY|WITH NO_LOG|WITH NO_TRUNCATE對于 master 數(shù)據(jù)庫和小型數(shù)據(jù)庫每次運(yùn)行 DUMP DATEBASE 之后應(yīng)當(dāng)運(yùn)行 DUMP TRANsaction 命令刷新日志 。下面一條命令備份數(shù)據(jù)庫xb1 的事務(wù)日志到上:DUMP TRANsaction xb1TO db_log_bk_devWITH TRUNCATE_ONLY8. 數(shù)據(jù)庫開發(fā)創(chuàng)建觸發(fā)器-實現(xiàn)級聯(lián)更新和級聯(lián)刪除住戶信息表的級聯(lián)更新刪除 create trigger tri_Delete_Updat

19、e on 住戶信息表 instead of update ,deleteas begindeclare inset char(6),delet char(6) select inset=業(yè)主編號 from inserted select delet=業(yè)主編號 from deleted if (update(業(yè)主編號) beginEXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' -禁用約束update 報修信息表 set 業(yè)主編號=inset where 業(yè)主編號=deletupdate 投訴信息表 set

20、 業(yè)主編號=inset where 業(yè)主編號=deletupdate 擁有信息表 set 業(yè)主編號=inset where 業(yè)主編號=deletupdate 住戶信息表 set 業(yè)主編號=inset where 業(yè)主編號= deletEXEC sp_msforeachtable 'ALTER TABLE ? CHECK CONSTRAINT ALL'-啟用約束 endelse begindelete from 報修信息表 where 業(yè)主編號=deletdelete from 投訴信息表 where 業(yè)主編號=deletdelete from 擁有信息表 where 業(yè)主編號=

21、deletdelete from 住戶信息表 where 業(yè)主編號=delet end end-樓盤信息表的級聯(lián)更新刪除 create trigger tri_樓盤on 樓盤信息表 instead of update ,deletebegindeclare inset char(6),delet char(6) select inset=樓盤編號 from inserted select delet=樓盤編號 from deleted if (update(樓盤編號) beginEXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAI

22、NT ALL' -禁用約束update 擁有信息表 set 樓盤編號=inset where 樓盤編號=deletupdate 樓盤信息表 set 樓盤編號 = inset where 樓盤編號 = deletEXEC sp_msforeachtable 'ALTER TABLE ? CHECK CONSTRAINT ALL' -啟用約束end else begindelete from 擁有信息表 where 樓盤編號=deletdelete from 樓盤信息表 where 樓盤編號=delet end End-如當(dāng)刪除一條住戶信息記錄能夠顯示提示,當(dāng)添加一條報修信

23、息能夠顯示提示。create trigger 刪除住戶 on 住戶信息表 after delete asprint '刪除成功!' gocreate trigger 添加報修 on 報修信息表 after insert asprint '添加成功!' go-創(chuàng)建存儲過程:-創(chuàng)建查詢某一業(yè)主信息的存儲過程-查詢住戶的信息存儲過程 create proc 查詢住戶信息 asselect * from 住戶信息表exec 查詢住戶信息-創(chuàng)建添加報修信息記錄的存儲過程create proc 添加報修信息 報修事項編號 char(20), 業(yè)主編號 char(20), 報

24、修名稱 char(20),受理人 char(20) as begininsert into 報修信息表(報修事項編號,業(yè)主編號,報修名稱,受理人) values(報修事項編號,業(yè)主編號,報修名稱,受理人) end-創(chuàng)建返回某個樓盤的業(yè)主人數(shù),并設(shè)置沒有指定值時,指定一個默認(rèn)樓盤-默認(rèn)樓盤編號為2 create proc 業(yè)主人數(shù) asselect COUNT(*) 業(yè)主人數(shù) from 擁有信息表 where 樓盤編號 = 2create proc 樓盤住戶表 樓盤名稱 char(20) asprint 樓盤名稱 begin declare 姓名 char(10) declare 性別 char

25、(10) declare 電話 char(10) declare 門牌號 char(10) declare 面積 char(10) declare 身份證 char(10) declare GR cursor forselect 姓名,性別,電話,門牌號,面積,身份證 from 住戶信息表 where 業(yè)主編號 in (select 業(yè)主編號 from 擁有信息表where 樓盤編號 in (select 樓盤編號 from 樓盤信息表where 樓盤名稱 = 樓盤名稱)open GRfetch next from GR into 姓名,性別,電話,門牌號,面積,身份證 print '

26、-'print '業(yè)主姓名' +' '+ '性別' +' '+ '電話'+' '+ '門牌號' +' '+ '面積'+' '+ '身份證'while FETCH_STATUS = 0 beginprint 姓名 + 性別 + 電話+ 門牌號 + 面積+ 身份證 fetch next from GR into 姓名,性別,電話,門牌號,面積,身份證endprint '-'close GRdeallo

27、cate GR end go-b.設(shè)計一個存儲過程,在該存儲過程中建立生成報表的游標(biāo),分別顯示 -已解決的報修事項信息和未解決的報修事項信息。-存儲過程生成報表 create proc 報修情況 as begindeclare 業(yè)主編號 char(10),報修名稱 char(10), 日期 char(22) declare 受理人 char(10)-已解決的報修 declare BX_OK cursor forselect 業(yè)主編號,報修名稱,日期,受理人 from 報修信息表 where 維修狀態(tài) = 'ok' open BX_OKfetch next from BX_OK

28、into 業(yè)主編號,報修名稱,日期,受理人 print '已經(jīng)解決的報修事項'print '-'print '業(yè)主編號 ' + '報修名稱 ' + '日期 ' + '受理人 'while FETCH_STATUS = 0 beginprint 業(yè)主編號 + 報修名稱 + 日期 + 受理人fetch next from BX_OK into 業(yè)主編號,報修名稱,日期,受理人endprint '-'close BX_OK deallocate BX_OK print ''

29、 print ''-未完成報修的游標(biāo)操作 declare BX_NOT cursor forselect 業(yè)主編號,報修名稱,日期,受理人 from 報修信息表 where 維修狀態(tài) = 'not' open BX_NOTfetch next from BX_NOT into 業(yè)主編號,報修名稱,日期,受理人print '未解決的報修事項'print '-'print '業(yè)主編號 ' + '報修名稱 ' + '日期 ' + '受理人 'while FETCH_STAT

30、US = 0 beginprint 業(yè)主編號 + 報修名稱 + 日期 + 受理人fetch next from BX_NOT into 業(yè)主編號,報修名稱,日期,受理人endprint '-'close BX_NOT deallocate BX_NOT end-把維修好的報修寫入數(shù)據(jù)庫的存儲過程 方便處理維修好的數(shù)據(jù) create proc 報修完成 編號 int asupdate 報修信息表 set 維修狀態(tài) = 'ok' where 報修事項編號 = 編號 go-C設(shè)計一個存儲過程,利用游標(biāo),輸出投訴表中第一、二行和最后一行的信息。create proc 輸出 as begindeclare 業(yè)主編號 char(10),投訴名稱 char(10), 日期 char(22) declare 受理人 char(10) -輸出第一第二行 declare TS cursor forselect top 2 業(yè)主編號,投訴名稱,日期,受理人 from 投訴信息表 open TSfetch next from TS into 業(yè)主編號,投訴名稱,日期,受理人 print 

溫馨提示

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

評論

0/150

提交評論