0% ont trouvé ce document utile (0 vote)
4 vues196 pages

Guide de création de modèles de données

Le manuel utilisateur fournit des instructions détaillées sur la construction de modèles conceptuels de données, incluant des sections sur les entités, relations, propriétés, contraintes, et héritages. Il décrit également les options d'affichage, de style, et les fonctionnalités accessibles via le menu contextuel. Ce document est essentiel pour comprendre et utiliser efficacement le module de base de données et l'interface utilisateur.

Transféré par

djeutcheu
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues196 pages

Guide de création de modèles de données

Le manuel utilisateur fournit des instructions détaillées sur la construction de modèles conceptuels de données, incluant des sections sur les entités, relations, propriétés, contraintes, et héritages. Il décrit également les options d'affichage, de style, et les fonctionnalités accessibles via le menu contextuel. Ce document est essentiel pour comprendre et utiliser efficacement le module de base de données et l'interface utilisateur.

Transféré par

djeutcheu
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Manuel Utilisateur

Database

1. CONSTRUCTION DES MODELES CONCEPTUELS DE DONNEES 11

1.1 OBJECTIF 11
1.2 FORMALISME 11

2. PREFERENCES GLOBALES AU MODELE 12

2.1 ONGLET « GENERAL » 12


2.2 ONGLETS SYNTAXE DES NOMS ET SYNTAXE ALIAS 13
2.2.1 CONSEQUENCES DES CHOIX EFFECTUES SUR LA SYNTAXE 14
2.2.2 OPTIONS DE LONGUEUR PAR DEFAUT DES TYPES DE DONNEES 14

3. OPTIONS D’AFFICHAGE ET DE STYLE DES SYMBOLES 15

3.1 APPEL DE LA BOITE DE DIALOGUE DE CONFIGURATION DES OPTIONS GRAPHIQUE 16

4. CREER UN OBJET METHODE 17

4.1 1ER MODE : REPRESENTATION DE L’OBJET PUIS AFFECTATION 17


4.2 2EME MODE : CREATION DE L’OBJET SANS REPRESENTATION GRAPHIQUE PREALABLE 17
4.2.1 DESCRIPTION DE LA BOITE 18
4.2.2 FONCTIONNEMENT GENERAL DE LA BOITE 19

5. ENTITE 20

5.1 CREATION D'UNE ENTITE 20


5.2 - AFFECTER UNE ENTITE 20
5.2.1 ONGLET DEFINITION 21
5.2.2 PREFIXE ATTRIBUT 21
5.2.3 DEFINIR LES ETATS D’UNE ENTITE 21
[Link] Lien entre les propriétés et les types d’état 23
Les états se retrouvent dans les domaines de valeurs de la propriété 23
5.2.4 APPEL DES MODELES DE TRAITEMENTS A PARTIR DE L’ENTITE 24
5.2.5 ONGLET CHIFFRAGE 24
5.2.6 - ONGLET HISTORISATION 25
5.2.7 ONGLET ADMINISTRATION 25
5.2.8 SAISIE DE TEXTES COMPLEMENTAIRES POUR L’ENTITE 26
5.2.9 ASSOCIATION DE FICHIERS 26
5.3 MODIFIER LES CARACTERISTIQUES D'UNE ENTITE 26
5.4 SUPPRIMER UNE ENTITE 26
5.5 COUPER, COPIER, COLLER UNE ENTITE 28
5.6 FONCTIONS ACCESSIBLES UNIQUEMENT PAR LE MENU CONTEXTUEL DE L’ENTITE 28
5.6.1 DUPLIQUER UNE ENTITE 28
[Link] Transfert de liens entre duplicata 29

Module DATABASE & USER INTERFACE 1


5.6.2 CREER UN SYNONYME DE L’ENTITE 29
5.6.3 OBJETS LIBRES ASSOCIES 29
5.6.4 VISUALISER LES REGLES DE L’ENTITE 29
5.6.5 MISE A JOUR DES ETATS 30
5.6.6 MONTRER/CACHER LES LIENS 30
5.6.7 MONTRER DICTIONNAIRE 30
5.6.8 MONTRER REFERENCES CROISEES 30
5.6.9 ATTACHER UN ICONE 31
5.6.10 REFERENT PRIORITAIRE - TRANSFORMER, METTRE A JOUR, RETIRER LE RACCOURCI –
CHANGER LE CHEMIN DE L’OBJET DE REFERENCE 31

6. RELATION 31

6.1 CREATION D'UNE RELATION 31


6.1.1 DESSIN D'UNE RELATION ISOLEE 31
6.1.2 DESSIN AUTOMATIQUE DE LA RELATION 31
[Link] Tracé de la patte et dessin automatique de la relation 31
[Link] Dessin de la relation et tracé automatique des pattes 32
[Link] Création de la relation sans représentation graphique préalable 32
6.1.3 AFFECTER UNE RELATION 32
6.1.4 DEFINIR LES ETATS D’UNE RELATION 33
6.2 MODIFIER LES CARACTERISTIQUES D'UNE RELATION 33
6.3 SUPPRIMER UNE RELATION 33
6.4 COUPER, COPIER, COLLER UNE RELATION 33
6.5 MODIFICATION DES CARDINALITES 33
6.6 FONCTIONS ACCESSIBLES UNIQUEMENT PAR LE MENU CONTEXTUEL DE LA RELATION 35

7. PROPRIETE 35

7.1 ACCES A LA BOITE DE SAISIE DES PROPRIETES D'UNE ENTITE OU D'UNE RELATION 35
7.2 COMPOSITION DE LA BOITE 36
7.3 FONCTIONNEMENT GENERAL DE LA BOITE 36
7.3.1 LES BOUTONS DE LA BARRE D’OUTILS 36
7.3.2 CASE A COCHER « AFFICHER LES INFORMATIONS DU MODELE » 36
7.3.3 CONFIGURER LES COLONNES 37
7.3.4 EDITION D’UNE COLONNE 38
7.3.5 CLASSEMENT CROISSANT/DECROISSANT DU CONTENU D’UNE COLONNE 38
7.3.6 FONCTIONNALITES DE DRAG & DROP 39
7.3.7 LE MENU CONTEXTUEL 39
7.4 CREATION D’UNE PROPRIETE 40
7.4.1 DESIGNER UNE PROPRIETE COMME IDENTIFIANT 40
[Link] Saisie ou modification des caractéristiques d’une propriété à partir du graphique
41
7.4.2 PRECISER LE CARACTERE OBLIGATOIRE D'UNE PROPRIETE 42
7.4.3 AFFICHER OU NON LA PROPRIETE DANS LE MODELE 42
7.4.4 PRECISER LE TYPE DE LA PROPRIETE 43
7.4.5 TYPES PARTICULIERS 44
[Link] Propriété multi-valuée 44
[Link] Autre type 45
[Link] Type compteur 45
7.4.6 TYPES PREDEFINIS PAR L’UTILISATEUR 45
7.4.7 SAISIE DE LA LONGUEUR DE LA PROPRIETE 46
7.4.8 CREATION DE PROPRIETES COMPOSEES 46
7.4.9 BOUTON " EFFACER CHAMPS " 47
7.5 MODIFIER UNE PROPRIETE 47
7.6 SUPPRIMER UNE OU PLUSIEURS PROPRIETES 48
7.7 DETACHER UNE PROPRIETE 48
7.8 UTILISATION D'UNE INFORMATION POUR CREER UNE PROPRIETE 48

2 Documentation utilisateur
7.9 RATTACHER UNE PROPRIETE D'UNE ENTITE A UNE AUTRE ENTITE 50
7.10 COMPLEMENTS DESCRIPTIFS DES PROPRIETES 51
7.10.1 TEXTE D’ANNOTATION, TEXTE DESCRIPTIF OU ASSOCIATION DE FICHIER 51
7.10.2 HISTORISATION D’UNE PROPRIETE 51
7.10.3 ADMINISTRATION 51
7.10.4 DOMAINE DE VALEURS D’UNE PROPRIETE 51
7.10.5 OPTION DE GENERATION D’UNE TABLE DE CODE 52
7.10.6 BOUTON « REGLES » 53
7.10.7 MISE A JOUR DES ETATS 54
7.11 ANALYSE D’IMPACT 55
7.11.1 ACCES 55
7.11.2 CHOIX DES TYPES D’OBJETS A ANALYSER 55
[Link] Activité 56
[Link] Etat 56
[Link] Information 57
[Link] Message 57
[Link] Propriété 57
[Link] Règle 57
[Link] Vue de données 57
[Link] Vue externe 57
7.11.3 AFFICHAGE DES RESULTATS 57

8. CONTRAINTE 58

8.1 CREATION D'UNE CONTRAINTE 58


8.1.1 SANS SELECTION PREALABLE DU CONTEXTE DE LA CONTRAINTE 58
8.1.2 AVEC SELECTION PREALABLE DU CONTEXTE DE LA CONTRAINTE 58
8.2 CREATION D'UN CONTRAINTE D'UNICITE 59
8.2.1 1ER MODE DE DESSIN D’UNE CONTRAINTE D’UNICITE 59
8.2.2 2EME MODE DE DESSIN D'UNE CONTRAINTE D'UNICITE 60
8.2.3 AFFECTER UNE CONTRAINTE D'UNICITE 60
8.2.4 ENCHAINEMENTS A PARTIR DE LA BOITE POP UP DE LA CONTRAINTE D'UNICITE 61
8.2.5 COMPLEMENT DESCRIPTIF DE LA CONTRAINTE D'UNICITE 61
8.3 CREATION D'UNE CONTRAINTE INTER RELATION 61
8.3.1 AFFECTER UNE CONTRAINTE INTER RELATION 62
8.3.2 INFORMATIONS COMPLEMENTAIRES SAISIES DANS LA BOITE POP UP DE DEFINITION DE LA
CONTRAINTE INTER RELATION 62
8.3.3 TABLEAU RECAPITULATIF DES CONTRAINTES INTER RELATIONS 63
8.3.4 ENCHAINEMENTS A PARTIR DE LA BOITE POP UP DE SAISIE DES CARACTERISTIQUES DE LA
CONTRAINTE INTER RELATIONS 63
8.4 CONTRAINTE SUR SPECIALISATION 63
8.4.1 CREATION D'UNE CONTRAINTE SUR SPECIALISATION 63
8.4.2 AFFECTER UNE CONTRAINTE SUR SPECIALISATION 64
8.4.3 INFORMATIONS COMPLEMENTAIRES SAISIES DANS LA BOITE POP UP DE DEFINITION DE LA
CONTRAINTE SUR SPECIALISATION 64
8.4.4 ENCHAINEMENTS A PARTIR DE LA BOITE DE SAISIE DES CARACTERISTIQUES DE LA
CONTRAINTE SUR SPECIFICATION 64
8.5 SUPPRESSION D'UNE CONTRAINTE 64

9. HERITAGE ( TYPE ET SOUS-TYPE ) 65

9.1 CREATION D'UN HERITAGE 65


9.2 DEFINIR LE SUR-TYPE 65
9.3 AFFECTER UN HERITAGE 66
9.4 INFORMATIONS COMPLEMENTAIRES 66
9.4.1 ONGLET CRITERES 66
9.4.2 ONGLET OPTIONS TRANSFO. MLR 67
9.5 SUPPRESSION D’UN HERITAGE 68

Module DATABASE & USER INTERFACE 3


9.6 FONCTIONS ACCESSIBLES UNIQUEMENT PAR LE MENU CONTEXTUEL DE LA CONTRAINTE
OU DE L’HERITAGE 68
9.6.1 CREER UN DUPLICATA 68
9.6.2 OBJETS LIBRES ASSOCIES 68
9.6.3 ATTACHER UN ICONE 68
9.6.4 MONTRER/CACHER LES LIENS 68

10. INFORMATION 68

10.1 RAPPEL DE DEFINITION 68


10.2 CREATION D’UNE INFORMATION 68
10.2.1 COMPOSITION DE LA BOITE 69
10.2.2 IMPORTER DES INFORMATIONS 69

11. REGLE 71

11.1 CREATION D'UNE REGLE 71


11.1.1 1ER MODE : REPRESENTATION GRAPHIQUE DE LA REGLE PUIS AFFECTATION 71
11.1.2 2EME MODE : CREATION PREALABLE DE LA REGLE 71
11.1.3 TYPE DE REGLE 72
11.1.4 FAMILLE D'APPARTENANCE DE LA REGLE 72
11.1.5 COMPOSITION D' UNE REGLE 72
11.1.6 COMPOSITION DE LA BOITE 73
11.1.7 DEFINIR LES OBJETS UTILISES PAR LA REGLE 73
[Link] Onglet Règles 73
[Link] Onglet Informations 74
[Link] Onglet Propriétés 76
11.1.8 DESCRIPTIF TEXTUEL DE LA REGLE 77
11.2 IMPORTER DES REGLES 78
11.3 DESSINER LES LIENS DE LA REGLE 80
11.3.1 DESSINER LES LIENS 80
11.4 COPIER/COLLER UNE REGLE 80
11.5 SUPPRIMER UNE REGLE 80
11.6 FONCTIONS ACCESSIBLES UNIQUEMENT PAR LE MENU CONTEXTUEL DE LA REGLE 80
11.6.1 CREER DUPLICATA 80
11.6.2 CREER UN SYNONYME 80
11.6.3 ATTACHER ICONE 80
11.6.4 REFERENT PRIORITAIRE – TRANSFORMER, METTRE A JOUR, RETIRER RACCOURCI –
CHANGER LE CHEMIN DE L’OBJET DE REFERENCE 80
11.6.5 MONTRER/CACHER LES LIENS 80

12. VUE EXTERNE 81

12.1 DEFINITION 81
12.2 CREER UNE VUE EXTERNE 82
12.3 DEFINIR LA COMPOSITION DE LA VUE EXTERNE 82
[Link] Complément descriptif dans la partie droite de la boîte de dialogue. 83
12.3.2 DEFINITION D’UN GROUPE 83
12.3.3 MODIFICATION D’UN GROUPE 84
12.3.4 UTILISATION DE GROUPES EXISTANTS DANS LE MODELE 85
12.3.5 UTILISATION DE GROUPES EXISTANTS DANS D’AUTRES MODELES 86
12.3.6 AJOUTER OU MODIFIER DES INFORMATIONS 86
12.4 AJOUTER OU MODIFIER LES PROPRIETES D’UNE ENTITE OU D’UNE RELATION 87
12.5 AJOUTER OU MODIFIER DES INFORMATIONS 87
12.6 IMPORTER DES VUES EXTERNES 88

4 Documentation utilisateur
13. MODELE LOGIQUE DE DONNEES 88

13.1 INTRODUCTION 88
13.2 PARAMETRES DE CONTROLES 89
13.2.1 ONGLET « GENERAL » 89
[Link] Driver d’affichage des triggers de table 89
[Link] Options concernant la modification des attributs 90
[Link] Options concernant la suppression d’un attribut associé à une clé primaire ou étrangère
90
[Link] Options concernant la création des index 91
13.2.2 CONTROLE DE LA SYNTAXE DES NOMS ET DES NOMS CONCEPTUELS ( ALIAS ) 91
[Link] 1er groupe : Caractères autorisés 92
[Link] 2ème groupe : Caractères interdits 92
[Link] 3ème groupe : contrôle sur la casse 92
[Link] 4ème groupe : longueur maximum 92
[Link] Création automatique des noms conceptuels 92
Conséquences des choix effectués sur la syntaxe 92
13.2.3 OPTIONS DE LONGUEUR PAR DEFAUT DES TYPES DE DONNEES 92
13.3 - OPTIONS D’AFFICHAGE ET DE STYLES DES SYMBOLES 93
13.4 MAQUETTES LIEES AU MODELE LOGIQUE DE DONNEES 93
13.4.1 TRANSFERER LES MAQUETTES 93
13.4.2 EXPORTER LES MAQUETTES 93
13.5 CONSTRUCTION GRAPHIQUE D’UN MLD - PARTICULARITES 94
13.6 TABLE 94
13.6.1 - RAPPEL DE DEFINITION 94
13.6.2 - CREATION D’UNE TABLE 94
13.6.3 - AFFECTATION D’UNE TABLE 94
13.6.4 DEFINIR LES ETATS D’UNE TABLE 94
13.6.5 DEFINIR LES STORAGES ET TABLESPACE ASSOCIES A LA TABLE 95
13.6.6 CARACTERISTIQUES ETENDUES 96
13.6.7 APPEL DES MODELES DE TRAITEMENTS A PARTIR DE LA TABLE 96
13.6.8 ONGLET CHIFFRAGE 96
13.6.9 ONGLET ADMINISTRATION 97
13.6.10 SAISIE DE TEXTES COMPLEMENTAIRES POUR LA TABLE 97
13.6.11 ASSOCIATION DE FICHIERS 97
13.6.12 MODIFIER LES CARACTERISTIQUES D'UNE TABLE 97
13.6.13 SUPPRIMER UNE TABLE 97
13.6.14 FONCTIONS ACCESSIBLES UNIQUEMENT PAR LE MENU CONTEXTUEL DE LA TABLE 97
[Link] Dupliquer une table 98
[Link] Créer un synonyme 98
[Link] Visualiser les règles utilisant la table 98
[Link] Mise à jour des états de la table 98
[Link] Fonction « Triggers ... » 98
[Link] Attacher icône à la table 99
[Link] Référent prioritaire – Transformer, mettre à jour, retirer le raccourci – Changer le
chemin de l’objet de référence 99
[Link] Montrer / Cacher les liens de la table 99

14. ATTRIBUT 99

14.1 RAPPEL DE DEFINITION 99


14.2 PRESENTATION DE LA BOITE DE DIALOGUE DE SAISIE DES ATTRIBUTS 100
14.2.1 CASE A COCHER « AFFICHER LES INFORMATIONS DU MODELE » 100
14.2.2 CONFIGURER LES COLONNES 101
14.2.3 EDITION D’UNE COLONNE 102
14.2.4 CLASSEMENT CROISSANT/DECROISSANT DU CONTENU D’UNE COLONNE 102
14.2.5 FONCTIONNALITES DE DRAG & DROP 103
14.2.6 LE MENU CONTEXTUEL 103
14.2.7 CREATION DES ATTRIBUTS 104

Module DATABASE & USER INTERFACE 5


[Link] - Préciser le caractère obligatoire d’un attribut 104
[Link] Afficher ou non un attribut sur le graphique 104
[Link] Préciser le type de l’attribut 105
14.2.8 MODIFIER UN ATTRIBUT 105
14.2.9 DEFINIR LE DOMAINE DE VALEURS DE L’ATTRIBUT 106
14.2.10 MODIFIER DES CARACTERISTIQUES COMMUNES A PLUSIEURS ATTRIBUTS 107
14.2.11 SUPPRIMER UN OU PLUSIEURS ATTRIBUTS 108
14.3 CREER DES ATTRIBUTS COMPOSES 108
14.3.1 RATTACHER/DETACHER DES ATTRIBUTS 108
14.3.2 FONCTIONS ACCESSIBLES UNIQUEMENT PAR LE MENU CONTEXTUEL DE L’ATTRIBUT 108
[Link] Règles de l’attribut 108
[Link] Objets libres associés 109
14.4 ANALYSE D’IMPACT 109

15. CLE PRIMAIRE 109

15.1 RAPPEL DE DEFINITION 109


15.2 - CREER UNE CLE PRIMAIRE 109
15.2.1 COMPOSITION DE LA CLE PRIMAIRE A PARTIR D’ATTRIBUTS 110
15.2.2 MODIFICATION D’UN ATTRIBUT COMPOSANT LA CLE PRIMAIRE 111
15.2.3 COMPOSITION A PARTIR D’UNE CLE ETRANGERE 111
15.2.4 CLE PRIMAIRE COMPOSEE 111
15.3 MODIFIER LA COMPOSITION D’UNE CLE PRIMAIRE 111
15.4 SUPPRIMER UNE CLE PRIMAIRE 111

16. CLE ALTERNATIVE 112

16.1 RAPPEL DE DEFINITION 112

17. CLE ETRANGERE 112

17.1 RAPPEL DE DEFINITION 112


17.2 CREATION D’UNE CLE ETRANGERE 112
17.2.1 CREATION D’UNE CLE ETRANGERE A PARTIR DU GRAPHIQUE 112
17.2.2 - CREATION D’UNE CLE ETRANGERE A PARTIR DE LA TABLE FILLE 115
17.2.3 MODIFICATION D’UNE JOINTURE 116
17.3 MODIFICATION DE LA COMPOSITION D’UNE CLE ETRANGERE 117
17.4 MODIFICATION D’UN ATTRIBUT COMPOSANT LA CLE ETRANGERE 117
17.5 FUSION D’ATTRIBUTS DANS LES CLES PRIMAIRES OU ETRANGERES 117

18. INDEX 118

18.1 RAPPEL DE DEFINITION 118


18.2 CREATION D’UN INDEX 118
18.3 COMPOSITION DE L’INDEX 119
18.4 SUPPRIMER UN INDEX 119

19. TRANSFORMATION D’UN MODELE CONCEPTUEL DE DONNEES EN


MODELE LOGIQUE RELATIONNEL 119

19.1 PRINCIPES 119


19.2 OPTIONS DE TRANSFORMATION 120
19.3 OPTIONS SPECIFIQUES 120
19.3.1 OPTIONS SPECIFIQUES POUR LA RELATION D’HERITAGE 120
19.4 OPTIONS GENERALES DE TRANSFORMATION 122

6 Documentation utilisateur
19.5 SELECTION DU MODELE DESTINATION 122
19.6 OPTIONS GENERALES 123
19.7 OPTIONS D’HISTORISATION 125
19.8 CONTROLE A APPLIQUER 125
19.9 EXECUTION DE LA GENERATION 126
19.10 ENSEMBLE DES REGLES DE TRANSFORMATION 126
19.10.1 ENTITE 126
19.10.2 RELATION BINAIRE (0,N)-(1,1) OU (1,N)-(1,1) 126
19.10.3 RELATION BINAIRE (0,N)-(0,1) OU (1,N)-(0,1) 126
19.10.4 RELATION BINAIRE (0,1)-(1,1) 127
19.10.5 RELATION BINAIRE (0,1)-(0,1) 127
19.10.6 RELATION BINAIRE (0,N)-(0,N) OU (1,N)-(1,N) OU (1,N)-(0,N) ET RELATION TERNAIRE ET
SUPERIEURE QUELQUE SOIT LA CARDINALITE 127
19.10.7 PRISE EN COMPTE DES SOUS-TYPES DU MCD 127
19.10.8 PRISE EN COMPTE DES CONTRAINTES D’INTEGRITE 127
19.10.9 PRISE EN COMPTE DES CONTRAINTES REFERENTIELLES 128
19.10.10 PRISE EN COMPTE DES PROPRIETES COMPOSEES 128
19.10.11 PRISE EN COMPTE DES PROPRIETES MULTI VALUEES 128
19.10.12 PRISE EN COMPTE DE L’HISTORISATION 128
[Link] Historisation définie au niveau de la propriété 128
[Link] Historisation définie au niveau de l’entité ou de la relation 128
19.10.13 PRISE EN COMPTE DE LA GENERATION DE TABLES DE CODES 129
19.11 GENERATION D’UN MODELE CONCEPTUEL DE DONNEES A PARTIR D’UN MODELE
LOGIQUE 129
19.11.1 LANCEMENT 129
19.11.2 RESULTAT DE LA GENERATION 129
19.12 ARRANGEMENT AUTOMATIQUE DU SCHEMA 129
19.12.1 LANCEMENT 130
[Link] Modifier le contenu des sous-modèles proposés 130
[Link] Supprimer un sous-modèle 131
[Link] Créer un nouveau sous-modèle 131
19.12.2 EXECUTION 131

20. MISE EN CONFORMITE DU MODELE CONCEPTUEL PAR RAPPORT AU


MODELE LOGIQUE 131

20.1 PRINCIPE 131


20.2 LANCEMENT DE LA FONCTION 132

21. VUES SQL 132

21.1 DEFINITION 132


21.2 CREATION D’UNE VUE SQL 132
21.2.1 CREATION AUTOMATIQUE A LA GENERATION DU MLD A PARTIR DU MCD 132
21.2.2 CREATION D’UNE VUE SQL DANS LE MODELE LOGIQUE 133
21.3 COMPOSITION DE LA VUE SQL 134
21.3.1 ASSISTANT DE CREATION D’UNE VUE SQL 134
[Link] - Composition de la vue SQL en tables et autres vues 135
[Link] - Ajouter des jointures 135
[Link] - Modifier le nom d’une table 136
21.3.2 DEFINITION DES COLONNES UTILISEES DANS LA VUE 136
21.3.3 INSERER UNE EXPRESSION DANS LA REQUETE 137
21.3.4 DEFINIR UNE EXPRESSION DE SELECTION 137
21.4 CREATION DES VUES SQL DIRECTEMENT DANS L’EDITEUR 138
21.4.1 GESTION DES ELEMENTS A INSERER DANS LA VUE SQL 138
[Link] Insertion d’attributs dans la requête 139
[Link] - Insertion de jointures 139
[Link] - Opérateurs de langage 139

Module DATABASE & USER INTERFACE 7


22. STORAGE 140

22.1 DEFINITION 140


22.2 CREATION D’UN STORAGE 140
22.2.1 1ER MODE DE CREATION D’UN STORAGE 140
22.2.2 - 2EME MODE DE CREATION 141

23. TABLE SPACE 142

23.1 DEFINITION 142


23.2 CREATION D’UN TABLESPACE 142
23.3 ASSOCIER DES TABLES AUX STORAGES OU TABLESPACE 143
23.4 OPTIONS 144

24. GENERATION D’UN SCRIPT DE BASE DE DONNEES 144

24.1 GENERATION DU SCRIPT 144


24.1.1 ONGLET « GENERAL » 145
[Link] - Sélection de la base de données cible 145
[Link] - Sélection du fichier destination 145
[Link] - Sélection des tables à générer 146
[Link] - Choix du contrôle à appliquer 146
24.1.2 - ONGLET « OPTIONS » 146
24.1.3 - LANCEMENT DE LA GENERATION 147
24.2 GENERATION DES SCRIPTS DE MISE A JOUR 149

25. EXECUTION D’UNE REQUETE SQL POUR ODBC 150

25.1 ACCES 150


25.2 CONNEXION A UNE BASE DE DONNEES 150
25.3 COMPOSITION D’UNE REQUETE 151
25.3.1 151
25.4 RESULTATS DE LA REQUETE 151
25.5 EXPORTER LES RESULTATS D’UNE REQUETE 151
25.6 SAUVEGARDE D’UNE REQUETE 152
25.7 REQUETES PRE-DEFINIES A PARTIR D’UNE TABLE 152

26. GENERATION DES TRIGGERS 152

26.1 GENERATION DU SCRIPT 153

27. INTERFACE L4G 155

27.1 SELECTION DU L4G 155


27.2 DEFINIR DES CORRESPONDANCES DE TYPES 155
27.3 GENERATION DU SCRIPT VERS UN L4G CIBLE 156
27.4 GENERATION D’UN SCRIPT DE MISE A JOUR 157

28. PARAMETRAGE DES DRIVERS 157

28.1 ONGLET DRIVER 158


28.1.1 CREER UN NOUVEAU DRIVER 159
28.1.2 RENOMMER UN DRIVER 159

8 Documentation utilisateur
28.2 ONGLET GENERAL 160
28.3 ONGLET BASE 162
28.4 ONGLET TABLE 163
28.5 ONGLET ATTRIBUT 164
28.6 ONGLET TYPES 167
28.6.1 SENS DE CONVERSION 167
[Link] Win’Design vers base 167
[Link] Base vers Win’Design 167
28.7 ONGLET CONTRAINTES 168
28.8 ONGLET INDEX 170
28.9 ONGLET REGLE 171
28.10 ONGLET VUES SQL 173
28.11 ONGLET PROCEDURES 174
28.12 ONGLET STORAGE 176
28.13 ONGLET LANGAGE 177
28.14 ONGLET TRIGGERS 178
28.15 ONGLET TRIGGERS - ITEMS 179
28.16 ONGLET TYPES UTILISATEUR 181
28.17 LISTE DES VARIABLES 182
28.17.1 LISTE DES SECTIONS 188
28.17.2 ORDRE D'INSERTION DES SECTIONS DANS LE SCRIPT 190

29. REVERSE ENGINEERING D’UNE BASE DE DONNEES 190

29.1 OPTIONS DE REVERSE (MENU BASE DE DONNEES) 190


29.2 REVERSE ENGINEERING A PARTIR D’UN SCRIPT EXISTANT 191
29.3 - REVERSE ENGINEERING VIA ODBC 194
29.3.1 OPTIONS REVERSE ODBC 196
29.4 REVERSE DAO 196

Module DATABASE & USER INTERFACE 9


10 Documentation utilisateur
1. Construction des Modèles Conceptuels de Données

1.1 Objectif
La modélisation conceptuelle des données a pour objectif d'exprimer formellement la signification
de l'ensemble des informations du système d'information, sans contrainte technique ou
économique. Le MCD est essentiellement préoccupé par la sémantique des informations.

1.2 Formalisme
• Entité
L'entité est la modélisation d'un ensemble d'objets considérés de même nature.
Toute entité est dotée d'un identifiant, propriété dont les valeurs permettent de faire référence
de façon unique à une occurrence de l'entité.
Une entité est décrite par des propriétés qui lui sont rattachées.

• Relation
Une relation est la modélisation d'un ensemble d'associations de même nature entre deux ou
plusieurs objets. Elle est identifiée par la conjonction des identifiants des entités. La cardinalité
permet de préciser le degré de participation minimal et maximal de chaque individu à la relation.

• Propriété
Une propriété est la modélisation d'une information descriptive dotée d'un ensemble de valeurs.
Une propriété est unique dans un modèle et rattachée soit à une entité soit à une relation quelle
décrit.

• Règle
Une règle de traitement ou de gestion formalise un calcul ou un algorithme arithmétique et/ou
logique à appliquer sur des données modélisées.

• Contrainte Inter relations


Une contrainte inter relation formalise une condition sur la participation des occurrences d’une
ou plusieurs entités aux occurrences de relations.
Il existe différents types de contraintes :
Exclusion, inclusion, simultanéité, totalité, partition.

• Contrainte sur spécialisation


Une contrainte sur spécialisation formalise, par rapport à un héritage, une condition d’existence
entre les sous types d’un héritage.
Il existe différents types de contraintes :
- Exclusion, totalité, partition.

• Héritage
L’héritage est une modélisation d’un lien entre des entités ( ou relations ) de même nature. L’un
est en position de sur type, le ou les autres en position de sous type. On appelle également
cette modélisation « Spécialisation ». Normalement, les entités sous types n’ont pas
d’identifiant propre.

Dans une modélisation d’héritage, il s’agit de la même occurrence d’objet évoquée dans le sur
type et dans le ou les sous types.
Les entités ( ou relations ) sous types héritent des propriétés du sur type, c’est à dire que ces
dernières sont également pertinentes pour les sous types.

Le mécanisme d’héritage s’applique au niveau des sous types :


- Soit pour distinguer des propriétés qui ne sont pertinentes que pour certaines occurrences
- Soit pour distinguer des relations qui ne s’appliquent que pour certaines occurrences.

• Vue externe et groupe de données


Une vue de données est un sous ensemble de données, éventuellement structurées en groupe,
correspondant à la définition des objets utilisateurs.
Exemple : une commande, une facture, un contrat ...

Module DATABASE & USER INTERFACE 11


Les vues de données sont définies dans les modèles de données et sont utilisables dans les
modèles de traitements, comme descriptif du contenu en informations des flux.

2. Préférences globales au modèle


Certaines options peuvent être prises pour le contrôle de la syntaxe autorisée pour la saisie des
noms des différents objets.

Ces fonctions sont appelées par le Menu « Options » fonction « Préférences ... - Modèle ».
La boîte de dialogue présentant 4 onglets s’affiche.

2.1 Onglet « Général »

1er groupe : contrainte


Ce premier groupe permet de préciser le sigle à donner aux contraintes d’unicité.

Par défaut, elles sont notées CIF ( Contraintes d’Intégrité Fonctionnelle ).

Ce sigle sera affiché dans les contraintes au niveau graphique.

2ème groupe : vérification de la cohérence des domaines de valeurs des propriétés

12 Documentation utilisateur
A une propriété du modèle, peuvent être associées des listes ou des bornages de valeurs. Cette
option permet simplement de provoquer un contrôle entre le type de données de la propriété, sa
longueur et les valeurs saisies.

Cochez éventuellement l’option. Validez vos choix par « OK »

2.2 Onglets syntaxe des noms et syntaxe alias


Ensemble d’options permettant la gestion des caractères autorisés ou interdits, dans la composition
du nom des objets.

Cliquez l’onglet « Syntaxe nom » ou « Syntaxe alias » (même fonctionnement).

1er groupe : caractères autorisés

Option : tous les caractères autorisés ( option par défaut ) ou donnez la liste des seuls caractères à
autoriser.

Module DATABASE & USER INTERFACE 13


2ème groupe : caractères interdits
Les caractères suivants sont obligatoirement interdits : /, \, :, .

Saisissez éventuellement les caractères que vous souhaitez interdire. Pour interdire l’espace, ne
pas le placer en fin de ligne pour qu’il puisse être pris en compte.

