數(shù)據(jù)庫課程設(shè)計學生選課信息管理系統(tǒng)_第1頁
數(shù)據(jù)庫課程設(shè)計學生選課信息管理系統(tǒng)_第2頁
數(shù)據(jù)庫課程設(shè)計學生選課信息管理系統(tǒng)_第3頁
數(shù)據(jù)庫課程設(shè)計學生選課信息管理系統(tǒng)_第4頁
數(shù)據(jù)庫課程設(shè)計學生選課信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫原理課程設(shè)計設(shè)計題目: 學生選課信息管理系統(tǒng) 專 業(yè): 軟件工程班 級: BX0903學 號: 姓 名: 孫 誠組 長: 孫 誠組 員:張婉珺、王駿怡、陶靜2011年12月課程設(shè)計評分表姓 名班 級學 號課設(shè)題目指導教師評分項目滿分分值得分設(shè)計文檔(30分)文檔格式封面2頁面布局4目錄格式3圖表質(zhì)量2頁眉頁腳2文檔內(nèi)容內(nèi)容完整性6內(nèi)容邏輯性5內(nèi)容正確性6程序代碼(30分)程序功能15編程規(guī)范7編程文檔8答辯(20分)課題陳述7問題答辯10是否超時3考勤(20分)20總評成績指導教師評語簽名: 年 月 日教研室意見簽名: 年 月 日課程設(shè)計答辯記錄表教師提問學生答辯情況記錄成績答辯小組教師

2、簽名摘要隨著科技的不斷發(fā)展,學生的選課信息已經(jīng)擯棄了以往的手工文件管理階段,進化成為了高科技、高效率的數(shù)據(jù)庫應(yīng)用程序來進行管理。學生選課信息管理系統(tǒng)是基于SQL SERVER數(shù)據(jù)庫為后臺、VB開發(fā)應(yīng)用軟件作為前臺的一種C/S模式的數(shù)據(jù)庫應(yīng)用程序。使用學生選課信息管理系統(tǒng)可以更高效、準確地進行學生選課、查詢、記錄添加等各種操作,大大減少信息管理人員的負擔。關(guān)鍵詞:學生選課信息管理系統(tǒng),VB,SQL SERVER數(shù)據(jù)庫,C/S模式目錄摘要4目錄5第一章系統(tǒng)概述6第二章系統(tǒng)數(shù)據(jù)庫設(shè)計部分72.1 需求分析72.1.1 需求描述72.1.2 數(shù)據(jù)流圖82.1.3 數(shù)據(jù)字典92.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計1

3、02.2.1 E-R圖102.2.2 實體及屬性的定義102.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計112.3.1 初始關(guān)系模式112.3.2 規(guī)范化處理112.4 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計112.4.1 基于SQL Server的數(shù)據(jù)表設(shè)計122.4.2 索引表132.4.3 角色132.4.4 視圖142.5 數(shù)據(jù)庫操作部分152.5.1 數(shù)據(jù)庫的插入操作152.5.4 數(shù)據(jù)庫的備份及還原操作16第三章系統(tǒng)界面設(shè)計部分193.1 應(yīng)用程序與其菜單項規(guī)劃193.2 登錄界面設(shè)計193.3 主界面設(shè)計203.4 子界面設(shè)計21第四章總結(jié)24主要參考文獻25第一章 系統(tǒng)概述數(shù)據(jù)庫原理及應(yīng)用課程的學習,其主要的目標是能

