数据库课程设计-学生选课管理系统.doc_第1页
数据库课程设计-学生选课管理系统.doc_第2页
数据库课程设计-学生选课管理系统.doc_第3页
数据库课程设计-学生选课管理系统.doc_第4页
数据库课程设计-学生选课管理系统.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

数据库原理及应用课程设计报告 课程设计题目:学生选课管理系统 学生姓名 专 业 学 号 201220400237班 级 1221002指导教师 2013年12月4日东华理工大学课程设计评分表学生姓名: 李艳杰 班级:1224002 学号:201220400237课程设计题目:学生选课管理系统 项目内容满分实 评选题能结合所学课程知识、有一定的能力训练。符合选题要求(5人一题)10工作量适中,难易度合理10能力水平能熟练应用所学知识,有一定查阅文献及运用文献资料能力10理论依据充分,数据准确,公式推导正确10能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等10能体现创造性思维,或有独特见解10成果质量总体设计正确、合理,各项技术指标符合要求。10说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰10设计说明书栏目齐全、合理,符号统一、编号齐全。 格式、绘图、表格、插图等规范准确,符合国家标准10有一定篇幅,字符数不少于500010总 分100指导教师评语: 指导教师签名: 年 月 日 目录一、需求分析2二、参与者用例图:2三、概念模型与e-r图6四、数据库的设计与建立81、建立数据库101)建立表格102 使用t-sql脚本建立教师信息数据表(teacher)103 使用t-sql脚本建立课程信息数据表(course)104 使用t-sql脚本建立学生-课程记录数据表(studentcourse)105 使用t-sql脚本建立教师-课程记录数据表(teachercourse)116、使用t-sql脚本建立用户信息数据表(manger)11五、数据库的基本操作111)查询111、查询数据库课程的课程号和学分112)数据插入123)修改124)删除135)建立视图13六、个人总结13七、参考资料14一、需求分析学生包含学号等属性,通过登记系统保存学生成绩的信息。学生通过分组程序分出选修课的学生名单。课程包含课程号,名称等属性。分组信息分出选修课教师,教师包含名称,教师编号属性。用户通过sql server的查询分析器直接输入各种操作代码,其中包括对系统管理员的创建,管理员可以创建其他管理员权限,当然,系统管理员可以对所有表进行修改,删除,增加。具体需求分析如下:系统功能需求:1.开设课程管理管理员对所开设的课程进行管理,允许对所开设的课程进行增加,修改,删除等。2.查询可以按课程名,教师名,学号等多种方式查询课程信息。对于学生的选课信息,学生只能查询本人的。3.学生选课管理学生根据所查询的课程信息,选择自己所要选修的课程。对于已经选择了,但不希望选修的课程,可以进行退选。每个学生最多选修8个学分。4.用户信息管理能够使用系统的每个学生、教师和管理员每人都有一个id,管理员可以对用户进行增加,删除,修改等操作。5.学生成绩管理(1)成绩录入管理员录入学生的成绩信息(2)成绩查询学生可以查看自己所选各科课程成绩。教师可以查询自己所教课程的成绩,并打印报表。二、参与者用例图:用户管理员教师学生分析参与者:学生、教师、管理员都是学校里的人员,有一些相同的属性,如id,姓名,部门等,可以将三者的共性提取出来,形成一个抽象的参与者用户。系统可以识别三个参与者:学生,教师和管理员。学生:查询课表、选课、查询考试成绩教师:查询课表、查询课程成绩管理员:管理所开设的课程、管理用户、录入成绩、执行各种查询功能1) 数据项:以“学号”为例数据项名称:学号数据项含义:唯一标示每一个学生别名:学生编号数据类型:字符型 长度:8 取值含义:前2位为入学年份,后3位为顺序编号与其他数据项的逻辑关系学生选课的数据流程图:学生课程学生选课学生选课选课信息成绩信息选课信息成绩登陆打选课单打成绩单学号学生成绩单学号教师学号选课名单2) 数据结构:以“学生”为例数据结构名:学生含义说明:是学籍管理子系统的主体数据结构,定义了一个学生的有关信息组成:学号,姓名,性别,年龄,所在系3) 数据流:以“选课信息”为例数据流名:选课信息说明:学生所选课程信息数据流来源:“学生选课”处理数据流去向:“学生选课”存储组成:学号,课程号4) 数据存储:以“学生选课”为例数据存储名:学生选课说明:记录学生所选课程的成绩编号:(无)流入的数据流:选课信息,成绩信息流出的数据流:选课信息,成绩信息组成:学号,课程号,成绩存取方式:随机存取5) 处理过程:以“学生选课”为例处理过程名:学生选课说明:学生从可选修的课程中选出课程输入数据流:学生,课程输出数据流:学生选课根据系统需求中的描述,又可以将系统分为两个顶层用例:选课管理和成绩管理选课管理和成绩管理顶层用例图教师管理员选课管理成绩管理学生选课管理用例可以分解为:1课程信息查询:提供按学生查询,按任课教师查询,按课程名查询等多种查询方式。2选课:学生对自己所选的课程进行管理,包括增加所选课程,删除所选课程等。3课程信息管理:管理员对学校所开设的课程进行管理,包括增加课程,删除课程,修改课程信息等。4用户管理:为简化处理,假设系统从学生管理系统中获取学生信息,从学校人事管理系统中获取教师信息。选课管理用例图:管理员选课课程信息查询用户管理学生课程信息管理教师成绩管理用例可以分解为以下用例:1.学生成绩查询-学生查询自己所选课程的成绩。2.课程成绩查询-教师查询自己所教课程的学生成绩。3.成绩管理-管理员录入或修改学生成绩。选修课管理系统功能模块设计:通过对系统的数据流图进行分析,进一步进行功能分解,直到分解成含义明确,功能单一的功能模块,从而得到系统的功能模块结构图:三、概念模型与e-r图概念模型介绍:学生选修课管理系统的流程:首先由教师或系统管理员等有录入权限的用户将各自权限范围内的信息进行录入,然后保存信息到数据库中。有权限的人可以对这些数据库信息进行修改和删除。所有用户均可以进行信息查询和统计。数据流分析:学生选课管理系统的数据流程:首先由教师或系统管理员等有录入权限的用户将各自权限范围内的信息进行录入处理,然后保存信息到数据库中。有权限的人可以对这些库信息进行修改和删除处理。所有用户均可以进行信息查询和统计,结果可以报表打印。选修课选课系统主要分为两大模块:管理员模块和一般用户模块,管理员可以是教师也可以是学生,不过管理员必须承担一定的责任。管理员模块又分为对用户的管理和对选课的管理,对用户的管理模块应有的功能是对新用户的添加,对无用用户的删除;选课管理模块应有的功能包括新开设选修课信息的添加,对原有课程信息的修改,对学校不再开设的课程进行删除,一轮选课结束以后对各科选课人数归零。一般用户模块既学生应用模块是该系统最基本的功能模块,因为此模块应完成访客登录的身份验证,学生选修公共选修课记录的添加,对公共选修课信息的查询,对教师信息的查询,学生对自己已经选修哪些课进行查询。所以,按照需要完成的要求又分成了各具体执行模块。学生学号姓名性别所在班级所在系年龄龄备注学生实体e-r图教师教师号班级姓名系部备注教师实体e-r图管理员用户名密码登录类型管理员实体e-r图e-r模型转化成关系数据库四、数据库的设计与建立在系统中设立6张表:除了有学生、教师、课程基本表分别记录学生、教师、课程的基本信息外,考虑到便于系统管理员管理学生用户,设计了用户表,记录用户登录系统时的用户名、密码以及权限。同时对于学生选课和教师教课都应该有记录,因此设计了学生选课和教师教课表,其中学生选课表里,包含了学生选课的内容和各门课的成绩,便于管理员对成绩的录入、修改以及用户对成绩的查询和检索:教师教课表的内容主要是包含教师所教课程的信息。表1 用户信息数据表(manager)列 名数据类型宽度字段描述mnochar 10用户名,设为主键mkchar 20用户登录本系统时的用户密码mpint 4用户的类型,0-本校注册学生,1-管理员表2 学生信息数据表(student) 列 名数据类型 宽度 字段描述 sno char 20 学生的学号,设为主键 sname char 20 学生姓名 ssex char 4 学生性别sclassid char 50 学生所在班级号 sage int 4 学生年龄 sdeptchar20 学生所在系别表3 教师信息数据表(teacher)列 名数据类型宽度字段描述 tno char 5 记录教师号,设为主键 tname char 10 记录教师姓名 tclass char 20 记录教师所在班级 tdept char 20 记录教师所在系表4教师-课程记录数据表(teacher course)列 名数据类型宽度字段描述 id int 4 教师-课程记录的惟一id号,设为主键 tno varchar 50 教师号cno varchar 50 教师所任课程号 tclass varchar 50 教师所教班级号cyear char 5 年度学期cmen int 4 教师所任选修课程限报人数表5课程信息数据表(course)列 名数据类型宽度字段描述cnochar50课程号,设为主键cnamechar50课程名ctimechar40开课时间ccreditint4课程学分cdeptchar50课程所在系表6 学生-课程记录数据表(studentcourse)列 名数据类型宽度字段描述 idchar 10 学生-课程记录的惟一id号,设为主键sno char 10 学生学号cno char 10学生所学课程号sgrade int 4学生成绩cdept char 50学生所学课程所在系在数据库系统中建立上面六个表,数据库名称为02371、建立数据库create database 02371)建立表格create table student(sno char(20) primary key,sname char(20) not null,ssex char(4) not null,sclassied char(50) not null,sage int not null,sdept char(20) not null)2 使用t-sql脚本建立教师信息数据表(teacher)create table teacher(tno char(5) primary key,tname char(10) not null,tclass char(20) not null,tdept char(20) not null)3 使用t-sql脚本建立课程信息数据表(course)create table course(cno char(10) primary key,cname char(20) not null,ctime char(40) not null,ccredit int not null,cdept char(50) not null)4 使用t-sql脚本建立学生-课程记录数据表(student_course)create table student_course(id char(10) primary key,sno char(10) not null,cno char(10)not null,sgrate int not null,cdept char(50) not null)5 使用t-sql脚本建立教师-课程记录数据表(teacher-course)create table teacher_course(id char() primary key,tno char()not null,cno char() not null,cmen int not null,tclass char() not null,cyear char() not null )6、使用t-sql脚本建立用户信息数据表(manger)create table managermno char()primary key,mk char()not null,mp int not null)构建了数据库的表结构后,接下来创建负责表中信息查询、插入、修改、删除以及授权的相关存储过程(只举例关于表student,course,student_course之间的操作,同理可以对表teacher,course,student_course进行相关操作)。具体操作如下所示:五、数据库的基本操作1)查询1、查询数据库课程的课程号和学分select cno,ccreditfrom coursewhere cname=数据库2、某些学生选修课程后没有参加考试,所以有选修课记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号:select sno,cnofrom student_coursewhere sgrate is null2)数据插入在student表中插入一元组(20130206,周洁,男, 1,18,计算机)insertinto(sno,sname,ssex,sclassid,sage,sdept)values(201302,周洁,男,2013,1,18,计算机)3)修改修改某一个元组的值(以学生表为例)例:将学生20130102的年龄改称22岁updata studentset sage=22where sno=201301024)删除删除一个或多个元组例:删除学号为20130102的学生记录delete from studentwhere sno=2013015)建立视图由课程信息数据表“course”建立一个视图,该视图由课程信息数据表的所有列构成create view 课程信息

温馨提示

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

评论

0/150

提交评论