Caractères de remplacement :
Permet de saisir le caractère qui remplacera les caractères interdits après contrôle.

3ème groupe : contrôle sur la casse


Permet d’effectuer des contrôles en autorisant que les majuscules, que les minuscules ou en
ignorant la casse.

4ème groupe : longueur maximum


Permet de moduler la longueur maximum du nom ou de l’alias (nom logique).
Cette longueur doit être toutefois inférieure à la longueur par défaut (32 caractères).

5ème groupe : option création automatique des noms logiques (onglet syntaxe
alias uniquement)
Chaque objet dans le dictionnaire peut avoir 2 noms. Dans le MCD, il s’agit du nom conceptuel et
du nom logique.
Le nom logique correspond la plupart du temps à une codification particulière. Lors de la génération
dans le MLD, Win’Design, sur option, pourra utiliser ce nom logique. S’il n’existe pas, c’est le nom
conceptuel qu’il prendra par défaut. Il est donc inutile de saisir un nom logique strictement identique
au nom conceptuel.

2.2.1 Conséquences des choix effectués sur la syntaxe


Lors de la saisie du nom ou de l’alias des objets, dans le cas où des caractères interdits sont
utilisés, un panneau de contrôle intitulé « Saisie du nom de l’objet » ou « Saisie de l’alias d’un
objet » s’affiche. Il vous informe que le nom est composé de caractères interdits.
Après avoir cliqué sur « OK », les caractères interdits sont automatiquement remplacés par les
caractères de remplacement.
Lorsqu’on a précisé une contrainte sur la casse, les majuscules ou minuscules sont
automatiquement transformées à la saisie en fonction des choix.

Toutefois, il est possible par l’option « Création automatique des noms logiques », de dupliquer
automatiquement le nom conceptuel en nom logique en respectant les contraintes de syntaxe.

2.2.2 Options de longueur par défaut des types de données


Cliquez sur l’onglet « Types » de la boîte « Préférences du Modèle Conceptuel de Données ».

14 Documentation utilisateur
Les différents types de données sont présentés avec leur code abrégé, associé à un nombre
représentant la longueur par défaut qui sera affectée lors du choix de ce type de données.

Ces longueurs peuvent être modifiées en saisissant le nombre voulu dans chacun des champs de
saisie.

9 Voir aussi la fonction « Type utilisateurs » du menu « Modèle » pour la saisie de nouveaux types
de données.

3. Options d’affichage et de style des symboles


Les options d’affichage et de style peuvent être définies sur plusieurs niveaux :

Définition des options standard : Win’Design est livré avec des options standard pré-définies.
Ces options peuvent être modifiées par l’utilisateur qui crée alors ses propres standard.

Définition des options du modèle : paramétrage d’options pour les objets du modèle courant,
pouvant être conservées comme options standard pour tout nouveau modèle du même type.

Définition des options du sous-modèle : paramétrage d’options pour les objets du sous-modèle
courant.

Définition des options d’une sélection : paramétrage d’options pour la sélection.

Module DATABASE & USER INTERFACE 15


3.1 Appel de la boîte de dialogue de configuration des options
graphique
Sélectionnez l’option « Options graphiques … » à partir du menu « Options », puis le niveau sur
lequel vous voulez définir le paramétrage (Standard, Modèle, sous-modèle, sélection).

Par défaut, à l’ouverture de la boîte, les options d’affichage sont proposées.

L’ensemble des objets gérés dans les modèles de données sont présentés.
Sélectionnez le type d’objet dans la liste de gauche, puis cochez ou décochez les éléments que
vous souhaitez afficher au niveau graphique.

Pour accéder aux options de style, cliquez sur le bouton « Style ».

9 Cf. manuel Modes opératoires standard pour le fonctionnement détaillé de la boîte.

9 Tous les menus contextuel des objets disposent de la fonction « Apparence – Annuler style
spécifique » permettant de revenir aux styles standard. Les styles spécifiques sont ceux qui ont été
appliqués sur la sélection (accès par la boîte générale des options graphiques, ou par la boîte pop
up de l’objet, onglets « Affichage et style »).

16 Documentation utilisateur
4. Créer un objet méthode
Deux modes opératoires sont disponibles pour créer un objet méthode.

4.1 1er mode : représentation de l’objet puis affectation


Sélectionnez la fonction « Nom de l’objet » dans le menu « Dessiner ». Cliquez dans la
fenêtre de travail pour représenter l’objet.
Ce mode opératoire est détaillé pour chaque type d’objet dans la rubrique
correspondante.

4.2 2ème mode : création de l’objet sans représentation graphique


préalable
Sélectionnez la fonction « Liste d’objets… » dans le menu « Modèle ».
La boîte de dialogue « Liste d’objets … » s’affiche.

Sélectionnez le type d’objet à représenter, puis validez par Ok.

La boîte de dialogue « Définition d’objets » s’affiche.

Module DATABASE & USER INTERFACE 17


Cette boîte de dialogue permet de lister les objets existants pour un type sélectionné, et
de créer de nouveaux objets de ce type, sans les représenter graphiquement au
préalable.

Nota : les objets ainsi créés s’affichent dans la liste dictionnaire.


Pour les représenter graphiquement, effectuez un drag & drop à partir du dictionnaire.

4.2.1 Description de la boîte

La boîte de dialogue « Définition d’objets » s’affiche et présente la liste des objets existants pour
le type sélectionné (ex : entité).

Ce tableau est composé d’un ensemble de colonnes, correspondant chacune a une


caractéristique de l’objet.
La première colonne présentée sous forme d’arbre hiérarchique contient le nom de
l’objet.

L’utilisateur peut configurer les colonnes comme il le désire, modifier leur ordre, choisir
les colonnes à afficher.

Le bouton permet d’afficher ou de fermer en bas de la boîte, la boîte à


onglets (équivalent à la boîte pop-up appelée lors de la sélection de l’objet au niveau
graphique), dont le contenu variera en fonction de la sélection.

La saisie des objets et de leurs caractéristiques, peut se faire indifféremment à partir du


tableau (chaque colonne étant éditable), ou à partir de la boîte à onglets. Le tableau et la
boîte à onglets étant en totale interactivité.

18 Documentation utilisateur
4.2.2 Fonctionnement général de la boîte
Utilisez les icônes de la barre d’outils pour respectivement :
• Ajouter un nouvel élément dans la liste
• Supprimer l’élément sélectionné
• Voir ou définir la composition de l’élément sélectionné (appel boîte de dialogue)
• Ouvrir tous les groupes
• Fermer tous les groupes

Pour lister un autre type d’objet, activez le bouton , puis sélectionnez


le nouveau type à afficher dans la boîte « liste d’objets ».

Configurer les colonnes


Chaque colonne correspond à une caractéristique de l’attribut, clé ou index.

Pour configurer les colonnes, effectuez un clic droit sur l’entête de n’importe quelle
colonne.
La boîte « Configuration des colonnes » s’affiche.

Cochez le nom des colonnes qui seront affichées dans le tableau. Décochez celles que
vous ne voulez pas afficher.

Nota : L’ordre d’affichage des colonnes peut également être modifié par drag & drop à
partir de cette boîte, ou par drag & drop directement dans le tableau.

Edition d’une colonne


Pour démarrer l’édition d’une colonne, cliquez sur une ligne déjà sélectionnée.
Pour la saisie d’un nouvel objet, sélectionnez la ligne vide (dernière ligne) et cliquez sur
la première colonne.

Pendant l’édition, les touches suivantes sont disponibles :

ENTREE Valide l’édition de la ligne et passe à l’édition du début de ligne


suivante
ESC Annule l’édition de la ligne en cours.
TAB Edite la colonne éditable suivante ou passe à l’édition du début
de la ligne suivante.
SHIFT-TAB Edite la colonne éditable précédente ou passe à l’édition de la
fin de la ligne précédente.
Flèche BAS Edite la colonne de la ligne suivante.
Flèche Edite la colonne de la ligne précédente.
HAUT

Autres fonctionnalités disponibles :

• La boîte est redimensionnable.


• La taille de chaque colonne est modulable.

Classement croissant/décroissant du contenu d’une colonne


Un classement par ordre croissant ou décroissant des objets peut être effectué sur
chaque caractéristique.

Pour cela, effectuez un clic gauche sur l’entête de la colonne à classer.


Le premier clic effectue un classement par ordre croissant, un second clic classe par
ordre décroissant, un troisième clic supprime le classement. L’ordre des
caractéristiques est alors l’ordre de saisie.

Module DATABASE & USER INTERFACE 19


Lister un autre type d’objet
Pour afficher la liste des objets d’un autre type, activez le bouton « Autre type d’objets »
en haut de la boîte.
La boîte « Liste d’objets » s’affiche. Sélectionnez le type d’objet à afficher.

5. Entité
L'entité a pour représentation graphique un rectangle.

5.1 Création d'une entité


Appel de la fonction :

Menu « Dessiner » fonction « Entité » ou icône puis .


Ou Menu « Modèle » fonction « Liste d’objets… », puis sélection du type d’objets « Entité ».
ème
Nota : ce 2 mode opératoire permet de lister les objets d’un même type et de créer des entités
sans représentation graphique préalable.
Ces objets ainsi créés sont affichés dans le dictionnaire et pourront être représentés
graphiquement par drag & drop à partir du dictionnaire.

9 Rappel des fonctions générales graphiques

Positionnez le + du curseur à l'endroit où l'angle supérieur gauche de l'entité doit être représenté.
Cliquez une fois. L'entité est dessinée.

La fonction reste active. Vous pouvez créer en série plusieurs entités sans réactiver la fonction.

Pour désélectionner la fonction, effectuez un clic droit n'importe où dans l'espace de travail ou

cliquez sur l'icône . La fonction est désactivée.

5.2 - Affecter une entité


Positionnez le curseur sur l'entité, et effectuez un double clic gauche.

La boîte de saisie des caractéristiques de l'entité s'affiche.

20 Documentation utilisateur
Elle dispose d’onglets, dont la sélection modifiera la boîte pop up pour permettre la saisie
d'informations de chiffrage, d'informations relatives à l'administration de données et à l'historisation.

9 Attention
Cette boîte est une boîte pop up (Voir chapitre IX- Caractéristiques des boîtes de dialogue de
définition des objets).

5.2.1 Onglet définition


Saisissez le code de l'entité, puis son nom logique et éventuellement une ligne de libellé.

Le nom logique de l'entité servira lors de la transformation automatique du MCD en MLD, où l'entité
sera transformée en table relationnelle.
Le code d'identification de cette table sera le nom logique s'il est saisi, ou le nom de l'entité s'il
n'existe pas de nom logique.

9 Voir dans le menu « Préférence Modèle » onglet syntaxe alias, la case à cocher « création
automatique des noms logiques ».

5.2.2 Préfixe attribut


Si vous précisez le préfixe des attributs, lors de la génération du MLD, tous les attributs générés
auront ce même préfixe.

5.2.3 Définir les états d’une entité


Certaines entités gérées dans les modèles de données subissent au cours du temps un certain
nombre d’états traduisant leur cycle de vie.

Ces états expriment la situation de l’entité par rapport à son évolution dans le temps.

9 Exemple : l’entité « Commande » est gérée de manière différente au cours des étapes de sa
vie, comme : l’arrivée de la commande, la livraison, la facturation, le règlement, l’archivage.
Ces différentes étapes se traduiront par une information en général mémorisée par une
propriété, reflétant l’état de la commande (commande arrivée, livrée, facturée, réglée, archivée).

Ces caractéristiques peuvent être également complétées par un modèle explicitant les modes de
passage d’un état à un autre.

Ce modèle se dénomme « Diagramme d’état » ou également « Cycle de vie d’un objet ».


La représentation de ce type de modèle est très proche du formalisme des modèles de traitements
(Cf. Modèles de traitements).

Dans le modèle de données, seule l’identification des états est décrite.

Module DATABASE & USER INTERFACE 21


Pour décrire les états d’une entité, cliquez sur de la boîte pop up.
La boîte de dialogue « Etat » s’affiche.

Elle permet de définir plusieurs types d’état pour la même entité.


Par défaut, Win’Design propose un type d’état déjà composé de « Etat de » + le nom de l’entité.

Pour modifier cette dénomination, saisissez les nouveaux code et libellé.

Cliquez sur les boutons « Créer », « Modifier », « Supprimer » pour gérer la notion de type d’état.

Pour définir les différents états, saisissez dans le champ « Nom » le nom de l’état et dans le champ
« Description » sa définition.

Utilisez les boutons « Créer », « Modifier », « Supprimer », pour gérer les différents états.

22 Documentation utilisateur
[Link] Lien entre les propriétés et les types d’état
Souvent, les états de l’entité sont traduits par une propriété dont le domaine de valeur fournit la liste
des états possibles.
Win’Design permet si une propriété existe de créer le type d’état correspondant, ou après avoir
créé un type d’état, de générer la propriété correspondante.

• Pour créer une propriété à partir d’un type d’état, cliquez sur .
Un panneau vous demande confirmation.
Choisissez « Oui » pour valider, « Non » pour annuler l’opération.

Une propriété de même nom que le type d’état est créée.


Elle comportera dans son domaine de valeurs, la liste des états.

Les états se retrouvent dans les domaines de valeurs de la propriété

• Pour créer un type d’état à partir d’une propriété, cliquez sur .


Une boîte de dialogue présente la liste des propriétés de l’entité possédant une liste de valeurs
( Cf. saisie dans le domaine de valeurs ).

Module DATABASE & USER INTERFACE 23


Sélectionnez l’une d’entre elles, puis cliquez sur « OK ». Le type d’état ainsi que la liste des états
sont créés.

5.2.4 Appel des modèles de traitements à partir de l’entité


Ce mode opératoire permet de lier une entité à un modèle de traitement. On peut donc ainsi
associer la définition de l’entité à n’importe quel type de modèle de traitement. Ce mode opératoire
est particulièrement adapté pour associer à une entité un modèle de type « Cycle de vie ».

Pour associer un modèle de traitements à une entité, cliquez sur le bouton de la


boîte pop up de l’entité.

9 Lorsqu’un modèle de traitement a été associé à une entité, un carré grisé s’affiche dans son coin
supérieur gauche.

Un modèle de traitements a été associé à l’entité « Commande »

5.2.5 Onglet Chiffrage


Pour saisir des informations volumétriques concernant une entité, cliquez sur l'onglet « Chiffrage ».
La partie inférieure de la boîte pop up se transforme.

La taille de l'occurrence est calculée par rapport à la somme des longueurs des propriétés de
l'entité.

9 Ces longueurs ont été saisies par la boîte « Saisie des propriétés » ou par la boîte pop up de
définition d'une propriété.

Une taille estimée peut également être saisie.


Pour mettre à jour l’affichage du volume, après avoir saisi le nombre d’occurrences ou la taille en
caractères estimée, appuyez sur la touche ENTREE.

Boîte pop up après activation de l'onglet " Chiffrage "

24 Documentation utilisateur
9 Le volume calculé est un nombre entier exprimé en milliers. Dans le cas où le volume est
inférieur à un millier de caractères, il reste affiché égal à zéro.

5.2.6 - Onglet Historisation


Activez l'onglet « Historisation ». La boîte pop up se transforme.

Le qualificatif d’historisation pour une entité permet d’exprimer d’une manière simple le problème
de la conservation des modifications d’une entité au cours du temps.
Historisation et archivage, bien que voisins, ne représentent pas la même notion.
De même, l’historisation et la multi valuation des propriétés sont deux notions différentes.
Conséquence : ce procédé permet de simplifier la conception de ce problème en évitant de
modéliser le temps et en rendant externes les valeurs des propriétés de l’entité.
Lors de la transformation du modèle conceptuel en modèle logique, cet indicateur sera reconnu et
la transformation tiendra compte de ce qualificatif.

Pour préciser le qualificatif d’historisable cochez la case « Historisable ».

Précisez l’unité de temps retenue, correspondant à la date qui sera associée aux valeurs modifiées
(date, Mois+Année, Année ou Date+Heure), puis indiquez le nombre d’occurrences à conserver.

Exemple : historiser les données d’un article en retenant comme unité de temps la date de la
modification, en conservant les 4 dernières modifications.

Boîte pop up après activation de l'onglet « Historisation »

9 L'option historisable sera symbolisée par un (H) affiché à côté du code de l'entité sur le
graphique

L'entité « Article » est historisable

9 Les relations et les propriétés peuvent être également déclarées comme historisables.

5.2.7 Onglet Administration


Pour accéder à la saisie d'informations concernant l'administration de données, cliquez l'onglet
« Administration ». La boîte de dialogue se transforme.

Module DATABASE & USER INTERFACE 25


Boîte pop up après activation de l'onglet « Administration »

Elle permet de préciser :


• Le domaine ( sous ensemble d’activité ) d'appartenance de l'entité (Cf. Notion de domaines
dans le manuel « Modes opératoires standard »)

9 Le domaine peut être sélectionné dans la liste de choix ou saisi dans la première ligne de cette
liste, pour créer un nouveau domaine.

• Son statut ( actuel, futur ou validé ) dans le cycle de conception.

• Trois caractéristiques libres peuvent être précisées.

L’auteur, la date de création et la date de dernière modification de l'entité sont affichées pour
information.

5.2.8 Saisie de textes complémentaires pour l’entité


Deux types de textes peuvent être saisis qui seront associés à l’entité pour annotation et
commentaires.

Icônes et

9 Voir Manuel modes opératoires standard

5.2.9 Association de fichiers


Plusieurs documents peuvent être associés à l’entité.

Activez l’icône .

9 Voir Manuel modes opératoires standard

5.3 Modifier les caractéristiques d'une entité


Sélectionnez l'entité. La boîte pop up s'affiche.
Effectuez les modifications et validez comme pour la création.

9 Les objets peuvent être renommés à tout moment.

5.4 Supprimer une entité

Sélectionnez l'entité à supprimer sur le graphique, et activez la touche SUPPR.

26 Documentation utilisateur
Dans le cas où l’entité figure dans plusieurs sous-modèles, la boîte « Suppression d’objets »
s’affiche. Elle présente deux options pour la suppression des objets sélectionnés :

• L’option « Supprimés » supprimera l’objet sélectionné dans tous les sous-modèles. Une
confirmation de la suppression est demandée.

• L’option « Retirés du sous-modèle actif » ne fera que rendre invisible l’objet dans le sous-
modèle actif et le conservera dans le dictionnaire.

• Si l’objet n’est présent dans aucun autre sous modèle, la confirmation de l’option « Retirer »
laissera l’objet dans la liste dictionnaire, mais invisible. Le glisser-déposer à partir du
dictionnaire permettra de rendre l’objet visible au niveau graphique.

Conséquences de la suppression

9 Les relations auxquelles participait l'entité n'ont plus de patte de liaison avec cette entité.

9 Si l’option a été choisie (Préférence modèle onglet général) toutes les propriétés de l'entité
supprimée sont désaffectées et deviennent des informations candidates éventuellement à une
autre attribution à une entité ou une relation.

9 Ces informations seront accessibles dans la boîte de dialogue " Liste des informations ( Menu
« Modèle » option « Informations » ), et à partir de la boîte « Saisie des propriétés », où elles
pourront être transformées en propriété, en activant le bouton « Rattacher ».

Module DATABASE & USER INTERFACE 27


5.5 Couper, copier, coller une entité

Sélectionnez la ou les entités et activez la fonction « couper » ou « copier » du menu « Editer » ou

l’icône ou . Les éléments sont stockés dans le presse papier.

Activez la fonction « Coller » du menu « Editer » ou l’icône . Le curseur se transforme en


viseur. Positionnez-vous dans le sous-modèle où doit être collée la sélection. Cliquez une fois pour
coller.

9 Dans le cas où le modèle destinataire ne comportait pas précédemment la même entité, le


collage s’effectue sans préalable.

9 Dans le cas où le modèle destinataire comporte déjà l’entité qui doit être collée avec une liste de
propriété différente, une boîte de dialogue s’affiche, permettant d’effectuer des choix sur la
consolidation des propriétés de cette entité.

9 Voir aussi fonction « Copier » du dictionnaire (Manuel modes opératoires standard)


• Pour les propriétés existantes : options conserver, modifier ou supprimer ces propriétés
• Pour les nouvelles propriétés : options ignorer, ou ajouter.

5.6 Fonctions accessibles uniquement par le menu contextuel de


l’entité

5.6.1 Dupliquer une entité


Il peut être utile de disposer plusieurs fois, dans un même sous-modèle, d’une entité pour
permettre par exemple un tracé des liens plus clair.

La fonction duplicata, permet de dessiner plusieurs fois la même entité.

Sélectionnez l’entité à dupliquer, puis choisissez dans le menu contextuel la fonction « Créer
duplicata ... ».

Le symbole de l’entité est dupliqué.

9 La définition des différents duplicata est unique. La modification de définition de l’un d’entre eux
entraîne la modification dans tous les autres.

9 Dans les listes, en dehors du graphique, l’entité n’existe qu’une fois. Tous les liens des duplicata
sont rattachés de manière unique.

28 Documentation utilisateur
9 Par contre, des styles de présentations et des options d’affichage différentes, peuvent être
appliqués aux différents duplicata.

[Link] Transfert de liens entre duplicata


Lorsqu’après avoir fait un duplicata on souhaite lui rattacher certains liens de l’original, il faut
sélectionner l’extrémité du lien à l’intérieur de l’objet original, puis en maintenant la touche de la
souris enfoncée, faire glisser jusqu’à l’intérieur de l’objet duplicata.

Le lien change alors de tracé.

5.6.2 Créer un synonyme de l’entité


Cette fonction permet de créer un nouvel objet à partir d’un objet existant.
Elle est utile dans la mesure où l’objet à créer est de définition quasi identique à
l’objet dont il dérive.

5.6.3 Objets libres associés


Cette fonction permet de visualiser les objets libres associés à l’entité, de créer de
nouveaux objets libres ou d’affecter des objets libres existants à l’entité.
Cette affectation ne nécessite pas le dessin des objets libres et de leurs liens.
Ces objets libres sont également présentés dans la liste des références croisées de
l’entité.

5.6.4 Visualiser les règles de l’entité


Pour afficher les règles utilisant l’entité, utilisez la fonction « Règles de l’entité » du menu
contextuel. La boîte de dialogue s’affiche.

La boîte de dialogue ne présente que les règles utilisées par l’objet présélectionné.

Il est possible d’effectuer une sélection sur les règles à afficher en activant le bouton
« Sélections ».

9 Voir aussi le fonctionnement général de cette boîte de dialogue. Manuel des modes
opératoires standard

Module DATABASE & USER INTERFACE 29


5.6.5 Mise à jour des états

La fonction « Mise à jour des états » du menu contextuel, permet d’effectuer la mise à jour des
états à partir des modèles de traitements.

L’activation de la fonction appelle la boîte de dialogue « Mise à jour des états »

Elle propose la liste de tous les modèles de traitements ouverts ou appartenant au projet.

Sélectionnez le ou les modèles à partir desquels la mise à jour doit être faite et validez par « OK ».

Bien que la définition des états soit effectuée dans les modèles de données, un état peut être
représenté graphiquement dans les modèles de traitements (comme condition ou résultat d’un
traitement). Un nouvel état peut donc être créé à partir d’un modèle de traitement. La fonction
« Mettre à jour les états » permet donc de mette en évidence les états définis dans les modèles de
traitements et dans les modèles de données.

5.6.6 Montrer/cacher les liens


La fonction « Apparence - Montrer les liens / cacher les liens » du menu contextuel, permet
d’afficher ou non dans le modèle, tous les liens de l’entité avec les autres objets auxquels elle est
rattachée.

9 Pour cacher seulement un lien sélectionnez la fonction SUPPR option « Retirer du sous-modèle
actif ».

5.6.7 Montrer dictionnaire


La fonction « Montrer dictionnaire » permet de visualiser dans la liste dictionnaire, tous les sous
modèles dans lequel l’objet est présent.
Le sous-modèle actif à partir duquel l’objet a été sélectionné, apparaît sur un fond grisé.

5.6.8 Montrer références croisées


La fonction « Montrer références croisées » permet d’afficher la liste dictionnaire. L’objet
est sélectionné dans la liste et les objets avec lesquels il est lié sont présentées dans une
fenêtre complémentaire du dictionnaire.

Les références croisées de l’objet sont également affichées dans sa boîte pop up, dans
l’onglet « Références croisées ».

30 Documentation utilisateur
5.6.9 Attacher un icône
Pour attacher un icône à une entité, utilisez dans le menu contextuel la fonction « Attacher icône ».
Cette fonction n’est active que si l’entité ne disposait pas précédemment d’un icône.

9 L’icône s’affiche en haut à gauche du symbole. Il peut être déplacé librement comme tout objet.
Par contre, lors du déplacement de l’entité, l’icône subira le même déplacement.

9 Pour changer un icône existant, il suffit de double cliquer sur l’icône lui-même et de choisir dans
la bibliothèque d’icône un nouvel icône.
Pour le supprimer, sélectionnez l’icône et activez la touche SUPPR.

5.6.10 Référent prioritaire - Transformer, mettre à jour, retirer le raccourci


– Changer le chemin de l’objet de référence

9 Cf. Manuel Modes opératoires standard – Raccourcis : gestion de la définition unique


d’un objet multi-modèles

6. Relation
La relation est représentée graphiquement par une ellipse.

6.1 Création d'une relation


Il existe différents modes opératoires pour dessiner une relation.

6.1.1 Dessin d'une relation isolée

Dans le Menu « Dessiner » sélectionnez l'option « Relation » ou activez l'icône .

6.1.2 Dessin automatique de la relation

[Link] Tracé de la patte et dessin automatique de la relation

Sélectionnez l'option « Lien entre objets » dans le Menu « Dessiner » ou cliquez sur l'icône .

Cliquez sur une entité, puis cliquez sur une seconde entité.
Les pattes se tracent et la relation est dessinée automatiquement en son milieu.

Illustration du dessin automatique de la relation lors du tracé des pattes

Module DATABASE & USER INTERFACE 31


[Link] Dessin de la relation et tracé automatique des pattes

Sélectionnez plusieurs entités. Sélectionnez la fonction « Relation » dans le Menu « Dessiner » ou

cliquez sur l'icône .


Positionnez le curseur à l'endroit où vous souhaitez représenter la relation, cliquez une fois.
La relation est dessinée et les pattes sont tracées automatiquement, reliant la relation à l'ensemble
des entités sélectionnées au préalable.

Illustration du tracé automatique des pattes de la relation

[Link] Création de la relation sans représentation graphique préalable

Activez la fonction « Liste d’objets… » du menu « Modèle », puis sélectionnez le type d’objets
« Relation » dans la liste. Validez par Ok.

9 Voir détail de la fonction dans le paragraphe 4 – Créer un objet méthode

Nota : les objets ainsi créés sont affichés dans le dictionnaire et pourront être représentés
graphiquement par drag & drop à partir du dictionnaire.

6.1.3 Affecter une relation

Les caractéristiques de définition, chiffrage, et administration sont identiques à celles de l’entité.

Boîte pop de définition d'une relation

32 Documentation utilisateur
9 Dans la partie inférieure de la boîte de dialogue, la collection de la relation est indiquée.

6.1.4 Définir les états d’une relation


Certaines relations gérées dans les modèles de données subissent au cours du temps un certain
nombre d’états traduisant leur cycle de vie.

Ces états expriment la situation de la relation par rapport à son évolution dans le temps.

9 Exemple : la relation « Stocker Dépôt » on peut définir l’état de l’article par rapport à la
gestion des stocks (en rupture, en cours de commande, seuil de réappro, fin de série, etc
...).

Ces caractéristiques peuvent être également complétées par un modèle explicitant les modes de
passage d’un état à un autre.

Ce modèle se dénomme « Diagramme d’état » ou également « Cycle de vie d’un objet ».


La représentation de ce type de modèle est très proche du formalisme des modèles de traitements
(Cf. Modèles de traitements).

9 Dans le modèle de données, seule la définition des états est décrite.

9 Cf. « Définir les états d’une entité » pour les modes opératoires

6.2 Modifier les caractéristiques d'une relation

Sélectionnez la relation sur le graphique par double clic, la boîte pop up s'affiche.
Saisissez les modifications. Validez la saisie.

6.3 Supprimer une relation


9 Cf. Supprimer une entité

Conséquences de la suppression

• Les propriétés de la relation supprimée sont désaffectées et deviennent des informations


candidates à une autre attribution à un individu ou à une relation.
• Elles seront accessibles à partir de la boîte de saisie des propriétés par activation du bouton
« Rattacher ».

6.4 Couper, copier, coller une relation


• La relation coupée ou copiée est mémorisée avec l’ensemble de sa collection.

• Lorsque la relation est collée, si sa collection est présente dans le modèle, les pattes sont
tracées automatiquement.

• Si les entités de la relation n’existent pas dans le modèle elles sont copiées automatiquement.

• Le comportement par rapport aux propriétés est identique à celui de l’entité.

6.5 Modification des cardinalités

Par défaut, lors de la création d'une patte de relation, la cardinalité affectée est [o,n].

Pour modifier cette cardinalité, cliquez sur la patte de la relation.


La boîte « Caractéristiques » correspondant à la patte sélectionnée s'affiche.

Module DATABASE & USER INTERFACE 33


Boîte pop up de définition d'une patte de relation

Modifiez la cardinalité en sélectionnant l'une des valeurs proposées, ou sélectionnez l'option


« Autres » si votre choix diffère des options présentées.

Vous pouvez également saisir le rôle de la relation. Celui-ci s'affichera sur la patte au niveau
graphique (Cf. « Options graphiques d’affichage », ou onglet « Affichage » de la patte de la
relation)

Ö Cases à cocher :

• Identifiant relatif
Permet d’indiquer que la relation sert de définition à l’identification relative de l’entité reliée par
la patte sélectionnée.
Le choix de cette option impliquera obligatoirement une cardinalité (1,1).

• Verrouillée
Permet d’indiquer en plus des caractéristiques d’une relation définitive, que l’on ne peut pas
rajouter d’occurrences à la relation à partir de la même entité.

• Définitive
Permet d’indiquer que l’on ne peut pas supprimer les occurrences de la relation autrement
qu’en supprimant l’entité reliée par la patte sélectionnée

Le choix de l'option Verrouillée affichera un V sur la patte de la relation


sur le graphique

Ces options se visualiseront au niveau du graphique par les indications suivantes sur la patte :

34 Documentation utilisateur
• Identifiant relatif (R)
• Verrouillée (V)
• Définitive (D)

6.6 Fonctions accessibles uniquement par le menu contextuel de la


relation

9 Mêmes fonctions que pour l’Entité

7. Propriété

7.1 Accès à la boîte de saisie des propriétés d'une entité ou d'une


relation
A partir de la boîte pop up de saisie des caractéristiques de l’entité ou de la relation
sélectionnée, cliquez sur .

La boîte de saisie des propriétés de l'entité ou de la relation s'affiche.

Boîte de saisie des propriétés de l'entité « Commande »

Module DATABASE & USER INTERFACE 35


7.2 Composition de la boîte

Cette boîte présente sous forme de tableau, pour l’entité ou la relation sélectionnée, l’ensemble de
ses propriétés déjà créées.

• Ce tableau est composé d’un ensemble de colonnes, correspondant chacune a une


caractéristique de la propriété.
• La première colonne présentée sous forme d’arbre hiérarchique contient le nom de la
propriété.
• L’utilisateur peut configurer les colonnes comme il le désire, modifier leur ordre, choisir les
colonnes à afficher.

• L’activation du bouton permet d’afficher ou non, en bas de la boîte, la boîte à


onglets (équivalent à la boîte pop up appelée lors de la sélection de la propriété au niveau
graphique), dont le contenu variera en fonction de la sélection.

9 Pour afficher cette boîte, vous pouvez également effectuer un double clic sur la ligne.

La saisie des propriétés et de leurs caractéristiques, peut se faire indifféremment à partir du tableau
(chaque colonne étant éditable), ou à partir de la boîte à onglets. Le tableau et la boîte à onglets
étant en totale interactivité.

7.3 Fonctionnement général de la boîte

7.3.1 Les boutons de la barre d’outils

La barre d’outils, en haut à gauche de la boîte, permet par simple clic sur l’un des boutons:

c d e f g h i j

c D’enlever un niveau de composition (Cf. § 1.3.8)


d d’Ajouter un niveau de composition (Cf. § 1.3.8)
e De déplacer la sélection vers le haut
f De déplacer la sélection vers le bas
g D’ajouter un nouvel objet
h De supprimer la sélection
i De se déplacer au début de la liste des propriétés
j De se déplacer au début de la liste des informations

7.3.2 Case à cocher « Afficher les informations du modèle »

Cochez cette case pour afficher dans le tableau toutes les informations existantes du modèle
courant.

36 Documentation utilisateur
Affichage des informations du modèle courant

7.3.3 Configurer les colonnes

Chaque colonne correspond à une caractéristique de la propriété.

Pour configurer les colonnes, effectuez un clic droit sur l’entête de n’importe quelle colonne.
La boîte « Configuration des colonnes » s’affiche.

Cochez le nom des colonnes qui seront affichées dans le tableau. Décochez celles que vous ne
voulez pas afficher.

Module DATABASE & USER INTERFACE 37


Nota : L’ordre d’affichage des colonnes peut également être modifié par drag & drop à partir de
cette boîte, ou par drag & drop directement dans le tableau.

