SQLserver數(shù)據(jù)庫課程設計模板_第1頁
SQLserver數(shù)據(jù)庫課程設計模板_第2頁
SQLserver數(shù)據(jù)庫課程設計模板_第3頁
SQLserver數(shù)據(jù)庫課程設計模板_第4頁
SQLserver數(shù)據(jù)庫課程設計模板_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、大連理工大學網(wǎng)絡教育學院畢業(yè)論文(設計)模板華立學院課 程 設 計課程名稱_數(shù)據(jù)庫原理_題目名稱 學生系別_機電學部_專業(yè)班級_13網(wǎng)絡1班_學 號_ _學生姓名_ _指導教師_張稼_II1 項目概況隨著科技的發(fā)展,基本上所有的具有一定數(shù)量數(shù)據(jù)的機構都開始使用計算機數(shù)據(jù)庫來做管理。幾乎所有學校也都已經(jīng)在使用計算機管理數(shù)據(jù)的機制,大大減少了學校學生成績管理的工作量。該課程設計要求設計一個學生成績的數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫中要求包含學生的基本信息,學科基本信息,以及學生所學課程的考試成績。要方便學生進行成績查詢,通過該課程設計,應該達到把數(shù)據(jù)庫理論知識更加的鞏固加深,加強動手能力與實踐能力,學以致用

2、,與現(xiàn)實生活中的應用充分的結合起來。2.1 SQL 數(shù)據(jù)庫簡介SQL Server 2008是一個重大的產(chǎn)品版本,它推出了許多新的特性和關鍵的改進,使得它成為至今為止的最強大和最全面的SQL Server版本。這篇文章詳細介紹了Microsoft SQL Server 2008中的新的特性、優(yōu)點和功能。 在現(xiàn)今數(shù)據(jù)的世界里,公司要獲得成功和不斷發(fā)展,他們需要定位主要的數(shù)據(jù)趨勢的愿景。微軟的這個數(shù)據(jù)平臺愿景幫助公司滿足這些數(shù)據(jù)爆炸和下一代數(shù)據(jù)驅動應用程序的需求。微軟將繼續(xù)投入和發(fā)展以下的關鍵領域來支持他們的數(shù)據(jù)平臺愿景:關鍵任務企業(yè)數(shù)據(jù)平臺、動態(tài)開發(fā)、關系數(shù)據(jù)和商業(yè)智能。SQL Server 2

3、008出現(xiàn)在微軟數(shù)據(jù)平臺愿景上是因為它使得公司可以運行他們最關鍵任務的應用程序,同時降低了管理數(shù)據(jù)基礎設施和發(fā)送觀察和信息給所有用戶的成本。這個平臺有以下特點:1.可信任的:使得公司可以以很高的安全性、可靠性和可擴展性來運行他們最關鍵任務的應用程序。2.高效的:使得公司可以降低開發(fā)和管理他們的數(shù)據(jù)基礎設施的時間和成本。3.智能的:提供了一個全面的平臺,可以在你的用戶需要的時候給他發(fā)送觀察和信息。2.2 Microsoft Visual C+ 6.0概述Microsoft Visual C+是Microsoft公司推出的開發(fā)Win32環(huán)境程序,面向對象的可視化集成編程系統(tǒng)。它不但具有程序框架自動

4、生成、靈活方便的類管理、代碼編寫和界面設計集成交互操作、可開發(fā)多種程序等優(yōu)點,而且通過簡單的設置就可使其生成的程序框架支持數(shù)據(jù)庫接口、OLE2,WinSock網(wǎng)絡、3D控制界面。Visual C+6.0由Microsoft開發(fā), 它不僅是一個C+ 編譯器,而且是一個基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development environment,IDE)。Visual C+6.0由許多組件組成,包括編輯器、調試器以及程序向導AppWizard、類向導Class Wizard等開發(fā)工具。 這些組件通過一個名為Developer Studio的組件集成為和諧的開

5、發(fā)環(huán)境。Microsoft的主力軟件產(chǎn)品。Visual C+是一個功能強大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出Visual C+1.0后,隨著其新版本的不斷問世,Visual C+已成為專業(yè)程序員進行軟件開發(fā)的首選工具。雖然微軟公司推出了Visual C+.NET(Visual C+7.0),但它的應用的很大的局限性,只適用于Windows 2000,Windows XP和Windows NT4.0。所以實際中,更多的是以Visual C+6.0為平臺。Visual C+6.0以擁有“語法高亮”,自動編譯功能以及高級除錯功能而著稱。比如,它允許用戶進行遠程調試,單步執(zhí)行

