hwr-notes/Datenbanken/Zusammenfassungen/b_Modellierung - zusammenfassung.md
2026-04-09 11:24:56 +02:00

18 KiB
Raw Permalink Blame History

Modellierung Zusammenfassung

Dozent: A. Zimmermann | HWR Berlin | 2026 | Folien 1112


1. Einführung (Folien 132)

1.1 Definitionen (Folien 36)

Charakteristik der Informationen im Unternehmen:

  • Informationen bilden Entscheidungsgrundlagen
  • Informationen können aus unterschiedlichen Quellen stammen
  • Qualität hängt von Verfügbarkeit, Korrektheit und Vollständigkeit ab
  • Erhebung, Speichern und Verarbeiten erzeugt Aufwände
  • Aufgabengebiete sind durch Informationsbeziehungen verknüpft

Aspekte des Datenmanagements:

  • Architektur (Datenmodellierung)
  • Datentechnik (Hardware, Installation, Reorganisation, Sicherung)
  • Administration und Datennutzung

Anforderungen an Datenverwaltung:

  • Zentrale Verwaltung der Daten
  • Vermeidung/Einschränkung von Redundanzen
  • Vermeidung von Inkonsistenzen
  • Gemeinsame Nutzung durch verschiedene Anwendungen
  • Datenschutz und Datensicherung
  • Datenintegrität
  • Datenunabhängigkeit von Anwendungen

Definitionen:

  • Daten = Logisch strukturierte Informationseinheiten
  • Datenbank = Einrichtung für langfristige sichere Aufbewahrung von Daten

1.2 Modellierung (Folien 79)

Ein Modell ist ein Abbild der realen Welt, das man mit Absicht erstellt, um bestimmte Probleme zu lösen.

Modellbildungsprozess: Reales Problem → Modell → Analyse/Simulation → Theoretische Lösung → Interpretation → Überprüfung → Reale Lösung

Kriterien eines Modells nach Heinrich Hertz:

  1. Richtigkeit — Nicht beweisbar, nur durch Experimente überprüfbar und widerlegbar
  2. Zulässigkeit — Logisch eindeutig formuliert, ohne Widersprüche
  3. Zweckmäßigkeit — Keine überflüssigen Anteile; so einfach wie möglich, so kompliziert wie nötig

Modellierungsansätze: Verschiedene Modellierungssprachen führen zu verschiedenen semantischen Datenmodellen. Praktische Bedeutung haben insbesondere Entity-Relationship-Modellierung (ERM) und UML. Gängige Vorgehensweise: Erst ER-Modell, dann Konvertierung in relationales Modell.

1.3 Datenhaltung (Folien 1014)

Zwei grundsätzliche Formen:

  1. Herkömmliche Form (Dateien): Datenverwaltung in die Anwendung integriert → enormer Entwicklungsaufwand, kaum Datenaustausch
  2. Datenbanken: Datenbank = Datenmanagement + Daten. DBMS übernimmt Speicherung, Aufruf, Änderungen, Sortieren, Sicherungen

Vorteile von Datenbanken gegenüber Dateien:

  • Reduktion der Entwicklungskosten
  • Flexible Verarbeitung und Darstellung
  • Vermeidung von Redundanzen, Inkonsistenzen, Datenverlust
  • Zugriffskontrolle
  • Mehrbenutzerbetrieb
  • Hohe Verfügbarkeit

Dateien statt Datenbanken empfohlen bei:

  • Sehr kleinen, nicht-kommerziellen Anwendungen
  • Systemnahen Anwendungen
  • Verschiedenen Testumgebungen
  • Groben konzeptuellen Entwicklungen

1.4 Architektur (Folien 1518)

Client/Server-Architektur:

  • Client nimmt die Ressource in Anspruch (z. B. Darstellung)
  • Server stellt die Ressource zur Verfügung (z. B. Bearbeitung)

Oracle-Architektur:

  • SQL-Plus, SQL-Developer, Oracle Instant Client → Listener → Dispatcher → DBMS-Instanzen → Datenbestände
  • Multi-Tenant-Container und Real Application Cluster (RAC)

SQLite-Architektur (keine Client/Server-Architektur):

  • DBMS-Instanz direkt in die Anwendung eingebettet
  • Datenbestand als Dateien im Dateisystem

1.5 Datenbankbenutzer (Folien 1920)

