Vous êtes sur la page 1sur 132

Analyse et Conception des Systmes d'Information

MicheL EBOUEYA Universit de La Rochelle

Introduction
Objectifs : Apprendre concevoir une application informatique au sein d'une entreprise
qui rpond effectivement aux besoins des utilisateurs en prvoyant l'avance ses fonctionnalits principales en vrifiant qu'elle fait bien ce qui avait t prvu qui prsente certaines qualits :
capable d'voluer, scurise, documente...

mike@univ-lr.fr

2/

Introduction
Objectifs : Modliser Un modle
est une reprsentation artificielle de ce que l'on pense avoir compris du monde environnant. possde trois proprits :
la figuration : les figures sont mises la place de concepts gnraux l'imitation : il copie sur un support des relations perues sur l'environnement la formalisation : il propose de mettre de l'ordre dans la diversit observe

sert :
communiquer : voir si on a bien compris la mme chose que les utilisateurs prparer la ralisation. Un modle peut dire deux choses :
ce que l'application devra faire (une spcification) comment elle est organise du point de vue de l'ordinateur (une ralisation).

Modliser, c'est comme faire de la gomtrie : disposer des figures, tudier des proprits et raisonner au moyen de dfinitions.
3/

mike@univ-lr.fr

Introduction
Modliser : ce qu'il faut aimer pour modliser :
tre l'coute du monde extrieur dialoguer et donc communiquer avec les gens (qui utiliseront le systme informatique) observer et exprimenter : une conception n'est jamais bonne du premier coup travailler sans filet : crer quelque chose avec trs peu de recettes toutes prtes l'abstraction : une carte routire est un modle du territoire ; ce n'est pas le territoire lui-mme le travail plusieurs : contribuer l'intrieur d'un projet collectif aller au rsultat : en plus il faut que a marche !

Modle
Objets (rels, abstraits) Rgles

mike@univ-lr.fr

4/

Sommaire

Les objectifs des systmes de gestion de bases de donnes Les concepts de base et modles

mike@univ-lr.fr

5/

Les objectifs des systmes de gestion de bases de donnes


Rsoudre les problmes causs par la dmarche classique
Indpendance physique
La faon dont les donnes sont dfinies doit tre indpendante des structures de stockages utilises. Indpendance logique Un mme ensemble de donnes peut tre vu diffremment par des utilisateurs diffrents. Toutes ces visions personnelles des donnes doivent tre intgrs dans une vision globale.

Manipulations des donnes par des non informaticiens Efficacit des accs aux donnes
en un temps "raisonnable de faon compltement transparente pour l'utilisateur.

mike@univ-lr.fr

6/

Les objectifs des SGBD


Rsoudre les problmes causs par la dmarche classique
Indpendance physique
La faon dont les donnes sont dfinies doit tre indpendante des structures de stockages utilises. Indpendance logique Un mme ensemble de donnes peut tre vu diffremment par des utilisateurs diffrents. Toutes ces visions personnelles des donnes doivent tre intgrs dans une vision globale.

Manipulations des donnes par des non informaticiens Efficacit des accs aux donnes
en un temps "raisonnable de faon compltement transparente pour l'utilisateur.

mike@univ-lr.fr

7/

Les objectifs des SGBD


Rsoudre les problmes causs par la dmarche classique
Administration centralise des donnes
Des visions diffrentes des donnes (entre autres) se rsolvent plus facilement si les donnes sont administres de faon centralise.

Non redondance des donnes


Afin d'viter les problmes lors des mises jour, chaque donne ne doit tre prsente qu'une seule fois dans la base.

Cohrence des donnes


Les contraintes d'intgrit qui dfinissent un tat cohrent de la base. Elles doivent pouvoir tre exprimes simplement et vrifies automatiquement chaque insertion, modification ou suppression des donnes.

mike@univ-lr.fr

8/

Les objectifs des SGBD


Rsoudre les problmes causs par la dmarche classique
Partage des donnes
plusieurs utilisateurs doivent pouvoir accder aux mmes donnes au mme moment.
modifier la mme donne "en mme temps" ; assurer un rsultat d'interrogation cohrent pour un utilisateur consultant une table pendant qu'un autre la modifie.

Scurit des donnes


Les donnes doivent pouvoir tre protges contre les accs non autoriss. Pour cela, il faut pouvoir associer chaque utilisateur des droits d'accs aux donnes.

Rsistance aux pannes


Solutions si une panne survient au milieu d'une modification?
soit rcuprer les donnes dans l'tat dans lequel elles taient avant la modification, soit terminer l'opration interrompue.

mike@univ-lr.fr

9/

Les objectifs des SGBD


Rsoudre les problmes causs par la dmarche classique Pour assurer ces objectifs (surtout les deux premiers), trois niveaux de description des donnes ont t dfinis par la norme ANSI/SPARC.
Niveau interne Niveau conceptuel Niveau externe

Le rsultat de la conception d'une base de donnes sera une description des donnes.

mike@univ-lr.fr

10/

Les objectifs des SGBD


Le rsultat de la conception d'une base de donnes sera une description des donnes.
Cette description des donnes sera effectue en utilisant un modle de donnes. Ce dernier est un outil intellectuel utilis pour comprendre l'organisation logique des donnes. C'est un ensemble de concepts et de rgles pour les utiliser, permettant de construire avec des types de donnes une reprsentation de la ralit.

Un systme de gestion de bases de donnes est caractris par le modle de description des donnes qu'il supporte. Les donnes sont dcrites sous la forme de ce modle, grce un langage de description des donnes. Cette description est appele schma.

mike@univ-lr.fr

11/

Les objectifs des SGBD


Le rsultat de la conception d'une base de donnes sera une description des donnes.
Cette description des donnes sera effectue en utilisant un modle de donnes. Ce dernier est un outil intellectuel utilis pour comprendre l'organisation logique des donnes. C'est un ensemble de concepts et de rgles pour les utiliser, permettant de construire avec des types de donnes une reprsentation de la ralit.

Une fois la base de donnes spcifie, on doit pouvoir y


insrer des donnes, les rcuprer, les modifier et les dtruire. C'est ce qu'on appelle manipuler les donnes.

Les donnes peuvent tre manipules non seulement par un langage spcifique de manipulation des donnes mais aussi par des langages de programmation "
12/

mike@univ-lr.fr

Les objectifs des SGBD

Une fois la base de donnes spcifie, on doit pouvoir y


insrer des donnes, les rcuprer, les modifier et les dtruire. C'est ce qu'on appelle manipuler les donnes.

Rappel sur les Systmes d Information


Collecter l'information Mmoriser Traiter Distribuer

mike@univ-lr.fr

13/

Concepts de base
Nous avons besoin d une mthode, et ce sera Merise

MERISE

Mthode d'tude et de Ralisation Informatique pour les Systmes d'Entreprise. A software engineering method popular in France;

Mthode de gestion des grands projets de gnie logiciel. Elle permet de raliser un dcoupage en tches, d'affecter ces tches des quipes ou personnes diffrentes et d'oprer en phase finale la convergence et le contrle des travaux individuels vers le produit fini. Elle insiste, comme bien d'autres mthodes, sur la sparation des donnes et des traitements.

mike@univ-lr.fr

14/

Pourquoi une mthode?


Ne rien oublier Normaliser Communication Plus vite Problmes de cohrence (donnes) => Baisse des cots et des dlais

mike@univ-lr.fr

15/

Pourquoi MERISE?
Ne en 1978 Parents : Cap (SSII) et le ministre de l'intrieur Utilise dans l'administration et partout ailleurs partir de 82-85 Concurrents anglo-saxon : AXIAL, SSADA, ......OMT,UML

PRINCIPES :

Approche systmique (systme, vision globale) et non approche analytique (vision partielle) Sparation donnes / traitement Intgrer les besoins utilisateur Intgrer l'approche technologique (BDD, Rseaux,)

OBJECTIFS :

Approche globale du SI; Langage commun et couverture de l'ensemble du cycle de vie d'un projet.

mike@univ-lr.fr

16/

Pourquoi MERISE?
COUVERTURE DES CYCLES :
CYCLE DE VIE :
Conception : conception et gestation Ralisation : naissance, croissance, maturit Maintenance : obsolescence, mort

CYCLE DE DCISION :
Dcisions, positions prises pendant le cycle de vie Dcoupage du SI en domaines Orientation de gestion et d'organisation (RG, RO) Orientations technologiques Planification

CYCLE D'ABSTRACTION :
lment rel (BU) => E1 => E2 => E3 => Mise en uvre
Approche par niveau , Vrifier la cohrence du SI Niveau = 1 problme = 1 question; Simuler Trois niveaux Conceptuel, Organisationnel et Oprationnel

mike@univ-lr.fr

17/

A retenir dans les concepts de base


