Concevoir une base de données relationnelle

[Ce billets constitue l’adaptation du quatrième chapitre du livret réalisé durant  le Mooc ArchInfo de l’ENS de Lyon en mars 2016 : Savoir faire dialoguer et coopérer des métiers connexes. L’objectif dans ce chapitre était de concevoir une petite base de données relationnelle, dans le cadre d’un site web, qui permettrait à des enseignants de compiler les notes obtenues par leurs étudiants à différents travaux dans leurs cours.]

Savoir faire dialoguer et coopérer des métiers connexes est l’une des six compétences de l’architecte de l’information ci-dessous :

Six Competences Architecte - Comprendre et expérimenter les technologies numériques
Les six compétences de l’architecte de l’information – Référentiel 2016

Sommaire :

  1. Référentiel de compétences détaillé
  2. Activité illustrative
  3. Réalisation de l’activité

Base de données - Dialoguer Metiers Connexes

1-Référentiel de compétences détaillé :

« Savoir faire dialoguer et coopérer des métiers connexes »

L’architecte de l’information pilote une équipe d’experts aux cultures diverses : des informaticiens, des documentalistes, des designers, des ergonomes, des professionnels du marketing, des juristes, des communicants ou encore des formateurs. Il doit les faire dialoguer, coopérer et participer à un projet commun.
Le système d’information qu’ils doivent concevoir peut, lui-même, s’appliquer aux domaines les plus divers. Il faut aussi comprendre la logique et le vocabulaire de chacun d’entre eux.
Cet ensemble de personnes et leurs interactions forment une sorte de tour de Babel, tout le monde ne parle pas la même langue. Pire, les mêmes mots disent parfois des choses différentes. L’architecte de l’information aura la charge de faciliter le dialogue pour un avancement du projet collectif le plus harmonieux possible.

1-Développer une bonne culture des métiers de l’interaction et du design numérique

2-Maîtriser les vocabulaires et les logiques des informaticiens, des documentalistes, des concepteurs (designers, ergonomes, monteurs), du marketing, des juristes, des communicants et des formateurs

3-Savoir intégrer les cultures métiers et les contextes des institutions

4-Avoir du leadership :

  • Animer et motiver une équipe de professionnels de cultures différentes
  • Savoir convaincre, expliquer et faire accepter des décisions
  • Gérer des conflits

5-Participer à des séances de conception créative

6-Agir de manière éthique, citoyenne et responsable


2-Activité illustrative

L’objectif de cette activité est de concevoir une petite base de données pour consigner les notes obtenues dans le cadre de travaux étudiants. Votre travail sera à insérer dans le chapitre : « Savoir faire dialoguer et coopérer des métiers connexes » de votre livret.

Vous avez pour mandat de développer, pour le Collège XYZ, un site web qui permettra aux enseignants de compiler les notes obtenues par leurs étudiants aux différents travaux dans leurs cours. Le Collège XYZ est relativement modeste, avec quelque 200 enseignants offrant annuellement autour de 700 cours pour une clientèle étudiante variant entre 1 500 et 2 000 étudiants par année. Chacun des cours est sous la responsabilité d’un seul enseignant et tous les travaux se font individuellement. Un cours compte environ de 3 à 5 travaux et ne se donne qu’une fois par année.
Le site Web intégrera une base de données.

  1. Commencez par expliquer pourquoi ce contexte est propice à l’intégration d’une base de données.
  2. En vous basant sur le contexte décrit, évaluez s’il s’agit d’une base de données relationnelle ou plutôt une base de données NoSQL. Résumez, en un paragraphe, ce qui vous fait pencher vers l’une plus que l’autre.
  3. En vous aidant le cas échéant des références données ci-dessous, réfléchissez à la structure des données sous-jacente en précisant succinctement :
  • les principales collections qu’on y retrouve,
  • les tables nécessaires pour représenter ces collections,
  • des exemples d’attributs que l’on pourrait retrouver pour ces tables et, en particulier, leur clé primaire, et les relations possibles entre ces tables en précisant leur cardinalité et l’impact qu’elles auront sur la structure des tables de données.

Votre rendu pour l’ensemble de cette activité ne devrait pas dépasser une page.