Déplacement de la colonne « Type » par Drag & drop dans le tableau


Les flèches rouges indiquent le point d’insertion de la colonne

7.3.4 Edition d’une colonne

Pour démarrer l’édition d’une colonne, cliquez sur une ligne déjà sélectionnée.
Pour la saisie d’une nouvelle propriété, sélectionnez la ligne vide (dernière ligne) et cliquez sur la
première colonne.

Pendant l’édition, les touches suivantes sont disponibles :

ENTREE Valide l’édition de la ligne et passe à l’édition du début de ligne


suivante

ESC Annule l’édition de la ligne en cours.

TAB Edite la colonne éditable suivante ou passe à l’édition du début de la ligne


suivante.

SHIFT-TAB Edite la colonne éditable précédente ou passe à l’édition de la fin de la ligne


précédente.

Flèche BAS Edite la colonne de la ligne suivante.

Flèche HAUT Edite la colonne de la ligne précédente.

Autres fonctionnalités disponibles :

• Le double clic sur une ligne affiche ou cache la boîte à onglets.


• La boîte est redimensionnable.
• La taille de chaque colonne est modulable.

7.3.5 Classement croissant/décroissant du contenu d’une colonne

Un classement par ordre croissant ou décroissant des objets peut être effectué sur chaque
caractéristique.

Pour cela, effectuez un clic gauche sur l’entête de la colonne à classer.

38 Documentation utilisateur
Classement des objets dans la colonne

Le premier clic effectue un classement par ordre croissant, un second clic classe par ordre
décroissant, un troisième clic supprime le classement. L’ordre des caractéristiques est alors l’ordre
de saisie.

Nota : si un classement a été fait sur une colonne, la fonction de drag & drop n’est plus active pour
le déplacement d’une ligne.

7.3.6 Fonctionnalités de drag & drop


La fonction de drag & drop est disponible dans le tableau.

Cette fonction permet de modifier :


• l’ordre des colonnes
• l’ordre des lignes.

Le drag & drop ajoute la sélection après l’élément du drop.


Si l’élément du drop est le parent de la sélection, l’ajout se fait au début du parent.

Touches spéciales

SHIFT (Composition). La sélection est ajoutée à la fin de la composition de


l’élément du drop

CTRL (Copie). Copie de la sélection

7.3.7 Le menu contextuel


Le menu contextuel varie suivant l’élément sélectionné, et contient les éléments suivants :

Ajouter nouveau Ajoute une nouvelle propriété (ou information) après la sélection ou dans
la sélection si la touche SHIFT est maintenue (cas des compositions).

Ajouter une copie Ajoute une copie des propriétés (ou informations) sélectionnées après le
dernier élément de la sélection.

Supprimer Supprime la sélection après confirmation.

Module DATABASE & USER INTERFACE 39


Déplacer au début Déplace la sélection en première position.

Déplacer à la fin Déplace la sélection en dernière position.

Détacher Transforme les propriétés sélectionnées en informations.

Rattacher Rattache les informations ou les propriétés d’autres entités ou relations


à l’objet courant

Importer Importe des informations d’autres modèles dans le modèle courant.

7.4 Création d’une propriété


Pour créer la propriété et saisir ses caractéristiques, vous pouvez utiliser le tableau, ou la boîte à

onglets (affichée par le bouton ).

Si la saisie est faite directement dans le tableau, chaque passage dans la zone suivante par la
touche TAB valide la saisie.
Si vous effectuez la saisie par la boîte à onglets, activez le bouton « Créer » pour confirmer et créer
la propriété suivante.

9 Voir aussi Création de propriétés à partir d’une vue externe -

7.4.1 Désigner une propriété comme identifiant


Pour désigner une propriété comme identifiant :

• Dans la boîte à onglets : sélectionnez la propriété dans la liste, puis cochez la case
« Identifiant ».

• Dans le tableau : sélectionnez la ligne, puis éditez la colonne « Identifiant ». Cochez la case.
Une coche sera affichée dans la colonne « Identifiant ».

Dans la liste, la (ou les) propriété(s) identifiant(s) s’affiche en gras, précédée(s) d’une boule rouge.

40 Documentation utilisateur
Au niveau du graphique :

• Un style spécifique peut être appliqué aux identifiants (Cf. menu « Options » - Styles des
symboles)

• Cette option ne concerne que les propriétés des entités

La propriété « N° commande » est identifiant de l'entité COMMANDE

[Link] Saisie ou modification des caractéristiques d’une propriété à partir


du graphique
La propriété d’une entité ou d’une relation peut être également sélectionnée au niveau graphique.
Le double clic sur le nom de la propriété affiche la boîte pop up correspondante.

Module DATABASE & USER INTERFACE 41


A partir de cette boîte de dialogue, les différentes caractéristiques de la propriétés peuvent être
créées ou modifiées, en utilisant les cases à cocher, boutons ou onglets correspondants.

7.4.2 Préciser le caractère obligatoire d'une propriété

Même mode opératoire que pour l’identifiant.

• Si la propriété est de caractère obligatoire, une coche s’affiche dans la colonne « obligatoire ».

• Au niveau graphique, un style spécifique peut être appliqué aux propriétés obligatoires (Cf.
menu « Options » - Styles des symboles)

7.4.3 Afficher ou non la propriété dans le modèle


Par défaut, les options d’affichage qui ont été définie par le menu « Options - Affichage » sont
respectées.

Si vous souhaitez préciser une option différente :

• A partir de la boîte à onglets, utilisez la liste déroulante « Options d’affichage » en bas à


gauche de la boîte de dialogue et effectuez votre choix.

• A partir du tableau, éditez la colonne « Affichage », cochez ou décochez la case à cocher.

• Si la propriété est affichée, une coche est affichée dans la colonne « Affichage »

42 Documentation utilisateur
9 Incidences au niveau graphique
La taille du symbole se modifie automatiquement lorsque les propriétés sont affichées.
Pour que la taille de l’entité ou de la relation ne varie pas en fonction de l’affichage des
propriétés, utilisez la fonction du menu contextuel de l’entité ou de la relation « Apparence –
Conserver aspect … » et sélectionnez l’option « Apparence des objets conservée ».

9 Une propriété affichée sur le graphique peut être sélectionnée comme tout autre objet. Un
double clic appellera la boîte de saisie des caractéristiques de la propriété.

7.4.4 Préciser le type de la propriété


Lorsque vous créez une propriété, le type « Caractère » lui est attribué par défaut.

Pour modifier ce type :


• Dans la boîte à onglet : activez le bouton « Type ».

La liste des types est alors proposée. Effectuez votre sélection.

Dans le premier groupe de choix, sélectionnez le type de données.


Le nouveau type est pris en compte.

• Dans le tableau : éditez la colonne « Type », ouvrez la liste de choix, sélectionnez le type à
affecter.

Module DATABASE & USER INTERFACE 43


La longueur s’affiche automatiquement. Ces valeurs ont été précisées par le menu « Options -
Modèle ... » - Onglet « Types » de la boîte de dialogue.
( Cf. Manuel modes opératoires standard ).

7.4.5 Types particuliers

[Link] Propriété multi-valuée


Pour préciser qu’une propriété est multi valuée :

• Dans la boîte à onglets : activez le bouton « Types » puis la fonction « Plus ». La boîte de
dialogue « Type de donnée » s’affiche.

44 Documentation utilisateur
Sélection de l'option " Multivaluée ".
Par défaut, le nombre de valeurs affiche 2

Cochez la case d'option « Multivaluée », puis indiquez le nombre de valeurs.


Par défaut, la valeur est égale à 2.

9 Dans la boîte de saisie des propriétés, le nombre de valeurs sera indiqué entre parenthèses
dans la colonne « Type ».

9 Dans la boîte pop up de la propriété, le nombre de valeurs de la propriété multivaluée sera


indiqué à côté du type, entre parenthèses.

Vous pouvez également à partir de cette boîte spécifier un type de données particulier.

[Link] Autre type


Pour définir un type de propriété autre que ceux définis en standard, cochez la case « Utiliser un
autre type », et précisez le type souhaité.

Cliquez sur OK pour valider vos choix et fermer la boîte de dialogue.

[Link] Type compteur


Cochez la case « Utiliser le type compteur » puis spécifiez la valeur initiale et l’incrément.

Cliquez OK pour valider vos choix et fermer la boîte de dialogue.

7.4.6 Types prédéfinis par l’utilisateur


Si des types particuliers ont été définis par l’utilisateur ( Menu « Modèle - Type utilisateur ... » ), ils
peuvent être réutilisés à partir de la boîte de dialogue de saisie des propriétés.

• A partir de la boîte à onglets : sélectionnez le type prédéfini dans la liste de choix en bas de la
boîte de dialogue.

• Dans le tableau : éditez la colonne « Type utilisateur » et sélectionnez le type dans le liste de
choix.

Module DATABASE & USER INTERFACE 45


Ce type sera appliqué à la propriété sélectionnée.
Nota : Vous pouvez utiliser la fonction « Afficher le nom complet du type » disponible dans le menu
contextuel de la ligne « Propriété ».

L’option s’applique à la totalité de la colonne « Types ».

7.4.7 Saisie de la longueur de la propriété


Chaque type de données a par défaut une longueur. Cette valeur par défaut est saisie dans la boîte
« Préférences - Modèle ... » du menu « Options », Onglet
« Types ».

Si vous souhaitez modifier cette longueur, sélectionnez la propriété dans la liste, puis :
• A partir de la boîte à onglets : saisissez la nouvelle valeur dans la zone « Lg » en bas à droite
de la boîte. Cliquez sur le bouton « Modifier » pour valider votre modification.
• Dans le tableau : éditer la colonne « Longueur » et saisissez la nouvelle valeur.

La longueur de la propriété est affichée dans la liste, dans la colonne intitulée « Longueur ».

7.4.8 Création de propriétés composées


Pour créer une propriété composée, placez la ou les propriétés qui seront composantes sous la
propriété qui sera composée en utilisant les boutons de la barre d’outils ou le drag & drop.

Sélectionnez l'ensemble des propriétés composantes et cliquez une fois sur le bouton .
Les propriétés sélectionnées s’indentent d’un cran vers la droite, indiquant ainsi qu’elles composent
la propriété qui les précède.

46 Documentation utilisateur
Les propriétés « Rue, Code postal, Ville »
composent la propriété « Adresse »

Pour modifier les compositions effectuées, utilisez le bouton dans la barre d’outils.

• Lorsqu'une propriété est composée, sa longueur sera calculée automatiquement en fonction


de la longueur des propriétés composantes ( si leurs longueurs ont été saisies ). Il est possible
d'effectuer jusqu’à 3 niveaux de composition.

• Incidences sur le graphique

La propriété « Adresse » est composée de 3 propriétés

7.4.9 Bouton " Effacer champs "


Lorsque la saisie de la propriété s’effectue par la boîte à onglets, en cours de saisie d’une nouvelle

propriété, l'activation du bouton vide les zones de saisie.

Si une propriété était sélectionnée dans le tableau, l’activation de ce bouton vide les champs de
saisie et repositionne le curseur en dessous de la dernière propriété de la liste.

7.5 Modifier une propriété


Pour modifier une propriété, sélectionnez la dans la liste par simple clic, puis :

• A partir de la boîte à onglets : effectuez la ou les modifications puis cliquez sur le bouton
« Modifier ».

• A partir du tableau : sélectionnez la propriété, puis éditez la colonne dans laquelle doit être
effectuée la modification.

La modification est prise en compte.


9 La longueur d'une propriété composée ne peut être modifiée, puisqu'elle se calcule
automatiquement en fonction de la longueur des propriétés composantes.

Module DATABASE & USER INTERFACE 47


Des modifications peuvent être effectuées sur plusieurs propriétés à la fois, après sélection, sur
des caractéristiques communes :
• Identifiant, obligatoire, affiché, type, longueur.

9 Voir aussi Vue externe

7.6 Supprimer une ou plusieurs propriétés


Sélectionnez la ou les propriétés dans la liste ;

Pour supprimer la sélection, vous pouvez :

• Utiliser le menu contextuel du tableau, fonction « Supprimer »


• ou activer le bouton « Supprimer » de la boîte à onglets.

Un panneau vous demande confirmation de la suppression.

9 Voir aussi Vue externe

7.7 Détacher une propriété


Sélectionnez dans la liste la ou les propriétés à détacher.

Pour détacher la sélection, vous pouvez :

• Utilisez le menu contextuel du tableau, fonction « Détacher »


• Ou activer le bouton « Détacher ».

La boîte de dialogue « Transformer des propriétés en informations » s’affiche, avec les options
suivantes :

• Conserver les propriétés d’origine


Correspond à une duplication de la propriété en information, sans suppression de la propriété

• Remplacer les informations existantes


Dans le cas où il existe des informations ayant le même code que la propriété.

• Inclure les compositions


Dans le cas des propriétés composées.

7.8 Utilisation d'une information pour créer une propriété


Pour transformer une ou plusieurs informations en propriétés, et les rattacher à l'entité ou la
relation sélectionnée, sélectionnez l’entête « Propriété » ou positionnez vous sur une propriété
quelconque, puis :
• Utilisez le menu contextuel du tableau, fonction « Rattacher … »
• Ou activez le bouton « Rattacher ».

La boîte de dialogue « Attacher des propriétés ou des informations » s'affiche.

48 Documentation utilisateur
Par défaut, à l'affichage la liste présentée est celle de toutes les informations disponibles.
Sélectionnez ensuite la ou les informations dans la liste, puis cliquez sur « OK ».

La boîte d’options de transformation s’affiche et permet de conserver l’information d’origine, tout en


faisant une copie en propriété, de remplacer les propriétés existantes dans le cas où une des
informations sélectionnées serait identique, d’inclure les compositions pour les informations
composées.

Les informations sont devenues des propriétés, rattachées à l'entité sélectionnée.


Ces nouvelles propriétés se réaffichent dans la liste.

9 Les informations peuvent être également directement créées ou modifiées à partir du menu
« Modèle - Informations ... »

9 Pour afficher la liste des informations du modèle, cochez la case en


haut à gauche de la boîte de dialogue.

Affichage des informations du modèle courant

9 Les informations sont repérées par une petite boule verte dans le tableau.

Pour rattacher une ou plusieurs information(s) à l’entité, effectuez la sélection, et activez


le bouton « Rattacher » ou utilisez le menu contextuel de l’information, fonction
« rattacher ».

Module DATABASE & USER INTERFACE 49


Le panneau d’options s’affiche comme décrit ci-dessus.

7.9 Rattacher une propriété d'une entité à une autre entité


Pour rattacher à une entité une propriété d'une autre entité, activez le bouton « Rattacher » ou
utilisez le menu contextuel du tableau, fonction « Rattacher … »..
La boîte de dialogue « Attacher des propriétés ou des informations » s'affiche.

Les propriétés sélectionnées seront rattachées à l'entité sélectionnée

Cochez l'option « Propriétés d'une entité » ou « Propriétés de la relation ».

Ouvrez la liste de choix et sélectionnez l’une des occurrences. La liste des ses propriétés s’affiche.

Sélectionnez ensuite dans la liste des propriétés, la ou les propriétés à rattacher, puis validez votre
choix par « OK ».

La boîte de choix duplication de propriétés s’affiche, permettant de choisir parmi les mêmes options
que pour le rattachement d’informations.

50 Documentation utilisateur
9 L’option « Conserver les propriétés d’origine », provoquera la création d’une nouvelle propriété
sans la suppression du rattachement de la propriété d’origine. Deux propriétés auront donc le
même nom à deux endroits différents, sans toutefois créer de confusion puisque dans le
dictionnaire, la propriété est identifiée relativement à son entité ou relation de rattachement.

7.10 Compléments descriptifs des propriétés

7.10.1 Texte d’annotation, texte descriptif ou association de fichier


Comme pour tous les objets de Win’Design, un texte descriptif complémentaire peut être saisi ou
associé à l’objet.

c Texte d’annotation. d Fichier bloc note. e Associer des documents


c d e

7.10.2 Historisation d’une propriété


Même principe que pour l’entité ou la relation.
Exprime la conservation des modifications d’une propriété.

9 Dans le cas où l’entité ou la relation est historisée, il est inutile de le préciser pour la propriété.

9 Le caractère historisable de la propriété sera indiqué par un repère dans la colonne


« Historisation » du tableau.

Ce caractère descriptif peut être saisi soit :


• A partir de la boîte à onglets, onglet « Historisation ».
• Dans le tableau, en éditant la colonne « Historisation ».

7.10.3 Administration
Même comportement commun à tous les objets du dictionnaire.

La saisie des caractéristiques relatives à l’administration peut se faire :


• A partir de la boîte à onglets : onglet « Administration »
• A partir du tableau, en éditant les colonnes correspondantes : Domaine, Actuel, Futur, Validé,
Caractéristiques libres (1, 2, 3), Créé par, Créé le, Modifié le.

7.10.4 Domaine de valeurs d’une propriété


Pour préciser le domaine de valeurs d’une propriété :

• A partir du tableau, éditez le colonne « Domaine de valeurs ».


• A partir de la boîte à onglets : activez le bouton « Domaine de valeurs … ».

Module DATABASE & USER INTERFACE 51


Onglet « Domaine de Valeurs » de la boîte pop up de la propriété

Cette boîte de dialogue permet de préciser :

• Les valeurs minimale, maximale et par défaut de la propriété


• Un domaine de valeur, correspondant à la liste des valeurs que peut prendre la propriété

Pour créer une valeur, saisir dans le champs « Valeur » et « Signification », puis cliquez sur le
bouton « Créer ».

Pour modifier ou supprimer une valeur, sélectionnez celle-ci dans la liste, puis cliquez sur le bouton
« Modifier » ou « Supprimer ».

• Caractère stable
Case à cocher, indiquant que la valeur de la propriété n’est pas modifiable.

Répercussion graphique
Le choix de l'option « Stable » sera indiqué par la lettre (S) affichée entre parenthèses sur le
graphique, à côté du code de la propriété.

• Calculée
Case à cocher, indiquant que la valeur de la propriété est déterminée par une règle.
Cette règle peut être également définie en cliquant sur le bouton « Règle ».
La boîte de dialogue « Règles » s’affiche, en présentant la liste des seules règles utilisant la
propriété ( Cf. modes opératoires règles ).

Répercussion graphique
Le choix de l'option « Calculée »sera indiqué par la lettre (C) affichée entre parenthèses sur le
graphique, à côté du code de la propriété.

• Format
Format de présentation de la propriété.

Nota : La saisie de ces informations peut également se faire par le tableau, en éditant les colonnes
correspondantes : Domaine de valeurs, stable, min, max, …

7.10.5 Option de génération d’une table de code


A partir de la boîte permettant de décrire le domaine de valeurs, il est possible de sélectionner une
option de génération d’une table de code.

52 Documentation utilisateur
Cochez l’option correspondante en bas de la boîte de dialogue.

Cette option est destinée aux propriétés dont les valeurs sont précisées dans un autre
environnement que l’entité à laquelle elles appartiennent. En général, lorsque l’on construit la base
de données, on rajoute (par rapport au modèle conceptuel de données), des tables destinées à
gérer des listes de codes prédéfinis.
Exemple : dans l’entité « Client » on a la propriété : « Civilité » prenant comme valeurs : Monsieur,
Madame, Mademoiselle, ….
Cette liste de valeurs peut être éventuellement définie dans le modèle conceptuel de données dans
la même boîte de dialogue, rubrique « Domaine de valeurs ». Cette liste est mémorisée au niveau
de la propriété.

Si l’on souhaite lors de la transformation du modèle conceptuel en modèle logique de données,


créer automatiquement une table réservée à la mémorisation des listes de ces valeurs, on cochera
l’option « Générer une table de code ». Le nom de la table proposée correspond au nom de la
propriété. Ce nom peut être modifié.

Nota : la présence de liste de valeurs dans la propriété n’est pas obligatoire.

Lors de la génération :
• La table aura deux attributs : un code, un libellé.
• La liste des valeurs figurant dans la propriété sera transférée au niveau de la table de codes.
• Le lien existant entre l’attribut correspondant à la propriété d’origine et la table de code, est
matérialisé par une clé étrangère « non implémentée » permettant de faire la jointure entre
l’attribut et la table dans laquelle on trouvera la liste des valeurs possibles de cet attribut (Voir
paragraphe clé étrangère).

7.10.6 Bouton « Règles »


A partir de l’onglet « Valeurs » de la boîte pop up de la propriété, ou à partir de la boîte de dialogue
permettant de décrire les domaines de valeurs, appelée par le bouton « Domaine de valeurs … »
de la boîte à onglet correspondant à la propriété sélectionnée, le bouton « Règles … » vous
permet d’accéder à une boîte de dialogue présentant l’ensemble des règles utilisant cette
propriété.

Activez le bouton « Règles … ».


La boîte de dialogue « Règles utilisant la propriété » s’affiche.

Module DATABASE & USER INTERFACE 53


9 Cf. chapitre Règles

9 Cette fonction est également accessible par le menu contextuel de la propriété - Fonction «
Règles utilisant la propriété ... ».

7.10.7 Mise à jour des états


A partir de cette même boîte de dialogue, il est possible d’effectuer la mise à jour des états.

Activez le bouton « Etat » . La boîte de dialogue « Mise à jour des états » s’affiche.

Validez par « OK » pour confirmer.

Nota : Cette fonction est également accessible à partir de la boîte pop up de la propriété (à partir
d’une sélection graphique), onglet « Valeurs ».

54 Documentation utilisateur
9 Cf. Chapitre : Etat d’un objet

7.11 Analyse d’impact


Cette fonction accessible à partir des propriétés, est complémentaire par rapport aux références
croisées du dictionnaire et permet en partant d’une propriété, d’atteindre par des liens directs ou
indirects tous les objets liés à celle-ci.

Cette fonction est particulièrement intéressante pour une évaluation des conséquences de la
modification ou de la suppression d’une propriété.

Cette analyse concerne le modèle conceptuel de données dans lequel est défini la propriété et
également tout ou partie des modèles de traitements de l’espace de travail, dans lesquels sont
évoquées des données (via les messages, les règles, les vues de données).

7.11.1 Accès
Fonction « Analyse d’impact » du :
• Menu contextuel de la propriété.
• Menu contextuel de l’entité ou de la relation : dans ce cas, l’analyse peut porter soit sur une
propriété (fonction « Analyse de propriété »), soit sur la totalité de l’entité ou de la relation
(fonction « Analyse de l’entité ou de la relation »). L’analyse portera alors sur toutes les
propriétés concernées.

7.11.2 Choix des types d’objets à analyser


A l’activation de la fonction, une boîte de dialogue s’affiche, permettant de sélectionner les types
d’objets à atteindre par l’analyse d’impact.

Module DATABASE & USER INTERFACE 55


Chacun de ces types d’objets peut être atteint de plusieurs manières.
Ces chemins sont décrits dans le méta modèle.

[Link] Activité
Ce terme fait référence à l’ensemble des sous-types d’activités décrits dans les modèles de
traitements.

Le choix peut s’effectuer sur l’ensemble des types de diagrammes, soit sur l’un de ces sous-types.
Pour cela, dépliez la liste à partir d’activité, et sélectionnez les sous- types choisis.

La propriété n’étant pas directement rattachée à une activité, les chemins pour accéder à l’activité
passent par d’autres types d’objets.

Accès par les messages ;


Une propriété est contenue dans des vues externes ou dans un groupe associé à une vue externe
(MCD).
Une vue externe est associée à des messages (Modèle d’activités)
Un message est en entrée ou en sortie d’activités.

Accès par les règles


Une propriété fait partie de la composition de règles, avec une action décrite (lecture ou mise à
jour) ( MCD)
Une règle est reliée à une activité (Modèle d’activités)

Accès par les vues de données


Une propriété appartient à une entité ou une relation (MCD)
Une entité ou une relation est contenu dans une vue de données (Modèle d’activités)
Une vue de données est utilisée par des activités (Modèle d’activités)

Accès par les états


Les états sont définis au niveau de l’entité. Ils sont utilisés dans les Modèles d’activités, en entrée
ou en sortie d’une activité.

[Link] Etat
Une propriété appartient à une entité.
Un état est défini au niveau d’une entité.

56 Documentation utilisateur
[Link] Information
Le lien entre une propriété et une information est indirect et passe par les règles.
Une information peut être en entrée ou en sortie d’une règle.
Une propriété peut être mise à jour par une règle.

[Link] Message
Une propriété est contenue dans des vues externes ou dans un groupe associés à une vue externe
(MCD).
Une vue externe est associée à des messages (Modèle d’activités)

[Link] Propriété
Il n’existe pas de lien direct entre différentes propriétés.
Le lien est effectué via les règles.

[Link] Règle
Une propriété fait partie de la composition de règles, avec une action décrite (lecture ou mise à
jour) ( MCD)
L’accès aux règles peut être également effectué via les informations ou les autres propriétés.

[Link] Vue de données


Une propriété appartient à une entité ou une relation (MCD)
Une entité ou une relation est contenu dans une vue de données (Modèle d’activités)

[Link] Vue externe


Une propriété est contenue dans des vues externes ou dans un groupe associé à une vue externe
(MCD).

7.11.3 Affichage des résultats


Après sélection et exécution de la fonction, une boîte de dialogue présentant les résultats s’affiche.

Module DATABASE & USER INTERFACE 57


Les résultats sont présentés sous forme d’un arbre avec les nœuds de premier niveau
correspondant au type d’objet à atteindre.

Lorsqu’on déplie ces nœuds, on obtient le chemin utilisé pour atteindre l’objet concerné.
Ce chemin est décrit par rapport aux objets intermédiaires, servant de lien.

Les autres colonnes affichent des données informatives complémentaires, notamment les rôles
joués par les objets dans les liens (entrée, sortie, lecture, maj, …).

Un double clic sur un des objets de l’arbre, ouvre le modèle correspondant dans lequel se trouve
cet objet, avec l’objet présélectionné.

Conseil : diminuer la taille de la boîte de dialogue de manière à pouvoir visualiser les modèles
sélectionnés.
Utilisez également en complément les boîtes pop up de définition des objets en mode « cloué ».

8. Contrainte
La contrainte est représentée graphiquement par un petit rond.
A chaque type de contrainte peut être associé un style différent ( Cf. Menu
« Options » fonction « Styles des symboles » ).

Les types de contraintes gérés par Win’Design sont :

• Les contraintes d'unicité ou Contrainte d'Intégrité Fonctionnelle ( CIF )


• Les contraintes inter-relations
• Les contraintes sur spécialisation

9 D’autres types de contraintes sont exprimées dans les modèles, sous forme textuelle, ou
symbolique, représentées sur le modèle de façon spécifique
( Cf. chapitres « Propriété » et « Relation » ).

Ce sont :
• Les contraintes de stabilité ( propriété, relation )
• Les contraintes de valeur ( propriété )
• Les contraintes d’intégrité (exprimées par les cardinalités des
relations ).

8.1 Création d'une contrainte


Pour dessiner une contrainte, sélectionnez la fonction « Contrainte » dans le Menu « Dessiner » ou

cliquez sur l’icône .

Deux modes opératoires sont possibles pour la création d’une contrainte


(modes opératoires semblables à celui de la création d’une relation) :

8.1.1 Sans sélection préalable du contexte de la contrainte


Dessinez la contrainte, puis tracez les pattes relatives au contexte de la contrainte de manière

indépendante : icône .

8.1.2 Avec sélection préalable du contexte de la contrainte


Sélectionnez à priori le contexte de la contrainte, puis dessinez la contrainte.
Le tracé des pattes est alors automatique.

58 Documentation utilisateur
8.2 Création d'un contrainte d'unicité
Nota : Il est inutile de représenter des CIF pour les relations binaires dont une des pattes de la
relation comporte les cardinalités [O,1] ou [1,1], ces cardinalités exprimant directement la
contrainte d'unicité.

8.2.1 1er mode de dessin d’une contrainte d’unicité

a) Dessin de la contrainte

9 Aucun objet ne doit être sélectionné (Cf. mode opératoire automatique)

Après avoir activé la fonction « Contrainte » et cliqué pour positionner la contrainte dans l'espace
de travail, un panneau s'affiche, vous proposant le choix du type de contrainte.

Sélectionnez l'option « Contrainte d’unicité » et validez par « OK ».


La contrainte se dessine.

La représentation graphique de ce type de contrainte est :

9 Pour dénommer différemment ce type de contrainte, utilisez la fonction « Modèle ... » du menu
« Options » et saisissez le code correspondant à ce type de contrainte (exemple : DF pour
Dépendance Fonctionnelle).

b) dessin du contexte de la contrainte

1 - Tracé du lien entre la contrainte et la relation sur laquelle porte la


contrainte

Activez la fonction « Lien entre objets » ou cliquez sur .


Tracez le lien entre la relation et la contrainte.

Par défaut, le lien entre la contrainte et la relation se trace


en trait pointillé

9 La contrainte ne peut porter que sur une seule relation. Un contrôle est effectué immédiatement,
et interdit d'invoquer plus d'une relation.

Module DATABASE & USER INTERFACE 59


2 - Tracé des liens avec les entités
Tracez les lien entre la contrainte et les entités de la même manière que pour la relation.

9 Un contrôle empêche de tracer un lien entre une contrainte et une entité si au préalable il
n’existe aucun lien entre cette contrainte et la relation.

2a ) - Définir l'entité cible de la contrainte


Pour précisez quelle est l'entité cible de la contrainte, double cliquez sur le lien entre la contrainte
et l'entité. La boîte pop up « Patte de contrainte » s'affiche.

Choisissez l'option « Symbole cible ».


Le lien simple se transforme en lien fléché, indiquant ainsi l'entité cible.

L'entité cible de la contrainte est l’entité « DEPOT »

8.2.2 2ème mode de dessin d'une contrainte d'unicité


Sélectionnez au préalable la relation sur laquelle doit porter la contrainte et les entités composant
la contrainte (émettrices et cible).

Activez la fonction « Contrainte », dessinez la contrainte à l'endroit choisi. Les liens avec le
contexte de la contrainte se tracent automatiquement. Précisez l’entité cible comme
précédemment.

8.2.3 Affecter une contrainte d'unicité

Sélectionnez la contrainte par double clic. La boîte pop up de saisie des caractéristiques de la
contrainte s'affiche.

60 Documentation utilisateur
Saisissez le code, le nom logique et éventuellement une ligne de libellé.
Validez la saisie.

8.2.4 Enchaînements à partir de la boîte pop up de la contrainte d'unicité


Voir enchaînements standard des boîtes pop up (entité).

8.2.5 Complément descriptif de la contrainte d'unicité


Un texte complémentaire peut être saisi pour décrire la contrainte (Onglet « Description »).

Saisissez la description de la règle dans la zone de saisie.


9 On peut également accéder à la contrainte et à sa description à partir de la boîte règle (Cf.
chapitre Règle).
Les mises à jour effectuées dans la description à partir de la boîte « Règles » seront prises en
compte dans la boîte pop up « Description de la contrainte » et réciproquement.

8.3 Création d'une contrainte inter relation


Modes opératoires identiques aux contraintes d’unicité avec tracé ou non des liens automatiques.

Module DATABASE & USER INTERFACE 61


« Stocker-dépôt » est la relation cible de la contrainte

9 Le type de contrainte est identifié par rapport au contenu de la sélection.


Pour les contraintes inter relations, il faut donc avoir sélectionné au moins une entité et deux
relations.

9 Pour les contraintes inter relations de type inclusion, la relation cible doit être également définie.
Double cliquez le lien entre la contrainte et la relation cible et choisissez l’option « Symbole
cible » dans la boîte de dialogue.

8.3.1 Affecter une contrainte inter relation


Sélectionnez la contrainte par double clic. La boîte pop up de saisie des caractéristiques de la
contrainte s'affiche.

Saisissez le code, le nom logique et éventuellement une ligne de libellé. Validez la saisie.

8.3.2 Informations complémentaires saisies dans la boîte pop up de


définition de la contrainte inter relation
Dans le groupe de choix « Type de contrainte », sélectionnez l'option retenue (Exclusion, Totalité,
Partition, Inclusion, Simultanéité).

Incidences au niveau graphique


Ces choix se traduiront au niveau graphique par un changement des lettres à l'intérieur de la
contrainte :

62 Documentation utilisateur
X = contrainte d'exclusion
T = contrainte de totalité
XT = contrainte de partition
S = contrainte de simultanéité
I = contrainte d'inclusion

8.3.3 Tableau récapitulatif des contraintes inter relations


Rappel méthode
EXCLUSION
Si une occurrence de l'individu I participe à la relation R1,
elle ne peut pas participer à la relation R2 et
réciproquement (avec possibilité d'orientation de cette
exclusion)

SIMULTANEÏTE
Toute occurrence de l’individu I participant à la relation R1
participe simultanément à la relation R2.

TOTALITE
Toute occurrence de l'individu I participe au moins à l'une
des deux relations R1 ou R2.

PARTITION
Toute occurrence de l'individu I participe au moins soit à la
relation R1, soit à la relation R2, mais pas aux deux à la
fois.

INCLUSION
Si une occurrence de l'individu I participe à la relation R1,
elle participe à la relation R2 ( mais pas réciproquement ).

8.3.4 Enchaînements à partir de la boîte pop up de saisie des


caractéristiques de la contrainte inter relations
Les enchaînements sont identiques à ceux de la contrainte d'unicité.

