📘 CodingMarble Learn

Datenbank-Grundlagen: DBMS, Relationen und Schlüssel

Wenn Daten in vielen getrennten Dateien liegen, entstehen Doppelungen, Widersprüche und Sicherheitslücken. Eine Datenbank speichert zusammengehörige Daten geordnet an einem Ort, und ein DBMS (z. B. MySQL) ist die Software, die sie verwaltet. Im relationalen Modell stehen die Daten in Tabellen (Relationen) aus Spalten (Attributen) und Zeilen (Tupeln); die Domäne ist die Menge der erlaubten Werte einer Spalte. Ein Kandidatenschlüssel erkennt jede Zeile eindeutig; einer davon wird zum Primärschlüssel, die übrigen sind Alternativschlüssel.

🎬 Geschichte Schritt für Schritt

  1. Getrennte Dateien wiederholen Daten und laufen auseinander. Eine Datenbank hält nur eine Kopie.
  2. Ein DBMS steht zwischen Nutzern und Daten und verwaltet alles.
  3. Eine Tabelle ist eine Relation: Spalten sind Attribute, Zeilen sind Tupel.
  4. Die Domäne ist die Menge der Werte, die eine Spalte annehmen darf.
  5. Kandidatenschlüssel erkennen jede Zeile. Einer wird Primärschlüssel, die anderen sind Alternativschlüssel.
  6. Du bist dran: Prüfe jede Spalte, ob sie ein Schlüssel sein kann.

Tipp: Zieh die 3D-Szene, um sie zu drehen. Mit zwei Fingern zoomst du.

🤔 Häufige Zweifel, geklärt

Ist eine Tabellenkalkulation nicht schon eine Datenbank?

Eine Tabellenkalkulation kann eine Tabelle enthalten, aber ein DBMS bietet zusätzlich gleichzeitigen Zugriff für viele Nutzer, Regeln (Schlüssel, Domänen), Sicherheit und mächtige Abfragen.

Warum heißen Zeilen Tupel?

In der Mathematik nennt man eine geordnete Liste von Werten ein Tupel. Jede Zeile ist so eine geordnete Liste mit einem Wert für jedes Attribut.

Wer legt die Domäne fest?

Der Datenbankentwickler, anhand echter Regeln (Klasse 9–12, Noten 0–100). Das DBMS lehnt dann Werte außerhalb davon ab.

Wenn AdmNo und Email beide einmalig sind, warum wählt man AdmNo?

Sie ist kurz, ändert sich nie und jeder Schüler hat eine. E-Mail-Adressen können sich ändern oder fehlen.

Kann ein Schlüssel aus zwei Spalten bestehen?

Ja. Wenn keine einzelne Spalte einmalig ist, kann eine Kombination wie (Class, RollNo) der Schlüssel sein. Das ist ein zusammengesetzter Schlüssel.

Wozu braucht man eine Datenbank?

In einem Dateisystem führt jede Abteilung ihre eigenen Dateien. Das macht Probleme:

Eine Datenbank ist eine geordnete Sammlung zusammengehöriger Daten an einem Ort. So lassen sich die Daten teilen, widerspruchsfrei halten und schützen.

Datenbankmanagementsystem (DBMS)

Ein DBMS ist eine Software, mit der man eine Datenbank anlegt, speichert, ändert, durchsucht und verwaltet und mit der man regelt, wer sie benutzen darf. Beispiele: MySQL, Oracle, PostgreSQL, SQLite, Microsoft Access.

Vorteile: weniger Redundanz, Konsistenz, gemeinsame Nutzung durch viele Nutzer, Sicherheit durch Passwörter und Rechte, Sicherung und Wiederherstellung sowie einfaches Suchen mit einer Abfragesprache (SQL).

Alltag: Banken, Zugreservierung, Schuldaten, Online-Shopping, Krankenhäuser.

Relationales Modell: Relation, Attribut, Tupel, Domäne

Im relationalen Datenmodell liegen die Daten in Tabellen.

Regeln: Jede Spalte hat einen eigenen Namen; die Reihenfolge von Zeilen oder Spalten ist egal; keine zwei Zeilen sind völlig gleich; jede Zelle enthält genau einen Wert (oder NULL, also unbekannt).

Schlüssel: Kandidaten-, Primär- und Alternativschlüssel

Beispiel: STUDENT(AdmNo, Name, Class, Email). Name und Class wiederholen sich, also sind sie keine Schlüssel. AdmNo und (wenn immer ausgefüllt und verschieden) Email sind Kandidatenschlüssel. Wähle AdmNo als Primärschlüssel; Email wird zum Alternativschlüssel.

