CREATE TABLE "teams" (
  "id" varchar(3) PRIMARY KEY,
  "name" varchar
);

CREATE TABLE "players" (
  "id" integer PRIMARY KEY,
  "team_id" varchar(3) NOT NULL,
  "name" varchar,
  "age" integer
);

CREATE TABLE "analyse_joueurs_une_equipe" (
  "team_id" varchar(3) NOT NULL,
  "player_id" integer NOT NULL,
  "sum_oreb" integer,
  "sum_dreb" integer,
  "sum_pie" float,
  "sum_ast" integer,
  "sum_stl" integer,
  "sum_blk" integer
);

CREATE TABLE "analyse_nbr_joueurs_et_points_par_equipe" (
  "team_id" varchar(3) NOT NULL,
  "sum_players_team" integer,
  "sum_points_team" integer
);

CREATE TABLE "analyse_top_15_joueurs_nombre_points" (
  "player_id" integer NOT NULL,
  "pts" integer,
  "fgm" integer,
  "fg_perc" float,
  "3p_perc" float,
  "ft_perc" float,
  "oreb" integer,
  "pie" float
);

CREATE TABLE "stats_joueurs_saison_reguliere" (
  "player_id" integer NOT NULL,
  "team_id" varchar(3) NOT NULL,
  "gp" integer,
  "w" integer,
  "l" integer,
  "min" float,
  "pts" integer,
  "fgm" integer,
  "fga" integer,
  "fg_perc" float,
  "15_00" integer,
  "3pa" integer,
  "3p_perc" float,
  "ftm" integer,
  "fta" integer,
  "ft_perc" float,
  "oreb" integer,
  "dreb" integer,
  "reb" integer,
  "ast" integer,
  "tov" integer,
  "stl" integer,
  "blk" integer,
  "pf" integer,
  "fp" integer,
  "dd2" integer,
  "td3" integer,
  "plus_minus" float,
  "offrtg" float,
  "defrtg" float,
  "netrtg" float,
  "ast_perc" float,
  "ast_div_to" float,
  "ast_ratio" float,
  "oreb_perc" float,
  "dreb_perc" float,
  "reb_perc" float,
  "to_ratio" float,
  "efg_perc" float,
  "ts_perc" float,
  "usg_perc" float,
  "pace" float,
  "pie" float,
  "poss" integer
);

COMMENT ON COLUMN "teams"."name" IS 'name - nom complet de l''equipe';

COMMENT ON COLUMN "players"."team_id" IS 'ID de l''equipe';

COMMENT ON COLUMN "players"."name" IS 'Name - nom du joueur';

COMMENT ON COLUMN "players"."age" IS 'age - age du joueur au moment de la saison reguliere';

COMMENT ON COLUMN "analyse_joueurs_une_equipe"."team_id" IS 'ID de l''equipe';

COMMENT ON COLUMN "analyse_joueurs_une_equipe"."player_id" IS 'ID du joueur';

COMMENT ON COLUMN "analyse_nbr_joueurs_et_points_par_equipe"."team_id" IS 'ID de l''equipe';

