學(xué)生宿舍管理系統(tǒng)的設(shè)計(jì)(SQL數(shù)據(jù)庫(kù)課程設(shè)計(jì))_第1頁(yè)
學(xué)生宿舍管理系統(tǒng)的設(shè)計(jì)(SQL數(shù)據(jù)庫(kù)課程設(shè)計(jì))_第2頁(yè)
學(xué)生宿舍管理系統(tǒng)的設(shè)計(jì)(SQL數(shù)據(jù)庫(kù)課程設(shè)計(jì))_第3頁(yè)
學(xué)生宿舍管理系統(tǒng)的設(shè)計(jì)(SQL數(shù)據(jù)庫(kù)課程設(shè)計(jì))_第4頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué)生宿舍管理系統(tǒng)的設(shè)計(jì)(sql數(shù)據(jù)庫(kù)課程設(shè)計(jì))數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告學(xué)生宿舍管理系統(tǒng)設(shè)計(jì)專業(yè)學(xué)生姓名班級(jí)學(xué)號(hào)指導(dǎo)教師完成日期11目 錄1 課程設(shè)計(jì)目的及要求12 課程設(shè)計(jì)的主要內(nèi)容13數(shù)據(jù)庫(kù)設(shè)計(jì)2 概念設(shè)計(jì)2 邏輯設(shè)計(jì)3 物理設(shè)計(jì)54程序模塊設(shè)計(jì)6 登錄界面模塊設(shè)計(jì)6 按宿舍號(hào)、學(xué)生學(xué)號(hào)的查詢模塊設(shè)計(jì)8 按宿舍號(hào)、學(xué)生學(xué)號(hào)的統(tǒng)計(jì)模塊設(shè)計(jì)105 小結(jié)12附 錄13附錄1 源程序清單131學(xué)生宿舍管理系統(tǒng)的設(shè)計(jì)1 課程設(shè)計(jì)目的及要求 設(shè)計(jì)目的:1) 簡(jiǎn)化宿舍管理人員手工記錄數(shù)據(jù)的繁瑣;2) 提高記錄查詢速度,縮短查詢時(shí)間;3) 實(shí)現(xiàn)數(shù)據(jù)的安全存儲(chǔ)。設(shè)計(jì)要求:1)要求用戶必須輸入正確的密碼才能進(jìn)入系統(tǒng);

2、2)實(shí)現(xiàn)按宿舍號(hào)、學(xué)生學(xué)號(hào)的查詢。3)實(shí)現(xiàn)分別按宿舍號(hào)、學(xué)生學(xué)號(hào)的統(tǒng)計(jì)。 2 課程設(shè)計(jì)的主要內(nèi)容 經(jīng)濟(jì)可行性分析系統(tǒng)的經(jīng)濟(jì)可行性分析是指對(duì)組織的經(jīng)濟(jì)狀況和投資能力進(jìn)行分析,對(duì)系統(tǒng)的建設(shè)運(yùn)營(yíng)和維護(hù)費(fèi)用進(jìn)行估算,對(duì)系統(tǒng)建成后可能取得的社會(huì)及經(jīng)濟(jì)效益進(jìn)行估計(jì)。由于本系統(tǒng)作為畢業(yè)設(shè)計(jì),所以在資金上沒(méi)有太多的需求,只是需要系統(tǒng)開發(fā)者投入較多的時(shí)間,去進(jìn)行研究和分析,以及思考問(wèn)題的所在。 技術(shù)可行性分析學(xué)生公寓管理系統(tǒng)使用sql sever 2017以及進(jìn)行開發(fā),由于的可視化模塊比較強(qiáng)大,所以在系統(tǒng)的設(shè)計(jì)過(guò)程中不會(huì)有太大問(wèn)題,同該系統(tǒng)使用macro software的sql server 2017對(duì)后臺(tái)的