Rolle Aufgaben
DBA (Datenbankadministrator) DB-Design, Softwareinstallation/-wartung, Speicherplatzverwaltung, Sicherheitsmechanismen, Backup/Recovery, Reorganisation, Systembeobachtung/Tuning
Anwendungsentwickler Systemanalyse, SQL, Standard-Abfragen, Anwendungsentwicklung
Endanwender Benutzung erstellter Programme, vorgefertigte/Ad-Hoc-Abfragen, QBE-Werkzeuge

1.6 Entwicklung (Folien 2124)

  • 1960er Jahre: Jede Anwendung hat eigenes Datenmanagement und eigene Daten
  • 1970er Jahre: Gemeinsames Datenmanagement, aber noch getrennte Datenbestände
  • Heute: Gemeinsames Datenmanagement und gemeinsame Datenbestände

Zugriff auf Datenbanken erfolgt programmatisch z. B. über JDBC (Java Database Connectivity).

1.7 Arten von Datenbanken (Folien 2528)

Art Status
Hierarchische Datenbanken Heute selten verwendet
Netzartige Datenbanken Heute selten verwendet
Dokumentenbasierte Datenbanken Selten verwendet (z. B. MongoDB)
Key-Value-Datenbanken Begrenzte Bedeutung (z. B. BerkeleyDB)
Objektorientierte Datenbanken Vorhanden
Relationale Datenbanken Heute fast ausschließlich verwendet

Warum relationale Datenbanken dominieren:

  • Beziehungen und Entitäten werden gleich dargestellt → derselbe Verarbeitungsmechanismus
  • Relationale Algebra liefert umfangreiche und fortgeschrittene Operationen
  • Alle anderen DB-Typen lassen sich damit emulieren

1.8 Prinzipien von E.F. Codd (Folien 2932)

Die 12 Regeln von Codd definieren eine relationale Datenbank:

  1. Vollständige Verwaltung über relationale Fähigkeiten
  2. Darstellung von Informationen: Alle Informationen als Werte in Tabellen
  3. Zugriff auf Daten: Über Tabellenname + Primärschlüssel + Spaltenname
  4. Systematische Behandlung von Nullwerten: Durchgängig gleich als unbekannt/fehlend
  5. Struktur: Systemkatalog auf derselben logischen Ebene wie die Daten
  6. Abfragesprache: Mindestens eine Sprache mit vollständigem Befehlssatz (DDL, DML, Integrität, Autorisierung, Transaktionen)
  7. Aktualisieren von Sichten: Theoretisch aktualisierbare Sichten müssen vom System aktualisierbar sein
  8. Abfragen und Bearbeiten: Unterstützung für Einfügen, Aktualisieren und Löschen ganzer Tabellen
  9. Physikalische Datenunabhängigkeit: Logischer Zugriff unabhängig von physikalischen Methoden
  10. Logische Datenunabhängigkeit: Tabellenstruktur-Änderungen ohne Einfluss auf Anwendungslogik
  11. Unabhängigkeit der Integrität: Integritätsregeln in der DB-Sprache definierbar, nicht umgehbar
  12. Verteilungsunabhängigkeit: Logischer Zugriff unverändert bei verteilten Datenbanken

2. Mengenlehre (Folie 33)

Die Mengenlehre bildet die mathematische Grundlage der Theorie relationaler Datenbanken. Behandelt in separatem Skript (b_Mengenlehre). Themen: Definition, Eigenschaften, Operationen, Zahlenmengen, Dimensionen.


3. ANSI-SPARC-Modell (Folien 3438)

3.1 Drei-Schichten-Architektur (Folien 3537)

Das ANSI-SPARC-Modell gewährleistet Unabhängigkeit der Datenbank von Programmiersprache und Hardware:

Ebene Bezeichnung Inhalt
Externe Ebene Anwendungs-Ebene Benutzeroberflächen, Datensichten, API, Schnittstellen. Jede Sicht zeigt nur einen Teil der Daten
Konzeptionelle Ebene Logische Ebene Beziehungen, Daten. Relationales Datenmodell, ERM-Diagramme, Integritätsbedingungen, Zugriffsrechte
Interne Ebene Physische Ebene Art und Form der Speicherung. Dateien, Partitionen, Tablespaces, Zugriffsmechanismen

3.2 Phasen des Datenbankentwurfs (Folie 38)

  1. Anforderungsanalyse → Spezifikation (Pflichtenheft)
  2. Konzeptueller Entwurf → Konzeptuelles Schema (ERM)
  3. Logischer Entwurf → Logisches Schema (Tabellen)
  4. Physischer Entwurf → Physisches Schema (Datenträger)

4. Anforderungsanalyse (Folien 3950)

4.1 Kurzfassung (Folien 4042)

