Überspringen zum Hauptinhalt

Was ist ein Datenbankschema?

Ein Datenbankschema ist eine logische Struktur, die definiert, wie Daten innerhalb einer Datenbank organisiert sind. Relationale Datenbanken und einige nicht-relationale Datenbanken verwenden Schemata, um die Struktur ihrer Daten, deren Verbindungen untereinander und interne Prozesse zu beschreiben. Datenbankschemata bieten eine logische Vorlage für die Datenspeicherung und -organisation, um eine bessere Zugänglichkeit für Benutzer, Skalierbarkeit und Datenintegrität zu gewährleisten.

Welche Vorteile bietet ein Datenbankschema?

Da ein Datenbankschema definiert, wie ein Unternehmen seine Daten organisiert, bietet die Verwendung eines solchen Schemas mehrere Vorteile.

Organisation verbessern

Unternehmen können ihre Informationen in übersichtlichen Datenstrukturen organisieren, um die Organisation zu verbessern und sicherzustellen, dass die Beziehungen zwischen Datensätzen klar und konsistent sind. Ein klar definiertes Schema ermöglicht es Unternehmen außerdem, ihr Datenbankmanagementsystem einfacher zu skalieren.

Datenintegrität verbessern

Durch die Implementierung von Regeln, wie Ihr Unternehmen Daten mit einem Schema speichert, gewährleisten Sie ein hohes Maß an Integrität – selbst in komplexen Speichersystemen. Die Einhaltung einheitlicher Regeln trägt dazu bei, die Gültigkeit der Daten sicherzustellen und Compliance-Anforderungen zu erfüllen.

Zugänglichkeit erhöhen

Ein Datenbankschema bietet verschiedene Einblicke in die gesamten Datenstrukturen, die Sie verwenden. Anhand dieser verschiedenen Ebenen können Designer, Administratoren und Interessengruppen die Struktur auch ohne technische Kenntnisse diskutieren.

Welche Schritte sind zum Entwerfen eines Datenbankschemas erforderlich?

Das Entwerfen von Datenbankschemata, die üblicherweise in einem Datenbankmanagementsystem verwendet werden, umfasst drei Schritte.

1. Konzeptionelles Datenbankschema

Ein konzeptioneller Datenbankschema-Entwurf ist die Ansicht einer Datenbank auf höchster Abstraktionsebene, die einen Gesamtüberblick über die Datenbank ohne kleinere Details bietet. Ein konzeptioneller Datenbankschema-Entwurf ist in der Regel eine schnelle Zeichnung von Hand.

Relationale Datenbanken speichern zum Beispiel Daten in Tabellen, wobei jede Tabelle eine Reihe verwandter Daten enthält. Ein konzeptionelles Datenbankschema könnte eine Produkttabelle und ihre Attribute, eine Kundentabelle und eine n:m-Beziehung zwischen Tabellen beschreiben. Ein konzeptionelles Datenbankschema darf jedoch keine detaillierten Implementierungsdetails wie Datentypen oder Zugriffsbeschränkungen enthalten.

Ein konzeptionelles Schema ist nützlich, um den gesamten Datenfluss in einer Organisation darzustellen, ohne zu viele Details anzugeben.

2. Logisches Datenbankschema

Ein logischer Datenbankschema-Entwurf bietet einen Überblick darüber, wie Daten in einer Datenbank strukturiert sind. Er beschreibt die Beziehung zwischen Entitäten und zeigt weitere Details darüber, wie Daten organisiert sind. Ein logischer Datenbankschema-Entwurf ist in der Regel eine digitale Datenmodellierungsaufgabe.

Jede Entität im Datenschema ist in Bezug auf Informationen wie die folgenden definiert:

  • Tabellennamen
  • Entitätsbeziehungen
  • Attributnamen
  • Standardwerte
  • Datentypen
  • Sicherheitseinschränkungen
  • Verfahren
  • Ansichten
  • Indizes
  • Metadaten

Ein vollständiger logischer Schema-Entwurf gewährleistet Datenkonsistenz und Integrität, indem er Einschränkungen für neue und vorhandene Daten festlegt.

Logische Datenbankschemata enthalten in der Regel keine technischen Anforderungen.

