找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4324|回復: 0
打印 上一主題 下一主題
收起左側(cè)

Oracle數(shù)據(jù)庫學生成績管理系統(tǒng) 設計文檔下載

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:475904 發(fā)表于 2019-2-12 14:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
目錄
1 緒論
1.1 課程意義
2 需求分析
2.1可行性分析
3 系統(tǒng)數(shù)據(jù)庫設計
3.1學生信息表
3.2 課程信息表
4 數(shù)據(jù)庫實現(xiàn)
4.1創(chuàng)建表空間及用戶
4.2表創(chuàng)建
4.3存儲過程創(chuàng)建
4.4觸發(fā)器創(chuàng)建
4.5 視圖創(chuàng)建
4.6序列創(chuàng)建
5 學生成績管理系統(tǒng)實現(xiàn)
5.1 用戶登錄界面
5.2 orcal數(shù)據(jù)庫連接
6 系統(tǒng)測試
6.1 用戶登錄界面測試
6.2 學生信息表測試
6.3課程信息表測試
6.4選課信息表測試
6.5成績視圖測試
7 課程設計總結(jié)

1 緒   論

學生的成績管理是學校工作中的一項重要內(nèi)容,我國的大中專院校的學生成績管理水平普遍不高。隨著辦學規(guī)模的擴大和招生人數(shù)的增加,建立一個成績管理系統(tǒng)是非常必要的。普通的成績管理浪費了許多的人力和物力,已不能適應時代的發(fā)展。在當今信息時代,這種傳統(tǒng)的管理方法必然被以計算機為基礎的信息管理系統(tǒng)所代替。為了提高成績管理的效率,我選擇了學生成績管理系統(tǒng)作為畢業(yè)設計的課題。

1.1 程意

隨著高校辦學規(guī)模的擴大和招生人數(shù)的增加,學生成績管理維護是學校管理中異常重要的一個環(huán)節(jié),作為學校,除了育人,就是育知,學生成績管理的計算機化是整個學校教務管理中的重要一部分,  介于它的重要性,學生成績管理系統(tǒng)的開發(fā)與應用就逐漸提入議程,并占著越來越重要的份量。運用學生成績管理維護系統(tǒng)可以減輕學院教學人員的工作量,縮小開支,提高工作效率與準確率,能夠節(jié)省時間,  學生也能夠盡快的知道自己的考試成績,投入新的課程的學習或復習這次沒有考過的課程。而學生成績管理系統(tǒng)的應用也為今天的民辦教育在未來市場的競爭力有所提高。  在現(xiàn)代高科技的飛躍發(fā)展,人們工作習慣的改變,特別是電腦的大量普及,人們生活節(jié)奏越來越快,怎樣提高工作效率是人們首先考慮的問題。學生成績管理是一個非常繁瑣與復雜的一項工作,一個原因就是工作量大、不好管,對于一個學校而言,管理好學生的成績,是非常重要的。因此開發(fā)出一套學生成績管理系統(tǒng)是非常必要的,應用到的技術(shù)數(shù)據(jù)庫設計(ER圖、關系模式、表設計、存儲過程、觸發(fā)器、視圖)應用開發(fā)語言VC#訪問Oracle數(shù)據(jù)庫。


2 需求分析
2.1可行性分析

2.1.1技術(shù)可行性分析

由于本系統(tǒng)管理的對象單一,都是在校學生,且每個數(shù)據(jù)內(nèi)容具有較強的關聯(lián)性,涉及的計算過程不是很復雜。因此,  比較適合于采用數(shù)據(jù)庫管理。且學校用于學生管理的微機都是PIII以上的機器,在存儲量、速度方面都能滿足數(shù)據(jù)庫運行的要求。在技術(shù)難度方面,由于有指導老師的指導和相關參考文獻,特別是網(wǎng)上資料,特別是參考其它程序的功能,因此完全可以實現(xiàn)。

2.1.2技術(shù)可行性分析