Ressources complémentaires pour vous aider

A priori, pour réaliser le travail demandé par le livret, le module S4.3.1 de la séquence suffit, en s’appuyant en outre sur l’exemple du module S4.3.2 et sur les notions générales des modules S4.1 et S4.2. Le mieux est de relire tranquillement les supports dans la version PDF pour bien comprendre les notions.
Cependant, au cas où vous auriez besoin de ressources supplémentaires, nous vous proposons des parties spécifiques des sites suivants :

Notons qu’il est difficile de trouver de bons tutoriels sur les bases de données qui ne se centrent pas sur un système donné (Access, MySQL, etc.).


3-Réalisation de l’activité

Un contexte propice à l’intégration d’une base de données

On peut calquer les éléments de cette étude de cas sur chaque caractéristique de la définition d’une base de données :

  • Un ensemble de données persistantes :
    La base de données va servir au moins une année.
  • Des données organisées par collections d’items en fonction de similitudes de structure ou selon d’autres critères de regroupement :
    On voit des données qu’on peut réunir dans des ensembles ayant trait aux enseignants, aux travaux, aux étudiants…
  • Des collections qui peuvent être reliées :
    Les étudiants réalisent des travaux, les travaux sont administrés par les enseignants, etc…
  • Le tout représentant une certaine réalité pour pouvoir agir dessus :
    Attribuer une note à un travail, retrouver quels élèves ont réalisé tel travail, quel enseignant a attribué telle note, etc…
Une base de données relationnelle est suffisante pour répondre aux besoins de ce collège

Les effectifs sont modestes si on compare, par exemple, aux données manipulée par le site voyages-sncf.com. Si 11 millions de visiteurs uniques par mois (avec le nombre de trains, de lignes, de gares, d’horaires plus la gestion des correspondances) sont gérables avec une base de données relationnelle, alors les quelques centaines de cours et d’enseignants et les quelques milliers d’élèves de ce collège ne devraient pas poser de problème. La structure des collections est relativement simple et ne devrait pas changer substantiellement. Les temps de réponse ne sont pas déterminants.

D’autre part, quand bien même les étudiants viendraient des quatre coins de la planète, comme c’est le cas à Agropolis à Montpellier où j’ai travaillé, ils sont tous réunis dans l’enceinte de l’établissement, tout comme les enseignants. Par conséquent, un unique serveur de base de données peut suffire.

Pour toutes ces raisons, il n’est pas nécessaire de recourir à un modèle non-relationnel (NoSQL), qui serait largement surdimensionné et plus fastidieux à mettre en place.

Dans la mesure où il n’y a pas de nombreux serveurs coopérant à travers le monde, les contraintes ACID propres aux transactions des bases de données relationnelles (par opposition aux contraintes BASE des modèles non relationnels), seront respectées :

  • Atomicité
  • Cohérence
  • Indépendance
  • Persistance

Les propriétés ACID des transactions visent à garantir la cohérence la plus totale possible des données qu’une base contient et le maintien de cette cohérence au fil des opérations auxquelles cette base est soumise.

Structure de données de cette base de données : schéma relationnel

On entrevoit cinq collections. Pour une année scolaire on aura :

  • Enseignants qui comprendra 200 lignes
  • Cours qui comprendra 700 lignes
  • Travaux qui comprendra 2100 à 3500 lignes (700 cours multipliés par 3 à 5 travaux)
  • Notes qui comprendra entre 3,1 et 7 millions de lignes (le nombre d’élèves par le nombre de travaux)
  • Etudiants qui comprendra 1500 à 2000 lignes

Autant dire qu’on ne s’en sortirait pas avec un simple tableur, surtout si plusieurs enseignants veulent utiliser le système en même temps. Encore un avantage des bases de données : elles sont multi-utilisateurs.

En fait, on peut se passer d’une table Travaux en en intégrant directement les notes sous forme d’attributs dans la table Notes. C’est une solution que je trouve plus élégante. Si l’année suivante il y a plus de 5 travaux par cours, il suffira d’ajouter autant d’attributs Note travail que nécessaire.

