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 |

Symbole

Beziehungen
1 zu 1

1 zu n

n zu m

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.

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.

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.

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.

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.

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.

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