由于本系統(tǒng)采用網(wǎng)絡方式,因此投入比較多,但此系統(tǒng)建成后可以直接進行信息查詢和修改,本系統(tǒng)以后節(jié)省不少人員一因此可以帶來一定的經(jīng)濟效益。從經(jīng)濟上是可行的。

2.1.3功能需求

系統(tǒng)涉及到兩個實體學生和課程,學生的屬性有學號、姓名、專業(yè)名、性別、出生日期和備注;課程的屬性有課程號、課程名稱、開學學期、學時和學分,同時學生可以根據(jù)學號和課程號進行選課,學生選課信息的屬性有學號、課程號和成績。系統(tǒng)可以實現(xiàn)數(shù)據(jù)管理功能,具有學生信息表、課程信息表、學生選課信息表中的數(shù)據(jù)插入、修改和刪除功能;同時具有對數(shù)據(jù)查詢功能:查詢學生所有的課程成績,并按照成績進行排序;查詢學生總學分(如果學生成績低于60分,則該課程的學分不能記在總分里)



2.1.5關系模式

考生信息表(考生準考證#,姓名,性別,身份證號,考試考點代碼(外鍵),院系名稱,考試級別名稱)

管理員(管理員id,管理員姓名,管理員密碼)

考試信息表(考試信息表的主鍵,考生準考證號,筆試成績,上機成績,總成績)

院系(院系名字#)

考點信息表(考點代碼#,考點名稱)

考點管理表(管理員id,考點代碼id)

考生信息管理表(考生準考證,管理員id)

成績信息管理表(管理員id,考試信息的id)

院系查看信息表(院系名稱,考試信息表)

性別(男女)

考點代碼為整數(shù)



3 系統(tǒng)數(shù)據(jù)庫設計
3.1學生信息表

學生信息表中,學號是主碼,性別取值是“男”或“女”圖3.1

圖3.1學生信息表
3.2 課程信息表

課程信息表中,課程號是主碼,學分和學時要求大于0,開學學期是數(shù)值類型,取值在1和8之間圖3.2。

圖3.2課程信息表

   3.3選課信息表

學生選課信息表中,采用自增長序列作為主碼,學號和課程號是外碼,分別參考學生信息表的學號和課程信息表的課程號;成績采用百分制如圖3.3。

圖3.3學生選課信息表


4 數(shù)據(jù)庫實現(xiàn)
4.1創(chuàng)建表空間及用戶

新建表空間SS和臨時表空間SSTemp,新建用戶student;如圖4.1

圖4.1表空間臨時表空間

圖4.2用戶創(chuàng)建
4.2表創(chuàng)建
4.2.1課程信息表

根據(jù)關系模式設計出課程信息表如圖4.3

圖4.3創(chuàng)建課程信息表

4.2.2選課信息表

根據(jù)關系模式設計出選課信息表如圖4.4

圖4.4創(chuàng)建選課信息表

4.2.3學生信息表

根據(jù)關系模式設計出學生信息表如圖4.5

圖4.5創(chuàng)建學生信息表

4.3存儲過程創(chuàng)建

4.3.1課程信息表插入的存儲過程

課程信息表插入的存儲過程在更新之前,查詢數(shù)據(jù)表中是否存在相應記錄,存在更新數(shù)據(jù),不存在插入數(shù)據(jù)失敗如圖4.6。


圖4.6課程信息表插入的存儲

4.3.2課程信息表刪除的存儲過程

課程信息表刪除的存儲過程在更新之前,查詢數(shù)據(jù)表中是否存在相應記錄,存在更新數(shù)據(jù),不存在刪除數(shù)據(jù)。

4.7課程信息表刪除的存儲

4.3.3課程信息表更新的存儲過程

課程信息表中更新的存儲過程,在更新之前,查詢數(shù)據(jù)表中是否存在相應記錄,存在更新數(shù)據(jù),不存在更新數(shù)據(jù)失敗,課程信息表中更新的存儲過程如圖4.8

   圖4.8課程信息表更新的存儲過程

4.3.4學生信息表添加的存儲過程

學生信息表中添加存儲過程,在更新之前,查詢數(shù)據(jù)表中是否存在相應記錄,存在更新數(shù)據(jù),不存在更新失敗如圖4.9

4.9學生信息表中添加存儲過程

4.3.5學生信息表刪除的存儲過程

學生信息表中刪除存儲過程,在更新之前,查詢數(shù)據(jù)表中是否存在相應記錄,存在更新數(shù)據(jù),不存在更新數(shù)據(jù)失敗如圖4.10


4.10學生信息表中刪除存儲過程

4.3.6學生信息表更新的存儲過程

學生信息表更新存儲過程,在更新之前,查詢數(shù)據(jù)表中是否存在相應記錄,存在更新數(shù)據(jù),不存在更新數(shù)據(jù)失敗如圖4.11

4.11學生信息表中更新存儲過程

4.3.7選課信息表添加的存儲過程

選課信息表插入的存儲過程在更新之前,查詢數(shù)據(jù)表中是否存在相應記錄,存在更新數(shù)據(jù),不存在插入數(shù)據(jù)失敗如圖4.12

4.12選課信息表中插入存儲過程

4.3.8選課信息表刪除的存儲過程

選課信息表中刪除存儲過程,在更新之前,查詢數(shù)據(jù)表中是否存在相應記錄,存在更新數(shù)據(jù),不存在更新數(shù)據(jù)失敗如圖4.13

4.12選課信息表中刪除存儲過程

4.3.9選課信息表更新的存儲過程

選課信息表中更新存儲過程,在更新之前,查詢數(shù)據(jù)表中是否存在相應記錄,存在更新數(shù)據(jù),不存在更新數(shù)據(jù)失敗如圖4.13

4.13選課信息表中更新存儲過程
4.4觸發(fā)器創(chuàng)建

在刪除學生信息時,刪除該學生選課信息表中數(shù)據(jù)觸發(fā)器圖4.14

4.14刪除學生信息表觸發(fā)器

在刪除課程時,刪除該學生選課信息表中數(shù)據(jù)觸發(fā)器圖4.15
4.15刪除課程信息表觸發(fā)器
4.5 視圖創(chuàng)建

查詢所有課程總學分如圖4.16


圖4.16查詢高于60總學分視

查詢總成績視圖如圖4.17


圖4.17查詢所有成績的視
4.6序列創(chuàng)建

創(chuàng)建序列如圖4.18

圖4.18序列創(chuàng)建


5 學生成績管理系統(tǒng)實現(xiàn)
5.1 用戶登錄界面

用戶登錄界面設計如圖5.1

圖5.1用戶登錄界面
5.2 orcal數(shù)據(jù)庫連接

連接Oracle數(shù)據(jù)庫代碼如下

   public partial class 登錄窗口 : Form
    {
        public 登錄窗口()
        {
            InitializeComponent();
        }
        private void login_Click(object sender, EventArgs e)
        {
            String username = txtUsername.Text;
            String password = txtPassword.Text; ;
            String connstring = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));User Id=" + username + ";Password=" + password + ";";
            OracleConnection conn;
            conn = new OracleConnection(connstring);
            try
            {
                conn.Open();
                System.IO.File.WriteAllText(@"c:\a.txt", connstring);
               主頁面fm1 = new 主頁面();
                conn.Close();
                this.Hide();
                fm1.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show("無法登陸請核對用戶名,密碼核對數(shù)據(jù)庫連接或者約束");
                MessageBox.Show(ex.ToString());
            }
        }
    }
}
            //選課信息表更新
        private void btnSCalter_Click(object sender, EventArgs e)
        {
            String csid = txtCJH.Text.Trim();
            int score = Int32.Parse(cobcsscore.Text);
            int vcount;

                OracleConnection conn = new OracleConnection(connstring);
                conn.Open();
                OracleCommand cmd = conn.CreateCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "selectcourse_inf_update";

                cmd.Parameters.Add("v_csid", OracleType.VarChar).Direction = ParameterDirection.Input;
                cmd.Parameters["v_csid"].Value = csid;
                cmd.Parameters.Add("v_score", OracleType.VarChar).Direction = ParameterDirection.Input;
                cmd.Parameters["v_score"].Value = score;

                cmd.Parameters.Add("vresult", OracleType.Number).Direction = ParameterDirection.Output;
                cmd.ExecuteNonQuery();
                vcount = Int32.Parse(cmd.Parameters["vresult"].Value.ToString());
                conn.Close();
                if (vcount == 0)
                {
                    MessageBox.Show("該選課信息不存在,無法更新");
                }
                else
                    if (vcount == 2)
                    {
                        MessageBox.Show("插入數(shù)據(jù)有誤請核對");
                        //MessageBox.Show(sbirthday + "\r\n" + ssex);
                    }
                    else
                        selectcourse_inf_datarefresh();}    登錄成功              
