Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m290_guko:learningunits:lu03:theorie:a_einleitung [2025/08/31 15:10] – gkoch | modul:m290_guko:learningunits:lu03:theorie:a_einleitung [2025/09/07 22:16] (aktuell) – gkoch | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== | + | ====== |
| - | + | ||
| - | ==== Lernziele ==== | + | |
| - | * Ich kann erklären, was eine relationale Datenbank ist und warum sie in fast allen Webanwendungen genutzt wird. | + | |
| - | * Ich kenne die wichtigsten Bausteine einer relationalen Datenbank (Tabellen, Datensätze, | + | |
| ==== Grundidee ==== | ==== Grundidee ==== | ||
| Eine **relationale Datenbank (RDB)** ist eine Methode, Daten in Tabellen zu speichern und zu organisieren. | Eine **relationale Datenbank (RDB)** ist eine Methode, Daten in Tabellen zu speichern und zu organisieren. | ||
| Die Tabellen sind **miteinander verknüpft** – daher „relational“. | Die Tabellen sind **miteinander verknüpft** – daher „relational“. | ||
| - | <WRAP center 100% > | + | |
| - | {{: | + | |
| - | </ | + | |
| Beispiel: | Beispiel: | ||
| - | * Eine Tabelle **Kunden** mit ID (Primärschlüssel), | + | * Eine Tabelle **Kunden** mit ID (Primärschlüssel |
| - | * Eine Tabelle **Bestellungen** mit Bestellnummer (id), Produkt welches bestellt wurde und einer Spalte " | + | Beispiel: In einer Filmtabelle könnte die ISAN-Nummer (International Standard Audiovisual Number, ähnlich wie ISBN bei Büchern) als Primärschlüssel dienen – sie identifiziert jeden Film weltweit eindeutig, auch wenn mehrere Filme denselben Titel haben.))), Name und Email-Adresse. |
| + | * Eine Tabelle **Bestellungen** mit Bestellnummer (id), Produkt welches bestellt wurde und einer Spalte " | ||
| * Über die Verbindung im Fremdschlüssel können wir herausfinden, | * Über die Verbindung im Fremdschlüssel können wir herausfinden, | ||
| + | |||
| + | {{ : | ||
| ==== Zentrale Begriffe ==== | ==== Zentrale Begriffe ==== | ||
| - | * **Entität** – ein „Ding“ oder „Objekt“ der realen Welt, das gespeichert wird (z. B. ein Film, ein Kunde, ein Pokémon). | + | * **Entität** – ein „Ding“ oder „Objekt“ der realen Welt, das gespeichert wird (z. B. ein Film, ein Kunde, ein Pokémon, eine Bestellung). |
| - | * **Tabelle** – eine Sammlung von Daten über eine Entität (z. B. alle Filme). | + | * **Tabelle** – eine Sammlung von Daten über eine Entität (z. B. alle Filme, alle Kunden, alle Bestellungen). |
| - | * **Datensatz (Record, Tupel)** – eine Zeile in der Tabelle (z. B. der Film „The Godfather“). | + | * **Datensatz (Record, Tupel)** – eine Zeile in der Tabelle (z. B. der Film „The Godfather“, Kundin Hanna). |
| - | * **Attribut (Feld, Spalte)** – eine Eigenschaft der Entität (z. B. Filmtitel, Erscheinungsjahr). | + | * **Attribut (Feld, Spalte)** – eine Eigenschaft der Entität (z. B. Filmtitel, Erscheinungsjahr, Name der Kundin, Email-Adresse der Kundin). |
| - | * **Primärschlüssel (PK)** – eindeutiger Wert, der einen Datensatz identifiziert (z. B. Film-ID). | + | * **Primärschlüssel (PK)** – eindeutiger Wert, der einen Datensatz identifiziert (z. B. Film-ID, ID der Kundin, ID der Bestellung / Bestellnummer). |
| * **Fremdschlüssel (FK)** – verweist auf den Primärschlüssel einer anderen Tabelle → stellt die Beziehung her. | * **Fremdschlüssel (FK)** – verweist auf den Primärschlüssel einer anderen Tabelle → stellt die Beziehung her. | ||
| - | ---- | + | <WRAP center tip round 80%> |
| + | [[https:// | ||
| + | </ | ||
| + | |||
| + | {{: | ||
| ==== Struktur und Integrität ==== | ==== Struktur und Integrität ==== | ||
| Zeile 33: | Zeile 33: | ||
| * **Referentielle Integrität** – Fremdschlüssel müssen auf existierende Primärschlüssel verweisen. | * **Referentielle Integrität** – Fremdschlüssel müssen auf existierende Primärschlüssel verweisen. | ||
| * **Domain Integrity** – Werte müssen zum definierten Datentyp passen (z. B. eine Zahl darf kein Text sein). | * **Domain Integrity** – Werte müssen zum definierten Datentyp passen (z. B. eine Zahl darf kein Text sein). | ||
| - | + | ||
| - | + | ||
| - | ==== Operatoren in relationalen DBs ==== | + | |
| - | Ein Datenbankmodell beschreibt nicht nur die Struktur, sondern auch die erlaubten **Operationen**. | + | |
| - | In SQL gibt es drei Hauptgruppen: | + | |
| - | + | ||
| - | * **DDL (Data Definition Language)** → Tabellen und Strukturen anlegen | + | |
| - | Beispiel: <code sql> | + | |
| - | * **DML (Data Manipulation Language)** → Daten einfügen, ändern, löschen | + | |
| - | Beispiel: <code sql> | + | |
| - | * **DQL (Data Query Language)** → Daten abfragen | + | |
| - | Beispiel: <code sql> | + | |