Anwendungen verfügen über mehrere Tabellen, die jeweils mit einer bestimmten Domäne verknüpft sind.
Eine bewährte Vorgehensweise besteht darin, die Datenbank nach Modulen zu organisieren, die auf diese Domänen abgestimmt sind.
Konzepte
- Modularisierte Datenbank: Datenbank, die in Module unterteilt ist, die bestimmte Bereiche des Systems darstellen.
- Schema: Satz von Objekten in einer Datenbank, logisch organisiert.
- Schemaobjekte: Tabellen, Ansichten, Trigger und Funktionen, die Teil des Schemas sind.
Äquivalenz zwischen Modul und Schema
- Die geeignete Möglichkeit zur Darstellung von Modulen ist die Verwendung von Schemas.
- Jedes Modul wird durch ein Schema in der Datenbank dargestellt.
- Jedes Schema enthält seine eigenen Objekte, wie Ansichten, Tabellen, Trigger und Funktionen.
- Beim Erstellen komplexer Abfragen ist es wichtig, das Schema zu berücksichtigen, in dem sich die Tabelle befindet.
Schritte zur Schöpfung
- Erstellen Sie eine Datenbank.
- Grundeinstellungen konfigurieren.
- Erstellen Sie die erforderlichen Schemata.
- Erstellen Sie Tabellen, Ansichten, Trigger und Funktionen in jedem Schema.
- Definieren Sie bei Bedarf spezifische Zugriffsregeln für jedes Schema.
Initialisierung
- Lesen Sie die SQL-Skripte aus jedem Verzeichnis.
- Überprüfen Sie vor der Ausführung, ob Skripte vorhanden sind.
- Führen Sie die Skripte in der richtigen Reihenfolge aus.
- Führen Sie die Skripte innerhalb einer Transaktion aus.
- Starten Sie die Skripte beim Öffnen der Anwendung.
- Zeichnen Sie Fortschritts- und Fehlerprotokolle auf.
Vorteile der Schemaerstellung
- Organisation
- Modularisierung der Datenbank
- Trennung der Verantwortlichkeiten
- Navigierbarkeit
- Wiederverwendbarkeit des Codes
- Erhöhte Sicherheit
- Verbesserte Zusammenarbeit
Herausforderungen
- Komplexität in Beratungen.
- Ausführlichkeit im Code.
- Aufrechterhaltung der Konsistenz zwischen Modulen
- Standardisierung und Konsistenz in der Nomenklatur.
- Teamtraining.
Quellcode:
- https://github.com/ortizdavid/golang-modular-software
LinkedIn: https://www.linkedin.com/in/ortiz-david
Das obige ist der detaillierte Inhalt vonEntwurf einer modularen Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!