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, qu'administrateur ou administratrice de bases de données ou que 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.

Il y a aussi bien entendu des tâches de maintenance globales du SGBD relationnel qui sont habituellement prises en charge par l'administrateur ou administratrice de bases de données qui peuvent toucher les bases de données comme telles advenant des changements majeurs au SGBD relationnel lors de sa mise à jour. Nous ne couvrirons pas ce type de tâches dans le cadre du cours.

Processus autour d'une base de données

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

Scénario d'implantation pour le cours

RemarqueRappel du SCI6005

Pour rappel, dans le cours SCI6005 Information numérique et informatique documentaire, c'est le scénario 1 qui avait été retenu, soit une base de données développée en local dans Libre Office Base. Les bases alors acquises en ce qui a trait à la structure des tables, les relations entre les tables ainsi que les requêtes SQL seront directement transférables au contexte du cours.

La création de formulaires de saisie ainsi que de rapports de sortie viendra quant à elle interpeller les connaissances acquises quant au développement HTML et CSS.