Projet INSEE -- base de données avancée --------------------------------------- ## Installation Il est vivement conseiller de faire fonctionner ce projet dans un **environnement virtuel python** : 1. cloner le dépôt de code suivant: ``` git clone https://git.epha.se/ephase/projet_INSEE ``` 2. créer l'environnement virtuel: ``` cd projet_INSEE python -n venv .venv source .venv/bin/activate ``` 3. intaller les prérequis: ``` pip install -r requirements.txt ``` L'installation est maintenant opérationnelle. Il faut penser à activer l'environnement virtuel à chaque nouvelle ouverture d'un terminal. ## Les éléments du projet ## Consolider les fichiers bruts C'est le script `csvprocess.py` qui se charge de l'analyse des fichiers `csv` bruts et de la génération des fichiers `csv` consolidés. Ce script accepte plusieurs arguments qu'il est possible de visualiser avec l'aide en ligne intégrée: ```sh ./csvprocess -help ``` ## Créer la base de donnée C'est le script `createdatabase.py` qui se charge de la création de la base de données et de l'importation des fichiers `csv` consolidés créés par le précédent script. Ce script nécessite un fichier de configuration avec les paramètres de connection à la base PostgreSQL. Ce fiochier prend la forme suivante: ``` host= user= password= ``` Les valeurs sont à remplacer par les votres. La création des éléments se fait dans un nouveau schéma, il se nomme par défaut `insee` mais peut être changé via le paramètre `--schema-name`. Une aide en ligne est aussi disponible pour les détails des options disponibles. ```sh ./createdatabase.py --help ``` ## Question 1: mettre en place des requêtes Le script `get_state_statistics` permet d'affichier des informations sur une région en particulier. Il suffit de lui passer via l'option `-t` (ou `--state` en version longue) la région désirée. Il est aussi possible de lui demander une année en particulier pour l'affichage des informations demographiques viam l'option `--year` comme pour l'exemple ci-dessous: ``` ./get_states_statistics.py --state 'Nouvelle-Aquitaine' --year 1999 ``` ## Question 2: ajouter des vues C'est le script `create_view.py` qui se charge de la création des deux vues. Il est possible de tester les vues créer en les interrogeant avec l'option `-t` (version longue `--test`): ``` ./create_view.py -t ``` ## Question 3: création d'une procédure Le script `create_procedure.py` permet de créer les éléments nécessaire à l'exécution de la procédure stockée demandée: les colonnes dans les tables région et département et la procédure. Avec l'option `-c` (version longe `--call`) le script applique manuellement la procédure sur la base. ``` ./create_procedure.py --call ```