3、數(shù)據(jù)進(jìn)行操作,使得數(shù)據(jù)完整性得以保證,同時(shí)數(shù)據(jù)操作簡(jiǎn)單化。通過(guò)上述分析得出該系統(tǒng)在技術(shù)上是可行的。 操作可行性分析本系統(tǒng)直觀易懂,使用非常方便,管理員經(jīng)過(guò)簡(jiǎn)單的培訓(xùn)就可以熟練的使用,因此系統(tǒng)的操作沒(méi)有什么太大困難。3數(shù)據(jù)庫(kù)設(shè)計(jì) 概念設(shè)計(jì)學(xué)生學(xué)號(hào)性別姓名年齡所屬學(xué)院入住寢室號(hào)居住性別寢室人數(shù)寢室n樓號(hào)房間數(shù)包含1管理宿舍樓n1管理員性別姓名員工號(hào)樓號(hào)n1樓號(hào)寢室號(hào)樓號(hào) 數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析后所 收獲得的主要成果。數(shù)據(jù)字典通常包括以下5個(gè)部分:a 數(shù)據(jù)項(xiàng):數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位。b 數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。一個(gè)數(shù)據(jù)結(jié)構(gòu)可以由若干個(gè)數(shù)

4、據(jù)項(xiàng)組成,也可以由若干個(gè)數(shù)據(jù)結(jié)構(gòu)組成,或由若干數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)混合組成。c 數(shù)據(jù)流:數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健 數(shù)據(jù)存儲(chǔ):數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)及其結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來(lái)源和去向之一。e 處理過(guò)程:處理過(guò)程的具體處理邏輯一般用判定表或判定樹來(lái)描述。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫(kù)中數(shù)據(jù)的描述,即對(duì)元數(shù)據(jù)的描述。數(shù)據(jù)字典是在需求分析階段建立,在數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中不斷修改、充實(shí)、完善的。a. 數(shù)據(jù)項(xiàng)編號(hào):e01數(shù)據(jù)項(xiàng):管理員信息表描述:宿舍管理員的相關(guān)信息定義:管理員信息表=員工姓名+性別+員工號(hào)+管理的樓號(hào)b. 數(shù)據(jù)項(xiàng)編號(hào):e02數(shù)據(jù)項(xiàng):宿舍樓信息表描述:宿舍樓的相關(guān)信息定義:宿舍樓信息表=

5、宿舍樓號(hào)+宿舍數(shù)目c. 數(shù)據(jù)項(xiàng)編號(hào):e03數(shù)據(jù)項(xiàng):寢室信息表描述:學(xué)生寢室的相關(guān)信息定義:寢室信息表=寢室號(hào)+居住性別+寢室人數(shù)+樓號(hào)d. 數(shù)據(jù)項(xiàng)編號(hào):e04數(shù)據(jù)項(xiàng):學(xué)生信息表描述:學(xué)生的個(gè)人信息定義:學(xué)生信息表=學(xué)號(hào)+性別+姓名+年齡+所屬學(xué)院+居住樓號(hào)+寢室號(hào) 邏輯設(shè)計(jì)分析后達(dá)到三范式后建立以下4個(gè)表:manager_info 表 管理員信息floor_info 表 宿舍樓信息room_info 表 寢室信息student_info 表 學(xué)生信息一、管理員信息表(manager_info) 管理員信息表字段名數(shù)據(jù)類型長(zhǎng)度說(shuō)明描述mnamechar10不空,主鍵管理員姓名msexchar10

6、不空性別mnumberint4不空編號(hào)mlouint4不空樓號(hào)二、宿舍樓信息表(floor_info) 宿舍樓信息字段名數(shù)據(jù)類型長(zhǎng)度說(shuō)明描述mlouint4不空樓號(hào)roomint4不空房間數(shù)三、寢室信息表(room_info)寢室信息字段名數(shù)據(jù)類型長(zhǎng)度說(shuō)明描述qnumberint4不空,主鍵寢室號(hào)qsexchar10不空居住性別qcountint4不空寢室人數(shù)mlouint4不空樓號(hào)四、學(xué)生信息表(student_info) 學(xué)生信息字段名數(shù)據(jù)類型長(zhǎng)度說(shuō)明描述snumberint4不空,主鍵學(xué)號(hào)snamechar10不空姓名ssexchar10不空性別sageint4不空年齡scollegec

7、har10不空所屬學(xué)院mlouint4不空樓號(hào)qnumberint4不空寢室號(hào) 物理設(shè)計(jì) 數(shù)據(jù)庫(kù)的物理設(shè)計(jì)就是為邏輯數(shù)據(jù)模型選取一個(gè)最合適應(yīng)用要求的物理結(jié)構(gòu)的過(guò)程,在這個(gè)階段中要完成兩大任務(wù):(1)確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫(kù)中主要是存取方法和存儲(chǔ)結(jié)構(gòu);(2)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率。1、create database data_baseon(name=data_base_data,filename=c:programefilesmicrosoftsqlservermssqldata,size=10mb,maxsize=50mb,filegrowth=5mb) lo

