Welche Rolle spielt das Attribut in erwin. Gebäudemodelle in ERwin. Datenbanksynchronisierung

Die Schaffung moderner Informationssysteme ist eine sehr schwierige Aufgabe, deren Lösung den Einsatz spezieller Techniken und Werkzeuge erfordert. Es ist nicht verwunderlich, dass in letzter Zeit bei Systemanalysten und Entwicklern das Interesse an CASE (Computer-Aided Software / System Engineering) deutlich zugenommen hat – Technologien und CASE-Tools, die es ermöglichen, alle Phasen der Softwareentwicklung ebenso zu systematisieren und zu automatisieren wie möglich.

Das dem Leser angebotene Buch ist ein praktischer Leitfaden zum Aufbau von Informationssystemen mit effektiven Werkzeugen für Analyse, Design und Codegenerierung aus der PLATINUM-Technologie - BPwin und ERwin. Es enthält auch eine Beschreibung der Methoden der Tragwerksanalyse und des Entwurfs von Datenmodellen, soweit dies für die praktische Arbeit erforderlich ist. Die Anwendung der Methoden wird an Beispielen veranschaulicht.

Das Buch basiert auf den persönlichen Erfahrungen des Autors, die er in der Entwicklung von Informationssystemen, Vorlesungen und praktischen Übungen zu CASE-Technologien und CASE-Tools im Schulungszentrum der "Interface GmbH" gesammelt hat. Es richtet sich an Spezialisten auf dem Gebiet der Informationstechnologie: Systemanalytiker, Projektmanager, Entwickler - und kann auch für Studenten und Doktoranden nützlich sein, die die Grundlagen der Systemanalyse und des Informationssystemdesigns studieren.

Buch:

Eine Beziehung ist eine logische Beziehung zwischen Entitäten. Jede Beziehung sollte ein Verb oder eine Verbphrase (Relationship Verb Phrases) genannt werden (Abb. 2.20). Der Name der Beziehung drückt eine Art Einschränkung oder Geschäftsregel aus und erleichtert die Lesbarkeit des Diagramms, zum Beispiel:

Jeder KUNDE <размещает> AUFTRÄGE;

Jede Bestellung <выполняется> ANGESTELLTER.

Reis. 2.20. Beziehungsname - Beziehungsverbausdrücke

Der Link zeigt genau an, welche Bestellungen der Kunde aufgegeben hat und welcher Mitarbeiter den Auftrag ausführt. Standardmäßig wird der Linkname im Diagramm nicht angezeigt. Um den Namen anzuzeigen, folgen Sie dem Kontextmenü, das erscheint, wenn Sie mit der linken Maustaste auf eine beliebige Stelle im Diagramm klicken, die nicht von Modellobjekten belegt ist, wählen Sie den Punkt Anzeigeoptionen / Beziehung und aktivieren Sie dann die Option Verb-Phrase.

Auf der logischen Ebene können Sie eine identifizierende Eins-zu-Viele-Beziehung, eine Viele-zu-Viele-Beziehung und eine nicht identifizierende Eins-zu-Viele-Beziehung herstellen (dies sind jeweils Schaltflächen von links nach rechts in der Werkzeugpalette ).

IDEF1X unterscheidet zwischen abhängigen und unabhängigen Entitäten. Der Typ einer Entität wird durch ihre Beziehung zu anderen Entitäten bestimmt. Eine identifizierende Beziehung wird zwischen den unabhängigen (übergeordneten Ende der Beziehung) und abhängigen (untergeordneten Ende der Beziehung) Entitäten hergestellt. Wenn eine identifizierende Beziehung gezogen wird, wird ERwin das Kind automatisch in ein unterhaltsberechtigtes Kind umwandeln. Die abhängige Entität wird als Rechteck mit abgerundeten Ecken dargestellt (Entität Befehl in Abb. 2.21). Eine Instanz einer abhängigen Entität wird nur durch eine Beziehung zur übergeordneten Entität definiert, d.h. in der Struktur in Abb. 2.21 Bestelldaten können nicht eingegeben werden und sind ohne Angabe des Bestellers bedeutungslos. Wenn eine identifizierende Beziehung hergestellt wird, werden die Primärschlüsselattribute der übergeordneten Entität automatisch auf den Primärschlüssel der untergeordneten Entität übertragen. Dieser Vorgang der Erweiterung der Attribute einer untergeordneten Entität beim Erstellen einer Beziehung wird als Attributmigration bezeichnet. In der untergeordneten Entität werden neue Attribute als Fremdschlüssel - (FK) gekennzeichnet.

Reis. 2.21. Identifizieren der Beziehung zwischen unabhängiger und abhängiger Tabelle

Später, bei der Generierung eines Datenbankschemas, erhalten die Attribute des Primärschlüssels das NOT NULL-Zeichen, was bedeutet, dass ein Eintrag in die Auftragstabelle ohne Angabe der Kundennummer nicht möglich ist.

Wenn eine nicht-identifizierende Beziehung hergestellt wird (Abb. 2.22), bleibt die Kind-Entität unabhängig und die Attribute des Primärschlüssels der Eltern-Entität werden in die Nicht-Schlüsselkomponenten der Eltern-Entität migriert. Eine nicht identifizierende Beziehung wird verwendet, um unabhängige Entitäten zu verknüpfen.

Reis. 2.22. Nicht identifizierende Beziehung

Entitätsinstanz Angestellter kann ohne Rücksicht auf eine Instanz der Entität existieren Abteilung, Das heißt, ein Mitarbeiter kann in einer Organisation arbeiten, ohne in einer Abteilung aufgeführt zu sein.

Ein identifizierender Link ist im Diagramm als durchgezogene Linie mit einem fetten Punkt am untergeordneten Ende des Links dargestellt (siehe Abb. 2.21), ein nicht identifizierender – gestrichelt (Abb. 2.22).

Um einen neuen Link zu erstellen, sollten Sie:

Setzen Sie den Cursor auf die gewünschte Schaltfläche in der Werkzeugpalette (identifizierender oder nicht identifizierender Link) und drücken Sie die linke Maustaste (Abb. 2.2);

Klicken Sie zuerst auf das Elternteil und dann auf das Kind.

Die Form der Kommunikationsleitung kann geändert werden. Dazu müssen Sie die gewünschte Kommunikationslinie mit der Maus greifen und von Ort zu Ort verschieben, bis die Linie besser aussieht.

In der Werkzeugpalette ist die Schaltfläche

Entspricht dem identifizierenden Link, dem Button

Viele-zu-viele-Beziehungen und Schaltfläche

Entspricht einer nicht identifizierenden Beziehung.

Um die Eigenschaften einer Beziehung zu bearbeiten, klicken Sie mit der rechten Maustaste auf die Beziehung und wählen Sie im Kontextmenü den Eintrag Beziehungseditor.

Auf der Registerkarte Allgemein des erscheinenden Dialogs können Sie die Kardinalität, den Namen und die Art der Verbindung einstellen (Abb. 2.23).

Kommunikationsstärke (Kardinalität) - dient dazu, das Verhältnis der Anzahl der Instanzen der Muttergesellschaft zur Anzahl der Instanzen des Kindes anzugeben.

Es gibt vier Stromarten (Abb.2.24):

der allgemeine Fall, wenn eine Instanz der übergeordneten Entität 0, 1 entspricht, oder viele Instanzen der untergeordneten Entität sind mit keinem Symbol gekennzeichnet;

P markiert den Fall, wenn eine Instanz der übergeordneten Entität einer oder mehreren Instanzen der untergeordneten Entität entspricht (Nullwert ist ausgeschlossen);

das Symbol Z markiert den Fall, wenn eine Instanz der übergeordneten Entität 0 oder 1 Instanz der untergeordneten Entität entspricht (mehrere Werte sind ausgeschlossen);

eine Zahl bezeichnet einen exakten Übereinstimmungsfall, wenn eine vorbestimmte Anzahl von Instanzen einer untergeordneten Entität einer Instanz der übergeordneten Entität entspricht.

Reis. 2.23. Dialog des Beziehungseditors

Standardmäßig wird das Symbol für die Kommunikationsleistung im Diagramm nicht angezeigt. Um den Namen anzuzeigen, folgen Sie dem Kontextmenü, das erscheint, wenn Sie mit der linken Maustaste auf eine beliebige Stelle im Diagramm klicken, die nicht von Modellobjekten belegt ist, wählen Sie den Punkt Anzeigeoptionen / Beziehung und aktivieren Sie dann die Option Kardinalität.

Linkname (Verbphrase)- ein Ausdruck, der die Beziehung zwischen übergeordneten und untergeordneten Entitäten charakterisiert. Für eine Eins-zu-Viele-Beziehung, identifizierend oder nicht-identifizierend, reicht es aus, einen Namen anzugeben, der die Eltern-Kind-Beziehung (Parent-to-Child) charakterisiert. Für eine Viele-zu-Viele-Beziehung müssen Sie sowohl den Eltern-zu-Kind- als auch den Kind-zu-Eltern-Namen angeben.

Reis. 2.24. Leistungsbezeichnungen

Linktyp (identifizierend / nicht identifizierend). Für eine nicht identifizierende Beziehung können Sie eine obligatorische (Null) angeben. Bei einer obligatorischen Beziehung (No Nulls) erhält das Fremdschlüsselattribut beim Generieren eines Datenbankschemas das NOT NULL-Zeichen, obwohl der Fremdschlüssel nicht im Primärschlüssel der Kindentität enthalten ist. Bei einer optionalen Beziehung (Nulls Allowed) kann der Fremdschlüssel NULL sein. Eine optionale nicht-identifizierende Beziehung ist mit einer transparenten Raute auf der Seite der Muttergesellschaft gekennzeichnet (siehe Abb. 2.22).

Reis. 2.25. Registerkarte "Rollenname / RI-Aktionen" des Dialogfelds "Beziehungseditor"

Auf der Registerkarte Definition können Sie die Beziehung genauer definieren, um in Zukunft darauf verweisen zu können.

Auf der Registerkarte Rollenname / RI-Aktionen können Sie den Rollennamen und die Regeln für die referenzielle Integrität festlegen.

Rollenname (Funktionsname) - Es ist ein Synonym für ein Fremdschlüsselattribut, das die Rolle eines Attributs in einer untergeordneten Entität angibt.

Reis. 2.26. Ausländische Schlüsselrollennamen

In dem in Abb. 2.26, im Wesentlichen Angestellter externer Schlüssel Abteilungsnummer hat den funktionalen Namen "Where Works", der die Rolle angibt, die dieses Attribut in der Entität spielt. Standardmäßig wird nur der Rollenname in der Attributliste angezeigt. Um den vollständigen Namen des Attributs (sowohl den Funktionsnamen als auch den Rollennamen) anzuzeigen, wählen Sie im Kontextmenü, das erscheint, wenn Sie mit der linken Maustaste auf eine Stelle im Diagramm klicken, die nicht von Modellobjekten belegt ist, den Punkt Anzeigeoptionen / Entitäten und aktivieren Sie dann den Rollennamen / das Attribut (Abb. 2.25). Der vollständige Name wird als Funktionsname und Basisname, getrennt durch einen Punkt, angezeigt (siehe Abbildung 2.26).

