# Base Voitures

2 petites tables destinées à montrer l'intérêt et le danger d'une mauvaise modélisation

## Dump final disponible

  * <https://dali.bo/tp_voitures> 
    
Contenu :

```
 Schéma |     Nom      | Type  | Propriétaire | Persistenz | Taille  | Description 
--------+--------------+-------+--------------+------------+---------+-------------
 public | voitures     | table | postgres     | permanent  | 5728 kB | 
 public | voitures_ecv | table | postgres     | permanent  | 3312 kB | 
```

Exemple : 
```
# select * from voitures_ecv where entite = 'YZ-072-TM' ;

  entite   |     cle      | valeur 
-----------+--------------+--------
 YZ-072-TM | abs          | t
 YZ-072-TM | toit ouvrant | t
(2 lignes)


# select * from voitures where immatriculation = 'YZ-072-TM' ;
 immatriculation | modele | caracteristiques 
-----------------+--------+------------------
 YZ-072-TM       | clio   | toit ouvrant,abs
```


## État, historique et avenir

Petite table utilisée dans S8 (« Ce qu'il ne faut pas faire ») mais pourrait servir ailleurs. Autrefois incluse dans le fichier `tp.dmp` dont plusieurs versions faites par des personnes différentes traînent !

Attention : **Chaque regénération donne des données différentes !** 

TODO : corriger ce point.

Originellement issue de l'ancien dépôt <https://gitlab.dalibo.info/formation/formation/-/tree/master/optimisation_sql>
(scripts `genere_nf_1.sh` et `genere_nf_1.pl` recopiés dans le présent dépôt).

## Comment générer le dump

Travailler sur une instance de la plus ancienne version supportée (ici 9.5).
  
```bash
cd tp/voitures/scripts
export PGPORT=9501  # obligatoire
export PGDATABASE=voitures  # sans importance
scripts/genere_nf_1.sh
/usr/lib/postgresql/9.5/bin/pg_dump -Fc -Z9 -f voitures.dump
# si ok: diffusion publique vers https://dali.bo/tp_voitures
# scp voitures.dump public.dalibo.com:/var/www/static/formations/tp/voitures/
```


### Procédure

Réimport : `pg_restore`  dans n'importe quelle base, voir [install_base_voitures.md]
