Glossar
DataKI

Schema

Auch: Data Schema, Database Schema, Data Model Definition

Ein Schema ist der formale Bauplan, der festlegt, wie Daten in einer Datenbank, einer Datei oder einer Nachricht strukturiert, benannt, typisiert und miteinander verknüpft sind.

Was es ist

Ein Schema ist eine formale Definition der Datenorganisation. Es legt die Entitäten fest (Tabellen, Objekte oder Felder), deren Namen, deren Datentypen sowie die Beziehungen und Constraints, die sie verbinden. Betrachten Sie es als Bauplan für Daten: Es beschreibt die Form, der Daten folgen müssen, bevor konkrete Werte gespeichert oder ausgetauscht werden.

Schemas treten in vielen Kontexten auf:

  • Datenbankschema: Tabellen, Spalten, Primär- und Fremdschlüssel, Indizes und Constraints in einem relationalen System.
  • Datenaustauschschema: Strukturen wie JSON Schema, Avro, Protobuf oder XSD, die Nachrichten zwischen Systemen validieren.
  • Analytics-Schema: dimensionale Modelle wie Star- oder Snowflake-Schemas in Data Warehouses.

Warum es zählt

Ein Schema ist der Vertrag zwischen den Menschen und Systemen, die Daten erzeugen, und denen, die sie konsumieren. Ohne Schema brechen Datenqualität und Interoperabilität zusammen.

  • Konsistenz: Jeder Datensatz folgt denselben Regeln, sodass ein Feld wie `birth_date` immer ein gültiges Datum enthält.
  • Validierung: Ungültige oder fehlerhafte Daten lassen sich früh abweisen, bevor sie nachgelagerte Reports oder Modelle verunreinigen.
  • Kommunikation: Teams in Data, Marketing, Finance und AI können sich ohne Mehrdeutigkeit auf Feldbedeutungen einigen.
  • Governance: Schemas unterstützen Lineage, Zugriffskontrolle und regulatorische Compliance.

Für AI-Workflows sind Schemas relevant, weil Modelle auf stabile, sauber typisierte Feature-Inputs angewiesen sind. Eine stille Schemaänderung (eine umbenannte Spalte oder ein geänderter Typ) kann ein Modell verschlechtern, ohne einen offensichtlichen Fehler auszulösen.

Wie es in der Praxis eingesetzt wird

In der Praxis entwerfen Teams ein Schema, bevor sie Pipelines bauen, und erzwingen es dann mit Validierungstools. Ein Schema-on-Write-Ansatz validiert Daten beim Speichern (typisch für relationale Datenbanken). Ein Schema-on-Read-Ansatz wendet die Struktur beim Abfragen der Daten an (üblich in Data Lakes). Moderne Plattformen nutzen häufig eine Schema Registry, um Schemas zu versionieren und die Kompatibilität bei der Weiterentwicklung von Systemen zu verwalten.

Konkretes Beispiel

Eine Tabelle `customers` könnte Folgendes definieren:

  • `customer_id`: Integer, Primärschlüssel, not null
  • `email`: String, unique, not null
  • `signup_date`: Date
  • `country`: String, maximale Länge 2

Ein Bestelldatensatz referenziert `customer_id` als Fremdschlüssel. Das Schema garantiert, dass jede Bestellung mit einem realen Kunden verknüpft ist und dass `email` nie leer ist. So bleibt der Datensatz für Analytics und AI verlässlich.

Schema as a Data Blueprintcustomerscustomer_id : int (PK)email : string (unique)signup_date : datecountry : string(2)not null constraintsordersorder_id : int (PK)customer_id : int (FK)amount : decimalorder_date : dateFK linkNames, types, keys, and relationships define the contract
A relational schema defines fields, types, keys, and the relationship between tables.

Häufige Fragen

Was ist ein Schema im Datenkontext?

Ein Schema ist die formale Definition der Datenorganisation: die Entitäten (Tabellen, Objekte, Felder), deren Namen, deren Datentypen sowie die Beziehungen und Constraints, die sie verbinden. Es beschreibt die Form, der Daten folgen müssen, bevor ein Wert gespeichert oder ausgetauscht wird. Es fungiert als Vertrag zwischen den Systemen, die Daten erzeugen, und denen, die sie konsumieren.

Was ist der Unterschied zwischen einem Datenbankschema und einem Datenaustauschschema?

Ein Datenbankschema beschreibt Tabellen, Spalten, Primär- und Fremdschlüssel, Indizes und Constraints innerhalb eines relationalen Systems. Ein Datenaustauschschema wie JSON Schema, Avro, Protobuf oder XSD validiert Nachrichten, die zwischen Systemen ausgetauscht werden. Eine dritte Familie, die Analytics-Schemas, umfasst dimensionale Modelle wie Star und Snowflake in Data Warehouses.

Warum bricht eine Schemaänderung ein Machine-Learning-Modell ohne jede Fehlermeldung?

Weil Modelle auf stabile, sauber typisierte Feature-Inputs angewiesen sind. Wird eine Spalte umbenannt oder ihr Typ geändert, läuft die Pipeline möglicherweise weiter, während das Modell verschlechterte oder falsch zugeordnete Inputs erhält, und die Prognosequalität sinkt still. Deshalb sind Schema-Versionierung und Validierung in AI-Workflows genauso wichtig wie im Reporting.

Wann sollte man Schema-on-Write gegenüber Schema-on-Read wählen?

Schema-on-Write validiert Daten beim Speichern und passt zu relationalen Datenbanken sowie zu jedem Use Case, in dem ungültige Datensätze abgewiesen werden müssen, bevor sie nachgelagerte Reports erreichen. Schema-on-Read wendet die Struktur zur Abfragezeit an und ist in Data Lakes üblich, wo Rohdaten aufbewahrt und später interpretiert werden. Der Trade-off lautet frühe Datenqualitätskontrolle gegen Flexibilität bei der Ingestion.

Wie sieht ein Schema für eine Tabelle customers konkret aus?

Eine Tabelle `customers` könnte `customer_id` als Integer-Primärschlüssel not null definieren, `email` als unique String not null, `signup_date` als Date und `country` als String, begrenzt auf zwei Zeichen. Ein Bestelldatensatz referenziert dann `customer_id` als Fremdschlüssel. Das Schema garantiert, dass jede Bestellung mit einem realen Kunden verknüpft ist und keine E-Mail leer bleibt, wodurch der Datensatz für Analytics und AI nutzbar bleibt.