tc_info:2026_cm_modeles

Ceci est une ancienne révision du document !


Pour leur conception, les bases de données sont ici vues comme des ensembles constitués de plusieurs populations d'objets en interaction, participant au bon fonctionnement d'un certain système. Établir un schéma de base de données consiste à décrire ces différentes populations d'objets, mais surtout et principalement à décrire les dépendances et les interactions entre ces populations.

Une base de donnée est constituée de plusieurs ensembles d'objets et d'opérateurs participant au bon fonctionnement d'un système:

Exemple 1 :

  • Ensembles d'employés
  • Ensembles de commandes
  • Ensembles d'articles
  • Ensembles de clients

Exemple 2 :

  • Ensembles d'étudiants
  • Ensembles de séances
  • Ensembles de cours
  • Ensembles de copies

On parle plus généralement d'ensembles d'entités.

Le modèle entité/association

Le modèle entité/associations est une méthode de description des relations entre ensembles d’entités. Il s’appuie sur le prédicat selon lequel tous les éléments des ensembles d’entités sont discernables.

Le modèle entités/associations repose sur un langage graphique de description des données, indépendant du support et de la mise en œuvre informatique.

Généralités

Une entité $x$

  • est une représentation d'un objet du monde réel,
  • appartenant au système/à l'organisation modélisée.
  • Une entité est décrite par une ou plusieurs valeurs caractéristiques, appelées attributs.

Les informations conservées au sujet des entités d'un ensemble sont les attributs.

  • Chaque attribut :
    • a un nom unique dans le contexte de cet ensemble d'entités : $A$, $B$, $C$, $A_1$, $A_2$, …, $A_m$, …
      • Exemples de noms concrets : couleur, nom, horaire, salaire.
    • prend ses valeurs dans un domaine bien spécifié,
      • également appelé le type de l'attribut.
      • Le domaine d'un attribut est noté $\text{dom}(Aj)= Dj$.
        • Exemples :
          • $\text{dom}(couleur)={rouge, vert, bleu, jaune}$,
          • $\text{dom}(nom) = $ensemble des chaînes de caractères,
          • $\text{dom}(salaire) =$ entiers naturels
          • etc…
  • Un attribut $A_j$ est une fonction à valeur sur $D_j$ :

$$A_j : E \rightarrow D_j$$ $$x \mapsto A_j(x)$$

  • Un attribut peut être :
    • simple ou composé.
      • Exemple : une adresse peut être décrite par une simple chaîne de caractères, ou peut être décomposée en rue , no, boîte, ville, code postal, pays.
    • obligatoire ou facultatif ($D_j$ peut ou non contenir la valeur ø ).
    • atomique ou non (Un attribut peut posséder 0, 1 voire plusieurs valeurs…)

Un ensemble d'entités est un ensemble fini d'éléments : $$E = \{x_1,…,x_n\}$$ Il regroupe (ou associe) plusieurs entités ayant des caractéristiques communes (descriptibles à l'aide du même ensemble d'attributs).

Exemples :
  • les employés d'une firme,
  • les cours de Centrale Méditerranée,
  • une collection de disques,
  • etc…
  • Les éléments d’un ensemble d’entités sont partiellement discernables à travers les valeurs de leurs attributs :
    • les attributs $(A_1,...,A_m)$ servent à décrire les éléments de l’ensemble.
    • Le schéma $R$ de l’ensemble $E$ est une application de l'ensemble d'entités vers l'ensemble des tuples de schéma $R$
      • Soit :

$$ R : \mathcal{X} \rightarrow D_1 \times ... \times D_m$$ $$ x_i \mapsto (A_1(x_i),…, A_m(x_i))$$

représentation graphique :

Exemples :

Définitions

Modéliser une base de données, c'est :

  • Identifier les différents ensembles en interaction
  • Identifier les liens de dépendance entre les différents ensembles
Les liens entre les différents ensembles sont appelés des associations

Association

Une association exprime des relations de dépendance entre deux ou plusieurs ensembles d’entités.

Définition : Une association entre les ensembles $E_1$, …, $E_k$ est un sous-ensemble du produit $E_1 \times ... \times E_k$.

Il s'agit donc d'un ensemble de k-uplets $\{..., (x_1,…,x_k), …\}$ t.q. $x_1 \in E_1,…, x_k \in E_k$.

