班级事务管理系统数据库设计.docx
- 文档编号:30770106
- 上传时间:2023-08-23
- 格式:DOCX
- 页数:20
- 大小:163.73KB
班级事务管理系统数据库设计.docx
《班级事务管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《班级事务管理系统数据库设计.docx(20页珍藏版)》请在冰豆网上搜索。
班级事务管理系统数据库设计
班级事物管理系统数据库设计
问题描述:
班级管理信息系统的任务是收集、存储、管理班级同学的相关信息,以及班级日常管理中的相关信息。
为班级信息公开、增进同学交流了解服务,同时加强班级管理、提高班级管理与服务的效率和质量。
1.设计要求
①实现用户登录。
②实现管理员管理班级事务。
(学生信息、成绩、课程、详细信息的增、删、改、查)
③实现学生成绩查询。
④实现个人事务管理。
⑤实现生活委员班费管理。
2需求分析
.数据需求
班级事务管理系统需要完成功能主要有:
①学生基本信息的输入,包括学号、姓名、担任职务等。
②学生基本信息的添加、查询、修改、删除,包括学生学号、姓名、职务、角色等。
③学生成绩的添加、查询、修改、删除,包括学号、课程号、分数。
④课程的添加、删除,包括课程号、课程名、学分、任课老师。
⑤生活委员对班费的管理,包括班费的收入、支出。
⑥个人对本人事务的管理,包括时间和事件。
事物需求
①管理员对学生事务管理部分,要求:
a、可以查询学生基本、详细信息、课程信息以及成绩。
b、可以对学生基本信息、详细信息进行添加、修改及删除操作。
c、可以对课程信息进行添加、删除操作。
d、可以对学生成绩进行添加、删除操作。
②生活委员对班费的管理,要求:
a、可以查询班费收入支出的详细信息。
b、可以对班费信息进行添加、修改、删除操作。
用户需求
该系统设置三种类型的用户
(1)管理员(admin)即系统管理员拥有对学生基本信息、详细信息、成绩、课程的管理权限。
(2)生活委员(shwy)可以对班级班费收入支出的详细信息进行管理;
(3)其他个人(qita)对个人事务事件进行管理。
数据字典
为了使各数据流,数据处理过程,存储过程反映其中的数据组成,数据项目,数据特性,所以用数据字典来对数据流图中的各成份进行具体的定义,为系统的分析,设计及以后的实现提供供有关元素一致性定义和详细的描述:
①数据流字典
数据流名称:
管理员登录
来源:
管理员
去向:
查询学生基本信息
数据组成:
姓名+密码+登录权限
数据流名称:
学生个人登录
来源:
个人
去向:
查询个人信息
数据组成:
姓名+密码+登录权限
数据流名称:
生活委员登录
来源:
生活委员
去向:
班费管理
数据组成:
姓名+密码+登录权限
数据流名称:
所有学生基本信息查询
来源:
管理员
去向:
查询处理过程
数据组成:
学号|姓名|密码|担任职务|角色
数据流名称:
所有学生详细信息查询
来源:
管理员
去向:
查询处理过程
数据组成:
学生学号|出生日期|身份证号码|家庭往址|宿舍号|银行卡号
数据流名称:
成绩和课程查询
来源:
学生
去向:
查询处理过程
数据组成:
主键|学号|课程号|成绩
数据流名称:
班费管理查询
来源:
生活委员
去向:
查询处理过程(P3)
数据组成:
ID|时间|活动地点|活动人数|消费前班费余额|消费金额|消费后班费余额|活动意义|活动结果
数据流名称:
个人事务查询
来源:
学生
去向:
查询处理过程
数据组成:
ID|时间|内容|结果
功能模块
系统流程图
1.3概念结构设计
1.3.1.E-R图
根据需求设计如下E-R图
分布E-R图
I
4逻辑设计
本次设计的数据库在SQLServer2008上实现,将概念结构设计中的
E-R图转换成SQLSever2008支持的关系数据模型。
3.1关系设计
(1)实体转换
将单独的个体转化为一张表:
学生:
角色,姓名,学号,性别,ID,身份证号码,银行卡号,家庭住址,出生日期,密码,担任职务。
管理员:
密码,角色,姓名,ID。
成绩管理:
ID,学号,课程号,分数。
课程管理:
课程名,课程号,学分,任课老师。
个人事务管理:
结果,ID,时间,事件。
生活委员事务管理:
结果,意义,ID,时间,地点,人数,消费金额,总金额。
(2)联系转换
一个实体型转换为关系模式,实体的属性就是关系的属性,实体的码就是关系的码。
①一对多的联系通过在多表中添加属性来实现
学生:
角色,姓名,学号,性别,ID,身份证号码,银行卡号,家庭住址,出生日期,密码,担任职务。
管理员:
密码,角色,姓名,ID。
个人事务管理:
结果,ID,时间,事件。
生活委员事务管理:
结果,意义,ID,时间,地点,人数,消费金额,总金额。
②多对多的联系
课程管理:
课程名,课程号,学分,任课老师。
3.2关系优化
将表的冗余去除而达到优化表的效果。
(1)课程管理
函数依赖集为F1={课程号→(课程名,任课老师,学分)}∈2NF。
主属性:
课程号。
非主属性:
课程名,任课老师,学分。
主键:
课程号。
(2)学生
函数依赖集F2={学号→(角色,姓名,性别,ID,身份证号码,银行卡号,家庭住址,出生日期,密码,担任职务)}∈2NF。
主属性:
学号。
非主属性:
角色,姓名,性别,ID,身份证号码,银行卡号,家庭住址,出生日期,密码,担任职务。
主键:
学号。
(3)生活委员事务管理
函数依赖集为F3={ID→(结果,意义,时间,地点,人数,消费金额,总金额)}∈2NF。
主属性:
ID。
非主属性:
结果,意义,时间,地点,人数,消费金额,总金额。
主键:
ID。
3.3约束的说明
根据参照完整性,表与表之间有主键、外键、用户自定义约束。
(1)学生密码要求6位数以上,只能为字母,数字或者字符。
(2)学生的性别只能为“男”或者“女”。
(3)学号由数字组成并且只能为14位数。
(4)查询的成绩不能小于0。
(5)ID为生活委员事务管理的主键。
(6)班费的支出不得大于当前班费的总金额。
(7)输入学号最多可以到所选课程与课程的成绩。
(8)学号为学生的主键。
(9)管理员的登录需要账号密码等验证信息。
(10)课程号为课程管理的主键。
3.4基本表
通过上面的关系转换与关系优化,我们最终得到5张基本表。
学生:
user
表中列名
数据类型
数据长度
是否为空
含义
是否为主键
stunum
Char
14
Notnull
学号
Primarykey
username
Char
10
Null
姓名
userpass
Char
20
Null
密码
userjob
Char
10
Null
担任职务
userrole
Char
10
Null
角色
stuidentity
Char
30
Null
身份证号码
stucard
Char
20
Null
学生ID
stuaddr
Char
200
Null
家庭住址
studorm
Char
20
Null
宿舍号
stubirth
Datetime
Null
出生日期
课程:
course
表中列名
数据类型
数据长度
是否为空
含义
是否为主键
cname
Char
20
Null
课程名
ccredit
int
Null
学分
cteacher
Char
10
Null
任课老师
成绩:
SC
表中列名
数据类型
数据长度
是否为空
含义
是否为主键
uid
int
14
Notnull
学生ID
Primarykey
cid
int
Notnull
课程ID
Primarykey
sgrade
Int
Null
分数
生活委员事务表:
shwy
表中列名
数据类型
数据长度
是否为空
含义
是否为主键
stunum
Char
14
Notnull
学号
Primarykey
startmoney
Varchar
Null
消费前金额
expense
Varchar
Null
支出
endmoney
Varchar
Null
消费后班级余额
time
Datetime
20
Null
时间
actmeaning
Char
Null
活动意义
actresult
Char
20
Null
活动结果
addr
Char
100
Null
活动地点
个人事务管理:
qita
表中列名
数据类型
数据长度
是否为空
含义
是否为主键
stunum
Char
14
Notnull
学号
Primarykey
qresult
Char
20
Null
结果
qtime
char
20
Null
时间
qcontent
text
50
Null
事件
id
Int
Null
事件ID
第五章物理设计阶段
1系统功能模块
(1)课程表信息查询和更新模块
将实现对课程信息的查询和更新(修改、插入、删除)操作,方便于对课程基本信息的管理
(2)学生表的查询和更新模块
将完成班级基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
(3)管理员表的查询和更新模块
将完成管理员登陆、管理班级事务(修改、插入、删除)操作
(4)生活委员表的查询和更新模块
将完成班级活动基本信息的查询、更新(修改、插入、删除)操作,便于生活委员对班级活动信息的集中管理
3数据库实施阶段
3.1数据库实施阶段目标
用DBMS所提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果描述出来,成为DBMS可以接受的源代码,在经过调试生成目标模式
3.2数据库实施阶段任务
3.2.1建立数据库
Createdatabaseclass班级信息管理系统;
图5.1班级信息管理系统数据库
3.2.2建立数据表
(1)用户表基本信息的建立
createtable[user]
(
idintprimarykey,
usernamevarchar(10),
userpassvarchar(20),
userjobvarchar(10),
userrolevarchar(10)
)
(2)学生表基本信息的建立
createtablestuinfo
(
idintauto_incrementprimarykey,
stuidint,
stubirthvarchar(20),
stuidentityvarchar(30),
stuaddrvarchar(200),
studormvarchar(20),
stucardvarchar(20)
)
ALTERTABLEstuinfoADDCONSTRAINTfk_stuinfo_stuidFOREIGNKEY(stuid)REFERENCESuser(id);
(3)生活委员表基本信息的建立
createtableshwy
(
idintauto_incrementprimarykey,
timevarchar(20),
addrvarchar(100),
stunumint,
startmoneydecimal,
expensedecimal,
endmoneydecimal,
actmeaningtext,
actresultvarchar(10)
)
(4)课程表基本信息的建立
createtablecouse
(
cidintprimarykey,
cnamevarchar(5),
ccreditvarchar(5),
cteachervarchar(15),
)
(5)成绩表基本信息的建立
createtableSc
(
idintauto_incrementprimarykey,
uidint,
cidint,
sgradevarchar(5),
)
ALTERTABLEScADDCONSTRAINTfk_Sc_uidFOREIGNKEY(uid)REFERENCESuser(id);
ALTERTABLEScADDCONSTRAINTfk_Sc_cidFOREIGNKEY(cid)REFERENCEScourse(id);
3.3输入各表的数据
3.3.1输入user表数据
INSERTINTO[user](id,username,userpass,userrole)
VALUES(2013211','玩儿','123456','student',)
INSERTINTO[user](id,username,userpass,userrole)
VALUES(2013211','诗圣杜甫发','123456','student',)
3.3.2输入学生信息表数据
INSERTINTOstuinfo(id,stubirth,stuidentity,stuaddr,
studorm,stucard)
VALUES('21','1994090238','362322************45','梵蒂冈','99-3-12','21')
INSERTINTOstuinfo(id,stubirth,stuidentity,stuaddr,
studorm,stucard)
VALUES('24','1994090618','362322************41','罗马','99-3-12','22')
INSERTINTOstuinfo(id,stubirth,stuidentity,stuaddr,
studorm,stucard)
VALUES('25','1994090628','362322************45','雅典','99-3-12','22')
3.3.3输入课程表数据
INSERTINTOcouse(cid,Cname,ccreaditcteacher,)
VALUES('007','数据库','4','zhongxiaomei')
3.3.4输入生活委员表数据
INSERTINTOshwy(id,time,addr,stunum,startmoney,expense,endmoney,
actmeaning,actresult)
VALUES('21','0503','圣地亚哥','476666','476665','1','enjoythecity','great')
3.4基于数据表的数据查询
3.4.0查询user表
Select*
Fromuser
3.4.1查询学生信息表
Select*
Fromstuinfo
3.4.2查询课程表
Select*
Fromcourse
3.4.3查询生活委员表
Select*
Fromshwy
3.4.4查询成绩表
Select*
FromSc
3.5建立视图
(1)查询用户表的基本信息的视图定义如下:
createviewuser_view
as
select*
fromuser
withcheckoption
(2)查询学生信息表的基本信息的视图定义如下:
createviewstuinfo_view
as
select*
fromstuinfo
withcheckoption
(3)查询课程表的基本信息的视图定义如下:
createviewSc_view
as
select*
fromSc
withcheckoption
(4)查询课程表的基本信息的视图定义如下:
createviewshwy_view
as
select*
fromshwy
withcheckoption
3.6基于视图的数据查询
3.6.1用户表视图查询
Select*
Fromuser_view
3.6.2学生信息表视图查询
Select*
Fromstuinfo_view
3.6.3课程表视图查询
Select*
FromSc_view
3.6.3生活委员表视图查询
Select*
Fromshwy_view
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 班级 事务管理 系统 数据库 设计