• Aucun résultat trouvé

MEGA Database Builder. Guide d utilisation

N/A
N/A
Protected

Academic year: 2022

Partager "MEGA Database Builder. Guide d utilisation"

Copied!
364
0
0

Texte intégral

(1)

MEGA Database Builder

Guide d’utilisation

(2)

MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l’objet de modifications sans préavis et ne sau- raient en aucune manière constituer un engagement de MEGA International.

Aucune partie de la présente publication ne peut être reproduite, enregistrée, traduite ou transmise, sous quelque forme et par quelque moyen que ce soit, sans un accord préalable écrit de MEGA International.

(3)

3

S OMMAIRE

Introduction . . . 15

Conventions utilisées dans ce guide. . . 17

Présentation de ce guide . . . 18

Modélisation conceptuelle . . . 19

Lancer MEGA Database Builder. . . 20

Le modèle de données . . . 22

Présentation . . . .22

Créer un modèle de données . . . .23

Le diagramme de données . . . 24

Créer un nouveau diagramme de données . . . .24

Afficher les éléments d’un diagramme . . . .24

Commenter le diagramme. . . .25

Fermer le diagramme . . . .26

Construire un diagramme de données . . . 27

Les entités . . . .27

Créer une entité . . . .28

Les attributs . . . .29

Définir les attributs . . . .30

Attributs hérités . . . .31

Les associations . . . .31

Créer une association. . . .32

Définir le rôle des associations . . . .33

Multiplicités. . . .33

Agrégation . . . .36

Composition . . . .37

Utiliser les associations réflexives . . . .37

Définir une association "plus que binaire" . . . .38

Généralisations . . . .39

Les contraintes . . . .43

(4)

Sommaire

Règles de normalisation . . . .45

Première forme normale . . . 45

Deuxième forme normale. . . 45

Troisième forme normale . . . 46

Identifiants et options SQL . . . .47

Définir l’identifiant d’une entité. . . 47

Identification par un attribut . . . 47

Identification relative . . . 48

Identifiant composé . . . 49

Options SQL des entités. . . 49

Options SQL des attributs . . . 50

Règles de modélisation de données . . . .51

Contrôler un modèle de données . . . 51

Les classes et le diagramme de classes . . . 53

Créer un paquetage. . . .54

Le diagramme de classes . . . .56

Créer un diagramme de classes . . . 56

Les Classes . . . .57

Propriétés des classes . . . 57

Onglet Caractéristiques . . . 57

Onglet Textes . . . 59

Les attributs . . . .60

Attributs d’une classe . . . 60

Types . . . 60

Rôles des associations . . . .62

Ordre . . . 62

Utiliser les classes d'association . . . 62

Base de données et modélisation logique . . . 63

La base de données. . . .64

Créer une base de données . . . 64

Propriétés d’une base de données. . . 64

Relier un modèle de données à une base de données . . . 65

Importer une version de SGBD . . . 65

Le diagramme relationnel . . . .67

Construire le diagramme relationnel . . . 67

La modélisation logique . . . .70

Les tables d’une base de données . . . 70

Créer une table . . . 71

Supprimer une table . . . 72

Les colonnes d'une table . . . 72

Visualiser les colonnes . . . 72

(5)

Sommaire

5

Créer une colonne . . . .73

Supprimer une colonne. . . .73

Modifier les clés et les index . . . .74

Créer une clé . . . .75

Clé primaire . . . .76

Clé étrangère . . . .76

Créer un index. . . .77

Ajouter une colonne à une clé ou un index . . . .78

Spécifier les clés primaires et étrangères . . . 79

Spécifier les clés primaires . . . .80

Spécifier les clés étrangères . . . .81

Colonne clé primaire de deux tables . . . .81

Colonne clé primaire de trois tables . . . .82

Règles de modélisation d’une base de données . . . 83

Synchronisation . . . 85

Règles de synchronisation "Conceptuel vers Logique" . . . 86

Entités . . . .86

Règle générale . . . .86

Sous-entité . . . .86

Entité abstraite . . . .86

Entité réalisée . . . .87

Associations . . . .87

Association contrainte (multiplicités : 0,1 ou 1,1) . . . .87

Association contrainte (multiplicités : 0,1 et 0,1). . . .89

Verrous croisés (dead locks) . . . .89

Association non-contrainte . . . .91

Classe associative (notation UML) . . . .91

Du modèle conceptuel au modèle logique . . . 92

Lancer la synchronisation . . . .92

Etape 1 : sélectionner les objets à synchroniser . . . .93

Etape 2 : options de synchronisation . . . .94

Etape 3 : protéger des objets . . . .94

Etape 4 : valider les résultats . . . .94

Cas d’emploi des options. . . .95

Prendre en compte les optimisations . . . .95

Prendre en compte les suppressions . . . .95

Combinaisons des options possibles . . . .96

Protéger des objets . . . .97

Mode Figé . . . .97

Mode Réalisé. . . .97

Résultats de la synchronisation : les correspondances . . . .98

Caractéristiques de la correspondance . . . .99

Synchronisation réduite (mode Conceptuel->Logique) . . . 100

Périmètre de la synchronisation réduite . . . 100

Périmètre étendu. . . 101

Lancer la synchronisation réduite. . . 102

(6)

Sommaire

Relancer la synchronisation après modifications . . . .104

Après modification du diagramme de données . . . 104

Création d’entités, d'associations et d'attributs dans le diagramme de données . . . 104

Suppression d’entités, d'associations, d'attributs dans le diagramme de données . . . 104

Modification des caractéristiques d'un attribut . . . 105

Modification du nom d'un attribut, d'une entité, ou d'une association . . . 105

Modification de la multiplicité maximum d'une association. . . 105

Modification des liens d'une association. . . 105

Après des modifications du diagramme relationnel . . . 106

Suppression d'une table ou d'une colonne . . . 106

Créations d'objets. . . 106

Modifications de caractéristiques d'objets créés par la synchronisation . . . 106

Modifications d'ordre. . . 106

Du modèle logique au modèle conceptuel . . . .107

Règles de synchronisation "Logique vers Conceptuel" . . . 107

Lancer la synchronisation. . . 109

Etape 1 : sélectionner les objets à synchroniser . . . 110

Etape 2 : options de synchronisation . . . 110

Etape 3 : protéger des objets. . . 111

Etape 4 : valider les résultats. . . 111

Synchronisation réduite. . . 111

Résultat de la synchronisation "Logique vers Conceptuel" . . . 112

Modèle de données détenteur . . . 112

Diagrammes de données . . . 112

Les correspondances. . . 112

Paramétrer la synchronisation . . . .113

Préparer la synchronisation . . . 113

Options de création . . . 114

Sur une base de données . . . 114

Sur le SGBD. . . 115

Paramétrer la génération des noms. . . 115

Règles de construction des noms . . . 115

Modifier une règle de construction . . . 117

Saisie du masque SQL. . . 118

Correspondance des modèles . . . 121

L’éditeur de base de données . . . .122

Créer une correspondance . . . 122

Supprimer une correspondance . . . 123

Détails des correspondances . . . .124

Propriétés d’une correspondance . . . 124

Rapport des correspondances. . . 125

Etat des objets . . . 125

Source de la correspondance . . . 126

Dessin de la correspondance . . . 127

(7)

Sommaire

7

Dénormalisation . . . 129