où $k$ est le degré de l'association :

  • k=2 : association binaire
  • k=3 : association ternaire
  • etc…

Rôles des associations

  • Attribution : propriété, réservation, participation, supervision, auteur, rôle, pilote, …
  • Événements : achat, vente, séance, épreuve, appel, consultation, réunion, transaction, transport …
  • Aggrégation/Composition : tout/parties, contenant/contenu, supérieur/subordonné, pays/région, …
  • Relations entre membres : parenté, collaboration, cercle d'amis, …

Contraintes de cardinalité

Pour chaque ensemble participant à une association, on précise dans combien d'instances de l'association chaque entité peut apparaître.

On donne en général un intervalle $[b_\text{inf},b_\text{sup}]$ qui définit le nombre d'apparitions autorisées pour chaque rôle de l'association

Représentation graphique

Associations binaires

Associations ternaires

Types d'associations

Associations de 1 à plusieurs (fonctionnelle)

Relation non symétrique entre les deux ensembles : […,1] d'un côté, […,N] de l'autre. Relation de type contenant/contenu, propriétaire/objet possédé, occupant/occupé, actif/passif etc… Il s'agit du type d'association le plus "courant".

On dit parfois que l’ensemble dont la participation est unique est dit “à gauche” de l’association fonctionnelle, et celui dont la participation est multiple est “à droite”, autrement dit la pointe de la flèche désigne l’ensemble de “droite”:

“à gauche” → “à droite”

Associations de plusieurs à plusieurs (croisée)

Dans une association “croisée”, les tous les lien de l’association sont de cardinalité multiple […,N]

Modèles Entité Associations valués

Dans le cadre du modèle entité/association :
  • les attributs des ensembles d'entités sont des mesures:
    • Soit $A$ un attribut de l'ensemble d'entités $\mathcal{E}$

$$ A : \mathcal{E} \rightarrow \text{dom}(A) $$

  • les attributs des associations sont des opérateurs :
    • Soit $B$ un attribut de l'association sur $\mathcal{E} \times \mathcal{F}$

$$ B : \mathcal{E}\times \mathcal{F}\rightarrow \text{dom}(B) $$

Mesures

  • Les mesures sont les données saisies sur les éléments d'un ensemble. Chaque mesure est associée à un attribut.
  • Le schéma de l'ensemble est l'ensemble des attributs servant à caractériser ses éléments
  • Les éléments de l'ensemble sont discernables ssi il existe un jeu de mesures différent pour chaque élément de l'ensemble
  • Une clé est un ensemble d'attributs minimal (permettant de distinguer les objets) appartenant au schéma
TODO

Ensembles discernables / non discernables

Opérateurs

  • On s’intéresse ici aux associations qui représentent une “opération” (inscription, achat, embauche, affectation…).
  • Lors d’une mise à jour de la base, certains événements tels que l’emprunt ou le retour d’un ouvrage, l’affectation d’un employé à un poste, ou la liste des anciens clients disparaissent.
  • Il est possible de garder une trace des événements passés en mettant un (ou plusieurs) attributs sur une association.
  • Ainsi, certaines associations peuvent être "datées", c'est à dire
    • avoir lieu à une date
    • ou prendre place sur une durée précise (prêt,accès temporaire, statut temporaire…)
  • On peut ainsi mémoriser :
    • "Monsieur Dupont a été employé au département logistique de tant à tant."…
    • "L'étudiant X a été élève Centrale Méditerranée de telle année à telle année"…
Exemple "Monsieur Dupont a été employé au département logistique de tant à tant."…
Exemple
  • Chaque coureur est décrit par ses nom, prénom, nationalité et numéro de maillot.
  • Chaque coureur appartient à une équipe qui possède un numéro, un sponsor associé.
  • Chaque coureur participe à une ou plusieurs étapes. Une étape se caractérise par son numéro, son type (contre la montre/étape simple), ses points de départ et d'arrivée, sa date.
  • A chaque étape est associée un classement d'arrivée pour chaque coureur, avec la durée totale de course.

Il est possible de traduire un modèle entité/association vers un modèle relationnel (en perdant quelques propriétés).