4、利用課程中學習到的數(shù)據(jù)庫知識與技術(shù)較好地開發(fā)設(shè)計出數(shù)據(jù)庫應(yīng)用系統(tǒng),去解決各行各業(yè)信息化處理的要求。本實驗主要在于鞏固學生對數(shù)據(jù)庫的基本原理和基礎(chǔ)理論的理解,掌握數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計開發(fā)的基本方法,進一步提高學生的綜合運用所學的知識能力。為了使數(shù)據(jù)庫的應(yīng)用系統(tǒng)開發(fā)設(shè)計合理、規(guī)范、有序、正確、高效進行,現(xiàn)在廣泛采用的是工程化6階段開發(fā)設(shè)計過程與方法,它們是需求分析階段、概念結(jié)構(gòu)設(shè)計階段、邏輯結(jié)構(gòu)設(shè)計階段、物理結(jié)構(gòu)設(shè)計階段、數(shù)據(jù)庫實施、數(shù)據(jù)庫系統(tǒng)運行與維護階段。我們按照以上幾點開發(fā)了學生選課管理系統(tǒng)數(shù)據(jù)庫。學生選課信息管理系統(tǒng)要求讀者較好的正規(guī)數(shù)據(jù)庫知識與技術(shù)外,還要求讀者掌握某種客戶端開發(fā)工具或語

5、言。這里是利用相對簡單易學易掌握的Visual Basic6.0 開發(fā)工具來實現(xiàn)示例系統(tǒng)的。如果讀者對該開發(fā)工具不熟悉,這里也無妨。這次課程設(shè)計能順利通過是老師的細心指導和我們小組團結(jié)一致、努力的結(jié)果。在這次課程設(shè)計中每位同學都積極參與各項環(huán)節(jié)的設(shè)計,但我們也有分工。初步列出如下:孫誠是用VB制作前臺的界面以及數(shù)據(jù)庫整體設(shè)計與規(guī)劃;張婉珺和王駿怡擔任的工作是對系統(tǒng)的需求分析、構(gòu)思數(shù)據(jù)流圖、把E-R圖轉(zhuǎn)化成關(guān)系模型并對其進行規(guī)范化處理、用SQL語言建表、視圖以及文檔的初步編寫等。陶靜的工作是負責畫數(shù)據(jù)流圖和E-R圖,以及轉(zhuǎn)化初始關(guān)系模型,和內(nèi)容摘要等的編寫。孫誠作為組長,除對我們所制作單個模塊審

6、核外還擔任了WORD文檔的總結(jié)排版。這次數(shù)據(jù)庫的課程設(shè)計讓我們對數(shù)據(jù)庫的操作有了進一步的了解,受益匪淺。第二章 系統(tǒng)數(shù)據(jù)庫設(shè)計部分2.1 需求分析 需求描述隨著中國教育信息化時代的來臨,各大校園對于內(nèi)部信息的管理已經(jīng)采用IT新潮的應(yīng)用和管理系統(tǒng)技術(shù)來進行。為了緊隨信息化時代的腳步,不被時代所淘汰,學生的信息管理也應(yīng)當由傳統(tǒng)的手工管理模式進化為軟件與數(shù)據(jù)庫結(jié)合應(yīng)用的管理模式,從而加強學生信息的管理能力,讓學校整體管理水平得到較大的提升。通過調(diào)查本地的學校,根據(jù)學校的具體情況設(shè)計學生選課信息管理系統(tǒng)。主要功能有:1. 學生管理:學生信息查詢、插入、刪除、修改等2. 課程管理:課程信息查詢、插入、刪

7、除、修改等3. 選課管理:選課信息查詢、插入、刪除、修改等4. 系統(tǒng)管理:操作員信息的管理5. 系統(tǒng)維護:如數(shù)據(jù)安全管理(含備份與恢復)、操作員管理、權(quán)限設(shè)置等 數(shù)據(jù)流圖請求結(jié)果正確信息輸入請求更新請求更新結(jié)果輸入請求核對結(jié)果待檢驗信息信息規(guī)范操作員正確信息輸出結(jié)果錯誤信息個人信息管理系統(tǒng)查詢認證操作員P規(guī)則表信息規(guī)范輸出結(jié)果輸入請求教師輸出結(jié)果學生輸出結(jié)果輸入請求查詢信息處理標準查詢表圖2.1 數(shù)據(jù)流圖(1)規(guī)范表修改請求規(guī)范表插入結(jié)果插入請求插入結(jié)果插入請求查詢結(jié)果查詢請求信息規(guī)范P2插入操作員P1查詢規(guī)范表修改結(jié)果修改請求刪除結(jié)果刪除請求查詢請求查詢結(jié)果管理系統(tǒng)刪除請求修改結(jié)果P3修改P

