Résumé : Modélisation dans ERwin. Les bases d'Erwin. Construction d'un modèle de données logique Relation plusieurs-à-plusieurs erwin

TRAVAUX DE LABORATOIRE N°3. Modélisation de base de données avec Erwin

but du travail- acquisition par les étudiants de compétences pratiques dans la création de modèles de données logiques et physiques à l'aide de CASE - outils de développement systèmes d'information.

Informations de base

ERwin prend en charge la modélisation en amont et en aval des bases de données. Dans la modélisation directe, le schéma de la base de données est décrit directement à l'aide d'un diagramme entité-relation. Les entités du diagramme sont représentées par des rectangles. Chaque rectangle peut avoir des attributs visuels différents. Chaque entité doit se voir attribuer un nom unique. Les noms d'entité doivent être au singulier. Ceci est déterminé par le fait que le système fonctionne toujours sur des instances distinctes de l'entité. Dans ce cas, les instances individuelles d'une entité sont considérées comme des objets et les entités comme une classe d'objets. Si les entités ont été décrites lors de la modélisation dans BPwin, elles peuvent alors être simplement importées dans ERwin. Un exemple de diagramme avec des entités créées est illustré dans la figure.

Figure 4 - Un exemple de diagramme avec des entités créées

Construction de maquettes à ERwin

Il y a deux points de vue possibles sur le modèle d'information et, par conséquent, deux niveaux du modèle. Le premier est le niveau logique (le point de vue de l'utilisateur) signifie un affichage direct des faits de la vie réelle. Par exemple, les personnes, les tables, les départements, les chiens et les ordinateurs sont de vrais objets. Ils sont nommés en langage naturel, avec des séparateurs de mots (espaces, virgules, etc.). Au niveau physique du modèle, l'utilisation d'un SGBD spécifique est envisagée, les types de données (par exemple, un entier ou un nombre réel), les index des tables sont déterminés.

ERwin offre la possibilité de créer et de gérer ces deux niveaux de présentation différents d'un même diagramme (modèle), ainsi que de nombreuses options d'affichage à chaque niveau. Le terme « Couche logique » dans ERwin suit le modèle conceptuel.

Étapes de la construction d'un modèle d'information.

  • définition des entités ;
  • définir les dépendances entre les entités ;
  • définition des clés primaires et alternatives ;
  • définition des attributs d'entité ;
  • amener le modèle au niveau requis de forme normale;
  • passage à la description physique du modèle : affectation des correspondances nom entité - nom table, attribut entité - attribut table ;
  • définir des déclencheurs, des procédures et des contraintes ;
  • génération de base de données.

Erwin crée une représentation visuelle (modèle de données) du problème à résoudre. Cette vue peut être utilisée pour l'analyse détaillée, le raffinement et la diffusion de la documentation requise pendant le cycle de développement. Cependant, ERwin est loin d'être un simple outil de dessin. ERwin crée automatiquement une base de données (tables, index, procédures stockées, triggers pour assurer intégrité référentielle et d'autres objets nécessaires à la gestion des données).

Création d'entité.

Pour ajouter une entité au modèle, vous devez cliquer sur le bouton entité de la barre d'outils (Erwin Toolbox), puis à l'endroit du schéma où vous souhaitez placer la nouvelle entité. En cliquant clic-droit souris sur l'entité et en sélectionnant l'élément Éditeur d'entité dans le menu contextuel, vous pouvez ouvrir la boîte de dialogue Éditeur d'entité, dans laquelle le nom, la description et les commentaires de l'entité sont définis.

Chaque entité doit être entièrement définie à l'aide d'une description textuelle dans l'onglet Définition. Ces définitions sont utiles à la fois au niveau logique, car elles permettent de comprendre de quel type d'objet il s'agit, et au niveau physique, car elles peuvent être exportées dans le cadre du schéma et utilisées dans une vraie base de données ( CRÉER UN COMMENTAIRE sur entity_name). Les onglets Note, Note2, Note3, UDP (Propriétés définies par l'utilisateur) sont utilisés pour ajouter des commentaires et des définitions supplémentaires à l'entité.

Dans l'onglet Icône de chaque entité, vous pouvez associer une image qui sera affichée dans le mode de visualisation du modèle au niveau de l'icône et une image qui sera affichée à tous les autres niveaux.

L'onglet UDP de la boîte de dialogue Éditeur d'entité est utilisé pour définir les propriétés définies par l'utilisateur (Utilisateur - Propriétés définies). Lorsque vous cliquez sur le bouton de cet onglet, la boîte de dialogue Éditeur de propriétés définies par l'utilisateur est appelée (également appelée depuis le menu Edition / UDP). Dans celui-ci, vous devez spécifier le type d'objet pour lequel UDP est lancé (schéma dans son ensemble, entité, attribut, etc.) et le type de données. Pour ajouter une nouvelle propriété, cliquez sur le bouton dans le tableau et saisissez le nom, le type de données, la valeur par défaut et la définition.

Création d'attributs.

L'étape suivante de la création d'un modèle consiste à définir des attributs pour chaque entité. Lors de la spécification du type d'attribut, il est possible d'utiliser des domaines. Un domaine est un type abstrait défini par l'utilisateur qui est attribué à n'importe quel type de données physique. De plus, chaque domaine peut avoir ses propres valeurs par défaut et règles de validation des données d'entrée. ERwin offre la possibilité de documenter toutes les étapes impliquées dans la création de vos propres types de données. En utilisant le concept de domaine, la base de données est portable sur différentes plates-formes matérielles.

Figure 5 - Création d'un nouveau domaine Figure 6 - Spécification des propriétés du nouveau domaine

Figure 7 - La valeur par défaut du nouveau domaine

Figure 8 - Utilisation d'un domaine pour indiquer un type de données à un attribut.

