La cloche.

Il y a ceux qui ont lu cette nouvelle devant vous.
Abonnez-vous pour recevoir des articles frais.
E-mail
Nom
Nom de famille
Comment voulez-vous lire la cloche
Sans spam

L'un des moyens les plus populaires de présentation officialisée du sujet des systèmes de traitement orientés système est le modèle "Essence - Communications", qui repose sur un nombre important de produits de cas commerciaux soutenant le cycle complet des systèmes de base de données ou étapes séparées. Dans le même temps, beaucoup d'entre eux appuient non seulement le stade de la conception conceptuelle du sujet du système développé, mais leur permettent également d'être effectué sur la base du modèle construit par leurs moyens de conception logique par Génération automatique d'un schéma de base de données conceptuel pour le SGBD sélectionné, par exemple, un schéma de base de données pour tout SQL -Server ou MDBM d'objet.

La simulation de la zone dans ce cas est basée sur l'utilisation de diagrammes graphiques, y compris un nombre relativement petit de composants et la chose la plus importante - technologie de constructionces diagrammes.

La base sémantique du modèle ER fait les hypothèses suivantes:

cette partie du monde réel (un ensemble d'objets interdépendants), des informations sur lesquelles devrait être placée dans la base de données peut être présenté, commele total entités;

chaque entité a des propriétés caractéristiques (attributs) qui le distinguent des autres entités et leur permettant pour identifier;

les entités peuvent être classées par les types d'entités: chaque instance de l'entité (représentant un objet) peut être attribuée. àclasser - type d'entitéschaque copie dont dispose des propriétés communes et distinguées des entités d'autres classes;

la systématisation de la présentation basée sur des classes en général suggère la dépendance hiérarchique des types: l'essence du type MAIS est un subtypeessence DANS,si chaque instance du type MAIS est une instance de l'essence du type DANS;

l'interconnexion des objets peut être représentée comme relation,qui servent à la fixation (présentation) de l'interdépendance de deux entités ou plus.

Ici devrait encore une fois souligner la nature de l'information du concept essenceet son rapport avec des objets matériels ou imaginaires de la matière. Tout objet du sujet a des propriétés, dont certaines se démarquent comme caractéristique - significative du point de vue d'une tâche appliquée. Dans le même temps, par exemple, en train d'analyser et de systématiser la zone, généralement allouée des classes -la combinaison d'objets avec le même ensemble de propriétés spécifiées sous la forme ensembles d'attributs(Les valeurs d'attribut pour des objets de classe, naturellement, peuvent varier). En conséquence, au niveau de la présentation du sujet (c'est-à-dire son modèle infologique), l'objet considéré comme le concept (l'objet dans la conscience d'une personne) correspond au concept essence;objet, dans le cadre du monde matériel (et existant indépendamment de la conscience humaine), correspond au concept instance de l'entité;la classe d'objets correspond au concept type d'entité.


À l'avenir, comme il n'y a pas de cas séparé d'objets dans le modèle d'infographie, mais des classes, nous ne distinguerons pas les concepts correspondants de ces deux niveaux, c'est-à-dire que nous assumerons l'identité des concepts un objetet entité, propriété d'objetet entité de propriété.

Modèleen tant que description de la zone, il doit définir des objets et des relations entre eux, c'est-à-dire établir les liens des deux types suivants.

1. Liens entre les objets et les ensembles de propriétés caractéristiques et définissent ainsi les objets eux-mêmes.

2. Communication entre les objets définissant la nature et la nature fonctionnelle de leur interdépendance.

Comme indiqué précédemment, la modélisation ER du sujet est basée sur l'utilisation de graphiques graphiques, en tant que méthode simple (familière), visuelle et à la fois informative et multidimensionnelle d'affichage des composants du projet. Par conséquent, la présentation des dispositions de base du modèle ER sera illustrée par le matériau du diagramme ER, illustré à la Fig. 5.4.

Essence.L'essence par laquelle la classe du même type d'objets est simulée est définie comme "un élément pouvant être clairement identifié". Tout comme chaque objet est particulièrement caractérisé par un ensemble de valeurs de propriétés, l'essence doit définirainsi ensemble d'attributsqui permettrait de distinguer les spécimens d'entité individuels. Chaque cas d'une entité doit être distingué de tout autre exemple de la même entité (cette exigence est similaire à l'exigence de l'absence de tuples-duplicats dans des tableaux relationnels). Par exemple, pour l'identification sans ambiguïté de chaque instance de l'entité des employés, l'attribut Number Tabel est introduit, qui aura toujours due à sa nature. signification unique au sein de l'entreprise. C'est-à-dire que l'identifiant unique de l'entité peut être un attribut, une combinaison d'attributs, une combinaison d'obligations ou une combinaison de connexions et d'attributs, distinguant de manière unique toute instance de l'entité provenant d'autres cas de l'essence du même type.

L'entité a nom,unique dans le modèle. Où nom de l'entité -c'est nom de typepas une instance spécifique.

Les entités sont divisées par fortet faible.L'essence est faible si son existence dépend de l'autre entité forte par rapport à Knei. Par exemple, l'entité "subordonnée" est faible par rapport à àentités "Employee": Si un enregistrement est supprimé, correspondant à certains employés avec subordonnés, les informations de subordination doivent également être supprimées.

Propriétés.Propriétés de la nature comme caractère de communicationles propriétés avec essence (objet) peuvent être différentes. Considérez les principaux types de propriétés.

La propriété peut être plusieursou alors célibataire -i.E. L'attribut définissant la propriété peut simultanément plusieurs valeurs ou, respectivement, une seule. Par exemple, un employé peut avoir plusieurs spécialités, mais le seul sens est "Numéro tabel".

La propriété peut être simple(non soumis à une division supplémentaire du point de vue des tâches appliquées) ou composite -si sa valeur est composée des valeurs des propriétés simples. Par exemple, la propriété "Année de naissance" est simple et la propriété "adresse" est composite, car elle inclut les valeurs des propriétés simples de la "ville", "rue", "maison".

Dans certains cas, il est utile de distinguer de baseet dérivéspropriétés. Par exemple, le "fournisseur" peut avoir un "nombre total de pièces fournies", qui est calculé par la résumé du nombre de pièces fournies par lui par le projet.

Si la présence d'une certaine propriété pour toutes les instances de l'entité n'est pas obligatoire, une telle propriété est appelée. conditionnel.Par exemple, tous les employés ne disposent pas de la propriété "degré scientifique".

Les valeurs de propriété peuvent être permanentes - statiqueou alors dynamiquec'est-à-dire changer avec le temps. Par exemple, la propriété "Numéro tabel" est statique et "l'adresse" est dynamique. La propriété peut être incertains'il est dynamique, mais sa valeur actuelle n'est pas encore définie.

La propriété peut être considérée comme clési sa valeur est unique et, peut-être, dans un contexte spécifique, identifie définitivement l'essence. Par exemple, un subordonné de certains employés.

La communication.Outre les liens entre l'objet et ses propriétés, le modèle d'infographie reflète la relation entre les objets de différentes classes. DANS la communicationdéterminé comme "association, combinant plusieurs entités". Cette association peut toujours exister entre différentes entités ou entre l'essence et elle elle-même (communication récursive).

Comme l'essence, la connexion est taperconcept, c'est-à-dire que toutes les instances d'entités contraignantes sont soumises aux règles relatives aux types de liaison. Le principe de différences dans les types de liens entre types et instances est illustré par le diagramme ER des types et des instances illustrées à la Fig. 5.5

Les entités combinées par la communication sont appelées participants. Degré de communicationdéterminé par le nombre de participants à la communication.

Si chaque copie de l'entité participe, au moins dans une copie de la communication, une telle participation de cette entité est appelée. plein(ou alors obligatoire);autrement - incomplet(ou alors optionnel).

La nature quantitative de la participation des instances d'entités (un ou plusieurs) est définie type de communication(ou alors capacité de communication)Les types suivants sont possibles: "Un par un"(1:1), "Un à plusieurs"(1m), "Beaucoup à un"(M: 1), "Plusieurs à plusieurs"(M: m).

Il convient de noter que l'outil Cravate est un moyen de représentation objets complexeschacun d'eux peut être considéré comme beaucoup d'une manière ou d'une autre interdépendamment objets simples.La division en objets simples et complexes, ainsi que la nature de la relation, est conditionnelle et est déterminée par les caractéristiques de l'analyse de la matière, à savoir, à la fin, la nature de l'utilisation de ces différentes applications dans la résolues tâches appliquées. Dans ce cas, du point de vue, par exemple, le concepteur, la partie est un objet complexe et du point de vue du fournisseur - simple.

Parmi de nombreuses variantes des relations, c'est la relation la plus fréquente d'un type hiérarchique, comme "une partie - tout" "," tige est gentil. "

La relation "partie - tout" est utilisée pour représenter objets composés.Par exemple, les machines sont constituées de nœuds, de nœuds consistent en pièces. Ici est possible comme une relation "Un à plusieurs",donc je. "Plusieurs à plusieurs".

Le ratio "tige - vue" - pour la présentation objets généralisés. Par exemple, les employés sont subdivisés par la profession sur les concepteurs, les programmeurs, les travailleurs; Programmeurs - sur les programmeurs appliqués et les programmeurs système. Les relations hiérarchiques, et en particulier, des "espèces génériques" sont couramment utilisées comme base pour classer les objets en fonction des ensembles de caractéristiques. De plus, "espèce" objets hériterpropriétés de "naissance".

Un autre type d'interconnexion largement utilisé est l'agrégation - combinant des objets simples dans un complexe sur le principe de leur appartenance agrégatou leur participation commune à un processus. L'agrégation, considérée ici, comme un cas plus général de relations hiérarchiques, combine des objets de nature différente avec la seule propriété commune de la "participation commune". Les objets agrégés sont généralement mentionnés par des noms non agrandis, par exemple, "Structure":SUBDIVISION comprendDes employés; "Fournir":FOURNISSEUR délivreDes détails.

Superypes et sous-types.Essence peut être divisé en deux ou plusieurs exclusives mutuellement exclusives sous-typeschacun d'entre eux inclut des attributs généraux et / ou une communication. Ces attributs et / ou communications communs sont clairement définis une fois à un niveau supérieur. Les sous-types peuvent déterminer leurs propres attributs et / ou liens. En principe, la libération de sous-types peut continuer à des niveaux inférieurs, mais dans la plupart des cas, il y a suffisamment de deux ou trois niveaux.

L'essence sur la base de laquelle des sous-types sont déterminés, appelés superype.Les sous-types doivent former un ensemble complet, c'est-à-dire une instance de la supera consiste à se rapporter à une subtepa. Parfois, pour l'exhaustivité de l'ensemble, vous devez déterminer le sous-type supplémentaire, par exemple, d'autres.

Le sous-type hérite des propriétés et des connexions du superype. Par exemple, le type d'essence PROGRAMMEURc'est un sous-type d'essence Employé.Les programmeurs ont toutes les propriétés des employés et participent à toutes les connexions, mais les déclarations inverse sont incorrectes.

Type d'entité, ses sous-types, sous-types de ces sous-types, etc. hiérarchie des types d'entité,un exemple dont il est montré à la Fig. 5.6.

Dans la conception réelle de la structure de la base de données, la méthode est utilisée - la soi-disant modélisation sémantique. La modélisation sémantique est la modélisation de la structure de données, basée sur la signification de ces données. Diverses options sont utilisées comme outil de modélisation sémantique graphique essence-communication(ER - Entity-relation).

La première version du modèle de communication entité a été proposée en 1976 par Peter Pin Sheng Chen. À l'avenir, de nombreux auteurs ont développé leurs propres variantes de modèles similaires (notation Martin, notation IDEF1X, notation de barcker, etc.). De plus, divers logicielLa mise en œuvre de la même notation peut différer de leurs capacités. En fait, toutes les variantes des graphiques Essence Les communications proviennent d'une idée - le dessin est toujours visuellement comme une description de texte. Tous ces diagrammes utilisent graphique Les entités du sujet, leurs propriétés (attributs) et leurs interconnexions entre entités.

Nous allons décrire le travail avec des diagrammes ER près de la notation de l'Barker, aussi facile à comprendre les idées principales. Ce chapitre est plus susceptible d'illustrer les méthodes de modélisation sémantique que la pleine introduction dans cette zone.

Concepts de base des diagrammes ER

Définition 1.: Essence- Ceci est la classe du même type d'objets, des informations sur lesquelles il convient de prendre en compte dans le modèle.
Chaque entité doit avoir le nom exprimé par des noms au singulier. Des exemples d'entités peuvent être de telles classes d'objets comme "fournisseurs", "employé", "facture". Chaque entité du modèle est décrite comme un rectangle avec le nom:

Figure. une

Définition 2.: Instance d'entité- Ceci est un représentant spécifique de cette entité.
Par exemple, le représentant de l'entité "employé" peut être "Employé Ivanov". Les instances d'entrée doivent être distinctes, c'est-à-dire Les entités doivent avoir des propriétés uniques pour chaque instance de cette entité.

Définition 3: Attribut de l'essence- Ceci est une caractéristique nommée, qui est une partie de la nature de l'essence.
Le nom de l'attribut doit être exprimé par des noms au singulier (éventuellement avec des adjectifs de caractérisation). Des exemples des attributs de l'entité de "employé" peuvent être tels que "Numéro tabel", "Nom", "Nom", "Patronyme", "Position", "Salaire", etc. Les attributs sont représentés dans le rectangle définissant l'essence:

Figure. 2.

Définition 4.: Essence clé- Il s'agit d'un ensemble inadéquat d'attributs dont les valeurs sont uniques pour chaque instance d'entité. L'inconvénient est que la suppression de tout attribut de la clé est perturbée par son caractère unique. L'entité peut avoir plusieurs clés différentes. Les attributs clés sont représentés dans un schéma souligné:

Figure. 3.

Définition 5: la communication- Ceci est une association entre deux entités. Une entité peut être associée à une autre essence ou à elle-même.
Les relations permettent à une entité de trouver d'autres entités associées à celle-ci. Par exemple, les liens entre les entités peuvent être exprimés par les phrases suivantes: "L'employé peut avoir plusieurs enfants" "," chaque employé est obligé d'être lisse dans un département ". Graphiquement, la connexion est décrite par une ligne reliant deux entités:

Figure. quatre

Chaque connexion a deux extrémités et un ou deux noms. Le nom est généralement exprimé dans une forme de verbe indéfinie: "avoir", "appartenir", etc. Chacun des articles fait référence à sa fin de communication. Parfois, les noms ne sont pas écrits compte tenu de leurs preuves.

Chaque connexion peut avoir l'une des opérations suivantes types de communication:

Figure. cinq

Type de type un par uncela signifie qu'une copie de la première essence (à gauche) est associée à une copie de la deuxième essence (à droite). La communication dont une à une indique le plus souvent que, en fait, nous n'avons qu'une entité, non divisée de manière incorrecte en deux.

Type de type un à plusieurscela signifie qu'une copie de la première essence (à gauche) est associée à plusieurs copies de la deuxième essence (à droite). C'est le type de communication le plus couramment utilisé. Essence gauche (de "One") appelée parental, à droite (de "beaucoup") - la fille. Un exemple caractéristique d'une telle relation est illustré à la Fig. quatre.

Type de type plusieurs à plusieurscela signifie que chaque instance de la première essence peut être associée à plusieurs copies de la deuxième entité, et chaque instance de la deuxième entité peut être associée à plusieurs copies de la première essence. Le type de communication est nombreux-à-plusieurs est un type de communication temporaire, admissible aux premiers stades du développement du modèle. À l'avenir, ce type de communication doit être remplacé par des connexions de type à deux ou plusieurs en créant une entité intermédiaire.

Chaque connexion peut avoir l'une des deux modalités de communication:

Figure. 6

Modalité pouvez"signifie qu'une instance d'une entité peut être associée à une ou plusieurs instances d'une autre entité, et peut ne pas être associée à aucune instance.
Modalité devrait"Signifie qu'une instance d'une entité doit être associée au moins avec une copie d'une autre entité.
La communication peut avoir une modalité différente de différentes extrémités (comme sur la Fig. 4). La syntaxe graphique décrite vous permet de lire sans ambiguïté les graphiques, en utilisant le schéma suivant des phrases de construction:

<Каждый экземпляр СУЩНОСТИ 1> <МОДАЛЬНОСТЬ СВЯЗИ> <НАИМЕНОВАНИЕ СВЯЗИ> <ТИП СВЯЗИ> <экземпляр СУЩНОСТИ 2>

Chaque relation peut être lu à la fois de gauche à droite et droite à gauche. Communication sur la Fig. 4 se lit comme suit:

De gauche à droite: "Chaque employé peut avoir plusieurs enfants."
De droite à gauche: "Chaque enfant est obligé d'appartenir exactement à un employé".

Un exemple de développement de modèle ER simple

Lorsque nous développons des modèles ER, nous devons obtenir l'information suivante À propos de la zone:

  1. Liste des entités d'objet.
  2. Liste des attributs des entités.
  3. Description des relations entre entités.

Les diagrammes ER sont pratiques car le processus de sélection d'entités, d'attributs et de connexions est itératif. Après avoir développé la première version approximative des graphiques, nous les clarifions, polissons les experts du domaine. Dans le même temps, la documentation dans laquelle les résultats des conversations sont enregistrés sont les diagrammes ER eux-mêmes.

Supposons que nous soyons confrontés à la tâche de développer un système d'information pour l'Ordre de certaines sociétés de négociation en gros. Tout d'abord, nous devons apprendre le domaine et les processus qui se produisent. Pour ce faire, nous interviewons les employés de la société, lisons la documentation, nous étudions les formes d'ordres, de factures, etc.

Par exemple, lors d'une conversation avec un responsable des ventes, il s'est avéré qu'il (gestionnaire) estime que le système de concepteur devrait effectuer les actions suivantes:

  • Stockez des informations sur les acheteurs.
  • Impression de frais généraux pour les marchandises libérées.
  • Surveiller la disponibilité des marchandises en stock.

Nous soulignons tous les noms dans ces propositions - ce seront des candidats potentiels pour l'essence et les attributs et les analyseront (les termes incompréhensibles seront attribués au point d'interrogation):

  • L'acheteur est un candidat clair pour l'essence.
  • La facture est un candidat clair pour l'essence.
  • Produit - Un candidat explicite pour l'essence
  • (?) Entrepôt - mais en général, combien d'entrepôts ont une entreprise? Si quelques-uns, ce sera un candidat pour une nouvelle entité.
  • (?) La disponibilité des biens est probablement un attribut, mais quel est l'attribut d'entité?

