Leon Bases de donnes

publicité
Introduction:
Le cours de bases de données se divise en trois grandes parties: conception d'un
modèle conceptuel de données, passage au modèle logique de données, utilisation
de la base.
La conception repose sur le formalisme entité-association. On commence par passer
en revue les différentes notions utiles: entité, association (binaire, n-aire ou
réflexive), attribut, identifiant (fort et faible), cardinalité, ce qui permet d'élaborer les
premiers MCD. On étudie ensuite leur conformité en introduisant un certain nombre
de règles de vérification (p. ex., existence d'identifiant, non-polysémie des attributs,
etc.) et surtout de normalisation (jusques et y compris la forme normale de BoyceCodd).
L'obtention à partir du MCD d'un ensemble de relations (tables) normalisées est alors
immédiate. Elle est formalisée dans un court chapitre qui précise également le cas
des entités faibles et des associations réflexives, et met en évidence les avantages et
les inconvénients du schéma relationnel par rapport au MCD.
On montre ensuite comment interroger une base de données relationnelles, tout
d'abord d'un point de vue théorique avec les opérateurs de l'algèbre relationnelle
(Restriction, Projection, Jointure, et opérateurs ensemblistes classiques), ensuite à
un niveau plus pratique avec SQL, qui enrichit l'algèbre relationnelle du concept
d'agrégat. La souplesse expressive de SQL (p. ex., possibilité d'imbrications de
requêtes) et ses limitations (p. ex., pas de récursivité) sont étudiées.
Les notions introduites en cours et appliquées en TD sont mises en oeuvre sur
machines avec le logiciel Access. On en profite pour décrire brièvement le formalisme
de requêtes visuelles QBE (query by example).
Ce cours est complété par une introduction à l'algorithmique des graphes. C'est un
panorama général du domaine, qui passe en revue sans les approfondir les notions
fondamentales de: graphes et multigraphes (définitions et codages), arbres et
arborescences (id.), parcours en profondeur et applications, parcours en largeur,
graphes sans circuits et d'ordonnancement, arbre recouvrant minimal. La formule
retenue est celle d'un cours interactif, où les définitions et les propositions alternent
avec de petits exercices qui permettent à l'étudiant d'en chercher une illustration
immédiate ou une démonstration. Un fascicule est distribué qui regroupe l'ensemble
des définitions, des résultats et des schémas utiles
Leçon Bases de données
Chapitre 2 - Le modèle MERISE partie 1
2.1. Presentation
Pour concevoir et représenter une base de données, on utilise MERISE qui est une
méthodologie utilisée dans boucoup d'outils de developement informatique. MERISE
permet de concevoir un système d'informations d'une façon standardisée et
méthodique.
La meilleur façon de comprendre le fonctionnement d'un système d'information
utilisant MERISE est de s'aider de cet exemple :
Un directeur d'une entreprise de vente de matériel informatique voudrait gérer ses
clients, ses fournisseur et les produits qu'il vend grâçe à une base de données
simple.
Dans ce cas pratique :
- l'entreprise de vente de matériel informatique est appelée le domaine
- les clients, les fournisseurs et les produits sont des entités de la base de données
- les informations sur les clients (nom, prénom...), les fournisseurs (raison sociale...),
les produits (référence, libellé du produit, prix) sont les propriétés de ces tables.
2.2. Le dictionnaire de données
Pour concevoir sa base de données, il faut d'abord définir les données que l'on veut
stocker dans cette dernière.
Dans notre cas pratique nous utiliserons ces données qui sont représentées cidessous dans ce qu'on appele un dictionnaire de données :
Nom de la propriété
Type de donnée
Longueur de donnée
N° client
N
4
nom client
AN
32
prenom client
AN
32
adresse client
AN
50
code postal client
N
8
ville client
AN
32
téléphone client
AN
10
N° fournisseur
N
4
raison sociale
AN
32
adresse fournisseur
AN
50
code postal fournisseur
N
8
ville fournisseur
AN
32
téléphone fournisseur
N
10
Référence produit
N
4
libellé produit
AN
50
prix produit
N
5
N = Numérique
AN = Alpha-Numérique
Le dictionnaire de données est une liste complête des propriétés utilisées dans une
base de données. Chaque propriété représente une information qu'on souhaite
stocker et comporte un type. Mais une propriété n'est pas l'information elle-même,
c'est comme une case dans laquelle on mettra toujours la même information mais
pour plusieurs enregistrements, appellés aussi occurences.
2.3. Le Modèle Conceptuel de Données (MCD)
Le MCD est la base de MERISE. Il représente les données d'un système
d'informations de façon claire et précise les dépendances fonctionnelles des
informations.
Pour cela, plusieurs élements sont utiles :
- l'entité : objets physiques ou abstraits ayant des caractéristiques similaires
- la relations : assiciation liant plusieurs entitées entre elles
- la propriétée : chaque entitée est composée de proprietés et chaque propriété est
caractérisée par un type de données, le dictionnaire de données (vu en 2.2) est
composée de l'ensemble des propriétés de toutes les entitées d'une base de
données.
- l'dentifiant : l'identifiant ou clef unique (toujours souligné dans les représentations
schèmatiques) est une propriété d'une entité permettant de distinguer les différentes
données.
- la cardinalitée minimum : nombre minimum de fois qu'une entitée est concernée
par une association.
- la cardinalitée maximum : nombre maximum de fois qu'une entitée est concernée
par une association.
Reprenons notre exemple :
Pour notre entreprise de vente de matériel informatique, nous allons utiliser les
entitées suivantes :
CLIENT, FOURNISSEUR, PRODUIT
Ces entitées sont composées des propriétés citées dans le dictionnaire de données et
se représentent de la anière suivante :
2.4. Le Modèle Logique de Données (MLD)
Le MLD permet de voir de façon claire l'organisation des données, cette façon de
représenter la base de donnée est assez pratique pour les développeurs. Le MLD est
obtenu à partir d'une conversion du MCD selon les trois regles relationnelles
suivantes :
- type d'entité (=relation) : un schèma de relation contenant les attributs du type de
l'entité et qui a comme clef celle du type de l'entité.
- types d'associations liés à un type d'entité avec une cardinalité 1,1 : représentés
dans le même schèma de relation correspondant à l'entité qui participe avec la
cardinalité 1,1 par ajout de la clef de l'entité intervenant dans l'association ainsi que
les attributs eventuels de l'association.
- type d'association : un schèma de relation qui a pour attributs ceux de l'association
(si elle en a) et pour clef les clef des entités participantes.
Voiçi la conversion du MCD (présenté en 2.3) en MLD :
CLIENT(num_clt, nom_clt, prenom_clt, adresse_clt, cp_clt, ville_clt, tel_clt)
PRODUIT(ref_pdt, lib_pdt, prix_pdt, #num_fourn)
FOURNISSEUR(num_fourn, rs_fourn, adresse_fourn, ville_fourn, tel_fourn)
Acheter(num_clt, ref_pdt)
Pour plus d'information sur la méthodologie MERISE, je vous conseille ce site
personnel de Mathieu Vidal que j'ai trouvé par hasard et qui me parait assez complêt
:
Téléchargement