SQL学生选课数据库开发_第1页
SQL学生选课数据库开发_第2页
SQL学生选课数据库开发_第3页
SQL学生选课数据库开发_第4页
SQL学生选课数据库开发_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE7XXXX职业技术学院《网络数据库SQLSERVER2005》课程实训说明书系(部):信息工程系班级:XXXXXXX姓名:XXXX指导老师:XXXXXXXXXXX20XX~20XX学年其次学期摘要随着在校同学人数的不断增加,同学选课管理系统的数据量也不断的上涨。以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性和教务处处理数据的繁重性,也会造成数据遗失,得不到准时的更新。而计算机技术逐渐成熟,以及计算机的普遍使用,为选课管理系统的开发与实施供应了坚决的基础。使教学人员及同学进行选课管理,便利同学进行选课操作,使工作人员从繁琐的填表,查表工作中解放出来;使供需双方都获得满意的结果;促进报表、统计数字的规范化;提高工作效率;降低选课管理维护费用,提高行政工作效率,改善服务质量,为学校领导决策供应支持,该系统的设计目标尽量达到人力与设备的节省,并且处理数据的速度提高,使每个同学能够选择自己所喜爱的科目,针对同学选课这一环节,本系统从同学网上自主选课以及老师的课程发布两个大方面进行了设计,基本实现了同学的在线信息查询、选课功能以及老师对课程信息发布的管理等功能。直至现在,选课管理系统经过不断完善,已经能够便利同学选择自己所需、感爱好的课程,也能让老师发布课程信息,更能让教务人员精准、准时地处理选课信息。选课管理系统是学校教务系统中很浩大、很简洁的一个数据库系统,在这里我们将其简化,只选取了部分比较直观的关系模式.我们设计的系统涉及同学信息、班级信息、同学选择的课程信息、课程信息.同学与选课之间是多对多关系,同学与班级之间是多对一关系,每个同学可选多门课程.建了Student、SelectCourse、Course、Class、Department五张表。Student表是同学的个人信息,SelectCourse表是同学选择的课程以及各门课程的成果,Course表是课程的相关信息,Class表是班级的相关信息,Department表是各系部的信息表。关键字:同学、数据库、选课、管理名目TOC\o”1-3"\h\z\uHYPERLINK\l”_Toc296028167"名目ﻩPAGEREF_Toc296028167\h3HYPERLINK\l"_Toc296028168"第一章需求分析 PAGEREF_Toc296028168\h4HYPERLINK\l”_Toc296028169"1.1背景介绍ﻩPAGEREF_Toc296028169\h4HYPERLINK\l”_Toc296028170”1.2问题描述 PAGEREF_Toc296028170\h4HYPERLINK\l”_Toc296028171"其次章概念设计ﻩPAGEREF_Toc296028171\h5HYPERLINK\l”_Toc296028172"2.1数据库设计ﻩPAGEREF_Toc296028172\h5HYPERLINK\l"_Toc296028173"2.2整体E-R图ﻩPAGEREF_Toc296028173\h6HYPERLINK\l"_Toc296028174"2.3部分E-R图ﻩPAGEREF_Toc296028174\h6HYPERLINK\l”_Toc296028175"第三章简略设计ﻩPAGEREF_Toc296028175\h8HYPERLINK\l"_Toc296028176"3.1数据库的建立ﻩPAGEREF_Toc296028176\h8HYPERLINK\l”_Toc296028177"3.2表的建立及表之间的约束ﻩPAGEREF_Toc296028177\h8HYPERLINK\l"_Toc296028178"3.3表中数据填充ﻩPAGEREF_Toc296028178\h10HYPERLINK\l"_Toc296028179"3。4数据库功能的验证ﻩPAGEREF_Toc296028179\h13HYPERLINK\l”_Toc296028180"第四章总结 PAGEREF_Toc296028180\h19HYPERLINK\l"_Toc296028181”4.1任务规划ﻩPAGEREF_Toc296028181\h19HYPERLINK\l”_Toc296028182”4.2实训总结ﻩPAGEREF_Toc296028182\h19第一章需求分析1.1背景介绍我们组设计的是同学选课数据库管理系统,选课数据库管理系统.是学校教务系统中很浩大、很简洁的一个数据库系统,在这里我们将其简化,只选取了部分比较直观的关系模式.我们设计的系统涉及班级、同学信息、课程信息、选课信息、还有成果管理及查询。所实现的功能:能记录班级、同学以及课程的基本情况,能记录同学所选的课程以及相应的成果.每个同学只能被一个班级管理,每个同学可选多门课程或者不选,每个同学选修的每门课程有一个成果记载,同学在系统中可以查询成果。依据分析,本系统的实体有同学、班级、课程和选课信息以及所属系部。描述同学的属性有:学号、班级、姓名、性别、籍贯、成果、政治面貌、身份证号、考试次数等。描述班级的属性有:班级编号、班级名称、班级人数、班主任。描述课程的属性有:课程编码、课程名称、开课学期、开课系部、学分。描述选课信息的属性有:学号、课程编号、考试成果。描述系部信息的属性有:系部名称、系部代号。每个同学只能属于一个班级,每个同学可选多门课程或者不选.同学进入查询自己全部信息.1。2问题描述为了拓宽同学的知识面,以及考虑到各个同学的爱好爱好不同,学校开设了种类繁多的选课程此系统便利同学选课和看自己选课信息,同学选课系统方案分析,开发主要包括后台SQLserver2000数据库的建立和维护,要求建立起数据全都性和完整性强、数据平安性好的库。其次章概念设计2。1数据库设计班级信息表Class编号名称班主任人数所在系列名ClassIDClassNameClassLeaderClassNumberDepartmentName数据类型intvarchar(50)nvarchar(50)intnvarchar(50)课程表信息Course编号课程名称课程编号所在系列名ClassIDCourseNameScoreDepartmentName数据类型intvarchar(50)Intnvarchar(50)系部信息Department编号系部名称列名DepartmentIDDepartmentName数据类型intvarchar(50)选课信息Course编号课程编号课程名称同学编号成果列名SelectIDCourseIDCourseNameStudentIDRecord数据类型intvarchar(50)varchar(50)intint同学Student学号姓名班级编号身份证号性别列名StudentIDStudentNameClassIDIDSex数据类型intVarchar(50)intVarchar(20)Char(2)政治面貌籍贯考试次数列名PoliticalNativeTestNum数据类型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数据库的建立3.2表的建立及表之间的约束--在xsxk数据库中创建Student表usexsxkgocreatetableStudent(StudentIDintnotnullprimarykey,StudentNamevarchar(50),ClassIDint,IDvarchar(20),Sexchar(2),Politicalvarchar(50),Nativevarchar(50),TestNumint)go-—在xsxk数据库中创建Class表createtableClass(ClassIDintnotnullprimarykey,ClassNamevarchar(50),ClassLeadervarchar(50),ClassNumberint,DepartmentNamevarchar(50))--在xsxk数据库中创建Course表createtableCourse(CourseIDvarchar(50)notnullprimarykey,CourseNamevarchar(50),CourseTermint,Scoreint,DepartmentNamevarchar(50))—-在xsxk数据库中创建Department表createtableDepartment(DepartmentIDint,DepartmentNamevarchar(50)notnullprimarykey)—-在xsxk数据库中创建SelectCourse表createtableSelectCourse(SelectIDintnotnullprimarykey,CourseIDvarchar(50),StudentIDint,CourseNamevarchar(50),Recordint)--在xsxk中创建约束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表中数据填充1、Class表2、Student表3、Course表4、Department表5、SelectCourse表3.4数据库功能的验证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创建一个名为“同学_pro1”的存储过程,带有一个参数接收指定同学姓名,用于查询该同学的全部课程的成果以及该同学的基本信息.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创建一个名为“同学_pro2"的存储过程,带有一个参数接收指定同学姓名,用于查询该同学是否可以毕业。(毕业条件为该同学修满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+’同学已修满学分,准许毕业'elseprint@st+'同学未修满学分,不允许毕业'go调用存储过程“同学_pro2",查询“李明明(或其他表中存在的同学姓名)”是否可以毕业。usexsxkgoexec同学_pro2’潘超'gousemyDB1goexec同学_pro2'杨宝’go统计全部选课同学的学分.usexsxkgoselectsc。StudentID,sum(c.Score)as总学分fromSelectCoursesc,Coursecwheresc.CourseID=c.CourseIDgroupbysc.StudentIDgo第四章总结4。1任务规划实训的内容:(1)整体架构E—R图(2)局部E—R图(Student、CourseSelect、Course、Department、Class)(3)使用T—SQL语句建表(Student、CourseSelect、Course、Department、Class)(4)创建表之间的约束(4个)(5)表中数据的填充(Student、CourseSelect、Cour

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论