Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

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] gkochmodul:m290_guko:learningunits:lu03:theorie:a_einleitung [2025/08/31 22:33] (aktuell) gkoch
Zeile 1: Zeile 1:
 ====== LU04a - Relationale Datenbanksysteme ====== ====== LU04a - Relationale Datenbanksysteme ======
- 
-==== 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, Attribute, Schlüssel, Beziehungen).   
- 
  
 ==== 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% > +
-{{:modul:m290_guko:learningunits:lu03:theorie:relationale_dbs_tabellen_neu.png?direct&800|}} +
-</WRAP>+
 Beispiel:   Beispiel:  
-  * Eine Tabelle **Kunden** mit ID (Primärschlüssel), Name und Email-Adresse.   +  * Eine Tabelle **Kunden** mit ID (Primärschlüssel ((Primärschlüssel: In einer Tabelle ist das ein eindeutiges Merkmal, das jeden Datensatz unterscheidbar macht. 
-  * Eine Tabelle **Bestellungen** mit Bestellnummer (id), Produkt welches bestellt wurde und einer Spalte "customer_id" => Fremdschlüssel, welcher die Verbindung zur Tabelle Kunden herstellt.  +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 "customer_id" -> Fremdschlüssel, welcher die Verbindung zur Tabelle Kunden herstellt.  
   * Über die Verbindung im Fremdschlüssel können wir herausfinden, welcher Kunde die Bestellung aufgegeben hat.     * Über die Verbindung im Fremdschlüssel können wir herausfinden, welcher Kunde die Bestellung aufgegeben hat.  
 +
 +{{ :modul:m290_guko:learningunits:lu03:theorie:relationale_dbs_tabellen_neu.png?direct&1000 }}
  
  
 ==== 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://www.youtube.com/watch?v=EQ3iKNTS7Tc| Erklärvideo zum Thema Primärund Fremdschlüssel 4:26min]] ((Quelle: Fabian Rappert/YouTube)) 
 +</WRAP> 
 + 
 +{{:modul:m290_guko:learningunits:lu03:theorie:relationale_dbs_entitaet.png?direct&500|}}
  
 ==== 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>CREATE TABLE movies (...)</code>   +
-  * **DML (Data Manipulation Language)** → Daten einfügen, ändern, löschen   +
-    Beispiel: <code sql>INSERT INTO movies VALUES (...)</code>   +
-  * **DQL (Data Query Language)** → Daten abfragen   +
-    Beispiel: <code sql>SELECT * FROM movies;</code>  +
  
  
  
  • modul/m290_guko/learningunits/lu03/theorie/a_einleitung.1756645813.txt.gz
  • Zuletzt geändert: 2025/08/31 15:10
  • von gkoch