6 系統(tǒng)測試
6.1 用戶登錄界面測試

登錄失敗測試如圖6.1


圖6.1登錄失敗測試

登錄成功測試如圖6.2

圖6.2登錄成功測試

6.2 學生信息表測試

學生信息表插入如圖6.3

圖6.3學生信息表插入
學生信息表重復插入失敗如圖6.3

圖6.3學生信息表重復插入失敗

學生信息表修改如圖6.4

圖6.4學生信息表修改

學生信息表刪除如圖6.5

圖6.5學生信息表刪除


6.3課程信息表測試

課程信息表查詢?nèi)鐖D6.6

圖6.6課程信息表查詢

課程信息表插入如圖6.7

圖6.7課程信息表插入

課程信息表插入課時小于0的如圖6.8

圖6.8課程信息表插入課時小于0

課程信息表插入學期出現(xiàn)異常如圖6.9

圖6.9課程信息表插入學期出現(xiàn)異常


課程信息表修改如圖6.10

圖6.10課程信息表修改

課程信息表刪除如圖6.11


圖6.11課程信息表刪除

6.4選課信息表測試

選課信息表添加如圖6.12

圖6.12選課信息表添加

選課信息表重復添加如圖6.13

圖6.13選課信息表重復添加

選課信息表刪除如圖6.14

