数据库课程设计(学籍管理)_第1页
数据库课程设计(学籍管理)_第2页
数据库课程设计(学籍管理)_第3页
数据库课程设计(学籍管理)_第4页
数据库课程设计(学籍管理)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

TOC\o"1-4"\h\u数据库课程设计前言引言随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断开展的新型学科,任何一个单位要生存要开展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理系统。对于学校而言,学生学籍的管理工作量大手工方式严重的影响其工作效率。在实现学校信息化的过程中,实现学生学籍管理的信息化就显得尤为重要,故在此对学籍管理系统数据库进行一定的设计,实现根本的要求。课程设计目的一般来讲,课程设计教学实验复杂一些,深度更广并且更加接近实用。目的是通过课程设计的综合训练,培养学生实际分析问题、编程和动手能力,使学生对数据结构进行更深一层的了解,培养同学们对学习数据结构这门课程的兴趣,让同学们学会如何去查找资料和整合处理这些资料的能力,也为以后的大学毕业设计论文打下了一个初步的根底。这些课程设计都是比拟难的,要分成几个小工程,几个学生一组,培养团队协作精神。最终帮助学生系统掌握课程的主要内容,更好地完成教学任务。〔1〕根本掌握面向过程程序设计的根本思路和方法;〔2〕到达熟练掌握数据结构的根本知识和技能;〔3〕能够利用所学的根本知识和技能,解决简单的程序设计问题。需求分析系统目标学校的学生学籍信息管理是学校管理中的一项重要任务,以往的手工操作已经不能适应现在办公的需要.为了摆脱繁琐的劳动,提高工作效率,利用计算机进行信息处理成为必然。开发功能完善及平安可靠的管理系统可以大大提高学校资源的利用率,及时,准确地获取需要的信息,充分发挥人员的工作潜力。因此,不难想象,正是咨询业的迅速开展使得人们从过去的手工劳动中得以解脱.同时,编写一套完善的学生学籍管理系统的任务就显得尤为重要。本系统是根据某学校的实际情况而设计的一套针对性和功能都比拟强的学籍管理信息系统。功能需求〔1〕学生档案的管理,即录入、修改、查询、输出学生档案信息,这些信息包括学生根本情况、学生简历情况、学生奖励情况、学生处分情况、学生家庭信息、学生体检情况。〔2〕学生学籍管理,录入、修改、查询、输出学生学籍信息,这些信息包括学生奖贷学金情况、学生注册、学生异动情况、学生军训情况、学生毕业情况。〔3〕学生成绩管理,录入修改、查询、输出学生入校成绩,各学期、各门课程的成绩信息,并支持按年级、班级等条件的统计、查询、报表输出。〔4〕根底数据管理,包括院系设置,专业设置,班级设置等。功能模块结构学生学籍管理系统学生学籍管理系统基础数据基础数据管理学生成绩管理学生学籍管理学生档案管理查询输出修改录入录入修改输出查询查询输出修改录入查询输出修改录入查询输出修改录入录入修改输出查询查询输出修改录入查询输出修改录入学生家长系用人单位查看毕业生登记表查看评定奖学金成绩单学生处教务处学生处退学学籍异动毕业毕业生登记退学不及格重修不及格补考不及格及格统计分析成绩考试教学建立档案新生录取主要数据流图学生家长系用人单位查看毕业生登记表查看评定奖学金成绩单学生处教务处学生处退学学籍异动毕业毕业生登记退学不及格重修不及格补考不及格及格统计分析成绩考试教学建立档案新生录取存档存档数据流程分析首先,我们根据学籍管理的业务流程图找出与学籍管理系统相关的主要外部实体:学生处、教务处、用人单位和学生。〔图2〕毕业生登记表学生用人单位成绩单新生名单成绩单学生处教务处学籍管理系统毕业生登记表学生用人单位成绩单新生名单成绩单学生处教务处学籍管理系统图2学籍管理信息系统数据流程图接着,我们把学籍管理信息系统分为:档案管理、成绩管理、奖惩管理三个主要局部。与其相关的主要外部实体和数据流。〔图3〕奖惩报告奖惩报告毕业生登记表成绩单成绩管理〔P2〕教务处成绩单学习文档学习文档奖惩管理系奖惩结论用人单位新生名单学生处档案管理学生学籍表家长成绩单学生注册成绩图3学籍管理信息系统数据流程图〔第二层〕下面为学籍信息管理系统的第三层流程图。我将成绩管理子系统分为了统计成绩、登记一览表、登记学籍表、统计不及格课程、评定奖学金、填写成绩单和登记重修成绩这几个主要局部。教务处通过成绩管理子系统把各任课老师所提供的各个学生的成绩进行统计和分析,并通过统计分析的结果判定学生是否可以评定奖学金、留级或退学,最后将统计分析结果传输给辅导员,并为学生和家长填制成绩单。通过成绩管理子系统的处理将会生成一份学习文档,为档案管理子系统和奖惩管理子系统的处理提供原始数据。学习文档学习文档教务处学生辅导员期末成绩单成绩统计学籍表成绩一览表重修成绩登记重修成绩统计成绩登记期一览表登记学籍表统计不及格课程判定留级或退学填写成绩单评定奖学金家长升级、补考图4学籍管理信息系统数据流程图〔第三层——成绩管理〕图5和图6分别为奖惩管理系统和档案管理系统的数据流程图。建立奖建立奖惩档案学习文档奖励处理惩罚处理修改文档档案文件登记学籍表学籍表奖惩报告系图5学籍管理信息系统数据流程图〔第三层——奖惩管理〕建立建立档案学习文档奖励处理退学处理留级处理修改文档删除文档档案文件填制毕业登记表登记学籍表用人单位学籍表新生名单学生处图6学籍管理信息系统数据流程图〔第三层——档案管理〕详细设计在系统设计的开始,首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。在本系统中采用目前广泛的“实体联系模型”〔ER模型〕来描述数据库的结构与语义,以对现实世界进行第一次抽象。ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有以下几个特点:接近于人的思维,容易理解;与计算机无关,用户容易接受。本系统为学生学籍管理,主要管理学籍的注册、学生信息及成绩等事项。根据需要可以查询学生的信息。依据学籍管理的实际情况,考虑了多方面的因素以后,确定系统的ER图如学生课程信息学生根本信息学生班级信息学生成绩信息学生课程信息学生根本信息学生班级信息学生成绩信息学生专业学号专业学号家庭住址姓名性别学生根本信息年龄图8学生根本信息实体ER图课程课程编号课程课程编号课程名称图9课程实体图班级班级专业班号班主任人数图10班级实体图根据上述数据流程图的分析,得出体系统的ER图,如下:老师老师授课课程选课课程成绩成绩单成绩评定学生图11系统ER图数据流图中涉及到的数据表定义如下:〔1〕用户注册表〔用户名,密码〕〔2〕学生根本信息表〔学号,姓名,专业班级,性别,年龄〕〔3〕班级信息表〔班级名称,专业名〕〔4〕选课信息表〔课程号,学号,学分〕〔5〕学生成绩表〔学号,姓名,班级,课程名,学分〕数据中涉及的视图定义如下:〔1〕视图1〔学号,课程号,课程名,学分〕〔2〕视图2〔COUNT〔课程记录.课程号〕,SUM〔VAL〔课程记录.学分〕〕〕〔3〕选课信息〔学号,课程名,姓名,成绩,学分,班级名称〕用到表〔学生根本信息表,学生选课信息表,学生成绩表〕〔4〕学生详细信息〔班级名,学号,性别,成绩,课程名,学分〕用到表〔学生根本信息表,学生成绩表〕系统分析:处理流程如下列图:是是否开始用户登陆密码是否正确用户窗口退出系统1.系统启动,进入欢送界面后进入主界面2.在登陆界面,通过身份验证,进入系统,但在这里密码必须正确。3.根扰需要进入你需要的模块,并执行指定模块。4.功能结束,返回主界面。5.退出系统。数据字典以下将对本数据库设计中的各个数据名称进行解释。

