LaDissertation.com - Dissertations, fiches de lectures, exemples du BAC
Recherche

Structuration données NBA

Compte rendu : Structuration données NBA. Recherche parmi 298 000+ dissertations

Par   •  20 Décembre 2019  •  Compte rendu  •  1 085 Mots (5 Pages)  •  526 Vues

Page 1 sur 5

[pic 1][pic 2][pic 3]

RAPPORT DE PROJET

UE : Structuration de données

Professeur référent :

Contexte du projet :

Le projet proposé consiste à alimenter une base de données PostgreSQL avec des données d’une API en ligne. Le choix de l’API et de la méthode employée sont libres. Les données doivent être propres et structurées.

Solution projet :

Création de la base de données :

Nous avons choisi de créer directement notre base de données PostgreSQL via le site Elephant. Il permet en effet de créer une base de données rapidement. Avec la version gratuite d’Elephant, nous avons ainsi créé une base de données de 20 Méga.

Création du MCD :

Pour pouvoir alimenter la base et produire des statistiques, il a fallu créer un MCD. Pour cela, nous avons utilisé le logiciel MERISE qui est en OpenSource.

[pic 4]

Image 1: MCD de notre base de données

Nous avons donc 5 tables :

  • NBA TEAM : table contenant les informations sur les équipes de NBA
  • NBA_PLAYER : table contenant les informations sur les joueurs de NBA
  • PLAYER_POSITION : table des différentes positions
  • STATISTICAL_LINE : table de statistiques
  • NBA_GAME : table contenant les informations sur les matchs

Connexion à notre base PostgreSQL à partir de R :

Il existe un package développé sous R qui permet de se connecter directement à une base de données PostgreSQL. C'est le package "RPostgreSQL".

Ci-dessous le code pour se connecter à la base :  

library(RPostgreSQL)

drv <- dbDriver("PostgreSQL")

con <- dbConnect(drv,

                 host = "dumbo.db.elephantsql.com",

                 dbname = "whjsfstu",

                 user="whjsfstu",

                 password="5OUW5WRN23L-QHXOUwGbUQz0I8ULbuB0")

                   

Génération des tables :

Nous créeons l'ensemble des tables à l'aide d'une requête SQL. C'est le package RPostgreSQL qui nous permet directement de compiler du SQL dans la console R, à l'aide de la fonction sql_command.

sql_command<- "

CREATE TABLE public.PLAYER_POSITION(

IdPosition    SERIAL NOT NULL ,

PositionName   VARCHAR (10) NOT NULL  ,

CONSTRAINT PLAYER_POSITION_PK PRIMARY KEY (IdPostition)

)WITHOUT OIDS;

CREATE TABLE public.NBA_TEAM(

IdTeam           SERIAL NOT NULL ,

NameTeam         VARCHAR (50) NOT NULL ,

SlugTeam         VARCHAR (3) NOT NULL ,

NameConference   VARCHAR (5) NOT NULL ,

UrlLogoTeam      VARCHAR (300)   ,

CONSTRAINT NBA_TEAM_PK PRIMARY KEY (IdTeam)

)WITHOUT OIDS;

CREATE TABLE public.NBA_PLAYER(

IdPlayer          SERIAL NOT NULL ,

NamePlayerFirst   VARCHAR (60) NOT NULL ,

NamePlayerLast    VARCHAR (60) NOT NULL ,

AgePlayer         INT  NOT NULL ,

IsRookie          BOOL  NOT NULL ,

UrlPlayerHead     VARCHAR (300)  ,

IdPosition       INT  NOT NULL ,

IdTeam            INT  NOT NULL  ,

CONSTRAINT NBA_PLAYER_PK PRIMARY KEY (IdPlayer)

,CONSTRAINT NBA_PLAYER_PLAYER_POSITION_FK FOREIGN KEY (IdPosition) REFERENCES public.PLAYER_POSITION(IdPosition)

,CONSTRAINT NBA_PLAYER_NBA_TEAM0_FK FOREIGN KEY (IdTeam) REFERENCES public.NBA_TEAM(IdTeam)

)WITHOUT OIDS;

 

CREATE TABLE public.NBA_GAME(

IdGame     INT  NOT NULL ,

RoleTeam   VARCHAR (1) NOT NULL ,

DateGame   DATE  NOT NULL ,

IsWin      BOOL  NOT NULL ,

IdTeam     INT  NOT NULL  ,

CONSTRAINT NBA_GAME_PK PRIMARY KEY (IdGame,RoleTeam)

,CONSTRAINT NBA_GAME_NBA_TEAM_FK FOREIGN KEY (IdTeam) REFERENCES public.NBA_TEAM(IdTeam)

)WITHOUT OIDS;

 CREATE TABLE public.STATISTICAL_LINE(

IdStatLine     SERIAL NOT NULL ,

MinutePlayed   VARCHAR (3) NOT NULL ,

PointScored    INT  NOT NULL ,

TotalRebound   INT  NOT NULL ,

DecisivePass   INT  NOT NULL ,

Steal          INT  NOT NULL ,

Block          INT  NOT NULL ,

Turnover       INT  NOT NULL ,

...

Télécharger au format  txt (6.8 Kb)   pdf (354.5 Kb)   docx (376.8 Kb)  
Voir 4 pages de plus »
Uniquement disponible sur LaDissertation.com