数据库长途汽车管理系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(2)对各模块功能进行描述:

线路模块:用来管理汽车线路号、出发地、目的地、出发时间、所需时间。 汽车模块:用来管理汽车汽车编号、汽车的种类及相应的票价、最大载客量、剩余座位数。

车票模块:用来管理汽车车票编号、售票情况、查询、打印。 乘客模式:用来管理汽车乘客出发地 、出发地、目的地。

图2 设计思路

3、数据库设计

(1)概念设计

经分析,本系统各实体及其属性的E-R 图如下:

图3 车票信息表

线路

汽车

车票 输入 线路信息 各种查询

输入 输入

管理员

各种报表

票价信汽车信息 输入 线路信输入

汽车信

图4 线路信息表

图 5 汽车基本信息表

图 6 乘客信息表

汽车

汽车种类

汽车编号

最大载客量

乘客

出发时

目的地

出发地

图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')

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’)

图23 汽车基本信息表建触发器

③ create trigger insert_xian

on 线路信息表

after insert

as

select *

from 线路信息表

insert into 线路信息表(线路号,所需时间)

Values(‘106’,‘5’)

相关文档
最新文档