Pour décrire les attributs, cliquez avec le bouton droit sur l'entité et sélectionnez Editeur d'attributs dans le menu qui apparaît. La boîte de dialogue Éditeur d'attributs apparaîtra.

Si vous cliquez sur le bouton Nouveau, puis dans la boîte de dialogue Nouvel attribut qui apparaît, vous pouvez spécifier le nom de l'attribut, le nom qui lui correspond dans modèle physique colonnes et domaine. Le domaine de l'attribut sera utilisé lors de la définition du type de colonne au niveau du modèle physique.

Pour les attributs de clé primaire dans l'onglet Général de l'éditeur d'attributs, vous devez cocher la case de sélection Clé primaire.
Les onglets Définition, Note et UDP ont la même fonctionnalité que lors de la définition d'une entité, mais au niveau de l'attribut.

Pour une meilleure clarté du schéma, chaque attribut peut être associé à une icône. Cela peut être fait à l'aide de la liste de sélection Icône de l'onglet Général.

Il est très important de donner à l'attribut le nom correct. Les attributs doivent être nommés au singulier et avoir une signification sémantique claire.

Selon la syntaxe IDEF1X, le nom de l'attribut doit être unique dans le modèle (pas seulement dans l'entité !). Par défaut, lorsque vous essayez de saisir un nom d'attribut existant, ERwin le renomme. Par exemple, si l'attribut Comment existe déjà dans le modèle, un autre attribut (dans une entité différente) sera nommé Comment / 2, puis Comment / 3, et ainsi de suite.
Lors du transfert d'attributs au sein et entre des entités, vous pouvez utiliser la technique du glisser-déposer en sélectionnant le bouton dans la palette d'outils.

Pour créer une nouvelle relation, sélectionnez une relation identifiante ou non dans la boîte à outils (ERwin Toolbox), cliquez d'abord sur l'entité parent puis sur l'entité enfant.
Dans la palette d'outils, un bouton correspond à une relation d'identification, un bouton de relation plusieurs-à-plusieurs et un bouton correspond à une relation de non-identification. Pour modifier les propriétés d'un lien, faites un clic droit sur le lien et sélectionnez menu contextuel la clause Éditeur de relations.

Dans l'onglet Général de la boîte de dialogue qui apparaît, vous pouvez définir la cardinalité, le nom et le type de connexion.

Pouvoir de communication (Cardinalité)- sert à indiquer le rapport entre le nombre d'instances de l'entité mère et le nombre d'instances de l'enfant.
Il existe quatre types de puissance :

· Le cas général, lorsqu'une instance de l'entité parent correspond à 0, 1 ou plusieurs instances de l'entité enfant, n'est marqué par aucun symbole ;

· Le symbole P marque le cas lorsqu'une instance de l'entité parent correspond à 1 ou plusieurs instances de l'entité enfant (la valeur zéro est exclue);

· Le symbole Z marque le cas lorsqu'une instance de l'entité parent correspond à 0 ou 1 instance de l'entité enfant (les valeurs multiples sont exclues);

· Un nombre indique le cas où une instance de l'entité parent correspond à un nombre prédéterminé d'instances de l'entité enfant.

Par défaut, le symbole de la puissance de communication n'est pas représenté sur le schéma. Pour afficher le nom, suivez le menu contextuel qui apparaît si vous faites un clic droit sur n'importe quel endroit du diagramme qui n'est pas occupé par des objets du modèle, sélectionnez l'élément Options d'affichage / Relation puis activez l'option Cardinalité.

Type de lien (identifiant / non identifiant).

IDEF1X fait la distinction entre les entités dépendantes et indépendantes. Le type d'une entité est déterminé par sa relation avec d'autres entités. Une relation d'identification est établie entre les entités indépendantes (extrémité parent de la relation) et dépendantes (extrémité enfant de la relation). Lorsqu'une relation d'identification est établie, ERwin convertira automatiquement la relation enfant en relation dépendante. L'entité dépendante est dessinée avec un rectangle arrondi.

Une instance d'une entité dépendante n'est définie que par une relation avec l'entité parente. Lorsqu'une relation d'identification est établie, les attributs de clé primaire de l'entité parent sont automatiquement transférés vers la clé primaire de l'entité enfant. Cette opération d'augmentation des attributs d'une entité enfant lors de la création d'une relation est appelée migration d'attributs. Dans l'entité enfant, les nouveaux attributs sont marqués comme des clés étrangères - (FK).

Lorsqu'une relation non identifiante est établie, l'enfant reste indépendant, tandis que les attributs de clé primaire du parent sont migrés vers les composants non clés de l'enfant. Une relation non identifiante est utilisée pour lier des entités indépendantes.

Un lien d'identification est affiché dans le diagramme sous la forme d'une ligne continue avec un point en gras à l'extrémité enfant du lien et un point non identifiant - en pointillé.