8、g on(name=data_base_log,filename=c:program filesmicrosoft sql servermssqldata,size=10mb,maxsize=20mb,filegrowth=5mb)2、create table manager_info( mname char(10) not null primary key, msex char(10) not null, mnumber int(4) not null, mlou int(4) not null)go3、create table floot_info ( mlou int(4) not nu

9、ll primary key,room int(4) not null)go4、create table room_info( qnumber int (4) not null primary key,qsex int (10) not null,qcount int (4) not null,mlou int (4) not null)go5、create table student_info( snumber int (4) not null primary key,sname char(10) not null,ssex char(10) not null,sage int (4) no

10、t null,scollege char(10) not null,mlou int (4) not null,qnumber int (4) not null)4程序模塊設(shè)計(jì) 登錄界面模塊設(shè)計(jì) 功能需求:實(shí)現(xiàn)密碼正確時(shí)才可使用此系統(tǒng)。用戶界面設(shè)計(jì):程序代碼設(shè)計(jì)和分析: 程序主界面由6個(gè)部分怎么組成,菜單欄5個(gè)按鈕分別三“按學(xué)號(hào)查詢”、“按宿舍號(hào)查詢”、“按學(xué)院統(tǒng)計(jì)”、“按宿舍號(hào)統(tǒng)計(jì)”、“幫助”,分別對(duì)應(yīng)各自的功能。初始狀態(tài)下5個(gè)按鈕都是無(wú)效的,只有輸入正確的口令,功能才被激活??诹畛鲥e(cuò)時(shí)會(huì)出現(xiàn)“您輸入的密碼不正確”這樣的提示窗口。如果三次輸入錯(cuò)誤,用戶會(huì)被禁用。運(yùn)行結(jié)果:口令正確,窗口如下:

11、口令錯(cuò)誤,窗口如下:口令三次錯(cuò)誤,用戶被禁用,窗口如下: 按宿舍號(hào)、學(xué)生學(xué)號(hào)的查詢模塊設(shè)計(jì)功能需求:實(shí)現(xiàn)分別按宿舍號(hào)、學(xué)生學(xué)號(hào)查詢學(xué)生的相關(guān)信息。用戶界面設(shè)計(jì): 程序代碼設(shè)計(jì)和分析: 由于按學(xué)號(hào)查詢跟按宿舍號(hào)查詢功能類似,所以以學(xué)號(hào)舉例。查詢之前首先需要建立與sql的連接。 連接成功以后,使用string sql="select * from student_info where snumber="+();進(jìn)行查詢,使用在命令行中輸出。運(yùn)行結(jié)果:按宿舍號(hào)查詢結(jié)果如下:按學(xué)號(hào)查詢結(jié)果如下: 按宿舍號(hào)、學(xué)生學(xué)號(hào)的統(tǒng)計(jì)模塊設(shè)計(jì)功能需求:實(shí)現(xiàn)分別按宿舍號(hào)、學(xué)院進(jìn)行統(tǒng)計(jì)。用戶界面設(shè)計(jì)

12、: 程序代碼設(shè)計(jì)和分析:在文本框中輸入學(xué)院代號(hào),1表示博雅學(xué)院,2表示化生學(xué)院,3表示機(jī)械學(xué)院,設(shè)置一個(gè)變量x表示相應(yīng)學(xué)院的住宿生人數(shù)。然后使用java命令行輸出表達(dá)式在dos界面進(jìn)行設(shè)計(jì)。 運(yùn)行結(jié)果: 按宿舍號(hào)統(tǒng)計(jì)住宿生,結(jié)果如下: 按學(xué)院統(tǒng)計(jì)住宿生,結(jié)果如下:5 小結(jié)這次數(shù)據(jù)庫(kù)課程設(shè)計(jì)收獲頗豐。由于很多知識(shí)書本上沒(méi)有,所以使得我學(xué)要在網(wǎng)絡(luò)上尋找相應(yīng)的內(nèi)容,提高了我的知識(shí)查詢能力。在java程序與sql數(shù)據(jù)庫(kù)連接上花了不少時(shí)間。首先安裝了sql sever 2000 jdbc 驅(qū)動(dòng)程序,接著有對(duì)電腦本來(lái)的sql sever 2000 打上sp3補(bǔ)丁,安裝sp3驅(qū)動(dòng)程序。另外,還得在java的

