




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE2–PAGEIV–大连理工大学数据库大作业学生成绩管理系统学院(系):专业:学生姓名:学号:指导教师:评阅教师:完成日期:数据库设计1.1系统名称学生成绩管理系统1.2背景介绍1.2.1概述学生成绩管理系统是学校教学管理系统的一个功能模块,可以快速方便的对学生成绩进行管理,如学生成绩录入、学生成绩查询、学生成绩修改等。从功能描述的内容上看,本系统主要需要实现以下功能:院系信息学生成绩管理系统院系信息学生成绩管理系统课程成绩学生成绩课程信息学生信息班级信息录入修改查询录入修改查询录入修改查询录入修改查询查询查询1.2.2信息需求分析(1)院系信息录入、修改、查询:(系号,系名,电话)提供给管理人员,实现院系信息的录入、修改、查询。提供给院系管理人员进行查询。(2)班级信息录入、修改、查询:(班级号,人数,班长学号)提供给管理人实现班级信息的录入、修改、查询。提供给本班级班长进行查询。(3)学生信息录入、修改、查询:(学号,姓名,性别,地址,系号,班级号)提供给管理人员,实现学生信息的录入、修改、查询。提供给学生个人进行查询。(4)课程信息录入、修改、查询:(课程号,课程名,学时,学分)提供给管理人员,实现课程信息的录入、修改、查询。提供给授课教师进行查询。(5)学生成绩查询:提供给学生个人,能够查询本人的各项成绩,但是不能录入和修改。(6)课程成绩查询:提供给教授本门课程的老师,能够查询、修改、删除成绩,能够对数据进行分析,例如求得平均分、优秀率、不及格人数等。1.2数据库的概念模型设计一个学生属于一个院系,一个院系包含多个学生;一个学生属于一个班级,一个班级包含多个学生;一个学生可以选多门课程,一个课程可以包含多个学生。1.2.1实体与属性分析学生学生系号姓名年龄性别地址学号系号姓名年龄性别地址学号班号班号课程课程课程名课程号学时学分课程名课程号学时学分院系号院系院系号院系院系名电话院系名电话人数班级号班级人数班级号班级班长学号班长学号E-R图学生学生课程院系班级学习属于拥有分数关系模型:学生(学号,姓名,性别,地址,系号,班级号)候选码:学号主码:学号外码:系号,班级号课程(课程号,课程名,学时,学分)候选码:课程号主码:课程号外码:无院系(系号,系名,电话)候选码:系号主码:系号外码:无班级(班级号,人数,班长学号)候选码:班级号主码:班级号外码:无学习(学号,课程号,分数)候选码:(学号,课程号)主码:(学号,课程号)外码:学号,课程号1.3逻辑模型设计学生信息表结构(student)数据项名数据类型宽度及小数位是否索引备注snochar9是学号namechar8否姓名genderchar4否性别agechar4否年龄addressvarchar20否住址dnochar2否系号classnochar5否班级号课程信息表结构(course)数据项名数据类型宽度及小数位是否索引备注cnochar3是课程号subjectchar16否课程名timesmallint2否学时creditsmallint2否学分院系信息情况表结构(dept)数据项名数据类型宽度及小数位是否索引备注dnochar2是系号dnamevarchar20否系名telechar10否电话班级信息情况表结构(class)数据项名数据类型宽度及小数位是否索引备注classnochar5是班级号numint4否人数monitorchar9否班长学号课程分数表结构(study)数据项名数据类型宽度及小数位是否索引备注snochar9是学生号cnochar5是课程号scoreint4否成绩以五个上表没有非主属性对码的部分函数依赖,没有非主属性对码的传递函数依赖,满足3NF的要求,不会存在数据冗余、插入异常、删除异常、修改异常的问题。2.数据库上机2.1初始建立2.1.1建立表createtablestudent(snochar(9)primarykey,namechar(8)notnull,genderchar(2)check(genderIN('男','女')),agechar(4),birthdatetime,addressvarchar(20))createtablecourse(cnochar(3),subjectchar(16)notnull,timesmallintcheck(time>0),creditsmallintcheck(credit>0),primarykey(cno))createtabledept(dnochar(2)notnullprimarykey,dnamevarchar(20)notnull,telechar(10))createtableclass(classnochar(5),numint,monitorchar(9),primarykey(classno),foreignkey(monitor)referencesstudent(sno))createtablestudy(snochar(9)notnull,cnochar(3)notnull,scoreint,primarykey(sno,cno),foreignkey(sno)referencesstudent(sno),foreignkey(cno)referencescourse(cno))altertablestudentaddclassnochar(5)foreignkeyreferencesclass(classno)altertablestudentadddnochar(2)foreignkeyreferencesdept(dno)2.1.2建立索引createuniqueindexsindexonstudent(sno)createuniqueindexcindexoncourse(cno)createuniqueindexdindexondept(dno)createuniqueindexlindexonclass(classno)2.1.3建立视图建立由学号、姓名、课程号、课程名、成绩构成的学生成绩视图stuscore1createviewstuscore1(sno,name,cno,subject,score)asselectstudent.sno,,o,student.subject,scorefromstudent,course,studywherestudent.sno=o=o建立由学号、姓名、系名称、课程号、课程名、成绩构成的学生成绩视图stuscore2createviewstuscore2(sno,name,dname,cno,subject,score)asselectstudent.sno,,dname,cno,subject,scorefromstuscore1,deptdept,studentwherestuscore1.sno=student.snoandstudent.dno=dept.dno2.2查询操作2.2.1单表查询查询年龄在20-21岁之间的学生的学号、姓名、年龄、地址selectsno,name,age,addressfromstudentwhereagebetween20and21查询一班班长的学号selectmonitorfromclasswhereclassno=012.2.2多表查询查询学生的学号,姓名,年龄,性别,所在专业selectsno,name,age,gender,dnamefromstudent,deptwheredept.dno=student.dno查询成绩大于80的学生的学号,姓名,课程号,课程名,分数selectstudent.sno,name,o,subject,scorefromstudent,course,studywherestudent.sno=o=oandscore>=802.2.3嵌套查询查询二班班长的学号,姓名,年龄,性别selectsno,name,age,genderfromstudentwheresno=(selectmonitorfromclasswhereclassno=02)查询其他班中比01班某一学生年龄小的学生的学号、姓名、年龄selectsno,name,agefromstudentwheredno<>'01'andage<any(selectagefromstudentwheredno='01')2.2.4聚合查询查询每个学生的平均成绩并按学生学号升序分别输出selectsno,avg(score)fromstudygroupbysnoorderbysnoasc查询每个学生的学号,姓名,性别,年龄并按年龄升序输出Selectsno,name,gender,ageFromstudentGroupbyageOrderbyageasc2.3数据更新2.3.1增加在成绩表中一个记录,其中学号为11,课程号为02,成绩为92insertintostudyvalues('11','02',92)新建平均成绩表(AvgGrade)中含有学号、平均成绩数据项,计算平均成绩将结果存入平均成绩表中createtableavgscore(snochar(9),avgscoreint)insertintoavgscore(sno,avgscore)(selectsno,avg(score)fromstudygroupbysno)2.3.2删除将学分小于等于3的课程从课程表中删除deletefromcoursewherecredit<=3将院系信息表清空deletefromdept2.3.3修改将课程表中02课程的学时改为32,学分改为2updatecoursesettime=32,credit=2wherecno='02'将学号为06的学生的地址改为安徽updatestudentsetaddress='安徽'wheresno='06'2.4触发器createtriggertrgDeleteClassonclassfordeleteasdeletestudent fromclassjoinstudent onstudent.classno=class.classnoreturn3个人体会与总结曾想拥有一份自己的信息系统,自己去做管理员,来管理自己的生活,管理自己的人际关系等,但一直苦于不知道如何来创建数据库,也不知道怎么进行修改输出等,自己可以将一份系统的用户界面制作出来,但是对于后台的数据库创建与管理却没有什么思路。自从学习了数据库之后,却让我在这方面看到了光明,让我喜欢上了这个学科。在学习过程中,无形之中却对数据库的理解过于笼统,一直不知道在实际应用中该如何运用,在这次大作业的完成过程中,让我看到认识到一些基础的内容还是很容易实现的,在最初的时候运用软件进行操作还不够熟练,并且自己写的命令也有不正确的地方,通过向同学学习,让我知道了正确的命令,并在实际操作的过程中,一条条命令的实现,让我也有了一些信心与成就感。同时也让我感受到SQL在使劲生活中的应用与重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年医用电子直线加速器项目资金需求报告代可行性研究报告
- 纤维基太阳能电池的研究考核试卷
- 《动感十足的》课件
- 解除劳动合同委托书
- 2024年裁判员考试基础知识试题及答案
- 解析体育经纪人职业考试试题及答案
- 《基因技术》课件
- 进城教师考试试题及答案
- 2024游泳救生员证书考试难点与试题及答案
- 备考筹备无人机驾驶员考试试题及答案
- 2024年美容师考试相关法律法规解读试题及答案
- 2024年山东司法警官职业学院招聘考试真题
- 产房护理人文关怀课件
- 2025年新版劳动合同范本
- 环境保护部华南环境科学研究所(广州)2025年上半年招考人员易考易错模拟试题(共500题)试卷后附参考答案
- 事故隐患内部报告奖励制度
- 酒店前台餐厅收银流程
- 贸易安全培训
- 中级消控证的试题及答案
- Unit 5 Everyone is special!(教学设计)-2024-2025学年人教版PEP(一起)(2024)英语一年级下册
- 2025年河南焦作市孟州市开创人才服务有限公司招聘笔试参考题库附带答案详解
评论
0/150
提交评论