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

下載本文檔

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

文檔簡介

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

2、L 數(shù)據(jù)庫簡介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ù)趨勢的愿景。微軟的這個(gè)數(shù)據(jù)平臺(tái)愿景幫助公司滿足這些數(shù)據(jù)爆炸和下一代數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序的需求。微軟將繼續(xù)投入和發(fā)展以下的關(guān)鍵領(lǐng)域來支持他們的數(shù)據(jù)平臺(tái)愿景:關(guān)鍵任務(wù)企業(yè)數(shù)據(jù)平臺(tái)、動(dòng)態(tài)開發(fā)、關(guān)系數(shù)據(jù)和商業(yè)智能。SQL Server 2008出現(xiàn)在微軟數(shù)據(jù)平臺(tái)愿景上是因?yàn)樗沟霉究?/p>

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

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

5、ual C+是一個(gè)功能強(qiáng)大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出Visual C+1.0后,隨著其新版本的不斷問世,Visual C+已成為專業(yè)程序員進(jìn)行軟件開發(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以擁有“語法高亮”,自動(dòng)編譯功能以及高級除錯(cuò)功能而著稱。比如,它允許用戶進(jìn)行遠(yuǎn)程調(diào)試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,

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

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

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

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

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

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

12、constraint PK_STUDENT primary key (學(xué)號)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 smallint null, xuefen in

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

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

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

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

17、ot;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:GetDefaultConnect()return

18、_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() constCRecordset:AssertValid();void

19、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/ ClassWizard generated

20、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 functionsprotected:/AFX_MSG(

21、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 OnCourse();/AFX_MSGDECLA

22、RE_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(CScoreAddDlg)/AFX_DATA_

23、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_MAP(CScoreAddDlg, CDialo

24、g)/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;/查出該學(xué)生的學(xué)號strSQL.Format("select * from stud

25、ent 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("select * from cours

26、e 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_recordSet;if(!m_database.Is

27、Open()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_record

溫馨提示

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

最新文檔

評論

0/150

提交評論