




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據(jù)庫課程設計報告系 (院): 計算機科學學院 專業(yè)班級: 計科11203 姓 名: xx 學 號: jjjj 指導教師: kkk 設計時間: 2015.1.10- 2015.1.17 設計地點: 12教機房 一、課程設計目的.3二、設計任務及要求3三、需求分析3四、總體設計3五、詳細設計與實現(xiàn)含代碼和實現(xiàn)界面8六.課程設計小結.一課程設計目的應用對數(shù)據(jù)庫系統(tǒng)原理的理論學習,通過上機實踐的方式將理論知識與實踐 更好的結合起來,鞏固所學知識。 數(shù)據(jù)庫應用 課程實踐:實踐和鞏固在課堂教學中學習有關知識,熟練掌握對于給定結構的數(shù)據(jù)庫的創(chuàng)建、基本操作、程序系統(tǒng)的建立和調試以及系統(tǒng)評價。 數(shù)據(jù)庫原理 軟
2、件設計實踐:實踐和鞏固在課堂教學中學習的關于關系數(shù)據(jù)庫原理的有關知識和數(shù)據(jù)庫系統(tǒng)的建立方法,熟練掌握對于給定實際問題,為了建立一個關系數(shù)據(jù)庫信息管理系統(tǒng),必須得經(jīng)過系統(tǒng)調研、需求分析、概念設計、 邏輯設計、物理設計、系統(tǒng)調試、維護以及系統(tǒng)評價的一般過程,為畢業(yè)設計打 下基礎。二設計任務及要求(1) 先修課程:數(shù)據(jù)庫原理及應用,面向對象程序設計C#、ASP.NET或JAVA等。(2) 課程設計題目:教學管理系統(tǒng)若自選題目,則需在課程設計第一天上報題目名稱,以及開發(fā)工具和數(shù)據(jù)庫。(3) 時間:1周,在數(shù)據(jù)庫原理及應用課程結束后進行,建議提前58周開始準備。(4) 開發(fā)工具和環(huán)境開發(fā)工具:VC、VB
3、、C#、ASP.Net、Java、Delphi等任選。數(shù) 據(jù) 庫: SQL Server、Oracle、DB2、Sybase等任選。應用程序:Windows界面程序(C/S),或Web界面程序(B/S)。(5) 設計報告正文字數(shù)不少于5千字,報告附錄應包括主要源代碼。要求層次清楚、整潔規(guī)范,不得相互抄襲,凡正文內容有整段相同者一律以作弊論處。明確課程設計的目的和重要性,認真領會課程設計的題目,讀懂課程設計指導書的要求,學會設計的基本方法與步驟,積極認真地做好準備工作。課程設計中,學會應用理論知識,收集、歸納相關資料,以及解決實際問題的方法。嚴格要求自己,自信但不固執(zhí),獨立完成課程設計任務,善于
4、接受教師的指導和聽取同學的意見,有意識地樹立嚴謹?shù)目茖W作風,要獨立思考,刻苦鉆研,勇于創(chuàng)新,按時完成課程設計任務。三需求分析 通過對教學管理的日常工作進行詳細的調查和分析,確定“教學管理系統(tǒng)”實現(xiàn)的功能,通過該系統(tǒng),學校不同角色的用戶可以通過網(wǎng)絡完成教學管理功能:1管理員通過該系統(tǒng)實現(xiàn)對學生、教師、課程的添加和維護及學生成績的維護;2教師通過該系統(tǒng)實現(xiàn)查看個人任課情況,課程選修和課程成績錄入;3.學生通過該系統(tǒng)實現(xiàn)選課和個人成績查詢等功能;還有公有:修改個人密碼功能。四總體設計通過需求分析階段的分析結果,本系統(tǒng)所要設計的實體和設計如下:學生(學號,密碼,姓名,序號,班級,性別,手機號,QQ,生
5、日)教師(教師號,密碼,姓名,性別,院系)課程(課程號,課程名,學分,課時,教師號)選課(學生號,課程號,成績)管理號(管理員賬戶,密碼)系統(tǒng)的E-R圖如圖所示:教學選課教師課程學生MNM1成績1.數(shù)據(jù)庫的設計(1)則根據(jù)各實體在SQL數(shù)據(jù)庫上面設計5個表分別為學生表,教師表,課程表,選課表,管理員表,其結構分別如下:(2)根據(jù)教學管理系統(tǒng)的數(shù)據(jù)操作需要,為各個表設計索引文件,每個表已經(jīng)按主碼自動創(chuàng)建了一個聚集索引,其中索引如下:1按學生表的“姓名”列升序創(chuàng)建一個非聚集索引。2按學生表的“年級”列升序,”專業(yè)”列升序創(chuàng)建個非聚集索引。3按課程表的“課程名”列升序創(chuàng)建一個非聚集索引。4按課程表的
6、“教師號”列升序創(chuàng)建一個非聚集索引。5按教師 表的“姓名”列升序創(chuàng)建一個非聚集索引。6按教師表的“院系”列升序創(chuàng)建一個非聚集索引。(3)設計視圖視圖1:用于管理員查詢每門可得選修人數(shù)CERATE VIEW 選課人數(shù)ASSELECT 課程.課程號, 課程.課程名, 課程.教師號, 教師.姓名, 教師.院系, COUNT(選課.課程號) AS 選課人數(shù)FROM 選課 RIGHT OUTER JOIN 課程 ON 選課.課程號 = 課程.課程號 FULL OUTER JOIN 教師 ON課程.教師號 = .教師.教師號GROUP BY 課程.課程號,課程.課程名,課程.教師號,.教師.姓名,教師.院
7、系視圖2:用于管理員查詢平均成績CERATE VIEW 平均成績ASSELECT 課程.課程號,.課程.課程名,課程.教師號,教師.姓名,教師.院系, AVG(選課.成績) AS 平均成績FROM 選課 RIGHT OUTER JOIN 課程 ON選課.課程號 =課程.課程號 FULL OUTER JOIN 教師 ON課程.教師號 =教師.教師號GROUP BY課程.課程號,課程.課程名,課程.教師號,教師.姓名,教師.院系(4)存儲過程用于實現(xiàn)教師查詢學生選課情況CREATE PROCEDURE teacherQElect cno char(4)ASif(SELECT COUNT(*) FR
8、OM 學生,選課 where 學生.學號=選課.學號 and 課程號 = cno) 0 select 學生.學號,姓名,班級 from 學生,選課 where 學生.學號=選課.學號 and 課程號=cno order by 班級 else select 0 as 選課人數(shù) return(5)函數(shù) stuscore用于實現(xiàn)學生查詢考試成績CRESTE FUNCTION stuscor (sno varchar(9) )RETURNS TABLEASRETURN select 選課.課程號,課程名,成績 from 選課,課程where 課程.課程號 =選課.課程號 and 學號=sno2.管理系
9、統(tǒng)設計 根據(jù)需求分析階段的系統(tǒng)功能,將“教學管理系統(tǒng)”分成4個模塊,包括管理員管理模塊,教師管理模塊,學生管理模塊和公共模塊(登錄用戶),如圖所示:教學管理系統(tǒng)修改個人密碼查詢個人成績學生選修課程學生用戶登錄錄入課程成績查詢任課信息查詢選修情況教師查詢每門課平均成均成績查詢每門課選修人數(shù)維護學生教師課程信息添加學生教師課程信息管理員根據(jù)上面4個模板,準備設計一下頁面:(1) 登錄頁面:Login.aspx(2) 管理員主頁面:Main.aspx(3) 添加學生頁面:adminStudentAdd.aspx(4) 學生信息維護頁面:adminStudentDetails.aspx(5) 添加課程
10、頁面:adminCourseAdd.aspx(6) 課程信息維護頁面:adminCourseDetails.aspx(7) 添加教師頁面:adminTeacehrAdd.aspx(8) 教師信息維護頁面:adminTeacherDetails.aspx(9) 成績維護頁面:adminStudentScore.aspx(10) 查詢每門課選修人數(shù)頁面:adminSearchNumber.aspx(11) 查詢每門課平均成績頁面:adminSearchScore.aspx(12) 教師查詢任課信息頁面:teacherCourseDetails.aspx(13) 教師查詢選課情況頁面:teacher
11、QueryElect.aspx(14) 教師錄入成績頁面:teacherSubmitScore.aspx(15) 學生選修課程頁面:studentElect.aspx(16) 個人成績查詢頁面:studentQueryScore.aspx(17) 修改個人密碼頁面;ModifyPwd.aspx五詳細設計與實現(xiàn) 設計之前所用的控件及使用方法1.Label,Tebox,Button2.GridView使用(RadioButtonlist,DropDownlist使用也是綁定數(shù)據(jù)或自己添加,然后改寫Text,Value)(1)配置數(shù)據(jù)源可以直接將數(shù)據(jù)庫里的數(shù)據(jù)導入,通過高級設置返回后可以在GridV
12、iew屬性里中啟用編輯,刪除的選項功能(2)添加列及編輯模板的使用通過ButtonField可以使用相當于Button控件(需編寫代碼)的功能通過添加TemplateField屬性列可以在編輯模板中在該列里加入TextBox控件通過Eval(“屬性名”)可以將選中的數(shù)據(jù)倒數(shù)TextBox控件中進行修改(一般情況GridView顯示的數(shù)據(jù)不能更改)選中ItemTemplate1.設計登陸界面設計登錄頁面:后臺功能代碼:protected void Button1_Click(object sender, EventArgs e) string userName = txtUserName.Tex
13、t.Trim(); string userPwd = txtPwd.Text.Trim(); string userRole = rb1Class.SelectedValue.Trim(); string selectStr = ; switch (userRole ) case 0: selectStr = Select * from 教師 where 教師號= + userName + ; break ; case 1: selectStr = Select * from 學生 where 學號= + userName + ; break; case 2: selectStr = Sele
14、ct * from 管理員 where 管理員賬號= + userName + ; break; SqlConnection con = new SqlConnection(server=.;database=Teaching-manage;Trusted_Connection=True); SqlCommand cmd = new SqlCommand(selectStr, con); con.Open(); SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.Read() if (sdr.GetString(1) = userPwd) Sess
15、ionuserName = userName; SessionuserRole = userRole; con.Close(); switch (userRole ) case0: Response.Redirect(teacherCourseDetails.aspx); break; case 1: Response.Redirect(StudentQueryScore.aspx); break; case 2: Response.Redirect(Main.aspx); break; else lblMessage.Text = 您輸入的密碼錯誤,請檢查后重新輸入!; else lblMe
16、ssage.Text = 該用戶不存在或用戶名輸入錯誤,請檢查后重新輸入!; con.Close(); protected void Button2_Click(object sender, EventArgs e) Response.Write(window.close(); 2.管理員主頁面protected void Page_Load(object sender, EventArgs e) if(!this.IsPostBack) Label.Text = 歡迎管理員 + SessionuserName.ToString() + 進入本系統(tǒng); /添加學生 protected void
17、Button1_Click(object sender, EventArgs e) Response.Redirect(adminStudentAdd.aspx); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(adminTeacherAdd.aspx); protected void Button3_Click(object sender, EventArgs e) Response.Redirect(adminCourseAdd.aspx); protected void Button4
18、_Click(object sender, EventArgs e) Response.Redirect(adminStudentDetails.aspx); protected void Button5_Click(object sender, EventArgs e) Response.Redirect(adminTeacherDetails.aspx); protected void Button6_Click(object sender, EventArgs e) Response.Redirect(adminCourseDetails.aspx); protected void Bu
19、tton7_Click(object sender, EventArgs e) Response.Redirect(adminStudentScore.aspx); protected void Button8_Click(object sender, EventArgs e) Response.Redirect(adminSearchNumber.aspx); protected void Button9_Click(object sender, EventArgs e) Response.Redirect(adminSearchScore.aspx); protected void But
20、ton10_Click(object sender, EventArgs e) Response.Write(window.close(); protected void Button11_Click(object sender, EventArgs e) Response.Redirect(ModifyPwd.aspx); 3.添加學生頁面protected void Page_Load(object sender, EventArgs e) if(string)SessionuserRole!=2) Response.Redirect(Login.aspx); protected void
21、 Button2_Click(object sender, EventArgs e) SqlConnection con = new SqlConnection(server=.;database=Teaching-manage;Trusted_Connection=True); string insql = insert into 學生(學號,密碼,姓名,性別,班級)values( + txtID.Text + , + txtID.Text + , + txtName.Text + , + RadSex.Text + , + int.Parse(ddlGrade.SelectedValue)
22、 + ); SqlCommand insertCmd = new SqlCommand(insql, con); con.Open(); int flag = insertCmd.ExecuteNonQuery(); if (flag 0) lblMessage.Text = 成功添加學生信息!; else lblMessage.Text = 添加信息失敗,查看輸入是否正確!; con.Close(); protected void Button1_Click(object sender, EventArgs e) txtID.Text = ; txtName.Text = ; protect
23、ed void Button3_Click(object sender, EventArgs e) Response.Redirect(Main.aspx); 4.添加教師public partial class adminTeacherAdd : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (string)SessionuserRole != 2) Response.Redirect(Login.aspx); protected void Button1_Click1(object se
24、nder, EventArgs e) SqlConnection con = new SqlConnection(server=.;database=Teaching-manage;Trusted_Connection=True); string insql = insert into 教師(教師號,密碼,姓名,性別,院系)values( + txtID.Text + , + txtID.Text + , + txtName.Text + , + RadSex.Text + , + ddlDepart.SelectedValue + ); SqlCommand insertCmd = new
25、SqlCommand(insql, con); con.Open(); int flag = insertCmd.ExecuteNonQuery(); if (flag 0) lblMessage.Text = 成功添加教師信息!; else lblMessage.Text = 添加信息失敗,查看輸入是否正確!; con.Close(); protected void Button2_Click1(object sender, EventArgs e) txtID.Text = ; txtName.Text = ; protected void Button3_Click(object sen
26、der, EventArgs e) Response.Redirect(Main.aspx); 5添加課程頁面public partial class adminCourseAdd : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (string)SessionuserRole != 2) Response.Redirect(Login.aspx); protected void Button1_Click1(object sender, EventArgs e) SqlConnection
27、 con = new SqlConnection(server=.;database=Teaching-manage;Trusted_Connection=True); string insql = insert into 課程(課程號,課程名,學分,課時,教師號)values( + txtID.Text + , + txtName.Text + , + txtXuefen.Text + , + txtKeshi.Text + , + DDLteacher.SelectedValue + ); SqlCommand insertCmd = new SqlCommand(insql, con);
28、 con.Open(); int flag = insertCmd.ExecuteNonQuery(); if (flag 0) lblMessage.Text = 成功添加課程信息!; else lblMessage.Text = 添加課程信息失敗,查看輸入是否正確!; con.Close(); protected void Button2_Click1(object sender, EventArgs e) txtID.Text = ; txtName.Text = ; txtXuefen.Text = ; txtKeshi.Text = ; protected void Button3_
29、Click(object sender, EventArgs e) Response.Redirect(Main.aspx); 6.學生信息維護頁面學生信息維護頁面只有管理員用戶進入,管理員用戶在此可以完成學生信息的維護,包括學生信息的修改和刪除。(使用Gridview的頁面操作與下基本相同) 學生信息維護頁面可以直接使用Gridview控件的自帶功能來實現(xiàn)修改和刪除,首先添加一個GridView控件,然后為其添加數(shù)據(jù)源為” 學生”表,并可以按照相應條件進行查詢:public partial class adminStudentDetails : System.Web.UI.Page prot
30、ected void Page_Load(object sender, EventArgs e) protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) Response.Redirect(Main.aspx); 7.教師信息維護頁面protected void Page_Load(object sender, EventArgs e) if (string)SessionuserRole
31、!= 2) Response.Redirect(Login.aspx); protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) Response.Redirect(Main.aspx); 8.課程信息維護頁面protected void Page_Load(object sender, EventArgs e) if (string)SessionuserRole != 2) Respon
32、se.Redirect(Login.aspx); protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) Response.Redirect(Main.aspx); 9.學生成績維護頁面protected void Page_Load(object sender, EventArgs e) if (string)SessionuserRole != 2) Response.Redirect(
33、Login.aspx); protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) Response.Redirect(Main.aspx); 10查詢每門課的選修人數(shù)頁面protected void Page_Load(object sender, EventArgs e) if (string)SessionuserRole != 2) Response.Redirect(Login.as
34、px); protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) Response.Redirect(Main.aspx); 11.查詢平均成績頁面protected void Page_Load(object sender, EventArgs e) if (string)SessionuserRole != 2) Response.Redirect(Login.aspx); protec
35、ted void GridView1_SelectedIndexChanged(object sender, EventArgs e) protected void Button1_Click(object sender, EventArgs e) Response.Redirect(Main.aspx); 12教師查詢任課信息protected void Page_Load(object sender, EventArgs e) if (string)SessionuserRole != 0) Response.Redirect(Login.aspx); string tn = (strin
36、g)SessionuserName; /教師用戶名 SqlConnection connectionObj = new SqlConnection(server=.;database=Teaching-manage;Trusted_Connection=True);/練接數(shù)據(jù)庫 SqlCommand cmd = connectionObj.CreateCommand(); /選中該教師的所有課程 cmd.CommandText = select * from 課程 where 教師號 = + tn + ; connectionObj.Open(); SqlDataReader dr = cmd
37、.ExecuteReader(); /執(zhí)行查詢 GridView1.DataSource = dr; / GridView1.DataBind(); dr.Close(); SqlCommand cmd1 = connectionObj.CreateCommand(); /選中教師的姓名 cmd1.CommandText = select 姓名 from 教師 where 教師號= + tn + ; SqlDataReader dr1 = cmd1.ExecuteReader(); dr1.Read(); label1.Text = (string)dr10 + 老師的任課情況:; /老師的任
38、課情況 Sessionteacher = (string)dr10; connectionObj.Close(); protected void Button1_Click(object sender, EventArgs e) Response.Redirect(teacherQueryElect.aspx); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(teacherSubmitScore.aspx); protected void Button3_Click(object sende
39、r, EventArgs e) Response.Redirect(ModifyPwd.aspx); 13教師查詢選課情況頁面protected void Page_Load(object sender, EventArgs e) if (string)SessionuserRole != 0) Response.Redirect(Login.aspx); if (!this.IsPostBack) Label1.Text = 請 + (string)Sessionteacher + 老師選擇要查詢的課程; BindDDL(); BindGridView(); private void Bin
40、dDDL() /教師的課程號,名 string selectStr = select distinct 課程.課程號,課程.課程名 from 課程 where 教師號= + (string)SessionuserName + ; SqlConnection connectionObj = new SqlConnection(server=.;database=Teaching-manage;Trusted_Connection=True); DataSet ds = new DataSet(); connectionObj.Open(); SqlDataAdapter da = new Sql
41、DataAdapter(selectStr, connectionObj); da.Fill(ds); connectionObj.Close(); ddlCourse.DataSource = ds.Tables0.DefaultView; /該老師第一個課的屬性 ddlCourse.DataTextField = 課程名; ddlCourse.DataValueField = 課程號; ddlCourse.DataBind(); private void BindGridView() SqlConnection connectionObj = new SqlConnection(serve
42、r=.;database=Teaching-manage;Trusted_Connection=True); SqlCommand cmd = new SqlCommand(teacherQElect, connectionObj); cmd.CommandType = CommandType.StoredProcedure; /存儲過程 cmd.Parameters.Add(cno, SqlDbType.Char, 4); cmd.Parameterscno.Value = ddlCourse.SelectedValue.ToString(); /選課號 connectionObj.Open
43、(); SqlDataReader dr = cmd.ExecuteReader(); GridView1.DataSource = dr; /讀取數(shù)據(jù) GridView1.DataBind(); connectionObj.Close(); protected void ddlCourse_SelectedIndexChanged(object sender, EventArgs e) BindGridView(); protected void Button1_Click(object sender, EventArgs e) Response.Redirect(teacherCourse
44、Details); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(teacherSubmitScore.aspx); protected void Button3_Click(object sender, EventArgs e) Response.Redirect(ModifyPwd.aspx); protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) Response.Redirect(ModifyPwd.aspx); 14.教師錄入成績protected void Page_Load(object sender, EventArgs e) if (string)SessionuserRole != 0) Response.Redirect(Login.aspx); if (!this.IsPostBack) Label1.Text = 請 + (string
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 六年級家庭講座活動方案
- 蘭州社區(qū)送溫暖活動方案
- 共享中心活動方案
- 共享植樹活動方案
- 共享面膜活動方案
- 共讀教學名著活動方案
- 共青團家風建設活動方案
- 關于中秋大學生活動方案
- 煙草崗位考試試題及答案
- 面試題目及答案高三
- 海南省瓊海市2023-2024學年七年級下學期期末考試歷史試卷(含答案)
- 兒童樂園用工合同范本
- 小兒燙傷個案護理
- 山東省肥城市2025年化學高二下期末監(jiān)測試題含解析
- (重慶康德三診)2025年重慶市高三第三次聯(lián)合診斷檢測政治試卷(含答案解析)
- (人教版)2025年中考化學真題試題(含解析)
- 醫(yī)保政策考試題庫及答案解析2025年(信息化應用篇)
- 檢驗科生物安全知識
- 滬教版五年級英語下冊期末復習總結
- 半波整流電路周彩霞課件
- 2025人工智能面向機器學習的數(shù)據(jù)標注規(guī)程
評論
0/150
提交評論