Cardinalité :

  • 200 enseignants dispensent 700 cours par an, soit une moyenne de 3 à 4 cours par enseignant. Un enseignant donne 3 à 4 cours en moyenne, mais chaque cours ne dépend que d’un enseignant : 1-n
  • A un cours ne peut correspondre qu’une série de 3 à 5 notes : 1-1
  • A une série de notes d’un cours ne peut correspondre qu’un étudiant : 1-1
  • Si on avait dû relier directement les tables Cours et Etudiants , on se serait retrouvés avec une cardinalité n-n, ce qui aurait nécessité l’ajout d’une table intermédiaire. Ici c’est la table Notes qui joue ce rôle.

Colonnes / attributs :

  • Aucun des attributs n’est unique dans aucune table : un nom, un prénom voire une adresse peuvent être partagés par plusieurs étudiants et plusieurs enseignants, deux étudiants peuvent avoir une même note, la même note peut être attribuée pour plusieurs travaux, etc. J’ai donc décidé d’attribuer un identifiant unique (Id) à chaque entité, sous forme d’une numérotation incrémentielle qui sera arbitrairement fixée par l’informatique.
  • Une seule exception : la clé primaire de Notes est formée par le couple de clés étrangères IdEtudiants et IdCours
  • Les attributs Adresse, Téléphone et Courriel pourraient servir à proposer un annuaire, sous réserve d’ajouter des tables supplémentaires.
  • Le login et le mot de passe de l’enseignant servent à sécuriser le système : il ne faudrait pas que n’importe qui puisse consulter les notes.
Base de données - Seq4-BddCollegeXYZCoursB
Figure 12 : Schéma relationnel pour le collège XYZ. Diagramme réalisé avec www.draw.io
* Clé primaire
# Clé étrangère
(cliquez pour agrandir)

Il y aura différents profils avec des droits bien définis pour gérer la base de données :

  • Un administrateur aura tous les droits pour ajouter/modifier/supprimer des tables, des enregistrements, des attributs, des relations
  • Un profil « secrétariat » pourra ajouter/modifier/supprimer des enregistrements dans les tables Etudiants et Enseignants
  • Un profil « enseignant » pourra ajouter/modifier/supprimer des enregistrements dans les tables Cours et Notes

Ces profils seront gérés de différentes manières selon le SGBD* choisi et éventuellement le logiciel de gestion de contenu (CMS) qui va englober le tout :

Les requêtes SQL permettant, par exemple, de récupérer des informations utilisées pour générer une page, n’y seront toutefois pas nécessairement visibles : les pages dynamiques qui les contiennent (par exemple en PHP) sont en effet interprétées par le serveur. Ce qui est affiché dans le navigateur, en ce cas, est du HTML produit par du PHP qui lui-même envoie des requêtes SQL et utilise les résultats retournés par une base de données. L’indice ici est l’extension .php qui peut nous mettre sur la piste de la présence d’une base de données.

Extrait du bilan du Mooc Archinfo 2016, Séquence 4, débat 4.2

* SGBD : Système de gestion de base de données, ici relationnel (SGBD-R). C’est le logiciel dans lequel s’inscrit la Base de données et qui va traiter les requêtes. MS Access, MS Sharepoint, PostgreSQL et MySQL sont des SGBD.

[Edit d’après le 1er mars]

Le corrigé propose une autre solution :

  • Pas de table Notes
  • Une table Travaux intégrant sa note associée et reliée à la fois à Etudiants (relation « remettre », 1-n) et Cours (relation « Évalué par », 1-n)
  • La relation directe entre Cours et Etudiants, n-n, nécessite l’ajout d’une table Inscription
  • Le numéro d’étudiant et le sigle du cours sont des clés primaires
  • Chaque relation a un nom
  • L’intitulé des champs contenant des clés étrangères sont explicites pour la table où ils se trouvent (ex : Auteur pour le numéro d’étudiant comme clé étrangère dans Travaux, Responsable pour l’ IdEnseignant dans Cours…)
Base de données - Seq4-BddCollegeXYZCorrige
Figure 12 a : Schéma relationnel que je déduis du corrigé. Je ne comprends pas l’intérêt de la table Inscription, qui a le même couple de données étrangères que Travaux en guise de clé primaire. (cliquez pour agrandir)

