1、学生学籍管理系统SQL数据库系统设计概要数据库课程设计报告专业班级小组成员指导老师开始时间完成时间课题名称:学生学籍管理系统1.问题描述1.1背景随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。任何一个单位需要高效率地把内部活动有机地组织起来并迅速发展,就必须建立与自身特点相适应的管理系统。对于我们学校而言,毫无疑问,在实现学校信息化的过程中,实现学生学籍管理的信息化就显得尤为重要。学生学籍管理系统主要用于学校学生学籍的管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生学籍进行日常管理,如查询、修改、增加、删除,另外还
2、考虑到学生选课,针对这些要求来设计学生学籍管理系统。 在本次实验中,我们需要学习并掌握数据库设计的流程和基本方法。在这基础上完成对学生学籍系统数据库的设计和相应文档的编写工作,从而更加深入地掌握数据库系统分析与设计的基本概念和基本方法,提高从事数据库系统建设和管理工作的基本技能和能力。1.2需求分析根据用户的需求,学生学籍管理系统将满足一下需求:A)学生个人基本信息1)实现学生基本情况的录入、修改、删除等基本操作。2)对学生基本信息提供灵活的查询方式。3)B)选课功能1)完成一个班级的学期选课功能。2)C)成绩管理1)实现学生成绩的录入、修改、删除等基本操作。2)能方便的对学生的个学期成绩进行
3、查询。3)具有成绩统计、排名等功能。4)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_SEX性别CHAR(2)2是男 女S_BIRT出生日期VA
4、RCHAR(10)10是S_NAFA民族VARCHAR(8)8是汉S_BIPL籍贯VARCHAR(10)10是S_ADDR地址VARCHAR(50)50是S_POST邮编CHAR(6)6是S_TEL电话VARCHAR(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)是否主键字段名字段描述数据类型长度可空约束缺省值备
5、注是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
6、)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
7、(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):图中的专业、学生、
8、班级信息以及学生选的课程都又系管理员录入。学生通过身份验证后进入系统,选择自己的必修和选修课,并能对已选课进行撤消。学生选完课提交后,将结果保存。 3.3E-R图4.逻辑结构设计4.1逻辑结构设计步骤(1)将概念结构转换为一般关系、网状、层次模型。(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换。(3)对数据模型进行优化。 4.2E-R图的转换管理员表学生表班级表专业表学院表课程表选课表教师表授课表5.物理结构设计5.1物理关系模型6.程序实现6.2程序代码建立数据库:CREATE DATABASE STUDENTON ( NAME=STUDENT_Data, =C:Pr
9、ogram FilesMicrosoft SQL ServerMSSQL.1MSSQLDataSTUDENT.mdf, SIZE=10MB, MAXSIZE=50MB, =10%)LOG ON( NAME=lbr_Log, = C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataSTUDENT_Log.ldf, SIZE=2MB, MAXSIZE=5MB, =1MB)GOUSE STUDENT建表:create table A -管理员表( A_ID CHAR(4) , A_USER varchar(10) not null, A_PW var
10、char(20) not null, A_PERM int not null, constraint pk_A primary key (A_ID)go create table D -院系表( D_ID CHAR(4) not null, D_NAME varchar(40) , D_NUM int, D_MASTER varchar(4), constraint pk_D primary key (D_ID),)gocreate table P -专业表( P_ID CHAR(4) not null, P_NAME varchar(40), P_NUM int, D_ID CHAR(4)
11、not null, constraint pk_P primary key (P_ID), constraint fk_P_D foreign key (D_ID) references D(D_ID) on delete cascade on update cascade,)gocreate table B -班级表( B_ID CHAR(4) not null, B_NAME varchar(40), B_MASTER varchar(4), B_NUM smallint, P_ID CHAR(4) not null,-专业编号 constraint pk_B primary key (B
12、_ID), constraint fk_B_P foreign key (P_ID) references P(P_ID) on delete cascade on update cascade, )gocreate table S -学生表( S_NO char(10) not null, S_NAME varchar(10), S_SEX char(2) check(S_SEX in(男,女), S_BIRT varchar(10), S_NAFA varchar(8), S_BIPL varchar(10) , S_ADDR varchar(50), S_POST char(6), -邮
13、政编码 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 primary key(S_NO), constra
14、int fk_S_CLAS foreign key (S_CLAS) references B (B_ID) on delete cascade on update cascade,) gocreate table C -课程表( C_ID CHAR(4) not null, C_NAME varchar(20), C_PRNO CHAR(4) , C_CREDIT int not null, C_NOTE varchar(200), constraint pk_C primary key (C_ID), constraint fk_C foreign key (C_PRNO) referen
15、ces C(C_ID)gocreate table CS -选课表( S_No char(10) not null, C_ID CHAR(4) not null, CS_RESULT FLOAT, constraint pk_C_S primary key(S_No,C_ID), constraint fk_C_S_S foreign key(S_No) references S(S_No), constraint fk_C_S_C foreign key(C_ID) references C(C_ID)gocreate table T -教师表( T_ID CHAR(4) not null,
16、 T_NAME varchar(4), T_COR varchar(20) , T_TEL char(11), constraint pk_T primary key (T_ID)gocreate table J -授课表表( T_ID char(4) not null, C_ID CHAR(4) not null, J_TIME varchar(20), constraint pk_T_C primary key(C_ID,T_ID), constraint fkJ_C foreign key(C_ID) references C(C_ID), constraint fkJ_T foreig
17、n key(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
18、 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*,4450627,中共党员,2007-9-1,0001,00
19、01,0001,无)goinsert Svalues(1001010764,张妮,女,1990-8-10,汉族,贵州省,北京师范大学珠海分校,519078,158*,4450628,中共党员,2007-9-1,0001,0001,0001,无)goinsert Svalues(1001010056,王帅,男,1989-7-10,汉族,广东省,北京师范大学珠海分校,519078,158*,4450629,中共党员,2007-9-1,0001,0002,0002,无)goinsert Svalues(1001010065,李思,男,1989-7-10,汉族,广东省,北京师范大学珠海分校,51907
20、8,158*,4450626,中共党员,2007-9-1,0001,0002,0002,无)goinsert Svalues(1001010034,邵明,男,1989-7-10,汉族,广东省,北京师范大学珠海分校,519078,158*,4455627,中共党员,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(
21、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+)goi
22、nsert 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(1
23、001010056,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功能实现代码:/*学生专业课程视图*/create view IS_S_Cour(S_NO,S_
24、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/*/*学生成绩视图*/create view 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/*/*对学生基本信息提供灵活的查询方式。*/CREATE PROCEDURE student 学号CHAR(10), 姓名VARCHAR(10) OUTPUT, 性别CHAR(2)OUTPUT, 生日VARCHAR(10) OUTPUT AS SELECT 姓名=S_NAME,性别=S_SEX,生日=S_BIRT FROM S
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1