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é.

Décrire un métier par ses attributs

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.

Un attribut prend une valeur

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é.

Une ligne décrit un métier

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.

Partir des propositions de la classe

Des propositions séparent déjà METIER et OPTION_SIO. D’autres distinguent études, missions et mots-clés, avec des tables de liaison.

Regrouper

« Mission » et « tâches principales » parlent d’un même aspect.

Distinguer

« 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.

Pourquoi utiliser un SGBD ?

La base de données

Un ensemble organisé de données conservées.

Notre répertoire conserve les fiches métiers.

Le SGBD

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.

Des fiches et fichiers aux tables reliées

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.

Compter les attributs et les lignes

Valeurs reprises et harmonisées à partir des travaux préparatoires.

METIER

4

colonnes ou attributs (champs) : le degré

3

lignes : le cardinal de cet extrait

Une relation = une table

Dans le modèle relationnel, une table représente une relation.

Type, domaine et information absente

Type

La nature des valeurs.

id_metier est un entier ; intitule est du texte.

Domaine

Les valeurs admises.

nom_option est un texte ; nous retenons ici SISR et SLAM.

NULL

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.

La clé primaire identifie un métier

13

id_metier · PK

Un identifiant unique et renseigné

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.

La clé étrangère relie métier et option

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.

OPTION_SIO

METIER · extrait

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.

Lire les cardinalités dans les deux sens

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.

Un mot-clé peut décrire plusieurs métiers

Les mots-clés sont des étiquettes de classement.

Métiers et mots-clés · tableau pédagogique

Développeur web a deux mots-clés. Tests décrit deux métiers : c’est une association N–N.

La table intermédiaire porte les associations

Chaque ligne de METIER_MOT_CLE associe un métier à un mot-clé.

MOT_CLE

METIER_MOT_CLE

Le couple (13, 2) relie le Testeur logiciel à Tests. Le nom du métier reste dans METIER ; le libellé reste dans MOT_CLE.

Deux références et une clé composée

id_metier et id_mot_cle sont deux clés étrangères, chacune vers la clé primaire de sa table cible.

Une seule PK composée

(id_metier, id_mot_cle)

(9, 2) et (13, 2) sont différents. Répéter (13, 2) créerait un doublon d’association.

Intégrité référentielle

Les identifiants référencés doivent exister.

(99, 2) serait invalide tant que le métier 99 est absent.

Les anomalies d’un tableau unique

Tableau aplati · exemple pédagogique

Mise à jour

Corriger le nom du Testeur impose de modifier deux lignes.

Insertion

Un mot-clé sans métier imposerait une ligne incomplète.

Suppression

Retirer le Testeur ferait disparaître la seule mention de Qualité.

Séparer objets et associations place chaque information à sa place.

Le schéma relationnel du répertoire

OPTION_SIO

id_option PK
nom_option

METIER

id_metier PK · intitule · formation_citee
id_option FK → OPTION_SIO.id_option

MOT_CLE

id_mot_cle PK
libelle

METIER_MOT_CLE

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

Faire évoluer le modèle selon le besoin

Une proposition prévoit SISR, SLAM ou « les deux ». Notre modèle retient une option principale par métier.

Toutes les options concernées

Une table METIER_OPTION porterait les liens N–N, selon le même principe que METIER_MOT_CLE.

Plusieurs formations

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.

Le vocabulaire dans notre répertoire

Lexique

On décrit les métiers, on identifie les lignes, puis on représente les liens utiles.