Вы находитесь на странице: 1из 93

BASES DE DONNEES RELATIONNELLES POUR LE WEB

IMAFA O5 LOGO2 PARTIE I

SI 5 MAM5 - MS IFI -MS IMAFA 2010-2011


Anne-Marie Hugues, Philippe Salvan

hugues@polytech.unice.fr
http://www.essi.fr/~hugues/BDR/LOG2

Sera complte par


SI5 - IFI: bases de donnes orientes objets IMAFA: informatique distribue (xml ; .net) Evaluation:

Partie 1: sur Tds et projet ralis en trinme compte pour 50% de la note du module Partie 2 : examen sur table individuels et TPS en binmes

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 2

Objectifs de la premire partie

Connaissances:

Savoir faire:

Comprendre la ncessit de grer la persistance des donnes. Juger de l'adquation d'un outil de modlisation. Evaluer la pertinence de la localisation des traitements des donnes sur architectures rparties (client/serveur et multi tier ).

Concevoir

des bases de donnes relationnelles efficaces (normalises). ORM et UML. Resin, Postgres SQL(SGBD), Java (JSP, JDBC, EJB)

Utiliser

Programmer

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 3

Agenda partie 1

Cours 5/10 : Conception de bases de donnes relationnelles ORM (Object Role Modeling), AMH 12/10: Philippe Salvan

Mise en uvre sur mini-projet avec Postgresql, resin et IHM web

26/10: Philippe Salvan

Mapping objet /relationnel Transactions et d'accs aux donnes EJB

concurrence

4 sances de TD 19/10 : TD conception 4h 26/10 : td- 2h remise d'un rapport de conception de la bd au dbut du cours (0.25%) - Td cration de la BD Sous Postgres, 2/11 : td interrogation de la bd

2/11:Philippe Salvan

9/11 : maquettage 16/11 et 24/11 : TD 4h codage mini projet

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 4

Partie I : Conception de bases de donnes relationnelles


Introduction Conception de systmes d information Outils de modlisation : MERISE, UML Dpendances fonctionnelles, Formes normales

Systmes dinformation dfinition et critres de qualit


Acteur envoyant des vnements

Donnes de lApplication Donnes mtiers Donnes de lenvironnement

Programmes et Bases de donnes Informations vhicules par messages permettant la prise de dcision
acteur

informations

SI

Entreprise Environnement

Pertinence; Efficacit; Robustesse; Evolutivit; Automatisme


V 1.0 -- 05/10/11 Anne-Marie Hugues BD Relationnelles

-- 6

Systmes d'information Fonctions?? exemples


Fournir linformation pertinente de manire transparente mmoriser; retrouver ; dduire mettre jour ; grer protger l'intgrit Reflter lorganisation (droit daccs, . . . ) Supporter lvolution du systme (extensibilit)

Systme de paye, reporting de stock, . . . =Systmes de gestion Applications bancaire, centrale dachat, billetterie, . . . = Systmes transactionnels Bibliothque, partage de code source, . . . = Systme de documentation Pages jaunes, Pages blanches, entreprise = Systme dannuaire

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 7

Systmes d'information une histoire de tiers


Modle 1Tiers (Mainframe)
Approche centralise Manipulation physique des systmes

Modle 2Tiers (Client / Serveur)


Le serveur gre la BD Le client doit traiter linformation cf.TP1

Modle 3 ou nTiers (Serveur dapplication)


Un serveur gre la BD Un (autre ?) serveur gre le traitement Le client soccupe de linteraction cf.TP2
V 1.0 -- 05/10/11 Anne-Marie Hugues BD Relationnelles -- 8

Systmes d'information une petite histoire


SI Gestion : Depuis annes 60-70
Annes 80: modle relationnel, rpartition des donnes Dbut 90s: rationalisation de la gestion, mode client serveur : ERP Depuis 95: vers le e-business, interoprabilit Groupware (lotus notes); Gestion Electronique de Documents Supply chain (logistique) ; Gestion du workflow Gestion de la relation client (CRM)

SI Dcision
Depuis 95: tirer profit des donnes accumules Analyser de grandes masses de donnes, agrger Datawarehouse, datamining : BD + analyse de donnes (stats)

Domotique , immotique : SI Temps rel Knowledge management : Bases de donnes +Intelligence Artificielle
V 1.0 -- 05/10/11 Anne-Marie Hugues BD Relationnelles -- 9

Systmes d'information Cloud computing


Les SI perus comme un service
les utilisateurs n'ont plus besoin de savoir comment a marche

Agilit, fiabilit, Performance garantie APIs Indpendant de la localisation (web) Cots en baisse, partage Scalabilit Maintenance facilite

V 1.0 -- 05/10/11

BD Relationnelles

Les composants du SI

Individus O rga nisa tion e t adm inistratio n

T e ch nologie

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 11

Les phases du SI - cycle de vie


Dfinition Recueil des besoins : (cahier des charges, scnarios) Conception univers du discours Modle de donnes Architecture logicielle Persistance? Interfaces

Construction itrative
Conception rflchie; viser les qualits sus-mentionnes Exploitation Qualification Dploiement, diffusion Gestion rseaux Support, volutions
V 1.0 -- 05/10/11 Anne-Marie Hugues

Production Codage Choix des supports physiques Dfinition des droits d'accs Validation Alimentation du SI

BD Relationnelles

-- 12

Cas les plubo


L'entreprise LESPLUBO est spcialise dans la confection et la vente de vtements HOMME, FEMME, ENFANT. Son sige est localis Nice. On y trouve la direction gnrale, les locaux administratifs, des ateliers de dcoupe et d'assemblage de vtements. La vente des vtements se fait travers un rseau de 500 boutiques localises en France, ne proposant que des produits de la marque. La marque LESPLUBO sort 6 collections Femme, 2 collections Homme ,2 collections Enfants par an. Chaque collection comprend 25 modles au maximum, chacun dans 5 tailles diffrentes. Chaque modle est propos dans 5 couleurs diffrentes pour les collections Femme et 2 couleurs diffrentes dans les collections Homme et Enfant. L'entreprise dispose dun rseau Intranet reliant le sige aux boutiques et souhaite en profiter pour automatiser le processus de rapprovisionnement des articles vendus. On dsire galement, grer l'activit des vendeurs intra et inter-boutiques et fidliser les clients. L'activit des vendeurs et des clients sera tudie la fois en terme de volume et de chiffre d'affaires

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 13

Cas les plubo: Rgles (mtiers) de rassortiment du stock