COMMENT ON COLUMN "analyse_top_15_joueurs_nombre_points"."player_id" IS 'ID du joueur';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."player_id" IS 'ID du joueur';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."team_id" IS 'ID de l''equipe';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."gp" IS 'Games Played — matchs joues';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."w" IS 'Wins — victoires';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."l" IS 'Losses — defaites';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."min" IS 'Minutes moyennes jouees par match';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."pts" IS 'Points marques';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."fgm" IS 'Field Goals Made — tirs marques';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."fga" IS 'Field Goals Attempted — tirs tentes';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."fg_perc" IS 'Field Goal Percentage — pourcentage au tir';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."15_00" IS 'Minutes jouees apres 15:00 de jeu';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."3pa" IS '3-Point Field Goals Attempted — tirs a 3 points tentes';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."3p_perc" IS '3-Point Field Goal Percentage — pourcentage a 3 points';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."ftm" IS 'Free Throws Made — lancers francs marques';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."fta" IS 'Free Throws Attempted — lancers francs tentes';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."ft_perc" IS 'Free Throw Percentage — pourcentage aux lancers francs';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."oreb" IS 'Offensive Rebounds — rebonds offensifs';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."dreb" IS 'Defensive Rebounds — rebonds defensifs';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."reb" IS 'Total Rebounds — rebonds totaux';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."ast" IS 'Assists — passes decisives';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."tov" IS 'Turnovers — ballons perdus';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."stl" IS 'Steals — interceptions';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."blk" IS 'Blocks — contres';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."pf" IS 'Personal Fouls — fautes personnelles';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."fp" IS 'Fantasy Points — points fantasy';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."dd2" IS 'Double-Doubles — matchs avec au moins 10 dans 2 categories statistiques';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."td3" IS 'Triple-Doubles — matchs avec au moins 10 dans 3 categories statistiques';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."plus_minus" IS 'Plus/Minus — differentiel moyen de points de l’equipe quand le joueur est sur le terrain';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."offrtg" IS 'Offensive Rating — moyenne des points marques par l’equipe pour 100 possessions quand le joueur est sur le terrain';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."defrtg" IS 'Defensive Rating — moyenne des points encaisses par l’equipe pour 100 possessions quand le joueur est sur le terrain';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."netrtg" IS 'Net Rating — difference entre OFFRTG et DEFRTG';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."ast_perc" IS 'Assist Percentage — pourcentage des paniers des coequipiers assistes par le joueur quand il est sur le terrain';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."ast_div_to" IS 'Assist-to-Turnover Ratio — ratio passes decisives / ballons perdus';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."ast_ratio" IS 'Assist Ratio — moyenne de passes decisives pour 100 possessions';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."oreb_perc" IS 'Offensive Rebound Percentage — pourcentage des rebonds offensifs disponibles pris par le joueur';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."dreb_perc" IS 'Defensive Rebound Percentage — pourcentage des rebonds defensifs disponibles pris par le joueur';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."reb_perc" IS 'Rebound Percentage — pourcentage total des rebonds disponibles pris par le joueur';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."to_ratio" IS 'Turnover Ratio — moyenne des ballons perdus pour 100 possessions';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."efg_perc" IS 'Effective Field Goal Percentage — pourcentage au tir ajuste pour la valeur supplementaire des tirs à 3 points';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."ts_perc" IS 'True Shooting Percentage — efficacite globale au tir en tenant compte des 2 pts, 3 pts et lancers francs';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."usg_perc" IS 'Usage Percentage — pourcentage des possessions de l’equipe utilisees par le joueur';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."pace" IS 'Pace — moyenne estimee de possessions par 48 minutes';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."pie" IS 'Player Impact Estimate — estimation synthetique de l’impact statistique global du joueur';

COMMENT ON COLUMN "stats_joueurs_saison_reguliere"."poss" IS 'Possessions — nombre de possessions';

ALTER TABLE "players" ADD FOREIGN KEY ("team_id") REFERENCES "teams" ("id") DEFERRABLE INITIALLY IMMEDIATE;

ALTER TABLE "analyse_joueurs_une_equipe" ADD FOREIGN KEY ("team_id") REFERENCES "teams" ("id") DEFERRABLE INITIALLY IMMEDIATE;

ALTER TABLE "analyse_joueurs_une_equipe" ADD FOREIGN KEY ("player_id") REFERENCES "players" ("id") DEFERRABLE INITIALLY IMMEDIATE;

ALTER TABLE "analyse_nbr_joueurs_et_points_par_equipe" ADD FOREIGN KEY ("team_id") REFERENCES "teams" ("id") DEFERRABLE INITIALLY IMMEDIATE;

ALTER TABLE "analyse_top_15_joueurs_nombre_points" ADD FOREIGN KEY ("player_id") REFERENCES "players" ("id") DEFERRABLE INITIALLY IMMEDIATE;

ALTER TABLE "stats_joueurs_saison_reguliere" ADD FOREIGN KEY ("player_id") REFERENCES "players" ("id") DEFERRABLE INITIALLY IMMEDIATE;

ALTER TABLE "stats_joueurs_saison_reguliere" ADD FOREIGN KEY ("team_id") REFERENCES "teams" ("id") DEFERRABLE INITIALLY IMMEDIATE;