Saute immédiatement un lien évident entre les entités - "Les acheteurs peuvent acheter de nombreux biens" et "les marchandises peuvent être vendues à de nombreux acheteurs." La première version du diagramme ressemble à ceci:

Figure. 7.

En posant des questions supplémentaires au gestionnaire, nous avons découvert que la société a plusieurs entrepôts. De plus, chaque produit peut être stocké dans plusieurs entrepôts et être vendu à partir de n'importe quel entrepôt.

Où placer les entités "Facture" et "Warehouse" et avec quoi les attacher? Je vous demande comment ces entités sont connectées les unes avec les autres et avec les entités "Acheteur" et "Produit"? Les acheteurs achètent des marchandises pour obtenir des frais généraux dans lesquels des données sur le numéro et le prix des marchandises achetées sont effectuées. Chaque acheteur peut avoir quelques frais généraux. Chaque facture est obligée d'être écrite sur un acheteur. Chaque facture doit contenir plusieurs marchandises (pas de surcharge vides). Chaque produit, à son tour, peut être vendu à plusieurs clients à travers plusieurs frais généraux. De plus, chaque facture doit être rejetée d'un entrepôt spécifique et de tout entrepôt peut être déchargé de nombreuses factures. Ainsi, après clarification, le diagramme ressemblera à ceci:

Figure. huit

Il est temps de penser aux attributs des entités. Discuter avec des employés de la société, nous avons découvert ce qui suit:

  • Chaque acheteur est entité légale Et a le nom, l'adresse, les coordonnées bancaires.
  • Chaque produit a le nom et caractérisé par des unités de mesure.
  • Chaque facture a numéro unique, Date de sortie, liste de produits avec des quantités et des prix, ainsi que le montant total de la facture. La facture est déchargée d'un entrepôt spécifique et d'un acheteur spécifique.
  • Chaque entrepôt a son propre nom.
  • Nous allons répéter tous les noms qui seront des attributs potentiels et les analyseront:
  • Entité juridique - Le terme rhétorique, nous ne travaillons pas avec personnes. Ne fais pas attention.
  • Nom de l'acheteur - caractéristique explicite Acheteur.
  • L'adresse est la caractéristique explicite de l'acheteur.
  • Les détails bancaires sont les caractéristiques évidentes de l'acheteur.
  • Le nom du produit est la caractéristique explicite des marchandises.
  • (?) Le prix des biens - il semble que c'est la caractéristique des marchandises. Est-ce caractéristique du prix de la facture?
  • L'unité de mesure est la caractéristique explicite des marchandises.
  • Le nombre de frais généraux est une caractéristique unique évidente de la facture.
  • La date de la facture est une caractéristique évidente de la facture.
  • (?) Liste des marchandises dans la facture - La liste ne peut pas être un attribut. Probablement, vous devez mettre en évidence cette liste dans une entité distincte.
  • (?) Le nombre de marchandises dans la facture est une caractéristique évidente, mais quelle est la caractéristique de quoi? Cette caractéristique n'est pas simplement un "produit", mais "marchandises dans la facture".
  • (?) Le prix des marchandises dans la facture - encore une fois, cela ne devrait pas être la caractéristique du produit, mais la caractéristique du produit dans la facture. Mais le prix des marchandises a déjà rencontré ci-dessus - est celui-ci et le même?
  • La somme de la facture est la caractéristique évidente de la facture. Cette caractéristique n'est pas indépendante. La somme de la facture est égale à la somme des valeurs de tous les biens inclus dans la facture.
  • Le nom de l'entrepôt est la caractéristique évidente de l'entrepôt.

Au cours d'une conversation supplémentaire avec le gestionnaire a réussi à clarifier divers concepts de prix. Il s'est avéré que chaque produit a un prix actuel. Ce prix pour lequel le produit est vendu pour le moment. Naturellement, ce prix peut varier avec le temps. Le prix du même produit dans divers frais généraux, déchargés à des moments différents, peut être différent. Ainsi, il y a deux prix - le prix des marchandises dans la facture et le prix actuel des marchandises.

Avec le concept de "liste des marchandises dans la facture" tout est assez clair. Les entités "facture" et "marchandises" sont liées à l'autre attitude du type de plusieurs copieux. Une telle connexion, comme nous l'avons noté plus tôt, devrait être divisée en deux liaisons telles qu'un à plusieurs. Cela nécessite une entité supplémentaire. Cette essence sera l'essence de la "liste des biens dans la facture". Sa connexion avec les entités "La facture" et le "produit" est caractérisée par les phrases suivantes - "Chaque facture est obligée de disposer de plusieurs entrées de la liste des marchandises dans la facture" "," chaque entrée de la liste des marchandises dans la facture est obligé d'activer exactement une chevauchement "," Chaque produit peut être inclus dans plusieurs enregistrements de la liste des marchandises de la facture "", "Chaque entrée de la liste des marchandises dans la facture est obligée d'être associée exactement à un seul produit. . " Attributs "Le nombre de marchandises dans la facture" et "prix des marchandises dans la facture" sont des attributs de l'entité "Liste des marchandises dans la facture".

De même, nous communiquerons avec la connexion reliant l'entité "Warehouse" et "Produit". Nous introduisons une entité supplémentaire "marchandises en stock". L'attribut de cette entité sera "la quantité de marchandises en stock". Ainsi, le produit sera inscrit sur n'importe quel entrepôt et son numéro sur chaque entrepôt sera le sien.

Maintenant, vous pouvez tout faire dans le diagramme:

Figure. neuf

Modèles conceptuels et physique

L'exemple d'un diagramme ER développé ci-dessus est un exemple. diagramme conceptuel. Cela signifie que le diagramme ne prend pas en compte les caractéristiques d'un SGBD spécifique. Sur ce diagramme conceptuel, vous pouvez construire diagramme physiquequi seront déjà pris en compte de telles caractéristiques du SGBD comme types et noms autorisés de champs et de tables, de limitations d'intégrité, etc. La variante physique du diagramme illustrée à la Fig. 9 peut regarder, par exemple, comme suit:

Figure. dix

Sur ce diagramme, chaque entité est une table de base de données, chaque attribut devient une colonne de la table correspondante. Faites attention au fait que dans de nombreuses tables, par exemple, «cust_detail» et «prod_in_sklad» correspondant aux entités «Liste d'enregistrements de la facture» et «marchandises en stock» apparaissait de nouveaux attributs qui n'étaient pas dans modèle conceptuel - ce sont des attributs clés des tables parent, migrédans des tables enfants afin d'assurer la communication entre les tables via des clés externes.

Il est facile de noter que les tables obtenues sont immédiatement situées dans 3 NF.

conclusions

Le moyen réel de données de modélisation n'est pas une méthode formelle de normalisation des relations, mais appelée modélisation sémantique.

Diverses options sont utilisées comme outil de modélisation sémantique graphique essence-communication(ER - Entity-relation).

Les diagrammes Essence-Communications vous permettent d'utiliser une notation graphique visuelle pour la modélisation des entités et leurs relations.

Distinguer conceptuelet physiqueDiagrammes er. Les diagrammes conceptuels ne prennent pas en compte les caractéristiques de SGBD spécifiques. Les graphiques physiques sont construits sur conceptuels et constituent un prototype d'une base de données particulière. Les entités définies dans le diagramme conceptuel deviennent des tables, des attributs deviennent des colonnes de tableaux (et les types de données et noms de colonnes autorisés pour ce SGBD sont pris en compte), les liens sont mis en œuvre par migrationattributs clés des entités parentales et création de clés externes.

Avec une définition appropriée des entités, les tables obtenues seront immédiatement dans 3 Newf. L'avantage principal de la méthode est que le modèle est construit par la méthode de raffinement consécutif des diagrammes initiaux.

Dans ce chapitre, qui illustre des méthodes de modélisation ER, des aspects plus complexes des constructions de diagrammes ne sont pas pris en compte, tels que des sous-types, des rôles, une élimination de la communication, des liaisons intolérables, d'identifier les communications, etc.

Modèle logique Les données (essentielles) sont une représentation logique indépendante des données.

Modèle physique (Table) Les données contiennent des définitions de tous les objets implémentés dans une base de données spécifique pour un SGBD spécifique.