Principes de la dénormalisation . . . 130

Cohérence des modèles . . . 130

Report des correspondances . . . 130

Supprimer les objets sources . . . 130

Synchronisation et dénormalisation . . . 130

Combinaison des options de dénormalisation et synchronisation . . . 131

Dénormalisation : cas d’emploi . . . 131

Dénormalisation conceptuelle . . . 134

Lancer une dénormalisation conceptuelle . . . 134

Exemple de dénormalisation conceptuelle . . . 134

Liste des assistants de dénormalisation conceptuelle . . . 137

Dénormalisation logique. . . 142

Lancer une dénormalisation logique . . . 142

Exemple de dénormalisation logique . . . 142

Liste des assistants de dénormalisation logique . . . 145

Types des attributs et des colonnes . . . 149

Types de données des attributs . . . 150

Paquetages de types de données . . . 150

Créer un nouveau paquetage de types de données. . . 151

Créer un type de données. . . 151

Référencer un paquetage de types de données . . . 152

Affecter des types aux attributs . . . 152

Déduire les datatypes des colonnes à partir des types des attributs. . . 154

Types pivots . . . 154

Liste des types pivots. . . 154

Relier un type de données à un type pivot. . . 155

Relier un type de données à un type pivot dans la notation UML . . . 156

Correspondances entre types pivots et datatypes . . . 161

Créer de nouveaux datatypes. . . 164

Exemple pour Oracle 10 . . . 164

Objectif . . . 164

Etapes . . . 164

Conditions préalables . . . 164

Créer un nouveau datatype. . . 165

Relier le datatype au type pivot . . . 166

Paramétrer les conditions sur les liens . . . 167

Vérifier les datatypes . . . 169

Exemple pour SQL Server 7. . . 169

Objectif . . . 169

Créer un nouveau datatype. . . 169

Relier le datatype au type pivot . . . 170

Paramétrer les conditions sur les liens . . . 170

(8)

Sommaire

Génération SQL . . . 171

Lancer la génération SQL . . . .172

Objets de la génération SQL. . . 172

Lancer l’assistant de génération . . . 172

Génération incrémentale. . . .176

Objets de la génération incrémentale . . . 176

Lancer la génération incrémentale . . . 176

Options de la génération . . . 176

Lancer l’assistant de génération . . . 176

Générer plusieurs bases sous un composant . . . .179

Paramétrer la génération . . . .181

Paramétrer la version de SGBD . . . 181

SGBD et versions supportées . . . 181

Modifier les propriétés de la version de SGBD . . . 181

Créer une nouvelle version de SGBD. . . 183

Dupliquer une version de SGBD . . . 183

Paramétrer la génération d'une base de données . . . 184

Syntaxe supportée . . . .187

Instruction CREATE TABLE . . . 187

Gestion de NOT NULL . . . 187

Clause PRIMARY KEY. . . 188

Clause FOREIGN KEY . . . 188

Clause UNIQUE . . . 190

Instruction CREATE INDEX (Oracle, Sybase, SQL Server) . . . 190

Définition d'un index . . . 190

Traitement et génération des ordres SQL . . . 191

Clause CREATE VIEW . . . 191

Options SQL avancées . . . 193

Définir les vues d'une base de données . . . .194

Créer les vues d’une base de données . . . 194

Définition SQL . . . 195

Jointures de vue. . . 195

Mode utilisateur . . . 195

Champs. . . 196

Exemple de vue . . . 196

Définir un groupement de données . . . 198

Compléter les objets . . . 199

Définir les triggers pour une base de données . . . .201

Créer un trigger . . . 201

Intégrité référentielle . . . 203

Utiliser des procédures stockées . . . .204

Ajouter des propriétés physiques aux objets d’une base de données . . . .206

SGBD cibles . . . 206

Afficher le mode physique . . . 206

(9)

Sommaire

9

Objets contenant des paramètres physiques . . . 207

Créer une nouvelle clause. . . 207

Relier une clause . . . 208

Nommage des clauses . . . 209

Générer le fichier SQL. . . 210

Exemple de personnalisation d’un modèle logique . . . 210

Rétro-génération . . . 215

Lancer la rétro-génération . . . 216

Utiliser un profil de connexion . . . 219

Reconnaissance des datatypes par ODBC. . . 221

Problèmes de reconnaissance des datatypes . . . 222

Rétro-génération de scripts DB2 OS/390 V5 . . . 224

Concepts reconnus . . . 224

Mise en oeuvre . . . 224

Analyseur syntaxique . . . 225

Rétro-génération des propriétés physiques . . . 226

Valeurs par défaut . . . 226

Elimination des valeurs redondantes et transverses . . . 226

Cas spécifiques . . . 227

Propriétés physiques des tablespaces. . . 227

Rétro-génération des clusters . . . 227

Utilitaire d’extraction ODBC . . . 229

Extraire la description d’une base de données. . . 230

Fichier de compte-rendu de l'extraction . . . 232

Fichier résultat de l'extraction . . . 233

Personnaliser l’extraction ODBC . . . 234

Restrictions sur certains pilotes . . . 235

Format des clauses SELECT . . . 236

Clés primaires . . . 236

Clés étrangères . . . 237

Index . . . 238

Import ERwin . . . 239

Présentation de l’import ERwin . . . 240

Lancer l’import Erwin . . . 240

Correspondance des objets ERwin/MEGA . . . 242

Notations . . . 242

(10)

Sommaire

Modèle de données . . . 242

Subject areas. . . 242

Diagramme de données . . . 243

Types de données . . . 243

Nom des types de données . . . 244

Tableau de correspondance des concepts ERwin/MEGA . . . 244

Traçabilité . . . .247

Import PowerAMC . . . 249

Présentation de l’import PowerAMC . . . .250

Lancer l’assistant d’import . . . 250

Correspondance des objets PowerAMC/MEGA . . . .251

Modèle de données . . . 251

Notation . . . 251

Objets du modèle . . . 251

Relation et association . . . 252

Attributs . . . 252

Diagramme de données . . . 252

Package. . . 253

Type de données . . . 253

Tableau de correspondance des concepts PowerAMC/MEGA . . . 254

Reprise des types de données. . . .259

Nom des types de données . . . 259

Exemples de reprise de types de données . . . 259

Liste des types standard de PowerAMC . . . 260

Notes de traçabilité . . . 261

Traçabilité . . . .262

Import Oracle Designer . . . 263

Présentation de l’import Oracle Designer . . . .264

Périmètre d'application . . . 264

Lancer l'import Oracle Designer . . . 264

Correspondance des objets Oracle Designer/MEGA . . . .265

Modèles importés . . . 265

Tableau de correspondance . . . 265

Correspondance des objets . . . 265

Correspondance des liens . . . 266

Glossaire . . . 267

. . . 267

(11)

Sommaire

11

agrégation. . . 267

association . . . 267

attribut . . . 267

base de données . . . 267

classe d’association . . . 267

classe . . . 267

clé . . . 268

cluster . . . 268

colonne. . . 268

composition. . . 268

contrainte . . . 268

dénormalisation . . . 268

diagramme relationnel . . . 268

diagramme de classes . . . 268

entité . . . 269

généralisation . . . 269

groupement de données . . . 269

identifiant . . . 269

index . . . 269

métamodèle . . . 269

modèle de données . . . 269

