下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 PAGE14 / NUMPAGES15 某科技學院課 程 設 計課程名稱數據庫原理題目名稱教學管理系統(tǒng)學生學院電子信息工程學院專業(yè)班級軟件工程122學 號1120290062學生某陸昌柱指導教師王老師 2015年6月26日目錄需求分析2 1.1數據流圖2 1.2數據字典3 1.3安全性和完整性要求4概念結構設計4 2.1 ER圖4邏輯結構設計5 3.1關系模型5 3.2關系模型的設計5 3.3用戶子模式5 3.4系統(tǒng)結構圖63.5安全性6數據庫物理設計64.1建立索引64.2數據庫存放位置64.3系統(tǒng)配置74.4模塊設計7數據庫實施75.1創(chuàng)建數據庫及數據對象(括號中為對應的SQL腳本文件)
2、75.2數據備份和恢復方案75.3用戶界面的設計和實現及相關應用程序編碼7 教學管理系統(tǒng)1 引言 1.1 編寫目的隨著知識經濟,科技的不斷發(fā)展以及科技在各領域的不斷深入,越來越多的行業(yè)和領域步入信息的智能化階段。信息自動化處理也是提高效益,規(guī)X管理,迅速客觀審查的有效途徑。管理系統(tǒng)在當今教育領域是一個不可缺少的工具軟件。然而,一個好的高質量的軟件少只有少,并為根本實現智能化,也不利于科學的管理和審查。因此,在本軟件中心準備開發(fā)一個功能完善的成績管理系統(tǒng)。2 定義1 系統(tǒng)名稱:教師查詢管理系統(tǒng)2 數據庫管理軟件:navicat for MySQL3 數據庫設計人員:陸昌柱。4 數據庫設計采用軟件
3、:Microsoft Office Visio 2003需求分析2.1數據流圖學生或管理員等教學管理系統(tǒng)管理員增刪改信息取得信息取得信息選課教師取得信息管理成績說明:1、用戶請求包括:(1) 學生基本信息管理新生信息錄入。學生信息修改:按學號查詢出某學生的信息并做信息修改。(2) 系基本信息管理:系的基本信息輸入、修改、刪除(3) 課程信息管理:課程信息的輸入、修改、刪除(4) 教職工信息管理:教職工信息的輸入、修改、刪除(5) 選課管理: 每學期所選課程的學分不能超過15分。學生可以同時選修一門或多門課程。 可以同時為多個學生選修某一門或某幾門課程。刪除和修改選課信息。(6) 成績管理按課程
4、輸入和修改成績。按學生輸入和修改成績。(7) 信息查詢按學號、某、系號查詢學生基本信息。按職工號、某、系號查詢教職工基本信息。按系號、系名稱查詢系的基本信息。按課程號、課程名稱、上課教師某查詢課程基本信息。按學號、學生某、課程號、課程名稱、上課教師某、系號查詢學生成績,內容包括課程基本情況。若查詢涉及多門課程,則按課程分組。每門課程按總評成績從高分到低分給出選修該門課程的所有學生的成績(平時成績、考試成績和總評成績)。(8) 統(tǒng)計報表成績登記表,內容包括課程基本信息(課程號、課程名稱、任課教師號、學時、學分、上課時間、上課地點、考試時間)、選課學生(學號、某、性別),每個學生的平時成績(空格)
5、、考試成績(空格)和總評成績(空格),按學號排序:順序輸出所有課程的成績登記表。按課程號、課程名稱、教師某輸出對應課程的成績登記表。2、以上的用戶請求經應用程序的轉化,化為對數據庫中的相應的表或視圖的操作,數據庫再把處理的結果(或都是錯誤信息)返回結應用程序。3、應用程序把結果返回給用戶,該結果可能為一個對表操作的結果(如插入,刪除等),也可能為一個查詢的結果,甚至可能為一個錯誤的信息。2.2數據字典根據題目的需求,教學系統(tǒng)主要是對學生,教職工,學院,課程,成績等的管理。由此分析得到如下數據結構:數據庫的表結構的設計,數據項如下,表名分別為:users, score, department,
6、student, teach_job, course:2.3安全性和完整性要求安全性和完整性要求:通過設置外鍵,建立它們之間的關系,并使它們級聯更新相關的字段,級聯刪除相關的記錄。對于構成了環(huán)的級聯更新或刪除,而不能建立級聯更新或刪除的,通過建立觸發(fā)器,使得它們保持數據的完整性。通過不同權限的人登錄而設置其對數據的增刪改的權限增強數據的安全性。本系統(tǒng)的外鍵設置和級聯操作有:外鍵:stuent表的depth_id。course表的t_id。score表的stu_id和c_id等。由于score表的兩個鍵若都級聯操作會構成環(huán),所以級聯不成功。所以在這里建立兩個觸發(fā)器取代級聯操作,從而實現數據庫的完
7、整性。概念結構設計ER圖系系號系名稱系的簡介屬于1m教 師職工號某性別生日系號職稱方向擁 有1學 生m學號某性別出生年月入學成績系號講 授mn課程課程號課程名職工號學時學分上課時間上課地點考試時間選修mn成績p學號課程號成績ER圖邏輯結構設計關系模型關系模型的設計學生(學號、某、性別、出生日期、入學成績、所在系號、密碼)教師(職工號、某、性別、出生年月、所在系號、職稱、專業(yè)及教學方向)系(系號、系名稱、系的簡介)課程(課程號、課程名稱、任課教師號、學時、學分、上課時間、上課地點、考試時間)成績(學號、課程號、平時成績、考試成績、總評成績)擁有(學號、系號)屬于(職工號、系號)講授(職工號、課程
8、號、上課時間)選修(學號、課程號、上課時間)用戶子模式成績視圖(學號、學生某、教師號、教師某、課程號、上課時間、課程名、 平時成績、考試成績、總評成績、)選課視圖(學號、課程號、上課時間、平時成績、考試成績、總評成績、課程名、學時、學分)統(tǒng)計視圖(課程號、上課時間、課程名稱、任課教師號、學時、學分、上課地點、考試時間、學號、學生某、學生性別、平時成績、考試成績、總評成績)歷史表學生表系表課程表教師表成績表學生號學生號教師號系 號課程號學生號上課時間課程號上課時間選課視圖成績視圖統(tǒng)計視圖安全性安全性的實現主要是通過應用程序來實現,在程序中設定一個檢查用戶名和密碼的機構,用戶要進入系統(tǒng)就先要輸入授
9、權了的用戶名和密碼方能進入。數據庫物理設計建立索引為各個表的主碼建立索引。學生(學號)教師(職工號)系(系號)課程(課程號、上課時間)成績(學號、課程號)數據庫存放位置數據的存儲和數據處理在綜合考慮存取時間,存儲空間的利用率,維護的代價3個方面的因素,進行權衡,選擇折中的方案。將易變部分與穩(wěn)定部分、經常存取部分和存取頻率較低部分分開存放。系統(tǒng)配置Windows XPMicorSoft SQL Server 2000 (必需升級到SP3)Eclipse開發(fā)環(huán)境數據庫實施創(chuàng)建數據庫及數據對象(括號中為對應的SQL腳本文件)創(chuàng)建數據庫的對象: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);數據備份和恢
13、復方案事務故障的恢復是由系統(tǒng)自動完成的,對用戶透明。系統(tǒng)故障的恢復由系統(tǒng)重新啟動時自動完成,不需要用戶干預。介質故障的恢復則由人干預完成,方法為重裝數據庫,然后重做已完成的事務。1、數據庫備份方案:每月進行一次數據庫的完整備份,包括所有的數據及數據庫對象。速度較慢,占用大量磁盤空間。應該在整個數據庫不進行其他事務操作的時候備份可以提高數據備份的速度。每天進行事務日志備份,事務日志備份是指對數據庫發(fā)生的事務進行備份,包括上次進行事務日志備份,差異備份和數據庫完全備份之后所有已經完成的事務。所需的時間和磁盤空間要求較少每小時進行差異備份,是備份一次數據備份以來的數據變化。恢復解決方案:先恢復最近一
14、次的數據庫備份,接著進行差異備份的恢復,最后進行事務日志血仇的恢復。用戶界面的設計和實現及相關應用程序編碼本系統(tǒng)的程序代碼結構如下圖所示:主要是四個包:1其中中frame包中包含一個layout包。frame包主要是視圖層的代碼,主界面,登錄界面,各種操作的界面都在其中。此外包含一個包layout,在其中有一個類,用于網格組布局的封裝了網格組布局的一些代碼。在MyAction中封裝的是主窗口里面的所有菜單事件。2在model包中主要處理的是模型層,對數據的操作封裝其中。3query一個類包含了對學生信息的查詢。4此外在util中包含的是對數據庫的所有操作。其中有對數據庫的更改,把數據庫的數據和
15、表格模型相關聯起來的等操作。主界面如下所示:5關鍵代碼如下:由于代碼太多,以下只寫出很少的一部分代碼1對數據庫的操作: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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度家政服務銷售返利合同范本
- 2025石材原料供應與建筑安裝施工合同規(guī)范3篇
- 二零二五版建筑工程施工合同工程量追加補充協(xié)議3篇
- 二零二五年度綠色環(huán)保個人短期借款合同樣本2篇
- 2025版特種消防設備定期維護與保養(yǎng)合同協(xié)議范本
- 二零二五年度行政事業(yè)合同檔案數字化轉換合同3篇
- 鐵路路基排水首件施工方案
- 路基注漿加固專項施工方案
- 二零二五版水車租賃及水利設施維護合同3篇
- 二零二五版石料礦山安全合作協(xié)議:安全生產與事故應急預案3篇
- 婚介公司紅娘管理制度
- 煤礦電氣試驗規(guī)程
- DL∕T 547-2020 電力系統(tǒng)光纖通信運行管理規(guī)程
- 種子輪投資協(xié)議
- 物業(yè)客服培訓課件PPT模板
- 員工工資條模板
- 執(zhí)行依據主文范文(通用4篇)
- 浙教版七年級數學下冊全冊課件
- 華為攜手深圳國際會展中心創(chuàng)建世界一流展館
- 2023版思想道德與法治專題2 領悟人生真諦 把握人生方向 第3講 創(chuàng)造有意義的人生
- 全過程工程咨詢服務技術方案
評論
0/150
提交評論