[Fin Edit]


Les autres chapitres du livret de l’architecte :

  1. Ce qu’organise l’architecte de l’information
  2. Une définition de l’architecture de l’information
  3. Comprendre et expérimenter les technologies numériques
  4. Savoir structurer l’information, les données et les ressources documentaires
  5. Représenter et organiser la connaissance
  6. Concevoir une base de données relationnelle
  7. Maîtriser la gestion dynamique des projets (à venir)
  8. Maîtriser les méthodes expérience utilisateur (UX) (à venir)

Burkini, l’être et le néant

J’ai mainte fois dénoncé dans ces colonnes les rumeurs et autres fausses informations qui pullulent, tant en numérique que sur le papier. Cela fait maintenant près d’un mois que les médias et les politiques glosent sur… du rien, du vide, du néant : le burkini où il n’est pas.

Burkini Kuala Lupmur
Un maillot de bains burkini dans un centre commercial de Kuala Lumpur MOHD RASFAN / AFP

Tout a commencé à Marseille (Pennes-Mirabeau en fait), avec un projet d’une journée détente dans un centre aquatique privatisé pour l’occasion, pour le 10 septembre prochain, par l’association Smile13 (Facebook fermé, site web à l’abandon) :

J’invite les sœurs qui participeront à avoir un bon comportement ; cad avoir une tenue adéquate (pas de maillot 2 pièce les parties du haut du buste au genoux doivent être cachés), même si nous sommes qu’entre filles nous allons pas aller à un défilé de mode lol

Blogueurs et politiques y sont allés de leur couplet, pour, contre, indifférent. Pour ma part, il s’agissait de la troisième option : privatiser une salle des fête, un musée, une boite de nuit… ou un centre aquatique pour y faire des choses qui ne concernent que les seuls participants, cela m’indifférait au plus haut point. Même pas de quoi partager un lien dans Facebook. La journée a finalement été annulée. Beaucoup de battage pour rien et résultat :

Pas de burkini.

Les débats ont ensuite rebondi avec une rixe en Corse (à Sisco), ayant abouti à un arrêté municipal interdisant le burkini. Le lendemain, on apprenait, oh surprise, qu’aucun membre de la famille musulmane concernée n’arborait de burkini. Les femmes se baignaient tout habillées avec leurs vêtements occidentaux, seule l’une d’elle portait un foulard en plus. Donc encore une fois :

Pas de burkini.

Le maire du Touquet, trouvant sans doute qu’on ne parlait pas assez de sa ville, a donc décidé de publier à son tour un arrêté d’interdiction du burkini. Pourtant, les habitués du coin, interviewés par les chaînes d’information continue le certifient : ils n’ont jamais vu le moindre burkini au Touquet. Le maire a d’ailleurs avoué qu’il n’en avait jamais vu non plus. Donc au Touquet non plus,

Pas de burkini.

On apprenait ensuite que les maires de Cannes (28 juillet) et Villeneuve Loubet (5 août), trouvant sans doute qu’on parlait trop du Touquet et pas assez de leur ville, avaient pris des arrêtés similaires. Mais les raisons invoquées sont plutôt sidérantes, jugez plutôt :

Thierry Migoule, directeur général des services de la ville de Cannes avait justifié la décision avec une bel aplomb confus : « Il ne s’agit pas d’interdire le port de signes religieux à la plage, mais les tenues ostentatoires qui font référence à une allégeance à des mouvements terroristes qui nous font la guerre ». Lionnel Luca, maire Les Républicains (droite) de Villeneuve-Loubet s’est justifié au nom de l’hygiène dans un premier temps : « On m’a signalé sur l’une de nos plages un couple dont l’épouse se baignait habillée, explique Lionnel Luca, et j’ai considéré que cela n’avait pas lieu d’être pour des raisons d’hygiène et que cela était malvenu compte tenu du contexte général. » Puis il a affirmé vouloir « ‘éviter tout trouble à l’ordre public dans une région marquée par les attentats ».

Les attentats, évidemment. On ne les avait pas vus venir! Le tribunal administratif n’y a rien vu à redire. Rappelons au maire de Villeneuve-Loubet que « burkini » ne désigne pas le fait de se baigner tout habillé. Par conséquent à Villeneuve-Loubet :