8.4 Contrainte sur spécialisation

8.4.1 Création d'une contrainte sur spécialisation


Mêmes modes opératoires que pour les précédentes.

9 Pour le tracé des liens automatique, il faut avoir sélectionné au préalable au moins deux entités,
et un héritage.

9 Un contrôle empêche de tracer un lien entre une contrainte sur spécialisation et une entité s’il
n’existe pas au préalable un lien entre la contrainte et l’héritage.

Module DATABASE & USER INTERFACE 63


9 Lorsque la contrainte porte sur l’ensemble des sous types d’un héritage, elle est alors inutile. Il
est préférable d’exprimer la contrainte au niveau de l’héritage lui-même (Cf. Héritage).

8.4.2 Affecter une contrainte sur spécialisation


Sélectionnez la contrainte par double clic. La boîte pop up de saisie des caractéristiques s'affiche.

Boîte de saisie des caractéristiques d'une contrainte sur spécialisation

Saisissez le code, le nom logique et éventuellement une ligne de libellé.

8.4.3 Informations complémentaires saisies dans la boîte pop up de


définition de la contrainte sur spécialisation
Dans le groupe de choix « Type de contrainte », sélectionnez l'option retenue
(Exclusion , Totalité, Partition).

Incidences au niveau graphique


Ces choix se traduiront au niveau graphique par un changement des lettres à l'intérieur de la
contrainte :

X = contrainte d'exclusion
T = contrainte de totalité
XT = contrainte de partition

8.4.4 Enchaînements à partir de la boîte de saisie des caractéristiques de


la contrainte sur spécification
Les enchaînements sont identiques à ceux des contraintes d'unicité et inter relations.

8.5 Suppression d'une contrainte


La contrainte peut être supprimée à partir du graphique, ou à partir de la boîte « Règles ».

Ö Conséquences de la suppression
Les liens entre la contrainte, les entités et les relations sont supprimés.

64 Documentation utilisateur
9. Héritage ( Type et sous-type )
L'héritage est représenté graphiquement par un petit triangle.
Un style spécifique peut être défini ( Cf. fonction « Styles des symboles » menu « Options » ).

Les types d'héritages gérés par Win’Design sont :

• L'héritage sur entités


• L'héritage sur relations

9.1 Création d'un héritage


De même que pour les contraintes, deux modes opératoires sont disponibles pour la création
graphique d'un héritage :

a) - Dessin de l'héritage, puis tracé manuel des liens


b) - Sélection des entités ou relations composant l’héritage. Tracé
automatique des liens, lors de la création de l'héritage.

Dans le mode de création a), sélectionnez la fonction « Héritage » du menu « Dessiner », ou

cliquez sur l’icône . Cliquez dans la fenêtre de dessin à l’emplacement choisi. Un panneau
s'affiche, vous demandant de préciser le type d'héritage à créer.

Panneau de sélection du type d'héritage

Cochez l'option à retenir et validez votre choix par « OK ».


L'héritage est représenté sur le graphique.

Dans ce cas de figure, sélectionnez ensuite la fonction « Liens entre objets » dans le menu

« Dessiner » ou activez l'icône , pour dessiner les pattes d'héritage ( mêmes modes
opératoires que pour les liens d’une contrainte).

9.2 Définir le sur-type


Pour définir le sur-type de l’héritage, double cliquez sur le lien entre l’entité ou la relation à définir
comme sur type et l’héritage.

Module DATABASE & USER INTERFACE 65


La boîte de dialogue « Patte d’héritage » s’affiche. Cliquez sur l’option « Symbole sur-type ».

9.3 Affecter un héritage


Double cliquez sur l’héritage. La boîte de dialogue « Héritage » s’affiche.
Saisissez le nom, le nom logique et le libellé. Dans le cas où une contrainte générale s’applique sur
l’ensemble des sous types, choisissez l’une des options de contraintes.

9.4 Informations complémentaires

9.4.1 Onglet Critères


Permet de définir la nature du critère de la spécialisation.
Ce critère peut être soit une propriété, soit une règle :

Pour une propriété, cliquez sur l’option « Propriété ». La liste de choix présente les propriétés du
sur-type de l’héritage.

66 Documentation utilisateur
Sélectionnez l’un d’entre eux, permettant de définir le critère de spécialisation.
Le bouton « Propriétés » permet d’accéder à la boîte de dialogue « Propriétés » pour
éventuellement en créer de nouvelles.

Le critère peut être une règle.


Même principe que pour la propriété.
Sélectionnez dans la liste de choix la règle qui servira de base au critère de spécialisation. Le
bouton « Règles » permet d’accéder à la boîte de dialogue « Règles » pour en créer
éventuellement de nouvelles.

9.4.2 Onglet Options transfo. MLR


Correspond aux options de transformation de l’héritage au niveau logique.
Cette notion n’étant pas implémentée par les SGBD relationnels, 4 choix de transformation sont
présentés.

Cochez le radio bouton correspondant à votre choix.

Cochez éventuellement l’option « Générer vue SQL » pour une création automatique lors de la
génération du MLD.

Ceci permet, pour les options de génération « Dupliquer l’identifiant « et « suppression des sous-
types », de générer des vues SQL correspondant à la vision logique des entités sous-typées.

Module DATABASE & USER INTERFACE 67


9.5 Suppression d’un héritage
9 Cf. Suppression contrainte

9.6 Fonctions accessibles uniquement par le menu contextuel de la


contrainte ou de l’héritage

9.6.1 Créer un duplicata


9 Cf. Entité

9.6.2 Objets libres associés


9 Cf. Entité

9.6.3 Attacher un icône


9 Cf. Entité

9.6.4 Montrer/cacher les liens


9 Cf. Entité

10. Information

10.1 Rappel de définition


Les informations sont des données élémentaires non modélisées dans les entités ou relations
(contrairement aux propriétés), et servant dans les règles. Elles peuvent provenir d’anciennes
propriétés détachées de leur objet d’appartenance.
Elles peuvent également servir de base à la définition des propriétés. (Cf. option
« attacher/détacher » de la boîte de saisie des Propriétés).

10.2 Création d’une information


Pour créer une information, deux modes opératoires sont possibles :
er
1 mode : Dessin de l’information puis affectation

Activez l’icône , puis cliquez une fois à l’endroit où vous voulez positionner l’information.
Double cliquez ensuite sur l’information pour afficher la boîte pop up de saisie des caractéristiques
de l’objet .
ème
2 mode : Saisie directe de l’information

Ce deuxième mode opératoire vous permet d’effectuer une création d’informations en série.

Sélectionnez l'option « Informations » du menu « Modèle » La boîte de dialogue « Liste des


informations » s'affiche.

68 Documentation utilisateur
Boîte de dialogue de saisie des informations

9 Pour afficher l’information dans le modèle, à partir de la boîte de dialogue « Liste des
informations », cochez la case « Affichée » à partir de la boîte à onglet, ou dans la colonne
correspondante à partir de la liste.

9 Cette boîte est également appelée à partir de la boîte pop up de


caractéristiques de l’information, par activation du bouton « Informations ».

10.2.1 Composition de la boîte


Cette boîte est de comportement et de contenu similaire à la boîte « Propriétés ».

10.2.2 Importer des informations


La fonction d’importation permet de choisir des informations dans d’autres modèles, pour
les copier dans le modèle courant (la fonction copier/coller n’existant pas pour les
informations puisqu’elles ne sont pas représentées graphiquement).
Cliquez sur le bouton « Importer ».
La boîte de dialogue « Import d’informations » s’affiche.

Module DATABASE & USER INTERFACE 69


Les informations peuvent être importées soit d’un modèle du projet ou d’un modèle ouvert.
Faites le choix par le radio bouton, puis cliquez sur le pour afficher le nom des modèles.
Sélectionnez le modèle.

La boîte de dialogue présentant les informations du modèle s’affiche.

Sélectionnez les informations à importer, puis cliquez sur le bouton « Importer ».

Les informations se réaffichent dans la liste des informations du modèle d’origine.


Cette fonction agit exactement comme un copier/coller.

70 Documentation utilisateur
11. Règle
Une règle est un traitement qui peut représenter des calculs, comparaisons, sélections, etc.

11.1 Création d'une règle


Deux modes de travail sont possibles :

11.1.1 1er mode : représentation graphique de la règle puis affectation

Dessinez la règle à l’aide de la fonction « Règle » du menu « Dessiner » ou activez l'icône .

Représentation graphique de la règle

Pour affecter la règle, double cliquez sur le symbole.


La boîte pop up de saisie des caractéristiques de la règle s'affiche.

Saisissez le nom de la règle, puis éventuellement son nom logique et une ligne de libellé.

11.1.2 2ème mode : création préalable de la règle


Sélectionnez dans le menu « Modèle » la fonction « Liste d’objets … », puis sélectionnez le type
d’objet « Règle ».

Validez par OK.

La boîte de dialogue « Définition d’objet » s’affiche.

Module DATABASE & USER INTERFACE 71


9 Voir fonctionnement détaillé de la boîte – Chapitre 4

11.1.3 Type de règle


Préciser le type de la règle en sélectionnant l'une des options dans la liste déroulante « Type de
règle ».
Les options suivantes vous sont proposées :

• Calcul ( option par défaut )


• Comparaison
• Sélection
• Contrainte
• Contrôle
• Autre

9 Le type de la règle peut être affecté par la boîte pop up ou par la boîte de saisie des règles.

11.1.4 Famille d'appartenance de la règle


Pour préciser la famille d'appartenance de la règle, sélectionnez l'une des familles déjà créées
dans la liste déroulante « Famille ».

Si la famille n'existe pas, saisissez son nom et validez votre saisie en activant le bouton
« Modifier », si vous effectuez la création à partir de la boîte de saisie des règles.

9 La famille d'appartenance de la règle peut être sélectionnée ou créée à partir de la boîte pop up
ou de la boîte de saisie des règles.

11.1.5 Composition d' une règle


Pour accéder à la boîte de dialogue permettant de définir le contenu d'une règle, activez le bouton
« Composition … » à partir de la boîte pop up ou en double cliquant sur l’icône devant le nom de
la règle dans la liste

72 Documentation utilisateur
La boîte de dialogue « Composition de la règle » s'affiche.

11.1.6 Composition de la boîte


• Dans sa partie supérieure, elle présente la liste des objets utilisés par la règle, en précisant
pour les informations si elles sont en entrée, entrée/sortie, sortie retour. et pour les
propriétés si elles sont en lecture uniquement, ou en lecture et mise à jour.

• Dans sa partie inférieure, elle présente la description textuelle de la règle

Cochez le radio bouton correspondant pour consulter la description conceptuelle ou logique.

Cette description peut être saisie directement dans le champ de texte ou à partir de l’éditeur
Win’Design en cliquant sur le bouton « Editeur » pour la description logique (Cf. MLR : procédure
et fonction).

11.1.7 Définir les objets utilisés par la règle


La règle peut être composée de règles, d'informations ou de propriétés.

Pour définir les objets qui vont être utilisés par la règle, cliquez sur l'un des onglets (règles,
informations, ou propriétés).

Le contenu de la boîte de dialogue se modifie en fonction du choix.

[Link] Onglet Règles


La boîte de dialogue présente alors, triées par famille, l'ensemble des règles existantes.

Module DATABASE & USER INTERFACE 73


Sélectionnez une des familles ou demandez l'affichage des règles de toutes les familles (donné par
défaut).
Sélectionnez dans la liste la ou les règles qui seront utilisées dans la règle.

Activez le bouton . Les règles sélectionnées passent dans la liste de droite « Règles
utilisées ».

Pour modifier les sélections, et enlever une règle utilisée, sélectionnez celle-ci et activez le bouton

9 En double cliquant sur le nom d’une règle dans la liste, le texte descriptif de la règle s’affiche.

[Link] Onglet Informations


La boîte de dialogue propose la liste des informations existantes.

74 Documentation utilisateur
Boîte de description de la règle - Onglet « Informations »

Sélectionnez dans la liste de gauche la ou les informations qui seront utilisées par la règle. Activez

le bouton .

9 Par défaut, les informations sont considérées comme utilisées en Entrée seulement.

Pour utiliser ces informations en entrée/sortie, sortie ou en retour, sélectionnez l'information dans la
liste des informations utilisées, puis cochez l’option en bas de la liste. Validez en activant le bouton
« Modifier ».

9 Pour la génération dans le Modèle Physique des procédures cataloguées ou fonctions, vous
pouvez également indiquer le caractère de paramètre de l’information ( Cf. MLD ).

9 Le bouton « Informations … » permet d’appeler la boîte de saisie des informations, pour en


créer directement des nouvelles si nécessaires.

Module DATABASE & USER INTERFACE 75


Les informations sont reclassées dans la liste, en fonction de ces options.

[Link] Onglet Propriétés


La boîte de dialogue propose la liste des propriétés d’une entité ou d’une relation.

Procédez de la même manière que pour la sélection des informations, après avoir choisi l’entité ou
la relation concernée.

Comme pour les informations, vous pouvez préciser si l'utilisation sera faite en lecture ou en lecture
et mise à jour.

76 Documentation utilisateur
Modifiez éventuellement l'option de lecture en mise à jour et validez cette modification en activant
le bouton « Modifier »
Cliquez sur « OK » pour valider vos choix et quitter la boîte de dialogue.

11.1.8 Descriptif textuel de la règle


Activez l'onglet « Description » de la boîte « Composition de la règle ».

La boîte de dialogue présente :

• La liste des éléments utilisés par la règle, classés par type (information, propriété, règle) et
classés selon leur utilisation en lecture ou en mise à jour.
• Un champ de texte de description de la règle.

Vous pouvez saisir un texte libre et / ou composer la règle à l'aide des éléments de la liste
supérieure.
Pour cela, cliquez sur un élément de la liste « Objets utilisés », puis activez le bouton « Insérer »
ou effectuez un double clic sur l'élément.

L'objet sélectionné s'affiche dans la description, à l'endroit où le curseur avait été positionné.

9 Si vous sélectionnez une règle par double clic, la description de la règle s’affiche, pour
consultation seulement.

Pour insérer le nom de la règle dans le texte, cliquez sur le nom de la règle puis sur le bouton
« Insérer ».

9 Cette boîte est également accessible à partir des boîtes pop up de la règle en sélectionnant
l'onglet « Description ».

Module DATABASE & USER INTERFACE 77


Boîte pop up de description de la règle

9 Cette boîte permet d'afficher la description de la règle sur le graphique.


Pour cela, cochez l'option « Afficher la description ».

Règle affichée avec sa description

9 Les règles peuvent avoir une double description : l’une conceptuelle et l’autre logique (les règles
sont également transformées).

Le descriptif logique de la règle, est généré ensuite lors de la transformation en modèle


physique, dans des fichiers de règles pour une exploitation dans les programmes.
Il est donc conseillé de décrire plutôt de manière textuelle et explicative la règle au niveau
conceptuel, et de décrire l’algorithme dans le langage approprié dans la description logique.

9 Voir aussi fonctions et procédures cataloguées dans le MLD.

11.2 Importer des règles


Vous pouvez importer des règles provenant d’autres modèles, quelque soit leur type, et
appartenant au projet ou non.

A partir de la boîte de définition d’objets (fonction « Liste d’objets… » du menu « Modèle »), activez
le bouton « Importer ».

La boîte de dialogue « Import de règles » s’affiche.

78 Documentation utilisateur
Une liste des types de modèles s’affiche (Modèle conceptuel et logique).

Sélectionnez le type de modèle, puis cliquez sur le qui le précède pour afficher la liste des
modèles correspondant au type.

Puis double cliquez sur le nom du modèle à partir duquel vous souhaitez importer la ou les règles
(ou simple clic puis « OK »).

La boîte de dialogue « Importation d’objets » s’affiche. Elle présente la liste des règles de ce
modèle.

Sélectionnez les règles à importer et cliquez sur le bouton « Importer ».

La boîte de saisie des règles se réaffiche. Les règles importées sont affichées dans la liste.

Module DATABASE & USER INTERFACE 79


11.3 Dessiner les liens de la règle
Les liens peuvent avoir été définis dans la boîte « Composition de la règle ».

Lorsque les règles seront dessinées, les liens s’afficheront.

9 Voir aussi fonction « Montrer/cacher les liens »

11.3.1 Dessiner les liens

Activez l'icône , cliquez sur la règle, puis sur l'objet qui la compose
(propriété ou règle).

Le lien se trace.

11.4 Copier/coller une règle


9 Même principe que pour les autres objets du MCD.

11.5 Supprimer une règle


9 Cf. Entité

11.6 Fonctions accessibles uniquement par le menu contextuel de la


règle

11.6.1 Créer duplicata


9 Cf. Entité

11.6.2 Créer un synonyme


9 Cf. Entité

11.6.3 Attacher icône


9 Cf. Entité

11.6.4 Référent prioritaire – Transformer, mettre à jour, retirer raccourci –


Changer le chemin de l’objet de référence
9 Cf . Manuel Modes opératoires standard – Raccourcis : gestion de la définition unique d’un objet
multi-modèles

11.6.5 Montrer/cacher les liens


Option permettant de montrer ou de cacher les liens, accessible par le menu contextuel de la règle,
option « Apparence » puis « Montrer liens » ou « Cacher liens ».

9 Seuls les liens avec les informations ne peuvent être représentés, les informations n'ayant pas
de représentation graphique.

9 Les liens avec les objets utilisés en lecture seulement sont en pointillés
Les liens avec les objets utilisés en lecture et / ou mise à jour sont affichés en trait plein.

80 Documentation utilisateur
Pour modifier à partir du graphique, le type d’utilisation, double cliquez sur le lien entre la règle et
l’objet. La boîte « Patte de règle » s’affiche. Choisissez l’option d’action (lecture ou /et mise à jour).
Affectez éventuellement un libellé au lien.

Boîte de saisie des caractéristiques du lien d'une règle

Affichage graphique d'une règle et de ses liens

9 Les liens des règles peuvent être modifiés comme ceux des relations, contrainte ou héritage
(brisures à posteriori). Leurs styles peuvent être modifiés ( menu « Styles » ou accès par menu
contextuel du lien ).

12. Vue externe

12.1 Définition
Une vue externe est composée d’un ensemble de données (propriétés et informations) structurées,
représentant la vision externe de l’utilisation de ces données.
Une vue externe peut être par exemple la description d’un bon de commande, d’une facture, d’un
écran de saisie, d’un état, ...
La vue externe peut être définie directement dans les modèles de données ou dans les modèles du
module Business Process.
A partir des modèles du module Business Process, elle peut être également définie par association
aux messages.
Dans ce cas, la vue externe représentera le contenu d’information du message.

Module DATABASE & USER INTERFACE 81


Exemple : arrivée d’une commande, modélisée comme un flux, associée à la structure de
présentation de la commande.

12.2 Créer une vue externe


Pour créer une vue externe, deux modes opératoires sont possibles :

Soit représentation graphique de la vue externe (Menu « Dessiner » - Fonction « Vue externe »)
puis définition de la composition de la vue externe à partir de la boîte pop up, bouton « Détail ».

Ou création de la vue externe sans représentation graphique préalable (Menu « Modèle » -


Fonction « Listes d’objets …).

9 Voir détail de la fonction au chapitre 4

12.3 Définir la composition de la vue externe


Pour définir le contenu de la vue externe :
• A partir de la boîte « Définition d’objets » : double cliquez sur l’icône devant le

nom de la vue externe ou sélectionnez la ligne, puis cliquez sur .

• A partir de la boîte pop up de la vue externe, activez le bouton « Détails … ».

La boîte de dialogue de composition de la vue s’affiche.

La liste de gauche propose les objets utilisables pour décrie le contenu de la vue externe.

• Dans les modèles de données : les propriétés du modèle conceptuel ainsi que les
attributs du modèle logique sont proposées
• Dans le module Business Process, seule la liste des informations et les groupes
d’informations est proposée.

Sélectionnez les informations qui composeront la vue externe, puis cliquez sur le bouton
pour copier les informations dans la liste de droite.
On peut également utiliser le glisser/déplacer entre les 2 listes.

82 Documentation utilisateur
[Link] Complément descriptif dans la partie droite de la boîte de dialogue.

On peut associer à chaque informations ou groupe d’informations un certain nombre de


caractéristiques, figurant dans les colonnes, propres au contexte de la vue externe
décrite.

Colonne « O » : Obligatoire
Indique que une valeur associée à l’information doit exister obligatoirement.

Colonne « Max » :
Indique que l’information peut avoir plusieurs valeurs, le nombre de valeurs maximum
autorisé (mettre « n » si la valeur est indéterminée)

Colonne « E » : entrée
Indique que l’information est utilisée en entrée de la vue externe.

Colonne « S » : sortie
Indique que l’information est utilisée en sortie de la vue externe

12.3.2 Définition d’un groupe


Cette notion permet de regrouper des informations pour traduire la structure de la vue
externe.
Un groupe peut être composé, suivant le module, de propriétés, d’informations, d’attributs
et de groupes.
3 niveaux de structure peuvent être définis.

Pour créer un groupe, utilisez dans la partie droite de la boîte de dialogue le bouton

.
Le groupe s’insère dans la ligne sélectionnée.
Nommez le groupe.

Module DATABASE & USER INTERFACE 83


Utilisez les flèches ou le glisser/déplacer pour composer le groupe.

Utilisez les icônes pour ouvrir ou fermer tous les groupes.

Les colonnes de description complémentaire sont également utilisables pour le groupe.

Pour utiliser des groupes déjà existants, sélectionnez dans la liste de gauche déroulante
« Groupes » pour afficher tous les groupes de toutes les vues externes du modèle.

Dans ce cas, transférer le groupe dans la liste de droite.


Le transfert concernera la groupe et la totalité de sa composition.

12.3.3 Modification d’un groupe

Retirer un élément du groupe


Positionnez vous dans la liste de droite. Sélectionnez l’élément à retirer et activez

l’icône

84 Documentation utilisateur
Nota : le groupe est modifié partout où il est utilisé.

Ajouter un élément dans le groupe


Positionnez vous dans la liste de droite. Sélectionnez un ou plusieurs éléments dans la
liste de gauche (objets utilisables). Effectuez un drag & drop ou utilisez les flèches pour
composer le groupe.

Nota : il n’est pas possible de supprimer un groupe à partir de cette boîte de composition.
Pour supprimer un groupe, utilisez la boîte « Listes d’objets » (menu Modèle) et
sélectionnez « Groupe de données » pour afficher la liste de tous les groupes existants.

Sélectionnez le ou les groupes à supprimer et activez l’icône

12.3.4 Utilisation de groupes existants dans le modèle


Pour utiliser des groupes existant dans le modèle courant, afficher les groupes à partir de la liste de
choix « Objets utilisables » en haut à gauche de la boîte, puis utilisez la fonction de drag & drop ou
les flèches pour déplacer le ou les groupes sélectionnés dans le liste de droite.

Module DATABASE & USER INTERFACE 85


12.3.5 Utilisation de groupes existants dans d’autres modèles
Pour utiliser des groupes existants dans d’autres modèles, il est nécessaire d’effectuer un import
de groupes.

Activez la fonction « Liste d’objets… » du menu « Modèle », puis sélectionnez le type « Groupe de
données » dans la liste et validez par OK.

La boîte « Définition d’objets » s’affiche, présentant tous les groupes existants dans le modèle
courant.

Cliquez sur le bouton « Importer… ».


La boîte de dialogue « Sélection de modèle » s’affiche.
Sélectionnez le modèle à partir duquel vous souhaitez effecteur l’import, et validez par OK.
La boîte « Importation d’objets » s’affiche.

Elle présente la liste des groupes de données existants dans le modèle sélectionné.

Sélectionnez le ou les groupes de données choisis et cliquez sur le bouton « Importer… ».

Des messages éventuels vous informe de l’existence d’informations existant déjà dans le modèle,
et demande confirmation ou non de l’écrasement de la caractéristique.

Validez par « Oui » ou « Non ».

12.3.6 Ajouter ou modifier des informations


Pour ajouter des informations, cliquez sur le bouton « Créer … ».
La boîte de définition des informations s’affiche (voir chapitre « Informations »).

86 Documentation utilisateur
12.4 Ajouter ou modifier les propriétés d’une entité ou d’une relation
A partir de cette boîte de dialogue, il est possible d’accéder à la boîte de saisie des propriétés de
l’entité ou de la relation et de modifier les propriétés existantes ou d’en créer de nouvelles.
Sélectionnez l’entité ou la relation et cliquez sur pour afficher la liste des propriétés.

Sélectionnez une propriété et activez le bouton « Ajouter ».

9 Pour accéder directement à la boîte de saisie, sélectionnez l’entité ou la relation, puis cliquez sur
le bouton « Ajouter ».

La boîte de saisie des propriétés s’affiche, présentant la liste des propriétés de l’entité ou de la
relation.

Si la propriété a été sélectionnée dans la liste, la boîte de saisie des propriétés s’affiche avec cette
propriété présélectionnée.
Effectuez vos modifications ou créez de nouvelles propriétés.

Après avoir validé votre action, un panneau d’information vous demande si les nouvelles propriétés
doivent être ajoutées à la vue externe.

12.5 Ajouter ou modifier des informations


Même principe que pour l’ajout ou la modification de propriétés.

Module DATABASE & USER INTERFACE 87


12.6 Importer des vues externes
Pour importer des vues externes provenant d’autres modèles appartenant ou non au même projet,
activez le bouton « Importer … » à partir de la boîte de création des vues externes.
La boîte de dialogue « Import de vues externes » s’affiche.

La liste des vues existantes s’affiche.


Sélectionnez le code de la vue dans la liste et cliquez une fois sur précédent le nom pour
afficher la liste des modèles dans lesquels la vue externe est présente.
Sélectionnez le modèle à partir duquel se fera l’import.

Activez le bouton « Copier » pour confirmer l’import.

La boîte « Vues externes » se réaffiche. La vue importée se retrouve dans la liste.

9 Voir aussi Manuel du Module Procedure : contenu des messages

13. Modèle Logique de Données


Il est conseillé, avant d’utiliser le modèle logique de se référer aux modes opératoires standard, en
début de ce manuel, qui décrivent l’ensemble des fonctions de base de Win’Design.

13.1 Introduction
Le modèle logique de données peut être construit :

• Soit directement à travers l’interface graphique, en utilisant les fonctions de dessin et de


description à travers les boîtes de dialogue,

• Soit généré à partir du modèle conceptuel de données, qui transforme le modèle entité
relation en modèle relationnel.

• Soit récupéré à partir d’une base de données physique existante (fonction de reverse
engineering)

L’ensemble des descriptions graphiques et textuelles est généré suivant des options choisies lors
de la génération.

88 Documentation utilisateur
13.2 Paramètres de contrôles
Certaines options peuvent être prises pour gérer le contrôle de la syntaxe autorisée pour la saisie
des noms des différents objets.

Ces fonctions sont appelées par le Menu « Options » fonction « Préférences -Modèle ... ». La boîte
de dialogue « Préférences Modèle Logique de Données Relationnel », présentant 4 onglets
s’affiche.

13.2.1 Onglet « Général »


Cet onglet vous permet de faire des choix concernant le driver d’affichage des triggers associés
aux tables, la modification des attributs et la suppression liée aux clés étrangères.

[Link] Driver d’affichage des triggers de table


Sélectionnez dans la liste de choix du 1er groupe le nom du driver utilisé pour générer les triggers
d’intégrité référentielle, associés aux tables à partir du menu contextuel des tables.

Module DATABASE & USER INTERFACE 89


Cette fonction permet de visualiser les triggers avant la génération du script final.

9 Il existe un driver présentant les triggers en langage naturel, qui peut être utile pour expliciter les
triggers hors génération propre à une base de données.

[Link] Options concernant la modification des attributs


Dans le 2ème groupe, cochez les radio boutons correspondant aux options applicables lors de la
modification d’un attribut composant une clé primaire ou étrangère.

[Link] Options concernant la suppression d’un attribut associé à une clé


primaire ou étrangère
Dans le 3ème groupe, cochez les radio boutons correspondant aux options retenues pour la
suppression d’attribut.

90 Documentation utilisateur
[Link] Options concernant la création des index
Dans le 4ème groupe, cochez les radio boutons correspondant aux options retenues pour la
création des index.

13.2.2 Contrôle de la syntaxe des noms et des noms conceptuels ( alias )


Cliquez l’onglet « Syntaxe nom » ou « Syntaxe alias » (même fonctionnement).

Module DATABASE & USER INTERFACE 91


[Link] 1er groupe : Caractères autorisés
Option : tous les caractères autorisés (option par défaut) ou donnez la liste des seuls caractères
à autoriser.

[Link] 2ème groupe : Caractères interdits


Les caractères suivants sont obligatoirement interdits : /, \, :, .
Saisissez éventuellement les caractères que vous souhaitez (pour interdire l’espace, mettez cet
espace en tête des caractères interdits pour qu’il puisse être pris en compte).

Caractères de remplacement
Permet de saisir le caractère qui remplacera les caractères interdits après contrôle.

[Link] 3ème groupe : contrôle sur la casse


Permet d’effectuer des contrôles en n’autorisant que les majuscules, que les minuscules ou en
ignorant la casse.

[Link] 4ème groupe : longueur maximum


Permet de moduler la longueur maximum du nom ou de l’alias.
Cette longueur doit être toutefois inférieure à la longueur par défaut (32 caractères).

[Link] Création automatique des noms conceptuels


Pour que les noms conceptuels soient créés de manière automatique, cochez l’option
correspondante dans l’onglet « Syntaxe Alias ».

Conséquences des choix effectués sur la syntaxe


Lors de la saisie du nom ou de l’alias des objets, dans le cas où des caractères interdits sont
utilisés, un panneau de contrôle intitulé « Saisie du nom de l’objet » ou « Saisie de l’alias d’un
objet » s’affiche. Il vous informe que le nom est composé de caractères interdits.
Après avoir cliqué « OK », les caractères interdits sont remplacés par le caractère de
remplacement.
Lorsqu’on a précisé une contrainte sur la casse, les majuscules ou minuscules sont
automatiquement transformées en fonction des choix.

13.2.3 Options de longueur par défaut des types de données


Cliquez sur l’onglet « Types » de la boîte « Préférences ».

Type par défaut


Ces options définissent la liste des types qui pourront être associés à un attribut. Ces types seront
présentés dans la liste des types disponibles, dans la boîte de dialogue « Sélection du type de
données » appelée à partir de la boîte pop up de l’attribut, bouton « Type … ».

Les cases à cocher permettent de spécifier l’affichage du type dans le graphique.

92 Documentation utilisateur
Longueur par défaut des types
Les différents types de données sont présentés avec leur code abrégé, associé à un nombre
représentant la longueur par défaut qui sera affectée lors du choix de ce type de données.

Ces longueurs peuvent être modifiées en saisissant le nombre voulu dans chacun des champs de
saisie.

13.3 - Options d’affichage et de styles des symboles


9 Même fonctionnement que pour le M.C.D.

13.4 Maquettes liées au modèle logique de données


Cf. Chapitre : Maquettage de l’IHM.

Win’Design propose le module User interface, permettant de maquetter, valider, simuler l’IHM des
futures applications et de générer les scripts correspondant aux maquettes dans des
environnements de développement : Microsoft Visual Basic 6, Microsoft java++6 et Java (JFC).

Deux fonctions relatives aux maquettes sont ainsi disponibles à partir d’un modèle logique : le
transfert et l’export des maquettes liées à ce modèle logique.

13.4.1 Transférer les maquettes


Cette fonction est accessible à partir du menu « Modèle – Maquettes – Transférer les maquettes ».

Elle permet de transférer les maquettes liées à un modèle logique vers les modèle logique courant.

La boîte de dialogue « Sélection du modèle contenant les maquettes » s’affiche.


Effectuez votre sélection et validez par OK. Le transfert est effectué.

13.4.2 Exporter les maquettes


Cette fonction permet d’exporter les scripts des maquettes liées au modèle logique courant dans un
environnement de développement.

9 Cf : Chapitre Maquettage de l’IHM.

Module DATABASE & USER INTERFACE 93


13.5 Construction graphique d’un MLD - Particularités
L’ensemble des modes opératoires standard s’applique à la construction du Modèle Logique.
Se reporter au Manuel utilisateur « Modes opératoires standard ».

13.6 Table

13.6.1 - Rappel de définition


Une table relationnelle est une structure de données logique, composée d’attributs non répétitifs.
Certains de ces attributs jouent le rôle de clé :

y Primaire pour l’identification


y Etrangère pour la liaison entre tables.

13.6.2 - Création d’une table

Sélectionnez la fonction « Table » du menu « Dessiner » ou cliquez l’icône .


Cliquez une fois dans l’espace de travail à l’endroit où doit être positionnée la table.

13.6.3 - Affectation d’une table


Double cliquez sur la table. La boîte pop up de saisie des caractéristiques de la table s’affiche.

Saisissez le code de la table, puis son alias et éventuellement une ligne de libellé.

13.6.4 Définir les états d’une table


Certains objets gérés dans les tables subissent au cours du temps un certain nombre d’états
traduisant leur cycle de vie.

Ces états expriment la situation de l’objet par rapport à son évolution dans le temps.

