学生成绩管理整理.docx
《学生成绩管理整理.docx》由会员分享,可在线阅读,更多相关《学生成绩管理整理.docx(13页珍藏版)》请在冰豆网上搜索。
![学生成绩管理整理.docx](https://file1.bdocx.com/fileroot1/2023-1/6/7596fe11-01f8-4d6e-9131-38d814f214d9/7596fe11-01f8-4d6e-9131-38d814f214d91.gif)
学生成绩管理整理
正文:
数据库原理与应用
课程设计说明书
题目:
长途汽车信息管理系统
院系:
经济与管理系
专业班级:
12级信管本1
学号:
1214060711
学生姓名:
刘凯文
教师指导:
苏红畏
2013年12月22日
三概念结构设计………………………...4
一概述
1.1目的与要求
随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。
数据库长途汽车信息管理系统运用在汽车站部门的系统工具,方便此系统部门的工作人员的工作,该系统主要根据此部门的特点建立的,是记录和查询汽车站信息的的依据。
早期的长途汽车站信息主要是人工记录和人工管理的,不仅不容易记录,而且还不容易保存。
随着计算机的不断普及和软件系统的不断发展加上信息系统开发的迫切需求,计算机长途汽车站信息管理系统应运而生了。
1.2设计环境
① MicrosoftSQLServer2000
② MicrosoftVisualC++6.0
二需求分析
2.1系统功能要求设计
此系统实现如下系统功能:
线路模块:
用来管理汽车线路号、出发地、目的地、出发时间、所需时间。
汽车模块:
用来管理汽车汽车编号、汽车的种类及相应的票价、最大载客量、剩余座位数。
车票模块:
用来管理汽车车票编号、售票情况、查询、打印。
乘客模式:
用来管理汽车乘客出发地、出发地、目的地。
三、概念结构设计
经分析,本系统的e-r图如下:
各实体及其属性:
各实体间关系的e-r图如下:
关系图:
四逻辑结构设计
1.工厂管理基本信息表
(1).汽车基本信息表
列名
数据类型
长度
是否为空
备注
汽车票号
char
10
否
主码
汽车种类
char
10
是
最大载客量
smallint
是
(2).线路信息表
属性名
类型
长度
是否为空
备注
线路号
char
10
主码
出发地
Char
10
目的地
char
10
出发时间
char
10
所需时间
datetime
8
(3).车票信息表
属性名
类型
长度
是否为空
备注
车票编号
char
10
主码
售票情况
char
10
票价
smallint
(4).乘客信息表
属性名
类型
长度
是否为空
说明
出发时间
char
10
否
主码
出发地
char
10
目的地
char
10
2.长途汽车管理基本数据信息表
(1).车票信息表
车票编号
售票情况
票价
线路号
20110001
拥挤
85
101
20110002
良好
90
102
20110003
稀疏
110
103
20110004
拥挤
109
104
20110005
拥挤
120
105
20110006
良好
160
106
(2).汽车基本信息表
汽车编号
汽车种类
最大载客量
线路号
1
A
35
101
2
B
50
102
3
C
45
103
4
D
55
104
5
E
45
105
6
F
60
106
(3).线路信息表
线路号
出发地
目的地
出发时间
所需时间
101
南昌市
抚州市
18:
00
2
102
景德镇
鄱阳县
10:
20
1
103
鄱阳县
南昌市
15:
40
4
104
抚州市
南昌市
14:
30
2
105
抚州市
南昌市
13:
00
3
106
南昌市
景德镇
09:
00
5
(4).乘客信息表
出发时间
出发地
目的地
汽车编号
线路号
18:
09
南昌市
抚州市
1
101
07:
00
南昌市
景德镇
6
106
10:
23
景德镇
鄱阳县
2
102
14:
30
抚州市
南昌市
5
105
15:
28
鄱阳县
南昌市
3
103
对应SOL语句如下:
(1)建库
createdatabase长途汽车信息管理系统
(2)建表
CREATETABLE汽车基本信息表
(
汽车编号CHAR(10)PRIMARYKEY,
汽车种类CHAR(10),
最大载客量INT,
线路号CHAR(10)
)
CREATETABLE车票信息表
(
车票编号CHAR(10)PRIMARYKEY,
售票情况CHAR(10),
票价INT,
线路号CHAR(10)
)
CREATETABLE线路信息表
(
线路号CHAR(10)PRIMARYKEY,
出发地CHAR(10),
目的地CHAR(10),
出发时间CHAR(10),
所需时间INT
)
CREATETABLE乘客信息表
(
汽车编号CHAR(10)PRIMARYKEY,
线路号CHAR(10),
出发地CHAR(10),
目的地CHAR(10),
出发时间CHAR(10)
)
(3)插入数据
INSERT
INTO车票信息表
VALUES('20110001','拥挤','85','101')
INSERT
INTO车票信息表
VALUES('20110002','良好','90','102')
INSERT
INTO车票信息表
VALUES('20110003','稀疏','110','103')
INSERT
INTO车票信息表
VALUES('20110004','拥挤','109','104')
INSERT
INTO车票信息表
VALUES('20110005','拥挤','120','105')
INSERT
INTO车票信息表
VALUES('20110006','良好','160','106')
INSERT
INTO汽车基本信息表
VALUES('1','A','35','101')
INSERT
INTO汽车基本信息表
VALUES('2','B','50','102')
INSERT
INTO汽车基本信息表
VALUES('3','C','45','103')
INSERT
INTO汽车基本信息表
VALUES('4','D','55','104')
INSERT
INTO汽车基本信息表
VALUES('5','E','45','105')
INSERT
INTO汽车基本信息表
VALUES('6','F','60','106')
INSERT
INTO线路信息表
VALUES('101','南昌市','抚州市','18:
00','2')
INSERT
INTO线路信息表
VALUES('102','景德镇','鄱阳县','10:
20','1')
INSERT
INTO线路信息表
VALUES('103','鄱阳县','南昌市','15:
40','4')
INSERT
INTO线路信息表
VALUES('104','抚州市','南昌市','14:
30','2')
INSERT
INTO线路信息表
VALUES('105','抚州市','南昌市','13:
00','3')
INSERT
INTO线路信息表
VALUES('106','南昌市','景德镇','09:
00','5')
INSERT
INTO乘客信息表
VALUES('18:
09','南昌市','抚州市','1','101')
INSERT
INTO乘客信息表
VALUES('07:
00','南昌市','景德镇','6','106')
INSERT
INTO乘客信息表
VALUES('10:
23','景德镇','鄱阳县','2','102')
INSERT
INTO乘客信息表
VALUES('14:
30','抚州市','南昌市','5','105')
INSERT
INTO乘客信息表
VALUES('15:
28','鄱阳县','南昌市','3','103')
五逻辑和物理结构设计
系统模块设计
1.索引
①建立索引
createuniqueindexid_ixon车票信息表(车票编号);
createuniqueindexim_inon汽车基本信息表(汽车编号);
createuniqueindexik_ilon线路信息表(线路号);
createuniqueindexihigon乘客信息表(汽车编号);
②删除索引
Dropindex车票信息表idix
2.视图
①创建视图
createviewview_1
asselect车票编号,售票情况,票价,线路号
from汽车信息表
createviewview_2
asselect汽车编号,汽车种类,最大载客量,线路号
from汽车基本信息表
createviewview_3
asselect线路号,出发地,目的地,出发时间,所需时间
from线路信息表
createviewview_4
asselect出发时间,出发地,目的地,汽车编号,线路号
from乘客信息表
②视图的撤消
dropviewview_1。
③视图的查询
select*fromview_3。
select*fromview_2。
④视图的更新
insertintoview_1
values(‘20110001’,’拥挤’’85’’80’)。
3.存储过程
①创建存储过程
createprocproc_zg
as
select车票编号,票价
from车票信息表
where线路号='103'。
②存储过程的查询
execproc_zg。
③存储过程的修改
alterprocproc_zg
as
select车票编号,票价
from车票信息表
where线路号='104'
4、触发器
①创建触发器
createtriggerz_selecton车票信息表
afterinsert
as
select*from车票信息表
select*frominserted
go
insertinto车票信息表(车票编号,票价)
values('20110001','80')
②触发器的删除
droptriggerz_select。
5、数据更新
①插入(前面已插入)
②修改
Update车票信息表
Set票价=90
Where车票编号=’20110001’;
③删除
deletefrom车票信息表
where车票编号=’20110002’;
6、数据查询
SELECT出发时间,汽车编号
FROM乘客信息表
WHERE汽车编号='2'
SELECT售票情况,票价
FROM车票信息表
WHERE线路号='101'
SELECT售票情况,票价
FROM车票信息表
WHERE线路号='102'
SELECT售票情况,票价
FROM车票信息表
WHERE线路号='103
'
SELECT售票情况,票价
FROM车票信息表
WHERE线路号='104'
SELECT汽车种类,最大载客量
FROM汽车基本信息表
WHERE线路号='101'
SELECT汽车种类,最大载客量
FROM汽车基本信息表
WHERE线路号='102'
SELECT汽车种类,最大载客量
FROM汽车基本信息表
WHERE线路号='103'
SELECT汽车种类,最大载客量
FROM汽车基本信息表
WHERE线路号='104'
SELECT售票情况,票价
FROM车票信息表
WHERE线路号='106
'
SELECT出发时间,线路号,目的地
FROM乘客信息表
ORDERBY线路号
SELECT车票编号
FROM车票信息表
WHERE票价BETWEEN90AND110
六数据库的实施与维护
当试运行数据库合格后,数据库开发设计的工作就基本完成了,接下来就是正式运行中的调试,应为该系统比较简单,数据量小,数据库中几乎不会发生什么大的变化,但是还是需要做好数据的备份,在sqlserver中我们可以利用备份数据库的功能对已经设计好的数据做备份,如果数据库受到破坏或系统故障,我们便可轻松的利用备份文件恢复数据库的数据。
当然也可以利用其他各种方法进行数据维护。
七总结
通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程以及触发器。
几天的数据库课程设计很快就结束了,在这短暂的几天的的时间里,发现自己学会了很多课外的东西,特别是和同学们一起讨论分析,以及复习了我们所学过的相关数据库知识,进一步了解了数据库的实践应用过程,增强了课外的动手实践能力。
数据库设计主要讨论数据库设计的方法和步骤应注意的事项。
概念结构设计采用的是实体属性分析法。
实体属性分析法是从总体的概念入手,从分析一个单位的事务活动开始,首先识别需求分析中所提供的实体及实体间的联系,建立一个初步的数据模型框架,然后在逐步的求精的方法加上必需的描述属性,形成一个完整的局部模型,称为用户视图,最后在加上这些视图集成一个统一的数据模式,称为用户视图的集成,这种统一的数据模式(即全局信息结构)通常用E-R图表示。
逻辑结构设计的任务是将概念结构设计的E-R图,转化为与选用的DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。
总而言之,这次的课程设计我学到了很多有用很有实践意义的课外知识并体会了一个真理:
实践是检验真理的唯一标准!
在这里感谢老师和同学的帮助!
进一步深入理解数据库设计的整个过程,该学生选课系统的需求分析、数据库概念结构设计有关内容等。
掌握使用前台程序设计技术VC和SQLServer结合设计
C/S结构的管理信息系统。
综合练习了SQLServer的使用和数据库得管理技术。
综合熟悉并练习了SQL语言在编程中的使用。
综合训练编程能力。
认识系统,取得系统需求分析,更重要得是在编程方面提高了实现目标代码得能力及调试代码得能力.
参考文献
(1)《VisualC++数据库开发经典实例精解》作者:
夏邦国刘凡馨出版社:
机械工业出版社
(2)《SQLSERVER200管理,开发及应用实例》作者:
陈世洪出版社:
人民邮电出版社
(3)《VisualC++程序设计教程》作者:
周鸣扬于秋生出版社:
机械工业出版社
(4)《数据库原理与应用》作者:
姜代红出版社:
机械工业出版社
(5)王珊和萨师煊主编。
数据库系统概论。
北京:
高等教育出版社,2011。