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

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

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

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

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

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

需求一:

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

我们如何捕获这个需求。

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
品牌常新12 分钟前
室外巡检机器人推荐:园区与厂区怎么选
数据库·人工智能·机器人
snow@li15 分钟前
redis:RedisDesktopManager(RDM/RESP.app)Redis 数据可视化全景深度梳理
数据库·redis·缓存
lqbzlll16 分钟前
MySQL 慢查询日志开了但看不懂?从 slow_query_log 到 EXPLAIN ANALYZE 一步步定位
数据库·mysql·adb
code_slave(码畜)25 分钟前
微服务架构落地:慢 SQL 治理与连接池调优 —— 守住数据库的最后一道防线
数据库·spring boot·sql·spring cloud·微服务·架构
IvorySQL40 分钟前
PostgreSQL 日报|子表 CHECK 约束恢复标记错误(11 月 2 日)
数据库·postgresql
你看我名字1 小时前
Redis 高可用、持久化与故障切换:从缓存组件到云上基础设施
数据库·redis·缓存
风翼靓崽2 小时前
centos7以mysql为例自建yum源
数据库·mysql·adb
码农阿豪2 小时前
MongoDB迁移到金仓数据库:商品属性继续灵活存,订单报表交给 SQL
数据库·sql·mongodb
秋饼2 小时前
Redis 全面解析:从数据结构到主从/哨兵/集群、分布式锁与面试高频考点,代码到原理一次讲透
数据库·redis·分布式·面试·后端开发