清单:表名解释TB_ADMIN管理员表TB_CLASS班级表TB_COURSE课程表TB_DEPARTMENT系院表TB_INFORMATION学生信息表TB_LOG登陆日志表TB_PROFESSIONAL专业表TB_RESULT成绩表TB_REWARDPUNISHMENT奖惩表TB_COUR_INFO学生课程联系表TB_INFO_REPU学生奖惩联系表TB_INFO_RESU学生成绩联系表TB_PROF_COUR专业课程联系表表名:TB_ADMIN解释:管理员表TB_ADMIN(tb_Admin)是否主键字段名字段描述数据类型长度可空约束缺省值备注是ADMIN_ID管理员编号INTADMIN_USER用户名VARCHAR(10)10ADMIN_PASS用户密码VARCHAR(20)20ADMIN_PERM用户权限INT不同用户拥有不同权限

表名:TB_CLASS解释:班级表TB_CLASS(tb_Class)是否主键字段名字段描述数据类型长度可空约束缺省值备注是CLASS_ID班级编号INTCLASS_YEAR班级年份VARCHAR(4)4是~Year(getDate())~CLASS_PRID班级序号INT是一个专业有多个班级CLASS_NAME班级名VARCHAR(40)40是CLASS_INST指导员名VARCHAR(10)10是CLASS_NOTE备注VARCHAR(200)200是班级简介

