网上火车票订票系统的数据库设计
网上火车票订票系统的数据库设计与实现班级:10 级工程管理系组成员:2 班 李霞 30102092582 班 陆静 30102092611 班 孙隆祥 3010209233系统名称:网上火车票订票系统一、系统需求(孙隆祥)A. 该“网上订票系统”只是对数据库应用技术的一个样本数据库的实例,重在对数据库一些方法的熟悉与掌握,其中包括从数据库的概念模型到 ER 图的绘制,再到数据库模式的建立(即为数据库及其基本表的建立) ,而后数据的录入(在此从略) ,最后完成一些简单的关系运算表达式的表达和相关的 Select 查询语句的使用。B. 系统结构简述:本系统包括六个实体:客户、订票单、退票单、车票、票存系统实体之间的关系转换为其他一个表:记录(注:车票和票存系统之间为多对多的关系)C. 该数据库要进行如下数据处理1)要求查询客户的所有信息:输出:身份证号,姓名,用户名,联系电话,银行卡类型,银行卡号,籍贯,类型2)要求查询车票的所有信息:输出:车次,出发站,目的站,座位类型,座位号,车票价格,发车时间,到站时间3) 要求查询某一客户订票单的信息:输入:姓名输出:订票单号,订票时间,乘车日期,订票数量4)要求查询客户所订购的车票信息输入:姓名输出:车次,出发站,目的站,发车时间,到站时间,车票价格5)客户要查询自己的退票信息输入:姓名输出:退票单号,退票时间,退票数量,手续费6)查询某一票存系统的记录信息输入:票存系统编号输出:记录数量,记录时间,出入账金额,出入账类型7)插入数据输入:要插入数据的各个属性8)修改某一客户的联系电话输入:要修改客户的身份证号,新的电话二、ER 图(陆静)客户 订票 订票单退票单转 换 1退 票车票记录票存系统n 1n1 1mn记录时间 出入账金额出入账类型记录数量1用户名类型身 份 证 号 #银 行 卡 类型籍贯银 行 卡号联 系 电 话订 票 时 间订 票 数 量订 票 单 号# 乘 车 日 期退票时间退票单号#退票数量手续费票存系统编号# 票存系统地址发车时间到站时间类型车票价格车票编号#座位号车次出发站目的地座位类型三、关系模式(李霞,陆静 )系统中实体有:客户,订票单,改签单,退票单,车票,票存系统关系模式:客户(身份证号,姓名,用户名,联系电话,银行卡类型,银行卡号,籍贯,类型)说明:属性中“身份证号”是主键, “类型”的取值为(学生票,普通票)订票单(订票单号,订票时间,乘车日期,订票数量,身份证号)说明:属性中 “乘车日期”的格式为:_ _ _ _ - _ _ - _ _(_ 代表数字)退票单(退票单号,退票时间,退票数量,手续费,车票编号)车票(车票编号,车次,出发站,目的站,座位类型,座位号,车票价格,发车时间,到站时间,类型,订票单号)说明:属性中“座位类型”取值为(软卧,硬卧,软座,硬座,无座) , “类型”的取值为(学生票,普通票)票存系统(票存系统编号,票存系统地址)记录(车票编号,票存系统编号,记录日期,记录时间,出入账金额,出入账类型,记录数量)说明:属性中“票存系统编号”和“票存系统地址”是主键,也是外键。四、物理设计(李霞)表 1.客户表结构字段名 类型 特殊属性身份证号 char(18) 主健姓名 char(10) not null联系电话 char(10)用户名 char(10) not null银行卡类型 char(10) not null银行卡号 char(20) not null籍贯 char(10)类型 char(10)表 2.订票单表结构字段名 类型 特殊属性订票单号 char(10) 主健订票时间 char(10) not null乘车日期 char(10) not null订票数量 int not null身份证号 char(18) not null表 3.退票单表结构字段名 类型 特殊属性退票单号 char(10) 主健退票时间 char(10) not null退票数量 int not null手续费 char(6) not null表 4 车票表结构字段名 类型 特殊属性车票编号 char(10) 主健车次 char(10) not null出发站 char(10) not null目的站 char(10) not null座位类型 char(10) not null座位号 char(10) not null车票价格 char(10) not null发车时间 char(10) not null到站时间 char(10) not null类型 char(10)订票单号 char(10)表 5.票存系统表结构字段名 类型 特殊属性票存系统编号 char(10) 主健票存系统地址 char(10) not null表 6 记录表结构字段名 类型 特殊属性车票编号 char(10) 主健票存系统编号 char(10) not null记录日期 char(10) not null记录时间 char(10) not null出入账金额 char(6) not null出入账类型 char(10) not null记录数量 int not null五、系统实现(陆静,李霞,孙隆祥)1、数据库及其基本表的建立数据库的建立用企业管理器,基本表的建立用 T-SQL 语言:数据库名称为:TO _System建立数据库的 T-SQL 代码如下:--创建数据库Create database to_systemOn (name=to_system_data,filename= e:\lls\to_system_data.mdf ,size=4,maxsize=10,filegrowth=1)log on(name=sm_system_log,filename= e:\lls\to_system_log.ldf )--建立基本表的 T-SQL 代码Use to_Systemcreate table 客户(身份证号 char(18) primary key,姓名 char(10) not null,联系电话 char(10),用户名 char(10) not null,银行卡类型 char(10) not null,银行卡号 char(20) not null,籍贯 char(10),类型 char(10),check (类型 in ( 学生票 , 普通票 )))create table 订票单(订票单号 char(10) primary key,订票时间 char(10) not null,乘车日期 char(10) not null,订票数量 int not null,身份证号 char(18) not null,foreign key(身份证号) references 客户( 身份证号))create table 车票(车票编号 char(10) primary key,车次 char(10) not null,出发站 char(10) not null,目的站 char(10) not null,座位类型 char(10) not null,座位号 char(10) not null,车票价格 int not nu