Außerdem nützlich: Ein zusammengesetzter Schlüssel nutzt zwei oder mehr Spalten gemeinsam (z. B. Class + RollNo); ein Fremdschlüssel ist eine Spalte in einer Tabelle, die auf den Primärschlüssel einer anderen Tabelle verweist und so beide verbindet.

Probier es aus: Finde den Schlüssel auf deinem Ausweis

Sieh dir deinen Schülerausweis oder eine Fahrkarte an. Liste alle Felder auf (Name, Klasse, Rollennummer, Aufnahmenummer, Telefon). Stelle bei jedem zwei Fragen: Können zwei Schüler denselben Wert haben? Kann das Feld leer sein? Schreibe auf, welche Felder Kandidatenschlüssel sind und welchen du als Primärschlüssel wählen würdest. Teste dieselbe Idee dann in Schritt 6 der 3D-Ansicht.

Wichtige Formeln und Definitionen

Gelöste Beispiele

1. Eine Tabelle hat 5 Spalten und 30 Zeilen. Gib Grad und Kardinalität an.

Grad = 5, Kardinalität = 30.

2. Zu einer 4 × 10-Tabelle (Grad 4, Kardinalität 10) kommen 2 Zeilen und 1 Spalte dazu. Wie lauten die neuen Werte?

Grad = 5, Kardinalität = 12.

3. EMPLOYEE(EmpID, Name, Aadhaar, Dept). Bestimme Kandidaten-, Primär- und Alternativschlüssel.

EmpID und Aadhaar sind eindeutig → Kandidatenschlüssel. Wähle EmpID als Primärschlüssel; Aadhaar ist der Alternativschlüssel. Name und Dept können sich wiederholen.

4. Warum kann Name in STUDENT kein Primärschlüssel sein?

Zwei Schüler können denselben Namen haben, also erkennt er eine Zeile nicht eindeutig.

5. Gib die Domäne eines Attributs Gender an, das als ein Buchstabe gespeichert wird.

{"M", "F", "O"} (oder die Codes, die die Schule erlaubt).

Häufige Fehler

Übungsquiz

1. Eine Zeile einer Relation heißt:
2. Die Anzahl der Spalten einer Relation ist ihr:
3. Ein Kandidatenschlüssel, der nicht als Primärschlüssel gewählt wurde, ist ein:
4. Was ist ein DBMS?
5. Dieselben Daten in vielen Dateien nennt man:

Üben: Beantworte diese selbst

Tippe oder wähle deine Antwort und drücke dann Prüfen. Nutze einen Tipp, wenn du nicht weiterkommst; die ganze Lösung erscheint nach deiner Antwort.

Häufig gestellte Fragen

Wozu braucht man eine Datenbank?

Um doppelte und widersprüchliche Daten in getrennten Dateien zu vermeiden und um Daten einfach zu teilen, zu schützen und zu durchsuchen.

Was ist der Unterschied zwischen Kandidaten-, Primär- und Alternativschlüssel?

Jeder Kandidatenschlüssel kann Zeilen eindeutig erkennen; der gewählte ist der Primärschlüssel; die anderen sind Alternativschlüssel.

Was sind Grad und Kardinalität?

Der Grad ist die Anzahl der Spalten (Attribute); die Kardinalität ist die Anzahl der Zeilen (Tupel) einer Relation.

Wo das unterrichtet wird

ItalySecondaria di secondo grado – classe 3ªTools and foundations
ItalySecondaria di secondo grado – classe 4ªTools and foundations
NetherlandsHAVO 5 (eindexamenjaar)Elective theme: Databases
NetherlandsVWO 6 (eindexamenjaar)Elective theme: Databases
PolandLiceum ogólnokształcące, klasa IIProgramming and solving problems with computers
RomaniaClasa a X-aDatabases
RomaniaClasa a XII-aModule 1: Databases (compulsory)
RomaniaClasa a XII-aModule 2: Database management systems (optional)
RomaniaClasa a XII-aModern user skills
RomaniaClasa a XII-aWorking with a database application
Ukraine9 класInformation systems and data management
Ukraine10 класBase module: database systems
CBSE (India)Class 11Database Concepts and SQL
CBSE (India)Class 11RDBMS
England (GCSE, A level)Year 113.7 Relational databases and SQL
Japan高校1年Networks and data
Japan高校(専門学科)1〜3年Using Software
Japan高校(専門学科)1〜3年Computer Systems Technology
Japan高校(専門学科)1〜3年Databases
South Korea고등학교 2학년Understanding data science
South Korea고등학교 3학년Data and information
Germany (Bavaria)Jahrgangsstufe 10Data modelling and relational databases
FranceSecondeThemes
FrancePremièreTabular data
FranceTerminaleSpecific option — management information systems
Russia9 классTheoretical foundations
Russia11 классInformation technologies

Vorher lernen

Als Nächstes lernen