表名:TB_COURSE解释:课程表TB_COURSE(tb_Course)是否主键字段名字段描述数据类型长度可空约束缺省值备注是COURSE_ID课程编号INTCOURSE_NAME课程名VARCHAR(20)20是COURSE_PRNO先行课INT是COURSE_CREDIT学分INTCOURSE_NOTE备注VARCHAR(200)200是课程简介

表名:TB_DEPARTMENT解释:系院表TB_DEPARTMENT(tb_Department)是否主键字段名字段描述数据类型长度可空约束缺省值备注是DEPART_ID系院编号INTDEPART_NAME系院名称VARCHAR(40)40DEPART_DIRE系主任VARCHAR(10)10是DEPART_NOTE备注VARCHAR(200)200是系院简介

表名:TB_INFORMATION解释:学生信息表TB_INFORMATION(tb_Information)是否主键字段名字段描述数据类型长度可空约束缺省值备注是INFO_NO学号VARCHAR(20)20INFO_NAME姓名VARCHAR(10)10是INFO_SEX性别CHAR(2)2是男

女INFO_BIRT出生日期VARCHAR(10)10是INFO_NAFA民族VARCHAR(8)8是汉族INFO_BIPL籍贯VARCHAR(10)10是山东省INFO_ADDR地址VARCHAR(50)50是INFO_POSTCHAR(6)6是INFO_TELEVARCHAR(20)20是INFO_ID身份证号CHAR(18)18是INFO_POLA政治面貌VARCHAR(10)10是INFO_PHOT照片VARCHAR(100)100是INFO_YEAR入学年份VARCHAR(10)10是INFO_DEPA院系INT是INFO_PROF专业INT是INFO_CLAS班级INT是INFO_NOTE备注VARCHAR(1000)1000是表名:TB_LOG解释:登陆日志表TB_LOG(tb_Log)是否主键字段名字段描述数据类型长度可空约束缺省值备注是LOG_ID日志编号INTLOG_USID用户编号INT是LOG_TIME时间SMALLDATETIME是getdate()LOG_IPIPVARCHAR(16)16是用户不同点登录的IP

表名:TB_PROFESSIONAL解释:专业表TB_PROFESSIONAL(tb_Professional)是否主键字段名字段描述数据类型长度可空约束缺省值备注是PROF_ID专业编号INT是PROF_DEID院系INT是PROF_NAME专业名VARCHAR(40)40是PROF_NOTE备注VARCHAR(200)200是

表名:TB_RESULT解释:成绩表TB_RESULT(tb_Result)是否主键字段名字段描述数据类型长度可空约束缺省值备注是RESU_INID学号VARCHAR(20)20是RESU_COID课程号INTRESU_YEAR年份VARCHAR(4)4是RESU_TERM学期CHAR(2)2是上

下和年份联系起来指明学生某年某学期的成绩RESU_SCOR分数INT0

表名:TB_REWARDPUNISHMENT解释:奖惩表TB_REWARDPUNISHMENT(tb_RewardPunishment)是否主键字段名字段描述数据类型长度可空约束缺省值备注是REPU_ID奖惩编号INTREPU_TIME时间VARCHAR(10)10REPU_TYPE种类VARCHAR(4)4是奖励