13、目錄下粘貼,文件。最后在dos環(huán)境中使用“ netstat an”查看端口1433是否打開,打開后才可以進(jìn)行數(shù)據(jù)庫(kù)的連接。1433端口是java和sql數(shù)據(jù)庫(kù)進(jìn)行連接的主要端口,該端口打開后也就意味著計(jì)算機(jī)給網(wǎng)絡(luò)中的不法分子提供了一個(gè)入侵漏洞,計(jì)算機(jī)受到不斷入侵會(huì)把用戶的進(jìn)行攔截,以至于用戶不能打開dos界面。 附 錄附錄1 源程序清單import .*;import .*;import .*;public class zu extends frame implements actionlistenerstatic int i=0; static int m=1;label a1,a2;tex

14、tfield text1;button button1,m1,m2,m3,m4,m5;font f;zu(string s)super(s);setlayout(null);f=new font("黑體",20);m1=new button("按學(xué)號(hào)查詢");m2=new button("按宿舍號(hào)查詢");m3=new button("按學(xué)院統(tǒng)計(jì)");m4=new button("按宿舍號(hào)統(tǒng)計(jì)");m5=new button("幫助");(this);(this);(this

15、);(this);(this);(10,30,120,25);(140,30,140,25); (290,30,120,25); (420,30,80,25);(510,30,80,25);add(m1);add(m2);add(m3);add(m4);add(m5);a1=new label("數(shù)據(jù)庫(kù)課程設(shè)計(jì)",;a2=new label("輸入口令:");(180,100,300,40);(f); (180,200,90,25); ;text1=new textfield(18);(280,200,200,25);button1=new button

16、("確認(rèn)");(300,250,70,30);(this);add(a1);add(a2);add(text1);add(button1);setbackground;setbounds(100,100,600,400);setvisible(true);validate();addwindowlistener(new windowadapter() public void windowclosing(windowevent e) (0); );public void actionperformed(actionevent e) string s=new string(&q

17、uot;02");if()=button1) while(i=0&&m<=3&&(!().equals("") if().equals(s) (this,"口令正確,歡迎使用","成功登錄對(duì)話框",; i=1; else m+; (this, "您輸入的密碼不正確","警告對(duì)話框",; (null); if(m>=3)(this,"您已被禁用","錯(cuò)誤對(duì)話框",;if(i=1)if()=m1)show

18、s1=new show("按學(xué)號(hào)查詢信息");(true);else if()=m2)form3 f1=new form3();("按宿舍號(hào)查詢信息");(true);else if()=m3)form4 f2=new form4();("按學(xué)院統(tǒng)計(jì)");(true);else if()=m4)form5 f5=new form5(); ("按宿舍號(hào)統(tǒng)計(jì)");(true);else if()=m5)help h1=new help("幫助信息");(true); class javaconnec

19、tsqlserver public static connection getconnection() connection conn=null; try (""); catch (classnotfoundexception e) (); try string connurl="jdbc:microsoft:;databasename=data_base" conn=(connurl,"sa",""); return conn; catch (sqlexception e) (); return conn; cl

20、ass show extends frame implements actionlistenerlabel b1,b2;font f;textfield t1; button button1,button2;show(string s) super(s);setlayout(null);f=new font("黑體",20);b1=new label("按學(xué)號(hào)查詢信息 ");b2=new label("請(qǐng)輸入學(xué)號(hào):");t1=new textfield(18);(280,200,200,25);(180,100,250,40);(f)

21、;(100,200,120,25);t1=new textfield(15);(250,200,200,25);button1=new button("確定");button2=new button("返回");(200,350,70,25);(360,350,70,25);setbounds(100,100,600,400);setbackground;add(b1);add(b2);add(button1);add(button2);add(t1);(this);(this);validate();addwindowlistener(new wind

22、owadapter() public void windowclosing(windowevent e) setvisible(false); ); public void actionperformed(actionevent e)if()=button1)(); connection conn=(); statement stm=null; try stm = (); string sql="select * from student_info where snumber="+(); resultset rs=(sql); while() "學(xué)號(hào)")

