數(shù)據(jù)庫房屋銷售管理系統(tǒng)_第1頁
數(shù)據(jù)庫房屋銷售管理系統(tǒng)_第2頁
數(shù)據(jù)庫房屋銷售管理系統(tǒng)_第3頁
數(shù)據(jù)庫房屋銷售管理系統(tǒng)_第4頁
數(shù)據(jù)庫房屋銷售管理系統(tǒng)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、【精品文檔】如有侵權(quán),請(qǐng)聯(lián)系網(wǎng)站刪除,僅供學(xué)習(xí)與交流數(shù)據(jù)庫房屋銷售管理系統(tǒng).精品文檔.數(shù)據(jù)庫課程設(shè)計(jì)房屋銷售管理系統(tǒng)姓 名:胡玖龍學(xué) 號(hào):201320070142學(xué) 院:信息工程學(xué)院專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí):1320701 指導(dǎo)教師:李榮 2015年 1 月 14 日一、課程設(shè)計(jì)的目的和意義數(shù)據(jù)庫原理及應(yīng)用課程設(shè)計(jì)是實(shí)踐性教學(xué)環(huán)節(jié)之一,是數(shù)據(jù)庫原理及應(yīng)用課程的輔助教學(xué)課程。通過課程設(shè)計(jì),使學(xué)生掌握數(shù)據(jù)庫的基本概念,結(jié)合實(shí)際的操作和設(shè)計(jì),鞏固課堂教學(xué)內(nèi)容,使學(xué)生掌握數(shù)據(jù)庫系統(tǒng)的基本概念、原理和技術(shù),將理論與實(shí)際相結(jié)合,應(yīng)用現(xiàn)有的數(shù)據(jù)建模工具和數(shù)據(jù)庫管理系統(tǒng)軟件,規(guī)范、科學(xué)地完成一個(gè)小型數(shù)據(jù)

2、庫的設(shè)計(jì)與實(shí)現(xiàn),把理論課與實(shí)驗(yàn)課所學(xué)內(nèi)容做一綜合,并在此基礎(chǔ)上強(qiáng)化學(xué)生的實(shí)踐意識(shí)、提高其實(shí)際動(dòng)手能力和創(chuàng)新能力。要求:通過設(shè)計(jì)一完整的數(shù)據(jù)庫,使學(xué)生掌握數(shù)據(jù)庫設(shè)計(jì)各階段的輸入、輸出、設(shè)計(jì)環(huán)境、目標(biāo)和方法。熟練掌握兩個(gè)主要環(huán)節(jié)概念結(jié)構(gòu)設(shè)計(jì)與邏輯結(jié)構(gòu)設(shè)計(jì);熟練的使用SQL語言實(shí)現(xiàn)數(shù)據(jù)庫的建立、應(yīng)用和維護(hù)。二、設(shè)計(jì)正文1.需求分析1.1基本功能需求客戶購(gòu)買或預(yù)定房屋,房屋銷售人員根據(jù)用戶的需求為用戶辦理相關(guān)手續(xù)。購(gòu)銷管理包含以下幾方面的信息。 客戶基本信息客戶在購(gòu)買或預(yù)定房屋的時(shí)候,每位用戶都有唯一的編號(hào),客戶的基本信息包括姓名、性別、年齡、聯(lián)系方式、身份證號(hào)。 員工基本信息每位員工在入職的時(shí)候有唯