1) Notion de schma 2) Dfinition d'un modle 3) L'extension de la base 4) Les 3 niveaux de schma
4-1 Externe 4-2 Conceptuel 4-3 Interne

5) Intrt d'une architecture trois niveaux 6) Indpendance donnes/programmes 7) tapes de la conception d'un S.I.A. autour d'une BDD

mike@univ-lr.fr

18/

Concepts de base : le schma


Un schma permet la description de objets de la base de donnes avec leurs caractristiques:
type de donnes, tailles, mthodes les liens entre ces objets, ainsi qu'il indique la faon de localiser des objets.

mike@univ-lr.fr

19/

Concepts de base du Modle Entit-Association


ENTITE : ( INDIVIDU, OBJET )
pourvu d'une existence propre conforme aux besoins de gestion de l'entreprise Il peut reprsenter
une notion concrte : CLIENT ou une notion abstraite : PORTEFEUILLE D'ACTIONS

ASSOCIATION : (RELATION )
Lien smantique entre deux ou plusieurs entits. Le lien n'est pas orient : les commandes comportent des produits veut dire galement que les produits peuvent tre commands. Souvent nomm par un verbe ou un substantif.

mike@univ-lr.fr

20/

Concepts de base du Modle Entit-Association


ENTITE : ( INDIVIDU, OBJET )
pourvu d'une existence propre

ASSOCIATION : (RELATION )
Lien smantique entre deux ou plusieurs entits. .

PROPRIETE : ( ATTRIBUT) Donne lmentaire permettant de dcrire une entit ou une association.
Cette donne peut se mesurer par une valeur.

mike@univ-lr.fr

21/

Concepts de base du Modle Entit-Association


REGLES DE BASE :
Une proprit ne peut pas figurer sur deux objets diffrents Une entit possde au moins une proprit (son identifiant : par exemple le N de commande) Une association peut ne pas avoir de proprit

mike@univ-lr.fr

22/

Concepts de base du Modle Entit-Association


Le schma "en paisseur En fait, les concepts qui apparaissent sur le modle sont l pour rsumer et pour viter l'numration fastidieuse de tous les faits individuels du systme d'information.

mike@univ-lr.fr

23/

Concepts de base : du Modle Entit-Association


Le schma "en paisseur Un exemple de description exhaustive pourrait tre la suivante :


La commande n1234 concerne un seul produit : 5 botes de ED12 au prix unitaire de 123.56 La commande n1356 concerne 3 produits : AZ34, KB53 et ED12 La commande n1246 ne concerne aucun produit, c'est du moins ce que dit le modle. Le produit AZ34 est demand par une commande. Le produit KB53 galement. Le produit UW79 n'est pas demand. Cela ne parat pas tre une anomalie. Le produit ED12 est demand dans 2 commandes.
24/

mike@univ-lr.fr

Concepts de base : Modle Entit-Association


Le schma "en paisseur est ce que l'on peut appeler un schma en paisseur, qui numre exhaustivement tous les individus et liens du domaine.

mike@univ-lr.fr

25/

Concepts de base : Modle Entit-Association


OCCURRENCE : (Synonyme : INSTANCE)
Ralisation particulire d'une entit, proprit ou association.
Occurrence de l'entit COMMANDE : n1234 du 28/03/98 Occurrence de l'association CONCERNE : 5 produits ED12 pour la commande n1234 On observe qu'une occurrence de proprit est une VALEUR : l'occurrence de la proprit Prix unitaire pour le produit ED12 est 123.56. Le mot "commande" est donc ambig : ou bien le concept ou bien l'instance. Si l'on souhaite l'viter, on peut employer pour les concepts les mots de :

ENTITE-TYPE et ASSOCIATION-TYPE. En pratique, et en l'absence de prcision, un mot sera relatif un concept et lorsque l'on voudra parler d'un individu, on dira occurrence de ...

mike@univ-lr.fr

26/

Modle de donnes E_A les cardinalits

mike@univ-lr.fr

27/

Modle de donnes E_A les cardinalits


La cardinalit est une notion OBLIGATOIRE du modle qui permet de rsoudre la question de l'anomalie de la commande 1246 qui aurait pris la libert de ne point comporter de produits. C'est donc l'expression d'une CONTRAINTE (une "loi") perue sur le monde, et que l'on crit dans le modle. Par exemple, "il n'est pas possible qu'une commande ne concerne aucun produit". POUR UNE OCCURRENCE DE CETTE ENTITE, combien y a t'il d'occurrences de l'association auxquelles cette occurrence d'entit participe, au plus et au moins

mike@univ-lr.fr

28/

Modle de donnes E_A les cardinalits


Le lien d'une entit une association se mesure par deux nombres : la cardinalit minimale et la cardinalit maximale. Le nombre minimal ou maximal d'occurrences de la relation pouvant exister pour une occurrence de l'entit propritaire indiquent la cardinalit d'une fonction multi-value. Les cardinalits contribuent la prcision des conditions qui portent sur les associations.

mike@univ-lr.fr

29/

Modle de donnes E_A les cardinalits


Pour les ensembles d'associations binaires la cardinalit minimale (maximale) d'une association est le nombre minimum (maximum) d'entits de l'ensemble d'entits d'arrive associes une entit de l'ensemble de dpart. Les valeurs les plus frquentes pour la cardinalit minimale sont 0 (association partielle), 1 (association totale), N (association multi-value). Pour la cardinalit maximale on rencontre 1 ou N. Ces cardinalits sont importantes lorsque l'on ralise la transformation d'une modlisation E/A en modlisation relationnelle.
30/

mike@univ-lr.fr

Modle de donnes E_A les cardinalits


CARDINALITES MINIMUM : Valeur Dfinition 0 Une occurrence de l'entit peut exister sans participer l'association 1 Une occurrence de l'entit participe ncessairement au moins une fois une occurrence d'association Exemple un produit peut ne pas tre command

toute commande concerne au moins un produit

CARDINALITES MAXIMUM : Valeur Dfinition Exemple 1 Une occurrence de l'entit participe au un employ travaille au plus dans un plus une fois service N Une occurrence de l'entit peut une commande peut concerner participer plusieurs fois plusieurs produits

mike@univ-lr.fr

31/

Modle de donnes E_A les cardinalits


CONFIGURATIONS POSSIBLES : Une occurrence participe au moins 0 fois et au plus 1 fois l'association Une occurrence participe exactement 1 fois l'association Une occurrence peut ne pas participer ou participer plusieurs fois Une occurrence participe au moins 1 fois, voire plusieurs

O,1 1,1 0,N 1,N

Recette : Pour calculer la cardinalit, se POSITIONNER sur l'entit concerne et regarder EN FACE combien de fois l'une de ses occurrences participe l'association. Puis se DEPLACER du ct de l'autre entit et faire la mme chose dans l'autre sens.

mike@univ-lr.fr

32/

TD1 vers la gestion d une Mdiathque (1/2)


Donner pour le texte du sujet distribu: Q1 la liste des proprits
(avec types, calculs ou pas,)

Q2 la liste des entits


(avec 3 exemples pour chacune,)

Q3 la liste des associations


(avec pour chacune les entits concernes, la justification que c est un fait et non pas un tat, l usage prvu)

Q3 Le schma EA avec cls et cardinalits (laisser les tudiants trouver seuls, en petits groupes) dure 2h

mike@univ-lr.fr

33/

Modle de donnes E_A identifiants


Proprit PARTICULIERE de l'entit telle que pour chacune des valeurs de cette proprit, il existe une occurrence UNIQUE de l'entit. Prsentation : L'identifiant est inscrit en tte (ou en fin) de la liste des proprits et soulign. Dans les modles trs denses il peut suffire rsumer les autres proprits, pour faciliter la lecture.

mike@univ-lr.fr

34/

Modle de donnes E_A identifiants

IDENTIFIANT D'ASSOCIATION : Une association N'A PAS D'IDENTIFIANT explicite : l'association dpend des entits qu'elle relie. Son identifiant se dduit par calcul du produit cartsien des identifiants des entits associes.

Exemple : Pour l'association CONCERNE qui relie COMMANDE PRODUIT, l'identifiant est le produit cartsien de N Commande et N Produit.

mike@univ-lr.fr

35/

Modle de donnes E_A


Exemples d'entits agence( nom_agence, ville_agence, avoir, ...) client(nSS., nom, rue, ville, ...) employ(nSS., nom, tlphone, ....) compte(numro_de_compte, position, ...) transaction( numrodelatransaction, date, montant, ....)

mike@univ-lr.fr

36/

Identifiants, cl primaire et dpendances fonctionnelles


Pour diffrencier correctement les entits et les relations, on assigne une cl. C'est un attribut ou une juxtaposition (concatnation) d'attributs qui permet d'identifier de manire unique les occurrences d'une entit ou d'une association. Cl primaire i.e. la cl retenue par le crateur de la base de donnes, devant toutes les autres cls candidates. Exemple: nS.S. est la cl primaire de client; numerodecompte est la cl primaire de compte; (nSS., numerodecompte) est la cl primaire de l'association ClientCompte (numerodecompte, numrotransaction)est la cl primaire de relev. Voir cours sur Les formes normales, pour les dpendances fonctionnelles.