Pour une relation non identifiante, vous pouvez spécifier obligatoire (Nuls dans l'onglet Général de la boîte de dialogue Éditeur de relations). Dans le cas d'une relation obligatoire (No Nulls), lors de la génération d'un schéma de base de données, l'attribut de clé étrangère recevra le signe NOT NULL, malgré le fait que la clé étrangère ne sera pas incluse dans la clé primaire de l'entité enfant. Dans le cas d'une relation facultative (Nulls Allowed), la clé étrangère peut être NULL. Une relation non-identifiante facultative est marquée d'un losange transparent sur le côté de l'entité mère

Nom du lien (expression verbale)- une phrase qui caractérise la relation entre les entités parent et enfant. Pour une relation un-à-plusieurs identifiante ou non, il suffit de spécifier un nom qui caractérise la relation parent-enfant (Parent-to-Child). Pour une relation plusieurs-à-plusieurs, vous devez spécifier à la fois les noms de parent à enfant et d'enfant à parent. Pour afficher le nom, suivez le menu contextuel qui apparaît si vous cliquez avec le bouton droit sur n'importe quel endroit du diagramme qui n'est pas occupé par des objets du modèle, sélectionnez l'élément Options d'affichage / Relation, puis activez l'option Phrase verbale.

Nom de rôle ou nom fonctionnel (Rolename) est un synonyme d'un attribut de clé étrangère qui indique le rôle d'un attribut dans une entité enfant. Vous pouvez définir le nom du rôle dans l'onglet Rolename / RI Actions de la boîte de dialogue Relationship Editor.

Création de clés.

Chaque instance d'entité doit être unique et distincte des autres attributs.

Clé primaire est un attribut ou un groupe d'attributs qui identifie de manière unique une instance d'entité. Les attributs de clé primaire dans le diagramme ne nécessitent pas de désignation spéciale - ce sont les attributs qui se trouvent dans la liste d'attributs ci-dessus ligne horizontale... Lors de l'ajout d'un nouvel attribut dans la boîte de dialogue Éditeur d'attributs, afin d'en faire un attribut de clé primaire, vous devez activer la case à cocher Clé primaire en bas de l'onglet Général. Sur le schéma, l'attribut clé peut être ajouté à la clé primaire en utilisant le mode de transfert d'attribut (bouton dans la palette d'outils).

Une entité peut contenir plusieurs attributs ou ensembles d'attributs qui prétendent être la clé primaire. Ces candidats sont appelés clés potentielles (clé candidate).

Les clés peuvent être complexes, c'est-à-dire contenant plusieurs attributs. Les clés primaires complexes ne nécessitent pas de notation spéciale - elles sont une liste d'attributs au-dessus de la ligne horizontale. Lors du choix d'une clé primaire, la préférence doit être donnée aux clés plus simples, c'est-à-dire clés avec moins d'attributs.

De nombreuses entités n'ont qu'une seule clé potentielle. Cette clé devient primaire. Certaines entités peuvent avoir plusieurs clés possibles. Ensuite, l'un d'eux devient primaire et le reste - des clés alternatives.

Clé alternative est une clé potentielle qui n'est pas devenue la clé principale.

Chaque clé a un index associé, dont le nom est également attribué automatiquement. Les noms de clé et d'index peuvent être modifiés manuellement si vous le souhaitez.

Dans le diagramme, les attributs de clé alternatifs sont notés (Akn.m.), où n est le numéro ordinal de la clé, m est le numéro ordinal de l'attribut dans la clé. Lorsque la clé alternative contient plusieurs attributs, (Akn.m.) est placé après chacun.

Clé étrangère sont créés automatiquement lorsqu'une relation connecte des entités : les relations forment une référence aux attributs de clé primaire dans une entité enfant et ces attributs forment une clé étrangère dans une entité enfant (migration de clé). Les attributs de clé étrangère sont identifiés par un (FK) après leur nom.

Une entité dépendante peut avoir la même clé de plusieurs entités parent. Une entité peut également recevoir plusieurs fois la même clé étrangère du même parent via plusieurs relations différentes. Lorsque ERwin détecte l'un de ces événements, il reconnaît que les deux attributs sont identiques et place les attributs de clé étrangère dans l'entité dépendante une seule fois. Cette combinaison ou fusion d'attributs identiques est appelée unification.

Il y a des moments où l'unification n'est pas souhaitable. Par exemple, lorsque deux attributs ont le même nom, mais qu'en fait ils ont une signification différente, et il est nécessaire que cette différence se reflète dans le diagramme. Dans ce cas, vous devez utiliser les noms de rôle de clé étrangère.

Les relations dans le diagramme sont représentées par des lignes allant d'une entité (table) à une autre. Chaque lien se voit attribuer un nom unique. Les tables liées sont divisées en tables parent et enfant. Les tables parents sont affichées sous forme de rectangles avec des coins à droite, les tables enfants sont affichées avec des coins arrondis.

Après avoir spécifié tous les attributs du format de données, il est nécessaire de transformer le modèle logique créé en un modèle physique. Pour cela, vous devez Outils sélectionner Dériver un nouveau modèle, où comme Bases de données cibles, sélectionnez ODBC / Générique(pour une utilisation dans le SGBD MySQL) voir la figure 9. Notre modèle (voir la figure 4) sera converti sous la forme voir la figure 11.

Figure 9 - Conversion d'un modèle logique en modèle physique

Figure 10 - Modèle physique indiquant le format des données.

Figure 11 - Génération du code SQL

Exercer

1. Construire un diagramme avec les entités données (modélisation directe) pour un domaine donné.

2. Définissez les attributs de chaque entité définie. Utilisez des domaines lors de la définition des attributs.

3. Saisissez les relations entre les entités. Donnez des noms uniques aux liens.

4. À l'aide du SGBD MYSQL, décidez de générer directement la base de données pour les informations projetées.

5. Le rapport doit contenir un modèle conceptuel et une base de données physique dans le SGBD MYSQL.

Questions de contrôle

1. Quelle est la différence entre les niveaux logique et physique de la présentation des modèles de données à l'aide d'ERwin ?

2. Quelle est la différence entre les modèles de données présentés sous la forme d'un diagramme entité-relation, basé sur des clés, et sous la forme d'un modèle d'attribut complet ?

3. Quelles sont les principales composantes des modèles de données présentés selon la méthodologie IDEF1X ?


La liste des types de données pris en charge par le SGBD doit être vérifiée auprès du fabricant

Il y a deux points de vue possibles sur le modèle d'information et, par conséquent, deux niveaux du modèle. Le premier est le niveau logique (le point de vue de l'utilisateur) signifie un affichage direct des faits de la vie réelle. Par exemple, les personnes, les tables, les départements, les chiens et les ordinateurs sont de vrais objets. Ils sont nommés en langage naturel, avec des séparateurs de mots (espaces, virgules, etc.). Au niveau physique du modèle, l'utilisation d'un SGBD spécifique est envisagée, les types de données (par exemple, un entier ou un nombre réel), les index des tables sont déterminés.

ERwin offre la possibilité de créer et de gérer ces deux niveaux de présentation différents d'un même diagramme (modèle), ainsi que de nombreuses options d'affichage à chaque niveau. Le terme « Couche logique » dans ERwin suit le modèle conceptuel.

Étapes de la construction d'un modèle d'information :

· Définition des entités ;

· Définition des dépendances entre entités ;

· Attribution des clés primaires et alternatives ;

· Définition des attributs des entités ;

· Amener le modèle au niveau requis de forme normale;

· Passage à la description physique du modèle : affectation des correspondances nom entité - nom table, attribut entité - attribut table ;

· Attribution de déclencheurs, de procédures et de restrictions ;

· Génération de base de données.

Erwin crée une représentation visuelle (modèle de données) du problème à résoudre. Cette vue peut être utilisée pour l'analyse détaillée, le raffinement et la diffusion de la documentation requise pendant le cycle de développement. Cependant, ERwin est loin d'être un simple outil de dessin. ERwin crée automatiquement la base de données (tables, index, procédures stockées, déclencheurs d'intégrité référentielle et autres objets nécessaires à la gestion des données).

Création d'entité.

Pour ajouter une entité au modèle, vous devez cliquer sur le bouton entité de la barre d'outils (Erwin Toolbox), puis à l'endroit du schéma où vous souhaitez placer la nouvelle entité. En cliquant avec le bouton droit sur une entité et en choisissant Éditeur d'entité dans le menu contextuel, vous pouvez ouvrir la boîte de dialogue Éditeur d'entité, qui définit le nom, la description et les commentaires de l'entité.

Chaque entité doit être entièrement définie à l'aide d'une description textuelle dans l'onglet Définition. Ces définitions sont utiles à la fois au niveau logique, car elles vous permettent de comprendre de quel type d'objet il s'agit, et au niveau physique, car elles peuvent être exportées dans le cadre du schéma et utilisées dans une vraie base de données (CREATE COMMENT on entity_name ). Les onglets Note, Note2, Note3, UDP (Propriétés définies par l'utilisateur) sont utilisés pour ajouter des commentaires et des définitions supplémentaires à l'entité.

Dans l'onglet Icône de chaque entité, vous pouvez associer une image qui sera affichée dans le mode de visualisation du modèle au niveau de l'icône et une image qui sera affichée à tous les autres niveaux.

L'onglet UDP de la boîte de dialogue Éditeur d'entité est utilisé pour définir les propriétés définies par l'utilisateur (Utilisateur - Propriétés définies). Lorsque vous cliquez sur le bouton de cet onglet, la boîte de dialogue Éditeur de propriétés définies par l'utilisateur est appelée (également appelée depuis le menu Edition / UDP). Dans celui-ci, vous devez spécifier le type d'objet pour lequel UDP est lancé (schéma dans son ensemble, entité, attribut, etc.) et le type de données. Pour ajouter une nouvelle propriété, cliquez sur le bouton dans le tableau et saisissez le nom, le type de données, la valeur par défaut et la définition.

Création d'attributs

Pour décrire les attributs, cliquez avec le bouton droit sur l'entité et sélectionnez Editeur d'attributs dans le menu qui apparaît. La boîte de dialogue Éditeur d'attributs apparaîtra.

Si vous cliquez sur le bouton Nouveau, puis dans la boîte de dialogue Nouvel attribut qui apparaît, vous pouvez spécifier le nom de l'attribut, le nom de la colonne qui lui correspond dans le modèle physique et le domaine. Le domaine de l'attribut sera utilisé lors de la définition du type de colonne au niveau du modèle physique.

Pour les attributs de clé primaire dans l'onglet Général de l'éditeur d'attributs, vous devez cocher la case de sélection Clé primaire.

Les onglets Définition, Note et UDP ont la même fonctionnalité que lors de la définition d'une entité, mais au niveau de l'attribut.

Pour une meilleure clarté du schéma, chaque attribut peut être associé à une icône. Cela peut être fait à l'aide de la liste de sélection Icône de l'onglet Général.

Il est très important de donner à l'attribut le nom correct. Les attributs doivent être nommés au singulier et avoir une signification sémantique claire.

Selon la syntaxe IDEF1X, le nom de l'attribut doit être unique dans le modèle (pas seulement dans l'entité !). Par défaut, lorsque vous essayez de saisir un nom d'attribut existant, ERwin le renomme. Par exemple, si l'attribut Comment existe déjà dans le modèle, un autre attribut (dans une entité différente) sera nommé Comment / 2, puis Comment / 3, et ainsi de suite.

