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

下載本文檔

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

文檔簡(jiǎn)介

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

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

3、008出現(xiàn)在微軟數(shù)據(jù)平臺(tái)愿景上是因?yàn)樗沟霉究梢赃\(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序,同時(shí)降低了管理數(shù)據(jù)基礎(chǔ)設(shè)施和發(fā)送觀察和信息給所有用戶(hù)的成本。這個(gè)平臺(tái)有以下特點(diǎn):1.可信任的:使得公司可以以很高的安全性、可靠性和可擴(kuò)展性來(lái)運(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序。2.高效的:使得公司可以降低開(kāi)發(fā)和管理他們的數(shù)據(jù)基礎(chǔ)設(shè)施的時(shí)間和成本。3.智能的:提供了一個(gè)全面的平臺(tái),可以在你的用戶(hù)需要的時(shí)候給他發(fā)送觀察和信息。2.2 Microsoft Visual C+ 6.0概述Microsoft Visual C+是Microsoft公司推出的開(kāi)發(fā)Win32環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它不但具有程序框架自動(dòng)

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

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

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

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

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

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

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

11、se_cnochar外部鍵課程號(hào)student_snochar外部鍵學(xué)號(hào)scoreint成績(jī)2.3 功能分析一個(gè)完整的數(shù)據(jù)庫(kù)不可缺少的就是數(shù)據(jù)表,若干個(gè)數(shù)據(jù)表的集合成一個(gè)數(shù)據(jù)庫(kù)。數(shù)據(jù)表主要用來(lái)存放一定格式的記錄,數(shù)據(jù)表中的行被稱(chēng)為記錄,列被稱(chēng)為字段。創(chuàng)建數(shù)據(jù)表的過(guò)程其實(shí)就是定義字段的過(guò)程。(1)創(chuàng)建學(xué)生基本信息表:create table Student ( 學(xué)號(hào) 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 (學(xué)號(hào))go)goexecute sp_addextendedproperty 'MS_Description', '學(xué)生基本信息描述', '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 (課程號(hào))goexecute sp_addextendedproperty 'MS_Description', (3)創(chuàng)建學(xué)生與課程的成績(jī)表create table SC ( sno varchar(11) not null,cno varchar(5) not null,chengji varchar(4) not null constraint PK_SC primary key (學(xué)號(hào), 課程號(hào))go在SC表上創(chuàng)建索引SC_FK與SC2_FKc

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

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

16、學(xué)號(hào)和課程號(hào)??梢耘c學(xué)生關(guān)系模式合并為:學(xué)生(學(xué)號(hào),姓名,性別,年齡,地址,系別,成績(jī),課程號(hào))。3.3.1 主界面模塊下圖顯示了學(xué)生登陸系統(tǒng)進(jìn)行查詢(xún)時(shí)界面:3.3.2 成績(jī)查詢(xún)功能模塊3.3.3 課程查詢(xún)時(shí)界面模塊3.3 數(shù)據(jù)庫(kù)實(shí)現(xiàn)此階段主要任務(wù)包括創(chuàng)建數(shù)據(jù)庫(kù),加載初始數(shù)據(jù),數(shù)據(jù)庫(kù)試運(yùn)行,數(shù)據(jù)庫(kù)的安全性和完整性控制數(shù)據(jù)庫(kù)的備份與恢復(fù),數(shù)據(jù)庫(kù)性能的監(jiān)督分析和改僅,數(shù)據(jù)庫(kù)的重組和重構(gòu)等。首先在數(shù)據(jù)庫(kù)中建立一個(gè)學(xué)生成績(jī)管理系統(tǒng)數(shù)據(jù)庫(kù),然后新建一個(gè)數(shù)據(jù)源。3.3.1 數(shù)據(jù)庫(kù)的建立 數(shù)據(jù)庫(kù)建立代碼:#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ù)庫(kù)的更新插入數(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/成績(jī)不為空CString strSQL;/查出該學(xué)生的學(xué)號(hào)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();/查出該課程的課程號(hào) 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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論