Les modèles sont la pierre angulaire de la conception. Les ingénieurs devraient construire un modèle de voiture, élaborer tous les détails avant de l'exécuter dans la production. De la même manière, les ingénieurs du système développent d'abord des modèles pour étudier la logique commerciale et approfondir la compréhension de la structure de la base de données.

Dans la dernière conférence, nous avons connu des méthodologies IDEF0 et DFD qui vous permettent de décrire les processus opérationnels qui coulaient dans le système d'information. Dans le modèle DFD, nous avons examiné l'élément - un entrepôt de données indiquant les types d'informations que le système fonctionne. Cependant, cette méthodologie n'est pas destinée à décrire la structure des informations stockées. Pour cela, diverses relations entiétaux sont plus appropriées - des graphiques (diagrammes essentiels), dont une description de la structure des données stockées et la relation entre elles. Méthodes qui vous permettent de convertir de telles données à un ensemble de commandes qui créeront le stockage (tableaux) nécessaires à l'intérieur de la base de données du système d'information.

Er modélisation

DANS systèmes d'informationah, les données sont divisées en catégories ou entités distinctes. Après tout, nous nous souvenons que la base de données est un ensemble de données structurées. Données de différents types Stocké séparément. La tâche du modèle ER est de montrer quels types d'informations sont stockés dans le système, quelle structure et leur interconnexion sont interconnectés. Le modèle ER repose sur la base d'une analyse commerciale (diagramme DF construit). Dans le même temps, initialement, chaque stockage sur le diagramme DF devient essentiellement sur le diagramme ER. Au cours d'une analyse ultérieure, ils peuvent être écrasés en partie. Il convient de noter que les modèles ER sont plus résistants aux changements de structure de l'entreprise que les diagrammes DF. Les processus métier peuvent changer, mais les informations sont nécessaires pour leur mise en œuvre, reste souvent inchangée.

Les principaux avantages des modèles ER:

  • Le format exact et compréhensible de documenter la structure des informations.
  • Vous permet de spécifier les exigences de données et les relations entre elles.
  • Vous permet d'afficher visuellement la structure de stockage pour faciliter la conception de la base de données.
  • Il existe des méthodes d'affichage des modèles ER dans la table de base de données et le dos.
  • Jeter la base de l'intégration avec d'autres applications.

Les principaux types d'objets sur le diagramme ER:

  • Entité (entité) - Type d'objets dont les informations seront stockées dans la base de données. Par exemple: départements, employés, biens, frais généraux.
  • Attribut - dont les éléments sont essentiellement. Par exemple, pour l'entité "Marchandises" Les attributs peuvent être "Nom", "Description", "Quantité", "Prix" et autres, en fonction des besoins du système d'information. En fonction de la notation du diagramme ER à côté de l'attribut, autre que son nom indique le type et l'obligation de remplissage. La diapositive présente le diagramme ER dans la notation "Ingénierie de l'information", selon laquelle le nom, le type, le type, est indiqué pour l'attribut et est une marée externe et / ou primaire.
  • Communication (relation) Afficher les connexions entre entités. Par exemple, un employé travaille dans le département où "département" et "département" est essentiellement.

Essence - Un ensemble d'objets du monde réel, chacun ayant les caractéristiques suivantes:

  • Unique (peut être séparé de tous les autres de quelque manière que ce soit)
  • En jouant un certain rôle Dans le système simulé
  • Peut être décrit par un ou plusieurs éléments d'information (attribut)

Exemple: personnes, personnel, événements, commandes, ventes, acheteurs, fournisseurs