Lors du transfert d'attributs au sein et entre des entités, vous pouvez utiliser la technique du glisser-déposer en sélectionnant le bouton dans la palette d'outils.

Établir une connexion.

Pour créer une nouvelle relation, sélectionnez une relation identifiante ou non dans la boîte à outils (ERwin Toolbox), cliquez d'abord sur l'entité parent puis sur l'entité enfant.

Dans la palette d'outils, un bouton correspond à une relation d'identification, un bouton de relation plusieurs-à-plusieurs et un bouton correspond à une relation de non-identification. Pour modifier les propriétés d'une relation, cliquez avec le bouton droit sur la relation et sélectionnez Éditeur de relations dans le menu contextuel.

Dans l'onglet Général de la boîte de dialogue qui apparaît, vous pouvez définir la cardinalité, le nom et le type de connexion.

Pouvoir de communication (Cardinalité)- sert à indiquer le rapport entre le nombre d'instances de l'entité mère et le nombre d'instances de l'enfant.

Il existe quatre types de puissance :

le cas général, lorsqu'une instance de l'entité parent correspond à 0, 1 ou plusieurs instances de l'entité enfant, n'est marqué par aucun symbole ;

P marque le cas lorsqu'une instance de l'entité parent correspond à 1 ou plusieurs instances de l'entité enfant (la valeur zéro est exclue) ;