3、一的員工號(hào),根據(jù)分工的不同,還有工作部門及職位這個(gè)屬性。當(dāng)然還有姓名、性別、聯(lián)系方式、年齡、身份證號(hào)這些基本屬性。 房屋基本信息每個(gè)房屋有唯一的房屋編號(hào),基本信息包含房屋的面積、戶型、小區(qū)、棟、號(hào)、價(jià)格和狀態(tài),狀態(tài)分為“待售”、“已預(yù)訂”和“已售出”。 預(yù)定房屋信息客戶可以進(jìn)行房屋的預(yù)定,預(yù)定包括預(yù)定流水號(hào),客戶編號(hào),員工號(hào),房屋編號(hào),預(yù)付金額,未付金額,預(yù)定時(shí)間。 購(gòu)買的基本信息客戶可以購(gòu)買房屋,購(gòu)買包括購(gòu)買流水號(hào),客戶編號(hào),員工號(hào),房屋編號(hào),付款金額,購(gòu)買時(shí)間。付款金額一般等于房屋價(jià)格。1.2用戶對(duì)系統(tǒng)的要求1.2.1房屋銷售管理人員 信息要求房屋銷售管理人員能查詢上面提到的客戶、銷售人員

4、、房屋的所有相關(guān)信息,包括預(yù)定房屋的基本信息,購(gòu)買房屋的基本信息。以利于對(duì)整個(gè)銷售樓盤的全面管理。 處理要求當(dāng)客戶的信息發(fā)生變化時(shí),房屋銷售管理人員能對(duì)其進(jìn)行修改。比如,客戶更換手機(jī)號(hào),或其他變更,能修改客戶的信息。當(dāng)房屋的信息放生變化時(shí),房屋銷售管理人員能對(duì)其進(jìn)行修改。比如,房屋降價(jià),房屋銷售管理人員能對(duì)價(jià)格進(jìn)行修改。當(dāng)銷售人員的信息放生變化時(shí),如升職,房屋銷售管理人員能對(duì)其進(jìn)行修改。 安全性與完整性要求安全性要求1.系統(tǒng)應(yīng)設(shè)置訪問用戶的標(biāo)識(shí)以鑒別是否是合法用戶,并要求合法用戶設(shè)置其密碼,保證用戶身份不被盜用;2.系統(tǒng)應(yīng)對(duì)不同的數(shù)據(jù)設(shè)置不同的訪問級(jí)別,限制訪問用戶可查詢和處理數(shù)據(jù)的類別和內(nèi)容

5、;3.系統(tǒng)應(yīng)對(duì)不同用戶設(shè)置不同的權(quán)限,區(qū)分不同的用戶,如區(qū)分房屋銷售人員和房屋銷售管理人員。完整性要求1.各種信息記錄的完整性,信息記錄內(nèi)容不能為空;2.各種數(shù)據(jù)間相互的聯(lián)系的正確性;3.相同的數(shù)據(jù)在不同記錄中的一致性。1.2.2房屋銷售人員 信息要求本樓盤的房屋銷售人員能所有樓盤的信息,能查詢“待售”狀態(tài)的房屋信息,能查詢客戶的基本信息、修改客戶的信息。能查詢自己的銷售記錄。能夠進(jìn)行預(yù)定、購(gòu)買操作。 處理要求當(dāng)客戶的信息發(fā)生變化時(shí),房屋銷售人員能對(duì)其進(jìn)行修改??蛻糍?gòu)買/預(yù)定房屋時(shí),銷售人員能添加預(yù)定/購(gòu)買記錄。1.2.3系統(tǒng)數(shù)據(jù)處理 狀態(tài)更改當(dāng)客戶預(yù)定房屋時(shí),銷售人員添加預(yù)定記錄后,系統(tǒng)能自