Pas de burkini.

On a appris, depuis, que trois femmes ont du s’acquitter de l’amende de 38€ à Cannes, le week-end du 15 août.

3 Burkinis!

Un battage plus important que celui provoqué par Pokémon Go pour trois malheureux burkinis! On croit rêver! Cela ne veut pas dire qu’il n’y en a pas ailleurs, dont personne ne parle, mais les médias et politiques n’ont essentiellement relayé que des endroits où il n’y en avait PAS!

A quand les arrêtés interdisant le bleu de travail sur le sable (sans doute aussi rares que les burkinis), le bikini en centre ville (bien plus fréquent) ou les déguisements de Pikachu? Ah, non, Pikachu, c’est déjà fait à Bressoles 😛

Bikini 70 ans
Plus que quelques jours pour aller visiter l’exposition des 70 ans du bikini! (cliquez sur l’image pour en savoir plus)

Puisque j’en suis à parler du burkini, contextualisons un peu. Ce maillot de bain intégral ne pose aucun problème au Royaume-Uni, en Allemagne, en Suède, en Belgique, en Espagne, en Australie, aux Etats-Unis. En revanche, il a été interdit au Maroc, et le débat fait rage en Suisse et au Québec, avec autant d’intensité qu’en France.

La première chose que les médias devraient faire, c’est de définir le terme. Le burkini est donc un maillot de bain couvrant autant qu’un maillot une pièce féminin, plus ce qui est couvert par les bermudas de bain masculins, façon bains 1900 en plus moulant :

Bains 1900
Extrait de « Deux siècles de vacances à la mer » (le Café du web), un article qui retrace la vogue des bains de mer avant le bikini.

Le burkini comporte en outre une capuche pour couvrir la tête et des manches pour les bras, à la façon des hommes-grenouilles, sorte de combinaison de surfer agrémentée d’un bonnet de nageuse de 10 000 mètres qu’on voit actuellement aux JO de Rio :

Burkini Egypte
Ceci n’est pas une nageuse de triathlon, mais bien une femme portant un burkini, en Égypte
Giorgio Montersino, Wikicommons

Inventé en 2007 en Australie (Burkini est une marque déposée), mais ne couvrant pas le visage, le burkini se rapproche en fait plus du jilbab saoudien que de la burqa afghane. Il faudrait donc plutôt parler de « jilbab de bain« . Cet habit s’inscrit  aujourd’hui dans le mouvement de la mode islamique, ou mode pudique :

Concrètement, cette mode « pudique » est un mouvement dans lequel les femmes, au nom de leurs croyances, s’habillent de façon à couvrir leur corps tout en suivant les évolutions de la mode : choix des matières, des coupes, des couleurs… Les femmes qui adoptent et défendent cette mode veulent « honorer leurs traditions tout en exprimant leur style »

« les ventes de produits de luxe ont atteint 8,7 milliards de dollars au Moyen-Orient l’année dernière et les musulmans ont dépensé 266 milliards de dollars dans ces produits à travers le monde en 2013 ». Des chiffres qui aident à comprendre « ce qui motive réellement ces marques ».

« Honorer leurs traditions ». Voici quelques exemples de tenues féminines traditionnelles dans différents pays musulmans ; la burqa n’en fait pas partie :

Costumes Traditionnels
« Ceci n’est pas notre tenue traditionnelle »(à gauche) – « Ceci l’est » (à droite)

Les femmes qui adoptent la burqa, le burkini ou tout autre type de voile doivent savoir une chose : la façon de se vêtir signifie toujours quelque chose, même si on n’en est pas toujours conscient. D’origine afghane, la burqua est promue par les salafistes. Mais le burkini, pas plus que la burqa et le voile islamique, ne sont des obligations religieuses. Ce sont plutôt des manifestations de la propagande wahhabite dans le monde, qui les a récupérés. Le wahhabisme sous ses différentes facettes (Frères musulmans, prédication salafiste, djihadisme sanguinaire, talibans…) est un fléau en train de s’abattre sur la civilisation musulmane, comme les invasions barbares se sont abattues sur l’Empire Romain :

