update all commands and havent tested

This commit is contained in:
Minh VU
2024-12-03 19:34:27 +01:00
parent fd1712226a
commit f221ed67db
5 changed files with 83 additions and 20 deletions

View File

@@ -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()

View File

@@ -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)

Binary file not shown.

11
main.py
View File

@@ -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)