Was ist ein Datenbankschema?
Ein Datenbankschema beschreibt die Struktur und die Beziehungen von Informationen, die in einer Datenbank verwendet und gespeichert werden. Einige Schemas sind in einer Sprache geschrieben, die von der Datenbankverwaltungssoftware (DBMS) interpretiert werden kann, während andere vollständig abstrakte Diagramme sind. Die Hauptelemente eines Datenbankschemas sind Entitäten und Tabellen. Eine Entität ist ein Datenmodell für ein Objekt in einer Datenbank, während eine Tabelle eine gespeicherte Folge von Werten oder anderen Entitäten ist. Wie ein Entwurf kann ein gut gestaltetes Schema verwendet werden, um genau zu sehen, wie die Architektur einer Datenbank aufgebaut ist.
Manchmal sind Datenbankschemata erforderlich, um explizit zu zeigen, wie Daten gespeichert sind und wie sie sich auf den Rest der Datenbank beziehen. Eine Entität ist eine Darstellung einer Sammlung von Daten. Wie jede Datenstruktur kann es eine Reihe von Feldern haben. Entitäten haben jedoch normalerweise ein eindeutiges Identifizierungsfeld. Dies wird als Primärschlüssel bezeichnet.
Ein Primärschlüssel ist eine Verknüpfung zu einer Tabelle. Der Schlüssel muss unter allen anderen Elementen in der Tabelle eindeutig sein. Ein Beispiel wäre eine Kundennummer für eine Datenbank, in der die Einkäufe im Geschäft verfolgt werden. Jede Entität kann nur einen Primärschlüssel haben.
Entitäten können auch eine beliebige Anzahl von Fremdschlüsseln haben. Ein Fremdschlüssel ist häufig der Primärschlüssel einer anderen Entität in einer anderen Tabelle. Im obigen Beispiel könnte ein Fremdschlüssel eine Bestellnummer für diesen Kunden sein.
In relationalen Datenbanken werden Primär- und Fremdschlüssel verwendet, um das sehr wichtige Konzept von Eins-zu-Viele-Beziehungen auszudrücken. In dem angegebenen Beispiel kann ein Kunde viele verschiedene Bestellungen und Bestellnummern haben. Das Gegenteil ist nicht der Fall, da die Bestellung nur einen Kunden haben kann. Eins-zu-viele-Beziehungen sind ein Grund dafür, dass ein Datenbankschema erforderlich ist.
Eine andere Art von Beziehung nennt man Viele-zu-Viele. Dies ist eine Instanz, in der eine Entität nicht nur viele Beziehungen zu einem einzelnen Typ haben kann, sondern auch von einem anderen Typ in viele Typen eingeschlossen werden kann. Ein Beispiel dafür ist, wie beliebig viele Kunden das gleiche Produkt bestellen können. Gleichzeitig kann ein Kunde beliebig viele Produkte bestellen. Diese Viele-zu-Viele-Beziehung ist häufig, erfordert jedoch eine spezielle Datenmodellierung, um im Datenbankschema zu funktionieren.
Während beim Erstellen eines Datenbankschemas einige Standardkonventionen befolgt werden, gibt es auch viele Möglichkeiten, die Datenmodelle darzustellen. Wie genau jedes Schemaobjekt in einem abstrakten Entwurf dargestellt wird, liegt im Ermessen des Datenmodellierers. In einigen Situationen kann ein DBMS-System ein Datenbankschema akzeptieren, das auf eine bestimmte Art und Weise geschrieben wurde, und tatsächlich einen Teil des Entwurfs automatisch implementieren.