Die Verwendung von Rollennamen ist obligatorisch, wenn zwei oder mehr Attribute derselben Entität im gleichen Geltungsbereich definiert sind, d. h. denselben Geltungsbereich, aber unterschiedliche Bedeutungen haben. In Abb. 2.27 Essenz Verkauf von Währung enthält Informationen über den Währungsumtausch, an dem zwei Währungen beteiligt sind - verkauft und gekauft. Informationen zu Währungen sind in der Entität enthalten Währung. Daher sind die Entitäten Verkauf von Währung und Währung muss zweimal verknüpft werden und der Primärschlüssel ist Währungsnummer muss zweimal zur Entität migrieren Währung als Fremdschlüssel. Es ist zwischen diesen Attributen zu unterscheiden, die Informationen über die Nummer der verkauften und gekauften Währung enthalten (unterschiedliche Bedeutungen haben), sich jedoch auf dieselbe Entität beziehen Währung (haben einen gemeinsamen Wertebereich). Im Beispiel in Abb. 2.27 Attribute haben Rollennamen bekommen Verkauft und Gekauft.

Reis. 2.27. Obligatorische Rollennamen

Ein weiteres Beispiel für eine obligatorische Rollenbenennung ist rekursive Links(manchmal als "Angelhaken" bezeichnet), wenn dieselbe Entität gleichzeitig Elternteil und Kind ist. Beim Definieren einer rekursiven Beziehung muss das Attribut als Fremdschlüssel in die Nicht-Schlüsselattribute derselben Entität migriert werden. Das Attribut kann nicht zweimal in derselben Entität unter demselben Namen vorkommen, daher muss es unbedingt den Namen der Rolle erhalten. In Abb. 2.26 Essenz Angestellter enthält das Primärschlüsselattribut Personal Nummer. Die Vorgesetzteninformationen des Mitarbeiters sind in derselben Entität enthalten, da der Vorgesetzte in derselben Organisation arbeitet. Um auf den Vorgesetzten eines Mitarbeiters zu verweisen, erstellen Sie eine rekursive Beziehung (in Abbildung 2.26 die Beziehung Vorgesetzter/Bericht) und benennen Sie die Rolle („Manager“). Beachten Sie, dass ein rekursiver Link nur nicht identifizierend sein kann. Andernfalls müsste der Fremdschlüssel Teil des Primärschlüssels sein und bei der Schemagenerierung das NOT NULL-Zeichen erhalten. Dies würde es unmöglich machen, eine Hierarchie aufzubauen - der Unterordnungsbaum muss eine Wurzel haben - ein Mitarbeiter, der niemandem innerhalb der Organisation unterstellt ist.

Führt / gehorcht Beziehung in Abb. 2.26 ermöglicht es Ihnen, eine baumartige Hierarchie der Unterordnung von Mitarbeitern zu hinterlegen. Diese Art von rekursivem Link heißt hierarchische Rekursion und definiert eine Beziehung, wenn ein Manager (eine Instanz einer übergeordneten Entität) viele Untergebene (Instanzen einer untergeordneten Entität) haben kann, ein Untergebener jedoch nur einen Manager hat (Abb. 2.28).

Hierarchische Rekursion Netzwerkrekursion


Reis. 2.28. Unterordnung von Entitätsinstanzen bei hierarchischer und Netzwerkrekursion

Eine andere Art der Rekursion ist Netzwerkrekursion, wenn ein Anführer viele Untergebene haben kann und umgekehrt ein Untergebener viele Anführer haben kann. Netzwerkrekursion definiert ein Netz von Beziehungen zwischen übergeordneten und untergeordneten Instanzen. Dies ist der Fall, wenn die Entität mit sich selbst in einer Viele-zu-Viele-Beziehung steht. Um eine Viele-zu-Viele-Beziehung aufzulösen, müssen Sie eine neue Entität erstellen (die Viele-zu-Viele-Beziehung wird weiter unten ausführlich beschrieben).

Reis. 2.29. Ein Beispiel für die Implementierung einer Netzwerkrekursion

In Abb. 2.29 ist ein Beispiel für die Implementierung der Netzwerkrekursion. Die Struktur modelliert die Beziehung zwischen Familienmitgliedern beliebiger Komplexität. Attribut Beziehungstyp kann die Bedeutungen "Vater-Sohn", "Mutter-Tochter", "Großvater-Enkel", "Schwiegermutter-Schwiegertochter", "Schwiegervater" usw. annehmen. Da die Beziehung immer verbindet zwei Menschen, vom Wesen her Ein Verwandter von Ph. Entitäten Beziehung es wurden zwei identifizierende Beziehungen mit den Rollennamen "Senior" und "Junior" hergestellt. Jedes Familienmitglied kann mit jedem anderen Familienmitglied verwandt sein, außerdem kann dasselbe Verwandtschaftspaar mit unterschiedlichen Verwandtschaftsarten verbunden sein.

Wenn ein Attribut als Fremdschlüssel auf mehr als eine Ebene migriert wird, zeigt die erste Ebene den vollständigen Fremdschlüsselnamen (Rollenname + Basisname des Attributs) und die zweite oder mehrere nur den Rollennamen an. In Abb. 2.30 zeigt die Datenstruktur, die die Entität enthält Befehl, Wesen Spieler, die Informationen über die Spieler jedes Teams und die Entität speichert Ziel, mit Informationen und Toren, die jeder Spieler erzielt. Fremdschlüsselattribut Teamnummer Entitäten Spieler hat den Rollennamen "In welchem ​​Team er spielt".

Reis. 2.30. Migrieren von Rollennamen

Auf der nächsten Ebene, im Wesentlichen Ziel, es wird nur der Rollenname des entsprechenden Fremdschlüsselattributs angezeigt (Welches Team er spielt).

Referenzielle Integritätsregeln (RI) sind logische Konstrukte, die Geschäftsregeln für die Verwendung von Daten ausdrücken und die Regeln für das Einfügen, Ersetzen und Löschen darstellen. Beim Generieren eines Datenbankschemas basierend auf den logischen Modelloptionen, die auf der Registerkarte Rollenname / RI-Aktionen angegeben sind, werden deklarative referenzielle Integritätsregeln generiert, die für jede Beziehung vorgeschrieben werden müssen, und Trigger, die die referenzielle Integrität sicherstellen. Trigger sind Programme, die ausgeführt werden, wenn ein Einfüge-, Ersetzungs- oder Löschbefehl (INSERT, UPDATE oder DELETE) ausgeführt wird. In Abb. 2.30 Es besteht eine identifizierende Beziehung zwischen Entitäten Befehl und Spieler. Was passiert, wenn Sie einen Befehl löschen? Entitätsinstanz Spieler kann ohne Befehl nicht existieren (Primärschlüsselattribut In welcher Mannschaft spielt er? Teamnummer kann nicht NULL sein), daher ist es notwendig, entweder das Löschen eines Teams zu verbieten, solange sich darin mindestens ein Spieler befindet (um ein Team zu löschen, müssen Sie zuerst alle Spieler löschen) oder sofort alle seine Spieler zusammen löschen mit dem Team. Diese Löschregeln werden "Constraint" und "Cascade" genannt (Parent RESTRICT und Parent CASCADE, siehe Abbildung 2.25). Beachten Sie, dass die Entitäten Spieler und Ziel, Sie sind wiederum auch durch einen identifizierenden Link verbunden, und wenn eine Mannschaft durch eine Kaskade entfernt wird, werden alle Spieler der Mannschaft und alle von ihnen erzielten Tore entfernt. Das Ausführen eines Befehls zum Löschen einer Zeile kann tatsächlich zum Löschen von Tausenden von Zeilen in der Datenbank führen. Verwenden Sie daher die Kaskadenlöschregel mit Vorsicht. Falls eine Löschbeschränkungsregel festgelegt ist, gibt der relationale DBMS-Server beim Versuch, einen Befehl zu löschen, in dem mindestens ein Spieler vorhanden ist, einen Fehler zurück.

In Abb. 2.26 eine optionale nicht-identifizierende Beziehung zwischen Entitäten eingerichtet Abteilung und Angestellter. Entitätsinstanz Angestellter kann ohne Abteilungsbezug existieren (Fremdschlüsselattribut Wo funktioniert es. Abteilungsnummer kann NULL sein). In diesem Fall ist es möglich, die Regel zum Setzen auf Null zu setzen - SET NULL. Beim Löschen einer Abteilung wird das Fremdschlüsselattribut einer Entität Angestellter - Wo er arbeitet. Abteilungsnummer wird NULL sein. Das bedeutet, dass beim Löschen einer Abteilung der Mitarbeiter ohne Zuordnung zu einer Abteilung in der Organisation weiterarbeitet und Informationen über ihn gespeichert werden.

Es ist möglich, zwei weitere Löschregeln festzulegen (sofern vom DBMS unterstützt):

SET DEFAULT - Beim Entfernen wird dem Fremdschlüsselattribut ein Standardwert zugewiesen. Wenn beispielsweise ein Team entfernt wird, können Spieler in ein anderes Team versetzt werden.

NONE — Der Wert des Fremdschlüsselattributs ändert sich beim Löschen nicht. Der Rekord über den Spieler "hängt in der Luft", das heißt, er bezieht sich auf ein Team, das noch nicht existiert. Diese Situation ist typisch für "flache" Tische. Wenn beispielsweise Informationen über Spieler und Mannschaften in dbf-Dateien gespeichert sind, können Sie den Mannschaftsdatensatz löschen, und die Spielerdatei weiß "nichts", dass das entsprechende Team nicht existiert. Daher wird auf Desktop- oder Dateiserversystemen die Funktionalität, die referenzielle Integritätsregeln erzwingt, in der Clientanwendung implementiert.

Löschregeln steuern, was in der Datenbank passiert, wenn eine Zeile gelöscht wird. Ebenso steuern Einfüge- und Aktualisierungsregeln, was mit der Datenbank passiert, wenn Zeilen geändert oder hinzugefügt werden. Sie können beispielsweise eine Regel festlegen, die es Ihnen erlaubt, ein neues Team nur hinzuzufügen, wenn mindestens ein Spieler darin eingeschrieben ist. Das gewünschte Verhalten kann durch folgende Aktionen erreicht werden:

Legen Sie die Kardinalität einer Beziehung zwischen Entitäten fest Befehl und Spieler, gleich "Eins oder mehr" - 1 oder mehr (Typ P). Es wird angenommen, dass eine identifizierende Verbindung hergestellt wurde.

Weisen Sie die Aktion des RI-Triggers "Parent Insert-CASCADE" zu, damit beim Anlegen einer neuen Zeile in der Tabelle Befehl in der untergeordneten Tabelle wurde automatisch mindestens eine Zeile erstellt Spieler.

Weisen Sie dem Link die Aktion des RI-Triggers "Parent Delete-CASCADE" zu, damit beim Löschen einer Zeile aus der Tabelle Befehl die entsprechende Zeile oder Zeilen aus der Tabelle Spieler wurden ebenfalls gelöscht.

ERwin weist jeder Beziehung automatisch einen Standardwert für die referenzielle Integrität zu, bevor er sie zum Diagramm hinzufügt. Die Standard-RI-Modi von ERwin (siehe Tabelle 2.4) können im Referential Integrity Default-Editor geändert werden, der durch Klicken auf die Schaltfläche RI-Standardeinstellungen des Dialogs Zielserver (Menü Server / Zielserver) aufgerufen wird.

Tabelle 2.4. ERwin-Standard-RI-Werte und mögliche Modi für jeden Kommunikationstyp

