Datenbank - SQL & Tabellen
- IHK SQL-Trainer - Fachinformatiker Systemintegration
- SQL - Trainer 01 – Grundlagen bis JOIN
- SQL - Trainer 02 – Kombinierte SQL-Abfragen
- SQL - Trainer 03 – Materialverwaltung
- SQL - Trainer 04 - Schulungs-PCs
- SQL - Trainer 05 – Filter, Datum und Aggregation
- SQL - Trainer 06 – Fortbildung
- SQL - Trainer 07 – Kursdatenbank
- SQL - Trainer 08 – Mietimmobilien
- SQL-Trainer 08 – Northwind Datenbank
- Kapitel 1 – Grundlagen
- 1.1 Datenbank, Datenbanksystem und DBMS
- 1.2 Tabelle, Datensatz und Feld
- 1.3 Primärschlüssel und Fremdschlüssel
- 1.4 Redundanz, Inkonsistenz und Datenintegrität
- Kapitel 2 – Datenmodellierung
- 2.1 Entity-Relationship-Modell
- 2.2 Entität, Attribut und Beziehung
- 2.3 Kardinalitäten
- 2.4 N:M-Beziehungen auflösen
- 2.5 Relationenmodell
- Kapitel 3 – Normalisierung
- 3.1 Normalisierung
- 3.2 Erste, zweite und dritte Normalform
- 3.3 Anomalien
- 3.4 Zusatz: Vierte und fünfte Normalform
- Kapitel 4 – SQL-Grundlagen
- 4.1 SELECT, FROM und WHERE
- 4.2 ORDER BY und DISTINCT
- 4.3 Vergleichsoperatoren
- 4.4 LIKE, IN, BETWEEN und IS NULL
- Kapitel 5 – SQL-Auswertung
- Kapitel 6 – SQL-Joins
- Kapitel 7 – Daten ändern und Tabellen erstellen
- Kapitel 8 – IHK-Aufgaben und Übersichten
IHK SQL-Trainer - Fachinformatiker Systemintegration
SQL - Trainer 01 – Grundlagen bis JOIN
Schwierigkeitsstufe: einfach-mittel
SQL - Trainer 02 – Kombinierte SQL-Abfragen
Schwierigkeitsstufe: mittel-schwer
SQL - Trainer 03 – Materialverwaltung
Schwierigkeitsstufe: mittel
SQL - Trainer 04 - Schulungs-PCs
Schwierigkeitsstufe: mittel
SQL - Trainer 05 – Filter, Datum und Aggregation
Schwierigkeitsstufe: mittel
SQL - Trainer 06 – Fortbildung
SQL - Trainer 07 – Kursdatenbank
SQL - Trainer 08 – Mietimmobilien
SQL-Trainer 08 – Northwind Datenbank
SQL-Trainer 08 im Vollbild öffnen
Kapitel 1 – Grundlagen
1.1 Datenbank, Datenbanksystem und DBMS
Definition
Eine Datenbank ist eine strukturierte Sammlung von Daten.
Ein Datenbanksystem besteht aus der Datenbank und dem Datenbankmanagementsystem.
Ein DBMS ist die Software zur Verwaltung der Datenbank.
Begriffe
| Begriff | Bedeutung |
|---|---|
| Datenbank | gespeicherte, strukturierte Daten |
| DBMS | Software zur Verwaltung der Datenbank |
| Datenbanksystem | Datenbank + DBMS |
Aufgaben eines DBMS
Ein DBMS übernimmt unter anderem:
- Daten speichern
- Daten suchen
- Daten ändern
- Daten löschen
- Zugriffe verwalten
- Datenintegrität sichern
- gleichzeitige Zugriffe steuern
Beispiele für DBMS
| DBMS | Typischer Einsatz |
|---|---|
| MySQL | Webanwendungen |
| MariaDB | Webanwendungen |
| PostgreSQL | Server, Anwendungen |
| Microsoft SQL Server | Unternehmen |
| Oracle Database | große Unternehmenssysteme |
| SQLite | lokale Anwendungen |
Merksatz
Eine Datenbank enthält die Daten.
Das DBMS verwaltet diese Daten.
Prüfungshinweis
In IHK-Aufgaben wird häufig zwischen Datenbank, DBMS und Datenbanksystem unterschieden.
Typische Fehler:
- Datenbank und DBMS gleichsetzen.
- DBMS als eigentliche Datensammlung verstehen.
- Datenbanksystem und Datenbank verwechseln.
Quellen
- IT-Handbuch für Fachinformatiker
1.2 Tabelle, Datensatz und Feld
Definition
Eine Tabelle speichert Daten in Zeilen und Spalten.
Ein Datensatz ist eine Zeile in einer Tabelle.
Ein Feld ist eine einzelne Information innerhalb eines Datensatzes.
Begriffe
| Begriff | Bedeutung |
|---|---|
| Tabelle | Sammlung gleichartiger Datensätze |
| Datensatz | eine Zeile in einer Tabelle |
| Feld | einzelner Wert in einem Datensatz |
| Attribut | Spalte einer Tabelle |
| Spalte | Eigenschaft eines Datensatzes |
Beispiel
Tabelle: Kunde
| Kundennr | Name | Ort |
|---|---|---|
| 1 | Müller | Berlin |
| 2 | Schneider | Potsdam |
Zuordnung
| Element | Beispiel |
|---|---|
| Tabelle | Kunde |
| Datensatz | 1, Müller, Berlin |
| Feld | Müller |
| Attribut / Spalte | Name |
Merksatz
Eine Tabelle besteht aus Spalten und Zeilen.
Eine Zeile ist ein Datensatz.
Ein einzelner Wert ist ein Feld.
Prüfungshinweis
In IHK-Aufgaben wird häufig zwischen Tabelle, Datensatz, Feld, Attribut und Spalte unterschieden.
Typische Fehler:
- Datensatz und Feld verwechseln.
- Attribut und Datensatz verwechseln.
- Tabelle als einzelne Zeile verstehen.
Quellen
- IT-Handbuch für Fachinformatiker
1.3 Primärschlüssel und Fremdschlüssel
Definition
Ein Primärschlüssel identifiziert jeden Datensatz einer Tabelle eindeutig.
Ein Fremdschlüssel verweist auf den Primärschlüssel einer anderen Tabelle.
Primärschlüssel
Ein Primärschlüssel muss:
- eindeutig sein
- vorhanden sein
- jeden Datensatz eindeutig identifizieren
Beispiele
- Kundennr
- Artikelnummer
- Rechnungsnummer
- Personalnummer
Fremdschlüssel
Ein Fremdschlüssel stellt eine Beziehung zwischen zwei Tabellen her.
Er verweist auf den Primärschlüssel einer anderen Tabelle.
Beispiel
Tabelle: Kunde
| Kundennr | Name |
|---|---|
| 1 | Müller |
| 2 | Schneider |
Tabelle: Bestellung
| Bestellnr | Kundennr |
|---|---|
| 1001 | 1 |
| 1002 | 2 |
In der Tabelle Bestellung ist Kundennr ein Fremdschlüssel.
Merksatz
Der Primärschlüssel identifiziert einen Datensatz.
Der Fremdschlüssel verbindet Tabellen miteinander.
Prüfungshinweis
In IHK-Aufgaben müssen Primärschlüssel und Fremdschlüssel häufig in Tabellenmodellen eingetragen werden.
Typische Fehler:
- Primärschlüssel und Fremdschlüssel verwechseln.
- keinen eindeutigen Primärschlüssel wählen.
- Fremdschlüssel nicht als Verbindung zwischen Tabellen erkennen.
- zusammengesetzte Schlüssel bei Zwischentabellen vergessen.
Quellen
- IT-Handbuch für Fachinformatiker
1.4 Redundanz, Inkonsistenz und Datenintegrität
Definition
Redundanz bedeutet, dass gleiche Daten mehrfach gespeichert werden.
Inkonsistenz bedeutet, dass widersprüchliche Daten vorhanden sind.
Datenintegrität bedeutet, dass Daten korrekt, vollständig und widerspruchsfrei sind.
Begriffe
| Begriff | Bedeutung |
|---|---|
| Redundanz | doppelte oder mehrfache Speicherung gleicher Daten |
| Inkonsistenz | widersprüchliche Daten |
| Datenintegrität | Korrektheit und Widerspruchsfreiheit der Daten |
Beispiel für Redundanz
Ein Kundenname wird in mehreren Tabellen mehrfach gespeichert.
Ändert sich der Name nur an einer Stelle, entstehen unterschiedliche Datenstände.
Beispiel für Inkonsistenz
| Tabelle | gespeicherter Name |
|---|---|
| Kunde | Müller GmbH |
| Rechnung | Mueller GmbH |
Die Daten widersprechen sich.
Ziel
Datenbanken sollen Redundanzen vermeiden und Datenintegrität sicherstellen.
Das geschieht unter anderem durch:
- Primärschlüssel
- Fremdschlüssel
- Normalisierung
- Constraints
- eindeutige Datenhaltung
Merksatz
Redundanz kann zu Inkonsistenz führen.
Prüfungshinweis
In IHK-Aufgaben wird häufig gefragt, warum Daten normalisiert oder auf mehrere Tabellen verteilt werden.
Typische Fehler:
- Redundanz als grundsätzlich gewünscht ansehen.
- Inkonsistenz mit Redundanz gleichsetzen.
- Datenintegrität nur auf Datenschutz beziehen.
- Fremdschlüssel nicht als Maßnahme zur Datenintegrität erkennen.
Quellen
- IT-Handbuch für Fachinformatiker
Kapitel 2 – Datenmodellierung
2.1 Entity-Relationship-Modell
Definition
Das Entity-Relationship-Modell beschreibt Daten und deren Beziehungen zueinander.
Es wird zur Planung und Darstellung von Datenbanken verwendet.
Bestandteile
| Bestandteil | Bedeutung |
|---|---|
| Entität | Objekt oder Sache, über die Daten gespeichert werden |
| Attribut | Eigenschaft einer Entität |
| Beziehung | Verbindung zwischen Entitäten |
| Kardinalität | beschreibt, wie viele Entitäten miteinander verbunden sind |
Beispiel
Entitäten:
- Kunde
- Bestellung
- Artikel
Beziehungen:
- Ein Kunde gibt Bestellungen auf.
- Eine Bestellung enthält Artikel.
Darstellung
Ein ERM zeigt:
- welche Entitäten vorhanden sind
- welche Attribute dazugehören
- wie Entitäten miteinander in Beziehung stehen
- welche Kardinalitäten gelten
Merksatz
Das ERM ist der Bauplan für eine relationale Datenbank.
Prüfungshinweis
In IHK-Aufgaben muss häufig aus einer Beschreibung ein ERM oder ein Tabellenmodell erstellt werden.
Typische Fehler:
- Entität und Attribut verwechseln.
- Beziehung nicht einzeichnen.
- Kardinalitäten falsch bestimmen.
- N:M-Beziehungen nicht auflösen.
Quellen
- IT-Handbuch für Fachinformatiker
2.2 Entität, Attribut und Beziehung
Definition
Eine Entität ist ein eindeutig bestimmbares Objekt, über das Daten gespeichert werden.
Ein Attribut beschreibt eine Eigenschaft einer Entität.
Eine Beziehung beschreibt den Zusammenhang zwischen Entitäten.
Begriffe
| Begriff | Bedeutung |
|---|---|
| Entität | einzelnes Objekt |
| Entitätstyp | Gruppe gleichartiger Entitäten |
| Attribut | Eigenschaft einer Entität |
| Beziehung | Verbindung zwischen Entitäten |
Beispiel
Entitätstyp:
Kunde
Attribute:
- Kundennummer
- Name
- Adresse
- Telefonnummer
Entität:
Ein bestimmter Kunde, z. B. Kunde Müller
Beziehung
Beispiel:
Ein Kunde gibt eine Bestellung auf.
Dabei stehen die Entitäten Kunde und Bestellung in Beziehung zueinander.
Merksatz
Entität = Objekt
Attribut = Eigenschaft
Beziehung = Verbindung
Prüfungshinweis
In IHK-Aufgaben müssen aus Texten häufig Entitäten, Attribute und Beziehungen erkannt werden.
Typische Fehler:
- Attribut als eigene Entität behandeln.
- Entität und Entitätstyp verwechseln.
- Beziehung nicht aus dem Verb im Aufgabentext erkennen.
- zu viele unnötige Entitäten bilden.
Quellen
- IT-Handbuch für Fachinformatiker
2.3 Kardinalitäten
Definition
Kardinalitäten beschreiben, wie viele Datensätze einer Tabelle mit Datensätzen einer anderen Tabelle in Beziehung stehen können.
Wichtige Kardinalitäten
| Kardinalität | Bedeutung |
|---|---|
| 1:1 | Ein Datensatz gehört zu genau einem anderen Datensatz |
| 1:n | Ein Datensatz kann zu mehreren anderen Datensätzen gehören |
| n:m | Mehrere Datensätze können zu mehreren anderen Datensätzen gehören |
1:1-Beziehung
Ein Datensatz in Tabelle A gehört zu genau einem Datensatz in Tabelle B.
Beispiel
Ein Mitarbeiter hat genau einen Mitarbeiterausweis.
1:n-Beziehung
Ein Datensatz in Tabelle A kann zu mehreren Datensätzen in Tabelle B gehören.
Beispiel
Ein Kunde kann mehrere Bestellungen aufgeben.
n:m-Beziehung
Mehrere Datensätze aus Tabelle A können mit mehreren Datensätzen aus Tabelle B verbunden sein.
Beispiel
Eine Bestellung kann mehrere Artikel enthalten.
Ein Artikel kann in mehreren Bestellungen vorkommen.
Merksatz
1:n ist die häufigste Beziehung in relationalen Datenbanken.
Prüfungshinweis
In IHK-Aufgaben müssen Kardinalitäten häufig aus dem Aufgabentext abgeleitet werden.
Typische Fehler:
- 1:n und n:m verwechseln.
- n:m-Beziehungen nicht auflösen.
- Kardinalität aus Sicht nur einer Tabelle betrachten.
- Wörter wie „mehrere“, „genau ein“, „mindestens“ oder „kann“ überlesen.
Quellen
- IT-Handbuch für Fachinformatiker
2.4 N:M-Beziehungen auflösen
Definition
Eine N:M-Beziehung kann in einer relationalen Datenbank nicht direkt umgesetzt werden.
Sie wird durch eine zusätzliche Zwischentabelle aufgelöst.
Grundprinzip
Aus einer N:M-Beziehung werden zwei 1:n-Beziehungen.
Beispiel
Eine Bestellung kann mehrere Artikel enthalten.
Ein Artikel kann in mehreren Bestellungen vorkommen.
Das ist eine N:M-Beziehung.
Auflösung
| Tabelle | Aufgabe |
|---|---|
| Bestellung | speichert Bestellungen |
| Artikel | speichert Artikel |
| Bestellposition | verbindet Bestellung und Artikel |
Zwischentabelle
Die Zwischentabelle enthält normalerweise:
- Fremdschlüssel auf Tabelle A
- Fremdschlüssel auf Tabelle B
- ggf. weitere Attribute
Beispiel:
| Attribut | Bedeutung |
|---|---|
| Bestellnr | Fremdschlüssel auf Bestellung |
| Artikelnr | Fremdschlüssel auf Artikel |
| Menge | zusätzliche Information zur Beziehung |
Merksatz
Eine N:M-Beziehung wird durch eine Zwischentabelle aufgelöst.
Prüfungshinweis
In IHK-Aufgaben müssen N:M-Beziehungen fast immer in eine zusätzliche Tabelle umgewandelt werden.
Typische Fehler:
- N:M-Beziehung direkt als Fremdschlüssel eintragen.
- Zwischentabelle vergessen.
- Fremdschlüssel in der Zwischentabelle nicht eintragen.
- zusätzliche Attribute der Beziehung vergessen, z. B. Menge oder Preis.
Quellen
- IT-Handbuch für Fachinformatiker
2.5 Relationenmodell
Definition
Das Relationenmodell beschreibt eine Datenbank in Form von Tabellen.
Jede Tabelle enthält Attribute, Primärschlüssel und ggf. Fremdschlüssel.
Bestandteile
| Bestandteil | Bedeutung |
|---|---|
| Relation | Tabelle |
| Attribut | Spalte |
| Tupel | Datensatz / Zeile |
| Primärschlüssel | eindeutige Kennzeichnung eines Datensatzes |
| Fremdschlüssel | Verweis auf eine andere Tabelle |
Beispiel
Kunde
| Kundennr (PK) | Name | Ort |
|---|---|---|
| 1 | Müller | Berlin |
| 2 | Schneider | Potsdam |
Bestellung
| Bestellnr (PK) | Datum | Kundennr (FK) |
|---|---|---|
| 1001 | 12.03.2026 | 1 |
| 1002 | 14.03.2026 | 2 |
Schreibweise
Kunde(Kundennr, Name, Ort)
Bestellung(Bestellnr, Datum, Kundennr*)
Hinweis zur Schreibweise
- Primärschlüssel wird häufig unterstrichen oder mit PK gekennzeichnet.
- Fremdschlüssel wird häufig mit FK oder einem Sternchen gekennzeichnet.
Merksatz
Das Relationenmodell überführt das ERM in Tabellen.
Prüfungshinweis
In IHK-Aufgaben muss häufig aus einem ERM ein Relationenmodell erstellt werden.
Typische Fehler:
- Primärschlüssel vergessen.
- Fremdschlüssel nicht eintragen.
- N:M-Beziehung nicht durch Zwischentabelle auflösen.
- Attribute der falschen Tabelle zuordnen.
Quellen
- IT-Handbuch für Fachinformatiker
Kapitel 3 – Normalisierung
3.1 Normalisierung
3.1 Normalisierung
Definition
Normalisierung ist ein Verfahren zur Strukturierung von Daten in relationalen Datenbanken.
Ziel ist es, Redundanzen zu vermeiden und Daten konsistent zu speichern.
Ziele
Die Normalisierung soll:
- doppelte Daten vermeiden
- Datenintegrität verbessern
- Inkonsistenzen verhindern
- Änderungsanomalien vermeiden
- Tabellen sinnvoll aufteilen
Grundprinzip
Daten werden so auf mehrere Tabellen verteilt, dass jede Information möglichst nur einmal gespeichert wird.
Wichtige Normalformen
| Normalform | Bedeutung |
|---|---|
| 1. Normalform | atomare Werte |
| 2. Normalform | volle Abhängigkeit vom gesamten Primärschlüssel |
| 3. Normalform | keine Abhängigkeit von Nicht-Schlüsselattributen |
Beispiel
Problem:
Kundendaten werden in jeder Bestellung erneut gespeichert.
Lösung:
Kundendaten werden in eine eigene Tabelle Kunde ausgelagert und über einen Fremdschlüssel mit Bestellung verbunden.
Merksatz
Normalisierung reduziert Redundanzen und verhindert widersprüchliche Daten.
Prüfungshinweis
In IHK-Aufgaben wird häufig gefragt, warum Tabellen aufgeteilt oder Fremdschlüssel verwendet werden.
Typische Fehler:
- Redundanzen nicht erkennen.
- Normalisierung nur als Speicherplatzersparnis verstehen.
- Fremdschlüssel nach dem Aufteilen vergessen.
- N:M-Beziehungen nicht auflösen.
Quellen
- IT-Handbuch für Fachinformatiker
3.2 Erste, zweite und dritte Normalform
Definition
Normalformen beschreiben Regeln zur Strukturierung von Tabellen in relationalen Datenbanken.
Ziel ist es, Redundanzen und Anomalien zu vermeiden.
1. Normalform
Eine Tabelle befindet sich in der 1. Normalform, wenn alle Werte atomar sind.
Das bedeutet:
- jedes Feld enthält nur einen Wert
- keine Aufzählungen in einem Feld
- keine mehrfachen Werte in einer Zelle
Beispiel falsch
| Kundennr | Name | Telefonnummern |
|---|---|---|
| 1 | Müller | 030123, 0176123 |
Beispiel richtig
| Kundennr | Name | Telefonnummer |
|---|---|---|
| 1 | Müller | 030123 |
| 1 | Müller | 0176123 |
2. Normalform
Eine Tabelle befindet sich in der 2. Normalform, wenn sie in der 1. Normalform ist und jedes Nicht-Schlüsselattribut vom gesamten Primärschlüssel abhängig ist.
Wichtig bei:
- zusammengesetzten Primärschlüsseln
- Zwischentabellen
- N:M-Beziehungen
3. Normalform
Eine Tabelle befindet sich in der 3. Normalform, wenn sie in der 2. Normalform ist und keine Nicht-Schlüsselattribute voneinander abhängig sind.
Das bedeutet:
- Attribute dürfen nur vom Schlüssel abhängen
- nicht von anderen Nicht-Schlüsselattributen
Übersicht
| Normalform | Kerngedanke |
|---|---|
| 1. Normalform | atomare Werte |
| 2. Normalform | abhängig vom gesamten Primärschlüssel |
| 3. Normalform | keine Abhängigkeit von Nicht-Schlüsselattributen |
Merksatz
1NF = atomar
2NF = vom ganzen Schlüssel abhängig
3NF = nur vom Schlüssel abhängig
Prüfungshinweis
In IHK-Aufgaben werden meist die 1. bis 3. Normalform abgefragt.
Typische Fehler:
- mehrere Werte in einem Feld zulassen
- zusammengesetzte Schlüssel nicht beachten
- Attribute in der falschen Tabelle lassen
- transitive Abhängigkeiten nicht erkennen
Hinweis
In der Datenbanktheorie gibt es weitere Normalformen, z. B. die 4. Normalform und 5. Normalform.
Für IHK-Aufgaben sind jedoch meistens die 1. bis 3. Normalform entscheidend.
Quellen
- IT-Handbuch für Fachinformatiker
3.3 Anomalien
Definition
Anomalien sind Probleme, die durch ungünstige Tabellenstrukturen und redundante Daten entstehen können.
Sie treten häufig auf, wenn Daten nicht ausreichend normalisiert sind.
Arten von Anomalien
| Anomalie | Bedeutung |
|---|---|
| Einfügeanomalie | Daten können nicht sinnvoll eingefügt werden |
| Änderungsanomalie | Änderungen müssen mehrfach durchgeführt werden |
| Löschanomalie | Beim Löschen gehen ungewollt weitere Informationen verloren |
Einfügeanomalie
Eine Einfügeanomalie liegt vor, wenn neue Daten nicht gespeichert werden können, ohne andere Daten ebenfalls anzugeben.
Beispiel
Ein neuer Artikel kann nicht gespeichert werden, solange noch keine Bestellung dazu existiert.
Änderungsanomalie
Eine Änderungsanomalie liegt vor, wenn dieselbe Information an mehreren Stellen geändert werden muss.
Beispiel
Eine Kundenadresse ist mehrfach gespeichert und wird nur an einer Stelle geändert.
Löschanomalie
Eine Löschanomalie liegt vor, wenn beim Löschen eines Datensatzes auch wichtige andere Informationen verloren gehen.
Beispiel
Wird die letzte Bestellung eines Kunden gelöscht, verschwinden auch die Kundendaten.
Merksatz
Anomalien entstehen häufig durch Redundanz.
Prüfungshinweis
In IHK-Aufgaben wird häufig gefragt, warum Tabellen normalisiert oder aufgeteilt werden sollen.
Typische Fehler:
- Anomalien nur als technische Fehler verstehen.
- Redundanz nicht als Ursache erkennen.
- Löschanomalie und Änderungsanomalie verwechseln.
- Normalisierung nicht als Lösung erkennen.
Quellen
- IT-Handbuch für Fachinformatiker
3.4 Zusatz: Vierte und fünfte Normalform
Definition
Neben der ersten, zweiten und dritten Normalform gibt es weitere Normalformen.
Für die IHK sind meistens die 1. bis 3. Normalform wichtig.
Die 4. Normalform und 5. Normalform sind eher Zusatzwissen für komplexere Datenbankmodelle.
Übersicht
| Normalform | Fachlicher Name | Kerngedanke |
|---|---|---|
| 1. Normalform | 1NF | atomare Werte |
| 2. Normalform | 2NF | abhängig vom gesamten Primärschlüssel |
| 3. Normalform | 3NF | keine Abhängigkeit von Nicht-Schlüsselattributen |
| BCNF | Boyce-Codd-Normalform | strengere Form der 3NF |
| 4. Normalform | 4NF | keine unabhängigen Mehrfachabhängigkeiten |
| 5. Normalform | 5NF / PJNF | keine verlustbehafteten Zerlegungen |
4. Normalform
Eine Tabelle befindet sich in der 4. Normalform, wenn sie in der 3. Normalform ist und keine unabhängigen Mehrfachabhängigkeiten enthält.
Eine Mehrfachabhängigkeit entsteht, wenn zu einem Datensatz mehrere voneinander unabhängige Werte gespeichert werden.
Beispiel
Ein Mitarbeiter kann mehrere Sprachen sprechen.
Ein Mitarbeiter kann mehrere Projekte bearbeiten.
Wenn Sprachen und Projekte unabhängig voneinander sind, sollten sie nicht gemeinsam in einer Tabelle gespeichert werden.
Besser
- Mitarbeiter
- Mitarbeiter_Sprache
- Mitarbeiter_Projekt
5. Normalform
Eine Tabelle befindet sich in der 5. Normalform, wenn sie nicht weiter verlustfrei in kleinere Tabellen zerlegt werden kann.
Dabei geht es um sehr komplexe Beziehungen zwischen mehreren Tabellen.
Die 5. Normalform ist in der Praxis und in der IHK-Prüfung deutlich seltener relevant.
Merksatz
1NF bis 3NF sind für die IHK am wichtigsten.
4NF und 5NF sind Zusatzwissen für komplexere Datenbankstrukturen.
Prüfungshinweis
In IHK-Aufgaben werden normalerweise die 1. bis 3. Normalform abgefragt.
Die 4. und 5. Normalform sollte man kennen, aber nicht so tief lernen wie die ersten drei Normalformen.
Typische Fehler:
- 4NF und 5NF für normale IHK-Aufgaben überlernen.
- Mehrfachabhängigkeiten mit normalen Fremdschlüsseln verwechseln.
- 5NF mit 3NF gleichsetzen.
- Tabellen zu stark zerlegen, obwohl es für die Aufgabe nicht nötig ist.
Quellen
- IT-Handbuch für Fachinformatiker
Kapitel 4 – SQL-Grundlagen
4.1 SELECT, FROM und WHERE
Definition
SELECT, FROM und WHERE gehören zu den wichtigsten SQL-Befehlen für Datenbankabfragen.
Mit ihnen werden Daten aus Tabellen ausgewählt und gefiltert.
Grundaufbau
SELECT spalte
FROM tabelle
WHERE bedingung;
SELECT
SELECT legt fest, welche Spalten ausgegeben werden sollen.
Beispiel:
SELECT name
FROM kunde;
FROM
FROM legt fest, aus welcher Tabelle die Daten gelesen werden.
Beispiel:
SELECT name
FROM kunde;
WHERE
WHERE filtert Datensätze nach einer Bedingung.
Beispiel:
SELECT name
FROM kunde
WHERE ort = 'Berlin';
Alle Spalten ausgeben
SELECT *
FROM kunde;
Das Sternchen * steht für alle Spalten.
Merksatz
SELECT = welche Spalten
FROM = aus welcher Tabelle
WHERE = welche Bedingung
Prüfungshinweis
In IHK-Aufgaben wird häufig gefragt, welche Datensätze mit einer SQL-Abfrage ausgegeben werden.
Typische Fehler:
- SELECT und FROM vertauschen.
- WHERE vergessen.
- Textwerte nicht in Anführungszeichen setzen.
-
=mitLIKEverwechseln. -
SELECT *verwenden, obwohl nur bestimmte Spalten gefragt sind.
Quellen
- IT-Handbuch für Fachinformatiker
4.2 ORDER BY und DISTINCT
Definition
ORDER BY sortiert das Ergebnis einer SQL-Abfrage.
DISTINCT entfernt doppelte Werte aus dem Ergebnis.
ORDER BY
Mit ORDER BY werden Datensätze sortiert.
SELECT name, ort
FROM kunde
ORDER BY name;
ASC und DESC
| Schlüsselwort | Bedeutung |
|---|---|
| ASC | aufsteigend sortieren |
| DESC | absteigend sortieren |
Beispiel aufsteigend
SELECT name, ort
FROM kunde
ORDER BY name ASC;
Beispiel absteigend
SELECT name, ort
FROM kunde
ORDER BY name DESC;
DISTINCT
Mit DISTINCT werden doppelte Werte entfernt.
SELECT DISTINCT ort
FROM kunde;
Merksatz
ORDER BY sortiert.
DISTINCT entfernt doppelte Werte.
Prüfungshinweis
In IHK-Aufgaben wird häufig gefragt, in welcher Reihenfolge Datensätze ausgegeben werden oder wie doppelte Werte vermieden werden.
Typische Fehler:
- ORDER BY vor WHERE schreiben.
- ASC und DESC verwechseln.
- DISTINCT mit GROUP BY verwechseln.
- DISTINCT auf einzelne Werte falsch verstehen.
Quellen
- IT-Handbuch für Fachinformatiker
4.3 Vergleichsoperatoren
Definition
Vergleichsoperatoren werden in SQL verwendet, um Werte miteinander zu vergleichen.
Sie werden häufig in der WHERE-Klausel eingesetzt.
Wichtige Vergleichsoperatoren
| Operator | Bedeutung |
|---|---|
| = | gleich |
| <> | ungleich |
| < | kleiner als |
| > | größer als |
| <= | kleiner oder gleich |
| >= | größer oder gleich |
Beispiele
Gleich
SELECT *
FROM kunde
WHERE ort = 'Berlin';
Ungleich
SELECT *
FROM kunde
WHERE ort <> 'Berlin';
Größer als
SELECT *
FROM artikel
WHERE preis > 100;
Kleiner oder gleich
SELECT *
FROM artikel
WHERE bestand <= 10;
Textwerte
Textwerte werden in SQL normalerweise in einfache Anführungszeichen gesetzt.
WHERE name = 'Müller'
Zahlenwerte
Zahlenwerte werden ohne Anführungszeichen geschrieben.
WHERE preis >= 50
Merksatz
Vergleichsoperatoren prüfen Bedingungen in der WHERE-Klausel.
Prüfungshinweis
In IHK-Aufgaben wird häufig geprüft, ob die richtige Bedingung für eine Abfrage gewählt wurde.
Typische Fehler:
-
=und<>verwechseln. - Textwerte ohne Anführungszeichen schreiben.
- Zahlenwerte unnötig in Anführungszeichen setzen.
-
<und>vertauschen. - WHERE-Klausel vergessen.
Quellen
- IT-Handbuch für Fachinformatiker
4.4 LIKE, IN, BETWEEN und IS NULL
Definition
LIKE, IN, BETWEEN und IS NULL werden in SQL verwendet, um Daten gezielt zu filtern.
Sie werden meistens in der WHERE-Klausel eingesetzt.
LIKE
LIKE sucht nach Mustern in Textwerten.
SELECT *
FROM kunde
WHERE name LIKE 'M%';
Bedeutung:
Alle Kunden, deren Name mit M beginnt.
Platzhalter bei LIKE
| Platzhalter | Bedeutung |
|---|---|
| % | beliebig viele Zeichen |
| _ | genau ein Zeichen |
IN
IN prüft, ob ein Wert in einer Liste enthalten ist.
SELECT *
FROM kunde
WHERE ort IN ('Berlin', 'Potsdam');
BETWEEN
BETWEEN prüft, ob ein Wert in einem Bereich liegt.
SELECT *
FROM artikel
WHERE preis BETWEEN 50 AND 100;
IS NULL
IS NULL prüft, ob ein Feld keinen Wert enthält.
SELECT *
FROM kunde
WHERE telefon IS NULL;
Übersicht
| Ausdruck | Bedeutung |
|---|---|
| LIKE | Mustervergleich |
| IN | Wert ist in einer Liste enthalten |
| BETWEEN | Wert liegt zwischen zwei Grenzen |
| IS NULL | Feld ist leer / ohne Wert |
Merksatz
LIKE sucht Muster.
IN sucht in Listen.
BETWEEN sucht Bereiche.
IS NULL sucht fehlende Werte.
Prüfungshinweis
In IHK-Aufgaben wird häufig gefragt, welcher Operator für eine bestimmte Filterung geeignet ist.
Typische Fehler:
-
=stattLIKEfür Muster verwenden. -
%und_verwechseln. -
NULLmit= NULLprüfen. -
BETWEENmit zwei Einzelbedingungen verwechseln. - Textwerte ohne Anführungszeichen schreiben.
Quellen
- IT-Handbuch für Fachinformatiker
Kapitel 5 – SQL-Auswertung
5.1 Aggregatfunktionen
Definition
Aggregatfunktionen berechnen einen einzelnen Ergebniswert aus mehreren Datensätzen.
Sie werden häufig zusammen mit GROUP BY verwendet.
Wichtige Aggregatfunktionen
| Funktion | Bedeutung |
|---|---|
| COUNT() | zählt Datensätze |
| SUM() | berechnet die Summe |
| AVG() | berechnet den Durchschnitt |
| MIN() | ermittelt den kleinsten Wert |
| MAX() | ermittelt den größten Wert |
COUNT
SELECT COUNT(*)
FROM kunde;
Zählt alle Datensätze der Tabelle kunde.
SUM
SELECT SUM(preis)
FROM artikel;
Berechnet die Summe aller Werte in der Spalte preis.
AVG
SELECT AVG(preis)
FROM artikel;
Berechnet den Durchschnitt der Werte in der Spalte preis.
MIN und MAX
SELECT MIN(preis), MAX(preis)
FROM artikel;
Ermittelt den kleinsten und größten Preis.
Merksatz
Aggregatfunktionen fassen mehrere Datensätze zu einem Ergebnis zusammen.
Prüfungshinweis
In IHK-Aufgaben wird häufig gefragt, welche Funktion für Zählen, Summe oder Durchschnitt verwendet wird.
Typische Fehler:
- COUNT und SUM verwechseln.
- AVG für die Summe verwenden.
- Aggregatfunktionen ohne GROUP BY falsch interpretieren.
- WHERE und HAVING verwechseln.
Quellen
- IT-Handbuch für Fachinformatiker
5.2 GROUP BY
Definition
GROUP BY fasst Datensätze mit gleichen Werten zu Gruppen zusammen.
Es wird häufig zusammen mit Aggregatfunktionen verwendet.
Grundaufbau
SELECT spalte, aggregatfunktion
FROM tabelle
GROUP BY spalte;
Beispiel
SELECT ort, COUNT(*)
FROM kunde
GROUP BY ort;
Bedeutung:
Die Kunden werden nach Ort gruppiert.
Für jeden Ort wird die Anzahl der Kunden gezählt.
Typische Verwendung
GROUP BY wird verwendet für:
- Anzahl pro Gruppe
- Summe pro Gruppe
- Durchschnitt pro Gruppe
- kleinster oder größter Wert pro Gruppe
Beispiel mit SUM
SELECT kundennr, SUM(betrag)
FROM rechnung
GROUP BY kundennr;
Bedeutung:
Für jeden Kunden wird die Summe seiner Rechnungsbeträge berechnet.
Merksatz
GROUP BY bildet Gruppen aus Datensätzen.
Prüfungshinweis
In IHK-Aufgaben wird GROUP BY häufig zusammen mit COUNT, SUM oder AVG verwendet.
Typische Fehler:
- GROUP BY vergessen.
- GROUP BY mit ORDER BY verwechseln.
- WHERE und HAVING verwechseln.
- Spalten im SELECT verwenden, die nicht gruppiert oder aggregiert sind.
Quellen
- IT-Handbuch für Fachinformatiker
5.3 HAVING
Definition
HAVING filtert gruppierte Ergebnisse nach einer Bedingung.
HAVING wird zusammen mit GROUP BY und Aggregatfunktionen verwendet.
Grundaufbau
SELECT spalte, aggregatfunktion
FROM tabelle
GROUP BY spalte
HAVING bedingung;
Beispiel
SELECT ort, COUNT(*)
FROM kunde
GROUP BY ort
HAVING COUNT(*) > 5;
Bedeutung:
Es werden nur Orte angezeigt, in denen mehr als 5 Kunden vorhanden sind.
WHERE und HAVING
| Klausel | Aufgabe |
|---|---|
| WHERE | filtert einzelne Datensätze vor der Gruppierung |
| HAVING | filtert Gruppen nach der Gruppierung |
Beispiel WHERE
SELECT *
FROM kunde
WHERE ort = 'Berlin';
Filtert einzelne Kunden aus Berlin.
Beispiel HAVING
SELECT ort, COUNT(*)
FROM kunde
GROUP BY ort
HAVING COUNT(*) > 5;
Filtert Gruppen mit mehr als 5 Kunden.
Merksatz
WHERE filtert Datensätze.
HAVING filtert Gruppen.
Prüfungshinweis
In IHK-Aufgaben wird häufig der Unterschied zwischen WHERE und HAVING abgefragt.
Typische Fehler:
- HAVING ohne GROUP BY verwenden.
- Aggregatfunktionen in WHERE verwenden.
- WHERE und HAVING verwechseln.
- HAVING vor GROUP BY schreiben.
Quellen
- IT-Handbuch für Fachinformatiker
5.4 SQL-Reihenfolge
Definition
Die SQL-Reihenfolge beschreibt, in welcher Reihenfolge SQL-Klauseln in einer Abfrage geschrieben werden.
Schreibreihenfolge
SELECT spalte
FROM tabelle
WHERE bedingung
GROUP BY spalte
HAVING gruppenbedingung
ORDER BY spalte;
Bedeutung
| Klausel | Aufgabe |
|---|---|
| SELECT | legt fest, welche Spalten ausgegeben werden |
| FROM | legt fest, aus welcher Tabelle gelesen wird |
| WHERE | filtert einzelne Datensätze |
| GROUP BY | gruppiert Datensätze |
| HAVING | filtert Gruppen |
| ORDER BY | sortiert das Ergebnis |
Wichtige Reihenfolge
- SELECT
- FROM
- WHERE
- GROUP BY
- HAVING
- ORDER BY
Beispiel
SELECT ort, COUNT(*)
FROM kunde
WHERE aktiv = 1
GROUP BY ort
HAVING COUNT(*) > 5
ORDER BY ort;
Merksatz
WHERE kommt vor GROUP BY.
HAVING kommt nach GROUP BY.
ORDER BY steht am Ende.
Prüfungshinweis
In IHK-Aufgaben wird häufig geprüft, ob SQL-Klauseln in der richtigen Reihenfolge verwendet werden.
Typische Fehler:
- WHERE nach GROUP BY schreiben.
- HAVING vor GROUP BY schreiben.
- ORDER BY vor WHERE schreiben.
- Aggregatfunktionen in WHERE verwenden.
- GROUP BY und ORDER BY verwechseln.
Quellen
- IT-Handbuch für Fachinformatiker
Kapitel 6 – SQL-Joins
6.1 JOIN-Grundlagen
Definition
Ein JOIN verbindet Datensätze aus mehreren Tabellen miteinander.
JOINs werden verwendet, wenn benötigte Daten auf mehrere Tabellen verteilt sind.
Grundprinzip
Tabellen werden meist über Primärschlüssel und Fremdschlüssel verbunden.
Beispiel
Tabelle Kunde
| Kundennr | Name |
|---|---|
| 1 | Müller |
| 2 | Schneider |
Tabelle Bestellung
| Bestellnr | Kundennr |
|---|---|
| 1001 | 1 |
| 1002 | 2 |
Die Spalte Kundennr verbindet beide Tabellen.
Grundaufbau
SELECT kunde.name, bestellung.bestellnr
FROM kunde
JOIN bestellung
ON kunde.kundennr = bestellung.kundennr;
Wichtige JOIN-Arten
| JOIN-Art | Bedeutung |
|---|---|
| INNER JOIN | nur passende Datensätze aus beiden Tabellen |
| LEFT JOIN | alle Datensätze der linken Tabelle |
| RIGHT JOIN | alle Datensätze der rechten Tabelle |
| FULL OUTER JOIN | alle Datensätze aus beiden Tabellen |
Merksatz
JOINs verbinden Tabellen über gemeinsame Schlüssel.
Prüfungshinweis
In IHK-Aufgaben werden JOINs häufig benötigt, wenn Informationen aus mehreren Tabellen abgefragt werden sollen.
Typische Fehler:
- JOIN-Bedingung vergessen.
- Primärschlüssel und Fremdschlüssel verwechseln.
- falsche Tabellen verbinden.
- INNER JOIN und LEFT JOIN verwechseln.
- Spaltennamen ohne Tabellennamen verwenden, obwohl sie mehrfach vorkommen.
Quellen
- IT-Handbuch für Fachinformatiker
6.2 INNER JOIN
Definition
Ein INNER JOIN verbindet Datensätze aus zwei Tabellen.
Es werden nur Datensätze ausgegeben, bei denen die Join-Bedingung in beiden Tabellen erfüllt ist.
Grundaufbau
SELECT spalte
FROM tabelle1
INNER JOIN tabelle2
ON tabelle1.schluessel = tabelle2.fremdschluessel;
Beispiel
SELECT kunde.name, bestellung.bestellnr
FROM kunde
INNER JOIN bestellung
ON kunde.kundennr = bestellung.kundennr;
Bedeutung
Es werden nur Kunden angezeigt, die eine passende Bestellung haben.
Kunden ohne Bestellung erscheinen nicht im Ergebnis.
Typischer Einsatz
Ein INNER JOIN wird verwendet, wenn nur zusammengehörige Datensätze ausgegeben werden sollen.
Beispiele:
- Kunden mit Bestellungen
- Artikel mit Kategorien
- Mitarbeiter mit Abteilungen
- Rechnungen mit Kunden
Merksatz
INNER JOIN zeigt nur passende Datensätze aus beiden Tabellen.
Prüfungshinweis
In IHK-Aufgaben ist der INNER JOIN die häufigste JOIN-Art.
Typische Fehler:
- Join-Bedingung vergessen.
- INNER JOIN mit LEFT JOIN verwechseln.
- Fremdschlüssel und Primärschlüssel falsch verbinden.
- erwarten, dass Datensätze ohne passende Beziehung angezeigt werden.
Quellen
- IT-Handbuch für Fachinformatiker
6.3 LEFT JOIN
Definition
Ein LEFT JOIN verbindet Datensätze aus zwei Tabellen.
Es werden alle Datensätze der linken Tabelle ausgegeben, auch wenn es keinen passenden Datensatz in der rechten Tabelle gibt.
Grundaufbau
SELECT spalte
FROM tabelle1
LEFT JOIN tabelle2
ON tabelle1.schluessel = tabelle2.fremdschluessel;
Beispiel
SELECT kunde.name, bestellung.bestellnr
FROM kunde
LEFT JOIN bestellung
ON kunde.kundennr = bestellung.kundennr;
Bedeutung
Es werden alle Kunden angezeigt.
Kunden ohne Bestellung erscheinen ebenfalls im Ergebnis.
Bei fehlender Bestellung steht in den Spalten der rechten Tabelle NULL.
Typischer Einsatz
Ein LEFT JOIN wird verwendet, wenn alle Datensätze der linken Tabelle erhalten bleiben sollen.
Beispiele:
- alle Kunden, auch ohne Bestellung
- alle Artikel, auch ohne Verkauf
- alle Mitarbeiter, auch ohne Abteilung
- alle Kategorien, auch ohne Artikel
Merksatz
LEFT JOIN zeigt alle Datensätze der linken Tabelle und passende Datensätze der rechten Tabelle.
Prüfungshinweis
In IHK-Aufgaben ist LEFT JOIN wichtig, wenn auch Datensätze ohne passende Beziehung angezeigt werden sollen.
Typische Fehler:
- LEFT JOIN mit INNER JOIN verwechseln.
- erwarten, dass nur passende Datensätze angezeigt werden.
- NULL-Werte bei fehlenden passenden Datensätzen nicht beachten.
- linke und rechte Tabelle vertauschen.
Quellen
- IT-Handbuch für Fachinformatiker
6.4 Mehrere Tabellen verbinden
Definition
Bei SQL-Abfragen können mehrere Tabellen mit mehreren JOINs verbunden werden.
Das wird benötigt, wenn die gesuchten Informationen auf mehr als zwei Tabellen verteilt sind.
Grundprinzip
Jede zusätzliche Tabelle wird mit einem weiteren JOIN verbunden.
Die Verbindung erfolgt meistens über Primärschlüssel und Fremdschlüssel.
Beispiel Tabellen
| Tabelle | Enthält |
|---|---|
| kunde | Kundendaten |
| bestellung | Bestellungen |
| bestellposition | Artikel einer Bestellung |
| artikel | Artikeldaten |
Beispiel SQL
SELECT kunde.name, bestellung.bestellnr, artikel.bezeichnung
FROM kunde
INNER JOIN bestellung
ON kunde.kundennr = bestellung.kundennr
INNER JOIN bestellposition
ON bestellung.bestellnr = bestellposition.bestellnr
INNER JOIN artikel
ON bestellposition.artikelnr = artikel.artikelnr;
Bedeutung
Die Abfrage verbindet:
- Kunde mit Bestellung
- Bestellung mit Bestellposition
- Bestellposition mit Artikel
Typischer Einsatz
Mehrere Tabellen werden verbunden bei:
- Kunden und Bestellungen
- Bestellungen und Artikeln
- Rechnungen und Positionen
- Mitarbeiter und Abteilungen
- Produkte und Kategorien
Merksatz
Mehrere Tabellen werden Schritt für Schritt über JOINs verbunden.
Prüfungshinweis
In IHK-Aufgaben müssen häufig mehrere Tabellen verbunden werden, wenn die benötigten Spalten nicht in einer einzigen Tabelle stehen.
Typische Fehler:
- eine notwendige Zwischentabelle vergessen
- falsche Schlüssel miteinander verbinden
- JOIN-Bedingung vergessen
- Primärschlüssel und Fremdschlüssel verwechseln
- Spaltennamen ohne Tabellennamen verwenden, obwohl sie mehrfach vorkommen
Quellen
- IT-Handbuch für Fachinformatiker
Kapitel 7 – Daten ändern und Tabellen erstellen
7.1 INSERT, UPDATE und DELETE
Definition
INSERT, UPDATE und DELETE gehören zu den SQL-Befehlen zum Ändern von Daten.
Sie werden verwendet, um Datensätze einzufügen, zu ändern oder zu löschen.
INSERT
INSERT fügt neue Datensätze in eine Tabelle ein.
INSERT INTO kunde (kundennr, name, ort)
VALUES (1, 'Müller', 'Berlin');
UPDATE
UPDATE ändert vorhandene Datensätze.
UPDATE kunde
SET ort = 'Potsdam'
WHERE kundennr = 1;
DELETE
DELETE löscht vorhandene Datensätze.
DELETE FROM kunde
WHERE kundennr = 1;
Übersicht
| Befehl | Aufgabe |
|---|---|
| INSERT | Datensatz einfügen |
| UPDATE | Datensatz ändern |
| DELETE | Datensatz löschen |
Merksatz
INSERT fügt ein.
UPDATE ändert.
DELETE löscht.
Prüfungshinweis
In IHK-Aufgaben ist besonders wichtig, bei UPDATE und DELETE die WHERE-Klausel zu beachten.
Typische Fehler:
- WHERE bei UPDATE vergessen.
- WHERE bei DELETE vergessen.
- INSERT mit UPDATE verwechseln.
- Textwerte ohne Anführungszeichen schreiben.
- falsche Spaltennamen verwenden.
Quellen
- IT-Handbuch für Fachinformatiker
7.2 CREATE TABLE
Definition
CREATE TABLE erstellt eine neue Tabelle in einer Datenbank.
Dabei werden Tabellenname, Spalten, Datentypen und optional Einschränkungen festgelegt.
Grundaufbau
CREATE TABLE kunde (
kundennr INT,
name VARCHAR(100),
ort VARCHAR(100)
);
Beispiel mit Primärschlüssel
CREATE TABLE kunde (
kundennr INT PRIMARY KEY,
name VARCHAR(100),
ort VARCHAR(100)
);
Beispiel mit Fremdschlüssel
CREATE TABLE bestellung (
bestellnr INT PRIMARY KEY,
kundennr INT,
datum DATE,
FOREIGN KEY (kundennr) REFERENCES kunde(kundennr)
);
Wichtige Bestandteile
| Bestandteil | Bedeutung |
|---|---|
| Tabellenname | Name der Tabelle |
| Spaltenname | Name eines Attributs |
| Datentyp | Art der gespeicherten Daten |
| PRIMARY KEY | eindeutiger Schlüssel |
| FOREIGN KEY | Verweis auf andere Tabelle |
Merksatz
CREATE TABLE erstellt Tabellen mit Spalten, Datentypen und Schlüsseln.
Prüfungshinweis
In IHK-Aufgaben wird häufig geprüft, ob Tabellen mit passenden Datentypen, Primärschlüsseln und Fremdschlüsseln erstellt werden können.
Typische Fehler:
- Primärschlüssel vergessen.
- falschen Datentyp wählen.
- Fremdschlüssel nicht eintragen.
- Klammern oder Kommas vergessen.
- Tabellennamen und Spaltennamen verwechseln.
Quellen
- IT-Handbuch für Fachinformatiker
7.3 Datentypen und Constraints
Definition
Datentypen legen fest, welche Art von Daten in einer Spalte gespeichert werden darf.
Constraints sind Regeln, die die Daten in einer Tabelle einschränken oder absichern.
Wichtige Datentypen
| Datentyp | Bedeutung |
|---|---|
| INT | ganze Zahl |
| DECIMAL | Dezimalzahl |
| VARCHAR | Text mit variabler Länge |
| CHAR | Text mit fester Länge |
| DATE | Datum |
| TIME | Uhrzeit |
| BOOLEAN | Wahrheitswert |
Beispiele
kundennr INT
name VARCHAR(100)
preis DECIMAL(10,2)
geburtsdatum DATE
Wichtige Constraints
| Constraint | Bedeutung |
|---|---|
| PRIMARY KEY | eindeutiger Primärschlüssel |
| FOREIGN KEY | Fremdschlüssel auf andere Tabelle |
| NOT NULL | Wert darf nicht leer sein |
| UNIQUE | Wert muss eindeutig sein |
| CHECK | prüft eine Bedingung |
| DEFAULT | Standardwert, wenn kein Wert angegeben wird |
Beispiel
CREATE TABLE kunde (
kundennr INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE,
ort VARCHAR(100) DEFAULT 'Berlin'
);
Merksatz
Datentypen bestimmen die Art der Daten.
Constraints bestimmen Regeln für diese Daten.
Prüfungshinweis
In IHK-Aufgaben wird häufig geprüft, ob passende Datentypen und Schlüssel richtig gewählt werden.
Typische Fehler:
- Text als INT speichern.
- Geldbeträge mit INT statt DECIMAL speichern.
- Primärschlüssel vergessen.
- Fremdschlüssel nicht eintragen.
- NOT NULL und UNIQUE verwechseln.
Quellen
- IT-Handbuch für Fachinformatiker
Kapitel 8 – IHK-Aufgaben und Übersichten
8.1 ERM-Aufgaben lösen
Definition
Bei ERM-Aufgaben wird aus einer Beschreibung ein Datenmodell erstellt.
Dabei werden Entitäten, Attribute, Beziehungen und Kardinalitäten bestimmt.
Vorgehen
| Schritt | Aufgabe |
|---|---|
| 1 | Entitäten erkennen |
| 2 | Attribute zuordnen |
| 3 | Primärschlüssel festlegen |
| 4 | Beziehungen bestimmen |
| 5 | Kardinalitäten eintragen |
| 6 | N:M-Beziehungen auflösen |
| 7 | Relationenmodell ableiten |
Typische Entitäten
Entitäten sind häufig Substantive im Aufgabentext.
Beispiele:
- Kunde
- Bestellung
- Artikel
- Rechnung
- Mitarbeiter
- Abteilung
Typische Beziehungen
Beziehungen ergeben sich häufig aus Verben im Aufgabentext.
Beispiele:
- Kunde gibt Bestellung auf
- Bestellung enthält Artikel
- Mitarbeiter gehört zu Abteilung
- Rechnung bezieht sich auf Bestellung
Kardinalitäten
| Aussage im Text | Typische Kardinalität |
|---|---|
| genau ein | 1 |
| mehrere | n |
| kann mehrere | n |
| gehört zu genau einem | 1 |
| enthält mehrere | n |
Merksatz
Substantive werden oft zu Entitäten.
Verben zeigen häufig Beziehungen.
Prüfungshinweis
In IHK-Aufgaben wird häufig ein Text vorgegeben, aus dem ein ERM oder Relationenmodell erstellt werden muss.
Typische Fehler:
- Attribute als Entitäten darstellen.
- Beziehungen vergessen.
- Kardinalitäten falsch bestimmen.
- N:M-Beziehungen nicht auflösen.
- Primär- und Fremdschlüssel nicht kennzeichnen.
Quellen
- IT-Handbuch für Fachinformatiker
8.2 SQL-Aufgaben lösen
Definition
Bei SQL-Aufgaben wird aus einer Aufgabenstellung eine passende SQL-Abfrage erstellt.
Dabei müssen Tabellen, Spalten, Bedingungen und ggf. JOINs erkannt werden.
Vorgehen
| Schritt | Aufgabe |
|---|---|
| 1 | Gesuchte Ausgabe erkennen |
| 2 | Benötigte Tabelle bestimmen |
| 3 | Benötigte Spalten auswählen |
| 4 | Bedingungen aus dem Text ableiten |
| 5 | Falls nötig JOIN verwenden |
| 6 | Falls nötig gruppieren oder sortieren |
| 7 | SQL-Reihenfolge prüfen |
Typische Signalwörter
| Formulierung | SQL-Bestandteil |
|---|---|
| „zeige“ / „liste“ | SELECT |
| „aus Tabelle“ | FROM |
| „nur“ / „bei denen“ | WHERE |
| „sortiert nach“ | ORDER BY |
| „Anzahl“ | COUNT |
| „Summe“ | SUM |
| „Durchschnitt“ | AVG |
| „pro Kunde / je Ort“ | GROUP BY |
| „mehr als / weniger als“ bei Gruppen | HAVING |
Beispiel
Aufgabe:
Alle Kunden aus Berlin anzeigen.
SELECT *
FROM kunde
WHERE ort = 'Berlin';
Beispiel mit Sortierung
Aufgabe:
Alle Artikel nach Preis absteigend sortieren.
SELECT *
FROM artikel
ORDER BY preis DESC;
Merksatz
Erst verstehen, was ausgegeben werden soll, dann SQL schreiben.
Prüfungshinweis
In IHK-Aufgaben ist die richtige SQL-Reihenfolge besonders wichtig.
Typische Fehler:
- SELECT-Spalten falsch auswählen.
- WHERE-Bedingung vergessen.
- Textwerte ohne Anführungszeichen schreiben.
- ORDER BY an die falsche Stelle setzen.
- GROUP BY und HAVING verwechseln.
- JOIN vergessen, obwohl Daten aus mehreren Tabellen benötigt werden.
Quellen
- IT-Handbuch für Fachinformatiker
8.3 JOIN-Übersicht
Definition
Ein JOIN verbindet Datensätze aus mehreren Tabellen.
JOINs werden verwendet, wenn benötigte Daten auf mehrere Tabellen verteilt sind.
Wichtige JOIN-Arten
| JOIN-Art | Bedeutung |
|---|---|
| INNER JOIN | nur passende Datensätze aus beiden Tabellen |
| LEFT JOIN | alle Datensätze der linken Tabelle |
| RIGHT JOIN | alle Datensätze der rechten Tabelle |
| FULL OUTER JOIN | alle Datensätze aus beiden Tabellen |
INNER JOIN
Gibt nur Datensätze aus, bei denen die Join-Bedingung in beiden Tabellen erfüllt ist.
SELECT kunde.name, bestellung.bestellnr
FROM kunde
INNER JOIN bestellung
ON kunde.kundennr = bestellung.kundennr;
LEFT JOIN
Gibt alle Datensätze der linken Tabelle aus.
Fehlende passende Datensätze der rechten Tabelle werden mit NULL dargestellt.
SELECT kunde.name, bestellung.bestellnr
FROM kunde
LEFT JOIN bestellung
ON kunde.kundennr = bestellung.kundennr;
Grundregel
JOINs werden meistens über Primärschlüssel und Fremdschlüssel verbunden.
Merksatz
INNER JOIN = nur passende Datensätze
LEFT JOIN = alle Datensätze links + passende rechts
Prüfungshinweis
In IHK-Aufgaben ist meist entscheidend, ob auch Datensätze ohne passende Beziehung angezeigt werden sollen.
Typische Fehler:
- INNER JOIN und LEFT JOIN verwechseln.
- JOIN-Bedingung vergessen.
- falsche Schlüssel verbinden.
- linke und rechte Tabelle vertauschen.
- NULL-Werte bei LEFT JOIN nicht beachten.
Quellen
- IT-Handbuch für Fachinformatiker
8.4 Normalformen-Übersicht
Definition
Normalformen sind Regeln zur Strukturierung von Tabellen in relationalen Datenbanken.
Ziel ist es, Redundanzen, Inkonsistenzen und Anomalien zu vermeiden.
Übersicht
| Normalform | Kernaussage |
|---|---|
| 1. Normalform | alle Werte sind atomar |
| 2. Normalform | jedes Nicht-Schlüsselattribut hängt vom gesamten Primärschlüssel ab |
| 3. Normalform | keine Nicht-Schlüsselattribute hängen voneinander ab |
1. Normalform
Eine Tabelle ist in der 1. Normalform, wenn jedes Feld nur einen einzelnen Wert enthält.
Nicht erlaubt:
- mehrere Telefonnummern in einem Feld
- Listen in einer Zelle
- zusammengesetzte Werte in einem Feld
2. Normalform
Eine Tabelle ist in der 2. Normalform, wenn sie in der 1. Normalform ist und jedes Nicht-Schlüsselattribut vom gesamten Primärschlüssel abhängig ist.
Wichtig besonders bei:
- zusammengesetzten Primärschlüsseln
- Zwischentabellen
- N:M-Beziehungen
3. Normalform
Eine Tabelle ist in der 3. Normalform, wenn sie in der 2. Normalform ist und keine Nicht-Schlüsselattribute voneinander abhängig sind.
Merksatz
1NF = atomare Werte
2NF = vom ganzen Schlüssel abhängig
3NF = nur vom Schlüssel abhängig
Prüfungshinweis
In IHK-Aufgaben werden meistens die 1. bis 3. Normalform abgefragt.
Typische Fehler:
- mehrere Werte in einem Feld zulassen
- zusammengesetzten Primärschlüssel nicht beachten
- abhängige Attribute in derselben Tabelle lassen
- Normalisierung nur als Speicherplatzersparnis verstehen
Quellen
- IT-Handbuch für Fachinformatiker
8.5 Häufige Verwechslungen
Definition
Häufige Verwechslungen sind Begriffe, die in Datenbankaufgaben ähnlich wirken, aber fachlich unterschiedliche Bedeutungen haben.
Grundbegriffe
| Begriff 1 | Begriff 2 | Unterschied |
|---|---|---|
| Datenbank | DBMS | Datenbank enthält Daten, DBMS verwaltet Daten |
| Tabelle | Datensatz | Tabelle enthält mehrere Datensätze |
| Datensatz | Feld | Datensatz = Zeile, Feld = einzelner Wert |
| Attribut | Datensatz | Attribut = Spalte, Datensatz = Zeile |
Schlüssel
| Begriff 1 | Begriff 2 | Unterschied |
|---|---|---|
| Primärschlüssel | Fremdschlüssel | Primärschlüssel identifiziert, Fremdschlüssel verweist |
| Primärschlüssel | Attribut | Primärschlüssel ist ein besonderes Attribut |
| Fremdschlüssel | Beziehung | Fremdschlüssel setzt eine Beziehung technisch um |
Datenmodellierung
| Begriff 1 | Begriff 2 | Unterschied |
|---|---|---|
| Entität | Attribut | Entität = Objekt, Attribut = Eigenschaft |
| Entität | Entitätstyp | Entität = einzelnes Objekt, Entitätstyp = Gruppe gleichartiger Objekte |
| Beziehung | Kardinalität | Beziehung verbindet Entitäten, Kardinalität beschreibt die Anzahl |
| N:M-Beziehung | Zwischentabelle | N:M wird durch eine Zwischentabelle aufgelöst |
SQL
| Begriff 1 | Begriff 2 | Unterschied |
|---|---|---|
| WHERE | HAVING | WHERE filtert Datensätze, HAVING filtert Gruppen |
| GROUP BY | ORDER BY | GROUP BY gruppiert, ORDER BY sortiert |
| COUNT | SUM | COUNT zählt Datensätze, SUM addiert Werte |
| INNER JOIN | LEFT JOIN | INNER JOIN nur passende, LEFT JOIN alle linken Datensätze |
| DELETE | DROP | DELETE löscht Datensätze, DROP löscht Tabellen oder Datenbankobjekte |
Normalisierung
| Begriff 1 | Begriff 2 | Unterschied |
|---|---|---|
| Redundanz | Inkonsistenz | Redundanz = doppelte Daten, Inkonsistenz = widersprüchliche Daten |
| 1. Normalform | 2. Normalform | 1NF = atomar, 2NF = abhängig vom ganzen Schlüssel |
| 2. Normalform | 3. Normalform | 2NF betrifft Schlüsselabhängigkeit, 3NF transitive Abhängigkeiten |
| Normalisierung | Denormalisierung | Normalisierung reduziert Redundanz, Denormalisierung nimmt Redundanz bewusst in Kauf |
Merksatz
Viele Datenbankfehler entstehen durch verwechselte Begriffe.
Prüfungshinweis
In IHK-Aufgaben immer genau lesen, ob nach Modellierung, Schlüsseln, SQL-Abfrage oder Normalisierung gefragt wird.
Typische Fehler:
- Tabelle und Datensatz verwechseln.
- Primärschlüssel und Fremdschlüssel verwechseln.
- WHERE und HAVING verwechseln.
- GROUP BY und ORDER BY verwechseln.
- N:M-Beziehung ohne Zwischentabelle umsetzen.
Quellen
- IT-Handbuch für Fachinformatiker