9 Exemple : la table « COM » est gérée de manière différente au cours des différentes étapes de
sa vie, comme : l’arrivée de la commande, la livraison, la facturation, le règlement, l’archivage.
Ces différentes étapes se traduiront par une information en général mémorisée pour une
propriété, reflétant l’état de la commande (commande arrivée, livrée, facturée, réglée, archivée).

94 Documentation utilisateur
Ces caractéristiques peuvent être également complétées par un modèle explicitant les modes de
passage d’un état à un autre.

Ce modèle se dénomme « Diagramme d’état » ou également « Cycle de vie d’un objet ».

La représentation de ce type de modèle est très proche du formalisme des modèles de traitements
( Cf. Modèles de traitements ).
Dans le modèle de données, seule la définition des états est décrite.

9 Cf. Définir les états d’une entité

13.6.5 Définir les storages et tablespace associés à la table


Pour les SGBD qui en tiennent compte, ces indications permettent de faire une répartition physique
des tables.

Les storages et tablespace ont été définis à partir du menu « Base de données -
Storage/Tablespace ».

Pour définir des storages associés à la table, activez la fonction « Storage ... » à partir du menu
contextuel de la table.

La boîte de dialogue « Storages» s’affiche.

La boîte présente la liste des storages déjà associés à la table sélectionnée.


Pour associer un nouveau storage, activez le bouton « Storage ».

La boîte de dialogue « Associer un storage à une table » s’affiche.


Elle présente la liste des storages existants.
Les storages déjà associés à la table sont affichés en caractères gras.

Module DATABASE & USER INTERFACE 95


Sélectionnez un ou plusieurs storages dans la liste, puis activez le bouton « Associer ».

Même principe pour associer un tablespace, avec activation du bouton « Tablespace ».

9 Voir aussi Paragraphes - Storage et tablespace et Options storage et table space.

13.6.6 Caractéristiques étendues


Valables uniquement dans le cas d’une interface avec un l4G (choix préalable dans le menu
« Modèle - Interface L4G - Sélection L4G »).

Cette fonction permet de maintenir toutes les caractéristiques présentes dans les dictionnaires de
ces environnements et non gérés en standard par Win’Design.

Une petite documentation associée à chaque interface est fournie sur demande.

13.6.7 Appel des modèles de traitements à partir de la table


9 Cf. « Appel des modèles de traitements à partir de l’entité »

13.6.8 Onglet Chiffrage


9 Cf. « Boîte de saisie des caractéristiques de l’entité »

96 Documentation utilisateur
Boîte pop up après activation de l'onglet « Chiffrage »

13.6.9 Onglet Administration


9 Cf. « Boîte de saisie des caractéristiques de l’entité »

13.6.10 Saisie de textes complémentaires pour la table


9 Cf. « Boîte de saisie des caractéristiques de l’entité »

13.6.11 Association de fichiers


9 Cf. « Boîte de saisie des caractéristiques de l’entité »

9 Voir Manuel des modes opératoires standard.

13.6.12 Modifier les caractéristiques d'une table


Sélectionnez la table. La boîte pop up s'affiche.
Effectuez les modifications et validez comme pour la création.

9 Les objets peuvent être renommés à tout moment.

13.6.13 Supprimer une table

9 Cf. « Supprimer une entité »

Conséquences de la suppression

9 Les liens référentiels avec cette table sont supprimés, ainsi que les clés étrangères associées

9 Tous les attributs de la table sont supprimés.

13.6.14 Fonctions accessibles uniquement par le menu contextuel de la


table

Module DATABASE & USER INTERFACE 97


[Link] Dupliquer une table
9 Cf. Entité

[Link] Créer un synonyme


9 Cf. Entité

[Link] Visualiser les règles utilisant la table


9 Cf. Entité

[Link] Mise à jour des états de la table


9 Cf. « Mise à jour des états de l’entité »

[Link] Fonction « Triggers ... »


Cette fonction permet de déclencher la génération de triggers spécifiques à la table pour
consultation.

98 Documentation utilisateur
9 Voir aussi « Menu Options - Préférence - Modèle ... » : driver d’affichage des triggers de la table.

[Link] Attacher icône à la table


9 Cf. « Attacher un icône à une entité »

[Link] Référent prioritaire – Transformer, mettre à jour, retirer le raccourci –


Changer le chemin de l’objet de référence
9 Cf. Manuel Modes opératoires standard : Raccourci : gestion de la définition unique d’un
objet multi-modèles

[Link] Montrer / Cacher les liens de la table


9 Cf. « Monter/cacher les liens de l’entité »

14. Attribut
A partir de la boîte pop up de saisie des caractéristiques d’une table, cliquez sur le bouton
« Détails … ».
La boîte de dialogue de saisie s’affiche.

14.1 Rappel de définition


Un attribut est le plus petit élément d'information nommé. L'attribut est la caractéristique
élémentaire de la table.

Module DATABASE & USER INTERFACE 99


14.2 Présentation de la boîte de dialogue de saisie des attributs
Cette boîte de dialogue présente un fonctionnement identique à la boîte de saisie des propriétés.

9 Se reporter au Chapitre correspondant.

14.2.1 Case à cocher « Afficher les informations du modèle »


Cochez cette case pour afficher dans le tableau toutes les informations existantes du modèle
courant.

100 Documentation utilisateur


Affichage des informations du modèle courant

14.2.2 Configurer les colonnes


Chaque colonne correspond à une caractéristique de la propriété.

Pour configurer les colonnes, effectuez un clic droit sur l’entête de n’importe quelle colonne.
La boîte « Configuration des colonnes » s’affiche.

Cochez le nom des colonnes qui seront affichées dans le tableau. Décochez celles que vous ne
voulez pas afficher.

Module DATABASE & USER INTERFACE 101


Déplacement de la colonne « Libellé » par Drag & drop dans le tableau
Les flèches rouges indiquent le point d’insertion de la colonne

Nota : L’ordre d’affichage des colonnes peut également être modifié par drag & drop à partir de
cette boîte, ou par drag & drop directement dans le tableau.

14.2.3 Edition d’une colonne


Pour démarrer l’édition d’une colonne, cliquez sur une ligne déjà sélectionnée.
Pour la saisie d’une nouvelle propriété, sélectionnez la ligne vide (dernière ligne) et cliquez sur la
première colonne.

Pendant l’édition, les touches suivantes sont disponibles :

ENTREE Valide l’édition de la ligne et passe à l’édition du début de ligne


suivante

ESC Annule l’édition de la ligne en cours.

TAB Edite la colonne éditable suivante ou passe à l’édition du début de la ligne


suivante.

SHIFT-TAB Edite la colonne éditable précédente ou passe à l’édition de la fin de la ligne


précédente.

Flèche BAS Edite la colonne de la ligne suivante.

Flèche HAUT Edite la colonne de la ligne précédente.

Autres fonctionnalités disponibles :

• Le double clic sur une ligne affiche ou cache la boîte à onglets.


• La boîte est redimensionnable.
• La taille de chaque colonne est modulable.

14.2.4 Classement croissant/décroissant du contenu d’une colonne


Un classement par ordre croissant ou décroissant des objets peut être effectué sur chaque
caractéristique.

Pour cela, effectuez un clic gauche sur l’entête de la colonne à classer.

102 Documentation utilisateur


Classement des objets dans la colonne

Le premier clic effectue un classement par ordre croissant, un second clic classe par ordre
décroissant, un troisième clic supprime le classement. L’ordre des caractéristiques est alors l’ordre
de saisie.

Nota : si un classement a été fait sur une colonne, la fonction de drag & drop n’est plus active pour
le déplacement d’une ligne.

14.2.5 Fonctionnalités de drag & drop


La fonction de drag & drop est disponible dans le tableau.

Cette fonction permet de modifier :


• l’ordre des colonnes
• l’ordre des lignes.

Le drag & drop ajoute la sélection après l’élément du drop.


Si l’élément du drop est le parent de la sélection, l’ajout se fait au début du parent.

Touches spéciales

SHIFT (Composition). La sélection est ajoutée à la fin de la composition de


l’élément du drop

CTRL (Copie). Copie de la sélection

14.2.6 Le menu contextuel


Le menu contextuel varie suivant l’élément sélectionné, et contient les éléments suivants :

Module DATABASE & USER INTERFACE 103


Ajouter nouveau Ajoute une nouvelle propriété (ou information) après la sélection ou dans
la sélection si la touche SHIFT est maintenue (cas des compositions).

Ajouter une copie Ajoute une copie des propriétés (ou informations) sélectionnées après le
dernier élément de la sélection.

Supprimer Supprime la sélection après confirmation.

Déplacer au début Déplace la sélection en première position.

Déplacer à la fin Déplace la sélection en dernière position.

Ajouter dans clé Ajouter la sélection dans la clé primaire


primaire

Ajouter dans clé


Alternative Ajouter la sélection dans la clé alternative

Ajouter dans index Ajouter la sélection dans l’index

Détacher Transforme les propriétés sélectionnées en informations.

Rattacher Rattache les informations ou les propriétés d’autres entités ou relations


à l’objet courant

14.2.7 Création des attributs


Pour créer un attribut et saisir ses caractéristiques, vous pouvez utiliser le tableau, ou la boîte à

onglets (affichée par le bouton ).

Si la saisie est faite directement dans le tableau, chaque passage dans la zone suivante par la
touche TAB valide la saisie.
Si vous effectuez la saisie par la boîte à onglets, activez le bouton « Créer » pour confirmer et créer
l’attribut suivant.

[Link] - Préciser le caractère obligatoire d’un attribut


Pour préciser le caractère obligatoire d’un attribut :

• Dans la boîte à onglets : sélectionnez l’attribut dans la liste, puis cochez la case
« Obligatoire ».

• Dans le tableau : sélectionnez la ligne, puis éditez la colonne « Identifiant ». Cochez la case.
Une coche sera affichée dans la colonne « Identifiant ».

[Link] Afficher ou non un attribut sur le graphique


Les options d’affichage des objets dans le modèle ont été définies par la fonction « Préférence -
Affichage ... » du menu « Options ».

Par défaut, ces options sont respectées.

Si vous souhaitez préciser une option différente :

• A partir de la boîte à onglets, utilisez la liste déroulante « Options d’affichage » en bas à


gauche de la boîte de dialogue et effectuez votre choix.

104 Documentation utilisateur


• A partir de la colonne « Affichage », cochez ou décochez la case à cocher.

Incidences au niveau graphique


La taille du symbole se modifie automatiquement lorsque les attributs sont affichés.
Pour que la taille de la table ne varie pas en fonction de l’affichage des attributs, utilisez la
fonction du menu contextuel de la table « Apparence – Conserver aspect … » et sélectionnez
l’option « Apparence des objets conservée ».

9 Un attribut affiché sur le graphique peut être sélectionné comme tout autre objet. Un double clic
appellera la boîte de saisie des caractéristiques de l’attribut.

[Link] Préciser le type de l’attribut


Par défaut à sa création, le type alphanumérique est affecté à l’attribut.
Sa longueur et sa précision sont prédéfinies (Cf. fonction « Préférences -
Modèle ... » dans le menu « Options »).

Pour modifier ce type :

• Dans la boîte à onglet : activez le bouton .


La liste des types est alors proposée. Effectuez votre sélection.

Dans le premier groupe de choix, sélectionnez le type de données. Le nouveau type est pris en
compte.

• Dans le tableau : éditez la colonne « Type », ouvrez la liste de choix, sélectionnez le type à
affecter.

14.2.8 Modifier un attribut


Pour modifier un attribut, sélectionnez le dans la liste par simple clic, puis :

• A partir de la boîte à onglets : effectuez la ou les modifications puis cliquez sur le bouton
« Modifier ».

• A partir du tableau : sélectionnez l’attribut, puis éditez la colonne dans laquelle doit être
effectuée la modification.

Module DATABASE & USER INTERFACE 105


La modification est prise en compte.
9 La longueur d'un attribut composé ne peut être modifiée, puisqu'elle se calcule automatiquement
en fonction de la longueur des attributs composants.

Des modifications peuvent être effectuées sur plusieurs attributs à la fois, après sélection, sur des
caractéristiques communes :
Identifiant, obligatoire, affiché, type, longueur.

14.2.9 Définir le domaine de valeurs de l’attribut


Pour préciser le domaine de valeurs d’un attribut :

• A partir du tableau, éditez le colonne « Domaine de valeurs ».


• A partir de la boîte à onglets : activez le bouton « Domaine de valeurs … ».

Suivant le mode d’accès par l’onglet « Valeurs » de la boîte pop up (1) ou par le bouton « Domaine
de valeurs … » (2) de la boîte de saisie des attributs, la présentation de l’information est
légèrement différente.

• 1er groupe : Contraintes

Stable : indique que l’attribut ne peut être modifié après lui avoir attribué une valeur.

Calculé : indique que la valeur de l’attribut est déterminée par un calcul. Ce calcul peut par
ailleurs être décrit dans une règle (Accès par le bouton « Règles »).

106 Documentation utilisateur


Format : format de présentation de l’attribut.

• 2ème groupe : liste des domaines de valeurs, avec la liste des valeurs déjà existantes et deux
champs de saisie (valeur et signification) pour modifier ou créer de nouvelles valeurs

Les 3 boutons : « Créer », « Modifier », « Supprimer », sont associés à ce groupe.


La modification et la suppression s’effectuent après sélection du domaine de valeurs dans la
liste de choix.

• 3ème groupe : valeur minimale, maximale et par défaut

Une fois la saisie effectuée, cliquez sur « OK » pour revenir à la boîte de dialogue attributs.

14.2.10 Modifier des caractéristiques communes à plusieurs attributs


Les caractéristiques suivantes peuvent être modifiées en série pour un groupe d’attributs
sélectionnés :

Affichage, caractère obligatoire, type, longueur et précision.

Sélectionnez les attributs dans la liste par simple clic, puis :

• A partir de la boîte à onglets : effectuez la ou les modifications puis cliquez sur le bouton
« Modifier ».

• A partir du tableau : sélectionnez la propriété, puis éditez la colonne dans laquelle doit être
effectuée la modification.

La modification est prise en compte.


9 La longueur d'une propriété composée ne peut être modifiée, puisqu'elle se calcule
automatiquement en fonction de la longueur des propriétés composantes.

9 Lorsque dans la sélection figurent des clés étrangères la modification en série ne peut
s’appliquer (les attributs constituant les clés étrangères ne pouvant être modifiés).

Sélectionnez dans la liste plusieurs attributs, puis procédez aux modifications et cliquez sur la
touche « Modifier ». L’ensemble des attributs auront la même caractéristique modifiée.

Module DATABASE & USER INTERFACE 107


14.2.11 Supprimer un ou plusieurs attributs

Sélectionnez un ou plusieurs attributs dans la liste, puis cliquez sur le bouton « Supprimer ». Un
message demande confirmation de la suppression.

14.3 Créer des attributs composés


La composition d’attributs peut être intéressante pour grouper des attributs de même nature ou
relevant d’un même thème (données commerciales, techniques, comptables, ....) ou
correspondant à un agrégat de données élémentaires (Exemple : adresse).

Actuellement, cette structuration des données ne peut être prise en compte dans la plupart des
systèmes de gestion de base de données, et correspond à la notion de « Data aggregate ».

Pour créer un attribut composé, placez le ou les attributs qui seront composants sous l’attribut qui
sera composé en utilisant les boutons de la barre d’outils ou le drag & drop.

Les attributs « Prix_unitaire » et « Prix_moyen_article » composent


l’attribut « Tarif »

Sélectionnez l'ensemble des attributs composants et cliquez une fois sur le bouton . Les
attributs sélectionnés s’indentent d’un cran vers la droite, indiquant ainsi qu’ils composent l’attribut
qui les précède.
Pour modifier les compositions effectuées, utilisez le bouton dans la barre d’outils.

9 Lorsqu'un attribut est composé, sa longueur sera calculée automatiquement en fonction de la


longueur des attributs composants (si leurs longueurs ont été saisies).

Il est possible d'effectuer jusqu’à 3 niveaux de composition.

Incidences sur le graphique


9 Au niveau graphique, la composition sera représentée comme suit :

Tarif est un attribut composé

14.3.1 Rattacher/détacher des attributs


9 Cf. Chapitre MCD - Rattacher/Détacher une propriété

14.3.2 Fonctions accessibles uniquement par le menu contextuel de


l’attribut

[Link] Règles de l’attribut


9 Cf. « Visualiser les règles de l’entité »

108 Documentation utilisateur


[Link] Objets libres associés
9 Cf. Entité

14.4 Analyse d’impact


9 Cf. Chapitre 6.11 du MCD

15. Clé primaire

15.1 Rappel de définition


La clé primaire d’une table est un attribut ou un groupe d’attributs, permettant d'identifier de façon
unique chaque occurrence de la table.
On parle de clé primaire simple (un seul attribut) ou de clé primaire composée
(plusieurs attributs).

15.2 - Créer une clé primaire


Une clé primaire peut être créée à partir d’attributs ou de clés étrangères.
Il faut donc avant de créer une clé primaire, avoir créé l’(les) attribut(s) ou la (les) clé(s)
étrangère(s) qui seront contenus dans la clé primaire.
A partir de la boîte pop up de la table, activez le bouton « Détail » pour afficher la boîte de saisie
des attributs.

Par défaut, le nom de la clé primaire est construite à partir du nom de la table.
Ex : PK_COM

Module DATABASE & USER INTERFACE 109


15.2.1 Composition de la clé primaire à partir d’attributs
Quatre modes opératoires peuvent être utilisés au choix de l’utilisateur :
er
1 mode opératoire : drag & drop
Sélectionnez le ou les attributs dans la liste des attributs, puis faites un drag & drop jusque sur le
nom de la clé primaire.

Nota : L’attribut figurera deux fois dans la liste : une fois avec la clé primaire et une fois
dans la liste des attributs. Les modifications peuvent intervenir indifféremment dans l’une ou
l’autre des localisations de l’attribut.
ème
2 mode opératoire : choix dans la colonne « clé primaire »
Après sélection d’un attribut, cochez la case dans la colonne « clé primaire ».

Après validation, l’attribut composera automatiquement la clé primaire.


ème
3 mode opératoire : à partir de la boîte à onglets
Sélectionnez le nom de la clé primaire dans le tableau, avec la boîte à onglets ouverte. Cliquez sur
le bouton « Composition… » et effectuez le choix des attributs dans la liste proposée à gauche et
basculez la sélection à l’aide de la flèche.

4ème mode opératoire : menu contextuel


Sélectionnez un attribut, puis à partir de son menu contextuel, choisissez la fonction « Ajouter dans
clé primaire ».

110 Documentation utilisateur


15.2.2 Modification d’un attribut composant la clé primaire
Lors de la modification d’un attribut composant la clé primaire d’une table, surtout en cas de
modification de type de données, Win’Design contrôle si cet attribut est présent dans les autres
tables en tant que membre de clés étrangères, et, suivant les choix pris dans le menu « Modèle -
Préférences »
• Modifie automatiquement en conséquence les attributs
• Ne les modifie pas
• Demande confirmation de la répercussion ou non de la modification pour chaque attribut

9 Cf. menu Modèle - Préférences

15.2.3 Composition à partir d’une clé étrangère


Mêmes modes opératoires que pour les attributs.

9 Dans le cas du drag & drop de la clé étrangère dans la clé primaire, tous les attributs de la clé
étrangère feront partie de la clé primaire.

15.2.4 Clé primaire composée


Dans le cas où la clé primaire est composée, vous pouvez ordonner la liste de la composition avec

les touches et .

15.3 Modifier la composition d’une clé primaire


Dans le cas où on modifie l’ordre de la composition dans la clé primaire, s’il existe un index sur
cette clé, le changement d’ordre ou de composition est répercuté automatiquement sur cet index.

15.4 Supprimer une clé primaire


Sélectionnez la clé primaire, puis sélectionnez la fonction « Supprimer » dans le menu contextuel
de la clé, ou cliquez sur le bouton « Supprimer » dans la boîte à onglets. Une confirmation est
demandée pour la suppression.

Module DATABASE & USER INTERFACE 111


Win’Design contrôle ensuite l’impact de la suppression de cette clé, notamment toutes les clés
étrangères des autres tables qui s’y réfèrent.
Suivant les options prises dans le menu « Modèle- Préférences ... », Win’Design

• Supprime automatiquement les clés étrangères correspondantes


• Ne les supprimer pas
• Demande confirmation pour chacune des clés

Il en va de même pour la suppression éventuelle des attributs composant la clé primaire.

9 Il sera nécessaire ultérieurement de procéder à la création d’une nouvelle clé, pour ne pas
laisser la table sans clé primaire.

16. Clé alternative

16.1 Rappel de définition


Une clé alternative répond aux mêmes critères qu’une clé primaire, à savoir unicité d’occurrence
pour une valeur de la clé alternative.

La définition et composition de la clé alternative sont identiques à celles de la clé primaire (mêmes
modes opératoires).

Une table peut avoir plusieurs clés alternatives.

9 Les clés alternatives sont repérées par une petite clé grise dans l’arbre

17. Clé étrangère

17.1 Rappel de définition


Une clé étrangère dans une table est une clé primaire dans une autre table. La clé étrangère
matérialise un lien binaire fonctionnel entre deux tables par duplication de la clé primaire d'une
table, en tant que clé étrangère dans l'autre table.

Cette clé étrangère supporte une contrainte référentielle (l'attribut clé étrangère fait référence à
l'attribut clé primaire).

9 Les clés alternatives sont repérées par le symbole dans l’arbre

17.2 Création d’une clé étrangère


Il existe deux manières de créer une clé étrangère : directement sur le graphique ou par
renseignement par la boîte de dialogue.

17.2.1 Création d’une clé étrangère à partir du graphique

Sélectionnez l’icône dans la palette d’outils méthode.

Cliquez d’abord sur la table dans laquelle la clé étrangère doit être créée, puis cliquez sur la table
de référence de la clé étrangère.

1er cas
La table « fille » ne comporte aucun attribut de même nom que les attributs de la clé primaire de la
table « mère ».

112 Documentation utilisateur


Dans ce cas, les attributs de la clé primaire de la table mère sont créés automatiquement dans la
table fille pour composer la clé étrangère.

Nota : Dans ce même cas, un autre mode opératoire permet d’obtenir la boîte de jointure manuelle
décrites ci-dessous : en traçant le lien, maintenir la touche du clavier Shift enfoncée, pour afficher
la boîte de dialogue des jointures manuelles, permettant éventuellement de créer les attributs de la
jointure .

2ème cas
La table « fille » comporte au moins un attribut de même nom que les attributs de la clé primaire de
la table « mère ».

Une boîte de dialogue s’affiche alors, permettant de modifier les jointures sur les attributs de la
table mère et de la table fille.

Le ou les attribut(s) de même nom pré-existant(s) sont proposés comme candidat à la jointure.

Dans le cas d’une jointure incomplète

• S’il existe un autre attribut (de nom différent) dans la table fille pouvant être utilisé dans la
jointure, cliquez dans la colonne « Attributs de la table fille » pour obtenir la liste des attributs,
puis sélectionnez l’attribut correspondant.

• S’il n’existe aucun attribut dans la table fille permettant d’établir la jointure, il est possible de
créer directement un nouvel attribut en saisissant son nom dans le champ « Attribut de la table
fille » en face de la jointure à établir.

Dans tous les cas, il est possible de créer un attribut de la table fille, à l’occasion de
l’établissement de la jointure.
Editez la colonne « Attributs de la table fille » et effectuez votre saisie.

Module DATABASE & USER INTERFACE 113


Le lien s’affiche. Il est possible d’y associer un libellé et de définir les règles de gestion de son
intégrité.
Double cliquez sur le lien. La boîte pop up du lien s’affiche.

Dans l’onglet « Définition » créez ou modifiez le libellé.

Case à cocher : pas de génération physique

Ce choix permet d’établir une jointure et un lien référentiel entre deux tables sans toutefois générer
la clé étrangère ultérieurement dans la base de données.
Pour ces catégories de clé étrangère, un style graphique est appliqué (Cf. Menu Options – Style
symboles).
Cette caractéristique est également présente dans la définition de la clé étrangère à partir de la
boîte appelée par le bouton « Détails ».

Dans l’onglet « Intégrité », précisez à partir des radio boutons ou des cases à cocher les options
à retenir pour la gestion de l’intégrité référentielle.

y 1er groupe : modification de la clé primaire de la table de référence (table mère )


Choix exclusif :
• Interdiction de modification de la clé primaire s’il existe des occurrences de la table fille
(RESTRICT OU NO ACTION ).

114 Documentation utilisateur


• Modification induite de la clé étrangère dans la table fille.

y 2ème groupe : suppression de la clé primaire


Choix exclusif :
• Interdite s’il existe des occurrences de la table fille ( RESTRICT ou NO ACTION )
• Suppression induite des occurrences de la table fille ( CASCADE )
• Rendre nulle la clé étrangère dans la table fille ( SET NULL )

y 3ème groupe : gestion de la dépendance de la table fille par rapport à la table mère
Choix non exclusif :
• Autorisation de modification de la clé étrangère (changement de rattachement à une table
mère)
• Autorisation des clés étrangères nulles
• Ajout d’occurrences de la table fille interdit (voir pattes verrouillées au niveau conceptuel).

17.2.2 - Création d’une clé étrangère à partir de la table fille


Sélectionnez par double clic la table qui recevra la clé étrangère. La boîte pop up de la table
s’affiche. Cliquez sur le bouton « Détail ».
La boîte de dialogue « Attributs » s’affiche.

Module DATABASE & USER INTERFACE 115


Deux modes opératoires sont possibles :

1er mode : à partir de l’arbre


Dans le groupe « Clés étrangères », cliquez sur la dernière ligne réservée à la création. Une boîte
de dialogue « Création de clé étrangère » s’affiche, comportant une liste déroulante affichant la liste
des autres tables.

Sélectionnez l’une d’entre elles, puis cliquez sur le bouton « OK ».


La clé étrangère se crée automatiquement après validation.

2ème mode opératoire : à partir de la boîte à onglets


Sélectionnez auparavant le nœud « Clés étrangères » avec la boîte à onglets ouverte, puis
sélectionnez dans la liste déroulante « Table référencée » la table choisie. Puis cliquez sur le
bouton « Créer ».

17.2.3 Modification d’une jointure


La modification d’une jointure peut être effectuée dans la boîte de dialogue « Attribut » en
sélectionnant la clé étrangère, avec la boîte à onglets affichée, et en cliquant sur le bouton
« Jointure » ou à partir de la boîte pop du lien.

Boîte pop up du lien de référence

La boîte de définition manuelle d’une jointure est alors activée. (Cf. paragraphe 16.2.2)

116 Documentation utilisateur


17.3 Modification de la composition d’une clé étrangère
A partir de la table fille, on ne peut pas modifier la composition de la clé étrangère, puisqu’elle
dépend totalement de la définition de la clé primaire de la table référencée.

Si celle-ci est modifiée, alors les répercussions se feront sur toutes les clés étrangères référençant
cette table.

17.4 Modification d’un attribut composant la clé étrangère


9 Cf. Clé primaire

17.5 Fusion d’attributs dans les clés primaires ou étrangères


Une clé primaire d’une table peut comporter le même attribut plusieurs fois.

Win’Design décline les dénominations en fonction de la table référée.

Le cas ci-dessous illustre cet exemple :

Dans la table « COMMANDE » on retrouve 2 fois le « code client », une fois dans la clé primaire
par rapport au lien référentiel vers la table client, une autre fois dans la clé étrangère qui réfère à la
table « DEPOT ».

Dans le cas où il s’agit en fait de la même occurrence de client, Win’Design permet de fusionner les
deux attributs. Il faudra pour cela supprimer l’un des deux dans la boîte « Fusion d’attributs ».

Win’Design propose alors un éventuel attribut d’équivalence. Sélectionnez l’attribut de


remplacement et cliquez sur le bouton « Fusionner ».

Module DATABASE & USER INTERFACE 117


La composition des clés étrangères ou clés primaires se trouve modifiée tout en respectant les
liens référentiels.

18. Index

18.1 Rappel de définition


L’index est un moyen de sélection rapide des occurrences d'une table possédant une valeur
donnée de cet index

18.2 Création d’un index


A partir de la boîte de saisie des attributs, plusieurs modes opératoires sont possibles :

1er mode : à partir de l’arbre


Dans le groupe « Index », cliquez sur la dernière ligne réservée à la création.
Saisissez le nom de l’index.
ème
2 mode opératoire : à partir de la boîte à onglets
Sélectionnez auparavant le nœud « Index » avec la boîte à onglets ouverte, saisissez le nom de
l’index, puis cliquez sur le bouton « Créer ».

118 Documentation utilisateur


9 Les index sont repérés par dans l’arbre.

18.3 Composition de l’index


La composition de l’index peut se faire avec les mêmes modes opératoires que pour la composition
d’une clé primaire :

• Par drag & drop des attributs,


• Par le menu contextuel de l’attribut, fonction « Ajouter dans index ». Dans ce cas, une liste des
index est proposée (cette liste ne comporte pas les index associés aux clés primaires et aux
clés étrangères, dont on ne peut modifier la composition).
• Par édition de la colonne index, case à cocher.
• Par le boîte à onglet avec sélection du nom de l’index, bouton « Composition…).

Choisissez pour chacun des attributs l’ordre de classement ascendant ou descendant à l’aide des
radio boutons correspondants.

Puis cliquez sur « Fermer » pour revenir à la boîte de dialogue « Attributs ».

18.4 Supprimer un index


Sélectionnez l’index dans la liste, puis sélectionnez la fonction « Supprimer » dans le menu
contextuel ou cliquez sur le bouton « Supprimer » de la boîte à onglets. Une confirmation de la
suppression est demandée.

19. Transformation d’un modèle conceptuel de données en


modèle logique relationnel

19.1 Principes
A partir d’un schéma représentant un modèle entité relation, Win’Design propose une fonction de
génération sous forme de modèle logique relationnel normalisé.

Des règles de transformation pour chaque objet sont appliquées à partir d’options générales à tous
les objets, par type d’objet ou spécifiques pour un objet.

Préalablement à la transformation des contrôles sur le modèle entité relation sont effectués. Ces
contrôles sont par ailleurs paramétrables.

Module DATABASE & USER INTERFACE 119


Si les contrôles ne comportent aucune erreur, le modèle est alors généré conformément aux choix
effectués, notamment pour préserver un modèle logique existant ou non. La fenêtre comportant le
modèle est ouverte automatiquement avec le présentation graphique du modèle généré.

19.2 Options de transformation

Les options de transformation sont accessibles à partir du MCD

19.3 Options spécifiques

19.3.1 Options spécifiques pour la relation d’héritage


La transformation d’une relation d’héritage peut être spécifique pour chacune d’entre elles.

Ainsi, les options relatives à la transformation d’un héritage en particulier, figurent dans la boîte pop
up de l’héritage, sous l’onglet « Options de [Link] ».

Double cliquez sur un héritage. La boîte pop up s’affiche, puis cliquez sur l’onglet « Options de
[Link] » présentant les options de génération.

4 options mutuellement exclusives sont proposées :

y Dupliquer l’identifiant du sur type (entité mère) dans les sous types (entités filles).

Ce cas peut être choisi notamment lorsque l’héritage provient d’une spécialisation, avec des
sous types sans identifiant.

Les tables correspondant au sur type et aux sous types sont générées, chacune ayant pour
origine de sa clé primaire, l’identifiant du sur-type.

Pour les tables correspondant aux sous types, la clé primaire est également la clé étrangère
référant la table ayant pour origine le sur-type.

120 Documentation utilisateur


Ent_1 ENT_1
IDT ENT1 IDT_ENT1
P1 P1
P2 P2
P3 P3

Ent_2 Ent_3 Ent_4 ENT_2 ENT_3 ENT_4


P4 P5 P6 IDT_ENT1 IDT_ENT1 IDT_ENT1
. P4 P5 P6

y Duplication complète du contenu du sur type dans les sous types

Cette option aura pour effet de dupliquer tous les attributs de la table mère dans les tables filles.
Dans le cas où les entités sous typées disposaient d’identifiants, les tables correspondantes
disposeront d’une clé primaire correspondant à ces identifiants et d’une clé étrangère
correspondant à l’identifiant du sous type.

Ent_1 ENT_1
IDT ENT1 IDT_ENT1
P1 P1
P2 P2
P3 P3

X
ENT_2 ENT_3 ENT_4
IDT2 IDT3 IDT4
Ent_2 Ent_3 Ent_4
IDT_ENT1 IDT_ENT1 IDT_ENT1
idt2 idt3 idt4 P4 P5 P6
P4 P5 P6 P1 P1 P1
P2 P2 P2
P3 P3 P3

y Suppression du sur type avec migration de son contenu dans les sous types

Fonctionnement analogue à l’option précédente hormis le fait que la table représentant le sur
type n’est pas générée.

ENT_2 ENT_3 ENT_4


IDT_ENT1 IDT_ENT1 IDT_ENT1
P4 P5 P6
P1 P1 P1
P2 P2 P2
P3 P3 P3

y Suppression des sous types avec migration de leur contenu dans le sur type

Option inverse de la précédente ayant pour effet la génération de la table correspondant au sur
type avec tous les attributs provenant des entités sous types qui elles ne sont pas générées en
tant que tables.

ENT_1
IDT_ENT1
P1
P2
P3
P4
P5
P6

Module DATABASE & USER INTERFACE 121