Beziehung identifizieren Nullen erlaubt Nicht identifizierende Beziehung (keine Nullen) Kategorialer Link
Mögliche Modi zum Löschen von Kindern EINSCHRÄNKUNG, KASKADE, KEINE RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT EINSCHRÄNKUNG, KASKADE,
KEINER
Kinder löschen Standardmodi KEINER KEINER KEINER KEINER
Mögliche Modi für das Einfügen von Kindern EINSCHRÄNKUNG, KASKADE, EINSCHRÄNKEN, KASKADE, KEINE, STANDARD SETZEN EINSCHRÄNKUNG, KASKADE,
KEINER KEINER
Standardmodi für das Einfügen von Kindern BESCHRÄNKEN NULL SETZEN BESCHRÄNKEN BESCHRÄNKEN
Mögliche Modi der Kinderaktualisierung EINSCHRÄNKUNG, KASKADE, KEINE RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT EINSCHRÄNKEN, KASKADE, KEINE, STANDARD SETZEN EINSCHRÄNKUNG, KASKADE, KEINE
Standardmodi für Kinderaktualisierungen BESCHRÄNKEN NULL SETZEN BESCHRÄNKEN BESCHRÄNKEN
Eltern löschen Mögliche Modi EINSCHRÄNKUNG, KASKADE, KEINE RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT EINSCHRÄNKEN, KASKADE, KEINE, STANDARD SETZEN EINSCHRÄNKUNG, KASKADE,
KEINER
Eltern löschen Standardmodi BESCHRÄNKEN NULL SETZEN BESCHRÄNKEN KASKADE
Übergeordnetes Einfügen möglicher Modi EINSCHRÄNKUNG, KASKADE, KEINE RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT EINSCHRÄNKEN, KASKADE, KEINE, STANDARD SETZEN EINSCHRÄNKUNG, KASKADE, KEINE
Übergeordnete Standardmodi für Einfügen KEINER KEINER KEINER KEINER
Mögliche Modi der Elternaktualisierung EINSCHRÄNKUNG, KASKADE, KEINE RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT EINSCHRÄNKEN, KASKADE, KEINE, STANDARD SETZEN EINSCHRÄNKUNG, KASKADE, KEINE
Standardmodi für Elternaktualisierung BESCHRÄNKEN NULL SETZEN BESCHRÄNKEN KASKADE

Viele-zu-viele-Beziehung ist nur auf der Ebene des logischen Datenmodells möglich. In Abb. 2.31 oben zeigt ein Beispiel für eine Viele-zu-Viele-Beziehung. Ein Arzt kann viele Patienten sehen, ein Patient kann von mehreren Ärzten behandelt werden. Diese Verbindung wird durch eine durchgezogene Linie mit zwei Punkten an den Enden angezeigt.

Die Erstellung von Entitäten und Informationen über sie ist nur ein Teil des Bildes. Links sind logische Verbindungen oder Assoziationen zwischen zwei Entitäten. Wenn Sie mit den in ER unterstützten Linktypen nicht vertraut sind

gewinnen, siehe ER-MethodenleitfadenGewinnmethoden-Leitfaden.

In diesem Kapitel erfahren Sie, wie Sie:

Neuen Link erstellen Fremdschlüssel an abhängige Entitäten übertragen Betreten Sie den Beziehungseditor Betreten Sie den Beziehungsdefinitions-Editor Korrigieren Sie die Position der "Kurve" des Links

Es gibt einige grundlegende Informationen, die Sie wissen müssen, bevor Sie mit dem Zeichnen von Links beginnen können.

Was ist BindungSo geben Sie die richtigen Editoren ein Welche Werkzeuge aus der Toolbox benötigen Sie

Anatomie einer Verbindung

Kommunikationsdaten sind sehr wichtige und oft kritische Daten, die wir in unserem Tagesgeschäft verwenden. Es ist beispielsweise wichtig, einen bestimmten Instrumententyp zu kennen, aber zu wissen, zu wem ein bestimmtes Instrument gehört (die Beziehung zwischen Person und Instrument) kann entscheidend sein. Verbindung- Dies ist eine Beziehung entweder zwischen zwei Entitäten oder zwischen einer Entität und derselben Entität. Ein Link ist ein "logisches" Objekt, das durch ein oder mehrere Attribute repräsentiert wird - Fremdschlüssel. ER-Kommunikation

gewinnenenthält normalerweise fünf Arten von Informationen: den Linktyp, das Elternende des Links, das Kindende des Links, das "Muss"-Zeichen des Links und die Kardinalität des Links.

So zeigen Sie das Editor-Menü auf dem Bildschirm an

kommt mit einer Menüleiste, der das Editor-Menü fehlt. Sie können jederzeit mit der rechten Maustaste in die Menüs Anzeige und Editor gelangen. Zeigen Sie mit dem Pfeil-Cursor auf das Diagramm, rufen Sie das Menü Anzeige auf, zeigen Sie auf das Objekt, rufen Sie das Menü mit allen zu diesem Objekt gehörenden Editoren auf. Sie können das Editor-Menü jedoch in der Menüleiste einblenden oder von dort entfernen.

1. Wählen Sie im Optionsmenü das Optionsfeld "Editormenü anzeigen", um das Editormenü in der Menüleiste anzuzeigen.

2. Um das Editor-Menü aus der Menüleiste zu entfernen, wiederholen Sie diesen Befehl.

Toolbox-Link-Unterstützung

gewinnenDie Toolbox verfügt über fünf Arten von Beziehungen: identifizierend, nicht identifizierend, vollständiger Subtyp-Cluster, unvollständiger Subtyp-Cluster, undefiniert (viele-zu-viele-Beziehung). Authentischer Link - eine Beziehung, in der eine Instanz einer untergeordneten Entität durch ihre Assoziation mit der übergeordneten Entität identifiziert wird. Die Primärschlüsselattribute der Elternentität werden zu den Primärschlüsselattributen des Kindes. Nicht identifizierende Beziehung - es ist eine solche Beziehung, in der die Instanz der untergeordneten Entität nicht durch ihre Assoziation mit der übergeordneten Entität identifiziert wird. Die Primärschlüsselattribute der Elternentität werden zu Nichtschlüsselattributen des Kinds. Siehe auch Kap. neun, Verbindungen: Chancen einer erhöhten Komplexität, Sekte. "Nicht identifizierende Beziehungen festlegen" und "Untertyp-Beziehungen erstellen".

1. Setzen Sie den Cursor auf das gewünschte Werkzeug und drücken Sie die linke Maustaste.

identifizierender Link nicht identifizierende Beziehung

2. Klicken Sie auf das Elternteil und dann auf das Kind, um eine Beziehung zu erstellen.

Verwenden des Editor-Popup-Menüs für Links

enthält eine spezielle Kurzversion des Editor-Menüs für Links. Wenn Sie mit der rechten Maustaste auf den Link im Diagrammfenster klicken, ERgewinnenzeigt eine verkürzte, kontextsensitive Version des Editor-Menüs an, die nur linkorientierte Editoren enthält.
Siehe Kap. 3, Entitäten und Attribute in
ER gewinnen , Sek. "Mit ER-Editorengewinnen".

Wenn Sie den Cursor auf die Linkzeile positionieren, SHIFT drücken und mit der linken Maustaste doppelklicken, erscheint ein Dialogfenster, in dem ERwin Sie fragt, ob Sie den aktiven Editor für die Parent- oder Child-Entität öffnen möchten. Wählen Sie die übergeordnete oder untergeordnete Entität durch Klicken mit der Maustaste aus und klicken Sie auf "OK".

Schaffen Sie eine Bindung

Link in ER erstellen

gewinnenleicht. In diesem Abschnitt wird beschrieben, wie Sie eine Beziehung erstellen und die erforderlichen Informationen dafür eingeben.

So erstellen Sie einen Link

1. Wählen Sie in der Toolbox das Werkzeug aus, das dem gewünschten Linktyp entspricht (der identifizierende Link ist eine einfache Linie mit einem Punkt am Ende, der nicht identifizierende Link ist eine gestrichelte Linie, die kann (muss aber nicht) ) haben eine Raute an einem Ende und einen Punkt am anderen).

2. Zeichnen Sie eine Beziehung: Klicken Sie zuerst auf das Elternteil und dann auf das Kind.

Wenn Sie eine Beziehung erstellen, wird der Schlüssel der übergeordneten Entität automatisch als Teil des untergeordneten Schlüssels (für eine identifizierende Beziehung) oder als Nicht-Schlüsselattribut der untergeordneten Entität (für eine nicht identifizierende Beziehung) angezeigt be (FK), also ein Fremdschlüssel, Foreign Key. Dieser Vorgang des Änderns einer untergeordneten Entität aufgrund der Erstellung einer Beziehung wird als . bezeichnet Schlüsselmigration

.

Da ERwin Schlüssel automatisch migriert, müssen Sie keine Fremdschlüssel eingeben. Wenn Sie dies tun, erhalten Sie doppelte Attribute und Spalten, was zu einer Konfliktsituation in Ihrem Projekt führt.

Arbeiten im Beziehungseditor

Beziehungen können wie Entitäten Namen und Labels haben. Diese Bezeichnungen werden Verbphrasen genannt und sollten beschreiben, wie der Elternteil mit dem Kind in Beziehung steht. Mit dem Beziehungseditor können Sie die Verbphrase, die Kardinalität und die Beziehung zu Nullwerten für die Beziehung definieren.

Sie können im Beziehungseditor auch einen Rollennamen für das Fremdschlüsselattribut angeben. Siehe auch Kap. acht, Entitäten und Attribute: Fortgeschrittene Fähigkeiten, Sekte. "Verwenden von Attributrollennamen".

So öffnen Sie den Beziehungseditor

1. Geben Sie im Editor-Menü den Befehl "Beziehung" ein.

2. Doppelklicken Sie auf den Link, den Sie bearbeiten möchten. Sie gelangen in den Beziehungseditor

nschiff.

Positionieren Sie den Cursor über der Linklinie und klicken Sie mit der rechten Maustaste. Sie gelangen in das Einblendmenü des Editors. Geben Sie darin den Befehl "Beziehung" ein.

So verwenden Sie den Beziehungseditor

1. Geben Sie im Fenster "Verb-Phrase" einen Namen ein, der den Link identifiziert.

Normalerweise ist der Name der Verbindung eine Verbphrase. Versuchen Sie, die Namen der Links so vollständig wie möglich zu halten, um sie zu beschreiben! Der Beziehungseditor zeigt die ersten vier Zeilen der Verbphrase an und ermöglicht Ihnen, noch mehr Zeilen einzugeben und anzuzeigen.

Verwenden Sie die Wagenrücklauftaste, um zu einer neuen Zeile zu wechseln. ER

gewinnenzeichnet eine Verbphrase in ein Diagramm, während Sie sie gleichzeitig in den Editor eingeben.

2. Neben dem Bereich zur Eingabe der Verbphrase befindet sich die Liste "Fremdschlüssel", die alle Fremdschlüssel enthält, die durch die Migration beim Setzen der aktuellen Beziehung entstanden sind.

3. Falls die Kommunikationsart noch nicht eingestellt wurde, stellen Sie diese durch Drücken der Auswahltaste ein: „Identifying“ oder „Non-Identifying“.

4. Drücken Sie die gewünschten Auswahlschaltflächen in den Fenstern Kardinalität und Nullen, um die Kardinalität und den Nullmodus für die aktuelle Beziehung einzustellen.

5. Wenn Sie einem Fremdschlüssel einen Rollennamen zuordnen möchten, klicken Sie auf das Attribut im Listenfeld Fremdschlüssel und geben Sie den Rollennamen in das Textfeld Rollenname ein.

Siehe Kap. 8, Entitäten und Attribute: Erweiterte Fähigkeiten, Sec. "Verwenden von Attributrollennamen".

So zeigen Sie das VERb-Phrase-Fenster an

