Professional Documents
Culture Documents
hugues@polytech.unice.fr
http://www.essi.fr/~hugues/BDR/LOG2
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
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
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
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 4
Programmes et Bases de donnes Informations vhicules par messages permettant la prise de dcision
acteur
informations
SI
Entreprise Environnement
-- 6
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
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
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
T e ch nologie
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 11
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
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
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
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
tiquette produit annuaire tlphonique des boutiques Listing du personnel Chques/cartes bleues/tickets de caisse clients liste des meilleurs vendeurs facture
Objets mtiers
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 16
Niveau conceptuel :
Niveau Logique :
Niveau physique :
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 17
MERISE (France) 1980: profondment install : MCT MOT ; MCC UML : cas d'utilisation; diagrammes d'activits UML :
UML
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 18
MERISE
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
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 19
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
Manuel
formulaire rempli
Interactif
rejet litige
liste inconnus
t le soir
dechargement batch
T emps diffr
liste inconnus
t +1 le matin
Automatique
Exec support
vrifier 500F(a) vrifier majeur (b) vrifier aval(c) conditions initiales pas vrifies a et(b ou c)
client ok (1)
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
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
T emps diffr
dj client (1) 1 et 2
C LIE T N
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)
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
client
Service Informatique
rponses
Banque de France
Anne-Marie Hugues BD Relationnelles -- 21
V 1.0 -- 05/10/11
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
OK BDF (2)
chquier
interdit bancaire
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 22
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
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
1,1
se situer
CLE CLIENT PRENOM CLIENT NOM CLIENT ADRESSE CLIENT MONTANT ANNUEL EN COURS MONTANT ANNUEL PRECEDENT
0,n
quantit
faire partie
0,n
boutique numro boutique adresse boutique catgorie boutique CA encours CA moins1 CA moins2
1,n
article
1,1
ARTICLE CLE_ARTICLE CLE COLLECTION NUMERO ARTICLE TAILLE ARTICLE COULEUR ARTICLE PRIX
Anne-Marie Hugues
BD Relationnelles
-- 23
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
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
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
ARTICLE CLE_ARTICLE CLE COLLECTION NUMERO ARTICLE TAILLE ARTICLE COULEUR ARTICLE PRIX V 1.0 -- 05/10/11 Anne-Marie Hugues
BD Relationnelles
-- 25
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 )
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
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
Analyse fonctionnelle
livrer Raffiner
Simulation
stop
John Doe : Consum er B anking Screen : AccountApplet User : UserServant Account : BankAccountServant
Conception
1: init( )
3: ok_Action
5: getFullN am e( )
State 1
Event 1 Event2
State2
6: getAccount(String)
7: AcctNumber( ) 8: Type( )
9: Balance( )
BD Relationnelles
diagramme de sequence;
-- 27
Conception
collection
Realisation
Homme Femme Enfant
Diagramme de classes,
BD Relationnelles -- 28
Lunivers du discours
Code
Dpendances fonctionnelles
-- 29
Donnes persistantes, Schma relationnel Normalisation par synthse avec MERISE (ou UML),
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)
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
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
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
Eliminer la redondance. Reprsenter ces dpendances sous une forme minimale. tablir une couverture canonique de dpendances fonctionnelles
Rexivit
Augmentation
Additivit
Projectivit
Transitivit
Pseudo-transitivit
BD Relationnelles
-- 33
exemple :
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 34
Formes Normales.
Simplifier (?)
valeurs des attributs atomiques aucun attribut non cl ne dpend fonctionnellement dune sous cl aucun attribut ne dpend fonctionnellement dun attribut non cl
Boyce Codd NF
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
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
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
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
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
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).
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 39
Conclusion
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
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 40
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.
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 41
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
BOUTIQUE NUMERO_BOUTIQU EDRESSE_BOUTIQU A EATEGORIE_BOUTIQU C EA_ENCOURS C CA_MOINS1 CA_MOINS2
Code
Homme
Femme
Enfant
ARTICLE CLE_ARTICLE CLE COLLECTION NUMERO ARTICLE TAILLE ARTICLE COULEUR ARTICLE PRIX
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
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
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
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
Acteurs Scnarios
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
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
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 48
Client fidlis
Gestionnaire Fidlit
Grer Fidlit
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 49
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
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 51
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
Rserver
<<include>> <<include>>
<<include>>
<<include>>
Enregistrer/Modifie
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 53
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
<<include>>
Grer Fidlit
Consulter Rservation
Rserver
Rserver Hotel
Payer
Payer par CB
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 55
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
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
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
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 58
Comment?
Recenser les donnes ncessaires/produites en relisant/crivant tous les scnarios associs chaque cas d'utilisation Identifier les donnes existantes dj formalises
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
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 60
Etape1 :
formalises
NoVol Jour HDepart
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
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
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
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
type d'objet *
Association qualifie.
relation type
**
attribut boolen
incompltement couvert
-- 66
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
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
NICE
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 67
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 68
concepts UML
les notions
entit valeur
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 69
valeur
VOL (N)
Est complet Dcolle de
HeureDepart
Objet, entit Mais est ce bien vrai dans notre exemple? Anne-Marie Hugues BD Relationnelles
-- 70
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)
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
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
NomPassager
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
Classe (Code)
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 75
PrenomPassager
U
DateNaissance
a /
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)
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 77
se nomme
{'Affaires','Premire','Economique'}
Ensemble de valeurs
V 1.0 -- 05/10/11 Anne-Marie Hugues BD Relationnelles -- 78
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
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
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 82
PrnomClient
Adresse Email has /is of has /is of Dossier (Numero) a /a pay par /is of
a /is of
TelClient
Client (NumeroClient)
coute
MontantTotal
historique
MoyenDePaiement (code)
InfosComplementaires
Carte (NumeroCarte)
BilletAvion (NoBillet)
DateJourMois ! (Date)
Montant
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)
au /is of
mis_a_jour
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
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
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
has /is of
V 1.0 -- 05/10/11
-- 85
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)
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
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
ap / ou r tr aje t
is o ha f / s
is of / has
has / part
/ / ve arri de part
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 87
/ est dans
PK FK
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 /
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
propose / is of
Hotel PK Hotel CategorieHotel Code FK Ville Code Metro est_au Code NbtotalChambres FK Hotelier
-- 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
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
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
modlisation intuitive
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 91
Conclusion
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
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
V 1.0 -- 05/10/11
Anne-Marie Hugues
BD Relationnelles
-- 93