Introduction aux SGBD relationnels
Les concepts de base que l'on retrouve dans le modèle relationnel sont :
La notion de tables (les données sont structurées en champs) ;
La notion de relations (les tables sont liées entre elles) ;
La notion de requêtes (afin de chercher dans les tables, mais aussi de manipuler les données dans les tables, etc.).
Nous verrons au fur et à mesure du déroulement de la session les caractéristiques de ces différents éléments ainsi que diverses fonctionnalités reliées.
Schématisation des principaux processus associés à une BD relationnelle
Que ce soit en tant qu'utilisateur ou utilisatrice, d'administrateur ou administratrice de bases de données ou de programmeur ou programmeuse d'applications, il est important de bien visualiser les différents processus associés à une BD relationnelle. On retrouve trois "moments" autour d'une base de données :
La création de la base de données, qui relève de l'administrateur ou de l'administratrice de la base de données ;
L'entrée de données dans la base de données, qui peut relever de l'administrateur ou de l'administratrice de la base de données, mais qui peut aussi être déléguée à un "super utilisateur" ou une "super utilisatrice" par le truchement d'interfaces de saisie développées spécifiquement à cette fin par le programmeur ou la programmeuse d'applications ;
L'extraction de données, qui peut se faire par une utilisatrice ou un utilisateur final lorsqu'elle ou il effectue une recherche. Le programmeur (ou programmeuse) d'applications ou l'administrateur (ou administratrice) de bases de la base de données aura la tâche de concevoir les différents formats de sortie à cette fin.
Exemples d'implantation d'une BD relationnelle
Différentes solutions peuvent être mises en place lors de l'implantation d'une BD relationnelle. Deux scénarios classiques seront présentés pour le contexte suivant :
Base de données relationnelle servant à gérer une collection de pièces musicales ;
Quatre éléments représentés : (1) des pièces musicales, (2) des artistes ayant enregistré des pièces, (3) des albums contenant des pièces, (4) le lien entre les pièces et les artistes.
Scénario 1 : Base de données relationnelle sur un ordinateur personnel
Contexte : volume de données restreint, un seul utilisateur ou une seule utilisatrice à la fois
Ex. SGBD : Microsoft Access (Windows) / LibreOffice Base (Windows, Mac, Linux) / FileMaker Pro (Windows, Mac)
Entrée : formulaires préparés dans le SGBD pour la saisie
Sortie : (1) états/rapports pour imprimer le contenu de la base de données, (2) requêtes SQL prédéfinies pour des besoins « type »
Scénario 2 : Base de données relationnelle sur le Web
Contexte : accès distribué à de multiples utilisateurs et utilisatrices sur des plateformes variées
Ex. SGBD : MySQL sur un serveur Web / Microsoft Access (Windows) sur un serveur Web
Entrée : formulaires Web pour la saisie (par ex. en PHP ou ASP)
Sortie : (1) interface de recherche Web (par ex. en PHP ou ASP), (2) pages Web dynamiques (par ex. en PHP ou ASP) présentant les résultats pour des besoins « type »
Formule retenue pour le cours
Dans le cadre du cours, c'est le scénario 2 qui est retenu, soit une base de données relationnelle sur le Web. Le SGBD utilisé sera MySQL, avec phpMyAdmin comme interface de gestion. Le langage de programmation Web utilisé sera PHP et nous travaillerons sur le serveur de l'EBSI.
Des espaces individuels et d'équipe seront créés
Chaque étudiant.e aura une base de données personnelle sur le serveur MySQL pour le travail individuel
Chaque équipe aura une base de données partagée sur le serveur MySQL pour le travail d'équipe
Chaque équipe aura un espace partagé sur le serveur GIN-EBSI pour le travail d'équipe pour héberger les pages Web dynamiques développées en PHP