python - 如何在 SQLite DB 中创建多对多关系
问题描述
我试图弄清楚如何在我的火车表和车站表之间创建多对多关系。我知道我需要一个中间表,我创建了它我觉得我正在循环思考要做什么。我将有一个指向数据的链接,该链接解释了我的表和下面的架构之间的关系。我在此数据中查看的唯一列是:
“GTFS_STOP_ID”(Stop_Name 的 ID 代码)、“Stop_Name”(火车站名称)和“Daytime Route”(即列车)
-一趟列车可以有多站,一站也可以有多趟列车,这就是为什么在“白天路线”一栏中可以看到多趟列车的原因。(例如,N,W 为第一行)
- 我将如何在我的 SQLITE 数据库中准确地描述我的 csv 中这 3 列之间的关系?
链接到数据(提前为 csv 道歉,因为这是我唯一能在网上找到的东西
cur.execute("""DROP TABLE IF EXISTS train""")
cur.execute(
""" CREATE TABLE train(
pk INTEGER PRIMARY KEY AUTOINCREMENT,
train_name VARCHAR
);""")
cur.execute("""DROP TABLE IF EXISTS station""")
cur.execute(
""" CREATE TABLE station(
pk INTEGER PRIMARY KEY AUTOINCREMENT,
stop_id VARCHAR,
station_name VARCHAR
);""")
cur.execute("""DROP TABLE IF EXISTS train_station""")
cur.execute(
""" CREATE TABLE train_station(
train_pk INTEGER,
station_pk INTEGER,
FOREIGN KEY (station_pk) REFERENCES station(pk)
FOREIGN KEY (train_pk) REFERENCES train(pk)
);"""
)
解决方案
推荐阅读
- angular - 当组件在 DOM 上不存在时执行 Angular ngOnInit
- twitter-bootstrap - 为什么基本的引导折叠按钮对我不起作用?
- javascript - 如何拆分带有任意参数的字符串?
- angular - 从输入中获取一个翻译参数,从角度对象中获取另一个翻译参数
- php - 基于 Laravel 数组的日期验证 after_or_equal 多个日期?
- c++ - C++:静态断言仿函数的参数是常量引用
- android - iOS 或 Android 锁定屏幕中的 Delphi 按钮
- python - 绘图时 pandas.to_datetime() 不是从 18:00 开始
- ruby-on-rails - 使用 Excon Rails 6.0.0 在生产中未发送 API 请求
- swift - 无法转换“NSLayoutAnchor”类型的值
' 到预期的参数类型 'NSLayoutAnchor