Sie können die Bildlaufpfeile im Fenster Verb-Phrase verwenden, um den gesamten Text einer langen Verb-Phrase anzuzeigen.

Kardinalität der Verbindung einstellen

Kommunikationskardinalität

dient dazu, das Verhältnis der Anzahl der Instanzen der Muttergesellschaft zur Anzahl der Instanzen des Kindes anzugeben. Eine übergeordnete Entität kann auf vier Arten mit einer untergeordneten Entität kommunizieren. In IDEF1X beträgt die Kardinalität binärer Beziehungen 1: n, wobei n sein kann:0, 1 oder mehr - gekennzeichnet durch "Leerzeichen"
Jede übergeordnete Entität ist mit 0, 1 oder mehreren Instanzen des untergeordneten Elements verknüpft.
1 oder mehr - gekennzeichnet durch den Buchstaben "P"
Jede übergeordnete Entität ist einer oder mehreren Instanzen des untergeordneten Elements zugeordnet.
0 oder 1 - gekennzeichnet durch den Buchstaben "Z"
Jeder übergeordneten Entität ist 0 oder 1 untergeordnete Instanz zugeordnet.
genau n, wobei "n" eine Zahl ist
Jeder übergeordneten Entität sind genau n Instanzen des untergeordneten Elements zugeordnet.

Im Beziehungseditor können Sie auch die Kardinalität der Beziehung definieren.

1. Klicken Sie im Beziehungseditor auf die Auswahlschaltfläche für die gewünschte Kardinalität.

2. Wenn Sie die Schaltfläche „Genau“ gedrückt haben, müssen Sie eine Zahl eingeben.

Wenn Sie diesen Modus eingestellt haben und keine Zahl eingegeben haben, dann ER

gewinnenlässt Sie das Dialogfeld nicht verlassen.

So zeigen Sie die Kardinalität einer Verbindung an

ermöglicht es Ihnen, die Kardinalität einer Beziehung in einem Diagramm darzustellen.

So zeigen oder entfernen Sie die Kardinalität einer Verbindung

1. Geben Sie im Menü Anzeige den Befehl "Kardinalität" ein.

2. Um Kardinalitätsinformationen zu entfernen, wiederholen Sie diesen Befehl.

Siehe auch Kap. elf, Dokumentation der Regeln (Business Rules), Sekte. "Kardinalität verwenden, um Regeln auszudrücken."

Nullmodus einstellen

Sie können im Beziehungseditor auch den Modus "Nullwerte" einstellen. Es bezieht sich auf den Fall, dass kein Wert vorhanden ist: es ist eine leere Menge oder "keine Spalte". Ein Attribut, das den Wert Null annehmen kann, gilt als "optional" und wird im Diagramm als Raute am übergeordneten Ende des Links angezeigt. Sie können diesen Modus auch an anderen Stellen einstellen, aber im Allgemeinen bietet dieser Editor die erste solche Möglichkeit.

So stellen Sie "erforderlich" ein oder
"optionaler" Link

1. Klicken Sie im Beziehungseditor auf die Schaltfläche Keine Nullen, um eine "erforderliche" Beziehung festzulegen (keine Raute am übergeordneten Ende) oder klicken Sie auf die Schaltfläche Nullen erlaubt, um eine "optionale" Beziehung festzulegen (mit einer Raute am übergeordneten Ende). ).

Arbeiten im Beziehungsdefinitionseditor

Vielleicht möchten Sie auch Ihre Beziehung genauer definieren, um später darauf zurückgreifen zu können. Dies erfolgt im Relanship-Definitionseditor.

1. Geben Sie im Editor-Menü den Befehl "Beziehungsdefinition" ein, falls Sie dies noch nicht getan haben.

2. Doppelklicken Sie auf den Link, den Sie bearbeiten möchten.

Platzieren Sie den Cursor auf dem Link, den Sie bearbeiten möchten und drücken Sie die rechte Maustaste. Geben Sie im Editor-Menü den Befehl "Beziehungsdefinition" ein.

Wenn Sie beim Doppelklick auf einen Link die Meldung "Select an Object First" erhalten, bedeutet dies, dass Sie nicht genau auf den Link geklickt haben. Klicken Sie im Meldungsfeld auf die Schaltfläche "OK", um es vom Bildschirm zu entfernen, und versuchen Sie es erneut. Versuchen Sie, genau entlang der Linie zu klicken.

So verwenden Sie den Beziehungsdefinitionseditor

1. Der Name des Links, falls vorhanden, befindet sich im Fenster "Verb-Phrase". Sie können es bearbeiten, wenn Sie möchten.

2. Bearbeiten Sie den physischen Namen der Beziehung nach Bedarf.

3. Tragen Sie die Definition in das Feld "Rel

Partnerschaftsdefinition".

4. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche "OK", um die Informationen zu speichern und den Editor zu verlassen. Um den Editor zu verlassen, ohne die Änderungen zu speichern, klicken Sie auf die Schaltfläche "Abbrechen".

Korrektur von Links

Wenn Ihnen die Form der Kommunikationslinie nicht gefällt, können Sie sie ändern. Dazu müssen Sie die Ecken des Links mit der Maus greifen und von Ort zu Ort ziehen, bis die Linie besser aussieht.

So korrigieren Sie den Link

1. Klicken Sie auf den Link, den Sie bearbeiten möchten. Auf dem Bildschirm erscheint der Link "Hebel" (dunkles Quadrat). Es definiert die Stelle auf der Kommunikationsleitung, die übertragen werden kann.

2. Klicken Sie irgendwo auf das Verbindungssegment, wo der Hebel abgebildet ist.

3. Ändern Sie, ohne die linke Maustaste loszulassen, die Position der Kommunikationsleitung nach Ihrem Geschmack und lassen Sie dann die Maustaste los.

Vergessen Sie nie, die Änderungen, die Sie am Diagramm vornehmen, regelmäßig zu speichern.

Ein kurzer Rückblick auf Kapitel 4

Das Editor-Menü ein- oder ausblenden

Geben Sie im Optionsmenü den Befehl "Editormenü anzeigen" ein, um das Editormenü in der Menüleiste anzuzeigen. Um das Editor-Menü aus der Menüleiste zu entfernen, wiederholen Sie diesen Befehl.

Wie man kommunikationsorientierte Tools nutzt

Setzen Sie den Cursor auf das gewünschte Werkzeug und klicken Sie mit der linken Maustaste.

So erstellen Sie eine neue Beziehung

Klicken Sie in der Toolbox auf eines der Beziehungssymbole und dann zuerst auf die übergeordnete Entität und dann auf die untergeordnete Entität.

So migrieren Sie Fremdschlüssel zu abhängigen Entitäten

Tu nichts. ERwin migriert automatisch Fremdschlüssel beim Anlegen einer Beziehung. Injizieren Sie niemals selbst Fremdschlüssel.

So rufen Sie den Beziehungseditor auf

Stellen Sie sicher, dass der Beziehungsmodus im Menü Editor aktiviert ist, und doppelklicken Sie dann auf die Beziehung, die Sie bearbeiten möchten.

So legen Sie die Kardinalität einer Verbindung fest

Klicken Sie im Beziehungseditor auf eine der Auswahlschaltflächen im Fenster Kardinalität, um die Kardinalität der Beziehung festzulegen. Wenn Sie auf die Schaltfläche "Exakt" geklickt haben, müssen Sie den genauen Kardinalitätswert in das Textfeld neben dem Schaltflächennamen eingeben.

So rufen Sie den Beziehungsdefinitionseditor auf

Stellen Sie sicher, dass der Beziehungsdefinitionsmodus im Menü Editor aktiviert ist, und doppelklicken Sie dann auf die Beziehung, die Sie bearbeiten möchten.

So korrigieren Sie die Form einer Kommunikationslinie

Klicken Sie auf eine der Ecken der Linie und verschieben Sie sie, bis die Linie schöner wird.

LABORARBEIT Nr. 3. Datenbankmodellierung mit Erwin

Zweck der Arbeit- Erwerb von praktischen Fähigkeiten durch die Studierenden zur Erstellung logischer und physischer Datenmodelle mit CASE - Entwicklungswerkzeugen für Informationssysteme.

Grundinformation

ERwin unterstützt die Vorwärts- und Rückwärtsmodellierung von Datenbanken. Bei der direkten Modellierung wird das Datenbankschema direkt mit einem Entity-Relationship-Diagramm beschrieben. Entitäten im Diagramm werden durch Rechtecke dargestellt. Jedes Rechteck kann unterschiedliche visuelle Attribute haben. Jeder Entität muss ein eindeutiger Name zugewiesen werden. Entitätsnamen müssen im Singular angegeben werden. Dies wird dadurch bestimmt, dass das System immer auf separaten Instanzen der Entität arbeitet. In diesem Fall werden einzelne Instanzen einer Entität als Objekte und Entitäten als eine Klasse von Objekten betrachtet. Wurden die Entitäten bei der Modellierung in BPwin beschrieben, können sie einfach in ERwin importiert werden. Ein Beispiel für ein Diagramm mit erstellten Entitäten ist in der Abbildung dargestellt.

Abbildung 4 - Ein Beispiel für ein Diagramm mit erstellten Entitäten

Modellbau in ERwin

Es gibt zwei mögliche Sichtweisen auf das Informationsmodell und dementsprechend zwei Ebenen des Modells. Die erste ist die logische Ebene (Anwendersicht) bedeutet eine direkte Darstellung von Fakten aus dem wirklichen Leben. Zum Beispiel sind Menschen, Tische, Abteilungen, Hunde und Computer reale Objekte. Sie werden in natürlicher Sprache mit beliebigen Worttrennern (Leerzeichen, Kommas usw.) benannt. Auf der physikalischen Ebene des Modells wird die Verwendung eines bestimmten DBMS betrachtet, Datentypen (z. B. eine ganze Zahl oder eine reelle Zahl) und Indizes für Tabellen bestimmt.

ERwin bietet die Möglichkeit, diese zwei unterschiedlichen Darstellungsebenen eines einzelnen Diagramms (Modells) zu erstellen und zu verwalten sowie auf jeder Ebene viele Anzeigeoptionen zu haben. Der Begriff „Logic Layer“ in ERwin folgt dem konzeptionellen Modell.

Phasen des Aufbaus eines Informationsmodells.

  • Definition von Entitäten;
  • Definieren von Abhängigkeiten zwischen Entitäten;
  • Festlegen von Primär- und Alternativschlüsseln;
  • Definieren von Entitätsattributen;
  • Bringen des Modells auf das erforderliche Niveau der Normalform;
  • Übergang zur physikalischen Beschreibung des Modells: Zuordnung von Entsprechungen Entitätsname - Tabellenname, Entitätsattribut - Tabellenattribut;
  • Festlegen von Auslösern, Verfahren und Einschränkungen;
  • Datenbankgenerierung.

Erwin erstellt eine visuelle Darstellung (Datenmodell) für das zu lösende Problem. Diese Ansicht kann zur detaillierten Analyse, Verfeinerung und Verteilung der während des Entwicklungszyklus erforderlichen Dokumentation verwendet werden. ERwin ist jedoch bei weitem nicht nur ein Zeichenwerkzeug. ERwin erstellt automatisch die Datenbank (Tabellen, Indizes, gespeicherte Prozeduren, Trigger für referenzielle Integrität und andere Objekte, die zum Verwalten von Daten benötigt werden).

Entität erstellen.