L'attribut décrit certaines des propriétés de l'essence. L'essence peut avoir de nombreux attributs, mais seuls ceux-ci sont sélectionnés pour le système. Les attributs sont divisés en clés (touches d'entité) et descriptifs (descripteurs d'entité). Les attributs de clé doivent être identifiés de manière unique par les spécimens d'entité. Pour chaque attribut, un domaine doit être spécifié (type, domaine).

La diapositive montre comment les entités et les attributs de différentes notations de modèles ER sont écrits. Dans toutes les notations, l'entité est un objet rectangulaire, au sommet du nom de l'essence indiquée. Sous le nom même des attributs figurent.

Regardons plus en détail les attributs de clé. Ceci est important pour comprendre les types de connexions entre entités.

Termes de base

Le modèle relationnel peut être décrit par langue mathématique si nécessaire, c'est-à-dire la plus précise de la personne inventée. Vous trouverez ci-dessous des définitions incroyables de certains concepts du modèle relationnel.

  • "Type de données" (Type, Domean - Domain) - Beaucoup de valeurs autorisées ("zone de définition") et d'opérations. Pour tous les types, il existe des opérations de comparaison et d'affectation. Les valeurs ne sont pas interdites d'avoir une structure, par exemple un objet.
  • "Relation" (Relation) - Nombreux attributs: noms uniques avec raffinement de type de données; De plus, l'ensemble des "ensembles de valeurs" ("lignes") correspondant aux attributs. Les valeurs dans les ensembles ne peuvent être représentées que par des valeurs simples des types de types correspondants, c'est-à-dire d'être des scalaires ("1ère forme normale").
  • "Key" (clé) est un groupe d'attributs dont les valeurs de tous les ensembles sont différentes, mais aucun sous-groupe de ces attributs n'a pas de propriété (la propriété "minimale" de la clé). En particulier, le groupe peut consister en un seul attribut. La clé par rapport à la nécessité est toujours, et s'il y en a plusieurs, l'un d'entre eux doit être nommé «primaire» (primaire).
  • La "clé externe" (clé étrangère) est un groupe d'attributs dont les valeurs de chaque ensemble de ratios sont nécessaires pour coïncider avec les valeurs clés d'une autre relation. Les clés externes ne sont pas requises et proclamées par des besoins de modélisation.
  • "Opération" (opération) - une pluralité d'actions générales sur les relations en conséquence, la relation ("fermeture d'opérations"). Utilisé pour obtenir de nouvelles relations dans les besoins de la simulation ultérieure ou lors de la suppression des données nécessaires de la base. La liste des opérations peut être déterminée de différentes manières; Dans les premières phrases, le modèle a reçu huit opérations (projections, composés, sélection, etc.), pas de jeu minimal, en tant que compromis entre le manque de redondance et la facilité d'utilisation.
  • " Base de données relationnelle" (Base de données relationnelle) - un ensemble de relations.

Le "type de données" est parfois appelé "domaine" (domaine), mais parfois sous le "domaine", il n'y a qu'une "zone de définition" de valeurs. Le "ensemble de valeurs" (tuple) en russe est appelé différemment le "tuple" ou "N-Koy".

Pour plus de commodité, la relation est souvent représentée sous forme de tableaux, bien qu'une telle représentation soit illégalement (ni l'ordre des attributs ni l'ordre de magnitude, contrairement à la table). Dans SQL, sur la base desquels le DBMS Oracle, le concept de "relation" comme outil de modélisation est remplacé uniquement sur la "table". Une autre présentation de ces relations peut être hypercube, et il est également parfois pratique de recourir au raisonnement sur la base de données disponible.

Si vous refusez le mot de définition «relationnel», le terme «base de données relationnelle» peut être traduit comme «relation de base de données» (plus précisément », BD Construit À travers. relations "; relations comme un outil, pas un objet de modélisation: sinon, le terme source serait une base de données relationnelle). De même, le terme" modèle relationnel "peut être traduit en tant que" modèle de relation ", c'est-à-dire" le système de Concepts de construction d'un modèle de domaine sous la forme d'une relation définie. »Pour un certain nombre de raisons, y compris des personnages historiques et de langue, cela n'a pas été fait à la fois.

Toutes les relations de données sont décrites. évident et seul Les valeurs dans les ensembles (dans d'autres approches de la modélisation peuvent être autrement). Aucune dépendance "implicite" (y compris au niveau de la logique du programme), à \u200b\u200bl'exception des variables formulées, no. L'approche relationnelle délimite la description des données et l'application associée de la logique logicielle (en revanche, par exemple, une approche d'objet).

La présente vision de la base de données relationnelle (un ensemble de relations et d'opérations) est caractéristique de algèbre relationnelle. Ce n'est pas le seul point de vue. Chaque ensemble de valeurs dans une relation variable peut être compris comme une déclaration vraie ("prédicat"): il existe un tel employé avec de telles propriétés; Un tel ministère et ainsi de suite. Ainsi, la base de données relationnelle à tout moment est un ensemble de véritables déclarations sur le sujet, formulées par des relations. En fait, un ensemble de déclarations dans des relations variables et constitue un modèle du sujet représenté par la base de données. Une telle vue sur la base de données relationnelle est caractéristique de calcul relationnel. Les deux vues sur le modèle relationnel sont bien étudiées et prouvées par leur équivalence expressive.

Pour les termes énumérés sur la diapositive précédente, il existe des équivalents informels, afin de mieux comprendre et de vous rappeler leur signification:

  • Attitude → Table
  • Message → Chaîne, enregistrement
  • Cardinalité → Nombre de chaînes
  • Attribut → Colonne, champ
  • Diplôme → Nombre de colonnes
  • Touche principale → identifiant
  • Domaine → Zone de valeurs admissibles

Champs clés

Une partie des attributs de la relation est la clé ou les clés. Plusieurs types de clés sont distingués:

  • Une clé simple - consiste en un attribut, composite - de plusieurs.
  • Touche potentielle - attribut ou ensemble d'attributs pouvant identifier chacun des utilles de la relation. Par exemple, par rapport au bureau des passeports («Numéro de passeport») et («Nom complet» et «Date de naissance») - Touches potentielles qui permettent un moyen unique d'identifier chaque personne.
  • À chaque égard, il ne peut y avoir qu'une seule clé primaire - un attribut ou un ensemble d'attributs de la valeur dont une solution unique identifie chaque entrée. Si plusieurs ensembles d'attributs ont des propriétés telles que l'une d'entre elles est sélectionnée primaire et toutes les autres sont alternatives.
  • Touche externe - Magasins valeur La principale clé d'une autre relation. Les clés externes sont utilisées pour communiquer entre les relations.

Clé primaire

  • Chaque ratio relationnel n'a qu'une clé primaire, toutes les autres sont alternatives.
  • La valeur de tous les attributs de clé initiale ne pas Peut être indéfini. Par exemple, l'attitude stocke des informations sur les habitants de la ville. Touche principale - Composite (nom, nom de famille, date de naissance). Le système d'information a été installé en Islande, où les noms ne sont pas utilisés, puis le "nom de famille" pour la plupart des tuples seront vides. Malgré cela, la clé principale continuera d'identifier de manière unique chacun des tuples. Cependant, il est inacceptable que les valeurs au même moment de tous les attributs de clé initiale étaient vides.
  • La valeur de la clé primaire n'affecte pas l'emplacement des tuples de la présentation de la table. Même si la valeur de la clé primaire est un nombre (par exemple 1,2,3 ...) en général, cela ne garantit pas que les cortices à l'intérieur de la base de données sont stockées dans le même ordre et seront affichées de la même manière. . Dans le "cas général", cela signifie parfois que les spécificités d'une ligne SGMS spécifique peuvent être stockées dans une clé primaire, mais c'est plutôt une exception. Dans le cas de la sortie des résultats de la requête, nous devons indiquer explicitement l'ordre dans lequel vous souhaitez afficher les chaînes si une telle commande est importante. Les résultats de la demande "Donnez-moi les 5 premières personnes" sont imprévisibles si nous ne spécifions pas, dans quels critères ils devraient être "en premier".
  • La clé principale n'affecte pas l'accès aux attributs du prix. Par exemple, par rapport à la "table des passeports", ainsi que le nom et la date de naissance, l'adresse de l'enregistrement humain est conservée. Nous pouvons demander à la base de données d'extraire toutes les adresses, de ne pas connaître le nom et la date de naissance.

Clé externe

La clé externe est utilisée pour établir des relations entre les relations. Par exemple, prenez deux relations "propriétaires" (la clé principale "Numéro de passeport") et "Immobilier". Pour établir qui possède chacun des objets de l'immobilier, nous connectons ces relations par la valeur de l'attribut "numéro de passeport". Contrairement à la clé primaire, la valeur de clé externe peut être indéfinie (ligne 4 sur la diapositive) - si nous ne connaissons pas le propriétaire de la propriété, nous ne le précisons pas. Contrairement à la clé primaire, la valeur de clé externe peut être répétée (coups 1.3 sur la diapositive) - un propriétaire peut avoir plusieurs objets immobiliers. Cependant, le fait que l'attribut "numéro de passeport" par rapport à "immobilier" est une clé externe de la clé primaire de la relation "propriétaire" garantit que seules les valeurs de la clé principale peuvent être la valeur du nombre de pasteur. attribut. Nous ne pouvons spécifier le numéro du pastorat de personne qui n'a pas de "propriétaire" (ligne 5) comme valeur d'attribut (chaîne 5).

En installant la clé externe, vous pouvez définir explicitement le comportement du SGBM si vous modifiez la valeur de la clé principale ou supprimez le tuple. Cependant, il est enregistré par la règle "seules les valeurs situées dans la clé primaire ou une valeur indéfinissable (NULL) sont stockées dans la clé externe.

La clé externe entre la relation est définie, généralement lors de la conception d'une base de données. Cependant, il peut être supprimé à tout moment ou à nouveau si l'ajout de cette restriction ne contredit pas les propriétés de la clé externe. L'élimination / l'installation de clés externes est généralement faite lors de l'insertion de très grandes quantités de données, d'accélérer ce processus, les SGBD ne peuvent pas stocker de données non inflexibles (incorrectes, erronées), car elles vérifient chaque restriction lors de l'insertion de chacune des lignes.

Modèles ER: Communication

Les modèles ER, des clés externes sont affichées en tant que connexions.

Chaque communication est caractérisée par 4 propriétés - puissance, puissance, degré et participation de l'essence en matière de connexion.

Nous analyserons ces caractéristiques.

Participation des essences en lien

Dénote en contact avec une ligne transversale ou un cercle.

La ligne transversale signifie obligatoire (obligatoire.) Participation de l'entité en relation et un cercle - optionnel (optionnel).

En cas de participation obligatoire de l'essence dans le cadre de la description de cette communication, le verbe est utilisé " devrait". S'il n'est pas nécessaire de participer à l'entité en relation avec le verbe" pouvez".

Dans le département pouvez Travailler plusieurs employés. Employé devrait Travailler dans certains départements.

Degré de communication ( relationship. dEGRÉ.) indique le nombre d'entités associées. Connexion binaire ( binaire. relationship.) Décrit les associations de deux entités. Communication Terner (ternaire. relationship.) Il existe une place lorsque trois entités sont associées. Communication unie (unia relationship.) Décrit des associations dans une seule entité.

Les obligations binaires sont les plus courantes - ils relient deux entités différentes («ministère» - «Officier», «Commandez» - «Marchandises», «Cours» - «Conférences», «Groupe» - «Étudiants»). Moins communs, mais des connexions toujours uniques sont souvent utilisées. Avec leur aide, l'attitude de nidification est généralement définie sur les objets du même type (ratio "détails" - nous pouvons spécifier partie de Le détail est-ce, le ratio des "employés" - nous pouvons indiquer quels officiers sont un patron pour cela).

La puissance de communication indique le nombre d'instances d'une entité associée aux instances d'une autre entité.

Le pouvoir peut être:

  • un par un (1: 1) - dans le groupe d'étudiants, un plus ancien;
  • un à plusieurs (1: N) - Il y a beaucoup d'employés dans un département;
  • de nombreux co-beaucoup (M: N) - Un acheteur a acheté beaucoup de biens, les biens ont acheté beaucoup d'acheteurs.

Force de communication: solide communication (relation d'identification)

Une filiale ne peut exister sans parentale. (Il n'y a pas de réponse sans une question; il n'y a pas de produit dans le panier de l'utilisateur, s'il n'y a pas de panier lui-même)

Dans le même temps, la clé principale migre de l'essence parentale dans une filiale, où elle fait partie de la clé primaire.

Dans un diagramme, une liaison forte est affichée dans une ligne indissociable entre entités.

Force de communication: relation faible (relation non identifiant)

Les entités parentales et subsidiaires sont connectées, mais une entité enfant peut être créée plus tôt. (La charge appartient à la commande, mais la cargaison peut être en stock, avant la création de la commande).

La clé principale migre de l'essence parentale en enfant et ne fait pas partie de la clé primaire (elle devient simplement une clé externe).

Dans un diagramme, une liaison forte est affichée par une ligne pointillée entre les entités.

Communication récursive (unaire)

Le plus souvent utilisé pour construire une hiérarchie.

Le fournisseur peut travailler avec zéro ou plus de clients (ID_CUSTOMER).

Le client doit fonctionner avec un fournisseur (ID_SUP).

Mais le fournisseur et le client sont de savoir si la société est l'organisation - les objets du même type et sont donc stockés à un seul respect.

Communication de plusieurs copains.

Exemple: les fournisseurs peuvent fournir de nombreux types de marchandises. Différents fournisseurs peuvent fournir les mêmes types de produits.

La communication par plusieurs à plusieurs, admissible du point de vue du modèle ER, mais ne peut pas être directement reflétée en termes d'algèbre relationnelle.

L'ambiguïté de la communication est autorisée à introduire des entités transitoires, comme indiqué sur la diapositive.

Modèle et réalité

Lors de la révision de plus près du type de connexion "Un à un", il s'avère presque toujours que A et B sont en réalité des subventions différentes du même sujet ou de différents points de vue, avoir simplement des noms d'excellents et des connexions et des attributs décrits différemment.

Imaginez que A - Fournisseur, B - Produit.

Obligatoire-obligatoire.Par exemple, ce qui est donné sur la diapositive, cette connexion signifie que chaque fournisseur (fournisseur) devrait livrer un seul unique Ensemble de marchandises (facture). Du point de vue de la théorie, tout va bien ici. En pratique, ce n'est pas acceptable: personne ne cherchera un nouveau fournisseur si le fournisseur que vous êtes vérifié peut fournir plusieurs gammes de produits. Et maintenant sur les émotions, le chat profitera de l'opérateur lorsque vous essayez d'entrer des données sur un nouveau fournisseur. Il ne sera pas en mesure de saisir les données dans aucune des tables. Donc, tous les bagages du vocabulaire indécent seront envoyés à votre adresse.

Facultatif-obligatoire. Un exemple de communication est donné sur la diapositive. Comme nous pouvons voir l'opérateur maintenant, tout va bien: il peut entrer des données. L'entreprise a de nouveau un problème: il doit rechercher un nouveau fournisseur, même si le fournisseur que vous êtes coché peut fournir plusieurs gammes de produits. L'entreprise a-t-elle besoin de problèmes? Pas. Ça doit fonctionner. Comment satisfaire les affaires? La réponse est simple. Lors de la conception de la base de données, vous devez penser à la normalisation. Si le fournisseur est essentiellement, utilisez la facultative (en option) ou en option) ou en option-facultatif. Bien que le plus souvent un à un soit une erreur.

Facultatif-facultatif. Comme on voit, l'opérateur à nouveau, tout va bien, et l'entreprise a encore un problème. Résumons pour une connexion un à une. Si les entités sont impliquées dans le cadre de: - obligatoire - obligatoire, un tel lien n'a pas de droit à la vie; - Facultatif-Obligatoire (Obligatoire-Facultatif) ou facultatif-Facultatif, alors le support commercial est problématique.

La communication à une copie obligatoire-obligatoire est une conception assez forte, ce qui suggère que l'entrée de l'essence B ne peut pas être créée sans créer simultanément une entrée associée à celle-ci. Le plus souvent c'est une connexion incorrecte.

La communication un à plusieurs obligatoires-facultatif est la forme de communication la plus courante. Il suggère que chaque entrée de l'essence A peut n'existe que dans le contexte d'une (et d'une seule) entrée de l'entité B. À son tour, l'entrée B peut exister à la fois dans le cadre de l'entrée de A et sans cela.

Communication Un à plusieurs facultatif-facultatif - A et B peuvent exister sans communication entre eux.

En termes de la diapositive précédente, ces diagrammes peuvent être illustrés dans les exemples suivants.

Communication un à plusieurs. Ces obligations supposent qu'une entrée d'une table peut être logiquement liée à plusieurs enregistrements d'une autre table.

Obligatoire-obligatoire.Pour un exemple, qui est donné sur la diapositive, cette connexion signifie que chaque fournisseur (A) doit fournir un ou plusieurs ensembles de marchandises (B). Du point de vue de la théorie, tout va bien ici. Cependant, dans la pratique, l'opérateur ne sera pas en mesure d'entrer les données dans aucune des tableaux, car les enregistrements sont nécessaires. en même temps Entrez dans les deux tables.

Facultatif-obligatoire.Dans ce cas, l'opérateur est maintenant tout bon: il peut entrer des données et les entreprises peuvent avoir des problèmes. Le fait est que la connexion de facultatif-obligatoire suggère que le fournisseur (a) devrait fournir un ou plusieurs ensembles de marchandises (B), tandis que b pouvez Bellarder. En d'autres termes, les marchandises peuvent exister sans fournisseur, tandis que le fournisseur a des produits. Ceux. Peut-être des activités incontrôlées: qui a mis les marchandises? Qui demande? Les problèmes d'entreprise ont-ils besoin? Pas. Il doit donner des bénéfices. Dans ce cas, il est préférable d'utiliser Obligatoire: facultatif: le fournisseur peut fournir un ou plusieurs ensembles de marchandises, tandis que les marchandises doivent appartenir au fournisseur. En d'autres termes, les marchandises ont un fournisseur et les données sur les fournisseurs ayant une fois livrées les marchandises seront enregistrées. Et les moutons sont des prises et des loups sont pleins plein - l'opérateur peut entrer des données et un homme d'affaires dans la brousse.

Facultatif-facultatif.Comme nous le voyons, l'opérateur est à nouveau bien, et l'entreprise a un problème - surprenant: les marchandises peuvent exister sans fournisseur ni fournisseur sans produit.
Sumons-nous pour une connexion une à plusieurs. Si des entités sont impliquées dans la connexion comme: - obligatoire - obligatoire, un tel lien n'a pas droit à la vie, car il est impossible d'entrer simultanément des enregistrements dans les deux tableaux; - Facultatif-facultatif, puis le support professionnel est problématique.

Cependant, plusieurs communications sont admissibles sur les diagrammes ER, cependant, lors de la conversion d'une représentation sous une tabulation, cette connexion est remplacée par une entité intermédiaire.

Beaucoup de co-nombreux obligatoires-obligatoires - une telle conception a souvent lieu au début de la phase d'analyse et désigne une connexion - soit au courant de la fin de la fin et nécessitant une autorisation supplémentaire, ou reflétant une simple relation collective - une liste de bidirectionnelles.

Beaucoup de co-nombreux obligatoires-facultatifs sont rarement appliqués. Ces liens sont toujours soumis à des détails supplémentaires.

Connexions récursives. Ces liens suggèrent que l'entrée de la table peut être logiquement liée.

Facultatif-en option un à un. Pour un exemple, qui est donné sur la diapositive, cette connexion signifie que tout homme (femme) peut être marié avec une femme (homme). Cette relation est pratique pour suivre l'histoire du mariage: pour la première fois, ... En d'autres termes, la connexion d'un type alternatif.

Facultatif-facultatif un à plusieurs. Un exemple de communication est donné sur la diapositive. Ceci est une hiérarchie classique (structure des arbres). Le lien indiqué sur la diapositive peut être interprété, par exemple, comme suit: tout employé peut être subordonné à un seul gestionnaire, tandis que le gestionnaire peut diriger un ou plusieurs employés.

Facultatif-facultatif m: m Un exemple de communication est indiqué dans la diapositive 3. Il s'agit d'une structure de réseau.

Questions de la liste de contrôle aux essences

  • La nature de l'essence de cet objet reflète-t-elle?
  • Y a-t-il des intersections avec d'autres entités?
  • Avez-vous même deux attributs?
  • Attributs totals pas plus de huit?
  • Y a-t-il des synonymes / homonymes de cette entité?
  • L'essence est complètement déterminée?
  • Y a-t-il un identifiant unique?
  • Est-ce que quelqu'un a une connexion?
  • Existe-t-il une seule fonction sur la création, la recherche, l'ajustement, l'élimination, l'archivage et l'utilisation de la valeur de l'importance?
  • L'histoire du changement est-elle?
  • At-il une conformité aux principes de la normalisation des données?
  • Y a-t-il une telle essence dans un autre système d'application, peut-être sous un nom différent?
  • Est-ce que l'essence est trop générale signifie?
  • Le niveau de généralisation est-il incarné?

Liste de contrôle des questions aux attributs:

  • Le nom de l'attribut d'un numéro unique reflète-t-il l'essence des propriétés d'attribut indiquées par l'attribut?
  • Cela allume-t-il le nom de l'attribut le nom de l'essence (cela ne devrait pas être)?
  • L'attribut qu'une seule valeur à chaque fois?
  • Existe-t-il des valeurs répétitives (ou des groupes)?
  • Qu'il s'agisse de format, de longueur, valeurs valides, Algorithme de réception, etc.?
  • Cet attribut peut-il être manqué par l'essence, qui utiliserait pour un autre système d'application (déjà existant ou allégué)?
  • Peut-il être manqué par la communication?
  • Existe-t-il des références à l'attribut sous forme de «fonctionnalité de projet», qui devriez-vous disparaître pendant la transition au niveau de l'application?
  • Existe-t-il un besoin d'histoire du changement?
  • Sa signification dépend-elle de cette entité?
  • Si la valeur d'attribut est obligatoire, est-ce que cela est toujours connu?
  • Y a-t-il besoin de créer un domaine pour cela et de lui comme des attributs?
  • Sa valeur ne dépend que d'une partie d'un identifiant unique?
  • Sa valeur sur les valeurs de certains attributs n'est-elle pas incluse dans l'identifiant unique dépend?

Le modèle d'entité associé à l'attribut a été proposé par Peter Pin Shenzov en 1976. La plupart sont basés sur l'utilisation de variétés de modèle ER approches modernes Pour concevoir des bases de données (principalement relationnelles). La simulation du sujet est basée sur l'utilisation de diagrammes graphiques, y compris une petite quantité de composants hétérogènes. En ce qui concerne la visibilité de la présentation des systèmes conceptuels des bases de données de modèle ER, généralisée dans Systèmes de casSoutenir les bases de données relatives aux conceptions automatisées.

Les concepts de base du modèle ER sont essentiellement, attributs et communications.

Essence - Ceci est un objet réel ou imaginaire, des informations sur lesquelles est d'intérêt. Dans les diagrammes de modèle ER, l'entité est présentée sous forme de rectangle contenant le nom de l'entité. Dans ce cas, le nom de l'entité est le nom du type, et non un objet spécifique - l'instance de ce type. Chaque cas d'une entité doit être distingué de toute autre instance de la même entité.

La communication est une association graphiquement décrite, installée entre deux entités. Cette association est toujours binaire et peut exister entre deux entités différentes ou entre l'essence et elle elle-même (récursif). Dans n'importe quelle connexion, deux extrémités sont allouées (conformément à une paire d'entités contraignantes), chacune indiquant la fin de la fin, le degré de fin de la communication (combien de copies de cette entité se lient), l'obligation de communication ( C'est-à-dire que toute instance de cette entité devrait participer à cette connexion).

La communication est présentée sous la forme d'une ligne reliant deux entités ou qui lui conduit lui-même. Dans le même temps, une entrée à trois points d'un rectangle d'entité est utilisée à la place de "docking", s'il existe de nombreuses instances de l'entité pour cette entité en relation, et seule une instance de l'entité peut être impliquée dans lien. L'extrémité obligatoire de la connexion est représentée avec une ligne solide et une ligne intermittente en option.

Comme l'essence, la connexion est un concept typique, toutes les instances des deux paires d'entités contraignantes sont soumises à des règles de liaison. En figue. 1. Un exemple d'images d'entités et de communication entre eux est donné. Ce diagramme peut être interprété comme suit:

Chaque élève n'étudiera que dans un groupe;

Tout groupe se compose d'un ou de plusieurs étudiants.

Figure. 1. Communication entre entités

En figue. La figure 2 montre l'essence d'une personne avec une connexion récursive qui le relie-t-elle elle-même. L'interprétation orale laconique du graphique est la suivante:

Tout le monde est le fils d'une seule personne;

Tout le monde peut être un père pour une ou plusieurs personnes ("personnes").

Figure. 2. Communication récursive

L'attribut d'entité est une partie qui sert à clarifier, identifier, classer, caractéristique numérique ou expression de l'état de l'essence. Les noms d'attributs sont entrés dans un rectangle représentant l'essence, sous le nom de l'essence et sont représentés avec de petites lettres:

L'identifiant unique de l'entité est un attribut, une combinaison d'attributs, une combinaison d'obligations ou une combinaison de connexions et d'attributs, distinguant de manière unique toute instance de l'essence des autres instances de l'essence du même type. Ce sont les concepts les plus importants du modèle de données ER. Les éléments les plus complexes du modèle comprennent les éléments suivants.

Communication "beaucoup de co-beaucoup". Il est parfois nécessaire de lier les essences de manière à ce qu'il existe plusieurs cas de l'entité aux deux extrémités de la communication (par exemple, tous les membres de la coopérative possèdent la propriété de la coopérative). À cette fin, une variété de communication "beaucoup de co-beaucoup" est introduite.

Degré de communication spécifié. Parfois, il est possible de déterminer le nombre possible d'instances de l'entité impliquée dans cette connexion (par exemple, un employé est autorisé à participer à pas plus de trois projets en même temps). Pour exprimer cette restriction sémantique, il est autorisé à indiquer à la fin de la connexion son degré maximum ou obligatoire.

Suppression de cascade des instances d'entités. Certaines obligations sont si fortes (bien sûr, dans le cas d'une connexion "un à plusieurs"), qui, lors de la suppression de l'instance de support de l'essence (l'extrémité correspondante du lien "One"), il est nécessaire de Supprimez toutes les instances de l'entité qui correspond à la fin du "nombre". L'exigence correspondante de "élimination en cascade" peut être formulée lorsque l'entité est déterminée.

Domaines. Comme dans le cas d'un modèle de données relationnel, il est utile de déterminer l'ensemble potentiellement autorisé de valeurs d'attribut de l'attribut d'entité (domaine).

Celles-ci et d'autres éléments plus complexes de l'entité de modèle de données incluent-ils plus puissant, mais en même temps compliquent quelque peu son utilisation. Bien sûr, avec l'utilisation réelle des diagrammes ER pour concevoir des bases de données, vous devez vous familiariser avec toutes les possibilités.

Le plus souvent dans la pratique de la modélisation ER est utilisé à la première étape de la base de données de conception. En règle générale, son résultat est un modèle conceptuel de la zone, exprimé dans les termes du modèle ER.

Lors de la mise sous tension de la prochaine étape - Modélisation du schéma DB - Avant le développeur, le problème de l'expression du modèle conceptuel du sujet en termes de modèle de données utilisé (par exemple, relationnel) se produit. Il existe trois approches pour résoudre ce problème.

Première approche Il consiste en transformer manuellement du modèle conceptuel du sujet dans le schéma BD, effectué selon les méthodes dans lesquelles toutes les étapes d'une telle transformation sont assez clairement spécifiées.

Dans la deuxième approche La compilation automatisée du modèle conceptuel du domaine dans le schéma de base de données (le plus souvent relationnel) est mise en œuvre. Deux types d'approche sont connus:

une approche basée sur la présentation évidente du modèle conceptuel de la matière en tant qu'information source de la compilation;

une approche axée sur la construction de systèmes de conception intégrée avec une création automatisée d'un modèle conceptuel du sujet sur la base d'un entretien avec les experts du sujet.

Et dans ce cas, dans un autre cas, le résultat est un diagramme relationnel de la base de données sur la troisième forme normale.

Pour terminer, troisième approche -c'est un travail direct avec la base de données dans le modèle sémantique, c'est-à-dire L'utilisation de SGBD basée sur des modèles de données sémantiques. Dans le même temps, deux options sont à nouveau pris en compte.

Première option - provision interface utilisateur Sur la base du modèle de données sémantiques avec l'affichage automatique des structures dans un modèle de données relationnel (il s'agit de la tâche d'environ le même niveau de complexité que la compilation automatique du modèle conceptuel du sujet dans le schéma DB).

La deuxième option est la mise en œuvre directe de la SGBD basée sur tout modèle de données sémantiques.

Le plus proche de la deuxième option est la SGBD moderne orientée objet des objets, dont les modèles de données sont proches des modèles sémantiques à de nombreux égards (bien que dans certains aspects, ils soient plus puissants et plus faibles). Bien que, en général, on puisse dire que cette approche n'a pas encore été hors de la recherche et des projets expérimentaux.

Actuellement sur le marché logiciel Il y a beaucoup de forfaits universels (non attachés à des SGBD particuliers) design automatisé Base de données, permettant de produire une modélisation conceptuelle du domaine. Dans presque tous les systèmes de ce type, il y a une ou une autre interprétation du modèle ER. Ces systèmes sont la mise en œuvre des deuxièmes approches discutées ci-dessus. Platinum Erwin est l'un des produits logiciels les plus populaires de cette région.

Modèle de données

La méthode d'affichage des entités, des attributs et des liens sur les structures de données est déterminée par le modèle de données. Il existe 4 modèles de données principaux - listes, bases de données relationnelles, structures hiérarchiques et réseau. Considérez-les plus en détail.

Le type le plus simple est la liste de la structure de données sous la forme d'une séquence linéaire.

Les structures hiérarchiques d'arbres sont largement utilisées dans l'activité humaine quotidienne. Les modèles de données hiérarchiques sont basés sur l'utilisation des formes de graphique et de table de représentation de données. Dans le diagramme graphique du diagramme de base de données de base de données, le graphique est utilisé pour interpréter les types d'entités et les arcs doivent interpréter les types de connexions entre les types d'entités. Lorsque les sommets sont mis en œuvre, les tables des descriptions des échantillons du type d'entités correspondant sont présentées. En figue. 3 montre un exemple de structure de base de données similaire à l'arborescence hiérarchique.

Figure. 3. Base de données sur la structure des arbres hiérarchiques

Les principales limitations internes du modèle de données hiérarchique sont les suivantes:

- Tous les types de connexions doivent être fonctionnels, c'est-à-dire 1: 1, 1: m, m: 1;

- La structure des liens devrait être d'arbre.

Le résultat de ces restrictions est un certain nombre de caractéristiques du processus de structuration de données dans le modèle hiérarchique.

Structure des arbres, ou bois, - Il s'agit d'un graphique non orienté connecté qui ne contient pas de cycles. Habituellement, lorsque vous travaillez avec un arbre, certains sommets spécifiques sont distingués, le déterminent comme racine Arbre et considère surtout - pas un seul bord n'entre pas ce sommet. Dans ce cas, l'arbre devient orienté. L'orientation est généralement déterminée à partir de la racine.

L'arbre racine comme un graphique orienté peut être défini comme suit:

- il y a un seul sommet singulier, appelé root, dans lequel aucun bord n'entre pas;

- un seul bord arrive à tous les autres sommets et un nombre arbitraire de côtes vient;

- Pas de cycles.

La structure arborescente hiérarchique axée sur la racine satisfait aux conditions suivantes:

- La hiérarchie commence toujours avec le nœud racine;

- au premier niveau de la hiérarchie ne peut être que le nœud racine;

- aux niveaux les plus bas sont situés généré nœuds (dépendants);

- Chaque nœud généré, situé à L , connecté seulement avec un directement la source nœud (directement par le nœud parent) situé sur un niveau plus haut (L-1) -M de la hiérarchie des arbres;

- chaque noeud de source peut avoir un ou plusieurs nœuds générés directement appelé similaire;

- L'accès à chaque nœud généré est effectué via son nœud directement source;

- Il existe une seule façon hiérarchique d'accéder au noeud allant de la racine de l'arbre (Fig. 4).

Figure. 4. Accès hiérarchique au nœud

En d'autres termes, le modèle hiérarchique de la présentation des connaissances (ou de l'arbre) est la structure de données dans laquelle chaque nœud n'a qu'un "parent", c'est-à-dire Node Doorrent (à l'exception du nœud le plus élevé) et un nombre illimité de "descendants", c'est-à-dire nœuds sur lesquels le nœud prévaut.

Les modèles de données réseau sont également basés sur l'utilisation du formulaire de graphique de la représentation des données. Les sommets du graphique sont utilisés pour interpréter les types d'entités et les arcs - types de connexions. Modèle de réseau Présentations de connaissances - La structure de données dans laquelle chaque objet, contrairement à la représentation hiérarchique, peut avoir plus d'un nœud dominant (figure 5).

Figure. cinq. Structure de réseau

Dans les années 70, des études théoriques ont été activement menées modèle de données relationnel. Avec l'avènement des ordinateurs personnels, les modèles relationnels ont commencé à dominer le marché des systèmes d'information. Représentation relationnelle des connaissances- Représentation des connaissances sous forme de relations.

Selon modèle relationnel Données Les données sont présentées sous la forme d'un ensemble de tableaux, qui peuvent être effectuées des opérations formulées en termes algèbre relationnelle ou calcul relationnel.

Conception logique

Dans la méthodologie de conception de la base de données proposée, tout le processus de développement est divisé en trois phases principales: conceptuel, logique et conception physique. Conception de la base de données logique - Ceci est un processus de construction d'un commun modèle d'information Les entreprises basées sur des modèles individuels de données utilisateur, qui sont indépendamment des caractéristiques des SGBD en réalité utilisés et d'autres conditions physiques.

À l'étape précédente, un ensemble de modèles de données conceptuels locaux, reflétant la présentation des utilisateurs sur l'environnement objectif. Toutefois, ces modèles peuvent contenir certaines structures de données, dont la mise en œuvre dans des types classiques de SGBD sera difficile. À ce stade, ces structures de données sont transformées en une telle forme qui ne cause pas de difficultés dans leur mise en œuvre dans l'environnement des SGBD existants. Un commentaire peut suivre que ces actions ne sont pas un élément de bases de données de conception logique. Toutefois, la procédure proposée rend le développeur de manière plus attentive à la signification de chaque élément de données, qui a un effet positif sur la précision de l'affichage des caractéristiques d'une entreprise particulière. À ce stade, les étapes suivantes:

1. Suppression des connexions de type M.:N..

2. Supprimer des connexions complexes.

3. Supprimer des connexions récursives.

4. Supprimer les connexions d'attribut.

5. Supprimer plusieurs attributs.

6. Récupération des liens de type 1.

7. Enlèvement des liens excédentaires.

1. Supprimer des liaisons de type M: n.S'il y a des connexions de type dans le modèle conceptuel M.:N. ("Beaucoup de ko-beaucoup"), ils devraient être éliminés en déterminant une certaine entité intermédiaire. Type de type M.:N. Remplacé par deux types de type 1: M.installé avec l'essence nouvellement créée.

À titre d'exemple, considérons les éléments suivants M.:N. Communication: journal imprime des annonces sur des objets loués (Fig. 6)

Figure. 6 M: N. la communication

Afin d'éliminer cette connexion, nous définissons l'essence intermédiaire de l'annonce et créons deux nouveaux types de type 1: M.. En conséquence, le type de type M.:N. sera remplacé par deux connexions (Fig. 7).

Figure. 7. Type 1 Communication: M.

2. Supprimer des connexions complexes.Le complexe s'appelle le lien, existant entre trois types d'entités et plus. Si une connexion complexe est présente dans le modèle concept, elle devrait être éliminée par entité intermédiaire. La connexion complexe est remplacée quantité nécessaire Obligations binaires Type 1: M.installé avec l'entité nouvellement créée. Par exemple, le triple lien "Consulter nous abandonnerons" (un diagnostic est représenté) reflète les relations qui existent entre le bail de l'employé de l'entreprise, le terrain terrestre et le locataire (Fig. 8).

Figure. 8. Communication complexe

Cette communication complexe peut être simplifiée en introduisant une nouvelle essence et la détermination des relations binaires entre elle et chacune des entités initiales d'une connexion complexe.

Dans notre exemple, le lien "Rena" peut être éliminé en introduisant une nouvelle entité faible avec le nom de l'accord. L'essence nouvellement créée sera associée aux entités initiales de trois nouvelles liaisons binaires (Fig. 9).

Figure. 9. Simplifier la communication complexe

3. Supprimer des connexions récursives.Les reconsives sont appelées de telles obligations dans lesquelles l'essence de certains types interagit avec lui-même. Si le modèle conceptuel contient des obligations récursives, ils doivent être éliminés en déterminant une certaine entité intermédiaire. Par exemple, pour afficher une situation dans laquelle l'un des employés dirige un groupe d'autres employés, une connexion récursive du type "un à plusieurs" peut être établie (1: M.).

4. Supprimer les connexions d'attribut.S'il existe des connexions avec leurs propres attributs dans le modèle concept, ils doivent être transformés en créant une nouvelle entité. Par exemple, examinez la situation lorsque vous devez corriger le nombre d'heures de travail dépensées par le personnel temporaire de chacun des ministères de l'entreprise. La communication "fonctionne dans" a un attribut nommé "heures travaillées". Nous transformons la connexion "Works in" Essentience nommée "Distribution par départements", qui nommera un attribut "Heures de fonctionnement", après quoi nous allons créer deux nouveaux liens de type 1: M..

5. Supprimer plusieurs attributs.Plusieurs attributs d'appel peuvent simultanément plusieurs valeurs pour le même exemple de l'essence. Si un attribut multiple est présent dans le modèle concept, il devrait être converti en déterminant la nouvelle entité. Par exemple, pour afficher une situation où le même compartiment de la société a plusieurs numéros de téléphone, un attribut multiple a été déterminé dans le modèle conceptuel. " Numéro de téléphone", Liée à l'essence de la" branche de la société ". Cet attribut multiple doit être supprimé en définissant la nouvelle entité du "téléphone" ayant un attribut simple "numéro de téléphone" unique et en créant un nouveau type de bond 1.

6. Connexions de type recroissant1:1. Dans le processus de détermination des entités, deux entités différentes pourraient être créées, ce qui représente réellement le même objet dans le domaine de l'application. Par exemple, deux entités "département" et "département" pourraient être créées, ce qui représente réellement le même type d'objet. En d'autres termes, le nom "département" est synonyme de nom "département". Dans ce cas, ces deux entités doivent être combinées en une. Si les touches principales des entités intégrées sont différentes, sélectionnez l'une d'elles comme primaire, et d'autres spécifier comme clé alternative.

7. Enlèvement des liens excédentaires.La communication est redondante si l'une et les mêmes informations peuvent être obtenues non seulement à travers elle, mais également à l'aide d'une autre connexion. Il devrait toujours s'efforcer de créer des modèles de données minimaux et donc, si la communication en excès n'est pas manifestement nécessaire, elle devrait être supprimée. Il est assez simple d'établir qu'il y a plus d'un lien entre deux entités. Cependant, il ne devrait pas encore que l'une des deux connexions soit nécessairement redondante, car les deux peuvent représenter diverses associations qui existent vraiment dans l'organisation.

Lors de l'élimination de la redondance d'accès, les indicateurs temporaires ont une grande importance. Par exemple, considérez la situation lorsqu'il est nécessaire de simuler des liens entre les entités «homme», «femme» et «enfant». Il est évident qu'entre les entités "homme" et "enfant", il existe deux façons d'accéder: une communication directe Est le père "et l'autre - par des relations Marié à "et" est une mère. " Au premier abord, il semble que la communication Il est le père "est redondant. Cependant, cette déclaration peut être erronée pour deux raisons. Premièrement, le père peut avoir des enfants du mariage précédent et nous simulons uniquement le mariage actuel du père (à travers la connexion 1: 1). Deuxièmement, le père et la mère ne peuvent pas être mariés ou un père peut être marié à une femme qui n'est pas la mère de cet enfant (ou mère peut être mariée à un homme qui n'est pas le père d'un enfant). Par conséquent, toutes les relations existantes ne peuvent pas être modélisées sans utiliser le type "est un père" (Fig. 10).

Figure. 10. Communication entre les entités "Man", "Femme", "Enfant"


Informations similaires.


La cloche.

Il y a ceux qui ont lu cette nouvelle devant vous.
Abonnez-vous pour recevoir des articles frais.
E-mail
Nom
Nom de famille
Comment voulez-vous lire la cloche
Sans spam