江西理工大学2013届本科生毕业设计(论文)
第四章 数据库设计
在一个B/S系统中数据无疑是非常重要的,数据的安全性、稳定性、可恢复性对使用者起着极其重要的作用。选择一个健全稳定的数据库无疑也是系统实现的首要步骤,本系统选用的是MYSQL5.0,它能提供大型系统所需的数据库服务。下面将介绍系统的数据库结构。
4.1结构设计 4.1.1概念结构设计
概念结构设计主要是为了说明本数据库将反映的现实世界中的实体属性和它们之间的关系等原始数据形式,包括各项数据项、记录、系、文卷的标志符、定义、类型、度量单位、和值域,建立本数据库的每一幅用户视图。
通过对整个系统进行分析,对各模块建立的实体关系图如下:
登录信息是用户登录及修改密码时所需要的信息,其中包含了用户编号、用户名、密码、密码提问、密码提问答案五项属性。它们之间的关系如下图所示:
图4-1 用户基本信息实体E-R图
用户详细信息用于对用户进行详细的描述,其中包含了用户编号、姓名、性别、出生日期、证件类型、证件号码、手机号码、固定电话、邮编、地址、电子邮箱11个属性。它们之间的关系如下图所示:
图4-2 用户详细信息实体E-R图
9
江西理工大学2013届本科生毕业设计(论文)
订单信息由订单号、用户编号、姓名、证件类型、证件号码、订票日期、机
票类型、出发日期、出发时间、出发航班、出发舱位等级、总价12个属性组成,它们之间的关系如下图:
图4-3 订单实体E-R图
管理员包含了管理员编号、管理员名称、是否为默认管理员、是否启用4个属性组成,
它们之间的关系如下图所示:
图4-4 管理员实体E-R图
在机票预定系统中通过不同的用户的操作将这些实体联系在一起,如下图所示:
10
江西理工大学2013届本科生毕业设计(论文)
图4-5 机票预定系统实体关系图
4.1.2逻辑结构设计
经过对原始数据的分解、合并后重新组织起来的数据架构如下: 1) User_Common(User_ID,Name,Password,Question,Answer)
说明:User_ID表示用户编号,Name表示用户名,Password表示用户密码,Question表示密码提示问题,Answer表示密码。
2) User_Detail(User_ID,Dname,Sex,Borth,ID,IDCode,Teleph,FL_tel,
Mail,Address,Postcode)
说明:User_ID表示用户编号,Dname表示姓名,Sex表示性别,Borth表示出生日期,ID表示证件类型,IDCode表示证件号码,Teleph表示手机号码,FL_tel表示固定电话,Mail表示电子邮箱,Address表示地址,Postcode表示邮编。
3) Order(Order_ID,User_ID,Dname,ID,IDCode,Booking_Date,Ticket_Type,
Starting_Date,Starting_Time,S_FLT_No,S_Cabin_Type, Total_Amount) 说明:Order_ID表示订单编号,User_ID表示用户编号,Dname表示姓名,ID表示证件类型,IDCode表示证件号码,Booking_Date表示订票日期,Ticket_Type表示证件类型,Starting_Date表示出发日期,Starting_Time表示出发时间,S_FLT_No表示出发航班号,S_Cabin_Type表示出发舱位等级, Total_Amount表示总价。
4) Flight(FLT_No,Starting_Date,Starting_Time,Starting,Destination,
Voyage_time,Num_FCSC,Num_OC,Num_TC,Adult_FCSC,Child_FCSC,Adult_OC,Child_OC,Adult_TC,Child_TC,discount,ACF,Fuel,Enabled)
说明:FLT_No表示航班号,Starting_Date表示出发日期,Starting_Time表示出发时间,Starting表示出发地,Destination表示目的地,Voyage_time表示飞行时间,Num_FCSC表示头等舱座位数,Num_OC表示商务舱座位数,Num_TC表示经济舱座位数,Adult_FCSC表示头等舱成人票价,Child_FCSC表示头等舱儿童票价,Adult_OC表示商务舱成人票价,Child_OC表示商务舱儿童票价,Adult_TC表示经济舱承认票价,Child_TC表示经济舱儿童票价,discount表示折扣,ACF表示机场建设费,Fuel表示燃油费,Enabled表示是否启用。
5) User_manager(Manager_ID,Manager_name,Manager_password,IsAdmin,
Enabled)
说明:Manager_ID表示管理员编号,Manager_name表示管理员名称,Manager_password表示管理员密码,IsAdmin表示是否是默认管理员,Enabled表示是否启用。
11
江西理工大学2013届本科生毕业设计(论文)
4.1.3物理结构设计
1) 表的建立
(1) 用户登录信息表,它所有的属性和数据类型见下表:
表4-1 用户登录信息表
字段名称 User_ID Name Password Question Answer 字段类型 char char char char char 12 30 15 40 40 长度 否 否 否 否 否 是否为空 说明 主键、外键 用户名 密码 密码提示问题 密码答案
(2) 用户详细信息表,它所有的属性和数据类型见下表:
表4-2 用户详细信息表
字段名称 User_ID Dname Sex Borth ID IDCode FL_tel Mail Address Postcode 字段类型 char char char Date char char char char char char 12 40 2 长度 否 否 是 是 否 否 是 否 是 是 是否为空 说明 主键、外键 姓名 性别 出生日期 证件类型 证件号码 固定电话 电子邮箱 地址 邮编 20 30 12 20 40 6 (3) 订单信息表,它所有的属性和数据类型见下表:
表4-3订单信息表
字段名称 Order_ID User_ID Dname ID IDCode Booking_Data 字段类型 char char char char char Date 长度 15 12 40 20 30 是否为空 否 键 否 否 否 否 否 说明 订单号、主用户编号、外键 姓名 证件类型 证件编号 订票日期 12
江西理工大学2013届本科生毕业设计(论文)
Ticket_Type Starting_Data Starting_Time S_FLT_No S_Cabin_Type Returning_Data Returning_Time R_FLT_No Time Date Time char Char Date Time char 6 否 否 否 否 号 否 是 是 是 号 机票类型 出发日期 出发时间 出发航班出发舱位等级 返回日期 返回时间 返回航班6 6 6 R_Cabin_Type char 6 是 返回舱位等级 Total_Amount int 否 总价 (4) 航班信息表,它所有的属性和数据类型见下表:
表4-4 航班信息表
字段名称 FLT_No Starting_Date Starting_Time Starting Destination Voyage_time Num_FCSC Num_OC 字段类型 char Date Time char char Float int int 6 20 20 长度 是否为空 否 否 否 否 否 否 否 否 说明 航班号,主键 出发日期 出发时间 出发地 目的地 航行时间 头等舱座位数 商务舱座位数
续表4-5 航班信息表
字段名称 Num_TC Adult_FCSC Child_FCSC Adult_OC Child_OC Adult_TC Child_TC
字段类型 int int int int int int int 长度 是否为空 否 否 否 否 否 否 否 说明 经济舱座位数 头等舱成人价 头等舱儿童价 商务舱成人价 商务舱儿童价 经济舱成人价 经济舱儿童价 13