Analyse des facteurs influant sur la chance de survie sur le Titanic
Création d'une base de données et utilisation de celle-ci pour recueillir des informations
Langage utilisé : SQL
En binôme avec : Lucas Maillet
Travail commun
Dans le cadre d'un travail en binôme lors de ma première année de BUT informatique, nous avons, en trois jalons, créé et utilisé une base de données contenant des informations sur les passagers (survivants ou non) du Titanic afin de répondre à la problématique suivante : Quels sont les potentiels facteurs ayant influé sur la survie des passagers du Titanic ?
Au début de chaque jalon, la correction du jalon précédent était rendue publique.
Jalon 1 : Production de règles de gestion et création d'un SEA
Lors de cette partie, nous avons dû rédiger un certain nombre de règles de gestion par rapport à l'aide d'un texte donné au préalable.RG1 : Un port est identifié par son numéro d'identification, et est qualifié par son nom et le pays où il est basé ;
RG2 : Un passager est identifié par son numéro d'identification, et est qualifié par son nom, son sexe, son âge et s'il a survécu au naufrage ;
[...]
Figure 1 : Extrait des règles de gestion que nous avons produites

Figure 2 : SEA conçu grâce aux règles de gestion
Jalon 2 : Transposition d'un SLR en SQL et création de tests de conformité
Le SEA attendu et son SLR ont donc été rendus publics. Il nous a été demandé de transposer ce SLR en SQL en créant toutes les tables associées en respectant toutes les différentes contraintes du SLR et celles énoncées par les règles de gestion.
Après avoir créé ces différentes tables, nous avons dû concevoir des tests de conformité (donnés en bas de page) afin de vérifier que nos tables respectaient bien toutes ces contraintes.
Finalement, nous avons dû remplir nos différentes tables avec des données préalablement publiées par nos encadrants également.
Jalon 3 : Utilisation d'un jeu de données pour répondre à la problématique
Le plus intéressant arrive donc ici, nous avons donc regroupé l'ensemble des passagers entre 3 catégories :
- Enfants : avec un âge < à 12 ans ;
- Homme : avec un âge >= 12 ans et de sexe masculin ;
- Femme : avec un âge >= 12 ans et de sexe féminin.
CREATE TEMP TABLE PASSENGER_CAT AS SELECT *, 'enfant' as Categorie FROM PASSENGER WHERE Age < 12 UNION SELECT *, 'femme' as Categorie FROM PASSENGER WHERE Age >= 12 AND Sex = 'female' UNION SELECT *, 'homme' as Categorie FROM PASSENGER WHERE Age >= 12 AND Sex = 'male';
Figure 3 : Requête de création de notre table Passenger_Cat

Figure 4 : Exemple de graphique qui a nécessité cette table temporaire (représentant la répartition des catégories de passagers par côté du bateau)
Travail personnel
Lors de ce projet, j'ai élaboré les règles de gestion, le SEA ainsi que les tests de conformité.
J'ai également participé à la rédaction des comptes-rendus de la plupart des jalons.
Liens et fichiers en rapport avec ce projet
- Comptes-rendus :
- Fichiers contenant nos requêtes SQL :