mot-clé . . . 269

multiplicité . . . 270

objet . . . 270

paquetage de types de données. . . 270

persistance . . . 270

procédure stockée . . . 270

projet . . . 270

rôle . . . 270

séquence . . . 270

stéréotype. . . 270

synchronisation . . . 271

synonyme . . . 271

table. . . 271

trigger . . . 271

type de données . . . 271

vue. . . 271

Tableaux de correspondances entre types pivots et datatypes . . . 273

DB2 OS/390 Version 5 . . . 274

Pivot --> Datatype (DB2 OS/390 Version 5) . . . 274

Datatype --> Pivot (DB2 OS/390 Version 5) . . . 275

DB2 OS/390 Version 7 . . . 277

Pivot --> Datatype (DB2 OS/390 Version 7) . . . 277

Datatype --> Pivot (DB2 OS/390 Version 7) . . . 278

DB2 for z/OS Version 8 . . . 281

Pivot --> Datatype (DB2 for z/OS Version 8). . . 281

Datatype --> Pivot (DB2 for z/OS Version 8). . . 282

(12)

Sommaire

DB2 for z/OS Version 9 . . . .285

Datatype -> Pivot (DB2 for z/OS Version 9). . . 285

DB2 Universal Database Version 5 . . . .289

Pivot --> Datatype (DB2 Universal Database Version 5) . . . 289

Datatype --> Pivot (DB2 Universal Database Version 5) . . . 290

DB2 Universal Database Version 7 . . . .292

Pivot --> Datatype (DB2 Universal Database Version 7) . . . 292

Datatype --> Pivot (DB2 Universal Database Version 7) . . . 293

DB2 Universal Database Version 8 . . . .295

Pivot --> Datatype (DB2 Universal Database Version 8) . . . 295

Datatype --> Pivot (DB2 Universal Database Version 8) . . . 296

DB2 Universal Database Version 9 . . . .298

Pivot --> Datatype (DB2 Universal Database Version 9) . . . 298

Datatype --> Pivot (DB2 Universal Database Version 9) . . . 299

Pivot --> Datatype (DB2 Version 9 For OS) . . . 301

Datatype --> Pivot (DB2 Version 9 For OS) . . . 302

Informix Dynamic Server 7.3 . . . .305

Pivot --> Datatype (Informix Dynamic Server 7.3) . . . 305

Datatype --> Pivot (Informix Dynamic Server 7.3) . . . 306

Ingres II 2.0 . . . .307

Pivot --> Datatype (Ingres II 2.0) . . . 307

Datatype --> Pivot (Ingres II 2.0) . . . 308

MySQL 4.1 . . . .309

Pivot --> Datatype (MySQL 4.1). . . 309

Datatype --> Pivot (MySQL 4.1). . . 313

MySQL 5.0 . . . .319

Pivot --> Datatype (MySQL 5.0). . . 319

Datatype --> Pivot (MySQL 5.0). . . 323

Oracle 10 . . . .329

Pivot --> Datatype (Oracle 10) . . . 329

Datatype --> Pivot (Oracle 10) . . . 330

Oracle 11 . . . .332

Pivot --> Datatype (Oracle 11) . . . 332

Datatype --> Pivot (Oracle 11) . . . 333

Oracle 8 . . . .335

Pivot --> Datatype (Oracle 8) . . . 335

Datatype --> Pivot (Oracle 8) . . . 336

Oracle 9i . . . .337

Pivot --> Datatype (Oracle 9i) . . . 337

Datatype --> Pivot (Oracle 9i) . . . 338

SQL ANSI/ISO 9075:1992. . . .340

Pivot --> Datatype (SQL ANSI/ISO 9075:1992) . . . 340

Datatype --> Pivot (SQL ANSI/ISO 9075:1992) . . . 341

SQL Server 2000 . . . .342

Pivot --> Datatype (SQL Server 2000) . . . 342

Datatype --> Pivot (SQL Server 2000) . . . 343

SQL Server 2005 . . . .345

Pivot --> Datatype (SQL Server 2005) . . . 345

Datatype --> Pivot (SQL Server 2005) . . . 346

(13)

Sommaire

13

SQL Server 7 . . . 348

Pivot --> Datatype (SQL Server 7). . . 348

Datatype --> Pivot (SQL Server 7). . . 349

Sybase Adaptive Server 11. . . 350

Pivot --> Datatype (Sybase Adaptive Server 11) . . . 350

Datatype --> Pivot (Sybase Adaptive Server 11) . . . 351

Sybase Adaptive Server 12.5 . . . 353

Pivot --> Datatype (Sybase Adaptive Server 12.5) . . . 353

Datatype --> Pivot (Sybase Adaptive Server 12.5) . . . 354

Index . . . 357

(14)

Sommaire

(15)

15

I NTRODUCTION

Une base de données décrit l’organisation d’un système sous forme d’un ensemble de données stockées de façon structurée.

La conception d’une base de données s’inscrit dans un processus d’analyse qui couvre différents niveaux :

Niveau conceptuel : s’adresse à la maîtrise d’ouvrage qui souhaite élaborer des modèles généraux orientés métier. Il s'agit ici de modéliser les données d'un domaine, d'une application ou encore d'un processus. Il représente ce que l’on veut faire, à quoi l’on veut arriver, indépendamment des questions techniques liées à la mise en oeuvre. La représentation des données se fait dans un modèle de données.

Niveau logique (ou relationnel) : consiste à définir les modèles destinés à persister dans un SGBD. Il s'agit de spécifications détaillées en vue de la réalisation du schéma physique de la base. Il est représenté par le diagramme relationnel.

Niveau physique : définit la façon selon laquelle sont stockées les données et les méthodes pour y accéder. Il permet l’exploitation des données par les SGBD. La gestion des propriétés physiques se fait dans l’éditeur de la base de données.

MEGA Database Builder gère ces trois niveaux de modélisation et permet le passage d’un modèle à un autre. Vous pouvez ainsi :

• Construire un diagramme de données.

• Créer, à partir de ce diagramme de données, les tables d’une base de données, avec ses colonnes, index et clés ainsi que les dessins du diagramme relationnel correspondant.

• Optimiser le diagramme relationnel obtenu et générer les ordres SQL de définition des tables. MEGA Database Builder permet en particulier de

(16)

Introduction

prendre en compte des évolutions du modèle conceptuel sans perdre les optimisations effectuées sur le diagramme relationnel.

• Rétro-générer la définition d’une base de données à l’aide du protocole ODBC, pour créer les tables et colonnes correspondantes dans MEGA Database Builder, et obtenir le diagramme de données correspondant.

Pour utiliser les fonctionnalités de MEGA Database Builder, vous devez être en mode "Avancé" :

³ Cliquez sur le menu Outils > Options de MEGA, puis sous le dossier Référentiel, vérifiez que l’accès au référentiel est en mode "Avancé".

(17)

17 Introduction Conventions utilisées dans ce guide

C ONVENTIONS UTILISÉES DANS CE GUIDE

Remarque sur les points qui précèdent.

Définition des termes employés.

Astuce qui peut faciliter la vie de l’utilisateur.

Compatibilité avec les versions précédentes.

Ce qu’il faut éviter de faire.

Les commandes sont présentées ainsi : Fichier > Ouvrir.

Les noms de produits et de modules techniques sont présentés ainsi : MEGA.

