当前位置: 首页 > news >正文

数据库设计(火车订票系统)

为一个火车订票系统设计一个数据库是一个好的方法来训练你的数据库技巧。

其中有一些需要考虑到的复杂度。

过一些需求,并且创建表格。

为这个虚构的火车订票系统提出了10个需求。

我们将把其中每个添加到entity relational diagram(实体关系图)中来表示我们的数据库。

需求一:

一个火车在一个站点出发,在一个站点停止,在旅途中可以停靠在不同的站点。

我们如何捕获这个需求。

首先,添加一个火车站点的表格。

火车站点的表格,i像大部分的表格一样,d作为主键。

对于一个站点来说,还需要捕获什么?火车站点的名字。

需求还提到了一个火车,它代表着一个旅程。从一个地方开始,到另一个地方结束。

添加一个新的表,称为火车旅程。主键是id。

不确定还有什么需要存储进这个表中。但是现在是OK的。

现在这两个表格如何关联起来?一趟火车旅程能够有多个站点吗?

可以,我们在需求中看到了这点。

一个站点可以有多趟旅程吗?

可以假设能够,因为我们在构建一个火车预定系统。

如果错了,我们可以在后面改变它。

这是一个多对多的关系,所以我们需要一个joining table(连接表)。

http://www.lryc.cn/news/174391.html

相关文章:

  • qemu+docker在服务器上搭建linux内核调试环境
  • Stable Diffusion 参数介绍及用法
  • 打印大对象日志导致GC问题的解决
  • 【Docker】学习笔记
  • 网易云信4K 8K RTC助力远程医疗的技术实践
  • 【排序算法】冒泡排序、插入排序、归并排序、希尔排序、选择排序、堆排序、快速排序
  • Linux学习笔记-应用层篇
  • MySQL数据库的存储引擎
  • Linux-多路转接-epoll
  • Java面试被问了几个简单的问题,却回答的不是很好
  • 概率论几种易混淆的形式
  • PyTorch数据增强后的结果展示
  • 指定程序在哪个GPU上运行
  • Linux CentOS7 vim多文件编辑
  • PAT甲级真题1153: 解码PAT准考证
  • linux信号
  • JavaWeb开发-05-SpringBootWeb请求响应
  • Ubuntu下载
  • Vue 的组件加载顺序和渲染顺序
  • leetcode Top100(17)矩阵置零
  • 论文精读(2)—基于稀疏奖励强化学习的机械臂运动规划算法设计与实现(内含实现机器人控制的方法)
  • 快速安装keepalive
  • nginx实现反向代理实例
  • 使用Freemarker填充模板导出复杂Excel,其实很简单哒!
  • windows环境下安装logstash同步数据,注册系统服务
  • java服务内存说明及配置详解
  • Mybatis-MyBatis的缓存
  • 计算机组成原理之硬件的基本组成,深入介绍两大计算机结构体系,从底层出发认识计算机。
  • 二十五、MySQL事务的四大特性和常见的并发事务问题
  • 辨析常见的医学数据分析(相关性分析回归分析)