Datenbankentwurf mit UML

In den Beschreibungsmöglichkeiten von UML gibt es keine explizite Unterstützung zur Darstellung von ER-Diagrammen. Das ist auch nicht nötig, denn es lassen sich die vorhanden Mittel zum objektorientierten Entwurf auch zum Entwurf von Datenbanken nutzen.

Folgende Zuordnungen zwischen objektorientierten und relationalem Entwurf werden dabei vereinbart.

OO-ElementER-Element
Klasse Entität (Tabelle)
Attribut Attribut (Spalte)
Assoziation Relation

Besitzt eine Relationship selbst Attribute lassen sich diese mit Hilfe einer Assoziationsklasse abbilden.

Einige "Besonderheiten" von ERD werden mit Hilfe von Stereotypen abgebildet:

  • <<Entity>> kennzeichnet eine Entität
  • <<Relationship>> kennzeichnet eine Relation
  • <<PK>> kennzeichnet den Primärschlüssel (Primary Key)
  • <<FK>> kennzeichnet einen Fremdschlüssel (Foreign Key)
  • <<NULL> kennzeichnet ein Attribut, welches den NULL-Wert annehmen kann
  • <<NOT NULL>> kennzeichnet ein Attribut, welches den NULL-Wert nicht annehmen kann

Die ersten beiden Stereotypen kann man auch weglassen, da sie sich aus dem Kontext ergeben. Auf die Angabe des Stereotyps <<NULL>> kann ebenfalls verzichtet werden, da dieser der Standard bei allen Datenbanken ist.

Mit Modellierungswerkzeugen wie z. B. ArgoUML lassen sich aus dem Modell direkt die dazugehörigen SQL-Befehle generieren (analog wie die Klassen aus einem Klassendiagramm). Um in ArgoUML aus dem UML-Diagramm die entsprechenden SQL-Befehle zu erzeugen werden noch einige weitere Angaben neben den Stereotypen benötigt. Für Fremdschlüssel muss die Tabelle und die Spalte der Beziehung genannt werden, dies lässt sich über Tagged Values erreichen. Der Name Assoziation zu der der Fremdschlüssel gehört wird mit association_name angegeben. Der Attributname in der Fremdschlüsseltabelle wird mit dem Tagged Value source_column notiert.

Zurück