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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

7、har10不空所屬學(xué)院mlouint4不空樓號qnumberint4不空寢室號 物理設(shè)計 數(shù)據(jù)庫的物理設(shè)計就是為邏輯數(shù)據(jù)模型選取一個最合適應(yīng)用要求的物理結(jié)構(gòu)的過程,在這個階段中要完成兩大任務(wù):(1)確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要是存取方法和存儲結(jié)構(gòu);(2)對物理結(jié)構(gòu)進行評價,評價的重點是時間和空間效率。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è)計 登錄界面模塊設(shè)計 功能需求:實現(xiàn)密碼正確時才可使用此系統(tǒng)。用戶界面設(shè)計:程序代碼設(shè)計和分析: 程序主界面由6個部分怎么組成,菜單欄5個按鈕分別三“按學(xué)號查詢”、“按宿舍號查詢”、“按學(xué)院統(tǒng)計”、“按宿舍號統(tǒng)計”、“幫助”,分別對應(yīng)各自的功能。初始狀態(tài)下5個按鈕都是無效的,只有輸入正確的口令,功能才被激活??诹畛鲥e時會出現(xiàn)“您輸入的密碼不正確”這樣的提示窗口。如果三次輸入錯誤,用戶會被禁用。運行結(jié)果:口令正確,窗口如下:

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

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

13、目錄下粘貼,文件。最后在dos環(huán)境中使用“ netstat an”查看端口1433是否打開,打開后才可以進行數(shù)據(jù)庫的連接。1433端口是java和sql數(shù)據(jù)庫進行連接的主要端口,該端口打開后也就意味著計算機給網(wǎng)絡(luò)中的不法分子提供了一個入侵漏洞,計算機受到不斷入侵會把用戶的進行攔截,以至于用戶不能打開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é)號查詢");m2=new button("按宿舍號查詢");m3=new button("按學(xué)院統(tǒng)計");m4=new button("按宿舍號統(tǒng)計");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ù)庫課程設(shè)計",;a2=new label("輸入口令:");(180,100,300,40);(f); (180,200,90,25); ;text1=new textfield(18);(280,200,200,25);button1=new button

16、("確認");(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,"口令正確,歡迎使用","成功登錄對話框",; i=1; else m+; (this, "您輸入的密碼不正確","警告對話框",; (null); if(m>=3)(this,"您已被禁用","錯誤對話框",;if(i=1)if()=m1)show

18、s1=new show("按學(xué)號查詢信息");(true);else if()=m2)form3 f1=new form3();("按宿舍號查詢信息");(true);else if()=m3)form4 f2=new form4();("按學(xué)院統(tǒng)計");(true);else if()=m4)form5 f5=new form5(); ("按宿舍號統(tǒng)計");(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é)號查詢信息 ");b2=new label("請輸入學(xué)號:");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é)號")

23、;" "); "姓名");" "); "性別");" "); "年齡");" "); "所屬學(xué)院");" "); "寢室樓號");" "); "寢室號");" "); "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("按宿舍號查詢信息 ");b2=new label("請輸入宿舍號:");(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é)號");" "); "姓名");" "); "性別");" "); "年齡");" "); "所屬學(xué)院");" "); "寢室樓號");" "); "寢室號&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)計 ");b2=new label("請輸入學(xué)院代號:");(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é)號");" "); "姓名");" "); "性別");"

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

33、 " "); else if()="2") "化生"); " "); else "機械");" ");"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("按宿舍號統(tǒng)計 ");b2=new label("請輸入宿舍號:");(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論