學生成績管理數(shù)據(jù)庫的設(shè)計.doc_第1頁
學生成績管理數(shù)據(jù)庫的設(shè)計.doc_第2頁
學生成績管理數(shù)據(jù)庫的設(shè)計.doc_第3頁
學生成績管理數(shù)據(jù)庫的設(shè)計.doc_第4頁
學生成績管理數(shù)據(jù)庫的設(shè)計.doc_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

河南理工大學萬方科技學院河南理工大學萬方科技學院 數(shù)據(jù)庫設(shè)計論文數(shù)據(jù)庫設(shè)計論文 論文題目:論文題目: 學生成績管理數(shù)據(jù)庫的設(shè)計學生成績管理數(shù)據(jù)庫的設(shè)計 院院 系:系: 電氣系電氣系 專專 業(yè):業(yè): 通信通信 11-111-1 學學 號:號: 11162060591116206059 姓姓 名:名: 牛飛牛飛 指導教師:指導教師: 撰寫學年:撰寫學年: 年 月 日 2 摘要 學生成績管理系統(tǒng)是一個教育單位不可缺少的部分,它的內(nèi)容對于學校的決策者 和管理者來說都至關(guān)重要。為了減輕學校的負擔,增加學生成績管理的便捷,為廣 大教師和學生提高工作效率,實現(xiàn)學生成績信息管理工作流程的系統(tǒng)化,規(guī)范化和自 動化,我們小組設(shè)計了一個學生成績管理系統(tǒng)。本學年設(shè)計敘述到的學生成績管理 系統(tǒng)是用 sql 語言實現(xiàn)的。重點介紹了學生成績管理系統(tǒng)的實現(xiàn)過程:包括概念設(shè)計,需 求分析,邏輯結(jié)構(gòu)和物理設(shè)計,系統(tǒng)的實施與維護等。本系統(tǒng)主要功能有教師管理,學 生管理,班級管理,學生信息管理,成績管理等,包括功能需求描述,數(shù)據(jù)庫設(shè)計等內(nèi)容。 關(guān)鍵詞:成績管理;成績查詢;sql server 目錄 1 1數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述-1 1.1 開發(fā)背景-1 1.2 開發(fā)目標 -1 2 2需求分析需求分析-1 2.1 系統(tǒng)功能需求-1 2.2 系統(tǒng)模塊設(shè)計 -2 2.3 開發(fā)環(huán)境 -2 3 3概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計-2 3.1 系統(tǒng)實體設(shè)計 -3 3.2 系統(tǒng) e-r 圖 -3 3.3 系統(tǒng)數(shù)據(jù)流圖 -7 4 4邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計-7 4.1 成績管理系統(tǒng)數(shù)據(jù)模型-8 5 5數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計 -10 5.1 數(shù)據(jù)庫的存儲結(jié)構(gòu)-10 5.2 關(guān)系模型的存取方法-14 5.3 數(shù)據(jù)庫關(guān)系圖-15 6 6數(shù)據(jù)庫的實施和維護數(shù)據(jù)庫的實施和維護-16 61 系統(tǒng)的實施 -16 6.2 系統(tǒng)的調(diào)試與維護-17 7 7總結(jié)總結(jié) -18 7.1 設(shè)計總結(jié)-18 7.2 致謝-18 8 8參考文獻參考文獻 -18 0 1 1數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述 1.11.1 開發(fā)背景開發(fā)背景 學生成績管理系統(tǒng)是一個教育單位不可缺少的部分,它的內(nèi)容對于學校的決策者 和管理者來說都至關(guān)重要,所以學生成績管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和 快捷的查詢手段,對學生來說可以輕松的查閱自己在校的成績以及信息等.在科學技 術(shù)突飛猛進的時代,為了減輕學校的負擔,增加學生成績管理的便捷,開發(fā)出一個 適用于高校的學生成績管理系統(tǒng)是必要的. 1.21.2 開發(fā)目標開發(fā)目標 開發(fā)一個學生成績管理系統(tǒng),采用計算機對學生成績進行管理,進一步提高辦學 效益和現(xiàn)代化水平.為廣大教師和學生提高工作效率,實現(xiàn)學生成績信息管理工作流 程的系統(tǒng)化,規(guī)范化和自動化.不需要大量的人力,只需要幾名專門錄入員即可操作系 統(tǒng),節(jié)省大量人力,可以迅速查到所需信息,高效,安全,學生在能方便的查看自己的成 績. 2 2需求分析需求分析 2.12.1 系統(tǒng)功能需求系統(tǒng)功能需求 1.管理員能夠?qū)崿F(xiàn)對整個學生信息的錄入、修改、刪除、查詢等操作,對教師 用戶的添加、刪除、修改等操作。 2.教師能夠在一定的權(quán)限內(nèi)對所有學生成績進行查詢,可以對的自己的登錄密 碼進行修改。 系統(tǒng)具體需要實現(xiàn)以下功能: 1.系統(tǒng)管理:對用戶管理和系統(tǒng)進行初始化設(shè)置。 2.成績管理:提供學生考試成績的基本錄入、修改、查詢、打印等基本管理功 能,以及學生單科和總成績的相關(guān)統(tǒng)計功能。 3.學生名單管理:提供對學生名單的基本管理功能,主要是學生名單的錄入、 修改、刪除和瀏覽/查詢等基本功能。 4.基礎(chǔ)數(shù)據(jù)管理:提供對學?;緮?shù)據(jù)和考試相關(guān)基礎(chǔ)數(shù)據(jù)的管理功能,包括: 1 專業(yè)設(shè)置、班級設(shè)置、考試類型設(shè)置、考試科目設(shè)置和考試學期設(shè)置等。 5.數(shù)據(jù)庫管理:對現(xiàn)有的數(shù)據(jù)進行管理,包括數(shù)據(jù)備份和恢復,以方便用戶對 數(shù)據(jù)庫進行管理和維護工作,提高系統(tǒng)的數(shù)據(jù)安全性。 2.22.2 系統(tǒng)模塊設(shè)計系統(tǒng)模塊設(shè)計 成績管理系統(tǒng)大體可以分成三大模塊如圖, 一是學生的基本信息模塊,里面應(yīng) 該包含學生的各方面的基本信息;再者便是課程管理模塊, 在該模塊中應(yīng)該包含有 對學生成績信息的查詢和處理,如平時成績、考試成績、最終成績以及是否需要重 修或補考的統(tǒng)計等功能模塊;再其次還有教師、課程等相關(guān)信息的模塊;可以得到 系統(tǒng)流程圖: 授權(quán)用 戶進入 退出數(shù)據(jù)庫 教師管理 管理 學 生 管 理 課 程 管 理 成 績 查 詢 圖圖 1 系統(tǒng)模塊設(shè)計流程圖系統(tǒng)模塊設(shè)計流程圖 2.32.3 開發(fā)環(huán)境開發(fā)環(huán)境 軟件環(huán)境:microsoft sql server 2000 windows95/98/2000/xp,internet explorer(ie)5.0 及其以上版本 硬件環(huán)境:cpu:piii 500 以上 內(nèi)存:512m 以上 硬盤空間:gb 以上 3 3概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計 將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè) 2 計。概念模型是在對用戶需求分析之后,畫出本系統(tǒng)抽象出的 e-r 圖。 3.13.1 系統(tǒng)實體設(shè)計系統(tǒng)實體設(shè)計 由需求分析的結(jié)果可知,本系統(tǒng)設(shè)計的實體包括: (1)學生基本信息:學號,姓名,性別,系別, 地址,年齡,專業(yè),身份證號碼, 入學時間, 聯(lián)系方式; (2)教師基本信息:教師號, 教師所屬系, 性別, 教師名, 年齡, 職稱, 聯(lián)系方 式, 教齡; (3)course 表基本信息:課程號, 課程名稱, 課時, 學分, 課程種類, 學年, 學 期; (4)grade 表基本信息:成績記錄號, 課程號, 學號,課程名,平時成績, 考試成 績, 總成績; (5)班級表基本信息:班級號, 班級名稱, 所屬系, 班級人數(shù), 班長學號; (6)授課表基本信息:授課時間, 授課地點, 課程號,教師號,教師名; (7)選修表基本信息:課程號,學號, 成績; (8)課程安排表基本信息:課程號, 課程名稱, 學號, 教師號, 教師名; (9)用戶表基本信息:用戶名,密碼,所屬權(quán)限. 3.23.2 系統(tǒng)系統(tǒng) e-re-r 圖圖 根據(jù)規(guī)劃出的實體畫出對各個實體具體的描述如下: 3 學生 成績班級 課程教師 考試 所屬 錄 入 教授 授課 選修 n n n n n nn nn n n 圖圖 2 系統(tǒng)總系統(tǒng)總 e-r 圖圖 學生學生 姓名性別年齡系別 地址 學號 身份證號 聯(lián)系方式 入學時間 圖圖 3 學生信息學生信息 e-r 圖圖 4 教齡 所屬系 聯(lián)系方式 教師教師 職稱 性別年齡教師號教師名 圖圖 4 教師信息教師信息 e-r 圖圖 所屬系 班級班級 班長學號班級號班級名班級人數(shù) 圖圖 5 班級信息班級信息 e-r 圖圖 課程課程 課時課程號課程名稱學分 學年 學期 課程種類 圖圖 6 課程信息課程信息 e-r 圖圖 5 成績成績 學號 教師名平時成績 重修 補考 成績 教師號課程名課程號 考試成績 圖圖 7 成績信息成績信息 e-r 圖圖 教師 教授教授 學生 課程號課程名稱 圖圖 8 教授關(guān)系教授關(guān)系 e-r 圖圖 授課授課 教師課程 授課時間授課地點 圖圖 9 授課關(guān)系授課關(guān)系 e-r 圖圖 6 3.33.3 系統(tǒng)數(shù)據(jù)流圖系統(tǒng)數(shù)據(jù)流圖 由數(shù)據(jù)庫系統(tǒng)總 e-r 圖和分 e-r 圖得到數(shù)據(jù)流圖: 教務(wù)人員教務(wù)人員 1 錄入錄入 學生信息學生信息 2 錄入錄入 課程信息課程信息 3 登記登記 學生成績學生成績 4 查詢查詢 學生成績學生成績 課程課程 成績成績 學生學生 學生學生 圖圖 10 系統(tǒng)數(shù)據(jù)流圖系統(tǒng)數(shù)據(jù)流圖 4 4邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計 設(shè)計邏輯結(jié)構(gòu)分三步進行:第一步,將概念經(jīng)過轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層 次模型;第二步,將轉(zhuǎn)化來的關(guān)系、網(wǎng)狀、層次模型向特定 dbms 支持下的數(shù)據(jù)模型 轉(zhuǎn)換;第三步,對數(shù)據(jù)模型進行優(yōu)化。 4.14.1 成績管理系統(tǒng)數(shù)據(jù)模型成績管理系統(tǒng)數(shù)據(jù)模型 由系統(tǒng) er 圖轉(zhuǎn)化而得到的成績管理系統(tǒng)數(shù)據(jù)模型如下: 7 (1)學生表基本信息:學號,姓名,性別,系別, 地址,年齡,專業(yè),身份證號 碼, 入學時間, 聯(lián)系方式。(其中 學號為主鍵 系別為外鍵) 表 1 student 基本信息表 (2)course 表基本信息:課程號, 課程名稱, 課時, 學分, 課程種類, 學年, 學 期(其中 課程號為主鍵) 表 2 course 表 字段名字段類型約束控制說明 co_cnovarchar(4)主鍵(primary key) ,在 9000 到 9999 之間 課程號 co_namevarchar(15)not null課程名稱 co_hoursmallintnot null課時 co_scoresmallintnot null 屬于(1,2,3,4,5,6)學分 co_typevarchar(10)not null課程種類 co_yearsmallintnot null,只能選擇 1,2 3,4學年 co_termsmallintnot null 只能選擇 春,秋學期 (3)教師基本信息:教師號, 教師所屬系, 性別, 教師名, 年齡, 職稱, 聯(lián)系方 式, 教齡(其中 教師號為主鍵) 表 3 teacher 基本信息表 字段名字段類型約束控制說明 t_tnovarchar(10)not null,在 000 到 999 之 間 教師號 t_depvarchar(15)not null教師所屬系別 t_cnamechar(6)not null教師名 t_sexintnot null性別 t_agesmallintnot null年齡 字段名字段類型約束控制說明 stu _snovarchar(6)not null(primary key),在 000000 到 999999 之間 學號 stu _snamevarchar(8)not null姓名 stu_sexchar(2)男或女性別 stu_deptvarchar(30)not null系別 stu_agechar(4)年齡 stu_addressvachar(30)地址 stu _idchar(18)not null身份證號 stu_entrydatetimenot null入學時間 stu_classvarchar(15)not null班級 stu_contactvarchar(13)not null聯(lián)系方式 8 t_positionvarchar(15)not null職稱 t_contactchar(11)not null聯(lián)系方式 t_work_agesmallintnot null教齡 (4)課程安排表基本信息:課程號, 課程名稱, 學號, 教師號, 教師名(其中教師 號和課程號為主鍵) 表 4 課程表 字段名字段類型約束控制說明 c_cno varchar(4)not null課程號 c_namevarchar(15)not null課程名稱 t_cnamechar(6)not null教師名 t_tnovarchar(10)not null教師號 (5)授課表基本信息:授課時間, 授課地點, 課程號,教師號,教師名(其中 教師 號和課程號為主鍵) 表 5 授課表 字段名字段類型約束控制說明 learn_roomvarchar(8)not null 上課地點 t_cnamechar(6)not null教師名 t_tnovarchar(10)not null 在 000 到 999 之 間 教師號 learn_timevarchar(8)not null授課時間 c_cnovarchar(4)在 9000 到 9999 之間 null 課程號 (6)班級表基本信息:班級號, 班級名稱, 所屬系, 班級人數(shù), 班長學號(其中 所屬系為主鍵) 表 6 class 基本信息表 字段名字段類型約束控制說明 cl_cnovarchar(4)主鍵(primary key) ,在 0000 到 9999 之間 班級號 cl_namevarchar(15)not null班級名稱 cl_depvarchar(10)not null所屬系 cl_numberintnot null,大于 0 且小于 100人數(shù) cl_monitorvarchar(6)not null班長學號 (7)grade 表基本信息(成績記錄號, 課程號, 學號,課程名,平時成績, 考試成 績, 總成績)(其中成績記錄號,課程號,學號為主鍵) 表 7 grade 基本信息表 字段名字段類型約束控制說明 9 score_idintnot null成績記錄號 c_cnovarchar(4)外部鍵課程號 c_namevarchar(15)not null課程名稱 t_namevarchar(8)not null教師名 t_tnovarchar(10)not null教師號 stu_snovarchar(6)外部鍵學號 practic_gradeintnot null ,大于等于 0, 小 于等于 100 平時成績 exam_gradeintnot null ,大于等于 0, 小 于等于 100 考試成績 fgradedec(3,1)nor_score 占 30% exam_score 占 70% 成績 re_choosechar(2)是 否重修 re_exam char(2)是 否補考 (8)用戶表基本信息:用戶名,密碼,所屬權(quán)限 表 8 user 基本信息表 字段名字段類型約束控制說明 usernamevarchar(10)not null 用戶名 userid varchar(6)not null 密碼 userauthvarchar(10) 在學生,教師,教學秘書之間權(quán)限 5 5數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理設(shè)計 5.15.1 數(shù)據(jù)庫的存儲結(jié)構(gòu)數(shù)據(jù)庫的存儲結(jié)構(gòu) 確定數(shù)據(jù)庫的存儲結(jié)構(gòu)主要指確定數(shù)據(jù)的存放位置和存儲結(jié)構(gòu),包括:確定關(guān) 系、索引、日志、備份等的存儲安排及存儲結(jié)構(gòu),以及確定系統(tǒng)存儲參數(shù)的配置。 (1)創(chuàng)建學生基本信息表: create table student( stu_sno numeric(6) constraint a1 check(stu_sno between 000000 and 999999), stu_sname varchar(8) not null, stu_sex char(2) constraint a2 check(stu_sex in(男,女), stu_dept varchar(30) not null, stu_age char(4) constraint a3 check(stu_age between 10 and 30), stu_address varchar(30) not null, stu_idchar(18) not null, 10 stu_entry datetime not null, stu_contact varchar(13), stu_class varchar(15), constraint stu_key primary key(stu_sno) ) create index stusno on student(stu_sno asc) create index stusdept on student(stu_dept) (2)創(chuàng)建課程表: create table course( c_cno numeric(4) constraint b1 check(c_cno between 9000 and 9999), c_namevarchar(15) not null, c_hoursmallint not null, c_score smallint constraint b4 check(c_score in (1,2,3,4,5,6)and c_score is not null) c_type varchar(10) not null, c_yearsmallint constraint b2 check(c_year in(1,2,3,4)and c_year is not null ), c_term char(2) constraint b3 check(c_term in(春,秋)and c_term is not null), c_num smallint not null , constraint c_key primary key(c_cno) ) create index courseid on course(c_cno asc); (3)創(chuàng)建成績表 grade create table grade( grade_id int not null, t_tnovarchar(10) not null, c_cno numeric(4), c_name varchar(15) not null, stu_sno numeric(6), practic_grade int constraint d1 check (practic_grade between 0 and 100 ), exam_grade int constraint d2 check(exam_grade between 0 and 100 ), fgrade dec(3,1) , 11 re_choose char(2) constraint d3 check(re_choose in (是,否), re_exam char(2) constraint d4 check(re_exam in (是,否), constraint d5 check(0.3*practic_grade)+(0.7*exam_grade)=fgrade), constraint grade_key primary key(c_cno,t_tno,stu_sno), constraint gforeign_key1 foreign key(stu_sno)references student(stu_sno), constraint gforeign_key2 foreign key(c_cno)references course(c_cno), constraint gforeign_key3 foreign key(t_tno)references teacher(t_tno) ) create index gradeid on grade(grade_id) (4)創(chuàng)建教師基本信息表 teacher create table teacher( t_tno varchar(10) constraint c1 check(t_tno between 000 and 999 and t_tno is not null), t_dep varchar(15) not null, t_cname char(6) not null, t_sex char(2) not null, t_age smallint not null, t_position varchar(15) not null, t_contact char(11) not null, t_work_age smallint not null, constraint t_key primary key(t_tno) ) create index teatno on teacher(t_tno asc) (5)創(chuàng)建班級表 class create table class( cl_cno varchar(4) constraint e1 check(cl_cno between 0000 and 9999 and cl_cno is not null), cl_name varchar(15) not null, cl_dept varchar(30), cl_number int constraint e2 check(cl_number between 0 and 100 and cl_number is not null ) , class_monitor numeric(6) not null, 12 constraint cl1_key primary key(cl_dept), ) create index class1 on class(cl_dept asc) (6)創(chuàng)建授課表 schooling create table schooling( learn_room varchar(8) not null, learn_time varchar(8) not null, c_cno numeric(4)constraint f1 check(c_cno between 9000 and 9999), t_tno varchar(10) constraint f2 check(t_tno between 000 and 999 and t_tno is not null), t_cname char(6) not null, constraint sch_key primary key(c_cno,t_tno) ) create index schooling1 on schooling( t_tno asc) create index schooling2 on schooling(c_cno asc) (7)創(chuàng)建課程安排表 arrange_lesson create table arrange_lessson( c_cno numeric(4)constraint h1 check(c_cno between 9000 and 9999), c_namevarchar(15) not null, t_tno varchar(10) constraint h2 check(t_tno between 000 and 999 and t_tno is not null), t_cname char(6) not null, c_typevarchar(10) not null, c_year smallint check (c_year in(1,2,3,4)and c_year is not null), c_term char(2) constraint h4 check(c_term in(春,秋)and c_term is not null ), cl_name varchar(15) not null, constraint arlesson_key primary key(c_cno,t_tno) , constraint stu1_key foreign key(stu_dept)references class(cl_dept) ) create index teacher on arrange_lessson(t_tno asc) create index course on arrange_lessson(c_cno asc) 13 (8)創(chuàng)建用戶表 users create table users( username varchar(10) not null, userid varchar(6) not null, userauth varchar(10) constraint i1 check(userauth in(學生,教師,教學秘書) 5.25.2 關(guān)系模型的存取方法關(guān)系模型的存取方法 在將概念模型轉(zhuǎn)換成物理模型之后,我們可以對物理模型進行設(shè)計,雙擊物理 模型的關(guān)系,可以對該關(guān)系的名稱、注釋等信息進行查詢。可對該關(guān)系的屬性列進 行設(shè)計,可分別設(shè)置其名稱、碼、數(shù)據(jù)類型以及主碼、是否為空等。在實際設(shè)計中 最常用的存取方法是索引,使用索引可以大大減少數(shù)據(jù)的查詢時間,在建立索引時 應(yīng)遵循:在經(jīng)常需要搜索的列上建立索引; 在主關(guān)鍵字上建立索引;在經(jīng)常用于連 接的列上建立索引,即在外鍵上建立索引;在經(jīng)常需要根據(jù)范圍進行搜索的列上創(chuàng) 建索引,因為索引已經(jīng)排序,其指定的范圍是連續(xù)的等規(guī)則。才能充分利用索引的 作用避免因索引引起的負面作用。 數(shù)據(jù)庫中設(shè)計了如下索引: (1)在 student 表中建立索引: create index stusno on student(stu_sno asc) create index stusdept on student(stu_dept) (2)在 course 表中建立索引: create index courseid on course(c_cno asc); (3)在 teacher 表中建立索引: create index teatno on teacher(t_tno asc) (4)在授課表中建立索引 create index schooling1 on schooling( t_tno asc) create index schooling2 on schooling(c_cno asc) (5)在課程表中建立索引: 14 create index

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論