Um dem Modell eine Entität hinzuzufügen, klicken Sie auf die Schaltfläche Entität in der Symbolleiste (Erwin Toolbox) und dann an der Stelle im Diagramm, an der Sie die neue Entität platzieren möchten. Durch Klicken mit der rechten Maustaste auf eine Entität und Auswählen von Entitätseditor aus dem Popup-Menü können Sie das Dialogfeld Entitätseditor öffnen, in dem der Name, die Beschreibung und die Kommentare der Entität definiert werden.

Jede Entität muss mithilfe einer Textbeschreibung auf der Registerkarte Definition vollständig definiert werden. Diese Definitionen sind sowohl auf logischer Ebene nützlich, da sie es Ihnen ermöglichen zu verstehen, um welche Art von Objekt es sich handelt, als auch auf physischer Ebene, da sie als Teil des Schemas exportiert und in einer echten Datenbank verwendet werden können ( KOMMENTAR ERSTELLEN zu Entity_name). Hinweis, Hinweis2, Hinweis3, UDP (Benutzerdefinierte Eigenschaften) Registerkarten werden verwendet, um der Entität zusätzliche Kommentare und Definitionen hinzuzufügen.

Auf der Registerkarte Symbol jedes Elements können Sie ein Bild zuordnen, das im Modellansichtsmodus auf Symbolebene angezeigt wird, und ein Bild, das auf allen anderen Ebenen angezeigt wird.

Die Registerkarte UDP des Dialogs Entity Editor dient zum Definieren benutzerdefinierter Eigenschaften (User - Defined Properties). Wenn Sie auf die Schaltfläche dieser Registerkarte klicken, wird der Dialog Benutzerdefinierter Eigenschaftseditor aufgerufen (auch aus dem Menü Bearbeiten / UDPs aufgerufen). Darin müssen Sie den Objekttyp angeben, für den UDP gestartet wird (Diagramm als Ganzes, Entität, Attribut usw.) und den Datentyp. Um eine neue Eigenschaft hinzuzufügen, klicken Sie auf die Schaltfläche in der Tabelle und geben Sie Name, Datentyp, Standardwert und Definition ein.

Erstellung von Attributen.

Der nächste Schritt beim Erstellen eines Modells besteht darin, Attribute für jede Entität festzulegen. Bei der Angabe des Attributtyps können Domänen verwendet werden. Eine Domäne ist ein abstrakter benutzerdefinierter Typ, der einem beliebigen physischen Datentyp zugeordnet ist. Darüber hinaus kann jede Domäne ihre eigenen Standardwerte und Regeln zur Validierung von Eingabedaten haben. ERwin bietet die Möglichkeit, alle Schritte zur Erstellung eigener Datentypen zu dokumentieren. Durch das Domänenkonzept ist die Datenbank auf verschiedene Hardwareplattformen portierbar.

Abbildung 5 - Erstellen einer neuen Domäne Abbildung 6 - Festlegen der Eigenschaften der neuen Domäne

Abbildung 7 - Standardwert für eine neue Domäne

Abbildung 8 – Verwenden einer Domäne zum Angeben eines Datentyps für ein Attribut.

Um die Attribute zu beschreiben, klicken Sie mit der rechten Maustaste auf die Entität und wählen Sie Attribut-Editor aus dem angezeigten Menü. Das Dialogfeld Attribut-Editor wird angezeigt.

Wenn Sie auf die Schaltfläche Neu klicken, können Sie im erscheinenden Dialog Neues Attribut den Namen des Attributs, den Namen der entsprechenden Spalte im physischen Modell und die Domäne angeben. Die Domäne des Attributs wird verwendet, wenn der Spaltentyp auf der Ebene des physischen Modells definiert wird.

Für die Primärschlüsselattribute auf der Registerkarte Allgemein des Attributeditors müssen Sie im Auswahlfeld Primärschlüssel ein Häkchen setzen.
Die Registerkarten Definition, Anmerkung und UDP haben dieselbe Funktionalität wie beim Definieren einer Entität, jedoch auf Attributebene.

Zur besseren Übersichtlichkeit des Diagramms kann jedem Attribut ein Symbol zugeordnet werden. Dies kann über die Symbolauswahlliste auf der Registerkarte Allgemein erfolgen.

Es ist sehr wichtig, dem Attribut den richtigen Namen zu geben. Attribute sollten im Singular benannt werden und eine klare semantische Bedeutung haben.

Gemäß IDEF1X-Syntax muss der Attributname innerhalb des Modells (nicht nur innerhalb der Entität!) eindeutig sein. Wenn Sie versuchen, einen vorhandenen Attributnamen einzugeben, benennt ERwin ihn standardmäßig um. Wenn beispielsweise das Attribut Kommentar bereits im Modell vorhanden ist, wird ein anderes Attribut (in einer anderen Entität) als Kommentar / 2, dann als Kommentar / 3 usw. bezeichnet.
Beim Übertragen von Attributen innerhalb und zwischen Entitäten können Sie die Drag & Drop-Technik verwenden, indem Sie die Schaltfläche in der Werkzeugpalette auswählen.

Um eine neue Beziehung zu erstellen, wählen Sie in der Toolbox (ERwin Toolbox) eine identifizierende oder nicht identifizierende Beziehung aus, klicken Sie zuerst auf die übergeordnete und dann auf die untergeordnete Entität.
In der Werkzeugpalette entspricht eine Schaltfläche einer identifizierenden Beziehung, eine Schaltfläche einer Viele-zu-Viele-Beziehung und eine Schaltfläche einer nicht identifizierenden Beziehung. Um die Eigenschaften einer Beziehung zu bearbeiten, klicken Sie mit der rechten Maustaste auf die Beziehung und wählen Sie Beziehungseditor aus dem Kontextmenü.

Auf der Registerkarte Allgemein des erscheinenden Dialogs können Sie die Kardinalität, den Namen und die Art der Verbindung einstellen.

Kommunikationsstärke (Kardinalität)- dient dazu, das Verhältnis der Anzahl der Instanzen der Muttergesellschaft zur Anzahl der Instanzen des Kindes anzugeben.
Es gibt vier Arten von Macht:

· Der allgemeine Fall, wenn eine Instanz der Eltern-Entität 0, 1 oder vielen Instanzen der Kind-Entität entspricht, wird mit keinem Symbol gekennzeichnet;

· Das Symbol P markiert den Fall, wenn eine Instanz der Eltern-Entität 1 oder mehreren Instanzen der Kind-Entität entspricht (Nullwert ist ausgeschlossen);

· Das Symbol Z markiert den Fall, wenn eine Instanz der übergeordneten Entität 0 oder 1 Instanz der untergeordneten Entität entspricht (mehrere Werte sind ausgeschlossen);

· Eine Zahl bezeichnet den Fall, in dem eine Instanz der übergeordneten Entität einer vorbestimmten Anzahl von Instanzen der untergeordneten Entität entspricht.

Standardmäßig wird das Symbol für die Kommunikationsleistung im Diagramm nicht angezeigt. Um den Namen anzuzeigen, folgen Sie dem Kontextmenü, das erscheint, wenn Sie mit der rechten Maustaste auf eine beliebige Stelle im Diagramm klicken, die nicht von Modellobjekten belegt ist, wählen Sie den Punkt Anzeigeoptionen / Beziehung und aktivieren Sie dann die Option Kardinalität.

Linktyp (identifizierend / nicht identifizierend).

IDEF1X unterscheidet zwischen abhängigen und unabhängigen Entitäten. Der Typ einer Entität wird durch ihre Beziehung zu anderen Entitäten bestimmt. Eine identifizierende Beziehung wird zwischen den unabhängigen (übergeordneten Ende der Beziehung) und abhängigen (untergeordneten Ende der Beziehung) Entitäten hergestellt. Wenn eine identifizierende Beziehung gezeichnet wird, wandelt ERwin die untergeordnete Beziehung automatisch in eine abhängige um. Die abhängige Entität wird mit einem abgerundeten Rechteck gezeichnet.

Eine Instanz einer abhängigen Entität wird nur durch eine Beziehung zur übergeordneten Entität definiert. Wenn eine identifizierende Beziehung hergestellt wird, werden die Primärschlüsselattribute der übergeordneten Entität automatisch auf den Primärschlüssel der untergeordneten Entität übertragen. Dieser Vorgang der Erweiterung der Attribute einer untergeordneten Entität beim Erstellen einer Beziehung wird als Attributmigration bezeichnet. In der untergeordneten Entität werden neue Attribute als Fremdschlüssel (FK) gekennzeichnet.

Wenn eine nicht-identifizierende Beziehung hergestellt wird, bleibt das Kind unabhängig, während die Primärschlüsselattribute des Elternteils zu den Nicht-Schlüsselkomponenten des Kindes migriert werden. Eine nicht identifizierende Beziehung wird verwendet, um unabhängige Entitäten zu verknüpfen.

Ein identifizierender Link wird im Diagramm als durchgezogene Linie mit einem fetten Punkt am untergeordneten Ende des Links und ein nicht identifizierender Link als gestrichelte Linie dargestellt.

Für nicht identifizierende Beziehungen können Sie obligatorische Werte angeben (Nullen auf der Registerkarte Allgemein des Dialogfelds Beziehungseditor). Bei einer obligatorischen Beziehung (No Nulls) erhält das Fremdschlüsselattribut beim Generieren eines Datenbankschemas das NOT NULL-Zeichen, obwohl der Fremdschlüssel nicht im Primärschlüssel der Kindentität enthalten ist. Bei einer optionalen Beziehung (Nulls Allowed) kann der Fremdschlüssel NULL sein. Eine optionale nicht identifizierende Beziehung ist mit einer transparenten Raute auf der Seite der Muttergesellschaft markiert

Linkname (Verbphrase)- ein Ausdruck, der die Beziehung zwischen übergeordneten und untergeordneten Entitäten charakterisiert. Für eine identifizierende oder nicht-identifizierende Eins-zu-Viele-Beziehung reicht es aus, einen Namen anzugeben, der die Eltern-Kind-Beziehung (Parent-to-Child) charakterisiert. Für eine Viele-zu-Viele-Beziehung müssen Sie sowohl den Eltern-zu-Kind- als auch den Kind-zu-Eltern-Namen angeben. Um den Namen anzuzeigen, folgen Sie dem Kontextmenü, das erscheint, wenn Sie mit der rechten Maustaste auf eine beliebige Stelle im Diagramm klicken, die nicht von Modellobjekten belegt ist, wählen Sie Anzeigeoptionen / Beziehung und aktivieren Sie dann die Option Verb-Phrase.

Rollenname oder Funktionsname (Rollenname) ist ein Synonym für ein Fremdschlüsselattribut, das die Rolle eines Attributs in einer untergeordneten Entität angibt. Sie können den Rollennamen auf der Registerkarte Rollenname / RI-Aktionen des Dialogfelds Beziehungseditor festlegen.

Erstellung von Schlüsseln.

Jede Entitätsinstanz muss eindeutig sein und sich von anderen Attributen unterscheiden.

Primärschlüssel ist ein Attribut oder eine Gruppe von Attributen, die eine Entitätsinstanz eindeutig identifiziert. Die Primärschlüsselattribute im Diagramm bedürfen keiner besonderen Bezeichnung – dies sind die Attribute, die in der Attributliste über der horizontalen Linie stehen. Wenn Sie im Dialogfeld Attribut-Editor ein neues Attribut hinzufügen, müssen Sie das Kontrollkästchen Primärschlüssel unten auf der Registerkarte Allgemein aktivieren, um es zu einem Primärschlüsselattribut zu machen. Im Diagramm kann das Schlüsselattribut über den Attributübertragungsmodus (Schaltfläche in der Werkzeugpalette) zum Primärschlüssel hinzugefügt werden.

