学生选课数据库设计17482

上传人:Sc****h 文档编号:138160823 上传时间:2022-08-19 格式:DOC 页数:22 大小:530.50KB
返回 下载 相关 举报
学生选课数据库设计17482_第1页
第1页 / 共22页
学生选课数据库设计17482_第2页
第2页 / 共22页
学生选课数据库设计17482_第3页
第3页 / 共22页
点击查看更多>>
资源描述
.数据库系统概论学生选课数据库设计实验报告系别 :专业 :班级 :学号 :姓名 :日期: 201.专业 .专注.第一章设计内容与目标 .- 1 -1.1设计内容 .- 1 -1.2设计目标 .- 1 -第二章需求分析 .- 1 -2.1需求背景 .- 1 -2.2选课分析 .- 3 -第三章概要设计 .- 3 -3.1各属性 E-R 图 .- 3 -3.2总 E-R 图 .- 5 -第四章逻辑设计及规范化 .- 5 -4.1关系模型 .- 5 -4.2关系数据表 .- 6 -第五章 数据库对象设计 .- 8 -5.1 SQL 物理结构设计 .- 8 -1.新建数据库 .- 8 -2.新建用户名和密码表 .- 8 -3.新建学生表 .- 9 -4.新建教师表 .-10-5.新建课程表 .-11-6.新建选课表 .-12-7.新建讲授表 .-13-5.2主要查询功能 sql 语句 .-14-.专业 .专注.1登陆管理 .-14-2学生信息管理 .-14-3课程管理 .-14-4查询管理 .-15-5.3 选课系统设计要求内容 .-16-第六章心得体会 .-19-.专业 .专注.第一章设计内容与目标1.1 设计内容我设计的是学生选课管理系统,选课管理系统是学校教务系统中很庞大、很复杂的一个数据库系统 ,在这里我将其简化 ,只粗略的列举了比较直观的关系模式。此系统涉及学生信息 、教师信息 、课程信息 、选课信息 、还有成绩管理及查询。1.2 设计目标所实现的功能有 :能记录、学生、教师以及课程的基本情况,能记录学生所选的课程以及相应的成绩和授课教师。为了简化 ,每个教师最多教授一门课程,每个学生最多可选一门课程或者不选,每个学生选修的每门课程有一个成绩记载,学生在系统中可以有查询成绩的权限,管理员有修改成绩的权限。第二章需求分析2.1 需求背景随着信息时代科技不断提高,学校规模不断扩大,教学质量不断提高,大学期间有许多选修课 ,以往的选修课方法是课堂报名或者纸上填写方式报名,这种方法虽然直接,但是造成选课的盲目性 ,而且学生选过课程后不好在更改查看,一方面浪费大量的人力,物力资源 ,另一方面浪费时间以及在认为统计过程中不可避免的出现差错的情况。这给广大的老师和学生带来诸多的不便 ,管理起来也相当困难。使用网上选课系统可以提前进行网上选课,并且选课以后学生.专业 .专注.还可以在查看和更改,随意选择各个老师的课程,老师管理起来也比较方便。鉴于它的重要性,这就迫切需要研制开发一款功能强大,操作简单 ,具有人性化的网上选课系统。.专业 .专注.2.2 选课分析根据分析 ,本系统的实体有学生 、教师、课程和选课信息 。描述学生的属性有 :学号、姓名、性别、年龄、专业。描述教师的属性有 :教师编号 、姓名、性别、职称、专业。描述课程的属性有 :课程编号 、课程名称 、课程类型 、学时、学分。描述选课信息的属性有 :学号、课程编号 、考试成绩 。每个学生只能属于一个院系,每个学生最多可选一门课程或者不选,每个教师教授最多一门课程 。学生进入查询系统后只能有查询功能,管理员进入则可以有修改成绩的权限。用户登录时需要有一个用户名和密码。第三章概要设计3.1 各属性 E-R 图学生学号姓名性别年龄专业教师.专业 .专注.教师编姓名性别职称专业号课程课 程 编课程名称课 程 类学时学分号型登录用户名密码选课.专业 .专注.学号课程编号号成绩3.2 总 E-R 图数据库的 E-R 图:学号学生姓名m性别教师编号 姓名 性别 职称 专业选课n年龄nm课程讲授教师专业课程编号课程名称课程类型上课时间学时学分第四章逻辑设计及规范化4.1关系模型登陆(用户名、密码).专业 .专注.学生(学号、姓名、性别、年龄、专业、班级)教师(教师编号 、姓名、性别、职称、专业)课程(课程编号 、课程名称 、课程类型 、学时、学分)选课信息 (学号、课程编号 、考试成绩 )4.2 关系数据表Register属性名数据类型可否为空含义完整性约束条件UserSIDChar(10)否用户名passwordChar(10)否密码STUDENT属性名数据类型可否为空含义完整性约束SIDint否学号主码SIDchar(10)否姓名SEXchar(2)是性别AGEInt是年龄MAJORchar(20)是专业YXchar(10)是已选TEACHER.专业 .专注.属性名数据类型可否为空含义完整性约束TIDint否教师编号主码TSIDchar(10)否姓名TSEXchar(2)否性别ZCchar(10)否职称MAJORchar(20)否专业COURSE属性名数据类型可否为空含义完整性约束IDInt否课程编号主码SIDchar(10)否课程名称TYPEchar(10)否课程类型GRADEInt可以学分PEROIDInt可以学时XK属性名数据类型可否为空含义完整性约束SIDint否学号IDint否课程编号主码.专业 .专注.GRADEint是成绩JS属性名数据类型可否为空含义完整性约束IDint否课程编号TIDint否教师编号主码TTIMEdatetime是上课时间第五章数据库对象设计5.1 SQL 物理结构设计1.新建数据库CreatedatabaseSCdatabase2.新建用户名和密码表Createtable register(userSIDchar (10),password2char (10 );.专业 .专注.3.新建学生表CreatetableSTUDENT(SID intNOTNULL primary key,NAMEchar (10 ) NOTNULL,SEX char (2)NOTNULLdefault 男 check (SEX= 男 or SEX= 女 ),AGE intNOT NULL,MAJORchar (20)NOT NULL,YX char (10)NOTNULL,)insertintoSTUDENTvalues(2014213108,男 ,21 , ,)insertintoSTUDENTvalues(2014213113,男 ,21 , ,)insertintoSTUDENTvalues(2014213138,女 ,23 , ,)insertintoSTUDENTvalues(2014213141,男 ,22 , ,)insertintoSTUDENTvalues(2014213149,男 ,22 , ,)insertintoSTUDENT.专业 .专注.4.新建教师表CreatetableTEACHER(TID intNOTNULL primarykey ,TNAMEchar (10 ) NOT NULL,TSEXchar (2) NOT NULLdefault 男 check (TSEX= 男 or TSEX= 女 ),ZC char (10) NOT NULL,MAJORchar (20 ) NOT NULL)insertinto TEACHERvalues (1 , ,男 ,博士 ,)insertinto TEACHERvalues (2 , ,女 ,博士 ,)insertinto TEACHERvalues (3 , ,男 ,博士 ,)insertinto TEACHERvalues (4 , ,女 ,博士 ,)insertinto TEACHERvalues (5 , ,男 ,博士 ,).专业 .专注.5.新建课程表Createtable COURSE(ID int NOT NULL primarykey ,NAMEchar (10 ) NOT NULL,TYPE char (10 ) NOT NULL,GRADE int NOT NULL,PREOID int (10 ),);insertintoCOURSEvalues (1 , ,必修课 ,3 ,40 ,)insertintoCOURSEvalues (2 , ,选修课 ,2 ,30 ,)insertintoCOURSEvalues (3 , ,必修课 ,3 ,40 ,JD201 )insertintoCOURSEvalues (4 , ,选修课 ,2 ,30 )insertintoCOURSEvalues (5 , ,选修课 ,2 ,30 )insertintoCOURSEselect *from COURSE.专业 .专注.6.新建选课表CreatetableXK(ID int ,SID int ,GRADE Int ,Primarykey (ID ,SID ),Foreignkey (SID)referencesSTUDENT(SID),Foreignkey (ID )referencesCOURSE (ID)insertintoXKvalues(1 ,2 ,80 )insertintoXKvalues(2 ,3 ,85 )insertintoXKvalues(3 ,4 ,79 )insertintoXKvalues(4 ,20 ,86 )insertintoXKvalues(5 ,201 ,88 ).专业 .专注.select *from XK7.新建讲授表CreatetableJS(ID int ,TID int ,TTIME datatime ,Primarykey (ID ,TID ),)insertintoJSvalues(1 ,1 ,2016-09-01 08:00:00.000)insertintoJSvalues(2 ,2 ,2016-09-05 00:00:00.000)insertintoJSvalues(3 ,3 ,2016-10-01 00:00:00.000)insertintoJSvalues(4 ,4 ,2016-09-01 00:00:00.000)insertintoJSvalues(5 ,5 ,2016-09-01 00:00:00.000).专业 .专注.select *from JS5.2 主要查询功能sql 语句1 登陆管理利用用户和密码登陆检验用户名和密码是否存在和正确select *fromregisterwhereuserSID = abcand password2= 1234562 学生信息管理1) 删除学生信息deletefromSTUDENT whereSID = 2) 修改学生信息updateSTUDENT set SID = , stucollege= , NAME = ,SEX = ,stubirth= , AGE = , MAJOR = , YX = wheresnum= ;3) 增加学生信息insertintoSTUDENTvalues (, , , , )3 课程管理1) 增加课程.专业 .专注.insertintoCOURSEvalues (, , , , , )2) 课程修改updateCOURSEsetID = ,NAME = ,CTEACHER= ,TYPE= ,GRADE = ,PREOID= ,Chours = ,Ccredit = where ID= 4 查询管理1) 学生查询(1) 按学号查询select * fromSTUDENT whereSID = (2) 按姓名查询select * fromSTUDENT whereNAME = (3) 按性别查询select * fromSTUDENT whereSEX= (4) 按专业查询select * fromSTUDENT whereMAJOR = 2) 课程查询(1) 按课程号查询select * fromXK,COURSEwhereXK.SID = and XK.ID = COURSE.ID.专业 .专注.(2) 按授课教师查询select* fromXK, TEACHERwhereXK. GRADE = and TEACHER.TID = 3) 成绩查询select * fromXK,COURSE,STUDENTwhereXK.SID = and XK.ID = COURSE.IDandXK.SID = STUDENT .SID5.3 选课系统设计要求内容(1 )在选课数据库中,统计出选修课程超过门以上的学生信息。select *from STUDENTwhere STUDENT .SID=(select SIDfrom XKgroupby SID havingcount (SID)! 4)(2 )检索出成绩及格的、姓王的女同学信息。select * from STUDENT.专业 .专注.where STUDENT .SID in(select XK .SIDfrom XKwhere XK .GRADE!= 80select STUDENT .*,平均分fromSTUDENTjoin #avgton STUDENT .SID= #avgt .SIDorderby平均分asc(4 )统计出至少有三名学生选修的课程的平均分,统计项包含课程编号和平均分。select ID ,avg (GRADE ) as 平均分 from XKgroupby ID havingcount (SID)= 3.专业 .专注.(5)为每个实体表和关系表创建合适的索引(聚簇索引 、复合索引 )、 主码 、外码CreateuniqueindexSID On STUDENT (SID);CreateuniqueindexID ON COURSE(ID);CreateuniqueindexTID ON TEACHER(TID);(10 )建立包括选课学生的学号,姓名 ,系别 ,所选课程号 ,课程名 ,和成绩的视图:createview选课学生的视图asselect S .SID, S .NAME ,S.Stucollege, C .ID , C .NAME , SE.GRADE fromSTUDENT Sjoin XK SE on S .SID= SE.SID joinCOURSE C on C .ID = SE.IDSELECT * FROM选课学生的视图.专业 .专注.第六章心得体会通过本次课程实验设计,我对 SQL Server2008有了更深的了解 ,数据库和表是SQL Server 2008用于组织和管理数据的基本对象,用户使用 SQL Server 2008设计和实现查询信息 ,首要的任务是实现数据库的数据的表示和存储,即创建数据库和表。同时感谢本学期中老师传授的知识和给与的帮助 。在设计过程中,对整个系统的设计特别是行为特性设计有很多的心得,也遇到很多问题,但最终都得到解决。这次设计的过程涉及之前基础课和专业课的很多的理论知识,但是在实际应用方面涉及很少,而数据库系统设计是需要把这些知识贯通起来,综合运用 ,所以通过这次设计我的认识问题、分析问题 、解决问题的能力都有了很大的提高。同时自己在动手能力上也有了很大的进步。.专业 .专注.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 幼儿教育


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!