数据库课程设计长途汽车信息管理系统.docx
《数据库课程设计长途汽车信息管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计长途汽车信息管理系统.docx(18页珍藏版)》请在冰豆网上搜索。
数据库课程设计长途汽车信息管理系统
数据库课程设计长途汽车信息管理系统
数据库原理及Oracle开发课程设计
题目汽车信息管理系统
系(部)计算机科学与技术
班级12级3班
姓名李鑫
学号2012020319
指导教师方昕
2014年6月9日
关系图:
三、逻辑结构设计
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
五、系统设计、制作小结
通过这次的课程设计实验,我发现自己对数据库课程的兴趣有了很大提高,而且对课本的知识更加的了解并有了一定的掌握,通过实验我懂得了如何创建索引、视图、存储过程以及触发器。
几天的数据库课程设计很快就结束了,在这短暂的几天的的时间里,发现自己学会了很多课外的东西,特别是和同学们一起讨论分析,以及复习了我们所学过的相关数据库知识,进一步了解了数据库的实践应用过程,增强了课外的动手实践能力。
数据库设计主要讨论数据库设计的方法和步骤应注意的事项。
概念结构设计采用的是实体属性分析法。
实体属性分析法是从总体的概念入手,从分析一个单位的事务活动开始,首先识别需求分析中所提供的实体及实体间的联系,建立一个初步的数据模型框架,然后在逐步的求精的方法加上必需的描述属性,形成一个完整的局部模型,称为用户视图,最后在加上这些视图集成一个统一的数据模式,称为用户视图的集成,这种统一的数据模式(即全局信息结构)通常用E-R图表示。
逻辑结构设计的任务是将概念结构设计的E-R图,转化为与选用的DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。
总而言之,这次的课程设计我学到了很多有用很有实践意义的课外知识并体会了一个真理:
实践是检验真理的唯一标准!
在这里感谢老师和同学的帮助!
六、参考资料
王珊和萨师煊主编。
数据库系统概论。
北京:
高等教育出版社,2011。
课程设计成绩评定表
出勤
情况
出勤天数
缺勤天数
成
绩
评
定
出勤情况及设计过程表现(20分)
论文(20分)
设计成果(60分)
总成绩(100分)
综
合
评
定
指导教师签名:
年月日