




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上數據庫課程設計 題 目 某中學排課管理系統 專業班級 姓 名 學 號 完成日期 2014-11-24 目錄一、需求分析學生隸屬班級,班級按照課程表上課,課程由老師教授,這些都要有管理人員來管理。總結出如下需求信息:1) 一個班級有多個學生;2) 一個學生有多門課,一門課對應多個學生;3) 一個教師可以教授多門課,一門課可以由多個教師來教授;4) 一個班級對應一張班級課程表,一個教師也對應一張教師課程表;5) 一個教師可以教授多個班級;經過對上述系統功能的分析和需求總結,設計總結如下:1.1數據字典 1)學生信息表字段名稱數據類型默認值允許空主鍵studentIDint
2、是namechar(10)sexchar(2)是birthdaydatetime是classIDint是 2)班級信息表字段名稱數據類型默認值允許空主鍵classIDint是classnamechar(20) 3)教師信息表字段名稱數據類型默認值允許空主鍵teacherIDint是namechar(10)sexchar(2)是ageint是courseIDint是 4) 課程信息表字段名稱數據類型默認值允許空主鍵courseIDint是classnamechar(20)teacherIDint是 5)課程表信息表字段名稱數據類型默認值允許空主鍵星期char(20)是第一節char(20)是.第
3、八節char(20)是班級IDInt 6)用戶信息表字段名稱數據類型默認值允許空主鍵usersvarchar(50)是passwordvarchar(50)1.2全系統的數據項數據項:1) 學生信息:學生ID、姓名、性別、出生日期、所屬班級。2) 班級信息:班級ID、所屬年級。3) 教師信息:教師ID、姓名、性別、年齡。4) 課程信息:課程ID、課程名稱、教師ID。5) 課程表信息:星期、第一節、第二節、第三節、第四節、第五節、第六節、第七節、第八節、班級ID。1.3數據流圖排課系統用戶用戶信息錄入 排課系統 查詢查詢結果查詢結果有效信息信息文件二、概念結構設計2.1E-R圖學生1) 學生實體
4、E-R圖出生日期姓名學生ID班級ID性別2) 班級實體E-R圖班級班級ID班級名稱3) 教師實體E-R圖教師教師ID姓名性別 年齡課程ID4) 課程實體E-R圖教師ID課程課程ID課程名稱5) 課程表實體E-R圖班級ID 第一節第二節.課程表第八節6) 全局E-R圖被包含包含被教授教授課程表教師被學習學習包含屬于課程班級學生2.2系統說明書1) 系統要求某中學的排課管理系統l 實現班級、課程等基本信息的管理;l 實現學生、教師信息的管理;l 實現班級課程及課程的任課教師和排課管理;l 創建存儲過程檢測指定教師、指定節次是否有課;l 創建存儲過程生成指定班級的課程表;l 創建存儲過程生成指定老師
5、的課程表;l 建立數據庫相關表之間的參照完整性約束。2) 方案和概圖 a)設計方案學生注冊班級設置課程信息設置班級信息輸入排課信息錄入學生信息輸入課程信息輸入班級信息管理學生信息管理課程表信息管理課程信息管理教師注冊教師信息錄入教師信息管理b)系統概圖用戶登錄界面錯誤提示界面排課系統主界面教師信息主界面教師信息查詢報錯學生信息查詢主界面學生信息查詢報錯課程信息查詢主界面課程信息查詢班級信息查詢報錯 課表信息查詢 班級課程表教師課程表查詢學生課程表查詢三、邏輯結構設計3.1關系模型1)學生(學生ID,姓名,性別,出生日期,班級ID) 主鍵:學生ID 外鍵:班級ID2)班級(班級ID,班級名稱)
6、主鍵:班級ID 3)教師(教師ID,姓名,性別,年齡,) 主鍵:教師ID 4)課程(課程ID,課程名稱,教師ID) 主鍵:課程名稱 外鍵:教師ID 5)課程表1(星期,第一節,第二節,第三節,第四節,第五節,第六節,第七節,第八節) 主鍵:星期 外鍵:第一節,第二節,第三節,第四節,第五節,第六節,第七節,第八節 6)課程表2(星期,第一節,第二節,第三節,第四節,第五節,第六節,第七節,第八節,課程名稱) 主鍵:星期 外鍵:第一節,第二節,第三節,第四節,第五節,第六節,第七節,第八節3.2參照完整性約束條件學生班級 學生.班級ID=班級.班級ID教師課程 教師.課程ID=課程.課程ID課程
7、表班級 課程表.班級ID=班級.班級ID課程表教師 課程表.教師ID=教師.教師ID3.3系統結構圖排課管理系統教師信息管理學生信息管理課程信息管理班級信息管理系統用戶管理課程表管理教室課程表管理班級課程表管理用戶管理密碼管理班級信息修改班級信息查詢班級信息添加課程信息修改課程信息查詢課程信息添加學生信息查詢教師信息添加學生信息添加學生信息修改教師信息修改教師信息查詢教師課程修改教師課程添加教師課程查詢班級課程修改班級課程查詢班級課程添加四、數據庫實施4.1關系模式1) class表CREATE TABLE dbo.class(classID int NOT NULL,classname nc
8、har(20) NOT NULL, CONSTRAINT PK_class PRIMARY KEY CLUSTERED (classID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY2) course表CREATE TABLE dbo.course(courseID int NOT NULL,coursename nchar(20) NOT NULL
9、,teacherID int NULL, CONSTRAINT PK_course PRIMARY KEY CLUSTERED (coursename ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYALTER TABLE dbo.course WITH CHECK ADD CONSTRAINT FK_course_teacher1 FOREIGN KE
10、Y(teacherID)REFERENCES dbo.teacher (teacherID)ALTER TABLE dbo.course CHECK CONSTRAINT FK_course_teacher13) student表CREATE TABLE dbo.student(studentID int NOT NULL,name nchar(10) NOT NULL,sex nchar(2) NULL,birthday datetime NULL,classID int NULL, CONSTRAINT PK_student PRIMARY KEY CLUSTERED (studentID
11、 ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYALTER TABLE dbo.student WITH CHECK ADD CONSTRAINT FK_student_class FOREIGN KEY(classID)REFERENCES dbo.class (classID)ALTER TABLE dbo.student CHECK CONSTR
12、AINT FK_student_class4) teacher表CREATE TABLE dbo.teacher(teacherID int NOT NULL,name nchar(10) NULL,sex nchar(2) NULL,age int NULL, CONSTRAINT PK_teacher PRIMARY KEY CLUSTERED (teacherID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_L
13、OCKS = ON) ON PRIMARY) ON PRIMARY5) courselist1表CREATE TABLE dbo.courselist1(第一節 nchar(20) NULL,第二節 nchar(20) NULL,第三節 nchar(20) NULL,第四節 nchar(20) NULL,第五節 nchar(20) NULL,第六節 nchar(20) NULL,第七節 nchar(20) NULL,第八節 nchar(20) NULL,星期 nchar(20) NULL) ON PRIMARYALTER TABLE dbo.courselist1 WITH CHECK ADD
14、 CONSTRAINT FK_courselist1_course FOREIGN KEY(第一節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_courseALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course1 FOREIGN KEY(第二節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.coursel
15、ist1 CHECK CONSTRAINT FK_courselist1_course1ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course2 FOREIGN KEY(第三節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course2ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_cours
16、elist1_course3 FOREIGN KEY(第四節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course3ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course4 FOREIGN KEY(第五節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRA
17、INT FK_courselist1_course4ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course5 FOREIGN KEY(第六節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course5ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course6 FOR
18、EIGN KEY(第七節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course6ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course7 FOREIGN KEY(第八節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1
19、_course76) courselist2表CREATE TABLE dbo.courselist2(第一節 nchar(20) NULL,第二節 nchar(20) NULL,第三節 nchar(20) NULL,第四節 nchar(20) NULL,第五節 nchar(20) NULL,第六節 nchar(20) NULL,第七節 nchar(20) NULL,第八節 nchar(20) NULL,星期 nchar(20) NULL) ON PRIMARYALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist
20、2_course FOREIGN KEY(第一節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_courseALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course1 FOREIGN KEY(第二節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_
21、courselist2_course1ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course2 FOREIGN KEY(第三節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course2ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course3 FOREIGN KE
22、Y(第四節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course3ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course4 FOREIGN KEY(第五節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course
23、4ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course5 FOREIGN KEY(第六節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course5ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course6 FOREIGN KEY(第七節)REFERENCES d
24、bo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course6ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course7 FOREIGN KEY(第八節)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course77) 用戶user表CREATE
25、TABLE dbo.users(username varchar(50) NOT NULL,password varchar(50) NOT NULL, CONSTRAINT PK_users PRIMARY KEY CLUSTERED (username ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY8)創建存儲過程生成指定班級的課程表 create
26、 proc up_class(classID int)asselect * from courselist1 where courselist1.classID=classID execute up_class '1101'9)創建存儲過程生成指定老師的課程表create proc up_teacher(teacherID int)asselect * from courlist1 where courselist1.teacherID=teacherID execute up_teacher '1'10)創建存儲過程檢測指定教師、指定節次是否有課 create
27、 proc up_teacheer(teacherID int,星期 nvarchar(50)asselect * from coueselist1 where courselist1.teacherID=teacherID and courselist1.星期=星期execute up_teacher '1','第一節'4.2程序編碼(C#語言)添加頭文件:using System.Data.SqlClient;1) 用戶登錄關鍵代碼if (textBox1.Text = "") MessageBox.Show("用戶名不能為空!
28、"); return; if (textBox2.Text = "") MessageBox.Show("密碼不能為空!"); return; string constr = "server=.;database=中學排課系統;uid=sa;pwd=sa" SqlConnection conn = new SqlConnection(constr); conn.Open(); try string login = "select * from users where username = '" +
29、 textBox1.Text.Trim() + "' and password = '" + textBox2.Text + "'" SqlCommand sqlCmd = new SqlCommand(login, conn); SqlDataReader sqlReader = sqlCmd.ExecuteReader(); sqlReader.Read(); if (sqlReader.HasRows) sqlReader.Close(); start start = new start(); start.Show(); t
30、his.Hide(); else MessageBox.Show("用戶名或密碼錯誤!"); catch (Exception ex) MessageBox.Show(ex.Message); MessageBox.Show("用戶名或密碼錯誤!"); finally conn.Close(); 2) 查詢關鍵代碼(以教師信息查詢為例)private void chaxun_Click(object sender, EventArgs e) if (ID.Text.Trim() = "") MessageBox.Show("
31、請填寫教師編號!"); return; string constr = "server=.;database=中學排課系統;uid=sa;pwd=sa" SqlConnection conn = new SqlConnection(constr); conn.Open(); string str = "select * from teacher where teacherID="+ID.Text.Trim(); SqlCommand command = new SqlCommand(str, conn); SqlDataAdapter adap
32、ter = new SqlDataAdapter(); adapter.SelectCommand = command; DataSet dataSet = new DataSet(); adapter.Fill(dataSet, "type"); dataGridView1.DataSource = dataSet.Tables0; conn.Close(); ID.Text = "" 3) 添加關鍵代碼(以教師信息添加為例)private void tianjia_Click(object sender, EventArgs e) if (ID.Te
33、xt.Trim() = "" | na.Text.Trim() = "" | se.Text.Trim()="" | ag.Text.Trim()="") MessageBox.Show("請填寫完整信息!"); return; string constr = "server=.;database=中學排課系統;uid=sa;pwd=sa" SqlConnection conn = new SqlConnection(constr); conn.Open(); try str
34、ing str = "insert into teacher values ('" + ID.Text.Trim() + "', '" + na.Text.Trim() + "', '" + se.Text.Trim() + "', " + ag.Text.Trim() + ")" SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = conn; sqlCommand.C
35、ommandText = str; sqlCommand.CommandType = CommandType.Text; sqlCommand.ExecuteNonQuery(); MessageBox.Show("添加成功!"); catch (Exception ex) MessageBox.Show("添加失敗!"); finally conn.Close(); teacherinformation_Load(sender, e); 4) 刪除關鍵代碼(以教師信息刪除為例)private void shanchu_Click(object send
36、er, EventArgs e) if (ID.Text.Trim() = "") MessageBox.Show("請填寫教職工號!"); return; if (MessageBox.Show("確定刪除嗎?", "提示", MessageBoxButtons.OKCancel) = DialogResult.OK) string constr = "server=.;database=中學排課系統;uid=sa;pwd=sa" SqlConnection conn = new SqlCon
37、nection(constr); conn.Open(); try string str = "delete from teacher where teacherID=" + ID.Text.Trim(); SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = conn; sqlCommand.CommandText = str; sqlCommand.CommandType = CommandType.Text; sqlCommand.ExecuteNonQuery(); catch (Exce
38、ption ex) MessageBox.Show("刪除失敗!"); finally conn.Close(); teacherinformation_Load(sender, e); 5) 修改關鍵代碼(以教師信息修改為例)在下邊的文本框中顯示選中的行 string id = "" string mingzi = "" string xingbie = "" string nianling = "" private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) id = dataGridView1.Rowse.RowIndex.Cells0.Value.ToString(); mingzi = dataGridView1.Rowse.RowIndex.Cells1.Value.ToString(); xingbie = dataGridView1.Rowse.RowIndex.Cells2.Value.ToStrin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 聚焦中小學教師資格筆試考試試題及答案
- 生物細胞膜試題及答案
- 文化產業管理證書考試復習計劃與試題及答案
- 教招幼兒學科試題及答案
- 網絡規劃設計師考試項目管理輔導試題及答案
- 大班數學試題及答案
- 山藝播音復試題目及答案
- 提高護理記錄能力的重要性試題及答案
- 清潔衛生制度試題及答案
- 藥店新版gsp培訓試題及答案
- 統編版2024~2025學年度六年級語文第二學期期中測試卷(有答案)
- 2025-2030中國內聯pH傳感器行業市場發展趨勢與前景展望戰略研究報告
- 2025荊州學院輔導員考試題庫
- 靜配中心與臨床科室溝通
- 《2B-3型谷物播種機的結構設計》12000字
- 教學設計:鑄牢民族共同體意識
- 交通設計(Traffic Design)知到智慧樹章節測試課后答案2024年秋同濟大學
- 2024年畢節市金沙縣全縣考調機關單位事業單位人員考試真題
- 水利系統職稱考試水利專業技術人員職稱考試題(附答案)
- 初級社工師《社會工作實務》考試(重點)題庫300題(含答案解析)
- 高速渦輪牙鉆手機行業市場發展及發展趨勢與投資戰略研究報告
評論
0/150
提交評論