您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 高中教育 > 东软数据库三级项目-3
学生成绩管理系统1.需求描述设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。2.概念结构设计课程信息表学分教师号课程号课程名学时学生信息表学号姓名专业年龄系别性别选课成绩课程号学号教师信息表教师号教师名教师性别教课教师系别成绩3.逻辑结构设计设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关系模式中对每个实体定义的属性如下:课程信息表Class:(课程号,课程名,教师号,学分,学时)学生信息表Student1:(学号,姓名,性别,年龄,专业,系别)成绩表Score:(学号号,课程名,成绩)教师表Teacher1:(教师号,教师名,教师性别,教师系别)1、课程信息表(class)字段名描述数据类型字段限制cno课程号char(10)Primarykeycname课程名char(10)Notnullteano教师号char(10)Notnullcredit学分char(4)Notnullctime学时char(50)Notnull2、学生信息表(student1)字段名描述数据类型字段权限sno学号char(10)Primarykeysname姓名char(10)Notnullssex性别char(2)Notnullsage年龄char(2)Notnullmajor专业char(10)Notnulldepart系别char(10)Notnull3.教师表(teacher1)字段名属性数据类型字段权限teano教师号char(10)Primarykeytname教师名char(10)NotnullTsex教师性别char(2)NotnullTdepart教室系别char(10)Notnull4.成绩表字段名属性数据类型字段权限sno学号char(10)Primarykeycno课程名char(10)Notnulldegree成绩char(10)Notnull4.物理设计A.创建索引:(1)在class表的cno列上创建非聚集索引。CreateindexclassrnameONclass(cno)(2)在student1表的sno列上创建非聚集索引。Createuniqueindexstudent1noONStudent1(sno)(3)在Student1表的sno列创建一个非聚集索引,要求索引键值按sno升序排列。Createindexstudent1noONstudent1(snoASC)B.删除索引:(1)删除student1表中的student1no索引。Dropindexstudent1no5.数据库实施1、创建数据库(1)打开SQL工具“查询分析器”(2)在查询窗口中键入下列SQL语句createdatabaseScoreSystem执行上述SQL语句即可新建一名为ScoreSystem的数据库2、创建数据表创建数据库后,为ScoreSystem数据库添加数据表,步骤如下。(1)新建查询窗口(2)在查询窗口中键入下列SQL语句createtableClass(//创建课程信息表cnochar(10)primarykey,//课程号cnamechar(10)notnull,//课程名teanochar(10)Notnull//教师号creditchar(4),Notnull//学分ctimechar(50),Notnull//学时)执行上述SQL语句即可创建课程信息表相关表格createtablestudent1(//创建学生信息表snochar(10)primarykey,//学号snamechar(10)notnull,//姓名ssexchar(2)notnull,//性别Sagechar(2)notnull,//年龄Majorchar(10)notnull,//专业Departchar(10)notnull,//系别)执行上述SQL语句即可创建学生信息表相关表格createtableteacher1(//创建教师信息表tnochar(10)primarykey,//教师号tnamevarchar(50)notnull,//教师名tsexchar(2),//教师性别tdepartvarchar(50)//教师系别)执行上述SQL语句即可创建教师信息表相关表格createtablescore(//创建成绩表snochar(10),//学号cnochar(10),//课程号)执行上述SQL语句即可创建成绩表相关表格学生信息相关表格Snosnamessexsagemajordepart0811080101陈琦男22信息工商0811080102崔雪娇女23信息工商0811080103董朝阳男22数学教育数学系0811080104杜鹃女22计算机应用计算机系0811080105方卉女20汉语言文法系课程信息相关表格Cnocnametnocreditctime0301财务管理0012240302供应链管理0022.2180303生产与运作管理0032.4360304统计学0042.6320305网页制作0052.8300306操作系统原理0063.0320307数据库原理0073.2300308项目管理0083.4450309web程序设计0093.535成绩信息表SnoCnoDegree081108010103068508110801010303900811080101030586081108010203068208110801020304840811080102030181081108010303069308110801030302790811080103030485081108010403069408110801040308740811080104030786教师信息表tnotnametsextdepart001卢亚君女财经002李昌明男财经003张富强男财经004刘翠杰女数信005王庆石男数信006黄立明男数信007王纲男计算机008徐伟丽女计算机009刘书霞女计算机6.数据库运行(1)查询sno为0811080101学生的snameselectsnamefromstudent1wheresno='0811080101'结果:(2)查询ssex为’女’并且sdepart为’工商’的snameselectsnamefromstudent1wheressex='女'andsdepart='工商'结果:(3)查询depart为数学系的sname。selectsnamefromstudent1wheredepart='数学系'结果:(4)查询所有学生所在院系名称selectdistinctdepartfromstudent结果:(5)查询0811080102号同学和0811080103号同学共同选修的课程SelectcnoFromscoreWheresno='0811080102'IntersectSelectcnoFromscoreWheresno='0811080103'查询结果(6)查询选修了0306这门课的所有学生的学号、姓名、年龄、院系Selectsno,sname,sage,departFromstudent1Wheresnoin(selectsnoFromscoreWherecno=’0306’)查询结果7.数据库维护1.数据库更新操作(1).插入数据向Student1表中添加一项记录:姓名:叶问,学号:0811080201,性别:男,年龄:36专业:信息管理,系别:工商InsertIntoStudent1(Sno,Sname,Ssex,sage,major,depart)Values('0811080201','叶问','男','36','信息管理','工商')(2).修改数据修改陈琦的学号为081108023:UpdateStudent1SetSno=’0811080203’WhereSname=’陈琦’;C.删除数据删除所有工商学生的记录Deletefromstudent1Where(depart=’工商’);2.数据库的完整性对于class表:class(cno,cname,tno,credit,ctime),cno的值应该在0和20之间:createtableClass(//创建课程信息表cnochar(10)primarykey,//课程号cnamechar(10)notnull,//课程名teanochar(10)Notnull//教师号creditchar(4),Notnull//学分ctimechar(50),Notnull//学时check(cno0andcno=20)8.数据库开发视图的操作:数据库视图的定义(创建和删除)、查询和更新(1).查询所有学生选课的信息,包括学号、姓名、课程号、课程名、成绩createviewscore3asselects.sno'学号',sname'学生名',c.cno'课程号',cname'课程名',sc.degree'成绩'fromstudent1s,classc,scorescwheres.sno=sc.snoandc.cno=sc.cnogo查询结果(2).更新视图:(1)修改信息:将陈琦的名字改为陈琪琪Updatescore3set学生名='陈琪琪'where学生名='陈琦(2)删除信息:删除视图score3中陈琪琪的记录deletefromscorewhere学生名='陈琪琪'删除视图:删除前面的score3视图。dropviewscore39.应用程序开发(额外加分)
本文标题:东软数据库三级项目-3
链接地址:https://www.777doc.com/doc-4965293 .html