2.1. Konzeptionelles Design

Das Datenbankdesign erfolgt in drei Phasen:

  1. konzeptionelles Design;
  2. logisches Design;
  3. physisches Design.

Der Zweck der Konzeptionsphase besteht darin, ein konzeptionelles Datenmodell zu erstellen, das auf den Vorstellungen der Benutzer zum Themenbereich basiert. Um dies zu erreichen, wird eine Reihe aufeinanderfolgender Verfahren durchgeführt. Ein Beispiel für ein (konzeptionelles) Entitätsschema:

1. Definition von Entitäten und deren Dokumentation. Um Entitäten zu identifizieren, werden Objekte definiert, die unabhängig von anderen existieren. Solche Objekte sind Entitäten. Jede Entität erhält einen aussagekräftigen Namen, den Benutzer verstehen können. Die Namen und Beschreibungen der Entitäten werden in das Datenwörterbuch eingegeben. Wenn möglich, wird die erwartete Anzahl von Instanzen jeder Entität festgelegt.

2. Bestimmung der Beziehungen zwischen Entitäten und ihrer Dokumentation. Es werden nur die Beziehungen zwischen Entitäten definiert, die zur Erfüllung der Datenbankdesignanforderungen erforderlich sind. Der Typ jedes einzelnen ist festgelegt. Die Zugehörigkeitsklasse der Entitäten wird angezeigt. Links werden aussagekräftige Namen zugewiesen, die durch Verben ausgedrückt werden. Eine detaillierte Beschreibung jeder Verbindung mit Angabe ihres Typs und der Zugehörigkeitsklasse der an der Verbindung beteiligten Entitäten wird in das Datenwörterbuch eingegeben.

3. Erstellung eines ER-Modells des Fachgebiets. ER-Diagramme werden zur Darstellung von Entitäten und Beziehungen zwischen ihnen verwendet. Darauf aufbauend entsteht ein einziges visuelles Abbild des modellierten Fachgebiets – das ER-Modell des Fachgebiets.

4. Definition von Attributen und deren Dokumentation. Alle Attribute, die die Entitäten des erstellten ER-Modells beschreiben, werden angezeigt. Jedes Attribut erhält einen aussagekräftigen Namen, den Benutzer verstehen können. Für jedes Attribut werden im Datenwörterbuch folgende Informationen gespeichert:

  • Attributname und Beschreibung;
  • Art und Dimension der Werte;
  • der Standardwert für das Attribut (falls vorhanden);
  • ob das Attribut NULL-Werte haben kann;
  • ob das Attribut zusammengesetzt ist und wenn ja, aus welchen einfachen Attributen es besteht. Beispielsweise kann das Attribut „Vollständiger Name des Kunden“ aus den einfachen Attributen „Nachname“, „Vorname“ und „Patronymie“ bestehen oder einfach sein und einzelne Werte enthalten, z. B. „Sidorsky Evgeniy Mikhailovich“. Wenn der Benutzer keinen Zugriff auf einzelne Elemente des „Namens“ benötigt, wird das Attribut einfach dargestellt;
  • ob das Attribut berechnet wird und wenn ja, wie seine Werte berechnet werden.

5. Definition von Attributwerten und deren Dokumentation. Für jedes Attribut einer am ER-Modell teilnehmenden Entität wird ein Satz gültiger Werte ermittelt und diesem ein Name zugewiesen. Beispielsweise kann das Attribut „Kontotyp“ nur die Werte „Einzahlung“, „aktuell“, „auf Abruf“, „Kartenkonto“ haben. Die mit den Attributen verbundenen Datenwörterbucheinträge werden mit den Namen der Attributwertsätze aktualisiert.

6. Definition von Primärschlüsseln für Entitäten und deren Dokumentation. Dieser Schritt wird durch die Definition eines Primärschlüssels geleitet – als Attribut oder Satz von Attributen einer Entität, der eine eindeutige Identifizierung ihrer Instanzen ermöglicht. Primärschlüsselinformationen werden im Datenwörterbuch abgelegt.

7. Diskussion des konzeptionellen Datenmodells mit Endbenutzern. Das konzeptionelle Datenmodell wird durch ein ER-Modell mit begleitender Dokumentation dargestellt, die eine Beschreibung des entwickelten Datenmodells enthält. Wenn Domäneninkonsistenzen festgestellt werden, werden Änderungen am Modell vorgenommen, bis Benutzer bestätigen, dass das von ihnen vorgeschlagene Modell ihre persönlichen Ansichten angemessen widerspiegelt.

2.2 Logikdesign

