Aufgaben-Python/courses/ihk_ap2_fidp/03_datenquellen_und_datenqualitaet/index.html
Alex Mueller b67fae4df3 feat(ihk): add complete AP2 courses for FIAE, FIDP, and FIDV (ZPA 2. Auflage)
- Added ihk_ap2_fiae (Anwendungsentwicklung: 12 modules, 4 tracks, Clean Architecture, GoF, UML 2.5, SOLID, O-Notation, 80h-Project guide)
- Added ihk_ap2_fidp (Daten- & Prozessanalyse: 12 modules, 4 tracks, BPMN 2.0, ETL/CDC, Star Schema, ML-Evaluation, interactive confusion matrix calculator, 40h-Project guide)
- Added ihk_ap2_fidv (Digitale Vernetzung: 12 modules, 4 tracks, CPS/RAMI 4.0, IO-Link, Profinet, TSN, OPC UA/MQTT, 5G Campus, IEC 62443, interactive Purdue trainer, 40h-Project guide)
- Expanded authentic question bank to 207 questions with official ZPA expectation horizons
- Registered all courses in courses_manifest.js, it_ausbildungen_manifest.js, server.py routes, and dashboard.html with button-only navigation
2026-09-14 21:49:29 +02:00

146 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LF 10: Datenquellen, Formate & Datenqualität (ISO 25012) – IHK AP2 FIDP</title>
<link rel="stylesheet" href="../../../assets/style.css">
<link rel="stylesheet" href="../../../assets/ihk_tools/ihk_tools.css">
<style>
.ihk-container { max-width: 1000px; margin: 0 auto; padding: 24px; color: #f8fafc; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.ihk-card { background: #1e293b; border: 1px solid #334155; border-radius: 12px; padding: 28px; margin-bottom: 24px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2); }
.ihk-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; flex-wrap: wrap; gap: 12px; }
.ihk-badge { display: inline-block; padding: 4px 10px; border-radius: 9999px; font-size: 0.8rem; font-weight: 600; text-transform: uppercase; }
.ihk-badge-blue { background: #0284c7; color: #ffffff; }
.ihk-badge-success { background: #16a34a; color: #ffffff; }
.ihk-badge-purple { background: #9333ea; color: #ffffff; }
.ihk-nav-bar { display: flex; justify-content: space-between; align-items: center; margin-top: 32px; padding-top: 20px; border-top: 1px solid #334155; flex-wrap: wrap; gap: 12px; }
.ihk-btn { display: inline-flex; align-items: center; justify-content: center; padding: 10px 20px; border-radius: 6px; font-weight: 600; text-decoration: none; transition: all 0.2s; border: none; cursor: pointer; }
.ihk-btn-primary { background: #0284c7; color: #ffffff; }
.ihk-btn-primary:hover { background: #0369a1; }
.ihk-btn-secondary { background: #334155; color: #cbd5e1; }
.ihk-btn-secondary:hover { background: #475569; color: #ffffff; }
.ihk-btn-success { background: #16a34a; color: #ffffff; }
.ihk-btn-success:hover { background: #15803d; }
.ihk-input { width: 100%; background: #0f172a; border: 1px solid #334155; border-radius: 6px; padding: 10px; color: #f8fafc; font-family: inherit; font-size: 0.95rem; box-sizing: border-box; resize: vertical; }
.ihk-input:focus { outline: none; border-color: #38bdf8; ring: 2px #38bdf8; }
.ihk-theory-box { background: #0f172a; border-left: 4px solid #38bdf8; padding: 16px 20px; border-radius: 0 8px 8px 0; margin-bottom: 24px; }
.ihk-subgoal { background: #1e293b; border: 1px solid #334155; border-radius: 8px; padding: 16px; margin-bottom: 16px; }
pre { background: #090d16; padding: 16px; border-radius: 8px; overflow-x: auto; color: #38bdf8; border: 1px solid #1e293b; }
code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 0.9rem; }
table { width: 100%; border-collapse: collapse; margin: 16px 0; }
th, td { border: 1px solid #334155; padding: 10px; text-align: left; }
th { background: #0f172a; color: #38bdf8; }
</style>
</head>
<body style="background: #090d16; margin: 0; padding: 20px 0;">
<div class="ihk-container">
<!-- Top Action Bar -->
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;">
<a href="../../dashboard.html" class="ihk-btn ihk-btn-secondary">⬅️ Zur Kursübersicht</a>
<a href="../../../workspace.html?course=ihk_ap2_fidp&chapter=03_datenquellen_und_datenqualitaet" class="ihk-btn ihk-btn-primary">💻 In Web-IDE öffnen</a>
</div>
<!-- Main Content Card -->
<div class="ihk-card">
<div class="ihk-header">
<div>
<span class="ihk-badge ihk-badge-blue">IHK AP2 Fachinformatiker Daten- und Prozessanalyse</span>
<h1 style="color: #f8fafc; margin: 8px 0 4px 0; font-size: 1.8rem;">LF 10: Datenquellen, Formate & Datenqualität (ISO 25012)</h1>
<p style="color: #94a3b8; margin: 0; font-size: 1.05rem;">CSV, JSON, XML, Parquet, Data Profiling & Qualitätsmetriken</p>
</div>
</div>
<!-- Theory Section -->
<div class="ihk-theory-box">
<h3 style="color: #38bdf8; margin-top: 0;">📚 Fachwissen & IHK-Prüfungsrelevanz</h3>
<p>Daten liegen in Unternehmen in hochgradig heterogenen Quellen vor. Vor jeder Analyse steht die Prüfung der <strong>Datenqualität</strong> nach anerkannten Standards.</p>
<h4>1. Datenstrukturen & Dateiformate</h4>
<ul>
<li><strong>Strukturiert:</strong> Relationale Datenbanken (SQL), Tabellen mit festem Schema und Typisierung.</li>
<li><strong>Semi-strukturiert:</strong> JSON, XML, YAML. Enthalten hierarchische Tags/Schlüssel, aber kein zwingend starres Schema.</li>
<li><strong>Spaltenorientiert (Columnar):</strong> Apache Parquet, ORC. Werte derselben Spalte werden zusammenhängend abgelegt. Extrem schnell für analytische Aggregationen (OLAP) und hochgradig komprimierbar (Snappy, Gzip).</li>
<li><strong>Unstrukturiert:</strong> Fließtexte, PDF-Rechnungen, Audioaufnahmen, Videostreams.</li>
</ul>
<h4>2. Datenqualitätsmerkmale nach DIN ISO/IEC 25012</h4>
<table>
<tr><th>Qualitätsmerkmal</th><th>Beschreibung</th><th>Typischer Fehlerfall</th></tr>
<tr><td><strong>Genauigkeit (Accuracy)</strong></td><td>Werte spiegeln die Realität korrekt wider (syntaktisch & semantisch).</td><td>Tippfehler im Straßennamen, unplausibles Geburtsdatum (z.B. 1850).</td></tr>
<tr><td><strong>Vollständigkeit (Completeness)</strong></td><td>Alle geforderten Pflichtdaten und Datensätze sind vorhanden.</td><td>Null-Werte in Pflichtfeldern, fehlende Tage in Zeitreihen.</td></tr>
<tr><td><strong>Konsistenz (Consistency)</strong></td><td>Werte widersprechen sich weder innerhalb noch zwischen Tabellen.</td><td>Kunde hat unterschiedliche Anschriften in CRM und ERP.</td></tr>
<tr><td><strong>Aktualität (Currentness)</strong></td><td>Daten spiegeln den gegenwärtigen Zustand zeitnah wider.</td><td>Veraltete Bonitätsbewertung oder alte Steuersätze.</td></tr>
<tr><td><strong>Eindeutigkeit (Uniqueness)</strong></td><td>Keine unerwünschten Dubletten.</td><td>Derselbe Kunde existiert mehrfach mit variierender Schreibweise.</td></tr>
</table>
</div>
<!-- Exam Questions Section -->
<h3 style="color: #4ade80; margin-top: 32px; border-bottom: 1px solid #334155; padding-bottom: 10px;">
📝 Original-Prüfungsaufgaben (ZPA Nord-West)
</h3>
<div class="ihk-exam-task" data-title="Datenqualität nach ISO 8000" data-points="8" style="background: #0f172a; border: 1px solid #334155; border-radius: 8px; padding: 20px; margin-bottom: 20px;">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px;">
<strong style="color: #38bdf8; font-size: 1.05rem;">Datenqualität nach ISO 8000</strong>
<span class="ihk-badge ihk-badge-success">8 Punkte</span>
</div>
<div style="background: #1e293b; border-left: 4px solid #0284c7; padding: 12px 16px; border-radius: 6px; margin-bottom: 14px; color: #cbd5e1; font-size: 0.9rem; font-style: italic;">
Für eine KI-gestützte Kundenanalyse sollen CRM-, ERP- und Webshop-Daten zusammengeführt werden.
</div>
<p style="color: #f8fafc; font-size: 0.95rem; line-height: 1.6; margin-bottom: 16px;">
Nennen und erläutern Sie 4 wesentliche Dimensionen der Datenqualität nach ISO 8000 / DAMA DMBOK. Beschreiben Sie typische Methoden des Data Cleaning (Datenbereinigung).
</p>
<textarea class="ihk-input" rows="3" placeholder="Ihre Lösung stichpunktartig formulieren..."></textarea>
<details style="margin-top: 14px; background: #1e293b; padding: 12px 16px; border-radius: 6px; cursor: pointer;">
<summary style="font-weight: 600; color: #4ade80;">💡 Offizieller IHK-Erwartungshorizont & Punkteverteilung</summary>
<div class="ihk-task-solution" style="margin-top: 10px; color: #cbd5e1; font-size: 0.9rem; line-height: 1.6; white-space: pre-line;">
</div>
</details>
</div>
<div class="ihk-exam-task" data-title="Datenformate & Datenqualität: Parquet vs. JSON & ISO 25012" data-points="10" style="background: #0f172a; border: 1px solid #334155; border-radius: 8px; padding: 20px; margin-bottom: 20px;">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px;">
<strong style="color: #38bdf8; font-size: 1.05rem;">Datenformate & Datenqualität: Parquet vs. JSON & ISO 25012</strong>
<span class="ihk-badge ihk-badge-success">10 Punkte</span>
</div>
<div style="background: #1e293b; border-left: 4px solid #0284c7; padding: 12px 16px; border-radius: 6px; margin-bottom: 14px; color: #cbd5e1; font-size: 0.9rem; font-style: italic;">
Ein Logistikunternehmen speichert täglich 80 Millionen Sensordaten aus Frachtcontainern. Derzeit liegen die Daten als unkomprimierte JSON-Dateien vor. Die analytischen Abfragen auf Zeitreihen dauern mehrere Stunden.
</div>
<p style="color: #f8fafc; font-size: 0.95rem; line-height: 1.6; margin-bottom: 16px;">
a) Erläutern Sie das Speicherprinzip von Apache Parquet (spaltenorientiert) im Vergleich zu zeilenbasierten JSON-Dateien.
b) Nennen Sie zwei konkrete Vorteile, die sich bei analytischen Aggregationsabfragen (z.B. Durchschnittstemperatur pro Monat) durch Parquet ergeben.
c) Nennen und erläutern Sie zwei Merkmale der Datenqualität nach DIN ISO/IEC 25012, die bei Sensordaten vor der Persistierung geprüft werden müssen.
</p>
<textarea class="ihk-input" rows="3" placeholder="Ihre Lösung stichpunktartig formulieren..."></textarea>
<details style="margin-top: 14px; background: #1e293b; padding: 12px 16px; border-radius: 6px; cursor: pointer;">
<summary style="font-weight: 600; color: #4ade80;">💡 Offizieller IHK-Erwartungshorizont & Punkteverteilung</summary>
<div class="ihk-task-solution" style="margin-top: 10px; color: #cbd5e1; font-size: 0.9rem; line-height: 1.6; white-space: pre-line;">
a) JSON ist zeilenorientiert (Row-oriented); Parquet ist spaltenorientiert (Column-oriented), d.h. Werte derselben Spalte werden zusammenhängend auf der Festplatte gespeichert.
b) 1. Column Pruning: Es müssen nur die Spalten von der Festplatte gelesen werden, die in der Abfrage benötigt werden (drastische Reduktion der I/O-Last). 2. Hohe Kompressionsrate: Da homogene Datentypen hintereinander liegen, greifen Algorithmen wie Snappy oder Dictionary Encoding extrem effizient.
c) 1. Genauigkeit (Accuracy): Sensormesswerte dürfen keine Messfehler oder unphysikalischen Ausreißer aufweisen. 2. Vollständigkeit (Completeness): Es dürfen keine Zeitintervalle oder Funkabrisse unbemerkt fehlen.
</div>
</details>
</div>
<!-- Bottom Navigation Buttons -->
<div class="ihk-nav-bar">
<a href="../02_bpmn20_und_prozessmodellierung_vertiefung/index.html" class="ihk-btn ihk-btn-secondary">⬅️ Vorheriges Modul</a>
<a href="../../../workspace.html?course=ihk_ap2_fidp&chapter=03_datenquellen_und_datenqualitaet" class="ihk-btn ihk-btn-primary">Praxisübung im Terminal</a>
<a href="../04_etl_prozesse_und_datenpipelines/index.html" class="ihk-btn ihk-btn-primary">Nächstes Modul ➡️</a>
</div>
</div>
</div>
<script src="../../../assets/ihk_tools/ihk_question_bank.js"></script>
</body>
</html>