Sql 行程数据库模式
您将如何着手为必须存储旅行行程的旅行社设计数据库模式 旅行有很多项目(类型:公共汽车、出租汽车、酒店、航班等) 我的问题是,在某些情况下,项目可能具有具有相同“预订号”的子项目(如航班段),等等 我当前的解决方案是使用PostgreSQL JSON数据类型存储项(及其子项)元数据。这是最好的办法吗?感觉就像我把所有有用的信息塞进了一个无模式的表单Sql 行程数据库模式,sql,database,postgresql,schema,Sql,Database,Postgresql,Schema,您将如何着手为必须存储旅行行程的旅行社设计数据库模式 旅行有很多项目(类型:公共汽车、出租汽车、酒店、航班等) 我的问题是,在某些情况下,项目可能具有具有相同“预订号”的子项目(如航班段),等等 我当前的解决方案是使用PostgreSQL JSON数据类型存储项(及其子项)元数据。这是最好的办法吗?感觉就像我把所有有用的信息塞进了一个无模式的表单 这个问题以前一定被tripit、expedia或您当地的旅行社解决过很多次——我只是找不到任何文档/参考资料。想法?您需要为您试图描述的每个概念上不
这个问题以前一定被tripit、expedia或您当地的旅行社解决过很多次——我只是找不到任何文档/参考资料。想法?您需要为您试图描述的每个概念上不同的“事物”创建一个表。不要费心把所有的东西都归到一个“项目”类别下,因为我不明白为什么这样做只会使问题复杂化 对于这个问题,我肯定不会在这样一个列中处理一大堆JSON数据。使用标准的、规范化的关系数据库完成这一切
有一个TRIP
,CLIENT
有零到多个CLIENT
sTRIP
有零到多个行程
s,而航班
有一个航班
行程
- 每个
都有一个航班
属性预订号
有一对多的航班
s,而航段
有一个航段
航班
- 每个
都有LEG
和START
属性END
希望你在这里得到了这个想法,这样你就可以将这个概念应用到你想要记录的关于旅行的其他类型的事情上(公共汽车、汽车、酒店等等) 这看起来像一个简单的关系分解问题——即归一化。如果没有自然密钥,请使用合成密钥。我想制作相同的解决方案,欢迎提供任何帮助。