Lors de la réalisation d'une base de données, on passe en général par les étapes suivantes:
  1. Conception de la base sous forme d'un modèle entité/association.
  2. Traduction sous la forme d'un modèle relationnel.
  3. Normalisation (voir Normalisation d'un schéma)
  4. Mise en œuvre informatique.

Un petit nombre de règles permettent de traduire un modèle entité/association vers un modèle relationnel.

  • Selon ces règles, à la fois les ensembles d'entités et les associations sont transformés en schémas relationnels.
  • Les liaisons et dépendances entre schémas de relation sont assurés par la définition des clés étrangères (attributs communs à plusieurs tables).

Schéma de base et clé étrangère

  • Un schéma (ou modèle) de bases de données est un ensemble fini de schémas de relation.
  • Une base de données est un ensemble fini de relations.
  • Les liens et associations entre relations entre s’expriment sous la forme de clés étrangères
Définition
  • Au sein d'un schéma relationnel $R$, Une clé étrangère est un attribut (ou un groupe d'attributs) qui constitue la clé primaire d'un schéma $S$ distinct de $R$.
  • La présence d'une clé étrangère au sein d'une relation $r$ de schéma $R$ introduit une contrainte d'intégrité sur les données :
    • la valeur des attributs de la clé étrangère d'un tuple de $r$ doit être trouvée dans la table s correspondante.
  • On indique la présence d'une clé étrangère à l'aide de pointillés : {…, Clé étrangère, …}

Exemple

Schéma de base relationnelle :
  • Clients ( nom_client, adresse_client, solde)
  • Commandes ( num_Commande, nom client, composant, quantité)
  • Fournisseurs ( nom_fournisseur, adresse_fournisseur)
  • Catalogue ( nom_fournisseur, composant, prix )

Traduction des associations de plusieurs à plusieurs

Une association croisée ne contient que des contraintes de cardinalité de type [..,N]. Soit $R$ une telle association et $E_1$, …, $E_k$ les ensembles participant à l'association.

Règle de traduction :
  • Chaque ensemble $E_i$ est traduit par un schéma relationnel (contenant les mêmes attributs)
  • L'association $R$ est traduite sous la forme d'un schéma relationnel contenant:
    • les clés primaires des ensembles participant à l’association
    • (éventuellement) les attributs propres à l'association,

Traduction :

  • Pays (nom_pays, superficie, population, PIB )
  • Matière_première ( nom_matière, unité, prix )
  • Exportation (nom pays, nom matière, quantité)
Traduction :
  • Appareil (code_appareil, type, marque, modèle)
  • Séance (date, heure, local)
  • Réservation (code appareil,date, heure, local)

Traduction des associations de un à plusieurs

Soit une association fonctionnelle $R$. On suppose qu'il existe au moins un ensemble $A$ de cardinalité unique [1,1] participant l’association.

Règle de traduction
  • Chaque ensemble participant est traduit sous forme de schéma relationnel
  • L'association $R$ est traduite sous forme de clé étrangère : l'ensemble $A$ reçoit la clé primaire du (ou des) ensemble(s) dont la participation est multiple.
Exemple :
Remarque : lorsque l’association est valuée, les attributs de l’association sont également injectés dans la table représentant l’ensemble de gauche.
Exemple Traduction :
  • Groupe_TD( num_groupe, LV1, LV2)
  • Entreprise ( nom_entreprise, Adresse)
  • Etudiant ( num_etudiant, Nom, Prénom, Date_naiss, num groupe, intitulé, date, durée, nom entreprise)

Exemple complet

Schéma de base relationnelle :
  • Clients ( nom_client, adresse_client, solde)
  • Commandes ( num_Commande, nom client, composant, quantité, montant)
  • Fournisseurs ( nom_fournisseur, adresse_fournisseur)
  • Catalogue ( nom_fournisseur, composant, prix )
Réalisation :

Clients :

nom_clientadresse_clientsolde
Durand7, rue des Lilas335,00
Dubois44, av. du Maréchal Louis744,00
Duval5, place du marché33,00

Commandes :

num_Commande nom client composant quantité
6674Duboismicro controller55
6637Duboisradio tuner2
6524Durandtransistor4
6443Duvalmicro controller7

Fournisseurs :

nom_fournisseur adresse_fournisseur
Sage33, College street, London
MoxCom77 Ashley square,Mumbay

Catalogue :

nom_fournisseur composant prix
Sagetransistor4,4
MoxCommicro controller3,7
MoxComradio tuner7,0
  • tc_info/2026_cm_modeles.1779998727.txt.gz
  • Dernière modification : 2026/05/28 22:05
  • de edauce