8、4刪除圖2.2 數(shù)據(jù)流圖(2) 數(shù)據(jù)字典數(shù)據(jù)元素數(shù)據(jù)類型長度數(shù)據(jù)來源學號char5學生表學生姓名char8學生表性別char2學生表生日smalldatetimedefault學生表所在系char20學生表課程號char3課程表課程名char20課程表學分decimal3,1課程表學號char5選課表課程號char3選課表操作員編號char4操作員表操作員姓名char12操作員表密碼char10操作員表權(quán)限char20操作員表2.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 E-R圖學號選課成績學生nm姓名所在系出生日期性別課程課程代碼課程名稱先行課號學分操作員操作員編號操作員姓名名密碼權(quán)限圖2.3 數(shù)據(jù)庫E-R圖

9、 實體及屬性的定義表2-1 學生信息表Student的表結(jié)構(gòu)主碼列 名數(shù)據(jù)類型寬度小數(shù)位空否備 注PkSnoChar5 N學號 SnameChar8 N姓名 SexChar2 Y性別 SbirthSmallDatetime  Y出生日期 SdeptChar20 Y所在系表2-2 課程信息表Course的表結(jié)構(gòu)主碼列 名數(shù)據(jù)類型寬度小數(shù)位空否備 注PkCnoChar3 N課程代碼 CnameChar20 N課程名稱 CreditDecimal31Y學分表2-

