Как создать отношение многие ко многим в БД SQLite - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь выяснить, как создать отношения многих ко многим между моим столом поезда и столом станции. Я знаю, что мне нужна промежуточная таблица, которую я создал, и я чувствую, что собираюсь поработать над ней и подумать, что делать. У меня будет ссылка на данные, которая объясняет отношения между моими таблицами и моей схемой ниже. Единственные столбцы, которые я просматриваю в этих данных:

"GTFS_STOP_ID" (код идентификатора для Stop_Name), "Stop_Name" (название железнодорожной станции) и "Дневной маршрут" (которые представляют собой поезда )

-Один поезд может иметь много станций, и на одной станции также может быть много поездов, поэтому в столбце «Дневные маршруты» можно увидеть несколько поездов. (Например, N, W для первой строки)

-Как я бы точно изобразил отношения между этими 3 столбцами в моем CSV, в моей базе данных SQLITE?

Ссылка на данные (заранее извиняюсь за 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)

        );"""
        )
...