Les boutiques fonctionnent en mode push, cest dire quelles sont rapprovisionnes automatiquement en fonction de leurs ventes selon une politique dfinie par le sige et non pas selon des commandes dont elles auraient le libre choix. Dmarrage dune collection Les boutiques sont classifies en 5 catgories selon le niveau des ventes ralises pendant les 2 dernires annes. Cette classification est prise en compte pour dterminer le nombre d'articles livrer au dmarrage de toute nouvelle collection Homme, Femme, Enfant. Au dmarrage de chaque collection, une boutique reoit le mme nombre d'articles pour chacune des couleurs retenues pour chaque collection. Le nombre d'articles pour les tailles 2, 3, 4 est le triple de celui pour les tailles 1 et 5. Rassortiment Plutt que de se placer dans une logique simpliste de remplacement de chaque article vendu-, l'entreprise LESPLUBO veut exploiter le cycle de vie d'une collection pour que chaque boutique dispose d'un stock suffisant pour ne pas manquer une vente et ne pas crer un stock excessif prjudiciable de bons ratios financiers. Soit D la dure dune collection exprime en semaines. Le cycle de vie d'une collection est dfini dans le schma suivant:

Phase 1 , dmarrage ,2 semaines : un article vendu est renouvel par un article Phase 2 ,croissance(D-2 semaines) / 3 : un article vendu est renouvel par deux articles Phase 3 ,maturit(D-2 semaines) / 3 : un article vendu est renouvel par un article Phase 4 dclin (D-2 semaines) / 3 : deux articles vendus renouvels par un article

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 14

Univers du discours :processus

Identifier les acteurs


Identifier les scnarios (TOUS) Rgles, procdures mtiers

Qui utilise? Qui renseigne?

Contraintes

ex : rgle de rapprovisionnement automatique ex : un vendeur ne travaille que dans une seule boutique Temps de rponse, espace, logiciels imposs, authentification

Qualit de service

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 15

Univers du discours :Donnes

Echantillon de donnes (cas de donnes)


tiquette produit annuaire tlphonique des boutiques Listing du personnel Chques/cartes bleues/tickets de caisse clients liste des meilleurs vendeurs facture

Rsultats attendus, informations


Objets mtiers

concrets ou abstraits, ex : article, client ensembles dobjets similaires Entits, classes

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 16

Besoins de Modlisation diffrents niveaux

Niveau conceptuel :

Dfinir et dcrire les besoins formaliser les besoins implmenter la formalisation

Niveau Logique :

Niveau physique :

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 17

Modlisation de SI: niveau conceptuel caractristiques communes

Description des traitements raliser :

Approche fonctionnelle; objets contrle; flots de donnes


MERISE (France) 1980: profondment install : MCT MOT ; MCC UML : cas d'utilisation; diagrammes d'activits UML :

Description de la dynamique; communication , comportement;

Diagrammes Etats- transition ; diagrammes de squence

Description de la structure du systme:


objets mtiers ; donnes persistantes ; contraintes MERISE

MCD Diagrammes de classes; diagrammes de composants;

UML

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 18

MERISE

Mthode de modlisation des SI