Im Laufe der Anforderungsanalyse wird erfasst:

  • Welche Abteilungen mit der DB arbeiten
  • Welche Geschäftsprozesse unterstützt werden
  • Welche Daten involviert werden
  • Wie die Daten strukturiert sind
  • Qualitative und quantitative Anforderungen

Schritte nach A. Kemper:

  1. Identifikation von Organisationseinheiten
  2. Identifikation der zu unterstützenden Aufgaben
  3. Anforderungs-Sammelplan (zu befragende Personen)
  4. Anforderungs-Sammlung
  5. Filterung (Verständigkeit und Eindeutigkeit prüfen)
  6. Satzklassifikationen (Objekte, Beziehungen, Operationen, Ereignisse)
  7. Formalisierung/Systematisierung (ins Pflichtenheft übertragen)

Ergebnisse der Anforderungsanalyse:

  • Informationsanforderungen: Beschreibung von Objekten/Attributen und Beziehungen/Attributen
  • Datenverarbeitungsanforderungen: Beschreibung von Prozessen

4.2 Beispiel: Universitätsschema (Folien 4346)

Drei Arten von Beschreibungen:

Objektbeschreibung (z. B. Uni-Angestellte):

Attribut Typ Länge Identifizierend Beispiel
PersonalNr Char 10 ja 1234561234
Gehalt Dezimal 8.2 nein 9000.11
Rang String 4 nein W3

Beziehungsbeschreibung (z. B. prüfen):

  • Beteiligte Objekte: Professor (Prüfer), Student (Prüfling), Vorlesung (Lehrstoff)
  • Attribute: Datum, Uhrzeit, Note

Prozessbeschreibung (z. B. Zeugnisausstellung):

  • Häufigkeit, Priorität, benötigte Daten, Datenmenge

4.3 Beispiel: Krankenhaus-Modell (Folien 4750)

Objekte: Ärzte, Pflegepersonal, Patienten mit deren Beziehungen (behandelt, betreut) und Prozessen (Behandlungsplan erstellen).


5. Konzeptueller Entwurf (Folien 5187)

5.1 Entity-Relationship-Modell (ERM) (Folien 5154)

Auf Basis der Anforderungsanalyse wird ein konzeptuelles ERM erstellt. Das konkrete DBMS wird noch nicht betrachtet.

Beispiele:

  • Uni-Schema: Studenten, Vorlesungen, Professoren, Assistenten mit Beziehungen hören, prüfen, lesen, arbeitenFür, voraussetzen
  • Krankenhaus-Schema: Arzt, Patient, Pflegepersonal mit Beziehungen behandelt, betreut

5.2 Modellierungsstrukturen in Peter-Chen-Notation (Folie 55)

Element Grafische Darstellung Bedeutung
Entitätstypen Rechteck Objekte der realen Welt
Beziehungstypen Raute Bindungen zwischen Entitäten
Attribute Oval/Kreis Charakteristiken von Entitäten und Beziehungen
Funktionalitäten Beschriftung an Verbindungslinien Kardinalität der Beziehungen
Schlüssel Unterstrichene Attribute Identifizierende Attribute
Rollen Beschriftung bei rekursiven Beziehungen Rolle einer Entität in der Beziehung

5.3 Entitätstypen (Folie 56)

Gegenstände sind Objekte der realen Welt, die zu Gegenstandstypen (Entitätstypen) abstrahiert werden:

  • "Zimmermann", "Merkel", "Meier" → Mensch
  • "VW", "Mercedes", "BMW" → Auto

Man arbeitet ausschließlich mit Entitätstypen (abstrakte Klassen), nicht mit einzelnen Instanzen.

5.4 Beziehungstypen (Folie 57)

Beziehungen drücken Bindungen zwischen Entitäten aus. Nicht alle Entitätstypen müssen verbunden sein, aber ein alleinstehender Entitätstyp ohne Beziehung ist verdächtig.

5.5 Attribute (Folien 5862)

Attributierte Beziehungen: Wenn beide Entitätstypen semantisch gleiche Attribute haben, werden diese dem Beziehungstyp zugeordnet (z. B. Betrag bei "Kredit geben" zwischen Kunde und Bank).

Entscheidung Entitätstyp vs. Attribut:

  • Wird etwas durch anderes beschrieben → das Beschriebene ist Entitätstyp, das Beschreibende ist Attribut
  • Kann etwas durch nichts weiteres beschrieben werden → es ist ein Attribut

Attributtypen:

Typ Beschreibung Beispiel
Einfach Ein Wert zu einem Zeitpunkt Name = "Müller"
Mehrwertig Mehrere Werte gleichzeitig Ampel: rot + gelb
Zusammengesetzt Besteht aus Teilattributen Adresse: PLZ + Ort + Straße
Abgeleitet Aus anderen Attributen berechnet Bruttopreis = Netto × (1 + MwSt)

5.6 Schlüssel und Primärschlüssel (Folien 6365)

  • Schlüssel: Attributmenge, deren Werte eine Entität eindeutig identifizieren
  • Schlüsselkandidaten: Mehrere mögliche Schlüssel
  • Primärschlüssel (PK): Der Kandidat mit minimaler Länge, im ERM unterstrichen
  • Minimaler Schlüssel: Keine Untermenge des PK bildet selbst einen Schlüssel
  • Wichtig: Wahl eines anderen PK ändert das gesamte Modell

5.7 Rekursive Beziehungen (Folie 66)

Beziehungen zwischen Entitäten desselben Entitätstyps. Dabei werden Rollen zugeschrieben.

Beispiele:

  • Vorlesungen → voraussetzen (Vorgänger/Nachfolger)
  • Softwareprodukt → Versionsnummer
  • Polizisten → im Zweierteam patrouillieren

5.8 Funktionalitäten (Folien 6776)

Funktionalität gibt an, wie viele Instanzen in einer Beziehung teilnehmen:

Typ Beschreibung Beispiel
1:1 Einer Entität aus E1 entspricht höchstens eine aus E2 (und umgekehrt) Persönliche Daten ↔ Ansprechdaten
1:N Einer aus E1 entsprechen mehrere aus E2, aber einer aus E2 höchstens eine aus E1 Schüler → Fahrausweise
N:M Mehrere aus E1 entsprechen mehreren aus E2 Studenten ↔ Vorlesungen (hören)

Auflösung einer M:N-Beziehung: Wird in zwei 1:N-Beziehungen aufgebrochen durch Einführung eines neuen Entitätstyps (z. B. Hersteller ↔ Lieferant → Hersteller → Herstlr_Liefrnt ← Lieferant).

5.9 (min,max)-Notation (Folien 7778)

Genauere Angabe der Kardinalitäten als Standardfunktionalitäten:

  • min = 0: Entitäten, die an keiner Beziehung teilnehmen
  • *max = : Beliebig viele Entitäten

Beispiel Polyeder:

  • Polyeder (4,*) — Hülle — (1,1) Flächen
  • Flächen (3,*) — Grenze — (2,2) Kanten
  • Kanten (2,2) — StartEnde — (3,*) Punkte

5.10 Mehrstellige Beziehungen (Folien 7980)

  • Ternäre Beziehung: Zwischen 3 Entitätstypen
  • n-äre Beziehung: Zwischen n Entitätstypen
  • Sollten möglichst in binäre Beziehungen umgewandelt werden
  • Beispiel: "prüfen" (Student, Vorlesung, Professor) → neuer Entitätstyp "Prüfungen" mit binären Beziehungen

5.11 Spezielle Konzepte (Folien 8287)

Komposition / Schwache Entitäten (Folie 83)

Existenz eines Entitätstyps ist von der Existenz eines anderen abhängig (has-a).

  • Beispiel: Konto existiert nur in Zusammenhang mit einer Bank

Generalisierung (Folien 8486)

Abstraktion auf Ebene der Entitätstypen (is-a). Gemeinsame Eigenschaften werden in einen Obertyp ausgelagert, spezifische bleiben bei den Untertypen.

  • Beispiel: Lebensmittel (gültig bis) und Eisenwaren (Garantiefrist) → Obertyp Produkt (Bezeichnung, Hersteller)

Aggregation (Folie 87)

Verschiedene Entitätstypen bilden in ihrer Gemeinsamkeit einen neuen Entitätstyp (has-a).

  • Beispiel: Fahrrad besteht aus Rahmen (Rohre, Lenker) und Rad (Speiche, Felge)

6. Logischer Entwurf (Folien 88112)

6.1 Definitionen (Folien 8990)

  • Datentyp = Werte + Operationen (z. B. integer: +, -, *, /, mod)
  • Relation = Untermenge des kartesischen Produktes mehrerer Datentypen = Tabelle
  • Tupel = Zeile (Record, Datensatz)
  • Feld = Spalte (Attribut, Eigenschaft)
  • Schema = Namen aller Felder + Datentypen + Länge + Reihenfolge

6.2 Relationale Darstellung (Folien 9193)

Vorteile des relationalen Modells:

  • Entitäten und Beziehungen werden gleich als Tabellen dargestellt
  • Dieselben algebraischen Operationen für beide
  • Mathematisch begründet durch E.F. Codd

