
Reprenons la fiche du Développeur web : quelles informations faut-il conserver pour chaque métier ?
Chaque métier sera décrit avec les mêmes attributs.
METIER
Attribut : intitule.
Valeur pour le métier 9 : Développeur web.
Valeur pour le métier 13 : Testeur logiciel.
Une cellule contient la valeur d’un attribut pour un métier donné.
METIER
Un tuple, ou enregistrement, regroupe les valeurs de tous les attributs pour un métier.
Ici, la ligne entière décrit le Testeur logiciel. Lecture horizontale : numéro 13 ; intitulé Testeur logiciel ; formation non renseignée ; code d’option 2.
NULL indique ici une information non renseignée (approfondi plus tard).
Colonne = attribut ; ligne entière = tuple ; cellule = valeur.

Des propositions séparent déjà METIER et OPTION_SIO. D’autres distinguent études, missions et mots-clés, avec des tables de liaison.
« Mission » et « tâches principales » parlent d’un même aspect.
« Formation citée » et « compétence technique » apportent deux informations différentes.
Modèle commun : trois métiers et une option principale par métier.
Un ensemble organisé de données conservées.
Notre répertoire conserve les fiches métiers.
Le logiciel enregistre, consulte, met à jour et contrôle les contraintes définies.
Il permet de retrouver les métiers SLAM et de refuser une option inexistante si la contrainte est définie.
SQLite, MySQL, PostgreSQL sont des SGBD relationnels. SQL est un langage d’interrogation.
Un CSV conserve des valeurs en lignes et colonnes. Des références entre fichiers sont possibles, mais le CSV ne les vérifie pas.
Dans la base, METIER décrit les métiers et OPTION_SIO décrit les options ; une clé les relie.
La cohérence dépend du modèle choisi et des contraintes que le SGBD fait respecter.

Valeurs reprises et harmonisées à partir des travaux préparatoires.
colonnes ou attributs (champs) : le degré
lignes : le cardinal de cet extrait
Dans le modèle relationnel, une table représente une relation.
La nature des valeurs.
id_metier est un entier ; intitule est du texte.
Les valeurs admises.
nom_option est un texte ; nous retenons ici SISR et SLAM.
Une information absente.
La fiche du Testeur logiciel ne précise pas la formation.
NULL ne signifie pas « Aucune formation nécessaire ». formation_citee pourra être complétée lorsqu’une source apporte l’information.
id_metier · PK
id_metier est la clé primaire de METIER. Le métier 13 reste identifiable si son intitulé est corrigé.
Un intitulé peut être saisi de plusieurs façons. Un identifiant dédié et stable facilite le suivi.
Une clé primaire peut aussi réunir plusieurs attributs.
METIER.id_option est une clé étrangère vers OPTION_SIO.id_option.
Une clé étrangère est un attribut ou un groupe d’attributs qui référence une clé de la table cible. Ici, il s’agit de sa clé primaire.
Suivre la valeur 2 du métier 13 mène à SLAM. Plusieurs métiers peuvent partager cette valeur.
Une option principale par métier : un choix de classement du modèle de départ.
Les cardinalités donnent les nombres minimum et maximum de liens autorisés dans chaque sens.
Exemple de règle 1–1 : si l'on impose une seule fiche officielle par métier, chaque fiche décrit un seul métier. En N–N, plusieurs associations existent dans les deux sens, comme pour les mots-clés.
Cardinal d’une table = ses lignes. Cardinalités d’une association = ses liens.

Les mots-clés sont des étiquettes de classement.
Développeur web a deux mots-clés. Tests décrit deux métiers : c’est une association N–N.
Chaque ligne de METIER_MOT_CLE associe un métier à un mot-clé.
Le couple (13, 2) relie le Testeur logiciel à Tests. Le nom du métier reste dans METIER ; le libellé reste dans MOT_CLE.
id_metier et id_mot_cle sont deux clés étrangères, chacune vers la clé primaire de sa table cible.
(id_metier, id_mot_cle)
(9, 2) et (13, 2) sont différents. Répéter (13, 2) créerait un doublon d’association.
Les identifiants référencés doivent exister.
(99, 2) serait invalide tant que le métier 99 est absent.
Corriger le nom du Testeur impose de modifier deux lignes.
Un mot-clé sans métier imposerait une ligne incomplète.
Retirer le Testeur ferait disparaître la seule mention de Qualité.
Séparer objets et associations place chaque information à sa place.
id_option PK
nom_option
id_metier PK · intitule · formation_citee
id_option FK → OPTION_SIO.id_option
id_mot_cle PK
libelle
id_metier FK → METIER.id_metier
id_mot_cle FK → MOT_CLE.id_mot_cle
PK composée (id_metier, id_mot_cle)
OPTION_SIO 1–N METIER · METIER 1–N METIER_MOT_CLE
MOT_CLE 1–N METIER_MOT_CLE : le N–N devient deux liens 1–N.
Le schéma décrit structure, attributs et contraintes. L’instance est le contenu à un instant donné.
Tables en MAJUSCULES · attributs en minuscules
Une proposition prévoit SISR, SLAM ou « les deux ». Notre modèle retient une option principale par métier.
Une table METIER_OPTION porterait les liens N–N, selon le même principe que METIER_MOT_CLE.
Plusieurs formations peuvent conduire à plusieurs métiers. La piste METIERS_ETUDES permettrait de représenter ces liens.
Le modèle dépend des questions auxquelles le répertoire doit répondre. Ces évolutions sont des pistes pour la suite.
On décrit les métiers, on identifie les lignes, puis on représente les liens utiles.

BTS SIO 1 · Bloc 1 · S08
Construire un répertoire des métiers
Du travail préparatoire à une base de données relationnelle.
Nous avons plusieurs fiches. Nous voulons retrouver les métiers d’une option et les métiers associés à un mot-clé.