数据库课程设计(学生成绩管理系统)

发布时间:2019-09-18 06:58:26   来源:文档文库   
字号:

正文:

数据库原理和使用

课程设计说明书

题目: 长途汽车信息管理系统

系:

专业班级: 12 信管本1

号: 1214060711

学生姓名: 刘凯文

教师指导: 苏红畏    

2013 12 22

概念结构设计………………………...4

概述

1.1目的和要求

随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。数据库 长途汽车信息管理系统运用在汽车站部门的系统工具,方便此系统部门的工作人员的工作,该系统主要根据此部门的特点建立的,是记录和查询汽车站信息的的依据。早期的长途汽车站信息主要是人工记录和人工管理的,不仅不容易记录,而且还不容易保存。随着计算机的不断普及和软件系统的不断发展加上信息系统开发的迫切需求,计算机长途汽车站信息管理系统应运而生了。

1.2设计环境

  Microsoft SQL Server 2000

    Microsoft Visual C++ 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. 车票信息表

车票编号

售票情况

票价

线路号

拥挤

85

101

良好

90

102

稀疏

110

103

拥挤

109

104

拥挤

120

105

良好

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) 建库

create database 长途汽车信息管理系统

(2) 建表

CREATE TABLE 汽车基本信息表

(

汽车编号 CHAR(10) PRIMARY KEY,

汽车种类 CHAR(10),

最大载客量 INT,

线路号 CHAR(10)

)

CREATE TABLE 车票信息表

(

车票编号 CHAR(10) PRIMARY KEY,

售票情况 CHAR(10),

票价 INT,

线路号 CHAR(10)

)

CREATE TABLE线路信息表

(

线路号 CHAR(10) PRIMARY KEY,

出发地 CHAR(10),

目的地 CHAR(10),

出发时间 CHAR(10),

所需时间 INT

)

CREATE TABLE 乘客信息表

(

汽车编号 CHAR(10) PRIMARY KEY,

线路号 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.索引

①建立索引

create unique index id_ix on车票信息表(车票编号);

create unique index im_in on 汽车基本信息表(汽车编号);

create unique index ik_il on 线路信息表(线路号);

create unique index ih ig on 乘客信息表(汽车编号);

②删除索引

Drop index 车票信息表id ix

2.视图

①创建视图

create view view_1

as select车票编号,售票情况,票价,线路号

from 汽车信息表

create view view_2

as select汽车编号,汽车种类,最大载客量,线路号

from 汽车基本信息表

create view view_3

as select 线路号,出发地,目的地,出发时间,所需时间

from 线路信息表

create view view_4

as select出发时间,出发地,目的地,汽车编号,线路号

from 乘客信息表

②视图的撤消

drop view view_1;

③视图的查询

select * from view_3;

select * from view_2;

④视图的更新

insert into view_1

values(‘20110001’,’拥挤’’8580’);

3.存储过程

①创建存储过程

create proc proc_zg

as

select 车票编号,票价

from 车票信息表

where 线路号='103';

②存储过程的查询

exec proc_zg;

③存储过程的修改

alter proc proc_zg

as

select车票编号,票价

from车票信息表

where 线路号='104'

4、触发器

①创建触发器

create trigger z_select on 车票信息表

after insert

as

select * from 车票信息表

select * from inserted

go

insert into 车票信息表(车票编号,票价)

values('20110001','80')

②触发器的删除

drop trigger z_select;

5、数据更新

①插入(前面已插入)

②修改

Update 车票信息表

Set 票价=90

Where 车票编号=’20110001

③删除

delete from车票信息表

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 乘客信息表

ORDER BY 线路号

SELECT 车票编号

FROM 车票信息表

WHERE 票价 BETWEEN 90 AND 110



数据库的实施和维护

当试运行数据库合格后,数据库开发设计的工作就基本完成了,接下来就是正式运行中的调试,应为该系统比较简单,数据量小,数据库中几乎不会发生什么大的变化,但是还是需要做好数据的备份,在sqlserver中我们可以利用备份数据库的功能对已经设计好的数据做备份,如果数据库受到破坏或系统故障,我们便可轻松的利用备份文件恢复数据库的数据。当然也可以利用其他各种方法进行数据维护。

总结

通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程以及触发器。几天的数据库课程设计很快就结束了,在这短暂的几天的的时间里,发现自己学会了很多课外的东西,特别是和同学们一起讨论分析,以及复习了我们所学过的相关数据库知识,进一步了解了数据库的实践使用过程,增强了课外的动手实践能力。

数据库设计主要讨论数据库设计的方法和步骤应注意的事项。概念结构设计采用的是实体属性分析法。实体属性分析法是从总体的概念入手,从分析一个单位的事务活动开始,首先识别需求分析中所提供的实体及实体间的联系,建立一个初步的数据模型框架,然后在逐步的求精的方法加上必需的描述属性,形成一个完整的局部模型,称为用户视图,最后在加上这些视图集成一个统一的数据模式,称为用户视图的集成,这种统一的数据模式(即全局信息结构)通常用E-R图表示。逻辑结构设计的任务是将概念结构设计的E-R,转化为和选用的 DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。

总而言之,这次的课程设计我学到了很多有用很有实践意义的课外知识并体会了一个真理:实践是检验真理的唯一标准!在这里感老师和同学的帮助!

进一步深入理解数据库设计的整个过程,该学生选课系统的需求分析、数据库概念结构设计有关内容等。掌握使用前台程序设计技术VCSQL Server结合设计

C /S结构的管理信息系统。综合练习了SQL Server的使用和数据库得管理技术。综合熟悉并练习了SQL语言在编程中的使用。 综合训练编程能力。认识系统,取得系统需求分析,更重要得是在编程方面提高了实现目标代码得能力及调试代码得能力.

参考文献

1)《Visual C++数据库开发经典实例精解》作者:夏邦国 刘凡馨 出版社:机械工业出版社

2)《SQL SERVER 200管理,开发及使用实例》作者:陈世洪 出版社:人民邮电出版社

3)《Visual C++程序设计教程》 作者:周鸣扬 于秋生 出版社:机械工业出版社

(4)《数据库原理和使用》 作者:姜代红 出版社:机械工业出版社

(5) 王珊和萨师煊主编。数据库系统概论。北京:高等教育出版社,2011

本文来源:https://www.2haoxitong.net/k/doc/56281ca9366baf1ffc4ffe4733687e21ae45ff27.html

《数据库课程设计(学生成绩管理系统).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式