mike@univ-lr.fr

37/

Identifiants, cl primaire et dpendances fonctionnelles


<Y dpend de X > est une contrainte de dpendance indiquant que X est une entit dominante Par exemple compte transaction puisque Chaque transaction doit tre associe a un compte et si on solde un compte, les transactions sur ce compte n'ont plus d'intrt. Bien que chaque transaction puisse tre individualisable, des transactions sur des comptes diffrents peuvent avoir le mme numro.
38/

est une entit dominante est une entit domine

mike@univ-lr.fr

Entit faible : "weak entity type"


Certains ensembles d'entits dits faibles n'existent qu'en rfrence d'autres ensembles d'entits dits fortes (ou identifiants). Un ensemble d'entit faible a une contrainte de cardinalit 1:1 sur son association d'identification (sinon il pourrait y avoir des lments non identifi)

Une entit forte possde une cl primaire.

mike@univ-lr.fr

39/

Entit faible : "weak entity type"


Pourquoi des entits faibles? Il est difficile de dcrire tous les ensembles d'entits dans une application "au mme niveau", il est intressant de pouvoir les hirarchiser. Cette construction reprsente en quelque sorte la composition d'objets composites que l'on retrouve dans les modles orient-objet ou l'approche relationnel tendu. Ainsi, si une entit ne possde pas assez d'attributs pour qu'on puisse lui affecter une cl primaire, on est en prsence d'une entit faible. (les occurrences ont quand mme besoin d tre discrimines; par exemple pour transaction, le discriminant est le numro de la transaction)

mike@univ-lr.fr

40/

Modle de donnes E_A les cardinalits


COMPARAISON MODELE E/A ET RELATIONNEL MODELE E/A MODELE RELATIONNEL ensemble d'entit entit attribut simple attribut composite attribut driv ensemble d'entit faible ensemble d'association association relation nuplet attribut atomique simul par un ensemble d'attributs simul par une vue simul par une relation relation nuplet

mike@univ-lr.fr

41/

Entit-Association : dimensions d'une association


On appelle DIMENSION d'une association le nombre d'entits qu'elle relie. On dit souvent : son nombre de "pattes".

Remarques : Une association qui relie seulement deux entits est donc un cas particulier. Il n'existe pas de limite au nombre de pattes d'une association. Cependant un nombre de pattes lev est un indice que l'tude a t superficielle et approximative.
Association de dimension 2 : 70% Associations de dimension 3 : un peu moins de 30% au-del : epsilon.

mike@univ-lr.fr

42/

Entit-Association : association rflexive


Cas particulier de l'association dite "rflexive" : Une association "rflexive" est une association qui lie des occurrences d'une mme entit entre elles (c'est un cas particulier de la dimension 2) . Si l'on reprsente le schma en paisseur avec un seul exemple, on obtient en effet (avec en prime quelques problmes supplmentaires) :

mike@univ-lr.fr

43/

Association ternaire
Supposons une socit immobilire dont l'activit consiste louer des locaux commerciaux .

Une association est une trace d'vnement et non celle d'un tat de choses

mike@univ-lr.fr

44/

Association ternaire
Supposons qu'il soit ncessaire de "matriser les dpenses de sant". Il nous faut savoir ce que font exactement les mdecins du Centre Mdical.

Une association est une trace d'vnement et non celle d'un tat de choses

mike@univ-lr.fr

45/

Dans la dtermination des cardinalits, c'est moins le rsultat qui compte, que le raisonnement qui est conduit et : - qui permet d'interroger le monde - qui fournit le moteur ncessaire la dcouverte de nouvelles entits et associations

mike@univ-lr.fr

46/

CONTRAINTE D'INTEGRITE FONCTIONNELLE


Dcomposition de certaines associations de dimension suprieure 2

mike@univ-lr.fr

47/

Contrainte d Intgrit Fonctionnelle (CIF)


Une Contrainte d'Intgrit Fonctionnelle (en abrg : CIF) se dfinit par le fait que l'une des entits participant l'association est compltement dtermine par la connaissance d'une ou plusieurs autres entits participant dans cette mme association. CAS TRIVIAL DE L'ASSOCIATION DE DIMENSION 2 : La CIF consiste simplement en une cardinalit 1,1 sur l'une des pattes : la connaissance d'une commande dtermine celle du reprsentant qui l'a prise : il n'y en a qu'un.
mike@univ-lr.fr 48/

Contrainte d Intgrit Fonctionnelle (CIF)

CAS D'UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 :


Supposons que l'on veuille raliser un annuaire des spectacles de thtre de l'agglomration X qui fournisse la liste des thtres, des pices qui y sont l'affiche ainsi que des acteurs qui jouent dans ces pices. Supposons maintenant qu'il existe une rgle selon laquelle les thtres ont l'exclusivit des pices reprsentes. Autrement dit, une pice est joue dans un thtre et un seul. Nous sommes en prsence d'une CIF : la connaissance de la pice implique celle du thtre (le seul qui soit autoris la mettre l'affiche)
49/

mike@univ-lr.fr

Contrainte d Intgrit Fonctionnelle (CIF)

CAS D'UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 :


Supposons maintenant qu'il existe une rgle selon laquelle les thtres ont l'exclusivit des pices reprsentes. Autrement dit, une pice est joue dans un thtre et un seul. Nous sommes en prsence d'une CIF : la connaissance de la pice implique celle du thtre (le seul qui soit autoris la mettre l'affiche)

Mais, puisque connaissant la pice, on peut en dduire le thtre, on peut dtacher l'entit THEATRE de l'association JOUER : Si on sait dans quelles pices jouent les acteurs, on pourra toujours retrouver LE thtre associ chaque pice.
50/

mike@univ-lr.fr

Contrainte d Intgrit Fonctionnelle (CIF)


Plus gnralement : Dans le cas d'une association de dimension suprieure 2 et lorsqu'il y a une CIF, l'entit dtermine peut tre dtache de l'association initiale pour rester associe avec la seule entit dterminante.

mike@univ-lr.fr

51/

Contrainte d Intgrit Fonctionnelle (CIF)


CAS D'UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 : (suite).


Dans une association de dimension 3, une rgle nous dit que : "s'il existe une occurrence d'association, alors, il existe ncessairement une occurrence de chacune des entits associes". Mais si quelque chose est jou, il y a ncessairement un acteur, une pice et un thtre. Or, cette information n'est plus donne par le modle dcompos. Il permet pour une occurrence d'acteur de jouer dans une pice qui n'est l'affiche d'aucun thtre. La solution est d ajouter une association supplmentaire pour ne pas perdre d information.
52/

mike@univ-lr.fr

Contrainte d Intgrit Fonctionnelle (CIF)


CAS D'UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 : (suite).


Dans une association de dimension 3, une rgle nous dit que : "s'il existe une occurrence d'association, alors, il existe ncessairement une occurrence de chacune des entits associes". Mais si quelque chose est jou, il y a ncessairement un acteur, une pice et un thtre. Or, cette information n'est plus donne par le modle dcompos. Il permet pour une occurrence d'acteur de jouer dans une pice qui n'est l'affiche d'aucun thtre. La solution est d ajouter une association supplmentaire pour ne pas perdre d information.
53/

mike@univ-lr.fr

Contrainte d Intgrit Fonctionnelle (CIF)


LE CAS EMBETANT OU LA DECOMPOSITION NE MARCHE PAS : DEUX ENTITES DETERMINENT A ELLES 2 UNE AUTRE ENTITE. Dans un lyce, les professeurs donnent des cours des classes dans certaines matires. Mais on sait encore que dans une matire, une classe n'a qu'un seul professeur. Ceci peut s'crire ainsi : CLASSE * MATIERE -> PROFESSEUR

mike@univ-lr.fr

ce seront les procdures de saisie et mise jour des classes, matires et profs qui devront s'assurer que pour chaque couple matire * classe il n'y a bien qu'un prof. Ce que le schma de la BD sera bien incapable de vous garantir lui tout seul.

54/

retenir
Une justification de Merise Une prsentation Gnrale du Modle Entit -Association , en Anglais E-R (Entity Relationship) Occurrences Entits Associations (binaires, rflexives, n-aires; et CIF) Cardinalits Identifiants et dpendances fonctionnelles Diagrammes E-A (avec DB-main) Rductions des diagrammes E-A (sans passer par les CIF)
Entits fortes, Entits faibles, Classes d'Associations

Gnralisation- spcialisation Agrgation

mike@univ-lr.fr

55/

TD1 vers la gestion d une Mdiathque (2/2)


Donner pour le texte du sujet distribu:
Q1 la liste des proprits
(avec types, calculs ou pas,) (avec 3 exemples pour chacune,)

Q2 la liste des entits Q3 la liste des associations


(avec pour chacune les entits concernes, la justification que c est un fait et non pas un tat, l usage prvu)

Q3 Les associations Q4 Les associations avec identifiants et autres proprits Q5 Le schma EA avec cls et cardinalits Q6 Le Schma logique?

(nb: laisser les tudiants trouver seuls, en petits groupes)

mike@univ-lr.fr

56/

Vocabulaire
administrateur de base de donnes (DBA) : utilisateur privilgi en charge de concevoir et de faire voluer les schmas externes, le schma conceptuel et le schma physique d'une base de donnes. C'est lui qui utilise un langage de dfinition de donnes. architecture ANSI/SPARC : architecture de rfrence d'un SGBD. Elle est constitue de 3 niveaux : le niveau externe (proche des utilisateurs) le niveau conceptuel (celui du milieu) et le niveau physique (celui des disques)

mike@univ-lr.fr

57/

Vocabulaire
attribut : c'est un des concepts du modle relationnel. Un attribut dsigne un domaine par un nom qui identifie le rle jou par l'attribut dans la relation. base de donnes : c'est une collection d'informations structures. Cette structure est dfinie par un schma (appel aussi intention) dcrit selon un modle de donnes. Les donnes respectent le schma et sont appeles aussi extension. base de donnes rpartie : c'est une base de donnes dont l'extension est rpartie sur diffrents sites et l'intension est duplique sur tous ces sites. Une base de donnes rpartie est supporte par un SGBD rparti.

mike@univ-lr.fr

58/

Vocabulaire
cl : un des concepts du modle relationnel. Une cl est compose d'un ou plusieurs attributs d'un schma de relation dont la valeur permet de dsigner au plus un tuple de l'extension de la relation. cl trangre : c'est un concept du modle relationnel. Une cl trangre est constitue d'un ou plusieurs attributs d'un schma de relation qui sont la cl d'un autre schma de relation. Cela permet de reprsenter une notion de pointeur symbolique entre deux tuples. Une contrainte d'intgrit rfrentielle doit tre associe chaque cl trangre. contrainte d'intgrit : il s'agit d'une proprit du schma qui permet de restreindre l'ensemble des valeurs prises par l'extension de la base de donnes aux valeurs du monde rel. Un petit nombre de contraintes d'intgrit peuvent tre codes directement par un SGBD relationnel, la plupart doivent tre codes dans les programmes d'applications, par exemple crit en embedded SQL.

mike@univ-lr.fr

59/

Vocabulaire
contraintes d'intgrit rfrentielle : cas particulier de contraintes d'intgrit lie la notion de cl trangre. Cette contrainte interdit d'ajouter ou de supprimer des tuples si cela conduit avoir des cls trangres qui dsignent des tuples inexistants. . dcomposition (algorithme de) : c'est un algorithme qui permet de transformer un schma relationnel qui n'est pas en 3me forme normale en un schma en 3me forme normale. Le principe est celui de dcomposition binaire d'une relation selon une dpendance fonctionnelle. Au bout d'un nombre fini de dcompositions binaires, on obtient un schma en 3me forme normale.

mike@univ-lr.fr

60/

Vocabulaire
dpendances fonctionnelles : proprit d'un schma relationnel qui exprime le fait que la valeur d'un attribut (ou d'un ensemble d'attributs) est dtermine par la valeur d'un autre attribut (ou ensemble d'attributs). Les dpendances fonctionnelles sont la base de l'algorithme de dcomposition ainsi que de la dfinition des formes normales. dictionnaire de donnes (ou mta-base) : un schma relationnel peut tre considr comme de l'information structure et rien n'interdit de dfinir une base de donnes dcrivant un ensemble de schmas relationnels. Cette base est appele dictionnaire de donnes ou mta-base. Elle peut tre manipule l'aide d'un langage de manipulation de donnes comme l'algbre relationnelle ou SQL. domaine : un des concepts du modle relationnel. Un domaine est un ensemble de valeurs dfini de manire intentionnelle ou extensionnelle. Le rle que joue un domaine dans une relation est identifi par l'attribut.
61/

