Datenformate: XML, JSON, CSV

Datenformate: XML, JSON, CSV#

Strukturierte Datenformate dienen dem Austausch und der Speicherung von Daten zwischen Anwendungen, Systemen und Schnittstellen (APIs).


CSV – Comma-Separated Values#

Das einfachste der drei Formate. Daten werden als Tabelle in Textform gespeichert – Felder durch Trennzeichen getrennt.

Aufbau#

Vorname,Nachname,Alter,Stadt
Max,Mustermann,25,Berlin
Anna,Schmidt,32,München
Tom,Meier,19,Hamburg
  • Erste Zeile: oft die Spaltenüberschriften (Header)
  • Trennzeichen: Komma , (standard), Semikolon ; (Deutschland, da Komma Dezimalzeichen), Tab \t
  • Zeilenende: Neue Zeile = neuer Datensatz
  • Anführungszeichen: Felder mit Komma oder Zeilenumbruch werden in "..." eingeschlossen

Eigenschaften#

VorteileNachteile
Sehr einfach & kompaktKeine Hierarchien möglich
Von allen Tabellenkalkulationen lesbarKein Standard für Sonderzeichen/Encoding
Menschlich lesbarKeine Datentypen (alles Text)
Ideal für tabellarische DatenTrennzeichen im Dateninhalt problematisch

Typische Einsatzbereiche: Datenbankexporte, Tabellenkalkulationen, einfache Datenübertragung, Log-Dateien.

ERM & Relationenschreibweise

ERM & Relationenschreibweise#

Das ERM (Entity-Relationship-Modell) beschreibt Entitäten, Attribute und Beziehungen eines Datenbestands, bevor daraus per Relationenschreibweise die eigentlichen Datenbanktabellen abgeleitet werden.

Entity-Relationship-Modell (ERM) nach Chen#

Das ERM modelliert die Datenstruktur eines Systems vor der Datenbankimplementierung.

Notation (Chen-Notation)#

[Rechteck]        = Entität (Objekt/Ding der realen Welt)
(Oval)            = Attribut (Eigenschaft einer Entität)
<Raute>           = Beziehung (Relation zwischen Entitäten)
──────            = Verbindungslinie
(Oval, doppelt)   = Mehrwertiges Attribut
[Rechteck, doppelt] = Schwache Entität

Kardinalitäten#

KardinalitätBedeutungBeispiel
1:1Genau eine Entität A gehört zu genau einer Entität BPerson – Personalausweis
1:nEine Entität A gehört zu mehreren Entitäten BKunde – Bestellungen
n:mMehrere Entitäten A gehören zu mehreren Entitäten BSchüler – Kurse

ERM-Beispiel: Bestellsystem#

(KundenNr)  (Name)  (E-Mail)
     │          │       │
     └──────[Kunde]─────┘
                │  1
             <bestellt>
                │  n
           [Bestellung]──── (BestellNr)
                │                │
                │                └── (Datum)
                │  n
            <enthält>
                │  m
            [Produkt]──── (ProduktNr)
                               └── (Bezeichnung)
                               └── (Preis)

n:m-Beziehungen auflösen#

Eine n:m-Beziehung kann nicht direkt in eine Tabelle überführt werden → Auflösung durch Zwischentabelle:

Programmiergrundlagen: Pseudocode, Datentypen, Kontrollstrukturen

Programmiergrundlagen: Pseudocode, Datentypen, Kontrollstrukturen#

Bevor Code in einer konkreten Programmiersprache geschrieben wird, wird ein Algorithmus oft zunächst als Pseudocode oder Aktivitätsdiagramm entworfen — sprachunabhängig und leicht verständlich.


Pseudocode#

Pseudocode beschreibt einen Algorithmus in strukturierter, umgangssprachlicher Form, ohne sich an die exakte Syntax einer Programmiersprache zu halten.

ALGORITHMUS Zahleneingabe
  EINGABE zahl
  WENN zahl > 0 DANN
    AUSGABE "positiv"
  SONST
    AUSGABE "negativ oder null"
  ENDE WENN
ENDE ALGORITHMUS

Variablen und Datentypen#

Eine Variable ist ein benannter Speicherplatz für einen Wert, der sich während der Programmausführung ändern kann.