À l’origine, la burqa n’avait pas le sens qu’on lui donne aujourd’hui. Par exemple, le tchadri, le vêtement traditionnel des femmes en Afghanistan, est au sens littéraire une burqa. Le tchadri, mot persan et synonyme de burqa, ne couvre pas le bas du pantalon des femmes et il est adapté pour que les femmes puissent sortir leurs bras pour faire le marché, par exemple. Les mains sont visibles. Certains types de tchadri sont même ouverts par devant, légèrement en dessous de la taille, laissant paraître robe et pantalon.
La burqa intégrale, à couverture totale (nouvelle version), selon le spécialiste de l’Islam et politologue français Olivier Roy, est une invention récente du mouvement intégriste salafiste dans les pays du Golfe et au Pakistan.

Wikipedia

Il fut une époque, en Egypte, où la simple idée de voiler les femmes avec un hijab faisait juste rire (Vidéo connue de Nasser, version longue, à partir de 3’25).

Les femmes de l’Iran d’avant Khomeini avaient abandonné le tchador (le cousin iranien du jilbab, quoiqu’antérieur) depuis 1936, et pas que dans les magazines.

Kaboul

Aujourd’hui, non seulement le hijab, mais le niqab et la burqa se répandent partout, ici par obligation étatique (Iran…) ou sous la pression sociale (Egypte…), là par revendication identitaire plus que religieuse (Occident). Mais de quelle identité s’agit-il?

Porter niqab, burka et autre accoutrement qui ne sont en rien garants d’une proximité particulière avec Dieu ni d’une dévotion plus authentique, traduit au mieux une méconnaissance de l’islam et au pire un endoctrinement lamentable et d’autant plus pitoyable que nous en connaissons les officines et le degré zéro d’évolution de leurs mandants.

Soyons conscients que dans d’anciennes villes tenues par Daech, et libérées par l’avancée des combattants syriens ou irakiens, les hommes rasent leur barbe et les femmes brûlent leur niqab – Isis: Incredible photos show civilians celebrating freedom in Syria by cutting beards and burning burqas

Men jubilantly had their beards cut off as women ripped off their veils and set them on fire in an act of rebellion after years living under Isis’ brutal interpretation of Sharia law.

Je pense que le plus sage est de suivre le conseil du site Algérie Focus, relayé par Courrier International : « A Rome, fais comme les romains ». C’est ce que font paisiblement des millions de musulmans qui vivent dans des pays où leur religion est minoritaire, et qui ne cherchent qu’une chose, c’est qu’on les laisse tranquille. Un mois de polémiques pour trois burkinis! Qui est le plus provoquant? Les trois ahuries de Cannes qui ont bravé l’interdit, ou la centaine de membres de la machine politico-médiatique française qui crie au loup? Quel est l’impact sur les électeurs qui voient ce genre de polémiques reprises par la presse ? N’est-ce pas un appel direct au populisme, à celui qui va dire n’importe quoi mais qui le dira mieux que les autres ?

« Assurons-nous bien du fait, avant que de nous inquiéter de la cause. Il est vrai que cette méthode est bien lente pour la plupart des gens, qui courent naturellement à la cause, et passent par-dessus la vérité du fait, mais enfin nous éviterons le ridicule d’avoir trouvé la cause de ce qui n’est point. »
Histoire des oracles, Fontenelle – 1687

La loterie de l'indécence
La loterie de l’indécence : c’est toujours la tenue des femmes qui est critiquée. Un homme, même en bermuda à fleurs, chemise ouverte et gourmette dorée, ne sera jamais indécent.

Lisez aussi :

Aller plus loin :

J’ai introduit deux plaisanteries dans les liens. Les avez-vous trouvées? Il s’agit de deux articles de El Manchar, une sorte de Gorafi algérien :

El Manchar est un site d’informations fausses et complètement saugrenues. Il a été créé dans le seul but d’explorer le champ de l’absurde. La devise d’El Manchar est « avec des scies, on refait le monde »

Bibliothèques, centres de documentation, musées scientifiques, métiers du web, médias, hight-tech… depuis 2010

Follow

Get every new post delivered to your Inbox

Join other followers