mike@univ-lr.fr

Vocabulaire
extension : ensemble d'informations dont la structure est dfinie dans une intention. On parle d'extension d'une relation (il s'agit alors d'un ensemble de tuples), ou d'extension d'un schma relationnel (il s'agit alors de l'ensemble des extensions des relations composant le schma). formes normales : expression de la qualit d'un schma relationnel. La qualit value est la non-redondance d'informations du schma. La dfinition des formes normales 1 3 est base sur l'tude des dpendances fonctionnelles. Si on veut aller plus loin il faut traiter d'autres dpendances comme les dpendances multivalues. Il ne s'agit pas d'un ordre total mais d'un ordre partiel. Un schma de bonne qualit est en 3me forme normale.

mike@univ-lr.fr

62/

Vocabulaire
index : il s'agit d'un lment du schma physique. Un index est une structure de donnes permettant d'accder de manire efficace un tuple en connaissant la valeur d'un de ses attributs (ou ensemble d'attributs). Les oprations qui sont rendues plus efficaces sont la slection ou la jointure. Dans les systmes commerciaux le type d'index le plus utilis est l'arbre B+. Attention, un index amliore les performances d'accs en interrogation mais pnalise les mises jour et prend de la place sur le disque. intention : dfinition de la structure d'une base de donnes. Intension s'oppose normalement extension.

mike@univ-lr.fr

63/

Vocabulaire
LDD - DDL (langage de description de donnes) : langage permettant de dfinir et modifier la partie intention d'une base de donnes, ainsi que les utilisateurs et leurs droits d'accs. Ce langage est principalement utilis par l'administrateur de la base de donnes. LMD - DML (langage de manipulation de donnes) : langage permettant de manipuler la partie extension d'une base de donnes. Par manipulation on entend l'interrogation, la suppression, l'ajout et la mise jour d'informations. modle de donnes : ensemble de rgles permettant de crer un schma de donnes. les modles les plus connus sont le modle relationnel, le modle Entit-Association.

mike@univ-lr.fr

64/

Vocabulaire
modle Entit-Association : il s'agit d'un modle utilis au niveau conceptuel. C'est un modle intermdiaire entre l'application qui est non formalise et le modle relationnel qui est un modle informatique. Le modle Entit-Association est simple ce qui en fait un outil de dialogue entre informaticiens et utilisateurs. modle relationnel : c'est un modle de donnes dfini par Codd en 1970. Il forme la base de la technologie relationnelle qui s'est impose aujourd'hui.

mike@univ-lr.fr

65/

Vocabulaire
normalisation : processus permettant de passer d'un schma relationnel qui n'est pas en 3me forme normale un schma en 3me forme normale. Ce processus est mis en oeuvre l'aide de l'algorithme de dcomposition ou de l'algorithme de synthse. Ces algorithmes reposent sur la notion de dpendances fonctionnelles. relation (ou table) : Une relation est dfinie par un schma de relation ou intention. Une cl doit tre associe chaque schma de relation. Le contenu ou extension d'une relation est un ensemble de tuples.

mike@univ-lr.fr

66/

Vocabulaire
requte : expression d'un langage de dfinition de donnes ou d'un langage de manipulation de donnes. reprise aprs panne : mcanisme offert par un SGBD pour supporter la proprit d'atomicit (tout ou rien) d'une transaction. La reprise va souvent de paire avec le contrle de concurrence. rtro-conception d'un schma relationnel : on peut obtenir un schma Entit - Association par rtro-conception d'un schma relationnel. Ce processus n'a pas de solution unique. schma conceptuel : correspond au niveau intermdiaire dans l'architecture ANSI/SPARC. Il s'exprime avec le modle Entit-Association dans la phase de conception puis avec un modle informatique de haut niveau comme le modle relationnel.
67/

mike@univ-lr.fr

Vocabulaire
schma entit-association : schma conceptuel exprim avec le modle Entit-Association. On peut transformer un schma Entit - Association en un schma relationnel quivalent. schma externe : un des schmas dfinis dans l'architecture ANSI/SPARC. Il correspond au niveau le plus proche des utilisateurs. Dans les SGBD relationnels il s'exprime par des vues. schma physique : un des schmas dfinis dans l'architecture ANSI/SPARC. Il correspond au niveau le plus proche des disques. Il comprend entre autre la dfinition des index. schma relationnel : il s'agit d'un schma conceptuel exprim avec le modle relationnel. Il est constitu d'un ensemble de schma de relation. La rtro-conception d'un schma relationnel permet d'obtenir un schma Entit - Association.

mike@univ-lr.fr

68/

Vocabulaire
SGBD (Systme de Gestion de Bases de Donnes) : logiciel supportant la dfinition de bases de donnes, leur exploitation efficace, la dfinition d'utilisateurs, le tout dans un contexte multi-utilisateur. Un SGBD est administr par un administrateur de base de donnes. SQL (Structured Query Language) : langage normalis par l'ISO incluant la fois un langage de dfinition de donnes et un langage de manipulation de donnes. SQL est li au modle relationnel. Tous les SGBD supportent SQL mais le plus souvent ils tendent le langage. table : voir relation

mike@univ-lr.fr

69/

Vocabulaire
transaction : programme accdant une base de donnes pour y faire de l'interrogation et/ou de la mise jour. Une transaction doit supporter les proprits ACID (Atomicity, Consistency, Isolation and Durability). La reprise sur panne et le contrle de concurrence sont dfinis dans le contexte de transactions. transformation d'un schma Entit - Association vers un schma relationnel : un schma Entit - Association peut se transformer de manire systmatique vers un schma relationnel quivalent. Cette transformation est d'ailleurs prsente dans de nombreux logiciels de type AGL (Atelier de Gnie Logiciel). tuple (nuplet) : l'extension d'une relation est constitue de tuples. Un tuple est une ligne structure comme une squence de valeurs d'attributs.

mike@univ-lr.fr

70/

TP1 Prise de contact avec DB-Main


Accder la page d origine du logiciel pour rpondre aux questions
quoi sert il? Quels sont ses auteurs? Comment puis je l obtenir ? Quels sont les autres outils de mme type?

Installer le logiciel version la plus rcente sur votre poste si ce n est dj fait. Reprer la documentation, versifier que l aide en ligne est installe. Dans l aide du logiciel DB-Main, raliser pratiquement ce qui est indiqu First Step en binme: a le fait en 1h30. Dans la documentation distribue Introduction to Database Design , sauter le debout et aller directement la prise en main de la leon 1, raliser les pages 1 18. Avant de faire les exercices de la page 19, commencer par raliser ce que nous avons construit au TD1.
NB: La conception ncessite une aptitude au travail en quipe. Ce n est pas difficile, c est juste long et il faut se concentrer . Donc en petite quipe: chaque binme (groupe de 2 3 tudiants) doit essayer d tre autonome autant que faire se peux! L encadrant est votre autre interlocuteur. Votre fichier rsultat de la conception du TD1 est rendre, il sera valu. Dure Maximale 5h.

mike@univ-lr.fr

71/

Nos conseils
Consulter souvent le pointeur de Bernard Morand: c est notre meilleure rfrence pour les dbutants. Elle est bourre de conseils pertinents. Par exemple, trouver la page o l auteur donne la liste ci dessous, il y a des prcisions.
Analyser l'existant et constituer le dictionnaire des donnes purer les donnes : synonymes, poly smes Dgager les entits naturelles grce aux identifiants Rattacher les proprits aux entits Recenser les associations entre entits et leur rattacher leurs ventuelles proprits Dterminer les cardinalits de chaque couple entit - association Dcomposer si possible l'aide des contraintes d'intgrit fonctionnelle Vrifier le modle : s'assurer de la conformit aux rgles de construction Normaliser le modle : s'assurer qu'il est au moins en 3me Forme Normale.
mike@univ-lr.fr 72/

Sommaire

Les objectifs des systmes de gestion de bases de donnes Les concepts de base et modles

mike@univ-lr.fr

73/

Modle de donnes E_A les cardinalits


COMPARAISON MODELE E/A ET RELATIONNEL MODELE E/A MODELE RELATIONNEL ensemble d'entit entit attribut simple attribut composite attribut driv ensemble d'entit faible ensemble d'association association relation nuplet attribut atomique simul par un ensemble d'attributs simul par une vue simul par une relation relation nuplet

mike@univ-lr.fr

74/

Entit-Association : dimensions d'une association


On appelle DIMENSION d'une association le nombre d'entits qu'elle relie. On dit souvent : son nombre de "pattes".

Remarques : Une association qui relie seulement deux entits est donc un cas particulier. Il n'existe pas de limite au nombre de pattes d'une association. Cependant un nombre de pattes lev est un indice que l'tude a t superficielle et approximative.
Association de dimension 2 : 70% Associations de dimension 3 : un peu moins de 30% au-del : epsilon.

mike@univ-lr.fr

75/

Sommaire

Les objectifs des systmes de gestion de bases de donnes Les concepts de base et modles

Les modles de MERISE

mike@univ-lr.fr

76/

Entit-Association : association reflexive


Cas particulier de l'association dite "rflexive" : Une association "rflexive" est une association qui lie des occurrences d'une mme entit entre elles (c'est un cas particulier de la dimension 2) . Si l'on reprsente le schma en paisseur avec un seul exemple, on obtient en effet (avec en prime quelques problmes supplmentaires) :

mike@univ-lr.fr

77/

Association ternaire
Supposons une socit immobilire dont l'activit consiste louer des locaux commerciaux .

Une association est une trace d'vnement et non celle d'un tat de choses

mike@univ-lr.fr

78/

Association ternaire
Supposons qu'il soit ncessaire de "matriser les dpenses de sant". Il nous faut savoir ce que font exactement les mdecins du Centre Mdical.

Une association est une trace d'vnement et non celle d'un tat de choses

mike@univ-lr.fr

79/

Dans la dtermination des cardinalits, c'est moins le rsultat qui compte, que le raisonnement qui est conduit et : - qui permet d'interroger le monde - qui fournit le moteur ncessaire la dcouverte de nouvelles entits et associations

mike@univ-lr.fr

80/

CONTRAINTE D'INTEGRITE FONCTIONNELLE


Dcomposition de certaines associations de dimension suprieure 2

mike@univ-lr.fr

81/

Contrainte d Intgrit Fonctionnelle (CIF)


Une Contrainte d'Intgrit Fonctionnelle (en abrg : CIF) se dfinit par le fait que l'une des entits participant l'association est compltement dtermine par la connaissance d'une ou plusieurs autres entits participant dans cette mme association. CAS TRIVIAL DE L'ASSOCIATION DE DIMENSION 2 : La CIF consiste simplement en une cardinalit 1,1 sur l'une des pattes : a connaissance d'une commande dtermine celle du reprsentant qui l'a prise : il n'y en a qu'un.
mike@univ-lr.fr 82/

Contrainte d Intgrit Fonctionnelle (CIF)

CAS D'UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 :


Supposons que l'on veuille raliser un annuaire des spectacles de thtre de l'agglomration X qui fournisse la liste des thtres, des pices qui y sont l'affiche ainsi que des acteurs qui jouent dans ces pices. Supposons maintenant qu'il existe une rgle selon laquelle les thtres ont l'exclusivit des pices reprsentes. Autrement dit, une pice est joue dans un thtre et un seul. Nous sommes en prsence d'une CIF : la connaissance de la pice implique celle du thtre (le seul qui soit autoris la mettre l'affiche)

mike@univ-lr.fr

83/

Contrainte d Intgrit Fonctionnelle (CIF)

CAS D'UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 :


Supposons maintenant qu'il existe une rgle selon laquelle les thtres ont l'exclusivit des pices reprsentes. Autrement dit, une pice est joue dans un thtre et un seul. Nous sommes en prsence d'une CIF : la connaissance de la pice implique celle du thtre (le seul qui soit autoris la mettre l'affiche)

Mais, puisque connaissant la pice, on peut en dduire le thtre, on peut dtacher l'entit THEATRE de l'association JOUER : Si on sait dans quelles pices jouent les acteurs, on pourra toujours retrouver LE thtre associ chaque pice.

mike@univ-lr.fr

84/

Contrainte d Intgrit Fonctionnelle (CIF)


Plus gnralement : Dans le cas d'une association de dimension suprieure 2 et lorsqu'il y a une CIF, l'entit dtermine peut tre dtache de l'association initiale pour rester associe avec la seule entit dterminante.

mike@univ-lr.fr

85/

Contrainte d Intgrit Fonctionnelle (CIF)


CAS D'UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 : (suite).


Dans une association de dimension 3, une rgle nous dit que : "s'il existe une occurrence d'association, alors, il existe ncessairement une occurrence de chacune des entits associes". Mais si quelque chose est jou, il y a ncessairement un acteur, une pice et un thtre. Or, cette information n'est plus donne par le modle dcompos. Il permet pour une occurrence d'acteur de jouer dans une pice qui n'est l'affiche d'aucun thtre. La solution est d ajouter une association supplmentaire pour ne pas perdre d information.

mike@univ-lr.fr

86/

Contrainte d Intgrit Fonctionnelle (CIF)


CAS D'UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 : (suite).


Dans une association de dimension 3, une rgle nous dit que : "s'il existe une occurrence d'association, alors, il existe ncessairement une occurrence de chacune des entits associes". Mais si quelque chose est jou, il y a ncessairement un acteur, une pice et un thtre. Or, cette information n'est plus donne par le modle dcompos. Il permet pour une occurrence d'acteur de jouer dans une pice qui n'est l'affiche d'aucun thtre. La solution est d ajouter une association supplmentaire pour ne pas perdre d information.

mike@univ-lr.fr

87/

Contrainte d Intgrit Fonctionnelle (CIF)


LE CAS EMBETANT OU LA DECOMPOSITION NE MARCHE PAS : DEUX ENTITES DETERMINENT A ELLES 2 UNE AUTRE ENTITE. Dans un lyce, les professeurs donnent des cours des classes dans certaines matires. Mais on sait encore que dans une matire, une classe n'a qu'un seul professeur. Ceci peut s'crire ainsi : CLASSE * MATIERE -> PROFESSEUR

ce seront les procdures de saisie et mise jour des classes, matires et profs qui devront s'assurer que pour chaque couple matire * classe il n'y a bien qu'un prof. Ce que le schma de la BD sera bien incapable de vous garantir lui tout seul.
88/

mike@univ-lr.fr

retenir
Une justification de Merise Une prsetation Gnrale du Modle Entit -Association , en Anglais E-R (Entity Relationship) Occurrences Entits Associations (binaires, rflexives, n-aires; et CIF) Cardinalits Identifiants et dpendances fonctionnelles Diagrammes E-A (avec DB-main) Rductions des diagrammes E-A (sans passer par les CIF)
Entits fortes, Entits faibles, Classes d'Associations

Gnralisation- spcialisation Agrgation

mike@univ-lr.fr

89/

TD1 vers la gestion d une Mdiathque (2/2)


Donner pour le texte du sujet distribu:
Q1 la liste des proprits
(avec types, calculs ou pas,) (avec 3 exemples pour chacune,)

Q2 la liste des entits Q3 la liste des associations


(avec pour chacune les entits concernes, la justification que c est un fait et non pas un tat, l usage prvu)

Q3 Les associations Q4 Les associations avec identifiants et autres proprits Q5 Le schma EA avec cls et cardinalits Q6 Le schma logique?

(nb: laisser les tudiants trouver seuls, en petits groupes)

mike@univ-lr.fr

90/

Vocabulaire
administrateur de base de donnes (DBA) : utilisateur privilgi en charge de concevoir et de faire voluer les schmas externes, le schma conceptuel et le schma physique d'une base de donnes. C'est lui qui utilise un langage de dfinition de donnes. architecture ANSI/SPARC : architecture de rfrence d'un SGBD. Elle est constitue de 3 niveaux : le niveau externe (proche des utilisateurs) le niveau conceptuel (celui du milieu) et le niveau physique (celui des disques)

mike@univ-lr.fr

91/

Vocabulaire
attribut : c'est un des concepts du modle relationnel. Un attribut dsigne un domaine par un nom qui identifie le rle jou par l'attribut dans la relation. base de donnes : c'est une collection d'informations structures. Cette structure est dfinie par un schma (appel aussi intention) dcrit selon un modle de donnes. Les donnes respectent le schma et sont appeles aussi extension. base de donnes rpartie : c'est une base de donnes dont l'extension est rpartie sur diffrents sites et l'intension est duplique sur tous ces sites. Une base de donnes rpartie est supporte par un SGBD rparti.

mike@univ-lr.fr

92/

Vocabulaire
cl : un des concepts du modle relationnel. Une cl est compose d'un ou plusieurs attributs d'un schma de relation dont la valeur permet de dsigner au plus un tuple de l'extension de la relation. cl trangre : c'est un concept du modle relationnel. Une cl trangre est constitue d'un ou plusieurs attributs d'un schma de relation qui sont la cl d'un autre schma de relation. Cela permet de reprsenter une notion de pointeur symbolique entre deux tuples. Une contrainte d'intgrit rfrentielle doit tre associe chaque cl trangre. contraintes d'intgrit : il s'agit d'une proprit du schma qui permet de restreindre l'ensemble des valeurs prises par l'extension de la base de donnes aux valeurs du monde rel. Un petit nombre de contraintes d'intgrit peuvent tre codes directement par un SGBD relationnel, la plupart doivent tre codes dans les programmes d'applications, par exemple crit en embedded SQL.

mike@univ-lr.fr

93/

Vocabulaire
contraintes d'intgrit rfrentielle : cas particulier de contraintes d'intgrit lie la notion de cl trangre. Cette contrainte interdit d'ajouter ou de supprimer des tuples si cela conduit avoir des cls trangres qui dsignent des tuples inexistants. . dcomposition (algorithme de) : c'est un algorithme qui permet de transformer un schma relationnel qui n'est pas en 3me forme normale en un schma en 3me forme normale. Le principe est celui de dcomposition binaire d'une relation selon une dpendance fonctionnelle. Au bout d'un nombre fini de dcompositions binaires, on obtient un schma en 3me forme normale.

mike@univ-lr.fr

94/

Vocabulaire
dpendances fonctionnelles : proprit d'un schma relationnel qui exprime le fait que la valeur d'un attribut (ou d'un ensemble d'attributs) est dtermine par la valeur d'un autre attribut (ou ensemble d'attributs). Les dpendances fonctionnelles sont la base de l'algorithme de dcomposition ainsi que de la dfinition des formes normales. dictionnaire de donnes (ou mta-base) : un schma relationnel peut tre considr comme de l'information structure et rien n'interdit de dfinir une base de donnes dcrivant un ensemble de schmas relationnels. Cette base est appele dictionnaire de donnes ou mta-base. Elle peut tre manipule l'aide d'un langage de manipulation de donnes comme l'algbre relationnelle ou SQL. domaine : un des concepts du modle relationnel. Un domaine est un ensemble de valeurs dfini de manire intentionnelle ou extensionnelle. Le rle que joue un domaine dans une relation est identifi par l'attribut.

mike@univ-lr.fr

95/

Vocabulaire
extension : ensemble d'informations dont la structure est dfinie dans une intention. On parle d'extension d'une relation (il s'agit alors d'un ensemble de tuples), ou d'extension d'un schma relationnel (il s'agit alors de l'ensemble des extensions des relations composant le schma). formes normales : expression de la qualit d'un schma relationnel. La qualit value est la non-redondance d'informations du schma. La dfinition des formes normales 1 3 est base sur l'tude des dpendances fonctionnelles. Si on veut aller plus loin il faut traiter d'autres dpendances comme les dpendances multivalues. Il ne s'agit pas d'un ordre total mais d'un ordre partiel. Un schma de bonne qualit est en 3me forme normale.

mike@univ-lr.fr

96/

Vocabulaire
index : il s'agit d'un lment du schma physique. Un index est une structure de donnes permettant d'accder de manire efficace un tuple en connaissant la valeur d'un de ses attributs (ou ensemble d'attributs). Les oprations qui sont rendues plus efficaces sont la slection ou la jointure. Dans les systmes commerciaux le type d'index le plus utilis est l'arbre B+. Attention, un index amliore les performances d'accs en interrogation mais pnalise les mises jour et prend de la place sur le disque. intention : dfinition de la structure d'une base de donnes. Intension s'oppose normalement extension.

mike@univ-lr.fr

97/

Vocabulaire
LDD - DDL (langage de description de donnes) : langage permettant de dfinir et modifier la partie intention d'une base de donnes, ainsi que les utilisateurs et leurs droits d'accs. Ce langage est principalement utilis par l'administrateur de la base de donnes. LMD - DML (langage de manipulation de donnes) : langage permettant de manipuler la partie extension d'une base de donnes. Par manipulation on entend l'interrogation, la suppression, l'ajout et la mise jour d'informations. modle de donnes : ensemble de rgles permettant de crer un schma de donnes. les modles les plus connus sont le modle relationnel, le modle Entit-Association.

mike@univ-lr.fr

98/

Vocabulaire
modle Entit-Association : il s'agit d'un modle utilis au niveau conceptuel. C'est un modle intermdiaire entre l'application qui est non formalise et le modle relationnel qui est un modle informatique. Le modle Entit-Association est simple ce qui en fait un outil de dialogue entre informaticiens et utilisateurs. modle relationnel : c'est un modle de donnes dfini par Codd en 1970. Il forme la base de la technologie relationnelle qui s'est impose aujourd'hui.

mike@univ-lr.fr

99/

Vocabulaire
normalisation : processus permettant de passer d'un schma relationnel qui n'est pas en 3me forme normale un schma en 3me forme normale. Ce processus est mis en oeuvre l'aide de l'algorithme de dcomposition ou de l'algorithme de synthse. Ces algorithmes reposent sur la notion de dpendances fonctionnelles. relation (ou table) : Une relation est dfinie par un schma de relation ou intention. Une cl doit tre associe chaque schma de relation. Le contenu ou extension d'une relation est un ensemble de tuples.

mike@univ-lr.fr

100/

Vocabulaire
requte : expression d'un langage de dfinition de donnes ou d'un langage de manipulation de donnes. reprise aprs panne : mcanisme offert par un SGBD pour supporter la proprit d'atomicit (tout ou rien) d'une transaction. La reprise va souvent de paire avec le contrle de concurrence. rtro-conception d'un schma relationnel : on peut obtenir un schma Entit - Association par rtro-conception d'un schma relationnel. Ce processus n'a pas de solution unique. schma conceptuel : correspond au niveau intermdiaire dans l'architecture ANSI/SPARC. Il s'exprime avec le modle Entit-Association dans la phase de conception puis avec un modle informatique de haut niveau comme le modle relationnel.

mike@univ-lr.fr

101/

Vocabulaire
schma entit-association : schma conceptuel exprim avec le modle EntitAssociation. On peut transformer un schma Entit - Association en un schma relationnel quivalent. schma externe : un des schmas dfinis dans l'architecture ANSI/SPARC. Il correspond au niveau le plus proche des utilisateurs. Dans les SGBD relationnels il s'exprime par des vues. schma physique : un des schmas dfinis dans l'architecture ANSI/SPARC. Il correspond au niveau le plus proche des disques. Il comprend entre autre la dfinition des index. schma relationnel : il s'agit d'un schma conceptuel exprim avec le modle relationnel. Il est constitu d'un ensemble de schma de relation. La rtroconception d'un schma relationnel permet d'obtenir un schma Entit Association.

mike@univ-lr.fr

102/

Vocabulaire
SGBD (Systme de Gestion de Bases de Donnes) : logiciel supportant la dfinition de bases de donnes, leur exploitation efficace, la dfinition d'utilisateurs, le tout dans un contexte multi-utilisateur. Un SGBD est administr par un administrateur de base de donnes. SQL (Structured Query Language) : langage normalis par l'ISO incluant la fois un langage de dfinition de donnes et un langage de manipulation de donnes. SQL est li au modle relationnel. Tous les SGBD supportent SQL mais le plus souvent ils tendent le langage. table : voir relation

mike@univ-lr.fr

103/

Vocabulaire
transaction : programme accdant une base de donnes pour y faire de l'interrogation et/ou de la mise jour. Une transaction doit supporter les proprits ACID (Atomicity, Consistency, Isolation and Durability). La reprise sur panne et le contrle de concurrence sont dfinis dans le contexte de transactions. transformation d'un schma Entit - Association vers un schma relationnel : un schma Entit - Association peut se transformer de manire systmatique vers un schma relationnel quivalent. Cette transformation est d'ailleurs prsente dans de nombreux logiciels de type AGL (Atelier de Gnie Logiciel). tuple (nuplet) : l'extension d'une relation est constitue de tuples. Un tuple est une ligne structure comme une squence de valeurs d'attributs.

mike@univ-lr.fr

104/

TP1 Prise de contact avec DB-Main


Accder la page d origine du logiciel pour rpondre aux questions
qoui sert il? Quels sont ses auteurs? Comment puis je l obtenir ? Quels sont les autres outils de mme type?

Installer le logiciel version la plus rcente sur votre poste si ce n est dj fait. Reprer la documentation, versifier que l aide en ligne est installe. Dans l aide du logiciel DB-Main, raliser pratiquement ce qui est indiqu First Step en binme: a le fait en 1h30. Dans la documentation distribue Introduction to Database Design , sauter le debout et aller directement la prise en main de la leon 1, raliser les pages 1 18. Avant de faire les exercices de la page 19, commencer par raliser ce que nous avons construit au TD1.
NB: La conception ncessite une aptitude au travail en quipe. Ce n est pas difficile, c est juste long et il faut se concentrer . Donc en petite quipe: chaque binme (groupe de 2 3 tudiants) doit essayer d tre autonome autant que faire se peux! L encadrant est votre autre interlocuteur. Votre fichier rsultat de la conception du TD1 est rendre, il sera valu. Dure Maximale 5h.

mike@univ-lr.fr

105/

Nos conseils
Consulter souvent le pointeur de Bernard Morand: c est notre meilleure rfrence pour les dbutants. Elle est bourre de conseils pertinents. Par exemple, trouver la page o l auteur donne la liste ci dessous, il y a des prcisions.
Analyser l'existant et constituer le dictionnaire des donnes purer les donnes : synonymes, poly smes Dgager les entits naturelles grce aux identifiants Rattacher les proprits aux entits Recenser les associations entre entits et leur rattacher leurs ventuelles proprits Dterminer les cardinalits de chaque couple entit - association Dcomposer si possible l'aide des contraintes d'intgrit fonctionnelle Vrifier le modle : s'assurer de la conformit aux rgles de construction Normaliser le modle : s'assurer qu'il est au moins en 3me Forme Normale.

mike@univ-lr.fr

106/

Rpondre aux questions


Lecture des cardinalits dans les applications n-aires liens d usage (acsi/donnees1/ea7ea.htm)

mike@univ-lr.fr

107/

acsi/donnees1/ea7ea.htm
Une Centrale d'Achats commune tous les hypermarchs de la marque X dispose de plusieurs entrepts dans lesquels sont stocks des articles. Chaque hypermarch passe ses commandes auprs de la Centrale en indiquant le ou les entrepts et le ou les articles concerns. On veut modliser ce systme.
Version 1 : la plus gnrale. Version 2 : Un entrept dessert une zone gographique : tous les hypermarchs situs dans cette zone ne peuvent commander qu' l'entrept le plus proche. Un entrept dessert une zone gographique : tous les hypermarchs situs dans cette zone ne peuvent commander qu' l'entrept le plus proche. Version 3 : Un entrept est spcialis dans certains articles : certains s'occupent des liquides,d'autres des fruits et lgumes, d'autres des textiles , etc. Version 4 : On fonctionne selon les deux rgles prcdentes la fois : les entrepts ont des spcialits et des zones gographiques.

mike@univ-lr.fr

108/

TD2 interprtation des cardinalits:


la dfinition de la cardinalit est :
Pour une occurrence de l'entit, combien d'occurrences de l'association ?

Et non pas :
combien d'occurrences d'une entit ? Ce qui ne marche que dans le cas particulier d'une association de dimension 2 du fait de la pure concidence entre l'association et l'entit qu'elle rattache.

D ou l erreur dans le SUJET du TD2, exercice 3: les cardinalits attaches au type de location sont 0,n et non pas 1,N; A partir de l le texte du corrig distribu s applique.
Diffrences de conventions Merise d une part et OMT, UML d autre part. (nb: laisser les tudiants trouver seuls, en petits groupes, dure 2h pour exos 1,2 et 3)

mike@univ-lr.fr

109/

Concepts de base
Nous avons besoin d une mthode, et ce sera Merise

MERISE

Mthode d'tude et de Ralisation Informatique pour les Systmes d'Entreprise. A software engineering method popular in France;

Mthode de gestion des grands projets de gnie logiciel. Elle permet de raliser un dcoupage en tches, d'affecter ces tches des quipes ou personnes diffrentes et d'oprer en phase finale la convergence et le contrle des travaux individuels vers le produit fini. Elle insiste, comme bien d'autres mthodes, sur la sparation des donnes et des traitements.

mike@univ-lr.fr

110/

Pourquoi une mthode?


Ne rien oublier Normaliser Communication Plus vite Problmes de cohrence (donnes) => Baisse des coups et des dlais

mike@univ-lr.fr

111/

Pourquoi MERISE?
Ne en 1978 Parents : Cap (SSII) et le ministre de l'intrieur Utilise dans l'administration et partout ailleurs partir de 82-85 Concurrents anglo-saxon : AXIAL, SSADA, ......OMT,UML

PRINCIPES :

Approche systmique (systme, vision globale) et non approche analytique (vision partielle) Sparation donnes / traitement Intgrer les besoins utilisateur Intgrer l'approche technologique (BDD, Rseaux,)

OBJECTIFS :

Approche globale du SI; Langage commun et couverture de l'ensemble du cycle de vie d'un projet.

mike@univ-lr.fr

112/

Pourquoi MERISE?
COUVERTURE DES CYCLES :
CYCLE DE VIE :
Conception : conception et gestation Ralisation : naissance, croissance, maturit Maintenance : obsolescence, mort

CYCLE DE DCISION :
Dcisions, positions prises pendant le cycle de vie Dcoupage du SI en domaines Orientation de gestion et d'organisation (RG, RO) Orientations technologiques Planification

CYCLE D'ABSTRACTION :
lment rel (BU) => E1 => E2 => E3 => Mise en uvre
Approche par niveau , Vrifier la cohrence du SI Niveau = 1 problme = 1 question; Simuler Trois niveaux Conceptuel, Organisationnel et Oprationnel

mike@univ-lr.fr

113/

Les modles de MERISE


Niveau de Choix modlisation Proccupations Modle de Donnes Modle de Traitement

Conceptuel

Gestion

Quoi, que veut -on faire?

MCD Quelles donnes et quels liens entre les donnes? MLD Comment organiser le stockage des donnes?

MCT Quels traitements? MOT Comment Organiser les traitements?

Logique

Organisation Qui fait quoi et o? Quand et comment? Techniques Avec quels moyens?

Physique

MPD MopT Comment stocker Modle Oprationnel des effectivement les donnes? Traitements. Comment raliser ces traitements?

mike@univ-lr.fr

114/

Les modles de MERISE


mmm

mike@univ-lr.fr

115/

NIVEAU CONCEPTUEL :
Description des invariants (sans se soucier du type de machine)
=> Solution conceptuelle (en fonction des RG, indpendance du niveau d'automatisation) => Quoi ?

NIVEAU ORGANISATIONNEL :
Type de ressources utilises Affectation de ces ressources
=> Solution organisationnelle (en fonction des RG, rle homme/machine, rpartition gographique, changes dans le temps) => Qui ? Ou ? Quand ?

NIVEAU OPERATIONNEL :
Adapter le niveau organisationnel aux choix technologiques de l'entreprise. => Comment ?

mike@univ-lr.fr

116/

Tableau de synthse sur le CYCLE D'ABSTRACTION :


+---------------------+-------------+--------------------+ | MCC | Donnes | Traitement | +---------------------+-------------+--------------------+ | Conceptuel | MCD | MCT | | Organisationnel | MLD | MOT | | Oprationnel | MPD | MOPT | +----------------------+------------+---------------------+ M : modle, C : conceptuel, D : donnes, T : traitement, L : logique, P : physique, O : organisationnel, C : communication, O : oprationnel

mike@univ-lr.fr

117/

Le suivi d un projet MERISE ou l analyse d un SI


Une dmarche par tapes:
dmarche par tapes pour hirarchisation des dcisions prendre au cours de la conception, de dveloppement, de la mise en uvre du nouveau SI, mais aussi de l volution du systme qui sera mis en place.

Le schma directeur L tude pralable L tude dtaille La ralisation La mise en uvre et la gnration La Maintenance.

mike@univ-lr.fr

118/

Le suivi d un projet MERISE ou l analyse d un SI


Le schma directeur
rflexion globale et de planification du dveloppement
objectif:faire le point entre la stratgie de l entreprise et ses besoins en terme de SI

comment?
dcomposer l entreprise en domaine de gestion identification en parallle des activits qui sont des finalits stratgiques
ex: concevoir des produits nouveaux, les vendre, acheter des matires premires, grer le personnel.

Affecter les finalits aux domaines correspondants rechercher les facteurs critiques du succs et dont identifier les besoins en termes de SI par domaine tablir les priorits aprs arbitrages ventuels et rdiger le plan directeur.

mike@univ-lr.fr

119/

Le suivi d un projet MERISE ou l analyse d un SI


Le schma directeur L tude pralable
reprendre l tude pralable plus approfondies et rechercher par domaine les projets mettre en uvre; constituer un dossier des choix pour l informatisation. Examiner les possibilits d actualisation du schma directeur dfinir les principales solutions envisageables en prcisant pour chacune d elles, les avantages et les inconvnients(cot, dlais,) Une maquette est un ensemble de logiciel ayant pour vacation dmontrer la faisabilit d une application de gestion ou en illustrer les fonctionnalits du point de vue externe, celui de l utilisateur. (niveau logique) Un prototype intgre tout ou parties des donnes relles d entres; et le point de vue pris en compte est le point de vue externe, celui du ralisateur.(niveau physique)

mike@univ-lr.fr

120/

Le suivi d un projet MERISE ou l analyse d un SI


Le schma directeur L tude pralable L tude dtaille
de la solution qui a t choisie l tude pralable Il y a une tude fonctionnelle(niveau conceptuel) (niveau logique)
pour rdiger le dossier des spcifications fonctionnelles et le cahier des charges de l utilisateur.

une conception ou une tude technique(niveau physique)


pour rdiger le dossier des spcifications techniques et le cahier des charges de ralisation

mike@univ-lr.fr

121/

Le suivi d un projet MERISE ou l analyse d un SI


Le schma directeur L tude pralable L tude dtaille La ralisation
codage de programme test et mise au point intgration de l ensemble
pour produire une documentation technique d exploitation

(niveau physique avec production d un prototype)

mike@univ-lr.fr

122/

Le suivi d un projet MERISE ou l analyse d un SI


Le schma directeur L tude pralable L tude dtaille La ralisation La mise en uvre et la gnration
cration et initialisation des bases de donnes rception ventuelle et installation de nouveau matriel informatique rdaction des manuels pour les futurs utilisateurs formation des futurs utilisateurs aux nouvelles applications lancement des nouvelles applications en parallle avec les anciennes lancement dfinitif des nouvelles applications aprs essais.
Cette tape est enclenche trs tt, ds le dbut de l tude pralable...

mike@univ-lr.fr

123/

Le suivi d un projet MERISE ou l analyse d un SI


Le schma directeur L tude pralable L tude dtaille La ralisation La mise en uvre et la gnration
cration et initialisation des bases de donnes rception ventuelle et installation de nouveau matriel informatique rdaction des manuels pour les futurs utilisateurs formation des futurs utilisateurs aux nouvelles applications lancement des nouvelles applications en parallle avec les anciennes lancement dfinitif des nouvelles applications aprs essais.
Cette tape est enclenche trs tt, ds le dbut de l tude pralable

La gnration consiste mettre l ensemble du systme disposition des utilisateurs; il faut produire un dossier de mise en exploitation.

mike@univ-lr.fr

124/

Le suivi d un projet MERISE ou l analyse d un SI


Le schma directeur L tude pralable L tude dtaille La ralisation La mise en uvre et la gnration La Maintenance.
Maintenance fonctionnalit constantes Mise niveau Maintenance fonctionnalit croissantes

mike@univ-lr.fr

125/

Le suivi d un projet MERISE ou l analyse d un SI


Une dmarche par tapes:
dmarche par tapes pour hirarchisation des dcisions prendre au cours de la conception, de dveloppement, de la mise en uvre du nouveau SI, mais aussi de l volution du systme qui sera mis en place.

Le schma directeur L tude pralable L tude dtaille La ralisation La mise en uvre et la gnration La Maintenance.

mike@univ-lr.fr

126/

MCD: travail prparatoire


Collecter des Informations Valider les informations lors des entretiens Construire le schma de circulation de l information Faire l inventaire des donnes Le dictionnaire de donnes Le modle EA ...

mike@univ-lr.fr

127/

MCD: travail prparatoire


Collecter des Informations
consulter tout le systme documentaire pour raliser un projet documents manipuls
dossiers, tats informatiques, catalogues, etc) facture commandes, relevs, etc ( forme vierge et pourvue de donnes) description de tous les tats obtenus si elles existent.

Valider les informations lors des entretiens


soit auprs des utilisateurs du systme actuel soit auprs des autres acteurs de l entreprise En recherchant les bons interlocuteurs (prendre des contacts prliminaires, prparer les points aborde, impliquer, ).

mike@univ-lr.fr

128/

MCD: travail prparatoire


Collecter des Informations Valider les informations lors des entretiens Construire le schma de circulation de l information
document qui sert aussi bien l analyse des donnes qu a celle des traitements. Permet de reprsenter la circulation des informations entre les diffrents acteurs (ou intervenants) du SI comment?
Recensement des acteurs et des messages(tout support d information: document, appel tlphonique, listing)
Matrialisation des acteurs (en cercles pleins pou les acteurs internes, en pointills pour les acteurs externes) Matrialisation des messages (flches) et sont appels des flux d information.

mike@univ-lr.fr

129/

acteurs et flux

mike@univ-lr.fr

130/

MCD: travail prparatoire


Collecter des Informations Valider les informations lors des entretiens Construire le schma de circulation de l information Faire linventaire des donnes
recensement des donnes (confirmations pendant les interviews) donnes brutes
nom ou libell regle de gestion associe pour les donnes calcules type correspondance avec le document ou elle se trouve

Le dictionnaire de donnes Le modle EA

mike@univ-lr.fr

131/

MCD: travail prparatoire


Collecter des Informations Valider les informations lors des entretiens Construire le schma de circulation de l information Faire linventaire des donnes Le dictionnaire de donnes
puration des donnes
polysmie (un code, plusieurs donnes)
ex: date ie dateDeDebutDeStage ou dateDeSignatureDeLaConvention de stage?

Synonymie (une donne, plusieurs codes)


ex: nomDuProduit, libellArticle

Proprits calcules (donc redondante)


RG1: dateDeFinDeStage = dateDeDebutDeStage + dure

Proprit non stables

Le modle EA

mike@univ-lr.fr

132/