Der Zweck der logischen Entwurfsphase besteht darin, das konzeptionelle Modell basierend auf dem ausgewählten Datenmodell in ein logisches Modell umzuwandeln, das unabhängig von den Funktionen des DBMS ist, das später für die physische Implementierung der Datenbank verwendet wird. Um dies zu erreichen, werden die folgenden Verfahren durchgeführt.

Ein Beispiel für ein logisches Datenbankschema.

1. Auswahl eines Datenmodells. Aufgrund der Klarheit der tabellarischen Darstellung der Daten und der Bequemlichkeit der Arbeit mit ihnen wird am häufigsten ein relationales Datenmodell gewählt.

2. Definieren einer Reihe von Tabellen basierend auf dem ER-Modell und deren Dokumentation. Für jede Entität des ER-Modells wird eine Tabelle erstellt. Entitätsname ist der Name der Tabelle. Beziehungen zwischen Tabellen werden durch den Mechanismus von Primär- und Fremdschlüsseln hergestellt. Die Strukturen der Tabellen und die hergestellten Beziehungen zwischen ihnen werden dokumentiert.

3. Normalisierung von Tabellen. Um die Normalisierung ordnungsgemäß durchführen zu können, muss der Designer die Semantik und Nutzungsmuster der Daten genau verstehen. In diesem Schritt überprüft er die Richtigkeit der Struktur der im vorherigen Schritt erstellten Tabellen, indem er das Normalisierungsverfahren auf sie anwendet. Es besteht darin, jeden der Tische mindestens auf die 3. NF zu bringen. Durch die Normalisierung ergibt sich ein sehr flexibles Datenbankdesign, das es einfach macht, notwendige Erweiterungen vorzunehmen.

4. Überprüfung des logischen Datenmodells auf die Möglichkeit, alle von Benutzern bereitgestellten Transaktionen durchzuführen. Eine Transaktion ist eine Reihe von Aktionen, die von einem einzelnen Benutzer oder Anwendungsprogramm ausgeführt werden, um den Inhalt einer Datenbank zu ändern. Ein Beispiel für eine Transaktion im BANK-Projekt kann also die Übertragung des Rechts zur Führung der Konten eines bestimmten Kunden auf einen anderen Kunden sein. In diesem Fall müssen mehrere Änderungen gleichzeitig an der Datenbank vorgenommen werden. Wenn ein Computer während einer Transaktion abstürzt, befindet sich die Datenbank in einem inkonsistenten Zustand, da einige Änderungen bereits vorgenommen wurden und andere nicht. Daher müssen alle Teiländerungen rückgängig gemacht werden, um die Datenbank wieder in ihren vorherigen konsistenten Zustand zu versetzen.

Die Liste der Transaktionen wird durch die Aktionen der Benutzer im Themenbereich bestimmt. Mithilfe des ER-Modells, des Datenwörterbuchs und etablierter Beziehungen zwischen Primär- und Fremdschlüsseln wird versucht, alle notwendigen Datenzugriffsoperationen manuell durchzuführen. Wenn ein manueller Vorgang fehlschlägt, ist das kompilierte logische Datenmodell unzureichend und enthält Fehler, die behoben werden müssen. Möglicherweise hängen sie mit einer Lücke im Modell einer Entität, Beziehung oder eines Attributs zusammen.

5. Ermittlung der Anforderungen an die Unterstützung der Datenintegrität und deren Dokumentation. Bei diesen Anforderungen handelt es sich um Einschränkungen, die eingeführt werden, um zu verhindern, dass widersprüchliche Daten in die Datenbank eingegeben werden. In diesem Schritt werden Fragen der Datenintegrität behandelt, ohne Berücksichtigung spezifischer Aspekte ihrer Implementierung. Die folgenden Arten von Einschränkungen sollten berücksichtigt werden:

  • benötigte Daten. Herausfinden, ob es Attribute gibt, die keine NULL-Werte haben können;
  • Einschränkungen für Attributwerte. Gültige Werte für Attribute werden definiert;
  • Integrität der Entität. Dies wird erreicht, wenn der Primärschlüssel der Entität keine NULL-Werte enthält;
  • referenzielle Integrität. Es versteht sich, dass der Fremdschlüsselwert im Primärschlüssel einer der Tabellenzeilen für die übergeordnete Entität vorhanden sein muss;
  • Beschränkungen, die durch Geschäftsregeln auferlegt werden. Beispielsweise kann im Fall des BANK-Projekts eine Regelung verabschiedet werden, die es dem Kunden verbietet, beispielsweise mehr als drei Konten zu verwalten.

