版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、教師信息管理系統(tǒng) 題目名稱 專業(yè)班級 學(xué) 號 學(xué)生姓名 指導(dǎo)教師 2016 年 3 月 26 日一、實驗環(huán)境硬件環(huán)境:處理器: Intel(R) Core(TM) i5-3230M CPU 2.60FHz 2.60GHz已安裝的內(nèi)存(RMA): 4.00GB軟件環(huán)境 操作系統(tǒng): Windows 10數(shù)據(jù)庫管理系統(tǒng): SQL Server 2008開發(fā)工具: Eclipse二、需求分析信息需求教師信息(職工號,教師姓名,年齡,性別)課程信息(課程號,課程名,學(xué)分)課程評價信息(職工號,課程號,等級)獎金信息(序號,等級,獎金)用戶信息(登錄名,密碼,用戶組)功能需求1. 教師用戶: (
2、1)對教師信息、課程信息、課程評價、獎金信息的查詢。2. 管理員 (1)對教師信息、課程信息、課程評價的查詢,修改,增加,刪除; (2)對教師的獎金等信息的查詢,修改。安全性與完整性需求1. 不同的身份有不同的功能權(quán)限。2.實體完整性:通過設(shè)置主鍵都已實現(xiàn)。數(shù)據(jù)字典該軟件的數(shù)據(jù)庫由下述信息組成:1. 教師信息字段字段名類型寬度說明1職工號 Int型2教師姓名 字符型103年齡 Int型大于等于18且小于等于654性別 字符型2男或女2.課程信息字段字段名類型寬度說明1課程號 Int型2課程名 字符型163學(xué)分 Int型3. 課程評價信息字段字段名類型寬度說明1職工號 Int型2課程號 Int型
3、3等級 字符型2優(yōu),良,中,差4. 獎金信息字段字段名類型寬度說明1序號 Int型2等級 字符型2優(yōu),良,中,差3獎金 Int型5. 用戶信息字段字段名類型寬度說明1登錄名 字符型82密碼 Int型3用戶組 字符型6三、概念結(jié)構(gòu)設(shè)計1. 教師信息實體2. 課程實體3. 課程評價實體4. 獎金實體5. 用戶實體概念模型:E-R圖四、邏輯結(jié)構(gòu)設(shè)計關(guān)系模型教師信息表(職工號,教師姓名,年齡,性別),其主碼為職工號。課程表(課程號,課程名,學(xué)分),其主碼為課程號。課程評價表(職工號,課程號,等級),其主碼為職工號與課程號。獎金表(序號,等級,獎金),其主碼為序號。用戶表(登錄名,密碼,用戶組),其主碼
4、為登錄名。用戶子模式應(yīng)用程序功能模塊圖安全性該系統(tǒng)的用戶只有兩種,一種是管理員,另一種是教師,管理員具有對數(shù)據(jù)庫操作的所有權(quán)限,教師只有對教師的信息、課程信息、課程評價、獎金信息的查詢權(quán)限。完整性實體完整性:通過設(shè)置主鍵都已實現(xiàn)。參照完整性:課程評價表中的職工號和課程號分別參照教師信息表中的職工號和課程表中的課程號。用戶自定義完整性:教師信息表中的年齡必須在18到60之間,性別必須為男、女,課程評價表和獎金表中的等級必須為優(yōu)、良、中、差。五、數(shù)據(jù)庫物理設(shè)計數(shù)據(jù)的存放位置說明D:Program Files Microsoft SQL Server MSSQL10_50.SQLEXPRESSMSS
5、QLDATA系統(tǒng)配置說明使用登錄名:sa 登陸密碼:123 登陸SQL Server 2008模塊設(shè)計(模塊IPO圖)六、數(shù)據(jù)庫實施1.創(chuàng)建教師信息表CREATE TABLE 教師信息表 (職工號 INT NOT NULL PRIMARY KEY, 教師姓名 CHAR(10), 年齡 INT CHECK(年齡>=18 AND 年齡<=60), 性別 CHAR(2) CHECK(性別 IN('男','女') )2. 創(chuàng)建課程表CREATE TABLE 課程表 (課程號 INT NOT NULL PRIMARY KEY, 課程名 CHAR(16), 學(xué)分
6、 INT )3. 創(chuàng)建課程評價表CREATE TABLE 課程評價表 (職工號 INT, 課程號 INT, 等級 CHAR(2) CHECK(等級 IN('優(yōu)','良','中','差'), PRIMARY KEY(職工號,課程號), FOREIGN KEY (職工號) REFERENCES 教師信息表(職工號), FOREIGN KEY (課程號) REFERENCES 課程表(課程號) )4. 創(chuàng)建獎金表CREATE TABLE 獎金表 (等級 CHAR(2) CHECK(等級 IN('優(yōu)','良'
7、;,'中','差') PRIMARY KEY, 獎金 INT )5. 創(chuàng)建用戶表CREATE TABLE 用戶表 (登錄名 CHAR(8) NOT NULL PRIMARY KEY, 密碼 INT, 用戶組 CHAR(6) )6. 各表元組INSERT INTO 教師信息表 VALUES(201501,'翁嘉民',20,'男')INSERT INTO 教師信息表 VALUES(201502,'陳天翔',19,'男')INSERT INTO 教師信息表 VALUES(201503,'周詩妍
8、39;,21,'女')INSERT INTO 教師信息表 VALUES(201504,'宋嘉瑩',20,'女')INSERT INTO 課程表 VALUES(100,'語文',5)INSERT INTO 課程表 VALUES(101,'數(shù)學(xué)',5)INSERT INTO 課程表 VALUES(102,'英語',4)INSERT INTO 課程表 VALUES(103,'物理',3)INSERT INTO 課程表 VALUES(104,'化學(xué)',3)INSERT INT
9、O 課程表 VALUES(105,'生物',3)INSERT INTO 課程表 VALUES(106,'地理',3)INSERT INTO 課程表 VALUES(107,'歷史',3)INSERT INTO 課程表 VALUES(108,'政治',3)INSERT INTO 課程評價表 VALUES(201501,100,'優(yōu)')INSERT INTO 課程評價表 VALUES(201501,107,'良')INSERT INTO 課程評價表 VALUES(201501,108,'優(yōu)'
10、;)INSERT INTO 課程評價表 VALUES(201502,101,'良')INSERT INTO 課程評價表 VALUES(201502,103,'良')INSERT INTO 課程評價表 VALUES(201502,106,'優(yōu)')INSERT INTO 課程評價表 VALUES(201503,102,'中')INSERT INTO 課程評價表 VALUES(201503,105,'良')INSERT INTO 課程評價表 VALUES(201503,107,'優(yōu)')INSERT INT
11、O 課程評價表 VALUES(201504,104,'良')INSERT INTO 課程評價表 VALUES(201504,105,'優(yōu)')INSERT INTO 課程評價表 VALUES(201504,106,'良')INSERT INTO 獎金表 VALUES('1','優(yōu)',8000)INSERT INTO 獎金表 VALUES('2','良',4000)INSERT INTO 獎金表 VALUES('3','中',2000)INSERT INT
12、O 獎金表 VALUES('4','差',0)INSERT INTO 用戶表 VALUES('admin',123,'管理員')INSERT INTO 用戶表 VALUES('admin2',456,'管理員')7、 數(shù)據(jù)庫運行和維護主要窗口截圖主要代碼1. 數(shù)據(jù)庫的連接Connection con=null;StringJ Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"/SQL數(shù)據(jù)庫引擎String connectDB
13、="jdbc:sqlserver:/127.0.0.1:1433;DatabaseName=Teacher"/數(shù)據(jù)源注意IP地址和端口號,數(shù)據(jù)庫名字 Teacher為數(shù)據(jù)庫名try Class.forName(JDriver);/加載數(shù)據(jù)庫引擎,返回給定字符串名的類catch(ClassNotFoundException e)/e.printStackTrace();System.out.println("加載數(shù)據(jù)庫引擎失敗");System.exit(0);tryString user="sa"/你自己創(chuàng)建的用戶名字和密碼Strin
14、g password="fuxiao456" con=DriverManager.getConnection(connectDB,user,password);/連接數(shù)據(jù)庫對象Statement stmt=con.createStatement();/創(chuàng)建SQL命令對象/關(guān)閉連接stmt.close();/關(guān)閉命令對象連接con.close();/關(guān)閉數(shù)據(jù)庫連接catch(SQLException e)e.printStackTrace();/System.out.println("數(shù)據(jù)庫連接錯誤");System.exit(0);2. 更新函數(shù)publ
15、ic static void function10(String id17,String id18,String id19,Connection con) int a = 0;try String sql = "update 課程評價表 set 等級=? where 職工號=? and 課程號=?"PreparedStatement stmta = con.prepareStatement(sql); /執(zhí)行SQL語句stmta.setString(1, id19); /用id27的字符串代替SQL語句中的第一個?stmta.setString(2, id17); /用id
16、27的字符串代替SQL語句中的第二個?stmta.setString(3, id18); /用id27的字符串代替SQL語句中的第三個?a=stmta.executeUpdate(); /將受影響的行數(shù)賦值給acatch (Exception e) if(a=1) System.out.println("修改成功"); /通過受影響的行數(shù)來判斷SQL語句是否執(zhí)行成功if(a=0) System.out.println("修改失敗");3. 增加函數(shù)public static void function11(String id20,String id21,
17、String id22,Connection con) int a = 0;try String sql = "insert into 課程評價表 values(?,?,?)"PreparedStatement stmta = con.prepareStatement(sql); /執(zhí)行SQL語句 stmta.setString(1, id20); /用id20的字符串代替SQL語句中的第一個?stmta.setString(2, id21); /用id21的字符串代替SQL語句中的第一個?stmta.setString(3, id22); /用id22的字符串代替SQL語
18、句中的第一個? a=stmta.executeUpdate(); /將受影響的行數(shù)賦值給acatch (Exception e) if(a=1) System.out.println("插入成功"); /通過受影響的行數(shù)來判斷SQL語句是否執(zhí)行成功if(a=0) System.out.println("插入失敗");4. 連接查詢public static void function15(String id27,Connection con) try String sql = "select 教師信息表.職工號,教師信息表.教師姓名,課程名,學(xué)
19、分,獎金表.等級,獎金 from 教師信息表,課程表,課程評價表,獎金表 where 教師信息表.職工號=課程評價表.職工號 and 課程表.課程號=課程評價表.課程號 and 課程評價表.等級=獎金表.等級 and 教師信息表.職工號=?"PreparedStatement stmta = con.prepareStatement(sql); /執(zhí)行SQL語句stmta.setString(1, id27); /用id27的字符串代替SQL語句中的第一個?ResultSet rs = stmta.executeQuery(); System.out.println("職工
20、號"+"t"+"教師姓名"+"t"+"課程名"+"t"+"學(xué)分"+"t"+"等級"+"t"+"獎金");while (rs.next() /輸出選擇結(jié)果System.out.println(rs.getString("職工號")+"t"+rs.getString("教師姓名")+"t"+rs.getStrin
21、g("課程名")+rs.getString("學(xué)分")+"t"+rs.getString("等級")+"t"+rs.getString("獎金");catch (Exception e) 5. 分組求和public static void function19(Connection con) try String sql = "select 教師信息表.職工號,教師信息表.教師姓名,sum(獎金) as 總獎金 from 教師信息表,課程評價表,獎金表 where 教師信息表.職工號=課程評價表.職工號 and 課程評價表.等級=獎金表.等級 group by 教師信息表.教師姓名,教師信息表.職工號"PreparedStatement stmta = con.pre
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人用車租賃簡易合同2024版
- 二零二五版數(shù)據(jù)中心機房租賃與云服務(wù)集成解決方案合同3篇
- 2025年新型飲品店經(jīng)營管理權(quán)及商標(biāo)使用許可合同3篇
- 二零二五年環(huán)境安全協(xié)議:榨菜生產(chǎn)環(huán)保安全合同2篇
- 二零二五版網(wǎng)絡(luò)安全風(fēng)險評估與技術(shù)解決方案合同990942篇
- 二零二五版二手房買賣合同及裝修驗收標(biāo)準(zhǔn)4篇
- 2025年度智能家電代購委托合同協(xié)議書4篇
- 二零二五年度金融機構(gòu)信用證保函擔(dān)保合同2篇
- 兩個人開店合同協(xié)議書范本模板 2篇
- 二零二五年度國際食品出口食品安全追溯合同4篇
- 【探跡科技】2024知識產(chǎn)權(quán)行業(yè)發(fā)展趨勢報告-從工業(yè)轟鳴到數(shù)智浪潮知識產(chǎn)權(quán)成為競爭市場的“矛與盾”
- 《中國政法大學(xué)》課件
- GB/T 35270-2024嬰幼兒背帶(袋)
- 2024-2025學(xué)年高二上學(xué)期期末數(shù)學(xué)試卷(新題型:19題)(基礎(chǔ)篇)(含答案)
- 海外市場開拓計劃
- 2024年度國家社會科學(xué)基金項目課題指南
- 七上-動點、動角問題12道好題-解析
- 2024年九省聯(lián)考新高考 數(shù)學(xué)試卷(含答案解析)
- 紅色歷史研學(xué)旅行課程設(shè)計
- 下運動神經(jīng)元損害綜合征疾病演示課件
- 2023中考地理真題(含解析)
評論
0/150
提交評論