Eine Entität kann mehrere Attribute oder Sätze von Attributen enthalten, die behaupten, der Primärschlüssel zu sein. Solche Bewerber heißen potentielle Schlüssel (Kandidatenschlüssel).

Schlüssel können komplex sein, d.h. mit mehreren Attributen. Komplexe Primärschlüssel erfordern keine spezielle Notation - sie sind eine Liste von Attributen oberhalb der horizontalen Linie. Bei der Wahl eines Primärschlüssels sollten einfachere Schlüssel bevorzugt werden, d.h. Schlüssel mit weniger Attributen.

Viele Entitäten haben nur einen potentiellen Schlüssel. Dieser Schlüssel wird primär. Einige Entitäten können mehr als einen möglichen Schlüssel haben. Dann wird einer von ihnen primär und der Rest - alternative Schlüssel.

Alternativer Schlüssel ist ein potenzieller Schlüssel, der nicht zum primären geworden ist.

Jedem Schlüssel ist ein Index zugeordnet, dessen Name ebenfalls automatisch vergeben wird. Schlüssel- und Indexnamen können bei Bedarf manuell geändert werden.

Im Diagramm werden alternative Schlüsselattribute als (Akn.m.) bezeichnet, wobei n die Ordnungszahl des Schlüssels ist, m die Ordnungszahl des Attributs im Schlüssel ist. Wenn der Alternativschlüssel mehrere Attribute enthält, wird (Akn.m.) nach jedem platziert.

Unbekannter Schlüssel werden automatisch erstellt, wenn eine Beziehung Entitäten verbindet: Beziehungen bilden eine Referenz auf die Primärschlüsselattribute in einer untergeordneten Entität und diese Attribute bilden einen Fremdschlüssel in einer untergeordneten Entität (Schlüsselmigration). Fremdschlüsselattribute werden mit einem (FK) nach ihrem Namen gekennzeichnet.

Eine abhängige Entität kann denselben Schlüssel von mehreren übergeordneten Entitäten haben. Eine Entität kann denselben Fremdschlüssel auch mehrmals von derselben Mutter über mehrere verschiedene Beziehungen erhalten. Wenn ERwin eines dieser Ereignisse erkennt, erkennt es, dass die beiden Attribute gleich sind und platziert die Fremdschlüsselattribute nur einmal in der abhängigen Entität. Diese Kombination oder Verschmelzung identischer Attribute wird als Vereinigung bezeichnet.

Es gibt Zeiten, in denen eine Vereinigung unerwünscht ist. Zum Beispiel, wenn zwei Attribute denselben Namen haben, sich aber tatsächlich in ihrer Bedeutung unterscheiden, und es notwendig ist, dass sich dieser Unterschied im Diagramm widerspiegelt. In diesem Fall müssen Sie die Fremdschlüsselrollennamen verwenden.

Beziehungen im Diagramm werden durch Linien dargestellt, die von einer Entität (Tabelle) zu einer anderen führen. Jedem Link wird ein eindeutiger Name zugewiesen. Verknüpfte Tabellen werden in übergeordnete und untergeordnete Tabellen unterteilt. Übergeordnete Tabellen werden als Rechtecke mit eckigen Ecken angezeigt, untergeordnete Tabellen werden mit abgerundeten Ecken angezeigt.

Nachdem alle Attribute des Datenformats angegeben wurden, ist es notwendig, das erstellte logische Modell in ein physisches Modell umzuwandeln. Dazu musst du Werkzeuge auswählen Neues Modell ableiten, wobei als Zieldatenbanken auswählen ODBC / Generisch(zur Verwendung in MySQL DBMS) siehe Abbildung 9. Unser Modell (siehe Abbildung 4) wird in die Form umgewandelt siehe Abbildung 11.

Abbildung 9 - Konvertieren eines logischen Modells in ein physisches Modell

Abbildung 10 - Physisches Modell mit Angabe des Datenformats.

Abbildung 11 – Generieren von SQL-Code

Übung

1. Erstellen Sie ein Diagramm mit den gegebenen Entitäten (direkte Modellierung) für einen gegebenen Themenbereich.

2. Legen Sie die Attribute für jede definierte Entität fest. Verwenden Sie Domänen beim Festlegen von Attributen.

3. Geben Sie Beziehungen zwischen Entitäten ein. Geben Sie den Links eindeutige Namen.

4. Entscheiden Sie sich mit dem MYSQL DBMS, die Datenbank für die geplante Informationsdatenbank direkt zu generieren.

5. Der Bericht sollte ein konzeptionelles Modell und eine physische Datenbank im MYSQL-DBMS enthalten.

Kontrollfragen

1. Was ist der Unterschied zwischen der logischen und der physikalischen Ebene der Darstellung von Datenmodellen mit ERwin?

2. Was ist der Unterschied zwischen Datenmodellen, die in Form eines Entity-Relationship-Diagramms, basierend auf Schlüsseln, dargestellt werden, und in Form eines vollständigen Attributmodells?

3. Was sind die Hauptkomponenten der nach der IDEF1X-Methodik präsentierten Datenmodelle?


Die Liste der vom DBMS unterstützten Datentypen sollte mit dem Hersteller überprüft werden

Eine Beziehung ist eine logische Beziehung zwischen Entitäten. Jede Verbindung muss mit einem Verb oder einer Verbphrase benannt werden. Der Name der Beziehung drückt eine Art Einschränkung oder Geschäftsregel aus und erleichtert die Lesbarkeit des Diagramms. Standardmäßig wird der Linkname im Diagramm nicht angezeigt. Auf der logischen Ebene können Sie eine identifizierende 1:n-Beziehung, eine Viele-zu-Viele-Beziehung und eine nicht identifizierende 1:n-Beziehung herstellen. Ein Link ist ein Konzept der logischen Schicht, das einem Fremdschlüssel auf der physikalischen Schicht entspricht. In ERwin werden Beziehungen durch fünf grundlegende Informationen dargestellt:

● Art der Beziehung (identifizierend, nicht identifizierend, vollständige / unvollständige Kategorie, unspezifische Beziehung);

● Muttergesellschaft;

● untergeordnete (abhängige) Einheit;

● Kommunikationsstärke (Kardinalität);

● Zulässigkeit von leeren (Null-)Werten.

IDEFIX unterscheidet zwischen abhängigen und unabhängigen Einheiten. Der Typ einer Entität wird durch ihre Beziehung zu anderen Entitäten bestimmt. Eine identifizierende Beziehung wird zwischen einer unabhängigen (Eltern) und einer abhängigen (Kind) Entität hergestellt. Die abhängige Entität wird mit einem abgerundeten Rechteck gezeichnet. Wenn eine identifizierende Beziehung hergestellt wird, werden die Primärschlüsselattribute der übergeordneten Entität automatisch auf den Primärschlüssel der untergeordneten Entität übertragen. Dieser Vorgang der Erweiterung der Attribute einer untergeordneten Entität beim Erstellen einer Beziehung wird als Attributmigration bezeichnet. In der untergeordneten Entität werden die neuen Attribute als Fremdschlüssel gekennzeichnet - FK.

Wenn eine nicht identifizierende Beziehung hergestellt wird, bleibt die untergeordnete Entität unabhängig, und die Primärschlüsselattribute der übergeordneten Entität werden in die Nicht-Schlüsselattribute der untergeordneten Entität eingeschlossen. Eine nicht identifizierende Beziehung wird verwendet, um unabhängige Entitäten zu verknüpfen. Um ERwin-Beziehungen zu definieren, wählen Sie den Beziehungstyp aus, und verwenden Sie dann die Maus, um die übergeordnete und untergeordnete Entität anzugeben. Der identifizierende Link wird als durchgezogene Linie angezeigt; nicht identifizierend - mit einer gestrichelten Linie. Die Zeilen enden mit einem Punkt an der Seite der untergeordneten Entität.

Kardinalität - wird verwendet, um das Verhältnis der Anzahl der Instanzen der übergeordneten Entität zur Anzahl der Instanzen des untergeordneten Unternehmens anzugeben.

Es gibt vier Arten von Entitäten:

· Der allgemeine Fall, wenn eine Instanz der übergeordneten Entität 0, 1 oder vielen Instanzen der untergeordneten Entität entspricht; ist mit keinem Symbol gekennzeichnet;

· Das Symbol P markiert den Fall, wenn eine Instanz der Eltern-Entität 1 oder mehreren Instanzen der Kind-Entität entspricht (Nullwert ist ausgeschlossen);

· Das Symbol Z markiert den Fall, wenn eine Instanz der übergeordneten Entität 0 oder 1 Instanz der untergeordneten Entität entspricht (mehrere Werte sind ausgeschlossen);

· Die Zahl bezeichnet den Fall einer exakten Übereinstimmung, wenn eine Instanz der übergeordneten Entität einer vorgegebenen Anzahl von Instanzen der untergeordneten Entität entspricht.

· Die Zulässigkeit von leeren (NULL) Werten in nicht identifizierenden Beziehungen wird von ERwin als leere Raute auf dem Bogen der Beziehung von der Seite der Muttergesellschaft dargestellt.

Der Name der Beziehung auf der logischen Ebene ist ein Verb, das die Entitäten verbindet. Der physische Name des Links (der vom logischen abweichen kann) bedeutet für ERWin den Namen des Constraints oder Index. Um den Namen der Beziehung anzuzeigen, wählen Sie eine Option aus dem Menü: Format / Beziehungsanzeige / Verbausdruck.

Einige Entitäten definieren eine ganze Kategorie von Objekten desselben Typs. In ERwin wird in diesem Fall eine Entität erstellt, um die Kategorie und für jeden Artikel in der Kategorie zu definieren, und dann wird für sie eine Kategorisierungsbeziehung eingeführt. Die übergeordnete Entität der Kategorie wird als Supertyp bezeichnet, und die untergeordneten Entitäten werden als Untertyp bezeichnet.

Die Entität „Eingangsdokument“ kann beispielsweise entweder eine Anfrage oder eine Bestellung sein. Der erste und der zweite haben unterschiedliche, teilweise überlappende Attributsätze (die minimale Schnittmenge der Untertypen ist der Primärschlüssel). Der gemeinsame Teil dieser Attribute, einschließlich des Primärschlüssels, wird in der Supertyp-Entität des eingehenden Dokuments platziert. Verschiedene Teile (zB Daten über Inhalt, Absender) werden in Entity-Subtypes abgelegt.

In einer Supertyp-Entität wird ein Diskriminatorattribut eingeführt, um zwischen bestimmten Instanzen einer Untertyp-Entität zu unterscheiden.

Je nachdem, ob alle möglichen Subtyp-Entitäten im Modell enthalten sind, ist die kategoriale Beziehung vollständig oder unvollständig.

Abbildung 1.4 - Ein Beispiel für einen unvollständigen Satz von Kategorien

Abbildung 1.5 - Ein Beispiel für einen vollständigen Satz von Kategorien

3. Eine Entität kann eine gemeinsame Entität in einer beliebigen Anzahl von Kategorisierungsbeziehungen sein.

4. Die Attribute des Primärschlüssels der Kategorie-Entität müssen mit den Attributen des Primärschlüssels der allgemeinen Entität übereinstimmen.

5. Alle Instanzen einer Kategorieentität haben den gleichen Diskriminatorwert, und alle Instanzen anderer Kategorien müssen unterschiedliche Diskriminatorwerte haben (siehe Abb. 4 und Abb. 5).

Rollen.