3. Physikalisches Datenbankschema

Ein physisches Datenbankschema beschreibt genau, wo Daten innerhalb einer umfassenderen Datenbankstruktur zu finden sind. Es enthält technische Speicherangaben, Identifizierung der Speicherorte der Dateien, spezifische Speicherformate und Indizierungsstrategien, die von jeder Tabelle zum Speichern ihrer Daten verwendet werden. Ein physischer Schema-Entwurf ist in der Regel eine Kombination aus festen technischen Datenbankentwurfsmustern und Benutzerspezifikationen.

Das physische Schema ist die am wenigsten konzeptionelle Form eines Datenbankschemas und bietet einen echten Einblick in die Speicherorte der Daten. Logische und physische Schemata sind für die Datenbankinstanziierung erforderlich.

Welche Möglichkeiten gibt es, Datenbankschemata zu modellieren?

Verschiedene Arten von Datenbankschema-Stilen eignen sich für unterschiedliche Geschäftsanforderungen und Datentypen. Online Transaction Processing (OLTP)-Datenbanken, wie beispielsweise Produktbestellsysteme, verwenden die Entity-Relationship-Schemamodellierungstechnik. Online Analytical Processing (OLAP)-Datenbanken, wie beispielsweise komplexe Geschäftsabfragen, erfordern möglicherweise unterschiedliche Modellierungstechniken, z. B. das Sternschema und das Schneeflockenschema.

Hier sind einige der gängigsten Datenbankschema-Stile.

Entity Relationship (ER)-Schema

Ein Entity-Relationship-Schema weist jede Entität einer Tabelle zu und bildet dann die Verbindungen zwischen den Tabellen ab. ER-Schemata haben mehrere Brückenbeziehungen zwischen allen Datenelementen: 1:1. 1:many und many:many. Diese Art von relationalem Datenbankschema verwendet Tabellen, Spalten und Zeilen, um Datensysteme aufzubauen, die durch Beziehungen und Einschränkungen miteinander verbunden sind.

Sternschema

Unternehmen können ein Sternschema nutzen, um große Datensätze auf der Grundlage von zwei Hauptprinzipien zu verwalten und zu organisieren: Fakten und Dimensionen. Im Kontext eines Sternschemas stehen Fakten im Mittelpunkt der Struktur und liefern messbare Daten. Beispiele für solche zentralen Fakten sind die Anzahl der Transaktionen, Webseitenklicks oder die Gesamtzahl der Käufe. Dimensionen liefern dann zusätzliche Informationen zu diesem Sachverhalt, beispielsweise welcher Kunde den Kauf getätigt hat, wo er ihn getätigt hat und welches Produkt er gekauft hat.

Schneeflockenschema

Ein Schneeflockenschema verwendet, ähnlich wie ein Sternschema, eine zentrale Faktentabelle, die dann mit mehreren Dimensionstabellen verbunden wird. Im Gegensatz zum Sternschema verfügen die Dimensionstabellen# des Schneeflockenschemas jedoch über eine Reihe zusätzlicher Datenbanktabellen, die sich von ihnen abzweigen und weitere Details zu diesen Dimensionen bieten. Die Verwendung eines Schneeflockenschemas ist nützlich für Daten mit einer großen Anzahl von Dimensionen und Unterdimensionen. Sowohl Stern- als auch Schneeflockenschemas werden oft in der Business Intelligence verwendet. Beide Ansätze ermöglichen es Datenbankbenutzern, ihre Sicht auf Daten nach bestimmten Geschäftsdimensionen zu organisieren.

Hierarchisches Schema

Ein hierarchisches Datenbankschema verwendet eine baumähnliche Struktur mit einem Stammknoten an der Spitze, der sich in andere Knotenäste verzweigt. In einem hierarchischen Modell kann jedes „übergeordnete“ Datenelement mehrere untergeordnete Knoten haben, während jeder untergeordnete Knoten nur einen übergeordneten Knoten haben kann. Ein hierarchisches Modell könnte beispielsweise mit einem Unternehmen beginnen, sich dann auf die einzelnen Abteilungen verzweigen und schließlich auf die einzelnen Mitarbeiter innerhalb jeder Abteilung.

