Afin de créer des relations 1..N entres les tables de jointures nous utilisons deux clés primaires. Ces clés sont donc indexé de par leurs statut de clé primaire, nous n'avons donc aucune difficultés pour créer les relations.
Afin de créer des relations 1..N auprès de tables qui ne sont pas de jointures il nous faut déclarer une colonne comme clé étrangère. Cette colonne pour être clé étrangère doit être indexé. C'est une des spécificité de Mysql qui permet à ce SGDBR d'être efficace sur les requêtes qu'il nous permet d'effectuer.
Bascule des données de l'ancienne base vers la nouvelle
C'est surement une des parties qui fut le plus difficile dans ce projet. En effet il était impératifs de transférer ces données avant de commencer à modifier le code de notre interface. En effet nous allions gagner du temps sur le code si les résultats affichés étaient les même qu'anciennement; en effet ceci nous garantissait que les requêtes étaient correctes.
La difficulté de cette bascule repose sur le fait que les données n'était pas du tout agencé de la même façon sur l'ancienne base et sur la nouvelle.
De plus il n'était pas possible d'effectuer cette bascule à la main puisque il y avait à peu près 200 lignes de données dans la table principale.
Afin de faire la bascule nous avons donc utilisé du scripting powershell en itérant sur un ensemble de csv correspondant aux données de chaque tables.
Nous n'allons pas détailler le processus exact de conversion des données pour chaque tables cependant nous allons le détailler pour la table des genres.
Voici l'agencement des données de genre dans la précédente base :