Selbsttest-Unterlage · Kompaktversion
Datenbasis = strukturierte Datensammlung (Symbol: Zylinder). DBMS = verwaltet Zugriff, Speicherung, Datenmodell, Mehrbenutzer, Sicherheit, Datenschutz. Bsp: Access, MySQL, PostgreSQL, Oracle, SAP HANA.
| Typ | Merkmal | Vor-/Nachteil | Beispiele |
|---|---|---|---|
| Stand-Alone | lokal, 1 Nutzer | einfach, keine Rechte | dBase, Access, Filemaker |
| File-Share | Netz-Zugriff, Verwaltung lokal je Client | + keine Redundanz / − hoher Netzverkehr, schlechte Sperren | — |
| Client-Server | Verwaltung zentral auf Server | + Sicherheit/Leistung/Flexibilität / − braucht DBA | Oracle, DB2, SQL Server, MySQL, MAXDB |
| Modell | Prinzip | Beispiele |
|---|---|---|
| Hierarchisch | Baum, 1 Vorgänger/Datensatz → Redundanz möglich | IMS DB |
| Netzwerk | mehrere Vorgänger → m:n möglich, weniger Redundanz | — |
| Relational | Tabellen + Beziehungen, Standard seit 1970, schwach bei Big Data | MySQL, SQL Server, SQLite |
| Objekt | Daten + Funktionen OO, mächtig aber komplex | db4o |
| Objektrelational | relational + OO kombiniert | PostgreSQL |
| Art | Prinzip | Beispiele |
|---|---|---|
| Key-Value | Schlüssel-Wert-Paare, flexibel | Amazon Dynamo, BigTable |
| Dokument | strukturiert/unstrukturiert, CMS/Blogs | MongoDB, BaseX |
| Graph | vernetzte Daten, Beziehungen (soz. Netzwerke) | Neo4j, HyperGraphDB |
| Spaltenorientiert | spaltenweise Speicherung, gut für Analysen | Cassandra, Sybase IQ |
Kundenanforderungen ermitteln/strukturieren → informelle Problembeschreibung ("Miniwelt")
ER-Modell erstellen: Entitätstypen, Attribute, Beziehungen, Kardinalitäten
Transformation ins relationale Modell, Normalisierung, PK/FK festlegen
Implementation: physische DB via SQL, Datentypen, Wertebereiche, Indizes
| Typ | Beispiel |
|---|---|
| 1:1 | Mitarbeiter ↔ genau eine Personalakte |
| 1:n | Gebäude ↔ mehrere Räume (Raum gehört nur zu 1 Gebäude) |
| m:n | Kunde ↔ mehrere Artikel, Artikel ↔ mehrere Kunden |
Fremdschlüssel (FK): verweist auf PK einer anderen/derselben Tabelle; gleicher Datentyp wie PK; 0, 1 oder mehrere FK pro Tabelle möglich.
| Begriff | Definition |
|---|---|
| Normalisierung | Redundanz reduzieren → Anomalien vermeiden, Konsistenz erhöhen |
| Datenredundanz | gleiche Info mehrfach gespeichert |
| Datenkonsistenz | Daten sind widerspruchsfrei/korrekt |
| Änderungsanomalie | mehrfach gespeicherte Daten → beim Ändern werden Kopien übersehen |
| Einfügeanomalie | Daten nur zusammen mit anderen erfassbar (z. B. MA ohne Abteilung) |
| Löschanomalie | Löschen entfernt ungewollt weitere Daten (Abteilung löschen → MA-Daten weg) |
| Referenzielle Integrität | FK-Werte müssen in PK-Tabelle existieren |
Ausgangslage: unnormalisierte Tabelle mit mehreren Flügen pro Kunde in einer Zelle.
Keine Mengen/Listen → jede Kunde-Flug-Kombination bekommt eine eigene Zeile:
| Kunde | Name | Flug | Ziel | Land | Fluggesellschaft |
|---|---|---|---|---|---|
| K1013 | Meier, R. | M107 | Paris | F | Moeve |
| K1013 | Meier, R. | AT286 | Edmonton | CA | AirTrans |
| K8516 | Schulz, B | AT286 | Edmonton | CA | AirTrans |
Aufteilen, da Name nur von Kunde, und Ziel/Land/Fluggesellschaft nur von Flug abhängen:
Land → Fluggesellschaft wäre transitiv über Flug abhängig → weiter aufteilen:
Ergebnis 3NF: Kunden, Flugbuchungen, Flüge (ohne Land), Ziele — Abhängigkeit Land→Fluggesellschaft aufgelöst.
| Form | Regel |
|---|---|
| BCNF | alle funktionalen Abhängigkeiten gehen vom PK aus |
| 4NF | keine mehrwertigen Abhängigkeiten |
| 5NF | nur triviale Verbundabhängigkeiten |
ERM: Lehrer —1:n— unterrichtet —n:m— belegt —Schüler (über Kurs)
Beziehungen: Schüler (1)–(N) Kursbelegung · Kurs (1)–(N) Kursbelegung · Kurs (N)–(1) Lehrer · Schüler (N)–(1) Anschrift