Datenbanken

Was ist eine Datenbank?

Eine Datenbank ist eine organisierte Sammlung von strukturieren Infromationen/Daten die elektronisch abgespeichert werden. Eine Datenbank wird normallerweiße mittels einen DBMS angesteuert.

Entwicklungsphasen

Phase Vorgang Ergebnis
Anforderungsanalyse / Externe Phase (Soll-Ist-Analyse) Informations- und Präsentationsbedarf der Anwender ermitteln und strukturieren Pflichtenheft
Konzeptioneller Entwurf Analyse der logischen Definition der Objekttypen und ihrer Attribute + Darstellung der Beziehungen Semantisches DB-Modell z. B. ER-Modell
Logischer Entwurf Datenbank Modellierung. Übersetzen des ER-Modell in ein relationelles DB-Modell logisches DB-Modell z. B. relationelles Datenbankmodell
Verfeinerung des Logischen Entwurfes Logischen Entwurf anpassen und verbessern
Physikalische Phase Implementierung/Erstellung der Datenbenk mit einem DBMS DB-System

ER-Modell

Das ER-Modell oder auch Entity Relasionship Modell dient zur planung vor der Programmierung einer Datenbank.

Fachbegriffe

Name Beschreibung
Entität Objekt, Tupel, ein Kompletter Datensatz
Entitätsmenge Menge an Objekten
Entitätstyp Entitäten, die sich mit gleichen Eigenschaften beschreiben lassen
Attribut Name der Eigenschaft
Attributwert Konkreter gespeicherter Wert eines Attributs
Relationsship Beziehung zwischen Entitätstypen
Kardinalität Mengenverhältnisse zwischen Entitätstypen

Datenbankaufbau.png

Symbole

ER-Symbole.png

Beziehungen

1 zu 1

1zu1.png

1 zu n

1zun.png

n zu m

nzum.png
Im ER-Modell müssen n zu m Beziehungen NICHT aufgelöst werden!

Relationales Datenbank Modell

Im relationellem DB-Modell ist die Struktur der Datenbank klar zu erkennen. Zudem werden die sogenannten Primärschlüssel (PK) und Fremdschlüssel (FK) in ihm abgebildet.

Jeder Entity Type wird als eigenständige Tabelle dargestellt. Dabei werden die Attribute ebenfalls eingetragen. Die FKs und PKs werden Makiert.

Tabelle_A
AttributA PK
AttributB FK
AttributA1
AttributA2
AttributA3

Zudem werden die Tabellen, welche Abhängig von einander sind miteinander verbunden und wie beim ER-Modell die Kardinalität eingezeichnet.

Im gegensatz zum ER-Modell werden hier n zu m Verbindungen zu 1 zu n aufgetrennt. Dafür wird dann eine weitere Zwischentablle benötigt. Diese kann auch von der Verbindung abhängige Attribute enthalten.

ER-Zu-Tabelle.png

In solchen Tabellen wird kein PK mehr benötigt, statt dessen werden die zwei FKs der in Abhängigkeit stehenden Tabellen zu einem PK Verbunden.

Tabellen-Example.png

Normalisierung

Bei der Normalisierung wird ein Datenbankmodell so optimiert, damit keine Redundanzen mehr entahlten sind.

0. Normalform

Die 0. Normalform liegt vor wenn die Daten unverändert sind und Redundanten vorliegen.
0-Normalform.png

1. Normalform

Wenn alle Daten atomar vorliegen ist die 1. Normalform erreicht.
Das heißt, das pro "Zelle" nur 1 Wert existiert.

Dadurch wird die Abfrage der Datenbank erleichter und die Struktur klarer.
1-Normalform.png

2. Normalform

Bei der 2. Normalform sind die Attribute nur von einem PK abhängig und nicht von nur einem Teil des PKs. Zudem identifizeiren die Primärschlüssel eindeutig die Attribute.
2-Normalform.png

3. Normalform

Die letzte Normalform liegt dann vor wenn kein Attribut von einem Nichtschlüssel-Attribut abhängig ist. Eine solche Verbindung würde man transaktive (kettenartige) Verbindung nennen.
3.Normalform.png

Kurzbeschreibung

  1. Normalform: Alle Werte liegen atomar vor.
  2. Normalform: Primärschlüssel identifizieren die Entitäten
  3. Normalform: Alle Werte hängen nur vom Primärschlüssel ab