学生学籍管理系统SQL数据库系统设计概要.docx
- 文档编号:4865152
- 上传时间:2022-12-10
- 格式:DOCX
- 页数:29
- 大小:394.42KB
学生学籍管理系统SQL数据库系统设计概要.docx
《学生学籍管理系统SQL数据库系统设计概要.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统SQL数据库系统设计概要.docx(29页珍藏版)》请在冰豆网上搜索。
学生学籍管理系统SQL数据库系统设计概要
数据库课程设计报告
<学生学籍管理系统>
专业
班级
小组成员
指导老师
开始时间
完成时间
课题名称:
学生学籍管理系统
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_ID
管理员编号
CHAR(4)
4
A_USER
用户名
VARCHAR(10)
10
A_PW
用户密码
VARCHAR(20)
20
A_PERM
用户权限
INT
不同用户拥有不同权限
2.3学生信息表(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)
1000
是
2.4课程表(C)
是否主键
字段名
字段描述
数据类型
长度
可空
约束
缺省值
备注
是
C_ID
课程编号
CHAR(4)
4
C_NAME
课程名
VARCHAR(20)
20
是
C_PRNO
先行课
CHAR(4)
4
是
C_CREDIT
学分
INT
C_NOTE
课程简介
VARCHAR(200)
200
是
2.5班级表(B)
是否主键
字段名
字段描述
数据类型
长度
可空
约束
缺省值
备注
是
B_ID
班级编号
CHAR(4)
4
B_NAME
班级名
VARCHAR(40)
40
是
B_NUM
班级人数
SMALLINT
是
B_MASTER
班主任名
VARCHAR(4)
是
P_ID
专业编号
CHAR(4)
2.6专业表(P)
是否主键
字段名
字段描述
数据类型
长度
可空
约束
缺省值
备注
是
P_ID
专业编号
CHAR(4)
4
P_NAME
专业名
VARCHAR(40)
40
是
P_NUM
专业人数
INT
是
D_ID
学院编号
CHAR(4)
4
2.7院系表(D)
是否主键
字段名
字段描述
数据类型
长度
可空
约束
缺省值
备注
是
D_ID
学院编号
CHAR(4)
4
D_NAME
学院名
VARCHAR(40)
40
是
D_NUM
学院人数
INT
是
D_MASTER
院长名
VARCHAR(4)
4
是
2.8选课表(CS)
是否主键
字段名
字段描述
数据类型
长度
可空
约束
缺省值
备注
是
T_ID
学院编号
CHAR(4)
20
是
C_ID
课程编号
CHAR(4)
4
CS_RESULT
成绩
FLOAT
是
2.9教师表(T)
是否主键
字段名
字段描述
数据类型
长度
可空
约束
缺省值
备注
是
T_ID
教师编号
CHAR(4)
4
T_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)
4
J_TIME
授课时间
VARCHAR(20)
是
3.概念结构设计
3.1功能图
3.2数据流图
数据流图是用图形的方式完成系统中信息的传递,先构建系统抽象模型,既顶层数据流图为图
(1):
图
(2):
学籍管理系统信息流图
由上图知,学生进入系统只完成选课及退选。
而系管理员进入系统后录入/更新的信息抱括:
专业、班级、学生。
对学生选课进一步分解可得图
(2):
图中的专业、学生、班级信息以及学生选的课程都又系管理员录入。
学生通过身份验证后进入系统,选择自己的必修和选修课,并能对已选课进行撤消。
学生选完课提交后,将结果保存。
3.3E-R图
4.逻辑结构设计
4.1逻辑结构设计步骤
(1)将概念结构转换为一般关系、网状、层次模型。
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换。
(3)对数据模型进行优化。
4.2E-R图的转换
管理员表
学生表
班级表
专业表
学院表
课程表
选课表
教师表
授课表
5.物理结构设计
5.1物理关系模型
6.程序实现
6.2程序代码
建立数据库:
CREATEDATABASESTUDENT
ON
(NAME=STUDENT_Data,
='C:
\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\STUDENT.mdf',
SIZE=10MB,
MAXSIZE=50MB,
=10%
)
LOGON
(NAME='lbr_Log',
='C:
\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\STUDENT_Log.ldf',
SIZE=2MB,
MAXSIZE=5MB,
=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_MASTER)
values('0001','信息技术学院',5000,'张五')
go
insertP(P_ID,D_ID,P_NAME,P_NUM)
values('0001','0001','数字媒体技术',120)
go
insertP(P_ID,D_ID,P_NAME,P_NUM)
values('0002','0001','软件工程',120)
go
insertB(B_ID,P_ID,B_NAME,B_NUM,B_MASTER)
values('0001','0001','1班',120,'李丽')
go
insertB(B_ID,P_ID,B_NAME,B_NUM,B_MASTER)
values('0002','0002','1班',120,'王宏')
go
insertS
values('1001010018','苏希','女','1989-7-10','汉族','广东省','北京师范大学珠海分校','519078','158********','4450627','中共党员','2007-9-1','0001','0001','0001','无')
go
insertS
values('1001010764','张妮','女','1990-8-10','汉族','贵州省','北京师范大学珠海分校','519078','158********','4450628','中共党员','2007-9-1','0001','0001','0001','无')
go
insertS
values('1001010056','王帅','男','1989-7-10','汉族','广东省','北京师范大学珠海分校','519078','158********','4450629','中共党员','2007-9-1','0001','0002','0002','无')
go
insertS
values('1001010065','李思','男','1989-7-10','汉族','广东省','北京师范大学珠海分校','519078','158********','4450626','中共党员','2007-9-1','0001','0002','0002','无')
go
insertS
values('1001010034','邵明','男','1989-7-10','汉族','广东省','北京师范大学珠海分校','519078','158********','4455627','中共党员','2007-9-1','0001','0001','0001','无')
go
insertC(C_ID,C_NAME,C_CREDIT,C_NOTE)
values('0001','数据库原理','3','无')
go
insertC(C_ID,C_NAME,C_CREDIT,C_PRNO,C_NOTE)
values('0002','VB','3','0001','无')
go
insertC(C_ID,C_NAME,C_CREDIT,C_PRNO,C_NOTE)
values('0003','C++','3','0001','无')
go
insertC(C_ID,C_NAME,C_CREDIT,C_NOTE)
values('0001','数据库原理','3','无')
go
insertT(T_ID,T_NAME,T_TEL,T_COR)
values('0001','周鹏','136********','数据库原理')
go
insertT(T_ID,T_NAME,T_TEL,T_COR)
values('0002','黄静','136********','VB')
go
insertT(T_ID,T_NAME,T_TEL,T_COR)
values('0003','何辉','136********','C++')
go
insertJ(T_ID,C_ID,J_TIME)
values('0001','0001','周三节')
go
insertJ(T_ID,C_ID,J_TIME)
values('0002','0002','周一节')
go
insertJ(T_ID,C_ID,J_TIME)
values('0003','0003','周二节')
go
insertCS(S_No,C_ID,CS_RESULT)
values('1001010018','0001','90')
go
insertCS(S_No,C_ID,CS_RESULT)
values('1001010764','0002','80')
go
insertCS(S_No,C_ID,CS_RESULT)
values('1001010056','0003','88')
go
insertCS(S_No,C_ID,CS_RESULT)
values('1001010065','0001','78')
go
insertCS(S_No,C_ID,CS_RESULT)
values('1001010065','0002','78')
go
insertCS(S_No,C_ID,CS_RESULT)
values('1001010065','0003','89')
go
insertCS(S_No,C_ID,CS_RESULT)
values('1001010034','0003','93')
go
功能实现代码:
/*********学生专业课程视图************************/
createviewIS_S_Cour(S_NO,S_NAME,S_PROF,S_COURSE)as
selectS.S_NO,S.S_Name,S.S_CLAS,C.C_NAME
fromS,C,CS
whereS.S_NO=CS.S_NoandC.C_ID=CS.C_ID
go
/***********************************************/
/****************学生成绩视图*******************/
createviewRESULT_S(S_NO,S_NAME,C_ID,C_NAME,CS_RESULT)as
selectS.S_NO,S.S_Name,CS.C_ID,C.C_NAME,CS.CS_RESULT
fromS,C,CS
whereS.S_NO=CS.S_NoandC.C_ID=CS.C_ID
go
/**********************************************/
/*********对学生基本信息提供灵活的查询方式。
**********/
CREATEPROCEDUREstudent
@学号CHAR(10),
@姓名VARCHAR(10)OUTPUT,
@性别CHAR
(2)OUTPUT,
@生日VARCHAR(10)OUTPUT
ASSELECT@姓名=S_NAME,@性别=S_SEX,@生日=S_BIRT
FROMS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 学籍 管理 系统 SQL 数据库 设计 概要