Wie läuft der Prozess des Entwurfs eines OLTP-Datenbankschemas ab?

Der Prozess des Entwurfs eines Datenbankschemas wird als Datenmodellierung bezeichnet.

Hier sind die wichtigsten Schritte zur Erstellung eines Datenmodells eines OLTP-Systems.

Anforderungen erfassen

Bevor Sie eine Datenbank erstellen, müssen Sie ihren Zweck festlegen und die wichtigsten Informationen skizzieren, z. B. welche Daten sie enthalten soll und wie Sie die Datenbank nutzen möchten. Die beste Datenbank für Sie hängt von folgenden Faktoren ab:

  • Spezifische Daten, die Sie verwenden
  • Abfragen, die Sie für die Interaktion mit der Datenbank benötigen
  • Berichte, die Sie generieren möchten

Dieser Schritt umreißt Ihre Ziele und leitet Sie durch den Prozess des Datenbankschema-Entwurfs.

Entity-Relationship-Diagramme erstellen

Ein Entity-Relationship-Diagramm (ERD) stellt dar, wie Tabellen, Datenbankobjekte und einzelne Entitäten innerhalb einer Datenbank miteinander verbunden sind. Durch die Erstellung einer konzeptionellen Schemaansicht Ihrer Datenbank können Sie die Funktionsweise der Datenbank visualisieren und Einblicke in die darin gespeicherten Daten gewinnen.

In dieser Phase können Sie auch die Namenskonventionen festlegen, die für Tabellen, Spalten, Datenbankobjekte und Indizes in Ihrer Datenbank verwendet werden sollen. Konventionen helfen allen, bei der Dateneingabe einen Standardansatz zu verfolgen.

Datenentitäten in Tabellen organisieren

Anhand Ihrer ERD-Karte können Sie nun alle Ihre Daten in spezifischen Tabellen organisieren. Jede Entität in Ihrer Datenbankstruktur sollte über eine eigene Tabelle verfügen, deren einzelne Spalten die verwandten Attribute enthalten. Definieren Sie den Primärschlüssel, mit dem Sie bestimmte Datenwerte leicht identifizieren und abrufen können.

Datenstrukturen normalisieren

Die Normalisierung ist ein Prozess im Datenbankschema-Entwurf, der darauf abzielt, Datenredundanz zu reduzieren und die Datenintegrität zu verbessern. Dabei werden Daten in Tabellen so organisiert, dass die Beziehungen zwischen den Daten gut strukturiert sind und Anomalien minimiert werden.

Es gibt mehrere Normalformen, die jeweils spezifische Anforderungen haben. Jede aufeinanderfolgende Normalform befasst sich mit einer anderen Art von Redundanz oder Abhängigkeit, um die Datenkonsistenz zu verbessern und das Schema robuster zu machen.

1NF

1NF erfordert, dass jede Spalte atomare (unteilbare) Werte enthält und dass jeder Datensatz eindeutig ist. Es entfernt sich wiederholende Gruppen und mehrwertige Felder.

2NF

2NF baut auf 1NF auf, indem es sicherstellt, dass alle Nicht-Schlüsselattribute voll funktionsabhängig vom gesamten Primärschlüssel sind (d. h. es beseitigt partielle Abhängigkeiten).

3NF

3NF fügt hinzu, dass alle Nicht-Schlüssel-Attribute nur vom Primärschlüssel abhängen dürfen und nicht von anderen Nicht-Schlüsselattributen (d. h. es werden transitive Abhängigkeiten entfernt).

Sicherheitsmaßnahmen umsetzen

Erstellen Sie eine Berechtigungsstruktur, um sicherzustellen, dass nur autorisierte Benutzer auf Ihre Datenbank zugreifen und die darin enthaltenen Informationen einsehen können. Sie können verschiedenen Benutzergruppen in der Datenbank unterschiedliche Rechte zuweisen, z. B. das Lesen, Schreiben oder Löschen von Informationen, wodurch Ihre sensiblen Daten geschützt werden. Definieren Sie rollenbasierte Zugriffskontrollen, um sicherzustellen, dass nur autorisierte Benutzer sensible Daten einsehen oder ändern können.