Remarque très importante à prendre en compte pour ne pas commettre d’erreurs durant une manipulation.

(18)

Introduction

P RÉSENTATION DE CE GUIDE

Le guide MEGA Database Builder traite les points suivants :

• "Modélisation conceptuelle", page 19, présente les diagrammes de données utilisés par MEGA Database Builder.

• "Les classes et le diagramme de classes", page 53, décrit les caractéristiques disponibles sur les classes.

• "Base de données et modélisation logique", page 63 indique comment créer une base de données et son diagramme relationnel.

• "Synchronisation", page 85, décrit comment synchroniser

automatiquement un modèle conceptuel de données avec une base de données décrite en formalisme relationnel, et vice versa.

• "Correspondance des modèles", page 121, présente l’application qui permet de mettre en correspondance les différentes vues d’une base de données.

• "Dénormalisation", page 129, explique comment modifier des modèles en fonction de besoins spécifiques.

• "Types des attributs et des colonnes", page 149, présente les types de données des attributs et leur correspondance avec les datatypes des colonnes.

• "Génération SQL", page 171, présente la génération des ordres SQL de définition des tables à partir des spécifications effectuées avec MEGA Database Builder.

• "Options SQL avancées", page 193, décrit l’utilisation des vues, triggers, procédures stockées, ainsi que l’ajout de propriétés physiques sur les objets d’une base de données.

• "Rétro-génération", page 215, présente comment créer les tables et les colonnes dans MEGA Database Builder à partir des bases de données accessibles par le protocole ODBC, et proposer le diagramme de classes correspondant en formalisme UML.

• "Utilitaire d’extraction ODBC", page 229, décrit l’utilitaire utilisé pour l’accès aux bases de données.

• "Import ERwin", page 239, explique comment importer dans MEGA un modèle créé dans ERwin.

• "Import PowerAMC", page 249, explique comment importer dans MEGA un modèle créé dans Power AMC.

• "Import Oracle Designer", page 263, explique comment importer dans MEGA un modèle créé dans Oracle Designer.

• "Glossaire", page 267, présente les définitions des objets manipulés dans MEGA Database Builder.

• "Tableaux de correspondances entre types pivots et datatypes", page 273, liste les tableaux de correspondances entre les types pivots et les datatypes de tous les SGBD concernés.

Ce guide est complété par le guide MEGA Common Features qui présente les fonctionnalités communes à tous les produits de la gamme MEGA, ainsi que par l'aide en ligne, accessible par la touche <F1>, qui permet d'accéder à une aide contextuelle sur chaque fenêtre de MEGA Database Builder.

(19)

1

19

M ODÉLISATION CONCEPTUELLE

La première étape de modélisation des données s’effectue au niveau conceptuel. Pour vous aider à décrire les données métiers, MEGA Database Builder propose une notation simple permettant de représenter tous les cas courants et basée sur le modèle de données.

Un modèle de données permet de représenter la structure statique d’un système, en particulier les types d'objets manipulés dans le système, leur structure interne et les relations qui existent entre eux.

D’autres notations (IDEF1X, IE, Merise) sont également disponibles. Pour plus d’informations, voir le chapitre "Autres notations" du guide MEGA Business Data.

Pour la modélisation avec la notation UML, voir "Les classes et le diagramme de classes", page 53.

Les points suivants sont abordés ici :

"Lancer MEGA Database Builder", page 20 "Le modèle de données", page 22

"Le diagramme de données", page 24

"Construire un diagramme de données", page 27 "Règles de normalisation", page 45

"Identifiants et options SQL", page 47

"Règles de modélisation de données", page 51

(20)

1

L ANCER MEGA D ATABASE B UILDER

Pour lancer MEGA Database Builder : 1. Double-cliquez sur l’icône MEGA :

La fenêtre d'identification apparaît.

2. Sélectionnez l'utilisateur "Mister Guide".

La flèche verticale permet de faire apparaître la liste des utilisateurs. Elle est disponible tant que le nombre d’utilisateurs est inférieur à un nombre défini par l’administrateur. Si elle est absente, tapez votre nom d’utilisateur MEGA.

Le mot de passe de l’utilisateur vous est demandé dans cette fenêtre si l’utilisateur en a un. L'utilisateur "Mister Guide" n'a pas de mot de passe : il a été installé pour vous guider pendant votre découverte de MEGA.

3. Sélectionnez la base "MEGA (Tutorial)".

Comme pour les utilisateurs, la flèche verticale vous permet de faire apparaître la liste des bases. Lorsque vous commencez à modéliser les données de votre entreprise, il est conseillé de créer une nouvelle base dans un nouvel environnement. La base MEGA (Tutorial) est disponible dans l’environnement de démonstration.

Pour en savoir plus sur les bases et les environnements, reportez-vous au guide MEGA Administration.

(21)

21 Modélisation conceptuelle

Lancer MEGA Database Builder

L'espace de travail de "Mister Guide" dans la base "MEGA (Tutorial)" apparaît.

Espace de travail de l’utilisateur Mister Guide dans la base "MEGA (Tutorial)"

Selon les produits MEGA dont vous disposez, vous visualisez certains types d’objets seulement.

L’espace de travail contient les objets utilisés comme exemples dans ce guide.

Par défaut, l’espace de travail MEGA se compose de deux zones principales :

• La zone des navigateurs et outils, qui permet de naviguer dans le référentiel et d’accéder aux objets principaux.

• La zone d’édition, qui sert principalement à ouvrir et à éditer les diagrammes.

Vous disposez également d’une barre de recherche en haut de l’espace de travail pour effectuer des recherches dans l’ensemble du référentiel.

Vous pouvez quitter MEGA Database Builder en sélectionnant, dans le menu Fichier, la commande Quitter. Une fenêtre présentant plusieurs options s'affiche. Cliquez sur Oui (publier les modifications).

(22)

1

L E MODÈLE DE DONNÉES

Le modèle de données est le point de départ du processus de description des données. Il permet d’élaborer des modèles généraux orientés métier, indépendamment des questions de mise en oeuvre physique.

Une base de données peut être reliée dès sa création à un modèle de données. C’est sur cette base de données que pourront se lancer par la suite les différents outils de traitements des données (génération, synchronisation etc.).

Présentation

Le modèle de données permet de représenter la structure statique d'un système, en particulier les types d’objets manipulés dans le système, leur structure interne et les relations qui existent entre eux.

Un objet est une entité avec une identité et des frontières

clairement définies dont l'état et le comportement sont encapsulés. Son état est défini par les valeurs de ses attributs et de ses liens avec d'autres objets. Un objet est une instance de classe.

Exemples d'objets :

• Objets de gestion :

• Jacques Dupond, Pierre Durand, Paul Smith sont des instances de la classe "personne".

• Les commandes no 10533 et 7322 sont des instances de la classe

"commande".

• Ecran SPD-1730 est une instance de la classe "article".

(23)

23 Modélisation conceptuelle

Le modèle de données

Modéliser les données consiste à identifier les entités considérées d'intérêt pour représenter l'activité de l'entreprise, et définir les associations qui existent entre elles. Il faut que les entités et les associations qui constituent le diagramme de données associé à un secteur de l'entreprise suffisent à le décrire complètement sur le plan sémantique. En d'autres termes, on doit pouvoir décrire l'activité de l'entreprise en utilisant seulement ces entités et associations.