6、等。還有允許用戶在調試期間重新編譯被修改的代碼,而不必重新啟動正在調試的程序。其編譯及創(chuàng)建預編譯頭文件(stdafx.h)、最小重建功能及累加連結(link)著稱。這些特征明顯縮短程序編輯、編譯及連結的時間花費,在大型軟件計劃上尤其顯著。由于C+是由C語言發(fā)展起來的,也支持C語言的編譯。6.0版本是使用最多的版本,很經(jīng)典。最大的缺點是對于模版的支持比較差。現(xiàn)在最新補丁為SP6,推薦安裝,否則易出現(xiàn)編譯時假死狀態(tài)。僅支持Windows操作系統(tǒng)。發(fā)現(xiàn)與windows 7兼容性不好,安裝成功后可能會出現(xiàn)無法打開cpp文件的現(xiàn)象。2.1 學生成績管理系統(tǒng)概述本程序為學生信息管理程序,有如下兩大模塊構成

7、:一是學生的基本信息模塊,里面應該包含學生的各方面的基本信息;再者便是課程管理模塊, 在該模塊中應該包含有對學生成績信息的查詢和處理,如平均成績、最好成績、最差成績以及不及格學生的統(tǒng)計等功能模塊;二是教師、課程等相關信息的模塊。后臺使用SQL Server 2008數(shù)據(jù)庫,開發(fā)工具為Visual C+ 6.0。此系統(tǒng)實現(xiàn)如下系統(tǒng)功能:(1)使得學生的成績管理工作更加清晰、條理化、自動化。(2)通過用戶名和密碼登錄系統(tǒng),查詢課程基本資料,學生所選課程成績,修改用戶密碼等功能。 容易地完成學生信息的查詢操作。 (3) 設計人機友好界面,功能安排合理,操作使用方便,并且進一步考慮系統(tǒng)在安全性,完整性

8、,并發(fā)控制,備份和恢復等方面的功能要求。 2 需求分析2.1 需求分析1.信息需求高校學生的成績管理工作量大、繁雜,人工處理非常困難。學生成績管理系統(tǒng)借助于計算機強大的處理能力,大大減輕了管理人員的工作量,并提高了處理的準確性。學生成績管理系統(tǒng)的開發(fā)運用,實現(xiàn)了學生成績管理的自動化,不僅把廣大教師從繁重的成績管理工作中解脫出來、把學校從傳統(tǒng)的成績管理模式中解放出來,而且對學生成績的判斷和整理更合理、更公正,同時也給教師提供了一個準確、清晰、輕松的成績管理環(huán)境。2.功能需求能夠進行數(shù)據(jù)庫的數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制等處理功能,進行聯(lián)機處理的相應時間要短。具體功能應包括:系統(tǒng)應該提供課程安排數(shù)據(jù)

9、的插入、刪除、更新、查詢;成績的添加、修改、刪除、查詢,學生及教職工基本信息查詢的功能。3. 安全性與完整性要求2.2 數(shù)據(jù)分析 數(shù)據(jù)項是數(shù)據(jù)庫的關系中不可再分的數(shù)據(jù)單位,下表分別列出了數(shù)據(jù)的名稱、數(shù)據(jù)類型、長度、取值能否為空。利用SQL Server 2000建立“學生選課”數(shù)據(jù)庫,其基本表清單及表結構描述如下:數(shù)據(jù)庫中用到的表:數(shù)據(jù)庫表名關系模式名稱備注Student學生學生學籍信息表Course課程課程基本信息表Score成績選課成績信息表Student基本情況數(shù)據(jù)表,結構如下:字段名字段類型Not Null說明Student _snoCharPrimary key學號Student _

10、sncharNot Null學生姓名Student _sexchar男或女性別Student _deptchar系別Student_agechar年齡Student_addresschar地址course數(shù)據(jù)表,結構如下:字段名字段類型約束控制說明course_cnochar主鍵(primary key)課程號course_cnamecharnot null課程名稱course_hourintnot null課時course_scorenumeric(2,1)not null學分score情況數(shù)據(jù)表,結構如下:字段名稱數(shù)據(jù)寬度約束控制說明score_idintnot null成績記錄號cour

