106-rapport/README.md

2.3 KiB

Rapport de projet module 106

Introduction

Base de données

Conception de la base de données

Dans un premier temps, nous avons réalisé la conception de la base de données sur Looping, en nous basant sur le contexte défini dans le cahier des charges. Lors de la phase de validation, le professeur a validé notre schéma initial, puis nous a transmis une nouvelle structure de base de données pleinement compatible avec les données à intégrer.

Schema MCD et MLD

MCD MCD
MLD MLD

Création de la base de données

La base de données a été crée à partir du fichier looping que le professeur nous a donné. J'ai simplement copié le script LDD généré par looping et je l'ai collé dans le terminal connecté à la base de données.

docker cp C:\Users\pn26qvj\Downloads\exports_tsv_final* /var/lib/mysql-files

LOAD DATA INFILE '/var/lib/mysql-files/t_passager.tsv' INTO TABLE t_passager FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

LOAD DATA INFILE '/var/lib/mysql-files/t_aeroport.tsv' INTO TABLE t_aeroport FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 LINES (aeroport_id, @code_iata, code_icao, nom)SET code_iata = NULLIF(@code_iata, 'null');

LOAD DATA INFILE '/var/lib/mysql-files/t_compagnie.tsv' INTO TABLE t_compagnie FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 LINES;

LOAD DATA INFILE '/var/lib/mysql-files/t_type_avion.tsv' INTO TABLE t_type_avion FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 LINES;

LOAD DATA INFILE '/var/lib/mysql-files/t_avion.tsv' INTO TABLE t_avion FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 LINES;

LOAD DATA INFILE '/var/lib/mysql-files/t_programme_vol.tsv' INTO TABLE t_programme_vol FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 LINES;

LOAD DATA INFILE '/var/lib/mysql-files/t_vol.tsv' INTO TABLE t_vol FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

LOAD DATA INFILE '/var/lib/mysql-files/t_reservation.tsv' INTO TABLE t_reservation FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 LINES;

Requetes

SELECT * FROM t_compagnie JOIN t_avion ON t_avion.compagnie_fk = t_compagnie.compagnie_id WHERE t_compagnie.compagnie_id = 60 ORDER BY t_avion.capacite DESC LIMIT 2;