Informationen zu allen festgelegten Datenintegritätsbeschränkungen werden im Datenwörterbuch abgelegt.

6. Erstellung der finalen Version des logischen Datenmodells und Diskussion mit Anwendern. In diesem Schritt wird die endgültige Version des ER-Modells vorbereitet, das das logische Datenmodell darstellt. Das Modell selbst und die aktualisierte Dokumentation, einschließlich des Datenwörterbuchs und des Beziehungstabellen-Link-Schemas, werden zur Überprüfung und Analyse durch Benutzer bereitgestellt, die sicherstellen müssen, dass es den Themenbereich genau wiedergibt.

2.3. Physisches Design

Der Zweck der physischen Entwurfsphase besteht darin, eine spezifische Implementierung einer Datenbank zu beschreiben, die sich im externen Speicher eines Computers befindet. Dies ist eine Beschreibung der Datenspeicherstruktur und effizienter Methoden für den Zugriff auf Datenbankdaten. Beim logischen Design beantworten sie die Frage, was getan werden muss, und beim physischen Design wird ein Weg gewählt, wie es getan werden soll. Die physikalischen Entwurfsverfahren sind wie folgt.

1. Entwerfen von Datenbanktabellen mit dem ausgewählten DBMS. Ein relationales DBMS wird ausgewählt, um eine auf Maschinenmedien gehostete Datenbank zu erstellen. Seine Funktionalität zum Gestalten von Tischen ist eingehend untersucht. Anschließend erfolgt der Entwurf der Tabellen und das Schema ihrer Verbindung in der DBMS-Umgebung. Das vorbereitete Datenbankprojekt wird in der Begleitdokumentation beschrieben.

2. Implementierung von Geschäftsregeln in der Umgebung des ausgewählten DBMS. Das Aktualisieren von Informationen in Tabellen kann durch Geschäftsregeln eingeschränkt werden. Die Art und Weise ihrer Implementierung hängt vom gewählten DBMS ab. Manche Systeme zur Umsetzung der Anforderungen des Fachgebiets bieten mehr Features, andere weniger. In einigen Systemen gibt es überhaupt keine Unterstützung für die Implementierung von Geschäftsregeln. In diesem Fall werden Anwendungen entwickelt, um deren Einschränkungen umzusetzen.

Alle Entscheidungen, die im Zusammenhang mit der Implementierung von Domain-Business-Regeln getroffen werden, werden in der begleitenden Dokumentation ausführlich beschrieben.

3. Entwerfen der physischen Organisation der Datenbank. In diesem Schritt wird die beste Dateiorganisation für die Tabellen ausgewählt. Die Transaktionen, die in der zu entwerfenden Datenbank ausgeführt werden, werden identifiziert und die wichtigsten davon hervorgehoben. Analysiert wird der Transaktionsdurchsatz – die Anzahl der Transaktionen, die in einem bestimmten Zeitintervall verarbeitet werden können – und die Antwortzeit – der Zeitraum, der zum Abschluss einer Transaktion erforderlich ist. Sie streben danach, den Transaktionsdurchsatz zu erhöhen und die Reaktionszeit zu verkürzen.

Basierend auf diesen Indikatoren werden Entscheidungen zur Optimierung der Datenbankleistung getroffen, indem Indizes in Tabellen definiert werden, die die Auswahl von Daten aus der Datenbank beschleunigen, oder indem die Anforderungen an den Grad der Tabellennormalisierung reduziert werden. Der zur Unterbringung der erstellten Datenbank erforderliche Speicherplatz wird geschätzt. Bemühen Sie sich, es zu minimieren.

Entscheidungen zu den oben genannten Themen werden dokumentiert.

4. Entwicklung einer Datenbankschutzstrategie. Die Datenbank ist eine wertvolle Unternehmensressource, auf deren Schutz viel Wert gelegt wird. Dazu müssen Designer ein vollständiges und klares Verständnis aller Schutzmaßnahmen haben, die das ausgewählte DBMS bietet.

5. Organisation der Überwachung der Datenbankfunktion und deren Anpassung. Nach der Erstellung des physischen Projekts der Datenbank wird eine kontinuierliche Überwachung ihrer Funktionsfähigkeit organisiert. Die resultierenden Informationen über das Leistungsniveau der Datenbank werden zur Optimierung verwendet. Dabei werden auch die Mittel des ausgewählten DBMS einbezogen.

Entscheidungen über Änderungen an einer funktionierenden Datenbank sollten gründlich überlegt und abgewogen werden.