数据库学生证管理系统.docx
- 文档编号:7565306
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:12
- 大小:61.41KB
数据库学生证管理系统.docx
《数据库学生证管理系统.docx》由会员分享,可在线阅读,更多相关《数据库学生证管理系统.docx(12页珍藏版)》请在冰豆网上搜索。
数据库学生证管理系统
课程设计报告
课程设计题目:
学生证管理系统
专业:
学生证管理系统数据库的设计与实现
一、实验目的:
通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。
二、实验要求
描述:
设计一个学生证管理系统。
实现下列功能:
1、录入某位学生的学生证信息
2、给定学号,查询某位学生的学生证信息;
3、给定班号,显示该班所有学生的学生证信息;
4、给定学号,修改该学生的学生证信息;
5.给定学号,删除该学生的学生证信息;
三、实验步骤
1、需求分析
处理对象:
系统要处理的对象包括学生的基本信息,学生证的管理时间,学生的注册信息和火车票优待信息。
各个对象包括的属性如下所诉:
学生基本信息表:
学号、姓名、性别、班级、专业、学制、民族、出生、籍贯,利用这些属性可以查询学生的基本信息。
学生证的管理的相关信息表:
学号、姓名、入学时间、发证时间、有效期至,拥有这些属性可以跟好的查询学生的在校时间及相关信息。
学生的注册信息表:
学号、姓名、学期、注册学期、学院。
可以更好的了解学生每个学期的报到情况。
火车票优待信息:
学号、姓名、籍贯、乘车区间、学期、购票时间。
可以了解每个学生利用学生证优惠购买火车票的情况及寒暑假去向等。
2、根据需求分析建立二维表及ER图如下:
表1.1学生基本信息表
属性
学号
姓名
性别
班级
专业
学制
民族
出生
籍贯
类型与大小
Char(10)
Char(8)
Char
(2)
Char(8)
Char(8)
Char(6)
Char(4)
datetime
varchar
(20)
备注
Primarykey
Notnull
Default
‘男’
Notnull
表1.2学生证的管理的相关信息表
属性
学号
姓名
入学时间
发证时间
有效期至
类型与大小
Char(10)
Char(8)
Datetime
Datetime
Datetime
备注
Primarykey
Notnull
Notnull
Notnull
表1.3学生的注册信息表
属性
学号
学院
注册时间
学期
类型与大小
Char(10)
Char(10)
Datetime
Char(4)
备注
Primarykey
Notnull
Notnull
表1.4火车票优待信息表
属性
学号
姓名
籍贯
乘车区间
学期
购票时间
类型与大小
Char(10)
Char(8)
varChar(20)
Varchar(20)
Char(4)
Datetime
备注
Notnull
Notnull
Primarykey
Notnull
Notnull
3、实验过程
/*建库*/
createdatabase学生证管理系统
on
(
name=学生证管理系统_data,
filename='d:
\学生证管理系统.mdf',
size=10,
maxsize=20,
filegrowth=5
)
logon
(name=学生证管理系统_log,
filename='d:
\学生证管理系统data.ldf',
size=5,
maxsize=15,
filegrowth=5
)
/*建表*/
createtables_inf/*学生信息*/
(学号char(10)primarykey,
姓名char(8)notnull,
性别char
(2),
班级char(8),
专业char(8),
学制char(6),
民族char(4),
出生datetime,
籍贯varchar(20)notnull
)
createtables_time/*学生证管理的相关信息*/
(学号char(10)primarykey,
姓名char(8),
入学时间datetimenotnull,
发证时间datetime,
有效期至datetimenotnull
)
createtables_dept/*学生注册信息*/
(学号char(10)primarykey,
姓名char(8),
学期char(4),
注册时间datetimenotnull,
学院char(10)notnull
)
createtables_train/*火车票优待信息*/
(学号char(10)notnull,
姓名char(8),
籍贯varchar(20)primarykey,
乘车区间varchar(20)notnull,
学期char(4),
购票时间datetime
)
/*表内容*/
insertintos_infvalues('1021112601','张彬','男','10211126','电子商务','四年','汉','1991/10/1','江西省上饶市')
insertintos_infvalues('1021112602','张三','女','10211126','电子商务','四年','汉','1992/12/4','江西省九江市')
insertintos_infvalues('1021112701','王五','女','10211127','国际教育','四年','汉','1994/5/26','江西省宜春市')
insertintos_infvalues('1021112702','李四','男','10211127','国际教育','四年','汉','1992/4/12','江西省赣州市')
insertintos_infvalues('1021112801','陈志','男','10211128','嵌入式','四年','汉','1993/5/12','江西省新余市')
insertintos_timevalues('1021112601','张彬','2010/09/01','2010/10/07','2014/07/01')
insertintos_timevalues('1021112602','张三','2010/09/02','2010/10/07','2014/07/01')
insertintos_timevalues('1021112701','王五','2010/09/01','2010/10/07','2014/07/01')
insertintos_timevalues('1021112702','李四','2010/09/02','2010/10/07','2014/07/01')
insertintos_timevalues('1021112801','陈志','2010/09/01','2010/10/07','2014/07/01')
insertintos_deptvalues('1021112601','张彬','一','2010/09/11','软件学院')
insertintos_deptvalues('1021112602','张三','一','2010/09/11','软件学院')
insertintos_deptvalues('1021112701','王五','一','2010/09/11','软件学院')
insertintos_deptvalues('1021112702','李四','一','2010/09/11','软件学院')
insertintos_deptvalues('1021112801','陈志','一','2010/09/11','软件学院')
insertintos_trainvalues('1021112601','张彬','江西省上饶市','南昌至上饶','一','2011/02/03')
insertintos_trainvalues('1021112602','张三','江西省九江市','南昌至九江','一','2011/02/01')
insertintos_trainvalues('1021112701','王五','江西省宜春市','南昌至宜春','一','2011/02/03')
insertintos_trainvalues('1021112702','李四','江西省赣州市','南昌至赣州','一','2011/02/05')
insertintos_trainvalues('1021112801','陈志','江西省新余市','南昌至新余','一','2011/02/04')
/*创建视图*/
createview学生信息(学号,姓名,性别,班级,学院,出生,籍贯,学期,入学时间,发证时间,有效期至,注册时间)
asselects_inf.学号,s_inf.姓名,性别,班级,学院,出生,籍贯,s_dept.学期,入学时间,发证时间,有效期至,注册时间
froms_inf,s_time,s_dept
wheres_inf.学号=s_time.学号ands_time.学号=s_dept.学号
dropview学生信息
/*录入学生信息的存储过程*/
createprocedureinsert_s_inf
(@学号char(10),
@姓名char(8),
@性别char
(2),
@班级char(8),
@专业char(10),
@学制char(6),
@民族char(4),
@出生datetime,
@籍贯varchar(40)
)
as
insertintos_infvalues(@学号,@姓名,@性别,@班级,@专业,@学制,@民族,@出生,@籍贯)
createprocedureinsert_s_time
(@学号char(10),
@姓名char(8),
@入学时间datetime,
@发证时间datetime,
@有效期至datetime
)
as
insertintos_timevalues(@学号,@姓名,@入学时间,@发证时间,@有效期至)
createprocedureinsert_s_dept
(@学号char(10),
@姓名char(8),
@学期char(4),
@注册时间datetime,
@学院char(10)
)
as
insertintos_deptvalues(@学号,@姓名,@学期,@注册时间,@学院)
createprocedureinsert_s_train
(@学号char(10),
@姓名char(8),
@籍贯varchar(20),
@乘车区间varchar(20),
@学期char(4),
@购票时间datetime
)
as
insertintos_trainvalues(@学号,@姓名,@籍贯,@乘车区间,@学期,@购票时间)
execinsert_s_inf'1021112603','张山','男','10211126','电子商务','四年','汉','1982/6/15','江西省抚州市'
execinsert_s_time'1021112603','张山','2010/09/01','2010/10/07','2014/07/01'
execinsert_s_dept'1021112603','张山','一','2010/09/11','软件学院'
execinsert_s_train'1021112603','张山','江西省抚州市','南昌至抚州','一','2011/02/04'
/*创建索引*/
createuniqueindex学生ons_inf(学号,姓名)
createindex学生证有效期ons_time(学号,姓名,有效期至)
createindex注册记录ons_dept(学号,姓名,学院)
createindex火车票ons_train(学号,姓名,乘车区间)
execsp_helpindexs_train/*查看索引*/
/*按学号查询*/
createprocedures_no
(
@学号char(10)
)
as
select*froms_inf
where学号=@学号
select*froms_time
where学号=@学号
select*froms_dept
where学号=@学号
select*froms_train
where学号=@学号
execs_no@学号='1021112601'
/*按班级号*/
createprocedurec_no
(
@班级char(8)
)
as
select*from学生信息
where班级=@班级
execc_no@班级='10211127'
dropprocedurec_no
/*按学号修改*/
createproceduresno_xiugai
(
@学号char(10),
@姓名char(8),
@性别char
(2),
@班级char(8),
@专业char(10),
@学制char(6),
@民族char(4),
@出生datetime
)
as
updates_inf
set学号=@学号,姓名=@姓名,性别=@性别,班级=@班级,专业=@专业,学制=@学制,民族=@民族,出生=@出生
where学号=@学号
updates_time
set学号=@学号,姓名=@姓名
where学号=@学号
updates_dept
set学号=@学号,姓名=@姓名
where学号=@学号
updates_train
set学号=@学号,姓名=@姓名
where学号=@学号
dropproceduresno_xiugai
execsno_xiugai'1021112801','陈志博','男','10211128','软件学院','四年','汉','1991/5/12'
select*froms_inf
select*froms_time
select*froms_dept
select*froms_train
/*按学号删除*/
createproceduresno_deleted
(
@学号char(10)
)
as
deletefroms_inf
where学号=@学号
createtriggersno_delete1
ons_inf
fordelete
as
deletefroms_time
where学号=(select学号fromdeleted)
createtriggersno_delete2
ons_inf
fordelete
as
deletefroms_dept
where学号=(select学号fromdeleted)
createtriggersno_delete3
ons_inf
fordelete
as
deletefroms_train
where学号=(select学号fromdeleted)
execsno_deleted'1021112603'
select*froms_inf
select*froms_time
select*froms_dept
select*froms_train
execinsert_s_inf'1021112603','张山','男','10211126','电子商务','四年','汉','1982/6/15','江西省抚州市'
execinsert_s_time'1021112603','张山','2010/09/01','2010/10/07','2014/07/01'
execinsert_s_dept'1021112603','张山','一','2010/09/11','软件学院'
execinsert_s_train'1021112603','张山','江西省抚州市','南昌至抚州','一','2011/02/04'
execs_no@学号='1021112603'
execc_no@班级='10211127'
execsno_xiugai'1021112801','陈志博','男','10211128','软件学院','四年','汉','1991/5/12'
execsno_deleted'1021112603'
select*froms_inf
select*froms_time
select*froms_dept
select*froms_train
deletefroms_inf
where(学号='1021112601')
四、实验总结
程序的实现功能不够全面,代码少,功能也不多。
由于能力与时间的限制,没有设计出一个系统界面,这是我认为最大的缺陷!
其次,学生证上的信息不多,起初我只创建三张表,而且属性少,所以不知道怎么去把这些表联系起来,头脑没有一个完整的想法。
后来我反复的拿着学生证看了又看,然后再重新开始做这个课程设计。
再次,在创建存储过程跟触发器的时候,由于需要连接每个二维表,由于一些细节问题出错了,系统总是报错,后来在看书和同学的指点下,完成了设计的要求。
五、实验心得
设计过程中,对整个系统的的设计有许多的体会,也发现了自己的许多不足,但最后都解决了。
因此,通过这次课程设计,对书上的知识有了更深入的理解,而且对数据库系统有了更深刻的认识,考虑问题的方面也更全面,于此同时,在很大程度上提升了自己的动手能力。
因此我越来越觉得,要掌握好一门语言,加强上机操作是非常有必要的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 学生证 管理 系统