{"station": {"columns": [[0, "id", "INTEGER", 0, null, 1], [1, "name", "TEXT", 0, null, 0], [2, "lat", "NUMERIC", 0, null, 0], [3, "long", "NUMERIC", 0, null, 0], [4, "dock_count", "INTEGER", 0, null, 0], [5, "city", "TEXT", 0, null, 0], [6, "installation_date", "TEXT", 0, null, 0]], "primary_keys": ["id"], "foreign_keys": [], "unique_constraints": [], "check_constraints": []}, "status": {"columns": [[0, "station_id", "INTEGER", 0, null, 0], [1, "bikes_available", "INTEGER", 0, null, 0], [2, "docks_available", "INTEGER", 0, null, 0], [3, "time", "TEXT", 0, null, 0]], "primary_keys": [], "foreign_keys": [[0, 0, "station", "station_id", "id", "NO ACTION", "NO ACTION", "NONE"]], "unique_constraints": [], "check_constraints": []}, "trip": {"columns": [[0, "id", "INTEGER", 0, null, 1], [1, "duration", "INTEGER", 0, null, 0], [2, "start_date", "TEXT", 0, null, 0], [3, "start_station_name", "TEXT", 0, null, 0], [4, "start_station_id", "INTEGER", 0, null, 0], [5, "end_date", "TEXT", 0, null, 0], [6, "end_station_name", "TEXT", 0, null, 0], [7, "end_station_id", "INTEGER", 0, null, 0], [8, "bike_id", "INTEGER", 0, null, 0], [9, "subscription_type", "TEXT", 0, null, 0], [10, "zip_code", "INTEGER", 0, null, 0]], "primary_keys": ["id"], "foreign_keys": [], "unique_constraints": [], "check_constraints": []}, "weather": {"columns": [[0, "date", "TEXT", 0, null, 0], [1, "max_temperature_f", "INTEGER", 0, null, 0], [2, "mean_temperature_f", "INTEGER", 0, null, 0], [3, "min_temperature_f", "INTEGER", 0, null, 0], [4, "max_dew_point_f", "INTEGER", 0, null, 0], [5, "mean_dew_point_f", "INTEGER", 0, null, 0], [6, "min_dew_point_f", "INTEGER", 0, null, 0], [7, "max_humidity", "INTEGER", 0, null, 0], [8, "mean_humidity", "INTEGER", 0, null, 0], [9, "min_humidity", "INTEGER", 0, null, 0], [10, "max_sea_level_pressure_inches", "NUMERIC", 0, null, 0], [11, "mean_sea_level_pressure_inches", "NUMERIC", 0, null, 0], [12, "min_sea_level_pressure_inches", "NUMERIC", 0, null, 0], [13, "max_visibility_miles", "INTEGER", 0, null, 0], [14, "mean_visibility_miles", "INTEGER", 0, null, 0], [15, "min_visibility_miles", "INTEGER", 0, null, 0], [16, "max_wind_Speed_mph", "INTEGER", 0, null, 0], [17, "mean_wind_speed_mph", "INTEGER", 0, null, 0], [18, "max_gust_speed_mph", "INTEGER", 0, null, 0], [19, "precipitation_inches", "INTEGER", 0, null, 0], [20, "cloud_cover", "INTEGER", 0, null, 0], [21, "events", "TEXT", 0, null, 0], [22, "wind_dir_degrees", "INTEGER", 0, null, 0], [23, "zip_code", "INTEGER", 0, null, 0]], "primary_keys": [], "foreign_keys": [], "unique_constraints": [], "check_constraints": []}}
CREATE TABLE station (
    id INTEGER   PRIMARY KEY,
    name TEXT,
    lat NUMERIC,
    long NUMERIC,
    dock_count INTEGER,
    city TEXT,
    installation_date TEXT
);

CREATE TABLE status (
    station_id INTEGER,
    bikes_available INTEGER,
    docks_available INTEGER,
    time TEXT,
    FOREIGN KEY (station_id) REFERENCES station(id)
);

CREATE TABLE trip (
    id INTEGER   PRIMARY KEY,
    duration INTEGER,
    start_date TEXT,
    start_station_name TEXT,
    start_station_id INTEGER,
    end_date TEXT,
    end_station_name TEXT,
    end_station_id INTEGER,
    bike_id INTEGER,
    subscription_type TEXT,
    zip_code INTEGER
);

CREATE TABLE weather (
    date TEXT,
    max_temperature_f INTEGER,
    mean_temperature_f INTEGER,
    min_temperature_f INTEGER,
    max_dew_point_f INTEGER,
    mean_dew_point_f INTEGER,
    min_dew_point_f INTEGER,
    max_humidity INTEGER,
    mean_humidity INTEGER,
    min_humidity INTEGER,
    max_sea_level_pressure_inches NUMERIC,
    mean_sea_level_pressure_inches NUMERIC,
    min_sea_level_pressure_inches NUMERIC,
    max_visibility_miles INTEGER,
    mean_visibility_miles INTEGER,
    min_visibility_miles INTEGER,
    max_wind_Speed_mph INTEGER,
    mean_wind_speed_mph INTEGER,
    max_gust_speed_mph INTEGER,
    precipitation_inches INTEGER,
    cloud_cover INTEGER,
    events TEXT,
    wind_dir_degrees INTEGER,
    zip_code INTEGER
);