车站售票系统010509.docx
《车站售票系统010509.docx》由会员分享,可在线阅读,更多相关《车站售票系统010509.docx(33页珍藏版)》请在冰豆网上搜索。
车站售票系统010509
武夷学院
课程设计报告
课程名称:
数据库原理及应用
设计题目:
车站售票系统
学生班级:
10计算机科学与技术
(1)班
学生姓名:
黄伟伟叶楚静林森
指导教师:
韩存鸽
完成日期:
2012-5-18
数学与计算机系
课程设计项目研究报告
第1章项目简介4
1.1项目名称4
1.2开发人员4
1.3指导教师4
第2章需求分析4
2.1课程设计概述4
2.2主要功能4
2.3数据流图5
第3章概念结构设计6
3.1E-R图6
第4章逻辑结构设计10
4.1关系模式10
4.2外模式10
第5章数据库表创建及表关系12
5.1数据库代码12
5.2数据初始化17
5.3关系图21
第6章视图的操作21
6.1售票功能视图21
6.2查询功能视图22
第7章课程设计项目进度表22
第8章给用户分配权限23
8.1给购票者分配权限23
8.2给售票员分配权限23
8.3给管理员分配权限23
第9章课程设计任务分配表24
第10章设计心得24
第11章参考文献24
第1章项目简介
1.1项目名称
车站售票系统
1.2开发人员
10计科1黄伟伟叶楚靖林森
1.3指导教师
韩存鸽
第2章需求分析
2.1课程设计概述
汽车售票管理系统主要用于车站日常的票务处理。
车售票管理系统在正常运行中需要对使用该系统的主要是汽车站售票人员、汽车站售票工作的管理人员与系统管理员。
为达到操作过程中的直观、方便、实用、安全等要求,我们组在这个系统中采用模块化程序设计的方法,便于系统功能的组合和修改,以及扩充和维护。
2.2主要功能
系统应具有售票、查询、管理和维护等功能,系统管理员可以进行对车次的更改、票价的变动及调度功能,票价的修改可以通过修改运价来进行,车次调度可通过对发车时刻表的修改来进行,维护功能即可对表进行修改。
(1)售票功能
1.销售车票
任一售票员均可以售权限范围内车次的客票,权限可按班次、车属等属性由管理员设置,可售全票、半票。
2.预订车票
预订票可在任一未停止售票的车次上进行操作,预订数量仅受剩余位数量限制。
预订的客票售票员不能售出。
预订的客票也可取消预订,取消预订的客票售票员可以售出。
在订票人来取票时,售票员可将预订的客票从电脑上售出。
3.退票
退票时由退票员输入客票的编号,计算机将根据退票时的时间,自动确定退票手续费的比例,也可由系统管理员指定手续费比例。
对不合法的客票(如已办理退票手续的客票、超过规定时间的客票、没有售出的客票、已经作废的客票、不属于权限范围内售出的票等),计算机将自动识别,不予退票。
(2)查询功能
1.车次查询:
可以查询各个班次和票情况。
2.时刻表查询:
查询任一时刻的班次和票情况。
3.售票情况查询:
查询已售票和剩余票数的情况。
(3)调度功能
1.运价修改:
只有管理员有这一权限,根据各种调整票价。
2.车辆修改:
对车辆信息进行调度和增删改功能。
3.终点站修改:
对车次终点站的调度和修改。
4.车次修改:
对各个车次实施调度和调整
(4)维护功能
1.车票表修改:
管理员针对实际情况对车票表的修改和维护
2.预订车票表修改:
管理员根据车票的预定情况对该表进行修改和维护
3.退票表修改:
该功能由管理员根据退票情况进行修改
4.密码修改:
售票员可以根据个人修改自己的登入密码
(5)统计功能
1.售票统计:
可按车次,售票员对已售出票情况进行统计
2.报表打印:
对当天和该月的售票情况及盈利情况做表
2.3数据流图
使用结构化分析方法,确定系统的数据主要是运价、车次、终点站名、发车时间和车票,对数据的操作主要有运价修改、车次修改、终点站修改、发车时间修改、售票及打印,可以确定系统的处理逻辑和流程,得到如下所示的系统数据流图。
定按票出售情况做车次表
决
着打印
改系查看售票
修关查看报表
整决定出售票
调体现
修改发车包含查询
时刻
修改
决定查看已售车票情况
图2-1
第3章概念结构设计
3.1E-R图
1.车辆信息
图3-1
2.目标站点信息
图3-2
3.发车时刻表信息
图3-3
4.途径信息
图3-4
5.车票信息
图3-5
6.预定信息
图3-6
7.退票信息
图3-7
8.售票员信息
图3-8
9.运价信息
图3-9
分E-R图
图3-10
总E---R图
n
图3-11
第4章逻辑结构设计
4.1关系模式
(为主键,为外键)
1.车辆(车辆编号,车型,座位数)
2.目标站名(站名,里程)
3.发车时刻表(车次,站名,车辆编号,发车时间,检票口)
4.途径(车次,站名)
5.车票(票号,乘车日期,车次,站名,票价,全半价,座位号,工号,退票否)
6.预订表(预订号,车次,站名,乘车日期,顾客名称,票数)
7.退票(票号,退票时间,票价,应退款)
8.售票员(工号,姓名)
9.运价(车型,价格)
10.顾客(顾客名称)
4.2外模式
1.车辆表:
字段名
类型
长度
小数点
允许空
主/外键
车辆编号
Int
4
主
车型
Varchar
8
座位数
smallInt
2
表4-1
2.目标站名:
字段名
类型
长度
小数点
允许空
主/外键
站名
Varchar
10
主
里程
Int
4
表4-2
3.发车时刻表:
字段名
类型
长度
小数点
允许空
主/外键
车次
Varchar
5
主
站名
Varchar
10
外
车辆编号
Int
4
外
发车时间
Datetime
8
检票口
smallInt
2
表4-3
4.途径表:
字段名
类型
长度
小数点
允许空
主/外键
车次
Varchar
5
主
站名
Varchar
10
外
表4-4
5.车票表:
字段名
类型
长度
小数点
允许空
主/外键
票号
Int
4
主
乘车日期
Datetime
8
车次
Varchar
5
外
站名
Varchar
10
外
票价
Float
8
全半价
Char
2
座位号
smallInt
2
工号
Char
3
退票否
Char
1
表4-5
6.预订表:
字段名
类型
长度
小数点
允许空
主/外键
预订号
Int
4
主
车次
Varchar
5
外
站名
Varchar
10
外
乘车日期
Datetime
8
顾客名称
Varchar
20
票数
smallInt
2
表4-6
7.退票表:
字段名
类型
长度
小数点
允许空
主/外键
票号
Int
4
主
退票时间
Datetime
8
票价
Float
8
应退款
Float
8
表4-7
8.售票员表:
字段名
类型
长度
小数点
允许空
主/外键
工号
Char
3
主
姓名
Char
8
表4-8
9.运价表:
字段名
类型
长度
小数点
允许空
主/外键
车型
Varchar
8
主
价格
Float
8
表4-9
1.车辆表:
字段名
类型
长度
小数点
允许空
主/外键
顾客
Char
4
主
第5章数据库表创建及表关系
5.1数据库代码
createdatabase车站售票系统
use车站售票系统
1.创建车辆表
createtablecar/--1.车辆(车辆编号,车型,座位数)--/
(
carnumberintnotnullprimarykey,
cartypevarchar(8)notnull,
seatingsmallintnotnull
)
1.车辆信息(car)
项目
中文
类型
约束
主键
外键
主键外键对应关系
备注
carnumber
车辆编号
Int
Notnull
是
cartype
车型
Varchar(8)
Notnull
Seating
座位数
Smallint
Notnull
表5-1
createtabletargetname/--2.目标站名(站名,里程)--/
(
stationnamevarchar(10)Notnullprimarykey,
MileageintNotnull
)
2.目标站名信息表(targetname)
项目
中文
类型
约束
主键
外键
主键外键对应关系
备注
stationName
站名
Varchar(10)
Notnull
是
Mileage
里程
Int
Notnull
表5-2
createtablebegintime/--3.发车时刻表(车次,站名,车辆编号,发车时间,检票口)--/
(
CarorderVarchar(5)Notnullprimarykey,
stationnameVarchar(10)Notnullconstrainttargetname_fforeignkeyreferencestargetname(stationname),
CarnumberIntNotnullconstraintcar_fforeignkeyreferencescar(Carnumber),
BegintimeDatetimeNotnull,
CheckinsmallIntNotnull
)
3.发车时刻表(begintime)
项目
中文
类别
约束
主键
外键
主键外键对应关系
备注
Carorder
车次
Varchar(5)
Notnull
是
stationname
站名
Varchar(10)
Notnull
是
Carnumber
车辆编号
Int
Notnull
是
Begintime
发车时间
Datetime
Notnull
Checkin
检票口
smallInt
Notnull
表5-3
createtableway/--4.途径(车次,站名)--/
(
CarorderVarchar(5)Notnullprimarykey,
StationnameVarchar(10)Notnullconstrainttargetname_f2foreignkeyreferencestargetname(stationname)
)
4.途径表(way)
项目
中文
类型
约束
主键
外键
主键外键对应关系
备注
Carorder
车次
Varchar(5)
Notnull
是
Station
车站
Varchar(10)
Notnull
是
表5-4
createtableticket/--5.车票(票号,乘车日期,车次,站名,票价,全半价,座位号,工号,退票否)--/
(
TicketnumberIntNotnullprimarykey,
BusdateDatetimeNotnull,
Carordervarchar(5)Notnullconstraintbegintime_fforeignkeyreferencesbegintime(Carorder),
stationnameVarchar(10)Notnullconstrainttargetname_f3foreignkeyreferencestargetname(stationname),
TicketpriceFloatNotnull,
halfpriceChar
(2)Notnull,
SeatnumberSmallintNotnull,
JobnumberChar(3)Notnullconstraintticketseller_fforeignkeyreferencesticketseller(Jobnumber),
ReturornotChar
(2)notnullcheck(Returornotin('是','否'))
)
5.车票表(ticket)
项目
中文
类型
约束
主键
外键
主键外键对应关系
备注
Ticketnumber
票号
Int
Notnull
是
Busdate
乘车日期
Datetime
Notnull
Carorder
车次
varchar(5)
Notnull
是
Stationname
站名
varchar(10)
Notnull
是
Ticketprice
票价
Float(8)
Notnull
halfprice
全半价
Char
(2)
Notnull
Seatnumber
座位号
Smallint
Notnull
Jobnumber
工号
Char(3)
Notnull
Returornot
退票否
Char
(1)
check
默认是
表5-5
createtablereserve/--6.预订表(预订号,车次,站名,乘车日期,顾客名称,票数)--/
(
ReservenumberIntNotnullprimarykey,
Carordervarchar(5)Notnullconstraintbegintime_f2foreignkeyreferencesbegintime(Carorder),
stationnameVarchar(10)Notnullconstrainttargetname_f4foreignkeyreferencestargetname(stationname),
BusdataDatetimeNotnull,
CustomernameVarchar(20)Notnullconstraintcustomer_fforeignkeyreferencescustomer(customername),
TicketquatitySmallintNotnull
)
6.预订表(reserve)
项目
中文
类型
约束
主键
外键
主键外键对应关系
备注
Reservenumber
预订号
Int
Notnull
是
Carorder
车次
Varchar(5)
Notnull
是
Stationname
站名
Varchar(10)
Notnull
是
Busdata
乘车日期
Datetime
Notnull
Customername
顾客名称
Varchar(20)
Notnull
Ticketquatity
票数
Smallint
Notnull
表5-6
createtablereturnticket/--7.退票(票号,退票时间,票价,应退款)--/
(
TicketnumberIntNotnullprimarykey,
returntimeDatetimeNotnull,
ticketpriceFloat(8)Notnull,
shouldreturnFloat(8)Notnull
)
7.退票表(returnticket)
项目
中文
类型
约束
主键
外键
主键外键对应关系
备注
Ticketnumber
票号
Int
Notnull
是
returntime
退票时间
Datetime(8)
Notnull
ticketprice
票价
Float(8)
Notnull
shouldreturn
应退款
Float(8)
Notnull
表5-7
createtableticketseller/--8.售票员(工号,姓名)--/
(
jobnumberChar(3)Notnullprimarykey,
namechar(8)Notnull,
)
8.售票员表(ticketseller)
项目
中文
类别
约束
主
外键
主键外键对应关系
备注
jobnumber
工号
Char(3)
Notnull
是
name
姓名
char(8)
Notnull
表5-8
createtablecarriagefare/--9.运价(车型,价格)--/
(
cartypevarchar(8)Notnullprimarykey,
pricefloat(8)Notnull
)
9.运价表(carriagefare)
项目
中文
类型
约束
主键
外键
主键外键对应关系
备注
cartype
车型
varchar(8)
Notnull
是
price
价格
float(8)
Notnull
表5-9
createtablecustomer/*9.顾客(顾客名称)*/
(
customernamevarchar(10)Notnullprimarykey
)
10.顾客(customer)
项目
中文
类型
约束
主键
外键
主键外键对应关系
备注
customer
车次
char(10)
Notnull
是
表5-10
5.2数据初始化
1.车辆表初始化
图5-1
2.目标站名表初始化
图5-2
3.发车时刻表
图5-3
4.途径初始化
图5-4
5.车票表初始化
图5-5
6.预订表初始化
图5-6
7.退票表初始化
图5-7
8.售票员表初始化
图5-8
9.运价表初始化
图5-9
10.顾客初始化
图5-10
5.3关系图
图5-10
第6章视图的操作
6.1售票功能视图
/--售票功能(销售车票,预定车票,退票)--/
createviewsell
asselectticket.Ticketnumber,Busdate,ticket.Carorder,ticket.Stationname,Ticketprice,halfprice,Seatnumber,ticket.Jobnumber,Returornot
fromticket
select*fromsell
图6-1
6.2查询功能视图
/--查询功能(车次查询,时刻表查询)--/
createviewrequire
asselectdistinctBusdate,Carorder,stationname
fromticket
select*fromrequire
图6-2
第7章课程设计项目进度表
日期
完成的工作
2012.5.14
需求分析
2012.5.15
概念结构设计,逻辑结构设计
2012.5.16
创建表和视图
2012.5.17~5.18
书写课程设计报告
图7-1
第8章给用户分配权限
8.1给购票者分配权限
/--给用户jason(登入名:
users)分配查询表格:
目标站点(targetname)、发车时刻表(begintime)、车票(ticket)、预订票(reserve)的权限--/
grantselectontargetnametojason
grantselectonbegintimetojason
grantselectontickettojason
grantselectonreservetojason
8.2给售票员分配权限
/--给售票员ticketsellerwang(登入名:
ticketseller)分配查询、修改表格:
车票(ticket)、预定票(reserve)、退票(returnticket)的权限--/
/--和查询.车辆(car)、.目标站名(targetname)、.发车时刻表(begintime)、.途径(way)的权限--/
grantselect,delete,update,insertontickettoticketsellerwang
grantse