学生学籍管理系统SQL数据库系统设计Word文件下载.docx
- 文档编号:4376812
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:25
- 大小:37.28KB
学生学籍管理系统SQL数据库系统设计Word文件下载.docx
《学生学籍管理系统SQL数据库系统设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统SQL数据库系统设计Word文件下载.docx(25页珍藏版)》请在冰点文库上搜索。
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)
4
A_USER
用户名
VARCHAR(10)
10
A_PW
用户密码
VARCHAR(20)
20
A_PERM
用户权限
INT
不同用户拥有不同权限
2.3学生信息表(S)
S_NO
学号
CHAR(10)
S_NAME
姓名
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
电话
S_ID
身份证号
CHAR(18)
18
S_POLA
政治面貌
其他
群众
共青团
中共党员
S_YEAR
入学年份
S_DEPA
院系
S_PROF
CHAR4)
S_CLAS
S_NOTE
VARCHAR(1000)
1000
2.4课程表(C)
C_ID
课程编号
C_NAME
课程名
C_PRNO
先行课
C_CREDIT
学分
C_NOTE
课程简介
VARCHAR(200)
200
2.5班级表(B)
B_ID
班级编号
B_NAME
班级名
VARCHAR(40)
40
B_NUM
班级人数
SMALLINT
B_MASTER
班主任名
VARCHAR(4)
P_ID
专业编号
2.6专业表(P)
P_NAME
专业名
P_NUM
专业人数
D_ID
学院编号
2.7院系表(D)
D_NAME
学院名
D_NUM
学院人数
D_MASTER
院长名
2.8选课表(CS)
T_ID
CS_RESULT
成绩
FLOAT
2.9教师表(T)
教师编号
T_NAME
教师名
T_COR
所授课程
T_TEL
手机号码
CHAR(11)
11
2.10授课表(J)
J_TIME
授课时间
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,
FILENAME='
C:
\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\STUDENT.mdf'
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=10%
)
LOGON
(NAME='
lbr_Log'
FILENAME='
\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\STUDENT_Log.ldf'
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_MASTER)
信息技术学院'
5000,'
张五'
insertP(P_ID,D_ID,P_NAME,P_NUM)
数字媒体技术'
120)
软件工程'
insertB(B_ID,P_ID,B_NAME,B_NUM,B_MASTER)
1班'
120,'
李丽'
王宏'
insertS
values(,'
苏希'
1989-7-10'
汉族'
广东省'
北京师范大学珠海分校'
519078'
158********'
,'
2007-9-1'
无'
张妮'
1990-8-10'
贵州省'
王帅'
李思'
邵明'
insertC(C_ID,C_NAME,C_CREDIT,C_NOTE)
数据库原理'
3'
insertC(C_ID,C_NAME,C_CREDIT,C_PRNO,C_NOTE)
VB'
0003'
C++'
insertT(T_ID,T_NAME,T_TEL,T_COR)
周鹏'
136********'
黄静'
何辉'
insertJ(T_ID,C_ID,J_TIME)
周三节'
周一节'
周二节'
insertCS(S_No,C_ID,CS_RESULT)
90'
80'
88'
78'
89'
93'
功能实现代码:
/*********学生专业课程视图************************/
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
/***********************************************/
/****************学生成绩视图*******************/
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
/**********************************************/
/*********对学生基本信息提供灵活的查询方式。
**********/
CREATEPROCEDUREstudent
@学号CHAR(10),
@姓名VARCHAR(10)OUTPUT,
@性别CHAR
(2)OUTPUT,
@生日VARCHAR(10)OUTPUT
ASSELECT@姓名=S_NAME,@性别=S_SEX,@生日=S_BIRT
FROMS
WHERES_NO=@学号
DECLARE@姓名VARCHAR(10),
@性别CHAR
(2),
@生日VARCHAR(10)
EXEC,@姓名OUTPUT,@性别OUTPUT,@生日OUTPUT
SELECT@姓名,@性别,@生日
/********************************************************/
/***************对学生的成绩进行查询。
****************/
CREATEPROCEDURERESULT(S_NAME,C_NAME,CS_RESULT)
@课程名CHAR(20)OUTPUT,
@成绩FLOATOUTPUT
ASSELECT@姓名=S_NAME,@课程名=C_NAM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 学籍 管理 系统 SQL 数据库 设计