文档详情

吉林大学列车信息查询数据库实验报告.doc

发布:2017-08-07约9.25千字共15页下载文档
文本预览下载声明
一、实验内容 设计一个数据库,实现列车车次信息、车站信息、列车员信息的基本管理,为列车运行时刻信息的录入、修改、查询与统计等功能提供数据库支撑。 二、列车信息查询表ER图 将E-R模型转换为关系模型 列车(列车编号,车种类,始发站,发出时间,终点站,到达时间,行驶时间,经过车站) 车站(车站名字,省份,城市) 经过(列车编号,车站名,到站时间,开车时间,停留时间) 规范化关系模型 语义: 、每一列火车有唯一的列车编号和自己的车种类,始发站,发车时间,终点站,到达时间,行驶的时间,经过车站。 、每个车站有一个名字,对应的所在的城市省份。 、一辆火车可以经过很多车站。 2、找出函数依赖集: 列车表最小函数依赖集如下: {列车编号 车种,列车编号 始发站,列车编号 发出时间, 列车编号 终点站,列车编号 到达时间,列车编号 行驶时间, 列车编号 经过车站} 不存在传递依赖关系。 车站表最小函数依赖集如下: {车站名字 省份,车站名字 城市,城市 省份} 由于车站名字 城市,城市 省份,所以车站名字和省分之间存在传递依赖。 经过表的最小函数依赖集如下: {(列车编号,车站名字) 到站时间,(列车编号,车站名字) 开车时间, (列车编号,车站名字) 停留时间} 不存在函数依赖关系。 函数依赖图: 列车表: 为方便表示,下面用T表示列车表,T-no表示列车编号,T-kd表示列车种类,T-st表示始发站,T-stime表示发出时间,T-en表示终点站,T-etime表示到达时间,T-time表示行驶时间,S-name经过车站。 车站表: 用S表示车站表,S-name表示车站名字,S-p表示省份,S-c表示城市。 经过表: 用P表示经过表,P-retime表示到站时间,P-stime表示开车时间,stopt表停留时间。 4、以上存在传递关系,所以需要优化: 规范化结果: 列车(列车编号,车种类,始发站,发出时间,终点站,到达时间,行驶时间,剩余票数,经过车站) 车站(车站名字,城市) 地区(城市,省份) 经过(列车编号,车站名字,到站时间,开车时间,停留时间) 数据库表格 1、列车表: 字段名 数据类型 长度 约束 列车编号 Char 20 Unique 车种类 Char 10 Not null 始发站 Char 60 Not null 发出时间 Time Not null 终点站 Char 60 Not null 到达时间 Time Not null 行驶时间 Time Not null 车站表: 字段名 数据类型 长度 约束 车站名字 Char 60 Unique 城市 Char 20 Not null 地区表 字段名 数据类型 长度 约束 城市 Char 20 Unique 省份 Char 20 4、经过表 字段名 数据类型 长度 约束 列车编号 Char 20 Unique Foreign key 车站名字 Char 60 Unique Foreign key 到站时间 Time 开车时间 Time 停留时间 Time SQL语句建表 1、建立数据库: create database 列车信息查询系统; create table 车站 (车站名 char (60) unique, 城市 char (20) not null); create table 地区 (城市 char(20) unique, 省份 char(20) );create table 列车 (列车编号 char (20) unique, 车种类 char (10) not null, 始发站 char(60)not null, 发出时间 time not null, 终点站 char(60) not null, 到达时间 time not null, 行驶时间 time not null ); create table 经过 (列车编号 char (20) unique foreign key (列车编号) references 列车(列车编号), 车站名字 char (60) unique foreign key (车站名字) references 车站(车站名字), 到站时间 time , 开车时间 time , 停留时间 time ); insert into 车站 values (北京南,北京); insert into 车站 values (廊坊,廊坊); insert into 车站 values (天津南,天津);
显示全部
相似文档