




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 PAGE14 / NUMPAGES15 某科技學(xué)院課 程 設(shè) 計課程名稱數(shù)據(jù)庫原理題目名稱教學(xué)管理系統(tǒng)學(xué)生學(xué)院電子信息工程學(xué)院專業(yè)班級軟件工程122學(xué) 號1120290062學(xué)生某陸昌柱指導(dǎo)教師王老師 2015年6月26日目錄需求分析2 1.1數(shù)據(jù)流圖2 1.2數(shù)據(jù)字典3 1.3安全性和完整性要求4概念結(jié)構(gòu)設(shè)計4 2.1 ER圖4邏輯結(jié)構(gòu)設(shè)計5 3.1關(guān)系模型5 3.2關(guān)系模型的設(shè)計5 3.3用戶子模式5 3.4系統(tǒng)結(jié)構(gòu)圖63.5安全性6數(shù)據(jù)庫物理設(shè)計64.1建立索引64.2數(shù)據(jù)庫存放位置64.3系統(tǒng)配置74.4模塊設(shè)計7數(shù)據(jù)庫實施75.1創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)對象(括號中為對應(yīng)的SQL腳本文件)
2、75.2數(shù)據(jù)備份和恢復(fù)方案75.3用戶界面的設(shè)計和實現(xiàn)及相關(guān)應(yīng)用程序編碼7 教學(xué)管理系統(tǒng)1 引言 1.1 編寫目的隨著知識經(jīng)濟(jì),科技的不斷發(fā)展以及科技在各領(lǐng)域的不斷深入,越來越多的行業(yè)和領(lǐng)域步入信息的智能化階段。信息自動化處理也是提高效益,規(guī)X管理,迅速客觀審查的有效途徑。管理系統(tǒng)在當(dāng)今教育領(lǐng)域是一個不可缺少的工具軟件。然而,一個好的高質(zhì)量的軟件少只有少,并為根本實現(xiàn)智能化,也不利于科學(xué)的管理和審查。因此,在本軟件中心準(zhǔn)備開發(fā)一個功能完善的成績管理系統(tǒng)。2 定義1 系統(tǒng)名稱:教師查詢管理系統(tǒng)2 數(shù)據(jù)庫管理軟件:navicat for MySQL3 數(shù)據(jù)庫設(shè)計人員:陸昌柱。4 數(shù)據(jù)庫設(shè)計采用軟件
3、:Microsoft Office Visio 2003需求分析2.1數(shù)據(jù)流圖學(xué)生或管理員等教學(xué)管理系統(tǒng)管理員增刪改信息取得信息取得信息選課教師取得信息管理成績說明:1、用戶請求包括:(1) 學(xué)生基本信息管理新生信息錄入。學(xué)生信息修改:按學(xué)號查詢出某學(xué)生的信息并做信息修改。(2) 系基本信息管理:系的基本信息輸入、修改、刪除(3) 課程信息管理:課程信息的輸入、修改、刪除(4) 教職工信息管理:教職工信息的輸入、修改、刪除(5) 選課管理: 每學(xué)期所選課程的學(xué)分不能超過15分。學(xué)生可以同時選修一門或多門課程。 可以同時為多個學(xué)生選修某一門或某幾門課程。刪除和修改選課信息。(6) 成績管理按課程
4、輸入和修改成績。按學(xué)生輸入和修改成績。(7) 信息查詢按學(xué)號、某、系號查詢學(xué)生基本信息。按職工號、某、系號查詢教職工基本信息。按系號、系名稱查詢系的基本信息。按課程號、課程名稱、上課教師某查詢課程基本信息。按學(xué)號、學(xué)生某、課程號、課程名稱、上課教師某、系號查詢學(xué)生成績,內(nèi)容包括課程基本情況。若查詢涉及多門課程,則按課程分組。每門課程按總評成績從高分到低分給出選修該門課程的所有學(xué)生的成績(平時成績、考試成績和總評成績)。(8) 統(tǒng)計報表成績登記表,內(nèi)容包括課程基本信息(課程號、課程名稱、任課教師號、學(xué)時、學(xué)分、上課時間、上課地點、考試時間)、選課學(xué)生(學(xué)號、某、性別),每個學(xué)生的平時成績(空格)
5、、考試成績(空格)和總評成績(空格),按學(xué)號排序:順序輸出所有課程的成績登記表。按課程號、課程名稱、教師某輸出對應(yīng)課程的成績登記表。2、以上的用戶請求經(jīng)應(yīng)用程序的轉(zhuǎn)化,化為對數(shù)據(jù)庫中的相應(yīng)的表或視圖的操作,數(shù)據(jù)庫再把處理的結(jié)果(或都是錯誤信息)返回結(jié)應(yīng)用程序。3、應(yīng)用程序把結(jié)果返回給用戶,該結(jié)果可能為一個對表操作的結(jié)果(如插入,刪除等),也可能為一個查詢的結(jié)果,甚至可能為一個錯誤的信息。2.2數(shù)據(jù)字典根據(jù)題目的需求,教學(xué)系統(tǒng)主要是對學(xué)生,教職工,學(xué)院,課程,成績等的管理。由此分析得到如下數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)庫的表結(jié)構(gòu)的設(shè)計,數(shù)據(jù)項如下,表名分別為:users, score, department,
6、student, teach_job, course:2.3安全性和完整性要求安全性和完整性要求:通過設(shè)置外鍵,建立它們之間的關(guān)系,并使它們級聯(lián)更新相關(guān)的字段,級聯(lián)刪除相關(guān)的記錄。對于構(gòu)成了環(huán)的級聯(lián)更新或刪除,而不能建立級聯(lián)更新或刪除的,通過建立觸發(fā)器,使得它們保持?jǐn)?shù)據(jù)的完整性。通過不同權(quán)限的人登錄而設(shè)置其對數(shù)據(jù)的增刪改的權(quán)限增強(qiáng)數(shù)據(jù)的安全性。本系統(tǒng)的外鍵設(shè)置和級聯(lián)操作有:外鍵:stuent表的depth_id。course表的t_id。score表的stu_id和c_id等。由于score表的兩個鍵若都級聯(lián)操作會構(gòu)成環(huán),所以級聯(lián)不成功。所以在這里建立兩個觸發(fā)器取代級聯(lián)操作,從而實現(xiàn)數(shù)據(jù)庫的完
7、整性。概念結(jié)構(gòu)設(shè)計ER圖系系號系名稱系的簡介屬于1m教 師職工號某性別生日系號職稱方向擁 有1學(xué) 生m學(xué)號某性別出生年月入學(xué)成績系號講 授mn課程課程號課程名職工號學(xué)時學(xué)分上課時間上課地點考試時間選修mn成績p學(xué)號課程號成績ER圖邏輯結(jié)構(gòu)設(shè)計關(guān)系模型關(guān)系模型的設(shè)計學(xué)生(學(xué)號、某、性別、出生日期、入學(xué)成績、所在系號、密碼)教師(職工號、某、性別、出生年月、所在系號、職稱、專業(yè)及教學(xué)方向)系(系號、系名稱、系的簡介)課程(課程號、課程名稱、任課教師號、學(xué)時、學(xué)分、上課時間、上課地點、考試時間)成績(學(xué)號、課程號、平時成績、考試成績、總評成績)擁有(學(xué)號、系號)屬于(職工號、系號)講授(職工號、課程
8、號、上課時間)選修(學(xué)號、課程號、上課時間)用戶子模式成績視圖(學(xué)號、學(xué)生某、教師號、教師某、課程號、上課時間、課程名、 平時成績、考試成績、總評成績、)選課視圖(學(xué)號、課程號、上課時間、平時成績、考試成績、總評成績、課程名、學(xué)時、學(xué)分)統(tǒng)計視圖(課程號、上課時間、課程名稱、任課教師號、學(xué)時、學(xué)分、上課地點、考試時間、學(xué)號、學(xué)生某、學(xué)生性別、平時成績、考試成績、總評成績)歷史表學(xué)生表系表課程表教師表成績表學(xué)生號學(xué)生號教師號系 號課程號學(xué)生號上課時間課程號上課時間選課視圖成績視圖統(tǒng)計視圖安全性安全性的實現(xiàn)主要是通過應(yīng)用程序來實現(xiàn),在程序中設(shè)定一個檢查用戶名和密碼的機(jī)構(gòu),用戶要進(jìn)入系統(tǒng)就先要輸入授
9、權(quán)了的用戶名和密碼方能進(jìn)入。數(shù)據(jù)庫物理設(shè)計建立索引為各個表的主碼建立索引。學(xué)生(學(xué)號)教師(職工號)系(系號)課程(課程號、上課時間)成績(學(xué)號、課程號)數(shù)據(jù)庫存放位置數(shù)據(jù)的存儲和數(shù)據(jù)處理在綜合考慮存取時間,存儲空間的利用率,維護(hù)的代價3個方面的因素,進(jìn)行權(quán)衡,選擇折中的方案。將易變部分與穩(wěn)定部分、經(jīng)常存取部分和存取頻率較低部分分開存放。系統(tǒng)配置Windows XPMicorSoft SQL Server 2000 (必需升級到SP3)Eclipse開發(fā)環(huán)境數(shù)據(jù)庫實施創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)對象(括號中為對應(yīng)的SQL腳本文件)創(chuàng)建數(shù)據(jù)庫的對象:create database teach; 創(chuàng)建表的過程
10、如下:create table users(user_name varchar(15) not null,password varchar(15),popedom tinyint not null);create table department(depth_id smallint primary key,depth_name char(14),discription varchar(50);create table teach_job(t_id int primary key,t_name char(8),sex char(2),birthday smalldatetime,depth_id
11、 smallint foreign key references department(depth_id),job char(10),speciality char(16),direction char(16);create table course(c_id smallint primary key,c_name char(16) not null,t_id intforeign key references teach_job(t_id),credit smallint,period smallint,class_time smalldatetime,class_area char(10)
12、,exam_time smalldatetime);create table student(stu_id char(6) primary key,s_name char(8),birthday smalldatetime,score int,depth_id smallint foreign key references department(depth_id);create table score(stu_id char(6),c_id smallint,u_score int,exam_score int,total int,primary key(stu_id,c_id);數(shù)據(jù)備份和恢
13、復(fù)方案事務(wù)故障的恢復(fù)是由系統(tǒng)自動完成的,對用戶透明。系統(tǒng)故障的恢復(fù)由系統(tǒng)重新啟動時自動完成,不需要用戶干預(yù)。介質(zhì)故障的恢復(fù)則由人干預(yù)完成,方法為重裝數(shù)據(jù)庫,然后重做已完成的事務(wù)。1、數(shù)據(jù)庫備份方案:每月進(jìn)行一次數(shù)據(jù)庫的完整備份,包括所有的數(shù)據(jù)及數(shù)據(jù)庫對象。速度較慢,占用大量磁盤空間。應(yīng)該在整個數(shù)據(jù)庫不進(jìn)行其他事務(wù)操作的時候備份可以提高數(shù)據(jù)備份的速度。每天進(jìn)行事務(wù)日志備份,事務(wù)日志備份是指對數(shù)據(jù)庫發(fā)生的事務(wù)進(jìn)行備份,包括上次進(jìn)行事務(wù)日志備份,差異備份和數(shù)據(jù)庫完全備份之后所有已經(jīng)完成的事務(wù)。所需的時間和磁盤空間要求較少每小時進(jìn)行差異備份,是備份一次數(shù)據(jù)備份以來的數(shù)據(jù)變化?;謴?fù)解決方案:先恢復(fù)最近一
14、次的數(shù)據(jù)庫備份,接著進(jìn)行差異備份的恢復(fù),最后進(jìn)行事務(wù)日志血仇的恢復(fù)。用戶界面的設(shè)計和實現(xiàn)及相關(guān)應(yīng)用程序編碼本系統(tǒng)的程序代碼結(jié)構(gòu)如下圖所示:主要是四個包:1其中中frame包中包含一個layout包。frame包主要是視圖層的代碼,主界面,登錄界面,各種操作的界面都在其中。此外包含一個包layout,在其中有一個類,用于網(wǎng)格組布局的封裝了網(wǎng)格組布局的一些代碼。在MyAction中封裝的是主窗口里面的所有菜單事件。2在model包中主要處理的是模型層,對數(shù)據(jù)的操作封裝其中。3query一個類包含了對學(xué)生信息的查詢。4此外在util中包含的是對數(shù)據(jù)庫的所有操作。其中有對數(shù)據(jù)庫的更改,把數(shù)據(jù)庫的數(shù)據(jù)和
15、表格模型相關(guān)聯(lián)起來的等操作。主界面如下所示:5關(guān)鍵代碼如下:由于代碼太多,以下只寫出很少的一部分代碼1對數(shù)據(jù)庫的操作:public class ConneJdbc protected static Connection connection = null;private Connection con = null; private ResultSet rs = null; private ResultSetMetaData rsmd = null;public ConneJdbc() try Class.forName(.microsoft.jdbc.sqlserver.SQLServerDr
16、iver);connection = DriverManager.getConnection(jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=teaching ,sa, ); catch (java.lang.ClassNotFoundException classnotfound) classnotfound.printStackTrace(); catch (java.sql.SQLException sql) sql.printStackTrace();public Connection getCon() return conn
17、ection;public Vector selectSql(String sql) Vector vdata = new Vector();try rs = connection.prepareStatement(sql).executeQuery();rsmd = rs.getMetaData();while (rs.next()vdata.addElement(rs.getObject(1); catch (SQLException e) e.printStackTrace();return vdata;public String selectOne(String sql) Result
18、Set rs = null; ResultSetMetaData rsmd = null;try rs = connection.prepareStatement(sql).executeQuery();rsmd = rs.getMetaData();if (rs.next()return (String)rs.getObject(1); catch (SQLException e) e.printStackTrace();return null;public boolean inTable(String user, String pa) throws SQLException Stateme
19、nt stmt = null;PreparedStatement pstmt = null;ResultSet rs = null;String sql = select password from users +where user_name= + user + and password=+ pa + ;rs = connection.prepareStatement(sql).executeQuery();if(rs.next()return true;else return false;2表格模型的處理:public class SqlTableModel extends Default
20、TableModel private Connection con = null; private ResultSet rs = null; private ResultSetMetaData rsmd = null;public SqlTableModel(String sqlStr, String name) con = new ConneJdbc().getCon(); try rs = con.prepareStatement(sqlStr).executeQuery(); rsmd = rs.getMetaData(); for(int i=0; irsmd.getColumnCou
21、nt(); i+) addColumn(namei); while(rs.next() Vector vdata = new Vector(); for ( int i = 1 ; i = rsmd.getColumnCount() ; i +) vdata.addElement(rs.getObject(i); addRow(vdata); catch(java.sql.SQLException sql) sql.printStackTrace(); finally try con.close(); catch (SQLException e) e.printStackTrace(); 3)
22、Updatabase的一部分代碼:publicclass UpdateDatebase extends ConneJdbc private Statement stmt = null;private PreparedStatement pstmt = null;private String infoStr = null;private String sql;public UpdateDatebase() publicboolean insert(DepData data) throws SQLException String sql = insert into department (dept
23、h_name,discription) values (+ data.getDepth_name() + , + data.getDiscription() + );pstmt = connection.prepareStatement(sql);pstmt.execute();returntrue;publicboolean insert(StuData data) throws SQLException sql = insert into student values (+ data.getStu_id() + , + data.getS_name() + ,+ data.getSex()
24、 + , + data.getBirthday() + ,+ data.getScore() +, + data.getDepth_id() + );pstmt = connection.prepareStatement(sql);pstmt.execute();returntrue;publicboolean insert(Teadata data) throws SQLException sql = insert into teach_job values (+ data.getT_id() + , + data.getT_name() + ,+ data.getSex() + , + data.getBirthday() + ,+ data.getDepth_id() +, + data.getJob()
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健身器材用戶參與度提升策略實踐考核試卷
- 塑料鞋生產(chǎn)效率統(tǒng)計與分析考核試卷
- 數(shù)學(xué)空間想象力培養(yǎng)教具考核試卷
- 供應(yīng)鏈大數(shù)據(jù)分析在供應(yīng)鏈中的應(yīng)用案例解析考核試卷
- 北京車牌借用合同范本
- 蔬菜購銷合同范本
- 藥店店員培訓(xùn)課件
- 冷庫設(shè)備銷售合同范本
- 靜脈輸液的基本操作流程
- 數(shù)據(jù)傳輸網(wǎng)絡(luò)安全合作協(xié)議之?dāng)?shù)據(jù)傳輸保護(hù)服務(wù)合同
- 宮頸癌化療患者的護(hù)理
- 車間主任考核表實用文檔
- 提高領(lǐng)導(dǎo)干部的溝通能力
- 《航空公司服務(wù)質(zhì)量改善研究8800字(論文)》
- GB/T 9124-2010鋼制管法蘭技術(shù)條件
- GB/T 4117-2008工業(yè)用二氯甲烷
- FZ/T 07019-2021針織印染面料單位產(chǎn)品能源消耗限額
- 人教PEP版英語五年級下冊第四單元全部課件
- 硬筆書法 社團(tuán)教案
- 中國膿毒癥及膿毒性休克急診治療指南
- 工序標(biāo)準(zhǔn)工時及產(chǎn)能計算表
評論
0/150
提交評論