5.4 KiB
5.4 KiB
LF 5: Software zur Verwaltung von Daten anpassen
1. Ausbildungsjahr | Zeitrichtwert: 80 Stunden
Kernkompetenz
Die Schülerinnen und Schüler verfügen über die Kompetenz, Informationen mittels Daten abzubilden, diese Daten zu verwalten und dazu Software anzupassen.
Lernziele
Nach diesem Lernfeld kannst du:
- Informationen als Daten abbilden und strukturieren
- Datenbankmodelle unterscheiden und anwenden
- ER-Diagramme erstellen
- SQL-Abfragen erstellen und ausführen
- Datenformate unterscheiden
- Software zur Datenverwaltung anpassen
- Testfälle entwickeln und Tests durchführen
Datenbank-Grundlagen
Datenbankmodelle
Datenbankmodelle
├── Hierarchisch
├── Netzwerkartig
├── Relational (am häufigsten)
├── Objektorientiert
└── NoSQL
Relationales Datenbankmodell
Grundbegriffe:
| Begriff | Erklärung |
|---|---|
| Tabelle (Relation) | Sammlung von Datensätzen |
| Spalte (Attribut) | Eigenschaft eines Datensatzes |
| Zeile (Tupel) | Ein Datensatz |
| Primärschlüssel | Eindeutige Identifikation |
| Fremdschlüssel | Verweis auf andere Tabelle |
ER-Diagramm (Entity-Relationship)
Elemente
┌─────────────┐ ┌─────────────┐
│ Entity │ │ Entity │
│ (Typ) │ │ (Typ) │
├─────────────┤ ├─────────────┤
│ Attribute │ │ Attribute │
│ PK: id │ │ PK: id │
└─────┬───────┘ └──────┬──────┘
│ N │ M
│ │
└──────────┬───────────┘
│
┌──────┴──────┐
│ Relationship │
│ (Beziehung) │
└──────────────┘
Beziehungsgrade
- 1:1 (One-to-One)
- 1:N (One-to-Many) - am häufigsten
- M:N (Many-to-Many)
Normalisierung
Normalformen
| NF | Regel | Ziel |
|---|---|---|
| 1NF | Atomare Werte | Keine wiederholenden Gruppen |
| 2NF | Keine partielle Abhängigkeit | Vollständige funktionale Abhängigkeit vom PK |
| 3NF | Keine transitiven Abhängigkeiten | Keine Abhängigkeiten zwischen Nicht-Schlüsselattributen |
Beispiel: 1NF → 2NF
Nicht normalisiert:
Bestellung(BestellID, Kunde, {Artikel, Menge})
Normalisiert (1NF/2NF):
Bestellung(BestellID, Kunde)
Bestellposition(BestellID, Artikel, Menge)
SQL (Structured Query Language)
DDL (Data Definition Language)
-- Tabelle erstellen
CREATE TABLE Kunde (
KundenID INT PRIMARY KEY,
Name VARCHAR(100) NOT NULL,
Email VARCHAR(255) UNIQUE,
ErstelltAm DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Tabelle ändern
ALTER TABLE Kunde ADD Telefon VARCHAR(20);
-- Tabelle löschen
DROP TABLE Kunde;
DML (Data Manipulation Language)
-- Daten einfügen
INSERT INTO Kunde (Name, Email)
VALUES ('Max Mustermann', 'max@example.com');
-- Daten aktualisieren
UPDATE Kunde
SET Email = 'neue@email.de'
WHERE KundenID = 1;
-- Daten löschen
DELETE FROM Kunde WHERE KundenID = 1;
-- Daten abfragen
SELECT * FROM Kunde;
DQL (Data Query Language)
-- Einfache Abfrage
SELECT Name, Email FROM Kunde;
-- Mit Bedingung
SELECT * FROM Kunde
WHERE Name LIKE 'M%'
ORDER BY Name ASC;
-- Mit JOIN
SELECT b.BestellID, k.Name, a.Artikelname
FROM Bestellung b
JOIN Kunde k ON b.KundenID = k.KundenID
JOIN Bestellposition bp ON b.BestellID = bp.BestellID
JOIN Artikel a ON bp.ArtikelID = a.ArtikelID;
-- Aggregatfunktionen
SELECT COUNT(*) AS Anzahl,
SUM(Betrag) AS Gesamt
FROM Bestellung
WHERE YEAR(Datum) = 2024;
Datenformate
Strukturierte Daten
| Format | Beschreibung |
|---|---|
| CSV | Komma-separierte Werte |
| JSON | JavaScript Object Notation |
| XML | eXtensible Markup Language |
| YAML | YAML Ain't Markup Language |
Beispiel: CSV
ID;Name;Email
1;Max Mustermann;max@example.com
2;Anna Schmidt;anna@example.com
Beispiel: JSON
{
"kunden": [
{
"id": 1,
"name": "Max Mustermann",
"email": "max@example.com"
}
]
}
Software-Anpassung
Vorgehen
- Anforderungen analysieren
- Datenmodell erweitern
- SQL-Skripte erstellen
- Anwendung anpassen
- Testfälle definieren
- Testen und dokumentieren
Testmethoden
- Unit-Tests: Einzelne Komponenten testen
- Integrationstests: Zusammenspiel testen
- Systemtests: Gesamtsystem testen
- Abnahmetests: Mit Kunden testen
Handlungsphasen
- Informieren: Daten analysieren, Anforderungen erheben
- Planen: Datenmodell entwerfen, Testfälle definieren
- Durchführen: Software anpassen, Tests durchführen
- Überprüfen: Funktion prüfen, Qualität sichern
- Reflektieren: Prozess evaluieren
Prüfungsrelevanz
- Fundament für LF 8 (Daten bereitstellen)
- Wichtig für Teil 1 der Abschlussprüfung
- SQL-Kenntnisse werden vorausgesetzt
Querverweise
Stand: 2024 | Quelle: KMK Rahmenlehrplan 13.12.2019