Ce projet a pour objectif la création d'une base de données regroupant des informations sur les transports en commun tels que les tramways, les bus et les funiculaires, en s'appuyant sur le standard.
Voici un aperçu textuel des relations entre les différentes tables utilisées.
agency (PK: agency_id)
└── routes (PK: route_id)
routes (PK: route_id)
└── trips (PK: trip_id, FK: route_id, FK: service_id)
trips (PK: trip_id)
├── calendar (PK: service_id)
├── calendar_dates (PK: service_id + date)
└── shapes (PK: shape_id + shape_pt_sequence)
stops (PK: stop_id)
└── peut contenir un parent_station (FK sur stop_id)
(stop_times est exclue ici à cause d’un problème d’import)
Ce modèle m’a permis de mieux comprendre la structure d’une base de données relationnelle complexe, en pratiquant la modélisation de données, l’utilisation de clés primaires/étrangères, et le respect d’un standard réel.
Création de la table routes avec Datagrip
Insertion des donnée pour la table route
Voir les services actifs le lundi
Résultat de la requête affichant les services actifs
Vue combinant les tables routes, trips et calendar
Résultat de la vue SQL
Afficher tous les voyages (trip_id) d’un route_id
Résultat de la fonction