diff --git a/MonetDB.py b/MonetDB.py index c835912..c2a773e 100644 --- a/MonetDB.py +++ b/MonetDB.py @@ -1,19 +1,62 @@ import pymonetdb import time +import re #Creation_table -createAirline = """CREATE TABLE airlines("IATA_CODE" VARCHAR(2) NOT NULL PRIMARY KEY UNIQUE, "AIRLINE" VARCHAR(99) NOT NULL);""" -createAirports = """CREATE TABLE airports("IATA_CODE" VARCHAR(3) NOT NULL PRIMARY KEY UNIQUE, "AIRPORT" VARCHAR(100), "CITY" VARCHAR(40), "STATE" VARCHAR(2), "COUNTRY" VARCHAR(40), "LATITUDE" REAL, "LONGITUDE" REAL);""" -createFlights = """CREATE TABLE flights("YEAR" INT, "MONTH" INT, "DAY" INT, "DAY_OF_WEEK" INT, "AIRLINE" VARCHAR(2), "FLIGHT_NUMBER" INT, -"TAIL_NUMBER" VARCHAR(6), "ORIGIN_AIRPORT" VARCHAR(5), "DESTINATION_AIRPORT" VARCHAR(5), "SCHEDULED_DEPARTURE" INT, "DEPARTURE_TIME" INT, -"DEPARTURE_DELAY" INT, "TAXI_OUT" INT, "WHEELS_OFF" INT, "SCHEDULED_TIME" INT, "ELAPSED_TIME" INT, "AIR_TIME" INT, "DISTANCE" INT, -"WHEELS_ON" INT, "TAXI_IN" INT, "SCHEDULED_ARRIVAL" INT, "ARRIVAL_TIME" INT, "ARRIVAL_DELAY" INT, "DIVERTED" INT, "CANCELLED" INT, -"CANCELLATION_REASON" VARCHAR(1), "AIR_SYSTEM_DELAY" INT, "SECURITY_DELAY" INT, "AIRLINE_DELAY" INT, "LATE_AIRCRAFT_DELAY" INT, "WEATHER_DELAY" INT);""" +createAirline = """CREATE TABLE airlines + ( + "IATA_CODE" VARCHAR(2) NOT NULL PRIMARY KEY UNIQUE, + "AIRLINE" VARCHAR(99) NOT NULL + );""" +createAirports = """CREATE TABLE airports + ( + "IATA_CODE" VARCHAR(3) NOT NULL PRIMARY KEY UNIQUE, + "AIRPORT" VARCHAR(100), + "CITY" VARCHAR(40), + "STATE" VARCHAR(2), + "COUNTRY" VARCHAR(40), + "LATITUDE" REAL, + "LONGITUDE" REAL + );""" +createFlights = """CREATE TABLE flights + ( + "YEAR" INT, + "MONTH" INT, + "DAY" INT, + "DAY_OF_WEEK" INT, + "AIRLINE" VARCHAR(2), + "FLIGHT_NUMBER" INT, + "TAIL_NUMBER" VARCHAR(6), + "ORIGIN_AIRPORT" VARCHAR(5), + "DESTINATION_AIRPORT" VARCHAR(5), + "SCHEDULED_DEPARTURE" INT, + "DEPARTURE_TIME" INT, + "DEPARTURE_DELAY" INT, + "TAXI_OUT" INT, + "WHEELS_OFF" INT, + "SCHEDULED_TIME" INT, + "ELAPSED_TIME" INT, + "AIR_TIME" INT, + "DISTANCE" INT, + "WHEELS_ON" INT, + "TAXI_IN" INT, + "SCHEDULED_ARRIVAL" INT, + "ARRIVAL_TIME" INT, + "ARRIVAL_DELAY" INT, + "DIVERTED" INT, + "CANCELLED" INT, + "CANCELLATION_REASON" VARCHAR(1), + "AIR_SYSTEM_DELAY" INT, + "SECURITY_DELAY" INT, + "AIRLINE_DELAY" INT, + "LATE_AIRCRAFT_DELAY" INT, + "WEATHER_DELAY" INT + );""" #Inserer_data -peuplementAirlines = """COPY INTO airlines FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airlines.csv' USING DELIMITERS ',', E'\n', '\"';""" -peuplementAirports = """COPY INTO airports FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airports.csv' USING DELIMITERS ',', E'\n', '"' NULL AS '';""" -peuplementFlights = """COPY INTO flights FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\flights.csv' USING DELIMITERS ',', E'\n', '"' NULL AS '';""" +peuplementAirlines = r"COPY INTO airlines FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airlines.csv' USING DELIMITERS ',', E'\n', '\"';" +peuplementAirports = r"COPY INTO airports FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airports.csv' USING DELIMITERS ',', E'\n', '\"' NULL AS '';" +peuplementFlights = r"COPY INTO flights FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\flights.csv' USING DELIMITERS ',', E'\n', '\"' NULL AS '';" def connect_monetdb(): @@ -22,18 +65,26 @@ def connect_monetdb(): cursor = connection.cursor() return connection, cursor -def create_table_monetdb(cursor): +def create_table_monetdb(connection,cursor): cursor.execute(createAirline) cursor.execute(createAirports) cursor.execute(createFlights) + connection.commit() -def create_data_monetdb(cursor): - cursor.execute(peuplementAirlines) - cursor.execute(peuplementFlights) +def create_data_monetdb(connection,cursor): + cursor.execute(r"COPY INTO airlines FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airlines.csv' USING DELIMITERS ',', E'\n', '\"';") + cursor.execute(r"COPY INTO airports FROM 'C:\\Users\\Public\\2015_Flight_Delay_and_cancellations\\airports.csv' USING DELIMITERS ',', E'\n', '\"' NULL AS '';") cursor.execute(peuplementAirports) + connection.commit() -def requete_monetdb(cursor,str): +def requete_monetdb(connection,cursor,str): cursor.execute(str) + connection.commit() + +def reset_data_monetdb(connection,cursor): + cursor.execute("DROP TABLE IF EXISTS airlines") + cursor.execute("DROP TABLE IF EXISTS airports") + cursor.execute("DROP TABLE IF EXISTS flights") def disconnect_monetdb(connection,cursor): cursor.close() diff --git a/PostgreSQL.py b/PostgreSQL.py index eba39cf..d107659 100644 --- a/PostgreSQL.py +++ b/PostgreSQL.py @@ -103,5 +103,16 @@ def requete_postgres(str): print("Cette requĂȘte prends:", temps, "seconde") cursor.close() conn.close() + except (psycopg2.DatabaseError, Exception) as error: + print(error) + +def reset_database_postgres(): + try: + with connect_postgres() as conn: + with conn.cursor() as cursor: + cursor.execute('DROP TABLE IF EXISTS flights,airlines,airports') + conn.commit() + cursor.close() + conn.close() except (psycopg2.DatabaseError, Exception) as error: print(error) \ No newline at end of file diff --git a/__pycache__/MonetDB.cpython-312.pyc b/__pycache__/MonetDB.cpython-312.pyc index 3abd97d..c054bb8 100644 Binary files a/__pycache__/MonetDB.cpython-312.pyc and b/__pycache__/MonetDB.cpython-312.pyc differ diff --git a/__pycache__/PostgreSQL.cpython-312.pyc b/__pycache__/PostgreSQL.cpython-312.pyc index 7e9abe4..d87f0c0 100644 Binary files a/__pycache__/PostgreSQL.cpython-312.pyc and b/__pycache__/PostgreSQL.cpython-312.pyc differ diff --git a/main.py b/main.py index 7e5c5eb..666bf1b 100644 --- a/main.py +++ b/main.py @@ -1,5 +1,6 @@ from MonetDB import * from PostgreSQL import * +import re #Monet DB requeteSelect1MonetDB = """SELECT * FROM flights WHERE "AIRLINE" = 'AA';""" @@ -26,11 +27,11 @@ if __name__ == '__main__': #PostgreSQL #create_tables_postgres() #create_data_postgres() - requete_postgres(str) + #requete_postgres(str) #MonetDB conn, cursor =connect_monetdb() - create_table_monetdb(cursor) - create_data_monetdb(cursor) - requete_monetdb(cursor, str) - disconnect_monetdb(conn, cursor) + create_table_monetdb(conn,cursor) + #create_data_monetdb(conn,cursor) + #requete_monetdb(conn,cursor, str) + #disconnect_monetdb(conn, cursor)