SQL學生選課數(shù)據(jù)庫開發(fā)_第1頁
SQL學生選課數(shù)據(jù)庫開發(fā)_第2頁
SQL學生選課數(shù)據(jù)庫開發(fā)_第3頁
SQL學生選課數(shù)據(jù)庫開發(fā)_第4頁
SQL學生選課數(shù)據(jù)庫開發(fā)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE7XXXX職業(yè)技術學院《網(wǎng)絡數(shù)據(jù)庫SQLSERVER2005》課程實訓說明書系(部):信息工程系班級:XXXXXXX姓名:XXXX指導教師:XXXXXXXXXXX20XX~20XX學年第二學期摘要隨著在校學生人數(shù)的不斷增加,學生選課管理系統(tǒng)的數(shù)據(jù)量也不斷的上漲。以往的選課方法是隨堂報名。這種方法雖然直接,但是造成選課的盲目性和教務處處理數(shù)據(jù)的繁重性,也會造成數(shù)據(jù)遺失,得不到及時的更新。而計算機技術逐漸成熟,以及計算機的普遍使用,為選課管理系統(tǒng)的開發(fā)與實施提供了堅定的基礎。使教學人員及學生進行選課管理,方便學生進行選課操作,使工作人員從繁瑣的填表,查表工作中解放出來;使供需雙方都獲得滿意的結果;促進報表、統(tǒng)計數(shù)字的規(guī)范化;提高工作效率;降低選課管理維護費用,提高行政工作效率,改善服務質量,為學校領導決策提供支持,該系統(tǒng)的設計目標盡量達到人力與設備的節(jié)省,并且處理數(shù)據(jù)的速度提高,使每個學生能夠選擇自己所喜歡的科目,針對學生選課這一環(huán)節(jié),本系統(tǒng)從學生網(wǎng)上自主選課以及教師的課程發(fā)布兩個大方面進行了設計,基本實現(xiàn)了學生的在線信息查詢、選課功能以及教師對課程信息發(fā)布的管理等功能。直至現(xiàn)在,選課管理系統(tǒng)經(jīng)過不斷完善,已經(jīng)能夠方便學生選擇自己所需、感興趣的課程,也能讓教師發(fā)布課程信息,更能讓教務人員準確、及時地處理選課信息。選課管理系統(tǒng)是學校教務系統(tǒng)中很龐大、很復雜的一個數(shù)據(jù)庫系統(tǒng),在這里我們將其簡化,只選取了部分比較直觀的關系模式。我們設計的系統(tǒng)涉及學生信息、班級信息、學生選擇的課程信息、課程信息。學生與選課之間是多對多關系,學生與班級之間是多對一關系,每個學生可選多門課程。建了Student、SelectCourse、Course、Class、Department五張表。Student表是學生的個人信息,SelectCourse表是學生選擇的課程以及各門課程的成績,Course表是課程的相關信息,Class表是班級的相關信息,Department表是各系部的信息表。關鍵字:學生、數(shù)據(jù)庫、選課、管理目錄目錄 3第一章需求分析 41.1背景介紹 41.2問題描述 4第二章概念設計 52.1數(shù)據(jù)庫設計 52.2整體E-R圖 62.3部分E-R圖 6第三章詳細設計 83.1數(shù)據(jù)庫的建立 83.2表的建立及表之間的約束 83.3表中數(shù)據(jù)填充 103.4數(shù)據(jù)庫功能的驗證 13第四章總結 194.1任務規(guī)劃 194.2實訓總結 19第一章需求分析1.1背景介紹我們組設計的是學生選課數(shù)據(jù)庫管理系統(tǒng),選課數(shù)據(jù)庫管理系統(tǒng).是學校教務系統(tǒng)中很龐大、很復雜的一個數(shù)據(jù)庫系統(tǒng),在這里我們將其簡化,只選取了部分比較直觀的關系模式。我們設計的系統(tǒng)涉及班級、學生信息、課程信息、選課信息、還有成績管理及查詢。所實現(xiàn)的功能:能記錄班級、學生以及課程的基本情況,能記錄學生所選的課程以及相應的成績。每個學生只能被一個班級管理,每個學生可選多門課程或者不選,每個學生選修的每門課程有一個成績記載,學生在系統(tǒng)中可以查詢成績。根據(jù)分析,本系統(tǒng)的實體有學生、班級、課程和選課信息以及所屬系部。描述學生的屬性有:學號、班級、姓名、性別、籍貫、成績、政治面貌、身份證號、考試次數(shù)等。描述班級的屬性有:班級編號、班級名稱、班級人數(shù)、班主任。描述課程的屬性有:課程編碼、課程名稱、開課學期、開課系部、學分。描述選課信息的屬性有:學號、課程編號、考試成績。描述系部信息的屬性有:系部名稱、系部代號。每個學生只能屬于一個班級,每個學生可選多門課程或者不選。學生進入查詢自己所有信息。1.2問題描述為了拓寬學生的知識面,以及考慮到各個學生的興趣愛好不同,學校開設了種類繁多的選課程此系統(tǒng)方便學生選課和看自己選課信息,學生選課系統(tǒng)方案分析,開發(fā)主要包括后臺SQLserver2000數(shù)據(jù)庫的建立和維護,要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。第二章概念設計2.1數(shù)據(jù)庫設計班級信息表Class編號名稱班主任人數(shù)所在系列名ClassIDClassNameClassLeaderClassNumberDepartmentName數(shù)據(jù)類型intvarchar(50)nvarchar(50)intnvarchar(50)課程表信息Course編號課程名稱課程編號所在系列名ClassIDCourseNameScoreDepartmentName數(shù)據(jù)類型intvarchar(50)Intnvarchar(50)系部信息Department編號系部名稱列名DepartmentIDDepartmentName數(shù)據(jù)類型intvarchar(50)選課信息Course編號課程編號課程名稱學生編號成績列名SelectIDCourseIDCourseNameStudentIDRecord數(shù)據(jù)類型intvarchar(50)varchar(50)intint學生Student學號姓名班級編號身份證號性別列名StudentIDStudentNameClassIDIDSex數(shù)據(jù)類型intVarchar(50)intVarchar(20)Char(2)政治面貌籍貫考試次數(shù)列名PoliticalNativeTestNum數(shù)據(jù)類型Varchar(50)Varchar(50)int2.2整體E-R圖2.3部分E-R圖1、班級E-R圖ClassClassClassIDClassNameDepartmentNameClassLeaderClassNumber2、課程E-R圖CourseCourseCourseTermmmCourseNameCourseIDScore3、系部E-R圖DepartmentDepartmentDepartmentIDDepartmentName4、班級E-R圖SelectCourseSelectCourseSelectIDCourseIDCourseNameStudentIDerRecord5、學生E-R圖StudentStudentStudentIDSexStudentNmaeIDClassIDPoliticalNativeRecordTestNum第三章詳細設計3.1數(shù)據(jù)庫的建立3.2表的建立及表之間的約束--在xsxk數(shù)據(jù)庫中創(chuàng)建Student表usexsxkgocreatetableStudent(StudentIDintnotnullprimarykey,StudentNamevarchar(50),ClassIDint,IDvarchar(20),Sexchar(2),Politicalvarchar(50),Nativevarchar(50),TestNumint)go--在xsxk數(shù)據(jù)庫中創(chuàng)建Class表createtableClass(ClassIDintnotnullprimarykey,ClassNamevarchar(50),ClassLeadervarchar(50),ClassNumberint,DepartmentNamevarchar(50))--在xsxk數(shù)據(jù)庫中創(chuàng)建Course表createtableCourse(CourseIDvarchar(50)notnullprimarykey,CourseNamevarchar(50),CourseTermint,Scoreint,DepartmentNamevarchar(50))--在xsxk數(shù)據(jù)庫中創(chuàng)建Department表createtableDepartment(DepartmentIDint,DepartmentNamevarchar(50)notnullprimarykey)--在xsxk數(shù)據(jù)庫中創(chuàng)建SelectCourse表createtableSelectCourse(SelectIDintnotnullprimarykey,CourseIDvarchar(50),StudentIDint,CourseNamevarchar(50),Recordint)--在xsxk中創(chuàng)建約束usexsxkALTERTABLESelectCourseADDCONSTRAINTFK_Select_SelectFOREIGNKEY(SelectID)REFERENCESSelectCourse(SelectID)ALTERTABLESelectCourseADDCONSTRAINTfk_SelectCourse_Course_CourseIDFOREIGNKEY(CourseID)REFERENCESCourse(CourseID)ALTERTABLESelectCourseADDCONSTRAINTFK_SelectCourse_Student_StudentIDFOREIGNKEY(StudentID)REFERENCESStudent(StudentID)ALTERTABLEStudentADDCONSTRAINTfk_Student_Class_ClassIDFOREIGNKEY(ClassID)REFERENCESClass(ClassID)ALTERTABLEClassADDCONSTRAINTfk_Class_department_DepartmentNameFOREIGNKEY(DepartmentName)REFERENCESDepartment(DepartmentName)3.3表中數(shù)據(jù)填充1、Class表2、Student表3、Course表4、Department表5、SelectCourse表3.4數(shù)據(jù)庫功能的驗證1、查詢所有學生的基本個人信息。usexsxkgoselects.*,c.ClassName,c.ClassLeaderfromStudents,Classcwheres.ClassID=c.ClassIDgo查詢“王巧”同學所選課程的成績情況,要求成績按降序排列,查詢結果包括姓名、課程名稱、學分和成績等字段。usexsxkselects.StudentName,sc.CourseName,c.Score,sc.RecordfromStudents,SelectCoursesc,Coursecwheresc.StudentID=s.StudentIDandsc.CourseID=c.CourseIDands.StudentName='王巧'Orderbysc.Recorddesc查詢所有選修了“計算機組裝與維修(或其他表中存在的其他課程名稱)”這門課程并且成績在85分以上的成績情況,查詢結果包括姓名、班級、班主任、開課學期、課程名稱、成績和學分等字段。usexsxkgoselects.StudentName,c.ClassName,c.ClassLeader,o.CourseTerm,sc.CourseName,sc.Record,o.ScorefromStudents,Classc,SelectCoursesc,Courseowheresc.StudentID=s.StudentIDandsc.CourseID=o.CourseIDands.ClassID=c.ClassIDandsc.CourseName='計算機組裝與維護'andsc.Record>85orderbysc.Recorddescgo查詢班主任“王小明”班學生的各門課程成績。usemyDB1goselects.StudentName,c.ClassName,c.ClassLeader,o.CourseTerm,sc.CourseName,sc.Record,o.ScorefromStudents,Classc,SelectCoursesc,Courseowheresc.StudentID=s.StudentIDandsc.CourseID=o.CourseIDands.ClassID=c.ClassIDandc.ClassLeader='王小明'go查詢班主任“王小明”班所有補考過的學生姓名和補考課程。usemyDB1goselects.StudentNameas補考學生,c.ClassNameas班級名稱,c.ClassLeaderas班主任,o.CourseTermas學期,sc.CourseNameas補考課程fromStudents,Classc,SelectCoursesc,Courseowheresc.StudentID=s.StudentIDandsc.CourseID=o.CourseIDands.ClassID=c.ClassIDandsc.Record<60go創(chuàng)建一個名為“學生_pro1”的存儲過程,帶有一個參數(shù)接收指定學生姓名,用于查詢該學生的所有課程的成績以及該學生的基本信息usemyDB1gocreateproc學生_pro1(@stvarchar(20))asselects.*,c.ClassName,c.ClassLeader,sc.CourseName,sc.Record,c.DepartmentNamefromStudents,Classc,SelectCoursescwheres.ClassID=c.ClassIDandsc.StudentID=s.StudentIDands.StudentName=@stgo調用存儲過程“學生_pro1”,查詢“李明明(或其他表中存在的學生姓名)”的所有課程的成績以及該學生的基本信息usemyDB1GOexec學生_pro1'潘超'GO創(chuàng)建一個名為“學生_pro2”的存儲過程,帶有一個參數(shù)接收指定學生姓名,用于查詢該學生是否可以畢業(yè)。(畢業(yè)條件為該學生修滿5學分。usemyDB1gocreateproc學生_pro2@stvarchar(20)asifexists(selectsc.StudentID,sum(c.Score)as總學分fromSelectCoursesc,Coursec,Studentswheresc.CourseID=c.CourseIDands.StudentID=sc.StudentIDands.StudentName=@stgroupbysc.StudentIDhavingsum(c.Score)>=5)print@st+'同學已修滿學分,準許畢業(yè)'elseprint@st+'同學未修滿學分,不允許畢業(yè)'go調用存儲過程“學生_pro2”,查詢“李明明(或其他表中存在的學生姓名)”是否可以畢業(yè)usexsxkgoexec學生_pro2'潘超'gousemyDB1goexec學生_pro2'楊寶'go統(tǒng)計所有選課學生的學分。usexsxkgoselectsc.StudentID,sum(c.Score)as總學分fromSelectCoursesc,Coursecwheresc.CourseID=c.CourseIDgroupbysc.StudentIDgo第四章總結4.1任務規(guī)劃實訓的內容:(1)整體架構E—R圖(2)局部E—R圖(Student、CourseSelect、Course、Department、Class)(3)使用T—SQL語句建表(Student、CourseSelect、Course、Department、Class)(4)創(chuàng)建表之間的約束(4個)(5)表中數(shù)據(jù)的填充(Student、CourseSelect、Course、Department、Class)(6)功能的操作(1--10)任務分配組長:XXXX:XSXK系統(tǒng)管理的整體架構E—R圖、使用T—SQL語句建表(Student、Co

溫馨提示

  • 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

提交評論