le symbole Z marque le cas lorsqu'une instance de l'entité parent correspond à 0 ou 1 instance de l'entité enfant (les valeurs multiples sont exclues) ;

le nombre dénote le cas où une instance de l'entité parent correspond à un nombre prédéterminé d'instances de l'entité enfant.

Par défaut, le symbole de la puissance de communication n'est pas représenté sur le schéma. Pour afficher le nom, suivez le menu contextuel qui apparaît si vous faites un clic droit sur n'importe quel endroit du diagramme qui n'est pas occupé par des objets du modèle, sélectionnez l'élément Options d'affichage / Relation puis activez l'option Cardinalité.

Type de lien (identifiant / non identifiant).

IDEF1X fait la distinction entre les entités dépendantes et indépendantes. Le type d'une entité est déterminé par sa relation avec d'autres entités. Une relation d'identification est établie entre les entités indépendantes (extrémité parent de la relation) et dépendantes (extrémité enfant de la relation). Lorsqu'une relation d'identification est établie, ERwin convertira automatiquement la relation enfant en relation dépendante. L'entité dépendante est dessinée avec un rectangle arrondi.

Une instance d'une entité dépendante n'est définie que par une relation avec l'entité parente. Lorsqu'une relation d'identification est établie, les attributs de clé primaire de l'entité parent sont automatiquement transférés vers la clé primaire de l'entité enfant. Cette opération d'augmentation des attributs d'une entité enfant lors de la création d'une relation est appelée migration d'attributs. Dans l'entité enfant, les nouveaux attributs sont marqués comme des clés étrangères - (FK).

Lorsqu'une relation non identifiante est établie, l'enfant reste indépendant, tandis que les attributs de clé primaire du parent sont migrés vers les composants non clés de l'enfant. Une relation non identifiante est utilisée pour lier des entités indépendantes.

Un lien d'identification est affiché dans le diagramme sous la forme d'une ligne continue avec un point en gras à l'extrémité enfant du lien et un point non identifiant - en pointillé.

