Académique Documents
Professionnel Documents
Culture Documents
Un modèle de données est le plan de conception sur lequel se base un SGBD. Il donne des détails sur
comment structurer les données, les relations entre elles, les règles et les contraintes de validation des
données et toutes les transformations pouvant être appliquées sur les données.
Depuis l’arrivée des bases de données, différents modèles ont été proposés.
1) Le modèle hiérarchique
Un modèle hiérarchique utilise une structure d’arbre (arborescence) pour la représentation des données.
Cette structure est constituée de la racine liée à plusieurs niveaux de sous arbre.
Un nœud parent de l’arbre peut être lié à un ou plusieurs nœuds fils (nœud de niveau inférieur).
Par exemple, pour représenter les liens de la BD "Avions" nous devons choisir entre diverses
arborescences qui privilégient l'une des entités AVION, PILOTE ou VOL comme racine. Le choix de VOL
n'est pas intéressant car aucun lien hiérarchique (de type 1 : N) n'émerge de cette entité.
Choix de l'entité AVION comme racine :
- (1) Le concepteur doit choisir de représenter la relation entre pièce et fournisseur en un seul sens
(association un à plusieurs : un fournisseur fournit un ou plusieurs pièce).
- (2) Les opérations de recherche et de mise à jour deviennent plus complexes, d’autant plus avec un
mauvais schéma conceptuel :
Si l’on veut établir la liste des pièces, il faudra analyser pour chaque fournisseur la liste des
pièces fournies : donc on doit passer obligatoirement par le segment fournisseur avant
d’accéder aux segments pièces.
Si l’on veut insérer une nouvelle pièce non encore fournie par aucun fournisseur, on doit
introduire un fournisseur fictif.
Si l’on supprime le seul fournisseur d’une pièce donnée, les informations liées à cette pièce
seront aussi supprimées.
Si l’on veut modifier le matériau de P2, on doit examiner toutes les listes des pièces fournies par
les fournisseurs (analyse complète de la base de données).
- (3) Pour accéder à un segment il faut accéder d’abord à son segment supérieur.
- (4) La formulation des requêtes dépend de la structure hiérarchique ce qui rend la mise à jour des
programmes d’application difficile.
2) Le modèle réseaux
Dans ce modèle, nous appelons :
Atome (data item) : la plus petite unité de données possédant un nom et représentée par une
valeur
Agrégat (data aggregate) : une suite d’atomes rangés consécutivement dans la base de données et
possédant un nom.
Enregistrement (record) : une suite d’atomes et d’agrégats rangés consécutivement dans la
base de données et constitue le bloc d’échange entre les applications et la BD.
Par analogie, un nœud dans le modèle réseau correspond à un type d’enregistrement. Chaque
enregistrement est identifié de manière unique par une clé (une clé est un atome ou un agrégat). Les arcs
définissent les relations entre les enregistrements.
Dans le modèle de CODASYL un lien est appelé SET et il définit un lien entre un enregistrement
propriétaire appelé OWNER et un ou plusieurs enregistrements membres appelés MEMBER.
Dans la norme CODASYL, les liens sont de deux types uniquement 1-1 et 1-N.
Pour créer un lien M-N on peut le faire indirectement : utiliser un enregistrement intermédiaire avec
deux liens 1-N.
L’enregistrement intermédiaire est créé en utilisant les données d’intersection si elles existent. Il
possédant comme clé la concaténation des clés des enregistrements composant le lien (le lien avant
transformation ; le lien M-N).
L’exemple précédant décrivant la relation fournisseur-pièce est représenté par le modèle réseau
CODASYL.
Pour définir la relation M-N entre fournisseur et pièce, d’abord on crée l’enregistrement intermédiaire «
Fourniture » puis on crée deux liens (SETS de type 1-N) pour relier pièce et fournisseur à fourniture. Ce
nouvel enregistrement possède comme clé la concaténation des clés des enregistrements composants le
lien.
Le majeur inconvénient du modèle réseau est la gestion complexe des pointeurs.
3) Le modèle relationnel
Le modèle relationnel est un modèle dans lequel les données sont organisées sous forme de tables
qui sont associées entre elles.
Une relation est une table qui contient des données, chaque colonne de cette table va correspondre
à un attribut de celle-ci, qui permet d’identifier une information stockée dans cette relation.
Exemple
Si on considère un ensemble de livres, on peut construire la relation LIVRES avec comme attributs l’ISBN,
le titre, le nom de l’auteur et l’année de publication.
Une clé primaire (Primary Key en anglais) est un attribut ou un ensemble d’attributs qui permettent
d’identifier l’enregistrement de manière unique.
Pour signaler la clé primaire dans le schéma de la relation associée, on peut souligner l’attribut qui
correspond à cette clé primaire.
Exemple
Dans la relation LIVRES précédente, le seul attribut qui correspond à une clé primaire est l’identifiant
numérique, puisque des livres différents peuvent avoir un même auteur, une même année de publication
et même un même titre (Jill McCorkle et Kate Atkison ont publié deux livres différents qui portent le
même titre : Life After Life).
Exemple
On considère les deux schémas de relation suivants.
LIVRES(identifiant numerique, Titre, #identifiant.AUTEURS, annee)
AUTEURS(identifiant.AUTEURS, Nom AUTEURS, Prenom AUTEURS)
identifiant.AUTEURS est une clé primaire de la relation AUTEURS et une clé étrangère de la
relation LIVRES.
Le schéma relationnel correspond à l'ensemble des relations présentes dans une base de données. Le
schéma relationnel d’une base de données est composé de l’ensemble des schémas de relation de cette
base.
Il faut donner les noms des relations, les attributs, les clés primaires soulignées et les clés étrangères
précédées d’un # dans des tableaux, puis faire une flèche pour indiquer de quelle table la clé étrangère
est la clé primaire.
Les bases de données relationnelles présentent plusieurs avantages par rapport aux bases de données
traditionnelles.
Indépendance structurelle : La base de données relationnelle ne concerne que les données et non
une structure. Cela peut améliorer les performances du modèle.
Facilité d’utilisation : Le modèle relationnel est très intuitif à utiliser car composé de tableaux
organisés de lignes et de colonnes.
Capacité d'interrogation : Il permet à un langage de requête de haut niveau comme SQL d'éviter une
navigation complexe dans la base de données.
Indépendance des données : La structure d'une base de données peut être modifiée sans avoir à
changer d'application.
Redondance des données : Une base de données relationnelle garantit qu'aucun attribut n'est
répété.
Cependant, il est important de garder à l'esprit que les bases de données relationnelles peuvent parfois
être lentes et peu évolutives :
Certaines bases de données relationnelles ont des limites sur la longueur des champs utilisés.
Les bases de données relationnelles peuvent parfois devenir complexes à mesure que la quantité de
données augmente et que les relations entre les éléments de données deviennent plus complexes.
Les systèmes de bases de données relationnelles complexes peuvent conduire à des bases de
données isolées où l'information ne peut être partagée d'un système à l'autre.
4) Le modèle objet
a) Principaux concepts
Objet
Définition : Abstraction informatique d’une entité du monde réelle caractérisée par une identité, un état
et un comportement.
Le comportement est composé d’un ensemble d’opérations qui agissent sur l’objet telle que créer(),
démarrer(), détruire, …
Un objet peut être simple ou composé lui-même d’un ensemble d’objets.
Exemple : véhicule, étudiant, molécule d’eau…
Attribut
Attribut (variable d’instance): caractéristique d’un objet désignée par un nom, un type et un domaine de
valeur. Cette caractéristique permet de mémoriser une ou plusieurs valeurs.
Exemple :
Objet Etudiant avec les attributs :
Carte-Etud: E2543398
Nom: KHALIL
Prénom: Mohamed
Date_nais: 10/10/1983
Tél: 0556187920
Encapsulation
Tous les composants de l’objet sont englobé et protégé à l’intérieur. Ils ne sont alors accessibles qu’à
travers l’interface de l’objet.
Opération
Représente une action applicable sur l’objet caractérisée par un entête appelée signature portant un nom
et une liste de paramètres.
Exemple : dessiner-cercle (pos-centre, rayon)
Un objet est manipulé via ses opérations qui l’encapsulent, sont état n’est alors ni consultable ni
modifiable qu’à travers ses opérations. Le code de ses opérations n’est jamais visible. (Seule l’interface est
visible).
Interface
Ensemble des signatures des opérations publiques, y compris les lectures et écritures des attributs
publics, qui sont applicables depuis l’extérieur sur un objet.
Classe
Abstraction d’un ou de plusieurs objet partageant un ensemble de comportement ou d’attributs
communs.
La classe donne une famille d’objets qui constituent alors l’extension de la classe.
Exemple : classe étudiant (num, nom, adresse, tel, inscrire() , évaluer(), renvoyer())
Généralisation/spécialisation :
Lien hiérarchique entre deux classes spécifiant que les objets de la classe supérieure sont plus généraux
que ceux de la classe inférieure.
Héritage
Transmission automatique des propriétés d’une classe de base vers une classe spécialisée (CS) cette
dernière hérite la structure et le comportement (attributs et méthodes) de classe générale (CG).
Cette propriété permet à une classe d’avoir les même propriétés qu’une autre classe sans avoir à les
redéfinir
Exemple : Personne (employé (cadre, ouvrier))
c) Avantages et inconvénients
Le schéma d'une BD objet est plus facile à appréhender que celui d'une BD relationnelle (il est plus
proche des entités réelles)
L'héritage permet de mieux structurer le schéma et de factoriser certains éléments de modélisation
La création de ses propres types et l'intégration de méthodes permettent une représentation plus
directe du domaine.
Les principes d'encapsulation et d'abstraction du modèle objet permettent de mieux séparer les BD
de leurs applications (notion d'interface).