数据库长途汽车管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
线路模块:用来管理汽车线路号、出发地、目的地、出发时间、所需时间。 汽车模块:用来管理汽车汽车编号、汽车的种类及相应的票价、最大载客量、剩余座位数。
车票模块:用来管理汽车车票编号、售票情况、查询、打印。 乘客模式:用来管理汽车乘客出发地 、出发地、目的地。
图2 设计思路 3、数据库设计
(1)概念设计
经分析,本系统各实体及其属性的E-R 图如下:
图3 车票信息表
线路
汽车
车票 输入 线路信息
各种查询
输入 输入
管理员
各种报表
票价信汽车信息 输入
线路信输入
汽车信
图4 线路信息表
图 5 汽车基本信息表
图 6 乘客信息表
各实体间关系的e-r 图如下:
汽车 汽车种类
汽车编号 最大载客量
乘客
出发时间
目的地 出发地
图8 创建数据库
(2)表
① CREATE TABLE 汽车基本信息表
( 汽车编号 CHAR(10) PRIMARY KEY,汽车种类 CHAR(10),
最大载客量 INT,
线路号 CHAR(10))
图9 创建汽车基本信息表
② CREATE TABLE 车票信息表
( 车票编号 CHAR(10) PRIMARY KEY,售票情况 CHAR(10),
票价 INT,
线路号 CHAR(10))
图10 创建车票信息表
③ CREATE TABLE线路信息表
(线路号 CHAR(10) PRIMARY KEY,出发地 CHAR(10),
目的地 CHAR(10),
出发时间 CHAR(10),
所需时间 INT)
图11 创建线路信息表
④ CREATE TABLE 乘客信息表
( 汽车编号 CHAR(10) PRIMARY KEY,线路号 CHAR(10),
出发地 CHAR(10),
目的地 CHAR(10),
出发时间 CHAR(10))
图12 创建乘客信息表(3)索引
①CREATE UNIQUE INDEX im_in
ON 汽车基本信息表(汽车编号)
图13 为汽车基本信息表创建索引
② CREATE UNIQUE INDEX ik_il
ON 线路信息表(线路号)
图14 为线路信息表创建索引
③ CREATE UNIQUE INDEX id_ix
ON 车票信息表(车票编号)
图15 为车票信息表创建索引
④ CREATE UNIQUE INDEX ih_ig
ON 乘客信息表(汽车编号)
图16 为乘客信息表创建索引
(4)视图
①CREATE VIEW view_1
AS
select 汽车编号,汽车种类,最大载客量,线路号
from 汽车基本信息表
图17 为汽车基本信息表创建视图
② CREATE VIEW view_2
AS
select 线路号,出发地,目的地,出发时间,所需时间
from 线路信息表
图18 为线路信息表创建视图
③CREATE VIEW view_3
AS
select 车票编号,售票情况,票价,线路号
from 车票信息表
图19 为车票信息表创建视图
④ CREATE VIEW view_4
AS
select 出发时间,出发地,目的地,汽车编号,线路号 from 乘客信息表
图20 为乘客信息表创建视图6、录入数据
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 ('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') 7、设计存储过程和触发器
(1)创建存储过程
create proc proc_zg
as
select 车票编号,票价
from 车票信息表
where 线路号='103'
图21 创建存储过程
(2)创建触发器
① create trigger insert_qi
on 车票信息表
after insert
as
select *
from 车票信息表
insert into 车票信息表(车票编号,票价)
Values(‘20110001’,‘80’)
图22 车票信息表创建触发器
② create trigger insert_che
on 汽车基本信息表
after insert
as
select *
from 汽车基本信息表
insert into 汽车基本信息表(汽车编号,线路号) Values(‘1’,‘101’)