19.4 Options générales de transformation
Activez la fonction « Générer Modèle Logique » du menu « Modèle ».
La boîte de dialogue « Génération d’un Modèle Logique de Données » s’affiche.

Cette boîte de dialogue vous permet de sélectionner les options de transformation et de lancer le
contrôle préalable à la génération.

19.5 Sélection du modèle destination


Par défaut, à l’ouverture de la boîte, la case d’option « Nouveau modèle » est cochée.
Vous pouvez alors sélectionné directement le SGBD courant pour le nouveau MLD généré en
cliquant sur le bouton « SGBD ».

Pour générér le modèle dans un modèle logique existant, décochez la case d’option, puis
sélectionnez le modèle par activation du bouton « Parcourir … », et choisir le fichier dans les
répertoires à partir de la boîte de dialogue.

Cette option permet de nommer un nouveau modèle de type logique de données, ou d’indiquer un
modèle déjà existant que l’on souhaite amender.

122 Documentation utilisateur


La ligne de saisie doit comprendre la totalité du chemin d’accès au modèle.

19.6 Options générales

Cochez les options générales suivantes :

• Conserver les modifications – Sauf … :


Dans le cas où le modèle logique existe déjà, cette option permet de préserver des
modifications qui auraient été faites directement sur ce modèle.
Le bouton « Sauf … » permet de préserver les modifications de certains éléments uniquement.
Activez le bouton, puis cochez ou décochez les cases d’options dans la boîte de dialogue.

Module DATABASE & USER INTERFACE 123


• Utilisation des noms logiques :
Cette option permet d’utiliser les noms logiques saisis pour les objets comme nom
d’identification.
Dans le cas où il n’existe pas de nom logique, c’est le nom conceptuel qui est pris.

• Recherche objets par codes internes


Cette option est cochée par défaut lors de la génération du MLD dans un modèle existant.
Il existe deux procédés d’association entre les entités et les relations du MCD et les tables
générées du MLD :

Soit par code interne (identifiant unique généré par Win’Design) : lors de la première
transformation d’une entité en table, le code interne de l’entité est enregistré dans les
caractéristiques de la table. Lors d’une génération ultérieure, même si l’entité a changé de nom,
le code interne permettra de retrouver la table issue de la transformation précédente.
Ce procédé ne fonctionne que dans la mesure où la génération s’effectue toujours dans le
même modèle logique.

Soit par le nom : si les tables ont été générées à partir de plusieurs MCD, en l’absence du
contrôle par le code interne, un contrôle d’existence s’effectuera par le nom, c’est à dire : alias
de l’entité du MCD = nom d’une table.

• Générer les préfixes attributs


Cette option permet, lorsqu’un préfixe a été précisé au niveau des entités ou des relations,
d’affecter ce préfixe aux attributs des tables générées.

• Générer tables si cardinalités (0,1 - x,N)


Cette option concerne les relations comportant une patte avec des cardinalités (0,1). La
transformation peut s’effectuer de deux manières : soit générer une table correspondant à la
relation, soit ne pas générer la table. La transformation se comporte alors comme si la
cardinalité était de type (1,1) avec acceptation de clé étrangère nulle.

• Générer les propriétés composées


Bien que les attributs composés ne soient pas utilisables dans la plupart des gestionnaires de
données, la génération d’attributs composés permet de conserver la même présentation et le
même regroupement par nature des données que dans le modèle conceptuel.

• Générer les rôles des liens


Permet d’indiquer, sur les liens issus de relations binaires comportant une patte (1,1), le nom de
la relation d’origine.
Permet également d’indiquer, sur les liens issus de pattes comportant un rôle, le nom de ce
rôle.

• Mise à jour des textes libres


Cette option permet de mettre à jour les textes de type annotation et bloc note des objets de
niveau logique par rapport aux objets de niveau conceptuel.
Si cette option n’est pas choisie, ces textes ne seront pas mis à jour.

• Transformer les informations, les règles, les vues externes


Ces options permettent de copier et transformer les informations, les règles et les vues
externes contenues dans le MCD.

Les données élémentaires (informations ou propriétés concenues dans les vues externes) sont
tranformées suivant les règles générales avec affectation du type de données logiques suivant
les options choisies ( SGBD cible).

Pour les règles : dans la composition de la règle, on substitue les attributs générés par rapport
aux pripriétés d’origine.
Par contre, la description conceptuelle de la règle n’est pas modifiée.

• Générer tables de codes


Au niveau de la propriété (pop up – onglet « Domaines de valeurs »), on peut préciser que les
valeurs de l’attribut issu de la génération seront externalisées dans une table de code.
La transformation du MCD en MLD, permettra de générer en plus ces tables (par défaut les
tables ne sont pas affichées dans le graphique du MLD généré, mais sont bien présentes dans
le dictionnaire).

124 Documentation utilisateur


• Seuil de création d’index
L’option indique le nombre d’occurrences de la future table à partir duquel des index sur clés
étrangères seront générés.
Dans le cas où le nombre d’occurrences d’une table est faible, pour effectuer une sélection sur
une valeur de clé étrangère, il est globalement plus économique de parcourir l’ensemble des
occurrences de la table plutôt que de passer par un index.

• Seuil multivalué
Cela concerne les propriétés dites multivaluées (plusieurs valeurs possibles pour une même
propriété), qui peuvent être transformées de deux manières :

y Soit par répétition du même attribut en autant de fois que l’indique la multivaluation. Exemple
P[2] donnera les attributs P et P-2.

y Soit en générant un attribut multivalué, laissant ainsi au concepteur le choix du mode


d’implémentation physique..

Le seuil saisi indiquera la limite maximum de répétition de l’attribut dans la table. Lorsque la
multi valuation est supérieure à cette limite, c’est la deuxième option qui est exécutée.

19.7 Options d’historisation


Cela concerne les entités, relations, propriétés pour lesquelles les caractéristiques d’historisation
ont été précisées.

L’option permet uniquement d’indiquer la présence graphique lors de la génération. Si l’option est
cochée, les tables générées issues de l’historisation apparaissent en arrière plan de la table de
base.

De même, l’attribut servant de datation à l’historisation peut être modifié. Il s’agit de


« DATE_HISTO » par défaut.

19.8 Contrôle à appliquer


La liste de tous les contrôles sur le modèle est affichée.
Le dernier contrôle utilisé pour la transformation est mémorisé et devient le contrôle par défaut pour
la transformation suivante.

Pour modifier un contrôle existant ou créer un nouveau contrôle, cliquez sur le bouton « Voir … »
(Même accès qu’à partir du menu « Modèle », fonction « Contrôle-spécifique »).

9 Pour les modes opératoires, se reporter au Chapitre Contrôles.

Module DATABASE & USER INTERFACE 125


Lors du paramétrage, on s’attachera à préciser les contrôles directement utiles dans le cadre de la
transformation.

Pour d’autres contrôles de complétude du modèle de données, comme par exemple la présence de
textes, de nom logique, d’éléments d’administration, ... il est préférable de ne pas les inclure pour la
transformation en modèle logique et de procéder à ces contrôles préalablement au lancement de la
transformation.

La transformation ne pourra s’effectuer que si aucune erreur n’est détectée


(Cf. Chapitre Contrôles: graduation des messages en erreur, alerte et information dans la fonction
de contrôle).
Après avoir procédé au paramétrage du contrôle, cliquez sur le bouton « Annuler » dans la boîte
paramétrage pour revenir au module de génération.
L’activation du bouton « OK » de la boîte « paramétrage des contrôles » lance le contrôle lui-même
sans génération.

19.9 Exécution de la génération


Une fois les différentes options choisies, cliquez sur « OK ».
La fonction de contrôle s’exécute, présentant la liste des messages. Seules les erreurs sont prises
en compte pour la non exécution de la transformation.

Effectuez les corrections puis relancez la génération.

Le modèle logique est affiché. Chaque table reprend les coordonnées graphiques de son origine
conceptuelle.

Dans le cas où il existe des sous-modèles au niveau conceptuel, ceux-ci sont repris au niveau
logique.

19.10 Ensemble des règles de transformation

19.10.1 Entité
Tout entité est transformée en table.
Ses propriétés deviennent des attributs de la table.
L’identifiant devient la clé primaire unique de la table.

19.10.2 Relation binaire (0,n)-(1,1) ou (1,n)-(1,1)


On duplique la clé primaire de la table issue de l’entité à cardinalité (0,n) ou (1,n) dans la table
issue de l’entité à cardinalité (1,1) où elle devient une clé étrangère.

19.10.3 Relation binaire (0,n)-(0,1) ou (1,n)-(0,1)


Deux solutions :
• 1ère solution :
Création d’une table avec comme clé primaire simple, l’identifiant de l’entité à cardinalité (0,1) ;
l’identifiant de l’autre entité devenant clé étrangère de cette table. Les éventuelles propriétés de
la relation deviennent aussi attributs de la table issue de la relation.

126 Documentation utilisateur


• 2ème solution :
Duplication de la clé primaire de la table issue de l’entité à cardinalité (0,n) ou (1,n) dans la table
issue de l’entité à cardinalité (0,1), où elle devient une clé étrangère à valeur nulle possible. On
procède éventuellement à un changement d’appellation de l’attribut. Les éventuelles propriétés
de la relation deviennent des attributs de la table issue de l’entité à cardinalité (0,1).

19.10.4 Relation binaire (0,1)-(1,1)


C’est en fait une particularisation du cas (0,n)-(1,1) .
On duplique la clé de la table issue de l’entité à cardinalité (0,1) dans la table issue de l’entité à
cardinalité (1,1).

19.10.5 Relation binaire (0,1)-(0,1)


Particularisation du cas (0,n)-(0,1)

19.10.6 Relation binaire (0,n)-(0,n) ou (1,n)-(1,n) ou (1,n)-(0,n) et Relation


ternaire et supérieure quelque soit la cardinalité

La relation est transformée en table.


Ses éventuelles propriétés deviennent des attributs de la table.
Les identifiants des entités de la collection deviennent d’une part clé primaire composée unique,
d’autre part chaque identifiant devient également clé étrangère.

19.10.7 Prise en compte des sous-types du MCD


4 solutions possibles :
1 - On duplique l’identifiant de l’entité sur-type dans les entités sous-types. Les entités sur-types et
sous-types sont transformées en tables, selon les règles précédentes.
La clé primaire des sous-types est également déclarée comme clé étrangère référant à la table
correspondant au sur-type.

2 - On duplique l’ensemble du contenu de l’entité sur-type dans les entités sous-types ( identifiant
et propriétés ). Les entités sur-types et sous-types sont transformées en tables, selon les règles
précédentes.
La clé primaire des sous-types est également déclarée comme clé étrangère référant à la table
correspondant au sur-type.

3 - On duplique l’ensemble du contenu de l’entité sur-type dans les entités sous-types ( identifiant
et propriétés ). Seules les entités sous-types sont transformées en tables selon les règles
précédentes.

4 - On duplique l’ensemble du contenu des sous-types dans l’entité sur-type. Seule l’entité sur-type
est transformée en table.

19.10.8 Prise en compte des contraintes d’intégrité


Les différentes contraintes d’intégrité :

• D’unicité ( Contrainte d’Intégrité Fonctionnelle )


• Inter-relations
• Stabilité
• Patte verrouillée
• etc ...

seront traduites ultérieurement par des triggers selon les possibilités du SGBD ( Cf. Modèle
Physique de Données ).

Module DATABASE & USER INTERFACE 127


19.10.9 Prise en compte des contraintes référentielles
Chaque clé étrangère obtenue lors de la transformation (Cf. (0,n)-(1,1), (0,n)-(0,n), paragraphes ci-
dessus) génère une contrainte référentielle représentée par un lien fléché entre les tables
concernées par la transformation de la relation conceptuelle.

Le nom de la relation ou le rôle de la patte devient, sous option, le libellé du lien (Cf. Boîte de
dialogue « Génération d’un Modèle Logique de Données : Groupe « Options générales », case «
Générer rôle des liens »).

19.10.10 Prise en compte des propriétés composées


Les SGBD relationnels ne permettent pas actuellement de prendre en compte la notion de
propriété composée.
La génération des propriétés composées en attributs composés (illustratifs) est donc optionnelle.
Ces attributs ne seront jamais transformés au niveau physique.

19.10.11 Prise en compte des propriétés multi valuées


Les SGBD relationnels ne permettent pas actuellement de prendre en compte la notion de
propriété multi valuée.

En fonction du seuil indiqué dans les paramètres de transformation (Cf. . Boîte de dialogue «
Génération d’un Modèle Logique de Données »), deux solutions sont adoptées :

1 - Inférieur au seuil
La propriété multi valuée est dupliquée en autant d’attributs que de valeurs de répétition
(numérotés en ordre croissant).

2 - Egal ou supérieur au seuil


La propriété multi valuée est transformée en attribut multi valué. Charge au concepteur de
trouver une solution au niveau du modèle logique.

19.10.12 Prise en compte de l’historisation

[Link] Historisation définie au niveau de la propriété


L’entité ou la relation contenant cette propriété est transformée selon les règles générales.
La propriété devient un attribut de cette table.

On crée en plus, une table :

• avec comme clé primaire composée :


- la clé primaire de la table origine de l’attribut historisé
- l’attribut définissant la datation de l’historisation (Cf. . Boîte de dialogue
« Génération d’un Modèle Logique de Données »)

• et avec l’attribut à historiser

[Link] Historisation définie au niveau de l’entité ou de la relation


L’entité ou la relation sont transformées selon les règles générales.

On crée en plus, une table :

• avec comme clé primaire composée :

- La clé primaire de la table issue de la transformation de l’entité ou de la relation


- l’attribut définissant la datation de l’historisation (Cf. Boîte de dialogue « Génération d’un
Modèle Logique de Données »)

• et avec tous les attributs de la table à historiser

128 Documentation utilisateur


19.10.13 Prise en compte de la génération de tables de codes
9 Cf. MCD

Ceci concerne les cas où pour une propriété, le choix de générer une table de codes a été fait.
La propriété est transformée selon les règles générales.

On crée en plus une table avec :


• Pour nom : le nom de la table précisée lors du choix.
• Pour clé primaire : un code
• Pour attribut : un libellé.

Les éventuelles listes de valeurs définies au niveau de la propriété sont transférées au niveau de
l’attribut « Clé primaire » de la table de codes.

On crée également une clé étrangère avec :


• Pour jointure : l’attribut issu de la transformation de la propriété et l’attribut de la clé primaire de
la table de codes.

Cette clé étrangère sera par défaut dite « non implémentée » (modifiable ultérieurement dans le
modèle logique).

19.11 Génération d’un Modèle conceptuel de données à partir d’un


modèle logique
Cette fonction permet de régénérer un modèle conceptuel de données, formalisme entité relation, à
partir d’un modèle logique au formalisme relationnel.

Les mêmes types de règles réciproques que la transformation du modèle conceptuel en logique
sont appliquées.

Pour l’essentiel :

• Toute table dont la clé primaire n’est pas composée de clés étrangères devient une entité,
dont les attributs de la clé primaire deviennent l’identifiant.
• Toute table dont la clé primaire n’est composée que de clés étrangères et dont la clé
primaire n’est référencée par aucune autre clé étrangère, devient une relation.
• Tout attribut devient une propriété.

19.11.1 Lancement
Se positionner dans le modèle logique de données avec un modèle existant.

Choisissez dans le menu « Modèle » la fonction « Générer modèle conceptuel ».


Un panneau demande confirmation du lancement de la fonction. Validez par « OK »

19.11.2 Résultat de la génération


Après exécution, le modèle conceptuel de données est généré graphiquement en utilisant les
coordonnées des tables d’origine et conformément aux options de style et préférences d’affichage
MCD.

Dans le cas où le modèle est issu d’une conception directe ou d’une génération à partir du MCD, la
remontée vers le MCD conserve toutes les caractéristiques
(règles, contraintes sur les pattes, etc ...).

Les noms des relations de type dépendance fonctionnelle (cardinalités (0,1) ou (1,1)), sont issues
des libellés des liens de référence s’ils existent ou du nom de la clé étrangère.

19.12 Arrangement automatique du schéma


Cette fonction permet d’optimiser le placement graphique des tables dans le modèle.

Module DATABASE & USER INTERFACE 129


Cette fonction est utilisée notamment lors du reverse d’une base de données physique, pour
générer le modèle logique correspondant et peut être utilisée à tout moment pour n’importe quel
modèle logique, pour en améliorer la présentation.

L’optimisation porte sur la minimisation des distances entre les tables qui sont inter reliées (par des
liens de référence).

19.12.1 Lancement
Sélectionnez dans le menu « Format » la fonction « Arrangement automatique », puis la fonction
« Lancer ».

Un assistant à la création des sous-modèles de la base de données s’affiche.

La liste de gauche présente l’ensemble des tables.


La liste de droite présente le découpage en sous-modèle proposé.

[Link] Modifier le contenu des sous-modèles proposés


Pour afficher l’ensemble des tables présentes dans un sous-modèle, cliquez sur le précédant le
nom du sous-modèle.

Pour supprimer une table du sous-modèle, sélectionnez-la puis activez .

130 Documentation utilisateur


Pour insérer une table dans un sous-modèle, sélectionnez la table dans la liste de gauche ( multi-
sélection possible ), cliquez une fois sur le code du sous-modèle cible dans la liste de droite et

activez .

[Link] Supprimer un sous-modèle


Vous pouvez également supprimer une sous-modèle en le sélectionnant dans la liste et en activant
le bouton « Supprimer sous modèle ». Une confirmation de suppression vous est demandée.

[Link] Créer un nouveau sous-modèle

Vous pouvez créer un nouveau sous-modèle, en activant « Nouveau sous-modèle ». La boite de


dialogue de description d’un sous-modèle s’affiche. Saisissez les informations et validez par
« OK ». Le nouveau sous-modèle s’affiche dans la liste.

19.12.2 Exécution
Dans l’assistant de création des sous-modèles, cliquez sur « OK ».
Un panneau indique la progression du traitement.

Le modèle s’affiche avec les nouveaux placements des tables, conformément aux options de
préférences d’affichage.

9 Chaque exécution génèrera un modèle avec des placements différents.

9 La taille de l’espace occupé par chaque table correspond à la taille de la plus grande table
affichée.

9 Lors de disparité importante entre les tailles affichées des tables d’origine, il peut être préférable
de choisir l’option d’affichage sans les attributs.

20. Mise en conformité du Modèle conceptuel par rapport


au Modèle Logique

20.1 Principe
Cette fonction est accessible à partir d’un Modèle logique ouvert.
Elle permet de répercuter certaines modifications effectuées directement sur le Modèle logique
dans le Modèle conceptuel, en évitant de recourir systématiquement à la modification dans le MCD
puis à la génération avec modification dans le MLD, pour des évolutions ne concernant que la
partie logique.

Pour que cette fonction soit opérationnelle, il est nécessaire que le MLD sur lequel ont été faites les
modifications soit issu du MCD sur lequel la conformité s'opère. En effet, chaque objet (table,
attribut, ...) du MLD contient un identifiant interne correspondant à l'objet (entité, relation, propriété)
du MCD dont il est issu. Le rapprochement entre un objet du MLD et du MCD s'effectue par cet
identifiant interne.
Il s'agit de modifications effectuées sur tables, les attributs, les règles, les vues externes et les
informations, portant sur :

• le nom
• le libellé
• le type de données.

Exemple : la modification du nom d'une table du MLD, sera répercutée dans le MCD par la
modification de l'alias de l'entité ou de la relation correspondante.
La modification d'un type de données d'un attribut du MLD entraînera la modification du type de
données Win'Design d'une propriété dans le MCD (la conversion entre les types de données SGBD
et les types de données Win'Design s'effectuant automatiquement).

Module DATABASE & USER INTERFACE 131


20.2 Lancement de la fonction
Sélectionnez la fonction « Mise en conformité du Modèle conceptuel » dans le Menu « Modèle ».
La boîte de dialogue « Mise en cohérence du Modèle Conceptuel » s’affiche.

Sélectionnez le modèle conceptuel à mettre à jour, puis utilisez les cases à cocher pour effectuer la
mise en cohérence des alias, des libellés et/ou des types de données, puis validez par OK.

21. Vues SQL

21.1 Définition
Une vue SQL est une vue logique d’un sous-ensemble de la base de données. Elle permet de
regrouper un ensemble d’attributs de tables.

La vue logique correspond assez souvent à la vision utilisateur de la structure de données.


Elle peut être également intéressante dans le cas où, par optimisation, on aurait, dans une même
table, des caractéristiques spécifiques à des sous-populations différentes.
Exemple : une table « TIERS » comportant des « Clients », des « Fournisseurs », des « Personnes
physiques ».
Ces sous-populations possèdent des caractéristiques communes et des caractéristiques qui leur
sont propres. La vue « CLIENT » permettra de ne prendre en compte que les caractéristiques
propres au client.

21.2 Création d’une vue SQL


Deux modes de création des vues SQL sont possibles.

21.2.1 Création automatique à la génération du MLD à partir du MCD


Ce cas de figure correspond à la transformation d’une relation d’héritage pour lequel les choix de
génération sont soit :

• La duplication de l’identifiant du sur-type dans les sous-types


• La suppression des sous-types avec migration de leur contenu dans les sur-types.

Ces options de génération ont été définies à partir de la boîte pop up de définition de l’héritage -
Onglet « Options transfo. MLR ».

132 Documentation utilisateur


Boîte pop up de l’héritage - Définition des options de génération

Dans ce cas, on peut choisir ( case à cocher ) de générer les vues SQL correspondant à chacun
des sous-types.

Les vues SQL sont alors générées en même temps que le reste du modèle et sont représentées
graphiquement.

Les vues SQL générées sont par ailleurs modifiables.

21.2.2 Création d’une vue SQL dans le modèle logique

Cliquez sur l’icône de la barre outils méthode ou activez la fonction « Vues SQL... » du menu
« Dessiner ».

Si des tables ou d’autres vues SQL sont sélectionnées au moment du dessin de la nouvelle vue
SQL, une boîte de dialogue s’affiche et permet d’utiliser les objets sélectionnés pour la création de
la vue SQL.

Ce mode opératoire est pratique puisqu’il prend l’ensemble des tables et leurs jointures
automatiquement.
Double cliquez ensuite sur la représentation graphique de la vue pour afficher la boîte pop up de
saisie des caractéristiques descriptives.

Module DATABASE & USER INTERFACE 133


Boîte pop up de saisie des caractéristiques descriptives de la vue SQL

Précisez si la vue SQL est en consultation ou en mise à jour. Dans le cas où elle est en Mise à jour,
vous pouvez également préciser les « With Check Options ».

Le choix indique que le code SQL qui sera décrit ne sera pas modifié par
l’assistant de génération.

21.3 Composition de la vue SQL


Pour décrire la vue SQL, cliquez sur le bouton « Requête » de la boîte pop up de la vue.
Vous pouvez alors choisir de définir la composition de la vue soit directement dans l’éditeur de
fichier texte, ou par un assistant de construction de requêtes.

21.3.1 Assistant de création d’une vue SQL


Si vous avez sélectionné la fonction « Assistant ... », la boîte de dialogue « Assistant de création de
vues SQL » s’affiche.

134 Documentation utilisateur


Elle permet de décrire la vue.

[Link] - Composition de la vue SQL en tables et autres vues


Si au moment de la création de la vue SQL des tables ou d’autres vues étaient sélectionnées elles
apparaissent dans la liste des tables et vues SQL, avec éventuellement dans la liste de droite les
jointures sélectionnées.

Pour ajouter une table ou une vue, cliquez sur le bouton en dessous de la liste des tables.

Une boîte de dialogue s’affiche permettant de sélectionner une ou plusieurs tables ou vues.

Lors de la sélection de plusieurs tables liées, les jointures s’affichent automatiquement.

Pour supprimer une table, sélectionnez-la dans la liste puis cliquez sur .
La suppression de la table dans la composition supprime automatiquement les jointures qui en
dépendent.

[Link] - Ajouter des jointures

Pour ajouter une jointure, cliquez sur le bouton en dessous de la liste des jointures.
La boîte de dialogue « Définir une jointure » s’affiche.

Module DATABASE & USER INTERFACE 135


Elle permet d’établir des jointures entre les attributs d’une table et les attributs d’une
autre table.

Ces jointures peuvent être faites avec des opérateurs de comparaison (sélection dans la
liste « Opérateurs »).

Pour modifier une jointure existante, sélectionnez la jointure puis cliquez sur le bouton « Editer
jointure … ». Procédez à la modification comme pour la création.

Pour retirer une jointure de la liste, sélectionnez la dans la liste, puis cliquez sur le bouton
en dessous de la liste des jointure.

Les boutons et permettent d’ordonner la liste des jointures.

[Link] - Modifier le nom d’une table


Sélectionnez la table dans la liste supérieure gauche, puis cliquez sur le bouton « Alias ».

Une boîte de dialogue s’affiche vous permettant de renommer la table. Ceci permet notamment
d’avoir plusieurs fois la même table dans une même vue.

9 Cette modification est locale à la vue SQL. La table n’est pas renommée dans le reste du
modèle.

21.3.2 Définition des colonnes utilisées dans la vue


Pour chaque table composant la vue, sélectionnez les colonnes en dépliant la liste à partir des
tables.

La sélection de * correspond à la sélection de l’ensemble des colonnes de la table.

Une fois les colonnes sélectionnées, cliquez sur le bouton ou double cliquez pour faire passer
la sélection dans la partie basse de la boîte.

136 Documentation utilisateur


Les boutons et permettent d’ordonner la liste des colonnes.

Pour supprimer une colonne, sélectionnez la dans la liste et cliquez sur .

Pour modifier le nom d’une colonne, sélectionnez la colonne et cliquez sur le bouton « Alias ».

21.3.3 Insérer une expression dans la requête

Pour insérer une expression quelconque (calcul, comparaison), cliquez sur en bas à gauche
de la boîte. La boîte de dialogue « Définition d’une colonne de la requête » s’affiche.

Elle permet :
• Soit de choisir un attribut et éventuellement de lui donner un nom alias
• Soit de saisir une expression quelconque.

Cliquez ensuite sur OK pour valider.

Pour modifier l’alias d’une colonne ou modifier l’expression, sélectionnez la colonne puis cliquez
sur le bouton « Editer colonne » pour réafficher la boîte « Définition des colonnes de la requête ».

21.3.4 Définir une expression de sélection

Pour définir une expression de sélection, cliquez le radio bouton ,

puis cliquez sur en bas de la boîte de dialogue.

La boîte « Définition d’une expression de sélection » s’affiche.

Sélectionnez dans la liste de gauche l’attribut concerné par la sélection, puis choisissez un
opérateur et saisissez une valeur dans la liste de droite. Cliquez su OK pour valider.

Pour ajouter des parenthèses dans l’expression de sélection, ou ajouter les opérateurs « AND » ou
« OR », sélectionnez la ligne pour laquelle l’opérateur s’applique, puis cliquez sur l’opérateur choisi

Pour enlever un de ces opérateurs, sélectionnez la ligne et cliquez à nouveau sur le bouton
représentant l’opérateur.

Module DATABASE & USER INTERFACE 137


21.4 Création des vues SQL directement dans l’éditeur
Les vues SQL peuvent être également directement décrite dans l’éditeur.

A partir de la boîte pop up de la table, cliquez sur le bouton « Requête … », puis la fonction
« Editeur ... ».

L’éditeur s’affiche.

21.4.1 Gestion des éléments à insérer dans la vue SQL


Pour faciliter l’insertion d’éléments pour la création des vus SQL, des règles, fonctions et

procédures, activez l’icône dans l’éditeur.


La boîte de type pop up « Insertion dans la requête » s’affiche.

Elle permet après sélection, d’insérer des attributs de tables, des jointures ou d’utiliser des
opérateurs du langage associé à l’écriture des requêtes.

138 Documentation utilisateur


[Link] Insertion d’attributs dans la requête
Pour insérer un attribut d’une table, cliquez sur le devant le nom de la table, puis double cliquez
sur l’attribut ou sélectionnez l’attribut puis cliquez sur le bouton « Insérer ».

[Link] - Insertion de jointures


Pour les jointures, sélectionnez la clé étrangère correspondant. Dépliez totalement la cascade des
liens, donnant la table mère, puis la table fille et insérer les jointures proprement dites.

[Link] - Opérateurs de langage


Pour choisir un opérateur de langage, sélectionnez « Langage » dans la liste de choix, puis cliquez
sur pour afficher la liste des opérateurs disponibles pour un type (chaîne de caractères,
conversion, date, numérique, ...), puis sélectionnez un ou plusieurs opérateurs.

Ce choix n’est possible qu’après avoir choisi un SGBD par défaut (les opérateurs de langage font
partie du paramétrage des drivers des SGBD) . Cf. Menu « Modèle » fonction « Base de
données », puis « Sélectionner le SGBD courant ».

Module DATABASE & USER INTERFACE 139


Cliquez ensuite sur le bouton « Insérer » pour insérer la sélection dans la requête.

L’ensemble des éléments appartenant au langage sont décrits dans le driver du SGBD.

Pour insérer des parenthèses, cliquez sur .

22. Storage

22.1 Définition
Un storage indique l’emplacement physique des objets des bases de données
(tables et index).
Il désigne la partition nommée qui contient les tables et les index, située sur un périphérique de
stockage.

La définition des storages est spécifique à chaque SGBD.

22.2 Création d’un storage

22.2.1 1er mode de création d’un storage


Sélectionnez dans le menu « Bases de données » la fonction « Storage/Tablespace ». La boîte de
dialogue « Storage/Tablespace » s’affiche.

140 Documentation utilisateur


Le radio bouton « Storage » est coché. Saisissez le nom du storage et éventuellement son alias et
libellé. Cliquez sur « Créer ».

22.2.2 - 2ème mode de création


A partir de la boîte pop up de la table, cliquez sur le bouton « Storage ».

La boîte de dialogue « Storages associés à la table » s’affiche et donne la liste des storages
éventuellement associés à la table.

A partir de cette boîte, vous pouvez :


• Créer un nouveau storage (bouton « Créer ») qui sera directement associé à la table.
• Modifier un storage existant (Bouton « Modifier »)

Module DATABASE & USER INTERFACE 141


• Dissocier un storage de la table (Bouton « Dissocier »)
• Associer un nouveau storage à la table (Bouton « Storage »)

23. Table space

23.1 Définition
Comme le storage, le tablespace indique l’emplacement physique des objets dans les bases de
données.

Le tablespace représente une partition nommée qui contient les tables et les index, et qui est
contenue dans la base de données.
La définition du tablespace est spécifique à chaque SGBD.
Dans certaines SGBD, un tablespace peut utiliser un storage déclaré dans sa définition.

23.2 Création d’un tablespace


Dans la boîte de dialogue « Storage/Tablespace », sélectionnez le radio bouton « Tablespace ».
Saisissez le nom, puis éventuellement l’alias et le libellé.

Indiquez éventuellement quel est le storage utilisé (liste déroulante). Cliquez sur « Créer ».

142 Documentation utilisateur


23.3 Associer des tables aux storages ou tablespace
A partir de la boîte de dialogue « Storage/Tablespace », sélectionnez le storage ou tablespace
dans la liste, puis cliquez sur le bouton « Associer ».

La liste des tables s’affiche.

Sélectionnez la ou les tables pour lesquelles la storage s’appliquera.


Même procédure pour le tablespace.
Nota : les tables auxquelles le storage ou tablespace a été associé s’affichent en gras dans la liste.

Nota : pour visualiser les storages ou tablespace associés à une table, utilisez le bouton
« Storage » de la boîte pop up de la table.

Module DATABASE & USER INTERFACE 143


23.4 Options
Sélectionnez le storage ou le tablespace, puis cliquez sur le bouton « Options » .
La boîte « Attribuer une ou plusieurs options au storage » s’affiche.
Cochez les valeurs retenues (multi sélection disponible).

On peut également préciser une autre valeur que celle donnée par défaut. Saisissez cette valeur
dans le champ correspondant, en éditant la ligne dans la colonne « Valeurs ».
Pour valider les options cliquez sur « OK ».

Nota : la liste des paramètres d’options et de leurs valeurs par défaut, dépendent du SGBD et sont
paramétrées dans le driver - Onglet « Storage » bouton « Options ».

24. Génération d’un script de base de données


Cette fonction permet à partir d’un modèle logique de données, de générer un script de base de
données, pour un SGBD cible, conformément aux contraintes de ce SGBD, traduites par un driver
ou « pilote » de la transformation.
Ce pilote est par ailleurs paramétrable et modifiable.

24.1 Génération du script


Sélectionnez la fonction « Générer script... » du menu « Base de données ».

La boîte de dialogue « Génération d'un script d'une base de données » s'affiche.

144 Documentation utilisateur


24.1.1 Onglet « Général »

[Link] - Sélection de la base de données cible


La liste déroulante « Base de données cible » permet de choisir le SGBD pour lequel le script sera
généré.

Le bouton « Options… » permet d'ouvrir la boîte de dialogue de « Paramétrage des drivers de


SGBD » et de modifier le driver.

[Link] - Sélection du fichier destination


Le fichier script destination est par défaut celui du MLD auquel est ajouté l'extension définie dans le
driver sélectionné.

Module DATABASE & USER INTERFACE 145


Le fichier règles n'est généré que si l'option « Création Règle » dans l’onglet « Options - Groupe
Autres options » est cochée.
Le nom par défaut du fichier règle est celui du fichier script avec les lettres RUL en plus. Cette
option n’est proposée que si le modèle contient au moins une règle.