franco franais (80) trs lie lapproche BD relationnelles et modle entits relations cycle de dcision (schma directeur) cycle dabstraction (conceptuel/logique/physique) cycle de vie (va jusqu'au dploiement) renforce la sparation donnes - traitements en voie dtre remplace par UML?

sappuie sur

bien installe (surtout pour l'aspect donnes)

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 19

Conception de SI : MERISE axe traitements : MCC,MCT, MOT


renseignements guichet rejet ou acceptation client informations comptes clients demande infos ouverture cpte

chquier et lettre ouverture

Service Informatique

tche
demande d'informations clients

LUnivers du discours

Raffiner
rponses

Analyse fonctionnelle

Banque de France

MCC
guichet libre (2) 1 et 2 vrifier conditions clients PROCESSUS OUVERTURE DE COMPTE

Priode

client

guichet

service info

bdf

Type

arrivee client remise formulaire formulaire

Manuel

arrive client (1)

formulaire rempli

analyse client connu KO connu OK inconnu

Interactif

rejet litige

client connu (2)

liste inconnus

t le soir

dechargement batch

T emps diffr

liste inconnus

t +1 le matin

analyse interdits bancaires KO OK retours

Automatique

Exec support

vrifier 500F(a) vrifier majeur (b) vrifier aval(c) conditions initiales pas vrifies a et(b ou c)

rejet interdit bancaire

client ok (1)

1 ou 2 ouverture ouverture compte demande chquier dition lettre lettre

Ralisation
V N E R E D U N M R _V U E O EN EU D R M N O _V N E E D U R E O _V N EU P R N M E D R _A TIC N B R LE _V N U S E D SA C _R A E LIS E V N ES E T N M R _F C U E U E O A T R ELE C _C LIEN TU E O N M R _B U IQ O T U EU E O N M R _V N EU E D R TE D A _F C A TU E R M N A T_F C O T N A TU R E B U IQ E O T U N M R _B U IQ U E O O T U E R S E A D E S _B U IQ O T U EA C TE O IE G R _B U O TIQ U EA C _E C U S N O R C _M IN 1 A O S C _M IN 2 A O S

cond initiales satisfaites

rejet manuel

vrifier comptes vrifier client banque vrifier comptes clients client connu KO client connu OK client inconnu

Automatique

nouveau client

demande chquier

comptes

hebdomadaire

dition chquier chquier

T emps diffr

dj client (1) 1 et 2
C LIE T N

vrifier banque de france OK KO

MOT

Deploiement

C LE CLIENT PRENOM CLIENT N OM CLIENT ADRESSE CLIENT M NTANT ANNUEL EN COURS O P M NTANT ANNUEL O RECEDENT

rejet Banque

ouverture de compte crer nouveau compte demander chquier diter lettre OK BDF (2)

CO LLECTION C LE CO LLECTION ANNEE CO LLECTION G ENRE DATE DEBUT D UREE

demande chquier lettre

C N E N O C R E N M R _F C UR E O A TU E R C LE _A TIC R LE Q A T U N ITE

mission chquiers
A TIC R LE C _A TIC LE R LE C LE C LLE T N O C IO N M R A TIC U E O R LE T ILLE A T LE A R IC C U O LE R A TIC U R LE P IX R L R R IV E C LE R _A TIC LE N M R _B U U E O O TIQ E U N M R O B E D TE A _LIV A O R IS N

compte ouvert

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles
chquier

interdit bancaire

-- 20

Modle Conceptuel de Communication MERISE


renseignements guichet rejet ou acceptation

client

informations comptes clients demande infos ouverture cpte

chquier et lettre ouverture

Service Informatique

demande d'informations clients

rponses

Banque de France
Anne-Marie Hugues BD Relationnelles -- 21

V 1.0 -- 05/10/11

Modle Conceptuel des Traitements MERISE


arrive client (1) 1 et 2 vrifier conditions clients vrifier 500F(a) vrifier majeur (b) vrifier aval(c) conditions initiales pas vrifies a et(b ou c) PROCESSUS OUVERTURE DE COMPTE guichet libre (2)

cond initiales satisfaites rejet manuel vrifier comptes vrifier client banque vrifier comptes clients client connu KO client connu OK client inconnu

nouveau client

dj client (1) 1 et 2 rejet Banque ouverture de compte crer nouveau compte demander chquier diter lettre

vrifier banque de france OK KO

OK BDF (2)

demande chquier lettre

mission chquiers compte ouvert

chquier

interdit bancaire

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 22

Conception de SI :MERISE structure,donnes, objets mtiers


Analyse des domaines
Collection femme Costume homme taille 5 client Vendeur de la boutique

Conception

Lunivers du discours
a r r iv e cl i e n t (1 ) 1 et 2 v ri f i e r co n d itio n s cl i e n t s v r ifie r 5 0 0 F ( a ) v r ifie r m a je u r ( b ) v r ifie r a va l( c ) c o n d i t i o n s it i a le s p a s r if i e s in v a e t( b o u c ) P RO CES S U S O UV ERT UR E DE C O M PT E g u ic h e t lib r e (2 ) co n d in it ia l e s s a t i sf a it e s

Dictionnaire des donnes dpendances fonctionnelles

re je t m an u e l v r ifi e r co m p t e s v r ifie r cli e n tb a n q u e v r ifie r co m p t e s clie n t s cli e n t co n n u K O cli e n t co n n u O K cli e n t in c o n n u

nouvea u cl i e n t

d j cl i e n t (1 ) 1 et 2 re je t Ba nq ue o u v e rt u r e d e m p t e co cr e r n o u v e a uco m p t e d e m a n d e r ch q u ie r d it e r le tt r e

v r ifie r b a n q u e d ef r a n c e OK KO

O K BD F (2 )

Exec support

d e m an d e c h q u ie r le t t r e

client cl client prnom client tel client nom client prnom client adresse client montant annuel en cours montant annuel prcdent collection

MCD Merise
1,n

acheter

raliser

0,n

vendeur numro vendeur nom vendeur prnom vendeur nb articles vendus CA ralis

m is s io n c h q u ie r s co m p t e o u ve r t

1,1
in te rd it b a n c a ir e

1,1

ch q u ie r

CLIENT

cl collection anne collection numro collection genre


VENDEUR NUMERO_VENDEU ROM_VENDEU N RRENOM_VENDEU P RB_ARTICLES_VENDU N SA_REALISE C VENTES NUMERO_FACTURE ELE_CLIEN C T UMERO_BOUTIQU N EUMERO_VENDEU N RATE_FACTURE D MONTANT_FACTUR E BOUTIQUE NUMERO_BOUTIQU EDRESSE_BOUTIQU A EATEGORIE_BOUTIQU C EA_ENCOURS C CA_MOINS1 CA_MOINS2

ventes numro facture date facture montant facture


1,n

1,1

se situer

CLE CLIENT PRENOM CLIENT NOM CLIENT ADRESSE CLIENT MONTANT ANNUEL EN COURS MONTANT ANNUEL PRECEDENT

date dbut dure concerner


1,n

0,n

quantit

COLLECTION CLE COLLECTION ANNEE COLLECTION GENRE DATE DEBUT DUREE

faire partie
0,n

boutique numro boutique adresse boutique catgorie boutique CA encours CA moins1 CA moins2
1,n

article
1,1

livrer nombre date livraison


1,n

CONCERNE R NUMERO_FACTURE CLE_ARTICLE QUANTITE

modle logique Access,


V 1.0 -- 05/10/11

ARTICLE CLE_ARTICLE CLE COLLECTION NUMERO ARTICLE TAILLE ARTICLE COULEUR ARTICLE PRIX

LIVRER CLE_ARTICLE NUMERO_BOUTIQUE NOMBRE DATE_LIVRAISON

cl article numro article taille article couleur article prix

Anne-Marie Hugues

BD Relationnelles

-- 23

Modle Conceptuel des Donnes MERISE


client cl client prnom client tel client nom client prnom client adresse client m ontant annuel en cours m ontant annuel prcdent collection cl collection anne collection num ro collection genre date dbut dure concerner
1,n

MCD Merise
1,n

acheter

raliser
0,n

vendeur num ro vendeur nom vendeur prnom vendeur nb articles vendus CA ralis

1,1

1,1

ventes num ro facture date facture m ontant facture


1,n

1,1

sesituer

0,n

quantit

faire partie
0,n

boutique num ro boutique adresse boutique catgorie boutique CAencours CA m oins1 CA m oins2
1,n

article
1,1

livrer nom bre date livraison


1,n

cl article num ro article taille article couleur article prix


V 1.0 -- 05/10/11 Anne-Marie Hugues

BD Relationnelles

-- 24

Modle Logique
CLIENT

CLE CLIENT PRENOM CLIENT NOM CLIENT ADRESSE CLIENT MONTANT ANNUEL EN COURS MONTANT ANNUELPRECEDENT
VENTES NUMERO_FACTURE ELE_CLIEN C T UMERO_BOUTIQU N EUMERO_VENDEU N RATE_FACTURE D MONTANT_FACTUR E

VENDEUR NUMERO_VENDEU ROM_VENDEU N RRENOM_VENDEU P RB_ARTICLES_VENDU N SA_REALISE C

COLLECTION CLE COLLECTION ANNEE COLLECTION GENRE DATE DEBUT DUREE

CONCERNE R NUMERO_FACTURE CLE_ARTICLE QUANTITE

BOUTIQUE NUMERO_BOUTIQU EDRESSE_BOUTIQU A EATEGORIE_BOUTIQU C EA_ENCOURS C CA_MOINS1 CA_MOINS2

ARTICLE CLE_ARTICLE CLE COLLECTION NUMERO ARTICLE TAILLE ARTICLE COULEUR ARTICLE PRIX V 1.0 -- 05/10/11 Anne-Marie Hugues

LIVRER CLE_ARTICLE NUMERO_BOUTIQUE NOMBRE DATE_LIVRAISON

BD Relationnelles

-- 25

Modle Organisationnel des Traitements MERISE


P rio d e c lie n t g u ic h e t s e rv ic e in fo b d f T p y e
a rriv e e c lie n t re m is e fo rm u la ire fo rm u la ire

M n a u e l

fo rm u la ire re m p li

a n a ly e c s lie n t c o n n u Ko c O n n u Oc in o K n n u

In te ra tif c

re je t litig e

c lie n t c o n n u (2 )

lis te in o c n n u s

t le s o ir

d e h c a rg e m e n t b a tc h

T e m s d p iff

lis te in o c n n u s

t + 1 le m tin a

a n a ly e in s te rd its b a n a c ire s K O O K re to u rs

A u to m tiq a u

re je t in te rd it b a n a c ire

c lie n t o k (1 )

1 o u 2 o u e v rtu re o u e v rtu re c o m p te d e m a n d e c h q u ie r d itio n le ttre le ttre

A u to m tiq a u

d e m a n d e c h q u ie r

c o m p te s

h e b d o m d chq ier a a ire u

d itio n c h q u ie r

T e m s d p iff

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 26

Conception de SI en UML : modlisation des traitements


Cas dutilisation
commander fabriquer
tche LUnivers du discours

Analyse fonctionnelle

livrer Raffiner

Simulation
stop
John Doe : Consum er B anking Screen : AccountApplet User : UserServant Account : BankAccountServant

Conception

1: init( )

2: enter nam e, password

3: ok_Action

4 checkAccount(S : tring, S tring)

5: getFullN am e( )

State 1

Event 1 Event2

State2

6: getAccount(String)

7: AcctNumber( ) 8: Type( )

9: Balance( )

diagramme tats transitions;


V 1.0 -- 05/10/11 Anne-Marie Hugues

BD Relationnelles

diagramme de sequence;

-- 27

Conception de SI en UML : structure,donnes,objets mtiers


Collection femme

Analyse des domaines


Lunivers du discours

Van Costume homme taille 5 Vendeur de la boutique

Conception

Objets mtiers; contraintes; (OCL)


stop

Exec support Code


State 1 Event 1 State2 Event2

collection

Realisation
Homme Femme Enfant

Deploiement diagramme de composants


V 1.0 -- 05/10/11 Anne-Marie Hugues

Diagramme de classes,
BD Relationnelles -- 28

Conception de SI : analyse conceptuelle des donnes


Analyse des domaines

Lunivers du discours

df1 = N0coll,type Date dbut coll df2 = NoVendeur,N0Boutique MtTotal

Code

Dpendances fonctionnelles

La recherche des dpendances fonctionnelles permet de normaliser la base de donnes


V 1.0 -- 05/10/11 Anne-Marie Hugues BD Relationnelles

-- 29

Donnes persistantes, Schma relationnel Normalisation par synthse avec MERISE (ou UML),

Etablir le dictionnaire des donnes Etablir l'ensemble des dpendances fonctionnelles

En dduire

sous forme d'une couverture canonique. les entits et leurs attributs (tables)

Exprimer les contraintes non fonctionnelles dans un fichier texte Vrifier que la base est en 3NF (ou BCNF)

les relations entre entits (cls trangres)

Pour chaque dpendance X A, on cre une table par projection sur les attributs XA o X est la cl

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 30

Dictionnaire des donnes, cas lesplubo


Anne collection sur 4 chiffres No de collection sur 1 chiffre (1 6) Genre de la collection: une lettre (H, F, E) No du modle dans la collection 2 chiffres No de la taille sur un chiffre (1 5) Rfrence de la couleur : chiffre de 1 3 Nom de la boutique et l'adresse de livraison La taille de l'article La catgorie de la boutique Le niveau de ventes ralis par une boutique Identification du vendeur (nom, prnom, date naissance et/ou no vendeur) identification de la boutique (numro de boutique et adresse) o a lieu la vente nombre d'articles vendus et prix de vente de chaque article pour pouvoir calculer le montant de la vente Identification client : Nom, Prnom, Adresse du client, et/ ou numro client (n carte fidlit) Le volume (en francs) des achats de chaque client

Quelques contraintes
on suppose qu'un vendeur ne travaille que dans une seule boutique la fois les rgles de rapprovisionnement dfinies dans l'nonc une vente n'est ralise que par un seul vendeur et concerne un seul client

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 31

Dpendance fonctionnelle : Dfinition formelle


Soient r une instance de la relation R, X et Y deux sous-ensembles d'attributs de R. On dit que r satisfait la dpendance fonctionnelle XY et l'on note r | XY ssi. t1r t2r (t1.X = t2.X t1.Y = t2.Y ).

Si r satisfait plusieurs dpendances fonctionnelles, df 1, df2, ..., on note alors : r | df1, df2, La contrainte X est toujours satisfaite. La contrainte X signifie que la projection de la relation r sur X est constante
V 1.0 -- 05/10/11 Anne-Marie Hugues BD Relationnelles -- 32

Infrences de dpendances fonctionnelles; couverture

Eliminer la redondance. Reprsenter ces dpendances sous une forme minimale. tablir une couverture canonique de dpendances fonctionnelles

Rexivit

| XX XY | XZY XY, XZ | XYZ XYZ | XY XY, YZ XY, YZW | XZ | XZW

Augmentation

Additivit

Projectivit

Transitivit

Pseudo-transitivit

se doter d'un outil de "dduction" de dpendances.


V 1.0 -- 05/10/11 Anne-Marie Hugues

BD Relationnelles

-- 33

Exemple : le cas lesplubo

Quelques dpendances vrifies par les donnes


df1 = Anne,NoColl,Genre,NoModle,Taille,Couleur Stock, PrixVente df2 = NumBoutique AdresseBoutique df3 = Numvendeur Numboutique, Montant

autres dpendances "dduites" (redondantes ).

exemple :

df4 = Numvendeur Adresseboutique df1 = Anne,NoColl,Genre,NoModle,Taille,CouleurStock

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 34

Formes Normales.

Simplifier (?)

1re forme normale :

les relations d'un schma les rendre "indpendantes".

2me forme normale:

valeurs des attributs atomiques aucun attribut non cl ne dpend fonctionnellement dune sous cl aucun attribut ne dpend fonctionnellement dun attribut non cl

Faciliter la comprhension, Eliminer les redondances, Amliorer


3me forme normale:

les aspects incrmentaux la distribution en des sites rpartis.

Boyce Codd NF

chacun des attributs ne dpend fonctionnellement que des cls

pas toujours possible de dcomposer une relation en un schma quivalent compos de relations en BCNF

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 35

Normalisation par synthse Exemple

Quelques dpendances vrifies par les donnes


df1 = Anne,NoColl,Genre,NoModle,Taille,Couleur Stock, PrixVente df2 = NumBoutique AdresseBoutique df3 = Numvendeur Numboutique, Montant

Relations dduites

Article(Anne,Nocoll,Genre,Nomodle,Taille,Couleur,Stock, PrixVente) Boutique (Numboutique, Nomboutique, AdresseBoutique) Vendeur (NumVendeur, NumBoutique, Montant, Volume)

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 36

Normalisation par synthse Exemple


Dpendances minimales NomProf Dept Dept Immeuble NoCours, NoElve Inscription Immeuble Adresse NoCours NomProf , Libll NoElve NomElve, Cursus

Schma Cours (NoCours, NomProf, Libll)

Profs (NomProf, Dept) Dpartement (Dept, Immeuble) Batiments(Immeuble Adresse) Inscription NoCours, NoElve) lves (NoElve NomElve, Cursus)

Contraintes

Un professeur est responsable de 3 cours au plus Un lve est inscrit dans 10 cours au plus et 5 cours au moins

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 37

Normalisation par dcomposition sur modle de BD dj ralis

Exemple Schma1 pas 2NF

Reprsentant( Nom, Entreprise, Adresse) Entreprise Adresse pas en 2me forme normale redondances, le mme couple (Entreprise_x, Adresse_y) va apparatre autant de fois que Entreprise X apparatra.

La table originale Reprsentant peut alors tre retrouve par la formule Reprsentant = Reprsente Localis

Pour ne pas perdre d'informations il faut :

Schma2, en 2NF
o

Reprsente( Nom , Entreprise) Localis( Entreprise, Adresse) Reprsente= Nom, Entreprise (Reprsentant) Localis= Entreprise Adresse (Reprsentant)

pouvoir reconstruire la table initiale par jointure pouvoir reconstituer les contraintes initiales portant sur cette table.

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 38

Normalisation par dcomposition Exemple2

Schma1 non 3NF local(Prof, Dept, Immeuble) avec Prof Dept Prof Immeuble Dept Immeuble n'est pas en 3NF, puisque Prof est la seule cl et que (3) est une dpendance concernant des attributs noncls. Couverture non minimale

Pour normaliser, il suffit de remplacer local par les deux relations obtenues par projection :
Profs (Prof, Dept) Departement(Dept, Immeuble).

La table originale local est la jointure de ces deux tables.

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 39

Conclusion

Etude des dpendances fonctionnelles


formelle, peu intuitive peu loquente pour non matheux, loin du langage naturel possibilit de drivation dun schma normalis si couverture canonique ne suffit pas tout exprimer ORM : Object Role Modeling plus intuitive, plus expressive fournissant mthode de drivation automatique

Introduction dune mthode danalyse


V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 40

Modlisation des SI: modlisation des donnes avec ORM

La mthode ORM (Object Role Modeling

intervient en amont du modle conceptuel de donnes de MERISE ou du diagramme de classes UML permet de traduire directement dans un formalisme appropri la notion de rle et d'objets prsents dans l'univers du discours ou encore dans les scnarios UML ainsi que les contraintes s'appliquant sur ceux ci.

La mthode ORM s'applique essentiellement la modlisation de donnes persistantes.

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 41

Conception de SI : Analyse des donnes avec ORM


Analyse des domaines
Lunivers du discours

Objets, rles, faits lmentaires


VENDEUR NUMERO_VENDEU ROM_VENDEU N RRENOM_VENDEU P RB_ARTICLES_VENDU N SA_REALISE C

Conception

CLIENT

CLE CLIENT PRENOM CLIENT NOM CLIENT ADRESSE CLIENT MONTANT ANNUEL EN COURS MONTANT ANNUELPRECEDENT
VENTES NUMERO_FACTURE ELE_CLIEN C T UMERO_BOUTIQU N EUMERO_VENDEU N RATE_FACTURE D MONTANT_FACTUR E

COLLECTION CLE COLLECTION ANNEE COLLECTION GENRE DATE DEBUT DUREE

Collection
BOUTIQUE NUMERO_BOUTIQU EDRESSE_BOUTIQU A EATEGORIE_BOUTIQU C EA_ENCOURS C CA_MOINS1 CA_MOINS2

Code

CONCERNE R NUMERO_FACTURE CLE_ARTICLE QUANTITE

Homme

Femme

Enfant

ARTICLE CLE_ARTICLE CLE COLLECTION NUMERO ARTICLE TAILLE ARTICLE COULEUR ARTICLE PRIX

LIVRER CLE_ARTICLE NUMERO_BOUTIQUE NOMBRE DATE_LIVRAISON

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 42

Analyse des donnes avec ORM (et UML) l'aide d'un exemple
Cas d utilisation et Faits lmentaires Prdicats; rles Contraintes Sous typage

Etude de cas: rservation voyages web

On se propose de raliser un logiciel de rservations d'htels et d'avions destination d'un usager du web. On prvoit plus tard dintgrer les rservations de voitures. Carte de fidlisation : tout usager peut adhrer un programme de fidlisation lui ouvrant un compte personnel comportant ses informations personnelles, ses dossiers en cours, les points accumuls. Il reoit un numro de carte et un mot de passe.

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 44

logiciel de rservation web

Rservation : Un usager devra pouvoir parcourir la liste des possibilits en fonction de sa destination, de la qualit de service souhaite (nombre d'toiles d'un htel, option non-fumeur, classe affaire en avion, option menu vgtarien ...). Les possibilits affiches devront tenir compte des disponibilits en temps rel. Il doit pouvoir rserver pour une ou plusieurs personnes, avec des tarifs spciaux le week-end, ainsi que pour les juniors (moins de 25 ans) et les seniors (plus de 60 ans). La rservation est soumise vrification comptable. Plusieurs types de paiements sont possibles : carte bancaire, chque, virement, ou points obtenus par fidlisation. Il devra recevoir par fax ou mail une confirmation de sa rservation rcapitulant tous les services obtenus, avec un dtail de ses points de fidlisation acquis, et un numro de dossier lui permettant d'effectuer des modifications par la suite.

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 45

logiciel de rservation web

Consultation et modification du dossier : L'usager devra pouvoir consulter la liste de ses rservations en cours en donnant son numro de dossier. Toute annulation implique le paiement des frais de dossier pour une somme dpendant de la distance l'chance (plus de 30 jours, 15 jours, 8 jours, no-show). Un no-show est un passager qui ne se prsente pas avant l'heure de rservation (htel ou avion). Toute modification entrane galement des cots forfaitaires. Il faut galement gnrer un rcapitulatif comptable de ces cots. Administration: On ralisera une interface simple destination des hteliers et compagnies ariennes permettant de modifier les disponibilits en fonction d'alas et rcapitulant les rservations sur plusieurs critres de tris (par jour, semaine, mois, par catgorie, par type de clients).

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 46

Etape1 : Univers du discours

Recenser les cas dutilisation du problme


Recenser pour chaque cas


Acteurs Scnarios

Identifier leur structure ,

les donnes utilises modifies et produites -> dictionnaire des donnes si possible tudier la structure des fichiers, tats existants

ORM fournit un cadre pour l'analyse des donnes : "cas d'utilisation pour les donnes"

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 47

Etape1 : Univers du discours


Recenser les cas dutilisation

Acteurs : toute personne ou systme interagissant avec le produit


Internaute, usager, client, gestionnaires, systme comptable Un acteur primaire est celui qui impulse le cas d'utilisation

Pour chaque acteur dcrire brivement ce qu'il attend/produit du systme , on identifie les cas d'utilisation de plus haut niveau qui seront dcomposs par la suite

Rserver, consulter, grer

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 48

Cas d'utilisation de plus haut niveau


Client Internaute Grer Session Internaute Systme comptable

Client fidlis

Grer Suivi Rsa Administrateur site de rservation

Gestionnaire Fidlit

Grer Fidlit

Grer Hotels Gestionnaire Hotels

Grer Vols Gestionnaire Vols

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 49

Etape1 : Univers du discours


CU Grer Session Internaute : Scnario informel

L'internaute peut rserver sur le site web des vols secs ou des nuits d'htels pour un ou plusieurs voyageurs, partir de critres de choix. Pour ce faire il doit obligatoirement s'identifier et donner ses moyens de paiement. Le systme lui renvoie un numro de rservation et mmorise sa commande. L'internaute peut vouloir modifier une rservation faite prcdemment ou l'annuler. L'internaute peut s'abonner programme de fidlisation et bnficier d'avantages particuliers.

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 50

Etape1 : Univers du discours

CU Grer Session Internaute : Dcomposition en sous cas d'utilisation

Grer Session Internaute <<include>> <<include>> Consulter Rservation <<include>>

Grer Fidlit Rserver

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 51

Etape1 : Univers du discours


CU Rserver : Scnario informel

L'internaute choisit de consulter les horaires et disponibilits de vols secs, ou de nuits d'htels. Le systme indique les rponses sa requte sous forme de liste de rsultats. L'internaute peut visualiser les informations propres chaque objet de la liste et rserver pour un ou plusieurs voyageurs. Cette rservation est mise dans un panier d'achats. L'internaute peut ensuite rserver autre chose, qui s'ajoutera son panier d'achats. Quand il a fini, il valide son panier d'achats et il doit alors obligatoirement s'identifier et donner ses moyens de paiement pour que sa commande devienne effective. Le systme comptable valide la commande.Le systme renvoie un numro de dossier contenant toutes les rservations du client et mmorise sa commande.

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 52

Etape1 : Univers du discours

CU Rserver : Dcomposition en sous cas d'utilisation

Rserver

<<include>> <<include>>

<<include>>

<<include>>

Rserver Avion Rserver Hotel Payer

Enregistrer/Modifie

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 53

Etape1 : Univers du discours

CU Payer : Dcomposition en sous cas d'utilisation

P ye a r

P ye p r c u a r a h q e

P ye p r V m n a r a ire e t

P ye p r p in a r a o ts

P ye p r C a r a B

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 54

Etape1 : Univers du discours

CU Grer Session Internaute, vue globale

Grer Session Internaute <<include>> <<include>>

<<include>>

Grer Fidlit

Consulter Rservation

Rserver

<<include>> <<include>> Consulter par no de dossier <<include>>

Consulter par client <<include>> <<include>>

Rserver Avion <<include>> <<include>>

Rserver Hotel

Payer

Consulter Fidlit Enregistrer/Modifier Infosclient

Payer par points

Payer par chque

Payer par CB

Payer par Virem

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 55

Cas d'utilisation Grer Suivi Rservations

Ce use case sert de "back office" au use case "grer session internaute. Il envoie les mails ou fax au client pour confirmer les rservations. Il confirme les rservations lors des rceptions de chque par l'administrateur du site de rservation. Il relance les clients n'ayant pas envoy de chque une semaine aprs leur rservation prvenant que celle ci est devenue caduque. Il rembourse les clients en cas d'annulation, dduction faite des frais de dossiers en liaison avec les services comptables.

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 56

Cas d'utilisation Grer Suivi Fidlit


Ce use case labore les cartes de fidlit et les envoie au client. Ce use case permet galement au gestionnaire de fidlisation de dcider des promotions, de faire des statistiques, d'tablir les tarifs en nombre de points fidlit, de dcider des nombres de points de fidlit attribus pour chaque achat....

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 57

Cas d'utilisation Grer Htels, Grer vols

Grer htels

Ce use case permet au gestionnaire htels de dfinir ses disponibilits, de modifier ses tarifs.., d'obtenir des statistiques.... Ce use case permet aux compagnies ariennes d'actualiser leurs plans de vols, leurs tarifs, leurs promos.. Sera trait ultrieurement

Grer vols

Grer parc automobile

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 58

Etape1 : Univers du discours Etablir le dictionnaire des donnes

Comment?

Recenser les donnes ncessaires/produites en relisant/crivant tous les scnarios associs chaque cas d'utilisation Identifier les donnes existantes dj formalises

Tables, fichiers, documents, annuaires, rpertoires

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 59

Etape 1: Recenser les donnes ncessaires/produites en relisant les scnarios; ex: CU Rserver Htel

Scnario typique

L'internaute recherche un htel en entrant des critres de choix, le systme retourne une liste Rserver Hotel htels correspondants L'internaute prpare sa rservation en donnant le nombre de nuits et le nombre de voyageurs, le systme retourne le prix payer et propose <<include>> <<include>> l'internaute de valider L'internaute valide sa rservation qui est ajoute au panier d'achats et notifie au <<include>> gestionnaire d'htels. DONNEES en ENTREE : Htels et critres de Rechercher un Hotel V aliderReservationHotel choix, nb nuits, voyageurs DONNEES en SORTIE: Rservation htels, Panier d'achat, Htels

Prparer Rservation Hotel

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 60

Etape1 :

formalises
NoVol Jour HDepart

Identifier les donnes existantes dj

Exemple : table des vols des compagnies adhrentes


HArrive VilleDpart Ville Arrive Places Totales

AF310 AF510

Q L

9h30 10h00

10h45 14h

Nice Nice

Paris NewYork

150 300

Chaque vol a un tarif diffrent en fonction du jour et du pays de dpart. Le tarif varie en fonction de la catgorie du passager. Chaque vol est accessible a certaines classes de voyageurs Une catgorie de passager peut accder certaines classes

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 61

Etape1 : Univers du discours

Etablir le dictionnaire des donnes persistantes


Recenser les donnes ncessaires/produites en relisant tous les scnarios

Identifier les donnes existantes dj formalises


Panier d'achats, Liste rsultat, commande, dossier , rservation d'htel, rservation de vol, identification client, identification passager, carte fidlit. Horaires des vols (table existant dans chaque compagnie) et places disponibles dans chaque classe Planning des chambres avec leur type Catgorie passager permettant de bnficier de tarifs rduits Tarification htels en fonction de la priode Tarification vol..

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 62

Etape1 : Univers du discours Etablir la structure des donnes


Comment modliser les liens entre les donnes? UML : classes et associations Modle relationnel: tables et cls trangres ORM: pas de structure a priori, organisation grce aux faits lmentaires

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 63

UML : classes et associations


Remarque: il vaudrait mieux associer le tarif de base un trajet
Vol NoVol Date HeureDepart HeureArrivee VilleDepart VilleArrivee PlacesDisponibles Statut Tarif PrixenF Prixen$ Prixen

Possibilit de dfinir ici les oprations s'appliquant sur Vol


V 1.0 -- 05/10/11 Anne-Marie Hugues BD Relationnelles -- 64

Schma Relationnel : Tables et cls trangres


Vol PK PK

NoVol date Heure Depart Heure arrive VilleDpart Ville Arrive PlacesDisponibles Statut

Tarif PK NoTarif

FK

Tarif

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 65

ORM : notation oriente par les faits lmentaires


ORM Entit Valeur UML classe mtier Type de donnes Attribut ** Association Association class

Entit relation Entit Type Attribut ** rel. bin.seule

type d'objet *

relation unaire Relation binaire (et plus) Objets imbriqus Co-reference

Association qualifie.

relation type

**

attribut boolen

incompltement couvert
-- 66

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

Etape 1 : ORM lister les faits lmentaires

Langage naturel

Le vol ayant pour no AF310 dcolle de Nice 9h30 Le vol ayant pour no AF310 est complet Un objet a une proprit ou un rle Un ou plusieurs objets dans une relation en faits plus simples sur mme objet sans perte d'information

Assertion

N0 AF310

Le fait ne peut tre clat

NICE

Pas de regroupement en structure

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 67

Quelques faits lmentaires


Un dossier de rservation peut regrouper plusieurs rservations (avion ou htel) Un dossier de rservation concerne un client (fidlis ou pas) Un client possde un nom, un prnom, une adresse, un email Un client fidlis est un client qui possde en outre un numro de carte de fidlit et sur lequel on connat d'autres critres (ge, RIB, catgorie socio professionnelle) Une rservation d'htel concerne un htel et une ou plusieurs chambres d'un type donn pour une ou plusieurs nuits Un htel de catgorie X possde Y chambres disponibles de type Z au tarif T Une rservation d'avion concerne un ou plusieurs passagers appartenant chacun une catgorie donne (senior, couple..) sur un vol donn. Un vol propose un certain nombre de place disponibles pour une classe donne (conomique, affaires, business..). La classe C (conomique) est accessibles aux passagers de la catgorie CC (junior, snior, couple..)

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 68

Rles et Objets ORM

Rle d'ORM unifie

concepts UML

terminaison d'association attributs

Objet ORM unifie

les notions

entit valeur

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 69

Etape 2 : ORM diagramme des faits lmentaires


rle: utilise/est utilis Prdicat binaire
Dcolle

valeur

VOL (N)
Est complet Dcolle de

HeureDepart

Ville Identifiant, cl Prdicat unaire,


V 1.0 -- 05/10/11

Objet, entit Mais est ce bien vrai dans notre exemple? Anne-Marie Hugues BD Relationnelles
-- 70

Etape 2 : ORM diagramme des faits lmentaires

Vrifier la cohrence sur lchantillon de donnes

Dcolle

VOL (N)
AF310 Est complet Dcolle de 9h30

HeureDepart

Ville
Nice

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 71

Etape 3 : ORM

Combiner les entits (objets) qui apparaissent dans plusieurs cas dutilisation (de donnes)

Les rendre cohrentes

Exemple: commande et dossier

Vrifier celles qui peuvent tre dduites et les marquer dun *

Exemple : dure de vol; heure de dpart, heure d'arrive Les donnes redondantes seront par la suite contraintes tre cohrentes

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 72

Etape 4 Contraintes unicit


Un vol est affrt par une seule compagnie, a un seul no de vol, vole une seule date
Est affrt

Compagnie (CodeCompagnie) a Vol NoVol

Vole

Date

Le triplet constitu par le code compagnie, le numro de vol et la date constitue un identifiant de l'objetHugues vol Anne-Marie BD Relationnelles V 1.0 -- 05/10/11

-- 73

Etape 4 Contraintes unicit

NomPassager

Passager (No Passeport)

a /

PrenomPassager a /

U
DateNaissance

a /

Un passager est identifi par son numro de passeport mais le triplet Nom+Prnom+DateNaissance est unique
V 1.0 -- 05/10/11 Anne-Marie Hugues BD Relationnelles -- 74

Etape 4 Contraintes unicit, arit


Vol

Chaque couple Vol/Classe est unique


est accessible

Classe (Code)

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 75

Etape 5 Contraintes , obligation

NomPassager Passager (No Passeport) a / a /

PrenomPassager

U
DateNaissance

a /

Les valeurs Noms, Prnoms, DateNaissance sont obligatoires

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 76

Etape 6 Objectivisation
Vol "Dispoparclasse"
P

Comment faire si on veut indiquer le nombre de places disponibles sur un vol dans une classe donne Rponse : Objectiviser "est accessible" pour pouvoir lui attribuer un rle

est accessible

Classe (Code)

a Nombre de places dispo

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 77

Etape 7 Autre contraintes


Vol

{ 'junior' .. 'senior' } LibelleCategorie

est accessible CategoriePassager (code) Classe (Code)

se nomme

a pour reduction concerne { '10' .. '90' } Taux

{'Affaires','Premire','Economique'}

Ensemble de valeurs
V 1.0 -- 05/10/11 Anne-Marie Hugues BD Relationnelles -- 78

Etape 7 Autre contraintes : sous typage


Dossier (Numero)

Un dossier est pay par un moyen de paiement Un moyen de paiement est une carte, un chque, des points, un virement par RIB
V 1.0 -- 05/10/11

pay par Points ! (nbpoints) Chque (nocheque) CB (NumeroCarte) EstRecu

MoyenDePaiement (code)

RIB ! (NumeroRib)

a Dateexp
Anne-Marie Hugues BD Relationnelles -- 79

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 80

Vrifications finales

Contraintes

non rflexivit (irreflexivit) exclusivit (exclusive or) ensembles inclus dans d'autres...

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 81

Modle final

Ne pas hsiter multiplier les vues pour simplifier la lecture Ici 3 vues

Internautes Hotels Vols

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 82

NomClient U a /is of a /is of

PrnomClient

Adresse Email has /is of has /is of Dossier (Numero) a /a pay par /is of

{ 'encours' .. 'archiv' } Etat (code) Date

a /is of

has /is of has /is of

TelClient

Client (NumeroClient)

coute

MontantTotal

is of /has Carte (NumeroCarte) has /is of a Nbpoints a RIB (NumeroRib)

historique

MoyenDePaiement (code)

Chque (NoCheque) CB (NumeroCarte) EstRecu dure /is of Dateexp RIB (NumeroRib)

InfosComplementaires

Carte (NumeroCarte)

BilletAvion (NoBillet)

contient /est dans

contient /est dans

has /is of Vol

has /is of Passager (Identite) has /is of TypeChambre (CodeTypeChambre)

ReservationHotel (NoRservation) rserve

DateJourMois ! (Date)

a dure concerne Nbvoyageurs BD Relationnelles concerne

Montant

has /is of Hotel (NoHotel)

NbNuits

V 1.0 -- 05/10/11

Anne-Marie Hugues

NbchambresReserves -- 83

etro ode)

est dans /

Region (Code)

est dans /

Pays (Code)

Ville (Code) a

NomVille

Hotelier (login)

Password has /is of

au /is of

mis_a_jour

{ '*' .. '*****' } CategorieHotel (Code) a /

Nbchambresdutype

Chambres a

PrixDeBase coute /

as /is of

"HotelTypeChambre" P Hotel (NoHotel) propose /is of has /is of "Disponibilits" P "Tarifs !" P propose Reduction has /is of TypeChambre (CodeTypeChambre) Fumeur { 'lavabo 1 lit simple' .. 'bainwc 1 lit double' } LibelleTypeChambre

reChambreDisponibles offre

offre

{ 'bleu' .. 'rouge' } DateJourMois ! (Date)


V 1.0 -- 05/10/11

Periode (Nb) est dans


Anne-Marie Hugues BD Relationnelles -- 84

Passager (Identite)

a / a / a / U

NomPassager PrenomPassager AgePassager part de / Trajet (Nb) a pour trajet / arrive / Aeroport (Code) Ville (Code)

Vol a a a "Dispoparclasse" P est accessible /is of part part Crneau horaire ! (Code) Nbtotalplaces

coute dure P Compagnie (CodeCompagnie) NumeroVol DateJourMois ! (Date)

Tarif plein Duree

has /is of

composer / Classe (Code) composer / Nombre de places dispo is of /has CategoriePassager (code) se nomme / { 'junior' .. 'senior' } LibelleCategorie { '10' .. '90' } Taux
BD Relationnelles

{ '0' .. '23' } Heure { '00' .. '50' } Minutes

has /is of

V 1.0 -- 05/10/11

a pour reductionHugues Anne-Marie /

-- 85

Traduction en schma relationnel

Entit associe uniquement des valeurs


Table et attributs ayant pour nom les valeurs (ex Passagers) Cls

Cl simple

Cl composite

une contrainte d'unicit sur un seul rle (no client) contrainte d'unicit sur plusieurs rles (nom+prnom+age)

Entit associe une autre entit avec contrainte d'unicit

Objet composite identifiable


Cl trangre sur autre table (ex catgorie passager)

un type d'objet co-rfrenc sans contraintes d'unicit : ex Hotel type chambre un objet dont une partie de la cl contient une cl trangre: ex: Vol

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 86

PK FK FK FK FK FK

BilletAvion NoBillet VolCompagnie Vol NumeroVol VolDateJourMois Date Identite Contient Dossier Numero

/ of is as h

U1 U1 U1 FK

NomPassager PrenomPassager AgePassager CategoriePassager code

PK Code_Categorie_passager LibelleCategorie TauxReduction Classe Code

Vol PK NumeroVol PK Compagnie PK,FK DateJourMois Date FK CodeTrajet FK HeureDepart Nbtotalplaces

es is t a of cc / es sib le

Dispoparclasse PK,FK NumeroVol PK,FK CodeCompagnie PK,FK DateJourMois Date PK Classe Code NombreDePlacesDispo

has / part

DateJourMois PK DateJourMois Date Periode

ap / ou r tr aje t

Trajet PK Trajet Nb TarifPlein Duree FK AeroportArrivee FK AeroportDepart

is o ha f / s

is of / has

has / part

/ / ve arri de part

Aeroport PK Aeroport Code FK Ville Code

V 1.0 -- 05/10/11

Crneau horaire PK CodeCreneau Heure Mnutes

Anne-Marie Hugues

BD Relationnelles

-- 87

Region PK Region Code Est dans Pays Code

/ est dans

PK FK

Ville PK Ville Code NomVille FK Est dans Region Code

FK FK FK
/ of is as h

ReservationHotel ReservationHotel NoRservation Rserve DateJourMois Date NbchambresReserves concerne Concerne Nbvoyageurs Montant Dossier contient Numero Hotel TypeChambre Dure NbNuits

has / a

has is of /

HotelTypeChambre PK,FK Hotel PK,FK TypeChambre Coute PrixDeBase Nbchambresdutype

pr op os e

V 1.0 -- 05/10/11

Disponibilits PK,FK Hotel PK,FK CodeTypeChambre PK,FK DateJourMois Date Relationnelles Anne-Marie Hugues BD

has / offre

is pr of op / os e

Hotelier PK login Password

has / m a_jour is_

propose / is of

Hotel PK Hotel CategorieHotel Code FK Ville Code Metro est_au Code NbtotalChambres FK Hotelier

TypeChambre PK TypeChambre Fumeur LibelleTypeChambre

Tarifs PK,FK Hotel PK,FK TypeChambre PK Periode Reduction

-- 88

P K FK

FK FK FK
ot n c nie t / s as e td n

R eservationH otel R eservationH otel N oR serv R serve D ateJourM ois D ate N bcham bresR eserves con C oncerne N bvoyageurs M ontant D ossier contient N um ero H otel T ypeC ham bre D ure N bN uits

P K U 1 U 1 U 1

C lient N um eroC lient T elC lient N om P rnom lient C A dresse E ail m

a a /

iso / f

hs a

h is to rq i u e

D ossier P K N um eroD ossier D ate P ay par M oyenD eP aiem e M ontantT otal FK C lient FK C arte historique E tat code

e td n / s as
BD Relationnelles

C arte P K N um eroC arte InfosC om plem entaires FK R IB N um eroR ib FK ,U C 1 lient N bpoints U 2 C ode

V 1.0 -- 05/10/11

Anne-Marie Hugues

P K FK FK FK FK FK

B illetA vion B illetA vion N oB illet V olC om pagnie V ol N um eroV ol V olD ateJourM ois D ate Identite C ontient D ossier N um 89 ero --

c nie t ot n

Objets sous types

Plusieurs possibilits

Une table pour le type et une par sous type Pas de table pour le surtype et une par sous type Pas de table pour les sous type et une pour le surtype Gnration Visio assez pauvre:
Dossier NumeroDossier Date Pay par MoyenDePaiement MontantTotal Client Carte historique Etat code

PK U1 FK FK

Chque PK Chque NoCheque U1 CodeMoyende Paiement EstRecu


V 1.0 -- 05/10/11

CB PK CB NumeroCarte U1 CodeMoyen de Paiement Dateexp


Anne-Marie Hugues BD Relationnelles -- 90

Quelques lments pour juger un outil de modlisation


Pouvoir d'expression Clart, lisibilit, simplicit Orthogonalit

Stabilit smantique Pertinence smantique

pas de recouvrement de concepts

Abstraction Formalisme , bases thoriques

modlisation intuitive

permettant la validation, la gnration automatique de code

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 91

Conclusion

Comparaison MERISE, UML, ORM


Pas au mme niveau;

ORM en amont d'UML et MERISE, traduit simplement les faits, rles, assertions plus expressif pour les donnes (persistantes) plus proche de l'utilisateur non informaticien Confidentiel, un seul outil VISIO (microsoft) pas (encore?) normalis

Les + ORM

Les - ORM

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 92

Quelques rfrences

Modlisation objets avec UML

Pierre-Alain Muller, Nathalie Gaertner 2e dition, Eyrolles, 2000 Nasser Kettani, Dominique Mignet, Pascal Par, Camille Rosenthal-Sabroux Eyrolles, 1998 Halpin, T., Evans, K., Hallock, P. & MacLean B. Architects, Morgan Kaufmann Publishers: San Francisco, 2003, http://www.orm.net/

De Merise UML

Database Modeling with Microsoft Visio for Enterprise

V 1.0 -- 05/10/11

Anne-Marie Hugues

BD Relationnelles

-- 93