Ceci n'implique pas que, pour chaque mot ou verbe utilisé pour cette explication, il y ait un correspondant direct dans le diagramme de données. Il s'agit de pouvoir traduire ce que l'on veut exprimer, au travers des entités et des associations.

La spécification des diagrammes de données est souvent considérée comme la partie la plus importante dans la modélisation d'un système d'information.

Créer un modèle de données

Le modèle de données est destiné à contenir les éléments modélisés. Il est décrit par un ou plusieurs diagrammes de données.

Il est également détenteur des entités et des associations issues d'une synchronisation (logique vers conceptuel). Pour plus de détails sur la synchronisation, voir "Synchronisation", page 85.

Pour créer un modèle de données :

1. Dans MEGA, cliquez sur la fenêtre de navigation Objets principaux.

2. Cliquez avec le bouton droit sur le dossier "Modèle de données" et sélectionnez Nouveau > Modèle de données.

3. Dans la fenêtre qui s’affiche, saisissez son nom.

Le modèle de données créé apparaît dans le navigateur.

Vous pouvez également créer un modèle de données depuis une base de données. Voir "Relier un modèle de données à une base de données", page 65.

(24)

1

L E DIAGRAMME DE DONNÉES

Un diagramme de données est la représentation graphique du modèle ou d’une partie du modèle.

Lorsque vous créez un modèle de données depuis une base de données, le diagramme de données correspondant est également créé.

Par la suite, vous pouvez relier au modèle de données de nouveaux diagrammes de données.

Créer un nouveau diagramme de données

Pour créer un nouveau diagramme de données :

1. Cliquez avec le bouton droit sur le modèle de données.

2. Sélectionnez Nouveau > Diagramme.

Afficher les éléments d’un diagramme

Il est possible de préciser les éléments qui doivent apparaître dans le diagramme à l’aide du menu Affichage > Vues et détails. La fenêtre qui s’affiche permet de définir :

• les types d’objets présentés ou non dans le diagramme.

• les caractéristiques de ces objets qui doivent être présentées.

Pour paramétrer l'affichage d'un ou plusieurs objets sélectionnés :

³ Activez la commande Formes et détails de leur menu contextuel.

La fenêtre de sélection des éléments à afficher est présentée.

(25)

25 Modélisation conceptuelle

Le diagramme de données

La sélection d'un élément dans l'arborescence permet d'indiquer, dans l'onglet de droite, quelles caractéristiques doivent être présentées. Le contenu de l'onglet varie en fonction de l'élément sélectionné dans l'arborescence.

Lorsque l'affichage concerne un objet, la fenêtre Affichage présente d'abord les formes qu'il est possible d'utiliser pour la présentation de l'objet. La sélection d'un élément dans l'arborescence provoque l'affichage de l'onglet correspondant.

Par exemple, il est possible d'indiquer, pour une entité, quels seront les attributs présentés Avec les caractéristiques qui apparaîtront ou non dans le diagramme.

³ Dans la liste Affichage de, sélectionnez une des options : Toutes, Aucune, ou Certaines ; l’option Certaines permet de définir, dans la liste, les attributs qui apparaîtront dans le diagramme.

Vous pouvez cacher ou rendre visible le compartiment présentant les attributs dans le dessin de l’entité, en activant ou désactivant la case à cocher devant Affichage de.

Commenter le diagramme

Vous pouvez saisir un commentaire pour chacun des éléments présents dans le diagramme.

(26)

1

Pour éviter d'ouvrir et fermer la fenêtre de commentaire pour chaque élément, sélectionnez le menu Affichage > Fenêtre d’édition > Commentaire.

La fenêtre générale de saisie de commentaire s'ouvre en bas de l'écran. Elle présente le commentaire de l’entité sélectionnée.

A chaque fois que vous cliquez sur un élément du dessin, cette fenêtre présente le commentaire de cet élément et vous pouvez le modifier.

Fermer le diagramme

Vous pouvez refermer le diagramme :

• par la commande Fichier > Quitter si le diagramme est ouvert dans une fenêtre indépendante

• par la commande Fermer du menu contextuel de l’onglet s’il est ancré dans l’espace de travail

Une fenêtre vous demande d'enregistrer les modifications du diagramme si vous ne l'avez pas fait auparavant.

³ Cliquez sur le bouton Oui, le diagramme se referme.

Vous êtes maintenant de nouveau dans l’espace de travail.

(27)

27 Modélisation conceptuelle Construire un diagramme de données

C ONSTRUIRE UN DIAGRAMME DE DONNÉES

Dans MEGA Database Builder, un diagramme de données est représenté par :

• des entités, qui représentent les concepts de base (client, compte, produit, etc.).

• des associations, qui définissent les relations entre les différentes entités.

• des attributs, qui décrivent les caractéristiques des entités et, dans certains cas, des associations.

Le diagramme de données est complété avec la définition des multiplicités.

Pour la génération SQL des entités et des attributs, référez-vous au chapitre

"Identifiants et options SQL", page 47.

Les entités

Une entité est un regroupement d'objets possédant des

caractéristiques communes et un comportement semblable. Les entités persistantes sont des éléments de gestion considérés d'intérêt pour représenter l'activité de l'entreprise et donc conservés à cet effet. Elles donneront lieu à des tables dans la base de données relationnelle.

Une entité est décrite par une liste d'attributs.

Une entité est reliée à d'autres entités via des associations. L'ensemble des entités et des associations constitue le noyau d'un diagramme de données.

Nous pouvons illustrer la notion d’entité en comparant les entités à des fiches dans des tiroirs.

(28)

1

Les entités peuvent représenter des objets de gestion.

Exemples : Client, Commande, Produit, Personne, Société, etc.

Les entités peuvent représenter des objets techniques utilisés dans l'industrie.

Exemples : Alarme, Capteur, Zone

Créer une entité

Pour créer une entité :

1. Cliquez sur le bouton Entité (MD) dans la barre d’objets.

2. Cliquez sur le plan de travail du diagramme.

La fenêtre Ajout d'une entité s'ouvre.

3. Saisissez le Nom de l’entité, "Entité 1" : le bouton Créer n’est plus grisé.

Quand le bouton OK ou Créer est grisé, c'est que la fenêtre où il apparaît n'a pas été complètement renseignée.

4. Cliquez sur Créer.

L’entité est alors posée dans le diagramme.

5. Cliquez sur l’entité "Entité 1" puis déplacez-la en maintenant le bouton gauche de la souris enfoncé.

Vous pouvez par exemple la positionner en haut à gauche du dessin.

6. Cliquez ensuite sur une des poignées noires qui délimitent l’entité pour la retailler et l’ajuster au texte.

7. Créez de la même façon les entités "Entité 2", "Entité 3", "Entité 4" et

"Entité 5".

Vous pouvez créer plusieurs entités à la suite sans revenir à la barre d’objets en double-cliquant sur le bouton Entité. Pour revenir ensuite au mode normal, utilisez la touche <Echap>, ou cliquez sur la flèche de la barre d'outils.

(29)

29 Modélisation conceptuelle Construire un diagramme de données

Vous obtenez le dessin suivant :

Vous pouvez affecter la même taille à plusieurs éléments en leur appliquant la commande Retailler à l'identique du menu Dessin après les avoir sélectionnés.

