学生学籍管理系统SQL数据库系统设计.docx
《学生学籍管理系统SQL数据库系统设计.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统SQL数据库系统设计.docx(38页珍藏版)》请在冰豆网上搜索。
学生学籍管理系统SQL数据库系统设计
数据库课程设计报告
<学生学籍管理系统>
专业
班级
小组成员
指导老师
开始时间
完成时间
数据库课程设计报告.................................................................
错误!
未定义书签。
1.
问题描述.........................................................................
错误!
未定义书签。
背景.............................................................................
错误!
未定义书签。
需求分析......................................................................
错误!
未定义书签。
2.
数据字典.........................................................................
错误!
未定义书签。
建表清单......................................................................
错误!
未定义书签。
管理员表(A)...........................................................
错误!
未定义书签。
学生信息表(S)........................................................
错误!
未定义书签。
课程表(C)................................................................
错误!
未定义书签。
3.
概念结构设计.................................................................
错误!
未定义书签。
功能图..........................................................................
错误!
未定义书签。
数据流图......................................................................
错误!
未定义书签。
E-R图...........................................................................
错误!
未定义书签。
4.
逻辑结构设计.................................................................
错误!
未定义书签。
E-R图的转换...............................................................
错误!
未定义书签。
6.
程序实现.........................................................................
错误!
未定义书签。
程序代码......................................................................
错误!
未定义书签。
功能的实现结果..........................................................
错误!
未定义书签。
7.
结论.........................................................................
错误!
未定义书签。
课题名称:
学生学籍管理系统
1.问题描述
1.1背景
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步
成熟。
任何一个单位需要高效率地把内部活动有机地组织起来并迅速发展,就必须建立与自
身特点相适应的管理系统。
对于我们学校而言,毫无疑问,在实现学校信息化的过程中,实
现学生学籍管理的信息化就显得尤为重要。
学生学籍管理系统主要用于学校学生学籍的管理,总体任务是实现学生信息关系的
系统化、科学化、规范化和自动化,其主要任务是用计算机对学生学籍进行日常管理,
如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求来设计学生学籍管
理系统。
在本次实验中,我们需要学习并掌握数据库设计的流程和基本方法。
在这基础上完成对
学生学籍系统数据库的设计和相应文档的编写工作,从而更加深入地掌握数据库系统分析与
设计的基本概念和基本方法,提高从事数据库系统建设和管理工作的基本技能和能力。
1.2需求分析
根据用户的需求,学生学籍管理系统将满足一下需求:
A)学生个人基本信息
1)实现学生基本情况的录入、修改、删除等基本操作。
2)对学生基本信息提供灵活的查询方式。
3)
B)选课功能
1)完成一个班级的学期选课功能。
2)
C)成绩管理
1)实现学生成绩的录入、修改、删除等基本操作。
2)能方便的对学生的个学期成绩进行查询。
3)具有成绩统计、排名等功能。
4)
2.数据字典
2.1建表清单
A
S
C
B
P
D
CS
T
J
2.2管理员表(A)
管理员表(A)
中文对照
管理员表
学生信息表
课程表
班级表
专业表
院系表
选课表
老师表
授课表
是字段名字段描述数据类长可约缺备注
否主键型度空束省值
是A_ID管理员编号CHAR(4)4
A_USER用户名VARCHA1
R(10)0
A_PW用户密码VARCHA2
R(20)0
A_PERM用户权限INT不同用户拥有不同权
限
2.3学生信息表(S)
学生信息表(S)
是
字段名
字段描述
数据类型
长
可
约
缺
备注
否主键
度
空
束
省值
是
S_NO
学号
CHAR(10)
10
S_NAME
姓名
VARCHAR(10)
10
是
S_SEX
性别
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_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)
100
是
0
2.4课程表(C)
课程表(C)
是
字段名
字段描述
数据类型
长
可
约
缺
备注
否主
度
空
束
省
键
值
是
C_ID
课程编号
CHAR(4)
4
C_NAME
课程名
VARCHAR(20)
2
是
0
C_PRNO
先行课
CHAR(4)
4
是
C_CREDIT
学分
INT
C_NOTE
课程简介
VARCHAR(200)
2
是
00
2.5班级表(B)
班级表(B)
是
字段名
字段描述
数据类型
长
可
约
缺
备注
否主键
度
空
束
省
值
是
B_ID
班级编号
CHAR(4)
4
B_NAME
班级名
VARCHAR(40)
4
是
0
B_NUM
班级人数
SMALLINT
是
B_MASTER
班主任名
VARCHAR(4)
是
P_ID
专业编号
CHAR(4)
2.6专业表(P)
专业表(P)
是
字段名
字段描述
数据类型
长
可
约
缺
备注
否主键
度
空
束
省
值
是
P_ID
专业编号
CHAR(4)
4
P_NAME
专业名
VARCHAR(40)
4
是
0
P_NUM
专业人数
INT
是
D_ID
学院编号
CHAR(4)
4
2.7院系表(D)
院系表(D)
是字段名字段描述数据类型长可约缺备注
否主键度空束省
值
是
D_ID
学院编号
CHAR(4)
4
D_NAME
学院名
VARCHAR(40)
4
是
0
D_NUM
学院人数
INT
是
D_MASTER
院长名
VARCHAR(4)
4
是
2.8选课表(CS)
选课表(CS)
是
字段名
字段描
数据类型
长
可
约
缺
备注
否主键
述
度
空
束
省值
是
T_ID
学院编
CHAR(4)
20
号
是
C_ID
课程编
CHAR(4)
4
号
CS_RESULT
成绩
FLOAT
是
2.9教师表(T)
教师表(T)
是
字段名
字段描述
数据类型
长
可
约
缺
备注
否主
度
空
束
省
键
值
是
T_ID
教师编号
CHAR(4)
4
T_NAME
教师名
VARCHAR(4)
4
是
T_COR
所授课程
VARCHAR(20)
2
是
0
T_TEL手机号码CHAR(11)1是
1
2.10授课表(J)
授课表(J)
是
字段名
字段描
数据类型
长
可
约
缺
备注
否主键
述
度
空
束
省值
是
T_ID
教师
CHAR(4)
4
编号
是
C_ID
课程编
CHAR(4)
4
号
J_TIME
授课时
VARCHAR(20)
是
间
3.概念结构设计
3.1功能图
学生学籍管理系统
成
特
绩
殊
输
统
录
修
删
查
查
情
出
计
入
改
除
看
询
况
报
、
处
表
排
理
名
3.2数据流图
数据流图是用图形的方式完成系统中信息的传递,先构建系统抽象模型,既顶层数据流图为图
(1):
学生
学生
选课/退选
选课、成绩表
系管理员
学籍管理系统
系管理员
录如/更新学生、系、
学生、课程、班级及专业信
息表,留级、休学处理表
图
(2):
学籍管理系统信息流图
由上图知,学生进入系统只完成选课及退选。
而系管理员进入系统后录入/更新的信息抱括:
专业、班级、学生。
对学生选课进一步分解可得图
(2):
班级描述信息
学生描述信息
学生
身份验证
专业描述信息
验证不学通生过信息
班级信息
课程描述信息
选课申请
通过申请
选课不成功
专业信息
选课处理
课程信息
选课成功
已选课程
选课信息记录
图(3):
学生选课分解子图
图中的专业、学生、班级信息以及学生选的课程都又系管理员录入。
学生通过身份验证后进入系统,选择自己的必修和选修课,并能对已选课进行撤消。
学生选完课提交后,将结果保存。
3.3E-R图
4.逻辑结构设计
4.1逻辑结构设计步骤
(1)将概念结构转换为一般关系、网状、层次模型。
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换。
(3)对数据模型进行优化。
4.2E-R图的转换
管理员表
学生表
班级表
专业表
学院表
课程表
选课表
教师表
授课表
5.物理结构设计
5.1物理关系模型
6.程序实现
6.2程序代码
建立数据库:
CREATEDATABASESTUDENT
ON
(NAME=STUDENT_Data,
FILENAME='C:
\ProgramFiles\MicrosoftSQLServer\\MSSQL\Data\',
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=10%
)
LOGON
(NAME='lbr_Log',
FILENAME='C:
\ProgramFiles\MicrosoftSQLServer\\MSSQL\Data\',
SIZE=2MB,
MAXSIZE=5MB,
FILEGROWTH=1MB
)
GO
USESTUDENT
建表:
createtableA--管理员表
(
A_IDCHAR(4),
A_USERvarchar(10)notnull,
A_PWvarchar(20)notnull,
A_PERMintnotnull,
constraintpk_Aprimarykey(A_ID)
)
go
createtableD--院系表
(
D_IDCHAR(4)notnull,
D_NAMEvarchar(40),
D_NUMint,
D_MASTERvarchar(4),
constraintpk_Dprimarykey(D_ID),
)
go
createtableP--专业表
(
P_IDCHAR(4)notnull,
P_NAMEvarchar(40),
P_NUMint,
D_IDCHAR(4)notnull,
constraintpk_Pprimarykey(P_ID),
constraintfk_P_Dforeignkey(D_ID)referencesD(D_ID)
ondeletecascade
onupdatecascade,
)
go
createtableB--班级表
(
B_IDCHAR(4)notnull,
B_NAMEvarchar(40),
B_MASTERvarchar(4),
B_NUMsmallint,
P_IDCHAR(4)notnull,--专业编号
constraintpk_Bprimarykey(B_ID),
constraintfk_B_Pforeignkey(P_ID)referencesP(P_ID)
ondeletecascade
onupdatecascade,
)
go
createtableS--学生表
(
S_NOchar(10)notnull,
S_NAMEvarchar(10),
S_SEXchar
(2)check(S_SEXin('男','女')),
S_BIRTvarchar(10),
S_NAFAvarchar(8),
S_BIPLvarchar(10),
S_ADDRvarchar(50),
S_POSTchar(6),--邮政编码
S_TELvarchar(20),
S_IDchar(18),--返回不带前导空格(LTrim)、后续空格(RTrim)或前导与后续空格(Trim)的字
符串副本。
S_POLAvarchar(10)check(rtrim(S_POLA)in('其他','群众','共青团','中共党员')),
S_YEARvarchar(10),--入学时间
S_DEPACHAR(4),--院系
S_PROFCHAR(4),--专业
S_CLASCHAR(4),--班级
S_NOTEvarchar(1000),
constraintpk_Sprimarykey(S_NO),
constraintfk_S_CLASforeignkey(S_CLAS)referencesB(B_ID)
ondeletecascade
onupdatecascade,
)
go
createtableC--课程表
(
C_IDCHAR(4)notnull,
C_NAMEvarchar(20),
C_PRNOCHAR(4),
C_CREDITintnotnull,
C_NOTEvarchar(200),
constraintpk_Cprimarykey(C_ID),
constraintfk_Cforeignkey(C_PRNO)referencesC(C_ID)
)
go
createtableCS--选课表
(
S_Nochar(10)notnull,
C_IDCHAR(4)notnull,
CS_RESULTFLOAT,
constraintpk_C_Sprimarykey(S_No,C_ID),
constraintfk_C_S_Sforeignkey(S_No)referencesS(S_No),constraintfk_C_S_Cforeignkey(C_ID)referencesC(C_ID)
)
go
createtableT--教师表
(
T_IDCHAR(4)notnull,
T_NAMEvarchar(4),
T_CORvarchar(20),
T_TELchar(11),
constraintpk_Tprimarykey(T_ID)
)
go
createtableJ--授课表表
(
T_IDchar(4)notnull,
C_IDCHAR(4)notnull,
J_TIMEvarchar(20),
constraintpk_T_Cprimarykey(C_ID,T_ID),constraintfkJ_Cforeignkey(C_ID)referencesC(C_ID),constraintfkJ_Tforeignkey(T_ID)referencesT(T_ID)
)
go
插入数据:
insertA(A_ID,A_PERM,A_PW,A_USER)
values('0001','1','password1','张六')
go
insertA(A_ID,A_PERM,A_PW,A_USER)
values('0002','2','password2','张齐')
go
insertD(D_ID,D_Name,D_NUM,D_MASTE