Le bouton « Parcourir … » permet de sélectionner le nom et le fichier destination.

[Link] - Sélection des tables à générer


Le groupe « Tables » permet de sélectionner éventuellement les tables à générer.
Cochez le radio bouton « Sélection » et activez le bouton « Choisir … ».

La boîte de sélection des tables s’affiche.

Utilisez les flèches simples pour faire basculer les tables dans l’une ou l’autre des listes ou les
flèches doubles pour sélectionner toutes les tables à la fois. Validez par « OK ».

[Link] - Choix du contrôle à appliquer


Dans la liste des contrôles, sélectionnez celui qui s’appliquera pour la génération. Activez le bouton
« Voir… » pour visualiser ou modifier le contrôle choisi, ou créer un nouveau contrôle.

24.1.2 - Onglet « Options »

9 Dans toutes les zones, les cases à cocher ne sont disponibles qui si le driver permet de faire
l'opération concernée.

Nota : L’option « Création règles » (Groupe « Autres options ») générera un fichier .TXT
présentant la description des règles.

146 Documentation utilisateur


24.1.3 - Lancement de la génération
Cliquez sur « OK » pour lancer la génération du (ou des) fichier(s). Si l'un des fichiers existe, la
génération sera stoppée si la confirmation de le remplacer n'est pas donnée.
Durant la génération, une petite fenêtre de contrôle s'ouvre et permet de stopper la génération.

La boîte de dialogue « Fin de génération du script » s’affiche.

Module DATABASE & USER INTERFACE 147


Elle permet, pour tous les drivers, d’avoir la liste des opérations à effectuer pour l’exécution du
script dans l’environnement de la base de données.

Le bouton « Voir script … » permet d’afficher dans l’éditeur de texte choisi par la fonction «
Général » du menu « Options », les scripts de la génération de la base de données.

Si l’option « Génération des règles » a été cochée, le fichier comprenant la description des règles
est également présenté.

Ce fichier peut servir de base au développement par une insertion dans les programmes ou dans
les procédures de contrôle de la base de données.

Les règles sont décrites en deux parties :

y Une première partie descriptive, qui reprend la définition de la règle ainsi que sa description
conceptuelle.

y Une deuxième partie, qui correspond à la description logique qui normalement a été écrite
dans la syntaxe du langage cible.

148 Documentation utilisateur


24.2 Génération des scripts de mise à jour
Cette fonction permet de générer les scripts de mise à jour d’une base de données.

Activez la fonction « Bases de Données - Générer scripts de mise à jour ... » du menu « Modèle ».

La boîte de dialogue « Génération des modifications d’une base de données » s’affiche.

Sélectionnez la base de données cible dans la liste déroulante, puis le fichier script destination et le
fichier modèle archive.
Utilisez le bouton « Parcourir… » pour rechercher un fichier existant.
Cochez éventuellement les options concernant le renommage des tables et la génération des
tables raccourcies

ainsi que les options de caractères : minuscules, majuscules, ANSI.

Sélectionnez le contrôle à appliquer, puis cliquez sur « OK » pour lancer la génération.

Module DATABASE & USER INTERFACE 149


A l’issue de la génération, la boîte de dialogue « Mise à jour base de données » s’affiche.

Elle présente la liste des objets qui n’existent plus dans la nouvelle version.

Elle demande si l’objet a été renommé et présente dans une liste les nouvelles tables n’existant
pas dans l’ancienne version.

Sélectionnez par double clic l’un des noms proposés, ou double cliquez sur « Supprimer » pour
supprimer l’objet.

Au fur et à mesure de vos choix, un curseur affiché dans la barre d’état indique le déroulement de
la génération des tables.

En fin de génération, la boîte de dialogue « Fin de génération de script » s’affiche, permettant


d’aller visualiser le résultat de la génération ( bouton « Voir » ).

25. Exécution d’une requête SQL pour ODBC


Cette fonction permet à partir de requêtes décrites en SQL 2 simplifié, d’accéder à une base de
données, via le protocole de connexion ODBC et d’extraire de la base de données des valeurs des
colonnes de tables ou d’obtenir la description physique d’une table.

Pré-requis : disposer du pilote ODBC (non founi avec Win’Design), du SGBD concerné.

Il n’est pas nécessaire que le modèle de données logique courant corresponde à la base de
données.

25.1 Accès
Cette fonction est accessible à partir d’un modèle logique de données ouvert. Elle peut être
déclenchée soit à partir du menu « Bases des données » fonction « Exécuter requêtes SQL pour
ODBC » pour des requêtes à composer, ou à partir du menu contextuel d’une table, par la fonction
« Exécuter requêtes SQL », pour des requêtes pré-dédinies permettant d’obtenir :
• La description physique de la table
• Le nombre d’occurrences de la table
• L’extraction de toutes les occurrences de la table

25.2 Connexion à une base de données


Cette connexion peut se faire en dehors de Win’Design, par les fonctions système de Windows, ou
à partir de Win’Design en déclenchant la fonction d’exécution de requêtes.

Appeler la fonction : menu « Bases de données ».

La boîte « Requêtes SQL pour ODBC » s’affiche.


Cliquez sur le bouton « Connecter » pour établir la connexion à une base de données, à partir d’un
pilote ODBC.
La boîte standard de Windows, de gestion des pilotes ODBC s’ouvre et permet de sélectionner une
source ou d’en créer une nouvelle ( Cf. Aide générale de la boîte).

Lorsque la connexion est effectuée, l’icône passe au vert, indiquant une connexion en cours.

150 Documentation utilisateur


25.3 Composition d’une requête
Composer la requête en utilisant le langage SQL, dans le champ texte de la partie supérieure de la
boîte de dialogue, et cliquez sur le bouton « Exécuter » pour obtenir les résultats de la requête.

25.3.1
Syntaxe principale

SELECT [colonne]
FROM [table]
WHERE [expression sélective]

25.4 Résultats de la requête


Les résultats de la requête s’affichent sous forme de tableau dans la partie inférieure de la boîte.
Chaque colonne de tableau correspond à un attribut (colonne) de la ou des tables concernées.
Chaque ligne correspond à une occurrence de l’extraction.

25.5 Exporter les résultats d’une requête


Les résultats d’une requête peuvent être exportés au format .txt en vue d’une réutilisation en
dehors de Win’Design.
Cliquez sur le bouton « Exporter ».

Module DATABASE & USER INTERFACE 151


La boîte « Export du résultat d’une requête » s’affiche et permet de choisir des options d’export et
de formatage des lignes.
Le bouton « Exporter » permet après l’avoir nommé, d’enregistrer un fichier d’export de type .txt.

25.6 Sauvegarde d’une requête


Les requêtes peuvent être sauvegardées et réutilisées ensuite.
Cliquez sur l’icône
Les requêtes sont enregistrées dans des fichiers ayant pour extension .SQL.

25.7 Requêtes pré-définies à partir d’une table


Ces requêtes peuvent être déclenchées à partir des tables modélisées dans le modèle logique de
données courant.
La procédure de connexion est identique à celle décrite ci-dessus.

Sélectionnez la fonction « Exécuter requêtes SQL » du menu contextuel d’une table et sélectionnez
l’une des 3 requêtes proposées :

• Description physique de la table


Cette requête fournit la spécification de la table et de chacune de ses colonnes (Equivalent aux
informations d’un reverse engineering pour la table).

• Liste des valeurs de table


Cette requête fournit l’ensemble des occurrences de la table, avec pour chacune, la valeur de
chaque colonne de la table. (Correspond à une requête de type : SELECT * pour une table).

• Nombre d’occurrences de la table


Cette requête retourne le nombre d’enregistrements de la table dans la base de données.

26. Génération des triggers


Certaines bases de données permettent par une description structurelle liée à la table de
déclencher des règles lors des actions majeures effectuées sur cette table (insertion, modification,
suppression).

Certaines de ces contraintes sont générées automatiquement à partir de la conception des


modèles conceptuels de données et des précisions complémentaires dans les modèles logiques,
notamment en ce qui concerne les contraintes d’intégrité référentielles.

152 Documentation utilisateur


26.1 Génération du script
Sélectionnez la fonction « Générer script triggers... » du menu « Base de données ».
La boîte de dialogue « Génération des triggers de la base de données » s’affiche.

Choisissez dans la liste de bases de données cible, celle dont vous voulez générer les triggers.

Seules les bases de données pour lesquelles ont été paramétrés les triggers ( Cf. onglets
« Triggers » et « Triggers-items » du paramétrage ) permettent une génération.

9 Un driver a été spécialement paramétré pour que les drivers générés soient en langage naturel (
français structuré ), ceci afin de mieux percevoir la nature des contraintes qui s’appliqueront.

9 Dans le menu contextuel des tables, figure la fonction « Triggers », qui permet après génération
des triggers de la table d’en faire une consultation.
Le driver choisi par défaut est celui indiqué dans la fonction « Préférences MLR ... », en bas
des autres options.

Vous pouvez modifier la définition des triggers en cliquant sur le bouton « Options … » renvoyant à
la boîte de dialogue de paramétrage des drivers.

Comme pour le fichier script de la base de données, choisissez le fichier destination dans lequel
seront générés les triggers. Utilisez pour ce faire le bouton « Parcourir … ».

1er groupe : base de données et triggers


Concerne des options de génération dans le sous ensemble prévu par le paramétrage, parmi les
choix permis par le SGBD.

La génération peut ne concerner qu’une partie des triggers, par exemple les triggers sur insertion
seulement.

Module DATABASE & USER INTERFACE 153


2ème groupe : choix des tables à générer
Possibilité de sélectionner une ou plusieurs tables parmi l’ensemble des tables du modèle.

Cliquez sur « Choisir … » pour accéder à la boîte de dialogue « Sélection des tables à générer ».

3ème groupe : options de casse pour la génération

Choix des caractères minuscules, majuscules ou ANSI.

Cliquez sur « OK » pour lancer la génération.

Durant la génération une petite fenêtre de contrôle s’ouvre et permet de stopper éventuellement
l’exécution.

La boîte de dialogue « Fin de génération de script » s’affiche, analogue à celle de la génération du


script SQL de génération de base de données.

Le bouton « Voir script … » permet d’afficher dans l’éditeur de texte le code de génération des
triggers.

154 Documentation utilisateur


27. Interface L4G
Win’Design permet également la génération d’un script pour un L4G Cible.

27.1 Sélection du L4G


Activez la fonction « Interface L4G... - Sélection L4G... » du menu « Modèle ».
La boîte de dialogue « Interface client/serveur » s’affiche.

Sélectionnez le L4G cible dans la liste, puis validez par « OK ».

27.2 Définir des correspondances de types


Pour définir des associations de types de données entre le L4G choisi et Win’Design, activez la
fonction « Interface L4G - Associations de types ... » du menu « Modèle ».
la boîte de dialogue « Correspondance types » s’affiche.

Module DATABASE & USER INTERFACE 155


Sélectionnez par bouton radio le sens de la conversion : L4G vers Win’Design ou Win’Design
vers L4G.

Une correspondance de type vous est proposée.

Pour modifier une correspondance, sélectionnez la ligne, puis ouvrez la liste de choix et
sélectionnez le nouveau type à associer. La modification s’effectue dans la liste des types.
Validez l’ensemble des associations par « OK ».

27.3 Génération du script vers un L4G cible


Pour lancer la génération du script, activez la fonction « Interface L4G - Génération script ... » du
menu « Modèle ».

La boîte de dialogue « Sélection d’un fichier destination » s’affiche.


Sélectionnez ou créez un fichier destination puis validez par « OK ».

La génération du script s’effectue. Un panneau s’affiche en fin de génération indiquant que le script
a été généré dans le fichier choisi, et vous indique la procédure à suivre pour charger ce script
dans le L4G choisi.

Génération d’un script vers le L4G Progress

Activez le bouton « Voir fichier ... » pour visualiser le script généré.

156 Documentation utilisateur


27.4 Génération d’un script de mise à jour
Pour générer un script de mise à jour, activez la fonction « Interface L4G - Génération script de
mise à jour... ».
La boîte de dialogue « Sélection d’un modèle archive » s’affiche.

Sélectionnez dans la liste de choix un modèle existant, différent du modèle courant. Validez par
« OK ».

Ce modèle servira de référence pour comparer les différences entre la précédente modélisation et
celle du modèle courant.
Ce sont ces différences qui seront générées.

Pour la première fois, il sera nécessaire d’enregistrer sous un autre nom le modèle comportant les
dernières modifications. Le premier nom servant alors de modèle de référence.

28. Paramétrage des drivers


Pour créer ou modifier un driver permettant de paramétrer les différents éléments composant le
script de création de la base de données, cliquez sur le bouton « Options » du groupe « Base de
données cible » à partir de la boîte de génération de script, ou activez la fonction « Paramétrage
des drivers ... » du menu « Options ».

La boîte de dialogue « Paramétrage des drivers » s’affiche.

Module DATABASE & USER INTERFACE 157


Elle se compose de 16 onglets :
Driver, Général, Base, Table, Attributs, Types, Contraintes, Index, Règles, Vues SQL, Procédures,
Storage, Langage, Triggers, Triggers-items et Types utilisateur.
Le bouton « OK » valide tous les changements effectués depuis l'ouverture de la boîte de
dialogue.

Le bouton « Annuler » restaure l'état de chacun des drivers modifiés et invalide ainsi tous les
changements effectués depuis l'ouverture de la boîte de dialogue.

28.1 Onglet Driver


Cet onglet regroupe les informations d’identification du driver.

158 Documentation utilisateur


Le bouton « Exporter » permet de transformer le driver courant en fichier texte pour une lecture
plus facile.

28.1.1 Créer un nouveau driver


Cliquez sur le bouton « Nouveau ».

La boîte de dialogue « Création d’un nouveau driver » s’affiche.

Saisissez le nom du driver (de préférence, le nom du SGBD, l'environnement, la version) ainsi que
le nom du fichier associé (de préférence le nom du SGBD, en 8 lettres au plus, sans extension ni
caractères interdits (*-/.;)).

28.1.2 Renommer un driver


Sélectionnez un driver dans la liste, puis cliquez sur le boueon « Renommer » et saisissez le
nouveau nom.
Celui-ci ne doit pas être celui d'un autre driver. Le nom du fichier associé n'est pas modifiable.

Module DATABASE & USER INTERFACE 159


28.2 Onglet Général
Cet onglet regroupe les informations concernant les paramètres généraux du driver.

1er groupe : paramètres généraux

Case « Accepte les commentaires »


Doit être cochée si le SGBD permet de générer des commentaires sur les tables et/ou les
attributs (avec le langage script). Si c'est le cas, les sections « Commentaires » sont actives dans
les onglets « Table » et « Attribut ».

« Extension du fichier script »


Doit contenir l'extension qui sera donnée par défaut au fichier script généré à partir d'un MLD.

« Délimiteur de chaîne »

Doit contenir le caractère qui marque le début (et la fin) d'une chaîne alphanumérique (nom
d'attribut, de table...).

« Caractères interdits »
Peut contenir la liste des caractères invalides dans les noms de base de données, de tables,
d'attributs, d'index, de contraintes (qui seront remplacés par le « Caractère de remplacement »).

160 Documentation utilisateur


2ème groupe : Valeurs associées aux sections

Chaque section a une valeur associée saisissable dans la zone de saisie prévue à cet effet.
Le bouton « Zoom … » permet d'afficher la valeur associée dans une fenêtre de saisie.

Chaque valeur associée peut contenir une ou plusieurs variable (cf. Liste des variables). Chaque
variable est remplacée par sa valeur (ou ses valeurs) lors de la génération du script.

Une variable peut être écrite directement dans la valeur associée ou insérée. Cliquez sur le bouton
« Insérer variable … ».
La boîte de dialogue « Insertion de variables » s’affiche.

Les variables sont classées par catégories qui sont au nombre de 12 onglets : Attribut, Base de
données, Code items, Contraintes, Général, Index, procédure, Storage/Tablespace, Table, Règle,
Trigger, Vue SQL.

Section « Début de script »


Paragraphe placé en premier dans le fichier script. Il contient l'entête du fichier composé du nom
de la base, de celui du projet, de l'auteur, ainsi que de la date de dernière modification. Il peut
aussi contenir des procédures spéciales.

Module DATABASE & USER INTERFACE 161


Section « Fin de script »
Dernier paragraphe du script.

Section « Début remarque »


Le caractère ou le mot qui détermine le début d'un commentaire.
Cette section est importante car elle est utilisée lors de la génération des règles et peut causer
des erreurs de syntaxe dans le SGBD si elle n’est pas correctement remplie.

Section « Fin remarque »


Le caractère ou le mot qui détermine la fin d'un commentaire.

Section « Mots réservés »


La liste des mots réservés du SGBD que les noms de tables, d’attributs, d’index etc. ne peuvent
pas prendre. Ces mots doivent être séparés par des points-virgules.

Section « Exécution »
Le texte qui sera affiché à la fin de la génération et qui indiquera la liste des opérations
nécessaires à l’exécution du script.

28.3 Onglet Base


Cet onglet détermine les paramètres des actions à effectuer sur la base de données.

1er groupe : paramètres de création de la base de données

Cases « Accepte la création, la suppression, l’ouverture ou la fermeture de base de


données »
Doit être cochée si le SGBD permet (dans le langage script) d’effectuer ces actions.

« Longueur maximale code base de données »


Doit contenir la longueur maximale d'un nom de base de données. Si un nom de base de
données dépasse cette valeur, le nom sera tronqué pour que sa longueur soit amenée à la
longueur maximale.

162 Documentation utilisateur


2ème groupe : Valeurs associées aux sections

Section « Début base »


Cette section est automatiquement placée dans le script si l'une des sections qui suit est elle
aussi incorporée.

Section « Création base »


Enumère la liste des opérations nécessaires à la création d'une base de données.

Section « Ouverture base »


Enumère la liste des opérations nécessaires à l'ouverture d'une base de données (qui doit par
conséquent exister).

Section « Fermeture base »


Enumère la liste des opérations nécessaire à la fermeture d'une base de données (qui doit par
conséquent exister).

Section « Suppression base »


Enumère la liste des opérations nécessaire à la suppression d'une base de données (qui doit par
conséquent exister).

La création d'une base de données n'implique pas l'ouverture de cette dernière. Les deux sections
n'ont donc pas forcement un rapport.

28.4 Onglet Table


Cet onglet permet de définir les caractéristiques des actions et la syntaxe de description des tables.

1er groupe : paramètres de création de table

Case « Accepte les modifications de table »


Doit être cochée si le SGBD permet la modification de tables. Si c'est le cas, la section
« Modification table » est disponible dans la liste des sections sinon elle ne l'est pas.

Case « Accepte les suppressions de table »


Doit être cochée si le SGBD permet la suppression de tables. Si c'est le cas, la section
"Suppression table" est disponible dans la liste des sections sinon elle ne l'est pas.

« Longueur maximale code table »


Doit contenir la longueur maximale d'un nom de table. Si un nom de table dépasse cette valeur,
le nom sera tronqué pour que sa longueur soit amenée à la longueur maximale.

Module DATABASE & USER INTERFACE 163


2ème groupe : valeurs associées aux sections

Section « Début de table »


Cette section est automatiquement placée dans le script si l'une des sections qui suit est elle
aussi incorporée. Elle n'est cependant placée qu'une seule fois par table si plusieurs sections
sont incorporées.

Section « Début création table »


Cette section énumère la liste des opérations nécessaire à la création d'une table.

Section « Fin création table »


Cette section énumère la liste des opérations qui indique la fin de création d'une table.

Section « Modification table »


Cette section énumère la liste des opérations nécessaire à la modification d'une table (pour
ajouter des contraintes par exemples).

Section « Suppression table »


Cette section énumère la liste des opérations nécessaire à la suppression d'une table.

Section « Commentaire »
Cette section énumère la liste des opérations nécessaire à l'ajout d'un commentaire sur une
table. Le commentaire ayant été défini dans la boîte de dialogue de définition des tables.

28.5 Onglet attribut


Cet onglet permet de définir les caractéristiques des attributs ou colonnes, ainsi que les éléments
de syntaxe pour sa définition dans le script.

1er groupe : position de la caractéristique obligatoire

164 Documentation utilisateur


Permet de préciser si la déclaration d'un attribut non nul doit se faire « Dans la description
d'attribut » (juste avant la déclaration de l’attribut suivant) ou doit être « Externe à la description
de la table » (après la fin de la création de la table).

2ème groupe : position du contrôle d'intervalle de valeurs :

Idem « Position de la caractéristique obligatoire ».

3ème groupe : paramètres généraux

« Séparateur d'attribut »
Doit contenir le caractère qui marque la séparation de deux attributs dans une création de table.
« Séparateur de valeurs »
Doit contenir le caractère qui marque la séparation de deux valeurs dans une liste de valeurs
(pour les contraintes d’ensemble de valeurs).

« Longueur code attribut »


Doit contenir la longueur maximale d'un nom d'attribut. Si un nom d'attribut dépasse cette valeur,
le nom sera tronqué pour que sa longueur soit amenée à la longueur maximale.

« Fin de ligne attribut »


Doit contenir le(s) caractère(s) à placer après chaque ligne de création d’attribut, y compris celle
du dernier attribut. Ce caractère est placé après le séparateur d’attribut.

4ème groupe : valeurs associées aux sections

Section « Création colonne »


Cette section permet de définir la syntaxe à utiliser pour une colonne lors de la création d'une
table. Elle doit normalement contenir les variables WD:COLUMN et WD:DATATYPE et
éventuellement WD:NOTNULL et/ou WD:DEFAULT.

Section « Valeur non nulle »

Module DATABASE & USER INTERFACE 165


Cette section doit contenir le mot clé qui permet de préciser que la valeur d'un attribut doit être
non nulle. Si le SGBD ne le permet pas (au moyen des scripts), cette section doit être vide.

Section « Syntaxe valeur défaut »


Cette section doit contenir le mot clé et la valeur (WD:DEFAULTVALUE) qui permettent de
préciser la valeur par défaut d'un attribut. Si le SGBD ne le permet pas (au moyen des scripts),
cette section doit être vide.

Section « Contrôle de valeur »


Cette section énumère la liste des opérations nécessaire au contrôle de la valeur d'un attribut (qui
peut avoir une limite inférieure, supérieure, les deux ou qui peut appartenir à un ensemble de
valeurs). Elle doit contenir la variable WD:CHECK qui sera remplacée (lors de la génération du
script) par la valeur associée à l'une des 4 sections suivantes : « Contrôle valeur mini »,
« Contrôle valeur maxi », « Contrôle intervalle », « Contrôle ensemble ».

Section « Contrôle valeur mini »


Cette section doit contenir la vérification de valeur minimale.

Section « Contrôle valeur maxi »


Cette section doit contenir la vérification de valeur maximale.

Section « Contrôle intervalle »


Cette section doit contenir la vérification d'intervalle, c'est à dire le cas ou l'attribut admet une
limite inférieure et une limite supérieure.

Section « Contrôle ensemble »


Cette section doit contenir la vérification de domaine.

Section « Commentaire »
Cette section énumère la liste des opérations nécessaire à l'ajout d'un commentaire sur un
attribut. Le commentaire ayant été défini dans la boîte de dialogue de définition des attributs.

Section « Syntaxe dans liste »


Cette section permet de définir la syntaxe à utiliser pour des listes d'attributs. Elle doit contenir la
variable WD:COLUMN OU WD:STRCOLUMN.

Section « Syntaxe ensemble de valeurs »


Décrit la syntaxe à respecter pour chacune des valeurs composant un ensemble de valeurs. La
variable utilisée, qui représente une valeur de l’ensemble est WD:ENUMVALUE ou
WD:STRENUMVALUE.

Convertisseurs de chaînes
Les convertisseurs sont des fonctions permettant de modifier la syntaxe d’attributs de certains
types de données (caractères, numérique et date).
Les convertisseurs sont automatiquement appelés quand les variables WD:STR... sont utilisées
lors de la génération.
L’unique paramètre de ces fonctions est %% qui doit être placé dans chacune des sections
suivantes :

Section « Chaîne vers chaîne »


Cette section permet de définir une méthode de conversion d’un attribut de type caractère. Toute
variable WD:STR... utilisera cette méthode si l’attribut concerné est de type caractère. Le
paramètre qui sera remplacé par le nom réel de l’attribut doit être %%.

Section « Date vers chaîne »


Idem, mais conversion d’un attribut de type date en type caractère. Les types concernés sont
Date, DateHeure, et Heure.

Section « Numérique vers chaîne »


Idem, pour tous les attributs de type numérique.

166 Documentation utilisateur


28.6 Onglet types
Cet onglet permet d’effectuer la correspondance entre les types de données définis dans
Win’Design et les types correspondant dans le SGBD cible et réciproquement.

28.6.1 Sens de conversion


Sélectionnez le sens de conversion en cochant le radio bouton correspondant.

La boîte se modifie en fonction de ce choix.

[Link] Win’Design vers base


Pour chacun des types de Win'Design, il faut entrer le type correspondant du SGBD ou le type le
plus proche.

[Link] Base vers Win’Design


Cochez l’option correspondante dans le groupe de choix.

La boîte se transforme et présente dans la colonne de gauche les types du SGBD et


dans la colonne de droite, la correspondance Win’Design.

Module DATABASE & USER INTERFACE 167


28.7 Onglet Contraintes

Cet onglet permet de définir la nature et la description des contraintes à appliquer dans le cas des
clés primaires et étrangères pour la génération du script de la base de données.

168 Documentation utilisateur


1er groupe : "Paramétrage des contraintes référentielles"

Case « Accepte les clés primaires »


Doit être cochée si le SGBD permet la gestion des clés primaires. Si c'est le cas, la section "Clé
primaire" et « Syntaxe colonne CP » sont disponibles dans la liste des sections.

Case « Accepte les clés étrangères »


Doit être cochée si le SGBD permet la gestion des clés étrangères. Si c'est le cas, la section "Clé
étrangère" et « Syntaxe colonne CE » sont disponibles dans la liste des sections.
Si aucune de ces deux cases n'est cochée, aucune section n'est disponible.

2ème groupe : position des clés primaires


Permet de définir si la définition doit être faite lors de la création de la table, après la description
de tous les attributs ou ultérieurement.

« Longueur maximale code clé »


Doit contenir la longueur maximale d'un nom de clé ( primaire ou étrangère ) à ne pas confondre
avec la liste des attributs qui composent cette clé. Si un nom de clé dépasse cette valeur, il sera
tronqué pour que sa longueur soit amenée à la longueur maximale.

3ème groupe : syntaxe des codes de clés


« Code clé primaire unique »
Cette case doit être cochée si les codes de clés primaires doivent être uniques dans une base de
données.
Si deux codes sont identiques, ils seront tronqués et numérotés.

« Code clé étrangère unique»


Idem code clé primaire unique

« Longueur maximum des codes de clé »


Saisissez la longueur maximale en caractères d’une clé.

« Séparateur attribut dans contrainte »


Cette case doit contenir le ( ou les) caractère(s) qui sépare(nt) deux attributs dans la liste des
attributs composant une clé.

Module DATABASE & USER INTERFACE 169


3ème groupe : valeurs associées aux sections

Section "Clé Primaire" :


Cette section doit contenir les instructions pour préciser la clé primaire.

Section "Début étrangère" :


Cette section est placée une seule fois, et seulement si la section "Clé étrangère" est utilisée.

Section "Clé étrangère" :


Cette section doit contenir les instructions pour préciser une clé étrangère.

Section « Syntaxe colonne clé primaire »


Syntaxe à respecter pour chacun des attributs faisant partie d’une clé primaire.

Section « Syntaxe colonne clé étrangère »


Syntaxe à respecter pour chacun des attributs faisant partie d’une clé étrangère.

28.8 Onglet Index

Cet onglet permet de définir les caractéristiques des index pour la génération du script.

1er groupe : paramètres généraux des index

Case « Accepte les index sur clé primaire »


Doit être cochée si le SGBD permet de créer des index sur la clé primaire d’une table. Si c’est le
cas, la section « Index clé primaire » est disponible dans la liste des sections.

Case « Accepte les index sur clé étrangères »

170 Documentation utilisateur


Doit être cochée si le SGBD permet de créer des index sur la(les) clé(s) étrangère(s) d’une table.
Si c’est le cas, la section « Index clé étrangère » est disponible dans la liste des sections.

Case « Accepte autres index »


Doit être cochée si le SGBD permet de créer des index quelconques. Si c’est la cas, la section
“ Création index ” est disponible dans la liste des sections.

Case « Code index unique »


Doit être cochée si les noms d’index doivent être tous distincts dans une base de données.

Case « Ordre de tri sur chaque attribut »


Doit être cochée s’il est possible d’indiquer un ordre de tri à chacun des attributs composant un
index.
Si ce n’est pas le cas la variable WD:INDEXSORT contient l’ordre de tri global de l’index.

Case « Accepte les suppressions d’index »


Doit être cochée si le SGBD permet, au moyen des scripts, la suppression des index.

« Longueur maximale code index »


Doit contenir la longueur maximale d'un nom d'index. Si un nom d'index dépasse cette valeur, il
sera tronqué pour que sa longueur soit amenée à la longueur maximale.

« Séparateur attribut dans index »


Doit contenir les caractères à placer entre chacun des attributs composant un index.

2ème groupe : Valeurs associées aux sections

Section « Début index »


Cette section est placée au début de toutes les opérations sur des index de table. Elle n'apparaît
qu'une fois pour chaque table.
Elle contient généralement des commentaires.

Section « Création index »


Cette section énumère la liste des opérations nécessaire à la création d'un index libre.

Section « Index clé primaire »


Cette section énumère la liste des opérations nécessaire à la création d'un index sur la clé
primaire.

Section « Index clé étrangère »


Cette section énumère la liste des opérations nécessaire à la création d'un index sur la(les) clé(s)
étrangère(s).
Section « Syntaxe colonne »
Cette section indique la syntaxe à utiliser pour chaque attribut contenu dans l’index.

Section « Suppression index »


Cette section énumère la liste des opérations nécessaire à la suppression d'un index (si le SGBD
le permet).

Section « Unique »
Cette section doit contenir le ou les mots qui indiquent qu'un index doit être unique. Si le SGBD
ne permet pas de créer des index uniques, cette section doit être vide.

Section « Ascendant »
Cette section doit contenir le ou les mots qui indiquent qu'un index doit être classé par ordre de
clés croissant. Si le SGBD ne permet pas de créer ce type d'index, cette section doit être vide.

Section « Descendant »
Cette section doit contenir le ou les mots qui indiquent qu'un index doit être classé par ordre de
clés décroissant. Si le SGBD ne permet pas de créer ce type d'index, cette section doit être vide.

28.9 Onglet règle

Module DATABASE & USER INTERFACE 171


Cet onglet permet de définir les paramètres de génération des règles dans le fichier spécifique
règles (en dehors du script lui-même).

1er groupe : paramètres généraux des règles

Case « Accepte les règles »


Indique si le SGBD accepte l’intégration des règles

« Longueur de cadrage des commentaires »


Doit contenir la longueur maximale d’une ligne de commentaire. Si le commentaire d’une règle
est plus long, il est découpé en plusieurs parties afin que la longueur de chacune de ces parties
ne dépasse pas la longueur de cadrage.

« Longueur maximum code règle »


Doit contenir la longueur maximale d’un nom de règle. Si un nom de règle dépasse cette valeur,
le nom sera tronqué pour que sa longueur soit amenée à la longueur maximale.

2ème groupe : valeurs associées aux sections

Section « Début règles »


Cette section est placée tout au début du fichier des règles, c’est l’entête.

Section « Début création »


Cette section est placée avant la création de chaque règle. Elle peut contenir le nom de la règle,
le commentaire, le type et la famille de règle ainsi que la description.

Section « Création règle »


Doit contenir le code proprement dit de la règle. La variable WD:RULECODE est remplacée à la
génération par le code de la règle défini dans la description logique de la règle.

Section « Fin création »


Cette section est placée après chaque création de règle.

Section « Fin règle »


Cette section est la dernière section du fichier.

172 Documentation utilisateur


28.10 Onglet Vues SQL
Cet onglet permet de définir le paramétrage des vues SQL.

Module DATABASE & USER INTERFACE 173


1er groupe : paramètres généraux des vues SQL

Case « Accepte les créations de vue SQL »


Indique si le SGBD accepte la création des vues SQL. Si c'est le cas, les sections « Début vue
SQL », « Création vue SQL », « Fin vues SQL » et « Check option » sont actives.

Case « Accepte les suppressions de vue SQL »


Indique si le SGBD accepte la suppression des vues SQL. Si c'est le cas, la section
« Suppression vue SQL » est active.

« Longueur maximum nom vue SQL »


Doit contenir la longueur maximale d’un nom de vue SQL. Si un nom de vue SQL dépasse cette
valeur, le nom sera tronqué pour que sa longueur soit amenée à la longueur maximale.

2ème groupe : valeurs associées aux sections

Section « Début vue SQL »


Cette section est générée avant la création d'une vue SQL et contient généralement un
commentaire.

Section « Création vue SQL »


Doit contenir le code proprement dit de la création d'une vue SQL.

Section « Fin vue SQL »


Cette section est générée après la création d'une vue SQL et contient généralement un
commentaire.

