SQL数据库课程设计火车票.docx

上传人:b****5 文档编号:4481675 上传时间:2022-12-01 格式:DOCX 页数:9 大小:57.70KB
下载 相关 举报
SQL数据库课程设计火车票.docx_第1页
第1页 / 共9页
SQL数据库课程设计火车票.docx_第2页
第2页 / 共9页
SQL数据库课程设计火车票.docx_第3页
第3页 / 共9页
SQL数据库课程设计火车票.docx_第4页
第4页 / 共9页
SQL数据库课程设计火车票.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

SQL数据库课程设计火车票.docx

《SQL数据库课程设计火车票.docx》由会员分享,可在线阅读,更多相关《SQL数据库课程设计火车票.docx(9页珍藏版)》请在冰豆网上搜索。

SQL数据库课程设计火车票.docx

SQL数据库课程设计火车票

 

SQL上机实验项目

 

设计列车信息查询数据库

 

学号:

24110121

姓名:

王若龙

 

1、实验项目名称:

数据模型的建立过程与方法

2、实验项目编号:

ab0822420305

3、实验性质:

必做

4、实验类型:

设计

5、实验目的:

熟练掌握数据模型的设计、建立的过程与方法。

6、实验内容:

设计一个数据库,实现列车车次信息和车站信息的基本管理,为列车运行时刻信息的录入、修改、查询与统计等功能提供数据库支撑。

要求:

(1)设计该数据库E-R图

(2)将E-R模型转换为关系模型,并规范化

(3)用SQL语句定义并建立数据库表结构

(4)提供以下SQL语句,并加以说明。

查询某车站火车到站出站信息。

查询某列火车沿途经过站点信息

查询从某站点上车,到达某站点,共有哪些列车可供乘坐。

统计某段时间经过某站点的列车共有多少。

 

(1)设计E-R图

 

(2)将E-R模型转换为关系模型,并规范化

车站信息(车站号,车站名)

列车信息(车次,始发站,终点站,出发时间,到达时间)

乘务人员(车次,姓名,职务)

经由信息(车次,车站名,到站时间,出站时间)

 

(3)用SQL语句定义并建立数据库表结构

车站信息表(station),采用命令行创建方式。

字段名

代码

类型

约束

车站号

sno

char(5)

主键

车站名

sname

char(20)

列车信息表(train),采用命令行创建方式。

字段名

代码

类型

约束

车次

tno

char(5)

主键

始发站

sf

char(20)

Notnull

终点站

zd

char(20)

Notnull

出发时间

cf

time

到达时间

dd

time

乘务人员表(worker),采用命令行创建方式。

字段名

代码

类型

约束

车次

tno

char(5)

与列车信息表里的车次外键关联

姓名

name

char(10)

主键

职务

zhiwu

char(10)

经由表(pass),采用命令行创建方式。

字段名

代码

类型

约束

车次

tno

char(5)

与列车信息表里的车次外键关联

车站名

sno

char(20)

与车站信息表里的车站名外键关联

到站时间

dz

time

出站时间

cz

time

停留时间

tl

char(5)

相关建表代码实现如下:

createdatabasetest

usetest

createtabletrain--建立列车信息表

tnochar(5)primarykey,

sfchar(20)notnull,

zdchar(20)notnull,

cftime(0)notnull,

ddtime(0)notnull,

);

createtablestation--建立车站信息表

snochar(5)primarykey,

snamechar(20)

);

createtableworker--建立职工信息表

tnochar(5)foreignkey(tno)referencestrain(tno),

namechar(20)primarykey,

zhiwuchar(10)notnull,

);

createtablepass--建立经由信息表

tnochar(5)foreignkey(tno)referencestrain(tno),

snochar(5)foreignkey(sno)referencesstation(sno),

dztime(0)notnull,

cztime(0)notnull,

);

--添加列车信息