11、se_cnochar外部鍵課程號student_snochar外部鍵學號scoreint成績2.3 功能分析一個完整的數(shù)據(jù)庫不可缺少的就是數(shù)據(jù)表,若干個數(shù)據(jù)表的集合成一個數(shù)據(jù)庫。數(shù)據(jù)表主要用來存放一定格式的記錄,數(shù)據(jù)表中的行被稱為記錄,列被稱為字段。創(chuàng)建數(shù)據(jù)表的過程其實就是定義字段的過程。(1)創(chuàng)建學生基本信息表:create table Student ( 學號 varchar(11) not null, 系別 varchar(5) not null, 姓名 varchar(6) not null, 性別 varchar(2) not null, 年齡 char(2) not null, 地

12、址 varchar(20) not null, constraint PK_STUDENT primary key (學號)go)goexecute sp_addextendedproperty 'MS_Description', '學生基本信息描述', 'user', '', 'table', 'StudentsInfo'go(2)創(chuàng)建課程表:create table Course ( cno varchar(5) not null, cname varchar(10) null, xueshi

13、smallint null, xuefen int null, constraint PK_COURSE primary key (課程號)goexecute sp_addextendedproperty 'MS_Description', (3)創(chuàng)建學生與課程的成績表create table SC ( sno varchar(11) not null,cno varchar(5) not null,chengji varchar(4) not null constraint PK_SC primary key (學號, 課程號)go在SC表上創(chuàng)建索引SC_FK與SC2_FKc

14、reate index SC_FK on SC (學號 ASC)Gocreate index SC2_FK on SC (課程號 ASC)go 建立課程號索引create index TC_FK on TC (課程號 ASC) go 下圖顯示了學生,課程和成績三個關系的物理設計其中課程號與學號號分別為關系的主碼。3 詳細設計 成績管理系統(tǒng)大體可以分成二大模塊如, 一是學生的基本信息模塊,里面應該包含學生的各方面的基本信息;再者便是課程管理模塊, 在該模塊中應該包含有對學生成績信息的查詢和處理,如平均成績、最好成績、最差成績以及不及格學生的統(tǒng)計等功能模塊;再其次還有教師、課程等相關信息的模塊;可

15、以得到系統(tǒng)流程圖:3.1 系統(tǒng)結構圖由需求分析的結果可知,本系統(tǒng)設計的實體包括:(1)學生基本信息:學號,姓名,性別,地址,年齡,專業(yè)。(2)課程基本信息: 課程名,課程號,分數(shù),學時,學分。 這些實體間的聯(lián)系包括:每位學生可以學習多門課程,每門課程可供多位學生學習。由上述分析可得到系統(tǒng)的ER圖:選修課程成績學生課程號課程名學時 學分分數(shù)學號姓名性別系別 地址年齡3.2 系統(tǒng)實現(xiàn)由系統(tǒng)E-R圖轉化而得到的關系模式如下:(1)學生(學號,姓名,性別,年齡,地址,系別),其主關鍵字為學號;(2)課程(課程名,課程號,學時,學分),其中主關鍵字為課程號;(3)成績(課程號,學號,分數(shù))其中主關鍵字為

16、學號和課程號??梢耘c學生關系模式合并為:學生(學號,姓名,性別,年齡,地址,系別,成績,課程號)。3.3.1 主界面模塊下圖顯示了學生登陸系統(tǒng)進行查詢時界面:3.3.2 成績查詢功能模塊3.3.3 課程查詢時界面模塊3.3 數(shù)據(jù)庫實現(xiàn)此階段主要任務包括創(chuàng)建數(shù)據(jù)庫,加載初始數(shù)據(jù),數(shù)據(jù)庫試運行,數(shù)據(jù)庫的安全性和完整性控制數(shù)據(jù)庫的備份與恢復,數(shù)據(jù)庫性能的監(jiān)督分析和改僅,數(shù)據(jù)庫的重組和重構等。首先在數(shù)據(jù)庫中建立一個學生成績管理系統(tǒng)數(shù)據(jù)庫,然后新建一個數(shù)據(jù)源。3.3.1 數(shù)據(jù)庫的建立 數(shù)據(jù)庫建立代碼:#include "stdafx.h"#include "StudentS

17、core.h"#include "Course.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;/ CCourseIMPLEMENT_DYNAMIC(CCourse, CRecordset)CCourse:CCourse(CDatabase* pdb): CRecordset(pdb)/AFX_FIELD_INIT(CCourse)/AFX_FIELD_INITm_nDefaultType = snapshot;CString CCourse:Ge

18、tDefaultConnect()return _T("ODBC;DSN=");CString CCourse:GetDefaultSQL()return _T("");void CCourse:DoFieldExchange(CFieldExchange* pFX)/AFX_FIELD_MAP(CCourse)pFX->SetFieldType(CFieldExchange:outputColumn);/AFX_FIELD_MAP/ CCourse diagnosticsvoid CCourse:AssertValid() constCRecor

19、dset:AssertValid();void CCourse:Dump(CDumpContext& dc) constCRecordset:Dump(dc);/ MainFrm.h : interface of the CMainFrame classclass CMainFrame : public CFrameWndprotected: / create from serialization onlyCMainFrame();DECLARE_DYNCREATE(CMainFrame)/ Attributespublic:/ Operationspublic:/ Overrides

20、/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CMainFrame)virtual BOOL PreCreateWindow(CREATESTRUCT& cs);/AFX_VIRTUAL/ Implementationpublic:virtual CMainFrame();protected: / control bar embedded members/CStatusBar m_wndStatusBar;/CToolBar m_wndToolBar;/ Generated message map func

21、tionsprotected:/AFX_MSG(CMainFrame)afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);afx_msg void OnPassword();afx_msg void OnUser();afx_msg void OnStudent();afx_msg void OnTeach();afx_msg void OnTeacher();afx_msg void OnScore();afx_msg void OnQueryTeach();afx_msg void OnQueryScore();afx_msg void

