Bases de données notes de cours, tutoriel & guide de travaux pratiques bases de données en pdf.
MODELISATION CONCEPTUELLE
Introduction
Objectif = représentation symbolique et réduite de la réalité
è représentation logique (vs. physique)
Les modèles conceptuels de type entité-association (E/A) tels que MERISE sont progressivement remplacés par des modèles s’inspirant des méthodes de conception de type orienté-objet. On qualifie aussi ces modèles de langages de modélisation (cf. UML : Unified Modeling Language).
Entité
Définition : entité = représentation logique d’un individu (au sens large, c’est-à-dire élément d’un ensemble) ou “objet”.
Une entité correspond également à une classe d’
Une entité est caractérisée par son unicité => identifiant unique (“clé”). Ex: no. SS, no. client, no. produit.
Une entité peut être représentée par un ensemble d’attributs4. Ex: nom d’une personne, âge, adresse, nom d’un produit, prix unitaire, quantité en stock, …
Chaque attribut peut prendre un certain nombre de valeurs -> domaine de l’attribut5.
Une entité du monde réel est ainsi représentée par un ensemble d’attributs instanciés à l’aide de valeurs.
Une entité peut être considérée comme dépendante si son existence est conditionnée par l’existence d’une autre ou d’autres entités. Ex: si un produit n’est livré que par un seul fournisseur et que ce fournisseur disparait, le produit va lui aussi disparaitre. On parle aussi d’entités dominantes / dominées.
Association
Une association relie des classes d’entités entre elles.
Ex: association reliant : (i) des commandes caractérisées par une date de commande, le numéro d’entification du client, les numéros de produits commandés ainsi que les quantités, avec (ii) des produits vendus par l’entreprise et la clé en fait partie.
à rapprocher de la notionde type en programmation (types étendus) caractérisées par un numéro de produit, un libellé, un prix unitaire et une quantité en stock.
Une association relie en général deux classes d’entités (ass. binaire), mais elle peut aussi relier plusieurs classes d’entités (ass. n-aires).
Les entités jouent des rôles différents dans une association. Ex: un client passe une commande, la commande est passée6 par un client (autre classe d’entités), le produit est référencé dans la commande, la commande référence certais produits, …
Au sein d’une même classe, une ou plusieurs entités peuvent être mises en relation avec une ou plusieurs entités d’une autre classe
-> associations de type 1-1, 1-n ou n-m
-> cardinalité d’une association
Exemple : une commande peut concerner plusieurs produits, mais un produit peut aussi faire partie de plusieurs commandes -> assoc. n-m.
Attention aux interprétations de la réalité pouvant conduire à des représentations différentes et parfois erronées -> importance de la phase d’enquête et d’analyse auprès des utilisateurs.
Identificateurs et clés
Rappel : chaque entité est caractérisée par un identicateur (ou identifiant) unique, qu’on appelle aussi clé (ou clé primaire) d’accès à l’entité. Lorsqu’une entité possède plusieurs identifiants uniques, la clé peut être choisie parmi ces identifiants qui sont considérés comme un ensemble de clés candidates.
Cet identifiant peut être constitué par un seul attribut de l’entité (ex. no. SS), mais il peut être nécessaire de combiner plusieurs attributs afin de constituer la clé. On parlera alors de clé composée. Ex: pour des personnes dont on ne connait pas le no. SS, on peut combiner nom, prénom et code postal ou année de naissance afin de réduire au maximum les risques de combinaisons équivalentes (ou “doublons”).
On pourra aussi affecter à une association un identifiant unique qui sera obtenu par combinaison des identifiants des entités qui y participent.
Dans certains cas, il peut s’avérer impossible de constituer un identifiant unique. Dans ce cas, on qualifiera l’entité d’entité faible (vs. entité forte). Cette notion est
à rapprocher de la notion précédente d’entité dépendante ou dominée : une entité faible est une entité dominée.
Diagrammes entités-associations
Classes d’entités -> rectangles.
Atributs -> ellipses
Associations -> losanges.
Exemples : Produits / Fournisseurs / Clients, Comptes bancaires / Clients / Agences, Etudiants / Cours / Profs.
Spécialisation / généralisation
Certaines classes d’entités peuvent se spécialiser en sous-classes, par ex. les comptes bancaires se spécialisent en comptes-chèques et en comptes d’épargne.
Inversement, les comptes-chèques et comptes d’épargne sont des sous-ensembles de la classe plus générale des comptes bancaires.
-> assoc. “Is-a”
Notion d’héritage : une entité spécialisée hérite des attributs de l’entité généralisée.
Chapitre 1 : Introduction
Chapitre 2 : Modèle conceptuel
Chapitre 3 : Modèle relationnel
Chapitre 4 : Langages de requêtes / SQL
Chapitre 5 : SQL – Droits d’accès et vues
Chapitre 6 : Algèbre relationnelle
Chapitre 7 : Calcul relationnel
Chapitre 8 : Normalisation
Chapitre 9 : Stockage et indexation