1 / 43
文档名称:

数据库管理系统课程设计报告.pdf

格式:pdf   大小:3,708KB   页数:43页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库管理系统课程设计报告.pdf

上传人:1781111**** 2024/5/11 文件大小:3.62 MB

下载得到文件列表

数据库管理系统课程设计报告.pdf

相关文档

文档介绍

文档介绍:该【数据库管理系统课程设计报告 】是由【1781111****】上传分享,文档一共【43】页,该文档可以免费在线阅读,需要了解更多关于【数据库管理系统课程设计报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..课程设计报告题目:学生选课管理系统的数据库设计院(系):计算机与电子系专业班级:计算机科学与技术0901班学生姓名:**学号:***********指导教师:定会2011年12月30日至2012年1月13日华中科技大学武昌分校制:..一、设计(调查报告/论文)题目学生选课管理系统的后台数据库设计二、设计(调查报告/论文)主要内容内容:学生选课管理系统能够为在校师生提供自主选课的自动化查询、管理平台。支持对各类课程信息的查询、修改、删除及录入,对各类统计信息的查询(支持模糊查询),对不同的登录用户操作权限进行区别管理,实现不同登录用户使用其对应的功能。基本功能与要求:,实现信息自动化管理;、删除、录入等管理功能;、统计,支持模糊查询;,什么时间结束选课;学生根据开设课程进行选课操作,可以选课、退课、查询课程和课表;根据身份不同,权限也不同;,实现汇总、归纳和分析;按年份统计课程的学生选课人生及名单,按年份统计学生的选课内容。分工任务:个人完成三、原始资料1.《数据库管理系统课程设计》、要求的设计(调查/论文):..五、进程安排课程设计内容学时分配备注1选题、需求分析1天2数据库设计2天3数据库表及相关约束、视图实现2天4数据库的存储过程、触发器实现2天5数据库后台功能测试2天6验收答辩、撰写课程设计报告1天合计10天六、主要参考资料[1](SQLServer).北京:清华大学出版社,2010.[2]:清华大学出版社,2009.[3]:清华大学出版社,2009.[4]:***出版社,(签名):20年月日:..录1需求分析…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………32概念结构设计…………………………………………………………………………………-R图………………………………………………………………………………………-R图……………………………………………………………………………………-R图…………………………………………………………………………………83逻辑结构设计………………………………………………………………………………-R图转化为关系模式……………………………………………………………………104物理结构设计……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………155数据库物理实现………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………306系统后台功能测试………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………36总结………………………………………………………………………………………………38:..、修改、删除及录入,对各类统计信息的查询(支持模糊查询),对不同的登录用户操作权限进行区别管理,实现不同登录用户使用其对应的功能。学生选课管理系统管理员功能学生功能教师功能管理学生、教师查看个人信息查看个人信息基本情况选择课程查看选课情况设置选课起止时间查看已选课程详细信息设置课程详情删除已选课程设置课程成绩查看课程成绩图1-、结束的时间,课程相关信息的录入,实时汇总、归纳和分析学生选课情况,按年份统计课程的学生选课人数及名单,按年份统计学生的选课内容。、修改本人信息,修改本人教授课程信息,查看本人教授课程学生选课情况,修改选修本人教授课程学生的课程成绩。、修改本人信息,根据开设课程在规定时间内进行选课操作,可以对已经选定的课程进行退课、查询课程及课表,学期末查询课程成绩并进行统计。1:..数据流图权限信息课程信息登陆错误读取读取登陆验证选课管理系统写入登陆登陆读取选课信息12图1--.4图1-4第2层数据流图2:..数据字典根据课程设计任务书的要求,经过需求分析,共需要用到五个表,分别为:学生表、教师表、管理员表、课程信息表、选课信息表。详细内容如下表所示:名称:学生表名称:教师表说明:包含所有学生的基本信息及登陆说明:包含所有教师的基本信息及登录密码密码数据流来源:登陆验证数据流来源:登陆验证数据流去向:::学号,学生姓名,所在院系,数据结构:教师编号,教师姓名,性别,专业,班级,性别,密码所在院系,职称,密码名称:管理员表名称:课程信息表说明:包含所有管理员的基本信息及登说明:包含所有课程的基本信息,选课录密码起止时间,可选及已选人数数据流来源:登陆验证数据流来源:学生,教师,管理员数据流去向::学生,教师数据结构:管理员编号,管理员姓名,数据结构:课程编码,课程名称,教师密码身份证号,已选人数,可选人数,上课时间,上课地点,学分,选课开始,选课结束名称:选课信息表说明:包含所有学生选择的课程及对应课程的分数数据流来源:学生,教师数据流去向:学生,教师数据结构:学号,课程编号,学分表1-1数据表数据字典3:..名称:学生姓名说明:学生编号,确保唯一性说明:学生的名字数据值类型:连续数据值类型:连续类型:数字类型:字符长度:11长度:10有关数据结构:学生姓名,密码,课程有关数据结构:学号编号,获得学分名称:所在院系名称:专业说明:学生、教师所在的院系说明:学生所在专业数据值类型:连续数据值类型:连续类型:字符类型:字符长度:20长度:20有关数据结构:学号,教师编号有关数据结构:学号名称:班级名称:性别说明:学生所在班级说明:学生、教师的性别数据值类型:连续数据值类型:连续类型:数字类型字符:长度:4长度:2有关数据结构:学号有关数据结构:学号,教师编号名称:密码名称:教师编号说明:用户登录密码说明:教师的编号,确保唯一性数据值类型:连续数据值类型:连续类型:字符类型:数字长度:16长度:104:..有关数据结构:教师姓名,密码,课程编号名称:职称名称:管理员编号说明:教师的职称说明:管理员的编号,确保唯一性数据值类型:连续数据值类型:连续类型:字符类型:数字长度:10长度:10有关数据结构:教师编号有关数据结构:管理员姓名,密码名称:课程编号名称:课程名称说明:课程的编号,确保唯一性说明:课程的全称数据值类型:连续数据值类型:连续类型:数字类型:字符长度:5长度:20有关数据结构:课程名称,教师编号,有关数据结构:课程编号学分名称:已选人数名称:可选人数说明:已经选择该课程的人数说明:该课程最大可选人数数据值类型:连续数据值类型:连续类型:数字类型:数字长度:4长度:4有关数据结构:课程编号有关数据结构:课程编号名称:上课时间名称:上课地点说明:该课程上课具体时间说明:该课程上课具体地点数据值类型:连续数据值类型:连续5:..类型:字符长度:6长度:10有关数据结构:课程编号有关数据结构:课程编号名称:学分名称:选课开始说明:该课程的学分说明:该课程选课开始时间数据值类型:连续数据值类型:连续类型:字符类型:时间长度:2长度:20有关数据结构:课程编号有关数据结构:课程编号名称:选课结束说明:该课程选课结束时间数据值类型:连续类型:时间长度:20有关数据结构:课程编号表1-2数据项数据字典6:..-R图“学生”、“管理员”、“教师”、“课程”等。其中“教师”与“课程”存在“开设”联系,并且一个教师可以开设N门课程,即“教师”与“课程”之间是一对多的关系。一个学生可以学****N门课程,一门课程可以有M个学生学****即“学生”与“课程”之间是多对多的关系。各个数据库实体可以用多个E-R图表示,整个数据库可以用一个E-R图表示。--R图密码管理员姓名管理员编号管理员图1-5管理员E--R图密码教师编号职称教师教师姓名性别所在院系图1-6教师E--R图7:..密码学号专业学生姓名班级性别所在院系图1-7学生E-R图课程E-R图课程编号课程名称可选人数选课开始已选人数课程选课结束学分教师上课时间上课地点图1-8课程E--R图8:..密码管理员姓名管理员编号密码密码学号教师编号N管理N学生姓名教师姓名教师学生所在院系职称专业所在院系MM班级性别N性别开设NN选课教师ID学生ID课程ID课程ID课程编号上课时间课程名称上课地点教师ID课程学分选课开始已选人数选课结束可选人数图1-9数据库E-R图9:..-R图转化为关系模式E-R图中,实体为管理员,其中管理员编号因为确保唯一性,因此管理员编号为管理员的码。管理员的关系模式为:管理员(管理员编号,管理员姓名,密码)Admin(admin_id,admin_name,pw)教师E-R图中,实体为教师,其中教师编号因为确保唯一性,因此教师编号为教师的码。教师的关系模式为:教师(教师编号,教师姓名,所在院系,职称,性别,密码)Teacher(teach_id,teach_name,dept,title,sex,pw)学生E-R图中,实体为学生,其中学生编号因为确保唯一性,因此学生编号为学生的码。学生的关系模式为:学生(学生编号,学生姓名,所在院系,专业,班级,性别,密码)Student(stu_id,stu_name,dept,major,class,sex,pw)课程E-R图中,课程为实体,其中课程编号因为确保唯一性,因此课程编号为课程的码。课程的关系模式为:课程(课程编号,课程名称,教师编号,上课时间,上课地点,可选人数,已选人数,学分,选课开始时间,选课结束时间)Course(cour_id,cour_name,teach_id,ctime,cplace,totalnum,selectnum,credit,start,end)除此之外,学生,教师及课程间还有选课的关系,该关系中学生编号与课程编号共同做为选课的码。选课的关系模式为:选课(学生编号,课程编号,成绩)SC(stu_id,cour_id,grade)10:..,分别为主要数据文件和事务日志文件。其中:主要数据文件:逻辑名称:stu_cour物理名称::3MB增长方式:10%数据文件最大限制:500MB事务日志文件:逻辑名称:stu_cour_log物理名称::3MB增长方式:1MB日志文件最大限制:(管理员信息表)存储管理员的基本信息Stu_info(学生信息表)存储学生的基本信息Teach_info(教师信息表)存储教师的基本信息Cour_info(课程信息表)存储课程的基本信息Sc(学生选课表)存储学生选课的情况11:..4-1数据库表汇总管理员信息表表名Admin_info(管理员信息表)列名数据类型(精度范围)空/非空约束条件说明Admin_idchar(10)非空PK管理员编号Admin_nameVarchar(10)非空管理员姓名Passwordchar(16)空管理员密码表4-(学生信息表)列名数据类型(精度范围)空/非空约束条件说明Stu_idchar(10)非空PK学生编号Stu_nameVarchar(10)非空学生姓名DeptVarchar(20)空所在院系MajorVarchar(20)空专业ClassInt空班级SexVarchar(2)空性别Passwordchar(16)空学生密码表4-:..Teach_info(教师信息表)列名数据类型(精度范围)空/非空约束条件说明Teach_idchar(10)非空PK教师编号Teach_nameVarchar(10)非空教师姓名DeptVarchar(20)空所在院系TitleVarchar(10)空职称SexVarchar(2)空性别Passwordchar(16)空教师密码表4-4学生信息表课程信息表表名Cour_info(课程信息表)列名数据类型(精度范围)空/非空约束条件说明Cour_idchar(10)非空PK课程编号Cour_nameVarchar(20)非空课程名称Teach_idchar(10)空FK任课教师编号CreditTinyint空学分Selected_numInt空已选学生数目Total_numInt空可选学生数目Cour_timeVarchar(10)空上课时间13:..Varchar(10)空上课地点StartSmalldatetime空选课开始时间Endsmalldatetime空选课结束时间表4-5课程信息表学生选课表表名Sc(学生选课表)列名数据类型(精度范围)空/非空约束条件说明Stu_idchar(10)非空PKFK学生编号Cour_idchar(10)非空PKFK课程编号GradeTinyint空课程成绩表4-,在这个列表中包含了某个表中一列或者若干列值的集合,以及这些值的记录在数据表中的存储位置的物理地址。索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引是依赖于表建立的,它提供了数据库中编排表中数据的内部方法。索引的主要作用表现在两个方面,一是提高数据的访问速度,二是确保数据的唯一性。通过索引这种SQLserver的内部机制,可以有效地进行数据选择和排序。在本数据库中为了提高数据库的使用效率共设计了五个索引,分别是:(1)admin_info表中按admin_id的升序建立唯一索引;(2)stu_info表中按stu_id的升序建立唯一索引;(3)teach_info表中按teach_id的升序建立唯一索引;(4)cour_info表中按cour_id的升序建立唯一索引;(5)sc表中按stu_id的升序和cour_id的升序建立唯一索引。以上索引不但能够提高数据的访问速度,同时也能保证个表中内容唯一,例如14:..学生信息表中不会出现同一个学生选择同一门课超过一次的情况,从某方面保证了数据库的稳定性。视图构成视图是一种常用的数据库对象,是关系数据库系统提供给用户以多种角度来观察数据的一种重要机制。使用视图使得用户能够以更多样而且更有弹性的方式来访问数据,这不仅仅可以确保数据库的安全性,而且可以提高其使用的便利性。在数据库应用中使用视图有以下几个方面的优点:(1)集中数据显示;(2)简化数据操作;(3)提供简便易行的安全保密措施;(4)易于合并或分割数据。在本数据库中,为不同用户的不同功能需求建立了不同的视图,具体构成如下:管理员用户在本数据库中的指责是管理学生、教师及课程的具体数据,分配课程选课开始及结束的时间。因此管理员用户的视图应能够将学生、教师及课程的基本信息包括在其中。视图包括:(1)显示所有学生学号、姓名、院系、密码等基本信息;(2)显示所有教师编号、姓名、密码登记本信息;(3)显示所有课程编号、名称、开始选课及结束选课时间。管理员可以通过以上视图对各视图中的内容进行修改操作。学生用户是本系统的主要用户,学生能够通过本系统进行课程的选择,已选课程的删除、查看,成绩的查询、统计等相关功能。视图包括:(1)显示所有课程的基本情况;(2)显示本人所选课程的全部情况。教师用户在本系统中能够使用的功能包括查看自己任教课程选课的情况,给选择自己课程的学生打分。视图包括:(1)分别显示自己任教课程的选课情况。,经编译后存储在数据库中。用户通过制定存储过程的名字并给出参数来执行。存储过程可以包含程序流、逻辑以及对数据库的查询,可以接受输入参数、输出参数、返回单个或多个结果集以及返回值。本数据库中共包括以下存储过程:(1)管理员修改选课开始、结束时间;(2)学生选择课程;(3)学生删除课程;(4)学生统计所选课程分数;(5)查看制定课程上课的时间及地点;(6)教师给选择自己课程的学生打分;(7)教师统计自己课程的情况。:..表的一部分,一旦定义,任何用户当试图对表进行增加、删除或修改操作时,都有服务器自动激活相应的触发器,即触发器被请求。本数据库中共包括以下触发器:(1)学生删除课程成功后显示详细信息;(2)教师给学生分数时若分数不在0~100范围内则提示并撤销操作;(3)学生选课或删除课程后自动更新课程信息表中已选人数。16:..,代码及结果如下:DATABASEstu_sel_courON(NAME=stu_cour,FILENAME=,SIZE=3MB,MAXSIZE=500MB,FILEGROWTH=10%)LOGON(NAME=stu_cour_log,FILENAME=,SIZE=3MB,MAXSIZE=UNLIMITED,FILEGROWTH=1MB),代码及结果如下:USEstu_sel_courGOCREATETABLEadmin_info(admin_idCHAR(10)PRIMARYKEY,/*管理员编号为主键*/admin_nameVARCHAR(10)NOTNULL,PASSWORDCHAR(16))CREATETABLEstu_info(stu_idCHAR(10)PRIMARYKEY,/*学生编号为主键*/stu_nameVARCHAR(10)NOTNULL,17:..VARCHAR(20),majorVARCHAR(20),classINT,sexVARCHAR(2),PASSWORDCHAR(16))CREATETABLEteach_info(teach_idCHAR(10)PRIMARYKEY,/**/teach_nameVARCHAR(10)NOTNULL,deptVARCHAR(20),titleVARCHAR(10),sexVARCHAR(2),PASSWORDCHAR(16))CREATETABLEcour_info(cour_idCHAR(10)PRIMARYKEY,/*课程编号为主键*/cour_nameVARCHAR(20)NOTNULL,teach_idCHAR(10),creditTINYINT,selected_numINT,total_numINT,cour_timeVARCHAR(10),cour_placeVARCHAR(10),start_timeSMALLDATETIME,end_timeSMALLDATETIME,CONSTRAINTteach_idfk/*添加teach_id为外键,与teach_info中的teach_id相关联*/FOREIGNKEY(teach_id)REFERENCESteach_info(teach_id))CREATETABLEsc(stu_idCHAR(10)NOTNULL,cour_idCHAR(10)NOTNULL,gradeTINYINT,CONSTRAINTsc_pk/*添加stu_id和cour_id为主键*/PRIMARYKEY(stu_id,cour_id),18:..stu_idfk/*stu_id为外键,与stu_info中的stu_id相关联*/FOREIGNKEY(stu_id)REFERENCESstu_info(stu_id),CONSTRAINTcour_idfk/*添加cour_id为外键,与cour_info中的cour_id相关联*/FOREIGNKEY(cour_id)REFERENCEScour_info(cour_id))其中,admin_info中的admin_id,stu_info中的stu_id,teach_info中的teach_id,cour_info中的cour_id及sc中的stu_id和cour_id为主键,cour_info中的teach_id及sc中的stu_id和cour_id作为外键分别与teach_info中的teach_id,stu_info中的stu_id及cour_info中的cour_id相关联。向已建立的表中插入数据:INSERTINTOadmin_info(admin_id,admin_name,password)VALUES('a000000001','赵青青','admin')INSERTINTOadmin_info(admin_id,admin_name,password)VALUES('a000000002','李勇','admin')INSERTINTOadmin_info(admin_id,admin_name,password)VALUES('a000000003','张力','admin')??/*插入管理员信息*/INSERTINTOstu_info(stu_id,stu_name,dept,major,class,sex,password)VALUES('s201101001','张向东','计算机学院','计算机科学与技术','1101','男','student')INSERTINTOstu_info(stu_id,stu_name,dept,major,class,sex,password)19:..('s201101002','','计算机学院','计算机科学与技术','1102','女','student')INSERTINTOstu_info(stu_id,stu_name,dept,major,class,sex,password)VALUES('s201101003','王芳','计算机学院','网络技术','1101','女','student')??/*插入学生信息*/INSERTINTOstu_info(stu_id,stu_name,dept,major,class,sex,password)VALUES('s201105025','钱多多','人文学院','心理学','1103','男','student')INSERTINTOteach_info(teach_id,teach_name,dept,title,sex,password)VALUES('t010000001','黎昕','计算机学院','教授','女','teacher')INSERTINTOteach_info(teach_id,teach_name,dept,title,sex,password)VALUES('t010000002','张洪涛','计算机学院','副教授','男','teacher')??/*插入教师信息*/INSERTINTOteach_info(teach_id,teach_name,dept,title,sex,password)VALUES('t050000012','王皓天','人文学院','讲师','男','teacher')INSERTINTOcour_info(cour_id,cour_name,teach_id,credit,total_num,cour_time,cour_place)VALUES('c010000001','C语言','t010000001','4','20','0315234','11303')INSERTINTOcour_info(cour_id,cour_name,teach_id,credit,total_num,cour_time,cour_place)VALUES('c010000002','计算机组成原理','t010000002','4','20','0315434','11304')20:..INTOcour_info(cour_id,cour_name,teach_id,credit,total_num,cour_time,cour_place)VALUES('c010000003','','t010000003','3','15','0312134','11305')??/*插入课程信息*/其中:管理员编号“a000000001”,a为管理员administrator的首字母,后面编号为管理员编号;学生编号