惩罚用于标明学生获得的是奖励还是惩罚REPU_NOTE信息VARCHAR(1000)1000简要记录奖励或惩罚的事情表名:TB_COUR_INFO解释:tb_Cour_InfoTB_COUR_INFO(tb_Cour_Info)是否主键字段名字段描述数据类型长度可空约束缺省值备注是INFO_NO学号VARCHAR(20)20是COURSE_ID课程号INT表名:TB_INFO_REPU解释:tb_Info_RePuTB_INFO_REPU(tb_Info_RePu)是否主键字段名字段描述数据类型长度可空约束缺省值备注是INFO_NO学号VARCHAR(20)20是REPU_ID奖惩编号INT表名:TB_INFO_RESU解释:tb_Info_ResuTB_INFO_RESU(tb_Info_Resu)是否主键字段名字段描述数据类型长度可空约束缺省值备注是INFO_NO学号VARCHAR(20)20是RESU_ID成绩编号INT是RESU_COID课程号INT表名:TB_PROF_COUR解释:tb_Prof_CourTB_PROF_COUR(tb_Prof_Cour)是否主键字段名字段描述数据类型长度可空约束缺省值备注是COURSE_ID课程号INT是PROF_ID专业编号INT数据库实现建立数据库模式、视图及索引以下将对数据库进行实现,实现的环境为SQLSERVER2008。createdatabaseExpulsionon(name=Expulsion,filename='D:\Test\SQL\Expulsion\expulsion.mdf',size=5,filegrowth=10%,maxsize=10)logon(name=expulsion_log,filename='D:\Test\SQL\Expulsion\expulsion_log.ldf',size=5,filegrowth=10%,maxsize=10)gouseExpulsiongo建立管理员表createtabletb_Admin(admin_IDintidentity,admin_Uservarchar(10)notnull,admin_Passvarchar(20)notnull,admin_Permintnotnull,constraintpk_Adminprimarykey(admin_ID))go登陆日志表createtabletb_Log(log_IDintidentity,log_UsIDint,log_TimesmalldatetimedefaultgetDate(),log_IPvarchar(16),constraintpk_Logprimarykey(log_ID),constraintfk_Log_Adminforeignkey(log_UsID)referencestb_Admin(admin_ID),)go院系表createtabletb_Department(depart_IDint,depart_Namevarchar(40)notnull,--院系名depart_Direvarchar(10),--系主任depart_Notevarchar(200),constraintpk_Departprimarykey(Depart_ID),)go课程表createtabletb_Course(course_IDint,course_Namevarchar(20),course_PrNoint,--先行课号course_creditintnotnull,course_Notevarchar(200),--备注constraintpk_Courseprimarykey(course_ID),constraintfk_Courseforeignkey(course_PrNo)referencestb_Course(course_ID))go专业表createtabletb_Professional(prof_IDint,prof_DeIDint,--院系编号prof_Namevarchar(40),--专业名prof_Notevarchar(200)constraintpk_Profprimarykey(prof_ID),constraintfk_Prof_Departforeignkey(prof_DeID)referencestb_Department(depart_ID)ondeletecascadeonupdatecascade,)go班级表createtabletb_Class(class_IDint,class_Yearvarchar(4)defaultYear(getDate()),--入学年份哪一级的class_PrIDint,--专业编号class_Namevarchar(40),class_Instvarchar(10),--指导员instructorclass_Notevarchar(200),constraintpk_Classprimarykey(class_ID),constraintfk_Class_Profforeignkey(class_PrID)referencestb_Professional(prof_ID)ondeletecascadeonupdatecascade,)go学生信息表createtabletb_Information(info_Novarchar(20),info_Namevarchar(10),info_Sexchar(2)check(info_Sexin('男','女')),info_Birtvarchar(10),info_NaFavarchar(8)default'汉族',info_Biplvarchar(10)default'山东省',--籍贯info_Addrvarchar(50),info_Postchar(6),--邮政编码info_Televarchar(20),info_IDchar(18),--返回不带前导空格(LTrim)、后续空格(RTrim)或前导与后续空格(Trim)的字符串副本。info_PoLavarchar(10)check(rtrim(info_PoLa)in('其他','群众','共青团','中共党员')),info_Photvarchar(100),info_Yearvarchar(10),--入学时间info_Depaint,--院系info_Profint,--专业info_Clasint,--班级info_Notevarchar(1000),constraintpk_Infoprimarykey(info_No),constraintfk_Info_clasforeignkey(info_Clas)referencestb_Class(Class_ID)ondeletecascadeonupdatecascade,)go学生成绩表createtabletb_Result(resu_IDint,--成绩编号resu_CoIDint,--课程号resu_Yearvarchar(4),--年份resu_Termchar(2)check(resu_Termin('上','下')),--学期resu_Scorintnotnulldefault'0',constraintpk_Resuprimarykey(resu_ID,resu_CoID),constraintfk_Resu_Courforeignkey(resu_CoID)referencestb_Course(Course_ID)ondeletecascadeonupdatecascade,)go奖罚记录createtabletb_RewardPunishment(rePu_IDintidentity,rePu_Typevarchar(4)check(rePu_Typein('奖励','惩罚')),rePu_Timevarchar(10)notnull,rePu_Notevarchar(1000)notnull,constraintpk_RePuprimarykey(rePu_ID),)专业课程联系表gocreatetabletb_Prof_Cour(course_IDint,prof_IDint,constraintpk_Prof_Courprimarykey(course_ID,prof_ID),constraintfk_Prof_Cour_Courforeignkey(course_ID)referencestb_Course(course_ID),constraintfk_Prof_Cour_Profforeignkey(prof_ID)referencestb_Professional(prof_ID),)go课程学生联系表createtabletb_Cour_Info(info_Novarchar(20),course_IDint,constraintpk_Cour_Infoprimarykey(info_No,course_ID),constraintfk_Cour_Info_Infoforeignkey(info_No)referencestb_Information(info_No),constraintfk_Cour_Info_Courforeignkey(course_ID)referencestb_Course(course_ID),)go学生奖惩联系createtabletb_Info_RePu(info_Novarchar(20),rePu_IDint,constraintpk_Info_RePuprimarykey(info_No,rePu_ID),constraintfk_Info_RePu_Infoforeignkey(info_No)referencestb_Information(info_No),constraintfk_Info_RePu_RePuforeignkey(rePu_ID)referencestb_RewardPunishment(rePu_ID))go学生成绩联系createtableInfo_Resu(info_Novarchar(20),resu_IDint,resu_CoIDint,constraintpk_Info_Resuprimarykey(info_No,resu_ID,resu_CoID),constraintfk_Info_Resu_Infoforeignkey(info_No)referencestb_Information(info_No),constraintfk_Info_Resu_Resu_IDforeignkey(resu_ID,resu_CoID)referencestb_Result(resu_ID,resu_CoID),)****************************新建视图****************************useExpulsiongo查看某用户的登录日志createviewvi_Admin_Log(UserName,IP,LoginTime)asselecta.admin_User,l.log_IP,l.log_Timefromtb_Adminasa,tb_Logaslwherea.admin_ID=l.log_UsIDgoselect*fromvi_Admin_LogwhereUserName='cache'go建立专业课程视图createviewvi_Prof_Cour(Professional,Course,Credit,Note)asselectf_Name,c.course_Name,c.course_credit,c.course_Notefromtb_Professionalasp,tb_Courseasc,tb_Prof_Couraspcwheref_ID=f_IDandc.course_ID=pc.course_IDgoselect*fromvi_Prof_Courgo查看学生奖惩信息createviewvi_Info_RePu(Sno,Name,Prof,Clas,rePu_Type,rePu_Time,Note)asselect_No,_Name,f_Name,c.class_Name,r.rePu_Type,r.rePu_Time,r.rePu_Notefromtb_Informationasi,tb_RewardPunishmentasr,tb_Info_RePuasir,tb_Professionalasp,tb_Classascwhere_No=_Noandr.rePu_ID=ir.rePu_IDandf_ID=_Profandc.class_ID=_Clasgoselect*fromvi_Info_RePugo建立学生成绩视图createviewvi_Info_Resu(Sno,Name,Prof,Clas,Cour,RYea,Term,Scor)asselect_No,_Name,f_Name,c.class_Name,co.course_Name,r.resu_Year,r.resu_Term,r.resu_Scorfromtb_Informationasi,tb_Resultasr,tb_Info_Resuasir,tb_Professionalasp,tb_Classasc,tb_Courseascowhere_No=_Noandr.resu_CoID=ir.resu_CoIDandr.resu_ID=ir.resu_IDandco.course_ID=r.resu_CoIDandf_ID=_Profandc.class_ID=_Clasgoselect*fromvi_Info_Resu装载数据useExpulsiongo插入用户表inserttb_Admin(admin_Pass,admin_Perm,admin_User)values('123',1,'cache')--0普通用户,管理员go插入登录日志表inserttb_Log(log_UsID,log_IP)values(1,'09')go插入系院表inserttb_Department(depart_ID,depart_Name,depart_Dire,depart_Note)values(1,'信息工程学院','张万民','青岛滨海学院')go插入课程表inserttb_Course(course_ID,course_Name,course_PrNo,co

温馨提示

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

评论

0/150

提交评论