Section « Check option »


Doit contenir le code de la clause vérification d'une vue SQL. Lorsque celle-ci est modifiable,
cette option garantit que les tuples insérés ou mis à jour sont compatibles avec la définition de la
vue. Cette option n'est pas supportée par tous les SGBD.

Section « Suppression vue SQL »


Doit contenir le code proprement dit de la suppression d'une vue SQL.

28.11 Onglet Procédures


Cet onglet permet de définir le paramétrage des procédures et/ou fonctions.

1er groupe : paramètres généraux des procédures/fonctions

Case « Accepte les créations de procédure/fonction »


Indique si le SGBD accepte la création de procédure et/ou fonctions. Si c'est le cas, les sections
« Début procédure », « Création procédure », « Fin procédures », « Début fonction », « Création
fonction », « Fin fonction », « Format des paramètres », « Paramètres en entrée », « Paramètres
en sortie », « Format des paramètres retour » et « Type retourné » sont actives.

Case « Accepte les suppressions de procédure/fonction »


Indique si le SGBD accepte la suppression de procédures et/ou fonctions. Si c'est le cas, les
sections « Suppression procédure » et « Suppression fonction » sont actives.

« Longueur maximum nom »


Doit contenir la longueur maximale d’un nom de procédure ou fonction. Si un nom de procédure
ou fonction dépasse cette valeur, le nom sera tronqué pour que sa longueur soit amenée à la
longueur maximale.

174 Documentation utilisateur


2ème groupe : valeurs associées aux sections

Section « Début procédure »


Cette section est générée avant la création d'une procédure et contient généralement un
commentaire.

Section « Création procédure »


Doit contenir le code proprement dit de la création d'une procédure.

Section « Fin procédures »


Cette section est générée après la création d'une procédure et contient généralement un
commentaire.

Section « Suppression procédure »


Doit contenir le code proprement dit de la suppression d'une procédure.

Section « Début fonction »


idem « Début procédure » mais dans la cas d'une fonction

Section « Création fonction »


idem « Création procédure » mais dans la cas d'une fonction

Section « Fin fonction »


idem « Fin procédures » mais dans la cas d'une fonction.

Section « Suppression fonction »


idem « Suppression procédure » mais dans la cas d'une fonction.

Section « Format des paramètres »


Doit contenir le code de définition des paramètres d'une fonction ou d'une procédure. Cette
section est associée à la variable WD:LISTPARAM.

Section « Paramètres en entrée »


Doit contenir le code de définition d'un paramètre en entrée d'une fonction ou d'une procédure.
Cette section est associée à la variable WD:INOUT.

Module DATABASE & USER INTERFACE 175


Section « Paramètres en sortie »
Doit contenir le code de définition d'un paramètre en sortie d'une fonction ou d'une procédure.
Cette section est associée à la variable WD:INOUT.

Section « Format des paramètres retour »


Doit contenir le code de définition d'un paramètre retour d'une fonction ou d'une procédure. Cette
section est associée à la variable WD:PROCPARAMRETURN.

Section « Type retourné »


Doit contenir le code de définition du type du paramètre retour d'une fonction ou d'une procédure.
Cette section est associée à la variable WD:PROCRETURNTYPE.

28.12 Onglet Storage


Cet onglet permet de définir le(s) storage(s) et le tablespace de la base de données.

1er groupe : paramètres généraux des storages/tablespace

Case « Accepte les créations de Tablespace »


Indique si le SGBD accepte la création de tablespace. Si c'est le cas, les sections « Création
Tablespace », « Format des options » et « Storage par défaut » sont actives.

Case « Accepte les suppressions de Tablespace »


Indique si le SGBD accepte la suppression de tablespace. Si c'est le cas, la section
« Suppression Tablespace » est active.

Case « Accepte les créations de Storage »


Indique si le SGBD accepte la création de storage. Si c'est le cas, les sections « Création storage
» et « Format des options » sont actives.

Case « Accepte les suppressions de Storage »


Indique si le SGBD accepte la suppression de storage. Si c'est le cas, les sections « Suppression
Storage » et « Suppression fonction » sont actives.

176 Documentation utilisateur


« Séparateur d'options »
Doit contenir le séparateur entre les différentes options du storage.

2ème groupe : valeurs associées aux sections

Section « Création Storage »


Doit contenir le code proprement dit de la création d'un storage.

Section « Création Tablespace »


Doit contenir le code proprement dit de la création d'un tablespace.

Section « Format des options »


Doit contenir le code de création de chaque option du storage ou tablespace.

Section « Storage par défaut »


Lorsque le tablespace possède un storage par défaut, cette section doit contenir le code de
création de ce dernier.

Section « Suppression TableSpace »


Doit contenir le code proprement dit de la suppression d'un tablespace.

Section « Suppression Storage »


Doit contenir le code proprement dit de la suppression d'un storage.

28.13 Onglet Langage


Cet onglet permet de définir les opérateurs et fonctions supportées par la base de données. Ces
éléments du langage sont accessibles à partir de l'éditeur SQL, menu « Editer / Liste objets... ».

1er groupe : valeurs associées aux sections


Section « Opérateurs »

Module DATABASE & USER INTERFACE 177


Doit contenir la liste des opérateurs de la base de données.

Section « Autres fonctions »


Doit contenir la liste des fonctions de la base de données qui n'appartiennent à aucune autre
section proposée.

Section « Fonctions sur les chaînes »


Doit contenir la liste des fonctions de travail sur les chaînes de caractères de la base de données.

Section « Fonctions de conversions »


Doit contenir la liste des fonctions de conversion entre les différents types de données supportés
par la base de données.

Section « Fonctions de regroupement »


Doit contenir la liste des fonctions de travail sur le résultat d'une jointure de la base de données.

Section « Fonctions sur les nombres »


Doit contenir la liste des fonctions de travail sur les nombres de la base de données.

28.14 Onglet Triggers


Cet onglet permet de définir la structure et le code des triggers, c’est à dire les règles à déclencher
lors d’une action sur une table de la base de données. Ces règles concernent en général
essentiellement le respect des contraintes d’intégrité référentielles.
Ces contraintes sont à l’origine exprimées par les relations et cardinalités du modèle conceptuel de
données, puis par les contraintes d’intégrité au niveau de chaque lien de référence au niveau du
modèle logique de données (Cf. onglet « Intégrité », boîte de dialogue pop up d’un lien de
référence).

1er groupe : paramétrage des triggers

Case : « Accepte les suppressions de triggers »


Indique si le SGBD accepte la suppression des triggers (suppression précédant l’ajout d’un
nouveau trigger).

178 Documentation utilisateur


Cases : « Accepte les triggers sur insertion, modification, suppression »
Indique quelles sont les actions pour lesquelles le SGBD permet d’associer des triggers.

Champ : « Extension du fichier script »


Saisissez l’extension à donner au fichier contenant la génération des triggers de la base de
données.

2ème groupe : valeurs associées aux sections

Section « Début triggers »


Cette section est placée tout au début du fichier des triggers, c’est l’entête.

Section « Début trigger d’une table »


Cette section est placée au début de la description des triggers d’une table.

Section « Suppression triggers »


Contient le code associé à la suppression d’un trigger.

Sections « Code trigger pour insertion, modification, suppression »


Contient le nom du trigger associé pour chacune des actions.

Section « Trigger insertion, modification, suppression »


Cette section contient la séquence d’instructions permettant de décrire le trigger et d’indiquer à
quel endroit sera générée la partie spécifique ( WD:CODESECTION).

Section « Fin trigger d’une table »


Cette section est placée à la fin de la description des triggers d’une table.

Section « Fin trigger »


Cette section est placée à la fin des fichiers des triggers.

Section « Exécution du script »


Texte à saisir décrivant la séquence des opérations nécessaires pour exécuter le script dans le
contexte du SGBD cible.

Section « Nom des tables d’insertion et suppression »


Certains SGBD, pour effectuer des actions d’insertion et suppression dupliquent les tables avant
d’effectuer les actions.
C’est le nom de ces tables qu’il faut saisir dans cette section.

28.15 Onglet triggers - items


Cet onglet permet de définir le code correspondant à chacune des contraintes à respecter lors des
actions effectuées sur une table de la base de données.

Module DATABASE & USER INTERFACE 179


1er groupe : sélection des items par type de triggers

Cliquez sur un des radio boutons correspondant à chacune des actions concernées par les triggers
: insertion, modification ou suppression.

Pour créer une nouvelle contrainte, saisissez son nom dans la zone « Code », et saisissez
éventuellement un libellé.

Pour modifier une contrainte existante, sélectionnez la dans la liste.

L’ensemble des contraintes qui sont décrites correspondent pour les contraintes d’intégrité
référentielles à celles qui ont été saisies ou générées dans le modèle logique (Cf. onglet
« Intégrité » des liens référentiels).

A chacune de ces contraintes, précisez l’ensemble concerné parmi le choix, pour chaque parent,
chaque enfant ou chaque colonne (enfant et parent étant pris au sens de la dépendance existante
entre les tables exprimée par les clés étrangères).

Précisez la condition correspondante à l’ensemble choisi parmi les cas proposés.

Exemple :
La contrainte d’insertion d’une table (enfant) dépendant d’une autre table
(parent).
Pour « chaque parent dans tous les cas, la table enfant ne peut être créée s’il n’existe pas
d’occurrence correspondant dans la table parent ».
Cf. pour exemples les triggers pour ORACLE, SYBASE et PROGRESS.

9 Un driver intitulé « Langage naturel » a été paramétré de manière à pouvoir générer les triggers
en français structuré, ce qui peut permettre d’expliciter dans l’analyse la nature des contraintes
qui s’appliqueront pour chaque table.

180 Documentation utilisateur


28.16 Onglet Types Utilisateur
Les types utilisateurs sont les types de données créés par l’utilisateur, en dehors de la typologie
standard.

1er groupe : Paramètres généraux de types utilisateur

Permet de préciser si le SGBD accepte la création ou la suppression de types utilisateur.

En fonction du choix effectué, la liste des sections utilisables pour le paramétrage s’affiche en bas à
gauche de la boîte de dialogue.

On peut préciser également la longueur maximale du type utilisateur, ainsi que dans le cas où un
domaine de valeur est précisé, l’indication du caractère séparateur de ces valeurs.

2ème groupe : valeurs associées aux sections

Section « Début type utilisateur »


Début de la description dans le script des types utilisateurs. Cette description est placée avant la
description des tables.

Section « Création type utilisateur »


Cette section permet de définir la syntaxe à utiliser pour la création d’un type utilisateur.

Section « Fin création type utilisateur »


Présentation et syntaxe de création d’un type utilisateur.

Sections « Suppression type utilisateur »


Présentation et syntaxe de suppression d’un type utilisateur.

Section « Syntaxe valeur défaut »

Module DATABASE & USER INTERFACE 181


Cette section doit contenir le mot clé et la valeur (WD:UTDEFAULTVALUE) qui permettent de
préciser la valeur par défaut d’un type utilisateur. Si le SGBD ne le pemt pas (au moyen des
scripts), cette section doit être vide.

Section « Contrôle de valeur »


Cette section énumère la liste des opérations nécessaires au contrôle de valeur d’un type
utilisateur.

Section « Contrôle valeur mini »


Cette section doit contenir la vérification de valeur minimale.

Sections « Contrôle valeur maxi »


Cette section doit contenir la vérification de valeur maximale.

Sections « Contrôle intervalle »


Cette section doit contenir la vérification d’intervalle, c’est à dire le cas où le type utilisateur admet
une limite inférieure et une limite supérieure..

Sections « Contrôle ensemble »


Cette section doit contenir la vérification de domaine.

Sections « Collation »

28.17 Liste des variables

WD:ASCENDANT le contenu de la section « Ascendant » de l'onglet


« Index » du paramétrage des drivers

WD:AUTHOR la valeur de la ligne « Auteur » du menu


« Modèle / Description du modèle » du sous-
modèle principal (affiché lors de l'ouverture du
modèle)

WD:BASELIBELLE la valeur de la ligne « Libellé » du menu « Modèle


/ Description du modèle » du sous-modèle
principal (affiché lors de l'ouverture du modèle)

WD:BEGINREM l'expression (le(s) caractère(s) ou le(s) mot(s))


qui définit le début d'un commentaire

WD:CASESENSITIVE la valeur de la section « Casse sensible » dans


l'onglet « Attribut » du paramétrage des drivers

WD:CHECK contrainte de valeur (le contenu de l'une des


sections de contrôle de valeur de l'onglet
« Attribut »)

WD:CHECKSECTION contrôles de valeurs de l'attribut (valeur minimale


et maximale)

WD:CHILD nom de la table fille (pour les triggers)

WD:CHILDFK actions définies sur chaque attribut qui référence


la table fille (pour les triggers)

WD:CHILDFREEFIELDA la valeur de la première caractéristique libre de la


table fille (pour les triggers) de l'onglet
« Administration » de la boîte popup

WD:CHILDFREEFIELDB la valeur de la deuxième caractéristique libre de


la table fille (pour les triggers) de l'onglet
« Administration » de la boîte popup

WD:CHILDFREEFIELDC la valeur de la troisième caractéristique libre de la


table fille (pour les triggers) de l'onglet

182 Documentation utilisateur


« Administration » de la boîte popup

WD:CHILDLIBELLE la valeur de la ligne « Libellé » de la table fille


(pour les triggers) de la boîte popup

WD:CODESECTION indique l'insertion de chacune des contraintes


d'un trigger

WD:COLFREEFIELDA la valeur de la première caractéristique libre de


l'attribut de l'onglet « Administration » de la boîte
popup

WD:COLFREEFIELDB la valeur de la deuxième caractéristique libre de


l'attribut de l'onglet « Administration » de la boîte
popup

WD:COLFREEFIELDC la valeur de la troisième caractéristique libre de


l'attribut de l'onglet « Administration » de la boîte
popup

WD:COLUMN le nom de l'attribut

WD:COLUMNALIAS le nom conceptuel de l'attribut

WD:COLUMNFK la valeur de la section « Attribut clé étrangère »


dans l'onglet « Attribut » du paramétrage des
drivers

WD:COLUMNFORMAT la valeur du champ « Format » pour l'attribut dans


son domaine de valeurs

WD:COLUMNLIBELLE le libellé d'un attribut (utilisé pour les


commentaires sur attribut)

WD:COLUMNRANG le numéro d'ordre de l'attribut dans sa table


d'appartenance

WD:COLUMNSIZE le résultat de l'addition de la longueur et de la


précision de l'attribut

WD:DATABASE la valeur de la ligne « Nom » du menu « Modèle /


Description du modèle » du sous-modèle
principal (affiché lors de l'ouverture du modèle)

WD:DATATYPE le type de données de l'attribut

WD:DAYDATE la date courante

WD:DECLARESECTION endroit où doit être inséré le code de déclaration


des contraintes

WD:DEFAULT le contenu de la section « Syntaxe valeur


défaut » de l'onglet « Attribut »

WD:DEFAULTSTORAGE le contenu de la section « Storage par défaut »


de l'onglet « Storage »
WD:DEFAULTVALUE la valeur par défaut de l'attribut (définie dans la
boîte de dialogue « Domaine de valeurs » de
l'attribut)

WD:DESCENDANT le contenu de la section « Descendant » de


l'onglet « Index »

WD:ENDREM l'expression (le(s) caractère(s) ou le(s) mot(s))


qui définit la fin d'un commentaire

WD:ENUMDESC la valeur du champ «Signification» de la valeur

Module DATABASE & USER INTERFACE 183


codée (définie dans la boîte de dialogue «
Domaine de valeurs » de l'attribut)

WD:ENUMVALUE la valeur du champ «Valeur» de la valeur codée


(définie dans la boîte de dialogue « Domaine de
valeurs » de l'attribut)

WD:FILENAME le nom du fichier script généré

WD:FKLIBELLE le libellé de la clé étrangère

WD:FKSET la liste des clés étrangères (pour chaque table)

WD:FOREIGNKEY le nom de la clé étrangère

WD:FORMATORLENGTH le contenu du champ « Format » s'il n'est pas


vide ou la longueur de l'attribut (défini dans la
boîte de dialogue « Domaine de valeurs » de
l'attribut)

WD:FORMATSECTION le contenu de la section « Format » de l'onglet «


Attribut » du paramétrage des drivers

WD:INDEX le nom de l'index (pour chaque index)

WD:INDEXRANG le numéro d'ordre de l'index dans sa table


d'appartenance
WD:INDEXLIBELLE le libellé de l'index

WD:INDEXSET la liste des attributs qui composent un index (pour


chaque index)

WD:INDEXSORT l'ordre de tri global de l'index pour les SGBD qui


ne permettent pas un ordre de tri sur chaque
attribut.

WD:INLINETRIGGER code trigger "inline" de la table

WD:INOUT soit le contenu de la section « Paramètre en


entrée » si le paramètre de la procédure ou
fonction est en entrée, soit le contenu de la
section « Paramètre en sortie » si le paramètre
de la procédure ou fonction est en sortie dans
l'onglet « Procédures » du paramétrage des
drivers

WD:JOINFKPK fonction pour les triggers qui effectue une


opération de comparaison définie par l'utilisateur
sur les attributs de la jointure entre la table mère
et la table fille

WD:JOINPKPK fonction pour les triggers qui effectue une


opération de comparaison définie par l'utilisateur
sur les attributs de la clé primaire de la table

WD:LABELCOLUMNSECTION le contenu de la section « Alias » dans l'onglet


« Attribut » du paramétrage des drivers

WD:LABELSECTION le contenu de la section « Libellé » dans l'onglet


« Attribut » du paramétrage des drivers

WD:LENGTH la longueur du type de l'attribut (pour chaque


attribut)

WD:LINKTEXT le libellé de la jointure (ou son nom si ce dernier


est vide) entre la table mère et la table fille (pour
les triggers)

184 Documentation utilisateur


WD:LISTCOL liste des attributs d'une table séparés par le
séparateur d'attribut (onglet « Attribut » du
paramétrage des drivers)

WD:LISTOPTION liste des options du storage ou du tablespace


construite en fonction de la section « Format des
options » et du champ "Séparateur d'options" de
l'onglet « Storage » du paramétrage des drivers

WD:LISTPARAM liste des paramètres d'une procédure ou d'une


fonction construite en fonction de la section «
Format des paramètres » et du champ
"Séparateur de paramètres" de l'onglet «
Procédures » du paramétrage des drivers

WD:LOWER le contenu de la section « Minuscules » dans


l'onglet « Attribut » du paramétrage des drivers

WD:MAXVALUE la valeur maximale d'un attribut (définie dans la


boîte de dialogue « Domaine de valeurs » de
l'attribut)

WD:MINVALUE la valeur minimale d'un attribut (définie dans la


boîte de dialogue « Domaine de valeurs » de
l'attribut)

WD:MODELDATE la date de dernière modification du modèle

WD:NEW le contenu de la section « Nom table insertions »


de l'onglet « Triggers » du paramétrage des
drivers

WD:NOTNULL le contenu de la section « Valeur non nulle » de


l'onglet « Attribut » du paramétrage des drivers

WD:NOTNULLFK fonction pour les triggers qui effectue une


opération définie par l'utilisateur sur les attributs
de la jointure entre la table mère et la table fille

WD:NULL le contenu de la section « Valeur nulle » de


l'onglet « Attribut » du paramétrage des drivers

WD:OLD le contenu de la section « Nom table


suppressions » de l'onglet « Triggers » du
paramétrage des drivers

WD:OLDCOLUMN le nom de l'ancien attribut (pour une mise à jour


de la base de données)

WD:OLDLISTCOL liste des anciens attributs d'une table séparés par


le séparateur d'attribut (onglet « Attribut » du
paramétrage des drivers) pour une mise à jour de
la base de données

WD:OLDTABLE le nom de l'ancienne table (pour une mise à jour


de la base de données)

WD:OPTIONNAME le nom de l'option du storage (pour chaque


option)

WD:OPTIONVALUE la valeur de l'option du storage (pour chaque


option)
WD:PARENT le nom de la table mère (pour les triggers)

WD:PARENTFREEFIELDA la première caractéristique libre de la table mère


(pour les triggers)

Module DATABASE & USER INTERFACE 185


WD:PARENTFREEFIELDB la deuxième caractéristique libre de la table mère
(pour les triggers)
WD:PARENTFREEFIELDC la troisième caractéristique libre de la table mère
(pour les triggers)

WD:PARENTLIBELLE le libellé de la table mère (pour les triggers)

WD:PARENTPK action sur les attributs de la jointure faisant partie


de la clé primaire de la table mère (pour les
triggers)

WD:PATHMULTIFILE le nom du fichier script associé à la table (pour


chaque table) dans le cas d'une génération mutli-
fichiers

WD:PATHNAME le nom du répertoire dans lequel se trouve le


fichier script généré

WD:PKDECL actions sur les attributs de la table (pour les


triggers)

WD:PKSET la liste des attributs faisant partie de la clé


primaire (pour chaque table) séparés par le
contenu du champ « Séparateur attributs dans
contraintes » de l'onglet « Contraintes » du
paramétrage des drivers

WD:PRECISION la précision du type de l'attribut

WD:PRIMARYKEY le nom de la clé primaire de la table (pour chaque


table)

WD:PROCEDURECODE le nom de la procédure ou fonction (pour chaque


procédure ou fonction)

WD:PROCEDURECOMMENT le commentaire associé à la règle, procédure ou


fonction (pour chaque règle, procédure ou
fonction)

WD:PROCPARAMRETURN la liste des paramètres de type retour de la règle,


procédure ou fonction (pour chaque règle,
procédure ou fonction) séparés par le contenu du
champ « Séparateur de paramètres » de l'onglet
« Procédures »

WD:PROCRETURNTYPE le contenu de la section « Type retourné » de


l'onglet « Procédures » du paramétrage des
drivers

WD:PROJECT la valeur de la ligne « Projet » du menu «Modèle /


Description du modèle »

WD:REFCOLUMN le nom de l'attribut référencé qui compose une


clé étrangère (pour chaque attribut de la clé
étrangère)

WD:REFFKSET la liste des colonnes référencées séparés par le


contenu du champ « Séparateur attributs dans
contraintes » de l'onglet « Contraintes » du
paramétrage des drivers

WD:REFTABLE le nom de la table à laquelle appartient l'attribut


auquel se réfère une clé étrangère

WD:RULECODE le codage de la règle

186 Documentation utilisateur


WD:RULECOMMENT le libellé de la règle

WD:RULEDESCRIPTION la description de la règle

WD:RULEFAMILY la famille de la règle (qui dépend du type)

WD:RULENAME le nom de la règle

WD:RULESFILE le nom du fichier des règles

WD:RULETYPE le type de règle (calcul, comparaison, sélection,


contrainte et contrôle)

WD:SEPARATOR le contenu de la zone « Séparateur d'attribut » de


l'onglet «Attribut» du paramétrage des drivers

WD:SET la liste des valeurs codées (définie dans la boîte


de dialogue « Domaine de valeurs » de l'attribut)
séparées par le contenu du champ « Séparateur
de valeurs » de l'onglet « Attribut » du
paramétrage des drivers

WD:SETFK actions sur les attributs de la jointure entre la


table mère et la table fille (pour les triggers)

WD:SQLVIEWCHECK le contenu de la section « Check option » de


l'onglet « Vues SQL » du paramétrage des
drivers

WD:SQLVIEWCODE le code SQL de la vue SQL

WD:SQLVIEWNAME le nom de la vue SQL

WD:STORAGECODE le nom du storage

WD:STORAGETABLESPACE le code SQL du storage associé au tablespace

WD:STRCOLUMN Idem WD:COLUMN mais avec les méthodes de


conversions définies dans l'onglet « Attribut » du
paramétrage des drivers

WD:STRDEFAULTVALUE Idem WD:DEFAULTVALUE avec méthode de


conversion

WD:STRENUMVALUE Idem WD:ENUMVALUE avec méthode de


conversion

WD:STRMAXVALUE Idem WD:MAXVALUE avec méthode de


conversion
WD:STRMINVALUE Idem WD:MINVALUE avec méthode de
conversion

WD:STRREFCOLUMN Idem WD:REFCOLUMN avec méthode de


conversion

WD:TABLE le nom de la table (pour chaque table)

WD:TABLEALIAS le nom conceptuel de la table (pour chaque table)

WD:TABLEFREEFIELDA la première caractéristique libre de la table

WD:TABLEFREEFIELDB la deuxième caractéristique libre de la table

WD:TABLEFREEFIELDC la troisième caractéristique libre de la table

WD:TABLELIBELLE le libellé d'une table (utilisé pour les


commentaires sur table)

Module DATABASE & USER INTERFACE 187


WD:TABLESPACECODE le nom du tablespace

WD:TABLESTORAGE le code SQL du storage associé à la table

WD:TRIGGERNAME nom du trigger

WD:UNIQUE le contenu de la section «Unique» de l'onglet «


Index » du paramétrage des drivers

WD:UPPER le contenu de la section « Majuscules » dans


l'onglet « Attribut » du paramétrage des drivers

WD:VERSION la valeur de la ligne «Version» du menu « Modèle


/ Description du modèle » du sous-modèle
principal (affiché lors de l'ouverture du modèle)

WD:WHOLE le résultat de la soustraction de la précision à la


longueur de l'attribut

28.17.1 Liste des sections


• Onglet Général
Début script
Fin script
Début remarque
Fin remarque
Mots réservés
Exécution

• Onglet Base de données


Début base
Création base
Suppression base
Ouverture base
Fermeture base

• Onglet Table
Début de table
Début création table
Fin création table
Modification table
Suppression table
Commentaire

• Onglet Attribut
Création colonne
Valeur non nulle
Syntaxe valeur défaut
Contrôle de valeur
Contrôle valeur mini
Contrôle valeur maxi
Contrôle intervalle
Contrôle ensemble
Commentaire
Syntaxe dans liste
Syntaxe ensemble des valeurs
Chaîne vers chaîne
Date vers chaîne
Numérique vers chaîne

• Onglet Contrainte
Clé primaire
Syntaxe colonne CP
Début étrangère
Clé étrangère
Syntaxe colonne CE

188 Documentation utilisateur


• Onglet Index
Début index
Création index
Index clé primaire
Index clé étrangère
Syntaxe colonne
Suppression index
Unique
Ascendant
Descendant

• Onglet Règle
Début règles
Début création
Création règle
Fin création
Fin règles

• Onglet Vues SQL


Début vue SQL
Création vue SQL
Fin vues SQL
Check option
Suppression vue SQL

• Onglet Procédures
Début procédure
Création procédures
Fin procédure
Suppression procédure
Début fonction
Création fonction
Fin fonction
Suppression fonction
Format des paramètres
Paramètres en entrée
Paramètres en sortie
Format des paramètres en retour
Type retourné

• Onglet Storage
Création storage
Création tablespace
Format des options
Storage par défaut

• Onglet Langage
Opérateurs
Autres fonctions
Fonctions sur les chaînes
Fonctions de conversions
Traitement sur les dates
Fonctions de regroupement
Fonctions sur les nombres

• Onglet Triggers
Début trigger
Début trigger d’une table
Suppression trigger
Code trigger insertion
Trigger insertion
Code trigger modification
Trigger modification
Code trigger suppression
Trigger suppression

Module DATABASE & USER INTERFACE 189


Fin triggers d’une table
Fin triggers
Exécution script
Nom table suppressions
Nom table insertions

28.17.2 Ordre d'insertion des sections dans le script


Début script
Début base
Suppression base
Création base
Ouverture base

Début étrangère
Clé étrangère ( p fois )
Fermeture base
Fin script

(1) variable en fonction du positionnement des contraintes, du contrôle d'intervalle, des clés
primaires
n = nombre d'attributs dans la table
m = nombre de tables
p = nombre de clés étrangères pour toute la base de données

29. Reverse engineering d’une base de données


Cette fonction permet de récupérer soit à partir des scripts eux mêmes, soit via ODBC
(Open Data Base Connectivity), la description de la base de données (tables, attributs et clés) et de
l’importer dans Win’Design, sous forme d’un modèle logique de données.

29.1 Options de reverse (Menu Base de données)


En fonction des options choisies, la fenêtre d’exécution s’affiche en bas de l’écran et présente les
informations sélectionnées.

190 Documentation utilisateur


29.2 Reverse engineering à partir d’un script existant
Ouvrez un Modèle Logique existant ou un nouveau schéma, puis sélectionnez la fonction
« Reverse engineering » dans le menu « Base de données ».

La boîte de dialogue « Reverse Engineering » s’affiche.

Choisissez l’option « Reverse Script », puis dans la liste déroulante, sélectionnez le type de base
de données.

La case à cocher « Créer un nouveau modèle » permet de générer le Modèle Logique


correspondant dans un nouveau modèle (autre que celui ouvert).

Module DATABASE & USER INTERFACE 191


Dans le cas où cette option n’est pas choisie, avant la génération un panneau vous demandera
confirmation en vous indiquant que le contenu du modèle courant sera effacé.

Cliquez sur « Lancer » pour déclencher l’opération.

La boîte de dialogue « Ouvrir » s’affiche. Sélectionnez un fichier script, puis cliquez sur « Ouvrir ».

La boîte de dialogue « Sélection des objets à récupérer » s’affiche. Elle présente les objets classés
par type, en indiquant le nombre d’objets pour chacun des types.

Cochez ou décochez les cases pour sélectionner ou non les objets à récupérer, puis validez par
« OK ».
L’importation du script dans Win’Design s’exécute.

Dans le cas où il n’existerait aucune clé primaire, Win’Design propose leur création à partir des
index simples.

192 Documentation utilisateur


Dans le cas où des mots clés non identifiés seraient rencontrés, le traitement s’interrompt avec un
message d’erreur.

Dans le cas où les clés étrangères n’ont pas été définies dans la base de données, Win’Design
propose de les reconstituer à partir des index.

Dans ce cas, une boîte de dialogue s’affiche indiquant l’algorithme de recherche des liens de
référence, dans le cas où les clés étrangères ne sont pas définies.

Dans le cas de codification des attributs avec préfixe ou suffixe, pour permettre d’effectuer la
recherche en ayant éliminé la partie fixe de l’attribut, une option permet d’indiquer s’il est
nécessaire de rechercher les préfixes ou les suffixes.
Une autre option permet pour la génération du MLR d’éliminer ou de conserver les préfixes ou les
suffixes.
Puis une option d’optimisation du placement des objets dans le schéma est proposée.

Module DATABASE & USER INTERFACE 193


Le choix de cette option vous amène dans l’assistant de création de sous-modèle. (Cf. fonction «
Arrangement automatique » du menu « Format »).
Nota : cette fonction peut également être lancée à posteriori.

29.3 - Reverse engineering via ODBC


Dans la boîte de dialogue « Reverse engineering » sélectionnez l’option
« Reverse ODBC », sélectionnez le SGBD dans la liste de choix, puis activez le bouton « Lancer ».

La boîte de sélection de la source de données s’affiche. Effectuez votre sélection et validez par
« OK ».

La boîte de dialogue « Reverse ODBC – Sélection des options d’extraction » s’affiche.

Groupe de choix « Reverse en table »

194 Documentation utilisateur


Cochez les options correspondant à vos choix d’extraction : tables, tables système, vues SQL,
synonymes ou tables appartenant à un propriétaire choisi dans la liste, puis activez le bouton
« Extraire tables » pour déclencher l’extraction.

La liste se remplit avec les tables extraites, correspondant à vos options.

Groupe de choix « Options d’extraction »


Les options grisées sont incompatibles avec le pilote ODBC du SGBD.
Les autres permettent d’associer à l’extraction des tables des éléments complémentaires comme
(suivant le SGBD) clés primaires, étrangères, contraintes de valuer, index, vues SQL, triggers,
procédures, règles et nombre d’occurrences.

Groupe de choix « Classer par »


Ce groupe propose des options de classement des tables extraites dans la liste, par type (par
référence aux options d’extraction), nom ou propriétaire.

Bouton « Infos table »


Pour obtenir un panneau d’informations vous indiquant quelques caractéristiques retournées par
ODBC sur une table, sélectionnez la table dans la liste, puis cliquez sur ce bouton, pour afficher les
informations.

Boutons « Tout sélectionner » « Tout désélectionner »


Utilisez ces boutons pour sélectionner ou désélectionner l’ensemble des tables présentées dans la
liste.

Module DATABASE & USER INTERFACE 195


Réactivez le bouton « Extraire tables » pour relancer l’extraction, puis validez par « OK ».

Win’Design propose ensuite l’optimisation du placement du modèle à générer (Cf. Fonction


« Arrangement automatique » du menu « Format »).

29.3.1 Options Reverse ODBC


Lorsque le reverse engineering s’effectue via ODBC, pour établir au préalable des
correspondances entre les types SQL et Win’Design, utilisez la fonction de paramétrage des
drivers : Menu « Bases de données – Paramétrage des drivers » - Onglet « Types ».

29.4 Reverse DAO


Sélectionnez l’option « Reverse DAO » dans la boîte de dialogue, puis activez le bouton
« Lancer ».

La boîte de dialogue « Ouvrir » s’affiche. Sélectionnez la base de données et validez par


« Ouvrir ». Le reverse est lancé.

En fin d’exécution, Win’Design propose l’optimisation du placement des objets (cf . Fonction
« Arrangement automatique » du menu « Format »).

196 Documentation utilisateur

Vous aimerez peut-être aussi