Der Rollenname (Funktionsname) ist ein Synonym für das Fremdschlüsselattribut, das die Rolle angibt, die das Attribut in der untergeordneten Entität spielt. Standardmäßig wird nur der Rollenname in der Attributliste angezeigt. Um den vollständigen Namen eines Attributs (sowohl funktionaler Name als auch Rollenname) anzuzeigen, wählen Sie im Kontextmenü Format / Entity Display und aktivieren Sie dann die Option Rollenname / Attribut. Der vollständige Name wird als Funktionsname und Basisname, getrennt durch einen Punkt, angezeigt. Der Rollenname wird auf der Registerkarte Rollenname des Dialogfelds Beziehung festgelegt. Dieses Fenster wird durch Doppelklick auf den Link aufgerufen.

Die Verwendung von Rollennamen ist obligatorisch, wenn zwei oder mehr Attribute einer Entität im gleichen Geltungsbereich definiert sind, d. h. sie haben den gleichen Wertebereich, aber unterschiedliche Bedeutungen.

Darstellung.

Views oder, wie sie manchmal auch temporäre oder abgeleitete Tabellen genannt werden, sind Datenbankobjekte, in denen Daten nicht wie in einer Tabelle dauerhaft gespeichert werden, sondern beim Zugriff auf die View dynamisch generiert werden. Eine Ansicht kann nicht allein existieren, sondern wird nur in Bezug auf eine oder mehrere Tabellen definiert. Die Verwendung von Ansichten ermöglicht es dem Datenbankdesigner, jedem Benutzer oder jeder Benutzergruppe eine andere Ansicht der Daten bereitzustellen, wodurch Probleme der Benutzerfreundlichkeit und Datensicherheit gelöst werden.

Vereinbarungen

Zur Kürze der nachfolgenden Präsentation werden wir einige Konventionen akzeptieren:

· Klicken - Drücken der linken Maustaste.

· Rechtsklick - Drücken der rechten Maustaste.

Doppelklick - zwei aufeinanderfolgende Klicks auf die Maustaste

· Auswählen - Bewegen Sie den Cursor auf das entsprechende Objekt (Diagrammelement, Menüpunkt, Symbol) und klicken Sie mit der linken Maustaste.

Ziehen - Wählen Sie ein Objekt aus und bewegen Sie den Cursor, ohne die Maustaste loszulassen v eine andere Stelle.

· Ein Datensatz vom Typ Datei / Öffnen bedeutet, dass Sie den Menüpunkt Datei und dann aus dem sich öffnenden Menü den Menüpunkt Öffnen auswählen müssen.

ERwin-Desktop

In Abb. 1 zeigt den Desktop der ERwin-Software von Logic Works.

Abb. 1- Erwin-Desktop.

In Abbildung 1 bedeuten die Zahlen:

1- Hauptmenü;

2- Symbolleiste;

3- eine Reihe von Spezialwerkzeugen;

4- Panel mit Schriftarten und Farben;

5- Diagrammfeld.

Schauen wir uns die Komponenten des Desktops genauer an.

Das Hauptmenü enthält allgemeine Befehle. Beachten Sie, dass die meisten dieser Befehle entweder durch Symbolleistensymbole oder durch Rechtsklick-Menüelemente dupliziert werden. Daher konzentrieren wir uns jetzt auf die Befehle, die sich auf die allgemeine Ansicht des Desktops beziehen. Das Element Fenster hat die folgenden Unterelemente:

Symbolleiste - Symbolleiste;

Schriftart- und Farbsymbolleiste - Tafel mit Schriftarten und Farben;

Statusleiste - Statusleiste;

ERwin Toolbox ist ein Set von Spezialwerkzeugen.

Wenn eines der aufgelisteten Elemente nicht aktiviert ist, wird das entsprechende Element nicht auf dem Desktop angezeigt. Die Elemente Option / Anzeigemenü anzeigen und Option / Editormenü anzeigen fügen dem Hauptmenü zusätzliche 1gush hinzu; Sie: Anzeige und Editor.

Die Symbolleiste enthält die folgenden Symbolgruppen:

Arbeiten mit Dateien:

Erstellen Sie ein neues Diagramm;

Öffnen Sie ein vorhandenes Diagramm;

Senden Sie das Diagramm zum Drucken.

Beachten Sie, dass diese Symbole von den Befehlen des Hauptmenüpunkts Datei dupliziert werden.



Modelldarstellungsebenen:

Entitätsebene;

Attributebene;

Beschreibungsebene;

Physikalische Schicht (wenn dieses Symbol angeklickt wird, werden ihre Typen während der Demonstration auf Attributebene angezeigt).

Diese Werkzeuge werden durch das Menüelement Anzeige dupliziert. Es enthält zusätzliche Darstellungsebenen: Primärschlüsselebene - es werden nur Primärschlüssel angezeigt, Physische Auftragsebene - Attribute werden nicht in Schlüssel und Nichtschlüssel unterteilt.

Skalierung:

Verringern;

Zunahme;

Keine Vergrößerung;

Die kleinste (weitere Verkleinerung führt zur Unlesbarkeit des Diagramms);

Teil anzeigen (nach Auswahl dieses Werkzeugs wählen Sie im Arbeitsfeld das Fragment aus, das Sie anzeigen möchten).

Alle Aktionen dieser Gruppe werden durch das Element Anzeige / / Zoom dupliziert.

Arbeiten mit dem Server:

Generieren Sie ein Skript für den Server;

Verbinden Sie sich mit dem Server;

Wählen Sie einen Server.

Eine Reihe von Spezialwerkzeugen enthält alle Symbole, die zum grafischen Erstellen des Datenschemas erforderlich sind. Es besteht aus folgenden Werkzeugen:

Objektauswahl;

Manipulieren von Attributen;

Unabhängige Einheit;

Abhängige Einheit;

Vollständige Kategorisierung;

Unvollständige Kategorisierung;

Eins-zu-viele-Identifikationsbeziehung;

Nicht-identifizierende Beziehung "Ode an viele";

Viele-zu-Viele-Beziehung;

Textetikett.

KONZEPTENTWICKLUNG

Erstellung von Entitäten

Entitäten im Konzeptdiagramm können abhängig und unabhängig sein. Im Diagramm wird jede Entität durch ein Rechteck dargestellt. Darüber steht der Name der Entität. Das Rechteck ist in zwei Teile geteilt: der obere ist der Primärschlüsselbereich; unten - Bereich anderer Attribute. Beim Konstruieren einer Entität ist das Rechteck zunächst leer und der Name hat die Form E / n (z. B. E / 1, E / 2 usw.).

Um eine unabhängige Entität zu erstellen, müssen Sie auf das entsprechende Symbol aus dem Satz von Spezialwerkzeugen klicken und dann auf das Diagrammfeld an der Stelle klicken, an der sich die erstellte Entität befinden soll. Um eine abhängige Entität zu erstellen, wählen Sie das Werkzeug „Abhängige Entität“ und klicken Sie auf das Diagrammfeld. Beachten Sie, dass das Rechteck, das eine solche Entität darstellt, abgerundete Ecken hat. Beim Erstellen eines Diagramms ist es praktisch nicht erforderlich, abhängige Entitäten direkt anzugeben, da ERwin beim Organisieren von Beziehungen oder Unterteilen in Kategorien gewöhnliche Entitäten in abhängige Entitäten umwandelt.

Wenn der Designer mit der Position des Elements auf dem Feld nicht zufrieden ist, müssen Sie das Symbol "Auf Objekt zeigen" aus den Spezialwerkzeugen auswählen und das Element an eine neue Position ziehen. Um die ausgewählte Entität zu löschen, verwenden Sie die Entf-Taste auf Ihrer Tastatur. Sie können die Größe des Rechtecks, das das Objekt darstellt, ändern, indem Sie im Hauptmenü den Punkt Option / Objektgröße auswählen. Der Menüpunkt Option / Layout wird verwendet, um die Position von Elementen auf dem Feld anzuordnen.

Nun definieren wir den Namen der Entität und ihre charakteristischen Attribute. Verwenden Sie dazu das Element Entity-Attribute aus dem Kontextmenü. Geben Sie im Feld Entitätsname des geöffneten Editors den Namen der Entität ein. Mit dem Schalter können Sie die Abhängigkeit der Entität ändern. Das Bearbeitungsfeld Primärschlüssel dient zur Eingabe der Namen der Attribute, aus denen der Primärschlüssel besteht. Das Feld Nicht-Schlüsselattribute enthält Nicht-Schlüsselattribute. Beachten Sie, dass in beiden Fällen die Eingabetaste auf Ihrer Tastatur verwendet wird, um die Attribute voneinander zu trennen. In Abb. 2 zeigt ein Beispiel einer unabhängigen Entität.

Reis. 2 - Unabhängiges Unternehmen

Um eine erweiterte Beschreibung einer Entität (Definition) und eine allgemeine Ansicht aller Entitäten hinzuzufügen, verwenden Sie den Berichts-/Entitätsbrowser.

ERwin hat die Möglichkeit, einzelne Attribute zu manipulieren. Wählen Sie dazu das Symbol Manipulationsattribute. In diesem Modus können Sie:

· Attribut entfernen. Wählen Sie dazu ein einzelnes Attribut aus und drücken Sie die Entf-Taste auf Ihrer Tastatur.

· Verschieben Sie das Attribut innerhalb der Entität. Wählen Sie dazu das Attribut aus und verschieben Sie es, ohne die Maustaste loszulassen, an die gewünschte Stelle. Beachten Sie, dass Sie auf diese Weise Attribute sowohl innerhalb der Schlüssel- als auch der Nicht-Schlüsselbereiche sowie zwischen diesen verschieben können.

· Verschieben Sie Attribute zwischen Entitäten. Die Technik für diese Aktion ist der vorherigen ähnlich. Wenn beim Verschieben des Attributs die Strg-Taste gedrückt wird, wird es in eine andere Entität kopiert.

Aufbau von Links

Betrachten wir die Konstruktion von Eins-zu-Viele-Beziehungen. Wählen Sie dazu das entsprechende Symbol aus dem Satz der Spezialwerkzeuge aus und klicken Sie dann nacheinander auf das Eltern- und das Kind. Der identifizierende Link wird mit einer durchgezogenen Linie und einem schwarzen Punkt am Rechteck angezeigt, das das Kind darstellt. Diese Beziehung ist gekennzeichnet durch die Übertragung des Primärschlüssels des Elternteils auf die Kennung des Kindes. In Abb. 3 zeigt eine Eins-zu-Viele-Identifikationsbeziehung.

Abb. 3. - Identifizierender Link

Eine nicht-identifizierende Beziehung wird auf ähnliche Weise aufgebaut. Es wird durch eine gepunktete Linie und eine Raute neben dem übergeordneten Rechteck dargestellt. Eine solche Raute bedeutet, dass die Existenz des Elternteils optional ist, d.h. das Fremdschlüsselfeld kann null sein. Der Aufbau einer nicht-identifizierenden Beziehung in ERwin ist durch die Übertragung des Primärschlüssels des Elternteils auf die Nicht-Schlüsselattribute des Nachkommens gekennzeichnet. Abbildung 4 zeigt eine nicht identifizierende Beziehung.

Reis. 4. - Nicht identifizierende Verbindung

Wie bereits erwähnt, führt das Entwerfen einer Viele-zu-Viele-Beziehung zu einer neuen Entität. Ein Beispiel für den Aufbau einer solchen Beziehung zwischen den Entitäten ersten und zweiten ist in Abb. 5.

Reis. 5. - Viele-zu-viele-Beziehung

Sie können die Beschreibung einer Beziehung anzeigen und ändern, indem Sie das Element Beziehung im Kontextmenü der Beziehung verwenden. Das sich öffnende Fenster zeigt an:

· Linkname (Verb-Phrase-Feld).

· Beziehungstyp: Identifizierend oder nicht-identifizierend.

· Kardinalität. Mit ERwin können Sie die folgenden Arten von Verknüpfungen definieren.

1. Null, eins oder mehrere. Das Vorhandensein einer solchen Kardinalität führt keine zusätzlichen Bezeichnungen in das Diagramm ein.

2. Eine oder mehrere. Solche Beziehungen werden durch den Buchstaben P neben dem das Kind darstellenden Rechteck gekennzeichnet.

3. Null oder eins. Die Kardinalität wird durch den Buchstaben Z angezeigt.

4. Gegeben. In diesem Fall muss das Feld Exactly eine Kardinalitätsnummer enthalten. Eine solche Beziehung wird durch eine Zahl im Rechteck gekennzeichnet, das das Kind darstellt.

· Möglichkeit der Existenz von Null - Werten (Nulls schalten).

· Die Rolle des Fremdschlüssels. In diesem Fall wird der Rollenname im Feld Rollenname aufgezeichnet. In diesem Fall enthält das Feld Fremdschlüssel des Editors die Konstruktion<имя роли>.<имя первичного ключа родителя>.

Wenn das Diagramm die Namen oder die Kardinalität der Beziehung nicht anzeigt, müssen Sie den Elementen Anzeige / Verbphrase und Anzeige / Kardinalität Zeiger gegenüberstellen.

Um einen Link zu löschen, wählen Sie das Symbol "Auf Objekt zeigen", klicken Sie auf den entsprechenden Link und drücken Sie die Entf-Taste auf der Tastatur.

Die Einteilung von Entitäten in Kategorien in ERwin wird ähnlich wie in Abb. 6.

Reis. 6 - Vollständige Kategorisierung

Um Kategorien zu erstellen, müssen Sie Folgendes tun:

Beschreiben Sie die Haupteinheit vollständig;

Kategorieentitäten erstellen;

Wählen Sie ein Symbol für die vollständige oder unvollständige Kategorisierung aus einer Reihe von Spezialwerkzeugen aus;

Klicken Sie auf die Hauptentität;

Klicken Sie auf eine der Kategorien;

Um jede nachfolgende Kategorie zu erstellen, klicken Sie auf das Kategoriezeichen und dann auf die entsprechende Entität.

Um die Beziehung einer der Kategorien zum Hauptobjekt zu entfernen, wählen Sie den entsprechenden Zweig aus und drücken Sie die Entf-Taste auf der Tastatur. Wenn Sie die gesamte Kategorisierung löschen möchten, zeigen Sie auf das Kategoriezeichen und drücken Sie Löschen.

LOGISCHES DESIGN

Logisches Design beginnt mit der Wahl eines Datenmodells. Alle DBMS, mit denen ERwin arbeitet, sind relational, dies bestimmt die Wahl des Datenmodells.

Um ein bestimmtes DBMS auszuwählen, klicken Sie auf das Symbol Server auswählen. Platzieren Sie im sich öffnenden Fenster den Zeiger gegenüber dem ausgewählten DBMS, stellen Sie ggf. die Version ein. Außerdem müssen Sie standardmäßig die Eigenschaften der Tabellenfelder (Art und Möglichkeit des Nullwerts) auswählen.

Ein wichtiger Schritt beim logischen Design ist die Definition einer Strategie zur Aufrechterhaltung der Integrität der Informationen. Um die Standardstrategie für verschiedene Arten von Links festzulegen, klicken Sie im DBMS-Auswahlfenster auf die Schaltfläche Standard für referenzielle Integrität. ERwin bietet drei Arten von Strategien:

1. Einschränken – verbieten. Es zeichnet sich durch das Verbot von Handlungen mit verbundenen Unternehmen aus.

2. Kaskade - Kaskadierung. Eine solche Strategie besteht darin, kaskadierende Operationen an verbundenen Entitäten durchzuführen.

3. Setzen Sie Null - Null. Diese Strategie besteht darin, den Feldwert auf Null zu setzen.

Nachdem Sie ein DBMS ausgewählt haben, beginnen wir mit der Beschreibung der Daten in ihren Begriffen. Wählen Sie dazu aus dem Menü, das durch Rechtsklick auf die Entität erscheint, das Element<имя выбранной СУБД>Datenbankschema. In dem sich öffnenden Fenster können Sie die Namen von Tabellen und deren Feldern sowie die Eigenschaften dieser Felder angeben.

In der Praxis kommt es häufig vor, dass nicht alle Beziehungen jeglichen Typs durch die gleichen Strategien zur Einhaltung von Integritätsbedingungen bestimmt werden. Um Strategien für einen bestimmten Link zu ändern, verwenden Sie das Element Referential Integrity aus dem Kontextmenü eines Links mit der rechten Maustaste. Wenn das Diagramm keine Informationen zu den ausgewählten Strategien enthält, platzieren Sie den Zeiger neben Display / Referenda Integrity.

Um ein Skript für das ausgewählte DBMS zu erstellen, klicken Sie auf das Symbol "Skript für Server generieren". Gleichzeitig baut ERwin das Datenbankschema nach bestimmten Tabellen auf. Wenn das ausgewählte DBMS Schreibtrigger unterstützt, werden sie in Abhängigkeit von den ausgewählten Strategien zur Unterstützung von Integritätsbedingungen erstellt.

PHYSIKALISCHES DESIGN

In dieser Phase des Entwurfs werden wir der resultierenden Schaltung zusätzliche Indizes hinzufügen. Verwenden Sie dazu den Artikel<имя СУБД>Index des Menüs, das durch Rechtsklick auf eine Entität erscheint. Klicken Sie im sich öffnenden Fenster auf die Schaltfläche Neu, um einen neuen Index zu erstellen, und geben Sie dann ein Attribut dafür an, indem Sie auf das visuelle Bild dieses Attributs klicken. Beachten Sie, dass jetzt im allgemeinen Diagramm die Attribute, die zur Konstruktion der Indizes verwendet werden, mit den Buchstaben AK gekennzeichnet sind. Dies bedeutet, dass es sich um alternative Schlüssel handelt.

ÜBUNG

1. Erstellen Sie mit ERwin ein konzeptionelles Datenbankschema für die Zertifizierungsstelle. Die Beschreibung des Themenbereichs ist unten angegeben.

Die Zertifizierungsstelle ist akkreditiert, Zertifikate für bestimmte Produkttypen auszustellen. Jeder Produkttyp wird durch einen Code (entsprechend dem Klassifikator), einen Typnamen (zB Milchprodukte) und einen Typ (zB Milch) beschrieben. Für jeden Produkttyp kann es mehrere Zulassungsdokumente geben, und die Wirkung jedes Zulassungsdokuments gilt für mehrere Produkttypen. Ein regulatorisches Dokument wird durch seine Stufe (GOST, OST usw.), Nummer und Name gekennzeichnet.

Das Zertifikat wird nur für einen Produkttyp und nur für einen Kunden ausgestellt. Derselbe Kunde kann die Zertifizierungsstelle mehrmals kontaktieren, daher müssen Sie Informationen über Kunden speichern (Organisationscode, Name, Adresse und Telefonnummer).

Der Kunde kann bei der Zertifizierungsstelle eine von zwei Arten von Zertifizierungsanträgen beantragen: einen Antrag oder eine Erklärung. Abhängig davon werden verschiedene Arten von internen Dokumentationen erstellt und verschiedene Informationen gespeichert (Tabelle1).

Tabelle 1

In diesem Fall erfolgt die Nummerierung der Anträge und Erklärungen fortlaufend. Das heißt, wenn ein Antrag mit einer Nummer vorliegt, sollte keine Erklärung unter dieser Nummer erfolgen.

Die Zertifizierungsstelle speichert Informationen über ihre Mitarbeiter (persönlicher Code, Nachname, Position und Adresse). Darüber hinaus müssen Sie wissen, welche Art von Arbeit und für welchen Antrag der Mitarbeiter ausgeführt hat. Die Bearbeitung des Antrags kann auf vier Arten erfolgen: Antrag ausfüllen, Antragsentscheidung treffen, über die Ausstellung eines Zertifikats entscheiden, ein Zertifikat ausstellen. Für dieselbe Anwendung können unterschiedliche Arten von Arbeiten von verschiedenen Mitarbeitern ausgeführt werden. Im Konzeptdiagramm muss eine Unterteilung in Kategorien erfolgen. Außerdem müssen Fremdschlüsselrollen verwendet werden.

2. Konvertieren Sie das konzeptionelle Schema mit ERwin in Tabellen des ausgewählten DBMS. Trigger erstellen.

3. Legen Sie drei Benutzer für die Datenbank mit folgenden Rechten an:

1) "Berichte" - das Recht, alle Informationen zu lesen (es gibt keine anderen Rechte);

2) „Verzeichnisse“ – alle Rechte an Informationen über Mitarbeiter, Kunden, Produkte und behördliche Dokumente;

3) "Dokumentation" - alle Rechte an Informationen über die interne Dokumentation der Zertifizierungsstelle und der Kunden; das Recht, Produkt- und Regulierungsdaten zu lesen.

Der Bericht sollte enthalten:

Konzeptioneller Diagrammausdruck aus ERwin;

Begründung der Wahl der Strategien zur Unterstützung der Einschränkungen der Integrität der Basis;

Die Struktur von Tabellen und Triggern;

Beschreibung der Mittel zum Anlegen von Datenbankbenutzern.

KONTROLLFRAGEN

1. Welche Arten von Beziehungen kann es im Fachgebiet geben?

2. Wie entferne ich eine Viele-zu-Viele-Beziehung aus dem Datenbankschema?

3. Was ist der Unterschied zwischen identifizierenden und nicht identifizierenden Links?

4. Wann ist es notwendig, die Rollen von Fremdschlüsseln zu beschreiben?

5. Wie können Sie die Auswahl der Kategorien begründen?

6. Was ist der Unterschied zwischen vollständiger und unvollständiger Kategorisierung?

7. Welche Arten von Strategien zur Aufrechterhaltung von Integritätsbeschränkungen wurden im Labor verwendet?


Literaturverzeichnis

1. Datum K.J. Einführung in Datenbanksysteme - Lehrbuch. Zuschuss: Aus dem Englischen übersetzt. - 6. Aufl. - M. und andere: Williams, 2000 .-- 846 p.

2. Robinson S. Microsoft Access 2000: Lehrbuch. Kurs: pro. aus dem Englischen - SPB.: Peter, 2001.-- 511 S.

3. Kuznetsov S.D. Grundlagen Datenbanken: Lehrveranstaltung: Lehrbuch. Handbuch), Moskau: Internet un-t Inform. Technologien, 2005.-484 p.

4. Hoffman V. E., Khomonenko A. D. Arbeiten mit Datenbanken in Delphi. Sankt Petersburg: Dhv, 2002.-656 p.

5. Maklakov S. V. Bpwin und Erwin. Case-Tools für die Entwicklung von Informationssystemen.-M.: Dialogue-Mifi, 2003.-254p.

6. Malychina M.P. Datenbanken: Grundlagen, Design, Nutzung: Lehrbuch. Handbuch für Hochschulen. 2. Aufl.-SPB.: BHV-Petersburg, 2006.-517 S.

Fortsetzung des Themas:
Betriebssystem

Die Besitzer der meisten modernen Smartphones sind mit der Betriebszeit eines elektronischen Geräts ohne Aufladen nicht zufrieden, daher denken viele darüber nach, den Betrieb zu optimieren. Nicht...