学生学籍管理系统SQL数据库系统设计

上传人:痛*** 文档编号:104648742 上传时间:2022-06-10 格式:DOC 页数:23 大小:227KB
返回 下载 相关 举报
学生学籍管理系统SQL数据库系统设计_第1页
第1页 / 共23页
学生学籍管理系统SQL数据库系统设计_第2页
第2页 / 共23页
学生学籍管理系统SQL数据库系统设计_第3页
第3页 / 共23页
点击查看更多>>
资源描述
-数据库课程设计报告专业班级小组成员指导教师开场时间完成时间目录数据库课程设计报告11.问题描述31.1背景31.2需求分析32.数据字典42.1建表清单42.2管理员表A42.3学生信息表S42.4课程表C53.概念构造设计73.1功能图73.2数据流图83.3E-R图94.逻辑构造设计124.1E-R图的转换126.程序实现156.2程序代码156.2功能的实现结果257.结论28课题名称:学生学籍管理系统1. 问题描述1.1 背景随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。任一个单位需要高效率地把部活动有机地组织起来并迅速开展,就必须建立与自身特点相适应的管理系统。对于我们学校而言,毫无疑问,在实现学校信息化的过程中,实现学生学籍管理的信息化就显得尤为重要。学生学籍管理系统主要用于学校学生学籍的管理,总体任务是实现学生信息关系的系统化、科学化、规化和自动化,其主要任务是用计算机对学生学籍进展日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求来设计学生学籍管理系统。在本次实验中,我们需要学习并掌握数据库设计的流程和根本法。在这根底上完成对学生学籍系统数据库的设计和相应文档的编写工作,从而更加深入地掌握数据库系统分析与设计的根本概念和根本法,提高从事数据库系统建立和管理工作的根本技能和能力。1.2 需求分析根据用户的需求,学生学籍管理系统将满足一下需求:A学生个人根本信息1) 实现学生根本情况的录入、修改、删除等根本操作。2) 对学生根本信息提供灵活的查询式。B选课功能1) 完成一个班级的学期选课功能。C成绩管理1) 实现学生成绩的录入、修改、删除等根本操作。2) 能便的对学生的个学期成绩进展查询。3) 具有成绩统计、排名等功能。2. 数据字典2.1 建表清单A管理员表S学生信息表C课程表B班级表P专业表D院系表CS选课表T教师表J授课表2.2 管理员表A是否主键字段名字段描述数据类型长度可空约束缺省值备注是A_ID管理员编号CHAR(4)4A_USER用户名VARCHAR(10)10A_PW用户密码VARCHAR(20)20A_PERM用户权限INT不同用户拥有不同权限2.3 学生信息表S是否主键字段名字段描述数据类型长度可空约束缺省值备注是S_NO*CHAR(10)10S_NAME*VARCHAR(10)10是S_SE*性别CHAR(2)2是男 女S_BIRT出生日期VARCHAR(10)10是S_NAFA民族VARCHAR(8)8是汉S_BIPL籍贯VARCHAR(10)10是S_ADDR地址VARCHAR(50)50是S_POST CHAR(6)6是S_TELVARCHAR(20)20是S_ID*号CHAR(18)18是S_POLA政治面貌VARCHAR(10)10是其他群众共青团中共党员S_YEAR入学年份VARCHAR(10)10是S_DEPA院系CHAR(4)是S_PROF专业CHAR4)是S_CLAS班级CHAR(4)是S_NOTE备注VARCHAR(1000)1000是2.4 课程表C是否主键字段名字段描述数据类型长度可空约束缺省值备注是C_ID课程编号CHAR(4)4C_NAME课程名VARCHAR(20)20是C_PRNO先行课CHAR(4)4是C_CREDIT学分INTC_NOTE课程简介VARCHAR(200)200是2.5 班级表B是否主键字段名字段描述数据类型长度可空约束缺省值备注是B_ID班级编号CHAR(4)4B_NAME班级名VARCHAR(40)40是B_NUM班级人数SMALLINT是B_MASTER班主任名VARCHAR(4)是P_ID专业编号CHAR(4)2.6 专业表P是否主键字段名字段描述数据类型长度可空约束缺省值备注是P_ID专业编号CHAR(4)4P_NAME专业名VARCHAR(40)40是P_NUM专业人数INT是D_ID学院编号CHAR(4)42.7 院系表D是否主键字段名字段描述数据类型长度可空约束缺省值备注是D_ID学院编号CHAR(4)4D_NAME学院名VARCHAR(40)40是D_NUM学院人数INT是D_MASTER院长名VARCHAR(4)4是2.8 选课表CS是否主键字段名字段描述数据类型长度可空约束缺省值备注是T_ID学院编号CHAR(4)20是C_ID课程编号CHAR(4)4CS_RESULT成绩FLOAT是2.9 教师表T是否主键字段名字段描述数据类型长度可空约束缺省值备注是T_ID教师编号CHAR(4)4T_NAME教师名VARCHAR(4)4是T_COR所授课程VARCHAR(20)20是T_TEL手机CHAR(11)11是2.10 授课表J是否主键字段名字段描述数据类型长度可空约束缺省值备注是T_ ID教师编号CHAR(4)4是C_ID课程编号CHAR(4)4J_TIME授课时间VARCHAR(20)是3. 概念构造设计3.1 功能图3.2 数据流图 数据流图是用图形的式完成系统息的传递,先构建系统抽象模型,既顶层数据流图为图(1):学生选课/退选学生选课、成绩表系管理员系管理员学籍管理系统学生、课程、班级及专业信息表,留级、休学处理表录如/更新学生、系、专业、课程及成绩信息 图(2):学籍管理系统信息流图班级描述信息由上图知,学生进入系统只完成选课及退选。而系管理员进入系统后录入/更新的信息抱括:专业、班级、学生。对学生选课进一步分解可得图2:学生描述信息专业信息班级信息学生信息专业描述信息选课申请选课不成功已选课程选课成功选课信息记录课程信息课程描述信息通过申请验证不通过选课处理图(3):学生选课分解子图学生身份验证图中的专业、学生、班级信息以及学生选的课程都又系管理员录入。学生通过身份验证后进入系统,选择自己的必修和选修课,并能对已选课进展撤消。学生选完课提交后,将结果保存。3.3 E-R图4. 逻辑构造设计4.1 逻辑构造设计步骤1将概念构造转换为一般关系、网状、层次模型。2将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换。3对数据模型进展优化。4.2 E-R图的转换管理员表学生表班级表专业表学院表课程表选课表教师表授课表5. 物理构造设计5.1 物理关系模型6. 程序实现6.2 程序代码建立数据库:CREATEDATABASE STUDENTON(NAME=STUDENT_Data,FILENAME=C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataSTUDENT.mdf,SIZE=10MB,MA*SIZE=50MB,FILEGROWTH=10%)LOGON(NAME=lbr_Log,FILENAME=C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataSTUDENT_Log.ldf,SIZE=2MB,MA*SIZE=5MB,FILEGROWTH=1MB)GOUSE STUDENT建表:createtable A -管理员表( A_ID CHAR(4), A_USER varchar(10)notnull, A_PW varchar(20)notnull, A_PERM intnotnull,constraint pk_A primarykey(A_ID)go createtable D -院系表( D_ID CHAR(4)notnull, D_NAME varchar(40), D_NUM int, D_MASTER varchar(4),constraint pk_D primarykey(D_ID),)gocreatetable P -专业表( P_ID CHAR(4)notnull, P_NAME varchar(40), P_NUM int, D_ID CHAR(4)notnull,constraint pk_P primarykey(P_ID),constraint fk_P_D foreignkey(D_ID)references D(D_ID)ondeletecascadeonupdatecascade,)gocreatetable B -班级表( B_ID CHAR(4)notnull, B_NAME varchar(40), B_MASTER varchar(4), B_NUM smallint, P_ID CHAR(4)notnull,-专业编号constraint pk_B primarykey(B_ID),constraint fk_B_P foreignkey(P_ID)references P(P_ID)ondeletecascadeonupdatecascade,)gocreatetable S -学生表( S_NO char(10)notnull, S_NAME varchar(10), S_SE* char(2)check(S_SE* in(男,女), S_BIRT varchar(10), S_NAFA varchar(8), S_BIPL varchar(10), S_ADDR varchar(50), S_POST char(6),-邮政编码 S_TEL varchar(20), S_ID char(18),-返回不带前导空格(LTrim)、后续空格(RTrim) 或前导与后续空格(Trim) 的字符串副本。 S_POLA varchar(10)check(rtrim(S_POLA)in(其他,群众,共青团,中共党员), S_YEAR varchar(10),-入学时间 S_DEPA CHAR(4),-院系 S_PROF CHAR(4),-专业 S_CLAS CHAR(4),-班级 S_NOTE varchar(1000),constraint pk_S primarykey(S_NO),constraint fk_S_CLAS foreignkey(S_CLAS)references B (B_ID)ondeletecascadeonupdatecascade,)gocreatetable C -课程表( C_ID CHAR(4)notnull, C_NAME varchar(20), C_PRNO CHAR(4), C_CREDIT intnotnull, C_NOTE varchar(200),constraint pk_C primarykey(C_ID),constraint fk_C foreignkey(C_PRNO)references C(C_ID)gocreatetable CS -选课表( S_No char(10)notnull, C_ID CHAR(4)notnull, CS_RESULT FLOAT,constraint pk_C_S primarykey(S_No,C_ID),constraint fk_C_S_S foreignkey(S_No)references S(S_No),constraint fk_C_S_C foreignkey(C_ID)references C(C_ID)gocreatetable T -教师表( T_ID CHAR(4)notnull, T_NAME varchar(4), T_COR varchar(20), T_TEL char(11),constraint pk_T primarykey(T_ID)gocreatetable J -授课表表( T_ID char(4)notnull, C_ID CHAR(4)notnull, J_TIME varchar(20),constraint pk_T_C primarykey(C_ID,T_ID),constraint fkJ_C foreignkey(C_ID)references C(C_ID),constraint fkJ_T foreignkey(T_ID)references T(T_ID)go插入数据:insert A(A_ID,A_PERM,A_PW,A_USER)values(0001,1,password1,六)goinsert A(A_ID,A_PERM,A_PW,A_USER)values(0002,2,password2,齐)goinsert D (D_ID,D_Name,D_NUM,D_MASTER)values(0001,信息技术学院,5000,五)goinsert P (P_ID,D_ID,P_NAME,P_NUM)values(0001,0001,数字媒体技术,120)goinsert P (P_ID,D_ID,P_NAME,P_NUM)values(0002,0001,软件工程,120)goinsert B (B_ID,P_ID,B_NAME,B_NUM,B_MASTER)values(0001,0001,1班,120,丽)goinsert B (B_ID,P_ID,B_NAME,B_NUM,B_MASTER)values(0002,0002,1班,120,宏)goinsert Svalues(1001010018,希,女,1989-7-10,汉族,省,师大学分校,519078,158*,7,中共党员,2007-9-1,0001,0001,0001,无)goinsert Svalues(1001010764,妮,女,1990-8-10,汉族,省,师大学分校,519078,158*,8,中共党员,2007-9-1,0001,0001,0001,无)goinsert Svalues(1001010056,帅,男,1989-7-10,汉族,省,师大学分校,519078,158*,9,中共党员,2007-9-1,0001,0002,0002,无)goinsert Svalues(1001010065,思,男,1989-7-10,汉族,省,师大学分校,519078,158*,6,中共党员,2007-9-1,0001,0002,0002,无)goinsert Svalues(1001010034,邵明,男,1989-7-10,汉族,省,师大学分校,519078,158*,7,中共党员,2007-9-1,0001,0001,0001,无)goinsert C(C_ID,C_NAME,C_CREDIT,C_NOTE)values(0001,数据库原理,3,无)goinsert C(C_ID,C_NAME,C_CREDIT,C_PRNO,C_NOTE)values(0002,VB,3,0001,无)goinsert C(C_ID,C_NAME,C_CREDIT,C_PRNO,C_NOTE)values(0003,C+,3,0001,无)goinsert C(C_ID,C_NAME,C_CREDIT,C_NOTE)values(0001,数据库原理,3,无)goinsert T(T_ID,T_NAME,T_TEL,T_COR)values(0001,鹏,136*,数据库原理)goinsert T(T_ID,T_NAME,T_TEL,T_COR)values(0002,黄静,136*,VB)goinsert T(T_ID,T_NAME,T_TEL,T_COR)values(0003,辉,136*,C+)goinsert J(T_ID,C_ID,J_TIME)values(0001,0001,三节)goinsert J(T_ID,C_ID,J_TIME)values(0002,0002,一节)goinsert J(T_ID,C_ID,J_TIME)values(0003,0003,二节)goinsert CS(S_No,C_ID,CS_RESULT)values(1001010018,0001,90)goinsert CS(S_No,C_ID,CS_RESULT)values(1001010764,0002,80)goinsert CS(S_No,C_ID,CS_RESULT)values(1001010056,0003,88)goinsert CS(S_No,C_ID,CS_RESULT)values(1001010065,0001,78)goinsert CS(S_No,C_ID,CS_RESULT)values(1001010065,0002,78)goinsert CS(S_No,C_ID,CS_RESULT)values(1001010065,0003,89)goinsert CS(S_No,C_ID,CS_RESULT)values(1001010034,0003,93)go功能实现代码:/*学生专业课程视图*/createview IS_S_Cour(S_NO,S_NAME,S_PROF,S_COURSE)asselect S.S_NO,S.S_Name,S.S_CLAS,C.C_NAMEfrom S,C,CSwhere S.S_NO=CS.S_No and C.C_ID=CS.C_IDgo/*/*学生成绩视图*/createview RESULT_S(S_NO,S_NAME,C_ID,C_NAME,CS_RESULT)asselect S.S_NO,S.S_Name,CS.C_ID,C.C_NAME,CS.CS_RESULTfrom S,C,CSwhere S.S_NO=CS.S_No and C.C_ID=CS.C_IDgo/*/*对学生根本信息提供灵活的查询式。*/CREATEPROCEDURE student*CHAR(10),*VARCHAR(10)OUTPUT,性别CHAR(2)OUTPUT,生日VARCHAR(10)OUTPUTASSELECT *=S_NAME,性别=S_SE*,生日=S_BIRTFROM SWHERE S_NO=*DECLARE *VARCHAR(10),性别CHAR(2),生日VARCHAR(10)E*EC student 1001010764,*OUTPUT,性别OUTPUT,生日OUTPUTSELECT *,性别,生日/*/*对学生的成绩进展查询。*/CREATEPROCEDURE RESULT(S_NAME,C_NAME,CS_RESULT)*CHAR(10),*VARCHAR(10)OUTPUT,课程名CHAR(20)OUTPUT,成绩FLOATOUTPUTASSELECT *=S_NAME,课程名=C_NAME,成绩=CS_RESULTFROM S,C,CSWHERE S.S_NO=*DECLARE *VARCHAR(10),课程名CHAR(20),成绩FLOATE*EC RESULT 1001010764,*OUTPUT,课程名OUTPUT,成绩OUTPUTSELECT *,课程名,成绩/*/*二班选课情况*/createview SELECTC(S_CLAS,S_NO,S_NAME,C_NAME)asselect S.S_CLAS,S.S_NO,S.S_Name,C.C_NAMEfrom S,C,CSwhere S.S_NO=CS.S_No and C.C_ID=CS.C_ID AND S.S_CLAS =0002go/*/*C+课的成绩平均分*/createview AVGRESULT(C_NAME,ARGRESULT)asselect C_NAME,AVG(CS_RESULT)from CS,Cwhere C.C_ID=CS.C_ID AND C.C_ID =0003GROUPBY C_NAMEgo/*/*C+课的成绩平均分排序*/select S.S_NO,S_NAME,C_NAME,CS_RESULTfrom CS,C,Swhere S.S_NO=CS.S_No and C.C_ID=CS.C_ID AND C.C_ID =0003ORDERBY CS_RESULT DESC;go/*/*更新*为的*/UPDATE SSET S_TEL =136*WHERE S_NO =1001010018GO/*/*删除*为的记录*/DELETEFROM SWHERE S_NO =1001010056/*/*学生表民族默认值为汉族*/ALTERTABLE S ADDCONSTRAINT MINZUDEFAULT汉族FOR S_NAFA/*/6.2 功能的实现结果完成各种功能的截图:学生专业课程视图学生成绩视图对学生的成绩进展查询存储过程二班选课情况视图C+课的成绩平均分视图C+课的成绩平均分排序对学生根本信息提供灵活的查询式存储过程7. 结 论通过以上的设计案根本上可以得出一个简单的学籍管理系统的数据库,其中包含了学生根本信息、课程信息、学生选课情况、教师信息、教师授课情况、班级、院系等。而且能够对其中的各项信息进展比较灵活的查询。尽管建立的表不多,设计得也不算复杂,但是我们在实验中涉及到了诸多数据库的知识,除了根本的建表、更新和查询操作外,还有视图、存储过程等等。尽管设计到的知识点并不多,比方存储过程的操作,我们小组研究了很久才能勉强完成功能,本想附加些触发器的容,但是因为诸多原因,还是没有加上。总的说来,该系统数据库的设计虽然很简单,但也包含了学籍管理系统的局部要求,能够完成一定的数据管理功能。经过这段时间的学习、实践,我们获得了多课堂外的知识,并深刻的体会到实践是检验真理的唯一标准,只有理论与实践相结合,才能更加掌握书本知识,同时学到了更多的知识。首先我们要感学校给我们安排了致辞数据库系统设计的时机,然后要感鹏教师对我们热心的指导和帮助,是他教会了我们解决问题的法,这样才使得我们能够顺利的完本钱次课程设计。同时我们还要感多同学给予的帮助,有了大家的帮助让我们有更多的信心。. z.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!