Notation:

RelationsName = { [ Feld1:Datentyp1, Feld2:Datentyp2, ... ] }

Beispiel: Auto = { [ KFZ:string, Modell:string, Gewicht:real, Baujahr:integer ] } Primärschlüssel wird unterstrichen.

6.3 Konvertierungsregeln ERM → Relational (Folie 93)

Regeln für Entitätstypen:

  1. Neue Tabelle (Entitäts-Tabelle) bilden
  2. Alle Attribute des Entitätstyps inkludieren

Regeln für Beziehungstypen:

  1. Neue Tabelle (Beziehungs-Tabelle) bilden
  2. Primärschlüssel aller verbundenen Entitätstypen inkludieren → bilden i.d.R. den PK der Beziehungstabelle
  3. Attribute des Beziehungstyps inkludieren

6.4 Vereinfachung der Darstellungen (Folien 94106)

1:1-Beziehungen (Folien 9597)

Zwei Optionen:

  • Option A: Beide Entitäts-Tabellen zu einer Tabelle zusammenführen + Beziehungsattribute. Vorsicht: Datensätze können zu groß werden
  • Option B: Beziehungs-Tabelle weglassen, PK einer Entitäts-Tabelle als FK in die andere aufnehmen

1:N-Beziehungen (Folien 9899)

  • Beziehungs-Tabelle weglassen
  • In die Tabelle auf der N-Seite den PK der Tabelle auf der 1-Seite als Fremdschlüssel (FK) einfügen
  • Beziehungsattribute ebenfalls in die N-Seiten-Tabelle

Schwache Entitäten (Folien 100101)

  • Eigene Tabelle für schwache Entität
  • PK der referenzierten (starken) Entität wird Teil des PK der schwachen Entität (Unterschied zu normalen 1:N-Beziehungen, wo der FK nicht Teil des PK wird)

6.5 Beispiel: Uni-Schema als Tabellen (Folien 102103)

Tabelle Felder
Professoren PersNr, Name, Rang, Raum
Studenten MatrNr, Name, Semester
Vorlesungen VorlNr, Titel, SWS, gelesenVon (FK→Professoren)
Assistenten PersNr, Name, Fachgebiet, Boss (FK→Professoren)
hören MatrNr (FK), VorlNr (FK)
voraussetzen Vorgänger (FK), Nachfolger (FK)
prüfen MatrNr (FK), VorlNr (FK), PersNr (FK), Note

6.6 Wichtige Bemerkung (Folien 109111)

Keine Felder/PK/FK willkürlich in Tabellen hinzufügen! Nur laut Vereinfachungsregeln.

Ausnahmen:

  • ERM-bezogene Gründe (z. B. PID, MonsterID)
  • Auditing/Richtlinien (z. B. "Alle Zeilen müssen fortlaufend nummeriert werden")
  • Administrative Gründe (z. B. Fusion großer Datenmengen)
  • Anwendungsbezogene Gründe (z. B. OO-DB pflegen PK selbst)

Kontroverse um künstliche IDs: Einige Autoren empfehlen ausdrücklich künstliche IDs, weil:

  • PK soll keine semantischen Informationen enthalten
  • PK darf sich nicht mit der Zeit ändern
  • PK soll einfach aufgebaut sein (nicht aus mehreren Feldern)

Im Unterricht wird auf diese Meinung verzichtet (Verständnis halber), obwohl sie in der Wirtschaft sehr verbreitet ist.


Zusammenfassung der Kernthemen

Thema Kernaussage
Datenbank vs. Dateien DB bietet Redundanzvermeidung, Mehrbenutzerbetrieb, Zugriffskontrolle
Codds 12 Regeln Definieren eine relationale DB im strengen Sinne
ANSI-SPARC-Modell Drei Ebenen: extern, konzeptionell, intern → Datenunabhängigkeit
Anforderungsanalyse Objekt-, Beziehungs- und Prozessbeschreibungen erstellen
ERM Peter-Chen Entitäten (Rechteck), Beziehungen (Raute), Attribute (Oval), Schlüssel (unterstrichen)
Funktionalitäten 1:1, 1:N, N:M; (min,max)-Notation für genaue Kardinalitäten
Spezielle Konzepte Komposition (has-a, schwache Entität), Generalisierung (is-a), Aggregation (has-a)
Logischer Entwurf ERM → Tabellen; Vereinfachung bei 1:1 und 1:N durch Wegfall der Beziehungstabelle
Fremdschlüssel Bei 1:N wird PK der 1-Seite als FK in die N-Seite eingefügt