6、動(dòng)將預(yù)定房屋的狀態(tài)從“待售”修改為“已預(yù)訂”。當(dāng)客戶購(gòu)買房屋時(shí),銷售人員添加購(gòu)買記錄后,系統(tǒng)能自動(dòng)將購(gòu)買房屋的狀態(tài)從“待售”或“已預(yù)訂”修改為“已售出”。 數(shù)據(jù)計(jì)算當(dāng)客戶預(yù)定房屋時(shí),銷售人員添加記錄后,系統(tǒng)能自動(dòng)根據(jù)預(yù)付金額和房屋價(jià)格計(jì)算出未付金額。2. E-R圖及關(guān)系模式:2.1 E-R圖:根據(jù)需求分析,畫出系統(tǒng)E-R圖:2.2關(guān)系模式:將E-R圖轉(zhuǎn)換為關(guān)系模式,有下劃線的為主鍵或外鍵:客戶(客戶編號(hào),姓名,性別,身份證號(hào),聯(lián)系電話)員工(員工號(hào),姓名,性別,職位,身份證號(hào),聯(lián)系電話)房屋(房屋編號(hào),戶型,面積,價(jià)格,棟,單元,號(hào),房屋狀態(tài))預(yù)定(流水號(hào),客戶編號(hào),員工號(hào),房屋編號(hào),預(yù)付金額

7、,預(yù)定時(shí)間)購(gòu)買(流水號(hào),客戶編號(hào),員工號(hào),房屋編號(hào),購(gòu)買金額,購(gòu)買時(shí)間)3.具體實(shí)現(xiàn)3.1建立數(shù)據(jù)庫create database 房屋銷售管理on( name=house_data,filename='D:house.mdf',size=10,maxsize=50,filegrowth=5log on(name=house_log,filename='D:house.ldf',size=5,maxsize=25,filegrowth=5建立一個(gè)名為 房屋銷售管理 的數(shù)據(jù)庫3.2創(chuàng)建各實(shí)體表及關(guān)系表客戶Customer:屬性屬性名類型長(zhǎng)度約束客戶編號(hào)CNoch

8、ar20主鍵姓名CNamechar10非空性別CSexchar4男或女年齡CAgeint大于零聯(lián)系方式CTelchar20非空身份證號(hào)CIdchar1818位數(shù)字create table Customer(CNo char(20) constraint C_prim primary key,CName char(10) not null,CSex char(4) constraint Sex not null check(CSex='男' or CSex='女'),CAge int constraint C_Age not null check (CAge>

9、;0),CTel char(20) not null,CId char(18) constraint LEN_CID check(len(CId)=18)員工Staff:屬性屬性名類型長(zhǎng)度約束員工號(hào)SNochar20主鍵姓名SNamechar10非空性別SSexchar4男或女年齡SAgeint大于零部門SDepchar20非空職位SPostchar20非空聯(lián)系方式STelchar20非空身份證號(hào)SIdchar1818位數(shù)字create table Staff(SNo char(20) constraint S_prim primary key,SName char(10) not null,

10、SSex char(4) constraint Sex not null check(SSex='男' or SSex='女'),SAge int constraint S_Age not null check (SAge>0),SDep char(20) not null,SPost char(20) not null,STel char(20) not null,SId char(18) constraint LEN_SID check(len(SId)=18)房屋House:屬性屬性名類型長(zhǎng)度約束房屋編號(hào)HNochar20主鍵小區(qū)HAchar20非空

11、棟HBchar10非空號(hào)HCchar10非空戶型HTypechar20非空面積HSizeint大于零房屋狀態(tài)HStatechar20待售'或已預(yù)訂或已售出價(jià)格HPricefloat大于零create table House(HNo char(20) constraint H_prim primary key,HA char(20) not null,HB char(10) not null,HC char(10) not null,HType char(20) not null,HSize int constraint H_Size not null check(HSize>0)

12、,HState char(20) constraint H_State not null check(HState='待售' or HState='已預(yù)訂' or HState='已售出') default '待售',Hprice float constraint H_Price not null check(HPrice>0)預(yù)定Reserve:屬性屬性名類型長(zhǎng)度約束預(yù)定流水號(hào)RNochar20主鍵客戶編號(hào)CNochar20非空姓名SNamechar10非空房屋編號(hào)HNochar20外鍵預(yù)付金額RMoneyfloat大于零

13、未付金額RRestfloat大于或等于零預(yù)定日期RDatechar10非空其中未付金額由存儲(chǔ)過程根據(jù)預(yù)付金額和房屋價(jià)格自動(dòng)計(jì)算填入create table Reserve(RNo char(20) constraint R_prim primary key,CNo char(20) constraint R_C_prim foreign key references Customer(CNo),SNo char(20) constraint R_S_prim foreign key references Staff(SNo),HNo char(20) constraint R_H_prim f

14、oreign key references House(HNo),RMoney float constraint R_Money not null check(RMoney>0),RRest float constraint R_Rest not null check(RRest>=0) default 0,Rdate char(10) not null )購(gòu)買Buy:屬性屬性名類型長(zhǎng)度約束購(gòu)買流水號(hào)BNochar20主鍵客戶編號(hào)CNochar20非空姓名SNamechar10非空房屋編號(hào)HNochar20外鍵購(gòu)買金額BMoneyfloat非空購(gòu)買日期BDatachar10非空cr

15、eate table Buy(BNo char(20) constraint B_prim primary key, CNo char(20) constraint B_C_prim foreign key references Customer(CNo),SNo char(20) constraint B_S_prim foreign key references Staff(SNo),HNo char(20) constraint B_H_prim foreign key references House(HNo),BMoney float constraint B_Money not n

16、ull check(BMoney>=0) default 0,Bdate char(10) not null3.3創(chuàng)建視圖:所有客戶信息視圖(客戶編號(hào),名字,性別,年齡,聯(lián)系方式,身份證號(hào))create view CustomerView(CNo,CName,CSex,CAge ,CTel,CId)asselect CNo,CName,CSex,Cage,CTel,CIdFROM Customer所有員工信息視圖(員工號(hào),名字,性別,年齡,部門,職位,聯(lián)系方式,身份證號(hào))create view StaffView(SNo,SName,SSex,SAge,SDep,SPost,STel,S

17、Id)asselect SNo,SName,SSex,SAge,SDep,SPost,STel,SIdfrom Staff待售房屋視圖(房屋編號(hào),小區(qū),棟,號(hào),戶型,面積,價(jià)格)create view ForSaleHouse (HNo,HA,HB,HC,HType,HSize,HPrice)asselect HNo,HA,HB,HC,HType,HSize,HPricefrom Housewhere HState='待售'預(yù)定房屋信息視圖(預(yù)定流水號(hào),客戶編號(hào),客戶名字,客戶聯(lián)系方式,員工號(hào),員工名字,員工聯(lián)系方式,房屋編號(hào),小區(qū),棟,號(hào),戶型,面積,價(jià)格,預(yù)定金額,未付金額

18、,預(yù)定時(shí)間)create view ReserveView(RNo,CNo,CName,CTel,SNo,SName,STel,HNo,HA,HB,HC,HType,HSize,HPrice,RMoney,RRest,Rdate)asselect RNo,Reserve.CNo,CName,CTel,Reserve.SNo,SName,STel,Reserve.HNo,HA,HB,HC,HType,HSize,HPrice,RMoney,RRest,Rdatefrom Reserve,Customer,Staff,Housewhere Reserve.CNo=Customer.CNo and

19、Reserve.SNo=Staff.SNo and Reserve.HNo=House.HNo購(gòu)買房屋信息視圖(購(gòu)買流水號(hào),客戶編號(hào),客戶名字,客戶聯(lián)系方式,員工號(hào),員工名字,員工聯(lián)系方式,房屋編號(hào),小區(qū),棟,號(hào),戶型,面積,價(jià)格,購(gòu)買金額,購(gòu)買時(shí)間)create view BuyView(BNo,CNo,CName,CTel,SNo,SName,STel,HNo,HA,HB,HC,HType,HSize,HPrice,BMoney, Bdate)asselect BNo,Buy.CNo,CName,CTel,Buy.SNo,SName,STel,Buy.HNo,HA,HB,HC,HType,

20、HSize,HPrice,BMoney,Bdatefrom Buy,Customer,Staff,Housewhere Buy.CNo=Customer.CNo and Buy.SNo=Staff.SNo and Buy.HNo=House.HNo3.4存儲(chǔ)過程:預(yù)定房屋:create procedure ReserveHouse(RNo char(20),CNo char(20),SNo char(20),HNo char(20),RMoney float,RDate char(10)asif (select House.HState from House where House.HNo=H

21、No)='待售')begininsert into Reserve(RNo,CNo,SNo,HNo,RMoney,Rdate) values(RNo,CNo,SNo,HNo,RMoney,RDate)update Houseset HState='已預(yù)定'from Housewhere House.HNo=HNoupdate Reserveset RRest=Hprice-RMoneyfrom House,Reservewhere RNo=RNo and House.HNo=HNoendelsebeginprint'該房屋已預(yù)定或已售出'end功

22、能:根據(jù)HNo判斷房屋狀態(tài)是不是待售狀態(tài),若是,則在預(yù)定表中插入信息;否則,則提示“該房屋已預(yù)定或已售出”,并放棄插入操作。購(gòu)買房屋:create procedure BuyHouse(BNo char(20),CNo char(20),SNo char(20),HNo char(20),BDate char(10)asif (select House.HState from House where House.HNo=HNo)!='已售出')begininsert into Buy(BNo,CNo,SNo,HNo ,Bdate) values(BNo,CNo,SNo,HNo,

23、BDate)update Houseset HState='已售出'from Housewhere House.HNo=HNodelete from Reservewhere Reserve.HNo=HNoendelsebeginprint'該房屋已售出'end功能:根據(jù)HNo判斷房屋狀態(tài)是不是已售出狀態(tài),若為否,則在購(gòu)買表中插入信息,并在預(yù)定表中刪除對(duì)應(yīng)信息;否則,則提示“該房屋已售出”,并放棄插入操作。插入客戶信息:create procedure InsertCustomer(CNo char(20), CName char(10), CSex char(

24、4), CAge int, CTel char(20),CId char(18)='無'asinsert into Customer values(CNo,CName,CSex,CAge,CTel,CId)功能:在客戶表中插入新的客戶信息。插入員工信息:create procedure InsertStaff(SNo char(20), SName char(10), SSex char(4), SAge int, SDep char(20),SPost char(20),STel char(20),SId char(18)asinsert into Staff values(

25、SNo,SName,SSex,SAge,SDep,SPost,STel,SId)功能:在員工表中插入新的員工信息。插入房屋信息:create procedure InsertHouse(HNo char(20),HA char(20),HB char(10),HC char(10),HType char(20), HSize int,HState char(20),Hprice floatas insert into House values(HNo,HA,HB,HC,HType,HSize,HState,HPrice)功能:在房屋表中插入新的房屋信息。3.5觸發(fā)器:觸發(fā)器1:create t

26、rigger NewReserveHouse on Reserveinstead of insertasif not exists(select * from inserted where CNo in (select CNo from Customer) )print '客戶表中沒有該客戶信息,拒絕插入!'rollback transaction功能:保證在預(yù)定表中插入新記錄時(shí),客戶信息必須已經(jīng)存在于客戶表中。觸發(fā)器2:create trigger NewBuyHouse on Buyinstead of insertasif not exists(select * from

27、 inserted where CNo in (select CNo from Customer) )print '客戶表中沒有該客戶信息,拒絕插入!'rollback transaction功能:保證在購(gòu)買表中插入新記錄時(shí),客戶信息必須已經(jīng)存在于客戶表中。觸發(fā)器3:create trigger DelR on Reserveafter deleteasif (select HState from House where House.HNo in (select HNo from deleted) )='已預(yù)定')begindelete from Customerwhere Customer.CNo in (select CNo from deleted)update Houseset HState='待售'where House.HNo in (select HNo from deleted)end功能:刪除預(yù)定表中某一個(gè)預(yù)定記錄時(shí),如果是因?yàn)榭头肚逦锤犊?,?gòu)買了房屋,則只進(jìn)行原操作;如果是因?yàn)榭蛻羧∠A(yù)定,則同時(shí)刪除客戶表中此客戶,并將此房屋狀態(tài)重新改為待售。觸發(fā)器4:create trigger

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論