Pour une relation non identifiante, vous pouvez spécifier obligatoire (Nuls dans l'onglet Général de la boîte de dialogue Éditeur de relations). Dans le cas d'une relation obligatoire (No Nulls), lors de la génération d'un schéma de base de données, l'attribut de clé étrangère recevra le signe NOT NULL, malgré le fait que la clé étrangère ne sera pas incluse dans la clé primaire de l'entité enfant. Dans le cas d'une relation facultative (Nulls Allowed), la clé étrangère peut être NULL. Une relation non-identifiante facultative est marquée d'un losange transparent sur le côté de l'entité mère

Nom du lien (expression verbale)- une phrase qui caractérise la relation entre les entités parent et enfant. Pour une relation un-à-plusieurs identifiante ou non, il suffit de spécifier un nom qui caractérise la relation parent-enfant (Parent-to-Child). Pour une relation plusieurs-à-plusieurs, vous devez spécifier à la fois les noms de parent à enfant et d'enfant à parent. Pour afficher le nom, suivez le menu contextuel qui apparaît si vous cliquez avec le bouton droit sur n'importe quel endroit du diagramme qui n'est pas occupé par des objets du modèle, sélectionnez l'élément Options d'affichage / Relation, puis activez l'option Phrase verbale.

Nom de rôle ou nom fonctionnel (Rolename) est un synonyme d'un attribut de clé étrangère qui indique le rôle d'un attribut dans une entité enfant. Vous pouvez définir le nom du rôle dans l'onglet Rolename / RI Actions de la boîte de dialogue Relationship Editor.

Fig. 1. Noms de rôle de clé étrangère

Dans l'exemple illustré à la Fig. 1, dans l'entité Clé étrangère de l'employé Le numéro de service a un nom de rôle "Où travaille-t-elle", qui indique quel rôle cet attribut joue dans l'entité. Par défaut, seul le nom du rôle est affiché dans la liste d'attributs. Pour afficher le nom complet de l'attribut (à la fois le nom fonctionnel et le nom du rôle), dans le menu contextuel qui apparaît si vous faites un clic droit n'importe où dans le diagramme non occupé par les objets du modèle, sélectionnez l'élément Options d'affichage / Entités puis activez le nom de rôle/l'attribut. Le nom complet est affiché sous la forme d'un nom fonctionnel et d'un nom de base, séparés par un point (Figure 1).

Il est obligatoire d'utiliser des noms de rôle lorsque deux ou plusieurs attributs d'une entité sont définis dans la même portée, c'est-à-dire ils ont la même gamme de valeurs, mais des significations différentes.

Figure 2. Noms de rôle obligatoires

Dans la figure 2, l'entité Vente de devises contient des informations sur un acte de change dans lequel deux devises sont impliquées - vendues et achetées. Les informations sur les devises sont contenues dans l'entité Devise. Par conséquent, les entités Vendre la devise et Devise doivent être liées deux fois et le numéro de devise de la clé primaire doit être migré deux fois vers l'entité Devise en tant que clé étrangère. Il est nécessaire de faire la distinction entre ces attributs, qui contiennent des informations sur le numéro de la devise vendue et achetée (ont des significations différentes), mais font référence à la même entité Devise (ont une plage de valeurs commune). Dans l'exemple de la figure 2, les attributs sont nommés Vendu et acheté.

Un autre exemple d'utilisation obligatoire des noms de rôle est celui des relations récursives, lorsque la même entité est à la fois parent et enfant.

Règles d'intégrité référentielle (IR)- des constructions logiques qui expriment des règles métier pour l'utilisation des données et représentent les règles d'insertion, de remplacement et de suppression. Vous pouvez définir des règles d'intégrité référentielle dans l'onglet Rolename / RI Actions de la boîte de dialogue Relationship Editor.

Lors de la génération d'un schéma de base de données basé sur les options du modèle logique, des règles d'intégrité référentielle déclaratives seront générées, qui doivent être prescrites pour chaque relation, et des déclencheurs garantissant l'intégrité référentielle.

Figure 3. Migration des noms de rôle

Dans la figure 3, il existe une relation d'identification entre les entités Équipe et Joueur. Que se passe-t-il si vous supprimez une commande ? Instance d'entité Le joueur ne peut pas exister sans une équipe (attribut de clé primaire Dans quelle équipe joue-t-il. Numéro d'équipe ne peut pas être NULL), vous devez donc soit interdire la suppression d'une équipe tant qu'elle contient au moins un joueur, soit la supprimer avec l'équipe et tous ses joueurs. Ces règles Parent Delete sont appelées Parent Restrict et Parent Cascade. Les entités Joueur et But, à leur tour, sont également liées par une connexion d'identification, et si la suppression d'un joueur est soumise à la règle de suppression en cascade de tous les enregistrements de ses buts, alors lorsqu'une équipe est supprimée, tous les joueurs de l'équipe et tous les buts marqués par ces joueurs seront supprimés.

Les relations plusieurs-à-plusieurs ne sont possibles qu'au niveau du modèle de données logique. Cette connexion est indiquée par une ligne continue avec deux points aux extrémités. Pour ajouter un lien, vous devez d'abord cliquer sur le bouton dans la palette d'outils (ERwin Toolbox), puis, à son tour, cliquer sur les deux entités liées.

Une relation plusieurs-à-plusieurs doit être nommée (expression verbale) avec deux phrases - dans les deux sens. Cela rend le diagramme plus facile à lire.

Création de clés.

Chaque instance d'entité doit être unique et distincte des autres attributs.

Clé primaire est un attribut ou un groupe d'attributs qui identifie de manière unique une instance d'entité. Les attributs de clé primaire dans le diagramme ne nécessitent pas de désignation spéciale - ce sont les attributs qui se trouvent dans la liste d'attributs au-dessus de la ligne horizontale. Lors de l'ajout d'un nouvel attribut dans la boîte de dialogue Éditeur d'attributs, afin d'en faire un attribut de clé primaire, vous devez activer la case à cocher Clé primaire en bas de l'onglet Général. Sur le schéma, l'attribut clé peut être ajouté à la clé primaire en utilisant le mode de transfert d'attribut (bouton dans la palette d'outils).

Une entité peut contenir plusieurs attributs ou ensembles d'attributs qui prétendent être la clé primaire. Ces candidats sont appelés clés potentielles (clé candidate).

Les clés peuvent être complexes, c'est-à-dire contenant plusieurs attributs. Les clés primaires complexes ne nécessitent pas de notation spéciale - elles sont une liste d'attributs au-dessus de la ligne horizontale. Lors du choix d'une clé primaire, la préférence doit être donnée aux clés plus simples, c'est-à-dire clés avec moins d'attributs.

De nombreuses entités n'ont qu'une seule clé potentielle. Cette clé devient primaire. Certaines entités peuvent avoir plusieurs clés possibles. Ensuite, l'un d'eux devient primaire et le reste - des clés alternatives.

Clé alternative est une clé potentielle qui n'est pas devenue la clé principale.

Chaque clé a un index associé, dont le nom est également attribué automatiquement. Les noms de clé et d'index peuvent être modifiés manuellement si vous le souhaitez.

Dans le diagramme, les attributs de clé alternatifs sont notés (Akn.m.), où n est le numéro ordinal de la clé, m est le numéro ordinal de l'attribut dans la clé. Lorsque la clé alternative contient plusieurs attributs, (Akn.m.) est placé après chacun.

Figure 4. Entité d'employé avec mappage de clés


Clé étrangère sont créés automatiquement lorsqu'une relation connecte des entités : les relations forment une référence aux attributs de clé primaire dans une entité enfant et ces attributs forment une clé étrangère dans une entité enfant (migration de clé). Les attributs de clé étrangère sont indiqués par le symbole (FK) après leur nom (Figure 4). Attributs de clé étrangère Where works. Le numéro de service ("Where works" - nom du rôle) de l'entité Employee est un attribut de clé primaire (PK) dans l'entité Department.

Une entité dépendante peut avoir la même clé de plusieurs entités parent. Une entité peut également recevoir plusieurs fois la même clé étrangère du même parent via plusieurs relations différentes. Lorsque ERwin détecte l'un de ces événements, il reconnaît que les deux attributs sont identiques et place les attributs de clé étrangère dans l'entité dépendante une seule fois. Cette combinaison ou fusion d'attributs identiques est appelée unification.

Il y a des moments où l'unification n'est pas souhaitable. Par exemple, lorsque deux attributs ont le même nom, mais qu'en fait ils ont une signification différente, et il est nécessaire que cette différence se reflète dans le diagramme. Dans ce cas, vous devez utiliser les noms de rôle de clé étrangère (Figure 2).

Domaines.

Un domaine peut être défini comme un ensemble de valeurs à partir desquelles des valeurs d'attributs sont extraites. Chaque attribut ne peut être défini que sur un domaine, mais de nombreux attributs peuvent être définis sur chaque domaine. Le concept de domaine comprend non seulement le type de données, mais également la plage de valeurs de données. Par exemple, vous pouvez définir le domaine Age comme un entier positif et définir l'attribut Age de l'employé comme appartenant à ce domaine.

Dans ERwin, un domaine ne peut être défini qu'une seule fois et utilisé à la fois dans le modèle logique et physique.

Au niveau logique, les domaines peuvent être décrits sans propriétés physiques spécifiques. Au niveau physique, ils reçoivent des propriétés spécifiques qui peuvent être modifiées manuellement. Ainsi, le domaine Age peut avoir le type Nombre au niveau logique, et le type INTEGER sera affecté au domaine au niveau physique.

La boîte de dialogue Editeur de dictionnaire de domaine est utilisée pour créer un domaine dans un modèle logique. Il peut être appelé depuis le menu Edition / Dictionnaire de domaine à l'aide du bouton situé dans la partie supérieure gauche de l'onglet Général de la boîte de dialogue Editeur d'attributs. Pour créer un nouveau domaine dans la boîte de dialogue Éditeur de dictionnaire de domaine, vous devez :

· Cliquez sur le bouton Nouveau. La boîte de dialogue Nouveau domaine apparaît ;

· Sélectionnez un domaine parent dans la liste Domaine parent. Un nouveau domaine peut être créé sur la base d'un domaine déjà créé par l'utilisateur, ou sur la base d'un domaine préexistant. Par défaut, Erwin a quatre domaines prédéfinis (String, Number, Blob, Datetime). Le nouveau domaine hérite de toutes les propriétés du domaine parent. Ces propriétés peuvent encore être remplacées ;

· Saisissez le nom de domaine dans le champ Nom logique. Vous pouvez également spécifier le nom de domaine au niveau physique dans le champ Nom physique. Si aucun nom physique n'est spécifié, il s'agit par défaut du nom logique ;

· Cliquez sur le bouton OK ;

Dans la boîte de dialogue Editeur de dictionnaire de domaine, vous pouvez associer un domaine à une icône avec laquelle il sera affiché dans la liste des domaines (Icône de domaine), une icône avec laquelle un attribut défini sur le domaine sera affiché dans le modèle (Icône héritée par attribut).

Chaque domaine peut être décrit dans l'onglet Définition, un commentaire dans l'onglet Note ou une propriété définie par l'utilisateur dans l'onglet UDP.

ERwin dispose d'un outil spécial qui facilite beaucoup la création de nouveaux attributs dans un modèle à l'aide de descriptions de domaine - le navigateur d'attributs indépendant. Cette boîte de dialogue est invoquée (et masquée) par le raccourci clavier CTRL + B. Avec son aide, vous pouvez sélectionner un domaine dans la liste et le glisser-déposer vers une entité. Cela créera un nouvel attribut avec un nom qui doit être défini dans la fenêtre Nom hérité par attribut de la boîte de dialogue Éditeur de dictionnaire de domaine. Si le champ n'est pas spécifié, la valeur par défaut est le nom de domaine.

Au niveau physique, la boîte de dialogue Editeur de dictionnaire de domaine vous permet de modifier les propriétés physiques d'un domaine. Le nom de cet onglet dépend du serveur de base de données sélectionné. Sur celui-ci, vous pouvez définir un type de données spécifique correspondant à un domaine, des règles pour attribuer des valeurs NULL, des règles de validation (règles pour vérifier les valeurs valides) et définir une valeur par défaut. Les règles de validation et les valeurs par défaut doivent être préalablement décrites et nommées. Pour ouvrir les boîtes de dialogue d'édition des règles de validation et des valeurs par défaut, utilisez les boutons à droite de la liste de sélection correspondante (Valide et Défaut).

Fonctions des autres onglets de la boîte de dialogue Éditeur de dictionnaire de domaine :

Général. Définition du domaine parent et du nom attribué à la colonne lors de sa création à l'aide du navigateur de colonnes indépendant. Avec l'option Phisical Only, le domaine ne peut être défini qu'au niveau du modèle physique.

Commenter. Ajout d'un commentaire à l'attribut.

UDP... Propriétés définies par l'utilisateur.

Visual Basic- PowerBuilder. Définition de propriétés de domaine spéciales pour la génération de code d'application client.

Tâche à exécuter.

Sur la base du modèle fonctionnel précédemment créé et de la description du domaine, créez un modèle logique à l'aide du package ERwin.

Travail de laboratoire № 7.
Les bases d'Erwin. Préparation d'un modèle de données physique pour la génération de base de données

1. Objet du travail : maîtriser les principes de préparation d'un modèle physique de données pour générer un catalogue de base de données système.

1. Questions d'étude

  1. Développer un modèle de données relationnelles enERwin.
  2. Normalisation du modèle de données physique dansERwin.

2. Plan de cours

  1. Contrôle des connaissances par tests (test ISE005).
  2. Importation d'entités dans ERwin.
  3. Développement de modèles de données logiques et physiques dans ERwin en utilisant la méthodologie IDEF1X.
  4. Normalisation du modèle de données physique dans ERwin.
  1. Importer des entités dans urgencegagner,à l'aide d'un fichier Données _IS_Nom. bpx, et sur la base de l'ensemble d'entités obtenu, développer un modèle de données logique.

Commenter: Si les noms d'entités et d'attributs ont été créés en cyrillique (en russe), ils doivent être réécrits en caractères latins.

  1. Créer des modèles de données logiques et physiques à l'aide d'outils ERwin.

  2. dans ton dossier ISE.
  3. Le modèle physique doit être normalisé en résolvant les relations MANY-TO-MANY à l'aide du bouton Plusieurs à plusieurs se transforment barres d'outils urgence gagnerBarre d'outils de transformation.
  4. Enregistrer les résultats dans un fichier
    Data_Model_IS_Name_IDEF1X.er1 dans ton dossier ISE.

Un EXEMPLE de modèle logique, ainsi qu'un modèle de données physique normalisé, implémenté dans la technologie IDEF1X est donné dans.

4. Processus technologique d'exécution des tâches

4.1. Processus technologique de création de modèles de données

4.1.1. Méthodologie de modélisation (Méthodologie IDEF1X)

Méthodologie IDEF1X utilisé par l'outil CASE ERwin pour construire des modèles de données logiques et physiques du système d'information.

ERwin dispose d'une interface utilisateur simple et intuitive pour construire des modèles de données logiques et physiques traités par le système. V logique modèle, il est permis de créer des relations MANY-TO-MANY entre les entités et le nom de l'attribut ( Nom d'attribut) sera le nom de l'attribut dans logique modèle et le nom de la colonne ( Nom de colonne), s'il est donné, sera le nom de l'attribut dans physique des modèles.

Dans n'importe lequel de ces modèles, vous pouvez convertir automatiquement une relation MANY-TO-MAN en une relation ONE-TO-MANY.

Cela créera une table subordonnée qui découple la relation MANY-TO-MANY. Cette table contiendra une clé composite intégrée (FK) avec des attributs intégrés à partir des tables principales et leurs types de données correspondants. Si vous devez modifier le type de données, vous devez le faire manuellement.

Le processus de création d'un modèle comprend les étapes suivantes :

  1. Un nouveau modèle peut être créé à partir de la fenêtre Associés en informatique ERwin ou cliquez sur le bouton Créer un modèle. Dans les deux cas, une boîte de dialogue s'affichera. Créer un modèle - Sélectionner un modèle (fig. 5.1).
  1. Dans la fenêtre Créer un modèle - Sélectionner un modèle vous devez sélectionner l'option qui détermine la possibilité de créer des modèles de données d'un certain type : Logique(vous ne pouvez créer que Modèle logique), Physique(vous ne pouvez créer que Modèle physique) ou Logique / Physique(vous pouvez créer les deux modèles en parallèle : et Logique , et Physique). Pour avoir plus d'options, il est conseillé de choisir cette dernière option - Logique / Physique .
  2. V Groupe de base de données cible de la liste suggérée dans le domaine Base de données, sélectionnez un système de gestion de base de données (SGBD) - serveur SQL, et sur le terrain Version la version que vous voulez - 2000 .
  3. Dans la fenêtre qui apparaît < Main Subject Area >/ Affichage] sélectionnez le type du modèle créé dans la liste : Logique ou Physique(fig.5.2).

Dans la barre d'outils Boîte à outils ERwin contient des boutons qui vous permettent d'ajouter au modèle de données et de modifier ses fragments individuels :

Sélectionner(édition de l'objet modèle sélectionné),

Entité(ajout d'entité),

Relation plusieurs - à - plusieurs(Relation plusieurs-à-plusieurs)

Relation d'identification (connexion identifiante),

Relation non-identifiante (relation non identificatoire).

4.1.2. Le processus technologique de création d'un modèle de données logique

Dans le processus de création d'un modèle, des entités peuvent être injectées en important à partir d'un dictionnaire d'entités développé dans BPwin, ou en créant avec un bouton Entité sur la barre d'outils.

Importer des entités dans ERwin

Remarques

  • Les entités ne peuvent être exportées et importées qu'une seule fois.
  • Après avoir importé des entités de BPwin drapeaux Échangez avec ERwin et boutons Mettre à jour et Effacer dans la boite de dialogue Éditeur de dictionnaire d'entités et d'attributs devenir terne. C'est parce que vous ne pouvez pas modifier les entités et les attributs qui BPwin partage avec ERwin.

  1. Création de nouvelles entités.
    • Cliquez sur le bouton ajouter des entités Entité et cliquez dans la fenêtre du modèle.
    • Ajuster nom de l'entité et appuyez sur Entrer, puis entrez Nom d'attribut entités.
    • Pour sélectionner la police souhaitée, exécutez p. 1.9–1.12.
  2. Ajout de nouveaux attributs.
    • Dans le menu contextuel de l'entité, sélectionnez la commande Les attributs ... et dans la fenêtre qui apparaît (Fig.5.4) appuyez sur le bouton Nouveau.
    • Dans la fenêtre Nouveaux attributs(Fig. 5.6) entrez le nom de l'attribut dans le champ Nom d'attribut .
    • Définissez le type de données de chaque attribut pour chaque entité : Champ de texte (chaîne), numérique (nombre), date/heure (Datetime) ou mémo (B inaireL argeOb projet, Blob) (fig.5.5 ou fig.5.6) .
    • Définir les attributs clés en cochant la case Clé primaire dans la fenêtre Les attributs(Fig.5.5) après avoir mis en surbrillance l'attribut requis dans le champ Attribut.

Établir des relations entre les entités

  1. Configuration de la communication MANY-TO-MANY :
    • Dans la barre d'outils Boîte à outils Erwin appuyez sur le bouton Relation plusieurs à plusieurs .
    • Faites un clic gauche séquentiel sur les noms des entités entre lesquelles vous souhaitez créer une relation (Fig. 5.7).

  1. Installation identifier Connexions ONE-TO-MANY :
    • Dans la barre d'outils Boîte à outils Erwin appuyez sur le bouton Relation d'identification.
    • clé attribut clé entité subordonnée (FK) situé côté LOT (fig. 5.8).
    • Une clé composite est générée dans l'entité subordonnée.

  1. Installation non identifiant Connexions ONE-TO-MANY :
    • Dans la barre d'outils Boîte à outils Erwin appuyez sur le bouton Relation non-identifiante .
    • Faites un clic gauche séquentiel sur les noms des entités entre lesquelles vous souhaitez créer une relation. Le résultat de la création d'une connexion sera l'introduction clé attribut de l'entité principale comme attribut non clé entité subordonnée (FK) situé côté LOT (fig. 5.9).

4.1.3. Processus technologique de création d'un modèle physique de données

Le résultat de l'exécution de la commande sera un modèle physique créé automatiquement, dans lequel les tables seront présentées à la place des entités, et les champs de la table seront présentés à la place des attributs d'entité.

  1. Dans le modèle physique, vérifiez les types de données et les relations établies entre les tables.

4.2. Workflow de normalisation des modèles de données physiques (méthodologie IDEF1X)

  1. Dans la fenêtre Associés en informatique ERwin -)
2021 wisemotors.ru. Comment ça fonctionne. Le fer. Exploitation minière. Crypto-monnaie.