学生学籍管理系统SQL数据库系统设计文档格式.docx
《学生学籍管理系统SQL数据库系统设计文档格式.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统SQL数据库系统设计文档格式.docx(38页珍藏版)》请在冰豆网上搜索。
身特点相适应的管理系统。
对于我们学校而言,毫无疑问,在实现学校信息化的过程中,实
现学生学籍管理的信息化就显得尤为重要。
学生学籍管理系统主要用于学校学生学籍的管理,总体任务是实现学生信息关系的
系统化、科学化、规范化和自动化,其主要任务是用计算机对学生学籍进行日常管理,
如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求来设计学生学籍管
理系统。
在本次实验中,我们需要学习并掌握数据库设计的流程和基本方法。
在这基础上完成对
学生学籍系统数据库的设计和相应文档的编写工作,从而更加深入地掌握数据库系统分析与
设计的基本概念和基本方法,提高从事数据库系统建设和管理工作的基本技能和能力。
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)
S_SEX
性别
CHAR
(2)
2
男
女
S_BIRT
出生日期
S_NAFA
民族
VARCHAR(8)
8
汉
S_BIPL
籍贯
S_ADDR
地址
VARCHAR(50)
50
S_POST
邮编
CHAR(6)
6
S_TEL
电话
VARCHAR(20)
20
S_ID
身份证号
CHAR(18)
18
S_POLA
政治面貌
其
他
群
众
共
青团
中
共党员
S_YEAR
入学年份
S_DEPA
院系
CHAR(4)
S_PROF
CHAR4)
S_CLAS
S_NOTE
VARCHAR(1000)
100
2.4课程表(C)
课程表(C)
否主
省
键
值
C_ID
课程编号
4
C_NAME
课程名
C_PRNO
先行课
C_CREDIT
学分
INT
C_NOTE
课程简介
VARCHAR(200)
00
2.5班级表(B)
班级表(B)
B_ID
班级编号
B_NAME
班级名
VARCHAR(40)
B_NUM
班级人数
SMALLINT
B_MASTER
班主任名
VARCHAR(4)
P_ID
专业编号
2.6专业表(P)
专业表(P)
P_NAME
专业名
P_NUM
专业人数
D_ID
学院编号
2.7院系表(D)
院系表(D)
是字段名字段描述数据类型长可约缺备注
否主键度空束省
D_NAME
学院名
D_NUM
学院人数
D_MASTER
院长名
2.8选课表(CS)
选课表(CS)
字段描
述
T_ID
学院编
号
课程编
CS_RESULT
成绩
FLOAT
2.9教师表(T)
教师表(T)
教师编号
T_NAME
教师名
T_COR
所授课程
T_TEL手机号码CHAR(11)1是
1
2.10授课表(J)
授课表(J)
T_ID
教师
编号
J_TIME
授课时
间
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='
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),
createtableP--专业表
P_IDCHAR(4)notnull,
P_NAMEvarchar(40),
P_NUMint,
constraintpk_Pprimarykey(P_ID),
constraintfk_P_Dforeignkey(D_ID)referencesD(D_ID)
ondeletecascade
onupdatecascade,
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)
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)
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)
createtableCS--选课表
S_Nochar(10)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)
createtableT--教师表
T_IDCHAR(4)notnull,
T_NAMEvarchar(4),
T_CORvarchar(20),
T_TELchar(11),
constraintpk_Tprimarykey(T_ID)
createtableJ--授课表表
T_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)
插入数据:
insertA(A_ID,A_PERM,A_PW,A_USER)
values('
0001'
1'
password1'
张六'
0002'
2'
password2'
张齐'
insertD(D_ID,D_Name,D_NUM,D_MASTE