學生成績管理系統實驗報告書_第1頁
學生成績管理系統實驗報告書_第2頁
學生成績管理系統實驗報告書_第3頁
學生成績管理系統實驗報告書_第4頁
學生成績管理系統實驗報告書_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

成都信息工程大學軟件工程學院Oracle學生成績管理系統成都信息工程大學軟件工程學院傾力呈現實驗五《學生成績管理系統》數據庫設計實驗報告一、實驗目的運用了數據庫原理和Oracle數據庫知識,針對具體的數據庫設計工具,完成數據庫的設計與編程。二、實驗內容《學生成績管理系統》保存系統用戶信息、學生基本信息、班級(含系)信息、課程信息、選課信息、成績信息。三、實驗儀器、設備軟件:網絡環境、WindowsServer/NT或Linux或Unix操作系統、Oracle9i、數據庫設計工具ERWIN。硬件:PIII1G以上CPU、512M以上內存、6.4GB以上的空閑磁盤空間和1000MB虛擬內存。四、實驗步驟分析《學生成績管理系統》需求----見附件一學生成績管理系統需求分析報告一、系統需求的收集及分析:學生成績管理系統應該完成以下兩個方面的內容:系統用戶信息、學生基本信息、班級(含系)信息、課程信息、選課信息(包括必修課和選修課)、成績信息,每個內容均需要提供CRUD操作。學生成績管理系統在開發過程中收集到的客戶需求文檔記錄的關鍵部分可概括為以下幾個部分:1、可能會使用到該系統的用戶:系統管理員、教師、學生;2、各類用戶的權限不一樣。例如系統管理員可以添加、修改、查詢學生檔案資料和學生的成績,學生只能查詢自己的檔案、成績以及一些公共的信息,教師可以發布學生的成績信息,而且只能查詢自己所授課程的信息以及一些公共信息。學生成績管理系統需要滿足3個方面的需求:管理員使用系統對全部數據進行維護操作;教師對于自己相關的部分數據實體進行操作;學生作為查詢者對數據實體進行查詢操作。現在的學生成績管理系統基本上能做到這幾個方面的要求,但多數系統在功能上依然存在缺陷和不足,尤其是在用戶界面的友好性以及查詢結果的可視化方面存在著很大的問題。二、系統功能需求:我們的系統需要實現的功能主要包括以下幾個方面:1、設計不同用戶的操作權限和登錄方法;2、管理員可以添加、修改和查詢學生的檔案記錄,同時可以添加、修改和查詢學生的成績記錄,有對學生成績信息開放度的管理權;3、管理員對學生的檔案和成績進行審查,生成學生的檔案記錄報表和學生成績報表;4、教師可以查詢所授課程的學生信息,可以錄入并查詢所授課程的成績;5、學生有查詢個人檔案信息和成績信息的權利;滿足上述要求的系統應該包括以下幾個模塊:基本數據維護功能;數據庫管理功能;基本業務功能。三、數據需求(1)學生信息包括:學號、學生姓名、性別、出生日期、所在學院、專業、班級等。(2)課程信息包括:課程編號、課程名稱、所屬專業等。(3)選課信息包括:學生姓名、課程名稱、開課時間、成績等。基本數據維護功能添加學生的檔案信息。修改學生的檔案信息。刪除學生的檔案信息。添加學生的成績信息。修改學生的成績信息。基本數據的維護功能添加學生的檔案信息基本數據的維護功能添加學生的檔案信息修改學生的檔案信息刪除學生的檔案信息刪除學生的成績信息修改學生的成績信息添加學生的成績信息查詢結果的可視化管理查詢結果的可視化管理。描述圖如下:數據庫管理功能檔案和成績信息管理。帳戶信息管理。檔案和成績信息查看管理。基本業務功能查看檔案信息和成績信息。添加成績信息。設計完成《學生成績管理系統》的數據庫ER圖編寫《學生成績管理系統》數據庫設計文檔----見附件三《學生成績管理系統》數據庫設計文檔(共七張表)表名用戶信息數據字段數據類型用戶idinteger(主鍵)密碼Varchar2用戶類型枚舉(學生,老師,管理員)姓名Varchar2性別Varchar2生日Varchar2專業Integer(外鍵)表名選課信息選課idinteger(主鍵)學生學號integer(外鍵)課程號integer(外鍵)開課時間Varchar2表名課程信息課程idinteger(主鍵)課程名Varchar2所屬專業integer(外鍵)表名專業信息專業idinteger(主鍵)專業名Varchar2選課idinteger(外鍵)表名成績信息成績idinteger(主鍵)選課號Integer(外鍵)成績分數float表名班級信息班級idinteger(主鍵)班級名Varchar2所屬專業Integer(外鍵)表名授課信息授課idInteger(主鍵)老師idInteger(外鍵)課程號Integer(外鍵)編寫《學生成績管理系統》的Oracle數據庫SQL腳本------見stu_admin.sql createtablet_user--1沒有找到合適的工具導出,矮油...... ( user_idnumbernotnullprimarykey, user_passvarchar2(30), user_typevarchar2(5), user_namevarchar2(10), sexvarchar2(3)default'男', birthdayvarchar2(21), professionnumber ); createtablet_profession--2 ( pro_idnumbernotnullprimarykey, pro_namevarchar2(15), select_idnumber ); altertablet_user--3,1中professionnumber--REFERENCESt_profession(pro_id) addconstraintfk_proforeignkey(profession)referencest_profession(pro_id); createtablet_selection--4 ( select_idnumbernotnullprimarykey, stu_idnumber,--referencest_user(user_id), course_idnumber,--referencest_course(course_id), start_timevarchar2(21) ); altertablet_profession--5,,2中select_idnumber--referencest_selection(select_id) addconstraintfk_pro_1foreignkey(select_id)referencest_selection(select_id); createtablet_course--6 ( course_idnumbernotnullprimarykey, course_namevarchar(10), profession_idnumberreferencest_profession(pro_id) ); altertablet_selection--7,,4中stu_idnumber,--referencest_selection(select_id), addconstraintfk_pro_2foreignkey(stu_id)referencest_user(user_id); altertablet_selection--8,,4中course_idnumber,--referencest_selection(select_id), addconstraintfk_pro_3foreignkey(course_id)referencest_course(course_id); createtablet_education--9 ( edu_idnumbernotnullprimarykey, teacher_idnumberreferencest_user(user_id), course_idnumberreferencest_course(course_id) ); createtablet_grade--10 ( grade_idnumbernotnullprimarykey, select_idnumberreferencest_selection(select_id), scorenumber(4,2) ); createtablet_class_info--11 ( class_idnumbernotnullprimarykey, class_namevarchar2(10), profession_idnumberreferencest_profession(pro_id) ); 編寫《學生成績管理系統》的Oracle數據PL/SQL程序----見pl_sql.sql--------------------------------以下僅以t_user表為例,其他表是類似的-----------------------------------------------------------------序列+觸發器作為字段自增的工具----------------------------------createsequencesequence_1incrementby1startwith1maxvalue1000000000nocachenocycle;createorreplacetriggeruser_insertbeforeinsertont_userforeachrowdeclaretable_idnumber;beginselectsequence_1.nextvalintotable_idfromsys.dual;:new.user_id=table_id;end;---------------------------------------游標(查找user_id之后的用戶的姓名)-------------------------------------declarecursoruser_cursor(user_idnumber)isselectuser_namefromt_userwhereuser_id=user_id;user_recuser_cursor%rowtype;beginopenuser_cursor('&user_id');loopfetchuser_cursorintouser_rec;exitwhenuser_cursor%notfound;dbms_output.put_line('user_name'||user_rec.user_name);endloop;closeuser_cursor;end;-------------------------------------創建函數查學生平均成績-------------------------------createorreplacefunctionaval_grade(user_idint_user.user_id%type)returnnumber(4,2)isstu_gradet_grade.score%type:=0;beginselectaval(grade)intostu_gradefromt_grade

溫馨提示

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

評論

0/150

提交評論