22、OnCourse();/AFX_MSGDECLARE_MESSAGE_MAP();3.3.2 數(shù)據(jù)庫的更新插入數(shù)據(jù)表的核心代碼:/AFX_INSERT_LOCATION/ Microsoft Visual C+ will insert additional declarations immediately before the previous line./ CScoreAddDlg dialogCScoreAddDlg:CScoreAddDlg(CWnd* pParent /*=NULL*/): CDialog(CScoreAddDlg:IDD, pParent)/AFX_DATA_INIT

23、(CScoreAddDlg)/AFX_DATA_INITvoid CScoreAddDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CScoreAddDlg)DDX_Control(pDX, IDC_SCORE_STUDENT, m_cStudent);DDX_Control(pDX, IDC_SCORE_SCORE, m_cScore);DDX_Control(pDX, IDC_SCORE_COURSE, m_cCourse);/AFX_DATA_MAPBEGIN_MESSAGE_

24、MAP(CScoreAddDlg, CDialog)/AFX_MSG_MAP(CScoreAddDlg)/AFX_MSG_MAPEND_MESSAGE_MAP()void CScoreAddDlg:OnOK()CString student,course,score,student_no,course_no;m_cStudent.GetWindowText(student);m_cCourse.GetWindowText(course); m_cScore.GetWindowText(score);else/成績不為空CString strSQL;/查出該學生的學號strSQL.Format(

25、"select * from student where active_status='Y' and student_name='%s'",student);CRecordset m_recordSet=&m_database;m_recordSet.Open(CRecordset:forwardOnly,strSQL); m_recordSet.GetFieldValue("student_no",student_no);m_recordSet.Close();/查出該課程的課程號 strSQL.Format(&

26、quot;select * from course where active_status='Y' and course_name='%s'",course);m_recordSet.Open(CRecordset:forwardOnly,strSQL); m_recordSet.GetFieldValue("course_no",course_no);m_recordSet.Close();BOOL CScoreAddDlg:OnInitDialog()CDialog:OnInitDialog();CRecordset m_rec

27、ordSet;if(!m_database.IsOpen()m_database.Open(_T("student"); m_recordSet.m_pDatabase=&m_database;CString strSQL;strSQL.Format("select course_name from course where active_status='Y'"); m_recordSet.Open(CRecordset:forwardOnly,strSQL);for(int i=0;i<m_recordSet.GetRecordCount();i+)CString temp;m_recordSet.GetFieldValue("course_name",temp);m_cCourse.AddString(temp); m_recordSet.MoveNext();m_reco

溫馨提示

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

評論

0/150

提交評論