insertintotrainvalues('K1384','哈尔滨','包头','16:

28','21:

12');

insertintotrainvalues('T298','长春','北京','7:

32','14:

17');

insertintotrainvalues('G382','长春西','北京南','17:

03','23:

13');

insertintotrainvalues('D30','长春西','北京','15:

17','22:

22');

insertintotrainvalues('Z62','长春','北京','20:

15','06:

08');

insertintostationvalues('1','哈尔滨')--添加车站信息

insertintostationvalues('2','扶余')

insertintostationvalues('3','长春')

insertintostationvalues('4','四平')

insertintostationvalues('5','通辽')

insertintostationvalues('6','商都')

insertintostationvalues('7','呼和浩特')

insertintostationvalues('8','包头')

insertintostationvalues('01','长春')

insertintostationvalues('02','北京')

insertintostationvalues('11','长春')

insertintostationvalues('12','沈阳北')

insertintostationvalues('13','锦州')

insertintostationvalues('14','葫芦岛')

insertintostationvalues('15','山海关')

insertintostationvalues('16','秦皇岛')

insertintostationvalues('17','北京')

insertintostationvalues('21','长春西')

insertintostationvalues('22','沈阳北')

insertintostationvalues('23','葫芦岛')

insertintostationvalues('24','秦皇岛')

insertintostationvalues('25','唐山')

insertintostationvalues('26','北京')

insertintostationvalues('31','长春西')

insertintostationvalues('32','四平')

insertintostationvalues('33','沈阳北')

insertintostationvalues('34','山海关')

insertintostationvalues('35','秦皇岛')

insertintostationvalues('36','北京')

select*

fromstation

insertintoworkervalues('K1384','邓鑫磊','列车长')--添加职工信息表

insertintoworkervalues('K1384','陈继军','服务员')

insertintoworkervalues('K1384','贺鹏飞','乘警')

insertintoworkervalues('Z62','汪洋','列车长')

insertintoworkervalues('Z62','张志凯','服务员')

insertintoworkervalues('Z62','李进鹏','乘警')

insertintoworkervalues('T298','陆冠豪','列车长')

insertintoworkervalues('T298','郭子维','服务员')

insertintoworkervalues('T298','任延富','乘警')

insertintoworkervalues('G382','俞鸿涛','列车长')

insertintoworkervalues('G382','李德鸿','服务员')

insertintoworkervalues('G382','王若龙','乘警')

insertintoworkervalues('D30','银鑫','列车长')

insertintoworkervalues('D30','李博','服务员')

insertintoworkervalues('D30','金成龙','乘警')

insertintopassvalues('K1384','1','16:

28','16:

28')--添加经由信息表

insertintopassvalues('K1384','2','17:

57','17:

59')

insertintopassvalues('K1384','3','19:

34','19:

44')

insertintopassvalues('K1384','4','21:

08','21:

28')

insertintopassvalues('K1384','5','00:

15','00:

30')

insertintopassvalues('K1384','6','14:

11','14:

14')

insertintopassvalues('K1384','7','19:

10','19:

18')

insertintopassvalues('K1384','8','21:

12','21:

12')

insertintopassvalues('Z62','01','20:

15','20:

15')

insertintopassvalues('Z62','02','06:

08','06:

08')

insertintopassvalues('T298','11','23:

59','00:

06')

insertintopassvalues('T298','12','02:

44','02:

56')

insertintopassvalues('T298','13','05:

23','05:

29')

insertintopassvalues('T298','14','06:

00','06:

03')

insertintopassvalues('T298','15','07:

26','07:

32')

insertintopassvalues('T298','16','07:

50','07:

54')

insertintopassvalues('T298','17','10:

48','10:

48')

insertintopassvalues('G382','21','17:

00','17:

03')

insertintopassvalues('G382','22','18:

40','18:

44')

insertintopassvalues('G382','23','20:

20','20:

21')

insertintopassvalues('G382','24','21:

14','21:

16')

insertintopassvalues('G382','25','21:

54','21:

56')

insertintopassvalues('G382','26','23:

13','23:

13')

insertintopassvalues('D30','31','15:

44','15:

47')

insertintopassvalues('D30','32','16:

23','16:

25')

insertintopassvalues('D30','33','17:

31','17:

34')

insertintopassvalues('D30','34','19:

47','19:

48')

insertintopassvalues('D30','35','20:

05','20:

06')

insertintopassvalues('D30','36','22:

22','22:

22')

(4)提供以下SQL语句,并加以说明

--查询长春站到站出站信息

SELECTsname车站名,tno车次,dz到站时间,cz出站时间

frompass,station

where

pass.sno=station.sno

and

sname='长春'

--查询K1384列车沿途车站信息

selecttrain.tno车次,sname车站名,dz到站时间,cz出站时间

frompass,train,station

where

pass.sno=station.sno

and

train.tno=pass.tno

and

train.tno='K1384'

--从长春站到四平站的可选择的车次,使用自连接

selectdistincttrain.tno车次,station.sname出发,aa.sname到达,dz到站时间,cz出站时间

frompass,train,station,

stationasaa

wheretrain.tno=pass.tno

andpass.sno=station.sno

andstation.sname='长春'

andaa.sname='四平'

--统计8:

00-23:

00经过秦皇岛的列车数,使用嵌套语句

selectcount(*)列车数目

fromtrain

wheretrain.tno

in

(selecttrain.tno

frompass,train,station

wheretrain.tno=pass.tno

andpass.sno=station.sno

anddzbetween'8:

00'and'23:

00'

andstation.sname='秦皇岛')

 

 

WelcomeTo

Download!

!

!

 

欢迎您的下载,资料仅供参考!

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1