23、;" "); "姓名");" "); "性別");" "); "年齡");" "); "所屬學(xué)院");" "); "寢室樓號(hào)");" "); "寢室號(hào)");" "); "snumber");" "); "sname"); "ssex");"sage&

24、quot;);" "); "scollege");"mlou");" "); "qnumber"); catch (sqlexception k) (); else if()=button2)setvisible(false); class form3 extends frame implements actionlistenerlabel b1,b2;font f;textfield t1;button button1,button2;form3()setlayout(null);f=new

25、font("黑體",20);b1=new label("按宿舍號(hào)查詢信息 ");b2=new label("請(qǐng)輸入宿舍號(hào):");(180,100,250,40);(f);(100,200,120,25);t1=new textfield(15);(250,200,200,25);button1=new button("確定");button2=new button("返回");(200,350,70,25);(360,350,70,25);setbounds(100,100,600,400);s

26、etbackground;add(b1);add(b2);add(button1);add(button2);add(t1);(this);(this);validate();addwindowlistener(new windowadapter() public void windowclosing(windowevent e) setvisible(false); );public void actionperformed(actionevent e)if()=button1) (); connection conn=(); statement stm=null; try stm = ()

27、; string sql="select * from student_info where qnumber="+(); resultset rs=(sql); "學(xué)號(hào)");" "); "姓名");" "); "性別");" "); "年齡");" "); "所屬學(xué)院");" "); "寢室樓號(hào)");" "); "寢室號(hào)&quo

28、t;);" "); while() "snumber");" "); "sname"); "ssex");"sage");" "); "scollege"); "mlou");" "); "qnumber"); catch (sqlexception k) (); else if()=button2)setvisible(false); class form4 extends

29、frame implements actionlistenerlabel b1,b2;font f;textfield t1;button button1,button2;form4()setlayout(null);f=new font("黑體",20);b1=new label("按學(xué)院統(tǒng)計(jì) ");b2=new label("請(qǐng)輸入學(xué)院代號(hào):");(250,100,250,40);(f);(100,200,120,25);t1=new textfield(15);(250,200,200,25);button1=new butto

30、n("確定");button2=new button("返回");(200,350,70,25);(360,350,70,25);setbounds(100,100,600,400);setbackground;add(b1);add(b2);add(button1);add(button2);add(t1);(this);(this);validate();addwindowlistener(new windowadapter() public void windowclosing(windowevent e) setvisible(false); )

31、;public void actionperformed(actionevent e)if()=button1) int x=0;(); connection conn=(); statement stm=null; try stm = (); string sql="select * from student_info where scollege="+(); resultset rs=(sql); "學(xué)號(hào)");" "); "姓名");" "); "性別");"

32、"); "年齡");" "); "所屬學(xué)院");" "); "寢室樓號(hào)");" "); "寢室號(hào)");" "); while() x+; "snumber");" "); "sname"); "ssex"); "sage");" "); if()="1") "博雅");

33、 " "); else if()="2") "化生"); " "); else "機(jī)械");" ");"mlou");" "); "qnumber"); "該學(xué)院有住宿生"+x+"名"); catch (sqlexception k) (); else if()=button2)setvisible(false); class form5 extends frame imple

34、ments actionlistenerlabel b1,b2;font f;textfield t1;button button1,button2;form5()setlayout(null);f=new font("黑體",20);b1=new label("按宿舍號(hào)統(tǒng)計(jì) ");b2=new label("請(qǐng)輸入宿舍號(hào):");(180,100,250,40);(f);(100,200,120,25);t1=new textfield(15);(250,200,200,25);button1=new button("確定&

35、quot;);button2=new button("返回");(200,350,70,25); (360,350,70,25);setbounds(100,100,600,400);setbackground;add(b1);add(b2);add(t1);add(button1);add(button2);(this);(this);validate();addwindowlistener(new windowadapter() public void windowclosing(windowevent e) setvisible(false); );public void actionperformed(actionevent e)if()=button1) int y=0;(); connection conn=(); statement stm=null; try stm = (); string sql="s

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論