Test

Das Testen Ihres Datenbankschema-Entwurfs mit einigen grundlegenden Abfragen und anderen Interaktionen stellt sicher, dass alles wie vorgesehen funktioniert. Wenn Sie in dieser Phase Daten darüber sammeln, wie die Datenbank funktioniert, erhalten Sie Informationen über zusätzliche Änderungen, die Sie vornehmen müssen, um sicherzustellen, dass Ihr Schema effektiv und frei von Leistungsproblemen ist.

Was ist der Unterschied zwischen einem Datenbankschema und einer Datenbank-Instance?

Ein Datenbankschema bezieht sich auf den Gesamtentwurf einer Datenbank und liefert Informationen über deren Struktur, deren möglichen Inhalt und die Beziehungen zwischen Datensätzen. Ein Datenschema ist jedoch nur die Vorlage für die Datenorganisation; das Schema enthält keine Daten.

Eine Datenbank-Instance ist die aktive Sitzung, die ein Datenbankschema beschreibt und die Daten zu einem bestimmten Zeitpunkt enthält. Eine Instance ist der Ort, an dem sich die tatsächlichen Datenwerte befinden und sich ständig ändern, wenn neue Daten hinzugefügt, gelöscht oder aktualisiert werden. Im Gegensatz zu Datenbankschemata enthalten Datenbank-Instances alle Daten.

Was ist eine Datenbankschemakonvertierung?

Eine Datenbankschemakonvertierung ist der Prozess der Anpassung eines bestehenden Datenbankschemas an ein neues Format. Dies kann das Hinzufügen oder Ändern von Tabellen, Spalten, Indizes, Einschränkungen oder Beziehungen zwischen Tabellen beinhalten.

Das Ziel besteht häufig darin, neue Anwendungsanforderungen zu unterstützen, die Leistung zu verbessern oder auf ein anderes Datenbanksystem umzusteigen. Die Schemakonvertierung ermöglicht eine effizientere Datenorganisation oder unterstützt Features eines neuen Systems.

Die Datenmigration kann je nach Quell- und Zieldatenbank eine Schemakonvertierung erfordern oder auch nicht.

Wie kann AWS Sie bei Ihren Anforderungen an Datenbankschemata unterstützen?

Der Prozess der Datenmodellierung erfolgt in der Regel außerhalb der Datenbank. Sobald das Modell erstellt wurde, unterstützt Amazon Relational Database Service (RDS) die Erstellung und Verwaltung von Schemata über Standard-SQL. Amazon RDS bietet verwaltete relationale Datenbankmanagementsysteme wie PostgreSQL, MySQL und Amazon Aurora.

Für Datenbankmigrationen ist AWS Database Migration Service (DMS) ein verwalteter Migrationsservice, mit dem Sie Ihre Datenbank- und Analytik-Workloads schnell und sicher zu AWS verlagern können. Die Quelldatenbank bleibt während der Migration voll betriebsbereit, wodurch die Ausfallzeiten für Anwendungen, die davon abhängig sind, minimiert werden.

Die DMS-Schemakonvertierung in AWS DMS macht Datenbankmigrationen zwischen verschiedenen Datenbanktypen besser vorhersehbar. Sie kann die Komplexität Ihrer Migration für Ihren Quelldatenanbieter bewerten und Datenbankschemata und Codeobjekte konvertieren. Anschließend können Sie den konvertierten Code auf Ihre Zieldatenbank anwenden.

Die neue generative KI-Funktion in der AWS-DMS-Schemakonvertierung automatisiert einige der zeitintensivsten Schemakonvertierungsaufgaben. Das Feature konvertiert automatisch bis zu 90 Prozent der Schemaobjekte aus kommerziellen Datenbanken in PostgreSQL-Migrationen.

Sie können auch das AWS-Schemakonvertierungs-Tool (SCT) verwenden, um Ihr bestehendes Datenbankschema von einer Datenbank-Engine in eine andere zu konvertieren.

Beginnen Sie mit der Datenbankschemakonvertierung in AWS, indem Sie noch heute ein kostenloses Konto erstellen.