Vous pouvez de même les aligner à l'aide de la commande Aligner de ce menu.

Le dernier élément sélectionné est pris comme référence. Pour sélectionner plusieurs éléments, cliquez successivement sur chaque élément en maintenant la touche <Majuscules> enfoncée.

Les objets que vous créez, ainsi que leurs caractéristiques et leurs liens sont enregistrés automatiquement à chaque fois que le pointeur prend la forme

Pour enregistrer tous les changements graphiques effectués dans le diagramme, cliquez sur le bouton Enregistrer

Les attributs

Les entités et les associations peuvent être caractérisées par des attributs.

(30)

1

Ces attributs ont pu, par exemple, être révélés par l'étude du contenu des messages qui circulent à l'intérieur de l'entreprise.

Un attribut est une propriété nommée d'une entité. C'est la donnée élémentaire mémorisée dans le système d'information de l'entreprise.

Exemples :

• "Nom du client" (attribut de l’entité client).

• "N° client" (identifiant de l’entité client).

• "Solde du compte" (attribut de l’entité compte).

Un attribut caractérise une association quand l'attribut dépend de l'ensemble des entités participant à l'association.

Dans le diagramme présenté ci-après, le rôle qu'un "Consultant" a joué sur un

"Contrat" dépend du consultant et du contrat, donc de l'association "Intervenir".

Définir les attributs

Nous allons compléter le diagramme en saisissant les attributs disponibles sur les entités ainsi que le commentaire des éléments qui y sont représentés.

Nous allons par exemple décrire de manière détaillée l’entité "Entité 1". Pour cela : 1. Dans le menu contextuel de l’entité "Entité 1", sélectionnez la commande

Attributs.

La fenêtre des propriétés d'une entité s'ouvre.

Propriétés de l’entité "Entité 1", onglet Attributs

2. Pour ajouter un nouvel attribut à l’entité, cliquez sur le bouton

Un nom vous est automatiquement proposé pour ce nouvel attribut. Vous pouvez le modifier.

(31)

31 Modélisation conceptuelle Construire un diagramme de données

Vous pouvez préciser son Type, . Exemple : Numérique.

Un type de données permet de mettre en commun des caractéristiques communes à plusieurs attributs.

Voir "Types des attributs et des colonnes", page 149 pour plus de détails sur les types qui peuvent être affectés à un attribut.

Voir aussi "Attributs d’une classe", page 60.

Attributs hérités

Lorsqu'une généralisation existe entre une entité générale et une entité particulière, l’entité particulière hérite des attributs de l’entité générale.

Voir "Généralisations", page 39.

Les associations

Une association est une relation entre deux ou plusieurs entités.

Elle peut comporter des attributs qui caractérisent l'association entre ces entités.

Les associations peuvent être comparées à des liens entre des fiches.

Le dessin suivant permet de visualiser "en trois dimensions" les situations qu'un diagramme de données permet de mémoriser.

Pierre et Marie sont des clients. Pierre a effectué les réservations numéros 312 et 329.

Un diagramme de données doit permettre de mémoriser toutes les situations du contexte de l'entreprise, mais rien que celles-là.

Le diagramme ne doit pas permettre de représenter des situations irréalistes ou aberrantes.

(32)

1

Exemples d'association :

• Un client passe une commande.

• Une commande comprend plusieurs produits.

• Une personne travaille pour une société.

• Une alarme est déclenchée par un capteur.

• Un capteur couvre une zone.

• Une fenêtre affiche une chaîne de caractères.

Créer une association

Pour créer une association :

1. Dans la barre d’objets du diagramme, cliquez sur le bouton Association

2. Cliquez sur une des entités concernées, par exemple "Entité 1" et, en gardant le bouton de la souris enfoncé, déplacez le pointeur jusqu’à la deuxième entité, par exemple "Entité 2", avant de relâcher votre pression.

L'association apparaît sous forme d'un trait.

3. Pour préciser le nom de l’association, ouvrez sa fenêtre de propriétés à partir de son menu contextuel.

Vous pouvez saisir son nom dans l’onglet Caractéristiques, dans le champ Nom Local

En cas d'erreur, vous pouvez supprimer un élément ou un lien en sélectionnant la commande Supprimer du menu contextuel de l'élément ou du lien.

4. Créez de même l’"Association 2" entre les entités 1 et 3 et l’"Association 3" entre les entités 3 et 4.

(33)

33 Modélisation conceptuelle Construire un diagramme de données

Vous obtenez le dessin suivant :

Définir le rôle des associations

Un rôle permet d’indiquer une des entités concernées par

l’association. L’indication des rôles est particulièrement importante dans le cas d'une association entre une entité et elle-même.

Chaque extrémité d'une association permet de préciser le rôle joué par chaque entité dans l'association.

Visuellement, le nom du rôle se distingue du nom d'une association, car il est placé près de son extrémité. De plus, il apparaît en caractères droits, alors que le nom de l'association est en italique.

La barre d’état (située au bas de la fenêtre) permet aussi de distinguer les différentes zones : lorsque vous déplacez la souris le long de l'association, elle indique si vous vous trouvez sur l'association ou sur un rôle.

Lorsque deux entités sont reliées par une seule association, le nom des entités suffit souvent à caractériser le rôle ; nommer les rôles prend tout son intérêt lorsque plusieurs associations relient deux entités.

Multiplicités

Chaque rôle d'une association porte une indication de multiplicité qui montre combien d'objets de l’entité considérée peuvent être liés à un objet de l'autre entité.

La multiplicité est une information portée par le rôle, sous la forme d'une expression entière bornée. On l'indique en particulier pour chacun des rôles que jouent les entités dans une association.

(34)

1

La multiplicité exprime le nombre de participations minimum et maximum d'un objet donné d'une entité à une association.

Les multiplicités usuelles sont "1", "0..1", "*" ou "0..*", "1..*", et "M..N" où "M" et

"N" sont des entiers :

• La multiplicité "1" indique que chaque objet de l’entité est relié par cette association une fois et une seule.

• La multiplicité "0..1" indique qu’un objet de l’entité ne peut être relié par cette association qu’une fois au plus.

• La multiplicité "*" ou "0..*" indique qu’un objet de l’entité peut être relié par l’association une ou plusieurs fois ou pas du tout.

• La multiplicité "1..*" indique que chaque objet de l’entité est

obligatoirement relié par l’association et qu’il peut l’être plusieurs fois.

• La multiplicité "M..N" indique que chaque objet de l’entité est obligatoirement relié par l’association au moins "M" fois et qu’il peut l’être au maximum "N" fois.

Exemple :

1 Un et un seul 0..1 Zéro ou un

M..N De M à N (entiers naturels)

* De zéro à plusieurs 0..* De zéro à plusieurs 1..* De un à plusieurs

0..1 A une commande correspond une facture au maximum ou aucune.

* Aucune restriction n'est imposée sur le nombre de factures correspondant à une commande.

1 A chaque commande correspond une facture et une seule.

1..* A chaque commande correspond une ou plusieurs factures.

(35)

35 Modélisation conceptuelle Construire un diagramme de données

Autres exemples de multiplicité :

Pour préciser la multiplicité d'un rôle :

³ Ouvrez le menu contextuel du rôle en cliquant avec le bouton droit sur le trait qui se trouve entre l’association et l’entité, et sélectionnez la commande Multiplicité.