Softwaredokumentation

Softwaredokumentation#

Eine gute Dokumentation ist genauso wichtig wie der Code selbst – sie ermöglicht Wartung, Erweiterung und Übergabe von Software an andere Entwickler oder Anwender.


Arten der Dokumentation#

          Softwaredokumentation
      ┌────────────┼────────────┐
      ▼            ▼            ▼
Entwickler-    Anwender-    Technische
dokumentation  dokumentation  Dokumentation
(intern)       (extern)       (Architektur)

Entwicklerdokumentation (interne Dokumentation)#

Richtet sich an Entwickler, die den Code warten, erweitern oder debuggen müssen.

Code-Kommentare#

# Einzeiliger Kommentar – kurze Erklärung einer Zeile
x = x + 1  # Zähler erhöhen

"""
Mehrzeiliger Kommentar (Docstring):
Beschreibt eine Funktion oder Klasse ausführlich.
"""

def berechne_mehrwertsteuer(netto: float, steuersatz: float = 0.19) -> float:
    """
    Berechnet den Bruttobetrag inkl. Mehrwertsteuer.

    Parameter:
        netto (float):      Nettobetrag in Euro
        steuersatz (float): MwSt-Satz als Dezimalzahl (Standard: 0.19 = 19%)

    Rückgabe:
        float: Bruttobetrag in Euro

    Beispiel:
        >>> berechne_mehrwertsteuer(100)
        119.0
    """
    return netto * (1 + steuersatz)

Was gehört in einen guten Kommentar?#

SinnvollÜberflüssig
Warum etwas so gemacht wirdWas offensichtlich im Code steht
Erklärung komplexer Algorithmenx = x + 1 # x wird um 1 erhöht
Dokumentation von Parametern/RückgabenJede einzelne Zeile kommentieren
Bekannte Einschränkungen / TODOVeraltete Kommentare (schlimmer als keine!)

Changelog / Versionierung#

Dokumentiert was wann von wem geändert wurde:

SQL — Structured Query Language

SQL – Structured Query Language#

SQL ist die Standardsprache zur Verwaltung und Abfrage relationaler Datenbanken. Für die Zwischenprüfung relevant sind DDL, DML und einfache SELECT-Abfragen mit Aggregatfunktionen.


SQL-Kategorien#

KategorieBedeutungBefehle
DDLData Definition Language – Struktur definierenCREATE, ALTER, DROP
DMLData Manipulation Language – Daten verändernINSERT, UPDATE, DELETE
DQLData Query Language – Daten abfragenSELECT
DCLData Control Language – Rechte verwaltenGRANT, REVOKE

Prüfungsrelevant: DML + SELECT (DQL)

Testverfahren in der Softwareentwicklung

Testverfahren in der Softwareentwicklung#

Softwaretests prüfen, ob ein Programm korrekt funktioniert. Sie helfen, Fehler frühzeitig zu finden und die Qualität zu sichern.


Übersicht der Testarten#

                    Softwaretests
          ┌──────────────┼──────────────┐
          ▼              ▼              ▼
     Whitebox-       Blackbox-       Greybox-
       Test            Test            Test
  (Code bekannt)  (Code unbekannt) (teilweise bekannt)

Blackbox-Test#

Der Tester kennt den internen Code nicht – er sieht nur Eingabe und Ausgabe (wie eine schwarze Box).

        Eingabe ──► [███████] ──► Ausgabe
                    (Code
                  unbekannt)

Vorgehen:

UML — Klassen-, Aktivitäts- und Sequenzdiagramm

UML – Klassen-, Aktivitäts- und Sequenzdiagramm#

UML (Unified Modeling Language) ist eine standardisierte Notation zur grafischen Modellierung von Software. Für die Prüfung sind drei Diagrammtypen besonders relevant: das Klassendiagramm (statische Struktur), das Aktivitätsdiagramm (Abläufe/Algorithmen) und das Sequenzdiagramm (zeitlicher Nachrichtenaustausch zwischen Objekten).


Klassendiagramm#

Das Klassendiagramm zeigt die statische Struktur eines Systems: welche Klassen es gibt, welche Attribute/Methoden sie haben und wie sie zueinander in Beziehung stehen.