圖6.14選課信息表刪除

選課信息表修改如圖6.15

圖6.15選課信息表修改
6.5成績視圖測試

查詢總成績?nèi)鐖D6.16

查詢總成績圖6.16

查詢低于60分不計入總學分如圖6.17

圖6.17查詢低于60分不計入總學分


黑盒子測試用例
6-1黑盒測試

7 課程設計總結(jié)

兩周的課程設計結(jié)束了, 我和同學們一起度過了這段忙 碌而充實的時光。 這次的課程設計深刻的反映出實踐是檢驗 真理的唯一標準這句話的真諦。 課程設計是我們專業(yè)課程知 識綜合應用的實踐訓練,是我們邁向社會,從事職業(yè)工作前 一個必不少的過程。 “千里之行始于足下” ,通過這次課程設 計,我深深體會到這句千古名言的真正含義。我今天認真的 進行課程設計,學會腳踏實地邁開這一步,就是為明天能穩(wěn) 健地在社會大潮中奔跑打下堅實的基礎。 過而能改,善莫大焉。在課程設計過程中,我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領 悟,不斷獲取。最終的檢測調(diào)試環(huán)節(jié),本身就是在踐行。

“過而能改,善莫大焉”的知行觀。這次課程設計終于順利完成了,在設計中遇到了很多問題,最后在老師的指導下,終于 游逆而解。在今后社會的發(fā)展和學習實踐過程中,一定要不懈努力,不能遇到問題就想 到要退縮,一定要不厭其煩的發(fā)現(xiàn)問題所在,然后一一進行解決,只有這樣,才能成功 的做成想做的事,才能在今后的道路上劈荊斬棘,而不是知難而退,那樣永遠不可能收 獲成功,收獲喜悅,也永遠不可能得到社會及他人對你的認可! 同時在開發(fā)過程中遇見了很多問題,也是在不斷地探索。


完整的Word格式文檔51黑下載地址:
oracle數(shù) 據(jù) 庫.docx (1.11 MB, 下載次數(shù): 10)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表