1..* Un client peut passer une ou plusieurs commandes.

1 Une commande est passée par un et un seul client.

1..* Une commande comprend un ou plusieurs produits.

* Un produit peut faire partie de plusieurs commandes, ou d'aucune.

0..1 Une personne travaille pour une société.

1..* Une alarme est déclenchée par un ou plusieurs capteurs.

1 Un capteur couvre une et une seule zone.

1..* Une fenêtre affiche une ou plusieurs chaînes de caractères.

(36)

1

La multiplicité apparaît alors sur le rôle.

Si le menu affiché ne propose pas les multiplicités, vérifiez que vous avez bien cliqué sur la partie du trait qui matérialise le rôle, et non l'association.

Toutes les informations précisées avec le menu contextuel peuvent être consultées et modifiées dans la fenêtre de propriétés du rôle.

Agrégation

L'agrégation est une forme particulière d'association qui indique que l'une des entités contient l'autre.

Exemple d’agrégation:

Une voiture comprend un châssis, un moteur et des roues.

³ Sur le rôle joué par l’ "Entité 3" dans son association avec l’ "Entité 1", sélectionnez Tout/Partie > Agrégat.

Un losange représentant l'agrégation apparaît alors sur le rôle.

(37)

37 Modélisation conceptuelle Construire un diagramme de données

Composition

La composition est une agrégation forte pour laquelle la durée de vie des composants coïncide avec celle du composé. Une composition est une agrégation immuable avec une multiplicité 1.

Exemple de composition:

Une commande est composée de plusieurs lignes de commande qui n'existent plus si la commande est supprimée.

La composition est matérialisée par un losange noir.

³ Pour préciser la composition d’un rôle, choisissez comme précédemment Tout/Partie > Composé sur le rôle à l’aide du menu contextuel de ce rôle.

Utiliser les associations réflexives

Certaines associations mettent en jeu plusieurs fois la même entité.

Une salle de classe, un bâtiment, un établissement scolaire sont tous des lieux.

Une salle de classe est contenue dans un bâtiment, lui-même contenu dans un établissement scolaire.

Une association réflexive porte deux fois sur la même entité.

Pour créer une association réflexive :

1. Cliquez sur le bouton Association de la barre d’objets.

(38)

1

2. Cliquez dans l’entité concernée et faites glisser la souris en dehors de cette entité, puis revenez-y ; relâchez ensuite le bouton de la souris.

L'association réflexive apparaît sous forme d'un demi-cercle en ligne brisée.

Dans le cas d'une association entre une entité et elle-même, il est indispensable de préciser les rôles afin de distinguer les liens

correspondants dans le dessin.

"Père" et "Fils" sont les deux rôles joués par l’entité "Personne" dans l'association

"Parent".

Un rôle permet d’indiquer une des entités concernées par

l’association. L’indication des rôles est particulièrement importante dans le cas d'une association entre une entité et elle-même.

Vous pouvez segmenter une ligne en y ajoutant des sommets pour modifier le tracé des traits. Vous pouvez en particulier segmenter un rôle, pour lui faire contourner un obstacle par exemple. Pour cela, cliquez sur la ligne en tenant la touche <Ctrl>

enfoncée et déplacez cette ligne.

Pour faire apparaître une ligne courbe : 1. Sélectionnez l’association.

2. Dans la barre de Format et Dessin du diagramme, cliquez sur l’icône Courbe. Le lien est alors incurvé à chacun des sommets.

Définir une association "plus que binaire"

Certaines associations associent non pas deux, mais davantage d’entités. Ces associations sont, en principe, rares.

Exemple : Lors d'un inventaire, une certaine quantité de produit a été comptée dans chaque entrepôt.

Pour créer une association ternaire :

1. Créez l’association entre deux des entités.

2. Cliquez sur le bouton Rôle de l’association et reliez l’association à la troisième entité.

(39)

39 Modélisation conceptuelle Construire un diagramme de données

Généralisations

Une généralisation représente une relation d'héritage entre une entité générale et une entité plus spécifique. L’entité spécifique est cohérente avec l’entité plus générale et en hérite ses caractéristiques et son comportement. Elle peut cependant comporter des attributs ou des associations supplémentaires. Toute objet de l’entité spécifique est aussi un objet de l’entité générale.

Qu'est-ce qu'une généralisation ?

L’entité A est une généralisation de l’entité B. Cela suppose que tous les objets de l’entité B sont aussi des objets de l’entité A. Autrement dit, B est un sous-ensemble de A. B est alors la sous-entité, A la super-entité.

Exemple :

A : Personne, B : Employé.

B étant un sous-ensemble de A, les objets de l’entitée B "héritent" des caractéristiques de ceux de l’entité A.

Il n'est donc pas nécessaire de décrire de nouveau pour l’entité B :

• Ses attributs

• Ses associations Exemple :

L’entité "Client important" qui représente les clients dont le "C.A. sur les 12 derniers mois" dépasse 1 M€, peut être une spécialisation de l’entité "Client".

(40)

1

Dans l'exemple qui précède, les associations et les attributs spécifiés pour "Client"

sont aussi valables pour "Client important".

Autres exemples de généralisations :

"prospect" et "client" sont deux sous-entités de

"personne".

"commande export" est une sous-entité de l’entité

"commande".

"personne physique" et "personne morale" sont deux sous- entités de l’entité "personne".

"véhicule à moteur", "véhicule tout-terrain" et "véhicule amphibie" sont des sous-entités de l’entité "véhicule".

Cas de plusieurs sous-entités

Plusieurs sous-entités d'une même entité :

• Ne sont pas forcément exclusives.

• Ne forment pas nécessairement une partition.

(41)

41 Modélisation conceptuelle Construire un diagramme de données

Intérêt des sous-entités

Une sous-entité hérite de tous les attributs et associations de sa super-entité, mais elle peut avoir des attributs ou des associations que ne possède pas sa super-entité.

Une sous-entité peut ainsi avoir des attributs spécifiques. Ceux-ci n'ont de sens que pour une sous-entité particulière. Dans l'exemple ci-dessus :

• Le "numéro de Siret" et le "nombre d’employés" n’ont de sens que pour une "société".

• La "date de naissance" est caractéristique d’une "personne", pas d’une

"société".

Une sous-entité peut également avoir des associations spécifiques.

• Une "personne" entre dans une "catégorie socio-professionnelle" :

"cadre", "employé", "commerçant", "agriculteur", etc. Cette classification n’a pas de sens pour une "société" (il existe également une classification pour les entreprises, mais ce n’est pas la même que pour les personnes).

Héritage multiple

Il est parfois utile de spécifier une entité ayant plusieurs super-entités. La sous- entité hérite alors de toutes les caractéristiques des deux super-entités. Cette possibilité doit être utilisée avec précaution.

L'héritage multiple n'est pas pris en compte pour la génération des tables.

Créer une généralisation

Pour créer une généralisation :

1. Cliquez sur le bouton Généralisation de la barre d’objets.

(42)

1

2. Cliquez dans la sous-entité, par exemple "Entité 5", et faites glisser la souris jusqu’à l’entité générale, par exemple "Entité 3", avant de relâcher votre pression.

La fenêtre Ajout d'une généralisation s'ouvre.

3. Saisissez le nom de la généralisation, par exemple, "Généralisation 1", puis cliquez sur Créer.