10、3 選課成績表SC的表結(jié)構(gòu)主碼列 名數(shù)據(jù)類型寬度小數(shù)位空否備 注PkSnoChar5 N學號CnoChar3 N課程代碼 GradeDecimal51Y成績表2-4 操作員表Operator的表結(jié)構(gòu)主碼列 名數(shù)據(jù)類型寬度小數(shù)位空否備 注PkOperator_idChar4 N操作員編號 Operator_nameChar12 N操作員姓名 PasswordChar10 Y密碼 PermissionChar20 Y權(quán)限2.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 初始關(guān)系模式Student(Sno,Sname,Se

11、x,Sbirth,Sdept)其中各項含義分別為:學生(學號,姓名,性別,出生日期,所在系)Course(Cno,Cname,Credit)其中各項含義分別為:課程(課程代碼,課程名稱,學分)SC(Sno,Cno,Grade)其中各項含義分別為:選修(學號,課程代碼,成績)Operator(Operator_id,Operator_name,Password,Permission)其中各項含義分別為:操作員(操作員編號,操作員姓名,密碼,權(quán)限) 規(guī)范化處理經(jīng)過對初始關(guān)系模式的規(guī)范化處理以下關(guān)系模式中不存在部分函數(shù)依賴和傳遞函數(shù)依賴,已經(jīng)達到3NF。(下劃線代表主碼,斜體外碼)Student(S

12、no,Sname,Sex,Sbirth,Sdept)Course(Cno,Cname,Credit)SC(Sno,Cno,Grade)Operator(Operator_id,Operator_name,Password,Permission)2.4 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計 基于SQL Server的數(shù)據(jù)表設(shè)計用SQL SERVER MANAGEMENT STUDIO建表,以學生表為例如下圖所示:圖2.4學生表用SQL語言建表代碼如下:createtable Student(Sno char(5)primarykey,Sname char(8)notnull,Sex char(2)check(se

13、x in('男','女'),Sbirth smalldatetime,Sdept char(20);gocreatetable Course(Cno char(3)primarykey,Cname char(20)notnull,Credit Decimal(3,1)gocreatetable SC(Sno char(5)references Student(Sno),Cno char(3)references Course(Cno),Grade decimal(5,1),constraint pk primarykey(Sno,Cno)gocreatetabl

14、e Operator(Operator_id char(4)primarykey,Operator_name char(12)notnull,Passwordchar(10),Permission char(20)default'0')go 索引表表2-5 學生信息表Student的表索引表索引列 名數(shù)據(jù)類型寬度主SnoChar5無SnameChar8無 SexChar2無 SbirthSmallDatetime 無 SdeptChar20表2-6 課程信息表Course的索引表索引列 名數(shù)據(jù)類型寬度主CnoChar3無CnameChar

15、20無 CreditDecimal3表2-7 選課成績表SC的索引表索引列 名數(shù)據(jù)類型寬度主SnoChar5CnoChar3 無GradeDecimal5表2-8 操作員表Operator的索引表索引列 名數(shù)據(jù)類型寬度主Operator_idChar4無 Operator_nameChar12無 PasswordChar10無 PermissionChar20 角色建立了操作員角色圖2.5 角色 視圖用SQL管理工具建立常用的一個視圖,即學生_成績視圖。菜單欄中單擊工具 向?qū)?數(shù)據(jù)庫 創(chuàng)建視圖向?qū)Вx擇你所要建的試圖的對象,選擇列名,按照提示,

16、最后單擊完成即可。使用SQL語句建立視圖的命令如下:createview 學生_成績asselect sc.sno,sname,o,cname,gradefrom student join sc on student.sno = sc.snojoin course on o =o圖2.6學生_成績視圖預(yù)覽2.5 數(shù)據(jù)庫操作部分2.5.1 數(shù)據(jù)庫的插入操作INSERT INTO <表名>(<屬性列1>,<屬性列2>) VALUES(<常量1>,<常量2>);例如:在學生表中插入一個新同學的相關(guān)信息(注:學號是主碼,故不可以相同)inse

17、rtinto studentvalues('04','張偉','男',1990-2-3,'計算機') 數(shù)據(jù)庫的修改操作UPDATE <表名> SET<列名>=<表達式> WHERE<條件>例如:在學生表中修改學號為04的所在系為人文科學。update studentset sdept='人文科學'where sno='04' 數(shù)據(jù)庫的刪除操作DELETEFROM<表名>WHERE<條件>例如:刪除學號為04的相關(guān)信息delete

18、from studentwhere sno='04' 數(shù)據(jù)庫的備份及還原操作使用 SQL Server 模糊備份和還原操作: 將包含數(shù)據(jù)的擴展盤區(qū)寫入備份集,而無需考慮使備份期間正由用戶修改的頁同步。這顯著減小了備份對當前用戶的影響。還使備份得以串行地復制頁。取消了所有隨機讀取,從而加快使用頻繁的系統(tǒng)中的備份過程。但這同時也意味著備份中的頁以一種不一致的、無法恢復的狀態(tài)存儲。 將事務(wù)日志作為備份的一部分復制。 RESTORE 語句: RESTOREFILELISTONLYFROMDISK='D:info.bak'RESTOREDATABASE TestDB FR

19、OMDISK='D:info.bak'WITHMOVE'info'TO'D:testdb.mdf',MOVE'info_log'TO'D:testdb.ldf'如果數(shù)據(jù)庫不存在,則創(chuàng)建數(shù)據(jù)庫,并初始化數(shù)據(jù)庫中的擴展盤區(qū)。如果 RESTORE 語句執(zhí)行時數(shù)據(jù)庫已存在,則可以跳過這一步。 復制備份集中的擴展盤區(qū)。因為所有的擴展盤區(qū)都按串行順序排列,所以這個過程較快。將忽略未在備份集中找到的擴展盤區(qū);它們將不作為空的擴展盤區(qū)進行初始化。 使用事務(wù)日志恢復數(shù)據(jù)庫。將日志中記錄的數(shù)據(jù)修改前滾到日志末尾,然后回滾任何未完成的事

20、務(wù)。這將使數(shù)據(jù)庫返回到一致的已恢復狀態(tài),這種狀態(tài)與數(shù)據(jù)庫在 BACKUP 語句完成時的狀態(tài)一致。 備份數(shù)據(jù)庫BACKUPDATABASE infoTODISK='D:info.bak'還原數(shù)據(jù)庫-返回由備份集內(nèi)包含的數(shù)據(jù)庫和日志文件列表組成的結(jié)果集RESTOREFILELISTONLYFROMDISK='D:info.bak'-還原由BACKUP備份的數(shù)據(jù)庫RESTOREDATABASE infoFROMDISK='D:info.bak'-指定還原后的數(shù)據(jù)庫物理文件名稱及路徑RESTOREDATABASETestDBFROMDISK='D

21、:info.bak'WITHMOVE'info'TO'D:testtestdb.mdf',MOVE'info_log'TO'D:testtestdb.ldf'MOVE'logical_file_name'TO'operating_system_file_name'指定應(yīng)將給定的 logical_file_name 移到 operating_system_file_name。默認情況下,logical_file_name 將還原到其原始位置。如果使用 RESTORE 語句將數(shù)據(jù)庫復制到相同或不

22、同的服務(wù)器上,則可能需要使用 MOVE 選項重新定位數(shù)據(jù)庫文件以避免與現(xiàn)有文件沖突。可以在不同的 MOVE 語句中指定數(shù)據(jù)庫內(nèi)的每個邏輯文件。 -強制還原,加上REPLACE參數(shù),則在現(xiàn)有數(shù)據(jù)庫基礎(chǔ)上強制還原。RESTOREDATABASE TestDB FROMDISK='D:info.bak'WITHREPLACE,MOVE'info'TO'D:testtestdb.mdf',MOVE'info_log'TO'D:testtestdb.ldf' 關(guān)系圖圖2.7關(guān)系圖第三章 系統(tǒng)界面設(shè)計部分3.1應(yīng)用程序與其菜單

23、項規(guī)劃進行數(shù)據(jù)庫應(yīng)用開發(fā)的特點,設(shè)計過程可按如下步驟進行:l 創(chuàng)建應(yīng)用庫及應(yīng)用對象;l 創(chuàng)建全局變量;l 創(chuàng)建菜單;l 創(chuàng)建數(shù)據(jù)窗口;l 創(chuàng)建窗口并在窗口中放置所需控件。系統(tǒng)的主菜單、各菜單項標題、名稱:n 學生管理(m_student)u 學生信息錄入(m_student_input):open(w_student_input)u 學生信息查詢(m_student_query):open(w_student_query)n 課程管理(m_course)u 課程設(shè)置(m_course_set):open(w_course_set)u 課程查詢(m_course_query):open(w_co

24、urse_query)n 成績管理(m_score)u 成績錄入(m_score_input):open(w_score_input)u 成績查詢(m_score_query)Ø 按學生查詢(m_score_query_student):open(w_score_query_student)Ø 按課程查詢(m_score_query_course): open(w_score_query_course)n 系統(tǒng)管理(m_system)u 口令更改(m_system_password):open(w_changepassword)u 重新登錄(m_system_relogin

25、):open(w_login)u 操作員管理(m_system_operator):open(w_operator)n 退出系統(tǒng)(m_system_exit):close(parentwindow)其中方形為一級菜單、菱形為二級子菜單、箭頭為三級子菜單。3.2登錄界面設(shè)計打開程序后,首先進入歡迎與登錄界面:圖3.1 歡迎界面圖3.2登錄界面3.3 主界面設(shè)計本程序是一個MDI(Multiple Document Interface)的多窗體文檔界面。在一個主窗體下可以同時開啟復數(shù)個子窗體,為此可實現(xiàn)一個同時的多點查詢與操作。圖3.3MDI主窗體及其子窗體介紹3.4子界面設(shè)計下面將以學生信息錄入為例來介紹子窗體的設(shè)計,其余子窗體也大致采用類似的設(shè)計方法。首先點擊菜單學生管理學生信息錄入菜單項,彈出學生信息錄入子窗體。圖3.4學生信息錄入子窗體當單擊“添加”按鈕時,將會彈出添加學生信息子窗體,確定后添加新紀錄進入數(shù)據(jù)庫。圖3.5學生信息錄入子窗體再次查看學生表,可發(fā)現(xiàn)新添加的記錄:圖3.6學生信息錄入成功通過打開菜單學生信息管理學生信息查詢菜單項,可以通過學號或姓名兩種方式來查詢學生信息。以下以通過學號

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論