96 lines
2.8 KiB
Markdown
96 lines
2.8 KiB
Markdown
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=<host> user=<user> password=<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
|
|
```
|