La généralisation apparaît dans le diagramme, matérialisée par une flèche.

Discriminant

Le discriminant est attribut d'une entité générale dont la valeur permet de répartir les objets entre les sous-entités associées à la généralisation.

Par exemple, l'attribut code-sexe permet de répartir les objets de l’entité personne entre la sous-entité homme ou femme.

(43)

43 Modélisation conceptuelle Construire un diagramme de données

Vous pouvez définir le ou les discriminants dans la fenêtre de propriétés de la généralisation.

Il est également possible de préciser si une généralisation est :

Disjointe : Une instance ne peut pas appartenir simultanément à deux sous-entités de cette généralisation.

Complète : Toutes les instances de la super-entité appartiennent à au moins une des sous-entités de cette généralisation.

Les contraintes

Une contrainte représente un contrôle ou une règle de gestion qui doit être appliquée lors de l'exécution d'un traitement.

La plupart des contraintes impliquent les associations entre les entités.

Exemples de contraintes :

La personne responsable d'un service doit appartenir à ce service.

Toute commande facturée doit avoir été préalablement livrée.

La date de livraison doit être postérieure à la date de commande.

Un capteur couvrant une zone ne peut déclencher qu'une alarme protégeant cette même zone.

La spécification des contraintes a pour but d’enrichir le modèle mais elle n'est pas prise en compte automatiquement par la synchronisation et la génération de tables avec MEGA Database Builder.

Pour créer une contrainte :

1. Cliquez sur le bouton Contrainte dans la barre d’objets du diagramme.

(44)

1

2. Cliquez dans une des associations concernées par la contrainte, par exemple "Association 1", et faites glisser la souris jusqu’à la deuxième association, par exemple "Association 2", avant de relâcher votre pression.

La fenêtre Ajout d'une contrainte s'ouvre.

3. Saisissez le nom de la contrainte "Contrainte 1", puis cliquez sur Créer. La "Contrainte 1" apparaît dans le diagramme.

Enregistrez régulièrement votre dessin à l'aide du bouton

(45)

45 Modélisation conceptuelle

Règles de normalisation

R ÈGLES DE NORMALISATION

Les formes normales sont des règles qui visent à éviter des erreurs de modélisation.

A ce jour, il existe de six à sept formes normales. Nous allons voir les trois premières.

Première forme normale

Si le nombre de véhicules est porté par l’entité "Réservation", on ne peut indiquer que le nombre total de véhicules pour une réservation. On doit donc faire une réservation par catégorie de véhicule loué (multiplicité 1).

Si le nombre de véhicules est porté par l'association, on peut préciser le nombre de véhicules réservés pour chaque catégorie sur l'association. On peut donc faire une seule réservation pour plusieurs catégories de véhicules (multiplicité 1..N).

Deuxième forme normale

Règle : La valeur d'un attribut est fixée de manière unique dès que l'on connaît le ou les objets concernés.

Règle : La valeur d'un attribut d'association n'est fixée que lorsque l'on connaît toutes les entités concernées.

(46)

1

Le fait que la catégorie de voiture porte sur l'association "Catégorie Voiture"

suppose que la catégorie de la voiture puisse changer d'un contrat à l'autre, ce qui ne serait pas très honnête.

Pour que la catégorie de la voiture ne dépende pas du contrat, il faut qu'elle soit portée par l’entité "Voiture".

Troisième forme normale

Si le "Tarif Catégorie" est porté par l’entité "Voiture", cela signifie que deux voitures de la même catégorie peuvent avoir un "Tarif Catégorie" différent.

Pour éviter cela, il faut créer une entité "Catégorie" qui portera le tarif.

Cette règle permet de faire émerger des concepts qui n'apparaissent pas dans la première ébauche de diagramme de données.

Règle : Un attribut doit dépendre directement et uniquement de l’entité qu'il décrit.

(47)

47 Modélisation conceptuelle

Identifiants et options SQL

I DENTIFIANTS ET OPTIONS SQL

Définir l’identifiant d’une entité

Tout objet possède une identité qui caractérise son existence propre. L'identifiant permet de distinguer tout objet d'une entité de façon non ambiguë. Cela permet, entre autres, de distinguer deux objets dont toutes les valeurs d'attribut sont identiques.

Un identifiant est constitué d'un ou plusieurs attributs ou rôles obligatoires qui permettent d'identifier de façon unique une entité.

Le client dont le code est 2718 effectue la réservation numéro 314159.

Chaque entité possède un identifiant unique dont la valeur permet de retrouver sans ambiguïté chacun de ses exemplaires.

Par défaut, l’identifiant est implicite. Lors de la synchronisation, une clé primaire est générée automatiquement à partir du nom de l’entité.

Identification par un attribut

Il est aussi possible de choisir un des attributs de l’entité comme identifiant.

Pour cela, dans l’onglet Attributs de la fenêtre des propriétés de l’entité, sélectionnez la valeur "Oui" pour la caractéristique Identifiant de l’attribut choisi.

Un identifiant constitué de cet attribut est alors créé automatiquement pour cette entité. Après synchronisation vers le modèle logique, la clé primaire correspondante sera créée dans la table générée pour l’entité.

(48)

1

Identification relative

Dans certains cas, il est intéressant d'identifier une entité relativement à une autre.

Ainsi, une ligne de commande peut être identifiée relativement à la commande à laquelle elle appartient. Son identification pourra ainsi être constituée du numéro de la commande suivi de son rang dans la commande (par exemple, 3ème ligne de la commande A721).

Pour identifier une entité relativement à une autre :

1. Ouvrez la fenêtre de propriétés de l’entité à identifier, par exemple

"Ligne de commande".

2. Cliquez sur l’onglet Identifiants.

3. Sélectionnez l’identifiant et cliquez sur le bouton Ajouter des éléments

4. Une fenêtre liste les éléments qu’il est possible d’ajouter.

5. Sélectionnez le rôle"Commande" et cliquez sur OK.

Références

Documents relatifs

SOLIX : Pour changer la superposition affichée à l’écran, appuyer sur la touche MENU une fois ou toucher Sonar (360) dans la barre d’état, puis sélectionner Option

Ces fiches de calculs rapides &#34;Addi-vitesse&#34; sont proposées tout au long de la période, puis lors du défi calcul mental en fin de période, une fiche &#34;Addi-vitesse&#34;

Directement au contact de la chaleur pour les tables en fonte ou sur table vitrocéramique pour plus de facilité au nettoyage, à chauffage direct, rayonnant ou par induction,

• Tout accessoire de socle endommagé doit être remplacé avant de démarrer la scie pour empêcher le blocage de la lame à cause de pièces ou d'autres

Ajoutez à la boîte de dialogue à onglet (avec les formes et les couleurs), un onglet complémentaire pour sélectionner l’épaisseur du trait4. Implémentez l’option

Lorsqu’il ne remplit pas les conditions ouvrant droit au cumul emploi retraite total et qu’il reprend une activité professionnelle, l’architecte doit en informer sa caisse

Alors que la loi Lemaire commence à être mise en œuvre, nous avons souhaité dans ce numéro interroger les opérations de mise en circulation des données à partir de plusieurs

C’est donc, comme témoin que je décris ce que je voyais se passer autour de moi, dans nos quartiers, dans notre ville, ailleurs dans des endroits plus éloignés, là où le destin